@aibee/crc-bmap 0.13.1 → 0.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4028,7 +4028,7 @@ void main() {
4028
4028
 
4029
4029
  }\`,vy=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e,i){if(this.texture===null){let s=new ro,u=t.properties.get(s);u.__webglTexture=e.texture,(e.depthNear!=i.depthNear||e.depthFar!=i.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=s}}render(t,e){if(this.texture!==null){if(this.mesh===null){let i=e.cameras[0].viewport,s=new $o({extensions:{fragDepth:!0},vertexShader:y6,fragmentShader:v6,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new To(new xp(20,20),s)}t.render(this.mesh,e)}}reset(){this.texture=null,this.mesh=null}},_y=class extends aa{constructor(t,e){super();let i=this,s=null,u=1,c=null,f="local-floor",p=1,d=null,m=null,y=null,v=null,E=null,M=null,A=new vy,_=e.getContextAttributes(),x=null,T=null,S=[],R=[],z=new Ht,U=null,D=new Hi;D.layers.enable(1),D.viewport=new Hr;let P=new Hi;P.layers.enable(2),P.viewport=new Hr;let ct=[D,P],L=new yy;L.layers.enable(1),L.layers.enable(2);let W=null,V=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(nt){let bt=S[nt];return bt===void 0&&(bt=new Rc,S[nt]=bt),bt.getTargetRaySpace()},this.getControllerGrip=function(nt){let bt=S[nt];return bt===void 0&&(bt=new Rc,S[nt]=bt),bt.getGripSpace()},this.getHand=function(nt){let bt=S[nt];return bt===void 0&&(bt=new Rc,S[nt]=bt),bt.getHandSpace()};function Mt(nt){let bt=R.indexOf(nt.inputSource);if(bt===-1)return;let qt=S[bt];qt!==void 0&&(qt.update(nt.inputSource,nt.frame,d||c),qt.dispatchEvent({type:nt.type,data:nt.inputSource}))}function Y(){s.removeEventListener("select",Mt),s.removeEventListener("selectstart",Mt),s.removeEventListener("selectend",Mt),s.removeEventListener("squeeze",Mt),s.removeEventListener("squeezestart",Mt),s.removeEventListener("squeezeend",Mt),s.removeEventListener("end",Y),s.removeEventListener("inputsourceschange",mt);for(let nt=0;nt<S.length;nt++){let bt=R[nt];bt!==null&&(R[nt]=null,S[nt].disconnect(bt))}W=null,V=null,A.reset(),t.setRenderTarget(x),E=null,v=null,y=null,s=null,T=null,jt.stop(),i.isPresenting=!1,t.setPixelRatio(U),t.setSize(z.width,z.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(nt){u=nt,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(nt){f=nt,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return d||c},this.setReferenceSpace=function(nt){d=nt},this.getBaseLayer=function(){return v!==null?v:E},this.getBinding=function(){return y},this.getFrame=function(){return M},this.getSession=function(){return s},this.setSession=function(nt){return Tf(this,null,function*(){if(s=nt,s!==null){if(x=t.getRenderTarget(),s.addEventListener("select",Mt),s.addEventListener("selectstart",Mt),s.addEventListener("selectend",Mt),s.addEventListener("squeeze",Mt),s.addEventListener("squeezestart",Mt),s.addEventListener("squeezeend",Mt),s.addEventListener("end",Y),s.addEventListener("inputsourceschange",mt),_.xrCompatible!==!0&&(yield e.makeXRCompatible()),U=t.getPixelRatio(),t.getSize(z),s.renderState.layers===void 0||t.capabilities.isWebGL2===!1){let bt={antialias:s.renderState.layers===void 0?_.antialias:!0,alpha:!0,depth:_.depth,stencil:_.stencil,framebufferScaleFactor:u};E=new XRWebGLLayer(s,e,bt),s.updateRenderState({baseLayer:E}),t.setPixelRatio(1),t.setSize(E.framebufferWidth,E.framebufferHeight,!1),T=new Ts(E.framebufferWidth,E.framebufferHeight,{format:Ao,type:ia,colorSpace:t.outputColorSpace,stencilBuffer:_.stencil})}else{let bt=null,qt=null,$t=null;_.depth&&($t=_.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,bt=_.stencil?fl:$a,qt=_.stencil?Ya:ea);let Ft={colorFormat:e.RGBA8,depthFormat:$t,scaleFactor:u};y=new XRWebGLBinding(s,e),v=y.createProjectionLayer(Ft),s.updateRenderState({layers:[v]}),t.setPixelRatio(1),t.setSize(v.textureWidth,v.textureHeight,!1),T=new Ts(v.textureWidth,v.textureHeight,{format:Ao,type:ia,depthTexture:new wp(v.textureWidth,v.textureHeight,qt,void 0,void 0,void 0,void 0,void 0,void 0,bt),stencilBuffer:_.stencil,colorSpace:t.outputColorSpace,samples:_.antialias?4:0});let zt=t.properties.get(T);zt.__ignoreDepthValues=v.ignoreDepthValues}T.isXRRenderTarget=!0,this.setFoveation(p),d=null,c=yield s.requestReferenceSpace(f),jt.setContext(s),jt.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}})},this.getEnvironmentBlendMode=function(){if(s!==null)return s.environmentBlendMode};function mt(nt){for(let bt=0;bt<nt.removed.length;bt++){let qt=nt.removed[bt],$t=R.indexOf(qt);$t>=0&&(R[$t]=null,S[$t].disconnect(qt))}for(let bt=0;bt<nt.added.length;bt++){let qt=nt.added[bt],$t=R.indexOf(qt);if($t===-1){for(let zt=0;zt<S.length;zt++)if(zt>=R.length){R.push(qt),$t=zt;break}else if(R[zt]===null){R[zt]=qt,$t=zt;break}if($t===-1)break}let Ft=S[$t];Ft&&Ft.connect(qt)}}let ft=new at,vt=new at;function it(nt,bt,qt){ft.setFromMatrixPosition(bt.matrixWorld),vt.setFromMatrixPosition(qt.matrixWorld);let $t=ft.distanceTo(vt),Ft=bt.projectionMatrix.elements,zt=qt.projectionMatrix.elements,Ct=Ft[14]/(Ft[10]-1),te=Ft[14]/(Ft[10]+1),$=(Ft[9]+1)/Ft[5],Ot=(Ft[9]-1)/Ft[5],_t=(Ft[8]-1)/Ft[0],Nt=(zt[8]+1)/zt[0],St=Ct*_t,Vt=Ct*Nt,Xt=$t/(-_t+Nt),Pt=Xt*-_t;bt.matrixWorld.decompose(nt.position,nt.quaternion,nt.scale),nt.translateX(Pt),nt.translateZ(Xt),nt.matrixWorld.compose(nt.position,nt.quaternion,nt.scale),nt.matrixWorldInverse.copy(nt.matrixWorld).invert();let ee=Ct+Xt,X=te+Xt,N=St-Pt,xt=Vt+($t-Pt),wt=$*te/X*ee,ot=Ot*te/X*ee;nt.projectionMatrix.makePerspective(N,xt,wt,ot,ee,X),nt.projectionMatrixInverse.copy(nt.projectionMatrix).invert()}function lt(nt,bt){bt===null?nt.matrixWorld.copy(nt.matrix):nt.matrixWorld.multiplyMatrices(bt.matrixWorld,nt.matrix),nt.matrixWorldInverse.copy(nt.matrixWorld).invert()}this.updateCamera=function(nt){if(s===null)return;A.texture!==null&&(nt.near=A.depthNear,nt.far=A.depthFar),L.near=P.near=D.near=nt.near,L.far=P.far=D.far=nt.far,(W!==L.near||V!==L.far)&&(s.updateRenderState({depthNear:L.near,depthFar:L.far}),W=L.near,V=L.far,D.near=W,D.far=V,P.near=W,P.far=V,D.updateProjectionMatrix(),P.updateProjectionMatrix(),nt.updateProjectionMatrix());let bt=nt.parent,qt=L.cameras;lt(L,bt);for(let $t=0;$t<qt.length;$t++)lt(qt[$t],bt);qt.length===2?it(L,D,P):L.projectionMatrix.copy(D.projectionMatrix),H(nt,L,bt)};function H(nt,bt,qt){qt===null?nt.matrix.copy(bt.matrixWorld):(nt.matrix.copy(qt.matrixWorld),nt.matrix.invert(),nt.matrix.multiply(bt.matrixWorld)),nt.matrix.decompose(nt.position,nt.quaternion,nt.scale),nt.updateMatrixWorld(!0),nt.projectionMatrix.copy(bt.projectionMatrix),nt.projectionMatrixInverse.copy(bt.projectionMatrixInverse),nt.isPerspectiveCamera&&(nt.fov=ey*2*Math.atan(1/nt.projectionMatrix.elements[5]),nt.zoom=1)}this.getCamera=function(){return L},this.getFoveation=function(){if(!(v===null&&E===null))return p},this.setFoveation=function(nt){p=nt,v!==null&&(v.fixedFoveation=nt),E!==null&&E.fixedFoveation!==void 0&&(E.fixedFoveation=nt)},this.hasDepthSensing=function(){return A.texture!==null};let At=null;function It(nt,bt){if(m=bt.getViewerPose(d||c),M=bt,m!==null){let qt=m.views;E!==null&&(t.setRenderTargetFramebuffer(T,E.framebuffer),t.setRenderTarget(T));let $t=!1;qt.length!==L.cameras.length&&(L.cameras.length=0,$t=!0);for(let zt=0;zt<qt.length;zt++){let Ct=qt[zt],te=null;if(E!==null)te=E.getViewport(Ct);else{let Ot=y.getViewSubImage(v,Ct);te=Ot.viewport,zt===0&&(t.setRenderTargetTextures(T,Ot.colorTexture,v.ignoreDepthValues?void 0:Ot.depthStencilTexture),t.setRenderTarget(T))}let $=ct[zt];$===void 0&&($=new Hi,$.layers.enable(zt),$.viewport=new Hr,ct[zt]=$),$.matrix.fromArray(Ct.transform.matrix),$.matrix.decompose($.position,$.quaternion,$.scale),$.projectionMatrix.fromArray(Ct.projectionMatrix),$.projectionMatrixInverse.copy($.projectionMatrix).invert(),$.viewport.set(te.x,te.y,te.width,te.height),zt===0&&(L.matrix.copy($.matrix),L.matrix.decompose(L.position,L.quaternion,L.scale)),$t===!0&&L.cameras.push($)}let Ft=s.enabledFeatures;if(Ft&&Ft.includes("depth-sensing")){let zt=y.getDepthInformation(qt[0]);zt&&zt.isValid&&zt.texture&&A.init(t,zt,s.renderState)}}for(let qt=0;qt<S.length;qt++){let $t=R[qt],Ft=S[qt];$t!==null&&Ft!==void 0&&Ft.update($t,bt,d||c)}A.render(t,L),At&&At(nt,bt),bt.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:bt}),M=null}let jt=new IT;jt.setAnimationLoop(It),this.setAnimationLoop=function(nt){At=nt},this.dispose=function(){}}},Ga=new Ja,_6=new ir;function x6(n,t){function e(_,x){_.matrixAutoUpdate===!0&&_.updateMatrix(),x.value.copy(_.matrix)}function i(_,x){x.color.getRGB(_.fogColor.value,CT(n)),x.isFog?(_.fogNear.value=x.near,_.fogFar.value=x.far):x.isFogExp2&&(_.fogDensity.value=x.density)}function s(_,x,T,S,R){x.isMeshBasicMaterial||x.isMeshLambertMaterial?u(_,x):x.isMeshToonMaterial?(u(_,x),y(_,x)):x.isMeshPhongMaterial?(u(_,x),m(_,x)):x.isMeshStandardMaterial?(u(_,x),v(_,x),x.isMeshPhysicalMaterial&&E(_,x,R)):x.isMeshMatcapMaterial?(u(_,x),M(_,x)):x.isMeshDepthMaterial?u(_,x):x.isMeshDistanceMaterial?(u(_,x),A(_,x)):x.isMeshNormalMaterial?u(_,x):x.isLineBasicMaterial?(c(_,x),x.isLineDashedMaterial&&f(_,x)):x.isPointsMaterial?p(_,x,T,S):x.isSpriteMaterial?d(_,x):x.isShadowMaterial?(_.color.value.copy(x.color),_.opacity.value=x.opacity):x.isShaderMaterial&&(x.uniformsNeedUpdate=!1)}function u(_,x){_.opacity.value=x.opacity,x.color&&_.diffuse.value.copy(x.color),x.emissive&&_.emissive.value.copy(x.emissive).multiplyScalar(x.emissiveIntensity),x.map&&(_.map.value=x.map,e(x.map,_.mapTransform)),x.alphaMap&&(_.alphaMap.value=x.alphaMap,e(x.alphaMap,_.alphaMapTransform)),x.bumpMap&&(_.bumpMap.value=x.bumpMap,e(x.bumpMap,_.bumpMapTransform),_.bumpScale.value=x.bumpScale,x.side===Pi&&(_.bumpScale.value*=-1)),x.normalMap&&(_.normalMap.value=x.normalMap,e(x.normalMap,_.normalMapTransform),_.normalScale.value.copy(x.normalScale),x.side===Pi&&_.normalScale.value.negate()),x.displacementMap&&(_.displacementMap.value=x.displacementMap,e(x.displacementMap,_.displacementMapTransform),_.displacementScale.value=x.displacementScale,_.displacementBias.value=x.displacementBias),x.emissiveMap&&(_.emissiveMap.value=x.emissiveMap,e(x.emissiveMap,_.emissiveMapTransform)),x.specularMap&&(_.specularMap.value=x.specularMap,e(x.specularMap,_.specularMapTransform)),x.alphaTest>0&&(_.alphaTest.value=x.alphaTest);let T=t.get(x),S=T.envMap,R=T.envMapRotation;if(S&&(_.envMap.value=S,Ga.copy(R),Ga.x*=-1,Ga.y*=-1,Ga.z*=-1,S.isCubeTexture&&S.isRenderTargetTexture===!1&&(Ga.y*=-1,Ga.z*=-1),_.envMapRotation.value.setFromMatrix4(_6.makeRotationFromEuler(Ga)),_.flipEnvMap.value=S.isCubeTexture&&S.isRenderTargetTexture===!1?-1:1,_.reflectivity.value=x.reflectivity,_.ior.value=x.ior,_.refractionRatio.value=x.refractionRatio),x.lightMap){_.lightMap.value=x.lightMap;let z=n._useLegacyLights===!0?Math.PI:1;_.lightMapIntensity.value=x.lightMapIntensity*z,e(x.lightMap,_.lightMapTransform)}x.aoMap&&(_.aoMap.value=x.aoMap,_.aoMapIntensity.value=x.aoMapIntensity,e(x.aoMap,_.aoMapTransform))}function c(_,x){_.diffuse.value.copy(x.color),_.opacity.value=x.opacity,x.map&&(_.map.value=x.map,e(x.map,_.mapTransform))}function f(_,x){_.dashSize.value=x.dashSize,_.totalSize.value=x.dashSize+x.gapSize,_.scale.value=x.scale}function p(_,x,T,S){_.diffuse.value.copy(x.color),_.opacity.value=x.opacity,_.size.value=x.size*T,_.scale.value=S*.5,x.map&&(_.map.value=x.map,e(x.map,_.uvTransform)),x.alphaMap&&(_.alphaMap.value=x.alphaMap,e(x.alphaMap,_.alphaMapTransform)),x.alphaTest>0&&(_.alphaTest.value=x.alphaTest)}function d(_,x){_.diffuse.value.copy(x.color),_.opacity.value=x.opacity,_.rotation.value=x.rotation,x.map&&(_.map.value=x.map,e(x.map,_.mapTransform)),x.alphaMap&&(_.alphaMap.value=x.alphaMap,e(x.alphaMap,_.alphaMapTransform)),x.alphaTest>0&&(_.alphaTest.value=x.alphaTest)}function m(_,x){_.specular.value.copy(x.specular),_.shininess.value=Math.max(x.shininess,1e-4)}function y(_,x){x.gradientMap&&(_.gradientMap.value=x.gradientMap)}function v(_,x){_.metalness.value=x.metalness,x.metalnessMap&&(_.metalnessMap.value=x.metalnessMap,e(x.metalnessMap,_.metalnessMapTransform)),_.roughness.value=x.roughness,x.roughnessMap&&(_.roughnessMap.value=x.roughnessMap,e(x.roughnessMap,_.roughnessMapTransform)),t.get(x).envMap&&(_.envMapIntensity.value=x.envMapIntensity)}function E(_,x,T){_.ior.value=x.ior,x.sheen>0&&(_.sheenColor.value.copy(x.sheenColor).multiplyScalar(x.sheen),_.sheenRoughness.value=x.sheenRoughness,x.sheenColorMap&&(_.sheenColorMap.value=x.sheenColorMap,e(x.sheenColorMap,_.sheenColorMapTransform)),x.sheenRoughnessMap&&(_.sheenRoughnessMap.value=x.sheenRoughnessMap,e(x.sheenRoughnessMap,_.sheenRoughnessMapTransform))),x.clearcoat>0&&(_.clearcoat.value=x.clearcoat,_.clearcoatRoughness.value=x.clearcoatRoughness,x.clearcoatMap&&(_.clearcoatMap.value=x.clearcoatMap,e(x.clearcoatMap,_.clearcoatMapTransform)),x.clearcoatRoughnessMap&&(_.clearcoatRoughnessMap.value=x.clearcoatRoughnessMap,e(x.clearcoatRoughnessMap,_.clearcoatRoughnessMapTransform)),x.clearcoatNormalMap&&(_.clearcoatNormalMap.value=x.clearcoatNormalMap,e(x.clearcoatNormalMap,_.clearcoatNormalMapTransform),_.clearcoatNormalScale.value.copy(x.clearcoatNormalScale),x.side===Pi&&_.clearcoatNormalScale.value.negate())),x.iridescence>0&&(_.iridescence.value=x.iridescence,_.iridescenceIOR.value=x.iridescenceIOR,_.iridescenceThicknessMinimum.value=x.iridescenceThicknessRange[0],_.iridescenceThicknessMaximum.value=x.iridescenceThicknessRange[1],x.iridescenceMap&&(_.iridescenceMap.value=x.iridescenceMap,e(x.iridescenceMap,_.iridescenceMapTransform)),x.iridescenceThicknessMap&&(_.iridescenceThicknessMap.value=x.iridescenceThicknessMap,e(x.iridescenceThicknessMap,_.iridescenceThicknessMapTransform))),x.transmission>0&&(_.transmission.value=x.transmission,_.transmissionSamplerMap.value=T.texture,_.transmissionSamplerSize.value.set(T.width,T.height),x.transmissionMap&&(_.transmissionMap.value=x.transmissionMap,e(x.transmissionMap,_.transmissionMapTransform)),_.thickness.value=x.thickness,x.thicknessMap&&(_.thicknessMap.value=x.thicknessMap,e(x.thicknessMap,_.thicknessMapTransform)),_.attenuationDistance.value=x.attenuationDistance,_.attenuationColor.value.copy(x.attenuationColor)),x.anisotropy>0&&(_.anisotropyVector.value.set(x.anisotropy*Math.cos(x.anisotropyRotation),x.anisotropy*Math.sin(x.anisotropyRotation)),x.anisotropyMap&&(_.anisotropyMap.value=x.anisotropyMap,e(x.anisotropyMap,_.anisotropyMapTransform))),_.specularIntensity.value=x.specularIntensity,_.specularColor.value.copy(x.specularColor),x.specularColorMap&&(_.specularColorMap.value=x.specularColorMap,e(x.specularColorMap,_.specularColorMapTransform)),x.specularIntensityMap&&(_.specularIntensityMap.value=x.specularIntensityMap,e(x.specularIntensityMap,_.specularIntensityMapTransform))}function M(_,x){x.matcap&&(_.matcap.value=x.matcap)}function A(_,x){let T=t.get(x).light;_.referencePosition.value.setFromMatrixPosition(T.matrixWorld),_.nearDistance.value=T.shadow.camera.near,_.farDistance.value=T.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:s}}function E6(n,t,e,i){let s={},u={},c=[],f=e.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function p(T,S){let R=S.program;i.uniformBlockBinding(T,R)}function d(T,S){let R=s[T.id];R===void 0&&(M(T),R=m(T),s[T.id]=R,T.addEventListener("dispose",_));let z=S.program;i.updateUBOMapping(T,z);let U=t.render.frame;u[T.id]!==U&&(v(T),u[T.id]=U)}function m(T){let S=y();T.__bindingPointIndex=S;let R=n.createBuffer(),z=T.__size,U=T.usage;return n.bindBuffer(n.UNIFORM_BUFFER,R),n.bufferData(n.UNIFORM_BUFFER,z,U),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,S,R),R}function y(){for(let T=0;T<f;T++)if(c.indexOf(T)===-1)return c.push(T),T;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function v(T){let S=s[T.id],R=T.uniforms,z=T.__cache;n.bindBuffer(n.UNIFORM_BUFFER,S);for(let U=0,D=R.length;U<D;U++){let P=Array.isArray(R[U])?R[U]:[R[U]];for(let ct=0,L=P.length;ct<L;ct++){let W=P[ct];if(E(W,U,ct,z)===!0){let V=W.__offset,Mt=Array.isArray(W.value)?W.value:[W.value],Y=0;for(let mt=0;mt<Mt.length;mt++){let ft=Mt[mt],vt=A(ft);typeof ft=="number"||typeof ft=="boolean"?(W.__data[0]=ft,n.bufferSubData(n.UNIFORM_BUFFER,V+Y,W.__data)):ft.isMatrix3?(W.__data[0]=ft.elements[0],W.__data[1]=ft.elements[1],W.__data[2]=ft.elements[2],W.__data[3]=0,W.__data[4]=ft.elements[3],W.__data[5]=ft.elements[4],W.__data[6]=ft.elements[5],W.__data[7]=0,W.__data[8]=ft.elements[6],W.__data[9]=ft.elements[7],W.__data[10]=ft.elements[8],W.__data[11]=0):(ft.toArray(W.__data,Y),Y+=vt.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,V,W.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function E(T,S,R,z){let U=T.value,D=S+"_"+R;if(z[D]===void 0)return typeof U=="number"||typeof U=="boolean"?z[D]=U:z[D]=U.clone(),!0;{let P=z[D];if(typeof U=="number"||typeof U=="boolean"){if(P!==U)return z[D]=U,!0}else if(P.equals(U)===!1)return P.copy(U),!0}return!1}function M(T){let S=T.uniforms,R=0,z=16;for(let D=0,P=S.length;D<P;D++){let ct=Array.isArray(S[D])?S[D]:[S[D]];for(let L=0,W=ct.length;L<W;L++){let V=ct[L],Mt=Array.isArray(V.value)?V.value:[V.value];for(let Y=0,mt=Mt.length;Y<mt;Y++){let ft=Mt[Y],vt=A(ft),it=R%z;it!==0&&z-it<vt.boundary&&(R+=z-it),V.__data=new Float32Array(vt.storage/Float32Array.BYTES_PER_ELEMENT),V.__offset=R,R+=vt.storage}}}let U=R%z;return U>0&&(R+=z-U),T.__size=R,T.__cache={},this}function A(T){let S={boundary:0,storage:0};return typeof T=="number"||typeof T=="boolean"?(S.boundary=4,S.storage=4):T.isVector2?(S.boundary=8,S.storage=8):T.isVector3||T.isColor?(S.boundary=16,S.storage=12):T.isVector4?(S.boundary=16,S.storage=16):T.isMatrix3?(S.boundary=48,S.storage=48):T.isMatrix4?(S.boundary=64,S.storage=64):T.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",T),S}function _(T){let S=T.target;S.removeEventListener("dispose",_);let R=c.indexOf(S.__bindingPointIndex);c.splice(R,1),n.deleteBuffer(s[S.id]),delete s[S.id],delete u[S.id]}function x(){for(let T in s)n.deleteBuffer(s[T]);c=[],s={},u={}}return{bind:p,update:d,dispose:x}}var xy=class{constructor(t={}){let{canvas:e=bk(),context:i=null,depth:s=!0,stencil:u=!0,alpha:c=!1,antialias:f=!1,premultipliedAlpha:p=!0,preserveDrawingBuffer:d=!1,powerPreference:m="default",failIfMajorPerformanceCaveat:y=!1}=t;this.isWebGLRenderer=!0;let v;i!==null?v=i.getContextAttributes().alpha:v=c;let E=new Uint32Array(4),M=new Int32Array(4),A=null,_=null,x=[],T=[];this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Wo,this._useLegacyLights=!1,this.toneMapping=ra,this.toneMappingExposure=1;let S=this,R=!1,z=0,U=0,D=null,P=-1,ct=null,L=new Hr,W=new Hr,V=null,Mt=new fn(0),Y=0,mt=e.width,ft=e.height,vt=1,it=null,lt=null,H=new Hr(0,0,mt,ft),At=new Hr(0,0,mt,ft),It=!1,jt=new _p,nt=!1,bt=!1,qt=null,$t=new ir,Ft=new Ht,zt=new at,Ct={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function te(){return D===null?vt:1}let $=i;function Ot(q,st){for(let Et=0;Et<q.length;Et++){let dt=q[Et],ut=e.getContext(dt,st);if(ut!==null)return ut}return null}try{let q={alpha:!0,depth:s,stencil:u,antialias:f,premultipliedAlpha:p,preserveDrawingBuffer:d,powerPreference:m,failIfMajorPerformanceCaveat:y};if("setAttribute"in e&&e.setAttribute("data-engine",\`three.js r\${Vy}\`),e.addEventListener("webglcontextlost",ht,!1),e.addEventListener("webglcontextrestored",O,!1),e.addEventListener("webglcontextcreationerror",Q,!1),$===null){let st=["webgl2","webgl","experimental-webgl"];if(S.isWebGL1Renderer===!0&&st.shift(),$=Ot(st,q),$===null)throw Ot(st)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}typeof WebGLRenderingContext!="undefined"&&$ instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),$.getShaderPrecisionFormat===void 0&&($.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(q){throw console.error("THREE.WebGLRenderer: "+q.message),q}let _t,Nt,St,Vt,Xt,Pt,ee,X,N,xt,wt,ot,Lt,ce,Rt,Ut,Wt,j,b,I,F,k,G,rt;function tt(){_t=new UV($),Nt=new RV($,_t,t),_t.init(Nt),k=new m6($,_t,Nt),St=new p6($,_t,Nt),Vt=new GV($),Xt=new e6,Pt=new d6($,_t,St,Xt,Nt,k,Vt),ee=new NV(S),X=new FV(S),N=new Xk($,Nt),G=new IV($,_t,N,Nt),xt=new BV($,N,Vt,G),wt=new HV($,xt,N,Vt),b=new VV($,Nt,Pt),Ut=new LV(Xt),ot=new t6(S,ee,X,_t,Nt,G,Ut),Lt=new x6(S,Xt),ce=new r6,Rt=new l6(_t,Nt),j=new CV(S,ee,X,St,wt,v,p),Wt=new h6(S,wt,Nt),rt=new E6($,Vt,Nt,St),I=new PV($,_t,Vt,Nt),F=new zV($,_t,Vt,Nt),Vt.programs=ot.programs,S.capabilities=Nt,S.extensions=_t,S.properties=Xt,S.renderLists=ce,S.shadowMap=Wt,S.state=St,S.info=Vt}tt();let pt=new _y(S,$);this.xr=pt,this.getContext=function(){return $},this.getContextAttributes=function(){return $.getContextAttributes()},this.forceContextLoss=function(){let q=_t.get("WEBGL_lose_context");q&&q.loseContext()},this.forceContextRestore=function(){let q=_t.get("WEBGL_lose_context");q&&q.restoreContext()},this.getPixelRatio=function(){return vt},this.setPixelRatio=function(q){q!==void 0&&(vt=q,this.setSize(mt,ft,!1))},this.getSize=function(q){return q.set(mt,ft)},this.setSize=function(q,st,Et=!0){if(pt.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}mt=q,ft=st,e.width=Math.floor(q*vt),e.height=Math.floor(st*vt),Et===!0&&(e.style.width=q+"px",e.style.height=st+"px"),this.setViewport(0,0,q,st)},this.getDrawingBufferSize=function(q){return q.set(mt*vt,ft*vt).floor()},this.setDrawingBufferSize=function(q,st,Et){mt=q,ft=st,vt=Et,e.width=Math.floor(q*Et),e.height=Math.floor(st*Et),this.setViewport(0,0,q,st)},this.getCurrentViewport=function(q){return q.copy(L)},this.getViewport=function(q){return q.copy(H)},this.setViewport=function(q,st,Et,dt){q.isVector4?H.set(q.x,q.y,q.z,q.w):H.set(q,st,Et,dt),St.viewport(L.copy(H).multiplyScalar(vt).round())},this.getScissor=function(q){return q.copy(At)},this.setScissor=function(q,st,Et,dt){q.isVector4?At.set(q.x,q.y,q.z,q.w):At.set(q,st,Et,dt),St.scissor(W.copy(At).multiplyScalar(vt).round())},this.getScissorTest=function(){return It},this.setScissorTest=function(q){St.setScissorTest(It=q)},this.setOpaqueSort=function(q){it=q},this.setTransparentSort=function(q){lt=q},this.getClearColor=function(q){return q.copy(j.getClearColor())},this.setClearColor=function(){j.setClearColor.apply(j,arguments)},this.getClearAlpha=function(){return j.getClearAlpha()},this.setClearAlpha=function(){j.setClearAlpha.apply(j,arguments)},this.clear=function(q=!0,st=!0,Et=!0){let dt=0;if(q){let ut=!1;if(D!==null){let Kt=D.texture.format;ut=Kt===wT||Kt===ET||Kt===xT}if(ut){let Kt=D.texture.type,Qt=Kt===ia||Kt===ea||Kt===Hy||Kt===Ya||Kt===vT||Kt===_T,le=j.getClearColor(),ne=j.getClearAlpha(),ve=le.r,fe=le.g,he=le.b;Qt?(E[0]=ve,E[1]=fe,E[2]=he,E[3]=ne,$.clearBufferuiv($.COLOR,0,E)):(M[0]=ve,M[1]=fe,M[2]=he,M[3]=ne,$.clearBufferiv($.COLOR,0,M))}else dt|=$.COLOR_BUFFER_BIT}st&&(dt|=$.DEPTH_BUFFER_BIT),Et&&(dt|=$.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),$.clear(dt)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",ht,!1),e.removeEventListener("webglcontextrestored",O,!1),e.removeEventListener("webglcontextcreationerror",Q,!1),ce.dispose(),Rt.dispose(),Xt.dispose(),ee.dispose(),X.dispose(),wt.dispose(),G.dispose(),rt.dispose(),ot.dispose(),Wt.dispose(),pt.dispose(),pt.removeEventListener("sessionstart",Se),pt.removeEventListener("sessionend",ye),qt&&(qt.dispose(),qt=null),be.stop()};function ht(q){q.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),R=!0}function O(){console.log("THREE.WebGLRenderer: Context Restored."),R=!1;let q=Vt.autoReset,st=Wt.enabled,Et=Wt.autoUpdate,dt=Wt.needsUpdate,ut=Wt.type;tt(),Vt.autoReset=q,Wt.enabled=st,Wt.autoUpdate=Et,Wt.needsUpdate=dt,Wt.type=ut}function Q(q){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",q.statusMessage)}function J(q){let st=q.target;st.removeEventListener("dispose",J),et(st)}function et(q){Tt(q),Xt.remove(q)}function Tt(q){let st=Xt.get(q).programs;st!==void 0&&(st.forEach(function(Et){ot.releaseProgram(Et)}),q.isShaderMaterial&&ot.releaseShaderCache(q))}this.renderBufferDirect=function(q,st,Et,dt,ut,Kt){st===null&&(st=Ct);let Qt=ut.isMesh&&ut.matrixWorld.determinant()<0,le=En(q,st,Et,dt,ut);St.setMaterial(dt,Qt);let ne=Et.index,ve=1;if(dt.wireframe===!0){if(ne=xt.getWireframeAttribute(Et),ne===void 0)return;ve=2}let fe=Et.drawRange,he=Et.attributes.position,ln=fe.start*ve,Mr=(fe.start+fe.count)*ve;Kt!==null&&(ln=Math.max(ln,Kt.start*ve),Mr=Math.min(Mr,(Kt.start+Kt.count)*ve)),ne!==null?(ln=Math.max(ln,0),Mr=Math.min(Mr,ne.count)):he!=null&&(ln=Math.max(ln,0),Mr=Math.min(Mr,he.count));let kn=Mr-ln;if(kn<0||kn===1/0)return;G.setup(ut,dt,le,Et,ne);let ai,Sn=I;if(ne!==null&&(ai=N.get(ne),Sn=F,Sn.setIndex(ai)),ut.isMesh)dt.wireframe===!0?(St.setLineWidth(dt.wireframeLinewidth*te()),Sn.setMode($.LINES)):Sn.setMode($.TRIANGLES);else if(ut.isLine){let oe=dt.linewidth;oe===void 0&&(oe=1),St.setLineWidth(oe*te()),ut.isLineSegments?Sn.setMode($.LINES):ut.isLineLoop?Sn.setMode($.LINE_LOOP):Sn.setMode($.LINE_STRIP)}else ut.isPoints?Sn.setMode($.POINTS):ut.isSprite&&Sn.setMode($.TRIANGLES);if(ut.isBatchedMesh)Sn.renderMultiDraw(ut._multiDrawStarts,ut._multiDrawCounts,ut._multiDrawCount);else if(ut.isInstancedMesh)Sn.renderInstances(ln,kn,ut.count);else if(Et.isInstancedBufferGeometry){let oe=Et._maxInstanceCount!==void 0?Et._maxInstanceCount:1/0,cu=Math.min(Et.instanceCount,oe);Sn.renderInstances(ln,kn,cu)}else Sn.render(ln,kn)};function Gt(q,st,Et){q.transparent===!0&&q.side===Ss&&q.forceSinglePass===!1?(q.side=Pi,q.needsUpdate=!0,xn(q,st,Et),q.side=sa,q.needsUpdate=!0,xn(q,st,Et),q.side=Ss):xn(q,st,Et)}this.compile=function(q,st,Et=null){Et===null&&(Et=q),_=Rt.get(Et),_.init(),T.push(_),Et.traverseVisible(function(ut){ut.isLight&&ut.layers.test(st.layers)&&(_.pushLight(ut),ut.castShadow&&_.pushShadow(ut))}),q!==Et&&q.traverseVisible(function(ut){ut.isLight&&ut.layers.test(st.layers)&&(_.pushLight(ut),ut.castShadow&&_.pushShadow(ut))}),_.setupLights(S._useLegacyLights);let dt=new Set;return q.traverse(function(ut){let Kt=ut.material;if(Kt)if(Array.isArray(Kt))for(let Qt=0;Qt<Kt.length;Qt++){let le=Kt[Qt];Gt(le,Et,ut),dt.add(le)}else Gt(Kt,Et,ut),dt.add(Kt)}),T.pop(),_=null,dt},this.compileAsync=function(q,st,Et=null){let dt=this.compile(q,st,Et);return new Promise(ut=>{function Kt(){if(dt.forEach(function(Qt){Xt.get(Qt).currentProgram.isReady()&&dt.delete(Qt)}),dt.size===0){ut(q);return}setTimeout(Kt,10)}_t.get("KHR_parallel_shader_compile")!==null?Kt():setTimeout(Kt,10)})};let re=null;function ie(q){re&&re(q)}function Se(){be.stop()}function ye(){be.start()}let be=new IT;be.setAnimationLoop(ie),typeof self!="undefined"&&be.setContext(self),this.setAnimationLoop=function(q){re=q,pt.setAnimationLoop(q),q===null?be.stop():be.start()},pt.addEventListener("sessionstart",Se),pt.addEventListener("sessionend",ye),this.render=function(q,st){if(st!==void 0&&st.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(R===!0)return;q.matrixWorldAutoUpdate===!0&&q.updateMatrixWorld(),st.parent===null&&st.matrixWorldAutoUpdate===!0&&st.updateMatrixWorld(),pt.enabled===!0&&pt.isPresenting===!0&&(pt.cameraAutoUpdate===!0&&pt.updateCamera(st),st=pt.getCamera()),q.isScene===!0&&q.onBeforeRender(S,q,st,D),_=Rt.get(q,T.length),_.init(),T.push(_),$t.multiplyMatrices(st.projectionMatrix,st.matrixWorldInverse),jt.setFromProjectionMatrix($t),bt=this.localClippingEnabled,nt=Ut.init(this.clippingPlanes,bt),A=ce.get(q,x.length),A.init(),x.push(A),Ae(q,st,0,S.sortObjects),A.finish(),S.sortObjects===!0&&A.sort(it,lt),this.info.render.frame++,nt===!0&&Ut.beginShadows();let Et=_.state.shadowsArray;if(Wt.render(Et,q,st),nt===!0&&Ut.endShadows(),this.info.autoReset===!0&&this.info.reset(),(pt.enabled===!1||pt.isPresenting===!1||pt.hasDepthSensing()===!1)&&j.render(A,q),_.setupLights(S._useLegacyLights),st.isArrayCamera){let dt=st.cameras;for(let ut=0,Kt=dt.length;ut<Kt;ut++){let Qt=dt[ut];On(A,q,Qt,Qt.viewport)}}else On(A,q,st);D!==null&&(Pt.updateMultisampleRenderTarget(D),Pt.updateRenderTargetMipmap(D)),q.isScene===!0&&q.onAfterRender(S,q,st),G.resetDefaultState(),P=-1,ct=null,T.pop(),T.length>0?_=T[T.length-1]:_=null,x.pop(),x.length>0?A=x[x.length-1]:A=null};function Ae(q,st,Et,dt){if(q.visible===!1)return;if(q.layers.test(st.layers)){if(q.isGroup)Et=q.renderOrder;else if(q.isLOD)q.autoUpdate===!0&&q.update(st);else if(q.isLight)_.pushLight(q),q.castShadow&&_.pushShadow(q);else if(q.isSprite){if(!q.frustumCulled||jt.intersectsSprite(q)){dt&&zt.setFromMatrixPosition(q.matrixWorld).applyMatrix4($t);let Qt=wt.update(q),le=q.material;le.visible&&A.push(q,Qt,le,Et,zt.z,null)}}else if((q.isMesh||q.isLine||q.isPoints)&&(!q.frustumCulled||jt.intersectsObject(q))){let Qt=wt.update(q),le=q.material;if(dt&&(q.boundingSphere!==void 0?(q.boundingSphere===null&&q.computeBoundingSphere(),zt.copy(q.boundingSphere.center)):(Qt.boundingSphere===null&&Qt.computeBoundingSphere(),zt.copy(Qt.boundingSphere.center)),zt.applyMatrix4(q.matrixWorld).applyMatrix4($t)),Array.isArray(le)){let ne=Qt.groups;for(let ve=0,fe=ne.length;ve<fe;ve++){let he=ne[ve],ln=le[he.materialIndex];ln&&ln.visible&&A.push(q,Qt,ln,Et,zt.z,he)}}else le.visible&&A.push(q,Qt,le,Et,zt.z,null)}}let Kt=q.children;for(let Qt=0,le=Kt.length;Qt<le;Qt++)Ae(Kt[Qt],st,Et,dt)}function On(q,st,Et,dt){let ut=q.opaque,Kt=q.transmissive,Qt=q.transparent;_.setupLightsView(Et),nt===!0&&Ut.setGlobalState(S.clippingPlanes,Et),Kt.length>0&&pr(ut,Kt,st,Et),dt&&St.viewport(L.copy(dt)),ut.length>0&&_n(ut,st,Et),Kt.length>0&&_n(Kt,st,Et),Qt.length>0&&_n(Qt,st,Et),St.buffers.depth.setTest(!0),St.buffers.depth.setMask(!0),St.buffers.color.setMask(!0),St.setPolygonOffset(!1)}function pr(q,st,Et,dt){if((Et.isScene===!0?Et.overrideMaterial:null)!==null)return;let Kt=Nt.isWebGL2;qt===null&&(qt=new Ts(1,1,{generateMipmaps:!0,type:_t.has("EXT_color_buffer_half_float")?Oc:ia,minFilter:Ha,samples:Kt?4:0})),S.getDrawingBufferSize(Ft),Kt?qt.setSize(Ft.x,Ft.y):qt.setSize(ny(Ft.x),ny(Ft.y));let Qt=S.getRenderTarget();S.setRenderTarget(qt),S.getClearColor(Mt),Y=S.getClearAlpha(),Y<1&&S.setClearColor(16777215,.5),S.clear();let le=S.toneMapping;S.toneMapping=ra,_n(q,Et,dt),Pt.updateMultisampleRenderTarget(qt),Pt.updateRenderTargetMipmap(qt);let ne=!1;for(let ve=0,fe=st.length;ve<fe;ve++){let he=st[ve],ln=he.object,Mr=he.geometry,kn=he.material,ai=he.group;if(kn.side===Ss&&ln.layers.test(dt.layers)){let Sn=kn.side;kn.side=Pi,kn.needsUpdate=!0,pe(ln,Et,dt,Mr,kn,ai),kn.side=Sn,kn.needsUpdate=!0,ne=!0}}ne===!0&&(Pt.updateMultisampleRenderTarget(qt),Pt.updateRenderTargetMipmap(qt)),S.setRenderTarget(Qt),S.setClearColor(Mt,Y),S.toneMapping=le}function _n(q,st,Et){let dt=st.isScene===!0?st.overrideMaterial:null;for(let ut=0,Kt=q.length;ut<Kt;ut++){let Qt=q[ut],le=Qt.object,ne=Qt.geometry,ve=dt===null?Qt.material:dt,fe=Qt.group;le.layers.test(Et.layers)&&pe(le,st,Et,ne,ve,fe)}}function pe(q,st,Et,dt,ut,Kt){q.onBeforeRender(S,st,Et,dt,ut,Kt),q.modelViewMatrix.multiplyMatrices(Et.matrixWorldInverse,q.matrixWorld),q.normalMatrix.getNormalMatrix(q.modelViewMatrix),ut.onBeforeRender(S,st,Et,dt,q,Kt),ut.transparent===!0&&ut.side===Ss&&ut.forceSinglePass===!1?(ut.side=Pi,ut.needsUpdate=!0,S.renderBufferDirect(Et,st,dt,ut,q,Kt),ut.side=sa,ut.needsUpdate=!0,S.renderBufferDirect(Et,st,dt,ut,q,Kt),ut.side=Ss):S.renderBufferDirect(Et,st,dt,ut,q,Kt),q.onAfterRender(S,st,Et,dt,ut,Kt)}function xn(q,st,Et){st.isScene!==!0&&(st=Ct);let dt=Xt.get(q),ut=_.state.lights,Kt=_.state.shadowsArray,Qt=ut.state.version,le=ot.getParameters(q,ut.state,Kt,st,Et),ne=ot.getProgramCacheKey(le),ve=dt.programs;dt.environment=q.isMeshStandardMaterial?st.environment:null,dt.fog=st.fog,dt.envMap=(q.isMeshStandardMaterial?X:ee).get(q.envMap||dt.environment),dt.envMapRotation=dt.environment!==null&&q.envMap===null?st.environmentRotation:q.envMapRotation,ve===void 0&&(q.addEventListener("dispose",J),ve=new Map,dt.programs=ve);let fe=ve.get(ne);if(fe!==void 0){if(dt.currentProgram===fe&&dt.lightsStateVersion===Qt)return Tn(q,le),fe}else le.uniforms=ot.getUniforms(q),q.onBuild(Et,le,S),q.onBeforeCompile(le,S),fe=ot.acquireProgram(le,ne),ve.set(ne,fe),dt.uniforms=le.uniforms;let he=dt.uniforms;return(!q.isShaderMaterial&&!q.isRawShaderMaterial||q.clipping===!0)&&(he.clippingPlanes=Ut.uniform),Tn(q,le),dt.needsLights=Sr(q),dt.lightsStateVersion=Qt,dt.needsLights&&(he.ambientLightColor.value=ut.state.ambient,he.lightProbe.value=ut.state.probe,he.directionalLights.value=ut.state.directional,he.directionalLightShadows.value=ut.state.directionalShadow,he.spotLights.value=ut.state.spot,he.spotLightShadows.value=ut.state.spotShadow,he.rectAreaLights.value=ut.state.rectArea,he.ltc_1.value=ut.state.rectAreaLTC1,he.ltc_2.value=ut.state.rectAreaLTC2,he.pointLights.value=ut.state.point,he.pointLightShadows.value=ut.state.pointShadow,he.hemisphereLights.value=ut.state.hemi,he.directionalShadowMap.value=ut.state.directionalShadowMap,he.directionalShadowMatrix.value=ut.state.directionalShadowMatrix,he.spotShadowMap.value=ut.state.spotShadowMap,he.spotLightMatrix.value=ut.state.spotLightMatrix,he.spotLightMap.value=ut.state.spotLightMap,he.pointShadowMap.value=ut.state.pointShadowMap,he.pointShadowMatrix.value=ut.state.pointShadowMatrix),dt.currentProgram=fe,dt.uniformsList=null,fe}function Rn(q){if(q.uniformsList===null){let st=q.currentProgram.getUniforms();q.uniformsList=ul.seqWithValue(st.seq,q.uniforms)}return q.uniformsList}function Tn(q,st){let Et=Xt.get(q);Et.outputColorSpace=st.outputColorSpace,Et.batching=st.batching,Et.instancing=st.instancing,Et.instancingColor=st.instancingColor,Et.instancingMorph=st.instancingMorph,Et.skinning=st.skinning,Et.morphTargets=st.morphTargets,Et.morphNormals=st.morphNormals,Et.morphColors=st.morphColors,Et.morphTargetsCount=st.morphTargetsCount,Et.numClippingPlanes=st.numClippingPlanes,Et.numIntersection=st.numClipIntersection,Et.vertexAlphas=st.vertexAlphas,Et.vertexTangents=st.vertexTangents,Et.toneMapping=st.toneMapping}function En(q,st,Et,dt,ut){st.isScene!==!0&&(st=Ct),Pt.resetTextureUnits();let Kt=st.fog,Qt=dt.isMeshStandardMaterial?st.environment:null,le=D===null?S.outputColorSpace:D.isXRRenderTarget===!0?D.texture.colorSpace:ua,ne=(dt.isMeshStandardMaterial?X:ee).get(dt.envMap||Qt),ve=dt.vertexColors===!0&&!!Et.attributes.color&&Et.attributes.color.itemSize===4,fe=!!Et.attributes.tangent&&(!!dt.normalMap||dt.anisotropy>0),he=!!Et.morphAttributes.position,ln=!!Et.morphAttributes.normal,Mr=!!Et.morphAttributes.color,kn=ra;dt.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(kn=S.toneMapping);let ai=Et.morphAttributes.position||Et.morphAttributes.normal||Et.morphAttributes.color,Sn=ai!==void 0?ai.length:0,oe=Xt.get(dt),cu=_.state.lights;if(nt===!0&&(bt===!0||q!==ct)){let ui=q===ct&&dt.id===P;Ut.setState(dt,q,ui)}let cn=!1;dt.version===oe.__version?(oe.needsLights&&oe.lightsStateVersion!==cu.state.version||oe.outputColorSpace!==le||ut.isBatchedMesh&&oe.batching===!1||!ut.isBatchedMesh&&oe.batching===!0||ut.isInstancedMesh&&oe.instancing===!1||!ut.isInstancedMesh&&oe.instancing===!0||ut.isSkinnedMesh&&oe.skinning===!1||!ut.isSkinnedMesh&&oe.skinning===!0||ut.isInstancedMesh&&oe.instancingColor===!0&&ut.instanceColor===null||ut.isInstancedMesh&&oe.instancingColor===!1&&ut.instanceColor!==null||ut.isInstancedMesh&&oe.instancingMorph===!0&&ut.morphTexture===null||ut.isInstancedMesh&&oe.instancingMorph===!1&&ut.morphTexture!==null||oe.envMap!==ne||dt.fog===!0&&oe.fog!==Kt||oe.numClippingPlanes!==void 0&&(oe.numClippingPlanes!==Ut.numPlanes||oe.numIntersection!==Ut.numIntersection)||oe.vertexAlphas!==ve||oe.vertexTangents!==fe||oe.morphTargets!==he||oe.morphNormals!==ln||oe.morphColors!==Mr||oe.toneMapping!==kn||Nt.isWebGL2===!0&&oe.morphTargetsCount!==Sn)&&(cn=!0):(cn=!0,oe.__version=dt.version);let oo=oe.currentProgram;cn===!0&&(oo=xn(dt,st,ut));let Wl=!1,_e=!1,ga=!1,Mn=oo.getUniforms(),so=oe.uniforms;if(St.useProgram(oo.program)&&(Wl=!0,_e=!0,ga=!0),dt.id!==P&&(P=dt.id,_e=!0),Wl||ct!==q){Mn.setValue($,"projectionMatrix",q.projectionMatrix),Mn.setValue($,"viewMatrix",q.matrixWorldInverse);let ui=Mn.map.cameraPosition;ui!==void 0&&ui.setValue($,zt.setFromMatrixPosition(q.matrixWorld)),Nt.logarithmicDepthBuffer&&Mn.setValue($,"logDepthBufFC",2/(Math.log(q.far+1)/Math.LN2)),(dt.isMeshPhongMaterial||dt.isMeshToonMaterial||dt.isMeshLambertMaterial||dt.isMeshBasicMaterial||dt.isMeshStandardMaterial||dt.isShaderMaterial)&&Mn.setValue($,"isOrthographic",q.isOrthographicCamera===!0),ct!==q&&(ct=q,_e=!0,ga=!0)}if(ut.isSkinnedMesh){Mn.setOptional($,ut,"bindMatrix"),Mn.setOptional($,ut,"bindMatrixInverse");let ui=ut.skeleton;ui&&(Nt.floatVertexTextures?(ui.boneTexture===null&&ui.computeBoneTexture(),Mn.setValue($,"boneTexture",ui.boneTexture,Pt)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}ut.isBatchedMesh&&(Mn.setOptional($,ut,"batchingTexture"),Mn.setValue($,"batchingTexture",ut._matricesTexture,Pt));let ge=Et.morphAttributes;if((ge.position!==void 0||ge.normal!==void 0||ge.color!==void 0&&Nt.isWebGL2===!0)&&b.update(ut,Et,oo),(_e||oe.receiveShadow!==ut.receiveShadow)&&(oe.receiveShadow=ut.receiveShadow,Mn.setValue($,"receiveShadow",ut.receiveShadow)),dt.isMeshGouraudMaterial&&dt.envMap!==null&&(so.envMap.value=ne,so.flipEnvMap.value=ne.isCubeTexture&&ne.isRenderTargetTexture===!1?-1:1),_e&&(Mn.setValue($,"toneMappingExposure",S.toneMappingExposure),oe.needsLights&&Jr(so,ga),Kt&&dt.fog===!0&&Lt.refreshFogUniforms(so,Kt),Lt.refreshMaterialUniforms(so,dt,vt,ft,qt),ul.upload($,Rn(oe),so,Pt)),dt.isShaderMaterial&&dt.uniformsNeedUpdate===!0&&(ul.upload($,Rn(oe),so,Pt),dt.uniformsNeedUpdate=!1),dt.isSpriteMaterial&&Mn.setValue($,"center",ut.center),Mn.setValue($,"modelViewMatrix",ut.modelViewMatrix),Mn.setValue($,"normalMatrix",ut.normalMatrix),Mn.setValue($,"modelMatrix",ut.matrixWorld),dt.isShaderMaterial||dt.isRawShaderMaterial){let ui=dt.uniformsGroups;for(let Xl=0,fu=ui.length;Xl<fu;Xl++)if(Nt.isWebGL2){let li=ui[Xl];rt.update(li,oo),rt.bind(li,oo)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return oo}function Jr(q,st){q.ambientLightColor.needsUpdate=st,q.lightProbe.needsUpdate=st,q.directionalLights.needsUpdate=st,q.directionalLightShadows.needsUpdate=st,q.pointLights.needsUpdate=st,q.pointLightShadows.needsUpdate=st,q.spotLights.needsUpdate=st,q.spotLightShadows.needsUpdate=st,q.rectAreaLights.needsUpdate=st,q.hemisphereLights.needsUpdate=st}function Sr(q){return q.isMeshLambertMaterial||q.isMeshToonMaterial||q.isMeshPhongMaterial||q.isMeshStandardMaterial||q.isShadowMaterial||q.isShaderMaterial&&q.lights===!0}this.getActiveCubeFace=function(){return z},this.getActiveMipmapLevel=function(){return U},this.getRenderTarget=function(){return D},this.setRenderTargetTextures=function(q,st,Et){Xt.get(q.texture).__webglTexture=st,Xt.get(q.depthTexture).__webglTexture=Et;let dt=Xt.get(q);dt.__hasExternalTextures=!0,dt.__autoAllocateDepthBuffer=Et===void 0,dt.__autoAllocateDepthBuffer||_t.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),dt.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(q,st){let Et=Xt.get(q);Et.__webglFramebuffer=st,Et.__useDefaultFramebuffer=st===void 0},this.setRenderTarget=function(q,st=0,Et=0){D=q,z=st,U=Et;let dt=!0,ut=null,Kt=!1,Qt=!1;if(q){let ne=Xt.get(q);ne.__useDefaultFramebuffer!==void 0?(St.bindFramebuffer($.FRAMEBUFFER,null),dt=!1):ne.__webglFramebuffer===void 0?Pt.setupRenderTarget(q):ne.__hasExternalTextures&&Pt.rebindTextures(q,Xt.get(q.texture).__webglTexture,Xt.get(q.depthTexture).__webglTexture);let ve=q.texture;(ve.isData3DTexture||ve.isDataArrayTexture||ve.isCompressedArrayTexture)&&(Qt=!0);let fe=Xt.get(q).__webglFramebuffer;q.isWebGLCubeRenderTarget?(Array.isArray(fe[st])?ut=fe[st][Et]:ut=fe[st],Kt=!0):Nt.isWebGL2&&q.samples>0&&Pt.useMultisampledRTT(q)===!1?ut=Xt.get(q).__webglMultisampledFramebuffer:Array.isArray(fe)?ut=fe[Et]:ut=fe,L.copy(q.viewport),W.copy(q.scissor),V=q.scissorTest}else L.copy(H).multiplyScalar(vt).floor(),W.copy(At).multiplyScalar(vt).floor(),V=It;if(St.bindFramebuffer($.FRAMEBUFFER,ut)&&Nt.drawBuffers&&dt&&St.drawBuffers(q,ut),St.viewport(L),St.scissor(W),St.setScissorTest(V),Kt){let ne=Xt.get(q.texture);$.framebufferTexture2D($.FRAMEBUFFER,$.COLOR_ATTACHMENT0,$.TEXTURE_CUBE_MAP_POSITIVE_X+st,ne.__webglTexture,Et)}else if(Qt){let ne=Xt.get(q.texture),ve=st||0;$.framebufferTextureLayer($.FRAMEBUFFER,$.COLOR_ATTACHMENT0,ne.__webglTexture,Et||0,ve)}P=-1},this.readRenderTargetPixels=function(q,st,Et,dt,ut,Kt,Qt){if(!(q&&q.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let le=Xt.get(q).__webglFramebuffer;if(q.isWebGLCubeRenderTarget&&Qt!==void 0&&(le=le[Qt]),le){St.bindFramebuffer($.FRAMEBUFFER,le);try{let ne=q.texture,ve=ne.format,fe=ne.type;if(ve!==Ao&&k.convert(ve)!==$.getParameter($.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}let he=fe===Oc&&(_t.has("EXT_color_buffer_half_float")||Nt.isWebGL2&&_t.has("EXT_color_buffer_float"));if(fe!==ia&&k.convert(fe)!==$.getParameter($.IMPLEMENTATION_COLOR_READ_TYPE)&&!(fe===Ms&&(Nt.isWebGL2||_t.has("OES_texture_float")||_t.has("WEBGL_color_buffer_float")))&&!he){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}st>=0&&st<=q.width-dt&&Et>=0&&Et<=q.height-ut&&$.readPixels(st,Et,dt,ut,k.convert(ve),k.convert(fe),Kt)}finally{let ne=D!==null?Xt.get(D).__webglFramebuffer:null;St.bindFramebuffer($.FRAMEBUFFER,ne)}}},this.copyFramebufferToTexture=function(q,st,Et=0){let dt=Math.pow(2,-Et),ut=Math.floor(st.image.width*dt),Kt=Math.floor(st.image.height*dt);Pt.setTexture2D(st,0),$.copyTexSubImage2D($.TEXTURE_2D,Et,0,0,q.x,q.y,ut,Kt),St.unbindTexture()},this.copyTextureToTexture=function(q,st,Et,dt=0){let ut=st.image.width,Kt=st.image.height,Qt=k.convert(Et.format),le=k.convert(Et.type);Pt.setTexture2D(Et,0),$.pixelStorei($.UNPACK_FLIP_Y_WEBGL,Et.flipY),$.pixelStorei($.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Et.premultiplyAlpha),$.pixelStorei($.UNPACK_ALIGNMENT,Et.unpackAlignment),st.isDataTexture?$.texSubImage2D($.TEXTURE_2D,dt,q.x,q.y,ut,Kt,Qt,le,st.image.data):st.isCompressedTexture?$.compressedTexSubImage2D($.TEXTURE_2D,dt,q.x,q.y,st.mipmaps[0].width,st.mipmaps[0].height,Qt,st.mipmaps[0].data):$.texSubImage2D($.TEXTURE_2D,dt,q.x,q.y,Qt,le,st.image),dt===0&&Et.generateMipmaps&&$.generateMipmap($.TEXTURE_2D),St.unbindTexture()},this.copyTextureToTexture3D=function(q,st,Et,dt,ut=0){if(S.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let Kt=Math.round(q.max.x-q.min.x),Qt=Math.round(q.max.y-q.min.y),le=q.max.z-q.min.z+1,ne=k.convert(dt.format),ve=k.convert(dt.type),fe;if(dt.isData3DTexture)Pt.setTexture3D(dt,0),fe=$.TEXTURE_3D;else if(dt.isDataArrayTexture||dt.isCompressedArrayTexture)Pt.setTexture2DArray(dt,0),fe=$.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}$.pixelStorei($.UNPACK_FLIP_Y_WEBGL,dt.flipY),$.pixelStorei($.UNPACK_PREMULTIPLY_ALPHA_WEBGL,dt.premultiplyAlpha),$.pixelStorei($.UNPACK_ALIGNMENT,dt.unpackAlignment);let he=$.getParameter($.UNPACK_ROW_LENGTH),ln=$.getParameter($.UNPACK_IMAGE_HEIGHT),Mr=$.getParameter($.UNPACK_SKIP_PIXELS),kn=$.getParameter($.UNPACK_SKIP_ROWS),ai=$.getParameter($.UNPACK_SKIP_IMAGES),Sn=Et.isCompressedTexture?Et.mipmaps[ut]:Et.image;$.pixelStorei($.UNPACK_ROW_LENGTH,Sn.width),$.pixelStorei($.UNPACK_IMAGE_HEIGHT,Sn.height),$.pixelStorei($.UNPACK_SKIP_PIXELS,q.min.x),$.pixelStorei($.UNPACK_SKIP_ROWS,q.min.y),$.pixelStorei($.UNPACK_SKIP_IMAGES,q.min.z),Et.isDataTexture||Et.isData3DTexture?$.texSubImage3D(fe,ut,st.x,st.y,st.z,Kt,Qt,le,ne,ve,Sn.data):dt.isCompressedArrayTexture?$.compressedTexSubImage3D(fe,ut,st.x,st.y,st.z,Kt,Qt,le,ne,Sn.data):$.texSubImage3D(fe,ut,st.x,st.y,st.z,Kt,Qt,le,ne,ve,Sn),$.pixelStorei($.UNPACK_ROW_LENGTH,he),$.pixelStorei($.UNPACK_IMAGE_HEIGHT,ln),$.pixelStorei($.UNPACK_SKIP_PIXELS,Mr),$.pixelStorei($.UNPACK_SKIP_ROWS,kn),$.pixelStorei($.UNPACK_SKIP_IMAGES,ai),ut===0&&dt.generateMipmaps&&$.generateMipmap(fe),St.unbindTexture()},this.initTexture=function(q){q.isCubeTexture?Pt.setTextureCube(q,0):q.isData3DTexture?Pt.setTexture3D(q,0):q.isDataArrayTexture||q.isCompressedArrayTexture?Pt.setTexture2DArray(q,0):Pt.setTexture2D(q,0),St.unbindTexture()},this.resetState=function(){z=0,U=0,D=null,St.reset(),G.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return bs}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;let e=this.getContext();e.drawingBufferColorSpace=t===Wy?"display-p3":"srgb",e.unpackColorSpace=In.workingColorSpace===Ip?"display-p3":"srgb"}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(t){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=t}},Ey=class extends xy{};Ey.prototype.isWebGL1Renderer=!0;var Sp=class{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=t!==void 0?t.length/e:0,this.usage=Q0,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=As()}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}get updateRange(){return AT("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,i){t*=this.stride,i*=e.stride;for(let s=0,u=this.stride;s<u;s++)this.array[t+s]=e.array[i+s];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=As()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(e,this.stride);return i.setUsage(this.usage),i}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=As()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},_i=new at,Uc=class n{constructor(t,e,i,s=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=t,this.itemSize=e,this.offset=i,this.normalized=s}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,i=this.data.count;e<i;e++)_i.fromBufferAttribute(this,e),_i.applyMatrix4(t),this.setXYZ(e,_i.x,_i.y,_i.z);return this}applyNormalMatrix(t){for(let e=0,i=this.count;e<i;e++)_i.fromBufferAttribute(this,e),_i.applyNormalMatrix(t),this.setXYZ(e,_i.x,_i.y,_i.z);return this}transformDirection(t){for(let e=0,i=this.count;e<i;e++)_i.fromBufferAttribute(this,e),_i.transformDirection(t),this.setXYZ(e,_i.x,_i.y,_i.z);return this}getComponent(t,e){let i=this.array[t*this.data.stride+this.offset+e];return this.normalized&&(i=Yo(i,this.array)),i}setComponent(t,e,i){return this.normalized&&(i=Cn(i,this.array)),this.data.array[t*this.data.stride+this.offset+e]=i,this}setX(t,e){return this.normalized&&(e=Cn(e,this.array)),this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.normalized&&(e=Cn(e,this.array)),this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.normalized&&(e=Cn(e,this.array)),this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.normalized&&(e=Cn(e,this.array)),this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){let e=this.data.array[t*this.data.stride+this.offset];return this.normalized&&(e=Yo(e,this.array)),e}getY(t){let e=this.data.array[t*this.data.stride+this.offset+1];return this.normalized&&(e=Yo(e,this.array)),e}getZ(t){let e=this.data.array[t*this.data.stride+this.offset+2];return this.normalized&&(e=Yo(e,this.array)),e}getW(t){let e=this.data.array[t*this.data.stride+this.offset+3];return this.normalized&&(e=Yo(e,this.array)),e}setXY(t,e,i){return t=t*this.data.stride+this.offset,this.normalized&&(e=Cn(e,this.array),i=Cn(i,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this}setXYZ(t,e,i,s){return t=t*this.data.stride+this.offset,this.normalized&&(e=Cn(e,this.array),i=Cn(i,this.array),s=Cn(s,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=s,this}setXYZW(t,e,i,s,u){return t=t*this.data.stride+this.offset,this.normalized&&(e=Cn(e,this.array),i=Cn(i,this.array),s=Cn(s,this.array),u=Cn(u,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=s,this.data.array[t+3]=u,this}clone(t){if(t===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let i=0;i<this.count;i++){let s=i*this.data.stride+this.offset;for(let u=0;u<this.itemSize;u++)e.push(this.data.array[s+u])}return new Yn(new this.array.constructor(e),this.itemSize,this.normalized)}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new n(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(t===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let i=0;i<this.count;i++){let s=i*this.data.stride+this.offset;for(let u=0;u<this.itemSize;u++)e.push(this.data.array[s+u])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},wy=class extends ja{constructor(t){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new fn(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}},Qs,Cc=new at,tl=new at,el=new at,nl=new Ht,Ic=new Ht,DT=new ir,Zh=new at,Pc=new at,Jh=new at,uT=new Ht,V0=new Ht,lT=new Ht,Sy=class extends Co{constructor(t=new wy){if(super(),this.isSprite=!0,this.type="Sprite",Qs===void 0){Qs=new Ri;let e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new Sp(e,5);Qs.setIndex([0,1,2,0,2,3]),Qs.setAttribute("position",new Uc(i,3,0,!1)),Qs.setAttribute("uv",new Uc(i,2,3,!1))}this.geometry=Qs,this.material=t,this.center=new Ht(.5,.5)}raycast(t,e){t.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),tl.setFromMatrixScale(this.matrixWorld),DT.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),el.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&tl.multiplyScalar(-el.z);let i=this.material.rotation,s,u;i!==0&&(u=Math.cos(i),s=Math.sin(i));let c=this.center;jh(Zh.set(-.5,-.5,0),el,c,tl,s,u),jh(Pc.set(.5,-.5,0),el,c,tl,s,u),jh(Jh.set(.5,.5,0),el,c,tl,s,u),uT.set(0,0),V0.set(1,0),lT.set(1,1);let f=t.ray.intersectTriangle(Zh,Pc,Jh,!1,Cc);if(f===null&&(jh(Pc.set(-.5,.5,0),el,c,tl,s,u),V0.set(0,1),f=t.ray.intersectTriangle(Zh,Jh,Pc,!1,Cc),f===null))return;let p=t.ray.origin.distanceTo(Cc);p<t.near||p>t.far||e.push({distance:p,point:Cc.clone(),uv:Wa.getInterpolation(Cc,Zh,Pc,Jh,uT,V0,lT,new Ht),face:null,object:this})}copy(t,e){return super.copy(t,e),t.center!==void 0&&this.center.copy(t.center),this.material=t.material,this}};Sy.Dispose=function(){Qs.dispose(),Qs=void 0};function jh(n,t,e,i,s,u){nl.subVectors(n,e).addScalar(.5).multiply(i),s!==void 0?(Ic.x=u*nl.x-s*nl.y,Ic.y=s*nl.x+u*nl.y):Ic.copy(nl),n.copy(t),n.x+=Ic.x,n.y+=Ic.y,n.applyMatrix4(DT)}var io=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){let i=this.getUtoTmapping(t);return this.getPoint(i,e)}getPoints(t=5){let e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return e}getSpacedPoints(t=5){let e=[];for(let i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e}getLength(){let t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let e=[],i,s=this.getPoint(0),u=0;e.push(0);for(let c=1;c<=t;c++)i=this.getPoint(c/t),u+=i.distanceTo(s),e.push(u),s=i;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){let i=this.getLengths(),s=0,u=i.length,c;e?c=e:c=t*i[u-1];let f=0,p=u-1,d;for(;f<=p;)if(s=Math.floor(f+(p-f)/2),d=i[s]-c,d<0)f=s+1;else if(d>0)p=s-1;else{p=s;break}if(s=p,i[s]===c)return s/(u-1);let m=i[s],v=i[s+1]-m,E=(c-m)/v;return(s+E)/(u-1)}getTangent(t,e){let s=t-1e-4,u=t+1e-4;s<0&&(s=0),u>1&&(u=1);let c=this.getPoint(s),f=this.getPoint(u),p=e||(c.isVector2?new Ht:new at);return p.copy(f).sub(c).normalize(),p}getTangentAt(t,e){let i=this.getUtoTmapping(t);return this.getTangent(i,e)}computeFrenetFrames(t,e){let i=new at,s=[],u=[],c=[],f=new at,p=new ir;for(let E=0;E<=t;E++){let M=E/t;s[E]=this.getTangentAt(M,new at)}u[0]=new at,c[0]=new at;let d=Number.MAX_VALUE,m=Math.abs(s[0].x),y=Math.abs(s[0].y),v=Math.abs(s[0].z);m<=d&&(d=m,i.set(1,0,0)),y<=d&&(d=y,i.set(0,1,0)),v<=d&&i.set(0,0,1),f.crossVectors(s[0],i).normalize(),u[0].crossVectors(s[0],f),c[0].crossVectors(s[0],u[0]);for(let E=1;E<=t;E++){if(u[E]=u[E-1].clone(),c[E]=c[E-1].clone(),f.crossVectors(s[E-1],s[E]),f.length()>Number.EPSILON){f.normalize();let M=Math.acos(ii(s[E-1].dot(s[E]),-1,1));u[E].applyMatrix4(p.makeRotationAxis(f,M))}c[E].crossVectors(s[E],u[E])}if(e===!0){let E=Math.acos(ii(u[0].dot(u[t]),-1,1));E/=t,s[0].dot(f.crossVectors(u[0],u[t]))>0&&(E=-E);for(let M=1;M<=t;M++)u[M].applyMatrix4(p.makeRotationAxis(s[M],E*M)),c[M].crossVectors(s[M],u[M])}return{tangents:s,normals:u,binormals:c}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){let t={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}},Bc=class extends io{constructor(t=0,e=0,i=1,s=1,u=0,c=Math.PI*2,f=!1,p=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=i,this.yRadius=s,this.aStartAngle=u,this.aEndAngle=c,this.aClockwise=f,this.aRotation=p}getPoint(t,e=new Ht){let i=e,s=Math.PI*2,u=this.aEndAngle-this.aStartAngle,c=Math.abs(u)<Number.EPSILON;for(;u<0;)u+=s;for(;u>s;)u-=s;u<Number.EPSILON&&(c?u=0:u=s),this.aClockwise===!0&&!c&&(u===s?u=-s:u=u-s);let f=this.aStartAngle+t*u,p=this.aX+this.xRadius*Math.cos(f),d=this.aY+this.yRadius*Math.sin(f);if(this.aRotation!==0){let m=Math.cos(this.aRotation),y=Math.sin(this.aRotation),v=p-this.aX,E=d-this.aY;p=v*m-E*y+this.aX,d=v*y+E*m+this.aY}return i.set(p,d)}copy(t){return super.copy(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}toJSON(){let t=super.toJSON();return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t}fromJSON(t){return super.fromJSON(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}},My=class extends Bc{constructor(t,e,i,s,u,c){super(t,e,i,i,s,u,c),this.isArcCurve=!0,this.type="ArcCurve"}};function Yy(){let n=0,t=0,e=0,i=0;function s(u,c,f,p){n=u,t=f,e=-3*u+3*c-2*f-p,i=2*u-2*c+f+p}return{initCatmullRom:function(u,c,f,p,d){s(c,f,d*(f-u),d*(p-c))},initNonuniformCatmullRom:function(u,c,f,p,d,m,y){let v=(c-u)/d-(f-u)/(d+m)+(f-c)/m,E=(f-c)/m-(p-c)/(m+y)+(p-f)/y;v*=m,E*=m,s(c,f,v,E)},calc:function(u){let c=u*u,f=c*u;return n+t*u+e*c+i*f}}}var Kh=new at,H0=new Yy,W0=new Yy,X0=new Yy,by=class extends io{constructor(t=[],e=!1,i="centripetal",s=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=t,this.closed=e,this.curveType=i,this.tension=s}getPoint(t,e=new at){let i=e,s=this.points,u=s.length,c=(u-(this.closed?0:1))*t,f=Math.floor(c),p=c-f;this.closed?f+=f>0?0:(Math.floor(Math.abs(f)/u)+1)*u:p===0&&f===u-1&&(f=u-2,p=1);let d,m;this.closed||f>0?d=s[(f-1)%u]:(Kh.subVectors(s[0],s[1]).add(s[0]),d=Kh);let y=s[f%u],v=s[(f+1)%u];if(this.closed||f+2<u?m=s[(f+2)%u]:(Kh.subVectors(s[u-1],s[u-2]).add(s[u-1]),m=Kh),this.curveType==="centripetal"||this.curveType==="chordal"){let E=this.curveType==="chordal"?.5:.25,M=Math.pow(d.distanceToSquared(y),E),A=Math.pow(y.distanceToSquared(v),E),_=Math.pow(v.distanceToSquared(m),E);A<1e-4&&(A=1),M<1e-4&&(M=A),_<1e-4&&(_=A),H0.initNonuniformCatmullRom(d.x,y.x,v.x,m.x,M,A,_),W0.initNonuniformCatmullRom(d.y,y.y,v.y,m.y,M,A,_),X0.initNonuniformCatmullRom(d.z,y.z,v.z,m.z,M,A,_)}else this.curveType==="catmullrom"&&(H0.initCatmullRom(d.x,y.x,v.x,m.x,this.tension),W0.initCatmullRom(d.y,y.y,v.y,m.y,this.tension),X0.initCatmullRom(d.z,y.z,v.z,m.z,this.tension));return i.set(H0.calc(p),W0.calc(p),X0.calc(p)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(s.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}toJSON(){let t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){let s=this.points[e];t.points.push(s.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(new at().fromArray(s))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}};function cT(n,t,e,i,s){let u=(i-t)*.5,c=(s-e)*.5,f=n*n,p=n*f;return(2*e-2*i+u+c)*p+(-3*e+3*i-2*u-c)*f+u*n+e}function w6(n,t){let e=1-n;return e*e*t}function S6(n,t){return 2*(1-n)*n*t}function M6(n,t){return n*n*t}function Lc(n,t,e,i){return w6(n,t)+S6(n,e)+M6(n,i)}function b6(n,t){let e=1-n;return e*e*e*t}function A6(n,t){let e=1-n;return 3*e*e*n*t}function T6(n,t){return 3*(1-n)*n*n*t}function C6(n,t){return n*n*n*t}function Nc(n,t,e,i,s){return b6(n,t)+A6(n,e)+T6(n,i)+C6(n,s)}var Mp=class extends io{constructor(t=new Ht,e=new Ht,i=new Ht,s=new Ht){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=t,this.v1=e,this.v2=i,this.v3=s}getPoint(t,e=new Ht){let i=e,s=this.v0,u=this.v1,c=this.v2,f=this.v3;return i.set(Nc(t,s.x,u.x,c.x,f.x),Nc(t,s.y,u.y,c.y,f.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}},Ay=class extends io{constructor(t=new at,e=new at,i=new at,s=new at){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=t,this.v1=e,this.v2=i,this.v3=s}getPoint(t,e=new at){let i=e,s=this.v0,u=this.v1,c=this.v2,f=this.v3;return i.set(Nc(t,s.x,u.x,c.x,f.x),Nc(t,s.y,u.y,c.y,f.y),Nc(t,s.z,u.z,c.z,f.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}},bp=class extends io{constructor(t=new Ht,e=new Ht){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=t,this.v2=e}getPoint(t,e=new Ht){let i=e;return t===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new Ht){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},Ty=class extends io{constructor(t=new at,e=new at){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=t,this.v2=e}getPoint(t,e=new at){let i=e;return t===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new at){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},Ap=class extends io{constructor(t=new Ht,e=new Ht,i=new Ht){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new Ht){let i=e,s=this.v0,u=this.v1,c=this.v2;return i.set(Lc(t,s.x,u.x,c.x),Lc(t,s.y,u.y,c.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},Cy=class extends io{constructor(t=new at,e=new at,i=new at){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new at){let i=e,s=this.v0,u=this.v1,c=this.v2;return i.set(Lc(t,s.x,u.x,c.x),Lc(t,s.y,u.y,c.y),Lc(t,s.z,u.z,c.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},Tp=class extends io{constructor(t=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=t}getPoint(t,e=new Ht){let i=e,s=this.points,u=(s.length-1)*t,c=Math.floor(u),f=u-c,p=s[c===0?c:c-1],d=s[c],m=s[c>s.length-2?s.length-1:c+1],y=s[c>s.length-3?s.length-1:c+2];return i.set(cT(f,p.x,d.x,m.x,y.x),cT(f,p.y,d.y,m.y,y.y)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(s.clone())}return this}toJSON(){let t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){let s=this.points[e];t.points.push(s.toArray())}return t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(new Ht().fromArray(s))}return this}},Iy=Object.freeze({__proto__:null,ArcCurve:My,CatmullRomCurve3:by,CubicBezierCurve:Mp,CubicBezierCurve3:Ay,EllipseCurve:Bc,LineCurve:bp,LineCurve3:Ty,QuadraticBezierCurve:Ap,QuadraticBezierCurve3:Cy,SplineCurve:Tp}),Py=class extends io{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){let t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);if(!t.equals(e)){let i=t.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new Iy[i](e,t))}return this}getPoint(t,e){let i=t*this.getLength(),s=this.getCurveLengths(),u=0;for(;u<s.length;){if(s[u]>=i){let c=s[u]-i,f=this.curves[u],p=f.getLength(),d=p===0?0:1-c/p;return f.getPointAt(d,e)}u++}return null}getLength(){let t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let t=[],e=0;for(let i=0,s=this.curves.length;i<s;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t,t}getSpacedPoints(t=40){let e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e}getPoints(t=12){let e=[],i;for(let s=0,u=this.curves;s<u.length;s++){let c=u[s],f=c.isEllipseCurve?t*2:c.isLineCurve||c.isLineCurve3?1:c.isSplineCurve?t*c.points.length:t,p=c.getPoints(f);for(let d=0;d<p.length;d++){let m=p[d];i&&i.equals(m)||(e.push(m),i=m)}}return this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,i=t.curves.length;e<i;e++){let s=t.curves[e];this.curves.push(s.clone())}return this.autoClose=t.autoClose,this}toJSON(){let t=super.toJSON();t.autoClose=this.autoClose,t.curves=[];for(let e=0,i=this.curves.length;e<i;e++){let s=this.curves[e];t.curves.push(s.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.autoClose=t.autoClose,this.curves=[];for(let e=0,i=t.curves.length;e<i;e++){let s=t.curves[e];this.curves.push(new Iy[s.type]().fromJSON(s))}return this}},pl=class extends Py{constructor(t){super(),this.type="Path",this.currentPoint=new Ht,t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,i=t.length;e<i;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){return this.currentPoint.set(t,e),this}lineTo(t,e){let i=new bp(this.currentPoint.clone(),new Ht(t,e));return this.curves.push(i),this.currentPoint.set(t,e),this}quadraticCurveTo(t,e,i,s){let u=new Ap(this.currentPoint.clone(),new Ht(t,e),new Ht(i,s));return this.curves.push(u),this.currentPoint.set(i,s),this}bezierCurveTo(t,e,i,s,u,c){let f=new Mp(this.currentPoint.clone(),new Ht(t,e),new Ht(i,s),new Ht(u,c));return this.curves.push(f),this.currentPoint.set(u,c),this}splineThru(t){let e=[this.currentPoint.clone()].concat(t),i=new Tp(e);return this.curves.push(i),this.currentPoint.copy(t[t.length-1]),this}arc(t,e,i,s,u,c){let f=this.currentPoint.x,p=this.currentPoint.y;return this.absarc(t+f,e+p,i,s,u,c),this}absarc(t,e,i,s,u,c){return this.absellipse(t,e,i,i,s,u,c),this}ellipse(t,e,i,s,u,c,f,p){let d=this.currentPoint.x,m=this.currentPoint.y;return this.absellipse(t+d,e+m,i,s,u,c,f,p),this}absellipse(t,e,i,s,u,c,f,p){let d=new Bc(t,e,i,s,u,c,f,p);if(this.curves.length>0){let y=d.getPoint(0);y.equals(this.currentPoint)||this.lineTo(y.x,y.y)}this.curves.push(d);let m=d.getPoint(1);return this.currentPoint.copy(m),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){let t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}};var dl=class extends pl{constructor(t){super(t),this.uuid=As(),this.type="Shape",this.holes=[]}getPointsHoles(t){let e=[];for(let i=0,s=this.holes.length;i<s;i++)e[i]=this.holes[i].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t),this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){let s=t.holes[e];this.holes.push(s.clone())}return this}toJSON(){let t=super.toJSON();t.uuid=this.uuid,t.holes=[];for(let e=0,i=this.holes.length;e<i;e++){let s=this.holes[e];t.holes.push(s.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.uuid=t.uuid,this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){let s=t.holes[e];this.holes.push(new pl().fromJSON(s))}return this}},I6={triangulate:function(n,t,e=2){let i=t&&t.length,s=i?t[0]*e:n.length,u=FT(n,0,s,e,!0),c=[];if(!u||u.next===u.prev)return c;let f,p,d,m,y,v,E;if(i&&(u=O6(n,t,u,e)),n.length>80*e){f=d=n[0],p=m=n[1];for(let M=e;M<s;M+=e)y=n[M],v=n[M+1],y<f&&(f=y),v<p&&(p=v),y>d&&(d=y),v>m&&(m=v);E=Math.max(d-f,m-p),E=E!==0?32767/E:0}return zc(u,c,e,f,p,E,0),c}};function FT(n,t,e,i,s){let u,c;if(s===W6(n,t,e,i)>0)for(u=t;u<e;u+=i)c=fT(u,n[u],n[u+1],c);else for(u=e-i;u>=t;u-=i)c=fT(u,n[u],n[u+1],c);return c&&Rp(c,c.next)&&(kc(c),c=c.next),c}function Ka(n,t){if(!n)return n;t||(t=n);let e=n,i;do if(i=!1,!e.steiner&&(Rp(e,e.next)||Jn(e.prev,e,e.next)===0)){if(kc(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function zc(n,t,e,i,s,u,c){if(!n)return;!c&&u&&z6(n,i,s,u);let f=n,p,d;for(;n.prev!==n.next;){if(p=n.prev,d=n.next,u?R6(n,i,s,u):P6(n)){t.push(p.i/e|0),t.push(n.i/e|0),t.push(d.i/e|0),kc(n),n=d.next,f=d.next;continue}if(n=d,n===f){c?c===1?(n=L6(Ka(n),t,e),zc(n,t,e,i,s,u,2)):c===2&&N6(n,t,e,i,s,u):zc(Ka(n),t,e,i,s,u,1);break}}}function P6(n){let t=n.prev,e=n,i=n.next;if(Jn(t,e,i)>=0)return!1;let s=t.x,u=e.x,c=i.x,f=t.y,p=e.y,d=i.y,m=s<u?s<c?s:c:u<c?u:c,y=f<p?f<d?f:d:p<d?p:d,v=s>u?s>c?s:c:u>c?u:c,E=f>p?f>d?f:d:p>d?p:d,M=i.next;for(;M!==t;){if(M.x>=m&&M.x<=v&&M.y>=y&&M.y<=E&&ol(s,f,u,p,c,d,M.x,M.y)&&Jn(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function R6(n,t,e,i){let s=n.prev,u=n,c=n.next;if(Jn(s,u,c)>=0)return!1;let f=s.x,p=u.x,d=c.x,m=s.y,y=u.y,v=c.y,E=f<p?f<d?f:d:p<d?p:d,M=m<y?m<v?m:v:y<v?y:v,A=f>p?f>d?f:d:p>d?p:d,_=m>y?m>v?m:v:y>v?y:v,x=Ry(E,M,t,e,i),T=Ry(A,_,t,e,i),S=n.prevZ,R=n.nextZ;for(;S&&S.z>=x&&R&&R.z<=T;){if(S.x>=E&&S.x<=A&&S.y>=M&&S.y<=_&&S!==s&&S!==c&&ol(f,m,p,y,d,v,S.x,S.y)&&Jn(S.prev,S,S.next)>=0||(S=S.prevZ,R.x>=E&&R.x<=A&&R.y>=M&&R.y<=_&&R!==s&&R!==c&&ol(f,m,p,y,d,v,R.x,R.y)&&Jn(R.prev,R,R.next)>=0))return!1;R=R.nextZ}for(;S&&S.z>=x;){if(S.x>=E&&S.x<=A&&S.y>=M&&S.y<=_&&S!==s&&S!==c&&ol(f,m,p,y,d,v,S.x,S.y)&&Jn(S.prev,S,S.next)>=0)return!1;S=S.prevZ}for(;R&&R.z<=T;){if(R.x>=E&&R.x<=A&&R.y>=M&&R.y<=_&&R!==s&&R!==c&&ol(f,m,p,y,d,v,R.x,R.y)&&Jn(R.prev,R,R.next)>=0)return!1;R=R.nextZ}return!0}function L6(n,t,e){let i=n;do{let s=i.prev,u=i.next.next;!Rp(s,u)&&UT(s,i,i.next,u)&&Gc(s,u)&&Gc(u,s)&&(t.push(s.i/e|0),t.push(i.i/e|0),t.push(u.i/e|0),kc(i),kc(i.next),i=n=u),i=i.next}while(i!==n);return Ka(i)}function N6(n,t,e,i,s,u){let c=n;do{let f=c.next.next;for(;f!==c.prev;){if(c.i!==f.i&&q6(c,f)){let p=BT(c,f);c=Ka(c,c.next),p=Ka(p,p.next),zc(c,t,e,i,s,u,0),zc(p,t,e,i,s,u,0);return}f=f.next}c=c.next}while(c!==n)}function O6(n,t,e,i){let s=[],u,c,f,p,d;for(u=0,c=t.length;u<c;u++)f=t[u]*i,p=u<c-1?t[u+1]*i:n.length,d=FT(n,f,p,i,!1),d===d.next&&(d.steiner=!0),s.push(k6(d));for(s.sort(D6),u=0;u<s.length;u++)e=F6(s[u],e);return e}function D6(n,t){return n.x-t.x}function F6(n,t){let e=U6(n,t);if(!e)return t;let i=BT(e,n);return Ka(i,i.next),Ka(e,e.next)}function U6(n,t){let e=t,i=-1/0,s,u=n.x,c=n.y;do{if(c<=e.y&&c>=e.next.y&&e.next.y!==e.y){let v=e.x+(c-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(v<=u&&v>i&&(i=v,s=e.x<e.next.x?e:e.next,v===u))return s}e=e.next}while(e!==t);if(!s)return null;let f=s,p=s.x,d=s.y,m=1/0,y;e=s;do u>=e.x&&e.x>=p&&u!==e.x&&ol(c<d?u:i,c,p,d,c<d?i:u,c,e.x,e.y)&&(y=Math.abs(c-e.y)/(u-e.x),Gc(e,n)&&(y<m||y===m&&(e.x>s.x||e.x===s.x&&B6(s,e)))&&(s=e,m=y)),e=e.next;while(e!==f);return s}function B6(n,t){return Jn(n.prev,n,t.prev)<0&&Jn(t.next,n,n.next)<0}function z6(n,t,e,i){let s=n;do s.z===0&&(s.z=Ry(s.x,s.y,t,e,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==n);s.prevZ.nextZ=null,s.prevZ=null,G6(s)}function G6(n){let t,e,i,s,u,c,f,p,d=1;do{for(e=n,n=null,u=null,c=0;e;){for(c++,i=e,f=0,t=0;t<d&&(f++,i=i.nextZ,!!i);t++);for(p=d;f>0||p>0&&i;)f!==0&&(p===0||!i||e.z<=i.z)?(s=e,e=e.nextZ,f--):(s=i,i=i.nextZ,p--),u?u.nextZ=s:n=s,s.prevZ=u,u=s;e=i}u.nextZ=null,d*=2}while(c>1);return n}function Ry(n,t,e,i,s){return n=(n-e)*s|0,t=(t-i)*s|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n|t<<1}function k6(n){let t=n,e=n;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==n);return e}function ol(n,t,e,i,s,u,c,f){return(s-c)*(t-f)>=(n-c)*(u-f)&&(n-c)*(i-f)>=(e-c)*(t-f)&&(e-c)*(u-f)>=(s-c)*(i-f)}function q6(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!V6(n,t)&&(Gc(n,t)&&Gc(t,n)&&H6(n,t)&&(Jn(n.prev,n,t.prev)||Jn(n,t.prev,t))||Rp(n,t)&&Jn(n.prev,n,n.next)>0&&Jn(t.prev,t,t.next)>0)}function Jn(n,t,e){return(t.y-n.y)*(e.x-t.x)-(t.x-n.x)*(e.y-t.y)}function Rp(n,t){return n.x===t.x&&n.y===t.y}function UT(n,t,e,i){let s=tp(Jn(n,t,e)),u=tp(Jn(n,t,i)),c=tp(Jn(e,i,n)),f=tp(Jn(e,i,t));return!!(s!==u&&c!==f||s===0&&Qh(n,e,t)||u===0&&Qh(n,i,t)||c===0&&Qh(e,n,i)||f===0&&Qh(e,t,i))}function Qh(n,t,e){return t.x<=Math.max(n.x,e.x)&&t.x>=Math.min(n.x,e.x)&&t.y<=Math.max(n.y,e.y)&&t.y>=Math.min(n.y,e.y)}function tp(n){return n>0?1:n<0?-1:0}function V6(n,t){let e=n;do{if(e.i!==n.i&&e.next.i!==n.i&&e.i!==t.i&&e.next.i!==t.i&&UT(e,e.next,n,t))return!0;e=e.next}while(e!==n);return!1}function Gc(n,t){return Jn(n.prev,n,n.next)<0?Jn(n,t,n.next)>=0&&Jn(n,n.prev,t)>=0:Jn(n,t,n.prev)<0||Jn(n,n.next,t)<0}function H6(n,t){let e=n,i=!1,s=(n.x+t.x)/2,u=(n.y+t.y)/2;do e.y>u!=e.next.y>u&&e.next.y!==e.y&&s<(e.next.x-e.x)*(u-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==n);return i}function BT(n,t){let e=new Ly(n.i,n.x,n.y),i=new Ly(t.i,t.x,t.y),s=n.next,u=t.prev;return n.next=t,t.prev=n,e.next=s,s.prev=e,i.next=e,e.prev=i,u.next=i,i.prev=u,i}function fT(n,t,e,i){let s=new Ly(n,t,e);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function kc(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function Ly(n,t,e){this.i=n,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function W6(n,t,e,i){let s=0;for(let u=t,c=e-i;u<e;u+=i)s+=(n[c]-n[u])*(n[u+1]+n[c+1]),c=u;return s}var oa=class n{static area(t){let e=t.length,i=0;for(let s=e-1,u=0;u<e;s=u++)i+=t[s].x*t[u].y-t[u].x*t[s].y;return i*.5}static isClockWise(t){return n.area(t)<0}static triangulateShape(t,e){let i=[],s=[],u=[];hT(t),pT(i,t);let c=t.length;e.forEach(hT);for(let p=0;p<e.length;p++)s.push(c),c+=e[p].length,pT(i,e[p]);let f=I6.triangulate(i,s);for(let p=0;p<f.length;p+=3)u.push(f.slice(p,p+3));return u}};function hT(n){let t=n.length;t>2&&n[t-1].equals(n[0])&&n.pop()}function pT(n,t){for(let e=0;e<t.length;e++)n.push(t[e].x),n.push(t[e].y)}var ml=class n extends Ri{constructor(t=new dl([new Ht(.5,.5),new Ht(-.5,.5),new Ht(-.5,-.5),new Ht(.5,-.5)]),e={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];let i=this,s=[],u=[];for(let f=0,p=t.length;f<p;f++){let d=t[f];c(d)}this.setAttribute("position",new Wr(s,3)),this.setAttribute("uv",new Wr(u,2)),this.computeVertexNormals();function c(f){let p=[],d=e.curveSegments!==void 0?e.curveSegments:12,m=e.steps!==void 0?e.steps:1,y=e.depth!==void 0?e.depth:1,v=e.bevelEnabled!==void 0?e.bevelEnabled:!0,E=e.bevelThickness!==void 0?e.bevelThickness:.2,M=e.bevelSize!==void 0?e.bevelSize:E-.1,A=e.bevelOffset!==void 0?e.bevelOffset:0,_=e.bevelSegments!==void 0?e.bevelSegments:3,x=e.extrudePath,T=e.UVGenerator!==void 0?e.UVGenerator:X6,S,R=!1,z,U,D,P;x&&(S=x.getSpacedPoints(m),R=!0,v=!1,z=x.computeFrenetFrames(m,!1),U=new at,D=new at,P=new at),v||(_=0,E=0,M=0,A=0);let ct=f.extractPoints(d),L=ct.shape,W=ct.holes;if(!oa.isClockWise(L)){L=L.reverse();for(let $=0,Ot=W.length;$<Ot;$++){let _t=W[$];oa.isClockWise(_t)&&(W[$]=_t.reverse())}}let Mt=oa.triangulateShape(L,W),Y=L;for(let $=0,Ot=W.length;$<Ot;$++){let _t=W[$];L=L.concat(_t)}function mt($,Ot,_t){return Ot||console.error("THREE.ExtrudeGeometry: vec does not exist"),$.clone().addScaledVector(Ot,_t)}let ft=L.length,vt=Mt.length;function it($,Ot,_t){let Nt,St,Vt,Xt=$.x-Ot.x,Pt=$.y-Ot.y,ee=_t.x-$.x,X=_t.y-$.y,N=Xt*Xt+Pt*Pt,xt=Xt*X-Pt*ee;if(Math.abs(xt)>Number.EPSILON){let wt=Math.sqrt(N),ot=Math.sqrt(ee*ee+X*X),Lt=Ot.x-Pt/wt,ce=Ot.y+Xt/wt,Rt=_t.x-X/ot,Ut=_t.y+ee/ot,Wt=((Rt-Lt)*X-(Ut-ce)*ee)/(Xt*X-Pt*ee);Nt=Lt+Xt*Wt-$.x,St=ce+Pt*Wt-$.y;let j=Nt*Nt+St*St;if(j<=2)return new Ht(Nt,St);Vt=Math.sqrt(j/2)}else{let wt=!1;Xt>Number.EPSILON?ee>Number.EPSILON&&(wt=!0):Xt<-Number.EPSILON?ee<-Number.EPSILON&&(wt=!0):Math.sign(Pt)===Math.sign(X)&&(wt=!0),wt?(Nt=-Pt,St=Xt,Vt=Math.sqrt(N)):(Nt=Xt,St=Pt,Vt=Math.sqrt(N/2))}return new Ht(Nt/Vt,St/Vt)}let lt=[];for(let $=0,Ot=Y.length,_t=Ot-1,Nt=$+1;$<Ot;$++,_t++,Nt++)_t===Ot&&(_t=0),Nt===Ot&&(Nt=0),lt[$]=it(Y[$],Y[_t],Y[Nt]);let H=[],At,It=lt.concat();for(let $=0,Ot=W.length;$<Ot;$++){let _t=W[$];At=[];for(let Nt=0,St=_t.length,Vt=St-1,Xt=Nt+1;Nt<St;Nt++,Vt++,Xt++)Vt===St&&(Vt=0),Xt===St&&(Xt=0),At[Nt]=it(_t[Nt],_t[Vt],_t[Xt]);H.push(At),It=It.concat(At)}for(let $=0;$<_;$++){let Ot=$/_,_t=E*Math.cos(Ot*Math.PI/2),Nt=M*Math.sin(Ot*Math.PI/2)+A;for(let St=0,Vt=Y.length;St<Vt;St++){let Xt=mt(Y[St],lt[St],Nt);$t(Xt.x,Xt.y,-_t)}for(let St=0,Vt=W.length;St<Vt;St++){let Xt=W[St];At=H[St];for(let Pt=0,ee=Xt.length;Pt<ee;Pt++){let X=mt(Xt[Pt],At[Pt],Nt);$t(X.x,X.y,-_t)}}}let jt=M+A;for(let $=0;$<ft;$++){let Ot=v?mt(L[$],It[$],jt):L[$];R?(D.copy(z.normals[0]).multiplyScalar(Ot.x),U.copy(z.binormals[0]).multiplyScalar(Ot.y),P.copy(S[0]).add(D).add(U),$t(P.x,P.y,P.z)):$t(Ot.x,Ot.y,0)}for(let $=1;$<=m;$++)for(let Ot=0;Ot<ft;Ot++){let _t=v?mt(L[Ot],It[Ot],jt):L[Ot];R?(D.copy(z.normals[$]).multiplyScalar(_t.x),U.copy(z.binormals[$]).multiplyScalar(_t.y),P.copy(S[$]).add(D).add(U),$t(P.x,P.y,P.z)):$t(_t.x,_t.y,y/m*$)}for(let $=_-1;$>=0;$--){let Ot=$/_,_t=E*Math.cos(Ot*Math.PI/2),Nt=M*Math.sin(Ot*Math.PI/2)+A;for(let St=0,Vt=Y.length;St<Vt;St++){let Xt=mt(Y[St],lt[St],Nt);$t(Xt.x,Xt.y,y+_t)}for(let St=0,Vt=W.length;St<Vt;St++){let Xt=W[St];At=H[St];for(let Pt=0,ee=Xt.length;Pt<ee;Pt++){let X=mt(Xt[Pt],At[Pt],Nt);R?$t(X.x,X.y+S[m-1].y,S[m-1].x+_t):$t(X.x,X.y,y+_t)}}}nt(),bt();function nt(){let $=s.length/3;if(v){let Ot=0,_t=ft*Ot;for(let Nt=0;Nt<vt;Nt++){let St=Mt[Nt];Ft(St[2]+_t,St[1]+_t,St[0]+_t)}Ot=m+_*2,_t=ft*Ot;for(let Nt=0;Nt<vt;Nt++){let St=Mt[Nt];Ft(St[0]+_t,St[1]+_t,St[2]+_t)}}else{for(let Ot=0;Ot<vt;Ot++){let _t=Mt[Ot];Ft(_t[2],_t[1],_t[0])}for(let Ot=0;Ot<vt;Ot++){let _t=Mt[Ot];Ft(_t[0]+ft*m,_t[1]+ft*m,_t[2]+ft*m)}}i.addGroup($,s.length/3-$,0)}function bt(){let $=s.length/3,Ot=0;qt(Y,Ot),Ot+=Y.length;for(let _t=0,Nt=W.length;_t<Nt;_t++){let St=W[_t];qt(St,Ot),Ot+=St.length}i.addGroup($,s.length/3-$,1)}function qt($,Ot){let _t=$.length;for(;--_t>=0;){let Nt=_t,St=_t-1;St<0&&(St=$.length-1);for(let Vt=0,Xt=m+_*2;Vt<Xt;Vt++){let Pt=ft*Vt,ee=ft*(Vt+1),X=Ot+Nt+Pt,N=Ot+St+Pt,xt=Ot+St+ee,wt=Ot+Nt+ee;zt(X,N,xt,wt)}}}function $t($,Ot,_t){p.push($),p.push(Ot),p.push(_t)}function Ft($,Ot,_t){Ct($),Ct(Ot),Ct(_t);let Nt=s.length/3,St=T.generateTopUV(i,s,Nt-3,Nt-2,Nt-1);te(St[0]),te(St[1]),te(St[2])}function zt($,Ot,_t,Nt){Ct($),Ct(Ot),Ct(Nt),Ct(Ot),Ct(_t),Ct(Nt);let St=s.length/3,Vt=T.generateSideWallUV(i,s,St-6,St-3,St-2,St-1);te(Vt[0]),te(Vt[1]),te(Vt[3]),te(Vt[1]),te(Vt[2]),te(Vt[3])}function Ct($){s.push(p[$*3+0]),s.push(p[$*3+1]),s.push(p[$*3+2])}function te($){u.push($.x),u.push($.y)}}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){let t=super.toJSON(),e=this.parameters.shapes,i=this.parameters.options;return Y6(e,i,t)}static fromJSON(t,e){let i=[];for(let u=0,c=t.shapes.length;u<c;u++){let f=e[t.shapes[u]];i.push(f)}let s=t.options.extrudePath;return s!==void 0&&(t.options.extrudePath=new Iy[s.type]().fromJSON(s)),new n(i,t.options)}},X6={generateTopUV:function(n,t,e,i,s){let u=t[e*3],c=t[e*3+1],f=t[i*3],p=t[i*3+1],d=t[s*3],m=t[s*3+1];return[new Ht(u,c),new Ht(f,p),new Ht(d,m)]},generateSideWallUV:function(n,t,e,i,s,u){let c=t[e*3],f=t[e*3+1],p=t[e*3+2],d=t[i*3],m=t[i*3+1],y=t[i*3+2],v=t[s*3],E=t[s*3+1],M=t[s*3+2],A=t[u*3],_=t[u*3+1],x=t[u*3+2];return Math.abs(f-m)<Math.abs(c-d)?[new Ht(c,1-p),new Ht(d,1-y),new Ht(v,1-M),new Ht(A,1-x)]:[new Ht(f,1-p),new Ht(m,1-y),new Ht(E,1-M),new Ht(_,1-x)]}};function Y6(n,t,e){if(e.shapes=[],Array.isArray(n))for(let i=0,s=n.length;i<s;i++){let u=n[i];e.shapes.push(u.uuid)}else e.shapes.push(n.uuid);return e.options=Object.assign({},t),t.extrudePath!==void 0&&(e.options.extrudePath=t.extrudePath.toJSON()),e}var qc=class n extends Ri{constructor(t=new dl([new Ht(0,.5),new Ht(-.5,-.5),new Ht(.5,-.5)]),e=12){super(),this.type="ShapeGeometry",this.parameters={shapes:t,curveSegments:e};let i=[],s=[],u=[],c=[],f=0,p=0;if(Array.isArray(t)===!1)d(t);else for(let m=0;m<t.length;m++)d(t[m]),this.addGroup(f,p,m),f+=p,p=0;this.setIndex(i),this.setAttribute("position",new Wr(s,3)),this.setAttribute("normal",new Wr(u,3)),this.setAttribute("uv",new Wr(c,2));function d(m){let y=s.length/3,v=m.extractPoints(e),E=v.shape,M=v.holes;oa.isClockWise(E)===!1&&(E=E.reverse());for(let _=0,x=M.length;_<x;_++){let T=M[_];oa.isClockWise(T)===!0&&(M[_]=T.reverse())}let A=oa.triangulateShape(E,M);for(let _=0,x=M.length;_<x;_++){let T=M[_];E=E.concat(T)}for(let _=0,x=E.length;_<x;_++){let T=E[_];s.push(T.x,T.y,0),u.push(0,0,1),c.push(T.x,T.y)}for(let _=0,x=A.length;_<x;_++){let T=A[_],S=T[0]+y,R=T[1]+y,z=T[2]+y;i.push(S,R,z),p+=3}}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){let t=super.toJSON(),e=this.parameters.shapes;return $6(e,t)}static fromJSON(t,e){let i=[];for(let s=0,u=t.shapes.length;s<u;s++){let c=e[t.shapes[s]];i.push(c)}return new n(i,t.curveSegments)}};function $6(n,t){if(t.shapes=[],Array.isArray(n))for(let e=0,i=n.length;e<i;e++){let s=n[e];t.shapes.push(s.uuid)}else t.shapes.push(n.uuid);return t}function ep(n,t,e){return!n||!e&&n.constructor===t?n:typeof t.BYTES_PER_ELEMENT=="number"?new t(n):Array.prototype.slice.call(n)}function Z6(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}var gl=class{constructor(t,e,i,s){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=s!==void 0?s:new e.constructor(i),this.sampleValues=e,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(t){let e=this.parameterPositions,i=this._cachedIndex,s=e[i],u=e[i-1];n:{t:{let c;e:{r:if(!(t<s)){for(let f=i+2;;){if(s===void 0){if(t<u)break r;return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===f)break;if(u=s,s=e[++i],t<s)break t}c=e.length;break e}if(!(t>=u)){let f=e[1];t<f&&(i=2,u=f);for(let p=i-2;;){if(u===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===p)break;if(s=u,u=e[--i-1],t>=u)break t}c=i,i=0;break e}break n}for(;i<c;){let f=i+c>>>1;t<e[f]?c=f:i=f+1}if(s=e[i],u=e[i-1],u===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(s===void 0)return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,u,s)}return this.interpolate_(i,u,t,s)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){let e=this.resultBuffer,i=this.sampleValues,s=this.valueSize,u=t*s;for(let c=0;c!==s;++c)e[c]=i[u+c];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},Ny=class extends gl{constructor(t,e,i,s){super(t,e,i,s),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:yA,endingEnd:yA}}intervalChanged_(t,e,i){let s=this.parameterPositions,u=t-2,c=t+1,f=s[u],p=s[c];if(f===void 0)switch(this.getSettings_().endingStart){case vA:u=t,f=2*e-i;break;case _A:u=s.length-2,f=e+s[u]-s[u+1];break;default:u=t,f=i}if(p===void 0)switch(this.getSettings_().endingEnd){case vA:c=t,p=2*i-e;break;case _A:c=1,p=i+s[1]-s[0];break;default:c=t-1,p=e}let d=(i-e)*.5,m=this.valueSize;this._weightPrev=d/(e-f),this._weightNext=d/(p-i),this._offsetPrev=u*m,this._offsetNext=c*m}interpolate_(t,e,i,s){let u=this.resultBuffer,c=this.sampleValues,f=this.valueSize,p=t*f,d=p-f,m=this._offsetPrev,y=this._offsetNext,v=this._weightPrev,E=this._weightNext,M=(i-e)/(s-e),A=M*M,_=A*M,x=-v*_+2*v*A-v*M,T=(1+v)*_+(-1.5-2*v)*A+(-.5+v)*M+1,S=(-1-E)*_+(1.5+E)*A+.5*M,R=E*_-E*A;for(let z=0;z!==f;++z)u[z]=x*c[m+z]+T*c[d+z]+S*c[p+z]+R*c[y+z];return u}},Oy=class extends gl{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t,e,i,s){let u=this.resultBuffer,c=this.sampleValues,f=this.valueSize,p=t*f,d=p-f,m=(i-e)/(s-e),y=1-m;for(let v=0;v!==f;++v)u[v]=c[d+v]*y+c[p+v]*m;return u}},Dy=class extends gl{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t){return this.copySampleValue_(t-1)}},Io=class{constructor(t,e,i,s){if(t===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(e===void 0||e.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=ep(e,this.TimeBufferType),this.values=ep(i,this.ValueBufferType),this.setInterpolation(s||this.DefaultInterpolation)}static toJSON(t){let e=t.constructor,i;if(e.toJSON!==this.toJSON)i=e.toJSON(t);else{i={name:t.name,times:ep(t.times,Array),values:ep(t.values,Array)};let s=t.getInterpolation();s!==t.DefaultInterpolation&&(i.interpolation=s)}return i.type=t.ValueTypeName,i}InterpolantFactoryMethodDiscrete(t){return new Dy(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new Oy(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new Ny(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case rp:e=this.InterpolantFactoryMethodDiscrete;break;case ip:e=this.InterpolantFactoryMethodLinear;break;case g0:e=this.InterpolantFactoryMethodSmooth;break}if(e===void 0){let i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return rp;case this.InterpolantFactoryMethodLinear:return ip;case this.InterpolantFactoryMethodSmooth:return g0}}getValueSize(){return this.values.length/this.times.length}shift(t){if(t!==0){let e=this.times;for(let i=0,s=e.length;i!==s;++i)e[i]+=t}return this}scale(t){if(t!==1){let e=this.times;for(let i=0,s=e.length;i!==s;++i)e[i]*=t}return this}trim(t,e){let i=this.times,s=i.length,u=0,c=s-1;for(;u!==s&&i[u]<t;)++u;for(;c!==-1&&i[c]>e;)--c;if(++c,u!==0||c!==s){u>=c&&(c=Math.max(c,1),u=c-1);let f=this.getValueSize();this.times=i.slice(u,c),this.values=this.values.slice(u*f,c*f)}return this}validate(){let t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);let i=this.times,s=this.values,u=i.length;u===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let c=null;for(let f=0;f!==u;f++){let p=i[f];if(typeof p=="number"&&isNaN(p)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,f,p),t=!1;break}if(c!==null&&c>p){console.error("THREE.KeyframeTrack: Out of order keys.",this,f,p,c),t=!1;break}c=p}if(s!==void 0&&Z6(s))for(let f=0,p=s.length;f!==p;++f){let d=s[f];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,f,d),t=!1;break}}return t}optimize(){let t=this.times.slice(),e=this.values.slice(),i=this.getValueSize(),s=this.getInterpolation()===g0,u=t.length-1,c=1;for(let f=1;f<u;++f){let p=!1,d=t[f],m=t[f+1];if(d!==m&&(f!==1||d!==t[0]))if(s)p=!0;else{let y=f*i,v=y-i,E=y+i;for(let M=0;M!==i;++M){let A=e[y+M];if(A!==e[v+M]||A!==e[E+M]){p=!0;break}}}if(p){if(f!==c){t[c]=t[f];let y=f*i,v=c*i;for(let E=0;E!==i;++E)e[v+E]=e[y+E]}++c}}if(u>0){t[c]=t[u];for(let f=u*i,p=c*i,d=0;d!==i;++d)e[p+d]=e[f+d];++c}return c!==t.length?(this.times=t.slice(0,c),this.values=e.slice(0,c*i)):(this.times=t,this.values=e),this}clone(){let t=this.times.slice(),e=this.values.slice(),i=this.constructor,s=new i(this.name,t,e);return s.createInterpolant=this.createInterpolant,s}};Io.prototype.TimeBufferType=Float32Array;Io.prototype.ValueBufferType=Float32Array;Io.prototype.DefaultInterpolation=ip;var Qa=class extends Io{};Qa.prototype.ValueTypeName="bool";Qa.prototype.ValueBufferType=Array;Qa.prototype.DefaultInterpolation=rp;Qa.prototype.InterpolantFactoryMethodLinear=void 0;Qa.prototype.InterpolantFactoryMethodSmooth=void 0;var Fy=class extends Io{};Fy.prototype.ValueTypeName="color";var Uy=class extends Io{};Uy.prototype.ValueTypeName="number";var By=class extends gl{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t,e,i,s){let u=this.resultBuffer,c=this.sampleValues,f=this.valueSize,p=(i-e)/(s-e),d=t*f;for(let m=d+f;d!==m;d+=4)Cs.slerpFlat(u,0,c,d-f,c,d,p);return u}},Vc=class extends Io{InterpolantFactoryMethodLinear(t){return new By(this.times,this.values,this.getValueSize(),t)}};Vc.prototype.ValueTypeName="quaternion";Vc.prototype.DefaultInterpolation=ip;Vc.prototype.InterpolantFactoryMethodSmooth=void 0;var tu=class extends Io{};tu.prototype.ValueTypeName="string";tu.prototype.ValueBufferType=Array;tu.prototype.DefaultInterpolation=rp;tu.prototype.InterpolantFactoryMethodLinear=void 0;tu.prototype.InterpolantFactoryMethodSmooth=void 0;var zy=class extends Io{};zy.prototype.ValueTypeName="vector";var Gy=class{constructor(t,e,i){let s=this,u=!1,c=0,f=0,p,d=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=i,this.itemStart=function(m){f++,u===!1&&s.onStart!==void 0&&s.onStart(m,c,f),u=!0},this.itemEnd=function(m){c++,s.onProgress!==void 0&&s.onProgress(m,c,f),c===f&&(u=!1,s.onLoad!==void 0&&s.onLoad())},this.itemError=function(m){s.onError!==void 0&&s.onError(m)},this.resolveURL=function(m){return p?p(m):m},this.setURLModifier=function(m){return p=m,this},this.addHandler=function(m,y){return d.push(m,y),this},this.removeHandler=function(m){let y=d.indexOf(m);return y!==-1&&d.splice(y,2),this},this.getHandler=function(m){for(let y=0,v=d.length;y<v;y+=2){let E=d[y],M=d[y+1];if(E.global&&(E.lastIndex=0),E.test(m))return M}return null}}},J6=new Gy,ky=class{constructor(t){this.manager=t!==void 0?t:J6,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){let i=this;return new Promise(function(s,u){i.load(t,s,e,u)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}};ky.DEFAULT_MATERIAL_NAME="__DEFAULT";var $y="\\\\[\\\\]\\\\.:\\\\/",j6=new RegExp("["+$y+"]","g"),Zy="[^"+$y+"]",K6="[^"+$y.replace("\\\\.","")+"]",Q6=/((?:WC+[\\/:])*)/.source.replace("WC",Zy),t8=/(WCOD+)?/.source.replace("WCOD",K6),e8=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace("WC",Zy),n8=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace("WC",Zy),r8=new RegExp("^"+Q6+t8+e8+n8+"$"),i8=["material","materials","bones","map"],qy=class{constructor(t,e,i){let s=i||Xn.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,s)}getValue(t,e){this.bind();let i=this._targetGroup.nCachedObjects_,s=this._bindings[i];s!==void 0&&s.getValue(t,e)}setValue(t,e){let i=this._bindings;for(let s=this._targetGroup.nCachedObjects_,u=i.length;s!==u;++s)i[s].setValue(t,e)}bind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()}unbind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}},Xn=class n{constructor(t,e,i){this.path=e,this.parsedPath=i||n.parseTrackName(e),this.node=n.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,i){return t&&t.isAnimationObjectGroup?new n.Composite(t,e,i):new n(t,e,i)}static sanitizeNodeName(t){return t.replace(/\\s/g,"_").replace(j6,"")}static parseTrackName(t){let e=r8.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);let i={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},s=i.nodeName&&i.nodeName.lastIndexOf(".");if(s!==void 0&&s!==-1){let u=i.nodeName.substring(s+1);i8.indexOf(u)!==-1&&(i.nodeName=i.nodeName.substring(0,s),i.objectName=u)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return i}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){let i=t.skeleton.getBoneByName(e);if(i!==void 0)return i}if(t.children){let i=function(u){for(let c=0;c<u.length;c++){let f=u[c];if(f.name===e||f.uuid===e)return f;let p=i(f.children);if(p)return p}return null},s=i(t.children);if(s)return s}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)t[e++]=i[s]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)i[s]=t[e++]}_setValue_array_setNeedsUpdate(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)i[s]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)i[s]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node,e=this.parsedPath,i=e.objectName,s=e.propertyName,u=e.propertyIndex;if(t||(t=n.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(i){let d=e.objectIndex;switch(i){case"materials":if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}t=t.material.materials;break;case"bones":if(!t.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}t=t.skeleton.bones;for(let m=0;m<t.length;m++)if(t[m].name===d){d=m;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}t=t.material.map;break;default:if(t[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}t=t[i]}if(d!==void 0){if(t[d]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);return}t=t[d]}}let c=t[s];if(c===void 0){let d=e.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+d+"."+s+" but it wasn't found.",t);return}let f=this.Versioning.None;this.targetObject=t,t.needsUpdate!==void 0?f=this.Versioning.NeedsUpdate:t.matrixWorldNeedsUpdate!==void 0&&(f=this.Versioning.MatrixWorldNeedsUpdate);let p=this.BindingType.Direct;if(u!==void 0){if(s==="morphTargetInfluences"){if(!t.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!t.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}t.morphTargetDictionary[u]!==void 0&&(u=t.morphTargetDictionary[u])}p=this.BindingType.ArrayElement,this.resolvedProperty=c,this.propertyIndex=u}else c.fromArray!==void 0&&c.toArray!==void 0?(p=this.BindingType.HasFromToArray,this.resolvedProperty=c):Array.isArray(c)?(p=this.BindingType.EntireArray,this.resolvedProperty=c):this.propertyName=s;this.getValue=this.GetterByBindingType[p],this.setValue=this.SetterByBindingTypeAndVersioning[p][f]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};Xn.Composite=qy;Xn.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};Xn.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};Xn.prototype.GetterByBindingType=[Xn.prototype._getValue_direct,Xn.prototype._getValue_array,Xn.prototype._getValue_arrayElement,Xn.prototype._getValue_toArray];Xn.prototype.SetterByBindingTypeAndVersioning=[[Xn.prototype._setValue_direct,Xn.prototype._setValue_direct_setNeedsUpdate,Xn.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[Xn.prototype._setValue_array,Xn.prototype._setValue_array_setNeedsUpdate,Xn.prototype._setValue_array_setMatrixWorldNeedsUpdate],[Xn.prototype._setValue_arrayElement,Xn.prototype._setValue_arrayElement_setNeedsUpdate,Xn.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[Xn.prototype._setValue_fromArray,Xn.prototype._setValue_fromArray_setNeedsUpdate,Xn.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var nQ=new Float32Array(1);typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Vy}}));typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Vy);var yQ=ue(av(),1),vQ=ue(Qf(),1);function vl(n,t){t===void 0&&(t=[]);let e=new dl(n.map(i=>new Ht(...i)));return t.length&&t.forEach(i=>{var s=new pl(i.map(u=>new Ht(...u)));e.holes.push(s)}),e}var Or=63710088e-1,IQ={centimeters:Or*100,centimetres:Or*100,degrees:Or/111325,feet:Or*3.28084,inches:Or*39.37,kilometers:Or/1e3,kilometres:Or/1e3,meters:Or,metres:Or,miles:Or/1609.344,millimeters:Or*1e3,millimetres:Or*1e3,nauticalmiles:Or/1852,radians:1,yards:Or*1.0936},PQ={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/Or,yards:1.0936133};function wi(n,t,e){e===void 0&&(e={});var i={type:"Feature"};return(e.id===0||e.id)&&(i.id=e.id),e.bbox&&(i.bbox=e.bbox),i.properties=t||{},i.geometry=n,i}function zn(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Zo(n[0])||!Zo(n[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:n};return wi(i,t,e)}function Gn(n,t,e){e===void 0&&(e={});for(var i=0,s=n;i<s.length;i++){var u=s[i];if(u.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var c=0;c<u[u.length-1].length;c++)if(u[u.length-1][c]!==u[0][c])throw new Error("First and last Position are not equivalent.")}var f={type:"Polygon",coordinates:n};return wi(f,t,e)}function Dr(n,t,e){if(e===void 0&&(e={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var i={type:"LineString",coordinates:n};return wi(i,t,e)}function gv(n,t,e){e===void 0&&(e={});var i={type:"MultiPoint",coordinates:n};return wi(i,t,e)}function Zo(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function _r(n,t,e){if(n!==null)for(var i,s,u,c,f,p,d,m=0,y=0,v,E=n.type,M=E==="FeatureCollection",A=E==="Feature",_=M?n.features.length:1,x=0;x<_;x++){d=M?n.features[x].geometry:A?n.geometry:n,v=d?d.type==="GeometryCollection":!1,f=v?d.geometries.length:1;for(var T=0;T<f;T++){var S=0,R=0;if(c=v?d.geometries[T]:d,c!==null){p=c.coordinates;var z=c.type;switch(m=e&&(z==="Polygon"||z==="MultiPolygon")?1:0,z){case null:break;case"Point":if(t(p,y,x,S,R)===!1)return!1;y++,S++;break;case"LineString":case"MultiPoint":for(i=0;i<p.length;i++){if(t(p[i],y,x,S,R)===!1)return!1;y++,z==="MultiPoint"&&S++}z==="LineString"&&S++;break;case"Polygon":case"MultiLineString":for(i=0;i<p.length;i++){for(s=0;s<p[i].length-m;s++){if(t(p[i][s],y,x,S,R)===!1)return!1;y++}z==="MultiLineString"&&S++,z==="Polygon"&&R++}z==="Polygon"&&S++;break;case"MultiPolygon":for(i=0;i<p.length;i++){for(R=0,s=0;s<p[i].length;s++){for(u=0;u<p[i][s].length-m;u++){if(t(p[i][s][u],y,x,S,R)===!1)return!1;y++}R++}S++}break;case"GeometryCollection":for(i=0;i<c.geometries.length;i++)if(_r(c.geometries[i],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function LC(n,t,e,i){var s=e;return _r(n,function(u,c,f,p,d){c===0&&e===void 0?s=u:s=t(s,u,c,f,p,d)},i),s}function la(n,t){var e,i,s,u,c,f,p,d,m,y,v=0,E=n.type==="FeatureCollection",M=n.type==="Feature",A=E?n.features.length:1;for(e=0;e<A;e++){for(f=E?n.features[e].geometry:M?n.geometry:n,d=E?n.features[e].properties:M?n.properties:{},m=E?n.features[e].bbox:M?n.bbox:void 0,y=E?n.features[e].id:M?n.id:void 0,p=f?f.type==="GeometryCollection":!1,c=p?f.geometries.length:1,s=0;s<c;s++){if(u=p?f.geometries[s]:f,u===null){if(t(null,v,d,m,y)===!1)return!1;continue}switch(u.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(u,v,d,m,y)===!1)return!1;break}case"GeometryCollection":{for(i=0;i<u.geometries.length;i++)if(t(u.geometries[i],v,d,m,y)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}v++}}function Wi(n,t){la(n,function(e,i,s,u,c){var f=e===null?null:e.type;switch(f){case null:case"Point":case"LineString":case"Polygon":return t(wi(e,s,{bbox:u,id:c}),i,0)===!1?!1:void 0}var p;switch(f){case"MultiPoint":p="Point";break;case"MultiLineString":p="LineString";break;case"MultiPolygon":p="Polygon";break}for(var d=0;d<e.coordinates.length;d++){var m=e.coordinates[d],y={type:p,coordinates:m};if(t(wi(y,s),i,d)===!1)return!1}})}function yv(n){var t=[1/0,1/0,-1/0,-1/0];return _r(n,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}yv.default=yv;var Si=yv;function Xr(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return n.geometry.coordinates;if(n.type==="Point")return n.coordinates}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return n;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function vv(n,t,e){if(!n)throw new Error("No feature passed");if(!e)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!n.geometry||n.geometry.type!==t)throw new Error("Invalid input to "+e+": must be a "+t+", given "+n.geometry.type)}function Yr(n){return n.type==="Feature"?n.geometry:n}var EW=ue(Gp(),1);var RW=ue(JC(),1);function Fr(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("point is required");if(!t)throw new Error("polygon is required");var i=Xr(n),s=Yr(t),u=s.type,c=t.bbox,f=s.coordinates;if(c&&LW(i,c)===!1)return!1;u==="Polygon"&&(f=[f]);for(var p=!1,d=0;d<f.length&&!p;d++)if(jC(i,f[d][0],e.ignoreBoundary)){for(var m=!1,y=1;y<f[d].length&&!m;)jC(i,f[d][y],!e.ignoreBoundary)&&(m=!0),y++;m||(p=!0)}return p}function jC(n,t,e){var i=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var s=0,u=t.length-1;s<t.length;u=s++){var c=t[s][0],f=t[s][1],p=t[u][0],d=t[u][1],m=n[1]*(c-p)+f*(p-n[0])+d*(n[0]-c)===0&&(c-n[0])*(p-n[0])<=0&&(f-n[1])*(d-n[1])<=0;if(m)return!e;var y=f>n[1]!=d>n[1]&&n[0]<(p-c)*(n[1]-f)/(d-f)+c;y&&(i=!i)}return i}function LW(n,t){return t[0]<=n[0]&&t[1]<=n[1]&&t[2]>=n[0]&&t[3]>=n[1]}var tI=new ArrayBuffer(16),oet=new Float64Array(tI),set=new Uint32Array(tI);var YW=ue(Ov(),1);var Ont=function(){function n(t){this.points=t.points||[],this.duration=t.duration||1e4,this.sharpness=t.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=t.stepLength||60,this.length=this.points.length,this.delay=0;for(var e=0;e<this.length;e++)this.points[e].z=this.points[e].z||0;for(var e=0;e<this.length-1;e++){var i=this.points[e],s=this.points[e+1];this.centers.push({x:(i.x+s.x)/2,y:(i.y+s.y)/2,z:(i.z+s.z)/2})}this.controls.push([this.points[0],this.points[0]]);for(var e=0;e<this.centers.length-1;e++){var u=this.points[e+1].x-(this.centers[e].x+this.centers[e+1].x)/2,c=this.points[e+1].y-(this.centers[e].y+this.centers[e+1].y)/2,f=this.points[e+1].z-(this.centers[e].y+this.centers[e+1].z)/2;this.controls.push([{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e].x+u),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e].y+c),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e].z+f)},{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e+1].x+u),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e+1].y+c),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e+1].z+f)}])}return this.controls.push([this.points[this.length-1],this.points[this.length-1]]),this.steps=this.cacheSteps(this.stepLength),this}return n.prototype.cacheSteps=function(t){var e=[],i=this.pos(0);e.push(0);for(var s=0;s<this.duration;s+=10){var u=this.pos(s),c=Math.sqrt((u.x-i.x)*(u.x-i.x)+(u.y-i.y)*(u.y-i.y)+(u.z-i.z)*(u.z-i.z));c>t&&(e.push(s),i=u)}return e},n.prototype.vector=function(t){var e=this.pos(t+10),i=this.pos(t-10);return{angle:180*Math.atan2(e.y-i.y,e.x-i.x)/3.14,speed:Math.sqrt((i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y)+(i.z-e.z)*(i.z-e.z))}},n.prototype.pos=function(t){var e=t-this.delay;e<0&&(e=0),e>this.duration&&(e=this.duration-1);var i=e/this.duration;if(i>=1)return this.points[this.length-1];var s=Math.floor((this.points.length-1)*i),u=(this.length-1)*i-s;return $W(u,this.points[s],this.controls[s][1],this.controls[s+1][0],this.points[s+1])},n}();function $W(n,t,e,i,s){var u=ZW(n),c={x:s.x*u[0]+i.x*u[1]+e.x*u[2]+t.x*u[3],y:s.y*u[0]+i.y*u[1]+e.y*u[2]+t.y*u[3],z:s.z*u[0]+i.z*u[1]+e.z*u[2]+t.z*u[3]};return c}function ZW(n){var t=n*n,e=t*n;return[e,3*t*(1-n),3*n*(1-n)*(1-n),(1-n)*(1-n)*(1-n)]}function Jc(n,t){t===void 0&&(t={});var e=Number(n[0]),i=Number(n[1]),s=Number(n[2]),u=Number(n[3]);if(n.length===6)throw new Error("@turf/bbox-polygon does not support BBox with 6 positions");var c=[e,i],f=[e,u],p=[s,u],d=[s,i];return Gn([[c,d,p,f,c]],t.properties,{bbox:n,id:t.id})}function JW(n){return Jc(Si(n))}var Dv=JW;var pX=ue(fI(),1);var GX=ue(rd(),1);var qX=ue(Gp(),1);var WX=ue(Ov(),1);var II=Math.PI/180,PI=180/Math.PI,rf=function(n,t){this.lon=n,this.lat=t,this.x=II*n,this.y=II*t};rf.prototype.view=function(){return String(this.lon).slice(0,4)+","+String(this.lat).slice(0,4)};rf.prototype.antipode=function(){var n=-1*this.lat,t=this.lon<0?180+this.lon:(180-this.lon)*-1;return new rf(t,n)};var RI=function(){this.coords=[],this.length=0};RI.prototype.move_to=function(n){this.length++,this.coords.push(n)};var e_=function(n){this.properties=n||{},this.geometries=[]};e_.prototype.json=function(){if(this.geometries.length<=0)return{geometry:{type:"LineString",coordinates:null},type:"Feature",properties:this.properties};if(this.geometries.length===1)return{geometry:{type:"LineString",coordinates:this.geometries[0].coords},type:"Feature",properties:this.properties};for(var n=[],t=0;t<this.geometries.length;t++)n.push(this.geometries[t].coords);return{geometry:{type:"MultiLineString",coordinates:n},type:"Feature",properties:this.properties}};e_.prototype.wkt=function(){for(var n="",t="LINESTRING(",e=function(u){t+=u[0]+" "+u[1]+","},i=0;i<this.geometries.length;i++){if(this.geometries[i].coords.length===0)return"LINESTRING(empty)";var s=this.geometries[i].coords;s.forEach(e),n+=t.substring(0,t.length-1)+")"}return n};var LI=function(n,t,e){if(!n||n.x===void 0||n.y===void 0)throw new Error("GreatCircle constructor expects two args: start and end objects with x and y properties");if(!t||t.x===void 0||t.y===void 0)throw new Error("GreatCircle constructor expects two args: start and end objects with x and y properties");this.start=new rf(n.x,n.y),this.end=new rf(t.x,t.y),this.properties=e||{};var i=this.start.x-this.end.x,s=this.start.y-this.end.y,u=Math.pow(Math.sin(s/2),2)+Math.cos(this.start.y)*Math.cos(this.end.y)*Math.pow(Math.sin(i/2),2);if(this.g=2*Math.asin(Math.sqrt(u)),this.g===Math.PI)throw new Error("it appears "+n.view()+" and "+t.view()+" are 'antipodal', e.g diametrically opposite, thus there is no single route but rather infinite");if(isNaN(this.g))throw new Error("could not calculate great circle between "+n+" and "+t)};LI.prototype.interpolate=function(n){var t=Math.sin((1-n)*this.g)/Math.sin(this.g),e=Math.sin(n*this.g)/Math.sin(this.g),i=t*Math.cos(this.start.y)*Math.cos(this.start.x)+e*Math.cos(this.end.y)*Math.cos(this.end.x),s=t*Math.cos(this.start.y)*Math.sin(this.start.x)+e*Math.cos(this.end.y)*Math.sin(this.end.x),u=t*Math.sin(this.start.y)+e*Math.sin(this.end.y),c=PI*Math.atan2(u,Math.sqrt(Math.pow(i,2)+Math.pow(s,2))),f=PI*Math.atan2(s,i);return[f,c]};LI.prototype.Arc=function(n,t){var e=[];if(!n||n<=2)e.push([this.start.lon,this.start.lat]),e.push([this.end.lon,this.end.lat]);else for(var i=1/(n-1),s=0;s<n;++s){var u=i*s,c=this.interpolate(u);e.push(c)}for(var f=!1,p=0,d=t&&t.offset?t.offset:10,m=180-d,y=-180+d,v=360-d,E=1;E<e.length;++E){var M=e[E-1][0],A=e[E][0],_=Math.abs(A-M);_>v&&(A>m&&M<y||M>m&&A<y)?f=!0:_>p&&(p=_)}var x=[];if(f&&p<d){var T=[];x.push(T);for(var S=0;S<e.length;++S){var R=parseFloat(e[S][0]);if(S>0&&Math.abs(R-e[S-1][0])>v){var z=parseFloat(e[S-1][0]),U=parseFloat(e[S-1][1]),D=parseFloat(e[S][0]),P=parseFloat(e[S][1]);if(z>-180&&z<y&&D===180&&S+1<e.length&&e[S-1][0]>-180&&e[S-1][0]<y){T.push([-180,e[S][1]]),S++,T.push([e[S][0],e[S][1]]);continue}else if(z>m&&z<180&&D===-180&&S+1<e.length&&e[S-1][0]>m&&e[S-1][0]<180){T.push([180,e[S][1]]),S++,T.push([e[S][0],e[S][1]]);continue}if(z<y&&D>m){var ct=z;z=D,D=ct;var L=U;U=P,P=L}if(z>m&&D<y&&(D+=360),z<=180&&D>=180&&z<D){var W=(180-z)/(D-z),V=W*P+(1-W)*U;T.push([e[S-1][0]>m?180:-180,V]),T=[],T.push([e[S-1][0]>m?-180:180,V]),x.push(T)}else T=[],x.push(T);T.push([R,e[S][1]])}else T.push([e[S][0],e[S][1]])}}else{var Mt=[];x.push(Mt);for(var Y=0;Y<e.length;++Y)Mt.push([e[Y][0],e[Y][1]])}for(var mt=new e_(this.properties),ft=0;ft<x.length;++ft){var vt=new RI;mt.geometries.push(vt);for(var it=x[ft],lt=0;lt<it.length;++lt)vt.move_to(it[lt])}return mt};var $X=ue(rd(),1);var Y7=ue(rd(),1);var $7=ue(I_(),1);var j7=ue(Gp(),1);var Te=[],Ce=[],Ie=[],Pe=[],Re=[],Le=[],Ne=[],Oe=[],De=[],Fe=[],Ue=[],Be=[],ze=[],Ge=[],ke=[],qe=[],Ve=[],He=[],We=[],Xe=[],Ye=[],$e=[],Ze=[],Je=[];Ne[85]=Fe[85]=-1;Oe[85]=Ue[85]=0;De[85]=Be[85]=1;We[85]=$e[85]=1;Xe[85]=Ze[85]=0;Ye[85]=Je[85]=1;Te[85]=Pe[85]=0;Ce[85]=Re[85]=-1;Ie[85]=ke[85]=0;qe[85]=ze[85]=0;Ve[85]=Ge[85]=1;Le[85]=He[85]=1;$e[1]=$e[169]=0;Ze[1]=Ze[169]=-1;Je[1]=Je[169]=0;ze[1]=ze[169]=-1;Ge[1]=Ge[169]=0;ke[1]=ke[169]=0;Fe[4]=Fe[166]=0;Ue[4]=Ue[166]=-1;Be[4]=Be[166]=1;qe[4]=qe[166]=1;Ve[4]=Ve[166]=0;He[4]=He[166]=0;Ne[16]=Ne[154]=0;Oe[16]=Oe[154]=1;De[16]=De[154]=1;Pe[16]=Pe[154]=1;Re[16]=Re[154]=0;Le[16]=Le[154]=1;We[64]=We[106]=0;Xe[64]=Xe[106]=1;Ye[64]=Ye[106]=0;Te[64]=Te[106]=-1;Ce[64]=Ce[106]=0;Ie[64]=Ie[106]=1;We[2]=We[168]=0;Xe[2]=Xe[168]=-1;Ye[2]=Ye[168]=1;$e[2]=$e[168]=0;Ze[2]=Ze[168]=-1;Je[2]=Je[168]=0;ze[2]=ze[168]=-1;Ge[2]=Ge[168]=0;ke[2]=ke[168]=0;qe[2]=qe[168]=-1;Ve[2]=Ve[168]=0;He[2]=He[168]=1;Ne[8]=Ne[162]=0;Oe[8]=Oe[162]=-1;De[8]=De[162]=0;Fe[8]=Fe[162]=0;Ue[8]=Ue[162]=-1;Be[8]=Be[162]=1;ze[8]=ze[162]=1;Ge[8]=Ge[162]=0;ke[8]=ke[162]=1;qe[8]=qe[162]=1;Ve[8]=Ve[162]=0;He[8]=He[162]=0;Ne[32]=Ne[138]=0;Oe[32]=Oe[138]=1;De[32]=De[138]=1;Fe[32]=Fe[138]=0;Ue[32]=Ue[138]=1;Be[32]=Be[138]=0;Te[32]=Te[138]=1;Ce[32]=Ce[138]=0;Ie[32]=Ie[138]=0;Pe[32]=Pe[138]=1;Re[32]=Re[138]=0;Le[32]=Le[138]=1;$e[128]=$e[42]=0;Ze[128]=Ze[42]=1;Je[128]=Je[42]=1;We[128]=We[42]=0;Xe[128]=Xe[42]=1;Ye[128]=Ye[42]=0;Te[128]=Te[42]=-1;Ce[128]=Ce[42]=0;Ie[128]=Ie[42]=1;Pe[128]=Pe[42]=-1;Re[128]=Re[42]=0;Le[128]=Le[42]=0;Fe[5]=Fe[165]=-1;Ue[5]=Ue[165]=0;Be[5]=Be[165]=0;$e[5]=$e[165]=1;Ze[5]=Ze[165]=0;Je[5]=Je[165]=0;qe[20]=qe[150]=0;Ve[20]=Ve[150]=1;He[20]=He[150]=1;Pe[20]=Pe[150]=0;Re[20]=Re[150]=-1;Le[20]=Le[150]=1;Ne[80]=Ne[90]=-1;Oe[80]=Oe[90]=0;De[80]=De[90]=1;We[80]=We[90]=1;Xe[80]=Xe[90]=0;Ye[80]=Ye[90]=1;ze[65]=ze[105]=0;Ge[65]=Ge[105]=1;ke[65]=ke[105]=0;Te[65]=Te[105]=0;Ce[65]=Ce[105]=-1;Ie[65]=Ie[105]=0;Ne[160]=Ne[10]=-1;Oe[160]=Oe[10]=0;De[160]=De[10]=1;Fe[160]=Fe[10]=-1;Ue[160]=Ue[10]=0;Be[160]=Be[10]=0;$e[160]=$e[10]=1;Ze[160]=Ze[10]=0;Je[160]=Je[10]=0;We[160]=We[10]=1;Xe[160]=Xe[10]=0;Ye[160]=Ye[10]=1;qe[130]=qe[40]=0;Ve[130]=Ve[40]=1;He[130]=He[40]=1;ze[130]=ze[40]=0;Ge[130]=Ge[40]=1;ke[130]=ke[40]=0;Te[130]=Te[40]=0;Ce[130]=Ce[40]=-1;Ie[130]=Ie[40]=0;Pe[130]=Pe[40]=0;Re[130]=Re[40]=-1;Le[130]=Le[40]=1;Fe[37]=Fe[133]=0;Ue[37]=Ue[133]=1;Be[37]=Be[133]=1;$e[37]=$e[133]=0;Ze[37]=Ze[133]=1;Je[37]=Je[133]=0;Te[37]=Te[133]=-1;Ce[37]=Ce[133]=0;Ie[37]=Ie[133]=0;Pe[37]=Pe[133]=1;Re[37]=Re[133]=0;Le[37]=Le[133]=0;qe[148]=qe[22]=-1;Ve[148]=Ve[22]=0;He[148]=He[22]=0;$e[148]=$e[22]=0;Ze[148]=Ze[22]=-1;Je[148]=Je[22]=1;We[148]=We[22]=0;Xe[148]=Xe[22]=1;Ye[148]=Ye[22]=1;Pe[148]=Pe[22]=-1;Re[148]=Re[22]=0;Le[148]=Le[22]=1;Ne[82]=Ne[88]=0;Oe[82]=Oe[88]=-1;De[82]=De[88]=1;qe[82]=qe[88]=1;Ve[82]=Ve[88]=0;He[82]=He[88]=1;ze[82]=ze[88]=-1;Ge[82]=Ge[88]=0;ke[82]=ke[88]=1;We[82]=We[88]=0;Xe[82]=Xe[88]=-1;Ye[82]=Ye[88]=0;Ne[73]=Ne[97]=0;Oe[73]=Oe[97]=1;De[73]=De[97]=0;Fe[73]=Fe[97]=0;Ue[73]=Ue[97]=-1;Be[73]=Be[97]=0;ze[73]=ze[97]=1;Ge[73]=Ge[97]=0;ke[73]=ke[97]=0;Te[73]=Te[97]=1;Ce[73]=Ce[97]=0;Ie[73]=Ie[97]=1;Ne[145]=Ne[25]=0;Oe[145]=Oe[25]=-1;De[145]=De[25]=0;ze[145]=ze[25]=1;Ge[145]=Ge[25]=0;ke[145]=ke[25]=1;$e[145]=$e[25]=0;Ze[145]=Ze[25]=1;Je[145]=Je[25]=1;Pe[145]=Pe[25]=-1;Re[145]=Re[25]=0;Le[145]=Le[25]=0;Fe[70]=Fe[100]=0;Ue[70]=Ue[100]=1;Be[70]=Be[100]=0;qe[70]=qe[100]=-1;Ve[70]=Ve[100]=0;He[70]=He[100]=1;We[70]=We[100]=0;Xe[70]=Xe[100]=-1;Ye[70]=Ye[100]=1;Te[70]=Te[100]=1;Ce[70]=Ce[100]=0;Ie[70]=Ie[100]=0;Fe[101]=Fe[69]=0;Ue[101]=Ue[69]=1;Be[101]=Be[69]=0;Te[101]=Te[69]=1;Ce[101]=Ce[69]=0;Ie[101]=Ie[69]=0;$e[149]=$e[21]=0;Ze[149]=Ze[21]=1;Je[149]=Je[21]=1;Pe[149]=Pe[21]=-1;Re[149]=Re[21]=0;Le[149]=Le[21]=0;qe[86]=qe[84]=-1;Ve[86]=Ve[84]=0;He[86]=He[84]=1;We[86]=We[84]=0;Xe[86]=Xe[84]=-1;Ye[86]=Ye[84]=1;Ne[89]=Ne[81]=0;Oe[89]=Oe[81]=-1;De[89]=De[81]=0;ze[89]=ze[81]=1;Ge[89]=Ge[81]=0;ke[89]=ke[81]=1;Ne[96]=Ne[74]=0;Oe[96]=Oe[74]=1;De[96]=De[74]=0;Fe[96]=Fe[74]=-1;Ue[96]=Ue[74]=0;Be[96]=Be[74]=1;We[96]=We[74]=1;Xe[96]=Xe[74]=0;Ye[96]=Ye[74]=0;Te[96]=Te[74]=1;Ce[96]=Ce[74]=0;Ie[96]=Ie[74]=1;Ne[24]=Ne[146]=0;Oe[24]=Oe[146]=-1;De[24]=De[146]=1;qe[24]=qe[146]=1;Ve[24]=Ve[146]=0;He[24]=He[146]=1;ze[24]=ze[146]=0;Ge[24]=Ge[146]=1;ke[24]=ke[146]=1;Pe[24]=Pe[146]=0;Re[24]=Re[146]=-1;Le[24]=Le[146]=0;Fe[6]=Fe[164]=-1;Ue[6]=Ue[164]=0;Be[6]=Be[164]=1;qe[6]=qe[164]=-1;Ve[6]=Ve[164]=0;He[6]=He[164]=0;$e[6]=$e[164]=0;Ze[6]=Ze[164]=-1;Je[6]=Je[164]=1;We[6]=We[164]=1;Xe[6]=Xe[164]=0;Ye[6]=Ye[164]=0;ze[129]=ze[41]=0;Ge[129]=Ge[41]=1;ke[129]=ke[41]=1;$e[129]=$e[41]=0;Ze[129]=Ze[41]=1;Je[129]=Je[41]=0;Te[129]=Te[41]=-1;Ce[129]=Ce[41]=0;Ie[129]=Ie[41]=0;Pe[129]=Pe[41]=0;Re[129]=Re[41]=-1;Le[129]=Le[41]=0;qe[66]=qe[104]=0;Ve[66]=Ve[104]=1;He[66]=He[104]=0;ze[66]=ze[104]=-1;Ge[66]=Ge[104]=0;ke[66]=ke[104]=1;We[66]=We[104]=0;Xe[66]=Xe[104]=-1;Ye[66]=Ye[104]=0;Te[66]=Te[104]=0;Ce[66]=Ce[104]=-1;Ie[66]=Ie[104]=1;Ne[144]=Ne[26]=-1;Oe[144]=Oe[26]=0;De[144]=De[26]=0;$e[144]=$e[26]=1;Ze[144]=Ze[26]=0;Je[144]=Je[26]=1;We[144]=We[26]=0;Xe[144]=Xe[26]=1;Ye[144]=Ye[26]=1;Pe[144]=Pe[26]=-1;Re[144]=Re[26]=0;Le[144]=Le[26]=1;Fe[36]=Fe[134]=0;Ue[36]=Ue[134]=1;Be[36]=Be[134]=1;qe[36]=qe[134]=0;Ve[36]=Ve[134]=1;He[36]=He[134]=0;Te[36]=Te[134]=0;Ce[36]=Ce[134]=-1;Ie[36]=Ie[134]=1;Pe[36]=Pe[134]=1;Re[36]=Re[134]=0;Le[36]=Le[134]=0;Ne[9]=Ne[161]=-1;Oe[9]=Oe[161]=0;De[9]=De[161]=0;Fe[9]=Fe[161]=0;Ue[9]=Ue[161]=-1;Be[9]=Be[161]=0;ze[9]=ze[161]=1;Ge[9]=Ge[161]=0;ke[9]=ke[161]=0;$e[9]=$e[161]=1;Ze[9]=Ze[161]=0;Je[9]=Je[161]=1;Ne[136]=0;Oe[136]=1;De[136]=1;Fe[136]=0;Ue[136]=1;Be[136]=0;qe[136]=-1;Ve[136]=0;He[136]=1;ze[136]=-1;Ge[136]=0;ke[136]=0;$e[136]=0;Ze[136]=-1;Je[136]=0;We[136]=0;Xe[136]=-1;Ye[136]=1;Te[136]=1;Ce[136]=0;Ie[136]=0;Pe[136]=1;Re[136]=0;Le[136]=1;Ne[34]=0;Oe[34]=-1;De[34]=0;Fe[34]=0;Ue[34]=-1;Be[34]=1;qe[34]=1;Ve[34]=0;He[34]=0;ze[34]=1;Ge[34]=0;ke[34]=1;$e[34]=0;Ze[34]=1;Je[34]=1;We[34]=0;Xe[34]=1;Ye[34]=0;Te[34]=-1;Ce[34]=0;Ie[34]=1;Pe[34]=-1;Re[34]=0;Le[34]=0;Ne[35]=0;Oe[35]=1;De[35]=1;Fe[35]=0;Ue[35]=-1;Be[35]=1;qe[35]=1;Ve[35]=0;He[35]=0;ze[35]=-1;Ge[35]=0;ke[35]=0;$e[35]=0;Ze[35]=-1;Je[35]=0;We[35]=0;Xe[35]=1;Ye[35]=0;Te[35]=-1;Ce[35]=0;Ie[35]=1;Pe[35]=1;Re[35]=0;Le[35]=1;Ne[153]=0;Oe[153]=1;De[153]=1;ze[153]=-1;Ge[153]=0;ke[153]=0;$e[153]=0;Ze[153]=-1;Je[153]=0;Pe[153]=1;Re[153]=0;Le[153]=1;Fe[102]=0;Ue[102]=-1;Be[102]=1;qe[102]=1;Ve[102]=0;He[102]=0;We[102]=0;Xe[102]=1;Ye[102]=0;Te[102]=-1;Ce[102]=0;Ie[102]=1;Ne[155]=0;Oe[155]=-1;De[155]=0;ze[155]=1;Ge[155]=0;ke[155]=1;$e[155]=0;Ze[155]=1;Je[155]=1;Pe[155]=-1;Re[155]=0;Le[155]=0;Fe[103]=0;Ue[103]=1;Be[103]=0;qe[103]=-1;Ve[103]=0;He[103]=1;We[103]=0;Xe[103]=-1;Ye[103]=1;Te[103]=1;Ce[103]=0;Ie[103]=0;Ne[152]=0;Oe[152]=1;De[152]=1;qe[152]=-1;Ve[152]=0;He[152]=1;ze[152]=-1;Ge[152]=0;ke[152]=0;$e[152]=0;Ze[152]=-1;Je[152]=0;We[152]=0;Xe[152]=-1;Ye[152]=1;Pe[152]=1;Re[152]=0;Le[152]=1;Ne[156]=0;Oe[156]=-1;De[156]=1;qe[156]=1;Ve[156]=0;He[156]=1;ze[156]=-1;Ge[156]=0;ke[156]=0;$e[156]=0;Ze[156]=-1;Je[156]=0;We[156]=0;Xe[156]=1;Ye[156]=1;Pe[156]=-1;Re[156]=0;Le[156]=1;Ne[137]=0;Oe[137]=1;De[137]=1;Fe[137]=0;Ue[137]=1;Be[137]=0;ze[137]=-1;Ge[137]=0;ke[137]=0;$e[137]=0;Ze[137]=-1;Je[137]=0;Te[137]=1;Ce[137]=0;Ie[137]=0;Pe[137]=1;Re[137]=0;Le[137]=1;Ne[139]=0;Oe[139]=1;De[139]=1;Fe[139]=0;Ue[139]=-1;Be[139]=0;ze[139]=1;Ge[139]=0;ke[139]=0;$e[139]=0;Ze[139]=1;Je[139]=0;Te[139]=-1;Ce[139]=0;Ie[139]=0;Pe[139]=1;Re[139]=0;Le[139]=1;Ne[98]=0;Oe[98]=-1;De[98]=0;Fe[98]=0;Ue[98]=-1;Be[98]=1;qe[98]=1;Ve[98]=0;He[98]=0;ze[98]=1;Ge[98]=0;ke[98]=1;We[98]=0;Xe[98]=1;Ye[98]=0;Te[98]=-1;Ce[98]=0;Ie[98]=1;Ne[99]=0;Oe[99]=1;De[99]=0;Fe[99]=0;Ue[99]=-1;Be[99]=1;qe[99]=1;Ve[99]=0;He[99]=0;ze[99]=-1;Ge[99]=0;ke[99]=1;We[99]=0;Xe[99]=-1;Ye[99]=0;Te[99]=1;Ce[99]=0;Ie[99]=1;Fe[38]=0;Ue[38]=-1;Be[38]=1;qe[38]=1;Ve[38]=0;He[38]=0;$e[38]=0;Ze[38]=1;Je[38]=1;We[38]=0;Xe[38]=1;Ye[38]=0;Te[38]=-1;Ce[38]=0;Ie[38]=1;Pe[38]=-1;Re[38]=0;Le[38]=0;Fe[39]=0;Ue[39]=1;Be[39]=1;qe[39]=-1;Ve[39]=0;He[39]=0;$e[39]=0;Ze[39]=-1;Je[39]=1;We[39]=0;Xe[39]=1;Ye[39]=0;Te[39]=-1;Ce[39]=0;Ie[39]=1;Pe[39]=1;Re[39]=0;Le[39]=0;var P_=function(n){return[[n.bottomleft,0],[0,0],[0,n.leftbottom]]},R_=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0]]},L_=function(n){return[[n.topright,1],[1,1],[1,n.righttop]]},N_=function(n){return[[0,n.lefttop],[0,1],[n.topleft,1]]},O_=function(n){return[[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop]]},D_=function(n){return[[n.bottomright,0],[n.bottomleft,0],[1,n.righttop],[1,n.rightbottom]]},F_=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.topleft,1],[n.topright,1]]},U_=function(n){return[[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},K7=function(n){return[[0,0],[0,n.leftbottom],[1,n.rightbottom],[1,0]]},Q7=function(n){return[[1,0],[n.bottomright,0],[n.topright,1],[1,1]]},tY=function(n){return[[1,1],[1,n.righttop],[0,n.lefttop],[0,1]]},eY=function(n){return[[n.bottomleft,0],[0,0],[0,1],[n.topleft,1]]},nY=function(n){return[[1,n.righttop],[1,n.rightbottom],[0,n.leftbottom],[0,n.lefttop]]},rY=function(n){return[[n.topleft,1],[n.topright,1],[n.bottomright,0],[n.bottomleft,0]]},iY=function(){return[[0,0],[0,1],[1,1],[1,0]]},oY=function(n){return[[1,n.rightbottom],[1,0],[0,0],[0,1],[n.topleft,1]]},sY=function(n){return[[n.topright,1],[1,1],[1,0],[0,0],[0,n.leftbottom]]},aY=function(n){return[[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[1,1]]},uY=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,1]]},lY=function(n){return[[1,n.righttop],[1,n.rightbottom],[0,n.lefttop],[0,1],[n.topleft,1]]},cY=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[n.topright,1]]},fY=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop]]},hY=function(n){return[[n.topright,1],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topleft,1]]},pY=function(n){return[[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1],[n.topleft,1]]},dY=function(n){return[[1,1],[1,n.righttop],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},mY=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[n.topleft,1],[n.topright,1]]},gY=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,n.leftbottom]]},yY=function(n){return[[1,n.rightbottom],[1,0],[0,0],[0,n.leftbottom],[n.topleft,1],[n.topright,1]]},vY=function(n){return[[1,1],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},_Y=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1]]},xY=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,1],[n.topleft,1]]},EY=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topright,1]]},wY=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[n.topleft,1]]},SY=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},MY=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topright,1]]},bY=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[n.topleft,1]]},AY=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},TY=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topleft,1],[n.topright,1]]},CY=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1],[n.topleft,1]]},IY=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},tn=[],en=[],nn=[],rn=[],on=[],sn=[],an=[],un=[];rn[1]=on[1]=18;rn[169]=on[169]=18;nn[4]=en[4]=12;nn[166]=en[166]=12;tn[16]=un[16]=4;tn[154]=un[154]=4;sn[64]=an[64]=22;sn[106]=an[106]=22;nn[2]=sn[2]=17;rn[2]=on[2]=18;nn[168]=sn[168]=17;rn[168]=on[168]=18;tn[8]=rn[8]=9;en[8]=nn[8]=12;tn[162]=rn[162]=9;en[162]=nn[162]=12;tn[32]=un[32]=4;en[32]=an[32]=1;tn[138]=un[138]=4;en[138]=an[138]=1;on[128]=un[128]=21;sn[128]=an[128]=22;on[42]=un[42]=21;sn[42]=an[42]=22;en[5]=on[5]=14;en[165]=on[165]=14;nn[20]=un[20]=6;nn[150]=un[150]=6;tn[80]=sn[80]=11;tn[90]=sn[90]=11;rn[65]=an[65]=3;rn[105]=an[105]=3;tn[160]=sn[160]=11;en[160]=on[160]=14;tn[10]=sn[10]=11;en[10]=on[10]=14;nn[130]=un[130]=6;rn[130]=an[130]=3;nn[40]=un[40]=6;rn[40]=an[40]=3;en[101]=an[101]=1;en[69]=an[69]=1;on[149]=un[149]=21;on[21]=un[21]=21;nn[86]=sn[86]=17;nn[84]=sn[84]=17;tn[89]=rn[89]=9;tn[81]=rn[81]=9;tn[96]=an[96]=0;en[96]=sn[96]=15;tn[74]=an[74]=0;en[74]=sn[74]=15;tn[24]=nn[24]=8;rn[24]=un[24]=7;tn[146]=nn[146]=8;rn[146]=un[146]=7;en[6]=sn[6]=15;nn[6]=on[6]=16;en[164]=sn[164]=15;nn[164]=on[164]=16;rn[129]=un[129]=7;on[129]=an[129]=20;rn[41]=un[41]=7;on[41]=an[41]=20;nn[66]=an[66]=2;rn[66]=sn[66]=19;nn[104]=an[104]=2;rn[104]=sn[104]=19;tn[144]=on[144]=10;sn[144]=un[144]=23;tn[26]=on[26]=10;sn[26]=un[26]=23;en[36]=un[36]=5;nn[36]=an[36]=2;en[134]=un[134]=5;nn[134]=an[134]=2;tn[9]=on[9]=10;en[9]=rn[9]=13;tn[161]=on[161]=10;en[161]=rn[161]=13;en[37]=un[37]=5;on[37]=an[37]=20;en[133]=un[133]=5;on[133]=an[133]=20;nn[148]=on[148]=16;sn[148]=un[148]=23;nn[22]=on[22]=16;sn[22]=un[22]=23;tn[82]=nn[82]=8;rn[82]=sn[82]=19;tn[88]=nn[88]=8;rn[88]=sn[88]=19;tn[73]=an[73]=0;en[73]=rn[73]=13;tn[97]=an[97]=0;en[97]=rn[97]=13;tn[145]=rn[145]=9;on[145]=un[145]=21;tn[25]=rn[25]=9;on[25]=un[25]=21;en[70]=an[70]=1;nn[70]=sn[70]=17;en[100]=an[100]=1;nn[100]=sn[100]=17;tn[34]=rn[34]=9;en[34]=nn[34]=12;on[34]=un[34]=21;sn[34]=an[34]=22;tn[136]=un[136]=4;en[136]=an[136]=1;nn[136]=sn[136]=17;rn[136]=on[136]=18;tn[35]=un[35]=4;en[35]=nn[35]=12;rn[35]=on[35]=18;sn[35]=an[35]=22;tn[153]=un[153]=4;rn[153]=on[153]=18;en[102]=nn[102]=12;sn[102]=an[102]=22;tn[155]=rn[155]=9;on[155]=un[155]=23;en[103]=an[103]=1;nn[103]=sn[103]=17;tn[152]=un[152]=4;nn[152]=sn[152]=17;rn[152]=on[152]=18;tn[156]=nn[156]=8;rn[156]=on[156]=18;sn[156]=un[156]=23;tn[137]=un[137]=4;en[137]=an[137]=1;rn[137]=on[137]=18;tn[139]=un[139]=4;en[139]=rn[139]=13;on[139]=an[139]=20;tn[98]=rn[98]=9;en[98]=nn[98]=12;sn[98]=an[98]=22;tn[99]=an[99]=0;en[99]=nn[99]=12;rn[99]=sn[99]=19;en[38]=nn[38]=12;on[38]=un[38]=21;sn[38]=an[38]=22;en[39]=un[39]=5;nn[39]=on[39]=16;sn[39]=an[39]=22;var Yt=[];Yt[1]=Yt[169]=P_;Yt[4]=Yt[166]=R_;Yt[16]=Yt[154]=L_;Yt[64]=Yt[106]=N_;Yt[168]=Yt[2]=O_;Yt[162]=Yt[8]=D_;Yt[138]=Yt[32]=F_;Yt[42]=Yt[128]=U_;Yt[5]=Yt[165]=K7;Yt[20]=Yt[150]=Q7;Yt[80]=Yt[90]=tY;Yt[65]=Yt[105]=eY;Yt[160]=Yt[10]=nY;Yt[130]=Yt[40]=rY;Yt[85]=iY;Yt[101]=Yt[69]=oY;Yt[149]=Yt[21]=sY;Yt[86]=Yt[84]=aY;Yt[89]=Yt[81]=uY;Yt[96]=Yt[74]=lY;Yt[24]=Yt[146]=cY;Yt[6]=Yt[164]=fY;Yt[129]=Yt[41]=hY;Yt[66]=Yt[104]=pY;Yt[144]=Yt[26]=dY;Yt[36]=Yt[134]=mY;Yt[9]=Yt[161]=gY;Yt[37]=Yt[133]=yY;Yt[148]=Yt[22]=vY;Yt[82]=Yt[88]=_Y;Yt[73]=Yt[97]=xY;Yt[145]=Yt[25]=EY;Yt[70]=Yt[100]=wY;Yt[34]=function(n){return[U_(n),D_(n)]};Yt[35]=SY;Yt[136]=function(n){return[F_(n),O_(n)]};Yt[153]=function(n){return[L_(n),P_(n)]};Yt[102]=function(n){return[R_(n),N_(n)]};Yt[155]=MY;Yt[103]=bY;Yt[152]=function(n){return[L_(n),O_(n)]};Yt[156]=AY;Yt[137]=function(n){return[F_(n),P_(n)]};Yt[139]=TY;Yt[98]=function(n){return[D_(n),N_(n)]};Yt[99]=CY;Yt[38]=function(n){return[R_(n),U_(n)]};Yt[39]=IY;function RY(n){return(n>0)-(n<0)||+n}function Dl(n,t,e){var i=t[0]-n[0],s=t[1]-n[1],u=e[0]-t[0],c=e[1]-t[1];return RY(i*c-u*s)}function _L(n,t){var e=n.geometry.coordinates[0].map(function(c){return c[0]}),i=n.geometry.coordinates[0].map(function(c){return c[1]}),s=t.geometry.coordinates[0].map(function(c){return c[0]}),u=t.geometry.coordinates[0].map(function(c){return c[1]});return Math.max.apply(null,e)===Math.max.apply(null,s)&&Math.max.apply(null,i)===Math.max.apply(null,u)&&Math.min.apply(null,e)===Math.min.apply(null,s)&&Math.min.apply(null,i)===Math.min.apply(null,u)}function B_(n,t){return t.geometry.coordinates[0].every(function(e){return Fr(zn(e),n)})}function xL(n,t){return n[0]===t[0]&&n[1]===t[1]}var LY=function(){function n(t){this.id=n.buildId(t),this.coordinates=t,this.innerEdges=[],this.outerEdges=[],this.outerEdgesSorted=!1}return n.buildId=function(t){return t.join(",")},n.prototype.removeInnerEdge=function(t){this.innerEdges=this.innerEdges.filter(function(e){return e.from.id!==t.from.id})},n.prototype.removeOuterEdge=function(t){this.outerEdges=this.outerEdges.filter(function(e){return e.to.id!==t.to.id})},n.prototype.addOuterEdge=function(t){this.outerEdges.push(t),this.outerEdgesSorted=!1},n.prototype.sortOuterEdges=function(){var t=this;this.outerEdgesSorted||(this.outerEdges.sort(function(e,i){var s=e.to,u=i.to;if(s.coordinates[0]-t.coordinates[0]>=0&&u.coordinates[0]-t.coordinates[0]<0)return 1;if(s.coordinates[0]-t.coordinates[0]<0&&u.coordinates[0]-t.coordinates[0]>=0)return-1;if(s.coordinates[0]-t.coordinates[0]===0&&u.coordinates[0]-t.coordinates[0]===0)return s.coordinates[1]-t.coordinates[1]>=0||u.coordinates[1]-t.coordinates[1]>=0?s.coordinates[1]-u.coordinates[1]:u.coordinates[1]-s.coordinates[1];var c=Dl(t.coordinates,s.coordinates,u.coordinates);if(c<0)return 1;if(c>0)return-1;var f=Math.pow(s.coordinates[0]-t.coordinates[0],2)+Math.pow(s.coordinates[1]-t.coordinates[1],2),p=Math.pow(u.coordinates[0]-t.coordinates[0],2)+Math.pow(u.coordinates[1]-t.coordinates[1],2);return f-p}),this.outerEdgesSorted=!0)},n.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},n.prototype.getOuterEdge=function(t){return this.sortOuterEdges(),this.outerEdges[t]},n.prototype.addInnerEdge=function(t){this.innerEdges.push(t)},n}(),z_=LY;var NY=function(){function n(t,e){this.from=t,this.to=e,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)}return n.prototype.getSymetric=function(){return this.symetric||(this.symetric=new n(this.to,this.from),this.symetric.symetric=this),this.symetric},n.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},n.prototype.isEqual=function(t){return this.from.id===t.from.id&&this.to.id===t.to.id},n.prototype.toString=function(){return"Edge { "+this.from.id+" -> "+this.to.id+" }"},n.prototype.toLineString=function(){return Dr([this.from.coordinates,this.to.coordinates])},n.prototype.compareTo=function(t){return Dl(t.from.coordinates,t.to.coordinates,this.to.coordinates)},n}(),EL=NY;var OY=function(){function n(){this.edges=[],this.polygon=void 0,this.envelope=void 0}return n.prototype.push=function(t){this.edges.push(t),this.polygon=this.envelope=void 0},n.prototype.get=function(t){return this.edges[t]},Object.defineProperty(n.prototype,"length",{get:function(){return this.edges.length},enumerable:!0,configurable:!0}),n.prototype.forEach=function(t){this.edges.forEach(t)},n.prototype.map=function(t){return this.edges.map(t)},n.prototype.some=function(t){return this.edges.some(t)},n.prototype.isValid=function(){return!0},n.prototype.isHole=function(){var t=this,e=this.edges.reduce(function(c,f,p){return f.from.coordinates[1]>t.edges[c].from.coordinates[1]&&(c=p),c},0),i=(e===0?this.length:e)-1,s=(e+1)%this.length,u=Dl(this.edges[i].from.coordinates,this.edges[e].from.coordinates,this.edges[s].from.coordinates);return u===0?this.edges[i].from.coordinates[0]>this.edges[s].from.coordinates[0]:u>0},n.prototype.toMultiPoint=function(){return gv(this.edges.map(function(t){return t.from.coordinates}))},n.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var t=this.edges.map(function(e){return e.from.coordinates});return t.push(this.edges[0].from.coordinates),this.polygon=Gn([t])},n.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=Dv(this.toPolygon())},n.findEdgeRingContaining=function(t,e){var i=t.getEnvelope(),s,u;return e.forEach(function(c){var f=c.getEnvelope();if(u&&(s=u.getEnvelope()),!_L(f,i)&&B_(f,i)){for(var p=t.map(function(M){return M.from.coordinates}),d=void 0,m=function(M){c.some(function(A){return xL(M,A.from.coordinates)})||(d=M)},y=0,v=p;y<v.length;y++){var E=v[y];m(E)}d&&c.inside(zn(d))&&(!u||B_(s,f))&&(u=c)}}),u},n.prototype.inside=function(t){return Fr(t,this.toPolygon())},n}(),G_=OY;function DY(n){if(!n)throw new Error("No geojson passed");if(n.type!=="FeatureCollection"&&n.type!=="GeometryCollection"&&n.type!=="MultiLineString"&&n.type!=="LineString"&&n.type!=="Feature")throw new Error("Invalid input type '"+n.type+"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature")}var qut=function(){function n(){this.edges=[],this.nodes={}}return n.fromGeoJson=function(t){DY(t);var e=new n;return Wi(t,function(i){vv(i,"LineString","Graph::fromGeoJson"),LC(i,function(s,u){if(s){var c=e.getNode(s),f=e.getNode(u);e.addEdge(c,f)}return u})}),e},n.prototype.getNode=function(t){var e=z_.buildId(t),i=this.nodes[e];return i||(i=this.nodes[e]=new z_(t)),i},n.prototype.addEdge=function(t,e){var i=new EL(t,e),s=i.getSymetric();this.edges.push(i),this.edges.push(s)},n.prototype.deleteDangles=function(){var t=this;Object.keys(this.nodes).map(function(e){return t.nodes[e]}).forEach(function(e){return t._removeIfDangle(e)})},n.prototype._removeIfDangle=function(t){var e=this;if(t.innerEdges.length<=1){var i=t.getOuterEdges().map(function(s){return s.to});this.removeNode(t),i.forEach(function(s){return e._removeIfDangle(s)})}},n.prototype.deleteCutEdges=function(){var t=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach(function(e){e.label===e.symetric.label&&(t.removeEdge(e.symetric),t.removeEdge(e))})},n.prototype._computeNextCWEdges=function(t){var e=this;typeof t=="undefined"?Object.keys(this.nodes).forEach(function(i){return e._computeNextCWEdges(e.nodes[i])}):t.getOuterEdges().forEach(function(i,s){t.getOuterEdge((s===0?t.getOuterEdges().length:s)-1).symetric.next=i})},n.prototype._computeNextCCWEdges=function(t,e){for(var i=t.getOuterEdges(),s,u,c=i.length-1;c>=0;--c){var f=i[c],p=f.symetric,d=void 0,m=void 0;f.label===e&&(d=f),p.label===e&&(m=p),!(!d||!m)&&(m&&(u=m),d&&(u&&(u.next=d,u=void 0),s||(s=d)))}u&&(u.next=s)},n.prototype._findLabeledEdgeRings=function(){var t=[],e=0;return this.edges.forEach(function(i){if(!(i.label>=0)){t.push(i);var s=i;do s.label=e,s=s.next;while(!i.isEqual(s));e++}}),t},n.prototype.getEdgeRings=function(){var t=this;this._computeNextCWEdges(),this.edges.forEach(function(i){i.label=void 0}),this._findLabeledEdgeRings().forEach(function(i){t._findIntersectionNodes(i).forEach(function(s){t._computeNextCCWEdges(s,i.label)})});var e=[];return this.edges.forEach(function(i){i.ring||e.push(t._findEdgeRing(i))}),e},n.prototype._findIntersectionNodes=function(t){var e=[],i=t,s=function(){var u=0;i.from.getOuterEdges().forEach(function(c){c.label===t.label&&++u}),u>1&&e.push(i.from),i=i.next};do s();while(!t.isEqual(i));return e},n.prototype._findEdgeRing=function(t){var e=t,i=new G_;do i.push(e),e.ring=i,e=e.next;while(!t.isEqual(e));return i},n.prototype.removeNode=function(t){var e=this;t.getOuterEdges().forEach(function(i){return e.removeEdge(i)}),t.innerEdges.forEach(function(i){return e.removeEdge(i)}),delete this.nodes[t.id]},n.prototype.removeEdge=function(t){this.edges=this.edges.filter(function(e){return!e.isEqual(t)}),t.deleteEdge()},n}();var zY=ue(k_(),1);var GY=ue(k_(),1);var qY=ue(PL(),1);var ZY=ue(GL(),1);function qL(n){for(var t=n,e=[];t.parent;)e.unshift(t),t=t.parent;return e}function jY(){return new VL(function(n){return n.f})}var W_={search:function(n,t,e,i){n.cleanDirty(),i=i||{};var s=i.heuristic||W_.heuristics.manhattan,u=i.closest||!1,c=jY(),f=t;for(t.h=s(t,e),c.push(t);c.size()>0;){var p=c.pop();if(p===e)return qL(p);p.closed=!0;for(var d=n.neighbors(p),m=0,y=d.length;m<y;++m){var v=d[m];if(!(v.closed||v.isWall())){var E=p.g+v.getCost(p),M=v.visited;(!M||E<v.g)&&(v.visited=!0,v.parent=p,v.h=v.h||s(v,e),v.g=E,v.f=v.g+v.h,n.markDirty(v),u&&(v.h<f.h||v.h===f.h&&v.g<f.g)&&(f=v),M?c.rescoreElement(v):c.push(v))}}}return u?qL(f):[]},heuristics:{manhattan:function(n,t){var e=Math.abs(t.x-n.x),i=Math.abs(t.y-n.y);return e+i},diagonal:function(n,t){var e=1,i=Math.sqrt(2),s=Math.abs(t.x-n.x),u=Math.abs(t.y-n.y);return e*(s+u)+(i-2*e)*Math.min(s,u)}},cleanNode:function(n){n.f=0,n.g=0,n.h=0,n.visited=!1,n.closed=!1,n.parent=null}};function pf(n,t){t=t||{},this.nodes=[],this.diagonal=!!t.diagonal,this.grid=[];for(var e=0;e<n.length;e++){this.grid[e]=[];for(var i=0,s=n[e];i<s.length;i++){var u=new Pd(e,i,s[i]);this.grid[e][i]=u,this.nodes.push(u)}}this.init()}pf.prototype.init=function(){this.dirtyNodes=[];for(var n=0;n<this.nodes.length;n++)W_.cleanNode(this.nodes[n])};pf.prototype.cleanDirty=function(){for(var n=0;n<this.dirtyNodes.length;n++)W_.cleanNode(this.dirtyNodes[n]);this.dirtyNodes=[]};pf.prototype.markDirty=function(n){this.dirtyNodes.push(n)};pf.prototype.neighbors=function(n){var t=[],e=n.x,i=n.y,s=this.grid;return s[e-1]&&s[e-1][i]&&t.push(s[e-1][i]),s[e+1]&&s[e+1][i]&&t.push(s[e+1][i]),s[e]&&s[e][i-1]&&t.push(s[e][i-1]),s[e]&&s[e][i+1]&&t.push(s[e][i+1]),this.diagonal&&(s[e-1]&&s[e-1][i-1]&&t.push(s[e-1][i-1]),s[e+1]&&s[e+1][i-1]&&t.push(s[e+1][i-1]),s[e-1]&&s[e-1][i+1]&&t.push(s[e-1][i+1]),s[e+1]&&s[e+1][i+1]&&t.push(s[e+1][i+1])),t};pf.prototype.toString=function(){for(var n=[],t=this.grid,e,i,s,u,c=0,f=t.length;c<f;c++){for(e=[],i=t[c],s=0,u=i.length;s<u;s++)e.push(i[s].weight);n.push(e.join(" "))}return n.join(\`
4030
4030
  \`)};function Pd(n,t,e){this.x=n,this.y=t,this.weight=e}Pd.prototype.toString=function(){return"["+this.x+" "+this.y+"]"};Pd.prototype.getCost=function(n){return n&&n.x!==this.x&&n.y!==this.y?this.weight*1.41421:this.weight};Pd.prototype.isWall=function(){return this.weight===0};function VL(n){this.content=[],this.scoreFunction=n}VL.prototype={push:function(n){this.content.push(n),this.sinkDown(this.content.length-1)},pop:function(){var n=this.content[0],t=this.content.pop();return this.content.length>0&&(this.content[0]=t,this.bubbleUp(0)),n},remove:function(n){var t=this.content.indexOf(n),e=this.content.pop();t!==this.content.length-1&&(this.content[t]=e,this.scoreFunction(e)<this.scoreFunction(n)?this.sinkDown(t):this.bubbleUp(t))},size:function(){return this.content.length},rescoreElement:function(n){this.sinkDown(this.content.indexOf(n))},sinkDown:function(n){for(var t=this.content[n];n>0;){var e=(n+1>>1)-1,i=this.content[e];if(this.scoreFunction(t)<this.scoreFunction(i))this.content[e]=t,this.content[n]=i,n=e;else break}},bubbleUp:function(n){for(var t=this.content.length,e=this.content[n],i=this.scoreFunction(e);;){var s=n+1<<1,u=s-1,c=null,f;if(u<t){var p=this.content[u];f=this.scoreFunction(p),f<i&&(c=u)}if(s<t){var d=this.content[s],m=this.scoreFunction(d);m<(c===null?i:f)&&(c=s)}if(c!==null)this.content[n]=this.content[c],this.content[c]=e,n=c;else break}}};function X_(){this._=null}function Ul(n){n.U=n.C=n.L=n.R=n.P=n.N=null}X_.prototype={constructor:X_,insert:function(n,t){var e,i,s;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=HL(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)i=e.U,e===i.L?(s=i.R,s&&s.C?(e.C=s.C=!1,i.C=!0,n=i):(n===e.R&&(df(this,e),n=e,e=n.U),e.C=!1,i.C=!0,mf(this,i))):(s=i.L,s&&s.C?(e.C=s.C=!1,i.C=!0,n=i):(n===e.L&&(mf(this,e),n=e,e=n.U),e.C=!1,i.C=!0,df(this,i))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t=n.U,e,i=n.L,s=n.R,u,c;if(i?s?u=HL(s):u=i:u=s,t?t.L===n?t.L=u:t.R=u:this._=u,i&&s?(c=u.C,u.C=n.C,u.L=i,i.U=u,u!==s?(t=u.U,u.U=n.U,n=u.R,t.L=n,u.R=s,s.U=u):(u.U=t,t=u,n=u.R)):(c=n.C,n=u),n&&(n.U=t),!c){if(n&&n.C){n.C=!1;return}do{if(n===this._)break;if(n===t.L){if(e=t.R,e.C&&(e.C=!1,t.C=!0,df(this,t),e=t.R),e.L&&e.L.C||e.R&&e.R.C){(!e.R||!e.R.C)&&(e.L.C=!1,e.C=!0,mf(this,e),e=t.R),e.C=t.C,t.C=e.R.C=!1,df(this,t),n=this._;break}}else if(e=t.L,e.C&&(e.C=!1,t.C=!0,mf(this,t),e=t.L),e.L&&e.L.C||e.R&&e.R.C){(!e.L||!e.L.C)&&(e.R.C=!1,e.C=!0,df(this,e),e=t.L),e.C=t.C,t.C=e.L.C=!1,mf(this,t),n=this._;break}e.C=!0,n=t,t=t.U}while(!n.C);n&&(n.C=!1)}}};function df(n,t){var e=t,i=t.R,s=e.U;s?s.L===e?s.L=i:s.R=i:n._=i,i.U=s,e.U=i,e.R=i.L,e.R&&(e.R.U=e),i.L=e}function mf(n,t){var e=t,i=t.L,s=e.U;s?s.L===e?s.L=i:s.R=i:n._=i,i.U=s,e.U=i,e.L=i.R,e.L&&(e.L.U=e),i.R=e}function HL(n){for(;n.L;)n=n.L;return n}var Y_=X_;function Bl(n,t,e,i){var s=[null,null],u=Br.push(s)-1;return s.left=n,s.right=t,e&&gf(s,n,t,e),i&&gf(s,t,n,i),Mi[n.index].halfedges.push(u),Mi[t.index].halfedges.push(u),s}function zl(n,t,e){var i=[t,e];return i.left=n,i}function gf(n,t,e,i){!n[0]&&!n[1]?(n[0]=i,n.left=t,n.right=e):n.left===e?n[1]=i:n[0]=i}function KY(n,t,e,i,s){var u=n[0],c=n[1],f=u[0],p=u[1],d=c[0],m=c[1],y=0,v=1,E=d-f,M=m-p,A;if(A=t-f,!(!E&&A>0)){if(A/=E,E<0){if(A<y)return;A<v&&(v=A)}else if(E>0){if(A>v)return;A>y&&(y=A)}if(A=i-f,!(!E&&A<0)){if(A/=E,E<0){if(A>v)return;A>y&&(y=A)}else if(E>0){if(A<y)return;A<v&&(v=A)}if(A=e-p,!(!M&&A>0)){if(A/=M,M<0){if(A<y)return;A<v&&(v=A)}else if(M>0){if(A>v)return;A>y&&(y=A)}if(A=s-p,!(!M&&A<0)){if(A/=M,M<0){if(A>v)return;A>y&&(y=A)}else if(M>0){if(A<y)return;A<v&&(v=A)}return!(y>0)&&!(v<1)||(y>0&&(n[0]=[f+y*E,p+y*M]),v<1&&(n[1]=[f+v*E,p+v*M])),!0}}}}}function QY(n,t,e,i,s){var u=n[1];if(u)return!0;var c=n[0],f=n.left,p=n.right,d=f[0],m=f[1],y=p[0],v=p[1],E=(d+y)/2,M=(m+v)/2,A,_;if(v===m){if(E<t||E>=i)return;if(d>y){if(!c)c=[E,e];else if(c[1]>=s)return;u=[E,s]}else{if(!c)c=[E,s];else if(c[1]<e)return;u=[E,e]}}else if(A=(d-y)/(v-m),_=M-A*E,A<-1||A>1)if(d>y){if(!c)c=[(e-_)/A,e];else if(c[1]>=s)return;u=[(s-_)/A,s]}else{if(!c)c=[(s-_)/A,s];else if(c[1]<e)return;u=[(e-_)/A,e]}else if(m<v){if(!c)c=[t,A*t+_];else if(c[0]>=i)return;u=[i,A*i+_]}else{if(!c)c=[i,A*i+_];else if(c[0]<t)return;u=[t,A*t+_]}return n[0]=c,n[1]=u,!0}function WL(n,t,e,i){for(var s=Br.length,u;s--;)(!QY(u=Br[s],n,t,e,i)||!KY(u,n,t,e,i)||!(Math.abs(u[0][0]-u[1][0])>Pn||Math.abs(u[0][1]-u[1][1])>Pn))&&delete Br[s]}function XL(n){return Mi[n.index]={site:n,halfedges:[]}}function t$(n,t){var e=n.site,i=t.left,s=t.right;return e===s&&(s=i,i=e),s?Math.atan2(s[1]-i[1],s[0]-i[0]):(e===i?(i=t[1],s=t[0]):(i=t[0],s=t[1]),Math.atan2(i[0]-s[0],s[1]-i[1]))}function $_(n,t){return t[+(t.left!==n.site)]}function e$(n,t){return t[+(t.left===n.site)]}function YL(){for(var n=0,t=Mi.length,e,i,s,u;n<t;++n)if((e=Mi[n])&&(u=(i=e.halfedges).length)){var c=new Array(u),f=new Array(u);for(s=0;s<u;++s)c[s]=s,f[s]=t$(e,Br[i[s]]);for(c.sort(function(p,d){return f[d]-f[p]}),s=0;s<u;++s)f[s]=i[c[s]];for(s=0;s<u;++s)i[s]=f[s]}}function $L(n,t,e,i){var s=Mi.length,u,c,f,p,d,m,y,v,E,M,A,_,x=!0;for(u=0;u<s;++u)if(c=Mi[u]){for(f=c.site,d=c.halfedges,p=d.length;p--;)Br[d[p]]||d.splice(p,1);for(p=0,m=d.length;p<m;)M=e$(c,Br[d[p]]),A=M[0],_=M[1],y=$_(c,Br[d[++p%m]]),v=y[0],E=y[1],(Math.abs(A-v)>Pn||Math.abs(_-E)>Pn)&&(d.splice(p,0,Br.push(zl(f,M,Math.abs(A-n)<Pn&&i-_>Pn?[n,Math.abs(v-n)<Pn?E:i]:Math.abs(_-i)<Pn&&e-A>Pn?[Math.abs(E-i)<Pn?v:e,i]:Math.abs(A-e)<Pn&&_-t>Pn?[e,Math.abs(v-e)<Pn?E:t]:Math.abs(_-t)<Pn&&A-n>Pn?[Math.abs(E-t)<Pn?v:n,t]:null))-1),++m);m&&(x=!1)}if(x){var T,S,R,z=1/0;for(u=0,x=null;u<s;++u)(c=Mi[u])&&(f=c.site,T=f[0]-n,S=f[1]-t,R=T*T+S*S,R<z&&(z=R,x=c));if(x){var U=[n,t],D=[n,i],P=[e,i],ct=[e,t];x.halfedges.push(Br.push(zl(f=x.site,U,D))-1,Br.push(zl(f,D,P))-1,Br.push(zl(f,P,ct))-1,Br.push(zl(f,ct,U))-1)}}for(u=0;u<s;++u)(c=Mi[u])&&(c.halfedges.length||delete Mi[u])}var ZL=[],Rd;function n$(){Ul(this),this.x=this.y=this.arc=this.site=this.cy=null}function ou(n){var t=n.P,e=n.N;if(!(!t||!e)){var i=t.site,s=n.site,u=e.site;if(i!==u){var c=s[0],f=s[1],p=i[0]-c,d=i[1]-f,m=u[0]-c,y=u[1]-f,v=2*(p*y-d*m);if(!(v>=-JL)){var E=p*p+d*d,M=m*m+y*y,A=(y*E-d*M)/v,_=(p*M-m*E)/v,x=ZL.pop()||new n$;x.arc=n,x.site=s,x.x=A+c,x.y=(x.cy=_+f)+Math.sqrt(A*A+_*_),n.circle=x;for(var T=null,S=Gl._;S;)if(x.y<S.y||x.y===S.y&&x.x<=S.x)if(S.L)S=S.L;else{T=S.P;break}else if(S.R)S=S.R;else{T=S;break}Gl.insert(T,x),T||(Rd=x)}}}}function su(n){var t=n.circle;t&&(t.P||(Rd=t.N),Gl.remove(t),ZL.push(t),Ul(t),n.circle=null)}var KL=[];function r$(){Ul(this),this.edge=this.site=this.circle=null}function jL(n){var t=KL.pop()||new r$;return t.site=n,t}function Z_(n){su(n),au.remove(n),KL.push(n),Ul(n)}function QL(n){var t=n.circle,e=t.x,i=t.cy,s=[e,i],u=n.P,c=n.N,f=[n];Z_(n);for(var p=u;p.circle&&Math.abs(e-p.circle.x)<Pn&&Math.abs(i-p.circle.cy)<Pn;)u=p.P,f.unshift(p),Z_(p),p=u;f.unshift(p),su(p);for(var d=c;d.circle&&Math.abs(e-d.circle.x)<Pn&&Math.abs(i-d.circle.cy)<Pn;)c=d.N,f.push(d),Z_(d),d=c;f.push(d),su(d);var m=f.length,y;for(y=1;y<m;++y)d=f[y],p=f[y-1],gf(d.edge,p.site,d.site,s);p=f[0],d=f[m-1],d.edge=Bl(p.site,d.site,null,s),ou(p),ou(d)}function tN(n){for(var t=n[0],e=n[1],i,s,u,c,f=au._;f;)if(u=eN(f,e)-t,u>Pn)f=f.L;else if(c=t-i$(f,e),c>Pn){if(!f.R){i=f;break}f=f.R}else{u>-Pn?(i=f.P,s=f):c>-Pn?(i=f,s=f.N):i=s=f;break}XL(n);var p=jL(n);if(au.insert(i,p),!(!i&&!s)){if(i===s){su(i),s=jL(i.site),au.insert(p,s),p.edge=s.edge=Bl(i.site,p.site),ou(i),ou(s);return}if(!s){p.edge=Bl(i.site,p.site);return}su(i),su(s);var d=i.site,m=d[0],y=d[1],v=n[0]-m,E=n[1]-y,M=s.site,A=M[0]-m,_=M[1]-y,x=2*(v*_-E*A),T=v*v+E*E,S=A*A+_*_,R=[(_*T-E*S)/x+m,(v*S-A*T)/x+y];gf(s.edge,d,M,R),p.edge=Bl(d,n,null,R),s.edge=Bl(n,M,null,R),ou(i),ou(s)}}function eN(n,t){var e=n.site,i=e[0],s=e[1],u=s-t;if(!u)return i;var c=n.P;if(!c)return-1/0;e=c.site;var f=e[0],p=e[1],d=p-t;if(!d)return f;var m=f-i,y=1/u-1/d,v=m/d;return y?(-v+Math.sqrt(v*v-2*y*(m*m/(-2*d)-p+d/2+s-u/2)))/y+i:(i+f)/2}function i$(n,t){var e=n.N;if(e)return eN(e,t);var i=n.site;return i[1]===t?i[0]:1/0}var Pn=1e-6,JL=1e-12,au,Mi,Gl,Br;function o$(n,t,e){return(n[0]-e[0])*(t[1]-n[1])-(n[0]-t[0])*(e[1]-n[1])}function s$(n,t){return t[1]-n[1]||t[0]-n[0]}function Ld(n,t){var e=n.sort(s$).pop(),i,s,u;for(Br=[],Mi=new Array(n.length),au=new Y_,Gl=new Y_;;)if(u=Rd,e&&(!u||e[1]<u.y||e[1]===u.y&&e[0]<u.x))(e[0]!==i||e[1]!==s)&&(tN(e),i=e[0],s=e[1]),e=n.pop();else if(u)QL(u.arc);else break;if(YL(),t){var c=+t[0][0],f=+t[0][1],p=+t[1][0],d=+t[1][1];WL(c,f,p,d),$L(c,f,p,d)}this.edges=Br,this.cells=Mi,au=Gl=Br=Mi=null}Ld.prototype={constructor:Ld,polygons:function(){var n=this.edges;return this.cells.map(function(t){var e=t.halfedges.map(function(i){return $_(t,n[i])});return e.data=t.site.data,e})},triangles:function(){var n=[],t=this.edges;return this.cells.forEach(function(e,i){if(f=(u=e.halfedges).length)for(var s=e.site,u,c=-1,f,p,d=t[u[f-1]],m=d.left===s?d.right:d.left;++c<f;)p=m,d=t[u[c]],m=d.left===s?d.right:d.left,p&&m&&i<p.index&&i<m.index&&o$(s,p,m)<0&&n.push([s.data,p.data,m.data])}),n},links:function(){return this.edges.filter(function(n){return n.right}).map(function(n){return{source:n.left.data,target:n.right.data}})},find:function(n,t,e){for(var i=this,s,u=i._found||0,c=i.cells.length,f;!(f=i.cells[u]);)if(++u>=c)return null;var p=n-f.site[0],d=t-f.site[1],m=p*p+d*d;do f=i.cells[s=u],u=null,f.halfedges.forEach(function(y){var v=i.edges[y],E=v.left;if(!((E===f.site||!E)&&!(E=v.right))){var M=n-E[0],A=t-E[1],_=M*M+A*A;_<m&&(m=_,u=E.index)}});while(u!==null);return i._found=s,e==null||m<=e*e?f.site:null}};var d$=ue(kl(),1);var cx=ue(oN(),1);function Li(){return new Dd}function Dd(){this.reset()}Dd.prototype={constructor:Dd,reset:function(){this.s=this.t=0},add:function(n){sN(Od,n,this.t),sN(this,Od.s,this.s),this.s?this.t+=Od.t:this.s=Od.t},valueOf:function(){return this.s}};var Od=new Dd;function sN(n,t,e){var i=n.s=t+e,s=i-t,u=i-s;n.t=t-u+(e-s)}var yn=1e-6;var An=Math.PI,wr=An/2,Fd=An/4,Qo=An*2,uu=180/An,Ni=An/180,tr=Math.abs,Ro=Math.atan,Oi=Math.atan2,hn=Math.cos;var Ud=Math.exp;var yf=Math.log;var Me=Math.sin;var Zr=Math.sqrt,vf=Math.tan;function K_(n){return n>1?0:n<-1?An:Math.acos(n)}function bi(n){return n>1?wr:n<-1?-wr:Math.asin(n)}function Lo(){}var m$=Li(),Fft=Li();function lu(n){var t=n[0],e=n[1],i=hn(e);return[i*hn(t),i*Me(t),Me(e)]}function _f(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function xf(n){var t=Zr(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}var Xft=Li();function uN(n,t){return[n>An?n-Qo:n<-An?n+Qo:n,t]}uN.invert=uN;function Q_(){var n=[],t;return{point:function(e,i){t.push([e,i])},lineStart:function(){n.push(t=[])},lineEnd:Lo,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function tx(n,t){return tr(n[0]-t[0])<yn&&tr(n[1]-t[1])<yn}function Bd(n,t,e,i){this.x=n,this.z=t,this.o=e,this.e=i,this.v=!1,this.n=this.p=null}function ex(n,t,e,i,s){var u=[],c=[],f,p;if(n.forEach(function(M){if(!((A=M.length-1)<=0)){var A,_=M[0],x=M[A],T;if(tx(_,x)){for(s.lineStart(),f=0;f<A;++f)s.point((_=M[f])[0],_[1]);s.lineEnd();return}u.push(T=new Bd(_,M,null,!0)),c.push(T.o=new Bd(_,null,T,!1)),u.push(T=new Bd(x,M,null,!1)),c.push(T.o=new Bd(x,null,T,!0))}}),!!u.length){for(c.sort(t),lN(u),lN(c),f=0,p=c.length;f<p;++f)c[f].e=e=!e;for(var d=u[0],m,y;;){for(var v=d,E=!0;v.v;)if((v=v.n)===d)return;m=v.z,s.lineStart();do{if(v.v=v.o.v=!0,v.e){if(E)for(f=0,p=m.length;f<p;++f)s.point((y=m[f])[0],y[1]);else i(v.x,v.n.x,1,s);v=v.n}else{if(E)for(m=v.p.z,f=m.length-1;f>=0;--f)s.point((y=m[f])[0],y[1]);else i(v.x,v.p.x,-1,s);v=v.p}v=v.o,m=v.z,E=!E}while(!v.v);s.lineEnd()}}}function lN(n){if(t=n.length){for(var t,e=0,i=n[0],s;++e<t;)i.n=s=n[e],s.p=i,i=s;i.n=s=n[0],s.p=i}}function da(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function nx(n){return n.length===1&&(n=v$(n)),{left:function(t,e,i,s){for(i==null&&(i=0),s==null&&(s=t.length);i<s;){var u=i+s>>>1;n(t[u],e)<0?i=u+1:s=u}return i},right:function(t,e,i,s){for(i==null&&(i=0),s==null&&(s=t.length);i<s;){var u=i+s>>>1;n(t[u],e)>0?s=u:i=u+1}return i}}}function v$(n){return function(t,e){return da(n(t),e)}}var cN=nx(da),_$=cN.right,x$=cN.left;var fN=Array.prototype,w$=fN.slice,S$=fN.map;var Bht=Math.sqrt(50),zht=Math.sqrt(10),Ght=Math.sqrt(2);function Gd(n){for(var t=n.length,e,i=-1,s=0,u,c;++i<t;)s+=n[i].length;for(u=new Array(s);--t>=0;)for(c=n[t],e=c.length;--e>=0;)u[--s]=c[e];return u}var R$=1e9,Sdt=-R$;var rx=Li();function ix(n,t){var e=t[0],i=t[1],s=[Me(e),-hn(e),0],u=0,c=0;rx.reset();for(var f=0,p=n.length;f<p;++f)if(m=(d=n[f]).length)for(var d,m,y=d[m-1],v=y[0],E=y[1]/2+Fd,M=Me(E),A=hn(E),_=0;_<m;++_,v=T,M=R,A=z,y=x){var x=d[_],T=x[0],S=x[1]/2+Fd,R=Me(S),z=hn(S),U=T-v,D=U>=0?1:-1,P=D*U,ct=P>An,L=M*R;if(rx.add(Oi(L*D*Me(P),A*z+L*hn(P))),u+=ct?U+D*Qo:U,ct^v>=e^T>=e){var W=_f(lu(y),lu(x));xf(W);var V=_f(s,W);xf(V);var Mt=(ct^U>=0?-1:1)*bi(V[2]);(i>Mt||i===Mt&&(W[0]||W[1]))&&(c+=ct^U>=0?1:-1)}}return(u<-yn||u<yn&&rx<-yn)^c&1}var Ndt=Li();var Kdt=Li(),Qdt=Li();var O$=1/0;var nmt=-O$;function ox(n){this._context=n}ox.prototype={_radius:4.5,pointRadius:function(n){return this._radius=n,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(n,t){switch(this._point){case 0:{this._context.moveTo(n,t),this._point=1;break}case 1:{this._context.lineTo(n,t);break}default:{this._context.moveTo(n+this._radius,t),this._context.arc(n,t,this._radius,0,Qo);break}}},result:Lo};var hmt=Li();function sx(){this._string=[]}sx.prototype={_radius:4.5,_circle:dN(4.5),pointRadius:function(n){return(n=+n)!==this._radius&&(this._radius=n,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(n,t){switch(this._point){case 0:{this._string.push("M",n,",",t),this._point=1;break}case 1:{this._string.push("L",n,",",t);break}default:{this._circle==null&&(this._circle=dN(this._radius)),this._string.push("M",n,",",t,this._circle);break}}},result:function(){if(this._string.length){var n=this._string.join("");return this._string=[],n}else return null}};function dN(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function ax(n,t,e,i){return function(s,u){var c=t(u),f=s.invert(i[0],i[1]),p=Q_(),d=t(p),m=!1,y,v,E,M={point:A,lineStart:x,lineEnd:T,polygonStart:function(){M.point=S,M.lineStart=R,M.lineEnd=z,v=[],y=[]},polygonEnd:function(){M.point=A,M.lineStart=x,M.lineEnd=T,v=Gd(v);var U=ix(y,f);v.length?(m||(u.polygonStart(),m=!0),ex(v,U$,U,e,u)):U&&(m||(u.polygonStart(),m=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),m&&(u.polygonEnd(),m=!1),v=y=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}};function A(U,D){var P=s(U,D);n(U=P[0],D=P[1])&&u.point(U,D)}function _(U,D){var P=s(U,D);c.point(P[0],P[1])}function x(){M.point=_,c.lineStart()}function T(){M.point=A,c.lineEnd()}function S(U,D){E.push([U,D]);var P=s(U,D);d.point(P[0],P[1])}function R(){d.lineStart(),E=[]}function z(){S(E[0][0],E[0][1]),d.lineEnd();var U=d.clean(),D=p.result(),P,ct=D.length,L,W,V;if(E.pop(),y.push(E),E=null,!!ct){if(U&1){if(W=D[0],(L=W.length-1)>0){for(m||(u.polygonStart(),m=!0),u.lineStart(),P=0;P<L;++P)u.point((V=W[P])[0],V[1]);u.lineEnd()}return}ct>1&&U&2&&D.push(D.pop().concat(D.shift())),v.push(D.filter(F$))}}return M}}function F$(n){return n.length>1}function U$(n,t){return((n=n.x)[0]<0?n[1]-wr-yn:wr-n[1])-((t=t.x)[0]<0?t[1]-wr-yn:wr-t[1])}var B$=ax(function(){return!0},z$,k$,[-An,-wr]);function z$(n){var t=NaN,e=NaN,i=NaN,s;return{lineStart:function(){n.lineStart(),s=1},point:function(u,c){var f=u>0?An:-An,p=tr(u-t);tr(p-An)<yn?(n.point(t,e=(e+c)/2>0?wr:-wr),n.point(i,e),n.lineEnd(),n.lineStart(),n.point(f,e),n.point(u,e),s=0):i!==f&&p>=An&&(tr(t-i)<yn&&(t-=i*yn),tr(u-f)<yn&&(u-=f*yn),e=G$(t,e,u,c),n.point(i,e),n.lineEnd(),n.lineStart(),n.point(f,e),s=0),n.point(t=u,e=c),i=f},lineEnd:function(){n.lineEnd(),t=e=NaN},clean:function(){return 2-s}}}function G$(n,t,e,i){var s,u,c=Me(n-e);return tr(c)>yn?Ro((Me(t)*(u=hn(i))*Me(e)-Me(i)*(s=hn(t))*Me(n))/(s*u*c)):(t+i)/2}function k$(n,t,e,i){var s;if(n==null)s=e*wr,i.point(-An,s),i.point(0,s),i.point(An,s),i.point(An,0),i.point(An,-s),i.point(0,-s),i.point(-An,-s),i.point(-An,0),i.point(-An,s);else if(tr(n[0]-t[0])>yn){var u=n[0]<t[0]?An:-An;s=e*u/2,i.point(-u,s),i.point(0,s),i.point(u,s)}else i.point(t[0],t[1])}function kd(n){return function(t){var e=new ux;for(var i in n)e[i]=n[i];return e.stream=t,e}}function ux(){}ux.prototype={constructor:ux,point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Qmt=hn(30*Ni);var pgt=kd({point:function(n,t){this.stream.point(n*Ni,t*Ni)}});function qd(n){return function(t,e){var i=hn(t),s=hn(e),u=n(i*s);return[u*s*Me(t),u*Me(e)]}}function ts(n){return function(t,e){var i=Zr(t*t+e*e),s=n(i),u=Me(s),c=hn(s);return[Oi(t*u,i*c),bi(i&&e*u/i)]}}var EN=qd(function(n){return Zr(2/(1+n))});EN.invert=ts(function(n){return 2*bi(n/2)});var wN=qd(function(n){return(n=K_(n))&&n/Me(n)});wN.invert=ts(function(n){return n});function lx(n,t){return[n,yf(vf((wr+t)/2))]}lx.invert=function(n,t){return[n,2*Ro(Ud(t))-wr]};function Vd(n,t){return[n,t]}Vd.invert=Vd;function SN(n,t){var e=hn(t),i=hn(n)*e;return[e*Me(n)/i,Me(t)/i]}SN.invert=ts(Ro);function MN(n,t){var e=t*t,i=e*e;return[n*(.8707-.131979*e+i*(-.013791+i*(.003971*e-.001529*i))),t*(1.007226+e*(.015085+i*(-.044475+.028874*e-.005916*i)))]}MN.invert=function(n,t){var e=t,i=25,s;do{var u=e*e,c=u*u;e-=s=(e*(1.007226+u*(.015085+c*(-.044475+.028874*u-.005916*c)))-t)/(1.007226+u*(.015085*3+c*(-.044475*7+.028874*9*u-.005916*11*c)))}while(tr(s)>yn&&--i>0);return[n/(.8707+(u=e*e)*(-.131979+u*(-.013791+u*u*u*(.003971-.001529*u)))),e]};function bN(n,t){return[hn(t)*Me(n),Me(t)]}bN.invert=ts(bi);function AN(n,t){var e=hn(t),i=1+hn(n)*e;return[e*Me(n)/i,Me(t)/i]}AN.invert=ts(function(n){return 2*Ro(n)});function TN(n,t){return[yf(vf((wr+t)/2)),-n]}TN.invert=function(n,t){return[-t,2*Ro(Ud(n))-wr]};var Y$=ue(kl(),1);var $$=ue(kl(),1);var J$=ue(kl(),1);var j$=ue(kl(),1);var w1t=ue(e2(),1),S1t=ue(mv(),1);function n2(n){return n.replace(/[A-Z]/g,t=>"_"+t.toLowerCase()).replace(/^_/,"")}function r2(n){let t={};for(let i in n)i.startsWith("on")&&(t[n2(i.slice(2))]=n[i],t[i]=n[i]);let e=i=>Tf(this,null,function*(){let{data:s}=i;if(t[s.type])try{let u=yield t[s.type](s.data);if(u!=null&&u.$transfer&&Array.isArray(u.$transfer)){let c=u.$transfer;delete u.$transfer,self.postMessage({type:""+s.type+"_result",key:s.key,data:u},c)}else self.postMessage({type:""+s.type+"_result",key:s.key,data:u})}catch(u){self.postMessage({type:""+s.type+"_result",key:s.key,error:u})}else self.postMessage({type:""+s.type+"_result",key:s.key,error:"no_event"})});return self.addEventListener("message",e),()=>{self.removeEventListener("message",e)}}var O1t=ue(Eg(),1),D1t=ue(wg(),1),F1t=ue(Sg(),1),U1t=ue(bg(),1),B1t=ue(Ag(),1),z1t=ue(Pg(),1),G1t=ue(Ng(),1),k1t=ue(Dg(),1),q1t=ue(Fg(),1),V1t=ue(Bg(),1),H1t=ue(Gg(),1),W1t=ue(Hg(),1),X1t=ue(Yg(),1),Y1t=ue(u0(),1),$1t=ue(l0(),1),Z1t=ue(Qf(),1),J1t=ue(av(),1);function Hl(n,t=!1){let e=n[0].index!==null,i=new Set(Object.keys(n[0].attributes)),s=new Set(Object.keys(n[0].morphAttributes)),u={},c={},f=n[0].morphTargetsRelative,p=new Ri,d=0;for(let m=0;m<n.length;++m){let y=n[m],v=0;if(e!==(y.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(let E in y.attributes){if(!i.has(E))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+'. All geometries must have compatible attributes; make sure "'+E+'" attribute exists among all geometries, or in none of them.'),null;u[E]===void 0&&(u[E]=[]),u[E].push(y.attributes[E]),v++}if(v!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". Make sure all geometries have the same number of attributes."),null;if(f!==y.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(let E in y.morphAttributes){if(!s.has(E))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". .morphAttributes must be consistent throughout all geometries."),null;c[E]===void 0&&(c[E]=[]),c[E].push(y.morphAttributes[E])}if(t){let E;if(e)E=y.index.count;else if(y.attributes.position!==void 0)E=y.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". The geometry must have either an index or a position attribute"),null;p.addGroup(d,E,m),d+=E}}if(e){let m=0,y=[];for(let v=0;v<n.length;++v){let E=n[v].index;for(let M=0;M<E.count;++M)y.push(E.getX(M)+m);m+=n[v].attributes.position.count}p.setIndex(y)}for(let m in u){let y=i2(u[m]);if(!y)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+m+" attribute."),null;p.setAttribute(m,y)}for(let m in c){let y=c[m][0].length;if(y===0)break;p.morphAttributes=p.morphAttributes||{},p.morphAttributes[m]=[];for(let v=0;v<y;++v){let E=[];for(let A=0;A<c[m].length;++A)E.push(c[m][A][v]);let M=i2(E);if(!M)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+m+" morphAttribute."),null;p.morphAttributes[m].push(M)}}return p}function i2(n){let t,e,i,s=-1,u=0;for(let d=0;d<n.length;++d){let m=n[d];if(t===void 0&&(t=m.array.constructor),t!==m.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(e===void 0&&(e=m.itemSize),e!==m.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(i===void 0&&(i=m.normalized),i!==m.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(s===-1&&(s=m.gpuType),s!==m.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;u+=m.count*e}let c=new t(u),f=new Yn(c,e,i),p=0;for(let d=0;d<n.length;++d){let m=n[d];if(m.isInterleavedBufferAttribute){let y=p/e;for(let v=0,E=m.count;v<E;v++)for(let M=0;M<e;M++){let A=m.getComponent(v,M);f.setComponent(v+y,M,A)}}else c.set(m.array,p);p+=m.count*e}return s!==void 0&&(f.gpuType=s),f}function o2(n,t,e){t===void 0&&(t=!0),e===void 0&&(e=!1);let i=n.filter(f=>f.geometry.type==="polygon");if(!i.length)return null;let s=i.map(f=>{var p;let d=f.geometry.coords,m=vl(d[0],d.slice(1)),y=new ml(m,{steps:1,bevelEnabled:!1,depth:f.height,curveSegments:4});(p=f).deltaHeight||(p.deltaHeight=0),y.translate(0,0,f.airHeight+f.deltaHeight);let v=y.attributes.position.count,E=new Float32Array(v).fill(f.height+f.airHeight+f.deltaHeight);if(y.setAttribute("maxZ",new Yn(E,1)),y.setAttribute("opacity",new Yn(new Float32Array(v).fill(f.fillOpacity),1)),e){let _=new Float32Array(v).fill(f.airHeight+f.deltaHeight);y.setAttribute("minZ",new Yn(_,1))}let M=new fn(f.fillColor).convertLinearToSRGB(),A=new Float32Array(v*3);for(let _=0;_<v;_++)A[_*3]=M.r,A[_*3+1]=M.g,A[_*3+2]=M.b;return y.setAttribute("color",new Yn(A,3)),y}),u=Hl(s);s.forEach(f=>f.dispose());let c={geometry:u};return u.dispose(),t&&(c.lineGeometry=vx(i)||void 0),c}function vx(n){let{points:t,colors:e,opacities:i}=XZ(n);if(!t.length)return null;let s=new Ri().setFromPoints(t);return s.setAttribute("color",new Yn(new Float32Array(e),3)),s.setAttribute("opacity",new Yn(new Float32Array(i),1)),s}function XZ(n){let t=[],e=[],i=[];return n.filter(s=>s.strokeOpacity>0).map(s=>{let u=s.height+(s.deltaHeight||0)+s.airHeight,{coords:c}=s.geometry,{strokeColor:f,strokeOpacity:p}=s,d=new fn(f).convertLinearToSRGB();for(let m=0;m<c.length;m++){let y=c[m];for(let v=0;v<y.length;v++){let E=y[v],M=v+1===y.length?y[0]:y[v+1];t.push(new at(E[0],E[1],u)),t.push(new at(M[0],M[1],u)),e.push(d.r,d.g,d.b),e.push(d.r,d.g,d.b),i.push(p),i.push(p)}}}),{points:t,colors:e,opacities:i}}r2({onGetMergedGeometryAttributes(n){let{data:t}=n,e=t.map(u=>{let c=u.geometry.coords,f=vl(c[0],c.slice(1));return new ml(f,{steps:1,bevelEnabled:!1,depth:u.height,curveSegments:4})}),i=Hl(e);e.forEach(u=>u.dispose());let s={attributes:i.attributes,index:i.index,morphAttributes:i.morphAttributes,morphTargetsRelative:i.morphTargetsRelative,groups:i.groups,boundingSphere:i.boundingSphere};return i.dispose(),s},onGetMergedShapeGeometryAttributes(n){let{data:t}=n,e=t.map(u=>{let c=vl(u.geometry.coords[0].slice(0,-1),u.geometry.coords.slice(1)),f=new qc(c,4),p=f.getAttribute("position"),d=[],m=new fn(u.fillColor);for(let v=0;v<p.count;v++){p.setZ(v,u.airHeight+(u.deltaHeight||0));var y;d.push(m.r,m.g,m.b,(y=u.fillOpacity)!=null?y:1)}return f.setAttribute("color",new Yn(new Float32Array(d),4)),f}),i=Hl(e);e.forEach(u=>u.dispose());let s={attributes:i.attributes,index:i.index,morphAttributes:i.morphAttributes,morphTargetsRelative:i.morphTargetsRelative,groups:i.groups,boundingSphere:i.boundingSphere};return i.dispose(),s},onGetMergedTexture2dShapeGeometryAttributes(n){let{data:t}=n,e=t.map(u=>{let c=vl(u.geometry.coords[0].slice(0,-1),u.geometry.coords.slice(1)),f=new qc(c,4),p=f.getAttribute("position"),d=[1,1,1,0,0,0,0,1];f.setAttribute("uv",new Wr(d,2));let m=u.height+(u.deltaHeight||0)+u.airHeight;for(let y=0;y<p.count;y++)p.setZ(y,m);return f}),i=Hl(e);e.forEach(u=>u.dispose());let s={attributes:i.attributes,index:i.index,morphAttributes:i.morphAttributes,morphTargetsRelative:i.morphTargetsRelative,groups:i.groups,boundingSphere:i.boundingSphere};return i.dispose(),s},onGetMergedGeometriesJson(n){let{data:t}=n,e=o2(t,!1);return e?{mergedGeometry:e.geometry.toJSON()}:null},onGetMergedGeometriesLineJson(n){let{data:t}=n,e=vx(t);return e?{lineGeometry:e.toJSON()}:null}});
4031
- `],{type:"text/javascript"}),t=URL.createObjectURL(a),e=new Worker(t);return URL.revokeObjectURL(t),e}import{BufferGeometry as iu,BufferAttribute as Ao}from"three";var Mt=class{static GetMergeGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedShapeGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_shape_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedTexture2dGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_texture2d_shape_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetBufferGeometryByData(t){let e=new iu;return Object.keys(t.attributes).forEach(n=>{e.setAttribute(n,new Ao(t.attributes[n].array,t.attributes[n].itemSize))}),t.index&&e.setIndex(new Ao(t.index.array,t.index.itemSize)),e.morphAttributes=t.morphAttributes,e.morphTargetsRelative=t.morphTargetsRelative,e.groups=t.groups,e.boundingSphere=t.boundingSphere,e}static GetMergedGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_geometries_json",{data:t});return this.WorkerPool.releaseWorker(e),n?v({},t[0],n):null})}static GetMergedGeometryLine(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_geometries_line_json",{data:t});return this.WorkerPool.releaseWorker(e),n?v({},t[0],n):null})}static dispose(){this.WorkerPool.dispose()}};Mt.WorkerPool=new yn(10,Qr);import{cloneDeep as hu}from"lodash";var Wt={id:"",height:.1,airHeight:0,area:0,group:"",fillColor:"#EFF4FB",strokeColor:"#ffffff",fillOpacity:1,strokeOpacity:1,strokeWidth:1,doors:[],visible:!0,geometry:{type:"polygon",cds:[],coords:[],curveCpt:[],curveIndex:[]},layerType:"",zIndex:0,stroke:!0,deltaHeight:0,userData:{},gradualColor:[],renderType:"single",colorFactor:.9,center_x:0,center_y:0,center_coord_x:0,center_coord_y:0,dashed:!1},it=class extends ou{getCenter(){if(this.options.geometry.type==="point")return this.position.clone();let t=new vt,e=new Tn;return e.setFromObject(this),e.getCenter(t),t}getSize(){if(this.options.geometry.type==="point")return new vt(0,0,0);let t=new Tn,e=new vt;return t.setFromObject(this),t.getSize(e),e}getPosition(){let{center_coord_x:t,center_coord_y:e}=this.options,n=this.getCenter();return n.setZ(n.z+this.options.height/2),new vt(t,e,n.z+this.options.height/2)}init(){this.geometry=this.initGeometry(),this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options.airHeight+this.options.deltaHeight,this.options.stroke&&this.options.strokeOpacity!==0&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())}initDoor(){var t;if((t=this.options.doors)!=null&&t.length&&this.options.geometry.type==="polygon"){let e=this.options.geometry.coords[0];this.options.doors.forEach(n=>{let r=n.type==="single"?.5:1,i=.5,o=zt(e,n.coord),s=new Ht(...n.coord),u=new Ht(...e[o]).sub(new Ht(...n.coord)).normalize(),l=new Ht().addVectors(s,u.clone().multiplyScalar(r)),c=new Ht().addVectors(s,u.clone().multiplyScalar(-r)),h=new Ht(-u.y,u.x),p=new Ht().addVectors(l,h.clone().multiplyScalar(i));Bi([p.x,p.y],e)||(h.multiplyScalar(-1),p=new Ht().addVectors(l,h.clone().multiplyScalar(i)));let f=new Ht().addVectors(c,h.clone().multiplyScalar(i)),d=[[l.x,l.y],[p.x,p.y],[f.x,f.y],[c.x,c.y]];e=this.options.geometry.coords[0]=[...e.slice(0,o+1),...d,...e.slice(o+1)]})}}initGeometry(){let t=un(this.options.geometry.coords[0],this.options.geometry.coords.slice(1));return new su(t,{steps:1,bevelEnabled:!1,depth:this.options.height,curveSegments:4})}initSingleMaterial(){let t=w.createMeshBasicMaterial({color:this.options.fillColor,opacity:this.options.fillOpacity});if(this.options.secondUrl&&rt.getTextureByUrl(this.options.secondUrl).then(n=>{n.wrapS=Io,n.wrapT=Io,n.needsUpdate=!0,t.map=n,t.side=cu}),this.options.height<=.1)return this.material=t,t;let e=w.createMeshBasicMaterial({color:Gt(this.options.fillColor),opacity:this.options.fillOpacity});return this.material=[t,e],[t,e]}getMaxAndMin(t,e){let n=new Tn().setFromObject(this),r=t.clone().add(e.clone().multiplyScalar(1e3)),i=new Co(r,e.clone().multiplyScalar(-1)),o=new vt;i.intersectBox(n,o);let s=t.clone().add(e.clone().multiplyScalar(-1e3)),u=new Co(s,e.clone()),l=new vt;return u.intersectBox(n,l),{max:l,min:o}}initGradualMaterial(){let{max:t,min:e}=new Tn().setFromObject(this),n=t.clone().sub(e),r=Math.max(n.x,n.y,n.z)/2,i=this.getPosition(),o=new vt(-1,.2,0).normalize(),{max:s,min:u}=this.getMaxAndMin(i,o),l=w.createShaderMaterial({gradualColor:this.options.gradualColor,center:this.getPosition(),maxValue:r,opacity:this.options.fillOpacity,direction:new vt(-1,.2,0),max:s,min:u});if(this.options.height<=.1)return this.material=l,l;let c=this.getCenter(),h=new vt(-1,.2,1).normalize(),{max:p,min:f}=this.getMaxAndMin(c,h),d=w.createShaderMaterial({gradualColor:[Gt(this.options.gradualColor[0],this.options.colorFactor),Gt(this.options.gradualColor[1],this.options.colorFactor)],center:this.getCenter(),maxValue:r,opacity:this.options.fillOpacity,direction:new vt(-1,.2,1),max:p,min:f});return this.material=[l,d],[l,d]}initMaterial(){return this.options.renderType==="gradual"?this.initGradualMaterial():this.initSingleMaterial()}initLineMaterial(){if(this.options.dashed){let t=w.createLineDashedMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}else{let t=w.createLineMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new au(this.geometry,this.material),this.add(this.mesh)}getBorderPoints(){let t=[],e=this.options.height+this.options.deltaHeight,{coords:n}=this.options.geometry;for(let r=0;r<n.length;r++){let i=n[r];for(let o=0;o<i.length;o++){let s=i[o],u=o+1===i.length?i[0]:i[o+1];t.push(new vt(s[0],s[1],e)),t.push(new vt(u[0],u[1],e))}}return t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new uu().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new lu(this.lineGeometry,this.lineMaterial);return t.position.z=this.options.airHeight+.01,this.options.dashed&&t.computeLineDistances(),this.line=t,this.add(t),t}setOpacity(t,e){if(e===void 0&&(e=!1),e)this.options.fillOpacity=t,this.options.strokeOpacity=t;else{let{fillOpacity:n,strokeOpacity:r}=this.originOptions;this.options.fillOpacity=Math.min(n,t),this.options.strokeOpacity=Math.min(r,t)}}raycast(t){if(!this.visible||this.options.geometry.type==="point")return!1;this.mesh.updateMatrixWorld(!0);let e=t.intersectObject(this.mesh);if(e[0]){let{point:n,distance:r}=e[0];return{position:n,distance:r}}return!1}dispose(){var t,e;(t=this.geometry)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){if(super(),this.context=t,this.line=null,this.options=fe(hu(v({},Wt,e)),this),this.originOptions={fillOpacity:this.options.fillOpacity,strokeOpacity:this.options.strokeOpacity},this.options.geometry.type==="point"){let[n,r]=this.options.geometry.coords;return this.position.set(n,r,this.options.height+this.options.airHeight),this}this.initDoor(),this.init(),this.visible=this.options.visible,this.addEventListener("change-fillColor",n=>{let{value:r}=n;this.initMaterial(),this.initMesh()}),this.addEventListener("change-fillOpacity",n=>{let{value:r}=n;this.initMaterial(),this.initMesh()}),this.addEventListener("change-height",n=>{let{value:r}=n;this.dispose(),this.init()}),this.addEventListener("change-strokeColor",n=>{let{value:r}=n;!this.options.stroke||!this.options.strokeOpacity||(this.initLineMaterial(),this.createBorder())}),this.addEventListener("change-strokeOpacity",n=>{let{value:r}=n;if(this.options.stroke)if(r)this.lineGeometry||this.initLineGeometry(),this.initLineMaterial(),this.createBorder();else{var i;this.line&&(this.remove(this.line),this.line=null),(i=this.lineGeometry)==null||i.dispose(),this.lineGeometry=void 0}}),this.addEventListener("change-airHeight",n=>{let{value:r}=n;this.position.z=r}),this.addEventListener("change-visible",n=>{let{value:r}=n;this.visible=r}),this.addEventListener("change-stroke",n=>{let{value:r}=n;if(r){if(this.line)return;this.initLineGeometry(),this.initLineMaterial(),this.createBorder()}else if(this.line){var i;this.remove(this.line),(i=this.lineGeometry)==null||i.dispose()}}),this.addEventListener("change-dashed",()=>{!this.options.stroke||!this.options.strokeOpacity||(this.lineGeometry||this.initLineGeometry(),this.initLineMaterial(),this.createBorder())}),this.addEventListener("change-renderType",()=>{this.initMaterial(),this.initMesh()}),this.addEventListener("change-gradualColor",()=>{this.initMaterial(),this.initMesh()})}};import{Object3D as pu,PlaneGeometry as fu,Mesh as du,ShadowMaterial as gu,Color as mu,DoubleSide as _u}from"three";var An=class extends pu{initLight(){let t=Ui(16777215,.5);return t.position.set(0,0,100),this.add(t),t}changeLightCamera(t){let e=t.x,n=t.y;this.directionalLight.shadow.camera.left=-e,this.directionalLight.shadow.camera.right=e,this.directionalLight.shadow.camera.top=n,this.directionalLight.shadow.camera.bottom=-n,this.directionalLight.shadow.camera.near=.5,this.directionalLight.shadow.camera.far=Math.max(e,n)}changeLightColor(t){this.directionalLight.color=new mu(t)}setPosition(t){this.position.copy(t),this.directionalLight.position.set(-t.x/2,-t.y/2,100)}initPlane(t,e){t===void 0&&(t=1e3),e===void 0&&(e=1e3);let n=new fu(t,e),r=new gu({transparent:!0,opacity:0,side:_u}),i=new du(n,r);return i.receiveShadow=!0,i.position.z=-10,this.add(i),this.plane=i,i}setTarget(t){this.directionalLight.target=t}transformOpacity(t){return t*this.basicOpacity}setOpacity(t){this.plane.material.opacity=this.transformOpacity(t)}dispose(){O(this,!0)}constructor(){super(),this.basicOpacity=.07,this.directionalLight=this.initLight(),this.initPlane()}};import"core-js/modules/web.dom-collections.iterator.js";import{EventDispatcher as xu,Vector3 as Eu}from"three";import{Box3 as Ro,Vector3 as et}from"three";import{debounce as yu}from"lodash";var vu={autoUpdate:!0,appendToBody:!1,autoChangePlacement:!1},be=class extends Q{initObserver(){let t=new MutationObserver(yu(()=>{this.div&&this.usePlacement()},100));t.observe(this.div,{childList:!0,subtree:!0,attributes:!0}),this.observer=t}getPlacementPosition(){var t,e;if(this.element instanceof it&&this.element.options.geometry.type==="polygon"){let{max:o,min:s}=new Ro().setFromObject(this.element),u=(o.x+s.x)/2,l=(o.y+s.y)/2;return{left:new et(s.x,l,o.z),leftTop:new et(s.x,o.y,o.z),top:new et(u,o.y,o.z),rightTop:new et(o.x,o.y,o.z),right:new et(o.x,l,o.z),rightBottom:new et(o.x,s.y,o.z),bottom:new et(u,s.y,o.z),leftBottom:new et(s.x,s.y,o.z),center:new et(u,l,o.z)}}let{x:n,y:r,z:i}=((e=this.element)==null||(t=e.getPosition)==null?void 0:t.call(e))||this.position;return{left:new et(n,r,i),leftTop:new et(n,r,i),top:new et(n,r,i),rightTop:new et(n,r,i),right:new et(n,r,i),rightBottom:new et(n,r,i),bottom:new et(n,r,i),leftBottom:new et(n,r,i),center:new et(n,r,i)}}getPlacementScreenPosition(){let{width:t,height:e}=this.context.clientSize,n=this.getPlacementPosition();return Object.keys(n).reduce((r,i)=>{let{x:o,y:s}=P(n[i],this.context.camera,t,e);return r[i]={x:o,y:s},r},{})}checkOverflow(t,e){let{width:n,height:r}=this.context.clientSize;return e.x>0&&t.x<n&&e.y<r&&t.y>0}getPlacement(){let{clientWidth:t,clientHeight:e}=this.div,n=this.getPlacementScreenPosition(),r=t/2,i=e/2,o=[{type:"center",getBox(s,u){return{max:{x:r+s,y:u-e},min:{x:s-r,y:u}}}},{type:"left",getBox(s,u){return{max:{x:s,y:u-i},min:{x:s-t,y:u+i}}}},{type:"leftTop",getBox(s,u){return{max:{x:s,y:u-e},min:{x:s-t,y:u}}}},{type:"top",getBox(s,u){return{max:{x:s+r,y:u-e},min:{x:s-r,y:u}}}},{type:"rightTop",getBox(s,u){return{max:{x:s+t,y:u-e},min:{x:s,y:u}}}},{type:"right",getBox(s,u){return{max:{x:s+t,y:u-i},min:{x:s,y:u+i}}}},{type:"rightBottom",getBox(s,u){return{max:{x:s+t,y:u},min:{x:s,y:u+e}}}},{type:"bottom",getBox(s,u){return{max:{x:s+r,y:u},min:{x:s-r,y:u+e}}}},{type:"leftBottom",getBox(s,u){return{max:{x:s,y:u},min:{x:s-t,y:u+i}}}}];for(let s=0;s<o.length;s++){let u=o[s],l=n[u.type],{max:c,min:h}=u.getBox(l.x,l.y);if(this.checkOverflow(c,h))return{type:u.type,position:l}}return{type:"center",position:n.center}}initDiv(){let t=document.createElement("div");return t.style.position="absolute",t}usePlacement(){let t=this.getPlacement();this.div.className="overlay_"+t.type,this._updatePosition(t.position.x,t.position.y)}bindElement(t){this.element=t,this.options.autoChangePlacement&&this.initObserver(),this.onUpdate()}unBindElement(){this.element=void 0}setVisible(t,e){e===void 0&&(e="block"),t!==this.visible&&(this.div.style.display=t?e:"none",this.visible=t)}setOpacity(t){this.div.style.opacity=""+t}getPosition(){return this.element?typeof this.element.getPosition=="function"?this.element.getPosition():new Ro().setFromObject(this.element).getCenter(new et):this.position}get withinDisplayRange(){let{x:t,y:e}=this.clientPos,{width:n,height:r}=this.context.clientSize;return t>=0&&t<=n&&e>=0&&e<=r}_updatePosition(t,e){this.clientPos={x:t,y:e};let{width:n,height:r,x:i,y:o}=this.context.clientSize;if(this.div){if(this.options.appendToBody){this.div.style.left=""+i+"px",this.div.style.top=""+(o+r)+"px";return}this.options.autoUpdate?(this.div.style.left=""+t+"px",this.div.style.bottom=""+(r-e)+"px"):this.dispatchEvent({type:"update-position",x:t,y:e,width:n,height:r})}}updatePosition(t){t===void 0&&(t=!1);let e=this.getPosition(),{width:n,height:r}=this.context.clientSize,{x:i,y:o}=P(e,this.context.camera,n,r);this.clientPos.x===i&&this.clientPos.y===o&&!t||this._updatePosition(i,o)}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){var t,e;super.dispose(),this.unRegistryEvent(),this.unBindElement(),(t=this.observer)==null||t.disconnect(),(e=this.div)==null||e.remove(),this.div=null}constructor(t,e={}){super(),this.context=t,this.position=new et,this.clientPos={x:0,y:0},this.visible=!0,this.placement="top",this.observer=null,this.onUpdate=()=>{this.options.autoChangePlacement?this.usePlacement():this.updatePosition()},this.options=v({},vu,e),this.registryEvent(),this.div=this.initDiv(),this.options.appendToBody?document.body.appendChild(this.div):this.context.container.appendChild(this.div)}};var bu={texts:[{text:""}],level:1,icon_position:"bottom",collision_enable:!0,opacity:1,id:"",position:{x:0,y:0,z:0},icon_opacity:1,icon_border:{color:"#586EE0",width:0},background:"",collision_hide_icon:!0,built_in:!1,box_only_icon:!1},ae=class extends xu{get withinDisplayRange(){return this.overlay.withinDisplayRange}resetSize(){return g(this,null,function*(){if(yield Gi(),!this.disposed)if(this.options.box_only_icon){if(!this.img)return;let{width:t,height:e}=this.img.getBoundingClientRect();this.size={width:t+2,height:e+2}}else{let{width:t,height:e}=this.div.getBoundingClientRect();this.size={width:t+2,height:e+2}}})}renderHelperBox(){}get clientPos(){return this.overlay.clientPos}initDiv(){let t=document.createElement("div");return this.div=t,this.addText(),this.options.icon&&this.addIcon(),t.style.fontSize="12px",t.style.textShadow="#fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0",t.style.display="flex",t.style.flexDirection="column",t.style.justifyContent="center",t.style.alignItems="center",t.style.padding="4px",this.overlay.setOpacity(this.options.opacity),this.overlay.div.style.pointerEvents="none",this.overlay.div.style.userSelect="none",this.overlay.div.appendChild(t),this.resetSize(),t}addIcon(){if(!this.img){let t=this.initIcon();this.options.icon_position==="top"?this.div.firstChild?this.div.insertBefore(t,this.div.firstChild):this.div.appendChild(t):this.div.appendChild(t)}}addText(){let t=this.initText();this.options.icon_position==="top"?this.div.appendChild(t):this.div.firstChild?this.div.insertBefore(t,this.div.firstChild):this.div.appendChild(t)}getPosition(){return this.position}initText(){let t=document.createElement("div");return t.appendChild(this.createTextFragment()),t.style.textAlign="center",this.textDiv=t,t}createTextFragment(){let t=document.createDocumentFragment();return this.options.texts.forEach(e=>{let n=document.createElement("div");if(n.style.whiteSpace="nowrap",e.styles)for(let[r,i]of Object.entries(e.styles))n.style[r]=i;n.textContent=e.text,t.appendChild(n)}),t}initIcon(){var t,e;let n=document.createElement("img");return n.setAttribute("src",this.options.icon),n.style.width=""+(((t=this.options.icon_size)==null?void 0:t[0])||32)+"px",n.style.height=""+(((e=this.options.icon_size)==null?void 0:e[1])||32)+"px",n.style.opacity=""+this.options.icon_opacity+"px",n.style.borderRadius="50%",this.options.icon_border.width&&(n.style.border=this.options.icon_border.width+"px solid "+this.options.icon_border.color),n.onload=()=>{this.resetSize()},this.img=n,n}registryEvent(){}unRegistryEvent(){}setVisible(t){t!==this.visible&&(this.visible=t,this.changeOverlayVisible(t))}changeOverlayVisible(t){if(!(t===this.overlay.visible&&this.options.collision_hide_icon))if(this.options.collision_hide_icon)this.overlay.visible=t,this.overlay.div.style.visibility=t?"visible":"hidden";else{if(this.showTextStatus===t)return;this.textDiv.style.visibility=t?"visible":"hidden",this.showTextStatus=t}}parentSetVisible(t){this.visible&&this.changeOverlayVisible(t)}getBox(t){t===void 0&&(t=this.context.config.poi.boxScale);let{width:e,height:n}=this.size,r=e*t,i=n*t,{x:o,y:s}=this.overlay.clientPos;return{left:o-r/2,right:o+r/2,top:this.options.icon?s-i:s-i/2,bottom:this.options.icon?s:s+i/2}}getOriginBox(){return this.getBox(1)}isContain(t,e){if(!this.overlay.visible||!this.visible)return!1;let n=this.getOriginBox();return t>=n.left&&t<=n.right&&e>=n.top&&e<=n.bottom}dispose(){this.unRegistryEvent(),this.div=null,this.textDiv=null,this.img=void 0,this.overlay.dispose(),this.disposed=!0}constructor(t,e){var n,r,i;super(),this.context=t,this.visible=!0,this.size={width:0,height:0},this.position=new Eu,this.userData={},this.showTextStatus=!0,this.disposed=!1,this._changePosition=()=>{this.overlay.updatePosition(!0)},this.options=fe(v({},bu,e),this),this.position.set(((n=e.position)==null?void 0:n.x)||0,((r=e.position)==null?void 0:r.y)||0,((i=e.position)==null?void 0:i.z)||0),this.overlay=new be(this.context,{autoUpdate:!1}),this.overlay.addEventListener("update-position",o=>{let{x:s,y:u,height:l}=o;this.overlay.div.style.transform="translate3d(calc("+s+"px - 50%), calc("+(-l+u)+"px - "+(this.options.icon&&this.options.icon_position!=="center"?"100%":"50%")+"), 0)"}),this.overlay.bindElement(this),this.registryEvent(),this.initDiv(),this.addEventListener("change-icon",o=>{let{value:s}=o;s?this.img?this.img.setAttribute("src",s):(this.addIcon(),this._changePosition()):(this.img&&this.div.removeChild(this.img),this.img=void 0,this._changePosition(),this.resetSize())}),this.addEventListener("change-texts",o=>{let{value:s}=o,u=this.textDiv;if(u){let l=this.initText();this.div.replaceChild(l,u)}else this.addText();this.resetSize()}),this.addEventListener("change-opacity",o=>{let{value:s}=o;this.overlay.setOpacity(s)}),this.addEventListener("change-icon_size",o=>{let{value:s}=o;this.img&&(this.img.style.width=""+((s==null?void 0:s[0])||32)+"px",this.img.style.height=""+((s==null?void 0:s[1])||32)+"px",this.resetSize())}),this.addEventListener("change-icon_opacity",o=>{let{value:s}=o;this.img&&(this.img.style.opacity=""+s)}),this.addEventListener("change-icon_border",o=>{let{value:s}=o;this.img&&(this.img.style.border=s.width+"px solid "+s.color)}),this.addEventListener("change-background",o=>{let{value:s}=o;this.div.style.background=s})}};import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.set.difference.v2.js";import"core-js/modules/es.set.intersection.v2.js";import"core-js/modules/es.set.is-disjoint-from.v2.js";import"core-js/modules/es.set.is-subset-of.v2.js";import"core-js/modules/es.set.is-superset-of.v2.js";import"core-js/modules/es.set.symmetric-difference.v2.js";import"core-js/modules/es.set.union.v2.js";import{Box3 as Gn,Object3D as oi,Vector3 as kn}from"three";import{MeshBasicMaterial as Su,Object3D as Mu,PlaneGeometry as wu,Texture as Tu,Mesh as Au,Matrix3 as Po,Vector2 as Cu,FrontSide as Iu}from"three";import{create as Ru}from"@mars3d/heatmap.js";import{bbox as Pu,center as Lu}from"@turf/turf";var Cn=class extends Mu{clearHeatmap(){this.div.firstChild&&this.div.removeChild(this.div.firstChild),this.heatmap=void 0}loadData(t){var e;this.clearHeatmap();let{width:n,height:r,leftTop:i,center:o,scale:s}=this.box,u=((e=this.context.config.heatMap)==null?void 0:e.radius)||1,l=v({width:n,height:r,container:this.div},this.context.config.heatMap,{radius:u});this.heatmap=Ru(l);let c=this.transformData(t,i,s);t.maxValue!==void 0&&(c.max=t.maxValue),t.minValue!==void 0&&(c.min=t.minValue),this.heatmap.setData(c),this.initPlane(n/s,r/s);let h=this.context.center;this.position.set(o[0]-h[0],o[1]-h[1],this.position.z)}initPlane(t,e){this.plane&&this.remove(this.plane);let n=new wu(t,e),r=new Tu(this.div.firstChild);r.needsUpdate=!0;let i=new Su({transparent:!0,side:Iu,map:r});i.needsUpdate=!0,this.plane=new Au(n,i),this.plane.renderOrder=1e5,this.add(this.plane)}getTransMatrix(t){let{x:e,y:n}=t;return new Po().makeScale(this.box.scale,-this.box.scale).multiply(new Po().makeTranslation(-e,-n))}transformData(t,e,n){var r,i;let o=this.getTransMatrix(e);var s;let u=(s=(r=t.data[0])==null?void 0:r.value)!=null?s:0;var l;let c=(l=(i=t.data[0])==null?void 0:i.value)!=null?l:0;return{data:t.data.map(p=>{let f=new Cu(p.x,p.y).applyMatrix3(o);return p.value>u&&(u=p.value),p.value<c&&(c=p.value),{x:Math.ceil(f.x),y:Math.ceil(f.y),value:p.value}}),max:u,min:c}}getBox(){let t=this.context.range,e=Pu(t),n=Math.ceil(e[2]-e[0]),r=Math.ceil(e[3]-e[1]),i=4e3,o=4e3,s=i/n,u=o/r,l=Math.min(s,u);this.scaleRatio=l;let c=n*l,h=r*l,p={x:Math.ceil(e[0]),y:Math.ceil(e[3])},f=Lu(t).geometry.coordinates;return{width:c,height:h,leftTop:p,center:f,scale:l}}dispose(){this.clearHeatmap(),this.div.remove(),this.div=null,this.plane&&(this.remove(this.plane),O(this.plane))}constructor(t){super(),this.context=t,this.scaleRatio=1,this.div=document.createElement("div"),this.box=this.getBox()}};import{Object3D as Nu,Vector3 as Ou}from"three";var In=class extends Nu{loadModel(){return g(this,null,function*(){let t=yield at.loadModel(this.options.modelUrl);t.scene.rotation.set(Math.PI/2,Math.PI/2,0),this.add(t.scene),this.model=t})}dispose(){O(this),this.model=null}constructor(t,e){super(),this.context=t,this.options=e,this.model=null,this.position.copy(e.position||new Ou(0,0,0)),this.loadModel()}};import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as Uu,Vector3 as Fu}from"three";import{Object3D as Du}from"three";var Y=class extends Du{setOpacity(t,e){e===void 0&&(e=!1),this.children.forEach(n=>{n.setOpacity==null||n.setOpacity.call(n,t,e)})}dispose(){O(this),this.children.forEach(t=>t.dispose==null?void 0:t.dispose.call(t)),this.clear()}constructor(t){super(),this.context=t}};var Rn=class extends Y{getCenter(){return new Uu().setFromObject(this).getCenter(new Fu)}createGraphic(t){let e=new it(this.context,t);return e.userData.data=t,this.add(e),this.graphicMap.set(t.id,e),e}removeGraphic(t){this.remove(t),this.graphicMap.delete(t.options.id),t.dispose()}removeGraphicById(t){this.graphicMap.has(t)&&this.removeGraphic(this.graphicMap.get(t))}getGraphicByNodeId(t){return this.graphicMap.get(t)||null}getGraphicByRaycaster(t){let e={distance:1e4,graphic:null,position:null},n=this.children.reduce((r,i)=>{if(i instanceof it){let o=i.raycast(t);if(o){let{distance:s}=o;if(s<r.distance)return{distance:o.distance,position:o.position,graphic:i}}return r}else return r},e);return n===e?{graphics:[],position:null}:{graphics:[n.graphic],position:n.position}}setGraphicOptions(t,e){let n,r=this.graphicMap.get(t);r&&(typeof e=="function"?n=e(r.options):n=v({},r.options,e),Object.keys(n).forEach(i=>{r.options[i]=n[i]}))}getGraphicPosition(t){let e=this.graphicMap.get(t);return e?[e.options.center_x,e.options.center_y]:null}setOpacity(t,e){e===void 0&&(e=!1),this.graphicMap.forEach(n=>{n.setOpacity(t,e)})}constructor(t){super(t),this.graphicMap=new Map}};import"core-js/modules/es.array.unshift.js";import"core-js/modules/es.array.push.js";import{debounce as Bu}from"lodash";var Pn=class extends Y{clear(t){return t===void 0&&(t=!1),this.pois.forEach(e=>{e.options.built_in&&!t||e.dispose()}),this.pois=t?[]:this.pois.filter(e=>e.options.built_in),this}createPoi(t){let e=new ae(this.context,t);return this.pushPoi(e),e.addEventListener("change-level",()=>this.changePoiLevelOrCollisionEnable(e)),e.addEventListener("change-collision_enable",()=>this.changePoiLevelOrCollisionEnable(e)),Promise.resolve().then(()=>{this.debounceCollisionDetection()}),e}changePoiLevelOrCollisionEnable(t){let e=this.pois.findIndex(n=>n===t);e!==-1&&(this.pois.splice(e,1),this.pushPoi(t))}removePoi(t){let e=this.pois.findIndex(n=>n===t);e!==-1&&(this.pois.splice(e,1),t.dispose())}removePoiById(t){let e=this.pois.find(n=>n.options.id===t);e&&this.removePoi(e)}getPoiById(t){return this.pois.find(n=>n.options.id===t)||null}pushPoi(t){if(!t.options.collision_enable){this.pois.unshift(t);return}if(t.options.level===0){this.pois.push(t);return}for(let e=0;e<this.pois.length;e++){let n=this.pois[e];if(n.options.collision_enable&&n.options.level<=t.options.level){this.pois.splice(e,0,t);return}}this.pois.push(t)}getPoiByDeviceXy(t,e){return this.pois.filter(r=>r instanceof ae&&r.isContain(t,e))}collisionDetection(){let t=[];this.pois.filter(n=>n.visible&&n.withinDisplayRange).forEach((n,r)=>{let{left:i,right:o,top:s,bottom:u}=n.getBox();if(r===0||!n.options.collision_enable){t.push({left:i,right:o,top:s,bottom:u}),n.parentSetVisible(!0);return}let l=t.some(c=>c.left<o&&c.right>i&&c.top<u&&c.bottom>s);n.parentSetVisible(!l),l||t.push({left:i,right:o,top:s,bottom:u})})}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){this.timer.dispose(),this.pois.forEach(t=>t.dispose()),this.pois.length=0,this.debounceCollisionDetection=()=>{},super.dispose(),this.unRegistryEvent()}constructor(t){super(t),this.pois=[],this.timer=new X,this.onUpdate=()=>{this.timer.requestAnimationFrame(()=>{this.collisionDetection()})},this.registryEvent(),this.debounceCollisionDetection=Bu(this.collisionDetection,10)}};import"core-js/modules/es.array.push.js";import{Vector2 as zu}from"three";var Ln=class extends Y{clear(t){return t===void 0&&(t=!1),this.context.collisionSystem.removeObjects(this.pois,t),this.pois.forEach(e=>{e.dispose()}),this.pois=[],this}createPoi(t){let e=new $(this.context,t);return this.pushPoi(e),e}removePoi(t){let e=this.pois.findIndex(n=>n===t);e!==-1&&(this.remove(t),this.pois.splice(e,1),this.context.collisionSystem.removeObject(t),t.dispose())}removePoiById(t){let e=this.pois.find(n=>n.options.id===t);e&&this.removePoi(e)}getPoiById(t){return this.pois.find(n=>n.options.id===t)||null}pushPoi(t){t.parentSetVisible(!1),this.add(t),this.pois.push(t),this.sceneType==="mulFloors"&&(t.options.depth_test=!0),this.active&&this.context.collisionSystem.addObject(t)}getPoiByDeviceXy(t,e){let n=new zu(t,e);return this.pois.filter(i=>i instanceof $&&i.canSelect&&i.box.containsPoint(n))}setOpacity(t){this.pois.forEach(e=>{e.options.icon_opacity=t,e.options.text_opacity=t})}onAddToScene(t){this.active=!0,this.sceneType=t;let e=t==="mulFloors";this.pois.forEach(n=>{n.options.depth_test=e,this.context.collisionSystem.addObject(n)})}onRemoveFromScene(){this.active=!1,this.context.collisionSystem.removeObjects(this.pois)}dispose(){this.timer.dispose(),this.clear(!0),super.dispose()}constructor(t){super(t),this.pois=[],this.timer=new X,this.active=!1,this.sceneType="scene"}};import"core-js/modules/es.regexp.exec.js";import"core-js/modules/web.dom-collections.iterator.js";import{Vector2 as ti}from"three";import{isNil as Gu}from"lodash";var Nn=class extends Y{createParkings(t,e,n){e===void 0&&(e=!0),this.parkingOptions=t,this.merged=e,e?(n?this.createMergedParkingByMergedElements(n):this.createMergedParking(t),t.map((r,i)=>{var o;(o=r.texts[0])==null||o.split(/[,,]/).map(s=>{this.parkingNoIndexMap.set(s,i)}),this.nodeIdIndexMap.set(r.id,i)})):this.createIndependentParking(t)}load(t,e){e===void 0&&(e=!0);var n;this.createParkings(t.elements,e,t.mergedElements),(n=t.mergedParkingTexture)!=null&&n.length?this.createMergedParkingTexture(t.mergedParkingTexture):this.createParkingTexture(t.elements)}createMergedParking(t){return g(this,null,function*(){let e=new We(this.context,t);this.mergedParkingSpace=e,this.add(e)})}createMergedParkingByMergedElements(t){let e=new Se(this.context,t);if(this.mergedParkingSpace=e,t.lineGeometry){let n=new ce(this.context,t.lineGeometry);this.add(n)}this.add(e)}createIndependentParking(t){t.forEach(e=>{var n;let r=new it(this.context,e);this.add(r),(n=e.texts[0])==null||n.split(/[,,]/).map(i=>{this.parkingNoGraphicMap.set(i,r)}),this.graphicMap.set(r.options.id,r)})}createParkingTexture(t){let e=t.filter(n=>Sn[n.parkingType]).map(n=>{let r=new ti(...n.geometry.coords[0][0]),i=new ti(...n.geometry.coords[0][1]),o=new ti(...n.geometry.coords[0][2]),s=Math.min(r.distanceTo(i),i.distanceTo(o)),u=0;return s===r.distanceTo(i)?u=i.sub(r).angle()-Math.PI/2:u=o.sub(i).angle()-Math.PI/2,{uuid:n.id,iconUrl:Sn[n.parkingType],name:n.texts[0],deltaHeight:(n.deltaHeight||0)+.001,airHeight:n.airHeight,height:n.height,geometry:n.geometry,opacity:n.fillOpacity,visible:!0,secondWidth:s-1,secondHeight:s-1,secondRotate:u,centerCoords:[n.center_coord_x,n.center_coord_y]}});if(e.length){let n=new ue(this.context,e);this.add(n)}}createMergedParkingTexture(t){t.map(e=>{e.iconUrl=Sn[e.iconUrl];let n=new le(this.context,e);this.add(n)})}changeParkingColor(t){this.merged?Object.keys(t).map(e=>{let n=this.parkingNoIndexMap.get(e);if(!Gu(n)){var r;(r=this.mergedParkingSpace)==null||r.setColorByIndex(n,t[e])}}):Object.keys(t).map(e=>{let n=this.parkingNoGraphicMap.get(e);n&&(n.options.fillColor=t[e])})}setOpacity(t,e){if(e===void 0&&(e=!1),this.parkingOptions.forEach(r=>{if(e)r.fillOpacity=t,r.strokeOpacity=t;else{let s=this.parkingOriginOptions.get(r.id);var i;r.fillOpacity=Math.min(t,(i=s==null?void 0:s.fillOpacity)!=null?i:1);var o;r.strokeOpacity=Math.min(t,(o=s==null?void 0:s.strokeOpacity)!=null?o:1)}}),this.merged)if(this.mergedParkingSpace instanceof We)this.mergedParkingSpace.setOpacity(t,e);else{var n;(n=this.mergedParkingSpace)==null||n.setOpacity(t,e)}else this.graphicMap.forEach(r=>{r.setOpacity(t,e)});this.children.filter(r=>r instanceof ue||r instanceof le).map(r=>r.setOpacity(t))}getParkingOptionsByParkingNo(t){return this.parkingOptions.find(n=>n.texts[0]===t)||null}getGraphicPosition(t){if(this.merged){let e=this.parkingOptions.find(n=>n.id===t);return e?[e.center_x,e.center_y]:null}}dispose(){var t;(t=this.mergedParkingSpace)==null||t.dispose(),this.mergedParkingSpace=null,O(this),this.graphicMap.clear(),this.parkingNoGraphicMap.clear(),this.parkingNoIndexMap.clear(),this.nodeIdIndexMap.clear(),this.parkingOptions=[],super.dispose()}constructor(t){super(t),this.graphicMap=new Map,this.parkingNoGraphicMap=new Map,this.parkingOriginOptions=new Map,this.parkingOptions=[],this.merged=!1,this.parkingNoIndexMap=new Map,this.nodeIdIndexMap=new Map,this.mergedParkingSpace=null}};import"core-js/modules/es.array.push.js";var On=class extends Y{addModels(t){let e=t.reduce((n,r)=>{let{url:i}=r;return n[i]?n[i].push(r):n[i]=[r],n},{});Object.values(e).forEach(n=>{let r=new Dn(this.context,n);this.add(r)})}constructor(t){super(t)}};import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as Zu,Group as Oo,Matrix4 as Ku,Quaternion as $u,Vector3 as ni}from"three";import{LineMaterial as ku}from"three/examples/jsm/lines/LineMaterial.js";import{Color as Xe,LineBasicMaterial as Vu,MeshStandardMaterial as Hu,MeshBasicMaterial as Wu,ShaderMaterial as Me,DoubleSide as Xu,LineDashedMaterial as qu}from"three";function Lo(a){return`${a.x}-${a.y}-${a.z}`}var ct=class{static generateLineMaterialKey({color:t,opacity:e}){return`${t}-${e}`}static createLineMaterial({color:t,opacity:e,vertexColors:n}){let r=this.generateLineMaterialKey({color:t,opacity:e,vertexColors:n});if(this.lineMaterialMap.has(r))return this.lineMaterialMap.get(r);let i=new Vu({color:new Xe(t).convertLinearToSRGB(),transparent:!0,opacity:e,vertexColors:n!=null?n:!1});return this.lineMaterialMap.set(r,i),i}static createMeshStandardMaterial({color:t,opacity:e}){let n=`${t}-${e}`;if(this.meshStandardMaterialMap.has(n))return this.meshStandardMaterialMap.get(n);let r=new Hu({color:new Xe(t).convertLinearToSRGB(),roughness:1,transparent:!0,opacity:e,depthWrite:!0});return this.meshStandardMaterialMap.set(n,r),r}static createMeshBasicMaterial({color:t,opacity:e,vertexColors:n}){let r=`${t}-${e}-${n}`;if(this.meshBasicMaterialMap.has(r))return this.meshBasicMaterialMap.get(r);let i=new Wu({color:t,transparent:!0,opacity:e,depthWrite:!0,vertexColors:n!=null?n:!1});return this.meshBasicMaterialMap.set(r,i),i}static createShaderMaterial({gradualColor:t,center:e,maxValue:n,opacity:r,direction:i,max:o,min:s}){let u=`${t.toString()}-${Lo(e)}-${n}-${r}-${Lo(i)}`;if(this.shaderMaterialMap.has(u))return this.shaderMaterialMap.get(u);let l=`
4031
+ `],{type:"text/javascript"}),t=URL.createObjectURL(a),e=new Worker(t);return URL.revokeObjectURL(t),e}import{BufferGeometry as iu,BufferAttribute as Ao}from"three";var Mt=class{static GetMergeGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedShapeGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_shape_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedTexture2dGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_texture2d_shape_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetBufferGeometryByData(t){let e=new iu;return Object.keys(t.attributes).forEach(n=>{e.setAttribute(n,new Ao(t.attributes[n].array,t.attributes[n].itemSize))}),t.index&&e.setIndex(new Ao(t.index.array,t.index.itemSize)),e.morphAttributes=t.morphAttributes,e.morphTargetsRelative=t.morphTargetsRelative,e.groups=t.groups,e.boundingSphere=t.boundingSphere,e}static GetMergedGeometry(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_geometries_json",{data:t});return this.WorkerPool.releaseWorker(e),n?v({},t[0],n):null})}static GetMergedGeometryLine(t){return g(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield H(e,"get_merged_geometries_line_json",{data:t});return this.WorkerPool.releaseWorker(e),n?v({},t[0],n):null})}static dispose(){this.WorkerPool.dispose()}};Mt.WorkerPool=new yn(10,Qr);import{cloneDeep as hu}from"lodash";var Wt={id:"",height:.1,airHeight:0,area:0,group:"",fillColor:"#EFF4FB",strokeColor:"#ffffff",fillOpacity:1,strokeOpacity:1,strokeWidth:1,doors:[],visible:!0,geometry:{type:"polygon",cds:[],coords:[],curveCpt:[],curveIndex:[]},layerType:"",zIndex:0,stroke:!0,deltaHeight:0,userData:{},gradualColor:[],renderType:"single",colorFactor:.9,center_x:0,center_y:0,center_coord_x:0,center_coord_y:0,dashed:!1},it=class extends ou{getCenter(){if(this.options.geometry.type==="point")return this.position.clone();let t=new vt,e=new Tn;return e.setFromObject(this),e.getCenter(t),t}getSize(){if(this.options.geometry.type==="point")return new vt(0,0,0);let t=new Tn,e=new vt;return t.setFromObject(this),t.getSize(e),e}getPosition(){let{center_coord_x:t,center_coord_y:e}=this.options,n=this.getCenter();return n.setZ(n.z+this.options.height/2),new vt(t,e,n.z+this.options.height/2)}init(){this.geometry=this.initGeometry(),this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options.airHeight+this.options.deltaHeight,this.options.stroke&&this.options.strokeOpacity!==0&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())}initDoor(){var t;if((t=this.options.doors)!=null&&t.length&&this.options.geometry.type==="polygon"){let e=this.options.geometry.coords[0];this.options.doors.forEach(n=>{let r=n.type==="single"?.5:1,i=.5,o=zt(e,n.coord),s=new Ht(...n.coord),u=new Ht(...e[o]).sub(new Ht(...n.coord)).normalize(),l=new Ht().addVectors(s,u.clone().multiplyScalar(r)),c=new Ht().addVectors(s,u.clone().multiplyScalar(-r)),h=new Ht(-u.y,u.x),p=new Ht().addVectors(l,h.clone().multiplyScalar(i));Bi([p.x,p.y],e)||(h.multiplyScalar(-1),p=new Ht().addVectors(l,h.clone().multiplyScalar(i)));let f=new Ht().addVectors(c,h.clone().multiplyScalar(i)),d=[[l.x,l.y],[p.x,p.y],[f.x,f.y],[c.x,c.y]];e=this.options.geometry.coords[0]=[...e.slice(0,o+1),...d,...e.slice(o+1)]})}}initGeometry(){let t=un(this.options.geometry.coords[0],this.options.geometry.coords.slice(1));return new su(t,{steps:1,bevelEnabled:!1,depth:this.options.height,curveSegments:4})}initSingleMaterial(){let t=w.createMeshBasicMaterial({color:this.options.fillColor,opacity:this.options.fillOpacity});if(this.options.secondUrl&&rt.getTextureByUrl(this.options.secondUrl).then(n=>{n.wrapS=Io,n.wrapT=Io,n.needsUpdate=!0,t.map=n,t.side=cu}),this.options.height<=.1)return this.material=t,t;let e=w.createMeshBasicMaterial({color:Gt(this.options.fillColor),opacity:this.options.fillOpacity});return this.material=[t,e],[t,e]}getMaxAndMin(t,e){let n=new Tn().setFromObject(this),r=t.clone().add(e.clone().multiplyScalar(1e3)),i=new Co(r,e.clone().multiplyScalar(-1)),o=new vt;i.intersectBox(n,o);let s=t.clone().add(e.clone().multiplyScalar(-1e3)),u=new Co(s,e.clone()),l=new vt;return u.intersectBox(n,l),{max:l,min:o}}initGradualMaterial(){let{max:t,min:e}=new Tn().setFromObject(this),n=t.clone().sub(e),r=Math.max(n.x,n.y,n.z)/2,i=this.getPosition(),o=new vt(-1,.2,0).normalize(),{max:s,min:u}=this.getMaxAndMin(i,o),l=w.createShaderMaterial({gradualColor:this.options.gradualColor,center:this.getPosition(),maxValue:r,opacity:this.options.fillOpacity,direction:new vt(-1,.2,0),max:s,min:u});if(this.options.height<=.1)return this.material=l,l;let c=this.getCenter(),h=new vt(-1,.2,1).normalize(),{max:p,min:f}=this.getMaxAndMin(c,h),d=w.createShaderMaterial({gradualColor:[Gt(this.options.gradualColor[0],this.options.colorFactor),Gt(this.options.gradualColor[1],this.options.colorFactor)],center:this.getCenter(),maxValue:r,opacity:this.options.fillOpacity,direction:new vt(-1,.2,1),max:p,min:f});return this.material=[l,d],[l,d]}initMaterial(){return this.options.renderType==="gradual"?this.initGradualMaterial():this.initSingleMaterial()}initLineMaterial(){if(this.options.dashed){let t=w.createLineDashedMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}else{let t=w.createLineMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new au(this.geometry,this.material),this.add(this.mesh)}getBorderPoints(){let t=[],e=this.options.height+this.options.deltaHeight,{coords:n}=this.options.geometry;for(let r=0;r<n.length;r++){let i=n[r];for(let o=0;o<i.length;o++){let s=i[o],u=o+1===i.length?i[0]:i[o+1];t.push(new vt(s[0],s[1],e)),t.push(new vt(u[0],u[1],e))}}return t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new uu().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new lu(this.lineGeometry,this.lineMaterial);return t.position.z=this.options.airHeight+.01,this.options.dashed&&t.computeLineDistances(),this.line=t,this.add(t),t}setOpacity(t,e){if(e===void 0&&(e=!1),e)this.options.fillOpacity=t,this.options.strokeOpacity=t;else{let{fillOpacity:n,strokeOpacity:r}=this.originOptions;this.options.fillOpacity=Math.min(n,t),this.options.strokeOpacity=Math.min(r,t)}}raycast(t){if(!this.visible||this.options.geometry.type==="point")return!1;this.mesh.updateMatrixWorld(!0);let e=t.intersectObject(this.mesh);if(e[0]){let{point:n,distance:r}=e[0];return{position:n,distance:r}}return!1}dispose(){var t,e;(t=this.geometry)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){if(super(),this.context=t,this.line=null,this.options=fe(hu(v({},Wt,e)),this),this.originOptions={fillOpacity:this.options.fillOpacity,strokeOpacity:this.options.strokeOpacity},this.options.geometry.type==="point"){let[n,r]=this.options.geometry.coords;return this.position.set(n,r,this.options.height+this.options.airHeight),this}this.initDoor(),this.init(),this.visible=this.options.visible,this.addEventListener("change-fillColor",n=>{let{value:r}=n;this.initMaterial(),this.initMesh()}),this.addEventListener("change-fillOpacity",n=>{let{value:r}=n;this.initMaterial(),this.initMesh()}),this.addEventListener("change-height",n=>{let{value:r}=n;this.dispose(),this.init()}),this.addEventListener("change-strokeColor",n=>{let{value:r}=n;!this.options.stroke||!this.options.strokeOpacity||(this.initLineMaterial(),this.createBorder())}),this.addEventListener("change-strokeOpacity",n=>{let{value:r}=n;if(this.options.stroke)if(r)this.lineGeometry||this.initLineGeometry(),this.initLineMaterial(),this.createBorder();else{var i;this.line&&(this.remove(this.line),this.line=null),(i=this.lineGeometry)==null||i.dispose(),this.lineGeometry=void 0}}),this.addEventListener("change-airHeight",n=>{let{value:r}=n;this.position.z=r}),this.addEventListener("change-visible",n=>{let{value:r}=n;this.visible=r}),this.addEventListener("change-stroke",n=>{let{value:r}=n;if(r){if(this.line)return;this.initLineGeometry(),this.initLineMaterial(),this.createBorder()}else if(this.line){var i;this.remove(this.line),(i=this.lineGeometry)==null||i.dispose()}}),this.addEventListener("change-dashed",()=>{!this.options.stroke||!this.options.strokeOpacity||(this.lineGeometry||this.initLineGeometry(),this.initLineMaterial(),this.createBorder())}),this.addEventListener("change-renderType",()=>{this.initMaterial(),this.initMesh()}),this.addEventListener("change-gradualColor",()=>{this.initMaterial(),this.initMesh()})}};import{Object3D as pu,PlaneGeometry as fu,Mesh as du,ShadowMaterial as gu,Color as mu,DoubleSide as _u}from"three";var An=class extends pu{initLight(){let t=Ui(16777215,.5);return t.position.set(0,0,100),this.add(t),t}changeLightCamera(t){let e=t.x,n=t.y;this.directionalLight.shadow.camera.left=-e,this.directionalLight.shadow.camera.right=e,this.directionalLight.shadow.camera.top=n,this.directionalLight.shadow.camera.bottom=-n,this.directionalLight.shadow.camera.near=.5,this.directionalLight.shadow.camera.far=Math.max(e,n)}changeLightColor(t){this.directionalLight.color=new mu(t)}setPosition(t){this.position.copy(t),this.directionalLight.position.set(-t.x/2,-t.y/2,100)}initPlane(t,e){t===void 0&&(t=1e3),e===void 0&&(e=1e3);let n=new fu(t,e),r=new gu({transparent:!0,opacity:0,side:_u}),i=new du(n,r);return i.receiveShadow=!0,i.position.z=-10,this.add(i),this.plane=i,i}setTarget(t){this.directionalLight.target=t}transformOpacity(t){return t*this.basicOpacity}setOpacity(t){this.plane.material.opacity=this.transformOpacity(t)}dispose(){O(this,!0)}constructor(){super(),this.basicOpacity=.07,this.directionalLight=this.initLight(),this.initPlane()}};import"core-js/modules/web.dom-collections.iterator.js";import{EventDispatcher as xu,Vector3 as Eu}from"three";import{Box3 as Ro,Vector3 as et}from"three";import{debounce as yu}from"lodash";var vu={autoUpdate:!0,appendToBody:!1,autoChangePlacement:!1},be=class extends Q{initObserver(){let t=new MutationObserver(yu(()=>{this.div&&this.usePlacement()},100));t.observe(this.div,{childList:!0,subtree:!0,attributes:!0}),this.observer=t}getPlacementPosition(){var t,e;if(this.element instanceof it&&this.element.options.geometry.type==="polygon"){let{max:o,min:s}=new Ro().setFromObject(this.element),u=(o.x+s.x)/2,l=(o.y+s.y)/2;return{left:new et(s.x,l,o.z),leftTop:new et(s.x,o.y,o.z),top:new et(u,o.y,o.z),rightTop:new et(o.x,o.y,o.z),right:new et(o.x,l,o.z),rightBottom:new et(o.x,s.y,o.z),bottom:new et(u,s.y,o.z),leftBottom:new et(s.x,s.y,o.z),center:new et(u,l,o.z)}}let{x:n,y:r,z:i}=((e=this.element)==null||(t=e.getPosition)==null?void 0:t.call(e))||this.position;return{left:new et(n,r,i),leftTop:new et(n,r,i),top:new et(n,r,i),rightTop:new et(n,r,i),right:new et(n,r,i),rightBottom:new et(n,r,i),bottom:new et(n,r,i),leftBottom:new et(n,r,i),center:new et(n,r,i)}}getPlacementScreenPosition(){let{width:t,height:e}=this.context.clientSize,n=this.getPlacementPosition();return Object.keys(n).reduce((r,i)=>{let{x:o,y:s}=P(n[i],this.context.camera,t,e);return r[i]={x:o,y:s},r},{})}checkOverflow(t,e){let{width:n,height:r}=this.context.clientSize;return e.x>0&&t.x<n&&e.y<r&&t.y>0}getPlacement(){let{clientWidth:t,clientHeight:e}=this.div,n=this.getPlacementScreenPosition(),r=t/2,i=e/2,o=[{type:"center",getBox(s,u){return{max:{x:r+s,y:u-e},min:{x:s-r,y:u}}}},{type:"left",getBox(s,u){return{max:{x:s,y:u-i},min:{x:s-t,y:u+i}}}},{type:"leftTop",getBox(s,u){return{max:{x:s,y:u-e},min:{x:s-t,y:u}}}},{type:"top",getBox(s,u){return{max:{x:s+r,y:u-e},min:{x:s-r,y:u}}}},{type:"rightTop",getBox(s,u){return{max:{x:s+t,y:u-e},min:{x:s,y:u}}}},{type:"right",getBox(s,u){return{max:{x:s+t,y:u-i},min:{x:s,y:u+i}}}},{type:"rightBottom",getBox(s,u){return{max:{x:s+t,y:u},min:{x:s,y:u+e}}}},{type:"bottom",getBox(s,u){return{max:{x:s+r,y:u},min:{x:s-r,y:u+e}}}},{type:"leftBottom",getBox(s,u){return{max:{x:s,y:u},min:{x:s-t,y:u+i}}}}];for(let s=0;s<o.length;s++){let u=o[s],l=n[u.type],{max:c,min:h}=u.getBox(l.x,l.y);if(this.checkOverflow(c,h))return{type:u.type,position:l}}return{type:"center",position:n.center}}initDiv(){let t=document.createElement("div");return t.style.position="absolute",t}usePlacement(){let t=this.getPlacement();this.div.className="overlay_"+t.type,this._updatePosition(t.position.x,t.position.y)}bindElement(t){this.element=t,this.options.autoChangePlacement&&this.initObserver(),this.onUpdate()}unBindElement(){this.element=void 0}setVisible(t,e){e===void 0&&(e="block"),t!==this.visible&&(this.div.style.display=t?e:"none",this.visible=t)}setOpacity(t){this.div.style.opacity=""+t}getPosition(){return this.element?typeof this.element.getPosition=="function"?this.element.getPosition():new Ro().setFromObject(this.element).getCenter(new et):this.position}get withinDisplayRange(){let{x:t,y:e}=this.clientPos,{width:n,height:r}=this.context.clientSize;return t>=0&&t<=n&&e>=0&&e<=r}_updatePosition(t,e){this.clientPos={x:t,y:e};let{width:n,height:r,x:i,y:o}=this.context.clientSize;if(this.div){if(this.options.appendToBody){this.div.style.left=""+i+"px",this.div.style.top=""+(o+r)+"px";return}this.options.autoUpdate?(this.div.style.left=""+t+"px",this.div.style.bottom=""+(r-e)+"px"):this.dispatchEvent({type:"update-position",x:t,y:e,width:n,height:r})}}updatePosition(t){t===void 0&&(t=!1);let e=this.getPosition(),{width:n,height:r}=this.context.clientSize,{x:i,y:o}=P(e,this.context.camera,n,r);this.clientPos.x===i&&this.clientPos.y===o&&!t||this._updatePosition(i,o)}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){var t,e;super.dispose(),this.unRegistryEvent(),this.unBindElement(),(t=this.observer)==null||t.disconnect(),(e=this.div)==null||e.remove(),this.div=null}constructor(t,e={}){super(),this.context=t,this.position=new et,this.clientPos={x:0,y:0},this.visible=!0,this.placement="top",this.observer=null,this.onUpdate=()=>{this.options.autoChangePlacement?this.usePlacement():this.updatePosition()},this.options=v({},vu,e),this.registryEvent(),this.div=this.initDiv(),this.options.appendToBody?document.body.appendChild(this.div):this.context.container.appendChild(this.div)}};var bu={texts:[{text:""}],level:1,icon_position:"bottom",collision_enable:!0,opacity:1,id:"",position:{x:0,y:0,z:0},icon_opacity:1,icon_border:{color:"#586EE0",width:0},background:"",collision_hide_icon:!0,built_in:!1,box_only_icon:!1},ae=class extends xu{get withinDisplayRange(){return this.overlay.withinDisplayRange}resetSize(){return g(this,null,function*(){if(yield Gi(),!this.disposed)if(this.options.box_only_icon){if(!this.img)return;let{width:t,height:e}=this.img.getBoundingClientRect();this.size={width:t+2,height:e+2}}else{let{width:t,height:e}=this.div.getBoundingClientRect();this.size={width:t+2,height:e+2}}})}renderHelperBox(){}get clientPos(){return this.overlay.clientPos}initDiv(){let t=document.createElement("div");return this.div=t,this.addText(),this.options.icon&&this.addIcon(),t.style.fontSize="12px",t.style.textShadow="#fff 1px 0 0, #fff 0 1px 0, #fff -1px 0 0, #fff 0 -1px 0",t.style.display="flex",t.style.flexDirection="column",t.style.justifyContent="center",t.style.alignItems="center",t.style.padding="4px",this.overlay.setOpacity(this.options.opacity),this.overlay.div.style.pointerEvents="none",this.overlay.div.style.userSelect="none",this.overlay.div.appendChild(t),this.resetSize(),t}addIcon(){if(!this.img){let t=this.initIcon();this.options.icon_position==="top"?this.div.firstChild?this.div.insertBefore(t,this.div.firstChild):this.div.appendChild(t):this.div.appendChild(t)}}addText(){let t=this.initText();this.options.icon_position==="top"?this.div.appendChild(t):this.div.firstChild?this.div.insertBefore(t,this.div.firstChild):this.div.appendChild(t)}getPosition(){return this.position}initText(){let t=document.createElement("div");return t.appendChild(this.createTextFragment()),t.style.textAlign="center",this.textDiv=t,t}createTextFragment(){let t=document.createDocumentFragment();return this.options.texts.forEach(e=>{let n=document.createElement("div");if(n.style.whiteSpace="nowrap",e.styles)for(let[r,i]of Object.entries(e.styles))n.style[r]=i;n.textContent=e.text,t.appendChild(n)}),t}initIcon(){var t,e;let n=document.createElement("img");return n.setAttribute("src",this.options.icon),n.style.width=""+(((t=this.options.icon_size)==null?void 0:t[0])||32)+"px",n.style.height=""+(((e=this.options.icon_size)==null?void 0:e[1])||32)+"px",n.style.opacity=""+this.options.icon_opacity+"px",n.style.borderRadius="50%",this.options.icon_border.width&&(n.style.border=this.options.icon_border.width+"px solid "+this.options.icon_border.color),n.onload=()=>{this.resetSize()},this.img=n,n}registryEvent(){}unRegistryEvent(){}setVisible(t){t!==this.visible&&(this.visible=t,this.changeOverlayVisible(t))}changeOverlayVisible(t){if(!(t===this.overlay.visible&&this.options.collision_hide_icon))if(this.options.collision_hide_icon)this.overlay.visible=t,this.overlay.div.style.visibility=t?"visible":"hidden";else{if(this.showTextStatus===t)return;this.textDiv.style.visibility=t?"visible":"hidden",this.showTextStatus=t}}parentSetVisible(t){this.visible&&this.changeOverlayVisible(t)}getBox(t){t===void 0&&(t=this.context.config.poi.boxScale);let{width:e,height:n}=this.size,r=e*t,i=n*t,{x:o,y:s}=this.overlay.clientPos;return{left:o-r/2,right:o+r/2,top:this.options.icon?s-i:s-i/2,bottom:this.options.icon?s:s+i/2}}getOriginBox(){return this.getBox(1)}isContain(t,e){if(!this.overlay.visible||!this.visible)return!1;let n=this.getOriginBox();return t>=n.left&&t<=n.right&&e>=n.top&&e<=n.bottom}dispose(){this.unRegistryEvent(),this.div=null,this.textDiv=null,this.img=void 0,this.overlay.dispose(),this.disposed=!0}constructor(t,e){var n,r,i;super(),this.context=t,this.visible=!0,this.size={width:0,height:0},this.position=new Eu,this.userData={},this.showTextStatus=!0,this.disposed=!1,this._changePosition=()=>{this.overlay.updatePosition(!0)},this.options=fe(v({},bu,e),this),this.position.set(((n=e.position)==null?void 0:n.x)||0,((r=e.position)==null?void 0:r.y)||0,((i=e.position)==null?void 0:i.z)||0),this.overlay=new be(this.context,{autoUpdate:!1}),this.overlay.addEventListener("update-position",o=>{let{x:s,y:u,height:l}=o;this.overlay.div.style.transform="translate3d(calc("+s+"px - 50%), calc("+(-l+u)+"px - "+(this.options.icon&&this.options.icon_position!=="center"?"100%":"50%")+"), 0)"}),this.overlay.bindElement(this),this.registryEvent(),this.initDiv(),this.addEventListener("change-icon",o=>{let{value:s}=o;s?this.img?this.img.setAttribute("src",s):(this.addIcon(),this._changePosition()):(this.img&&this.div.removeChild(this.img),this.img=void 0,this._changePosition(),this.resetSize())}),this.addEventListener("change-texts",o=>{let{value:s}=o,u=this.textDiv;if(u){let l=this.initText();this.div.replaceChild(l,u)}else this.addText();this.resetSize()}),this.addEventListener("change-opacity",o=>{let{value:s}=o;this.overlay.setOpacity(s)}),this.addEventListener("change-icon_size",o=>{let{value:s}=o;this.img&&(this.img.style.width=""+((s==null?void 0:s[0])||32)+"px",this.img.style.height=""+((s==null?void 0:s[1])||32)+"px",this.resetSize())}),this.addEventListener("change-icon_opacity",o=>{let{value:s}=o;this.img&&(this.img.style.opacity=""+s)}),this.addEventListener("change-icon_border",o=>{let{value:s}=o;this.img&&(this.img.style.border=s.width+"px solid "+s.color)}),this.addEventListener("change-background",o=>{let{value:s}=o;this.div.style.background=s})}};import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.set.difference.v2.js";import"core-js/modules/es.set.intersection.v2.js";import"core-js/modules/es.set.is-disjoint-from.v2.js";import"core-js/modules/es.set.is-subset-of.v2.js";import"core-js/modules/es.set.is-superset-of.v2.js";import"core-js/modules/es.set.symmetric-difference.v2.js";import"core-js/modules/es.set.union.v2.js";import{Box3 as Gn,Object3D as oi,Vector3 as kn}from"three";import{MeshBasicMaterial as Su,Object3D as Mu,PlaneGeometry as wu,Texture as Tu,Mesh as Au,Matrix3 as Po,Vector2 as Cu,FrontSide as Iu}from"three";import{create as Ru}from"@mars3d/heatmap.js";import{bbox as Pu,center as Lu}from"@turf/turf";var Cn=class extends Mu{clearHeatmap(){this.div.firstChild&&this.div.removeChild(this.div.firstChild),this.heatmap=void 0}loadData(t){var e;this.clearHeatmap();let{width:n,height:r,leftTop:i,center:o,scale:s}=this.box,u=((e=this.context.config.heatMap)==null?void 0:e.radius)||1,l=v({width:n,height:r,container:this.div},this.context.config.heatMap,{radius:u});this.heatmap=Ru(l);let c=this.transformData(t,i,s);t.maxValue!==void 0&&(c.max=t.maxValue),t.minValue!==void 0&&(c.min=t.minValue),this.heatmap.setData(c),this.initPlane(n/s,r/s);let h=this.context.center;this.position.set(o[0]-h[0],o[1]-h[1],this.position.z)}initPlane(t,e){this.plane&&this.remove(this.plane);let n=new wu(t,e),r=new Tu(this.div.firstChild);r.needsUpdate=!0;let i=new Su({transparent:!0,side:Iu,map:r});i.needsUpdate=!0,this.plane=new Au(n,i),this.plane.renderOrder=1e5,this.add(this.plane)}getTransMatrix(t){let{x:e,y:n}=t;return new Po().makeScale(this.box.scale,-this.box.scale).multiply(new Po().makeTranslation(-e,-n))}transformData(t,e,n){var r,i;let o=this.getTransMatrix(e);var s;let u=(s=(r=t.data[0])==null?void 0:r.value)!=null?s:0;var l;let c=(l=(i=t.data[0])==null?void 0:i.value)!=null?l:0;return{data:t.data.map(p=>{let f=new Cu(p.x,p.y).applyMatrix3(o);return p.value>u&&(u=p.value),p.value<c&&(c=p.value),{x:Math.ceil(f.x),y:Math.ceil(f.y),value:p.value}}),max:u,min:c}}getBox(){let t=this.context.range,e=Pu(t),n=Math.ceil(e[2]-e[0]),r=Math.ceil(e[3]-e[1]),i=4e3,o=4e3,s=i/n,u=o/r,l=Math.min(s,u);this.scaleRatio=l;let c=n*l,h=r*l,p={x:Math.ceil(e[0]),y:Math.ceil(e[3])},f=Lu(t).geometry.coordinates;return{width:c,height:h,leftTop:p,center:f,scale:l}}dispose(){this.clearHeatmap(),this.div.remove(),this.div=null,this.plane&&(this.remove(this.plane),O(this.plane))}constructor(t){super(),this.context=t,this.scaleRatio=1,this.div=document.createElement("div"),this.box=this.getBox()}};import{Object3D as Nu,Vector3 as Ou}from"three";var In=class extends Nu{loadModel(){return g(this,null,function*(){let t=yield at.loadModel(this.options.modelUrl);t.scene.rotation.set(Math.PI/2,Math.PI/2,0),this.add(t.scene),this.model=t})}dispose(){O(this),this.model=null}constructor(t,e){super(),this.context=t,this.options=e,this.model=null,this.position.copy(e.position||new Ou(0,0,0)),this.loadModel()}};import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as Uu,Vector3 as Fu}from"three";import{Object3D as Du}from"three";var Y=class extends Du{setOpacity(t,e){e===void 0&&(e=!1),this.children.forEach(n=>{n.setOpacity==null||n.setOpacity.call(n,t,e)})}onAddToScene(t){this.active=!0,this.sceneType=t}onRemoveFromScene(){this.active=!1}dispose(){O(this),this.children.forEach(t=>t.dispose==null?void 0:t.dispose.call(t)),this.clear()}constructor(t){super(),this.context=t,this.active=!1,this.sceneType="scene"}};var Rn=class extends Y{getCenter(){return new Uu().setFromObject(this).getCenter(new Fu)}createGraphic(t){let e=new it(this.context,t);return e.userData.data=t,this.add(e),this.graphicMap.set(t.id,e),e}removeGraphic(t){this.remove(t),this.graphicMap.delete(t.options.id),t.dispose()}removeGraphicById(t){this.graphicMap.has(t)&&this.removeGraphic(this.graphicMap.get(t))}getGraphicByNodeId(t){return this.graphicMap.get(t)||null}getGraphicByRaycaster(t){let e={distance:1e4,graphic:null,position:null},n=this.children.reduce((r,i)=>{if(i instanceof it){let o=i.raycast(t);if(o){let{distance:s}=o;if(s<r.distance)return{distance:o.distance,position:o.position,graphic:i}}return r}else return r},e);return n===e?{graphics:[],position:null}:{graphics:[n.graphic],position:n.position}}setGraphicOptions(t,e){let n,r=this.graphicMap.get(t);r&&(typeof e=="function"?n=e(r.options):n=v({},r.options,e),Object.keys(n).forEach(i=>{r.options[i]=n[i]}))}getGraphicPosition(t){let e=this.graphicMap.get(t);return e?[e.options.center_x,e.options.center_y]:null}setOpacity(t,e){e===void 0&&(e=!1),this.graphicMap.forEach(n=>{n.setOpacity(t,e)})}constructor(t){super(t),this.graphicMap=new Map}};import"core-js/modules/es.array.unshift.js";import"core-js/modules/es.array.push.js";import{debounce as Bu}from"lodash";var Pn=class extends Y{clear(t){return t===void 0&&(t=!1),this.pois.forEach(e=>{e.options.built_in&&!t||e.dispose()}),this.pois=t?[]:this.pois.filter(e=>e.options.built_in),this}createPoi(t){let e=new ae(this.context,t);return this.pushPoi(e),e.addEventListener("change-level",()=>this.changePoiLevelOrCollisionEnable(e)),e.addEventListener("change-collision_enable",()=>this.changePoiLevelOrCollisionEnable(e)),Promise.resolve().then(()=>{this.debounceCollisionDetection()}),e}changePoiLevelOrCollisionEnable(t){let e=this.pois.findIndex(n=>n===t);e!==-1&&(this.pois.splice(e,1),this.pushPoi(t))}removePoi(t){let e=this.pois.findIndex(n=>n===t);e!==-1&&(this.pois.splice(e,1),t.dispose())}removePoiById(t){let e=this.pois.find(n=>n.options.id===t);e&&this.removePoi(e)}getPoiById(t){return this.pois.find(n=>n.options.id===t)||null}pushPoi(t){if(!t.options.collision_enable){this.pois.unshift(t);return}if(t.options.level===0){this.pois.push(t);return}for(let e=0;e<this.pois.length;e++){let n=this.pois[e];if(n.options.collision_enable&&n.options.level<=t.options.level){this.pois.splice(e,0,t);return}}this.pois.push(t)}getPoiByDeviceXy(t,e){return this.pois.filter(r=>r instanceof ae&&r.isContain(t,e))}collisionDetection(){let t=[];this.pois.filter(n=>n.visible&&n.withinDisplayRange).forEach((n,r)=>{let{left:i,right:o,top:s,bottom:u}=n.getBox();if(r===0||!n.options.collision_enable){t.push({left:i,right:o,top:s,bottom:u}),n.parentSetVisible(!0);return}let l=t.some(c=>c.left<o&&c.right>i&&c.top<u&&c.bottom>s);n.parentSetVisible(!l),l||t.push({left:i,right:o,top:s,bottom:u})})}registryEvent(){this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate)}dispose(){this.timer.dispose(),this.pois.forEach(t=>t.dispose()),this.pois.length=0,this.debounceCollisionDetection=()=>{},super.dispose(),this.unRegistryEvent()}constructor(t){super(t),this.pois=[],this.timer=new X,this.onUpdate=()=>{this.timer.requestAnimationFrame(()=>{this.collisionDetection()})},this.registryEvent(),this.debounceCollisionDetection=Bu(this.collisionDetection,10)}};import"core-js/modules/es.array.push.js";import{Vector2 as zu}from"three";var Ln=class extends Y{clear(){return this.context.collisionSystem.removeObjects(this.pois),this.pois.forEach(t=>{t.dispose()}),this.pois=[],this}createPoi(t){let e=new $(this.context,t);return this.pushPoi(e),e}removePoi(t){let e=this.pois.findIndex(n=>n===t);e!==-1&&(this.remove(t),this.pois.splice(e,1),this.context.collisionSystem.removeObject(t),t.dispose())}removePoiById(t){let e=this.pois.find(n=>n.options.id===t);e&&this.removePoi(e)}getPoiById(t){return this.pois.find(n=>n.options.id===t)||null}pushPoi(t){this.pois.includes(t)||(t.addEventListener("change-level",()=>this.changePoiLevelOrCollisionEnable(t)),t.addEventListener("change-collision_enable",()=>this.changePoiLevelOrCollisionEnable(t)),t.addEventListener("text-texture-inited",()=>{this.active&&this.context.forceUpdate()}),t.parentSetVisible(!1),this.add(t),this.pois.push(t),this.sceneType==="mulFloors"&&(t.options.depth_test=!0),this.active&&this.context.collisionSystem.addObject(t))}changePoiLevelOrCollisionEnable(t){this.active&&(this.context.collisionSystem.removeObject(t),this.context.collisionSystem.addObject(t))}getPoiByDeviceXy(t,e){let n=new zu(t,e);return this.pois.filter(i=>i instanceof $&&i.canSelect&&i.box.containsPoint(n))}setOpacity(t){this.pois.forEach(e=>{e.options.icon_opacity=t,e.options.text_opacity=t})}onAddToScene(t){super.onAddToScene(t);let e=t==="mulFloors";this.pois.forEach(n=>{n.options.depth_test=e,this.context.collisionSystem.addObject(n)})}onRemoveFromScene(){super.onRemoveFromScene(),this.context.collisionSystem.removeObjects(this.pois)}dispose(){this.timer.dispose(),this.clear(),super.dispose()}constructor(t){super(t),this.pois=[],this.timer=new X}};import"core-js/modules/es.regexp.exec.js";import"core-js/modules/web.dom-collections.iterator.js";import{Vector2 as ti}from"three";import{isNil as Gu}from"lodash";var Nn=class extends Y{createParkings(t,e,n){e===void 0&&(e=!0),this.parkingOptions=t,this.merged=e,e?(n?this.createMergedParkingByMergedElements(n):this.createMergedParking(t),t.map((r,i)=>{var o;(o=r.texts[0])==null||o.split(/[,,]/).map(s=>{this.parkingNoIndexMap.set(s,i)}),this.nodeIdIndexMap.set(r.id,i)})):this.createIndependentParking(t)}load(t,e){e===void 0&&(e=!0);var n;this.createParkings(t.elements,e,t.mergedElements),(n=t.mergedParkingTexture)!=null&&n.length?this.createMergedParkingTexture(t.mergedParkingTexture):this.createParkingTexture(t.elements)}createMergedParking(t){return g(this,null,function*(){let e=new We(this.context,t);this.mergedParkingSpace=e,this.add(e)})}createMergedParkingByMergedElements(t){let e=new Se(this.context,t);if(this.mergedParkingSpace=e,t.lineGeometry){let n=new ce(this.context,t.lineGeometry);this.add(n)}this.add(e)}createIndependentParking(t){t.forEach(e=>{var n;let r=new it(this.context,e);this.add(r),(n=e.texts[0])==null||n.split(/[,,]/).map(i=>{this.parkingNoGraphicMap.set(i,r)}),this.graphicMap.set(r.options.id,r)})}createParkingTexture(t){let e=t.filter(n=>Sn[n.parkingType]).map(n=>{let r=new ti(...n.geometry.coords[0][0]),i=new ti(...n.geometry.coords[0][1]),o=new ti(...n.geometry.coords[0][2]),s=Math.min(r.distanceTo(i),i.distanceTo(o)),u=0;return s===r.distanceTo(i)?u=i.sub(r).angle()-Math.PI/2:u=o.sub(i).angle()-Math.PI/2,{uuid:n.id,iconUrl:Sn[n.parkingType],name:n.texts[0],deltaHeight:(n.deltaHeight||0)+.001,airHeight:n.airHeight,height:n.height,geometry:n.geometry,opacity:n.fillOpacity,visible:!0,secondWidth:s-1,secondHeight:s-1,secondRotate:u,centerCoords:[n.center_coord_x,n.center_coord_y]}});if(e.length){let n=new ue(this.context,e);this.add(n)}}createMergedParkingTexture(t){t.map(e=>{e.iconUrl=Sn[e.iconUrl];let n=new le(this.context,e);this.add(n)})}changeParkingColor(t){this.merged?Object.keys(t).map(e=>{let n=this.parkingNoIndexMap.get(e);if(!Gu(n)){var r;(r=this.mergedParkingSpace)==null||r.setColorByIndex(n,t[e])}}):Object.keys(t).map(e=>{let n=this.parkingNoGraphicMap.get(e);n&&(n.options.fillColor=t[e])})}setOpacity(t,e){if(e===void 0&&(e=!1),this.parkingOptions.forEach(r=>{if(e)r.fillOpacity=t,r.strokeOpacity=t;else{let s=this.parkingOriginOptions.get(r.id);var i;r.fillOpacity=Math.min(t,(i=s==null?void 0:s.fillOpacity)!=null?i:1);var o;r.strokeOpacity=Math.min(t,(o=s==null?void 0:s.strokeOpacity)!=null?o:1)}}),this.merged)if(this.mergedParkingSpace instanceof We)this.mergedParkingSpace.setOpacity(t,e);else{var n;(n=this.mergedParkingSpace)==null||n.setOpacity(t,e)}else this.graphicMap.forEach(r=>{r.setOpacity(t,e)});this.children.filter(r=>r instanceof ue||r instanceof le).map(r=>r.setOpacity(t))}getParkingOptionsByParkingNo(t){return this.parkingOptions.find(n=>n.texts[0]===t)||null}getGraphicPosition(t){if(this.merged){let e=this.parkingOptions.find(n=>n.id===t);return e?[e.center_x,e.center_y]:null}}dispose(){var t;(t=this.mergedParkingSpace)==null||t.dispose(),this.mergedParkingSpace=null,O(this),this.graphicMap.clear(),this.parkingNoGraphicMap.clear(),this.parkingNoIndexMap.clear(),this.nodeIdIndexMap.clear(),this.parkingOptions=[],super.dispose()}constructor(t){super(t),this.graphicMap=new Map,this.parkingNoGraphicMap=new Map,this.parkingOriginOptions=new Map,this.parkingOptions=[],this.merged=!1,this.parkingNoIndexMap=new Map,this.nodeIdIndexMap=new Map,this.mergedParkingSpace=null}};import"core-js/modules/es.array.push.js";var On=class extends Y{addModels(t){let e=t.reduce((n,r)=>{let{url:i}=r;return n[i]?n[i].push(r):n[i]=[r],n},{});Object.values(e).forEach(n=>{let r=new Dn(this.context,n);this.add(r)})}constructor(t){super(t)}};import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as Zu,Group as Oo,Matrix4 as Ku,Quaternion as $u,Vector3 as ni}from"three";import{LineMaterial as ku}from"three/examples/jsm/lines/LineMaterial.js";import{Color as Xe,LineBasicMaterial as Vu,MeshStandardMaterial as Hu,MeshBasicMaterial as Wu,ShaderMaterial as Me,DoubleSide as Xu,LineDashedMaterial as qu}from"three";function Lo(a){return`${a.x}-${a.y}-${a.z}`}var ct=class{static generateLineMaterialKey({color:t,opacity:e}){return`${t}-${e}`}static createLineMaterial({color:t,opacity:e,vertexColors:n}){let r=this.generateLineMaterialKey({color:t,opacity:e,vertexColors:n});if(this.lineMaterialMap.has(r))return this.lineMaterialMap.get(r);let i=new Vu({color:new Xe(t).convertLinearToSRGB(),transparent:!0,opacity:e,vertexColors:n!=null?n:!1});return this.lineMaterialMap.set(r,i),i}static createMeshStandardMaterial({color:t,opacity:e}){let n=`${t}-${e}`;if(this.meshStandardMaterialMap.has(n))return this.meshStandardMaterialMap.get(n);let r=new Hu({color:new Xe(t).convertLinearToSRGB(),roughness:1,transparent:!0,opacity:e,depthWrite:!0});return this.meshStandardMaterialMap.set(n,r),r}static createMeshBasicMaterial({color:t,opacity:e,vertexColors:n}){let r=`${t}-${e}-${n}`;if(this.meshBasicMaterialMap.has(r))return this.meshBasicMaterialMap.get(r);let i=new Wu({color:t,transparent:!0,opacity:e,depthWrite:!0,vertexColors:n!=null?n:!1});return this.meshBasicMaterialMap.set(r,i),i}static createShaderMaterial({gradualColor:t,center:e,maxValue:n,opacity:r,direction:i,max:o,min:s}){let u=`${t.toString()}-${Lo(e)}-${n}-${r}-${Lo(i)}`;if(this.shaderMaterialMap.has(u))return this.shaderMaterialMap.get(u);let l=`
4032
4032
  uniform vec3 uColor;
4033
4033
  uniform vec3 uGradualColor;
4034
4034
  uniform vec3 center;
@@ -8114,7 +8114,7 @@ void main() {
8114
8114
  gl_FragColor = vec4(uColor2, uOpacity); // \u5176\u4ED6\u9762\u989C\u8272\uFF09
8115
8115
  }
8116
8116
  }
8117
- `,n=-1/0,r=this.geometry.getAttribute("position");if(r)for(let o=0;o<r.count;o++){let s=r.getZ(o);s>n&&(n=s)}let i=new q0({uniforms:{maxZ:{value:n},uColor:{value:new Ho(this.options[0].fillColor).convertLinearToSRGB()},uColor2:{value:new Ho(Gt(this.options[0].fillColor)).convertLinearToSRGB()},uOpacity:{value:this.options[0].fillOpacity}},vertexShader:t,fragmentShader:e,transparent:!0});this.material=i}initLineMaterial(){let t=w.createLineMaterial({color:this.options[0].strokeColor,opacity:this.options[0].strokeOpacity});return this.lineMaterial=t,t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new H0(this.geometry,this.material),this.add(this.mesh)}getBorderPoints(){let t=[],e=this.options[0].height+this.options[0].deltaHeight;return this.options.map(n=>{let{coords:r}=n.geometry;for(let i=0;i<r.length;i++){let o=r[i];for(let s=0;s<o.length;s++){let u=o[s],l=s+1===o.length?o[0]:o[s+1];t.push(new Vo(u[0],u[1],e)),t.push(new Vo(l[0],l[1],e))}}}),t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new W0().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new X0(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry?(this.geometry.dispose(),this._listeners={}):this.addEventListener("init-geometry",()=>{var n;(n=this.geometry)==null||n.dispose(),this._listeners={}}),(t=this.material)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e,n){super(),this.context=t,this.mergedElement=n,this.options=[],n?(this.options=[n],this.initMergedElement()):(this.options=e.map(r=>v({},Wt,r)),this.init())}};import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.string.trim.js";import{DoubleSide as Y0,Matrix4 as Xo,Mesh as Z0,MeshBasicMaterial as K0,Object3D as $0,PlaneGeometry as J0}from"three";import{mergeGeometries as Q0}from"three/examples/jsm/utils/BufferGeometryUtils.js";var tl={airHeight:0,deltaHeight:0,height:0,geometry:{cds:[],type:"polygon",coords:[],curveCpt:[],curveIndex:[]},texts:[],fillColor:"#ffffff",fillOpacity:0,strokeColor:"#ffffff",strokeOpacity:0,secondHeight:0,secondRotate:0,center_x:0,center_y:0},jn=class extends $0{init(){return g(this,null,function*(){let t=yield Promise.all(this.options.map(o=>tt.getTextureByText(o.texts[0],{fillStyle:zr(o.fillColor,o.fillOpacity),strokeStyle:zr(o.strokeColor,o.strokeOpacity),lineWidth:6,font:"bold 54px sans-serif",maxWidth:2048}))),e=t.map((o,s)=>{let u=this.options[s],{width:l,height:c}=o.texture.image,h=l/c,p=u.secondHeight*h,f=new J0(p,u.secondHeight),d=new Xo().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight+u.height).multiply(new Xo().makeRotationZ(u.secondRotate));return f.applyMatrix4(d),f}),n=Q0(e,!0);e.forEach(o=>o.dispose());let r=t.map(o=>{let{texture:s}=o,u=new K0({map:s,alphaTest:1,side:Y0});return s.needsUpdate=!0,u}),i=new Z0(n,r);this.mesh=i,this.position.z+=.04,this.add(i)})}setOpacity(t){var e,n;(n=this.mesh)==null||(e=n.material)==null||e.forEach(r=>{r.opacity=t,r.needsUpdate=!0})}dispose(){var t,e,n;(t=this.mesh)==null||t.geometry.dispose(),(n=this.mesh)==null||(e=n.material)==null||e.forEach(r=>r.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e.map(n=>v({},tl,n)).filter(n=>n.texts[0].trim()),this.options.length&&this.init()}};import{Object3D as el}from"three";import{Line2 as nl}from"three/examples/jsm/lines/Line2.js";import{LineGeometry as rl}from"three/examples/jsm/lines/LineGeometry.js";import{LineMaterial as il}from"three/examples/jsm/lines/LineMaterial.js";var Ze=class extends el{registryEvent(){this.context.addEventListener("resize",this.onResize)}unRegistryEvent(){this.context.removeEventListener("resize",this.onResize)}setPosition(t,e){this.lineGeometry.setPositions([t.x,t.y,t.z,e.x,e.y,e.z]),this.line||this.createLine()}createLine(){this.line=new nl(this.lineGeometry,this.lineMaterial),this.line.renderOrder=100003,this.add(this.line)}dispose(){var t;this.unRegistryEvent(),this.line&&O(this.line),this.lineGeometry=null,this.lineMaterial=null,this.clear(),(t=this.line)==null||t.clear(),this.line=null}constructor(t,e,n){super(),this.context=t,this.lineGeometry=new rl,this.lineMaterial=new il({color:0,transparent:!0,depthTest:!1,linewidth:2}),this.line=null,this.onResize=()=>{let{width:r,height:i}=this.context.clientSize;this.lineMaterial.resolution.set(r,i)},this.onResize(),this.registryEvent(),e&&n&&this.setPosition(e,n)}};import"core-js/modules/es.array.push.js";import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as ol,InstancedMesh as sl,Object3D as al,Vector3 as ul}from"three";import{Matrix4 as Ke}from"three";var Dn=class extends al{loadModel(){return g(this,null,function*(){let t=yield at.loadModel(this.options[0].url);t.scene.updateMatrixWorld(!0);let e=t.scene.matrixWorld.clone().invert();t.scene.traverse(u=>{if(u.isMesh){let l=e.clone().multiply(u.matrixWorld),c=u.material;this.subMeshes.push({geometry:u.geometry,material:u.material,initialMatrix:l}),Array.isArray(c)?c.forEach(h=>{h.transparent=!0,this.materialOriginParams.set(h,{opacity:h.opacity})}):(c.transparent=!0,this.materialOriginParams.set(c,{opacity:c.opacity}))}});let n=this.subMeshes.map(u=>{let{geometry:l,material:c}=u;return new sl(l,c,this.options.length)});t.scene.rotation.set(Math.PI/2,0,0);let i=new ol().setFromObject(t.scene).getSize(new ul),o=Math.max(i.x,i.y);this.options.map(u=>{let l=new Ke,c=u.width/o;return l.multiply(new Ke().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight)).multiply(new Ke().makeScale(c,c,c)).multiply(new Ke().makeRotationZ(u.rotate)).multiply(new Ke().makeRotationX(Math.PI/2)),u.url==="https://robot-vr-public.cdn.bcebos.com/ai-map-resource/757/1865371442288267264/smzsdrc.glb"&&console.log(u,l),l}).forEach((u,l)=>{n.forEach((c,h)=>{let p=u.clone().multiply(this.subMeshes[h].initialMatrix);c.setMatrixAt(l,p)})}),n.forEach(u=>{u.instanceMatrix.needsUpdate=!0,this.meshSetMaterial(u),this.add(u)})})}meshSetMaterial(t){t.isMesh&&(t.frustumCulled=!1,t.castShadow=!0,Array.isArray(t.material)?t.material.map(e=>{e.emissiveIntensity*=.95}):(t.material.emissiveIntensity*=.95,t.material.emissive=t.material.color,t.material.emissiveMap=t.material.map))}setOpacity(t,e){e===void 0&&(e=!1),this.subMeshes.forEach(n=>{let{material:r}=n;if(Array.isArray(r))r.forEach(i=>{if(e)i.opacity=t;else{let o=this.materialOriginParams.get(i)||{opacity:1};t>o.opacity?i.opacity=o.opacity:i.opacity=t}i.needsUpdate=!0});else{let i=this.materialOriginParams.get(r)||{opacity:1};t>i.opacity?r.opacity=i.opacity:r.opacity=t,r.needsUpdate=!0}}),this.children.forEach(n=>{n.instanceMatrix.needsUpdate=!0})}dispose(){this.children.forEach(t=>t.dispose()),O(this),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.subMeshes=[],this.materialOriginParams=new Map,this.loadModel()}};import{Object3D as ll,Mesh as cl,LineSegments as hl,ObjectLoader as pl}from"three";var qe=class extends ll{init(){return g(this,null,function*(){this.geometry=this.initGeometry(),this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options.deltaHeight+this.options.airHeight,this.options.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initGeometry(){return this.loader.parseGeometries([this.options.mergedGeometry])[this.options.mergedGeometry.uuid]}initMaterial(){this.material=w.GetMergeAttributeGraphicMaterial()}initLineMaterial(){return this.lineMaterial=w.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new cl(this.geometry,this.material),this.add(this.mesh)}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.loader.parseGeometries([this.options.lineGeometry]);this.lineGeometry=t[this.options.lineGeometry.uuid]}createBorder(){this.line&&this.remove(this.line);let t=new hl(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t;this.geometry&&this.geometry.dispose(),(t=this.line)==null||t.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.loader=new pl,this.options=v({},Wt,e),this.init()}};import{Mesh as fl,Object3D as dl,ObjectLoader as gl}from"three";var Yn=class extends dl{initGeometry(){return g(this,null,function*(){let t=new gl().parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}init(){return g(this,null,function*(){var t;yield this.initGeometry();let e=new fl(this.geometry,ct.GetMergeAttributeWallMaterial());this.add(e);let n=(t=this.geometry)==null?void 0:t.getAttribute("opacity");n&&(this.originOpacities=Array.from(n.array))})}setOpacity(t,e){e===void 0&&(e=!1);var n;let r=(n=this.geometry)==null?void 0:n.getAttribute("opacity");if(r){for(let o=0;o<r.count;o++)if(e)r.setX(o,t);else{var i;r.setX(o,Math.min(t,(i=this.originOpacities[o])!=null?i:1))}r.needsUpdate=!0}}dispose(){var t;(t=this.geometry)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.originOpacities=[],this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import{Float32BufferAttribute as ml,FrontSide as _l,InstancedBufferAttribute as yl,InstancedMesh as vl,MeshBasicMaterial as xl,Object3D as El,Shape as bl,ShapeGeometry as Sl,Vector2 as Zn}from"three";var le=class extends El{init(){return g(this,null,function*(){let t=this.options.iconUrl,e=yield rt.getTextureByUrl(t),n=new xl({map:e,transparent:!0,alphaTest:.2,side:_l}),r=new vl(this.geometry,n,this.options.mergedMatrixes.size);r.instanceMatrix=new yl(new Float32Array(this.options.mergedMatrixes.array),16),this.add(r),this.mesh=r,this.position.z+=.004})}setOpacity(t){this.mesh&&(this.mesh.material.opacity=t,this.mesh.material.needsUpdate=!0,this.mesh.instanceMatrix.needsUpdate=!0)}dispose(){var t;this.mesh&&O(this.mesh),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Sl(new bl([new Zn(-.5,-.5),new Zn(-.5,.5),new Zn(.5,.5),new Zn(.5,-.5)])),this.options=v({},ui,e);let n=new ml([0,0,0,1,1,1,1,0],2);this.geometry.setAttribute("uv",n),this.init()}};import"core-js/modules/es.array.push.js";import{Mesh as Ml,Object3D as wl,ObjectLoader as Tl,Vector2 as qo}from"three";import{LineSegments2 as jo}from"three/examples/jsm/lines/LineSegments2.js";import{LineSegmentsGeometry as Yo}from"three/examples/jsm/lines/LineSegmentsGeometry.js";var Kn=class extends wl{initGeometry(){return g(this,null,function*(){let t=this.loader.parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}initMaterial(){let t=w.createMeshBasicMaterial({color:"#ffffff",opacity:1,vertexColors:!0});return this.material=t,t}initDoubleLine(){if(this.options.dashedLineGeometry){let t=w.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!0,resolution:new qo(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0});t.transparent=!0,t.needsUpdate=!0;let e=new Yo;e.setPositions(this.options.dashedLineGeometry.positions),e.setColors(this.options.dashedLineGeometry.colors);let n=new jo(e,t);n.computeLineDistances(),n.position.z+=.01,this.add(n),this.doubleLines.push(n)}if(this.options.lineGeometry){let t=w.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!1,resolution:new qo(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new Yo;e.setPositions(this.options.lineGeometry.positions),e.setColors(this.options.lineGeometry.colors);let n=new jo(e,t);n.position.z+=.01,this.add(n),this.doubleLines.push(n)}}init(){return g(this,null,function*(){yield this.initGeometry(),this.initMaterial();let t=new Ml(this.geometry,this.material);this.add(t),this.initDoubleLine(),this.position.z+=.02})}setOpacity(t){this.material.opacity=t,this.material.needsUpdate=!0,this.doubleLines.forEach(e=>{e.material.opacity=t,e.material.needsUpdate=!0})}dispose(){var t,e;(t=this.geometry)==null||t.dispose(),(e=this.lineGeometry)==null||e.dispose(),this.doubleLines.map(n=>n.geometry.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.doubleLines=[],this.loader=new Tl,this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/web.dom-collections.iterator.js";import{Object3D as Al,Vector3 as li,BufferGeometry as Cl,LineSegments as Il,Color as Zo,BoxGeometry as Rl,InstancedMesh as Pl,Matrix4 as Ll,Quaternion as Nl,InstancedBufferAttribute as Ko,BufferAttribute as $o}from"three";var We=class extends Al{setColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new Zo(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}init(){return g(this,null,function*(){this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options[0].deltaHeight+this.options[0].airHeight,this.options[0].strokeOpacity!==0&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initMaterial(){this.material=w.GetInstancedGraphicMaterial()}initLineMaterial(){let t=w.GetMergeAttributeGraphicLineMaterial();this.lineMaterial=t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new Pl(this.geometry,this.material,this.options.length);let t=new Ko(new Float32Array(this.options.length),1),e=new Ko(new Float32Array(this.options.length),1);this.options.forEach((n,r)=>{let i=n.geometry.coords[0],[o,s,u]=i.slice(0,3),l=Math.sqrt((s[0]-o[0])**2+(s[1]-o[1])**2),c=Math.sqrt((u[0]-s[0])**2+(u[1]-s[1])**2),h=[l,c],p=Math.max(...h),f=Math.min(...h),d;p===l?d=[s[0]-o[0],s[1]-o[1]]:d=[u[0]-s[0],u[1]-s[1]];let[m,y]=d,x=Math.atan2(y,m)-Math.PI/2,E=new Ll().compose(new li(n.center_coord_x,n.center_coord_y,(n.deltaHeight||0)+n.airHeight+n.height/2),new Nl().setFromAxisAngle(new li(0,0,1),x),new li(f,p,n.height));this.mesh.setMatrixAt(r,E),this.mesh.setColorAt(r,new Zo(n.fillColor).convertLinearToSRGB()),t.array[r]=n.fillOpacity||1,e.array[r]=(n.deltaHeight||0)+n.airHeight+n.height}),this.originOpacity=[...t.array],this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let{points:t,colors:e,opacities:n}=Yr(this.options),r=new Cl().setFromPoints(t);r.setAttribute("color",new $o(new Float32Array(e),3)),r.setAttribute("opacity",new $o(new Float32Array(n),1)),this.lineOriginOpacity=[...n],this.lineGeometry=r}createBorder(){this.line&&this.remove(this.line);let t=new Il(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}setOpacity(t,e){e===void 0&&(e=!1);let n=this.geometry.getAttribute("opacity");for(let o=0;o<n.count;o++)if(e)n.array[o]=t;else{var r;n.array[o]=Math.min(t,(r=this.originOpacity[o])!=null?r:1)}if(n.needsUpdate=!0,this.lineGeometry){let o=this.lineGeometry.getAttribute("opacity");for(let s=0;s<o.count;s++)if(e)o.array[s]=t;else{var i;o.array[s]=Math.min(t,(i=this.lineOriginOpacity[s])!=null?i:1)}o.needsUpdate=!0}}dispose(){var t,e;this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Rl(1,1,1),this.options=[],this.originOpacity=[],this.lineOriginOpacity=[],this.options=e.map(n=>v({},Wt,n)),this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/web.dom-collections.iterator.js";import{Object3D as Ol,Color as Dl,BoxGeometry as Ul,InstancedMesh as Fl,InstancedBufferAttribute as ci}from"three";var Se=class extends Ol{init(){return g(this,null,function*(){this.initMaterial(),this.initMesh()})}initMaterial(){this.material=w.GetInstancedGraphicMaterial()}initMesh(){if(this.mesh&&this.remove(this.mesh),!this.elements)return;this.mesh=new Fl(this.geometry,this.material,this.elements.size);let t=new ci(new Float32Array(this.elements.opacities),1),e=new ci(new Float32Array(this.elements.maxZs),1);this.originOpacities=[...t.array],this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.mesh.instanceMatrix.set(this.elements.matrixes),this.mesh.instanceColor=new ci(new Float32Array(this.elements.colors),3),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}setColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new Dl(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}setOpacityByIndex(t,e){if(this.mesh){let n=this.geometry.getAttribute("opacity");n.setX(t,e),n.needsUpdate=!0}}setMatrixByIndex(t,e){this.mesh&&(this.mesh.setMatrixAt(t,e),this.mesh.instanceMatrix.needsUpdate=!0)}setMaxZByIndex(t,e){if(this.mesh){let n=this.geometry.getAttribute("maxZ");n.setX(t,e),n.needsUpdate=!0}}setColorById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setColorByIndex(n,e)}setOpacityById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setOpacityByIndex(n,e)}setMatrixById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setMatrixByIndex(n,e)}setMaxZById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setMaxZByIndex(n,e)}setOpacity(t,e){if(e===void 0&&(e=!1),!this.geometry)return;let n=this.geometry.getAttribute("opacity");for(let i=0;i<n.count;i++)if(e)n.array[i]=t;else{var r;n.array[i]=Math.min(t,(r=this.originOpacities[i])!=null?r:1)}n.needsUpdate=!0}pushElements(t){this.elements?(this.elements.size+=t.size,this.elements.colors=[...this.elements.colors,...t.colors],this.elements.matrixes=[...this.elements.matrixes,...t.matrixes],this.elements.opacities=[...this.elements.opacities,...t.opacities],this.elements.maxZs=[...this.elements.maxZs,...t.maxZs],this.elements.ids=[...this.elements.ids,...t.ids],this.originOpacities=[...this.originOpacities,...t.opacities]):this.elements=t,this.refesh()}removeInstanceById(t){if(this.elements){if(this.mesh){let e=this.elements.ids.indexOf(t);e!==-1&&(this.elements.size--,this.elements.colors.splice(e*3,3),this.elements.matrixes.splice(e*16,16),this.elements.opacities.splice(e,1),this.elements.maxZs.splice(e,1),this.elements.ids.splice(e,1),this.originOpacities.splice(e,1))}this.refesh()}}refesh(){this.mesh&&(this.mesh.dispose(),this.remove(this.mesh)),this.init()}dispose(){var t;this.material=null,this.originOpacities.length=0,this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.geometry=new Ul(1,1,1),this.material=null,this.elements=null,this.originOpacities=[],this.elements=e,this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/web.dom-collections.iterator.js";import{Object3D as Bl,BoxGeometry as zl,InstancedMesh as Gl,InstancedBufferAttribute as $n}from"three";var Jn=class extends Bl{init(){return g(this,null,function*(){this.initMaterial(),this.initMesh()})}initMaterial(){this.material=w.GetInstancedWallMaterial()}initMesh(){if(this.mesh&&this.remove(this.mesh),!this.elements)return;this.mesh=new Gl(this.geometry,this.material,this.elements.size);let t=new $n(new Float32Array(this.elements.opacities),1),e=new $n(new Float32Array(this.elements.maxZs),1),n=new $n(new Float32Array(this.elements.minZs),1);this.originOpacities=[...t.array],this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.geometry.setAttribute("minZ",n),this.mesh.instanceMatrix.set(this.elements.matrixes),this.mesh.instanceColor=new $n(new Float32Array(this.elements.colors),3),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}setOpacityByIndex(t,e){if(this.mesh){let n=this.geometry.getAttribute("opacity");n.setX(t,e),n.needsUpdate=!0}}setOpacity(t,e){e===void 0&&(e=!1),this.elements&&this.elements.opacities.forEach((n,r)=>{let i=e?t:Math.min(t,this.originOpacities[r]);this.setOpacityByIndex(r,i)})}dispose(){this.mesh&&(this.mesh.dispose(),this.remove(this.mesh)),this.material=null,this.geometry&&this.geometry.dispose(),this.elements=null}constructor(t,e){super(),this.geometry=new zl(1,1,1),this.material=null,this.elements=null,this.originOpacities=[],this.elements=e,this.init()}};import{Object3D as kl,LineSegments as Vl,ObjectLoader as Hl}from"three";var ce=class extends kl{init(){return g(this,null,function*(){this.initLineGeometry(),this.initLineMaterial(),this.createBorder()})}initLineMaterial(){return this.lineMaterial=w.GetMergeAttributeGraphicLineMaterial()}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.loader.parseGeometries([this.options]);this.lineGeometry=t[this.options.uuid]}createBorder(){this.line&&this.remove(this.line);let t=new Vl(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t;(t=this.lineGeometry)==null||t.dispose(),this.lineMaterial=null,this.clear()}constructor(t,e){super(),this.context=t,this.lineMaterial=null,this.loader=new Hl,this.options=v({},Wt,e),this.init()}};import{Frustum as Wl}from"three";var Qn=class extends xt{setEnable(t){super.setEnable(t),ut(this.rect,0,0,0,0),t?this.registryEvent():(this.startPoint=void 0,this.unRegistryEvent())}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointermove",this.onPointerMove),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointermove",this.onPointerMove),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.removeEventListener("update",this.onUpdate)}doSelect(){if(this.startPoint&&this.endPoint){if(this.startPoint.distanceTo(this.endPoint)<.1)return;let{context:{camera:e,container:{clientWidth:n,clientHeight:r}}}=this,i=P(this.startPoint,e,n,r),o=P(this.endPoint,e,n,r),s={x:Math.min(i.x,o.x),y:Math.min(i.y,o.y)},u={x:Math.max(i.x,o.x),y:Math.max(i.y,o.y)},l=this.searchMapInFrustum(s,u);this.dispatchEvent({type:"selected",list:l})}}searchMapInFrustum(t,e){var n;let{context:r}=this;return((n=r.currentFloor)==null?void 0:n.graphicLayer.children.filter(i=>i instanceof it&&this.searchChildInFrustum(i,t,e)))||[]}searchChildInFrustum(t,e,n){let{context:{camera:r,container:{clientWidth:i,clientHeight:o}}}=this;if(!t)return!1;if(!t.mesh){let p=t.getPosition();if(p){let f=P(p,r,i,o);return Zt(f,e,n)}return!1}t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let s=t.mesh.geometry.boundingBox;if(!s)return!1;let{min:u,max:l}=s,c=P(u,r,i,o),h=P(l,r,i,o);return!(!Zt(c,e,n)||!Zt(h,e,n))}dispose(){super.dispose(),this.rect=null,this.unRegistryEvent()}constructor(t){super(t),this.frustum=new Wl,this.onPointerDown=r=>{if(!this.enable)return;let i=this.getIntersectByPointerEvent(r);i&&(this.startPoint=i),this.endPoint=void 0},this.onPointerMove=r=>{if(!this.enable||!this.startPoint)return;let i=this.getIntersectByPointerEvent(r);i&&(this.endPoint=i)},this.onPointerUp=r=>{if(!this.enable)return;let i=this.getIntersectByPointerEvent(r);i&&(this.endPoint=i),this.doSelect(),this.startPoint=void 0},this.onUpdate=()=>{if(this.startPoint){let r=this.getSvgCoordinate(this.startPoint),i=v({},r);this.endPoint&&(i=this.getSvgCoordinate(this.endPoint));let o={x:Math.min(r.x,i.x),y:Math.min(r.y,i.y)},s=Math.abs(i.x-r.x),u=Math.abs(i.y-r.y);ut(this.rect,o.x,o.y,s,u)}else ut(this.rect,0,0,0,0)};let{config:{selectBox:{fill:e,stroke:n}}}=t;this.rect=Kt(n,e),this.svg.appendChild(this.rect),this.registryEvent()}};var tr=class extends Xl{get list(){return this._list}enableBoxSelection(){this.isMultipleSelect||!this.context.config.enableBoxSelect||(this.isMultipleSelect=!0,this.boxSelection.setEnable(!0),this.prevPanStatus=this.context.control.enablePan,this.prevRotateStatus=this.context.control.enableRotate,this.context.control.enablePan=!1,this.context.control.enableRotate=!1)}disableBoxSelection(){this.isMultipleSelect&&(this.isMultipleSelect=!1,this.boxSelection.setEnable(!1),this.context.control.enablePan=!!this.prevPanStatus,this.context.control.enableRotate=!!this.prevRotateStatus)}selectEnd(){this.dispatchEvent({type:"select",graphics:[...this._list],isMultipleSelect:this.isMultipleSelect})}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.container.addEventListener("pointerout",this.onPointerOut),this.context.container.addEventListener("pointercancel",this.onPointerOut),window.addEventListener("keydown",this.onKeyDown),window.addEventListener("keyup",this.onKeyUp),this.boxSelection.addEventListener("selected",this.onBoxSelected)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.container.removeEventListener("pointerout",this.onPointerOut),this.context.container.removeEventListener("pointercancel",this.onPointerOut),window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("keyup",this.onKeyUp),this.boxSelection.removeEventListener("selected",this.onBoxSelected)}clear(){this._list.clear()}remove(t){this._list.delete(t)}dispose(){this.unRegistryEvent()}constructor(t){super(),this.context=t,this._list=new Set,this.downPoint=null,this.downTime=0,this.isMultipleSelect=!1,this.onPointerDown=e=>{Date.now()-this.downTime<200||(this.downPoint={x:e.offsetX,y:e.offsetY},this.downTime=Date.now())},this.onPointerUp=e=>{if(!this.downPoint)return;let{offsetX:n,offsetY:r}=e,{x:i,y:o}=this.downPoint;if(Math.sqrt((i-n)**2+(o-r)**2)>3)return;let{graphics:s}=this.context.getGraphicsByDeviceXy(n,r),u=new Set(s.map(c=>c.options.id));this.context.getPoisByDeviceXy(n,r).forEach(c=>{if(!u.has(c.options.id)){var h;let p=((h=this.context.currentFloor)==null?void 0:h.graphicLayer.graphicMap.get(c.options.id))||null;p&&p.options.geometry.type==="point"&&(s.push(p),u.add(c.options.id))}}),(de?e.metaKey:e.ctrlKey)||this._list.clear(),s.forEach(c=>this._list.add(c)),this.selectEnd(),this.downPoint=null},this.onPointerOut=e=>{this.disableBoxSelection()},this.onKeyDown=e=>{ge(e.key)&&this.enableBoxSelection()},this.onKeyUp=e=>{ge(e.key)&&this.disableBoxSelection()},this.onBoxSelected=e=>{let{list:n}=e;this._list.clear(),n.forEach(r=>{this._list.add(r)}),this.selectEnd()},this.boxSelection=new Qn(t),this.boxSelection.setEnable(!1),this.registryEvent()}};import"core-js/modules/es.set.difference.v2.js";import"core-js/modules/es.set.intersection.v2.js";import"core-js/modules/es.set.is-disjoint-from.v2.js";import"core-js/modules/es.set.is-subset-of.v2.js";import"core-js/modules/es.set.is-superset-of.v2.js";import"core-js/modules/es.set.symmetric-difference.v2.js";import"core-js/modules/es.set.union.v2.js";import"core-js/modules/web.dom-collections.iterator.js";import{EventDispatcher as ql,Vector2 as jl}from"three";var er=class extends ql{handleHoverGraphicsChange(t){t===void 0&&(t=this.curGraphics),this.dispatchEvent({type:"hover-change",graphics:Array.from(t)})}registryEvent(){this.context.addEventListener("pointer-over",this.onPointerMove),this.context.addEventListener("pointer-move",this.onPointerMove),this.context.addEventListener("pointer-level",this.onPointerLevel),document.body.addEventListener("pointermove",this.onBodyPointerMove)}unRegistryEvent(){this.context.removeEventListener("pointer-over",this.onPointerMove),this.context.removeEventListener("pointer-move",this.onPointerMove),this.context.removeEventListener("pointer-level",this.onPointerLevel),document.body.removeEventListener("pointermove",this.onBodyPointerMove)}dispose(){this.unRegistryEvent(),this.timer.dispose()}constructor(t){super(),this.context=t,this.curGraphics=new Set,this.timer=new X,this.graphicTimerMap=new Map,this.onPointerMove=e=>{let{graphics:n,pois:r,e:i}=e,o=r.map(c=>{var h;return(h=this.context.currentFloor)==null?void 0:h.graphicLayer.graphicMap.get(c.options.id)}).filter(c=>c&&c.options.geometry.type==="point");if(!n.length&&!o.length&&this.curGraphics.size){this.curGraphics.clear(),this.handleHoverGraphicsChange();return}let{time:s}=this.context.config.hover,u=new Set;if(o.length){let c,h=1e4;o.forEach(p=>{let f=r.find(d=>d.options.id===p.options.id);if(f instanceof ae){let{x:d,y:m}=f.clientPos,y=Math.sqrt((d-i.offsetX)**2+(m-i.offsetY)**2);y<h&&(h=y,c=p)}else if(f instanceof $){let{x:d,y:m}=f.box.getCenter(new jl),y=Math.sqrt((d-i.offsetX)**2+(m-i.offsetY)**2);y<h&&(h=y,c=p)}}),u.add(c)}u.size||n.forEach(c=>u.add(c)),u.forEach(c=>{if(this.graphicTimerMap.get(c)||this.curGraphics.has(c))return;let h=this.timer.setTimeout(()=>{this.curGraphics.add(c),this.graphicTimerMap.delete(c),this.timer.clearTimeout(h),this.handleHoverGraphicsChange()},s);this.graphicTimerMap.set(c,h)}),this.graphicTimerMap.forEach((c,h)=>{u.has(h)||(this.timer.clearTimeout(c),this.graphicTimerMap.delete(h))});let l=this.curGraphics.size;this.curGraphics.forEach(c=>{u.has(c)||this.curGraphics.delete(c)}),l!==this.curGraphics.size&&this.handleHoverGraphicsChange()},this.onPointerLevel=()=>{this.curGraphics.clear(),this.handleHoverGraphicsChange()},this.onBodyPointerMove=e=>{if(this.curGraphics.size){let n=this.context.container.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.onPointerLevel()}},this.registryEvent()}};import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as Yl,Vector3 as Lt}from"three";import{polygon as Jo,intersect as Zl}from"@turf/turf";var nr=class{updateBox(){this.box.setFromObject(this.context.scene)}setEnable(t){this.enable=t,t?this.registryEvent():this.unRegistryEvent()}changePrevCamera(){this.prevCamera={position:this.context.camera.position.clone(),zoom:this.context.camera.zoom,target:this.context.control.target.clone()}}backToPrevCamera(){this.setEnable(!1),this.context.camera.position.copy(this.prevCamera.position),this.context.camera.zoom=this.prevCamera.zoom,this.context.control.target.copy(this.prevCamera.target),this.context.control.update(),this.setEnable(!0)}registryEvent(){this.context.addEventListener("control-change",this.onCameraChange)}unRegistryEvent(){this.context.removeEventListener("control-change",this.onCameraChange)}getCurFloorScreenPosition(){if(!this.context.scene.children.filter(d=>d instanceof Pt).length)return null;let e=this.box,{camera:n,clientSize:{width:r,height:i}}=this.context,{min:o,max:s}=e,l=[new Lt(o.x,o.y,o.z),new Lt(s.x,o.y,o.z),new Lt(o.x,s.y,o.z),new Lt(s.x,s.y,o.z),new Lt(o.x,o.y,s.z),new Lt(s.x,o.y,s.z),new Lt(o.x,s.y,s.z),new Lt(s.x,s.y,s.z)].map(d=>P(d,n,r,i)),c=Math.min(...l.map(d=>d.x)),h=Math.max(...l.map(d=>d.x)),p=Math.min(...l.map(d=>d.y)),f=Math.max(...l.map(d=>d.y));return{left:c,right:h,top:p,bottom:f}}checkDistanceToScreenEdge(t){let{left:e,right:n,top:r,bottom:i}=t,{width:o,height:s}=this.context.clientSize,[u,l,c,h]=this.context.config.cameraBound.padding,p=Jo([[[e,r],[n,r],[n,i],[e,i],[e,r]]]),f=Jo([[[h,u],[o-l,u],[o-l,s-c],[h,s-c],[h,u]]]);try{return Zl(p,f)!==null}catch(d){return console.warn("\u8BA1\u7B97\u4EA4\u96C6\u51FA\u9519:",d),!1}}dispose(){this.unRegistryEvent()}constructor(t){this.context=t,this.prevCamera={position:new Lt,zoom:1,target:new Lt},this.enable=!0,this.box=new Yl,this.onCameraChange=()=>{let e=this.getCurFloorScreenPosition();if(e){let{left:n,right:r,top:i,bottom:o}=e;this.checkDistanceToScreenEdge({left:n,right:r,top:i,bottom:o})?this.changePrevCamera():this.backToPrevCamera()}},this.registryEvent(),this.changePrevCamera()}};import"core-js/modules/es.promise.finally.js";import{Vector3 as es}from"three";import{Tween as sr,Group as ec}from"@tweenjs/tween.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.push.js";import{EventDispatcher as Kl,MOUSE as Ce,Quaternion as Qo,Spherical as rr,TOUCH as Ie,Vector2 as dt,Vector3 as Et,Plane as $l,Ray as Jl,MathUtils as Ql}from"three";var ir=new Jl,ts=new $l,tc=Math.cos(70*Ql.DEG2RAD),or=class extends Kl{dispose(){this.domElement.removeEventListener("contextmenu",this.onContextMenu),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointercancel",this.onPointerUp),this.domElement.removeEventListener("wheel",this.onMouseWheel),this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp),this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null)}constructor(t,e){super(),this.rotateLineStart=new dt,this.rotateLineEnd=new dt,this.spherical=new rr,this.sphericalDelta=new rr,this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new Et,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.screenSpacePanning=!1,this.mouseButtons={LEFT:Ce.PAN,MIDDLE:Ce.DOLLY,RIGHT:Ce.ROTATE},this.touches={ONE:Ie.PAN,TWO:Ie.DOLLY_ROTATE},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return s.phi},this.getAzimuthalAngle=function(){return s.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(_){_.addEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=_},this.stopListenToKeyEvents=function(){var _;(_=this._domElementKeyEvents)==null||_.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent({type:"change"}),n.update(),i=r.NONE},this.update=function(){let _=new Et,b=new Qo().setFromUnitVectors(t.up,new Et(0,1,0)),k=b.clone().invert(),K=new Et,ft=new Qo,Ct=new Et,bt=2*Math.PI;return function(De){De===void 0&&(De=null);let Dt=n.object.position;_.copy(Dt).sub(n.target),_.applyQuaternion(b),s.setFromVector3(_),n.autoRotate&&i===r.NONE&&T(I(De)),n.enableDamping?(s.theta+=u.theta*n.dampingFactor,s.phi+=u.phi*n.dampingFactor):(s.theta+=u.theta,s.phi+=u.phi);let Ut=n.minAzimuthAngle,Ft=n.maxAzimuthAngle;isFinite(Ut)&&isFinite(Ft)&&(Ut<-Math.PI?Ut+=bt:Ut>Math.PI&&(Ut-=bt),Ft<-Math.PI?Ft+=bt:Ft>Math.PI&&(Ft-=bt),Ut<=Ft?s.theta=Math.max(Ut,Math.min(Ft,s.theta)):s.theta=s.theta>(Ut+Ft)/2?Math.max(Ut,s.theta):Math.min(Ft,s.theta)),s.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,s.phi)),s.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(c,n.dampingFactor):n.target.add(c),n.zoomToCursor&&V||n.object.isOrthographicCamera?s.radius=G(s.radius):s.radius=G(s.radius*l),_.setFromSpherical(s),_.applyQuaternion(k),Dt.copy(n.target).add(_),n.object.lookAt(n.target),n.enableDamping===!0?(u.theta*=1-n.dampingFactor,u.phi*=1-n.dampingFactor,c.multiplyScalar(1-n.dampingFactor)):(u.set(0,0,0),c.set(0,0,0));let on=!1;if(n.zoomToCursor&&V){let Ue=null;if(n.object.isPerspectiveCamera){let Fe=_.length();Ue=G(Fe*l);let sn=Fe-Ue;n.object.position.addScaledVector(A,sn),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let Fe=new Et(C.x,C.y,0);Fe.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),on=!0;let sn=new Et(C.x,C.y,0);sn.unproject(n.object),n.object.position.sub(sn).add(Fe),n.object.updateMatrixWorld(),Ue=_.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Ue!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Ue).add(n.object.position):(ir.origin.copy(n.object.position),ir.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(ir.direction))<tc?t.lookAt(n.target):(ts.setFromNormalAndCoplanarPoint(n.object.up,n.target),ir.intersectPlane(ts,n.target))))}else n.object.isOrthographicCamera&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),on=!0);return l=1,V=!1,on||K.distanceToSquared(n.object.position)>o||8*(1-ft.dot(n.object.quaternion))>o||Ct.distanceToSquared(n.target)>0?(n.dispatchEvent({type:"change"}),K.copy(n.object.position),ft.copy(n.object.quaternion),Ct.copy(n.target),on=!1,!0):!1}}();let n=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},i=r.NONE,o=1e-6,s=new rr,u=new rr,l=1,c=new Et,h=new dt,p=new dt,f=new dt,d=new dt,m=new dt,y=new dt,x=new dt,E=new dt,S=new dt,A=new Et,C=new dt,V=!1,M=[],W={};function I(_){return _!==null?2*Math.PI/60*n.autoRotateSpeed*_:2*Math.PI/60/60*n.autoRotateSpeed}function R(){return Math.pow(.95,n.zoomSpeed)}function T(_){u.theta-=_}function F(_){u.phi-=_}let q=function(){let _=new Et;return function(k,K){_.setFromMatrixColumn(K,0),_.multiplyScalar(-k),c.add(_)}}(),z=function(){let _=new Et;return function(k,K){n.screenSpacePanning===!0?_.setFromMatrixColumn(K,1):(_.setFromMatrixColumn(K,0),_.crossVectors(n.object.up,_)),_.multiplyScalar(k),c.add(_)}}(),D=function(){let _=new Et;return function(k,K){let ft=n.domElement;if(n.object.isPerspectiveCamera){let Ct=n.object.position;_.copy(Ct).sub(n.target);let bt=_.length();bt*=Math.tan(n.object.fov/2*Math.PI/180),q(2*k*bt/ft.clientHeight,n.object.matrix),z(2*K*bt/ft.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(q(k*(n.object.right-n.object.left)/n.object.zoom/ft.clientWidth,n.object.matrix),z(K*(n.object.top-n.object.bottom)/n.object.zoom/ft.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function Nt(_){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l/=_:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function jt(_){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l*=_:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function B(_){if(!n.zoomToCursor)return;V=!0;let b=n.domElement.getBoundingClientRect(),k=_.clientX-b.left,K=_.clientY-b.top,ft=b.width,Ct=b.height;C.x=k/ft*2-1,C.y=-(K/Ct)*2+1,A.set(C.x,C.y,1).unproject(n.object).sub(n.object.position).normalize()}function G(_){return Math.max(n.minDistance,Math.min(n.maxDistance,_))}function Z(_){h.set(_.clientX,_.clientY)}function j(_){B(_),x.set(_.clientX,_.clientY)}function Tt(_){d.set(_.clientX,_.clientY)}function At(_){p.set(_.clientX,_.clientY),f.subVectors(p,h).multiplyScalar(n.rotateSpeed);let b=n.domElement;T(2*Math.PI*f.x/b.clientHeight),F(2*Math.PI*f.y/b.clientHeight),h.copy(p),n.update()}function Yt(_){E.set(_.clientX,_.clientY),S.subVectors(E,x),S.y>0?Nt(R()):S.y<0&&jt(R()),x.copy(E),n.update()}function Ot(_){m.set(_.clientX,_.clientY),y.subVectors(m,d).multiplyScalar(n.panSpeed),D(y.x,y.y),d.copy(m),n.update()}function Oe(_){B(_),_.deltaY<0?jt(R()):_.deltaY>0&&Nt(R()),n.update()}function zs(_){let b=!1;switch(_.code){case n.keys.UP:_.ctrlKey||_.metaKey||_.shiftKey?F(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(0,n.keyPanSpeed),b=!0;break;case n.keys.BOTTOM:_.ctrlKey||_.metaKey||_.shiftKey?F(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(0,-n.keyPanSpeed),b=!0;break;case n.keys.LEFT:_.ctrlKey||_.metaKey||_.shiftKey?T(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(n.keyPanSpeed,0),b=!0;break;case n.keys.RIGHT:_.ctrlKey||_.metaKey||_.shiftKey?T(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(-n.keyPanSpeed,0),b=!0;break}b&&(_.preventDefault(),n.update())}function wi(){if(M.length===1)h.set(M[0].pageX,M[0].pageY);else{let _=(M[0].pageX-M[0].pageY)/(M[1].pageX-M[1].pageY),b=M[0].pageY-_*M[0].pageX;n.rotateLineStart.set(_,b);let k=.5*(M[0].pageX+M[1].pageX),K=.5*(M[0].pageY+M[1].pageY);h.set(k,K)}}function Ti(){if(M.length===1)d.set(M[0].pageX,M[0].pageY);else{let _=.5*(M[0].pageX+M[1].pageX),b=.5*(M[0].pageY+M[1].pageY);d.set(_,b)}}function Ai(){let _=M[0].pageX-M[1].pageX,b=M[0].pageY-M[1].pageY,k=Math.sqrt(_*_+b*b);x.set(0,k)}function Gs(){n.enableZoom&&Ai(),n.enablePan&&Ti()}function ks(){n.enableZoom&&Ai(),n.enableRotate&&wi()}function Ci(_){if(M.length==1)p.set(_.pageX,_.pageY);else{let k=Or(_),K=.5*(_.pageX+k.x),ft=.5*(_.pageY+k.y);p.set(K,ft);let Ct=(_.pageY-k.y)/(_.pageX-k.x),bt=k.y-Ct*k.x;if(n.rotateLineEnd.set(Ct,bt),Number.isFinite(n.rotateLineEnd.x)&&Number.isFinite(n.rotateLineStart.x)){let Dr=(n.rotateLineStart.y-n.rotateLineEnd.y)/(n.rotateLineEnd.x-n.rotateLineStart.x),De=Ct*Dr+bt;if(Number.isFinite(Dr)&&Number.isFinite(De)){let Dt=Math.atan(n.rotateLineEnd.x)-Math.atan(n.rotateLineStart.x);Math.PI-Math.abs(Dt)<.5&&(Dt=-Math.sign(Dt)*(Math.PI-Math.abs(Dt))),Math.abs(Dt)<.1&&(u.theta+=Dt)}}n.rotateLineStart.copy(n.rotateLineEnd)}f.subVectors(p,h).multiplyScalar(n.rotateSpeed);let b=n.domElement;F(2*Math.PI*f.y/b.clientHeight),h.copy(p)}function Ii(_){if(M.length===1)m.set(_.pageX,_.pageY);else{let b=Or(_),k=.5*(_.pageX+b.x),K=.5*(_.pageY+b.y);m.set(k,K)}y.subVectors(m,d).multiplyScalar(n.panSpeed),D(y.x,y.y),d.copy(m)}function Ri(_){let b=Or(_),k=_.pageX-b.x,K=_.pageY-b.y,ft=Math.sqrt(k*k+K*K);E.set(0,ft),S.set(0,Math.pow(E.y/x.y,n.zoomSpeed)),Nt(S.y),x.copy(E)}function Vs(_){n.enableZoom&&Ri(_),n.enablePan&&Ii(_)}function Hs(_){n.enableZoom&&Ri(_),n.enableRotate&&Ci(_)}this.onPointerDown=function(b){n.enabled!==!1&&(M.length===0&&(n.domElement.setPointerCapture(b.pointerId),n.domElement.addEventListener("pointermove",n.onPointerMove),n.domElement.addEventListener("pointerup",n.onPointerUp)),Ys(b),b.pointerType==="touch"?qs(b):Ws(b))},this.onPointerMove=function(b){n.enabled!==!1&&(b.pointerType==="touch"?js(b):Xs(b))},this.onPointerUp=function(b){Zs(b),M.length===0&&(n.domElement.releasePointerCapture(b.pointerId),n.domElement.removeEventListener("pointermove",n.onPointerMove),n.domElement.removeEventListener("pointerup",n.onPointerUp)),n.dispatchEvent({type:"end"}),i=r.NONE};function Ws(_){let b;switch(_.button){case 0:b=n.mouseButtons.LEFT;break;case 1:b=n.mouseButtons.MIDDLE;break;case 2:b=n.mouseButtons.RIGHT;break;default:b=-1}switch(b){case Ce.DOLLY:if(n.enableZoom===!1)return;j(_),i=r.DOLLY;break;case Ce.ROTATE:if(_.ctrlKey||_.metaKey||_.shiftKey){if(n.enablePan===!1)return;Tt(_),i=r.PAN}else{if(n.enableRotate===!1)return;Z(_),i=r.ROTATE}break;case Ce.PAN:if(_.ctrlKey||_.metaKey||_.shiftKey){if(n.enableRotate===!1)return;Z(_),i=r.ROTATE}else{if(n.enablePan===!1)return;Tt(_),i=r.PAN}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent({type:"start"})}function Xs(_){switch(i){case r.ROTATE:if(n.enableRotate===!1)return;At(_);break;case r.DOLLY:if(n.enableZoom===!1)return;Yt(_);break;case r.PAN:if(n.enablePan===!1)return;Ot(_);break}}this.onMouseWheel=function(b){n.enabled===!1||n.enableZoom===!1||i!==r.NONE||(b.preventDefault(),n.dispatchEvent({type:"start"}),Oe(b),n.dispatchEvent({type:"end"}))},this.onKeyDown=function(b){n.enabled===!1||n.enablePan===!1||zs(b)};function qs(_){switch(Pi(_),M.length){case 1:switch(n.touches.ONE){case Ie.ROTATE:if(n.enableRotate===!1)return;wi(),i=r.TOUCH_ROTATE;break;case Ie.PAN:if(n.enablePan===!1)return;Ti(),i=r.TOUCH_PAN;break;default:i=r.NONE}break;case 2:switch(n.touches.TWO){case Ie.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;Gs(),i=r.TOUCH_DOLLY_PAN;break;case Ie.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;ks(),i=r.TOUCH_DOLLY_ROTATE;break;default:i=r.NONE}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent({type:"start"})}function js(_){switch(Pi(_),i){case r.TOUCH_ROTATE:if(n.enableRotate===!1)return;Ci(_),n.update();break;case r.TOUCH_PAN:if(n.enablePan===!1)return;Ii(_),n.update();break;case r.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;Vs(_),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;Hs(_),n.update();break;default:i=r.NONE}}this.onContextMenu=function(b){n.enabled!==!1&&b.preventDefault()};function Ys(_){M.push(_)}function Zs(_){delete W[_.pointerId];for(let b=0;b<M.length;b++)if(M[b].pointerId==_.pointerId){M.splice(b,1);return}}function Pi(_){let b=W[_.pointerId];b===void 0&&(b=new dt,W[_.pointerId]=b),b.set(_.pageX,_.pageY)}function Or(_){let b=_.pointerId===M[0].pointerId?M[1]:M[0];return W[b.pointerId]}n.domElement.addEventListener("contextmenu",this.onContextMenu),n.domElement.addEventListener("pointerdown",this.onPointerDown),n.domElement.addEventListener("pointercancel",this.onPointerUp),n.domElement.addEventListener("wheel",this.onMouseWheel,{passive:!1}),this.update()}};var ar=class extends or{registryEvent(){this.addEventListener("change",this.onChange),this.context.addEventListener("update",this.tweenUpdate)}unRegistryEvent(){this.removeEventListener("change",this.onChange),this.context.removeEventListener("update",this.tweenUpdate)}setPolarAngle(t,e){e===void 0&&(e=!1);let{maxPolarAngle:n,minPolarAngle:r}=this,i=n===r;(e||t<=n&&t>=r)&&(this.maxPolarAngle=t,this.minPolarAngle=t,this.update()),i||(this.maxPolarAngle=n,this.minPolarAngle=r)}setPolarAngleByDuration(t,e,n){return g(this,null,function*(){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setPolarAngle(t,e):_t(new Promise(r=>{let i={polar:this.getPolarAngle()},o={polar:t},s=new sr(i,this.tweenGroup).to(o,n).onUpdate(()=>{this.setPolarAngle(i.polar,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(s),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)})}setAzimuthalAngle(t,e){let{maxAzimuthAngle:n,minAzimuthAngle:r}=this,i=n===r;(e||t<=n&&t>=r)&&(this.maxAzimuthAngle=t,this.minAzimuthAngle=t,this.update()),i||(this.maxAzimuthAngle=n,this.minAzimuthAngle=r)}setAzimuthalAngleDuration(t,e,n){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setAzimuthalAngle(t,e):_t(new Promise(r=>{let i={azimuthal:this.getAzimuthalAngle()},o={azimuthal:t},s=new sr(i,this.tweenGroup).to(o,n).onUpdate(()=>{this.setAzimuthalAngle(i.azimuthal,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(s),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)}getCameraLookAt(){return new es().subVectors(this.target,this.camera.position)}setCameraPositionByTarget(t,e){return g(this,null,function*(){let n=this.target.clone(),r=this.getCameraLookAt();if(!e){this.camera.position.copy(t.clone().sub(r)),this.target.copy(t.clone()),this.update();return}return _t(new Promise(i=>{let o=new sr(n,this.tweenGroup).to(t,e).onUpdate(()=>{this.camera.position.copy(n.clone().sub(r)),this.target.copy(n.clone()),this.update()}).onComplete(()=>{this.tweenGroup.remove(o),this.enabled=!0,i(!0)}).onStart(()=>{this.enabled=!1}).start()}),e+500)})}setZoom(t,e,n){n===void 0&&(n=!1);let{minZoom:r,maxZoom:i}=this;(n||t>=r&&t<=i)&&(this.camera.position.copy(e.clone().sub(this.getCameraLookAt())),this.target.copy(e),this.camera.zoom=t,this.update())}setZoomByDuration(t,e,n,r){return g(this,null,function*(){n===void 0&&(n=!1),r===void 0&&(r=500);let i={zoom:this.camera.zoom,target:this.target.clone()};if(t!==this.camera.zoom)return r?_t(new Promise(o=>{let s=new sr(i,this.tweenGroup).to({zoom:t,target:e},r).onUpdate(()=>{this.setZoom(i.zoom,i.target,n)}).onComplete(()=>{this.tweenGroup.remove(s),this.enabled=!0,o(!0)}).onStart(()=>{this.enabled=!1}).start()}),r+500).finally(()=>{this.enabled=!0}):this.setZoom(t,e,n)})}setTargetByOffset(t,e){if(e===void 0&&(e=this.target.clone()),this.camera.updateMatrix(),t){let n=new es;n.setFromMatrixColumn(this.camera.matrix,1),n.normalize(),n.multiplyScalar(t/this.camera.zoom),e.add(n)}this.setCameraPositionByTarget(e,0)}clearTween(){this.tweenGroup.getAll().forEach(t=>t.stop()),this.tweenGroup.removeAll()}dispose(){super.dispose(),this.unRegistryEvent(),this.clearTween()}constructor(t,e,n){super(e,n),this.context=t,this.camera=e,this.domElement=n,this.prevCameraZoom=1,this.tweenGroup=new ec,this.offsetY=0,this.onChange=()=>{let r=this.camera.zoom;r!==this.prevCameraZoom&&(this.prevCameraZoom=r,this.dispatchEvent({type:"change-zoom",zoom:r}))},this.tweenUpdate=()=>{this.tweenGroup.update()},this.enableDamping=!1,this.zoomSpeed=.5,this.prevCameraZoom=e.zoom,this.registryEvent()}};import{EventDispatcher as nc,WebGLRenderer as rc,LinearToneMapping as ic}from"three";var ur=class extends rc{setCameraAndScene(t,e){this.scene=t,this.camera=e}autoRender(){this.scene&&this.camera&&this.enable&&(this.event.dispatchEvent({type:"update"}),this.render(this.scene,this.camera)),this.timer.requestAnimationFrame(()=>{this.autoRender()})}pauseRender(){this.enable=!1}continueRender(){this.enable=!0}addEventListener(t,e){this.event.addEventListener(t,e)}removeEventListener(t,e){this.event.removeEventListener(t,e)}constructor(t){super(v({antialias:!0,alpha:!0},t)),this.event=new nc,this.enable=!0,this.timer=new X,this.autoClear=!0,this.setPixelRatio(window.devicePixelRatio),this.toneMapping=ic,this.toneMappingExposure=1;let e=this.dispose;this.dispose=()=>{this.timer.dispose(),this.enable=!1,e.call(this),this.domElement.remove(),this.domElement=null,this.shadowMap=null,this.info.programs&&(this.info.programs.length=0),this.info=null}}};import{Scene as ac}from"three";import{PMREMGenerator as oc}from"three";import{RoomEnvironment as sc}from"three/examples/jsm/environments/RoomEnvironment.js";function ns(a,t){t===void 0&&(t=.85);let e=new oc(a);return e.compileEquirectangularShader(),e.fromScene(new sc).texture}var lr=class extends ac{dispose(){var t;(t=this.environment)==null||t.dispose(),this.environment=null,O(this),this.clear()}constructor(t){super(),this.environment=ns(t)}};import{OrthographicCamera as uc}from"three";var cr=class extends uc{constructor(t,e){super(-t/2,t/2,e/2,-e/2,-1e4,5e4),this.up.set(0,0,1),this.position.set(0,0,100),this.lookAt(0,0,0)}};import{polygon as rs}from"@turf/turf";import"core-js/modules/es.array.unshift.js";import"core-js/modules/es.array.push.js";import"core-js/modules/web.dom-collections.iterator.js";import{Vector3 as lc}from"three";var hr=class{registryEvent(){this.context.addEventListener("update",this.onUpdate),this.context.addEventListener("control-change",this.onControlChange),this.context.addEventListener("resize",this.onControlChange)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate),this.context.removeEventListener("control-change",this.onControlChange),this.context.removeEventListener("resize",this.onControlChange)}changePoiLevelOrCollisionEnable(t){let e=this.objects.findIndex(n=>n===t);e!==-1&&(this.objects.splice(e,1),this.addObject(t))}addObjectEvent(t){let e=()=>this.changePoiLevelOrCollisionEnable(t);this.poiEvents.set(t,e),t.addEventListener("change-level",e),t.addEventListener("change-collision_enable",e),t.addEventListener("text-texture-inited",this.onControlChange)}removeObjectEvent(t){let e=this.poiEvents.get(t);e&&(t.removeEventListener("change-level",e),t.removeEventListener("change-collision_enable",e),t.removeEventListener("text-texture-inited",this.onControlChange))}addObject(t){if(!this.objects.includes(t)){if(this.needsUpdate=!0,this.addObjectEvent(t),!t.options.collision_enable){this.objects.unshift(t);return}if(t.options.level===0){this.objects.push(t);return}for(let e=0;e<this.objects.length;e++){let n=this.objects[e];if(n.options.collision_enable&&n.options.level<=t.options.level){this.objects.splice(e,0,t);return}}this.objects.push(t)}}removeObject(t){let e=this.objects.indexOf(t);e!==-1&&(this.objects.splice(e,1),this.removeObjectEvent(t),this.poiEvents.set(t,null),this.needsUpdate=!0)}removeObjects(t,e){e===void 0&&(e=!1),e?this.objects=this.objects.filter(n=>!t.includes(n)):this.objects=this.objects.filter(n=>t.includes(n)?(this.removeObjectEvent(n),this.poiEvents.set(n,null),!1):!0),this.needsUpdate=!0}getObjectById(t){return this.objects.find(e=>e.options.id===t)||null}validShowParkingSpace(t){t===void 0&&(t=60);let{clientSize:{width:e,height:n},control:r,camera:i}=this.context,o=Math.min(e/t,n/t,r.maxZoom-1);return i.zoom>=o}detectCollisions(){if(!this.needsUpdate)return;let t=[],{camera:e}=this.context;e.updateMatrixWorld();let n=c=>c<=1&&c>=-1,r=e.projectionMatrix.clone();r.multiply(e.matrixWorldInverse);let i=e.zoom/this.context.basicZoom,o=25/30,s=Math.min(25,Math.max(1,i*o)),u=this.validShowParkingSpace();this.objects.filter(c=>{if(c.visible){if(!(s<=c.options.maxWeight&&s>=c.options.minWeight)||!u&&c.userData.type==="parkingSpace")return c.parentSetVisible(!1),!1;let h=c.getWorldPosition(new lc);return h.applyMatrix4(r),c.screenPosition=h,n(h.x)&&n(h.y)&&n(h.z)?!0:(c.parentSetVisible(!1),!1)}return!1}).forEach((c,h)=>{let p=c.getBox(c.screenPosition);if(p===null){c.parentSetVisible(!1);return}if(h===0||!c.options.collision_enable){t.push(p),c.parentSetVisible(!0);return}let f=t.some(d=>d.intersectsBox(p));c.parentSetVisible(!f),f||t.push(p)}),this.needsUpdate=!1}markForUpdate(){this.needsUpdate=!0}clear(){this.objects=[],this.needsUpdate=!0}dispose(){this.objects.forEach(t=>{this.poiEvents.set(t,null)}),this.objects=[],this.unRegistryEvent()}constructor(t){this.context=t,this.objects=[],this.needsUpdate=!0,this.poiEvents=new WeakMap,this.onUpdate=()=>{this.detectCollisions()},this.onControlChange=()=>{this.needsUpdate=!0},this.registryEvent()}};var pr=class extends cc{get config(){return this.bmap.config}get center(){return this.bmap.buildingCenter}setRange(t){this.range=rs([t])}resizeClientSize(){let{x:t,y:e,width:n,height:r}=this.container.getBoundingClientRect();this.clientSize={width:n||this.container.clientWidth,height:r||this.container.clientHeight,x:t,y:e}}init(){let{clientWidth:t,clientHeight:e}=this.container;this.camera=new cr(t,e),this.renderer.setSize(t,e),this.renderer.setCameraAndScene(this.scene,this.camera),this.renderer.autoRender(),this.control=new ar(this,this.camera,this.renderer.domElement),this.control.maxPolarAngle=this.config.control.maxPolar,this.container.appendChild(this.renderer.domElement),this.scene.add(this.lights),this.basicRatio=this.getRatio(),this.control.addEventListener("change",this.onControlChange),this.control.addEventListener("change-zoom",this.onControlChangeZoom),this.renderer.addEventListener("update",this.onRendererUpdate),this.cameraBound=new nr(this)}getRatio(t,e){t===void 0&&(t=new Xt(0,0,0)),e===void 0&&(e=new Xt(100,0,0));let{clientWidth:n,clientHeight:r}=this.container,i=P(t,this.camera,n,r),o=P(e,this.camera,n,r);return Math.ceil(Math.sqrt((o.x-i.x)**2+(o.y-i.y)**2))}changeAmbientLightColor(t){this.lights.children.forEach(e=>{e instanceof gc&&(e.color=new dc(t))})}switchFloor(t,e){e===void 0&&(e=!0),console.log("switchFloor",e),this.currentFloor&&(this.scene.remove(this.currentFloor),e?this.currentFloor.dispose():this.currentFloor.onRemoveFromScene()),this.currentFloor=t,this.setRange(t.userData.range||[]),this.scene.add(t),t.onAddToScene("scene"),this.cameraBound.updateBox()}getGraphicsByDeviceXy(t,e){var n;let r=new Re;r.x=t/this.clientSize.width*2-1,r.y=e/this.clientSize.height*-2+1;let i=new pc;return i.setFromCamera(r,this.camera),i.ray.origin.sub(i.ray.direction.clone().multiplyScalar(100)),((n=this.currentFloor)==null?void 0:n.graphicLayer.getGraphicByRaycaster(i))||{graphics:[],position:null}}getPoisByDeviceXy(t,e){var n,r;let i=(n=this.currentFloor)==null?void 0:n.poiLayer.getPoiByDeviceXy(t,e),o=(r=this.currentFloor)==null?void 0:r.poiLayer2.getPoiByDeviceXy(t,e);return(i||[]).concat(o||[])}registryEvent(){window.addEventListener("resize",this.onWindowResize),this.container.addEventListener("click",this.onClick),this.container.addEventListener("pointerover",this.onPointerover),this.container.addEventListener("pointermove",this.onPointermove),this.container.addEventListener("pointerleave",this.onPointerleave),this.container.addEventListener("pointercancel",this.onPointerleave),this.container.addEventListener("pointerout",this.onPointerleave),this.selection.addEventListener("select",this.onSelectionSelect),this.hoverHelper.addEventListener("hover-change",this.onHoverChange)}unRegistryEvent(){window.removeEventListener("resize",this.onWindowResize),this.container.removeEventListener("click",this.onClick),this.container.removeEventListener("pointerover",this.onPointerover),this.container.removeEventListener("pointermove",this.onPointermove),this.container.removeEventListener("pointerleave",this.onPointerleave),this.container.removeEventListener("pointercancel",this.onPointerleave),this.container.removeEventListener("pointerout",this.onPointerleave),this.selection.removeEventListener("select",this.onSelectionSelect),this.hoverHelper.removeEventListener("hover-change",this.onHoverChange),this.control.removeEventListener("change",this.onControlChange),this.control.removeEventListener("change-zoom",this.onControlChangeZoom),this.renderer.removeEventListener("update",this.onRendererUpdate)}setPolarAngle(t,e){return e===void 0&&(e=500),this.control.setPolarAngleByDuration(t,!0,e)}setAzimuthalAngle(t,e){return e===void 0&&(e=500),this.control.setAzimuthalAngleDuration(t,!0,e)}getCameraLookAt(){return this.control.getCameraLookAt()}setZoom(t,e,n){return n===void 0&&(n=500),this.control.setZoomByDuration(t,e,!0,n)}getFitCameraToObjectZoom(t,e,n){return e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=!0),this.getFitCameraToBoxZoom(new fc().setFromObject(t),e,n)}getFitCameraToBoxZoom(t,e,n){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=!0);let[r,i,o,s]=e,{clientSize:{width:u,height:l}}=this,c=this.control.getPolarAngle();n&&this.setPolarAngle(0,0),this.setPolarAngle(c,0);let{max:h,min:p}=t,f=new Xt(p.x,h.y,h.z),d=new Xt(h.x,h.y,h.z),m=new Xt(h.x,p.y,p.z),y=new Xt(p.x,p.y,p.z),x=P(f,this.camera,u,l),E=P(d,this.camera,u,l),S=P(y,this.camera,u,l),A=P(m,this.camera,u,l),V=new hc().setFromPoints([new Re(x.x,x.y),new Re(E.x,E.y),new Re(S.x,S.y),new Re(A.x,A.y)]).getSize(new Re),M=(u-i-s)/V.x,W=(l-r-o)/V.y,I=Math.min(M,W),R=new Xt((h.x+p.x)/2,(h.y+p.y)/2,(h.z+p.z)/2),T=I*this.camera.zoom,F=this.camera.clone();F.zoom=T,F.updateMatrix();let q=(i-s)/2,z=(r-o)/2;if(q){let D=new Xt;D.setFromMatrixColumn(F.matrix,0),D.normalize(),D.multiplyScalar(q/T),R.add(D)}if(z){let D=new Xt;D.setFromMatrixColumn(F.matrix,1),D.normalize(),D.multiplyScalar(z/T),R.add(D)}return{zoom:I*this.camera.zoom,center:R}}fitCameraToObject(t,e,n,r){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500),r===void 0&&(r=!0);let{zoom:i,center:o}=this.getFitCameraToObjectZoom(t,e,r);return this.setZoom(i,o,n)}fitCameraToBox(t,e,n,r){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500),r===void 0&&(r=!0);let{zoom:i,center:o}=this.getFitCameraToBoxZoom(t,e,r);return this.setZoom(i,o,n)}getFitCameraToGroundZoom(t,e,n){if(t===void 0&&(t=[20,20,20,20]),e===void 0&&(e=500),n===void 0&&(n=!0),this.currentFloor&&this.currentFloor.hasElement)return this.getFitCameraToObjectZoom(this.currentFloor.groundUpper,t,n).zoom}fitCameraToGround(t,e,n){return t===void 0&&(t=[20,20,20,20]),e===void 0&&(e=500),n===void 0&&(n=!0),this.currentFloor&&this.currentFloor.hasElement?this.fitCameraToObject(this.currentFloor.groundLayer,t,e,n):Promise.resolve(!1)}setCameraPosition(t,e){return g(this,null,function*(){return this.control.setCameraPositionByTarget(t,e)})}pauseRender(){this.renderer.pauseRender()}continueRender(){this.renderer.continueRender()}forceUpdate(){this.collisionSystem.needsUpdate=!0}dispose(){var t;this.collisionSystem.dispose(),(t=this.currentFloor)==null||t.dispose(),this.control.dispose(),this.cameraBound.dispose(),this.selection.dispose(),this.hoverHelper.dispose(),this.unRegistryEvent(),this.renderer.dispose(),this.lights.children.forEach(e=>e.dispose()),this.scene.dispose(),this.container=null,this.renderer=null}constructor(t,e){super(),this.container=t,this.renderer=new ur,this.lights=Di(),this.range=rs([]),this.clientSize={width:0,height:0,x:0,y:0},this.renderRf=0,this.basicZoom=1,this.onControlChange=()=>{this.dispatchEvent({type:"change-ratio",px:(this.basicRatio||0)*this.camera.zoom}),this.dispatchEvent({type:"control-change"})},this.onControlChangeZoom=n=>{let{zoom:r}=n;this.dispatchEvent({type:"control-zoom-change",zoom:r})},this.onRendererUpdate=()=>{this.dispatchEvent({type:"update"})},this.onWindowResize=()=>{let{container:n,camera:r,renderer:i}=this,{clientWidth:o,clientHeight:s}=n;o=Math.max(1,o),s=Math.max(1,s),r.left=-o/2,r.right=o/2,r.top=s/2,r.bottom=-s/2,r.updateProjectionMatrix(),i.setSize(o,s),this.resizeClientSize(),this.dispatchEvent({type:"resize",width:o,height:s})},this.onClick=n=>{let{graphics:r,position:i}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY);r.length&&this.dispatchEvent({type:"graphic-click",graphics:r,position:i});let o=this.getPoisByDeviceXy(n.offsetX,n.offsetY);o.length&&this.dispatchEvent({type:"poi-click",pois:o})},this.onPointerover=n=>{let{graphics:r,position:i}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),o=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-over",e:n,graphics:r,pois:o,position:i})},this.onPointermove=n=>{let{graphics:r,position:i}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),o=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-move",e:n,graphics:r,pois:o,position:i})},this.onPointerleave=n=>{this.dispatchEvent({type:"pointer-level"})},this.onSelectionSelect=n=>{let{graphics:r,isMultipleSelect:i}=n;this.dispatchEvent({type:"select-graphic",graphics:r,isMultipleSelect:i})},this.onHoverChange=n=>{let{graphics:r}=n;this.dispatchEvent({type:"hover",graphics:r})},this.bmap=e,this.container.style.position="relative",this.container.style.overflow="hidden",this.scene=new lr(this.renderer),this.collisionSystem=new hr(this),this.init(),this.selection=new tr(this),this.hoverHelper=new er(this),this.resizeClientSize(),this.registryEvent()}};import{merge as mc}from"lodash";var _c={placeId:0,apiDomain:"",apiInfo:{},apiPath:{floorGraphic:"/api/inception-map/floor/get",floorRange:"/api/inception-map/range/get",equipmentList:"/api/inception-map/equipment/get",roadNetwork:"/api/inception-map/road_network/get",loadPlaceInfo:"https://screen.aibee.cn/ai-map/map/get-floor-map"},enableBoxSelect:!0,resizeObserver:!1,initTransToMark:!1,heatMap:{radius:50,minOpacity:.1,gradient:{0:"#8F9FCD",.5:"#6284FF",1:"#F95D5D"}},useFloorCache:!0,control:{maxPolar:1.2,defaultPolar:1.1,defaultAzimuthal:0,maxZoomScale:30},defaultPadding:[20,20,20,20],svg:{circle:{radius:"2",fill:"#1CADFF"},line:{stroke:"#1CADFF"}},selectBox:{stroke:"#1CADFF",fill:"rgba(28, 173, 255, 0.3)"},hover:{time:100},ground:{color:"#F6F6F6",opacity:1,height:.001,stroke:!1,strokeColor:"#E6E6E6",strokeOpacity:1},markGraphic:{color:"#EEF0F3",opacity:1,height:.001,stroke:!1,strokeColor:"#000",strokeOpacity:1},graphic:{fillOpacity:1},cameraBound:{padding:[150,150,150,150]},poi:{boxScale:1},loaderPlaceConfig:{textFontSize:14}};function is(a){return mc({},_c,a)}import{debounce as Bc}from"lodash";import"core-js/modules/web.dom-collections.iterator.js";import{Vector3 as Lc,Color as Nc}from"three";import"core-js/modules/es.array.push.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.sort.js";var $e=function(a){return a.LAYERED_RENDER_VERSION="layeredRender",a.MERGED_RENDER_VERSION="mergedRender",a}({});function fr(a,t){let e=a.poi_info.showName||a.store_name||a.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=a.store_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=a.store_info_ext)==null?void 0:r.traditional_name)||e}}function dr(a,t){let e=a.poi_info.showName||a.store_name||a.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=a.infra_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=a.infra_info_ext)==null?void 0:r.traditional_name)||e}}var hi=["range","ground","store","facility","parkingSpace"];function os(a){return hi.indexOf(a.l_type)===-1?hi.length:hi.indexOf(a.l_type)}function yc(a){a.layers.sort((t,e)=>os(t)-os(e))}function vc(a){let t=a.layers.find(n=>n.l_type==="range"),e=[t.elements[0].center_x,t.elements[0].center_y];a.layers.map(n=>{if(n.l_type!=="range")return mn(n.elements,e)})}function Je(a){yc(a),vc(a)}function Pe(a,t){return t===void 0&&(t=5),a.floor_id+"_"+a.version_id+(t?"_"+t:"")}function ss(a,t,e){switch(a.l_type){case"ground":return pi(a,t);case"graph":return xc(a,t);case"wall":return Ec(a,t);case"lane":return bc(a,t);case"texture2d":case"texture3d":return Sc(a,t);case"glb":return Mc(a,t);case"store":return wc(a,t,e);case"facility":return Ac(a,t,e);case"parkingSpace":return Ic(a,t,e);case"text":return Pc(a,t)}}function as(a,t,e,n,r){switch(a.l_type){case"store":return Tc(a,t,e,n,r);case"facility":return Cc(a,t,e,n,r);case"parkingSpace":return Rc(a,t,n,r)}}function xc(a,t){t.mergeGraphicLayer.addGraphics(a.elements,a.mergedElements)}function pi(a,t){let e=a.elements.map(n=>new it(t.context,v({},n,{dashed:!1})));t.addGrounds(e)}function Ec(a,t){if(a.mergedElements)a.mergedElements.map(e=>{if(e.instancedGeometry){let n=new Jn(t.context,e.instancedGeometry);t.wallLayer.add(n)}if(e.mergedGeometry){let n=new Yn(t.context,e);t.wallLayer.add(n)}});else{let e=a.elements.reduce((n,r)=>{let{fillColor:i,fillOpacity:o,strokeColor:s,strokeOpacity:u,height:l}=r,c=i.toLowerCase()+"-"+o+"-"+s.toLowerCase()+"-"+u+"-"+l;return u===0&&(c=i.toLowerCase()+"-"+o+"-"+l),n[c]?n[c].push(r):n[c]=[r],n},{});Object.values(e).forEach(n=>{let r=new Wn(t.context,n);t.wallLayer.add(r)})}}function bc(a,t){if(a.mergedElements){let e=new Kn(t.context,a.mergedElements);t.laneLayer.add(e)}else{let e=new qn(t.context,a.elements);t.laneLayer.add(e)}}function Sc(a,t){if(a.mergedMatrixes)a.mergedMatrixes.map(e=>{let n=new le(t.context,e);t.textureLayer.add(n)});else if(a.elements.length){let e=new ue(t.context,a.elements);t.textureLayer.add(e)}}function Mc(a,t){t.glbModelLayer.addModels(a.elements.map(e=>v({},e,{url:e.secondUrl,rotate:e.secondRotate,width:e.secondWidth,center_x:e.center_coord_x,center_y:e.center_coord_y,deltaHeight:0})))}function wc(a,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(a.elements,a.mergedElements):a.elements.map(n=>{let r=t.addGraphic(v({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function Tc(a,t,e,n,r){a.elements.filter(i=>r.filterPoi(i)).map(i=>{try{let o=fr(i,e),s=new $(t.context,{id:i.id,icon:i.poi_info.showImageUrl||i.poi_info.icon,text:o,position:{x:i.center_coord_x,y:i.center_coord_y,z:i.airHeight+i.height},icon_size:[24,24],level:i.poi_info.level||0,hide_text:!n.showStoreName,maxWeight:i.poi_info.maxWeight||25,minWeight:i.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(s),s&&(s.userData.type="store",s.userData.data=i,s.userData.floor=t.name)}catch(o){console.log("\u521B\u5EFA\u5E97\u94FApoi\u5931\u8D25",o,i)}})}function Ac(a,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(a.elements,a.mergedElements):a.elements.map(n=>{let r=t.addGraphic(v({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function Cc(a,t,e,n,r){a.elements.filter(i=>i.poi_info).filter(i=>r.filterPoi(i)).map(i=>{try{let o=dr(i,e),s=new $(t.context,{id:i.id,icon:i.poi_info.showImageUrl||i.poi_info.icon,text:o,position:{x:i.center_coord_x,y:i.center_coord_y,z:i.airHeight+i.height},icon_size:[24,24],level:i.poi_info.level||0,hide_text:!n.showFacilityName,maxWeight:i.poi_info.maxWeight||25,minWeight:i.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(s),s.userData.type="facility",s.userData.data=i,s.userData.floor=t.name}catch(o){console.log("\u6DFB\u52A0facility\u5931\u8D25",o,i)}})}function Ic(a,t,e){t.parkingSpaceLayer.load(a,e.mergeParkingSpace),t.userData.parkingSpaces=t.parkingSpaceLayer.graphicMap.values(),t.userData.parkingSpacesGraphicMap=t.parkingSpaceLayer.graphicMap}function Rc(a,t,e,n){return g(this,null,function*(){a.elements.filter(i=>i.texts[0]).filter(i=>n.filterPoi(i)).forEach(i=>{try{let o=i.displayName||i.texts[0],s=new $(t.context,{id:i.id,text:o,position:{x:i.center_coord_x,y:i.center_coord_y,z:i.airHeight+i.height},text_font_size:e.textFontSize});s&&(s.userData.type="parkingSpace",s.userData.data=i,s.userData.floor=t.name),t.poiLayer2.pushPoi(s)}catch(o){console.log("\u6DFB\u52A0\u8F66\u4F4Dpoi\u5931\u8D25",o,i)}})})}function Pc(a,t){let e=new jn(t.context,a.elements.map(n=>v({},n,{center_x:n.center_coord_x,center_y:n.center_coord_y})));t.textTextureLayer.add(e)}function fi(){let a=new Blob([`var $D=Object.create;var U1=Object.defineProperty;var ZD=Object.getOwnPropertyDescriptor;var JD=Object.getOwnPropertyNames;var jD=Object.getPrototypeOf,KD=Object.prototype.hasOwnProperty;var X=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var QD=(n,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of JD(t))!KD.call(n,s)&&s!==e&&U1(n,s,{get:()=>t[s],enumerable:!(i=ZD(t,s))||i.enumerable});return n};var jt=(n,t,e)=>(e=n!=null?$D(jD(n)):{},QD(t||!n||!n.__esModule?U1(e,"default",{value:n,enumerable:!0}):e,n));var Ri=(n,t,e)=>new Promise((i,s)=>{var u=p=>{try{f(e.next(p))}catch(d){s(d)}},c=p=>{try{f(e.throw(p))}catch(d){s(d)}},f=p=>p.done?i(p.value):Promise.resolve(p.value).then(u,c);f((e=e.apply(n,t)).next())});var Sn=X((zg,B1)=>{"use strict";var Mc=function(n){return n&&n.Math===Math&&n};B1.exports=Mc(typeof globalThis=="object"&&globalThis)||Mc(typeof window=="object"&&window)||Mc(typeof self=="object"&&self)||Mc(typeof global=="object"&&global)||Mc(typeof zg=="object"&&zg)||function(){return this}()||Function("return this")()});var An=X((vet,z1)=>{"use strict";z1.exports=function(n){try{return!!n()}catch(t){return!0}}});var ri=X((_et,G1)=>{"use strict";var t3=An();G1.exports=!t3(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var bc=X((xet,k1)=>{"use strict";var e3=An();k1.exports=!e3(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})});var vr=X((Eet,q1)=>{"use strict";var n3=bc(),th=Function.prototype.call;q1.exports=n3?th.bind(th):function(){return th.apply(th,arguments)}});var X1=X(W1=>{"use strict";var V1={}.propertyIsEnumerable,H1=Object.getOwnPropertyDescriptor,r3=H1&&!V1.call({1:2},1);W1.f=r3?function(t){var e=H1(this,t);return!!e&&e.enumerable}:V1});var Ac=X((Met,Y1)=>{"use strict";Y1.exports=function(n,t){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:t}}});var In=X((bet,J1)=>{"use strict";var $1=bc(),Z1=Function.prototype,Gg=Z1.call,i3=$1&&Z1.bind.bind(Gg,Gg);J1.exports=$1?i3:function(n){return function(){return Gg.apply(n,arguments)}}});var vs=X((Aet,K1)=>{"use strict";var j1=In(),o3=j1({}.toString),s3=j1("".slice);K1.exports=function(n){return s3(o3(n),8,-1)}});var eh=X((Tet,Q1)=>{"use strict";var a3=In(),u3=An(),l3=vs(),kg=Object,c3=a3("".split);Q1.exports=u3(function(){return!kg("z").propertyIsEnumerable(0)})?function(n){return l3(n)==="String"?c3(n,""):kg(n)}:kg});var nh=X((Cet,tE)=>{"use strict";tE.exports=function(n){return n==null}});var zu=X((Iet,eE)=>{"use strict";var f3=nh(),h3=TypeError;eE.exports=function(n){if(f3(n))throw new h3("Can't call method on "+n);return n}});var Gu=X((Pet,nE)=>{"use strict";var p3=eh(),d3=zu();nE.exports=function(n){return p3(d3(n))}});var er=X((Ret,rE)=>{"use strict";var qg=typeof document=="object"&&document.all;rE.exports=typeof qg=="undefined"&&qg!==void 0?function(n){return typeof n=="function"||n===qg}:function(n){return typeof n=="function"}});var Ei=X((Let,iE)=>{"use strict";var g3=er();iE.exports=function(n){return typeof n=="object"?n!==null:g3(n)}});var $s=X((Net,oE)=>{"use strict";var Vg=Sn(),m3=er(),y3=function(n){return m3(n)?n:void 0};oE.exports=function(n,t){return arguments.length<2?y3(Vg[n]):Vg[n]&&Vg[n][t]}});var Tc=X((Oet,sE)=>{"use strict";var v3=In();sE.exports=v3({}.isPrototypeOf)});var ku=X((Det,lE)=>{"use strict";var _3=Sn(),aE=_3.navigator,uE=aE&&aE.userAgent;lE.exports=uE?String(uE):""});var Cc=X((Fet,gE)=>{"use strict";var dE=Sn(),Hg=ku(),cE=dE.process,fE=dE.Deno,hE=cE&&cE.versions||fE&&fE.version,pE=hE&&hE.v8,wo,rh;pE&&(wo=pE.split("."),rh=wo[0]>0&&wo[0]<4?1:+(wo[0]+wo[1]));!rh&&Hg&&(wo=Hg.match(/Edge\\/(\\d+)/),(!wo||wo[1]>=74)&&(wo=Hg.match(/Chrome\\/(\\d+)/),wo&&(rh=+wo[1])));gE.exports=rh});var ih=X((Uet,yE)=>{"use strict";var mE=Cc(),x3=An(),E3=Sn(),S3=E3.String;yE.exports=!!Object.getOwnPropertySymbols&&!x3(function(){var n=Symbol("symbol detection");return!S3(n)||!(Object(n)instanceof Symbol)||!Symbol.sham&&mE&&mE<41})});var Wg=X((Bet,vE)=>{"use strict";var w3=ih();vE.exports=w3&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ic=X((zet,_E)=>{"use strict";var M3=$s(),b3=er(),A3=Tc(),T3=Wg(),C3=Object;_E.exports=T3?function(n){return typeof n=="symbol"}:function(n){var t=M3("Symbol");return b3(t)&&A3(t.prototype,C3(n))}});var qu=X((Get,xE)=>{"use strict";var I3=String;xE.exports=function(n){try{return I3(n)}catch(t){return"Object"}}});var _s=X((ket,EE)=>{"use strict";var P3=er(),R3=qu(),L3=TypeError;EE.exports=function(n){if(P3(n))return n;throw new L3(R3(n)+" is not a function")}});var Pc=X((qet,SE)=>{"use strict";var N3=_s(),O3=nh();SE.exports=function(n,t){var e=n[t];return O3(e)?void 0:N3(e)}});var ME=X((Vet,wE)=>{"use strict";var Xg=vr(),Yg=er(),$g=Ei(),D3=TypeError;wE.exports=function(n,t){var e,i;if(t==="string"&&Yg(e=n.toString)&&!$g(i=Xg(e,n))||Yg(e=n.valueOf)&&!$g(i=Xg(e,n))||t!=="string"&&Yg(e=n.toString)&&!$g(i=Xg(e,n)))return i;throw new D3("Can't convert object to primitive value")}});var Rc=X((Het,bE)=>{"use strict";bE.exports=!1});var oh=X((Wet,TE)=>{"use strict";var AE=Sn(),F3=Object.defineProperty;TE.exports=function(n,t){try{F3(AE,n,{value:t,configurable:!0,writable:!0})}catch(e){AE[n]=t}return t}});var sh=X((Xet,PE)=>{"use strict";var U3=Rc(),B3=Sn(),z3=oh(),CE="__core-js_shared__",IE=PE.exports=B3[CE]||z3(CE,{});(IE.versions||(IE.versions=[])).push({version:"3.42.0",mode:U3?"pure":"global",copyright:"\\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var ah=X((Yet,LE)=>{"use strict";var RE=sh();LE.exports=function(n,t){return RE[n]||(RE[n]=t||{})}});var Vi=X(($et,NE)=>{"use strict";var G3=zu(),k3=Object;NE.exports=function(n){return k3(G3(n))}});var oo=X((Zet,OE)=>{"use strict";var q3=In(),V3=Vi(),H3=q3({}.hasOwnProperty);OE.exports=Object.hasOwn||function(t,e){return H3(V3(t),e)}});var uh=X((Jet,DE)=>{"use strict";var W3=In(),X3=0,Y3=Math.random(),$3=W3(1 .toString);DE.exports=function(n){return"Symbol("+(n===void 0?"":n)+")_"+$3(++X3+Y3,36)}});var Xr=X((jet,UE)=>{"use strict";var Z3=Sn(),J3=ah(),FE=oo(),j3=uh(),K3=ih(),Q3=Wg(),Vu=Z3.Symbol,Zg=J3("wks"),tF=Q3?Vu.for||Vu:Vu&&Vu.withoutSetter||j3;UE.exports=function(n){return FE(Zg,n)||(Zg[n]=K3&&FE(Vu,n)?Vu[n]:tF("Symbol."+n)),Zg[n]}});var Jg=X((Ket,GE)=>{"use strict";var eF=vr(),BE=Ei(),zE=Ic(),nF=Pc(),rF=ME(),iF=Xr(),oF=TypeError,sF=iF("toPrimitive");GE.exports=function(n,t){if(!BE(n)||zE(n))return n;var e=nF(n,sF),i;if(e){if(t===void 0&&(t="default"),i=eF(e,n,t),!BE(i)||zE(i))return i;throw new oF("Can't convert object to primitive value")}return t===void 0&&(t="number"),rF(n,t)}});var lh=X((Qet,kE)=>{"use strict";var aF=Jg(),uF=Ic();kE.exports=function(n){var t=aF(n,"string");return uF(t)?t:t+""}});var ch=X((tnt,VE)=>{"use strict";var lF=Sn(),qE=Ei(),jg=lF.document,cF=qE(jg)&&qE(jg.createElement);VE.exports=function(n){return cF?jg.createElement(n):{}}});var Kg=X((ent,HE)=>{"use strict";var fF=ri(),hF=An(),pF=ch();HE.exports=!fF&&!hF(function(){return Object.defineProperty(pF("div"),"a",{get:function(){return 7}}).a!==7})});var fh=X(XE=>{"use strict";var dF=ri(),gF=vr(),mF=X1(),yF=Ac(),vF=Gu(),_F=lh(),xF=oo(),EF=Kg(),WE=Object.getOwnPropertyDescriptor;XE.f=dF?WE:function(t,e){if(t=vF(t),e=_F(e),EF)try{return WE(t,e)}catch(i){}if(xF(t,e))return yF(!gF(mF.f,t,e),t[e])}});var Qg=X((rnt,YE)=>{"use strict";var SF=ri(),wF=An();YE.exports=SF&&wF(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var so=X((int,$E)=>{"use strict";var MF=Ei(),bF=String,AF=TypeError;$E.exports=function(n){if(MF(n))return n;throw new AF(bF(n)+" is not an object")}});var Wo=X(JE=>{"use strict";var TF=ri(),CF=Kg(),IF=Qg(),hh=so(),ZE=lh(),PF=TypeError,tm=Object.defineProperty,RF=Object.getOwnPropertyDescriptor,em="enumerable",nm="configurable",rm="writable";JE.f=TF?IF?function(t,e,i){if(hh(t),e=ZE(e),hh(i),typeof t=="function"&&e==="prototype"&&"value"in i&&rm in i&&!i[rm]){var s=RF(t,e);s&&s[rm]&&(t[e]=i.value,i={configurable:nm in i?i[nm]:s[nm],enumerable:em in i?i[em]:s[em],writable:!1})}return tm(t,e,i)}:tm:function(t,e,i){if(hh(t),e=ZE(e),hh(i),CF)try{return tm(t,e,i)}catch(s){}if("get"in i||"set"in i)throw new PF("Accessors not supported");return"value"in i&&(t[e]=i.value),t}});var xs=X((snt,jE)=>{"use strict";var LF=ri(),NF=Wo(),OF=Ac();jE.exports=LF?function(n,t,e){return NF.f(n,t,OF(1,e))}:function(n,t,e){return n[t]=e,n}});var ph=X((ant,QE)=>{"use strict";var im=ri(),DF=oo(),KE=Function.prototype,FF=im&&Object.getOwnPropertyDescriptor,om=DF(KE,"name"),UF=om&&function(){}.name==="something",BF=om&&(!im||im&&FF(KE,"name").configurable);QE.exports={EXISTS:om,PROPER:UF,CONFIGURABLE:BF}});var am=X((unt,tS)=>{"use strict";var zF=In(),GF=er(),sm=sh(),kF=zF(Function.toString);GF(sm.inspectSource)||(sm.inspectSource=function(n){return kF(n)});tS.exports=sm.inspectSource});var rS=X((lnt,nS)=>{"use strict";var qF=Sn(),VF=er(),eS=qF.WeakMap;nS.exports=VF(eS)&&/native code/.test(String(eS))});var dh=X((cnt,oS)=>{"use strict";var HF=ah(),WF=uh(),iS=HF("keys");oS.exports=function(n){return iS[n]||(iS[n]=WF(n))}});var gh=X((fnt,sS)=>{"use strict";sS.exports={}});var Va=X((hnt,lS)=>{"use strict";var XF=rS(),uS=Sn(),YF=Ei(),$F=xs(),um=oo(),lm=sh(),ZF=dh(),JF=gh(),aS="Object already initialized",cm=uS.TypeError,jF=uS.WeakMap,mh,Lc,yh,KF=function(n){return yh(n)?Lc(n):mh(n,{})},QF=function(n){return function(t){var e;if(!YF(t)||(e=Lc(t)).type!==n)throw new cm("Incompatible receiver, "+n+" required");return e}};XF||lm.state?(Mo=lm.state||(lm.state=new jF),Mo.get=Mo.get,Mo.has=Mo.has,Mo.set=Mo.set,mh=function(n,t){if(Mo.has(n))throw new cm(aS);return t.facade=n,Mo.set(n,t),t},Lc=function(n){return Mo.get(n)||{}},yh=function(n){return Mo.has(n)}):(qa=ZF("state"),JF[qa]=!0,mh=function(n,t){if(um(n,qa))throw new cm(aS);return t.facade=n,$F(n,qa,t),t},Lc=function(n){return um(n,qa)?n[qa]:{}},yh=function(n){return um(n,qa)});var Mo,qa;lS.exports={set:mh,get:Lc,has:yh,enforce:KF,getterFor:QF}});var pm=X((pnt,hS)=>{"use strict";var hm=In(),tU=An(),eU=er(),vh=oo(),fm=ri(),nU=ph().CONFIGURABLE,rU=am(),fS=Va(),iU=fS.enforce,oU=fS.get,cS=String,_h=Object.defineProperty,sU=hm("".slice),aU=hm("".replace),uU=hm([].join),lU=fm&&!tU(function(){return _h(function(){},"length",{value:8}).length!==8}),cU=String(String).split("String"),fU=hS.exports=function(n,t,e){sU(cS(t),0,7)==="Symbol("&&(t="["+aU(cS(t),/^Symbol\\(([^)]*)\\).*$/,"$1")+"]"),e&&e.getter&&(t="get "+t),e&&e.setter&&(t="set "+t),(!vh(n,"name")||nU&&n.name!==t)&&(fm?_h(n,"name",{value:t,configurable:!0}):n.name=t),lU&&e&&vh(e,"arity")&&n.length!==e.arity&&_h(n,"length",{value:e.arity});try{e&&vh(e,"constructor")&&e.constructor?fm&&_h(n,"prototype",{writable:!1}):n.prototype&&(n.prototype=void 0)}catch(s){}var i=iU(n);return vh(i,"source")||(i.source=uU(cU,typeof t=="string"?t:"")),n};Function.prototype.toString=fU(function(){return eU(this)&&oU(this).source||rU(this)},"toString")});var Ha=X((dnt,pS)=>{"use strict";var hU=er(),pU=Wo(),dU=pm(),gU=oh();pS.exports=function(n,t,e,i){i||(i={});var s=i.enumerable,u=i.name!==void 0?i.name:t;if(hU(e)&&dU(e,u,i),i.global)s?n[t]=e:gU(t,e);else{try{i.unsafe?n[t]&&(s=!0):delete n[t]}catch(c){}s?n[t]=e:pU.f(n,t,{value:e,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return n}});var gS=X((gnt,dS)=>{"use strict";var mU=Math.ceil,yU=Math.floor;dS.exports=Math.trunc||function(t){var e=+t;return(e>0?yU:mU)(e)}});var Hi=X((mnt,mS)=>{"use strict";var vU=gS();mS.exports=function(n){var t=+n;return t!==t||t===0?0:vU(t)}});var xh=X((ynt,yS)=>{"use strict";var _U=Hi(),xU=Math.max,EU=Math.min;yS.exports=function(n,t){var e=_U(n);return e<0?xU(e+t,0):EU(e,t)}});var Wa=X((vnt,vS)=>{"use strict";var SU=Hi(),wU=Math.min;vS.exports=function(n){var t=SU(n);return t>0?wU(t,9007199254740991):0}});var ii=X((_nt,_S)=>{"use strict";var MU=Wa();_S.exports=function(n){return MU(n.length)}});var SS=X((xnt,ES)=>{"use strict";var bU=Gu(),AU=xh(),TU=ii(),xS=function(n){return function(t,e,i){var s=bU(t),u=TU(s);if(u===0)return!n&&-1;var c=AU(i,u),f;if(n&&e!==e){for(;u>c;)if(f=s[c++],f!==f)return!0}else for(;u>c;c++)if((n||c in s)&&s[c]===e)return n||c||0;return!n&&-1}};ES.exports={includes:xS(!0),indexOf:xS(!1)}});var gm=X((Ent,MS)=>{"use strict";var CU=In(),dm=oo(),IU=Gu(),PU=SS().indexOf,RU=gh(),wS=CU([].push);MS.exports=function(n,t){var e=IU(n),i=0,s=[],u;for(u in e)!dm(RU,u)&&dm(e,u)&&wS(s,u);for(;t.length>i;)dm(e,u=t[i++])&&(~PU(s,u)||wS(s,u));return s}});var Eh=X((Snt,bS)=>{"use strict";bS.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var mm=X(AS=>{"use strict";var LU=gm(),NU=Eh(),OU=NU.concat("length","prototype");AS.f=Object.getOwnPropertyNames||function(t){return LU(t,OU)}});var CS=X(TS=>{"use strict";TS.f=Object.getOwnPropertySymbols});var PS=X((bnt,IS)=>{"use strict";var DU=$s(),FU=In(),UU=mm(),BU=CS(),zU=so(),GU=FU([].concat);IS.exports=DU("Reflect","ownKeys")||function(t){var e=UU.f(zU(t)),i=BU.f;return i?GU(e,i(t)):e}});var ym=X((Ant,LS)=>{"use strict";var RS=oo(),kU=PS(),qU=fh(),VU=Wo();LS.exports=function(n,t,e){for(var i=kU(t),s=VU.f,u=qU.f,c=0;c<i.length;c++){var f=i[c];!RS(n,f)&&!(e&&RS(e,f))&&s(n,f,u(t,f))}}});var OS=X((Tnt,NS)=>{"use strict";var HU=An(),WU=er(),XU=/#|\\.prototype\\./,Nc=function(n,t){var e=$U[YU(n)];return e===JU?!0:e===ZU?!1:WU(t)?HU(t):!!t},YU=Nc.normalize=function(n){return String(n).replace(XU,".").toLowerCase()},$U=Nc.data={},ZU=Nc.NATIVE="N",JU=Nc.POLYFILL="P";NS.exports=Nc});var sr=X((Cnt,DS)=>{"use strict";var Sh=Sn(),jU=fh().f,KU=xs(),QU=Ha(),tB=oh(),eB=ym(),nB=OS();DS.exports=function(n,t){var e=n.target,i=n.global,s=n.stat,u,c,f,p,d,g;if(i?c=Sh:s?c=Sh[e]||tB(e,{}):c=Sh[e]&&Sh[e].prototype,c)for(f in t){if(d=t[f],n.dontCallGetSet?(g=jU(c,f),p=g&&g.value):p=c[f],u=nB(i?f:e+(s?".":"#")+f,n.forced),!u&&p!==void 0){if(typeof d==typeof p)continue;eB(d,p)}(n.sham||p&&p.sham)&&KU(d,"sham",!0),QU(c,f,d,n)}}});var Oc=X((Int,FS)=>{"use strict";var rB=vs();FS.exports=Array.isArray||function(t){return rB(t)==="Array"}});var vm=X((Pnt,US)=>{"use strict";var iB=ri(),oB=Oc(),sB=TypeError,aB=Object.getOwnPropertyDescriptor,uB=iB&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(n){return n instanceof TypeError}}();US.exports=uB?function(n,t){if(oB(n)&&!aB(n,"length").writable)throw new sB("Cannot set read only .length");return n.length=t}:function(n,t){return n.length=t}});var wh=X((Rnt,BS)=>{"use strict";var lB=TypeError,cB=9007199254740991;BS.exports=function(n){if(n>cB)throw lB("Maximum allowed index exceeded");return n}});var Mh=X(()=>{"use strict";var fB=sr(),hB=Vi(),pB=ii(),dB=vm(),gB=wh(),mB=An(),yB=mB(function(){return[].push.call({length:4294967296},1)!==4294967297}),vB=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(n){return n instanceof TypeError}},_B=yB||!vB();fB({target:"Array",proto:!0,arity:1,forced:_B},{push:function(t){var e=hB(this),i=pB(e),s=arguments.length;gB(i+s);for(var u=0;u<s;u++)e[i]=arguments[u],i++;return dB(e,i),i}})});var zS=X(()=>{"use strict";var xB=sr(),EB=vr();xB({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return EB(URL.prototype.toString,this)}})});var kS=X((Fnt,GS)=>{"use strict";GS.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var HS=X((Unt,VS)=>{"use strict";var SB=ch(),_m=SB("span").classList,qS=_m&&_m.constructor&&_m.constructor.prototype;VS.exports=qS===Object.prototype?void 0:qS});var XS=X((Bnt,WS)=>{"use strict";var wB=gm(),MB=Eh();WS.exports=Object.keys||function(t){return wB(t,MB)}});var $S=X(YS=>{"use strict";var bB=ri(),AB=Qg(),TB=Wo(),CB=so(),IB=Gu(),PB=XS();YS.f=bB&&!AB?Object.defineProperties:function(t,e){CB(t);for(var i=IB(e),s=PB(e),u=s.length,c=0,f;u>c;)TB.f(t,f=s[c++],i[f]);return t}});var JS=X((Gnt,ZS)=>{"use strict";var RB=$s();ZS.exports=RB("document","documentElement")});var Hu=X((knt,rw)=>{"use strict";var LB=so(),NB=$S(),jS=Eh(),OB=gh(),DB=JS(),FB=ch(),UB=dh(),KS=">",QS="<",Em="prototype",Sm="script",ew=UB("IE_PROTO"),xm=function(){},nw=function(n){return QS+Sm+KS+n+QS+"/"+Sm+KS},tw=function(n){n.write(nw("")),n.close();var t=n.parentWindow.Object;return n=null,t},BB=function(){var n=FB("iframe"),t="java"+Sm+":",e;return n.style.display="none",DB.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(nw("document.F=Object")),e.close(),e.F},bh,Ah=function(){try{bh=new ActiveXObject("htmlfile")}catch(t){}Ah=typeof document!="undefined"?document.domain&&bh?tw(bh):BB():tw(bh);for(var n=jS.length;n--;)delete Ah[Em][jS[n]];return Ah()};OB[ew]=!0;rw.exports=Object.create||function(t,e){var i;return t!==null?(xm[Em]=LB(t),i=new xm,xm[Em]=null,i[ew]=t):i=Ah(),e===void 0?i:NB.f(i,e)}});var bm=X((qnt,iw)=>{"use strict";var zB=Xr(),GB=Hu(),kB=Wo().f,wm=zB("unscopables"),Mm=Array.prototype;Mm[wm]===void 0&&kB(Mm,wm,{configurable:!0,value:GB(null)});iw.exports=function(n){Mm[wm][n]=!0}});var Wu=X((Vnt,ow)=>{"use strict";ow.exports={}});var aw=X((Hnt,sw)=>{"use strict";var qB=An();sw.exports=!qB(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})});var Dc=X((Wnt,lw)=>{"use strict";var VB=oo(),HB=er(),WB=Vi(),XB=dh(),YB=aw(),uw=XB("IE_PROTO"),Am=Object,$B=Am.prototype;lw.exports=YB?Am.getPrototypeOf:function(n){var t=WB(n);if(VB(t,uw))return t[uw];var e=t.constructor;return HB(e)&&t instanceof e?e.prototype:t instanceof Am?$B:null}});var Pm=X((Xnt,hw)=>{"use strict";var ZB=An(),JB=er(),jB=Ei(),KB=Hu(),cw=Dc(),QB=Ha(),tz=Xr(),ez=Rc(),Im=tz("iterator"),fw=!1,Es,Tm,Cm;[].keys&&(Cm=[].keys(),"next"in Cm?(Tm=cw(cw(Cm)),Tm!==Object.prototype&&(Es=Tm)):fw=!0);var nz=!jB(Es)||ZB(function(){var n={};return Es[Im].call(n)!==n});nz?Es={}:ez&&(Es=KB(Es));JB(Es[Im])||QB(Es,Im,function(){return this});hw.exports={IteratorPrototype:Es,BUGGY_SAFARI_ITERATORS:fw}});var Fc=X((Ynt,dw)=>{"use strict";var rz=Wo().f,iz=oo(),oz=Xr(),pw=oz("toStringTag");dw.exports=function(n,t,e){n&&!e&&(n=n.prototype),n&&!iz(n,pw)&&rz(n,pw,{configurable:!0,value:t})}});var mw=X(($nt,gw)=>{"use strict";var sz=Pm().IteratorPrototype,az=Hu(),uz=Ac(),lz=Fc(),cz=Wu(),fz=function(){return this};gw.exports=function(n,t,e,i){var s=t+" Iterator";return n.prototype=az(sz,{next:uz(+!i,e)}),lz(n,s,!1,!0),cz[s]=fz,n}});var Uc=X((Znt,yw)=>{"use strict";var hz=In(),pz=_s();yw.exports=function(n,t,e){try{return hz(pz(Object.getOwnPropertyDescriptor(n,t)[e]))}catch(i){}}});var _w=X((Jnt,vw)=>{"use strict";var dz=Ei();vw.exports=function(n){return dz(n)||n===null}});var Ew=X((jnt,xw)=>{"use strict";var gz=_w(),mz=String,yz=TypeError;xw.exports=function(n){if(gz(n))return n;throw new yz("Can't set "+mz(n)+" as a prototype")}});var Xu=X((Knt,Sw)=>{"use strict";var vz=Uc(),_z=Ei(),xz=zu(),Ez=Ew();Sw.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n=!1,t={},e;try{e=vz(Object.prototype,"__proto__","set"),e(t,[]),n=t instanceof Array}catch(i){}return function(s,u){return xz(s),Ez(u),_z(s)&&(n?e(s,u):s.__proto__=u),s}}():void 0)});var Nw=X((Qnt,Lw)=>{"use strict";var Sz=sr(),wz=vr(),Th=Rc(),Pw=ph(),Mz=er(),bz=mw(),ww=Dc(),Mw=Xu(),Az=Fc(),Tz=xs(),Rm=Ha(),Cz=Xr(),bw=Wu(),Rw=Pm(),Iz=Pw.PROPER,Pz=Pw.CONFIGURABLE,Aw=Rw.IteratorPrototype,Ch=Rw.BUGGY_SAFARI_ITERATORS,Bc=Cz("iterator"),Tw="keys",zc="values",Cw="entries",Iw=function(){return this};Lw.exports=function(n,t,e,i,s,u,c){bz(e,t,i);var f=function(x){if(x===s&&v)return v;if(!Ch&&x&&x in g)return g[x];switch(x){case Tw:return function(){return new e(this,x)};case zc:return function(){return new e(this,x)};case Cw:return function(){return new e(this,x)}}return function(){return new e(this)}},p=t+" Iterator",d=!1,g=n.prototype,y=g[Bc]||g["@@iterator"]||s&&g[s],v=!Ch&&y||f(s),E=t==="Array"&&g.entries||y,M,A,_;if(E&&(M=ww(E.call(new n)),M!==Object.prototype&&M.next&&(!Th&&ww(M)!==Aw&&(Mw?Mw(M,Aw):Mz(M[Bc])||Rm(M,Bc,Iw)),Az(M,p,!0,!0),Th&&(bw[p]=Iw))),Iz&&s===zc&&y&&y.name!==zc&&(!Th&&Pz?Tz(g,"name",zc):(d=!0,v=function(){return wz(y,this)})),s)if(A={values:f(zc),keys:u?v:f(Tw),entries:f(Cw)},c)for(_ in A)(Ch||d||!(_ in g))&&Rm(g,_,A[_]);else Sz({target:t,proto:!0,forced:Ch||d},A);return(!Th||c)&&g[Bc]!==v&&Rm(g,Bc,v,{name:s}),bw[t]=v,A}});var Dw=X((trt,Ow)=>{"use strict";Ow.exports=function(n,t){return{value:n,done:t}}});var kw=X((ert,Gw)=>{"use strict";var Rz=Gu(),Lm=bm(),Fw=Wu(),Bw=Va(),Lz=Wo().f,Nz=Nw(),Ih=Dw(),Oz=Rc(),Dz=ri(),zw="Array Iterator",Fz=Bw.set,Uz=Bw.getterFor(zw);Gw.exports=Nz(Array,"Array",function(n,t){Fz(this,{type:zw,target:Rz(n),index:0,kind:t})},function(){var n=Uz(this),t=n.target,e=n.index++;if(!t||e>=t.length)return n.target=null,Ih(void 0,!0);switch(n.kind){case"keys":return Ih(e,!1);case"values":return Ih(t[e],!1)}return Ih([e,t[e]],!1)},"values");var Uw=Fw.Arguments=Fw.Array;Lm("keys");Lm("values");Lm("entries");if(!Oz&&Dz&&Uw.name!=="values")try{Lz(Uw,"name",{value:"values"})}catch(n){}});var Yu=X(()=>{"use strict";var qw=Sn(),Hw=kS(),Bz=HS(),Gc=kw(),Vw=xs(),zz=Fc(),Gz=Xr(),Nm=Gz("iterator"),Om=Gc.values,Ww=function(n,t){if(n){if(n[Nm]!==Om)try{Vw(n,Nm,Om)}catch(i){n[Nm]=Om}if(zz(n,t,!0),Hw[t]){for(var e in Gc)if(n[e]!==Gc[e])try{Vw(n,e,Gc[e])}catch(i){n[e]=Gc[e]}}}};for(Ph in Hw)Ww(qw[Ph]&&qw[Ph].prototype,Ph);var Ph;Ww(Bz,"DOMTokenList")});var Rh=X((irt,Xw)=>{"use strict";var kz=vs(),qz=In();Xw.exports=function(n){if(kz(n)==="Function")return qz(n)}});var kc=X((ort,$w)=>{"use strict";var Yw=Rh(),Vz=_s(),Hz=bc(),Wz=Yw(Yw.bind);$w.exports=function(n,t){return Vz(n),t===void 0?n:Hz?Wz(n,t):function(){return n.apply(t,arguments)}}});var jw=X((srt,Jw)=>{"use strict";var Xz=Oc(),Yz=ii(),$z=wh(),Zz=kc(),Zw=function(n,t,e,i,s,u,c,f){for(var p=s,d=0,g=c?Zz(c,f):!1,y,v;d<i;)d in e&&(y=g?g(e[d],d,t):e[d],u>0&&Xz(y)?(v=Yz(y),p=Zw(n,t,y,v,p,u-1)-1):($z(p+1),n[p]=y),p++),d++;return p};Jw.exports=Zw});var tM=X((art,Qw)=>{"use strict";var Jz=Xr(),jz=Jz("toStringTag"),Kw={};Kw[jz]="z";Qw.exports=String(Kw)==="[object z]"});var Zs=X((urt,eM)=>{"use strict";var Kz=tM(),Qz=er(),Lh=vs(),tG=Xr(),eG=tG("toStringTag"),nG=Object,rG=Lh(function(){return arguments}())==="Arguments",iG=function(n,t){try{return n[t]}catch(e){}};eM.exports=Kz?Lh:function(n){var t,e,i;return n===void 0?"Undefined":n===null?"Null":typeof(e=iG(t=nG(n),eG))=="string"?e:rG?Lh(t):(i=Lh(t))==="Object"&&Qz(t.callee)?"Arguments":i}});var Fm=X((lrt,sM)=>{"use strict";var oG=In(),sG=An(),nM=er(),aG=Zs(),uG=$s(),lG=am(),rM=function(){},iM=uG("Reflect","construct"),Dm=/^\\s*(?:class|function)\\b/,cG=oG(Dm.exec),fG=!Dm.test(rM),qc=function(t){if(!nM(t))return!1;try{return iM(rM,[],t),!0}catch(e){return!1}},oM=function(t){if(!nM(t))return!1;switch(aG(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return fG||!!cG(Dm,lG(t))}catch(e){return!0}};oM.sham=!0;sM.exports=!iM||sG(function(){var n;return qc(qc.call)||!qc(Object)||!qc(function(){n=!0})||n})?oM:qc});var cM=X((crt,lM)=>{"use strict";var aM=Oc(),hG=Fm(),pG=Ei(),dG=Xr(),gG=dG("species"),uM=Array;lM.exports=function(n){var t;return aM(n)&&(t=n.constructor,hG(t)&&(t===uM||aM(t.prototype))?t=void 0:pG(t)&&(t=t[gG],t===null&&(t=void 0))),t===void 0?uM:t}});var Um=X((frt,fM)=>{"use strict";var mG=cM();fM.exports=function(n,t){return new(mG(n))(t===0?0:t)}});var hM=X(()=>{"use strict";var yG=sr(),vG=jw(),_G=Vi(),xG=ii(),EG=Hi(),SG=Um();yG({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=_G(this),i=xG(e),s=SG(e,0);return s.length=vG(s,e,e,i,0,t===void 0?1:EG(t)),s}})});var pM=X(()=>{"use strict";var wG=bm();wG("flat")});var vM=X((mrt,yM)=>{"use strict";var MG=Xr(),gM=MG("iterator"),mM=!1;try{dM=0,Bm={next:function(){return{done:!!dM++}},return:function(){mM=!0}},Bm[gM]=function(){return this},Array.from(Bm,function(){throw 2})}catch(n){}var dM,Bm;yM.exports=function(n,t){try{if(!t&&!mM)return!1}catch(s){return!1}var e=!1;try{var i={};i[gM]=function(){return{next:function(){return{done:e=!0}}}},n(i)}catch(s){}return e}});var Nh=X((yrt,_M)=>{"use strict";_M.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"});var $u=X((vrt,EM)=>{"use strict";var xM=pm(),bG=Wo();EM.exports=function(n,t,e){return e.get&&xM(e.get,t,{getter:!0}),e.set&&xM(e.set,t,{setter:!0}),bG.f(n,t,e)}});var Wi=X((_rt,RM)=>{"use strict";var AG=Nh(),qm=ri(),Si=Sn(),bM=er(),Fh=Ei(),js=oo(),Vm=Zs(),TG=qu(),CG=xs(),zm=Ha(),IG=$u(),PG=Tc(),Uh=Dc(),Ju=Xu(),RG=Xr(),LG=uh(),AM=Va(),TM=AM.enforce,NG=AM.get,Oh=Si.Int8Array,Gm=Oh&&Oh.prototype,SM=Si.Uint8ClampedArray,wM=SM&&SM.prototype,Xo=Oh&&Uh(Oh),bo=Gm&&Uh(Gm),OG=Object.prototype,Hm=Si.TypeError,MM=RG("toStringTag"),km=LG("TYPED_ARRAY_TAG"),Dh="TypedArrayConstructor",Ss=AG&&!!Ju&&Vm(Si.opera)!=="Opera",CM=!1,Li,Js,Zu,ws={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Wm={BigInt64Array:8,BigUint64Array:8},DG=function(t){if(!Fh(t))return!1;var e=Vm(t);return e==="DataView"||js(ws,e)||js(Wm,e)},IM=function(n){var t=Uh(n);if(Fh(t)){var e=NG(t);return e&&js(e,Dh)?e[Dh]:IM(t)}},PM=function(n){if(!Fh(n))return!1;var t=Vm(n);return js(ws,t)||js(Wm,t)},FG=function(n){if(PM(n))return n;throw new Hm("Target is not a typed array")},UG=function(n){if(bM(n)&&(!Ju||PG(Xo,n)))return n;throw new Hm(TG(n)+" is not a typed array constructor")},BG=function(n,t,e,i){if(qm){if(e)for(var s in ws){var u=Si[s];if(u&&js(u.prototype,n))try{delete u.prototype[n]}catch(c){try{u.prototype[n]=t}catch(f){}}}(!bo[n]||e)&&zm(bo,n,e?t:Ss&&Gm[n]||t,i)}},zG=function(n,t,e){var i,s;if(qm){if(Ju){if(e){for(i in ws)if(s=Si[i],s&&js(s,n))try{delete s[n]}catch(u){}}if(!Xo[n]||e)try{return zm(Xo,n,e?t:Ss&&Xo[n]||t)}catch(u){}else return}for(i in ws)s=Si[i],s&&(!s[n]||e)&&zm(s,n,t)}};for(Li in ws)Js=Si[Li],Zu=Js&&Js.prototype,Zu?TM(Zu)[Dh]=Js:Ss=!1;for(Li in Wm)Js=Si[Li],Zu=Js&&Js.prototype,Zu&&(TM(Zu)[Dh]=Js);if((!Ss||!bM(Xo)||Xo===Function.prototype)&&(Xo=function(){throw new Hm("Incorrect invocation")},Ss))for(Li in ws)Si[Li]&&Ju(Si[Li],Xo);if((!Ss||!bo||bo===OG)&&(bo=Xo.prototype,Ss))for(Li in ws)Si[Li]&&Ju(Si[Li].prototype,bo);Ss&&Uh(wM)!==bo&&Ju(wM,bo);if(qm&&!js(bo,MM)){CM=!0,IG(bo,MM,{configurable:!0,get:function(){return Fh(this)?this[km]:void 0}});for(Li in ws)Si[Li]&&CG(Si[Li],km,Li)}RM.exports={NATIVE_ARRAY_BUFFER_VIEWS:Ss,TYPED_ARRAY_TAG:CM&&km,aTypedArray:FG,aTypedArrayConstructor:UG,exportTypedArrayMethod:BG,exportTypedArrayStaticMethod:zG,getTypedArrayConstructor:IM,isView:DG,isTypedArray:PM,TypedArray:Xo,TypedArrayPrototype:bo}});var OM=X((xrt,NM)=>{"use strict";var LM=Sn(),Xm=An(),GG=vM(),kG=Wi().NATIVE_ARRAY_BUFFER_VIEWS,qG=LM.ArrayBuffer,Xa=LM.Int8Array;NM.exports=!kG||!Xm(function(){Xa(1)})||!Xm(function(){new Xa(-1)})||!GG(function(n){new Xa,new Xa(null),new Xa(1.5),new Xa(n)},!0)||Xm(function(){return new Xa(new qG(2),1,void 0).length!==1})});var FM=X((Ert,DM)=>{"use strict";var VG=Ha();DM.exports=function(n,t,e){for(var i in t)VG(n,i,t[i],e);return n}});var Ym=X((Srt,UM)=>{"use strict";var HG=Tc(),WG=TypeError;UM.exports=function(n,t){if(HG(t,n))return n;throw new WG("Incorrect invocation")}});var Bh=X((wrt,BM)=>{"use strict";var XG=Hi(),YG=Wa(),$G=RangeError;BM.exports=function(n){if(n===void 0)return 0;var t=XG(n),e=YG(t);if(t!==e)throw new $G("Wrong length or index");return e}});var GM=X((Mrt,zM)=>{"use strict";zM.exports=Math.sign||function(t){var e=+t;return e===0||e!==e?e:e<0?-1:1}});var VM=X((brt,qM)=>{"use strict";var ZG=2220446049250313e-31,kM=1/ZG;qM.exports=function(n){return n+kM-kM}});var WM=X((Art,HM)=>{"use strict";var JG=GM(),jG=VM(),KG=Math.abs,QG=2220446049250313e-31;HM.exports=function(n,t,e,i){var s=+n,u=KG(s),c=JG(s);if(u<i)return c*jG(u/i/t)*i*t;var f=(1+t/QG)*u,p=f-(f-u);return p>e||p!==p?c*(1/0):c*p}});var YM=X((Trt,XM)=>{"use strict";var t4=WM(),e4=11920928955078125e-23,n4=34028234663852886e22,r4=11754943508222875e-54;XM.exports=Math.fround||function(t){return t4(t,e4,n4,r4)}});var ZM=X((Crt,$M)=>{"use strict";var i4=Array,o4=Math.abs,Ms=Math.pow,s4=Math.floor,a4=Math.log,u4=Math.LN2,l4=function(n,t,e){var i=i4(e),s=e*8-t-1,u=(1<<s)-1,c=u>>1,f=t===23?Ms(2,-24)-Ms(2,-77):0,p=n<0||n===0&&1/n<0?1:0,d=0,g,y,v;for(n=o4(n),n!==n||n===1/0?(y=n!==n?1:0,g=u):(g=s4(a4(n)/u4),v=Ms(2,-g),n*v<1&&(g--,v*=2),g+c>=1?n+=f/v:n+=f*Ms(2,1-c),n*v>=2&&(g++,v/=2),g+c>=u?(y=0,g=u):g+c>=1?(y=(n*v-1)*Ms(2,t),g+=c):(y=n*Ms(2,c-1)*Ms(2,t),g=0));t>=8;)i[d++]=y&255,y/=256,t-=8;for(g=g<<t|y,s+=t;s>0;)i[d++]=g&255,g/=256,s-=8;return i[d-1]|=p*128,i},c4=function(n,t){var e=n.length,i=e*8-t-1,s=(1<<i)-1,u=s>>1,c=i-7,f=e-1,p=n[f--],d=p&127,g;for(p>>=7;c>0;)d=d*256+n[f--],c-=8;for(g=d&(1<<-c)-1,d>>=-c,c+=t;c>0;)g=g*256+n[f--],c-=8;if(d===0)d=1-u;else{if(d===s)return g?NaN:p?-1/0:1/0;g+=Ms(2,t),d-=u}return(p?-1:1)*g*Ms(2,d-t)};$M.exports={pack:l4,unpack:c4}});var $m=X((Irt,jM)=>{"use strict";var f4=Vi(),JM=xh(),h4=ii();jM.exports=function(t){for(var e=f4(this),i=h4(e),s=arguments.length,u=JM(s>1?arguments[1]:void 0,i),c=s>2?arguments[2]:void 0,f=c===void 0?i:JM(c,i);f>u;)e[u++]=t;return e}});var zh=X((Prt,KM)=>{"use strict";var p4=In();KM.exports=p4([].slice)});var Zm=X((Rrt,tb)=>{"use strict";var d4=er(),g4=Ei(),QM=Xu();tb.exports=function(n,t,e){var i,s;return QM&&d4(i=t.constructor)&&i!==e&&g4(s=i.prototype)&&s!==e.prototype&&QM(n,s),n}});var Xh=X((Lrt,yb)=>{"use strict";var Hh=Sn(),t0=In(),Jm=ri(),m4=Nh(),hb=ph(),y4=xs(),v4=$u(),eb=FM(),jm=An(),Gh=Ym(),_4=Hi(),x4=Wa(),qh=Bh(),E4=YM(),pb=ZM(),S4=Dc(),nb=Xu(),w4=$m(),M4=zh(),b4=Zm(),A4=ym(),db=Fc(),e0=Va(),T4=hb.PROPER,rb=hb.CONFIGURABLE,Ku="ArrayBuffer",Wh="DataView",Qu="prototype",C4="Wrong length",gb="Wrong index",ib=e0.getterFor(Ku),Hc=e0.getterFor(Wh),ob=e0.set,Ao=Hh[Ku],Xi=Ao,ju=Xi&&Xi[Qu],Yo=Hh[Wh],Ya=Yo&&Yo[Qu],sb=Object.prototype,I4=Hh.Array,Vh=Hh.RangeError,P4=t0(w4),R4=t0([].reverse),mb=pb.pack,ab=pb.unpack,ub=function(n){return[n&255]},lb=function(n){return[n&255,n>>8&255]},cb=function(n){return[n&255,n>>8&255,n>>16&255,n>>24&255]},fb=function(n){return n[3]<<24|n[2]<<16|n[1]<<8|n[0]},L4=function(n){return mb(E4(n),23,4)},N4=function(n){return mb(n,52,8)},kh=function(n,t,e){v4(n[Qu],t,{configurable:!0,get:function(){return e(this)[t]}})},Ks=function(n,t,e,i){var s=Hc(n),u=qh(e),c=!!i;if(u+t>s.byteLength)throw new Vh(gb);var f=s.bytes,p=u+s.byteOffset,d=M4(f,p,p+t);return c?d:R4(d)},Qs=function(n,t,e,i,s,u){var c=Hc(n),f=qh(e),p=i(+s),d=!!u;if(f+t>c.byteLength)throw new Vh(gb);for(var g=c.bytes,y=f+c.byteOffset,v=0;v<t;v++)g[y+v]=p[d?v:t-v-1]};m4?(Km=T4&&Ao.name!==Ku,!jm(function(){Ao(1)})||!jm(function(){new Ao(-1)})||jm(function(){return new Ao,new Ao(1.5),new Ao(NaN),Ao.length!==1||Km&&!rb})?(Xi=function(t){return Gh(this,ju),b4(new Ao(qh(t)),this,Xi)},Xi[Qu]=ju,ju.constructor=Xi,A4(Xi,Ao)):Km&&rb&&y4(Ao,"name",Ku),nb&&S4(Ya)!==sb&&nb(Ya,sb),Vc=new Yo(new Xi(2)),Qm=t0(Ya.setInt8),Vc.setInt8(0,2147483648),Vc.setInt8(1,2147483649),(Vc.getInt8(0)||!Vc.getInt8(1))&&eb(Ya,{setInt8:function(t,e){Qm(this,t,e<<24>>24)},setUint8:function(t,e){Qm(this,t,e<<24>>24)}},{unsafe:!0})):(Xi=function(t){Gh(this,ju);var e=qh(t);ob(this,{type:Ku,bytes:P4(I4(e),0),byteLength:e}),Jm||(this.byteLength=e,this.detached=!1)},ju=Xi[Qu],Yo=function(t,e,i){Gh(this,Ya),Gh(t,ju);var s=ib(t),u=s.byteLength,c=_4(e);if(c<0||c>u)throw new Vh("Wrong offset");if(i=i===void 0?u-c:x4(i),c+i>u)throw new Vh(C4);ob(this,{type:Wh,buffer:t,byteLength:i,byteOffset:c,bytes:s.bytes}),Jm||(this.buffer=t,this.byteLength=i,this.byteOffset=c)},Ya=Yo[Qu],Jm&&(kh(Xi,"byteLength",ib),kh(Yo,"buffer",Hc),kh(Yo,"byteLength",Hc),kh(Yo,"byteOffset",Hc)),eb(Ya,{getInt8:function(t){return Ks(this,1,t)[0]<<24>>24},getUint8:function(t){return Ks(this,1,t)[0]},getInt16:function(t){var e=Ks(this,2,t,arguments.length>1?arguments[1]:!1);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=Ks(this,2,t,arguments.length>1?arguments[1]:!1);return e[1]<<8|e[0]},getInt32:function(t){return fb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))},getUint32:function(t){return fb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(t){return ab(Ks(this,4,t,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(t){return ab(Ks(this,8,t,arguments.length>1?arguments[1]:!1),52)},setInt8:function(t,e){Qs(this,1,t,ub,e)},setUint8:function(t,e){Qs(this,1,t,ub,e)},setInt16:function(t,e){Qs(this,2,t,lb,e,arguments.length>2?arguments[2]:!1)},setUint16:function(t,e){Qs(this,2,t,lb,e,arguments.length>2?arguments[2]:!1)},setInt32:function(t,e){Qs(this,4,t,cb,e,arguments.length>2?arguments[2]:!1)},setUint32:function(t,e){Qs(this,4,t,cb,e,arguments.length>2?arguments[2]:!1)},setFloat32:function(t,e){Qs(this,4,t,L4,e,arguments.length>2?arguments[2]:!1)},setFloat64:function(t,e){Qs(this,8,t,N4,e,arguments.length>2?arguments[2]:!1)}}));var Km,Vc,Qm;db(Xi,Ku);db(Yo,Wh);yb.exports={ArrayBuffer:Xi,DataView:Yo}});var _b=X((Nrt,vb)=>{"use strict";var O4=Ei(),D4=Math.floor;vb.exports=Number.isInteger||function(t){return!O4(t)&&isFinite(t)&&D4(t)===t}});var Eb=X((Ort,xb)=>{"use strict";var F4=Hi(),U4=RangeError;xb.exports=function(n){var t=F4(n);if(t<0)throw new U4("The argument can't be less than 0");return t}});var n0=X((Drt,Sb)=>{"use strict";var B4=Eb(),z4=RangeError;Sb.exports=function(n,t){var e=B4(n);if(e%t)throw new z4("Wrong offset");return e}});var Mb=X((Frt,wb)=>{"use strict";var G4=Math.round;wb.exports=function(n){var t=G4(n);return t<0?0:t>255?255:t&255}});var Ab=X((Urt,bb)=>{"use strict";var k4=Fm(),q4=qu(),V4=TypeError;bb.exports=function(n){if(k4(n))return n;throw new V4(q4(n)+" is not a constructor")}});var r0=X((Brt,Cb)=>{"use strict";var H4=Zs(),Tb=Pc(),W4=nh(),X4=Wu(),Y4=Xr(),$4=Y4("iterator");Cb.exports=function(n){if(!W4(n))return Tb(n,$4)||Tb(n,"@@iterator")||X4[H4(n)]}});var Pb=X((zrt,Ib)=>{"use strict";var Z4=vr(),J4=_s(),j4=so(),K4=qu(),Q4=r0(),tk=TypeError;Ib.exports=function(n,t){var e=arguments.length<2?Q4(n):t;if(J4(e))return j4(Z4(e,n));throw new tk(K4(n)+" is not iterable")}});var Lb=X((Grt,Rb)=>{"use strict";var ek=Xr(),nk=Wu(),rk=ek("iterator"),ik=Array.prototype;Rb.exports=function(n){return n!==void 0&&(nk.Array===n||ik[rk]===n)}});var i0=X((krt,Nb)=>{"use strict";var ok=Zs();Nb.exports=function(n){var t=ok(n);return t==="BigInt64Array"||t==="BigUint64Array"}});var Yh=X((qrt,Ob)=>{"use strict";var sk=Jg(),ak=TypeError;Ob.exports=function(n){var t=sk(n,"number");if(typeof t=="number")throw new ak("Can't convert number to bigint");return BigInt(t)}});var Fb=X((Vrt,Db)=>{"use strict";var uk=kc(),lk=vr(),ck=Ab(),fk=Vi(),hk=ii(),pk=Pb(),dk=r0(),gk=Lb(),mk=i0(),yk=Wi().aTypedArrayConstructor,vk=Yh();Db.exports=function(t){var e=ck(this),i=fk(t),s=arguments.length,u=s>1?arguments[1]:void 0,c=u!==void 0,f=dk(i),p,d,g,y,v,E,M,A;if(f&&!gk(f))for(M=pk(i,f),A=M.next,i=[];!(E=lk(A,M)).done;)i.push(E.value);for(c&&s>2&&(u=uk(u,arguments[2])),d=hk(i),g=new(yk(e))(d),y=mk(g),p=0;d>p;p++)v=c?u(i[p],p):i[p],g[p]=y?vk(v):+v;return g}});var zb=X((Hrt,Bb)=>{"use strict";var _k=kc(),xk=In(),Ek=eh(),Sk=Vi(),wk=ii(),Mk=Um(),Ub=xk([].push),ta=function(n){var t=n===1,e=n===2,i=n===3,s=n===4,u=n===6,c=n===7,f=n===5||u;return function(p,d,g,y){for(var v=Sk(p),E=Ek(v),M=wk(E),A=_k(d,g),_=0,x=y||Mk,T=t?x(p,M):e||c?x(p,0):void 0,w,R;M>_;_++)if((f||_ in E)&&(w=E[_],R=A(w,_,v),n))if(t)T[_]=R;else if(R)switch(n){case 3:return!0;case 5:return w;case 6:return _;case 2:Ub(T,w)}else switch(n){case 4:return!1;case 7:Ub(T,w)}return u?-1:i||s?s:T}};Bb.exports={forEach:ta(0),map:ta(1),filter:ta(2),some:ta(3),every:ta(4),find:ta(5),findIndex:ta(6),filterReject:ta(7)}});var o0=X((Wrt,kb)=>{"use strict";var bk=$s(),Ak=$u(),Tk=Xr(),Ck=ri(),Gb=Tk("species");kb.exports=function(n){var t=bk(n);Ck&&t&&!t[Gb]&&Ak(t,Gb,{configurable:!0,get:function(){return this}})}});var s0=X((Xrt,qb)=>{"use strict";var Ik=ii();qb.exports=function(n,t,e){for(var i=0,s=arguments.length>2?e:Ik(t),u=new n(s);s>i;)u[i]=t[i++];return u}});var uA=X((Yrt,p0)=>{"use strict";var Vb=sr(),tA=Sn(),Hb=vr(),Pk=ri(),Rk=OM(),$c=Wi(),eA=Xh(),Wb=Ym(),Lk=Ac(),Wc=xs(),Nk=_b(),Ok=Wa(),Xb=Bh(),a0=n0(),Dk=Mb(),nA=lh(),Xc=oo(),Fk=Zs(),c0=Ei(),Uk=Ic(),Bk=Hu(),zk=Tc(),$h=Xu(),Gk=mm().f,Yb=Fb(),kk=zb().forEach,qk=o0(),Vk=$u(),rA=Wo(),iA=fh(),$b=s0(),d0=Va(),Hk=Zm(),f0=d0.get,Wk=d0.set,Xk=d0.enforce,oA=rA.f,Yk=iA.f,u0=tA.RangeError,sA=eA.ArrayBuffer,$k=sA.prototype,Zk=eA.DataView,Zh=$c.NATIVE_ARRAY_BUFFER_VIEWS,Zb=$c.TYPED_ARRAY_TAG,Jb=$c.TypedArray,Yc=$c.TypedArrayPrototype,h0=$c.isTypedArray,Jh="BYTES_PER_ELEMENT",l0="Wrong length",jh=function(n,t){Vk(n,t,{configurable:!0,get:function(){return f0(this)[t]}})},jb=function(n){var t;return zk($k,n)||(t=Fk(n))==="ArrayBuffer"||t==="SharedArrayBuffer"},aA=function(n,t){return h0(n)&&!Uk(t)&&t in n&&Nk(+t)&&t>=0},Kb=function(t,e){return e=nA(e),aA(t,e)?Lk(2,t[e]):Yk(t,e)},Qb=function(t,e,i){return e=nA(e),aA(t,e)&&c0(i)&&Xc(i,"value")&&!Xc(i,"get")&&!Xc(i,"set")&&!i.configurable&&(!Xc(i,"writable")||i.writable)&&(!Xc(i,"enumerable")||i.enumerable)?(t[e]=i.value,t):oA(t,e,i)};Pk?(Zh||(iA.f=Kb,rA.f=Qb,jh(Yc,"buffer"),jh(Yc,"byteOffset"),jh(Yc,"byteLength"),jh(Yc,"length")),Vb({target:"Object",stat:!0,forced:!Zh},{getOwnPropertyDescriptor:Kb,defineProperty:Qb}),p0.exports=function(n,t,e){var i=n.match(/\\d+/)[0]/8,s=n+(e?"Clamped":"")+"Array",u="get"+n,c="set"+n,f=tA[s],p=f,d=p&&p.prototype,g={},y=function(A,_){var x=f0(A);return x.view[u](_*i+x.byteOffset,!0)},v=function(A,_,x){var T=f0(A);T.view[c](_*i+T.byteOffset,e?Dk(x):x,!0)},E=function(A,_){oA(A,_,{get:function(){return y(this,_)},set:function(x){return v(this,_,x)},enumerable:!0})};Zh?Rk&&(p=t(function(A,_,x,T){return Wb(A,d),Hk(function(){return c0(_)?jb(_)?T!==void 0?new f(_,a0(x,i),T):x!==void 0?new f(_,a0(x,i)):new f(_):h0(_)?$b(p,_):Hb(Yb,p,_):new f(Xb(_))}(),A,p)}),$h&&$h(p,Jb),kk(Gk(f),function(A){A in p||Wc(p,A,f[A])}),p.prototype=d):(p=t(function(A,_,x,T){Wb(A,d);var w=0,R=0,z,U,D;if(!c0(_))D=Xb(_),U=D*i,z=new sA(U);else if(jb(_)){z=_,R=a0(x,i);var P=_.byteLength;if(T===void 0){if(P%i)throw new u0(l0);if(U=P-R,U<0)throw new u0(l0)}else if(U=Ok(T)*i,U+R>P)throw new u0(l0);D=U/i}else return h0(_)?$b(p,_):Hb(Yb,p,_);for(Wk(A,{buffer:z,byteOffset:R,byteLength:U,length:D,view:new Zk(z)});w<D;)E(A,w++)}),$h&&$h(p,Jb),d=p.prototype=Bk(Yc)),d.constructor!==p&&Wc(d,"constructor",p),Xk(d).TypedArrayConstructor=p,Zb&&Wc(d,Zb,s);var M=p!==f;g[s]=p,Vb({global:!0,constructor:!0,forced:M,sham:!Zh},g),Jh in p||Wc(p,Jh,i),Jh in d||Wc(d,Jh,i),qk(s)}):p0.exports=function(){}});var g0=X(()=>{"use strict";var Jk=uA();Jk("Float32",function(n){return function(e,i,s){return n(this,e,i,s)}})});var m0=X(()=>{"use strict";var lA=Wi(),jk=ii(),Kk=Hi(),Qk=lA.aTypedArray,tq=lA.exportTypedArrayMethod;tq("at",function(t){var e=Qk(this),i=jk(e),s=Kk(t),u=s>=0?s:i+s;return u<0||u>=i?void 0:e[u]})});var y0=X(()=>{"use strict";var cA=Wi(),eq=$m(),nq=Yh(),rq=Zs(),iq=vr(),oq=In(),sq=An(),aq=cA.aTypedArray,uq=cA.exportTypedArrayMethod,lq=oq("".slice),cq=sq(function(){var n=0;return new Int8Array(2).fill({valueOf:function(){return n++}}),n!==1});uq("fill",function(t){var e=arguments.length;aq(this);var i=lq(rq(this),0,3)==="Big"?nq(t):+t;return iq(eq,this,i,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},cq)});var v0=X((tit,hA)=>{"use strict";var fq=kc(),hq=eh(),pq=Vi(),dq=ii(),fA=function(n){var t=n===1;return function(e,i,s){for(var u=pq(e),c=hq(u),f=dq(c),p=fq(i,s),d,g;f-- >0;)if(d=c[f],g=p(d,f,u),g)switch(n){case 0:return d;case 1:return f}return t?-1:void 0}};hA.exports={findLast:fA(0),findLastIndex:fA(1)}});var _0=X(()=>{"use strict";var pA=Wi(),gq=v0().findLast,mq=pA.aTypedArray,yq=pA.exportTypedArrayMethod;yq("findLast",function(t){return gq(mq(this),t,arguments.length>1?arguments[1]:void 0)})});var x0=X(()=>{"use strict";var dA=Wi(),vq=v0().findLastIndex,_q=dA.aTypedArray,xq=dA.exportTypedArrayMethod;xq("findLastIndex",function(t){return vq(_q(this),t,arguments.length>1?arguments[1]:void 0)})});var M0=X(()=>{"use strict";var mA=Sn(),yA=vr(),w0=Wi(),Eq=ii(),Sq=n0(),wq=Vi(),vA=An(),Mq=mA.RangeError,E0=mA.Int8Array,gA=E0&&E0.prototype,_A=gA&&gA.set,bq=w0.aTypedArray,Aq=w0.exportTypedArrayMethod,S0=!vA(function(){var n=new Uint8ClampedArray(2);return yA(_A,n,{length:1,0:3},1),n[1]!==3}),Tq=S0&&w0.NATIVE_ARRAY_BUFFER_VIEWS&&vA(function(){var n=new E0(2);return n.set(1),n.set("2",1),n[0]!==0||n[1]!==2});Aq("set",function(t){bq(this);var e=Sq(arguments.length>1?arguments[1]:void 0,1),i=wq(t);if(S0)return yA(_A,this,i,e);var s=this.length,u=Eq(i),c=0;if(u+e>s)throw new Mq("Wrong length");for(;c<u;)this[e+c]=i[c++]},!S0||Tq)});var A0=X((ait,EA)=>{"use strict";var xA=zh(),Cq=Math.floor,b0=function(n,t){var e=n.length;if(e<8)for(var i=1,s,u;i<e;){for(u=i,s=n[i];u&&t(n[u-1],s)>0;)n[u]=n[--u];u!==i++&&(n[u]=s)}else for(var c=Cq(e/2),f=b0(xA(n,0,c),t),p=b0(xA(n,c),t),d=f.length,g=p.length,y=0,v=0;y<d||v<g;)n[y+v]=y<d&&v<g?t(f[y],p[v])<=0?f[y++]:p[v++]:y<d?f[y++]:p[v++];return n};EA.exports=b0});var T0=X((uit,wA)=>{"use strict";var Iq=ku(),SA=Iq.match(/firefox\\/(\\d+)/i);wA.exports=!!SA&&+SA[1]});var C0=X((lit,MA)=>{"use strict";var Pq=ku();MA.exports=/MSIE|Trident/.test(Pq)});var I0=X((cit,AA)=>{"use strict";var Rq=ku(),bA=Rq.match(/AppleWebKit\\/(\\d+)\\./);AA.exports=!!bA&&+bA[1]});var R0=X(()=>{"use strict";var Lq=Sn(),Nq=Rh(),P0=An(),Oq=_s(),Dq=A0(),RA=Wi(),TA=T0(),Fq=C0(),CA=Cc(),IA=I0(),Uq=RA.aTypedArray,Bq=RA.exportTypedArrayMethod,Zc=Lq.Uint16Array,tl=Zc&&Nq(Zc.prototype.sort),zq=!!tl&&!(P0(function(){tl(new Zc(2),null)})&&P0(function(){tl(new Zc(2),{})})),PA=!!tl&&!P0(function(){if(CA)return CA<74;if(TA)return TA<67;if(Fq)return!0;if(IA)return IA<602;var n=new Zc(516),t=Array(516),e,i;for(e=0;e<516;e++)i=e%4,n[e]=515-e,t[e]=e-2*i+3;for(tl(n,function(s,u){return(s/4|0)-(u/4|0)}),e=0;e<516;e++)if(n[e]!==t[e])return!0}),Gq=function(n){return function(t,e){return n!==void 0?+n(t,e)||0:e!==e?-1:t!==t?1:t===0&&e===0?1/t>0&&1/e<0?1:-1:t>e}};Bq("sort",function(t){return t!==void 0&&Oq(t),PA?tl(this,t):Dq(Uq(this),Gq(t))},!PA||zq)});var NA=X((pit,LA)=>{"use strict";var kq=ii();LA.exports=function(n,t){for(var e=kq(n),i=new t(e),s=0;s<e;s++)i[s]=n[e-s-1];return i}});var N0=X(()=>{"use strict";var qq=NA(),L0=Wi(),Vq=L0.aTypedArray,Hq=L0.exportTypedArrayMethod,Wq=L0.getTypedArrayConstructor;Hq("toReversed",function(){return qq(Vq(this),Wq(this))})});var O0=X(()=>{"use strict";var Kh=Wi(),Xq=In(),Yq=_s(),$q=s0(),Zq=Kh.aTypedArray,Jq=Kh.getTypedArrayConstructor,jq=Kh.exportTypedArrayMethod,Kq=Xq(Kh.TypedArrayPrototype.sort);jq("toSorted",function(t){t!==void 0&&Yq(t);var e=Zq(this),i=$q(Jq(e),e);return Kq(i,t)})});var DA=X((vit,OA)=>{"use strict";var Qq=ii(),t5=Hi(),e5=RangeError;OA.exports=function(n,t,e,i){var s=Qq(n),u=t5(e),c=u<0?s+u:u;if(c>=s||c<0)throw new e5("Incorrect index");for(var f=new t(s),p=0;p<s;p++)f[p]=p===c?i:n[p];return f}});var F0=X(()=>{"use strict";var n5=DA(),D0=Wi(),r5=i0(),i5=Hi(),o5=Yh(),s5=D0.aTypedArray,a5=D0.getTypedArrayConstructor,u5=D0.exportTypedArrayMethod,l5=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(n){return n===8}}();u5("with",function(n,t){var e=s5(this),i=i5(n),s=r5(e)?o5(t):+t;return n5(e,a5(e),i,s)},!l5)});var B0=X(()=>{"use strict";var c5=sr(),f5=Sn(),h5=Xh(),p5=o0(),U0="ArrayBuffer",FA=h5[U0],d5=f5[U0];c5({global:!0,constructor:!0,forced:d5!==FA},{ArrayBuffer:FA});p5(U0)});var q0=X(()=>{"use strict";var g5=sr(),G0=Rh(),m5=An(),GA=Xh(),UA=so(),BA=xh(),y5=Wa(),k0=GA.ArrayBuffer,z0=GA.DataView,kA=z0.prototype,zA=G0(k0.prototype.slice),v5=G0(kA.getUint8),_5=G0(kA.setUint8),x5=m5(function(){return!new k0(2).slice(1,void 0).byteLength});g5({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:x5},{slice:function(t,e){if(zA&&e===void 0)return zA(UA(this),t);for(var i=UA(this).byteLength,s=BA(t,i),u=BA(e===void 0?i:e,i),c=new k0(y5(u-s)),f=new z0(this),p=new z0(c),d=0;s<u;)_5(p,d++,v5(f,s++));return c}})});var V0=X((bit,HA)=>{"use strict";var VA=Sn(),E5=Uc(),S5=vs(),qA=VA.ArrayBuffer,w5=VA.TypeError;HA.exports=qA&&E5(qA.prototype,"byteLength","get")||function(n){if(S5(n)!=="ArrayBuffer")throw new w5("ArrayBuffer expected");return n.byteLength}});var H0=X((Ait,WA)=>{"use strict";var M5=Sn(),b5=Nh(),A5=V0(),T5=M5.DataView;WA.exports=function(n){if(!b5||A5(n)!==0)return!1;try{return new T5(n),!1}catch(t){return!0}}});var W0=X(()=>{"use strict";var C5=ri(),I5=$u(),P5=H0(),XA=ArrayBuffer.prototype;C5&&!("detached"in XA)&&I5(XA,"detached",{configurable:!0,get:function(){return P5(this)}})});var $A=X((Iit,YA)=>{"use strict";var R5=H0(),L5=TypeError;YA.exports=function(n){if(R5(n))throw new L5("ArrayBuffer is detached");return n}});var X0=X((Pit,ZA)=>{"use strict";var Jc=Sn(),N5=ku(),O5=vs(),Qh=function(n){return N5.slice(0,n.length)===n};ZA.exports=function(){return Qh("Bun/")?"BUN":Qh("Cloudflare-Workers")?"CLOUDFLARE":Qh("Deno/")?"DENO":Qh("Node.js/")?"NODE":Jc.Bun&&typeof Bun.version=="string"?"BUN":Jc.Deno&&typeof Deno.version=="object"?"DENO":O5(Jc.process)==="process"?"NODE":Jc.window&&Jc.document?"BROWSER":"REST"}()});var jA=X((Rit,JA)=>{"use strict";var D5=X0();JA.exports=D5==="NODE"});var QA=X((Lit,KA)=>{"use strict";var F5=Sn(),U5=jA();KA.exports=function(n){if(U5){try{return F5.process.getBuiltinModule(n)}catch(t){}try{return Function('return require("'+n+'")')()}catch(t){}}}});var Z0=X((Nit,eT)=>{"use strict";var B5=Sn(),z5=An(),Y0=Cc(),$0=X0(),tT=B5.structuredClone;eT.exports=!!tT&&!z5(function(){if($0==="DENO"&&Y0>92||$0==="NODE"&&Y0>94||$0==="BROWSER"&&Y0>97)return!1;var n=new ArrayBuffer(8),t=tT(n,{transfer:[n]});return n.byteLength!==0||t.byteLength!==8})});var oT=X((Oit,iT)=>{"use strict";var Q0=Sn(),G5=QA(),k5=Z0(),q5=Q0.structuredClone,nT=Q0.ArrayBuffer,tp=Q0.MessageChannel,K0=!1,J0,rT,ep,j0;if(k5)K0=function(n){q5(n,{transfer:[n]})};else if(nT)try{tp||(J0=G5("worker_threads"),J0&&(tp=J0.MessageChannel)),tp&&(rT=new tp,ep=new nT(2),j0=function(n){rT.port1.postMessage(null,[n])},ep.byteLength===2&&(j0(ep),ep.byteLength===0&&(K0=j0)))}catch(n){}iT.exports=K0});var oy=X((Dit,hT)=>{"use strict";var ny=Sn(),ry=In(),lT=Uc(),V5=Bh(),H5=$A(),W5=V0(),sT=oT(),ty=Z0(),X5=ny.structuredClone,cT=ny.ArrayBuffer,ey=ny.DataView,Y5=Math.min,iy=cT.prototype,fT=ey.prototype,$5=ry(iy.slice),aT=lT(iy,"resizable","get"),uT=lT(iy,"maxByteLength","get"),Z5=ry(fT.getInt8),J5=ry(fT.setInt8);hT.exports=(ty||sT)&&function(n,t,e){var i=W5(n),s=t===void 0?i:V5(t),u=!aT||!aT(n),c;if(H5(n),ty&&(n=X5(n,{transfer:[n]}),i===s&&(e||u)))return n;if(i>=s&&(!e||u))c=$5(n,0,s);else{var f=e&&!u&&uT?{maxByteLength:uT(n)}:void 0;c=new cT(s,f);for(var p=new ey(n),d=new ey(c),g=Y5(s,i),y=0;y<g;y++)J5(d,y,Z5(p,y))}return ty||sT(n),c}});var sy=X(()=>{"use strict";var j5=sr(),pT=oy();pT&&j5({target:"ArrayBuffer",proto:!0},{transfer:function(){return pT(this,arguments.length?arguments[0]:void 0,!0)}})});var ay=X(()=>{"use strict";var K5=sr(),dT=oy();dT&&K5({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return dT(this,arguments.length?arguments[0]:void 0,!1)}})});var To=X((Git,gT)=>{"use strict";var uy=In(),np=Set.prototype;gT.exports={Set,add:uy(np.add),has:uy(np.has),remove:uy(np.delete),proto:np}});var ea=X((kit,mT)=>{"use strict";var Q5=To().has;mT.exports=function(n){return Q5(n),n}});var na=X((qit,yT)=>{"use strict";var tV=vr();yT.exports=function(n,t,e){for(var i=e?n:n.iterator,s=n.next,u,c;!(u=tV(s,i)).done;)if(c=t(u.value),c!==void 0)return c}});var el=X((Vit,ST)=>{"use strict";var vT=In(),eV=na(),_T=To(),nV=_T.Set,xT=_T.proto,rV=vT(xT.forEach),ET=vT(xT.keys),iV=ET(new nV).next;ST.exports=function(n,t,e){return e?eV({iterator:ET(n),next:iV},t):rV(n,t)}});var rp=X((Hit,MT)=>{"use strict";var wT=To(),oV=el(),sV=wT.Set,aV=wT.add;MT.exports=function(n){var t=new sV;return oV(n,function(e){aV(t,e)}),t}});var nl=X((Wit,bT)=>{"use strict";var uV=Uc(),lV=To();bT.exports=uV(lV.proto,"size","get")||function(n){return n.size}});var TT=X((Xit,AT)=>{"use strict";AT.exports=function(n){return{iterator:n,next:n.next,done:!1}}});var ra=X((Yit,NT)=>{"use strict";var CT=_s(),RT=so(),IT=vr(),cV=Hi(),fV=TT(),PT="Invalid size",hV=RangeError,pV=TypeError,dV=Math.max,LT=function(n,t){this.set=n,this.size=dV(t,0),this.has=CT(n.has),this.keys=CT(n.keys)};LT.prototype={getIterator:function(){return fV(RT(IT(this.keys,this.set)))},includes:function(n){return IT(this.has,this.set,n)}};NT.exports=function(n){RT(n);var t=+n.size;if(t!==t)throw new pV(PT);var e=cV(t);if(e<0)throw new hV(PT);return new LT(n,e)}});var UT=X(($it,FT)=>{"use strict";var gV=ea(),DT=To(),mV=rp(),yV=nl(),vV=ra(),_V=el(),xV=na(),EV=DT.has,OT=DT.remove;FT.exports=function(t){var e=gV(this),i=vV(t),s=mV(e);return yV(e)<=i.size?_V(e,function(u){i.includes(u)&&OT(s,u)}):xV(i.getIterator(),function(u){EV(e,u)&&OT(s,u)}),s}});var ia=X((Zit,GT)=>{"use strict";var SV=$s(),BT=function(n){return{size:n,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},zT=function(n){return{size:n,has:function(){return!0},keys:function(){throw new Error("e")}}};GT.exports=function(n,t){var e=SV("Set");try{new e()[n](BT(0));try{return new e()[n](BT(-1)),!1}catch(s){if(!t)return!0;try{return new e()[n](zT(-1/0)),!1}catch(u){var i=new e;return i.add(1),i.add(2),t(i[n](zT(1/0)))}}}catch(s){return!1}}});var kT=X(()=>{"use strict";var wV=sr(),MV=UT(),bV=ia(),AV=!bV("difference",function(n){return n.size===0});wV({target:"Set",proto:!0,real:!0,forced:AV},{difference:MV})});var HT=X((Kit,VT)=>{"use strict";var TV=ea(),ly=To(),CV=nl(),IV=ra(),PV=el(),RV=na(),LV=ly.Set,qT=ly.add,NV=ly.has;VT.exports=function(t){var e=TV(this),i=IV(t),s=new LV;return CV(e)>i.size?RV(i.getIterator(),function(u){NV(e,u)&&qT(s,u)}):PV(e,function(u){i.includes(u)&&qT(s,u)}),s}});var WT=X(()=>{"use strict";var OV=sr(),DV=An(),FV=HT(),UV=ia(),BV=!UV("intersection",function(n){return n.size===2&&n.has(1)&&n.has(2)})||DV(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});OV({target:"Set",proto:!0,real:!0,forced:BV},{intersection:FV})});var cy=X((eot,YT)=>{"use strict";var zV=vr(),XT=so(),GV=Pc();YT.exports=function(n,t,e){var i,s;XT(n);try{if(i=GV(n,"return"),!i){if(t==="throw")throw e;return e}i=zV(i,n)}catch(u){s=!0,i=u}if(t==="throw")throw e;if(s)throw i;return XT(i),e}});var ZT=X((not,$T)=>{"use strict";var kV=ea(),qV=To().has,VV=nl(),HV=ra(),WV=el(),XV=na(),YV=cy();$T.exports=function(t){var e=kV(this),i=HV(t);if(VV(e)<=i.size)return WV(e,function(u){if(i.includes(u))return!1},!0)!==!1;var s=i.getIterator();return XV(s,function(u){if(qV(e,u))return YV(s,"normal",!1)})!==!1}});var JT=X(()=>{"use strict";var $V=sr(),ZV=ZT(),JV=ia(),jV=!JV("isDisjointFrom",function(n){return!n});$V({target:"Set",proto:!0,real:!0,forced:jV},{isDisjointFrom:ZV})});var KT=X((oot,jT)=>{"use strict";var KV=ea(),QV=nl(),tH=el(),eH=ra();jT.exports=function(t){var e=KV(this),i=eH(t);return QV(e)>i.size?!1:tH(e,function(s){if(!i.includes(s))return!1},!0)!==!1}});var QT=X(()=>{"use strict";var nH=sr(),rH=KT(),iH=ia(),oH=!iH("isSubsetOf",function(n){return n});nH({target:"Set",proto:!0,real:!0,forced:oH},{isSubsetOf:rH})});var eC=X((uot,tC)=>{"use strict";var sH=ea(),aH=To().has,uH=nl(),lH=ra(),cH=na(),fH=cy();tC.exports=function(t){var e=sH(this),i=lH(t);if(uH(e)<i.size)return!1;var s=i.getIterator();return cH(s,function(u){if(!aH(e,u))return fH(s,"normal",!1)})!==!1}});var nC=X(()=>{"use strict";var hH=sr(),pH=eC(),dH=ia(),gH=!dH("isSupersetOf",function(n){return!n});hH({target:"Set",proto:!0,real:!0,forced:gH},{isSupersetOf:pH})});var iC=X((fot,rC)=>{"use strict";var mH=ea(),fy=To(),yH=rp(),vH=ra(),_H=na(),xH=fy.add,EH=fy.has,SH=fy.remove;rC.exports=function(t){var e=mH(this),i=vH(t).getIterator(),s=yH(e);return _H(i,function(u){EH(e,u)?SH(s,u):xH(s,u)}),s}});var oC=X(()=>{"use strict";var wH=sr(),MH=iC(),bH=ia();wH({target:"Set",proto:!0,real:!0,forced:!bH("symmetricDifference")},{symmetricDifference:MH})});var aC=X((dot,sC)=>{"use strict";var AH=ea(),TH=To().add,CH=rp(),IH=ra(),PH=na();sC.exports=function(t){var e=AH(this),i=IH(t).getIterator(),s=CH(e);return PH(i,function(u){TH(s,u)}),s}});var uC=X(()=>{"use strict";var RH=sr(),LH=aC(),NH=ia();RH({target:"Set",proto:!0,real:!0,forced:!NH("union")},{union:LH})});var hy=X((yot,cC)=>{"use strict";var lC=qu(),OH=TypeError;cC.exports=function(n,t){if(!delete n[t])throw new OH("Cannot delete property "+lC(t)+" of "+lC(n))}});var fC=X(()=>{"use strict";var DH=sr(),FH=Vi(),UH=ii(),BH=vm(),zH=hy(),GH=wh(),kH=[].unshift(0)!==1,qH=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(n){return n instanceof TypeError}},VH=kH||!qH();DH({target:"Array",proto:!0,arity:1,forced:VH},{unshift:function(t){var e=FH(this),i=UH(e),s=arguments.length;if(s){GH(i+s);for(var u=i;u--;){var c=u+s;u in e?e[c]=e[u]:zH(e,c)}for(var f=0;f<s;f++)e[f]=arguments[f]}return BH(e,i+s)}})});var Fl=X((Not,gP)=>{"use strict";var bY=Zs(),AY=String;gP.exports=function(n){if(bY(n)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return AY(n)}});var yP=X((Oot,mP)=>{"use strict";var TY=so();mP.exports=function(){var n=TY(this),t="";return n.hasIndices&&(t+="d"),n.global&&(t+="g"),n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.dotAll&&(t+="s"),n.unicode&&(t+="u"),n.unicodeSets&&(t+="v"),n.sticky&&(t+="y"),t}});var _P=X((Dot,vP)=>{"use strict";var t_=An(),CY=Sn(),e_=CY.RegExp,n_=t_(function(){var n=e_("a","y");return n.lastIndex=2,n.exec("abcd")!==null}),IY=n_||t_(function(){return!e_("a","y").sticky}),PY=n_||t_(function(){var n=e_("^r","gy");return n.lastIndex=2,n.exec("str")!==null});vP.exports={BROKEN_CARET:PY,MISSED_STICKY:IY,UNSUPPORTED_Y:n_}});var EP=X((Fot,xP)=>{"use strict";var RY=An(),LY=Sn(),NY=LY.RegExp;xP.exports=RY(function(){var n=NY(".","s");return!(n.dotAll&&n.test(\`
8117
+ `,n=-1/0,r=this.geometry.getAttribute("position");if(r)for(let o=0;o<r.count;o++){let s=r.getZ(o);s>n&&(n=s)}let i=new q0({uniforms:{maxZ:{value:n},uColor:{value:new Ho(this.options[0].fillColor).convertLinearToSRGB()},uColor2:{value:new Ho(Gt(this.options[0].fillColor)).convertLinearToSRGB()},uOpacity:{value:this.options[0].fillOpacity}},vertexShader:t,fragmentShader:e,transparent:!0});this.material=i}initLineMaterial(){let t=w.createLineMaterial({color:this.options[0].strokeColor,opacity:this.options[0].strokeOpacity});return this.lineMaterial=t,t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new H0(this.geometry,this.material),this.add(this.mesh)}getBorderPoints(){let t=[],e=this.options[0].height+this.options[0].deltaHeight;return this.options.map(n=>{let{coords:r}=n.geometry;for(let i=0;i<r.length;i++){let o=r[i];for(let s=0;s<o.length;s++){let u=o[s],l=s+1===o.length?o[0]:o[s+1];t.push(new Vo(u[0],u[1],e)),t.push(new Vo(l[0],l[1],e))}}}),t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new W0().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new X0(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t,e;this.geometry?(this.geometry.dispose(),this._listeners={}):this.addEventListener("init-geometry",()=>{var n;(n=this.geometry)==null||n.dispose(),this._listeners={}}),(t=this.material)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e,n){super(),this.context=t,this.mergedElement=n,this.options=[],n?(this.options=[n],this.initMergedElement()):(this.options=e.map(r=>v({},Wt,r)),this.init())}};import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.string.trim.js";import{DoubleSide as Y0,Matrix4 as Xo,Mesh as Z0,MeshBasicMaterial as K0,Object3D as $0,PlaneGeometry as J0}from"three";import{mergeGeometries as Q0}from"three/examples/jsm/utils/BufferGeometryUtils.js";var tl={airHeight:0,deltaHeight:0,height:0,geometry:{cds:[],type:"polygon",coords:[],curveCpt:[],curveIndex:[]},texts:[],fillColor:"#ffffff",fillOpacity:0,strokeColor:"#ffffff",strokeOpacity:0,secondHeight:0,secondRotate:0,center_x:0,center_y:0},jn=class extends $0{init(){return g(this,null,function*(){let t=yield Promise.all(this.options.map(o=>tt.getTextureByText(o.texts[0],{fillStyle:zr(o.fillColor,o.fillOpacity),strokeStyle:zr(o.strokeColor,o.strokeOpacity),lineWidth:6,font:"bold 54px sans-serif",maxWidth:2048}))),e=t.map((o,s)=>{let u=this.options[s],{width:l,height:c}=o.texture.image,h=l/c,p=u.secondHeight*h,f=new J0(p,u.secondHeight),d=new Xo().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight+u.height).multiply(new Xo().makeRotationZ(u.secondRotate));return f.applyMatrix4(d),f}),n=Q0(e,!0);e.forEach(o=>o.dispose());let r=t.map(o=>{let{texture:s}=o,u=new K0({map:s,alphaTest:1,side:Y0});return s.needsUpdate=!0,u}),i=new Z0(n,r);this.mesh=i,this.position.z+=.04,this.add(i)})}setOpacity(t){var e,n;(n=this.mesh)==null||(e=n.material)==null||e.forEach(r=>{r.opacity=t,r.needsUpdate=!0})}dispose(){var t,e,n;(t=this.mesh)==null||t.geometry.dispose(),(n=this.mesh)==null||(e=n.material)==null||e.forEach(r=>r.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e.map(n=>v({},tl,n)).filter(n=>n.texts[0].trim()),this.options.length&&this.init()}};import{Object3D as el}from"three";import{Line2 as nl}from"three/examples/jsm/lines/Line2.js";import{LineGeometry as rl}from"three/examples/jsm/lines/LineGeometry.js";import{LineMaterial as il}from"three/examples/jsm/lines/LineMaterial.js";var Ze=class extends el{registryEvent(){this.context.addEventListener("resize",this.onResize)}unRegistryEvent(){this.context.removeEventListener("resize",this.onResize)}setPosition(t,e){this.lineGeometry.setPositions([t.x,t.y,t.z,e.x,e.y,e.z]),this.line||this.createLine()}createLine(){this.line=new nl(this.lineGeometry,this.lineMaterial),this.line.renderOrder=100003,this.add(this.line)}dispose(){var t;this.unRegistryEvent(),this.line&&O(this.line),this.lineGeometry=null,this.lineMaterial=null,this.clear(),(t=this.line)==null||t.clear(),this.line=null}constructor(t,e,n){super(),this.context=t,this.lineGeometry=new rl,this.lineMaterial=new il({color:0,transparent:!0,depthTest:!1,linewidth:2}),this.line=null,this.onResize=()=>{let{width:r,height:i}=this.context.clientSize;this.lineMaterial.resolution.set(r,i)},this.onResize(),this.registryEvent(),e&&n&&this.setPosition(e,n)}};import"core-js/modules/es.array.push.js";import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as ol,InstancedMesh as sl,Object3D as al,Vector3 as ul}from"three";import{Matrix4 as Ke}from"three";var Dn=class extends al{loadModel(){return g(this,null,function*(){let t=yield at.loadModel(this.options[0].url);t.scene.updateMatrixWorld(!0);let e=t.scene.matrixWorld.clone().invert();t.scene.traverse(u=>{if(u.isMesh){let l=e.clone().multiply(u.matrixWorld),c=u.material;this.subMeshes.push({geometry:u.geometry,material:u.material,initialMatrix:l}),Array.isArray(c)?c.forEach(h=>{h.transparent=!0,this.materialOriginParams.set(h,{opacity:h.opacity})}):(c.transparent=!0,this.materialOriginParams.set(c,{opacity:c.opacity}))}});let n=this.subMeshes.map(u=>{let{geometry:l,material:c}=u;return new sl(l,c,this.options.length)});t.scene.rotation.set(Math.PI/2,0,0);let i=new ol().setFromObject(t.scene).getSize(new ul),o=Math.max(i.x,i.y);this.options.map(u=>{let l=new Ke,c=u.width/o;return l.multiply(new Ke().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight)).multiply(new Ke().makeScale(c,c,c)).multiply(new Ke().makeRotationZ(u.rotate)).multiply(new Ke().makeRotationX(Math.PI/2)),u.url==="https://robot-vr-public.cdn.bcebos.com/ai-map-resource/757/1865371442288267264/smzsdrc.glb"&&console.log(u,l),l}).forEach((u,l)=>{n.forEach((c,h)=>{let p=u.clone().multiply(this.subMeshes[h].initialMatrix);c.setMatrixAt(l,p)})}),n.forEach(u=>{u.instanceMatrix.needsUpdate=!0,this.meshSetMaterial(u),this.add(u)})})}meshSetMaterial(t){t.isMesh&&(t.frustumCulled=!1,t.castShadow=!0,Array.isArray(t.material)?t.material.map(e=>{e.emissiveIntensity*=.95}):(t.material.emissiveIntensity*=.95,t.material.emissive=t.material.color,t.material.emissiveMap=t.material.map))}setOpacity(t,e){e===void 0&&(e=!1),this.subMeshes.forEach(n=>{let{material:r}=n;if(Array.isArray(r))r.forEach(i=>{if(e)i.opacity=t;else{let o=this.materialOriginParams.get(i)||{opacity:1};t>o.opacity?i.opacity=o.opacity:i.opacity=t}i.needsUpdate=!0});else{let i=this.materialOriginParams.get(r)||{opacity:1};t>i.opacity?r.opacity=i.opacity:r.opacity=t,r.needsUpdate=!0}}),this.children.forEach(n=>{n.instanceMatrix.needsUpdate=!0})}dispose(){this.children.forEach(t=>t.dispose()),O(this),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.subMeshes=[],this.materialOriginParams=new Map,this.loadModel()}};import{Object3D as ll,Mesh as cl,LineSegments as hl,ObjectLoader as pl}from"three";var qe=class extends ll{init(){return g(this,null,function*(){this.geometry=this.initGeometry(),this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options.deltaHeight+this.options.airHeight,this.options.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initGeometry(){return this.loader.parseGeometries([this.options.mergedGeometry])[this.options.mergedGeometry.uuid]}initMaterial(){this.material=w.GetMergeAttributeGraphicMaterial()}initLineMaterial(){return this.lineMaterial=w.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new cl(this.geometry,this.material),this.add(this.mesh)}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.loader.parseGeometries([this.options.lineGeometry]);this.lineGeometry=t[this.options.lineGeometry.uuid]}createBorder(){this.line&&this.remove(this.line);let t=new hl(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t;this.geometry&&this.geometry.dispose(),(t=this.line)==null||t.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.loader=new pl,this.options=v({},Wt,e),this.init()}};import{Mesh as fl,Object3D as dl,ObjectLoader as gl}from"three";var Yn=class extends dl{initGeometry(){return g(this,null,function*(){let t=new gl().parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}init(){return g(this,null,function*(){var t;yield this.initGeometry();let e=new fl(this.geometry,ct.GetMergeAttributeWallMaterial());this.add(e);let n=(t=this.geometry)==null?void 0:t.getAttribute("opacity");n&&(this.originOpacities=Array.from(n.array))})}setOpacity(t,e){e===void 0&&(e=!1);var n;let r=(n=this.geometry)==null?void 0:n.getAttribute("opacity");if(r){for(let o=0;o<r.count;o++)if(e)r.setX(o,t);else{var i;r.setX(o,Math.min(t,(i=this.originOpacities[o])!=null?i:1))}r.needsUpdate=!0}}dispose(){var t;(t=this.geometry)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.originOpacities=[],this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import{Float32BufferAttribute as ml,FrontSide as _l,InstancedBufferAttribute as yl,InstancedMesh as vl,MeshBasicMaterial as xl,Object3D as El,Shape as bl,ShapeGeometry as Sl,Vector2 as Zn}from"three";var le=class extends El{init(){return g(this,null,function*(){let t=this.options.iconUrl,e=yield rt.getTextureByUrl(t),n=new xl({map:e,transparent:!0,alphaTest:.2,side:_l}),r=new vl(this.geometry,n,this.options.mergedMatrixes.size);r.instanceMatrix=new yl(new Float32Array(this.options.mergedMatrixes.array),16),this.add(r),this.mesh=r,this.position.z+=.004})}setOpacity(t){this.mesh&&(this.mesh.material.opacity=t,this.mesh.material.needsUpdate=!0,this.mesh.instanceMatrix.needsUpdate=!0)}dispose(){var t;this.mesh&&O(this.mesh),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Sl(new bl([new Zn(-.5,-.5),new Zn(-.5,.5),new Zn(.5,.5),new Zn(.5,-.5)])),this.options=v({},ui,e);let n=new ml([0,0,0,1,1,1,1,0],2);this.geometry.setAttribute("uv",n),this.init()}};import"core-js/modules/es.array.push.js";import{Mesh as Ml,Object3D as wl,ObjectLoader as Tl,Vector2 as qo}from"three";import{LineSegments2 as jo}from"three/examples/jsm/lines/LineSegments2.js";import{LineSegmentsGeometry as Yo}from"three/examples/jsm/lines/LineSegmentsGeometry.js";var Kn=class extends wl{initGeometry(){return g(this,null,function*(){let t=this.loader.parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}initMaterial(){let t=w.createMeshBasicMaterial({color:"#ffffff",opacity:1,vertexColors:!0});return this.material=t,t}initDoubleLine(){if(this.options.dashedLineGeometry){let t=w.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!0,resolution:new qo(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0});t.transparent=!0,t.needsUpdate=!0;let e=new Yo;e.setPositions(this.options.dashedLineGeometry.positions),e.setColors(this.options.dashedLineGeometry.colors);let n=new jo(e,t);n.computeLineDistances(),n.position.z+=.01,this.add(n),this.doubleLines.push(n)}if(this.options.lineGeometry){let t=w.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!1,resolution:new qo(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new Yo;e.setPositions(this.options.lineGeometry.positions),e.setColors(this.options.lineGeometry.colors);let n=new jo(e,t);n.position.z+=.01,this.add(n),this.doubleLines.push(n)}}init(){return g(this,null,function*(){yield this.initGeometry(),this.initMaterial();let t=new Ml(this.geometry,this.material);this.add(t),this.initDoubleLine(),this.position.z+=.02})}setOpacity(t){this.material.opacity=t,this.material.needsUpdate=!0,this.doubleLines.forEach(e=>{e.material.opacity=t,e.material.needsUpdate=!0})}dispose(){var t,e;(t=this.geometry)==null||t.dispose(),(e=this.lineGeometry)==null||e.dispose(),this.doubleLines.map(n=>n.geometry.dispose()),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.doubleLines=[],this.loader=new Tl,this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/web.dom-collections.iterator.js";import{Object3D as Al,Vector3 as li,BufferGeometry as Cl,LineSegments as Il,Color as Zo,BoxGeometry as Rl,InstancedMesh as Pl,Matrix4 as Ll,Quaternion as Nl,InstancedBufferAttribute as Ko,BufferAttribute as $o}from"three";var We=class extends Al{setColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new Zo(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}init(){return g(this,null,function*(){this.initMaterial(),this.initMesh(),this.mesh.position.z=this.options[0].deltaHeight+this.options[0].airHeight,this.options[0].strokeOpacity!==0&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}initMaterial(){this.material=w.GetInstancedGraphicMaterial()}initLineMaterial(){let t=w.GetMergeAttributeGraphicLineMaterial();this.lineMaterial=t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new Pl(this.geometry,this.material,this.options.length);let t=new Ko(new Float32Array(this.options.length),1),e=new Ko(new Float32Array(this.options.length),1);this.options.forEach((n,r)=>{let i=n.geometry.coords[0],[o,s,u]=i.slice(0,3),l=Math.sqrt((s[0]-o[0])**2+(s[1]-o[1])**2),c=Math.sqrt((u[0]-s[0])**2+(u[1]-s[1])**2),h=[l,c],p=Math.max(...h),f=Math.min(...h),d;p===l?d=[s[0]-o[0],s[1]-o[1]]:d=[u[0]-s[0],u[1]-s[1]];let[m,y]=d,x=Math.atan2(y,m)-Math.PI/2,E=new Ll().compose(new li(n.center_coord_x,n.center_coord_y,(n.deltaHeight||0)+n.airHeight+n.height/2),new Nl().setFromAxisAngle(new li(0,0,1),x),new li(f,p,n.height));this.mesh.setMatrixAt(r,E),this.mesh.setColorAt(r,new Zo(n.fillColor).convertLinearToSRGB()),t.array[r]=n.fillOpacity||1,e.array[r]=(n.deltaHeight||0)+n.airHeight+n.height}),this.originOpacity=[...t.array],this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let{points:t,colors:e,opacities:n}=Yr(this.options),r=new Cl().setFromPoints(t);r.setAttribute("color",new $o(new Float32Array(e),3)),r.setAttribute("opacity",new $o(new Float32Array(n),1)),this.lineOriginOpacity=[...n],this.lineGeometry=r}createBorder(){this.line&&this.remove(this.line);let t=new Il(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}setOpacity(t,e){e===void 0&&(e=!1);let n=this.geometry.getAttribute("opacity");for(let o=0;o<n.count;o++)if(e)n.array[o]=t;else{var r;n.array[o]=Math.min(t,(r=this.originOpacity[o])!=null?r:1)}if(n.needsUpdate=!0,this.lineGeometry){let o=this.lineGeometry.getAttribute("opacity");for(let s=0;s<o.count;s++)if(e)o.array[s]=t;else{var i;o.array[s]=Math.min(t,(i=this.lineOriginOpacity[s])!=null?i:1)}o.needsUpdate=!0}}dispose(){var t,e;this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),(e=this.line)==null||e.geometry.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new Rl(1,1,1),this.options=[],this.originOpacity=[],this.lineOriginOpacity=[],this.options=e.map(n=>v({},Wt,n)),this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/web.dom-collections.iterator.js";import{Object3D as Ol,Color as Dl,BoxGeometry as Ul,InstancedMesh as Fl,InstancedBufferAttribute as ci}from"three";var Se=class extends Ol{init(){return g(this,null,function*(){this.initMaterial(),this.initMesh()})}initMaterial(){this.material=w.GetInstancedGraphicMaterial()}initMesh(){if(this.mesh&&this.remove(this.mesh),!this.elements)return;this.mesh=new Fl(this.geometry,this.material,this.elements.size);let t=new ci(new Float32Array(this.elements.opacities),1),e=new ci(new Float32Array(this.elements.maxZs),1);this.originOpacities=[...t.array],this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.mesh.instanceMatrix.set(this.elements.matrixes),this.mesh.instanceColor=new ci(new Float32Array(this.elements.colors),3),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}setColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new Dl(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}setOpacityByIndex(t,e){if(this.mesh){let n=this.geometry.getAttribute("opacity");n.setX(t,e),n.needsUpdate=!0}}setMatrixByIndex(t,e){this.mesh&&(this.mesh.setMatrixAt(t,e),this.mesh.instanceMatrix.needsUpdate=!0)}setMaxZByIndex(t,e){if(this.mesh){let n=this.geometry.getAttribute("maxZ");n.setX(t,e),n.needsUpdate=!0}}setColorById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setColorByIndex(n,e)}setOpacityById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setOpacityByIndex(n,e)}setMatrixById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setMatrixByIndex(n,e)}setMaxZById(t,e){if(!this.elements)return;let n=this.elements.ids.findIndex(r=>r===t);n!==-1&&this.setMaxZByIndex(n,e)}setOpacity(t,e){if(e===void 0&&(e=!1),!this.geometry)return;let n=this.geometry.getAttribute("opacity");for(let i=0;i<n.count;i++)if(e)n.array[i]=t;else{var r;n.array[i]=Math.min(t,(r=this.originOpacities[i])!=null?r:1)}n.needsUpdate=!0}pushElements(t){this.elements?(this.elements.size+=t.size,this.elements.colors=[...this.elements.colors,...t.colors],this.elements.matrixes=[...this.elements.matrixes,...t.matrixes],this.elements.opacities=[...this.elements.opacities,...t.opacities],this.elements.maxZs=[...this.elements.maxZs,...t.maxZs],this.elements.ids=[...this.elements.ids,...t.ids],this.originOpacities=[...this.originOpacities,...t.opacities]):this.elements=t,this.refesh()}removeInstanceById(t){if(this.elements){if(this.mesh){let e=this.elements.ids.indexOf(t);e!==-1&&(this.elements.size--,this.elements.colors.splice(e*3,3),this.elements.matrixes.splice(e*16,16),this.elements.opacities.splice(e,1),this.elements.maxZs.splice(e,1),this.elements.ids.splice(e,1),this.originOpacities.splice(e,1))}this.refesh()}}refesh(){this.mesh&&(this.mesh.dispose(),this.remove(this.mesh)),this.init()}dispose(){var t;this.material=null,this.originOpacities.length=0,this.geometry.dispose(),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.geometry=new Ul(1,1,1),this.material=null,this.elements=null,this.originOpacities=[],this.elements=e,this.init()}};import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/web.dom-collections.iterator.js";import{Object3D as Bl,BoxGeometry as zl,InstancedMesh as Gl,InstancedBufferAttribute as $n}from"three";var Jn=class extends Bl{init(){return g(this,null,function*(){this.initMaterial(),this.initMesh()})}initMaterial(){this.material=w.GetInstancedWallMaterial()}initMesh(){if(this.mesh&&this.remove(this.mesh),!this.elements)return;this.mesh=new Gl(this.geometry,this.material,this.elements.size);let t=new $n(new Float32Array(this.elements.opacities),1),e=new $n(new Float32Array(this.elements.maxZs),1),n=new $n(new Float32Array(this.elements.minZs),1);this.originOpacities=[...t.array],this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.geometry.setAttribute("minZ",n),this.mesh.instanceMatrix.set(this.elements.matrixes),this.mesh.instanceColor=new $n(new Float32Array(this.elements.colors),3),this.add(this.mesh),this.mesh.instanceMatrix.needsUpdate=!0}setOpacityByIndex(t,e){if(this.mesh){let n=this.geometry.getAttribute("opacity");n.setX(t,e),n.needsUpdate=!0}}setOpacity(t,e){e===void 0&&(e=!1),this.elements&&this.elements.opacities.forEach((n,r)=>{let i=e?t:Math.min(t,this.originOpacities[r]);this.setOpacityByIndex(r,i)})}dispose(){this.mesh&&(this.mesh.dispose(),this.remove(this.mesh)),this.material=null,this.geometry&&this.geometry.dispose(),this.elements=null}constructor(t,e){super(),this.geometry=new zl(1,1,1),this.material=null,this.elements=null,this.originOpacities=[],this.elements=e,this.init()}};import{Object3D as kl,LineSegments as Vl,ObjectLoader as Hl}from"three";var ce=class extends kl{init(){return g(this,null,function*(){this.initLineGeometry(),this.initLineMaterial(),this.createBorder()})}initLineMaterial(){return this.lineMaterial=w.GetMergeAttributeGraphicLineMaterial()}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.loader.parseGeometries([this.options]);this.lineGeometry=t[this.options.uuid]}createBorder(){this.line&&this.remove(this.line);let t=new Vl(this.lineGeometry,this.lineMaterial);return t.position.z=.01,this.line=t,this.add(t),t}dispose(){var t;(t=this.lineGeometry)==null||t.dispose(),this.lineMaterial=null,this.clear()}constructor(t,e){super(),this.context=t,this.lineMaterial=null,this.loader=new Hl,this.options=v({},Wt,e),this.init()}};import{Frustum as Wl}from"three";var Qn=class extends xt{setEnable(t){super.setEnable(t),ut(this.rect,0,0,0,0),t?this.registryEvent():(this.startPoint=void 0,this.unRegistryEvent())}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointermove",this.onPointerMove),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.addEventListener("update",this.onUpdate)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointermove",this.onPointerMove),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.removeEventListener("update",this.onUpdate)}doSelect(){if(this.startPoint&&this.endPoint){if(this.startPoint.distanceTo(this.endPoint)<.1)return;let{context:{camera:e,container:{clientWidth:n,clientHeight:r}}}=this,i=P(this.startPoint,e,n,r),o=P(this.endPoint,e,n,r),s={x:Math.min(i.x,o.x),y:Math.min(i.y,o.y)},u={x:Math.max(i.x,o.x),y:Math.max(i.y,o.y)},l=this.searchMapInFrustum(s,u);this.dispatchEvent({type:"selected",list:l})}}searchMapInFrustum(t,e){var n;let{context:r}=this;return((n=r.currentFloor)==null?void 0:n.graphicLayer.children.filter(i=>i instanceof it&&this.searchChildInFrustum(i,t,e)))||[]}searchChildInFrustum(t,e,n){let{context:{camera:r,container:{clientWidth:i,clientHeight:o}}}=this;if(!t)return!1;if(!t.mesh){let p=t.getPosition();if(p){let f=P(p,r,i,o);return Zt(f,e,n)}return!1}t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let s=t.mesh.geometry.boundingBox;if(!s)return!1;let{min:u,max:l}=s,c=P(u,r,i,o),h=P(l,r,i,o);return!(!Zt(c,e,n)||!Zt(h,e,n))}dispose(){super.dispose(),this.rect=null,this.unRegistryEvent()}constructor(t){super(t),this.frustum=new Wl,this.onPointerDown=r=>{if(!this.enable)return;let i=this.getIntersectByPointerEvent(r);i&&(this.startPoint=i),this.endPoint=void 0},this.onPointerMove=r=>{if(!this.enable||!this.startPoint)return;let i=this.getIntersectByPointerEvent(r);i&&(this.endPoint=i)},this.onPointerUp=r=>{if(!this.enable)return;let i=this.getIntersectByPointerEvent(r);i&&(this.endPoint=i),this.doSelect(),this.startPoint=void 0},this.onUpdate=()=>{if(this.startPoint){let r=this.getSvgCoordinate(this.startPoint),i=v({},r);this.endPoint&&(i=this.getSvgCoordinate(this.endPoint));let o={x:Math.min(r.x,i.x),y:Math.min(r.y,i.y)},s=Math.abs(i.x-r.x),u=Math.abs(i.y-r.y);ut(this.rect,o.x,o.y,s,u)}else ut(this.rect,0,0,0,0)};let{config:{selectBox:{fill:e,stroke:n}}}=t;this.rect=Kt(n,e),this.svg.appendChild(this.rect),this.registryEvent()}};var tr=class extends Xl{get list(){return this._list}enableBoxSelection(){this.isMultipleSelect||!this.context.config.enableBoxSelect||(this.isMultipleSelect=!0,this.boxSelection.setEnable(!0),this.prevPanStatus=this.context.control.enablePan,this.prevRotateStatus=this.context.control.enableRotate,this.context.control.enablePan=!1,this.context.control.enableRotate=!1)}disableBoxSelection(){this.isMultipleSelect&&(this.isMultipleSelect=!1,this.boxSelection.setEnable(!1),this.context.control.enablePan=!!this.prevPanStatus,this.context.control.enableRotate=!!this.prevRotateStatus)}selectEnd(){this.dispatchEvent({type:"select",graphics:[...this._list],isMultipleSelect:this.isMultipleSelect})}registryEvent(){this.context.container.addEventListener("pointerdown",this.onPointerDown),this.context.container.addEventListener("pointerup",this.onPointerUp),this.context.container.addEventListener("pointerout",this.onPointerOut),this.context.container.addEventListener("pointercancel",this.onPointerOut),window.addEventListener("keydown",this.onKeyDown),window.addEventListener("keyup",this.onKeyUp),this.boxSelection.addEventListener("selected",this.onBoxSelected)}unRegistryEvent(){this.context.container.removeEventListener("pointerdown",this.onPointerDown),this.context.container.removeEventListener("pointerup",this.onPointerUp),this.context.container.removeEventListener("pointerout",this.onPointerOut),this.context.container.removeEventListener("pointercancel",this.onPointerOut),window.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("keyup",this.onKeyUp),this.boxSelection.removeEventListener("selected",this.onBoxSelected)}clear(){this._list.clear()}remove(t){this._list.delete(t)}dispose(){this.unRegistryEvent()}constructor(t){super(),this.context=t,this._list=new Set,this.downPoint=null,this.downTime=0,this.isMultipleSelect=!1,this.onPointerDown=e=>{Date.now()-this.downTime<200||(this.downPoint={x:e.offsetX,y:e.offsetY},this.downTime=Date.now())},this.onPointerUp=e=>{if(!this.downPoint)return;let{offsetX:n,offsetY:r}=e,{x:i,y:o}=this.downPoint;if(Math.sqrt((i-n)**2+(o-r)**2)>3)return;let{graphics:s}=this.context.getGraphicsByDeviceXy(n,r),u=new Set(s.map(c=>c.options.id));this.context.getPoisByDeviceXy(n,r).forEach(c=>{if(!u.has(c.options.id)){var h;let p=((h=this.context.currentFloor)==null?void 0:h.graphicLayer.graphicMap.get(c.options.id))||null;p&&p.options.geometry.type==="point"&&(s.push(p),u.add(c.options.id))}}),(de?e.metaKey:e.ctrlKey)||this._list.clear(),s.forEach(c=>this._list.add(c)),this.selectEnd(),this.downPoint=null},this.onPointerOut=e=>{this.disableBoxSelection()},this.onKeyDown=e=>{ge(e.key)&&this.enableBoxSelection()},this.onKeyUp=e=>{ge(e.key)&&this.disableBoxSelection()},this.onBoxSelected=e=>{let{list:n}=e;this._list.clear(),n.forEach(r=>{this._list.add(r)}),this.selectEnd()},this.boxSelection=new Qn(t),this.boxSelection.setEnable(!1),this.registryEvent()}};import"core-js/modules/es.set.difference.v2.js";import"core-js/modules/es.set.intersection.v2.js";import"core-js/modules/es.set.is-disjoint-from.v2.js";import"core-js/modules/es.set.is-subset-of.v2.js";import"core-js/modules/es.set.is-superset-of.v2.js";import"core-js/modules/es.set.symmetric-difference.v2.js";import"core-js/modules/es.set.union.v2.js";import"core-js/modules/web.dom-collections.iterator.js";import{EventDispatcher as ql,Vector2 as jl}from"three";var er=class extends ql{handleHoverGraphicsChange(t){t===void 0&&(t=this.curGraphics),this.dispatchEvent({type:"hover-change",graphics:Array.from(t)})}registryEvent(){this.context.addEventListener("pointer-over",this.onPointerMove),this.context.addEventListener("pointer-move",this.onPointerMove),this.context.addEventListener("pointer-level",this.onPointerLevel),document.body.addEventListener("pointermove",this.onBodyPointerMove)}unRegistryEvent(){this.context.removeEventListener("pointer-over",this.onPointerMove),this.context.removeEventListener("pointer-move",this.onPointerMove),this.context.removeEventListener("pointer-level",this.onPointerLevel),document.body.removeEventListener("pointermove",this.onBodyPointerMove)}dispose(){this.unRegistryEvent(),this.timer.dispose()}constructor(t){super(),this.context=t,this.curGraphics=new Set,this.timer=new X,this.graphicTimerMap=new Map,this.onPointerMove=e=>{let{graphics:n,pois:r,e:i}=e,o=r.map(c=>{var h;return(h=this.context.currentFloor)==null?void 0:h.graphicLayer.graphicMap.get(c.options.id)}).filter(c=>c&&c.options.geometry.type==="point");if(!n.length&&!o.length&&this.curGraphics.size){this.curGraphics.clear(),this.handleHoverGraphicsChange();return}let{time:s}=this.context.config.hover,u=new Set;if(o.length){let c,h=1e4;o.forEach(p=>{let f=r.find(d=>d.options.id===p.options.id);if(f instanceof ae){let{x:d,y:m}=f.clientPos,y=Math.sqrt((d-i.offsetX)**2+(m-i.offsetY)**2);y<h&&(h=y,c=p)}else if(f instanceof $){let{x:d,y:m}=f.box.getCenter(new jl),y=Math.sqrt((d-i.offsetX)**2+(m-i.offsetY)**2);y<h&&(h=y,c=p)}}),u.add(c)}u.size||n.forEach(c=>u.add(c)),u.forEach(c=>{if(this.graphicTimerMap.get(c)||this.curGraphics.has(c))return;let h=this.timer.setTimeout(()=>{this.curGraphics.add(c),this.graphicTimerMap.delete(c),this.timer.clearTimeout(h),this.handleHoverGraphicsChange()},s);this.graphicTimerMap.set(c,h)}),this.graphicTimerMap.forEach((c,h)=>{u.has(h)||(this.timer.clearTimeout(c),this.graphicTimerMap.delete(h))});let l=this.curGraphics.size;this.curGraphics.forEach(c=>{u.has(c)||this.curGraphics.delete(c)}),l!==this.curGraphics.size&&this.handleHoverGraphicsChange()},this.onPointerLevel=()=>{this.curGraphics.clear(),this.handleHoverGraphicsChange()},this.onBodyPointerMove=e=>{if(this.curGraphics.size){let n=this.context.container.getBoundingClientRect();(e.clientX<n.left||e.clientX>n.right||e.clientY<n.top||e.clientY>n.bottom)&&this.onPointerLevel()}},this.registryEvent()}};import"core-js/modules/web.dom-collections.iterator.js";import{Box3 as Yl,Vector3 as Lt}from"three";import{polygon as Jo,intersect as Zl}from"@turf/turf";var nr=class{updateBox(){this.box.setFromObject(this.context.scene)}setEnable(t){this.enable=t,t?this.registryEvent():this.unRegistryEvent()}changePrevCamera(){this.prevCamera={position:this.context.camera.position.clone(),zoom:this.context.camera.zoom,target:this.context.control.target.clone()}}backToPrevCamera(){this.setEnable(!1),this.context.camera.position.copy(this.prevCamera.position),this.context.camera.zoom=this.prevCamera.zoom,this.context.control.target.copy(this.prevCamera.target),this.context.control.update(),this.setEnable(!0)}registryEvent(){this.context.addEventListener("control-change",this.onCameraChange)}unRegistryEvent(){this.context.removeEventListener("control-change",this.onCameraChange)}getCurFloorScreenPosition(){if(!this.context.scene.children.filter(d=>d instanceof Pt).length)return null;let e=this.box,{camera:n,clientSize:{width:r,height:i}}=this.context,{min:o,max:s}=e,l=[new Lt(o.x,o.y,o.z),new Lt(s.x,o.y,o.z),new Lt(o.x,s.y,o.z),new Lt(s.x,s.y,o.z),new Lt(o.x,o.y,s.z),new Lt(s.x,o.y,s.z),new Lt(o.x,s.y,s.z),new Lt(s.x,s.y,s.z)].map(d=>P(d,n,r,i)),c=Math.min(...l.map(d=>d.x)),h=Math.max(...l.map(d=>d.x)),p=Math.min(...l.map(d=>d.y)),f=Math.max(...l.map(d=>d.y));return{left:c,right:h,top:p,bottom:f}}checkDistanceToScreenEdge(t){let{left:e,right:n,top:r,bottom:i}=t,{width:o,height:s}=this.context.clientSize,[u,l,c,h]=this.context.config.cameraBound.padding,p=Jo([[[e,r],[n,r],[n,i],[e,i],[e,r]]]),f=Jo([[[h,u],[o-l,u],[o-l,s-c],[h,s-c],[h,u]]]);try{return Zl(p,f)!==null}catch(d){return console.warn("\u8BA1\u7B97\u4EA4\u96C6\u51FA\u9519:",d),!1}}dispose(){this.unRegistryEvent()}constructor(t){this.context=t,this.prevCamera={position:new Lt,zoom:1,target:new Lt},this.enable=!0,this.box=new Yl,this.onCameraChange=()=>{let e=this.getCurFloorScreenPosition();if(e){let{left:n,right:r,top:i,bottom:o}=e;this.checkDistanceToScreenEdge({left:n,right:r,top:i,bottom:o})?this.changePrevCamera():this.backToPrevCamera()}},this.registryEvent(),this.changePrevCamera()}};import"core-js/modules/es.promise.finally.js";import{Vector3 as es}from"three";import{Tween as sr,Group as ec}from"@tweenjs/tween.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.push.js";import{EventDispatcher as Kl,MOUSE as Ce,Quaternion as Qo,Spherical as rr,TOUCH as Ie,Vector2 as dt,Vector3 as Et,Plane as $l,Ray as Jl,MathUtils as Ql}from"three";var ir=new Jl,ts=new $l,tc=Math.cos(70*Ql.DEG2RAD),or=class extends Kl{dispose(){this.domElement.removeEventListener("contextmenu",this.onContextMenu),this.domElement.removeEventListener("pointerdown",this.onPointerDown),this.domElement.removeEventListener("pointercancel",this.onPointerUp),this.domElement.removeEventListener("wheel",this.onMouseWheel),this.domElement.removeEventListener("pointermove",this.onPointerMove),this.domElement.removeEventListener("pointerup",this.onPointerUp),this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null)}constructor(t,e){super(),this.rotateLineStart=new dt,this.rotateLineEnd=new dt,this.spherical=new rr,this.sphericalDelta=new rr,this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new Et,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.screenSpacePanning=!1,this.mouseButtons={LEFT:Ce.PAN,MIDDLE:Ce.DOLLY,RIGHT:Ce.ROTATE},this.touches={ONE:Ie.PAN,TWO:Ie.DOLLY_ROTATE},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return s.phi},this.getAzimuthalAngle=function(){return s.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(_){_.addEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=_},this.stopListenToKeyEvents=function(){var _;(_=this._domElementKeyEvents)==null||_.removeEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=null},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent({type:"change"}),n.update(),i=r.NONE},this.update=function(){let _=new Et,b=new Qo().setFromUnitVectors(t.up,new Et(0,1,0)),k=b.clone().invert(),K=new Et,ft=new Qo,Ct=new Et,bt=2*Math.PI;return function(De){De===void 0&&(De=null);let Dt=n.object.position;_.copy(Dt).sub(n.target),_.applyQuaternion(b),s.setFromVector3(_),n.autoRotate&&i===r.NONE&&T(I(De)),n.enableDamping?(s.theta+=u.theta*n.dampingFactor,s.phi+=u.phi*n.dampingFactor):(s.theta+=u.theta,s.phi+=u.phi);let Ut=n.minAzimuthAngle,Ft=n.maxAzimuthAngle;isFinite(Ut)&&isFinite(Ft)&&(Ut<-Math.PI?Ut+=bt:Ut>Math.PI&&(Ut-=bt),Ft<-Math.PI?Ft+=bt:Ft>Math.PI&&(Ft-=bt),Ut<=Ft?s.theta=Math.max(Ut,Math.min(Ft,s.theta)):s.theta=s.theta>(Ut+Ft)/2?Math.max(Ut,s.theta):Math.min(Ft,s.theta)),s.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,s.phi)),s.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(c,n.dampingFactor):n.target.add(c),n.zoomToCursor&&V||n.object.isOrthographicCamera?s.radius=G(s.radius):s.radius=G(s.radius*l),_.setFromSpherical(s),_.applyQuaternion(k),Dt.copy(n.target).add(_),n.object.lookAt(n.target),n.enableDamping===!0?(u.theta*=1-n.dampingFactor,u.phi*=1-n.dampingFactor,c.multiplyScalar(1-n.dampingFactor)):(u.set(0,0,0),c.set(0,0,0));let on=!1;if(n.zoomToCursor&&V){let Ue=null;if(n.object.isPerspectiveCamera){let Fe=_.length();Ue=G(Fe*l);let sn=Fe-Ue;n.object.position.addScaledVector(A,sn),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let Fe=new Et(C.x,C.y,0);Fe.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),on=!0;let sn=new Et(C.x,C.y,0);sn.unproject(n.object),n.object.position.sub(sn).add(Fe),n.object.updateMatrixWorld(),Ue=_.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Ue!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Ue).add(n.object.position):(ir.origin.copy(n.object.position),ir.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(ir.direction))<tc?t.lookAt(n.target):(ts.setFromNormalAndCoplanarPoint(n.object.up,n.target),ir.intersectPlane(ts,n.target))))}else n.object.isOrthographicCamera&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),on=!0);return l=1,V=!1,on||K.distanceToSquared(n.object.position)>o||8*(1-ft.dot(n.object.quaternion))>o||Ct.distanceToSquared(n.target)>0?(n.dispatchEvent({type:"change"}),K.copy(n.object.position),ft.copy(n.object.quaternion),Ct.copy(n.target),on=!1,!0):!1}}();let n=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},i=r.NONE,o=1e-6,s=new rr,u=new rr,l=1,c=new Et,h=new dt,p=new dt,f=new dt,d=new dt,m=new dt,y=new dt,x=new dt,E=new dt,S=new dt,A=new Et,C=new dt,V=!1,M=[],W={};function I(_){return _!==null?2*Math.PI/60*n.autoRotateSpeed*_:2*Math.PI/60/60*n.autoRotateSpeed}function R(){return Math.pow(.95,n.zoomSpeed)}function T(_){u.theta-=_}function F(_){u.phi-=_}let q=function(){let _=new Et;return function(k,K){_.setFromMatrixColumn(K,0),_.multiplyScalar(-k),c.add(_)}}(),z=function(){let _=new Et;return function(k,K){n.screenSpacePanning===!0?_.setFromMatrixColumn(K,1):(_.setFromMatrixColumn(K,0),_.crossVectors(n.object.up,_)),_.multiplyScalar(k),c.add(_)}}(),D=function(){let _=new Et;return function(k,K){let ft=n.domElement;if(n.object.isPerspectiveCamera){let Ct=n.object.position;_.copy(Ct).sub(n.target);let bt=_.length();bt*=Math.tan(n.object.fov/2*Math.PI/180),q(2*k*bt/ft.clientHeight,n.object.matrix),z(2*K*bt/ft.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(q(k*(n.object.right-n.object.left)/n.object.zoom/ft.clientWidth,n.object.matrix),z(K*(n.object.top-n.object.bottom)/n.object.zoom/ft.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function Nt(_){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l/=_:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function jt(_){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l*=_:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function B(_){if(!n.zoomToCursor)return;V=!0;let b=n.domElement.getBoundingClientRect(),k=_.clientX-b.left,K=_.clientY-b.top,ft=b.width,Ct=b.height;C.x=k/ft*2-1,C.y=-(K/Ct)*2+1,A.set(C.x,C.y,1).unproject(n.object).sub(n.object.position).normalize()}function G(_){return Math.max(n.minDistance,Math.min(n.maxDistance,_))}function Z(_){h.set(_.clientX,_.clientY)}function j(_){B(_),x.set(_.clientX,_.clientY)}function Tt(_){d.set(_.clientX,_.clientY)}function At(_){p.set(_.clientX,_.clientY),f.subVectors(p,h).multiplyScalar(n.rotateSpeed);let b=n.domElement;T(2*Math.PI*f.x/b.clientHeight),F(2*Math.PI*f.y/b.clientHeight),h.copy(p),n.update()}function Yt(_){E.set(_.clientX,_.clientY),S.subVectors(E,x),S.y>0?Nt(R()):S.y<0&&jt(R()),x.copy(E),n.update()}function Ot(_){m.set(_.clientX,_.clientY),y.subVectors(m,d).multiplyScalar(n.panSpeed),D(y.x,y.y),d.copy(m),n.update()}function Oe(_){B(_),_.deltaY<0?jt(R()):_.deltaY>0&&Nt(R()),n.update()}function zs(_){let b=!1;switch(_.code){case n.keys.UP:_.ctrlKey||_.metaKey||_.shiftKey?F(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(0,n.keyPanSpeed),b=!0;break;case n.keys.BOTTOM:_.ctrlKey||_.metaKey||_.shiftKey?F(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(0,-n.keyPanSpeed),b=!0;break;case n.keys.LEFT:_.ctrlKey||_.metaKey||_.shiftKey?T(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(n.keyPanSpeed,0),b=!0;break;case n.keys.RIGHT:_.ctrlKey||_.metaKey||_.shiftKey?T(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):D(-n.keyPanSpeed,0),b=!0;break}b&&(_.preventDefault(),n.update())}function wi(){if(M.length===1)h.set(M[0].pageX,M[0].pageY);else{let _=(M[0].pageX-M[0].pageY)/(M[1].pageX-M[1].pageY),b=M[0].pageY-_*M[0].pageX;n.rotateLineStart.set(_,b);let k=.5*(M[0].pageX+M[1].pageX),K=.5*(M[0].pageY+M[1].pageY);h.set(k,K)}}function Ti(){if(M.length===1)d.set(M[0].pageX,M[0].pageY);else{let _=.5*(M[0].pageX+M[1].pageX),b=.5*(M[0].pageY+M[1].pageY);d.set(_,b)}}function Ai(){let _=M[0].pageX-M[1].pageX,b=M[0].pageY-M[1].pageY,k=Math.sqrt(_*_+b*b);x.set(0,k)}function Gs(){n.enableZoom&&Ai(),n.enablePan&&Ti()}function ks(){n.enableZoom&&Ai(),n.enableRotate&&wi()}function Ci(_){if(M.length==1)p.set(_.pageX,_.pageY);else{let k=Or(_),K=.5*(_.pageX+k.x),ft=.5*(_.pageY+k.y);p.set(K,ft);let Ct=(_.pageY-k.y)/(_.pageX-k.x),bt=k.y-Ct*k.x;if(n.rotateLineEnd.set(Ct,bt),Number.isFinite(n.rotateLineEnd.x)&&Number.isFinite(n.rotateLineStart.x)){let Dr=(n.rotateLineStart.y-n.rotateLineEnd.y)/(n.rotateLineEnd.x-n.rotateLineStart.x),De=Ct*Dr+bt;if(Number.isFinite(Dr)&&Number.isFinite(De)){let Dt=Math.atan(n.rotateLineEnd.x)-Math.atan(n.rotateLineStart.x);Math.PI-Math.abs(Dt)<.5&&(Dt=-Math.sign(Dt)*(Math.PI-Math.abs(Dt))),Math.abs(Dt)<.1&&(u.theta+=Dt)}}n.rotateLineStart.copy(n.rotateLineEnd)}f.subVectors(p,h).multiplyScalar(n.rotateSpeed);let b=n.domElement;F(2*Math.PI*f.y/b.clientHeight),h.copy(p)}function Ii(_){if(M.length===1)m.set(_.pageX,_.pageY);else{let b=Or(_),k=.5*(_.pageX+b.x),K=.5*(_.pageY+b.y);m.set(k,K)}y.subVectors(m,d).multiplyScalar(n.panSpeed),D(y.x,y.y),d.copy(m)}function Ri(_){let b=Or(_),k=_.pageX-b.x,K=_.pageY-b.y,ft=Math.sqrt(k*k+K*K);E.set(0,ft),S.set(0,Math.pow(E.y/x.y,n.zoomSpeed)),Nt(S.y),x.copy(E)}function Vs(_){n.enableZoom&&Ri(_),n.enablePan&&Ii(_)}function Hs(_){n.enableZoom&&Ri(_),n.enableRotate&&Ci(_)}this.onPointerDown=function(b){n.enabled!==!1&&(M.length===0&&(n.domElement.setPointerCapture(b.pointerId),n.domElement.addEventListener("pointermove",n.onPointerMove),n.domElement.addEventListener("pointerup",n.onPointerUp)),Ys(b),b.pointerType==="touch"?qs(b):Ws(b))},this.onPointerMove=function(b){n.enabled!==!1&&(b.pointerType==="touch"?js(b):Xs(b))},this.onPointerUp=function(b){Zs(b),M.length===0&&(n.domElement.releasePointerCapture(b.pointerId),n.domElement.removeEventListener("pointermove",n.onPointerMove),n.domElement.removeEventListener("pointerup",n.onPointerUp)),n.dispatchEvent({type:"end"}),i=r.NONE};function Ws(_){let b;switch(_.button){case 0:b=n.mouseButtons.LEFT;break;case 1:b=n.mouseButtons.MIDDLE;break;case 2:b=n.mouseButtons.RIGHT;break;default:b=-1}switch(b){case Ce.DOLLY:if(n.enableZoom===!1)return;j(_),i=r.DOLLY;break;case Ce.ROTATE:if(_.ctrlKey||_.metaKey||_.shiftKey){if(n.enablePan===!1)return;Tt(_),i=r.PAN}else{if(n.enableRotate===!1)return;Z(_),i=r.ROTATE}break;case Ce.PAN:if(_.ctrlKey||_.metaKey||_.shiftKey){if(n.enableRotate===!1)return;Z(_),i=r.ROTATE}else{if(n.enablePan===!1)return;Tt(_),i=r.PAN}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent({type:"start"})}function Xs(_){switch(i){case r.ROTATE:if(n.enableRotate===!1)return;At(_);break;case r.DOLLY:if(n.enableZoom===!1)return;Yt(_);break;case r.PAN:if(n.enablePan===!1)return;Ot(_);break}}this.onMouseWheel=function(b){n.enabled===!1||n.enableZoom===!1||i!==r.NONE||(b.preventDefault(),n.dispatchEvent({type:"start"}),Oe(b),n.dispatchEvent({type:"end"}))},this.onKeyDown=function(b){n.enabled===!1||n.enablePan===!1||zs(b)};function qs(_){switch(Pi(_),M.length){case 1:switch(n.touches.ONE){case Ie.ROTATE:if(n.enableRotate===!1)return;wi(),i=r.TOUCH_ROTATE;break;case Ie.PAN:if(n.enablePan===!1)return;Ti(),i=r.TOUCH_PAN;break;default:i=r.NONE}break;case 2:switch(n.touches.TWO){case Ie.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;Gs(),i=r.TOUCH_DOLLY_PAN;break;case Ie.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;ks(),i=r.TOUCH_DOLLY_ROTATE;break;default:i=r.NONE}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent({type:"start"})}function js(_){switch(Pi(_),i){case r.TOUCH_ROTATE:if(n.enableRotate===!1)return;Ci(_),n.update();break;case r.TOUCH_PAN:if(n.enablePan===!1)return;Ii(_),n.update();break;case r.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;Vs(_),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;Hs(_),n.update();break;default:i=r.NONE}}this.onContextMenu=function(b){n.enabled!==!1&&b.preventDefault()};function Ys(_){M.push(_)}function Zs(_){delete W[_.pointerId];for(let b=0;b<M.length;b++)if(M[b].pointerId==_.pointerId){M.splice(b,1);return}}function Pi(_){let b=W[_.pointerId];b===void 0&&(b=new dt,W[_.pointerId]=b),b.set(_.pageX,_.pageY)}function Or(_){let b=_.pointerId===M[0].pointerId?M[1]:M[0];return W[b.pointerId]}n.domElement.addEventListener("contextmenu",this.onContextMenu),n.domElement.addEventListener("pointerdown",this.onPointerDown),n.domElement.addEventListener("pointercancel",this.onPointerUp),n.domElement.addEventListener("wheel",this.onMouseWheel,{passive:!1}),this.update()}};var ar=class extends or{registryEvent(){this.addEventListener("change",this.onChange),this.context.addEventListener("update",this.tweenUpdate)}unRegistryEvent(){this.removeEventListener("change",this.onChange),this.context.removeEventListener("update",this.tweenUpdate)}setPolarAngle(t,e){e===void 0&&(e=!1);let{maxPolarAngle:n,minPolarAngle:r}=this,i=n===r;(e||t<=n&&t>=r)&&(this.maxPolarAngle=t,this.minPolarAngle=t,this.update()),i||(this.maxPolarAngle=n,this.minPolarAngle=r)}setPolarAngleByDuration(t,e,n){return g(this,null,function*(){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setPolarAngle(t,e):_t(new Promise(r=>{let i={polar:this.getPolarAngle()},o={polar:t},s=new sr(i,this.tweenGroup).to(o,n).onUpdate(()=>{this.setPolarAngle(i.polar,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(s),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)})}setAzimuthalAngle(t,e){let{maxAzimuthAngle:n,minAzimuthAngle:r}=this,i=n===r;(e||t<=n&&t>=r)&&(this.maxAzimuthAngle=t,this.minAzimuthAngle=t,this.update()),i||(this.maxAzimuthAngle=n,this.minAzimuthAngle=r)}setAzimuthalAngleDuration(t,e,n){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setAzimuthalAngle(t,e):_t(new Promise(r=>{let i={azimuthal:this.getAzimuthalAngle()},o={azimuthal:t},s=new sr(i,this.tweenGroup).to(o,n).onUpdate(()=>{this.setAzimuthalAngle(i.azimuthal,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(s),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)}getCameraLookAt(){return new es().subVectors(this.target,this.camera.position)}setCameraPositionByTarget(t,e){return g(this,null,function*(){let n=this.target.clone(),r=this.getCameraLookAt();if(!e){this.camera.position.copy(t.clone().sub(r)),this.target.copy(t.clone()),this.update();return}return _t(new Promise(i=>{let o=new sr(n,this.tweenGroup).to(t,e).onUpdate(()=>{this.camera.position.copy(n.clone().sub(r)),this.target.copy(n.clone()),this.update()}).onComplete(()=>{this.tweenGroup.remove(o),this.enabled=!0,i(!0)}).onStart(()=>{this.enabled=!1}).start()}),e+500)})}setZoom(t,e,n){n===void 0&&(n=!1);let{minZoom:r,maxZoom:i}=this;(n||t>=r&&t<=i)&&(this.camera.position.copy(e.clone().sub(this.getCameraLookAt())),this.target.copy(e),this.camera.zoom=t,this.update())}setZoomByDuration(t,e,n,r){return g(this,null,function*(){n===void 0&&(n=!1),r===void 0&&(r=500);let i={zoom:this.camera.zoom,target:this.target.clone()};if(t!==this.camera.zoom)return r?_t(new Promise(o=>{let s=new sr(i,this.tweenGroup).to({zoom:t,target:e},r).onUpdate(()=>{this.setZoom(i.zoom,i.target,n)}).onComplete(()=>{this.tweenGroup.remove(s),this.enabled=!0,o(!0)}).onStart(()=>{this.enabled=!1}).start()}),r+500).finally(()=>{this.enabled=!0}):this.setZoom(t,e,n)})}setTargetByOffset(t,e){if(e===void 0&&(e=this.target.clone()),this.camera.updateMatrix(),t){let n=new es;n.setFromMatrixColumn(this.camera.matrix,1),n.normalize(),n.multiplyScalar(t/this.camera.zoom),e.add(n)}this.setCameraPositionByTarget(e,0)}clearTween(){this.tweenGroup.getAll().forEach(t=>t.stop()),this.tweenGroup.removeAll()}dispose(){super.dispose(),this.unRegistryEvent(),this.clearTween()}constructor(t,e,n){super(e,n),this.context=t,this.camera=e,this.domElement=n,this.prevCameraZoom=1,this.tweenGroup=new ec,this.offsetY=0,this.onChange=()=>{let r=this.camera.zoom;r!==this.prevCameraZoom&&(this.prevCameraZoom=r,this.dispatchEvent({type:"change-zoom",zoom:r}))},this.tweenUpdate=()=>{this.tweenGroup.update()},this.enableDamping=!1,this.zoomSpeed=.5,this.prevCameraZoom=e.zoom,this.registryEvent()}};import{EventDispatcher as nc,WebGLRenderer as rc,LinearToneMapping as ic}from"three";var ur=class extends rc{setCameraAndScene(t,e){this.scene=t,this.camera=e}autoRender(){this.scene&&this.camera&&this.enable&&(this.event.dispatchEvent({type:"update"}),this.render(this.scene,this.camera)),this.timer.requestAnimationFrame(()=>{this.autoRender()})}pauseRender(){this.enable=!1}continueRender(){this.enable=!0}addEventListener(t,e){this.event.addEventListener(t,e)}removeEventListener(t,e){this.event.removeEventListener(t,e)}constructor(t){super(v({antialias:!0,alpha:!0},t)),this.event=new nc,this.enable=!0,this.timer=new X,this.autoClear=!0,this.setPixelRatio(window.devicePixelRatio),this.toneMapping=ic,this.toneMappingExposure=1;let e=this.dispose;this.dispose=()=>{this.timer.dispose(),this.enable=!1,e.call(this),this.domElement.remove(),this.domElement=null,this.shadowMap=null,this.info.programs&&(this.info.programs.length=0),this.info=null}}};import{Scene as ac}from"three";import{PMREMGenerator as oc}from"three";import{RoomEnvironment as sc}from"three/examples/jsm/environments/RoomEnvironment.js";function ns(a,t){t===void 0&&(t=.85);let e=new oc(a);return e.compileEquirectangularShader(),e.fromScene(new sc).texture}var lr=class extends ac{dispose(){var t;(t=this.environment)==null||t.dispose(),this.environment=null,O(this),this.clear()}constructor(t){super(),this.environment=ns(t)}};import{OrthographicCamera as uc}from"three";var cr=class extends uc{constructor(t,e){super(-t/2,t/2,e/2,-e/2,-1e4,5e4),this.up.set(0,0,1),this.position.set(0,0,100),this.lookAt(0,0,0)}};import{polygon as rs}from"@turf/turf";import"core-js/modules/es.array.unshift.js";import"core-js/modules/es.array.push.js";import{Vector3 as lc}from"three";var hr=class{registryEvent(){this.context.addEventListener("update",this.onUpdate),this.context.addEventListener("control-change",this.onControlChange),this.context.addEventListener("resize",this.onControlChange)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate),this.context.removeEventListener("control-change",this.onControlChange),this.context.removeEventListener("resize",this.onControlChange)}changePoiLevelOrCollisionEnable(t){let e=this.objects.findIndex(n=>n===t);e!==-1&&(this.objects.splice(e,1),this.addObject(t))}addObject(t){if(!this.objects.includes(t)){if(this.needsUpdate=!0,!t.options.collision_enable){this.objects.unshift(t);return}if(t.options.level===0){this.objects.push(t);return}for(let e=0;e<this.objects.length;e++){let n=this.objects[e];if(n.options.collision_enable&&n.options.level<=t.options.level){this.objects.splice(e,0,t);return}}this.objects.push(t)}}removeObject(t){let e=this.objects.indexOf(t);e!==-1&&(this.objects.splice(e,1),this.needsUpdate=!0)}removeObjects(t){this.objects=this.objects.filter(e=>!t.includes(e)),this.needsUpdate=!0}getObjectById(t){return this.objects.find(e=>e.options.id===t)||null}validShowParkingSpace(t){t===void 0&&(t=60);let{clientSize:{width:e,height:n},control:r,camera:i}=this.context,o=Math.min(e/t,n/t,r.maxZoom-1);return i.zoom>=o}detectCollisions(){if(!this.needsUpdate)return;let t=[],{camera:e}=this.context;e.updateMatrixWorld();let n=c=>c<=1&&c>=-1,r=e.projectionMatrix.clone();r.multiply(e.matrixWorldInverse);let i=e.zoom/this.context.basicZoom,o=25/30,s=Math.min(25,Math.max(1,i*o)),u=this.validShowParkingSpace();this.objects.filter(c=>{if(c.visible){if(!(s<=c.options.maxWeight&&s>=c.options.minWeight)||!u&&c.userData.type==="parkingSpace")return c.parentSetVisible(!1),!1;let h=c.getWorldPosition(new lc);return h.applyMatrix4(r),c.screenPosition=h,n(h.x)&&n(h.y)&&n(h.z)?!0:(c.parentSetVisible(!1),!1)}return!1}).forEach((c,h)=>{let p=c.getBox(c.screenPosition);if(p===null){c.parentSetVisible(!1);return}if(h===0||!c.options.collision_enable){t.push(p),c.parentSetVisible(!0);return}let f=t.some(d=>d.intersectsBox(p));c.parentSetVisible(!f),f||t.push(p)}),this.needsUpdate=!1}markForUpdate(){this.needsUpdate=!0}clear(){this.objects=[],this.needsUpdate=!0}dispose(){this.objects=[],this.unRegistryEvent()}constructor(t){this.context=t,this.objects=[],this.needsUpdate=!0,this.onUpdate=()=>{this.detectCollisions()},this.onControlChange=()=>{this.needsUpdate=!0},this.registryEvent()}};var pr=class extends cc{get config(){return this.bmap.config}get center(){return this.bmap.buildingCenter}setRange(t){this.range=rs([t])}resizeClientSize(){let{x:t,y:e,width:n,height:r}=this.container.getBoundingClientRect();this.clientSize={width:n||this.container.clientWidth,height:r||this.container.clientHeight,x:t,y:e}}init(){let{clientWidth:t,clientHeight:e}=this.container;this.camera=new cr(t,e),this.renderer.setSize(t,e),this.renderer.setCameraAndScene(this.scene,this.camera),this.renderer.autoRender(),this.control=new ar(this,this.camera,this.renderer.domElement),this.control.maxPolarAngle=this.config.control.maxPolar,this.container.appendChild(this.renderer.domElement),this.scene.add(this.lights),this.basicRatio=this.getRatio(),this.control.addEventListener("change",this.onControlChange),this.control.addEventListener("change-zoom",this.onControlChangeZoom),this.renderer.addEventListener("update",this.onRendererUpdate),this.cameraBound=new nr(this)}getRatio(t,e){t===void 0&&(t=new Xt(0,0,0)),e===void 0&&(e=new Xt(100,0,0));let{clientWidth:n,clientHeight:r}=this.container,i=P(t,this.camera,n,r),o=P(e,this.camera,n,r);return Math.ceil(Math.sqrt((o.x-i.x)**2+(o.y-i.y)**2))}changeAmbientLightColor(t){this.lights.children.forEach(e=>{e instanceof gc&&(e.color=new dc(t))})}switchFloor(t,e){e===void 0&&(e=!0),console.log("switchFloor",e),this.currentFloor&&(this.scene.remove(this.currentFloor),e?this.currentFloor.dispose():this.currentFloor.onRemoveFromScene()),this.currentFloor=t,this.setRange(t.userData.range||[]),this.scene.add(t),t.onAddToScene("scene"),this.cameraBound.updateBox()}getGraphicsByDeviceXy(t,e){var n;let r=new Re;r.x=t/this.clientSize.width*2-1,r.y=e/this.clientSize.height*-2+1;let i=new pc;return i.setFromCamera(r,this.camera),i.ray.origin.sub(i.ray.direction.clone().multiplyScalar(100)),((n=this.currentFloor)==null?void 0:n.graphicLayer.getGraphicByRaycaster(i))||{graphics:[],position:null}}getPoisByDeviceXy(t,e){var n,r;let i=(n=this.currentFloor)==null?void 0:n.poiLayer.getPoiByDeviceXy(t,e),o=(r=this.currentFloor)==null?void 0:r.poiLayer2.getPoiByDeviceXy(t,e);return(i||[]).concat(o||[])}registryEvent(){window.addEventListener("resize",this.onWindowResize),this.container.addEventListener("click",this.onClick),this.container.addEventListener("pointerover",this.onPointerover),this.container.addEventListener("pointermove",this.onPointermove),this.container.addEventListener("pointerleave",this.onPointerleave),this.container.addEventListener("pointercancel",this.onPointerleave),this.container.addEventListener("pointerout",this.onPointerleave),this.selection.addEventListener("select",this.onSelectionSelect),this.hoverHelper.addEventListener("hover-change",this.onHoverChange)}unRegistryEvent(){window.removeEventListener("resize",this.onWindowResize),this.container.removeEventListener("click",this.onClick),this.container.removeEventListener("pointerover",this.onPointerover),this.container.removeEventListener("pointermove",this.onPointermove),this.container.removeEventListener("pointerleave",this.onPointerleave),this.container.removeEventListener("pointercancel",this.onPointerleave),this.container.removeEventListener("pointerout",this.onPointerleave),this.selection.removeEventListener("select",this.onSelectionSelect),this.hoverHelper.removeEventListener("hover-change",this.onHoverChange),this.control.removeEventListener("change",this.onControlChange),this.control.removeEventListener("change-zoom",this.onControlChangeZoom),this.renderer.removeEventListener("update",this.onRendererUpdate)}setPolarAngle(t,e){return e===void 0&&(e=500),this.control.setPolarAngleByDuration(t,!0,e)}setAzimuthalAngle(t,e){return e===void 0&&(e=500),this.control.setAzimuthalAngleDuration(t,!0,e)}getCameraLookAt(){return this.control.getCameraLookAt()}setZoom(t,e,n){return n===void 0&&(n=500),this.control.setZoomByDuration(t,e,!0,n)}getFitCameraToObjectZoom(t,e,n){return e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=!0),this.getFitCameraToBoxZoom(new fc().setFromObject(t),e,n)}getFitCameraToBoxZoom(t,e,n){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=!0);let[r,i,o,s]=e,{clientSize:{width:u,height:l}}=this,c=this.control.getPolarAngle();n&&this.setPolarAngle(0,0),this.setPolarAngle(c,0);let{max:h,min:p}=t,f=new Xt(p.x,h.y,h.z),d=new Xt(h.x,h.y,h.z),m=new Xt(h.x,p.y,p.z),y=new Xt(p.x,p.y,p.z),x=P(f,this.camera,u,l),E=P(d,this.camera,u,l),S=P(y,this.camera,u,l),A=P(m,this.camera,u,l),V=new hc().setFromPoints([new Re(x.x,x.y),new Re(E.x,E.y),new Re(S.x,S.y),new Re(A.x,A.y)]).getSize(new Re),M=(u-i-s)/V.x,W=(l-r-o)/V.y,I=Math.min(M,W),R=new Xt((h.x+p.x)/2,(h.y+p.y)/2,(h.z+p.z)/2),T=I*this.camera.zoom,F=this.camera.clone();F.zoom=T,F.updateMatrix();let q=(i-s)/2,z=(r-o)/2;if(q){let D=new Xt;D.setFromMatrixColumn(F.matrix,0),D.normalize(),D.multiplyScalar(q/T),R.add(D)}if(z){let D=new Xt;D.setFromMatrixColumn(F.matrix,1),D.normalize(),D.multiplyScalar(z/T),R.add(D)}return{zoom:I*this.camera.zoom,center:R}}fitCameraToObject(t,e,n,r){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500),r===void 0&&(r=!0);let{zoom:i,center:o}=this.getFitCameraToObjectZoom(t,e,r);return this.setZoom(i,o,n)}fitCameraToBox(t,e,n,r){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500),r===void 0&&(r=!0);let{zoom:i,center:o}=this.getFitCameraToBoxZoom(t,e,r);return this.setZoom(i,o,n)}getFitCameraToGroundZoom(t,e,n){if(t===void 0&&(t=[20,20,20,20]),e===void 0&&(e=500),n===void 0&&(n=!0),this.currentFloor&&this.currentFloor.hasElement)return this.getFitCameraToObjectZoom(this.currentFloor.groundUpper,t,n).zoom}fitCameraToGround(t,e,n){return t===void 0&&(t=[20,20,20,20]),e===void 0&&(e=500),n===void 0&&(n=!0),this.currentFloor&&this.currentFloor.hasElement?this.fitCameraToObject(this.currentFloor.groundLayer,t,e,n):Promise.resolve(!1)}setCameraPosition(t,e){return g(this,null,function*(){return this.control.setCameraPositionByTarget(t,e)})}pauseRender(){this.renderer.pauseRender()}continueRender(){this.renderer.continueRender()}forceUpdate(){this.collisionSystem.needsUpdate=!0}dispose(){var t;this.collisionSystem.dispose(),(t=this.currentFloor)==null||t.dispose(),this.control.dispose(),this.cameraBound.dispose(),this.selection.dispose(),this.hoverHelper.dispose(),this.unRegistryEvent(),this.renderer.dispose(),this.lights.children.forEach(e=>e.dispose()),this.scene.dispose(),this.container=null,this.renderer=null}constructor(t,e){super(),this.container=t,this.renderer=new ur,this.lights=Di(),this.range=rs([]),this.clientSize={width:0,height:0,x:0,y:0},this.renderRf=0,this.basicZoom=1,this.onControlChange=()=>{this.dispatchEvent({type:"change-ratio",px:(this.basicRatio||0)*this.camera.zoom}),this.dispatchEvent({type:"control-change"})},this.onControlChangeZoom=n=>{let{zoom:r}=n;this.dispatchEvent({type:"control-zoom-change",zoom:r})},this.onRendererUpdate=()=>{this.dispatchEvent({type:"update"})},this.onWindowResize=()=>{let{container:n,camera:r,renderer:i}=this,{clientWidth:o,clientHeight:s}=n;o=Math.max(1,o),s=Math.max(1,s),r.left=-o/2,r.right=o/2,r.top=s/2,r.bottom=-s/2,r.updateProjectionMatrix(),i.setSize(o,s),this.resizeClientSize(),this.dispatchEvent({type:"resize",width:o,height:s})},this.onClick=n=>{let{graphics:r,position:i}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY);r.length&&this.dispatchEvent({type:"graphic-click",graphics:r,position:i});let o=this.getPoisByDeviceXy(n.offsetX,n.offsetY);o.length&&this.dispatchEvent({type:"poi-click",pois:o})},this.onPointerover=n=>{let{graphics:r,position:i}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),o=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-over",e:n,graphics:r,pois:o,position:i})},this.onPointermove=n=>{let{graphics:r,position:i}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),o=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-move",e:n,graphics:r,pois:o,position:i})},this.onPointerleave=n=>{this.dispatchEvent({type:"pointer-level"})},this.onSelectionSelect=n=>{let{graphics:r,isMultipleSelect:i}=n;this.dispatchEvent({type:"select-graphic",graphics:r,isMultipleSelect:i})},this.onHoverChange=n=>{let{graphics:r}=n;this.dispatchEvent({type:"hover",graphics:r})},this.bmap=e,this.container.style.position="relative",this.container.style.overflow="hidden",this.scene=new lr(this.renderer),this.collisionSystem=new hr(this),this.init(),this.selection=new tr(this),this.hoverHelper=new er(this),this.resizeClientSize(),this.registryEvent()}};import{merge as mc}from"lodash";var _c={placeId:0,apiDomain:"",apiInfo:{},apiPath:{floorGraphic:"/api/inception-map/floor/get",floorRange:"/api/inception-map/range/get",equipmentList:"/api/inception-map/equipment/get",roadNetwork:"/api/inception-map/road_network/get",loadPlaceInfo:"https://screen.aibee.cn/ai-map/map/get-floor-map"},enableBoxSelect:!0,resizeObserver:!1,initTransToMark:!1,heatMap:{radius:50,minOpacity:.1,gradient:{0:"#8F9FCD",.5:"#6284FF",1:"#F95D5D"}},useFloorCache:!0,control:{maxPolar:1.2,defaultPolar:1.1,defaultAzimuthal:0,maxZoomScale:30},defaultPadding:[20,20,20,20],svg:{circle:{radius:"2",fill:"#1CADFF"},line:{stroke:"#1CADFF"}},selectBox:{stroke:"#1CADFF",fill:"rgba(28, 173, 255, 0.3)"},hover:{time:100},ground:{color:"#F6F6F6",opacity:1,height:.001,stroke:!1,strokeColor:"#E6E6E6",strokeOpacity:1},markGraphic:{color:"#EEF0F3",opacity:1,height:.001,stroke:!1,strokeColor:"#000",strokeOpacity:1},graphic:{fillOpacity:1},cameraBound:{padding:[150,150,150,150]},poi:{boxScale:1},loaderPlaceConfig:{textFontSize:14}};function is(a){return mc({},_c,a)}import{debounce as Bc}from"lodash";import"core-js/modules/web.dom-collections.iterator.js";import{Vector3 as Lc,Color as Nc}from"three";import"core-js/modules/es.array.push.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.sort.js";var $e=function(a){return a.LAYERED_RENDER_VERSION="layeredRender",a.MERGED_RENDER_VERSION="mergedRender",a}({});function fr(a,t){let e=a.poi_info.showName||a.store_name||a.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=a.store_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=a.store_info_ext)==null?void 0:r.traditional_name)||e}}function dr(a,t){let e=a.poi_info.showName||a.store_name||a.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=a.infra_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=a.infra_info_ext)==null?void 0:r.traditional_name)||e}}var hi=["range","ground","store","facility","parkingSpace"];function os(a){return hi.indexOf(a.l_type)===-1?hi.length:hi.indexOf(a.l_type)}function yc(a){a.layers.sort((t,e)=>os(t)-os(e))}function vc(a){let t=a.layers.find(n=>n.l_type==="range"),e=[t.elements[0].center_x,t.elements[0].center_y];a.layers.map(n=>{if(n.l_type!=="range")return mn(n.elements,e)})}function Je(a){yc(a),vc(a)}function Pe(a,t){return t===void 0&&(t=5),a.floor_id+"_"+a.version_id+(t?"_"+t:"")}function ss(a,t,e){switch(a.l_type){case"ground":return pi(a,t);case"graph":return xc(a,t);case"wall":return Ec(a,t);case"lane":return bc(a,t);case"texture2d":case"texture3d":return Sc(a,t);case"glb":return Mc(a,t);case"store":return wc(a,t,e);case"facility":return Ac(a,t,e);case"parkingSpace":return Ic(a,t,e);case"text":return Pc(a,t)}}function as(a,t,e,n,r){switch(a.l_type){case"store":return Tc(a,t,e,n,r);case"facility":return Cc(a,t,e,n,r);case"parkingSpace":return Rc(a,t,n,r)}}function xc(a,t){t.mergeGraphicLayer.addGraphics(a.elements,a.mergedElements)}function pi(a,t){let e=a.elements.map(n=>new it(t.context,v({},n,{dashed:!1})));t.addGrounds(e)}function Ec(a,t){if(a.mergedElements)a.mergedElements.map(e=>{if(e.instancedGeometry){let n=new Jn(t.context,e.instancedGeometry);t.wallLayer.add(n)}if(e.mergedGeometry){let n=new Yn(t.context,e);t.wallLayer.add(n)}});else{let e=a.elements.reduce((n,r)=>{let{fillColor:i,fillOpacity:o,strokeColor:s,strokeOpacity:u,height:l}=r,c=i.toLowerCase()+"-"+o+"-"+s.toLowerCase()+"-"+u+"-"+l;return u===0&&(c=i.toLowerCase()+"-"+o+"-"+l),n[c]?n[c].push(r):n[c]=[r],n},{});Object.values(e).forEach(n=>{let r=new Wn(t.context,n);t.wallLayer.add(r)})}}function bc(a,t){if(a.mergedElements){let e=new Kn(t.context,a.mergedElements);t.laneLayer.add(e)}else{let e=new qn(t.context,a.elements);t.laneLayer.add(e)}}function Sc(a,t){if(a.mergedMatrixes)a.mergedMatrixes.map(e=>{let n=new le(t.context,e);t.textureLayer.add(n)});else if(a.elements.length){let e=new ue(t.context,a.elements);t.textureLayer.add(e)}}function Mc(a,t){t.glbModelLayer.addModels(a.elements.map(e=>v({},e,{url:e.secondUrl,rotate:e.secondRotate,width:e.secondWidth,center_x:e.center_coord_x,center_y:e.center_coord_y,deltaHeight:0})))}function wc(a,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(a.elements,a.mergedElements):a.elements.map(n=>{let r=t.addGraphic(v({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function Tc(a,t,e,n,r){a.elements.filter(i=>r.filterPoi(i)).map(i=>{try{let o=fr(i,e),s=new $(t.context,{id:i.id,icon:i.poi_info.showImageUrl||i.poi_info.icon,text:o,position:{x:i.center_coord_x,y:i.center_coord_y,z:i.airHeight+i.height},icon_size:[24,24],level:i.poi_info.level||0,hide_text:!n.showStoreName,maxWeight:i.poi_info.maxWeight||25,minWeight:i.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(s),s&&(s.userData.type="store",s.userData.data=i,s.userData.floor=t.name)}catch(o){console.log("\u521B\u5EFA\u5E97\u94FApoi\u5931\u8D25",o,i)}})}function Ac(a,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(a.elements,a.mergedElements):a.elements.map(n=>{let r=t.addGraphic(v({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function Cc(a,t,e,n,r){a.elements.filter(i=>i.poi_info).filter(i=>r.filterPoi(i)).map(i=>{try{let o=dr(i,e),s=new $(t.context,{id:i.id,icon:i.poi_info.showImageUrl||i.poi_info.icon,text:o,position:{x:i.center_coord_x,y:i.center_coord_y,z:i.airHeight+i.height},icon_size:[24,24],level:i.poi_info.level||0,hide_text:!n.showFacilityName,maxWeight:i.poi_info.maxWeight||25,minWeight:i.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(s),s.userData.type="facility",s.userData.data=i,s.userData.floor=t.name}catch(o){console.log("\u6DFB\u52A0facility\u5931\u8D25",o,i)}})}function Ic(a,t,e){t.parkingSpaceLayer.load(a,e.mergeParkingSpace),t.userData.parkingSpaces=t.parkingSpaceLayer.graphicMap.values(),t.userData.parkingSpacesGraphicMap=t.parkingSpaceLayer.graphicMap}function Rc(a,t,e,n){return g(this,null,function*(){a.elements.filter(i=>i.texts[0]).filter(i=>n.filterPoi(i)).forEach(i=>{try{let o=i.displayName||i.texts[0],s=new $(t.context,{id:i.id,text:o,position:{x:i.center_coord_x,y:i.center_coord_y,z:i.airHeight+i.height},text_font_size:e.textFontSize});s&&(s.userData.type="parkingSpace",s.userData.data=i,s.userData.floor=t.name),t.poiLayer2.pushPoi(s)}catch(o){console.log("\u6DFB\u52A0\u8F66\u4F4Dpoi\u5931\u8D25",o,i)}})})}function Pc(a,t){let e=new jn(t.context,a.elements.map(n=>v({},n,{center_x:n.center_coord_x,center_y:n.center_coord_y})));t.textTextureLayer.add(e)}function fi(){let a=new Blob([`var $D=Object.create;var U1=Object.defineProperty;var ZD=Object.getOwnPropertyDescriptor;var JD=Object.getOwnPropertyNames;var jD=Object.getPrototypeOf,KD=Object.prototype.hasOwnProperty;var X=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var QD=(n,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of JD(t))!KD.call(n,s)&&s!==e&&U1(n,s,{get:()=>t[s],enumerable:!(i=ZD(t,s))||i.enumerable});return n};var jt=(n,t,e)=>(e=n!=null?$D(jD(n)):{},QD(t||!n||!n.__esModule?U1(e,"default",{value:n,enumerable:!0}):e,n));var Ri=(n,t,e)=>new Promise((i,s)=>{var u=p=>{try{f(e.next(p))}catch(d){s(d)}},c=p=>{try{f(e.throw(p))}catch(d){s(d)}},f=p=>p.done?i(p.value):Promise.resolve(p.value).then(u,c);f((e=e.apply(n,t)).next())});var Sn=X((zg,B1)=>{"use strict";var Mc=function(n){return n&&n.Math===Math&&n};B1.exports=Mc(typeof globalThis=="object"&&globalThis)||Mc(typeof window=="object"&&window)||Mc(typeof self=="object"&&self)||Mc(typeof global=="object"&&global)||Mc(typeof zg=="object"&&zg)||function(){return this}()||Function("return this")()});var An=X((vet,z1)=>{"use strict";z1.exports=function(n){try{return!!n()}catch(t){return!0}}});var ri=X((_et,G1)=>{"use strict";var t3=An();G1.exports=!t3(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var bc=X((xet,k1)=>{"use strict";var e3=An();k1.exports=!e3(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})});var vr=X((Eet,q1)=>{"use strict";var n3=bc(),th=Function.prototype.call;q1.exports=n3?th.bind(th):function(){return th.apply(th,arguments)}});var X1=X(W1=>{"use strict";var V1={}.propertyIsEnumerable,H1=Object.getOwnPropertyDescriptor,r3=H1&&!V1.call({1:2},1);W1.f=r3?function(t){var e=H1(this,t);return!!e&&e.enumerable}:V1});var Ac=X((Met,Y1)=>{"use strict";Y1.exports=function(n,t){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:t}}});var In=X((bet,J1)=>{"use strict";var $1=bc(),Z1=Function.prototype,Gg=Z1.call,i3=$1&&Z1.bind.bind(Gg,Gg);J1.exports=$1?i3:function(n){return function(){return Gg.apply(n,arguments)}}});var vs=X((Aet,K1)=>{"use strict";var j1=In(),o3=j1({}.toString),s3=j1("".slice);K1.exports=function(n){return s3(o3(n),8,-1)}});var eh=X((Tet,Q1)=>{"use strict";var a3=In(),u3=An(),l3=vs(),kg=Object,c3=a3("".split);Q1.exports=u3(function(){return!kg("z").propertyIsEnumerable(0)})?function(n){return l3(n)==="String"?c3(n,""):kg(n)}:kg});var nh=X((Cet,tE)=>{"use strict";tE.exports=function(n){return n==null}});var zu=X((Iet,eE)=>{"use strict";var f3=nh(),h3=TypeError;eE.exports=function(n){if(f3(n))throw new h3("Can't call method on "+n);return n}});var Gu=X((Pet,nE)=>{"use strict";var p3=eh(),d3=zu();nE.exports=function(n){return p3(d3(n))}});var er=X((Ret,rE)=>{"use strict";var qg=typeof document=="object"&&document.all;rE.exports=typeof qg=="undefined"&&qg!==void 0?function(n){return typeof n=="function"||n===qg}:function(n){return typeof n=="function"}});var Ei=X((Let,iE)=>{"use strict";var g3=er();iE.exports=function(n){return typeof n=="object"?n!==null:g3(n)}});var $s=X((Net,oE)=>{"use strict";var Vg=Sn(),m3=er(),y3=function(n){return m3(n)?n:void 0};oE.exports=function(n,t){return arguments.length<2?y3(Vg[n]):Vg[n]&&Vg[n][t]}});var Tc=X((Oet,sE)=>{"use strict";var v3=In();sE.exports=v3({}.isPrototypeOf)});var ku=X((Det,lE)=>{"use strict";var _3=Sn(),aE=_3.navigator,uE=aE&&aE.userAgent;lE.exports=uE?String(uE):""});var Cc=X((Fet,gE)=>{"use strict";var dE=Sn(),Hg=ku(),cE=dE.process,fE=dE.Deno,hE=cE&&cE.versions||fE&&fE.version,pE=hE&&hE.v8,wo,rh;pE&&(wo=pE.split("."),rh=wo[0]>0&&wo[0]<4?1:+(wo[0]+wo[1]));!rh&&Hg&&(wo=Hg.match(/Edge\\/(\\d+)/),(!wo||wo[1]>=74)&&(wo=Hg.match(/Chrome\\/(\\d+)/),wo&&(rh=+wo[1])));gE.exports=rh});var ih=X((Uet,yE)=>{"use strict";var mE=Cc(),x3=An(),E3=Sn(),S3=E3.String;yE.exports=!!Object.getOwnPropertySymbols&&!x3(function(){var n=Symbol("symbol detection");return!S3(n)||!(Object(n)instanceof Symbol)||!Symbol.sham&&mE&&mE<41})});var Wg=X((Bet,vE)=>{"use strict";var w3=ih();vE.exports=w3&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ic=X((zet,_E)=>{"use strict";var M3=$s(),b3=er(),A3=Tc(),T3=Wg(),C3=Object;_E.exports=T3?function(n){return typeof n=="symbol"}:function(n){var t=M3("Symbol");return b3(t)&&A3(t.prototype,C3(n))}});var qu=X((Get,xE)=>{"use strict";var I3=String;xE.exports=function(n){try{return I3(n)}catch(t){return"Object"}}});var _s=X((ket,EE)=>{"use strict";var P3=er(),R3=qu(),L3=TypeError;EE.exports=function(n){if(P3(n))return n;throw new L3(R3(n)+" is not a function")}});var Pc=X((qet,SE)=>{"use strict";var N3=_s(),O3=nh();SE.exports=function(n,t){var e=n[t];return O3(e)?void 0:N3(e)}});var ME=X((Vet,wE)=>{"use strict";var Xg=vr(),Yg=er(),$g=Ei(),D3=TypeError;wE.exports=function(n,t){var e,i;if(t==="string"&&Yg(e=n.toString)&&!$g(i=Xg(e,n))||Yg(e=n.valueOf)&&!$g(i=Xg(e,n))||t!=="string"&&Yg(e=n.toString)&&!$g(i=Xg(e,n)))return i;throw new D3("Can't convert object to primitive value")}});var Rc=X((Het,bE)=>{"use strict";bE.exports=!1});var oh=X((Wet,TE)=>{"use strict";var AE=Sn(),F3=Object.defineProperty;TE.exports=function(n,t){try{F3(AE,n,{value:t,configurable:!0,writable:!0})}catch(e){AE[n]=t}return t}});var sh=X((Xet,PE)=>{"use strict";var U3=Rc(),B3=Sn(),z3=oh(),CE="__core-js_shared__",IE=PE.exports=B3[CE]||z3(CE,{});(IE.versions||(IE.versions=[])).push({version:"3.42.0",mode:U3?"pure":"global",copyright:"\\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var ah=X((Yet,LE)=>{"use strict";var RE=sh();LE.exports=function(n,t){return RE[n]||(RE[n]=t||{})}});var Vi=X(($et,NE)=>{"use strict";var G3=zu(),k3=Object;NE.exports=function(n){return k3(G3(n))}});var oo=X((Zet,OE)=>{"use strict";var q3=In(),V3=Vi(),H3=q3({}.hasOwnProperty);OE.exports=Object.hasOwn||function(t,e){return H3(V3(t),e)}});var uh=X((Jet,DE)=>{"use strict";var W3=In(),X3=0,Y3=Math.random(),$3=W3(1 .toString);DE.exports=function(n){return"Symbol("+(n===void 0?"":n)+")_"+$3(++X3+Y3,36)}});var Xr=X((jet,UE)=>{"use strict";var Z3=Sn(),J3=ah(),FE=oo(),j3=uh(),K3=ih(),Q3=Wg(),Vu=Z3.Symbol,Zg=J3("wks"),tF=Q3?Vu.for||Vu:Vu&&Vu.withoutSetter||j3;UE.exports=function(n){return FE(Zg,n)||(Zg[n]=K3&&FE(Vu,n)?Vu[n]:tF("Symbol."+n)),Zg[n]}});var Jg=X((Ket,GE)=>{"use strict";var eF=vr(),BE=Ei(),zE=Ic(),nF=Pc(),rF=ME(),iF=Xr(),oF=TypeError,sF=iF("toPrimitive");GE.exports=function(n,t){if(!BE(n)||zE(n))return n;var e=nF(n,sF),i;if(e){if(t===void 0&&(t="default"),i=eF(e,n,t),!BE(i)||zE(i))return i;throw new oF("Can't convert object to primitive value")}return t===void 0&&(t="number"),rF(n,t)}});var lh=X((Qet,kE)=>{"use strict";var aF=Jg(),uF=Ic();kE.exports=function(n){var t=aF(n,"string");return uF(t)?t:t+""}});var ch=X((tnt,VE)=>{"use strict";var lF=Sn(),qE=Ei(),jg=lF.document,cF=qE(jg)&&qE(jg.createElement);VE.exports=function(n){return cF?jg.createElement(n):{}}});var Kg=X((ent,HE)=>{"use strict";var fF=ri(),hF=An(),pF=ch();HE.exports=!fF&&!hF(function(){return Object.defineProperty(pF("div"),"a",{get:function(){return 7}}).a!==7})});var fh=X(XE=>{"use strict";var dF=ri(),gF=vr(),mF=X1(),yF=Ac(),vF=Gu(),_F=lh(),xF=oo(),EF=Kg(),WE=Object.getOwnPropertyDescriptor;XE.f=dF?WE:function(t,e){if(t=vF(t),e=_F(e),EF)try{return WE(t,e)}catch(i){}if(xF(t,e))return yF(!gF(mF.f,t,e),t[e])}});var Qg=X((rnt,YE)=>{"use strict";var SF=ri(),wF=An();YE.exports=SF&&wF(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var so=X((int,$E)=>{"use strict";var MF=Ei(),bF=String,AF=TypeError;$E.exports=function(n){if(MF(n))return n;throw new AF(bF(n)+" is not an object")}});var Wo=X(JE=>{"use strict";var TF=ri(),CF=Kg(),IF=Qg(),hh=so(),ZE=lh(),PF=TypeError,tm=Object.defineProperty,RF=Object.getOwnPropertyDescriptor,em="enumerable",nm="configurable",rm="writable";JE.f=TF?IF?function(t,e,i){if(hh(t),e=ZE(e),hh(i),typeof t=="function"&&e==="prototype"&&"value"in i&&rm in i&&!i[rm]){var s=RF(t,e);s&&s[rm]&&(t[e]=i.value,i={configurable:nm in i?i[nm]:s[nm],enumerable:em in i?i[em]:s[em],writable:!1})}return tm(t,e,i)}:tm:function(t,e,i){if(hh(t),e=ZE(e),hh(i),CF)try{return tm(t,e,i)}catch(s){}if("get"in i||"set"in i)throw new PF("Accessors not supported");return"value"in i&&(t[e]=i.value),t}});var xs=X((snt,jE)=>{"use strict";var LF=ri(),NF=Wo(),OF=Ac();jE.exports=LF?function(n,t,e){return NF.f(n,t,OF(1,e))}:function(n,t,e){return n[t]=e,n}});var ph=X((ant,QE)=>{"use strict";var im=ri(),DF=oo(),KE=Function.prototype,FF=im&&Object.getOwnPropertyDescriptor,om=DF(KE,"name"),UF=om&&function(){}.name==="something",BF=om&&(!im||im&&FF(KE,"name").configurable);QE.exports={EXISTS:om,PROPER:UF,CONFIGURABLE:BF}});var am=X((unt,tS)=>{"use strict";var zF=In(),GF=er(),sm=sh(),kF=zF(Function.toString);GF(sm.inspectSource)||(sm.inspectSource=function(n){return kF(n)});tS.exports=sm.inspectSource});var rS=X((lnt,nS)=>{"use strict";var qF=Sn(),VF=er(),eS=qF.WeakMap;nS.exports=VF(eS)&&/native code/.test(String(eS))});var dh=X((cnt,oS)=>{"use strict";var HF=ah(),WF=uh(),iS=HF("keys");oS.exports=function(n){return iS[n]||(iS[n]=WF(n))}});var gh=X((fnt,sS)=>{"use strict";sS.exports={}});var Va=X((hnt,lS)=>{"use strict";var XF=rS(),uS=Sn(),YF=Ei(),$F=xs(),um=oo(),lm=sh(),ZF=dh(),JF=gh(),aS="Object already initialized",cm=uS.TypeError,jF=uS.WeakMap,mh,Lc,yh,KF=function(n){return yh(n)?Lc(n):mh(n,{})},QF=function(n){return function(t){var e;if(!YF(t)||(e=Lc(t)).type!==n)throw new cm("Incompatible receiver, "+n+" required");return e}};XF||lm.state?(Mo=lm.state||(lm.state=new jF),Mo.get=Mo.get,Mo.has=Mo.has,Mo.set=Mo.set,mh=function(n,t){if(Mo.has(n))throw new cm(aS);return t.facade=n,Mo.set(n,t),t},Lc=function(n){return Mo.get(n)||{}},yh=function(n){return Mo.has(n)}):(qa=ZF("state"),JF[qa]=!0,mh=function(n,t){if(um(n,qa))throw new cm(aS);return t.facade=n,$F(n,qa,t),t},Lc=function(n){return um(n,qa)?n[qa]:{}},yh=function(n){return um(n,qa)});var Mo,qa;lS.exports={set:mh,get:Lc,has:yh,enforce:KF,getterFor:QF}});var pm=X((pnt,hS)=>{"use strict";var hm=In(),tU=An(),eU=er(),vh=oo(),fm=ri(),nU=ph().CONFIGURABLE,rU=am(),fS=Va(),iU=fS.enforce,oU=fS.get,cS=String,_h=Object.defineProperty,sU=hm("".slice),aU=hm("".replace),uU=hm([].join),lU=fm&&!tU(function(){return _h(function(){},"length",{value:8}).length!==8}),cU=String(String).split("String"),fU=hS.exports=function(n,t,e){sU(cS(t),0,7)==="Symbol("&&(t="["+aU(cS(t),/^Symbol\\(([^)]*)\\).*$/,"$1")+"]"),e&&e.getter&&(t="get "+t),e&&e.setter&&(t="set "+t),(!vh(n,"name")||nU&&n.name!==t)&&(fm?_h(n,"name",{value:t,configurable:!0}):n.name=t),lU&&e&&vh(e,"arity")&&n.length!==e.arity&&_h(n,"length",{value:e.arity});try{e&&vh(e,"constructor")&&e.constructor?fm&&_h(n,"prototype",{writable:!1}):n.prototype&&(n.prototype=void 0)}catch(s){}var i=iU(n);return vh(i,"source")||(i.source=uU(cU,typeof t=="string"?t:"")),n};Function.prototype.toString=fU(function(){return eU(this)&&oU(this).source||rU(this)},"toString")});var Ha=X((dnt,pS)=>{"use strict";var hU=er(),pU=Wo(),dU=pm(),gU=oh();pS.exports=function(n,t,e,i){i||(i={});var s=i.enumerable,u=i.name!==void 0?i.name:t;if(hU(e)&&dU(e,u,i),i.global)s?n[t]=e:gU(t,e);else{try{i.unsafe?n[t]&&(s=!0):delete n[t]}catch(c){}s?n[t]=e:pU.f(n,t,{value:e,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return n}});var gS=X((gnt,dS)=>{"use strict";var mU=Math.ceil,yU=Math.floor;dS.exports=Math.trunc||function(t){var e=+t;return(e>0?yU:mU)(e)}});var Hi=X((mnt,mS)=>{"use strict";var vU=gS();mS.exports=function(n){var t=+n;return t!==t||t===0?0:vU(t)}});var xh=X((ynt,yS)=>{"use strict";var _U=Hi(),xU=Math.max,EU=Math.min;yS.exports=function(n,t){var e=_U(n);return e<0?xU(e+t,0):EU(e,t)}});var Wa=X((vnt,vS)=>{"use strict";var SU=Hi(),wU=Math.min;vS.exports=function(n){var t=SU(n);return t>0?wU(t,9007199254740991):0}});var ii=X((_nt,_S)=>{"use strict";var MU=Wa();_S.exports=function(n){return MU(n.length)}});var SS=X((xnt,ES)=>{"use strict";var bU=Gu(),AU=xh(),TU=ii(),xS=function(n){return function(t,e,i){var s=bU(t),u=TU(s);if(u===0)return!n&&-1;var c=AU(i,u),f;if(n&&e!==e){for(;u>c;)if(f=s[c++],f!==f)return!0}else for(;u>c;c++)if((n||c in s)&&s[c]===e)return n||c||0;return!n&&-1}};ES.exports={includes:xS(!0),indexOf:xS(!1)}});var gm=X((Ent,MS)=>{"use strict";var CU=In(),dm=oo(),IU=Gu(),PU=SS().indexOf,RU=gh(),wS=CU([].push);MS.exports=function(n,t){var e=IU(n),i=0,s=[],u;for(u in e)!dm(RU,u)&&dm(e,u)&&wS(s,u);for(;t.length>i;)dm(e,u=t[i++])&&(~PU(s,u)||wS(s,u));return s}});var Eh=X((Snt,bS)=>{"use strict";bS.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var mm=X(AS=>{"use strict";var LU=gm(),NU=Eh(),OU=NU.concat("length","prototype");AS.f=Object.getOwnPropertyNames||function(t){return LU(t,OU)}});var CS=X(TS=>{"use strict";TS.f=Object.getOwnPropertySymbols});var PS=X((bnt,IS)=>{"use strict";var DU=$s(),FU=In(),UU=mm(),BU=CS(),zU=so(),GU=FU([].concat);IS.exports=DU("Reflect","ownKeys")||function(t){var e=UU.f(zU(t)),i=BU.f;return i?GU(e,i(t)):e}});var ym=X((Ant,LS)=>{"use strict";var RS=oo(),kU=PS(),qU=fh(),VU=Wo();LS.exports=function(n,t,e){for(var i=kU(t),s=VU.f,u=qU.f,c=0;c<i.length;c++){var f=i[c];!RS(n,f)&&!(e&&RS(e,f))&&s(n,f,u(t,f))}}});var OS=X((Tnt,NS)=>{"use strict";var HU=An(),WU=er(),XU=/#|\\.prototype\\./,Nc=function(n,t){var e=$U[YU(n)];return e===JU?!0:e===ZU?!1:WU(t)?HU(t):!!t},YU=Nc.normalize=function(n){return String(n).replace(XU,".").toLowerCase()},$U=Nc.data={},ZU=Nc.NATIVE="N",JU=Nc.POLYFILL="P";NS.exports=Nc});var sr=X((Cnt,DS)=>{"use strict";var Sh=Sn(),jU=fh().f,KU=xs(),QU=Ha(),tB=oh(),eB=ym(),nB=OS();DS.exports=function(n,t){var e=n.target,i=n.global,s=n.stat,u,c,f,p,d,g;if(i?c=Sh:s?c=Sh[e]||tB(e,{}):c=Sh[e]&&Sh[e].prototype,c)for(f in t){if(d=t[f],n.dontCallGetSet?(g=jU(c,f),p=g&&g.value):p=c[f],u=nB(i?f:e+(s?".":"#")+f,n.forced),!u&&p!==void 0){if(typeof d==typeof p)continue;eB(d,p)}(n.sham||p&&p.sham)&&KU(d,"sham",!0),QU(c,f,d,n)}}});var Oc=X((Int,FS)=>{"use strict";var rB=vs();FS.exports=Array.isArray||function(t){return rB(t)==="Array"}});var vm=X((Pnt,US)=>{"use strict";var iB=ri(),oB=Oc(),sB=TypeError,aB=Object.getOwnPropertyDescriptor,uB=iB&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(n){return n instanceof TypeError}}();US.exports=uB?function(n,t){if(oB(n)&&!aB(n,"length").writable)throw new sB("Cannot set read only .length");return n.length=t}:function(n,t){return n.length=t}});var wh=X((Rnt,BS)=>{"use strict";var lB=TypeError,cB=9007199254740991;BS.exports=function(n){if(n>cB)throw lB("Maximum allowed index exceeded");return n}});var Mh=X(()=>{"use strict";var fB=sr(),hB=Vi(),pB=ii(),dB=vm(),gB=wh(),mB=An(),yB=mB(function(){return[].push.call({length:4294967296},1)!==4294967297}),vB=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(n){return n instanceof TypeError}},_B=yB||!vB();fB({target:"Array",proto:!0,arity:1,forced:_B},{push:function(t){var e=hB(this),i=pB(e),s=arguments.length;gB(i+s);for(var u=0;u<s;u++)e[i]=arguments[u],i++;return dB(e,i),i}})});var zS=X(()=>{"use strict";var xB=sr(),EB=vr();xB({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return EB(URL.prototype.toString,this)}})});var kS=X((Fnt,GS)=>{"use strict";GS.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var HS=X((Unt,VS)=>{"use strict";var SB=ch(),_m=SB("span").classList,qS=_m&&_m.constructor&&_m.constructor.prototype;VS.exports=qS===Object.prototype?void 0:qS});var XS=X((Bnt,WS)=>{"use strict";var wB=gm(),MB=Eh();WS.exports=Object.keys||function(t){return wB(t,MB)}});var $S=X(YS=>{"use strict";var bB=ri(),AB=Qg(),TB=Wo(),CB=so(),IB=Gu(),PB=XS();YS.f=bB&&!AB?Object.defineProperties:function(t,e){CB(t);for(var i=IB(e),s=PB(e),u=s.length,c=0,f;u>c;)TB.f(t,f=s[c++],i[f]);return t}});var JS=X((Gnt,ZS)=>{"use strict";var RB=$s();ZS.exports=RB("document","documentElement")});var Hu=X((knt,rw)=>{"use strict";var LB=so(),NB=$S(),jS=Eh(),OB=gh(),DB=JS(),FB=ch(),UB=dh(),KS=">",QS="<",Em="prototype",Sm="script",ew=UB("IE_PROTO"),xm=function(){},nw=function(n){return QS+Sm+KS+n+QS+"/"+Sm+KS},tw=function(n){n.write(nw("")),n.close();var t=n.parentWindow.Object;return n=null,t},BB=function(){var n=FB("iframe"),t="java"+Sm+":",e;return n.style.display="none",DB.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(nw("document.F=Object")),e.close(),e.F},bh,Ah=function(){try{bh=new ActiveXObject("htmlfile")}catch(t){}Ah=typeof document!="undefined"?document.domain&&bh?tw(bh):BB():tw(bh);for(var n=jS.length;n--;)delete Ah[Em][jS[n]];return Ah()};OB[ew]=!0;rw.exports=Object.create||function(t,e){var i;return t!==null?(xm[Em]=LB(t),i=new xm,xm[Em]=null,i[ew]=t):i=Ah(),e===void 0?i:NB.f(i,e)}});var bm=X((qnt,iw)=>{"use strict";var zB=Xr(),GB=Hu(),kB=Wo().f,wm=zB("unscopables"),Mm=Array.prototype;Mm[wm]===void 0&&kB(Mm,wm,{configurable:!0,value:GB(null)});iw.exports=function(n){Mm[wm][n]=!0}});var Wu=X((Vnt,ow)=>{"use strict";ow.exports={}});var aw=X((Hnt,sw)=>{"use strict";var qB=An();sw.exports=!qB(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})});var Dc=X((Wnt,lw)=>{"use strict";var VB=oo(),HB=er(),WB=Vi(),XB=dh(),YB=aw(),uw=XB("IE_PROTO"),Am=Object,$B=Am.prototype;lw.exports=YB?Am.getPrototypeOf:function(n){var t=WB(n);if(VB(t,uw))return t[uw];var e=t.constructor;return HB(e)&&t instanceof e?e.prototype:t instanceof Am?$B:null}});var Pm=X((Xnt,hw)=>{"use strict";var ZB=An(),JB=er(),jB=Ei(),KB=Hu(),cw=Dc(),QB=Ha(),tz=Xr(),ez=Rc(),Im=tz("iterator"),fw=!1,Es,Tm,Cm;[].keys&&(Cm=[].keys(),"next"in Cm?(Tm=cw(cw(Cm)),Tm!==Object.prototype&&(Es=Tm)):fw=!0);var nz=!jB(Es)||ZB(function(){var n={};return Es[Im].call(n)!==n});nz?Es={}:ez&&(Es=KB(Es));JB(Es[Im])||QB(Es,Im,function(){return this});hw.exports={IteratorPrototype:Es,BUGGY_SAFARI_ITERATORS:fw}});var Fc=X((Ynt,dw)=>{"use strict";var rz=Wo().f,iz=oo(),oz=Xr(),pw=oz("toStringTag");dw.exports=function(n,t,e){n&&!e&&(n=n.prototype),n&&!iz(n,pw)&&rz(n,pw,{configurable:!0,value:t})}});var mw=X(($nt,gw)=>{"use strict";var sz=Pm().IteratorPrototype,az=Hu(),uz=Ac(),lz=Fc(),cz=Wu(),fz=function(){return this};gw.exports=function(n,t,e,i){var s=t+" Iterator";return n.prototype=az(sz,{next:uz(+!i,e)}),lz(n,s,!1,!0),cz[s]=fz,n}});var Uc=X((Znt,yw)=>{"use strict";var hz=In(),pz=_s();yw.exports=function(n,t,e){try{return hz(pz(Object.getOwnPropertyDescriptor(n,t)[e]))}catch(i){}}});var _w=X((Jnt,vw)=>{"use strict";var dz=Ei();vw.exports=function(n){return dz(n)||n===null}});var Ew=X((jnt,xw)=>{"use strict";var gz=_w(),mz=String,yz=TypeError;xw.exports=function(n){if(gz(n))return n;throw new yz("Can't set "+mz(n)+" as a prototype")}});var Xu=X((Knt,Sw)=>{"use strict";var vz=Uc(),_z=Ei(),xz=zu(),Ez=Ew();Sw.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n=!1,t={},e;try{e=vz(Object.prototype,"__proto__","set"),e(t,[]),n=t instanceof Array}catch(i){}return function(s,u){return xz(s),Ez(u),_z(s)&&(n?e(s,u):s.__proto__=u),s}}():void 0)});var Nw=X((Qnt,Lw)=>{"use strict";var Sz=sr(),wz=vr(),Th=Rc(),Pw=ph(),Mz=er(),bz=mw(),ww=Dc(),Mw=Xu(),Az=Fc(),Tz=xs(),Rm=Ha(),Cz=Xr(),bw=Wu(),Rw=Pm(),Iz=Pw.PROPER,Pz=Pw.CONFIGURABLE,Aw=Rw.IteratorPrototype,Ch=Rw.BUGGY_SAFARI_ITERATORS,Bc=Cz("iterator"),Tw="keys",zc="values",Cw="entries",Iw=function(){return this};Lw.exports=function(n,t,e,i,s,u,c){bz(e,t,i);var f=function(x){if(x===s&&v)return v;if(!Ch&&x&&x in g)return g[x];switch(x){case Tw:return function(){return new e(this,x)};case zc:return function(){return new e(this,x)};case Cw:return function(){return new e(this,x)}}return function(){return new e(this)}},p=t+" Iterator",d=!1,g=n.prototype,y=g[Bc]||g["@@iterator"]||s&&g[s],v=!Ch&&y||f(s),E=t==="Array"&&g.entries||y,M,A,_;if(E&&(M=ww(E.call(new n)),M!==Object.prototype&&M.next&&(!Th&&ww(M)!==Aw&&(Mw?Mw(M,Aw):Mz(M[Bc])||Rm(M,Bc,Iw)),Az(M,p,!0,!0),Th&&(bw[p]=Iw))),Iz&&s===zc&&y&&y.name!==zc&&(!Th&&Pz?Tz(g,"name",zc):(d=!0,v=function(){return wz(y,this)})),s)if(A={values:f(zc),keys:u?v:f(Tw),entries:f(Cw)},c)for(_ in A)(Ch||d||!(_ in g))&&Rm(g,_,A[_]);else Sz({target:t,proto:!0,forced:Ch||d},A);return(!Th||c)&&g[Bc]!==v&&Rm(g,Bc,v,{name:s}),bw[t]=v,A}});var Dw=X((trt,Ow)=>{"use strict";Ow.exports=function(n,t){return{value:n,done:t}}});var kw=X((ert,Gw)=>{"use strict";var Rz=Gu(),Lm=bm(),Fw=Wu(),Bw=Va(),Lz=Wo().f,Nz=Nw(),Ih=Dw(),Oz=Rc(),Dz=ri(),zw="Array Iterator",Fz=Bw.set,Uz=Bw.getterFor(zw);Gw.exports=Nz(Array,"Array",function(n,t){Fz(this,{type:zw,target:Rz(n),index:0,kind:t})},function(){var n=Uz(this),t=n.target,e=n.index++;if(!t||e>=t.length)return n.target=null,Ih(void 0,!0);switch(n.kind){case"keys":return Ih(e,!1);case"values":return Ih(t[e],!1)}return Ih([e,t[e]],!1)},"values");var Uw=Fw.Arguments=Fw.Array;Lm("keys");Lm("values");Lm("entries");if(!Oz&&Dz&&Uw.name!=="values")try{Lz(Uw,"name",{value:"values"})}catch(n){}});var Yu=X(()=>{"use strict";var qw=Sn(),Hw=kS(),Bz=HS(),Gc=kw(),Vw=xs(),zz=Fc(),Gz=Xr(),Nm=Gz("iterator"),Om=Gc.values,Ww=function(n,t){if(n){if(n[Nm]!==Om)try{Vw(n,Nm,Om)}catch(i){n[Nm]=Om}if(zz(n,t,!0),Hw[t]){for(var e in Gc)if(n[e]!==Gc[e])try{Vw(n,e,Gc[e])}catch(i){n[e]=Gc[e]}}}};for(Ph in Hw)Ww(qw[Ph]&&qw[Ph].prototype,Ph);var Ph;Ww(Bz,"DOMTokenList")});var Rh=X((irt,Xw)=>{"use strict";var kz=vs(),qz=In();Xw.exports=function(n){if(kz(n)==="Function")return qz(n)}});var kc=X((ort,$w)=>{"use strict";var Yw=Rh(),Vz=_s(),Hz=bc(),Wz=Yw(Yw.bind);$w.exports=function(n,t){return Vz(n),t===void 0?n:Hz?Wz(n,t):function(){return n.apply(t,arguments)}}});var jw=X((srt,Jw)=>{"use strict";var Xz=Oc(),Yz=ii(),$z=wh(),Zz=kc(),Zw=function(n,t,e,i,s,u,c,f){for(var p=s,d=0,g=c?Zz(c,f):!1,y,v;d<i;)d in e&&(y=g?g(e[d],d,t):e[d],u>0&&Xz(y)?(v=Yz(y),p=Zw(n,t,y,v,p,u-1)-1):($z(p+1),n[p]=y),p++),d++;return p};Jw.exports=Zw});var tM=X((art,Qw)=>{"use strict";var Jz=Xr(),jz=Jz("toStringTag"),Kw={};Kw[jz]="z";Qw.exports=String(Kw)==="[object z]"});var Zs=X((urt,eM)=>{"use strict";var Kz=tM(),Qz=er(),Lh=vs(),tG=Xr(),eG=tG("toStringTag"),nG=Object,rG=Lh(function(){return arguments}())==="Arguments",iG=function(n,t){try{return n[t]}catch(e){}};eM.exports=Kz?Lh:function(n){var t,e,i;return n===void 0?"Undefined":n===null?"Null":typeof(e=iG(t=nG(n),eG))=="string"?e:rG?Lh(t):(i=Lh(t))==="Object"&&Qz(t.callee)?"Arguments":i}});var Fm=X((lrt,sM)=>{"use strict";var oG=In(),sG=An(),nM=er(),aG=Zs(),uG=$s(),lG=am(),rM=function(){},iM=uG("Reflect","construct"),Dm=/^\\s*(?:class|function)\\b/,cG=oG(Dm.exec),fG=!Dm.test(rM),qc=function(t){if(!nM(t))return!1;try{return iM(rM,[],t),!0}catch(e){return!1}},oM=function(t){if(!nM(t))return!1;switch(aG(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return fG||!!cG(Dm,lG(t))}catch(e){return!0}};oM.sham=!0;sM.exports=!iM||sG(function(){var n;return qc(qc.call)||!qc(Object)||!qc(function(){n=!0})||n})?oM:qc});var cM=X((crt,lM)=>{"use strict";var aM=Oc(),hG=Fm(),pG=Ei(),dG=Xr(),gG=dG("species"),uM=Array;lM.exports=function(n){var t;return aM(n)&&(t=n.constructor,hG(t)&&(t===uM||aM(t.prototype))?t=void 0:pG(t)&&(t=t[gG],t===null&&(t=void 0))),t===void 0?uM:t}});var Um=X((frt,fM)=>{"use strict";var mG=cM();fM.exports=function(n,t){return new(mG(n))(t===0?0:t)}});var hM=X(()=>{"use strict";var yG=sr(),vG=jw(),_G=Vi(),xG=ii(),EG=Hi(),SG=Um();yG({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=_G(this),i=xG(e),s=SG(e,0);return s.length=vG(s,e,e,i,0,t===void 0?1:EG(t)),s}})});var pM=X(()=>{"use strict";var wG=bm();wG("flat")});var vM=X((mrt,yM)=>{"use strict";var MG=Xr(),gM=MG("iterator"),mM=!1;try{dM=0,Bm={next:function(){return{done:!!dM++}},return:function(){mM=!0}},Bm[gM]=function(){return this},Array.from(Bm,function(){throw 2})}catch(n){}var dM,Bm;yM.exports=function(n,t){try{if(!t&&!mM)return!1}catch(s){return!1}var e=!1;try{var i={};i[gM]=function(){return{next:function(){return{done:e=!0}}}},n(i)}catch(s){}return e}});var Nh=X((yrt,_M)=>{"use strict";_M.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"});var $u=X((vrt,EM)=>{"use strict";var xM=pm(),bG=Wo();EM.exports=function(n,t,e){return e.get&&xM(e.get,t,{getter:!0}),e.set&&xM(e.set,t,{setter:!0}),bG.f(n,t,e)}});var Wi=X((_rt,RM)=>{"use strict";var AG=Nh(),qm=ri(),Si=Sn(),bM=er(),Fh=Ei(),js=oo(),Vm=Zs(),TG=qu(),CG=xs(),zm=Ha(),IG=$u(),PG=Tc(),Uh=Dc(),Ju=Xu(),RG=Xr(),LG=uh(),AM=Va(),TM=AM.enforce,NG=AM.get,Oh=Si.Int8Array,Gm=Oh&&Oh.prototype,SM=Si.Uint8ClampedArray,wM=SM&&SM.prototype,Xo=Oh&&Uh(Oh),bo=Gm&&Uh(Gm),OG=Object.prototype,Hm=Si.TypeError,MM=RG("toStringTag"),km=LG("TYPED_ARRAY_TAG"),Dh="TypedArrayConstructor",Ss=AG&&!!Ju&&Vm(Si.opera)!=="Opera",CM=!1,Li,Js,Zu,ws={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Wm={BigInt64Array:8,BigUint64Array:8},DG=function(t){if(!Fh(t))return!1;var e=Vm(t);return e==="DataView"||js(ws,e)||js(Wm,e)},IM=function(n){var t=Uh(n);if(Fh(t)){var e=NG(t);return e&&js(e,Dh)?e[Dh]:IM(t)}},PM=function(n){if(!Fh(n))return!1;var t=Vm(n);return js(ws,t)||js(Wm,t)},FG=function(n){if(PM(n))return n;throw new Hm("Target is not a typed array")},UG=function(n){if(bM(n)&&(!Ju||PG(Xo,n)))return n;throw new Hm(TG(n)+" is not a typed array constructor")},BG=function(n,t,e,i){if(qm){if(e)for(var s in ws){var u=Si[s];if(u&&js(u.prototype,n))try{delete u.prototype[n]}catch(c){try{u.prototype[n]=t}catch(f){}}}(!bo[n]||e)&&zm(bo,n,e?t:Ss&&Gm[n]||t,i)}},zG=function(n,t,e){var i,s;if(qm){if(Ju){if(e){for(i in ws)if(s=Si[i],s&&js(s,n))try{delete s[n]}catch(u){}}if(!Xo[n]||e)try{return zm(Xo,n,e?t:Ss&&Xo[n]||t)}catch(u){}else return}for(i in ws)s=Si[i],s&&(!s[n]||e)&&zm(s,n,t)}};for(Li in ws)Js=Si[Li],Zu=Js&&Js.prototype,Zu?TM(Zu)[Dh]=Js:Ss=!1;for(Li in Wm)Js=Si[Li],Zu=Js&&Js.prototype,Zu&&(TM(Zu)[Dh]=Js);if((!Ss||!bM(Xo)||Xo===Function.prototype)&&(Xo=function(){throw new Hm("Incorrect invocation")},Ss))for(Li in ws)Si[Li]&&Ju(Si[Li],Xo);if((!Ss||!bo||bo===OG)&&(bo=Xo.prototype,Ss))for(Li in ws)Si[Li]&&Ju(Si[Li].prototype,bo);Ss&&Uh(wM)!==bo&&Ju(wM,bo);if(qm&&!js(bo,MM)){CM=!0,IG(bo,MM,{configurable:!0,get:function(){return Fh(this)?this[km]:void 0}});for(Li in ws)Si[Li]&&CG(Si[Li],km,Li)}RM.exports={NATIVE_ARRAY_BUFFER_VIEWS:Ss,TYPED_ARRAY_TAG:CM&&km,aTypedArray:FG,aTypedArrayConstructor:UG,exportTypedArrayMethod:BG,exportTypedArrayStaticMethod:zG,getTypedArrayConstructor:IM,isView:DG,isTypedArray:PM,TypedArray:Xo,TypedArrayPrototype:bo}});var OM=X((xrt,NM)=>{"use strict";var LM=Sn(),Xm=An(),GG=vM(),kG=Wi().NATIVE_ARRAY_BUFFER_VIEWS,qG=LM.ArrayBuffer,Xa=LM.Int8Array;NM.exports=!kG||!Xm(function(){Xa(1)})||!Xm(function(){new Xa(-1)})||!GG(function(n){new Xa,new Xa(null),new Xa(1.5),new Xa(n)},!0)||Xm(function(){return new Xa(new qG(2),1,void 0).length!==1})});var FM=X((Ert,DM)=>{"use strict";var VG=Ha();DM.exports=function(n,t,e){for(var i in t)VG(n,i,t[i],e);return n}});var Ym=X((Srt,UM)=>{"use strict";var HG=Tc(),WG=TypeError;UM.exports=function(n,t){if(HG(t,n))return n;throw new WG("Incorrect invocation")}});var Bh=X((wrt,BM)=>{"use strict";var XG=Hi(),YG=Wa(),$G=RangeError;BM.exports=function(n){if(n===void 0)return 0;var t=XG(n),e=YG(t);if(t!==e)throw new $G("Wrong length or index");return e}});var GM=X((Mrt,zM)=>{"use strict";zM.exports=Math.sign||function(t){var e=+t;return e===0||e!==e?e:e<0?-1:1}});var VM=X((brt,qM)=>{"use strict";var ZG=2220446049250313e-31,kM=1/ZG;qM.exports=function(n){return n+kM-kM}});var WM=X((Art,HM)=>{"use strict";var JG=GM(),jG=VM(),KG=Math.abs,QG=2220446049250313e-31;HM.exports=function(n,t,e,i){var s=+n,u=KG(s),c=JG(s);if(u<i)return c*jG(u/i/t)*i*t;var f=(1+t/QG)*u,p=f-(f-u);return p>e||p!==p?c*(1/0):c*p}});var YM=X((Trt,XM)=>{"use strict";var t4=WM(),e4=11920928955078125e-23,n4=34028234663852886e22,r4=11754943508222875e-54;XM.exports=Math.fround||function(t){return t4(t,e4,n4,r4)}});var ZM=X((Crt,$M)=>{"use strict";var i4=Array,o4=Math.abs,Ms=Math.pow,s4=Math.floor,a4=Math.log,u4=Math.LN2,l4=function(n,t,e){var i=i4(e),s=e*8-t-1,u=(1<<s)-1,c=u>>1,f=t===23?Ms(2,-24)-Ms(2,-77):0,p=n<0||n===0&&1/n<0?1:0,d=0,g,y,v;for(n=o4(n),n!==n||n===1/0?(y=n!==n?1:0,g=u):(g=s4(a4(n)/u4),v=Ms(2,-g),n*v<1&&(g--,v*=2),g+c>=1?n+=f/v:n+=f*Ms(2,1-c),n*v>=2&&(g++,v/=2),g+c>=u?(y=0,g=u):g+c>=1?(y=(n*v-1)*Ms(2,t),g+=c):(y=n*Ms(2,c-1)*Ms(2,t),g=0));t>=8;)i[d++]=y&255,y/=256,t-=8;for(g=g<<t|y,s+=t;s>0;)i[d++]=g&255,g/=256,s-=8;return i[d-1]|=p*128,i},c4=function(n,t){var e=n.length,i=e*8-t-1,s=(1<<i)-1,u=s>>1,c=i-7,f=e-1,p=n[f--],d=p&127,g;for(p>>=7;c>0;)d=d*256+n[f--],c-=8;for(g=d&(1<<-c)-1,d>>=-c,c+=t;c>0;)g=g*256+n[f--],c-=8;if(d===0)d=1-u;else{if(d===s)return g?NaN:p?-1/0:1/0;g+=Ms(2,t),d-=u}return(p?-1:1)*g*Ms(2,d-t)};$M.exports={pack:l4,unpack:c4}});var $m=X((Irt,jM)=>{"use strict";var f4=Vi(),JM=xh(),h4=ii();jM.exports=function(t){for(var e=f4(this),i=h4(e),s=arguments.length,u=JM(s>1?arguments[1]:void 0,i),c=s>2?arguments[2]:void 0,f=c===void 0?i:JM(c,i);f>u;)e[u++]=t;return e}});var zh=X((Prt,KM)=>{"use strict";var p4=In();KM.exports=p4([].slice)});var Zm=X((Rrt,tb)=>{"use strict";var d4=er(),g4=Ei(),QM=Xu();tb.exports=function(n,t,e){var i,s;return QM&&d4(i=t.constructor)&&i!==e&&g4(s=i.prototype)&&s!==e.prototype&&QM(n,s),n}});var Xh=X((Lrt,yb)=>{"use strict";var Hh=Sn(),t0=In(),Jm=ri(),m4=Nh(),hb=ph(),y4=xs(),v4=$u(),eb=FM(),jm=An(),Gh=Ym(),_4=Hi(),x4=Wa(),qh=Bh(),E4=YM(),pb=ZM(),S4=Dc(),nb=Xu(),w4=$m(),M4=zh(),b4=Zm(),A4=ym(),db=Fc(),e0=Va(),T4=hb.PROPER,rb=hb.CONFIGURABLE,Ku="ArrayBuffer",Wh="DataView",Qu="prototype",C4="Wrong length",gb="Wrong index",ib=e0.getterFor(Ku),Hc=e0.getterFor(Wh),ob=e0.set,Ao=Hh[Ku],Xi=Ao,ju=Xi&&Xi[Qu],Yo=Hh[Wh],Ya=Yo&&Yo[Qu],sb=Object.prototype,I4=Hh.Array,Vh=Hh.RangeError,P4=t0(w4),R4=t0([].reverse),mb=pb.pack,ab=pb.unpack,ub=function(n){return[n&255]},lb=function(n){return[n&255,n>>8&255]},cb=function(n){return[n&255,n>>8&255,n>>16&255,n>>24&255]},fb=function(n){return n[3]<<24|n[2]<<16|n[1]<<8|n[0]},L4=function(n){return mb(E4(n),23,4)},N4=function(n){return mb(n,52,8)},kh=function(n,t,e){v4(n[Qu],t,{configurable:!0,get:function(){return e(this)[t]}})},Ks=function(n,t,e,i){var s=Hc(n),u=qh(e),c=!!i;if(u+t>s.byteLength)throw new Vh(gb);var f=s.bytes,p=u+s.byteOffset,d=M4(f,p,p+t);return c?d:R4(d)},Qs=function(n,t,e,i,s,u){var c=Hc(n),f=qh(e),p=i(+s),d=!!u;if(f+t>c.byteLength)throw new Vh(gb);for(var g=c.bytes,y=f+c.byteOffset,v=0;v<t;v++)g[y+v]=p[d?v:t-v-1]};m4?(Km=T4&&Ao.name!==Ku,!jm(function(){Ao(1)})||!jm(function(){new Ao(-1)})||jm(function(){return new Ao,new Ao(1.5),new Ao(NaN),Ao.length!==1||Km&&!rb})?(Xi=function(t){return Gh(this,ju),b4(new Ao(qh(t)),this,Xi)},Xi[Qu]=ju,ju.constructor=Xi,A4(Xi,Ao)):Km&&rb&&y4(Ao,"name",Ku),nb&&S4(Ya)!==sb&&nb(Ya,sb),Vc=new Yo(new Xi(2)),Qm=t0(Ya.setInt8),Vc.setInt8(0,2147483648),Vc.setInt8(1,2147483649),(Vc.getInt8(0)||!Vc.getInt8(1))&&eb(Ya,{setInt8:function(t,e){Qm(this,t,e<<24>>24)},setUint8:function(t,e){Qm(this,t,e<<24>>24)}},{unsafe:!0})):(Xi=function(t){Gh(this,ju);var e=qh(t);ob(this,{type:Ku,bytes:P4(I4(e),0),byteLength:e}),Jm||(this.byteLength=e,this.detached=!1)},ju=Xi[Qu],Yo=function(t,e,i){Gh(this,Ya),Gh(t,ju);var s=ib(t),u=s.byteLength,c=_4(e);if(c<0||c>u)throw new Vh("Wrong offset");if(i=i===void 0?u-c:x4(i),c+i>u)throw new Vh(C4);ob(this,{type:Wh,buffer:t,byteLength:i,byteOffset:c,bytes:s.bytes}),Jm||(this.buffer=t,this.byteLength=i,this.byteOffset=c)},Ya=Yo[Qu],Jm&&(kh(Xi,"byteLength",ib),kh(Yo,"buffer",Hc),kh(Yo,"byteLength",Hc),kh(Yo,"byteOffset",Hc)),eb(Ya,{getInt8:function(t){return Ks(this,1,t)[0]<<24>>24},getUint8:function(t){return Ks(this,1,t)[0]},getInt16:function(t){var e=Ks(this,2,t,arguments.length>1?arguments[1]:!1);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=Ks(this,2,t,arguments.length>1?arguments[1]:!1);return e[1]<<8|e[0]},getInt32:function(t){return fb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))},getUint32:function(t){return fb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(t){return ab(Ks(this,4,t,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(t){return ab(Ks(this,8,t,arguments.length>1?arguments[1]:!1),52)},setInt8:function(t,e){Qs(this,1,t,ub,e)},setUint8:function(t,e){Qs(this,1,t,ub,e)},setInt16:function(t,e){Qs(this,2,t,lb,e,arguments.length>2?arguments[2]:!1)},setUint16:function(t,e){Qs(this,2,t,lb,e,arguments.length>2?arguments[2]:!1)},setInt32:function(t,e){Qs(this,4,t,cb,e,arguments.length>2?arguments[2]:!1)},setUint32:function(t,e){Qs(this,4,t,cb,e,arguments.length>2?arguments[2]:!1)},setFloat32:function(t,e){Qs(this,4,t,L4,e,arguments.length>2?arguments[2]:!1)},setFloat64:function(t,e){Qs(this,8,t,N4,e,arguments.length>2?arguments[2]:!1)}}));var Km,Vc,Qm;db(Xi,Ku);db(Yo,Wh);yb.exports={ArrayBuffer:Xi,DataView:Yo}});var _b=X((Nrt,vb)=>{"use strict";var O4=Ei(),D4=Math.floor;vb.exports=Number.isInteger||function(t){return!O4(t)&&isFinite(t)&&D4(t)===t}});var Eb=X((Ort,xb)=>{"use strict";var F4=Hi(),U4=RangeError;xb.exports=function(n){var t=F4(n);if(t<0)throw new U4("The argument can't be less than 0");return t}});var n0=X((Drt,Sb)=>{"use strict";var B4=Eb(),z4=RangeError;Sb.exports=function(n,t){var e=B4(n);if(e%t)throw new z4("Wrong offset");return e}});var Mb=X((Frt,wb)=>{"use strict";var G4=Math.round;wb.exports=function(n){var t=G4(n);return t<0?0:t>255?255:t&255}});var Ab=X((Urt,bb)=>{"use strict";var k4=Fm(),q4=qu(),V4=TypeError;bb.exports=function(n){if(k4(n))return n;throw new V4(q4(n)+" is not a constructor")}});var r0=X((Brt,Cb)=>{"use strict";var H4=Zs(),Tb=Pc(),W4=nh(),X4=Wu(),Y4=Xr(),$4=Y4("iterator");Cb.exports=function(n){if(!W4(n))return Tb(n,$4)||Tb(n,"@@iterator")||X4[H4(n)]}});var Pb=X((zrt,Ib)=>{"use strict";var Z4=vr(),J4=_s(),j4=so(),K4=qu(),Q4=r0(),tk=TypeError;Ib.exports=function(n,t){var e=arguments.length<2?Q4(n):t;if(J4(e))return j4(Z4(e,n));throw new tk(K4(n)+" is not iterable")}});var Lb=X((Grt,Rb)=>{"use strict";var ek=Xr(),nk=Wu(),rk=ek("iterator"),ik=Array.prototype;Rb.exports=function(n){return n!==void 0&&(nk.Array===n||ik[rk]===n)}});var i0=X((krt,Nb)=>{"use strict";var ok=Zs();Nb.exports=function(n){var t=ok(n);return t==="BigInt64Array"||t==="BigUint64Array"}});var Yh=X((qrt,Ob)=>{"use strict";var sk=Jg(),ak=TypeError;Ob.exports=function(n){var t=sk(n,"number");if(typeof t=="number")throw new ak("Can't convert number to bigint");return BigInt(t)}});var Fb=X((Vrt,Db)=>{"use strict";var uk=kc(),lk=vr(),ck=Ab(),fk=Vi(),hk=ii(),pk=Pb(),dk=r0(),gk=Lb(),mk=i0(),yk=Wi().aTypedArrayConstructor,vk=Yh();Db.exports=function(t){var e=ck(this),i=fk(t),s=arguments.length,u=s>1?arguments[1]:void 0,c=u!==void 0,f=dk(i),p,d,g,y,v,E,M,A;if(f&&!gk(f))for(M=pk(i,f),A=M.next,i=[];!(E=lk(A,M)).done;)i.push(E.value);for(c&&s>2&&(u=uk(u,arguments[2])),d=hk(i),g=new(yk(e))(d),y=mk(g),p=0;d>p;p++)v=c?u(i[p],p):i[p],g[p]=y?vk(v):+v;return g}});var zb=X((Hrt,Bb)=>{"use strict";var _k=kc(),xk=In(),Ek=eh(),Sk=Vi(),wk=ii(),Mk=Um(),Ub=xk([].push),ta=function(n){var t=n===1,e=n===2,i=n===3,s=n===4,u=n===6,c=n===7,f=n===5||u;return function(p,d,g,y){for(var v=Sk(p),E=Ek(v),M=wk(E),A=_k(d,g),_=0,x=y||Mk,T=t?x(p,M):e||c?x(p,0):void 0,w,R;M>_;_++)if((f||_ in E)&&(w=E[_],R=A(w,_,v),n))if(t)T[_]=R;else if(R)switch(n){case 3:return!0;case 5:return w;case 6:return _;case 2:Ub(T,w)}else switch(n){case 4:return!1;case 7:Ub(T,w)}return u?-1:i||s?s:T}};Bb.exports={forEach:ta(0),map:ta(1),filter:ta(2),some:ta(3),every:ta(4),find:ta(5),findIndex:ta(6),filterReject:ta(7)}});var o0=X((Wrt,kb)=>{"use strict";var bk=$s(),Ak=$u(),Tk=Xr(),Ck=ri(),Gb=Tk("species");kb.exports=function(n){var t=bk(n);Ck&&t&&!t[Gb]&&Ak(t,Gb,{configurable:!0,get:function(){return this}})}});var s0=X((Xrt,qb)=>{"use strict";var Ik=ii();qb.exports=function(n,t,e){for(var i=0,s=arguments.length>2?e:Ik(t),u=new n(s);s>i;)u[i]=t[i++];return u}});var uA=X((Yrt,p0)=>{"use strict";var Vb=sr(),tA=Sn(),Hb=vr(),Pk=ri(),Rk=OM(),$c=Wi(),eA=Xh(),Wb=Ym(),Lk=Ac(),Wc=xs(),Nk=_b(),Ok=Wa(),Xb=Bh(),a0=n0(),Dk=Mb(),nA=lh(),Xc=oo(),Fk=Zs(),c0=Ei(),Uk=Ic(),Bk=Hu(),zk=Tc(),$h=Xu(),Gk=mm().f,Yb=Fb(),kk=zb().forEach,qk=o0(),Vk=$u(),rA=Wo(),iA=fh(),$b=s0(),d0=Va(),Hk=Zm(),f0=d0.get,Wk=d0.set,Xk=d0.enforce,oA=rA.f,Yk=iA.f,u0=tA.RangeError,sA=eA.ArrayBuffer,$k=sA.prototype,Zk=eA.DataView,Zh=$c.NATIVE_ARRAY_BUFFER_VIEWS,Zb=$c.TYPED_ARRAY_TAG,Jb=$c.TypedArray,Yc=$c.TypedArrayPrototype,h0=$c.isTypedArray,Jh="BYTES_PER_ELEMENT",l0="Wrong length",jh=function(n,t){Vk(n,t,{configurable:!0,get:function(){return f0(this)[t]}})},jb=function(n){var t;return zk($k,n)||(t=Fk(n))==="ArrayBuffer"||t==="SharedArrayBuffer"},aA=function(n,t){return h0(n)&&!Uk(t)&&t in n&&Nk(+t)&&t>=0},Kb=function(t,e){return e=nA(e),aA(t,e)?Lk(2,t[e]):Yk(t,e)},Qb=function(t,e,i){return e=nA(e),aA(t,e)&&c0(i)&&Xc(i,"value")&&!Xc(i,"get")&&!Xc(i,"set")&&!i.configurable&&(!Xc(i,"writable")||i.writable)&&(!Xc(i,"enumerable")||i.enumerable)?(t[e]=i.value,t):oA(t,e,i)};Pk?(Zh||(iA.f=Kb,rA.f=Qb,jh(Yc,"buffer"),jh(Yc,"byteOffset"),jh(Yc,"byteLength"),jh(Yc,"length")),Vb({target:"Object",stat:!0,forced:!Zh},{getOwnPropertyDescriptor:Kb,defineProperty:Qb}),p0.exports=function(n,t,e){var i=n.match(/\\d+/)[0]/8,s=n+(e?"Clamped":"")+"Array",u="get"+n,c="set"+n,f=tA[s],p=f,d=p&&p.prototype,g={},y=function(A,_){var x=f0(A);return x.view[u](_*i+x.byteOffset,!0)},v=function(A,_,x){var T=f0(A);T.view[c](_*i+T.byteOffset,e?Dk(x):x,!0)},E=function(A,_){oA(A,_,{get:function(){return y(this,_)},set:function(x){return v(this,_,x)},enumerable:!0})};Zh?Rk&&(p=t(function(A,_,x,T){return Wb(A,d),Hk(function(){return c0(_)?jb(_)?T!==void 0?new f(_,a0(x,i),T):x!==void 0?new f(_,a0(x,i)):new f(_):h0(_)?$b(p,_):Hb(Yb,p,_):new f(Xb(_))}(),A,p)}),$h&&$h(p,Jb),kk(Gk(f),function(A){A in p||Wc(p,A,f[A])}),p.prototype=d):(p=t(function(A,_,x,T){Wb(A,d);var w=0,R=0,z,U,D;if(!c0(_))D=Xb(_),U=D*i,z=new sA(U);else if(jb(_)){z=_,R=a0(x,i);var P=_.byteLength;if(T===void 0){if(P%i)throw new u0(l0);if(U=P-R,U<0)throw new u0(l0)}else if(U=Ok(T)*i,U+R>P)throw new u0(l0);D=U/i}else return h0(_)?$b(p,_):Hb(Yb,p,_);for(Wk(A,{buffer:z,byteOffset:R,byteLength:U,length:D,view:new Zk(z)});w<D;)E(A,w++)}),$h&&$h(p,Jb),d=p.prototype=Bk(Yc)),d.constructor!==p&&Wc(d,"constructor",p),Xk(d).TypedArrayConstructor=p,Zb&&Wc(d,Zb,s);var M=p!==f;g[s]=p,Vb({global:!0,constructor:!0,forced:M,sham:!Zh},g),Jh in p||Wc(p,Jh,i),Jh in d||Wc(d,Jh,i),qk(s)}):p0.exports=function(){}});var g0=X(()=>{"use strict";var Jk=uA();Jk("Float32",function(n){return function(e,i,s){return n(this,e,i,s)}})});var m0=X(()=>{"use strict";var lA=Wi(),jk=ii(),Kk=Hi(),Qk=lA.aTypedArray,tq=lA.exportTypedArrayMethod;tq("at",function(t){var e=Qk(this),i=jk(e),s=Kk(t),u=s>=0?s:i+s;return u<0||u>=i?void 0:e[u]})});var y0=X(()=>{"use strict";var cA=Wi(),eq=$m(),nq=Yh(),rq=Zs(),iq=vr(),oq=In(),sq=An(),aq=cA.aTypedArray,uq=cA.exportTypedArrayMethod,lq=oq("".slice),cq=sq(function(){var n=0;return new Int8Array(2).fill({valueOf:function(){return n++}}),n!==1});uq("fill",function(t){var e=arguments.length;aq(this);var i=lq(rq(this),0,3)==="Big"?nq(t):+t;return iq(eq,this,i,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},cq)});var v0=X((tit,hA)=>{"use strict";var fq=kc(),hq=eh(),pq=Vi(),dq=ii(),fA=function(n){var t=n===1;return function(e,i,s){for(var u=pq(e),c=hq(u),f=dq(c),p=fq(i,s),d,g;f-- >0;)if(d=c[f],g=p(d,f,u),g)switch(n){case 0:return d;case 1:return f}return t?-1:void 0}};hA.exports={findLast:fA(0),findLastIndex:fA(1)}});var _0=X(()=>{"use strict";var pA=Wi(),gq=v0().findLast,mq=pA.aTypedArray,yq=pA.exportTypedArrayMethod;yq("findLast",function(t){return gq(mq(this),t,arguments.length>1?arguments[1]:void 0)})});var x0=X(()=>{"use strict";var dA=Wi(),vq=v0().findLastIndex,_q=dA.aTypedArray,xq=dA.exportTypedArrayMethod;xq("findLastIndex",function(t){return vq(_q(this),t,arguments.length>1?arguments[1]:void 0)})});var M0=X(()=>{"use strict";var mA=Sn(),yA=vr(),w0=Wi(),Eq=ii(),Sq=n0(),wq=Vi(),vA=An(),Mq=mA.RangeError,E0=mA.Int8Array,gA=E0&&E0.prototype,_A=gA&&gA.set,bq=w0.aTypedArray,Aq=w0.exportTypedArrayMethod,S0=!vA(function(){var n=new Uint8ClampedArray(2);return yA(_A,n,{length:1,0:3},1),n[1]!==3}),Tq=S0&&w0.NATIVE_ARRAY_BUFFER_VIEWS&&vA(function(){var n=new E0(2);return n.set(1),n.set("2",1),n[0]!==0||n[1]!==2});Aq("set",function(t){bq(this);var e=Sq(arguments.length>1?arguments[1]:void 0,1),i=wq(t);if(S0)return yA(_A,this,i,e);var s=this.length,u=Eq(i),c=0;if(u+e>s)throw new Mq("Wrong length");for(;c<u;)this[e+c]=i[c++]},!S0||Tq)});var A0=X((ait,EA)=>{"use strict";var xA=zh(),Cq=Math.floor,b0=function(n,t){var e=n.length;if(e<8)for(var i=1,s,u;i<e;){for(u=i,s=n[i];u&&t(n[u-1],s)>0;)n[u]=n[--u];u!==i++&&(n[u]=s)}else for(var c=Cq(e/2),f=b0(xA(n,0,c),t),p=b0(xA(n,c),t),d=f.length,g=p.length,y=0,v=0;y<d||v<g;)n[y+v]=y<d&&v<g?t(f[y],p[v])<=0?f[y++]:p[v++]:y<d?f[y++]:p[v++];return n};EA.exports=b0});var T0=X((uit,wA)=>{"use strict";var Iq=ku(),SA=Iq.match(/firefox\\/(\\d+)/i);wA.exports=!!SA&&+SA[1]});var C0=X((lit,MA)=>{"use strict";var Pq=ku();MA.exports=/MSIE|Trident/.test(Pq)});var I0=X((cit,AA)=>{"use strict";var Rq=ku(),bA=Rq.match(/AppleWebKit\\/(\\d+)\\./);AA.exports=!!bA&&+bA[1]});var R0=X(()=>{"use strict";var Lq=Sn(),Nq=Rh(),P0=An(),Oq=_s(),Dq=A0(),RA=Wi(),TA=T0(),Fq=C0(),CA=Cc(),IA=I0(),Uq=RA.aTypedArray,Bq=RA.exportTypedArrayMethod,Zc=Lq.Uint16Array,tl=Zc&&Nq(Zc.prototype.sort),zq=!!tl&&!(P0(function(){tl(new Zc(2),null)})&&P0(function(){tl(new Zc(2),{})})),PA=!!tl&&!P0(function(){if(CA)return CA<74;if(TA)return TA<67;if(Fq)return!0;if(IA)return IA<602;var n=new Zc(516),t=Array(516),e,i;for(e=0;e<516;e++)i=e%4,n[e]=515-e,t[e]=e-2*i+3;for(tl(n,function(s,u){return(s/4|0)-(u/4|0)}),e=0;e<516;e++)if(n[e]!==t[e])return!0}),Gq=function(n){return function(t,e){return n!==void 0?+n(t,e)||0:e!==e?-1:t!==t?1:t===0&&e===0?1/t>0&&1/e<0?1:-1:t>e}};Bq("sort",function(t){return t!==void 0&&Oq(t),PA?tl(this,t):Dq(Uq(this),Gq(t))},!PA||zq)});var NA=X((pit,LA)=>{"use strict";var kq=ii();LA.exports=function(n,t){for(var e=kq(n),i=new t(e),s=0;s<e;s++)i[s]=n[e-s-1];return i}});var N0=X(()=>{"use strict";var qq=NA(),L0=Wi(),Vq=L0.aTypedArray,Hq=L0.exportTypedArrayMethod,Wq=L0.getTypedArrayConstructor;Hq("toReversed",function(){return qq(Vq(this),Wq(this))})});var O0=X(()=>{"use strict";var Kh=Wi(),Xq=In(),Yq=_s(),$q=s0(),Zq=Kh.aTypedArray,Jq=Kh.getTypedArrayConstructor,jq=Kh.exportTypedArrayMethod,Kq=Xq(Kh.TypedArrayPrototype.sort);jq("toSorted",function(t){t!==void 0&&Yq(t);var e=Zq(this),i=$q(Jq(e),e);return Kq(i,t)})});var DA=X((vit,OA)=>{"use strict";var Qq=ii(),t5=Hi(),e5=RangeError;OA.exports=function(n,t,e,i){var s=Qq(n),u=t5(e),c=u<0?s+u:u;if(c>=s||c<0)throw new e5("Incorrect index");for(var f=new t(s),p=0;p<s;p++)f[p]=p===c?i:n[p];return f}});var F0=X(()=>{"use strict";var n5=DA(),D0=Wi(),r5=i0(),i5=Hi(),o5=Yh(),s5=D0.aTypedArray,a5=D0.getTypedArrayConstructor,u5=D0.exportTypedArrayMethod,l5=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(n){return n===8}}();u5("with",function(n,t){var e=s5(this),i=i5(n),s=r5(e)?o5(t):+t;return n5(e,a5(e),i,s)},!l5)});var B0=X(()=>{"use strict";var c5=sr(),f5=Sn(),h5=Xh(),p5=o0(),U0="ArrayBuffer",FA=h5[U0],d5=f5[U0];c5({global:!0,constructor:!0,forced:d5!==FA},{ArrayBuffer:FA});p5(U0)});var q0=X(()=>{"use strict";var g5=sr(),G0=Rh(),m5=An(),GA=Xh(),UA=so(),BA=xh(),y5=Wa(),k0=GA.ArrayBuffer,z0=GA.DataView,kA=z0.prototype,zA=G0(k0.prototype.slice),v5=G0(kA.getUint8),_5=G0(kA.setUint8),x5=m5(function(){return!new k0(2).slice(1,void 0).byteLength});g5({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:x5},{slice:function(t,e){if(zA&&e===void 0)return zA(UA(this),t);for(var i=UA(this).byteLength,s=BA(t,i),u=BA(e===void 0?i:e,i),c=new k0(y5(u-s)),f=new z0(this),p=new z0(c),d=0;s<u;)_5(p,d++,v5(f,s++));return c}})});var V0=X((bit,HA)=>{"use strict";var VA=Sn(),E5=Uc(),S5=vs(),qA=VA.ArrayBuffer,w5=VA.TypeError;HA.exports=qA&&E5(qA.prototype,"byteLength","get")||function(n){if(S5(n)!=="ArrayBuffer")throw new w5("ArrayBuffer expected");return n.byteLength}});var H0=X((Ait,WA)=>{"use strict";var M5=Sn(),b5=Nh(),A5=V0(),T5=M5.DataView;WA.exports=function(n){if(!b5||A5(n)!==0)return!1;try{return new T5(n),!1}catch(t){return!0}}});var W0=X(()=>{"use strict";var C5=ri(),I5=$u(),P5=H0(),XA=ArrayBuffer.prototype;C5&&!("detached"in XA)&&I5(XA,"detached",{configurable:!0,get:function(){return P5(this)}})});var $A=X((Iit,YA)=>{"use strict";var R5=H0(),L5=TypeError;YA.exports=function(n){if(R5(n))throw new L5("ArrayBuffer is detached");return n}});var X0=X((Pit,ZA)=>{"use strict";var Jc=Sn(),N5=ku(),O5=vs(),Qh=function(n){return N5.slice(0,n.length)===n};ZA.exports=function(){return Qh("Bun/")?"BUN":Qh("Cloudflare-Workers")?"CLOUDFLARE":Qh("Deno/")?"DENO":Qh("Node.js/")?"NODE":Jc.Bun&&typeof Bun.version=="string"?"BUN":Jc.Deno&&typeof Deno.version=="object"?"DENO":O5(Jc.process)==="process"?"NODE":Jc.window&&Jc.document?"BROWSER":"REST"}()});var jA=X((Rit,JA)=>{"use strict";var D5=X0();JA.exports=D5==="NODE"});var QA=X((Lit,KA)=>{"use strict";var F5=Sn(),U5=jA();KA.exports=function(n){if(U5){try{return F5.process.getBuiltinModule(n)}catch(t){}try{return Function('return require("'+n+'")')()}catch(t){}}}});var Z0=X((Nit,eT)=>{"use strict";var B5=Sn(),z5=An(),Y0=Cc(),$0=X0(),tT=B5.structuredClone;eT.exports=!!tT&&!z5(function(){if($0==="DENO"&&Y0>92||$0==="NODE"&&Y0>94||$0==="BROWSER"&&Y0>97)return!1;var n=new ArrayBuffer(8),t=tT(n,{transfer:[n]});return n.byteLength!==0||t.byteLength!==8})});var oT=X((Oit,iT)=>{"use strict";var Q0=Sn(),G5=QA(),k5=Z0(),q5=Q0.structuredClone,nT=Q0.ArrayBuffer,tp=Q0.MessageChannel,K0=!1,J0,rT,ep,j0;if(k5)K0=function(n){q5(n,{transfer:[n]})};else if(nT)try{tp||(J0=G5("worker_threads"),J0&&(tp=J0.MessageChannel)),tp&&(rT=new tp,ep=new nT(2),j0=function(n){rT.port1.postMessage(null,[n])},ep.byteLength===2&&(j0(ep),ep.byteLength===0&&(K0=j0)))}catch(n){}iT.exports=K0});var oy=X((Dit,hT)=>{"use strict";var ny=Sn(),ry=In(),lT=Uc(),V5=Bh(),H5=$A(),W5=V0(),sT=oT(),ty=Z0(),X5=ny.structuredClone,cT=ny.ArrayBuffer,ey=ny.DataView,Y5=Math.min,iy=cT.prototype,fT=ey.prototype,$5=ry(iy.slice),aT=lT(iy,"resizable","get"),uT=lT(iy,"maxByteLength","get"),Z5=ry(fT.getInt8),J5=ry(fT.setInt8);hT.exports=(ty||sT)&&function(n,t,e){var i=W5(n),s=t===void 0?i:V5(t),u=!aT||!aT(n),c;if(H5(n),ty&&(n=X5(n,{transfer:[n]}),i===s&&(e||u)))return n;if(i>=s&&(!e||u))c=$5(n,0,s);else{var f=e&&!u&&uT?{maxByteLength:uT(n)}:void 0;c=new cT(s,f);for(var p=new ey(n),d=new ey(c),g=Y5(s,i),y=0;y<g;y++)J5(d,y,Z5(p,y))}return ty||sT(n),c}});var sy=X(()=>{"use strict";var j5=sr(),pT=oy();pT&&j5({target:"ArrayBuffer",proto:!0},{transfer:function(){return pT(this,arguments.length?arguments[0]:void 0,!0)}})});var ay=X(()=>{"use strict";var K5=sr(),dT=oy();dT&&K5({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return dT(this,arguments.length?arguments[0]:void 0,!1)}})});var To=X((Git,gT)=>{"use strict";var uy=In(),np=Set.prototype;gT.exports={Set,add:uy(np.add),has:uy(np.has),remove:uy(np.delete),proto:np}});var ea=X((kit,mT)=>{"use strict";var Q5=To().has;mT.exports=function(n){return Q5(n),n}});var na=X((qit,yT)=>{"use strict";var tV=vr();yT.exports=function(n,t,e){for(var i=e?n:n.iterator,s=n.next,u,c;!(u=tV(s,i)).done;)if(c=t(u.value),c!==void 0)return c}});var el=X((Vit,ST)=>{"use strict";var vT=In(),eV=na(),_T=To(),nV=_T.Set,xT=_T.proto,rV=vT(xT.forEach),ET=vT(xT.keys),iV=ET(new nV).next;ST.exports=function(n,t,e){return e?eV({iterator:ET(n),next:iV},t):rV(n,t)}});var rp=X((Hit,MT)=>{"use strict";var wT=To(),oV=el(),sV=wT.Set,aV=wT.add;MT.exports=function(n){var t=new sV;return oV(n,function(e){aV(t,e)}),t}});var nl=X((Wit,bT)=>{"use strict";var uV=Uc(),lV=To();bT.exports=uV(lV.proto,"size","get")||function(n){return n.size}});var TT=X((Xit,AT)=>{"use strict";AT.exports=function(n){return{iterator:n,next:n.next,done:!1}}});var ra=X((Yit,NT)=>{"use strict";var CT=_s(),RT=so(),IT=vr(),cV=Hi(),fV=TT(),PT="Invalid size",hV=RangeError,pV=TypeError,dV=Math.max,LT=function(n,t){this.set=n,this.size=dV(t,0),this.has=CT(n.has),this.keys=CT(n.keys)};LT.prototype={getIterator:function(){return fV(RT(IT(this.keys,this.set)))},includes:function(n){return IT(this.has,this.set,n)}};NT.exports=function(n){RT(n);var t=+n.size;if(t!==t)throw new pV(PT);var e=cV(t);if(e<0)throw new hV(PT);return new LT(n,e)}});var UT=X(($it,FT)=>{"use strict";var gV=ea(),DT=To(),mV=rp(),yV=nl(),vV=ra(),_V=el(),xV=na(),EV=DT.has,OT=DT.remove;FT.exports=function(t){var e=gV(this),i=vV(t),s=mV(e);return yV(e)<=i.size?_V(e,function(u){i.includes(u)&&OT(s,u)}):xV(i.getIterator(),function(u){EV(e,u)&&OT(s,u)}),s}});var ia=X((Zit,GT)=>{"use strict";var SV=$s(),BT=function(n){return{size:n,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},zT=function(n){return{size:n,has:function(){return!0},keys:function(){throw new Error("e")}}};GT.exports=function(n,t){var e=SV("Set");try{new e()[n](BT(0));try{return new e()[n](BT(-1)),!1}catch(s){if(!t)return!0;try{return new e()[n](zT(-1/0)),!1}catch(u){var i=new e;return i.add(1),i.add(2),t(i[n](zT(1/0)))}}}catch(s){return!1}}});var kT=X(()=>{"use strict";var wV=sr(),MV=UT(),bV=ia(),AV=!bV("difference",function(n){return n.size===0});wV({target:"Set",proto:!0,real:!0,forced:AV},{difference:MV})});var HT=X((Kit,VT)=>{"use strict";var TV=ea(),ly=To(),CV=nl(),IV=ra(),PV=el(),RV=na(),LV=ly.Set,qT=ly.add,NV=ly.has;VT.exports=function(t){var e=TV(this),i=IV(t),s=new LV;return CV(e)>i.size?RV(i.getIterator(),function(u){NV(e,u)&&qT(s,u)}):PV(e,function(u){i.includes(u)&&qT(s,u)}),s}});var WT=X(()=>{"use strict";var OV=sr(),DV=An(),FV=HT(),UV=ia(),BV=!UV("intersection",function(n){return n.size===2&&n.has(1)&&n.has(2)})||DV(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});OV({target:"Set",proto:!0,real:!0,forced:BV},{intersection:FV})});var cy=X((eot,YT)=>{"use strict";var zV=vr(),XT=so(),GV=Pc();YT.exports=function(n,t,e){var i,s;XT(n);try{if(i=GV(n,"return"),!i){if(t==="throw")throw e;return e}i=zV(i,n)}catch(u){s=!0,i=u}if(t==="throw")throw e;if(s)throw i;return XT(i),e}});var ZT=X((not,$T)=>{"use strict";var kV=ea(),qV=To().has,VV=nl(),HV=ra(),WV=el(),XV=na(),YV=cy();$T.exports=function(t){var e=kV(this),i=HV(t);if(VV(e)<=i.size)return WV(e,function(u){if(i.includes(u))return!1},!0)!==!1;var s=i.getIterator();return XV(s,function(u){if(qV(e,u))return YV(s,"normal",!1)})!==!1}});var JT=X(()=>{"use strict";var $V=sr(),ZV=ZT(),JV=ia(),jV=!JV("isDisjointFrom",function(n){return!n});$V({target:"Set",proto:!0,real:!0,forced:jV},{isDisjointFrom:ZV})});var KT=X((oot,jT)=>{"use strict";var KV=ea(),QV=nl(),tH=el(),eH=ra();jT.exports=function(t){var e=KV(this),i=eH(t);return QV(e)>i.size?!1:tH(e,function(s){if(!i.includes(s))return!1},!0)!==!1}});var QT=X(()=>{"use strict";var nH=sr(),rH=KT(),iH=ia(),oH=!iH("isSubsetOf",function(n){return n});nH({target:"Set",proto:!0,real:!0,forced:oH},{isSubsetOf:rH})});var eC=X((uot,tC)=>{"use strict";var sH=ea(),aH=To().has,uH=nl(),lH=ra(),cH=na(),fH=cy();tC.exports=function(t){var e=sH(this),i=lH(t);if(uH(e)<i.size)return!1;var s=i.getIterator();return cH(s,function(u){if(!aH(e,u))return fH(s,"normal",!1)})!==!1}});var nC=X(()=>{"use strict";var hH=sr(),pH=eC(),dH=ia(),gH=!dH("isSupersetOf",function(n){return!n});hH({target:"Set",proto:!0,real:!0,forced:gH},{isSupersetOf:pH})});var iC=X((fot,rC)=>{"use strict";var mH=ea(),fy=To(),yH=rp(),vH=ra(),_H=na(),xH=fy.add,EH=fy.has,SH=fy.remove;rC.exports=function(t){var e=mH(this),i=vH(t).getIterator(),s=yH(e);return _H(i,function(u){EH(e,u)?SH(s,u):xH(s,u)}),s}});var oC=X(()=>{"use strict";var wH=sr(),MH=iC(),bH=ia();wH({target:"Set",proto:!0,real:!0,forced:!bH("symmetricDifference")},{symmetricDifference:MH})});var aC=X((dot,sC)=>{"use strict";var AH=ea(),TH=To().add,CH=rp(),IH=ra(),PH=na();sC.exports=function(t){var e=AH(this),i=IH(t).getIterator(),s=CH(e);return PH(i,function(u){TH(s,u)}),s}});var uC=X(()=>{"use strict";var RH=sr(),LH=aC(),NH=ia();RH({target:"Set",proto:!0,real:!0,forced:!NH("union")},{union:LH})});var hy=X((yot,cC)=>{"use strict";var lC=qu(),OH=TypeError;cC.exports=function(n,t){if(!delete n[t])throw new OH("Cannot delete property "+lC(t)+" of "+lC(n))}});var fC=X(()=>{"use strict";var DH=sr(),FH=Vi(),UH=ii(),BH=vm(),zH=hy(),GH=wh(),kH=[].unshift(0)!==1,qH=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(n){return n instanceof TypeError}},VH=kH||!qH();DH({target:"Array",proto:!0,arity:1,forced:VH},{unshift:function(t){var e=FH(this),i=UH(e),s=arguments.length;if(s){GH(i+s);for(var u=i;u--;){var c=u+s;u in e?e[c]=e[u]:zH(e,c)}for(var f=0;f<s;f++)e[f]=arguments[f]}return BH(e,i+s)}})});var Fl=X((Not,gP)=>{"use strict";var bY=Zs(),AY=String;gP.exports=function(n){if(bY(n)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return AY(n)}});var yP=X((Oot,mP)=>{"use strict";var TY=so();mP.exports=function(){var n=TY(this),t="";return n.hasIndices&&(t+="d"),n.global&&(t+="g"),n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.dotAll&&(t+="s"),n.unicode&&(t+="u"),n.unicodeSets&&(t+="v"),n.sticky&&(t+="y"),t}});var _P=X((Dot,vP)=>{"use strict";var t_=An(),CY=Sn(),e_=CY.RegExp,n_=t_(function(){var n=e_("a","y");return n.lastIndex=2,n.exec("abcd")!==null}),IY=n_||t_(function(){return!e_("a","y").sticky}),PY=n_||t_(function(){var n=e_("^r","gy");return n.lastIndex=2,n.exec("str")!==null});vP.exports={BROKEN_CARET:PY,MISSED_STICKY:IY,UNSUPPORTED_Y:n_}});var EP=X((Fot,xP)=>{"use strict";var RY=An(),LY=Sn(),NY=LY.RegExp;xP.exports=RY(function(){var n=NY(".","s");return!(n.dotAll&&n.test(\`
8118
8118
  \`)&&n.flags==="s")})});var wP=X((Uot,SP)=>{"use strict";var OY=An(),DY=Sn(),FY=DY.RegExp;SP.exports=OY(function(){var n=FY("(?<a>b)","g");return n.exec("b").groups.a!=="b"||"b".replace(n,"$<a>c")!=="bc"})});var gd=X((Bot,bP)=>{"use strict";var Ul=vr(),dd=In(),UY=Fl(),BY=yP(),zY=_P(),GY=ah(),kY=Hu(),qY=Va().get,VY=EP(),HY=wP(),WY=GY("native-string-replace",String.prototype.replace),pd=RegExp.prototype.exec,i_=pd,XY=dd("".charAt),YY=dd("".indexOf),$Y=dd("".replace),r_=dd("".slice),o_=function(){var n=/a/,t=/b*/g;return Ul(pd,n,"a"),Ul(pd,t,"a"),n.lastIndex!==0||t.lastIndex!==0}(),MP=zY.BROKEN_CARET,s_=/()??/.exec("")[1]!==void 0,ZY=o_||s_||MP||VY||HY;ZY&&(i_=function(t){var e=this,i=qY(e),s=UY(t),u=i.raw,c,f,p,d,g,y,v;if(u)return u.lastIndex=e.lastIndex,c=Ul(i_,u,s),e.lastIndex=u.lastIndex,c;var E=i.groups,M=MP&&e.sticky,A=Ul(BY,e),_=e.source,x=0,T=s;if(M&&(A=$Y(A,"y",""),YY(A,"g")===-1&&(A+="g"),T=r_(s,e.lastIndex),e.lastIndex>0&&(!e.multiline||e.multiline&&XY(s,e.lastIndex-1)!==\`
8119
8119
  \`)&&(_="(?: "+_+")",T=" "+T,x++),f=new RegExp("^(?:"+_+")",A)),s_&&(f=new RegExp("^"+_+"$(?!\\\\s)",A)),o_&&(p=e.lastIndex),d=Ul(pd,M?f:e,T),M?d?(d.input=r_(d.input,x),d[0]=r_(d[0],x),d.index=e.lastIndex,e.lastIndex+=d[0].length):e.lastIndex=0:o_&&d&&(e.lastIndex=e.global?d.index+d[0].length:p),s_&&d&&d.length>1&&Ul(WY,d[0],f,function(){for(g=1;g<arguments.length-2;g++)arguments[g]===void 0&&(d[g]=void 0)}),d&&E)for(d.groups=y=kY(null),g=0;g<E.length;g++)v=E[g],y[v[0]]=d[v[1]];return d});bP.exports=i_});var a_=X(()=>{"use strict";var JY=sr(),AP=gd();JY({target:"RegExp",proto:!0,forced:/./.exec!==AP},{exec:AP})});var md=X((Yot,IP)=>{"use strict";var CP=Object.getOwnPropertySymbols,t$=Object.prototype.hasOwnProperty,e$=Object.prototype.propertyIsEnumerable;function n$(n){if(n==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function r$(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;for(var t={},e=0;e<10;e++)t["_"+String.fromCharCode(e)]=e;var i=Object.getOwnPropertyNames(t).map(function(u){return t[u]});if(i.join("")!=="0123456789")return!1;var s={};return"abcdefghijklmnopqrst".split("").forEach(function(u){s[u]=u}),Object.keys(Object.assign({},s)).join("")==="abcdefghijklmnopqrst"}catch(u){return!1}}IP.exports=r$()?Object.assign:function(n,t){for(var e,i=n$(n),s,u=1;u<arguments.length;u++){e=Object(arguments[u]);for(var c in e)t$.call(e,c)&&(i[c]=e[c]);if(CP){s=CP(e);for(var f=0;f<s.length;f++)e$.call(e,s[f])&&(i[s[f]]=e[s[f]])}}return i}});var p_=X((f_,h_)=>{(function(n,t){typeof f_=="object"&&typeof h_!="undefined"?h_.exports=t():typeof define=="function"&&define.amd?define(t):(n=n||self).RBush=t()})(f_,function(){"use strict";function n(_,x,T,w,R){(function z(U,D,P,ct,L){for(;ct>P;){if(ct-P>600){var W=ct-P+1,V=D-P+1,Mt=Math.log(W),$=.5*Math.exp(2*Mt/3),gt=.5*Math.sqrt(Mt*$*(W-$)/W)*(V-W/2<0?-1:1),ft=Math.max(P,Math.floor(D-V*$/W+gt)),vt=Math.min(ct,Math.floor(D+(W-V)*$/W+gt));z(U,D,ft,vt,L)}var it=U[D],lt=P,H=ct;for(t(U,P,D),L(U[ct],it)>0&&t(U,P,ct);lt<H;){for(t(U,lt,H),lt++,H--;L(U[lt],it)<0;)lt++;for(;L(U[H],it)>0;)H--}L(U[P],it)===0?t(U,P,H):t(U,++H,ct),H<=D&&(P=H+1),D<=H&&(ct=H-1)}})(_,x,T||0,w||_.length-1,R||e)}function t(_,x,T){var w=_[x];_[x]=_[T],_[T]=w}function e(_,x){return _<x?-1:_>x?1:0}var i=function(_){_===void 0&&(_=9),this._maxEntries=Math.max(4,_),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function s(_,x,T){if(!T)return x.indexOf(_);for(var w=0;w<x.length;w++)if(T(_,x[w]))return w;return-1}function u(_,x){c(_,0,_.children.length,x,_)}function c(_,x,T,w,R){R||(R=M(null)),R.minX=1/0,R.minY=1/0,R.maxX=-1/0,R.maxY=-1/0;for(var z=x;z<T;z++){var U=_.children[z];f(R,_.leaf?w(U):U)}return R}function f(_,x){return _.minX=Math.min(_.minX,x.minX),_.minY=Math.min(_.minY,x.minY),_.maxX=Math.max(_.maxX,x.maxX),_.maxY=Math.max(_.maxY,x.maxY),_}function p(_,x){return _.minX-x.minX}function d(_,x){return _.minY-x.minY}function g(_){return(_.maxX-_.minX)*(_.maxY-_.minY)}function y(_){return _.maxX-_.minX+(_.maxY-_.minY)}function v(_,x){return _.minX<=x.minX&&_.minY<=x.minY&&x.maxX<=_.maxX&&x.maxY<=_.maxY}function E(_,x){return x.minX<=_.maxX&&x.minY<=_.maxY&&x.maxX>=_.minX&&x.maxY>=_.minY}function M(_){return{children:_,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function A(_,x,T,w,R){for(var z=[x,T];z.length;)if(!((T=z.pop())-(x=z.pop())<=w)){var U=x+Math.ceil((T-x)/w/2)*w;n(_,U,x,T,R),z.push(x,U,U,T)}}return i.prototype.all=function(){return this._all(this.data,[])},i.prototype.search=function(_){var x=this.data,T=[];if(!E(_,x))return T;for(var w=this.toBBox,R=[];x;){for(var z=0;z<x.children.length;z++){var U=x.children[z],D=x.leaf?w(U):U;E(_,D)&&(x.leaf?T.push(U):v(_,D)?this._all(U,T):R.push(U))}x=R.pop()}return T},i.prototype.collides=function(_){var x=this.data;if(!E(_,x))return!1;for(var T=[];x;){for(var w=0;w<x.children.length;w++){var R=x.children[w],z=x.leaf?this.toBBox(R):R;if(E(_,z)){if(x.leaf||v(_,z))return!0;T.push(R)}}x=T.pop()}return!1},i.prototype.load=function(_){if(!_||!_.length)return this;if(_.length<this._minEntries){for(var x=0;x<_.length;x++)this.insert(_[x]);return this}var T=this._build(_.slice(),0,_.length-1,0);if(this.data.children.length)if(this.data.height===T.height)this._splitRoot(this.data,T);else{if(this.data.height<T.height){var w=this.data;this.data=T,T=w}this._insert(T,this.data.height-T.height-1,!0)}else this.data=T;return this},i.prototype.insert=function(_){return _&&this._insert(_,this.data.height-1),this},i.prototype.clear=function(){return this.data=M([]),this},i.prototype.remove=function(_,x){if(!_)return this;for(var T,w,R,z=this.data,U=this.toBBox(_),D=[],P=[];z||D.length;){if(z||(z=D.pop(),w=D[D.length-1],T=P.pop(),R=!0),z.leaf){var ct=s(_,z.children,x);if(ct!==-1)return z.children.splice(ct,1),D.push(z),this._condense(D),this}R||z.leaf||!v(z,U)?w?(T++,z=w.children[T],R=!1):z=null:(D.push(z),P.push(T),T=0,w=z,z=z.children[0])}return this},i.prototype.toBBox=function(_){return _},i.prototype.compareMinX=function(_,x){return _.minX-x.minX},i.prototype.compareMinY=function(_,x){return _.minY-x.minY},i.prototype.toJSON=function(){return this.data},i.prototype.fromJSON=function(_){return this.data=_,this},i.prototype._all=function(_,x){for(var T=[];_;)_.leaf?x.push.apply(x,_.children):T.push.apply(T,_.children),_=T.pop();return x},i.prototype._build=function(_,x,T,w){var R,z=T-x+1,U=this._maxEntries;if(z<=U)return u(R=M(_.slice(x,T+1)),this.toBBox),R;w||(w=Math.ceil(Math.log(z)/Math.log(U)),U=Math.ceil(z/Math.pow(U,w-1))),(R=M([])).leaf=!1,R.height=w;var D=Math.ceil(z/U),P=D*Math.ceil(Math.sqrt(U));A(_,x,T,P,this.compareMinX);for(var ct=x;ct<=T;ct+=P){var L=Math.min(ct+P-1,T);A(_,ct,L,D,this.compareMinY);for(var W=ct;W<=L;W+=D){var V=Math.min(W+D-1,L);R.children.push(this._build(_,W,V,w-1))}}return u(R,this.toBBox),R},i.prototype._chooseSubtree=function(_,x,T,w){for(;w.push(x),!x.leaf&&w.length-1!==T;){for(var R=1/0,z=1/0,U=void 0,D=0;D<x.children.length;D++){var P=x.children[D],ct=g(P),L=(W=_,V=P,(Math.max(V.maxX,W.maxX)-Math.min(V.minX,W.minX))*(Math.max(V.maxY,W.maxY)-Math.min(V.minY,W.minY))-ct);L<z?(z=L,R=ct<R?ct:R,U=P):L===z&&ct<R&&(R=ct,U=P)}x=U||x.children[0]}var W,V;return x},i.prototype._insert=function(_,x,T){var w=T?_:this.toBBox(_),R=[],z=this._chooseSubtree(w,this.data,x,R);for(z.children.push(_),f(z,w);x>=0&&R[x].children.length>this._maxEntries;)this._split(R,x),x--;this._adjustParentBBoxes(w,R,x)},i.prototype._split=function(_,x){var T=_[x],w=T.children.length,R=this._minEntries;this._chooseSplitAxis(T,R,w);var z=this._chooseSplitIndex(T,R,w),U=M(T.children.splice(z,T.children.length-z));U.height=T.height,U.leaf=T.leaf,u(T,this.toBBox),u(U,this.toBBox),x?_[x-1].children.push(U):this._splitRoot(T,U)},i.prototype._splitRoot=function(_,x){this.data=M([_,x]),this.data.height=_.height+1,this.data.leaf=!1,u(this.data,this.toBBox)},i.prototype._chooseSplitIndex=function(_,x,T){for(var w,R,z,U,D,P,ct,L=1/0,W=1/0,V=x;V<=T-x;V++){var Mt=c(_,0,V,this.toBBox),$=c(_,V,T,this.toBBox),gt=(R=Mt,z=$,U=void 0,D=void 0,P=void 0,ct=void 0,U=Math.max(R.minX,z.minX),D=Math.max(R.minY,z.minY),P=Math.min(R.maxX,z.maxX),ct=Math.min(R.maxY,z.maxY),Math.max(0,P-U)*Math.max(0,ct-D)),ft=g(Mt)+g($);gt<L?(L=gt,w=V,W=ft<W?ft:W):gt===L&&ft<W&&(W=ft,w=V)}return w||T-x},i.prototype._chooseSplitAxis=function(_,x,T){var w=_.leaf?this.compareMinX:p,R=_.leaf?this.compareMinY:d;this._allDistMargin(_,x,T,w)<this._allDistMargin(_,x,T,R)&&_.children.sort(w)},i.prototype._allDistMargin=function(_,x,T,w){_.children.sort(w);for(var R=this.toBBox,z=c(_,0,x,R),U=c(_,T-x,T,R),D=y(z)+y(U),P=x;P<T-x;P++){var ct=_.children[P];f(z,_.leaf?R(ct):ct),D+=y(z)}for(var L=T-x-1;L>=x;L--){var W=_.children[L];f(U,_.leaf?R(W):W),D+=y(U)}return D},i.prototype._adjustParentBBoxes=function(_,x,T){for(var w=T;w>=0;w--)f(x[w],_)},i.prototype._condense=function(_){for(var x=_.length-1,T=void 0;x>=0;x--)_[x].children.length===0?x>0?(T=_[x-1].children).splice(T.indexOf(_[x]),1):this.clear():u(_[x],this.toBBox)},i})});var PP=X((d_,g_)=>{(function(n,t){typeof d_=="object"&&typeof g_!="undefined"?g_.exports=t():typeof define=="function"&&define.amd?define(t):(n=n||self,n.TinyQueue=t())})(d_,function(){"use strict";var n=function(i,s){if(i===void 0&&(i=[]),s===void 0&&(s=t),this.data=i,this.length=this.data.length,this.compare=s,this.length>0)for(var u=(this.length>>1)-1;u>=0;u--)this._down(u)};n.prototype.push=function(i){this.data.push(i),this.length++,this._up(this.length-1)},n.prototype.pop=function(){if(this.length!==0){var i=this.data[0],s=this.data.pop();return this.length--,this.length>0&&(this.data[0]=s,this._down(0)),i}},n.prototype.peek=function(){return this.data[0]},n.prototype._up=function(i){for(var s=this,u=s.data,c=s.compare,f=u[i];i>0;){var p=i-1>>1,d=u[p];if(c(f,d)>=0)break;u[i]=d,i=p}u[i]=f},n.prototype._down=function(i){for(var s=this,u=s.data,c=s.compare,f=this.length>>1,p=u[i];i<f;){var d=(i<<1)+1,g=u[d],y=d+1;if(y<this.length&&c(u[y],g)<0&&(d=y,g=u[y]),c(g,p)>=0)break;u[i]=g,i=d}u[i]=p};function t(e,i){return e<i?-1:e>i?1:0}return n})});var LP=X((Qot,RP)=>{RP.exports=function(t,e,i,s){var u=t[0],c=t[1],f=!1;i===void 0&&(i=0),s===void 0&&(s=e.length);for(var p=(s-i)/2,d=0,g=p-1;d<p;g=d++){var y=e[i+d*2+0],v=e[i+d*2+1],E=e[i+g*2+0],M=e[i+g*2+1],A=v>c!=M>c&&u<(E-y)*(c-v)/(M-v)+y;A&&(f=!f)}return f}});var OP=X((tst,NP)=>{NP.exports=function(t,e,i,s){var u=t[0],c=t[1],f=!1;i===void 0&&(i=0),s===void 0&&(s=e.length);for(var p=s-i,d=0,g=p-1;d<p;g=d++){var y=e[d+i][0],v=e[d+i][1],E=e[g+i][0],M=e[g+i][1],A=v>c!=M>c&&u<(E-y)*(c-v)/(M-v)+y;A&&(f=!f)}return f}});var UP=X((est,_d)=>{var DP=LP(),FP=OP();_d.exports=function(t,e,i,s){return e.length>0&&Array.isArray(e[0])?FP(t,e,i,s):DP(t,e,i,s)};_d.exports.nested=FP;_d.exports.flat=DP});var zP=X((xd,BP)=>{(function(n,t){typeof xd=="object"&&typeof BP!="undefined"?t(xd):typeof define=="function"&&define.amd?define(["exports"],t):t((n=n||self).predicates={})})(xd,function(n){"use strict";let e=33306690738754706e-32;function i(E,M,A,_,x){let T,w,R,z,U=M[0],D=_[0],P=0,ct=0;D>U==D>-U?(T=U,U=M[++P]):(T=D,D=_[++ct]);let L=0;if(P<E&&ct<A)for(D>U==D>-U?(R=T-((w=U+T)-U),U=M[++P]):(R=T-((w=D+T)-D),D=_[++ct]),T=w,R!==0&&(x[L++]=R);P<E&&ct<A;)D>U==D>-U?(R=T-((w=T+U)-(z=w-T))+(U-z),U=M[++P]):(R=T-((w=T+D)-(z=w-T))+(D-z),D=_[++ct]),T=w,R!==0&&(x[L++]=R);for(;P<E;)R=T-((w=T+U)-(z=w-T))+(U-z),U=M[++P],T=w,R!==0&&(x[L++]=R);for(;ct<A;)R=T-((w=T+D)-(z=w-T))+(D-z),D=_[++ct],T=w,R!==0&&(x[L++]=R);return T===0&&L!==0||(x[L++]=T),L}function s(E){return new Float64Array(E)}let u=33306690738754716e-32,c=22204460492503146e-32,f=11093356479670487e-47,p=s(4),d=s(8),g=s(12),y=s(16),v=s(4);n.orient2d=function(E,M,A,_,x,T){let w=(M-T)*(A-x),R=(E-x)*(_-T),z=w-R;if(w===0||R===0||w>0!=R>0)return z;let U=Math.abs(w+R);return Math.abs(z)>=u*U?z:-function(D,P,ct,L,W,V,Mt){let $,gt,ft,vt,it,lt,H,At,It,Kt,nt,bt,Vt,$t,Ut,Gt,Ct,ee,Z=D-W,Dt=ct-W,_t=P-V,Nt=L-V;it=(Ut=(At=Z-(H=(lt=134217729*Z)-(lt-Z)))*(Kt=Nt-(It=(lt=134217729*Nt)-(lt-Nt)))-(($t=Z*Nt)-H*It-At*It-H*Kt))-(nt=Ut-(Ct=(At=_t-(H=(lt=134217729*_t)-(lt-_t)))*(Kt=Dt-(It=(lt=134217729*Dt)-(lt-Dt)))-((Gt=_t*Dt)-H*It-At*It-H*Kt))),p[0]=Ut-(nt+it)+(it-Ct),it=(Vt=$t-((bt=$t+nt)-(it=bt-$t))+(nt-it))-(nt=Vt-Gt),p[1]=Vt-(nt+it)+(it-Gt),it=(ee=bt+nt)-bt,p[2]=bt-(ee-it)+(nt-it),p[3]=ee;let wt=function(Y,N){let xt=N[0];for(let St=1;St<Y;St++)xt+=N[St];return xt}(4,p),Ht=c*Mt;if(wt>=Ht||-wt>=Ht||($=D-(Z+(it=D-Z))+(it-W),ft=ct-(Dt+(it=ct-Dt))+(it-W),gt=P-(_t+(it=P-_t))+(it-V),vt=L-(Nt+(it=L-Nt))+(it-V),$===0&&gt===0&&ft===0&&vt===0)||(Ht=f*Mt+e*Math.abs(wt),(wt+=Z*vt+Nt*$-(_t*ft+Dt*gt))>=Ht||-wt>=Ht))return wt;it=(Ut=(At=$-(H=(lt=134217729*$)-(lt-$)))*(Kt=Nt-(It=(lt=134217729*Nt)-(lt-Nt)))-(($t=$*Nt)-H*It-At*It-H*Kt))-(nt=Ut-(Ct=(At=gt-(H=(lt=134217729*gt)-(lt-gt)))*(Kt=Dt-(It=(lt=134217729*Dt)-(lt-Dt)))-((Gt=gt*Dt)-H*It-At*It-H*Kt))),v[0]=Ut-(nt+it)+(it-Ct),it=(Vt=$t-((bt=$t+nt)-(it=bt-$t))+(nt-it))-(nt=Vt-Gt),v[1]=Vt-(nt+it)+(it-Gt),it=(ee=bt+nt)-bt,v[2]=bt-(ee-it)+(nt-it),v[3]=ee;let Xt=i(4,p,4,v,d);it=(Ut=(At=Z-(H=(lt=134217729*Z)-(lt-Z)))*(Kt=vt-(It=(lt=134217729*vt)-(lt-vt)))-(($t=Z*vt)-H*It-At*It-H*Kt))-(nt=Ut-(Ct=(At=_t-(H=(lt=134217729*_t)-(lt-_t)))*(Kt=ft-(It=(lt=134217729*ft)-(lt-ft)))-((Gt=_t*ft)-H*It-At*It-H*Kt))),v[0]=Ut-(nt+it)+(it-Ct),it=(Vt=$t-((bt=$t+nt)-(it=bt-$t))+(nt-it))-(nt=Vt-Gt),v[1]=Vt-(nt+it)+(it-Gt),it=(ee=bt+nt)-bt,v[2]=bt-(ee-it)+(nt-it),v[3]=ee;let Pt=i(Xt,d,4,v,g);it=(Ut=(At=$-(H=(lt=134217729*$)-(lt-$)))*(Kt=vt-(It=(lt=134217729*vt)-(lt-vt)))-(($t=$*vt)-H*It-At*It-H*Kt))-(nt=Ut-(Ct=(At=gt-(H=(lt=134217729*gt)-(lt-gt)))*(Kt=ft-(It=(lt=134217729*ft)-(lt-ft)))-((Gt=gt*ft)-H*It-At*It-H*Kt))),v[0]=Ut-(nt+it)+(it-Ct),it=(Vt=$t-((bt=$t+nt)-(it=bt-$t))+(nt-it))-(nt=Vt-Gt),v[1]=Vt-(nt+it)+(it-Gt),it=(ee=bt+nt)-bt,v[2]=bt-(ee-it)+(nt-it),v[3]=ee;let ne=i(Pt,g,4,v,y);return y[ne-1]}(E,M,A,_,x,T,U)},n.orient2dfast=function(E,M,A,_,x,T){return(M-T)*(A-x)-(E-x)*(_-T)},Object.defineProperty(n,"__esModule",{value:!0})})});var WP=X((nst,__)=>{"use strict";var GP=p_(),Sd=PP(),o$=UP(),s$=zP().orient2d;Sd.default&&(Sd=Sd.default);__.exports=HP;__.exports.default=HP;function HP(n,t,e){t=Math.max(0,t===void 0?2:t),e=e||0;var i=f$(n),s=new GP(16);s.toBBox=function(T){return{minX:T[0],minY:T[1],maxX:T[0],maxY:T[1]}},s.compareMinX=function(T,w){return T[0]-w[0]},s.compareMinY=function(T,w){return T[1]-w[1]},s.load(n);for(var u=[],c=0,f;c<i.length;c++){var p=i[c];s.remove(p),f=VP(p,f),u.push(f)}var d=new GP(16);for(c=0;c<u.length;c++)d.insert(m_(u[c]));for(var g=t*t,y=e*e;u.length;){var v=u.shift(),E=v.p,M=v.next.p,A=y_(E,M);if(!(A<y)){var _=A/g;p=a$(s,v.prev.p,E,M,v.next.next.p,_,d),p&&Math.min(y_(p,E),y_(p,M))<=_&&(u.push(v),u.push(VP(p,v)),s.remove(p),d.remove(v),d.insert(m_(v)),d.insert(m_(v.next)))}}v=f;var x=[];do x.push(v.p),v=v.next;while(v!==f);return x.push(v.p),x}function a$(n,t,e,i,s,u,c){for(var f=new Sd([],u$),p=n.data;p;){for(var d=0;d<p.children.length;d++){var g=p.children[d],y=p.leaf?v_(g,e,i):l$(e,i,g);y>u||f.push({node:g,dist:y})}for(;f.length&&!f.peek().node.children;){var v=f.pop(),E=v.node,M=v_(E,t,e),A=v_(E,i,s);if(v.dist<M&&v.dist<A&&qP(e,E,c)&&qP(i,E,c))return E}p=f.pop(),p&&(p=p.node)}return null}function u$(n,t){return n.dist-t.dist}function l$(n,t,e){if(kP(n,e)||kP(t,e))return 0;var i=Ed(n[0],n[1],t[0],t[1],e.minX,e.minY,e.maxX,e.minY);if(i===0)return 0;var s=Ed(n[0],n[1],t[0],t[1],e.minX,e.minY,e.minX,e.maxY);if(s===0)return 0;var u=Ed(n[0],n[1],t[0],t[1],e.maxX,e.minY,e.maxX,e.maxY);if(u===0)return 0;var c=Ed(n[0],n[1],t[0],t[1],e.minX,e.maxY,e.maxX,e.maxY);return c===0?0:Math.min(i,s,u,c)}function kP(n,t){return n[0]>=t.minX&&n[0]<=t.maxX&&n[1]>=t.minY&&n[1]<=t.maxY}function qP(n,t,e){for(var i=Math.min(n[0],t[0]),s=Math.min(n[1],t[1]),u=Math.max(n[0],t[0]),c=Math.max(n[1],t[1]),f=e.search({minX:i,minY:s,maxX:u,maxY:c}),p=0;p<f.length;p++)if(c$(f[p].p,f[p].next.p,n,t))return!1;return!0}function Bl(n,t,e){return s$(n[0],n[1],t[0],t[1],e[0],e[1])}function c$(n,t,e,i){return n!==i&&t!==e&&Bl(n,t,e)>0!=Bl(n,t,i)>0&&Bl(e,i,n)>0!=Bl(e,i,t)>0}function m_(n){var t=n.p,e=n.next.p;return n.minX=Math.min(t[0],e[0]),n.minY=Math.min(t[1],e[1]),n.maxX=Math.max(t[0],e[0]),n.maxY=Math.max(t[1],e[1]),n}function f$(n){for(var t=n[0],e=n[0],i=n[0],s=n[0],u=0;u<n.length;u++){var c=n[u];c[0]<t[0]&&(t=c),c[0]>i[0]&&(i=c),c[1]<e[1]&&(e=c),c[1]>s[1]&&(s=c)}var f=[t,e,i,s],p=f.slice();for(u=0;u<n.length;u++)o$(n[u],f)||p.push(n[u]);return p$(p)}function VP(n,t){var e={p:n,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return t?(e.next=t.next,e.prev=t,t.next.prev=e,t.next=e):(e.prev=e,e.next=e),e}function y_(n,t){var e=n[0]-t[0],i=n[1]-t[1];return e*e+i*i}function v_(n,t,e){var i=t[0],s=t[1],u=e[0]-i,c=e[1]-s;if(u!==0||c!==0){var f=((n[0]-i)*u+(n[1]-s)*c)/(u*u+c*c);f>1?(i=e[0],s=e[1]):f>0&&(i+=u*f,s+=c*f)}return u=n[0]-i,c=n[1]-s,u*u+c*c}function Ed(n,t,e,i,s,u,c,f){var p=e-n,d=i-t,g=c-s,y=f-u,v=n-s,E=t-u,M=p*p+d*d,A=p*g+d*y,_=g*g+y*y,x=p*v+d*E,T=g*v+y*E,w=M*_-A*A,R,z,U,D,P=w,ct=w;w===0?(z=0,P=1,D=T,ct=_):(z=A*T-_*x,D=M*T-A*x,z<0?(z=0,D=T,ct=_):z>P&&(z=P,D=T+A,ct=_)),D<0?(D=0,-x<0?z=0:-x>M?z=P:(z=-x,P=M)):D>ct&&(D=ct,-x+A<0?z=0:-x+A>M?z=P:(z=-x+A,P=M)),R=z===0?0:z/P,U=D===0?0:D/ct;var L=(1-R)*n+R*e,W=(1-R)*t+R*i,V=(1-U)*s+U*c,Mt=(1-U)*u+U*f,$=V-L,gt=Mt-W;return $*$+gt*gt}function h$(n,t){return n[0]===t[0]?n[1]-t[1]:n[0]-t[0]}function p$(n){n.sort(h$);for(var t=[],e=0;e<n.length;e++){for(;t.length>=2&&Bl(t[t.length-2],t[t.length-1],n[e])<=0;)t.pop();t.push(n[e])}for(var i=[],s=n.length-1;s>=0;s--){for(;i.length>=2&&Bl(i[i.length-2],i[i.length-1],n[s])<=0;)i.pop();i.push(n[s])}return i.pop(),t.pop(),t.concat(i)}});var jP=X((E_,S_)=>{(function(n,t){typeof E_=="object"&&typeof S_!="undefined"?S_.exports=t():typeof define=="function"&&define.amd?define(t):n.quickselect=t()})(E_,function(){"use strict";function n(s,u,c,f,p){t(s,u,c||0,f||s.length-1,p||i)}function t(s,u,c,f,p){for(;f>c;){if(f-c>600){var d=f-c+1,g=u-c+1,y=Math.log(d),v=.5*Math.exp(2*y/3),E=.5*Math.sqrt(y*v*(d-v)/d)*(g-d/2<0?-1:1),M=Math.max(c,Math.floor(u-g*v/d+E)),A=Math.min(f,Math.floor(u+(d-g)*v/d+E));t(s,u,M,A,p)}var _=s[u],x=c,T=f;for(e(s,c,u),p(s[f],_)>0&&e(s,c,f);x<T;){for(e(s,x,T),x++,T--;p(s[x],_)<0;)x++;for(;p(s[T],_)>0;)T--}p(s[c],_)===0?e(s,c,T):(T++,e(s,T,f)),T<=u&&(c=T+1),u<=T&&(f=T-1)}}function e(s,u,c){var f=s[u];s[u]=s[c],s[c]=f}function i(s,u){return s<u?-1:s>u?1:0}return n})});var A_=X((Cut,b_)=>{"use strict";b_.exports=Ef;b_.exports.default=Ef;var A$=jP();function Ef(n,t){if(!(this instanceof Ef))return new Ef(n,t);this._maxEntries=Math.max(4,n||9),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),t&&this._initFormat(t),this.clear()}Ef.prototype={all:function(){return this._all(this.data,[])},search:function(n){var t=this.data,e=[],i=this.toBBox;if(!Md(n,t))return e;for(var s=[],u,c,f,p;t;){for(u=0,c=t.children.length;u<c;u++)f=t.children[u],p=t.leaf?i(f):f,Md(n,p)&&(t.leaf?e.push(f):M_(n,p)?this._all(f,e):s.push(f));t=s.pop()}return e},collides:function(n){var t=this.data,e=this.toBBox;if(!Md(n,t))return!1;for(var i=[],s,u,c,f;t;){for(s=0,u=t.children.length;s<u;s++)if(c=t.children[s],f=t.leaf?e(c):c,Md(n,f)){if(t.leaf||M_(n,f))return!0;i.push(c)}t=i.pop()}return!1},load:function(n){if(!(n&&n.length))return this;if(n.length<this._minEntries){for(var t=0,e=n.length;t<e;t++)this.insert(n[t]);return this}var i=this._build(n.slice(),0,n.length-1,0);if(!this.data.children.length)this.data=i;else if(this.data.height===i.height)this._splitRoot(this.data,i);else{if(this.data.height<i.height){var s=this.data;this.data=i,i=s}this._insert(i,this.data.height-i.height-1,!0)}return this},insert:function(n){return n&&this._insert(n,this.data.height-1),this},clear:function(){return this.data=kl([]),this},remove:function(n,t){if(!n)return this;for(var e=this.data,i=this.toBBox(n),s=[],u=[],c,f,p,d;e||s.length;){if(e||(e=s.pop(),f=s[s.length-1],c=u.pop(),d=!0),e.leaf&&(p=T$(n,e.children,t),p!==-1))return e.children.splice(p,1),s.push(e),this._condense(s),this;!d&&!e.leaf&&M_(e,i)?(s.push(e),u.push(c),c=0,f=e,e=e.children[0]):f?(c++,e=f.children[c],d=!1):e=null}return this},toBBox:function(n){return n},compareMinX:KP,compareMinY:QP,toJSON:function(){return this.data},fromJSON:function(n){return this.data=n,this},_all:function(n,t){for(var e=[];n;)n.leaf?t.push.apply(t,n.children):e.push.apply(e,n.children),n=e.pop();return t},_build:function(n,t,e,i){var s=e-t+1,u=this._maxEntries,c;if(s<=u)return c=kl(n.slice(t,e+1)),Gl(c,this.toBBox),c;i||(i=Math.ceil(Math.log(s)/Math.log(u)),u=Math.ceil(s/Math.pow(u,i-1))),c=kl([]),c.leaf=!1,c.height=i;var f=Math.ceil(s/u),p=f*Math.ceil(Math.sqrt(u)),d,g,y,v;for(tR(n,t,e,p,this.compareMinX),d=t;d<=e;d+=p)for(y=Math.min(d+p-1,e),tR(n,d,y,f,this.compareMinY),g=d;g<=y;g+=f)v=Math.min(g+f-1,y),c.children.push(this._build(n,g,v,i-1));return Gl(c,this.toBBox),c},_chooseSubtree:function(n,t,e,i){for(var s,u,c,f,p,d,g,y;i.push(t),!(t.leaf||i.length-1===e);){for(g=y=1/0,s=0,u=t.children.length;s<u;s++)c=t.children[s],p=w_(c),d=C$(n,c)-p,d<y?(y=d,g=p<g?p:g,f=c):d===y&&p<g&&(g=p,f=c);t=f||t.children[0]}return t},_insert:function(n,t,e){var i=this.toBBox,s=e?n:i(n),u=[],c=this._chooseSubtree(s,this.data,t,u);for(c.children.push(n),xf(c,s);t>=0&&u[t].children.length>this._maxEntries;)this._split(u,t),t--;this._adjustParentBBoxes(s,u,t)},_split:function(n,t){var e=n[t],i=e.children.length,s=this._minEntries;this._chooseSplitAxis(e,s,i);var u=this._chooseSplitIndex(e,s,i),c=kl(e.children.splice(u,e.children.length-u));c.height=e.height,c.leaf=e.leaf,Gl(e,this.toBBox),Gl(c,this.toBBox),t?n[t-1].children.push(c):this._splitRoot(e,c)},_splitRoot:function(n,t){this.data=kl([n,t]),this.data.height=n.height+1,this.data.leaf=!1,Gl(this.data,this.toBBox)},_chooseSplitIndex:function(n,t,e){var i,s,u,c,f,p,d,g;for(p=d=1/0,i=t;i<=e-t;i++)s=_f(n,0,i,this.toBBox),u=_f(n,i,e,this.toBBox),c=I$(s,u),f=w_(s)+w_(u),c<p?(p=c,g=i,d=f<d?f:d):c===p&&f<d&&(d=f,g=i);return g},_chooseSplitAxis:function(n,t,e){var i=n.leaf?this.compareMinX:KP,s=n.leaf?this.compareMinY:QP,u=this._allDistMargin(n,t,e,i),c=this._allDistMargin(n,t,e,s);u<c&&n.children.sort(i)},_allDistMargin:function(n,t,e,i){n.children.sort(i);var s=this.toBBox,u=_f(n,0,t,s),c=_f(n,e-t,e,s),f=wd(u)+wd(c),p,d;for(p=t;p<e-t;p++)d=n.children[p],xf(u,n.leaf?s(d):d),f+=wd(u);for(p=e-t-1;p>=t;p--)d=n.children[p],xf(c,n.leaf?s(d):d),f+=wd(c);return f},_adjustParentBBoxes:function(n,t,e){for(var i=e;i>=0;i--)xf(t[i],n)},_condense:function(n){for(var t=n.length-1,e;t>=0;t--)n[t].children.length===0?t>0?(e=n[t-1].children,e.splice(e.indexOf(n[t]),1)):this.clear():Gl(n[t],this.toBBox)},_initFormat:function(n){var t=["return a"," - b",";"];this.compareMinX=new Function("a","b",t.join(n[0])),this.compareMinY=new Function("a","b",t.join(n[1])),this.toBBox=new Function("a","return {minX: a"+n[0]+", minY: a"+n[1]+", maxX: a"+n[2]+", maxY: a"+n[3]+"};")}};function T$(n,t,e){if(!e)return t.indexOf(n);for(var i=0;i<t.length;i++)if(e(n,t[i]))return i;return-1}function Gl(n,t){_f(n,0,n.children.length,t,n)}function _f(n,t,e,i,s){s||(s=kl(null)),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(var u=t,c;u<e;u++)c=n.children[u],xf(s,n.leaf?i(c):c);return s}function xf(n,t){return n.minX=Math.min(n.minX,t.minX),n.minY=Math.min(n.minY,t.minY),n.maxX=Math.max(n.maxX,t.maxX),n.maxY=Math.max(n.maxY,t.maxY),n}function KP(n,t){return n.minX-t.minX}function QP(n,t){return n.minY-t.minY}function w_(n){return(n.maxX-n.minX)*(n.maxY-n.minY)}function wd(n){return n.maxX-n.minX+(n.maxY-n.minY)}function C$(n,t){return(Math.max(t.maxX,n.maxX)-Math.min(t.minX,n.minX))*(Math.max(t.maxY,n.maxY)-Math.min(t.minY,n.minY))}function I$(n,t){var e=Math.max(n.minX,t.minX),i=Math.max(n.minY,t.minY),s=Math.min(n.maxX,t.maxX),u=Math.min(n.maxY,t.maxY);return Math.max(0,s-e)*Math.max(0,u-i)}function M_(n,t){return n.minX<=t.minX&&n.minY<=t.minY&&t.maxX<=n.maxX&&t.maxY<=n.maxY}function Md(n,t){return t.minX<=n.maxX&&t.minY<=n.maxY&&t.maxX>=n.minX&&t.maxY>=n.minY}function kl(n){return{children:n,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function tR(n,t,e,i,s){for(var u=[t,e],c;u.length;)e=u.pop(),t=u.pop(),!(e-t<=i)&&(c=t+Math.ceil((e-t)/i/2)*i,A$(n,c,t,e,s),u.push(t,c,c,e))}});var sR=X((klt,L_)=>{"use strict";L_.exports=Cd;L_.exports.default=Cd;function Cd(n,t,e){e=e||2;var i=t&&t.length,s=i?t[0]*e:n.length,u=rR(n,0,s,e,!0),c=[];if(!u||u.next===u.prev)return c;var f,p,d,g,y,v,E;if(i&&(u=G$(n,t,u,e)),n.length>80*e){f=d=n[0],p=g=n[1];for(var M=e;M<s;M+=e)y=n[M],v=n[M+1],y<f&&(f=y),v<p&&(p=v),y>d&&(d=y),v>g&&(g=v);E=Math.max(d-f,g-p),E=E!==0?32767/E:0}return Mf(u,c,e,f,p,E,0),c}function rR(n,t,e,i,s){var u,c;if(s===R_(n,t,e,i)>0)for(u=t;u<e;u+=i)c=nR(u,n[u],n[u+1],c);else for(u=e-i;u>=t;u-=i)c=nR(u,n[u],n[u+1],c);return c&&Id(c,c.next)&&(Af(c),c=c.next),c}function gu(n,t){if(!n)return n;t||(t=n);var e=n,i;do if(i=!1,!e.steiner&&(Id(e,e.next)||tr(e.prev,e,e.next)===0)){if(Af(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function Mf(n,t,e,i,s,u,c){if(n){!c&&u&&W$(n,i,s,u);for(var f=n,p,d;n.prev!==n.next;){if(p=n.prev,d=n.next,u?U$(n,i,s,u):F$(n)){t.push(p.i/e|0),t.push(n.i/e|0),t.push(d.i/e|0),Af(n),n=d.next,f=d.next;continue}if(n=d,n===f){c?c===1?(n=B$(gu(n),t,e),Mf(n,t,e,i,s,u,2)):c===2&&z$(n,t,e,i,s,u):Mf(gu(n),t,e,i,s,u,1);break}}}}function F$(n){var t=n.prev,e=n,i=n.next;if(tr(t,e,i)>=0)return!1;for(var s=t.x,u=e.x,c=i.x,f=t.y,p=e.y,d=i.y,g=s<u?s<c?s:c:u<c?u:c,y=f<p?f<d?f:d:p<d?p:d,v=s>u?s>c?s:c:u>c?u:c,E=f>p?f>d?f:d:p>d?p:d,M=i.next;M!==t;){if(M.x>=g&&M.x<=v&&M.y>=y&&M.y<=E&&Hl(s,f,u,p,c,d,M.x,M.y)&&tr(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function U$(n,t,e,i){var s=n.prev,u=n,c=n.next;if(tr(s,u,c)>=0)return!1;for(var f=s.x,p=u.x,d=c.x,g=s.y,y=u.y,v=c.y,E=f<p?f<d?f:d:p<d?p:d,M=g<y?g<v?g:v:y<v?y:v,A=f>p?f>d?f:d:p>d?p:d,_=g>y?g>v?g:v:y>v?y:v,x=I_(E,M,t,e,i),T=I_(A,_,t,e,i),w=n.prevZ,R=n.nextZ;w&&w.z>=x&&R&&R.z<=T;){if(w.x>=E&&w.x<=A&&w.y>=M&&w.y<=_&&w!==s&&w!==c&&Hl(f,g,p,y,d,v,w.x,w.y)&&tr(w.prev,w,w.next)>=0||(w=w.prevZ,R.x>=E&&R.x<=A&&R.y>=M&&R.y<=_&&R!==s&&R!==c&&Hl(f,g,p,y,d,v,R.x,R.y)&&tr(R.prev,R,R.next)>=0))return!1;R=R.nextZ}for(;w&&w.z>=x;){if(w.x>=E&&w.x<=A&&w.y>=M&&w.y<=_&&w!==s&&w!==c&&Hl(f,g,p,y,d,v,w.x,w.y)&&tr(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;R&&R.z<=T;){if(R.x>=E&&R.x<=A&&R.y>=M&&R.y<=_&&R!==s&&R!==c&&Hl(f,g,p,y,d,v,R.x,R.y)&&tr(R.prev,R,R.next)>=0)return!1;R=R.nextZ}return!0}function B$(n,t,e){var i=n;do{var s=i.prev,u=i.next.next;!Id(s,u)&&iR(s,i,i.next,u)&&bf(s,u)&&bf(u,s)&&(t.push(s.i/e|0),t.push(i.i/e|0),t.push(u.i/e|0),Af(i),Af(i.next),i=n=u),i=i.next}while(i!==n);return gu(i)}function z$(n,t,e,i,s,u){var c=n;do{for(var f=c.next.next;f!==c.prev;){if(c.i!==f.i&&$$(c,f)){var p=oR(c,f);c=gu(c,c.next),p=gu(p,p.next),Mf(c,t,e,i,s,u,0),Mf(p,t,e,i,s,u,0);return}f=f.next}c=c.next}while(c!==n)}function G$(n,t,e,i){var s=[],u,c,f,p,d;for(u=0,c=t.length;u<c;u++)f=t[u]*i,p=u<c-1?t[u+1]*i:n.length,d=rR(n,f,p,i,!1),d===d.next&&(d.steiner=!0),s.push(Y$(d));for(s.sort(k$),u=0;u<s.length;u++)e=q$(s[u],e);return e}function k$(n,t){return n.x-t.x}function q$(n,t){var e=V$(n,t);if(!e)return t;var i=oR(e,n);return gu(i,i.next),gu(e,e.next)}function V$(n,t){var e=t,i=n.x,s=n.y,u=-1/0,c;do{if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){var f=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(f<=i&&f>u&&(u=f,c=e.x<e.next.x?e:e.next,f===i))return c}e=e.next}while(e!==t);if(!c)return null;var p=c,d=c.x,g=c.y,y=1/0,v;e=c;do i>=e.x&&e.x>=d&&i!==e.x&&Hl(s<g?i:u,s,d,g,s<g?u:i,s,e.x,e.y)&&(v=Math.abs(s-e.y)/(i-e.x),bf(e,n)&&(v<y||v===y&&(e.x>c.x||e.x===c.x&&H$(c,e)))&&(c=e,y=v)),e=e.next;while(e!==p);return c}function H$(n,t){return tr(n.prev,n,t.prev)<0&&tr(t.next,n,n.next)<0}function W$(n,t,e,i){var s=n;do s.z===0&&(s.z=I_(s.x,s.y,t,e,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==n);s.prevZ.nextZ=null,s.prevZ=null,X$(s)}function X$(n){var t,e,i,s,u,c,f,p,d=1;do{for(e=n,n=null,u=null,c=0;e;){for(c++,i=e,f=0,t=0;t<d&&(f++,i=i.nextZ,!!i);t++);for(p=d;f>0||p>0&&i;)f!==0&&(p===0||!i||e.z<=i.z)?(s=e,e=e.nextZ,f--):(s=i,i=i.nextZ,p--),u?u.nextZ=s:n=s,s.prevZ=u,u=s;e=i}u.nextZ=null,d*=2}while(c>1);return n}function I_(n,t,e,i,s){return n=(n-e)*s|0,t=(t-i)*s|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n|t<<1}function Y$(n){var t=n,e=n;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==n);return e}function Hl(n,t,e,i,s,u,c,f){return(s-c)*(t-f)>=(n-c)*(u-f)&&(n-c)*(i-f)>=(e-c)*(t-f)&&(e-c)*(u-f)>=(s-c)*(i-f)}function $$(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!Z$(n,t)&&(bf(n,t)&&bf(t,n)&&J$(n,t)&&(tr(n.prev,n,t.prev)||tr(n,t.prev,t))||Id(n,t)&&tr(n.prev,n,n.next)>0&&tr(t.prev,t,t.next)>0)}function tr(n,t,e){return(t.y-n.y)*(e.x-t.x)-(t.x-n.x)*(e.y-t.y)}function Id(n,t){return n.x===t.x&&n.y===t.y}function iR(n,t,e,i){var s=Td(tr(n,t,e)),u=Td(tr(n,t,i)),c=Td(tr(e,i,n)),f=Td(tr(e,i,t));return!!(s!==u&&c!==f||s===0&&Ad(n,e,t)||u===0&&Ad(n,i,t)||c===0&&Ad(e,n,i)||f===0&&Ad(e,t,i))}function Ad(n,t,e){return t.x<=Math.max(n.x,e.x)&&t.x>=Math.min(n.x,e.x)&&t.y<=Math.max(n.y,e.y)&&t.y>=Math.min(n.y,e.y)}function Td(n){return n>0?1:n<0?-1:0}function Z$(n,t){var e=n;do{if(e.i!==n.i&&e.next.i!==n.i&&e.i!==t.i&&e.next.i!==t.i&&iR(e,e.next,n,t))return!0;e=e.next}while(e!==n);return!1}function bf(n,t){return tr(n.prev,n,n.next)<0?tr(n,t,n.next)>=0&&tr(n,n.prev,t)>=0:tr(n,t,n.prev)<0||tr(n,n.next,t)<0}function J$(n,t){var e=n,i=!1,s=(n.x+t.x)/2,u=(n.y+t.y)/2;do e.y>u!=e.next.y>u&&e.next.y!==e.y&&s<(e.next.x-e.x)*(u-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==n);return i}function oR(n,t){var e=new P_(n.i,n.x,n.y),i=new P_(t.i,t.x,t.y),s=n.next,u=t.prev;return n.next=t,t.prev=n,e.next=s,s.prev=e,i.next=e,e.prev=i,u.next=i,i.prev=u,i}function nR(n,t,e,i){var s=new P_(n,t,e);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function Af(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function P_(n,t,e){this.i=n,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Cd.deviation=function(n,t,e,i){var s=t&&t.length,u=s?t[0]*e:n.length,c=Math.abs(R_(n,0,u,e));if(s)for(var f=0,p=t.length;f<p;f++){var d=t[f]*e,g=f<p-1?t[f+1]*e:n.length;c-=Math.abs(R_(n,d,g,e))}var y=0;for(f=0;f<i.length;f+=3){var v=i[f]*e,E=i[f+1]*e,M=i[f+2]*e;y+=Math.abs((n[v]-n[M])*(n[E+1]-n[v+1])-(n[v]-n[E])*(n[M+1]-n[v+1]))}return c===0&&y===0?0:Math.abs((y-c)/c)};function R_(n,t,e,i){for(var s=0,u=t,c=e-i;u<e;u+=i)s+=(n[c]-n[u])*(n[u+1]+n[c+1]),c=u;return s}Cd.flatten=function(n){for(var t=n[0][0].length,e={vertices:[],holes:[],dimensions:t},i=0,s=0;s<n.length;s++){for(var u=0;u<n[s].length;u++)for(var c=0;c<t;c++)e.vertices.push(n[s][u][c]);s>0&&(i+=n[s-1].length,e.holes.push(i))}return e}});var U_=X(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.earthRadius=63710088e-1;ge.factors={centimeters:ge.earthRadius*100,centimetres:ge.earthRadius*100,degrees:ge.earthRadius/111325,feet:ge.earthRadius*3.28084,inches:ge.earthRadius*39.37,kilometers:ge.earthRadius/1e3,kilometres:ge.earthRadius/1e3,meters:ge.earthRadius,metres:ge.earthRadius,miles:ge.earthRadius/1609.344,millimeters:ge.earthRadius*1e3,millimetres:ge.earthRadius*1e3,nauticalmiles:ge.earthRadius/1852,radians:1,yards:ge.earthRadius*1.0936};ge.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/ge.earthRadius,yards:1.0936133};ge.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function Sa(n,t,e){e===void 0&&(e={});var i={type:"Feature"};return(e.id===0||e.id)&&(i.id=e.id),e.bbox&&(i.bbox=e.bbox),i.properties=t||{},i.geometry=n,i}ge.feature=Sa;function K$(n,t,e){switch(e===void 0&&(e={}),n){case"Point":return N_(t).geometry;case"LineString":return D_(t).geometry;case"Polygon":return O_(t).geometry;case"MultiPoint":return uR(t).geometry;case"MultiLineString":return aR(t).geometry;case"MultiPolygon":return lR(t).geometry;default:throw new Error(n+" is invalid")}}ge.geometry=K$;function N_(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Pd(n[0])||!Pd(n[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:n};return Sa(i,t,e)}ge.point=N_;function Q$(n,t,e){return e===void 0&&(e={}),Rd(n.map(function(i){return N_(i,t)}),e)}ge.points=Q$;function O_(n,t,e){e===void 0&&(e={});for(var i=0,s=n;i<s.length;i++){var u=s[i];if(u.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var c=0;c<u[u.length-1].length;c++)if(u[u.length-1][c]!==u[0][c])throw new Error("First and last Position are not equivalent.")}var f={type:"Polygon",coordinates:n};return Sa(f,t,e)}ge.polygon=O_;function tZ(n,t,e){return e===void 0&&(e={}),Rd(n.map(function(i){return O_(i,t)}),e)}ge.polygons=tZ;function D_(n,t,e){if(e===void 0&&(e={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var i={type:"LineString",coordinates:n};return Sa(i,t,e)}ge.lineString=D_;function eZ(n,t,e){return e===void 0&&(e={}),Rd(n.map(function(i){return D_(i,t)}),e)}ge.lineStrings=eZ;function Rd(n,t){t===void 0&&(t={});var e={type:"FeatureCollection"};return t.id&&(e.id=t.id),t.bbox&&(e.bbox=t.bbox),e.features=n,e}ge.featureCollection=Rd;function aR(n,t,e){e===void 0&&(e={});var i={type:"MultiLineString",coordinates:n};return Sa(i,t,e)}ge.multiLineString=aR;function uR(n,t,e){e===void 0&&(e={});var i={type:"MultiPoint",coordinates:n};return Sa(i,t,e)}ge.multiPoint=uR;function lR(n,t,e){e===void 0&&(e={});var i={type:"MultiPolygon",coordinates:n};return Sa(i,t,e)}ge.multiPolygon=lR;function nZ(n,t,e){e===void 0&&(e={});var i={type:"GeometryCollection",geometries:n};return Sa(i,t,e)}ge.geometryCollection=nZ;function rZ(n,t){if(t===void 0&&(t=0),t&&!(t>=0))throw new Error("precision must be a positive number");var e=Math.pow(10,t||0);return Math.round(n*e)/e}ge.round=rZ;function cR(n,t){t===void 0&&(t="kilometers");var e=ge.factors[t];if(!e)throw new Error(t+" units is invalid");return n*e}ge.radiansToLength=cR;function F_(n,t){t===void 0&&(t="kilometers");var e=ge.factors[t];if(!e)throw new Error(t+" units is invalid");return n/e}ge.lengthToRadians=F_;function iZ(n,t){return fR(F_(n,t))}ge.lengthToDegrees=iZ;function oZ(n){var t=n%360;return t<0&&(t+=360),t}ge.bearingToAzimuth=oZ;function fR(n){var t=n%(2*Math.PI);return t*180/Math.PI}ge.radiansToDegrees=fR;function sZ(n){var t=n%360;return t*Math.PI/180}ge.degreesToRadians=sZ;function aZ(n,t,e){if(t===void 0&&(t="kilometers"),e===void 0&&(e="kilometers"),!(n>=0))throw new Error("length must be a positive number");return cR(F_(n,t),e)}ge.convertLength=aZ;function uZ(n,t,e){if(t===void 0&&(t="meters"),e===void 0&&(e="kilometers"),!(n>=0))throw new Error("area must be a positive number");var i=ge.areaFactors[t];if(!i)throw new Error("invalid original units");var s=ge.areaFactors[e];if(!s)throw new Error("invalid final units");return n/i*s}ge.convertArea=uZ;function Pd(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}ge.isNumber=Pd;function lZ(n){return!!n&&n.constructor===Object}ge.isObject=lZ;function cZ(n){if(!n)throw new Error("bbox is required");if(!Array.isArray(n))throw new Error("bbox must be an Array");if(n.length!==4&&n.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");n.forEach(function(t){if(!Pd(t))throw new Error("bbox must only contain numbers")})}ge.validateBBox=cZ;function fZ(n){if(!n)throw new Error("id is required");if(["string","number"].indexOf(typeof n)===-1)throw new Error("id must be a number or a string")}ge.validateId=fZ});var z_=X(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});var fi=U_();function Tf(n,t,e){if(n!==null)for(var i,s,u,c,f,p,d,g=0,y=0,v,E=n.type,M=E==="FeatureCollection",A=E==="Feature",_=M?n.features.length:1,x=0;x<_;x++){d=M?n.features[x].geometry:A?n.geometry:n,v=d?d.type==="GeometryCollection":!1,f=v?d.geometries.length:1;for(var T=0;T<f;T++){var w=0,R=0;if(c=v?d.geometries[T]:d,c!==null){p=c.coordinates;var z=c.type;switch(g=e&&(z==="Polygon"||z==="MultiPolygon")?1:0,z){case null:break;case"Point":if(t(p,y,x,w,R)===!1)return!1;y++,w++;break;case"LineString":case"MultiPoint":for(i=0;i<p.length;i++){if(t(p[i],y,x,w,R)===!1)return!1;y++,z==="MultiPoint"&&w++}z==="LineString"&&w++;break;case"Polygon":case"MultiLineString":for(i=0;i<p.length;i++){for(s=0;s<p[i].length-g;s++){if(t(p[i][s],y,x,w,R)===!1)return!1;y++}z==="MultiLineString"&&w++,z==="Polygon"&&R++}z==="Polygon"&&w++;break;case"MultiPolygon":for(i=0;i<p.length;i++){for(R=0,s=0;s<p[i].length;s++){for(u=0;u<p[i][s].length-g;u++){if(t(p[i][s][u],y,x,w,R)===!1)return!1;y++}R++}w++}break;case"GeometryCollection":for(i=0;i<c.geometries.length;i++)if(Tf(c.geometries[i],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function hZ(n,t,e,i){var s=e;return Tf(n,function(u,c,f,p,d){c===0&&e===void 0?s=u:s=t(s,u,c,f,p,d)},i),s}function hR(n,t){var e;switch(n.type){case"FeatureCollection":for(e=0;e<n.features.length&&t(n.features[e].properties,e)!==!1;e++);break;case"Feature":t(n.properties,0);break}}function pZ(n,t,e){var i=e;return hR(n,function(s,u){u===0&&e===void 0?i=s:i=t(i,s,u)}),i}function pR(n,t){if(n.type==="Feature")t(n,0);else if(n.type==="FeatureCollection")for(var e=0;e<n.features.length&&t(n.features[e],e)!==!1;e++);}function dZ(n,t,e){var i=e;return pR(n,function(s,u){u===0&&e===void 0?i=s:i=t(i,s,u)}),i}function gZ(n){var t=[];return Tf(n,function(e){t.push(e)}),t}function B_(n,t){var e,i,s,u,c,f,p,d,g,y,v=0,E=n.type==="FeatureCollection",M=n.type==="Feature",A=E?n.features.length:1;for(e=0;e<A;e++){for(f=E?n.features[e].geometry:M?n.geometry:n,d=E?n.features[e].properties:M?n.properties:{},g=E?n.features[e].bbox:M?n.bbox:void 0,y=E?n.features[e].id:M?n.id:void 0,p=f?f.type==="GeometryCollection":!1,c=p?f.geometries.length:1,s=0;s<c;s++){if(u=p?f.geometries[s]:f,u===null){if(t(null,v,d,g,y)===!1)return!1;continue}switch(u.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(u,v,d,g,y)===!1)return!1;break}case"GeometryCollection":{for(i=0;i<u.geometries.length;i++)if(t(u.geometries[i],v,d,g,y)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}v++}}function mZ(n,t,e){var i=e;return B_(n,function(s,u,c,f,p){u===0&&e===void 0?i=s:i=t(i,s,u,c,f,p)}),i}function Ld(n,t){B_(n,function(e,i,s,u,c){var f=e===null?null:e.type;switch(f){case null:case"Point":case"LineString":case"Polygon":return t(fi.feature(e,s,{bbox:u,id:c}),i,0)===!1?!1:void 0}var p;switch(f){case"MultiPoint":p="Point";break;case"MultiLineString":p="LineString";break;case"MultiPolygon":p="Polygon";break}for(var d=0;d<e.coordinates.length;d++){var g=e.coordinates[d],y={type:p,coordinates:g};if(t(fi.feature(y,s),i,d)===!1)return!1}})}function yZ(n,t,e){var i=e;return Ld(n,function(s,u,c){u===0&&c===0&&e===void 0?i=s:i=t(i,s,u,c)}),i}function dR(n,t){Ld(n,function(e,i,s){var u=0;if(e.geometry){var c=e.geometry.type;if(!(c==="Point"||c==="MultiPoint")){var f,p=0,d=0,g=0;if(Tf(e,function(y,v,E,M,A){if(f===void 0||i>p||M>d||A>g){f=y,p=i,d=M,g=A,u=0;return}var _=fi.lineString([f,y],e.properties);if(t(_,i,s,A,u)===!1)return!1;u++,f=y})===!1)return!1}}})}function vZ(n,t,e){var i=e,s=!1;return dR(n,function(u,c,f,p,d){s===!1&&e===void 0?i=u:i=t(i,u,c,f,p,d),s=!0}),i}function gR(n,t){if(!n)throw new Error("geojson is required");Ld(n,function(e,i,s){if(e.geometry!==null){var u=e.geometry.type,c=e.geometry.coordinates;switch(u){case"LineString":if(t(e,i,s,0,0)===!1)return!1;break;case"Polygon":for(var f=0;f<c.length;f++)if(t(fi.lineString(c[f],e.properties),i,s,f)===!1)return!1;break}}})}function _Z(n,t,e){var i=e;return gR(n,function(s,u,c,f){u===0&&e===void 0?i=s:i=t(i,s,u,c,f)}),i}function xZ(n,t){if(t=t||{},!fi.isObject(t))throw new Error("options is invalid");var e=t.featureIndex||0,i=t.multiFeatureIndex||0,s=t.geometryIndex||0,u=t.segmentIndex||0,c=t.properties,f;switch(n.type){case"FeatureCollection":e<0&&(e=n.features.length+e),c=c||n.features[e].properties,f=n.features[e].geometry;break;case"Feature":c=c||n.properties,f=n.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":f=n;break;default:throw new Error("geojson is invalid")}if(f===null)return null;var p=f.coordinates;switch(f.type){case"Point":case"MultiPoint":return null;case"LineString":return u<0&&(u=p.length+u-1),fi.lineString([p[u],p[u+1]],c,t);case"Polygon":return s<0&&(s=p.length+s),u<0&&(u=p[s].length+u-1),fi.lineString([p[s][u],p[s][u+1]],c,t);case"MultiLineString":return i<0&&(i=p.length+i),u<0&&(u=p[i].length+u-1),fi.lineString([p[i][u],p[i][u+1]],c,t);case"MultiPolygon":return i<0&&(i=p.length+i),s<0&&(s=p[i].length+s),u<0&&(u=p[i][s].length-u-1),fi.lineString([p[i][s][u],p[i][s][u+1]],c,t)}throw new Error("geojson is invalid")}function EZ(n,t){if(t=t||{},!fi.isObject(t))throw new Error("options is invalid");var e=t.featureIndex||0,i=t.multiFeatureIndex||0,s=t.geometryIndex||0,u=t.coordIndex||0,c=t.properties,f;switch(n.type){case"FeatureCollection":e<0&&(e=n.features.length+e),c=c||n.features[e].properties,f=n.features[e].geometry;break;case"Feature":c=c||n.properties,f=n.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":f=n;break;default:throw new Error("geojson is invalid")}if(f===null)return null;var p=f.coordinates;switch(f.type){case"Point":return fi.point(p,c,t);case"MultiPoint":return i<0&&(i=p.length+i),fi.point(p[i],c,t);case"LineString":return u<0&&(u=p.length+u),fi.point(p[u],c,t);case"Polygon":return s<0&&(s=p.length+s),u<0&&(u=p[s].length+u),fi.point(p[s][u],c,t);case"MultiLineString":return i<0&&(i=p.length+i),u<0&&(u=p[i].length+u),fi.point(p[i][u],c,t);case"MultiPolygon":return i<0&&(i=p.length+i),s<0&&(s=p[i].length+s),u<0&&(u=p[i][s].length-u),fi.point(p[i][s][u],c,t)}throw new Error("geojson is invalid")}Mr.coordAll=gZ;Mr.coordEach=Tf;Mr.coordReduce=hZ;Mr.featureEach=pR;Mr.featureReduce=dZ;Mr.findPoint=EZ;Mr.findSegment=xZ;Mr.flattenEach=Ld;Mr.flattenReduce=yZ;Mr.geomEach=B_;Mr.geomReduce=mZ;Mr.lineEach=gR;Mr.lineReduce=_Z;Mr.propEach=hR;Mr.propReduce=pZ;Mr.segmentEach=dR;Mr.segmentReduce=vZ});var mR=X(k_=>{"use strict";Object.defineProperty(k_,"__esModule",{value:!0});var SZ=z_();function G_(n){var t=[1/0,1/0,-1/0,-1/0];return SZ.coordEach(n,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}G_.default=G_;k_.default=G_});var Nd=X((rct,q_)=>{var ns=p_(),vR=U_(),_R=z_(),Wl=mR().default,wZ=_R.featureEach,ect=_R.coordEach,nct=vR.polygon,yR=vR.featureCollection;function xR(n){var t=new ns(n);return t.insert=function(e){if(e.type!=="Feature")throw new Error("invalid feature");return e.bbox=e.bbox?e.bbox:Wl(e),ns.prototype.insert.call(this,e)},t.load=function(e){var i=[];return Array.isArray(e)?e.forEach(function(s){if(s.type!=="Feature")throw new Error("invalid features");s.bbox=s.bbox?s.bbox:Wl(s),i.push(s)}):wZ(e,function(s){if(s.type!=="Feature")throw new Error("invalid features");s.bbox=s.bbox?s.bbox:Wl(s),i.push(s)}),ns.prototype.load.call(this,i)},t.remove=function(e,i){if(e.type!=="Feature")throw new Error("invalid feature");return e.bbox=e.bbox?e.bbox:Wl(e),ns.prototype.remove.call(this,e,i)},t.clear=function(){return ns.prototype.clear.call(this)},t.search=function(e){var i=ns.prototype.search.call(this,this.toBBox(e));return yR(i)},t.collides=function(e){return ns.prototype.collides.call(this,this.toBBox(e))},t.all=function(){var e=ns.prototype.all.call(this);return yR(e)},t.toJSON=function(){return ns.prototype.toJSON.call(this)},t.fromJSON=function(e){return ns.prototype.fromJSON.call(this,e)},t.toBBox=function(e){var i;if(e.bbox)i=e.bbox;else if(Array.isArray(e)&&e.length===4)i=e;else if(Array.isArray(e)&&e.length===6)i=[e[0],e[1],e[3],e[4]];else if(e.type==="Feature")i=Wl(e);else if(e.type==="FeatureCollection")i=Wl(e);else throw new Error("invalid geojson");return{minX:i[0],minY:i[1],maxX:i[2],maxY:i[3]}},t}q_.exports=xR;q_.exports.default=xR});var $_=X((hht,PR)=>{"use strict";var IR=Object.prototype.toString;PR.exports=function(t){var e=IR.call(t),i=e==="[object Arguments]";return i||(i=e!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&IR.call(t.callee)==="[object Function]"),i}});var zR=X((pht,BR)=>{"use strict";var UR;Object.keys||(Pf=Object.prototype.hasOwnProperty,Z_=Object.prototype.toString,RR=$_(),J_=Object.prototype.propertyIsEnumerable,LR=!J_.call({toString:null},"toString"),NR=J_.call(function(){},"prototype"),Rf=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Ud=function(n){var t=n.constructor;return t&&t.prototype===n},OR={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},DR=function(){if(typeof window=="undefined")return!1;for(var n in window)try{if(!OR["$"+n]&&Pf.call(window,n)&&window[n]!==null&&typeof window[n]=="object")try{Ud(window[n])}catch(t){return!0}}catch(t){return!0}return!1}(),FR=function(n){if(typeof window=="undefined"||!DR)return Ud(n);try{return Ud(n)}catch(t){return!1}},UR=function(t){var e=t!==null&&typeof t=="object",i=Z_.call(t)==="[object Function]",s=RR(t),u=e&&Z_.call(t)==="[object String]",c=[];if(!e&&!i&&!s)throw new TypeError("Object.keys called on a non-object");var f=NR&&i;if(u&&t.length>0&&!Pf.call(t,0))for(var p=0;p<t.length;++p)c.push(String(p));if(s&&t.length>0)for(var d=0;d<t.length;++d)c.push(String(d));else for(var g in t)!(f&&g==="prototype")&&Pf.call(t,g)&&c.push(String(g));if(LR)for(var y=FR(t),v=0;v<Rf.length;++v)!(y&&Rf[v]==="constructor")&&Pf.call(t,Rf[v])&&c.push(Rf[v]);return c});var Pf,Z_,RR,J_,LR,NR,Rf,Ud,OR,DR,FR;BR.exports=UR});var j_=X((dht,qR)=>{"use strict";var NZ=Array.prototype.slice,OZ=$_(),GR=Object.keys,Bd=GR?function(t){return GR(t)}:zR(),kR=Object.keys;Bd.shim=function(){if(Object.keys){var t=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);t||(Object.keys=function(i){return OZ(i)?kR(NZ.call(i)):kR(i)})}else Object.keys=Bd;return Object.keys||Bd};qR.exports=Bd});var K_=X((ght,VR)=>{"use strict";VR.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},e=Symbol("test"),i=Object(e);if(typeof e=="string"||Object.prototype.toString.call(e)!=="[object Symbol]"||Object.prototype.toString.call(i)!=="[object Symbol]")return!1;var s=42;t[e]=s;for(var u in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var c=Object.getOwnPropertySymbols(t);if(c.length!==1||c[0]!==e||!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var f=Object.getOwnPropertyDescriptor(t,e);if(f.value!==s||f.enumerable!==!0)return!1}return!0}});var zd=X((mht,HR)=>{"use strict";var DZ=K_();HR.exports=function(){return DZ()&&!!Symbol.toStringTag}});var Q_=X((yht,WR)=>{"use strict";WR.exports=Object});var tx=X((vht,XR)=>{"use strict";XR.exports=Error});var $R=X((_ht,YR)=>{"use strict";YR.exports=EvalError});var JR=X((xht,ZR)=>{"use strict";ZR.exports=RangeError});var KR=X((Eht,jR)=>{"use strict";jR.exports=ReferenceError});var ex=X((Sht,QR)=>{"use strict";QR.exports=SyntaxError});var mu=X((wht,tL)=>{"use strict";tL.exports=TypeError});var nL=X((Mht,eL)=>{"use strict";eL.exports=URIError});var iL=X((bht,rL)=>{"use strict";rL.exports=Math.abs});var sL=X((Aht,oL)=>{"use strict";oL.exports=Math.floor});var uL=X((Tht,aL)=>{"use strict";aL.exports=Math.max});var cL=X((Cht,lL)=>{"use strict";lL.exports=Math.min});var hL=X((Iht,fL)=>{"use strict";fL.exports=Math.pow});var dL=X((Pht,pL)=>{"use strict";pL.exports=Math.round});var mL=X((Rht,gL)=>{"use strict";gL.exports=Number.isNaN||function(t){return t!==t}});var vL=X((Lht,yL)=>{"use strict";var FZ=mL();yL.exports=function(t){return FZ(t)||t===0?t:t<0?-1:1}});var xL=X((Nht,_L)=>{"use strict";_L.exports=Object.getOwnPropertyDescriptor});var yu=X((Oht,EL)=>{"use strict";var Gd=xL();if(Gd)try{Gd([],"length")}catch(n){Gd=null}EL.exports=Gd});var Lf=X((Dht,SL)=>{"use strict";var kd=Object.defineProperty||!1;if(kd)try{kd({},"a",{value:1})}catch(n){kd=!1}SL.exports=kd});var bL=X((Fht,ML)=>{"use strict";var wL=typeof Symbol!="undefined"&&Symbol,UZ=K_();ML.exports=function(){return typeof wL!="function"||typeof Symbol!="function"||typeof wL("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:UZ()}});var nx=X((Uht,AL)=>{"use strict";AL.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var rx=X((Bht,TL)=>{"use strict";var BZ=Q_();TL.exports=BZ.getPrototypeOf||null});var PL=X((zht,IL)=>{"use strict";var zZ="Function.prototype.bind called on incompatible ",GZ=Object.prototype.toString,kZ=Math.max,qZ="[object Function]",CL=function(t,e){for(var i=[],s=0;s<t.length;s+=1)i[s]=t[s];for(var u=0;u<e.length;u+=1)i[u+t.length]=e[u];return i},VZ=function(t,e){for(var i=[],s=e||0,u=0;s<t.length;s+=1,u+=1)i[u]=t[s];return i},HZ=function(n,t){for(var e="",i=0;i<n.length;i+=1)e+=n[i],i+1<n.length&&(e+=t);return e};IL.exports=function(t){var e=this;if(typeof e!="function"||GZ.apply(e)!==qZ)throw new TypeError(zZ+e);for(var i=VZ(arguments,1),s,u=function(){if(this instanceof s){var g=e.apply(this,CL(i,arguments));return Object(g)===g?g:this}return e.apply(t,CL(i,arguments))},c=kZ(0,e.length-i.length),f=[],p=0;p<c;p++)f[p]="$"+p;if(s=Function("binder","return function ("+HZ(f,",")+"){ return binder.apply(this,arguments); }")(u),e.prototype){var d=function(){};d.prototype=e.prototype,s.prototype=new d,d.prototype=null}return s}});var Xl=X((Ght,RL)=>{"use strict";var WZ=PL();RL.exports=Function.prototype.bind||WZ});var qd=X((kht,LL)=>{"use strict";LL.exports=Function.prototype.call});var Vd=X((qht,NL)=>{"use strict";NL.exports=Function.prototype.apply});var DL=X((Vht,OL)=>{"use strict";OL.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var ix=X((Hht,FL)=>{"use strict";var XZ=Xl(),YZ=Vd(),$Z=qd(),ZZ=DL();FL.exports=ZZ||XZ.call($Z,YZ)});var Hd=X((Wht,UL)=>{"use strict";var JZ=Xl(),jZ=mu(),KZ=qd(),QZ=ix();UL.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new jZ("a function is required");return QZ(JZ,KZ,t)}});var VL=X((Xht,qL)=>{"use strict";var tJ=Hd(),BL=yu(),GL;try{GL=[].__proto__===Array.prototype}catch(n){if(!n||typeof n!="object"||!("code"in n)||n.code!=="ERR_PROTO_ACCESS")throw n}var ox=!!GL&&BL&&BL(Object.prototype,"__proto__"),kL=Object,zL=kL.getPrototypeOf;qL.exports=ox&&typeof ox.get=="function"?tJ([ox.get]):typeof zL=="function"?function(t){return zL(t==null?t:kL(t))}:!1});var sx=X((Yht,YL)=>{"use strict";var HL=nx(),WL=rx(),XL=VL();YL.exports=HL?function(t){return HL(t)}:WL?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return WL(t)}:XL?function(t){return XL(t)}:null});var ax=X(($ht,$L)=>{"use strict";var eJ=Function.prototype.call,nJ=Object.prototype.hasOwnProperty,rJ=Xl();$L.exports=rJ.call(eJ,nJ)});var cx=X((Zht,tN)=>{"use strict";var tn,iJ=Q_(),oJ=tx(),sJ=$R(),aJ=JR(),uJ=KR(),Jl=ex(),Zl=mu(),lJ=nL(),cJ=iL(),fJ=sL(),hJ=uL(),pJ=cL(),dJ=hL(),gJ=dL(),mJ=vL(),KL=Function,ux=function(n){try{return KL('"use strict"; return ('+n+").constructor;")()}catch(t){}},Nf=yu(),yJ=Lf(),lx=function(){throw new Zl},vJ=Nf?function(){try{return arguments.callee,lx}catch(n){try{return Nf(arguments,"callee").get}catch(t){return lx}}}():lx,Yl=bL()(),Gr=sx(),_J=rx(),xJ=nx(),QL=Vd(),Of=qd(),$l={},EJ=typeof Uint8Array=="undefined"||!Gr?tn:Gr(Uint8Array),vu={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?tn:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?tn:ArrayBuffer,"%ArrayIteratorPrototype%":Yl&&Gr?Gr([][Symbol.iterator]()):tn,"%AsyncFromSyncIteratorPrototype%":tn,"%AsyncFunction%":$l,"%AsyncGenerator%":$l,"%AsyncGeneratorFunction%":$l,"%AsyncIteratorPrototype%":$l,"%Atomics%":typeof Atomics=="undefined"?tn:Atomics,"%BigInt%":typeof BigInt=="undefined"?tn:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?tn:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?tn:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?tn:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":oJ,"%eval%":eval,"%EvalError%":sJ,"%Float16Array%":typeof Float16Array=="undefined"?tn:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?tn:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?tn:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?tn:FinalizationRegistry,"%Function%":KL,"%GeneratorFunction%":$l,"%Int8Array%":typeof Int8Array=="undefined"?tn:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?tn:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?tn:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Yl&&Gr?Gr(Gr([][Symbol.iterator]())):tn,"%JSON%":typeof JSON=="object"?JSON:tn,"%Map%":typeof Map=="undefined"?tn:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!Yl||!Gr?tn:Gr(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":iJ,"%Object.getOwnPropertyDescriptor%":Nf,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?tn:Promise,"%Proxy%":typeof Proxy=="undefined"?tn:Proxy,"%RangeError%":aJ,"%ReferenceError%":uJ,"%Reflect%":typeof Reflect=="undefined"?tn:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?tn:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!Yl||!Gr?tn:Gr(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?tn:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Yl&&Gr?Gr(""[Symbol.iterator]()):tn,"%Symbol%":Yl?Symbol:tn,"%SyntaxError%":Jl,"%ThrowTypeError%":vJ,"%TypedArray%":EJ,"%TypeError%":Zl,"%Uint8Array%":typeof Uint8Array=="undefined"?tn:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?tn:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?tn:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?tn:Uint32Array,"%URIError%":lJ,"%WeakMap%":typeof WeakMap=="undefined"?tn:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?tn:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?tn:WeakSet,"%Function.prototype.call%":Of,"%Function.prototype.apply%":QL,"%Object.defineProperty%":yJ,"%Object.getPrototypeOf%":_J,"%Math.abs%":cJ,"%Math.floor%":fJ,"%Math.max%":hJ,"%Math.min%":pJ,"%Math.pow%":dJ,"%Math.round%":gJ,"%Math.sign%":mJ,"%Reflect.getPrototypeOf%":xJ};if(Gr)try{null.error}catch(n){ZL=Gr(Gr(n)),vu["%Error.prototype%"]=ZL}var ZL,SJ=function n(t){var e;if(t==="%AsyncFunction%")e=ux("async function () {}");else if(t==="%GeneratorFunction%")e=ux("function* () {}");else if(t==="%AsyncGeneratorFunction%")e=ux("async function* () {}");else if(t==="%AsyncGenerator%"){var i=n("%AsyncGeneratorFunction%");i&&(e=i.prototype)}else if(t==="%AsyncIteratorPrototype%"){var s=n("%AsyncGenerator%");s&&Gr&&(e=Gr(s.prototype))}return vu[t]=e,e},JL={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Df=Xl(),Wd=ax(),wJ=Df.call(Of,Array.prototype.concat),MJ=Df.call(QL,Array.prototype.splice),jL=Df.call(Of,String.prototype.replace),Xd=Df.call(Of,String.prototype.slice),bJ=Df.call(Of,RegExp.prototype.exec),AJ=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,TJ=/\\\\(\\\\)?/g,CJ=function(t){var e=Xd(t,0,1),i=Xd(t,-1);if(e==="%"&&i!=="%")throw new Jl("invalid intrinsic syntax, expected closing \`%\`");if(i==="%"&&e!=="%")throw new Jl("invalid intrinsic syntax, expected opening \`%\`");var s=[];return jL(t,AJ,function(u,c,f,p){s[s.length]=f?jL(p,TJ,"$1"):c||u}),s},IJ=function(t,e){var i=t,s;if(Wd(JL,i)&&(s=JL[i],i="%"+s[0]+"%"),Wd(vu,i)){var u=vu[i];if(u===$l&&(u=SJ(i)),typeof u=="undefined"&&!e)throw new Zl("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:s,name:i,value:u}}throw new Jl("intrinsic "+t+" does not exist!")};tN.exports=function(t,e){if(typeof t!="string"||t.length===0)throw new Zl("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof e!="boolean")throw new Zl('"allowMissing" argument must be a boolean');if(bJ(/^%?[^%]*%?$/,t)===null)throw new Jl("\`%\` may not be present anywhere but at the beginning and end of the intrinsic name");var i=CJ(t),s=i.length>0?i[0]:"",u=IJ("%"+s+"%",e),c=u.name,f=u.value,p=!1,d=u.alias;d&&(s=d[0],MJ(i,wJ([0,1],d)));for(var g=1,y=!0;g<i.length;g+=1){var v=i[g],E=Xd(v,0,1),M=Xd(v,-1);if((E==='"'||E==="'"||E==="\`"||M==='"'||M==="'"||M==="\`")&&E!==M)throw new Jl("property names with quotes must have matching quotes");if((v==="constructor"||!y)&&(p=!0),s+="."+v,c="%"+s+"%",Wd(vu,c))f=vu[c];else if(f!=null){if(!(v in f)){if(!e)throw new Zl("base intrinsic for "+t+" exists, but the property is not available.");return}if(Nf&&g+1>=i.length){var A=Nf(f,v);y=!!A,y&&"get"in A&&!("originalValue"in A.get)?f=A.get:f=f[v]}else y=Wd(f,v),f=f[v];y&&!p&&(vu[c]=f)}}return f}});var Yd=X((Jht,rN)=>{"use strict";var eN=cx(),nN=Hd(),PJ=nN([eN("%String.prototype.indexOf%")]);rN.exports=function(t,e){var i=eN(t,!!e);return typeof i=="function"&&PJ(t,".prototype.")>-1?nN([i]):i}});var sN=X((jht,oN)=>{"use strict";var RJ=zd()(),LJ=Yd(),fx=LJ("Object.prototype.toString"),$d=function(t){return RJ&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:fx(t)==="[object Arguments]"},iN=function(t){return $d(t)?!0:t!==null&&typeof t=="object"&&"length"in t&&typeof t.length=="number"&&t.length>=0&&fx(t)!=="[object Array]"&&"callee"in t&&fx(t.callee)==="[object Function]"},NJ=function(){return $d(arguments)}();$d.isLegacyArguments=iN;oN.exports=NJ?$d:iN});var Zd=X((Kht,lN)=>{"use strict";var aN=Lf(),OJ=ex(),jl=mu(),uN=yu();lN.exports=function(t,e,i){if(!t||typeof t!="object"&&typeof t!="function")throw new jl("\`obj\` must be an object or a function\`");if(typeof e!="string"&&typeof e!="symbol")throw new jl("\`property\` must be a string or a symbol\`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new jl("\`nonEnumerable\`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new jl("\`nonWritable\`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new jl("\`nonConfigurable\`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new jl("\`loose\`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,u=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,f=arguments.length>6?arguments[6]:!1,p=!!uN&&uN(t,e);if(aN)aN(t,e,{configurable:c===null&&p?p.configurable:!c,enumerable:s===null&&p?p.enumerable:!s,value:i,writable:u===null&&p?p.writable:!u});else if(f||!s&&!u&&!c)t[e]=i;else throw new OJ("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var Jd=X((Qht,fN)=>{"use strict";var hx=Lf(),cN=function(){return!!hx};cN.hasArrayLengthDefineBug=function(){if(!hx)return null;try{return hx([],"length",{value:1}).length!==1}catch(t){return!0}};fN.exports=cN});var Kl=X((tpt,gN)=>{"use strict";var DJ=j_(),FJ=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",UJ=Object.prototype.toString,BJ=Array.prototype.concat,hN=Zd(),zJ=function(n){return typeof n=="function"&&UJ.call(n)==="[object Function]"},pN=Jd()(),GJ=function(n,t,e,i){if(t in n){if(i===!0){if(n[t]===e)return}else if(!zJ(i)||!i())return}pN?hN(n,t,e,!0):hN(n,t,e)},dN=function(n,t){var e=arguments.length>2?arguments[2]:{},i=DJ(t);FJ&&(i=BJ.call(i,Object.getOwnPropertySymbols(t)));for(var s=0;s<i.length;s+=1)GJ(n,i[s],t[i[s]],e[i[s]])};dN.supportsDescriptors=!!pN;gN.exports=dN});var xN=X((ept,_N)=>{"use strict";var kJ=cx(),mN=Zd(),qJ=Jd()(),yN=yu(),vN=mu(),VJ=kJ("%Math.floor%");_N.exports=function(t,e){if(typeof t!="function")throw new vN("\`fn\` is not a function");if(typeof e!="number"||e<0||e>4294967295||VJ(e)!==e)throw new vN("\`length\` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],s=!0,u=!0;if("length"in t&&yN){var c=yN(t,"length");c&&!c.configurable&&(s=!1),c&&!c.writable&&(u=!1)}return(s||u||!i)&&(qJ?mN(t,"length",e,!0,!0):mN(t,"length",e)),t}});var SN=X((npt,EN)=>{"use strict";var HJ=Xl(),WJ=Vd(),XJ=ix();EN.exports=function(){return XJ(HJ,WJ,arguments)}});var px=X((rpt,jd)=>{"use strict";var YJ=xN(),wN=Lf(),$J=Hd(),MN=SN();jd.exports=function(t){var e=$J(arguments),i=t.length-(arguments.length-1);return YJ(e,1+(i>0?i:0),!0)};wN?wN(jd.exports,"apply",{value:MN}):jd.exports.apply=MN});var dx=X((ipt,AN)=>{"use strict";var bN=function(n){return n!==n};AN.exports=function(t,e){return t===0&&e===0?1/t===1/e:!!(t===e||bN(t)&&bN(e))}});var gx=X((opt,TN)=>{"use strict";var ZJ=dx();TN.exports=function(){return typeof Object.is=="function"?Object.is:ZJ}});var IN=X((spt,CN)=>{"use strict";var JJ=gx(),jJ=Kl();CN.exports=function(){var t=JJ();return jJ(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var NN=X((apt,LN)=>{"use strict";var KJ=Kl(),QJ=px(),tj=dx(),PN=gx(),ej=IN(),RN=QJ(PN(),Object);KJ(RN,{getPolyfill:PN,implementation:tj,shim:ej});LN.exports=RN});var zN=X((upt,BN)=>{"use strict";var ON=Yd(),nj=zd()(),rj=ax(),ij=yu(),vx;nj?(DN=ON("RegExp.prototype.exec"),mx={},Kd=function(){throw mx},yx={toString:Kd,valueOf:Kd},typeof Symbol.toPrimitive=="symbol"&&(yx[Symbol.toPrimitive]=Kd),vx=function(t){if(!t||typeof t!="object")return!1;var e=ij(t,"lastIndex"),i=e&&rj(e,"value");if(!i)return!1;try{DN(t,yx)}catch(s){return s===mx}}):(FN=ON("Object.prototype.toString"),UN="[object RegExp]",vx=function(t){return!t||typeof t!="object"&&typeof t!="function"?!1:FN(t)===UN});var DN,mx,Kd,yx,FN,UN;BN.exports=vx});var kN=X((lpt,GN)=>{"use strict";var Uf=function(){return typeof function(){}.name=="string"},Ff=Object.getOwnPropertyDescriptor;if(Ff)try{Ff([],"length")}catch(n){Ff=null}Uf.functionsHaveConfigurableNames=function(){if(!Uf()||!Ff)return!1;var t=Ff(function(){},"name");return!!t&&!!t.configurable};var oj=Function.prototype.bind;Uf.boundFunctionsHaveNames=function(){return Uf()&&typeof oj=="function"&&function(){}.bind().name!==""};GN.exports=Uf});var HN=X((cpt,VN)=>{"use strict";var qN=Zd(),sj=Jd()(),aj=kN().functionsHaveConfigurableNames(),uj=mu();VN.exports=function(t,e){if(typeof t!="function")throw new uj("\`fn\` is not a function");var i=arguments.length>2&&!!arguments[2];return(!i||aj)&&(sj?qN(t,"name",e,!0,!0):qN(t,"name",e)),t}});var _x=X((fpt,WN)=>{"use strict";var lj=HN(),cj=mu(),fj=Object;WN.exports=lj(function(){if(this==null||this!==fj(this))throw new cj("RegExp.prototype.flags getter called on non-object");var t="";return this.hasIndices&&(t+="d"),this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),this.dotAll&&(t+="s"),this.unicode&&(t+="u"),this.unicodeSets&&(t+="v"),this.sticky&&(t+="y"),t},"get flags",!0)});var xx=X((hpt,XN)=>{"use strict";var hj=_x(),pj=Kl().supportsDescriptors,dj=Object.getOwnPropertyDescriptor;XN.exports=function(){if(pj&&/a/mig.flags==="gim"){var t=dj(RegExp.prototype,"flags");if(t&&typeof t.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var e="",i={};if(Object.defineProperty(i,"hasIndices",{get:function(){e+="d"}}),Object.defineProperty(i,"sticky",{get:function(){e+="y"}}),t.get.call(i),e==="dy")return t.get}}return hj}});var ZN=X((ppt,$N)=>{"use strict";var gj=Kl().supportsDescriptors,mj=xx(),yj=yu(),vj=Object.defineProperty,_j=tx(),YN=sx(),xj=/a/;$N.exports=function(){if(!gj||!YN)throw new _j("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var t=mj(),e=YN(xj),i=yj(e,"flags");return(!i||i.get!==t)&&vj(e,"flags",{configurable:!0,enumerable:!1,get:t}),t}});var QN=X((dpt,KN)=>{"use strict";var Ej=Kl(),Sj=px(),wj=_x(),JN=xx(),Mj=ZN(),jN=Sj(JN());Ej(jN,{getPolyfill:JN,implementation:wj,shim:Mj});KN.exports=jN});var n2=X((gpt,e2)=>{"use strict";var t2=Yd(),bj=t2("Date.prototype.getDay"),Aj=function(t){try{return bj(t),!0}catch(e){return!1}},Tj=t2("Object.prototype.toString"),Cj="[object Date]",Ij=zd()();e2.exports=function(t){return typeof t!="object"||t===null?!1:Ij?Aj(t):Tj(t)===Cj}});var Ex=X((mpt,p2)=>{var r2=j_(),i2=sN(),o2=NN(),s2=zN(),a2=QN(),u2=n2(),l2=Date.prototype.getTime;function h2(n,t,e){var i=e||{};return(i.strict?o2(n,t):n===t)?!0:!n||!t||typeof n!="object"&&typeof t!="object"?i.strict?o2(n,t):n==t:Pj(n,t,i)}function c2(n){return n==null}function f2(n){return!(!n||typeof n!="object"||typeof n.length!="number"||typeof n.copy!="function"||typeof n.slice!="function"||n.length>0&&typeof n[0]!="number")}function Pj(n,t,e){var i,s;if(typeof n!=typeof t||c2(n)||c2(t)||n.prototype!==t.prototype||i2(n)!==i2(t))return!1;var u=s2(n),c=s2(t);if(u!==c)return!1;if(u||c)return n.source===t.source&&a2(n)===a2(t);if(u2(n)&&u2(t))return l2.call(n)===l2.call(t);var f=f2(n),p=f2(t);if(f!==p)return!1;if(f||p){if(n.length!==t.length)return!1;for(i=0;i<n.length;i++)if(n[i]!==t[i])return!1;return!0}if(typeof n!=typeof t)return!1;try{var d=r2(n),g=r2(t)}catch(y){return!1}if(d.length!==g.length)return!1;for(d.sort(),g.sort(),i=d.length-1;i>=0;i--)if(d[i]!=g[i])return!1;for(i=d.length-1;i>=0;i--)if(s=d[i],!h2(n[s],t[s],e))return!1;return!0}p2.exports=h2});var Nx=X((Sgt,x2)=>{var xK=Ex(),rs=function(n){this.precision=n&&n.precision?n.precision:17,this.direction=n&&n.direction?n.direction:!1,this.pseudoNode=n&&n.pseudoNode?n.pseudoNode:!1,this.objectComparator=n&&n.objectComparator?n.objectComparator:EK};rs.prototype.compare=function(n,t){if(n.type!==t.type||!_2(n,t))return!1;switch(n.type){case"Point":return this.compareCoord(n.coordinates,t.coordinates);case"LineString":return this.compareLine(n.coordinates,t.coordinates,0,!1);case"Polygon":return this.comparePolygon(n,t);case"Feature":return this.compareFeature(n,t);default:if(n.type.indexOf("Multi")===0){var e=this,i=v2(n),s=v2(t);return i.every(function(u){return this.some(function(c){return e.compare(u,c)})},s)}}return!1};function v2(n){return n.coordinates.map(function(t){return{type:n.type.replace("Multi",""),coordinates:t}})}function _2(n,t){return n.hasOwnProperty("coordinates")?n.coordinates.length===t.coordinates.length:n.length===t.length}rs.prototype.compareCoord=function(n,t){if(n.length!==t.length)return!1;for(var e=0;e<n.length;e++)if(n[e].toFixed(this.precision)!==t[e].toFixed(this.precision))return!1;return!0};rs.prototype.compareLine=function(n,t,e,i){if(!_2(n,t))return!1;var s=this.pseudoNode?n:this.removePseudo(n),u=this.pseudoNode?t:this.removePseudo(t);if(!(i&&!this.compareCoord(s[0],u[0])&&(u=this.fixStartIndex(u,s),!u))){var c=this.compareCoord(s[e],u[e]);return this.direction||c?this.comparePath(s,u):this.compareCoord(s[e],u[u.length-(1+e)])?this.comparePath(s.slice().reverse(),u):!1}};rs.prototype.fixStartIndex=function(n,t){for(var e,i=-1,s=0;s<n.length;s++)if(this.compareCoord(n[s],t[0])){i=s;break}return i>=0&&(e=[].concat(n.slice(i,n.length),n.slice(1,i+1))),e};rs.prototype.comparePath=function(n,t){var e=this;return n.every(function(i,s){return e.compareCoord(i,this[s])},t)};rs.prototype.comparePolygon=function(n,t){if(this.compareLine(n.coordinates[0],t.coordinates[0],1,!0)){var e=n.coordinates.slice(1,n.coordinates.length),i=t.coordinates.slice(1,t.coordinates.length),s=this;return e.every(function(u){return this.some(function(c){return s.compareLine(u,c,1,!0)})},i)}else return!1};rs.prototype.compareFeature=function(n,t){return n.id!==t.id||!this.objectComparator(n.properties,t.properties)||!this.compareBBox(n,t)?!1:this.compare(n.geometry,t.geometry)};rs.prototype.compareBBox=function(n,t){return!!(!n.bbox&&!t.bbox||n.bbox&&t.bbox&&this.compareCoord(n.bbox,t.bbox))};rs.prototype.removePseudo=function(n){return n};function EK(n,t){return xK(n,t,{strict:!0})}x2.exports=rs});var E2=X((Ogt,eg)=>{function Ma(n,t,e,i){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(n,t,e,i)}Ma.prototype.run=function(n,t,e,i){this._init(n,t,e,i);for(var s=0;s<this._datasetLength;s++)if(this._visited[s]!==1){this._visited[s]=1;var u=this._regionQuery(s);if(u.length<this.minPts)this.noise.push(s);else{var c=this.clusters.length;this.clusters.push([]),this._addToCluster(s,c),this._expandCluster(c,u)}}return this.clusters};Ma.prototype._init=function(n,t,e,i){if(n){if(!(n instanceof Array))throw Error("Dataset must be of type array, "+typeof n+" given");this.dataset=n,this.clusters=[],this.noise=[],this._datasetLength=n.length,this._visited=new Array(this._datasetLength),this._assigned=new Array(this._datasetLength)}t&&(this.epsilon=t),e&&(this.minPts=e),i&&(this.distance=i)};Ma.prototype._expandCluster=function(n,t){for(var e=0;e<t.length;e++){var i=t[e];if(this._visited[i]!==1){this._visited[i]=1;var s=this._regionQuery(i);s.length>=this.minPts&&(t=this._mergeArrays(t,s))}this._assigned[i]!==1&&this._addToCluster(i,n)}};Ma.prototype._addToCluster=function(n,t){this.clusters[t].push(n),this._assigned[n]=1};Ma.prototype._regionQuery=function(n){for(var t=[],e=0;e<this._datasetLength;e++){var i=this.distance(this.dataset[n],this.dataset[e]);i<this.epsilon&&t.push(e)}return t};Ma.prototype._mergeArrays=function(n,t){for(var e=t.length,i=0;i<e;i++){var s=t[i];n.indexOf(s)<0&&n.push(s)}return n};Ma.prototype._euclideanDistance=function(n,t){for(var e=0,i=Math.min(n.length,t.length);i--;)e+=(n[i]-t[i])*(n[i]-t[i]);return Math.sqrt(e)};typeof eg!="undefined"&&eg.exports&&(eg.exports=Ma)});var S2=X((Dgt,ng)=>{function ba(n,t,e){this.k=3,this.dataset=[],this.assignments=[],this.centroids=[],this.init(n,t,e)}ba.prototype.init=function(n,t,e){this.assignments=[],this.centroids=[],typeof n!="undefined"&&(this.dataset=n),typeof t!="undefined"&&(this.k=t),typeof e!="undefined"&&(this.distance=e)};ba.prototype.run=function(n,t){this.init(n,t);for(var e=this.dataset.length,i=0;i<this.k;i++)this.centroids[i]=this.randomCentroid();for(var s=!0;s;){s=this.assign();for(var u=0;u<this.k;u++){for(var c=new Array(g),f=0,p=0;p<g;p++)c[p]=0;for(var d=0;d<e;d++){var g=this.dataset[d].length;if(u===this.assignments[d]){for(var p=0;p<g;p++)c[p]+=this.dataset[d][p];f++}}if(f>0){for(var p=0;p<g;p++)c[p]/=f;this.centroids[u]=c}else this.centroids[u]=this.randomCentroid(),s=!0}}return this.getClusters()};ba.prototype.randomCentroid=function(){var n=this.dataset.length-1,t,e;do e=Math.round(Math.random()*n),t=this.dataset[e];while(this.centroids.indexOf(t)>=0);return t};ba.prototype.assign=function(){for(var n=!1,t=this.dataset.length,e,i=0;i<t;i++)e=this.argmin(this.dataset[i],this.centroids,this.distance),e!=this.assignments[i]&&(this.assignments[i]=e,n=!0);return n};ba.prototype.getClusters=function(){for(var n=new Array(this.k),t,e=0;e<this.assignments.length;e++)t=this.assignments[e],typeof n[t]=="undefined"&&(n[t]=[]),n[t].push(e);return n};ba.prototype.argmin=function(n,t,e){for(var i=Number.MAX_VALUE,s=0,u=t.length,c,f=0;f<u;f++)c=e(n,t[f]),c<i&&(i=c,s=f);return s};ba.prototype.distance=function(n,t){for(var e=0,i=Math.min(n.length,t.length);i--;){var s=n[i]-t[i];e+=s*s}return Math.sqrt(e)};typeof ng!="undefined"&&ng.exports&&(ng.exports=ba)});var Ox=X((Fgt,rg)=>{function is(n,t,e){this._queue=[],this._priorities=[],this._sorting="desc",this._init(n,t,e)}is.prototype.insert=function(n,t){for(var e=this._queue.length,i=e;i--;){var s=this._priorities[i];this._sorting==="desc"?t>s&&(e=i):t<s&&(e=i)}this._insertAt(n,t,e)};is.prototype.remove=function(n){for(var t=this._queue.length;t--;){var e=this._queue[t];if(n===e){this._queue.splice(t,1),this._priorities.splice(t,1);break}}};is.prototype.forEach=function(n){this._queue.forEach(n)};is.prototype.getElements=function(){return this._queue};is.prototype.getElementPriority=function(n){return this._priorities[n]};is.prototype.getPriorities=function(){return this._priorities};is.prototype.getElementsWithPriorities=function(){for(var n=[],t=0,e=this._queue.length;t<e;t++)n.push([this._queue[t],this._priorities[t]]);return n};is.prototype._init=function(n,t,e){if(n&&t){if(this._queue=[],this._priorities=[],n.length!==t.length)throw new Error("Arrays must have the same length");for(var i=0;i<n.length;i++)this.insert(n[i],t[i])}e&&(this._sorting=e)};is.prototype._insertAt=function(n,t,e){this._queue.length===e?(this._queue.push(n),this._priorities.push(t)):(this._queue.splice(e,0,n),this._priorities.splice(e,0,t))};typeof rg!="undefined"&&rg.exports&&(rg.exports=is)});var M2=X((Ugt,tc)=>{typeof tc!="undefined"&&tc.exports&&(w2=Ox());var w2;function Bs(n,t,e,i){this.epsilon=1,this.minPts=1,this.distance=this._euclideanDistance,this._reachability=[],this._processed=[],this._coreDistance=0,this._orderedList=[],this._init(n,t,e,i)}Bs.prototype.run=function(n,t,e,i){this._init(n,t,e,i);for(var s=0,u=this.dataset.length;s<u;s++)if(this._processed[s]!==1){this._processed[s]=1,this.clusters.push([s]);var c=this.clusters.length-1;this._orderedList.push(s);var f=new w2(null,null,"asc"),p=this._regionQuery(s);this._distanceToCore(s)!==void 0&&(this._updateQueue(s,p,f),this._expandCluster(c,f))}return this.clusters};Bs.prototype.getReachabilityPlot=function(){for(var n=[],t=0,e=this._orderedList.length;t<e;t++){var i=this._orderedList[t],s=this._reachability[i];n.push([i,s])}return n};Bs.prototype._init=function(n,t,e,i){if(n){if(!(n instanceof Array))throw Error("Dataset must be of type array, "+typeof n+" given");this.dataset=n,this.clusters=[],this._reachability=new Array(this.dataset.length),this._processed=new Array(this.dataset.length),this._coreDistance=0,this._orderedList=[]}t&&(this.epsilon=t),e&&(this.minPts=e),i&&(this.distance=i)};Bs.prototype._updateQueue=function(n,t,e){var i=this;this._coreDistance=this._distanceToCore(n),t.forEach(function(s){if(i._processed[s]===void 0){var u=i.distance(i.dataset[n],i.dataset[s]),c=Math.max(i._coreDistance,u);i._reachability[s]===void 0?(i._reachability[s]=c,e.insert(s,c)):c<i._reachability[s]&&(i._reachability[s]=c,e.remove(s),e.insert(s,c))}})};Bs.prototype._expandCluster=function(n,t){for(var e=t.getElements(),i=0,s=e.length;i<s;i++){var u=e[i];if(this._processed[u]===void 0){var c=this._regionQuery(u);this._processed[u]=1,this.clusters[n].push(u),this._orderedList.push(u),this._distanceToCore(u)!==void 0&&(this._updateQueue(u,c,t),this._expandCluster(n,t))}}};Bs.prototype._distanceToCore=function(n){for(var t=this.epsilon,e=0;e<t;e++){var i=this._regionQuery(n,e);if(i.length>=this.minPts)return e}};Bs.prototype._regionQuery=function(n,t){t=t||this.epsilon;for(var e=[],i=0,s=this.dataset.length;i<s;i++)this.distance(this.dataset[n],this.dataset[i])<t&&e.push(i);return e};Bs.prototype._euclideanDistance=function(n,t){for(var e=0,i=Math.min(n.length,t.length);i--;)e+=(n[i]-t[i])*(n[i]-t[i]);return Math.sqrt(e)};typeof tc!="undefined"&&tc.exports&&(tc.exports=Bs)});var b2=X((Bgt,ig)=>{typeof ig!="undefined"&&ig.exports&&(ig.exports={DBSCAN:E2(),KMEANS:S2(),OPTICS:M2(),PriorityQueue:Ox()})});var Dx=X((Hgt,T2)=>{"use strict";T2.exports={eudist:function(t,e,i){for(var s=t.length,u=0,c=0;c<s;c++){var f=(t[c]||0)-(e[c]||0);u+=f*f}return i?Math.sqrt(u):u},mandist:function(t,e,i){for(var s=t.length,u=0,c=0;c<s;c++)u+=Math.abs((t[c]||0)-(e[c]||0));return i?Math.sqrt(u):u},dist:function(t,e,i){var s=Math.abs(t-e);return i?s:s*s}}});var P2=X((Wgt,I2)=>{"use strict";var C2=Dx(),TK=C2.eudist,CK=C2.dist;I2.exports={kmrand:function(t,e){for(var i={},s=[],u=e<<2,c=t.length,f=t[0].length>0;s.length<e&&u-- >0;){var p=t[Math.floor(Math.random()*c)],d=f?p.join("_"):""+p;i[d]||(i[d]=!0,s.push(p))}if(s.length<e)throw new Error("Error initializating clusters");return s},kmpp:function(t,e){var i=t[0].length?TK:CK,s=[],u=t.length,c=t[0].length>0,f={},p=t[Math.floor(Math.random()*u)],d=c?p.join("_"):""+p;for(s.push(p),f[d]=!0;s.length<e;){for(var g=[],y=s.length,v=0,E=[],M=0;M<u;M++){for(var A=1/0,_=0;_<y;_++){var x=i(t[M],s[_]);x<=A&&(A=x)}g[M]=A}for(var T=0;T<u;T++)v+=g[T];for(var w=0;w<u;w++)E[w]={i:w,v:t[w],pr:g[w]/v,cs:0};E.sort(function(D,P){return D.pr-P.pr}),E[0].cs=E[0].pr;for(var R=1;R<u;R++)E[R].cs=E[R-1].cs+E[R].pr;for(var z=Math.random(),U=0;U<u-1&&E[U++].cs<z;);s.push(E[U-1].v)}return s}}});var D2=X(($gt,O2)=>{"use strict";var Fx=Dx(),N2=P2(),IK=Fx.eudist,Xgt=Fx.mandist,Ygt=Fx.dist,PK=N2.kmrand,RK=N2.kmpp,R2=1e4;function L2(n,t,e){e=e||[];for(var i=0;i<n;i++)e[i]=t;return e}function LK(n,t,e,i){var s=[],u=[],c=[],f=[],p=!1,d=i||R2,g=n.length,y=n[0].length,v=y>0,E=[];if(e)e=="kmrand"?s=PK(n,t):e=="kmpp"?s=RK(n,t):s=e;else for(var M={};s.length<t;){var A=Math.floor(Math.random()*g);M[A]||(M[A]=!0,s.push(n[A]))}do{L2(t,0,E);for(var _=0;_<g;_++){for(var x=1/0,T=0,w=0;w<t;w++){var f=v?IK(n[_],s[w]):Math.abs(n[_]-s[w]);f<=x&&(x=f,T=w)}c[_]=T,E[T]++}for(var R=[],u=[],z=0,U=0;U<t;U++)R[U]=v?L2(y,0,R[U]):0,u[U]=s[U];if(v){for(var D=0;D<t;D++)s[D]=[];for(var P=0;P<g;P++)for(var ct=c[P],L=R[ct],W=n[P],V=0;V<y;V++)L[V]+=W[V];p=!0;for(var Mt=0;Mt<t;Mt++){for(var $=s[Mt],gt=R[Mt],ft=u[Mt],vt=E[Mt],it=0;it<y;it++)$[it]=gt[it]/vt||0;if(p){for(var lt=0;lt<y;lt++)if(ft[lt]!=$[lt]){p=!1;break}}}}else{for(var H=0;H<g;H++){var At=c[H];R[At]+=n[H]}for(var It=0;It<t;It++)s[It]=R[It]/E[It]||0;p=!0;for(var Kt=0;Kt<t;Kt++)if(u[Kt]!=s[Kt]){p=!1;break}}p=p||--d<=0}while(!p);return{it:R2-d,k:t,idxs:c,centroids:s}}O2.exports=LK});var oc=X((qx,Vx)=>{(function(n,t){typeof qx=="object"&&typeof Vx!="undefined"?Vx.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis!="undefined"?globalThis:n||self,n.polygonClipping=t())})(qx,function(){"use strict";function n(j,b){var I={label:0,sent:function(){if(G[0]&1)throw G[1];return G[1]},trys:[],ops:[]},F,k,G,rt;return rt={next:tt(0),throw:tt(1),return:tt(2)},typeof Symbol=="function"&&(rt[Symbol.iterator]=function(){return this}),rt;function tt(ht){return function(O){return pt([ht,O])}}function pt(ht){if(F)throw new TypeError("Generator is already executing.");for(;I;)try{if(F=1,k&&(G=ht[0]&2?k.return:ht[0]?k.throw||((G=k.return)&&G.call(k),0):k.next)&&!(G=G.call(k,ht[1])).done)return G;switch(k=0,G&&(ht=[ht[0]&2,G.value]),ht[0]){case 0:case 1:G=ht;break;case 4:return I.label++,{value:ht[1],done:!1};case 5:I.label++,k=ht[1],ht=[0];continue;case 7:ht=I.ops.pop(),I.trys.pop();continue;default:if(G=I.trys,!(G=G.length>0&&G[G.length-1])&&(ht[0]===6||ht[0]===2)){I=0;continue}if(ht[0]===3&&(!G||ht[1]>G[0]&&ht[1]<G[3])){I.label=ht[1];break}if(ht[0]===6&&I.label<G[1]){I.label=G[1],G=ht;break}if(G&&I.label<G[2]){I.label=G[2],I.ops.push(ht);break}G[2]&&I.ops.pop(),I.trys.pop();continue}ht=b.call(j,I)}catch(O){ht=[6,O],k=0}finally{F=G=0}if(ht[0]&5)throw ht[1];return{value:ht[0]?ht[1]:void 0,done:!0}}}var t=function(){function j(b,I){this.next=null,this.key=b,this.data=I,this.left=null,this.right=null}return j}();function e(j,b){return j>b?1:j<b?-1:0}function i(j,b,I){for(var F=new t(null,null),k=F,G=F;;){var rt=I(j,b.key);if(rt<0){if(b.left===null)break;if(I(j,b.left.key)<0){var tt=b.left;if(b.left=tt.right,tt.right=b,b=tt,b.left===null)break}G.left=b,G=b,b=b.left}else if(rt>0){if(b.right===null)break;if(I(j,b.right.key)>0){var tt=b.right;if(b.right=tt.left,tt.left=b,b=tt,b.right===null)break}k.right=b,k=b,b=b.right}else break}return k.right=b.left,G.left=b.right,b.left=F.right,b.right=F.left,b}function s(j,b,I,F){var k=new t(j,b);if(I===null)return k.left=k.right=null,k;I=i(j,I,F);var G=F(j,I.key);return G<0?(k.left=I.left,k.right=I,I.left=null):G>=0&&(k.right=I.right,k.left=I,I.right=null),k}function u(j,b,I){var F=null,k=null;if(b){b=i(j,b,I);var G=I(b.key,j);G===0?(F=b.left,k=b.right):G<0?(k=b.right,b.right=null,F=b):(F=b.left,b.left=null,k=b)}return{left:F,right:k}}function c(j,b,I){return b===null?j:(j===null||(b=i(j.key,b,I),b.left=j),b)}function f(j,b,I,F,k){if(j){F(""+b+(I?"\\u2514\\u2500\\u2500 ":"\\u251C\\u2500\\u2500 ")+k(j)+\`
8120
8120
  \`);var G=b+(I?" ":"\\u2502 ");j.left&&f(j.left,G,!1,F,k),j.right&&f(j.right,G,!0,F,k)}}var p=function(){function j(b){b===void 0&&(b=e),this._root=null,this._size=0,this._comparator=b}return j.prototype.insert=function(b,I){return this._size++,this._root=s(b,I,this._root,this._comparator)},j.prototype.add=function(b,I){var F=new t(b,I);this._root===null&&(F.left=F.right=null,this._size++,this._root=F);var k=this._comparator,G=i(b,this._root,k),rt=k(b,G.key);return rt===0?this._root=G:(rt<0?(F.left=G.left,F.right=G,G.left=null):rt>0&&(F.right=G.right,F.left=G,G.right=null),this._size++,this._root=F),this._root},j.prototype.remove=function(b){this._root=this._remove(b,this._root,this._comparator)},j.prototype._remove=function(b,I,F){var k;if(I===null)return null;I=i(b,I,F);var G=F(b,I.key);return G===0?(I.left===null?k=I.right:(k=i(b,I.left,F),k.right=I.right),this._size--,k):I},j.prototype.pop=function(){var b=this._root;if(b){for(;b.left;)b=b.left;return this._root=i(b.key,this._root,this._comparator),this._root=this._remove(b.key,this._root,this._comparator),{key:b.key,data:b.data}}return null},j.prototype.findStatic=function(b){for(var I=this._root,F=this._comparator;I;){var k=F(b,I.key);if(k===0)return I;k<0?I=I.left:I=I.right}return null},j.prototype.find=function(b){return this._root&&(this._root=i(b,this._root,this._comparator),this._comparator(b,this._root.key)!==0)?null:this._root},j.prototype.contains=function(b){for(var I=this._root,F=this._comparator;I;){var k=F(b,I.key);if(k===0)return!0;k<0?I=I.left:I=I.right}return!1},j.prototype.forEach=function(b,I){for(var F=this._root,k=[],G=!1;!G;)F!==null?(k.push(F),F=F.left):k.length!==0?(F=k.pop(),b.call(I,F),F=F.right):G=!0;return this},j.prototype.range=function(b,I,F,k){for(var G=[],rt=this._comparator,tt=this._root,pt;G.length!==0||tt;)if(tt)G.push(tt),tt=tt.left;else{if(tt=G.pop(),pt=rt(tt.key,I),pt>0)break;if(rt(tt.key,b)>=0&&F.call(k,tt))return this;tt=tt.right}return this},j.prototype.keys=function(){var b=[];return this.forEach(function(I){var F=I.key;return b.push(F)}),b},j.prototype.values=function(){var b=[];return this.forEach(function(I){var F=I.data;return b.push(F)}),b},j.prototype.min=function(){return this._root?this.minNode(this._root).key:null},j.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},j.prototype.minNode=function(b){if(b===void 0&&(b=this._root),b)for(;b.left;)b=b.left;return b},j.prototype.maxNode=function(b){if(b===void 0&&(b=this._root),b)for(;b.right;)b=b.right;return b},j.prototype.at=function(b){for(var I=this._root,F=!1,k=0,G=[];!F;)if(I)G.push(I),I=I.left;else if(G.length>0){if(I=G.pop(),k===b)return I;k++,I=I.right}else F=!0;return null},j.prototype.next=function(b){var I=this._root,F=null;if(b.right){for(F=b.right;F.left;)F=F.left;return F}for(var k=this._comparator;I;){var G=k(b.key,I.key);if(G===0)break;G<0?(F=I,I=I.left):I=I.right}return F},j.prototype.prev=function(b){var I=this._root,F=null;if(b.left!==null){for(F=b.left;F.right;)F=F.right;return F}for(var k=this._comparator;I;){var G=k(b.key,I.key);if(G===0)break;G<0?I=I.left:(F=I,I=I.right)}return F},j.prototype.clear=function(){return this._root=null,this._size=0,this},j.prototype.toList=function(){return y(this._root)},j.prototype.load=function(b,I,F){I===void 0&&(I=[]),F===void 0&&(F=!1);var k=b.length,G=this._comparator;if(F&&M(b,I,0,k-1,G),this._root===null)this._root=d(b,I,0,k),this._size=k;else{var rt=E(this.toList(),g(b,I),G);k=this._size+k,this._root=v({head:rt},0,k)}return this},j.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(j.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(j.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),j.prototype.toString=function(b){b===void 0&&(b=function(F){return String(F.key)});var I=[];return f(this._root,"",!0,function(F){return I.push(F)},b),I.join("")},j.prototype.update=function(b,I,F){var k=this._comparator,G=u(b,this._root,k),rt=G.left,tt=G.right;k(b,I)<0?tt=s(I,F,tt,k):rt=s(I,F,rt,k),this._root=c(rt,tt,k)},j.prototype.split=function(b){return u(b,this._root,this._comparator)},j.prototype[Symbol.iterator]=function(){var b,I,F;return n(this,function(k){switch(k.label){case 0:b=this._root,I=[],F=!1,k.label=1;case 1:return F?[3,6]:b===null?[3,2]:(I.push(b),b=b.left,[3,5]);case 2:return I.length===0?[3,4]:(b=I.pop(),[4,b]);case 3:return k.sent(),b=b.right,[3,5];case 4:F=!0,k.label=5;case 5:return[3,1];case 6:return[2]}})},j}();function d(j,b,I,F){var k=F-I;if(k>0){var G=I+Math.floor(k/2),rt=j[G],tt=b[G],pt=new t(rt,tt);return pt.left=d(j,b,I,G),pt.right=d(j,b,G+1,F),pt}return null}function g(j,b){for(var I=new t(null,null),F=I,k=0;k<j.length;k++)F=F.next=new t(j[k],b[k]);return F.next=null,I.next}function y(j){for(var b=j,I=[],F=!1,k=new t(null,null),G=k;!F;)b?(I.push(b),b=b.left):I.length>0?(b=G=G.next=I.pop(),b=b.right):F=!0;return G.next=null,k.next}function v(j,b,I){var F=I-b;if(F>0){var k=b+Math.floor(F/2),G=v(j,b,k),rt=j.head;return rt.left=G,j.head=j.head.next,rt.right=v(j,k+1,I),rt}return null}function E(j,b,I){for(var F=new t(null,null),k=F,G=j,rt=b;G!==null&&rt!==null;)I(G.key,rt.key)<0?(k.next=G,G=G.next):(k.next=rt,rt=rt.next),k=k.next;return G!==null?k.next=G:rt!==null&&(k.next=rt),F.next}function M(j,b,I,F,k){if(!(I>=F)){for(var G=j[I+F>>1],rt=I-1,tt=F+1;;){do rt++;while(k(j[rt],G)<0);do tt--;while(k(j[tt],G)>0);if(rt>=tt)break;var pt=j[rt];j[rt]=j[tt],j[tt]=pt,pt=b[rt],b[rt]=b[tt],b[tt]=pt}M(j,b,I,tt,k),M(j,b,tt+1,F,k)}}let A=(j,b)=>j.ll.x<=b.x&&b.x<=j.ur.x&&j.ll.y<=b.y&&b.y<=j.ur.y,_=(j,b)=>{if(b.ur.x<j.ll.x||j.ur.x<b.ll.x||b.ur.y<j.ll.y||j.ur.y<b.ll.y)return null;let I=j.ll.x<b.ll.x?b.ll.x:j.ll.x,F=j.ur.x<b.ur.x?j.ur.x:b.ur.x,k=j.ll.y<b.ll.y?b.ll.y:j.ll.y,G=j.ur.y<b.ur.y?j.ur.y:b.ur.y;return{ll:{x:I,y:k},ur:{x:F,y:G}}},x=Number.EPSILON;x===void 0&&(x=Math.pow(2,-52));let T=x*x,w=(j,b)=>{if(-x<j&&j<x&&-x<b&&b<x)return 0;let I=j-b;return I*I<T*j*b?0:j<b?-1:1};class R{constructor(){this.reset()}reset(){this.xRounder=new z,this.yRounder=new z}round(b,I){return{x:this.xRounder.round(b),y:this.yRounder.round(I)}}}class z{constructor(){this.tree=new p,this.round(0)}round(b){let I=this.tree.add(b),F=this.tree.prev(I);if(F!==null&&w(I.key,F.key)===0)return this.tree.remove(b),F.key;let k=this.tree.next(I);return k!==null&&w(I.key,k.key)===0?(this.tree.remove(b),k.key):b}}let U=new R,D=11102230246251565e-32,P=134217729,ct=(3+8*D)*D;function L(j,b,I,F,k){let G,rt,tt,pt,ht=b[0],O=F[0],Q=0,J=0;O>ht==O>-ht?(G=ht,ht=b[++Q]):(G=O,O=F[++J]);let et=0;if(Q<j&&J<I)for(O>ht==O>-ht?(rt=ht+G,tt=G-(rt-ht),ht=b[++Q]):(rt=O+G,tt=G-(rt-O),O=F[++J]),G=rt,tt!==0&&(k[et++]=tt);Q<j&&J<I;)O>ht==O>-ht?(rt=G+ht,pt=rt-G,tt=G-(rt-pt)+(ht-pt),ht=b[++Q]):(rt=G+O,pt=rt-G,tt=G-(rt-pt)+(O-pt),O=F[++J]),G=rt,tt!==0&&(k[et++]=tt);for(;Q<j;)rt=G+ht,pt=rt-G,tt=G-(rt-pt)+(ht-pt),ht=b[++Q],G=rt,tt!==0&&(k[et++]=tt);for(;J<I;)rt=G+O,pt=rt-G,tt=G-(rt-pt)+(O-pt),O=F[++J],G=rt,tt!==0&&(k[et++]=tt);return(G!==0||et===0)&&(k[et++]=G),et}function W(j,b){let I=b[0];for(let F=1;F<j;F++)I+=b[F];return I}function V(j){return new Float64Array(j)}let Mt=(3+16*D)*D,$=(2+12*D)*D,gt=(9+64*D)*D*D,ft=V(4),vt=V(8),it=V(12),lt=V(16),H=V(4);function At(j,b,I,F,k,G,rt){let tt,pt,ht,O,Q,J,et,Tt,kt,ie,oe,we,ye,be,Ae,Bn,dr,_n,pe=j-k,xn=I-k,Nn=b-G,Cn=F-G;be=pe*Cn,J=P*pe,et=J-(J-pe),Tt=pe-et,J=P*Cn,kt=J-(J-Cn),ie=Cn-kt,Ae=Tt*ie-(be-et*kt-Tt*kt-et*ie),Bn=Nn*xn,J=P*Nn,et=J-(J-Nn),Tt=Nn-et,J=P*xn,kt=J-(J-xn),ie=xn-kt,dr=Tt*ie-(Bn-et*kt-Tt*kt-et*ie),oe=Ae-dr,Q=Ae-oe,ft[0]=Ae-(oe+Q)+(Q-dr),we=be+oe,Q=we-be,ye=be-(we-Q)+(oe-Q),oe=ye-Bn,Q=ye-oe,ft[1]=ye-(oe+Q)+(Q-Bn),_n=we+oe,Q=_n-we,ft[2]=we-(_n-Q)+(oe-Q),ft[3]=_n;let En=W(4,ft),Kr=$*rt;if(En>=Kr||-En>=Kr||(Q=j-pe,tt=j-(pe+Q)+(Q-k),Q=I-xn,ht=I-(xn+Q)+(Q-k),Q=b-Nn,pt=b-(Nn+Q)+(Q-G),Q=F-Cn,O=F-(Cn+Q)+(Q-G),tt===0&&pt===0&&ht===0&&O===0)||(Kr=gt*rt+ct*Math.abs(En),En+=pe*O+Cn*tt-(Nn*ht+xn*pt),En>=Kr||-En>=Kr))return En;be=tt*Cn,J=P*tt,et=J-(J-tt),Tt=tt-et,J=P*Cn,kt=J-(J-Cn),ie=Cn-kt,Ae=Tt*ie-(be-et*kt-Tt*kt-et*ie),Bn=pt*xn,J=P*pt,et=J-(J-pt),Tt=pt-et,J=P*xn,kt=J-(J-xn),ie=xn-kt,dr=Tt*ie-(Bn-et*kt-Tt*kt-et*ie),oe=Ae-dr,Q=Ae-oe,H[0]=Ae-(oe+Q)+(Q-dr),we=be+oe,Q=we-be,ye=be-(we-Q)+(oe-Q),oe=ye-Bn,Q=ye-oe,H[1]=ye-(oe+Q)+(Q-Bn),_n=we+oe,Q=_n-we,H[2]=we-(_n-Q)+(oe-Q),H[3]=_n;let Ar=L(4,ft,4,H,vt);be=pe*O,J=P*pe,et=J-(J-pe),Tt=pe-et,J=P*O,kt=J-(J-O),ie=O-kt,Ae=Tt*ie-(be-et*kt-Tt*kt-et*ie),Bn=Nn*ht,J=P*Nn,et=J-(J-Nn),Tt=Nn-et,J=P*ht,kt=J-(J-ht),ie=ht-kt,dr=Tt*ie-(Bn-et*kt-Tt*kt-et*ie),oe=Ae-dr,Q=Ae-oe,H[0]=Ae-(oe+Q)+(Q-dr),we=be+oe,Q=we-be,ye=be-(we-Q)+(oe-Q),oe=ye-Bn,Q=ye-oe,H[1]=ye-(oe+Q)+(Q-Bn),_n=we+oe,Q=_n-we,H[2]=we-(_n-Q)+(oe-Q),H[3]=_n;let q=L(Ar,vt,4,H,it);be=tt*O,J=P*tt,et=J-(J-tt),Tt=tt-et,J=P*O,kt=J-(J-O),ie=O-kt,Ae=Tt*ie-(be-et*kt-Tt*kt-et*ie),Bn=pt*ht,J=P*pt,et=J-(J-pt),Tt=pt-et,J=P*ht,kt=J-(J-ht),ie=ht-kt,dr=Tt*ie-(Bn-et*kt-Tt*kt-et*ie),oe=Ae-dr,Q=Ae-oe,H[0]=Ae-(oe+Q)+(Q-dr),we=be+oe,Q=we-be,ye=be-(we-Q)+(oe-Q),oe=ye-Bn,Q=ye-oe,H[1]=ye-(oe+Q)+(Q-Bn),_n=we+oe,Q=_n-we,H[2]=we-(_n-Q)+(oe-Q),H[3]=_n;let at=L(q,it,4,H,lt);return lt[at-1]}function It(j,b,I,F,k,G){let rt=(b-G)*(I-k),tt=(j-k)*(F-G),pt=rt-tt,ht=Math.abs(rt+tt);return Math.abs(pt)>=Mt*ht?pt:-At(j,b,I,F,k,G,ht)}let Kt=(j,b)=>j.x*b.y-j.y*b.x,nt=(j,b)=>j.x*b.x+j.y*b.y,bt=(j,b,I)=>{let F=It(j.x,j.y,b.x,b.y,I.x,I.y);return F>0?-1:F<0?1:0},Vt=j=>Math.sqrt(nt(j,j)),$t=(j,b,I)=>{let F={x:b.x-j.x,y:b.y-j.y},k={x:I.x-j.x,y:I.y-j.y};return Kt(k,F)/Vt(k)/Vt(F)},Ut=(j,b,I)=>{let F={x:b.x-j.x,y:b.y-j.y},k={x:I.x-j.x,y:I.y-j.y};return nt(k,F)/Vt(k)/Vt(F)},Gt=(j,b,I)=>b.y===0?null:{x:j.x+b.x/b.y*(I-j.y),y:I},Ct=(j,b,I)=>b.x===0?null:{x:I,y:j.y+b.y/b.x*(I-j.x)},ee=(j,b,I,F)=>{if(b.x===0)return Ct(I,F,j.x);if(F.x===0)return Ct(j,b,I.x);if(b.y===0)return Gt(I,F,j.y);if(F.y===0)return Gt(j,b,I.y);let k=Kt(b,F);if(k==0)return null;let G={x:I.x-j.x,y:I.y-j.y},rt=Kt(G,b)/k,tt=Kt(G,F)/k,pt=j.x+tt*b.x,ht=I.x+rt*F.x,O=j.y+tt*b.y,Q=I.y+rt*F.y,J=(pt+ht)/2,et=(O+Q)/2;return{x:J,y:et}};class Z{static compare(b,I){let F=Z.comparePoints(b.point,I.point);return F!==0?F:(b.point!==I.point&&b.link(I),b.isLeft!==I.isLeft?b.isLeft?1:-1:_t.compare(b.segment,I.segment))}static comparePoints(b,I){return b.x<I.x?-1:b.x>I.x?1:b.y<I.y?-1:b.y>I.y?1:0}constructor(b,I){b.events===void 0?b.events=[this]:b.events.push(this),this.point=b,this.isLeft=I}link(b){if(b.point===this.point)throw new Error("Tried to link already linked events");let I=b.point.events;for(let F=0,k=I.length;F<k;F++){let G=I[F];this.point.events.push(G),G.point=this.point}this.checkForConsuming()}checkForConsuming(){let b=this.point.events.length;for(let I=0;I<b;I++){let F=this.point.events[I];if(F.segment.consumedBy===void 0)for(let k=I+1;k<b;k++){let G=this.point.events[k];G.consumedBy===void 0&&F.otherSE.point.events===G.otherSE.point.events&&F.segment.consume(G.segment)}}}getAvailableLinkedEvents(){let b=[];for(let I=0,F=this.point.events.length;I<F;I++){let k=this.point.events[I];k!==this&&!k.segment.ringOut&&k.segment.isInResult()&&b.push(k)}return b}getLeftmostComparator(b){let I=new Map,F=k=>{let G=k.otherSE;I.set(k,{sine:$t(this.point,b.point,G.point),cosine:Ut(this.point,b.point,G.point)})};return(k,G)=>{I.has(k)||F(k),I.has(G)||F(G);let{sine:rt,cosine:tt}=I.get(k),{sine:pt,cosine:ht}=I.get(G);return rt>=0&&pt>=0?tt<ht?1:tt>ht?-1:0:rt<0&&pt<0?tt<ht?-1:tt>ht?1:0:pt<rt?-1:pt>rt?1:0}}}let Dt=0;class _t{static compare(b,I){let F=b.leftSE.point.x,k=I.leftSE.point.x,G=b.rightSE.point.x,rt=I.rightSE.point.x;if(rt<F)return 1;if(G<k)return-1;let tt=b.leftSE.point.y,pt=I.leftSE.point.y,ht=b.rightSE.point.y,O=I.rightSE.point.y;if(F<k){if(pt<tt&&pt<ht)return 1;if(pt>tt&&pt>ht)return-1;let Q=b.comparePoint(I.leftSE.point);if(Q<0)return 1;if(Q>0)return-1;let J=I.comparePoint(b.rightSE.point);return J!==0?J:-1}if(F>k){if(tt<pt&&tt<O)return-1;if(tt>pt&&tt>O)return 1;let Q=I.comparePoint(b.leftSE.point);if(Q!==0)return Q;let J=b.comparePoint(I.rightSE.point);return J<0?1:J>0?-1:1}if(tt<pt)return-1;if(tt>pt)return 1;if(G<rt){let Q=I.comparePoint(b.rightSE.point);if(Q!==0)return Q}if(G>rt){let Q=b.comparePoint(I.rightSE.point);if(Q<0)return 1;if(Q>0)return-1}if(G!==rt){let Q=ht-tt,J=G-F,et=O-pt,Tt=rt-k;if(Q>J&&et<Tt)return 1;if(Q<J&&et>Tt)return-1}return G>rt?1:G<rt||ht<O?-1:ht>O?1:b.id<I.id?-1:b.id>I.id?1:0}constructor(b,I,F,k){this.id=++Dt,this.leftSE=b,b.segment=this,b.otherSE=I,this.rightSE=I,I.segment=this,I.otherSE=b,this.rings=F,this.windings=k}static fromRing(b,I,F){let k,G,rt,tt=Z.comparePoints(b,I);if(tt<0)k=b,G=I,rt=1;else if(tt>0)k=I,G=b,rt=-1;else throw new Error(\`Tried to create degenerate segment at [\${b.x}, \${b.y}]\`);let pt=new Z(k,!0),ht=new Z(G,!1);return new _t(pt,ht,[F],[rt])}replaceRightSE(b){this.rightSE=b,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){let b=this.leftSE.point.y,I=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:b<I?b:I},ur:{x:this.rightSE.point.x,y:b>I?b:I}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(b){return b.x===this.leftSE.point.x&&b.y===this.leftSE.point.y||b.x===this.rightSE.point.x&&b.y===this.rightSE.point.y}comparePoint(b){if(this.isAnEndpoint(b))return 0;let I=this.leftSE.point,F=this.rightSE.point,k=this.vector();if(I.x===F.x)return b.x===I.x?0:b.x<I.x?1:-1;let G=(b.y-I.y)/k.y,rt=I.x+G*k.x;if(b.x===rt)return 0;let tt=(b.x-I.x)/k.x,pt=I.y+tt*k.y;return b.y===pt?0:b.y<pt?-1:1}getIntersection(b){let I=this.bbox(),F=b.bbox(),k=_(I,F);if(k===null)return null;let G=this.leftSE.point,rt=this.rightSE.point,tt=b.leftSE.point,pt=b.rightSE.point,ht=A(I,tt)&&this.comparePoint(tt)===0,O=A(F,G)&&b.comparePoint(G)===0,Q=A(I,pt)&&this.comparePoint(pt)===0,J=A(F,rt)&&b.comparePoint(rt)===0;if(O&&ht)return J&&!Q?rt:!J&&Q?pt:null;if(O)return Q&&G.x===pt.x&&G.y===pt.y?null:G;if(ht)return J&&rt.x===tt.x&&rt.y===tt.y?null:tt;if(J&&Q)return null;if(J)return rt;if(Q)return pt;let et=ee(G,this.vector(),tt,b.vector());return et===null||!A(k,et)?null:U.round(et.x,et.y)}split(b){let I=[],F=b.events!==void 0,k=new Z(b,!0),G=new Z(b,!1),rt=this.rightSE;this.replaceRightSE(G),I.push(G),I.push(k);let tt=new _t(k,rt,this.rings.slice(),this.windings.slice());return Z.comparePoints(tt.leftSE.point,tt.rightSE.point)>0&&tt.swapEvents(),Z.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),F&&(k.checkForConsuming(),G.checkForConsuming()),I}swapEvents(){let b=this.rightSE;this.rightSE=this.leftSE,this.leftSE=b,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let I=0,F=this.windings.length;I<F;I++)this.windings[I]*=-1}consume(b){let I=this,F=b;for(;I.consumedBy;)I=I.consumedBy;for(;F.consumedBy;)F=F.consumedBy;let k=_t.compare(I,F);if(k!==0){if(k>0){let G=I;I=F,F=G}if(I.prev===F){let G=I;I=F,F=G}for(let G=0,rt=F.rings.length;G<rt;G++){let tt=F.rings[G],pt=F.windings[G],ht=I.rings.indexOf(tt);ht===-1?(I.rings.push(tt),I.windings.push(pt)):I.windings[ht]+=pt}F.rings=null,F.windings=null,F.consumedBy=I,F.leftSE.consumedBy=I.leftSE,F.rightSE.consumedBy=I.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{let b=this.prev.consumedBy||this.prev;this._beforeState=b.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;let b=this.beforeState();this._afterState={rings:b.rings.slice(0),windings:b.windings.slice(0),multiPolys:[]};let I=this._afterState.rings,F=this._afterState.windings,k=this._afterState.multiPolys;for(let tt=0,pt=this.rings.length;tt<pt;tt++){let ht=this.rings[tt],O=this.windings[tt],Q=I.indexOf(ht);Q===-1?(I.push(ht),F.push(O)):F[Q]+=O}let G=[],rt=[];for(let tt=0,pt=I.length;tt<pt;tt++){if(F[tt]===0)continue;let ht=I[tt],O=ht.poly;if(rt.indexOf(O)===-1)if(ht.isExterior)G.push(O);else{rt.indexOf(O)===-1&&rt.push(O);let Q=G.indexOf(ht.poly);Q!==-1&&G.splice(Q,1)}}for(let tt=0,pt=G.length;tt<pt;tt++){let ht=G[tt].multiPoly;k.indexOf(ht)===-1&&k.push(ht)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;let b=this.beforeState().multiPolys,I=this.afterState().multiPolys;switch(ot.type){case"union":{let F=b.length===0,k=I.length===0;this._isInResult=F!==k;break}case"intersection":{let F,k;b.length<I.length?(F=b.length,k=I.length):(F=I.length,k=b.length),this._isInResult=k===ot.numMultiPolys&&F<k;break}case"xor":{let F=Math.abs(b.length-I.length);this._isInResult=F%2===1;break}case"difference":{let F=k=>k.length===1&&k[0].isSubject;this._isInResult=F(b)!==F(I);break}default:throw new Error(\`Unrecognized operation type found \${ot.type}\`)}return this._isInResult}}class Nt{constructor(b,I,F){if(!Array.isArray(b)||b.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=I,this.isExterior=F,this.segments=[],typeof b[0][0]!="number"||typeof b[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let k=U.round(b[0][0],b[0][1]);this.bbox={ll:{x:k.x,y:k.y},ur:{x:k.x,y:k.y}};let G=k;for(let rt=1,tt=b.length;rt<tt;rt++){if(typeof b[rt][0]!="number"||typeof b[rt][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let pt=U.round(b[rt][0],b[rt][1]);pt.x===G.x&&pt.y===G.y||(this.segments.push(_t.fromRing(G,pt,this)),pt.x<this.bbox.ll.x&&(this.bbox.ll.x=pt.x),pt.y<this.bbox.ll.y&&(this.bbox.ll.y=pt.y),pt.x>this.bbox.ur.x&&(this.bbox.ur.x=pt.x),pt.y>this.bbox.ur.y&&(this.bbox.ur.y=pt.y),G=pt)}(k.x!==G.x||k.y!==G.y)&&this.segments.push(_t.fromRing(G,k,this))}getSweepEvents(){let b=[];for(let I=0,F=this.segments.length;I<F;I++){let k=this.segments[I];b.push(k.leftSE),b.push(k.rightSE)}return b}}class wt{constructor(b,I){if(!Array.isArray(b))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new Nt(b[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let F=1,k=b.length;F<k;F++){let G=new Nt(b[F],this,!1);G.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=G.bbox.ll.x),G.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=G.bbox.ll.y),G.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=G.bbox.ur.x),G.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=G.bbox.ur.y),this.interiorRings.push(G)}this.multiPoly=I}getSweepEvents(){let b=this.exteriorRing.getSweepEvents();for(let I=0,F=this.interiorRings.length;I<F;I++){let k=this.interiorRings[I].getSweepEvents();for(let G=0,rt=k.length;G<rt;G++)b.push(k[G])}return b}}class Ht{constructor(b,I){if(!Array.isArray(b))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof b[0][0][0]=="number"&&(b=[b])}catch(F){}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let F=0,k=b.length;F<k;F++){let G=new wt(b[F],this);G.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=G.bbox.ll.x),G.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=G.bbox.ll.y),G.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=G.bbox.ur.x),G.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=G.bbox.ur.y),this.polys.push(G)}this.isSubject=I}getSweepEvents(){let b=[];for(let I=0,F=this.polys.length;I<F;I++){let k=this.polys[I].getSweepEvents();for(let G=0,rt=k.length;G<rt;G++)b.push(k[G])}return b}}class Xt{static factory(b){let I=[];for(let F=0,k=b.length;F<k;F++){let G=b[F];if(!G.isInResult()||G.ringOut)continue;let rt=null,tt=G.leftSE,pt=G.rightSE,ht=[tt],O=tt.point,Q=[];for(;rt=tt,tt=pt,ht.push(tt),tt.point!==O;)for(;;){let J=tt.getAvailableLinkedEvents();if(J.length===0){let kt=ht[0].point,ie=ht[ht.length-1].point;throw new Error(\`Unable to complete output ring starting at [\${kt.x}, \${kt.y}]. Last matching segment found ends at [\${ie.x}, \${ie.y}].\`)}if(J.length===1){pt=J[0].otherSE;break}let et=null;for(let kt=0,ie=Q.length;kt<ie;kt++)if(Q[kt].point===tt.point){et=kt;break}if(et!==null){let kt=Q.splice(et)[0],ie=ht.splice(kt.index);ie.unshift(ie[0].otherSE),I.push(new Xt(ie.reverse()));continue}Q.push({index:ht.length,point:tt.point});let Tt=tt.getLeftmostComparator(rt);pt=J.sort(Tt)[0].otherSE;break}I.push(new Xt(ht))}return I}constructor(b){this.events=b;for(let I=0,F=b.length;I<F;I++)b[I].segment.ringOut=this;this.poly=null}getGeom(){let b=this.events[0].point,I=[b];for(let ht=1,O=this.events.length-1;ht<O;ht++){let Q=this.events[ht].point,J=this.events[ht+1].point;bt(Q,b,J)!==0&&(I.push(Q),b=Q)}if(I.length===1)return null;let F=I[0],k=I[1];bt(F,b,k)===0&&I.shift(),I.push(I[0]);let G=this.isExteriorRing()?1:-1,rt=this.isExteriorRing()?0:I.length-1,tt=this.isExteriorRing()?I.length:-1,pt=[];for(let ht=rt;ht!=tt;ht+=G)pt.push([I[ht].x,I[ht].y]);return pt}isExteriorRing(){if(this._isExteriorRing===void 0){let b=this.enclosingRing();this._isExteriorRing=b?!b.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let b=this.events[0];for(let k=1,G=this.events.length;k<G;k++){let rt=this.events[k];Z.compare(b,rt)>0&&(b=rt)}let I=b.segment.prevInResult(),F=I?I.prevInResult():null;for(;;){if(!I)return null;if(!F)return I.ringOut;if(F.ringOut!==I.ringOut)return F.ringOut.enclosingRing()!==I.ringOut?I.ringOut:I.ringOut.enclosingRing();I=F.prevInResult(),F=I?I.prevInResult():null}}}class Pt{constructor(b){this.exteriorRing=b,b.poly=this,this.interiorRings=[]}addInterior(b){this.interiorRings.push(b),b.poly=this}getGeom(){let b=[this.exteriorRing.getGeom()];if(b[0]===null)return null;for(let I=0,F=this.interiorRings.length;I<F;I++){let k=this.interiorRings[I].getGeom();k!==null&&b.push(k)}return b}}class ne{constructor(b){this.rings=b,this.polys=this._composePolys(b)}getGeom(){let b=[];for(let I=0,F=this.polys.length;I<F;I++){let k=this.polys[I].getGeom();k!==null&&b.push(k)}return b}_composePolys(b){let I=[];for(let F=0,k=b.length;F<k;F++){let G=b[F];if(!G.poly)if(G.isExteriorRing())I.push(new Pt(G));else{let rt=G.enclosingRing();rt.poly||I.push(new Pt(rt)),rt.poly.addInterior(G)}}return I}}class Y{constructor(b){let I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_t.compare;this.queue=b,this.tree=new p(I),this.segments=[]}process(b){let I=b.segment,F=[];if(b.consumedBy)return b.isLeft?this.queue.remove(b.otherSE):this.tree.remove(I),F;let k=b.isLeft?this.tree.add(I):this.tree.find(I);if(!k)throw new Error(\`Unable to find segment #\${I.id} [\${I.leftSE.point.x}, \${I.leftSE.point.y}] -> [\${I.rightSE.point.x}, \${I.rightSE.point.y}] in SweepLine tree.\`);let G=k,rt=k,tt,pt;for(;tt===void 0;)G=this.tree.prev(G),G===null?tt=null:G.key.consumedBy===void 0&&(tt=G.key);for(;pt===void 0;)rt=this.tree.next(rt),rt===null?pt=null:rt.key.consumedBy===void 0&&(pt=rt.key);if(b.isLeft){let ht=null;if(tt){let Q=tt.getIntersection(I);if(Q!==null&&(I.isAnEndpoint(Q)||(ht=Q),!tt.isAnEndpoint(Q))){let J=this._splitSafely(tt,Q);for(let et=0,Tt=J.length;et<Tt;et++)F.push(J[et])}}let O=null;if(pt){let Q=pt.getIntersection(I);if(Q!==null&&(I.isAnEndpoint(Q)||(O=Q),!pt.isAnEndpoint(Q))){let J=this._splitSafely(pt,Q);for(let et=0,Tt=J.length;et<Tt;et++)F.push(J[et])}}if(ht!==null||O!==null){let Q=null;ht===null?Q=O:O===null?Q=ht:Q=Z.comparePoints(ht,O)<=0?ht:O,this.queue.remove(I.rightSE),F.push(I.rightSE);let J=I.split(Q);for(let et=0,Tt=J.length;et<Tt;et++)F.push(J[et])}F.length>0?(this.tree.remove(I),F.push(b)):(this.segments.push(I),I.prev=tt)}else{if(tt&&pt){let ht=tt.getIntersection(pt);if(ht!==null){if(!tt.isAnEndpoint(ht)){let O=this._splitSafely(tt,ht);for(let Q=0,J=O.length;Q<J;Q++)F.push(O[Q])}if(!pt.isAnEndpoint(ht)){let O=this._splitSafely(pt,ht);for(let Q=0,J=O.length;Q<J;Q++)F.push(O[Q])}}}this.tree.remove(I)}return F}_splitSafely(b,I){this.tree.remove(b);let F=b.rightSE;this.queue.remove(F);let k=b.split(I);return k.push(F),b.consumedBy===void 0&&this.tree.add(b),k}}let N=typeof process!="undefined"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,xt=typeof process!="undefined"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class St{run(b,I,F){ot.type=b,U.reset();let k=[new Ht(I,!0)];for(let Q=0,J=F.length;Q<J;Q++)k.push(new Ht(F[Q],!1));if(ot.numMultiPolys=k.length,ot.type==="difference"){let Q=k[0],J=1;for(;J<k.length;)_(k[J].bbox,Q.bbox)!==null?J++:k.splice(J,1)}if(ot.type==="intersection")for(let Q=0,J=k.length;Q<J;Q++){let et=k[Q];for(let Tt=Q+1,kt=k.length;Tt<kt;Tt++)if(_(et.bbox,k[Tt].bbox)===null)return[]}let G=new p(Z.compare);for(let Q=0,J=k.length;Q<J;Q++){let et=k[Q].getSweepEvents();for(let Tt=0,kt=et.length;Tt<kt;Tt++)if(G.insert(et[Tt]),G.size>N)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}let rt=new Y(G),tt=G.size,pt=G.pop();for(;pt;){let Q=pt.key;if(G.size===tt){let et=Q.segment;throw new Error(\`Unable to pop() \${Q.isLeft?"left":"right"} SweepEvent [\${Q.point.x}, \${Q.point.y}] from segment #\${et.id} [\${et.leftSE.point.x}, \${et.leftSE.point.y}] -> [\${et.rightSE.point.x}, \${et.rightSE.point.y}] from queue.\`)}if(G.size>N)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(rt.segments.length>xt)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");let J=rt.process(Q);for(let et=0,Tt=J.length;et<Tt;et++){let kt=J[et];kt.consumedBy===void 0&&G.insert(kt)}tt=G.size,pt=G.pop()}U.reset();let ht=Xt.factory(rt.segments);return new ne(ht).getGeom()}}let ot=new St;var Wt={union:function(j){for(var b=arguments.length,I=new Array(b>1?b-1:0),F=1;F<b;F++)I[F-1]=arguments[F];return ot.run("union",j,I)},intersection:function(j){for(var b=arguments.length,I=new Array(b>1?b-1:0),F=1;F<b;F++)I[F-1]=arguments[F];return ot.run("intersection",j,I)},xor:function(j){for(var b=arguments.length,I=new Array(b>1?b-1:0),F=1;F<b;F++)I[F-1]=arguments[F];return ot.run("xor",j,I)},difference:function(j){for(var b=arguments.length,I=new Array(b>1?b-1:0),F=1;F<b;F++)I[F-1]=arguments[F];return ot.run("difference",j,I)}};return Wt})});var tO=X((ug,Q2)=>{(function(n,t){typeof ug=="object"&&typeof Q2!="undefined"?t(ug):typeof define=="function"&&define.amd?define(["exports"],t):t(n.jsts={})})(ug,function(n){"use strict";function t(){}function e(r){this.message=r||""}function i(r){this.message=r||""}function s(r){this.message=r||""}function u(){}function c(r){return r===null?Ae:r.color}function f(r){return r===null?null:r.parent}function p(r,o){r!==null&&(r.color=o)}function d(r){return r===null?null:r.left}function g(r){return r===null?null:r.right}function y(){this.root_=null,this.size_=0}function v(){}function E(){this.array_=[],arguments[0]instanceof tt&&this.addAll(arguments[0])}function M(){}function A(r){this.message=r||""}function _(){this.array_=[]}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(r){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var o=Object(this),a=Math.max(Math.min(o.length,9007199254740991),0)||0,l=1 in arguments&&parseInt(Number(arguments[1]),10)||0;l=l<0?Math.max(a+l,0):Math.min(l,a);var h=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:a;for(h=h<0?Math.max(a+arguments[2],0):Math.min(h,a);l<h;)o[l]=r,++l;return o},writable:!0}),Number.isFinite=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},Number.isInteger=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(r){return r!=r},Math.trunc=Math.trunc||function(r){return r<0?Math.ceil(r):Math.floor(r)};var x=function(){};x.prototype.interfaces_=function(){return[]},x.prototype.getClass=function(){return x},x.prototype.equalsWithTolerance=function(r,o,a){return Math.abs(r-o)<=a};var T=function(r){function o(a){r.call(this,a),this.name="IllegalArgumentException",this.message=a,this.stack=new r().stack}return r&&(o.__proto__=r),o.prototype=Object.create(r&&r.prototype),o.prototype.constructor=o,o}(Error),w=function(){},R={MAX_VALUE:{configurable:!0}};w.isNaN=function(r){return Number.isNaN(r)},w.doubleToLongBits=function(r){return r},w.longBitsToDouble=function(r){return r},w.isInfinite=function(r){return!Number.isFinite(r)},R.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(w,R);var z=function(){},U=function(){},D=function(){},P=function r(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=r.NULL_ORDINATE;else if(arguments.length===1){var o=arguments[0];this.x=o.x,this.y=o.y,this.z=o.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=r.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},ct={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};P.prototype.setOrdinate=function(r,o){switch(r){case P.X:this.x=o;break;case P.Y:this.y=o;break;case P.Z:this.z=o;break;default:throw new T("Invalid ordinate index: "+r)}},P.prototype.equals2D=function(){if(arguments.length===1){var r=arguments[0];return this.x===r.x&&this.y===r.y}if(arguments.length===2){var o=arguments[0],a=arguments[1];return!!x.equalsWithTolerance(this.x,o.x,a)&&!!x.equalsWithTolerance(this.y,o.y,a)}},P.prototype.getOrdinate=function(r){switch(r){case P.X:return this.x;case P.Y:return this.y;case P.Z:return this.z}throw new T("Invalid ordinate index: "+r)},P.prototype.equals3D=function(r){return this.x===r.x&&this.y===r.y&&(this.z===r.z||w.isNaN(this.z))&&w.isNaN(r.z)},P.prototype.equals=function(r){return r instanceof P&&this.equals2D(r)},P.prototype.equalInZ=function(r,o){return x.equalsWithTolerance(this.z,r.z,o)},P.prototype.compareTo=function(r){var o=r;return this.x<o.x?-1:this.x>o.x?1:this.y<o.y?-1:this.y>o.y?1:0},P.prototype.clone=function(){},P.prototype.copy=function(){return new P(this)},P.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},P.prototype.distance3D=function(r){var o=this.x-r.x,a=this.y-r.y,l=this.z-r.z;return Math.sqrt(o*o+a*a+l*l)},P.prototype.distance=function(r){var o=this.x-r.x,a=this.y-r.y;return Math.sqrt(o*o+a*a)},P.prototype.hashCode=function(){var r=17;return r=37*r+P.hashCode(this.x),r=37*r+P.hashCode(this.y)},P.prototype.setCoordinate=function(r){this.x=r.x,this.y=r.y,this.z=r.z},P.prototype.interfaces_=function(){return[z,U,t]},P.prototype.getClass=function(){return P},P.hashCode=function(){if(arguments.length===1){var r=arguments[0],o=w.doubleToLongBits(r);return Math.trunc((o^o)>>>32)}},ct.DimensionalComparator.get=function(){return L},ct.serialVersionUID.get=function(){return 6683108902428367e3},ct.NULL_ORDINATE.get=function(){return w.NaN},ct.X.get=function(){return 0},ct.Y.get=function(){return 1},ct.Z.get=function(){return 2},Object.defineProperties(P,ct);var L=function(r){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var o=arguments[0];if(o!==2&&o!==3)throw new T("only 2 or 3 dimensions may be specified");this._dimensionsToTest=o}}};L.prototype.compare=function(r,o){var a=r,l=o,h=L.compare(a.x,l.x);if(h!==0)return h;var m=L.compare(a.y,l.y);return m!==0?m:this._dimensionsToTest<=2?0:L.compare(a.z,l.z)},L.prototype.interfaces_=function(){return[D]},L.prototype.getClass=function(){return L},L.compare=function(r,o){return r<o?-1:r>o?1:w.isNaN(r)?w.isNaN(o)?0:-1:w.isNaN(o)?1:0};var W=function(){};W.prototype.create=function(){},W.prototype.interfaces_=function(){return[]},W.prototype.getClass=function(){return W};var V=function(){},Mt={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};V.prototype.interfaces_=function(){return[]},V.prototype.getClass=function(){return V},V.toLocationSymbol=function(r){switch(r){case V.EXTERIOR:return"e";case V.BOUNDARY:return"b";case V.INTERIOR:return"i";case V.NONE:return"-"}throw new T("Unknown location value: "+r)},Mt.INTERIOR.get=function(){return 0},Mt.BOUNDARY.get=function(){return 1},Mt.EXTERIOR.get=function(){return 2},Mt.NONE.get=function(){return-1},Object.defineProperties(V,Mt);var $=function(r,o){return r.interfaces_&&r.interfaces_().indexOf(o)>-1},gt=function(){},ft={LOG_10:{configurable:!0}};gt.prototype.interfaces_=function(){return[]},gt.prototype.getClass=function(){return gt},gt.log10=function(r){var o=Math.log(r);return w.isInfinite(o)||w.isNaN(o)?o:o/gt.LOG_10},gt.min=function(r,o,a,l){var h=r;return o<h&&(h=o),a<h&&(h=a),l<h&&(h=l),h},gt.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var r=arguments[0],o=arguments[1],a=arguments[2];return r<o?o:r>a?a:r}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var l=arguments[0],h=arguments[1],m=arguments[2];return l<h?h:l>m?m:l}},gt.wrap=function(r,o){return r<0?o- -r%o:r%o},gt.max=function(){if(arguments.length===3){var r=arguments[0],o=arguments[1],a=arguments[2],l=r;return o>l&&(l=o),a>l&&(l=a),l}if(arguments.length===4){var h=arguments[0],m=arguments[1],S=arguments[2],C=arguments[3],B=h;return m>B&&(B=m),S>B&&(B=S),C>B&&(B=C),B}},gt.average=function(r,o){return(r+o)/2},ft.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(gt,ft);var vt=function(r){this.str=r};vt.prototype.append=function(r){this.str+=r},vt.prototype.setCharAt=function(r,o){this.str=this.str.substr(0,r)+o+this.str.substr(r+1)},vt.prototype.toString=function(r){return this.str};var it=function(r){this.value=r};it.prototype.intValue=function(){return this.value},it.prototype.compareTo=function(r){return this.value<r?-1:this.value>r?1:0},it.isNaN=function(r){return Number.isNaN(r)};var lt=function(){};lt.isWhitespace=function(r){return r<=32&&r>=0||r===127},lt.toUpperCase=function(r){return r.toUpperCase()};var H=function r(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var o=arguments[0];this.init(o)}else if(arguments[0]instanceof r){var a=arguments[0];this.init(a)}else if(typeof arguments[0]=="string"){var l=arguments[0];r.call(this,r.parse(l))}}else if(arguments.length===2){var h=arguments[0],m=arguments[1];this.init(h,m)}},At={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};H.prototype.le=function(r){return(this._hi<r._hi||this._hi===r._hi)&&this._lo<=r._lo},H.prototype.extractSignificantDigits=function(r,o){var a=this.abs(),l=H.magnitude(a._hi),h=H.TEN.pow(l);(a=a.divide(h)).gt(H.TEN)?(a=a.divide(H.TEN),l+=1):a.lt(H.ONE)&&(a=a.multiply(H.TEN),l-=1);for(var m=l+1,S=new vt,C=H.MAX_PRINT_DIGITS-1,B=0;B<=C;B++){r&&B===m&&S.append(".");var K=Math.trunc(a._hi);if(K<0)break;var mt=!1,yt=0;K>9?(mt=!0,yt="9"):yt="0"+K,S.append(yt),a=a.subtract(H.valueOf(K)).multiply(H.TEN),mt&&a.selfAdd(H.TEN);var zt=!0,qt=H.magnitude(a._hi);if(qt<0&&Math.abs(qt)>=C-B&&(zt=!1),!zt)break}return o[0]=l,S.toString()},H.prototype.sqr=function(){return this.multiply(this)},H.prototype.doubleValue=function(){return this._hi+this._lo},H.prototype.subtract=function(){if(arguments[0]instanceof H){var r=arguments[0];return this.add(r.negate())}if(typeof arguments[0]=="number"){var o=arguments[0];return this.add(-o)}},H.prototype.equals=function(){if(arguments.length===1){var r=arguments[0];return this._hi===r._hi&&this._lo===r._lo}},H.prototype.isZero=function(){return this._hi===0&&this._lo===0},H.prototype.selfSubtract=function(){if(arguments[0]instanceof H){var r=arguments[0];return this.isNaN()?this:this.selfAdd(-r._hi,-r._lo)}if(typeof arguments[0]=="number"){var o=arguments[0];return this.isNaN()?this:this.selfAdd(-o,0)}},H.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},H.prototype.min=function(r){return this.le(r)?this:r},H.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof H){var r=arguments[0];return this.selfDivide(r._hi,r._lo)}if(typeof arguments[0]=="number"){var o=arguments[0];return this.selfDivide(o,0)}}else if(arguments.length===2){var a=arguments[0],l=arguments[1],h=null,m=null,S=null,C=null,B=null,K=null,mt=null,yt=null;return B=this._hi/a,K=H.SPLIT*B,h=K-B,yt=H.SPLIT*a,h=K-h,m=B-h,S=yt-a,mt=B*a,S=yt-S,C=a-S,yt=h*S-mt+h*C+m*S+m*C,K=(this._hi-mt-yt+this._lo-B*l)/a,yt=B+K,this._hi=yt,this._lo=B-yt+K,this}},H.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},H.prototype.divide=function(){if(arguments[0]instanceof H){var r=arguments[0],o=null,a=null,l=null,h=null,m=null,S=null,C=null,B=null;return a=(m=this._hi/r._hi)-(o=(S=H.SPLIT*m)-(o=S-m)),B=o*(l=(B=H.SPLIT*r._hi)-(l=B-r._hi))-(C=m*r._hi)+o*(h=r._hi-l)+a*l+a*h,S=(this._hi-C-B+this._lo-m*r._lo)/r._hi,new H(B=m+S,m-B+S)}if(typeof arguments[0]=="number"){var K=arguments[0];return w.isNaN(K)?H.createNaN():H.copy(this).selfDivide(K,0)}},H.prototype.ge=function(r){return(this._hi>r._hi||this._hi===r._hi)&&this._lo>=r._lo},H.prototype.pow=function(r){if(r===0)return H.valueOf(1);var o=new H(this),a=H.valueOf(1),l=Math.abs(r);if(l>1)for(;l>0;)l%2==1&&a.selfMultiply(o),(l/=2)>0&&(o=o.sqr());else a=o;return r<0?a.reciprocal():a},H.prototype.ceil=function(){if(this.isNaN())return H.NaN;var r=Math.ceil(this._hi),o=0;return r===this._hi&&(o=Math.ceil(this._lo)),new H(r,o)},H.prototype.compareTo=function(r){var o=r;return this._hi<o._hi?-1:this._hi>o._hi?1:this._lo<o._lo?-1:this._lo>o._lo?1:0},H.prototype.rint=function(){return this.isNaN()?this:this.add(.5).floor()},H.prototype.setValue=function(){if(arguments[0]instanceof H){var r=arguments[0];return this.init(r),this}if(typeof arguments[0]=="number"){var o=arguments[0];return this.init(o),this}},H.prototype.max=function(r){return this.ge(r)?this:r},H.prototype.sqrt=function(){if(this.isZero())return H.valueOf(0);if(this.isNegative())return H.NaN;var r=1/Math.sqrt(this._hi),o=this._hi*r,a=H.valueOf(o),l=this.subtract(a.sqr())._hi*(.5*r);return a.add(l)},H.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof H){var r=arguments[0];return this.selfAdd(r._hi,r._lo)}if(typeof arguments[0]=="number"){var o=arguments[0],a=null,l=null,h=null,m=null,S=null,C=null;return h=this._hi+o,S=h-this._hi,m=h-S,m=o-S+(this._hi-m),C=m+this._lo,a=h+C,l=C+(h-a),this._hi=a+l,this._lo=l+(a-this._hi),this}}else if(arguments.length===2){var B=arguments[0],K=arguments[1],mt=null,yt=null,zt=null,qt=null,Jt=null,ue=null,dn=null;qt=this._hi+B,yt=this._lo+K,Jt=qt-(ue=qt-this._hi),zt=yt-(dn=yt-this._lo);var Xn=(mt=qt+(ue=(Jt=B-ue+(this._hi-Jt))+yt))+(ue=(zt=K-dn+(this._lo-zt))+(ue+(qt-mt))),Dr=ue+(mt-Xn);return this._hi=Xn,this._lo=Dr,this}},H.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof H){var r=arguments[0];return this.selfMultiply(r._hi,r._lo)}if(typeof arguments[0]=="number"){var o=arguments[0];return this.selfMultiply(o,0)}}else if(arguments.length===2){var a=arguments[0],l=arguments[1],h=null,m=null,S=null,C=null,B=null,K=null;h=(B=H.SPLIT*this._hi)-this._hi,K=H.SPLIT*a,h=B-h,m=this._hi-h,S=K-a;var mt=(B=this._hi*a)+(K=h*(S=K-S)-B+h*(C=a-S)+m*S+m*C+(this._hi*l+this._lo*a)),yt=K+(h=B-mt);return this._hi=mt,this._lo=yt,this}},H.prototype.selfSqr=function(){return this.selfMultiply(this)},H.prototype.floor=function(){if(this.isNaN())return H.NaN;var r=Math.floor(this._hi),o=0;return r===this._hi&&(o=Math.floor(this._lo)),new H(r,o)},H.prototype.negate=function(){return this.isNaN()?this:new H(-this._hi,-this._lo)},H.prototype.clone=function(){},H.prototype.multiply=function(){if(arguments[0]instanceof H){var r=arguments[0];return r.isNaN()?H.createNaN():H.copy(this).selfMultiply(r)}if(typeof arguments[0]=="number"){var o=arguments[0];return w.isNaN(o)?H.createNaN():H.copy(this).selfMultiply(o,0)}},H.prototype.isNaN=function(){return w.isNaN(this._hi)},H.prototype.intValue=function(){return Math.trunc(this._hi)},H.prototype.toString=function(){var r=H.magnitude(this._hi);return r>=-3&&r<=20?this.toStandardNotation():this.toSciNotation()},H.prototype.toStandardNotation=function(){var r=this.getSpecialNumberString();if(r!==null)return r;var o=new Array(1).fill(null),a=this.extractSignificantDigits(!0,o),l=o[0]+1,h=a;if(a.charAt(0)===".")h="0"+a;else if(l<0)h="0."+H.stringOfChar("0",-l)+a;else if(a.indexOf(".")===-1){var m=l-a.length;h=a+H.stringOfChar("0",m)+".0"}return this.isNegative()?"-"+h:h},H.prototype.reciprocal=function(){var r=null,o=null,a=null,l=null,h=null,m=null,S=null,C=null;o=(h=1/this._hi)-(r=(m=H.SPLIT*h)-(r=m-h)),a=(C=H.SPLIT*this._hi)-this._hi;var B=h+(m=(1-(S=h*this._hi)-(C=r*(a=C-a)-S+r*(l=this._hi-a)+o*a+o*l)-h*this._lo)/this._hi);return new H(B,h-B+m)},H.prototype.toSciNotation=function(){if(this.isZero())return H.SCI_NOT_ZERO;var r=this.getSpecialNumberString();if(r!==null)return r;var o=new Array(1).fill(null),a=this.extractSignificantDigits(!1,o),l=H.SCI_NOT_EXPONENT_CHAR+o[0];if(a.charAt(0)==="0")throw new Error("Found leading zero: "+a);var h="";a.length>1&&(h=a.substring(1));var m=a.charAt(0)+"."+h;return this.isNegative()?"-"+m+l:m+l},H.prototype.abs=function(){return this.isNaN()?H.NaN:this.isNegative()?this.negate():new H(this)},H.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},H.prototype.lt=function(r){return(this._hi<r._hi||this._hi===r._hi)&&this._lo<r._lo},H.prototype.add=function(){if(arguments[0]instanceof H){var r=arguments[0];return H.copy(this).selfAdd(r)}if(typeof arguments[0]=="number"){var o=arguments[0];return H.copy(this).selfAdd(o)}},H.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var r=arguments[0];this._hi=r,this._lo=0}else if(arguments[0]instanceof H){var o=arguments[0];this._hi=o._hi,this._lo=o._lo}}else if(arguments.length===2){var a=arguments[0],l=arguments[1];this._hi=a,this._lo=l}},H.prototype.gt=function(r){return(this._hi>r._hi||this._hi===r._hi)&&this._lo>r._lo},H.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},H.prototype.trunc=function(){return this.isNaN()?H.NaN:this.isPositive()?this.floor():this.ceil()},H.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},H.prototype.interfaces_=function(){return[t,z,U]},H.prototype.getClass=function(){return H},H.sqr=function(r){return H.valueOf(r).selfMultiply(r)},H.valueOf=function(){if(typeof arguments[0]=="string"){var r=arguments[0];return H.parse(r)}if(typeof arguments[0]=="number"){var o=arguments[0];return new H(o)}},H.sqrt=function(r){return H.valueOf(r).sqrt()},H.parse=function(r){for(var o=0,a=r.length;lt.isWhitespace(r.charAt(o));)o++;var l=!1;if(o<a){var h=r.charAt(o);h!=="-"&&h!=="+"||(o++,h==="-"&&(l=!0))}for(var m=new H,S=0,C=0,B=0;!(o>=a);){var K=r.charAt(o);if(o++,lt.isDigit(K)){var mt=K-"0";m.selfMultiply(H.TEN),m.selfAdd(mt),S++}else{if(K!=="."){if(K==="e"||K==="E"){var yt=r.substring(o);try{B=it.parseInt(yt)}catch(dn){throw dn instanceof Error?new Error("Invalid exponent "+yt+" in string "+r):dn}break}throw new Error("Unexpected character '"+K+"' at position "+o+" in string "+r)}C=S}}var zt=m,qt=S-C-B;if(qt===0)zt=m;else if(qt>0){var Jt=H.TEN.pow(qt);zt=m.divide(Jt)}else if(qt<0){var ue=H.TEN.pow(-qt);zt=m.multiply(ue)}return l?zt.negate():zt},H.createNaN=function(){return new H(w.NaN,w.NaN)},H.copy=function(r){return new H(r)},H.magnitude=function(r){var o=Math.abs(r),a=Math.log(o)/Math.log(10),l=Math.trunc(Math.floor(a));return 10*Math.pow(10,l)<=o&&(l+=1),l},H.stringOfChar=function(r,o){for(var a=new vt,l=0;l<o;l++)a.append(r);return a.toString()},At.PI.get=function(){return new H(3.141592653589793,12246467991473532e-32)},At.TWO_PI.get=function(){return new H(6.283185307179586,24492935982947064e-32)},At.PI_2.get=function(){return new H(1.5707963267948966,6123233995736766e-32)},At.E.get=function(){return new H(2.718281828459045,14456468917292502e-32)},At.NaN.get=function(){return new H(w.NaN,w.NaN)},At.EPS.get=function(){return 123259516440783e-46},At.SPLIT.get=function(){return 134217729},At.MAX_PRINT_DIGITS.get=function(){return 32},At.TEN.get=function(){return H.valueOf(10)},At.ONE.get=function(){return H.valueOf(1)},At.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},At.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(H,At);var It=function(){},Kt={DP_SAFE_EPSILON:{configurable:!0}};It.prototype.interfaces_=function(){return[]},It.prototype.getClass=function(){return It},It.orientationIndex=function(r,o,a){var l=It.orientationIndexFilter(r,o,a);if(l<=1)return l;var h=H.valueOf(o.x).selfAdd(-r.x),m=H.valueOf(o.y).selfAdd(-r.y),S=H.valueOf(a.x).selfAdd(-o.x),C=H.valueOf(a.y).selfAdd(-o.y);return h.selfMultiply(C).selfSubtract(m.selfMultiply(S)).signum()},It.signOfDet2x2=function(r,o,a,l){return r.multiply(l).selfSubtract(o.multiply(a)).signum()},It.intersection=function(r,o,a,l){var h=H.valueOf(l.y).selfSubtract(a.y).selfMultiply(H.valueOf(o.x).selfSubtract(r.x)),m=H.valueOf(l.x).selfSubtract(a.x).selfMultiply(H.valueOf(o.y).selfSubtract(r.y)),S=h.subtract(m),C=H.valueOf(l.x).selfSubtract(a.x).selfMultiply(H.valueOf(r.y).selfSubtract(a.y)),B=H.valueOf(l.y).selfSubtract(a.y).selfMultiply(H.valueOf(r.x).selfSubtract(a.x)),K=C.subtract(B).selfDivide(S).doubleValue(),mt=H.valueOf(r.x).selfAdd(H.valueOf(o.x).selfSubtract(r.x).selfMultiply(K)).doubleValue(),yt=H.valueOf(o.x).selfSubtract(r.x).selfMultiply(H.valueOf(r.y).selfSubtract(a.y)),zt=H.valueOf(o.y).selfSubtract(r.y).selfMultiply(H.valueOf(r.x).selfSubtract(a.x)),qt=yt.subtract(zt).selfDivide(S).doubleValue(),Jt=H.valueOf(a.y).selfAdd(H.valueOf(l.y).selfSubtract(a.y).selfMultiply(qt)).doubleValue();return new P(mt,Jt)},It.orientationIndexFilter=function(r,o,a){var l=null,h=(r.x-a.x)*(o.y-a.y),m=(r.y-a.y)*(o.x-a.x),S=h-m;if(h>0){if(m<=0)return It.signum(S);l=h+m}else{if(!(h<0)||m>=0)return It.signum(S);l=-h-m}var C=It.DP_SAFE_EPSILON*l;return S>=C||-S>=C?It.signum(S):2},It.signum=function(r){return r>0?1:r<0?-1:0},Kt.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(It,Kt);var nt=function(){},bt={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};bt.X.get=function(){return 0},bt.Y.get=function(){return 1},bt.Z.get=function(){return 2},bt.M.get=function(){return 3},nt.prototype.setOrdinate=function(r,o,a){},nt.prototype.size=function(){},nt.prototype.getOrdinate=function(r,o){},nt.prototype.getCoordinate=function(){},nt.prototype.getCoordinateCopy=function(r){},nt.prototype.getDimension=function(){},nt.prototype.getX=function(r){},nt.prototype.clone=function(){},nt.prototype.expandEnvelope=function(r){},nt.prototype.copy=function(){},nt.prototype.getY=function(r){},nt.prototype.toCoordinateArray=function(){},nt.prototype.interfaces_=function(){return[U]},nt.prototype.getClass=function(){return nt},Object.defineProperties(nt,bt);var Vt=function(){},$t=function(r){function o(){r.call(this,"Projective point not representable on the Cartesian plane.")}return r&&(o.__proto__=r),o.prototype=Object.create(r&&r.prototype),o.prototype.constructor=o,o.prototype.interfaces_=function(){return[]},o.prototype.getClass=function(){return o},o}(Vt),Ut=function(){};Ut.arraycopy=function(r,o,a,l,h){for(var m=0,S=o;S<o+h;S++)a[l+m]=r[S],m++},Ut.getProperty=function(r){return{"line.separator":\`
@@ -11920,7 +11920,7 @@ void main() {
11920
11920
 
11921
11921
  }\`,Sv=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e,i){if(this.texture===null){let s=new uo,u=t.properties.get(s);u.__webglTexture=e.texture,(e.depthNear!=i.depthNear||e.depthFar!=i.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=s}}render(t,e){if(this.texture!==null){if(this.mesh===null){let i=e.cameras[0].viewport,s=new Qo({extensions:{fragDepth:!0},vertexShader:U7,fragmentShader:B7,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new No(new jp(20,20),s)}t.render(this.mesh,e)}}reset(){this.texture=null,this.mesh=null}},wv=class extends _a{constructor(t,e){super();let i=this,s=null,u=1,c=null,f="local-floor",p=1,d=null,g=null,y=null,v=null,E=null,M=null,A=new Sv,_=e.getContextAttributes(),x=null,T=null,w=[],R=[],z=new Ot,U=null,D=new Zi;D.layers.enable(1),D.viewport=new Yr;let P=new Zi;P.layers.enable(2),P.viewport=new Yr;let ct=[D,P],L=new Ev;L.layers.enable(1),L.layers.enable(2);let W=null,V=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(nt){let bt=w[nt];return bt===void 0&&(bt=new af,w[nt]=bt),bt.getTargetRaySpace()},this.getControllerGrip=function(nt){let bt=w[nt];return bt===void 0&&(bt=new af,w[nt]=bt),bt.getGripSpace()},this.getHand=function(nt){let bt=w[nt];return bt===void 0&&(bt=new af,w[nt]=bt),bt.getHandSpace()};function Mt(nt){let bt=R.indexOf(nt.inputSource);if(bt===-1)return;let Vt=w[bt];Vt!==void 0&&(Vt.update(nt.inputSource,nt.frame,d||c),Vt.dispatchEvent({type:nt.type,data:nt.inputSource}))}function $(){s.removeEventListener("select",Mt),s.removeEventListener("selectstart",Mt),s.removeEventListener("selectend",Mt),s.removeEventListener("squeeze",Mt),s.removeEventListener("squeezestart",Mt),s.removeEventListener("squeezeend",Mt),s.removeEventListener("end",$),s.removeEventListener("inputsourceschange",gt);for(let nt=0;nt<w.length;nt++){let bt=R[nt];bt!==null&&(R[nt]=null,w[nt].disconnect(bt))}W=null,V=null,A.reset(),t.setRenderTarget(x),E=null,v=null,y=null,s=null,T=null,Kt.stop(),i.isPresenting=!1,t.setPixelRatio(U),t.setSize(z.width,z.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(nt){u=nt,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(nt){f=nt,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return d||c},this.setReferenceSpace=function(nt){d=nt},this.getBaseLayer=function(){return v!==null?v:E},this.getBinding=function(){return y},this.getFrame=function(){return M},this.getSession=function(){return s},this.setSession=function(nt){return Ri(this,null,function*(){if(s=nt,s!==null){if(x=t.getRenderTarget(),s.addEventListener("select",Mt),s.addEventListener("selectstart",Mt),s.addEventListener("selectend",Mt),s.addEventListener("squeeze",Mt),s.addEventListener("squeezestart",Mt),s.addEventListener("squeezeend",Mt),s.addEventListener("end",$),s.addEventListener("inputsourceschange",gt),_.xrCompatible!==!0&&(yield e.makeXRCompatible()),U=t.getPixelRatio(),t.getSize(z),s.renderState.layers===void 0||t.capabilities.isWebGL2===!1){let bt={antialias:s.renderState.layers===void 0?_.antialias:!0,alpha:!0,depth:_.depth,stencil:_.stencil,framebufferScaleFactor:u};E=new XRWebGLLayer(s,e,bt),s.updateRenderState({baseLayer:E}),t.setPixelRatio(1),t.setSize(E.framebufferWidth,E.framebufferHeight,!1),T=new Us(E.framebufferWidth,E.framebufferHeight,{format:Lo,type:ma,colorSpace:t.outputColorSpace,stencilBuffer:_.stencil})}else{let bt=null,Vt=null,$t=null;_.depth&&($t=_.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,bt=_.stencil?Pl:au,Vt=_.stencil?su:pa);let Ut={colorFormat:e.RGBA8,depthFormat:$t,scaleFactor:u};y=new XRWebGLBinding(s,e),v=y.createProjectionLayer(Ut),s.updateRenderState({layers:[v]}),t.setPixelRatio(1),t.setSize(v.textureWidth,v.textureHeight,!1),T=new Us(v.textureWidth,v.textureHeight,{format:Lo,type:ma,depthTexture:new Qp(v.textureWidth,v.textureHeight,Vt,void 0,void 0,void 0,void 0,void 0,void 0,bt),stencilBuffer:_.stencil,colorSpace:t.outputColorSpace,samples:_.antialias?4:0});let Gt=t.properties.get(T);Gt.__ignoreDepthValues=v.ignoreDepthValues}T.isXRRenderTarget=!0,this.setFoveation(p),d=null,c=yield s.requestReferenceSpace(f),Kt.setContext(s),Kt.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}})},this.getEnvironmentBlendMode=function(){if(s!==null)return s.environmentBlendMode};function gt(nt){for(let bt=0;bt<nt.removed.length;bt++){let Vt=nt.removed[bt],$t=R.indexOf(Vt);$t>=0&&(R[$t]=null,w[$t].disconnect(Vt))}for(let bt=0;bt<nt.added.length;bt++){let Vt=nt.added[bt],$t=R.indexOf(Vt);if($t===-1){for(let Gt=0;Gt<w.length;Gt++)if(Gt>=R.length){R.push(Vt),$t=Gt;break}else if(R[Gt]===null){R[Gt]=Vt,$t=Gt;break}if($t===-1)break}let Ut=w[$t];Ut&&Ut.connect(Vt)}}let ft=new st,vt=new st;function it(nt,bt,Vt){ft.setFromMatrixPosition(bt.matrixWorld),vt.setFromMatrixPosition(Vt.matrixWorld);let $t=ft.distanceTo(vt),Ut=bt.projectionMatrix.elements,Gt=Vt.projectionMatrix.elements,Ct=Ut[14]/(Ut[10]-1),ee=Ut[14]/(Ut[10]+1),Z=(Ut[9]+1)/Ut[5],Dt=(Ut[9]-1)/Ut[5],_t=(Ut[8]-1)/Ut[0],Nt=(Gt[8]+1)/Gt[0],wt=Ct*_t,Ht=Ct*Nt,Xt=$t/(-_t+Nt),Pt=Xt*-_t;bt.matrixWorld.decompose(nt.position,nt.quaternion,nt.scale),nt.translateX(Pt),nt.translateZ(Xt),nt.matrixWorld.compose(nt.position,nt.quaternion,nt.scale),nt.matrixWorldInverse.copy(nt.matrixWorld).invert();let ne=Ct+Xt,Y=ee+Xt,N=wt-Pt,xt=Ht+($t-Pt),St=Z*ee/Y*ne,ot=Dt*ee/Y*ne;nt.projectionMatrix.makePerspective(N,xt,St,ot,ne,Y),nt.projectionMatrixInverse.copy(nt.projectionMatrix).invert()}function lt(nt,bt){bt===null?nt.matrixWorld.copy(nt.matrix):nt.matrixWorld.multiplyMatrices(bt.matrixWorld,nt.matrix),nt.matrixWorldInverse.copy(nt.matrixWorld).invert()}this.updateCamera=function(nt){if(s===null)return;A.texture!==null&&(nt.near=A.depthNear,nt.far=A.depthFar),L.near=P.near=D.near=nt.near,L.far=P.far=D.far=nt.far,(W!==L.near||V!==L.far)&&(s.updateRenderState({depthNear:L.near,depthFar:L.far}),W=L.near,V=L.far,D.near=W,D.far=V,P.near=W,P.far=V,D.updateProjectionMatrix(),P.updateProjectionMatrix(),nt.updateProjectionMatrix());let bt=nt.parent,Vt=L.cameras;lt(L,bt);for(let $t=0;$t<Vt.length;$t++)lt(Vt[$t],bt);Vt.length===2?it(L,D,P):L.projectionMatrix.copy(D.projectionMatrix),H(nt,L,bt)};function H(nt,bt,Vt){Vt===null?nt.matrix.copy(bt.matrixWorld):(nt.matrix.copy(Vt.matrixWorld),nt.matrix.invert(),nt.matrix.multiply(bt.matrixWorld)),nt.matrix.decompose(nt.position,nt.quaternion,nt.scale),nt.updateMatrixWorld(!0),nt.projectionMatrix.copy(bt.projectionMatrix),nt.projectionMatrixInverse.copy(bt.projectionMatrixInverse),nt.isPerspectiveCamera&&(nt.fov=ov*2*Math.atan(1/nt.projectionMatrix.elements[5]),nt.zoom=1)}this.getCamera=function(){return L},this.getFoveation=function(){if(!(v===null&&E===null))return p},this.setFoveation=function(nt){p=nt,v!==null&&(v.fixedFoveation=nt),E!==null&&E.fixedFoveation!==void 0&&(E.fixedFoveation=nt)},this.hasDepthSensing=function(){return A.texture!==null};let At=null;function It(nt,bt){if(g=bt.getViewerPose(d||c),M=bt,g!==null){let Vt=g.views;E!==null&&(t.setRenderTargetFramebuffer(T,E.framebuffer),t.setRenderTarget(T));let $t=!1;Vt.length!==L.cameras.length&&(L.cameras.length=0,$t=!0);for(let Gt=0;Gt<Vt.length;Gt++){let Ct=Vt[Gt],ee=null;if(E!==null)ee=E.getViewport(Ct);else{let Dt=y.getViewSubImage(v,Ct);ee=Dt.viewport,Gt===0&&(t.setRenderTargetTextures(T,Dt.colorTexture,v.ignoreDepthValues?void 0:Dt.depthStencilTexture),t.setRenderTarget(T))}let Z=ct[Gt];Z===void 0&&(Z=new Zi,Z.layers.enable(Gt),Z.viewport=new Yr,ct[Gt]=Z),Z.matrix.fromArray(Ct.transform.matrix),Z.matrix.decompose(Z.position,Z.quaternion,Z.scale),Z.projectionMatrix.fromArray(Ct.projectionMatrix),Z.projectionMatrixInverse.copy(Z.projectionMatrix).invert(),Z.viewport.set(ee.x,ee.y,ee.width,ee.height),Gt===0&&(L.matrix.copy(Z.matrix),L.matrix.decompose(L.position,L.quaternion,L.scale)),$t===!0&&L.cameras.push(Z)}let Ut=s.enabledFeatures;if(Ut&&Ut.includes("depth-sensing")){let Gt=y.getDepthInformation(Vt[0]);Gt&&Gt.isValid&&Gt.texture&&A.init(t,Gt,s.renderState)}}for(let Vt=0;Vt<w.length;Vt++){let $t=R[Vt],Ut=w[Vt];$t!==null&&Ut!==void 0&&Ut.update($t,bt,d||c)}A.render(t,L),At&&At(nt,bt),bt.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:bt}),M=null}let Kt=new oP;Kt.setAnimationLoop(It),this.setAnimationLoop=function(nt){At=nt},this.dispose=function(){}}},Qa=new lu,z7=new $n;function G7(n,t){function e(_,x){_.matrixAutoUpdate===!0&&_.updateMatrix(),x.value.copy(_.matrix)}function i(_,x){x.color.getRGB(_.fogColor.value,iP(n)),x.isFog?(_.fogNear.value=x.near,_.fogFar.value=x.far):x.isFogExp2&&(_.fogDensity.value=x.density)}function s(_,x,T,w,R){x.isMeshBasicMaterial||x.isMeshLambertMaterial?u(_,x):x.isMeshToonMaterial?(u(_,x),y(_,x)):x.isMeshPhongMaterial?(u(_,x),g(_,x)):x.isMeshStandardMaterial?(u(_,x),v(_,x),x.isMeshPhysicalMaterial&&E(_,x,R)):x.isMeshMatcapMaterial?(u(_,x),M(_,x)):x.isMeshDepthMaterial?u(_,x):x.isMeshDistanceMaterial?(u(_,x),A(_,x)):x.isMeshNormalMaterial?u(_,x):x.isLineBasicMaterial?(c(_,x),x.isLineDashedMaterial&&f(_,x)):x.isPointsMaterial?p(_,x,T,w):x.isSpriteMaterial?d(_,x):x.isShadowMaterial?(_.color.value.copy(x.color),_.opacity.value=x.opacity):x.isShaderMaterial&&(x.uniformsNeedUpdate=!1)}function u(_,x){_.opacity.value=x.opacity,x.color&&_.diffuse.value.copy(x.color),x.emissive&&_.emissive.value.copy(x.emissive).multiplyScalar(x.emissiveIntensity),x.map&&(_.map.value=x.map,e(x.map,_.mapTransform)),x.alphaMap&&(_.alphaMap.value=x.alphaMap,e(x.alphaMap,_.alphaMapTransform)),x.bumpMap&&(_.bumpMap.value=x.bumpMap,e(x.bumpMap,_.bumpMapTransform),_.bumpScale.value=x.bumpScale,x.side===Oi&&(_.bumpScale.value*=-1)),x.normalMap&&(_.normalMap.value=x.normalMap,e(x.normalMap,_.normalMapTransform),_.normalScale.value.copy(x.normalScale),x.side===Oi&&_.normalScale.value.negate()),x.displacementMap&&(_.displacementMap.value=x.displacementMap,e(x.displacementMap,_.displacementMapTransform),_.displacementScale.value=x.displacementScale,_.displacementBias.value=x.displacementBias),x.emissiveMap&&(_.emissiveMap.value=x.emissiveMap,e(x.emissiveMap,_.emissiveMapTransform)),x.specularMap&&(_.specularMap.value=x.specularMap,e(x.specularMap,_.specularMapTransform)),x.alphaTest>0&&(_.alphaTest.value=x.alphaTest);let T=t.get(x),w=T.envMap,R=T.envMapRotation;if(w&&(_.envMap.value=w,Qa.copy(R),Qa.x*=-1,Qa.y*=-1,Qa.z*=-1,w.isCubeTexture&&w.isRenderTargetTexture===!1&&(Qa.y*=-1,Qa.z*=-1),_.envMapRotation.value.setFromMatrix4(z7.makeRotationFromEuler(Qa)),_.flipEnvMap.value=w.isCubeTexture&&w.isRenderTargetTexture===!1?-1:1,_.reflectivity.value=x.reflectivity,_.ior.value=x.ior,_.refractionRatio.value=x.refractionRatio),x.lightMap){_.lightMap.value=x.lightMap;let z=n._useLegacyLights===!0?Math.PI:1;_.lightMapIntensity.value=x.lightMapIntensity*z,e(x.lightMap,_.lightMapTransform)}x.aoMap&&(_.aoMap.value=x.aoMap,_.aoMapIntensity.value=x.aoMapIntensity,e(x.aoMap,_.aoMapTransform))}function c(_,x){_.diffuse.value.copy(x.color),_.opacity.value=x.opacity,x.map&&(_.map.value=x.map,e(x.map,_.mapTransform))}function f(_,x){_.dashSize.value=x.dashSize,_.totalSize.value=x.dashSize+x.gapSize,_.scale.value=x.scale}function p(_,x,T,w){_.diffuse.value.copy(x.color),_.opacity.value=x.opacity,_.size.value=x.size*T,_.scale.value=w*.5,x.map&&(_.map.value=x.map,e(x.map,_.uvTransform)),x.alphaMap&&(_.alphaMap.value=x.alphaMap,e(x.alphaMap,_.alphaMapTransform)),x.alphaTest>0&&(_.alphaTest.value=x.alphaTest)}function d(_,x){_.diffuse.value.copy(x.color),_.opacity.value=x.opacity,_.rotation.value=x.rotation,x.map&&(_.map.value=x.map,e(x.map,_.mapTransform)),x.alphaMap&&(_.alphaMap.value=x.alphaMap,e(x.alphaMap,_.alphaMapTransform)),x.alphaTest>0&&(_.alphaTest.value=x.alphaTest)}function g(_,x){_.specular.value.copy(x.specular),_.shininess.value=Math.max(x.shininess,1e-4)}function y(_,x){x.gradientMap&&(_.gradientMap.value=x.gradientMap)}function v(_,x){_.metalness.value=x.metalness,x.metalnessMap&&(_.metalnessMap.value=x.metalnessMap,e(x.metalnessMap,_.metalnessMapTransform)),_.roughness.value=x.roughness,x.roughnessMap&&(_.roughnessMap.value=x.roughnessMap,e(x.roughnessMap,_.roughnessMapTransform)),t.get(x).envMap&&(_.envMapIntensity.value=x.envMapIntensity)}function E(_,x,T){_.ior.value=x.ior,x.sheen>0&&(_.sheenColor.value.copy(x.sheenColor).multiplyScalar(x.sheen),_.sheenRoughness.value=x.sheenRoughness,x.sheenColorMap&&(_.sheenColorMap.value=x.sheenColorMap,e(x.sheenColorMap,_.sheenColorMapTransform)),x.sheenRoughnessMap&&(_.sheenRoughnessMap.value=x.sheenRoughnessMap,e(x.sheenRoughnessMap,_.sheenRoughnessMapTransform))),x.clearcoat>0&&(_.clearcoat.value=x.clearcoat,_.clearcoatRoughness.value=x.clearcoatRoughness,x.clearcoatMap&&(_.clearcoatMap.value=x.clearcoatMap,e(x.clearcoatMap,_.clearcoatMapTransform)),x.clearcoatRoughnessMap&&(_.clearcoatRoughnessMap.value=x.clearcoatRoughnessMap,e(x.clearcoatRoughnessMap,_.clearcoatRoughnessMapTransform)),x.clearcoatNormalMap&&(_.clearcoatNormalMap.value=x.clearcoatNormalMap,e(x.clearcoatNormalMap,_.clearcoatNormalMapTransform),_.clearcoatNormalScale.value.copy(x.clearcoatNormalScale),x.side===Oi&&_.clearcoatNormalScale.value.negate())),x.iridescence>0&&(_.iridescence.value=x.iridescence,_.iridescenceIOR.value=x.iridescenceIOR,_.iridescenceThicknessMinimum.value=x.iridescenceThicknessRange[0],_.iridescenceThicknessMaximum.value=x.iridescenceThicknessRange[1],x.iridescenceMap&&(_.iridescenceMap.value=x.iridescenceMap,e(x.iridescenceMap,_.iridescenceMapTransform)),x.iridescenceThicknessMap&&(_.iridescenceThicknessMap.value=x.iridescenceThicknessMap,e(x.iridescenceThicknessMap,_.iridescenceThicknessMapTransform))),x.transmission>0&&(_.transmission.value=x.transmission,_.transmissionSamplerMap.value=T.texture,_.transmissionSamplerSize.value.set(T.width,T.height),x.transmissionMap&&(_.transmissionMap.value=x.transmissionMap,e(x.transmissionMap,_.transmissionMapTransform)),_.thickness.value=x.thickness,x.thicknessMap&&(_.thicknessMap.value=x.thicknessMap,e(x.thicknessMap,_.thicknessMapTransform)),_.attenuationDistance.value=x.attenuationDistance,_.attenuationColor.value.copy(x.attenuationColor)),x.anisotropy>0&&(_.anisotropyVector.value.set(x.anisotropy*Math.cos(x.anisotropyRotation),x.anisotropy*Math.sin(x.anisotropyRotation)),x.anisotropyMap&&(_.anisotropyMap.value=x.anisotropyMap,e(x.anisotropyMap,_.anisotropyMapTransform))),_.specularIntensity.value=x.specularIntensity,_.specularColor.value.copy(x.specularColor),x.specularColorMap&&(_.specularColorMap.value=x.specularColorMap,e(x.specularColorMap,_.specularColorMapTransform)),x.specularIntensityMap&&(_.specularIntensityMap.value=x.specularIntensityMap,e(x.specularIntensityMap,_.specularIntensityMapTransform))}function M(_,x){x.matcap&&(_.matcap.value=x.matcap)}function A(_,x){let T=t.get(x).light;_.referencePosition.value.setFromMatrixPosition(T.matrixWorld),_.nearDistance.value=T.shadow.camera.near,_.farDistance.value=T.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:s}}function k7(n,t,e,i){let s={},u={},c=[],f=e.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function p(T,w){let R=w.program;i.uniformBlockBinding(T,R)}function d(T,w){let R=s[T.id];R===void 0&&(M(T),R=g(T),s[T.id]=R,T.addEventListener("dispose",_));let z=w.program;i.updateUBOMapping(T,z);let U=t.render.frame;u[T.id]!==U&&(v(T),u[T.id]=U)}function g(T){let w=y();T.__bindingPointIndex=w;let R=n.createBuffer(),z=T.__size,U=T.usage;return n.bindBuffer(n.UNIFORM_BUFFER,R),n.bufferData(n.UNIFORM_BUFFER,z,U),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,w,R),R}function y(){for(let T=0;T<f;T++)if(c.indexOf(T)===-1)return c.push(T),T;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function v(T){let w=s[T.id],R=T.uniforms,z=T.__cache;n.bindBuffer(n.UNIFORM_BUFFER,w);for(let U=0,D=R.length;U<D;U++){let P=Array.isArray(R[U])?R[U]:[R[U]];for(let ct=0,L=P.length;ct<L;ct++){let W=P[ct];if(E(W,U,ct,z)===!0){let V=W.__offset,Mt=Array.isArray(W.value)?W.value:[W.value],$=0;for(let gt=0;gt<Mt.length;gt++){let ft=Mt[gt],vt=A(ft);typeof ft=="number"||typeof ft=="boolean"?(W.__data[0]=ft,n.bufferSubData(n.UNIFORM_BUFFER,V+$,W.__data)):ft.isMatrix3?(W.__data[0]=ft.elements[0],W.__data[1]=ft.elements[1],W.__data[2]=ft.elements[2],W.__data[3]=0,W.__data[4]=ft.elements[3],W.__data[5]=ft.elements[4],W.__data[6]=ft.elements[5],W.__data[7]=0,W.__data[8]=ft.elements[6],W.__data[9]=ft.elements[7],W.__data[10]=ft.elements[8],W.__data[11]=0):(ft.toArray(W.__data,$),$+=vt.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,V,W.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function E(T,w,R,z){let U=T.value,D=w+"_"+R;if(z[D]===void 0)return typeof U=="number"||typeof U=="boolean"?z[D]=U:z[D]=U.clone(),!0;{let P=z[D];if(typeof U=="number"||typeof U=="boolean"){if(P!==U)return z[D]=U,!0}else if(P.equals(U)===!1)return P.copy(U),!0}return!1}function M(T){let w=T.uniforms,R=0,z=16;for(let D=0,P=w.length;D<P;D++){let ct=Array.isArray(w[D])?w[D]:[w[D]];for(let L=0,W=ct.length;L<W;L++){let V=ct[L],Mt=Array.isArray(V.value)?V.value:[V.value];for(let $=0,gt=Mt.length;$<gt;$++){let ft=Mt[$],vt=A(ft),it=R%z;it!==0&&z-it<vt.boundary&&(R+=z-it),V.__data=new Float32Array(vt.storage/Float32Array.BYTES_PER_ELEMENT),V.__offset=R,R+=vt.storage}}}let U=R%z;return U>0&&(R+=z-U),T.__size=R,T.__cache={},this}function A(T){let w={boundary:0,storage:0};return typeof T=="number"||typeof T=="boolean"?(w.boundary=4,w.storage=4):T.isVector2?(w.boundary=8,w.storage=8):T.isVector3||T.isColor?(w.boundary=16,w.storage=12):T.isVector4?(w.boundary=16,w.storage=16):T.isMatrix3?(w.boundary=48,w.storage=48):T.isMatrix4?(w.boundary=64,w.storage=64):T.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",T),w}function _(T){let w=T.target;w.removeEventListener("dispose",_);let R=c.indexOf(w.__bindingPointIndex);c.splice(R,1),n.deleteBuffer(s[w.id]),delete s[w.id],delete u[w.id]}function x(){for(let T in s)n.deleteBuffer(s[T]);c=[],s={},u={}}return{bind:p,update:d,dispose:x}}var Mv=class{constructor(t={}){let{canvas:e=W6(),context:i=null,depth:s=!0,stencil:u=!0,alpha:c=!1,antialias:f=!1,premultipliedAlpha:p=!0,preserveDrawingBuffer:d=!1,powerPreference:g="default",failIfMajorPerformanceCaveat:y=!1}=t;this.isWebGLRenderer=!0;let v;i!==null?v=i.getContextAttributes().alpha:v=c;let E=new Uint32Array(4),M=new Int32Array(4),A=null,_=null,x=[],T=[];this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Zo,this._useLegacyLights=!1,this.toneMapping=ga,this.toneMappingExposure=1;let w=this,R=!1,z=0,U=0,D=null,P=-1,ct=null,L=new Yr,W=new Yr,V=null,Mt=new Te(0),$=0,gt=e.width,ft=e.height,vt=1,it=null,lt=null,H=new Yr(0,0,gt,ft),At=new Yr(0,0,gt,ft),It=!1,Kt=new Jp,nt=!1,bt=!1,Vt=null,$t=new $n,Ut=new Ot,Gt=new st,Ct={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function ee(){return D===null?vt:1}let Z=i;function Dt(q,at){for(let Et=0;Et<q.length;Et++){let dt=q[Et],ut=e.getContext(dt,at);if(ut!==null)return ut}return null}try{let q={alpha:!0,depth:s,stencil:u,antialias:f,premultipliedAlpha:p,preserveDrawingBuffer:d,powerPreference:g,failIfMajorPerformanceCaveat:y};if("setAttribute"in e&&e.setAttribute("data-engine",\`three.js r\${Yv}\`),e.addEventListener("webglcontextlost",ht,!1),e.addEventListener("webglcontextrestored",O,!1),e.addEventListener("webglcontextcreationerror",Q,!1),Z===null){let at=["webgl2","webgl","experimental-webgl"];if(w.isWebGL1Renderer===!0&&at.shift(),Z=Dt(at,q),Z===null)throw Dt(at)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}typeof WebGLRenderingContext!="undefined"&&Z instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),Z.getShaderPrecisionFormat===void 0&&(Z.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(q){throw console.error("THREE.WebGLRenderer: "+q.message),q}let _t,Nt,wt,Ht,Xt,Pt,ne,Y,N,xt,St,ot,Lt,ce,Rt,Bt,Wt,j,b,I,F,k,G,rt;function tt(){_t=new r9(Z),Nt=new jX(Z,_t,t),_t.init(Nt),k=new D7(Z,_t,Nt),wt=new N7(Z,_t,Nt),Ht=new s9(Z),Xt=new E7,Pt=new O7(Z,_t,wt,Xt,Nt,k,Ht),ne=new QX(w),Y=new n9(w),N=new h8(Z,Nt),G=new ZX(Z,_t,N,Nt),xt=new i9(Z,N,Ht,G),St=new c9(Z,xt,N,Ht),b=new l9(Z,Nt,Pt),Bt=new KX(Xt),ot=new x7(w,ne,Y,_t,Nt,G,Bt),Lt=new G7(w,Xt),ce=new w7,Rt=new I7(_t,Nt),j=new $X(w,ne,Y,wt,St,v,p),Wt=new L7(w,St,Nt),rt=new k7(Z,Ht,Nt,wt),I=new JX(Z,_t,Ht,Nt),F=new o9(Z,_t,Ht,Nt),Ht.programs=ot.programs,w.capabilities=Nt,w.extensions=_t,w.properties=Xt,w.renderLists=ce,w.shadowMap=Wt,w.state=wt,w.info=Ht}tt();let pt=new wv(w,Z);this.xr=pt,this.getContext=function(){return Z},this.getContextAttributes=function(){return Z.getContextAttributes()},this.forceContextLoss=function(){let q=_t.get("WEBGL_lose_context");q&&q.loseContext()},this.forceContextRestore=function(){let q=_t.get("WEBGL_lose_context");q&&q.restoreContext()},this.getPixelRatio=function(){return vt},this.setPixelRatio=function(q){q!==void 0&&(vt=q,this.setSize(gt,ft,!1))},this.getSize=function(q){return q.set(gt,ft)},this.setSize=function(q,at,Et=!0){if(pt.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}gt=q,ft=at,e.width=Math.floor(q*vt),e.height=Math.floor(at*vt),Et===!0&&(e.style.width=q+"px",e.style.height=at+"px"),this.setViewport(0,0,q,at)},this.getDrawingBufferSize=function(q){return q.set(gt*vt,ft*vt).floor()},this.setDrawingBufferSize=function(q,at,Et){gt=q,ft=at,vt=Et,e.width=Math.floor(q*Et),e.height=Math.floor(at*Et),this.setViewport(0,0,q,at)},this.getCurrentViewport=function(q){return q.copy(L)},this.getViewport=function(q){return q.copy(H)},this.setViewport=function(q,at,Et,dt){q.isVector4?H.set(q.x,q.y,q.z,q.w):H.set(q,at,Et,dt),wt.viewport(L.copy(H).multiplyScalar(vt).round())},this.getScissor=function(q){return q.copy(At)},this.setScissor=function(q,at,Et,dt){q.isVector4?At.set(q.x,q.y,q.z,q.w):At.set(q,at,Et,dt),wt.scissor(W.copy(At).multiplyScalar(vt).round())},this.getScissorTest=function(){return It},this.setScissorTest=function(q){wt.setScissorTest(It=q)},this.setOpaqueSort=function(q){it=q},this.setTransparentSort=function(q){lt=q},this.getClearColor=function(q){return q.copy(j.getClearColor())},this.setClearColor=function(){j.setClearColor.apply(j,arguments)},this.getClearAlpha=function(){return j.getClearAlpha()},this.setClearAlpha=function(){j.setClearAlpha.apply(j,arguments)},this.clear=function(q=!0,at=!0,Et=!0){let dt=0;if(q){let ut=!1;if(D!==null){let Qt=D.texture.format;ut=Qt===KI||Qt===jI||Qt===JI}if(ut){let Qt=D.texture.type,te=Qt===ma||Qt===pa||Qt===$v||Qt===su||Qt===$I||Qt===ZI,le=j.getClearColor(),re=j.getClearAlpha(),ve=le.r,fe=le.g,he=le.b;te?(E[0]=ve,E[1]=fe,E[2]=he,E[3]=re,Z.clearBufferuiv(Z.COLOR,0,E)):(M[0]=ve,M[1]=fe,M[2]=he,M[3]=re,Z.clearBufferiv(Z.COLOR,0,M))}else dt|=Z.COLOR_BUFFER_BIT}at&&(dt|=Z.DEPTH_BUFFER_BIT),Et&&(dt|=Z.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Z.clear(dt)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",ht,!1),e.removeEventListener("webglcontextrestored",O,!1),e.removeEventListener("webglcontextcreationerror",Q,!1),ce.dispose(),Rt.dispose(),Xt.dispose(),ne.dispose(),Y.dispose(),St.dispose(),G.dispose(),rt.dispose(),ot.dispose(),Wt.dispose(),pt.dispose(),pt.removeEventListener("sessionstart",we),pt.removeEventListener("sessionend",ye),Vt&&(Vt.dispose(),Vt=null),be.stop()};function ht(q){q.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),R=!0}function O(){console.log("THREE.WebGLRenderer: Context Restored."),R=!1;let q=Ht.autoReset,at=Wt.enabled,Et=Wt.autoUpdate,dt=Wt.needsUpdate,ut=Wt.type;tt(),Ht.autoReset=q,Wt.enabled=at,Wt.autoUpdate=Et,Wt.needsUpdate=dt,Wt.type=ut}function Q(q){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",q.statusMessage)}function J(q){let at=q.target;at.removeEventListener("dispose",J),et(at)}function et(q){Tt(q),Xt.remove(q)}function Tt(q){let at=Xt.get(q).programs;at!==void 0&&(at.forEach(function(Et){ot.releaseProgram(Et)}),q.isShaderMaterial&&ot.releaseShaderCache(q))}this.renderBufferDirect=function(q,at,Et,dt,ut,Qt){at===null&&(at=Ct);let te=ut.isMesh&&ut.matrixWorld.determinant()<0,le=En(q,at,Et,dt,ut);wt.setMaterial(dt,te);let re=Et.index,ve=1;if(dt.wireframe===!0){if(re=xt.getWireframeAttribute(Et),re===void 0)return;ve=2}let fe=Et.drawRange,he=Et.attributes.position,cn=fe.start*ve,Tr=(fe.start+fe.count)*ve;Qt!==null&&(cn=Math.max(cn,Qt.start*ve),Tr=Math.min(Tr,(Qt.start+Qt.count)*ve)),re!==null?(cn=Math.max(cn,0),Tr=Math.min(Tr,re.count)):he!=null&&(cn=Math.max(cn,0),Tr=Math.min(Tr,he.count));let qn=Tr-cn;if(qn<0||qn===1/0)return;G.setup(ut,dt,le,Et,re);let hi,wn=I;if(re!==null&&(hi=N.get(re),wn=F,wn.setIndex(hi)),ut.isMesh)dt.wireframe===!0?(wt.setLineWidth(dt.wireframeLinewidth*ee()),wn.setMode(Z.LINES)):wn.setMode(Z.TRIANGLES);else if(ut.isLine){let se=dt.linewidth;se===void 0&&(se=1),wt.setLineWidth(se*ee()),ut.isLineSegments?wn.setMode(Z.LINES):ut.isLineLoop?wn.setMode(Z.LINE_LOOP):wn.setMode(Z.LINE_STRIP)}else ut.isPoints?wn.setMode(Z.POINTS):ut.isSprite&&wn.setMode(Z.TRIANGLES);if(ut.isBatchedMesh)wn.renderMultiDraw(ut._multiDrawStarts,ut._multiDrawCounts,ut._multiDrawCount);else if(ut.isInstancedMesh)wn.renderInstances(cn,qn,ut.count);else if(Et.isInstancedBufferGeometry){let se=Et._maxInstanceCount!==void 0?Et._maxInstanceCount:1/0,bu=Math.min(Et.instanceCount,se);wn.renderInstances(cn,qn,bu)}else wn.render(cn,qn)};function kt(q,at,Et){q.transparent===!0&&q.side===Ns&&q.forceSinglePass===!1?(q.side=Oi,q.needsUpdate=!0,xn(q,at,Et),q.side=va,q.needsUpdate=!0,xn(q,at,Et),q.side=Ns):xn(q,at,Et)}this.compile=function(q,at,Et=null){Et===null&&(Et=q),_=Rt.get(Et),_.init(),T.push(_),Et.traverseVisible(function(ut){ut.isLight&&ut.layers.test(at.layers)&&(_.pushLight(ut),ut.castShadow&&_.pushShadow(ut))}),q!==Et&&q.traverseVisible(function(ut){ut.isLight&&ut.layers.test(at.layers)&&(_.pushLight(ut),ut.castShadow&&_.pushShadow(ut))}),_.setupLights(w._useLegacyLights);let dt=new Set;return q.traverse(function(ut){let Qt=ut.material;if(Qt)if(Array.isArray(Qt))for(let te=0;te<Qt.length;te++){let le=Qt[te];kt(le,Et,ut),dt.add(le)}else kt(Qt,Et,ut),dt.add(Qt)}),T.pop(),_=null,dt},this.compileAsync=function(q,at,Et=null){let dt=this.compile(q,at,Et);return new Promise(ut=>{function Qt(){if(dt.forEach(function(te){Xt.get(te).currentProgram.isReady()&&dt.delete(te)}),dt.size===0){ut(q);return}setTimeout(Qt,10)}_t.get("KHR_parallel_shader_compile")!==null?Qt():setTimeout(Qt,10)})};let ie=null;function oe(q){ie&&ie(q)}function we(){be.stop()}function ye(){be.start()}let be=new oP;be.setAnimationLoop(oe),typeof self!="undefined"&&be.setContext(self),this.setAnimationLoop=function(q){ie=q,pt.setAnimationLoop(q),q===null?be.stop():be.start()},pt.addEventListener("sessionstart",we),pt.addEventListener("sessionend",ye),this.render=function(q,at){if(at!==void 0&&at.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(R===!0)return;q.matrixWorldAutoUpdate===!0&&q.updateMatrixWorld(),at.parent===null&&at.matrixWorldAutoUpdate===!0&&at.updateMatrixWorld(),pt.enabled===!0&&pt.isPresenting===!0&&(pt.cameraAutoUpdate===!0&&pt.updateCamera(at),at=pt.getCamera()),q.isScene===!0&&q.onBeforeRender(w,q,at,D),_=Rt.get(q,T.length),_.init(),T.push(_),$t.multiplyMatrices(at.projectionMatrix,at.matrixWorldInverse),Kt.setFromProjectionMatrix($t),bt=this.localClippingEnabled,nt=Bt.init(this.clippingPlanes,bt),A=ce.get(q,x.length),A.init(),x.push(A),Ae(q,at,0,w.sortObjects),A.finish(),w.sortObjects===!0&&A.sort(it,lt),this.info.render.frame++,nt===!0&&Bt.beginShadows();let Et=_.state.shadowsArray;if(Wt.render(Et,q,at),nt===!0&&Bt.endShadows(),this.info.autoReset===!0&&this.info.reset(),(pt.enabled===!1||pt.isPresenting===!1||pt.hasDepthSensing()===!1)&&j.render(A,q),_.setupLights(w._useLegacyLights),at.isArrayCamera){let dt=at.cameras;for(let ut=0,Qt=dt.length;ut<Qt;ut++){let te=dt[ut];Bn(A,q,te,te.viewport)}}else Bn(A,q,at);D!==null&&(Pt.updateMultisampleRenderTarget(D),Pt.updateRenderTargetMipmap(D)),q.isScene===!0&&q.onAfterRender(w,q,at),G.resetDefaultState(),P=-1,ct=null,T.pop(),T.length>0?_=T[T.length-1]:_=null,x.pop(),x.length>0?A=x[x.length-1]:A=null};function Ae(q,at,Et,dt){if(q.visible===!1)return;if(q.layers.test(at.layers)){if(q.isGroup)Et=q.renderOrder;else if(q.isLOD)q.autoUpdate===!0&&q.update(at);else if(q.isLight)_.pushLight(q),q.castShadow&&_.pushShadow(q);else if(q.isSprite){if(!q.frustumCulled||Kt.intersectsSprite(q)){dt&&Gt.setFromMatrixPosition(q.matrixWorld).applyMatrix4($t);let te=St.update(q),le=q.material;le.visible&&A.push(q,te,le,Et,Gt.z,null)}}else if((q.isMesh||q.isLine||q.isPoints)&&(!q.frustumCulled||Kt.intersectsObject(q))){let te=St.update(q),le=q.material;if(dt&&(q.boundingSphere!==void 0?(q.boundingSphere===null&&q.computeBoundingSphere(),Gt.copy(q.boundingSphere.center)):(te.boundingSphere===null&&te.computeBoundingSphere(),Gt.copy(te.boundingSphere.center)),Gt.applyMatrix4(q.matrixWorld).applyMatrix4($t)),Array.isArray(le)){let re=te.groups;for(let ve=0,fe=re.length;ve<fe;ve++){let he=re[ve],cn=le[he.materialIndex];cn&&cn.visible&&A.push(q,te,cn,Et,Gt.z,he)}}else le.visible&&A.push(q,te,le,Et,Gt.z,null)}}let Qt=q.children;for(let te=0,le=Qt.length;te<le;te++)Ae(Qt[te],at,Et,dt)}function Bn(q,at,Et,dt){let ut=q.opaque,Qt=q.transmissive,te=q.transparent;_.setupLightsView(Et),nt===!0&&Bt.setGlobalState(w.clippingPlanes,Et),Qt.length>0&&dr(ut,Qt,at,Et),dt&&wt.viewport(L.copy(dt)),ut.length>0&&_n(ut,at,Et),Qt.length>0&&_n(Qt,at,Et),te.length>0&&_n(te,at,Et),wt.buffers.depth.setTest(!0),wt.buffers.depth.setMask(!0),wt.buffers.color.setMask(!0),wt.setPolygonOffset(!1)}function dr(q,at,Et,dt){if((Et.isScene===!0?Et.overrideMaterial:null)!==null)return;let Qt=Nt.isWebGL2;Vt===null&&(Vt=new Us(1,1,{generateMipmaps:!0,type:_t.has("EXT_color_buffer_half_float")?cf:ma,minFilter:ru,samples:Qt?4:0})),w.getDrawingBufferSize(Ut),Qt?Vt.setSize(Ut.x,Ut.y):Vt.setSize(sv(Ut.x),sv(Ut.y));let te=w.getRenderTarget();w.setRenderTarget(Vt),w.getClearColor(Mt),$=w.getClearAlpha(),$<1&&w.setClearColor(16777215,.5),w.clear();let le=w.toneMapping;w.toneMapping=ga,_n(q,Et,dt),Pt.updateMultisampleRenderTarget(Vt),Pt.updateRenderTargetMipmap(Vt);let re=!1;for(let ve=0,fe=at.length;ve<fe;ve++){let he=at[ve],cn=he.object,Tr=he.geometry,qn=he.material,hi=he.group;if(qn.side===Ns&&cn.layers.test(dt.layers)){let wn=qn.side;qn.side=Oi,qn.needsUpdate=!0,pe(cn,Et,dt,Tr,qn,hi),qn.side=wn,qn.needsUpdate=!0,re=!0}}re===!0&&(Pt.updateMultisampleRenderTarget(Vt),Pt.updateRenderTargetMipmap(Vt)),w.setRenderTarget(te),w.setClearColor(Mt,$),w.toneMapping=le}function _n(q,at,Et){let dt=at.isScene===!0?at.overrideMaterial:null;for(let ut=0,Qt=q.length;ut<Qt;ut++){let te=q[ut],le=te.object,re=te.geometry,ve=dt===null?te.material:dt,fe=te.group;le.layers.test(Et.layers)&&pe(le,at,Et,re,ve,fe)}}function pe(q,at,Et,dt,ut,Qt){q.onBeforeRender(w,at,Et,dt,ut,Qt),q.modelViewMatrix.multiplyMatrices(Et.matrixWorldInverse,q.matrixWorld),q.normalMatrix.getNormalMatrix(q.modelViewMatrix),ut.onBeforeRender(w,at,Et,dt,q,Qt),ut.transparent===!0&&ut.side===Ns&&ut.forceSinglePass===!1?(ut.side=Oi,ut.needsUpdate=!0,w.renderBufferDirect(Et,at,dt,ut,q,Qt),ut.side=va,ut.needsUpdate=!0,w.renderBufferDirect(Et,at,dt,ut,q,Qt),ut.side=Ns):w.renderBufferDirect(Et,at,dt,ut,q,Qt),q.onAfterRender(w,at,Et,dt,ut,Qt)}function xn(q,at,Et){at.isScene!==!0&&(at=Ct);let dt=Xt.get(q),ut=_.state.lights,Qt=_.state.shadowsArray,te=ut.state.version,le=ot.getParameters(q,ut.state,Qt,at,Et),re=ot.getProgramCacheKey(le),ve=dt.programs;dt.environment=q.isMeshStandardMaterial?at.environment:null,dt.fog=at.fog,dt.envMap=(q.isMeshStandardMaterial?Y:ne).get(q.envMap||dt.environment),dt.envMapRotation=dt.environment!==null&&q.envMap===null?at.environmentRotation:q.envMapRotation,ve===void 0&&(q.addEventListener("dispose",J),ve=new Map,dt.programs=ve);let fe=ve.get(re);if(fe!==void 0){if(dt.currentProgram===fe&&dt.lightsStateVersion===te)return Cn(q,le),fe}else le.uniforms=ot.getUniforms(q),q.onBuild(Et,le,w),q.onBeforeCompile(le,w),fe=ot.acquireProgram(le,re),ve.set(re,fe),dt.uniforms=le.uniforms;let he=dt.uniforms;return(!q.isShaderMaterial&&!q.isRawShaderMaterial||q.clipping===!0)&&(he.clippingPlanes=Bt.uniform),Cn(q,le),dt.needsLights=Ar(q),dt.lightsStateVersion=te,dt.needsLights&&(he.ambientLightColor.value=ut.state.ambient,he.lightProbe.value=ut.state.probe,he.directionalLights.value=ut.state.directional,he.directionalLightShadows.value=ut.state.directionalShadow,he.spotLights.value=ut.state.spot,he.spotLightShadows.value=ut.state.spotShadow,he.rectAreaLights.value=ut.state.rectArea,he.ltc_1.value=ut.state.rectAreaLTC1,he.ltc_2.value=ut.state.rectAreaLTC2,he.pointLights.value=ut.state.point,he.pointLightShadows.value=ut.state.pointShadow,he.hemisphereLights.value=ut.state.hemi,he.directionalShadowMap.value=ut.state.directionalShadowMap,he.directionalShadowMatrix.value=ut.state.directionalShadowMatrix,he.spotShadowMap.value=ut.state.spotShadowMap,he.spotLightMatrix.value=ut.state.spotLightMatrix,he.spotLightMap.value=ut.state.spotLightMap,he.pointShadowMap.value=ut.state.pointShadowMap,he.pointShadowMatrix.value=ut.state.pointShadowMatrix),dt.currentProgram=fe,dt.uniformsList=null,fe}function Nn(q){if(q.uniformsList===null){let at=q.currentProgram.getUniforms();q.uniformsList=Tl.seqWithValue(at.seq,q.uniforms)}return q.uniformsList}function Cn(q,at){let Et=Xt.get(q);Et.outputColorSpace=at.outputColorSpace,Et.batching=at.batching,Et.instancing=at.instancing,Et.instancingColor=at.instancingColor,Et.instancingMorph=at.instancingMorph,Et.skinning=at.skinning,Et.morphTargets=at.morphTargets,Et.morphNormals=at.morphNormals,Et.morphColors=at.morphColors,Et.morphTargetsCount=at.morphTargetsCount,Et.numClippingPlanes=at.numClippingPlanes,Et.numIntersection=at.numClipIntersection,Et.vertexAlphas=at.vertexAlphas,Et.vertexTangents=at.vertexTangents,Et.toneMapping=at.toneMapping}function En(q,at,Et,dt,ut){at.isScene!==!0&&(at=Ct),Pt.resetTextureUnits();let Qt=at.fog,te=dt.isMeshStandardMaterial?at.environment:null,le=D===null?w.outputColorSpace:D.isXRRenderTarget===!0?D.texture.colorSpace:xa,re=(dt.isMeshStandardMaterial?Y:ne).get(dt.envMap||te),ve=dt.vertexColors===!0&&!!Et.attributes.color&&Et.attributes.color.itemSize===4,fe=!!Et.attributes.tangent&&(!!dt.normalMap||dt.anisotropy>0),he=!!Et.morphAttributes.position,cn=!!Et.morphAttributes.normal,Tr=!!Et.morphAttributes.color,qn=ga;dt.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(qn=w.toneMapping);let hi=Et.morphAttributes.position||Et.morphAttributes.normal||Et.morphAttributes.color,wn=hi!==void 0?hi.length:0,se=Xt.get(dt),bu=_.state.lights;if(nt===!0&&(bt===!0||q!==ct)){let pi=q===ct&&dt.id===P;Bt.setState(dt,q,pi)}let fn=!1;dt.version===se.__version?(se.needsLights&&se.lightsStateVersion!==bu.state.version||se.outputColorSpace!==le||ut.isBatchedMesh&&se.batching===!1||!ut.isBatchedMesh&&se.batching===!0||ut.isInstancedMesh&&se.instancing===!1||!ut.isInstancedMesh&&se.instancing===!0||ut.isSkinnedMesh&&se.skinning===!1||!ut.isSkinnedMesh&&se.skinning===!0||ut.isInstancedMesh&&se.instancingColor===!0&&ut.instanceColor===null||ut.isInstancedMesh&&se.instancingColor===!1&&ut.instanceColor!==null||ut.isInstancedMesh&&se.instancingMorph===!0&&ut.morphTexture===null||ut.isInstancedMesh&&se.instancingMorph===!1&&ut.morphTexture!==null||se.envMap!==re||dt.fog===!0&&se.fog!==Qt||se.numClippingPlanes!==void 0&&(se.numClippingPlanes!==Bt.numPlanes||se.numIntersection!==Bt.numIntersection)||se.vertexAlphas!==ve||se.vertexTangents!==fe||se.morphTargets!==he||se.morphNormals!==cn||se.morphColors!==Tr||se.toneMapping!==qn||Nt.isWebGL2===!0&&se.morphTargetsCount!==wn)&&(fn=!0):(fn=!0,se.__version=dt.version);let fo=se.currentProgram;fn===!0&&(fo=xn(dt,at,ut));let fc=!1,_e=!1,Pa=!1,Mn=fo.getUniforms(),ho=se.uniforms;if(wt.useProgram(fo.program)&&(fc=!0,_e=!0,Pa=!0),dt.id!==P&&(P=dt.id,_e=!0),fc||ct!==q){Mn.setValue(Z,"projectionMatrix",q.projectionMatrix),Mn.setValue(Z,"viewMatrix",q.matrixWorldInverse);let pi=Mn.map.cameraPosition;pi!==void 0&&pi.setValue(Z,Gt.setFromMatrixPosition(q.matrixWorld)),Nt.logarithmicDepthBuffer&&Mn.setValue(Z,"logDepthBufFC",2/(Math.log(q.far+1)/Math.LN2)),(dt.isMeshPhongMaterial||dt.isMeshToonMaterial||dt.isMeshLambertMaterial||dt.isMeshBasicMaterial||dt.isMeshStandardMaterial||dt.isShaderMaterial)&&Mn.setValue(Z,"isOrthographic",q.isOrthographicCamera===!0),ct!==q&&(ct=q,_e=!0,Pa=!0)}if(ut.isSkinnedMesh){Mn.setOptional(Z,ut,"bindMatrix"),Mn.setOptional(Z,ut,"bindMatrixInverse");let pi=ut.skeleton;pi&&(Nt.floatVertexTextures?(pi.boneTexture===null&&pi.computeBoneTexture(),Mn.setValue(Z,"boneTexture",pi.boneTexture,Pt)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}ut.isBatchedMesh&&(Mn.setOptional(Z,ut,"batchingTexture"),Mn.setValue(Z,"batchingTexture",ut._matricesTexture,Pt));let me=Et.morphAttributes;if((me.position!==void 0||me.normal!==void 0||me.color!==void 0&&Nt.isWebGL2===!0)&&b.update(ut,Et,fo),(_e||se.receiveShadow!==ut.receiveShadow)&&(se.receiveShadow=ut.receiveShadow,Mn.setValue(Z,"receiveShadow",ut.receiveShadow)),dt.isMeshGouraudMaterial&&dt.envMap!==null&&(ho.envMap.value=re,ho.flipEnvMap.value=re.isCubeTexture&&re.isRenderTargetTexture===!1?-1:1),_e&&(Mn.setValue(Z,"toneMappingExposure",w.toneMappingExposure),se.needsLights&&Kr(ho,Pa),Qt&&dt.fog===!0&&Lt.refreshFogUniforms(ho,Qt),Lt.refreshMaterialUniforms(ho,dt,vt,ft,Vt),Tl.upload(Z,Nn(se),ho,Pt)),dt.isShaderMaterial&&dt.uniformsNeedUpdate===!0&&(Tl.upload(Z,Nn(se),ho,Pt),dt.uniformsNeedUpdate=!1),dt.isSpriteMaterial&&Mn.setValue(Z,"center",ut.center),Mn.setValue(Z,"modelViewMatrix",ut.modelViewMatrix),Mn.setValue(Z,"normalMatrix",ut.normalMatrix),Mn.setValue(Z,"modelMatrix",ut.matrixWorld),dt.isShaderMaterial||dt.isRawShaderMaterial){let pi=dt.uniformsGroups;for(let hc=0,Au=pi.length;hc<Au;hc++)if(Nt.isWebGL2){let di=pi[hc];rt.update(di,fo),rt.bind(di,fo)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return fo}function Kr(q,at){q.ambientLightColor.needsUpdate=at,q.lightProbe.needsUpdate=at,q.directionalLights.needsUpdate=at,q.directionalLightShadows.needsUpdate=at,q.pointLights.needsUpdate=at,q.pointLightShadows.needsUpdate=at,q.spotLights.needsUpdate=at,q.spotLightShadows.needsUpdate=at,q.rectAreaLights.needsUpdate=at,q.hemisphereLights.needsUpdate=at}function Ar(q){return q.isMeshLambertMaterial||q.isMeshToonMaterial||q.isMeshPhongMaterial||q.isMeshStandardMaterial||q.isShadowMaterial||q.isShaderMaterial&&q.lights===!0}this.getActiveCubeFace=function(){return z},this.getActiveMipmapLevel=function(){return U},this.getRenderTarget=function(){return D},this.setRenderTargetTextures=function(q,at,Et){Xt.get(q.texture).__webglTexture=at,Xt.get(q.depthTexture).__webglTexture=Et;let dt=Xt.get(q);dt.__hasExternalTextures=!0,dt.__autoAllocateDepthBuffer=Et===void 0,dt.__autoAllocateDepthBuffer||_t.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),dt.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(q,at){let Et=Xt.get(q);Et.__webglFramebuffer=at,Et.__useDefaultFramebuffer=at===void 0},this.setRenderTarget=function(q,at=0,Et=0){D=q,z=at,U=Et;let dt=!0,ut=null,Qt=!1,te=!1;if(q){let re=Xt.get(q);re.__useDefaultFramebuffer!==void 0?(wt.bindFramebuffer(Z.FRAMEBUFFER,null),dt=!1):re.__webglFramebuffer===void 0?Pt.setupRenderTarget(q):re.__hasExternalTextures&&Pt.rebindTextures(q,Xt.get(q.texture).__webglTexture,Xt.get(q.depthTexture).__webglTexture);let ve=q.texture;(ve.isData3DTexture||ve.isDataArrayTexture||ve.isCompressedArrayTexture)&&(te=!0);let fe=Xt.get(q).__webglFramebuffer;q.isWebGLCubeRenderTarget?(Array.isArray(fe[at])?ut=fe[at][Et]:ut=fe[at],Qt=!0):Nt.isWebGL2&&q.samples>0&&Pt.useMultisampledRTT(q)===!1?ut=Xt.get(q).__webglMultisampledFramebuffer:Array.isArray(fe)?ut=fe[Et]:ut=fe,L.copy(q.viewport),W.copy(q.scissor),V=q.scissorTest}else L.copy(H).multiplyScalar(vt).floor(),W.copy(At).multiplyScalar(vt).floor(),V=It;if(wt.bindFramebuffer(Z.FRAMEBUFFER,ut)&&Nt.drawBuffers&&dt&&wt.drawBuffers(q,ut),wt.viewport(L),wt.scissor(W),wt.setScissorTest(V),Qt){let re=Xt.get(q.texture);Z.framebufferTexture2D(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Z.TEXTURE_CUBE_MAP_POSITIVE_X+at,re.__webglTexture,Et)}else if(te){let re=Xt.get(q.texture),ve=at||0;Z.framebufferTextureLayer(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,re.__webglTexture,Et||0,ve)}P=-1},this.readRenderTargetPixels=function(q,at,Et,dt,ut,Qt,te){if(!(q&&q.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let le=Xt.get(q).__webglFramebuffer;if(q.isWebGLCubeRenderTarget&&te!==void 0&&(le=le[te]),le){wt.bindFramebuffer(Z.FRAMEBUFFER,le);try{let re=q.texture,ve=re.format,fe=re.type;if(ve!==Lo&&k.convert(ve)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}let he=fe===cf&&(_t.has("EXT_color_buffer_half_float")||Nt.isWebGL2&&_t.has("EXT_color_buffer_float"));if(fe!==ma&&k.convert(fe)!==Z.getParameter(Z.IMPLEMENTATION_COLOR_READ_TYPE)&&!(fe===Os&&(Nt.isWebGL2||_t.has("OES_texture_float")||_t.has("WEBGL_color_buffer_float")))&&!he){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}at>=0&&at<=q.width-dt&&Et>=0&&Et<=q.height-ut&&Z.readPixels(at,Et,dt,ut,k.convert(ve),k.convert(fe),Qt)}finally{let re=D!==null?Xt.get(D).__webglFramebuffer:null;wt.bindFramebuffer(Z.FRAMEBUFFER,re)}}},this.copyFramebufferToTexture=function(q,at,Et=0){let dt=Math.pow(2,-Et),ut=Math.floor(at.image.width*dt),Qt=Math.floor(at.image.height*dt);Pt.setTexture2D(at,0),Z.copyTexSubImage2D(Z.TEXTURE_2D,Et,0,0,q.x,q.y,ut,Qt),wt.unbindTexture()},this.copyTextureToTexture=function(q,at,Et,dt=0){let ut=at.image.width,Qt=at.image.height,te=k.convert(Et.format),le=k.convert(Et.type);Pt.setTexture2D(Et,0),Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,Et.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Et.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,Et.unpackAlignment),at.isDataTexture?Z.texSubImage2D(Z.TEXTURE_2D,dt,q.x,q.y,ut,Qt,te,le,at.image.data):at.isCompressedTexture?Z.compressedTexSubImage2D(Z.TEXTURE_2D,dt,q.x,q.y,at.mipmaps[0].width,at.mipmaps[0].height,te,at.mipmaps[0].data):Z.texSubImage2D(Z.TEXTURE_2D,dt,q.x,q.y,te,le,at.image),dt===0&&Et.generateMipmaps&&Z.generateMipmap(Z.TEXTURE_2D),wt.unbindTexture()},this.copyTextureToTexture3D=function(q,at,Et,dt,ut=0){if(w.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let Qt=Math.round(q.max.x-q.min.x),te=Math.round(q.max.y-q.min.y),le=q.max.z-q.min.z+1,re=k.convert(dt.format),ve=k.convert(dt.type),fe;if(dt.isData3DTexture)Pt.setTexture3D(dt,0),fe=Z.TEXTURE_3D;else if(dt.isDataArrayTexture||dt.isCompressedArrayTexture)Pt.setTexture2DArray(dt,0),fe=Z.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,dt.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,dt.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,dt.unpackAlignment);let he=Z.getParameter(Z.UNPACK_ROW_LENGTH),cn=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),Tr=Z.getParameter(Z.UNPACK_SKIP_PIXELS),qn=Z.getParameter(Z.UNPACK_SKIP_ROWS),hi=Z.getParameter(Z.UNPACK_SKIP_IMAGES),wn=Et.isCompressedTexture?Et.mipmaps[ut]:Et.image;Z.pixelStorei(Z.UNPACK_ROW_LENGTH,wn.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,wn.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,q.min.x),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,q.min.y),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,q.min.z),Et.isDataTexture||Et.isData3DTexture?Z.texSubImage3D(fe,ut,at.x,at.y,at.z,Qt,te,le,re,ve,wn.data):dt.isCompressedArrayTexture?Z.compressedTexSubImage3D(fe,ut,at.x,at.y,at.z,Qt,te,le,re,wn.data):Z.texSubImage3D(fe,ut,at.x,at.y,at.z,Qt,te,le,re,ve,wn),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,he),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,cn),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Tr),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,qn),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,hi),ut===0&&dt.generateMipmaps&&Z.generateMipmap(fe),wt.unbindTexture()},this.initTexture=function(q){q.isCubeTexture?Pt.setTextureCube(q,0):q.isData3DTexture?Pt.setTexture3D(q,0):q.isDataArrayTexture||q.isCompressedArrayTexture?Pt.setTexture2DArray(q,0):Pt.setTexture2D(q,0),wt.unbindTexture()},this.resetState=function(){z=0,U=0,D=null,wt.reset(),G.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ds}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;let e=this.getContext();e.drawingBufferColorSpace=t===Zv?"display-p3":"srgb",e.unpackColorSpace=Rn.workingColorSpace===ld?"display-p3":"srgb"}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(t){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=t}},bv=class extends Mv{};bv.prototype.isWebGL1Renderer=!0;var hf=class{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=t!==void 0?t.length/e:0,this.usage=rv,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Fs()}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}get updateRange(){return nP("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,i){t*=this.stride,i*=e.stride;for(let s=0,u=this.stride;s<u;s++)this.array[t+s]=e.array[i+s];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Fs()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(e,this.stride);return i.setUsage(this.usage),i}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Fs()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},wi=new st,ts=class n{constructor(t,e,i,s=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=t,this.itemSize=e,this.offset=i,this.normalized=s}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,i=this.data.count;e<i;e++)wi.fromBufferAttribute(this,e),wi.applyMatrix4(t),this.setXYZ(e,wi.x,wi.y,wi.z);return this}applyNormalMatrix(t){for(let e=0,i=this.count;e<i;e++)wi.fromBufferAttribute(this,e),wi.applyNormalMatrix(t),this.setXYZ(e,wi.x,wi.y,wi.z);return this}transformDirection(t){for(let e=0,i=this.count;e<i;e++)wi.fromBufferAttribute(this,e),wi.transformDirection(t),this.setXYZ(e,wi.x,wi.y,wi.z);return this}getComponent(t,e){let i=this.array[t*this.data.stride+this.offset+e];return this.normalized&&(i=jo(i,this.array)),i}setComponent(t,e,i){return this.normalized&&(i=Pn(i,this.array)),this.data.array[t*this.data.stride+this.offset+e]=i,this}setX(t,e){return this.normalized&&(e=Pn(e,this.array)),this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.normalized&&(e=Pn(e,this.array)),this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.normalized&&(e=Pn(e,this.array)),this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.normalized&&(e=Pn(e,this.array)),this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){let e=this.data.array[t*this.data.stride+this.offset];return this.normalized&&(e=jo(e,this.array)),e}getY(t){let e=this.data.array[t*this.data.stride+this.offset+1];return this.normalized&&(e=jo(e,this.array)),e}getZ(t){let e=this.data.array[t*this.data.stride+this.offset+2];return this.normalized&&(e=jo(e,this.array)),e}getW(t){let e=this.data.array[t*this.data.stride+this.offset+3];return this.normalized&&(e=jo(e,this.array)),e}setXY(t,e,i){return t=t*this.data.stride+this.offset,this.normalized&&(e=Pn(e,this.array),i=Pn(i,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this}setXYZ(t,e,i,s){return t=t*this.data.stride+this.offset,this.normalized&&(e=Pn(e,this.array),i=Pn(i,this.array),s=Pn(s,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=s,this}setXYZW(t,e,i,s,u){return t=t*this.data.stride+this.offset,this.normalized&&(e=Pn(e,this.array),i=Pn(i,this.array),s=Pn(s,this.array),u=Pn(u,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=s,this.data.array[t+3]=u,this}clone(t){if(t===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let i=0;i<this.count;i++){let s=i*this.data.stride+this.offset;for(let u=0;u<this.itemSize;u++)e.push(this.data.array[s+u])}return new Zn(new this.array.constructor(e),this.itemSize,this.normalized)}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new n(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(t===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let i=0;i<this.count;i++){let s=i*this.data.stride+this.offset;for(let u=0;u<this.itemSize;u++)e.push(this.data.array[s+u])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},Av=class extends cu{constructor(t){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Te(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}},fa,rf=new st,_l=new st,xl=new st,El=new Ot,of=new Ot,fP=new $n,Ap=new st,sf=new st,Tp=new st,UI=new Ot,Yy=new Ot,BI=new Ot,Tv=class extends Oo{constructor(t=new Av){if(super(),this.isSprite=!0,this.type="Sprite",fa===void 0){fa=new ui;let e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new hf(e,5);fa.setIndex([0,1,2,0,2,3]),fa.setAttribute("position",new ts(i,3,0,!1)),fa.setAttribute("uv",new ts(i,2,3,!1))}this.geometry=fa,this.material=t,this.center=new Ot(.5,.5)}raycast(t,e){t.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),_l.setFromMatrixScale(this.matrixWorld),fP.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),xl.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&_l.multiplyScalar(-xl.z);let i=this.material.rotation,s,u;i!==0&&(u=Math.cos(i),s=Math.sin(i));let c=this.center;Cp(Ap.set(-.5,-.5,0),xl,c,_l,s,u),Cp(sf.set(.5,-.5,0),xl,c,_l,s,u),Cp(Tp.set(.5,.5,0),xl,c,_l,s,u),UI.set(0,0),Yy.set(1,0),BI.set(1,1);let f=t.ray.intersectTriangle(Ap,sf,Tp,!1,rf);if(f===null&&(Cp(sf.set(-.5,.5,0),xl,c,_l,s,u),Yy.set(0,1),f=t.ray.intersectTriangle(Ap,Tp,sf,!1,rf),f===null))return;let p=t.ray.origin.distanceTo(rf);p<t.near||p>t.far||e.push({distance:p,point:rf.clone(),uv:iu.getInterpolation(rf,Ap,sf,Tp,UI,Yy,BI,new Ot),face:null,object:this})}copy(t,e){return super.copy(t,e),t.center!==void 0&&this.center.copy(t.center),this.material=t.material,this}};Tv.Dispose=function(){fa.dispose(),fa=void 0};function Cp(n,t,e,i,s,u){El.subVectors(n,e).addScalar(.5).multiply(i),s!==void 0?(of.x=u*El.x-s*El.y,of.y=s*El.x+u*El.y):of.copy(El),n.copy(t),n.x+=of.x,n.y+=of.y,n.applyMatrix4(fP)}var co=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){let i=this.getUtoTmapping(t);return this.getPoint(i,e)}getPoints(t=5){let e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return e}getSpacedPoints(t=5){let e=[];for(let i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e}getLength(){let t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let e=[],i,s=this.getPoint(0),u=0;e.push(0);for(let c=1;c<=t;c++)i=this.getPoint(c/t),u+=i.distanceTo(s),e.push(u),s=i;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){let i=this.getLengths(),s=0,u=i.length,c;e?c=e:c=t*i[u-1];let f=0,p=u-1,d;for(;f<=p;)if(s=Math.floor(f+(p-f)/2),d=i[s]-c,d<0)f=s+1;else if(d>0)p=s-1;else{p=s;break}if(s=p,i[s]===c)return s/(u-1);let g=i[s],v=i[s+1]-g,E=(c-g)/v;return(s+E)/(u-1)}getTangent(t,e){let s=t-1e-4,u=t+1e-4;s<0&&(s=0),u>1&&(u=1);let c=this.getPoint(s),f=this.getPoint(u),p=e||(c.isVector2?new Ot:new st);return p.copy(f).sub(c).normalize(),p}getTangentAt(t,e){let i=this.getUtoTmapping(t);return this.getTangent(i,e)}computeFrenetFrames(t,e){let i=new st,s=[],u=[],c=[],f=new st,p=new $n;for(let E=0;E<=t;E++){let M=E/t;s[E]=this.getTangentAt(M,new st)}u[0]=new st,c[0]=new st;let d=Number.MAX_VALUE,g=Math.abs(s[0].x),y=Math.abs(s[0].y),v=Math.abs(s[0].z);g<=d&&(d=g,i.set(1,0,0)),y<=d&&(d=y,i.set(0,1,0)),v<=d&&i.set(0,0,1),f.crossVectors(s[0],i).normalize(),u[0].crossVectors(s[0],f),c[0].crossVectors(s[0],u[0]);for(let E=1;E<=t;E++){if(u[E]=u[E-1].clone(),c[E]=c[E-1].clone(),f.crossVectors(s[E-1],s[E]),f.length()>Number.EPSILON){f.normalize();let M=Math.acos(ai(s[E-1].dot(s[E]),-1,1));u[E].applyMatrix4(p.makeRotationAxis(f,M))}c[E].crossVectors(s[E],u[E])}if(e===!0){let E=Math.acos(ai(u[0].dot(u[t]),-1,1));E/=t,s[0].dot(f.crossVectors(u[0],u[t]))>0&&(E=-E);for(let M=1;M<=t;M++)u[M].applyMatrix4(p.makeRotationAxis(s[M],E*M)),c[M].crossVectors(s[M],u[M])}return{tangents:s,normals:u,binormals:c}}clone(){return new this.constructor().copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){let t={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}},pf=class extends co{constructor(t=0,e=0,i=1,s=1,u=0,c=Math.PI*2,f=!1,p=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=i,this.yRadius=s,this.aStartAngle=u,this.aEndAngle=c,this.aClockwise=f,this.aRotation=p}getPoint(t,e=new Ot){let i=e,s=Math.PI*2,u=this.aEndAngle-this.aStartAngle,c=Math.abs(u)<Number.EPSILON;for(;u<0;)u+=s;for(;u>s;)u-=s;u<Number.EPSILON&&(c?u=0:u=s),this.aClockwise===!0&&!c&&(u===s?u=-s:u=u-s);let f=this.aStartAngle+t*u,p=this.aX+this.xRadius*Math.cos(f),d=this.aY+this.yRadius*Math.sin(f);if(this.aRotation!==0){let g=Math.cos(this.aRotation),y=Math.sin(this.aRotation),v=p-this.aX,E=d-this.aY;p=v*g-E*y+this.aX,d=v*y+E*g+this.aY}return i.set(p,d)}copy(t){return super.copy(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}toJSON(){let t=super.toJSON();return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t}fromJSON(t){return super.fromJSON(t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this}},Cv=class extends pf{constructor(t,e,i,s,u,c){super(t,e,i,i,s,u,c),this.isArcCurve=!0,this.type="ArcCurve"}};function jv(){let n=0,t=0,e=0,i=0;function s(u,c,f,p){n=u,t=f,e=-3*u+3*c-2*f-p,i=2*u-2*c+f+p}return{initCatmullRom:function(u,c,f,p,d){s(c,f,d*(f-u),d*(p-c))},initNonuniformCatmullRom:function(u,c,f,p,d,g,y){let v=(c-u)/d-(f-u)/(d+g)+(f-c)/g,E=(f-c)/g-(p-c)/(g+y)+(p-f)/y;v*=g,E*=g,s(c,f,v,E)},calc:function(u){let c=u*u,f=c*u;return n+t*u+e*c+i*f}}}var Ip=new st,$y=new jv,Zy=new jv,Jy=new jv,Iv=class extends co{constructor(t=[],e=!1,i="centripetal",s=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=t,this.closed=e,this.curveType=i,this.tension=s}getPoint(t,e=new st){let i=e,s=this.points,u=s.length,c=(u-(this.closed?0:1))*t,f=Math.floor(c),p=c-f;this.closed?f+=f>0?0:(Math.floor(Math.abs(f)/u)+1)*u:p===0&&f===u-1&&(f=u-2,p=1);let d,g;this.closed||f>0?d=s[(f-1)%u]:(Ip.subVectors(s[0],s[1]).add(s[0]),d=Ip);let y=s[f%u],v=s[(f+1)%u];if(this.closed||f+2<u?g=s[(f+2)%u]:(Ip.subVectors(s[u-1],s[u-2]).add(s[u-1]),g=Ip),this.curveType==="centripetal"||this.curveType==="chordal"){let E=this.curveType==="chordal"?.5:.25,M=Math.pow(d.distanceToSquared(y),E),A=Math.pow(y.distanceToSquared(v),E),_=Math.pow(v.distanceToSquared(g),E);A<1e-4&&(A=1),M<1e-4&&(M=A),_<1e-4&&(_=A),$y.initNonuniformCatmullRom(d.x,y.x,v.x,g.x,M,A,_),Zy.initNonuniformCatmullRom(d.y,y.y,v.y,g.y,M,A,_),Jy.initNonuniformCatmullRom(d.z,y.z,v.z,g.z,M,A,_)}else this.curveType==="catmullrom"&&($y.initCatmullRom(d.x,y.x,v.x,g.x,this.tension),Zy.initCatmullRom(d.y,y.y,v.y,g.y,this.tension),Jy.initCatmullRom(d.z,y.z,v.z,g.z,this.tension));return i.set($y.calc(p),Zy.calc(p),Jy.calc(p)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(s.clone())}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}toJSON(){let t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){let s=this.points[e];t.points.push(s.toArray())}return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(new st().fromArray(s))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this}};function zI(n,t,e,i,s){let u=(i-t)*.5,c=(s-e)*.5,f=n*n,p=n*f;return(2*e-2*i+u+c)*p+(-3*e+3*i-2*u-c)*f+u*n+e}function q7(n,t){let e=1-n;return e*e*t}function V7(n,t){return 2*(1-n)*n*t}function H7(n,t){return n*n*t}function uf(n,t,e,i){return q7(n,t)+V7(n,e)+H7(n,i)}function W7(n,t){let e=1-n;return e*e*e*t}function X7(n,t){let e=1-n;return 3*e*e*n*t}function Y7(n,t){return 3*(1-n)*n*n*t}function $7(n,t){return n*n*n*t}function lf(n,t,e,i,s){return W7(n,t)+X7(n,e)+Y7(n,i)+$7(n,s)}var td=class extends co{constructor(t=new Ot,e=new Ot,i=new Ot,s=new Ot){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=t,this.v1=e,this.v2=i,this.v3=s}getPoint(t,e=new Ot){let i=e,s=this.v0,u=this.v1,c=this.v2,f=this.v3;return i.set(lf(t,s.x,u.x,c.x,f.x),lf(t,s.y,u.y,c.y,f.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}},Pv=class extends co{constructor(t=new st,e=new st,i=new st,s=new st){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=t,this.v1=e,this.v2=i,this.v3=s}getPoint(t,e=new st){let i=e,s=this.v0,u=this.v1,c=this.v2,f=this.v3;return i.set(lf(t,s.x,u.x,c.x,f.x),lf(t,s.y,u.y,c.y,f.y),lf(t,s.z,u.z,c.z,f.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this}},ed=class extends co{constructor(t=new Ot,e=new Ot){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=t,this.v2=e}getPoint(t,e=new Ot){let i=e;return t===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new Ot){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},Rv=class extends co{constructor(t=new st,e=new st){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=t,this.v2=e}getPoint(t,e=new st){let i=e;return t===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(t).add(this.v1)),i}getPointAt(t,e){return this.getPoint(t,e)}getTangent(t,e=new st){return e.subVectors(this.v2,this.v1).normalize()}getTangentAt(t,e){return this.getTangent(t,e)}copy(t){return super.copy(t),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},nd=class extends co{constructor(t=new Ot,e=new Ot,i=new Ot){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new Ot){let i=e,s=this.v0,u=this.v1,c=this.v2;return i.set(uf(t,s.x,u.x,c.x),uf(t,s.y,u.y,c.y)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},Lv=class extends co{constructor(t=new st,e=new st,i=new st){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=t,this.v1=e,this.v2=i}getPoint(t,e=new st){let i=e,s=this.v0,u=this.v1,c=this.v2;return i.set(uf(t,s.x,u.x,c.x),uf(t,s.y,u.y,c.y),uf(t,s.z,u.z,c.z)),i}copy(t){return super.copy(t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this}toJSON(){let t=super.toJSON();return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t}fromJSON(t){return super.fromJSON(t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this}},rd=class extends co{constructor(t=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=t}getPoint(t,e=new Ot){let i=e,s=this.points,u=(s.length-1)*t,c=Math.floor(u),f=u-c,p=s[c===0?c:c-1],d=s[c],g=s[c>s.length-2?s.length-1:c+1],y=s[c>s.length-3?s.length-1:c+2];return i.set(zI(f,p.x,d.x,g.x,y.x),zI(f,p.y,d.y,g.y,y.y)),i}copy(t){super.copy(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(s.clone())}return this}toJSON(){let t=super.toJSON();t.points=[];for(let e=0,i=this.points.length;e<i;e++){let s=this.points[e];t.points.push(s.toArray())}return t}fromJSON(t){super.fromJSON(t),this.points=[];for(let e=0,i=t.points.length;e<i;e++){let s=t.points[e];this.points.push(new Ot().fromArray(s))}return this}},Nv=Object.freeze({__proto__:null,ArcCurve:Cv,CatmullRomCurve3:Iv,CubicBezierCurve:td,CubicBezierCurve3:Pv,EllipseCurve:pf,LineCurve:ed,LineCurve3:Rv,QuadraticBezierCurve:nd,QuadraticBezierCurve3:Lv,SplineCurve:rd}),Ov=class extends co{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){let t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);if(!t.equals(e)){let i=t.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new Nv[i](e,t))}return this}getPoint(t,e){let i=t*this.getLength(),s=this.getCurveLengths(),u=0;for(;u<s.length;){if(s[u]>=i){let c=s[u]-i,f=this.curves[u],p=f.getLength(),d=p===0?0:1-c/p;return f.getPointAt(d,e)}u++}return null}getLength(){let t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;let t=[],e=0;for(let i=0,s=this.curves.length;i<s;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t,t}getSpacedPoints(t=40){let e=[];for(let i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e}getPoints(t=12){let e=[],i;for(let s=0,u=this.curves;s<u.length;s++){let c=u[s],f=c.isEllipseCurve?t*2:c.isLineCurve||c.isLineCurve3?1:c.isSplineCurve?t*c.points.length:t,p=c.getPoints(f);for(let d=0;d<p.length;d++){let g=p[d];i&&i.equals(g)||(e.push(g),i=g)}}return this.autoClose&&e.length>1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,i=t.curves.length;e<i;e++){let s=t.curves[e];this.curves.push(s.clone())}return this.autoClose=t.autoClose,this}toJSON(){let t=super.toJSON();t.autoClose=this.autoClose,t.curves=[];for(let e=0,i=this.curves.length;e<i;e++){let s=this.curves[e];t.curves.push(s.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.autoClose=t.autoClose,this.curves=[];for(let e=0,i=t.curves.length;e<i;e++){let s=t.curves[e];this.curves.push(new Nv[s.type]().fromJSON(s))}return this}},Ll=class extends Ov{constructor(t){super(),this.type="Path",this.currentPoint=new Ot,t&&this.setFromPoints(t)}setFromPoints(t){this.moveTo(t[0].x,t[0].y);for(let e=1,i=t.length;e<i;e++)this.lineTo(t[e].x,t[e].y);return this}moveTo(t,e){return this.currentPoint.set(t,e),this}lineTo(t,e){let i=new ed(this.currentPoint.clone(),new Ot(t,e));return this.curves.push(i),this.currentPoint.set(t,e),this}quadraticCurveTo(t,e,i,s){let u=new nd(this.currentPoint.clone(),new Ot(t,e),new Ot(i,s));return this.curves.push(u),this.currentPoint.set(i,s),this}bezierCurveTo(t,e,i,s,u,c){let f=new td(this.currentPoint.clone(),new Ot(t,e),new Ot(i,s),new Ot(u,c));return this.curves.push(f),this.currentPoint.set(u,c),this}splineThru(t){let e=[this.currentPoint.clone()].concat(t),i=new rd(e);return this.curves.push(i),this.currentPoint.copy(t[t.length-1]),this}arc(t,e,i,s,u,c){let f=this.currentPoint.x,p=this.currentPoint.y;return this.absarc(t+f,e+p,i,s,u,c),this}absarc(t,e,i,s,u,c){return this.absellipse(t,e,i,i,s,u,c),this}ellipse(t,e,i,s,u,c,f,p){let d=this.currentPoint.x,g=this.currentPoint.y;return this.absellipse(t+d,e+g,i,s,u,c,f,p),this}absellipse(t,e,i,s,u,c,f,p){let d=new pf(t,e,i,s,u,c,f,p);if(this.curves.length>0){let y=d.getPoint(0);y.equals(this.currentPoint)||this.lineTo(y.x,y.y)}this.curves.push(d);let g=d.getPoint(1);return this.currentPoint.copy(g),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){let t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}};var Nl=class extends Ll{constructor(t){super(t),this.uuid=Fs(),this.type="Shape",this.holes=[]}getPointsHoles(t){let e=[];for(let i=0,s=this.holes.length;i<s;i++)e[i]=this.holes[i].getPoints(t);return e}extractPoints(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}}copy(t){super.copy(t),this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){let s=t.holes[e];this.holes.push(s.clone())}return this}toJSON(){let t=super.toJSON();t.uuid=this.uuid,t.holes=[];for(let e=0,i=this.holes.length;e<i;e++){let s=this.holes[e];t.holes.push(s.toJSON())}return t}fromJSON(t){super.fromJSON(t),this.uuid=t.uuid,this.holes=[];for(let e=0,i=t.holes.length;e<i;e++){let s=t.holes[e];this.holes.push(new Ll().fromJSON(s))}return this}},Z7={triangulate:function(n,t,e=2){let i=t&&t.length,s=i?t[0]*e:n.length,u=hP(n,0,s,e,!0),c=[];if(!u||u.next===u.prev)return c;let f,p,d,g,y,v,E;if(i&&(u=tY(n,t,u,e)),n.length>80*e){f=d=n[0],p=g=n[1];for(let M=e;M<s;M+=e)y=n[M],v=n[M+1],y<f&&(f=y),v<p&&(p=v),y>d&&(d=y),v>g&&(g=v);E=Math.max(d-f,g-p),E=E!==0?32767/E:0}return df(u,c,e,f,p,E,0),c}};function hP(n,t,e,i,s){let u,c;if(s===fY(n,t,e,i)>0)for(u=t;u<e;u+=i)c=GI(u,n[u],n[u+1],c);else for(u=e-i;u>=t;u-=i)c=GI(u,n[u],n[u+1],c);return c&&fd(c,c.next)&&(mf(c),c=c.next),c}function fu(n,t){if(!n)return n;t||(t=n);let e=n,i;do if(i=!1,!e.steiner&&(fd(e,e.next)||jn(e.prev,e,e.next)===0)){if(mf(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function df(n,t,e,i,s,u,c){if(!n)return;!c&&u&&oY(n,i,s,u);let f=n,p,d;for(;n.prev!==n.next;){if(p=n.prev,d=n.next,u?j7(n,i,s,u):J7(n)){t.push(p.i/e|0),t.push(n.i/e|0),t.push(d.i/e|0),mf(n),n=d.next,f=d.next;continue}if(n=d,n===f){c?c===1?(n=K7(fu(n),t,e),df(n,t,e,i,s,u,2)):c===2&&Q7(n,t,e,i,s,u):df(fu(n),t,e,i,s,u,1);break}}}function J7(n){let t=n.prev,e=n,i=n.next;if(jn(t,e,i)>=0)return!1;let s=t.x,u=e.x,c=i.x,f=t.y,p=e.y,d=i.y,g=s<u?s<c?s:c:u<c?u:c,y=f<p?f<d?f:d:p<d?p:d,v=s>u?s>c?s:c:u>c?u:c,E=f>p?f>d?f:d:p>d?p:d,M=i.next;for(;M!==t;){if(M.x>=g&&M.x<=v&&M.y>=y&&M.y<=E&&Ml(s,f,u,p,c,d,M.x,M.y)&&jn(M.prev,M,M.next)>=0)return!1;M=M.next}return!0}function j7(n,t,e,i){let s=n.prev,u=n,c=n.next;if(jn(s,u,c)>=0)return!1;let f=s.x,p=u.x,d=c.x,g=s.y,y=u.y,v=c.y,E=f<p?f<d?f:d:p<d?p:d,M=g<y?g<v?g:v:y<v?y:v,A=f>p?f>d?f:d:p>d?p:d,_=g>y?g>v?g:v:y>v?y:v,x=Dv(E,M,t,e,i),T=Dv(A,_,t,e,i),w=n.prevZ,R=n.nextZ;for(;w&&w.z>=x&&R&&R.z<=T;){if(w.x>=E&&w.x<=A&&w.y>=M&&w.y<=_&&w!==s&&w!==c&&Ml(f,g,p,y,d,v,w.x,w.y)&&jn(w.prev,w,w.next)>=0||(w=w.prevZ,R.x>=E&&R.x<=A&&R.y>=M&&R.y<=_&&R!==s&&R!==c&&Ml(f,g,p,y,d,v,R.x,R.y)&&jn(R.prev,R,R.next)>=0))return!1;R=R.nextZ}for(;w&&w.z>=x;){if(w.x>=E&&w.x<=A&&w.y>=M&&w.y<=_&&w!==s&&w!==c&&Ml(f,g,p,y,d,v,w.x,w.y)&&jn(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;R&&R.z<=T;){if(R.x>=E&&R.x<=A&&R.y>=M&&R.y<=_&&R!==s&&R!==c&&Ml(f,g,p,y,d,v,R.x,R.y)&&jn(R.prev,R,R.next)>=0)return!1;R=R.nextZ}return!0}function K7(n,t,e){let i=n;do{let s=i.prev,u=i.next.next;!fd(s,u)&&pP(s,i,i.next,u)&&gf(s,u)&&gf(u,s)&&(t.push(s.i/e|0),t.push(i.i/e|0),t.push(u.i/e|0),mf(i),mf(i.next),i=n=u),i=i.next}while(i!==n);return fu(i)}function Q7(n,t,e,i,s,u){let c=n;do{let f=c.next.next;for(;f!==c.prev;){if(c.i!==f.i&&uY(c,f)){let p=dP(c,f);c=fu(c,c.next),p=fu(p,p.next),df(c,t,e,i,s,u,0),df(p,t,e,i,s,u,0);return}f=f.next}c=c.next}while(c!==n)}function tY(n,t,e,i){let s=[],u,c,f,p,d;for(u=0,c=t.length;u<c;u++)f=t[u]*i,p=u<c-1?t[u+1]*i:n.length,d=hP(n,f,p,i,!1),d===d.next&&(d.steiner=!0),s.push(aY(d));for(s.sort(eY),u=0;u<s.length;u++)e=nY(s[u],e);return e}function eY(n,t){return n.x-t.x}function nY(n,t){let e=rY(n,t);if(!e)return t;let i=dP(e,n);return fu(i,i.next),fu(e,e.next)}function rY(n,t){let e=t,i=-1/0,s,u=n.x,c=n.y;do{if(c<=e.y&&c>=e.next.y&&e.next.y!==e.y){let v=e.x+(c-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(v<=u&&v>i&&(i=v,s=e.x<e.next.x?e:e.next,v===u))return s}e=e.next}while(e!==t);if(!s)return null;let f=s,p=s.x,d=s.y,g=1/0,y;e=s;do u>=e.x&&e.x>=p&&u!==e.x&&Ml(c<d?u:i,c,p,d,c<d?i:u,c,e.x,e.y)&&(y=Math.abs(c-e.y)/(u-e.x),gf(e,n)&&(y<g||y===g&&(e.x>s.x||e.x===s.x&&iY(s,e)))&&(s=e,g=y)),e=e.next;while(e!==f);return s}function iY(n,t){return jn(n.prev,n,t.prev)<0&&jn(t.next,n,n.next)<0}function oY(n,t,e,i){let s=n;do s.z===0&&(s.z=Dv(s.x,s.y,t,e,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==n);s.prevZ.nextZ=null,s.prevZ=null,sY(s)}function sY(n){let t,e,i,s,u,c,f,p,d=1;do{for(e=n,n=null,u=null,c=0;e;){for(c++,i=e,f=0,t=0;t<d&&(f++,i=i.nextZ,!!i);t++);for(p=d;f>0||p>0&&i;)f!==0&&(p===0||!i||e.z<=i.z)?(s=e,e=e.nextZ,f--):(s=i,i=i.nextZ,p--),u?u.nextZ=s:n=s,s.prevZ=u,u=s;e=i}u.nextZ=null,d*=2}while(c>1);return n}function Dv(n,t,e,i,s){return n=(n-e)*s|0,t=(t-i)*s|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n|t<<1}function aY(n){let t=n,e=n;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==n);return e}function Ml(n,t,e,i,s,u,c,f){return(s-c)*(t-f)>=(n-c)*(u-f)&&(n-c)*(i-f)>=(e-c)*(t-f)&&(e-c)*(u-f)>=(s-c)*(i-f)}function uY(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!lY(n,t)&&(gf(n,t)&&gf(t,n)&&cY(n,t)&&(jn(n.prev,n,t.prev)||jn(n,t.prev,t))||fd(n,t)&&jn(n.prev,n,n.next)>0&&jn(t.prev,t,t.next)>0)}function jn(n,t,e){return(t.y-n.y)*(e.x-t.x)-(t.x-n.x)*(e.y-t.y)}function fd(n,t){return n.x===t.x&&n.y===t.y}function pP(n,t,e,i){let s=Rp(jn(n,t,e)),u=Rp(jn(n,t,i)),c=Rp(jn(e,i,n)),f=Rp(jn(e,i,t));return!!(s!==u&&c!==f||s===0&&Pp(n,e,t)||u===0&&Pp(n,i,t)||c===0&&Pp(e,n,i)||f===0&&Pp(e,t,i))}function Pp(n,t,e){return t.x<=Math.max(n.x,e.x)&&t.x>=Math.min(n.x,e.x)&&t.y<=Math.max(n.y,e.y)&&t.y>=Math.min(n.y,e.y)}function Rp(n){return n>0?1:n<0?-1:0}function lY(n,t){let e=n;do{if(e.i!==n.i&&e.next.i!==n.i&&e.i!==t.i&&e.next.i!==t.i&&pP(e,e.next,n,t))return!0;e=e.next}while(e!==n);return!1}function gf(n,t){return jn(n.prev,n,n.next)<0?jn(n,t,n.next)>=0&&jn(n,n.prev,t)>=0:jn(n,t,n.prev)<0||jn(n,n.next,t)<0}function cY(n,t){let e=n,i=!1,s=(n.x+t.x)/2,u=(n.y+t.y)/2;do e.y>u!=e.next.y>u&&e.next.y!==e.y&&s<(e.next.x-e.x)*(u-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==n);return i}function dP(n,t){let e=new Fv(n.i,n.x,n.y),i=new Fv(t.i,t.x,t.y),s=n.next,u=t.prev;return n.next=t,t.prev=n,e.next=s,s.prev=e,i.next=e,e.prev=i,u.next=i,i.prev=u,i}function GI(n,t,e,i){let s=new Fv(n,t,e);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function mf(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function Fv(n,t,e){this.i=n,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function fY(n,t,e,i){let s=0;for(let u=t,c=e-i;u<e;u+=i)s+=(n[c]-n[u])*(n[u+1]+n[c+1]),c=u;return s}var ya=class n{static area(t){let e=t.length,i=0;for(let s=e-1,u=0;u<e;s=u++)i+=t[s].x*t[u].y-t[u].x*t[s].y;return i*.5}static isClockWise(t){return n.area(t)<0}static triangulateShape(t,e){let i=[],s=[],u=[];kI(t),qI(i,t);let c=t.length;e.forEach(kI);for(let p=0;p<e.length;p++)s.push(c),c+=e[p].length,qI(i,e[p]);let f=Z7.triangulate(i,s);for(let p=0;p<f.length;p+=3)u.push(f.slice(p,p+3));return u}};function kI(n){let t=n.length;t>2&&n[t-1].equals(n[0])&&n.pop()}function qI(n,t){for(let e=0;e<t.length;e++)n.push(t[e].x),n.push(t[e].y)}var id=class n extends ui{constructor(t=new Nl([new Ot(.5,.5),new Ot(-.5,.5),new Ot(-.5,-.5),new Ot(.5,-.5)]),e={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},t=Array.isArray(t)?t:[t];let i=this,s=[],u=[];for(let f=0,p=t.length;f<p;f++){let d=t[f];c(d)}this.setAttribute("position",new _r(s,3)),this.setAttribute("uv",new _r(u,2)),this.computeVertexNormals();function c(f){let p=[],d=e.curveSegments!==void 0?e.curveSegments:12,g=e.steps!==void 0?e.steps:1,y=e.depth!==void 0?e.depth:1,v=e.bevelEnabled!==void 0?e.bevelEnabled:!0,E=e.bevelThickness!==void 0?e.bevelThickness:.2,M=e.bevelSize!==void 0?e.bevelSize:E-.1,A=e.bevelOffset!==void 0?e.bevelOffset:0,_=e.bevelSegments!==void 0?e.bevelSegments:3,x=e.extrudePath,T=e.UVGenerator!==void 0?e.UVGenerator:hY,w,R=!1,z,U,D,P;x&&(w=x.getSpacedPoints(g),R=!0,v=!1,z=x.computeFrenetFrames(g,!1),U=new st,D=new st,P=new st),v||(_=0,E=0,M=0,A=0);let ct=f.extractPoints(d),L=ct.shape,W=ct.holes;if(!ya.isClockWise(L)){L=L.reverse();for(let Z=0,Dt=W.length;Z<Dt;Z++){let _t=W[Z];ya.isClockWise(_t)&&(W[Z]=_t.reverse())}}let Mt=ya.triangulateShape(L,W),$=L;for(let Z=0,Dt=W.length;Z<Dt;Z++){let _t=W[Z];L=L.concat(_t)}function gt(Z,Dt,_t){return Dt||console.error("THREE.ExtrudeGeometry: vec does not exist"),Z.clone().addScaledVector(Dt,_t)}let ft=L.length,vt=Mt.length;function it(Z,Dt,_t){let Nt,wt,Ht,Xt=Z.x-Dt.x,Pt=Z.y-Dt.y,ne=_t.x-Z.x,Y=_t.y-Z.y,N=Xt*Xt+Pt*Pt,xt=Xt*Y-Pt*ne;if(Math.abs(xt)>Number.EPSILON){let St=Math.sqrt(N),ot=Math.sqrt(ne*ne+Y*Y),Lt=Dt.x-Pt/St,ce=Dt.y+Xt/St,Rt=_t.x-Y/ot,Bt=_t.y+ne/ot,Wt=((Rt-Lt)*Y-(Bt-ce)*ne)/(Xt*Y-Pt*ne);Nt=Lt+Xt*Wt-Z.x,wt=ce+Pt*Wt-Z.y;let j=Nt*Nt+wt*wt;if(j<=2)return new Ot(Nt,wt);Ht=Math.sqrt(j/2)}else{let St=!1;Xt>Number.EPSILON?ne>Number.EPSILON&&(St=!0):Xt<-Number.EPSILON?ne<-Number.EPSILON&&(St=!0):Math.sign(Pt)===Math.sign(Y)&&(St=!0),St?(Nt=-Pt,wt=Xt,Ht=Math.sqrt(N)):(Nt=Xt,wt=Pt,Ht=Math.sqrt(N/2))}return new Ot(Nt/Ht,wt/Ht)}let lt=[];for(let Z=0,Dt=$.length,_t=Dt-1,Nt=Z+1;Z<Dt;Z++,_t++,Nt++)_t===Dt&&(_t=0),Nt===Dt&&(Nt=0),lt[Z]=it($[Z],$[_t],$[Nt]);let H=[],At,It=lt.concat();for(let Z=0,Dt=W.length;Z<Dt;Z++){let _t=W[Z];At=[];for(let Nt=0,wt=_t.length,Ht=wt-1,Xt=Nt+1;Nt<wt;Nt++,Ht++,Xt++)Ht===wt&&(Ht=0),Xt===wt&&(Xt=0),At[Nt]=it(_t[Nt],_t[Ht],_t[Xt]);H.push(At),It=It.concat(At)}for(let Z=0;Z<_;Z++){let Dt=Z/_,_t=E*Math.cos(Dt*Math.PI/2),Nt=M*Math.sin(Dt*Math.PI/2)+A;for(let wt=0,Ht=$.length;wt<Ht;wt++){let Xt=gt($[wt],lt[wt],Nt);$t(Xt.x,Xt.y,-_t)}for(let wt=0,Ht=W.length;wt<Ht;wt++){let Xt=W[wt];At=H[wt];for(let Pt=0,ne=Xt.length;Pt<ne;Pt++){let Y=gt(Xt[Pt],At[Pt],Nt);$t(Y.x,Y.y,-_t)}}}let Kt=M+A;for(let Z=0;Z<ft;Z++){let Dt=v?gt(L[Z],It[Z],Kt):L[Z];R?(D.copy(z.normals[0]).multiplyScalar(Dt.x),U.copy(z.binormals[0]).multiplyScalar(Dt.y),P.copy(w[0]).add(D).add(U),$t(P.x,P.y,P.z)):$t(Dt.x,Dt.y,0)}for(let Z=1;Z<=g;Z++)for(let Dt=0;Dt<ft;Dt++){let _t=v?gt(L[Dt],It[Dt],Kt):L[Dt];R?(D.copy(z.normals[Z]).multiplyScalar(_t.x),U.copy(z.binormals[Z]).multiplyScalar(_t.y),P.copy(w[Z]).add(D).add(U),$t(P.x,P.y,P.z)):$t(_t.x,_t.y,y/g*Z)}for(let Z=_-1;Z>=0;Z--){let Dt=Z/_,_t=E*Math.cos(Dt*Math.PI/2),Nt=M*Math.sin(Dt*Math.PI/2)+A;for(let wt=0,Ht=$.length;wt<Ht;wt++){let Xt=gt($[wt],lt[wt],Nt);$t(Xt.x,Xt.y,y+_t)}for(let wt=0,Ht=W.length;wt<Ht;wt++){let Xt=W[wt];At=H[wt];for(let Pt=0,ne=Xt.length;Pt<ne;Pt++){let Y=gt(Xt[Pt],At[Pt],Nt);R?$t(Y.x,Y.y+w[g-1].y,w[g-1].x+_t):$t(Y.x,Y.y,y+_t)}}}nt(),bt();function nt(){let Z=s.length/3;if(v){let Dt=0,_t=ft*Dt;for(let Nt=0;Nt<vt;Nt++){let wt=Mt[Nt];Ut(wt[2]+_t,wt[1]+_t,wt[0]+_t)}Dt=g+_*2,_t=ft*Dt;for(let Nt=0;Nt<vt;Nt++){let wt=Mt[Nt];Ut(wt[0]+_t,wt[1]+_t,wt[2]+_t)}}else{for(let Dt=0;Dt<vt;Dt++){let _t=Mt[Dt];Ut(_t[2],_t[1],_t[0])}for(let Dt=0;Dt<vt;Dt++){let _t=Mt[Dt];Ut(_t[0]+ft*g,_t[1]+ft*g,_t[2]+ft*g)}}i.addGroup(Z,s.length/3-Z,0)}function bt(){let Z=s.length/3,Dt=0;Vt($,Dt),Dt+=$.length;for(let _t=0,Nt=W.length;_t<Nt;_t++){let wt=W[_t];Vt(wt,Dt),Dt+=wt.length}i.addGroup(Z,s.length/3-Z,1)}function Vt(Z,Dt){let _t=Z.length;for(;--_t>=0;){let Nt=_t,wt=_t-1;wt<0&&(wt=Z.length-1);for(let Ht=0,Xt=g+_*2;Ht<Xt;Ht++){let Pt=ft*Ht,ne=ft*(Ht+1),Y=Dt+Nt+Pt,N=Dt+wt+Pt,xt=Dt+wt+ne,St=Dt+Nt+ne;Gt(Y,N,xt,St)}}}function $t(Z,Dt,_t){p.push(Z),p.push(Dt),p.push(_t)}function Ut(Z,Dt,_t){Ct(Z),Ct(Dt),Ct(_t);let Nt=s.length/3,wt=T.generateTopUV(i,s,Nt-3,Nt-2,Nt-1);ee(wt[0]),ee(wt[1]),ee(wt[2])}function Gt(Z,Dt,_t,Nt){Ct(Z),Ct(Dt),Ct(Nt),Ct(Dt),Ct(_t),Ct(Nt);let wt=s.length/3,Ht=T.generateSideWallUV(i,s,wt-6,wt-3,wt-2,wt-1);ee(Ht[0]),ee(Ht[1]),ee(Ht[3]),ee(Ht[1]),ee(Ht[2]),ee(Ht[3])}function Ct(Z){s.push(p[Z*3+0]),s.push(p[Z*3+1]),s.push(p[Z*3+2])}function ee(Z){u.push(Z.x),u.push(Z.y)}}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){let t=super.toJSON(),e=this.parameters.shapes,i=this.parameters.options;return pY(e,i,t)}static fromJSON(t,e){let i=[];for(let u=0,c=t.shapes.length;u<c;u++){let f=e[t.shapes[u]];i.push(f)}let s=t.options.extrudePath;return s!==void 0&&(t.options.extrudePath=new Nv[s.type]().fromJSON(s)),new n(i,t.options)}},hY={generateTopUV:function(n,t,e,i,s){let u=t[e*3],c=t[e*3+1],f=t[i*3],p=t[i*3+1],d=t[s*3],g=t[s*3+1];return[new Ot(u,c),new Ot(f,p),new Ot(d,g)]},generateSideWallUV:function(n,t,e,i,s,u){let c=t[e*3],f=t[e*3+1],p=t[e*3+2],d=t[i*3],g=t[i*3+1],y=t[i*3+2],v=t[s*3],E=t[s*3+1],M=t[s*3+2],A=t[u*3],_=t[u*3+1],x=t[u*3+2];return Math.abs(f-g)<Math.abs(c-d)?[new Ot(c,1-p),new Ot(d,1-y),new Ot(v,1-M),new Ot(A,1-x)]:[new Ot(f,1-p),new Ot(g,1-y),new Ot(E,1-M),new Ot(_,1-x)]}};function pY(n,t,e){if(e.shapes=[],Array.isArray(n))for(let i=0,s=n.length;i<s;i++){let u=n[i];e.shapes.push(u.uuid)}else e.shapes.push(n.uuid);return e.options=Object.assign({},t),t.extrudePath!==void 0&&(e.options.extrudePath=t.extrudePath.toJSON()),e}var od=class n extends ui{constructor(t=new Nl([new Ot(0,.5),new Ot(-.5,-.5),new Ot(.5,-.5)]),e=12){super(),this.type="ShapeGeometry",this.parameters={shapes:t,curveSegments:e};let i=[],s=[],u=[],c=[],f=0,p=0;if(Array.isArray(t)===!1)d(t);else for(let g=0;g<t.length;g++)d(t[g]),this.addGroup(f,p,g),f+=p,p=0;this.setIndex(i),this.setAttribute("position",new _r(s,3)),this.setAttribute("normal",new _r(u,3)),this.setAttribute("uv",new _r(c,2));function d(g){let y=s.length/3,v=g.extractPoints(e),E=v.shape,M=v.holes;ya.isClockWise(E)===!1&&(E=E.reverse());for(let _=0,x=M.length;_<x;_++){let T=M[_];ya.isClockWise(T)===!0&&(M[_]=T.reverse())}let A=ya.triangulateShape(E,M);for(let _=0,x=M.length;_<x;_++){let T=M[_];E=E.concat(T)}for(let _=0,x=E.length;_<x;_++){let T=E[_];s.push(T.x,T.y,0),u.push(0,0,1),c.push(T.x,T.y)}for(let _=0,x=A.length;_<x;_++){let T=A[_],w=T[0]+y,R=T[1]+y,z=T[2]+y;i.push(w,R,z),p+=3}}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}toJSON(){let t=super.toJSON(),e=this.parameters.shapes;return dY(e,t)}static fromJSON(t,e){let i=[];for(let s=0,u=t.shapes.length;s<u;s++){let c=e[t.shapes[s]];i.push(c)}return new n(i,t.curveSegments)}};function dY(n,t){if(t.shapes=[],Array.isArray(n))for(let e=0,i=n.length;e<i;e++){let s=n[e];t.shapes.push(s.uuid)}else t.shapes.push(n.uuid);return t}var sd=class extends ui{constructor(t=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:t},t!==null){let e=[],i=new Set,s=new st,u=new st;if(t.index!==null){let c=t.attributes.position,f=t.index,p=t.groups;p.length===0&&(p=[{start:0,count:f.count,materialIndex:0}]);for(let d=0,g=p.length;d<g;++d){let y=p[d],v=y.start,E=y.count;for(let M=v,A=v+E;M<A;M+=3)for(let _=0;_<3;_++){let x=f.getX(M+_),T=f.getX(M+(_+1)%3);s.fromBufferAttribute(c,x),u.fromBufferAttribute(c,T),VI(s,u,i)===!0&&(e.push(s.x,s.y,s.z),e.push(u.x,u.y,u.z))}}}else{let c=t.attributes.position;for(let f=0,p=c.count/3;f<p;f++)for(let d=0;d<3;d++){let g=3*f+d,y=3*f+(d+1)%3;s.fromBufferAttribute(c,g),u.fromBufferAttribute(c,y),VI(s,u,i)===!0&&(e.push(s.x,s.y,s.z),e.push(u.x,u.y,u.z))}}this.setAttribute("position",new _r(e,3))}}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}};function VI(n,t,e){let i=\`\${n.x},\${n.y},\${n.z}-\${t.x},\${t.y},\${t.z}\`,s=\`\${t.x},\${t.y},\${t.z}-\${n.x},\${n.y},\${n.z}\`;return e.has(i)===!0||e.has(s)===!0?!1:(e.add(i),e.add(s),!0)}function Lp(n,t,e){return!n||!e&&n.constructor===t?n:typeof t.BYTES_PER_ELEMENT=="number"?new t(n):Array.prototype.slice.call(n)}function gY(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}var Ol=class{constructor(t,e,i,s){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=s!==void 0?s:new e.constructor(i),this.sampleValues=e,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(t){let e=this.parameterPositions,i=this._cachedIndex,s=e[i],u=e[i-1];n:{t:{let c;e:{r:if(!(t<s)){for(let f=i+2;;){if(s===void 0){if(t<u)break r;return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===f)break;if(u=s,s=e[++i],t<s)break t}c=e.length;break e}if(!(t>=u)){let f=e[1];t<f&&(i=2,u=f);for(let p=i-2;;){if(u===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===p)break;if(s=u,u=e[--i-1],t>=u)break t}c=i,i=0;break e}break n}for(;i<c;){let f=i+c>>>1;t<e[f]?c=f:i=f+1}if(s=e[i],u=e[i-1],u===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(s===void 0)return i=e.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,u,s)}return this.interpolate_(i,u,t,s)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){let e=this.resultBuffer,i=this.sampleValues,s=this.valueSize,u=t*s;for(let c=0;c!==s;++c)e[c]=i[u+c];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},Uv=class extends Ol{constructor(t,e,i,s){super(t,e,i,s),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:XC,endingEnd:XC}}intervalChanged_(t,e,i){let s=this.parameterPositions,u=t-2,c=t+1,f=s[u],p=s[c];if(f===void 0)switch(this.getSettings_().endingStart){case YC:u=t,f=2*e-i;break;case $C:u=s.length-2,f=e+s[u]-s[u+1];break;default:u=t,f=i}if(p===void 0)switch(this.getSettings_().endingEnd){case YC:c=t,p=2*i-e;break;case $C:c=1,p=i+s[1]-s[0];break;default:c=t-1,p=e}let d=(i-e)*.5,g=this.valueSize;this._weightPrev=d/(e-f),this._weightNext=d/(p-i),this._offsetPrev=u*g,this._offsetNext=c*g}interpolate_(t,e,i,s){let u=this.resultBuffer,c=this.sampleValues,f=this.valueSize,p=t*f,d=p-f,g=this._offsetPrev,y=this._offsetNext,v=this._weightPrev,E=this._weightNext,M=(i-e)/(s-e),A=M*M,_=A*M,x=-v*_+2*v*A-v*M,T=(1+v)*_+(-1.5-2*v)*A+(-.5+v)*M+1,w=(-1-E)*_+(1.5+E)*A+.5*M,R=E*_-E*A;for(let z=0;z!==f;++z)u[z]=x*c[g+z]+T*c[d+z]+w*c[p+z]+R*c[y+z];return u}},Bv=class extends Ol{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t,e,i,s){let u=this.resultBuffer,c=this.sampleValues,f=this.valueSize,p=t*f,d=p-f,g=(i-e)/(s-e),y=1-g;for(let v=0;v!==f;++v)u[v]=c[d+v]*y+c[p+v]*g;return u}},zv=class extends Ol{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t){return this.copySampleValue_(t-1)}},Do=class{constructor(t,e,i,s){if(t===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(e===void 0||e.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=Lp(e,this.TimeBufferType),this.values=Lp(i,this.ValueBufferType),this.setInterpolation(s||this.DefaultInterpolation)}static toJSON(t){let e=t.constructor,i;if(e.toJSON!==this.toJSON)i=e.toJSON(t);else{i={name:t.name,times:Lp(t.times,Array),values:Lp(t.values,Array)};let s=t.getInterpolation();s!==t.DefaultInterpolation&&(i.interpolation=s)}return i.type=t.ValueTypeName,i}InterpolantFactoryMethodDiscrete(t){return new zv(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new Bv(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new Uv(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case Op:e=this.InterpolantFactoryMethodDiscrete;break;case Dp:e=this.InterpolantFactoryMethodLinear;break;case xy:e=this.InterpolantFactoryMethodSmooth;break}if(e===void 0){let i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Op;case this.InterpolantFactoryMethodLinear:return Dp;case this.InterpolantFactoryMethodSmooth:return xy}}getValueSize(){return this.values.length/this.times.length}shift(t){if(t!==0){let e=this.times;for(let i=0,s=e.length;i!==s;++i)e[i]+=t}return this}scale(t){if(t!==1){let e=this.times;for(let i=0,s=e.length;i!==s;++i)e[i]*=t}return this}trim(t,e){let i=this.times,s=i.length,u=0,c=s-1;for(;u!==s&&i[u]<t;)++u;for(;c!==-1&&i[c]>e;)--c;if(++c,u!==0||c!==s){u>=c&&(c=Math.max(c,1),u=c-1);let f=this.getValueSize();this.times=i.slice(u,c),this.values=this.values.slice(u*f,c*f)}return this}validate(){let t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);let i=this.times,s=this.values,u=i.length;u===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let c=null;for(let f=0;f!==u;f++){let p=i[f];if(typeof p=="number"&&isNaN(p)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,f,p),t=!1;break}if(c!==null&&c>p){console.error("THREE.KeyframeTrack: Out of order keys.",this,f,p,c),t=!1;break}c=p}if(s!==void 0&&gY(s))for(let f=0,p=s.length;f!==p;++f){let d=s[f];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,f,d),t=!1;break}}return t}optimize(){let t=this.times.slice(),e=this.values.slice(),i=this.getValueSize(),s=this.getInterpolation()===xy,u=t.length-1,c=1;for(let f=1;f<u;++f){let p=!1,d=t[f],g=t[f+1];if(d!==g&&(f!==1||d!==t[0]))if(s)p=!0;else{let y=f*i,v=y-i,E=y+i;for(let M=0;M!==i;++M){let A=e[y+M];if(A!==e[v+M]||A!==e[E+M]){p=!0;break}}}if(p){if(f!==c){t[c]=t[f];let y=f*i,v=c*i;for(let E=0;E!==i;++E)e[v+E]=e[y+E]}++c}}if(u>0){t[c]=t[u];for(let f=u*i,p=c*i,d=0;d!==i;++d)e[p+d]=e[f+d];++c}return c!==t.length?(this.times=t.slice(0,c),this.values=e.slice(0,c*i)):(this.times=t,this.values=e),this}clone(){let t=this.times.slice(),e=this.values.slice(),i=this.constructor,s=new i(this.name,t,e);return s.createInterpolant=this.createInterpolant,s}};Do.prototype.TimeBufferType=Float32Array;Do.prototype.ValueBufferType=Float32Array;Do.prototype.DefaultInterpolation=Dp;var hu=class extends Do{};hu.prototype.ValueTypeName="bool";hu.prototype.ValueBufferType=Array;hu.prototype.DefaultInterpolation=Op;hu.prototype.InterpolantFactoryMethodLinear=void 0;hu.prototype.InterpolantFactoryMethodSmooth=void 0;var Gv=class extends Do{};Gv.prototype.ValueTypeName="color";var kv=class extends Do{};kv.prototype.ValueTypeName="number";var qv=class extends Ol{constructor(t,e,i,s){super(t,e,i,s)}interpolate_(t,e,i,s){let u=this.resultBuffer,c=this.sampleValues,f=this.valueSize,p=(i-e)/(s-e),d=t*f;for(let g=d+f;d!==g;d+=4)lo.slerpFlat(u,0,c,d-f,c,d,p);return u}},yf=class extends Do{InterpolantFactoryMethodLinear(t){return new qv(this.times,this.values,this.getValueSize(),t)}};yf.prototype.ValueTypeName="quaternion";yf.prototype.DefaultInterpolation=Dp;yf.prototype.InterpolantFactoryMethodSmooth=void 0;var pu=class extends Do{};pu.prototype.ValueTypeName="string";pu.prototype.ValueBufferType=Array;pu.prototype.DefaultInterpolation=Op;pu.prototype.InterpolantFactoryMethodLinear=void 0;pu.prototype.InterpolantFactoryMethodSmooth=void 0;var Vv=class extends Do{};Vv.prototype.ValueTypeName="vector";var Hv=class{constructor(t,e,i){let s=this,u=!1,c=0,f=0,p,d=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=i,this.itemStart=function(g){f++,u===!1&&s.onStart!==void 0&&s.onStart(g,c,f),u=!0},this.itemEnd=function(g){c++,s.onProgress!==void 0&&s.onProgress(g,c,f),c===f&&(u=!1,s.onLoad!==void 0&&s.onLoad())},this.itemError=function(g){s.onError!==void 0&&s.onError(g)},this.resolveURL=function(g){return p?p(g):g},this.setURLModifier=function(g){return p=g,this},this.addHandler=function(g,y){return d.push(g,y),this},this.removeHandler=function(g){let y=d.indexOf(g);return y!==-1&&d.splice(y,2),this},this.getHandler=function(g){for(let y=0,v=d.length;y<v;y+=2){let E=d[y],M=d[y+1];if(E.global&&(E.lastIndex=0),E.test(g))return M}return null}}},mY=new Hv,Wv=class{constructor(t){this.manager=t!==void 0?t:mY,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){let i=this;return new Promise(function(s,u){i.load(t,s,e,u)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}};Wv.DEFAULT_MATERIAL_NAME="__DEFAULT";var ad=class extends ui{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(t){return super.copy(t),this.instanceCount=t.instanceCount,this}toJSON(){let t=super.toJSON();return t.instanceCount=this.instanceCount,t.isInstancedBufferGeometry=!0,t}};var Kv="\\\\[\\\\]\\\\.:\\\\/",yY=new RegExp("["+Kv+"]","g"),Qv="[^"+Kv+"]",vY="[^"+Kv.replace("\\\\.","")+"]",_Y=/((?:WC+[\\/:])*)/.source.replace("WC",Qv),xY=/(WCOD+)?/.source.replace("WCOD",vY),EY=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace("WC",Qv),SY=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace("WC",Qv),wY=new RegExp("^"+_Y+xY+EY+SY+"$"),MY=["material","materials","bones","map"],Xv=class{constructor(t,e,i){let s=i||Yn.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,s)}getValue(t,e){this.bind();let i=this._targetGroup.nCachedObjects_,s=this._bindings[i];s!==void 0&&s.getValue(t,e)}setValue(t,e){let i=this._bindings;for(let s=this._targetGroup.nCachedObjects_,u=i.length;s!==u;++s)i[s].setValue(t,e)}bind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()}unbind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}},Yn=class n{constructor(t,e,i){this.path=e,this.parsedPath=i||n.parseTrackName(e),this.node=n.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,i){return t&&t.isAnimationObjectGroup?new n.Composite(t,e,i):new n(t,e,i)}static sanitizeNodeName(t){return t.replace(/\\s/g,"_").replace(yY,"")}static parseTrackName(t){let e=wY.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);let i={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},s=i.nodeName&&i.nodeName.lastIndexOf(".");if(s!==void 0&&s!==-1){let u=i.nodeName.substring(s+1);MY.indexOf(u)!==-1&&(i.nodeName=i.nodeName.substring(0,s),i.objectName=u)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return i}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){let i=t.skeleton.getBoneByName(e);if(i!==void 0)return i}if(t.children){let i=function(u){for(let c=0;c<u.length;c++){let f=u[c];if(f.name===e||f.uuid===e)return f;let p=i(f.children);if(p)return p}return null},s=i(t.children);if(s)return s}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)t[e++]=i[s]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)i[s]=t[e++]}_setValue_array_setNeedsUpdate(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)i[s]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){let i=this.resolvedProperty;for(let s=0,u=i.length;s!==u;++s)i[s]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node,e=this.parsedPath,i=e.objectName,s=e.propertyName,u=e.propertyIndex;if(t||(t=n.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(i){let d=e.objectIndex;switch(i){case"materials":if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}t=t.material.materials;break;case"bones":if(!t.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}t=t.skeleton.bones;for(let g=0;g<t.length;g++)if(t[g].name===d){d=g;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}t=t.material.map;break;default:if(t[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}t=t[i]}if(d!==void 0){if(t[d]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);return}t=t[d]}}let c=t[s];if(c===void 0){let d=e.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+d+"."+s+" but it wasn't found.",t);return}let f=this.Versioning.None;this.targetObject=t,t.needsUpdate!==void 0?f=this.Versioning.NeedsUpdate:t.matrixWorldNeedsUpdate!==void 0&&(f=this.Versioning.MatrixWorldNeedsUpdate);let p=this.BindingType.Direct;if(u!==void 0){if(s==="morphTargetInfluences"){if(!t.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!t.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}t.morphTargetDictionary[u]!==void 0&&(u=t.morphTargetDictionary[u])}p=this.BindingType.ArrayElement,this.resolvedProperty=c,this.propertyIndex=u}else c.fromArray!==void 0&&c.toArray!==void 0?(p=this.BindingType.HasFromToArray,this.resolvedProperty=c):Array.isArray(c)?(p=this.BindingType.EntireArray,this.resolvedProperty=c):this.propertyName=s;this.getValue=this.GetterByBindingType[p],this.setValue=this.SetterByBindingTypeAndVersioning[p][f]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};Yn.Composite=Xv;Yn.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};Yn.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};Yn.prototype.GetterByBindingType=[Yn.prototype._getValue_direct,Yn.prototype._getValue_array,Yn.prototype._getValue_arrayElement,Yn.prototype._getValue_toArray];Yn.prototype.SetterByBindingTypeAndVersioning=[[Yn.prototype._setValue_direct,Yn.prototype._setValue_direct_setNeedsUpdate,Yn.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[Yn.prototype._setValue_array,Yn.prototype._setValue_array_setNeedsUpdate,Yn.prototype._setValue_array_setMatrixWorldNeedsUpdate],[Yn.prototype._setValue_arrayElement,Yn.prototype._setValue_arrayElement_setNeedsUpdate,Yn.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[Yn.prototype._setValue_fromArray,Yn.prototype._setValue_fromArray_setNeedsUpdate,Yn.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var Mot=new Float32Array(1);var vf=class extends hf{constructor(t,e,i=1){super(t,e),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=i}copy(t){return super.copy(t),this.meshPerAttribute=t.meshPerAttribute,this}clone(t){let e=super.clone(t);return e.meshPerAttribute=this.meshPerAttribute,e}toJSON(t){let e=super.toJSON(t);return e.isInstancedInterleavedBuffer=!0,e.meshPerAttribute=this.meshPerAttribute,e}};typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Yv}}));typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Yv);function hd(n,t){t===void 0&&(t=[]);let e=new Nl(n.map(i=>new Ot(...i)));return t.length&&t.forEach(i=>{var s=new Ll(i.map(u=>new Ot(...u)));e.holes.push(s)}),e}var MAt=jt(Yu(),1);var Ur=63710088e-1,kot={centimeters:Ur*100,centimetres:Ur*100,degrees:Ur/111325,feet:Ur*3.28084,inches:Ur*39.37,kilometers:Ur/1e3,kilometres:Ur/1e3,meters:Ur,metres:Ur,miles:Ur/1609.344,millimeters:Ur*1e3,millimetres:Ur*1e3,nauticalmiles:Ur/1852,radians:1,yards:Ur*1.0936},qot={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/Ur,yards:1.0936133};function Ai(n,t,e){e===void 0&&(e={});var i={type:"Feature"};return(e.id===0||e.id)&&(i.id=e.id),e.bbox&&(i.bbox=e.bbox),i.properties=t||{},i.geometry=n,i}function Dn(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!es(n[0])||!es(n[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:n};return Ai(i,t,e)}function Un(n,t,e){e===void 0&&(e={});for(var i=0,s=n;i<s.length;i++){var u=s[i];if(u.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var c=0;c<u[u.length-1].length;c++)if(u[u.length-1][c]!==u[0][c])throw new Error("First and last Position are not equivalent.")}var f={type:"Polygon",coordinates:n};return Ai(f,t,e)}function Br(n,t,e){if(e===void 0&&(e={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var i={type:"LineString",coordinates:n};return Ai(i,t,e)}function u_(n,t,e){e===void 0&&(e={});var i={type:"MultiPoint",coordinates:n};return Ai(i,t,e)}function es(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function Sr(n,t,e){if(n!==null)for(var i,s,u,c,f,p,d,g=0,y=0,v,E=n.type,M=E==="FeatureCollection",A=E==="Feature",_=M?n.features.length:1,x=0;x<_;x++){d=M?n.features[x].geometry:A?n.geometry:n,v=d?d.type==="GeometryCollection":!1,f=v?d.geometries.length:1;for(var T=0;T<f;T++){var w=0,R=0;if(c=v?d.geometries[T]:d,c!==null){p=c.coordinates;var z=c.type;switch(g=e&&(z==="Polygon"||z==="MultiPolygon")?1:0,z){case null:break;case"Point":if(t(p,y,x,w,R)===!1)return!1;y++,w++;break;case"LineString":case"MultiPoint":for(i=0;i<p.length;i++){if(t(p[i],y,x,w,R)===!1)return!1;y++,z==="MultiPoint"&&w++}z==="LineString"&&w++;break;case"Polygon":case"MultiLineString":for(i=0;i<p.length;i++){for(s=0;s<p[i].length-g;s++){if(t(p[i][s],y,x,w,R)===!1)return!1;y++}z==="MultiLineString"&&w++,z==="Polygon"&&R++}z==="Polygon"&&w++;break;case"MultiPolygon":for(i=0;i<p.length;i++){for(R=0,s=0;s<p[i].length;s++){for(u=0;u<p[i][s].length-g;u++){if(t(p[i][s][u],y,x,w,R)===!1)return!1;y++}R++}w++}break;case"GeometryCollection":for(i=0;i<c.geometries.length;i++)if(Sr(c.geometries[i],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function TP(n,t,e,i){var s=e;return Sr(n,function(u,c,f,p,d){c===0&&e===void 0?s=u:s=t(s,u,c,f,p,d)},i),s}function Ea(n,t){var e,i,s,u,c,f,p,d,g,y,v=0,E=n.type==="FeatureCollection",M=n.type==="Feature",A=E?n.features.length:1;for(e=0;e<A;e++){for(f=E?n.features[e].geometry:M?n.geometry:n,d=E?n.features[e].properties:M?n.properties:{},g=E?n.features[e].bbox:M?n.bbox:void 0,y=E?n.features[e].id:M?n.id:void 0,p=f?f.type==="GeometryCollection":!1,c=p?f.geometries.length:1,s=0;s<c;s++){if(u=p?f.geometries[s]:f,u===null){if(t(null,v,d,g,y)===!1)return!1;continue}switch(u.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(u,v,d,g,y)===!1)return!1;break}case"GeometryCollection":{for(i=0;i<u.geometries.length;i++)if(t(u.geometries[i],v,d,g,y)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}v++}}function Ji(n,t){Ea(n,function(e,i,s,u,c){var f=e===null?null:e.type;switch(f){case null:case"Point":case"LineString":case"Polygon":return t(Ai(e,s,{bbox:u,id:c}),i,0)===!1?!1:void 0}var p;switch(f){case"MultiPoint":p="Point";break;case"MultiLineString":p="LineString";break;case"MultiPolygon":p="Polygon";break}for(var d=0;d<e.coordinates.length;d++){var g=e.coordinates[d],y={type:p,coordinates:g};if(t(Ai(y,s),i,d)===!1)return!1}})}function l_(n){var t=[1/0,1/0,-1/0,-1/0];return Sr(n,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}l_.default=l_;var li=l_;function $r(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return n.geometry.coordinates;if(n.type==="Point")return n.coordinates}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return n;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function c_(n,t,e){if(!n)throw new Error("No feature passed");if(!e)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!n.geometry||n.geometry.type!==t)throw new Error("Invalid input to "+e+": must be a "+t+", given "+n.geometry.type)}function Zr(n){return n.type==="Feature"?n.geometry:n}var i$=jt(md(),1);var d$=jt(WP(),1);function zr(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("point is required");if(!t)throw new Error("polygon is required");var i=$r(n),s=Zr(t),u=s.type,c=t.bbox,f=s.coordinates;if(c&&g$(i,c)===!1)return!1;u==="Polygon"&&(f=[f]);for(var p=!1,d=0;d<f.length&&!p;d++)if(XP(i,f[d][0],e.ignoreBoundary)){for(var g=!1,y=1;y<f[d].length&&!g;)XP(i,f[d][y],!e.ignoreBoundary)&&(g=!0),y++;g||(p=!0)}return p}function XP(n,t,e){var i=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var s=0,u=t.length-1;s<t.length;u=s++){var c=t[s][0],f=t[s][1],p=t[u][0],d=t[u][1],g=n[1]*(c-p)+f*(p-n[0])+d*(n[0]-c)===0&&(c-n[0])*(p-n[0])<=0&&(f-n[1])*(d-n[1])<=0;if(g)return!e;var y=f>n[1]!=d>n[1]&&n[0]<(p-c)*(n[1]-f)/(d-f)+c;y&&(i=!i)}return i}function g$(n,t){return t[0]<=n[0]&&t[1]<=n[1]&&t[2]>=n[0]&&t[3]>=n[1]}var ZP=new ArrayBuffer(16),yat=new Float64Array(ZP),vat=new Uint32Array(ZP);var P$=jt(A_(),1);var Hut=function(){function n(t){this.points=t.points||[],this.duration=t.duration||1e4,this.sharpness=t.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=t.stepLength||60,this.length=this.points.length,this.delay=0;for(var e=0;e<this.length;e++)this.points[e].z=this.points[e].z||0;for(var e=0;e<this.length-1;e++){var i=this.points[e],s=this.points[e+1];this.centers.push({x:(i.x+s.x)/2,y:(i.y+s.y)/2,z:(i.z+s.z)/2})}this.controls.push([this.points[0],this.points[0]]);for(var e=0;e<this.centers.length-1;e++){var u=this.points[e+1].x-(this.centers[e].x+this.centers[e+1].x)/2,c=this.points[e+1].y-(this.centers[e].y+this.centers[e+1].y)/2,f=this.points[e+1].z-(this.centers[e].y+this.centers[e+1].z)/2;this.controls.push([{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e].x+u),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e].y+c),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e].z+f)},{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e+1].x+u),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e+1].y+c),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e+1].z+f)}])}return this.controls.push([this.points[this.length-1],this.points[this.length-1]]),this.steps=this.cacheSteps(this.stepLength),this}return n.prototype.cacheSteps=function(t){var e=[],i=this.pos(0);e.push(0);for(var s=0;s<this.duration;s+=10){var u=this.pos(s),c=Math.sqrt((u.x-i.x)*(u.x-i.x)+(u.y-i.y)*(u.y-i.y)+(u.z-i.z)*(u.z-i.z));c>t&&(e.push(s),i=u)}return e},n.prototype.vector=function(t){var e=this.pos(t+10),i=this.pos(t-10);return{angle:180*Math.atan2(e.y-i.y,e.x-i.x)/3.14,speed:Math.sqrt((i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y)+(i.z-e.z)*(i.z-e.z))}},n.prototype.pos=function(t){var e=t-this.delay;e<0&&(e=0),e>this.duration&&(e=this.duration-1);var i=e/this.duration;if(i>=1)return this.points[this.length-1];var s=Math.floor((this.points.length-1)*i),u=(this.length-1)*i-s;return R$(u,this.points[s],this.controls[s][1],this.controls[s+1][0],this.points[s+1])},n}();function R$(n,t,e,i,s){var u=L$(n),c={x:s.x*u[0]+i.x*u[1]+e.x*u[2]+t.x*u[3],y:s.y*u[0]+i.y*u[1]+e.y*u[2]+t.y*u[3],z:s.z*u[0]+i.z*u[1]+e.z*u[2]+t.z*u[3]};return c}function L$(n){var t=n*n,e=t*n;return[e,3*t*(1-n),3*n*(1-n)*(1-n),(1-n)*(1-n)*(1-n)]}function Sf(n,t){t===void 0&&(t={});var e=Number(n[0]),i=Number(n[1]),s=Number(n[2]),u=Number(n[3]);if(n.length===6)throw new Error("@turf/bbox-polygon does not support BBox with 6 positions");var c=[e,i],f=[e,u],p=[s,u],d=[s,i];return Un([[c,d,p,f,c]],t.properties,{bbox:n,id:t.id})}function N$(n){return Sf(li(n))}var T_=N$;function O$(n,t){t===void 0&&(t={});var e=li(n),i=(e[0]+e[2])/2,s=(e[1]+e[3])/2;return Dn([i,s],t.properties,t)}var du=O$;var j$=jt(sR(),1);var MZ=jt(Nd(),1);var AZ=jt(md(),1);var IZ=jt(A_(),1);var MR=Math.PI/180,bR=180/Math.PI,If=function(n,t){this.lon=n,this.lat=t,this.x=MR*n,this.y=MR*t};If.prototype.view=function(){return String(this.lon).slice(0,4)+","+String(this.lat).slice(0,4)};If.prototype.antipode=function(){var n=-1*this.lat,t=this.lon<0?180+this.lon:(180-this.lon)*-1;return new If(t,n)};var AR=function(){this.coords=[],this.length=0};AR.prototype.move_to=function(n){this.length++,this.coords.push(n)};var Y_=function(n){this.properties=n||{},this.geometries=[]};Y_.prototype.json=function(){if(this.geometries.length<=0)return{geometry:{type:"LineString",coordinates:null},type:"Feature",properties:this.properties};if(this.geometries.length===1)return{geometry:{type:"LineString",coordinates:this.geometries[0].coords},type:"Feature",properties:this.properties};for(var n=[],t=0;t<this.geometries.length;t++)n.push(this.geometries[t].coords);return{geometry:{type:"MultiLineString",coordinates:n},type:"Feature",properties:this.properties}};Y_.prototype.wkt=function(){for(var n="",t="LINESTRING(",e=function(u){t+=u[0]+" "+u[1]+","},i=0;i<this.geometries.length;i++){if(this.geometries[i].coords.length===0)return"LINESTRING(empty)";var s=this.geometries[i].coords;s.forEach(e),n+=t.substring(0,t.length-1)+")"}return n};var TR=function(n,t,e){if(!n||n.x===void 0||n.y===void 0)throw new Error("GreatCircle constructor expects two args: start and end objects with x and y properties");if(!t||t.x===void 0||t.y===void 0)throw new Error("GreatCircle constructor expects two args: start and end objects with x and y properties");this.start=new If(n.x,n.y),this.end=new If(t.x,t.y),this.properties=e||{};var i=this.start.x-this.end.x,s=this.start.y-this.end.y,u=Math.pow(Math.sin(s/2),2)+Math.cos(this.start.y)*Math.cos(this.end.y)*Math.pow(Math.sin(i/2),2);if(this.g=2*Math.asin(Math.sqrt(u)),this.g===Math.PI)throw new Error("it appears "+n.view()+" and "+t.view()+" are 'antipodal', e.g diametrically opposite, thus there is no single route but rather infinite");if(isNaN(this.g))throw new Error("could not calculate great circle between "+n+" and "+t)};TR.prototype.interpolate=function(n){var t=Math.sin((1-n)*this.g)/Math.sin(this.g),e=Math.sin(n*this.g)/Math.sin(this.g),i=t*Math.cos(this.start.y)*Math.cos(this.start.x)+e*Math.cos(this.end.y)*Math.cos(this.end.x),s=t*Math.cos(this.start.y)*Math.sin(this.start.x)+e*Math.cos(this.end.y)*Math.sin(this.end.x),u=t*Math.sin(this.start.y)+e*Math.sin(this.end.y),c=bR*Math.atan2(u,Math.sqrt(Math.pow(i,2)+Math.pow(s,2))),f=bR*Math.atan2(s,i);return[f,c]};TR.prototype.Arc=function(n,t){var e=[];if(!n||n<=2)e.push([this.start.lon,this.start.lat]),e.push([this.end.lon,this.end.lat]);else for(var i=1/(n-1),s=0;s<n;++s){var u=i*s,c=this.interpolate(u);e.push(c)}for(var f=!1,p=0,d=t&&t.offset?t.offset:10,g=180-d,y=-180+d,v=360-d,E=1;E<e.length;++E){var M=e[E-1][0],A=e[E][0],_=Math.abs(A-M);_>v&&(A>g&&M<y||M>g&&A<y)?f=!0:_>p&&(p=_)}var x=[];if(f&&p<d){var T=[];x.push(T);for(var w=0;w<e.length;++w){var R=parseFloat(e[w][0]);if(w>0&&Math.abs(R-e[w-1][0])>v){var z=parseFloat(e[w-1][0]),U=parseFloat(e[w-1][1]),D=parseFloat(e[w][0]),P=parseFloat(e[w][1]);if(z>-180&&z<y&&D===180&&w+1<e.length&&e[w-1][0]>-180&&e[w-1][0]<y){T.push([-180,e[w][1]]),w++,T.push([e[w][0],e[w][1]]);continue}else if(z>g&&z<180&&D===-180&&w+1<e.length&&e[w-1][0]>g&&e[w-1][0]<180){T.push([180,e[w][1]]),w++,T.push([e[w][0],e[w][1]]);continue}if(z<y&&D>g){var ct=z;z=D,D=ct;var L=U;U=P,P=L}if(z>g&&D<y&&(D+=360),z<=180&&D>=180&&z<D){var W=(180-z)/(D-z),V=W*P+(1-W)*U;T.push([e[w-1][0]>g?180:-180,V]),T=[],T.push([e[w-1][0]>g?-180:180,V]),x.push(T)}else T=[],x.push(T);T.push([R,e[w][1]])}else T.push([e[w][0],e[w][1]])}}else{var Mt=[];x.push(Mt);for(var $=0;$<e.length;++$)Mt.push([e[$][0],e[$][1]])}for(var gt=new Y_(this.properties),ft=0;ft<x.length;++ft){var vt=new AR;gt.geometries.push(vt);for(var it=x[ft],lt=0;lt<it.length;++lt)vt.move_to(it[lt])}return gt};var LZ=jt(Nd(),1);var Rj=jt(Nd(),1);var Lj=jt(Ex(),1);var Dj=jt(md(),1);var Ce=[],Ie=[],Pe=[],Re=[],Le=[],Ne=[],Oe=[],De=[],Fe=[],Ue=[],Be=[],ze=[],Ge=[],ke=[],qe=[],Ve=[],He=[],We=[],Xe=[],Ye=[],$e=[],Ze=[],Je=[],je=[];Oe[85]=Ue[85]=-1;De[85]=Be[85]=0;Fe[85]=ze[85]=1;Xe[85]=Ze[85]=1;Ye[85]=Je[85]=0;$e[85]=je[85]=1;Ce[85]=Re[85]=0;Ie[85]=Le[85]=-1;Pe[85]=qe[85]=0;Ve[85]=Ge[85]=0;He[85]=ke[85]=1;Ne[85]=We[85]=1;Ze[1]=Ze[169]=0;Je[1]=Je[169]=-1;je[1]=je[169]=0;Ge[1]=Ge[169]=-1;ke[1]=ke[169]=0;qe[1]=qe[169]=0;Ue[4]=Ue[166]=0;Be[4]=Be[166]=-1;ze[4]=ze[166]=1;Ve[4]=Ve[166]=1;He[4]=He[166]=0;We[4]=We[166]=0;Oe[16]=Oe[154]=0;De[16]=De[154]=1;Fe[16]=Fe[154]=1;Re[16]=Re[154]=1;Le[16]=Le[154]=0;Ne[16]=Ne[154]=1;Xe[64]=Xe[106]=0;Ye[64]=Ye[106]=1;$e[64]=$e[106]=0;Ce[64]=Ce[106]=-1;Ie[64]=Ie[106]=0;Pe[64]=Pe[106]=1;Xe[2]=Xe[168]=0;Ye[2]=Ye[168]=-1;$e[2]=$e[168]=1;Ze[2]=Ze[168]=0;Je[2]=Je[168]=-1;je[2]=je[168]=0;Ge[2]=Ge[168]=-1;ke[2]=ke[168]=0;qe[2]=qe[168]=0;Ve[2]=Ve[168]=-1;He[2]=He[168]=0;We[2]=We[168]=1;Oe[8]=Oe[162]=0;De[8]=De[162]=-1;Fe[8]=Fe[162]=0;Ue[8]=Ue[162]=0;Be[8]=Be[162]=-1;ze[8]=ze[162]=1;Ge[8]=Ge[162]=1;ke[8]=ke[162]=0;qe[8]=qe[162]=1;Ve[8]=Ve[162]=1;He[8]=He[162]=0;We[8]=We[162]=0;Oe[32]=Oe[138]=0;De[32]=De[138]=1;Fe[32]=Fe[138]=1;Ue[32]=Ue[138]=0;Be[32]=Be[138]=1;ze[32]=ze[138]=0;Ce[32]=Ce[138]=1;Ie[32]=Ie[138]=0;Pe[32]=Pe[138]=0;Re[32]=Re[138]=1;Le[32]=Le[138]=0;Ne[32]=Ne[138]=1;Ze[128]=Ze[42]=0;Je[128]=Je[42]=1;je[128]=je[42]=1;Xe[128]=Xe[42]=0;Ye[128]=Ye[42]=1;$e[128]=$e[42]=0;Ce[128]=Ce[42]=-1;Ie[128]=Ie[42]=0;Pe[128]=Pe[42]=1;Re[128]=Re[42]=-1;Le[128]=Le[42]=0;Ne[128]=Ne[42]=0;Ue[5]=Ue[165]=-1;Be[5]=Be[165]=0;ze[5]=ze[165]=0;Ze[5]=Ze[165]=1;Je[5]=Je[165]=0;je[5]=je[165]=0;Ve[20]=Ve[150]=0;He[20]=He[150]=1;We[20]=We[150]=1;Re[20]=Re[150]=0;Le[20]=Le[150]=-1;Ne[20]=Ne[150]=1;Oe[80]=Oe[90]=-1;De[80]=De[90]=0;Fe[80]=Fe[90]=1;Xe[80]=Xe[90]=1;Ye[80]=Ye[90]=0;$e[80]=$e[90]=1;Ge[65]=Ge[105]=0;ke[65]=ke[105]=1;qe[65]=qe[105]=0;Ce[65]=Ce[105]=0;Ie[65]=Ie[105]=-1;Pe[65]=Pe[105]=0;Oe[160]=Oe[10]=-1;De[160]=De[10]=0;Fe[160]=Fe[10]=1;Ue[160]=Ue[10]=-1;Be[160]=Be[10]=0;ze[160]=ze[10]=0;Ze[160]=Ze[10]=1;Je[160]=Je[10]=0;je[160]=je[10]=0;Xe[160]=Xe[10]=1;Ye[160]=Ye[10]=0;$e[160]=$e[10]=1;Ve[130]=Ve[40]=0;He[130]=He[40]=1;We[130]=We[40]=1;Ge[130]=Ge[40]=0;ke[130]=ke[40]=1;qe[130]=qe[40]=0;Ce[130]=Ce[40]=0;Ie[130]=Ie[40]=-1;Pe[130]=Pe[40]=0;Re[130]=Re[40]=0;Le[130]=Le[40]=-1;Ne[130]=Ne[40]=1;Ue[37]=Ue[133]=0;Be[37]=Be[133]=1;ze[37]=ze[133]=1;Ze[37]=Ze[133]=0;Je[37]=Je[133]=1;je[37]=je[133]=0;Ce[37]=Ce[133]=-1;Ie[37]=Ie[133]=0;Pe[37]=Pe[133]=0;Re[37]=Re[133]=1;Le[37]=Le[133]=0;Ne[37]=Ne[133]=0;Ve[148]=Ve[22]=-1;He[148]=He[22]=0;We[148]=We[22]=0;Ze[148]=Ze[22]=0;Je[148]=Je[22]=-1;je[148]=je[22]=1;Xe[148]=Xe[22]=0;Ye[148]=Ye[22]=1;$e[148]=$e[22]=1;Re[148]=Re[22]=-1;Le[148]=Le[22]=0;Ne[148]=Ne[22]=1;Oe[82]=Oe[88]=0;De[82]=De[88]=-1;Fe[82]=Fe[88]=1;Ve[82]=Ve[88]=1;He[82]=He[88]=0;We[82]=We[88]=1;Ge[82]=Ge[88]=-1;ke[82]=ke[88]=0;qe[82]=qe[88]=1;Xe[82]=Xe[88]=0;Ye[82]=Ye[88]=-1;$e[82]=$e[88]=0;Oe[73]=Oe[97]=0;De[73]=De[97]=1;Fe[73]=Fe[97]=0;Ue[73]=Ue[97]=0;Be[73]=Be[97]=-1;ze[73]=ze[97]=0;Ge[73]=Ge[97]=1;ke[73]=ke[97]=0;qe[73]=qe[97]=0;Ce[73]=Ce[97]=1;Ie[73]=Ie[97]=0;Pe[73]=Pe[97]=1;Oe[145]=Oe[25]=0;De[145]=De[25]=-1;Fe[145]=Fe[25]=0;Ge[145]=Ge[25]=1;ke[145]=ke[25]=0;qe[145]=qe[25]=1;Ze[145]=Ze[25]=0;Je[145]=Je[25]=1;je[145]=je[25]=1;Re[145]=Re[25]=-1;Le[145]=Le[25]=0;Ne[145]=Ne[25]=0;Ue[70]=Ue[100]=0;Be[70]=Be[100]=1;ze[70]=ze[100]=0;Ve[70]=Ve[100]=-1;He[70]=He[100]=0;We[70]=We[100]=1;Xe[70]=Xe[100]=0;Ye[70]=Ye[100]=-1;$e[70]=$e[100]=1;Ce[70]=Ce[100]=1;Ie[70]=Ie[100]=0;Pe[70]=Pe[100]=0;Ue[101]=Ue[69]=0;Be[101]=Be[69]=1;ze[101]=ze[69]=0;Ce[101]=Ce[69]=1;Ie[101]=Ie[69]=0;Pe[101]=Pe[69]=0;Ze[149]=Ze[21]=0;Je[149]=Je[21]=1;je[149]=je[21]=1;Re[149]=Re[21]=-1;Le[149]=Le[21]=0;Ne[149]=Ne[21]=0;Ve[86]=Ve[84]=-1;He[86]=He[84]=0;We[86]=We[84]=1;Xe[86]=Xe[84]=0;Ye[86]=Ye[84]=-1;$e[86]=$e[84]=1;Oe[89]=Oe[81]=0;De[89]=De[81]=-1;Fe[89]=Fe[81]=0;Ge[89]=Ge[81]=1;ke[89]=ke[81]=0;qe[89]=qe[81]=1;Oe[96]=Oe[74]=0;De[96]=De[74]=1;Fe[96]=Fe[74]=0;Ue[96]=Ue[74]=-1;Be[96]=Be[74]=0;ze[96]=ze[74]=1;Xe[96]=Xe[74]=1;Ye[96]=Ye[74]=0;$e[96]=$e[74]=0;Ce[96]=Ce[74]=1;Ie[96]=Ie[74]=0;Pe[96]=Pe[74]=1;Oe[24]=Oe[146]=0;De[24]=De[146]=-1;Fe[24]=Fe[146]=1;Ve[24]=Ve[146]=1;He[24]=He[146]=0;We[24]=We[146]=1;Ge[24]=Ge[146]=0;ke[24]=ke[146]=1;qe[24]=qe[146]=1;Re[24]=Re[146]=0;Le[24]=Le[146]=-1;Ne[24]=Ne[146]=0;Ue[6]=Ue[164]=-1;Be[6]=Be[164]=0;ze[6]=ze[164]=1;Ve[6]=Ve[164]=-1;He[6]=He[164]=0;We[6]=We[164]=0;Ze[6]=Ze[164]=0;Je[6]=Je[164]=-1;je[6]=je[164]=1;Xe[6]=Xe[164]=1;Ye[6]=Ye[164]=0;$e[6]=$e[164]=0;Ge[129]=Ge[41]=0;ke[129]=ke[41]=1;qe[129]=qe[41]=1;Ze[129]=Ze[41]=0;Je[129]=Je[41]=1;je[129]=je[41]=0;Ce[129]=Ce[41]=-1;Ie[129]=Ie[41]=0;Pe[129]=Pe[41]=0;Re[129]=Re[41]=0;Le[129]=Le[41]=-1;Ne[129]=Ne[41]=0;Ve[66]=Ve[104]=0;He[66]=He[104]=1;We[66]=We[104]=0;Ge[66]=Ge[104]=-1;ke[66]=ke[104]=0;qe[66]=qe[104]=1;Xe[66]=Xe[104]=0;Ye[66]=Ye[104]=-1;$e[66]=$e[104]=0;Ce[66]=Ce[104]=0;Ie[66]=Ie[104]=-1;Pe[66]=Pe[104]=1;Oe[144]=Oe[26]=-1;De[144]=De[26]=0;Fe[144]=Fe[26]=0;Ze[144]=Ze[26]=1;Je[144]=Je[26]=0;je[144]=je[26]=1;Xe[144]=Xe[26]=0;Ye[144]=Ye[26]=1;$e[144]=$e[26]=1;Re[144]=Re[26]=-1;Le[144]=Le[26]=0;Ne[144]=Ne[26]=1;Ue[36]=Ue[134]=0;Be[36]=Be[134]=1;ze[36]=ze[134]=1;Ve[36]=Ve[134]=0;He[36]=He[134]=1;We[36]=We[134]=0;Ce[36]=Ce[134]=0;Ie[36]=Ie[134]=-1;Pe[36]=Pe[134]=1;Re[36]=Re[134]=1;Le[36]=Le[134]=0;Ne[36]=Ne[134]=0;Oe[9]=Oe[161]=-1;De[9]=De[161]=0;Fe[9]=Fe[161]=0;Ue[9]=Ue[161]=0;Be[9]=Be[161]=-1;ze[9]=ze[161]=0;Ge[9]=Ge[161]=1;ke[9]=ke[161]=0;qe[9]=qe[161]=0;Ze[9]=Ze[161]=1;Je[9]=Je[161]=0;je[9]=je[161]=1;Oe[136]=0;De[136]=1;Fe[136]=1;Ue[136]=0;Be[136]=1;ze[136]=0;Ve[136]=-1;He[136]=0;We[136]=1;Ge[136]=-1;ke[136]=0;qe[136]=0;Ze[136]=0;Je[136]=-1;je[136]=0;Xe[136]=0;Ye[136]=-1;$e[136]=1;Ce[136]=1;Ie[136]=0;Pe[136]=0;Re[136]=1;Le[136]=0;Ne[136]=1;Oe[34]=0;De[34]=-1;Fe[34]=0;Ue[34]=0;Be[34]=-1;ze[34]=1;Ve[34]=1;He[34]=0;We[34]=0;Ge[34]=1;ke[34]=0;qe[34]=1;Ze[34]=0;Je[34]=1;je[34]=1;Xe[34]=0;Ye[34]=1;$e[34]=0;Ce[34]=-1;Ie[34]=0;Pe[34]=1;Re[34]=-1;Le[34]=0;Ne[34]=0;Oe[35]=0;De[35]=1;Fe[35]=1;Ue[35]=0;Be[35]=-1;ze[35]=1;Ve[35]=1;He[35]=0;We[35]=0;Ge[35]=-1;ke[35]=0;qe[35]=0;Ze[35]=0;Je[35]=-1;je[35]=0;Xe[35]=0;Ye[35]=1;$e[35]=0;Ce[35]=-1;Ie[35]=0;Pe[35]=1;Re[35]=1;Le[35]=0;Ne[35]=1;Oe[153]=0;De[153]=1;Fe[153]=1;Ge[153]=-1;ke[153]=0;qe[153]=0;Ze[153]=0;Je[153]=-1;je[153]=0;Re[153]=1;Le[153]=0;Ne[153]=1;Ue[102]=0;Be[102]=-1;ze[102]=1;Ve[102]=1;He[102]=0;We[102]=0;Xe[102]=0;Ye[102]=1;$e[102]=0;Ce[102]=-1;Ie[102]=0;Pe[102]=1;Oe[155]=0;De[155]=-1;Fe[155]=0;Ge[155]=1;ke[155]=0;qe[155]=1;Ze[155]=0;Je[155]=1;je[155]=1;Re[155]=-1;Le[155]=0;Ne[155]=0;Ue[103]=0;Be[103]=1;ze[103]=0;Ve[103]=-1;He[103]=0;We[103]=1;Xe[103]=0;Ye[103]=-1;$e[103]=1;Ce[103]=1;Ie[103]=0;Pe[103]=0;Oe[152]=0;De[152]=1;Fe[152]=1;Ve[152]=-1;He[152]=0;We[152]=1;Ge[152]=-1;ke[152]=0;qe[152]=0;Ze[152]=0;Je[152]=-1;je[152]=0;Xe[152]=0;Ye[152]=-1;$e[152]=1;Re[152]=1;Le[152]=0;Ne[152]=1;Oe[156]=0;De[156]=-1;Fe[156]=1;Ve[156]=1;He[156]=0;We[156]=1;Ge[156]=-1;ke[156]=0;qe[156]=0;Ze[156]=0;Je[156]=-1;je[156]=0;Xe[156]=0;Ye[156]=1;$e[156]=1;Re[156]=-1;Le[156]=0;Ne[156]=1;Oe[137]=0;De[137]=1;Fe[137]=1;Ue[137]=0;Be[137]=1;ze[137]=0;Ge[137]=-1;ke[137]=0;qe[137]=0;Ze[137]=0;Je[137]=-1;je[137]=0;Ce[137]=1;Ie[137]=0;Pe[137]=0;Re[137]=1;Le[137]=0;Ne[137]=1;Oe[139]=0;De[139]=1;Fe[139]=1;Ue[139]=0;Be[139]=-1;ze[139]=0;Ge[139]=1;ke[139]=0;qe[139]=0;Ze[139]=0;Je[139]=1;je[139]=0;Ce[139]=-1;Ie[139]=0;Pe[139]=0;Re[139]=1;Le[139]=0;Ne[139]=1;Oe[98]=0;De[98]=-1;Fe[98]=0;Ue[98]=0;Be[98]=-1;ze[98]=1;Ve[98]=1;He[98]=0;We[98]=0;Ge[98]=1;ke[98]=0;qe[98]=1;Xe[98]=0;Ye[98]=1;$e[98]=0;Ce[98]=-1;Ie[98]=0;Pe[98]=1;Oe[99]=0;De[99]=1;Fe[99]=0;Ue[99]=0;Be[99]=-1;ze[99]=1;Ve[99]=1;He[99]=0;We[99]=0;Ge[99]=-1;ke[99]=0;qe[99]=1;Xe[99]=0;Ye[99]=-1;$e[99]=0;Ce[99]=1;Ie[99]=0;Pe[99]=1;Ue[38]=0;Be[38]=-1;ze[38]=1;Ve[38]=1;He[38]=0;We[38]=0;Ze[38]=0;Je[38]=1;je[38]=1;Xe[38]=0;Ye[38]=1;$e[38]=0;Ce[38]=-1;Ie[38]=0;Pe[38]=1;Re[38]=-1;Le[38]=0;Ne[38]=0;Ue[39]=0;Be[39]=1;ze[39]=1;Ve[39]=-1;He[39]=0;We[39]=0;Ze[39]=0;Je[39]=-1;je[39]=1;Xe[39]=0;Ye[39]=1;$e[39]=0;Ce[39]=-1;Ie[39]=0;Pe[39]=1;Re[39]=1;Le[39]=0;Ne[39]=0;var Sx=function(n){return[[n.bottomleft,0],[0,0],[0,n.leftbottom]]},wx=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0]]},Mx=function(n){return[[n.topright,1],[1,1],[1,n.righttop]]},bx=function(n){return[[0,n.lefttop],[0,1],[n.topleft,1]]},Ax=function(n){return[[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop]]},Tx=function(n){return[[n.bottomright,0],[n.bottomleft,0],[1,n.righttop],[1,n.rightbottom]]},Cx=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.topleft,1],[n.topright,1]]},Ix=function(n){return[[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},Fj=function(n){return[[0,0],[0,n.leftbottom],[1,n.rightbottom],[1,0]]},Uj=function(n){return[[1,0],[n.bottomright,0],[n.topright,1],[1,1]]},Bj=function(n){return[[1,1],[1,n.righttop],[0,n.lefttop],[0,1]]},zj=function(n){return[[n.bottomleft,0],[0,0],[0,1],[n.topleft,1]]},Gj=function(n){return[[1,n.righttop],[1,n.rightbottom],[0,n.leftbottom],[0,n.lefttop]]},kj=function(n){return[[n.topleft,1],[n.topright,1],[n.bottomright,0],[n.bottomleft,0]]},qj=function(){return[[0,0],[0,1],[1,1],[1,0]]},Vj=function(n){return[[1,n.rightbottom],[1,0],[0,0],[0,1],[n.topleft,1]]},Hj=function(n){return[[n.topright,1],[1,1],[1,0],[0,0],[0,n.leftbottom]]},Wj=function(n){return[[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[1,1]]},Xj=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,1]]},Yj=function(n){return[[1,n.righttop],[1,n.rightbottom],[0,n.lefttop],[0,1],[n.topleft,1]]},$j=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[n.topright,1]]},Zj=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop]]},Jj=function(n){return[[n.topright,1],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topleft,1]]},jj=function(n){return[[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1],[n.topleft,1]]},Kj=function(n){return[[1,1],[1,n.righttop],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},Qj=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[n.topleft,1],[n.topright,1]]},tK=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,n.leftbottom]]},eK=function(n){return[[1,n.rightbottom],[1,0],[0,0],[0,n.leftbottom],[n.topleft,1],[n.topright,1]]},nK=function(n){return[[1,1],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},rK=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1]]},iK=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,1],[n.topleft,1]]},oK=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topright,1]]},sK=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[n.topleft,1]]},aK=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},uK=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topright,1]]},lK=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[n.topleft,1]]},cK=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},fK=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topleft,1],[n.topright,1]]},hK=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1],[n.topleft,1]]},pK=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},en=[],nn=[],rn=[],on=[],sn=[],an=[],un=[],ln=[];on[1]=sn[1]=18;on[169]=sn[169]=18;rn[4]=nn[4]=12;rn[166]=nn[166]=12;en[16]=ln[16]=4;en[154]=ln[154]=4;an[64]=un[64]=22;an[106]=un[106]=22;rn[2]=an[2]=17;on[2]=sn[2]=18;rn[168]=an[168]=17;on[168]=sn[168]=18;en[8]=on[8]=9;nn[8]=rn[8]=12;en[162]=on[162]=9;nn[162]=rn[162]=12;en[32]=ln[32]=4;nn[32]=un[32]=1;en[138]=ln[138]=4;nn[138]=un[138]=1;sn[128]=ln[128]=21;an[128]=un[128]=22;sn[42]=ln[42]=21;an[42]=un[42]=22;nn[5]=sn[5]=14;nn[165]=sn[165]=14;rn[20]=ln[20]=6;rn[150]=ln[150]=6;en[80]=an[80]=11;en[90]=an[90]=11;on[65]=un[65]=3;on[105]=un[105]=3;en[160]=an[160]=11;nn[160]=sn[160]=14;en[10]=an[10]=11;nn[10]=sn[10]=14;rn[130]=ln[130]=6;on[130]=un[130]=3;rn[40]=ln[40]=6;on[40]=un[40]=3;nn[101]=un[101]=1;nn[69]=un[69]=1;sn[149]=ln[149]=21;sn[21]=ln[21]=21;rn[86]=an[86]=17;rn[84]=an[84]=17;en[89]=on[89]=9;en[81]=on[81]=9;en[96]=un[96]=0;nn[96]=an[96]=15;en[74]=un[74]=0;nn[74]=an[74]=15;en[24]=rn[24]=8;on[24]=ln[24]=7;en[146]=rn[146]=8;on[146]=ln[146]=7;nn[6]=an[6]=15;rn[6]=sn[6]=16;nn[164]=an[164]=15;rn[164]=sn[164]=16;on[129]=ln[129]=7;sn[129]=un[129]=20;on[41]=ln[41]=7;sn[41]=un[41]=20;rn[66]=un[66]=2;on[66]=an[66]=19;rn[104]=un[104]=2;on[104]=an[104]=19;en[144]=sn[144]=10;an[144]=ln[144]=23;en[26]=sn[26]=10;an[26]=ln[26]=23;nn[36]=ln[36]=5;rn[36]=un[36]=2;nn[134]=ln[134]=5;rn[134]=un[134]=2;en[9]=sn[9]=10;nn[9]=on[9]=13;en[161]=sn[161]=10;nn[161]=on[161]=13;nn[37]=ln[37]=5;sn[37]=un[37]=20;nn[133]=ln[133]=5;sn[133]=un[133]=20;rn[148]=sn[148]=16;an[148]=ln[148]=23;rn[22]=sn[22]=16;an[22]=ln[22]=23;en[82]=rn[82]=8;on[82]=an[82]=19;en[88]=rn[88]=8;on[88]=an[88]=19;en[73]=un[73]=0;nn[73]=on[73]=13;en[97]=un[97]=0;nn[97]=on[97]=13;en[145]=on[145]=9;sn[145]=ln[145]=21;en[25]=on[25]=9;sn[25]=ln[25]=21;nn[70]=un[70]=1;rn[70]=an[70]=17;nn[100]=un[100]=1;rn[100]=an[100]=17;en[34]=on[34]=9;nn[34]=rn[34]=12;sn[34]=ln[34]=21;an[34]=un[34]=22;en[136]=ln[136]=4;nn[136]=un[136]=1;rn[136]=an[136]=17;on[136]=sn[136]=18;en[35]=ln[35]=4;nn[35]=rn[35]=12;on[35]=sn[35]=18;an[35]=un[35]=22;en[153]=ln[153]=4;on[153]=sn[153]=18;nn[102]=rn[102]=12;an[102]=un[102]=22;en[155]=on[155]=9;sn[155]=ln[155]=23;nn[103]=un[103]=1;rn[103]=an[103]=17;en[152]=ln[152]=4;rn[152]=an[152]=17;on[152]=sn[152]=18;en[156]=rn[156]=8;on[156]=sn[156]=18;an[156]=ln[156]=23;en[137]=ln[137]=4;nn[137]=un[137]=1;on[137]=sn[137]=18;en[139]=ln[139]=4;nn[139]=on[139]=13;sn[139]=un[139]=20;en[98]=on[98]=9;nn[98]=rn[98]=12;an[98]=un[98]=22;en[99]=un[99]=0;nn[99]=rn[99]=12;on[99]=an[99]=19;nn[38]=rn[38]=12;sn[38]=ln[38]=21;an[38]=un[38]=22;nn[39]=ln[39]=5;rn[39]=sn[39]=16;an[39]=un[39]=22;var Yt=[];Yt[1]=Yt[169]=Sx;Yt[4]=Yt[166]=wx;Yt[16]=Yt[154]=Mx;Yt[64]=Yt[106]=bx;Yt[168]=Yt[2]=Ax;Yt[162]=Yt[8]=Tx;Yt[138]=Yt[32]=Cx;Yt[42]=Yt[128]=Ix;Yt[5]=Yt[165]=Fj;Yt[20]=Yt[150]=Uj;Yt[80]=Yt[90]=Bj;Yt[65]=Yt[105]=zj;Yt[160]=Yt[10]=Gj;Yt[130]=Yt[40]=kj;Yt[85]=qj;Yt[101]=Yt[69]=Vj;Yt[149]=Yt[21]=Hj;Yt[86]=Yt[84]=Wj;Yt[89]=Yt[81]=Xj;Yt[96]=Yt[74]=Yj;Yt[24]=Yt[146]=$j;Yt[6]=Yt[164]=Zj;Yt[129]=Yt[41]=Jj;Yt[66]=Yt[104]=jj;Yt[144]=Yt[26]=Kj;Yt[36]=Yt[134]=Qj;Yt[9]=Yt[161]=tK;Yt[37]=Yt[133]=eK;Yt[148]=Yt[22]=nK;Yt[82]=Yt[88]=rK;Yt[73]=Yt[97]=iK;Yt[145]=Yt[25]=oK;Yt[70]=Yt[100]=sK;Yt[34]=function(n){return[Ix(n),Tx(n)]};Yt[35]=aK;Yt[136]=function(n){return[Cx(n),Ax(n)]};Yt[153]=function(n){return[Mx(n),Sx(n)]};Yt[102]=function(n){return[wx(n),bx(n)]};Yt[155]=uK;Yt[103]=lK;Yt[152]=function(n){return[Mx(n),Ax(n)]};Yt[156]=cK;Yt[137]=function(n){return[Cx(n),Sx(n)]};Yt[139]=fK;Yt[98]=function(n){return[Tx(n),bx(n)]};Yt[99]=hK;Yt[38]=function(n){return[wx(n),Ix(n)]};Yt[39]=pK;function gK(n){return(n>0)-(n<0)||+n}function Ql(n,t,e){var i=t[0]-n[0],s=t[1]-n[1],u=e[0]-t[0],c=e[1]-t[1];return gK(i*c-u*s)}function d2(n,t){var e=n.geometry.coordinates[0].map(function(c){return c[0]}),i=n.geometry.coordinates[0].map(function(c){return c[1]}),s=t.geometry.coordinates[0].map(function(c){return c[0]}),u=t.geometry.coordinates[0].map(function(c){return c[1]});return Math.max.apply(null,e)===Math.max.apply(null,s)&&Math.max.apply(null,i)===Math.max.apply(null,u)&&Math.min.apply(null,e)===Math.min.apply(null,s)&&Math.min.apply(null,i)===Math.min.apply(null,u)}function Px(n,t){return t.geometry.coordinates[0].every(function(e){return zr(Dn(e),n)})}function g2(n,t){return n[0]===t[0]&&n[1]===t[1]}var mK=function(){function n(t){this.id=n.buildId(t),this.coordinates=t,this.innerEdges=[],this.outerEdges=[],this.outerEdgesSorted=!1}return n.buildId=function(t){return t.join(",")},n.prototype.removeInnerEdge=function(t){this.innerEdges=this.innerEdges.filter(function(e){return e.from.id!==t.from.id})},n.prototype.removeOuterEdge=function(t){this.outerEdges=this.outerEdges.filter(function(e){return e.to.id!==t.to.id})},n.prototype.addOuterEdge=function(t){this.outerEdges.push(t),this.outerEdgesSorted=!1},n.prototype.sortOuterEdges=function(){var t=this;this.outerEdgesSorted||(this.outerEdges.sort(function(e,i){var s=e.to,u=i.to;if(s.coordinates[0]-t.coordinates[0]>=0&&u.coordinates[0]-t.coordinates[0]<0)return 1;if(s.coordinates[0]-t.coordinates[0]<0&&u.coordinates[0]-t.coordinates[0]>=0)return-1;if(s.coordinates[0]-t.coordinates[0]===0&&u.coordinates[0]-t.coordinates[0]===0)return s.coordinates[1]-t.coordinates[1]>=0||u.coordinates[1]-t.coordinates[1]>=0?s.coordinates[1]-u.coordinates[1]:u.coordinates[1]-s.coordinates[1];var c=Ql(t.coordinates,s.coordinates,u.coordinates);if(c<0)return 1;if(c>0)return-1;var f=Math.pow(s.coordinates[0]-t.coordinates[0],2)+Math.pow(s.coordinates[1]-t.coordinates[1],2),p=Math.pow(u.coordinates[0]-t.coordinates[0],2)+Math.pow(u.coordinates[1]-t.coordinates[1],2);return f-p}),this.outerEdgesSorted=!0)},n.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},n.prototype.getOuterEdge=function(t){return this.sortOuterEdges(),this.outerEdges[t]},n.prototype.addInnerEdge=function(t){this.innerEdges.push(t)},n}(),Rx=mK;var yK=function(){function n(t,e){this.from=t,this.to=e,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)}return n.prototype.getSymetric=function(){return this.symetric||(this.symetric=new n(this.to,this.from),this.symetric.symetric=this),this.symetric},n.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},n.prototype.isEqual=function(t){return this.from.id===t.from.id&&this.to.id===t.to.id},n.prototype.toString=function(){return"Edge { "+this.from.id+" -> "+this.to.id+" }"},n.prototype.toLineString=function(){return Br([this.from.coordinates,this.to.coordinates])},n.prototype.compareTo=function(t){return Ql(t.from.coordinates,t.to.coordinates,this.to.coordinates)},n}(),m2=yK;var vK=function(){function n(){this.edges=[],this.polygon=void 0,this.envelope=void 0}return n.prototype.push=function(t){this.edges.push(t),this.polygon=this.envelope=void 0},n.prototype.get=function(t){return this.edges[t]},Object.defineProperty(n.prototype,"length",{get:function(){return this.edges.length},enumerable:!0,configurable:!0}),n.prototype.forEach=function(t){this.edges.forEach(t)},n.prototype.map=function(t){return this.edges.map(t)},n.prototype.some=function(t){return this.edges.some(t)},n.prototype.isValid=function(){return!0},n.prototype.isHole=function(){var t=this,e=this.edges.reduce(function(c,f,p){return f.from.coordinates[1]>t.edges[c].from.coordinates[1]&&(c=p),c},0),i=(e===0?this.length:e)-1,s=(e+1)%this.length,u=Ql(this.edges[i].from.coordinates,this.edges[e].from.coordinates,this.edges[s].from.coordinates);return u===0?this.edges[i].from.coordinates[0]>this.edges[s].from.coordinates[0]:u>0},n.prototype.toMultiPoint=function(){return u_(this.edges.map(function(t){return t.from.coordinates}))},n.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var t=this.edges.map(function(e){return e.from.coordinates});return t.push(this.edges[0].from.coordinates),this.polygon=Un([t])},n.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=T_(this.toPolygon())},n.findEdgeRingContaining=function(t,e){var i=t.getEnvelope(),s,u;return e.forEach(function(c){var f=c.getEnvelope();if(u&&(s=u.getEnvelope()),!d2(f,i)&&Px(f,i)){for(var p=t.map(function(M){return M.from.coordinates}),d=void 0,g=function(M){c.some(function(A){return g2(M,A.from.coordinates)})||(d=M)},y=0,v=p;y<v.length;y++){var E=v[y];g(E)}d&&c.inside(Dn(d))&&(!u||Px(s,f))&&(u=c)}}),u},n.prototype.inside=function(t){return zr(t,this.toPolygon())},n}(),Lx=vK;function _K(n){if(!n)throw new Error("No geojson passed");if(n.type!=="FeatureCollection"&&n.type!=="GeometryCollection"&&n.type!=="MultiLineString"&&n.type!=="LineString"&&n.type!=="Feature")throw new Error("Invalid input type '"+n.type+"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature")}var Kdt=function(){function n(){this.edges=[],this.nodes={}}return n.fromGeoJson=function(t){_K(t);var e=new n;return Ji(t,function(i){c_(i,"LineString","Graph::fromGeoJson"),TP(i,function(s,u){if(s){var c=e.getNode(s),f=e.getNode(u);e.addEdge(c,f)}return u})}),e},n.prototype.getNode=function(t){var e=Rx.buildId(t),i=this.nodes[e];return i||(i=this.nodes[e]=new Rx(t)),i},n.prototype.addEdge=function(t,e){var i=new m2(t,e),s=i.getSymetric();this.edges.push(i),this.edges.push(s)},n.prototype.deleteDangles=function(){var t=this;Object.keys(this.nodes).map(function(e){return t.nodes[e]}).forEach(function(e){return t._removeIfDangle(e)})},n.prototype._removeIfDangle=function(t){var e=this;if(t.innerEdges.length<=1){var i=t.getOuterEdges().map(function(s){return s.to});this.removeNode(t),i.forEach(function(s){return e._removeIfDangle(s)})}},n.prototype.deleteCutEdges=function(){var t=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach(function(e){e.label===e.symetric.label&&(t.removeEdge(e.symetric),t.removeEdge(e))})},n.prototype._computeNextCWEdges=function(t){var e=this;typeof t=="undefined"?Object.keys(this.nodes).forEach(function(i){return e._computeNextCWEdges(e.nodes[i])}):t.getOuterEdges().forEach(function(i,s){t.getOuterEdge((s===0?t.getOuterEdges().length:s)-1).symetric.next=i})},n.prototype._computeNextCCWEdges=function(t,e){for(var i=t.getOuterEdges(),s,u,c=i.length-1;c>=0;--c){var f=i[c],p=f.symetric,d=void 0,g=void 0;f.label===e&&(d=f),p.label===e&&(g=p),!(!d||!g)&&(g&&(u=g),d&&(u&&(u.next=d,u=void 0),s||(s=d)))}u&&(u.next=s)},n.prototype._findLabeledEdgeRings=function(){var t=[],e=0;return this.edges.forEach(function(i){if(!(i.label>=0)){t.push(i);var s=i;do s.label=e,s=s.next;while(!i.isEqual(s));e++}}),t},n.prototype.getEdgeRings=function(){var t=this;this._computeNextCWEdges(),this.edges.forEach(function(i){i.label=void 0}),this._findLabeledEdgeRings().forEach(function(i){t._findIntersectionNodes(i).forEach(function(s){t._computeNextCCWEdges(s,i.label)})});var e=[];return this.edges.forEach(function(i){i.ring||e.push(t._findEdgeRing(i))}),e},n.prototype._findIntersectionNodes=function(t){var e=[],i=t,s=function(){var u=0;i.from.getOuterEdges().forEach(function(c){c.label===t.label&&++u}),u>1&&e.push(i.from),i=i.next};do s();while(!t.isEqual(i));return e},n.prototype._findEdgeRing=function(t){var e=t,i=new Lx;do i.push(e),e.ring=i,e=e.next;while(!t.isEqual(e));return i},n.prototype.removeNode=function(t){var e=this;t.getOuterEdges().forEach(function(i){return e.removeEdge(i)}),t.innerEdges.forEach(function(i){return e.removeEdge(i)}),delete this.nodes[t.id]},n.prototype.removeEdge=function(t){this.edges=this.edges.filter(function(e){return!e.isEqual(t)}),t.deleteEdge()},n}();var wK=jt(Nx(),1);var MK=jt(Nx(),1);var AK=jt(b2(),1);var NK=jt(D2(),1);function U2(n){for(var t=n,e=[];t.parent;)e.unshift(t),t=t.parent;return e}function DK(){return new B2(function(n){return n.f})}var Ux={search:function(n,t,e,i){n.cleanDirty(),i=i||{};var s=i.heuristic||Ux.heuristics.manhattan,u=i.closest||!1,c=DK(),f=t;for(t.h=s(t,e),c.push(t);c.size()>0;){var p=c.pop();if(p===e)return U2(p);p.closed=!0;for(var d=n.neighbors(p),g=0,y=d.length;g<y;++g){var v=d[g];if(!(v.closed||v.isWall())){var E=p.g+v.getCost(p),M=v.visited;(!M||E<v.g)&&(v.visited=!0,v.parent=p,v.h=v.h||s(v,e),v.g=E,v.f=v.g+v.h,n.markDirty(v),u&&(v.h<f.h||v.h===f.h&&v.g<f.g)&&(f=v),M?c.rescoreElement(v):c.push(v))}}}return u?U2(f):[]},heuristics:{manhattan:function(n,t){var e=Math.abs(t.x-n.x),i=Math.abs(t.y-n.y);return e+i},diagonal:function(n,t){var e=1,i=Math.sqrt(2),s=Math.abs(t.x-n.x),u=Math.abs(t.y-n.y);return e*(s+u)+(i-2*e)*Math.min(s,u)}},cleanNode:function(n){n.f=0,n.g=0,n.h=0,n.visited=!1,n.closed=!1,n.parent=null}};function Bf(n,t){t=t||{},this.nodes=[],this.diagonal=!!t.diagonal,this.grid=[];for(var e=0;e<n.length;e++){this.grid[e]=[];for(var i=0,s=n[e];i<s.length;i++){var u=new og(e,i,s[i]);this.grid[e][i]=u,this.nodes.push(u)}}this.init()}Bf.prototype.init=function(){this.dirtyNodes=[];for(var n=0;n<this.nodes.length;n++)Ux.cleanNode(this.nodes[n])};Bf.prototype.cleanDirty=function(){for(var n=0;n<this.dirtyNodes.length;n++)Ux.cleanNode(this.dirtyNodes[n]);this.dirtyNodes=[]};Bf.prototype.markDirty=function(n){this.dirtyNodes.push(n)};Bf.prototype.neighbors=function(n){var t=[],e=n.x,i=n.y,s=this.grid;return s[e-1]&&s[e-1][i]&&t.push(s[e-1][i]),s[e+1]&&s[e+1][i]&&t.push(s[e+1][i]),s[e]&&s[e][i-1]&&t.push(s[e][i-1]),s[e]&&s[e][i+1]&&t.push(s[e][i+1]),this.diagonal&&(s[e-1]&&s[e-1][i-1]&&t.push(s[e-1][i-1]),s[e+1]&&s[e+1][i-1]&&t.push(s[e+1][i-1]),s[e-1]&&s[e-1][i+1]&&t.push(s[e-1][i+1]),s[e+1]&&s[e+1][i+1]&&t.push(s[e+1][i+1])),t};Bf.prototype.toString=function(){for(var n=[],t=this.grid,e,i,s,u,c=0,f=t.length;c<f;c++){for(e=[],i=t[c],s=0,u=i.length;s<u;s++)e.push(i[s].weight);n.push(e.join(" "))}return n.join(\`
11922
11922
  \`)};function og(n,t,e){this.x=n,this.y=t,this.weight=e}og.prototype.toString=function(){return"["+this.x+" "+this.y+"]"};og.prototype.getCost=function(n){return n&&n.x!==this.x&&n.y!==this.y?this.weight*1.41421:this.weight};og.prototype.isWall=function(){return this.weight===0};function B2(n){this.content=[],this.scoreFunction=n}B2.prototype={push:function(n){this.content.push(n),this.sinkDown(this.content.length-1)},pop:function(){var n=this.content[0],t=this.content.pop();return this.content.length>0&&(this.content[0]=t,this.bubbleUp(0)),n},remove:function(n){var t=this.content.indexOf(n),e=this.content.pop();t!==this.content.length-1&&(this.content[t]=e,this.scoreFunction(e)<this.scoreFunction(n)?this.sinkDown(t):this.bubbleUp(t))},size:function(){return this.content.length},rescoreElement:function(n){this.sinkDown(this.content.indexOf(n))},sinkDown:function(n){for(var t=this.content[n];n>0;){var e=(n+1>>1)-1,i=this.content[e];if(this.scoreFunction(t)<this.scoreFunction(i))this.content[e]=t,this.content[n]=i,n=e;else break}},bubbleUp:function(n){for(var t=this.content.length,e=this.content[n],i=this.scoreFunction(e);;){var s=n+1<<1,u=s-1,c=null,f;if(u<t){var p=this.content[u];f=this.scoreFunction(p),f<i&&(c=u)}if(s<t){var d=this.content[s],g=this.scoreFunction(d);g<(c===null?i:f)&&(c=s)}if(c!==null)this.content[n]=this.content[c],this.content[c]=e,n=c;else break}}};function Bx(){this._=null}function ec(n){n.U=n.C=n.L=n.R=n.P=n.N=null}Bx.prototype={constructor:Bx,insert:function(n,t){var e,i,s;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=z2(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)i=e.U,e===i.L?(s=i.R,s&&s.C?(e.C=s.C=!1,i.C=!0,n=i):(n===e.R&&(zf(this,e),n=e,e=n.U),e.C=!1,i.C=!0,Gf(this,i))):(s=i.L,s&&s.C?(e.C=s.C=!1,i.C=!0,n=i):(n===e.L&&(Gf(this,e),n=e,e=n.U),e.C=!1,i.C=!0,zf(this,i))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t=n.U,e,i=n.L,s=n.R,u,c;if(i?s?u=z2(s):u=i:u=s,t?t.L===n?t.L=u:t.R=u:this._=u,i&&s?(c=u.C,u.C=n.C,u.L=i,i.U=u,u!==s?(t=u.U,u.U=n.U,n=u.R,t.L=n,u.R=s,s.U=u):(u.U=t,t=u,n=u.R)):(c=n.C,n=u),n&&(n.U=t),!c){if(n&&n.C){n.C=!1;return}do{if(n===this._)break;if(n===t.L){if(e=t.R,e.C&&(e.C=!1,t.C=!0,zf(this,t),e=t.R),e.L&&e.L.C||e.R&&e.R.C){(!e.R||!e.R.C)&&(e.L.C=!1,e.C=!0,Gf(this,e),e=t.R),e.C=t.C,t.C=e.R.C=!1,zf(this,t),n=this._;break}}else if(e=t.L,e.C&&(e.C=!1,t.C=!0,Gf(this,t),e=t.L),e.L&&e.L.C||e.R&&e.R.C){(!e.L||!e.L.C)&&(e.R.C=!1,e.C=!0,zf(this,e),e=t.L),e.C=t.C,t.C=e.L.C=!1,Gf(this,t),n=this._;break}e.C=!0,n=t,t=t.U}while(!n.C);n&&(n.C=!1)}}};function zf(n,t){var e=t,i=t.R,s=e.U;s?s.L===e?s.L=i:s.R=i:n._=i,i.U=s,e.U=i,e.R=i.L,e.R&&(e.R.U=e),i.L=e}function Gf(n,t){var e=t,i=t.L,s=e.U;s?s.L===e?s.L=i:s.R=i:n._=i,i.U=s,e.U=i,e.L=i.R,e.L&&(e.L.U=e),i.R=e}function z2(n){for(;n.L;)n=n.L;return n}var zx=Bx;function nc(n,t,e,i){var s=[null,null],u=kr.push(s)-1;return s.left=n,s.right=t,e&&kf(s,n,t,e),i&&kf(s,t,n,i),Ti[n.index].halfedges.push(u),Ti[t.index].halfedges.push(u),s}function rc(n,t,e){var i=[t,e];return i.left=n,i}function kf(n,t,e,i){!n[0]&&!n[1]?(n[0]=i,n.left=t,n.right=e):n.left===e?n[1]=i:n[0]=i}function FK(n,t,e,i,s){var u=n[0],c=n[1],f=u[0],p=u[1],d=c[0],g=c[1],y=0,v=1,E=d-f,M=g-p,A;if(A=t-f,!(!E&&A>0)){if(A/=E,E<0){if(A<y)return;A<v&&(v=A)}else if(E>0){if(A>v)return;A>y&&(y=A)}if(A=i-f,!(!E&&A<0)){if(A/=E,E<0){if(A>v)return;A>y&&(y=A)}else if(E>0){if(A<y)return;A<v&&(v=A)}if(A=e-p,!(!M&&A>0)){if(A/=M,M<0){if(A<y)return;A<v&&(v=A)}else if(M>0){if(A>v)return;A>y&&(y=A)}if(A=s-p,!(!M&&A<0)){if(A/=M,M<0){if(A>v)return;A>y&&(y=A)}else if(M>0){if(A<y)return;A<v&&(v=A)}return!(y>0)&&!(v<1)||(y>0&&(n[0]=[f+y*E,p+y*M]),v<1&&(n[1]=[f+v*E,p+v*M])),!0}}}}}function UK(n,t,e,i,s){var u=n[1];if(u)return!0;var c=n[0],f=n.left,p=n.right,d=f[0],g=f[1],y=p[0],v=p[1],E=(d+y)/2,M=(g+v)/2,A,_;if(v===g){if(E<t||E>=i)return;if(d>y){if(!c)c=[E,e];else if(c[1]>=s)return;u=[E,s]}else{if(!c)c=[E,s];else if(c[1]<e)return;u=[E,e]}}else if(A=(d-y)/(v-g),_=M-A*E,A<-1||A>1)if(d>y){if(!c)c=[(e-_)/A,e];else if(c[1]>=s)return;u=[(s-_)/A,s]}else{if(!c)c=[(s-_)/A,s];else if(c[1]<e)return;u=[(e-_)/A,e]}else if(g<v){if(!c)c=[t,A*t+_];else if(c[0]>=i)return;u=[i,A*i+_]}else{if(!c)c=[i,A*i+_];else if(c[0]<t)return;u=[t,A*t+_]}return n[0]=c,n[1]=u,!0}function G2(n,t,e,i){for(var s=kr.length,u;s--;)(!UK(u=kr[s],n,t,e,i)||!FK(u,n,t,e,i)||!(Math.abs(u[0][0]-u[1][0])>Ln||Math.abs(u[0][1]-u[1][1])>Ln))&&delete kr[s]}function k2(n){return Ti[n.index]={site:n,halfedges:[]}}function BK(n,t){var e=n.site,i=t.left,s=t.right;return e===s&&(s=i,i=e),s?Math.atan2(s[1]-i[1],s[0]-i[0]):(e===i?(i=t[1],s=t[0]):(i=t[0],s=t[1]),Math.atan2(i[0]-s[0],s[1]-i[1]))}function Gx(n,t){return t[+(t.left!==n.site)]}function zK(n,t){return t[+(t.left===n.site)]}function q2(){for(var n=0,t=Ti.length,e,i,s,u;n<t;++n)if((e=Ti[n])&&(u=(i=e.halfedges).length)){var c=new Array(u),f=new Array(u);for(s=0;s<u;++s)c[s]=s,f[s]=BK(e,kr[i[s]]);for(c.sort(function(p,d){return f[d]-f[p]}),s=0;s<u;++s)f[s]=i[c[s]];for(s=0;s<u;++s)i[s]=f[s]}}function V2(n,t,e,i){var s=Ti.length,u,c,f,p,d,g,y,v,E,M,A,_,x=!0;for(u=0;u<s;++u)if(c=Ti[u]){for(f=c.site,d=c.halfedges,p=d.length;p--;)kr[d[p]]||d.splice(p,1);for(p=0,g=d.length;p<g;)M=zK(c,kr[d[p]]),A=M[0],_=M[1],y=Gx(c,kr[d[++p%g]]),v=y[0],E=y[1],(Math.abs(A-v)>Ln||Math.abs(_-E)>Ln)&&(d.splice(p,0,kr.push(rc(f,M,Math.abs(A-n)<Ln&&i-_>Ln?[n,Math.abs(v-n)<Ln?E:i]:Math.abs(_-i)<Ln&&e-A>Ln?[Math.abs(E-i)<Ln?v:e,i]:Math.abs(A-e)<Ln&&_-t>Ln?[e,Math.abs(v-e)<Ln?E:t]:Math.abs(_-t)<Ln&&A-n>Ln?[Math.abs(E-t)<Ln?v:n,t]:null))-1),++g);g&&(x=!1)}if(x){var T,w,R,z=1/0;for(u=0,x=null;u<s;++u)(c=Ti[u])&&(f=c.site,T=f[0]-n,w=f[1]-t,R=T*T+w*w,R<z&&(z=R,x=c));if(x){var U=[n,t],D=[n,i],P=[e,i],ct=[e,t];x.halfedges.push(kr.push(rc(f=x.site,U,D))-1,kr.push(rc(f,D,P))-1,kr.push(rc(f,P,ct))-1,kr.push(rc(f,ct,U))-1)}}for(u=0;u<s;++u)(c=Ti[u])&&(c.halfedges.length||delete Ti[u])}var H2=[],sg;function GK(){ec(this),this.x=this.y=this.arc=this.site=this.cy=null}function _u(n){var t=n.P,e=n.N;if(!(!t||!e)){var i=t.site,s=n.site,u=e.site;if(i!==u){var c=s[0],f=s[1],p=i[0]-c,d=i[1]-f,g=u[0]-c,y=u[1]-f,v=2*(p*y-d*g);if(!(v>=-W2)){var E=p*p+d*d,M=g*g+y*y,A=(y*E-d*M)/v,_=(p*M-g*E)/v,x=H2.pop()||new GK;x.arc=n,x.site=s,x.x=A+c,x.y=(x.cy=_+f)+Math.sqrt(A*A+_*_),n.circle=x;for(var T=null,w=ic._;w;)if(x.y<w.y||x.y===w.y&&x.x<=w.x)if(w.L)w=w.L;else{T=w.P;break}else if(w.R)w=w.R;else{T=w;break}ic.insert(T,x),T||(sg=x)}}}}function xu(n){var t=n.circle;t&&(t.P||(sg=t.N),ic.remove(t),H2.push(t),ec(t),n.circle=null)}var Y2=[];function kK(){ec(this),this.edge=this.site=this.circle=null}function X2(n){var t=Y2.pop()||new kK;return t.site=n,t}function kx(n){xu(n),Eu.remove(n),Y2.push(n),ec(n)}function $2(n){var t=n.circle,e=t.x,i=t.cy,s=[e,i],u=n.P,c=n.N,f=[n];kx(n);for(var p=u;p.circle&&Math.abs(e-p.circle.x)<Ln&&Math.abs(i-p.circle.cy)<Ln;)u=p.P,f.unshift(p),kx(p),p=u;f.unshift(p),xu(p);for(var d=c;d.circle&&Math.abs(e-d.circle.x)<Ln&&Math.abs(i-d.circle.cy)<Ln;)c=d.N,f.push(d),kx(d),d=c;f.push(d),xu(d);var g=f.length,y;for(y=1;y<g;++y)d=f[y],p=f[y-1],kf(d.edge,p.site,d.site,s);p=f[0],d=f[g-1],d.edge=nc(p.site,d.site,null,s),_u(p),_u(d)}function Z2(n){for(var t=n[0],e=n[1],i,s,u,c,f=Eu._;f;)if(u=J2(f,e)-t,u>Ln)f=f.L;else if(c=t-qK(f,e),c>Ln){if(!f.R){i=f;break}f=f.R}else{u>-Ln?(i=f.P,s=f):c>-Ln?(i=f,s=f.N):i=s=f;break}k2(n);var p=X2(n);if(Eu.insert(i,p),!(!i&&!s)){if(i===s){xu(i),s=X2(i.site),Eu.insert(p,s),p.edge=s.edge=nc(i.site,p.site),_u(i),_u(s);return}if(!s){p.edge=nc(i.site,p.site);return}xu(i),xu(s);var d=i.site,g=d[0],y=d[1],v=n[0]-g,E=n[1]-y,M=s.site,A=M[0]-g,_=M[1]-y,x=2*(v*_-E*A),T=v*v+E*E,w=A*A+_*_,R=[(_*T-E*w)/x+g,(v*w-A*T)/x+y];kf(s.edge,d,M,R),p.edge=nc(d,n,null,R),s.edge=nc(n,M,null,R),_u(i),_u(s)}}function J2(n,t){var e=n.site,i=e[0],s=e[1],u=s-t;if(!u)return i;var c=n.P;if(!c)return-1/0;e=c.site;var f=e[0],p=e[1],d=p-t;if(!d)return f;var g=f-i,y=1/u-1/d,v=g/d;return y?(-v+Math.sqrt(v*v-2*y*(g*g/(-2*d)-p+d/2+s-u/2)))/y+i:(i+f)/2}function qK(n,t){var e=n.N;if(e)return J2(e,t);var i=n.site;return i[1]===t?i[0]:1/0}var Ln=1e-6,W2=1e-12,Eu,Ti,ic,kr;function VK(n,t,e){return(n[0]-e[0])*(t[1]-n[1])-(n[0]-t[0])*(e[1]-n[1])}function HK(n,t){return t[1]-n[1]||t[0]-n[0]}function ag(n,t){var e=n.sort(HK).pop(),i,s,u;for(kr=[],Ti=new Array(n.length),Eu=new zx,ic=new zx;;)if(u=sg,e&&(!u||e[1]<u.y||e[1]===u.y&&e[0]<u.x))(e[0]!==i||e[1]!==s)&&(Z2(e),i=e[0],s=e[1]),e=n.pop();else if(u)$2(u.arc);else break;if(q2(),t){var c=+t[0][0],f=+t[0][1],p=+t[1][0],d=+t[1][1];G2(c,f,p,d),V2(c,f,p,d)}this.edges=kr,this.cells=Ti,Eu=ic=kr=Ti=null}ag.prototype={constructor:ag,polygons:function(){var n=this.edges;return this.cells.map(function(t){var e=t.halfedges.map(function(i){return Gx(t,n[i])});return e.data=t.site.data,e})},triangles:function(){var n=[],t=this.edges;return this.cells.forEach(function(e,i){if(f=(u=e.halfedges).length)for(var s=e.site,u,c=-1,f,p,d=t[u[f-1]],g=d.left===s?d.right:d.left;++c<f;)p=g,d=t[u[c]],g=d.left===s?d.right:d.left,p&&g&&i<p.index&&i<g.index&&VK(s,p,g)<0&&n.push([s.data,p.data,g.data])}),n},links:function(){return this.edges.filter(function(n){return n.right}).map(function(n){return{source:n.left.data,target:n.right.data}})},find:function(n,t,e){for(var i=this,s,u=i._found||0,c=i.cells.length,f;!(f=i.cells[u]);)if(++u>=c)return null;var p=n-f.site[0],d=t-f.site[1],g=p*p+d*d;do f=i.cells[s=u],u=null,f.halfedges.forEach(function(y){var v=i.edges[y],E=v.left;if(!((E===f.site||!E)&&!(E=v.right))){var M=n-E[0],A=t-E[1],_=M*M+A*A;_<g&&(g=_,u=E.index)}});while(u!==null);return i._found=s,e==null||g<=e*e?f.site:null}};var KK=jt(oc(),1);var n1=jt(tO(),1);function Di(){return new cg}function cg(){this.reset()}cg.prototype={constructor:cg,reset:function(){this.s=this.t=0},add:function(n){eO(lg,n,this.t),eO(this,lg.s,this.s),this.s?this.t+=lg.t:this.s=lg.t},valueOf:function(){return this.s}};var lg=new cg;function eO(n,t,e){var i=n.s=t+e,s=i-t,u=i-s;n.t=t-u+(e-s)}var yn=1e-6;var Tn=Math.PI,br=Tn/2,fg=Tn/4,os=Tn*2,Su=180/Tn,Fi=Tn/180,nr=Math.abs,Uo=Math.atan,Ui=Math.atan2,hn=Math.cos;var hg=Math.exp;var qf=Math.log;var Me=Math.sin;var jr=Math.sqrt,Vf=Math.tan;function Hx(n){return n>1?0:n<-1?Tn:Math.acos(n)}function Ci(n){return n>1?br:n<-1?-br:Math.asin(n)}function Bo(){}var QK=Di(),X0t=Di();function wu(n){var t=n[0],e=n[1],i=hn(e);return[i*hn(t),i*Me(t),Me(e)]}function Hf(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Wf(n){var t=jr(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}var nyt=Di();function rO(n,t){return[n>Tn?n-os:n<-Tn?n+os:n,t]}rO.invert=rO;function Wx(){var n=[],t;return{point:function(e,i){t.push([e,i])},lineStart:function(){n.push(t=[])},lineEnd:Bo,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Xx(n,t){return nr(n[0]-t[0])<yn&&nr(n[1]-t[1])<yn}function pg(n,t,e,i){this.x=n,this.z=t,this.o=e,this.e=i,this.v=!1,this.n=this.p=null}function Yx(n,t,e,i,s){var u=[],c=[],f,p;if(n.forEach(function(M){if(!((A=M.length-1)<=0)){var A,_=M[0],x=M[A],T;if(Xx(_,x)){for(s.lineStart(),f=0;f<A;++f)s.point((_=M[f])[0],_[1]);s.lineEnd();return}u.push(T=new pg(_,M,null,!0)),c.push(T.o=new pg(_,null,T,!1)),u.push(T=new pg(x,M,null,!1)),c.push(T.o=new pg(x,null,T,!0))}}),!!u.length){for(c.sort(t),iO(u),iO(c),f=0,p=c.length;f<p;++f)c[f].e=e=!e;for(var d=u[0],g,y;;){for(var v=d,E=!0;v.v;)if((v=v.n)===d)return;g=v.z,s.lineStart();do{if(v.v=v.o.v=!0,v.e){if(E)for(f=0,p=g.length;f<p;++f)s.point((y=g[f])[0],y[1]);else i(v.x,v.n.x,1,s);v=v.n}else{if(E)for(g=v.p.z,f=g.length-1;f>=0;--f)s.point((y=g[f])[0],y[1]);else i(v.x,v.p.x,-1,s);v=v.p}v=v.o,g=v.z,E=!E}while(!v.v);s.lineEnd()}}}function iO(n){if(t=n.length){for(var t,e=0,i=n[0],s;++e<t;)i.n=s=n[e],s.p=i,i=s;i.n=s=n[0],s.p=i}}function Aa(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function $x(n){return n.length===1&&(n=nQ(n)),{left:function(t,e,i,s){for(i==null&&(i=0),s==null&&(s=t.length);i<s;){var u=i+s>>>1;n(t[u],e)<0?i=u+1:s=u}return i},right:function(t,e,i,s){for(i==null&&(i=0),s==null&&(s=t.length);i<s;){var u=i+s>>>1;n(t[u],e)>0?s=u:i=u+1}return i}}}function nQ(n){return function(t,e){return Aa(n(t),e)}}var oO=$x(Aa),rQ=oO.right,iQ=oO.left;var sO=Array.prototype,sQ=sO.slice,aQ=sO.map;var $yt=Math.sqrt(50),Zyt=Math.sqrt(10),Jyt=Math.sqrt(2);function gg(n){for(var t=n.length,e,i=-1,s=0,u,c;++i<t;)s+=n[i].length;for(u=new Array(s);--t>=0;)for(c=n[t],e=c.length;--e>=0;)u[--s]=c[e];return u}var gQ=1e9,N_t=-gQ;var Zx=Di();function Jx(n,t){var e=t[0],i=t[1],s=[Me(e),-hn(e),0],u=0,c=0;Zx.reset();for(var f=0,p=n.length;f<p;++f)if(g=(d=n[f]).length)for(var d,g,y=d[g-1],v=y[0],E=y[1]/2+fg,M=Me(E),A=hn(E),_=0;_<g;++_,v=T,M=R,A=z,y=x){var x=d[_],T=x[0],w=x[1]/2+fg,R=Me(w),z=hn(w),U=T-v,D=U>=0?1:-1,P=D*U,ct=P>Tn,L=M*R;if(Zx.add(Ui(L*D*Me(P),A*z+L*hn(P))),u+=ct?U+D*os:U,ct^v>=e^T>=e){var W=Hf(wu(y),wu(x));Wf(W);var V=Hf(s,W);Wf(V);var Mt=(ct^U>=0?-1:1)*Ci(V[2]);(i>Mt||i===Mt&&(W[0]||W[1]))&&(c+=ct^U>=0?1:-1)}}return(u<-yn||u<yn&&Zx<-yn)^c&1}var V_t=Di();var uxt=Di(),lxt=Di();var vQ=1/0;var hxt=-vQ;function jx(n){this._context=n}jx.prototype={_radius:4.5,pointRadius:function(n){return this._radius=n,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(n,t){switch(this._point){case 0:{this._context.moveTo(n,t),this._point=1;break}case 1:{this._context.lineTo(n,t);break}default:{this._context.moveTo(n+this._radius,t),this._context.arc(n,t,this._radius,0,os);break}}},result:Bo};var Sxt=Di();function Kx(){this._string=[]}Kx.prototype={_radius:4.5,_circle:lO(4.5),pointRadius:function(n){return(n=+n)!==this._radius&&(this._radius=n,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(n,t){switch(this._point){case 0:{this._string.push("M",n,",",t),this._point=1;break}case 1:{this._string.push("L",n,",",t);break}default:{this._circle==null&&(this._circle=lO(this._radius)),this._string.push("M",n,",",t,this._circle);break}}},result:function(){if(this._string.length){var n=this._string.join("");return this._string=[],n}else return null}};function lO(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Qx(n,t,e,i){return function(s,u){var c=t(u),f=s.invert(i[0],i[1]),p=Wx(),d=t(p),g=!1,y,v,E,M={point:A,lineStart:x,lineEnd:T,polygonStart:function(){M.point=w,M.lineStart=R,M.lineEnd=z,v=[],y=[]},polygonEnd:function(){M.point=A,M.lineStart=x,M.lineEnd=T,v=gg(v);var U=Jx(y,f);v.length?(g||(u.polygonStart(),g=!0),Yx(v,EQ,U,e,u)):U&&(g||(u.polygonStart(),g=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),g&&(u.polygonEnd(),g=!1),v=y=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}};function A(U,D){var P=s(U,D);n(U=P[0],D=P[1])&&u.point(U,D)}function _(U,D){var P=s(U,D);c.point(P[0],P[1])}function x(){M.point=_,c.lineStart()}function T(){M.point=A,c.lineEnd()}function w(U,D){E.push([U,D]);var P=s(U,D);d.point(P[0],P[1])}function R(){d.lineStart(),E=[]}function z(){w(E[0][0],E[0][1]),d.lineEnd();var U=d.clean(),D=p.result(),P,ct=D.length,L,W,V;if(E.pop(),y.push(E),E=null,!!ct){if(U&1){if(W=D[0],(L=W.length-1)>0){for(g||(u.polygonStart(),g=!0),u.lineStart(),P=0;P<L;++P)u.point((V=W[P])[0],V[1]);u.lineEnd()}return}ct>1&&U&2&&D.push(D.pop().concat(D.shift())),v.push(D.filter(xQ))}}return M}}function xQ(n){return n.length>1}function EQ(n,t){return((n=n.x)[0]<0?n[1]-br-yn:br-n[1])-((t=t.x)[0]<0?t[1]-br-yn:br-t[1])}var SQ=Qx(function(){return!0},wQ,bQ,[-Tn,-br]);function wQ(n){var t=NaN,e=NaN,i=NaN,s;return{lineStart:function(){n.lineStart(),s=1},point:function(u,c){var f=u>0?Tn:-Tn,p=nr(u-t);nr(p-Tn)<yn?(n.point(t,e=(e+c)/2>0?br:-br),n.point(i,e),n.lineEnd(),n.lineStart(),n.point(f,e),n.point(u,e),s=0):i!==f&&p>=Tn&&(nr(t-i)<yn&&(t-=i*yn),nr(u-f)<yn&&(u-=f*yn),e=MQ(t,e,u,c),n.point(i,e),n.lineEnd(),n.lineStart(),n.point(f,e),s=0),n.point(t=u,e=c),i=f},lineEnd:function(){n.lineEnd(),t=e=NaN},clean:function(){return 2-s}}}function MQ(n,t,e,i){var s,u,c=Me(n-e);return nr(c)>yn?Uo((Me(t)*(u=hn(i))*Me(e)-Me(i)*(s=hn(t))*Me(n))/(s*u*c)):(t+i)/2}function bQ(n,t,e,i){var s;if(n==null)s=e*br,i.point(-Tn,s),i.point(0,s),i.point(Tn,s),i.point(Tn,0),i.point(Tn,-s),i.point(0,-s),i.point(-Tn,-s),i.point(-Tn,0),i.point(-Tn,s);else if(nr(n[0]-t[0])>yn){var u=n[0]<t[0]?Tn:-Tn;s=e*u/2,i.point(-u,s),i.point(0,s),i.point(u,s)}else i.point(t[0],t[1])}function mg(n){return function(t){var e=new t1;for(var i in n)e[i]=n[i];return e.stream=t,e}}function t1(){}t1.prototype={constructor:t1,point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var l1t=hn(30*Fi);var w1t=mg({point:function(n,t){this.stream.point(n*Fi,t*Fi)}});function yg(n){return function(t,e){var i=hn(t),s=hn(e),u=n(i*s);return[u*s*Me(t),u*Me(e)]}}function ss(n){return function(t,e){var i=jr(t*t+e*e),s=n(i),u=Me(s),c=hn(s);return[Ui(t*u,i*c),Ci(i&&e*u/i)]}}var mO=yg(function(n){return jr(2/(1+n))});mO.invert=ss(function(n){return 2*Ci(n/2)});var yO=yg(function(n){return(n=Hx(n))&&n/Me(n)});yO.invert=ss(function(n){return n});function e1(n,t){return[n,qf(Vf((br+t)/2))]}e1.invert=function(n,t){return[n,2*Uo(hg(t))-br]};function vg(n,t){return[n,t]}vg.invert=vg;function vO(n,t){var e=hn(t),i=hn(n)*e;return[e*Me(n)/i,Me(t)/i]}vO.invert=ss(Uo);function _O(n,t){var e=t*t,i=e*e;return[n*(.8707-.131979*e+i*(-.013791+i*(.003971*e-.001529*i))),t*(1.007226+e*(.015085+i*(-.044475+.028874*e-.005916*i)))]}_O.invert=function(n,t){var e=t,i=25,s;do{var u=e*e,c=u*u;e-=s=(e*(1.007226+u*(.015085+c*(-.044475+.028874*u-.005916*c)))-t)/(1.007226+u*(.015085*3+c*(-.044475*7+.028874*9*u-.005916*11*c)))}while(nr(s)>yn&&--i>0);return[n/(.8707+(u=e*e)*(-.131979+u*(-.013791+u*u*u*(.003971-.001529*u)))),e]};function xO(n,t){return[hn(t)*Me(n),Me(t)]}xO.invert=ss(Ci);function EO(n,t){var e=hn(t),i=1+hn(n)*e;return[e*Me(n)/i,Me(t)/i]}EO.invert=ss(function(n){return 2*Uo(n)});function SO(n,t){return[qf(Vf((br+t)/2)),-n]}SO.invert=function(n,t){return[-t,2*Uo(hg(n))-br]};var RQ=jt(oc(),1);var LQ=jt(oc(),1);var OQ=jt(oc(),1);var DQ=jt(oc(),1);function Mu(n,t){return Math.sqrt((t[0]-n[0])**2+(t[1]-n[1])**2)}function MO(n,t,e){let i=new Ot(t[0]-n[0],t[1]-n[1]),s=new Ot(t[0]-e[0],t[1]-e[1]),c=i.angleTo(s)*180/Math.PI,f=new Ot(t[0]-n[0],t[1]-n[1]);return new Ot(e[0]-n[0],e[1]-n[1]).cross(f)>0?c:-c}function bO(n,t){let e=0,i=1/0,[s,u]=t;for(let c=0;c<n.length-1;c++){let[f,p]=n[c],[d,g]=n[c+1],y=Math.min(f,d)<=s&&s<=Math.max(f,d),v=Math.min(p,g)<=u&&u<=Math.max(p,g);if(y&&v){let E=Math.abs((d-f)*(u-p)-(g-p)*(s-f));E<i&&(i=E,e=c)}}return e}function AO(n,t){let e=n[0],i=n[1],s=!1;for(let u=0,c=t.length-1;u<t.length;c=u++){let f=t[u][0],p=t[u][1],d=t[c][0],g=t[c][1];p>i!=g>i&&e<(d-f)*(i-p)/(g-p)+f&&(s=!s)}return s}var zAt=jt(KO(),1),GAt=jt(a_(),1);function cD(n){return n.replace(/[A-Z]/g,t=>"_"+t.toLowerCase()).replace(/^_/,"")}function fD(n){let t={};for(let i in n)i.startsWith("on")&&(t[cD(i.slice(2))]=n[i],t[i]=n[i]);let e=i=>Ri(this,null,function*(){let{data:s}=i;if(t[s.type])try{let u=yield t[s.type](s.data);if(u!=null&&u.$transfer&&Array.isArray(u.$transfer)){let c=u.$transfer;delete u.$transfer,self.postMessage({type:""+s.type+"_result",key:s.key,data:u},c)}else self.postMessage({type:""+s.type+"_result",key:s.key,data:u})}catch(u){self.postMessage({type:""+s.type+"_result",key:s.key,error:u})}else self.postMessage({type:""+s.type+"_result",key:s.key,error:"no_event"})});return self.addEventListener("message",e),()=>{self.removeEventListener("message",e)}}var $At=jt(CD(),1),ZAt=jt(Yu(),1);function ID(n,t,e){e===void 0&&(e=0),n.forEach(i=>{if(i.geometry.coords=JSON.parse(JSON.stringify(i.geometry.cds)),i.geometry.type==="polygon"){var s;i.geometry.coords.map(u=>{Array.isArray(u)&&u.forEach(c=>{c[0]-=t[0],c[1]-=t[1]})}),i.geometry.otherCds&&(i.geometry.otherCoords=i.geometry.otherCds.map(u=>u.map(c=>uc(c,t)))),(s=i.doors)!=null&&s.length&&i.doors.map(u=>{u.coord=uc(u.coordinate,t)}),i.center&&(i.centerCoords=uc(i.center,t))}else i.geometry.coords=uc(i.geometry.cds,t),i.center&&(i.centerCoords=uc(i.center,t));if(i.center_x&&i.center_y){let[u,c]=uc([i.center_x,i.center_y],t);i.center_coord_x=u,i.center_coord_y=c}});for(let i=0;i<n.length;i++){let s=n[i];s.deltaHeight=1e-5*(e+i+1)}}function uc(n,t){return[n[0]-t[0],n[1]-t[1]]}var rTt=jt(g0(),1),iTt=jt(m0(),1),oTt=jt(y0(),1),sTt=jt(_0(),1),aTt=jt(x0(),1),uTt=jt(M0(),1),lTt=jt(R0(),1),cTt=jt(N0(),1),fTt=jt(O0(),1),hTt=jt(F0(),1),pTt=jt(B0(),1),dTt=jt(q0(),1),gTt=jt(W0(),1),mTt=jt(sy(),1),yTt=jt(ay(),1),vTt=jt(Mh(),1),_Tt=jt(Yu(),1);function Eg(n,t=!1){let e=n[0].index!==null,i=new Set(Object.keys(n[0].attributes)),s=new Set(Object.keys(n[0].morphAttributes)),u={},c={},f=n[0].morphTargetsRelative,p=new ui,d=0;for(let g=0;g<n.length;++g){let y=n[g],v=0;if(e!==(y.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+g+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(let E in y.attributes){if(!i.has(E))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+g+'. All geometries must have compatible attributes; make sure "'+E+'" attribute exists among all geometries, or in none of them.'),null;u[E]===void 0&&(u[E]=[]),u[E].push(y.attributes[E]),v++}if(v!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+g+". Make sure all geometries have the same number of attributes."),null;if(f!==y.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+g+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(let E in y.morphAttributes){if(!s.has(E))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+g+". .morphAttributes must be consistent throughout all geometries."),null;c[E]===void 0&&(c[E]=[]),c[E].push(y.morphAttributes[E])}if(t){let E;if(e)E=y.index.count;else if(y.attributes.position!==void 0)E=y.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+g+". The geometry must have either an index or a position attribute"),null;p.addGroup(d,E,g),d+=E}}if(e){let g=0,y=[];for(let v=0;v<n.length;++v){let E=n[v].index;for(let M=0;M<E.count;++M)y.push(E.getX(M)+g);g+=n[v].attributes.position.count}p.setIndex(y)}for(let g in u){let y=PD(u[g]);if(!y)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+g+" attribute."),null;p.setAttribute(g,y)}for(let g in c){let y=c[g][0].length;if(y===0)break;p.morphAttributes=p.morphAttributes||{},p.morphAttributes[g]=[];for(let v=0;v<y;++v){let E=[];for(let A=0;A<c[g].length;++A)E.push(c[g][A][v]);let M=PD(E);if(!M)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+g+" morphAttribute."),null;p.morphAttributes[g].push(M)}}return p}function PD(n){let t,e,i,s=-1,u=0;for(let d=0;d<n.length;++d){let g=n[d];if(t===void 0&&(t=g.array.constructor),t!==g.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(e===void 0&&(e=g.itemSize),e!==g.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(i===void 0&&(i=g.normalized),i!==g.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(s===-1&&(s=g.gpuType),s!==g.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;u+=g.count*e}let c=new t(u),f=new Zn(c,e,i),p=0;for(let d=0;d<n.length;++d){let g=n[d];if(g.isInterleavedBufferAttribute){let y=p/e;for(let v=0,E=g.count;v<E;v++)for(let M=0;M<e;M++){let A=g.getComponent(v,M);f.setComponent(v+y,M,A)}}else c.set(g.array,p);p+=g.count*e}return s!==void 0&&(f.gpuType=s),f}function RD(n,t,e){t===void 0&&(t=!0),e===void 0&&(e=!1);let i=n.filter(f=>f.geometry.type==="polygon");if(!i.length)return null;let s=i.map(f=>{var p;let d=f.geometry.coords,g=hd(d[0],d.slice(1)),y=new id(g,{steps:1,bevelEnabled:!1,depth:f.height,curveSegments:4});(p=f).deltaHeight||(p.deltaHeight=0),y.translate(0,0,f.airHeight+f.deltaHeight);let v=y.attributes.position.count,E=new Float32Array(v).fill(f.height+f.airHeight+f.deltaHeight);if(y.setAttribute("maxZ",new Zn(E,1)),y.setAttribute("opacity",new Zn(new Float32Array(v).fill(f.fillOpacity),1)),e){let _=new Float32Array(v).fill(f.airHeight+f.deltaHeight);y.setAttribute("minZ",new Zn(_,1))}let M=new Te(f.fillColor).convertLinearToSRGB(),A=new Float32Array(v*3);for(let _=0;_<v;_++)A[_*3]=M.r,A[_*3+1]=M.g,A[_*3+2]=M.b;return y.setAttribute("color",new Zn(A,3)),y}),u=Eg(s);s.forEach(f=>f.dispose());let c={geometry:u};return u.dispose(),t&&(c.lineGeometry=Sg(i)||void 0),c}function h1(n){let t=n.filter(p=>p.geometry.type==="polygon");if(!t.length)return null;let e=[],i=[],s=[],u=[],c=[],f=[];return t.map((p,d)=>{var g;(g=p).deltaHeight||(g.deltaHeight=0);let y=p.geometry.coords,v=Mu(y[0][0],y[0][1]),E=Mu(y[0][1],y[0][2]),M=y[0][1][0]-y[0][0][0],A=y[0][1][1]-y[0][0][1],_=Math.atan2(A,M),x=du(Un(y)),T=x.geometry.coordinates[0],w=x.geometry.coordinates[1],R=new $n().compose(new st(T,w,p.deltaHeight+p.airHeight+p.height/2),new lo().setFromAxisAngle(new st(0,0,1),_),new st(v,E,p.height));e.push(...R.toArray()),i.push(...new Te(p.fillColor).convertLinearToSRGB().toArray()),s[d]=p.fillOpacity||1,u[d]=(p.deltaHeight||0)+p.airHeight+p.height,c[d]=p.id,f[d]=p.airHeight+p.deltaHeight}),{size:t.length,ids:c,matrixes:e,colors:i,opacities:s,maxZs:u,minZs:f}}function Sg(n){let{points:t,colors:e,opacities:i}=iet(n);if(!t.length)return null;let s=new ui().setFromPoints(t);return s.setAttribute("color",new Zn(new Float32Array(e),3)),s.setAttribute("opacity",new Zn(new Float32Array(i),1)),s}function iet(n){let t=[],e=[],i=[];return n.filter(s=>s.strokeOpacity>0).map(s=>{let u=s.height+(s.deltaHeight||0)+s.airHeight,{coords:c}=s.geometry,{strokeColor:f,strokeOpacity:p}=s,d=new Te(f).convertLinearToSRGB();for(let g=0;g<c.length;g++){let y=c[g];for(let v=0;v<y.length;v++){let E=y[v],M=v+1===y.length?y[0]:y[v+1];t.push(new st(E[0],E[1],u)),t.push(new st(M[0],M[1],u)),e.push(d.r,d.g,d.b),e.push(d.r,d.g,d.b),i.push(p),i.push(p)}}}),{points:t,colors:e,opacities:i}}function LD(n){if(n.length>1)return!1;let t=n[0];if(t.length!==5)return!1;let[e]=t,i=t[t.length-1];if(e[0]!==i[0]||e[1]!==i[1])return!1;let s=[Math.round(Mu(t[0],t[1])),Math.round(Mu(t[1],t[2])),Math.round(Mu(t[2],t[3])),Math.round(Mu(t[3],t[4]))];if(!(s[2]===s[0]&&s[3]===s[1]))return!1;let u=MO(t[0],t[1],t[2]);return Math.abs(Math.abs(u)-90)<1}var Yf=function(n){return n.HALF="half",n.POWER="power",n.MECHANICAL="mechanical",n.NORMAL="normal",n.VIP="vip",n}({});var ND=new Ko,wg=new st,Mg=class extends ad{constructor(){super(),this.isLineSegmentsGeometry=!0,this.type="LineSegmentsGeometry";let t=[-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],e=[-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],i=[0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5];this.setIndex(i),this.setAttribute("position",new _r(t,3)),this.setAttribute("uv",new _r(e,2))}applyMatrix4(t){let e=this.attributes.instanceStart,i=this.attributes.instanceEnd;return e!==void 0&&(e.applyMatrix4(t),i.applyMatrix4(t),e.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}setPositions(t){let e;t instanceof Float32Array?e=t:Array.isArray(t)&&(e=new Float32Array(t));let i=new vf(e,6,1);return this.setAttribute("instanceStart",new ts(i,3,0)),this.setAttribute("instanceEnd",new ts(i,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}setColors(t){let e;t instanceof Float32Array?e=t:Array.isArray(t)&&(e=new Float32Array(t));let i=new vf(e,6,1);return this.setAttribute("instanceColorStart",new ts(i,3,0)),this.setAttribute("instanceColorEnd",new ts(i,3,3)),this}fromWireframeGeometry(t){return this.setPositions(t.attributes.position.array),this}fromEdgesGeometry(t){return this.setPositions(t.attributes.position.array),this}fromMesh(t){return this.fromWireframeGeometry(new sd(t.geometry)),this}fromLineSegments(t){let e=t.geometry;return this.setPositions(e.attributes.position.array),this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new Ko);let t=this.attributes.instanceStart,e=this.attributes.instanceEnd;t!==void 0&&e!==void 0&&(this.boundingBox.setFromBufferAttribute(t),ND.setFromBufferAttribute(e),this.boundingBox.union(ND))}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new uu),this.boundingBox===null&&this.computeBoundingBox();let t=this.attributes.instanceStart,e=this.attributes.instanceEnd;if(t!==void 0&&e!==void 0){let i=this.boundingSphere.center;this.boundingBox.getCenter(i);let s=0;for(let u=0,c=t.count;u<c;u++)wg.fromBufferAttribute(t,u),s=Math.max(s,i.distanceToSquared(wg)),wg.fromBufferAttribute(e,u),s=Math.max(s,i.distanceToSquared(wg));this.boundingSphere.radius=Math.sqrt(s),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}toJSON(){}applyMatrix(t){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(t)}};var ITt=jt(lD(),1);var bg=function(n){return n.LAYERED_RENDER_VERSION="layeredRender",n.MERGED_RENDER_VERSION="mergedRender",n}({});var p1=["range","ground","store","facility","parkingSpace"];function OD(n){return p1.indexOf(n.l_type)===-1?p1.length:p1.indexOf(n.l_type)}function oet(n){n.layers.sort((t,e)=>OD(t)-OD(e))}function set(n){let t=n.layers.find(i=>i.l_type==="range"),e=[t.elements[0].center_x,t.elements[0].center_y];n.layers.map(i=>{if(i.l_type!=="range")return ID(i.elements,e)})}function DD(n){oet(n),set(n)}function Ag(n,t){return t===void 0&&(t=5),n.floor_id+"_"+n.version_id+(t?"_"+t:"")}var lc=[],cc=[];function UD(n,t){return Ri(this,null,function*(){return yield ip(),py(n,""+t)})}function FD(n,t,e){return Ri(this,null,function*(){let{db:i}=yield ip();return hC(n,""+t,e,i)})}function aet(n){return Ri(this,null,function*(){let t=yield fetch(n.map_url).then(e=>e.json());return t.floor=n.floor,DD(t),lc.push(t),t})}function uet(n,t){return Ri(this,null,function*(){let e=Ag(n,t===bg.LAYERED_RENDER_VERSION?1:void 0);try{let i=yield UD(jc.MAP_DATA,e);return i&&(t===bg.LAYERED_RENDER_VERSION||i.transformed)?(console.log("\\u4ECE\\u7F13\\u5B58\\u4E2D\\u53D6\\u5230\\u4E86\\u6570\\u636E"),i):(console.log("\\u7F13\\u5B58\\u4E2D\\u6CA1\\u6709\\u6570\\u636E",e,i),cc.push(n),null)}catch(i){return console.log("[get floor data error]",i),cc.push(n),null}})}function cet(n,t){return t===void 0&&(t=!0),t&&(n.layers.forEach(e=>{switch(e.l_type){case"ground":break;case"store":d1(e.elements),e.mergedElements=Tg(e.elements);break;case"facility":d1(e.elements),e.mergedElements=Tg(e.elements);break;case"parkingSpace":console.time("parkingSpace merge"),e.mergedElements=fet(e.elements),console.timeEnd("parkingSpace merge"),e.mergedParkingTexture=det(e.elements);break;case"graph":d1(e.elements),e.mergedElements=Tg(e.elements);break;case"wall":e.mergedElements=Tg(e.elements,!1,!0);break;case"lane":e.mergedElements=het(e.elements);break;case"texture2d":case"texture3d":e.mergedMatrixes=BD(e.elements);break;case"glb":case"text":}}),n.transformed=!0),n}function Tg(n,t,e){t===void 0&&(t=!0),e===void 0&&(e=!1);let i=[],s=[];n.forEach(p=>{p.geometry.type==="point"||p.doors.length?s.push(p):LD(p.geometry.cds)?i.push(p):s.push(p)});let u=h1(i),c=RD(s,!1,e),f=null;return t&&(f=Sg(n)),[Bu({},n[0],{mergedGeometry:(c==null?void 0:c.geometry.toJSON())||null,lineGeometry:(f==null?void 0:f.toJSON())||null,instancedGeometry:u})]}function fet(n){let t=h1(n),e=Sg(n);return Bu({},t,{lineGeometry:(e==null?void 0:e.toJSON())||null})}function BD(n){let t=n.reduce((i,s)=>{let{iconUrl:u}=s;return i.has(u)||i.set(u,[]),i.get(u).push(s),i},new Map);return Array.from(t.values()).map(i=>{let s=i.map(c=>new $n().compose(new st(c.centerCoords[0],c.centerCoords[1],c.deltaHeight+c.airHeight+c.height),new lo().setFromAxisAngle(new st(0,0,1),c.secondRotate),new st(c.secondWidth,c.secondHeight,1)).toArray());return Bu({},i[0],{mergedMatrixes:{size:s.length,array:s.flat()}})})}function het(n){let t=n.map(u=>{let c=hd(u.geometry.coords[0].slice(0,-1),u.geometry.coords.slice(1)),f=new od(c,4),p=f.getAttribute("position"),d=[],g=new Te(u.fillColor);for(let v=0;v<p.count;v++){p.setZ(v,u.airHeight+(u.deltaHeight||0));var y;d.push(g.r,g.g,g.b,(y=u.fillOpacity)!=null?y:1)}return f.setAttribute("color",new Zn(new Float32Array(d),4)),f}),e=Eg(t);t.forEach(u=>u.dispose());let i={mergedGeometry:e.toJSON()};e.dispose();let s=n.filter(u=>{var c,f;return u.double&&((f=u.geometry.otherCoords)==null||(c=f[1])==null?void 0:c.length)});return s.length&&[!0,!1].forEach(u=>{let c=s.filter(g=>g.double===!0&&g.dashed===u);if(!c.length)return;let f=[],p=[];c.forEach(g=>{let y=g.geometry.otherCoords[1],v=g.airHeight+(g.deltaHeight||0)+.01,E=new Te(g.secondColor);for(let M=0;M<y.length-1;M++){let A=y[M],_=y[M+1];f.push(A[0],A[1],v,_[0],_[1],v),p.push(E.r,E.g,E.b,E.r,E.g,E.b)}});let d=new Mg;d.setPositions(f),d.setColors(p),i[u?"dashedLineGeometry":"lineGeometry"]={positions:f,colors:p},d.dispose()}),i}var pet=new Set([Yf.HALF,Yf.MECHANICAL,Yf.POWER,Yf.VIP]);function det(n){let t=n.filter(e=>pet.has(e.parkingType)).map(e=>{let i=new Ot(...e.geometry.coords[0][0]),s=new Ot(...e.geometry.coords[0][1]),u=new Ot(...e.geometry.coords[0][2]),c=Math.min(i.distanceTo(s),s.distanceTo(u)),f=0;return c===i.distanceTo(s)?f=s.sub(i).angle()-Math.PI/2:f=u.sub(s).angle()-Math.PI/2,{uuid:e.id,iconUrl:e.parkingType,name:e.texts[0],deltaHeight:(e.deltaHeight||0)+.001,airHeight:e.airHeight,height:e.height,geometry:e.geometry,opacity:e.fillOpacity,visible:!0,secondWidth:c-1,secondHeight:c-1,secondRotate:f,centerCoords:[e.center_coord_x,e.center_coord_y]}});return BD(t)}function d1(n){n.map(t=>{var e;if((e=t.doors)!=null&&e.length&&t.geometry.type==="polygon"){let i=t.geometry.coords[0];t.doors.forEach(s=>{let u=s.type==="single"?.5:1,c=.5,f=bO(i,s.coord),p=new Ot(...s.coord),d=new Ot(...i[f]).sub(new Ot(...s.coord)).normalize(),g=new Ot().addVectors(p,d.clone().multiplyScalar(u)),y=new Ot().addVectors(p,d.clone().multiplyScalar(-u)),v=new Ot(-d.y,d.x),E=new Ot().addVectors(g,v.clone().multiplyScalar(c));AO([E.x,E.y],i)||(v.multiplyScalar(-1),E=new Ot().addVectors(g,v.clone().multiplyScalar(c)));let M=new Ot().addVectors(y,v.clone().multiplyScalar(c)),A=[[g.x,g.y],[E.x,E.y],[M.x,M.y],[y.x,y.y]];i=[...i.slice(0,f+1),...A,...i.slice(f+1)]}),t.geometry.coords[0]=i}})}var g1="";function zD(n){let t=cc.findIndex(e=>e.floor===n);if(t!==-1){console.log("\\u8C03\\u6574\\u697C\\u5C42\\u8BF7\\u6C42\\u7684\\u4F18\\u5148\\u7EA7",n,t);let e=cc.splice(t,1)[0];cc.unshift(e)}else g1=n}var m1="";function GD(n){let t=lc.findIndex(e=>e.floor===n);if(t!==-1){console.log("\\u8C03\\u6574\\u697C\\u5C42merge\\u4F18\\u5148\\u7EA7",n,t);let e=lc.splice(t,1)[0];lc.unshift(e)}else m1=n}function get(n){zD(n),GD(n)}fD({onLoad(n){return Ri(this,null,function*(){let{floors:t,version:e}=n;for(yield ip(),yield Promise.all(t.map(i=>Ri(this,null,function*(){return uet(i,e)}))),g1&&zD(g1),yield Promise.all(cc.map(i=>Ri(this,null,function*(){let s=yield aet(i);if(s&&e===bg.LAYERED_RENDER_VERSION){let u=Ag(t.find(c=>c.floor===s.floor),1);yield FD(jc.MAP_DATA,u,s),console.log(s.floor+" \\u5199\\u5165\\u7F13\\u5B58\\u6210\\u529F\\uFF0Ckey="+u),self.postMessage({type:"floor_success",data:{floor:s.floor}})}}))),m1&&GD(m1);lc.length>0;){let i=lc.shift(),s=cet(i),u=Ag(t.find(f=>f.floor===i.floor));yield FD(jc.MAP_DATA,u,s),console.log(i.floor+" \\u5199\\u5165\\u7F13\\u5B58\\u6210\\u529F\\uFF0Ckey="+u);let c=performance.now();yield UD(jc.MAP_DATA,u),console.log(i.floor+" \\u7F13\\u5B58\\u7F13\\u5B58\\u8BFB\\u53D6\\uFF0Ckey="+u,performance.now()-c),self.postMessage({type:"floor_success",data:{floor:i.floor}})}pC(),console.log("\\u6240\\u6709\\u6570\\u636E\\u5904\\u7406\\u5B8C\\u6210")})},onAdjustFloorPriority(n){let{floor:t}=n;get(t)}});
11923
- `],{type:"text/javascript"}),t=URL.createObjectURL(a),e=new Worker(t);return URL.revokeObjectURL(t),e}var Oc={mergeParkingSpace:!0,mergeGraphic:!0,renderVersion:$e.MERGED_RENDER_VERSION,layers:["graph","wall","lane","texture2d","texture3d","glb","store","facility","parkingSpace","text"],filterPoi:()=>!0},Le=class extends Q{initDb(){return g(this,null,function*(){try{let{db:t}=yield xn();this.db=t}catch(t){console.log("[\u6253\u5F00indexDb\u9519\u8BEF]",t)}})}load(t,e){return g(this,null,function*(){if(Array.isArray(t))this.floors=t,e&&(this.placeConfig=v({},this.placeConfig,e));else if(typeof t=="string"){let n=yield fetch(t).then(r=>r.json());n.code===200&&(this.floors=n.data.list,this.placeConfig=v({},this.placeConfig,JSON.parse(n.data.config||"{}")))}else return this.load("https://screen.aibee.cn/ai-map/map/get-floor-map?place_id="+t);this.getOtherDataByFreeTime()})}setCacheData(t,e,n){return g(this,null,function*(){return this.initDbPromise.then(()=>En(t,""+e,n))})}getCacheData(t,e){return g(this,null,function*(){return this.initDbPromise.then(()=>He(t,""+e))})}getFloorData(t){return g(this,null,function*(){let e=yield this.getFloorJsonData(t);return e?this.getDataByJson(e):null})}getFloorDataByFloorInfo(t){return g(this,null,function*(){let e=yield this.getFloorJsonDataByFloorInfo(t);return this.getDataByJson(e)})}setLocale(t){this.locale=t,this.bmap.context.currentFloor&&this.bmap.context.currentFloor.poiLayer2.pois.forEach(e=>{e.userData.type==="store"&&(e.options.text=fr(e.userData.data,t)),e.userData.type==="facility"&&(e.options.text=dr(e.userData.data,t))})}getFloorJsonDataByFloorInfo(t){return g(this,null,function*(){if(this.getFloorDataPromise.has(t.floor))return this.getFloorDataPromise.get(t.floor);let e=new Promise(n=>g(this,null,function*(){let r=Pe(t),i=yield fetch(t.map_url).then(o=>o.json());i.floor=t.floor,Je(i),this.setCacheData(lt.MAP_DATA,r,i),this.setCacheData(lt.MAP_VERSION,r,t.version_id),n(i)}));return this.getFloorDataPromise.set(t.floor,e),e})}getFloorJsonData(t){return g(this,null,function*(){let e=this.floors.find(n=>n.floor===t);return e?new Promise(n=>g(this,null,function*(){let r=Pe(e,this.options.renderVersion===$e.LAYERED_RENDER_VERSION?1:void 0);try{let i=Pe(e),o=yield this.getCacheData(lt.MAP_DATA,i);if(o&&o.transformed){console.log("\u4ECE\u7F13\u5B58\u4E2D\u53D6\u5230\u4E86\u5408\u5E76\u540E\u7684\u6570\u636E"),n(o);return}if(this.options.renderVersion===$e.LAYERED_RENDER_VERSION){let s=yield this.getCacheData(lt.MAP_DATA,r);if(s){console.log("\u4ECE\u7F13\u5B58\u4E2D\u53D6\u5230\u4E86\u6570\u636E"),n(s);return}}if(console.log("\u7F13\u5B58\u4E2D\u6CA1\u6709\u6570\u636E"),this.loadWorker){H(this.loadWorker,"adjust_floor_priority",{floor:t});let s=u=>{if(u.data.type==="floor_success"&&u.data.data.floor===t){var l;(l=this.loadWorker)==null||l.removeEventListener("message",s),n(this.getFloorJsonData(t))}};this.loadWorker.addEventListener("message",s)}else n(this.getFloorJsonDataByFloorInfo(e))}catch(i){console.log("[get floor data error]",i),n(this.getFloorJsonDataByFloorInfo(e))}})):null})}getRoadNetworkData(){return g(this,null,function*(){return(yield Promise.all(this.floors.map(e=>g(this,null,function*(){let n=Pe(e,0);try{let r=yield this.getCacheData(lt.ROAD_NETWORK_DATA,n);if(r)return r;let i=yield fetch(e.route_url).then(o=>o.json());return this.setCacheData(lt.ROAD_NETWORK_DATA,n,i),this.setCacheData(lt.ROUTE_VERSION,n,e.version_id),i}catch(r){let i=yield fetch(e.route_url).then(o=>o.json());return this.setCacheData(lt.ROAD_NETWORK_DATA,n,i),i}})))).filter(e=>e.points)})}getFacilitiesData(){return g(this,null,function*(){let t=this.floors.reduce((r,i)=>r.updated_at>i.updated_at?r:i,this.floors[0]);if(!t)return null;let e=Pe(t,0),n=()=>g(this,null,function*(){let r=yield fetch(t.entry_infra_url).then(i=>i.json());return r&&(this.setCacheData(lt.FACILITY_DATA,e,r),this.setCacheData(lt.FACILITY_VERSION,e,t.version_id)),r});try{let r=yield this.getCacheData(lt.FACILITY_DATA,e);return r||n()}catch(r){return console.log("[get facility error]",r),n()}})}getOtherDataByFreeTime(){return g(this,null,function*(){yield this.initDbPromise,yield H(this.loadWorker,"load",{floors:this.floors,version:this.options.renderVersion}),this.closeWorker()})}getMulFloorsData(t){return g(this,null,function*(){return Promise.all(t.map(e=>this.getFloorData(e))).then(e=>e.filter(n=>n))})}getDataByUrl(t){return g(this,null,function*(){let e=yield fetch(t).then(n=>n.json());return this.getDataByJson(e)})}getDataByJson(t,e,n){return g(this,null,function*(){Je(t),e=this.getFloorBaseLayer(t,e);let r=v({},this.placeConfig,n);return yield this.getFloorContentLayer(t,e),yield this.getFloorPoi(t,e,r),this.changeFloorBox(t,e),e})}getDataByJsonStep(t,e,n){return g(this,null,function*(){Je(t),e=this.getFloorBaseLayer(t,e);let r=v({},this.placeConfig,n);return this.changeFloorBox(t,e),requestAnimationFrame(()=>g(this,null,function*(){yield this.getFloorContentLayer(t,e),this.changeFloorBox(t,e),requestAnimationFrame(()=>g(this,null,function*(){yield this.getFloorPoi(t,e,r),this.changeFloorBox(t,e)}))})),e})}changeFloorBox(t,e){e.updateBox();let n=e.box.getSize(new Lc),r=Math.max(n.x,n.y,n.z);e.userData.height=r/4+t.floorHeight}switchFloor(t,e){return g(this,null,function*(){return new Promise(n=>{let r={run:()=>this._switchFloor(t,e),meta:{type:"switchFloor"}},i=this.taskQueue.replaceByMetaType(r),o=s=>{let{task:u,res:l}=s;u.tid===i&&(this.taskQueue.removeEventListener("active-task-end",o),n(l))};this.taskQueue.addEventListener("active-task-end",o)})})}_switchFloor(t,e){return g(this,null,function*(){var n;let r=t;if(typeof t=="string"){let c=yield this.getFloorJsonData(t);if(c)r=c;else return null}else Je(t);let i=v({},this.placeConfig,e),o=new Pt(this.bmap.context);o.userData.data=t;let s=this.floors.find(c=>c.floor===r.floor);var u;let l=(u=s==null?void 0:s.map_angle)!=null?u:0;return this.bmap.dispatchEvent({type:st.SWITCH_FLOOR_BEFORE,data:{curFloor:o,graphics:[]}}),this.dispatchEvent({type:"switch-floor-before",data:{curFloor:o,graphics:[],floorData:r}}),this.bmap.context.scene.background=new Nc(i.backgroundColor),this.getFloorBaseLayer(r,o),this.changeFloorBox(r,o),this.bmap.buildingCenter=o.userData.center,this.bmap.currentBuildGround=(n=o.userData.data.layers.find(c=>c.l_type==="range"))==null?void 0:n.elements[0],this.bmap.context.switchFloor(o),this.bmap.initialFloorCamera(),this.bmap.context.control.setAzimuthalAngle(l/180*Math.PI,!0),this.bmap.context.cameraBound.updateBox(),this.dispatchEvent({type:"switch-floor-ground",data:{curFloor:o,graphics:[]}}),this.bmap.dispatchEvent({type:st.SWITCH_FLOOR_GROUND,data:{curFloor:o}}),yield Br(),yield this.getFloorContentLayer(r,o),this.changeFloorBox(r,o),this.bmap.context.cameraBound.updateBox(),this.dispatchEvent({type:"switch-floor-content",data:{curFloor:o,graphics:[]}}),yield ki(2),yield this.getFloorPoi(r,o,i),this.dispatchEvent({type:"switch-floor-after",data:{curFloor:o,graphics:o.graphicLayer.children}}),this.bmap.dispatchEvent({type:st.SWITCH_FLOOR_AFTER,data:{curFloor:o,graphics:o.graphicLayer.children}}),o})}getFloorBaseLayer(t,e){e||(e=new Pt(this.bmap.context));let n=[0,0];return t.layers.forEach(r=>{switch(r.l_type){case"range":let i=r.elements[0];n=[i.center_x,i.center_y],e.userData.range=i.geometry.cds[0],e.userData.rangeGraphic=i;break;case"ground":pi(r,e);break;default:break}}),e.userData.center=n,e.name=t.floor,e.userData.data=t,e}getFloorContentLayer(t,e){return g(this,null,function*(){e||(e=new Pt(this.bmap.context)),e.userData.graphics=[],e.userData.graphicMap=new Map;let n=Date.now();for(let r=0;r<t.layers.length;r++){let i=t.layers[r];["range","ground"].includes(i.l_type)||this.options.layers.includes(i.l_type)&&(ss(i,e,this.options),console.log("time",Date.now()-n,i.l_type),n=Date.now())}return e})}getFloorPoi(t,e,n){return g(this,null,function*(){n===void 0&&(n=this.placeConfig);let r=Date.now();yield Promise.all(t.layers.map(o=>{if(this.options.layers.includes(o.l_type))return as(o,e,this.locale,n,this.options)})),console.log("poi time",Date.now()-r);let i=Date.now();Br().then(()=>{console.log("poi render time",Date.now()-i)})})}clear(){return g(this,null,function*(){yo(),this.db=null})}closeWorker(){this.loadWorker&&(this.loadWorker.terminate(),this.loadWorker=null)}dispose(){super.dispose(),this.clear(),this.closeWorker(),this.getFloorDataPromise.clear()}constructor(t,e={}){super(),this.bmap=t,this.floors=[],this.initDbPromise=Promise.resolve(),this.db=null,this.taskQueue=new ve,this.loadWorker=fi(),this.locale="zh-cn",this.placeConfig={backgroundColor:"#f1f7f6",showFacilityName:!0,showStoreName:!0,textFontSize:14},this.getFloorDataPromise=new Map,this.options=v({},Oc,e),this.placeConfig=v({},this.placeConfig,t.config.loaderPlaceConfig),this.initDbPromise=this.initDb()}};import"core-js/modules/web.dom-collections.iterator.js";function us(a,t){return g(this,null,function*(){let{brand:e,project:n}=a,{apiDomain:r,apiPath:{floorRange:i},apiInfo:o}=t,s=""+r+i+"?brand="+e+"&project="+n+"&phase="+n+"&building="+n;return yield fetch(s,o).then(l=>l.json()).then(l=>l.data).then(l=>{let c=(l||[])[0];return c&&(c.info=JSON.parse(c.info)),c})})}function ls(a,t){return g(this,null,function*(){let{brand:e,project:n,floor:r,ts:i,resource_type_list:o}=a,{apiDomain:s,apiPath:{floorGraphic:u},apiInfo:l}=t,c=""+s+u+"?brand="+e+"&project="+n+"&phase="+n+"&building="+n+"&floor="+r+"&ts="+i+"&resource_type_list="+o;return yield fetch(c,l).then(p=>p.json()).then(p=>p.data).then(p=>((p||[]).map(f=>f.info=JSON.parse(f.info)),p||[]))})}function B1(a,t){return g(this,null,function*(){let{project:e,floor:n}=a,{apiDomain:r,apiInfo:i}=t,o=r+"/api/inception-map/external_street/get?projectCode="+e+"&floorCode="+n;return yield fetch(o,i).then(u=>u.json()).then(u=>u.data).then(u=>JSON.parse(u[0].streetInfo||"{}")).then(u=>u.fileId?Dc(u.fileId,t):null)})}function Dc(a,t){return g(this,null,function*(){let{apiDomain:e,apiInfo:n}=t;return fetch(e+"/api/inception-map/file/getFileStream?fileId="+a,n).then(r=>r.arrayBuffer()).then(r=>{let o=new TextDecoder("utf-8").decode(r);return o?JSON.parse(o):null})})}var cs=class{load(t){return g(this,null,function*(){let e=me(t);if(this.cacheData.has(e))return this.cacheData.get(e);let[,n]=yield Promise.all([this.loadBuildGround(t),ls(t,this.bmap.config)]),r=me({floor:t.floor,ts:t.ts});mn(n.map(o=>o.info),this.bmap.buildingCenter,this.floorDataLengthMap.get(r)||0),n.forEach(o=>o.info.transformToBuildingGround=!1),this.cacheData.set(e,n);let i=this.floorDataLengthMap.get(r)||0;return this.floorDataLengthMap.set(r,i+n.length),this.loadExternalStreet(t),n})}loadExternalStreet(t){return g(this,null,function*(){})}switchFloorByData(t,e){if(!t.length)return;let n=e.userData.legacyToGraphicMap||new Map,r=e.userData.graphicMap||new Map,{ground:i,markGraphic:o,graphic:s}=this.bmap.config;for(let u=0;u<t.length;u++){let l=t[u];l.info.group==="ground"?(l.info.fillColor=i.color,l.info.fillOpacity=i.opacity,l.info.height=i.height,l.info.stroke=i.stroke,l.info.strokeColor=i.strokeColor,l.info.strokeOpacity=i.strokeOpacity):l.info.userData.mark?(l.info.height=o.height,l.info.fillColor=o.color,l.info.fillOpacity=o.opacity,l.info.stroke=o.stroke,l.info.strokeColor=o.strokeColor,l.info.strokeOpacity=o.strokeOpacity):(l.info.fillOpacity=s.fillOpacity,this.bmap.config.initTransToMark&&(l.info.height=o.height,l.info.fillColor=o.color,l.info.stroke=o.stroke,l.info.strokeColor=o.strokeColor,l.info.strokeOpacity=o.strokeOpacity))}for(let u of t){if(u.info.group==="ground")e.createGround(u.info);else{let l=e.addGraphic(u.info);l.userData.data=u,n.set(u.legacy_id,l)}r.set(u.element_uuid,u)}e.userData.legacyToGraphicMap=n,e.userData.graphicMap=r,e.userData.rangeGraphic=this.bmap.currentBuildGround,e.userData.range=this.bmap.currentBuildGround.geometry.cds[0],e.userData.center=this.bmap.buildingCenter,e.updateBox(),e===this.bmap.context.currentFloor?(this.bmap.triggerHooks(st.SWITCH_FLOOR_BEFORE,{curFloor:e,graphics:e.graphicLayer.children}),this.bmap.initialFloorCamera(),this.bmap.triggerHooks(st.SWITCH_FLOOR_AFTER,{curFloor:e,graphics:e.graphicLayer.children})):this.bmap.switchFloorByFloor(e)}filterData(t,e){let n=e.userData.graphicMap||new Map;return t.filter(r=>!n.has(r.element_uuid))}switchFloorByStoreData(t,e){return g(this,null,function*(){let n=yield this.load(v({},t,{resource_type_list:"6"})),r=this.filterData(n,e);this.switchFloorByData(r,e)})}switchFloorByOtherData(t,e){return g(this,null,function*(){let n=yield this.load(v({},t,{resource_type_list:"1,2,3,4"})),r=this.filterData(n,e);this.switchFloorByData(r,e)})}loadBuildGround(t){return g(this,null,function*(){let{brand:e,project:n}=t,r=yield this.loadBuildingGround({brand:e,project:n});var i;return this.bmap.currentBuildGround=(i=r==null?void 0:r.info)!=null?i:null,this.bmap.changeBuildingCenter(r,{brand:e,project:n}),this.bmap.currentBuildGround})}loadBuildingGround(t){return g(this,null,function*(){let{brand:e,project:n}=t,r=me({brand:e,project:n});if(this.buildingGroundMap.has(r))return this.buildingGroundMap.get(r);let i=us({brand:e,project:n},this.bmap.config).then(o=>(this.buildingGroundMap.set(r,o),o));return this.buildingGroundMap.set(r,i),i})}switchFloor(t){return g(this,null,function*(){let e=new Pt(this.bmap.context);e.userData.graphicMap=new Map,e.name=t.floor;try{yield Promise.all([this.switchFloorByStoreData(t,e),this.switchFloorByOtherData(t,e)])}catch(n){console.log(n)}return e})}dispose(){this.cacheData.clear(),this.floorDataLengthMap.clear(),this.buildingGroundMap.clear()}constructor(t){this.bmap=t,this.cacheData=new Map,this.floorDataLengthMap=new Map,this.buildingGroundMap=new Map,this.externalStreetMap=new Map}};var aE=function(a){return a[a.D2=0]="D2",a[a.D3=1.1]="D3",a}({}),hs=class extends Fc{get basicZoom(){return this.context.basicZoom}set basicZoom(t){this.context.basicZoom=t}changeBuildingCenter(t,e){let{brand:n,project:r}=e,i=t?hn(t.info.geometry.cds[0]):[0,0];this.buildingCenter=i,this.dispatchEvent({type:"center-change",center:i,project:r,brand:n})}use(t){t.bmap=this,this.plugins.push(t)}unUse(t){this.plugins=this.plugins.filter(e=>e!==t)}triggerHooks(t,e){this.dispatchEvent({type:t,data:e})}switchFloor(t){return g(this,null,function*(){return this.loader||(this.loader=new Le(this),this.loader.placeConfig=v({},this.loader.placeConfig,this.config.loaderPlaceConfig),yield this.loader.load(this.config.apiPath.loadPlaceInfo+"?place_id="+this.config.placeId+"&env=prod")),this.loader.switchFloor(t)})}switchFloorByFloor(t,e,n){e===void 0&&(e=!0),n===void 0&&(n=t.graphicLayer.children),this.triggerHooks(st.SWITCH_FLOOR_BEFORE,{curFloor:t,graphics:n}),this.buildingCenter=t.userData.center,this.currentBuildGround=t.userData.rangeGraphic,this.context.switchFloor(t,e),this.initialFloorCamera(),this.triggerHooks(st.SWITCH_FLOOR_AFTER,{curFloor:t,graphics:n})}initialFloorCamera(){this.context.cameraBound.setEnable(!1),this.context.control.minZoom=0,this.context.control.maxZoom=1/0,this.context.camera.zoom=1,this.context.setAzimuthalAngle(this.config.control.defaultAzimuthal,0),this.context.setPolarAngle(this.config.control.defaultPolar,0),this.context.fitCameraToGround(this.config.defaultPadding,0);let t=this.context.camera.zoom;this.context.control.minZoom=t,this.context.control.maxZoom=t*this.config.control.maxZoomScale,this.type==="3d"&&this.context.fitCameraToGround(this.config.defaultPadding,0,!1),this.basicZoom=this.context.camera.zoom,this.context.control.addEventListener("change",this.onControlChange),this.onControlChange(),this.context.cameraBound.setEnable(!0),this.context.cameraBound.changePrevCamera()}addModel(t,e){if(t.options.geometry.type==="polygon"){var n;let r=(n=this.context.currentFloor)==null?void 0:n.addModel(v({},e,{position:t.getPosition().setZ(.1),id:t.options.id}));if(r){let{facilityAngle:i=0,facilityXScale:o=1,facilityYScale:s=1}=t.options.userData;r.rotateZ((180-i)/180*Math.PI),r.scale.set(o,s,1)}}}addHeatmap(t){var e;return(e=this.context.currentFloor)==null?void 0:e.addHeatmap(t)}getLegacyToGraphicMap(){var t;return((t=this.context.currentFloor)==null?void 0:t.userData.legacyToGraphicMap)||new Map}getFloorAllGraphics(){var t;return((t=this.context.currentFloor)==null?void 0:t.getGraphics())||[]}createGraphicPoi(t,e){if(this.context.currentFloor){e.id===void 0&&(e.id=t.options.id);let n=t.options.center,r=t.getCenter(),i=(n==null?void 0:n[0])||r.x,o=(n==null?void 0:n[1])||r.y;return console.log(i,o,n,r),this.context.currentFloor.addPoi(v({},e,{position:{x:i,y:o,z:r.z+t.options.height/2}}))}return null}createPoi2ByPosition(t,e){if(this.context.currentFloor){let n=this.mercatorToWorld([t.x,t.y]),r=new $(this.context,v({},e,{position:{x:n.x,y:n.y,z:t.z}}));return this.context.currentFloor.poiLayer2.pushPoi(r),r}return null}removeHeatMap(){var t;(t=this.context.currentFloor)==null||t.removeHeatMap()}translateElementToCenter(t,e,n,r){e===void 0&&(e=500),n===void 0&&(n=0),r===void 0&&(r=0);let i=t.getPosition().clone(),{context:{camera:o}}=this;if(o.updateMatrix(),r){let s=new gr;s.setFromMatrixColumn(o.matrix,1),s.normalize(),s.multiplyScalar(r/o.zoom),i.add(s)}if(n){let s=new gr;s.setFromMatrixColumn(o.matrix,0),s.normalize(),s.multiplyScalar(n/o.zoom),i.add(s)}return this.context.setCameraPosition(i,e)}translateElementToCenterX(t,e){return g(this,null,function*(){return e===void 0&&(e=500),_t(new Promise(n=>{let r=this.context.control.target.clone(),i=t.getPosition();this.timer.requestAnimationFrame(()=>{let{clientSize:{width:o,height:s},camera:u}=this.context,c=P(i,u,o,s).x-o/2,h=new gr;h.setFromMatrixColumn(this.context.camera.matrix,0),h.normalize(),h.multiplyScalar(c/this.context.camera.zoom),r.add(h),this.context.setCameraPosition(r,e).then(n)})}),e+500)})}getElementDeviceCoordinate(t){let e=t.position.clone(),{clientWidth:n,clientHeight:r}=this.container;return P(e,this.context.camera,n,r)}changeMapType(t,e){return e===void 0&&(e=500),this.type=t,t==="2d"?this.context.setPolarAngle(0,e):this.context.setPolarAngle(1.1,e)}resetView(t){return g(this,null,function*(){t===void 0&&(t=300);let e=t/3;yield this.context.setAzimuthalAngle(this.config.control.defaultAzimuthal,e),yield this.context.setPolarAngle(this.config.control.defaultPolar,e),yield this.context.fitCameraToGround(this.config.defaultPadding,e,!1)})}reduceMap(t,e){t===void 0&&(t=.5),e===void 0&&(e=500);let n=this.context.camera.zoom;return this.context.setZoom(n-t,this.context.control.target,e)}enlargeMap(t,e){t===void 0&&(t=.5),e===void 0&&(e=500);let n=this.context.camera.zoom;return this.context.setZoom(n+t,this.context.control.target,e)}registryEvent(){if(window.addEventListener("keydown",this.onKeydown),window.addEventListener("keyup",this.onKeyUp),this.config.resizeObserver){let t=new ResizeObserver(this.debounceResize);t.observe(this.container),this.observe=t}}unRegistryEvent(){var t;this.context.control.removeEventListener("change",this.onControlChange),window.removeEventListener("keydown",this.onKeydown),window.removeEventListener("keyup",this.onKeyUp),(t=this.observe)==null||t.disconnect(),this.observe=null}configurePolarShortcutKeys(t){this.polarKeys=t}configureAzimuthalShortcutKeys(t){this.azimuthalKeys=t}rotateMap(t,e){t===void 0&&(t=.1),e===void 0&&(e=500);let n=this.context.control.getAzimuthalAngle();return this.context.setAzimuthalAngle(n+t,e)}measureDistance(){return g(this,null,function*(){return this.cancelDistance(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgLine=new Vn(this.context);let n=this.svgLine.dispose.bind(this.svgLine);this.svgLine.dispose=function(){n(),e("cancel")},this.svgLine.addEventListener("distance",r=>{let{distance:i}=r;t(i)})})})}cancelDistance(){this.svgLine&&(this.svgLine.dispose(),this.svgLine=void 0,this.context.control.enableRotate=!0)}measureArea(){return this.cancelArea(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgPolygon=new Hn(this.context);let n=this.svgPolygon.dispose.bind(this.svgPolygon);this.svgPolygon.dispose=function(){n(),e("cancel")},this.svgPolygon.addEventListener("area",r=>{let{area:i}=r;t(i)})})}cancelArea(){this.svgPolygon&&(this.svgPolygon.dispose(),this.svgPolygon=void 0,this.context.control.enableRotate=!0)}fitCameraByPois(t,e,n){return g(this,null,function*(){if(e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500),!t.length)return;let r=new Uc;return t.forEach(i=>{let{position:o}=i;r.expandByPoint(o)}),this.context.fitCameraToBox(r,e,n,!1)})}fitCameraByPoiNodeIds(t,e,n){return g(this,null,function*(){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500);let r=t.map(i=>this.getPoiById(i)).filter(i=>!!i);if(r.length)return this.fitCameraByPois(r,e,n)})}getGraphicByNodeId(t){var e,n;return((e=this.context.currentFloor)==null?void 0:e.graphicLayer.getGraphicByNodeId(t))||((n=this.context.currentFloor)==null?void 0:n.parkingSpaceLayer.graphicMap.get(t))||null}deleteGraphic(t){var e;(e=this.context.currentFloor)==null||e.graphicLayer.removeGraphic(t)}createGraphicByOptions(t){var e;if(!t.transformToBuildingGround&&this.currentBuildGround){let n=hn(this.currentBuildGround.geometry.cds[0]);if(t.geometry.type==="polygon")t.geometry.coords=JSON.parse(JSON.stringify(t.geometry.cds)),t.geometry.coords.map(r=>{Array.isArray(r)&&r.forEach(i=>{i[0]-=n[0],i[1]-=n[1]})});else{let[r,i]=t.geometry.cds;t.geometry.coords=[r-n[0],i-n[1]]}}return(e=this.context.currentFloor)==null?void 0:e.graphicLayer.createGraphic(t)}mercatorToWorld(t){let e=this.buildingCenter;return new gr(t[0]-e[0],t[1]-e[1],0)}removePoiById(t){var e,n;(e=this.context.currentFloor)==null||e.poiLayer.removePoiById(t),(n=this.context.currentFloor)==null||n.poiLayer2.removePoiById(t)}getPoiById(t){var e,n;return((e=this.context.currentFloor)==null?void 0:e.poiLayer.getPoiById(t))||((n=this.context.currentFloor)==null?void 0:n.poiLayer2.getPoiById(t))}getPois(){var t,e;return[...(((t=this.context.currentFloor)==null?void 0:t.poiLayer.pois)||[]).filter(n=>!n.options.built_in),...((e=this.context.currentFloor)==null?void 0:e.poiLayer2.pois)||[]]}clearPoi(){this.context.currentFloor&&this.context.currentFloor.poiLayer.clear()}removeSelectGraphic(t){this.context.selection.remove(t)}dispose(){this.loader&&(this.loader.dispose(),this.loader=null),this.unRegistryEvent(),this.timer.dispose(),this.plugins.forEach(t=>t.dispose()),this.plugins=[],this.context.dispose(),this.context=null,this.container=null,tt.dispose(),rt.dispose(),Jt.dispose(),at.dispose(),w.dispose(),Mt.dispose(),this.debounceResize=null,di.Dispose==null||di.Dispose.call(di)}constructor(t,e={}){super(),this.container=t,this.polarKeys=[],this.azimuthalKeys=[],this.prevCameraZoom=1,this.type="2d",this.currentBuildGround=null,this.observe=null,this.buildingCenter=[0,0],this.timer=new X,this.plugins=[],this.loader=null,this.onControlChange=()=>{let{camera:{zoom:n}}=this.context;n!==this.prevCameraZoom&&(this.dispatchEvent({type:"zoom-change",basicZoom:this.basicZoom,cameraZoom:this.context.camera.zoom}),this.prevCameraZoom=n)},this.onKeydown=n=>{this.polarKeys.includes(n.code)&&(this.context.control.maxPolarAngle=this.config.control.maxPolar,this.context.control.minPolarAngle=0),this.azimuthalKeys.includes(n.code)&&(this.context.control.maxAzimuthAngle=1/0,this.context.control.minAzimuthAngle=1/0)},this.onKeyUp=n=>{if(this.polarKeys.includes(n.code)){let r=this.context.control.getPolarAngle();this.context.control.maxPolarAngle=r,this.context.control.minPolarAngle=r}if(this.azimuthalKeys.includes(n.code)){let r=this.context.control.getAzimuthalAngle();this.context.control.maxAzimuthAngle=r,this.context.control.minAzimuthAngle=r}},this.resize=()=>{this.context.cameraBound.setEnable(!1),this.context.onWindowResize();let n=this.context.control.getAzimuthalAngle(),r=this.context.camera.zoom;this.context.control.minZoom=0,this.context.control.maxZoom=1/0,this.context.camera.zoom=1,this.context.setAzimuthalAngle(0,0);let i=this.context.getFitCameraToGroundZoom(this.config.defaultPadding,0)||1;this.context.camera.zoom=r,this.context.control.minZoom=i,this.context.control.maxZoom=i*this.config.control.maxZoomScale,this.basicZoom=r,this.context.control.addEventListener("change",this.onControlChange),this.context.setAzimuthalAngle(n,0),this.context.cameraBound.setEnable(!0)},this.config=is(e),this.context=new pr(t,this),this.debounceResize=Bc(this.resize,5),this.registryEvent()}};var cE=function(a){return a.HALF="half",a.POWER="power",a.MECHANICAL="mechanical",a.NORMAL="normal",a.VIP="vip",a}({});import"core-js/modules/web.dom-collections.iterator.js";var nt=class extends Q{dispose(){let t=this.bmap.plugins.findIndex(e=>e===this);t!==-1&&this.bmap.plugins.splice(t,1),this.bmap=null,super.dispose()}constructor(t){super(),this.bmap=t,this.bmap.use(this)}};var ps=class extends nt{fetchEquipment(){return g(this,null,function*(){let{apiDomain:t,apiPath:{equipmentList:e},apiInfo:n}=this.bmap.config,r=""+t+e;yield fetch(r,n).then(i=>i.json()).then(i=>i.data).then(i=>{this.equipmentList=i,this.equipmentMap=new Map(i.map(o=>[o.equipment_id,o]))}),this.dispatchEvent({type:"change-equipment-list",data:this.equipmentList}),this.bmap.context.currentFloor&&this.changeGraphicToEquipment(this.bmap.context.currentFloor.graphicLayer.children)})}getGraphicEquipment(t){return t.userData.data.info.userData.equipment}changeGraphicToEquipment(t){t.filter(e=>{let n=this.getGraphicEquipment(e);return n&&this.equipmentMap.has(n)}).forEach(e=>{let n=this.equipmentMap.get(this.getGraphicEquipment(e)),r=this.bmap.createGraphicPoi(e,{icon:n==null?void 0:n.equipment_icon,built_in:!0,icon_size:[14,14]});r&&(r.userData.data=n,r.userData.type="equipment")})}dispose(){var t;this.bmap.removeEventListener(st.SWITCH_FLOOR_AFTER,this.onSwitchFloor),Array.from(((t=this.bmap.context.currentFloor)==null?void 0:t.poiLayer.pois)||[]).forEach(e=>{if(e.userData.type==="equipment"){var n;(n=this.bmap.context.currentFloor)==null||n.poiLayer.removePoi(e)}}),super.dispose()}constructor(t){super(t),this.equipmentList=[],this.equipmentMap=new Map,this.onSwitchFloor=e=>{let{data:{graphics:n}}=e;this.equipmentList.length&&this.changeGraphicToEquipment(n)},this.fetchEquipment(),this.bmap.addEventListener(st.SWITCH_FLOOR_AFTER,this.onSwitchFloor)}};import"core-js/modules/es.string.replace.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.promise.finally.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.push.js";import{Mesh as qc,Object3D as jc,TextureLoader as Yc,Color as Zc,Vector2 as mi,Vector3 as Kc,NormalBlending as $c,RepeatWrapping as Jc}from"three";import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/es.array.push.js";import"core-js/modules/es.typed-array.uint16-array.js";import{BufferGeometry as zc,Matrix4 as ds,Vector3 as he,Ray as Gc,Sphere as kc,LineSegments as Vc,BufferAttribute as te,ShaderChunk as gt,ShaderMaterial as gs,UniformsLib as Hc,Color as Wc,Vector2 as fs}from"three";var mt=class extends zc{constructor(){super(),this.isMeshLine=!0,this.type="MeshLine",this.positions=[],this.previous=[],this.next=[],this.side=[],this.width=[],this.indices_array=[],this.uvs=[],this.counters=[],this._points=[],this._geom=null,this.widthCallback=null,this.matrixWorld=new ds,Object.defineProperties(this,{geometry:{enumerable:!0,get:function(){return this}},geom:{enumerable:!0,get:function(){return this._geom},set:function(t){this.setGeometry(t,this.widthCallback)}},points:{enumerable:!0,get:function(){return this._points},set:function(t){this.setPoints(t,this.widthCallback)}}})}};mt.prototype.setMatrixWorld=function(a){this.matrixWorld=a};mt.prototype.setGeometry=function(a,t){this._geometry=a,this.setPoints(a.getAttribute("position").array,t)};mt.prototype.setPoints=function(a,t){if(!(a instanceof Float32Array)&&!(a instanceof Array)){console.error("ERROR: The BufferArray of points is not instancied correctly.");return}if(this._points=a,this.widthCallback=t,this.positions=[],this.counters=[],a.length&&a[0]instanceof he)for(var e=0;e<a.length;e++){var n=a[e],r=e/a.length;this.positions.push(n.x,n.y,n.z),this.positions.push(n.x,n.y,n.z),this.counters.push(r),this.counters.push(r)}else for(var e=0;e<a.length;e+=3){var r=e/a.length;this.positions.push(a[e],a[e+1],a[e+2]),this.positions.push(a[e],a[e+1],a[e+2]),this.counters.push(r),this.counters.push(r)}this.process()};function Xc(a,t){var e=new ds,n=new Gc,r=new kc,i=new he,o=this.geometry;if(o.boundingSphere||o.computeBoundingSphere(),r.copy(o.boundingSphere),r.applyMatrix4(this.matrixWorld),a.ray.intersectSphere(r,i)!==!1){e.copy(this.matrixWorld).invert(),n.copy(a.ray).applyMatrix4(e);var s=new he,u=new he,l=new he,c=this instanceof Vc?2:1,h=o.index,p=o.attributes;if(h!==null)for(var f=h.array,d=p.position.array,m=p.width.array,y=0,x=f.length-1;y<x;y+=c){var E=f[y],S=f[y+1];s.fromArray(d,E*3),u.fromArray(d,S*3);var A=m[Math.floor(y/3)]!==void 0?m[Math.floor(y/3)]:1,C=a.params.Line.threshold+this.material.lineWidth*A/2,V=C*C,M=n.distanceSqToSegment(s,u,i,l);if(!(M>V)){i.applyMatrix4(this.matrixWorld);var W=a.ray.origin.distanceTo(i);W<a.near||W>a.far||(t.push({distance:W,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this}),y=x)}}}}mt.prototype.raycast=Xc;mt.prototype.compareV3=function(a,t){var e=a*6,n=t*6;return this.positions[e]===this.positions[n]&&this.positions[e+1]===this.positions[n+1]&&this.positions[e+2]===this.positions[n+2]};mt.prototype.copyV3=function(a){var t=a*6;return[this.positions[t],this.positions[t+1],this.positions[t+2]]};mt.prototype.getDistance=function(a){let t=0;for(let e=0;e<a;e++){let n=6*e,r=new he(this.positions[n],this.positions[n+1],this.positions[n+2]),i=new he(this.positions[n+6],this.positions[n+7],this.positions[n+8]),o=r.distanceTo(i);t+=o}return t};mt.prototype.process=function(){var a=this.positions.length/6;this.previous=[],this.next=[],this.side=[],this.width=[],this.indices_array=[],this.uvs=[];var t;let e=this.getDistance(a-1);var n;this.compareV3(0,a-1)?n=this.copyV3(a-2):n=this.copyV3(0),this.previous.push(n[0],n[1],n[2]),this.previous.push(n[0],n[1],n[2]);for(var r=0;r<a;r++){if(this.side.push(1),this.side.push(-1),this.widthCallback?t=this.widthCallback(r/(a-1)):t=1,this.width.push(t),this.width.push(t),r===0)this.uvs.push(0,0),this.uvs.push(0,1);else if(r===a-1)this.uvs.push(1,0),this.uvs.push(1,1);else{let o=this.getDistance(r)/e;this.uvs.push(o,0),this.uvs.push(o,1)}if(r<a-1){n=this.copyV3(r),this.previous.push(n[0],n[1],n[2]),this.previous.push(n[0],n[1],n[2]);var i=r*2;this.indices_array.push(i,i+1,i+2),this.indices_array.push(i+2,i+1,i+3)}r>0&&(n=this.copyV3(r),this.next.push(n[0],n[1],n[2]),this.next.push(n[0],n[1],n[2]))}this.compareV3(a-1,0)?n=this.copyV3(1):n=this.copyV3(a-1),this.next.push(n[0],n[1],n[2]),this.next.push(n[0],n[1],n[2]),!this._attributes||this._attributes.position.count!==this.positions.length?this._attributes={position:new te(new Float32Array(this.positions),3),previous:new te(new Float32Array(this.previous),3),next:new te(new Float32Array(this.next),3),side:new te(new Float32Array(this.side),1),width:new te(new Float32Array(this.width),1),uv:new te(new Float32Array(this.uvs),2),index:new te(new Uint16Array(this.indices_array),1),counters:new te(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()};function gi(a,t,e,n,r){var i;if(a=a.subarray||a.slice?a:a.buffer,e=e.subarray||e.slice?e:e.buffer,a=t?a.subarray?a.subarray(t,r&&t+r):a.slice(t,r&&t+r):a,e.set)e.set(a,n);else for(i=0;i<a.length;i++)e[i+n]=a[i];return e}mt.prototype.advance=function(a){var t=this._attributes.position.array,e=this._attributes.previous.array,n=this._attributes.next.array,r=t.length;gi(t,0,e,0,r),gi(t,6,t,0,r-6),t[r-6]=a.x,t[r-5]=a.y,t[r-4]=a.z,t[r-3]=a.x,t[r-2]=a.y,t[r-1]=a.z,gi(t,6,n,0,r-6),n[r-6]=a.x,n[r-5]=a.y,n[r-4]=a.z,n[r-3]=a.x,n[r-2]=a.y,n[r-1]=a.z,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0};gt.meshline_vert=["",gt.logdepthbuf_pars_vertex,gt.fog_pars_vertex,"","attribute vec3 previous;","attribute vec3 next;","attribute float side;","attribute float width;","attribute float counters;","","uniform vec2 resolution;","uniform float lineWidth;","uniform vec3 color;","uniform float opacity;","uniform float sizeAttenuation;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","vec2 fix( vec4 i, float aspect ) {",""," vec2 res = i.xy / i.w;"," res.x *= aspect;"," vCounters = counters;"," return res;","","}","","void main() {",""," float aspect = resolution.x / resolution.y;",""," vColor = vec4( color, opacity );"," vUV = uv;",""," mat4 m = projectionMatrix * modelViewMatrix;"," vec4 finalPosition = m * vec4( position, 1.0 );"," vec4 prevPos = m * vec4( previous, 1.0 );"," vec4 nextPos = m * vec4( next, 1.0 );",""," vec2 currentP = fix( finalPosition, aspect );"," vec2 prevP = fix( prevPos, aspect );"," vec2 nextP = fix( nextPos, aspect );",""," float w = lineWidth * width;",""," vec2 dir;"," if( nextP == currentP ) dir = normalize( currentP - prevP );"," else if( prevP == currentP ) dir = normalize( nextP - currentP );"," else {"," vec2 dir1 = normalize( currentP - prevP );"," vec2 dir2 = normalize( nextP - currentP );"," dir = normalize( dir1 + dir2 );",""," vec2 perp = vec2( -dir1.y, dir1.x );"," vec2 miter = vec2( -dir.y, dir.x );"," //w = clamp( w / dot( miter, perp ), 0., 4. * lineWidth * width );",""," }",""," //vec2 normal = ( cross( vec3( dir, 0. ), vec3( 0., 0., 1. ) ) ).xy;"," vec4 normal = vec4( -dir.y, dir.x, 0., 1. );"," normal.xy *= .5 * w;"," normal *= projectionMatrix;"," if( sizeAttenuation == 0. ) {"," normal.xy *= finalPosition.w;"," normal.xy /= ( vec4( resolution, 0., 1. ) * projectionMatrix ).xy;"," }",""," finalPosition.xy += normal.xy * side;",""," gl_Position = finalPosition;","",gt.logdepthbuf_vertex,gt.fog_vertex&&" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",gt.fog_vertex,"}"].join(`
11923
+ `],{type:"text/javascript"}),t=URL.createObjectURL(a),e=new Worker(t);return URL.revokeObjectURL(t),e}var Oc={mergeParkingSpace:!0,mergeGraphic:!0,renderVersion:$e.MERGED_RENDER_VERSION,layers:["graph","wall","lane","texture2d","texture3d","glb","store","facility","parkingSpace","text"],filterPoi:()=>!0},Le=class extends Q{initDb(){return g(this,null,function*(){try{let{db:t}=yield xn();this.db=t}catch(t){console.log("[\u6253\u5F00indexDb\u9519\u8BEF]",t)}})}load(t,e){return g(this,null,function*(){if(Array.isArray(t))this.floors=t,e&&(this.placeConfig=v({},this.placeConfig,e));else if(typeof t=="string"){let n=yield fetch(t).then(r=>r.json());n.code===200&&(this.floors=n.data.list,this.placeConfig=v({},this.placeConfig,JSON.parse(n.data.config||"{}")))}else return this.load("https://screen.aibee.cn/ai-map/map/get-floor-map?place_id="+t);this.getOtherDataByFreeTime()})}setCacheData(t,e,n){return g(this,null,function*(){return this.initDbPromise.then(()=>En(t,""+e,n))})}getCacheData(t,e){return g(this,null,function*(){return this.initDbPromise.then(()=>He(t,""+e))})}getFloorData(t){return g(this,null,function*(){let e=yield this.getFloorJsonData(t);return e?this.getDataByJson(e):null})}getFloorDataByFloorInfo(t){return g(this,null,function*(){let e=yield this.getFloorJsonDataByFloorInfo(t);return this.getDataByJson(e)})}setLocale(t){this.locale=t,this.bmap.context.currentFloor&&this.bmap.context.currentFloor.poiLayer2.pois.forEach(e=>{e.userData.type==="store"&&(e.options.text=fr(e.userData.data,t)),e.userData.type==="facility"&&(e.options.text=dr(e.userData.data,t))})}getFloorJsonDataByFloorInfo(t){return g(this,null,function*(){if(this.getFloorDataPromise.has(t.floor))return this.getFloorDataPromise.get(t.floor);let e=new Promise(n=>g(this,null,function*(){let r=Pe(t),i=yield fetch(t.map_url).then(o=>o.json());i.floor=t.floor,Je(i),this.setCacheData(lt.MAP_DATA,r,i),this.setCacheData(lt.MAP_VERSION,r,t.version_id),n(i)}));return this.getFloorDataPromise.set(t.floor,e),e})}getFloorJsonData(t){return g(this,null,function*(){let e=this.floors.find(n=>n.floor===t);return e?new Promise(n=>g(this,null,function*(){let r=Pe(e,this.options.renderVersion===$e.LAYERED_RENDER_VERSION?1:void 0);try{let i=Pe(e),o=yield this.getCacheData(lt.MAP_DATA,i);if(o&&o.transformed){console.log("\u4ECE\u7F13\u5B58\u4E2D\u53D6\u5230\u4E86\u5408\u5E76\u540E\u7684\u6570\u636E"),n(o);return}if(this.options.renderVersion===$e.LAYERED_RENDER_VERSION){let s=yield this.getCacheData(lt.MAP_DATA,r);if(s){console.log("\u4ECE\u7F13\u5B58\u4E2D\u53D6\u5230\u4E86\u6570\u636E"),n(s);return}}if(console.log("\u7F13\u5B58\u4E2D\u6CA1\u6709\u6570\u636E"),this.loadWorker){H(this.loadWorker,"adjust_floor_priority",{floor:t});let s=u=>{if(u.data.type==="floor_success"&&u.data.data.floor===t){var l;(l=this.loadWorker)==null||l.removeEventListener("message",s),n(this.getFloorJsonData(t))}};this.loadWorker.addEventListener("message",s)}else n(this.getFloorJsonDataByFloorInfo(e))}catch(i){console.log("[get floor data error]",i),n(this.getFloorJsonDataByFloorInfo(e))}})):null})}getRoadNetworkData(){return g(this,null,function*(){return(yield Promise.all(this.floors.map(e=>g(this,null,function*(){let n=Pe(e,0);try{let r=yield this.getCacheData(lt.ROAD_NETWORK_DATA,n);if(r)return r;let i=yield fetch(e.route_url).then(o=>o.json());return this.setCacheData(lt.ROAD_NETWORK_DATA,n,i),this.setCacheData(lt.ROUTE_VERSION,n,e.version_id),i}catch(r){let i=yield fetch(e.route_url).then(o=>o.json());return this.setCacheData(lt.ROAD_NETWORK_DATA,n,i),i}})))).filter(e=>e.points)})}getFacilitiesData(){return g(this,null,function*(){let t=this.floors.reduce((r,i)=>r.updated_at>i.updated_at?r:i,this.floors[0]);if(!t)return null;let e=Pe(t,0),n=()=>g(this,null,function*(){let r=yield fetch(t.entry_infra_url).then(i=>i.json());return r&&(this.setCacheData(lt.FACILITY_DATA,e,r),this.setCacheData(lt.FACILITY_VERSION,e,t.version_id)),r});try{let r=yield this.getCacheData(lt.FACILITY_DATA,e);return r||n()}catch(r){return console.log("[get facility error]",r),n()}})}getOtherDataByFreeTime(){return g(this,null,function*(){yield this.initDbPromise,yield H(this.loadWorker,"load",{floors:this.floors,version:this.options.renderVersion}),this.closeWorker()})}getMulFloorsData(t){return g(this,null,function*(){return Promise.all(t.map(e=>this.getFloorData(e))).then(e=>e.filter(n=>n))})}getDataByUrl(t){return g(this,null,function*(){let e=yield fetch(t).then(n=>n.json());return this.getDataByJson(e)})}getDataByJson(t,e,n){return g(this,null,function*(){Je(t),e=this.getFloorBaseLayer(t,e);let r=v({},this.placeConfig,n);return yield this.getFloorContentLayer(t,e),yield this.getFloorPoi(t,e,r),this.changeFloorBox(t,e),e})}getDataByJsonStep(t,e,n){return g(this,null,function*(){Je(t),e=this.getFloorBaseLayer(t,e);let r=v({},this.placeConfig,n);return this.changeFloorBox(t,e),requestAnimationFrame(()=>g(this,null,function*(){yield this.getFloorContentLayer(t,e),this.changeFloorBox(t,e),requestAnimationFrame(()=>g(this,null,function*(){yield this.getFloorPoi(t,e,r),this.changeFloorBox(t,e)}))})),e})}changeFloorBox(t,e){e.updateBox();let n=e.box.getSize(new Lc),r=Math.max(n.x,n.y,n.z);e.userData.height=r/4+t.floorHeight}switchFloor(t,e){return g(this,null,function*(){return new Promise(n=>{let r={run:()=>this._switchFloor(t,e),meta:{type:"switchFloor"}},i=this.taskQueue.replaceByMetaType(r),o=s=>{let{task:u,res:l}=s;u.tid===i&&(this.taskQueue.removeEventListener("active-task-end",o),n(l))};this.taskQueue.addEventListener("active-task-end",o)})})}_switchFloor(t,e){return g(this,null,function*(){var n;let r=t;if(typeof t=="string"){let c=yield this.getFloorJsonData(t);if(c)r=c;else return null}else Je(t);let i=v({},this.placeConfig,e),o=new Pt(this.bmap.context);o.userData.data=t;let s=this.floors.find(c=>c.floor===r.floor);var u;let l=(u=s==null?void 0:s.map_angle)!=null?u:0;return this.bmap.dispatchEvent({type:st.SWITCH_FLOOR_BEFORE,data:{curFloor:o,graphics:[]}}),this.dispatchEvent({type:"switch-floor-before",data:{curFloor:o,graphics:[],floorData:r}}),this.bmap.context.scene.background=new Nc(i.backgroundColor),this.getFloorBaseLayer(r,o),this.changeFloorBox(r,o),this.bmap.buildingCenter=o.userData.center,this.bmap.currentBuildGround=(n=o.userData.data.layers.find(c=>c.l_type==="range"))==null?void 0:n.elements[0],this.bmap.context.switchFloor(o),this.bmap.initialFloorCamera(),this.bmap.context.control.setAzimuthalAngle(l/180*Math.PI,!0),this.bmap.context.cameraBound.updateBox(),this.dispatchEvent({type:"switch-floor-ground",data:{curFloor:o,graphics:[]}}),this.bmap.dispatchEvent({type:st.SWITCH_FLOOR_GROUND,data:{curFloor:o}}),yield Br(),yield this.getFloorContentLayer(r,o),this.changeFloorBox(r,o),this.bmap.context.cameraBound.updateBox(),this.dispatchEvent({type:"switch-floor-content",data:{curFloor:o,graphics:[]}}),yield ki(2),yield this.getFloorPoi(r,o,i),this.dispatchEvent({type:"switch-floor-after",data:{curFloor:o,graphics:o.graphicLayer.children}}),this.bmap.dispatchEvent({type:st.SWITCH_FLOOR_AFTER,data:{curFloor:o,graphics:o.graphicLayer.children}}),o})}getFloorBaseLayer(t,e){e||(e=new Pt(this.bmap.context));let n=[0,0];return t.layers.forEach(r=>{switch(r.l_type){case"range":let i=r.elements[0];n=[i.center_x,i.center_y],e.userData.range=i.geometry.cds[0],e.userData.rangeGraphic=i;break;case"ground":pi(r,e);break;default:break}}),e.userData.center=n,e.name=t.floor,e.userData.data=t,e}getFloorContentLayer(t,e){return g(this,null,function*(){e||(e=new Pt(this.bmap.context)),e.userData.graphics=[],e.userData.graphicMap=new Map;let n=Date.now();for(let r=0;r<t.layers.length;r++){let i=t.layers[r];["range","ground"].includes(i.l_type)||this.options.layers.includes(i.l_type)&&(ss(i,e,this.options),console.log("time",Date.now()-n,i.l_type),n=Date.now())}return e})}getFloorPoi(t,e,n){return g(this,null,function*(){n===void 0&&(n=this.placeConfig);let r=Date.now();yield Promise.all(t.layers.map(o=>{if(this.options.layers.includes(o.l_type))return as(o,e,this.locale,n,this.options)})),console.log("poi time",Date.now()-r);let i=Date.now();Br().then(()=>{console.log("poi render time",Date.now()-i)})})}clear(){return g(this,null,function*(){yo(),this.db=null})}closeWorker(){this.loadWorker&&(this.loadWorker.terminate(),this.loadWorker=null)}dispose(){super.dispose(),this.clear(),this.closeWorker(),this.getFloorDataPromise.clear()}constructor(t,e={}){super(),this.bmap=t,this.floors=[],this.initDbPromise=Promise.resolve(),this.db=null,this.taskQueue=new ve,this.loadWorker=fi(),this.locale="zh-cn",this.placeConfig={backgroundColor:"#f1f7f6",showFacilityName:!0,showStoreName:!0,textFontSize:14},this.getFloorDataPromise=new Map,this.options=v({},Oc,e),this.placeConfig=v({},this.placeConfig,t.config.loaderPlaceConfig),this.initDbPromise=this.initDb()}};import"core-js/modules/web.dom-collections.iterator.js";function us(a,t){return g(this,null,function*(){let{brand:e,project:n}=a,{apiDomain:r,apiPath:{floorRange:i},apiInfo:o}=t,s=""+r+i+"?brand="+e+"&project="+n+"&phase="+n+"&building="+n;return yield fetch(s,o).then(l=>l.json()).then(l=>l.data).then(l=>{let c=(l||[])[0];return c&&(c.info=JSON.parse(c.info)),c})})}function ls(a,t){return g(this,null,function*(){let{brand:e,project:n,floor:r,ts:i,resource_type_list:o}=a,{apiDomain:s,apiPath:{floorGraphic:u},apiInfo:l}=t,c=""+s+u+"?brand="+e+"&project="+n+"&phase="+n+"&building="+n+"&floor="+r+"&ts="+i+"&resource_type_list="+o;return yield fetch(c,l).then(p=>p.json()).then(p=>p.data).then(p=>((p||[]).map(f=>f.info=JSON.parse(f.info)),p||[]))})}function F1(a,t){return g(this,null,function*(){let{project:e,floor:n}=a,{apiDomain:r,apiInfo:i}=t,o=r+"/api/inception-map/external_street/get?projectCode="+e+"&floorCode="+n;return yield fetch(o,i).then(u=>u.json()).then(u=>u.data).then(u=>JSON.parse(u[0].streetInfo||"{}")).then(u=>u.fileId?Dc(u.fileId,t):null)})}function Dc(a,t){return g(this,null,function*(){let{apiDomain:e,apiInfo:n}=t;return fetch(e+"/api/inception-map/file/getFileStream?fileId="+a,n).then(r=>r.arrayBuffer()).then(r=>{let o=new TextDecoder("utf-8").decode(r);return o?JSON.parse(o):null})})}var cs=class{load(t){return g(this,null,function*(){let e=me(t);if(this.cacheData.has(e))return this.cacheData.get(e);let[,n]=yield Promise.all([this.loadBuildGround(t),ls(t,this.bmap.config)]),r=me({floor:t.floor,ts:t.ts});mn(n.map(o=>o.info),this.bmap.buildingCenter,this.floorDataLengthMap.get(r)||0),n.forEach(o=>o.info.transformToBuildingGround=!1),this.cacheData.set(e,n);let i=this.floorDataLengthMap.get(r)||0;return this.floorDataLengthMap.set(r,i+n.length),this.loadExternalStreet(t),n})}loadExternalStreet(t){return g(this,null,function*(){})}switchFloorByData(t,e){if(!t.length)return;let n=e.userData.legacyToGraphicMap||new Map,r=e.userData.graphicMap||new Map,{ground:i,markGraphic:o,graphic:s}=this.bmap.config;for(let u=0;u<t.length;u++){let l=t[u];l.info.group==="ground"?(l.info.fillColor=i.color,l.info.fillOpacity=i.opacity,l.info.height=i.height,l.info.stroke=i.stroke,l.info.strokeColor=i.strokeColor,l.info.strokeOpacity=i.strokeOpacity):l.info.userData.mark?(l.info.height=o.height,l.info.fillColor=o.color,l.info.fillOpacity=o.opacity,l.info.stroke=o.stroke,l.info.strokeColor=o.strokeColor,l.info.strokeOpacity=o.strokeOpacity):(l.info.fillOpacity=s.fillOpacity,this.bmap.config.initTransToMark&&(l.info.height=o.height,l.info.fillColor=o.color,l.info.stroke=o.stroke,l.info.strokeColor=o.strokeColor,l.info.strokeOpacity=o.strokeOpacity))}for(let u of t){if(u.info.group==="ground")e.createGround(u.info);else{let l=e.addGraphic(u.info);l.userData.data=u,n.set(u.legacy_id,l)}r.set(u.element_uuid,u)}e.userData.legacyToGraphicMap=n,e.userData.graphicMap=r,e.userData.rangeGraphic=this.bmap.currentBuildGround,e.userData.range=this.bmap.currentBuildGround.geometry.cds[0],e.userData.center=this.bmap.buildingCenter,e.updateBox(),e===this.bmap.context.currentFloor?(this.bmap.triggerHooks(st.SWITCH_FLOOR_BEFORE,{curFloor:e,graphics:e.graphicLayer.children}),this.bmap.initialFloorCamera(),this.bmap.triggerHooks(st.SWITCH_FLOOR_AFTER,{curFloor:e,graphics:e.graphicLayer.children})):this.bmap.switchFloorByFloor(e)}filterData(t,e){let n=e.userData.graphicMap||new Map;return t.filter(r=>!n.has(r.element_uuid))}switchFloorByStoreData(t,e){return g(this,null,function*(){let n=yield this.load(v({},t,{resource_type_list:"6"})),r=this.filterData(n,e);this.switchFloorByData(r,e)})}switchFloorByOtherData(t,e){return g(this,null,function*(){let n=yield this.load(v({},t,{resource_type_list:"1,2,3,4"})),r=this.filterData(n,e);this.switchFloorByData(r,e)})}loadBuildGround(t){return g(this,null,function*(){let{brand:e,project:n}=t,r=yield this.loadBuildingGround({brand:e,project:n});var i;return this.bmap.currentBuildGround=(i=r==null?void 0:r.info)!=null?i:null,this.bmap.changeBuildingCenter(r,{brand:e,project:n}),this.bmap.currentBuildGround})}loadBuildingGround(t){return g(this,null,function*(){let{brand:e,project:n}=t,r=me({brand:e,project:n});if(this.buildingGroundMap.has(r))return this.buildingGroundMap.get(r);let i=us({brand:e,project:n},this.bmap.config).then(o=>(this.buildingGroundMap.set(r,o),o));return this.buildingGroundMap.set(r,i),i})}switchFloor(t){return g(this,null,function*(){let e=new Pt(this.bmap.context);e.userData.graphicMap=new Map,e.name=t.floor;try{yield Promise.all([this.switchFloorByStoreData(t,e),this.switchFloorByOtherData(t,e)])}catch(n){console.log(n)}return e})}dispose(){this.cacheData.clear(),this.floorDataLengthMap.clear(),this.buildingGroundMap.clear()}constructor(t){this.bmap=t,this.cacheData=new Map,this.floorDataLengthMap=new Map,this.buildingGroundMap=new Map,this.externalStreetMap=new Map}};var sE=function(a){return a[a.D2=0]="D2",a[a.D3=1.1]="D3",a}({}),hs=class extends Fc{get basicZoom(){return this.context.basicZoom}set basicZoom(t){this.context.basicZoom=t}changeBuildingCenter(t,e){let{brand:n,project:r}=e,i=t?hn(t.info.geometry.cds[0]):[0,0];this.buildingCenter=i,this.dispatchEvent({type:"center-change",center:i,project:r,brand:n})}use(t){t.bmap=this,this.plugins.push(t)}unUse(t){this.plugins=this.plugins.filter(e=>e!==t)}triggerHooks(t,e){this.dispatchEvent({type:t,data:e})}switchFloor(t){return g(this,null,function*(){return this.loader||(this.loader=new Le(this),this.loader.placeConfig=v({},this.loader.placeConfig,this.config.loaderPlaceConfig),yield this.loader.load(this.config.apiPath.loadPlaceInfo+"?place_id="+this.config.placeId+"&env=prod")),this.loader.switchFloor(t)})}switchFloorByFloor(t,e,n){e===void 0&&(e=!0),n===void 0&&(n=t.graphicLayer.children),this.triggerHooks(st.SWITCH_FLOOR_BEFORE,{curFloor:t,graphics:n}),this.buildingCenter=t.userData.center,this.currentBuildGround=t.userData.rangeGraphic,this.context.switchFloor(t,e),this.initialFloorCamera(),this.triggerHooks(st.SWITCH_FLOOR_AFTER,{curFloor:t,graphics:n})}initialFloorCamera(){this.context.cameraBound.setEnable(!1),this.context.control.minZoom=0,this.context.control.maxZoom=1/0,this.context.camera.zoom=1,this.context.setAzimuthalAngle(this.config.control.defaultAzimuthal,0),this.context.setPolarAngle(this.config.control.defaultPolar,0),this.context.fitCameraToGround(this.config.defaultPadding,0);let t=this.context.camera.zoom;this.context.control.minZoom=t,this.context.control.maxZoom=t*this.config.control.maxZoomScale,this.type==="3d"&&this.context.fitCameraToGround(this.config.defaultPadding,0,!1),this.basicZoom=this.context.camera.zoom,this.context.control.addEventListener("change",this.onControlChange),this.onControlChange(),this.context.cameraBound.setEnable(!0),this.context.cameraBound.changePrevCamera()}addModel(t,e){if(t.options.geometry.type==="polygon"){var n;let r=(n=this.context.currentFloor)==null?void 0:n.addModel(v({},e,{position:t.getPosition().setZ(.1),id:t.options.id}));if(r){let{facilityAngle:i=0,facilityXScale:o=1,facilityYScale:s=1}=t.options.userData;r.rotateZ((180-i)/180*Math.PI),r.scale.set(o,s,1)}}}addHeatmap(t){var e;return(e=this.context.currentFloor)==null?void 0:e.addHeatmap(t)}getLegacyToGraphicMap(){var t;return((t=this.context.currentFloor)==null?void 0:t.userData.legacyToGraphicMap)||new Map}getFloorAllGraphics(){var t;return((t=this.context.currentFloor)==null?void 0:t.getGraphics())||[]}createGraphicPoi(t,e){if(this.context.currentFloor){e.id===void 0&&(e.id=t.options.id);let n=t.options.center,r=t.getCenter(),i=(n==null?void 0:n[0])||r.x,o=(n==null?void 0:n[1])||r.y;return console.log(i,o,n,r),this.context.currentFloor.addPoi(v({},e,{position:{x:i,y:o,z:r.z+t.options.height/2}}))}return null}createPoi2ByPosition(t,e){if(this.context.currentFloor){let n=this.mercatorToWorld([t.x,t.y]),r=new $(this.context,v({},e,{position:{x:n.x,y:n.y,z:t.z}}));return this.context.currentFloor.poiLayer2.pushPoi(r),r}return null}removeHeatMap(){var t;(t=this.context.currentFloor)==null||t.removeHeatMap()}translateElementToCenter(t,e,n,r){e===void 0&&(e=500),n===void 0&&(n=0),r===void 0&&(r=0);let i=t.getPosition().clone(),{context:{camera:o}}=this;if(o.updateMatrix(),r){let s=new gr;s.setFromMatrixColumn(o.matrix,1),s.normalize(),s.multiplyScalar(r/o.zoom),i.add(s)}if(n){let s=new gr;s.setFromMatrixColumn(o.matrix,0),s.normalize(),s.multiplyScalar(n/o.zoom),i.add(s)}return this.context.setCameraPosition(i,e)}translateElementToCenterX(t,e){return g(this,null,function*(){return e===void 0&&(e=500),_t(new Promise(n=>{let r=this.context.control.target.clone(),i=t.getPosition();this.timer.requestAnimationFrame(()=>{let{clientSize:{width:o,height:s},camera:u}=this.context,c=P(i,u,o,s).x-o/2,h=new gr;h.setFromMatrixColumn(this.context.camera.matrix,0),h.normalize(),h.multiplyScalar(c/this.context.camera.zoom),r.add(h),this.context.setCameraPosition(r,e).then(n)})}),e+500)})}getElementDeviceCoordinate(t){let e=t.position.clone(),{clientWidth:n,clientHeight:r}=this.container;return P(e,this.context.camera,n,r)}changeMapType(t,e){return e===void 0&&(e=500),this.type=t,t==="2d"?this.context.setPolarAngle(0,e):this.context.setPolarAngle(1.1,e)}resetView(t){return g(this,null,function*(){t===void 0&&(t=300);let e=t/3;yield this.context.setAzimuthalAngle(this.config.control.defaultAzimuthal,e),yield this.context.setPolarAngle(this.config.control.defaultPolar,e),yield this.context.fitCameraToGround(this.config.defaultPadding,e,!1)})}reduceMap(t,e){t===void 0&&(t=.5),e===void 0&&(e=500);let n=this.context.camera.zoom;return this.context.setZoom(n-t,this.context.control.target,e)}enlargeMap(t,e){t===void 0&&(t=.5),e===void 0&&(e=500);let n=this.context.camera.zoom;return this.context.setZoom(n+t,this.context.control.target,e)}registryEvent(){if(window.addEventListener("keydown",this.onKeydown),window.addEventListener("keyup",this.onKeyUp),this.config.resizeObserver){let t=new ResizeObserver(this.debounceResize);t.observe(this.container),this.observe=t}}unRegistryEvent(){var t;this.context.control.removeEventListener("change",this.onControlChange),window.removeEventListener("keydown",this.onKeydown),window.removeEventListener("keyup",this.onKeyUp),(t=this.observe)==null||t.disconnect(),this.observe=null}configurePolarShortcutKeys(t){this.polarKeys=t}configureAzimuthalShortcutKeys(t){this.azimuthalKeys=t}rotateMap(t,e){t===void 0&&(t=.1),e===void 0&&(e=500);let n=this.context.control.getAzimuthalAngle();return this.context.setAzimuthalAngle(n+t,e)}measureDistance(){return g(this,null,function*(){return this.cancelDistance(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgLine=new Vn(this.context);let n=this.svgLine.dispose.bind(this.svgLine);this.svgLine.dispose=function(){n(),e("cancel")},this.svgLine.addEventListener("distance",r=>{let{distance:i}=r;t(i)})})})}cancelDistance(){this.svgLine&&(this.svgLine.dispose(),this.svgLine=void 0,this.context.control.enableRotate=!0)}measureArea(){return this.cancelArea(),new Promise((t,e)=>{this.changeMapType("2d",0),this.context.control.enableRotate=!1,this.svgPolygon=new Hn(this.context);let n=this.svgPolygon.dispose.bind(this.svgPolygon);this.svgPolygon.dispose=function(){n(),e("cancel")},this.svgPolygon.addEventListener("area",r=>{let{area:i}=r;t(i)})})}cancelArea(){this.svgPolygon&&(this.svgPolygon.dispose(),this.svgPolygon=void 0,this.context.control.enableRotate=!0)}fitCameraByPois(t,e,n){return g(this,null,function*(){if(e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500),!t.length)return;let r=new Uc;return t.forEach(i=>{let{position:o}=i;r.expandByPoint(o)}),this.context.fitCameraToBox(r,e,n,!1)})}fitCameraByPoiNodeIds(t,e,n){return g(this,null,function*(){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=500);let r=t.map(i=>this.getPoiById(i)).filter(i=>!!i);if(r.length)return this.fitCameraByPois(r,e,n)})}getGraphicByNodeId(t){var e,n;return((e=this.context.currentFloor)==null?void 0:e.graphicLayer.getGraphicByNodeId(t))||((n=this.context.currentFloor)==null?void 0:n.parkingSpaceLayer.graphicMap.get(t))||null}deleteGraphic(t){var e;(e=this.context.currentFloor)==null||e.graphicLayer.removeGraphic(t)}createGraphicByOptions(t){var e;if(!t.transformToBuildingGround&&this.currentBuildGround){let n=hn(this.currentBuildGround.geometry.cds[0]);if(t.geometry.type==="polygon")t.geometry.coords=JSON.parse(JSON.stringify(t.geometry.cds)),t.geometry.coords.map(r=>{Array.isArray(r)&&r.forEach(i=>{i[0]-=n[0],i[1]-=n[1]})});else{let[r,i]=t.geometry.cds;t.geometry.coords=[r-n[0],i-n[1]]}}return(e=this.context.currentFloor)==null?void 0:e.graphicLayer.createGraphic(t)}mercatorToWorld(t){let e=this.buildingCenter;return new gr(t[0]-e[0],t[1]-e[1],0)}removePoiById(t){var e,n;(e=this.context.currentFloor)==null||e.poiLayer.removePoiById(t),(n=this.context.currentFloor)==null||n.poiLayer2.removePoiById(t)}getPoiById(t){var e,n;return((e=this.context.currentFloor)==null?void 0:e.poiLayer.getPoiById(t))||((n=this.context.currentFloor)==null?void 0:n.poiLayer2.getPoiById(t))}getPois(){var t,e;return[...(((t=this.context.currentFloor)==null?void 0:t.poiLayer.pois)||[]).filter(n=>!n.options.built_in),...((e=this.context.currentFloor)==null?void 0:e.poiLayer2.pois)||[]]}clearPoi(){this.context.currentFloor&&this.context.currentFloor.poiLayer.clear()}removeSelectGraphic(t){this.context.selection.remove(t)}dispose(){this.loader&&(this.loader.dispose(),this.loader=null),this.unRegistryEvent(),this.timer.dispose(),this.plugins.forEach(t=>t.dispose()),this.plugins=[],this.context.dispose(),this.context=null,this.container=null,tt.dispose(),rt.dispose(),Jt.dispose(),at.dispose(),w.dispose(),Mt.dispose(),this.debounceResize=null,di.Dispose==null||di.Dispose.call(di)}constructor(t,e={}){super(),this.container=t,this.polarKeys=[],this.azimuthalKeys=[],this.prevCameraZoom=1,this.type="2d",this.currentBuildGround=null,this.observe=null,this.buildingCenter=[0,0],this.timer=new X,this.plugins=[],this.loader=null,this.onControlChange=()=>{let{camera:{zoom:n}}=this.context;n!==this.prevCameraZoom&&(this.dispatchEvent({type:"zoom-change",basicZoom:this.basicZoom,cameraZoom:this.context.camera.zoom}),this.prevCameraZoom=n)},this.onKeydown=n=>{this.polarKeys.includes(n.code)&&(this.context.control.maxPolarAngle=this.config.control.maxPolar,this.context.control.minPolarAngle=0),this.azimuthalKeys.includes(n.code)&&(this.context.control.maxAzimuthAngle=1/0,this.context.control.minAzimuthAngle=1/0)},this.onKeyUp=n=>{if(this.polarKeys.includes(n.code)){let r=this.context.control.getPolarAngle();this.context.control.maxPolarAngle=r,this.context.control.minPolarAngle=r}if(this.azimuthalKeys.includes(n.code)){let r=this.context.control.getAzimuthalAngle();this.context.control.maxAzimuthAngle=r,this.context.control.minAzimuthAngle=r}},this.resize=()=>{this.context.cameraBound.setEnable(!1),this.context.onWindowResize();let n=this.context.control.getAzimuthalAngle(),r=this.context.camera.zoom;this.context.control.minZoom=0,this.context.control.maxZoom=1/0,this.context.camera.zoom=1,this.context.setAzimuthalAngle(0,0);let i=this.context.getFitCameraToGroundZoom(this.config.defaultPadding,0)||1;this.context.camera.zoom=r,this.context.control.minZoom=i,this.context.control.maxZoom=i*this.config.control.maxZoomScale,this.basicZoom=r,this.context.control.addEventListener("change",this.onControlChange),this.context.setAzimuthalAngle(n,0),this.context.cameraBound.setEnable(!0)},this.config=is(e),this.context=new pr(t,this),this.debounceResize=Bc(this.resize,5),this.registryEvent()}};var lE=function(a){return a.HALF="half",a.POWER="power",a.MECHANICAL="mechanical",a.NORMAL="normal",a.VIP="vip",a}({});import"core-js/modules/web.dom-collections.iterator.js";var nt=class extends Q{dispose(){let t=this.bmap.plugins.findIndex(e=>e===this);t!==-1&&this.bmap.plugins.splice(t,1),this.bmap=null,super.dispose()}constructor(t){super(),this.bmap=t,this.bmap.use(this)}};var ps=class extends nt{fetchEquipment(){return g(this,null,function*(){let{apiDomain:t,apiPath:{equipmentList:e},apiInfo:n}=this.bmap.config,r=""+t+e;yield fetch(r,n).then(i=>i.json()).then(i=>i.data).then(i=>{this.equipmentList=i,this.equipmentMap=new Map(i.map(o=>[o.equipment_id,o]))}),this.dispatchEvent({type:"change-equipment-list",data:this.equipmentList}),this.bmap.context.currentFloor&&this.changeGraphicToEquipment(this.bmap.context.currentFloor.graphicLayer.children)})}getGraphicEquipment(t){return t.userData.data.info.userData.equipment}changeGraphicToEquipment(t){t.filter(e=>{let n=this.getGraphicEquipment(e);return n&&this.equipmentMap.has(n)}).forEach(e=>{let n=this.equipmentMap.get(this.getGraphicEquipment(e)),r=this.bmap.createGraphicPoi(e,{icon:n==null?void 0:n.equipment_icon,built_in:!0,icon_size:[14,14]});r&&(r.userData.data=n,r.userData.type="equipment")})}dispose(){var t;this.bmap.removeEventListener(st.SWITCH_FLOOR_AFTER,this.onSwitchFloor),Array.from(((t=this.bmap.context.currentFloor)==null?void 0:t.poiLayer.pois)||[]).forEach(e=>{if(e.userData.type==="equipment"){var n;(n=this.bmap.context.currentFloor)==null||n.poiLayer.removePoi(e)}}),super.dispose()}constructor(t){super(t),this.equipmentList=[],this.equipmentMap=new Map,this.onSwitchFloor=e=>{let{data:{graphics:n}}=e;this.equipmentList.length&&this.changeGraphicToEquipment(n)},this.fetchEquipment(),this.bmap.addEventListener(st.SWITCH_FLOOR_AFTER,this.onSwitchFloor)}};import"core-js/modules/es.string.replace.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.promise.finally.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.push.js";import{Mesh as qc,Object3D as jc,TextureLoader as Yc,Color as Zc,Vector2 as mi,Vector3 as Kc,NormalBlending as $c,RepeatWrapping as Jc}from"three";import"core-js/modules/es.typed-array.float32-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/es.array.push.js";import"core-js/modules/es.typed-array.uint16-array.js";import{BufferGeometry as zc,Matrix4 as ds,Vector3 as he,Ray as Gc,Sphere as kc,LineSegments as Vc,BufferAttribute as te,ShaderChunk as gt,ShaderMaterial as gs,UniformsLib as Hc,Color as Wc,Vector2 as fs}from"three";var mt=class extends zc{constructor(){super(),this.isMeshLine=!0,this.type="MeshLine",this.positions=[],this.previous=[],this.next=[],this.side=[],this.width=[],this.indices_array=[],this.uvs=[],this.counters=[],this._points=[],this._geom=null,this.widthCallback=null,this.matrixWorld=new ds,Object.defineProperties(this,{geometry:{enumerable:!0,get:function(){return this}},geom:{enumerable:!0,get:function(){return this._geom},set:function(t){this.setGeometry(t,this.widthCallback)}},points:{enumerable:!0,get:function(){return this._points},set:function(t){this.setPoints(t,this.widthCallback)}}})}};mt.prototype.setMatrixWorld=function(a){this.matrixWorld=a};mt.prototype.setGeometry=function(a,t){this._geometry=a,this.setPoints(a.getAttribute("position").array,t)};mt.prototype.setPoints=function(a,t){if(!(a instanceof Float32Array)&&!(a instanceof Array)){console.error("ERROR: The BufferArray of points is not instancied correctly.");return}if(this._points=a,this.widthCallback=t,this.positions=[],this.counters=[],a.length&&a[0]instanceof he)for(var e=0;e<a.length;e++){var n=a[e],r=e/a.length;this.positions.push(n.x,n.y,n.z),this.positions.push(n.x,n.y,n.z),this.counters.push(r),this.counters.push(r)}else for(var e=0;e<a.length;e+=3){var r=e/a.length;this.positions.push(a[e],a[e+1],a[e+2]),this.positions.push(a[e],a[e+1],a[e+2]),this.counters.push(r),this.counters.push(r)}this.process()};function Xc(a,t){var e=new ds,n=new Gc,r=new kc,i=new he,o=this.geometry;if(o.boundingSphere||o.computeBoundingSphere(),r.copy(o.boundingSphere),r.applyMatrix4(this.matrixWorld),a.ray.intersectSphere(r,i)!==!1){e.copy(this.matrixWorld).invert(),n.copy(a.ray).applyMatrix4(e);var s=new he,u=new he,l=new he,c=this instanceof Vc?2:1,h=o.index,p=o.attributes;if(h!==null)for(var f=h.array,d=p.position.array,m=p.width.array,y=0,x=f.length-1;y<x;y+=c){var E=f[y],S=f[y+1];s.fromArray(d,E*3),u.fromArray(d,S*3);var A=m[Math.floor(y/3)]!==void 0?m[Math.floor(y/3)]:1,C=a.params.Line.threshold+this.material.lineWidth*A/2,V=C*C,M=n.distanceSqToSegment(s,u,i,l);if(!(M>V)){i.applyMatrix4(this.matrixWorld);var W=a.ray.origin.distanceTo(i);W<a.near||W>a.far||(t.push({distance:W,point:l.clone().applyMatrix4(this.matrixWorld),index:y,face:null,faceIndex:null,object:this}),y=x)}}}}mt.prototype.raycast=Xc;mt.prototype.compareV3=function(a,t){var e=a*6,n=t*6;return this.positions[e]===this.positions[n]&&this.positions[e+1]===this.positions[n+1]&&this.positions[e+2]===this.positions[n+2]};mt.prototype.copyV3=function(a){var t=a*6;return[this.positions[t],this.positions[t+1],this.positions[t+2]]};mt.prototype.getDistance=function(a){let t=0;for(let e=0;e<a;e++){let n=6*e,r=new he(this.positions[n],this.positions[n+1],this.positions[n+2]),i=new he(this.positions[n+6],this.positions[n+7],this.positions[n+8]),o=r.distanceTo(i);t+=o}return t};mt.prototype.process=function(){var a=this.positions.length/6;this.previous=[],this.next=[],this.side=[],this.width=[],this.indices_array=[],this.uvs=[];var t;let e=this.getDistance(a-1);var n;this.compareV3(0,a-1)?n=this.copyV3(a-2):n=this.copyV3(0),this.previous.push(n[0],n[1],n[2]),this.previous.push(n[0],n[1],n[2]);for(var r=0;r<a;r++){if(this.side.push(1),this.side.push(-1),this.widthCallback?t=this.widthCallback(r/(a-1)):t=1,this.width.push(t),this.width.push(t),r===0)this.uvs.push(0,0),this.uvs.push(0,1);else if(r===a-1)this.uvs.push(1,0),this.uvs.push(1,1);else{let o=this.getDistance(r)/e;this.uvs.push(o,0),this.uvs.push(o,1)}if(r<a-1){n=this.copyV3(r),this.previous.push(n[0],n[1],n[2]),this.previous.push(n[0],n[1],n[2]);var i=r*2;this.indices_array.push(i,i+1,i+2),this.indices_array.push(i+2,i+1,i+3)}r>0&&(n=this.copyV3(r),this.next.push(n[0],n[1],n[2]),this.next.push(n[0],n[1],n[2]))}this.compareV3(a-1,0)?n=this.copyV3(1):n=this.copyV3(a-1),this.next.push(n[0],n[1],n[2]),this.next.push(n[0],n[1],n[2]),!this._attributes||this._attributes.position.count!==this.positions.length?this._attributes={position:new te(new Float32Array(this.positions),3),previous:new te(new Float32Array(this.previous),3),next:new te(new Float32Array(this.next),3),side:new te(new Float32Array(this.side),1),width:new te(new Float32Array(this.width),1),uv:new te(new Float32Array(this.uvs),2),index:new te(new Uint16Array(this.indices_array),1),counters:new te(new Float32Array(this.counters),1)}:(this._attributes.position.copyArray(new Float32Array(this.positions)),this._attributes.position.needsUpdate=!0,this._attributes.previous.copyArray(new Float32Array(this.previous)),this._attributes.previous.needsUpdate=!0,this._attributes.next.copyArray(new Float32Array(this.next)),this._attributes.next.needsUpdate=!0,this._attributes.side.copyArray(new Float32Array(this.side)),this._attributes.side.needsUpdate=!0,this._attributes.width.copyArray(new Float32Array(this.width)),this._attributes.width.needsUpdate=!0,this._attributes.uv.copyArray(new Float32Array(this.uvs)),this._attributes.uv.needsUpdate=!0,this._attributes.index.copyArray(new Uint16Array(this.indices_array)),this._attributes.index.needsUpdate=!0),this.setAttribute("position",this._attributes.position),this.setAttribute("previous",this._attributes.previous),this.setAttribute("next",this._attributes.next),this.setAttribute("side",this._attributes.side),this.setAttribute("width",this._attributes.width),this.setAttribute("uv",this._attributes.uv),this.setAttribute("counters",this._attributes.counters),this.setIndex(this._attributes.index),this.computeBoundingSphere(),this.computeBoundingBox()};function gi(a,t,e,n,r){var i;if(a=a.subarray||a.slice?a:a.buffer,e=e.subarray||e.slice?e:e.buffer,a=t?a.subarray?a.subarray(t,r&&t+r):a.slice(t,r&&t+r):a,e.set)e.set(a,n);else for(i=0;i<a.length;i++)e[i+n]=a[i];return e}mt.prototype.advance=function(a){var t=this._attributes.position.array,e=this._attributes.previous.array,n=this._attributes.next.array,r=t.length;gi(t,0,e,0,r),gi(t,6,t,0,r-6),t[r-6]=a.x,t[r-5]=a.y,t[r-4]=a.z,t[r-3]=a.x,t[r-2]=a.y,t[r-1]=a.z,gi(t,6,n,0,r-6),n[r-6]=a.x,n[r-5]=a.y,n[r-4]=a.z,n[r-3]=a.x,n[r-2]=a.y,n[r-1]=a.z,this._attributes.position.needsUpdate=!0,this._attributes.previous.needsUpdate=!0,this._attributes.next.needsUpdate=!0};gt.meshline_vert=["",gt.logdepthbuf_pars_vertex,gt.fog_pars_vertex,"","attribute vec3 previous;","attribute vec3 next;","attribute float side;","attribute float width;","attribute float counters;","","uniform vec2 resolution;","uniform float lineWidth;","uniform vec3 color;","uniform float opacity;","uniform float sizeAttenuation;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","vec2 fix( vec4 i, float aspect ) {",""," vec2 res = i.xy / i.w;"," res.x *= aspect;"," vCounters = counters;"," return res;","","}","","void main() {",""," float aspect = resolution.x / resolution.y;",""," vColor = vec4( color, opacity );"," vUV = uv;",""," mat4 m = projectionMatrix * modelViewMatrix;"," vec4 finalPosition = m * vec4( position, 1.0 );"," vec4 prevPos = m * vec4( previous, 1.0 );"," vec4 nextPos = m * vec4( next, 1.0 );",""," vec2 currentP = fix( finalPosition, aspect );"," vec2 prevP = fix( prevPos, aspect );"," vec2 nextP = fix( nextPos, aspect );",""," float w = lineWidth * width;",""," vec2 dir;"," if( nextP == currentP ) dir = normalize( currentP - prevP );"," else if( prevP == currentP ) dir = normalize( nextP - currentP );"," else {"," vec2 dir1 = normalize( currentP - prevP );"," vec2 dir2 = normalize( nextP - currentP );"," dir = normalize( dir1 + dir2 );",""," vec2 perp = vec2( -dir1.y, dir1.x );"," vec2 miter = vec2( -dir.y, dir.x );"," //w = clamp( w / dot( miter, perp ), 0., 4. * lineWidth * width );",""," }",""," //vec2 normal = ( cross( vec3( dir, 0. ), vec3( 0., 0., 1. ) ) ).xy;"," vec4 normal = vec4( -dir.y, dir.x, 0., 1. );"," normal.xy *= .5 * w;"," normal *= projectionMatrix;"," if( sizeAttenuation == 0. ) {"," normal.xy *= finalPosition.w;"," normal.xy /= ( vec4( resolution, 0., 1. ) * projectionMatrix ).xy;"," }",""," finalPosition.xy += normal.xy * side;",""," gl_Position = finalPosition;","",gt.logdepthbuf_vertex,gt.fog_vertex&&" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",gt.fog_vertex,"}"].join(`
11924
11924
  `);gt.meshline_frag=["",gt.fog_pars_fragment,gt.logdepthbuf_pars_fragment,"","uniform sampler2D map;","uniform sampler2D alphaMap;","uniform float useMap;","uniform float useAlphaMap;","uniform float useDash;","uniform float dashArray;","uniform float dashOffset;","uniform float dashRatio;","uniform float visibility;","uniform float alphaTest;","uniform vec2 repeat;","uniform float thresholdRatio;","","varying vec2 vUV;","varying vec4 vColor;","varying float vCounters;","","void main() {",""," if (vUV.x <= thresholdRatio) {"," discard;"," }",gt.logdepthbuf_fragment,""," vec4 c = vColor;"," if( useMap == 1. ) c *= texture2D( map, vUV * repeat );"," if( useAlphaMap == 1. ) c.a *= texture2D( alphaMap, vUV * repeat ).a;"," if( c.a < alphaTest ) discard;"," if( useDash == 1. ){"," c.a *= ceil(mod(vCounters + dashOffset, dashArray) - (dashArray * dashRatio));"," }"," gl_FragColor = c;"," gl_FragColor.a *= step(vCounters, visibility);","",gt.fog_fragment,"}"].join(`
11925
11925
  `);var Qe=class extends gs{constructor(t){super({uniforms:Object.assign({},Hc.fog,{lineWidth:{value:1},map:{value:null},useMap:{value:0},alphaMap:{value:null},useAlphaMap:{value:0},color:{value:new Wc(16777215)},opacity:{value:1},resolution:{value:new fs(1,1)},sizeAttenuation:{value:1},dashArray:{value:0},dashOffset:{value:0},dashRatio:{value:.5},useDash:{value:0},visibility:{value:1},alphaTest:{value:0},repeat:{value:new fs(1,1)},thresholdRatio:{value:0},transparent:{value:!0},depthTest:{vale:!1},depthWrite:{value:!1}}),vertexShader:gt.meshline_vert,fragmentShader:gt.meshline_frag}),this.isMeshLineMaterial=!0,this.type="MeshLineMaterial",Object.defineProperties(this,{lineWidth:{enumerable:!0,get:function(){return this.uniforms.lineWidth.value},set:function(e){this.uniforms.lineWidth.value=e}},map:{enumerable:!0,get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},useMap:{enumerable:!0,get:function(){return this.uniforms.useMap.value},set:function(e){this.uniforms.useMap.value=e}},alphaMap:{enumerable:!0,get:function(){return this.uniforms.alphaMap.value},set:function(e){this.uniforms.alphaMap.value=e}},useAlphaMap:{enumerable:!0,get:function(){return this.uniforms.useAlphaMap.value},set:function(e){this.uniforms.useAlphaMap.value=e}},color:{enumerable:!0,get:function(){return this.uniforms.color.value},set:function(e){this.uniforms.color.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}},sizeAttenuation:{enumerable:!0,get:function(){return this.uniforms.sizeAttenuation.value},set:function(e){this.uniforms.sizeAttenuation.value=e}},dashArray:{enumerable:!0,get:function(){return this.uniforms.dashArray.value},set:function(e){this.uniforms.dashArray.value=e,this.useDash=e!==0?1:0}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(e){this.uniforms.dashOffset.value=e}},dashRatio:{enumerable:!0,get:function(){return this.uniforms.dashRatio.value},set:function(e){this.uniforms.dashRatio.value=e}},useDash:{enumerable:!0,get:function(){return this.uniforms.useDash.value},set:function(e){this.uniforms.useDash.value=e}},visibility:{enumerable:!0,get:function(){return this.uniforms.visibility.value},set:function(e){this.uniforms.visibility.value=e}},alphaTest:{enumerable:!0,get:function(){return this.uniforms.alphaTest.value},set:function(e){this.uniforms.alphaTest.value=e}},repeat:{enumerable:!0,get:function(){return this.uniforms.repeat.value},set:function(e){this.uniforms.repeat.value.copy(e)}},thresholdRatio:{enumerable:!0,get:function(){return this.uniforms.thresholdRatio.value},set:function(e){this.uniforms.thresholdRatio.value=e}}}),this.setValues(t)}};Qe.prototype.copy=function(a){return gs.prototype.copy.call(this,a),this.lineWidth=a.lineWidth,this.map=a.map,this.useMap=a.useMap,this.alphaMap=a.alphaMap,this.useAlphaMap=a.useAlphaMap,this.color.copy(a.color),this.opacity=a.opacity,this.resolution.copy(a.resolution),this.sizeAttenuation=a.sizeAttenuation,this.dashArray.copy(a.dashArray),this.dashOffset.copy(a.dashOffset),this.dashRatio.copy(a.dashRatio),this.useDash=a.useDash,this.visibility=a.visibility,this.alphaTest=a.alphaTest,this.repeat.copy(a.repeat),this};var ms={texture_url:Mn,lineWidth:10,color:16777215},mr=class extends jc{registryEvent(){this.navigation.bmap.context.addEventListener("control-change",this.onControlChange),this.navigation.bmap.context.addEventListener("update",this.onUpdate),this.navigation.bmap.context.addEventListener("resize",this.onResize)}unRegistryEvent(){this.navigation.bmap.context.removeEventListener("control-change",this.onControlChange),this.navigation.bmap.context.removeEventListener("update",this.onUpdate),this.navigation.bmap.context.removeEventListener("resize",this.onResize)}getRepeat(){let{points:t,navigation:{bmap:{context:{camera:e,clientSize:{width:n,height:r}}}}}=this,i=t.map(s=>{let[u,l]=s;return P(new Kc(u,l,0),e,n,r)}).map(s=>{let{x:u,y:l}=s;return[u,l]});return ht(i)/32}changeRepeat(){if(!this.material)return;let t=this.getRepeat();this.material.repeat=new mi(t,1)}loadTexture(t){return new Promise((e,n)=>{new Yc().load(t,e,void 0,n)})}transformPoints(t){let e=[];for(let n=0;n<t.length;n++)e.push(...t[n],0);return e}updatePoints(t){this.points=t,this.changeRepeat();let e=this.transformPoints(t);this.geometry&&this.geometry.setPoints(e)}movePath(t){this.material&&(this.material.thresholdRatio=t)}create(t){return g(this,null,function*(){let e=this.geometry=new mt;if(this.updatePoints(t),!this.texture){let i=this.texture=yield this.loadTexture(this.config.texture_url);i.wrapS=i.wrapT=Jc}let n=this.material=new Qe({useMap:!0,color:new Zc(this.config.color),transparent:!0,resolution:new mi(this.navigation.bmap.context.clientSize.width,this.navigation.bmap.context.clientSize.height),depthTest:!1,sizeAttenuation:!1,lineWidth:this.config.lineWidth*2,map:this.texture,blending:$c,repeat:new mi(this.getRepeat(),1)}),r=this.mesh=new qc(e,n);return r.renderOrder=99999,this.add(r),r})}dispose(){var t,e,n;this.unRegistryEvent(),this.clear(),(t=this.geometry)==null||t.dispose(),(e=this.material)==null||e.dispose(),(n=this.texture)==null||n.dispose(),this.navigation=null}constructor(t,e){super(),this.navigation=t,this.mesh=null,this.geometry=null,this.material=null,this.texture=null,this.config=ms,this.points=[],this.basicRepeat=1,this.prevCameraZoom=0,this.onControlChange=()=>{let n=this.navigation.bmap.context.camera.zoom;n!==this.prevCameraZoom&&(this.prevCameraZoom=n,this.changeRepeat())},this.onUpdate=()=>{this.texture},this.onResize=()=>{if(this.material){let{width:n,height:r}=this.navigation.bmap.context.clientSize;this.material.resolution.set(n,r)}},this.config=Object.assign({},ms,e),this.registryEvent(),this.prevCameraZoom=this.navigation.bmap.context.camera.zoom}};import{Tween as _i,Easing as lh}from"@tweenjs/tween.js";import{Vector2 as ch,Vector3 as wt}from"three";import"core-js/modules/es.array.unshift.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.push.js";import{Vector2 as Qc}from"three";import{Tween as th}from"@tweenjs/tween.js";import{throttle as eh}from"lodash";import{booleanPointInPolygon as nh,point as rh,polygon as ih}from"@turf/turf";var oh={offsetDistance:15,offsetToResetTime:3e3,directionEmitThreshold:5,simulationSpeed:1,destinationDistanceThreshold:10},_r=class extends Q{get curRoutePath(){return this.paths[this.routeIndex]||null}get curRoutePathPoints(){var t;return((t=this.curRoutePath)==null?void 0:t.points)||[]}registryEvent(){this.navigation.bmap.context.addEventListener("update",this.onUpdate),this.navigation.addEventListener("add-path",this.onAddPaths)}unRegistryEvent(){this.navigation.bmap.context.removeEventListener("update",this.onUpdate),this.navigation.removeEventListener("add-path",this.onAddPaths)}setRoadData(t){this.roadData=t}resetStatus(t){this.offset=!1,this.reset=!1,this.routeIndex=0,this.pointIndex=0,this.offsetDistance=0,this.resetTimer&&(this.timer.clearTimeout(this.resetTimer),this.resetTimer=null),t.length&&(this.position=t[0].points[0])}emitNavigationStatus(){let t=this.getNavigationInfo();t&&this.dispatchEvent({type:"navigation-info",info:t})}adsorb(t,e){let{curRoutePathPoints:n,position:r,curRoutePath:i,paths:o,routeIndex:s}=this;if(!n.length)return null;let u=n,l=this.paths[this.routeIndex].floor,c=this.getCurRouteRemainDistance();if(r){let y=zt(n,r);u=u.slice(y+1),u.unshift(r)}let h=[{floor:i==null?void 0:i.floor,points:u},...o.slice(s+1)],{distance:p,closestPoint:f,index:d,i:m}=h.reduce((y,x,E)=>{if(x.floor!==t)return y;let{distance:S,closestPoint:A,index:C}=x.points.reduce((V,M,W,I)=>{if(!I[W+1])return v({},V,{distance:V.distance===1/0?N(M,e):V.distance});let{distance:R,closestPoint:T}=$i(e,M,I[W+1]);if(!this.navigation.options.canBack&&l===t){let F=[e,...I.slice(W+1)],q=ht(F);if(c-q>10)return V}return R<V.distance?{distance:R,closestPoint:T,index:W}:V},{distance:1/0,closestPoint:x.points[0],index:0});return S<y.distance?{distance:S,closestPoint:A,index:E,i:C}:y},{distance:1/0,closestPoint:u[0],index:0,i:0});return{distance:p,closestPoint:f,routeIndex:d+s,pointIndex:d===0?m+this.pointIndex:m}}toPosition(t,e){let n=this.adsorb(t,e);if(!n)return;let{distance:r,closestPoint:i,routeIndex:o,pointIndex:s}=n;this.offsetDistance=r,r>this.options.offsetDistance?(this.offset=!0,this.resetTimer||(this.resetTimer=this.timer.setTimeout(()=>{this.reset=!0,this.resetTimer=null},this.options.offsetToResetTime))):(this.offset=!1,this.reset=!1,this.resetTimer&&(this.timer.clearTimeout(this.resetTimer),this.resetTimer=null)),this.routeIndex=o,this.pointIndex=s,this.position=i,this.emitNavigationStatus()}startSimulation(){this.resetStatus(this.paths),this.emitNavigationStatus(),this.startCurRouteSimulation()}pause(){var t;this.tweenUtil.clear(),(t=this.throttleUpdatePosition)==null||t.cancel(),this.paused=!0}continue(){this.paused=!1,this.startCurRouteSimulation()}startCurRouteSimulation(){return g(this,null,function*(){let{curRoutePath:t}=this;if(!t)return;this.simulationTween&&this.tweenUtil.remove(this.simulationTween);let e=[];return new Promise(n=>{let r=[this.position,...this.curRoutePathPoints.slice(this.pointIndex+1)],i=this.getCurRouteRemainDistance(),o=i/this.options.simulationSpeed,s=this.throttleUpdatePosition=eh(l=>{let c=_e(r,l.distance);c&&(e.push({floor:t.floor,pos:c}),this.toPosition(t.floor,c))},100),u=this.simulationTween=new th({distance:0},this.tweenUtil.group).to({distance:i},o*1e3).onUpdate(s).onComplete(()=>{this.tweenUtil.remove(u),s.flush(),s.cancel(),this.routeIndex+1<this.paths.length?(this.routeIndex++,this.position=this.paths[this.routeIndex].points[0],this.pointIndex=0,setTimeout(()=>{n(this.startCurRouteSimulation())},3e3)):(n(!0),console.log(e,this.routeIndex,this.paths))}).start()})})}changeSimulationSpeed(t){this.options.simulationSpeed=t,this.paused||this.startCurRouteSimulation()}getCurRouteRemainDistance(){let{curRoutePathPoints:t,pointIndex:e,position:n}=this;if(!t.length)return 0;let r=[n,...t.slice(e+1)];return ht(r)}getCurRouteToStartDistance(){let{curRoutePathPoints:t,pointIndex:e,position:n}=this;if(!t.length)return 0;let r=[...t.slice(0,e+1),n];return ht(r)}getRemainDistance(){let t=this.getCurRouteRemainDistance();return{total:this.paths.slice(this.routeIndex+1).reduce((r,i)=>r+i.distance,0)+t,curRoute:t}}getNextDirDistance(){var t;if(!this.position)return null;let{pointIndex:e,curRoutePathPoints:n,position:r,curRoutePath:i}=this,o=e,s=kt.FRONT,u=(i==null||(t=i.pointInfos[o])==null?void 0:t.crossName)||"",l=0,c=0,h=0;for(;s===kt.FRONT&&o<=n.length;){let m=n[o],y=n[o+1],x=n[o+2];if(!m||!y)s=kt.END;else if(l+=N(m,y),!x)s=kt.END;else{s=kr(m,y,x),c=pe(m,y,x),h=(new Qc(x[0]-y[0],x[1]-y[1]).angle()*180/Math.PI-90+360)%360;var p;u=(p=i==null?void 0:i.pointInfos[o+1].crossName)!=null?p:"",o+=1}}n[o]&&(l=N(r,n[o]));let f=Vr(c);if(s===kt.END&&l<=this.options.directionEmitThreshold)return{dir:s,distance:l,crossName:u,angle:c,nextAngle:h,nextDir:f};let d=this.getCurRouteToStartDistance();return e===0&&d<=5?{dir:kt.START,distance:l,crossName:u,angle:c,nextAngle:h,nextDir:f}:(l>=this.options.directionEmitThreshold&&(s=kt.FRONT),{dir:s,distance:l,crossName:u,angle:c,nextAngle:h,nextDir:f})}getCurPointAreaInfo(){let t=this.roadData.find(e=>e.floor===this.paths[this.routeIndex].floor);if(t){let e=(t.areas||[]).find(n=>{let r=ih(n.cds),i=rh(this.position);return nh(i,r)});if(e)return e}return{imageUrl:null}}getNavigationInfo(){let{total:t,curRoute:e}=this.getRemainDistance(),n=this.getNextDirDistance();if(!n)return null;let{dir:r,distance:i,crossName:o,angle:s,nextAngle:u,nextDir:l}=n;e<=this.options.destinationDistanceThreshold&&(r=kt.END);let{imageUrl:c}=this.getCurPointAreaInfo();return{distance:t,curRouteDistance:e,nextDirDistance:i,dir:r,angle:s,nextAngle:u,pos:this.position,routeIndex:this.routeIndex,crossName:o,offset:this.offset,reset:this.reset,imageUrl:c,nextDir:l,offsetDistance:this.offsetDistance}}dispose(){this.timer.dispose(),this.unRegistryEvent(),this.tweenUtil.clear(),this.navigation=null}constructor(t,e,n){super(),this.navigation=t,this.offset=!1,this.reset=!1,this.position=[0,0],this.routeIndex=0,this.pointIndex=0,this.paths=[],this.timer=new X,this.resetTimer=null,this.tweenUtil=new Qt,this.paused=!1,this.offsetDistance=0,this.onAddPaths=r=>{let{paths:i}=r;this.paths=i,this.resetStatus(i),this.simulationTween&&!this.paused&&this.startSimulation()},this.onUpdate=()=>{this.tweenUtil.update()},this.options=Object.assign({},oh,e),this.roadData=n,this.registryEvent()}};import"core-js/modules/es.typed-array.uint8-array.js";import"core-js/modules/es.typed-array.at.js";import"core-js/modules/es.typed-array.fill.js";import"core-js/modules/es.typed-array.find-last.js";import"core-js/modules/es.typed-array.find-last-index.js";import"core-js/modules/es.typed-array.set.js";import"core-js/modules/es.typed-array.sort.js";import"core-js/modules/es.typed-array.to-reversed.js";import"core-js/modules/es.typed-array.to-sorted.js";import"core-js/modules/es.typed-array.with.js";import"core-js/modules/es.array-buffer.constructor.js";import"core-js/modules/es.array-buffer.slice.js";import"core-js/modules/es.array-buffer.detached.js";import"core-js/modules/es.array-buffer.transfer.js";import"core-js/modules/es.array-buffer.transfer-to-fixed-length.js";import"core-js/modules/es.typed-array.from.js";import"core-js/modules/web.dom-collections.iterator.js";import{DataTexture as sh,LinearFilter as _s,RGBAFormat as ys,Sprite as ah,SpriteMaterial as uh}from"three";var qt=class a extends ${addDebug(){a.canvas.style.cssText=`
11926
11926
  position: fixed;
@@ -19751,7 +19751,7 @@ void main() {
19751
19751
  float uvx = prevUv + (vUv.y + 1.0) / 2.0 * vCustomUv;
19752
19752
  gl_FragColor = diffuseColor * texture2D(map, vec2(uvx, (vUv.x + 1.0) / 2.0) * repeat);
19753
19753
  }
19754
- `};var Cr=class extends bh{constructor(t){super({type:"ArrowLineMaterial",uniforms:Object.assign({},As.clone(Tr["custom-line"].uniforms),{map:{value:null}}),vertexShader:Tr["custom-line"].vertexShader,fragmentShader:Tr["custom-line"].fragmentShader,clipping:!0}),this.dashed=!1,Object.defineProperties(this,{map:{enumerable:!0,get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}},repeat:{enumerable:!0,get:function(){return this.uniforms.repeat.value},set:function(e){this.uniforms.repeat.value.copy(e)}},allDistance:{enumerable:!0,get:function(){return this.uniforms.allDistance.value},set:function(e){this.uniforms.allDistance.value=e}}}),this.setValues(t),this.isLineMaterial=!0}};import{LineGeometry as Rh}from"three/examples/jsm/lines/LineGeometry.js";import{Line2 as Ph}from"three/examples/jsm/lines/Line2.js";var Cs={texture_url:Mn,lineWidth:8,color:16777215},Ir=class extends Sh{registryEvent(){this.navigation.bmap.context.addEventListener("control-change",this.onControlChange),this.navigation.bmap.context.addEventListener("update",this.onUpdate),this.navigation.bmap.context.addEventListener("resize",this.onResize)}unRegistryEvent(){this.navigation.bmap.context.removeEventListener("control-change",this.onControlChange),this.navigation.bmap.context.removeEventListener("update",this.onUpdate),this.navigation.bmap.context.removeEventListener("resize",this.onResize)}getRepeat(){let{points:t,navigation:{bmap:{context:{camera:e,clientSize:{width:n,height:r}}}}}=this,i=t.map(s=>{let[u,l,c]=s;return P(new Th(u,l,c),e,n,r)}).map(s=>{let{x:u,y:l}=s;return[u,l]});return ht(i)/32}changeRepeat(){if(!this.material)return;let t=this.getRepeat();this.material.repeat=new xi(t,1)}loadTexture(t){return new Promise((e,n)=>{new Mh().load(t,e,void 0,n)})}transformPoints(t){let e=[];for(let n=0;n<t.length;n++)e.push(...t[n]);return e}updatePoints(t){if(this.points=t,this.mesh){var e,n;this.remove(this.mesh),(e=this.material)==null||e.dispose(),(n=this.geometry)==null||n.dispose()}this.geometry=new Rh,this.geometry.setPositions(t.flat(2));let r=ht(t.map(s=>{let[u,l]=s;return[u,l]})),i=this.material=new Cr({color:new wh(this.config.color),transparent:!0,resolution:new xi(this.navigation.bmap.context.clientSize.width,this.navigation.bmap.context.clientSize.height),depthTest:!0,depthWrite:!0,linewidth:this.config.lineWidth,map:this.texture,blending:Ah,repeat:new xi(this.getRepeat(),1),allDistance:r}),o=this.mesh=new Ph(this.geometry,i);return o.computeLineDistances(),o.renderOrder=9,this.add(o),o}movePath(t){this.material&&(this.material.thresholdRatio=t)}create(t){return g(this,null,function*(){if(!this.texture){let e=this.texture=yield this.loadTexture(this.config.texture_url);e.wrapS=e.wrapT=Ch}return this.updatePoints(t)})}getBoundingBox(){return this.mesh?(this.mesh.geometry.computeBoundingBox(),new Ih().copy(this.mesh.geometry.boundingBox).applyMatrix4(this.mesh.matrixWorld)):null}dispose(){var t,e,n;this.unRegistryEvent(),this.clear(),(t=this.geometry)==null||t.dispose(),(e=this.material)==null||e.dispose(),(n=this.texture)==null||n.dispose(),this.navigation=null}constructor(t,e){super(),this.navigation=t,this.mesh=null,this.geometry=null,this.material=null,this.texture=null,this.config=Cs,this.points=[],this.basicRepeat=1,this.prevCameraZoom=0,this.onControlChange=()=>{let n=this.navigation.bmap.context.camera.zoom;n!==this.prevCameraZoom&&(this.prevCameraZoom=n,this.changeRepeat())},this.onUpdate=()=>{this.texture},this.onResize=()=>{if(this.material){let{width:n,height:r}=this.navigation.bmap.context.clientSize;this.material.resolution.set(n,r)}},this.config=Object.assign({},Cs,e),this.registryEvent(),this.prevCameraZoom=this.navigation.bmap.context.camera.zoom}};import{Tween as Fh}from"@tweenjs/tween.js";import{AnimationMixer as Lh,Box3 as Nh,Object3D as Is,Vector3 as Oh,Mesh as Dh,Euler as Uh}from"three";var Rr=class extends Is{meshSetMaterial(t){t instanceof Dh&&(t.material.emissiveIntensity=.5,t.material.shininess=0,t.material.emissive=t.material.color,t.material.emissiveMap=t.material.map,t.material.transparent=!0,t.material.depthTest=!1,t.renderOrder=1e6),t.children.forEach(n=>{this.meshSetMaterial(n)})}getBaseScale(t){let{clientSize:{height:e},camera:n}=this.bmap.context,i=(n.top-n.bottom)/n.zoom/e;return this.options.size*i/this.modelMaxLength}registryEvent(){this.bmap.context.addEventListener("update",this._update),this.bmap.context.addEventListener("control-zoom-change",this._onChangeZoom)}unRegistryEvent(){this.bmap.context.removeEventListener("update",this._update),this.bmap.context.removeEventListener("control-zoom-change",this._onChangeZoom)}lookAtCamera(){if(this.model&&this.bmap&&this.bmap.context){let t=this.bmap.context.camera,e=new Uh;e.setFromQuaternion(t.quaternion,"ZYX"),this.group.rotation.copy(e)}}setClips(t){this.clearClips(),t.length&&(this.mixer=new Lh(this.model.scene),t.forEach(e=>this.mixer.clipAction(e).play()))}startClips(){var t;this.setClips(((t=this.model)==null?void 0:t.animations)||[])}clearClips(){this.mixer&&(this.mixer.stopAllAction(),this.mixer.uncacheRoot(this.mixer.getRoot()),this.mixer=null)}dispose(){this.unRegistryEvent(),this.clearClips(),this.clear(),this.model&&O(this.model.scene),this.bmap=null}constructor(t,e,n={}){super(),this.bmap=t,this.group=new Is,this.mixer=null,this.previewTime=0,this.modelMaxLength=0,this.options={size:40},this._update=()=>{let r=Date.now();if(!this.previewTime)this.previewTime=r;else{var i;let o=r-this.previewTime;this.previewTime=r,(i=this.mixer)==null||i.update(o/1e3)}this.lookAtCamera()},this._onChangeZoom=r=>{let{zoom:i}=r;var o;if(!this.model)return;let s=this.getBaseScale(this.model.scene);(o=this.model)==null||o.scene.scale.set(s,s,s)},this.options=v({},this.options,n),this.add(this.group),at.loadModel(e,!1).then(r=>{this.model=r;let o=new Nh().setFromObject(r.scene).getSize(new Oh),s=Math.max(o.x,o.y,o.z);this.modelMaxLength=s;let u=this.getBaseScale(r.scene);r.scene.scale.set(u,u,u),this.meshSetMaterial(r.scene),this.group.add(r.scene),this.setClips(r.animations),this.group.rotation.set(Math.PI/2,Math.PI,0),this.dispatchEvent({type:"loaded"})}),this.registryEvent()}};import{Vector3 as Ei}from"three";var Rs=class extends nt{registryEvent(){this.bmap.context.addEventListener("update",this.onUpdate)}pauseAnimation(){this.tweenUtil.pause()}continueAnimation(){this.tweenUtil.continue()}clearTween(){this.tweenUtil.clear(),this.bmap.context.control.enabled=!0}unRegistryEvent(){this.bmap.context.removeEventListener("update",this.onUpdate)}clearPath(){this.path&&(this.bmap.context.scene.remove(this.path),this.path.dispose(),this.path=null,this.movedDistance=0,this.clearTween()),this.startModel&&(this.startModel.visible=!1),this.translatePath=null}addPath(t){this.paths=t;let e=t.map(n=>v({},n,{points:this.translatePoints(n.points)}));if(this.clearTween(),this.movedDistance=0,this.bmap.currentBuildGround)this.renderPath(e);else{let n=()=>{this.bmap.removeEventListener("center-change",n),this.renderPath(e)};this.bmap.addEventListener("center-change",n)}this.dispatchEvent({type:"add-path",paths:t})}translatePoints(t){let[e,n]=this.bmap.buildingCenter;return t.map(r=>[r[0]-e,r[1]-n])}renderPath(t){return g(this,null,function*(){if(!t.length)return this.clearPath();let e=[];t.forEach((n,r,i)=>{let o=this.mulFloor.floors.find(s=>s.name===n.floor);e.push(...n.points.map(s=>{let[u,l]=s;return[u,l,o.position.z+o.groundMaxHeight]}))}),this.cPath=e,this.animationPathOptions={cPathIndex:0},this.path?this.path.updatePoints(e):(this.path=new Ir(this),yield this.path.create(e),this.path.position.z=.5,this.bmap.context.scene.add(this.path)),this.startModel&&(this.startModel.position.set(e[0][0],e[0][1],e[0][2]),this.startModel.visible=!0),this.dispatchEvent({type:"render-path",path:this.path})})}catmullRomCurve3(t){return dn(t,!1,!0,.1,170,2.5)}getPathDirection(t,e){if(t.length<2)return null;let n=zt(t,e),r=t[n],i=t[n+1],o=new Ei(i[0]-r[0],i[1]-r[1],0).normalize(),s=new Ei(0,1,0).normalize(),u=o.angleTo(s),l=new Ei().crossVectors(s,o);return(Object.is(l.y,0)?-1:1)*u}startSimulation(t){return g(this,null,function*(){t===void 0&&(t=1);let{paths:e,movedDistance:n}=this;if(!e.length)return;let r=e.reduce((o,s)=>o+s.distance,0);if(!r||n>=r)return;this.simulationTween&&this.tweenUtil.remove(this.simulationTween);let i=r/t;return this.startModel.startClips(),new Promise(o=>{let s=this.simulationTween=new Fh({distance:this.movedDistance},this.tweenUtil.group).to({distance:r},i*1e3).onUpdate(u=>{var l;this.movedDistance=u.distance;let c=u.distance,h=0;for(let y=0;y<e.length;y++)if(e[y].distance>=c){h=y;break}else c-=e[y].distance;let p=_e(e[h].points,c);if(p===null)return;this.currentPathPosition=p;let f=this.translatePoints([p])[0],d=this.mulFloor.floors.find(y=>y.name===e[h].floor),m=d?d.position.z+d.groundMaxHeight:(l=this.startModel)==null?void 0:l.position.z;this.startModel&&this.startModel.position.set(f[0],f[1],m)}).onComplete(()=>{this.tweenUtil.remove(s),this.startModel.clearClips(),o(!0)}).start()})})}setStartPoiRotate(t){if(this.startPoi){let n=(this.bmap.context.control.getAzimuthalAngle()*180/Math.PI+360)%360;this.startPoi.options.icon_rotate=(360-t-n)%360}}dispose(){this.path&&(this.bmap.context.scene.remove(this.path),this.path.dispose()),this.startModel&&(this.bmap.context.scene.remove(this.startModel),this.startModel.dispose()),this.tweenUtil.dispose(),this.unRegistryEvent(),super.dispose()}constructor(t,e,n={}){super(t),this.mulFloor=e,this.path=null,this.fetchRoadStatus=!1,this.paths=[],this.curFloorPath=null,this.translatePath=null,this.currentPathPosition=null,this.pathTween=null,this.startPoi=null,this.movedDistance=0,this.tweenUtil=new Qt,this.animationPathOptions={cPathIndex:0},this.cPath=[],this.onUpdate=()=>{this.tweenUtil.update()},this.startModel=new Rr(t,xo,n.startModel),this.startModel.visible=!1,this.bmap.context.scene.add(this.startModel),this.registryEvent()}};import"core-js/modules/es.array.flat.js";import"core-js/modules/es.array.unscopables.flat.js";import{Raycaster as Bh,Vector2 as zh}from"three";var Ps=class extends nt{registryEvent(){this.clickHelper.addEventListener("click",this._click)}unRegistryEvent(){this.clickHelper.removeEventListener("click",this._click)}dispose(){this.unRegistryEvent(),this.clickHelper.dispose(),this.mulFloors=null,super.dispose()}constructor(t,e){super(t),this.mulFloors=e,this._click=n=>{let{e:r}=n;if(!this.mulFloors.showStatus)return;let i=new zh,{offsetX:o,offsetY:s}=r,u=this.mulFloors.floors.map(p=>p.poiLayer2.getPoiByDeviceXy(o,s)).flat(2),{clientSize:l}=this.bmap.context;i.x=o/l.width*2-1,i.y=s/l.height*-2+1;let c=new Bh;c.setFromCamera(i,this.bmap.context.camera),c.ray.origin.sub(c.ray.direction.clone().multiplyScalar(1e4));let h=this.mulFloors.floors.map(p=>p.graphicLayer.getGraphicByRaycaster(c).graphics).flat();this.dispatchEvent({type:"select",pois:u,graphics:h})},this.clickHelper=new _n(this.bmap.context.container),this.registryEvent()}};import"core-js/modules/es.array.find-last-index.js";import"core-js/modules/es.array.find-last.js";import"core-js/modules/es.array.push.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.push.js";import"core-js/modules/es.array.sort.js";import{Vector2 as en}from"three";function Gh(a){let t=a.length,e=0,n=0,r=0,i=0;a.forEach(u=>{e+=u[0],n+=u[1],r+=u[0]*u[1],i+=u[0]*u[0]});let o=(t*r-e*n)/(t*i-e*e),s=(n-o*e)/t;return{m:o,b:s}}function kh(a,t,e){let n=e[0][0],r=e.slice(-1)[0][0],i=a*n+t,o=a*r+t;return{start:[n,i],end:[r,o]}}function Pr(a){if(a.length<2)return null;let t=a.filter((u,l)=>{let c=[...a];return c.splice(l,1),c.every(h=>h[0]!==u[0]&&h[1]!==u[1])});if(t.length<2)return null;let{m:e,b:n}=Gh(t),{start:r,end:i}=kh(e,n,t),s=360-(new en().subVectors(new en(i[0],i[1]),new en(r[0],r[1])).angle()/Math.PI*180-90+360)%360;return Number.isNaN(s)?null:s}function GM(a){let t=[];for(let e=1;e<a.length;e++){let n=a[e-1],r=a[e],i=r.position[0]-n.position[0],o=r.position[1]-n.position[1],s=Math.sqrt(i**2+o**2),u=r.time-n.time;if(u>0){let l=s/u;console.log("speedDelta",n.type,r.type,bi(l),s,u),t.push(l)}else t.push(0)}return t}function kM(a,t){let e=a[0],n=a.slice(-1)[0],r=N(n.position,e.position),i=n.time-e.time;return i<100||r<3?null:r/i}function bi(a){return a*60*60}function nn(a,t,e,n){let r=(e+90)%360*(Math.PI/180),i=t*n,o=new en(a[0],a[1]),s=Math.cos(r),u=Math.sin(r),l=new en(s,u);return o.add(l.normalize().multiplyScalar(i)),[o.x,o.y]}function VM(a){let t=[...a].sort((l,c)=>l-c),e=Ls(t,25),n=Ls(t,75),r=n-e,i=e-1.5*r,o=n+1.5*r,s=t.filter(l=>l>=i&&l<=o);return a.filter(l=>s.includes(l))}function Ls(a,t){let e=t/100*(a.length-1),n=Math.floor(e),r=Math.ceil(e);if(n===r)return a[n];let i=e-n;return a[n]*(1-i)+a[r]*i}import{isNil as Lr}from"lodash";var Nr=class extends Q{setPathAngle(t){this.pathAngle=t,this.dispatchEvent({type:"change-compass",value:this.pathAngle}),Lr(this.angle)&&(this.angle=t)}changeSpeed(){let t=this.history.filter(u=>["vision"].includes(u.type));if(t.length<2){this.speedFilter.filter(0),this.speed=0;return}let e=t[0],n=t.slice(-1)[0],r=N(n.position,e.position),i=n.time-e.time,o=i>0?r/i:0,s=this.speedFilter.filter(o);this.speed=s}changeAngle(t){t===void 0&&(t=this.visionHistory),t.length<2&&(this.angle=null);let e=Pr(t.map(n=>n.position));e!==null&&this.setAngle(e)}setAngle(t,e){e===void 0&&(e=!0),this.angle=t,e&&this.dispatchEvent({type:"change-position-compass",value:t})}setPosition(t,e,n){let r={position:t,time:e,clientTime:Date.now()-n,type:"vision"};if(this._setVisionHistoryForAngle(r),Lr(this.angle)||!this.speed){this.addHistory(r);return}let i=this.history.findLastIndex(s=>s.type==="vision"),o=this.history[i];if(o){if(o.time>e)return;let s=Pr([this.history.slice(-1)[0].position,t]);if(s&&Math.abs(s-this.angle)<60){this.addHistory(r);return}let u=nn(t,this.speed,360-this.pathAngle,n);N(u,this.history.slice(-1)[0].position)>5?this.visionExcessesCount++:this.visionExcessesCount=0,this.visionExcessesCount>3&&(console.warn("\u8FDE\u7EED\u4E09\u6B21\u89C6\u89C9\u548Cpdr\u5DEE\u8DDD\u5927\u4E8E5\u7C73\uFF0C\u4F7F\u7528\u89C6\u89C9\u6821\u51C6"),this.addHistory(r),this.visionExcessesCount=0)}}resetPdrPosition(){let t=this.history.findLast(e=>e.type==="vision");if(t&&this.speed){let e=nn(t.position,this.speed,360-this.pathAngle,Date.now()-t.clientTime);e&&this.history.push({position:e,time:Date.now(),clientTime:Date.now(),type:"pdr"})}}getLastVisionPdrPos(){let t=this.history.findLastIndex(n=>n.type==="vision");if(t!==-1){var e;return(e=this.history[t+1])!=null?e:this.history[t]}return null}_setVisionHistoryForAngle(t){if(!this.visionHistory.length){this.visionHistory.push(t);return}let e=Pr([this.visionHistory.slice(-1)[0].position,t.position]);if(e!==null&&(this.angle&&Math.abs(this.angle-e)>60?this.angleExcessesCount++:(this.angleExcessesCount=0,this.visionHistory.push(t))),this.angleExcessesCount>3)console.warn("\u8FDE\u7EED\u4E09\u6B21\u89D2\u5EA6\u6BD4\u8F83\u6B6A\uFF0C\u91CD\u65B0\u77EB\u6B63"),this.visionHistory=[t],this.angleExcessesCount=0;else{let n=N(this.visionHistory[0].position,this.visionHistory.slice(-1)[0].position);for(;n>5&&this.visionHistory.length>15;)this.visionHistory.shift(),n=N(this.visionHistory[0].position,this.visionHistory.slice(-1)[0].position)}this.changeAngle()}addHistory(t){this.history.push(t);let e=this.history.filter(s=>s.type==="vision"),n=e.length?Date.now()-e.slice(-1)[0].clientTime:0,r=N(this.history[0].position,this.history.slice(-1)[0].position),i=n>5e3?10:3,o=n>5e3?0:5;for(n>5e3&&console.warn("\u89C6\u89C9\u7ED3\u679C\u8D85\u51FA5s\u4E0D\u53EF\u7528\uFF0C\u5168\u90E8\u6E05\u7A7A");e.length>o&&r>i;)this.history.shift(),e=this.history.filter(s=>s.type==="vision"),r=N(this.history[0].position,this.history.slice(-1)[0].position);o===0?this.changeSpeed():t.type==="vision"&&this.changeSpeed(),this.changePosition(t.type)}setBeaconPosition(t,e,n){let r=Date.now()-n,i={position:t,time:e,clientTime:r,type:"beacon"},o=this.history.findLastIndex(c=>c.type!=="pdr"),s=this.history[o];if(!s){this.addHistory(i);return}if(Lr(this.pathAngle)||!this.speed){this.addHistory(i);return}if(s&&s.time>e)return;let u=nn(t,this.speed,360-this.pathAngle,n);N(u,this.history.slice(-1)[0].position)>5?this.beaconExcessesCount++:this.beaconExcessesCount=0,this.beaconExcessesCount>3&&(console.warn("\u8FDE\u7EED\u4E09\u6B21beacon\u548Cpdr\u5DEE\u8DDD\u5927\u4E8E5\u7C73\uFF0C\u4F7F\u7528beacon\u6821\u51C6"),this.addHistory(i),this.beaconExcessesCount=0)}startPositionTimer(){this.positionTimer&&this.timer.clearInterval(this.positionTimer),this.positionTimer=this.timer.setInterval(()=>{this.changePosition()},20)}stopPositionTimer(){this.positionTimer&&(this.timer.clearInterval(this.positionTimer),this.positionTimer=null)}changePosition(t){t===void 0&&(t="pdr");let e=this.getPosition(t);e.success&&(this.history.push({position:e.pos,time:Date.now(),clientTime:Date.now(),type:"pdr"}),this.speed?this.dispatchEvent({type:"change-pos",value:v({},e)}):this.dispatchEvent({type:"change-pos",value:e}))}getPosition(t){if(this.history.length===0)return{success:!1,pos:[0,0],compass:null,speed:0};let e=this.history.slice(-1)[0];if(this.history.length<2)return{success:!0,pos:e.position,compass:this.pathAngle,speed:this.speed};if(Lr(this.pathAngle)||!this.speed)return{success:!0,pos:e.position,compass:this.pathAngle,speed:this.speed};let n=e.clientTime,r=Date.now()-n;return{success:!0,pos:this.pathAngle?nn(e.position,this.speed,360-this.pathAngle,r):e.position,compass:this.pathAngle,speed:bi(this.speed)}}dispose(){this.timer.dispose()}constructor(){super(),this.history=[],this.visionHistory=[],this.speed=0,this.angle=null,this.timer=new X,this.positionTimer=null,this.speedFilter=new vn,this.visionExcessesCount=0,this.beaconExcessesCount=0,this.angleExcessesCount=0,this.pathAngle=0,this.startPositionTimer()}};import"core-js/modules/es.json.stringify.js";function Si(){let a=new Blob([`var PU=Object.create;var EE=Object.defineProperty;var IU=Object.getOwnPropertyDescriptor;var RU=Object.getOwnPropertyNames;var LU=Object.getPrototypeOf,NU=Object.prototype.hasOwnProperty;var st=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var OU=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of RU(t))!NU.call(n,s)&&s!==e&&EE(n,s,{get:()=>t[s],enumerable:!(o=IU(t,s))||o.enumerable});return n};var sn=(n,t,e)=>(e=n!=null?PU(LU(n)):{},OU(t||!n||!n.__esModule?EE(e,"default",{value:n,enumerable:!0}):e,n));var ac=(n,t,e)=>new Promise((o,s)=>{var l=g=>{try{h(e.next(g))}catch(m){s(m)}},p=g=>{try{h(e.throw(g))}catch(m){s(m)}},h=g=>g.done?o(g.value):Promise.resolve(g.value).then(l,p);h((e=e.apply(n,t)).next())});var so=st((Vm,wE)=>{"use strict";var zf=function(n){return n&&n.Math===Math&&n};wE.exports=zf(typeof globalThis=="object"&&globalThis)||zf(typeof window=="object"&&window)||zf(typeof self=="object"&&self)||zf(typeof global=="object"&&global)||zf(typeof Vm=="object"&&Vm)||function(){return this}()||Function("return this")()});var mi=st((oj,SE)=>{"use strict";SE.exports=function(n){try{return!!n()}catch(t){return!0}}});var Ys=st((sj,ME)=>{"use strict";var DU=mi();ME.exports=!DU(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Gf=st((aj,bE)=>{"use strict";var FU=mi();bE.exports=!FU(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})});var Ns=st((uj,AE)=>{"use strict";var UU=Gf(),gp=Function.prototype.call;AE.exports=UU?gp.bind(gp):function(){return gp.apply(gp,arguments)}});var IE=st(PE=>{"use strict";var TE={}.propertyIsEnumerable,CE=Object.getOwnPropertyDescriptor,BU=CE&&!TE.call({1:2},1);PE.f=BU?function(t){var e=CE(this,t);return!!e&&e.enumerable}:TE});var mp=st((cj,RE)=>{"use strict";RE.exports=function(n,t){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:t}}});var yi=st((fj,OE)=>{"use strict";var LE=Gf(),NE=Function.prototype,Wm=NE.call,zU=LE&&NE.bind.bind(Wm,Wm);OE.exports=LE?zU:function(n){return function(){return Wm.apply(n,arguments)}}});var uc=st((hj,FE)=>{"use strict";var DE=yi(),GU=DE({}.toString),kU=DE("".slice);FE.exports=function(n){return kU(GU(n),8,-1)}});var BE=st((pj,UE)=>{"use strict";var qU=yi(),HU=mi(),VU=uc(),Xm=Object,WU=qU("".split);UE.exports=HU(function(){return!Xm("z").propertyIsEnumerable(0)})?function(n){return VU(n)==="String"?WU(n,""):Xm(n)}:Xm});var Ym=st((dj,zE)=>{"use strict";zE.exports=function(n){return n==null}});var lc=st((gj,GE)=>{"use strict";var XU=Ym(),YU=TypeError;GE.exports=function(n){if(XU(n))throw new YU("Can't call method on "+n);return n}});var cc=st((mj,kE)=>{"use strict";var $U=BE(),ZU=lc();kE.exports=function(n){return $U(ZU(n))}});var Ui=st((yj,qE)=>{"use strict";var $m=typeof document=="object"&&document.all;qE.exports=typeof $m=="undefined"&&$m!==void 0?function(n){return typeof n=="function"||n===$m}:function(n){return typeof n=="function"}});var $s=st((vj,HE)=>{"use strict";var JU=Ui();HE.exports=function(n){return typeof n=="object"?n!==null:JU(n)}});var fc=st((_j,VE)=>{"use strict";var Zm=so(),KU=Ui(),jU=function(n){return KU(n)?n:void 0};VE.exports=function(n,t){return arguments.length<2?jU(Zm[n]):Zm[n]&&Zm[n][t]}});var XE=st((xj,WE)=>{"use strict";var QU=yi();WE.exports=QU({}.isPrototypeOf)});var JE=st((Ej,ZE)=>{"use strict";var tB=so(),YE=tB.navigator,$E=YE&&YE.userAgent;ZE.exports=$E?String($E):""});var rw=st((wj,nw)=>{"use strict";var ew=so(),Jm=JE(),KE=ew.process,jE=ew.Deno,QE=KE&&KE.versions||jE&&jE.version,tw=QE&&QE.v8,Zs,yp;tw&&(Zs=tw.split("."),yp=Zs[0]>0&&Zs[0]<4?1:+(Zs[0]+Zs[1]));!yp&&Jm&&(Zs=Jm.match(/Edge\\/(\\d+)/),(!Zs||Zs[1]>=74)&&(Zs=Jm.match(/Chrome\\/(\\d+)/),Zs&&(yp=+Zs[1])));nw.exports=yp});var Km=st((Sj,ow)=>{"use strict";var iw=rw(),eB=mi(),nB=so(),rB=nB.String;ow.exports=!!Object.getOwnPropertySymbols&&!eB(function(){var n=Symbol("symbol detection");return!rB(n)||!(Object(n)instanceof Symbol)||!Symbol.sham&&iw&&iw<41})});var jm=st((Mj,sw)=>{"use strict";var iB=Km();sw.exports=iB&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Qm=st((bj,aw)=>{"use strict";var oB=fc(),sB=Ui(),aB=XE(),uB=jm(),lB=Object;aw.exports=uB?function(n){return typeof n=="symbol"}:function(n){var t=oB("Symbol");return sB(t)&&aB(t.prototype,lB(n))}});var lw=st((Aj,uw)=>{"use strict";var cB=String;uw.exports=function(n){try{return cB(n)}catch(t){return"Object"}}});var kf=st((Tj,cw)=>{"use strict";var fB=Ui(),hB=lw(),pB=TypeError;cw.exports=function(n){if(fB(n))return n;throw new pB(hB(n)+" is not a function")}});var vp=st((Cj,fw)=>{"use strict";var dB=kf(),gB=Ym();fw.exports=function(n,t){var e=n[t];return gB(e)?void 0:dB(e)}});var pw=st((Pj,hw)=>{"use strict";var t0=Ns(),e0=Ui(),n0=$s(),mB=TypeError;hw.exports=function(n,t){var e,o;if(t==="string"&&e0(e=n.toString)&&!n0(o=t0(e,n))||e0(e=n.valueOf)&&!n0(o=t0(e,n))||t!=="string"&&e0(e=n.toString)&&!n0(o=t0(e,n)))return o;throw new mB("Can't convert object to primitive value")}});var qf=st((Ij,dw)=>{"use strict";dw.exports=!1});var _p=st((Rj,mw)=>{"use strict";var gw=so(),yB=Object.defineProperty;mw.exports=function(n,t){try{yB(gw,n,{value:t,configurable:!0,writable:!0})}catch(e){gw[n]=t}return t}});var xp=st((Lj,_w)=>{"use strict";var vB=qf(),_B=so(),xB=_p(),yw="__core-js_shared__",vw=_w.exports=_B[yw]||xB(yw,{});(vw.versions||(vw.versions=[])).push({version:"3.42.0",mode:vB?"pure":"global",copyright:"\\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ep=st((Nj,Ew)=>{"use strict";var xw=xp();Ew.exports=function(n,t){return xw[n]||(xw[n]=t||{})}});var hc=st((Oj,ww)=>{"use strict";var EB=lc(),wB=Object;ww.exports=function(n){return wB(EB(n))}});var ba=st((Dj,Sw)=>{"use strict";var SB=yi(),MB=hc(),bB=SB({}.hasOwnProperty);Sw.exports=Object.hasOwn||function(t,e){return bB(MB(t),e)}});var r0=st((Fj,Mw)=>{"use strict";var AB=yi(),TB=0,CB=Math.random(),PB=AB(1 .toString);Mw.exports=function(n){return"Symbol("+(n===void 0?"":n)+")_"+PB(++TB+CB,36)}});var Os=st((Uj,Aw)=>{"use strict";var IB=so(),RB=Ep(),bw=ba(),LB=r0(),NB=Km(),OB=jm(),pc=IB.Symbol,i0=RB("wks"),DB=OB?pc.for||pc:pc&&pc.withoutSetter||LB;Aw.exports=function(n){return bw(i0,n)||(i0[n]=NB&&bw(pc,n)?pc[n]:DB("Symbol."+n)),i0[n]}});var Iw=st((Bj,Pw)=>{"use strict";var FB=Ns(),Tw=$s(),Cw=Qm(),UB=vp(),BB=pw(),zB=Os(),GB=TypeError,kB=zB("toPrimitive");Pw.exports=function(n,t){if(!Tw(n)||Cw(n))return n;var e=UB(n,kB),o;if(e){if(t===void 0&&(t="default"),o=FB(e,n,t),!Tw(o)||Cw(o))return o;throw new GB("Can't convert object to primitive value")}return t===void 0&&(t="number"),BB(n,t)}});var o0=st((zj,Rw)=>{"use strict";var qB=Iw(),HB=Qm();Rw.exports=function(n){var t=qB(n,"string");return HB(t)?t:t+""}});var wp=st((Gj,Nw)=>{"use strict";var VB=so(),Lw=$s(),s0=VB.document,WB=Lw(s0)&&Lw(s0.createElement);Nw.exports=function(n){return WB?s0.createElement(n):{}}});var a0=st((kj,Ow)=>{"use strict";var XB=Ys(),YB=mi(),$B=wp();Ow.exports=!XB&&!YB(function(){return Object.defineProperty($B("div"),"a",{get:function(){return 7}}).a!==7})});var u0=st(Fw=>{"use strict";var ZB=Ys(),JB=Ns(),KB=IE(),jB=mp(),QB=cc(),tz=o0(),ez=ba(),nz=a0(),Dw=Object.getOwnPropertyDescriptor;Fw.f=ZB?Dw:function(t,e){if(t=QB(t),e=tz(e),nz)try{return Dw(t,e)}catch(o){}if(ez(t,e))return jB(!JB(KB.f,t,e),t[e])}});var l0=st((Hj,Uw)=>{"use strict";var rz=Ys(),iz=mi();Uw.exports=rz&&iz(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Aa=st((Vj,Bw)=>{"use strict";var oz=$s(),sz=String,az=TypeError;Bw.exports=function(n){if(oz(n))return n;throw new az(sz(n)+" is not an object")}});var Ru=st(Gw=>{"use strict";var uz=Ys(),lz=a0(),cz=l0(),Sp=Aa(),zw=o0(),fz=TypeError,c0=Object.defineProperty,hz=Object.getOwnPropertyDescriptor,f0="enumerable",h0="configurable",p0="writable";Gw.f=uz?cz?function(t,e,o){if(Sp(t),e=zw(e),Sp(o),typeof t=="function"&&e==="prototype"&&"value"in o&&p0 in o&&!o[p0]){var s=hz(t,e);s&&s[p0]&&(t[e]=o.value,o={configurable:h0 in o?o[h0]:s[h0],enumerable:f0 in o?o[f0]:s[f0],writable:!1})}return c0(t,e,o)}:c0:function(t,e,o){if(Sp(t),e=zw(e),Sp(o),lz)try{return c0(t,e,o)}catch(s){}if("get"in o||"set"in o)throw new fz("Accessors not supported");return"value"in o&&(t[e]=o.value),t}});var dc=st((Xj,kw)=>{"use strict";var pz=Ys(),dz=Ru(),gz=mp();kw.exports=pz?function(n,t,e){return dz.f(n,t,gz(1,e))}:function(n,t,e){return n[t]=e,n}});var m0=st((Yj,Hw)=>{"use strict";var d0=Ys(),mz=ba(),qw=Function.prototype,yz=d0&&Object.getOwnPropertyDescriptor,g0=mz(qw,"name"),vz=g0&&function(){}.name==="something",_z=g0&&(!d0||d0&&yz(qw,"name").configurable);Hw.exports={EXISTS:g0,PROPER:vz,CONFIGURABLE:_z}});var v0=st(($j,Vw)=>{"use strict";var xz=yi(),Ez=Ui(),y0=xp(),wz=xz(Function.toString);Ez(y0.inspectSource)||(y0.inspectSource=function(n){return wz(n)});Vw.exports=y0.inspectSource});var Yw=st((Zj,Xw)=>{"use strict";var Sz=so(),Mz=Ui(),Ww=Sz.WeakMap;Xw.exports=Mz(Ww)&&/native code/.test(String(Ww))});var Mp=st((Jj,Zw)=>{"use strict";var bz=Ep(),Az=r0(),$w=bz("keys");Zw.exports=function(n){return $w[n]||($w[n]=Az(n))}});var bp=st((Kj,Jw)=>{"use strict";Jw.exports={}});var Cp=st((jj,Qw)=>{"use strict";var Tz=Yw(),jw=so(),Cz=$s(),Pz=dc(),_0=ba(),x0=xp(),Iz=Mp(),Rz=bp(),Kw="Object already initialized",E0=jw.TypeError,Lz=jw.WeakMap,Ap,Hf,Tp,Nz=function(n){return Tp(n)?Hf(n):Ap(n,{})},Oz=function(n){return function(t){var e;if(!Cz(t)||(e=Hf(t)).type!==n)throw new E0("Incompatible receiver, "+n+" required");return e}};Tz||x0.state?(Js=x0.state||(x0.state=new Lz),Js.get=Js.get,Js.has=Js.has,Js.set=Js.set,Ap=function(n,t){if(Js.has(n))throw new E0(Kw);return t.facade=n,Js.set(n,t),t},Hf=function(n){return Js.get(n)||{}},Tp=function(n){return Js.has(n)}):(El=Iz("state"),Rz[El]=!0,Ap=function(n,t){if(_0(n,El))throw new E0(Kw);return t.facade=n,Pz(n,El,t),t},Hf=function(n){return _0(n,El)?n[El]:{}},Tp=function(n){return _0(n,El)});var Js,El;Qw.exports={set:Ap,get:Hf,has:Tp,enforce:Nz,getterFor:Oz}});var rS=st((Qj,nS)=>{"use strict";var S0=yi(),Dz=mi(),Fz=Ui(),Pp=ba(),w0=Ys(),Uz=m0().CONFIGURABLE,Bz=v0(),eS=Cp(),zz=eS.enforce,Gz=eS.get,tS=String,Ip=Object.defineProperty,kz=S0("".slice),qz=S0("".replace),Hz=S0([].join),Vz=w0&&!Dz(function(){return Ip(function(){},"length",{value:8}).length!==8}),Wz=String(String).split("String"),Xz=nS.exports=function(n,t,e){kz(tS(t),0,7)==="Symbol("&&(t="["+qz(tS(t),/^Symbol\\(([^)]*)\\).*$/,"$1")+"]"),e&&e.getter&&(t="get "+t),e&&e.setter&&(t="set "+t),(!Pp(n,"name")||Uz&&n.name!==t)&&(w0?Ip(n,"name",{value:t,configurable:!0}):n.name=t),Vz&&e&&Pp(e,"arity")&&n.length!==e.arity&&Ip(n,"length",{value:e.arity});try{e&&Pp(e,"constructor")&&e.constructor?w0&&Ip(n,"prototype",{writable:!1}):n.prototype&&(n.prototype=void 0)}catch(s){}var o=zz(n);return Pp(o,"source")||(o.source=Hz(Wz,typeof t=="string"?t:"")),n};Function.prototype.toString=Xz(function(){return Fz(this)&&Gz(this).source||Bz(this)},"toString")});var Vf=st((tQ,iS)=>{"use strict";var Yz=Ui(),$z=Ru(),Zz=rS(),Jz=_p();iS.exports=function(n,t,e,o){o||(o={});var s=o.enumerable,l=o.name!==void 0?o.name:t;if(Yz(e)&&Zz(e,l,o),o.global)s?n[t]=e:Jz(t,e);else{try{o.unsafe?n[t]&&(s=!0):delete n[t]}catch(p){}s?n[t]=e:$z.f(n,t,{value:e,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return n}});var sS=st((eQ,oS)=>{"use strict";var Kz=Math.ceil,jz=Math.floor;oS.exports=Math.trunc||function(t){var e=+t;return(e>0?jz:Kz)(e)}});var wl=st((nQ,aS)=>{"use strict";var Qz=sS();aS.exports=function(n){var t=+n;return t!==t||t===0?0:Qz(t)}});var lS=st((rQ,uS)=>{"use strict";var tG=wl(),eG=Math.max,nG=Math.min;uS.exports=function(n,t){var e=tG(n);return e<0?eG(e+t,0):nG(e,t)}});var M0=st((iQ,cS)=>{"use strict";var rG=wl(),iG=Math.min;cS.exports=function(n){var t=rG(n);return t>0?iG(t,9007199254740991):0}});var Wf=st((oQ,fS)=>{"use strict";var oG=M0();fS.exports=function(n){return oG(n.length)}});var dS=st((sQ,pS)=>{"use strict";var sG=cc(),aG=lS(),uG=Wf(),hS=function(n){return function(t,e,o){var s=sG(t),l=uG(s);if(l===0)return!n&&-1;var p=aG(o,l),h;if(n&&e!==e){for(;l>p;)if(h=s[p++],h!==h)return!0}else for(;l>p;p++)if((n||p in s)&&s[p]===e)return n||p||0;return!n&&-1}};pS.exports={includes:hS(!0),indexOf:hS(!1)}});var A0=st((aQ,mS)=>{"use strict";var lG=yi(),b0=ba(),cG=cc(),fG=dS().indexOf,hG=bp(),gS=lG([].push);mS.exports=function(n,t){var e=cG(n),o=0,s=[],l;for(l in e)!b0(hG,l)&&b0(e,l)&&gS(s,l);for(;t.length>o;)b0(e,l=t[o++])&&(~fG(s,l)||gS(s,l));return s}});var Rp=st((uQ,yS)=>{"use strict";yS.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var _S=st(vS=>{"use strict";var pG=A0(),dG=Rp(),gG=dG.concat("length","prototype");vS.f=Object.getOwnPropertyNames||function(t){return pG(t,gG)}});var ES=st(xS=>{"use strict";xS.f=Object.getOwnPropertySymbols});var SS=st((fQ,wS)=>{"use strict";var mG=fc(),yG=yi(),vG=_S(),_G=ES(),xG=Aa(),EG=yG([].concat);wS.exports=mG("Reflect","ownKeys")||function(t){var e=vG.f(xG(t)),o=_G.f;return o?EG(e,o(t)):e}});var AS=st((hQ,bS)=>{"use strict";var MS=ba(),wG=SS(),SG=u0(),MG=Ru();bS.exports=function(n,t,e){for(var o=wG(t),s=MG.f,l=SG.f,p=0;p<o.length;p++){var h=o[p];!MS(n,h)&&!(e&&MS(e,h))&&s(n,h,l(t,h))}}});var CS=st((pQ,TS)=>{"use strict";var bG=mi(),AG=Ui(),TG=/#|\\.prototype\\./,Xf=function(n,t){var e=PG[CG(n)];return e===RG?!0:e===IG?!1:AG(t)?bG(t):!!t},CG=Xf.normalize=function(n){return String(n).replace(TG,".").toLowerCase()},PG=Xf.data={},IG=Xf.NATIVE="N",RG=Xf.POLYFILL="P";TS.exports=Xf});var Ds=st((dQ,PS)=>{"use strict";var Lp=so(),LG=u0().f,NG=dc(),OG=Vf(),DG=_p(),FG=AS(),UG=CS();PS.exports=function(n,t){var e=n.target,o=n.global,s=n.stat,l,p,h,g,m,v;if(o?p=Lp:s?p=Lp[e]||DG(e,{}):p=Lp[e]&&Lp[e].prototype,p)for(h in t){if(m=t[h],n.dontCallGetSet?(v=LG(p,h),g=v&&v.value):g=p[h],l=UG(o?h:e+(s?".":"#")+h,n.forced),!l&&g!==void 0){if(typeof m==typeof g)continue;FG(m,g)}(n.sham||g&&g.sham)&&NG(m,"sham",!0),OG(p,h,m,n)}}});var Np=st((gQ,IS)=>{"use strict";var BG=uc();IS.exports=Array.isArray||function(t){return BG(t)==="Array"}});var LS=st((mQ,RS)=>{"use strict";var zG=Ys(),GG=Np(),kG=TypeError,qG=Object.getOwnPropertyDescriptor,HG=zG&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(n){return n instanceof TypeError}}();RS.exports=HG?function(n,t){if(GG(n)&&!qG(n,"length").writable)throw new kG("Cannot set read only .length");return n.length=t}:function(n,t){return n.length=t}});var T0=st((yQ,NS)=>{"use strict";var VG=TypeError,WG=9007199254740991;NS.exports=function(n){if(n>WG)throw VG("Maximum allowed index exceeded");return n}});var C0=st(()=>{"use strict";var XG=Ds(),YG=hc(),$G=Wf(),ZG=LS(),JG=T0(),KG=mi(),jG=KG(function(){return[].push.call({length:4294967296},1)!==4294967297}),QG=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(n){return n instanceof TypeError}},t4=jG||!QG();XG({target:"Array",proto:!0,arity:1,forced:t4},{push:function(t){var e=YG(this),o=$G(e),s=arguments.length;JG(o+s);for(var l=0;l<s;l++)e[o]=arguments[l],o++;return ZG(e,o),o}})});var DS=st((EQ,OS)=>{"use strict";OS.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var BS=st((wQ,US)=>{"use strict";var e4=wp(),P0=e4("span").classList,FS=P0&&P0.constructor&&P0.constructor.prototype;US.exports=FS===Object.prototype?void 0:FS});var GS=st((SQ,zS)=>{"use strict";var n4=A0(),r4=Rp();zS.exports=Object.keys||function(t){return n4(t,r4)}});var qS=st(kS=>{"use strict";var i4=Ys(),o4=l0(),s4=Ru(),a4=Aa(),u4=cc(),l4=GS();kS.f=i4&&!o4?Object.defineProperties:function(t,e){a4(t);for(var o=u4(e),s=l4(e),l=s.length,p=0,h;l>p;)s4.f(t,h=s[p++],o[h]);return t}});var VS=st((bQ,HS)=>{"use strict";var c4=fc();HS.exports=c4("document","documentElement")});var Yf=st((AQ,KS)=>{"use strict";var f4=Aa(),h4=qS(),WS=Rp(),p4=bp(),d4=VS(),g4=wp(),m4=Mp(),XS=">",YS="<",R0="prototype",L0="script",ZS=m4("IE_PROTO"),I0=function(){},JS=function(n){return YS+L0+XS+n+YS+"/"+L0+XS},$S=function(n){n.write(JS("")),n.close();var t=n.parentWindow.Object;return n=null,t},y4=function(){var n=g4("iframe"),t="java"+L0+":",e;return n.style.display="none",d4.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(JS("document.F=Object")),e.close(),e.F},Op,Dp=function(){try{Op=new ActiveXObject("htmlfile")}catch(t){}Dp=typeof document!="undefined"?document.domain&&Op?$S(Op):y4():$S(Op);for(var n=WS.length;n--;)delete Dp[R0][WS[n]];return Dp()};p4[ZS]=!0;KS.exports=Object.create||function(t,e){var o;return t!==null?(I0[R0]=f4(t),o=new I0,I0[R0]=null,o[ZS]=t):o=Dp(),e===void 0?o:h4.f(o,e)}});var D0=st((TQ,jS)=>{"use strict";var v4=Os(),_4=Yf(),x4=Ru().f,N0=v4("unscopables"),O0=Array.prototype;O0[N0]===void 0&&x4(O0,N0,{configurable:!0,value:_4(null)});jS.exports=function(n){O0[N0][n]=!0}});var Fp=st((CQ,QS)=>{"use strict";QS.exports={}});var eM=st((PQ,tM)=>{"use strict";var E4=mi();tM.exports=!E4(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})});var U0=st((IQ,rM)=>{"use strict";var w4=ba(),S4=Ui(),M4=hc(),b4=Mp(),A4=eM(),nM=b4("IE_PROTO"),F0=Object,T4=F0.prototype;rM.exports=A4?F0.getPrototypeOf:function(n){var t=M4(n);if(w4(t,nM))return t[nM];var e=t.constructor;return S4(e)&&t instanceof e?e.prototype:t instanceof F0?T4:null}});var k0=st((RQ,sM)=>{"use strict";var C4=mi(),P4=Ui(),I4=$s(),R4=Yf(),iM=U0(),L4=Vf(),N4=Os(),O4=qf(),G0=N4("iterator"),oM=!1,nu,B0,z0;[].keys&&(z0=[].keys(),"next"in z0?(B0=iM(iM(z0)),B0!==Object.prototype&&(nu=B0)):oM=!0);var D4=!I4(nu)||C4(function(){var n={};return nu[G0].call(n)!==n});D4?nu={}:O4&&(nu=R4(nu));P4(nu[G0])||L4(nu,G0,function(){return this});sM.exports={IteratorPrototype:nu,BUGGY_SAFARI_ITERATORS:oM}});var Up=st((LQ,uM)=>{"use strict";var F4=Ru().f,U4=ba(),B4=Os(),aM=B4("toStringTag");uM.exports=function(n,t,e){n&&!e&&(n=n.prototype),n&&!U4(n,aM)&&F4(n,aM,{configurable:!0,value:t})}});var cM=st((NQ,lM)=>{"use strict";var z4=k0().IteratorPrototype,G4=Yf(),k4=mp(),q4=Up(),H4=Fp(),V4=function(){return this};lM.exports=function(n,t,e,o){var s=t+" Iterator";return n.prototype=G4(z4,{next:k4(+!o,e)}),q4(n,s,!1,!0),H4[s]=V4,n}});var q0=st((OQ,fM)=>{"use strict";var W4=yi(),X4=kf();fM.exports=function(n,t,e){try{return W4(X4(Object.getOwnPropertyDescriptor(n,t)[e]))}catch(o){}}});var pM=st((DQ,hM)=>{"use strict";var Y4=$s();hM.exports=function(n){return Y4(n)||n===null}});var gM=st((FQ,dM)=>{"use strict";var $4=pM(),Z4=String,J4=TypeError;dM.exports=function(n){if($4(n))return n;throw new J4("Can't set "+Z4(n)+" as a prototype")}});var yM=st((UQ,mM)=>{"use strict";var K4=q0(),j4=$s(),Q4=lc(),tk=gM();mM.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n=!1,t={},e;try{e=K4(Object.prototype,"__proto__","set"),e(t,[]),n=t instanceof Array}catch(o){}return function(s,l){return Q4(s),tk(l),j4(s)&&(n?e(s,l):s.__proto__=l),s}}():void 0)});var CM=st((BQ,TM)=>{"use strict";var ek=Ds(),nk=Ns(),Bp=qf(),bM=m0(),rk=Ui(),ik=cM(),vM=U0(),_M=yM(),ok=Up(),sk=dc(),H0=Vf(),ak=Os(),xM=Fp(),AM=k0(),uk=bM.PROPER,lk=bM.CONFIGURABLE,EM=AM.IteratorPrototype,zp=AM.BUGGY_SAFARI_ITERATORS,$f=ak("iterator"),wM="keys",Zf="values",SM="entries",MM=function(){return this};TM.exports=function(n,t,e,o,s,l,p){ik(e,t,o);var h=function(w){if(w===s&&E)return E;if(!zp&&w&&w in v)return v[w];switch(w){case wM:return function(){return new e(this,w)};case Zf:return function(){return new e(this,w)};case SM:return function(){return new e(this,w)}}return function(){return new e(this)}},g=t+" Iterator",m=!1,v=n.prototype,x=v[$f]||v["@@iterator"]||s&&v[s],E=!zp&&x||h(s),M=t==="Array"&&v.entries||x,A,I,S;if(M&&(A=vM(M.call(new n)),A!==Object.prototype&&A.next&&(!Bp&&vM(A)!==EM&&(_M?_M(A,EM):rk(A[$f])||H0(A,$f,MM)),ok(A,g,!0,!0),Bp&&(xM[g]=MM))),uk&&s===Zf&&x&&x.name!==Zf&&(!Bp&&lk?sk(v,"name",Zf):(m=!0,E=function(){return nk(x,this)})),s)if(I={values:h(Zf),keys:l?E:h(wM),entries:h(SM)},p)for(S in I)(zp||m||!(S in v))&&H0(v,S,I[S]);else ek({target:t,proto:!0,forced:zp||m},I);return(!Bp||p)&&v[$f]!==E&&H0(v,$f,E,{name:s}),xM[t]=E,I}});var IM=st((zQ,PM)=>{"use strict";PM.exports=function(n,t){return{value:n,done:t}}});var FM=st((GQ,DM)=>{"use strict";var ck=cc(),V0=D0(),RM=Fp(),NM=Cp(),fk=Ru().f,hk=CM(),Gp=IM(),pk=qf(),dk=Ys(),OM="Array Iterator",gk=NM.set,mk=NM.getterFor(OM);DM.exports=hk(Array,"Array",function(n,t){gk(this,{type:OM,target:ck(n),index:0,kind:t})},function(){var n=mk(this),t=n.target,e=n.index++;if(!t||e>=t.length)return n.target=null,Gp(void 0,!0);switch(n.kind){case"keys":return Gp(e,!1);case"values":return Gp(t[e],!1)}return Gp([e,t[e]],!1)},"values");var LM=RM.Arguments=RM.Array;V0("keys");V0("values");V0("entries");if(!pk&&dk&&LM.name!=="values")try{fk(LM,"name",{value:"values"})}catch(n){}});var Y0=st(()=>{"use strict";var UM=so(),zM=DS(),yk=BS(),Jf=FM(),BM=dc(),vk=Up(),_k=Os(),W0=_k("iterator"),X0=Jf.values,GM=function(n,t){if(n){if(n[W0]!==X0)try{BM(n,W0,X0)}catch(o){n[W0]=X0}if(vk(n,t,!0),zM[t]){for(var e in Jf)if(n[e]!==Jf[e])try{BM(n,e,Jf[e])}catch(o){n[e]=Jf[e]}}}};for(kp in zM)GM(UM[kp]&&UM[kp].prototype,kp);var kp;GM(yk,"DOMTokenList")});var HM=st((HQ,qM)=>{"use strict";var xk=Os(),Ek=xk("toStringTag"),kM={};kM[Ek]="z";qM.exports=String(kM)==="[object z]"});var $0=st((VQ,VM)=>{"use strict";var wk=HM(),Sk=Ui(),qp=uc(),Mk=Os(),bk=Mk("toStringTag"),Ak=Object,Tk=qp(function(){return arguments}())==="Arguments",Ck=function(n,t){try{return n[t]}catch(e){}};VM.exports=wk?qp:function(n){var t,e,o;return n===void 0?"Undefined":n===null?"Null":typeof(e=Ck(t=Ak(n),bk))=="string"?e:Tk?qp(t):(o=qp(t))==="Object"&&Sk(t.callee)?"Arguments":o}});var Hp=st((WQ,WM)=>{"use strict";var Pk=$0(),Ik=String;WM.exports=function(n){if(Pk(n)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return Ik(n)}});var YM=st((XQ,XM)=>{"use strict";var Rk=Aa();XM.exports=function(){var n=Rk(this),t="";return n.hasIndices&&(t+="d"),n.global&&(t+="g"),n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.dotAll&&(t+="s"),n.unicode&&(t+="u"),n.unicodeSets&&(t+="v"),n.sticky&&(t+="y"),t}});var ZM=st((YQ,$M)=>{"use strict";var Z0=mi(),Lk=so(),J0=Lk.RegExp,K0=Z0(function(){var n=J0("a","y");return n.lastIndex=2,n.exec("abcd")!==null}),Nk=K0||Z0(function(){return!J0("a","y").sticky}),Ok=K0||Z0(function(){var n=J0("^r","gy");return n.lastIndex=2,n.exec("str")!==null});$M.exports={BROKEN_CARET:Ok,MISSED_STICKY:Nk,UNSUPPORTED_Y:K0}});var KM=st(($Q,JM)=>{"use strict";var Dk=mi(),Fk=so(),Uk=Fk.RegExp;JM.exports=Dk(function(){var n=Uk(".","s");return!(n.dotAll&&n.test(\`
19754
+ `};var Cr=class extends bh{constructor(t){super({type:"ArrowLineMaterial",uniforms:Object.assign({},As.clone(Tr["custom-line"].uniforms),{map:{value:null}}),vertexShader:Tr["custom-line"].vertexShader,fragmentShader:Tr["custom-line"].fragmentShader,clipping:!0}),this.dashed=!1,Object.defineProperties(this,{map:{enumerable:!0,get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}},repeat:{enumerable:!0,get:function(){return this.uniforms.repeat.value},set:function(e){this.uniforms.repeat.value.copy(e)}},allDistance:{enumerable:!0,get:function(){return this.uniforms.allDistance.value},set:function(e){this.uniforms.allDistance.value=e}}}),this.setValues(t),this.isLineMaterial=!0}};import{LineGeometry as Rh}from"three/examples/jsm/lines/LineGeometry.js";import{Line2 as Ph}from"three/examples/jsm/lines/Line2.js";var Cs={texture_url:Mn,lineWidth:8,color:16777215},Ir=class extends Sh{registryEvent(){this.navigation.bmap.context.addEventListener("control-change",this.onControlChange),this.navigation.bmap.context.addEventListener("update",this.onUpdate),this.navigation.bmap.context.addEventListener("resize",this.onResize)}unRegistryEvent(){this.navigation.bmap.context.removeEventListener("control-change",this.onControlChange),this.navigation.bmap.context.removeEventListener("update",this.onUpdate),this.navigation.bmap.context.removeEventListener("resize",this.onResize)}getRepeat(){let{points:t,navigation:{bmap:{context:{camera:e,clientSize:{width:n,height:r}}}}}=this,i=t.map(s=>{let[u,l,c]=s;return P(new Th(u,l,c),e,n,r)}).map(s=>{let{x:u,y:l}=s;return[u,l]});return ht(i)/32}changeRepeat(){if(!this.material)return;let t=this.getRepeat();this.material.repeat=new xi(t,1)}loadTexture(t){return new Promise((e,n)=>{new Mh().load(t,e,void 0,n)})}transformPoints(t){let e=[];for(let n=0;n<t.length;n++)e.push(...t[n]);return e}updatePoints(t){if(this.points=t,this.mesh){var e,n;this.remove(this.mesh),(e=this.material)==null||e.dispose(),(n=this.geometry)==null||n.dispose()}this.geometry=new Rh,this.geometry.setPositions(t.flat(2));let r=ht(t.map(s=>{let[u,l]=s;return[u,l]})),i=this.material=new Cr({color:new wh(this.config.color),transparent:!0,resolution:new xi(this.navigation.bmap.context.clientSize.width,this.navigation.bmap.context.clientSize.height),depthTest:!0,depthWrite:!0,linewidth:this.config.lineWidth,map:this.texture,blending:Ah,repeat:new xi(this.getRepeat(),1),allDistance:r}),o=this.mesh=new Ph(this.geometry,i);return o.computeLineDistances(),o.renderOrder=9,this.add(o),o}movePath(t){this.material&&(this.material.thresholdRatio=t)}create(t){return g(this,null,function*(){if(!this.texture){let e=this.texture=yield this.loadTexture(this.config.texture_url);e.wrapS=e.wrapT=Ch}return this.updatePoints(t)})}getBoundingBox(){return this.mesh?(this.mesh.geometry.computeBoundingBox(),new Ih().copy(this.mesh.geometry.boundingBox).applyMatrix4(this.mesh.matrixWorld)):null}dispose(){var t,e,n;this.unRegistryEvent(),this.clear(),(t=this.geometry)==null||t.dispose(),(e=this.material)==null||e.dispose(),(n=this.texture)==null||n.dispose(),this.navigation=null}constructor(t,e){super(),this.navigation=t,this.mesh=null,this.geometry=null,this.material=null,this.texture=null,this.config=Cs,this.points=[],this.basicRepeat=1,this.prevCameraZoom=0,this.onControlChange=()=>{let n=this.navigation.bmap.context.camera.zoom;n!==this.prevCameraZoom&&(this.prevCameraZoom=n,this.changeRepeat())},this.onUpdate=()=>{this.texture},this.onResize=()=>{if(this.material){let{width:n,height:r}=this.navigation.bmap.context.clientSize;this.material.resolution.set(n,r)}},this.config=Object.assign({},Cs,e),this.registryEvent(),this.prevCameraZoom=this.navigation.bmap.context.camera.zoom}};import{Tween as Fh}from"@tweenjs/tween.js";import{AnimationMixer as Lh,Box3 as Nh,Object3D as Is,Vector3 as Oh,Mesh as Dh,Euler as Uh}from"three";var Rr=class extends Is{meshSetMaterial(t){t instanceof Dh&&(t.material.emissiveIntensity=.5,t.material.shininess=0,t.material.emissive=t.material.color,t.material.emissiveMap=t.material.map,t.material.transparent=!0,t.material.depthTest=!1,t.renderOrder=1e6),t.children.forEach(n=>{this.meshSetMaterial(n)})}getBaseScale(t){let{clientSize:{height:e},camera:n}=this.bmap.context,i=(n.top-n.bottom)/n.zoom/e;return this.options.size*i/this.modelMaxLength}registryEvent(){this.bmap.context.addEventListener("update",this._update),this.bmap.context.addEventListener("control-zoom-change",this._onChangeZoom)}unRegistryEvent(){this.bmap.context.removeEventListener("update",this._update),this.bmap.context.removeEventListener("control-zoom-change",this._onChangeZoom)}lookAtCamera(){if(this.model&&this.bmap&&this.bmap.context){let t=this.bmap.context.camera,e=new Uh;e.setFromQuaternion(t.quaternion,"ZYX"),this.group.rotation.copy(e)}}setClips(t){this.clearClips(),t.length&&(this.mixer=new Lh(this.model.scene),t.forEach(e=>this.mixer.clipAction(e).play()))}startClips(){var t;this.setClips(((t=this.model)==null?void 0:t.animations)||[])}clearClips(){this.mixer&&(this.mixer.stopAllAction(),this.mixer.uncacheRoot(this.mixer.getRoot()),this.mixer=null)}dispose(){this.unRegistryEvent(),this.clearClips(),this.clear(),this.model&&O(this.model.scene),this.bmap=null}constructor(t,e,n={}){super(),this.bmap=t,this.group=new Is,this.mixer=null,this.previewTime=0,this.modelMaxLength=0,this.options={size:40},this._update=()=>{let r=Date.now();if(!this.previewTime)this.previewTime=r;else{var i;let o=r-this.previewTime;this.previewTime=r,(i=this.mixer)==null||i.update(o/1e3)}this.lookAtCamera()},this._onChangeZoom=r=>{let{zoom:i}=r;var o;if(!this.model)return;let s=this.getBaseScale(this.model.scene);(o=this.model)==null||o.scene.scale.set(s,s,s)},this.options=v({},this.options,n),this.add(this.group),at.loadModel(e,!1).then(r=>{this.model=r;let o=new Nh().setFromObject(r.scene).getSize(new Oh),s=Math.max(o.x,o.y,o.z);this.modelMaxLength=s;let u=this.getBaseScale(r.scene);r.scene.scale.set(u,u,u),this.meshSetMaterial(r.scene),this.group.add(r.scene),this.setClips(r.animations),this.group.rotation.set(Math.PI/2,Math.PI,0),this.dispatchEvent({type:"loaded"})}),this.registryEvent()}};import{Vector3 as Ei}from"three";var Rs=class extends nt{registryEvent(){this.bmap.context.addEventListener("update",this.onUpdate)}pauseAnimation(){this.tweenUtil.pause()}continueAnimation(){this.tweenUtil.continue()}clearTween(){this.tweenUtil.clear(),this.bmap.context.control.enabled=!0}unRegistryEvent(){this.bmap.context.removeEventListener("update",this.onUpdate)}clearPath(){this.path&&(this.bmap.context.scene.remove(this.path),this.path.dispose(),this.path=null,this.movedDistance=0,this.clearTween()),this.startModel&&(this.startModel.visible=!1),this.translatePath=null}addPath(t){this.paths=t;let e=t.map(n=>v({},n,{points:this.translatePoints(n.points)}));if(this.clearTween(),this.movedDistance=0,this.bmap.currentBuildGround)this.renderPath(e);else{let n=()=>{this.bmap.removeEventListener("center-change",n),this.renderPath(e)};this.bmap.addEventListener("center-change",n)}this.dispatchEvent({type:"add-path",paths:t})}translatePoints(t){let[e,n]=this.bmap.buildingCenter;return t.map(r=>[r[0]-e,r[1]-n])}renderPath(t){return g(this,null,function*(){if(!t.length)return this.clearPath();let e=[];t.forEach((n,r,i)=>{let o=this.mulFloor.floors.find(s=>s.name===n.floor);e.push(...n.points.map(s=>{let[u,l]=s;return[u,l,o.position.z+o.groundMaxHeight]}))}),this.cPath=e,this.animationPathOptions={cPathIndex:0},this.path?this.path.updatePoints(e):(this.path=new Ir(this),yield this.path.create(e),this.path.position.z=.5,this.bmap.context.scene.add(this.path)),this.startModel&&(this.startModel.position.set(e[0][0],e[0][1],e[0][2]),this.startModel.visible=!0),this.dispatchEvent({type:"render-path",path:this.path})})}catmullRomCurve3(t){return dn(t,!1,!0,.1,170,2.5)}getPathDirection(t,e){if(t.length<2)return null;let n=zt(t,e),r=t[n],i=t[n+1],o=new Ei(i[0]-r[0],i[1]-r[1],0).normalize(),s=new Ei(0,1,0).normalize(),u=o.angleTo(s),l=new Ei().crossVectors(s,o);return(Object.is(l.y,0)?-1:1)*u}startSimulation(t){return g(this,null,function*(){t===void 0&&(t=1);let{paths:e,movedDistance:n}=this;if(!e.length)return;let r=e.reduce((o,s)=>o+s.distance,0);if(!r||n>=r)return;this.simulationTween&&this.tweenUtil.remove(this.simulationTween);let i=r/t;return this.startModel.startClips(),new Promise(o=>{let s=this.simulationTween=new Fh({distance:this.movedDistance},this.tweenUtil.group).to({distance:r},i*1e3).onUpdate(u=>{var l;this.movedDistance=u.distance;let c=u.distance,h=0;for(let y=0;y<e.length;y++)if(e[y].distance>=c){h=y;break}else c-=e[y].distance;let p=_e(e[h].points,c);if(p===null)return;this.currentPathPosition=p;let f=this.translatePoints([p])[0],d=this.mulFloor.floors.find(y=>y.name===e[h].floor),m=d?d.position.z+d.groundMaxHeight:(l=this.startModel)==null?void 0:l.position.z;this.startModel&&this.startModel.position.set(f[0],f[1],m)}).onComplete(()=>{this.tweenUtil.remove(s),this.startModel.clearClips(),o(!0)}).start()})})}setStartPoiRotate(t){if(this.startPoi){let n=(this.bmap.context.control.getAzimuthalAngle()*180/Math.PI+360)%360;this.startPoi.options.icon_rotate=(360-t-n)%360}}dispose(){this.path&&(this.bmap.context.scene.remove(this.path),this.path.dispose()),this.startModel&&(this.bmap.context.scene.remove(this.startModel),this.startModel.dispose()),this.tweenUtil.dispose(),this.unRegistryEvent(),super.dispose()}constructor(t,e,n={}){super(t),this.mulFloor=e,this.path=null,this.fetchRoadStatus=!1,this.paths=[],this.curFloorPath=null,this.translatePath=null,this.currentPathPosition=null,this.pathTween=null,this.startPoi=null,this.movedDistance=0,this.tweenUtil=new Qt,this.animationPathOptions={cPathIndex:0},this.cPath=[],this.onUpdate=()=>{this.tweenUtil.update()},this.startModel=new Rr(t,xo,n.startModel),this.startModel.visible=!1,this.bmap.context.scene.add(this.startModel),this.registryEvent()}};import"core-js/modules/es.array.flat.js";import"core-js/modules/es.array.unscopables.flat.js";import{Raycaster as Bh,Vector2 as zh}from"three";var Ps=class extends nt{registryEvent(){this.clickHelper.addEventListener("click",this._click)}unRegistryEvent(){this.clickHelper.removeEventListener("click",this._click)}dispose(){this.unRegistryEvent(),this.clickHelper.dispose(),this.mulFloors=null,super.dispose()}constructor(t,e){super(t),this.mulFloors=e,this._click=n=>{let{e:r}=n;if(!this.mulFloors.showStatus)return;let i=new zh,{offsetX:o,offsetY:s}=r,u=this.mulFloors.floors.map(p=>p.poiLayer2.getPoiByDeviceXy(o,s)).flat(2),{clientSize:l}=this.bmap.context;i.x=o/l.width*2-1,i.y=s/l.height*-2+1;let c=new Bh;c.setFromCamera(i,this.bmap.context.camera),c.ray.origin.sub(c.ray.direction.clone().multiplyScalar(1e4));let h=this.mulFloors.floors.map(p=>p.graphicLayer.getGraphicByRaycaster(c).graphics).flat();this.dispatchEvent({type:"select",pois:u,graphics:h})},this.clickHelper=new _n(this.bmap.context.container),this.registryEvent()}};import"core-js/modules/es.array.find-last-index.js";import"core-js/modules/es.array.find-last.js";import"core-js/modules/es.array.push.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.push.js";import"core-js/modules/es.array.sort.js";import{Vector2 as en}from"three";function Gh(a){let t=a.length,e=0,n=0,r=0,i=0;a.forEach(u=>{e+=u[0],n+=u[1],r+=u[0]*u[1],i+=u[0]*u[0]});let o=(t*r-e*n)/(t*i-e*e),s=(n-o*e)/t;return{m:o,b:s}}function kh(a,t,e){let n=e[0][0],r=e.slice(-1)[0][0],i=a*n+t,o=a*r+t;return{start:[n,i],end:[r,o]}}function Pr(a){if(a.length<2)return null;let t=a.filter((u,l)=>{let c=[...a];return c.splice(l,1),c.every(h=>h[0]!==u[0]&&h[1]!==u[1])});if(t.length<2)return null;let{m:e,b:n}=Gh(t),{start:r,end:i}=kh(e,n,t),s=360-(new en().subVectors(new en(i[0],i[1]),new en(r[0],r[1])).angle()/Math.PI*180-90+360)%360;return Number.isNaN(s)?null:s}function zM(a){let t=[];for(let e=1;e<a.length;e++){let n=a[e-1],r=a[e],i=r.position[0]-n.position[0],o=r.position[1]-n.position[1],s=Math.sqrt(i**2+o**2),u=r.time-n.time;if(u>0){let l=s/u;console.log("speedDelta",n.type,r.type,bi(l),s,u),t.push(l)}else t.push(0)}return t}function GM(a,t){let e=a[0],n=a.slice(-1)[0],r=N(n.position,e.position),i=n.time-e.time;return i<100||r<3?null:r/i}function bi(a){return a*60*60}function nn(a,t,e,n){let r=(e+90)%360*(Math.PI/180),i=t*n,o=new en(a[0],a[1]),s=Math.cos(r),u=Math.sin(r),l=new en(s,u);return o.add(l.normalize().multiplyScalar(i)),[o.x,o.y]}function kM(a){let t=[...a].sort((l,c)=>l-c),e=Ls(t,25),n=Ls(t,75),r=n-e,i=e-1.5*r,o=n+1.5*r,s=t.filter(l=>l>=i&&l<=o);return a.filter(l=>s.includes(l))}function Ls(a,t){let e=t/100*(a.length-1),n=Math.floor(e),r=Math.ceil(e);if(n===r)return a[n];let i=e-n;return a[n]*(1-i)+a[r]*i}import{isNil as Lr}from"lodash";var Nr=class extends Q{setPathAngle(t){this.pathAngle=t,this.dispatchEvent({type:"change-compass",value:this.pathAngle}),Lr(this.angle)&&(this.angle=t)}changeSpeed(){let t=this.history.filter(u=>["vision"].includes(u.type));if(t.length<2){this.speedFilter.filter(0),this.speed=0;return}let e=t[0],n=t.slice(-1)[0],r=N(n.position,e.position),i=n.time-e.time,o=i>0?r/i:0,s=this.speedFilter.filter(o);this.speed=s}changeAngle(t){t===void 0&&(t=this.visionHistory),t.length<2&&(this.angle=null);let e=Pr(t.map(n=>n.position));e!==null&&this.setAngle(e)}setAngle(t,e){e===void 0&&(e=!0),this.angle=t,e&&this.dispatchEvent({type:"change-position-compass",value:t})}setPosition(t,e,n){let r={position:t,time:e,clientTime:Date.now()-n,type:"vision"};if(this._setVisionHistoryForAngle(r),Lr(this.angle)||!this.speed){this.addHistory(r);return}let i=this.history.findLastIndex(s=>s.type==="vision"),o=this.history[i];if(o){if(o.time>e)return;let s=Pr([this.history.slice(-1)[0].position,t]);if(s&&Math.abs(s-this.angle)<60){this.addHistory(r);return}let u=nn(t,this.speed,360-this.pathAngle,n);N(u,this.history.slice(-1)[0].position)>5?this.visionExcessesCount++:this.visionExcessesCount=0,this.visionExcessesCount>3&&(console.warn("\u8FDE\u7EED\u4E09\u6B21\u89C6\u89C9\u548Cpdr\u5DEE\u8DDD\u5927\u4E8E5\u7C73\uFF0C\u4F7F\u7528\u89C6\u89C9\u6821\u51C6"),this.addHistory(r),this.visionExcessesCount=0)}}resetPdrPosition(){let t=this.history.findLast(e=>e.type==="vision");if(t&&this.speed){let e=nn(t.position,this.speed,360-this.pathAngle,Date.now()-t.clientTime);e&&this.history.push({position:e,time:Date.now(),clientTime:Date.now(),type:"pdr"})}}getLastVisionPdrPos(){let t=this.history.findLastIndex(n=>n.type==="vision");if(t!==-1){var e;return(e=this.history[t+1])!=null?e:this.history[t]}return null}_setVisionHistoryForAngle(t){if(!this.visionHistory.length){this.visionHistory.push(t);return}let e=Pr([this.visionHistory.slice(-1)[0].position,t.position]);if(e!==null&&(this.angle&&Math.abs(this.angle-e)>60?this.angleExcessesCount++:(this.angleExcessesCount=0,this.visionHistory.push(t))),this.angleExcessesCount>3)console.warn("\u8FDE\u7EED\u4E09\u6B21\u89D2\u5EA6\u6BD4\u8F83\u6B6A\uFF0C\u91CD\u65B0\u77EB\u6B63"),this.visionHistory=[t],this.angleExcessesCount=0;else{let n=N(this.visionHistory[0].position,this.visionHistory.slice(-1)[0].position);for(;n>5&&this.visionHistory.length>15;)this.visionHistory.shift(),n=N(this.visionHistory[0].position,this.visionHistory.slice(-1)[0].position)}this.changeAngle()}addHistory(t){this.history.push(t);let e=this.history.filter(s=>s.type==="vision"),n=e.length?Date.now()-e.slice(-1)[0].clientTime:0,r=N(this.history[0].position,this.history.slice(-1)[0].position),i=n>5e3?10:3,o=n>5e3?0:5;for(n>5e3&&console.warn("\u89C6\u89C9\u7ED3\u679C\u8D85\u51FA5s\u4E0D\u53EF\u7528\uFF0C\u5168\u90E8\u6E05\u7A7A");e.length>o&&r>i;)this.history.shift(),e=this.history.filter(s=>s.type==="vision"),r=N(this.history[0].position,this.history.slice(-1)[0].position);o===0?this.changeSpeed():t.type==="vision"&&this.changeSpeed(),this.changePosition(t.type)}setBeaconPosition(t,e,n){let r=Date.now()-n,i={position:t,time:e,clientTime:r,type:"beacon"},o=this.history.findLastIndex(c=>c.type!=="pdr"),s=this.history[o];if(!s){this.addHistory(i);return}if(Lr(this.pathAngle)||!this.speed){this.addHistory(i);return}if(s&&s.time>e)return;let u=nn(t,this.speed,360-this.pathAngle,n);N(u,this.history.slice(-1)[0].position)>5?this.beaconExcessesCount++:this.beaconExcessesCount=0,this.beaconExcessesCount>3&&(console.warn("\u8FDE\u7EED\u4E09\u6B21beacon\u548Cpdr\u5DEE\u8DDD\u5927\u4E8E5\u7C73\uFF0C\u4F7F\u7528beacon\u6821\u51C6"),this.addHistory(i),this.beaconExcessesCount=0)}startPositionTimer(){this.positionTimer&&this.timer.clearInterval(this.positionTimer),this.positionTimer=this.timer.setInterval(()=>{this.changePosition()},20)}stopPositionTimer(){this.positionTimer&&(this.timer.clearInterval(this.positionTimer),this.positionTimer=null)}changePosition(t){t===void 0&&(t="pdr");let e=this.getPosition(t);e.success&&(this.history.push({position:e.pos,time:Date.now(),clientTime:Date.now(),type:"pdr"}),this.speed?this.dispatchEvent({type:"change-pos",value:v({},e)}):this.dispatchEvent({type:"change-pos",value:e}))}getPosition(t){if(this.history.length===0)return{success:!1,pos:[0,0],compass:null,speed:0};let e=this.history.slice(-1)[0];if(this.history.length<2)return{success:!0,pos:e.position,compass:this.pathAngle,speed:this.speed};if(Lr(this.pathAngle)||!this.speed)return{success:!0,pos:e.position,compass:this.pathAngle,speed:this.speed};let n=e.clientTime,r=Date.now()-n;return{success:!0,pos:this.pathAngle?nn(e.position,this.speed,360-this.pathAngle,r):e.position,compass:this.pathAngle,speed:bi(this.speed)}}dispose(){this.timer.dispose()}constructor(){super(),this.history=[],this.visionHistory=[],this.speed=0,this.angle=null,this.timer=new X,this.positionTimer=null,this.speedFilter=new vn,this.visionExcessesCount=0,this.beaconExcessesCount=0,this.angleExcessesCount=0,this.pathAngle=0,this.startPositionTimer()}};import"core-js/modules/es.json.stringify.js";function Si(){let a=new Blob([`var PU=Object.create;var EE=Object.defineProperty;var IU=Object.getOwnPropertyDescriptor;var RU=Object.getOwnPropertyNames;var LU=Object.getPrototypeOf,NU=Object.prototype.hasOwnProperty;var st=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var OU=(n,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of RU(t))!NU.call(n,s)&&s!==e&&EE(n,s,{get:()=>t[s],enumerable:!(o=IU(t,s))||o.enumerable});return n};var sn=(n,t,e)=>(e=n!=null?PU(LU(n)):{},OU(t||!n||!n.__esModule?EE(e,"default",{value:n,enumerable:!0}):e,n));var ac=(n,t,e)=>new Promise((o,s)=>{var l=g=>{try{h(e.next(g))}catch(m){s(m)}},p=g=>{try{h(e.throw(g))}catch(m){s(m)}},h=g=>g.done?o(g.value):Promise.resolve(g.value).then(l,p);h((e=e.apply(n,t)).next())});var so=st((Vm,wE)=>{"use strict";var zf=function(n){return n&&n.Math===Math&&n};wE.exports=zf(typeof globalThis=="object"&&globalThis)||zf(typeof window=="object"&&window)||zf(typeof self=="object"&&self)||zf(typeof global=="object"&&global)||zf(typeof Vm=="object"&&Vm)||function(){return this}()||Function("return this")()});var mi=st((oj,SE)=>{"use strict";SE.exports=function(n){try{return!!n()}catch(t){return!0}}});var Ys=st((sj,ME)=>{"use strict";var DU=mi();ME.exports=!DU(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Gf=st((aj,bE)=>{"use strict";var FU=mi();bE.exports=!FU(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})});var Ns=st((uj,AE)=>{"use strict";var UU=Gf(),gp=Function.prototype.call;AE.exports=UU?gp.bind(gp):function(){return gp.apply(gp,arguments)}});var IE=st(PE=>{"use strict";var TE={}.propertyIsEnumerable,CE=Object.getOwnPropertyDescriptor,BU=CE&&!TE.call({1:2},1);PE.f=BU?function(t){var e=CE(this,t);return!!e&&e.enumerable}:TE});var mp=st((cj,RE)=>{"use strict";RE.exports=function(n,t){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:t}}});var yi=st((fj,OE)=>{"use strict";var LE=Gf(),NE=Function.prototype,Wm=NE.call,zU=LE&&NE.bind.bind(Wm,Wm);OE.exports=LE?zU:function(n){return function(){return Wm.apply(n,arguments)}}});var uc=st((hj,FE)=>{"use strict";var DE=yi(),GU=DE({}.toString),kU=DE("".slice);FE.exports=function(n){return kU(GU(n),8,-1)}});var BE=st((pj,UE)=>{"use strict";var qU=yi(),HU=mi(),VU=uc(),Xm=Object,WU=qU("".split);UE.exports=HU(function(){return!Xm("z").propertyIsEnumerable(0)})?function(n){return VU(n)==="String"?WU(n,""):Xm(n)}:Xm});var Ym=st((dj,zE)=>{"use strict";zE.exports=function(n){return n==null}});var lc=st((gj,GE)=>{"use strict";var XU=Ym(),YU=TypeError;GE.exports=function(n){if(XU(n))throw new YU("Can't call method on "+n);return n}});var cc=st((mj,kE)=>{"use strict";var $U=BE(),ZU=lc();kE.exports=function(n){return $U(ZU(n))}});var Ui=st((yj,qE)=>{"use strict";var $m=typeof document=="object"&&document.all;qE.exports=typeof $m=="undefined"&&$m!==void 0?function(n){return typeof n=="function"||n===$m}:function(n){return typeof n=="function"}});var $s=st((vj,HE)=>{"use strict";var JU=Ui();HE.exports=function(n){return typeof n=="object"?n!==null:JU(n)}});var fc=st((_j,VE)=>{"use strict";var Zm=so(),KU=Ui(),jU=function(n){return KU(n)?n:void 0};VE.exports=function(n,t){return arguments.length<2?jU(Zm[n]):Zm[n]&&Zm[n][t]}});var XE=st((xj,WE)=>{"use strict";var QU=yi();WE.exports=QU({}.isPrototypeOf)});var JE=st((Ej,ZE)=>{"use strict";var tB=so(),YE=tB.navigator,$E=YE&&YE.userAgent;ZE.exports=$E?String($E):""});var rw=st((wj,nw)=>{"use strict";var ew=so(),Jm=JE(),KE=ew.process,jE=ew.Deno,QE=KE&&KE.versions||jE&&jE.version,tw=QE&&QE.v8,Zs,yp;tw&&(Zs=tw.split("."),yp=Zs[0]>0&&Zs[0]<4?1:+(Zs[0]+Zs[1]));!yp&&Jm&&(Zs=Jm.match(/Edge\\/(\\d+)/),(!Zs||Zs[1]>=74)&&(Zs=Jm.match(/Chrome\\/(\\d+)/),Zs&&(yp=+Zs[1])));nw.exports=yp});var Km=st((Sj,ow)=>{"use strict";var iw=rw(),eB=mi(),nB=so(),rB=nB.String;ow.exports=!!Object.getOwnPropertySymbols&&!eB(function(){var n=Symbol("symbol detection");return!rB(n)||!(Object(n)instanceof Symbol)||!Symbol.sham&&iw&&iw<41})});var jm=st((Mj,sw)=>{"use strict";var iB=Km();sw.exports=iB&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Qm=st((bj,aw)=>{"use strict";var oB=fc(),sB=Ui(),aB=XE(),uB=jm(),lB=Object;aw.exports=uB?function(n){return typeof n=="symbol"}:function(n){var t=oB("Symbol");return sB(t)&&aB(t.prototype,lB(n))}});var lw=st((Aj,uw)=>{"use strict";var cB=String;uw.exports=function(n){try{return cB(n)}catch(t){return"Object"}}});var kf=st((Tj,cw)=>{"use strict";var fB=Ui(),hB=lw(),pB=TypeError;cw.exports=function(n){if(fB(n))return n;throw new pB(hB(n)+" is not a function")}});var vp=st((Cj,fw)=>{"use strict";var dB=kf(),gB=Ym();fw.exports=function(n,t){var e=n[t];return gB(e)?void 0:dB(e)}});var pw=st((Pj,hw)=>{"use strict";var t0=Ns(),e0=Ui(),n0=$s(),mB=TypeError;hw.exports=function(n,t){var e,o;if(t==="string"&&e0(e=n.toString)&&!n0(o=t0(e,n))||e0(e=n.valueOf)&&!n0(o=t0(e,n))||t!=="string"&&e0(e=n.toString)&&!n0(o=t0(e,n)))return o;throw new mB("Can't convert object to primitive value")}});var qf=st((Ij,dw)=>{"use strict";dw.exports=!1});var _p=st((Rj,mw)=>{"use strict";var gw=so(),yB=Object.defineProperty;mw.exports=function(n,t){try{yB(gw,n,{value:t,configurable:!0,writable:!0})}catch(e){gw[n]=t}return t}});var xp=st((Lj,_w)=>{"use strict";var vB=qf(),_B=so(),xB=_p(),yw="__core-js_shared__",vw=_w.exports=_B[yw]||xB(yw,{});(vw.versions||(vw.versions=[])).push({version:"3.42.0",mode:vB?"pure":"global",copyright:"\\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.42.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ep=st((Nj,Ew)=>{"use strict";var xw=xp();Ew.exports=function(n,t){return xw[n]||(xw[n]=t||{})}});var hc=st((Oj,ww)=>{"use strict";var EB=lc(),wB=Object;ww.exports=function(n){return wB(EB(n))}});var ba=st((Dj,Sw)=>{"use strict";var SB=yi(),MB=hc(),bB=SB({}.hasOwnProperty);Sw.exports=Object.hasOwn||function(t,e){return bB(MB(t),e)}});var r0=st((Fj,Mw)=>{"use strict";var AB=yi(),TB=0,CB=Math.random(),PB=AB(1 .toString);Mw.exports=function(n){return"Symbol("+(n===void 0?"":n)+")_"+PB(++TB+CB,36)}});var Os=st((Uj,Aw)=>{"use strict";var IB=so(),RB=Ep(),bw=ba(),LB=r0(),NB=Km(),OB=jm(),pc=IB.Symbol,i0=RB("wks"),DB=OB?pc.for||pc:pc&&pc.withoutSetter||LB;Aw.exports=function(n){return bw(i0,n)||(i0[n]=NB&&bw(pc,n)?pc[n]:DB("Symbol."+n)),i0[n]}});var Iw=st((Bj,Pw)=>{"use strict";var FB=Ns(),Tw=$s(),Cw=Qm(),UB=vp(),BB=pw(),zB=Os(),GB=TypeError,kB=zB("toPrimitive");Pw.exports=function(n,t){if(!Tw(n)||Cw(n))return n;var e=UB(n,kB),o;if(e){if(t===void 0&&(t="default"),o=FB(e,n,t),!Tw(o)||Cw(o))return o;throw new GB("Can't convert object to primitive value")}return t===void 0&&(t="number"),BB(n,t)}});var o0=st((zj,Rw)=>{"use strict";var qB=Iw(),HB=Qm();Rw.exports=function(n){var t=qB(n,"string");return HB(t)?t:t+""}});var wp=st((Gj,Nw)=>{"use strict";var VB=so(),Lw=$s(),s0=VB.document,WB=Lw(s0)&&Lw(s0.createElement);Nw.exports=function(n){return WB?s0.createElement(n):{}}});var a0=st((kj,Ow)=>{"use strict";var XB=Ys(),YB=mi(),$B=wp();Ow.exports=!XB&&!YB(function(){return Object.defineProperty($B("div"),"a",{get:function(){return 7}}).a!==7})});var u0=st(Fw=>{"use strict";var ZB=Ys(),JB=Ns(),KB=IE(),jB=mp(),QB=cc(),tz=o0(),ez=ba(),nz=a0(),Dw=Object.getOwnPropertyDescriptor;Fw.f=ZB?Dw:function(t,e){if(t=QB(t),e=tz(e),nz)try{return Dw(t,e)}catch(o){}if(ez(t,e))return jB(!JB(KB.f,t,e),t[e])}});var l0=st((Hj,Uw)=>{"use strict";var rz=Ys(),iz=mi();Uw.exports=rz&&iz(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Aa=st((Vj,Bw)=>{"use strict";var oz=$s(),sz=String,az=TypeError;Bw.exports=function(n){if(oz(n))return n;throw new az(sz(n)+" is not an object")}});var Ru=st(Gw=>{"use strict";var uz=Ys(),lz=a0(),cz=l0(),Sp=Aa(),zw=o0(),fz=TypeError,c0=Object.defineProperty,hz=Object.getOwnPropertyDescriptor,f0="enumerable",h0="configurable",p0="writable";Gw.f=uz?cz?function(t,e,o){if(Sp(t),e=zw(e),Sp(o),typeof t=="function"&&e==="prototype"&&"value"in o&&p0 in o&&!o[p0]){var s=hz(t,e);s&&s[p0]&&(t[e]=o.value,o={configurable:h0 in o?o[h0]:s[h0],enumerable:f0 in o?o[f0]:s[f0],writable:!1})}return c0(t,e,o)}:c0:function(t,e,o){if(Sp(t),e=zw(e),Sp(o),lz)try{return c0(t,e,o)}catch(s){}if("get"in o||"set"in o)throw new fz("Accessors not supported");return"value"in o&&(t[e]=o.value),t}});var dc=st((Xj,kw)=>{"use strict";var pz=Ys(),dz=Ru(),gz=mp();kw.exports=pz?function(n,t,e){return dz.f(n,t,gz(1,e))}:function(n,t,e){return n[t]=e,n}});var m0=st((Yj,Hw)=>{"use strict";var d0=Ys(),mz=ba(),qw=Function.prototype,yz=d0&&Object.getOwnPropertyDescriptor,g0=mz(qw,"name"),vz=g0&&function(){}.name==="something",_z=g0&&(!d0||d0&&yz(qw,"name").configurable);Hw.exports={EXISTS:g0,PROPER:vz,CONFIGURABLE:_z}});var v0=st(($j,Vw)=>{"use strict";var xz=yi(),Ez=Ui(),y0=xp(),wz=xz(Function.toString);Ez(y0.inspectSource)||(y0.inspectSource=function(n){return wz(n)});Vw.exports=y0.inspectSource});var Yw=st((Zj,Xw)=>{"use strict";var Sz=so(),Mz=Ui(),Ww=Sz.WeakMap;Xw.exports=Mz(Ww)&&/native code/.test(String(Ww))});var Mp=st((Jj,Zw)=>{"use strict";var bz=Ep(),Az=r0(),$w=bz("keys");Zw.exports=function(n){return $w[n]||($w[n]=Az(n))}});var bp=st((Kj,Jw)=>{"use strict";Jw.exports={}});var Cp=st((jj,Qw)=>{"use strict";var Tz=Yw(),jw=so(),Cz=$s(),Pz=dc(),_0=ba(),x0=xp(),Iz=Mp(),Rz=bp(),Kw="Object already initialized",E0=jw.TypeError,Lz=jw.WeakMap,Ap,Hf,Tp,Nz=function(n){return Tp(n)?Hf(n):Ap(n,{})},Oz=function(n){return function(t){var e;if(!Cz(t)||(e=Hf(t)).type!==n)throw new E0("Incompatible receiver, "+n+" required");return e}};Tz||x0.state?(Js=x0.state||(x0.state=new Lz),Js.get=Js.get,Js.has=Js.has,Js.set=Js.set,Ap=function(n,t){if(Js.has(n))throw new E0(Kw);return t.facade=n,Js.set(n,t),t},Hf=function(n){return Js.get(n)||{}},Tp=function(n){return Js.has(n)}):(El=Iz("state"),Rz[El]=!0,Ap=function(n,t){if(_0(n,El))throw new E0(Kw);return t.facade=n,Pz(n,El,t),t},Hf=function(n){return _0(n,El)?n[El]:{}},Tp=function(n){return _0(n,El)});var Js,El;Qw.exports={set:Ap,get:Hf,has:Tp,enforce:Nz,getterFor:Oz}});var rS=st((Qj,nS)=>{"use strict";var S0=yi(),Dz=mi(),Fz=Ui(),Pp=ba(),w0=Ys(),Uz=m0().CONFIGURABLE,Bz=v0(),eS=Cp(),zz=eS.enforce,Gz=eS.get,tS=String,Ip=Object.defineProperty,kz=S0("".slice),qz=S0("".replace),Hz=S0([].join),Vz=w0&&!Dz(function(){return Ip(function(){},"length",{value:8}).length!==8}),Wz=String(String).split("String"),Xz=nS.exports=function(n,t,e){kz(tS(t),0,7)==="Symbol("&&(t="["+qz(tS(t),/^Symbol\\(([^)]*)\\).*$/,"$1")+"]"),e&&e.getter&&(t="get "+t),e&&e.setter&&(t="set "+t),(!Pp(n,"name")||Uz&&n.name!==t)&&(w0?Ip(n,"name",{value:t,configurable:!0}):n.name=t),Vz&&e&&Pp(e,"arity")&&n.length!==e.arity&&Ip(n,"length",{value:e.arity});try{e&&Pp(e,"constructor")&&e.constructor?w0&&Ip(n,"prototype",{writable:!1}):n.prototype&&(n.prototype=void 0)}catch(s){}var o=zz(n);return Pp(o,"source")||(o.source=Hz(Wz,typeof t=="string"?t:"")),n};Function.prototype.toString=Xz(function(){return Fz(this)&&Gz(this).source||Bz(this)},"toString")});var Vf=st((tQ,iS)=>{"use strict";var Yz=Ui(),$z=Ru(),Zz=rS(),Jz=_p();iS.exports=function(n,t,e,o){o||(o={});var s=o.enumerable,l=o.name!==void 0?o.name:t;if(Yz(e)&&Zz(e,l,o),o.global)s?n[t]=e:Jz(t,e);else{try{o.unsafe?n[t]&&(s=!0):delete n[t]}catch(p){}s?n[t]=e:$z.f(n,t,{value:e,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return n}});var sS=st((eQ,oS)=>{"use strict";var Kz=Math.ceil,jz=Math.floor;oS.exports=Math.trunc||function(t){var e=+t;return(e>0?jz:Kz)(e)}});var wl=st((nQ,aS)=>{"use strict";var Qz=sS();aS.exports=function(n){var t=+n;return t!==t||t===0?0:Qz(t)}});var lS=st((rQ,uS)=>{"use strict";var tG=wl(),eG=Math.max,nG=Math.min;uS.exports=function(n,t){var e=tG(n);return e<0?eG(e+t,0):nG(e,t)}});var M0=st((iQ,cS)=>{"use strict";var rG=wl(),iG=Math.min;cS.exports=function(n){var t=rG(n);return t>0?iG(t,9007199254740991):0}});var Wf=st((oQ,fS)=>{"use strict";var oG=M0();fS.exports=function(n){return oG(n.length)}});var dS=st((sQ,pS)=>{"use strict";var sG=cc(),aG=lS(),uG=Wf(),hS=function(n){return function(t,e,o){var s=sG(t),l=uG(s);if(l===0)return!n&&-1;var p=aG(o,l),h;if(n&&e!==e){for(;l>p;)if(h=s[p++],h!==h)return!0}else for(;l>p;p++)if((n||p in s)&&s[p]===e)return n||p||0;return!n&&-1}};pS.exports={includes:hS(!0),indexOf:hS(!1)}});var A0=st((aQ,mS)=>{"use strict";var lG=yi(),b0=ba(),cG=cc(),fG=dS().indexOf,hG=bp(),gS=lG([].push);mS.exports=function(n,t){var e=cG(n),o=0,s=[],l;for(l in e)!b0(hG,l)&&b0(e,l)&&gS(s,l);for(;t.length>o;)b0(e,l=t[o++])&&(~fG(s,l)||gS(s,l));return s}});var Rp=st((uQ,yS)=>{"use strict";yS.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var _S=st(vS=>{"use strict";var pG=A0(),dG=Rp(),gG=dG.concat("length","prototype");vS.f=Object.getOwnPropertyNames||function(t){return pG(t,gG)}});var ES=st(xS=>{"use strict";xS.f=Object.getOwnPropertySymbols});var SS=st((fQ,wS)=>{"use strict";var mG=fc(),yG=yi(),vG=_S(),_G=ES(),xG=Aa(),EG=yG([].concat);wS.exports=mG("Reflect","ownKeys")||function(t){var e=vG.f(xG(t)),o=_G.f;return o?EG(e,o(t)):e}});var AS=st((hQ,bS)=>{"use strict";var MS=ba(),wG=SS(),SG=u0(),MG=Ru();bS.exports=function(n,t,e){for(var o=wG(t),s=MG.f,l=SG.f,p=0;p<o.length;p++){var h=o[p];!MS(n,h)&&!(e&&MS(e,h))&&s(n,h,l(t,h))}}});var CS=st((pQ,TS)=>{"use strict";var bG=mi(),AG=Ui(),TG=/#|\\.prototype\\./,Xf=function(n,t){var e=PG[CG(n)];return e===RG?!0:e===IG?!1:AG(t)?bG(t):!!t},CG=Xf.normalize=function(n){return String(n).replace(TG,".").toLowerCase()},PG=Xf.data={},IG=Xf.NATIVE="N",RG=Xf.POLYFILL="P";TS.exports=Xf});var Ds=st((dQ,PS)=>{"use strict";var Lp=so(),LG=u0().f,NG=dc(),OG=Vf(),DG=_p(),FG=AS(),UG=CS();PS.exports=function(n,t){var e=n.target,o=n.global,s=n.stat,l,p,h,g,m,v;if(o?p=Lp:s?p=Lp[e]||DG(e,{}):p=Lp[e]&&Lp[e].prototype,p)for(h in t){if(m=t[h],n.dontCallGetSet?(v=LG(p,h),g=v&&v.value):g=p[h],l=UG(o?h:e+(s?".":"#")+h,n.forced),!l&&g!==void 0){if(typeof m==typeof g)continue;FG(m,g)}(n.sham||g&&g.sham)&&NG(m,"sham",!0),OG(p,h,m,n)}}});var Np=st((gQ,IS)=>{"use strict";var BG=uc();IS.exports=Array.isArray||function(t){return BG(t)==="Array"}});var LS=st((mQ,RS)=>{"use strict";var zG=Ys(),GG=Np(),kG=TypeError,qG=Object.getOwnPropertyDescriptor,HG=zG&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(n){return n instanceof TypeError}}();RS.exports=HG?function(n,t){if(GG(n)&&!qG(n,"length").writable)throw new kG("Cannot set read only .length");return n.length=t}:function(n,t){return n.length=t}});var T0=st((yQ,NS)=>{"use strict";var VG=TypeError,WG=9007199254740991;NS.exports=function(n){if(n>WG)throw VG("Maximum allowed index exceeded");return n}});var C0=st(()=>{"use strict";var XG=Ds(),YG=hc(),$G=Wf(),ZG=LS(),JG=T0(),KG=mi(),jG=KG(function(){return[].push.call({length:4294967296},1)!==4294967297}),QG=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(n){return n instanceof TypeError}},t4=jG||!QG();XG({target:"Array",proto:!0,arity:1,forced:t4},{push:function(t){var e=YG(this),o=$G(e),s=arguments.length;JG(o+s);for(var l=0;l<s;l++)e[o]=arguments[l],o++;return ZG(e,o),o}})});var DS=st((EQ,OS)=>{"use strict";OS.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var BS=st((wQ,US)=>{"use strict";var e4=wp(),P0=e4("span").classList,FS=P0&&P0.constructor&&P0.constructor.prototype;US.exports=FS===Object.prototype?void 0:FS});var GS=st((SQ,zS)=>{"use strict";var n4=A0(),r4=Rp();zS.exports=Object.keys||function(t){return n4(t,r4)}});var qS=st(kS=>{"use strict";var i4=Ys(),o4=l0(),s4=Ru(),a4=Aa(),u4=cc(),l4=GS();kS.f=i4&&!o4?Object.defineProperties:function(t,e){a4(t);for(var o=u4(e),s=l4(e),l=s.length,p=0,h;l>p;)s4.f(t,h=s[p++],o[h]);return t}});var VS=st((bQ,HS)=>{"use strict";var c4=fc();HS.exports=c4("document","documentElement")});var Yf=st((AQ,KS)=>{"use strict";var f4=Aa(),h4=qS(),WS=Rp(),p4=bp(),d4=VS(),g4=wp(),m4=Mp(),XS=">",YS="<",R0="prototype",L0="script",ZS=m4("IE_PROTO"),I0=function(){},JS=function(n){return YS+L0+XS+n+YS+"/"+L0+XS},$S=function(n){n.write(JS("")),n.close();var t=n.parentWindow.Object;return n=null,t},y4=function(){var n=g4("iframe"),t="java"+L0+":",e;return n.style.display="none",d4.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(JS("document.F=Object")),e.close(),e.F},Op,Dp=function(){try{Op=new ActiveXObject("htmlfile")}catch(t){}Dp=typeof document!="undefined"?document.domain&&Op?$S(Op):y4():$S(Op);for(var n=WS.length;n--;)delete Dp[R0][WS[n]];return Dp()};p4[ZS]=!0;KS.exports=Object.create||function(t,e){var o;return t!==null?(I0[R0]=f4(t),o=new I0,I0[R0]=null,o[ZS]=t):o=Dp(),e===void 0?o:h4.f(o,e)}});var D0=st((TQ,jS)=>{"use strict";var v4=Os(),_4=Yf(),x4=Ru().f,N0=v4("unscopables"),O0=Array.prototype;O0[N0]===void 0&&x4(O0,N0,{configurable:!0,value:_4(null)});jS.exports=function(n){O0[N0][n]=!0}});var Fp=st((CQ,QS)=>{"use strict";QS.exports={}});var eM=st((PQ,tM)=>{"use strict";var E4=mi();tM.exports=!E4(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})});var U0=st((IQ,rM)=>{"use strict";var w4=ba(),S4=Ui(),M4=hc(),b4=Mp(),A4=eM(),nM=b4("IE_PROTO"),F0=Object,T4=F0.prototype;rM.exports=A4?F0.getPrototypeOf:function(n){var t=M4(n);if(w4(t,nM))return t[nM];var e=t.constructor;return S4(e)&&t instanceof e?e.prototype:t instanceof F0?T4:null}});var k0=st((RQ,sM)=>{"use strict";var C4=mi(),P4=Ui(),I4=$s(),R4=Yf(),iM=U0(),L4=Vf(),N4=Os(),O4=qf(),G0=N4("iterator"),oM=!1,nu,B0,z0;[].keys&&(z0=[].keys(),"next"in z0?(B0=iM(iM(z0)),B0!==Object.prototype&&(nu=B0)):oM=!0);var D4=!I4(nu)||C4(function(){var n={};return nu[G0].call(n)!==n});D4?nu={}:O4&&(nu=R4(nu));P4(nu[G0])||L4(nu,G0,function(){return this});sM.exports={IteratorPrototype:nu,BUGGY_SAFARI_ITERATORS:oM}});var Up=st((LQ,uM)=>{"use strict";var F4=Ru().f,U4=ba(),B4=Os(),aM=B4("toStringTag");uM.exports=function(n,t,e){n&&!e&&(n=n.prototype),n&&!U4(n,aM)&&F4(n,aM,{configurable:!0,value:t})}});var cM=st((NQ,lM)=>{"use strict";var z4=k0().IteratorPrototype,G4=Yf(),k4=mp(),q4=Up(),H4=Fp(),V4=function(){return this};lM.exports=function(n,t,e,o){var s=t+" Iterator";return n.prototype=G4(z4,{next:k4(+!o,e)}),q4(n,s,!1,!0),H4[s]=V4,n}});var q0=st((OQ,fM)=>{"use strict";var W4=yi(),X4=kf();fM.exports=function(n,t,e){try{return W4(X4(Object.getOwnPropertyDescriptor(n,t)[e]))}catch(o){}}});var pM=st((DQ,hM)=>{"use strict";var Y4=$s();hM.exports=function(n){return Y4(n)||n===null}});var gM=st((FQ,dM)=>{"use strict";var $4=pM(),Z4=String,J4=TypeError;dM.exports=function(n){if($4(n))return n;throw new J4("Can't set "+Z4(n)+" as a prototype")}});var yM=st((UQ,mM)=>{"use strict";var K4=q0(),j4=$s(),Q4=lc(),tk=gM();mM.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n=!1,t={},e;try{e=K4(Object.prototype,"__proto__","set"),e(t,[]),n=t instanceof Array}catch(o){}return function(s,l){return Q4(s),tk(l),j4(s)&&(n?e(s,l):s.__proto__=l),s}}():void 0)});var CM=st((BQ,TM)=>{"use strict";var ek=Ds(),nk=Ns(),Bp=qf(),bM=m0(),rk=Ui(),ik=cM(),vM=U0(),_M=yM(),ok=Up(),sk=dc(),H0=Vf(),ak=Os(),xM=Fp(),AM=k0(),uk=bM.PROPER,lk=bM.CONFIGURABLE,EM=AM.IteratorPrototype,zp=AM.BUGGY_SAFARI_ITERATORS,$f=ak("iterator"),wM="keys",Zf="values",SM="entries",MM=function(){return this};TM.exports=function(n,t,e,o,s,l,p){ik(e,t,o);var h=function(w){if(w===s&&E)return E;if(!zp&&w&&w in v)return v[w];switch(w){case wM:return function(){return new e(this,w)};case Zf:return function(){return new e(this,w)};case SM:return function(){return new e(this,w)}}return function(){return new e(this)}},g=t+" Iterator",m=!1,v=n.prototype,x=v[$f]||v["@@iterator"]||s&&v[s],E=!zp&&x||h(s),M=t==="Array"&&v.entries||x,A,I,S;if(M&&(A=vM(M.call(new n)),A!==Object.prototype&&A.next&&(!Bp&&vM(A)!==EM&&(_M?_M(A,EM):rk(A[$f])||H0(A,$f,MM)),ok(A,g,!0,!0),Bp&&(xM[g]=MM))),uk&&s===Zf&&x&&x.name!==Zf&&(!Bp&&lk?sk(v,"name",Zf):(m=!0,E=function(){return nk(x,this)})),s)if(I={values:h(Zf),keys:l?E:h(wM),entries:h(SM)},p)for(S in I)(zp||m||!(S in v))&&H0(v,S,I[S]);else ek({target:t,proto:!0,forced:zp||m},I);return(!Bp||p)&&v[$f]!==E&&H0(v,$f,E,{name:s}),xM[t]=E,I}});var IM=st((zQ,PM)=>{"use strict";PM.exports=function(n,t){return{value:n,done:t}}});var FM=st((GQ,DM)=>{"use strict";var ck=cc(),V0=D0(),RM=Fp(),NM=Cp(),fk=Ru().f,hk=CM(),Gp=IM(),pk=qf(),dk=Ys(),OM="Array Iterator",gk=NM.set,mk=NM.getterFor(OM);DM.exports=hk(Array,"Array",function(n,t){gk(this,{type:OM,target:ck(n),index:0,kind:t})},function(){var n=mk(this),t=n.target,e=n.index++;if(!t||e>=t.length)return n.target=null,Gp(void 0,!0);switch(n.kind){case"keys":return Gp(e,!1);case"values":return Gp(t[e],!1)}return Gp([e,t[e]],!1)},"values");var LM=RM.Arguments=RM.Array;V0("keys");V0("values");V0("entries");if(!pk&&dk&&LM.name!=="values")try{fk(LM,"name",{value:"values"})}catch(n){}});var Y0=st(()=>{"use strict";var UM=so(),zM=DS(),yk=BS(),Jf=FM(),BM=dc(),vk=Up(),_k=Os(),W0=_k("iterator"),X0=Jf.values,GM=function(n,t){if(n){if(n[W0]!==X0)try{BM(n,W0,X0)}catch(o){n[W0]=X0}if(vk(n,t,!0),zM[t]){for(var e in Jf)if(n[e]!==Jf[e])try{BM(n,e,Jf[e])}catch(o){n[e]=Jf[e]}}}};for(kp in zM)GM(UM[kp]&&UM[kp].prototype,kp);var kp;GM(yk,"DOMTokenList")});var HM=st((HQ,qM)=>{"use strict";var xk=Os(),Ek=xk("toStringTag"),kM={};kM[Ek]="z";qM.exports=String(kM)==="[object z]"});var $0=st((VQ,VM)=>{"use strict";var wk=HM(),Sk=Ui(),qp=uc(),Mk=Os(),bk=Mk("toStringTag"),Ak=Object,Tk=qp(function(){return arguments}())==="Arguments",Ck=function(n,t){try{return n[t]}catch(e){}};VM.exports=wk?qp:function(n){var t,e,o;return n===void 0?"Undefined":n===null?"Null":typeof(e=Ck(t=Ak(n),bk))=="string"?e:Tk?qp(t):(o=qp(t))==="Object"&&Sk(t.callee)?"Arguments":o}});var Hp=st((WQ,WM)=>{"use strict";var Pk=$0(),Ik=String;WM.exports=function(n){if(Pk(n)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return Ik(n)}});var YM=st((XQ,XM)=>{"use strict";var Rk=Aa();XM.exports=function(){var n=Rk(this),t="";return n.hasIndices&&(t+="d"),n.global&&(t+="g"),n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.dotAll&&(t+="s"),n.unicode&&(t+="u"),n.unicodeSets&&(t+="v"),n.sticky&&(t+="y"),t}});var ZM=st((YQ,$M)=>{"use strict";var Z0=mi(),Lk=so(),J0=Lk.RegExp,K0=Z0(function(){var n=J0("a","y");return n.lastIndex=2,n.exec("abcd")!==null}),Nk=K0||Z0(function(){return!J0("a","y").sticky}),Ok=K0||Z0(function(){var n=J0("^r","gy");return n.lastIndex=2,n.exec("str")!==null});$M.exports={BROKEN_CARET:Ok,MISSED_STICKY:Nk,UNSUPPORTED_Y:K0}});var KM=st(($Q,JM)=>{"use strict";var Dk=mi(),Fk=so(),Uk=Fk.RegExp;JM.exports=Dk(function(){var n=Uk(".","s");return!(n.dotAll&&n.test(\`
19755
19755
  \`)&&n.flags==="s")})});var QM=st((ZQ,jM)=>{"use strict";var Bk=mi(),zk=so(),Gk=zk.RegExp;jM.exports=Bk(function(){var n=Gk("(?<a>b)","g");return n.exec("b").groups.a!=="b"||"b".replace(n,"$<a>c")!=="bc"})});var Xp=st((JQ,eb)=>{"use strict";var gc=Ns(),Wp=yi(),kk=Hp(),qk=YM(),Hk=ZM(),Vk=Ep(),Wk=Yf(),Xk=Cp().get,Yk=KM(),$k=QM(),Zk=Vk("native-string-replace",String.prototype.replace),Vp=RegExp.prototype.exec,Q0=Vp,Jk=Wp("".charAt),Kk=Wp("".indexOf),jk=Wp("".replace),j0=Wp("".slice),ty=function(){var n=/a/,t=/b*/g;return gc(Vp,n,"a"),gc(Vp,t,"a"),n.lastIndex!==0||t.lastIndex!==0}(),tb=Hk.BROKEN_CARET,ey=/()??/.exec("")[1]!==void 0,Qk=ty||ey||tb||Yk||$k;Qk&&(Q0=function(t){var e=this,o=Xk(e),s=kk(t),l=o.raw,p,h,g,m,v,x,E;if(l)return l.lastIndex=e.lastIndex,p=gc(Q0,l,s),e.lastIndex=l.lastIndex,p;var M=o.groups,A=tb&&e.sticky,I=gc(qk,e),S=e.source,w=0,R=s;if(A&&(I=jk(I,"y",""),Kk(I,"g")===-1&&(I+="g"),R=j0(s,e.lastIndex),e.lastIndex>0&&(!e.multiline||e.multiline&&Jk(s,e.lastIndex-1)!==\`
19756
19756
  \`)&&(S="(?: "+S+")",R=" "+R,w++),h=new RegExp("^(?:"+S+")",I)),ey&&(h=new RegExp("^"+S+"$(?!\\\\s)",I)),ty&&(g=e.lastIndex),m=gc(Vp,A?h:e,R),A?m?(m.input=j0(m.input,w),m[0]=j0(m[0],w),m.index=e.lastIndex,e.lastIndex+=m[0].length):e.lastIndex=0:ty&&m&&(e.lastIndex=e.global?m.index+m[0].length:g),ey&&m&&m.length>1&&gc(Zk,m[0],h,function(){for(v=1;v<arguments.length-2;v++)arguments[v]===void 0&&(m[v]=void 0)}),m&&M)for(m.groups=x=Wk(null),v=0;v<M.length;v++)E=M[v],x[E[0]]=m[E[1]];return m});eb.exports=Q0});var Yp=st(()=>{"use strict";var tq=Ds(),nb=Xp();tq({target:"RegExp",proto:!0,forced:/./.exec!==nb},{exec:nb})});var Ks=st((QQ,rb)=>{"use strict";var ny=yi(),$p=Set.prototype;rb.exports={Set,add:ny($p.add),has:ny($p.has),remove:ny($p.delete),proto:$p}});var Nu=st((ttt,ib)=>{"use strict";var eq=Ks().has;ib.exports=function(n){return eq(n),n}});var Ou=st((ett,ob)=>{"use strict";var nq=Ns();ob.exports=function(n,t,e){for(var o=e?n:n.iterator,s=n.next,l,p;!(l=nq(s,o)).done;)if(p=t(l.value),p!==void 0)return p}});var mc=st((ntt,cb)=>{"use strict";var sb=yi(),rq=Ou(),ab=Ks(),iq=ab.Set,ub=ab.proto,oq=sb(ub.forEach),lb=sb(ub.keys),sq=lb(new iq).next;cb.exports=function(n,t,e){return e?rq({iterator:lb(n),next:sq},t):oq(n,t)}});var Zp=st((rtt,hb)=>{"use strict";var fb=Ks(),aq=mc(),uq=fb.Set,lq=fb.add;hb.exports=function(n){var t=new uq;return aq(n,function(e){lq(t,e)}),t}});var yc=st((itt,pb)=>{"use strict";var cq=q0(),fq=Ks();pb.exports=cq(fq.proto,"size","get")||function(n){return n.size}});var gb=st((ott,db)=>{"use strict";db.exports=function(n){return{iterator:n,next:n.next,done:!1}}});var Du=st((stt,Eb)=>{"use strict";var mb=kf(),_b=Aa(),yb=Ns(),hq=wl(),pq=gb(),vb="Invalid size",dq=RangeError,gq=TypeError,mq=Math.max,xb=function(n,t){this.set=n,this.size=mq(t,0),this.has=mb(n.has),this.keys=mb(n.keys)};xb.prototype={getIterator:function(){return pq(_b(yb(this.keys,this.set)))},includes:function(n){return yb(this.has,this.set,n)}};Eb.exports=function(n){_b(n);var t=+n.size;if(t!==t)throw new gq(vb);var e=hq(t);if(e<0)throw new dq(vb);return new xb(n,e)}});var bb=st((att,Mb)=>{"use strict";var yq=Nu(),Sb=Ks(),vq=Zp(),_q=yc(),xq=Du(),Eq=mc(),wq=Ou(),Sq=Sb.has,wb=Sb.remove;Mb.exports=function(t){var e=yq(this),o=xq(t),s=vq(e);return _q(e)<=o.size?Eq(e,function(l){o.includes(l)&&wb(s,l)}):wq(o.getIterator(),function(l){Sq(e,l)&&wb(s,l)}),s}});var Fu=st((utt,Cb)=>{"use strict";var Mq=fc(),Ab=function(n){return{size:n,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},Tb=function(n){return{size:n,has:function(){return!0},keys:function(){throw new Error("e")}}};Cb.exports=function(n,t){var e=Mq("Set");try{new e()[n](Ab(0));try{return new e()[n](Ab(-1)),!1}catch(s){if(!t)return!0;try{return new e()[n](Tb(-1/0)),!1}catch(l){var o=new e;return o.add(1),o.add(2),t(o[n](Tb(1/0)))}}}catch(s){return!1}}});var Pb=st(()=>{"use strict";var bq=Ds(),Aq=bb(),Tq=Fu(),Cq=!Tq("difference",function(n){return n.size===0});bq({target:"Set",proto:!0,real:!0,forced:Cq},{difference:Aq})});var Lb=st((ftt,Rb)=>{"use strict";var Pq=Nu(),ry=Ks(),Iq=yc(),Rq=Du(),Lq=mc(),Nq=Ou(),Oq=ry.Set,Ib=ry.add,Dq=ry.has;Rb.exports=function(t){var e=Pq(this),o=Rq(t),s=new Oq;return Iq(e)>o.size?Nq(o.getIterator(),function(l){Dq(e,l)&&Ib(s,l)}):Lq(e,function(l){o.includes(l)&&Ib(s,l)}),s}});var Nb=st(()=>{"use strict";var Fq=Ds(),Uq=mi(),Bq=Lb(),zq=Fu(),Gq=!zq("intersection",function(n){return n.size===2&&n.has(1)&&n.has(2)})||Uq(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});Fq({target:"Set",proto:!0,real:!0,forced:Gq},{intersection:Bq})});var iy=st((dtt,Db)=>{"use strict";var kq=Ns(),Ob=Aa(),qq=vp();Db.exports=function(n,t,e){var o,s;Ob(n);try{if(o=qq(n,"return"),!o){if(t==="throw")throw e;return e}o=kq(o,n)}catch(l){s=!0,o=l}if(t==="throw")throw e;if(s)throw o;return Ob(o),e}});var Ub=st((gtt,Fb)=>{"use strict";var Hq=Nu(),Vq=Ks().has,Wq=yc(),Xq=Du(),Yq=mc(),$q=Ou(),Zq=iy();Fb.exports=function(t){var e=Hq(this),o=Xq(t);if(Wq(e)<=o.size)return Yq(e,function(l){if(o.includes(l))return!1},!0)!==!1;var s=o.getIterator();return $q(s,function(l){if(Vq(e,l))return Zq(s,"normal",!1)})!==!1}});var Bb=st(()=>{"use strict";var Jq=Ds(),Kq=Ub(),jq=Fu(),Qq=!jq("isDisjointFrom",function(n){return!n});Jq({target:"Set",proto:!0,real:!0,forced:Qq},{isDisjointFrom:Kq})});var Gb=st((vtt,zb)=>{"use strict";var t5=Nu(),e5=yc(),n5=mc(),r5=Du();zb.exports=function(t){var e=t5(this),o=r5(t);return e5(e)>o.size?!1:n5(e,function(s){if(!o.includes(s))return!1},!0)!==!1}});var kb=st(()=>{"use strict";var i5=Ds(),o5=Gb(),s5=Fu(),a5=!s5("isSubsetOf",function(n){return n});i5({target:"Set",proto:!0,real:!0,forced:a5},{isSubsetOf:o5})});var Hb=st((Ett,qb)=>{"use strict";var u5=Nu(),l5=Ks().has,c5=yc(),f5=Du(),h5=Ou(),p5=iy();qb.exports=function(t){var e=u5(this),o=f5(t);if(c5(e)<o.size)return!1;var s=o.getIterator();return h5(s,function(l){if(!l5(e,l))return p5(s,"normal",!1)})!==!1}});var Vb=st(()=>{"use strict";var d5=Ds(),g5=Hb(),m5=Fu(),y5=!m5("isSupersetOf",function(n){return!n});d5({target:"Set",proto:!0,real:!0,forced:y5},{isSupersetOf:g5})});var Xb=st((Mtt,Wb)=>{"use strict";var v5=Nu(),oy=Ks(),_5=Zp(),x5=Du(),E5=Ou(),w5=oy.add,S5=oy.has,M5=oy.remove;Wb.exports=function(t){var e=v5(this),o=x5(t).getIterator(),s=_5(e);return E5(o,function(l){S5(e,l)?M5(s,l):w5(s,l)}),s}});var Yb=st(()=>{"use strict";var b5=Ds(),A5=Xb(),T5=Fu();b5({target:"Set",proto:!0,real:!0,forced:!T5("symmetricDifference")},{symmetricDifference:A5})});var Zb=st((Ttt,$b)=>{"use strict";var C5=Nu(),P5=Ks().add,I5=Zp(),R5=Du(),L5=Ou();$b.exports=function(t){var e=C5(this),o=R5(t).getIterator(),s=I5(e);return L5(o,function(l){P5(s,l)}),s}});var Jb=st(()=>{"use strict";var N5=Ds(),O5=Zb(),D5=Fu();N5({target:"Set",proto:!0,real:!0,forced:!D5("union")},{union:O5})});var jb=st((Itt,Kb)=>{"use strict";var F5=uc(),U5=yi();Kb.exports=function(n){if(F5(n)==="Function")return U5(n)}});var eA=st((Rtt,tA)=>{"use strict";var Qb=jb(),B5=kf(),z5=Gf(),G5=Qb(Qb.bind);tA.exports=function(n,t){return B5(n),t===void 0?n:z5?G5(n,t):function(){return n.apply(t,arguments)}}});var iA=st((Ltt,rA)=>{"use strict";var k5=Np(),q5=Wf(),H5=T0(),V5=eA(),nA=function(n,t,e,o,s,l,p,h){for(var g=s,m=0,v=p?V5(p,h):!1,x,E;m<o;)m in e&&(x=v?v(e[m],m,t):e[m],l>0&&k5(x)?(E=q5(x),g=nA(n,t,x,E,g,l-1)-1):(H5(g+1),n[g]=x),g++),m++;return g};rA.exports=nA});var cA=st((Ntt,lA)=>{"use strict";var W5=yi(),X5=mi(),oA=Ui(),Y5=$0(),$5=fc(),Z5=v0(),sA=function(){},aA=$5("Reflect","construct"),sy=/^\\s*(?:class|function)\\b/,J5=W5(sy.exec),K5=!sy.test(sA),Kf=function(t){if(!oA(t))return!1;try{return aA(sA,[],t),!0}catch(e){return!1}},uA=function(t){if(!oA(t))return!1;switch(Y5(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return K5||!!J5(sy,Z5(t))}catch(e){return!0}};uA.sham=!0;lA.exports=!aA||X5(function(){var n;return Kf(Kf.call)||!Kf(Object)||!Kf(function(){n=!0})||n})?uA:Kf});var dA=st((Ott,pA)=>{"use strict";var fA=Np(),j5=cA(),Q5=$s(),tH=Os(),eH=tH("species"),hA=Array;pA.exports=function(n){var t;return fA(n)&&(t=n.constructor,j5(t)&&(t===hA||fA(t.prototype))?t=void 0:Q5(t)&&(t=t[eH],t===null&&(t=void 0))),t===void 0?hA:t}});var mA=st((Dtt,gA)=>{"use strict";var nH=dA();gA.exports=function(n,t){return new(nH(n))(t===0?0:t)}});var yA=st(()=>{"use strict";var rH=Ds(),iH=iA(),oH=hc(),sH=Wf(),aH=wl(),uH=mA();rH({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=oH(this),o=sH(e),s=uH(e,0);return s.length=iH(s,e,e,o,0,t===void 0?1:aH(t)),s}})});var vA=st(()=>{"use strict";var lH=D0();lH("flat")});var xA=st((Gtt,_A)=>{var ay=class{constructor(){this.keys=new Set,this.queue=[]}sort(){this.queue.sort((t,e)=>t.priority-e.priority)}set(t,e){let o=Number(e);if(isNaN(o))throw new TypeError('"priority" must be a number');return this.keys.has(t)?this.queue.map(s=>(s.key===t&&Object.assign(s,{priority:o}),s)):(this.keys.add(t),this.queue.push({key:t,priority:o})),this.sort(),this.queue.length}next(){let t=this.queue.shift();return this.keys.delete(t.key),t}isEmpty(){return this.queue.length===0}has(t){return this.keys.has(t)}get(t){return this.queue.find(e=>e.key===t)}};_A.exports=ay});var SA=st((ktt,wA)=>{function EA(n,t){let e=new Map;for(let[o,s]of n)o!==t&&s instanceof Map?e.set(o,EA(s,t)):o!==t&&e.set(o,s);return e}wA.exports=EA});var AA=st((qtt,bA)=>{function cH(n){let t=Number(n);return!(isNaN(t)||t<=0)}function MA(n){let t=new Map;return Object.keys(n).forEach(o=>{let s=n[o];if(s!==null&&typeof s=="object"&&!Array.isArray(s))return t.set(o,MA(s));if(!cH(s))throw new Error(\`Could not add node at key "\${o}", make sure it's a valid node\`,s);return t.set(o,Number(s))}),t}bA.exports=MA});var PA=st((Htt,CA)=>{function TA(n){if(!(n instanceof Map))throw new Error(\`Invalid graph: Expected Map instead found \${typeof n}\`);n.forEach((t,e)=>{if(typeof t=="object"&&t instanceof Map){TA(t);return}if(typeof t!="number"||t<=0)throw new Error(\`Values must be numbers greater than 0. Found value \${t} at \${e}\`)})}CA.exports=TA});var NA=st((Vtt,LA)=>{var fH=xA(),hH=SA(),IA=AA(),RA=PA(),uy=class{constructor(t){t instanceof Map?(RA(t),this.graph=t):t?this.graph=IA(t):this.graph=new Map}addNode(t,e){let o;return e instanceof Map?(RA(e),o=e):o=IA(e),this.graph.set(t,o),this}addVertex(t,e){return this.addNode(t,e)}removeNode(t){return this.graph=hH(this.graph,t),this}path(t,e,o={}){if(!this.graph.size)return o.cost?{path:null,cost:0}:null;let s=new Set,l=new fH,p=new Map,h=[],g=0,m=[];if(o.avoid&&(m=[].concat(o.avoid)),m.includes(t))throw new Error(\`Starting node (\${t}) cannot be avoided\`);if(m.includes(e))throw new Error(\`Ending node (\${e}) cannot be avoided\`);for(l.set(t,0);!l.isEmpty();){let v=l.next();if(v.key===e){g=v.priority;let E=v.key;for(;p.has(E);)h.push(E),E=p.get(E);break}s.add(v.key),(this.graph.get(v.key)||new Map).forEach((E,M)=>{if(s.has(M)||m.includes(M))return null;if(!l.has(M))return p.set(M,v.key),l.set(M,v.priority+E);let A=l.get(M).priority,I=v.priority+E;return I<A?(p.set(M,v.key),l.set(M,I)):null})}return h.length?(o.trim?h.shift():h=h.concat([t]),o.reverse||(h=h.reverse()),o.cost?{path:h,cost:g}:h):o.cost?{path:null,cost:0}:null}shortestPath(...t){return this.path(...t)}};LA.exports=uy});var Xd=st((net,PC)=>{"use strict";var CC=Object.getOwnPropertySymbols,MX=Object.prototype.hasOwnProperty,bX=Object.prototype.propertyIsEnumerable;function AX(n){if(n==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function TX(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;for(var t={},e=0;e<10;e++)t["_"+String.fromCharCode(e)]=e;var o=Object.getOwnPropertyNames(t).map(function(l){return t[l]});if(o.join("")!=="0123456789")return!1;var s={};return"abcdefghijklmnopqrst".split("").forEach(function(l){s[l]=l}),Object.keys(Object.assign({},s)).join("")==="abcdefghijklmnopqrst"}catch(l){return!1}}PC.exports=TX()?Object.assign:function(n,t){for(var e,o=AX(n),s,l=1;l<arguments.length;l++){e=Object(arguments[l]);for(var p in e)MX.call(e,p)&&(o[p]=e[p]);if(CC){s=CC(e);for(var h=0;h<s.length;h++)bX.call(e,s[h])&&(o[s[h]]=e[s[h]])}}return o}});var qv=st((Gv,kv)=>{(function(n,t){typeof Gv=="object"&&typeof kv!="undefined"?kv.exports=t():typeof define=="function"&&define.amd?define(t):(n=n||self).RBush=t()})(Gv,function(){"use strict";function n(S,w,R,C,F){(function V(X,q,D,xt,B){for(;xt>D;){if(xt-D>600){var j=xt-D+1,J=q-D+1,Dt=Math.log(j),Q=.5*Math.exp(2*Dt/3),At=.5*Math.sqrt(Dt*Q*(j-Q)/j)*(J-j/2<0?-1:1),Mt=Math.max(D,Math.floor(q-J*Q/j+At)),Lt=Math.min(xt,Math.floor(q+(j-J)*Q/j+At));V(X,q,Mt,Lt,B)}var pt=X[q],yt=D,K=xt;for(t(X,D,q),B(X[xt],pt)>0&&t(X,D,xt);yt<K;){for(t(X,yt,K),yt++,K--;B(X[yt],pt)<0;)yt++;for(;B(X[K],pt)>0;)K--}B(X[D],pt)===0?t(X,D,K):t(X,++K,xt),K<=q&&(D=K+1),q<=K&&(xt=K-1)}})(S,w,R||0,C||S.length-1,F||e)}function t(S,w,R){var C=S[w];S[w]=S[R],S[R]=C}function e(S,w){return S<w?-1:S>w?1:0}var o=function(S){S===void 0&&(S=9),this._maxEntries=Math.max(4,S),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function s(S,w,R){if(!R)return w.indexOf(S);for(var C=0;C<w.length;C++)if(R(S,w[C]))return C;return-1}function l(S,w){p(S,0,S.children.length,w,S)}function p(S,w,R,C,F){F||(F=A(null)),F.minX=1/0,F.minY=1/0,F.maxX=-1/0,F.maxY=-1/0;for(var V=w;V<R;V++){var X=S.children[V];h(F,S.leaf?C(X):X)}return F}function h(S,w){return S.minX=Math.min(S.minX,w.minX),S.minY=Math.min(S.minY,w.minY),S.maxX=Math.max(S.maxX,w.maxX),S.maxY=Math.max(S.maxY,w.maxY),S}function g(S,w){return S.minX-w.minX}function m(S,w){return S.minY-w.minY}function v(S){return(S.maxX-S.minX)*(S.maxY-S.minY)}function x(S){return S.maxX-S.minX+(S.maxY-S.minY)}function E(S,w){return S.minX<=w.minX&&S.minY<=w.minY&&w.maxX<=S.maxX&&w.maxY<=S.maxY}function M(S,w){return w.minX<=S.maxX&&w.minY<=S.maxY&&w.maxX>=S.minX&&w.maxY>=S.minY}function A(S){return{children:S,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function I(S,w,R,C,F){for(var V=[w,R];V.length;)if(!((R=V.pop())-(w=V.pop())<=C)){var X=w+Math.ceil((R-w)/C/2)*C;n(S,X,w,R,F),V.push(w,X,X,R)}}return o.prototype.all=function(){return this._all(this.data,[])},o.prototype.search=function(S){var w=this.data,R=[];if(!M(S,w))return R;for(var C=this.toBBox,F=[];w;){for(var V=0;V<w.children.length;V++){var X=w.children[V],q=w.leaf?C(X):X;M(S,q)&&(w.leaf?R.push(X):E(S,q)?this._all(X,R):F.push(X))}w=F.pop()}return R},o.prototype.collides=function(S){var w=this.data;if(!M(S,w))return!1;for(var R=[];w;){for(var C=0;C<w.children.length;C++){var F=w.children[C],V=w.leaf?this.toBBox(F):F;if(M(S,V)){if(w.leaf||E(S,V))return!0;R.push(F)}}w=R.pop()}return!1},o.prototype.load=function(S){if(!S||!S.length)return this;if(S.length<this._minEntries){for(var w=0;w<S.length;w++)this.insert(S[w]);return this}var R=this._build(S.slice(),0,S.length-1,0);if(this.data.children.length)if(this.data.height===R.height)this._splitRoot(this.data,R);else{if(this.data.height<R.height){var C=this.data;this.data=R,R=C}this._insert(R,this.data.height-R.height-1,!0)}else this.data=R;return this},o.prototype.insert=function(S){return S&&this._insert(S,this.data.height-1),this},o.prototype.clear=function(){return this.data=A([]),this},o.prototype.remove=function(S,w){if(!S)return this;for(var R,C,F,V=this.data,X=this.toBBox(S),q=[],D=[];V||q.length;){if(V||(V=q.pop(),C=q[q.length-1],R=D.pop(),F=!0),V.leaf){var xt=s(S,V.children,w);if(xt!==-1)return V.children.splice(xt,1),q.push(V),this._condense(q),this}F||V.leaf||!E(V,X)?C?(R++,V=C.children[R],F=!1):V=null:(q.push(V),D.push(R),R=0,C=V,V=V.children[0])}return this},o.prototype.toBBox=function(S){return S},o.prototype.compareMinX=function(S,w){return S.minX-w.minX},o.prototype.compareMinY=function(S,w){return S.minY-w.minY},o.prototype.toJSON=function(){return this.data},o.prototype.fromJSON=function(S){return this.data=S,this},o.prototype._all=function(S,w){for(var R=[];S;)S.leaf?w.push.apply(w,S.children):R.push.apply(R,S.children),S=R.pop();return w},o.prototype._build=function(S,w,R,C){var F,V=R-w+1,X=this._maxEntries;if(V<=X)return l(F=A(S.slice(w,R+1)),this.toBBox),F;C||(C=Math.ceil(Math.log(V)/Math.log(X)),X=Math.ceil(V/Math.pow(X,C-1))),(F=A([])).leaf=!1,F.height=C;var q=Math.ceil(V/X),D=q*Math.ceil(Math.sqrt(X));I(S,w,R,D,this.compareMinX);for(var xt=w;xt<=R;xt+=D){var B=Math.min(xt+D-1,R);I(S,xt,B,q,this.compareMinY);for(var j=xt;j<=B;j+=q){var J=Math.min(j+q-1,B);F.children.push(this._build(S,j,J,C-1))}}return l(F,this.toBBox),F},o.prototype._chooseSubtree=function(S,w,R,C){for(;C.push(w),!w.leaf&&C.length-1!==R;){for(var F=1/0,V=1/0,X=void 0,q=0;q<w.children.length;q++){var D=w.children[q],xt=v(D),B=(j=S,J=D,(Math.max(J.maxX,j.maxX)-Math.min(J.minX,j.minX))*(Math.max(J.maxY,j.maxY)-Math.min(J.minY,j.minY))-xt);B<V?(V=B,F=xt<F?xt:F,X=D):B===V&&xt<F&&(F=xt,X=D)}w=X||w.children[0]}var j,J;return w},o.prototype._insert=function(S,w,R){var C=R?S:this.toBBox(S),F=[],V=this._chooseSubtree(C,this.data,w,F);for(V.children.push(S),h(V,C);w>=0&&F[w].children.length>this._maxEntries;)this._split(F,w),w--;this._adjustParentBBoxes(C,F,w)},o.prototype._split=function(S,w){var R=S[w],C=R.children.length,F=this._minEntries;this._chooseSplitAxis(R,F,C);var V=this._chooseSplitIndex(R,F,C),X=A(R.children.splice(V,R.children.length-V));X.height=R.height,X.leaf=R.leaf,l(R,this.toBBox),l(X,this.toBBox),w?S[w-1].children.push(X):this._splitRoot(R,X)},o.prototype._splitRoot=function(S,w){this.data=A([S,w]),this.data.height=S.height+1,this.data.leaf=!1,l(this.data,this.toBBox)},o.prototype._chooseSplitIndex=function(S,w,R){for(var C,F,V,X,q,D,xt,B=1/0,j=1/0,J=w;J<=R-w;J++){var Dt=p(S,0,J,this.toBBox),Q=p(S,J,R,this.toBBox),At=(F=Dt,V=Q,X=void 0,q=void 0,D=void 0,xt=void 0,X=Math.max(F.minX,V.minX),q=Math.max(F.minY,V.minY),D=Math.min(F.maxX,V.maxX),xt=Math.min(F.maxY,V.maxY),Math.max(0,D-X)*Math.max(0,xt-q)),Mt=v(Dt)+v(Q);At<B?(B=At,C=J,j=Mt<j?Mt:j):At===B&&Mt<j&&(j=Mt,C=J)}return C||R-w},o.prototype._chooseSplitAxis=function(S,w,R){var C=S.leaf?this.compareMinX:g,F=S.leaf?this.compareMinY:m;this._allDistMargin(S,w,R,C)<this._allDistMargin(S,w,R,F)&&S.children.sort(C)},o.prototype._allDistMargin=function(S,w,R,C){S.children.sort(C);for(var F=this.toBBox,V=p(S,0,w,F),X=p(S,R-w,R,F),q=x(V)+x(X),D=w;D<R-w;D++){var xt=S.children[D];h(V,S.leaf?F(xt):xt),q+=x(V)}for(var B=R-w-1;B>=w;B--){var j=S.children[B];h(X,S.leaf?F(j):j),q+=x(X)}return q},o.prototype._adjustParentBBoxes=function(S,w,R){for(var C=R;C>=0;C--)h(w[C],S)},o.prototype._condense=function(S){for(var w=S.length-1,R=void 0;w>=0;w--)S[w].children.length===0?w>0?(R=S[w-1].children).splice(R.indexOf(S[w]),1):this.clear():l(S[w],this.toBBox)},o})});var IC=st((Hv,Vv)=>{(function(n,t){typeof Hv=="object"&&typeof Vv!="undefined"?Vv.exports=t():typeof define=="function"&&define.amd?define(t):(n=n||self,n.TinyQueue=t())})(Hv,function(){"use strict";var n=function(o,s){if(o===void 0&&(o=[]),s===void 0&&(s=t),this.data=o,this.length=this.data.length,this.compare=s,this.length>0)for(var l=(this.length>>1)-1;l>=0;l--)this._down(l)};n.prototype.push=function(o){this.data.push(o),this.length++,this._up(this.length-1)},n.prototype.pop=function(){if(this.length!==0){var o=this.data[0],s=this.data.pop();return this.length--,this.length>0&&(this.data[0]=s,this._down(0)),o}},n.prototype.peek=function(){return this.data[0]},n.prototype._up=function(o){for(var s=this,l=s.data,p=s.compare,h=l[o];o>0;){var g=o-1>>1,m=l[g];if(p(h,m)>=0)break;l[o]=m,o=g}l[o]=h},n.prototype._down=function(o){for(var s=this,l=s.data,p=s.compare,h=this.length>>1,g=l[o];o<h;){var m=(o<<1)+1,v=l[m],x=m+1;if(x<this.length&&p(l[x],v)<0&&(m=x,v=l[x]),p(v,g)>=0)break;l[o]=v,o=m}l[o]=g};function t(e,o){return e<o?-1:e>o?1:0}return n})});var LC=st((uet,RC)=>{RC.exports=function(t,e,o,s){var l=t[0],p=t[1],h=!1;o===void 0&&(o=0),s===void 0&&(s=e.length);for(var g=(s-o)/2,m=0,v=g-1;m<g;v=m++){var x=e[o+m*2+0],E=e[o+m*2+1],M=e[o+v*2+0],A=e[o+v*2+1],I=E>p!=A>p&&l<(M-x)*(p-E)/(A-E)+x;I&&(h=!h)}return h}});var OC=st((cet,NC)=>{NC.exports=function(t,e,o,s){var l=t[0],p=t[1],h=!1;o===void 0&&(o=0),s===void 0&&(s=e.length);for(var g=s-o,m=0,v=g-1;m<g;v=m++){var x=e[m+o][0],E=e[m+o][1],M=e[v+o][0],A=e[v+o][1],I=E>p!=A>p&&l<(M-x)*(p-E)/(A-E)+x;I&&(h=!h)}return h}});var UC=st((fet,Zd)=>{var DC=LC(),FC=OC();Zd.exports=function(t,e,o,s){return e.length>0&&Array.isArray(e[0])?FC(t,e,o,s):DC(t,e,o,s)};Zd.exports.nested=FC;Zd.exports.flat=DC});var zC=st((Jd,BC)=>{(function(n,t){typeof Jd=="object"&&typeof BC!="undefined"?t(Jd):typeof define=="function"&&define.amd?define(["exports"],t):t((n=n||self).predicates={})})(Jd,function(n){"use strict";let e=33306690738754706e-32;function o(M,A,I,S,w){let R,C,F,V,X=A[0],q=S[0],D=0,xt=0;q>X==q>-X?(R=X,X=A[++D]):(R=q,q=S[++xt]);let B=0;if(D<M&&xt<I)for(q>X==q>-X?(F=R-((C=X+R)-X),X=A[++D]):(F=R-((C=q+R)-q),q=S[++xt]),R=C,F!==0&&(w[B++]=F);D<M&&xt<I;)q>X==q>-X?(F=R-((C=R+X)-(V=C-R))+(X-V),X=A[++D]):(F=R-((C=R+q)-(V=C-R))+(q-V),q=S[++xt]),R=C,F!==0&&(w[B++]=F);for(;D<M;)F=R-((C=R+X)-(V=C-R))+(X-V),X=A[++D],R=C,F!==0&&(w[B++]=F);for(;xt<I;)F=R-((C=R+q)-(V=C-R))+(q-V),q=S[++xt],R=C,F!==0&&(w[B++]=F);return R===0&&B!==0||(w[B++]=R),B}function s(M){return new Float64Array(M)}let l=33306690738754716e-32,p=22204460492503146e-32,h=11093356479670487e-47,g=s(4),m=s(8),v=s(12),x=s(16),E=s(4);n.orient2d=function(M,A,I,S,w,R){let C=(A-R)*(I-w),F=(M-w)*(S-R),V=C-F;if(C===0||F===0||C>0!=F>0)return V;let X=Math.abs(C+F);return Math.abs(V)>=l*X?V:-function(q,D,xt,B,j,J,Dt){let Q,At,Mt,Lt,pt,yt,K,Bt,Gt,ae,ut,Ut,jt,ce,te,$t,qt,xe,ft=q-j,We=xt-j,ee=D-J,ge=B-J;pt=(te=(Bt=ft-(K=(yt=134217729*ft)-(yt-ft)))*(ae=ge-(Gt=(yt=134217729*ge)-(yt-ge)))-((ce=ft*ge)-K*Gt-Bt*Gt-K*ae))-(ut=te-(qt=(Bt=ee-(K=(yt=134217729*ee)-(yt-ee)))*(ae=We-(Gt=(yt=134217729*We)-(yt-We)))-(($t=ee*We)-K*Gt-Bt*Gt-K*ae))),g[0]=te-(ut+pt)+(pt-qt),pt=(jt=ce-((Ut=ce+ut)-(pt=Ut-ce))+(ut-pt))-(ut=jt-$t),g[1]=jt-(ut+pt)+(pt-$t),pt=(xe=Ut+ut)-Ut,g[2]=Ut-(xe-pt)+(ut-pt),g[3]=xe;let fe=function(tt,z){let Pt=z[0];for(let Ot=1;Ot<tt;Ot++)Pt+=z[Ot];return Pt}(4,g),Te=p*Dt;if(fe>=Te||-fe>=Te||(Q=q-(ft+(pt=q-ft))+(pt-j),Mt=xt-(We+(pt=xt-We))+(pt-j),At=D-(ee+(pt=D-ee))+(pt-J),Lt=B-(ge+(pt=B-ge))+(pt-J),Q===0&&At===0&&Mt===0&&Lt===0)||(Te=h*Dt+e*Math.abs(fe),(fe+=ft*Lt+ge*Q-(ee*Mt+We*At))>=Te||-fe>=Te))return fe;pt=(te=(Bt=Q-(K=(yt=134217729*Q)-(yt-Q)))*(ae=ge-(Gt=(yt=134217729*ge)-(yt-ge)))-((ce=Q*ge)-K*Gt-Bt*Gt-K*ae))-(ut=te-(qt=(Bt=At-(K=(yt=134217729*At)-(yt-At)))*(ae=We-(Gt=(yt=134217729*We)-(yt-We)))-(($t=At*We)-K*Gt-Bt*Gt-K*ae))),E[0]=te-(ut+pt)+(pt-qt),pt=(jt=ce-((Ut=ce+ut)-(pt=Ut-ce))+(ut-pt))-(ut=jt-$t),E[1]=jt-(ut+pt)+(pt-$t),pt=(xe=Ut+ut)-Ut,E[2]=Ut-(xe-pt)+(ut-pt),E[3]=xe;let be=o(4,g,4,E,m);pt=(te=(Bt=ft-(K=(yt=134217729*ft)-(yt-ft)))*(ae=Lt-(Gt=(yt=134217729*Lt)-(yt-Lt)))-((ce=ft*Lt)-K*Gt-Bt*Gt-K*ae))-(ut=te-(qt=(Bt=ee-(K=(yt=134217729*ee)-(yt-ee)))*(ae=Mt-(Gt=(yt=134217729*Mt)-(yt-Mt)))-(($t=ee*Mt)-K*Gt-Bt*Gt-K*ae))),E[0]=te-(ut+pt)+(pt-qt),pt=(jt=ce-((Ut=ce+ut)-(pt=Ut-ce))+(ut-pt))-(ut=jt-$t),E[1]=jt-(ut+pt)+(pt-$t),pt=(xe=Ut+ut)-Ut,E[2]=Ut-(xe-pt)+(ut-pt),E[3]=xe;let Wt=o(be,m,4,E,v);pt=(te=(Bt=Q-(K=(yt=134217729*Q)-(yt-Q)))*(ae=Lt-(Gt=(yt=134217729*Lt)-(yt-Lt)))-((ce=Q*Lt)-K*Gt-Bt*Gt-K*ae))-(ut=te-(qt=(Bt=At-(K=(yt=134217729*At)-(yt-At)))*(ae=Mt-(Gt=(yt=134217729*Mt)-(yt-Mt)))-(($t=At*Mt)-K*Gt-Bt*Gt-K*ae))),E[0]=te-(ut+pt)+(pt-qt),pt=(jt=ce-((Ut=ce+ut)-(pt=Ut-ce))+(ut-pt))-(ut=jt-$t),E[1]=jt-(ut+pt)+(pt-$t),pt=(xe=Ut+ut)-Ut,E[2]=Ut-(xe-pt)+(ut-pt),E[3]=xe;let Me=o(Wt,v,4,E,x);return x[Me-1]}(M,A,I,S,w,R,X)},n.orient2dfast=function(M,A,I,S,w,R){return(A-R)*(I-w)-(M-w)*(S-R)},Object.defineProperty(n,"__esModule",{value:!0})})});var WC=st((het,$v)=>{"use strict";var GC=qv(),jd=IC(),PX=UC(),IX=zC().orient2d;jd.default&&(jd=jd.default);$v.exports=VC;$v.exports.default=VC;function VC(n,t,e){t=Math.max(0,t===void 0?2:t),e=e||0;var o=DX(n),s=new GC(16);s.toBBox=function(R){return{minX:R[0],minY:R[1],maxX:R[0],maxY:R[1]}},s.compareMinX=function(R,C){return R[0]-C[0]},s.compareMinY=function(R,C){return R[1]-C[1]},s.load(n);for(var l=[],p=0,h;p<o.length;p++){var g=o[p];s.remove(g),h=HC(g,h),l.push(h)}var m=new GC(16);for(p=0;p<l.length;p++)m.insert(Wv(l[p]));for(var v=t*t,x=e*e;l.length;){var E=l.shift(),M=E.p,A=E.next.p,I=Xv(M,A);if(!(I<x)){var S=I/v;g=RX(s,E.prev.p,M,A,E.next.next.p,S,m),g&&Math.min(Xv(g,M),Xv(g,A))<=S&&(l.push(E),l.push(HC(g,E)),s.remove(g),m.remove(E),m.insert(Wv(E)),m.insert(Wv(E.next)))}}E=h;var w=[];do w.push(E.p),E=E.next;while(E!==h);return w.push(E.p),w}function RX(n,t,e,o,s,l,p){for(var h=new jd([],LX),g=n.data;g;){for(var m=0;m<g.children.length;m++){var v=g.children[m],x=g.leaf?Yv(v,e,o):NX(e,o,v);x>l||h.push({node:v,dist:x})}for(;h.length&&!h.peek().node.children;){var E=h.pop(),M=E.node,A=Yv(M,t,e),I=Yv(M,o,s);if(E.dist<A&&E.dist<I&&qC(e,M,p)&&qC(o,M,p))return M}g=h.pop(),g&&(g=g.node)}return null}function LX(n,t){return n.dist-t.dist}function NX(n,t,e){if(kC(n,e)||kC(t,e))return 0;var o=Kd(n[0],n[1],t[0],t[1],e.minX,e.minY,e.maxX,e.minY);if(o===0)return 0;var s=Kd(n[0],n[1],t[0],t[1],e.minX,e.minY,e.minX,e.maxY);if(s===0)return 0;var l=Kd(n[0],n[1],t[0],t[1],e.maxX,e.minY,e.maxX,e.maxY);if(l===0)return 0;var p=Kd(n[0],n[1],t[0],t[1],e.minX,e.maxY,e.maxX,e.maxY);return p===0?0:Math.min(o,s,l,p)}function kC(n,t){return n[0]>=t.minX&&n[0]<=t.maxX&&n[1]>=t.minY&&n[1]<=t.maxY}function qC(n,t,e){for(var o=Math.min(n[0],t[0]),s=Math.min(n[1],t[1]),l=Math.max(n[0],t[0]),p=Math.max(n[1],t[1]),h=e.search({minX:o,minY:s,maxX:l,maxY:p}),g=0;g<h.length;g++)if(OX(h[g].p,h[g].next.p,n,t))return!1;return!0}function Zc(n,t,e){return IX(n[0],n[1],t[0],t[1],e[0],e[1])}function OX(n,t,e,o){return n!==o&&t!==e&&Zc(n,t,e)>0!=Zc(n,t,o)>0&&Zc(e,o,n)>0!=Zc(e,o,t)>0}function Wv(n){var t=n.p,e=n.next.p;return n.minX=Math.min(t[0],e[0]),n.minY=Math.min(t[1],e[1]),n.maxX=Math.max(t[0],e[0]),n.maxY=Math.max(t[1],e[1]),n}function DX(n){for(var t=n[0],e=n[0],o=n[0],s=n[0],l=0;l<n.length;l++){var p=n[l];p[0]<t[0]&&(t=p),p[0]>o[0]&&(o=p),p[1]<e[1]&&(e=p),p[1]>s[1]&&(s=p)}var h=[t,e,o,s],g=h.slice();for(l=0;l<n.length;l++)PX(n[l],h)||g.push(n[l]);return UX(g)}function HC(n,t){var e={p:n,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return t?(e.next=t.next,e.prev=t,t.next.prev=e,t.next=e):(e.prev=e,e.next=e),e}function Xv(n,t){var e=n[0]-t[0],o=n[1]-t[1];return e*e+o*o}function Yv(n,t,e){var o=t[0],s=t[1],l=e[0]-o,p=e[1]-s;if(l!==0||p!==0){var h=((n[0]-o)*l+(n[1]-s)*p)/(l*l+p*p);h>1?(o=e[0],s=e[1]):h>0&&(o+=l*h,s+=p*h)}return l=n[0]-o,p=n[1]-s,l*l+p*p}function Kd(n,t,e,o,s,l,p,h){var g=e-n,m=o-t,v=p-s,x=h-l,E=n-s,M=t-l,A=g*g+m*m,I=g*v+m*x,S=v*v+x*x,w=g*E+m*M,R=v*E+x*M,C=A*S-I*I,F,V,X,q,D=C,xt=C;C===0?(V=0,D=1,q=R,xt=S):(V=I*R-S*w,q=A*R-I*w,V<0?(V=0,q=R,xt=S):V>D&&(V=D,q=R+I,xt=S)),q<0?(q=0,-w<0?V=0:-w>A?V=D:(V=-w,D=A)):q>xt&&(q=xt,-w+I<0?V=0:-w+I>A?V=D:(V=-w+I,D=A)),F=V===0?0:V/D,X=q===0?0:q/xt;var B=(1-F)*n+F*e,j=(1-F)*t+F*o,J=(1-X)*s+X*p,Dt=(1-X)*l+X*h,Q=J-B,At=Dt-j;return Q*Q+At*At}function FX(n,t){return n[0]===t[0]?n[1]-t[1]:n[0]-t[0]}function UX(n){n.sort(FX);for(var t=[],e=0;e<n.length;e++){for(;t.length>=2&&Zc(t[t.length-2],t[t.length-1],n[e])<=0;)t.pop();t.push(n[e])}for(var o=[],s=n.length-1;s>=0;s--){for(;o.length>=2&&Zc(o[o.length-2],o[o.length-1],n[s])<=0;)o.pop();o.push(n[s])}return o.pop(),t.pop(),t.concat(o)}});var KC=st((Jv,Kv)=>{(function(n,t){typeof Jv=="object"&&typeof Kv!="undefined"?Kv.exports=t():typeof define=="function"&&define.amd?define(t):n.quickselect=t()})(Jv,function(){"use strict";function n(s,l,p,h,g){t(s,l,p||0,h||s.length-1,g||o)}function t(s,l,p,h,g){for(;h>p;){if(h-p>600){var m=h-p+1,v=l-p+1,x=Math.log(m),E=.5*Math.exp(2*x/3),M=.5*Math.sqrt(x*E*(m-E)/m)*(v-m/2<0?-1:1),A=Math.max(p,Math.floor(l-v*E/m+M)),I=Math.min(h,Math.floor(l+(m-v)*E/m+M));t(s,l,A,I,g)}var S=s[l],w=p,R=h;for(e(s,p,l),g(s[h],S)>0&&e(s,p,h);w<R;){for(e(s,w,R),w++,R--;g(s[w],S)<0;)w++;for(;g(s[R],S)>0;)R--}g(s[p],S)===0?e(s,p,R):(R++,e(s,R,h)),R<=l&&(p=R+1),l<=R&&(h=R-1)}}function e(s,l,p){var h=s[l];s[l]=s[p],s[p]=h}function o(s,l){return s<l?-1:s>l?1:0}return n})});var e_=st((zrt,t_)=>{"use strict";t_.exports=ph;t_.exports.default=ph;var JX=KC();function ph(n,t){if(!(this instanceof ph))return new ph(n,t);this._maxEntries=Math.max(4,n||9),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),t&&this._initFormat(t),this.clear()}ph.prototype={all:function(){return this._all(this.data,[])},search:function(n){var t=this.data,e=[],o=this.toBBox;if(!tg(n,t))return e;for(var s=[],l,p,h,g;t;){for(l=0,p=t.children.length;l<p;l++)h=t.children[l],g=t.leaf?o(h):h,tg(n,g)&&(t.leaf?e.push(h):Qv(n,g)?this._all(h,e):s.push(h));t=s.pop()}return e},collides:function(n){var t=this.data,e=this.toBBox;if(!tg(n,t))return!1;for(var o=[],s,l,p,h;t;){for(s=0,l=t.children.length;s<l;s++)if(p=t.children[s],h=t.leaf?e(p):p,tg(n,h)){if(t.leaf||Qv(n,h))return!0;o.push(p)}t=o.pop()}return!1},load:function(n){if(!(n&&n.length))return this;if(n.length<this._minEntries){for(var t=0,e=n.length;t<e;t++)this.insert(n[t]);return this}var o=this._build(n.slice(),0,n.length-1,0);if(!this.data.children.length)this.data=o;else if(this.data.height===o.height)this._splitRoot(this.data,o);else{if(this.data.height<o.height){var s=this.data;this.data=o,o=s}this._insert(o,this.data.height-o.height-1,!0)}return this},insert:function(n){return n&&this._insert(n,this.data.height-1),this},clear:function(){return this.data=jc([]),this},remove:function(n,t){if(!n)return this;for(var e=this.data,o=this.toBBox(n),s=[],l=[],p,h,g,m;e||s.length;){if(e||(e=s.pop(),h=s[s.length-1],p=l.pop(),m=!0),e.leaf&&(g=KX(n,e.children,t),g!==-1))return e.children.splice(g,1),s.push(e),this._condense(s),this;!m&&!e.leaf&&Qv(e,o)?(s.push(e),l.push(p),p=0,h=e,e=e.children[0]):h?(p++,e=h.children[p],m=!1):e=null}return this},toBBox:function(n){return n},compareMinX:jC,compareMinY:QC,toJSON:function(){return this.data},fromJSON:function(n){return this.data=n,this},_all:function(n,t){for(var e=[];n;)n.leaf?t.push.apply(t,n.children):e.push.apply(e,n.children),n=e.pop();return t},_build:function(n,t,e,o){var s=e-t+1,l=this._maxEntries,p;if(s<=l)return p=jc(n.slice(t,e+1)),Kc(p,this.toBBox),p;o||(o=Math.ceil(Math.log(s)/Math.log(l)),l=Math.ceil(s/Math.pow(l,o-1))),p=jc([]),p.leaf=!1,p.height=o;var h=Math.ceil(s/l),g=h*Math.ceil(Math.sqrt(l)),m,v,x,E;for(tP(n,t,e,g,this.compareMinX),m=t;m<=e;m+=g)for(x=Math.min(m+g-1,e),tP(n,m,x,h,this.compareMinY),v=m;v<=x;v+=h)E=Math.min(v+h-1,x),p.children.push(this._build(n,v,E,o-1));return Kc(p,this.toBBox),p},_chooseSubtree:function(n,t,e,o){for(var s,l,p,h,g,m,v,x;o.push(t),!(t.leaf||o.length-1===e);){for(v=x=1/0,s=0,l=t.children.length;s<l;s++)p=t.children[s],g=jv(p),m=jX(n,p)-g,m<x?(x=m,v=g<v?g:v,h=p):m===x&&g<v&&(v=g,h=p);t=h||t.children[0]}return t},_insert:function(n,t,e){var o=this.toBBox,s=e?n:o(n),l=[],p=this._chooseSubtree(s,this.data,t,l);for(p.children.push(n),hh(p,s);t>=0&&l[t].children.length>this._maxEntries;)this._split(l,t),t--;this._adjustParentBBoxes(s,l,t)},_split:function(n,t){var e=n[t],o=e.children.length,s=this._minEntries;this._chooseSplitAxis(e,s,o);var l=this._chooseSplitIndex(e,s,o),p=jc(e.children.splice(l,e.children.length-l));p.height=e.height,p.leaf=e.leaf,Kc(e,this.toBBox),Kc(p,this.toBBox),t?n[t-1].children.push(p):this._splitRoot(e,p)},_splitRoot:function(n,t){this.data=jc([n,t]),this.data.height=n.height+1,this.data.leaf=!1,Kc(this.data,this.toBBox)},_chooseSplitIndex:function(n,t,e){var o,s,l,p,h,g,m,v;for(g=m=1/0,o=t;o<=e-t;o++)s=fh(n,0,o,this.toBBox),l=fh(n,o,e,this.toBBox),p=QX(s,l),h=jv(s)+jv(l),p<g?(g=p,v=o,m=h<m?h:m):p===g&&h<m&&(m=h,v=o);return v},_chooseSplitAxis:function(n,t,e){var o=n.leaf?this.compareMinX:jC,s=n.leaf?this.compareMinY:QC,l=this._allDistMargin(n,t,e,o),p=this._allDistMargin(n,t,e,s);l<p&&n.children.sort(o)},_allDistMargin:function(n,t,e,o){n.children.sort(o);var s=this.toBBox,l=fh(n,0,t,s),p=fh(n,e-t,e,s),h=Qd(l)+Qd(p),g,m;for(g=t;g<e-t;g++)m=n.children[g],hh(l,n.leaf?s(m):m),h+=Qd(l);for(g=e-t-1;g>=t;g--)m=n.children[g],hh(p,n.leaf?s(m):m),h+=Qd(p);return h},_adjustParentBBoxes:function(n,t,e){for(var o=e;o>=0;o--)hh(t[o],n)},_condense:function(n){for(var t=n.length-1,e;t>=0;t--)n[t].children.length===0?t>0?(e=n[t-1].children,e.splice(e.indexOf(n[t]),1)):this.clear():Kc(n[t],this.toBBox)},_initFormat:function(n){var t=["return a"," - b",";"];this.compareMinX=new Function("a","b",t.join(n[0])),this.compareMinY=new Function("a","b",t.join(n[1])),this.toBBox=new Function("a","return {minX: a"+n[0]+", minY: a"+n[1]+", maxX: a"+n[2]+", maxY: a"+n[3]+"};")}};function KX(n,t,e){if(!e)return t.indexOf(n);for(var o=0;o<t.length;o++)if(e(n,t[o]))return o;return-1}function Kc(n,t){fh(n,0,n.children.length,t,n)}function fh(n,t,e,o,s){s||(s=jc(null)),s.minX=1/0,s.minY=1/0,s.maxX=-1/0,s.maxY=-1/0;for(var l=t,p;l<e;l++)p=n.children[l],hh(s,n.leaf?o(p):p);return s}function hh(n,t){return n.minX=Math.min(n.minX,t.minX),n.minY=Math.min(n.minY,t.minY),n.maxX=Math.max(n.maxX,t.maxX),n.maxY=Math.max(n.maxY,t.maxY),n}function jC(n,t){return n.minX-t.minX}function QC(n,t){return n.minY-t.minY}function jv(n){return(n.maxX-n.minX)*(n.maxY-n.minY)}function Qd(n){return n.maxX-n.minX+(n.maxY-n.minY)}function jX(n,t){return(Math.max(t.maxX,n.maxX)-Math.min(t.minX,n.minX))*(Math.max(t.maxY,n.maxY)-Math.min(t.minY,n.minY))}function QX(n,t){var e=Math.max(n.minX,t.minX),o=Math.max(n.minY,t.minY),s=Math.min(n.maxX,t.maxX),l=Math.min(n.maxY,t.maxY);return Math.max(0,s-e)*Math.max(0,l-o)}function Qv(n,t){return n.minX<=t.minX&&n.minY<=t.minY&&t.maxX<=n.maxX&&t.maxY<=n.maxY}function tg(n,t){return t.minX<=n.maxX&&t.minY<=n.maxY&&t.maxX>=n.minX&&t.maxY>=n.minY}function jc(n){return{children:n,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function tP(n,t,e,o,s){for(var l=[t,e],p;l.length;)e=l.pop(),t=l.pop(),!(e-t<=o)&&(p=t+Math.ceil((e-t)/o/2)*o,JX(n,p,t,e,s),l.push(t,p,p,e))}});var sP=st((jit,a_)=>{"use strict";a_.exports=ig;a_.exports.default=ig;function ig(n,t,e){e=e||2;var o=t&&t.length,s=o?t[0]*e:n.length,l=rP(n,0,s,e,!0),p=[];if(!l||l.next===l.prev)return p;var h,g,m,v,x,E,M;if(o&&(l=l7(n,t,l,e)),n.length>80*e){h=m=n[0],g=v=n[1];for(var A=e;A<s;A+=e)x=n[A],E=n[A+1],x<h&&(h=x),E<g&&(g=E),x>m&&(m=x),E>v&&(v=E);M=Math.max(m-h,v-g),M=M!==0?32767/M:0}return mh(l,p,e,h,g,M,0),p}function rP(n,t,e,o,s){var l,p;if(s===s_(n,t,e,o)>0)for(l=t;l<e;l+=o)p=nP(l,n[l],n[l+1],p);else for(l=e-o;l>=t;l-=o)p=nP(l,n[l],n[l+1],p);return p&&og(p,p.next)&&(vh(p),p=p.next),p}function kl(n,t){if(!n)return n;t||(t=n);var e=n,o;do if(o=!1,!e.steiner&&(og(e,e.next)||Hr(e.prev,e,e.next)===0)){if(vh(e),e=t=e.prev,e===e.next)break;o=!0}else e=e.next;while(o||e!==t);return t}function mh(n,t,e,o,s,l,p){if(n){!p&&l&&d7(n,o,s,l);for(var h=n,g,m;n.prev!==n.next;){if(g=n.prev,m=n.next,l?s7(n,o,s,l):o7(n)){t.push(g.i/e|0),t.push(n.i/e|0),t.push(m.i/e|0),vh(n),n=m.next,h=m.next;continue}if(n=m,n===h){p?p===1?(n=a7(kl(n),t,e),mh(n,t,e,o,s,l,2)):p===2&&u7(n,t,e,o,s,l):mh(kl(n),t,e,o,s,l,1);break}}}}function o7(n){var t=n.prev,e=n,o=n.next;if(Hr(t,e,o)>=0)return!1;for(var s=t.x,l=e.x,p=o.x,h=t.y,g=e.y,m=o.y,v=s<l?s<p?s:p:l<p?l:p,x=h<g?h<m?h:m:g<m?g:m,E=s>l?s>p?s:p:l>p?l:p,M=h>g?h>m?h:m:g>m?g:m,A=o.next;A!==t;){if(A.x>=v&&A.x<=E&&A.y>=x&&A.y<=M&&ef(s,h,l,g,p,m,A.x,A.y)&&Hr(A.prev,A,A.next)>=0)return!1;A=A.next}return!0}function s7(n,t,e,o){var s=n.prev,l=n,p=n.next;if(Hr(s,l,p)>=0)return!1;for(var h=s.x,g=l.x,m=p.x,v=s.y,x=l.y,E=p.y,M=h<g?h<m?h:m:g<m?g:m,A=v<x?v<E?v:E:x<E?x:E,I=h>g?h>m?h:m:g>m?g:m,S=v>x?v>E?v:E:x>E?x:E,w=i_(M,A,t,e,o),R=i_(I,S,t,e,o),C=n.prevZ,F=n.nextZ;C&&C.z>=w&&F&&F.z<=R;){if(C.x>=M&&C.x<=I&&C.y>=A&&C.y<=S&&C!==s&&C!==p&&ef(h,v,g,x,m,E,C.x,C.y)&&Hr(C.prev,C,C.next)>=0||(C=C.prevZ,F.x>=M&&F.x<=I&&F.y>=A&&F.y<=S&&F!==s&&F!==p&&ef(h,v,g,x,m,E,F.x,F.y)&&Hr(F.prev,F,F.next)>=0))return!1;F=F.nextZ}for(;C&&C.z>=w;){if(C.x>=M&&C.x<=I&&C.y>=A&&C.y<=S&&C!==s&&C!==p&&ef(h,v,g,x,m,E,C.x,C.y)&&Hr(C.prev,C,C.next)>=0)return!1;C=C.prevZ}for(;F&&F.z<=R;){if(F.x>=M&&F.x<=I&&F.y>=A&&F.y<=S&&F!==s&&F!==p&&ef(h,v,g,x,m,E,F.x,F.y)&&Hr(F.prev,F,F.next)>=0)return!1;F=F.nextZ}return!0}function a7(n,t,e){var o=n;do{var s=o.prev,l=o.next.next;!og(s,l)&&iP(s,o,o.next,l)&&yh(s,l)&&yh(l,s)&&(t.push(s.i/e|0),t.push(o.i/e|0),t.push(l.i/e|0),vh(o),vh(o.next),o=n=l),o=o.next}while(o!==n);return kl(o)}function u7(n,t,e,o,s,l){var p=n;do{for(var h=p.next.next;h!==p.prev;){if(p.i!==h.i&&y7(p,h)){var g=oP(p,h);p=kl(p,p.next),g=kl(g,g.next),mh(p,t,e,o,s,l,0),mh(g,t,e,o,s,l,0);return}h=h.next}p=p.next}while(p!==n)}function l7(n,t,e,o){var s=[],l,p,h,g,m;for(l=0,p=t.length;l<p;l++)h=t[l]*o,g=l<p-1?t[l+1]*o:n.length,m=rP(n,h,g,o,!1),m===m.next&&(m.steiner=!0),s.push(m7(m));for(s.sort(c7),l=0;l<s.length;l++)e=f7(s[l],e);return e}function c7(n,t){return n.x-t.x}function f7(n,t){var e=h7(n,t);if(!e)return t;var o=oP(e,n);return kl(o,o.next),kl(e,e.next)}function h7(n,t){var e=t,o=n.x,s=n.y,l=-1/0,p;do{if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){var h=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(h<=o&&h>l&&(l=h,p=e.x<e.next.x?e:e.next,h===o))return p}e=e.next}while(e!==t);if(!p)return null;var g=p,m=p.x,v=p.y,x=1/0,E;e=p;do o>=e.x&&e.x>=m&&o!==e.x&&ef(s<v?o:l,s,m,v,s<v?l:o,s,e.x,e.y)&&(E=Math.abs(s-e.y)/(o-e.x),yh(e,n)&&(E<x||E===x&&(e.x>p.x||e.x===p.x&&p7(p,e)))&&(p=e,x=E)),e=e.next;while(e!==g);return p}function p7(n,t){return Hr(n.prev,n,t.prev)<0&&Hr(t.next,n,n.next)<0}function d7(n,t,e,o){var s=n;do s.z===0&&(s.z=i_(s.x,s.y,t,e,o)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==n);s.prevZ.nextZ=null,s.prevZ=null,g7(s)}function g7(n){var t,e,o,s,l,p,h,g,m=1;do{for(e=n,n=null,l=null,p=0;e;){for(p++,o=e,h=0,t=0;t<m&&(h++,o=o.nextZ,!!o);t++);for(g=m;h>0||g>0&&o;)h!==0&&(g===0||!o||e.z<=o.z)?(s=e,e=e.nextZ,h--):(s=o,o=o.nextZ,g--),l?l.nextZ=s:n=s,s.prevZ=l,l=s;e=o}l.nextZ=null,m*=2}while(p>1);return n}function i_(n,t,e,o,s){return n=(n-e)*s|0,t=(t-o)*s|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n|t<<1}function m7(n){var t=n,e=n;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==n);return e}function ef(n,t,e,o,s,l,p,h){return(s-p)*(t-h)>=(n-p)*(l-h)&&(n-p)*(o-h)>=(e-p)*(t-h)&&(e-p)*(l-h)>=(s-p)*(o-h)}function y7(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!v7(n,t)&&(yh(n,t)&&yh(t,n)&&_7(n,t)&&(Hr(n.prev,n,t.prev)||Hr(n,t.prev,t))||og(n,t)&&Hr(n.prev,n,n.next)>0&&Hr(t.prev,t,t.next)>0)}function Hr(n,t,e){return(t.y-n.y)*(e.x-t.x)-(t.x-n.x)*(e.y-t.y)}function og(n,t){return n.x===t.x&&n.y===t.y}function iP(n,t,e,o){var s=rg(Hr(n,t,e)),l=rg(Hr(n,t,o)),p=rg(Hr(e,o,n)),h=rg(Hr(e,o,t));return!!(s!==l&&p!==h||s===0&&ng(n,e,t)||l===0&&ng(n,o,t)||p===0&&ng(e,n,o)||h===0&&ng(e,t,o))}function ng(n,t,e){return t.x<=Math.max(n.x,e.x)&&t.x>=Math.min(n.x,e.x)&&t.y<=Math.max(n.y,e.y)&&t.y>=Math.min(n.y,e.y)}function rg(n){return n>0?1:n<0?-1:0}function v7(n,t){var e=n;do{if(e.i!==n.i&&e.next.i!==n.i&&e.i!==t.i&&e.next.i!==t.i&&iP(e,e.next,n,t))return!0;e=e.next}while(e!==n);return!1}function yh(n,t){return Hr(n.prev,n,n.next)<0?Hr(n,t,n.next)>=0&&Hr(n,n.prev,t)>=0:Hr(n,t,n.prev)<0||Hr(n,n.next,t)<0}function _7(n,t){var e=n,o=!1,s=(n.x+t.x)/2,l=(n.y+t.y)/2;do e.y>l!=e.next.y>l&&e.next.y!==e.y&&s<(e.next.x-e.x)*(l-e.y)/(e.next.y-e.y)+e.x&&(o=!o),e=e.next;while(e!==n);return o}function oP(n,t){var e=new o_(n.i,n.x,n.y),o=new o_(t.i,t.x,t.y),s=n.next,l=t.prev;return n.next=t,t.prev=n,e.next=s,s.prev=e,o.next=e,e.prev=o,l.next=o,o.prev=l,o}function nP(n,t,e,o){var s=new o_(n,t,e);return o?(s.next=o.next,s.prev=o,o.next.prev=s,o.next=s):(s.prev=s,s.next=s),s}function vh(n){n.next.prev=n.prev,n.prev.next=n.next,n.prevZ&&(n.prevZ.nextZ=n.nextZ),n.nextZ&&(n.nextZ.prevZ=n.prevZ)}function o_(n,t,e){this.i=n,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}ig.deviation=function(n,t,e,o){var s=t&&t.length,l=s?t[0]*e:n.length,p=Math.abs(s_(n,0,l,e));if(s)for(var h=0,g=t.length;h<g;h++){var m=t[h]*e,v=h<g-1?t[h+1]*e:n.length;p-=Math.abs(s_(n,m,v,e))}var x=0;for(h=0;h<o.length;h+=3){var E=o[h]*e,M=o[h+1]*e,A=o[h+2]*e;x+=Math.abs((n[E]-n[A])*(n[M+1]-n[E+1])-(n[E]-n[M])*(n[A+1]-n[E+1]))}return p===0&&x===0?0:Math.abs((x-p)/p)};function s_(n,t,e,o){for(var s=0,l=t,p=e-o;l<e;l+=o)s+=(n[p]-n[l])*(n[l+1]+n[p+1]),p=l;return s}ig.flatten=function(n){for(var t=n[0][0].length,e={vertices:[],holes:[],dimensions:t},o=0,s=0;s<n.length;s++){for(var l=0;l<n[s].length;l++)for(var p=0;p<t;p++)e.vertices.push(n[s][l][p]);s>0&&(o+=n[s-1].length,e.holes.push(o))}return e}});var h_=st(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.earthRadius=63710088e-1;Oe.factors={centimeters:Oe.earthRadius*100,centimetres:Oe.earthRadius*100,degrees:Oe.earthRadius/111325,feet:Oe.earthRadius*3.28084,inches:Oe.earthRadius*39.37,kilometers:Oe.earthRadius/1e3,kilometres:Oe.earthRadius/1e3,meters:Oe.earthRadius,metres:Oe.earthRadius,miles:Oe.earthRadius/1609.344,millimeters:Oe.earthRadius*1e3,millimetres:Oe.earthRadius*1e3,nauticalmiles:Oe.earthRadius/1852,radians:1,yards:Oe.earthRadius*1.0936};Oe.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/Oe.earthRadius,yards:1.0936133};Oe.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function nl(n,t,e){e===void 0&&(e={});var o={type:"Feature"};return(e.id===0||e.id)&&(o.id=e.id),e.bbox&&(o.bbox=e.bbox),o.properties=t||{},o.geometry=n,o}Oe.feature=nl;function E7(n,t,e){switch(e===void 0&&(e={}),n){case"Point":return u_(t).geometry;case"LineString":return c_(t).geometry;case"Polygon":return l_(t).geometry;case"MultiPoint":return uP(t).geometry;case"MultiLineString":return aP(t).geometry;case"MultiPolygon":return lP(t).geometry;default:throw new Error(n+" is invalid")}}Oe.geometry=E7;function u_(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!sg(n[0])||!sg(n[1]))throw new Error("coordinates must contain numbers");var o={type:"Point",coordinates:n};return nl(o,t,e)}Oe.point=u_;function w7(n,t,e){return e===void 0&&(e={}),ag(n.map(function(o){return u_(o,t)}),e)}Oe.points=w7;function l_(n,t,e){e===void 0&&(e={});for(var o=0,s=n;o<s.length;o++){var l=s[o];if(l.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var p=0;p<l[l.length-1].length;p++)if(l[l.length-1][p]!==l[0][p])throw new Error("First and last Position are not equivalent.")}var h={type:"Polygon",coordinates:n};return nl(h,t,e)}Oe.polygon=l_;function S7(n,t,e){return e===void 0&&(e={}),ag(n.map(function(o){return l_(o,t)}),e)}Oe.polygons=S7;function c_(n,t,e){if(e===void 0&&(e={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var o={type:"LineString",coordinates:n};return nl(o,t,e)}Oe.lineString=c_;function M7(n,t,e){return e===void 0&&(e={}),ag(n.map(function(o){return c_(o,t)}),e)}Oe.lineStrings=M7;function ag(n,t){t===void 0&&(t={});var e={type:"FeatureCollection"};return t.id&&(e.id=t.id),t.bbox&&(e.bbox=t.bbox),e.features=n,e}Oe.featureCollection=ag;function aP(n,t,e){e===void 0&&(e={});var o={type:"MultiLineString",coordinates:n};return nl(o,t,e)}Oe.multiLineString=aP;function uP(n,t,e){e===void 0&&(e={});var o={type:"MultiPoint",coordinates:n};return nl(o,t,e)}Oe.multiPoint=uP;function lP(n,t,e){e===void 0&&(e={});var o={type:"MultiPolygon",coordinates:n};return nl(o,t,e)}Oe.multiPolygon=lP;function b7(n,t,e){e===void 0&&(e={});var o={type:"GeometryCollection",geometries:n};return nl(o,t,e)}Oe.geometryCollection=b7;function A7(n,t){if(t===void 0&&(t=0),t&&!(t>=0))throw new Error("precision must be a positive number");var e=Math.pow(10,t||0);return Math.round(n*e)/e}Oe.round=A7;function cP(n,t){t===void 0&&(t="kilometers");var e=Oe.factors[t];if(!e)throw new Error(t+" units is invalid");return n*e}Oe.radiansToLength=cP;function f_(n,t){t===void 0&&(t="kilometers");var e=Oe.factors[t];if(!e)throw new Error(t+" units is invalid");return n/e}Oe.lengthToRadians=f_;function T7(n,t){return fP(f_(n,t))}Oe.lengthToDegrees=T7;function C7(n){var t=n%360;return t<0&&(t+=360),t}Oe.bearingToAzimuth=C7;function fP(n){var t=n%(2*Math.PI);return t*180/Math.PI}Oe.radiansToDegrees=fP;function P7(n){var t=n%360;return t*Math.PI/180}Oe.degreesToRadians=P7;function I7(n,t,e){if(t===void 0&&(t="kilometers"),e===void 0&&(e="kilometers"),!(n>=0))throw new Error("length must be a positive number");return cP(f_(n,t),e)}Oe.convertLength=I7;function R7(n,t,e){if(t===void 0&&(t="meters"),e===void 0&&(e="kilometers"),!(n>=0))throw new Error("area must be a positive number");var o=Oe.areaFactors[t];if(!o)throw new Error("invalid original units");var s=Oe.areaFactors[e];if(!s)throw new Error("invalid final units");return n/o*s}Oe.convertArea=R7;function sg(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}Oe.isNumber=sg;function L7(n){return!!n&&n.constructor===Object}Oe.isObject=L7;function N7(n){if(!n)throw new Error("bbox is required");if(!Array.isArray(n))throw new Error("bbox must be an Array");if(n.length!==4&&n.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");n.forEach(function(t){if(!sg(t))throw new Error("bbox must only contain numbers")})}Oe.validateBBox=N7;function O7(n){if(!n)throw new Error("id is required");if(["string","number"].indexOf(typeof n)===-1)throw new Error("id must be a number or a string")}Oe.validateId=O7});var d_=st(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});var co=h_();function _h(n,t,e){if(n!==null)for(var o,s,l,p,h,g,m,v=0,x=0,E,M=n.type,A=M==="FeatureCollection",I=M==="Feature",S=A?n.features.length:1,w=0;w<S;w++){m=A?n.features[w].geometry:I?n.geometry:n,E=m?m.type==="GeometryCollection":!1,h=E?m.geometries.length:1;for(var R=0;R<h;R++){var C=0,F=0;if(p=E?m.geometries[R]:m,p!==null){g=p.coordinates;var V=p.type;switch(v=e&&(V==="Polygon"||V==="MultiPolygon")?1:0,V){case null:break;case"Point":if(t(g,x,w,C,F)===!1)return!1;x++,C++;break;case"LineString":case"MultiPoint":for(o=0;o<g.length;o++){if(t(g[o],x,w,C,F)===!1)return!1;x++,V==="MultiPoint"&&C++}V==="LineString"&&C++;break;case"Polygon":case"MultiLineString":for(o=0;o<g.length;o++){for(s=0;s<g[o].length-v;s++){if(t(g[o][s],x,w,C,F)===!1)return!1;x++}V==="MultiLineString"&&C++,V==="Polygon"&&F++}V==="Polygon"&&C++;break;case"MultiPolygon":for(o=0;o<g.length;o++){for(F=0,s=0;s<g[o].length;s++){for(l=0;l<g[o][s].length-v;l++){if(t(g[o][s][l],x,w,C,F)===!1)return!1;x++}F++}C++}break;case"GeometryCollection":for(o=0;o<p.geometries.length;o++)if(_h(p.geometries[o],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function D7(n,t,e,o){var s=e;return _h(n,function(l,p,h,g,m){p===0&&e===void 0?s=l:s=t(s,l,p,h,g,m)},o),s}function hP(n,t){var e;switch(n.type){case"FeatureCollection":for(e=0;e<n.features.length&&t(n.features[e].properties,e)!==!1;e++);break;case"Feature":t(n.properties,0);break}}function F7(n,t,e){var o=e;return hP(n,function(s,l){l===0&&e===void 0?o=s:o=t(o,s,l)}),o}function pP(n,t){if(n.type==="Feature")t(n,0);else if(n.type==="FeatureCollection")for(var e=0;e<n.features.length&&t(n.features[e],e)!==!1;e++);}function U7(n,t,e){var o=e;return pP(n,function(s,l){l===0&&e===void 0?o=s:o=t(o,s,l)}),o}function B7(n){var t=[];return _h(n,function(e){t.push(e)}),t}function p_(n,t){var e,o,s,l,p,h,g,m,v,x,E=0,M=n.type==="FeatureCollection",A=n.type==="Feature",I=M?n.features.length:1;for(e=0;e<I;e++){for(h=M?n.features[e].geometry:A?n.geometry:n,m=M?n.features[e].properties:A?n.properties:{},v=M?n.features[e].bbox:A?n.bbox:void 0,x=M?n.features[e].id:A?n.id:void 0,g=h?h.type==="GeometryCollection":!1,p=g?h.geometries.length:1,s=0;s<p;s++){if(l=g?h.geometries[s]:h,l===null){if(t(null,E,m,v,x)===!1)return!1;continue}switch(l.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(l,E,m,v,x)===!1)return!1;break}case"GeometryCollection":{for(o=0;o<l.geometries.length;o++)if(t(l.geometries[o],E,m,v,x)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}E++}}function z7(n,t,e){var o=e;return p_(n,function(s,l,p,h,g){l===0&&e===void 0?o=s:o=t(o,s,l,p,h,g)}),o}function ug(n,t){p_(n,function(e,o,s,l,p){var h=e===null?null:e.type;switch(h){case null:case"Point":case"LineString":case"Polygon":return t(co.feature(e,s,{bbox:l,id:p}),o,0)===!1?!1:void 0}var g;switch(h){case"MultiPoint":g="Point";break;case"MultiLineString":g="LineString";break;case"MultiPolygon":g="Polygon";break}for(var m=0;m<e.coordinates.length;m++){var v=e.coordinates[m],x={type:g,coordinates:v};if(t(co.feature(x,s),o,m)===!1)return!1}})}function G7(n,t,e){var o=e;return ug(n,function(s,l,p){l===0&&p===0&&e===void 0?o=s:o=t(o,s,l,p)}),o}function dP(n,t){ug(n,function(e,o,s){var l=0;if(e.geometry){var p=e.geometry.type;if(!(p==="Point"||p==="MultiPoint")){var h,g=0,m=0,v=0;if(_h(e,function(x,E,M,A,I){if(h===void 0||o>g||A>m||I>v){h=x,g=o,m=A,v=I,l=0;return}var S=co.lineString([h,x],e.properties);if(t(S,o,s,I,l)===!1)return!1;l++,h=x})===!1)return!1}}})}function k7(n,t,e){var o=e,s=!1;return dP(n,function(l,p,h,g,m){s===!1&&e===void 0?o=l:o=t(o,l,p,h,g,m),s=!0}),o}function gP(n,t){if(!n)throw new Error("geojson is required");ug(n,function(e,o,s){if(e.geometry!==null){var l=e.geometry.type,p=e.geometry.coordinates;switch(l){case"LineString":if(t(e,o,s,0,0)===!1)return!1;break;case"Polygon":for(var h=0;h<p.length;h++)if(t(co.lineString(p[h],e.properties),o,s,h)===!1)return!1;break}}})}function q7(n,t,e){var o=e;return gP(n,function(s,l,p,h){l===0&&e===void 0?o=s:o=t(o,s,l,p,h)}),o}function H7(n,t){if(t=t||{},!co.isObject(t))throw new Error("options is invalid");var e=t.featureIndex||0,o=t.multiFeatureIndex||0,s=t.geometryIndex||0,l=t.segmentIndex||0,p=t.properties,h;switch(n.type){case"FeatureCollection":e<0&&(e=n.features.length+e),p=p||n.features[e].properties,h=n.features[e].geometry;break;case"Feature":p=p||n.properties,h=n.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":h=n;break;default:throw new Error("geojson is invalid")}if(h===null)return null;var g=h.coordinates;switch(h.type){case"Point":case"MultiPoint":return null;case"LineString":return l<0&&(l=g.length+l-1),co.lineString([g[l],g[l+1]],p,t);case"Polygon":return s<0&&(s=g.length+s),l<0&&(l=g[s].length+l-1),co.lineString([g[s][l],g[s][l+1]],p,t);case"MultiLineString":return o<0&&(o=g.length+o),l<0&&(l=g[o].length+l-1),co.lineString([g[o][l],g[o][l+1]],p,t);case"MultiPolygon":return o<0&&(o=g.length+o),s<0&&(s=g[o].length+s),l<0&&(l=g[o][s].length-l-1),co.lineString([g[o][s][l],g[o][s][l+1]],p,t)}throw new Error("geojson is invalid")}function V7(n,t){if(t=t||{},!co.isObject(t))throw new Error("options is invalid");var e=t.featureIndex||0,o=t.multiFeatureIndex||0,s=t.geometryIndex||0,l=t.coordIndex||0,p=t.properties,h;switch(n.type){case"FeatureCollection":e<0&&(e=n.features.length+e),p=p||n.features[e].properties,h=n.features[e].geometry;break;case"Feature":p=p||n.properties,h=n.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":h=n;break;default:throw new Error("geojson is invalid")}if(h===null)return null;var g=h.coordinates;switch(h.type){case"Point":return co.point(g,p,t);case"MultiPoint":return o<0&&(o=g.length+o),co.point(g[o],p,t);case"LineString":return l<0&&(l=g.length+l),co.point(g[l],p,t);case"Polygon":return s<0&&(s=g.length+s),l<0&&(l=g[s].length+l),co.point(g[s][l],p,t);case"MultiLineString":return o<0&&(o=g.length+o),l<0&&(l=g[o].length+l),co.point(g[o][l],p,t);case"MultiPolygon":return o<0&&(o=g.length+o),s<0&&(s=g[o].length+s),l<0&&(l=g[o][s].length-l),co.point(g[o][s][l],p,t)}throw new Error("geojson is invalid")}Si.coordAll=B7;Si.coordEach=_h;Si.coordReduce=D7;Si.featureEach=pP;Si.featureReduce=U7;Si.findPoint=V7;Si.findSegment=H7;Si.flattenEach=ug;Si.flattenReduce=G7;Si.geomEach=p_;Si.geomReduce=z7;Si.lineEach=gP;Si.lineReduce=q7;Si.propEach=hP;Si.propReduce=F7;Si.segmentEach=dP;Si.segmentReduce=k7});var mP=st(m_=>{"use strict";Object.defineProperty(m_,"__esModule",{value:!0});var W7=d_();function g_(n){var t=[1/0,1/0,-1/0,-1/0];return W7.coordEach(n,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}g_.default=g_;m_.default=g_});var lg=st((dot,y_)=>{var La=qv(),vP=h_(),_P=d_(),nf=mP().default,X7=_P.featureEach,hot=_P.coordEach,pot=vP.polygon,yP=vP.featureCollection;function xP(n){var t=new La(n);return t.insert=function(e){if(e.type!=="Feature")throw new Error("invalid feature");return e.bbox=e.bbox?e.bbox:nf(e),La.prototype.insert.call(this,e)},t.load=function(e){var o=[];return Array.isArray(e)?e.forEach(function(s){if(s.type!=="Feature")throw new Error("invalid features");s.bbox=s.bbox?s.bbox:nf(s),o.push(s)}):X7(e,function(s){if(s.type!=="Feature")throw new Error("invalid features");s.bbox=s.bbox?s.bbox:nf(s),o.push(s)}),La.prototype.load.call(this,o)},t.remove=function(e,o){if(e.type!=="Feature")throw new Error("invalid feature");return e.bbox=e.bbox?e.bbox:nf(e),La.prototype.remove.call(this,e,o)},t.clear=function(){return La.prototype.clear.call(this)},t.search=function(e){var o=La.prototype.search.call(this,this.toBBox(e));return yP(o)},t.collides=function(e){return La.prototype.collides.call(this,this.toBBox(e))},t.all=function(){var e=La.prototype.all.call(this);return yP(e)},t.toJSON=function(){return La.prototype.toJSON.call(this)},t.fromJSON=function(e){return La.prototype.fromJSON.call(this,e)},t.toBBox=function(e){var o;if(e.bbox)o=e.bbox;else if(Array.isArray(e)&&e.length===4)o=e;else if(Array.isArray(e)&&e.length===6)o=[e[0],e[1],e[3],e[4]];else if(e.type==="Feature")o=nf(e);else if(e.type==="FeatureCollection")o=nf(e);else throw new Error("invalid geojson");return{minX:o[0],minY:o[1],maxX:o[2],maxY:o[3]}},t}y_.exports=xP;y_.exports.default=xP});var S_=st((Sat,IP)=>{"use strict";var PP=Object.prototype.toString;IP.exports=function(t){var e=PP.call(t),o=e==="[object Arguments]";return o||(o=e!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&PP.call(t.callee)==="[object Function]"),o}});var zP=st((Mat,BP)=>{"use strict";var UP;Object.keys||(wh=Object.prototype.hasOwnProperty,M_=Object.prototype.toString,RP=S_(),b_=Object.prototype.propertyIsEnumerable,LP=!b_.call({toString:null},"toString"),NP=b_.call(function(){},"prototype"),Sh=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dg=function(n){var t=n.constructor;return t&&t.prototype===n},OP={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},DP=function(){if(typeof window=="undefined")return!1;for(var n in window)try{if(!OP["$"+n]&&wh.call(window,n)&&window[n]!==null&&typeof window[n]=="object")try{dg(window[n])}catch(t){return!0}}catch(t){return!0}return!1}(),FP=function(n){if(typeof window=="undefined"||!DP)return dg(n);try{return dg(n)}catch(t){return!1}},UP=function(t){var e=t!==null&&typeof t=="object",o=M_.call(t)==="[object Function]",s=RP(t),l=e&&M_.call(t)==="[object String]",p=[];if(!e&&!o&&!s)throw new TypeError("Object.keys called on a non-object");var h=NP&&o;if(l&&t.length>0&&!wh.call(t,0))for(var g=0;g<t.length;++g)p.push(String(g));if(s&&t.length>0)for(var m=0;m<t.length;++m)p.push(String(m));else for(var v in t)!(h&&v==="prototype")&&wh.call(t,v)&&p.push(String(v));if(LP)for(var x=FP(t),E=0;E<Sh.length;++E)!(x&&Sh[E]==="constructor")&&wh.call(t,Sh[E])&&p.push(Sh[E]);return p});var wh,M_,RP,b_,LP,NP,Sh,dg,OP,DP,FP;BP.exports=UP});var A_=st((bat,qP)=>{"use strict";var nY=Array.prototype.slice,rY=S_(),GP=Object.keys,gg=GP?function(t){return GP(t)}:zP(),kP=Object.keys;gg.shim=function(){if(Object.keys){var t=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);t||(Object.keys=function(o){return rY(o)?kP(nY.call(o)):kP(o)})}else Object.keys=gg;return Object.keys||gg};qP.exports=gg});var T_=st((Aat,HP)=>{"use strict";HP.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},e=Symbol("test"),o=Object(e);if(typeof e=="string"||Object.prototype.toString.call(e)!=="[object Symbol]"||Object.prototype.toString.call(o)!=="[object Symbol]")return!1;var s=42;t[e]=s;for(var l in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var p=Object.getOwnPropertySymbols(t);if(p.length!==1||p[0]!==e||!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var h=Object.getOwnPropertyDescriptor(t,e);if(h.value!==s||h.enumerable!==!0)return!1}return!0}});var mg=st((Tat,VP)=>{"use strict";var iY=T_();VP.exports=function(){return iY()&&!!Symbol.toStringTag}});var C_=st((Cat,WP)=>{"use strict";WP.exports=Object});var P_=st((Pat,XP)=>{"use strict";XP.exports=Error});var $P=st((Iat,YP)=>{"use strict";YP.exports=EvalError});var JP=st((Rat,ZP)=>{"use strict";ZP.exports=RangeError});var jP=st((Lat,KP)=>{"use strict";KP.exports=ReferenceError});var I_=st((Nat,QP)=>{"use strict";QP.exports=SyntaxError});var ql=st((Oat,tI)=>{"use strict";tI.exports=TypeError});var nI=st((Dat,eI)=>{"use strict";eI.exports=URIError});var iI=st((Fat,rI)=>{"use strict";rI.exports=Math.abs});var sI=st((Uat,oI)=>{"use strict";oI.exports=Math.floor});var uI=st((Bat,aI)=>{"use strict";aI.exports=Math.max});var cI=st((zat,lI)=>{"use strict";lI.exports=Math.min});var hI=st((Gat,fI)=>{"use strict";fI.exports=Math.pow});var dI=st((kat,pI)=>{"use strict";pI.exports=Math.round});var mI=st((qat,gI)=>{"use strict";gI.exports=Number.isNaN||function(t){return t!==t}});var vI=st((Hat,yI)=>{"use strict";var oY=mI();yI.exports=function(t){return oY(t)||t===0?t:t<0?-1:1}});var xI=st((Vat,_I)=>{"use strict";_I.exports=Object.getOwnPropertyDescriptor});var Hl=st((Wat,EI)=>{"use strict";var yg=xI();if(yg)try{yg([],"length")}catch(n){yg=null}EI.exports=yg});var Mh=st((Xat,wI)=>{"use strict";var vg=Object.defineProperty||!1;if(vg)try{vg({},"a",{value:1})}catch(n){vg=!1}wI.exports=vg});var bI=st((Yat,MI)=>{"use strict";var SI=typeof Symbol!="undefined"&&Symbol,sY=T_();MI.exports=function(){return typeof SI!="function"||typeof Symbol!="function"||typeof SI("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:sY()}});var R_=st(($at,AI)=>{"use strict";AI.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var L_=st((Zat,TI)=>{"use strict";var aY=C_();TI.exports=aY.getPrototypeOf||null});var II=st((Jat,PI)=>{"use strict";var uY="Function.prototype.bind called on incompatible ",lY=Object.prototype.toString,cY=Math.max,fY="[object Function]",CI=function(t,e){for(var o=[],s=0;s<t.length;s+=1)o[s]=t[s];for(var l=0;l<e.length;l+=1)o[l+t.length]=e[l];return o},hY=function(t,e){for(var o=[],s=e||0,l=0;s<t.length;s+=1,l+=1)o[l]=t[s];return o},pY=function(n,t){for(var e="",o=0;o<n.length;o+=1)e+=n[o],o+1<n.length&&(e+=t);return e};PI.exports=function(t){var e=this;if(typeof e!="function"||lY.apply(e)!==fY)throw new TypeError(uY+e);for(var o=hY(arguments,1),s,l=function(){if(this instanceof s){var v=e.apply(this,CI(o,arguments));return Object(v)===v?v:this}return e.apply(t,CI(o,arguments))},p=cY(0,e.length-o.length),h=[],g=0;g<p;g++)h[g]="$"+g;if(s=Function("binder","return function ("+pY(h,",")+"){ return binder.apply(this,arguments); }")(l),e.prototype){var m=function(){};m.prototype=e.prototype,s.prototype=new m,m.prototype=null}return s}});var rf=st((Kat,RI)=>{"use strict";var dY=II();RI.exports=Function.prototype.bind||dY});var _g=st((jat,LI)=>{"use strict";LI.exports=Function.prototype.call});var xg=st((Qat,NI)=>{"use strict";NI.exports=Function.prototype.apply});var DI=st((tut,OI)=>{"use strict";OI.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var N_=st((eut,FI)=>{"use strict";var gY=rf(),mY=xg(),yY=_g(),vY=DI();FI.exports=vY||gY.call(yY,mY)});var Eg=st((nut,UI)=>{"use strict";var _Y=rf(),xY=ql(),EY=_g(),wY=N_();UI.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new xY("a function is required");return wY(_Y,EY,t)}});var HI=st((rut,qI)=>{"use strict";var SY=Eg(),BI=Hl(),GI;try{GI=[].__proto__===Array.prototype}catch(n){if(!n||typeof n!="object"||!("code"in n)||n.code!=="ERR_PROTO_ACCESS")throw n}var O_=!!GI&&BI&&BI(Object.prototype,"__proto__"),kI=Object,zI=kI.getPrototypeOf;qI.exports=O_&&typeof O_.get=="function"?SY([O_.get]):typeof zI=="function"?function(t){return zI(t==null?t:kI(t))}:!1});var D_=st((iut,YI)=>{"use strict";var VI=R_(),WI=L_(),XI=HI();YI.exports=VI?function(t){return VI(t)}:WI?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return WI(t)}:XI?function(t){return XI(t)}:null});var F_=st((out,$I)=>{"use strict";var MY=Function.prototype.call,bY=Object.prototype.hasOwnProperty,AY=rf();$I.exports=AY.call(MY,bY)});var z_=st((sut,tR)=>{"use strict";var Un,TY=C_(),CY=P_(),PY=$P(),IY=JP(),RY=jP(),uf=I_(),af=ql(),LY=nI(),NY=iI(),OY=sI(),DY=uI(),FY=cI(),UY=hI(),BY=dI(),zY=vI(),jI=Function,U_=function(n){try{return jI('"use strict"; return ('+n+").constructor;")()}catch(t){}},bh=Hl(),GY=Mh(),B_=function(){throw new af},kY=bh?function(){try{return arguments.callee,B_}catch(n){try{return bh(arguments,"callee").get}catch(t){return B_}}}():B_,of=bI()(),qi=D_(),qY=L_(),HY=R_(),QI=xg(),Ah=_g(),sf={},VY=typeof Uint8Array=="undefined"||!qi?Un:qi(Uint8Array),Vl={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?Un:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?Un:ArrayBuffer,"%ArrayIteratorPrototype%":of&&qi?qi([][Symbol.iterator]()):Un,"%AsyncFromSyncIteratorPrototype%":Un,"%AsyncFunction%":sf,"%AsyncGenerator%":sf,"%AsyncGeneratorFunction%":sf,"%AsyncIteratorPrototype%":sf,"%Atomics%":typeof Atomics=="undefined"?Un:Atomics,"%BigInt%":typeof BigInt=="undefined"?Un:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?Un:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?Un:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?Un:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":CY,"%eval%":eval,"%EvalError%":PY,"%Float16Array%":typeof Float16Array=="undefined"?Un:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?Un:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?Un:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?Un:FinalizationRegistry,"%Function%":jI,"%GeneratorFunction%":sf,"%Int8Array%":typeof Int8Array=="undefined"?Un:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?Un:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?Un:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":of&&qi?qi(qi([][Symbol.iterator]())):Un,"%JSON%":typeof JSON=="object"?JSON:Un,"%Map%":typeof Map=="undefined"?Un:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!of||!qi?Un:qi(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":TY,"%Object.getOwnPropertyDescriptor%":bh,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?Un:Promise,"%Proxy%":typeof Proxy=="undefined"?Un:Proxy,"%RangeError%":IY,"%ReferenceError%":RY,"%Reflect%":typeof Reflect=="undefined"?Un:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?Un:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!of||!qi?Un:qi(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?Un:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":of&&qi?qi(""[Symbol.iterator]()):Un,"%Symbol%":of?Symbol:Un,"%SyntaxError%":uf,"%ThrowTypeError%":kY,"%TypedArray%":VY,"%TypeError%":af,"%Uint8Array%":typeof Uint8Array=="undefined"?Un:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?Un:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?Un:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?Un:Uint32Array,"%URIError%":LY,"%WeakMap%":typeof WeakMap=="undefined"?Un:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?Un:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?Un:WeakSet,"%Function.prototype.call%":Ah,"%Function.prototype.apply%":QI,"%Object.defineProperty%":GY,"%Object.getPrototypeOf%":qY,"%Math.abs%":NY,"%Math.floor%":OY,"%Math.max%":DY,"%Math.min%":FY,"%Math.pow%":UY,"%Math.round%":BY,"%Math.sign%":zY,"%Reflect.getPrototypeOf%":HY};if(qi)try{null.error}catch(n){ZI=qi(qi(n)),Vl["%Error.prototype%"]=ZI}var ZI,WY=function n(t){var e;if(t==="%AsyncFunction%")e=U_("async function () {}");else if(t==="%GeneratorFunction%")e=U_("function* () {}");else if(t==="%AsyncGeneratorFunction%")e=U_("async function* () {}");else if(t==="%AsyncGenerator%"){var o=n("%AsyncGeneratorFunction%");o&&(e=o.prototype)}else if(t==="%AsyncIteratorPrototype%"){var s=n("%AsyncGenerator%");s&&qi&&(e=qi(s.prototype))}return Vl[t]=e,e},JI={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Th=rf(),wg=F_(),XY=Th.call(Ah,Array.prototype.concat),YY=Th.call(QI,Array.prototype.splice),KI=Th.call(Ah,String.prototype.replace),Sg=Th.call(Ah,String.prototype.slice),$Y=Th.call(Ah,RegExp.prototype.exec),ZY=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,JY=/\\\\(\\\\)?/g,KY=function(t){var e=Sg(t,0,1),o=Sg(t,-1);if(e==="%"&&o!=="%")throw new uf("invalid intrinsic syntax, expected closing \`%\`");if(o==="%"&&e!=="%")throw new uf("invalid intrinsic syntax, expected opening \`%\`");var s=[];return KI(t,ZY,function(l,p,h,g){s[s.length]=h?KI(g,JY,"$1"):p||l}),s},jY=function(t,e){var o=t,s;if(wg(JI,o)&&(s=JI[o],o="%"+s[0]+"%"),wg(Vl,o)){var l=Vl[o];if(l===sf&&(l=WY(o)),typeof l=="undefined"&&!e)throw new af("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:s,name:o,value:l}}throw new uf("intrinsic "+t+" does not exist!")};tR.exports=function(t,e){if(typeof t!="string"||t.length===0)throw new af("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof e!="boolean")throw new af('"allowMissing" argument must be a boolean');if($Y(/^%?[^%]*%?$/,t)===null)throw new uf("\`%\` may not be present anywhere but at the beginning and end of the intrinsic name");var o=KY(t),s=o.length>0?o[0]:"",l=jY("%"+s+"%",e),p=l.name,h=l.value,g=!1,m=l.alias;m&&(s=m[0],YY(o,XY([0,1],m)));for(var v=1,x=!0;v<o.length;v+=1){var E=o[v],M=Sg(E,0,1),A=Sg(E,-1);if((M==='"'||M==="'"||M==="\`"||A==='"'||A==="'"||A==="\`")&&M!==A)throw new uf("property names with quotes must have matching quotes");if((E==="constructor"||!x)&&(g=!0),s+="."+E,p="%"+s+"%",wg(Vl,p))h=Vl[p];else if(h!=null){if(!(E in h)){if(!e)throw new af("base intrinsic for "+t+" exists, but the property is not available.");return}if(bh&&v+1>=o.length){var I=bh(h,E);x=!!I,x&&"get"in I&&!("originalValue"in I.get)?h=I.get:h=h[E]}else x=wg(h,E),h=h[E];x&&!g&&(Vl[p]=h)}}return h}});var Mg=st((aut,rR)=>{"use strict";var eR=z_(),nR=Eg(),QY=nR([eR("%String.prototype.indexOf%")]);rR.exports=function(t,e){var o=eR(t,!!e);return typeof o=="function"&&QY(t,".prototype.")>-1?nR([o]):o}});var sR=st((uut,oR)=>{"use strict";var t$=mg()(),e$=Mg(),G_=e$("Object.prototype.toString"),bg=function(t){return t$&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:G_(t)==="[object Arguments]"},iR=function(t){return bg(t)?!0:t!==null&&typeof t=="object"&&"length"in t&&typeof t.length=="number"&&t.length>=0&&G_(t)!=="[object Array]"&&"callee"in t&&G_(t.callee)==="[object Function]"},n$=function(){return bg(arguments)}();bg.isLegacyArguments=iR;oR.exports=n$?bg:iR});var Ag=st((lut,lR)=>{"use strict";var aR=Mh(),r$=I_(),lf=ql(),uR=Hl();lR.exports=function(t,e,o){if(!t||typeof t!="object"&&typeof t!="function")throw new lf("\`obj\` must be an object or a function\`");if(typeof e!="string"&&typeof e!="symbol")throw new lf("\`property\` must be a string or a symbol\`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new lf("\`nonEnumerable\`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new lf("\`nonWritable\`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new lf("\`nonConfigurable\`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new lf("\`loose\`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,p=arguments.length>5?arguments[5]:null,h=arguments.length>6?arguments[6]:!1,g=!!uR&&uR(t,e);if(aR)aR(t,e,{configurable:p===null&&g?g.configurable:!p,enumerable:s===null&&g?g.enumerable:!s,value:o,writable:l===null&&g?g.writable:!l});else if(h||!s&&!l&&!p)t[e]=o;else throw new r$("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var Tg=st((cut,fR)=>{"use strict";var k_=Mh(),cR=function(){return!!k_};cR.hasArrayLengthDefineBug=function(){if(!k_)return null;try{return k_([],"length",{value:1}).length!==1}catch(t){return!0}};fR.exports=cR});var cf=st((fut,gR)=>{"use strict";var i$=A_(),o$=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",s$=Object.prototype.toString,a$=Array.prototype.concat,hR=Ag(),u$=function(n){return typeof n=="function"&&s$.call(n)==="[object Function]"},pR=Tg()(),l$=function(n,t,e,o){if(t in n){if(o===!0){if(n[t]===e)return}else if(!u$(o)||!o())return}pR?hR(n,t,e,!0):hR(n,t,e)},dR=function(n,t){var e=arguments.length>2?arguments[2]:{},o=i$(t);o$&&(o=a$.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;s<o.length;s+=1)l$(n,o[s],t[o[s]],e[o[s]])};dR.supportsDescriptors=!!pR;gR.exports=dR});var xR=st((hut,_R)=>{"use strict";var c$=z_(),mR=Ag(),f$=Tg()(),yR=Hl(),vR=ql(),h$=c$("%Math.floor%");_R.exports=function(t,e){if(typeof t!="function")throw new vR("\`fn\` is not a function");if(typeof e!="number"||e<0||e>4294967295||h$(e)!==e)throw new vR("\`length\` must be a positive 32-bit integer");var o=arguments.length>2&&!!arguments[2],s=!0,l=!0;if("length"in t&&yR){var p=yR(t,"length");p&&!p.configurable&&(s=!1),p&&!p.writable&&(l=!1)}return(s||l||!o)&&(f$?mR(t,"length",e,!0,!0):mR(t,"length",e)),t}});var wR=st((put,ER)=>{"use strict";var p$=rf(),d$=xg(),g$=N_();ER.exports=function(){return g$(p$,d$,arguments)}});var q_=st((dut,Cg)=>{"use strict";var m$=xR(),SR=Mh(),y$=Eg(),MR=wR();Cg.exports=function(t){var e=y$(arguments),o=t.length-(arguments.length-1);return m$(e,1+(o>0?o:0),!0)};SR?SR(Cg.exports,"apply",{value:MR}):Cg.exports.apply=MR});var H_=st((gut,AR)=>{"use strict";var bR=function(n){return n!==n};AR.exports=function(t,e){return t===0&&e===0?1/t===1/e:!!(t===e||bR(t)&&bR(e))}});var V_=st((mut,TR)=>{"use strict";var v$=H_();TR.exports=function(){return typeof Object.is=="function"?Object.is:v$}});var PR=st((yut,CR)=>{"use strict";var _$=V_(),x$=cf();CR.exports=function(){var t=_$();return x$(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var NR=st((vut,LR)=>{"use strict";var E$=cf(),w$=q_(),S$=H_(),IR=V_(),M$=PR(),RR=w$(IR(),Object);E$(RR,{getPolyfill:IR,implementation:S$,shim:M$});LR.exports=RR});var zR=st((_ut,BR)=>{"use strict";var OR=Mg(),b$=mg()(),A$=F_(),T$=Hl(),Y_;b$?(DR=OR("RegExp.prototype.exec"),W_={},Pg=function(){throw W_},X_={toString:Pg,valueOf:Pg},typeof Symbol.toPrimitive=="symbol"&&(X_[Symbol.toPrimitive]=Pg),Y_=function(t){if(!t||typeof t!="object")return!1;var e=T$(t,"lastIndex"),o=e&&A$(e,"value");if(!o)return!1;try{DR(t,X_)}catch(s){return s===W_}}):(FR=OR("Object.prototype.toString"),UR="[object RegExp]",Y_=function(t){return!t||typeof t!="object"&&typeof t!="function"?!1:FR(t)===UR});var DR,W_,Pg,X_,FR,UR;BR.exports=Y_});var kR=st((xut,GR)=>{"use strict";var Ph=function(){return typeof function(){}.name=="string"},Ch=Object.getOwnPropertyDescriptor;if(Ch)try{Ch([],"length")}catch(n){Ch=null}Ph.functionsHaveConfigurableNames=function(){if(!Ph()||!Ch)return!1;var t=Ch(function(){},"name");return!!t&&!!t.configurable};var C$=Function.prototype.bind;Ph.boundFunctionsHaveNames=function(){return Ph()&&typeof C$=="function"&&function(){}.bind().name!==""};GR.exports=Ph});var VR=st((Eut,HR)=>{"use strict";var qR=Ag(),P$=Tg()(),I$=kR().functionsHaveConfigurableNames(),R$=ql();HR.exports=function(t,e){if(typeof t!="function")throw new R$("\`fn\` is not a function");var o=arguments.length>2&&!!arguments[2];return(!o||I$)&&(P$?qR(t,"name",e,!0,!0):qR(t,"name",e)),t}});var $_=st((wut,WR)=>{"use strict";var L$=VR(),N$=ql(),O$=Object;WR.exports=L$(function(){if(this==null||this!==O$(this))throw new N$("RegExp.prototype.flags getter called on non-object");var t="";return this.hasIndices&&(t+="d"),this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),this.dotAll&&(t+="s"),this.unicode&&(t+="u"),this.unicodeSets&&(t+="v"),this.sticky&&(t+="y"),t},"get flags",!0)});var Z_=st((Sut,XR)=>{"use strict";var D$=$_(),F$=cf().supportsDescriptors,U$=Object.getOwnPropertyDescriptor;XR.exports=function(){if(F$&&/a/mig.flags==="gim"){var t=U$(RegExp.prototype,"flags");if(t&&typeof t.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var e="",o={};if(Object.defineProperty(o,"hasIndices",{get:function(){e+="d"}}),Object.defineProperty(o,"sticky",{get:function(){e+="y"}}),t.get.call(o),e==="dy")return t.get}}return D$}});var ZR=st((Mut,$R)=>{"use strict";var B$=cf().supportsDescriptors,z$=Z_(),G$=Hl(),k$=Object.defineProperty,q$=P_(),YR=D_(),H$=/a/;$R.exports=function(){if(!B$||!YR)throw new q$("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var t=z$(),e=YR(H$),o=G$(e,"flags");return(!o||o.get!==t)&&k$(e,"flags",{configurable:!0,enumerable:!1,get:t}),t}});var QR=st((but,jR)=>{"use strict";var V$=cf(),W$=q_(),X$=$_(),JR=Z_(),Y$=ZR(),KR=W$(JR());V$(KR,{getPolyfill:JR,implementation:X$,shim:Y$});jR.exports=KR});var nL=st((Aut,eL)=>{"use strict";var tL=Mg(),$$=tL("Date.prototype.getDay"),Z$=function(t){try{return $$(t),!0}catch(e){return!1}},J$=tL("Object.prototype.toString"),K$="[object Date]",j$=mg()();eL.exports=function(t){return typeof t!="object"||t===null?!1:j$?Z$(t):J$(t)===K$}});var J_=st((Tut,pL)=>{var rL=A_(),iL=sR(),oL=NR(),sL=zR(),aL=QR(),uL=nL(),lL=Date.prototype.getTime;function hL(n,t,e){var o=e||{};return(o.strict?oL(n,t):n===t)?!0:!n||!t||typeof n!="object"&&typeof t!="object"?o.strict?oL(n,t):n==t:Q$(n,t,o)}function cL(n){return n==null}function fL(n){return!(!n||typeof n!="object"||typeof n.length!="number"||typeof n.copy!="function"||typeof n.slice!="function"||n.length>0&&typeof n[0]!="number")}function Q$(n,t,e){var o,s;if(typeof n!=typeof t||cL(n)||cL(t)||n.prototype!==t.prototype||iL(n)!==iL(t))return!1;var l=sL(n),p=sL(t);if(l!==p)return!1;if(l||p)return n.source===t.source&&aL(n)===aL(t);if(uL(n)&&uL(t))return lL.call(n)===lL.call(t);var h=fL(n),g=fL(t);if(h!==g)return!1;if(h||g){if(n.length!==t.length)return!1;for(o=0;o<n.length;o++)if(n[o]!==t[o])return!1;return!0}if(typeof n!=typeof t)return!1;try{var m=rL(n),v=rL(t)}catch(x){return!1}if(m.length!==v.length)return!1;for(m.sort(),v.sort(),o=m.length-1;o>=0;o--)if(m[o]!=v[o])return!1;for(o=m.length-1;o>=0;o--)if(s=m[o],!hL(n[s],t[s],e))return!1;return!0}pL.exports=hL});var u1=st((Nct,xL)=>{var HZ=J_(),Na=function(n){this.precision=n&&n.precision?n.precision:17,this.direction=n&&n.direction?n.direction:!1,this.pseudoNode=n&&n.pseudoNode?n.pseudoNode:!1,this.objectComparator=n&&n.objectComparator?n.objectComparator:VZ};Na.prototype.compare=function(n,t){if(n.type!==t.type||!_L(n,t))return!1;switch(n.type){case"Point":return this.compareCoord(n.coordinates,t.coordinates);case"LineString":return this.compareLine(n.coordinates,t.coordinates,0,!1);case"Polygon":return this.comparePolygon(n,t);case"Feature":return this.compareFeature(n,t);default:if(n.type.indexOf("Multi")===0){var e=this,o=vL(n),s=vL(t);return o.every(function(l){return this.some(function(p){return e.compare(l,p)})},s)}}return!1};function vL(n){return n.coordinates.map(function(t){return{type:n.type.replace("Multi",""),coordinates:t}})}function _L(n,t){return n.hasOwnProperty("coordinates")?n.coordinates.length===t.coordinates.length:n.length===t.length}Na.prototype.compareCoord=function(n,t){if(n.length!==t.length)return!1;for(var e=0;e<n.length;e++)if(n[e].toFixed(this.precision)!==t[e].toFixed(this.precision))return!1;return!0};Na.prototype.compareLine=function(n,t,e,o){if(!_L(n,t))return!1;var s=this.pseudoNode?n:this.removePseudo(n),l=this.pseudoNode?t:this.removePseudo(t);if(!(o&&!this.compareCoord(s[0],l[0])&&(l=this.fixStartIndex(l,s),!l))){var p=this.compareCoord(s[e],l[e]);return this.direction||p?this.comparePath(s,l):this.compareCoord(s[e],l[l.length-(1+e)])?this.comparePath(s.slice().reverse(),l):!1}};Na.prototype.fixStartIndex=function(n,t){for(var e,o=-1,s=0;s<n.length;s++)if(this.compareCoord(n[s],t[0])){o=s;break}return o>=0&&(e=[].concat(n.slice(o,n.length),n.slice(1,o+1))),e};Na.prototype.comparePath=function(n,t){var e=this;return n.every(function(o,s){return e.compareCoord(o,this[s])},t)};Na.prototype.comparePolygon=function(n,t){if(this.compareLine(n.coordinates[0],t.coordinates[0],1,!0)){var e=n.coordinates.slice(1,n.coordinates.length),o=t.coordinates.slice(1,t.coordinates.length),s=this;return e.every(function(l){return this.some(function(p){return s.compareLine(l,p,1,!0)})},o)}else return!1};Na.prototype.compareFeature=function(n,t){return n.id!==t.id||!this.objectComparator(n.properties,t.properties)||!this.compareBBox(n,t)?!1:this.compare(n.geometry,t.geometry)};Na.prototype.compareBBox=function(n,t){return!!(!n.bbox&&!t.bbox||n.bbox&&t.bbox&&this.compareCoord(n.bbox,t.bbox))};Na.prototype.removePseudo=function(n){return n};function VZ(n,t){return HZ(n,t,{strict:!0})}xL.exports=Na});var EL=st((Wct,Lg)=>{function il(n,t,e,o){this.dataset=[],this.epsilon=1,this.minPts=2,this.distance=this._euclideanDistance,this.clusters=[],this.noise=[],this._visited=[],this._assigned=[],this._datasetLength=0,this._init(n,t,e,o)}il.prototype.run=function(n,t,e,o){this._init(n,t,e,o);for(var s=0;s<this._datasetLength;s++)if(this._visited[s]!==1){this._visited[s]=1;var l=this._regionQuery(s);if(l.length<this.minPts)this.noise.push(s);else{var p=this.clusters.length;this.clusters.push([]),this._addToCluster(s,p),this._expandCluster(p,l)}}return this.clusters};il.prototype._init=function(n,t,e,o){if(n){if(!(n instanceof Array))throw Error("Dataset must be of type array, "+typeof n+" given");this.dataset=n,this.clusters=[],this.noise=[],this._datasetLength=n.length,this._visited=new Array(this._datasetLength),this._assigned=new Array(this._datasetLength)}t&&(this.epsilon=t),e&&(this.minPts=e),o&&(this.distance=o)};il.prototype._expandCluster=function(n,t){for(var e=0;e<t.length;e++){var o=t[e];if(this._visited[o]!==1){this._visited[o]=1;var s=this._regionQuery(o);s.length>=this.minPts&&(t=this._mergeArrays(t,s))}this._assigned[o]!==1&&this._addToCluster(o,n)}};il.prototype._addToCluster=function(n,t){this.clusters[t].push(n),this._assigned[n]=1};il.prototype._regionQuery=function(n){for(var t=[],e=0;e<this._datasetLength;e++){var o=this.distance(this.dataset[n],this.dataset[e]);o<this.epsilon&&t.push(e)}return t};il.prototype._mergeArrays=function(n,t){for(var e=t.length,o=0;o<e;o++){var s=t[o];n.indexOf(s)<0&&n.push(s)}return n};il.prototype._euclideanDistance=function(n,t){for(var e=0,o=Math.min(n.length,t.length);o--;)e+=(n[o]-t[o])*(n[o]-t[o]);return Math.sqrt(e)};typeof Lg!="undefined"&&Lg.exports&&(Lg.exports=il)});var wL=st((Xct,Ng)=>{function ol(n,t,e){this.k=3,this.dataset=[],this.assignments=[],this.centroids=[],this.init(n,t,e)}ol.prototype.init=function(n,t,e){this.assignments=[],this.centroids=[],typeof n!="undefined"&&(this.dataset=n),typeof t!="undefined"&&(this.k=t),typeof e!="undefined"&&(this.distance=e)};ol.prototype.run=function(n,t){this.init(n,t);for(var e=this.dataset.length,o=0;o<this.k;o++)this.centroids[o]=this.randomCentroid();for(var s=!0;s;){s=this.assign();for(var l=0;l<this.k;l++){for(var p=new Array(v),h=0,g=0;g<v;g++)p[g]=0;for(var m=0;m<e;m++){var v=this.dataset[m].length;if(l===this.assignments[m]){for(var g=0;g<v;g++)p[g]+=this.dataset[m][g];h++}}if(h>0){for(var g=0;g<v;g++)p[g]/=h;this.centroids[l]=p}else this.centroids[l]=this.randomCentroid(),s=!0}}return this.getClusters()};ol.prototype.randomCentroid=function(){var n=this.dataset.length-1,t,e;do e=Math.round(Math.random()*n),t=this.dataset[e];while(this.centroids.indexOf(t)>=0);return t};ol.prototype.assign=function(){for(var n=!1,t=this.dataset.length,e,o=0;o<t;o++)e=this.argmin(this.dataset[o],this.centroids,this.distance),e!=this.assignments[o]&&(this.assignments[o]=e,n=!0);return n};ol.prototype.getClusters=function(){for(var n=new Array(this.k),t,e=0;e<this.assignments.length;e++)t=this.assignments[e],typeof n[t]=="undefined"&&(n[t]=[]),n[t].push(e);return n};ol.prototype.argmin=function(n,t,e){for(var o=Number.MAX_VALUE,s=0,l=t.length,p,h=0;h<l;h++)p=e(n,t[h]),p<o&&(o=p,s=h);return s};ol.prototype.distance=function(n,t){for(var e=0,o=Math.min(n.length,t.length);o--;){var s=n[o]-t[o];e+=s*s}return Math.sqrt(e)};typeof Ng!="undefined"&&Ng.exports&&(Ng.exports=ol)});var l1=st((Yct,Og)=>{function Oa(n,t,e){this._queue=[],this._priorities=[],this._sorting="desc",this._init(n,t,e)}Oa.prototype.insert=function(n,t){for(var e=this._queue.length,o=e;o--;){var s=this._priorities[o];this._sorting==="desc"?t>s&&(e=o):t<s&&(e=o)}this._insertAt(n,t,e)};Oa.prototype.remove=function(n){for(var t=this._queue.length;t--;){var e=this._queue[t];if(n===e){this._queue.splice(t,1),this._priorities.splice(t,1);break}}};Oa.prototype.forEach=function(n){this._queue.forEach(n)};Oa.prototype.getElements=function(){return this._queue};Oa.prototype.getElementPriority=function(n){return this._priorities[n]};Oa.prototype.getPriorities=function(){return this._priorities};Oa.prototype.getElementsWithPriorities=function(){for(var n=[],t=0,e=this._queue.length;t<e;t++)n.push([this._queue[t],this._priorities[t]]);return n};Oa.prototype._init=function(n,t,e){if(n&&t){if(this._queue=[],this._priorities=[],n.length!==t.length)throw new Error("Arrays must have the same length");for(var o=0;o<n.length;o++)this.insert(n[o],t[o])}e&&(this._sorting=e)};Oa.prototype._insertAt=function(n,t,e){this._queue.length===e?(this._queue.push(n),this._priorities.push(t)):(this._queue.splice(e,0,n),this._priorities.splice(e,0,t))};typeof Og!="undefined"&&Og.exports&&(Og.exports=Oa)});var ML=st(($ct,hf)=>{typeof hf!="undefined"&&hf.exports&&(SL=l1());var SL;function gu(n,t,e,o){this.epsilon=1,this.minPts=1,this.distance=this._euclideanDistance,this._reachability=[],this._processed=[],this._coreDistance=0,this._orderedList=[],this._init(n,t,e,o)}gu.prototype.run=function(n,t,e,o){this._init(n,t,e,o);for(var s=0,l=this.dataset.length;s<l;s++)if(this._processed[s]!==1){this._processed[s]=1,this.clusters.push([s]);var p=this.clusters.length-1;this._orderedList.push(s);var h=new SL(null,null,"asc"),g=this._regionQuery(s);this._distanceToCore(s)!==void 0&&(this._updateQueue(s,g,h),this._expandCluster(p,h))}return this.clusters};gu.prototype.getReachabilityPlot=function(){for(var n=[],t=0,e=this._orderedList.length;t<e;t++){var o=this._orderedList[t],s=this._reachability[o];n.push([o,s])}return n};gu.prototype._init=function(n,t,e,o){if(n){if(!(n instanceof Array))throw Error("Dataset must be of type array, "+typeof n+" given");this.dataset=n,this.clusters=[],this._reachability=new Array(this.dataset.length),this._processed=new Array(this.dataset.length),this._coreDistance=0,this._orderedList=[]}t&&(this.epsilon=t),e&&(this.minPts=e),o&&(this.distance=o)};gu.prototype._updateQueue=function(n,t,e){var o=this;this._coreDistance=this._distanceToCore(n),t.forEach(function(s){if(o._processed[s]===void 0){var l=o.distance(o.dataset[n],o.dataset[s]),p=Math.max(o._coreDistance,l);o._reachability[s]===void 0?(o._reachability[s]=p,e.insert(s,p)):p<o._reachability[s]&&(o._reachability[s]=p,e.remove(s),e.insert(s,p))}})};gu.prototype._expandCluster=function(n,t){for(var e=t.getElements(),o=0,s=e.length;o<s;o++){var l=e[o];if(this._processed[l]===void 0){var p=this._regionQuery(l);this._processed[l]=1,this.clusters[n].push(l),this._orderedList.push(l),this._distanceToCore(l)!==void 0&&(this._updateQueue(l,p,t),this._expandCluster(n,t))}}};gu.prototype._distanceToCore=function(n){for(var t=this.epsilon,e=0;e<t;e++){var o=this._regionQuery(n,e);if(o.length>=this.minPts)return e}};gu.prototype._regionQuery=function(n,t){t=t||this.epsilon;for(var e=[],o=0,s=this.dataset.length;o<s;o++)this.distance(this.dataset[n],this.dataset[o])<t&&e.push(o);return e};gu.prototype._euclideanDistance=function(n,t){for(var e=0,o=Math.min(n.length,t.length);o--;)e+=(n[o]-t[o])*(n[o]-t[o]);return Math.sqrt(e)};typeof hf!="undefined"&&hf.exports&&(hf.exports=gu)});var bL=st((Zct,Dg)=>{typeof Dg!="undefined"&&Dg.exports&&(Dg.exports={DBSCAN:EL(),KMEANS:wL(),OPTICS:ML(),PriorityQueue:l1()})});var c1=st((eft,TL)=>{"use strict";TL.exports={eudist:function(t,e,o){for(var s=t.length,l=0,p=0;p<s;p++){var h=(t[p]||0)-(e[p]||0);l+=h*h}return o?Math.sqrt(l):l},mandist:function(t,e,o){for(var s=t.length,l=0,p=0;p<s;p++)l+=Math.abs((t[p]||0)-(e[p]||0));return o?Math.sqrt(l):l},dist:function(t,e,o){var s=Math.abs(t-e);return o?s:s*s}}});var IL=st((nft,PL)=>{"use strict";var CL=c1(),JZ=CL.eudist,KZ=CL.dist;PL.exports={kmrand:function(t,e){for(var o={},s=[],l=e<<2,p=t.length,h=t[0].length>0;s.length<e&&l-- >0;){var g=t[Math.floor(Math.random()*p)],m=h?g.join("_"):""+g;o[m]||(o[m]=!0,s.push(g))}if(s.length<e)throw new Error("Error initializating clusters");return s},kmpp:function(t,e){var o=t[0].length?JZ:KZ,s=[],l=t.length,p=t[0].length>0,h={},g=t[Math.floor(Math.random()*l)],m=p?g.join("_"):""+g;for(s.push(g),h[m]=!0;s.length<e;){for(var v=[],x=s.length,E=0,M=[],A=0;A<l;A++){for(var I=1/0,S=0;S<x;S++){var w=o(t[A],s[S]);w<=I&&(I=w)}v[A]=I}for(var R=0;R<l;R++)E+=v[R];for(var C=0;C<l;C++)M[C]={i:C,v:t[C],pr:v[C]/E,cs:0};M.sort(function(q,D){return q.pr-D.pr}),M[0].cs=M[0].pr;for(var F=1;F<l;F++)M[F].cs=M[F-1].cs+M[F].pr;for(var V=Math.random(),X=0;X<l-1&&M[X++].cs<V;);s.push(M[X-1].v)}return s}}});var DL=st((oft,OL)=>{"use strict";var f1=c1(),NL=IL(),jZ=f1.eudist,rft=f1.mandist,ift=f1.dist,QZ=NL.kmrand,tJ=NL.kmpp,RL=1e4;function LL(n,t,e){e=e||[];for(var o=0;o<n;o++)e[o]=t;return e}function eJ(n,t,e,o){var s=[],l=[],p=[],h=[],g=!1,m=o||RL,v=n.length,x=n[0].length,E=x>0,M=[];if(e)e=="kmrand"?s=QZ(n,t):e=="kmpp"?s=tJ(n,t):s=e;else for(var A={};s.length<t;){var I=Math.floor(Math.random()*v);A[I]||(A[I]=!0,s.push(n[I]))}do{LL(t,0,M);for(var S=0;S<v;S++){for(var w=1/0,R=0,C=0;C<t;C++){var h=E?jZ(n[S],s[C]):Math.abs(n[S]-s[C]);h<=w&&(w=h,R=C)}p[S]=R,M[R]++}for(var F=[],l=[],V=0,X=0;X<t;X++)F[X]=E?LL(x,0,F[X]):0,l[X]=s[X];if(E){for(var q=0;q<t;q++)s[q]=[];for(var D=0;D<v;D++)for(var xt=p[D],B=F[xt],j=n[D],J=0;J<x;J++)B[J]+=j[J];g=!0;for(var Dt=0;Dt<t;Dt++){for(var Q=s[Dt],At=F[Dt],Mt=l[Dt],Lt=M[Dt],pt=0;pt<x;pt++)Q[pt]=At[pt]/Lt||0;if(g){for(var yt=0;yt<x;yt++)if(Mt[yt]!=Q[yt]){g=!1;break}}}}else{for(var K=0;K<v;K++){var Bt=p[K];F[Bt]+=n[K]}for(var Gt=0;Gt<t;Gt++)s[Gt]=F[Gt]/M[Gt]||0;g=!0;for(var ae=0;ae<t;ae++)if(l[ae]!=s[ae]){g=!1;break}}g=g||--m<=0}while(!g);return{it:RL-m,k:t,idxs:p,centroids:s}}OL.exports=eJ});var yf=st((y1,v1)=>{(function(n,t){typeof y1=="object"&&typeof v1!="undefined"?v1.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis!="undefined"?globalThis:n||self,n.polygonClipping=t())})(y1,function(){"use strict";function n(rt,P){var N={label:0,sent:function(){if(W[0]&1)throw W[1];return W[1]},trys:[],ops:[]},k,$,W,ht;return ht={next:at(0),throw:at(1),return:at(2)},typeof Symbol=="function"&&(ht[Symbol.iterator]=function(){return this}),ht;function at(Et){return function(G){return wt([Et,G])}}function wt(Et){if(k)throw new TypeError("Generator is already executing.");for(;N;)try{if(k=1,$&&(W=Et[0]&2?$.return:Et[0]?$.throw||((W=$.return)&&W.call($),0):$.next)&&!(W=W.call($,Et[1])).done)return W;switch($=0,W&&(Et=[Et[0]&2,W.value]),Et[0]){case 0:case 1:W=Et;break;case 4:return N.label++,{value:Et[1],done:!1};case 5:N.label++,$=Et[1],Et=[0];continue;case 7:Et=N.ops.pop(),N.trys.pop();continue;default:if(W=N.trys,!(W=W.length>0&&W[W.length-1])&&(Et[0]===6||Et[0]===2)){N=0;continue}if(Et[0]===3&&(!W||Et[1]>W[0]&&Et[1]<W[3])){N.label=Et[1];break}if(Et[0]===6&&N.label<W[1]){N.label=W[1],W=Et;break}if(W&&N.label<W[2]){N.label=W[2],N.ops.push(Et);break}W[2]&&N.ops.pop(),N.trys.pop();continue}Et=P.call(rt,N)}catch(G){Et=[6,G],$=0}finally{k=W=0}if(Et[0]&5)throw Et[1];return{value:Et[0]?Et[1]:void 0,done:!0}}}var t=function(){function rt(P,N){this.next=null,this.key=P,this.data=N,this.left=null,this.right=null}return rt}();function e(rt,P){return rt>P?1:rt<P?-1:0}function o(rt,P,N){for(var k=new t(null,null),$=k,W=k;;){var ht=N(rt,P.key);if(ht<0){if(P.left===null)break;if(N(rt,P.left.key)<0){var at=P.left;if(P.left=at.right,at.right=P,P=at,P.left===null)break}W.left=P,W=P,P=P.left}else if(ht>0){if(P.right===null)break;if(N(rt,P.right.key)>0){var at=P.right;if(P.right=at.left,at.left=P,P=at,P.right===null)break}$.right=P,$=P,P=P.right}else break}return $.right=P.left,W.left=P.right,P.left=k.right,P.right=k.left,P}function s(rt,P,N,k){var $=new t(rt,P);if(N===null)return $.left=$.right=null,$;N=o(rt,N,k);var W=k(rt,N.key);return W<0?($.left=N.left,$.right=N,N.left=null):W>=0&&($.right=N.right,$.left=N,N.right=null),$}function l(rt,P,N){var k=null,$=null;if(P){P=o(rt,P,N);var W=N(P.key,rt);W===0?(k=P.left,$=P.right):W<0?($=P.right,P.right=null,k=P):(k=P.left,P.left=null,$=P)}return{left:k,right:$}}function p(rt,P,N){return P===null?rt:(rt===null||(P=o(rt.key,P,N),P.left=rt),P)}function h(rt,P,N,k,$){if(rt){k(""+P+(N?"\\u2514\\u2500\\u2500 ":"\\u251C\\u2500\\u2500 ")+$(rt)+\`
19757
19757
  \`);var W=P+(N?" ":"\\u2502 ");rt.left&&h(rt.left,W,!1,k,$),rt.right&&h(rt.right,W,!0,k,$)}}var g=function(){function rt(P){P===void 0&&(P=e),this._root=null,this._size=0,this._comparator=P}return rt.prototype.insert=function(P,N){return this._size++,this._root=s(P,N,this._root,this._comparator)},rt.prototype.add=function(P,N){var k=new t(P,N);this._root===null&&(k.left=k.right=null,this._size++,this._root=k);var $=this._comparator,W=o(P,this._root,$),ht=$(P,W.key);return ht===0?this._root=W:(ht<0?(k.left=W.left,k.right=W,W.left=null):ht>0&&(k.right=W.right,k.left=W,W.right=null),this._size++,this._root=k),this._root},rt.prototype.remove=function(P){this._root=this._remove(P,this._root,this._comparator)},rt.prototype._remove=function(P,N,k){var $;if(N===null)return null;N=o(P,N,k);var W=k(P,N.key);return W===0?(N.left===null?$=N.right:($=o(P,N.left,k),$.right=N.right),this._size--,$):N},rt.prototype.pop=function(){var P=this._root;if(P){for(;P.left;)P=P.left;return this._root=o(P.key,this._root,this._comparator),this._root=this._remove(P.key,this._root,this._comparator),{key:P.key,data:P.data}}return null},rt.prototype.findStatic=function(P){for(var N=this._root,k=this._comparator;N;){var $=k(P,N.key);if($===0)return N;$<0?N=N.left:N=N.right}return null},rt.prototype.find=function(P){return this._root&&(this._root=o(P,this._root,this._comparator),this._comparator(P,this._root.key)!==0)?null:this._root},rt.prototype.contains=function(P){for(var N=this._root,k=this._comparator;N;){var $=k(P,N.key);if($===0)return!0;$<0?N=N.left:N=N.right}return!1},rt.prototype.forEach=function(P,N){for(var k=this._root,$=[],W=!1;!W;)k!==null?($.push(k),k=k.left):$.length!==0?(k=$.pop(),P.call(N,k),k=k.right):W=!0;return this},rt.prototype.range=function(P,N,k,$){for(var W=[],ht=this._comparator,at=this._root,wt;W.length!==0||at;)if(at)W.push(at),at=at.left;else{if(at=W.pop(),wt=ht(at.key,N),wt>0)break;if(ht(at.key,P)>=0&&k.call($,at))return this;at=at.right}return this},rt.prototype.keys=function(){var P=[];return this.forEach(function(N){var k=N.key;return P.push(k)}),P},rt.prototype.values=function(){var P=[];return this.forEach(function(N){var k=N.data;return P.push(k)}),P},rt.prototype.min=function(){return this._root?this.minNode(this._root).key:null},rt.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},rt.prototype.minNode=function(P){if(P===void 0&&(P=this._root),P)for(;P.left;)P=P.left;return P},rt.prototype.maxNode=function(P){if(P===void 0&&(P=this._root),P)for(;P.right;)P=P.right;return P},rt.prototype.at=function(P){for(var N=this._root,k=!1,$=0,W=[];!k;)if(N)W.push(N),N=N.left;else if(W.length>0){if(N=W.pop(),$===P)return N;$++,N=N.right}else k=!0;return null},rt.prototype.next=function(P){var N=this._root,k=null;if(P.right){for(k=P.right;k.left;)k=k.left;return k}for(var $=this._comparator;N;){var W=$(P.key,N.key);if(W===0)break;W<0?(k=N,N=N.left):N=N.right}return k},rt.prototype.prev=function(P){var N=this._root,k=null;if(P.left!==null){for(k=P.left;k.right;)k=k.right;return k}for(var $=this._comparator;N;){var W=$(P.key,N.key);if(W===0)break;W<0?N=N.left:(k=N,N=N.right)}return k},rt.prototype.clear=function(){return this._root=null,this._size=0,this},rt.prototype.toList=function(){return x(this._root)},rt.prototype.load=function(P,N,k){N===void 0&&(N=[]),k===void 0&&(k=!1);var $=P.length,W=this._comparator;if(k&&A(P,N,0,$-1,W),this._root===null)this._root=m(P,N,0,$),this._size=$;else{var ht=M(this.toList(),v(P,N),W);$=this._size+$,this._root=E({head:ht},0,$)}return this},rt.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(rt.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(rt.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),rt.prototype.toString=function(P){P===void 0&&(P=function(k){return String(k.key)});var N=[];return h(this._root,"",!0,function(k){return N.push(k)},P),N.join("")},rt.prototype.update=function(P,N,k){var $=this._comparator,W=l(P,this._root,$),ht=W.left,at=W.right;$(P,N)<0?at=s(N,k,at,$):ht=s(N,k,ht,$),this._root=p(ht,at,$)},rt.prototype.split=function(P){return l(P,this._root,this._comparator)},rt.prototype[Symbol.iterator]=function(){var P,N,k;return n(this,function($){switch($.label){case 0:P=this._root,N=[],k=!1,$.label=1;case 1:return k?[3,6]:P===null?[3,2]:(N.push(P),P=P.left,[3,5]);case 2:return N.length===0?[3,4]:(P=N.pop(),[4,P]);case 3:return $.sent(),P=P.right,[3,5];case 4:k=!0,$.label=5;case 5:return[3,1];case 6:return[2]}})},rt}();function m(rt,P,N,k){var $=k-N;if($>0){var W=N+Math.floor($/2),ht=rt[W],at=P[W],wt=new t(ht,at);return wt.left=m(rt,P,N,W),wt.right=m(rt,P,W+1,k),wt}return null}function v(rt,P){for(var N=new t(null,null),k=N,$=0;$<rt.length;$++)k=k.next=new t(rt[$],P[$]);return k.next=null,N.next}function x(rt){for(var P=rt,N=[],k=!1,$=new t(null,null),W=$;!k;)P?(N.push(P),P=P.left):N.length>0?(P=W=W.next=N.pop(),P=P.right):k=!0;return W.next=null,$.next}function E(rt,P,N){var k=N-P;if(k>0){var $=P+Math.floor(k/2),W=E(rt,P,$),ht=rt.head;return ht.left=W,rt.head=rt.head.next,ht.right=E(rt,$+1,N),ht}return null}function M(rt,P,N){for(var k=new t(null,null),$=k,W=rt,ht=P;W!==null&&ht!==null;)N(W.key,ht.key)<0?($.next=W,W=W.next):($.next=ht,ht=ht.next),$=$.next;return W!==null?$.next=W:ht!==null&&($.next=ht),k.next}function A(rt,P,N,k,$){if(!(N>=k)){for(var W=rt[N+k>>1],ht=N-1,at=k+1;;){do ht++;while($(rt[ht],W)<0);do at--;while($(rt[at],W)>0);if(ht>=at)break;var wt=rt[ht];rt[ht]=rt[at],rt[at]=wt,wt=P[ht],P[ht]=P[at],P[at]=wt}A(rt,P,N,at,$),A(rt,P,at+1,k,$)}}let I=(rt,P)=>rt.ll.x<=P.x&&P.x<=rt.ur.x&&rt.ll.y<=P.y&&P.y<=rt.ur.y,S=(rt,P)=>{if(P.ur.x<rt.ll.x||rt.ur.x<P.ll.x||P.ur.y<rt.ll.y||rt.ur.y<P.ll.y)return null;let N=rt.ll.x<P.ll.x?P.ll.x:rt.ll.x,k=rt.ur.x<P.ur.x?rt.ur.x:P.ur.x,$=rt.ll.y<P.ll.y?P.ll.y:rt.ll.y,W=rt.ur.y<P.ur.y?rt.ur.y:P.ur.y;return{ll:{x:N,y:$},ur:{x:k,y:W}}},w=Number.EPSILON;w===void 0&&(w=Math.pow(2,-52));let R=w*w,C=(rt,P)=>{if(-w<rt&&rt<w&&-w<P&&P<w)return 0;let N=rt-P;return N*N<R*rt*P?0:rt<P?-1:1};class F{constructor(){this.reset()}reset(){this.xRounder=new V,this.yRounder=new V}round(P,N){return{x:this.xRounder.round(P),y:this.yRounder.round(N)}}}class V{constructor(){this.tree=new g,this.round(0)}round(P){let N=this.tree.add(P),k=this.tree.prev(N);if(k!==null&&C(N.key,k.key)===0)return this.tree.remove(P),k.key;let $=this.tree.next(N);return $!==null&&C(N.key,$.key)===0?(this.tree.remove(P),$.key):P}}let X=new F,q=11102230246251565e-32,D=134217729,xt=(3+8*q)*q;function B(rt,P,N,k,$){let W,ht,at,wt,Et=P[0],G=k[0],ot=0,et=0;G>Et==G>-Et?(W=Et,Et=P[++ot]):(W=G,G=k[++et]);let lt=0;if(ot<rt&&et<N)for(G>Et==G>-Et?(ht=Et+W,at=W-(ht-Et),Et=P[++ot]):(ht=G+W,at=W-(ht-G),G=k[++et]),W=ht,at!==0&&($[lt++]=at);ot<rt&&et<N;)G>Et==G>-Et?(ht=W+Et,wt=ht-W,at=W-(ht-wt)+(Et-wt),Et=P[++ot]):(ht=W+G,wt=ht-W,at=W-(ht-wt)+(G-wt),G=k[++et]),W=ht,at!==0&&($[lt++]=at);for(;ot<rt;)ht=W+Et,wt=ht-W,at=W-(ht-wt)+(Et-wt),Et=P[++ot],W=ht,at!==0&&($[lt++]=at);for(;et<N;)ht=W+G,wt=ht-W,at=W-(ht-wt)+(G-wt),G=k[++et],W=ht,at!==0&&($[lt++]=at);return(W!==0||lt===0)&&($[lt++]=W),lt}function j(rt,P){let N=P[0];for(let k=1;k<rt;k++)N+=P[k];return N}function J(rt){return new Float64Array(rt)}let Dt=(3+16*q)*q,Q=(2+12*q)*q,At=(9+64*q)*q*q,Mt=J(4),Lt=J(8),pt=J(12),yt=J(16),K=J(4);function Bt(rt,P,N,k,$,W,ht){let at,wt,Et,G,ot,et,lt,Ft,Kt,me,ve,qe,Ue,Xe,Je,wr,Jr,nr,Ie=rt-$,rr=N-$,pr=P-W,ur=k-W;Xe=Ie*ur,et=D*Ie,lt=et-(et-Ie),Ft=Ie-lt,et=D*ur,Kt=et-(et-ur),me=ur-Kt,Je=Ft*me-(Xe-lt*Kt-Ft*Kt-lt*me),wr=pr*rr,et=D*pr,lt=et-(et-pr),Ft=pr-lt,et=D*rr,Kt=et-(et-rr),me=rr-Kt,Jr=Ft*me-(wr-lt*Kt-Ft*Kt-lt*me),ve=Je-Jr,ot=Je-ve,Mt[0]=Je-(ve+ot)+(ot-Jr),qe=Xe+ve,ot=qe-Xe,Ue=Xe-(qe-ot)+(ve-ot),ve=Ue-wr,ot=Ue-ve,Mt[1]=Ue-(ve+ot)+(ot-wr),nr=qe+ve,ot=nr-qe,Mt[2]=qe-(nr-ot)+(ve-ot),Mt[3]=nr;let Qn=j(4,Mt),bi=Q*ht;if(Qn>=bi||-Qn>=bi||(ot=rt-Ie,at=rt-(Ie+ot)+(ot-$),ot=N-rr,Et=N-(rr+ot)+(ot-$),ot=P-pr,wt=P-(pr+ot)+(ot-W),ot=k-ur,G=k-(ur+ot)+(ot-W),at===0&&wt===0&&Et===0&&G===0)||(bi=At*ht+xt*Math.abs(Qn),Qn+=Ie*G+ur*at-(pr*Et+rr*wt),Qn>=bi||-Qn>=bi))return Qn;Xe=at*ur,et=D*at,lt=et-(et-at),Ft=at-lt,et=D*ur,Kt=et-(et-ur),me=ur-Kt,Je=Ft*me-(Xe-lt*Kt-Ft*Kt-lt*me),wr=wt*rr,et=D*wt,lt=et-(et-wt),Ft=wt-lt,et=D*rr,Kt=et-(et-rr),me=rr-Kt,Jr=Ft*me-(wr-lt*Kt-Ft*Kt-lt*me),ve=Je-Jr,ot=Je-ve,K[0]=Je-(ve+ot)+(ot-Jr),qe=Xe+ve,ot=qe-Xe,Ue=Xe-(qe-ot)+(ve-ot),ve=Ue-wr,ot=Ue-ve,K[1]=Ue-(ve+ot)+(ot-wr),nr=qe+ve,ot=nr-qe,K[2]=qe-(nr-ot)+(ve-ot),K[3]=nr;let oi=B(4,Mt,4,K,Lt);Xe=Ie*G,et=D*Ie,lt=et-(et-Ie),Ft=Ie-lt,et=D*G,Kt=et-(et-G),me=G-Kt,Je=Ft*me-(Xe-lt*Kt-Ft*Kt-lt*me),wr=pr*Et,et=D*pr,lt=et-(et-pr),Ft=pr-lt,et=D*Et,Kt=et-(et-Et),me=Et-Kt,Jr=Ft*me-(wr-lt*Kt-Ft*Kt-lt*me),ve=Je-Jr,ot=Je-ve,K[0]=Je-(ve+ot)+(ot-Jr),qe=Xe+ve,ot=qe-Xe,Ue=Xe-(qe-ot)+(ve-ot),ve=Ue-wr,ot=Ue-ve,K[1]=Ue-(ve+ot)+(ot-wr),nr=qe+ve,ot=nr-qe,K[2]=qe-(nr-ot)+(ve-ot),K[3]=nr;let Z=B(oi,Lt,4,K,pt);Xe=at*G,et=D*at,lt=et-(et-at),Ft=at-lt,et=D*G,Kt=et-(et-G),me=G-Kt,Je=Ft*me-(Xe-lt*Kt-Ft*Kt-lt*me),wr=wt*Et,et=D*wt,lt=et-(et-wt),Ft=wt-lt,et=D*Et,Kt=et-(et-Et),me=Et-Kt,Jr=Ft*me-(wr-lt*Kt-Ft*Kt-lt*me),ve=Je-Jr,ot=Je-ve,K[0]=Je-(ve+ot)+(ot-Jr),qe=Xe+ve,ot=qe-Xe,Ue=Xe-(qe-ot)+(ve-ot),ve=Ue-wr,ot=Ue-ve,K[1]=Ue-(ve+ot)+(ot-wr),nr=qe+ve,ot=nr-qe,K[2]=qe-(nr-ot)+(ve-ot),K[3]=nr;let mt=B(Z,pt,4,K,yt);return yt[mt-1]}function Gt(rt,P,N,k,$,W){let ht=(P-W)*(N-$),at=(rt-$)*(k-W),wt=ht-at,Et=Math.abs(ht+at);return Math.abs(wt)>=Dt*Et?wt:-Bt(rt,P,N,k,$,W,Et)}let ae=(rt,P)=>rt.x*P.y-rt.y*P.x,ut=(rt,P)=>rt.x*P.x+rt.y*P.y,Ut=(rt,P,N)=>{let k=Gt(rt.x,rt.y,P.x,P.y,N.x,N.y);return k>0?-1:k<0?1:0},jt=rt=>Math.sqrt(ut(rt,rt)),ce=(rt,P,N)=>{let k={x:P.x-rt.x,y:P.y-rt.y},$={x:N.x-rt.x,y:N.y-rt.y};return ae($,k)/jt($)/jt(k)},te=(rt,P,N)=>{let k={x:P.x-rt.x,y:P.y-rt.y},$={x:N.x-rt.x,y:N.y-rt.y};return ut($,k)/jt($)/jt(k)},$t=(rt,P,N)=>P.y===0?null:{x:rt.x+P.x/P.y*(N-rt.y),y:N},qt=(rt,P,N)=>P.x===0?null:{x:N,y:rt.y+P.y/P.x*(N-rt.x)},xe=(rt,P,N,k)=>{if(P.x===0)return qt(N,k,rt.x);if(k.x===0)return qt(rt,P,N.x);if(P.y===0)return $t(N,k,rt.y);if(k.y===0)return $t(rt,P,N.y);let $=ae(P,k);if($==0)return null;let W={x:N.x-rt.x,y:N.y-rt.y},ht=ae(W,P)/$,at=ae(W,k)/$,wt=rt.x+at*P.x,Et=N.x+ht*k.x,G=rt.y+at*P.y,ot=N.y+ht*k.y,et=(wt+Et)/2,lt=(G+ot)/2;return{x:et,y:lt}};class ft{static compare(P,N){let k=ft.comparePoints(P.point,N.point);return k!==0?k:(P.point!==N.point&&P.link(N),P.isLeft!==N.isLeft?P.isLeft?1:-1:ee.compare(P.segment,N.segment))}static comparePoints(P,N){return P.x<N.x?-1:P.x>N.x?1:P.y<N.y?-1:P.y>N.y?1:0}constructor(P,N){P.events===void 0?P.events=[this]:P.events.push(this),this.point=P,this.isLeft=N}link(P){if(P.point===this.point)throw new Error("Tried to link already linked events");let N=P.point.events;for(let k=0,$=N.length;k<$;k++){let W=N[k];this.point.events.push(W),W.point=this.point}this.checkForConsuming()}checkForConsuming(){let P=this.point.events.length;for(let N=0;N<P;N++){let k=this.point.events[N];if(k.segment.consumedBy===void 0)for(let $=N+1;$<P;$++){let W=this.point.events[$];W.consumedBy===void 0&&k.otherSE.point.events===W.otherSE.point.events&&k.segment.consume(W.segment)}}}getAvailableLinkedEvents(){let P=[];for(let N=0,k=this.point.events.length;N<k;N++){let $=this.point.events[N];$!==this&&!$.segment.ringOut&&$.segment.isInResult()&&P.push($)}return P}getLeftmostComparator(P){let N=new Map,k=$=>{let W=$.otherSE;N.set($,{sine:ce(this.point,P.point,W.point),cosine:te(this.point,P.point,W.point)})};return($,W)=>{N.has($)||k($),N.has(W)||k(W);let{sine:ht,cosine:at}=N.get($),{sine:wt,cosine:Et}=N.get(W);return ht>=0&&wt>=0?at<Et?1:at>Et?-1:0:ht<0&&wt<0?at<Et?-1:at>Et?1:0:wt<ht?-1:wt>ht?1:0}}}let We=0;class ee{static compare(P,N){let k=P.leftSE.point.x,$=N.leftSE.point.x,W=P.rightSE.point.x,ht=N.rightSE.point.x;if(ht<k)return 1;if(W<$)return-1;let at=P.leftSE.point.y,wt=N.leftSE.point.y,Et=P.rightSE.point.y,G=N.rightSE.point.y;if(k<$){if(wt<at&&wt<Et)return 1;if(wt>at&&wt>Et)return-1;let ot=P.comparePoint(N.leftSE.point);if(ot<0)return 1;if(ot>0)return-1;let et=N.comparePoint(P.rightSE.point);return et!==0?et:-1}if(k>$){if(at<wt&&at<G)return-1;if(at>wt&&at>G)return 1;let ot=N.comparePoint(P.leftSE.point);if(ot!==0)return ot;let et=P.comparePoint(N.rightSE.point);return et<0?1:et>0?-1:1}if(at<wt)return-1;if(at>wt)return 1;if(W<ht){let ot=N.comparePoint(P.rightSE.point);if(ot!==0)return ot}if(W>ht){let ot=P.comparePoint(N.rightSE.point);if(ot<0)return 1;if(ot>0)return-1}if(W!==ht){let ot=Et-at,et=W-k,lt=G-wt,Ft=ht-$;if(ot>et&&lt<Ft)return 1;if(ot<et&&lt>Ft)return-1}return W>ht?1:W<ht||Et<G?-1:Et>G?1:P.id<N.id?-1:P.id>N.id?1:0}constructor(P,N,k,$){this.id=++We,this.leftSE=P,P.segment=this,P.otherSE=N,this.rightSE=N,N.segment=this,N.otherSE=P,this.rings=k,this.windings=$}static fromRing(P,N,k){let $,W,ht,at=ft.comparePoints(P,N);if(at<0)$=P,W=N,ht=1;else if(at>0)$=N,W=P,ht=-1;else throw new Error(\`Tried to create degenerate segment at [\${P.x}, \${P.y}]\`);let wt=new ft($,!0),Et=new ft(W,!1);return new ee(wt,Et,[k],[ht])}replaceRightSE(P){this.rightSE=P,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){let P=this.leftSE.point.y,N=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:P<N?P:N},ur:{x:this.rightSE.point.x,y:P>N?P:N}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(P){return P.x===this.leftSE.point.x&&P.y===this.leftSE.point.y||P.x===this.rightSE.point.x&&P.y===this.rightSE.point.y}comparePoint(P){if(this.isAnEndpoint(P))return 0;let N=this.leftSE.point,k=this.rightSE.point,$=this.vector();if(N.x===k.x)return P.x===N.x?0:P.x<N.x?1:-1;let W=(P.y-N.y)/$.y,ht=N.x+W*$.x;if(P.x===ht)return 0;let at=(P.x-N.x)/$.x,wt=N.y+at*$.y;return P.y===wt?0:P.y<wt?-1:1}getIntersection(P){let N=this.bbox(),k=P.bbox(),$=S(N,k);if($===null)return null;let W=this.leftSE.point,ht=this.rightSE.point,at=P.leftSE.point,wt=P.rightSE.point,Et=I(N,at)&&this.comparePoint(at)===0,G=I(k,W)&&P.comparePoint(W)===0,ot=I(N,wt)&&this.comparePoint(wt)===0,et=I(k,ht)&&P.comparePoint(ht)===0;if(G&&Et)return et&&!ot?ht:!et&&ot?wt:null;if(G)return ot&&W.x===wt.x&&W.y===wt.y?null:W;if(Et)return et&&ht.x===at.x&&ht.y===at.y?null:at;if(et&&ot)return null;if(et)return ht;if(ot)return wt;let lt=xe(W,this.vector(),at,P.vector());return lt===null||!I($,lt)?null:X.round(lt.x,lt.y)}split(P){let N=[],k=P.events!==void 0,$=new ft(P,!0),W=new ft(P,!1),ht=this.rightSE;this.replaceRightSE(W),N.push(W),N.push($);let at=new ee($,ht,this.rings.slice(),this.windings.slice());return ft.comparePoints(at.leftSE.point,at.rightSE.point)>0&&at.swapEvents(),ft.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),k&&($.checkForConsuming(),W.checkForConsuming()),N}swapEvents(){let P=this.rightSE;this.rightSE=this.leftSE,this.leftSE=P,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let N=0,k=this.windings.length;N<k;N++)this.windings[N]*=-1}consume(P){let N=this,k=P;for(;N.consumedBy;)N=N.consumedBy;for(;k.consumedBy;)k=k.consumedBy;let $=ee.compare(N,k);if($!==0){if($>0){let W=N;N=k,k=W}if(N.prev===k){let W=N;N=k,k=W}for(let W=0,ht=k.rings.length;W<ht;W++){let at=k.rings[W],wt=k.windings[W],Et=N.rings.indexOf(at);Et===-1?(N.rings.push(at),N.windings.push(wt)):N.windings[Et]+=wt}k.rings=null,k.windings=null,k.consumedBy=N,k.leftSE.consumedBy=N.leftSE,k.rightSE.consumedBy=N.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{let P=this.prev.consumedBy||this.prev;this._beforeState=P.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;let P=this.beforeState();this._afterState={rings:P.rings.slice(0),windings:P.windings.slice(0),multiPolys:[]};let N=this._afterState.rings,k=this._afterState.windings,$=this._afterState.multiPolys;for(let at=0,wt=this.rings.length;at<wt;at++){let Et=this.rings[at],G=this.windings[at],ot=N.indexOf(Et);ot===-1?(N.push(Et),k.push(G)):k[ot]+=G}let W=[],ht=[];for(let at=0,wt=N.length;at<wt;at++){if(k[at]===0)continue;let Et=N[at],G=Et.poly;if(ht.indexOf(G)===-1)if(Et.isExterior)W.push(G);else{ht.indexOf(G)===-1&&ht.push(G);let ot=W.indexOf(Et.poly);ot!==-1&&W.splice(ot,1)}}for(let at=0,wt=W.length;at<wt;at++){let Et=W[at].multiPoly;$.indexOf(Et)===-1&&$.push(Et)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;let P=this.beforeState().multiPolys,N=this.afterState().multiPolys;switch(dt.type){case"union":{let k=P.length===0,$=N.length===0;this._isInResult=k!==$;break}case"intersection":{let k,$;P.length<N.length?(k=P.length,$=N.length):(k=N.length,$=P.length),this._isInResult=$===dt.numMultiPolys&&k<$;break}case"xor":{let k=Math.abs(P.length-N.length);this._isInResult=k%2===1;break}case"difference":{let k=$=>$.length===1&&$[0].isSubject;this._isInResult=k(P)!==k(N);break}default:throw new Error(\`Unrecognized operation type found \${dt.type}\`)}return this._isInResult}}class ge{constructor(P,N,k){if(!Array.isArray(P)||P.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=N,this.isExterior=k,this.segments=[],typeof P[0][0]!="number"||typeof P[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let $=X.round(P[0][0],P[0][1]);this.bbox={ll:{x:$.x,y:$.y},ur:{x:$.x,y:$.y}};let W=$;for(let ht=1,at=P.length;ht<at;ht++){if(typeof P[ht][0]!="number"||typeof P[ht][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let wt=X.round(P[ht][0],P[ht][1]);wt.x===W.x&&wt.y===W.y||(this.segments.push(ee.fromRing(W,wt,this)),wt.x<this.bbox.ll.x&&(this.bbox.ll.x=wt.x),wt.y<this.bbox.ll.y&&(this.bbox.ll.y=wt.y),wt.x>this.bbox.ur.x&&(this.bbox.ur.x=wt.x),wt.y>this.bbox.ur.y&&(this.bbox.ur.y=wt.y),W=wt)}($.x!==W.x||$.y!==W.y)&&this.segments.push(ee.fromRing(W,$,this))}getSweepEvents(){let P=[];for(let N=0,k=this.segments.length;N<k;N++){let $=this.segments[N];P.push($.leftSE),P.push($.rightSE)}return P}}class fe{constructor(P,N){if(!Array.isArray(P))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new ge(P[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let k=1,$=P.length;k<$;k++){let W=new ge(P[k],this,!1);W.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=W.bbox.ll.x),W.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=W.bbox.ll.y),W.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=W.bbox.ur.x),W.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=W.bbox.ur.y),this.interiorRings.push(W)}this.multiPoly=N}getSweepEvents(){let P=this.exteriorRing.getSweepEvents();for(let N=0,k=this.interiorRings.length;N<k;N++){let $=this.interiorRings[N].getSweepEvents();for(let W=0,ht=$.length;W<ht;W++)P.push($[W])}return P}}class Te{constructor(P,N){if(!Array.isArray(P))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof P[0][0][0]=="number"&&(P=[P])}catch(k){}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let k=0,$=P.length;k<$;k++){let W=new fe(P[k],this);W.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=W.bbox.ll.x),W.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=W.bbox.ll.y),W.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=W.bbox.ur.x),W.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=W.bbox.ur.y),this.polys.push(W)}this.isSubject=N}getSweepEvents(){let P=[];for(let N=0,k=this.polys.length;N<k;N++){let $=this.polys[N].getSweepEvents();for(let W=0,ht=$.length;W<ht;W++)P.push($[W])}return P}}class be{static factory(P){let N=[];for(let k=0,$=P.length;k<$;k++){let W=P[k];if(!W.isInResult()||W.ringOut)continue;let ht=null,at=W.leftSE,wt=W.rightSE,Et=[at],G=at.point,ot=[];for(;ht=at,at=wt,Et.push(at),at.point!==G;)for(;;){let et=at.getAvailableLinkedEvents();if(et.length===0){let Kt=Et[0].point,me=Et[Et.length-1].point;throw new Error(\`Unable to complete output ring starting at [\${Kt.x}, \${Kt.y}]. Last matching segment found ends at [\${me.x}, \${me.y}].\`)}if(et.length===1){wt=et[0].otherSE;break}let lt=null;for(let Kt=0,me=ot.length;Kt<me;Kt++)if(ot[Kt].point===at.point){lt=Kt;break}if(lt!==null){let Kt=ot.splice(lt)[0],me=Et.splice(Kt.index);me.unshift(me[0].otherSE),N.push(new be(me.reverse()));continue}ot.push({index:Et.length,point:at.point});let Ft=at.getLeftmostComparator(ht);wt=et.sort(Ft)[0].otherSE;break}N.push(new be(Et))}return N}constructor(P){this.events=P;for(let N=0,k=P.length;N<k;N++)P[N].segment.ringOut=this;this.poly=null}getGeom(){let P=this.events[0].point,N=[P];for(let Et=1,G=this.events.length-1;Et<G;Et++){let ot=this.events[Et].point,et=this.events[Et+1].point;Ut(ot,P,et)!==0&&(N.push(ot),P=ot)}if(N.length===1)return null;let k=N[0],$=N[1];Ut(k,P,$)===0&&N.shift(),N.push(N[0]);let W=this.isExteriorRing()?1:-1,ht=this.isExteriorRing()?0:N.length-1,at=this.isExteriorRing()?N.length:-1,wt=[];for(let Et=ht;Et!=at;Et+=W)wt.push([N[Et].x,N[Et].y]);return wt}isExteriorRing(){if(this._isExteriorRing===void 0){let P=this.enclosingRing();this._isExteriorRing=P?!P.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let P=this.events[0];for(let $=1,W=this.events.length;$<W;$++){let ht=this.events[$];ft.compare(P,ht)>0&&(P=ht)}let N=P.segment.prevInResult(),k=N?N.prevInResult():null;for(;;){if(!N)return null;if(!k)return N.ringOut;if(k.ringOut!==N.ringOut)return k.ringOut.enclosingRing()!==N.ringOut?N.ringOut:N.ringOut.enclosingRing();N=k.prevInResult(),k=N?N.prevInResult():null}}}class Wt{constructor(P){this.exteriorRing=P,P.poly=this,this.interiorRings=[]}addInterior(P){this.interiorRings.push(P),P.poly=this}getGeom(){let P=[this.exteriorRing.getGeom()];if(P[0]===null)return null;for(let N=0,k=this.interiorRings.length;N<k;N++){let $=this.interiorRings[N].getGeom();$!==null&&P.push($)}return P}}class Me{constructor(P){this.rings=P,this.polys=this._composePolys(P)}getGeom(){let P=[];for(let N=0,k=this.polys.length;N<k;N++){let $=this.polys[N].getGeom();$!==null&&P.push($)}return P}_composePolys(P){let N=[];for(let k=0,$=P.length;k<$;k++){let W=P[k];if(!W.poly)if(W.isExteriorRing())N.push(new Wt(W));else{let ht=W.enclosingRing();ht.poly||N.push(new Wt(ht)),ht.poly.addInterior(W)}}return N}}class tt{constructor(P){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ee.compare;this.queue=P,this.tree=new g(N),this.segments=[]}process(P){let N=P.segment,k=[];if(P.consumedBy)return P.isLeft?this.queue.remove(P.otherSE):this.tree.remove(N),k;let $=P.isLeft?this.tree.add(N):this.tree.find(N);if(!$)throw new Error(\`Unable to find segment #\${N.id} [\${N.leftSE.point.x}, \${N.leftSE.point.y}] -> [\${N.rightSE.point.x}, \${N.rightSE.point.y}] in SweepLine tree.\`);let W=$,ht=$,at,wt;for(;at===void 0;)W=this.tree.prev(W),W===null?at=null:W.key.consumedBy===void 0&&(at=W.key);for(;wt===void 0;)ht=this.tree.next(ht),ht===null?wt=null:ht.key.consumedBy===void 0&&(wt=ht.key);if(P.isLeft){let Et=null;if(at){let ot=at.getIntersection(N);if(ot!==null&&(N.isAnEndpoint(ot)||(Et=ot),!at.isAnEndpoint(ot))){let et=this._splitSafely(at,ot);for(let lt=0,Ft=et.length;lt<Ft;lt++)k.push(et[lt])}}let G=null;if(wt){let ot=wt.getIntersection(N);if(ot!==null&&(N.isAnEndpoint(ot)||(G=ot),!wt.isAnEndpoint(ot))){let et=this._splitSafely(wt,ot);for(let lt=0,Ft=et.length;lt<Ft;lt++)k.push(et[lt])}}if(Et!==null||G!==null){let ot=null;Et===null?ot=G:G===null?ot=Et:ot=ft.comparePoints(Et,G)<=0?Et:G,this.queue.remove(N.rightSE),k.push(N.rightSE);let et=N.split(ot);for(let lt=0,Ft=et.length;lt<Ft;lt++)k.push(et[lt])}k.length>0?(this.tree.remove(N),k.push(P)):(this.segments.push(N),N.prev=at)}else{if(at&&wt){let Et=at.getIntersection(wt);if(Et!==null){if(!at.isAnEndpoint(Et)){let G=this._splitSafely(at,Et);for(let ot=0,et=G.length;ot<et;ot++)k.push(G[ot])}if(!wt.isAnEndpoint(Et)){let G=this._splitSafely(wt,Et);for(let ot=0,et=G.length;ot<et;ot++)k.push(G[ot])}}}this.tree.remove(N)}return k}_splitSafely(P,N){this.tree.remove(P);let k=P.rightSE;this.queue.remove(k);let $=P.split(N);return $.push(k),P.consumedBy===void 0&&this.tree.add(P),$}}let z=typeof process!="undefined"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,Pt=typeof process!="undefined"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class Ot{run(P,N,k){dt.type=P,X.reset();let $=[new Te(N,!0)];for(let ot=0,et=k.length;ot<et;ot++)$.push(new Te(k[ot],!1));if(dt.numMultiPolys=$.length,dt.type==="difference"){let ot=$[0],et=1;for(;et<$.length;)S($[et].bbox,ot.bbox)!==null?et++:$.splice(et,1)}if(dt.type==="intersection")for(let ot=0,et=$.length;ot<et;ot++){let lt=$[ot];for(let Ft=ot+1,Kt=$.length;Ft<Kt;Ft++)if(S(lt.bbox,$[Ft].bbox)===null)return[]}let W=new g(ft.compare);for(let ot=0,et=$.length;ot<et;ot++){let lt=$[ot].getSweepEvents();for(let Ft=0,Kt=lt.length;Ft<Kt;Ft++)if(W.insert(lt[Ft]),W.size>z)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}let ht=new tt(W),at=W.size,wt=W.pop();for(;wt;){let ot=wt.key;if(W.size===at){let lt=ot.segment;throw new Error(\`Unable to pop() \${ot.isLeft?"left":"right"} SweepEvent [\${ot.point.x}, \${ot.point.y}] from segment #\${lt.id} [\${lt.leftSE.point.x}, \${lt.leftSE.point.y}] -> [\${lt.rightSE.point.x}, \${lt.rightSE.point.y}] from queue.\`)}if(W.size>z)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(ht.segments.length>Pt)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");let et=ht.process(ot);for(let lt=0,Ft=et.length;lt<Ft;lt++){let Kt=et[lt];Kt.consumedBy===void 0&&W.insert(Kt)}at=W.size,wt=W.pop()}X.reset();let Et=be.factory(ht.segments);return new Me(Et).getGeom()}}let dt=new Ot;var ne={union:function(rt){for(var P=arguments.length,N=new Array(P>1?P-1:0),k=1;k<P;k++)N[k-1]=arguments[k];return dt.run("union",rt,N)},intersection:function(rt){for(var P=arguments.length,N=new Array(P>1?P-1:0),k=1;k<P;k++)N[k-1]=arguments[k];return dt.run("intersection",rt,N)},xor:function(rt){for(var P=arguments.length,N=new Array(P>1?P-1:0),k=1;k<P;k++)N[k-1]=arguments[k];return dt.run("xor",rt,N)},difference:function(rt){for(var P=arguments.length,N=new Array(P>1?P-1:0),k=1;k<P;k++)N[k-1]=arguments[k];return dt.run("difference",rt,N)}};return ne})});var tN=st((zg,QL)=>{(function(n,t){typeof zg=="object"&&typeof QL!="undefined"?t(zg):typeof define=="function"&&define.amd?define(["exports"],t):t(n.jsts={})})(zg,function(n){"use strict";function t(){}function e(r){this.message=r||""}function o(r){this.message=r||""}function s(r){this.message=r||""}function l(){}function p(r){return r===null?Je:r.color}function h(r){return r===null?null:r.parent}function g(r,i){r!==null&&(r.color=i)}function m(r){return r===null?null:r.left}function v(r){return r===null?null:r.right}function x(){this.root_=null,this.size_=0}function E(){}function M(){this.array_=[],arguments[0]instanceof at&&this.addAll(arguments[0])}function A(){}function I(r){this.message=r||""}function S(){this.array_=[]}"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(r){if(this===void 0||this===null)throw new TypeError(this+" is not an object");var i=Object(this),a=Math.max(Math.min(i.length,9007199254740991),0)||0,c=1 in arguments&&parseInt(Number(arguments[1]),10)||0;c=c<0?Math.max(a+c,0):Math.min(c,a);var d=2 in arguments&&arguments[2]!==void 0?parseInt(Number(arguments[2]),10)||0:a;for(d=d<0?Math.max(a+arguments[2],0):Math.min(d,a);c<d;)i[c]=r,++c;return i},writable:!0}),Number.isFinite=Number.isFinite||function(r){return typeof r=="number"&&isFinite(r)},Number.isInteger=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r},Number.parseFloat=Number.parseFloat||parseFloat,Number.isNaN=Number.isNaN||function(r){return r!=r},Math.trunc=Math.trunc||function(r){return r<0?Math.ceil(r):Math.floor(r)};var w=function(){};w.prototype.interfaces_=function(){return[]},w.prototype.getClass=function(){return w},w.prototype.equalsWithTolerance=function(r,i,a){return Math.abs(r-i)<=a};var R=function(r){function i(a){r.call(this,a),this.name="IllegalArgumentException",this.message=a,this.stack=new r().stack}return r&&(i.__proto__=r),i.prototype=Object.create(r&&r.prototype),i.prototype.constructor=i,i}(Error),C=function(){},F={MAX_VALUE:{configurable:!0}};C.isNaN=function(r){return Number.isNaN(r)},C.doubleToLongBits=function(r){return r},C.longBitsToDouble=function(r){return r},C.isInfinite=function(r){return!Number.isFinite(r)},F.MAX_VALUE.get=function(){return Number.MAX_VALUE},Object.defineProperties(C,F);var V=function(){},X=function(){},q=function(){},D=function r(){if(this.x=null,this.y=null,this.z=null,arguments.length===0)this.x=0,this.y=0,this.z=r.NULL_ORDINATE;else if(arguments.length===1){var i=arguments[0];this.x=i.x,this.y=i.y,this.z=i.z}else arguments.length===2?(this.x=arguments[0],this.y=arguments[1],this.z=r.NULL_ORDINATE):arguments.length===3&&(this.x=arguments[0],this.y=arguments[1],this.z=arguments[2])},xt={DimensionalComparator:{configurable:!0},serialVersionUID:{configurable:!0},NULL_ORDINATE:{configurable:!0},X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0}};D.prototype.setOrdinate=function(r,i){switch(r){case D.X:this.x=i;break;case D.Y:this.y=i;break;case D.Z:this.z=i;break;default:throw new R("Invalid ordinate index: "+r)}},D.prototype.equals2D=function(){if(arguments.length===1){var r=arguments[0];return this.x===r.x&&this.y===r.y}if(arguments.length===2){var i=arguments[0],a=arguments[1];return!!w.equalsWithTolerance(this.x,i.x,a)&&!!w.equalsWithTolerance(this.y,i.y,a)}},D.prototype.getOrdinate=function(r){switch(r){case D.X:return this.x;case D.Y:return this.y;case D.Z:return this.z}throw new R("Invalid ordinate index: "+r)},D.prototype.equals3D=function(r){return this.x===r.x&&this.y===r.y&&(this.z===r.z||C.isNaN(this.z))&&C.isNaN(r.z)},D.prototype.equals=function(r){return r instanceof D&&this.equals2D(r)},D.prototype.equalInZ=function(r,i){return w.equalsWithTolerance(this.z,r.z,i)},D.prototype.compareTo=function(r){var i=r;return this.x<i.x?-1:this.x>i.x?1:this.y<i.y?-1:this.y>i.y?1:0},D.prototype.clone=function(){},D.prototype.copy=function(){return new D(this)},D.prototype.toString=function(){return"("+this.x+", "+this.y+", "+this.z+")"},D.prototype.distance3D=function(r){var i=this.x-r.x,a=this.y-r.y,c=this.z-r.z;return Math.sqrt(i*i+a*a+c*c)},D.prototype.distance=function(r){var i=this.x-r.x,a=this.y-r.y;return Math.sqrt(i*i+a*a)},D.prototype.hashCode=function(){var r=17;return r=37*r+D.hashCode(this.x),r=37*r+D.hashCode(this.y)},D.prototype.setCoordinate=function(r){this.x=r.x,this.y=r.y,this.z=r.z},D.prototype.interfaces_=function(){return[V,X,t]},D.prototype.getClass=function(){return D},D.hashCode=function(){if(arguments.length===1){var r=arguments[0],i=C.doubleToLongBits(r);return Math.trunc((i^i)>>>32)}},xt.DimensionalComparator.get=function(){return B},xt.serialVersionUID.get=function(){return 6683108902428367e3},xt.NULL_ORDINATE.get=function(){return C.NaN},xt.X.get=function(){return 0},xt.Y.get=function(){return 1},xt.Z.get=function(){return 2},Object.defineProperties(D,xt);var B=function(r){if(this._dimensionsToTest=2,arguments.length!==0){if(arguments.length===1){var i=arguments[0];if(i!==2&&i!==3)throw new R("only 2 or 3 dimensions may be specified");this._dimensionsToTest=i}}};B.prototype.compare=function(r,i){var a=r,c=i,d=B.compare(a.x,c.x);if(d!==0)return d;var _=B.compare(a.y,c.y);return _!==0?_:this._dimensionsToTest<=2?0:B.compare(a.z,c.z)},B.prototype.interfaces_=function(){return[q]},B.prototype.getClass=function(){return B},B.compare=function(r,i){return r<i?-1:r>i?1:C.isNaN(r)?C.isNaN(i)?0:-1:C.isNaN(i)?1:0};var j=function(){};j.prototype.create=function(){},j.prototype.interfaces_=function(){return[]},j.prototype.getClass=function(){return j};var J=function(){},Dt={INTERIOR:{configurable:!0},BOUNDARY:{configurable:!0},EXTERIOR:{configurable:!0},NONE:{configurable:!0}};J.prototype.interfaces_=function(){return[]},J.prototype.getClass=function(){return J},J.toLocationSymbol=function(r){switch(r){case J.EXTERIOR:return"e";case J.BOUNDARY:return"b";case J.INTERIOR:return"i";case J.NONE:return"-"}throw new R("Unknown location value: "+r)},Dt.INTERIOR.get=function(){return 0},Dt.BOUNDARY.get=function(){return 1},Dt.EXTERIOR.get=function(){return 2},Dt.NONE.get=function(){return-1},Object.defineProperties(J,Dt);var Q=function(r,i){return r.interfaces_&&r.interfaces_().indexOf(i)>-1},At=function(){},Mt={LOG_10:{configurable:!0}};At.prototype.interfaces_=function(){return[]},At.prototype.getClass=function(){return At},At.log10=function(r){var i=Math.log(r);return C.isInfinite(i)||C.isNaN(i)?i:i/At.LOG_10},At.min=function(r,i,a,c){var d=r;return i<d&&(d=i),a<d&&(d=a),c<d&&(d=c),d},At.clamp=function(){if(typeof arguments[2]=="number"&&typeof arguments[0]=="number"&&typeof arguments[1]=="number"){var r=arguments[0],i=arguments[1],a=arguments[2];return r<i?i:r>a?a:r}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var c=arguments[0],d=arguments[1],_=arguments[2];return c<d?d:c>_?_:c}},At.wrap=function(r,i){return r<0?i- -r%i:r%i},At.max=function(){if(arguments.length===3){var r=arguments[0],i=arguments[1],a=arguments[2],c=r;return i>c&&(c=i),a>c&&(c=a),c}if(arguments.length===4){var d=arguments[0],_=arguments[1],b=arguments[2],L=arguments[3],H=d;return _>H&&(H=_),b>H&&(H=b),L>H&&(H=L),H}},At.average=function(r,i){return(r+i)/2},Mt.LOG_10.get=function(){return Math.log(10)},Object.defineProperties(At,Mt);var Lt=function(r){this.str=r};Lt.prototype.append=function(r){this.str+=r},Lt.prototype.setCharAt=function(r,i){this.str=this.str.substr(0,r)+i+this.str.substr(r+1)},Lt.prototype.toString=function(r){return this.str};var pt=function(r){this.value=r};pt.prototype.intValue=function(){return this.value},pt.prototype.compareTo=function(r){return this.value<r?-1:this.value>r?1:0},pt.isNaN=function(r){return Number.isNaN(r)};var yt=function(){};yt.isWhitespace=function(r){return r<=32&&r>=0||r===127},yt.toUpperCase=function(r){return r.toUpperCase()};var K=function r(){if(this._hi=0,this._lo=0,arguments.length===0)this.init(0);else if(arguments.length===1){if(typeof arguments[0]=="number"){var i=arguments[0];this.init(i)}else if(arguments[0]instanceof r){var a=arguments[0];this.init(a)}else if(typeof arguments[0]=="string"){var c=arguments[0];r.call(this,r.parse(c))}}else if(arguments.length===2){var d=arguments[0],_=arguments[1];this.init(d,_)}},Bt={PI:{configurable:!0},TWO_PI:{configurable:!0},PI_2:{configurable:!0},E:{configurable:!0},NaN:{configurable:!0},EPS:{configurable:!0},SPLIT:{configurable:!0},MAX_PRINT_DIGITS:{configurable:!0},TEN:{configurable:!0},ONE:{configurable:!0},SCI_NOT_EXPONENT_CHAR:{configurable:!0},SCI_NOT_ZERO:{configurable:!0}};K.prototype.le=function(r){return(this._hi<r._hi||this._hi===r._hi)&&this._lo<=r._lo},K.prototype.extractSignificantDigits=function(r,i){var a=this.abs(),c=K.magnitude(a._hi),d=K.TEN.pow(c);(a=a.divide(d)).gt(K.TEN)?(a=a.divide(K.TEN),c+=1):a.lt(K.ONE)&&(a=a.multiply(K.TEN),c-=1);for(var _=c+1,b=new Lt,L=K.MAX_PRINT_DIGITS-1,H=0;H<=L;H++){r&&H===_&&b.append(".");var it=Math.trunc(a._hi);if(it<0)break;var bt=!1,Tt=0;it>9?(bt=!0,Tt="9"):Tt="0"+it,b.append(Tt),a=a.subtract(K.valueOf(it)).multiply(K.TEN),bt&&a.selfAdd(K.TEN);var Jt=!0,Qt=K.magnitude(a._hi);if(Qt<0&&Math.abs(Qt)>=L-H&&(Jt=!1),!Jt)break}return i[0]=c,b.toString()},K.prototype.sqr=function(){return this.multiply(this)},K.prototype.doubleValue=function(){return this._hi+this._lo},K.prototype.subtract=function(){if(arguments[0]instanceof K){var r=arguments[0];return this.add(r.negate())}if(typeof arguments[0]=="number"){var i=arguments[0];return this.add(-i)}},K.prototype.equals=function(){if(arguments.length===1){var r=arguments[0];return this._hi===r._hi&&this._lo===r._lo}},K.prototype.isZero=function(){return this._hi===0&&this._lo===0},K.prototype.selfSubtract=function(){if(arguments[0]instanceof K){var r=arguments[0];return this.isNaN()?this:this.selfAdd(-r._hi,-r._lo)}if(typeof arguments[0]=="number"){var i=arguments[0];return this.isNaN()?this:this.selfAdd(-i,0)}},K.prototype.getSpecialNumberString=function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},K.prototype.min=function(r){return this.le(r)?this:r},K.prototype.selfDivide=function(){if(arguments.length===1){if(arguments[0]instanceof K){var r=arguments[0];return this.selfDivide(r._hi,r._lo)}if(typeof arguments[0]=="number"){var i=arguments[0];return this.selfDivide(i,0)}}else if(arguments.length===2){var a=arguments[0],c=arguments[1],d=null,_=null,b=null,L=null,H=null,it=null,bt=null,Tt=null;return H=this._hi/a,it=K.SPLIT*H,d=it-H,Tt=K.SPLIT*a,d=it-d,_=H-d,b=Tt-a,bt=H*a,b=Tt-b,L=a-b,Tt=d*b-bt+d*L+_*b+_*L,it=(this._hi-bt-Tt+this._lo-H*c)/a,Tt=H+it,this._hi=Tt,this._lo=H-Tt+it,this}},K.prototype.dump=function(){return"DD<"+this._hi+", "+this._lo+">"},K.prototype.divide=function(){if(arguments[0]instanceof K){var r=arguments[0],i=null,a=null,c=null,d=null,_=null,b=null,L=null,H=null;return a=(_=this._hi/r._hi)-(i=(b=K.SPLIT*_)-(i=b-_)),H=i*(c=(H=K.SPLIT*r._hi)-(c=H-r._hi))-(L=_*r._hi)+i*(d=r._hi-c)+a*c+a*d,b=(this._hi-L-H+this._lo-_*r._lo)/r._hi,new K(H=_+b,_-H+b)}if(typeof arguments[0]=="number"){var it=arguments[0];return C.isNaN(it)?K.createNaN():K.copy(this).selfDivide(it,0)}},K.prototype.ge=function(r){return(this._hi>r._hi||this._hi===r._hi)&&this._lo>=r._lo},K.prototype.pow=function(r){if(r===0)return K.valueOf(1);var i=new K(this),a=K.valueOf(1),c=Math.abs(r);if(c>1)for(;c>0;)c%2==1&&a.selfMultiply(i),(c/=2)>0&&(i=i.sqr());else a=i;return r<0?a.reciprocal():a},K.prototype.ceil=function(){if(this.isNaN())return K.NaN;var r=Math.ceil(this._hi),i=0;return r===this._hi&&(i=Math.ceil(this._lo)),new K(r,i)},K.prototype.compareTo=function(r){var i=r;return this._hi<i._hi?-1:this._hi>i._hi?1:this._lo<i._lo?-1:this._lo>i._lo?1:0},K.prototype.rint=function(){return this.isNaN()?this:this.add(.5).floor()},K.prototype.setValue=function(){if(arguments[0]instanceof K){var r=arguments[0];return this.init(r),this}if(typeof arguments[0]=="number"){var i=arguments[0];return this.init(i),this}},K.prototype.max=function(r){return this.ge(r)?this:r},K.prototype.sqrt=function(){if(this.isZero())return K.valueOf(0);if(this.isNegative())return K.NaN;var r=1/Math.sqrt(this._hi),i=this._hi*r,a=K.valueOf(i),c=this.subtract(a.sqr())._hi*(.5*r);return a.add(c)},K.prototype.selfAdd=function(){if(arguments.length===1){if(arguments[0]instanceof K){var r=arguments[0];return this.selfAdd(r._hi,r._lo)}if(typeof arguments[0]=="number"){var i=arguments[0],a=null,c=null,d=null,_=null,b=null,L=null;return d=this._hi+i,b=d-this._hi,_=d-b,_=i-b+(this._hi-_),L=_+this._lo,a=d+L,c=L+(d-a),this._hi=a+c,this._lo=c+(a-this._hi),this}}else if(arguments.length===2){var H=arguments[0],it=arguments[1],bt=null,Tt=null,Jt=null,Qt=null,le=null,Ee=null,Dn=null;Qt=this._hi+H,Tt=this._lo+it,le=Qt-(Ee=Qt-this._hi),Jt=Tt-(Dn=Tt-this._lo);var Kn=(bt=Qt+(Ee=(le=H-Ee+(this._hi-le))+Tt))+(Ee=(Jt=it-Dn+(this._lo-Jt))+(Ee+(Qt-bt))),fi=Ee+(bt-Kn);return this._hi=Kn,this._lo=fi,this}},K.prototype.selfMultiply=function(){if(arguments.length===1){if(arguments[0]instanceof K){var r=arguments[0];return this.selfMultiply(r._hi,r._lo)}if(typeof arguments[0]=="number"){var i=arguments[0];return this.selfMultiply(i,0)}}else if(arguments.length===2){var a=arguments[0],c=arguments[1],d=null,_=null,b=null,L=null,H=null,it=null;d=(H=K.SPLIT*this._hi)-this._hi,it=K.SPLIT*a,d=H-d,_=this._hi-d,b=it-a;var bt=(H=this._hi*a)+(it=d*(b=it-b)-H+d*(L=a-b)+_*b+_*L+(this._hi*c+this._lo*a)),Tt=it+(d=H-bt);return this._hi=bt,this._lo=Tt,this}},K.prototype.selfSqr=function(){return this.selfMultiply(this)},K.prototype.floor=function(){if(this.isNaN())return K.NaN;var r=Math.floor(this._hi),i=0;return r===this._hi&&(i=Math.floor(this._lo)),new K(r,i)},K.prototype.negate=function(){return this.isNaN()?this:new K(-this._hi,-this._lo)},K.prototype.clone=function(){},K.prototype.multiply=function(){if(arguments[0]instanceof K){var r=arguments[0];return r.isNaN()?K.createNaN():K.copy(this).selfMultiply(r)}if(typeof arguments[0]=="number"){var i=arguments[0];return C.isNaN(i)?K.createNaN():K.copy(this).selfMultiply(i,0)}},K.prototype.isNaN=function(){return C.isNaN(this._hi)},K.prototype.intValue=function(){return Math.trunc(this._hi)},K.prototype.toString=function(){var r=K.magnitude(this._hi);return r>=-3&&r<=20?this.toStandardNotation():this.toSciNotation()},K.prototype.toStandardNotation=function(){var r=this.getSpecialNumberString();if(r!==null)return r;var i=new Array(1).fill(null),a=this.extractSignificantDigits(!0,i),c=i[0]+1,d=a;if(a.charAt(0)===".")d="0"+a;else if(c<0)d="0."+K.stringOfChar("0",-c)+a;else if(a.indexOf(".")===-1){var _=c-a.length;d=a+K.stringOfChar("0",_)+".0"}return this.isNegative()?"-"+d:d},K.prototype.reciprocal=function(){var r=null,i=null,a=null,c=null,d=null,_=null,b=null,L=null;i=(d=1/this._hi)-(r=(_=K.SPLIT*d)-(r=_-d)),a=(L=K.SPLIT*this._hi)-this._hi;var H=d+(_=(1-(b=d*this._hi)-(L=r*(a=L-a)-b+r*(c=this._hi-a)+i*a+i*c)-d*this._lo)/this._hi);return new K(H,d-H+_)},K.prototype.toSciNotation=function(){if(this.isZero())return K.SCI_NOT_ZERO;var r=this.getSpecialNumberString();if(r!==null)return r;var i=new Array(1).fill(null),a=this.extractSignificantDigits(!1,i),c=K.SCI_NOT_EXPONENT_CHAR+i[0];if(a.charAt(0)==="0")throw new Error("Found leading zero: "+a);var d="";a.length>1&&(d=a.substring(1));var _=a.charAt(0)+"."+d;return this.isNegative()?"-"+_+c:_+c},K.prototype.abs=function(){return this.isNaN()?K.NaN:this.isNegative()?this.negate():new K(this)},K.prototype.isPositive=function(){return(this._hi>0||this._hi===0)&&this._lo>0},K.prototype.lt=function(r){return(this._hi<r._hi||this._hi===r._hi)&&this._lo<r._lo},K.prototype.add=function(){if(arguments[0]instanceof K){var r=arguments[0];return K.copy(this).selfAdd(r)}if(typeof arguments[0]=="number"){var i=arguments[0];return K.copy(this).selfAdd(i)}},K.prototype.init=function(){if(arguments.length===1){if(typeof arguments[0]=="number"){var r=arguments[0];this._hi=r,this._lo=0}else if(arguments[0]instanceof K){var i=arguments[0];this._hi=i._hi,this._lo=i._lo}}else if(arguments.length===2){var a=arguments[0],c=arguments[1];this._hi=a,this._lo=c}},K.prototype.gt=function(r){return(this._hi>r._hi||this._hi===r._hi)&&this._lo>r._lo},K.prototype.isNegative=function(){return(this._hi<0||this._hi===0)&&this._lo<0},K.prototype.trunc=function(){return this.isNaN()?K.NaN:this.isPositive()?this.floor():this.ceil()},K.prototype.signum=function(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0},K.prototype.interfaces_=function(){return[t,V,X]},K.prototype.getClass=function(){return K},K.sqr=function(r){return K.valueOf(r).selfMultiply(r)},K.valueOf=function(){if(typeof arguments[0]=="string"){var r=arguments[0];return K.parse(r)}if(typeof arguments[0]=="number"){var i=arguments[0];return new K(i)}},K.sqrt=function(r){return K.valueOf(r).sqrt()},K.parse=function(r){for(var i=0,a=r.length;yt.isWhitespace(r.charAt(i));)i++;var c=!1;if(i<a){var d=r.charAt(i);d!=="-"&&d!=="+"||(i++,d==="-"&&(c=!0))}for(var _=new K,b=0,L=0,H=0;!(i>=a);){var it=r.charAt(i);if(i++,yt.isDigit(it)){var bt=it-"0";_.selfMultiply(K.TEN),_.selfAdd(bt),b++}else{if(it!=="."){if(it==="e"||it==="E"){var Tt=r.substring(i);try{H=pt.parseInt(Tt)}catch(Dn){throw Dn instanceof Error?new Error("Invalid exponent "+Tt+" in string "+r):Dn}break}throw new Error("Unexpected character '"+it+"' at position "+i+" in string "+r)}L=b}}var Jt=_,Qt=b-L-H;if(Qt===0)Jt=_;else if(Qt>0){var le=K.TEN.pow(Qt);Jt=_.divide(le)}else if(Qt<0){var Ee=K.TEN.pow(-Qt);Jt=_.multiply(Ee)}return c?Jt.negate():Jt},K.createNaN=function(){return new K(C.NaN,C.NaN)},K.copy=function(r){return new K(r)},K.magnitude=function(r){var i=Math.abs(r),a=Math.log(i)/Math.log(10),c=Math.trunc(Math.floor(a));return 10*Math.pow(10,c)<=i&&(c+=1),c},K.stringOfChar=function(r,i){for(var a=new Lt,c=0;c<i;c++)a.append(r);return a.toString()},Bt.PI.get=function(){return new K(3.141592653589793,12246467991473532e-32)},Bt.TWO_PI.get=function(){return new K(6.283185307179586,24492935982947064e-32)},Bt.PI_2.get=function(){return new K(1.5707963267948966,6123233995736766e-32)},Bt.E.get=function(){return new K(2.718281828459045,14456468917292502e-32)},Bt.NaN.get=function(){return new K(C.NaN,C.NaN)},Bt.EPS.get=function(){return 123259516440783e-46},Bt.SPLIT.get=function(){return 134217729},Bt.MAX_PRINT_DIGITS.get=function(){return 32},Bt.TEN.get=function(){return K.valueOf(10)},Bt.ONE.get=function(){return K.valueOf(1)},Bt.SCI_NOT_EXPONENT_CHAR.get=function(){return"E"},Bt.SCI_NOT_ZERO.get=function(){return"0.0E0"},Object.defineProperties(K,Bt);var Gt=function(){},ae={DP_SAFE_EPSILON:{configurable:!0}};Gt.prototype.interfaces_=function(){return[]},Gt.prototype.getClass=function(){return Gt},Gt.orientationIndex=function(r,i,a){var c=Gt.orientationIndexFilter(r,i,a);if(c<=1)return c;var d=K.valueOf(i.x).selfAdd(-r.x),_=K.valueOf(i.y).selfAdd(-r.y),b=K.valueOf(a.x).selfAdd(-i.x),L=K.valueOf(a.y).selfAdd(-i.y);return d.selfMultiply(L).selfSubtract(_.selfMultiply(b)).signum()},Gt.signOfDet2x2=function(r,i,a,c){return r.multiply(c).selfSubtract(i.multiply(a)).signum()},Gt.intersection=function(r,i,a,c){var d=K.valueOf(c.y).selfSubtract(a.y).selfMultiply(K.valueOf(i.x).selfSubtract(r.x)),_=K.valueOf(c.x).selfSubtract(a.x).selfMultiply(K.valueOf(i.y).selfSubtract(r.y)),b=d.subtract(_),L=K.valueOf(c.x).selfSubtract(a.x).selfMultiply(K.valueOf(r.y).selfSubtract(a.y)),H=K.valueOf(c.y).selfSubtract(a.y).selfMultiply(K.valueOf(r.x).selfSubtract(a.x)),it=L.subtract(H).selfDivide(b).doubleValue(),bt=K.valueOf(r.x).selfAdd(K.valueOf(i.x).selfSubtract(r.x).selfMultiply(it)).doubleValue(),Tt=K.valueOf(i.x).selfSubtract(r.x).selfMultiply(K.valueOf(r.y).selfSubtract(a.y)),Jt=K.valueOf(i.y).selfSubtract(r.y).selfMultiply(K.valueOf(r.x).selfSubtract(a.x)),Qt=Tt.subtract(Jt).selfDivide(b).doubleValue(),le=K.valueOf(a.y).selfAdd(K.valueOf(c.y).selfSubtract(a.y).selfMultiply(Qt)).doubleValue();return new D(bt,le)},Gt.orientationIndexFilter=function(r,i,a){var c=null,d=(r.x-a.x)*(i.y-a.y),_=(r.y-a.y)*(i.x-a.x),b=d-_;if(d>0){if(_<=0)return Gt.signum(b);c=d+_}else{if(!(d<0)||_>=0)return Gt.signum(b);c=-d-_}var L=Gt.DP_SAFE_EPSILON*c;return b>=L||-b>=L?Gt.signum(b):2},Gt.signum=function(r){return r>0?1:r<0?-1:0},ae.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(Gt,ae);var ut=function(){},Ut={X:{configurable:!0},Y:{configurable:!0},Z:{configurable:!0},M:{configurable:!0}};Ut.X.get=function(){return 0},Ut.Y.get=function(){return 1},Ut.Z.get=function(){return 2},Ut.M.get=function(){return 3},ut.prototype.setOrdinate=function(r,i,a){},ut.prototype.size=function(){},ut.prototype.getOrdinate=function(r,i){},ut.prototype.getCoordinate=function(){},ut.prototype.getCoordinateCopy=function(r){},ut.prototype.getDimension=function(){},ut.prototype.getX=function(r){},ut.prototype.clone=function(){},ut.prototype.expandEnvelope=function(r){},ut.prototype.copy=function(){},ut.prototype.getY=function(r){},ut.prototype.toCoordinateArray=function(){},ut.prototype.interfaces_=function(){return[X]},ut.prototype.getClass=function(){return ut},Object.defineProperties(ut,Ut);var jt=function(){},ce=function(r){function i(){r.call(this,"Projective point not representable on the Cartesian plane.")}return r&&(i.__proto__=r),i.prototype=Object.create(r&&r.prototype),i.prototype.constructor=i,i.prototype.interfaces_=function(){return[]},i.prototype.getClass=function(){return i},i}(jt),te=function(){};te.arraycopy=function(r,i,a,c,d){for(var _=0,b=i;b<i+d;b++)a[c+_]=r[b],_++},te.getProperty=function(r){return{"line.separator":\`
@@ -23576,4 +23576,4 @@ void main() {
23576
23576
 
23577
23577
  }\`,dv=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(t,e,o){if(this.texture===null){let s=new Us,l=t.properties.get(s);l.__webglTexture=e.texture,(e.depthNear!=o.depthNear||e.depthFar!=o.depthFar)&&(this.depthNear=e.depthNear,this.depthFar=e.depthFar),this.texture=s}}render(t,e){if(this.texture!==null){if(this.mesh===null){let o=e.cameras[0].viewport,s=new Ia({extensions:{fragDepth:!0},vertexShader:sX,fragmentShader:aX,uniforms:{depthColor:{value:this.texture},depthWidth:{value:o.z},depthHeight:{value:o.w}}});this.mesh=new ra(new zd(20,20),s)}t.render(this.mesh,e)}}reset(){this.texture=null,this.mesh=null}},gv=class extends Ku{constructor(t,e){super();let o=this,s=null,l=1,p=null,h="local-floor",g=1,m=null,v=null,x=null,E=null,M=null,A=null,I=new dv,S=e.getContextAttributes(),w=null,R=null,C=[],F=[],V=new Ye,X=null,q=new gs;q.layers.enable(1),q.viewport=new ji;let D=new gs;D.layers.enable(2),D.viewport=new ji;let xt=[q,D],B=new pv;B.layers.enable(1),B.layers.enable(2);let j=null,J=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(ut){let Ut=C[ut];return Ut===void 0&&(Ut=new sh,C[ut]=Ut),Ut.getTargetRaySpace()},this.getControllerGrip=function(ut){let Ut=C[ut];return Ut===void 0&&(Ut=new sh,C[ut]=Ut),Ut.getGripSpace()},this.getHand=function(ut){let Ut=C[ut];return Ut===void 0&&(Ut=new sh,C[ut]=Ut),Ut.getHandSpace()};function Dt(ut){let Ut=F.indexOf(ut.inputSource);if(Ut===-1)return;let jt=C[Ut];jt!==void 0&&(jt.update(ut.inputSource,ut.frame,m||p),jt.dispatchEvent({type:ut.type,data:ut.inputSource}))}function Q(){s.removeEventListener("select",Dt),s.removeEventListener("selectstart",Dt),s.removeEventListener("selectend",Dt),s.removeEventListener("squeeze",Dt),s.removeEventListener("squeezestart",Dt),s.removeEventListener("squeezeend",Dt),s.removeEventListener("end",Q),s.removeEventListener("inputsourceschange",At);for(let ut=0;ut<C.length;ut++){let Ut=F[ut];Ut!==null&&(F[ut]=null,C[ut].disconnect(Ut))}j=null,J=null,I.reset(),t.setRenderTarget(w),M=null,E=null,x=null,s=null,R=null,ae.stop(),o.isPresenting=!1,t.setPixelRatio(X),t.setSize(V.width,V.height,!1),o.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(ut){l=ut,o.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(ut){h=ut,o.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return m||p},this.setReferenceSpace=function(ut){m=ut},this.getBaseLayer=function(){return E!==null?E:M},this.getBinding=function(){return x},this.getFrame=function(){return A},this.getSession=function(){return s},this.setSession=function(ut){return ac(this,null,function*(){if(s=ut,s!==null){if(w=t.getRenderTarget(),s.addEventListener("select",Dt),s.addEventListener("selectstart",Dt),s.addEventListener("selectend",Dt),s.addEventListener("squeeze",Dt),s.addEventListener("squeezestart",Dt),s.addEventListener("squeezeend",Dt),s.addEventListener("end",Q),s.addEventListener("inputsourceschange",At),S.xrCompatible!==!0&&(yield e.makeXRCompatible()),X=t.getPixelRatio(),t.getSize(V),s.renderState.layers===void 0||t.capabilities.isWebGL2===!1){let Ut={antialias:s.renderState.layers===void 0?S.antialias:!0,alpha:!0,depth:S.depth,stencil:S.stencil,framebufferScaleFactor:l};M=new XRWebGLLayer(s,e,Ut),s.updateRenderState({baseLayer:M}),t.setPixelRatio(1),t.setSize(M.framebufferWidth,M.framebufferHeight,!1),R=new du(M.framebufferWidth,M.framebufferHeight,{format:na,type:$u,colorSpace:t.outputColorSpace,stencilBuffer:S.stencil})}else{let Ut=null,jt=null,ce=null;S.depth&&(ce=S.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,Ut=S.stencil?Wc:Dl,jt=S.stencil?Ol:Wu);let te={colorFormat:e.RGBA8,depthFormat:ce,scaleFactor:l};x=new XRWebGLBinding(s,e),E=x.createProjectionLayer(te),s.updateRenderState({layers:[E]}),t.setPixelRatio(1),t.setSize(E.textureWidth,E.textureHeight,!1),R=new du(E.textureWidth,E.textureHeight,{format:na,type:$u,depthTexture:new kd(E.textureWidth,E.textureHeight,jt,void 0,void 0,void 0,void 0,void 0,void 0,Ut),stencilBuffer:S.stencil,colorSpace:t.outputColorSpace,samples:S.antialias?4:0});let $t=t.properties.get(R);$t.__ignoreDepthValues=E.ignoreDepthValues}R.isXRRenderTarget=!0,this.setFoveation(g),m=null,p=yield s.requestReferenceSpace(h),ae.setContext(s),ae.start(),o.isPresenting=!0,o.dispatchEvent({type:"sessionstart"})}})},this.getEnvironmentBlendMode=function(){if(s!==null)return s.environmentBlendMode};function At(ut){for(let Ut=0;Ut<ut.removed.length;Ut++){let jt=ut.removed[Ut],ce=F.indexOf(jt);ce>=0&&(F[ce]=null,C[ce].disconnect(jt))}for(let Ut=0;Ut<ut.added.length;Ut++){let jt=ut.added[Ut],ce=F.indexOf(jt);if(ce===-1){for(let $t=0;$t<C.length;$t++)if($t>=F.length){F.push(jt),ce=$t;break}else if(F[$t]===null){F[$t]=jt,ce=$t;break}if(ce===-1)break}let te=C[ce];te&&te.connect(jt)}}let Mt=new Rt,Lt=new Rt;function pt(ut,Ut,jt){Mt.setFromMatrixPosition(Ut.matrixWorld),Lt.setFromMatrixPosition(jt.matrixWorld);let ce=Mt.distanceTo(Lt),te=Ut.projectionMatrix.elements,$t=jt.projectionMatrix.elements,qt=te[14]/(te[10]-1),xe=te[14]/(te[10]+1),ft=(te[9]+1)/te[5],We=(te[9]-1)/te[5],ee=(te[8]-1)/te[0],ge=($t[8]+1)/$t[0],fe=qt*ee,Te=qt*ge,be=ce/(-ee+ge),Wt=be*-ee;Ut.matrixWorld.decompose(ut.position,ut.quaternion,ut.scale),ut.translateX(Wt),ut.translateZ(be),ut.matrixWorld.compose(ut.position,ut.quaternion,ut.scale),ut.matrixWorldInverse.copy(ut.matrixWorld).invert();let Me=qt+be,tt=xe+be,z=fe-Wt,Pt=Te+(ce-Wt),Ot=ft*xe/tt*Me,dt=We*xe/tt*Me;ut.projectionMatrix.makePerspective(z,Pt,Ot,dt,Me,tt),ut.projectionMatrixInverse.copy(ut.projectionMatrix).invert()}function yt(ut,Ut){Ut===null?ut.matrixWorld.copy(ut.matrix):ut.matrixWorld.multiplyMatrices(Ut.matrixWorld,ut.matrix),ut.matrixWorldInverse.copy(ut.matrixWorld).invert()}this.updateCamera=function(ut){if(s===null)return;I.texture!==null&&(ut.near=I.depthNear,ut.far=I.depthFar),B.near=D.near=q.near=ut.near,B.far=D.far=q.far=ut.far,(j!==B.near||J!==B.far)&&(s.updateRenderState({depthNear:B.near,depthFar:B.far}),j=B.near,J=B.far,q.near=j,q.far=J,D.near=j,D.far=J,q.updateProjectionMatrix(),D.updateProjectionMatrix(),ut.updateProjectionMatrix());let Ut=ut.parent,jt=B.cameras;yt(B,Ut);for(let ce=0;ce<jt.length;ce++)yt(jt[ce],Ut);jt.length===2?pt(B,q,D):B.projectionMatrix.copy(q.projectionMatrix),K(ut,B,Ut)};function K(ut,Ut,jt){jt===null?ut.matrix.copy(Ut.matrixWorld):(ut.matrix.copy(jt.matrixWorld),ut.matrix.invert(),ut.matrix.multiply(Ut.matrixWorld)),ut.matrix.decompose(ut.position,ut.quaternion,ut.scale),ut.updateMatrixWorld(!0),ut.projectionMatrix.copy(Ut.projectionMatrix),ut.projectionMatrixInverse.copy(Ut.projectionMatrixInverse),ut.isPerspectiveCamera&&(ut.fov=Ky*2*Math.atan(1/ut.projectionMatrix.elements[5]),ut.zoom=1)}this.getCamera=function(){return B},this.getFoveation=function(){if(!(E===null&&M===null))return g},this.setFoveation=function(ut){g=ut,E!==null&&(E.fixedFoveation=ut),M!==null&&M.fixedFoveation!==void 0&&(M.fixedFoveation=ut)},this.hasDepthSensing=function(){return I.texture!==null};let Bt=null;function Gt(ut,Ut){if(v=Ut.getViewerPose(m||p),A=Ut,v!==null){let jt=v.views;M!==null&&(t.setRenderTargetFramebuffer(R,M.framebuffer),t.setRenderTarget(R));let ce=!1;jt.length!==B.cameras.length&&(B.cameras.length=0,ce=!0);for(let $t=0;$t<jt.length;$t++){let qt=jt[$t],xe=null;if(M!==null)xe=M.getViewport(qt);else{let We=x.getViewSubImage(E,qt);xe=We.viewport,$t===0&&(t.setRenderTargetTextures(R,We.colorTexture,E.ignoreDepthValues?void 0:We.depthStencilTexture),t.setRenderTarget(R))}let ft=xt[$t];ft===void 0&&(ft=new gs,ft.layers.enable($t),ft.viewport=new ji,xt[$t]=ft),ft.matrix.fromArray(qt.transform.matrix),ft.matrix.decompose(ft.position,ft.quaternion,ft.scale),ft.projectionMatrix.fromArray(qt.projectionMatrix),ft.projectionMatrixInverse.copy(ft.projectionMatrix).invert(),ft.viewport.set(xe.x,xe.y,xe.width,xe.height),$t===0&&(B.matrix.copy(ft.matrix),B.matrix.decompose(B.position,B.quaternion,B.scale)),ce===!0&&B.cameras.push(ft)}let te=s.enabledFeatures;if(te&&te.includes("depth-sensing")){let $t=x.getDepthInformation(jt[0]);$t&&$t.isValid&&$t.texture&&I.init(t,$t,s.renderState)}}for(let jt=0;jt<C.length;jt++){let ce=F[jt],te=C[jt];ce!==null&&te!==void 0&&te.update(ce,Ut,m||p)}I.render(t,B),Bt&&Bt(ut,Ut),Ut.detectedPlanes&&o.dispatchEvent({type:"planesdetected",data:Ut}),A=null}let ae=new xC;ae.setAnimationLoop(Gt),this.setAnimationLoop=function(ut){Bt=ut},this.dispose=function(){}}},Cl=new Ul,uX=new vi;function lX(n,t){function e(S,w){S.matrixAutoUpdate===!0&&S.updateMatrix(),w.value.copy(S.matrix)}function o(S,w){w.color.getRGB(S.fogColor.value,_C(n)),w.isFog?(S.fogNear.value=w.near,S.fogFar.value=w.far):w.isFogExp2&&(S.fogDensity.value=w.density)}function s(S,w,R,C,F){w.isMeshBasicMaterial||w.isMeshLambertMaterial?l(S,w):w.isMeshToonMaterial?(l(S,w),x(S,w)):w.isMeshPhongMaterial?(l(S,w),v(S,w)):w.isMeshStandardMaterial?(l(S,w),E(S,w),w.isMeshPhysicalMaterial&&M(S,w,F)):w.isMeshMatcapMaterial?(l(S,w),A(S,w)):w.isMeshDepthMaterial?l(S,w):w.isMeshDistanceMaterial?(l(S,w),I(S,w)):w.isMeshNormalMaterial?l(S,w):w.isLineBasicMaterial?(p(S,w),w.isLineDashedMaterial&&h(S,w)):w.isPointsMaterial?g(S,w,R,C):w.isSpriteMaterial?m(S,w):w.isShadowMaterial?(S.color.value.copy(w.color),S.opacity.value=w.opacity):w.isShaderMaterial&&(w.uniformsNeedUpdate=!1)}function l(S,w){S.opacity.value=w.opacity,w.color&&S.diffuse.value.copy(w.color),w.emissive&&S.emissive.value.copy(w.emissive).multiplyScalar(w.emissiveIntensity),w.map&&(S.map.value=w.map,e(w.map,S.mapTransform)),w.alphaMap&&(S.alphaMap.value=w.alphaMap,e(w.alphaMap,S.alphaMapTransform)),w.bumpMap&&(S.bumpMap.value=w.bumpMap,e(w.bumpMap,S.bumpMapTransform),S.bumpScale.value=w.bumpScale,w.side===$o&&(S.bumpScale.value*=-1)),w.normalMap&&(S.normalMap.value=w.normalMap,e(w.normalMap,S.normalMapTransform),S.normalScale.value.copy(w.normalScale),w.side===$o&&S.normalScale.value.negate()),w.displacementMap&&(S.displacementMap.value=w.displacementMap,e(w.displacementMap,S.displacementMapTransform),S.displacementScale.value=w.displacementScale,S.displacementBias.value=w.displacementBias),w.emissiveMap&&(S.emissiveMap.value=w.emissiveMap,e(w.emissiveMap,S.emissiveMapTransform)),w.specularMap&&(S.specularMap.value=w.specularMap,e(w.specularMap,S.specularMapTransform)),w.alphaTest>0&&(S.alphaTest.value=w.alphaTest);let R=t.get(w),C=R.envMap,F=R.envMapRotation;if(C&&(S.envMap.value=C,Cl.copy(F),Cl.x*=-1,Cl.y*=-1,Cl.z*=-1,C.isCubeTexture&&C.isRenderTargetTexture===!1&&(Cl.y*=-1,Cl.z*=-1),S.envMapRotation.value.setFromMatrix4(uX.makeRotationFromEuler(Cl)),S.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,S.reflectivity.value=w.reflectivity,S.ior.value=w.ior,S.refractionRatio.value=w.refractionRatio),w.lightMap){S.lightMap.value=w.lightMap;let V=n._useLegacyLights===!0?Math.PI:1;S.lightMapIntensity.value=w.lightMapIntensity*V,e(w.lightMap,S.lightMapTransform)}w.aoMap&&(S.aoMap.value=w.aoMap,S.aoMapIntensity.value=w.aoMapIntensity,e(w.aoMap,S.aoMapTransform))}function p(S,w){S.diffuse.value.copy(w.color),S.opacity.value=w.opacity,w.map&&(S.map.value=w.map,e(w.map,S.mapTransform))}function h(S,w){S.dashSize.value=w.dashSize,S.totalSize.value=w.dashSize+w.gapSize,S.scale.value=w.scale}function g(S,w,R,C){S.diffuse.value.copy(w.color),S.opacity.value=w.opacity,S.size.value=w.size*R,S.scale.value=C*.5,w.map&&(S.map.value=w.map,e(w.map,S.uvTransform)),w.alphaMap&&(S.alphaMap.value=w.alphaMap,e(w.alphaMap,S.alphaMapTransform)),w.alphaTest>0&&(S.alphaTest.value=w.alphaTest)}function m(S,w){S.diffuse.value.copy(w.color),S.opacity.value=w.opacity,S.rotation.value=w.rotation,w.map&&(S.map.value=w.map,e(w.map,S.mapTransform)),w.alphaMap&&(S.alphaMap.value=w.alphaMap,e(w.alphaMap,S.alphaMapTransform)),w.alphaTest>0&&(S.alphaTest.value=w.alphaTest)}function v(S,w){S.specular.value.copy(w.specular),S.shininess.value=Math.max(w.shininess,1e-4)}function x(S,w){w.gradientMap&&(S.gradientMap.value=w.gradientMap)}function E(S,w){S.metalness.value=w.metalness,w.metalnessMap&&(S.metalnessMap.value=w.metalnessMap,e(w.metalnessMap,S.metalnessMapTransform)),S.roughness.value=w.roughness,w.roughnessMap&&(S.roughnessMap.value=w.roughnessMap,e(w.roughnessMap,S.roughnessMapTransform)),t.get(w).envMap&&(S.envMapIntensity.value=w.envMapIntensity)}function M(S,w,R){S.ior.value=w.ior,w.sheen>0&&(S.sheenColor.value.copy(w.sheenColor).multiplyScalar(w.sheen),S.sheenRoughness.value=w.sheenRoughness,w.sheenColorMap&&(S.sheenColorMap.value=w.sheenColorMap,e(w.sheenColorMap,S.sheenColorMapTransform)),w.sheenRoughnessMap&&(S.sheenRoughnessMap.value=w.sheenRoughnessMap,e(w.sheenRoughnessMap,S.sheenRoughnessMapTransform))),w.clearcoat>0&&(S.clearcoat.value=w.clearcoat,S.clearcoatRoughness.value=w.clearcoatRoughness,w.clearcoatMap&&(S.clearcoatMap.value=w.clearcoatMap,e(w.clearcoatMap,S.clearcoatMapTransform)),w.clearcoatRoughnessMap&&(S.clearcoatRoughnessMap.value=w.clearcoatRoughnessMap,e(w.clearcoatRoughnessMap,S.clearcoatRoughnessMapTransform)),w.clearcoatNormalMap&&(S.clearcoatNormalMap.value=w.clearcoatNormalMap,e(w.clearcoatNormalMap,S.clearcoatNormalMapTransform),S.clearcoatNormalScale.value.copy(w.clearcoatNormalScale),w.side===$o&&S.clearcoatNormalScale.value.negate())),w.iridescence>0&&(S.iridescence.value=w.iridescence,S.iridescenceIOR.value=w.iridescenceIOR,S.iridescenceThicknessMinimum.value=w.iridescenceThicknessRange[0],S.iridescenceThicknessMaximum.value=w.iridescenceThicknessRange[1],w.iridescenceMap&&(S.iridescenceMap.value=w.iridescenceMap,e(w.iridescenceMap,S.iridescenceMapTransform)),w.iridescenceThicknessMap&&(S.iridescenceThicknessMap.value=w.iridescenceThicknessMap,e(w.iridescenceThicknessMap,S.iridescenceThicknessMapTransform))),w.transmission>0&&(S.transmission.value=w.transmission,S.transmissionSamplerMap.value=R.texture,S.transmissionSamplerSize.value.set(R.width,R.height),w.transmissionMap&&(S.transmissionMap.value=w.transmissionMap,e(w.transmissionMap,S.transmissionMapTransform)),S.thickness.value=w.thickness,w.thicknessMap&&(S.thicknessMap.value=w.thicknessMap,e(w.thicknessMap,S.thicknessMapTransform)),S.attenuationDistance.value=w.attenuationDistance,S.attenuationColor.value.copy(w.attenuationColor)),w.anisotropy>0&&(S.anisotropyVector.value.set(w.anisotropy*Math.cos(w.anisotropyRotation),w.anisotropy*Math.sin(w.anisotropyRotation)),w.anisotropyMap&&(S.anisotropyMap.value=w.anisotropyMap,e(w.anisotropyMap,S.anisotropyMapTransform))),S.specularIntensity.value=w.specularIntensity,S.specularColor.value.copy(w.specularColor),w.specularColorMap&&(S.specularColorMap.value=w.specularColorMap,e(w.specularColorMap,S.specularColorMapTransform)),w.specularIntensityMap&&(S.specularIntensityMap.value=w.specularIntensityMap,e(w.specularIntensityMap,S.specularIntensityMapTransform))}function A(S,w){w.matcap&&(S.matcap.value=w.matcap)}function I(S,w){let R=t.get(w).light;S.referencePosition.value.setFromMatrixPosition(R.matrixWorld),S.nearDistance.value=R.shadow.camera.near,S.farDistance.value=R.shadow.camera.far}return{refreshFogUniforms:o,refreshMaterialUniforms:s}}function cX(n,t,e,o){let s={},l={},p=[],h=e.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function g(R,C){let F=C.program;o.uniformBlockBinding(R,F)}function m(R,C){let F=s[R.id];F===void 0&&(A(R),F=v(R),s[R.id]=F,R.addEventListener("dispose",S));let V=C.program;o.updateUBOMapping(R,V);let X=t.render.frame;l[R.id]!==X&&(E(R),l[R.id]=X)}function v(R){let C=x();R.__bindingPointIndex=C;let F=n.createBuffer(),V=R.__size,X=R.usage;return n.bindBuffer(n.UNIFORM_BUFFER,F),n.bufferData(n.UNIFORM_BUFFER,V,X),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,C,F),F}function x(){for(let R=0;R<h;R++)if(p.indexOf(R)===-1)return p.push(R),R;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function E(R){let C=s[R.id],F=R.uniforms,V=R.__cache;n.bindBuffer(n.UNIFORM_BUFFER,C);for(let X=0,q=F.length;X<q;X++){let D=Array.isArray(F[X])?F[X]:[F[X]];for(let xt=0,B=D.length;xt<B;xt++){let j=D[xt];if(M(j,X,xt,V)===!0){let J=j.__offset,Dt=Array.isArray(j.value)?j.value:[j.value],Q=0;for(let At=0;At<Dt.length;At++){let Mt=Dt[At],Lt=I(Mt);typeof Mt=="number"||typeof Mt=="boolean"?(j.__data[0]=Mt,n.bufferSubData(n.UNIFORM_BUFFER,J+Q,j.__data)):Mt.isMatrix3?(j.__data[0]=Mt.elements[0],j.__data[1]=Mt.elements[1],j.__data[2]=Mt.elements[2],j.__data[3]=0,j.__data[4]=Mt.elements[3],j.__data[5]=Mt.elements[4],j.__data[6]=Mt.elements[5],j.__data[7]=0,j.__data[8]=Mt.elements[6],j.__data[9]=Mt.elements[7],j.__data[10]=Mt.elements[8],j.__data[11]=0):(Mt.toArray(j.__data,Q),Q+=Lt.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,J,j.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function M(R,C,F,V){let X=R.value,q=C+"_"+F;if(V[q]===void 0)return typeof X=="number"||typeof X=="boolean"?V[q]=X:V[q]=X.clone(),!0;{let D=V[q];if(typeof X=="number"||typeof X=="boolean"){if(D!==X)return V[q]=X,!0}else if(D.equals(X)===!1)return D.copy(X),!0}return!1}function A(R){let C=R.uniforms,F=0,V=16;for(let q=0,D=C.length;q<D;q++){let xt=Array.isArray(C[q])?C[q]:[C[q]];for(let B=0,j=xt.length;B<j;B++){let J=xt[B],Dt=Array.isArray(J.value)?J.value:[J.value];for(let Q=0,At=Dt.length;Q<At;Q++){let Mt=Dt[Q],Lt=I(Mt),pt=F%V;pt!==0&&V-pt<Lt.boundary&&(F+=V-pt),J.__data=new Float32Array(Lt.storage/Float32Array.BYTES_PER_ELEMENT),J.__offset=F,F+=Lt.storage}}}let X=F%V;return X>0&&(F+=V-X),R.__size=F,R.__cache={},this}function I(R){let C={boundary:0,storage:0};return typeof R=="number"||typeof R=="boolean"?(C.boundary=4,C.storage=4):R.isVector2?(C.boundary=8,C.storage=8):R.isVector3||R.isColor?(C.boundary=16,C.storage=12):R.isVector4?(C.boundary=16,C.storage=16):R.isMatrix3?(C.boundary=48,C.storage=48):R.isMatrix4?(C.boundary=64,C.storage=64):R.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",R),C}function S(R){let C=R.target;C.removeEventListener("dispose",S);let F=p.indexOf(C.__bindingPointIndex);p.splice(F,1),n.deleteBuffer(s[C.id]),delete s[C.id],delete l[C.id]}function w(){for(let R in s)n.deleteBuffer(s[R]);p=[],s={},l={}}return{bind:g,update:m,dispose:w}}var mv=class{constructor(t={}){let{canvas:e=d6(),context:o=null,depth:s=!0,stencil:l=!0,alpha:p=!1,antialias:h=!1,premultipliedAlpha:g=!0,preserveDrawingBuffer:m=!1,powerPreference:v="default",failIfMajorPerformanceCaveat:x=!1}=t;this.isWebGLRenderer=!0;let E;o!==null?E=o.getContextAttributes().alpha:E=p;let M=new Uint32Array(4),A=new Int32Array(4),I=null,S=null,w=[],R=[];this.domElement=e,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Ta,this._useLegacyLights=!1,this.toneMapping=Yu,this.toneMappingExposure=1;let C=this,F=!1,V=0,X=0,q=null,D=-1,xt=null,B=new ji,j=new ji,J=null,Dt=new ar(0),Q=0,At=e.width,Mt=e.height,Lt=1,pt=null,yt=null,K=new ji(0,0,At,Mt),Bt=new ji(0,0,At,Mt),Gt=!1,ae=new Bd,ut=!1,Ut=!1,jt=null,ce=new vi,te=new Ye,$t=new Rt,qt={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function xe(){return q===null?Lt:1}let ft=o;function We(Z,mt){for(let It=0;It<Z.length;It++){let St=Z[It],vt=e.getContext(St,mt);if(vt!==null)return vt}return null}try{let Z={alpha:!0,depth:s,stencil:l,antialias:h,premultipliedAlpha:g,preserveDrawingBuffer:m,powerPreference:v,failIfMajorPerformanceCaveat:x};if("setAttribute"in e&&e.setAttribute("data-engine",\`three.js r\${Rv}\`),e.addEventListener("webglcontextlost",Et,!1),e.addEventListener("webglcontextrestored",G,!1),e.addEventListener("webglcontextcreationerror",ot,!1),ft===null){let mt=["webgl2","webgl","experimental-webgl"];if(C.isWebGL1Renderer===!0&&mt.shift(),ft=We(mt,Z),ft===null)throw We(mt)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}typeof WebGLRenderingContext!="undefined"&&ft instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),ft.getShaderPrecisionFormat===void 0&&(ft.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(Z){throw console.error("THREE.WebGLRenderer: "+Z.message),Z}let ee,ge,fe,Te,be,Wt,Me,tt,z,Pt,Ot,dt,Ht,Ce,Vt,Zt,ne,rt,P,N,k,$,W,ht;function at(){ee=new AW(ft),ge=new xW(ft,ee,t),ee.init(ge),$=new iX(ft,ee,ge),fe=new nX(ft,ee,ge),Te=new PW(ft),be=new V9,Wt=new rX(ft,ee,fe,be,ge,$,Te),Me=new wW(C),tt=new bW(C),z=new D6(ft,ge),W=new vW(ft,ee,z,ge),Pt=new TW(ft,z,Te,W),Ot=new NW(ft,Pt,z,Te),P=new LW(ft,ge,Wt),Zt=new EW(be),dt=new H9(C,Me,tt,ee,ge,W,Zt),Ht=new lX(C,be),Ce=new X9,Vt=new j9(ee,ge),rt=new yW(C,Me,tt,fe,Ot,E,g),ne=new eX(C,Ot,ge),ht=new cX(ft,Te,ge,fe),N=new _W(ft,ee,Te,ge),k=new CW(ft,ee,Te,ge),Te.programs=dt.programs,C.capabilities=ge,C.extensions=ee,C.properties=be,C.renderLists=Ce,C.shadowMap=ne,C.state=fe,C.info=Te}at();let wt=new gv(C,ft);this.xr=wt,this.getContext=function(){return ft},this.getContextAttributes=function(){return ft.getContextAttributes()},this.forceContextLoss=function(){let Z=ee.get("WEBGL_lose_context");Z&&Z.loseContext()},this.forceContextRestore=function(){let Z=ee.get("WEBGL_lose_context");Z&&Z.restoreContext()},this.getPixelRatio=function(){return Lt},this.setPixelRatio=function(Z){Z!==void 0&&(Lt=Z,this.setSize(At,Mt,!1))},this.getSize=function(Z){return Z.set(At,Mt)},this.setSize=function(Z,mt,It=!0){if(wt.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}At=Z,Mt=mt,e.width=Math.floor(Z*Lt),e.height=Math.floor(mt*Lt),It===!0&&(e.style.width=Z+"px",e.style.height=mt+"px"),this.setViewport(0,0,Z,mt)},this.getDrawingBufferSize=function(Z){return Z.set(At*Lt,Mt*Lt).floor()},this.setDrawingBufferSize=function(Z,mt,It){At=Z,Mt=mt,Lt=It,e.width=Math.floor(Z*It),e.height=Math.floor(mt*It),this.setViewport(0,0,Z,mt)},this.getCurrentViewport=function(Z){return Z.copy(B)},this.getViewport=function(Z){return Z.copy(K)},this.setViewport=function(Z,mt,It,St){Z.isVector4?K.set(Z.x,Z.y,Z.z,Z.w):K.set(Z,mt,It,St),fe.viewport(B.copy(K).multiplyScalar(Lt).round())},this.getScissor=function(Z){return Z.copy(Bt)},this.setScissor=function(Z,mt,It,St){Z.isVector4?Bt.set(Z.x,Z.y,Z.z,Z.w):Bt.set(Z,mt,It,St),fe.scissor(j.copy(Bt).multiplyScalar(Lt).round())},this.getScissorTest=function(){return Gt},this.setScissorTest=function(Z){fe.setScissorTest(Gt=Z)},this.setOpaqueSort=function(Z){pt=Z},this.setTransparentSort=function(Z){yt=Z},this.getClearColor=function(Z){return Z.copy(rt.getClearColor())},this.setClearColor=function(){rt.setClearColor.apply(rt,arguments)},this.getClearAlpha=function(){return rt.getClearAlpha()},this.setClearAlpha=function(){rt.setClearAlpha.apply(rt,arguments)},this.clear=function(Z=!0,mt=!0,It=!0){let St=0;if(Z){let vt=!1;if(q!==null){let he=q.texture.format;vt=he===pC||he===hC||he===fC}if(vt){let he=q.texture.type,ue=he===$u||he===Wu||he===Lv||he===Ol||he===lC||he===cC,we=rt.getClearColor(),de=rt.getClearAlpha(),Be=we.r,Ae=we.g,Pe=we.b;ue?(M[0]=Be,M[1]=Ae,M[2]=Pe,M[3]=de,ft.clearBufferuiv(ft.COLOR,0,M)):(A[0]=Be,A[1]=Ae,A[2]=Pe,A[3]=de,ft.clearBufferiv(ft.COLOR,0,A))}else St|=ft.COLOR_BUFFER_BIT}mt&&(St|=ft.DEPTH_BUFFER_BIT),It&&(St|=ft.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),ft.clear(St)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){e.removeEventListener("webglcontextlost",Et,!1),e.removeEventListener("webglcontextrestored",G,!1),e.removeEventListener("webglcontextcreationerror",ot,!1),Ce.dispose(),Vt.dispose(),be.dispose(),Me.dispose(),tt.dispose(),Ot.dispose(),W.dispose(),ht.dispose(),dt.dispose(),ne.dispose(),wt.dispose(),wt.removeEventListener("sessionstart",qe),wt.removeEventListener("sessionend",Ue),jt&&(jt.dispose(),jt=null),Xe.stop()};function Et(Z){Z.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),F=!0}function G(){console.log("THREE.WebGLRenderer: Context Restored."),F=!1;let Z=Te.autoReset,mt=ne.enabled,It=ne.autoUpdate,St=ne.needsUpdate,vt=ne.type;at(),Te.autoReset=Z,ne.enabled=mt,ne.autoUpdate=It,ne.needsUpdate=St,ne.type=vt}function ot(Z){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",Z.statusMessage)}function et(Z){let mt=Z.target;mt.removeEventListener("dispose",et),lt(mt)}function lt(Z){Ft(Z),be.remove(Z)}function Ft(Z){let mt=be.get(Z).programs;mt!==void 0&&(mt.forEach(function(It){dt.releaseProgram(It)}),Z.isShaderMaterial&&dt.releaseShaderCache(Z))}this.renderBufferDirect=function(Z,mt,It,St,vt,he){mt===null&&(mt=qt);let ue=vt.isMesh&&vt.matrixWorld.determinant()<0,we=Qn(Z,mt,It,St,vt);fe.setMaterial(St,ue);let de=It.index,Be=1;if(St.wireframe===!0){if(de=Pt.getWireframeAttribute(It),de===void 0)return;Be=2}let Ae=It.drawRange,Pe=It.attributes.position,en=Ae.start*Be,si=(Ae.start+Ae.count)*Be;he!==null&&(en=Math.max(en,he.start*Be),si=Math.min(si,(he.start+he.count)*Be)),de!==null?(en=Math.max(en,0),si=Math.min(si,de.count)):Pe!=null&&(en=Math.max(en,0),si=Math.min(si,Pe.count));let br=si-en;if(br<0||br===1/0)return;W.setup(vt,St,we,It,de);let Vi,sr=N;if(de!==null&&(Vi=z.get(de),sr=k,sr.setIndex(Vi)),vt.isMesh)St.wireframe===!0?(fe.setLineWidth(St.wireframeLinewidth*xe()),sr.setMode(ft.LINES)):sr.setMode(ft.TRIANGLES);else if(vt.isLine){let ye=St.linewidth;ye===void 0&&(ye=1),fe.setLineWidth(ye*xe()),vt.isLineSegments?sr.setMode(ft.LINES):vt.isLineLoop?sr.setMode(ft.LINE_LOOP):sr.setMode(ft.LINE_STRIP)}else vt.isPoints?sr.setMode(ft.POINTS):vt.isSprite&&sr.setMode(ft.TRIANGLES);if(vt.isBatchedMesh)sr.renderMultiDraw(vt._multiDrawStarts,vt._multiDrawCounts,vt._multiDrawCount);else if(vt.isInstancedMesh)sr.renderInstances(en,br,vt.count);else if(It.isInstancedBufferGeometry){let ye=It._maxInstanceCount!==void 0?It._maxInstanceCount:1/0,Ua=Math.min(It.instanceCount,ye);sr.renderInstances(en,br,Ua)}else sr.render(en,br)};function Kt(Z,mt,It){Z.transparent===!0&&Z.side===cu&&Z.forceSinglePass===!1?(Z.side=$o,Z.needsUpdate=!0,rr(Z,mt,It),Z.side=Ju,Z.needsUpdate=!0,rr(Z,mt,It),Z.side=cu):rr(Z,mt,It)}this.compile=function(Z,mt,It=null){It===null&&(It=Z),S=Vt.get(It),S.init(),R.push(S),It.traverseVisible(function(vt){vt.isLight&&vt.layers.test(mt.layers)&&(S.pushLight(vt),vt.castShadow&&S.pushShadow(vt))}),Z!==It&&Z.traverseVisible(function(vt){vt.isLight&&vt.layers.test(mt.layers)&&(S.pushLight(vt),vt.castShadow&&S.pushShadow(vt))}),S.setupLights(C._useLegacyLights);let St=new Set;return Z.traverse(function(vt){let he=vt.material;if(he)if(Array.isArray(he))for(let ue=0;ue<he.length;ue++){let we=he[ue];Kt(we,It,vt),St.add(we)}else Kt(he,It,vt),St.add(he)}),R.pop(),S=null,St},this.compileAsync=function(Z,mt,It=null){let St=this.compile(Z,mt,It);return new Promise(vt=>{function he(){if(St.forEach(function(ue){be.get(ue).currentProgram.isReady()&&St.delete(ue)}),St.size===0){vt(Z);return}setTimeout(he,10)}ee.get("KHR_parallel_shader_compile")!==null?he():setTimeout(he,10)})};let me=null;function ve(Z){me&&me(Z)}function qe(){Xe.stop()}function Ue(){Xe.start()}let Xe=new xC;Xe.setAnimationLoop(ve),typeof self!="undefined"&&Xe.setContext(self),this.setAnimationLoop=function(Z){me=Z,wt.setAnimationLoop(Z),Z===null?Xe.stop():Xe.start()},wt.addEventListener("sessionstart",qe),wt.addEventListener("sessionend",Ue),this.render=function(Z,mt){if(mt!==void 0&&mt.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(F===!0)return;Z.matrixWorldAutoUpdate===!0&&Z.updateMatrixWorld(),mt.parent===null&&mt.matrixWorldAutoUpdate===!0&&mt.updateMatrixWorld(),wt.enabled===!0&&wt.isPresenting===!0&&(wt.cameraAutoUpdate===!0&&wt.updateCamera(mt),mt=wt.getCamera()),Z.isScene===!0&&Z.onBeforeRender(C,Z,mt,q),S=Vt.get(Z,R.length),S.init(),R.push(S),ce.multiplyMatrices(mt.projectionMatrix,mt.matrixWorldInverse),ae.setFromProjectionMatrix(ce),Ut=this.localClippingEnabled,ut=Zt.init(this.clippingPlanes,Ut),I=Ce.get(Z,w.length),I.init(),w.push(I),Je(Z,mt,0,C.sortObjects),I.finish(),C.sortObjects===!0&&I.sort(pt,yt),this.info.render.frame++,ut===!0&&Zt.beginShadows();let It=S.state.shadowsArray;if(ne.render(It,Z,mt),ut===!0&&Zt.endShadows(),this.info.autoReset===!0&&this.info.reset(),(wt.enabled===!1||wt.isPresenting===!1||wt.hasDepthSensing()===!1)&&rt.render(I,Z),S.setupLights(C._useLegacyLights),mt.isArrayCamera){let St=mt.cameras;for(let vt=0,he=St.length;vt<he;vt++){let ue=St[vt];wr(I,Z,ue,ue.viewport)}}else wr(I,Z,mt);q!==null&&(Wt.updateMultisampleRenderTarget(q),Wt.updateRenderTargetMipmap(q)),Z.isScene===!0&&Z.onAfterRender(C,Z,mt),W.resetDefaultState(),D=-1,xt=null,R.pop(),R.length>0?S=R[R.length-1]:S=null,w.pop(),w.length>0?I=w[w.length-1]:I=null};function Je(Z,mt,It,St){if(Z.visible===!1)return;if(Z.layers.test(mt.layers)){if(Z.isGroup)It=Z.renderOrder;else if(Z.isLOD)Z.autoUpdate===!0&&Z.update(mt);else if(Z.isLight)S.pushLight(Z),Z.castShadow&&S.pushShadow(Z);else if(Z.isSprite){if(!Z.frustumCulled||ae.intersectsSprite(Z)){St&&$t.setFromMatrixPosition(Z.matrixWorld).applyMatrix4(ce);let ue=Ot.update(Z),we=Z.material;we.visible&&I.push(Z,ue,we,It,$t.z,null)}}else if((Z.isMesh||Z.isLine||Z.isPoints)&&(!Z.frustumCulled||ae.intersectsObject(Z))){let ue=Ot.update(Z),we=Z.material;if(St&&(Z.boundingSphere!==void 0?(Z.boundingSphere===null&&Z.computeBoundingSphere(),$t.copy(Z.boundingSphere.center)):(ue.boundingSphere===null&&ue.computeBoundingSphere(),$t.copy(ue.boundingSphere.center)),$t.applyMatrix4(Z.matrixWorld).applyMatrix4(ce)),Array.isArray(we)){let de=ue.groups;for(let Be=0,Ae=de.length;Be<Ae;Be++){let Pe=de[Be],en=we[Pe.materialIndex];en&&en.visible&&I.push(Z,ue,en,It,$t.z,Pe)}}else we.visible&&I.push(Z,ue,we,It,$t.z,null)}}let he=Z.children;for(let ue=0,we=he.length;ue<we;ue++)Je(he[ue],mt,It,St)}function wr(Z,mt,It,St){let vt=Z.opaque,he=Z.transmissive,ue=Z.transparent;S.setupLightsView(It),ut===!0&&Zt.setGlobalState(C.clippingPlanes,It),he.length>0&&Jr(vt,he,mt,It),St&&fe.viewport(B.copy(St)),vt.length>0&&nr(vt,mt,It),he.length>0&&nr(he,mt,It),ue.length>0&&nr(ue,mt,It),fe.buffers.depth.setTest(!0),fe.buffers.depth.setMask(!0),fe.buffers.color.setMask(!0),fe.setPolygonOffset(!1)}function Jr(Z,mt,It,St){if((It.isScene===!0?It.overrideMaterial:null)!==null)return;let he=ge.isWebGL2;jt===null&&(jt=new du(1,1,{generateMipmaps:!0,type:ee.has("EXT_color_buffer_half_float")?ah:$u,minFilter:Ll,samples:he?4:0})),C.getDrawingBufferSize(te),he?jt.setSize(te.x,te.y):jt.setSize(jy(te.x),jy(te.y));let ue=C.getRenderTarget();C.setRenderTarget(jt),C.getClearColor(Dt),Q=C.getClearAlpha(),Q<1&&C.setClearColor(16777215,.5),C.clear();let we=C.toneMapping;C.toneMapping=Yu,nr(Z,It,St),Wt.updateMultisampleRenderTarget(jt),Wt.updateRenderTargetMipmap(jt);let de=!1;for(let Be=0,Ae=mt.length;Be<Ae;Be++){let Pe=mt[Be],en=Pe.object,si=Pe.geometry,br=Pe.material,Vi=Pe.group;if(br.side===cu&&en.layers.test(St.layers)){let sr=br.side;br.side=$o,br.needsUpdate=!0,Ie(en,It,St,si,br,Vi),br.side=sr,br.needsUpdate=!0,de=!0}}de===!0&&(Wt.updateMultisampleRenderTarget(jt),Wt.updateRenderTargetMipmap(jt)),C.setRenderTarget(ue),C.setClearColor(Dt,Q),C.toneMapping=we}function nr(Z,mt,It){let St=mt.isScene===!0?mt.overrideMaterial:null;for(let vt=0,he=Z.length;vt<he;vt++){let ue=Z[vt],we=ue.object,de=ue.geometry,Be=St===null?ue.material:St,Ae=ue.group;we.layers.test(It.layers)&&Ie(we,mt,It,de,Be,Ae)}}function Ie(Z,mt,It,St,vt,he){Z.onBeforeRender(C,mt,It,St,vt,he),Z.modelViewMatrix.multiplyMatrices(It.matrixWorldInverse,Z.matrixWorld),Z.normalMatrix.getNormalMatrix(Z.modelViewMatrix),vt.onBeforeRender(C,mt,It,St,Z,he),vt.transparent===!0&&vt.side===cu&&vt.forceSinglePass===!1?(vt.side=$o,vt.needsUpdate=!0,C.renderBufferDirect(It,mt,St,vt,Z,he),vt.side=Ju,vt.needsUpdate=!0,C.renderBufferDirect(It,mt,St,vt,Z,he),vt.side=cu):C.renderBufferDirect(It,mt,St,vt,Z,he),Z.onAfterRender(C,mt,It,St,vt,he)}function rr(Z,mt,It){mt.isScene!==!0&&(mt=qt);let St=be.get(Z),vt=S.state.lights,he=S.state.shadowsArray,ue=vt.state.version,we=dt.getParameters(Z,vt.state,he,mt,It),de=dt.getProgramCacheKey(we),Be=St.programs;St.environment=Z.isMeshStandardMaterial?mt.environment:null,St.fog=mt.fog,St.envMap=(Z.isMeshStandardMaterial?tt:Me).get(Z.envMap||St.environment),St.envMapRotation=St.environment!==null&&Z.envMap===null?mt.environmentRotation:Z.envMapRotation,Be===void 0&&(Z.addEventListener("dispose",et),Be=new Map,St.programs=Be);let Ae=Be.get(de);if(Ae!==void 0){if(St.currentProgram===Ae&&St.lightsStateVersion===ue)return ur(Z,we),Ae}else we.uniforms=dt.getUniforms(Z),Z.onBuild(It,we,C),Z.onBeforeCompile(we,C),Ae=dt.acquireProgram(we,de),Be.set(de,Ae),St.uniforms=we.uniforms;let Pe=St.uniforms;return(!Z.isShaderMaterial&&!Z.isRawShaderMaterial||Z.clipping===!0)&&(Pe.clippingPlanes=Zt.uniform),ur(Z,we),St.needsLights=oi(Z),St.lightsStateVersion=ue,St.needsLights&&(Pe.ambientLightColor.value=vt.state.ambient,Pe.lightProbe.value=vt.state.probe,Pe.directionalLights.value=vt.state.directional,Pe.directionalLightShadows.value=vt.state.directionalShadow,Pe.spotLights.value=vt.state.spot,Pe.spotLightShadows.value=vt.state.spotShadow,Pe.rectAreaLights.value=vt.state.rectArea,Pe.ltc_1.value=vt.state.rectAreaLTC1,Pe.ltc_2.value=vt.state.rectAreaLTC2,Pe.pointLights.value=vt.state.point,Pe.pointLightShadows.value=vt.state.pointShadow,Pe.hemisphereLights.value=vt.state.hemi,Pe.directionalShadowMap.value=vt.state.directionalShadowMap,Pe.directionalShadowMatrix.value=vt.state.directionalShadowMatrix,Pe.spotShadowMap.value=vt.state.spotShadowMap,Pe.spotLightMatrix.value=vt.state.spotLightMatrix,Pe.spotLightMap.value=vt.state.spotLightMap,Pe.pointShadowMap.value=vt.state.pointShadowMap,Pe.pointShadowMatrix.value=vt.state.pointShadowMatrix),St.currentProgram=Ae,St.uniformsList=null,Ae}function pr(Z){if(Z.uniformsList===null){let mt=Z.currentProgram.getUniforms();Z.uniformsList=qc.seqWithValue(mt.seq,Z.uniforms)}return Z.uniformsList}function ur(Z,mt){let It=be.get(Z);It.outputColorSpace=mt.outputColorSpace,It.batching=mt.batching,It.instancing=mt.instancing,It.instancingColor=mt.instancingColor,It.instancingMorph=mt.instancingMorph,It.skinning=mt.skinning,It.morphTargets=mt.morphTargets,It.morphNormals=mt.morphNormals,It.morphColors=mt.morphColors,It.morphTargetsCount=mt.morphTargetsCount,It.numClippingPlanes=mt.numClippingPlanes,It.numIntersection=mt.numClipIntersection,It.vertexAlphas=mt.vertexAlphas,It.vertexTangents=mt.vertexTangents,It.toneMapping=mt.toneMapping}function Qn(Z,mt,It,St,vt){mt.isScene!==!0&&(mt=qt),Wt.resetTextureUnits();let he=mt.fog,ue=St.isMeshStandardMaterial?mt.environment:null,we=q===null?C.outputColorSpace:q.isXRRenderTarget===!0?q.texture.colorSpace:tl,de=(St.isMeshStandardMaterial?tt:Me).get(St.envMap||ue),Be=St.vertexColors===!0&&!!It.attributes.color&&It.attributes.color.itemSize===4,Ae=!!It.attributes.tangent&&(!!St.normalMap||St.anisotropy>0),Pe=!!It.morphAttributes.position,en=!!It.morphAttributes.normal,si=!!It.morphAttributes.color,br=Yu;St.toneMapped&&(q===null||q.isXRRenderTarget===!0)&&(br=C.toneMapping);let Vi=It.morphAttributes.position||It.morphAttributes.normal||It.morphAttributes.color,sr=Vi!==void 0?Vi.length:0,ye=be.get(St),Ua=S.state.lights;if(ut===!0&&(Ut===!0||Z!==xt)){let Ai=Z===xt&&St.id===D;Zt.setState(St,Z,Ai)}let nn=!1;St.version===ye.__version?(ye.needsLights&&ye.lightsStateVersion!==Ua.state.version||ye.outputColorSpace!==we||vt.isBatchedMesh&&ye.batching===!1||!vt.isBatchedMesh&&ye.batching===!0||vt.isInstancedMesh&&ye.instancing===!1||!vt.isInstancedMesh&&ye.instancing===!0||vt.isSkinnedMesh&&ye.skinning===!1||!vt.isSkinnedMesh&&ye.skinning===!0||vt.isInstancedMesh&&ye.instancingColor===!0&&vt.instanceColor===null||vt.isInstancedMesh&&ye.instancingColor===!1&&vt.instanceColor!==null||vt.isInstancedMesh&&ye.instancingMorph===!0&&vt.morphTexture===null||vt.isInstancedMesh&&ye.instancingMorph===!1&&vt.morphTexture!==null||ye.envMap!==de||St.fog===!0&&ye.fog!==he||ye.numClippingPlanes!==void 0&&(ye.numClippingPlanes!==Zt.numPlanes||ye.numIntersection!==Zt.numIntersection)||ye.vertexAlphas!==Be||ye.vertexTangents!==Ae||ye.morphTargets!==Pe||ye.morphNormals!==en||ye.morphColors!==si||ye.toneMapping!==br||ge.isWebGL2===!0&&ye.morphTargetsCount!==sr)&&(nn=!0):(nn=!0,ye.__version=St.version);let fo=ye.currentProgram;nn===!0&&(fo=rr(St,mt,vt));let ul=!1,ze=!1,vs=!1,ir=fo.getUniforms(),Qo=ye.uniforms;if(fe.useProgram(fo.program)&&(ul=!0,ze=!0,vs=!0),St.id!==D&&(D=St.id,ze=!0),ul||xt!==Z){ir.setValue(ft,"projectionMatrix",Z.projectionMatrix),ir.setValue(ft,"viewMatrix",Z.matrixWorldInverse);let Ai=ir.map.cameraPosition;Ai!==void 0&&Ai.setValue(ft,$t.setFromMatrixPosition(Z.matrixWorld)),ge.logarithmicDepthBuffer&&ir.setValue(ft,"logDepthBufFC",2/(Math.log(Z.far+1)/Math.LN2)),(St.isMeshPhongMaterial||St.isMeshToonMaterial||St.isMeshLambertMaterial||St.isMeshBasicMaterial||St.isMeshStandardMaterial||St.isShaderMaterial)&&ir.setValue(ft,"isOrthographic",Z.isOrthographicCamera===!0),xt!==Z&&(xt=Z,ze=!0,vs=!0)}if(vt.isSkinnedMesh){ir.setOptional(ft,vt,"bindMatrix"),ir.setOptional(ft,vt,"bindMatrixInverse");let Ai=vt.skeleton;Ai&&(ge.floatVertexTextures?(Ai.boneTexture===null&&Ai.computeBoneTexture(),ir.setValue(ft,"boneTexture",Ai.boneTexture,Wt)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}vt.isBatchedMesh&&(ir.setOptional(ft,vt,"batchingTexture"),ir.setValue(ft,"batchingTexture",vt._matricesTexture,Wt));let Le=It.morphAttributes;if((Le.position!==void 0||Le.normal!==void 0||Le.color!==void 0&&ge.isWebGL2===!0)&&P.update(vt,It,fo),(ze||ye.receiveShadow!==vt.receiveShadow)&&(ye.receiveShadow=vt.receiveShadow,ir.setValue(ft,"receiveShadow",vt.receiveShadow)),St.isMeshGouraudMaterial&&St.envMap!==null&&(Qo.envMap.value=de,Qo.flipEnvMap.value=de.isCubeTexture&&de.isRenderTargetTexture===!1?-1:1),ze&&(ir.setValue(ft,"toneMappingExposure",C.toneMappingExposure),ye.needsLights&&bi(Qo,vs),he&&St.fog===!0&&Ht.refreshFogUniforms(Qo,he),Ht.refreshMaterialUniforms(Qo,St,Lt,Mt,jt),qc.upload(ft,pr(ye),Qo,Wt)),St.isShaderMaterial&&St.uniformsNeedUpdate===!0&&(qc.upload(ft,pr(ye),Qo,Wt),St.uniformsNeedUpdate=!1),St.isSpriteMaterial&&ir.setValue(ft,"center",vt.center),ir.setValue(ft,"modelViewMatrix",vt.modelViewMatrix),ir.setValue(ft,"normalMatrix",vt.normalMatrix),ir.setValue(ft,"modelMatrix",vt.matrixWorld),St.isShaderMaterial||St.isRawShaderMaterial){let Ai=St.uniformsGroups;for(let Ba=0,mu=Ai.length;Ba<mu;Ba++)if(ge.isWebGL2){let Ti=Ai[Ba];ht.update(Ti,fo),ht.bind(Ti,fo)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return fo}function bi(Z,mt){Z.ambientLightColor.needsUpdate=mt,Z.lightProbe.needsUpdate=mt,Z.directionalLights.needsUpdate=mt,Z.directionalLightShadows.needsUpdate=mt,Z.pointLights.needsUpdate=mt,Z.pointLightShadows.needsUpdate=mt,Z.spotLights.needsUpdate=mt,Z.spotLightShadows.needsUpdate=mt,Z.rectAreaLights.needsUpdate=mt,Z.hemisphereLights.needsUpdate=mt}function oi(Z){return Z.isMeshLambertMaterial||Z.isMeshToonMaterial||Z.isMeshPhongMaterial||Z.isMeshStandardMaterial||Z.isShadowMaterial||Z.isShaderMaterial&&Z.lights===!0}this.getActiveCubeFace=function(){return V},this.getActiveMipmapLevel=function(){return X},this.getRenderTarget=function(){return q},this.setRenderTargetTextures=function(Z,mt,It){be.get(Z.texture).__webglTexture=mt,be.get(Z.depthTexture).__webglTexture=It;let St=be.get(Z);St.__hasExternalTextures=!0,St.__autoAllocateDepthBuffer=It===void 0,St.__autoAllocateDepthBuffer||ee.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),St.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(Z,mt){let It=be.get(Z);It.__webglFramebuffer=mt,It.__useDefaultFramebuffer=mt===void 0},this.setRenderTarget=function(Z,mt=0,It=0){q=Z,V=mt,X=It;let St=!0,vt=null,he=!1,ue=!1;if(Z){let de=be.get(Z);de.__useDefaultFramebuffer!==void 0?(fe.bindFramebuffer(ft.FRAMEBUFFER,null),St=!1):de.__webglFramebuffer===void 0?Wt.setupRenderTarget(Z):de.__hasExternalTextures&&Wt.rebindTextures(Z,be.get(Z.texture).__webglTexture,be.get(Z.depthTexture).__webglTexture);let Be=Z.texture;(Be.isData3DTexture||Be.isDataArrayTexture||Be.isCompressedArrayTexture)&&(ue=!0);let Ae=be.get(Z).__webglFramebuffer;Z.isWebGLCubeRenderTarget?(Array.isArray(Ae[mt])?vt=Ae[mt][It]:vt=Ae[mt],he=!0):ge.isWebGL2&&Z.samples>0&&Wt.useMultisampledRTT(Z)===!1?vt=be.get(Z).__webglMultisampledFramebuffer:Array.isArray(Ae)?vt=Ae[It]:vt=Ae,B.copy(Z.viewport),j.copy(Z.scissor),J=Z.scissorTest}else B.copy(K).multiplyScalar(Lt).floor(),j.copy(Bt).multiplyScalar(Lt).floor(),J=Gt;if(fe.bindFramebuffer(ft.FRAMEBUFFER,vt)&&ge.drawBuffers&&St&&fe.drawBuffers(Z,vt),fe.viewport(B),fe.scissor(j),fe.setScissorTest(J),he){let de=be.get(Z.texture);ft.framebufferTexture2D(ft.FRAMEBUFFER,ft.COLOR_ATTACHMENT0,ft.TEXTURE_CUBE_MAP_POSITIVE_X+mt,de.__webglTexture,It)}else if(ue){let de=be.get(Z.texture),Be=mt||0;ft.framebufferTextureLayer(ft.FRAMEBUFFER,ft.COLOR_ATTACHMENT0,de.__webglTexture,It||0,Be)}D=-1},this.readRenderTargetPixels=function(Z,mt,It,St,vt,he,ue){if(!(Z&&Z.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let we=be.get(Z).__webglFramebuffer;if(Z.isWebGLCubeRenderTarget&&ue!==void 0&&(we=we[ue]),we){fe.bindFramebuffer(ft.FRAMEBUFFER,we);try{let de=Z.texture,Be=de.format,Ae=de.type;if(Be!==na&&$.convert(Be)!==ft.getParameter(ft.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}let Pe=Ae===ah&&(ee.has("EXT_color_buffer_half_float")||ge.isWebGL2&&ee.has("EXT_color_buffer_float"));if(Ae!==$u&&$.convert(Ae)!==ft.getParameter(ft.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Ae===fu&&(ge.isWebGL2||ee.has("OES_texture_float")||ee.has("WEBGL_color_buffer_float")))&&!Pe){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}mt>=0&&mt<=Z.width-St&&It>=0&&It<=Z.height-vt&&ft.readPixels(mt,It,St,vt,$.convert(Be),$.convert(Ae),he)}finally{let de=q!==null?be.get(q).__webglFramebuffer:null;fe.bindFramebuffer(ft.FRAMEBUFFER,de)}}},this.copyFramebufferToTexture=function(Z,mt,It=0){let St=Math.pow(2,-It),vt=Math.floor(mt.image.width*St),he=Math.floor(mt.image.height*St);Wt.setTexture2D(mt,0),ft.copyTexSubImage2D(ft.TEXTURE_2D,It,0,0,Z.x,Z.y,vt,he),fe.unbindTexture()},this.copyTextureToTexture=function(Z,mt,It,St=0){let vt=mt.image.width,he=mt.image.height,ue=$.convert(It.format),we=$.convert(It.type);Wt.setTexture2D(It,0),ft.pixelStorei(ft.UNPACK_FLIP_Y_WEBGL,It.flipY),ft.pixelStorei(ft.UNPACK_PREMULTIPLY_ALPHA_WEBGL,It.premultiplyAlpha),ft.pixelStorei(ft.UNPACK_ALIGNMENT,It.unpackAlignment),mt.isDataTexture?ft.texSubImage2D(ft.TEXTURE_2D,St,Z.x,Z.y,vt,he,ue,we,mt.image.data):mt.isCompressedTexture?ft.compressedTexSubImage2D(ft.TEXTURE_2D,St,Z.x,Z.y,mt.mipmaps[0].width,mt.mipmaps[0].height,ue,mt.mipmaps[0].data):ft.texSubImage2D(ft.TEXTURE_2D,St,Z.x,Z.y,ue,we,mt.image),St===0&&It.generateMipmaps&&ft.generateMipmap(ft.TEXTURE_2D),fe.unbindTexture()},this.copyTextureToTexture3D=function(Z,mt,It,St,vt=0){if(C.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let he=Math.round(Z.max.x-Z.min.x),ue=Math.round(Z.max.y-Z.min.y),we=Z.max.z-Z.min.z+1,de=$.convert(St.format),Be=$.convert(St.type),Ae;if(St.isData3DTexture)Wt.setTexture3D(St,0),Ae=ft.TEXTURE_3D;else if(St.isDataArrayTexture||St.isCompressedArrayTexture)Wt.setTexture2DArray(St,0),Ae=ft.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}ft.pixelStorei(ft.UNPACK_FLIP_Y_WEBGL,St.flipY),ft.pixelStorei(ft.UNPACK_PREMULTIPLY_ALPHA_WEBGL,St.premultiplyAlpha),ft.pixelStorei(ft.UNPACK_ALIGNMENT,St.unpackAlignment);let Pe=ft.getParameter(ft.UNPACK_ROW_LENGTH),en=ft.getParameter(ft.UNPACK_IMAGE_HEIGHT),si=ft.getParameter(ft.UNPACK_SKIP_PIXELS),br=ft.getParameter(ft.UNPACK_SKIP_ROWS),Vi=ft.getParameter(ft.UNPACK_SKIP_IMAGES),sr=It.isCompressedTexture?It.mipmaps[vt]:It.image;ft.pixelStorei(ft.UNPACK_ROW_LENGTH,sr.width),ft.pixelStorei(ft.UNPACK_IMAGE_HEIGHT,sr.height),ft.pixelStorei(ft.UNPACK_SKIP_PIXELS,Z.min.x),ft.pixelStorei(ft.UNPACK_SKIP_ROWS,Z.min.y),ft.pixelStorei(ft.UNPACK_SKIP_IMAGES,Z.min.z),It.isDataTexture||It.isData3DTexture?ft.texSubImage3D(Ae,vt,mt.x,mt.y,mt.z,he,ue,we,de,Be,sr.data):St.isCompressedArrayTexture?ft.compressedTexSubImage3D(Ae,vt,mt.x,mt.y,mt.z,he,ue,we,de,sr.data):ft.texSubImage3D(Ae,vt,mt.x,mt.y,mt.z,he,ue,we,de,Be,sr),ft.pixelStorei(ft.UNPACK_ROW_LENGTH,Pe),ft.pixelStorei(ft.UNPACK_IMAGE_HEIGHT,en),ft.pixelStorei(ft.UNPACK_SKIP_PIXELS,si),ft.pixelStorei(ft.UNPACK_SKIP_ROWS,br),ft.pixelStorei(ft.UNPACK_SKIP_IMAGES,Vi),vt===0&&St.generateMipmaps&&ft.generateMipmap(Ae),fe.unbindTexture()},this.initTexture=function(Z){Z.isCubeTexture?Wt.setTextureCube(Z,0):Z.isData3DTexture?Wt.setTexture3D(Z,0):Z.isDataArrayTexture||Z.isCompressedArrayTexture?Wt.setTexture2DArray(Z,0):Wt.setTexture2D(Z,0),fe.unbindTexture()},this.resetState=function(){V=0,X=0,q=null,fe.reset(),W.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return hu}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;let e=this.getContext();e.drawingBufferColorSpace=t===Nv?"display-p3":"srgb",e.unpackColorSpace=xr.workingColorSpace===Vd?"display-p3":"srgb"}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(t){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=t}},yv=class extends mv{};yv.prototype.isWebGL1Renderer=!0;var vv=class{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=t!==void 0?t.length/e:0,this.usage=Zy,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Zu()}onUploadCallback(){}set needsUpdate(t){t===!0&&this.version++}get updateRange(){return yC("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,o){t*=this.stride,o*=e.stride;for(let s=0,l=this.stride;s<l;s++)this.array[t+s]=e.array[o+s];return this}set(t,e=0){return this.array.set(t,e),this}clone(t){t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Zu()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let e=new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]),o=new this.constructor(e,this.stride);return o.setUsage(this.usage),o}onUpload(t){return this.onUploadCallback=t,this}toJSON(t){return t.arrayBuffers===void 0&&(t.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=Zu()),t.arrayBuffers[this.array.buffer._uuid]===void 0&&(t.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}},wo=new Rt,qd=class n{constructor(t,e,o,s=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=t,this.itemSize=e,this.offset=o,this.normalized=s}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(t){this.data.needsUpdate=t}applyMatrix4(t){for(let e=0,o=this.data.count;e<o;e++)wo.fromBufferAttribute(this,e),wo.applyMatrix4(t),this.setXYZ(e,wo.x,wo.y,wo.z);return this}applyNormalMatrix(t){for(let e=0,o=this.count;e<o;e++)wo.fromBufferAttribute(this,e),wo.applyNormalMatrix(t),this.setXYZ(e,wo.x,wo.y,wo.z);return this}transformDirection(t){for(let e=0,o=this.count;e<o;e++)wo.fromBufferAttribute(this,e),wo.transformDirection(t),this.setXYZ(e,wo.x,wo.y,wo.z);return this}getComponent(t,e){let o=this.array[t*this.data.stride+this.offset+e];return this.normalized&&(o=Pa(o,this.array)),o}setComponent(t,e,o){return this.normalized&&(o=_r(o,this.array)),this.data.array[t*this.data.stride+this.offset+e]=o,this}setX(t,e){return this.normalized&&(e=_r(e,this.array)),this.data.array[t*this.data.stride+this.offset]=e,this}setY(t,e){return this.normalized&&(e=_r(e,this.array)),this.data.array[t*this.data.stride+this.offset+1]=e,this}setZ(t,e){return this.normalized&&(e=_r(e,this.array)),this.data.array[t*this.data.stride+this.offset+2]=e,this}setW(t,e){return this.normalized&&(e=_r(e,this.array)),this.data.array[t*this.data.stride+this.offset+3]=e,this}getX(t){let e=this.data.array[t*this.data.stride+this.offset];return this.normalized&&(e=Pa(e,this.array)),e}getY(t){let e=this.data.array[t*this.data.stride+this.offset+1];return this.normalized&&(e=Pa(e,this.array)),e}getZ(t){let e=this.data.array[t*this.data.stride+this.offset+2];return this.normalized&&(e=Pa(e,this.array)),e}getW(t){let e=this.data.array[t*this.data.stride+this.offset+3];return this.normalized&&(e=Pa(e,this.array)),e}setXY(t,e,o){return t=t*this.data.stride+this.offset,this.normalized&&(e=_r(e,this.array),o=_r(o,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=o,this}setXYZ(t,e,o,s){return t=t*this.data.stride+this.offset,this.normalized&&(e=_r(e,this.array),o=_r(o,this.array),s=_r(s,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=o,this.data.array[t+2]=s,this}setXYZW(t,e,o,s,l){return t=t*this.data.stride+this.offset,this.normalized&&(e=_r(e,this.array),o=_r(o,this.array),s=_r(s,this.array),l=_r(l,this.array)),this.data.array[t+0]=e,this.data.array[t+1]=o,this.data.array[t+2]=s,this.data.array[t+3]=l,this}clone(t){if(t===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let o=0;o<this.count;o++){let s=o*this.data.stride+this.offset;for(let l=0;l<this.itemSize;l++)e.push(this.data.array[s+l])}return new ms(new this.array.constructor(e),this.itemSize,this.normalized)}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.clone(t)),new n(t.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(t){if(t===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");let e=[];for(let o=0;o<this.count;o++){let s=o*this.data.stride+this.offset;for(let l=0;l<this.itemSize;l++)e.push(this.data.array[s+l])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}else return t.interleavedBuffers===void 0&&(t.interleavedBuffers={}),t.interleavedBuffers[this.data.uuid]===void 0&&(t.interleavedBuffers[this.data.uuid]=this.data.toJSON(t)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},_v=class extends Bl{constructor(t){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new ar(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.alphaMap=t.alphaMap,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this.fog=t.fog,this}},Hu,rh=new Rt,Oc=new Rt,Dc=new Rt,Fc=new Ye,ih=new Ye,AC=new vi,yd=new Rt,oh=new Rt,vd=new Rt,rC=new Ye,qy=new Ye,iC=new Ye,xv=class extends ia{constructor(t=new _v){if(super(),this.isSprite=!0,this.type="Sprite",Hu===void 0){Hu=new Qu;let e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),o=new vv(e,5);Hu.setIndex([0,1,2,0,2,3]),Hu.setAttribute("position",new qd(o,3,0,!1)),Hu.setAttribute("uv",new qd(o,2,3,!1))}this.geometry=Hu,this.material=t,this.center=new Ye(.5,.5)}raycast(t,e){t.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),Oc.setFromMatrixScale(this.matrixWorld),AC.copy(t.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse,this.matrixWorld),Dc.setFromMatrixPosition(this.modelViewMatrix),t.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&Oc.multiplyScalar(-Dc.z);let o=this.material.rotation,s,l;o!==0&&(l=Math.cos(o),s=Math.sin(o));let p=this.center;_d(yd.set(-.5,-.5,0),Dc,p,Oc,s,l),_d(oh.set(.5,-.5,0),Dc,p,Oc,s,l),_d(vd.set(.5,.5,0),Dc,p,Oc,s,l),rC.set(0,0),qy.set(1,0),iC.set(1,1);let h=t.ray.intersectTriangle(yd,oh,vd,!1,rh);if(h===null&&(_d(oh.set(-.5,.5,0),Dc,p,Oc,s,l),qy.set(0,1),h=t.ray.intersectTriangle(yd,vd,oh,!1,rh),h===null))return;let g=t.ray.origin.distanceTo(rh);g<t.near||g>t.far||e.push({distance:g,point:rh.clone(),uv:Nl.getInterpolation(rh,yd,oh,vd,rC,qy,iC,new Ye),face:null,object:this})}copy(t,e){return super.copy(t,e),t.center!==void 0&&this.center.copy(t.center),this.material=t.material,this}};xv.Dispose=function(){Hu.dispose(),Hu=void 0};function _d(n,t,e,o,s,l){Fc.subVectors(n,e).addScalar(.5).multiply(o),s!==void 0?(ih.x=l*Fc.x-s*Fc.y,ih.y=s*Fc.x+l*Fc.y):ih.copy(Fc),n.copy(t),n.x+=ih.x,n.y+=ih.y,n.applyMatrix4(AC)}function xd(n,t,e){return!n||!e&&n.constructor===t?n:typeof t.BYTES_PER_ELEMENT=="number"?new t(n):Array.prototype.slice.call(n)}function fX(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}var Yc=class{constructor(t,e,o,s){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=s!==void 0?s:new e.constructor(o),this.sampleValues=e,this.valueSize=o,this.settings=null,this.DefaultSettings_={}}evaluate(t){let e=this.parameterPositions,o=this._cachedIndex,s=e[o],l=e[o-1];t:{e:{let p;n:{r:if(!(t<s)){for(let h=o+2;;){if(s===void 0){if(t<l)break r;return o=e.length,this._cachedIndex=o,this.copySampleValue_(o-1)}if(o===h)break;if(l=s,s=e[++o],t<s)break e}p=e.length;break n}if(!(t>=l)){let h=e[1];t<h&&(o=2,l=h);for(let g=o-2;;){if(l===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(o===g)break;if(s=l,l=e[--o-1],t>=l)break e}p=o,o=0;break n}break t}for(;o<p;){let h=o+p>>>1;t<e[h]?p=h:o=h+1}if(s=e[o],l=e[o-1],l===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(s===void 0)return o=e.length,this._cachedIndex=o,this.copySampleValue_(o-1)}this._cachedIndex=o,this.intervalChanged_(o,l,s)}return this.interpolate_(o,l,t,s)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(t){let e=this.resultBuffer,o=this.sampleValues,s=this.valueSize,l=t*s;for(let p=0;p!==s;++p)e[p]=o[l+p];return e}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},Ev=class extends Yc{constructor(t,e,o,s){super(t,e,o,s),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:hT,endingEnd:hT}}intervalChanged_(t,e,o){let s=this.parameterPositions,l=t-2,p=t+1,h=s[l],g=s[p];if(h===void 0)switch(this.getSettings_().endingStart){case pT:l=t,h=2*e-o;break;case dT:l=s.length-2,h=e+s[l]-s[l+1];break;default:l=t,h=o}if(g===void 0)switch(this.getSettings_().endingEnd){case pT:p=t,g=2*o-e;break;case dT:p=1,g=o+s[1]-s[0];break;default:p=t-1,g=e}let m=(o-e)*.5,v=this.valueSize;this._weightPrev=m/(e-h),this._weightNext=m/(g-o),this._offsetPrev=l*v,this._offsetNext=p*v}interpolate_(t,e,o,s){let l=this.resultBuffer,p=this.sampleValues,h=this.valueSize,g=t*h,m=g-h,v=this._offsetPrev,x=this._offsetNext,E=this._weightPrev,M=this._weightNext,A=(o-e)/(s-e),I=A*A,S=I*A,w=-E*S+2*E*I-E*A,R=(1+E)*S+(-1.5-2*E)*I+(-.5+E)*A+1,C=(-1-M)*S+(1.5+M)*I+.5*A,F=M*S-M*I;for(let V=0;V!==h;++V)l[V]=w*p[v+V]+R*p[m+V]+C*p[g+V]+F*p[x+V];return l}},wv=class extends Yc{constructor(t,e,o,s){super(t,e,o,s)}interpolate_(t,e,o,s){let l=this.resultBuffer,p=this.sampleValues,h=this.valueSize,g=t*h,m=g-h,v=(o-e)/(s-e),x=1-v;for(let E=0;E!==h;++E)l[E]=p[m+E]*x+p[g+E]*v;return l}},Sv=class extends Yc{constructor(t,e,o,s){super(t,e,o,s)}interpolate_(t){return this.copySampleValue_(t-1)}},oa=class{constructor(t,e,o,s){if(t===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(e===void 0||e.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+t);this.name=t,this.times=xd(e,this.TimeBufferType),this.values=xd(o,this.ValueBufferType),this.setInterpolation(s||this.DefaultInterpolation)}static toJSON(t){let e=t.constructor,o;if(e.toJSON!==this.toJSON)o=e.toJSON(t);else{o={name:t.name,times:xd(t.times,Array),values:xd(t.values,Array)};let s=t.getInterpolation();s!==t.DefaultInterpolation&&(o.interpolation=s)}return o.type=t.ValueTypeName,o}InterpolantFactoryMethodDiscrete(t){return new Sv(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodLinear(t){return new wv(this.times,this.values,this.getValueSize(),t)}InterpolantFactoryMethodSmooth(t){return new Ev(this.times,this.values,this.getValueSize(),t)}setInterpolation(t){let e;switch(t){case wd:e=this.InterpolantFactoryMethodDiscrete;break;case Sd:e=this.InterpolantFactoryMethodLinear;break;case gy:e=this.InterpolantFactoryMethodSmooth;break}if(e===void 0){let o="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(o);return console.warn("THREE.KeyframeTrack:",o),this}return this.createInterpolant=e,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return wd;case this.InterpolantFactoryMethodLinear:return Sd;case this.InterpolantFactoryMethodSmooth:return gy}}getValueSize(){return this.values.length/this.times.length}shift(t){if(t!==0){let e=this.times;for(let o=0,s=e.length;o!==s;++o)e[o]+=t}return this}scale(t){if(t!==1){let e=this.times;for(let o=0,s=e.length;o!==s;++o)e[o]*=t}return this}trim(t,e){let o=this.times,s=o.length,l=0,p=s-1;for(;l!==s&&o[l]<t;)++l;for(;p!==-1&&o[p]>e;)--p;if(++p,l!==0||p!==s){l>=p&&(p=Math.max(p,1),l=p-1);let h=this.getValueSize();this.times=o.slice(l,p),this.values=this.values.slice(l*h,p*h)}return this}validate(){let t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);let o=this.times,s=this.values,l=o.length;l===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let p=null;for(let h=0;h!==l;h++){let g=o[h];if(typeof g=="number"&&isNaN(g)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,h,g),t=!1;break}if(p!==null&&p>g){console.error("THREE.KeyframeTrack: Out of order keys.",this,h,g,p),t=!1;break}p=g}if(s!==void 0&&fX(s))for(let h=0,g=s.length;h!==g;++h){let m=s[h];if(isNaN(m)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,h,m),t=!1;break}}return t}optimize(){let t=this.times.slice(),e=this.values.slice(),o=this.getValueSize(),s=this.getInterpolation()===gy,l=t.length-1,p=1;for(let h=1;h<l;++h){let g=!1,m=t[h],v=t[h+1];if(m!==v&&(h!==1||m!==t[0]))if(s)g=!0;else{let x=h*o,E=x-o,M=x+o;for(let A=0;A!==o;++A){let I=e[x+A];if(I!==e[E+A]||I!==e[M+A]){g=!0;break}}}if(g){if(h!==p){t[p]=t[h];let x=h*o,E=p*o;for(let M=0;M!==o;++M)e[E+M]=e[x+M]}++p}}if(l>0){t[p]=t[l];for(let h=l*o,g=p*o,m=0;m!==o;++m)e[g+m]=e[h+m];++p}return p!==t.length?(this.times=t.slice(0,p),this.values=e.slice(0,p*o)):(this.times=t,this.values=e),this}clone(){let t=this.times.slice(),e=this.values.slice(),o=this.constructor,s=new o(this.name,t,e);return s.createInterpolant=this.createInterpolant,s}};oa.prototype.TimeBufferType=Float32Array;oa.prototype.ValueBufferType=Float32Array;oa.prototype.DefaultInterpolation=Sd;var zl=class extends oa{};zl.prototype.ValueTypeName="bool";zl.prototype.ValueBufferType=Array;zl.prototype.DefaultInterpolation=wd;zl.prototype.InterpolantFactoryMethodLinear=void 0;zl.prototype.InterpolantFactoryMethodSmooth=void 0;var Mv=class extends oa{};Mv.prototype.ValueTypeName="color";var bv=class extends oa{};bv.prototype.ValueTypeName="number";var Av=class extends Yc{constructor(t,e,o,s){super(t,e,o,s)}interpolate_(t,e,o,s){let l=this.resultBuffer,p=this.sampleValues,h=this.valueSize,g=(o-e)/(s-e),m=t*h;for(let v=m+h;m!==v;m+=4)ju.slerpFlat(l,0,p,m-h,p,m,g);return l}},ch=class extends oa{InterpolantFactoryMethodLinear(t){return new Av(this.times,this.values,this.getValueSize(),t)}};ch.prototype.ValueTypeName="quaternion";ch.prototype.DefaultInterpolation=Sd;ch.prototype.InterpolantFactoryMethodSmooth=void 0;var Gl=class extends oa{};Gl.prototype.ValueTypeName="string";Gl.prototype.ValueBufferType=Array;Gl.prototype.DefaultInterpolation=wd;Gl.prototype.InterpolantFactoryMethodLinear=void 0;Gl.prototype.InterpolantFactoryMethodSmooth=void 0;var Tv=class extends oa{};Tv.prototype.ValueTypeName="vector";var Cv=class{constructor(t,e,o){let s=this,l=!1,p=0,h=0,g,m=[];this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=o,this.itemStart=function(v){h++,l===!1&&s.onStart!==void 0&&s.onStart(v,p,h),l=!0},this.itemEnd=function(v){p++,s.onProgress!==void 0&&s.onProgress(v,p,h),p===h&&(l=!1,s.onLoad!==void 0&&s.onLoad())},this.itemError=function(v){s.onError!==void 0&&s.onError(v)},this.resolveURL=function(v){return g?g(v):v},this.setURLModifier=function(v){return g=v,this},this.addHandler=function(v,x){return m.push(v,x),this},this.removeHandler=function(v){let x=m.indexOf(v);return x!==-1&&m.splice(x,2),this},this.getHandler=function(v){for(let x=0,E=m.length;x<E;x+=2){let M=m[x],A=m[x+1];if(M.global&&(M.lastIndex=0),M.test(v))return A}return null}}},hX=new Cv,Pv=class{constructor(t){this.manager=t!==void 0?t:hX,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(t,e){let o=this;return new Promise(function(s,l){o.load(t,s,e,l)})}parse(){}setCrossOrigin(t){return this.crossOrigin=t,this}setWithCredentials(t){return this.withCredentials=t,this}setPath(t){return this.path=t,this}setResourcePath(t){return this.resourcePath=t,this}setRequestHeader(t){return this.requestHeader=t,this}};Pv.DEFAULT_MATERIAL_NAME="__DEFAULT";var Dv="\\\\[\\\\]\\\\.:\\\\/",pX=new RegExp("["+Dv+"]","g"),Fv="[^"+Dv+"]",dX="[^"+Dv.replace("\\\\.","")+"]",gX=/((?:WC+[\\/:])*)/.source.replace("WC",Fv),mX=/(WCOD+)?/.source.replace("WCOD",dX),yX=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace("WC",Fv),vX=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace("WC",Fv),_X=new RegExp("^"+gX+mX+yX+vX+"$"),xX=["material","materials","bones","map"],Iv=class{constructor(t,e,o){let s=o||Or.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,s)}getValue(t,e){this.bind();let o=this._targetGroup.nCachedObjects_,s=this._bindings[o];s!==void 0&&s.getValue(t,e)}setValue(t,e){let o=this._bindings;for(let s=this._targetGroup.nCachedObjects_,l=o.length;s!==l;++s)o[s].setValue(t,e)}bind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,o=t.length;e!==o;++e)t[e].bind()}unbind(){let t=this._bindings;for(let e=this._targetGroup.nCachedObjects_,o=t.length;e!==o;++e)t[e].unbind()}},Or=class n{constructor(t,e,o){this.path=e,this.parsedPath=o||n.parseTrackName(e),this.node=n.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,o){return t&&t.isAnimationObjectGroup?new n.Composite(t,e,o):new n(t,e,o)}static sanitizeNodeName(t){return t.replace(/\\s/g,"_").replace(pX,"")}static parseTrackName(t){let e=_X.exec(t);if(e===null)throw new Error("PropertyBinding: Cannot parse trackName: "+t);let o={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},s=o.nodeName&&o.nodeName.lastIndexOf(".");if(s!==void 0&&s!==-1){let l=o.nodeName.substring(s+1);xX.indexOf(l)!==-1&&(o.nodeName=o.nodeName.substring(0,s),o.objectName=l)}if(o.propertyName===null||o.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return o}static findNode(t,e){if(e===void 0||e===""||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){let o=t.skeleton.getBoneByName(e);if(o!==void 0)return o}if(t.children){let o=function(l){for(let p=0;p<l.length;p++){let h=l[p];if(h.name===e||h.uuid===e)return h;let g=o(h.children);if(g)return g}return null},s=o(t.children);if(s)return s}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(t,e){t[e]=this.targetObject[this.propertyName]}_getValue_array(t,e){let o=this.resolvedProperty;for(let s=0,l=o.length;s!==l;++s)t[e++]=o[s]}_getValue_arrayElement(t,e){t[e]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(t,e){this.resolvedProperty.toArray(t,e)}_setValue_direct(t,e){this.targetObject[this.propertyName]=t[e]}_setValue_direct_setNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(t,e){let o=this.resolvedProperty;for(let s=0,l=o.length;s!==l;++s)o[s]=t[e++]}_setValue_array_setNeedsUpdate(t,e){let o=this.resolvedProperty;for(let s=0,l=o.length;s!==l;++s)o[s]=t[e++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(t,e){let o=this.resolvedProperty;for(let s=0,l=o.length;s!==l;++s)o[s]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(t,e){this.resolvedProperty[this.propertyIndex]=t[e]}_setValue_arrayElement_setNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(t,e){this.resolvedProperty.fromArray(t,e)}_setValue_fromArray_setNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(t,e){this.bind(),this.getValue(t,e)}_setValue_unbound(t,e){this.bind(),this.setValue(t,e)}bind(){let t=this.node,e=this.parsedPath,o=e.objectName,s=e.propertyName,l=e.propertyIndex;if(t||(t=n.findNode(this.rootNode,e.nodeName),this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(o){let m=e.objectIndex;switch(o){case"materials":if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}t=t.material.materials;break;case"bones":if(!t.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}t=t.skeleton.bones;for(let v=0;v<t.length;v++)if(t[v].name===m){m=v;break}break;case"map":if("map"in t){t=t.map;break}if(!t.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!t.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}t=t.material.map;break;default:if(t[o]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}t=t[o]}if(m!==void 0){if(t[m]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,t);return}t=t[m]}}let p=t[s];if(p===void 0){let m=e.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+m+"."+s+" but it wasn't found.",t);return}let h=this.Versioning.None;this.targetObject=t,t.needsUpdate!==void 0?h=this.Versioning.NeedsUpdate:t.matrixWorldNeedsUpdate!==void 0&&(h=this.Versioning.MatrixWorldNeedsUpdate);let g=this.BindingType.Direct;if(l!==void 0){if(s==="morphTargetInfluences"){if(!t.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!t.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}t.morphTargetDictionary[l]!==void 0&&(l=t.morphTargetDictionary[l])}g=this.BindingType.ArrayElement,this.resolvedProperty=p,this.propertyIndex=l}else p.fromArray!==void 0&&p.toArray!==void 0?(g=this.BindingType.HasFromToArray,this.resolvedProperty=p):Array.isArray(p)?(g=this.BindingType.EntireArray,this.resolvedProperty=p):this.propertyName=s;this.getValue=this.GetterByBindingType[g],this.setValue=this.SetterByBindingTypeAndVersioning[g][h]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};Or.Composite=Iv;Or.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};Or.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};Or.prototype.GetterByBindingType=[Or.prototype._getValue_direct,Or.prototype._getValue_array,Or.prototype._getValue_arrayElement,Or.prototype._getValue_toArray];Or.prototype.SetterByBindingTypeAndVersioning=[[Or.prototype._setValue_direct,Or.prototype._setValue_direct_setNeedsUpdate,Or.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[Or.prototype._setValue_array,Or.prototype._setValue_array_setNeedsUpdate,Or.prototype._setValue_array_setMatrixWorldNeedsUpdate],[Or.prototype._setValue_arrayElement,Or.prototype._setValue_arrayElement_setNeedsUpdate,Or.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[Or.prototype._setValue_fromArray,Or.prototype._setValue_fromArray_setNeedsUpdate,Or.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var Ytt=new Float32Array(1);typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Rv}}));typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Rv);var zi=63710088e-1,Jtt={centimeters:zi*100,centimetres:zi*100,degrees:zi/111325,feet:zi*3.28084,inches:zi*39.37,kilometers:zi/1e3,kilometres:zi/1e3,meters:zi,metres:zi,miles:zi/1609.344,millimeters:zi*1e3,millimetres:zi*1e3,nauticalmiles:zi/1852,radians:1,yards:zi*1.0936},Ktt={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/zi,yards:1.0936133};function bo(n,t,e){e===void 0&&(e={});var o={type:"Feature"};return(e.id===0||e.id)&&(o.id=e.id),e.bbox&&(o.bbox=e.bbox),o.properties=t||{},o.geometry=n,o}function Pr(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("coordinates is required");if(!Array.isArray(n))throw new Error("coordinates must be an Array");if(n.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!Ra(n[0])||!Ra(n[1]))throw new Error("coordinates must contain numbers");var o={type:"Point",coordinates:n};return bo(o,t,e)}function Dr(n,t,e){e===void 0&&(e={});for(var o=0,s=n;o<s.length;o++){var l=s[o];if(l.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var p=0;p<l[l.length-1].length;p++)if(l[l.length-1][p]!==l[0][p])throw new Error("First and last Position are not equivalent.")}var h={type:"Polygon",coordinates:n};return bo(h,t,e)}function Gi(n,t,e){if(e===void 0&&(e={}),n.length<2)throw new Error("coordinates must be an array of two or more positions");var o={type:"LineString",coordinates:n};return bo(o,t,e)}function Uv(n,t,e){e===void 0&&(e={});var o={type:"MultiPoint",coordinates:n};return bo(o,t,e)}function Ra(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}function Ei(n,t,e){if(n!==null)for(var o,s,l,p,h,g,m,v=0,x=0,E,M=n.type,A=M==="FeatureCollection",I=M==="Feature",S=A?n.features.length:1,w=0;w<S;w++){m=A?n.features[w].geometry:I?n.geometry:n,E=m?m.type==="GeometryCollection":!1,h=E?m.geometries.length:1;for(var R=0;R<h;R++){var C=0,F=0;if(p=E?m.geometries[R]:m,p!==null){g=p.coordinates;var V=p.type;switch(v=e&&(V==="Polygon"||V==="MultiPolygon")?1:0,V){case null:break;case"Point":if(t(g,x,w,C,F)===!1)return!1;x++,C++;break;case"LineString":case"MultiPoint":for(o=0;o<g.length;o++){if(t(g[o],x,w,C,F)===!1)return!1;x++,V==="MultiPoint"&&C++}V==="LineString"&&C++;break;case"Polygon":case"MultiLineString":for(o=0;o<g.length;o++){for(s=0;s<g[o].length-v;s++){if(t(g[o][s],x,w,C,F)===!1)return!1;x++}V==="MultiLineString"&&C++,V==="Polygon"&&F++}V==="Polygon"&&C++;break;case"MultiPolygon":for(o=0;o<g.length;o++){for(F=0,s=0;s<g[o].length;s++){for(l=0;l<g[o][s].length-v;l++){if(t(g[o][s][l],x,w,C,F)===!1)return!1;x++}F++}C++}break;case"GeometryCollection":for(o=0;o<p.geometries.length;o++)if(Ei(p.geometries[o],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function TC(n,t,e,o){var s=e;return Ei(n,function(l,p,h,g,m){p===0&&e===void 0?s=l:s=t(s,l,p,h,g,m)},o),s}function el(n,t){var e,o,s,l,p,h,g,m,v,x,E=0,M=n.type==="FeatureCollection",A=n.type==="Feature",I=M?n.features.length:1;for(e=0;e<I;e++){for(h=M?n.features[e].geometry:A?n.geometry:n,m=M?n.features[e].properties:A?n.properties:{},v=M?n.features[e].bbox:A?n.bbox:void 0,x=M?n.features[e].id:A?n.id:void 0,g=h?h.type==="GeometryCollection":!1,p=g?h.geometries.length:1,s=0;s<p;s++){if(l=g?h.geometries[s]:h,l===null){if(t(null,E,m,v,x)===!1)return!1;continue}switch(l.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(l,E,m,v,x)===!1)return!1;break}case"GeometryCollection":{for(o=0;o<l.geometries.length;o++)if(t(l.geometries[o],E,m,v,x)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}E++}}function ys(n,t){el(n,function(e,o,s,l,p){var h=e===null?null:e.type;switch(h){case null:case"Point":case"LineString":case"Polygon":return t(bo(e,s,{bbox:l,id:p}),o,0)===!1?!1:void 0}var g;switch(h){case"MultiPoint":g="Point";break;case"MultiLineString":g="LineString";break;case"MultiPolygon":g="Polygon";break}for(var m=0;m<e.coordinates.length;m++){var v=e.coordinates[m],x={type:g,coordinates:v};if(t(bo(x,s),o,m)===!1)return!1}})}function Bv(n){var t=[1/0,1/0,-1/0,-1/0];return Ei(n,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}Bv.default=Bv;var Ao=Bv;function Qi(n){if(!n)throw new Error("coord is required");if(!Array.isArray(n)){if(n.type==="Feature"&&n.geometry!==null&&n.geometry.type==="Point")return n.geometry.coordinates;if(n.type==="Point")return n.coordinates}if(Array.isArray(n)&&n.length>=2&&!Array.isArray(n[0])&&!Array.isArray(n[1]))return n;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function zv(n,t,e){if(!n)throw new Error("No feature passed");if(!e)throw new Error(".featureOf() requires a name");if(!n||n.type!=="Feature"||!n.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!n.geometry||n.geometry.type!==t)throw new Error("Invalid input to "+e+": must be a "+t+", given "+n.geometry.type)}function to(n){return n.type==="Feature"?n.geometry:n}var CX=sn(Xd(),1);var BX=sn(WC(),1);function ki(n,t,e){if(e===void 0&&(e={}),!n)throw new Error("point is required");if(!t)throw new Error("polygon is required");var o=Qi(n),s=to(t),l=s.type,p=t.bbox,h=s.coordinates;if(p&&zX(o,p)===!1)return!1;l==="Polygon"&&(h=[h]);for(var g=!1,m=0;m<h.length&&!g;m++)if(XC(o,h[m][0],e.ignoreBoundary)){for(var v=!1,x=1;x<h[m].length&&!v;)XC(o,h[m][x],!e.ignoreBoundary)&&(v=!0),x++;v||(g=!0)}return g}function XC(n,t,e){var o=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var s=0,l=t.length-1;s<t.length;l=s++){var p=t[s][0],h=t[s][1],g=t[l][0],m=t[l][1],v=n[1]*(p-g)+h*(g-n[0])+m*(n[0]-p)===0&&(p-n[0])*(g-n[0])<=0&&(h-n[1])*(m-n[1])<=0;if(v)return!e;var x=h>n[1]!=m>n[1]&&n[0]<(g-p)*(n[1]-h)/(m-h)+p;x&&(o=!o)}return o}function zX(n,t){return t[0]<=n[0]&&t[1]<=n[1]&&t[2]>=n[0]&&t[3]>=n[1]}var ZC=new ArrayBuffer(16),Cnt=new Float64Array(ZC),Pnt=new Uint32Array(ZC);var t7=sn(e_(),1);var eit=function(){function n(t){this.points=t.points||[],this.duration=t.duration||1e4,this.sharpness=t.sharpness||.85,this.centers=[],this.controls=[],this.stepLength=t.stepLength||60,this.length=this.points.length,this.delay=0;for(var e=0;e<this.length;e++)this.points[e].z=this.points[e].z||0;for(var e=0;e<this.length-1;e++){var o=this.points[e],s=this.points[e+1];this.centers.push({x:(o.x+s.x)/2,y:(o.y+s.y)/2,z:(o.z+s.z)/2})}this.controls.push([this.points[0],this.points[0]]);for(var e=0;e<this.centers.length-1;e++){var l=this.points[e+1].x-(this.centers[e].x+this.centers[e+1].x)/2,p=this.points[e+1].y-(this.centers[e].y+this.centers[e+1].y)/2,h=this.points[e+1].z-(this.centers[e].y+this.centers[e+1].z)/2;this.controls.push([{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e].x+l),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e].y+p),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e].z+h)},{x:(1-this.sharpness)*this.points[e+1].x+this.sharpness*(this.centers[e+1].x+l),y:(1-this.sharpness)*this.points[e+1].y+this.sharpness*(this.centers[e+1].y+p),z:(1-this.sharpness)*this.points[e+1].z+this.sharpness*(this.centers[e+1].z+h)}])}return this.controls.push([this.points[this.length-1],this.points[this.length-1]]),this.steps=this.cacheSteps(this.stepLength),this}return n.prototype.cacheSteps=function(t){var e=[],o=this.pos(0);e.push(0);for(var s=0;s<this.duration;s+=10){var l=this.pos(s),p=Math.sqrt((l.x-o.x)*(l.x-o.x)+(l.y-o.y)*(l.y-o.y)+(l.z-o.z)*(l.z-o.z));p>t&&(e.push(s),o=l)}return e},n.prototype.vector=function(t){var e=this.pos(t+10),o=this.pos(t-10);return{angle:180*Math.atan2(e.y-o.y,e.x-o.x)/3.14,speed:Math.sqrt((o.x-e.x)*(o.x-e.x)+(o.y-e.y)*(o.y-e.y)+(o.z-e.z)*(o.z-e.z))}},n.prototype.pos=function(t){var e=t-this.delay;e<0&&(e=0),e>this.duration&&(e=this.duration-1);var o=e/this.duration;if(o>=1)return this.points[this.length-1];var s=Math.floor((this.points.length-1)*o),l=(this.length-1)*o-s;return e7(l,this.points[s],this.controls[s][1],this.controls[s+1][0],this.points[s+1])},n}();function e7(n,t,e,o,s){var l=n7(n),p={x:s.x*l[0]+o.x*l[1]+e.x*l[2]+t.x*l[3],y:s.y*l[0]+o.y*l[1]+e.y*l[2]+t.y*l[3],z:s.z*l[0]+o.z*l[1]+e.z*l[2]+t.z*l[3]};return p}function n7(n){var t=n*n,e=t*n;return[e,3*t*(1-n),3*n*(1-n)*(1-n),(1-n)*(1-n)*(1-n)]}function dh(n,t){t===void 0&&(t={});var e=Number(n[0]),o=Number(n[1]),s=Number(n[2]),l=Number(n[3]);if(n.length===6)throw new Error("@turf/bbox-polygon does not support BBox with 6 positions");var p=[e,o],h=[e,l],g=[s,l],m=[s,o];return Dr([[p,m,g,h,p]],t.properties,{bbox:n,id:t.id})}function r7(n){return dh(Ao(n))}var n_=r7;var x7=sn(sP(),1);var Y7=sn(lg(),1);var Z7=sn(Xd(),1);var j7=sn(e_(),1);var MP=Math.PI/180,bP=180/Math.PI,Eh=function(n,t){this.lon=n,this.lat=t,this.x=MP*n,this.y=MP*t};Eh.prototype.view=function(){return String(this.lon).slice(0,4)+","+String(this.lat).slice(0,4)};Eh.prototype.antipode=function(){var n=-1*this.lat,t=this.lon<0?180+this.lon:(180-this.lon)*-1;return new Eh(t,n)};var AP=function(){this.coords=[],this.length=0};AP.prototype.move_to=function(n){this.length++,this.coords.push(n)};var w_=function(n){this.properties=n||{},this.geometries=[]};w_.prototype.json=function(){if(this.geometries.length<=0)return{geometry:{type:"LineString",coordinates:null},type:"Feature",properties:this.properties};if(this.geometries.length===1)return{geometry:{type:"LineString",coordinates:this.geometries[0].coords},type:"Feature",properties:this.properties};for(var n=[],t=0;t<this.geometries.length;t++)n.push(this.geometries[t].coords);return{geometry:{type:"MultiLineString",coordinates:n},type:"Feature",properties:this.properties}};w_.prototype.wkt=function(){for(var n="",t="LINESTRING(",e=function(l){t+=l[0]+" "+l[1]+","},o=0;o<this.geometries.length;o++){if(this.geometries[o].coords.length===0)return"LINESTRING(empty)";var s=this.geometries[o].coords;s.forEach(e),n+=t.substring(0,t.length-1)+")"}return n};var TP=function(n,t,e){if(!n||n.x===void 0||n.y===void 0)throw new Error("GreatCircle constructor expects two args: start and end objects with x and y properties");if(!t||t.x===void 0||t.y===void 0)throw new Error("GreatCircle constructor expects two args: start and end objects with x and y properties");this.start=new Eh(n.x,n.y),this.end=new Eh(t.x,t.y),this.properties=e||{};var o=this.start.x-this.end.x,s=this.start.y-this.end.y,l=Math.pow(Math.sin(s/2),2)+Math.cos(this.start.y)*Math.cos(this.end.y)*Math.pow(Math.sin(o/2),2);if(this.g=2*Math.asin(Math.sqrt(l)),this.g===Math.PI)throw new Error("it appears "+n.view()+" and "+t.view()+" are 'antipodal', e.g diametrically opposite, thus there is no single route but rather infinite");if(isNaN(this.g))throw new Error("could not calculate great circle between "+n+" and "+t)};TP.prototype.interpolate=function(n){var t=Math.sin((1-n)*this.g)/Math.sin(this.g),e=Math.sin(n*this.g)/Math.sin(this.g),o=t*Math.cos(this.start.y)*Math.cos(this.start.x)+e*Math.cos(this.end.y)*Math.cos(this.end.x),s=t*Math.cos(this.start.y)*Math.sin(this.start.x)+e*Math.cos(this.end.y)*Math.sin(this.end.x),l=t*Math.sin(this.start.y)+e*Math.sin(this.end.y),p=bP*Math.atan2(l,Math.sqrt(Math.pow(o,2)+Math.pow(s,2))),h=bP*Math.atan2(s,o);return[h,p]};TP.prototype.Arc=function(n,t){var e=[];if(!n||n<=2)e.push([this.start.lon,this.start.lat]),e.push([this.end.lon,this.end.lat]);else for(var o=1/(n-1),s=0;s<n;++s){var l=o*s,p=this.interpolate(l);e.push(p)}for(var h=!1,g=0,m=t&&t.offset?t.offset:10,v=180-m,x=-180+m,E=360-m,M=1;M<e.length;++M){var A=e[M-1][0],I=e[M][0],S=Math.abs(I-A);S>E&&(I>v&&A<x||A>v&&I<x)?h=!0:S>g&&(g=S)}var w=[];if(h&&g<m){var R=[];w.push(R);for(var C=0;C<e.length;++C){var F=parseFloat(e[C][0]);if(C>0&&Math.abs(F-e[C-1][0])>E){var V=parseFloat(e[C-1][0]),X=parseFloat(e[C-1][1]),q=parseFloat(e[C][0]),D=parseFloat(e[C][1]);if(V>-180&&V<x&&q===180&&C+1<e.length&&e[C-1][0]>-180&&e[C-1][0]<x){R.push([-180,e[C][1]]),C++,R.push([e[C][0],e[C][1]]);continue}else if(V>v&&V<180&&q===-180&&C+1<e.length&&e[C-1][0]>v&&e[C-1][0]<180){R.push([180,e[C][1]]),C++,R.push([e[C][0],e[C][1]]);continue}if(V<x&&q>v){var xt=V;V=q,q=xt;var B=X;X=D,D=B}if(V>v&&q<x&&(q+=360),V<=180&&q>=180&&V<q){var j=(180-V)/(q-V),J=j*D+(1-j)*X;R.push([e[C-1][0]>v?180:-180,J]),R=[],R.push([e[C-1][0]>v?-180:180,J]),w.push(R)}else R=[],w.push(R);R.push([F,e[C][1]])}else R.push([e[C][0],e[C][1]])}}else{var Dt=[];w.push(Dt);for(var Q=0;Q<e.length;++Q)Dt.push([e[Q][0],e[Q][1]])}for(var At=new w_(this.properties),Mt=0;Mt<w.length;++Mt){var Lt=new AP;At.geometries.push(Lt);for(var pt=w[Mt],yt=0;yt<pt.length;++yt)Lt.move_to(pt[yt])}return At};var eY=sn(lg(),1);var tZ=sn(lg(),1);var eZ=sn(J_(),1);var iZ=sn(Xd(),1);var ln=[],cn=[],fn=[],hn=[],pn=[],dn=[],gn=[],mn=[],yn=[],vn=[],_n=[],xn=[],En=[],wn=[],Sn=[],Mn=[],bn=[],An=[],Tn=[],Cn=[],Pn=[],In=[],Rn=[],Ln=[];gn[85]=vn[85]=-1;mn[85]=_n[85]=0;yn[85]=xn[85]=1;Tn[85]=In[85]=1;Cn[85]=Rn[85]=0;Pn[85]=Ln[85]=1;ln[85]=hn[85]=0;cn[85]=pn[85]=-1;fn[85]=Sn[85]=0;Mn[85]=En[85]=0;bn[85]=wn[85]=1;dn[85]=An[85]=1;In[1]=In[169]=0;Rn[1]=Rn[169]=-1;Ln[1]=Ln[169]=0;En[1]=En[169]=-1;wn[1]=wn[169]=0;Sn[1]=Sn[169]=0;vn[4]=vn[166]=0;_n[4]=_n[166]=-1;xn[4]=xn[166]=1;Mn[4]=Mn[166]=1;bn[4]=bn[166]=0;An[4]=An[166]=0;gn[16]=gn[154]=0;mn[16]=mn[154]=1;yn[16]=yn[154]=1;hn[16]=hn[154]=1;pn[16]=pn[154]=0;dn[16]=dn[154]=1;Tn[64]=Tn[106]=0;Cn[64]=Cn[106]=1;Pn[64]=Pn[106]=0;ln[64]=ln[106]=-1;cn[64]=cn[106]=0;fn[64]=fn[106]=1;Tn[2]=Tn[168]=0;Cn[2]=Cn[168]=-1;Pn[2]=Pn[168]=1;In[2]=In[168]=0;Rn[2]=Rn[168]=-1;Ln[2]=Ln[168]=0;En[2]=En[168]=-1;wn[2]=wn[168]=0;Sn[2]=Sn[168]=0;Mn[2]=Mn[168]=-1;bn[2]=bn[168]=0;An[2]=An[168]=1;gn[8]=gn[162]=0;mn[8]=mn[162]=-1;yn[8]=yn[162]=0;vn[8]=vn[162]=0;_n[8]=_n[162]=-1;xn[8]=xn[162]=1;En[8]=En[162]=1;wn[8]=wn[162]=0;Sn[8]=Sn[162]=1;Mn[8]=Mn[162]=1;bn[8]=bn[162]=0;An[8]=An[162]=0;gn[32]=gn[138]=0;mn[32]=mn[138]=1;yn[32]=yn[138]=1;vn[32]=vn[138]=0;_n[32]=_n[138]=1;xn[32]=xn[138]=0;ln[32]=ln[138]=1;cn[32]=cn[138]=0;fn[32]=fn[138]=0;hn[32]=hn[138]=1;pn[32]=pn[138]=0;dn[32]=dn[138]=1;In[128]=In[42]=0;Rn[128]=Rn[42]=1;Ln[128]=Ln[42]=1;Tn[128]=Tn[42]=0;Cn[128]=Cn[42]=1;Pn[128]=Pn[42]=0;ln[128]=ln[42]=-1;cn[128]=cn[42]=0;fn[128]=fn[42]=1;hn[128]=hn[42]=-1;pn[128]=pn[42]=0;dn[128]=dn[42]=0;vn[5]=vn[165]=-1;_n[5]=_n[165]=0;xn[5]=xn[165]=0;In[5]=In[165]=1;Rn[5]=Rn[165]=0;Ln[5]=Ln[165]=0;Mn[20]=Mn[150]=0;bn[20]=bn[150]=1;An[20]=An[150]=1;hn[20]=hn[150]=0;pn[20]=pn[150]=-1;dn[20]=dn[150]=1;gn[80]=gn[90]=-1;mn[80]=mn[90]=0;yn[80]=yn[90]=1;Tn[80]=Tn[90]=1;Cn[80]=Cn[90]=0;Pn[80]=Pn[90]=1;En[65]=En[105]=0;wn[65]=wn[105]=1;Sn[65]=Sn[105]=0;ln[65]=ln[105]=0;cn[65]=cn[105]=-1;fn[65]=fn[105]=0;gn[160]=gn[10]=-1;mn[160]=mn[10]=0;yn[160]=yn[10]=1;vn[160]=vn[10]=-1;_n[160]=_n[10]=0;xn[160]=xn[10]=0;In[160]=In[10]=1;Rn[160]=Rn[10]=0;Ln[160]=Ln[10]=0;Tn[160]=Tn[10]=1;Cn[160]=Cn[10]=0;Pn[160]=Pn[10]=1;Mn[130]=Mn[40]=0;bn[130]=bn[40]=1;An[130]=An[40]=1;En[130]=En[40]=0;wn[130]=wn[40]=1;Sn[130]=Sn[40]=0;ln[130]=ln[40]=0;cn[130]=cn[40]=-1;fn[130]=fn[40]=0;hn[130]=hn[40]=0;pn[130]=pn[40]=-1;dn[130]=dn[40]=1;vn[37]=vn[133]=0;_n[37]=_n[133]=1;xn[37]=xn[133]=1;In[37]=In[133]=0;Rn[37]=Rn[133]=1;Ln[37]=Ln[133]=0;ln[37]=ln[133]=-1;cn[37]=cn[133]=0;fn[37]=fn[133]=0;hn[37]=hn[133]=1;pn[37]=pn[133]=0;dn[37]=dn[133]=0;Mn[148]=Mn[22]=-1;bn[148]=bn[22]=0;An[148]=An[22]=0;In[148]=In[22]=0;Rn[148]=Rn[22]=-1;Ln[148]=Ln[22]=1;Tn[148]=Tn[22]=0;Cn[148]=Cn[22]=1;Pn[148]=Pn[22]=1;hn[148]=hn[22]=-1;pn[148]=pn[22]=0;dn[148]=dn[22]=1;gn[82]=gn[88]=0;mn[82]=mn[88]=-1;yn[82]=yn[88]=1;Mn[82]=Mn[88]=1;bn[82]=bn[88]=0;An[82]=An[88]=1;En[82]=En[88]=-1;wn[82]=wn[88]=0;Sn[82]=Sn[88]=1;Tn[82]=Tn[88]=0;Cn[82]=Cn[88]=-1;Pn[82]=Pn[88]=0;gn[73]=gn[97]=0;mn[73]=mn[97]=1;yn[73]=yn[97]=0;vn[73]=vn[97]=0;_n[73]=_n[97]=-1;xn[73]=xn[97]=0;En[73]=En[97]=1;wn[73]=wn[97]=0;Sn[73]=Sn[97]=0;ln[73]=ln[97]=1;cn[73]=cn[97]=0;fn[73]=fn[97]=1;gn[145]=gn[25]=0;mn[145]=mn[25]=-1;yn[145]=yn[25]=0;En[145]=En[25]=1;wn[145]=wn[25]=0;Sn[145]=Sn[25]=1;In[145]=In[25]=0;Rn[145]=Rn[25]=1;Ln[145]=Ln[25]=1;hn[145]=hn[25]=-1;pn[145]=pn[25]=0;dn[145]=dn[25]=0;vn[70]=vn[100]=0;_n[70]=_n[100]=1;xn[70]=xn[100]=0;Mn[70]=Mn[100]=-1;bn[70]=bn[100]=0;An[70]=An[100]=1;Tn[70]=Tn[100]=0;Cn[70]=Cn[100]=-1;Pn[70]=Pn[100]=1;ln[70]=ln[100]=1;cn[70]=cn[100]=0;fn[70]=fn[100]=0;vn[101]=vn[69]=0;_n[101]=_n[69]=1;xn[101]=xn[69]=0;ln[101]=ln[69]=1;cn[101]=cn[69]=0;fn[101]=fn[69]=0;In[149]=In[21]=0;Rn[149]=Rn[21]=1;Ln[149]=Ln[21]=1;hn[149]=hn[21]=-1;pn[149]=pn[21]=0;dn[149]=dn[21]=0;Mn[86]=Mn[84]=-1;bn[86]=bn[84]=0;An[86]=An[84]=1;Tn[86]=Tn[84]=0;Cn[86]=Cn[84]=-1;Pn[86]=Pn[84]=1;gn[89]=gn[81]=0;mn[89]=mn[81]=-1;yn[89]=yn[81]=0;En[89]=En[81]=1;wn[89]=wn[81]=0;Sn[89]=Sn[81]=1;gn[96]=gn[74]=0;mn[96]=mn[74]=1;yn[96]=yn[74]=0;vn[96]=vn[74]=-1;_n[96]=_n[74]=0;xn[96]=xn[74]=1;Tn[96]=Tn[74]=1;Cn[96]=Cn[74]=0;Pn[96]=Pn[74]=0;ln[96]=ln[74]=1;cn[96]=cn[74]=0;fn[96]=fn[74]=1;gn[24]=gn[146]=0;mn[24]=mn[146]=-1;yn[24]=yn[146]=1;Mn[24]=Mn[146]=1;bn[24]=bn[146]=0;An[24]=An[146]=1;En[24]=En[146]=0;wn[24]=wn[146]=1;Sn[24]=Sn[146]=1;hn[24]=hn[146]=0;pn[24]=pn[146]=-1;dn[24]=dn[146]=0;vn[6]=vn[164]=-1;_n[6]=_n[164]=0;xn[6]=xn[164]=1;Mn[6]=Mn[164]=-1;bn[6]=bn[164]=0;An[6]=An[164]=0;In[6]=In[164]=0;Rn[6]=Rn[164]=-1;Ln[6]=Ln[164]=1;Tn[6]=Tn[164]=1;Cn[6]=Cn[164]=0;Pn[6]=Pn[164]=0;En[129]=En[41]=0;wn[129]=wn[41]=1;Sn[129]=Sn[41]=1;In[129]=In[41]=0;Rn[129]=Rn[41]=1;Ln[129]=Ln[41]=0;ln[129]=ln[41]=-1;cn[129]=cn[41]=0;fn[129]=fn[41]=0;hn[129]=hn[41]=0;pn[129]=pn[41]=-1;dn[129]=dn[41]=0;Mn[66]=Mn[104]=0;bn[66]=bn[104]=1;An[66]=An[104]=0;En[66]=En[104]=-1;wn[66]=wn[104]=0;Sn[66]=Sn[104]=1;Tn[66]=Tn[104]=0;Cn[66]=Cn[104]=-1;Pn[66]=Pn[104]=0;ln[66]=ln[104]=0;cn[66]=cn[104]=-1;fn[66]=fn[104]=1;gn[144]=gn[26]=-1;mn[144]=mn[26]=0;yn[144]=yn[26]=0;In[144]=In[26]=1;Rn[144]=Rn[26]=0;Ln[144]=Ln[26]=1;Tn[144]=Tn[26]=0;Cn[144]=Cn[26]=1;Pn[144]=Pn[26]=1;hn[144]=hn[26]=-1;pn[144]=pn[26]=0;dn[144]=dn[26]=1;vn[36]=vn[134]=0;_n[36]=_n[134]=1;xn[36]=xn[134]=1;Mn[36]=Mn[134]=0;bn[36]=bn[134]=1;An[36]=An[134]=0;ln[36]=ln[134]=0;cn[36]=cn[134]=-1;fn[36]=fn[134]=1;hn[36]=hn[134]=1;pn[36]=pn[134]=0;dn[36]=dn[134]=0;gn[9]=gn[161]=-1;mn[9]=mn[161]=0;yn[9]=yn[161]=0;vn[9]=vn[161]=0;_n[9]=_n[161]=-1;xn[9]=xn[161]=0;En[9]=En[161]=1;wn[9]=wn[161]=0;Sn[9]=Sn[161]=0;In[9]=In[161]=1;Rn[9]=Rn[161]=0;Ln[9]=Ln[161]=1;gn[136]=0;mn[136]=1;yn[136]=1;vn[136]=0;_n[136]=1;xn[136]=0;Mn[136]=-1;bn[136]=0;An[136]=1;En[136]=-1;wn[136]=0;Sn[136]=0;In[136]=0;Rn[136]=-1;Ln[136]=0;Tn[136]=0;Cn[136]=-1;Pn[136]=1;ln[136]=1;cn[136]=0;fn[136]=0;hn[136]=1;pn[136]=0;dn[136]=1;gn[34]=0;mn[34]=-1;yn[34]=0;vn[34]=0;_n[34]=-1;xn[34]=1;Mn[34]=1;bn[34]=0;An[34]=0;En[34]=1;wn[34]=0;Sn[34]=1;In[34]=0;Rn[34]=1;Ln[34]=1;Tn[34]=0;Cn[34]=1;Pn[34]=0;ln[34]=-1;cn[34]=0;fn[34]=1;hn[34]=-1;pn[34]=0;dn[34]=0;gn[35]=0;mn[35]=1;yn[35]=1;vn[35]=0;_n[35]=-1;xn[35]=1;Mn[35]=1;bn[35]=0;An[35]=0;En[35]=-1;wn[35]=0;Sn[35]=0;In[35]=0;Rn[35]=-1;Ln[35]=0;Tn[35]=0;Cn[35]=1;Pn[35]=0;ln[35]=-1;cn[35]=0;fn[35]=1;hn[35]=1;pn[35]=0;dn[35]=1;gn[153]=0;mn[153]=1;yn[153]=1;En[153]=-1;wn[153]=0;Sn[153]=0;In[153]=0;Rn[153]=-1;Ln[153]=0;hn[153]=1;pn[153]=0;dn[153]=1;vn[102]=0;_n[102]=-1;xn[102]=1;Mn[102]=1;bn[102]=0;An[102]=0;Tn[102]=0;Cn[102]=1;Pn[102]=0;ln[102]=-1;cn[102]=0;fn[102]=1;gn[155]=0;mn[155]=-1;yn[155]=0;En[155]=1;wn[155]=0;Sn[155]=1;In[155]=0;Rn[155]=1;Ln[155]=1;hn[155]=-1;pn[155]=0;dn[155]=0;vn[103]=0;_n[103]=1;xn[103]=0;Mn[103]=-1;bn[103]=0;An[103]=1;Tn[103]=0;Cn[103]=-1;Pn[103]=1;ln[103]=1;cn[103]=0;fn[103]=0;gn[152]=0;mn[152]=1;yn[152]=1;Mn[152]=-1;bn[152]=0;An[152]=1;En[152]=-1;wn[152]=0;Sn[152]=0;In[152]=0;Rn[152]=-1;Ln[152]=0;Tn[152]=0;Cn[152]=-1;Pn[152]=1;hn[152]=1;pn[152]=0;dn[152]=1;gn[156]=0;mn[156]=-1;yn[156]=1;Mn[156]=1;bn[156]=0;An[156]=1;En[156]=-1;wn[156]=0;Sn[156]=0;In[156]=0;Rn[156]=-1;Ln[156]=0;Tn[156]=0;Cn[156]=1;Pn[156]=1;hn[156]=-1;pn[156]=0;dn[156]=1;gn[137]=0;mn[137]=1;yn[137]=1;vn[137]=0;_n[137]=1;xn[137]=0;En[137]=-1;wn[137]=0;Sn[137]=0;In[137]=0;Rn[137]=-1;Ln[137]=0;ln[137]=1;cn[137]=0;fn[137]=0;hn[137]=1;pn[137]=0;dn[137]=1;gn[139]=0;mn[139]=1;yn[139]=1;vn[139]=0;_n[139]=-1;xn[139]=0;En[139]=1;wn[139]=0;Sn[139]=0;In[139]=0;Rn[139]=1;Ln[139]=0;ln[139]=-1;cn[139]=0;fn[139]=0;hn[139]=1;pn[139]=0;dn[139]=1;gn[98]=0;mn[98]=-1;yn[98]=0;vn[98]=0;_n[98]=-1;xn[98]=1;Mn[98]=1;bn[98]=0;An[98]=0;En[98]=1;wn[98]=0;Sn[98]=1;Tn[98]=0;Cn[98]=1;Pn[98]=0;ln[98]=-1;cn[98]=0;fn[98]=1;gn[99]=0;mn[99]=1;yn[99]=0;vn[99]=0;_n[99]=-1;xn[99]=1;Mn[99]=1;bn[99]=0;An[99]=0;En[99]=-1;wn[99]=0;Sn[99]=1;Tn[99]=0;Cn[99]=-1;Pn[99]=0;ln[99]=1;cn[99]=0;fn[99]=1;vn[38]=0;_n[38]=-1;xn[38]=1;Mn[38]=1;bn[38]=0;An[38]=0;In[38]=0;Rn[38]=1;Ln[38]=1;Tn[38]=0;Cn[38]=1;Pn[38]=0;ln[38]=-1;cn[38]=0;fn[38]=1;hn[38]=-1;pn[38]=0;dn[38]=0;vn[39]=0;_n[39]=1;xn[39]=1;Mn[39]=-1;bn[39]=0;An[39]=0;In[39]=0;Rn[39]=-1;Ln[39]=1;Tn[39]=0;Cn[39]=1;Pn[39]=0;ln[39]=-1;cn[39]=0;fn[39]=1;hn[39]=1;pn[39]=0;dn[39]=0;var K_=function(n){return[[n.bottomleft,0],[0,0],[0,n.leftbottom]]},j_=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0]]},Q_=function(n){return[[n.topright,1],[1,1],[1,n.righttop]]},t1=function(n){return[[0,n.lefttop],[0,1],[n.topleft,1]]},e1=function(n){return[[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop]]},n1=function(n){return[[n.bottomright,0],[n.bottomleft,0],[1,n.righttop],[1,n.rightbottom]]},r1=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.topleft,1],[n.topright,1]]},i1=function(n){return[[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},oZ=function(n){return[[0,0],[0,n.leftbottom],[1,n.rightbottom],[1,0]]},sZ=function(n){return[[1,0],[n.bottomright,0],[n.topright,1],[1,1]]},aZ=function(n){return[[1,1],[1,n.righttop],[0,n.lefttop],[0,1]]},uZ=function(n){return[[n.bottomleft,0],[0,0],[0,1],[n.topleft,1]]},lZ=function(n){return[[1,n.righttop],[1,n.rightbottom],[0,n.leftbottom],[0,n.lefttop]]},cZ=function(n){return[[n.topleft,1],[n.topright,1],[n.bottomright,0],[n.bottomleft,0]]},fZ=function(){return[[0,0],[0,1],[1,1],[1,0]]},hZ=function(n){return[[1,n.rightbottom],[1,0],[0,0],[0,1],[n.topleft,1]]},pZ=function(n){return[[n.topright,1],[1,1],[1,0],[0,0],[0,n.leftbottom]]},dZ=function(n){return[[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[1,1]]},gZ=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,1]]},mZ=function(n){return[[1,n.righttop],[1,n.rightbottom],[0,n.lefttop],[0,1],[n.topleft,1]]},yZ=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[n.topright,1]]},vZ=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop]]},_Z=function(n){return[[n.topright,1],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topleft,1]]},xZ=function(n){return[[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1],[n.topleft,1]]},EZ=function(n){return[[1,1],[1,n.righttop],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},wZ=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[n.topleft,1],[n.topright,1]]},SZ=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,n.leftbottom]]},MZ=function(n){return[[1,n.rightbottom],[1,0],[0,0],[0,n.leftbottom],[n.topleft,1],[n.topright,1]]},bZ=function(n){return[[1,1],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},AZ=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1]]},TZ=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,1],[n.topleft,1]]},CZ=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topright,1]]},PZ=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[n.topleft,1]]},IZ=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},RZ=function(n){return[[1,1],[1,n.righttop],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topright,1]]},LZ=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.lefttop],[0,1],[n.topleft,1]]},NZ=function(n){return[[1,1],[1,n.righttop],[n.bottomright,0],[n.bottomleft,0],[0,n.leftbottom],[0,n.lefttop],[n.topright,1]]},OZ=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomleft,0],[0,0],[0,n.leftbottom],[n.topleft,1],[n.topright,1]]},DZ=function(n){return[[1,n.righttop],[1,n.rightbottom],[n.bottomright,0],[n.bottomleft,0],[0,n.lefttop],[0,1],[n.topleft,1]]},FZ=function(n){return[[1,n.rightbottom],[1,0],[n.bottomright,0],[0,n.leftbottom],[0,n.lefttop],[n.topleft,1],[n.topright,1]]},Bn=[],zn=[],Gn=[],kn=[],qn=[],Hn=[],Vn=[],Wn=[];kn[1]=qn[1]=18;kn[169]=qn[169]=18;Gn[4]=zn[4]=12;Gn[166]=zn[166]=12;Bn[16]=Wn[16]=4;Bn[154]=Wn[154]=4;Hn[64]=Vn[64]=22;Hn[106]=Vn[106]=22;Gn[2]=Hn[2]=17;kn[2]=qn[2]=18;Gn[168]=Hn[168]=17;kn[168]=qn[168]=18;Bn[8]=kn[8]=9;zn[8]=Gn[8]=12;Bn[162]=kn[162]=9;zn[162]=Gn[162]=12;Bn[32]=Wn[32]=4;zn[32]=Vn[32]=1;Bn[138]=Wn[138]=4;zn[138]=Vn[138]=1;qn[128]=Wn[128]=21;Hn[128]=Vn[128]=22;qn[42]=Wn[42]=21;Hn[42]=Vn[42]=22;zn[5]=qn[5]=14;zn[165]=qn[165]=14;Gn[20]=Wn[20]=6;Gn[150]=Wn[150]=6;Bn[80]=Hn[80]=11;Bn[90]=Hn[90]=11;kn[65]=Vn[65]=3;kn[105]=Vn[105]=3;Bn[160]=Hn[160]=11;zn[160]=qn[160]=14;Bn[10]=Hn[10]=11;zn[10]=qn[10]=14;Gn[130]=Wn[130]=6;kn[130]=Vn[130]=3;Gn[40]=Wn[40]=6;kn[40]=Vn[40]=3;zn[101]=Vn[101]=1;zn[69]=Vn[69]=1;qn[149]=Wn[149]=21;qn[21]=Wn[21]=21;Gn[86]=Hn[86]=17;Gn[84]=Hn[84]=17;Bn[89]=kn[89]=9;Bn[81]=kn[81]=9;Bn[96]=Vn[96]=0;zn[96]=Hn[96]=15;Bn[74]=Vn[74]=0;zn[74]=Hn[74]=15;Bn[24]=Gn[24]=8;kn[24]=Wn[24]=7;Bn[146]=Gn[146]=8;kn[146]=Wn[146]=7;zn[6]=Hn[6]=15;Gn[6]=qn[6]=16;zn[164]=Hn[164]=15;Gn[164]=qn[164]=16;kn[129]=Wn[129]=7;qn[129]=Vn[129]=20;kn[41]=Wn[41]=7;qn[41]=Vn[41]=20;Gn[66]=Vn[66]=2;kn[66]=Hn[66]=19;Gn[104]=Vn[104]=2;kn[104]=Hn[104]=19;Bn[144]=qn[144]=10;Hn[144]=Wn[144]=23;Bn[26]=qn[26]=10;Hn[26]=Wn[26]=23;zn[36]=Wn[36]=5;Gn[36]=Vn[36]=2;zn[134]=Wn[134]=5;Gn[134]=Vn[134]=2;Bn[9]=qn[9]=10;zn[9]=kn[9]=13;Bn[161]=qn[161]=10;zn[161]=kn[161]=13;zn[37]=Wn[37]=5;qn[37]=Vn[37]=20;zn[133]=Wn[133]=5;qn[133]=Vn[133]=20;Gn[148]=qn[148]=16;Hn[148]=Wn[148]=23;Gn[22]=qn[22]=16;Hn[22]=Wn[22]=23;Bn[82]=Gn[82]=8;kn[82]=Hn[82]=19;Bn[88]=Gn[88]=8;kn[88]=Hn[88]=19;Bn[73]=Vn[73]=0;zn[73]=kn[73]=13;Bn[97]=Vn[97]=0;zn[97]=kn[97]=13;Bn[145]=kn[145]=9;qn[145]=Wn[145]=21;Bn[25]=kn[25]=9;qn[25]=Wn[25]=21;zn[70]=Vn[70]=1;Gn[70]=Hn[70]=17;zn[100]=Vn[100]=1;Gn[100]=Hn[100]=17;Bn[34]=kn[34]=9;zn[34]=Gn[34]=12;qn[34]=Wn[34]=21;Hn[34]=Vn[34]=22;Bn[136]=Wn[136]=4;zn[136]=Vn[136]=1;Gn[136]=Hn[136]=17;kn[136]=qn[136]=18;Bn[35]=Wn[35]=4;zn[35]=Gn[35]=12;kn[35]=qn[35]=18;Hn[35]=Vn[35]=22;Bn[153]=Wn[153]=4;kn[153]=qn[153]=18;zn[102]=Gn[102]=12;Hn[102]=Vn[102]=22;Bn[155]=kn[155]=9;qn[155]=Wn[155]=23;zn[103]=Vn[103]=1;Gn[103]=Hn[103]=17;Bn[152]=Wn[152]=4;Gn[152]=Hn[152]=17;kn[152]=qn[152]=18;Bn[156]=Gn[156]=8;kn[156]=qn[156]=18;Hn[156]=Wn[156]=23;Bn[137]=Wn[137]=4;zn[137]=Vn[137]=1;kn[137]=qn[137]=18;Bn[139]=Wn[139]=4;zn[139]=kn[139]=13;qn[139]=Vn[139]=20;Bn[98]=kn[98]=9;zn[98]=Gn[98]=12;Hn[98]=Vn[98]=22;Bn[99]=Vn[99]=0;zn[99]=Gn[99]=12;kn[99]=Hn[99]=19;zn[38]=Gn[38]=12;qn[38]=Wn[38]=21;Hn[38]=Vn[38]=22;zn[39]=Wn[39]=5;Gn[39]=qn[39]=16;Hn[39]=Vn[39]=22;var re=[];re[1]=re[169]=K_;re[4]=re[166]=j_;re[16]=re[154]=Q_;re[64]=re[106]=t1;re[168]=re[2]=e1;re[162]=re[8]=n1;re[138]=re[32]=r1;re[42]=re[128]=i1;re[5]=re[165]=oZ;re[20]=re[150]=sZ;re[80]=re[90]=aZ;re[65]=re[105]=uZ;re[160]=re[10]=lZ;re[130]=re[40]=cZ;re[85]=fZ;re[101]=re[69]=hZ;re[149]=re[21]=pZ;re[86]=re[84]=dZ;re[89]=re[81]=gZ;re[96]=re[74]=mZ;re[24]=re[146]=yZ;re[6]=re[164]=vZ;re[129]=re[41]=_Z;re[66]=re[104]=xZ;re[144]=re[26]=EZ;re[36]=re[134]=wZ;re[9]=re[161]=SZ;re[37]=re[133]=MZ;re[148]=re[22]=bZ;re[82]=re[88]=AZ;re[73]=re[97]=TZ;re[145]=re[25]=CZ;re[70]=re[100]=PZ;re[34]=function(n){return[i1(n),n1(n)]};re[35]=IZ;re[136]=function(n){return[r1(n),e1(n)]};re[153]=function(n){return[Q_(n),K_(n)]};re[102]=function(n){return[j_(n),t1(n)]};re[155]=RZ;re[103]=LZ;re[152]=function(n){return[Q_(n),e1(n)]};re[156]=NZ;re[137]=function(n){return[r1(n),K_(n)]};re[139]=OZ;re[98]=function(n){return[n1(n),t1(n)]};re[99]=DZ;re[38]=function(n){return[j_(n),i1(n)]};re[39]=FZ;function BZ(n){return(n>0)-(n<0)||+n}function ff(n,t,e){var o=t[0]-n[0],s=t[1]-n[1],l=e[0]-t[0],p=e[1]-t[1];return BZ(o*p-l*s)}function dL(n,t){var e=n.geometry.coordinates[0].map(function(p){return p[0]}),o=n.geometry.coordinates[0].map(function(p){return p[1]}),s=t.geometry.coordinates[0].map(function(p){return p[0]}),l=t.geometry.coordinates[0].map(function(p){return p[1]});return Math.max.apply(null,e)===Math.max.apply(null,s)&&Math.max.apply(null,o)===Math.max.apply(null,l)&&Math.min.apply(null,e)===Math.min.apply(null,s)&&Math.min.apply(null,o)===Math.min.apply(null,l)}function o1(n,t){return t.geometry.coordinates[0].every(function(e){return ki(Pr(e),n)})}function gL(n,t){return n[0]===t[0]&&n[1]===t[1]}var zZ=function(){function n(t){this.id=n.buildId(t),this.coordinates=t,this.innerEdges=[],this.outerEdges=[],this.outerEdgesSorted=!1}return n.buildId=function(t){return t.join(",")},n.prototype.removeInnerEdge=function(t){this.innerEdges=this.innerEdges.filter(function(e){return e.from.id!==t.from.id})},n.prototype.removeOuterEdge=function(t){this.outerEdges=this.outerEdges.filter(function(e){return e.to.id!==t.to.id})},n.prototype.addOuterEdge=function(t){this.outerEdges.push(t),this.outerEdgesSorted=!1},n.prototype.sortOuterEdges=function(){var t=this;this.outerEdgesSorted||(this.outerEdges.sort(function(e,o){var s=e.to,l=o.to;if(s.coordinates[0]-t.coordinates[0]>=0&&l.coordinates[0]-t.coordinates[0]<0)return 1;if(s.coordinates[0]-t.coordinates[0]<0&&l.coordinates[0]-t.coordinates[0]>=0)return-1;if(s.coordinates[0]-t.coordinates[0]===0&&l.coordinates[0]-t.coordinates[0]===0)return s.coordinates[1]-t.coordinates[1]>=0||l.coordinates[1]-t.coordinates[1]>=0?s.coordinates[1]-l.coordinates[1]:l.coordinates[1]-s.coordinates[1];var p=ff(t.coordinates,s.coordinates,l.coordinates);if(p<0)return 1;if(p>0)return-1;var h=Math.pow(s.coordinates[0]-t.coordinates[0],2)+Math.pow(s.coordinates[1]-t.coordinates[1],2),g=Math.pow(l.coordinates[0]-t.coordinates[0],2)+Math.pow(l.coordinates[1]-t.coordinates[1],2);return h-g}),this.outerEdgesSorted=!0)},n.prototype.getOuterEdges=function(){return this.sortOuterEdges(),this.outerEdges},n.prototype.getOuterEdge=function(t){return this.sortOuterEdges(),this.outerEdges[t]},n.prototype.addInnerEdge=function(t){this.innerEdges.push(t)},n}(),s1=zZ;var GZ=function(){function n(t,e){this.from=t,this.to=e,this.next=void 0,this.label=void 0,this.symetric=void 0,this.ring=void 0,this.from.addOuterEdge(this),this.to.addInnerEdge(this)}return n.prototype.getSymetric=function(){return this.symetric||(this.symetric=new n(this.to,this.from),this.symetric.symetric=this),this.symetric},n.prototype.deleteEdge=function(){this.from.removeOuterEdge(this),this.to.removeInnerEdge(this)},n.prototype.isEqual=function(t){return this.from.id===t.from.id&&this.to.id===t.to.id},n.prototype.toString=function(){return"Edge { "+this.from.id+" -> "+this.to.id+" }"},n.prototype.toLineString=function(){return Gi([this.from.coordinates,this.to.coordinates])},n.prototype.compareTo=function(t){return ff(t.from.coordinates,t.to.coordinates,this.to.coordinates)},n}(),mL=GZ;var kZ=function(){function n(){this.edges=[],this.polygon=void 0,this.envelope=void 0}return n.prototype.push=function(t){this.edges.push(t),this.polygon=this.envelope=void 0},n.prototype.get=function(t){return this.edges[t]},Object.defineProperty(n.prototype,"length",{get:function(){return this.edges.length},enumerable:!0,configurable:!0}),n.prototype.forEach=function(t){this.edges.forEach(t)},n.prototype.map=function(t){return this.edges.map(t)},n.prototype.some=function(t){return this.edges.some(t)},n.prototype.isValid=function(){return!0},n.prototype.isHole=function(){var t=this,e=this.edges.reduce(function(p,h,g){return h.from.coordinates[1]>t.edges[p].from.coordinates[1]&&(p=g),p},0),o=(e===0?this.length:e)-1,s=(e+1)%this.length,l=ff(this.edges[o].from.coordinates,this.edges[e].from.coordinates,this.edges[s].from.coordinates);return l===0?this.edges[o].from.coordinates[0]>this.edges[s].from.coordinates[0]:l>0},n.prototype.toMultiPoint=function(){return Uv(this.edges.map(function(t){return t.from.coordinates}))},n.prototype.toPolygon=function(){if(this.polygon)return this.polygon;var t=this.edges.map(function(e){return e.from.coordinates});return t.push(this.edges[0].from.coordinates),this.polygon=Dr([t])},n.prototype.getEnvelope=function(){return this.envelope?this.envelope:this.envelope=n_(this.toPolygon())},n.findEdgeRingContaining=function(t,e){var o=t.getEnvelope(),s,l;return e.forEach(function(p){var h=p.getEnvelope();if(l&&(s=l.getEnvelope()),!dL(h,o)&&o1(h,o)){for(var g=t.map(function(A){return A.from.coordinates}),m=void 0,v=function(A){p.some(function(I){return gL(A,I.from.coordinates)})||(m=A)},x=0,E=g;x<E.length;x++){var M=E[x];v(M)}m&&p.inside(Pr(m))&&(!l||o1(s,h))&&(l=p)}}),l},n.prototype.inside=function(t){return ki(t,this.toPolygon())},n}(),a1=kZ;function qZ(n){if(!n)throw new Error("No geojson passed");if(n.type!=="FeatureCollection"&&n.type!=="GeometryCollection"&&n.type!=="MultiLineString"&&n.type!=="LineString"&&n.type!=="Feature")throw new Error("Invalid input type '"+n.type+"'. Geojson must be FeatureCollection, GeometryCollection, LineString, MultiLineString or Feature")}var lct=function(){function n(){this.edges=[],this.nodes={}}return n.fromGeoJson=function(t){qZ(t);var e=new n;return ys(t,function(o){zv(o,"LineString","Graph::fromGeoJson"),TC(o,function(s,l){if(s){var p=e.getNode(s),h=e.getNode(l);e.addEdge(p,h)}return l})}),e},n.prototype.getNode=function(t){var e=s1.buildId(t),o=this.nodes[e];return o||(o=this.nodes[e]=new s1(t)),o},n.prototype.addEdge=function(t,e){var o=new mL(t,e),s=o.getSymetric();this.edges.push(o),this.edges.push(s)},n.prototype.deleteDangles=function(){var t=this;Object.keys(this.nodes).map(function(e){return t.nodes[e]}).forEach(function(e){return t._removeIfDangle(e)})},n.prototype._removeIfDangle=function(t){var e=this;if(t.innerEdges.length<=1){var o=t.getOuterEdges().map(function(s){return s.to});this.removeNode(t),o.forEach(function(s){return e._removeIfDangle(s)})}},n.prototype.deleteCutEdges=function(){var t=this;this._computeNextCWEdges(),this._findLabeledEdgeRings(),this.edges.forEach(function(e){e.label===e.symetric.label&&(t.removeEdge(e.symetric),t.removeEdge(e))})},n.prototype._computeNextCWEdges=function(t){var e=this;typeof t=="undefined"?Object.keys(this.nodes).forEach(function(o){return e._computeNextCWEdges(e.nodes[o])}):t.getOuterEdges().forEach(function(o,s){t.getOuterEdge((s===0?t.getOuterEdges().length:s)-1).symetric.next=o})},n.prototype._computeNextCCWEdges=function(t,e){for(var o=t.getOuterEdges(),s,l,p=o.length-1;p>=0;--p){var h=o[p],g=h.symetric,m=void 0,v=void 0;h.label===e&&(m=h),g.label===e&&(v=g),!(!m||!v)&&(v&&(l=v),m&&(l&&(l.next=m,l=void 0),s||(s=m)))}l&&(l.next=s)},n.prototype._findLabeledEdgeRings=function(){var t=[],e=0;return this.edges.forEach(function(o){if(!(o.label>=0)){t.push(o);var s=o;do s.label=e,s=s.next;while(!o.isEqual(s));e++}}),t},n.prototype.getEdgeRings=function(){var t=this;this._computeNextCWEdges(),this.edges.forEach(function(o){o.label=void 0}),this._findLabeledEdgeRings().forEach(function(o){t._findIntersectionNodes(o).forEach(function(s){t._computeNextCCWEdges(s,o.label)})});var e=[];return this.edges.forEach(function(o){o.ring||e.push(t._findEdgeRing(o))}),e},n.prototype._findIntersectionNodes=function(t){var e=[],o=t,s=function(){var l=0;o.from.getOuterEdges().forEach(function(p){p.label===t.label&&++l}),l>1&&e.push(o.from),o=o.next};do s();while(!t.isEqual(o));return e},n.prototype._findEdgeRing=function(t){var e=t,o=new a1;do o.push(e),e.ring=o,e=e.next;while(!t.isEqual(e));return o},n.prototype.removeNode=function(t){var e=this;t.getOuterEdges().forEach(function(o){return e.removeEdge(o)}),t.innerEdges.forEach(function(o){return e.removeEdge(o)}),delete this.nodes[t.id]},n.prototype.removeEdge=function(t){this.edges=this.edges.filter(function(e){return!e.isEqual(t)}),t.deleteEdge()},n}();var XZ=sn(u1(),1);var YZ=sn(u1(),1);var ZZ=sn(bL(),1);var nJ=sn(DL(),1);function UL(n){for(var t=n,e=[];t.parent;)e.unshift(t),t=t.parent;return e}function iJ(){return new BL(function(n){return n.f})}var h1={search:function(n,t,e,o){n.cleanDirty(),o=o||{};var s=o.heuristic||h1.heuristics.manhattan,l=o.closest||!1,p=iJ(),h=t;for(t.h=s(t,e),p.push(t);p.size()>0;){var g=p.pop();if(g===e)return UL(g);g.closed=!0;for(var m=n.neighbors(g),v=0,x=m.length;v<x;++v){var E=m[v];if(!(E.closed||E.isWall())){var M=g.g+E.getCost(g),A=E.visited;(!A||M<E.g)&&(E.visited=!0,E.parent=g,E.h=E.h||s(E,e),E.g=M,E.f=E.g+E.h,n.markDirty(E),l&&(E.h<h.h||E.h===h.h&&E.g<h.g)&&(h=E),A?p.rescoreElement(E):p.push(E))}}}return l?UL(h):[]},heuristics:{manhattan:function(n,t){var e=Math.abs(t.x-n.x),o=Math.abs(t.y-n.y);return e+o},diagonal:function(n,t){var e=1,o=Math.sqrt(2),s=Math.abs(t.x-n.x),l=Math.abs(t.y-n.y);return e*(s+l)+(o-2*e)*Math.min(s,l)}},cleanNode:function(n){n.f=0,n.g=0,n.h=0,n.visited=!1,n.closed=!1,n.parent=null}};function Ih(n,t){t=t||{},this.nodes=[],this.diagonal=!!t.diagonal,this.grid=[];for(var e=0;e<n.length;e++){this.grid[e]=[];for(var o=0,s=n[e];o<s.length;o++){var l=new Fg(e,o,s[o]);this.grid[e][o]=l,this.nodes.push(l)}}this.init()}Ih.prototype.init=function(){this.dirtyNodes=[];for(var n=0;n<this.nodes.length;n++)h1.cleanNode(this.nodes[n])};Ih.prototype.cleanDirty=function(){for(var n=0;n<this.dirtyNodes.length;n++)h1.cleanNode(this.dirtyNodes[n]);this.dirtyNodes=[]};Ih.prototype.markDirty=function(n){this.dirtyNodes.push(n)};Ih.prototype.neighbors=function(n){var t=[],e=n.x,o=n.y,s=this.grid;return s[e-1]&&s[e-1][o]&&t.push(s[e-1][o]),s[e+1]&&s[e+1][o]&&t.push(s[e+1][o]),s[e]&&s[e][o-1]&&t.push(s[e][o-1]),s[e]&&s[e][o+1]&&t.push(s[e][o+1]),this.diagonal&&(s[e-1]&&s[e-1][o-1]&&t.push(s[e-1][o-1]),s[e+1]&&s[e+1][o-1]&&t.push(s[e+1][o-1]),s[e-1]&&s[e-1][o+1]&&t.push(s[e-1][o+1]),s[e+1]&&s[e+1][o+1]&&t.push(s[e+1][o+1])),t};Ih.prototype.toString=function(){for(var n=[],t=this.grid,e,o,s,l,p=0,h=t.length;p<h;p++){for(e=[],o=t[p],s=0,l=o.length;s<l;s++)e.push(o[s].weight);n.push(e.join(" "))}return n.join(\`
23578
23578
  \`)};function Fg(n,t,e){this.x=n,this.y=t,this.weight=e}Fg.prototype.toString=function(){return"["+this.x+" "+this.y+"]"};Fg.prototype.getCost=function(n){return n&&n.x!==this.x&&n.y!==this.y?this.weight*1.41421:this.weight};Fg.prototype.isWall=function(){return this.weight===0};function BL(n){this.content=[],this.scoreFunction=n}BL.prototype={push:function(n){this.content.push(n),this.sinkDown(this.content.length-1)},pop:function(){var n=this.content[0],t=this.content.pop();return this.content.length>0&&(this.content[0]=t,this.bubbleUp(0)),n},remove:function(n){var t=this.content.indexOf(n),e=this.content.pop();t!==this.content.length-1&&(this.content[t]=e,this.scoreFunction(e)<this.scoreFunction(n)?this.sinkDown(t):this.bubbleUp(t))},size:function(){return this.content.length},rescoreElement:function(n){this.sinkDown(this.content.indexOf(n))},sinkDown:function(n){for(var t=this.content[n];n>0;){var e=(n+1>>1)-1,o=this.content[e];if(this.scoreFunction(t)<this.scoreFunction(o))this.content[e]=t,this.content[n]=o,n=e;else break}},bubbleUp:function(n){for(var t=this.content.length,e=this.content[n],o=this.scoreFunction(e);;){var s=n+1<<1,l=s-1,p=null,h;if(l<t){var g=this.content[l];h=this.scoreFunction(g),h<o&&(p=l)}if(s<t){var m=this.content[s],v=this.scoreFunction(m);v<(p===null?o:h)&&(p=s)}if(p!==null)this.content[n]=this.content[p],this.content[p]=e,n=p;else break}}};function p1(){this._=null}function pf(n){n.U=n.C=n.L=n.R=n.P=n.N=null}p1.prototype={constructor:p1,insert:function(n,t){var e,o,s;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=zL(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)o=e.U,e===o.L?(s=o.R,s&&s.C?(e.C=s.C=!1,o.C=!0,n=o):(n===e.R&&(Rh(this,e),n=e,e=n.U),e.C=!1,o.C=!0,Lh(this,o))):(s=o.L,s&&s.C?(e.C=s.C=!1,o.C=!0,n=o):(n===e.L&&(Lh(this,e),n=e,e=n.U),e.C=!1,o.C=!0,Rh(this,o))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t=n.U,e,o=n.L,s=n.R,l,p;if(o?s?l=zL(s):l=o:l=s,t?t.L===n?t.L=l:t.R=l:this._=l,o&&s?(p=l.C,l.C=n.C,l.L=o,o.U=l,l!==s?(t=l.U,l.U=n.U,n=l.R,t.L=n,l.R=s,s.U=l):(l.U=t,t=l,n=l.R)):(p=n.C,n=l),n&&(n.U=t),!p){if(n&&n.C){n.C=!1;return}do{if(n===this._)break;if(n===t.L){if(e=t.R,e.C&&(e.C=!1,t.C=!0,Rh(this,t),e=t.R),e.L&&e.L.C||e.R&&e.R.C){(!e.R||!e.R.C)&&(e.L.C=!1,e.C=!0,Lh(this,e),e=t.R),e.C=t.C,t.C=e.R.C=!1,Rh(this,t),n=this._;break}}else if(e=t.L,e.C&&(e.C=!1,t.C=!0,Lh(this,t),e=t.L),e.L&&e.L.C||e.R&&e.R.C){(!e.L||!e.L.C)&&(e.R.C=!1,e.C=!0,Rh(this,e),e=t.L),e.C=t.C,t.C=e.L.C=!1,Lh(this,t),n=this._;break}e.C=!0,n=t,t=t.U}while(!n.C);n&&(n.C=!1)}}};function Rh(n,t){var e=t,o=t.R,s=e.U;s?s.L===e?s.L=o:s.R=o:n._=o,o.U=s,e.U=o,e.R=o.L,e.R&&(e.R.U=e),o.L=e}function Lh(n,t){var e=t,o=t.L,s=e.U;s?s.L===e?s.L=o:s.R=o:n._=o,o.U=s,e.U=o,e.L=o.R,e.L&&(e.L.U=e),o.R=e}function zL(n){for(;n.L;)n=n.L;return n}var d1=p1;function df(n,t,e,o){var s=[null,null],l=Hi.push(s)-1;return s.left=n,s.right=t,e&&Nh(s,n,t,e),o&&Nh(s,t,n,o),To[n.index].halfedges.push(l),To[t.index].halfedges.push(l),s}function gf(n,t,e){var o=[t,e];return o.left=n,o}function Nh(n,t,e,o){!n[0]&&!n[1]?(n[0]=o,n.left=t,n.right=e):n.left===e?n[1]=o:n[0]=o}function oJ(n,t,e,o,s){var l=n[0],p=n[1],h=l[0],g=l[1],m=p[0],v=p[1],x=0,E=1,M=m-h,A=v-g,I;if(I=t-h,!(!M&&I>0)){if(I/=M,M<0){if(I<x)return;I<E&&(E=I)}else if(M>0){if(I>E)return;I>x&&(x=I)}if(I=o-h,!(!M&&I<0)){if(I/=M,M<0){if(I>E)return;I>x&&(x=I)}else if(M>0){if(I<x)return;I<E&&(E=I)}if(I=e-g,!(!A&&I>0)){if(I/=A,A<0){if(I<x)return;I<E&&(E=I)}else if(A>0){if(I>E)return;I>x&&(x=I)}if(I=s-g,!(!A&&I<0)){if(I/=A,A<0){if(I>E)return;I>x&&(x=I)}else if(A>0){if(I<x)return;I<E&&(E=I)}return!(x>0)&&!(E<1)||(x>0&&(n[0]=[h+x*M,g+x*A]),E<1&&(n[1]=[h+E*M,g+E*A])),!0}}}}}function sJ(n,t,e,o,s){var l=n[1];if(l)return!0;var p=n[0],h=n.left,g=n.right,m=h[0],v=h[1],x=g[0],E=g[1],M=(m+x)/2,A=(v+E)/2,I,S;if(E===v){if(M<t||M>=o)return;if(m>x){if(!p)p=[M,e];else if(p[1]>=s)return;l=[M,s]}else{if(!p)p=[M,s];else if(p[1]<e)return;l=[M,e]}}else if(I=(m-x)/(E-v),S=A-I*M,I<-1||I>1)if(m>x){if(!p)p=[(e-S)/I,e];else if(p[1]>=s)return;l=[(s-S)/I,s]}else{if(!p)p=[(s-S)/I,s];else if(p[1]<e)return;l=[(e-S)/I,e]}else if(v<E){if(!p)p=[t,I*t+S];else if(p[0]>=o)return;l=[o,I*o+S]}else{if(!p)p=[o,I*o+S];else if(p[0]<t)return;l=[t,I*t+S]}return n[0]=p,n[1]=l,!0}function GL(n,t,e,o){for(var s=Hi.length,l;s--;)(!sJ(l=Hi[s],n,t,e,o)||!oJ(l,n,t,e,o)||!(Math.abs(l[0][0]-l[1][0])>Er||Math.abs(l[0][1]-l[1][1])>Er))&&delete Hi[s]}function kL(n){return To[n.index]={site:n,halfedges:[]}}function aJ(n,t){var e=n.site,o=t.left,s=t.right;return e===s&&(s=o,o=e),s?Math.atan2(s[1]-o[1],s[0]-o[0]):(e===o?(o=t[1],s=t[0]):(o=t[0],s=t[1]),Math.atan2(o[0]-s[0],s[1]-o[1]))}function g1(n,t){return t[+(t.left!==n.site)]}function uJ(n,t){return t[+(t.left===n.site)]}function qL(){for(var n=0,t=To.length,e,o,s,l;n<t;++n)if((e=To[n])&&(l=(o=e.halfedges).length)){var p=new Array(l),h=new Array(l);for(s=0;s<l;++s)p[s]=s,h[s]=aJ(e,Hi[o[s]]);for(p.sort(function(g,m){return h[m]-h[g]}),s=0;s<l;++s)h[s]=o[p[s]];for(s=0;s<l;++s)o[s]=h[s]}}function HL(n,t,e,o){var s=To.length,l,p,h,g,m,v,x,E,M,A,I,S,w=!0;for(l=0;l<s;++l)if(p=To[l]){for(h=p.site,m=p.halfedges,g=m.length;g--;)Hi[m[g]]||m.splice(g,1);for(g=0,v=m.length;g<v;)A=uJ(p,Hi[m[g]]),I=A[0],S=A[1],x=g1(p,Hi[m[++g%v]]),E=x[0],M=x[1],(Math.abs(I-E)>Er||Math.abs(S-M)>Er)&&(m.splice(g,0,Hi.push(gf(h,A,Math.abs(I-n)<Er&&o-S>Er?[n,Math.abs(E-n)<Er?M:o]:Math.abs(S-o)<Er&&e-I>Er?[Math.abs(M-o)<Er?E:e,o]:Math.abs(I-e)<Er&&S-t>Er?[e,Math.abs(E-e)<Er?M:t]:Math.abs(S-t)<Er&&I-n>Er?[Math.abs(M-t)<Er?E:n,t]:null))-1),++v);v&&(w=!1)}if(w){var R,C,F,V=1/0;for(l=0,w=null;l<s;++l)(p=To[l])&&(h=p.site,R=h[0]-n,C=h[1]-t,F=R*R+C*C,F<V&&(V=F,w=p));if(w){var X=[n,t],q=[n,o],D=[e,o],xt=[e,t];w.halfedges.push(Hi.push(gf(h=w.site,X,q))-1,Hi.push(gf(h,q,D))-1,Hi.push(gf(h,D,xt))-1,Hi.push(gf(h,xt,X))-1)}}for(l=0;l<s;++l)(p=To[l])&&(p.halfedges.length||delete To[l])}var VL=[],Ug;function lJ(){pf(this),this.x=this.y=this.arc=this.site=this.cy=null}function Wl(n){var t=n.P,e=n.N;if(!(!t||!e)){var o=t.site,s=n.site,l=e.site;if(o!==l){var p=s[0],h=s[1],g=o[0]-p,m=o[1]-h,v=l[0]-p,x=l[1]-h,E=2*(g*x-m*v);if(!(E>=-WL)){var M=g*g+m*m,A=v*v+x*x,I=(x*M-m*A)/E,S=(g*A-v*M)/E,w=VL.pop()||new lJ;w.arc=n,w.site=s,w.x=I+p,w.y=(w.cy=S+h)+Math.sqrt(I*I+S*S),n.circle=w;for(var R=null,C=mf._;C;)if(w.y<C.y||w.y===C.y&&w.x<=C.x)if(C.L)C=C.L;else{R=C.P;break}else if(C.R)C=C.R;else{R=C;break}mf.insert(R,w),R||(Ug=w)}}}}function Xl(n){var t=n.circle;t&&(t.P||(Ug=t.N),mf.remove(t),VL.push(t),pf(t),n.circle=null)}var YL=[];function cJ(){pf(this),this.edge=this.site=this.circle=null}function XL(n){var t=YL.pop()||new cJ;return t.site=n,t}function m1(n){Xl(n),Yl.remove(n),YL.push(n),pf(n)}function $L(n){var t=n.circle,e=t.x,o=t.cy,s=[e,o],l=n.P,p=n.N,h=[n];m1(n);for(var g=l;g.circle&&Math.abs(e-g.circle.x)<Er&&Math.abs(o-g.circle.cy)<Er;)l=g.P,h.unshift(g),m1(g),g=l;h.unshift(g),Xl(g);for(var m=p;m.circle&&Math.abs(e-m.circle.x)<Er&&Math.abs(o-m.circle.cy)<Er;)p=m.N,h.push(m),m1(m),m=p;h.push(m),Xl(m);var v=h.length,x;for(x=1;x<v;++x)m=h[x],g=h[x-1],Nh(m.edge,g.site,m.site,s);g=h[0],m=h[v-1],m.edge=df(g.site,m.site,null,s),Wl(g),Wl(m)}function ZL(n){for(var t=n[0],e=n[1],o,s,l,p,h=Yl._;h;)if(l=JL(h,e)-t,l>Er)h=h.L;else if(p=t-fJ(h,e),p>Er){if(!h.R){o=h;break}h=h.R}else{l>-Er?(o=h.P,s=h):p>-Er?(o=h,s=h.N):o=s=h;break}kL(n);var g=XL(n);if(Yl.insert(o,g),!(!o&&!s)){if(o===s){Xl(o),s=XL(o.site),Yl.insert(g,s),g.edge=s.edge=df(o.site,g.site),Wl(o),Wl(s);return}if(!s){g.edge=df(o.site,g.site);return}Xl(o),Xl(s);var m=o.site,v=m[0],x=m[1],E=n[0]-v,M=n[1]-x,A=s.site,I=A[0]-v,S=A[1]-x,w=2*(E*S-M*I),R=E*E+M*M,C=I*I+S*S,F=[(S*R-M*C)/w+v,(E*C-I*R)/w+x];Nh(s.edge,m,A,F),g.edge=df(m,n,null,F),s.edge=df(n,A,null,F),Wl(o),Wl(s)}}function JL(n,t){var e=n.site,o=e[0],s=e[1],l=s-t;if(!l)return o;var p=n.P;if(!p)return-1/0;e=p.site;var h=e[0],g=e[1],m=g-t;if(!m)return h;var v=h-o,x=1/l-1/m,E=v/m;return x?(-E+Math.sqrt(E*E-2*x*(v*v/(-2*m)-g+m/2+s-l/2)))/x+o:(o+h)/2}function fJ(n,t){var e=n.N;if(e)return JL(e,t);var o=n.site;return o[1]===t?o[0]:1/0}var Er=1e-6,WL=1e-12,Yl,To,mf,Hi;function hJ(n,t,e){return(n[0]-e[0])*(t[1]-n[1])-(n[0]-t[0])*(e[1]-n[1])}function pJ(n,t){return t[1]-n[1]||t[0]-n[0]}function Bg(n,t){var e=n.sort(pJ).pop(),o,s,l;for(Hi=[],To=new Array(n.length),Yl=new d1,mf=new d1;;)if(l=Ug,e&&(!l||e[1]<l.y||e[1]===l.y&&e[0]<l.x))(e[0]!==o||e[1]!==s)&&(ZL(e),o=e[0],s=e[1]),e=n.pop();else if(l)$L(l.arc);else break;if(qL(),t){var p=+t[0][0],h=+t[0][1],g=+t[1][0],m=+t[1][1];GL(p,h,g,m),HL(p,h,g,m)}this.edges=Hi,this.cells=To,Yl=mf=Hi=To=null}Bg.prototype={constructor:Bg,polygons:function(){var n=this.edges;return this.cells.map(function(t){var e=t.halfedges.map(function(o){return g1(t,n[o])});return e.data=t.site.data,e})},triangles:function(){var n=[],t=this.edges;return this.cells.forEach(function(e,o){if(h=(l=e.halfedges).length)for(var s=e.site,l,p=-1,h,g,m=t[l[h-1]],v=m.left===s?m.right:m.left;++p<h;)g=v,m=t[l[p]],v=m.left===s?m.right:m.left,g&&v&&o<g.index&&o<v.index&&hJ(s,g,v)<0&&n.push([s.data,g.data,v.data])}),n},links:function(){return this.edges.filter(function(n){return n.right}).map(function(n){return{source:n.left.data,target:n.right.data}})},find:function(n,t,e){for(var o=this,s,l=o._found||0,p=o.cells.length,h;!(h=o.cells[l]);)if(++l>=p)return null;var g=n-h.site[0],m=t-h.site[1],v=g*g+m*m;do h=o.cells[s=l],l=null,h.halfedges.forEach(function(x){var E=o.edges[x],M=E.left;if(!((M===h.site||!M)&&!(M=E.right))){var A=n-M[0],I=t-M[1],S=A*A+I*I;S<v&&(v=S,l=M.index)}});while(l!==null);return o._found=s,e==null||v<=e*e?h.site:null}};var EJ=sn(yf(),1);var R1=sn(tN(),1);function Zo(){return new kg}function kg(){this.reset()}kg.prototype={constructor:kg,reset:function(){this.s=this.t=0},add:function(n){eN(Gg,n,this.t),eN(this,Gg.s,this.s),this.s?this.t+=Gg.t:this.s=Gg.t},valueOf:function(){return this.s}};var Gg=new kg;function eN(n,t,e){var o=n.s=t+e,s=o-t,l=o-s;n.t=t-l+(e-s)}var er=1e-6;var gr=Math.PI,Mi=gr/2,qg=gr/4,Da=gr*2,$l=180/gr,Jo=gr/180,Zr=Math.abs,aa=Math.atan,Ko=Math.atan2,Xn=Math.cos;var Hg=Math.exp;var Oh=Math.log;var an=Math.sin;var no=Math.sqrt,Dh=Math.tan;function _1(n){return n>1?0:n<-1?gr:Math.acos(n)}function Co(n){return n>1?Mi:n<-1?-Mi:Math.asin(n)}function ua(){}var wJ=Zo(),rpt=Zo();function Zl(n){var t=n[0],e=n[1],o=Xn(e);return[o*Xn(t),o*an(t),an(e)]}function Fh(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Uh(n){var t=no(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}var ppt=Zo();function rN(n,t){return[n>gr?n-Da:n<-gr?n+Da:n,t]}rN.invert=rN;function x1(){var n=[],t;return{point:function(e,o){t.push([e,o])},lineStart:function(){n.push(t=[])},lineEnd:ua,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function E1(n,t){return Zr(n[0]-t[0])<er&&Zr(n[1]-t[1])<er}function Vg(n,t,e,o){this.x=n,this.z=t,this.o=e,this.e=o,this.v=!1,this.n=this.p=null}function w1(n,t,e,o,s){var l=[],p=[],h,g;if(n.forEach(function(A){if(!((I=A.length-1)<=0)){var I,S=A[0],w=A[I],R;if(E1(S,w)){for(s.lineStart(),h=0;h<I;++h)s.point((S=A[h])[0],S[1]);s.lineEnd();return}l.push(R=new Vg(S,A,null,!0)),p.push(R.o=new Vg(S,null,R,!1)),l.push(R=new Vg(w,A,null,!1)),p.push(R.o=new Vg(w,null,R,!0))}}),!!l.length){for(p.sort(t),iN(l),iN(p),h=0,g=p.length;h<g;++h)p[h].e=e=!e;for(var m=l[0],v,x;;){for(var E=m,M=!0;E.v;)if((E=E.n)===m)return;v=E.z,s.lineStart();do{if(E.v=E.o.v=!0,E.e){if(M)for(h=0,g=v.length;h<g;++h)s.point((x=v[h])[0],x[1]);else o(E.x,E.n.x,1,s);E=E.n}else{if(M)for(v=E.p.z,h=v.length-1;h>=0;--h)s.point((x=v[h])[0],x[1]);else o(E.x,E.p.x,-1,s);E=E.p}E=E.o,v=E.z,M=!M}while(!E.v);s.lineEnd()}}}function iN(n){if(t=n.length){for(var t,e=0,o=n[0],s;++e<t;)o.n=s=n[e],s.p=o,o=s;o.n=s=n[0],s.p=o}}function sl(n,t){return n<t?-1:n>t?1:n>=t?0:NaN}function S1(n){return n.length===1&&(n=bJ(n)),{left:function(t,e,o,s){for(o==null&&(o=0),s==null&&(s=t.length);o<s;){var l=o+s>>>1;n(t[l],e)<0?o=l+1:s=l}return o},right:function(t,e,o,s){for(o==null&&(o=0),s==null&&(s=t.length);o<s;){var l=o+s>>>1;n(t[l],e)>0?s=l:o=l+1}return o}}}function bJ(n){return function(t,e){return sl(n(t),e)}}var oN=S1(sl),AJ=oN.right,TJ=oN.left;var sN=Array.prototype,PJ=sN.slice,IJ=sN.map;var odt=Math.sqrt(50),sdt=Math.sqrt(10),adt=Math.sqrt(2);function Xg(n){for(var t=n.length,e,o=-1,s=0,l,p;++o<t;)s+=n[o].length;for(l=new Array(s);--t>=0;)for(p=n[t],e=p.length;--e>=0;)l[--s]=p[e];return l}var BJ=1e9,Vgt=-BJ;var M1=Zo();function b1(n,t){var e=t[0],o=t[1],s=[an(e),-Xn(e),0],l=0,p=0;M1.reset();for(var h=0,g=n.length;h<g;++h)if(v=(m=n[h]).length)for(var m,v,x=m[v-1],E=x[0],M=x[1]/2+qg,A=an(M),I=Xn(M),S=0;S<v;++S,E=R,A=F,I=V,x=w){var w=m[S],R=w[0],C=w[1]/2+qg,F=an(C),V=Xn(C),X=R-E,q=X>=0?1:-1,D=q*X,xt=D>gr,B=A*F;if(M1.add(Ko(B*q*an(D),I*V+B*Xn(D))),l+=xt?X+q*Da:X,xt^E>=e^R>=e){var j=Fh(Zl(x),Zl(w));Uh(j);var J=Fh(s,j);Uh(J);var Dt=(xt^X>=0?-1:1)*Co(J[2]);(o>Dt||o===Dt&&(j[0]||j[1]))&&(p+=xt^X>=0?1:-1)}}return(l<-er||l<er&&M1<-er)^p&1}var tmt=Zo();var _mt=Zo(),xmt=Zo();var kJ=1/0;var Smt=-kJ;function A1(n){this._context=n}A1.prototype={_radius:4.5,pointRadius:function(n){return this._radius=n,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(n,t){switch(this._point){case 0:{this._context.moveTo(n,t),this._point=1;break}case 1:{this._context.lineTo(n,t);break}default:{this._context.moveTo(n+this._radius,t),this._context.arc(n,t,this._radius,0,Da);break}}},result:ua};var Nmt=Zo();function T1(){this._string=[]}T1.prototype={_radius:4.5,_circle:lN(4.5),pointRadius:function(n){return(n=+n)!==this._radius&&(this._radius=n,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push("Z"),this._point=NaN},point:function(n,t){switch(this._point){case 0:{this._string.push("M",n,",",t),this._point=1;break}case 1:{this._string.push("L",n,",",t);break}default:{this._circle==null&&(this._circle=lN(this._radius)),this._string.push("M",n,",",t,this._circle);break}}},result:function(){if(this._string.length){var n=this._string.join("");return this._string=[],n}else return null}};function lN(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function C1(n,t,e,o){return function(s,l){var p=t(l),h=s.invert(o[0],o[1]),g=x1(),m=t(g),v=!1,x,E,M,A={point:I,lineStart:w,lineEnd:R,polygonStart:function(){A.point=C,A.lineStart=F,A.lineEnd=V,E=[],x=[]},polygonEnd:function(){A.point=I,A.lineStart=w,A.lineEnd=R,E=Xg(E);var X=b1(x,h);E.length?(v||(l.polygonStart(),v=!0),w1(E,VJ,X,e,l)):X&&(v||(l.polygonStart(),v=!0),l.lineStart(),e(null,null,1,l),l.lineEnd()),v&&(l.polygonEnd(),v=!1),E=x=null},sphere:function(){l.polygonStart(),l.lineStart(),e(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function I(X,q){var D=s(X,q);n(X=D[0],q=D[1])&&l.point(X,q)}function S(X,q){var D=s(X,q);p.point(D[0],D[1])}function w(){A.point=S,p.lineStart()}function R(){A.point=I,p.lineEnd()}function C(X,q){M.push([X,q]);var D=s(X,q);m.point(D[0],D[1])}function F(){m.lineStart(),M=[]}function V(){C(M[0][0],M[0][1]),m.lineEnd();var X=m.clean(),q=g.result(),D,xt=q.length,B,j,J;if(M.pop(),x.push(M),M=null,!!xt){if(X&1){if(j=q[0],(B=j.length-1)>0){for(v||(l.polygonStart(),v=!0),l.lineStart(),D=0;D<B;++D)l.point((J=j[D])[0],J[1]);l.lineEnd()}return}xt>1&&X&2&&q.push(q.pop().concat(q.shift())),E.push(q.filter(HJ))}}return A}}function HJ(n){return n.length>1}function VJ(n,t){return((n=n.x)[0]<0?n[1]-Mi-er:Mi-n[1])-((t=t.x)[0]<0?t[1]-Mi-er:Mi-t[1])}var WJ=C1(function(){return!0},XJ,$J,[-gr,-Mi]);function XJ(n){var t=NaN,e=NaN,o=NaN,s;return{lineStart:function(){n.lineStart(),s=1},point:function(l,p){var h=l>0?gr:-gr,g=Zr(l-t);Zr(g-gr)<er?(n.point(t,e=(e+p)/2>0?Mi:-Mi),n.point(o,e),n.lineEnd(),n.lineStart(),n.point(h,e),n.point(l,e),s=0):o!==h&&g>=gr&&(Zr(t-o)<er&&(t-=o*er),Zr(l-h)<er&&(l-=h*er),e=YJ(t,e,l,p),n.point(o,e),n.lineEnd(),n.lineStart(),n.point(h,e),s=0),n.point(t=l,e=p),o=h},lineEnd:function(){n.lineEnd(),t=e=NaN},clean:function(){return 2-s}}}function YJ(n,t,e,o){var s,l,p=an(n-e);return Zr(p)>er?aa((an(t)*(l=Xn(o))*an(e)-an(o)*(s=Xn(t))*an(n))/(s*l*p)):(t+o)/2}function $J(n,t,e,o){var s;if(n==null)s=e*Mi,o.point(-gr,s),o.point(0,s),o.point(gr,s),o.point(gr,0),o.point(gr,-s),o.point(0,-s),o.point(-gr,-s),o.point(-gr,0),o.point(-gr,s);else if(Zr(n[0]-t[0])>er){var l=n[0]<t[0]?gr:-gr;s=e*l/2,o.point(-l,s),o.point(0,s),o.point(l,s)}else o.point(t[0],t[1])}function Yg(n){return function(t){var e=new P1;for(var o in n)e[o]=n[o];return e.stream=t,e}}function P1(){}P1.prototype={constructor:P1,point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var x0t=Xn(30*Jo);var O0t=Yg({point:function(n,t){this.stream.point(n*Jo,t*Jo)}});function $g(n){return function(t,e){var o=Xn(t),s=Xn(e),l=n(o*s);return[l*s*an(t),l*an(e)]}}function Fa(n){return function(t,e){var o=no(t*t+e*e),s=n(o),l=an(s),p=Xn(s);return[Ko(t*l,o*p),Co(o&&e*l/o)]}}var mN=$g(function(n){return no(2/(1+n))});mN.invert=Fa(function(n){return 2*Co(n/2)});var yN=$g(function(n){return(n=_1(n))&&n/an(n)});yN.invert=Fa(function(n){return n});function I1(n,t){return[n,Oh(Dh((Mi+t)/2))]}I1.invert=function(n,t){return[n,2*aa(Hg(t))-Mi]};function Zg(n,t){return[n,t]}Zg.invert=Zg;function vN(n,t){var e=Xn(t),o=Xn(n)*e;return[e*an(n)/o,an(t)/o]}vN.invert=Fa(aa);function _N(n,t){var e=t*t,o=e*e;return[n*(.8707-.131979*e+o*(-.013791+o*(.003971*e-.001529*o))),t*(1.007226+e*(.015085+o*(-.044475+.028874*e-.005916*o)))]}_N.invert=function(n,t){var e=t,o=25,s;do{var l=e*e,p=l*l;e-=s=(e*(1.007226+l*(.015085+p*(-.044475+.028874*l-.005916*p)))-t)/(1.007226+l*(.015085*3+p*(-.044475*7+.028874*9*l-.005916*11*p)))}while(Zr(s)>er&&--o>0);return[n/(.8707+(l=e*e)*(-.131979+l*(-.013791+l*l*l*(.003971-.001529*l)))),e]};function xN(n,t){return[Xn(t)*an(n),an(t)]}xN.invert=Fa(Co);function EN(n,t){var e=Xn(t),o=1+Xn(n)*e;return[e*an(n)/o,an(t)/o]}EN.invert=Fa(function(n){return 2*aa(n)});function wN(n,t){return[Oh(Dh((Mi+t)/2)),-n]}wN.invert=function(n,t){return[-t,2*aa(Hg(n))-Mi]};var tK=sn(yf(),1);var eK=sn(yf(),1);var rK=sn(yf(),1);var iK=sn(yf(),1);function _f(n,t){return Math.sqrt((t[0]-n[0])**2+(t[1]-n[1])**2)}function MN(n){let t=0;for(let e=0;e<n.length-1;e++)t+=_f(n[e],n[e+1]);return t}var jo=sn(bN(),1);var Nn="___",Jg=class{setLiftPriority(t){this.lift_priority=t}isFacilityByType(t){return["facility","escalator","straightLadder","staircase","ramp","connectionPoint"].includes(t)}initFacilities(t){this.facilities=t.map(e=>{let o=[];try{o=JSON.parse(e.entry_end_floor)}catch(l){o=[]}let s=[];try{s=JSON.parse(e.entry_start_floor)}catch(l){s=[]}return Lu({},e,{entry_start_floor:s,entry_end_floor:o})})}getParkingSpaceInfo(t,e){let o=""+t+Nn+e;var s;return(s=this.parkingMap.get(o))!=null?s:null}getNodeInfo(t,e){let o=""+t+Nn+e,s=this.nodeMap.get(o);if(!(s!=null&&s.length))return null;let l=this.pointMap.get(s[0]);return l!=null?l:null}initRoute(t,e){this.clear(),this.roadInfo=t,this.initFacilities(e);let o=new Date,s=o.getHours()*60+o.getMinutes();t.length&&(t.forEach(l=>{let p=(l.points||[]).filter(h=>!(0,jo.isNil)(h.passWeight)&&h.passWeight!==1&&!(0,jo.isNil)(h.coverageArea)&&h.coverageArea!==0);(l.points||[]).filter(h=>h.openStatus!==!1).filter(h=>{if(!h.startTime||!h.endTime)return!0;let[g,m]=h.startTime.split(":").map(A=>+A),[v,x]=h.endTime.split(":").map(A=>+A),E=g*60+m,M=v*60+x;return s>=E&&s<=M}).forEach(h=>{h.floor=l.floor;let g=""+l.floor+Nn+h.id,m=""+l.floor+Nn+h.nodeId,v=this.nodeMap.get(m)||[];if(v.push(""+l.floor+Nn+(h.relatedId||h.id)),this.nodeMap.set(""+l.floor+Nn+h.nodeId,v),this.pointMap.set(g,h),this.isFacilityByType(h.type)){let x=this.facilities.find(E=>E.id===+h.targetId);if(x){switch(x.entry_infra_type){case"straightLadder":if(x.entry_end_floor.find(I=>I.floor===l.floor)&&x.entry_start_floor.find(I=>I.floor===l.floor)){let I=this.straightLadderMap.get(h.targetId)||[];I.push(Lu({},h)),this.straightLadderMap.set(h.targetId,I)}break;case"staircase":if(x.entry_end_floor.find(I=>I.floor===l.floor)&&x.entry_start_floor.find(I=>I.floor===l.floor)){let I=this.staircaseMap.get(h.targetId)||[];I.push(Lu({},h)),this.staircaseMap.set(h.targetId,I)}break;case"escalator":let M=this.escalatorMap.get(h.targetId)||[];if(x.entry_start_floor.find(I=>I.floor===l.floor)){let I=M.find(S=>{var w;return((w=S.end)==null?void 0:w.floor)!==l.floor&&!S.start});I?I.start=h:M.push({start:h})}if(x.entry_end_floor.find(I=>I.floor===l.floor)){let I=M.find(S=>{var w;return((w=S.start)==null?void 0:w.floor)!==l.floor&&!S.end});I?I.end=h:M.push({end:h})}this.escalatorMap.set(h.targetId,M);break;case"ramp":let A=this.rampMap.get(h.targetId)||[];if(x.entry_start_floor.find(I=>I.floor===l.floor)){let I=A.find(S=>{var w;return((w=S.end)==null?void 0:w.floor)!==l.floor&&!S.start});I?I.start=h:A.push({start:h})}if(x.entry_end_floor.find(I=>I.floor===l.floor)){let I=A.find(S=>{var w;return((w=S.start)==null?void 0:w.floor)!==l.floor&&!S.end});I?I.end=h:A.push({end:h})}this.rampMap.set(h.targetId,A);break;case"connectionPoint":if(x.entry_end_floor.find(I=>I.floor===l.floor)&&x.entry_start_floor.find(I=>I.floor===l.floor)){let I=this.connectionPointMap.get(h.targetId)||[];I.push(Lu({},h)),this.connectionPointMap.set(h.targetId,I)}break}let E=this.facilityMap.get(h.targetId)||[];E.push(Lu({},h)),this.facilityMap.set(h.targetId,E)}}h.type==="parkingSpace"&&h.name.split(/[,\uFF0C]/).forEach(E=>{this.parkingMap.set(""+l.floor+Nn+E,h)})}),(l.lines||[]).filter(h=>h.to!==h.from).forEach(h=>{let g=""+l.floor+Nn+h.from,m=""+l.floor+Nn+h.to,v=this.pointMap.get(g),x=this.pointMap.get(m);if(!v||!x)return;let E=v.cds,M=x.cds,A=_f(E,M);if(p.forEach(I=>{(I.id===h.from||I.id===h.to)&&(A=A/I.passWeight);let S=_f(E,I.cds)<=I.coverageArea,w=_f(M,I.cds)<=I.coverageArea;(S||w)&&(A=A/I.passWeight)}),!v.permission&&!x.permission){switch(this.addLineItem(g,m,A),this.addLineItem(m,g,A),h.direction){case"double":this.addLineItem(g,m,A,this.forwardLineMap),this.addLineItem(m,g,A,this.forwardLineMap);break;case"single":this.addLineItem(g,m,A,this.forwardLineMap);break;case"back":this.addLineItem(m,g,A,this.forwardLineMap);break}(v.type==="parkingSpace"||x.type==="parkingSpace")&&h.direction==="noDir"&&(this.addLineItem(g,m,A,this.forwardLineMap),this.addLineItem(m,g,A,this.forwardLineMap))}else v.permission&&(this.setPermissionLine(g,m,v.permission,A,""),this.setPermissionLine(m,g,v.permission,A,"")),x.permission&&x.permission!==v.permission&&(this.setPermissionLine(g,m,x.permission,A,""),this.setPermissionLine(m,g,x.permission,A,""))})}),this.addPermissionFacility(),this.initBaseRoute(),this.initEscalatorRoute(),this.initStraightLadderRoute(),this.initForwardRoute())}getPermissionMap(t){return this["permission_"+t]||(this["permission_"+t]=new Set),this["permission_"+t]}setPermissionLine(t,e,o,s,l){this.getPermissionMap(o).add({fromKey:t,toKey:e,distance:s,type:l})}addPermissionFacility(){this.straightLadderMap.forEach((t,e)=>{if(t.length<2){this.straightLadderMap.delete(e);return}for(let o=0;o<t.length;o++){let s=""+t[o].floor+Nn+t[o].id,l=this.pointMap.get(s);if(l){for(let p=0;p<t.length;p++)if(o!==p){let h=""+t[p].floor+Nn+t[p].id,g=this.pointMap.get(h);if(!g)continue;l.permission&&this.setPermissionLine(s,h,l.permission,1,"straightLadder"),g.permission&&g.permission!==l.permission&&this.setPermissionLine(s,h,g.permission,1,"straightLadder")}}}}),this.staircaseMap.forEach((t,e)=>{if(t.length<2){this.staircaseMap.delete(e);return}for(let o=0;o<t.length;o++){let s=""+t[o].floor+Nn+t[o].id,l=this.pointMap.get(s);if(l){for(let p=0;p<t.length;p++)if(o!==p){let h=""+t[p].floor+Nn+t[p].id,g=this.pointMap.get(h);if(!g)continue;l.permission&&this.setPermissionLine(s,h,l.permission,1,"staircase"),g.permission&&g.permission!==l.permission&&this.setPermissionLine(s,h,g.permission,1,"staircase")}}}}),this.escalatorMap.forEach((t,e)=>{t.forEach(o=>{if(o.start&&o.end){let s=""+o.start.floor+Nn+o.start.id,l=""+o.end.floor+Nn+o.end.id,p=this.pointMap.get(s),h=this.pointMap.get(l);p&&h&&(p.permission&&this.setPermissionLine(s,l,p.permission,1,"escalator"),h.permission&&h.permission!==p.permission&&this.setPermissionLine(s,l,h.permission,1,"escalator"))}})}),this.rampMap.forEach((t,e)=>{t.forEach(o=>{if(o.start&&o.end){let s=""+o.start.floor+Nn+o.start.id,l=""+o.end.floor+Nn+o.end.id,p=this.pointMap.get(s),h=this.pointMap.get(l);p&&h&&(p.permission&&this.setPermissionLine(s,l,p.permission,10,"ramp"),h.permission&&h.permission!==p.permission&&this.setPermissionLine(s,l,h.permission,10,"ramp"))}})}),this.connectionPointMap.forEach((t,e)=>{if(t.length<2){this.connectionPointMap.delete(e);return}for(let o=0;o<t.length;o++){let s=""+t[o].floor+Nn+t[o].id,l=this.pointMap.get(s);if(l){for(let p=0;p<t.length;p++)if(o!==p){let h=""+t[p].floor+Nn+t[p].id,g=this.pointMap.get(h);if(!g)continue;l.permission&&this.setPermissionLine(s,h,l.permission,1,"connectionPoint"),g.permission&&g.permission!==l.permission&&this.setPermissionLine(s,h,g.permission,1,"connectionPoint")}}}})}addPermissionLineToMap(t,e,o,s){this.getPermissionMap(t).forEach(p=>{e.includes(p.type)&&(p.type===""?this.addLineItem(p.fromKey,p.toKey,p.distance,o):this.addLineItem(p.fromKey,p.toKey,s.get(p.type),o))})}addLineItem(t,e,o,s){s===void 0&&(s=this.lineMap);let l=s.get(t)||new Map;l.set(e,o),s.set(t,l)}addFacilityToLineMap(t,e,o,s){[...this.straightLadderMap,...this.staircaseMap].forEach(l=>{let[p,h]=l;if(!(h.length<2))for(let g=0;g<h.length;g++){let m=""+h[g].floor+Nn+h[g].id,v=this.pointMap.get(m);if(!(!v||v.permission)){for(let x=0;x<h.length;x++)if(g!==x){let E=""+h[x].floor+Nn+h[x].id,M=this.pointMap.get(E);if(!M||M.permission)continue;if(h[g].type==="straightLadder"){let A=e;this.addLineItem(m,E,A,s)}else{let A=o;this.addLineItem(m,E,A,s)}}}}}),this.escalatorMap.forEach((l,p)=>{l.forEach(h=>{if(h.start&&h.end){let g=""+h.start.floor+Nn+h.start.id,m=""+h.end.floor+Nn+h.end.id,v=this.pointMap.get(g),x=this.pointMap.get(m);if(v&&x&&!v.permission&&!x.permission){let E=t;this.addLineItem(g,m,E,s)}}})}),this.connectionPointMap.forEach((l,p)=>{if(!(l.length<2))for(let h=0;h<l.length;h++){let g=""+l[h].floor+Nn+l[h].id,m=this.pointMap.get(g);if(!(!m||m.permission)){for(let v=0;v<l.length;v++)if(h!==v){let x=""+l[v].floor+Nn+l[v].id,E=this.pointMap.get(x);if(!E||E.permission)continue;this.addLineItem(g,x,100,s)}}}})}initBaseRoute(){let t=new Map((0,jo.cloneDeep)([...this.lineMap]));this.addFacilityToLineMap(100,100*this.lift_priority,3e4,t),this.baseRoute=new ro.default(t)}initEscalatorRoute(){let t=new Map((0,jo.cloneDeep)([...this.lineMap])),e=1e4;this.addFacilityToLineMap(100,this.lift_priority*e,3e4*e,t),this.escalatorRoute=new ro.default(t)}initStraightLadderRoute(){let t=new Map((0,jo.cloneDeep)([...this.lineMap])),e=1e4;this.addFacilityToLineMap(3*e,300,3e4*e,t),this.straightLadderRoute=new ro.default(t)}initForwardRoute(){this.rampMap.forEach((t,e)=>{t.forEach(o=>{if(o.start&&o.end){let s=""+o.start.floor+Nn+o.start.id,l=""+o.end.floor+Nn+o.end.id,p=this.pointMap.get(s),h=this.pointMap.get(l);p&&h&&!p.permission&&!h.permission&&this.addLineItem(s,l,10,this.forwardLineMap)}})}),this.connectionPointMap.forEach((t,e)=>{if(!(t.length<2))for(let o=0;o<t.length;o++){let s=""+t[o].floor+Nn+t[o].id,l=this.pointMap.get(s);if(!(!l||l.permission)){for(let p=0;p<t.length;p++)if(o!==p){let h=""+t[p].floor+Nn+t[p].id,g=this.pointMap.get(h);if(!g||g.permission)continue;this.addLineItem(s,h,100,this.forwardLineMap)}}}}),this.forwardRoute=new ro.default(this.forwardLineMap)}checkStart(t){return!(!t.floor||!t.nodeId&&(!t.coord||t.coord.length<2))}checkEnd(t){return t.facility||t.parkingSpace&&t.floor?!0:this.checkStart(t)}transformStart(t,e,o){o===void 0&&(o={});var s;if(t.nodeId){let l=this.nodeMap.get(""+t.floor+Nn+t.nodeId);if(l!=null&&l.length)return l.map(p=>{let[h,g]=p.split(Nn);return{floor:h,id:g}})}if((s=t.coord)!=null&&s.length){let l=this.roadInfo.find(m=>m.floor===t.floor);if(!l)return null;let p=l.points.filter(m=>m.isStarted),h=l.points.filter(m=>{let v=""+m.floor+Nn+m.id;if(e==="forward"){if(!this.forwardLineMap.has(v)||o.adsorptionIntersection&&p.length&&!m.isStarted)return!1}else if(!this.lineMap.has(v))return!1;return!0});if(!h.length)return null;let g=h.reduce((m,v)=>{if(v.relatedId)return m;let x=_f(t.coord,v.cds);return x<m.min&&(m.min=x,m.point=v),m},{min:1/0,point:h[0]});return[{floor:l.floor,id:g.point.id}]}return null}transformEnd(t,e){if(t.floor){if(t.parkingSpace){let s=this.parkingMap.get(""+t.floor+Nn+t.parkingSpace);if(s)return[{floor:t.floor,id:s.id}]}let o=this.transformStart(t,e);if(o)return o}if(t.facility){let s=this.facilities.filter(l=>+l.type_id==+t.facility).map(l=>l.id).map(l=>this.facilityMap.get(""+l)).flat(2);if(s!=null&&s.length)return{floor:t.floor,facility:t.facility}}return null}getPath(t,e,o,s,l,p){if(o===void 0&&(o=""),p===void 0&&(p={}),!this.checkStart(t))return"start-error";if(!this.checkEnd(e))return"end-error";let h=this.transformStart(t,o,p);if(!h)return"no-start";let g=this.transformEnd(e,o);if(!g)return"no-end";let m=[];if(Array.isArray(g))for(let E=0;E<h.length;E++){let M=h[E];for(let A=0;A<g.length;A++){let I=g[A];if(M.floor===I.floor&&M.id===I.id)return"near"}}else{m=this.facilities.filter(M=>+M.type_id==+e.facility).map(M=>M.id).map(M=>this.facilityMap.get(""+M)).flat(2).filter(M=>M).filter(M=>g.floor?M.floor===g.floor:!0);for(let M=0;M<h.length;M++){let A=h[M];for(let I=0;I<m.length;I++){let S=m[I];if(A.floor===S.floor&&A.id===S.id)return"near"}}}let v;switch(o){case"escalator":v=this.getEscalatorPath.bind(this);break;case"straightLadder":v=this.getStraightLadderPath.bind(this);break;case"forward":v=this.getForwardPath.bind(this);break;default:v=this.getBasePath.bind(this);break}let x=null;return h.forEach(E=>{if(Array.isArray(g))g.forEach(M=>{let A=v(E,M,s,l);A&&A&&(!x||A[0].consume<x[0].consume)&&(x=A)});else{if(!m.length)return null;let M=m.map(A=>v(E,{floor:A.floor,id:A.id},s,l)).filter(A=>!!A);x=M.reduce((A,I)=>{let S=I[0].consume;return S<A.distance&&(A.distance=S,A.path=I),A},{distance:1/0,path:M[0]}).path}}),x}getRoutePath(t,e,o){let s=""+t.floor+Nn+t.id,l=this.pointMap.get(s),p=""+e.floor+Nn+e.id,h=this.pointMap.get(p);if(!l||!h)return null;let g=""+l.floor+Nn+(l.relatedId||l.id),m=""+h.floor+Nn+(h.relatedId||h.id),v=o.path(g,m);if(!v)return null;let x=[],E=v.reduce((M,A,I,S)=>{if(I===0)return 0;let w=S[I-1],R=o.graph.get(w).get(A);return M+R},0);return v.map(M=>{let A=this.pointMap.get(M);if(A){var I;let{floor:S}=A,w=A.type;if(this.isFacilityByType(A.type)){let R=this.facilities.find(C=>C.id===+A.targetId);R&&(w=R.entry_infra_type)}if(((I=x[x.length-1])==null?void 0:I.floor)===S){let R=x[x.length-1];R.points.push(A.cds),R.pointInfos.push(A),R.endType=w,R.destId=A.nodeId,R.distance=MN(R.points)}else x.push({floor:S,points:[A.cds],pointInfos:[A],endType:w,destId:A.nodeId,distance:0,consume:E})}}),x}getBasePath(t,e,o){if(!o)return this.getRoutePath(t,e,this.baseRoute);let s=(0,jo.cloneDeep)(this.baseRoute.graph),l=h=>{this.addPermissionLineToMap(h,["","escalator","staircase","straightLadder","connectionPoint"],s,new Map([["escalator",100],["connectionPoint",100],["straightLadder",100*this.lift_priority],["staircase",3e4]]))};Array.isArray(o)?o.forEach(h=>{l(h)}):l(o);let p=new ro.default(s);return this.getRoutePath(t,e,p)}getEscalatorPath(t,e,o){if(!o)return this.getRoutePath(t,e,this.escalatorRoute);let s=(0,jo.cloneDeep)(this.escalatorRoute.graph),l=1e4,p=g=>{this.addPermissionLineToMap(g,["","escalator","staircase","straightLadder","connectionPoint"],s,new Map([["escalator",100],["connectionPoint",100],["straightLadder",this.lift_priority*l],["staircase",3e4*l]]))};Array.isArray(o)?o.forEach(g=>{p(g)}):p(o);let h=new ro.default(s);return this.getRoutePath(t,e,h)}getStraightLadderPath(t,e,o){if(!o)return this.getRoutePath(t,e,this.straightLadderRoute);let s=(0,jo.cloneDeep)(this.straightLadderRoute.graph),l=1e4,p=g=>{this.addPermissionLineToMap(g,["","escalator","staircase","straightLadder","connectionPoint"],s,new Map([["escalator",3*l],["connectionPoint",100],["straightLadder",300],["staircase",3e4*l]]))};Array.isArray(o)?o.forEach(g=>{p(g)}):p(o);let h=new ro.default(s);return this.getRoutePath(t,e,h)}getForwardPath(t,e,o,s){let l=new Map,p=M=>{let A=this.forwardRoute.graph.get(g);M.forEach(I=>{let S=A.get(I);(0,jo.isNil)(S)||(l.set(I,S),A.delete(I))})},h=()=>{let M=this.forwardRoute.graph.get(g);l.forEach((A,I)=>{M.set(I,A)})},g=""+t.floor+Nn+t.id;if(!(0,jo.isNil)(s)){let M=this.forwardLineMap.get(g),A=this.pointMap.get(g);if(A&&(M!=null&&M.size)&&M.size>1){let I=new Ye(A.cds[0],A.cds[1]),S=new Map;M.forEach((R,C)=>{let F=this.pointMap.get(C);if(F){let V=new Ye(F.cds[0],F.cds[1]),q=360-(new Ye().subVectors(V,I).angle()/Math.PI*180-90+360)%360;S.set(C,q)}});let w=Array.from(S).filter(R=>{let[C,F]=R;return Math.abs(F-s)<=60}).map(R=>{let[C]=R;return C});if(w.length)w.forEach(R=>S.delete(R)),p([...S.keys()]);else{let R=Array.from(S).reduce((C,F)=>{let V=Math.abs(F[1]-s);return V<C.diff?{diff:V,key:F[0]}:C},{diff:1/0,key:""});S.delete(R.key),p([...S.keys()])}}}if(!o){let M=this.getRoutePath(t,e,this.forwardRoute);return h(),M||this.getRoutePath(t,e,this.forwardRoute)}let m=(0,jo.cloneDeep)(this.forwardRoute.graph),v=M=>{this.addPermissionLineToMap(M,["","ramp"],m,new Map([["ramp",10]]))};Array.isArray(o)?o.forEach(M=>{v(M)}):v(o);let x=new ro.default(m),E=this.getRoutePath(t,e,x);if(h(),E)return E;{let M=(0,jo.cloneDeep)(this.forwardRoute.graph);Array.isArray(o)?o.forEach(S=>{v(S)}):v(o);let A=new ro.default(M);return this.getRoutePath(t,e,A)}}clear(){this.roadInfo=[],this.pointMap.clear(),this.nodeMap.clear(),this.facilityMap.clear(),this.straightLadderMap.clear(),this.escalatorMap.clear(),this.staircaseMap.clear(),this.lineMap.clear(),this.baseRoute=new ro.default,this.escalatorRoute=new ro.default,this.straightLadderRoute=new ro.default}constructor(t=3){this.lift_priority=t,this.roadInfo=[],this.facilities=[],this.pointMap=new Map,this.nodeMap=new Map,this.facilityMap=new Map,this.straightLadderMap=new Map,this.escalatorMap=new Map,this.rampMap=new Map,this.staircaseMap=new Map,this.connectionPointMap=new Map,this.parkingMap=new Map,this.lineMap=new Map,this.baseRoute=new ro.default,this.escalatorRoute=new ro.default,this.straightLadderRoute=new ro.default,this.forwardLineMap=new Map,this.forwardRoute=new ro.default}};var uwt=sn(jN(),1),lwt=sn(Yp(),1);function QN(n){return n.replace(/[A-Z]/g,t=>"_"+t.toLowerCase()).replace(/^_/,"")}function t2(n){let t={};for(let o in n)o.startsWith("on")&&(t[QN(o.slice(2))]=n[o],t[o]=n[o]);let e=o=>ac(this,null,function*(){let{data:s}=o;if(t[s.type])try{let l=yield t[s.type](s.data);if(l!=null&&l.$transfer&&Array.isArray(l.$transfer)){let p=l.$transfer;delete l.$transfer,self.postMessage({type:""+s.type+"_result",key:s.key,data:l},p)}else self.postMessage({type:""+s.type+"_result",key:s.key,data:l})}catch(l){self.postMessage({type:""+s.type+"_result",key:s.key,error:l})}else self.postMessage({type:""+s.type+"_result",key:s.key,error:"no_event"})});return self.addEventListener("message",e),()=>{self.removeEventListener("message",e)}}var la=new Jg,r2,QK=new Promise(n=>{r2=n});function i2(n,t,e){let{floor:o,coord:s}=n,l=null;return(t||[]).forEach(p=>{let h=la.getPath({floor:o,coord:s},{floor:p.floor,parkingSpace:p.lot_id},"forward",0,e);if(h==="near"){l={floor:p.floor,spaceNo:p.lot_id,distance:0};return}if(!h||typeof h=="string")return;let g={floor:p.floor,spaceNo:p.lot_id,distance:h[0].consume};l||(l=g),l.distance>g.distance&&(l=g)}),l}function e2(n,t,e,o,s){let l=i2({floor:n,coord:t},e[n],s);return l||tj(n,t,e,o,s)}function tj(n,t,e,o,s){let l=o.indexOf(n);l===-1&&(l=o.length);let p=1,h=null;for(;p<=o.length;){if(o.filter((m,v)=>v===l-1||v===l+1).forEach(m=>{let v=i2({floor:n,coord:t},e[m],s);h?v&&h.distance>v.distance&&(h=v):h=v}),h)return h;p++}return h}function n2(n,t,e,o,s){let l=z1(n,t,t.floor,e,s);if(l)return l;let p=z1(n,t,n.floor,e,s);return p||ej(n,t,n.floor,e,o,s)}function z1(n,t,e,o,s){let l=o[e]||[];if(!l.length)return null;let p=null;return l.forEach(h=>{let g={floor:h.floor,parkingSpace:h.lot_id},m=la.getPath(n,g,"forward",0,s);if(!m||typeof m=="string"&&m!=="near")return;let v=la.getParkingSpaceInfo(h.floor,h.lot_id);if(!v)return;let x=la.getPath({floor:h.floor,coord:v.cds},t,"",0);if(x==="near"){p={floor:h.floor,spaceNo:h.lot_id,distance:0};return}if(!x||typeof x=="string")return;let E={floor:h.floor,spaceNo:h.lot_id,distance:x[0].consume};p?p.distance>E.distance&&(p=E):p=E}),p}function ej(n,t,e,o,s,l){let p=s.indexOf(e);p===-1&&(p=s.length);let h=1,g=null;for(;h<=s.length;){if(s.filter((v,x)=>x===p-1||x===p+1).forEach(v=>{let x=z1(n,t,v,o,l);g?x&&g.distance>x.distance&&(g=x):g=x}),g)return g;h++}return g}function nj(n){if(n.coord)return{floor:n.floor,coord:n.coord};if(n.nodeId){let t=la.getNodeInfo(n.floor,n.nodeId);if(t)return{floor:t.floor,coord:t.cds}}return null}function rj(n){if(n.coord)return{floor:n.floor,coord:n.coord};if(n.nodeId){let t=la.getNodeInfo(n.floor,n.nodeId);if(t)return{floor:t.floor,coord:t.cds}}if(n.parkingSpace){let t=la.getParkingSpaceInfo(n.floor,n.parkingSpace);if(t)return{floor:t.floor,coord:t.cds}}return null}t2({onSetRoadInfo(n){let{roadData:t,facilities:e}=n;la.initRoute(t,e),r2(!0)},onRecommend(n){return ac(this,null,function*(){let{start:t,end:e,travelDirection:o,carLotStatus:s,parkingType:l}=n;yield QK;let p=s.reduce((v,x)=>(v[x.floor]?v[x.floor].push(x):v[x.floor]=[x],v),{}),h=la.roadInfo.map(v=>v.floor),g=nj(t);if(!g)return null;let m=e?rj(e):null;if(l){let v=s.filter(x=>{let E=la.getParkingSpaceInfo(x.floor,x.lot_id);return E?E.parkingType===l:!1});if(v){let x=v.reduce((E,M)=>(E[M.floor]?E[M.floor].push(M):E[M.floor]=[M],E),{});if(m){let E=n2(g,m,x,h,o);if(E)return E}else{let E=e2(g.floor,g.coord,x,h,o);if(E)return E}}}return m?n2(g,m,p,h,o):e2(g.floor,g.coord,p,h,o)})},onClear(){la.clear()}});
23579
- `],{type:"text/javascript"}),t=URL.createObjectURL(a),e=new Worker(t);return URL.revokeObjectURL(t),e}var Vh={placeId:0,catLotStatusApi:"https://vrapi.aibee.cn/parking/cat-lot-status"},Ns=class{setRoadData(t,e){return H(this.worker,"set_road_info",{roadData:t,facilities:e})}recommend(t){return g(this,null,function*(){let e=yield fetch(this.options.catLotStatusApi,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({place_id:+this.options.placeId})}).then(n=>n.json()).then(n=>n.data.filter(r=>r.status===0));return H(this.worker,"recommend",v({},t,{carLotStatus:e}))})}dispose(){this.worker.terminate()}constructor(t={}){this.worker=Si(),this.options=v({},Vh,t)}};import"core-js/modules/es.json.stringify.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.sort.js";import"core-js/modules/es.array.push.js";import"core-js/modules/web.url-search-params.js";import"core-js/modules/web.url-search-params.delete.js";import"core-js/modules/web.url-search-params.has.js";import"core-js/modules/web.url-search-params.size.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.json.stringify.js";var Hh={url:"",reconnect:!0,heartBeat:2e3,heartMsg:JSON.stringify({command:"PING"}),reconnectTime:3e3,reconnectMaxCount:1e6,noMessageTime:6e3},rn=class extends Q{initWebsocket(){this.ws=new WebSocket(this.options.url),this.ws.onopen=()=>{this.alive=!0,this.startHeart(),this.startOnMessageTimer(),this.stopReconnect(),this.dispatchEvent({type:"open"})},this.ws.onerror=()=>{this.alive=!1,this.ws=null,this.stopHeart(),this.stopOnMessageTimer(),this.startReconnect(),this.registryEvent()},this.ws.onclose=()=>{this.alive=!1,this.ws=null,this.stopHeart(),this.stopOnMessageTimer(),this.startReconnect()},this.ws.onmessage=t=>{this.startOnMessageTimer(),this.dispatchEvent({type:"message",message:t})}}startHeart(){this.stopHeart(),this.heartTimer=this.timer.setInterval(()=>{this.send(this.options.heartMsg)&&this.dispatchEvent({type:"send-heart"})},this.options.heartBeat)}stopHeart(){this.heartTimer&&(this.timer.clearInterval(this.heartTimer),this.heartTimer=null)}startReconnect(t){t===void 0&&(t=this.options.reconnectTime),this.stopReconnect(),this.options.reconnect&&(this.options.reconnectMaxCount--,this.options.reconnectMaxCount>=0&&(this.reconnectTimer=this.timer.setTimeout(()=>{this.initWebsocket()},t)))}stopReconnect(){this.reconnectTimer&&(this.timer.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}startOnMessageTimer(){this.stopOnMessageTimer(),this.noMessageTimer=this.timer.setTimeout(()=>{var t;(t=this.ws)==null||t.close(),this.dispatchEvent({type:"no-message-timeout"})},this.options.noMessageTime)}stopOnMessageTimer(){this.noMessageTimer&&(this.timer.clearTimeout(this.noMessageTimer),this.noMessageTimer=null)}send(t){var e;let n=typeof t=="string"?t:JSON.stringify(t);return this.alive&&((e=this.ws)==null?void 0:e.readyState)===1?(this.ws.send(n),this.dispatchEvent({type:"send-success",msg:n}),!0):(this.dispatchEvent({type:"send-fail",msg:n}),!1)}registryEvent(){window.addEventListener("online",this.onOnline)}unRegistryEvent(){window.removeEventListener("online",this.onOnline)}close(){var t;this.unRegistryEvent(),this.options.reconnect=!1,this.alive=!1,this.stopHeart(),this.stopReconnect(),this.stopOnMessageTimer(),(t=this.ws)==null||t.close(),this.ws=null,this.dispatchEvent({type:"close"})}dispose(){this.close(),this.timer.dispose(),super.dispose()}constructor(t){super(),this.ws=null,this.alive=!1,this.timer=new X,this.heartTimer=null,this.reconnectTimer=null,this.noMessageTimer=null,this.onOnline=()=>{this.startReconnect()},this.options=v({},Hh,t||{}),this.options.url&&this.initWebsocket()}};import{isNil as Os}from"lodash";var Mi=a=>{let t=a.toString(2),e=""+Array(16-t.length+1).join("0")+t,n=parseInt(e.slice(0,4),2)*10,r=parseInt(e.slice(4,16),2);return[n,r]};var Ds=class extends Q{initPositionWebSocket(){let t=v({},this.options.ext_position_params,{place_id:this.options.place_id,token:this.options.access_token}),e=Object.keys(t).filter(n=>!Os(t[n])).map(n=>n+"="+t[n]).join("&");this.positionWebSocket=new rn({url:this.options.wss_position_url+"?"+e}),this.positionWebSocket.addEventListener("message",n=>{let{message:r}=n,i=(()=>{try{return JSON.parse(r.data)}catch(B){return r.data}})();if(this.dispatchEvent({type:"ws-message",data:i}),i.command==="POSITION_RESULT"&&i.data.success)if(["POSITION","FLOOR","PARK_POSITION","AOA"].includes(i.data.success_type)&&this.useGpsFloorTimer&&(this.positionFloor=i.data.floor,this.timer.clearTimeout(this.useGpsFloorTimer),this.useGpsFloorTimer=null),i.data.success_type==="AOA"){let{x:B,y:G,time:Z,floor:j,ts:Tt}=i.data,At=this.positionFloor!==j;if(this.positionFloor=j,this.dispatchEvent({type:"ws-position",floor:j,x:B,y:G,time:Z,_type:"aoa"}),this.options.upload_position){var o;(o=this.positionWebSocket)==null||o.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:B,y:G,floor:j,type:"aoa"}),serverData:JSON.stringify(i)})}if(!this.options.use_pdr){this.dispatchEvent({type:"position",floor:j,x:B,y:G,time:new Date(Tt).getTime()-i.lag-i.duration});return}if(this.options.type!==1){var s;if(At){var u,l,c;(c=this.pdrPosition)==null||(l=c.pdr)==null||(u=l.particleFilter)==null||u.setPosInitFlag(!1)}(s=this.pdrPosition)==null||s.setBeaconPosition({x:B,y:G},new Date(Tt).getTime()-i.lag-i.duration)}else if(At){var h;if(this.resetPdr(),(h=this.carInertialPosition)==null||h.stopPositionTimer(),this.path){let Yt=this.path.findIndex(Oe=>Oe.floor===j),Ot=this.path[Yt];if(Ot){var p;this.resetPdr(),(p=this.carInertialPosition)==null||p.setBeaconPosition(Ot.points[0],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}else{var f;(f=this.carInertialPosition)==null||f.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var d;(d=this.carInertialPosition)==null||d.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var m;(m=this.carInertialPosition)==null||m.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else if(i.data.success_type==="POSITION"){let{x:B,y:G,time:Z,floor:j,ts:Tt}=i.data,At=this.positionFloor!==j;if(this.positionFloor=j,this.dispatchEvent({type:"ws-position",floor:j,x:B,y:G,time:Z,_type:"beacon"}),console.log("positionFloor",j,At),this.options.upload_position){var y;(y=this.positionWebSocket)==null||y.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:B,y:G,floor:j,type:"originBeacon"}),serverData:JSON.stringify(i)})}if(!this.options.use_pdr){this.dispatchEvent({type:"position",floor:j,x:B,y:G,time:new Date(Tt).getTime()-i.lag-i.duration});return}if(this.options.type!==1){var x;if(At){var E,S,A;(A=this.pdrPosition)==null||(S=A.pdr)==null||(E=S.particleFilter)==null||E.setPosInitFlag(!1)}(x=this.pdrPosition)==null||x.setBeaconPosition({x:B,y:G},new Date(Tt).getTime()-i.lag-i.duration)}else if(At){var C;if(this.resetPdr(),(C=this.carInertialPosition)==null||C.stopPositionTimer(),this.path){let Yt=this.path.findIndex(Oe=>Oe.floor===j),Ot=this.path[Yt];if(Ot){var V;this.resetPdr(),(V=this.carInertialPosition)==null||V.setBeaconPosition(Ot.points[0],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}else{var M;(M=this.carInertialPosition)==null||M.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var W;(W=this.carInertialPosition)==null||W.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var I;(I=this.carInertialPosition)==null||I.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else if(i.data.success_type==="PARK_POSITION"&&i.data.success){if(this.options.type===1){let{x:B,y:G,time:Z,floor:j}=i.data,Tt=this.positionFloor!==j;if(this.positionFloor=i.data.floor,this.dispatchEvent({type:"ws-position",floor:j,x:B,y:G,time:Z,_type:"vision"}),!this.options.use_pdr){this.dispatchEvent({type:"position",floor:j,x:B,y:G,time:new Date(Z).getTime()});return}if(Tt){var R;if(this.resetPdr(),(R=this.carInertialPosition)==null||R.stopPositionTimer(),this.path){let At=this.path.findIndex(Ot=>Ot.floor===j),Yt=this.path[At];if(Yt){var T;this.resetPdr(),(T=this.carInertialPosition)==null||T.setPosition(Yt.points[0],new Date(Z).getTime(),i.duration)}else{var F;(F=this.carInertialPosition)==null||F.setPosition([B,G],new Date(Z).getTime(),i.duration)}}else{var q;(q=this.carInertialPosition)==null||q.setPosition([B,G],new Date(Z).getTime(),i.duration)}}else{var z,D;if((z=this.carInertialPosition)==null||z.setPosition([B,G],new Date(Z).getTime(),i.duration),!((D=this.carInertialPosition)!=null&&D.positionTimer)){var Nt;(Nt=this.carInertialPosition)==null||Nt.startPositionTimer()}}if(this.options.upload_position){var jt;(jt=this.positionWebSocket)==null||jt.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:B,y:G,floor:j,type:"vision"}),serverData:JSON.stringify(i)})}}}else this.dispatchEvent({type:"floor",floor:i.data.floor,time:i.data.time})})}initSensorWebSocket(){let t=v({},this.options.ext_sensor_params,{token:this.options.access_token,place_id:this.options.place_id,record_sensor:1}),e=Object.keys(t).filter(n=>!Os(t[n])).map(n=>n+"="+t[n]).join("&");this.sensorWebSocket=new rn({url:this.options.wss_sensor_url+"?"+e})}initPdr(){this.options.type===1?(this.carInertialPosition=new Nr,this.carInertialPosition.addEventListener("change-pos",t=>{let{value:e}=t,{pos:n,success:r,speed:i}=e;if(r&&(this.dispatchEvent({type:"position",floor:this.positionFloor,x:n[0],y:n[1],time:Date.now(),speed:i}),this.options.upload_position)){var o;(o=this.positionWebSocket)==null||o.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:n[0],y:n[1],floor:this.positionFloor,type:"vision_pdr"})})}}),this.carInertialPosition.addEventListener("change-compass",t=>{let{value:e}=t;this.dispatchEvent({type:"compass",value:e})})):(this.pdrPosition=new wr(this.bmap,{pdr:{using_gps:this.options.use_gps},sensor:{elements:[U.COMPASS,U.ACCELERATION,U.DEVICE_MOTION].concat(this.options.use_gps?[U.GPS]:[])}}),this.requestDeviceOrientationPermission(),this.options.upload_position&&this.pdrPosition.sensor.addEventListener("sensor-data",t=>{let{data:e}=t;var n;(n=this.positionWebSocket)==null||n.send({command:"UPLOAD_SENSOR",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify(e)})}),this.pdrPosition.sensor.addEventListener("add-data-item",t=>{t.item.type==="compass"&&this.dispatchEvent({type:"compass",value:t.item.res})}),this.pdrPosition.addEventListener("position",t=>{let{x:e,y:n,_type:r}=t;if(console.log("_type",r,e,n,this.positionFloor,this.gpsFloor),r==="gps"&&!this.useGpsFloorTimer){let o=()=>{this.useGpsFloorTimer=this.timer.setTimeout(()=>{this.gpsFloor?this.positionFloor=this.gpsFloor:o()},5e3)};o()}if(this.positionFloor&&(this.dispatchEvent({type:"position",floor:this.positionFloor,x:e,y:n,time:Date.now()}),this.options.upload_position)){var i;(i=this.positionWebSocket)==null||i.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:e,y:n,floor:this.positionFloor,type:r})})}}))}setSensor(t){this.pdrPosition&&this.pdrPosition.setSensor(t)}requestDeviceOrientationPermission(){return g(this,null,function*(){if(this.pdrPosition){let t=yield this.pdrPosition.checkSensor();return t.deviceOrientation?this.pdrPosition.start():(this.dispatchEvent(v({type:"check-sensor"},t)),!t.deviceOrientation&&this.options.use_default_permission),t}else return null})}getGpsFloor(){return g(this,null,function*(){if(this.options.use_gps&&this.options.get_gps_floor_url){let t=yield fetch(this.options.get_gps_floor_url+"/"+this.options.place_id).then(e=>e.json());t.code===200&&(this.gpsFloor=t.data.gps_floor)}})}pausePdr(){if(this.options.type===1){var t;(t=this.carInertialPosition)==null||t.stopPositionTimer()}else{var e;(e=this.pdrPosition)==null||e.pause()}}continuePdr(){if(this.options.type===1)this.carInertialPosition&&(this.carInertialPosition.positionTimer||this.carInertialPosition.startPositionTimer());else{var t;(t=this.pdrPosition)==null||t.continue()}}setPathAngle(t){if(this.options.type===1){var e;(e=this.carInertialPosition)==null||e.setPathAngle(t)}}getForwardAngle(){if(this.options.type===1){var t,e;return(e=(t=this.carInertialPosition)==null?void 0:t.angle)!=null?e:null}else return null}resetPdr(){this.carInertialPosition&&(this.carInertialPosition.history=[],this.carInertialPosition.setPathAngle(0),this.carInertialPosition.speed=0),this.pdrPosition&&this.pdrPosition.pdr.particleFilter.setPosInitFlag(!1)}setPath(t){this.path=t}sendBeacon(t){var e;let n=[];if(ie)n=t.map(i=>{let[o,s]=Mi(i.major);return[i.uuid,s,i.minor,i.rssi,i.accuracy,o]}).filter(i=>i[3]!==0).sort((i,o)=>o[3]-i[3]);else{let i=t.reduce((o,s)=>{var u,l;let[c,h]=Mi(s.major),p=""+h+s.minor;return(u=o)[l=p]||(u[l]=[]),o[p].push(v({},s,{battery:c,major:h})),o},{});Object.entries(i).forEach(o=>{let[s,u]=o,{uuid:l,major:c,minor:h,accuracy:p,battery:f}=u[0];if(u.length>1){let d=u.filter(y=>y.rssi<0),m=d.reduce((y,x)=>y+x.rssi,0);n.push([l,c,h,m/d.length,p,f])}else n.push([l,c,h,u[0].rssi,p,f])})}let r={command:"POSITION",index:this.uploadIndex++,ts:Date.now(),beacons:JSON.stringify([{type:"ibeacon",timestamp:Date.now()/1e3,res:n}]),ext_sensors:JSON.stringify({})};(e=this.sensorWebSocket)==null||e.send(r)}dispose(){var t,e,n,r;this.timer.dispose(),(t=this.positionWebSocket)==null||t.dispose(),this.positionWebSocket=null,(e=this.sensorWebSocket)==null||e.dispose(),this.sensorWebSocket=null,(n=this.pdrPosition)==null||n.dispose(),this.pdrPosition=null,(r=this.carInertialPosition)==null||r.dispose(),this.carInertialPosition=null,super.dispose()}constructor(t,e){super(),this.bmap=t,this.positionWebSocket=null,this.sensorWebSocket=null,this.pdrPosition=null,this.carInertialPosition=null,this.gpsFloor="",this.positionFloor="",this.useGpsFloorTimer=null,this.uploadIndex=0,this.path=null,this.timer=new X;let n=new URLSearchParams(location.search),r=n.get("server_env")||"prod",i={test:"nav-test.aibee.cn",prod:"nav.aibee.cn"},o="wss://"+i[r]+"/aether-walker/indoor/position",s="wss://"+i[r]+"/aether-walker/indoor/sensor";this.options=v({place_id:n.get("place_id"),access_token:n.get("access_token"),env:r,wss_position_url:o,wss_sensor_url:s,get_gps_floor_url:"https://"+i[r]+"/aether-walker/indoor/conf",use_sensor:!1,type:-1,use_gps:!0,use_pdr:!0,upload_position:!0,use_default_permission:!0,ext_position_params:{},ext_sensor_params:{}},e),this.initPositionWebSocket(),this.options.use_sensor&&this.initSensorWebSocket(),this.options.use_pdr&&this.initPdr(),this.options.use_gps&&this.getGpsFloor()}};import"core-js/modules/web.dom-collections.iterator.js";var Us=class extends nt{showMyPosition(t,e){var n;let r=(n=this.bmap.context.currentFloor)==null?void 0:n.getGraphicPosition(t);if(r){let i=new be(this.bmap.context,{autoUpdate:!0,appendToBody:!1});i.div.appendChild(e),i.position.copy(this.bmap.mercatorToWorld(r)),this.myPositionOverlay=i,console.log("graphicPos",r,this)}else console.warn("[showMyPosition] \u6CA1\u6709\u627E\u5230\u56FE\u5143\u6240\u5728\u7684\u4F4D\u7F6E")}hideMyPosition(){this.myPositionOverlay&&(this.myPositionOverlay.dispose(),this.myPositionOverlay=null)}dispose(){this.hideMyPosition()}constructor(...t){super(...t),this.myPositionOverlay=null}};var Fs=class extends nt{highlightPoi(t,e){e===void 0&&(e={icon_size:[40,40],collision_enable:!1}),t.map(r=>this.bmap.getPoiById(r)).filter(r=>!!r).forEach(r=>{var i;(i=r.userData).restore||(i.restore={});for(let u in e)if(u in r.options){var o,s;(o=r.userData.restore)[s=u]||(o[s]=r.options[u]),r.options[u]=e[u]}})}restorePoi(t){t.map(n=>this.bmap.getPoiById(n)).filter(n=>!!n).forEach(n=>{console.log("poi.userData.restore",n.userData.restore);for(let r in n.userData.restore)r in n.options&&(n.options[r]=n.userData.restore[r]);n.userData.restore={}})}};import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.sort.js";var Bs=class extends nt{sortByDistance(t,e,n){return g(this,null,function*(){n===void 0&&(n=!1);let r=[...e];if(n||e.length<20)return yield Promise.all(r.map(i=>g(this,null,function*(){i.distance=yield this._getDistance(t,{floor:i.floor,x:i.center_x,y:i.center_y})}))),r.sort((i,o)=>i.distance-o.distance);{let i=r.sort((s,u)=>{let l=Math.sqrt((s.center_x-t.x)**2+(s.center_y-t.y)**2)+(t.floor===s.floor?0:100),c=Math.sqrt((u.center_x-t.x)**2+(u.center_y-t.y)**2)+(t.floor===u.floor?0:100);return l-c});return[...(yield Promise.all(i.slice(0,20).map(s=>g(this,null,function*(){return s.distance=yield this._getDistance(t,{floor:s.floor,x:s.center_x,y:s.center_y}),s})))).sort((s,u)=>s.distance-u.distance),...i.slice(20)]}})}_getDistance(t,e){return g(this,null,function*(){return this.navPath.getPath({floor:t.floor,coord:[t.x,t.y]},{floor:e.floor,coord:[e.x,e.y]},"",0).then(n=>n.reduce((r,i,o)=>{if(r+=i.distance,o!==n.length-1)switch(i.endType){case"escalator":case"straightLadder":case"staircase":case"ramp":r+=100;break}return r},0)).catch(n=>n==="near"?0:1/0)})}dispose(){super.dispose(),this.needDisposeNavPath&&this.navPath.dispose()}constructor(t,e){if(super(t),this.needDisposeNavPath=!1,e)this.navPath=e;else{this.navPath=new yr;let n=new Le(t);this.needDisposeNavPath=!0,n.load(t.config.apiPath.loadPlaceInfo+"?place_id="+t.config.placeId+"&env=prod").then(r=>g(this,null,function*(){let[i,o]=yield Promise.all([n.getRoadNetworkData(),n.getFacilitiesData()]);this.navPath.setRoadData(i,o.infrastructures)}))}}};export{Le as AibeeLoader,hs as BMap,Ss as BMapSelect,xt as BaseSvg,Nr as CarInertialPosition,_n as ClickHelper,pr as Context,cr as ContextCamera,lr as ContextScene,ar as Control,cs as CrLoader,bs as CrNavPath,ps as Equipment,Q as EventDispatcher,Hi as Events,Pt as Floor,Go as GlbModel,it as Graphic,Rn as GraphicLayer,ue as GroundTexture,Cn as HeatmapElement,Fs as HighlightPoi,st as HooksName,er as HoverHelper,Se as InstancedGraphic,Dn as InstancedModel,We as InstancedParkingSpace,Jn as InstancedWall,vn as KalmanFilter,qn as Lane,Y as Layer,Ze as LineElement,aE as MapTypePolar,qe as MergeAttributeGraphic,le as MergeAttributeGroundTexture,Kn as MergeAttributeLane,Yn as MergeAttributeWall,Wo as MergeGraphic,ce as MergedAttributeGraphicLine,Fn as MergedGraphicLayer,On as MergedModelLayer,In as Model,Rs as MulFloorNavigation,Ps as MulFloorSelect,Es as MulFloors,yr as NavPath,vs as Navigation,be as Overlay,Nn as ParkingLayer,cE as ParkingType,kt as PathDirection,wr as PdrPosition,ae as Poi,$ as Poi2,Pn as PoiLayer,Ln as PoiLayer2,Ds as Position,$e as RENDER_VERSION,Ns as RecommendParkingSpace,ur as Renderer,fo as RoadNetwork,go as RoadNetwork2,U as SENSOR_TYPE,Bo as SelectBox,tr as Selection,xr as Sensor,An as Shadow,rn as Socket,Bs as SortByDistance,Vn as SvgLine,Hn as SvgPolygon,ve as TaskQueue,jn as TextTexture,je as TileLayer,Bn as TileLoader,X as Timer,Qt as TweenUtil,Vi as UA,Us as UseMyPosition,Wn as Wall,yn as WorkerPool,Tp as addAlphaToHexColor,pe as calc_angle,kr as calc_direction,GM as calculateInstantaneousSpeed,Pr as calculateLineDirection,mo as convertToSnakeCase,ze as createCircle,fn as createLine,Kt as createRect,zi as createSvg,pn as createSvgElement,Kf as createThreeBox,Zf as createThreeLine,Gt as darkenColor,_c as defaultConfig,Wt as defaultGraphicOptions,ui as defaultOptions,tl as defaultTextTextureOptions,hp as deviceToVector3,O as dispose,$i as distancePointToSegment,me as generatorKeyByObj,pa as getAngle,Yr as getBorderPoints,hn as getCenter,is as getConfig,tf as getDirectPath,Vr as getDirectionByAngle,Ji as getDistanceByPathPos,N as getLength,pp as getLongestSideDir,fp as getMinEdgeSquare,ht as getPathLength,zt as getPointEdgeIndex,_e as getPosByPathDistance,Fi as hasChinese,zr as hexToRgb,Ui as initDirectionalLight,Di as initLight,un as initShape,$d as instancedGeometiesAttributes,Ip as isAndroid,Zt as isContain,ge as isControl,ie as isIphone,de as isMac,Bi as isPointInPolygon,Jd as isRectangle,us as loadBuildingGround,B1 as loadExternalStreet,ls as loadGraphics,Kd as mergeGraphicGeometries,Fa as mergeGraphicLineGeometries,Qp as moveOnRoute,nn as predictFuturePosition,kM as predictFutureSpeed,fe as proxyOptions,VM as removeOutliers,da as removeWeightPath,re as setCirclePosition,St as setLineStartEnd,ut as setRectPosition,dn as simplifyPath,ki as sleepByRf,Gi as sleepOnePromise,Br as sleepOneRf,Ki as smoothPath,wp as strToNumber,_t as timeoutPromise,Xf as toWebWorker,mn as transformGraphicData,bi as transformSpeed,ye as translatePosToCenter,H as triggerWorker,P as vector3ToDevice,Xp as xhrGet};
23579
+ `],{type:"text/javascript"}),t=URL.createObjectURL(a),e=new Worker(t);return URL.revokeObjectURL(t),e}var Vh={placeId:0,catLotStatusApi:"https://vrapi.aibee.cn/parking/cat-lot-status"},Ns=class{setRoadData(t,e){return H(this.worker,"set_road_info",{roadData:t,facilities:e})}recommend(t){return g(this,null,function*(){let e=yield fetch(this.options.catLotStatusApi,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({place_id:+this.options.placeId})}).then(n=>n.json()).then(n=>n.data.filter(r=>r.status===0));return H(this.worker,"recommend",v({},t,{carLotStatus:e}))})}dispose(){this.worker.terminate()}constructor(t={}){this.worker=Si(),this.options=v({},Vh,t)}};import"core-js/modules/es.json.stringify.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.sort.js";import"core-js/modules/es.array.push.js";import"core-js/modules/web.url-search-params.js";import"core-js/modules/web.url-search-params.delete.js";import"core-js/modules/web.url-search-params.has.js";import"core-js/modules/web.url-search-params.size.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.json.stringify.js";var Hh={url:"",reconnect:!0,heartBeat:2e3,heartMsg:JSON.stringify({command:"PING"}),reconnectTime:3e3,reconnectMaxCount:1e6,noMessageTime:6e3},rn=class extends Q{initWebsocket(){this.ws=new WebSocket(this.options.url),this.ws.onopen=()=>{this.alive=!0,this.startHeart(),this.startOnMessageTimer(),this.stopReconnect(),this.dispatchEvent({type:"open"})},this.ws.onerror=()=>{this.alive=!1,this.ws=null,this.stopHeart(),this.stopOnMessageTimer(),this.startReconnect(),this.registryEvent()},this.ws.onclose=()=>{this.alive=!1,this.ws=null,this.stopHeart(),this.stopOnMessageTimer(),this.startReconnect()},this.ws.onmessage=t=>{this.startOnMessageTimer(),this.dispatchEvent({type:"message",message:t})}}startHeart(){this.stopHeart(),this.heartTimer=this.timer.setInterval(()=>{this.send(this.options.heartMsg)&&this.dispatchEvent({type:"send-heart"})},this.options.heartBeat)}stopHeart(){this.heartTimer&&(this.timer.clearInterval(this.heartTimer),this.heartTimer=null)}startReconnect(t){t===void 0&&(t=this.options.reconnectTime),this.stopReconnect(),this.options.reconnect&&(this.options.reconnectMaxCount--,this.options.reconnectMaxCount>=0&&(this.reconnectTimer=this.timer.setTimeout(()=>{this.initWebsocket()},t)))}stopReconnect(){this.reconnectTimer&&(this.timer.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}startOnMessageTimer(){this.stopOnMessageTimer(),this.noMessageTimer=this.timer.setTimeout(()=>{var t;(t=this.ws)==null||t.close(),this.dispatchEvent({type:"no-message-timeout"})},this.options.noMessageTime)}stopOnMessageTimer(){this.noMessageTimer&&(this.timer.clearTimeout(this.noMessageTimer),this.noMessageTimer=null)}send(t){var e;let n=typeof t=="string"?t:JSON.stringify(t);return this.alive&&((e=this.ws)==null?void 0:e.readyState)===1?(this.ws.send(n),this.dispatchEvent({type:"send-success",msg:n}),!0):(this.dispatchEvent({type:"send-fail",msg:n}),!1)}registryEvent(){window.addEventListener("online",this.onOnline)}unRegistryEvent(){window.removeEventListener("online",this.onOnline)}close(){var t;this.unRegistryEvent(),this.options.reconnect=!1,this.alive=!1,this.stopHeart(),this.stopReconnect(),this.stopOnMessageTimer(),(t=this.ws)==null||t.close(),this.ws=null,this.dispatchEvent({type:"close"})}dispose(){this.close(),this.timer.dispose(),super.dispose()}constructor(t){super(),this.ws=null,this.alive=!1,this.timer=new X,this.heartTimer=null,this.reconnectTimer=null,this.noMessageTimer=null,this.onOnline=()=>{this.startReconnect()},this.options=v({},Hh,t||{}),this.options.url&&this.initWebsocket()}};import{isNil as Os}from"lodash";var Mi=a=>{let t=a.toString(2),e=""+Array(16-t.length+1).join("0")+t,n=parseInt(e.slice(0,4),2)*10,r=parseInt(e.slice(4,16),2);return[n,r]};var Ds=class extends Q{initPositionWebSocket(){let t=v({},this.options.ext_position_params,{place_id:this.options.place_id,token:this.options.access_token}),e=Object.keys(t).filter(n=>!Os(t[n])).map(n=>n+"="+t[n]).join("&");this.positionWebSocket=new rn({url:this.options.wss_position_url+"?"+e}),this.positionWebSocket.addEventListener("message",n=>{let{message:r}=n,i=(()=>{try{return JSON.parse(r.data)}catch(B){return r.data}})();if(this.dispatchEvent({type:"ws-message",data:i}),i.command==="POSITION_RESULT"&&i.data.success)if(["POSITION","FLOOR","PARK_POSITION","AOA"].includes(i.data.success_type)&&this.useGpsFloorTimer&&(this.positionFloor=i.data.floor,this.timer.clearTimeout(this.useGpsFloorTimer),this.useGpsFloorTimer=null),i.data.success_type==="AOA"){let{x:B,y:G,time:Z,floor:j,ts:Tt}=i.data,At=this.positionFloor!==j;if(this.positionFloor=j,this.dispatchEvent({type:"ws-position",floor:j,x:B,y:G,time:Z,_type:"aoa"}),this.options.upload_position){var o;(o=this.positionWebSocket)==null||o.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:B,y:G,floor:j,type:"aoa"}),serverData:JSON.stringify(i)})}if(!this.options.use_pdr){this.dispatchEvent({type:"position",floor:j,x:B,y:G,time:new Date(Tt).getTime()-i.lag-i.duration});return}if(this.options.type!==1){var s;if(At){var u,l,c;(c=this.pdrPosition)==null||(l=c.pdr)==null||(u=l.particleFilter)==null||u.setPosInitFlag(!1)}(s=this.pdrPosition)==null||s.setBeaconPosition({x:B,y:G},new Date(Tt).getTime()-i.lag-i.duration)}else if(At){var h;if(this.resetPdr(),(h=this.carInertialPosition)==null||h.stopPositionTimer(),this.path){let Yt=this.path.findIndex(Oe=>Oe.floor===j),Ot=this.path[Yt];if(Ot){var p;this.resetPdr(),(p=this.carInertialPosition)==null||p.setBeaconPosition(Ot.points[0],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}else{var f;(f=this.carInertialPosition)==null||f.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var d;(d=this.carInertialPosition)==null||d.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var m;(m=this.carInertialPosition)==null||m.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else if(i.data.success_type==="POSITION"){let{x:B,y:G,time:Z,floor:j,ts:Tt}=i.data,At=this.positionFloor!==j;if(this.positionFloor=j,this.dispatchEvent({type:"ws-position",floor:j,x:B,y:G,time:Z,_type:"beacon"}),console.log("positionFloor",j,At),this.options.upload_position){var y;(y=this.positionWebSocket)==null||y.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:B,y:G,floor:j,type:"originBeacon"}),serverData:JSON.stringify(i)})}if(!this.options.use_pdr){this.dispatchEvent({type:"position",floor:j,x:B,y:G,time:new Date(Tt).getTime()-i.lag-i.duration});return}if(this.options.type!==1){var x;if(At){var E,S,A;(A=this.pdrPosition)==null||(S=A.pdr)==null||(E=S.particleFilter)==null||E.setPosInitFlag(!1)}(x=this.pdrPosition)==null||x.setBeaconPosition({x:B,y:G},new Date(Tt).getTime()-i.lag-i.duration)}else if(At){var C;if(this.resetPdr(),(C=this.carInertialPosition)==null||C.stopPositionTimer(),this.path){let Yt=this.path.findIndex(Oe=>Oe.floor===j),Ot=this.path[Yt];if(Ot){var V;this.resetPdr(),(V=this.carInertialPosition)==null||V.setBeaconPosition(Ot.points[0],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}else{var M;(M=this.carInertialPosition)==null||M.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var W;(W=this.carInertialPosition)==null||W.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else{var I;(I=this.carInertialPosition)==null||I.setBeaconPosition([B,G],new Date(Z).getTime()-i.lag-i.duration,i.lag+i.duration)}}else if(i.data.success_type==="PARK_POSITION"&&i.data.success){if(this.options.type===1){let{x:B,y:G,time:Z,floor:j}=i.data,Tt=this.positionFloor!==j;if(this.positionFloor=i.data.floor,this.dispatchEvent({type:"ws-position",floor:j,x:B,y:G,time:Z,_type:"vision"}),!this.options.use_pdr){this.dispatchEvent({type:"position",floor:j,x:B,y:G,time:new Date(Z).getTime()});return}if(Tt){var R;if(this.resetPdr(),(R=this.carInertialPosition)==null||R.stopPositionTimer(),this.path){let At=this.path.findIndex(Ot=>Ot.floor===j),Yt=this.path[At];if(Yt){var T;this.resetPdr(),(T=this.carInertialPosition)==null||T.setPosition(Yt.points[0],new Date(Z).getTime(),i.duration)}else{var F;(F=this.carInertialPosition)==null||F.setPosition([B,G],new Date(Z).getTime(),i.duration)}}else{var q;(q=this.carInertialPosition)==null||q.setPosition([B,G],new Date(Z).getTime(),i.duration)}}else{var z,D;if((z=this.carInertialPosition)==null||z.setPosition([B,G],new Date(Z).getTime(),i.duration),!((D=this.carInertialPosition)!=null&&D.positionTimer)){var Nt;(Nt=this.carInertialPosition)==null||Nt.startPositionTimer()}}if(this.options.upload_position){var jt;(jt=this.positionWebSocket)==null||jt.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:B,y:G,floor:j,type:"vision"}),serverData:JSON.stringify(i)})}}}else this.dispatchEvent({type:"floor",floor:i.data.floor,time:i.data.time})})}initSensorWebSocket(){let t=v({},this.options.ext_sensor_params,{token:this.options.access_token,place_id:this.options.place_id,record_sensor:1}),e=Object.keys(t).filter(n=>!Os(t[n])).map(n=>n+"="+t[n]).join("&");this.sensorWebSocket=new rn({url:this.options.wss_sensor_url+"?"+e})}initPdr(){this.options.type===1?(this.carInertialPosition=new Nr,this.carInertialPosition.addEventListener("change-pos",t=>{let{value:e}=t,{pos:n,success:r,speed:i}=e;if(r&&(this.dispatchEvent({type:"position",floor:this.positionFloor,x:n[0],y:n[1],time:Date.now(),speed:i}),this.options.upload_position)){var o;(o=this.positionWebSocket)==null||o.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:n[0],y:n[1],floor:this.positionFloor,type:"vision_pdr"})})}}),this.carInertialPosition.addEventListener("change-compass",t=>{let{value:e}=t;this.dispatchEvent({type:"compass",value:e})})):(this.pdrPosition=new wr(this.bmap,{pdr:{using_gps:this.options.use_gps},sensor:{elements:[U.COMPASS,U.ACCELERATION,U.DEVICE_MOTION].concat(this.options.use_gps?[U.GPS]:[])}}),this.requestDeviceOrientationPermission(),this.options.upload_position&&this.pdrPosition.sensor.addEventListener("sensor-data",t=>{let{data:e}=t;var n;(n=this.positionWebSocket)==null||n.send({command:"UPLOAD_SENSOR",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify(e)})}),this.pdrPosition.sensor.addEventListener("add-data-item",t=>{t.item.type==="compass"&&this.dispatchEvent({type:"compass",value:t.item.res})}),this.pdrPosition.addEventListener("position",t=>{let{x:e,y:n,_type:r}=t;if(console.log("_type",r,e,n,this.positionFloor,this.gpsFloor),r==="gps"&&!this.useGpsFloorTimer){let o=()=>{this.useGpsFloorTimer=this.timer.setTimeout(()=>{this.gpsFloor?this.positionFloor=this.gpsFloor:o()},5e3)};o()}if(this.positionFloor&&(this.dispatchEvent({type:"position",floor:this.positionFloor,x:e,y:n,time:Date.now()}),this.options.upload_position)){var i;(i=this.positionWebSocket)==null||i.send({command:"UPLOAD_POSITION",ts:Date.now(),index:this.uploadIndex++,data:JSON.stringify({x:e,y:n,floor:this.positionFloor,type:r})})}}))}setSensor(t){this.pdrPosition&&this.pdrPosition.setSensor(t)}requestDeviceOrientationPermission(){return g(this,null,function*(){if(this.pdrPosition){let t=yield this.pdrPosition.checkSensor();return t.deviceOrientation?this.pdrPosition.start():(this.dispatchEvent(v({type:"check-sensor"},t)),!t.deviceOrientation&&this.options.use_default_permission),t}else return null})}getGpsFloor(){return g(this,null,function*(){if(this.options.use_gps&&this.options.get_gps_floor_url){let t=yield fetch(this.options.get_gps_floor_url+"/"+this.options.place_id).then(e=>e.json());t.code===200&&(this.gpsFloor=t.data.gps_floor)}})}pausePdr(){if(this.options.type===1){var t;(t=this.carInertialPosition)==null||t.stopPositionTimer()}else{var e;(e=this.pdrPosition)==null||e.pause()}}continuePdr(){if(this.options.type===1)this.carInertialPosition&&(this.carInertialPosition.positionTimer||this.carInertialPosition.startPositionTimer());else{var t;(t=this.pdrPosition)==null||t.continue()}}setPathAngle(t){if(this.options.type===1){var e;(e=this.carInertialPosition)==null||e.setPathAngle(t)}}getForwardAngle(){if(this.options.type===1){var t,e;return(e=(t=this.carInertialPosition)==null?void 0:t.angle)!=null?e:null}else return null}resetPdr(){this.carInertialPosition&&(this.carInertialPosition.history=[],this.carInertialPosition.setPathAngle(0),this.carInertialPosition.speed=0),this.pdrPosition&&this.pdrPosition.pdr.particleFilter.setPosInitFlag(!1)}setPath(t){this.path=t}sendBeacon(t){var e;let n=[];if(ie)n=t.map(i=>{let[o,s]=Mi(i.major);return[i.uuid,s,i.minor,i.rssi,i.accuracy,o]}).filter(i=>i[3]!==0).sort((i,o)=>o[3]-i[3]);else{let i=t.reduce((o,s)=>{var u,l;let[c,h]=Mi(s.major),p=""+h+s.minor;return(u=o)[l=p]||(u[l]=[]),o[p].push(v({},s,{battery:c,major:h})),o},{});Object.entries(i).forEach(o=>{let[s,u]=o,{uuid:l,major:c,minor:h,accuracy:p,battery:f}=u[0];if(u.length>1){let d=u.filter(y=>y.rssi<0),m=d.reduce((y,x)=>y+x.rssi,0);n.push([l,c,h,m/d.length,p,f])}else n.push([l,c,h,u[0].rssi,p,f])})}let r={command:"POSITION",index:this.uploadIndex++,ts:Date.now(),beacons:JSON.stringify([{type:"ibeacon",timestamp:Date.now()/1e3,res:n}]),ext_sensors:JSON.stringify({})};(e=this.sensorWebSocket)==null||e.send(r)}dispose(){var t,e,n,r;this.timer.dispose(),(t=this.positionWebSocket)==null||t.dispose(),this.positionWebSocket=null,(e=this.sensorWebSocket)==null||e.dispose(),this.sensorWebSocket=null,(n=this.pdrPosition)==null||n.dispose(),this.pdrPosition=null,(r=this.carInertialPosition)==null||r.dispose(),this.carInertialPosition=null,super.dispose()}constructor(t,e){super(),this.bmap=t,this.positionWebSocket=null,this.sensorWebSocket=null,this.pdrPosition=null,this.carInertialPosition=null,this.gpsFloor="",this.positionFloor="",this.useGpsFloorTimer=null,this.uploadIndex=0,this.path=null,this.timer=new X;let n=new URLSearchParams(location.search),r=n.get("server_env")||"prod",i={test:"nav-test.aibee.cn",prod:"nav.aibee.cn"},o="wss://"+i[r]+"/aether-walker/indoor/position",s="wss://"+i[r]+"/aether-walker/indoor/sensor";this.options=v({place_id:n.get("place_id"),access_token:n.get("access_token"),env:r,wss_position_url:o,wss_sensor_url:s,get_gps_floor_url:"https://"+i[r]+"/aether-walker/indoor/conf",use_sensor:!1,type:-1,use_gps:!0,use_pdr:!0,upload_position:!0,use_default_permission:!0,ext_position_params:{},ext_sensor_params:{}},e),this.initPositionWebSocket(),this.options.use_sensor&&this.initSensorWebSocket(),this.options.use_pdr&&this.initPdr(),this.options.use_gps&&this.getGpsFloor()}};import"core-js/modules/web.dom-collections.iterator.js";var Us=class extends nt{showMyPosition(t,e){var n;let r=(n=this.bmap.context.currentFloor)==null?void 0:n.getGraphicPosition(t);if(r){let i=new be(this.bmap.context,{autoUpdate:!0,appendToBody:!1});i.div.appendChild(e),i.position.copy(this.bmap.mercatorToWorld(r)),this.myPositionOverlay=i,console.log("graphicPos",r,this)}else console.warn("[showMyPosition] \u6CA1\u6709\u627E\u5230\u56FE\u5143\u6240\u5728\u7684\u4F4D\u7F6E")}hideMyPosition(){this.myPositionOverlay&&(this.myPositionOverlay.dispose(),this.myPositionOverlay=null)}dispose(){this.hideMyPosition()}constructor(...t){super(...t),this.myPositionOverlay=null}};var Fs=class extends nt{highlightPoi(t,e){e===void 0&&(e={icon_size:[40,40],collision_enable:!1}),t.map(r=>this.bmap.getPoiById(r)).filter(r=>!!r).forEach(r=>{var i;(i=r.userData).restore||(i.restore={});for(let u in e)if(u in r.options){var o,s;(o=r.userData.restore)[s=u]||(o[s]=r.options[u]),r.options[u]=e[u]}})}restorePoi(t){t.map(n=>this.bmap.getPoiById(n)).filter(n=>!!n).forEach(n=>{console.log("poi.userData.restore",n.userData.restore);for(let r in n.userData.restore)r in n.options&&(n.options[r]=n.userData.restore[r]);n.userData.restore={}})}};import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.array.sort.js";var Bs=class extends nt{sortByDistance(t,e,n){return g(this,null,function*(){n===void 0&&(n=!1);let r=[...e];if(n||e.length<20)return yield Promise.all(r.map(i=>g(this,null,function*(){i.distance=yield this._getDistance(t,{floor:i.floor,x:i.center_x,y:i.center_y})}))),r.sort((i,o)=>i.distance-o.distance);{let i=r.sort((s,u)=>{let l=Math.sqrt((s.center_x-t.x)**2+(s.center_y-t.y)**2)+(t.floor===s.floor?0:100),c=Math.sqrt((u.center_x-t.x)**2+(u.center_y-t.y)**2)+(t.floor===u.floor?0:100);return l-c});return[...(yield Promise.all(i.slice(0,20).map(s=>g(this,null,function*(){return s.distance=yield this._getDistance(t,{floor:s.floor,x:s.center_x,y:s.center_y}),s})))).sort((s,u)=>s.distance-u.distance),...i.slice(20)]}})}_getDistance(t,e){return g(this,null,function*(){return this.navPath.getPath({floor:t.floor,coord:[t.x,t.y]},{floor:e.floor,coord:[e.x,e.y]},"",0).then(n=>n.reduce((r,i,o)=>{if(r+=i.distance,o!==n.length-1)switch(i.endType){case"escalator":case"straightLadder":case"staircase":case"ramp":r+=100;break}return r},0)).catch(n=>n==="near"?0:1/0)})}dispose(){super.dispose(),this.needDisposeNavPath&&this.navPath.dispose()}constructor(t,e){if(super(t),this.needDisposeNavPath=!1,e)this.navPath=e;else{this.navPath=new yr;let n=new Le(t);this.needDisposeNavPath=!0,n.load(t.config.apiPath.loadPlaceInfo+"?place_id="+t.config.placeId+"&env=prod").then(r=>g(this,null,function*(){let[i,o]=yield Promise.all([n.getRoadNetworkData(),n.getFacilitiesData()]);this.navPath.setRoadData(i,o.infrastructures)}))}}};export{Le as AibeeLoader,hs as BMap,Ss as BMapSelect,xt as BaseSvg,Nr as CarInertialPosition,_n as ClickHelper,pr as Context,cr as ContextCamera,lr as ContextScene,ar as Control,cs as CrLoader,bs as CrNavPath,ps as Equipment,Q as EventDispatcher,Hi as Events,Pt as Floor,Go as GlbModel,it as Graphic,Rn as GraphicLayer,ue as GroundTexture,Cn as HeatmapElement,Fs as HighlightPoi,st as HooksName,er as HoverHelper,Se as InstancedGraphic,Dn as InstancedModel,We as InstancedParkingSpace,Jn as InstancedWall,vn as KalmanFilter,qn as Lane,Y as Layer,Ze as LineElement,sE as MapTypePolar,qe as MergeAttributeGraphic,le as MergeAttributeGroundTexture,Kn as MergeAttributeLane,Yn as MergeAttributeWall,Wo as MergeGraphic,ce as MergedAttributeGraphicLine,Fn as MergedGraphicLayer,On as MergedModelLayer,In as Model,Rs as MulFloorNavigation,Ps as MulFloorSelect,Es as MulFloors,yr as NavPath,vs as Navigation,be as Overlay,Nn as ParkingLayer,lE as ParkingType,kt as PathDirection,wr as PdrPosition,ae as Poi,$ as Poi2,Pn as PoiLayer,Ln as PoiLayer2,Ds as Position,$e as RENDER_VERSION,Ns as RecommendParkingSpace,ur as Renderer,fo as RoadNetwork,go as RoadNetwork2,U as SENSOR_TYPE,Bo as SelectBox,tr as Selection,xr as Sensor,An as Shadow,rn as Socket,Bs as SortByDistance,Vn as SvgLine,Hn as SvgPolygon,ve as TaskQueue,jn as TextTexture,je as TileLayer,Bn as TileLoader,X as Timer,Qt as TweenUtil,Vi as UA,Us as UseMyPosition,Wn as Wall,yn as WorkerPool,Tp as addAlphaToHexColor,pe as calc_angle,kr as calc_direction,zM as calculateInstantaneousSpeed,Pr as calculateLineDirection,mo as convertToSnakeCase,ze as createCircle,fn as createLine,Kt as createRect,zi as createSvg,pn as createSvgElement,Kf as createThreeBox,Zf as createThreeLine,Gt as darkenColor,_c as defaultConfig,Wt as defaultGraphicOptions,ui as defaultOptions,tl as defaultTextTextureOptions,hp as deviceToVector3,O as dispose,$i as distancePointToSegment,me as generatorKeyByObj,pa as getAngle,Yr as getBorderPoints,hn as getCenter,is as getConfig,tf as getDirectPath,Vr as getDirectionByAngle,Ji as getDistanceByPathPos,N as getLength,pp as getLongestSideDir,fp as getMinEdgeSquare,ht as getPathLength,zt as getPointEdgeIndex,_e as getPosByPathDistance,Fi as hasChinese,zr as hexToRgb,Ui as initDirectionalLight,Di as initLight,un as initShape,$d as instancedGeometiesAttributes,Ip as isAndroid,Zt as isContain,ge as isControl,ie as isIphone,de as isMac,Bi as isPointInPolygon,Jd as isRectangle,us as loadBuildingGround,F1 as loadExternalStreet,ls as loadGraphics,Kd as mergeGraphicGeometries,Fa as mergeGraphicLineGeometries,Qp as moveOnRoute,nn as predictFuturePosition,GM as predictFutureSpeed,fe as proxyOptions,kM as removeOutliers,da as removeWeightPath,re as setCirclePosition,St as setLineStartEnd,ut as setRectPosition,dn as simplifyPath,ki as sleepByRf,Gi as sleepOnePromise,Br as sleepOneRf,Ki as smoothPath,wp as strToNumber,_t as timeoutPromise,Xf as toWebWorker,mn as transformGraphicData,bi as transformSpeed,ye as translatePosToCenter,H as triggerWorker,P as vector3ToDevice,Xp as xhrGet};