@aibee/crc-bmap 0.12.27 → 0.12.28

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.
@@ -3975,7 +3975,7 @@ void main() {
3975
3975
  }
3976
3976
 
3977
3977
  }\`,uh=class{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,i){if(this.texture===null){let r=new $t,s=e.properties.get(r);s.__webglTexture=t.texture,(t.depthNear!=i.depthNear||t.depthFar!=i.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=r}}render(e,t){if(this.texture!==null){if(this.mesh===null){let i=t.cameras[0].viewport,r=new xn({extensions:{fragDepth:!0},vertexShader:tN,fragmentShader:nN,uniforms:{depthColor:{value:this.texture},depthWidth:{value:i.z},depthHeight:{value:i.w}}});this.mesh=new on(new bo(20,20),r)}e.render(this.mesh,t)}}reset(){this.texture=null,this.mesh=null}},hh=class extends ai{constructor(e,t){super();let i=this,r=null,s=1,o=null,a="local-floor",c=1,l=null,u=null,h=null,f=null,m=null,g=null,_=new uh,d=t.getContextAttributes(),p=null,b=null,v=[],E=[],I=new ie,R=null,w=new Gt;w.layers.enable(1),w.viewport=new yt;let B=new Gt;B.layers.enable(2),B.viewport=new yt;let j=[w,B],x=new lh;x.layers.enable(1),x.layers.enable(2);let A=null,re=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(k){let Q=v[k];return Q===void 0&&(Q=new hs,v[k]=Q),Q.getTargetRaySpace()},this.getControllerGrip=function(k){let Q=v[k];return Q===void 0&&(Q=new hs,v[k]=Q),Q.getGripSpace()},this.getHand=function(k){let Q=v[k];return Q===void 0&&(Q=new hs,v[k]=Q),Q.getHandSpace()};function K(k){let Q=E.indexOf(k.inputSource);if(Q===-1)return;let me=v[Q];me!==void 0&&(me.update(k.inputSource,k.frame,l||o),me.dispatchEvent({type:k.type,data:k.inputSource}))}function C(){r.removeEventListener("select",K),r.removeEventListener("selectstart",K),r.removeEventListener("selectend",K),r.removeEventListener("squeeze",K),r.removeEventListener("squeezestart",K),r.removeEventListener("squeezeend",K),r.removeEventListener("end",C),r.removeEventListener("inputsourceschange",W);for(let k=0;k<v.length;k++){let Q=E[k];Q!==null&&(E[k]=null,v[k].disconnect(Q))}A=null,re=null,_.reset(),e.setRenderTarget(p),m=null,f=null,h=null,r=null,b=null,Ie.stop(),i.isPresenting=!1,e.setPixelRatio(R),e.setSize(I.width,I.height,!1),i.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(k){s=k,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(k){a=k,i.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return l||o},this.setReferenceSpace=function(k){l=k},this.getBaseLayer=function(){return f!==null?f:m},this.getBinding=function(){return h},this.getFrame=function(){return g},this.getSession=function(){return r},this.setSession=function(k){return Cs(this,null,function*(){if(r=k,r!==null){if(p=e.getRenderTarget(),r.addEventListener("select",K),r.addEventListener("selectstart",K),r.addEventListener("selectend",K),r.addEventListener("squeeze",K),r.addEventListener("squeezestart",K),r.addEventListener("squeezeend",K),r.addEventListener("end",C),r.addEventListener("inputsourceschange",W),d.xrCompatible!==!0&&(yield t.makeXRCompatible()),R=e.getPixelRatio(),e.getSize(I),r.renderState.layers===void 0||e.capabilities.isWebGL2===!1){let Q={antialias:r.renderState.layers===void 0?d.antialias:!0,alpha:!0,depth:d.depth,stencil:d.stencil,framebufferScaleFactor:s};m=new XRWebGLLayer(r,t,Q),r.updateRenderState({baseLayer:m}),e.setPixelRatio(1),e.setSize(m.framebufferWidth,m.framebufferHeight,!1),b=new Fn(m.framebufferWidth,m.framebufferHeight,{format:an,type:ii,colorSpace:e.outputColorSpace,stencilBuffer:d.stencil})}else{let Q=null,me=null,Ae=null;d.depth&&(Ae=d.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,Q=d.stencil?Tr:Ii,me=d.stencil?Pi:ei);let Me={colorFormat:t.RGBA8,depthFormat:Ae,scaleFactor:s};h=new XRWebGLBinding(r,t),f=h.createProjectionLayer(Me),r.updateRenderState({layers:[f]}),e.setPixelRatio(1),e.setSize(f.textureWidth,f.textureHeight,!1),b=new Fn(f.textureWidth,f.textureHeight,{format:an,type:ii,depthTexture:new Ao(f.textureWidth,f.textureHeight,me,void 0,void 0,void 0,void 0,void 0,void 0,Q),stencilBuffer:d.stencil,colorSpace:e.outputColorSpace,samples:d.antialias?4:0});let ye=e.properties.get(b);ye.__ignoreDepthValues=f.ignoreDepthValues}b.isXRRenderTarget=!0,this.setFoveation(c),l=null,o=yield r.requestReferenceSpace(a),Ie.setContext(r),Ie.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}})},this.getEnvironmentBlendMode=function(){if(r!==null)return r.environmentBlendMode};function W(k){for(let Q=0;Q<k.removed.length;Q++){let me=k.removed[Q],Ae=E.indexOf(me);Ae>=0&&(E[Ae]=null,v[Ae].disconnect(me))}for(let Q=0;Q<k.added.length;Q++){let me=k.added[Q],Ae=E.indexOf(me);if(Ae===-1){for(let ye=0;ye<v.length;ye++)if(ye>=E.length){E.push(me),Ae=ye;break}else if(E[ye]===null){E[ye]=me,Ae=ye;break}if(Ae===-1)break}let Me=v[Ae];Me&&Me.connect(me)}}let G=new U,$=new U;function q(k,Q,me){G.setFromMatrixPosition(Q.matrixWorld),$.setFromMatrixPosition(me.matrixWorld);let Ae=G.distanceTo($),Me=Q.projectionMatrix.elements,ye=me.projectionMatrix.elements,ke=Me[14]/(Me[10]-1),Te=Me[14]/(Me[10]+1),T=(Me[9]+1)/Me[5],oe=(Me[9]-1)/Me[5],Y=(Me[8]-1)/Me[0],se=(ye[8]+1)/ye[0],Z=ke*Y,_e=ke*se,pe=Ae/(-Y+se),xe=pe*-Y;Q.matrixWorld.decompose(k.position,k.quaternion,k.scale),k.translateX(xe),k.translateZ(pe),k.matrixWorld.compose(k.position,k.quaternion,k.scale),k.matrixWorldInverse.copy(k.matrixWorld).invert();let Ge=ke+pe,S=Te+pe,y=Z-xe,V=_e+(Ae-xe),H=T*Te/S*Ge,ee=oe*Te/S*Ge;k.projectionMatrix.makePerspective(y,V,H,ee,Ge,S),k.projectionMatrixInverse.copy(k.projectionMatrix).invert()}function X(k,Q){Q===null?k.matrixWorld.copy(k.matrix):k.matrixWorld.multiplyMatrices(Q.matrixWorld,k.matrix),k.matrixWorldInverse.copy(k.matrixWorld).invert()}this.updateCamera=function(k){if(r===null)return;_.texture!==null&&(k.near=_.depthNear,k.far=_.depthFar),x.near=B.near=w.near=k.near,x.far=B.far=w.far=k.far,(A!==x.near||re!==x.far)&&(r.updateRenderState({depthNear:x.near,depthFar:x.far}),A=x.near,re=x.far,w.near=A,w.far=re,B.near=A,B.far=re,w.updateProjectionMatrix(),B.updateProjectionMatrix(),k.updateProjectionMatrix());let Q=k.parent,me=x.cameras;X(x,Q);for(let Ae=0;Ae<me.length;Ae++)X(me[Ae],Q);me.length===2?q(x,w,B):x.projectionMatrix.copy(w.projectionMatrix),ne(k,x,Q)};function ne(k,Q,me){me===null?k.matrix.copy(Q.matrixWorld):(k.matrix.copy(me.matrixWorld),k.matrix.invert(),k.matrix.multiply(Q.matrixWorld)),k.matrix.decompose(k.position,k.quaternion,k.scale),k.updateMatrixWorld(!0),k.projectionMatrix.copy(Q.projectionMatrix),k.projectionMatrixInverse.copy(Q.projectionMatrixInverse),k.isPerspectiveCamera&&(k.fov=Yu*2*Math.atan(1/k.projectionMatrix.elements[5]),k.zoom=1)}this.getCamera=function(){return x},this.getFoveation=function(){if(!(f===null&&m===null))return c},this.setFoveation=function(k){c=k,f!==null&&(f.fixedFoveation=k),m!==null&&m.fixedFoveation!==void 0&&(m.fixedFoveation=k)},this.hasDepthSensing=function(){return _.texture!==null};let te=null;function ve(k,Q){if(u=Q.getViewerPose(l||o),g=Q,u!==null){let me=u.views;m!==null&&(e.setRenderTargetFramebuffer(b,m.framebuffer),e.setRenderTarget(b));let Ae=!1;me.length!==x.cameras.length&&(x.cameras.length=0,Ae=!0);for(let ye=0;ye<me.length;ye++){let ke=me[ye],Te=null;if(m!==null)Te=m.getViewport(ke);else{let oe=h.getViewSubImage(f,ke);Te=oe.viewport,ye===0&&(e.setRenderTargetTextures(b,oe.colorTexture,f.ignoreDepthValues?void 0:oe.depthStencilTexture),e.setRenderTarget(b))}let T=j[ye];T===void 0&&(T=new Gt,T.layers.enable(ye),T.viewport=new yt,j[ye]=T),T.matrix.fromArray(ke.transform.matrix),T.matrix.decompose(T.position,T.quaternion,T.scale),T.projectionMatrix.fromArray(ke.projectionMatrix),T.projectionMatrixInverse.copy(T.projectionMatrix).invert(),T.viewport.set(Te.x,Te.y,Te.width,Te.height),ye===0&&(x.matrix.copy(T.matrix),x.matrix.decompose(x.position,x.quaternion,x.scale)),Ae===!0&&x.cameras.push(T)}let Me=r.enabledFeatures;if(Me&&Me.includes("depth-sensing")){let ye=h.getDepthInformation(me[0]);ye&&ye.isValid&&ye.texture&&_.init(e,ye,r.renderState)}}for(let me=0;me<v.length;me++){let Ae=E[me],Me=v[me];Ae!==null&&Me!==void 0&&Me.update(Ae,Q,l||o)}_.render(e,x),te&&te(k,Q),Q.detectedPlanes&&i.dispatchEvent({type:"planesdetected",data:Q}),g=null}let Ie=new hy;Ie.setAnimationLoop(ve),this.setAnimationLoop=function(k){te=k},this.dispose=function(){}}},bi=new Ui,iN=new ft;function rN(n,e){function t(d,p){d.matrixAutoUpdate===!0&&d.updateMatrix(),p.value.copy(d.matrix)}function i(d,p){p.color.getRGB(d.fogColor.value,uy(n)),p.isFog?(d.fogNear.value=p.near,d.fogFar.value=p.far):p.isFogExp2&&(d.fogDensity.value=p.density)}function r(d,p,b,v,E){p.isMeshBasicMaterial||p.isMeshLambertMaterial?s(d,p):p.isMeshToonMaterial?(s(d,p),h(d,p)):p.isMeshPhongMaterial?(s(d,p),u(d,p)):p.isMeshStandardMaterial?(s(d,p),f(d,p),p.isMeshPhysicalMaterial&&m(d,p,E)):p.isMeshMatcapMaterial?(s(d,p),g(d,p)):p.isMeshDepthMaterial?s(d,p):p.isMeshDistanceMaterial?(s(d,p),_(d,p)):p.isMeshNormalMaterial?s(d,p):p.isLineBasicMaterial?(o(d,p),p.isLineDashedMaterial&&a(d,p)):p.isPointsMaterial?c(d,p,b,v):p.isSpriteMaterial?l(d,p):p.isShadowMaterial?(d.color.value.copy(p.color),d.opacity.value=p.opacity):p.isShaderMaterial&&(p.uniformsNeedUpdate=!1)}function s(d,p){d.opacity.value=p.opacity,p.color&&d.diffuse.value.copy(p.color),p.emissive&&d.emissive.value.copy(p.emissive).multiplyScalar(p.emissiveIntensity),p.map&&(d.map.value=p.map,t(p.map,d.mapTransform)),p.alphaMap&&(d.alphaMap.value=p.alphaMap,t(p.alphaMap,d.alphaMapTransform)),p.bumpMap&&(d.bumpMap.value=p.bumpMap,t(p.bumpMap,d.bumpMapTransform),d.bumpScale.value=p.bumpScale,p.side===Dt&&(d.bumpScale.value*=-1)),p.normalMap&&(d.normalMap.value=p.normalMap,t(p.normalMap,d.normalMapTransform),d.normalScale.value.copy(p.normalScale),p.side===Dt&&d.normalScale.value.negate()),p.displacementMap&&(d.displacementMap.value=p.displacementMap,t(p.displacementMap,d.displacementMapTransform),d.displacementScale.value=p.displacementScale,d.displacementBias.value=p.displacementBias),p.emissiveMap&&(d.emissiveMap.value=p.emissiveMap,t(p.emissiveMap,d.emissiveMapTransform)),p.specularMap&&(d.specularMap.value=p.specularMap,t(p.specularMap,d.specularMapTransform)),p.alphaTest>0&&(d.alphaTest.value=p.alphaTest);let b=e.get(p),v=b.envMap,E=b.envMapRotation;if(v&&(d.envMap.value=v,bi.copy(E),bi.x*=-1,bi.y*=-1,bi.z*=-1,v.isCubeTexture&&v.isRenderTargetTexture===!1&&(bi.y*=-1,bi.z*=-1),d.envMapRotation.value.setFromMatrix4(iN.makeRotationFromEuler(bi)),d.flipEnvMap.value=v.isCubeTexture&&v.isRenderTargetTexture===!1?-1:1,d.reflectivity.value=p.reflectivity,d.ior.value=p.ior,d.refractionRatio.value=p.refractionRatio),p.lightMap){d.lightMap.value=p.lightMap;let I=n._useLegacyLights===!0?Math.PI:1;d.lightMapIntensity.value=p.lightMapIntensity*I,t(p.lightMap,d.lightMapTransform)}p.aoMap&&(d.aoMap.value=p.aoMap,d.aoMapIntensity.value=p.aoMapIntensity,t(p.aoMap,d.aoMapTransform))}function o(d,p){d.diffuse.value.copy(p.color),d.opacity.value=p.opacity,p.map&&(d.map.value=p.map,t(p.map,d.mapTransform))}function a(d,p){d.dashSize.value=p.dashSize,d.totalSize.value=p.dashSize+p.gapSize,d.scale.value=p.scale}function c(d,p,b,v){d.diffuse.value.copy(p.color),d.opacity.value=p.opacity,d.size.value=p.size*b,d.scale.value=v*.5,p.map&&(d.map.value=p.map,t(p.map,d.uvTransform)),p.alphaMap&&(d.alphaMap.value=p.alphaMap,t(p.alphaMap,d.alphaMapTransform)),p.alphaTest>0&&(d.alphaTest.value=p.alphaTest)}function l(d,p){d.diffuse.value.copy(p.color),d.opacity.value=p.opacity,d.rotation.value=p.rotation,p.map&&(d.map.value=p.map,t(p.map,d.mapTransform)),p.alphaMap&&(d.alphaMap.value=p.alphaMap,t(p.alphaMap,d.alphaMapTransform)),p.alphaTest>0&&(d.alphaTest.value=p.alphaTest)}function u(d,p){d.specular.value.copy(p.specular),d.shininess.value=Math.max(p.shininess,1e-4)}function h(d,p){p.gradientMap&&(d.gradientMap.value=p.gradientMap)}function f(d,p){d.metalness.value=p.metalness,p.metalnessMap&&(d.metalnessMap.value=p.metalnessMap,t(p.metalnessMap,d.metalnessMapTransform)),d.roughness.value=p.roughness,p.roughnessMap&&(d.roughnessMap.value=p.roughnessMap,t(p.roughnessMap,d.roughnessMapTransform)),e.get(p).envMap&&(d.envMapIntensity.value=p.envMapIntensity)}function m(d,p,b){d.ior.value=p.ior,p.sheen>0&&(d.sheenColor.value.copy(p.sheenColor).multiplyScalar(p.sheen),d.sheenRoughness.value=p.sheenRoughness,p.sheenColorMap&&(d.sheenColorMap.value=p.sheenColorMap,t(p.sheenColorMap,d.sheenColorMapTransform)),p.sheenRoughnessMap&&(d.sheenRoughnessMap.value=p.sheenRoughnessMap,t(p.sheenRoughnessMap,d.sheenRoughnessMapTransform))),p.clearcoat>0&&(d.clearcoat.value=p.clearcoat,d.clearcoatRoughness.value=p.clearcoatRoughness,p.clearcoatMap&&(d.clearcoatMap.value=p.clearcoatMap,t(p.clearcoatMap,d.clearcoatMapTransform)),p.clearcoatRoughnessMap&&(d.clearcoatRoughnessMap.value=p.clearcoatRoughnessMap,t(p.clearcoatRoughnessMap,d.clearcoatRoughnessMapTransform)),p.clearcoatNormalMap&&(d.clearcoatNormalMap.value=p.clearcoatNormalMap,t(p.clearcoatNormalMap,d.clearcoatNormalMapTransform),d.clearcoatNormalScale.value.copy(p.clearcoatNormalScale),p.side===Dt&&d.clearcoatNormalScale.value.negate())),p.iridescence>0&&(d.iridescence.value=p.iridescence,d.iridescenceIOR.value=p.iridescenceIOR,d.iridescenceThicknessMinimum.value=p.iridescenceThicknessRange[0],d.iridescenceThicknessMaximum.value=p.iridescenceThicknessRange[1],p.iridescenceMap&&(d.iridescenceMap.value=p.iridescenceMap,t(p.iridescenceMap,d.iridescenceMapTransform)),p.iridescenceThicknessMap&&(d.iridescenceThicknessMap.value=p.iridescenceThicknessMap,t(p.iridescenceThicknessMap,d.iridescenceThicknessMapTransform))),p.transmission>0&&(d.transmission.value=p.transmission,d.transmissionSamplerMap.value=b.texture,d.transmissionSamplerSize.value.set(b.width,b.height),p.transmissionMap&&(d.transmissionMap.value=p.transmissionMap,t(p.transmissionMap,d.transmissionMapTransform)),d.thickness.value=p.thickness,p.thicknessMap&&(d.thicknessMap.value=p.thicknessMap,t(p.thicknessMap,d.thicknessMapTransform)),d.attenuationDistance.value=p.attenuationDistance,d.attenuationColor.value.copy(p.attenuationColor)),p.anisotropy>0&&(d.anisotropyVector.value.set(p.anisotropy*Math.cos(p.anisotropyRotation),p.anisotropy*Math.sin(p.anisotropyRotation)),p.anisotropyMap&&(d.anisotropyMap.value=p.anisotropyMap,t(p.anisotropyMap,d.anisotropyMapTransform))),d.specularIntensity.value=p.specularIntensity,d.specularColor.value.copy(p.specularColor),p.specularColorMap&&(d.specularColorMap.value=p.specularColorMap,t(p.specularColorMap,d.specularColorMapTransform)),p.specularIntensityMap&&(d.specularIntensityMap.value=p.specularIntensityMap,t(p.specularIntensityMap,d.specularIntensityMapTransform))}function g(d,p){p.matcap&&(d.matcap.value=p.matcap)}function _(d,p){let b=e.get(p).light;d.referencePosition.value.setFromMatrixPosition(b.matrixWorld),d.nearDistance.value=b.shadow.camera.near,d.farDistance.value=b.shadow.camera.far}return{refreshFogUniforms:i,refreshMaterialUniforms:r}}function sN(n,e,t,i){let r={},s={},o=[],a=t.isWebGL2?n.getParameter(n.MAX_UNIFORM_BUFFER_BINDINGS):0;function c(b,v){let E=v.program;i.uniformBlockBinding(b,E)}function l(b,v){let E=r[b.id];E===void 0&&(g(b),E=u(b),r[b.id]=E,b.addEventListener("dispose",d));let I=v.program;i.updateUBOMapping(b,I);let R=e.render.frame;s[b.id]!==R&&(f(b),s[b.id]=R)}function u(b){let v=h();b.__bindingPointIndex=v;let E=n.createBuffer(),I=b.__size,R=b.usage;return n.bindBuffer(n.UNIFORM_BUFFER,E),n.bufferData(n.UNIFORM_BUFFER,I,R),n.bindBuffer(n.UNIFORM_BUFFER,null),n.bindBufferBase(n.UNIFORM_BUFFER,v,E),E}function h(){for(let b=0;b<a;b++)if(o.indexOf(b)===-1)return o.push(b),b;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function f(b){let v=r[b.id],E=b.uniforms,I=b.__cache;n.bindBuffer(n.UNIFORM_BUFFER,v);for(let R=0,w=E.length;R<w;R++){let B=Array.isArray(E[R])?E[R]:[E[R]];for(let j=0,x=B.length;j<x;j++){let A=B[j];if(m(A,R,j,I)===!0){let re=A.__offset,K=Array.isArray(A.value)?A.value:[A.value],C=0;for(let W=0;W<K.length;W++){let G=K[W],$=_(G);typeof G=="number"||typeof G=="boolean"?(A.__data[0]=G,n.bufferSubData(n.UNIFORM_BUFFER,re+C,A.__data)):G.isMatrix3?(A.__data[0]=G.elements[0],A.__data[1]=G.elements[1],A.__data[2]=G.elements[2],A.__data[3]=0,A.__data[4]=G.elements[3],A.__data[5]=G.elements[4],A.__data[6]=G.elements[5],A.__data[7]=0,A.__data[8]=G.elements[6],A.__data[9]=G.elements[7],A.__data[10]=G.elements[8],A.__data[11]=0):(G.toArray(A.__data,C),C+=$.storage/Float32Array.BYTES_PER_ELEMENT)}n.bufferSubData(n.UNIFORM_BUFFER,re,A.__data)}}}n.bindBuffer(n.UNIFORM_BUFFER,null)}function m(b,v,E,I){let R=b.value,w=v+"_"+E;if(I[w]===void 0)return typeof R=="number"||typeof R=="boolean"?I[w]=R:I[w]=R.clone(),!0;{let B=I[w];if(typeof R=="number"||typeof R=="boolean"){if(B!==R)return I[w]=R,!0}else if(B.equals(R)===!1)return B.copy(R),!0}return!1}function g(b){let v=b.uniforms,E=0,I=16;for(let w=0,B=v.length;w<B;w++){let j=Array.isArray(v[w])?v[w]:[v[w]];for(let x=0,A=j.length;x<A;x++){let re=j[x],K=Array.isArray(re.value)?re.value:[re.value];for(let C=0,W=K.length;C<W;C++){let G=K[C],$=_(G),q=E%I;q!==0&&I-q<$.boundary&&(E+=I-q),re.__data=new Float32Array($.storage/Float32Array.BYTES_PER_ELEMENT),re.__offset=E,E+=$.storage}}}let R=E%I;return R>0&&(E+=I-R),b.__size=E,b.__cache={},this}function _(b){let v={boundary:0,storage:0};return typeof b=="number"||typeof b=="boolean"?(v.boundary=4,v.storage=4):b.isVector2?(v.boundary=8,v.storage=8):b.isVector3||b.isColor?(v.boundary=16,v.storage=12):b.isVector4?(v.boundary=16,v.storage=16):b.isMatrix3?(v.boundary=48,v.storage=48):b.isMatrix4?(v.boundary=64,v.storage=64):b.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",b),v}function d(b){let v=b.target;v.removeEventListener("dispose",d);let E=o.indexOf(v.__bindingPointIndex);o.splice(E,1),n.deleteBuffer(r[v.id]),delete r[v.id],delete s[v.id]}function p(){for(let b in r)n.deleteBuffer(r[b]);o=[],r={},s={}}return{bind:c,update:l,dispose:p}}var fh=class{constructor(e={}){let{canvas:t=lP(),context:i=null,depth:r=!0,stencil:s=!0,alpha:o=!1,antialias:a=!1,premultipliedAlpha:c=!0,preserveDrawingBuffer:l=!1,powerPreference:u="default",failIfMajorPerformanceCaveat:h=!1}=e;this.isWebGLRenderer=!0;let f;i!==null?f=i.getContextAttributes().alpha:f=o;let m=new Uint32Array(4),g=new Int32Array(4),_=null,d=null,p=[],b=[];this.domElement=t,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=vn,this._useLegacyLights=!1,this.toneMapping=ni,this.toneMappingExposure=1;let v=this,E=!1,I=0,R=0,w=null,B=-1,j=null,x=new yt,A=new yt,re=null,K=new Xe(0),C=0,W=t.width,G=t.height,$=1,q=null,X=null,ne=new yt(0,0,W,G),te=new yt(0,0,W,G),ve=!1,Ie=new So,k=!1,Q=!1,me=null,Ae=new ft,Me=new ie,ye=new U,ke={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function Te(){return w===null?$:1}let T=i;function oe(M,N){for(let F=0;F<M.length;F++){let z=M[F],D=t.getContext(z,N);if(D!==null)return D}return null}try{let M={alpha:!0,depth:r,stencil:s,antialias:a,premultipliedAlpha:c,preserveDrawingBuffer:l,powerPreference:u,failIfMajorPerformanceCaveat:h};if("setAttribute"in t&&t.setAttribute("data-engine",\`three.js r\${Dh}\`),t.addEventListener("webglcontextlost",tt,!1),t.addEventListener("webglcontextrestored",P,!1),t.addEventListener("webglcontextcreationerror",fe,!1),T===null){let N=["webgl2","webgl","experimental-webgl"];if(v.isWebGL1Renderer===!0&&N.shift(),T=oe(N,M),T===null)throw oe(N)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}typeof WebGLRenderingContext!="undefined"&&T instanceof WebGLRenderingContext&&console.warn("THREE.WebGLRenderer: WebGL 1 support was deprecated in r153 and will be removed in r163."),T.getShaderPrecisionFormat===void 0&&(T.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(M){throw console.error("THREE.WebGLRenderer: "+M.message),M}let Y,se,Z,_e,pe,xe,Ge,S,y,V,H,ee,J,Le,Re,le,he,Ue,ae,lt,He,we,Se,be;function Ye(){Y=new ML(T),se=new mL(T,Y,e),Y.init(se),we=new QU(T,Y,se),Z=new KU(T,Y,se),_e=new EL(T),pe=new zU,xe=new jU(T,Y,Z,pe,se,we,_e),Ge=new vL(v),S=new xL(v),y=new PP(T,se),Se=new dL(T,Y,y,se),V=new SL(T,y,_e,Se),H=new RL(T,V,y,_e),ae=new wL(T,se,xe),le=new gL(pe),ee=new BU(v,Ge,S,Y,se,Se,le),J=new rN(v,pe),Le=new VU,Re=new YU(Y,se),Ue=new fL(v,Ge,S,Z,H,f,c),he=new JU(v,H,se),be=new sN(T,_e,se,Z),lt=new pL(T,Y,_e,se),He=new bL(T,Y,_e,se),_e.programs=ee.programs,v.capabilities=se,v.extensions=Y,v.properties=pe,v.renderLists=Le,v.shadowMap=he,v.state=Z,v.info=_e}Ye();let De=new hh(v,T);this.xr=De,this.getContext=function(){return T},this.getContextAttributes=function(){return T.getContextAttributes()},this.forceContextLoss=function(){let M=Y.get("WEBGL_lose_context");M&&M.loseContext()},this.forceContextRestore=function(){let M=Y.get("WEBGL_lose_context");M&&M.restoreContext()},this.getPixelRatio=function(){return $},this.setPixelRatio=function(M){M!==void 0&&($=M,this.setSize(W,G,!1))},this.getSize=function(M){return M.set(W,G)},this.setSize=function(M,N,F=!0){if(De.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}W=M,G=N,t.width=Math.floor(M*$),t.height=Math.floor(N*$),F===!0&&(t.style.width=M+"px",t.style.height=N+"px"),this.setViewport(0,0,M,N)},this.getDrawingBufferSize=function(M){return M.set(W*$,G*$).floor()},this.setDrawingBufferSize=function(M,N,F){W=M,G=N,$=F,t.width=Math.floor(M*F),t.height=Math.floor(N*F),this.setViewport(0,0,M,N)},this.getCurrentViewport=function(M){return M.copy(x)},this.getViewport=function(M){return M.copy(ne)},this.setViewport=function(M,N,F,z){M.isVector4?ne.set(M.x,M.y,M.z,M.w):ne.set(M,N,F,z),Z.viewport(x.copy(ne).multiplyScalar($).round())},this.getScissor=function(M){return M.copy(te)},this.setScissor=function(M,N,F,z){M.isVector4?te.set(M.x,M.y,M.z,M.w):te.set(M,N,F,z),Z.scissor(A.copy(te).multiplyScalar($).round())},this.getScissorTest=function(){return ve},this.setScissorTest=function(M){Z.setScissorTest(ve=M)},this.setOpaqueSort=function(M){q=M},this.setTransparentSort=function(M){X=M},this.getClearColor=function(M){return M.copy(Ue.getClearColor())},this.setClearColor=function(){Ue.setClearColor.apply(Ue,arguments)},this.getClearAlpha=function(){return Ue.getClearAlpha()},this.setClearAlpha=function(){Ue.setClearAlpha.apply(Ue,arguments)},this.clear=function(M=!0,N=!0,F=!0){let z=0;if(M){let D=!1;if(w!==null){let ge=w.texture.format;D=ge===ry||ge===iy||ge===ny}if(D){let ge=w.texture.type,Ee=ge===ii||ge===ei||ge===Oh||ge===Pi||ge===ey||ge===ty,Ce=Ue.getClearColor(),Pe=Ue.getClearAlpha(),Ve=Ce.r,Ne=Ce.g,Oe=Ce.b;Ee?(m[0]=Ve,m[1]=Ne,m[2]=Oe,m[3]=Pe,T.clearBufferuiv(T.COLOR,0,m)):(g[0]=Ve,g[1]=Ne,g[2]=Oe,g[3]=Pe,T.clearBufferiv(T.COLOR,0,g))}else z|=T.COLOR_BUFFER_BIT}N&&(z|=T.DEPTH_BUFFER_BIT),F&&(z|=T.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),T.clear(z)},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(){t.removeEventListener("webglcontextlost",tt,!1),t.removeEventListener("webglcontextrestored",P,!1),t.removeEventListener("webglcontextcreationerror",fe,!1),Le.dispose(),Re.dispose(),pe.dispose(),Ge.dispose(),S.dispose(),H.dispose(),Se.dispose(),be.dispose(),ee.dispose(),he.dispose(),De.dispose(),De.removeEventListener("sessionstart",Ht),De.removeEventListener("sessionend",je),me&&(me.dispose(),me=null),Tt.stop()};function tt(M){M.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),E=!0}function P(){console.log("THREE.WebGLRenderer: Context Restored."),E=!1;let M=_e.autoReset,N=he.enabled,F=he.autoUpdate,z=he.needsUpdate,D=he.type;Ye(),_e.autoReset=M,he.enabled=N,he.autoUpdate=F,he.needsUpdate=z,he.type=D}function fe(M){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",M.statusMessage)}function O(M){let N=M.target;N.removeEventListener("dispose",O),ce(N)}function ce(M){de(M),pe.remove(M)}function de(M){let N=pe.get(M).programs;N!==void 0&&(N.forEach(function(F){ee.releaseProgram(F)}),M.isShaderMaterial&&ee.releaseShaderCache(M))}this.renderBufferDirect=function(M,N,F,z,D,ge){N===null&&(N=ke);let Ee=D.isMesh&&D.matrixWorld.determinant()<0,Ce=Yx(M,N,F,z,D);Z.setMaterial(z,Ee);let Pe=F.index,Ve=1;if(z.wireframe===!0){if(Pe=V.getWireframeAttribute(F),Pe===void 0)return;Ve=2}let Ne=F.drawRange,Oe=F.attributes.position,ct=Ne.start*Ve,Ft=(Ne.start+Ne.count)*Ve;ge!==null&&(ct=Math.max(ct,ge.start*Ve),Ft=Math.min(Ft,(ge.start+ge.count)*Ve)),Pe!==null?(ct=Math.max(ct,0),Ft=Math.min(Ft,Pe.count)):Oe!=null&&(ct=Math.max(ct,0),Ft=Math.min(Ft,Oe.count));let mt=Ft-ct;if(mt<0||mt===1/0)return;Se.setup(D,z,Ce,F,Pe);let Mn,st=lt;if(Pe!==null&&(Mn=y.get(Pe),st=He,st.setIndex(Mn)),D.isMesh)z.wireframe===!0?(Z.setLineWidth(z.wireframeLinewidth*Te()),st.setMode(T.LINES)):st.setMode(T.TRIANGLES);else if(D.isLine){let Fe=z.linewidth;Fe===void 0&&(Fe=1),Z.setLineWidth(Fe*Te()),D.isLineSegments?st.setMode(T.LINES):D.isLineLoop?st.setMode(T.LINE_LOOP):st.setMode(T.LINE_STRIP)}else D.isPoints?st.setMode(T.POINTS):D.isSprite&&st.setMode(T.TRIANGLES);if(D.isBatchedMesh)st.renderMultiDraw(D._multiDrawStarts,D._multiDrawCounts,D._multiDrawCount);else if(D.isInstancedMesh)st.renderInstances(ct,mt,D.count);else if(F.isInstancedBufferGeometry){let Fe=F._maxInstanceCount!==void 0?F._maxInstanceCount:1/0,Wo=Math.min(F.instanceCount,Fe);st.renderInstances(ct,mt,Wo)}else st.render(ct,mt)};function qe(M,N,F){M.transparent===!0&&M.side===Un&&M.forceSinglePass===!1?(M.side=Dt,M.needsUpdate=!0,Rs(M,N,F),M.side=si,M.needsUpdate=!0,Rs(M,N,F),M.side=Un):Rs(M,N,F)}this.compile=function(M,N,F=null){F===null&&(F=M),d=Re.get(F),d.init(),b.push(d),F.traverseVisible(function(D){D.isLight&&D.layers.test(N.layers)&&(d.pushLight(D),D.castShadow&&d.pushShadow(D))}),M!==F&&M.traverseVisible(function(D){D.isLight&&D.layers.test(N.layers)&&(d.pushLight(D),D.castShadow&&d.pushShadow(D))}),d.setupLights(v._useLegacyLights);let z=new Set;return M.traverse(function(D){let ge=D.material;if(ge)if(Array.isArray(ge))for(let Ee=0;Ee<ge.length;Ee++){let Ce=ge[Ee];qe(Ce,F,D),z.add(Ce)}else qe(ge,F,D),z.add(ge)}),b.pop(),d=null,z},this.compileAsync=function(M,N,F=null){let z=this.compile(M,N,F);return new Promise(D=>{function ge(){if(z.forEach(function(Ee){pe.get(Ee).currentProgram.isReady()&&z.delete(Ee)}),z.size===0){D(M);return}setTimeout(ge,10)}Y.get("KHR_parallel_shader_compile")!==null?ge():setTimeout(ge,10)})};let Ke=null;function vt(M){Ke&&Ke(M)}function Ht(){Tt.stop()}function je(){Tt.start()}let Tt=new hy;Tt.setAnimationLoop(vt),typeof self!="undefined"&&Tt.setContext(self),this.setAnimationLoop=function(M){Ke=M,De.setAnimationLoop(M),M===null?Tt.stop():Tt.start()},De.addEventListener("sessionstart",Ht),De.addEventListener("sessionend",je),this.render=function(M,N){if(N!==void 0&&N.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(E===!0)return;M.matrixWorldAutoUpdate===!0&&M.updateMatrixWorld(),N.parent===null&&N.matrixWorldAutoUpdate===!0&&N.updateMatrixWorld(),De.enabled===!0&&De.isPresenting===!0&&(De.cameraAutoUpdate===!0&&De.updateCamera(N),N=De.getCamera()),M.isScene===!0&&M.onBeforeRender(v,M,N,w),d=Re.get(M,b.length),d.init(),b.push(d),Ae.multiplyMatrices(N.projectionMatrix,N.matrixWorldInverse),Ie.setFromProjectionMatrix(Ae),Q=this.localClippingEnabled,k=le.init(this.clippingPlanes,Q),_=Le.get(M,p.length),_.init(),p.push(_),un(M,N,0,v.sortObjects),_.finish(),v.sortObjects===!0&&_.sort(q,X),this.info.render.frame++,k===!0&&le.beginShadows();let F=d.state.shadowsArray;if(he.render(F,M,N),k===!0&&le.endShadows(),this.info.autoReset===!0&&this.info.reset(),(De.enabled===!1||De.isPresenting===!1||De.hasDepthSensing()===!1)&&Ue.render(_,M),d.setupLights(v._useLegacyLights),N.isArrayCamera){let z=N.cameras;for(let D=0,ge=z.length;D<ge;D++){let Ee=z[D];mf(_,M,Ee,Ee.viewport)}}else mf(_,M,N);w!==null&&(xe.updateMultisampleRenderTarget(w),xe.updateRenderTargetMipmap(w)),M.isScene===!0&&M.onAfterRender(v,M,N),Se.resetDefaultState(),B=-1,j=null,b.pop(),b.length>0?d=b[b.length-1]:d=null,p.pop(),p.length>0?_=p[p.length-1]:_=null};function un(M,N,F,z){if(M.visible===!1)return;if(M.layers.test(N.layers)){if(M.isGroup)F=M.renderOrder;else if(M.isLOD)M.autoUpdate===!0&&M.update(N);else if(M.isLight)d.pushLight(M),M.castShadow&&d.pushShadow(M);else if(M.isSprite){if(!M.frustumCulled||Ie.intersectsSprite(M)){z&&ye.setFromMatrixPosition(M.matrixWorld).applyMatrix4(Ae);let Ee=H.update(M),Ce=M.material;Ce.visible&&_.push(M,Ee,Ce,F,ye.z,null)}}else if((M.isMesh||M.isLine||M.isPoints)&&(!M.frustumCulled||Ie.intersectsObject(M))){let Ee=H.update(M),Ce=M.material;if(z&&(M.boundingSphere!==void 0?(M.boundingSphere===null&&M.computeBoundingSphere(),ye.copy(M.boundingSphere.center)):(Ee.boundingSphere===null&&Ee.computeBoundingSphere(),ye.copy(Ee.boundingSphere.center)),ye.applyMatrix4(M.matrixWorld).applyMatrix4(Ae)),Array.isArray(Ce)){let Pe=Ee.groups;for(let Ve=0,Ne=Pe.length;Ve<Ne;Ve++){let Oe=Pe[Ve],ct=Ce[Oe.materialIndex];ct&&ct.visible&&_.push(M,Ee,ct,F,ye.z,Oe)}}else Ce.visible&&_.push(M,Ee,Ce,F,ye.z,null)}}let ge=M.children;for(let Ee=0,Ce=ge.length;Ee<Ce;Ee++)un(ge[Ee],N,F,z)}function mf(M,N,F,z){let D=M.opaque,ge=M.transmissive,Ee=M.transparent;d.setupLightsView(F),k===!0&&le.setGlobalState(v.clippingPlanes,F),ge.length>0&&Xx(D,ge,N,F),z&&Z.viewport(x.copy(z)),D.length>0&&ws(D,N,F),ge.length>0&&ws(ge,N,F),Ee.length>0&&ws(Ee,N,F),Z.buffers.depth.setTest(!0),Z.buffers.depth.setMask(!0),Z.buffers.color.setMask(!0),Z.setPolygonOffset(!1)}function Xx(M,N,F,z){if((F.isScene===!0?F.overrideMaterial:null)!==null)return;let ge=se.isWebGL2;me===null&&(me=new Fn(1,1,{generateMipmaps:!0,type:Y.has("EXT_color_buffer_half_float")?ps:ii,minFilter:wi,samples:ge?4:0})),v.getDrawingBufferSize(Me),ge?me.setSize(Me.x,Me.y):me.setSize($u(Me.x),$u(Me.y));let Ee=v.getRenderTarget();v.setRenderTarget(me),v.getClearColor(K),C=v.getClearAlpha(),C<1&&v.setClearColor(16777215,.5),v.clear();let Ce=v.toneMapping;v.toneMapping=ni,ws(M,F,z),xe.updateMultisampleRenderTarget(me),xe.updateRenderTargetMipmap(me);let Pe=!1;for(let Ve=0,Ne=N.length;Ve<Ne;Ve++){let Oe=N[Ve],ct=Oe.object,Ft=Oe.geometry,mt=Oe.material,Mn=Oe.group;if(mt.side===Un&&ct.layers.test(z.layers)){let st=mt.side;mt.side=Dt,mt.needsUpdate=!0,gf(ct,F,z,Ft,mt,Mn),mt.side=st,mt.needsUpdate=!0,Pe=!0}}Pe===!0&&(xe.updateMultisampleRenderTarget(me),xe.updateRenderTargetMipmap(me)),v.setRenderTarget(Ee),v.setClearColor(K,C),v.toneMapping=Ce}function ws(M,N,F){let z=N.isScene===!0?N.overrideMaterial:null;for(let D=0,ge=M.length;D<ge;D++){let Ee=M[D],Ce=Ee.object,Pe=Ee.geometry,Ve=z===null?Ee.material:z,Ne=Ee.group;Ce.layers.test(F.layers)&&gf(Ce,N,F,Pe,Ve,Ne)}}function gf(M,N,F,z,D,ge){M.onBeforeRender(v,N,F,z,D,ge),M.modelViewMatrix.multiplyMatrices(F.matrixWorldInverse,M.matrixWorld),M.normalMatrix.getNormalMatrix(M.modelViewMatrix),D.onBeforeRender(v,N,F,z,M,ge),D.transparent===!0&&D.side===Un&&D.forceSinglePass===!1?(D.side=Dt,D.needsUpdate=!0,v.renderBufferDirect(F,N,z,D,M,ge),D.side=si,D.needsUpdate=!0,v.renderBufferDirect(F,N,z,D,M,ge),D.side=Un):v.renderBufferDirect(F,N,z,D,M,ge),M.onAfterRender(v,N,F,z,D,ge)}function Rs(M,N,F){N.isScene!==!0&&(N=ke);let z=pe.get(M),D=d.state.lights,ge=d.state.shadowsArray,Ee=D.state.version,Ce=ee.getParameters(M,D.state,ge,N,F),Pe=ee.getProgramCacheKey(Ce),Ve=z.programs;z.environment=M.isMeshStandardMaterial?N.environment:null,z.fog=N.fog,z.envMap=(M.isMeshStandardMaterial?S:Ge).get(M.envMap||z.environment),z.envMapRotation=z.environment!==null&&M.envMap===null?N.environmentRotation:M.envMapRotation,Ve===void 0&&(M.addEventListener("dispose",O),Ve=new Map,z.programs=Ve);let Ne=Ve.get(Pe);if(Ne!==void 0){if(z.currentProgram===Ne&&z.lightsStateVersion===Ee)return _f(M,Ce),Ne}else Ce.uniforms=ee.getUniforms(M),M.onBuild(F,Ce,v),M.onBeforeCompile(Ce,v),Ne=ee.acquireProgram(Ce,Pe),Ve.set(Pe,Ne),z.uniforms=Ce.uniforms;let Oe=z.uniforms;return(!M.isShaderMaterial&&!M.isRawShaderMaterial||M.clipping===!0)&&(Oe.clippingPlanes=le.uniform),_f(M,Ce),z.needsLights=Zx(M),z.lightsStateVersion=Ee,z.needsLights&&(Oe.ambientLightColor.value=D.state.ambient,Oe.lightProbe.value=D.state.probe,Oe.directionalLights.value=D.state.directional,Oe.directionalLightShadows.value=D.state.directionalShadow,Oe.spotLights.value=D.state.spot,Oe.spotLightShadows.value=D.state.spotShadow,Oe.rectAreaLights.value=D.state.rectArea,Oe.ltc_1.value=D.state.rectAreaLTC1,Oe.ltc_2.value=D.state.rectAreaLTC2,Oe.pointLights.value=D.state.point,Oe.pointLightShadows.value=D.state.pointShadow,Oe.hemisphereLights.value=D.state.hemi,Oe.directionalShadowMap.value=D.state.directionalShadowMap,Oe.directionalShadowMatrix.value=D.state.directionalShadowMatrix,Oe.spotShadowMap.value=D.state.spotShadowMap,Oe.spotLightMatrix.value=D.state.spotLightMatrix,Oe.spotLightMap.value=D.state.spotLightMap,Oe.pointShadowMap.value=D.state.pointShadowMap,Oe.pointShadowMatrix.value=D.state.pointShadowMatrix),z.currentProgram=Ne,z.uniformsList=null,Ne}function vf(M){if(M.uniformsList===null){let N=M.currentProgram.getUniforms();M.uniformsList=br.seqWithValue(N.seq,M.uniforms)}return M.uniformsList}function _f(M,N){let F=pe.get(M);F.outputColorSpace=N.outputColorSpace,F.batching=N.batching,F.instancing=N.instancing,F.instancingColor=N.instancingColor,F.instancingMorph=N.instancingMorph,F.skinning=N.skinning,F.morphTargets=N.morphTargets,F.morphNormals=N.morphNormals,F.morphColors=N.morphColors,F.morphTargetsCount=N.morphTargetsCount,F.numClippingPlanes=N.numClippingPlanes,F.numIntersection=N.numClipIntersection,F.vertexAlphas=N.vertexAlphas,F.vertexTangents=N.vertexTangents,F.toneMapping=N.toneMapping}function Yx(M,N,F,z,D){N.isScene!==!0&&(N=ke),xe.resetTextureUnits();let ge=N.fog,Ee=z.isMeshStandardMaterial?N.environment:null,Ce=w===null?v.outputColorSpace:w.isXRRenderTarget===!0?w.texture.colorSpace:ci,Pe=(z.isMeshStandardMaterial?S:Ge).get(z.envMap||Ee),Ve=z.vertexColors===!0&&!!F.attributes.color&&F.attributes.color.itemSize===4,Ne=!!F.attributes.tangent&&(!!z.normalMap||z.anisotropy>0),Oe=!!F.morphAttributes.position,ct=!!F.morphAttributes.normal,Ft=!!F.morphAttributes.color,mt=ni;z.toneMapped&&(w===null||w.isXRRenderTarget===!0)&&(mt=v.toneMapping);let Mn=F.morphAttributes.position||F.morphAttributes.normal||F.morphAttributes.color,st=Mn!==void 0?Mn.length:0,Fe=pe.get(z),Wo=d.state.lights;if(k===!0&&(Q===!0||M!==j)){let Wt=M===j&&z.id===B;le.setState(z,M,Wt)}let nt=!1;z.version===Fe.__version?(Fe.needsLights&&Fe.lightsStateVersion!==Wo.state.version||Fe.outputColorSpace!==Ce||D.isBatchedMesh&&Fe.batching===!1||!D.isBatchedMesh&&Fe.batching===!0||D.isInstancedMesh&&Fe.instancing===!1||!D.isInstancedMesh&&Fe.instancing===!0||D.isSkinnedMesh&&Fe.skinning===!1||!D.isSkinnedMesh&&Fe.skinning===!0||D.isInstancedMesh&&Fe.instancingColor===!0&&D.instanceColor===null||D.isInstancedMesh&&Fe.instancingColor===!1&&D.instanceColor!==null||D.isInstancedMesh&&Fe.instancingMorph===!0&&D.morphTexture===null||D.isInstancedMesh&&Fe.instancingMorph===!1&&D.morphTexture!==null||Fe.envMap!==Pe||z.fog===!0&&Fe.fog!==ge||Fe.numClippingPlanes!==void 0&&(Fe.numClippingPlanes!==le.numPlanes||Fe.numIntersection!==le.numIntersection)||Fe.vertexAlphas!==Ve||Fe.vertexTangents!==Ne||Fe.morphTargets!==Oe||Fe.morphNormals!==ct||Fe.morphColors!==Ft||Fe.toneMapping!==mt||se.isWebGL2===!0&&Fe.morphTargetsCount!==st)&&(nt=!0):(nt=!0,Fe.__version=z.version);let li=Fe.currentProgram;nt===!0&&(li=Rs(z,N,D));let yf=!1,Fr=!1,qo=!1,Mt=li.getUniforms(),ui=Fe.uniforms;if(Z.useProgram(li.program)&&(yf=!0,Fr=!0,qo=!0),z.id!==B&&(B=z.id,Fr=!0),yf||j!==M){Mt.setValue(T,"projectionMatrix",M.projectionMatrix),Mt.setValue(T,"viewMatrix",M.matrixWorldInverse);let Wt=Mt.map.cameraPosition;Wt!==void 0&&Wt.setValue(T,ye.setFromMatrixPosition(M.matrixWorld)),se.logarithmicDepthBuffer&&Mt.setValue(T,"logDepthBufFC",2/(Math.log(M.far+1)/Math.LN2)),(z.isMeshPhongMaterial||z.isMeshToonMaterial||z.isMeshLambertMaterial||z.isMeshBasicMaterial||z.isMeshStandardMaterial||z.isShaderMaterial)&&Mt.setValue(T,"isOrthographic",M.isOrthographicCamera===!0),j!==M&&(j=M,Fr=!0,qo=!0)}if(D.isSkinnedMesh){Mt.setOptional(T,D,"bindMatrix"),Mt.setOptional(T,D,"bindMatrixInverse");let Wt=D.skeleton;Wt&&(se.floatVertexTextures?(Wt.boneTexture===null&&Wt.computeBoneTexture(),Mt.setValue(T,"boneTexture",Wt.boneTexture,xe)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}D.isBatchedMesh&&(Mt.setOptional(T,D,"batchingTexture"),Mt.setValue(T,"batchingTexture",D._matricesTexture,xe));let Xo=F.morphAttributes;if((Xo.position!==void 0||Xo.normal!==void 0||Xo.color!==void 0&&se.isWebGL2===!0)&&ae.update(D,F,li),(Fr||Fe.receiveShadow!==D.receiveShadow)&&(Fe.receiveShadow=D.receiveShadow,Mt.setValue(T,"receiveShadow",D.receiveShadow)),z.isMeshGouraudMaterial&&z.envMap!==null&&(ui.envMap.value=Pe,ui.flipEnvMap.value=Pe.isCubeTexture&&Pe.isRenderTargetTexture===!1?-1:1),Fr&&(Mt.setValue(T,"toneMappingExposure",v.toneMappingExposure),Fe.needsLights&&$x(ui,qo),ge&&z.fog===!0&&J.refreshFogUniforms(ui,ge),J.refreshMaterialUniforms(ui,z,$,G,me),br.upload(T,vf(Fe),ui,xe)),z.isShaderMaterial&&z.uniformsNeedUpdate===!0&&(br.upload(T,vf(Fe),ui,xe),z.uniformsNeedUpdate=!1),z.isSpriteMaterial&&Mt.setValue(T,"center",D.center),Mt.setValue(T,"modelViewMatrix",D.modelViewMatrix),Mt.setValue(T,"normalMatrix",D.normalMatrix),Mt.setValue(T,"modelMatrix",D.matrixWorld),z.isShaderMaterial||z.isRawShaderMaterial){let Wt=z.uniformsGroups;for(let Yo=0,Jx=Wt.length;Yo<Jx;Yo++)if(se.isWebGL2){let xf=Wt[Yo];be.update(xf,li),be.bind(xf,li)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return li}function $x(M,N){M.ambientLightColor.needsUpdate=N,M.lightProbe.needsUpdate=N,M.directionalLights.needsUpdate=N,M.directionalLightShadows.needsUpdate=N,M.pointLights.needsUpdate=N,M.pointLightShadows.needsUpdate=N,M.spotLights.needsUpdate=N,M.spotLightShadows.needsUpdate=N,M.rectAreaLights.needsUpdate=N,M.hemisphereLights.needsUpdate=N}function Zx(M){return M.isMeshLambertMaterial||M.isMeshToonMaterial||M.isMeshPhongMaterial||M.isMeshStandardMaterial||M.isShadowMaterial||M.isShaderMaterial&&M.lights===!0}this.getActiveCubeFace=function(){return I},this.getActiveMipmapLevel=function(){return R},this.getRenderTarget=function(){return w},this.setRenderTargetTextures=function(M,N,F){pe.get(M.texture).__webglTexture=N,pe.get(M.depthTexture).__webglTexture=F;let z=pe.get(M);z.__hasExternalTextures=!0,z.__autoAllocateDepthBuffer=F===void 0,z.__autoAllocateDepthBuffer||Y.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),z.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(M,N){let F=pe.get(M);F.__webglFramebuffer=N,F.__useDefaultFramebuffer=N===void 0},this.setRenderTarget=function(M,N=0,F=0){w=M,I=N,R=F;let z=!0,D=null,ge=!1,Ee=!1;if(M){let Pe=pe.get(M);Pe.__useDefaultFramebuffer!==void 0?(Z.bindFramebuffer(T.FRAMEBUFFER,null),z=!1):Pe.__webglFramebuffer===void 0?xe.setupRenderTarget(M):Pe.__hasExternalTextures&&xe.rebindTextures(M,pe.get(M.texture).__webglTexture,pe.get(M.depthTexture).__webglTexture);let Ve=M.texture;(Ve.isData3DTexture||Ve.isDataArrayTexture||Ve.isCompressedArrayTexture)&&(Ee=!0);let Ne=pe.get(M).__webglFramebuffer;M.isWebGLCubeRenderTarget?(Array.isArray(Ne[N])?D=Ne[N][F]:D=Ne[N],ge=!0):se.isWebGL2&&M.samples>0&&xe.useMultisampledRTT(M)===!1?D=pe.get(M).__webglMultisampledFramebuffer:Array.isArray(Ne)?D=Ne[F]:D=Ne,x.copy(M.viewport),A.copy(M.scissor),re=M.scissorTest}else x.copy(ne).multiplyScalar($).floor(),A.copy(te).multiplyScalar($).floor(),re=ve;if(Z.bindFramebuffer(T.FRAMEBUFFER,D)&&se.drawBuffers&&z&&Z.drawBuffers(M,D),Z.viewport(x),Z.scissor(A),Z.setScissorTest(re),ge){let Pe=pe.get(M.texture);T.framebufferTexture2D(T.FRAMEBUFFER,T.COLOR_ATTACHMENT0,T.TEXTURE_CUBE_MAP_POSITIVE_X+N,Pe.__webglTexture,F)}else if(Ee){let Pe=pe.get(M.texture),Ve=N||0;T.framebufferTextureLayer(T.FRAMEBUFFER,T.COLOR_ATTACHMENT0,Pe.__webglTexture,F||0,Ve)}B=-1},this.readRenderTargetPixels=function(M,N,F,z,D,ge,Ee){if(!(M&&M.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let Ce=pe.get(M).__webglFramebuffer;if(M.isWebGLCubeRenderTarget&&Ee!==void 0&&(Ce=Ce[Ee]),Ce){Z.bindFramebuffer(T.FRAMEBUFFER,Ce);try{let Pe=M.texture,Ve=Pe.format,Ne=Pe.type;if(Ve!==an&&we.convert(Ve)!==T.getParameter(T.IMPLEMENTATION_COLOR_READ_FORMAT)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}let Oe=Ne===ps&&(Y.has("EXT_color_buffer_half_float")||se.isWebGL2&&Y.has("EXT_color_buffer_float"));if(Ne!==ii&&we.convert(Ne)!==T.getParameter(T.IMPLEMENTATION_COLOR_READ_TYPE)&&!(Ne===Nn&&(se.isWebGL2||Y.has("OES_texture_float")||Y.has("WEBGL_color_buffer_float")))&&!Oe){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}N>=0&&N<=M.width-z&&F>=0&&F<=M.height-D&&T.readPixels(N,F,z,D,we.convert(Ve),we.convert(Ne),ge)}finally{let Pe=w!==null?pe.get(w).__webglFramebuffer:null;Z.bindFramebuffer(T.FRAMEBUFFER,Pe)}}},this.copyFramebufferToTexture=function(M,N,F=0){let z=Math.pow(2,-F),D=Math.floor(N.image.width*z),ge=Math.floor(N.image.height*z);xe.setTexture2D(N,0),T.copyTexSubImage2D(T.TEXTURE_2D,F,0,0,M.x,M.y,D,ge),Z.unbindTexture()},this.copyTextureToTexture=function(M,N,F,z=0){let D=N.image.width,ge=N.image.height,Ee=we.convert(F.format),Ce=we.convert(F.type);xe.setTexture2D(F,0),T.pixelStorei(T.UNPACK_FLIP_Y_WEBGL,F.flipY),T.pixelStorei(T.UNPACK_PREMULTIPLY_ALPHA_WEBGL,F.premultiplyAlpha),T.pixelStorei(T.UNPACK_ALIGNMENT,F.unpackAlignment),N.isDataTexture?T.texSubImage2D(T.TEXTURE_2D,z,M.x,M.y,D,ge,Ee,Ce,N.image.data):N.isCompressedTexture?T.compressedTexSubImage2D(T.TEXTURE_2D,z,M.x,M.y,N.mipmaps[0].width,N.mipmaps[0].height,Ee,N.mipmaps[0].data):T.texSubImage2D(T.TEXTURE_2D,z,M.x,M.y,Ee,Ce,N.image),z===0&&F.generateMipmaps&&T.generateMipmap(T.TEXTURE_2D),Z.unbindTexture()},this.copyTextureToTexture3D=function(M,N,F,z,D=0){if(v.isWebGL1Renderer){console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");return}let ge=Math.round(M.max.x-M.min.x),Ee=Math.round(M.max.y-M.min.y),Ce=M.max.z-M.min.z+1,Pe=we.convert(z.format),Ve=we.convert(z.type),Ne;if(z.isData3DTexture)xe.setTexture3D(z,0),Ne=T.TEXTURE_3D;else if(z.isDataArrayTexture||z.isCompressedArrayTexture)xe.setTexture2DArray(z,0),Ne=T.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}T.pixelStorei(T.UNPACK_FLIP_Y_WEBGL,z.flipY),T.pixelStorei(T.UNPACK_PREMULTIPLY_ALPHA_WEBGL,z.premultiplyAlpha),T.pixelStorei(T.UNPACK_ALIGNMENT,z.unpackAlignment);let Oe=T.getParameter(T.UNPACK_ROW_LENGTH),ct=T.getParameter(T.UNPACK_IMAGE_HEIGHT),Ft=T.getParameter(T.UNPACK_SKIP_PIXELS),mt=T.getParameter(T.UNPACK_SKIP_ROWS),Mn=T.getParameter(T.UNPACK_SKIP_IMAGES),st=F.isCompressedTexture?F.mipmaps[D]:F.image;T.pixelStorei(T.UNPACK_ROW_LENGTH,st.width),T.pixelStorei(T.UNPACK_IMAGE_HEIGHT,st.height),T.pixelStorei(T.UNPACK_SKIP_PIXELS,M.min.x),T.pixelStorei(T.UNPACK_SKIP_ROWS,M.min.y),T.pixelStorei(T.UNPACK_SKIP_IMAGES,M.min.z),F.isDataTexture||F.isData3DTexture?T.texSubImage3D(Ne,D,N.x,N.y,N.z,ge,Ee,Ce,Pe,Ve,st.data):z.isCompressedArrayTexture?T.compressedTexSubImage3D(Ne,D,N.x,N.y,N.z,ge,Ee,Ce,Pe,st.data):T.texSubImage3D(Ne,D,N.x,N.y,N.z,ge,Ee,Ce,Pe,Ve,st),T.pixelStorei(T.UNPACK_ROW_LENGTH,Oe),T.pixelStorei(T.UNPACK_IMAGE_HEIGHT,ct),T.pixelStorei(T.UNPACK_SKIP_PIXELS,Ft),T.pixelStorei(T.UNPACK_SKIP_ROWS,mt),T.pixelStorei(T.UNPACK_SKIP_IMAGES,Mn),D===0&&z.generateMipmaps&&T.generateMipmap(Ne),Z.unbindTexture()},this.initTexture=function(M){M.isCubeTexture?xe.setTextureCube(M,0):M.isData3DTexture?xe.setTexture3D(M,0):M.isDataArrayTexture||M.isCompressedArrayTexture?xe.setTexture2DArray(M,0):xe.setTexture2D(M,0),Z.unbindTexture()},this.resetState=function(){I=0,R=0,w=null,Z.reset(),Se.reset()},typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Dn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;let t=this.getContext();t.drawingBufferColorSpace=e===Fh?"display-p3":"srgb",t.unpackColorSpace=Je.workingColorSpace===Lo?"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(e){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=e}},dh=class extends fh{};dh.prototype.isWebGL1Renderer=!0;var To=class{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=qu,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=On()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}get updateRange(){return cy("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let r=0,s=this.stride;r<s;r++)this.array[e+r]=t.array[i+r];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=On()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);let t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(t,this.stride);return i.setUsage(this.usage),i}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=On()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.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}}},Pt=new U,vs=class n{constructor(e,t,i,r=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=i,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,i=this.data.count;t<i;t++)Pt.fromBufferAttribute(this,t),Pt.applyMatrix4(e),this.setXYZ(t,Pt.x,Pt.y,Pt.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;t<i;t++)Pt.fromBufferAttribute(this,t),Pt.applyNormalMatrix(e),this.setXYZ(t,Pt.x,Pt.y,Pt.z);return this}transformDirection(e){for(let t=0,i=this.count;t<i;t++)Pt.fromBufferAttribute(this,t),Pt.transformDirection(e),this.setXYZ(t,Pt.x,Pt.y,Pt.z);return this}getComponent(e,t){let i=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(i=yn(i,this.array)),i}setComponent(e,t,i){return this.normalized&&(i=Ze(i,this.array)),this.data.array[e*this.data.stride+this.offset+t]=i,this}setX(e,t){return this.normalized&&(t=Ze(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=Ze(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=Ze(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=Ze(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=yn(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=yn(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=yn(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=yn(t,this.array)),t}setXY(e,t,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=Ze(t,this.array),i=Ze(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this}setXYZ(e,t,i,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=Ze(t,this.array),i=Ze(i,this.array),r=Ze(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this}setXYZW(e,t,i,r,s){return e=e*this.data.stride+this.offset,this.normalized&&(t=Ze(t,this.array),i=Ze(i,this.array),r=Ze(r,this.array),s=Ze(s,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=r,this.data.array[e+3]=s,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");let t=[];for(let i=0;i<this.count;i++){let r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return new rt(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new n(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");let t=[];for(let i=0;i<this.count;i++){let r=i*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[r+s])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}},ph=class extends Ni{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new Xe(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}},jn,cs=new U,mr=new U,gr=new U,vr=new ie,ls=new ie,vy=new ft,Ka=new U,us=new U,ja=new U,W0=new ie,Du=new ie,q0=new ie,mh=class extends cn{constructor(e=new ph){if(super(),this.isSprite=!0,this.type="Sprite",jn===void 0){jn=new Ot;let t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),i=new To(t,5);jn.setIndex([0,1,2,0,2,3]),jn.setAttribute("position",new vs(i,3,0,!1)),jn.setAttribute("uv",new vs(i,2,3,!1))}this.geometry=jn,this.material=e,this.center=new ie(.5,.5)}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),mr.setFromMatrixScale(this.matrixWorld),vy.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),gr.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&mr.multiplyScalar(-gr.z);let i=this.material.rotation,r,s;i!==0&&(s=Math.cos(i),r=Math.sin(i));let o=this.center;Qa(Ka.set(-.5,-.5,0),gr,o,mr,r,s),Qa(us.set(.5,-.5,0),gr,o,mr,r,s),Qa(ja.set(.5,.5,0),gr,o,mr,r,s),W0.set(0,0),Du.set(1,0),q0.set(1,1);let a=e.ray.intersectTriangle(Ka,us,ja,!1,cs);if(a===null&&(Qa(us.set(-.5,.5,0),gr,o,mr,r,s),Du.set(0,1),a=e.ray.intersectTriangle(Ka,ja,us,!1,cs),a===null))return;let c=e.ray.origin.distanceTo(cs);c<e.near||c>e.far||t.push({distance:c,point:cs.clone(),uv:Ri.getInterpolation(cs,Ka,us,ja,W0,Du,q0,new ie),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}};mh.Dispose=function(){jn.dispose(),jn=void 0};function Qa(n,e,t,i,r,s){vr.subVectors(n,t).addScalar(.5).multiply(i),r!==void 0?(ls.x=s*vr.x-r*vr.y,ls.y=r*vr.x+s*vr.y):ls.copy(vr),n.copy(e),n.x+=ls.x,n.y+=ls.y,n.applyMatrix4(vy)}var Zt=class{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){let i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){let t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){let t=[];for(let i=0;i<=e;i++)t.push(this.getPointAt(i/e));return t}getLength(){let e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;let t=[],i,r=this.getPoint(0),s=0;t.push(0);for(let o=1;o<=e;o++)i=this.getPoint(o/e),s+=i.distanceTo(r),t.push(s),r=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){let i=this.getLengths(),r=0,s=i.length,o;t?o=t:o=e*i[s-1];let a=0,c=s-1,l;for(;a<=c;)if(r=Math.floor(a+(c-a)/2),l=i[r]-o,l<0)a=r+1;else if(l>0)c=r-1;else{c=r;break}if(r=c,i[r]===o)return r/(s-1);let u=i[r],f=i[r+1]-u,m=(o-u)/f;return(r+m)/(s-1)}getTangent(e,t){let r=e-1e-4,s=e+1e-4;r<0&&(r=0),s>1&&(s=1);let o=this.getPoint(r),a=this.getPoint(s),c=t||(o.isVector2?new ie:new U);return c.copy(a).sub(o).normalize(),c}getTangentAt(e,t){let i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){let i=new U,r=[],s=[],o=[],a=new U,c=new ft;for(let m=0;m<=e;m++){let g=m/e;r[m]=this.getTangentAt(g,new U)}s[0]=new U,o[0]=new U;let l=Number.MAX_VALUE,u=Math.abs(r[0].x),h=Math.abs(r[0].y),f=Math.abs(r[0].z);u<=l&&(l=u,i.set(1,0,0)),h<=l&&(l=h,i.set(0,1,0)),f<=l&&i.set(0,0,1),a.crossVectors(r[0],i).normalize(),s[0].crossVectors(r[0],a),o[0].crossVectors(r[0],s[0]);for(let m=1;m<=e;m++){if(s[m]=s[m-1].clone(),o[m]=o[m-1].clone(),a.crossVectors(r[m-1],r[m]),a.length()>Number.EPSILON){a.normalize();let g=Math.acos(At(r[m-1].dot(r[m]),-1,1));s[m].applyMatrix4(c.makeRotationAxis(a,g))}o[m].crossVectors(r[m],s[m])}if(t===!0){let m=Math.acos(At(s[0].dot(s[e]),-1,1));m/=e,r[0].dot(a.crossVectors(s[0],s[e]))>0&&(m=-m);for(let g=1;g<=e;g++)s[g].applyMatrix4(c.makeRotationAxis(r[g],m*g)),o[g].crossVectors(r[g],s[g])}return{tangents:r,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){let e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}},_s=class extends Zt{constructor(e=0,t=0,i=1,r=1,s=0,o=Math.PI*2,a=!1,c=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=r,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=c}getPoint(e,t=new ie){let i=t,r=Math.PI*2,s=this.aEndAngle-this.aStartAngle,o=Math.abs(s)<Number.EPSILON;for(;s<0;)s+=r;for(;s>r;)s-=r;s<Number.EPSILON&&(o?s=0:s=r),this.aClockwise===!0&&!o&&(s===r?s=-r:s=s-r);let a=this.aStartAngle+e*s,c=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(this.aRotation!==0){let u=Math.cos(this.aRotation),h=Math.sin(this.aRotation),f=c-this.aX,m=l-this.aY;c=f*u-m*h+this.aX,l=f*h+m*u+this.aY}return i.set(c,l)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){let e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}},gh=class extends _s{constructor(e,t,i,r,s,o){super(e,t,i,i,r,s,o),this.isArcCurve=!0,this.type="ArcCurve"}};function zh(){let n=0,e=0,t=0,i=0;function r(s,o,a,c){n=s,e=a,t=-3*s+3*o-2*a-c,i=2*s-2*o+a+c}return{initCatmullRom:function(s,o,a,c,l){r(o,a,l*(a-s),l*(c-o))},initNonuniformCatmullRom:function(s,o,a,c,l,u,h){let f=(o-s)/l-(a-s)/(l+u)+(a-o)/u,m=(a-o)/u-(c-o)/(u+h)+(c-a)/h;f*=u,m*=u,r(o,a,f,m)},calc:function(s){let o=s*s,a=o*s;return n+e*s+t*o+i*a}}}var eo=new U,Ou=new zh,Fu=new zh,Bu=new zh,vh=class extends Zt{constructor(e=[],t=!1,i="centripetal",r=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=i,this.tension=r}getPoint(e,t=new U){let i=t,r=this.points,s=r.length,o=(s-(this.closed?0:1))*e,a=Math.floor(o),c=o-a;this.closed?a+=a>0?0:(Math.floor(Math.abs(a)/s)+1)*s:c===0&&a===s-1&&(a=s-2,c=1);let l,u;this.closed||a>0?l=r[(a-1)%s]:(eo.subVectors(r[0],r[1]).add(r[0]),l=eo);let h=r[a%s],f=r[(a+1)%s];if(this.closed||a+2<s?u=r[(a+2)%s]:(eo.subVectors(r[s-1],r[s-2]).add(r[s-1]),u=eo),this.curveType==="centripetal"||this.curveType==="chordal"){let m=this.curveType==="chordal"?.5:.25,g=Math.pow(l.distanceToSquared(h),m),_=Math.pow(h.distanceToSquared(f),m),d=Math.pow(f.distanceToSquared(u),m);_<1e-4&&(_=1),g<1e-4&&(g=_),d<1e-4&&(d=_),Ou.initNonuniformCatmullRom(l.x,h.x,f.x,u.x,g,_,d),Fu.initNonuniformCatmullRom(l.y,h.y,f.y,u.y,g,_,d),Bu.initNonuniformCatmullRom(l.z,h.z,f.z,u.z,g,_,d)}else this.curveType==="catmullrom"&&(Ou.initCatmullRom(l.x,h.x,f.x,u.x,this.tension),Fu.initCatmullRom(l.y,h.y,f.y,u.y,this.tension),Bu.initCatmullRom(l.z,h.z,f.z,u.z,this.tension));return i.set(Ou.calc(c),Fu.calc(c),Bu.calc(c)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){let r=e.points[t];this.points.push(r.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){let r=this.points[t];e.points.push(r.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){let r=e.points[t];this.points.push(new U().fromArray(r))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}};function X0(n,e,t,i,r){let s=(i-e)*.5,o=(r-t)*.5,a=n*n,c=n*a;return(2*t-2*i+s+o)*c+(-3*t+3*i-2*s-o)*a+s*n+t}function aN(n,e){let t=1-n;return t*t*e}function oN(n,e){return 2*(1-n)*n*e}function cN(n,e){return n*n*e}function fs(n,e,t,i){return aN(n,e)+oN(n,t)+cN(n,i)}function lN(n,e){let t=1-n;return t*t*t*e}function uN(n,e){let t=1-n;return 3*t*t*n*e}function hN(n,e){return 3*(1-n)*n*n*e}function fN(n,e){return n*n*n*e}function ds(n,e,t,i,r){return lN(n,e)+uN(n,t)+hN(n,i)+fN(n,r)}var wo=class extends Zt{constructor(e=new ie,t=new ie,i=new ie,r=new ie){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new ie){let i=t,r=this.v0,s=this.v1,o=this.v2,a=this.v3;return i.set(ds(e,r.x,s.x,o.x,a.x),ds(e,r.y,s.y,o.y,a.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},_h=class extends Zt{constructor(e=new U,t=new U,i=new U,r=new U){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=i,this.v3=r}getPoint(e,t=new U){let i=t,r=this.v0,s=this.v1,o=this.v2,a=this.v3;return i.set(ds(e,r.x,s.x,o.x,a.x),ds(e,r.y,s.y,o.y,a.y),ds(e,r.z,s.z,o.z,a.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}},Ro=class extends Zt{constructor(e=new ie,t=new ie){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new ie){let i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new ie){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},yh=class extends Zt{constructor(e=new U,t=new U){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e,t=new U){let i=t;return e===1?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new U){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Co=class extends Zt{constructor(e=new ie,t=new ie,i=new ie){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new ie){let i=t,r=this.v0,s=this.v1,o=this.v2;return i.set(fs(e,r.x,s.x,o.x),fs(e,r.y,s.y,o.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},xh=class extends Zt{constructor(e=new U,t=new U,i=new U){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new U){let i=t,r=this.v0,s=this.v1,o=this.v2;return i.set(fs(e,r.x,s.x,o.x),fs(e,r.y,s.y,o.y),fs(e,r.z,s.z,o.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){let e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}},Po=class extends Zt{constructor(e=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e,t=new ie){let i=t,r=this.points,s=(r.length-1)*e,o=Math.floor(s),a=s-o,c=r[o===0?o:o-1],l=r[o],u=r[o>r.length-2?r.length-1:o+1],h=r[o>r.length-3?r.length-1:o+2];return i.set(X0(a,c.x,l.x,u.x,h.x),X0(a,c.y,l.y,u.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){let r=e.points[t];this.points.push(r.clone())}return this}toJSON(){let e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;t<i;t++){let r=this.points[t];e.points.push(r.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;t<i;t++){let r=e.points[t];this.points.push(new ie().fromArray(r))}return this}},Mh=Object.freeze({__proto__:null,ArcCurve:gh,CatmullRomCurve3:vh,CubicBezierCurve:wo,CubicBezierCurve3:_h,EllipseCurve:_s,LineCurve:Ro,LineCurve3:yh,QuadraticBezierCurve:Co,QuadraticBezierCurve3:xh,SplineCurve:Po}),Sh=class extends Zt{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){let e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){let i=e.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new Mh[i](t,e))}return this}getPoint(e,t){let i=e*this.getLength(),r=this.getCurveLengths(),s=0;for(;s<r.length;){if(r[s]>=i){let o=r[s]-i,a=this.curves[s],c=a.getLength(),l=c===0?0:1-o/c;return a.getPointAt(l,t)}s++}return null}getLength(){let e=this.getCurveLengths();return e[e.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 e=[],t=0;for(let i=0,r=this.curves.length;i<r;i++)t+=this.curves[i].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){let t=[];for(let i=0;i<=e;i++)t.push(this.getPoint(i/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){let t=[],i;for(let r=0,s=this.curves;r<s.length;r++){let o=s[r],a=o.isEllipseCurve?e*2:o.isLineCurve||o.isLineCurve3?1:o.isSplineCurve?e*o.points.length:e,c=o.getPoints(a);for(let l=0;l<c.length;l++){let u=c[l];i&&i.equals(u)||(t.push(u),i=u)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){let r=e.curves[t];this.curves.push(r.clone())}return this.autoClose=e.autoClose,this}toJSON(){let e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,i=this.curves.length;t<i;t++){let r=this.curves[t];e.curves.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,i=e.curves.length;t<i;t++){let r=e.curves[t];this.curves.push(new Mh[r.type]().fromJSON(r))}return this}},Rr=class extends Sh{constructor(e){super(),this.type="Path",this.currentPoint=new ie,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,i=e.length;t<i;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){let i=new Ro(this.currentPoint.clone(),new ie(e,t));return this.curves.push(i),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,i,r){let s=new Co(this.currentPoint.clone(),new ie(e,t),new ie(i,r));return this.curves.push(s),this.currentPoint.set(i,r),this}bezierCurveTo(e,t,i,r,s,o){let a=new wo(this.currentPoint.clone(),new ie(e,t),new ie(i,r),new ie(s,o));return this.curves.push(a),this.currentPoint.set(s,o),this}splineThru(e){let t=[this.currentPoint.clone()].concat(e),i=new Po(t);return this.curves.push(i),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,i,r,s,o){let a=this.currentPoint.x,c=this.currentPoint.y;return this.absarc(e+a,t+c,i,r,s,o),this}absarc(e,t,i,r,s,o){return this.absellipse(e,t,i,i,r,s,o),this}ellipse(e,t,i,r,s,o,a,c){let l=this.currentPoint.x,u=this.currentPoint.y;return this.absellipse(e+l,t+u,i,r,s,o,a,c),this}absellipse(e,t,i,r,s,o,a,c){let l=new _s(e,t,i,r,s,o,a,c);if(this.curves.length>0){let h=l.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(l);let u=l.getPoint(1);return this.currentPoint.copy(u),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){let e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}};var Cr=class extends Rr{constructor(e){super(e),this.uuid=On(),this.type="Shape",this.holes=[]}getPointsHoles(e){let t=[];for(let i=0,r=this.holes.length;i<r;i++)t[i]=this.holes[i].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){let r=e.holes[t];this.holes.push(r.clone())}return this}toJSON(){let e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,i=this.holes.length;t<i;t++){let r=this.holes[t];e.holes.push(r.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,i=e.holes.length;t<i;t++){let r=e.holes[t];this.holes.push(new Rr().fromJSON(r))}return this}},dN={triangulate:function(n,e,t=2){let i=e&&e.length,r=i?e[0]*t:n.length,s=_y(n,0,r,t,!0),o=[];if(!s||s.next===s.prev)return o;let a,c,l,u,h,f,m;if(i&&(s=_N(n,e,s,t)),n.length>80*t){a=l=n[0],c=u=n[1];for(let g=t;g<r;g+=t)h=n[g],f=n[g+1],h<a&&(a=h),f<c&&(c=f),h>l&&(l=h),f>u&&(u=f);m=Math.max(l-a,u-c),m=m!==0?32767/m:0}return ys(s,o,t,a,c,m,0),o}};function _y(n,e,t,i,r){let s,o;if(r===CN(n,e,t,i)>0)for(s=e;s<t;s+=i)o=Y0(s,n[s],n[s+1],o);else for(s=t-i;s>=e;s-=i)o=Y0(s,n[s],n[s+1],o);return o&&No(o,o.next)&&(Ms(o),o=o.next),o}function Di(n,e){if(!n)return n;e||(e=n);let t=n,i;do if(i=!1,!t.steiner&&(No(t,t.next)||ot(t.prev,t,t.next)===0)){if(Ms(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function ys(n,e,t,i,r,s,o){if(!n)return;!o&&s&&bN(n,i,r,s);let a=n,c,l;for(;n.prev!==n.next;){if(c=n.prev,l=n.next,s?mN(n,i,r,s):pN(n)){e.push(c.i/t|0),e.push(n.i/t|0),e.push(l.i/t|0),Ms(n),n=l.next,a=l.next;continue}if(n=l,n===a){o?o===1?(n=gN(Di(n),e,t),ys(n,e,t,i,r,s,2)):o===2&&vN(n,e,t,i,r,s):ys(Di(n),e,t,i,r,s,1);break}}}function pN(n){let e=n.prev,t=n,i=n.next;if(ot(e,t,i)>=0)return!1;let r=e.x,s=t.x,o=i.x,a=e.y,c=t.y,l=i.y,u=r<s?r<o?r:o:s<o?s:o,h=a<c?a<l?a:l:c<l?c:l,f=r>s?r>o?r:o:s>o?s:o,m=a>c?a>l?a:l:c>l?c:l,g=i.next;for(;g!==e;){if(g.x>=u&&g.x<=f&&g.y>=h&&g.y<=m&&xr(r,a,s,c,o,l,g.x,g.y)&&ot(g.prev,g,g.next)>=0)return!1;g=g.next}return!0}function mN(n,e,t,i){let r=n.prev,s=n,o=n.next;if(ot(r,s,o)>=0)return!1;let a=r.x,c=s.x,l=o.x,u=r.y,h=s.y,f=o.y,m=a<c?a<l?a:l:c<l?c:l,g=u<h?u<f?u:f:h<f?h:f,_=a>c?a>l?a:l:c>l?c:l,d=u>h?u>f?u:f:h>f?h:f,p=bh(m,g,e,t,i),b=bh(_,d,e,t,i),v=n.prevZ,E=n.nextZ;for(;v&&v.z>=p&&E&&E.z<=b;){if(v.x>=m&&v.x<=_&&v.y>=g&&v.y<=d&&v!==r&&v!==o&&xr(a,u,c,h,l,f,v.x,v.y)&&ot(v.prev,v,v.next)>=0||(v=v.prevZ,E.x>=m&&E.x<=_&&E.y>=g&&E.y<=d&&E!==r&&E!==o&&xr(a,u,c,h,l,f,E.x,E.y)&&ot(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;v&&v.z>=p;){if(v.x>=m&&v.x<=_&&v.y>=g&&v.y<=d&&v!==r&&v!==o&&xr(a,u,c,h,l,f,v.x,v.y)&&ot(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;E&&E.z<=b;){if(E.x>=m&&E.x<=_&&E.y>=g&&E.y<=d&&E!==r&&E!==o&&xr(a,u,c,h,l,f,E.x,E.y)&&ot(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function gN(n,e,t){let i=n;do{let r=i.prev,s=i.next.next;!No(r,s)&&yy(r,i,i.next,s)&&xs(r,s)&&xs(s,r)&&(e.push(r.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Ms(i),Ms(i.next),i=n=s),i=i.next}while(i!==n);return Di(i)}function vN(n,e,t,i,r,s){let o=n;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&TN(o,a)){let c=xy(o,a);o=Di(o,o.next),c=Di(c,c.next),ys(o,e,t,i,r,s,0),ys(c,e,t,i,r,s,0);return}a=a.next}o=o.next}while(o!==n)}function _N(n,e,t,i){let r=[],s,o,a,c,l;for(s=0,o=e.length;s<o;s++)a=e[s]*i,c=s<o-1?e[s+1]*i:n.length,l=_y(n,a,c,i,!1),l===l.next&&(l.steiner=!0),r.push(AN(l));for(r.sort(yN),s=0;s<r.length;s++)t=xN(r[s],t);return t}function yN(n,e){return n.x-e.x}function xN(n,e){let t=MN(n,e);if(!t)return e;let i=xy(t,n);return Di(i,i.next),Di(t,t.next)}function MN(n,e){let t=e,i=-1/0,r,s=n.x,o=n.y;do{if(o<=t.y&&o>=t.next.y&&t.next.y!==t.y){let f=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(f<=s&&f>i&&(i=f,r=t.x<t.next.x?t:t.next,f===s))return r}t=t.next}while(t!==e);if(!r)return null;let a=r,c=r.x,l=r.y,u=1/0,h;t=r;do s>=t.x&&t.x>=c&&s!==t.x&&xr(o<l?s:i,o,c,l,o<l?i:s,o,t.x,t.y)&&(h=Math.abs(o-t.y)/(s-t.x),xs(t,n)&&(h<u||h===u&&(t.x>r.x||t.x===r.x&&SN(r,t)))&&(r=t,u=h)),t=t.next;while(t!==a);return r}function SN(n,e){return ot(n.prev,n,e.prev)<0&&ot(e.next,n,n.next)<0}function bN(n,e,t,i){let r=n;do r.z===0&&(r.z=bh(r.x,r.y,e,t,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==n);r.prevZ.nextZ=null,r.prevZ=null,EN(r)}function EN(n){let e,t,i,r,s,o,a,c,l=1;do{for(t=n,n=null,s=null,o=0;t;){for(o++,i=t,a=0,e=0;e<l&&(a++,i=i.nextZ,!!i);e++);for(c=l;a>0||c>0&&i;)a!==0&&(c===0||!i||t.z<=i.z)?(r=t,t=t.nextZ,a--):(r=i,i=i.nextZ,c--),s?s.nextZ=r:n=r,r.prevZ=s,s=r;t=i}s.nextZ=null,l*=2}while(o>1);return n}function bh(n,e,t,i,r){return n=(n-t)*r|0,e=(e-i)*r|0,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,n|e<<1}function AN(n){let e=n,t=n;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==n);return t}function xr(n,e,t,i,r,s,o,a){return(r-o)*(e-a)>=(n-o)*(s-a)&&(n-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(s-a)>=(r-o)*(i-a)}function TN(n,e){return n.next.i!==e.i&&n.prev.i!==e.i&&!wN(n,e)&&(xs(n,e)&&xs(e,n)&&RN(n,e)&&(ot(n.prev,n,e.prev)||ot(n,e.prev,e))||No(n,e)&&ot(n.prev,n,n.next)>0&&ot(e.prev,e,e.next)>0)}function ot(n,e,t){return(e.y-n.y)*(t.x-e.x)-(e.x-n.x)*(t.y-e.y)}function No(n,e){return n.x===e.x&&n.y===e.y}function yy(n,e,t,i){let r=no(ot(n,e,t)),s=no(ot(n,e,i)),o=no(ot(t,i,n)),a=no(ot(t,i,e));return!!(r!==s&&o!==a||r===0&&to(n,t,e)||s===0&&to(n,i,e)||o===0&&to(t,n,i)||a===0&&to(t,e,i))}function to(n,e,t){return e.x<=Math.max(n.x,t.x)&&e.x>=Math.min(n.x,t.x)&&e.y<=Math.max(n.y,t.y)&&e.y>=Math.min(n.y,t.y)}function no(n){return n>0?1:n<0?-1:0}function wN(n,e){let t=n;do{if(t.i!==n.i&&t.next.i!==n.i&&t.i!==e.i&&t.next.i!==e.i&&yy(t,t.next,n,e))return!0;t=t.next}while(t!==n);return!1}function xs(n,e){return ot(n.prev,n,n.next)<0?ot(n,e,n.next)>=0&&ot(n,n.prev,e)>=0:ot(n,e,n.prev)<0||ot(n,n.next,e)<0}function RN(n,e){let t=n,i=!1,r=(n.x+e.x)/2,s=(n.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&r<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==n);return i}function xy(n,e){let t=new Eh(n.i,n.x,n.y),i=new Eh(e.i,e.x,e.y),r=n.next,s=e.prev;return n.next=e,e.prev=n,t.next=r,r.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function Y0(n,e,t,i){let r=new Eh(n,e,t);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Ms(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 Eh(n,e,t){this.i=n,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function CN(n,e,t,i){let r=0;for(let s=e,o=t-i;s<t;s+=i)r+=(n[o]-n[s])*(n[s+1]+n[o+1]),o=s;return r}var ri=class n{static area(e){let t=e.length,i=0;for(let r=t-1,s=0;s<t;r=s++)i+=e[r].x*e[s].y-e[s].x*e[r].y;return i*.5}static isClockWise(e){return n.area(e)<0}static triangulateShape(e,t){let i=[],r=[],s=[];$0(e),Z0(i,e);let o=e.length;t.forEach($0);for(let c=0;c<t.length;c++)r.push(o),o+=t[c].length,Z0(i,t[c]);let a=dN.triangulate(i,r);for(let c=0;c<a.length;c+=3)s.push(a.slice(c,c+3));return s}};function $0(n){let e=n.length;e>2&&n[e-1].equals(n[0])&&n.pop()}function Z0(n,e){for(let t=0;t<e.length;t++)n.push(e[t].x),n.push(e[t].y)}var Pr=class n extends Ot{constructor(e=new Cr([new ie(.5,.5),new ie(-.5,.5),new ie(-.5,-.5),new ie(.5,-.5)]),t={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];let i=this,r=[],s=[];for(let a=0,c=e.length;a<c;a++){let l=e[a];o(l)}this.setAttribute("position",new xt(r,3)),this.setAttribute("uv",new xt(s,2)),this.computeVertexNormals();function o(a){let c=[],l=t.curveSegments!==void 0?t.curveSegments:12,u=t.steps!==void 0?t.steps:1,h=t.depth!==void 0?t.depth:1,f=t.bevelEnabled!==void 0?t.bevelEnabled:!0,m=t.bevelThickness!==void 0?t.bevelThickness:.2,g=t.bevelSize!==void 0?t.bevelSize:m-.1,_=t.bevelOffset!==void 0?t.bevelOffset:0,d=t.bevelSegments!==void 0?t.bevelSegments:3,p=t.extrudePath,b=t.UVGenerator!==void 0?t.UVGenerator:PN,v,E=!1,I,R,w,B;p&&(v=p.getSpacedPoints(u),E=!0,f=!1,I=p.computeFrenetFrames(u,!1),R=new U,w=new U,B=new U),f||(d=0,m=0,g=0,_=0);let j=a.extractPoints(l),x=j.shape,A=j.holes;if(!ri.isClockWise(x)){x=x.reverse();for(let T=0,oe=A.length;T<oe;T++){let Y=A[T];ri.isClockWise(Y)&&(A[T]=Y.reverse())}}let K=ri.triangulateShape(x,A),C=x;for(let T=0,oe=A.length;T<oe;T++){let Y=A[T];x=x.concat(Y)}function W(T,oe,Y){return oe||console.error("THREE.ExtrudeGeometry: vec does not exist"),T.clone().addScaledVector(oe,Y)}let G=x.length,$=K.length;function q(T,oe,Y){let se,Z,_e,pe=T.x-oe.x,xe=T.y-oe.y,Ge=Y.x-T.x,S=Y.y-T.y,y=pe*pe+xe*xe,V=pe*S-xe*Ge;if(Math.abs(V)>Number.EPSILON){let H=Math.sqrt(y),ee=Math.sqrt(Ge*Ge+S*S),J=oe.x-xe/H,Le=oe.y+pe/H,Re=Y.x-S/ee,le=Y.y+Ge/ee,he=((Re-J)*S-(le-Le)*Ge)/(pe*S-xe*Ge);se=J+pe*he-T.x,Z=Le+xe*he-T.y;let Ue=se*se+Z*Z;if(Ue<=2)return new ie(se,Z);_e=Math.sqrt(Ue/2)}else{let H=!1;pe>Number.EPSILON?Ge>Number.EPSILON&&(H=!0):pe<-Number.EPSILON?Ge<-Number.EPSILON&&(H=!0):Math.sign(xe)===Math.sign(S)&&(H=!0),H?(se=-xe,Z=pe,_e=Math.sqrt(y)):(se=pe,Z=xe,_e=Math.sqrt(y/2))}return new ie(se/_e,Z/_e)}let X=[];for(let T=0,oe=C.length,Y=oe-1,se=T+1;T<oe;T++,Y++,se++)Y===oe&&(Y=0),se===oe&&(se=0),X[T]=q(C[T],C[Y],C[se]);let ne=[],te,ve=X.concat();for(let T=0,oe=A.length;T<oe;T++){let Y=A[T];te=[];for(let se=0,Z=Y.length,_e=Z-1,pe=se+1;se<Z;se++,_e++,pe++)_e===Z&&(_e=0),pe===Z&&(pe=0),te[se]=q(Y[se],Y[_e],Y[pe]);ne.push(te),ve=ve.concat(te)}for(let T=0;T<d;T++){let oe=T/d,Y=m*Math.cos(oe*Math.PI/2),se=g*Math.sin(oe*Math.PI/2)+_;for(let Z=0,_e=C.length;Z<_e;Z++){let pe=W(C[Z],X[Z],se);Ae(pe.x,pe.y,-Y)}for(let Z=0,_e=A.length;Z<_e;Z++){let pe=A[Z];te=ne[Z];for(let xe=0,Ge=pe.length;xe<Ge;xe++){let S=W(pe[xe],te[xe],se);Ae(S.x,S.y,-Y)}}}let Ie=g+_;for(let T=0;T<G;T++){let oe=f?W(x[T],ve[T],Ie):x[T];E?(w.copy(I.normals[0]).multiplyScalar(oe.x),R.copy(I.binormals[0]).multiplyScalar(oe.y),B.copy(v[0]).add(w).add(R),Ae(B.x,B.y,B.z)):Ae(oe.x,oe.y,0)}for(let T=1;T<=u;T++)for(let oe=0;oe<G;oe++){let Y=f?W(x[oe],ve[oe],Ie):x[oe];E?(w.copy(I.normals[T]).multiplyScalar(Y.x),R.copy(I.binormals[T]).multiplyScalar(Y.y),B.copy(v[T]).add(w).add(R),Ae(B.x,B.y,B.z)):Ae(Y.x,Y.y,h/u*T)}for(let T=d-1;T>=0;T--){let oe=T/d,Y=m*Math.cos(oe*Math.PI/2),se=g*Math.sin(oe*Math.PI/2)+_;for(let Z=0,_e=C.length;Z<_e;Z++){let pe=W(C[Z],X[Z],se);Ae(pe.x,pe.y,h+Y)}for(let Z=0,_e=A.length;Z<_e;Z++){let pe=A[Z];te=ne[Z];for(let xe=0,Ge=pe.length;xe<Ge;xe++){let S=W(pe[xe],te[xe],se);E?Ae(S.x,S.y+v[u-1].y,v[u-1].x+Y):Ae(S.x,S.y,h+Y)}}}k(),Q();function k(){let T=r.length/3;if(f){let oe=0,Y=G*oe;for(let se=0;se<$;se++){let Z=K[se];Me(Z[2]+Y,Z[1]+Y,Z[0]+Y)}oe=u+d*2,Y=G*oe;for(let se=0;se<$;se++){let Z=K[se];Me(Z[0]+Y,Z[1]+Y,Z[2]+Y)}}else{for(let oe=0;oe<$;oe++){let Y=K[oe];Me(Y[2],Y[1],Y[0])}for(let oe=0;oe<$;oe++){let Y=K[oe];Me(Y[0]+G*u,Y[1]+G*u,Y[2]+G*u)}}i.addGroup(T,r.length/3-T,0)}function Q(){let T=r.length/3,oe=0;me(C,oe),oe+=C.length;for(let Y=0,se=A.length;Y<se;Y++){let Z=A[Y];me(Z,oe),oe+=Z.length}i.addGroup(T,r.length/3-T,1)}function me(T,oe){let Y=T.length;for(;--Y>=0;){let se=Y,Z=Y-1;Z<0&&(Z=T.length-1);for(let _e=0,pe=u+d*2;_e<pe;_e++){let xe=G*_e,Ge=G*(_e+1),S=oe+se+xe,y=oe+Z+xe,V=oe+Z+Ge,H=oe+se+Ge;ye(S,y,V,H)}}}function Ae(T,oe,Y){c.push(T),c.push(oe),c.push(Y)}function Me(T,oe,Y){ke(T),ke(oe),ke(Y);let se=r.length/3,Z=b.generateTopUV(i,r,se-3,se-2,se-1);Te(Z[0]),Te(Z[1]),Te(Z[2])}function ye(T,oe,Y,se){ke(T),ke(oe),ke(se),ke(oe),ke(Y),ke(se);let Z=r.length/3,_e=b.generateSideWallUV(i,r,Z-6,Z-3,Z-2,Z-1);Te(_e[0]),Te(_e[1]),Te(_e[3]),Te(_e[1]),Te(_e[2]),Te(_e[3])}function ke(T){r.push(c[T*3+0]),r.push(c[T*3+1]),r.push(c[T*3+2])}function Te(T){s.push(T.x),s.push(T.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON(),t=this.parameters.shapes,i=this.parameters.options;return IN(t,i,e)}static fromJSON(e,t){let i=[];for(let s=0,o=e.shapes.length;s<o;s++){let a=t[e.shapes[s]];i.push(a)}let r=e.options.extrudePath;return r!==void 0&&(e.options.extrudePath=new Mh[r.type]().fromJSON(r)),new n(i,e.options)}},PN={generateTopUV:function(n,e,t,i,r){let s=e[t*3],o=e[t*3+1],a=e[i*3],c=e[i*3+1],l=e[r*3],u=e[r*3+1];return[new ie(s,o),new ie(a,c),new ie(l,u)]},generateSideWallUV:function(n,e,t,i,r,s){let o=e[t*3],a=e[t*3+1],c=e[t*3+2],l=e[i*3],u=e[i*3+1],h=e[i*3+2],f=e[r*3],m=e[r*3+1],g=e[r*3+2],_=e[s*3],d=e[s*3+1],p=e[s*3+2];return Math.abs(a-u)<Math.abs(o-l)?[new ie(o,1-c),new ie(l,1-h),new ie(f,1-g),new ie(_,1-p)]:[new ie(a,1-c),new ie(u,1-h),new ie(m,1-g),new ie(d,1-p)]}};function IN(n,e,t){if(t.shapes=[],Array.isArray(n))for(let i=0,r=n.length;i<r;i++){let s=n[i];t.shapes.push(s.uuid)}else t.shapes.push(n.uuid);return t.options=Object.assign({},e),e.extrudePath!==void 0&&(t.options.extrudePath=e.extrudePath.toJSON()),t}var Ss=class n extends Ot{constructor(e=new Cr([new ie(0,.5),new ie(-.5,-.5),new ie(.5,-.5)]),t=12){super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};let i=[],r=[],s=[],o=[],a=0,c=0;if(Array.isArray(e)===!1)l(e);else for(let u=0;u<e.length;u++)l(e[u]),this.addGroup(a,c,u),a+=c,c=0;this.setIndex(i),this.setAttribute("position",new xt(r,3)),this.setAttribute("normal",new xt(s,3)),this.setAttribute("uv",new xt(o,2));function l(u){let h=r.length/3,f=u.extractPoints(t),m=f.shape,g=f.holes;ri.isClockWise(m)===!1&&(m=m.reverse());for(let d=0,p=g.length;d<p;d++){let b=g[d];ri.isClockWise(b)===!0&&(g[d]=b.reverse())}let _=ri.triangulateShape(m,g);for(let d=0,p=g.length;d<p;d++){let b=g[d];m=m.concat(b)}for(let d=0,p=m.length;d<p;d++){let b=m[d];r.push(b.x,b.y,0),s.push(0,0,1),o.push(b.x,b.y)}for(let d=0,p=_.length;d<p;d++){let b=_[d],v=b[0]+h,E=b[1]+h,I=b[2]+h;i.push(v,E,I),c+=3}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){let e=super.toJSON(),t=this.parameters.shapes;return LN(t,e)}static fromJSON(e,t){let i=[];for(let r=0,s=e.shapes.length;r<s;r++){let o=t[e.shapes[r]];i.push(o)}return new n(i,e.curveSegments)}};function LN(n,e){if(e.shapes=[],Array.isArray(n))for(let t=0,i=n.length;t<i;t++){let r=n[t];e.shapes.push(r.uuid)}else e.shapes.push(n.uuid);return e}function io(n,e,t){return!n||!t&&n.constructor===e?n:typeof e.BYTES_PER_ELEMENT=="number"?new e(n):Array.prototype.slice.call(n)}function UN(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}var Ir=class{constructor(e,t,i,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=r!==void 0?r:new t.constructor(i),this.sampleValues=t,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(e){let t=this.parameterPositions,i=this._cachedIndex,r=t[i],s=t[i-1];n:{e:{let o;t:{i:if(!(e<r)){for(let a=i+2;;){if(r===void 0){if(e<s)break i;return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}if(i===a)break;if(s=r,r=t[++i],e<r)break e}o=t.length;break t}if(!(e>=s)){let a=t[1];e<a&&(i=2,s=a);for(let c=i-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===c)break;if(r=s,s=t[--i-1],e>=s)break e}o=i,i=0;break t}break n}for(;i<o;){let a=i+o>>>1;e<t[a]?o=a:i=a+1}if(r=t[i],s=t[i-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(r===void 0)return i=t.length,this._cachedIndex=i,this.copySampleValue_(i-1)}this._cachedIndex=i,this.intervalChanged_(i,s,r)}return this.interpolate_(i,s,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){let t=this.resultBuffer,i=this.sampleValues,r=this.valueSize,s=e*r;for(let o=0;o!==r;++o)t[o]=i[s+o];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}},Ah=class extends Ir{constructor(e,t,i,r){super(e,t,i,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:Q_,endingEnd:Q_}}intervalChanged_(e,t,i){let r=this.parameterPositions,s=e-2,o=e+1,a=r[s],c=r[o];if(a===void 0)switch(this.getSettings_().endingStart){case e0:s=e,a=2*t-i;break;case t0:s=r.length-2,a=t+r[s]-r[s+1];break;default:s=e,a=i}if(c===void 0)switch(this.getSettings_().endingEnd){case e0:o=e,c=2*i-t;break;case t0:o=1,c=i+r[1]-r[0];break;default:o=e-1,c=t}let l=(i-t)*.5,u=this.valueSize;this._weightPrev=l/(t-a),this._weightNext=l/(c-i),this._offsetPrev=s*u,this._offsetNext=o*u}interpolate_(e,t,i,r){let s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,c=e*a,l=c-a,u=this._offsetPrev,h=this._offsetNext,f=this._weightPrev,m=this._weightNext,g=(i-t)/(r-t),_=g*g,d=_*g,p=-f*d+2*f*_-f*g,b=(1+f)*d+(-1.5-2*f)*_+(-.5+f)*g+1,v=(-1-m)*d+(1.5+m)*_+.5*g,E=m*d-m*_;for(let I=0;I!==a;++I)s[I]=p*o[u+I]+b*o[l+I]+v*o[c+I]+E*o[h+I];return s}},Th=class extends Ir{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){let s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,c=e*a,l=c-a,u=(i-t)/(r-t),h=1-u;for(let f=0;f!==a;++f)s[f]=o[l+f]*h+o[c+f]*u;return s}},wh=class extends Ir{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e){return this.copySampleValue_(e-1)}},ln=class{constructor(e,t,i,r){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=io(t,this.TimeBufferType),this.values=io(i,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){let t=e.constructor,i;if(t.toJSON!==this.toJSON)i=t.toJSON(e);else{i={name:e.name,times:io(e.times,Array),values:io(e.values,Array)};let r=e.getInterpolation();r!==e.DefaultInterpolation&&(i.interpolation=r)}return i.type=e.ValueTypeName,i}InterpolantFactoryMethodDiscrete(e){return new wh(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new Th(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new Ah(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case so:t=this.InterpolantFactoryMethodDiscrete;break;case ao:t=this.InterpolantFactoryMethodLinear;break;case cu:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){let i="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(i);return console.warn("THREE.KeyframeTrack:",i),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return so;case this.InterpolantFactoryMethodLinear:return ao;case this.InterpolantFactoryMethodSmooth:return cu}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){let t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]+=e}return this}scale(e){if(e!==1){let t=this.times;for(let i=0,r=t.length;i!==r;++i)t[i]*=e}return this}trim(e,t){let i=this.times,r=i.length,s=0,o=r-1;for(;s!==r&&i[s]<e;)++s;for(;o!==-1&&i[o]>t;)--o;if(++o,s!==0||o!==r){s>=o&&(o=Math.max(o,1),s=o-1);let a=this.getValueSize();this.times=i.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);let i=this.times,r=this.values,s=i.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){let c=i[a];if(typeof c=="number"&&isNaN(c)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,c),e=!1;break}if(o!==null&&o>c){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,c,o),e=!1;break}o=c}if(r!==void 0&&UN(r))for(let a=0,c=r.length;a!==c;++a){let l=r[a];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,l),e=!1;break}}return e}optimize(){let e=this.times.slice(),t=this.values.slice(),i=this.getValueSize(),r=this.getInterpolation()===cu,s=e.length-1,o=1;for(let a=1;a<s;++a){let c=!1,l=e[a],u=e[a+1];if(l!==u&&(a!==1||l!==e[0]))if(r)c=!0;else{let h=a*i,f=h-i,m=h+i;for(let g=0;g!==i;++g){let _=t[h+g];if(_!==t[f+g]||_!==t[m+g]){c=!0;break}}}if(c){if(a!==o){e[o]=e[a];let h=a*i,f=o*i;for(let m=0;m!==i;++m)t[f+m]=t[h+m]}++o}}if(s>0){e[o]=e[s];for(let a=s*i,c=o*i,l=0;l!==i;++l)t[c+l]=t[a+l];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*i)):(this.times=e,this.values=t),this}clone(){let e=this.times.slice(),t=this.values.slice(),i=this.constructor,r=new i(this.name,e,t);return r.createInterpolant=this.createInterpolant,r}};ln.prototype.TimeBufferType=Float32Array;ln.prototype.ValueBufferType=Float32Array;ln.prototype.DefaultInterpolation=ao;var Oi=class extends ln{};Oi.prototype.ValueTypeName="bool";Oi.prototype.ValueBufferType=Array;Oi.prototype.DefaultInterpolation=so;Oi.prototype.InterpolantFactoryMethodLinear=void 0;Oi.prototype.InterpolantFactoryMethodSmooth=void 0;var Rh=class extends ln{};Rh.prototype.ValueTypeName="color";var Ch=class extends ln{};Ch.prototype.ValueTypeName="number";var Ph=class extends Ir{constructor(e,t,i,r){super(e,t,i,r)}interpolate_(e,t,i,r){let s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,c=(i-t)/(r-t),l=e*a;for(let u=l+a;l!==u;l+=4)oi.slerpFlat(s,0,o,l-a,o,l,c);return s}},bs=class extends ln{InterpolantFactoryMethodLinear(e){return new Ph(this.times,this.values,this.getValueSize(),e)}};bs.prototype.ValueTypeName="quaternion";bs.prototype.DefaultInterpolation=ao;bs.prototype.InterpolantFactoryMethodSmooth=void 0;var Fi=class extends ln{};Fi.prototype.ValueTypeName="string";Fi.prototype.ValueBufferType=Array;Fi.prototype.DefaultInterpolation=so;Fi.prototype.InterpolantFactoryMethodLinear=void 0;Fi.prototype.InterpolantFactoryMethodSmooth=void 0;var Ih=class extends ln{};Ih.prototype.ValueTypeName="vector";var Lh=class{constructor(e,t,i){let r=this,s=!1,o=0,a=0,c,l=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=i,this.itemStart=function(u){a++,s===!1&&r.onStart!==void 0&&r.onStart(u,o,a),s=!0},this.itemEnd=function(u){o++,r.onProgress!==void 0&&r.onProgress(u,o,a),o===a&&(s=!1,r.onLoad!==void 0&&r.onLoad())},this.itemError=function(u){r.onError!==void 0&&r.onError(u)},this.resolveURL=function(u){return c?c(u):u},this.setURLModifier=function(u){return c=u,this},this.addHandler=function(u,h){return l.push(u,h),this},this.removeHandler=function(u){let h=l.indexOf(u);return h!==-1&&l.splice(h,2),this},this.getHandler=function(u){for(let h=0,f=l.length;h<f;h+=2){let m=l[h],g=l[h+1];if(m.global&&(m.lastIndex=0),m.test(u))return g}return null}}},NN=new Lh,Uh=class{constructor(e){this.manager=e!==void 0?e:NN,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){let i=this;return new Promise(function(r,s){i.load(e,r,t,s)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}};Uh.DEFAULT_MATERIAL_NAME="__DEFAULT";var kh="\\\\[\\\\]\\\\.:\\\\/",DN=new RegExp("["+kh+"]","g"),Vh="[^"+kh+"]",ON="[^"+kh.replace("\\\\.","")+"]",FN=/((?:WC+[\\/:])*)/.source.replace("WC",Vh),BN=/(WCOD+)?/.source.replace("WCOD",ON),zN=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace("WC",Vh),kN=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace("WC",Vh),VN=new RegExp("^"+FN+BN+zN+kN+"$"),GN=["material","materials","bones","map"],Nh=class{constructor(e,t,i){let r=i||it.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();let i=this._targetGroup.nCachedObjects_,r=this._bindings[i];r!==void 0&&r.getValue(e,t)}setValue(e,t){let i=this._bindings;for(let r=this._targetGroup.nCachedObjects_,s=i.length;r!==s;++r)i[r].setValue(e,t)}bind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){let e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}},it=class n{constructor(e,t,i){this.path=t,this.parsedPath=i||n.parseTrackName(t),this.node=n.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new n.Composite(e,t,i):new n(e,t,i)}static sanitizeNodeName(e){return e.replace(/\\s/g,"_").replace(DN,"")}static parseTrackName(e){let t=VN.exec(e);if(t===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);let i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=i.nodeName&&i.nodeName.lastIndexOf(".");if(r!==void 0&&r!==-1){let s=i.nodeName.substring(r+1);GN.indexOf(s)!==-1&&(i.nodeName=i.nodeName.substring(0,r),i.objectName=s)}if(i.propertyName===null||i.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){let i=e.skeleton.getBoneByName(t);if(i!==void 0)return i}if(e.children){let i=function(s){for(let o=0;o<s.length;o++){let a=s[o];if(a.name===t||a.uuid===t)return a;let c=i(a.children);if(c)return c}return null},r=i(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){let i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)e[t++]=i[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){let i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){let i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){let i=this.resolvedProperty;for(let r=0,s=i.length;r!==s;++r)i[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node,t=this.parsedPath,i=t.objectName,r=t.propertyName,s=t.propertyIndex;if(e||(e=n.findNode(this.rootNode,t.nodeName),this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(i){let l=t.objectIndex;switch(i){case"materials":if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.materials){console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);return}e=e.material.materials;break;case"bones":if(!e.skeleton){console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);return}e=e.skeleton.bones;for(let u=0;u<e.length;u++)if(e[u].name===l){l=u;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}e=e.material.map;break;default:if(e[i]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[i]}if(l!==void 0){if(e[l]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[l]}}let o=e[r];if(o===void 0){let l=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+l+"."+r+" but it wasn't found.",e);return}let a=this.Versioning.None;this.targetObject=e,e.needsUpdate!==void 0?a=this.Versioning.NeedsUpdate:e.matrixWorldNeedsUpdate!==void 0&&(a=this.Versioning.MatrixWorldNeedsUpdate);let c=this.BindingType.Direct;if(s!==void 0){if(r==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);return}if(!e.geometry.morphAttributes){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);return}e.morphTargetDictionary[s]!==void 0&&(s=e.morphTargetDictionary[s])}c=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=s}else o.fromArray!==void 0&&o.toArray!==void 0?(c=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(c=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=r;this.getValue=this.GetterByBindingType[c],this.setValue=this.SetterByBindingTypeAndVersioning[c][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}};it.Composite=Nh;it.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};it.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};it.prototype.GetterByBindingType=[it.prototype._getValue_direct,it.prototype._getValue_array,it.prototype._getValue_arrayElement,it.prototype._getValue_toArray];it.prototype.SetterByBindingTypeAndVersioning=[[it.prototype._setValue_direct,it.prototype._setValue_direct_setNeedsUpdate,it.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[it.prototype._setValue_array,it.prototype._setValue_array_setNeedsUpdate,it.prototype._setValue_array_setMatrixWorldNeedsUpdate],[it.prototype._setValue_arrayElement,it.prototype._setValue_arrayElement_setNeedsUpdate,it.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[it.prototype._setValue_fromArray,it.prototype._setValue_fromArray_setNeedsUpdate,it.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];var ZB=new Float32Array(1);typeof __THREE_DEVTOOLS__!="undefined"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:Dh}}));typeof window!="undefined"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=Dh);var uz=We(nx(),1),hz=We(ta(),1);function Ur(n,e){e===void 0&&(e=[]);let t=new Cr(n.map(i=>new ie(...i)));return e.length&&e.forEach(i=>{var r=new Rr(i.map(s=>new ie(...s)));t.holes.push(r)}),t}var Pz=We(Vx(),1),Iz=We(of(),1);function Gx(n){return n.replace(/[A-Z]/g,e=>"_"+e.toLowerCase()).replace(/^_/,"")}function Hx(n){let e={};for(let i in n)i.startsWith("on")&&(e[Gx(i.slice(2))]=n[i]);let t=i=>Cs(this,null,function*(){let{data:r}=i;if(e[r.type])try{let s=yield e[r.type](r.data);if(s!=null&&s.$transfer&&Array.isArray(s.$transfer)){let o=s.$transfer;delete s.$transfer,self.postMessage({type:""+r.type+"_result",key:r.key,data:s},o)}else self.postMessage({type:""+r.type+"_result",key:r.key,data:s})}catch(s){self.postMessage({type:""+r.type+"_result",key:r.key,error:s})}else self.postMessage({type:""+r.type+"_result",key:r.key,error:"no_event"})});return self.addEventListener("message",t),()=>{self.removeEventListener("message",t)}}var Gz=We(dl(),1),Hz=We(pl(),1),Wz=We(ml(),1),qz=We(vl(),1),Xz=We(_l(),1),Yz=We(Sl(),1),$z=We(Al(),1),Zz=We(wl(),1),Jz=We(Rl(),1),Kz=We(Pl(),1),jz=We(Ll(),1),Qz=We(Ol(),1),ek=We(zl(),1),tk=We(eu(),1),nk=We(tu(),1),ik=We(ta(),1);function Or(n,e=!1){let t=n[0].index!==null,i=new Set(Object.keys(n[0].attributes)),r=new Set(Object.keys(n[0].morphAttributes)),s={},o={},a=n[0].morphTargetsRelative,c=new Ot,l=0;for(let u=0;u<n.length;++u){let h=n[u],f=0;if(t!==(h.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+u+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(let m in h.attributes){if(!i.has(m))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+u+'. All geometries must have compatible attributes; make sure "'+m+'" attribute exists among all geometries, or in none of them.'),null;s[m]===void 0&&(s[m]=[]),s[m].push(h.attributes[m]),f++}if(f!==i.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+u+". Make sure all geometries have the same number of attributes."),null;if(a!==h.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+u+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(let m in h.morphAttributes){if(!r.has(m))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+u+". .morphAttributes must be consistent throughout all geometries."),null;o[m]===void 0&&(o[m]=[]),o[m].push(h.morphAttributes[m])}if(e){let m;if(t)m=h.index.count;else if(h.attributes.position!==void 0)m=h.attributes.position.count;else return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+u+". The geometry must have either an index or a position attribute"),null;c.addGroup(l,m,u),l+=m}}if(t){let u=0,h=[];for(let f=0;f<n.length;++f){let m=n[f].index;for(let g=0;g<m.count;++g)h.push(m.getX(g)+u);u+=n[f].attributes.position.count}c.setIndex(h)}for(let u in s){let h=Wx(s[u]);if(!h)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+u+" attribute."),null;c.setAttribute(u,h)}for(let u in o){let h=o[u][0].length;if(h===0)break;c.morphAttributes=c.morphAttributes||{},c.morphAttributes[u]=[];for(let f=0;f<h;++f){let m=[];for(let _=0;_<o[u].length;++_)m.push(o[u][_][f]);let g=Wx(m);if(!g)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+u+" morphAttribute."),null;c.morphAttributes[u].push(g)}}return c}function Wx(n){let e,t,i,r=-1,s=0;for(let l=0;l<n.length;++l){let u=n[l];if(e===void 0&&(e=u.array.constructor),e!==u.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(t===void 0&&(t=u.itemSize),t!==u.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(i===void 0&&(i=u.normalized),i!==u.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(r===-1&&(r=u.gpuType),r!==u.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;s+=u.count*t}let o=new e(s),a=new rt(o,t,i),c=0;for(let l=0;l<n.length;++l){let u=n[l];if(u.isInterleavedBufferAttribute){let h=c/t;for(let f=0,m=u.count;f<m;f++)for(let g=0;g<t;g++){let _=u.getComponent(f,g);a.setComponent(f+h,g,_)}}else o.set(u.array,c);c+=u.count*t}return r!==void 0&&(a.gpuType=r),a}function qx(n,e,t){e===void 0&&(e=!0),t===void 0&&(t=!1);let i=n.filter(a=>a.geometry.type==="polygon");if(!i.length)return null;let r=i.map(a=>{var c;let l=a.geometry.coords,u=Ur(l[0],l.slice(1)),h=new Pr(u,{steps:1,bevelEnabled:!1,depth:a.height,curveSegments:4});(c=a).deltaHeight||(c.deltaHeight=0),h.translate(0,0,a.airHeight+a.deltaHeight);let f=h.attributes.position.count,m=new Float32Array(f).fill(a.height+a.airHeight+a.deltaHeight);if(h.setAttribute("maxZ",new rt(m,1)),h.setAttribute("opacity",new rt(new Float32Array(f).fill(a.fillOpacity),1)),t){let d=new Float32Array(f).fill(a.airHeight+a.deltaHeight);h.setAttribute("minZ",new rt(d,1))}let g=new Xe(a.fillColor).convertLinearToSRGB(),_=new Float32Array(f*3);for(let d=0;d<f;d++)_[d*3]=g.r,_[d*3+1]=g.g,_[d*3+2]=g.b;return h.setAttribute("color",new rt(_,3)),h}),s=Or(r);r.forEach(a=>a.dispose());let o={geometry:s};return s.dispose(),e&&(o.lineGeometry=BO(i)||void 0),o}function BO(n){let{points:e,colors:t,opacities:i}=zO(n);if(!e.length)return null;let r=new Ot().setFromPoints(e);return r.setAttribute("color",new rt(new Float32Array(t),3)),r.setAttribute("opacity",new rt(new Float32Array(i),1)),r}function zO(n){let e=[],t=[],i=[];return n.filter(r=>r.strokeOpacity>0).map(r=>{let s=r.height+(r.deltaHeight||0)+r.airHeight,{coords:o}=r.geometry,{strokeColor:a,strokeOpacity:c}=r,l=new Xe(a).convertLinearToSRGB();for(let u=0;u<o.length;u++){let h=o[u];for(let f=0;f<h.length;f++){let m=h[f],g=f+1===h.length?h[0]:h[f+1];e.push(new U(m[0],m[1],s)),e.push(new U(g[0],g[1],s)),t.push(l.r,l.g,l.b),t.push(l.r,l.g,l.b),i.push(c),i.push(c)}}}),{points:e,colors:t,opacities:i}}Hx({onGetMergedGeometryAttributes(n){let{data:e}=n,t=e.map(s=>{let o=s.geometry.coords,a=Ur(o[0],o.slice(1));return new Pr(a,{steps:1,bevelEnabled:!1,depth:s.height,curveSegments:4})}),i=Or(t);t.forEach(s=>s.dispose());let r={attributes:i.attributes,index:i.index,morphAttributes:i.morphAttributes,morphTargetsRelative:i.morphTargetsRelative,groups:i.groups,boundingSphere:i.boundingSphere};return i.dispose(),r},onGetMergedShapeGeometryAttributes(n){let{data:e}=n,t=e.map(s=>{let o=Ur(s.geometry.coords[0].slice(0,-1),s.geometry.coords.slice(1)),a=new Ss(o,4),c=a.getAttribute("position"),l=[],u=new Xe(s.fillColor);for(let f=0;f<c.count;f++){c.setZ(f,s.airHeight+(s.deltaHeight||0));var h;l.push(u.r,u.g,u.b,(h=s.fillOpacity)!=null?h:1)}return a.setAttribute("color",new rt(new Float32Array(l),4)),a}),i=Or(t);t.forEach(s=>s.dispose());let r={attributes:i.attributes,index:i.index,morphAttributes:i.morphAttributes,morphTargetsRelative:i.morphTargetsRelative,groups:i.groups,boundingSphere:i.boundingSphere};return i.dispose(),r},onGetMergedTexture2dShapeGeometryAttributes(n){let{data:e}=n,t=e.map(s=>{let o=Ur(s.geometry.coords[0].slice(0,-1),s.geometry.coords.slice(1)),a=new Ss(o,4),c=a.getAttribute("position"),l=[1,1,1,0,0,0,0,1];a.setAttribute("uv",new xt(l,2));let u=s.height+(s.deltaHeight||0)+s.airHeight;for(let h=0;h<c.count;h++)c.setZ(h,u);return a}),i=Or(t);t.forEach(s=>s.dispose());let r={attributes:i.attributes,index:i.index,morphAttributes:i.morphAttributes,morphTargetsRelative:i.morphTargetsRelative,groups:i.groups,boundingSphere:i.boundingSphere};return i.dispose(),r},onGetMergedGeometriesJson(n){let{data:e}=n,t=qx(e);if(t){var i;return{mergedGeometry:t.geometry.toJSON(),lineGeometry:(i=t.lineGeometry)==null?void 0:i.toJSON()}}else return null}});
3978
- `],{type:"text/javascript"}),t=URL.createObjectURL(i),e=new Worker(t);return URL.revokeObjectURL(t),e}import{BufferGeometry as NB,BufferAttribute as m3}from"three";var _e=class{static GetMergeGeometry(t){return y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(e,"get_merged_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedShapeGeometry(t){return y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(e,"get_merged_shape_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedTexture2dGeometry(t){return y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(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 NB;return Object.keys(t.attributes).forEach(n=>{e.setAttribute(n,new m3(t.attributes[n].array,t.attributes[n].itemSize))}),t.index&&e.setIndex(new m3(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 y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(e,"get_merged_geometries_json",{data:t});return this.WorkerPool.releaseWorker(e),n?S({},t[0],n):null})}static dispose(){this.WorkerPool.dispose()}};_e.WorkerPool=new ms(10,ph);import{cloneDeep as GB}from"lodash";var nr={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},ft=class extends OB{getCenter(){if(this.options.geometry.type==="point")return this.position.clone();let t=new Kt,e=new ca;return e.setFromObject(this),e.getCenter(t),t}getSize(){if(this.options.geometry.type==="point")return new Kt(0,0,0);let t=new ca,e=new Kt;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 Kt(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,o=.5,s=Fe(e,n.coord),a=new un(...n.coord),u=new un(...e[s]).sub(new un(...n.coord)).normalize(),l=new un().addVectors(a,u.clone().multiplyScalar(r)),c=new un().addVectors(a,u.clone().multiplyScalar(-r)),h=new un(-u.y,u.x),p=new un().addVectors(l,h.clone().multiplyScalar(o));bm([p.x,p.y],e)||(h.multiplyScalar(-1),p=new un().addVectors(l,h.clone().multiplyScalar(o)));let d=new un().addVectors(c,h.clone().multiplyScalar(o)),g=[[l.x,l.y],[p.x,p.y],[d.x,d.y],[c.x,c.y]];e=this.options.geometry.coords[0]=[...e.slice(0,s+1),...g,...e.slice(s+1)]})}}initGeometry(){let t=Xo(this.options.geometry.coords[0],this.options.geometry.coords.slice(1));return new DB(t,{steps:1,bevelEnabled:!1,depth:this.options.height,curveSegments:4})}initSingleMaterial(){let t=D.createMeshBasicMaterial({color:this.options.fillColor,opacity:this.options.fillOpacity});if(this.options.secondUrl&&ht.getTextureByUrl(this.options.secondUrl).then(n=>{n.wrapS=_3,n.wrapT=_3,n.needsUpdate=!0,t.map=n,t.side=zB}),this.options.height<=.1)return this.material=t,t;let e=D.createMeshBasicMaterial({color:Be(this.options.fillColor),opacity:this.options.fillOpacity});return this.material=[t,e],[t,e]}getMaxAndMin(t,e){let n=new ca().setFromObject(this),r=t.clone().add(e.clone().multiplyScalar(1e3)),o=new v3(r,e.clone().multiplyScalar(-1)),s=new Kt;o.intersectBox(n,s);let a=t.clone().add(e.clone().multiplyScalar(-1e3)),u=new v3(a,e.clone()),l=new Kt;return u.intersectBox(n,l),{max:l,min:s}}initGradualMaterial(){let{max:t,min:e}=new ca().setFromObject(this),n=t.clone().sub(e),r=Math.max(n.x,n.y,n.z)/2,o=this.getPosition(),s=new Kt(-1,.2,0).normalize(),{max:a,min:u}=this.getMaxAndMin(o,s),l=D.createShaderMaterial({gradualColor:this.options.gradualColor,center:this.getPosition(),maxValue:r,opacity:this.options.fillOpacity,direction:new Kt(-1,.2,0),max:a,min:u});if(this.options.height<=.1)return this.material=l,l;let c=this.getCenter(),h=new Kt(-1,.2,1).normalize(),{max:p,min:d}=this.getMaxAndMin(c,h),g=D.createShaderMaterial({gradualColor:[Be(this.options.gradualColor[0],this.options.colorFactor),Be(this.options.gradualColor[1],this.options.colorFactor)],center:this.getCenter(),maxValue:r,opacity:this.options.fillOpacity,direction:new Kt(-1,.2,1),max:p,min:d});return this.material=[l,g],[l,g]}initMaterial(){return this.options.renderType==="gradual"?this.initGradualMaterial():this.initSingleMaterial()}initLineMaterial(){if(this.options.dashed){let t=D.createLineDashedMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}else{let t=D.createLineMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new UB(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 o=n[r];for(let s=0;s<o.length;s++){let a=o[s],u=s+1===o.length?o[0]:o[s+1];t.push(new Kt(a[0],a[1],e)),t.push(new Kt(u[0],u[1],e))}}return t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new FB().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new BB(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=vr(GB(S({},nr,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 o;this.line&&(this.remove(this.line),this.line=null),(o=this.lineGeometry)==null||o.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 o;this.remove(this.line),(o=this.lineGeometry)==null||o.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 kB,PlaneGeometry as VB,Mesh as HB,ShadowMaterial as WB,Color as qB,DoubleSide as XB}from"three";var ha=class extends kB{initLight(){let t=cm(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 qB(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 VB(t,e),r=new WB({transparent:!0,opacity:0,side:XB}),o=new HB(n,r);return o.receiveShadow=!0,o.position.z=-10,this.add(o),this.plane=o,o}setTarget(t){this.directionalLight.target=t}transformOpacity(t){return t*this.basicOpacity}setOpacity(t){this.plane.material.opacity=this.transformOpacity(t)}dispose(){W(this,!0)}constructor(){super(),this.basicOpacity=.07,this.directionalLight=this.initLight(),this.initPlane()}};var mZ=f(A(),1);import{EventDispatcher as ZB,Vector3 as KB}from"three";import{Box3 as y3,Vector3 as at}from"three";import{debounce as jB}from"lodash";var YB={autoUpdate:!0,appendToBody:!1,autoChangePlacement:!1},kr=class extends st{initObserver(){let t=new MutationObserver(jB(()=>{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 ft&&this.element.options.geometry.type==="polygon"){let{max:s,min:a}=new y3().setFromObject(this.element),u=(s.x+a.x)/2,l=(s.y+a.y)/2;return{left:new at(a.x,l,s.z),leftTop:new at(a.x,s.y,s.z),top:new at(u,s.y,s.z),rightTop:new at(s.x,s.y,s.z),right:new at(s.x,l,s.z),rightBottom:new at(s.x,a.y,s.z),bottom:new at(u,a.y,s.z),leftBottom:new at(a.x,a.y,s.z),center:new at(u,l,s.z)}}let{x:n,y:r,z:o}=((e=this.element)==null||(t=e.getPosition)==null?void 0:t.call(e))||this.position;return{left:new at(n,r,o),leftTop:new at(n,r,o),top:new at(n,r,o),rightTop:new at(n,r,o),right:new at(n,r,o),rightBottom:new at(n,r,o),bottom:new at(n,r,o),leftBottom:new at(n,r,o),center:new at(n,r,o)}}getPlacementScreenPosition(){let{width:t,height:e}=this.context.clientSize,n=this.getPlacementPosition();return Object.keys(n).reduce((r,o)=>{let{x:s,y:a}=O(n[o],this.context.camera,t,e);return r[o]={x:s,y:a},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,o=e/2,s=[{type:"center",getBox(a,u){return{max:{x:r+a,y:u-e},min:{x:a-r,y:u}}}},{type:"left",getBox(a,u){return{max:{x:a,y:u-o},min:{x:a-t,y:u+o}}}},{type:"leftTop",getBox(a,u){return{max:{x:a,y:u-e},min:{x:a-t,y:u}}}},{type:"top",getBox(a,u){return{max:{x:a+r,y:u-e},min:{x:a-r,y:u}}}},{type:"rightTop",getBox(a,u){return{max:{x:a+t,y:u-e},min:{x:a,y:u}}}},{type:"right",getBox(a,u){return{max:{x:a+t,y:u-o},min:{x:a,y:u+o}}}},{type:"rightBottom",getBox(a,u){return{max:{x:a+t,y:u},min:{x:a,y:u+e}}}},{type:"bottom",getBox(a,u){return{max:{x:a+r,y:u},min:{x:a-r,y:u+e}}}},{type:"leftBottom",getBox(a,u){return{max:{x:a,y:u},min:{x:a-t,y:u+o}}}}];for(let a=0;a<s.length;a++){let u=s[a],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 y3().setFromObject(this.element).getCenter(new at):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:o,y:s}=this.context.clientSize;if(this.div){if(this.options.appendToBody){this.div.style.left=""+o+"px",this.div.style.top=""+(s+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:o,y:s}=O(e,this.context.camera,n,r);this.clientPos.x===o&&this.clientPos.y===s&&!t||this._updatePosition(o,s)}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 at,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=S({},YB,e),this.registryEvent(),this.div=this.initDiv(),this.options.appendToBody?document.body.appendChild(this.div):this.context.container.appendChild(this.div)}};var $B={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},rr=class extends ZB{get withinDisplayRange(){return this.overlay.withinDisplayRange}resetSize(){return y(this,null,function*(){if(yield tv(),!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,o]of Object.entries(e.styles))n.style[r]=o;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,o=n*t,{x:s,y:a}=this.overlay.clientPos;return{left:s-r/2,right:s+r/2,top:this.options.icon?a-o:a-o/2,bottom:this.options.icon?a:a+o/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,o;super(),this.context=t,this.visible=!0,this.size={width:0,height:0},this.position=new KB,this.userData={},this.showTextStatus=!0,this.disposed=!1,this._changePosition=()=>{this.overlay.updatePosition(!0)},this.options=vr(S({},$B,e),this),this.position.set(((n=e.position)==null?void 0:n.x)||0,((r=e.position)==null?void 0:r.y)||0,((o=e.position)==null?void 0:o.z)||0),this.overlay=new kr(this.context,{autoUpdate:!1}),this.overlay.addEventListener("update-position",s=>{let{x:a,y:u,height:l}=s;this.overlay.div.style.transform="translate3d(calc("+a+"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",s=>{let{value:a}=s;a?this.img?this.img.setAttribute("src",a):(this.addIcon(),this._changePosition()):(this.img&&this.div.removeChild(this.img),this.img=void 0,this._changePosition(),this.resetSize())}),this.addEventListener("change-texts",s=>{let{value:a}=s,u=this.textDiv;if(u){let l=this.initText();this.div.replaceChild(l,u)}else this.addText();this.resetSize()}),this.addEventListener("change-opacity",s=>{let{value:a}=s;this.overlay.setOpacity(a)}),this.addEventListener("change-icon_size",s=>{let{value:a}=s;this.img&&(this.img.style.width=""+((a==null?void 0:a[0])||32)+"px",this.img.style.height=""+((a==null?void 0:a[1])||32)+"px",this.resetSize())}),this.addEventListener("change-icon_opacity",s=>{let{value:a}=s;this.img&&(this.img.style.opacity=""+a)}),this.addEventListener("change-icon_border",s=>{let{value:a}=s;this.img&&(this.img.style.border=a.width+"px solid "+a.color)}),this.addEventListener("change-background",s=>{let{value:a}=s;this.div.style.background=a})}};var n$=f(A(),1),r$=f(oe(),1),i$=f(se(),1),o$=f(ae(),1),s$=f(ue(),1),a$=f(le(),1),u$=f(ce(),1),l$=f(he(),1);import{Box3 as Ma,Object3D as mh,Vector3 as wa}from"three";import{MeshBasicMaterial as JB,Object3D as QB,PlaneGeometry as tz,Texture as ez,Mesh as nz,Matrix3 as x3,Vector2 as rz,FrontSide as iz}from"three";import{create as oz}from"@mars3d/heatmap.js";import{bbox as sz,center as az}from"@turf/turf";var pa=class extends QB{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:o,center:s,scale:a}=this.box,l=(((e=this.context.config.heatMap)==null?void 0:e.radius)||1)*a,c=S({width:n,height:r,container:this.div},this.context.config.heatMap,{radius:l});this.heatmap=oz(c);let h=this.transformData(t,o,a);t.maxValue!==void 0&&(h.max=t.maxValue),t.minValue!==void 0&&(h.min=t.minValue),this.heatmap.setData(h),this.initPlane(n/a,r/a);let p=this.context.center;this.position.set(s[0]-p[0],s[1]-p[1],this.position.z)}initPlane(t,e){this.plane&&this.remove(this.plane);let n=new tz(t,e),r=new ez(this.div.firstChild);r.needsUpdate=!0;let o=new JB({transparent:!0,side:iz,map:r});o.needsUpdate=!0,this.plane=new nz(n,o),this.plane.renderOrder=1e5,this.add(this.plane)}getTransMatrix(t){let{x:e,y:n}=t;return new x3().makeScale(this.box.scale,-this.box.scale).multiply(new x3().makeTranslation(-e,-n))}transformData(t,e,n){var r,o;let s=this.getTransMatrix(e);var a;let u=(a=(r=t.data[0])==null?void 0:r.value)!=null?a:0;var l;let c=(l=(o=t.data[0])==null?void 0:o.value)!=null?l:0;return{data:t.data.map(p=>{let d=new rz(p.x,p.y).applyMatrix3(s);return p.value>u&&(u=p.value),p.value<c&&(c=p.value),{x:Math.ceil(d.x),y:Math.ceil(d.y),value:p.value}}),max:u,min:c}}getBox(){let t=this.context.range,e=sz(t),n=Math.ceil(e[2]-e[0]),r=Math.ceil(e[3]-e[1]),o=this.context.clientSize.width,s=this.context.clientSize.height,a=o/n,u=s/r,l=Math.min(a,u);this.scaleRatio=l;let c=n*l,h=r*l,p={x:Math.ceil(e[0]),y:Math.ceil(e[3])},d=az(t).geometry.coordinates;return{width:c,height:h,leftTop:p,center:d,scale:l}}dispose(){this.clearHeatmap(),this.div.remove(),this.div=null,this.plane&&(this.remove(this.plane),W(this.plane))}constructor(t){super(),this.context=t,this.scaleRatio=1,this.div=document.createElement("div"),this.box=this.getBox()}};import{Object3D as uz,Vector3 as lz}from"three";var fa=class extends uz{loadModel(){return y(this,null,function*(){let t=yield _t.loadModel(this.options.modelUrl);t.scene.rotation.set(Math.PI/2,Math.PI/2,0),this.add(t.scene),this.model=t})}dispose(){W(this),this.model=null}constructor(t,e){super(),this.context=t,this.options=e,this.model=null,this.position.copy(e.position||new lz(0,0,0)),this.loadModel()}};var FZ=f(A(),1);import{Box3 as hz,Vector3 as pz}from"three";import{Object3D as cz}from"three";var ut=class extends cz{setOpacity(t,e){e===void 0&&(e=!1),this.children.forEach(n=>{n.setOpacity==null||n.setOpacity.call(n,t,e)})}dispose(){W(this),this.children.forEach(t=>t.dispose==null?void 0:t.dispose.call(t)),this.clear()}constructor(t){super(),this.context=t}};var da=class extends ut{getCenter(){return new hz().setFromObject(this).getCenter(new pz)}createGraphic(t){let e=new ft(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,o)=>{if(o instanceof ft){let s=o.raycast(t);if(s){let{distance:a}=s;if(a<r.distance)return{distance:s.distance,position:s.position,graphic:o}}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=S({},r.options,e),Object.keys(n).forEach(o=>{r.options[o]=n[o]}))}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}};var WZ=f(ga(),1),qZ=f(F(),1);import{debounce as Sz}from"lodash";var ma=class extends ut{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 rr(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 rr&&r.isContain(t,e))}collisionDetection(){let t=[];this.pois.filter(n=>n.visible&&n.withinDisplayRange).forEach((n,r)=>{let{left:o,right:s,top:a,bottom:u}=n.getBox();if(r===0||!n.options.collision_enable){t.push({left:o,right:s,top:a,bottom:u}),n.parentSetVisible(!0);return}let l=t.some(c=>c.left<s&&c.right>o&&c.top<u&&c.bottom>a);n.parentSetVisible(!l),l||t.push({left:o,right:s,top:a,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 Q,this.onUpdate=()=>{this.timer.requestAnimationFrame(()=>{this.collisionDetection()})},this.registryEvent(),this.debounceCollisionDetection=Sz(this.collisionDetection,10)}};var $Z=f(ga(),1),JZ=f(F(),1);import{Vector2 as bz,Vector3 as Mz}from"three";var Vr=class extends ut{clear(){return this.pois.forEach(t=>{t.dispose()}),this.pois=[],this}createPoi(t){let e=new it(this.context,t);return this.pushPoi(e),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.remove(t),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}add(t){return this.children.some(e=>e.options.id===t.options.id)||(t.addEventListener("change-level",()=>this.changePoiLevelOrCollisionEnable(t)),t.addEventListener("change-collision_enable",()=>this.changePoiLevelOrCollisionEnable(t))),super.add(t),this}pushPoi(t){if(t.parentSetVisible(!1),t.userData.type==="parkingSpace"&&(this.needChangeParkingSpaceVisibleByZoom=!0),this.add(t),!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){let n=new bz(t,e);return this.pois.filter(o=>o instanceof it&&o.canSelect&&o.box.containsPoint(n))}collisionDetection(){let t=[],{camera:e}=this.context;e.updateMatrixWorld();let n=l=>l<=1&&l>=-1,r=e.projectionMatrix.clone();r.multiply(e.matrixWorldInverse);let o=e.zoom/this.context.basicZoom,s=25/30,a=Math.min(25,Math.max(1,o*s));this.pois.filter(l=>{if(l.visible){var c,h;if(!(a<=l.options.maxWeight&&a>=l.options.minWeight))return l.parentSetVisible(!1),!1;let p=l.spriteIcon?(c=l.spriteIcon)==null?void 0:c.matrixWorld:((h=l.spriteText)==null?void 0:h.matrixWorld)||l.matrixWorld,d=new Mz().setFromMatrixPosition(p);return d.applyMatrix4(r),l.screenPosition=d,n(d.x)&&n(d.y)&&n(d.z)?!0:(l.parentSetVisible(!1),!1)}return!1}).forEach((l,c)=>{let h=l.getBox(l.screenPosition);if(c===0||!l.options.collision_enable){t.push(h),l.parentSetVisible(!0);return}let p=t.some(d=>d.intersectsBox(h));l.parentSetVisible(!p),p||t.push(h)})}setOpacity(t){this.pois.forEach(e=>{e.options.icon_opacity=t,e.options.text_opacity=t})}registryEvent(){this.context.addEventListener("update",this.onUpdate),this.context.addEventListener("control-zoom-change",this.changeParkingSpaceVisibleByZoom)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate),this.context.removeEventListener("control-zoom-change",this.changeParkingSpaceVisibleByZoom)}onAddToScene(){this.registryEvent()}onRemoveFromScene(){this.unRegistryEvent()}dispose(){this.timer.dispose(),this.pois.forEach(t=>t.dispose()),this.pois.length=0,super.dispose(),this.unRegistryEvent()}constructor(t){super(t),this.pois=[],this.needChangeParkingSpaceVisibleByZoom=!1,this.timer=new Q,this.changeParkingSpaceVisibleByZoom=()=>{var e;let n=(e=this.parent)==null?void 0:e.parent;if(n&&n instanceof $t){let{clientSize:{width:r,height:o}}=this.context,{max:s,min:a}=n.box,l=Math.min(r/(s.x-a.x),o/(s.y-a.y))*(s.x-a.x)/60,c=this.context.camera.zoom>=l;this.pois.filter(h=>h.userData.type==="parkingSpace").map(h=>{h.visible=c,c||h.parentSetVisible(c)})}},this.onUpdate=()=>{this.needChangeParkingSpaceVisibleByZoom&&(this.changeParkingSpaceVisibleByZoom(),this.needChangeParkingSpaceVisibleByZoom=!1),this.timer.requestAnimationFrame(()=>{this.collisionDetection()})}}};var iK=f(Ot(),1),oK=f(A(),1);import{Vector2 as fh}from"three";import{isNil as wz}from"lodash";var va=class extends ut{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,o)=>{var s;(s=r.texts[0])==null||s.split(/[,,]/).map(a=>{this.parkingNoIndexMap.set(a,o)}),this.nodeIdIndexMap.set(r.id,o)})):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 y(this,null,function*(){let e=new ji(this.context,t);this.mergedParkingSpace=e,this.add(e)})}createMergedParkingByMergedElements(t){let e=new _a(this.context,t);this.mergedParkingSpace=e,this.add(e)}createIndependentParking(t){t.forEach(e=>{var n;let r=new ft(this.context,e);this.add(r),(n=e.texts[0])==null||n.split(/[,,]/).map(o=>{this.parkingNoGraphicMap.set(o,r)}),this.graphicMap.set(r.options.id,r)})}createParkingTexture(t){let e=t.filter(n=>aa[n.parkingType]).map(n=>{let r=new fh(...n.geometry.coords[0][0]),o=new fh(...n.geometry.coords[0][1]),s=new fh(...n.geometry.coords[0][2]),a=Math.min(r.distanceTo(o),o.distanceTo(s)),u=0;return a===r.distanceTo(o)?u=o.sub(r).angle()-Math.PI/2:u=s.sub(o).angle()-Math.PI/2,{uuid:n.id,iconUrl:aa[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:a-1,secondHeight:a-1,secondRotate:u,centerCoords:[n.center_coord_x,n.center_coord_y]}});if(e.length){let n=new ir(this.context,e);this.add(n)}}createMergedParkingTexture(t){t.map(e=>{e.iconUrl=aa[e.iconUrl];let n=new or(this.context,e);this.add(n)})}changeParkingColor(t){this.merged?Object.keys(t).map(e=>{let n=this.parkingNoIndexMap.get(e);if(!wz(n)){var r;(r=this.mergedParkingSpace)==null||r.setParkingColorByIndex(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 a=this.parkingOriginOptions.get(r.id);var o;r.fillOpacity=Math.min(t,(o=a==null?void 0:a.fillOpacity)!=null?o:1);var s;r.strokeOpacity=Math.min(t,(s=a==null?void 0:a.strokeOpacity)!=null?s:1)}}),this.merged)if(this.mergedParkingSpace instanceof ji)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 ir||r instanceof or).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,W(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}};var dK=f(F(),1);var ya=class extends ut{addModels(t){let e=t.reduce((n,r)=>{let{url:o}=r;return n[o]?n[o].push(r):n[o]=[r],n},{});Object.values(e).forEach(n=>{let r=new xa(this.context,n);this.add(r)})}constructor(t){super(t)}};var zK=f(A(),1);import{Box3 as Oz,Group as Dz,Vector3 as Uz}from"three";import{LineMaterial as Tz}from"three/examples/jsm/lines/LineMaterial.js";import{Color as Yi,LineBasicMaterial as Az,MeshStandardMaterial as Cz,MeshBasicMaterial as Rz,ShaderMaterial as Zi,DoubleSide as Pz,LineDashedMaterial as Iz}from"three";function E3(i){return`${i.x}-${i.y}-${i.z}`}var Pt=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 o=new Az({color:new Yi(t).convertLinearToSRGB(),transparent:!0,opacity:e,vertexColors:n!=null?n:!1});return this.lineMaterialMap.set(r,o),o}static createMeshStandardMaterial({color:t,opacity:e}){let n=`${t}-${e}`;if(this.meshStandardMaterialMap.has(n))return this.meshStandardMaterialMap.get(n);let r=new Cz({color:new Yi(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 o=new Rz({color:t,transparent:!0,opacity:e,depthWrite:!0,vertexColors:n!=null?n:!1});return this.meshBasicMaterialMap.set(r,o),o}static createShaderMaterial({gradualColor:t,center:e,maxValue:n,opacity:r,direction:o,max:s,min:a}){let u=`${t.toString()}-${E3(e)}-${n}-${r}-${E3(o)}`;if(this.shaderMaterialMap.has(u))return this.shaderMaterialMap.get(u);let l=`
3978
+ `],{type:"text/javascript"}),t=URL.createObjectURL(i),e=new Worker(t);return URL.revokeObjectURL(t),e}import{BufferGeometry as NB,BufferAttribute as m3}from"three";var _e=class{static GetMergeGeometry(t){return y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(e,"get_merged_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedShapeGeometry(t){return y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(e,"get_merged_shape_geometry_attributes",{data:t}),r=this.GetBufferGeometryByData(n);return this.WorkerPool.releaseWorker(e),r})}static GetMergedTexture2dGeometry(t){return y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(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 NB;return Object.keys(t.attributes).forEach(n=>{e.setAttribute(n,new m3(t.attributes[n].array,t.attributes[n].itemSize))}),t.index&&e.setIndex(new m3(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 y(this,null,function*(){let e=yield this.WorkerPool.getWorker(),n=yield tt(e,"get_merged_geometries_json",{data:t});return this.WorkerPool.releaseWorker(e),n?S({},t[0],n):null})}static dispose(){this.WorkerPool.dispose()}};_e.WorkerPool=new ms(10,ph);import{cloneDeep as GB}from"lodash";var nr={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},ft=class extends OB{getCenter(){if(this.options.geometry.type==="point")return this.position.clone();let t=new Kt,e=new ca;return e.setFromObject(this),e.getCenter(t),t}getSize(){if(this.options.geometry.type==="point")return new Kt(0,0,0);let t=new ca,e=new Kt;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 Kt(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,o=.5,s=Fe(e,n.coord),a=new un(...n.coord),u=new un(...e[s]).sub(new un(...n.coord)).normalize(),l=new un().addVectors(a,u.clone().multiplyScalar(r)),c=new un().addVectors(a,u.clone().multiplyScalar(-r)),h=new un(-u.y,u.x),p=new un().addVectors(l,h.clone().multiplyScalar(o));bm([p.x,p.y],e)||(h.multiplyScalar(-1),p=new un().addVectors(l,h.clone().multiplyScalar(o)));let d=new un().addVectors(c,h.clone().multiplyScalar(o)),g=[[l.x,l.y],[p.x,p.y],[d.x,d.y],[c.x,c.y]];e=this.options.geometry.coords[0]=[...e.slice(0,s+1),...g,...e.slice(s+1)]})}}initGeometry(){let t=Xo(this.options.geometry.coords[0],this.options.geometry.coords.slice(1));return new DB(t,{steps:1,bevelEnabled:!1,depth:this.options.height,curveSegments:4})}initSingleMaterial(){let t=D.createMeshBasicMaterial({color:this.options.fillColor,opacity:this.options.fillOpacity});if(this.options.secondUrl&&ht.getTextureByUrl(this.options.secondUrl).then(n=>{n.wrapS=_3,n.wrapT=_3,n.needsUpdate=!0,t.map=n,t.side=zB}),this.options.height<=.1)return this.material=t,t;let e=D.createMeshBasicMaterial({color:Be(this.options.fillColor),opacity:this.options.fillOpacity});return this.material=[t,e],[t,e]}getMaxAndMin(t,e){let n=new ca().setFromObject(this),r=t.clone().add(e.clone().multiplyScalar(1e3)),o=new v3(r,e.clone().multiplyScalar(-1)),s=new Kt;o.intersectBox(n,s);let a=t.clone().add(e.clone().multiplyScalar(-1e3)),u=new v3(a,e.clone()),l=new Kt;return u.intersectBox(n,l),{max:l,min:s}}initGradualMaterial(){let{max:t,min:e}=new ca().setFromObject(this),n=t.clone().sub(e),r=Math.max(n.x,n.y,n.z)/2,o=this.getPosition(),s=new Kt(-1,.2,0).normalize(),{max:a,min:u}=this.getMaxAndMin(o,s),l=D.createShaderMaterial({gradualColor:this.options.gradualColor,center:this.getPosition(),maxValue:r,opacity:this.options.fillOpacity,direction:new Kt(-1,.2,0),max:a,min:u});if(this.options.height<=.1)return this.material=l,l;let c=this.getCenter(),h=new Kt(-1,.2,1).normalize(),{max:p,min:d}=this.getMaxAndMin(c,h),g=D.createShaderMaterial({gradualColor:[Be(this.options.gradualColor[0],this.options.colorFactor),Be(this.options.gradualColor[1],this.options.colorFactor)],center:this.getCenter(),maxValue:r,opacity:this.options.fillOpacity,direction:new Kt(-1,.2,1),max:p,min:d});return this.material=[l,g],[l,g]}initMaterial(){return this.options.renderType==="gradual"?this.initGradualMaterial():this.initSingleMaterial()}initLineMaterial(){if(this.options.dashed){let t=D.createLineDashedMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}else{let t=D.createLineMaterial({color:this.options.strokeColor,opacity:this.options.strokeOpacity});return this.lineMaterial=t,t}}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new UB(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 o=n[r];for(let s=0;s<o.length;s++){let a=o[s],u=s+1===o.length?o[0]:o[s+1];t.push(new Kt(a[0],a[1],e)),t.push(new Kt(u[0],u[1],e))}}return t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new FB().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new BB(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=vr(GB(S({},nr,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 o;this.line&&(this.remove(this.line),this.line=null),(o=this.lineGeometry)==null||o.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 o;this.remove(this.line),(o=this.lineGeometry)==null||o.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 kB,PlaneGeometry as VB,Mesh as HB,ShadowMaterial as WB,Color as qB,DoubleSide as XB}from"three";var ha=class extends kB{initLight(){let t=cm(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 qB(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 VB(t,e),r=new WB({transparent:!0,opacity:0,side:XB}),o=new HB(n,r);return o.receiveShadow=!0,o.position.z=-10,this.add(o),this.plane=o,o}setTarget(t){this.directionalLight.target=t}transformOpacity(t){return t*this.basicOpacity}setOpacity(t){this.plane.material.opacity=this.transformOpacity(t)}dispose(){W(this,!0)}constructor(){super(),this.basicOpacity=.07,this.directionalLight=this.initLight(),this.initPlane()}};var mZ=f(A(),1);import{EventDispatcher as ZB,Vector3 as KB}from"three";import{Box3 as y3,Vector3 as at}from"three";import{debounce as jB}from"lodash";var YB={autoUpdate:!0,appendToBody:!1,autoChangePlacement:!1},kr=class extends st{initObserver(){let t=new MutationObserver(jB(()=>{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 ft&&this.element.options.geometry.type==="polygon"){let{max:s,min:a}=new y3().setFromObject(this.element),u=(s.x+a.x)/2,l=(s.y+a.y)/2;return{left:new at(a.x,l,s.z),leftTop:new at(a.x,s.y,s.z),top:new at(u,s.y,s.z),rightTop:new at(s.x,s.y,s.z),right:new at(s.x,l,s.z),rightBottom:new at(s.x,a.y,s.z),bottom:new at(u,a.y,s.z),leftBottom:new at(a.x,a.y,s.z),center:new at(u,l,s.z)}}let{x:n,y:r,z:o}=((e=this.element)==null||(t=e.getPosition)==null?void 0:t.call(e))||this.position;return{left:new at(n,r,o),leftTop:new at(n,r,o),top:new at(n,r,o),rightTop:new at(n,r,o),right:new at(n,r,o),rightBottom:new at(n,r,o),bottom:new at(n,r,o),leftBottom:new at(n,r,o),center:new at(n,r,o)}}getPlacementScreenPosition(){let{width:t,height:e}=this.context.clientSize,n=this.getPlacementPosition();return Object.keys(n).reduce((r,o)=>{let{x:s,y:a}=O(n[o],this.context.camera,t,e);return r[o]={x:s,y:a},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,o=e/2,s=[{type:"center",getBox(a,u){return{max:{x:r+a,y:u-e},min:{x:a-r,y:u}}}},{type:"left",getBox(a,u){return{max:{x:a,y:u-o},min:{x:a-t,y:u+o}}}},{type:"leftTop",getBox(a,u){return{max:{x:a,y:u-e},min:{x:a-t,y:u}}}},{type:"top",getBox(a,u){return{max:{x:a+r,y:u-e},min:{x:a-r,y:u}}}},{type:"rightTop",getBox(a,u){return{max:{x:a+t,y:u-e},min:{x:a,y:u}}}},{type:"right",getBox(a,u){return{max:{x:a+t,y:u-o},min:{x:a,y:u+o}}}},{type:"rightBottom",getBox(a,u){return{max:{x:a+t,y:u},min:{x:a,y:u+e}}}},{type:"bottom",getBox(a,u){return{max:{x:a+r,y:u},min:{x:a-r,y:u+e}}}},{type:"leftBottom",getBox(a,u){return{max:{x:a,y:u},min:{x:a-t,y:u+o}}}}];for(let a=0;a<s.length;a++){let u=s[a],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 y3().setFromObject(this.element).getCenter(new at):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:o,y:s}=this.context.clientSize;if(this.div){if(this.options.appendToBody){this.div.style.left=""+o+"px",this.div.style.top=""+(s+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:o,y:s}=O(e,this.context.camera,n,r);this.clientPos.x===o&&this.clientPos.y===s&&!t||this._updatePosition(o,s)}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 at,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=S({},YB,e),this.registryEvent(),this.div=this.initDiv(),this.options.appendToBody?document.body.appendChild(this.div):this.context.container.appendChild(this.div)}};var $B={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},rr=class extends ZB{get withinDisplayRange(){return this.overlay.withinDisplayRange}resetSize(){return y(this,null,function*(){if(yield tv(),!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,o]of Object.entries(e.styles))n.style[r]=o;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,o=n*t,{x:s,y:a}=this.overlay.clientPos;return{left:s-r/2,right:s+r/2,top:this.options.icon?a-o:a-o/2,bottom:this.options.icon?a:a+o/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,o;super(),this.context=t,this.visible=!0,this.size={width:0,height:0},this.position=new KB,this.userData={},this.showTextStatus=!0,this.disposed=!1,this._changePosition=()=>{this.overlay.updatePosition(!0)},this.options=vr(S({},$B,e),this),this.position.set(((n=e.position)==null?void 0:n.x)||0,((r=e.position)==null?void 0:r.y)||0,((o=e.position)==null?void 0:o.z)||0),this.overlay=new kr(this.context,{autoUpdate:!1}),this.overlay.addEventListener("update-position",s=>{let{x:a,y:u,height:l}=s;this.overlay.div.style.transform="translate3d(calc("+a+"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",s=>{let{value:a}=s;a?this.img?this.img.setAttribute("src",a):(this.addIcon(),this._changePosition()):(this.img&&this.div.removeChild(this.img),this.img=void 0,this._changePosition(),this.resetSize())}),this.addEventListener("change-texts",s=>{let{value:a}=s,u=this.textDiv;if(u){let l=this.initText();this.div.replaceChild(l,u)}else this.addText();this.resetSize()}),this.addEventListener("change-opacity",s=>{let{value:a}=s;this.overlay.setOpacity(a)}),this.addEventListener("change-icon_size",s=>{let{value:a}=s;this.img&&(this.img.style.width=""+((a==null?void 0:a[0])||32)+"px",this.img.style.height=""+((a==null?void 0:a[1])||32)+"px",this.resetSize())}),this.addEventListener("change-icon_opacity",s=>{let{value:a}=s;this.img&&(this.img.style.opacity=""+a)}),this.addEventListener("change-icon_border",s=>{let{value:a}=s;this.img&&(this.img.style.border=a.width+"px solid "+a.color)}),this.addEventListener("change-background",s=>{let{value:a}=s;this.div.style.background=a})}};var n$=f(A(),1),r$=f(oe(),1),i$=f(se(),1),o$=f(ae(),1),s$=f(ue(),1),a$=f(le(),1),u$=f(ce(),1),l$=f(he(),1);import{Box3 as Ma,Object3D as mh,Vector3 as wa}from"three";import{MeshBasicMaterial as JB,Object3D as QB,PlaneGeometry as tz,Texture as ez,Mesh as nz,Matrix3 as x3,Vector2 as rz,FrontSide as iz}from"three";import{create as oz}from"@mars3d/heatmap.js";import{bbox as sz,center as az}from"@turf/turf";var pa=class extends QB{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:o,center:s,scale:a}=this.box,u=((e=this.context.config.heatMap)==null?void 0:e.radius)||1,l=S({width:n,height:r,container:this.div},this.context.config.heatMap,{radius:u});this.heatmap=oz(l);let c=this.transformData(t,o,a);t.maxValue!==void 0&&(c.max=t.maxValue),t.minValue!==void 0&&(c.min=t.minValue),this.heatmap.setData(c),this.initPlane(n/a,r/a);let h=this.context.center;this.position.set(s[0]-h[0],s[1]-h[1],this.position.z)}initPlane(t,e){this.plane&&this.remove(this.plane);let n=new tz(t,e),r=new ez(this.div.firstChild);r.needsUpdate=!0;let o=new JB({transparent:!0,side:iz,map:r});o.needsUpdate=!0,this.plane=new nz(n,o),this.plane.renderOrder=1e5,this.add(this.plane)}getTransMatrix(t){let{x:e,y:n}=t;return new x3().makeScale(this.box.scale,-this.box.scale).multiply(new x3().makeTranslation(-e,-n))}transformData(t,e,n){var r,o;let s=this.getTransMatrix(e);var a;let u=(a=(r=t.data[0])==null?void 0:r.value)!=null?a:0;var l;let c=(l=(o=t.data[0])==null?void 0:o.value)!=null?l:0;return{data:t.data.map(p=>{let d=new rz(p.x,p.y).applyMatrix3(s);return p.value>u&&(u=p.value),p.value<c&&(c=p.value),{x:Math.ceil(d.x),y:Math.ceil(d.y),value:p.value}}),max:u,min:c}}getBox(){let t=this.context.range,e=sz(t),n=Math.ceil(e[2]-e[0]),r=Math.ceil(e[3]-e[1]),o=4e3,s=4e3,a=o/n,u=s/r,l=Math.min(a,u);this.scaleRatio=l;let c=n*l,h=r*l,p={x:Math.ceil(e[0]),y:Math.ceil(e[3])},d=az(t).geometry.coordinates;return{width:c,height:h,leftTop:p,center:d,scale:l}}dispose(){this.clearHeatmap(),this.div.remove(),this.div=null,this.plane&&(this.remove(this.plane),W(this.plane))}constructor(t){super(),this.context=t,this.scaleRatio=1,this.div=document.createElement("div"),this.box=this.getBox()}};import{Object3D as uz,Vector3 as lz}from"three";var fa=class extends uz{loadModel(){return y(this,null,function*(){let t=yield _t.loadModel(this.options.modelUrl);t.scene.rotation.set(Math.PI/2,Math.PI/2,0),this.add(t.scene),this.model=t})}dispose(){W(this),this.model=null}constructor(t,e){super(),this.context=t,this.options=e,this.model=null,this.position.copy(e.position||new lz(0,0,0)),this.loadModel()}};var FZ=f(A(),1);import{Box3 as hz,Vector3 as pz}from"three";import{Object3D as cz}from"three";var ut=class extends cz{setOpacity(t,e){e===void 0&&(e=!1),this.children.forEach(n=>{n.setOpacity==null||n.setOpacity.call(n,t,e)})}dispose(){W(this),this.children.forEach(t=>t.dispose==null?void 0:t.dispose.call(t)),this.clear()}constructor(t){super(),this.context=t}};var da=class extends ut{getCenter(){return new hz().setFromObject(this).getCenter(new pz)}createGraphic(t){let e=new ft(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,o)=>{if(o instanceof ft){let s=o.raycast(t);if(s){let{distance:a}=s;if(a<r.distance)return{distance:s.distance,position:s.position,graphic:o}}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=S({},r.options,e),Object.keys(n).forEach(o=>{r.options[o]=n[o]}))}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}};var WZ=f(ga(),1),qZ=f(F(),1);import{debounce as Sz}from"lodash";var ma=class extends ut{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 rr(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 rr&&r.isContain(t,e))}collisionDetection(){let t=[];this.pois.filter(n=>n.visible&&n.withinDisplayRange).forEach((n,r)=>{let{left:o,right:s,top:a,bottom:u}=n.getBox();if(r===0||!n.options.collision_enable){t.push({left:o,right:s,top:a,bottom:u}),n.parentSetVisible(!0);return}let l=t.some(c=>c.left<s&&c.right>o&&c.top<u&&c.bottom>a);n.parentSetVisible(!l),l||t.push({left:o,right:s,top:a,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 Q,this.onUpdate=()=>{this.timer.requestAnimationFrame(()=>{this.collisionDetection()})},this.registryEvent(),this.debounceCollisionDetection=Sz(this.collisionDetection,10)}};var $Z=f(ga(),1),JZ=f(F(),1);import{Vector2 as bz,Vector3 as Mz}from"three";var Vr=class extends ut{clear(){return this.pois.forEach(t=>{t.dispose()}),this.pois=[],this}createPoi(t){let e=new it(this.context,t);return this.pushPoi(e),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.remove(t),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}add(t){return this.children.some(e=>e.options.id===t.options.id)||(t.addEventListener("change-level",()=>this.changePoiLevelOrCollisionEnable(t)),t.addEventListener("change-collision_enable",()=>this.changePoiLevelOrCollisionEnable(t))),super.add(t),this}pushPoi(t){if(t.parentSetVisible(!1),t.userData.type==="parkingSpace"&&(this.needChangeParkingSpaceVisibleByZoom=!0),this.add(t),!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){let n=new bz(t,e);return this.pois.filter(o=>o instanceof it&&o.canSelect&&o.box.containsPoint(n))}collisionDetection(){let t=[],{camera:e}=this.context;e.updateMatrixWorld();let n=l=>l<=1&&l>=-1,r=e.projectionMatrix.clone();r.multiply(e.matrixWorldInverse);let o=e.zoom/this.context.basicZoom,s=25/30,a=Math.min(25,Math.max(1,o*s));this.pois.filter(l=>{if(l.visible){var c,h;if(!(a<=l.options.maxWeight&&a>=l.options.minWeight))return l.parentSetVisible(!1),!1;let p=l.spriteIcon?(c=l.spriteIcon)==null?void 0:c.matrixWorld:((h=l.spriteText)==null?void 0:h.matrixWorld)||l.matrixWorld,d=new Mz().setFromMatrixPosition(p);return d.applyMatrix4(r),l.screenPosition=d,n(d.x)&&n(d.y)&&n(d.z)?!0:(l.parentSetVisible(!1),!1)}return!1}).forEach((l,c)=>{let h=l.getBox(l.screenPosition);if(c===0||!l.options.collision_enable){t.push(h),l.parentSetVisible(!0);return}let p=t.some(d=>d.intersectsBox(h));l.parentSetVisible(!p),p||t.push(h)})}setOpacity(t){this.pois.forEach(e=>{e.options.icon_opacity=t,e.options.text_opacity=t})}registryEvent(){this.context.addEventListener("update",this.onUpdate),this.context.addEventListener("control-zoom-change",this.changeParkingSpaceVisibleByZoom)}unRegistryEvent(){this.context.removeEventListener("update",this.onUpdate),this.context.removeEventListener("control-zoom-change",this.changeParkingSpaceVisibleByZoom)}onAddToScene(){this.registryEvent()}onRemoveFromScene(){this.unRegistryEvent()}dispose(){this.timer.dispose(),this.pois.forEach(t=>t.dispose()),this.pois.length=0,super.dispose(),this.unRegistryEvent()}constructor(t){super(t),this.pois=[],this.needChangeParkingSpaceVisibleByZoom=!1,this.timer=new Q,this.changeParkingSpaceVisibleByZoom=()=>{var e;let n=(e=this.parent)==null?void 0:e.parent;if(n&&n instanceof $t){let{clientSize:{width:r,height:o}}=this.context,{max:s,min:a}=n.box,l=Math.min(r/(s.x-a.x),o/(s.y-a.y))*(s.x-a.x)/60,c=this.context.camera.zoom>=l;this.pois.filter(h=>h.userData.type==="parkingSpace").map(h=>{h.visible=c,c||h.parentSetVisible(c)})}},this.onUpdate=()=>{this.needChangeParkingSpaceVisibleByZoom&&(this.changeParkingSpaceVisibleByZoom(),this.needChangeParkingSpaceVisibleByZoom=!1),this.timer.requestAnimationFrame(()=>{this.collisionDetection()})}}};var iK=f(Ot(),1),oK=f(A(),1);import{Vector2 as fh}from"three";import{isNil as wz}from"lodash";var va=class extends ut{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,o)=>{var s;(s=r.texts[0])==null||s.split(/[,,]/).map(a=>{this.parkingNoIndexMap.set(a,o)}),this.nodeIdIndexMap.set(r.id,o)})):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 y(this,null,function*(){let e=new ji(this.context,t);this.mergedParkingSpace=e,this.add(e)})}createMergedParkingByMergedElements(t){let e=new _a(this.context,t);this.mergedParkingSpace=e,this.add(e)}createIndependentParking(t){t.forEach(e=>{var n;let r=new ft(this.context,e);this.add(r),(n=e.texts[0])==null||n.split(/[,,]/).map(o=>{this.parkingNoGraphicMap.set(o,r)}),this.graphicMap.set(r.options.id,r)})}createParkingTexture(t){let e=t.filter(n=>aa[n.parkingType]).map(n=>{let r=new fh(...n.geometry.coords[0][0]),o=new fh(...n.geometry.coords[0][1]),s=new fh(...n.geometry.coords[0][2]),a=Math.min(r.distanceTo(o),o.distanceTo(s)),u=0;return a===r.distanceTo(o)?u=o.sub(r).angle()-Math.PI/2:u=s.sub(o).angle()-Math.PI/2,{uuid:n.id,iconUrl:aa[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:a-1,secondHeight:a-1,secondRotate:u,centerCoords:[n.center_coord_x,n.center_coord_y]}});if(e.length){let n=new ir(this.context,e);this.add(n)}}createMergedParkingTexture(t){t.map(e=>{e.iconUrl=aa[e.iconUrl];let n=new or(this.context,e);this.add(n)})}changeParkingColor(t){this.merged?Object.keys(t).map(e=>{let n=this.parkingNoIndexMap.get(e);if(!wz(n)){var r;(r=this.mergedParkingSpace)==null||r.setParkingColorByIndex(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 a=this.parkingOriginOptions.get(r.id);var o;r.fillOpacity=Math.min(t,(o=a==null?void 0:a.fillOpacity)!=null?o:1);var s;r.strokeOpacity=Math.min(t,(s=a==null?void 0:a.strokeOpacity)!=null?s:1)}}),this.merged)if(this.mergedParkingSpace instanceof ji)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 ir||r instanceof or).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,W(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}};var dK=f(F(),1);var ya=class extends ut{addModels(t){let e=t.reduce((n,r)=>{let{url:o}=r;return n[o]?n[o].push(r):n[o]=[r],n},{});Object.values(e).forEach(n=>{let r=new xa(this.context,n);this.add(r)})}constructor(t){super(t)}};var zK=f(A(),1);import{Box3 as Oz,Group as Dz,Vector3 as Uz}from"three";import{LineMaterial as Tz}from"three/examples/jsm/lines/LineMaterial.js";import{Color as Yi,LineBasicMaterial as Az,MeshStandardMaterial as Cz,MeshBasicMaterial as Rz,ShaderMaterial as Zi,DoubleSide as Pz,LineDashedMaterial as Iz}from"three";function E3(i){return`${i.x}-${i.y}-${i.z}`}var Pt=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 o=new Az({color:new Yi(t).convertLinearToSRGB(),transparent:!0,opacity:e,vertexColors:n!=null?n:!1});return this.lineMaterialMap.set(r,o),o}static createMeshStandardMaterial({color:t,opacity:e}){let n=`${t}-${e}`;if(this.meshStandardMaterialMap.has(n))return this.meshStandardMaterialMap.get(n);let r=new Cz({color:new Yi(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 o=new Rz({color:t,transparent:!0,opacity:e,depthWrite:!0,vertexColors:n!=null?n:!1});return this.meshBasicMaterialMap.set(r,o),o}static createShaderMaterial({gradualColor:t,center:e,maxValue:n,opacity:r,direction:o,max:s,min:a}){let u=`${t.toString()}-${E3(e)}-${n}-${r}-${E3(o)}`;if(this.shaderMaterialMap.has(u))return this.shaderMaterialMap.get(u);let l=`
3979
3979
  uniform vec3 uColor;
3980
3980
  uniform vec3 uGradualColor;
3981
3981
  uniform vec3 center;
@@ -8005,7 +8005,7 @@ void main() {
8005
8005
  gl_FragColor = vec4(uColor2, uOpacity); // \u5176\u4ED6\u9762\u989C\u8272\uFF09
8006
8006
  }
8007
8007
  }
8008
- `,n=-1/0,r=this.geometry.getAttribute("position");if(r)for(let s=0;s<r.count;s++){let a=r.getZ(s);a>n&&(n=a)}let o=new EG({uniforms:{maxZ:{value:n},uColor:{value:new P3(this.options[0].fillColor).convertLinearToSRGB()},uColor2:{value:new P3(Be(this.options[0].fillColor)).convertLinearToSRGB()},uOpacity:{value:this.options[0].fillOpacity}},vertexShader:t,fragmentShader:e,transparent:!0});this.material=o}initLineMaterial(){let t=D.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 _G(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 o=0;o<r.length;o++){let s=r[o];for(let a=0;a<s.length;a++){let u=s[a],l=a+1===s.length?s[0]:s[a+1];t.push(new R3(u[0],u[1],e)),t.push(new R3(l[0],l[1],e))}}}),t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new yG().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new xG(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=>S({},nr,r)),this.init())}};var vJ=f(A(),1),_J=f(ss(),1);import{DoubleSide as bG,Matrix4 as L3,Mesh as MG,MeshBasicMaterial as wG,Object3D as TG,PlaneGeometry as AG}from"three";import{mergeGeometries as CG}from"three/examples/jsm/utils/BufferGeometryUtils.js";var RG={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},Ia=class extends TG{init(){return y(this,null,function*(){let t=yield Promise.all(this.options.map(s=>nt.getTextureByText(s.texts[0],{fillStyle:K0(s.fillColor,s.fillOpacity),strokeStyle:K0(s.strokeColor,s.strokeOpacity),lineWidth:6,font:"bold 54px sans-serif",maxWidth:2048}))),e=t.map((s,a)=>{let u=this.options[a],{width:l,height:c}=s.texture.image,h=l/c,p=u.secondHeight*h,d=new AG(p,u.secondHeight),g=new L3().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight+u.height).multiply(new L3().makeRotationZ(u.secondRotate));return d.applyMatrix4(g),d}),n=CG(e,!0);e.forEach(s=>s.dispose());let r=t.map(s=>{let{texture:a}=s,u=new wG({map:a,alphaTest:1,side:bG});return a.needsUpdate=!0,u}),o=new MG(n,r);this.mesh=o,this.position.z+=.04,this.add(o)})}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=>S({},RG,n)).filter(n=>n.texts[0].trim()),this.options.length&&this.init()}};import{Object3D as PG}from"three";import{Line2 as IG}from"three/examples/jsm/lines/Line2.js";import{LineGeometry as LG}from"three/examples/jsm/lines/LineGeometry.js";import{LineMaterial as NG}from"three/examples/jsm/lines/LineMaterial.js";var Qi=class extends PG{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 IG(this.lineGeometry,this.lineMaterial),this.line.renderOrder=100003,this.add(this.line)}dispose(){var t;this.unRegistryEvent(),this.line&&W(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 LG,this.lineMaterial=new NG({color:0,transparent:!0,depthTest:!1,linewidth:2}),this.line=null,this.onResize=()=>{let{width:r,height:o}=this.context.clientSize;this.lineMaterial.resolution.set(r,o)},this.onResize(),this.registryEvent(),e&&n&&this.setPosition(e,n)}};var IJ=f(F(),1),LJ=f(A(),1);import{Box3 as OG,InstancedMesh as DG,Object3D as UG,Vector3 as FG}from"three";import{Matrix4 as to}from"three";var xa=class extends UG{loadModel(){return y(this,null,function*(){let t=yield _t.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 DG(l,c,this.options.length)});t.scene.rotation.set(Math.PI/2,0,0);let o=new OG().setFromObject(t.scene).getSize(new FG),s=Math.max(o.x,o.y);this.options.map(u=>{let l=new to,c=u.width/s;return l.multiply(new to().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight)).multiply(new to().makeScale(c,c,c)).multiply(new to().makeRotationZ(u.rotate)).multiply(new to().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,e.emissive=e.color,e.emissiveMap=e.map}):(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(o=>{if(e)o.opacity=t;else{let s=this.materialOriginParams.get(o)||{opacity:1};t>s.opacity?o.opacity=s.opacity:o.opacity=t}o.needsUpdate=!0});else{let o=this.materialOriginParams.get(r)||{opacity:1};t>o.opacity?r.opacity=o.opacity:r.opacity=t,r.needsUpdate=!0}}),this.children.forEach(n=>{n.instanceMatrix.needsUpdate=!0})}dispose(){this.children.forEach(t=>t.dispose()),W(this),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.subMeshes=[],this.materialOriginParams=new Map,this.loadModel()}};import{Object3D as BG,Mesh as zG,LineSegments as GG,ObjectLoader as kG}from"three";var sr=class extends BG{init(){return y(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=D.GetMergeAttributeGraphicMaterial()}initLineMaterial(){return this.lineMaterial=D.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new zG(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 GG(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 kG,this.options=S({},nr,e),this.init()}};import{Mesh as VG,Object3D as HG,ObjectLoader as WG}from"three";var La=class extends HG{initGeometry(){return y(this,null,function*(){let t=new WG().parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}init(){return y(this,null,function*(){var t;yield this.initGeometry();let e=new VG(this.geometry,Pt.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 s=0;s<r.count;s++)if(e)r.setX(s,t);else{var o;r.setX(s,Math.min(t,(o=this.originOpacities[s])!=null?o: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()}};var KJ=f(Kn(),1),$J=f(We(),1),JJ=f(qe(),1),QJ=f(Xe(),1),tQ=f(je(),1),eQ=f(Ye(),1),nQ=f(Ze(),1),rQ=f(Ke(),1),iQ=f($e(),1),oQ=f(Je(),1),sQ=f(Qe(),1),aQ=f(tn(),1),uQ=f(en(),1),lQ=f(nn(),1),cQ=f(rn(),1);import{Float32BufferAttribute as qG,FrontSide as XG,InstancedBufferAttribute as jG,InstancedMesh as YG,MeshBasicMaterial as ZG,Object3D as KG,Shape as $G,ShapeGeometry as JG,Vector2 as Na}from"three";var or=class extends KG{init(){return y(this,null,function*(){let t=this.options.iconUrl,e=yield ht.getTextureByUrl(t),n=new ZG({map:e,transparent:!0,alphaTest:.2,side:XG}),r=new YG(this.geometry,n,this.options.mergedMatrixes.size);r.instanceMatrix=new jG(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&&W(this.mesh),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new JG(new $G([new Na(-.5,-.5),new Na(-.5,.5),new Na(.5,.5),new Na(.5,-.5)])),this.options=S({},yh,e);let n=new qG([0,0,0,1,1,1,1,0],2);this.geometry.setAttribute("uv",n),this.init()}};var vQ=f(F(),1);import{Mesh as QG,Object3D as tk,ObjectLoader as ek,Vector2 as N3}from"three";import{LineSegments2 as O3}from"three/examples/jsm/lines/LineSegments2.js";import{LineSegmentsGeometry as D3}from"three/examples/jsm/lines/LineSegmentsGeometry.js";var Oa=class extends tk{initGeometry(){return y(this,null,function*(){let t=this.loader.parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}initMaterial(){let t=D.createMeshBasicMaterial({color:"#ffffff",opacity:1,vertexColors:!0});return this.material=t,t}initDoubleLine(){if(this.options.dashedLineGeometry){let t=D.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!0,resolution:new N3(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0});t.transparent=!0,t.needsUpdate=!0;let e=new D3;e.setPositions(this.options.dashedLineGeometry.positions),e.setColors(this.options.dashedLineGeometry.colors);let n=new O3(e,t);n.computeLineDistances(),n.position.z+=.01,this.add(n),this.doubleLines.push(n)}if(this.options.lineGeometry){let t=D.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!1,resolution:new N3(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new D3;e.setPositions(this.options.lineGeometry.positions),e.setColors(this.options.lineGeometry.colors);let n=new O3(e,t);n.position.z+=.01,this.add(n),this.doubleLines.push(n)}}init(){return y(this,null,function*(){yield this.initGeometry(),this.initMaterial();let t=new QG(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 ek,this.init()}};var wQ=f(Kn(),1),TQ=f(We(),1),AQ=f(qe(),1),CQ=f(Xe(),1),RQ=f(je(),1),PQ=f(Ye(),1),IQ=f(Ze(),1),LQ=f(Ke(),1),NQ=f($e(),1),OQ=f(Je(),1),DQ=f(Qe(),1),UQ=f(tn(),1),FQ=f(en(),1),BQ=f(nn(),1),zQ=f(rn(),1),GQ=f(A(),1);import{Object3D as nk,Vector3 as xh,BufferGeometry as rk,LineSegments as ik,Color as U3,BoxGeometry as ok,InstancedMesh as sk,Matrix4 as ak,Quaternion as uk,InstancedBufferAttribute as F3,BufferAttribute as B3}from"three";var ji=class extends nk{setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new U3(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}init(){return y(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=D.GetInstancedParkingSpaceMaterial()}initLineMaterial(){let t=D.GetMergeAttributeGraphicLineMaterial();this.lineMaterial=t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new sk(this.geometry,this.material,this.options.length);let t=new F3(new Float32Array(this.options.length),1),e=new F3(new Float32Array(this.options.length),1);this.options.forEach((n,r)=>{let o=n.geometry.coords[0],[s,a,u]=o.slice(0,3),l=Math.sqrt((a[0]-s[0])**2+(a[1]-s[1])**2),c=Math.sqrt((u[0]-a[0])**2+(u[1]-a[1])**2),h=[l,c],p=Math.max(...h),d=Math.min(...h),g;p===l?g=[a[0]-s[0],a[1]-s[1]]:g=[u[0]-a[0],u[1]-a[1]];let[v,_]=g,E=Math.atan2(_,v)-Math.PI/2,b=new ak().compose(new xh(n.center_coord_x,n.center_coord_y,(n.deltaHeight||0)+n.airHeight+n.height/2),new uk().setFromAxisAngle(new xh(0,0,1),E),new xh(d,p,n.height));this.mesh.setMatrixAt(r,b),this.mesh.setColorAt(r,new U3(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}=vc(this.options),r=new rk().setFromPoints(t);r.setAttribute("color",new B3(new Float32Array(e),3)),r.setAttribute("opacity",new B3(new Float32Array(n),1)),this.lineOriginOpacity=[...n],this.lineGeometry=r}createBorder(){this.line&&this.remove(this.line);let t=new ik(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 s=0;s<n.count;s++)if(e)n.array[s]=t;else{var r;n.array[s]=Math.min(t,(r=this.originOpacity[s])!=null?r:1)}if(n.needsUpdate=!0,this.lineGeometry){let s=this.lineGeometry.getAttribute("opacity");for(let a=0;a<s.count;a++)if(e)s.array[a]=t;else{var o;s.array[a]=Math.min(t,(o=this.lineOriginOpacity[a])!=null?o:1)}s.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 ok(1,1,1),this.options=[],this.originOpacity=[],this.lineOriginOpacity=[],this.options=e.map(n=>S({},nr,n)),this.init()}};var jQ=f(Kn(),1),YQ=f(We(),1),ZQ=f(qe(),1),KQ=f(Xe(),1),$Q=f(je(),1),JQ=f(Ye(),1),QQ=f(Ze(),1),ttt=f(Ke(),1),ett=f($e(),1),ntt=f(Je(),1),rtt=f(Qe(),1),itt=f(tn(),1),ott=f(en(),1),stt=f(nn(),1),att=f(rn(),1),utt=f(A(),1);import{Object3D as lk,LineSegments as ck,BoxGeometry as hk,InstancedMesh as pk,InstancedBufferAttribute as Da,ObjectLoader as fk,Color as dk}from"three";var _a=class extends lk{init(){return y(this,null,function*(){this.initMaterial(),this.initMesh(),this.option.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new dk(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}initMaterial(){this.material=D.GetInstancedParkingSpaceMaterial()}initLineMaterial(){return this.lineMaterial=D.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new pk(this.geometry,this.material,this.option.size);let t=new Da(new Float32Array(this.option.opacities),1),e=new Da(new Float32Array(this.option.maxZ),1);this.mesh.instanceMatrix=new Da(new Float32Array(this.option.matrixes),16),this.mesh.instanceColor=new Da(new Float32Array(this.option.colors),3),this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.mesh.instanceMatrix.needsUpdate=!0,this.originOpacity=[...this.option.opacities],this.add(this.mesh)}initLineGeometry(){if(this.lineGeometry&&this.lineGeometry.dispose(),this.option.lineGeometry){let t=new fk().parseGeometries([this.option.lineGeometry]);this.lineGeometry=t[this.option.lineGeometry.uuid];let e=this.lineGeometry.getAttribute("opacity");this.lineOriginOpacity=[...e.array]}}createBorder(){this.line&&this.remove(this.line);let t=new ck(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 s=0;s<n.count;s++)if(e)n.array[s]=t;else{var r;n.array[s]=Math.min(t,(r=this.originOpacity[s])!=null?r:1)}if(n.needsUpdate=!0,this.lineGeometry){let s=this.lineGeometry.getAttribute("opacity");for(let a=0;a<s.count;a++)if(e)s.array[a]=t;else{var o;s.array[a]=Math.min(t,(o=this.lineOriginOpacity[a])!=null?o:1)}s.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 hk(1,1,1),this.originOpacity=[],this.lineOriginOpacity=[],this.option=e,this.init()}};import{Frustum as gk}from"three";var Ua=class extends Jt{setEnable(t){super.setEnable(t),Et(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,o=O(this.startPoint,e,n,r),s=O(this.endPoint,e,n,r),a={x:Math.min(o.x,s.x),y:Math.min(o.y,s.y)},u={x:Math.max(o.x,s.x),y:Math.max(o.y,s.y)},l=this.searchMapInFrustum(a,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(o=>o instanceof ft&&this.searchChildInFrustum(o,t,e)))||[]}searchChildInFrustum(t,e,n){let{context:{camera:r,container:{clientWidth:o,clientHeight:s}}}=this;if(!t)return!1;if(!t.mesh){let p=t.getPosition();if(p){let d=O(p,r,o,s);return xn(d,e,n)}return!1}t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let a=t.mesh.geometry.boundingBox;if(!a)return!1;let{min:u,max:l}=a,c=O(u,r,o,s),h=O(l,r,o,s);return!(!xn(c,e,n)||!xn(h,e,n))}dispose(){super.dispose(),this.rect=null,this.unRegistryEvent()}constructor(t){super(t),this.frustum=new gk,this.onPointerDown=r=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(r);o&&(this.startPoint=o),this.endPoint=void 0},this.onPointerMove=r=>{if(!this.enable||!this.startPoint)return;let o=this.getIntersectByPointerEvent(r);o&&(this.endPoint=o)},this.onPointerUp=r=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(r);o&&(this.endPoint=o),this.doSelect(),this.startPoint=void 0},this.onUpdate=()=>{if(this.startPoint){let r=this.getSvgCoordinate(this.startPoint),o=S({},r);this.endPoint&&(o=this.getSvgCoordinate(this.endPoint));let s={x:Math.min(r.x,o.x),y:Math.min(r.y,o.y)},a=Math.abs(o.x-r.x),u=Math.abs(o.y-r.y);Et(this.rect,s.x,s.y,a,u)}else Et(this.rect,0,0,0,0)};let{config:{selectBox:{fill:e,stroke:n}}}=t;this.rect=En(n,e),this.svg.appendChild(this.rect),this.registryEvent()}};var Fa=class extends mk{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:o,y:s}=this.downPoint;if(Math.sqrt((o-n)**2+(s-r)**2)>3)return;let{graphics:a}=this.context.getGraphicsByDeviceXy(n,r),u=new Set(a.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"&&(a.push(p),u.add(c.options.id))}}),(yr?e.metaKey:e.ctrlKey)||this._list.clear(),a.forEach(c=>this._list.add(c)),this.selectEnd(),this.downPoint=null},this.onPointerOut=e=>{this.disableBoxSelection()},this.onKeyDown=e=>{xr(e.key)&&this.enableBoxSelection()},this.onKeyUp=e=>{xr(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 Ua(t),this.boxSelection.setEnable(!1),this.registryEvent()}};var Itt=f(oe(),1),Ltt=f(se(),1),Ntt=f(ae(),1),Ott=f(ue(),1),Dtt=f(le(),1),Utt=f(ce(),1),Ftt=f(he(),1),Btt=f(A(),1);import{EventDispatcher as vk,Vector2 as _k}from"three";var Ba=class extends vk{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 Q,this.graphicTimerMap=new Map,this.onPointerMove=e=>{let{graphics:n,pois:r,e:o}=e,s=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&&!s.length&&this.curGraphics.size){this.curGraphics.clear(),this.handleHoverGraphicsChange();return}let{time:a}=this.context.config.hover,u=new Set;if(s.length){let c,h=1e4;s.forEach(p=>{let d=r.find(g=>g.options.id===p.options.id);if(d instanceof rr){let{x:g,y:v}=d.clientPos,_=Math.sqrt((g-o.offsetX)**2+(v-o.offsetY)**2);_<h&&(h=_,c=p)}else if(d instanceof it){let{x:g,y:v}=d.box.getCenter(new _k),_=Math.sqrt((g-o.offsetX)**2+(v-o.offsetY)**2);_<h&&(h=_,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()},a);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()}};var Htt=f(A(),1);import{Box3 as yk,Vector3 as Re}from"three";import{polygon as z3,intersect as xk}from"@turf/turf";var za=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(g=>g instanceof $t).length)return null;let e=this.box,{camera:n,clientSize:{width:r,height:o}}=this.context,{min:s,max:a}=e,l=[new Re(s.x,s.y,s.z),new Re(a.x,s.y,s.z),new Re(s.x,a.y,s.z),new Re(a.x,a.y,s.z),new Re(s.x,s.y,a.z),new Re(a.x,s.y,a.z),new Re(s.x,a.y,a.z),new Re(a.x,a.y,a.z)].map(g=>O(g,n,r,o)),c=Math.min(...l.map(g=>g.x)),h=Math.max(...l.map(g=>g.x)),p=Math.min(...l.map(g=>g.y)),d=Math.max(...l.map(g=>g.y));return{left:c,right:h,top:p,bottom:d}}checkDistanceToScreenEdge(t){let{left:e,right:n,top:r,bottom:o}=t,{width:s,height:a}=this.context.clientSize,[u,l,c,h]=this.context.config.cameraBound.padding,p=z3([[[e,r],[n,r],[n,o],[e,o],[e,r]]]),d=z3([[[h,u],[s-l,u],[s-l,a-c],[h,a-c],[h,u]]]);try{return xk(p,d)!==null}catch(g){return console.warn("\u8BA1\u7B97\u4EA4\u96C6\u51FA\u9519:",g),!1}}dispose(){this.unRegistryEvent()}constructor(t){this.context=t,this.prevCamera={position:new Re,zoom:1,target:new Re},this.enable=!0,this.box=new yk,this.onCameraChange=()=>{let e=this.getCurFloorScreenPosition();if(e){let{left:n,right:r,top:o,bottom:s}=e;this.checkDistanceToScreenEdge({left:n,right:r,top:o,bottom:s})?this.changePrevCamera():this.backToPrevCamera()}},this.registryEvent(),this.changePrevCamera()}};var oet=f(bh(),1);import{Vector3 as e1}from"three";import{Tween as Wa,Group as Vk}from"@tweenjs/tween.js";var eet=f(A(),1),net=f(F(),1);import{EventDispatcher as Fk,MOUSE as Wr,Quaternion as Q3,Spherical as ka,TOUCH as qr,Vector2 as Ut,Vector3 as Qt,Plane as Bk,Ray as zk,MathUtils as Gk}from"three";var Va=new zk,t1=new Bk,kk=Math.cos(70*Gk.DEG2RAD),Ha=class extends Fk{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 Ut,this.rotateLineEnd=new Ut,this.spherical=new ka,this.sphericalDelta=new ka,this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new Qt,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:Wr.PAN,MIDDLE:Wr.DOLLY,RIGHT:Wr.ROTATE},this.touches={ONE:qr.PAN,TWO:qr.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 a.phi},this.getAzimuthalAngle=function(){return a.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(x){x.addEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=x},this.stopListenToKeyEvents=function(){var x;(x=this._domElementKeyEvents)==null||x.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(),o=r.NONE},this.update=function(){let x=new Qt,M=new Q3().setFromUnitVectors(t.up,new Qt(0,1,0)),Z=M.clone().invert(),rt=new Qt,It=new Q3,xe=new Qt,te=2*Math.PI;return function($r){$r===void 0&&($r=null);let Pe=n.object.position;x.copy(Pe).sub(n.target),x.applyQuaternion(M),a.setFromVector3(x),n.autoRotate&&o===r.NONE&&C(R($r)),n.enableDamping?(a.theta+=u.theta*n.dampingFactor,a.phi+=u.phi*n.dampingFactor):(a.theta+=u.theta,a.phi+=u.phi);let Ie=n.minAzimuthAngle,Le=n.maxAzimuthAngle;isFinite(Ie)&&isFinite(Le)&&(Ie<-Math.PI?Ie+=te:Ie>Math.PI&&(Ie-=te),Le<-Math.PI?Le+=te:Le>Math.PI&&(Le-=te),Ie<=Le?a.theta=Math.max(Ie,Math.min(Le,a.theta)):a.theta=a.theta>(Ie+Le)/2?Math.max(Ie,a.theta):Math.min(Le,a.theta)),a.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,a.phi)),a.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(c,n.dampingFactor):n.target.add(c),n.zoomToCursor&&U||n.object.isOrthographicCamera?a.radius=Eu(a.radius):a.radius=Eu(a.radius*l),x.setFromSpherical(a),x.applyQuaternion(Z),Pe.copy(n.target).add(x),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 uo=!1;if(n.zoomToCursor&&U){let Jr=null;if(n.object.isPerspectiveCamera){let Qr=x.length();Jr=Eu(Qr*l);let lo=Qr-Jr;n.object.position.addScaledVector(P,lo),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let Qr=new Qt(L.x,L.y,0);Qr.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),uo=!0;let lo=new Qt(L.x,L.y,0);lo.unproject(n.object),n.object.position.sub(lo).add(Qr),n.object.updateMatrixWorld(),Jr=x.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Jr!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Jr).add(n.object.position):(Va.origin.copy(n.object.position),Va.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(Va.direction))<kk?t.lookAt(n.target):(t1.setFromNormalAndCoplanarPoint(n.object.up,n.target),Va.intersectPlane(t1,n.target))))}else n.object.isOrthographicCamera&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),uo=!0);return l=1,U=!1,uo||rt.distanceToSquared(n.object.position)>s||8*(1-It.dot(n.object.quaternion))>s||xe.distanceToSquared(n.target)>0?(n.dispatchEvent({type:"change"}),rt.copy(n.object.position),It.copy(n.object.quaternion),xe.copy(n.target),uo=!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},o=r.NONE,s=1e-6,a=new ka,u=new ka,l=1,c=new Qt,h=new Ut,p=new Ut,d=new Ut,g=new Ut,v=new Ut,_=new Ut,E=new Ut,b=new Ut,w=new Ut,P=new Qt,L=new Ut,U=!1,T=[],N={};function R(x){return x!==null?2*Math.PI/60*n.autoRotateSpeed*x:2*Math.PI/60/60*n.autoRotateSpeed}function I(){return Math.pow(.95,n.zoomSpeed)}function C(x){u.theta-=x}function q(x){u.phi-=x}let K=function(){let x=new Qt;return function(Z,rt){x.setFromMatrixColumn(rt,0),x.multiplyScalar(-Z),c.add(x)}}(),Y=function(){let x=new Qt;return function(Z,rt){n.screenSpacePanning===!0?x.setFromMatrixColumn(rt,1):(x.setFromMatrixColumn(rt,0),x.crossVectors(n.object.up,x)),x.multiplyScalar(Z),c.add(x)}}(),V=function(){let x=new Qt;return function(Z,rt){let It=n.domElement;if(n.object.isPerspectiveCamera){let xe=n.object.position;x.copy(xe).sub(n.target);let te=x.length();te*=Math.tan(n.object.fov/2*Math.PI/180),K(2*Z*te/It.clientHeight,n.object.matrix),Y(2*rt*te/It.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(K(Z*(n.object.right-n.object.left)/n.object.zoom/It.clientWidth,n.object.matrix),Y(rt*(n.object.top-n.object.bottom)/n.object.zoom/It.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function hn(x){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l/=x:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function Kr(x){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l*=x:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function xu(x){if(!n.zoomToCursor)return;U=!0;let M=n.domElement.getBoundingClientRect(),Z=x.clientX-M.left,rt=x.clientY-M.top,It=M.width,xe=M.height;L.x=Z/It*2-1,L.y=-(rt/xe)*2+1,P.set(L.x,L.y,1).unproject(n.object).sub(n.object.position).normalize()}function Eu(x){return Math.max(n.minDistance,Math.min(n.maxDistance,x))}function Fh(x){h.set(x.clientX,x.clientY)}function z1(x){xu(x),E.set(x.clientX,x.clientY)}function Bh(x){g.set(x.clientX,x.clientY)}function G1(x){p.set(x.clientX,x.clientY),d.subVectors(p,h).multiplyScalar(n.rotateSpeed);let M=n.domElement;C(2*Math.PI*d.x/M.clientHeight),q(2*Math.PI*d.y/M.clientHeight),h.copy(p),n.update()}function k1(x){b.set(x.clientX,x.clientY),w.subVectors(b,E),w.y>0?hn(I()):w.y<0&&Kr(I()),E.copy(b),n.update()}function V1(x){v.set(x.clientX,x.clientY),_.subVectors(v,g).multiplyScalar(n.panSpeed),V(_.x,_.y),g.copy(v),n.update()}function H1(x){xu(x),x.deltaY<0?Kr(I()):x.deltaY>0&&hn(I()),n.update()}function W1(x){let M=!1;switch(x.code){case n.keys.UP:x.ctrlKey||x.metaKey||x.shiftKey?q(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(0,n.keyPanSpeed),M=!0;break;case n.keys.BOTTOM:x.ctrlKey||x.metaKey||x.shiftKey?q(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(0,-n.keyPanSpeed),M=!0;break;case n.keys.LEFT:x.ctrlKey||x.metaKey||x.shiftKey?C(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(n.keyPanSpeed,0),M=!0;break;case n.keys.RIGHT:x.ctrlKey||x.metaKey||x.shiftKey?C(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(-n.keyPanSpeed,0),M=!0;break}M&&(x.preventDefault(),n.update())}function zh(){if(T.length===1)h.set(T[0].pageX,T[0].pageY);else{let x=(T[0].pageX-T[0].pageY)/(T[1].pageX-T[1].pageY),M=T[0].pageY-x*T[0].pageX;n.rotateLineStart.set(x,M);let Z=.5*(T[0].pageX+T[1].pageX),rt=.5*(T[0].pageY+T[1].pageY);h.set(Z,rt)}}function Gh(){if(T.length===1)g.set(T[0].pageX,T[0].pageY);else{let x=.5*(T[0].pageX+T[1].pageX),M=.5*(T[0].pageY+T[1].pageY);g.set(x,M)}}function kh(){let x=T[0].pageX-T[1].pageX,M=T[0].pageY-T[1].pageY,Z=Math.sqrt(x*x+M*M);E.set(0,Z)}function q1(){n.enableZoom&&kh(),n.enablePan&&Gh()}function X1(){n.enableZoom&&kh(),n.enableRotate&&zh()}function Vh(x){if(T.length==1)p.set(x.pageX,x.pageY);else{let Z=Su(x),rt=.5*(x.pageX+Z.x),It=.5*(x.pageY+Z.y);p.set(rt,It);let xe=(x.pageY-Z.y)/(x.pageX-Z.x),te=Z.y-xe*Z.x;if(n.rotateLineEnd.set(xe,te),Number.isFinite(n.rotateLineEnd.x)&&Number.isFinite(n.rotateLineStart.x)){let bu=(n.rotateLineStart.y-n.rotateLineEnd.y)/(n.rotateLineEnd.x-n.rotateLineStart.x),$r=xe*bu+te;if(Number.isFinite(bu)&&Number.isFinite($r)){let Pe=Math.atan(n.rotateLineEnd.x)-Math.atan(n.rotateLineStart.x);Math.PI-Math.abs(Pe)<.5&&(Pe=-Math.sign(Pe)*(Math.PI-Math.abs(Pe))),Math.abs(Pe)<.1&&(u.theta+=Pe)}}n.rotateLineStart.copy(n.rotateLineEnd)}d.subVectors(p,h).multiplyScalar(n.rotateSpeed);let M=n.domElement;q(2*Math.PI*d.y/M.clientHeight),h.copy(p)}function Hh(x){if(T.length===1)v.set(x.pageX,x.pageY);else{let M=Su(x),Z=.5*(x.pageX+M.x),rt=.5*(x.pageY+M.y);v.set(Z,rt)}_.subVectors(v,g).multiplyScalar(n.panSpeed),V(_.x,_.y),g.copy(v)}function Wh(x){let M=Su(x),Z=x.pageX-M.x,rt=x.pageY-M.y,It=Math.sqrt(Z*Z+rt*rt);b.set(0,It),w.set(0,Math.pow(b.y/E.y,n.zoomSpeed)),hn(w.y),E.copy(b)}function j1(x){n.enableZoom&&Wh(x),n.enablePan&&Hh(x)}function Y1(x){n.enableZoom&&Wh(x),n.enableRotate&&Vh(x)}this.onPointerDown=function(M){n.enabled!==!1&&(T.length===0&&(n.domElement.setPointerCapture(M.pointerId),n.domElement.addEventListener("pointermove",n.onPointerMove),n.domElement.addEventListener("pointerup",n.onPointerUp)),Q1(M),M.pointerType==="touch"?$1(M):Z1(M))},this.onPointerMove=function(M){n.enabled!==!1&&(M.pointerType==="touch"?J1(M):K1(M))},this.onPointerUp=function(M){tE(M),T.length===0&&(n.domElement.releasePointerCapture(M.pointerId),n.domElement.removeEventListener("pointermove",n.onPointerMove),n.domElement.removeEventListener("pointerup",n.onPointerUp)),n.dispatchEvent({type:"end"}),o=r.NONE};function Z1(x){let M;switch(x.button){case 0:M=n.mouseButtons.LEFT;break;case 1:M=n.mouseButtons.MIDDLE;break;case 2:M=n.mouseButtons.RIGHT;break;default:M=-1}switch(M){case Wr.DOLLY:if(n.enableZoom===!1)return;z1(x),o=r.DOLLY;break;case Wr.ROTATE:if(x.ctrlKey||x.metaKey||x.shiftKey){if(n.enablePan===!1)return;Bh(x),o=r.PAN}else{if(n.enableRotate===!1)return;Fh(x),o=r.ROTATE}break;case Wr.PAN:if(x.ctrlKey||x.metaKey||x.shiftKey){if(n.enableRotate===!1)return;Fh(x),o=r.ROTATE}else{if(n.enablePan===!1)return;Bh(x),o=r.PAN}break;default:o=r.NONE}o!==r.NONE&&n.dispatchEvent({type:"start"})}function K1(x){switch(o){case r.ROTATE:if(n.enableRotate===!1)return;G1(x);break;case r.DOLLY:if(n.enableZoom===!1)return;k1(x);break;case r.PAN:if(n.enablePan===!1)return;V1(x);break}}this.onMouseWheel=function(M){n.enabled===!1||n.enableZoom===!1||o!==r.NONE||(M.preventDefault(),n.dispatchEvent({type:"start"}),H1(M),n.dispatchEvent({type:"end"}))},this.onKeyDown=function(M){n.enabled===!1||n.enablePan===!1||W1(M)};function $1(x){switch(qh(x),T.length){case 1:switch(n.touches.ONE){case qr.ROTATE:if(n.enableRotate===!1)return;zh(),o=r.TOUCH_ROTATE;break;case qr.PAN:if(n.enablePan===!1)return;Gh(),o=r.TOUCH_PAN;break;default:o=r.NONE}break;case 2:switch(n.touches.TWO){case qr.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;q1(),o=r.TOUCH_DOLLY_PAN;break;case qr.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;X1(),o=r.TOUCH_DOLLY_ROTATE;break;default:o=r.NONE}break;default:o=r.NONE}o!==r.NONE&&n.dispatchEvent({type:"start"})}function J1(x){switch(qh(x),o){case r.TOUCH_ROTATE:if(n.enableRotate===!1)return;Vh(x),n.update();break;case r.TOUCH_PAN:if(n.enablePan===!1)return;Hh(x),n.update();break;case r.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;j1(x),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;Y1(x),n.update();break;default:o=r.NONE}}this.onContextMenu=function(M){n.enabled!==!1&&M.preventDefault()};function Q1(x){T.push(x)}function tE(x){delete N[x.pointerId];for(let M=0;M<T.length;M++)if(T[M].pointerId==x.pointerId){T.splice(M,1);return}}function qh(x){let M=N[x.pointerId];M===void 0&&(M=new Ut,N[x.pointerId]=M),M.set(x.pageX,x.pageY)}function Su(x){let M=x.pointerId===T[0].pointerId?T[1]:T[0];return N[M.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 qa=class extends Ha{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,o=n===r;(e||t<=n&&t>=r)&&(this.maxPolarAngle=t,this.minPolarAngle=t,this.update()),o||(this.maxPolarAngle=n,this.minPolarAngle=r)}setPolarAngleByDuration(t,e,n){return y(this,null,function*(){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setPolarAngle(t,e):Vt(new Promise(r=>{let o={polar:this.getPolarAngle()},s={polar:t},a=new Wa(o,this.tweenGroup).to(s,n).onUpdate(()=>{this.setPolarAngle(o.polar,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(a),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)})}setAzimuthalAngle(t,e){let{maxAzimuthAngle:n,minAzimuthAngle:r}=this,o=n===r;(e||t<=n&&t>=r)&&(this.maxAzimuthAngle=t,this.minAzimuthAngle=t,this.update()),o||(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):Vt(new Promise(r=>{let o={azimuthal:this.getAzimuthalAngle()},s={azimuthal:t},a=new Wa(o,this.tweenGroup).to(s,n).onUpdate(()=>{this.setAzimuthalAngle(o.azimuthal,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(a),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)}getCameraLookAt(){return new e1().subVectors(this.target,this.camera.position)}setCameraPositionByTarget(t,e){return y(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 Vt(new Promise(o=>{let s=new Wa(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(s),this.enabled=!0,o(!0)}).onStart(()=>{this.enabled=!1}).start()}),e+500)})}setZoom(t,e,n){n===void 0&&(n=!1);let{minZoom:r,maxZoom:o}=this;(n||t>=r&&t<=o)&&(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 y(this,null,function*(){n===void 0&&(n=!1),r===void 0&&(r=500);let o={zoom:this.camera.zoom,target:this.target.clone()};if(t!==this.camera.zoom)return r?Vt(new Promise(s=>{let a=new Wa(o,this.tweenGroup).to({zoom:t,target:e},r).onUpdate(()=>{this.setZoom(o.zoom,o.target,n)}).onComplete(()=>{this.tweenGroup.remove(a),this.enabled=!0,s(!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 e1;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 Vk,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 Hk,PCFSoftShadowMap as Wk,WebGLRenderer as qk}from"three";var Xa=class extends qk{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(S({antialias:!0,alpha:!0},t)),this.event=new Hk,this.enable=!0,this.timer=new Q,this.autoClear=!0,this.setPixelRatio(window.devicePixelRatio),this.shadowMap.enabled=!0,this.shadowMap.autoUpdate=!0,this.shadowMap.type=Wk;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{Euler as Xk,Matrix4 as jk,Scene as Yk,EquirectangularReflectionMapping as Zk}from"three";import{RGBELoader as Kk}from"three/examples/jsm/loaders/RGBELoader.js";var ja=class extends Yk{dispose(){var t;(t=this.environment)==null||t.dispose(),this.environment=null,W(this),this.clear()}constructor(){super(),new Kk().load(p3,t=>{t.mapping=Zk,this.environment=t;let e=new jk;e.makeRotationX(Math.PI/2),this.environmentRotation=new Xk().setFromRotationMatrix(e)})}};import{OrthographicCamera as $k}from"three";var Ya=class extends $k{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 n1}from"@turf/turf";var Za=class extends Jk{get config(){return this.bmap.config}get center(){return this.bmap.buildingCenter}setRange(t){this.range=n1([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 Ya(t,e),this.renderer.setSize(t,e),this.renderer.setCameraAndScene(this.scene,this.camera),this.renderer.autoRender(),this.control=new qa(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 za(this)}getRatio(t,e){t===void 0&&(t=new ln(0,0,0)),e===void 0&&(e=new ln(100,0,0));let{clientWidth:n,clientHeight:r}=this.container,o=O(t,this.camera,n,r),s=O(e,this.camera,n,r);return Math.ceil(Math.sqrt((s.x-o.x)**2+(s.y-o.y)**2))}changeAmbientLightColor(t){this.lights.children.forEach(e=>{e instanceof rV&&(e.color=new nV(t))})}switchFloor(t,e){e===void 0&&(e=!0),console.log("switchFloor",e),this.currentFloor&&(this.currentFloor.onRemoveFromScene(),this.scene.remove(this.currentFloor),e&&this.currentFloor.dispose()),this.currentFloor=t,this.setRange(t.userData.range||[]),this.scene.add(t),t.onAddToScene();let n=t.getCenter();n&&(this.lights.position.x=n.x,this.lights.position.y=n.y),this.cameraBound.updateBox()}getGraphicsByDeviceXy(t,e){var n;let r=new Xr;r.x=t/this.clientSize.width*2-1,r.y=e/this.clientSize.height*-2+1;let o=new tV;return o.setFromCamera(r,this.camera),o.ray.origin.sub(o.ray.direction.clone().multiplyScalar(100)),((n=this.currentFloor)==null?void 0:n.graphicLayer.getGraphicByRaycaster(o))||{graphics:[],position:null}}getPoisByDeviceXy(t,e){var n,r;let o=(n=this.currentFloor)==null?void 0:n.poiLayer.getPoiByDeviceXy(t,e),s=(r=this.currentFloor)==null?void 0:r.poiLayer2.getPoiByDeviceXy(t,e);return(o||[]).concat(s||[])}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 eV().setFromObject(t),e,n)}getFitCameraToBoxZoom(t,e,n){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=!0);let[r,o,s,a]=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,d=new ln(p.x,h.y,h.z),g=new ln(h.x,h.y,h.z),v=new ln(h.x,p.y,p.z),_=new ln(p.x,p.y,p.z),E=O(d,this.camera,u,l),b=O(g,this.camera,u,l),w=O(_,this.camera,u,l),P=O(v,this.camera,u,l),U=new Qk().setFromPoints([new Xr(E.x,E.y),new Xr(b.x,b.y),new Xr(w.x,w.y),new Xr(P.x,P.y)]).getSize(new Xr),T=(u-o-a)/U.x,N=(l-r-s)/U.y,R=Math.min(T,N),I=new ln((h.x+p.x)/2,(h.y+p.y)/2,(h.z+p.z)/2),C=R*this.camera.zoom,q=this.camera.clone();q.zoom=C,q.updateMatrix();let K=(o-a)/2,Y=(r-s)/2;if(K){let V=new ln;V.setFromMatrixColumn(q.matrix,0),V.normalize(),V.multiplyScalar(K/C),I.add(V)}if(Y){let V=new ln;V.setFromMatrixColumn(q.matrix,1),V.normalize(),V.multiplyScalar(Y/C),I.add(V)}return{zoom:R*this.camera.zoom,center:I}}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:o,center:s}=this.getFitCameraToObjectZoom(t,e,r);return this.setZoom(o,s,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:o,center:s}=this.getFitCameraToBoxZoom(t,e,r);return this.setZoom(o,s,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 y(this,null,function*(){return this.control.setCameraPositionByTarget(t,e)})}pauseRender(){this.renderer.pauseRender()}continueRender(){this.renderer.continueRender()}dispose(){var t;(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.scene=new ja,this.renderer=new Xa,this.lights=lm(),this.range=n1([]),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:o}=this,{clientWidth:s,clientHeight:a}=n;s=Math.max(1,s),a=Math.max(1,a),r.left=-s/2,r.right=s/2,r.top=a/2,r.bottom=-a/2,r.updateProjectionMatrix(),o.setSize(s,a),this.resizeClientSize(),this.dispatchEvent({type:"resize",width:s,height:a})},this.onClick=n=>{let{graphics:r,position:o}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY);r.length&&this.dispatchEvent({type:"graphic-click",graphics:r,position:o});let s=this.getPoisByDeviceXy(n.offsetX,n.offsetY);s.length&&this.dispatchEvent({type:"poi-click",pois:s})},this.onPointerover=n=>{let{graphics:r,position:o}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),s=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-over",e:n,graphics:r,pois:s,position:o})},this.onPointermove=n=>{let{graphics:r,position:o}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),s=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-move",e:n,graphics:r,pois:s,position:o})},this.onPointerleave=n=>{this.dispatchEvent({type:"pointer-level"})},this.onSelectionSelect=n=>{let{graphics:r,isMultipleSelect:o}=n;this.dispatchEvent({type:"select-graphic",graphics:r,isMultipleSelect:o})},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.init(),this.selection=new Fa(this),this.hoverHelper=new Ba(this),this.resizeClientSize(),this.registryEvent()}};import{merge as iV}from"lodash";var oV={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:1,minOpacity:.5,maxOpacity:.9,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 r1(i){return iV({},oV,i)}import{debounce as TV}from"lodash";var Qet=f(A(),1);import{Vector3 as xV,Color as EV}from"three";var Wet=f(F(),1),qet=f(A(),1);var Get=f(jn(),1);var eo=function(i){return i.LAYERED_RENDER_VERSION="layeredRender",i.MERGED_RENDER_VERSION="mergedRender",i}({});function Ka(i,t){let e=i.poi_info.showName||i.store_name||i.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=i.store_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=i.store_info_ext)==null?void 0:r.traditional_name)||e}}function $a(i,t){let e=i.poi_info.showName||i.store_name||i.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=i.infra_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=i.infra_info_ext)==null?void 0:r.traditional_name)||e}}var Mh=["range","ground","store","facility","parkingSpace"];function i1(i){return Mh.indexOf(i.l_type)===-1?Mh.length:Mh.indexOf(i.l_type)}function sV(i){i.layers.sort((t,e)=>i1(t)-i1(e))}function aV(i){let t=i.layers.find(n=>n.l_type==="range"),e=[t.elements[0].center_x,t.elements[0].center_y];i.layers.map(n=>{if(n.l_type!=="range")return ds(n.elements,e)})}function Ja(i){sV(i),aV(i)}function jr(i,t){return t===void 0&&(t=4),i.floor_id+"_"+i.version_id+(t?"_"+t:"")}function o1(i,t,e){switch(i.l_type){case"ground":return wh(i,t);case"graph":return uV(i,t);case"wall":return lV(i,t);case"lane":return cV(i,t);case"texture2d":case"texture3d":return hV(i,t);case"glb":return pV(i,t);case"store":return fV(i,t,e);case"facility":return gV(i,t,e);case"parkingSpace":return vV(i,t,e);case"text":return yV(i,t)}}function s1(i,t,e,n){switch(i.l_type){case"store":return dV(i,t,e,n);case"facility":return mV(i,t,e,n);case"parkingSpace":return _V(i,t,n)}}function uV(i,t){t.mergeGraphicLayer.addGraphics(i.elements,i.mergedElements)}function wh(i,t){if(i.mergedElements){let e=i.mergedElements.map(n=>new sr(t.context,S({},n,{dashed:!1})));t.addGrounds(e)}else{let e=i.elements.map(n=>new ft(t.context,S({},n,{dashed:!1})));t.addGrounds(e)}}function lV(i,t){if(i.mergedElements)i.mergedElements.map(e=>{let n=new La(t.context,e);t.wallLayer.add(n)});else{let e=i.elements.reduce((n,r)=>{let{fillColor:o,fillOpacity:s,strokeColor:a,strokeOpacity:u,height:l}=r,c=o.toLowerCase()+"-"+s+"-"+a.toLowerCase()+"-"+u+"-"+l;return u===0&&(c=o.toLowerCase()+"-"+s+"-"+l),n[c]?n[c].push(r):n[c]=[r],n},{});Object.values(e).forEach(n=>{let r=new Ca(t.context,n);t.wallLayer.add(r)})}}function cV(i,t){if(i.mergedElements){let e=new Oa(t.context,i.mergedElements);t.laneLayer.add(e)}else{let e=new Pa(t.context,i.elements);t.laneLayer.add(e)}}function hV(i,t){if(i.mergedMatrixes)i.mergedMatrixes.map(e=>{let n=new or(t.context,e);t.textureLayer.add(n)});else if(i.elements.length){let e=new ir(t.context,i.elements);t.textureLayer.add(e)}}function pV(i,t){t.glbModelLayer.addModels(i.elements.map(e=>S({},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 fV(i,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(i.elements,i.mergedElements):i.elements.map(n=>{let r=t.addGraphic(S({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function dV(i,t,e,n){i.elements.map(r=>{try{let o=Ka(r,e),s=new it(t.context,{id:r.id,icon:r.poi_info.showImageUrl||r.poi_info.icon,text:o,position:{x:r.center_coord_x,y:r.center_coord_y,z:r.airHeight+r.height},icon_size:[24,24],level:r.poi_info.level||0,hide_text:!n.showStoreName,maxWeight:r.poi_info.maxWeight||25,minWeight:r.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(s),s&&(s.userData.type="store",s.userData.data=r,s.userData.floor=t.name)}catch(o){console.log("\u521B\u5EFA\u5E97\u94FApoi\u5931\u8D25",o,r)}})}function gV(i,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(i.elements,i.mergedElements):i.elements.map(n=>{let r=t.addGraphic(S({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function mV(i,t,e,n){i.elements.filter(o=>o.poi_info).map(o=>{try{let s=$a(o,e),a=new it(t.context,{id:o.id,icon:o.poi_info.showImageUrl||o.poi_info.icon,text:s,position:{x:o.center_coord_x,y:o.center_coord_y,z:o.airHeight+o.height},icon_size:[24,24],level:o.poi_info.level||0,hide_text:!n.showFacilityName,maxWeight:o.poi_info.maxWeight||25,minWeight:o.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(a),a.userData.type="facility",a.userData.data=o,a.userData.floor=t.name}catch(s){console.log("\u6DFB\u52A0facility\u5931\u8D25",s,o)}})}function vV(i,t,e){t.parkingSpaceLayer.load(i,e.mergeParkingSpace),t.userData.parkingSpaces=t.parkingSpaceLayer.graphicMap.values(),t.userData.parkingSpacesGraphicMap=t.parkingSpaceLayer.graphicMap}function _V(i,t,e){return y(this,null,function*(){let n=i.elements.filter(s=>s.texts[0]),r=n.map(s=>s.displayName||s.texts[0]),o=yield nt.lazyGetTextureByTexts(r,{height:64});n.forEach(s=>{try{let a=s.displayName||s.texts[0],u=new it(t.context,{id:s.id,text:a,position:{x:s.center_coord_x,y:s.center_coord_y,z:s.airHeight+s.height},text_texture:o[a].texture,text_texture_width:o[a].width,text_texture_height:o[a].height,text_texture_offset_x:o[a].x,text_texture_offset_y:o[a].y,text_font_size:e.textFontSize});u&&(u.userData.type="parkingSpace",u.userData.data=s,u.userData.floor=t.name),t.poiLayer2.pushPoi(u)}catch(a){console.log("\u6DFB\u52A0\u8F66\u4F4Dpoi\u5931\u8D25",a,s)}}),Object.values(o).forEach(s=>{s.texture.dispose()})})}function yV(i,t){let e=new Ia(t.context,i.elements.map(n=>S({},n,{center_x:n.center_coord_x,center_y:n.center_coord_y})));t.textTextureLayer.add(e)}function Th(){let i=new Blob([`var VD=Object.create;var D1=Object.defineProperty;var HD=Object.getOwnPropertyDescriptor;var WD=Object.getOwnPropertyNames;var XD=Object.getPrototypeOf,YD=Object.prototype.hasOwnProperty;var X=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var $D=(n,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of WD(t))!YD.call(n,s)&&s!==e&&D1(n,s,{get:()=>t[s],enumerable:!(i=HD(t,s))||i.enumerable});return n};var Qt=(n,t,e)=>(e=n!=null?VD(XD(n)):{},$D(t||!n||!n.__esModule?D1(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((Ug,F1)=>{"use strict";var Ec=function(n){return n&&n.Math===Math&&n};F1.exports=Ec(typeof globalThis=="object"&&globalThis)||Ec(typeof window=="object"&&window)||Ec(typeof self=="object"&&self)||Ec(typeof global=="object"&&global)||Ec(typeof Ug=="object"&&Ug)||function(){return this}()||Function("return this")()});var An=X((pet,U1)=>{"use strict";U1.exports=function(n){try{return!!n()}catch(t){return!0}}});var ri=X((det,B1)=>{"use strict";var ZD=An();B1.exports=!ZD(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Sc=X((get,z1)=>{"use strict";var JD=An();z1.exports=!JD(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})});var vr=X((met,G1)=>{"use strict";var jD=Sc(),Kf=Function.prototype.call;G1.exports=jD?Kf.bind(Kf):function(){return Kf.apply(Kf,arguments)}});var H1=X(V1=>{"use strict";var k1={}.propertyIsEnumerable,q1=Object.getOwnPropertyDescriptor,KD=q1&&!k1.call({1:2},1);V1.f=KD?function(t){var e=q1(this,t);return!!e&&e.enumerable}:k1});var wc=X((vet,W1)=>{"use strict";W1.exports=function(n,t){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:t}}});var In=X((_et,$1)=>{"use strict";var X1=Sc(),Y1=Function.prototype,Bg=Y1.call,QD=X1&&Y1.bind.bind(Bg,Bg);$1.exports=X1?QD:function(n){return function(){return Bg.apply(n,arguments)}}});var vs=X((xet,J1)=>{"use strict";var Z1=In(),t3=Z1({}.toString),e3=Z1("".slice);J1.exports=function(n){return e3(t3(n),8,-1)}});var Qf=X((Eet,j1)=>{"use strict";var n3=In(),r3=An(),i3=vs(),zg=Object,o3=n3("".split);j1.exports=r3(function(){return!zg("z").propertyIsEnumerable(0)})?function(n){return i3(n)==="String"?o3(n,""):zg(n)}:zg});var th=X((wet,K1)=>{"use strict";K1.exports=function(n){return n==null}});var Fu=X((Met,Q1)=>{"use strict";var s3=th(),a3=TypeError;Q1.exports=function(n){if(s3(n))throw new a3("Can't call method on "+n);return n}});var Uu=X((bet,tE)=>{"use strict";var u3=Qf(),l3=Fu();tE.exports=function(n){return u3(l3(n))}});var er=X((Aet,eE)=>{"use strict";var Gg=typeof document=="object"&&document.all;eE.exports=typeof Gg=="undefined"&&Gg!==void 0?function(n){return typeof n=="function"||n===Gg}:function(n){return typeof n=="function"}});var xi=X((Tet,nE)=>{"use strict";var c3=er();nE.exports=function(n){return typeof n=="object"?n!==null:c3(n)}});var $s=X((Cet,rE)=>{"use strict";var kg=Sn(),f3=er(),h3=function(n){return f3(n)?n:void 0};rE.exports=function(n,t){return arguments.length<2?h3(kg[n]):kg[n]&&kg[n][t]}});var Mc=X((Iet,iE)=>{"use strict";var p3=In();iE.exports=p3({}.isPrototypeOf)});var Bu=X((Pet,aE)=>{"use strict";var d3=Sn(),oE=d3.navigator,sE=oE&&oE.userAgent;aE.exports=sE?String(sE):""});var bc=X((Ret,pE)=>{"use strict";var hE=Sn(),qg=Bu(),uE=hE.process,lE=hE.Deno,cE=uE&&uE.versions||lE&&lE.version,fE=cE&&cE.v8,So,eh;fE&&(So=fE.split("."),eh=So[0]>0&&So[0]<4?1:+(So[0]+So[1]));!eh&&qg&&(So=qg.match(/Edge\\/(\\d+)/),(!So||So[1]>=74)&&(So=qg.match(/Chrome\\/(\\d+)/),So&&(eh=+So[1])));pE.exports=eh});var nh=X((Let,gE)=>{"use strict";var dE=bc(),g3=An(),m3=Sn(),y3=m3.String;gE.exports=!!Object.getOwnPropertySymbols&&!g3(function(){var n=Symbol("symbol detection");return!y3(n)||!(Object(n)instanceof Symbol)||!Symbol.sham&&dE&&dE<41})});var Vg=X((Net,mE)=>{"use strict";var v3=nh();mE.exports=v3&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ac=X((Oet,yE)=>{"use strict";var _3=$s(),x3=er(),E3=Mc(),S3=Vg(),w3=Object;yE.exports=S3?function(n){return typeof n=="symbol"}:function(n){var t=_3("Symbol");return x3(t)&&E3(t.prototype,w3(n))}});var zu=X((Det,vE)=>{"use strict";var M3=String;vE.exports=function(n){try{return M3(n)}catch(t){return"Object"}}});var _s=X((Fet,_E)=>{"use strict";var b3=er(),A3=zu(),T3=TypeError;_E.exports=function(n){if(b3(n))return n;throw new T3(A3(n)+" is not a function")}});var Tc=X((Uet,xE)=>{"use strict";var C3=_s(),I3=th();xE.exports=function(n,t){var e=n[t];return I3(e)?void 0:C3(e)}});var SE=X((Bet,EE)=>{"use strict";var Hg=vr(),Wg=er(),Xg=xi(),P3=TypeError;EE.exports=function(n,t){var e,i;if(t==="string"&&Wg(e=n.toString)&&!Xg(i=Hg(e,n))||Wg(e=n.valueOf)&&!Xg(i=Hg(e,n))||t!=="string"&&Wg(e=n.toString)&&!Xg(i=Hg(e,n)))return i;throw new P3("Can't convert object to primitive value")}});var Cc=X((zet,wE)=>{"use strict";wE.exports=!1});var rh=X((Get,bE)=>{"use strict";var ME=Sn(),R3=Object.defineProperty;bE.exports=function(n,t){try{R3(ME,n,{value:t,configurable:!0,writable:!0})}catch(e){ME[n]=t}return t}});var ih=X((ket,CE)=>{"use strict";var L3=Cc(),N3=Sn(),O3=rh(),AE="__core-js_shared__",TE=CE.exports=N3[AE]||O3(AE,{});(TE.versions||(TE.versions=[])).push({version:"3.42.0",mode:L3?"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 oh=X((qet,PE)=>{"use strict";var IE=ih();PE.exports=function(n,t){return IE[n]||(IE[n]=t||{})}});var Vi=X((Vet,RE)=>{"use strict";var D3=Fu(),F3=Object;RE.exports=function(n){return F3(D3(n))}});var oo=X((Het,LE)=>{"use strict";var U3=In(),B3=Vi(),z3=U3({}.hasOwnProperty);LE.exports=Object.hasOwn||function(t,e){return z3(B3(t),e)}});var sh=X((Wet,NE)=>{"use strict";var G3=In(),k3=0,q3=Math.random(),V3=G3(1 .toString);NE.exports=function(n){return"Symbol("+(n===void 0?"":n)+")_"+V3(++k3+q3,36)}});var Xr=X((Xet,DE)=>{"use strict";var H3=Sn(),W3=oh(),OE=oo(),X3=sh(),Y3=nh(),$3=Vg(),Gu=H3.Symbol,Yg=W3("wks"),Z3=$3?Gu.for||Gu:Gu&&Gu.withoutSetter||X3;DE.exports=function(n){return OE(Yg,n)||(Yg[n]=Y3&&OE(Gu,n)?Gu[n]:Z3("Symbol."+n)),Yg[n]}});var $g=X((Yet,BE)=>{"use strict";var J3=vr(),FE=xi(),UE=Ac(),j3=Tc(),K3=SE(),Q3=Xr(),tF=TypeError,eF=Q3("toPrimitive");BE.exports=function(n,t){if(!FE(n)||UE(n))return n;var e=j3(n,eF),i;if(e){if(t===void 0&&(t="default"),i=J3(e,n,t),!FE(i)||UE(i))return i;throw new tF("Can't convert object to primitive value")}return t===void 0&&(t="number"),K3(n,t)}});var ah=X(($et,zE)=>{"use strict";var nF=$g(),rF=Ac();zE.exports=function(n){var t=nF(n,"string");return rF(t)?t:t+""}});var uh=X((Zet,kE)=>{"use strict";var iF=Sn(),GE=xi(),Zg=iF.document,oF=GE(Zg)&&GE(Zg.createElement);kE.exports=function(n){return oF?Zg.createElement(n):{}}});var Jg=X((Jet,qE)=>{"use strict";var sF=ri(),aF=An(),uF=uh();qE.exports=!sF&&!aF(function(){return Object.defineProperty(uF("div"),"a",{get:function(){return 7}}).a!==7})});var lh=X(HE=>{"use strict";var lF=ri(),cF=vr(),fF=H1(),hF=wc(),pF=Uu(),dF=ah(),gF=oo(),mF=Jg(),VE=Object.getOwnPropertyDescriptor;HE.f=lF?VE:function(t,e){if(t=pF(t),e=dF(e),mF)try{return VE(t,e)}catch(i){}if(gF(t,e))return hF(!cF(fF.f,t,e),t[e])}});var jg=X((Ket,WE)=>{"use strict";var yF=ri(),vF=An();WE.exports=yF&&vF(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var so=X((Qet,XE)=>{"use strict";var _F=xi(),xF=String,EF=TypeError;XE.exports=function(n){if(_F(n))return n;throw new EF(xF(n)+" is not an object")}});var Wo=X($E=>{"use strict";var SF=ri(),wF=Jg(),MF=jg(),ch=so(),YE=ah(),bF=TypeError,Kg=Object.defineProperty,AF=Object.getOwnPropertyDescriptor,Qg="enumerable",tm="configurable",em="writable";$E.f=SF?MF?function(t,e,i){if(ch(t),e=YE(e),ch(i),typeof t=="function"&&e==="prototype"&&"value"in i&&em in i&&!i[em]){var s=AF(t,e);s&&s[em]&&(t[e]=i.value,i={configurable:tm in i?i[tm]:s[tm],enumerable:Qg in i?i[Qg]:s[Qg],writable:!1})}return Kg(t,e,i)}:Kg:function(t,e,i){if(ch(t),e=YE(e),ch(i),wF)try{return Kg(t,e,i)}catch(s){}if("get"in i||"set"in i)throw new bF("Accessors not supported");return"value"in i&&(t[e]=i.value),t}});var xs=X((ent,ZE)=>{"use strict";var TF=ri(),CF=Wo(),IF=wc();ZE.exports=TF?function(n,t,e){return CF.f(n,t,IF(1,e))}:function(n,t,e){return n[t]=e,n}});var fh=X((nnt,jE)=>{"use strict";var nm=ri(),PF=oo(),JE=Function.prototype,RF=nm&&Object.getOwnPropertyDescriptor,rm=PF(JE,"name"),LF=rm&&function(){}.name==="something",NF=rm&&(!nm||nm&&RF(JE,"name").configurable);jE.exports={EXISTS:rm,PROPER:LF,CONFIGURABLE:NF}});var om=X((rnt,KE)=>{"use strict";var OF=In(),DF=er(),im=ih(),FF=OF(Function.toString);DF(im.inspectSource)||(im.inspectSource=function(n){return FF(n)});KE.exports=im.inspectSource});var eS=X((int,tS)=>{"use strict";var UF=Sn(),BF=er(),QE=UF.WeakMap;tS.exports=BF(QE)&&/native code/.test(String(QE))});var hh=X((ont,rS)=>{"use strict";var zF=oh(),GF=sh(),nS=zF("keys");rS.exports=function(n){return nS[n]||(nS[n]=GF(n))}});var ph=X((snt,iS)=>{"use strict";iS.exports={}});var Va=X((ant,aS)=>{"use strict";var kF=eS(),sS=Sn(),qF=xi(),VF=xs(),sm=oo(),am=ih(),HF=hh(),WF=ph(),oS="Object already initialized",um=sS.TypeError,XF=sS.WeakMap,dh,Ic,gh,YF=function(n){return gh(n)?Ic(n):dh(n,{})},$F=function(n){return function(t){var e;if(!qF(t)||(e=Ic(t)).type!==n)throw new um("Incompatible receiver, "+n+" required");return e}};kF||am.state?(wo=am.state||(am.state=new XF),wo.get=wo.get,wo.has=wo.has,wo.set=wo.set,dh=function(n,t){if(wo.has(n))throw new um(oS);return t.facade=n,wo.set(n,t),t},Ic=function(n){return wo.get(n)||{}},gh=function(n){return wo.has(n)}):(qa=HF("state"),WF[qa]=!0,dh=function(n,t){if(sm(n,qa))throw new um(oS);return t.facade=n,VF(n,qa,t),t},Ic=function(n){return sm(n,qa)?n[qa]:{}},gh=function(n){return sm(n,qa)});var wo,qa;aS.exports={set:dh,get:Ic,has:gh,enforce:YF,getterFor:$F}});var fm=X((unt,cS)=>{"use strict";var cm=In(),ZF=An(),JF=er(),mh=oo(),lm=ri(),jF=fh().CONFIGURABLE,KF=om(),lS=Va(),QF=lS.enforce,tU=lS.get,uS=String,yh=Object.defineProperty,eU=cm("".slice),nU=cm("".replace),rU=cm([].join),iU=lm&&!ZF(function(){return yh(function(){},"length",{value:8}).length!==8}),oU=String(String).split("String"),sU=cS.exports=function(n,t,e){eU(uS(t),0,7)==="Symbol("&&(t="["+nU(uS(t),/^Symbol\\(([^)]*)\\).*$/,"$1")+"]"),e&&e.getter&&(t="get "+t),e&&e.setter&&(t="set "+t),(!mh(n,"name")||jF&&n.name!==t)&&(lm?yh(n,"name",{value:t,configurable:!0}):n.name=t),iU&&e&&mh(e,"arity")&&n.length!==e.arity&&yh(n,"length",{value:e.arity});try{e&&mh(e,"constructor")&&e.constructor?lm&&yh(n,"prototype",{writable:!1}):n.prototype&&(n.prototype=void 0)}catch(s){}var i=QF(n);return mh(i,"source")||(i.source=rU(oU,typeof t=="string"?t:"")),n};Function.prototype.toString=sU(function(){return JF(this)&&tU(this).source||KF(this)},"toString")});var Ha=X((lnt,fS)=>{"use strict";var aU=er(),uU=Wo(),lU=fm(),cU=rh();fS.exports=function(n,t,e,i){i||(i={});var s=i.enumerable,u=i.name!==void 0?i.name:t;if(aU(e)&&lU(e,u,i),i.global)s?n[t]=e:cU(t,e);else{try{i.unsafe?n[t]&&(s=!0):delete n[t]}catch(c){}s?n[t]=e:uU.f(n,t,{value:e,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return n}});var pS=X((cnt,hS)=>{"use strict";var fU=Math.ceil,hU=Math.floor;hS.exports=Math.trunc||function(t){var e=+t;return(e>0?hU:fU)(e)}});var Hi=X((fnt,dS)=>{"use strict";var pU=pS();dS.exports=function(n){var t=+n;return t!==t||t===0?0:pU(t)}});var vh=X((hnt,gS)=>{"use strict";var dU=Hi(),gU=Math.max,mU=Math.min;gS.exports=function(n,t){var e=dU(n);return e<0?gU(e+t,0):mU(e,t)}});var Wa=X((pnt,mS)=>{"use strict";var yU=Hi(),vU=Math.min;mS.exports=function(n){var t=yU(n);return t>0?vU(t,9007199254740991):0}});var ii=X((dnt,yS)=>{"use strict";var _U=Wa();yS.exports=function(n){return _U(n.length)}});var xS=X((gnt,_S)=>{"use strict";var xU=Uu(),EU=vh(),SU=ii(),vS=function(n){return function(t,e,i){var s=xU(t),u=SU(s);if(u===0)return!n&&-1;var c=EU(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}};_S.exports={includes:vS(!0),indexOf:vS(!1)}});var pm=X((mnt,SS)=>{"use strict";var wU=In(),hm=oo(),MU=Uu(),bU=xS().indexOf,AU=ph(),ES=wU([].push);SS.exports=function(n,t){var e=MU(n),i=0,s=[],u;for(u in e)!hm(AU,u)&&hm(e,u)&&ES(s,u);for(;t.length>i;)hm(e,u=t[i++])&&(~bU(s,u)||ES(s,u));return s}});var _h=X((ynt,wS)=>{"use strict";wS.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var dm=X(MS=>{"use strict";var TU=pm(),CU=_h(),IU=CU.concat("length","prototype");MS.f=Object.getOwnPropertyNames||function(t){return TU(t,IU)}});var AS=X(bS=>{"use strict";bS.f=Object.getOwnPropertySymbols});var CS=X((xnt,TS)=>{"use strict";var PU=$s(),RU=In(),LU=dm(),NU=AS(),OU=so(),DU=RU([].concat);TS.exports=PU("Reflect","ownKeys")||function(t){var e=LU.f(OU(t)),i=NU.f;return i?DU(e,i(t)):e}});var gm=X((Ent,PS)=>{"use strict";var IS=oo(),FU=CS(),UU=lh(),BU=Wo();PS.exports=function(n,t,e){for(var i=FU(t),s=BU.f,u=UU.f,c=0;c<i.length;c++){var f=i[c];!IS(n,f)&&!(e&&IS(e,f))&&s(n,f,u(t,f))}}});var LS=X((Snt,RS)=>{"use strict";var zU=An(),GU=er(),kU=/#|\\.prototype\\./,Pc=function(n,t){var e=VU[qU(n)];return e===WU?!0:e===HU?!1:GU(t)?zU(t):!!t},qU=Pc.normalize=function(n){return String(n).replace(kU,".").toLowerCase()},VU=Pc.data={},HU=Pc.NATIVE="N",WU=Pc.POLYFILL="P";RS.exports=Pc});var sr=X((wnt,NS)=>{"use strict";var xh=Sn(),XU=lh().f,YU=xs(),$U=Ha(),ZU=rh(),JU=gm(),jU=LS();NS.exports=function(n,t){var e=n.target,i=n.global,s=n.stat,u,c,f,p,d,g;if(i?c=xh:s?c=xh[e]||ZU(e,{}):c=xh[e]&&xh[e].prototype,c)for(f in t){if(d=t[f],n.dontCallGetSet?(g=XU(c,f),p=g&&g.value):p=c[f],u=jU(i?f:e+(s?".":"#")+f,n.forced),!u&&p!==void 0){if(typeof d==typeof p)continue;JU(d,p)}(n.sham||p&&p.sham)&&YU(d,"sham",!0),$U(c,f,d,n)}}});var Rc=X((Mnt,OS)=>{"use strict";var KU=vs();OS.exports=Array.isArray||function(t){return KU(t)==="Array"}});var mm=X((bnt,DS)=>{"use strict";var QU=ri(),tB=Rc(),eB=TypeError,nB=Object.getOwnPropertyDescriptor,rB=QU&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(n){return n instanceof TypeError}}();DS.exports=rB?function(n,t){if(tB(n)&&!nB(n,"length").writable)throw new eB("Cannot set read only .length");return n.length=t}:function(n,t){return n.length=t}});var Eh=X((Ant,FS)=>{"use strict";var iB=TypeError,oB=9007199254740991;FS.exports=function(n){if(n>oB)throw iB("Maximum allowed index exceeded");return n}});var Sh=X(()=>{"use strict";var sB=sr(),aB=Vi(),uB=ii(),lB=mm(),cB=Eh(),fB=An(),hB=fB(function(){return[].push.call({length:4294967296},1)!==4294967297}),pB=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(n){return n instanceof TypeError}},dB=hB||!pB();sB({target:"Array",proto:!0,arity:1,forced:dB},{push:function(t){var e=aB(this),i=uB(e),s=arguments.length;cB(i+s);for(var u=0;u<s;u++)e[i]=arguments[u],i++;return lB(e,i),i}})});var US=X(()=>{"use strict";var gB=sr(),mB=vr();gB({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return mB(URL.prototype.toString,this)}})});var zS=X((Rnt,BS)=>{"use strict";BS.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 qS=X((Lnt,kS)=>{"use strict";var yB=uh(),ym=yB("span").classList,GS=ym&&ym.constructor&&ym.constructor.prototype;kS.exports=GS===Object.prototype?void 0:GS});var HS=X((Nnt,VS)=>{"use strict";var vB=pm(),_B=_h();VS.exports=Object.keys||function(t){return vB(t,_B)}});var XS=X(WS=>{"use strict";var xB=ri(),EB=jg(),SB=Wo(),wB=so(),MB=Uu(),bB=HS();WS.f=xB&&!EB?Object.defineProperties:function(t,e){wB(t);for(var i=MB(e),s=bB(e),u=s.length,c=0,f;u>c;)SB.f(t,f=s[c++],i[f]);return t}});var $S=X((Dnt,YS)=>{"use strict";var AB=$s();YS.exports=AB("document","documentElement")});var ku=X((Fnt,ew)=>{"use strict";var TB=so(),CB=XS(),ZS=_h(),IB=ph(),PB=$S(),RB=uh(),LB=hh(),JS=">",jS="<",_m="prototype",xm="script",QS=LB("IE_PROTO"),vm=function(){},tw=function(n){return jS+xm+JS+n+jS+"/"+xm+JS},KS=function(n){n.write(tw("")),n.close();var t=n.parentWindow.Object;return n=null,t},NB=function(){var n=RB("iframe"),t="java"+xm+":",e;return n.style.display="none",PB.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(tw("document.F=Object")),e.close(),e.F},wh,Mh=function(){try{wh=new ActiveXObject("htmlfile")}catch(t){}Mh=typeof document!="undefined"?document.domain&&wh?KS(wh):NB():KS(wh);for(var n=ZS.length;n--;)delete Mh[_m][ZS[n]];return Mh()};IB[QS]=!0;ew.exports=Object.create||function(t,e){var i;return t!==null?(vm[_m]=TB(t),i=new vm,vm[_m]=null,i[QS]=t):i=Mh(),e===void 0?i:CB.f(i,e)}});var wm=X((Unt,nw)=>{"use strict";var OB=Xr(),DB=ku(),FB=Wo().f,Em=OB("unscopables"),Sm=Array.prototype;Sm[Em]===void 0&&FB(Sm,Em,{configurable:!0,value:DB(null)});nw.exports=function(n){Sm[Em][n]=!0}});var qu=X((Bnt,rw)=>{"use strict";rw.exports={}});var ow=X((znt,iw)=>{"use strict";var UB=An();iw.exports=!UB(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})});var Lc=X((Gnt,aw)=>{"use strict";var BB=oo(),zB=er(),GB=Vi(),kB=hh(),qB=ow(),sw=kB("IE_PROTO"),Mm=Object,VB=Mm.prototype;aw.exports=qB?Mm.getPrototypeOf:function(n){var t=GB(n);if(BB(t,sw))return t[sw];var e=t.constructor;return zB(e)&&t instanceof e?e.prototype:t instanceof Mm?VB:null}});var Cm=X((knt,cw)=>{"use strict";var HB=An(),WB=er(),XB=xi(),YB=ku(),uw=Lc(),$B=Ha(),ZB=Xr(),JB=Cc(),Tm=ZB("iterator"),lw=!1,Es,bm,Am;[].keys&&(Am=[].keys(),"next"in Am?(bm=uw(uw(Am)),bm!==Object.prototype&&(Es=bm)):lw=!0);var jB=!XB(Es)||HB(function(){var n={};return Es[Tm].call(n)!==n});jB?Es={}:JB&&(Es=YB(Es));WB(Es[Tm])||$B(Es,Tm,function(){return this});cw.exports={IteratorPrototype:Es,BUGGY_SAFARI_ITERATORS:lw}});var Nc=X((qnt,hw)=>{"use strict";var KB=Wo().f,QB=oo(),tz=Xr(),fw=tz("toStringTag");hw.exports=function(n,t,e){n&&!e&&(n=n.prototype),n&&!QB(n,fw)&&KB(n,fw,{configurable:!0,value:t})}});var dw=X((Vnt,pw)=>{"use strict";var ez=Cm().IteratorPrototype,nz=ku(),rz=wc(),iz=Nc(),oz=qu(),sz=function(){return this};pw.exports=function(n,t,e,i){var s=t+" Iterator";return n.prototype=nz(ez,{next:rz(+!i,e)}),iz(n,s,!1,!0),oz[s]=sz,n}});var Oc=X((Hnt,gw)=>{"use strict";var az=In(),uz=_s();gw.exports=function(n,t,e){try{return az(uz(Object.getOwnPropertyDescriptor(n,t)[e]))}catch(i){}}});var yw=X((Wnt,mw)=>{"use strict";var lz=xi();mw.exports=function(n){return lz(n)||n===null}});var _w=X((Xnt,vw)=>{"use strict";var cz=yw(),fz=String,hz=TypeError;vw.exports=function(n){if(cz(n))return n;throw new hz("Can't set "+fz(n)+" as a prototype")}});var Vu=X((Ynt,xw)=>{"use strict";var pz=Oc(),dz=xi(),gz=Fu(),mz=_w();xw.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n=!1,t={},e;try{e=pz(Object.prototype,"__proto__","set"),e(t,[]),n=t instanceof Array}catch(i){}return function(s,u){return gz(s),mz(u),dz(s)&&(n?e(s,u):s.__proto__=u),s}}():void 0)});var Rw=X(($nt,Pw)=>{"use strict";var yz=sr(),vz=vr(),bh=Cc(),Cw=fh(),_z=er(),xz=dw(),Ew=Lc(),Sw=Vu(),Ez=Nc(),Sz=xs(),Im=Ha(),wz=Xr(),ww=qu(),Iw=Cm(),Mz=Cw.PROPER,bz=Cw.CONFIGURABLE,Mw=Iw.IteratorPrototype,Ah=Iw.BUGGY_SAFARI_ITERATORS,Dc=wz("iterator"),bw="keys",Fc="values",Aw="entries",Tw=function(){return this};Pw.exports=function(n,t,e,i,s,u,c){xz(e,t,i);var f=function(x){if(x===s&&v)return v;if(!Ah&&x&&x in g)return g[x];switch(x){case bw:return function(){return new e(this,x)};case Fc:return function(){return new e(this,x)};case Aw:return function(){return new e(this,x)}}return function(){return new e(this)}},p=t+" Iterator",d=!1,g=n.prototype,y=g[Dc]||g["@@iterator"]||s&&g[s],v=!Ah&&y||f(s),E=t==="Array"&&g.entries||y,M,A,_;if(E&&(M=Ew(E.call(new n)),M!==Object.prototype&&M.next&&(!bh&&Ew(M)!==Mw&&(Sw?Sw(M,Mw):_z(M[Dc])||Im(M,Dc,Tw)),Ez(M,p,!0,!0),bh&&(ww[p]=Tw))),Mz&&s===Fc&&y&&y.name!==Fc&&(!bh&&bz?Sz(g,"name",Fc):(d=!0,v=function(){return vz(y,this)})),s)if(A={values:f(Fc),keys:u?v:f(bw),entries:f(Aw)},c)for(_ in A)(Ah||d||!(_ in g))&&Im(g,_,A[_]);else yz({target:t,proto:!0,forced:Ah||d},A);return(!bh||c)&&g[Dc]!==v&&Im(g,Dc,v,{name:s}),ww[t]=v,A}});var Nw=X((Znt,Lw)=>{"use strict";Lw.exports=function(n,t){return{value:n,done:t}}});var zw=X((Jnt,Bw)=>{"use strict";var Az=Uu(),Pm=wm(),Ow=qu(),Fw=Va(),Tz=Wo().f,Cz=Rw(),Th=Nw(),Iz=Cc(),Pz=ri(),Uw="Array Iterator",Rz=Fw.set,Lz=Fw.getterFor(Uw);Bw.exports=Cz(Array,"Array",function(n,t){Rz(this,{type:Uw,target:Az(n),index:0,kind:t})},function(){var n=Lz(this),t=n.target,e=n.index++;if(!t||e>=t.length)return n.target=null,Th(void 0,!0);switch(n.kind){case"keys":return Th(e,!1);case"values":return Th(t[e],!1)}return Th([e,t[e]],!1)},"values");var Dw=Ow.Arguments=Ow.Array;Pm("keys");Pm("values");Pm("entries");if(!Iz&&Pz&&Dw.name!=="values")try{Tz(Dw,"name",{value:"values"})}catch(n){}});var Bc=X(()=>{"use strict";var Gw=Sn(),qw=zS(),Nz=qS(),Uc=zw(),kw=xs(),Oz=Nc(),Dz=Xr(),Rm=Dz("iterator"),Lm=Uc.values,Vw=function(n,t){if(n){if(n[Rm]!==Lm)try{kw(n,Rm,Lm)}catch(i){n[Rm]=Lm}if(Oz(n,t,!0),qw[t]){for(var e in Uc)if(n[e]!==Uc[e])try{kw(n,e,Uc[e])}catch(i){n[e]=Uc[e]}}}};for(Ch in qw)Vw(Gw[Ch]&&Gw[Ch].prototype,Ch);var Ch;Vw(Nz,"DOMTokenList")});var Ih=X((Qnt,Hw)=>{"use strict";var Fz=vs(),Uz=In();Hw.exports=function(n){if(Fz(n)==="Function")return Uz(n)}});var zc=X((trt,Xw)=>{"use strict";var Ww=Ih(),Bz=_s(),zz=Sc(),Gz=Ww(Ww.bind);Xw.exports=function(n,t){return Bz(n),t===void 0?n:zz?Gz(n,t):function(){return n.apply(t,arguments)}}});var Zw=X((ert,$w)=>{"use strict";var kz=Rc(),qz=ii(),Vz=Eh(),Hz=zc(),Yw=function(n,t,e,i,s,u,c,f){for(var p=s,d=0,g=c?Hz(c,f):!1,y,v;d<i;)d in e&&(y=g?g(e[d],d,t):e[d],u>0&&kz(y)?(v=qz(y),p=Yw(n,t,y,v,p,u-1)-1):(Vz(p+1),n[p]=y),p++),d++;return p};$w.exports=Yw});var Kw=X((nrt,jw)=>{"use strict";var Wz=Xr(),Xz=Wz("toStringTag"),Jw={};Jw[Xz]="z";jw.exports=String(Jw)==="[object z]"});var Zs=X((rrt,Qw)=>{"use strict";var Yz=Kw(),$z=er(),Ph=vs(),Zz=Xr(),Jz=Zz("toStringTag"),jz=Object,Kz=Ph(function(){return arguments}())==="Arguments",Qz=function(n,t){try{return n[t]}catch(e){}};Qw.exports=Yz?Ph:function(n){var t,e,i;return n===void 0?"Undefined":n===null?"Null":typeof(e=Qz(t=jz(n),Jz))=="string"?e:Kz?Ph(t):(i=Ph(t))==="Object"&&$z(t.callee)?"Arguments":i}});var Om=X((irt,iM)=>{"use strict";var tG=In(),eG=An(),tM=er(),nG=Zs(),rG=$s(),iG=om(),eM=function(){},nM=rG("Reflect","construct"),Nm=/^\\s*(?:class|function)\\b/,oG=tG(Nm.exec),sG=!Nm.test(eM),Gc=function(t){if(!tM(t))return!1;try{return nM(eM,[],t),!0}catch(e){return!1}},rM=function(t){if(!tM(t))return!1;switch(nG(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return sG||!!oG(Nm,iG(t))}catch(e){return!0}};rM.sham=!0;iM.exports=!nM||eG(function(){var n;return Gc(Gc.call)||!Gc(Object)||!Gc(function(){n=!0})||n})?rM:Gc});var uM=X((ort,aM)=>{"use strict";var oM=Rc(),aG=Om(),uG=xi(),lG=Xr(),cG=lG("species"),sM=Array;aM.exports=function(n){var t;return oM(n)&&(t=n.constructor,aG(t)&&(t===sM||oM(t.prototype))?t=void 0:uG(t)&&(t=t[cG],t===null&&(t=void 0))),t===void 0?sM:t}});var Dm=X((srt,lM)=>{"use strict";var fG=uM();lM.exports=function(n,t){return new(fG(n))(t===0?0:t)}});var cM=X(()=>{"use strict";var hG=sr(),pG=Zw(),dG=Vi(),gG=ii(),mG=Hi(),yG=Dm();hG({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=dG(this),i=gG(e),s=yG(e,0);return s.length=pG(s,e,e,i,0,t===void 0?1:mG(t)),s}})});var fM=X(()=>{"use strict";var vG=wm();vG("flat")});var mM=X((frt,gM)=>{"use strict";var _G=Xr(),pM=_G("iterator"),dM=!1;try{hM=0,Fm={next:function(){return{done:!!hM++}},return:function(){dM=!0}},Fm[pM]=function(){return this},Array.from(Fm,function(){throw 2})}catch(n){}var hM,Fm;gM.exports=function(n,t){try{if(!t&&!dM)return!1}catch(s){return!1}var e=!1;try{var i={};i[pM]=function(){return{next:function(){return{done:e=!0}}}},n(i)}catch(s){}return e}});var Rh=X((hrt,yM)=>{"use strict";yM.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"});var Hu=X((prt,_M)=>{"use strict";var vM=fm(),xG=Wo();_M.exports=function(n,t,e){return e.get&&vM(e.get,t,{getter:!0}),e.set&&vM(e.set,t,{setter:!0}),xG.f(n,t,e)}});var Wi=X((drt,IM)=>{"use strict";var EG=Rh(),Gm=ri(),Ei=Sn(),wM=er(),Oh=xi(),js=oo(),km=Zs(),SG=zu(),wG=xs(),Um=Ha(),MG=Hu(),bG=Mc(),Dh=Lc(),Xu=Vu(),AG=Xr(),TG=sh(),MM=Va(),bM=MM.enforce,CG=MM.get,Lh=Ei.Int8Array,Bm=Lh&&Lh.prototype,xM=Ei.Uint8ClampedArray,EM=xM&&xM.prototype,Xo=Lh&&Dh(Lh),Mo=Bm&&Dh(Bm),IG=Object.prototype,qm=Ei.TypeError,SM=AG("toStringTag"),zm=TG("TYPED_ARRAY_TAG"),Nh="TypedArrayConstructor",Ss=EG&&!!Xu&&km(Ei.opera)!=="Opera",AM=!1,Li,Js,Wu,ws={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Vm={BigInt64Array:8,BigUint64Array:8},PG=function(t){if(!Oh(t))return!1;var e=km(t);return e==="DataView"||js(ws,e)||js(Vm,e)},TM=function(n){var t=Dh(n);if(Oh(t)){var e=CG(t);return e&&js(e,Nh)?e[Nh]:TM(t)}},CM=function(n){if(!Oh(n))return!1;var t=km(n);return js(ws,t)||js(Vm,t)},RG=function(n){if(CM(n))return n;throw new qm("Target is not a typed array")},LG=function(n){if(wM(n)&&(!Xu||bG(Xo,n)))return n;throw new qm(SG(n)+" is not a typed array constructor")},NG=function(n,t,e,i){if(Gm){if(e)for(var s in ws){var u=Ei[s];if(u&&js(u.prototype,n))try{delete u.prototype[n]}catch(c){try{u.prototype[n]=t}catch(f){}}}(!Mo[n]||e)&&Um(Mo,n,e?t:Ss&&Bm[n]||t,i)}},OG=function(n,t,e){var i,s;if(Gm){if(Xu){if(e){for(i in ws)if(s=Ei[i],s&&js(s,n))try{delete s[n]}catch(u){}}if(!Xo[n]||e)try{return Um(Xo,n,e?t:Ss&&Xo[n]||t)}catch(u){}else return}for(i in ws)s=Ei[i],s&&(!s[n]||e)&&Um(s,n,t)}};for(Li in ws)Js=Ei[Li],Wu=Js&&Js.prototype,Wu?bM(Wu)[Nh]=Js:Ss=!1;for(Li in Vm)Js=Ei[Li],Wu=Js&&Js.prototype,Wu&&(bM(Wu)[Nh]=Js);if((!Ss||!wM(Xo)||Xo===Function.prototype)&&(Xo=function(){throw new qm("Incorrect invocation")},Ss))for(Li in ws)Ei[Li]&&Xu(Ei[Li],Xo);if((!Ss||!Mo||Mo===IG)&&(Mo=Xo.prototype,Ss))for(Li in ws)Ei[Li]&&Xu(Ei[Li].prototype,Mo);Ss&&Dh(EM)!==Mo&&Xu(EM,Mo);if(Gm&&!js(Mo,SM)){AM=!0,MG(Mo,SM,{configurable:!0,get:function(){return Oh(this)?this[zm]:void 0}});for(Li in ws)Ei[Li]&&wG(Ei[Li],zm,Li)}IM.exports={NATIVE_ARRAY_BUFFER_VIEWS:Ss,TYPED_ARRAY_TAG:AM&&zm,aTypedArray:RG,aTypedArrayConstructor:LG,exportTypedArrayMethod:NG,exportTypedArrayStaticMethod:OG,getTypedArrayConstructor:TM,isView:PG,isTypedArray:CM,TypedArray:Xo,TypedArrayPrototype:Mo}});var LM=X((grt,RM)=>{"use strict";var PM=Sn(),Hm=An(),DG=mM(),FG=Wi().NATIVE_ARRAY_BUFFER_VIEWS,UG=PM.ArrayBuffer,Xa=PM.Int8Array;RM.exports=!FG||!Hm(function(){Xa(1)})||!Hm(function(){new Xa(-1)})||!DG(function(n){new Xa,new Xa(null),new Xa(1.5),new Xa(n)},!0)||Hm(function(){return new Xa(new UG(2),1,void 0).length!==1})});var OM=X((mrt,NM)=>{"use strict";var BG=Ha();NM.exports=function(n,t,e){for(var i in t)BG(n,i,t[i],e);return n}});var Wm=X((yrt,DM)=>{"use strict";var zG=Mc(),GG=TypeError;DM.exports=function(n,t){if(zG(t,n))return n;throw new GG("Incorrect invocation")}});var Fh=X((vrt,FM)=>{"use strict";var kG=Hi(),qG=Wa(),VG=RangeError;FM.exports=function(n){if(n===void 0)return 0;var t=kG(n),e=qG(t);if(t!==e)throw new VG("Wrong length or index");return e}});var BM=X((_rt,UM)=>{"use strict";UM.exports=Math.sign||function(t){var e=+t;return e===0||e!==e?e:e<0?-1:1}});var kM=X((xrt,GM)=>{"use strict";var HG=2220446049250313e-31,zM=1/HG;GM.exports=function(n){return n+zM-zM}});var VM=X((Ert,qM)=>{"use strict";var WG=BM(),XG=kM(),YG=Math.abs,$G=2220446049250313e-31;qM.exports=function(n,t,e,i){var s=+n,u=YG(s),c=WG(s);if(u<i)return c*XG(u/i/t)*i*t;var f=(1+t/$G)*u,p=f-(f-u);return p>e||p!==p?c*(1/0):c*p}});var WM=X((Srt,HM)=>{"use strict";var ZG=VM(),JG=11920928955078125e-23,jG=34028234663852886e22,KG=11754943508222875e-54;HM.exports=Math.fround||function(t){return ZG(t,JG,jG,KG)}});var YM=X((wrt,XM)=>{"use strict";var QG=Array,t4=Math.abs,Ms=Math.pow,e4=Math.floor,n4=Math.log,r4=Math.LN2,i4=function(n,t,e){var i=QG(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=t4(n),n!==n||n===1/0?(y=n!==n?1:0,g=u):(g=e4(n4(n)/r4),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},o4=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)};XM.exports={pack:i4,unpack:o4}});var Xm=X((Mrt,ZM)=>{"use strict";var s4=Vi(),$M=vh(),a4=ii();ZM.exports=function(t){for(var e=s4(this),i=a4(e),s=arguments.length,u=$M(s>1?arguments[1]:void 0,i),c=s>2?arguments[2]:void 0,f=c===void 0?i:$M(c,i);f>u;)e[u++]=t;return e}});var Uh=X((brt,JM)=>{"use strict";var u4=In();JM.exports=u4([].slice)});var Ym=X((Art,KM)=>{"use strict";var l4=er(),c4=xi(),jM=Vu();KM.exports=function(n,t,e){var i,s;return jM&&l4(i=t.constructor)&&i!==e&&c4(s=i.prototype)&&s!==e.prototype&&jM(n,s),n}});var Hh=X((Trt,gb)=>{"use strict";var qh=Sn(),Km=In(),$m=ri(),f4=Rh(),cb=fh(),h4=xs(),p4=Hu(),QM=OM(),Zm=An(),Bh=Wm(),d4=Hi(),g4=Wa(),Gh=Fh(),m4=WM(),fb=YM(),y4=Lc(),tb=Vu(),v4=Xm(),_4=Uh(),x4=Ym(),E4=gm(),hb=Nc(),Qm=Va(),S4=cb.PROPER,eb=cb.CONFIGURABLE,$u="ArrayBuffer",Vh="DataView",Zu="prototype",w4="Wrong length",pb="Wrong index",nb=Qm.getterFor($u),qc=Qm.getterFor(Vh),rb=Qm.set,bo=qh[$u],Xi=bo,Yu=Xi&&Xi[Zu],Yo=qh[Vh],Ya=Yo&&Yo[Zu],ib=Object.prototype,M4=qh.Array,kh=qh.RangeError,b4=Km(v4),A4=Km([].reverse),db=fb.pack,ob=fb.unpack,sb=function(n){return[n&255]},ab=function(n){return[n&255,n>>8&255]},ub=function(n){return[n&255,n>>8&255,n>>16&255,n>>24&255]},lb=function(n){return n[3]<<24|n[2]<<16|n[1]<<8|n[0]},T4=function(n){return db(m4(n),23,4)},C4=function(n){return db(n,52,8)},zh=function(n,t,e){p4(n[Zu],t,{configurable:!0,get:function(){return e(this)[t]}})},Ks=function(n,t,e,i){var s=qc(n),u=Gh(e),c=!!i;if(u+t>s.byteLength)throw new kh(pb);var f=s.bytes,p=u+s.byteOffset,d=_4(f,p,p+t);return c?d:A4(d)},Qs=function(n,t,e,i,s,u){var c=qc(n),f=Gh(e),p=i(+s),d=!!u;if(f+t>c.byteLength)throw new kh(pb);for(var g=c.bytes,y=f+c.byteOffset,v=0;v<t;v++)g[y+v]=p[d?v:t-v-1]};f4?(Jm=S4&&bo.name!==$u,!Zm(function(){bo(1)})||!Zm(function(){new bo(-1)})||Zm(function(){return new bo,new bo(1.5),new bo(NaN),bo.length!==1||Jm&&!eb})?(Xi=function(t){return Bh(this,Yu),x4(new bo(Gh(t)),this,Xi)},Xi[Zu]=Yu,Yu.constructor=Xi,E4(Xi,bo)):Jm&&eb&&h4(bo,"name",$u),tb&&y4(Ya)!==ib&&tb(Ya,ib),kc=new Yo(new Xi(2)),jm=Km(Ya.setInt8),kc.setInt8(0,2147483648),kc.setInt8(1,2147483649),(kc.getInt8(0)||!kc.getInt8(1))&&QM(Ya,{setInt8:function(t,e){jm(this,t,e<<24>>24)},setUint8:function(t,e){jm(this,t,e<<24>>24)}},{unsafe:!0})):(Xi=function(t){Bh(this,Yu);var e=Gh(t);rb(this,{type:$u,bytes:b4(M4(e),0),byteLength:e}),$m||(this.byteLength=e,this.detached=!1)},Yu=Xi[Zu],Yo=function(t,e,i){Bh(this,Ya),Bh(t,Yu);var s=nb(t),u=s.byteLength,c=d4(e);if(c<0||c>u)throw new kh("Wrong offset");if(i=i===void 0?u-c:g4(i),c+i>u)throw new kh(w4);rb(this,{type:Vh,buffer:t,byteLength:i,byteOffset:c,bytes:s.bytes}),$m||(this.buffer=t,this.byteLength=i,this.byteOffset=c)},Ya=Yo[Zu],$m&&(zh(Xi,"byteLength",nb),zh(Yo,"buffer",qc),zh(Yo,"byteLength",qc),zh(Yo,"byteOffset",qc)),QM(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 lb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))},getUint32:function(t){return lb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(t){return ob(Ks(this,4,t,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(t){return ob(Ks(this,8,t,arguments.length>1?arguments[1]:!1),52)},setInt8:function(t,e){Qs(this,1,t,sb,e)},setUint8:function(t,e){Qs(this,1,t,sb,e)},setInt16:function(t,e){Qs(this,2,t,ab,e,arguments.length>2?arguments[2]:!1)},setUint16:function(t,e){Qs(this,2,t,ab,e,arguments.length>2?arguments[2]:!1)},setInt32:function(t,e){Qs(this,4,t,ub,e,arguments.length>2?arguments[2]:!1)},setUint32:function(t,e){Qs(this,4,t,ub,e,arguments.length>2?arguments[2]:!1)},setFloat32:function(t,e){Qs(this,4,t,T4,e,arguments.length>2?arguments[2]:!1)},setFloat64:function(t,e){Qs(this,8,t,C4,e,arguments.length>2?arguments[2]:!1)}}));var Jm,kc,jm;hb(Xi,$u);hb(Yo,Vh);gb.exports={ArrayBuffer:Xi,DataView:Yo}});var yb=X((Crt,mb)=>{"use strict";var I4=xi(),P4=Math.floor;mb.exports=Number.isInteger||function(t){return!I4(t)&&isFinite(t)&&P4(t)===t}});var _b=X((Irt,vb)=>{"use strict";var R4=Hi(),L4=RangeError;vb.exports=function(n){var t=R4(n);if(t<0)throw new L4("The argument can't be less than 0");return t}});var t0=X((Prt,xb)=>{"use strict";var N4=_b(),O4=RangeError;xb.exports=function(n,t){var e=N4(n);if(e%t)throw new O4("Wrong offset");return e}});var Sb=X((Rrt,Eb)=>{"use strict";var D4=Math.round;Eb.exports=function(n){var t=D4(n);return t<0?0:t>255?255:t&255}});var Mb=X((Lrt,wb)=>{"use strict";var F4=Om(),U4=zu(),B4=TypeError;wb.exports=function(n){if(F4(n))return n;throw new B4(U4(n)+" is not a constructor")}});var e0=X((Nrt,Ab)=>{"use strict";var z4=Zs(),bb=Tc(),G4=th(),k4=qu(),q4=Xr(),V4=q4("iterator");Ab.exports=function(n){if(!G4(n))return bb(n,V4)||bb(n,"@@iterator")||k4[z4(n)]}});var Cb=X((Ort,Tb)=>{"use strict";var H4=vr(),W4=_s(),X4=so(),Y4=zu(),$4=e0(),Z4=TypeError;Tb.exports=function(n,t){var e=arguments.length<2?$4(n):t;if(W4(e))return X4(H4(e,n));throw new Z4(Y4(n)+" is not iterable")}});var Pb=X((Drt,Ib)=>{"use strict";var J4=Xr(),j4=qu(),K4=J4("iterator"),Q4=Array.prototype;Ib.exports=function(n){return n!==void 0&&(j4.Array===n||Q4[K4]===n)}});var n0=X((Frt,Rb)=>{"use strict";var tk=Zs();Rb.exports=function(n){var t=tk(n);return t==="BigInt64Array"||t==="BigUint64Array"}});var Wh=X((Urt,Lb)=>{"use strict";var ek=$g(),nk=TypeError;Lb.exports=function(n){var t=ek(n,"number");if(typeof t=="number")throw new nk("Can't convert number to bigint");return BigInt(t)}});var Ob=X((Brt,Nb)=>{"use strict";var rk=zc(),ik=vr(),ok=Mb(),sk=Vi(),ak=ii(),uk=Cb(),lk=e0(),ck=Pb(),fk=n0(),hk=Wi().aTypedArrayConstructor,pk=Wh();Nb.exports=function(t){var e=ok(this),i=sk(t),s=arguments.length,u=s>1?arguments[1]:void 0,c=u!==void 0,f=lk(i),p,d,g,y,v,E,M,A;if(f&&!ck(f))for(M=uk(i,f),A=M.next,i=[];!(E=ik(A,M)).done;)i.push(E.value);for(c&&s>2&&(u=rk(u,arguments[2])),d=ak(i),g=new(hk(e))(d),y=fk(g),p=0;d>p;p++)v=c?u(i[p],p):i[p],g[p]=y?pk(v):+v;return g}});var Ub=X((zrt,Fb)=>{"use strict";var dk=zc(),gk=In(),mk=Qf(),yk=Vi(),vk=ii(),_k=Dm(),Db=gk([].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=yk(p),E=mk(v),M=vk(E),A=dk(d,g),_=0,x=y||_k,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:Db(T,w)}else switch(n){case 4:return!1;case 7:Db(T,w)}return u?-1:i||s?s:T}};Fb.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 r0=X((Grt,zb)=>{"use strict";var xk=$s(),Ek=Hu(),Sk=Xr(),wk=ri(),Bb=Sk("species");zb.exports=function(n){var t=xk(n);wk&&t&&!t[Bb]&&Ek(t,Bb,{configurable:!0,get:function(){return this}})}});var i0=X((krt,Gb)=>{"use strict";var Mk=ii();Gb.exports=function(n,t,e){for(var i=0,s=arguments.length>2?e:Mk(t),u=new n(s);s>i;)u[i]=t[i++];return u}});var sA=X((qrt,f0)=>{"use strict";var kb=sr(),Kb=Sn(),qb=vr(),bk=ri(),Ak=LM(),Xc=Wi(),Qb=Hh(),Vb=Wm(),Tk=wc(),Vc=xs(),Ck=yb(),Ik=Wa(),Hb=Fh(),o0=t0(),Pk=Sb(),tA=ah(),Hc=oo(),Rk=Zs(),u0=xi(),Lk=Ac(),Nk=ku(),Ok=Mc(),Xh=Vu(),Dk=dm().f,Wb=Ob(),Fk=Ub().forEach,Uk=r0(),Bk=Hu(),eA=Wo(),nA=lh(),Xb=i0(),h0=Va(),zk=Ym(),l0=h0.get,Gk=h0.set,kk=h0.enforce,rA=eA.f,qk=nA.f,s0=Kb.RangeError,iA=Qb.ArrayBuffer,Vk=iA.prototype,Hk=Qb.DataView,Yh=Xc.NATIVE_ARRAY_BUFFER_VIEWS,Yb=Xc.TYPED_ARRAY_TAG,$b=Xc.TypedArray,Wc=Xc.TypedArrayPrototype,c0=Xc.isTypedArray,$h="BYTES_PER_ELEMENT",a0="Wrong length",Zh=function(n,t){Bk(n,t,{configurable:!0,get:function(){return l0(this)[t]}})},Zb=function(n){var t;return Ok(Vk,n)||(t=Rk(n))==="ArrayBuffer"||t==="SharedArrayBuffer"},oA=function(n,t){return c0(n)&&!Lk(t)&&t in n&&Ck(+t)&&t>=0},Jb=function(t,e){return e=tA(e),oA(t,e)?Tk(2,t[e]):qk(t,e)},jb=function(t,e,i){return e=tA(e),oA(t,e)&&u0(i)&&Hc(i,"value")&&!Hc(i,"get")&&!Hc(i,"set")&&!i.configurable&&(!Hc(i,"writable")||i.writable)&&(!Hc(i,"enumerable")||i.enumerable)?(t[e]=i.value,t):rA(t,e,i)};bk?(Yh||(nA.f=Jb,eA.f=jb,Zh(Wc,"buffer"),Zh(Wc,"byteOffset"),Zh(Wc,"byteLength"),Zh(Wc,"length")),kb({target:"Object",stat:!0,forced:!Yh},{getOwnPropertyDescriptor:Jb,defineProperty:jb}),f0.exports=function(n,t,e){var i=n.match(/\\d+/)[0]/8,s=n+(e?"Clamped":"")+"Array",u="get"+n,c="set"+n,f=Kb[s],p=f,d=p&&p.prototype,g={},y=function(A,_){var x=l0(A);return x.view[u](_*i+x.byteOffset,!0)},v=function(A,_,x){var T=l0(A);T.view[c](_*i+T.byteOffset,e?Pk(x):x,!0)},E=function(A,_){rA(A,_,{get:function(){return y(this,_)},set:function(x){return v(this,_,x)},enumerable:!0})};Yh?Ak&&(p=t(function(A,_,x,T){return Vb(A,d),zk(function(){return u0(_)?Zb(_)?T!==void 0?new f(_,o0(x,i),T):x!==void 0?new f(_,o0(x,i)):new f(_):c0(_)?Xb(p,_):qb(Wb,p,_):new f(Hb(_))}(),A,p)}),Xh&&Xh(p,$b),Fk(Dk(f),function(A){A in p||Vc(p,A,f[A])}),p.prototype=d):(p=t(function(A,_,x,T){Vb(A,d);var w=0,R=0,B,U,D;if(!u0(_))D=Hb(_),U=D*i,B=new iA(U);else if(Zb(_)){B=_,R=o0(x,i);var P=_.byteLength;if(T===void 0){if(P%i)throw new s0(a0);if(U=P-R,U<0)throw new s0(a0)}else if(U=Ik(T)*i,U+R>P)throw new s0(a0);D=U/i}else return c0(_)?Xb(p,_):qb(Wb,p,_);for(Gk(A,{buffer:B,byteOffset:R,byteLength:U,length:D,view:new Hk(B)});w<D;)E(A,w++)}),Xh&&Xh(p,$b),d=p.prototype=Nk(Wc)),d.constructor!==p&&Vc(d,"constructor",p),kk(d).TypedArrayConstructor=p,Yb&&Vc(d,Yb,s);var M=p!==f;g[s]=p,kb({global:!0,constructor:!0,forced:M,sham:!Yh},g),$h in p||Vc(p,$h,i),$h in d||Vc(d,$h,i),Uk(s)}):f0.exports=function(){}});var p0=X(()=>{"use strict";var Wk=sA();Wk("Float32",function(n){return function(e,i,s){return n(this,e,i,s)}})});var d0=X(()=>{"use strict";var aA=Wi(),Xk=ii(),Yk=Hi(),$k=aA.aTypedArray,Zk=aA.exportTypedArrayMethod;Zk("at",function(t){var e=$k(this),i=Xk(e),s=Yk(t),u=s>=0?s:i+s;return u<0||u>=i?void 0:e[u]})});var g0=X(()=>{"use strict";var uA=Wi(),Jk=Xm(),jk=Wh(),Kk=Zs(),Qk=vr(),tq=In(),eq=An(),nq=uA.aTypedArray,rq=uA.exportTypedArrayMethod,iq=tq("".slice),oq=eq(function(){var n=0;return new Int8Array(2).fill({valueOf:function(){return n++}}),n!==1});rq("fill",function(t){var e=arguments.length;nq(this);var i=iq(Kk(this),0,3)==="Big"?jk(t):+t;return Qk(Jk,this,i,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},oq)});var m0=X((Zrt,cA)=>{"use strict";var sq=zc(),aq=Qf(),uq=Vi(),lq=ii(),lA=function(n){var t=n===1;return function(e,i,s){for(var u=uq(e),c=aq(u),f=lq(c),p=sq(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}};cA.exports={findLast:lA(0),findLastIndex:lA(1)}});var y0=X(()=>{"use strict";var fA=Wi(),cq=m0().findLast,fq=fA.aTypedArray,hq=fA.exportTypedArrayMethod;hq("findLast",function(t){return cq(fq(this),t,arguments.length>1?arguments[1]:void 0)})});var v0=X(()=>{"use strict";var hA=Wi(),pq=m0().findLastIndex,dq=hA.aTypedArray,gq=hA.exportTypedArrayMethod;gq("findLastIndex",function(t){return pq(dq(this),t,arguments.length>1?arguments[1]:void 0)})});var S0=X(()=>{"use strict";var dA=Sn(),gA=vr(),E0=Wi(),mq=ii(),yq=t0(),vq=Vi(),mA=An(),_q=dA.RangeError,_0=dA.Int8Array,pA=_0&&_0.prototype,yA=pA&&pA.set,xq=E0.aTypedArray,Eq=E0.exportTypedArrayMethod,x0=!mA(function(){var n=new Uint8ClampedArray(2);return gA(yA,n,{length:1,0:3},1),n[1]!==3}),Sq=x0&&E0.NATIVE_ARRAY_BUFFER_VIEWS&&mA(function(){var n=new _0(2);return n.set(1),n.set("2",1),n[0]!==0||n[1]!==2});Eq("set",function(t){xq(this);var e=yq(arguments.length>1?arguments[1]:void 0,1),i=vq(t);if(x0)return gA(yA,this,i,e);var s=this.length,u=mq(i),c=0;if(u+e>s)throw new _q("Wrong length");for(;c<u;)this[e+c]=i[c++]},!x0||Sq)});var M0=X((nit,_A)=>{"use strict";var vA=Uh(),wq=Math.floor,w0=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=wq(e/2),f=w0(vA(n,0,c),t),p=w0(vA(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};_A.exports=w0});var b0=X((rit,EA)=>{"use strict";var Mq=Bu(),xA=Mq.match(/firefox\\/(\\d+)/i);EA.exports=!!xA&&+xA[1]});var A0=X((iit,SA)=>{"use strict";var bq=Bu();SA.exports=/MSIE|Trident/.test(bq)});var T0=X((oit,MA)=>{"use strict";var Aq=Bu(),wA=Aq.match(/AppleWebKit\\/(\\d+)\\./);MA.exports=!!wA&&+wA[1]});var I0=X(()=>{"use strict";var Tq=Sn(),Cq=Ih(),C0=An(),Iq=_s(),Pq=M0(),IA=Wi(),bA=b0(),Rq=A0(),AA=bc(),TA=T0(),Lq=IA.aTypedArray,Nq=IA.exportTypedArrayMethod,Yc=Tq.Uint16Array,Ju=Yc&&Cq(Yc.prototype.sort),Oq=!!Ju&&!(C0(function(){Ju(new Yc(2),null)})&&C0(function(){Ju(new Yc(2),{})})),CA=!!Ju&&!C0(function(){if(AA)return AA<74;if(bA)return bA<67;if(Rq)return!0;if(TA)return TA<602;var n=new Yc(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(Ju(n,function(s,u){return(s/4|0)-(u/4|0)}),e=0;e<516;e++)if(n[e]!==t[e])return!0}),Dq=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}};Nq("sort",function(t){return t!==void 0&&Iq(t),CA?Ju(this,t):Pq(Lq(this),Dq(t))},!CA||Oq)});var RA=X((uit,PA)=>{"use strict";var Fq=ii();PA.exports=function(n,t){for(var e=Fq(n),i=new t(e),s=0;s<e;s++)i[s]=n[e-s-1];return i}});var R0=X(()=>{"use strict";var Uq=RA(),P0=Wi(),Bq=P0.aTypedArray,zq=P0.exportTypedArrayMethod,Gq=P0.getTypedArrayConstructor;zq("toReversed",function(){return Uq(Bq(this),Gq(this))})});var L0=X(()=>{"use strict";var Jh=Wi(),kq=In(),qq=_s(),Vq=i0(),Hq=Jh.aTypedArray,Wq=Jh.getTypedArrayConstructor,Xq=Jh.exportTypedArrayMethod,Yq=kq(Jh.TypedArrayPrototype.sort);Xq("toSorted",function(t){t!==void 0&&qq(t);var e=Hq(this),i=Vq(Wq(e),e);return Yq(i,t)})});var NA=X((pit,LA)=>{"use strict";var $q=ii(),Zq=Hi(),Jq=RangeError;LA.exports=function(n,t,e,i){var s=$q(n),u=Zq(e),c=u<0?s+u:u;if(c>=s||c<0)throw new Jq("Incorrect index");for(var f=new t(s),p=0;p<s;p++)f[p]=p===c?i:n[p];return f}});var O0=X(()=>{"use strict";var jq=NA(),N0=Wi(),Kq=n0(),Qq=Hi(),t5=Wh(),e5=N0.aTypedArray,n5=N0.getTypedArrayConstructor,r5=N0.exportTypedArrayMethod,i5=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(n){return n===8}}();r5("with",function(n,t){var e=e5(this),i=Qq(n),s=Kq(e)?t5(t):+t;return jq(e,n5(e),i,s)},!i5)});var F0=X(()=>{"use strict";var o5=sr(),s5=Sn(),a5=Hh(),u5=r0(),D0="ArrayBuffer",OA=a5[D0],l5=s5[D0];o5({global:!0,constructor:!0,forced:l5!==OA},{ArrayBuffer:OA});u5(D0)});var G0=X(()=>{"use strict";var c5=sr(),B0=Ih(),f5=An(),BA=Hh(),DA=so(),FA=vh(),h5=Wa(),z0=BA.ArrayBuffer,U0=BA.DataView,zA=U0.prototype,UA=B0(z0.prototype.slice),p5=B0(zA.getUint8),d5=B0(zA.setUint8),g5=f5(function(){return!new z0(2).slice(1,void 0).byteLength});c5({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:g5},{slice:function(t,e){if(UA&&e===void 0)return UA(DA(this),t);for(var i=DA(this).byteLength,s=FA(t,i),u=FA(e===void 0?i:e,i),c=new z0(h5(u-s)),f=new U0(this),p=new U0(c),d=0;s<u;)d5(p,d++,p5(f,s++));return c}})});var k0=X((xit,qA)=>{"use strict";var kA=Sn(),m5=Oc(),y5=vs(),GA=kA.ArrayBuffer,v5=kA.TypeError;qA.exports=GA&&m5(GA.prototype,"byteLength","get")||function(n){if(y5(n)!=="ArrayBuffer")throw new v5("ArrayBuffer expected");return n.byteLength}});var q0=X((Eit,VA)=>{"use strict";var _5=Sn(),x5=Rh(),E5=k0(),S5=_5.DataView;VA.exports=function(n){if(!x5||E5(n)!==0)return!1;try{return new S5(n),!1}catch(t){return!0}}});var V0=X(()=>{"use strict";var w5=ri(),M5=Hu(),b5=q0(),HA=ArrayBuffer.prototype;w5&&!("detached"in HA)&&M5(HA,"detached",{configurable:!0,get:function(){return b5(this)}})});var XA=X((Mit,WA)=>{"use strict";var A5=q0(),T5=TypeError;WA.exports=function(n){if(A5(n))throw new T5("ArrayBuffer is detached");return n}});var H0=X((bit,YA)=>{"use strict";var $c=Sn(),C5=Bu(),I5=vs(),jh=function(n){return C5.slice(0,n.length)===n};YA.exports=function(){return jh("Bun/")?"BUN":jh("Cloudflare-Workers")?"CLOUDFLARE":jh("Deno/")?"DENO":jh("Node.js/")?"NODE":$c.Bun&&typeof Bun.version=="string"?"BUN":$c.Deno&&typeof Deno.version=="object"?"DENO":I5($c.process)==="process"?"NODE":$c.window&&$c.document?"BROWSER":"REST"}()});var ZA=X((Ait,$A)=>{"use strict";var P5=H0();$A.exports=P5==="NODE"});var jA=X((Tit,JA)=>{"use strict";var R5=Sn(),L5=ZA();JA.exports=function(n){if(L5){try{return R5.process.getBuiltinModule(n)}catch(t){}try{return Function('return require("'+n+'")')()}catch(t){}}}});var Y0=X((Cit,QA)=>{"use strict";var N5=Sn(),O5=An(),W0=bc(),X0=H0(),KA=N5.structuredClone;QA.exports=!!KA&&!O5(function(){if(X0==="DENO"&&W0>92||X0==="NODE"&&W0>94||X0==="BROWSER"&&W0>97)return!1;var n=new ArrayBuffer(8),t=KA(n,{transfer:[n]});return n.byteLength!==0||t.byteLength!==8})});var rT=X((Iit,nT)=>{"use strict";var j0=Sn(),D5=jA(),F5=Y0(),U5=j0.structuredClone,tT=j0.ArrayBuffer,Kh=j0.MessageChannel,J0=!1,$0,eT,Qh,Z0;if(F5)J0=function(n){U5(n,{transfer:[n]})};else if(tT)try{Kh||($0=D5("worker_threads"),$0&&(Kh=$0.MessageChannel)),Kh&&(eT=new Kh,Qh=new tT(2),Z0=function(n){eT.port1.postMessage(null,[n])},Qh.byteLength===2&&(Z0(Qh),Qh.byteLength===0&&(J0=Z0)))}catch(n){}nT.exports=J0});var ry=X((Pit,cT)=>{"use strict";var ty=Sn(),ey=In(),aT=Oc(),B5=Fh(),z5=XA(),G5=k0(),iT=rT(),K0=Y0(),k5=ty.structuredClone,uT=ty.ArrayBuffer,Q0=ty.DataView,q5=Math.min,ny=uT.prototype,lT=Q0.prototype,V5=ey(ny.slice),oT=aT(ny,"resizable","get"),sT=aT(ny,"maxByteLength","get"),H5=ey(lT.getInt8),W5=ey(lT.setInt8);cT.exports=(K0||iT)&&function(n,t,e){var i=G5(n),s=t===void 0?i:B5(t),u=!oT||!oT(n),c;if(z5(n),K0&&(n=k5(n,{transfer:[n]}),i===s&&(e||u)))return n;if(i>=s&&(!e||u))c=V5(n,0,s);else{var f=e&&!u&&sT?{maxByteLength:sT(n)}:void 0;c=new uT(s,f);for(var p=new Q0(n),d=new Q0(c),g=q5(s,i),y=0;y<g;y++)W5(d,y,H5(p,y))}return K0||iT(n),c}});var iy=X(()=>{"use strict";var X5=sr(),fT=ry();fT&&X5({target:"ArrayBuffer",proto:!0},{transfer:function(){return fT(this,arguments.length?arguments[0]:void 0,!0)}})});var oy=X(()=>{"use strict";var Y5=sr(),hT=ry();hT&&Y5({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return hT(this,arguments.length?arguments[0]:void 0,!1)}})});var Ao=X((Dit,pT)=>{"use strict";var sy=In(),tp=Set.prototype;pT.exports={Set,add:sy(tp.add),has:sy(tp.has),remove:sy(tp.delete),proto:tp}});var ea=X((Fit,dT)=>{"use strict";var $5=Ao().has;dT.exports=function(n){return $5(n),n}});var na=X((Uit,gT)=>{"use strict";var Z5=vr();gT.exports=function(n,t,e){for(var i=e?n:n.iterator,s=n.next,u,c;!(u=Z5(s,i)).done;)if(c=t(u.value),c!==void 0)return c}});var ju=X((Bit,xT)=>{"use strict";var mT=In(),J5=na(),yT=Ao(),j5=yT.Set,vT=yT.proto,K5=mT(vT.forEach),_T=mT(vT.keys),Q5=_T(new j5).next;xT.exports=function(n,t,e){return e?J5({iterator:_T(n),next:Q5},t):K5(n,t)}});var ep=X((zit,ST)=>{"use strict";var ET=Ao(),tV=ju(),eV=ET.Set,nV=ET.add;ST.exports=function(n){var t=new eV;return tV(n,function(e){nV(t,e)}),t}});var Ku=X((Git,wT)=>{"use strict";var rV=Oc(),iV=Ao();wT.exports=rV(iV.proto,"size","get")||function(n){return n.size}});var bT=X((kit,MT)=>{"use strict";MT.exports=function(n){return{iterator:n,next:n.next,done:!1}}});var ra=X((qit,RT)=>{"use strict";var AT=_s(),IT=so(),TT=vr(),oV=Hi(),sV=bT(),CT="Invalid size",aV=RangeError,uV=TypeError,lV=Math.max,PT=function(n,t){this.set=n,this.size=lV(t,0),this.has=AT(n.has),this.keys=AT(n.keys)};PT.prototype={getIterator:function(){return sV(IT(TT(this.keys,this.set)))},includes:function(n){return TT(this.has,this.set,n)}};RT.exports=function(n){IT(n);var t=+n.size;if(t!==t)throw new uV(CT);var e=oV(t);if(e<0)throw new aV(CT);return new PT(n,e)}});var DT=X((Vit,OT)=>{"use strict";var cV=ea(),NT=Ao(),fV=ep(),hV=Ku(),pV=ra(),dV=ju(),gV=na(),mV=NT.has,LT=NT.remove;OT.exports=function(t){var e=cV(this),i=pV(t),s=fV(e);return hV(e)<=i.size?dV(e,function(u){i.includes(u)&&LT(s,u)}):gV(i.getIterator(),function(u){mV(e,u)&&LT(s,u)}),s}});var ia=X((Hit,BT)=>{"use strict";var yV=$s(),FT=function(n){return{size:n,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},UT=function(n){return{size:n,has:function(){return!0},keys:function(){throw new Error("e")}}};BT.exports=function(n,t){var e=yV("Set");try{new e()[n](FT(0));try{return new e()[n](FT(-1)),!1}catch(s){if(!t)return!0;try{return new e()[n](UT(-1/0)),!1}catch(u){var i=new e;return i.add(1),i.add(2),t(i[n](UT(1/0)))}}}catch(s){return!1}}});var zT=X(()=>{"use strict";var vV=sr(),_V=DT(),xV=ia(),EV=!xV("difference",function(n){return n.size===0});vV({target:"Set",proto:!0,real:!0,forced:EV},{difference:_V})});var qT=X((Yit,kT)=>{"use strict";var SV=ea(),ay=Ao(),wV=Ku(),MV=ra(),bV=ju(),AV=na(),TV=ay.Set,GT=ay.add,CV=ay.has;kT.exports=function(t){var e=SV(this),i=MV(t),s=new TV;return wV(e)>i.size?AV(i.getIterator(),function(u){CV(e,u)&&GT(s,u)}):bV(e,function(u){i.includes(u)&&GT(s,u)}),s}});var VT=X(()=>{"use strict";var IV=sr(),PV=An(),RV=qT(),LV=ia(),NV=!LV("intersection",function(n){return n.size===2&&n.has(1)&&n.has(2)})||PV(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});IV({target:"Set",proto:!0,real:!0,forced:NV},{intersection:RV})});var uy=X((Jit,WT)=>{"use strict";var OV=vr(),HT=so(),DV=Tc();WT.exports=function(n,t,e){var i,s;HT(n);try{if(i=DV(n,"return"),!i){if(t==="throw")throw e;return e}i=OV(i,n)}catch(u){s=!0,i=u}if(t==="throw")throw e;if(s)throw i;return HT(i),e}});var YT=X((jit,XT)=>{"use strict";var FV=ea(),UV=Ao().has,BV=Ku(),zV=ra(),GV=ju(),kV=na(),qV=uy();XT.exports=function(t){var e=FV(this),i=zV(t);if(BV(e)<=i.size)return GV(e,function(u){if(i.includes(u))return!1},!0)!==!1;var s=i.getIterator();return kV(s,function(u){if(UV(e,u))return qV(s,"normal",!1)})!==!1}});var $T=X(()=>{"use strict";var VV=sr(),HV=YT(),WV=ia(),XV=!WV("isDisjointFrom",function(n){return!n});VV({target:"Set",proto:!0,real:!0,forced:XV},{isDisjointFrom:HV})});var JT=X((tot,ZT)=>{"use strict";var YV=ea(),$V=Ku(),ZV=ju(),JV=ra();ZT.exports=function(t){var e=YV(this),i=JV(t);return $V(e)>i.size?!1:ZV(e,function(s){if(!i.includes(s))return!1},!0)!==!1}});var jT=X(()=>{"use strict";var jV=sr(),KV=JT(),QV=ia(),tH=!QV("isSubsetOf",function(n){return n});jV({target:"Set",proto:!0,real:!0,forced:tH},{isSubsetOf:KV})});var QT=X((rot,KT)=>{"use strict";var eH=ea(),nH=Ao().has,rH=Ku(),iH=ra(),oH=na(),sH=uy();KT.exports=function(t){var e=eH(this),i=iH(t);if(rH(e)<i.size)return!1;var s=i.getIterator();return oH(s,function(u){if(!nH(e,u))return sH(s,"normal",!1)})!==!1}});var tC=X(()=>{"use strict";var aH=sr(),uH=QT(),lH=ia(),cH=!lH("isSupersetOf",function(n){return!n});aH({target:"Set",proto:!0,real:!0,forced:cH},{isSupersetOf:uH})});var nC=X((sot,eC)=>{"use strict";var fH=ea(),ly=Ao(),hH=ep(),pH=ra(),dH=na(),gH=ly.add,mH=ly.has,yH=ly.remove;eC.exports=function(t){var e=fH(this),i=pH(t).getIterator(),s=hH(e);return dH(i,function(u){mH(e,u)?yH(s,u):gH(s,u)}),s}});var rC=X(()=>{"use strict";var vH=sr(),_H=nC(),xH=ia();vH({target:"Set",proto:!0,real:!0,forced:!xH("symmetricDifference")},{symmetricDifference:_H})});var oC=X((lot,iC)=>{"use strict";var EH=ea(),SH=Ao().add,wH=ep(),MH=ra(),bH=na();iC.exports=function(t){var e=EH(this),i=MH(t).getIterator(),s=wH(e);return bH(i,function(u){SH(s,u)}),s}});var sC=X(()=>{"use strict";var AH=sr(),TH=oC(),CH=ia();AH({target:"Set",proto:!0,real:!0,forced:!CH("union")},{union:TH})});var cy=X((hot,uC)=>{"use strict";var aC=zu(),IH=TypeError;uC.exports=function(n,t){if(!delete n[t])throw new IH("Cannot delete property "+aC(t)+" of "+aC(n))}});var lC=X(()=>{"use strict";var PH=sr(),RH=Vi(),LH=ii(),NH=mm(),OH=cy(),DH=Eh(),FH=[].unshift(0)!==1,UH=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(n){return n instanceof TypeError}},BH=FH||!UH();PH({target:"Array",proto:!0,arity:1,forced:BH},{unshift:function(t){var e=RH(this),i=LH(e),s=arguments.length;if(s){DH(i+s);for(var u=i;u--;){var c=u+s;u in e?e[c]=e[u]:OH(e,c)}for(var f=0;f<s;f++)e[f]=arguments[f]}return NH(e,i+s)}})});var Ll=X((Cot,pP)=>{"use strict";var xY=Zs(),EY=String;pP.exports=function(n){if(xY(n)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return EY(n)}});var gP=X((Iot,dP)=>{"use strict";var SY=so();dP.exports=function(){var n=SY(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 yP=X((Pot,mP)=>{"use strict";var Kv=An(),wY=Sn(),Qv=wY.RegExp,t_=Kv(function(){var n=Qv("a","y");return n.lastIndex=2,n.exec("abcd")!==null}),MY=t_||Kv(function(){return!Qv("a","y").sticky}),bY=t_||Kv(function(){var n=Qv("^r","gy");return n.lastIndex=2,n.exec("str")!==null});mP.exports={BROKEN_CARET:bY,MISSED_STICKY:MY,UNSUPPORTED_Y:t_}});var _P=X((Rot,vP)=>{"use strict";var AY=An(),TY=Sn(),CY=TY.RegExp;vP.exports=AY(function(){var n=CY(".","s");return!(n.dotAll&&n.test(\`
8008
+ `,n=-1/0,r=this.geometry.getAttribute("position");if(r)for(let s=0;s<r.count;s++){let a=r.getZ(s);a>n&&(n=a)}let o=new EG({uniforms:{maxZ:{value:n},uColor:{value:new P3(this.options[0].fillColor).convertLinearToSRGB()},uColor2:{value:new P3(Be(this.options[0].fillColor)).convertLinearToSRGB()},uOpacity:{value:this.options[0].fillOpacity}},vertexShader:t,fragmentShader:e,transparent:!0});this.material=o}initLineMaterial(){let t=D.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 _G(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 o=0;o<r.length;o++){let s=r[o];for(let a=0;a<s.length;a++){let u=s[a],l=a+1===s.length?s[0]:s[a+1];t.push(new R3(u[0],u[1],e)),t.push(new R3(l[0],l[1],e))}}}),t}initLineGeometry(){this.lineGeometry&&this.lineGeometry.dispose();let t=this.getBorderPoints(),e=new yG().setFromPoints(t);this.lineGeometry=e}createBorder(){this.line&&this.remove(this.line);let t=new xG(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=>S({},nr,r)),this.init())}};var vJ=f(A(),1),_J=f(ss(),1);import{DoubleSide as bG,Matrix4 as L3,Mesh as MG,MeshBasicMaterial as wG,Object3D as TG,PlaneGeometry as AG}from"three";import{mergeGeometries as CG}from"three/examples/jsm/utils/BufferGeometryUtils.js";var RG={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},Ia=class extends TG{init(){return y(this,null,function*(){let t=yield Promise.all(this.options.map(s=>nt.getTextureByText(s.texts[0],{fillStyle:K0(s.fillColor,s.fillOpacity),strokeStyle:K0(s.strokeColor,s.strokeOpacity),lineWidth:6,font:"bold 54px sans-serif",maxWidth:2048}))),e=t.map((s,a)=>{let u=this.options[a],{width:l,height:c}=s.texture.image,h=l/c,p=u.secondHeight*h,d=new AG(p,u.secondHeight),g=new L3().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight+u.height).multiply(new L3().makeRotationZ(u.secondRotate));return d.applyMatrix4(g),d}),n=CG(e,!0);e.forEach(s=>s.dispose());let r=t.map(s=>{let{texture:a}=s,u=new wG({map:a,alphaTest:1,side:bG});return a.needsUpdate=!0,u}),o=new MG(n,r);this.mesh=o,this.position.z+=.04,this.add(o)})}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=>S({},RG,n)).filter(n=>n.texts[0].trim()),this.options.length&&this.init()}};import{Object3D as PG}from"three";import{Line2 as IG}from"three/examples/jsm/lines/Line2.js";import{LineGeometry as LG}from"three/examples/jsm/lines/LineGeometry.js";import{LineMaterial as NG}from"three/examples/jsm/lines/LineMaterial.js";var Qi=class extends PG{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 IG(this.lineGeometry,this.lineMaterial),this.line.renderOrder=100003,this.add(this.line)}dispose(){var t;this.unRegistryEvent(),this.line&&W(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 LG,this.lineMaterial=new NG({color:0,transparent:!0,depthTest:!1,linewidth:2}),this.line=null,this.onResize=()=>{let{width:r,height:o}=this.context.clientSize;this.lineMaterial.resolution.set(r,o)},this.onResize(),this.registryEvent(),e&&n&&this.setPosition(e,n)}};var IJ=f(F(),1),LJ=f(A(),1);import{Box3 as OG,InstancedMesh as DG,Object3D as UG,Vector3 as FG}from"three";import{Matrix4 as to}from"three";var xa=class extends UG{loadModel(){return y(this,null,function*(){let t=yield _t.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 DG(l,c,this.options.length)});t.scene.rotation.set(Math.PI/2,0,0);let o=new OG().setFromObject(t.scene).getSize(new FG),s=Math.max(o.x,o.y);this.options.map(u=>{let l=new to,c=u.width/s;return l.multiply(new to().makeTranslation(u.center_x,u.center_y,u.airHeight+u.deltaHeight)).multiply(new to().makeScale(c,c,c)).multiply(new to().makeRotationZ(u.rotate)).multiply(new to().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,e.emissive=e.color,e.emissiveMap=e.map}):(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(o=>{if(e)o.opacity=t;else{let s=this.materialOriginParams.get(o)||{opacity:1};t>s.opacity?o.opacity=s.opacity:o.opacity=t}o.needsUpdate=!0});else{let o=this.materialOriginParams.get(r)||{opacity:1};t>o.opacity?r.opacity=o.opacity:r.opacity=t,r.needsUpdate=!0}}),this.children.forEach(n=>{n.instanceMatrix.needsUpdate=!0})}dispose(){this.children.forEach(t=>t.dispose()),W(this),this.clear()}constructor(t,e){super(),this.context=t,this.options=e,this.subMeshes=[],this.materialOriginParams=new Map,this.loadModel()}};import{Object3D as BG,Mesh as zG,LineSegments as GG,ObjectLoader as kG}from"three";var sr=class extends BG{init(){return y(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=D.GetMergeAttributeGraphicMaterial()}initLineMaterial(){return this.lineMaterial=D.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new zG(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 GG(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 kG,this.options=S({},nr,e),this.init()}};import{Mesh as VG,Object3D as HG,ObjectLoader as WG}from"three";var La=class extends HG{initGeometry(){return y(this,null,function*(){let t=new WG().parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}init(){return y(this,null,function*(){var t;yield this.initGeometry();let e=new VG(this.geometry,Pt.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 s=0;s<r.count;s++)if(e)r.setX(s,t);else{var o;r.setX(s,Math.min(t,(o=this.originOpacities[s])!=null?o: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()}};var KJ=f(Kn(),1),$J=f(We(),1),JJ=f(qe(),1),QJ=f(Xe(),1),tQ=f(je(),1),eQ=f(Ye(),1),nQ=f(Ze(),1),rQ=f(Ke(),1),iQ=f($e(),1),oQ=f(Je(),1),sQ=f(Qe(),1),aQ=f(tn(),1),uQ=f(en(),1),lQ=f(nn(),1),cQ=f(rn(),1);import{Float32BufferAttribute as qG,FrontSide as XG,InstancedBufferAttribute as jG,InstancedMesh as YG,MeshBasicMaterial as ZG,Object3D as KG,Shape as $G,ShapeGeometry as JG,Vector2 as Na}from"three";var or=class extends KG{init(){return y(this,null,function*(){let t=this.options.iconUrl,e=yield ht.getTextureByUrl(t),n=new ZG({map:e,transparent:!0,alphaTest:.2,side:XG}),r=new YG(this.geometry,n,this.options.mergedMatrixes.size);r.instanceMatrix=new jG(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&&W(this.mesh),(t=this.mesh)==null||t.dispose(),this.clear()}constructor(t,e){super(),this.context=t,this.geometry=new JG(new $G([new Na(-.5,-.5),new Na(-.5,.5),new Na(.5,.5),new Na(.5,-.5)])),this.options=S({},yh,e);let n=new qG([0,0,0,1,1,1,1,0],2);this.geometry.setAttribute("uv",n),this.init()}};var vQ=f(F(),1);import{Mesh as QG,Object3D as tk,ObjectLoader as ek,Vector2 as N3}from"three";import{LineSegments2 as O3}from"three/examples/jsm/lines/LineSegments2.js";import{LineSegmentsGeometry as D3}from"three/examples/jsm/lines/LineSegmentsGeometry.js";var Oa=class extends tk{initGeometry(){return y(this,null,function*(){let t=this.loader.parseGeometries([this.options.mergedGeometry]);this.geometry=t[this.options.mergedGeometry.uuid]})}initMaterial(){let t=D.createMeshBasicMaterial({color:"#ffffff",opacity:1,vertexColors:!0});return this.material=t,t}initDoubleLine(){if(this.options.dashedLineGeometry){let t=D.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!0,resolution:new N3(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0});t.transparent=!0,t.needsUpdate=!0;let e=new D3;e.setPositions(this.options.dashedLineGeometry.positions),e.setColors(this.options.dashedLineGeometry.colors);let n=new O3(e,t);n.computeLineDistances(),n.position.z+=.01,this.add(n),this.doubleLines.push(n)}if(this.options.lineGeometry){let t=D.createLine2MaterialMap({color:"#ffffff",width:.2,dashed:!1,resolution:new N3(this.context.clientSize.width,this.context.clientSize.height),vertexColors:!0}),e=new D3;e.setPositions(this.options.lineGeometry.positions),e.setColors(this.options.lineGeometry.colors);let n=new O3(e,t);n.position.z+=.01,this.add(n),this.doubleLines.push(n)}}init(){return y(this,null,function*(){yield this.initGeometry(),this.initMaterial();let t=new QG(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 ek,this.init()}};var wQ=f(Kn(),1),TQ=f(We(),1),AQ=f(qe(),1),CQ=f(Xe(),1),RQ=f(je(),1),PQ=f(Ye(),1),IQ=f(Ze(),1),LQ=f(Ke(),1),NQ=f($e(),1),OQ=f(Je(),1),DQ=f(Qe(),1),UQ=f(tn(),1),FQ=f(en(),1),BQ=f(nn(),1),zQ=f(rn(),1),GQ=f(A(),1);import{Object3D as nk,Vector3 as xh,BufferGeometry as rk,LineSegments as ik,Color as U3,BoxGeometry as ok,InstancedMesh as sk,Matrix4 as ak,Quaternion as uk,InstancedBufferAttribute as F3,BufferAttribute as B3}from"three";var ji=class extends nk{setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new U3(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}init(){return y(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=D.GetInstancedParkingSpaceMaterial()}initLineMaterial(){let t=D.GetMergeAttributeGraphicLineMaterial();this.lineMaterial=t}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new sk(this.geometry,this.material,this.options.length);let t=new F3(new Float32Array(this.options.length),1),e=new F3(new Float32Array(this.options.length),1);this.options.forEach((n,r)=>{let o=n.geometry.coords[0],[s,a,u]=o.slice(0,3),l=Math.sqrt((a[0]-s[0])**2+(a[1]-s[1])**2),c=Math.sqrt((u[0]-a[0])**2+(u[1]-a[1])**2),h=[l,c],p=Math.max(...h),d=Math.min(...h),g;p===l?g=[a[0]-s[0],a[1]-s[1]]:g=[u[0]-a[0],u[1]-a[1]];let[v,_]=g,E=Math.atan2(_,v)-Math.PI/2,b=new ak().compose(new xh(n.center_coord_x,n.center_coord_y,(n.deltaHeight||0)+n.airHeight+n.height/2),new uk().setFromAxisAngle(new xh(0,0,1),E),new xh(d,p,n.height));this.mesh.setMatrixAt(r,b),this.mesh.setColorAt(r,new U3(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}=vc(this.options),r=new rk().setFromPoints(t);r.setAttribute("color",new B3(new Float32Array(e),3)),r.setAttribute("opacity",new B3(new Float32Array(n),1)),this.lineOriginOpacity=[...n],this.lineGeometry=r}createBorder(){this.line&&this.remove(this.line);let t=new ik(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 s=0;s<n.count;s++)if(e)n.array[s]=t;else{var r;n.array[s]=Math.min(t,(r=this.originOpacity[s])!=null?r:1)}if(n.needsUpdate=!0,this.lineGeometry){let s=this.lineGeometry.getAttribute("opacity");for(let a=0;a<s.count;a++)if(e)s.array[a]=t;else{var o;s.array[a]=Math.min(t,(o=this.lineOriginOpacity[a])!=null?o:1)}s.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 ok(1,1,1),this.options=[],this.originOpacity=[],this.lineOriginOpacity=[],this.options=e.map(n=>S({},nr,n)),this.init()}};var jQ=f(Kn(),1),YQ=f(We(),1),ZQ=f(qe(),1),KQ=f(Xe(),1),$Q=f(je(),1),JQ=f(Ye(),1),QQ=f(Ze(),1),ttt=f(Ke(),1),ett=f($e(),1),ntt=f(Je(),1),rtt=f(Qe(),1),itt=f(tn(),1),ott=f(en(),1),stt=f(nn(),1),att=f(rn(),1),utt=f(A(),1);import{Object3D as lk,LineSegments as ck,BoxGeometry as hk,InstancedMesh as pk,InstancedBufferAttribute as Da,ObjectLoader as fk,Color as dk}from"three";var _a=class extends lk{init(){return y(this,null,function*(){this.initMaterial(),this.initMesh(),this.option.lineGeometry&&(this.initLineMaterial(),this.initLineGeometry(),this.createBorder())})}setParkingColorByIndex(t,e){this.mesh&&(this.mesh.setColorAt(t,new dk(e).convertLinearToSRGB()),this.mesh.instanceColor.needsUpdate=!0)}initMaterial(){this.material=D.GetInstancedParkingSpaceMaterial()}initLineMaterial(){return this.lineMaterial=D.GetMergeAttributeGraphicLineMaterial()}initMesh(){this.mesh&&this.remove(this.mesh),this.mesh=new pk(this.geometry,this.material,this.option.size);let t=new Da(new Float32Array(this.option.opacities),1),e=new Da(new Float32Array(this.option.maxZ),1);this.mesh.instanceMatrix=new Da(new Float32Array(this.option.matrixes),16),this.mesh.instanceColor=new Da(new Float32Array(this.option.colors),3),this.geometry.setAttribute("opacity",t),this.geometry.setAttribute("maxZ",e),this.mesh.instanceMatrix.needsUpdate=!0,this.originOpacity=[...this.option.opacities],this.add(this.mesh)}initLineGeometry(){if(this.lineGeometry&&this.lineGeometry.dispose(),this.option.lineGeometry){let t=new fk().parseGeometries([this.option.lineGeometry]);this.lineGeometry=t[this.option.lineGeometry.uuid];let e=this.lineGeometry.getAttribute("opacity");this.lineOriginOpacity=[...e.array]}}createBorder(){this.line&&this.remove(this.line);let t=new ck(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 s=0;s<n.count;s++)if(e)n.array[s]=t;else{var r;n.array[s]=Math.min(t,(r=this.originOpacity[s])!=null?r:1)}if(n.needsUpdate=!0,this.lineGeometry){let s=this.lineGeometry.getAttribute("opacity");for(let a=0;a<s.count;a++)if(e)s.array[a]=t;else{var o;s.array[a]=Math.min(t,(o=this.lineOriginOpacity[a])!=null?o:1)}s.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 hk(1,1,1),this.originOpacity=[],this.lineOriginOpacity=[],this.option=e,this.init()}};import{Frustum as gk}from"three";var Ua=class extends Jt{setEnable(t){super.setEnable(t),Et(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,o=O(this.startPoint,e,n,r),s=O(this.endPoint,e,n,r),a={x:Math.min(o.x,s.x),y:Math.min(o.y,s.y)},u={x:Math.max(o.x,s.x),y:Math.max(o.y,s.y)},l=this.searchMapInFrustum(a,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(o=>o instanceof ft&&this.searchChildInFrustum(o,t,e)))||[]}searchChildInFrustum(t,e,n){let{context:{camera:r,container:{clientWidth:o,clientHeight:s}}}=this;if(!t)return!1;if(!t.mesh){let p=t.getPosition();if(p){let d=O(p,r,o,s);return xn(d,e,n)}return!1}t.mesh.geometry.boundingBox||t.mesh.geometry.computeBoundingBox();let a=t.mesh.geometry.boundingBox;if(!a)return!1;let{min:u,max:l}=a,c=O(u,r,o,s),h=O(l,r,o,s);return!(!xn(c,e,n)||!xn(h,e,n))}dispose(){super.dispose(),this.rect=null,this.unRegistryEvent()}constructor(t){super(t),this.frustum=new gk,this.onPointerDown=r=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(r);o&&(this.startPoint=o),this.endPoint=void 0},this.onPointerMove=r=>{if(!this.enable||!this.startPoint)return;let o=this.getIntersectByPointerEvent(r);o&&(this.endPoint=o)},this.onPointerUp=r=>{if(!this.enable)return;let o=this.getIntersectByPointerEvent(r);o&&(this.endPoint=o),this.doSelect(),this.startPoint=void 0},this.onUpdate=()=>{if(this.startPoint){let r=this.getSvgCoordinate(this.startPoint),o=S({},r);this.endPoint&&(o=this.getSvgCoordinate(this.endPoint));let s={x:Math.min(r.x,o.x),y:Math.min(r.y,o.y)},a=Math.abs(o.x-r.x),u=Math.abs(o.y-r.y);Et(this.rect,s.x,s.y,a,u)}else Et(this.rect,0,0,0,0)};let{config:{selectBox:{fill:e,stroke:n}}}=t;this.rect=En(n,e),this.svg.appendChild(this.rect),this.registryEvent()}};var Fa=class extends mk{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:o,y:s}=this.downPoint;if(Math.sqrt((o-n)**2+(s-r)**2)>3)return;let{graphics:a}=this.context.getGraphicsByDeviceXy(n,r),u=new Set(a.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"&&(a.push(p),u.add(c.options.id))}}),(yr?e.metaKey:e.ctrlKey)||this._list.clear(),a.forEach(c=>this._list.add(c)),this.selectEnd(),this.downPoint=null},this.onPointerOut=e=>{this.disableBoxSelection()},this.onKeyDown=e=>{xr(e.key)&&this.enableBoxSelection()},this.onKeyUp=e=>{xr(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 Ua(t),this.boxSelection.setEnable(!1),this.registryEvent()}};var Itt=f(oe(),1),Ltt=f(se(),1),Ntt=f(ae(),1),Ott=f(ue(),1),Dtt=f(le(),1),Utt=f(ce(),1),Ftt=f(he(),1),Btt=f(A(),1);import{EventDispatcher as vk,Vector2 as _k}from"three";var Ba=class extends vk{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 Q,this.graphicTimerMap=new Map,this.onPointerMove=e=>{let{graphics:n,pois:r,e:o}=e,s=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&&!s.length&&this.curGraphics.size){this.curGraphics.clear(),this.handleHoverGraphicsChange();return}let{time:a}=this.context.config.hover,u=new Set;if(s.length){let c,h=1e4;s.forEach(p=>{let d=r.find(g=>g.options.id===p.options.id);if(d instanceof rr){let{x:g,y:v}=d.clientPos,_=Math.sqrt((g-o.offsetX)**2+(v-o.offsetY)**2);_<h&&(h=_,c=p)}else if(d instanceof it){let{x:g,y:v}=d.box.getCenter(new _k),_=Math.sqrt((g-o.offsetX)**2+(v-o.offsetY)**2);_<h&&(h=_,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()},a);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()}};var Htt=f(A(),1);import{Box3 as yk,Vector3 as Re}from"three";import{polygon as z3,intersect as xk}from"@turf/turf";var za=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(g=>g instanceof $t).length)return null;let e=this.box,{camera:n,clientSize:{width:r,height:o}}=this.context,{min:s,max:a}=e,l=[new Re(s.x,s.y,s.z),new Re(a.x,s.y,s.z),new Re(s.x,a.y,s.z),new Re(a.x,a.y,s.z),new Re(s.x,s.y,a.z),new Re(a.x,s.y,a.z),new Re(s.x,a.y,a.z),new Re(a.x,a.y,a.z)].map(g=>O(g,n,r,o)),c=Math.min(...l.map(g=>g.x)),h=Math.max(...l.map(g=>g.x)),p=Math.min(...l.map(g=>g.y)),d=Math.max(...l.map(g=>g.y));return{left:c,right:h,top:p,bottom:d}}checkDistanceToScreenEdge(t){let{left:e,right:n,top:r,bottom:o}=t,{width:s,height:a}=this.context.clientSize,[u,l,c,h]=this.context.config.cameraBound.padding,p=z3([[[e,r],[n,r],[n,o],[e,o],[e,r]]]),d=z3([[[h,u],[s-l,u],[s-l,a-c],[h,a-c],[h,u]]]);try{return xk(p,d)!==null}catch(g){return console.warn("\u8BA1\u7B97\u4EA4\u96C6\u51FA\u9519:",g),!1}}dispose(){this.unRegistryEvent()}constructor(t){this.context=t,this.prevCamera={position:new Re,zoom:1,target:new Re},this.enable=!0,this.box=new yk,this.onCameraChange=()=>{let e=this.getCurFloorScreenPosition();if(e){let{left:n,right:r,top:o,bottom:s}=e;this.checkDistanceToScreenEdge({left:n,right:r,top:o,bottom:s})?this.changePrevCamera():this.backToPrevCamera()}},this.registryEvent(),this.changePrevCamera()}};var oet=f(bh(),1);import{Vector3 as e1}from"three";import{Tween as Wa,Group as Vk}from"@tweenjs/tween.js";var eet=f(A(),1),net=f(F(),1);import{EventDispatcher as Fk,MOUSE as Wr,Quaternion as Q3,Spherical as ka,TOUCH as qr,Vector2 as Ut,Vector3 as Qt,Plane as Bk,Ray as zk,MathUtils as Gk}from"three";var Va=new zk,t1=new Bk,kk=Math.cos(70*Gk.DEG2RAD),Ha=class extends Fk{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 Ut,this.rotateLineEnd=new Ut,this.spherical=new ka,this.sphericalDelta=new ka,this.object=t,this.domElement=e,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new Qt,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:Wr.PAN,MIDDLE:Wr.DOLLY,RIGHT:Wr.ROTATE},this.touches={ONE:qr.PAN,TWO:qr.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 a.phi},this.getAzimuthalAngle=function(){return a.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(x){x.addEventListener("keydown",this.onKeyDown),this._domElementKeyEvents=x},this.stopListenToKeyEvents=function(){var x;(x=this._domElementKeyEvents)==null||x.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(),o=r.NONE},this.update=function(){let x=new Qt,M=new Q3().setFromUnitVectors(t.up,new Qt(0,1,0)),Z=M.clone().invert(),rt=new Qt,It=new Q3,xe=new Qt,te=2*Math.PI;return function($r){$r===void 0&&($r=null);let Pe=n.object.position;x.copy(Pe).sub(n.target),x.applyQuaternion(M),a.setFromVector3(x),n.autoRotate&&o===r.NONE&&C(R($r)),n.enableDamping?(a.theta+=u.theta*n.dampingFactor,a.phi+=u.phi*n.dampingFactor):(a.theta+=u.theta,a.phi+=u.phi);let Ie=n.minAzimuthAngle,Le=n.maxAzimuthAngle;isFinite(Ie)&&isFinite(Le)&&(Ie<-Math.PI?Ie+=te:Ie>Math.PI&&(Ie-=te),Le<-Math.PI?Le+=te:Le>Math.PI&&(Le-=te),Ie<=Le?a.theta=Math.max(Ie,Math.min(Le,a.theta)):a.theta=a.theta>(Ie+Le)/2?Math.max(Ie,a.theta):Math.min(Le,a.theta)),a.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,a.phi)),a.makeSafe(),n.enableDamping===!0?n.target.addScaledVector(c,n.dampingFactor):n.target.add(c),n.zoomToCursor&&U||n.object.isOrthographicCamera?a.radius=Eu(a.radius):a.radius=Eu(a.radius*l),x.setFromSpherical(a),x.applyQuaternion(Z),Pe.copy(n.target).add(x),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 uo=!1;if(n.zoomToCursor&&U){let Jr=null;if(n.object.isPerspectiveCamera){let Qr=x.length();Jr=Eu(Qr*l);let lo=Qr-Jr;n.object.position.addScaledVector(P,lo),n.object.updateMatrixWorld()}else if(n.object.isOrthographicCamera){let Qr=new Qt(L.x,L.y,0);Qr.unproject(n.object),n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),uo=!0;let lo=new Qt(L.x,L.y,0);lo.unproject(n.object),n.object.position.sub(lo).add(Qr),n.object.updateMatrixWorld(),Jr=x.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),n.zoomToCursor=!1;Jr!==null&&(n.screenSpacePanning?n.target.set(0,0,-1).transformDirection(n.object.matrix).multiplyScalar(Jr).add(n.object.position):(Va.origin.copy(n.object.position),Va.direction.set(0,0,-1).transformDirection(n.object.matrix),Math.abs(n.object.up.dot(Va.direction))<kk?t.lookAt(n.target):(t1.setFromNormalAndCoplanarPoint(n.object.up,n.target),Va.intersectPlane(t1,n.target))))}else n.object.isOrthographicCamera&&(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/l)),n.object.updateProjectionMatrix(),uo=!0);return l=1,U=!1,uo||rt.distanceToSquared(n.object.position)>s||8*(1-It.dot(n.object.quaternion))>s||xe.distanceToSquared(n.target)>0?(n.dispatchEvent({type:"change"}),rt.copy(n.object.position),It.copy(n.object.quaternion),xe.copy(n.target),uo=!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},o=r.NONE,s=1e-6,a=new ka,u=new ka,l=1,c=new Qt,h=new Ut,p=new Ut,d=new Ut,g=new Ut,v=new Ut,_=new Ut,E=new Ut,b=new Ut,w=new Ut,P=new Qt,L=new Ut,U=!1,T=[],N={};function R(x){return x!==null?2*Math.PI/60*n.autoRotateSpeed*x:2*Math.PI/60/60*n.autoRotateSpeed}function I(){return Math.pow(.95,n.zoomSpeed)}function C(x){u.theta-=x}function q(x){u.phi-=x}let K=function(){let x=new Qt;return function(Z,rt){x.setFromMatrixColumn(rt,0),x.multiplyScalar(-Z),c.add(x)}}(),Y=function(){let x=new Qt;return function(Z,rt){n.screenSpacePanning===!0?x.setFromMatrixColumn(rt,1):(x.setFromMatrixColumn(rt,0),x.crossVectors(n.object.up,x)),x.multiplyScalar(Z),c.add(x)}}(),V=function(){let x=new Qt;return function(Z,rt){let It=n.domElement;if(n.object.isPerspectiveCamera){let xe=n.object.position;x.copy(xe).sub(n.target);let te=x.length();te*=Math.tan(n.object.fov/2*Math.PI/180),K(2*Z*te/It.clientHeight,n.object.matrix),Y(2*rt*te/It.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(K(Z*(n.object.right-n.object.left)/n.object.zoom/It.clientWidth,n.object.matrix),Y(rt*(n.object.top-n.object.bottom)/n.object.zoom/It.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function hn(x){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l/=x:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function Kr(x){n.object.isPerspectiveCamera||n.object.isOrthographicCamera?l*=x:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function xu(x){if(!n.zoomToCursor)return;U=!0;let M=n.domElement.getBoundingClientRect(),Z=x.clientX-M.left,rt=x.clientY-M.top,It=M.width,xe=M.height;L.x=Z/It*2-1,L.y=-(rt/xe)*2+1,P.set(L.x,L.y,1).unproject(n.object).sub(n.object.position).normalize()}function Eu(x){return Math.max(n.minDistance,Math.min(n.maxDistance,x))}function Fh(x){h.set(x.clientX,x.clientY)}function z1(x){xu(x),E.set(x.clientX,x.clientY)}function Bh(x){g.set(x.clientX,x.clientY)}function G1(x){p.set(x.clientX,x.clientY),d.subVectors(p,h).multiplyScalar(n.rotateSpeed);let M=n.domElement;C(2*Math.PI*d.x/M.clientHeight),q(2*Math.PI*d.y/M.clientHeight),h.copy(p),n.update()}function k1(x){b.set(x.clientX,x.clientY),w.subVectors(b,E),w.y>0?hn(I()):w.y<0&&Kr(I()),E.copy(b),n.update()}function V1(x){v.set(x.clientX,x.clientY),_.subVectors(v,g).multiplyScalar(n.panSpeed),V(_.x,_.y),g.copy(v),n.update()}function H1(x){xu(x),x.deltaY<0?Kr(I()):x.deltaY>0&&hn(I()),n.update()}function W1(x){let M=!1;switch(x.code){case n.keys.UP:x.ctrlKey||x.metaKey||x.shiftKey?q(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(0,n.keyPanSpeed),M=!0;break;case n.keys.BOTTOM:x.ctrlKey||x.metaKey||x.shiftKey?q(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(0,-n.keyPanSpeed),M=!0;break;case n.keys.LEFT:x.ctrlKey||x.metaKey||x.shiftKey?C(2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(n.keyPanSpeed,0),M=!0;break;case n.keys.RIGHT:x.ctrlKey||x.metaKey||x.shiftKey?C(-2*Math.PI*n.rotateSpeed/n.domElement.clientHeight):V(-n.keyPanSpeed,0),M=!0;break}M&&(x.preventDefault(),n.update())}function zh(){if(T.length===1)h.set(T[0].pageX,T[0].pageY);else{let x=(T[0].pageX-T[0].pageY)/(T[1].pageX-T[1].pageY),M=T[0].pageY-x*T[0].pageX;n.rotateLineStart.set(x,M);let Z=.5*(T[0].pageX+T[1].pageX),rt=.5*(T[0].pageY+T[1].pageY);h.set(Z,rt)}}function Gh(){if(T.length===1)g.set(T[0].pageX,T[0].pageY);else{let x=.5*(T[0].pageX+T[1].pageX),M=.5*(T[0].pageY+T[1].pageY);g.set(x,M)}}function kh(){let x=T[0].pageX-T[1].pageX,M=T[0].pageY-T[1].pageY,Z=Math.sqrt(x*x+M*M);E.set(0,Z)}function q1(){n.enableZoom&&kh(),n.enablePan&&Gh()}function X1(){n.enableZoom&&kh(),n.enableRotate&&zh()}function Vh(x){if(T.length==1)p.set(x.pageX,x.pageY);else{let Z=Su(x),rt=.5*(x.pageX+Z.x),It=.5*(x.pageY+Z.y);p.set(rt,It);let xe=(x.pageY-Z.y)/(x.pageX-Z.x),te=Z.y-xe*Z.x;if(n.rotateLineEnd.set(xe,te),Number.isFinite(n.rotateLineEnd.x)&&Number.isFinite(n.rotateLineStart.x)){let bu=(n.rotateLineStart.y-n.rotateLineEnd.y)/(n.rotateLineEnd.x-n.rotateLineStart.x),$r=xe*bu+te;if(Number.isFinite(bu)&&Number.isFinite($r)){let Pe=Math.atan(n.rotateLineEnd.x)-Math.atan(n.rotateLineStart.x);Math.PI-Math.abs(Pe)<.5&&(Pe=-Math.sign(Pe)*(Math.PI-Math.abs(Pe))),Math.abs(Pe)<.1&&(u.theta+=Pe)}}n.rotateLineStart.copy(n.rotateLineEnd)}d.subVectors(p,h).multiplyScalar(n.rotateSpeed);let M=n.domElement;q(2*Math.PI*d.y/M.clientHeight),h.copy(p)}function Hh(x){if(T.length===1)v.set(x.pageX,x.pageY);else{let M=Su(x),Z=.5*(x.pageX+M.x),rt=.5*(x.pageY+M.y);v.set(Z,rt)}_.subVectors(v,g).multiplyScalar(n.panSpeed),V(_.x,_.y),g.copy(v)}function Wh(x){let M=Su(x),Z=x.pageX-M.x,rt=x.pageY-M.y,It=Math.sqrt(Z*Z+rt*rt);b.set(0,It),w.set(0,Math.pow(b.y/E.y,n.zoomSpeed)),hn(w.y),E.copy(b)}function j1(x){n.enableZoom&&Wh(x),n.enablePan&&Hh(x)}function Y1(x){n.enableZoom&&Wh(x),n.enableRotate&&Vh(x)}this.onPointerDown=function(M){n.enabled!==!1&&(T.length===0&&(n.domElement.setPointerCapture(M.pointerId),n.domElement.addEventListener("pointermove",n.onPointerMove),n.domElement.addEventListener("pointerup",n.onPointerUp)),Q1(M),M.pointerType==="touch"?$1(M):Z1(M))},this.onPointerMove=function(M){n.enabled!==!1&&(M.pointerType==="touch"?J1(M):K1(M))},this.onPointerUp=function(M){tE(M),T.length===0&&(n.domElement.releasePointerCapture(M.pointerId),n.domElement.removeEventListener("pointermove",n.onPointerMove),n.domElement.removeEventListener("pointerup",n.onPointerUp)),n.dispatchEvent({type:"end"}),o=r.NONE};function Z1(x){let M;switch(x.button){case 0:M=n.mouseButtons.LEFT;break;case 1:M=n.mouseButtons.MIDDLE;break;case 2:M=n.mouseButtons.RIGHT;break;default:M=-1}switch(M){case Wr.DOLLY:if(n.enableZoom===!1)return;z1(x),o=r.DOLLY;break;case Wr.ROTATE:if(x.ctrlKey||x.metaKey||x.shiftKey){if(n.enablePan===!1)return;Bh(x),o=r.PAN}else{if(n.enableRotate===!1)return;Fh(x),o=r.ROTATE}break;case Wr.PAN:if(x.ctrlKey||x.metaKey||x.shiftKey){if(n.enableRotate===!1)return;Fh(x),o=r.ROTATE}else{if(n.enablePan===!1)return;Bh(x),o=r.PAN}break;default:o=r.NONE}o!==r.NONE&&n.dispatchEvent({type:"start"})}function K1(x){switch(o){case r.ROTATE:if(n.enableRotate===!1)return;G1(x);break;case r.DOLLY:if(n.enableZoom===!1)return;k1(x);break;case r.PAN:if(n.enablePan===!1)return;V1(x);break}}this.onMouseWheel=function(M){n.enabled===!1||n.enableZoom===!1||o!==r.NONE||(M.preventDefault(),n.dispatchEvent({type:"start"}),H1(M),n.dispatchEvent({type:"end"}))},this.onKeyDown=function(M){n.enabled===!1||n.enablePan===!1||W1(M)};function $1(x){switch(qh(x),T.length){case 1:switch(n.touches.ONE){case qr.ROTATE:if(n.enableRotate===!1)return;zh(),o=r.TOUCH_ROTATE;break;case qr.PAN:if(n.enablePan===!1)return;Gh(),o=r.TOUCH_PAN;break;default:o=r.NONE}break;case 2:switch(n.touches.TWO){case qr.DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;q1(),o=r.TOUCH_DOLLY_PAN;break;case qr.DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;X1(),o=r.TOUCH_DOLLY_ROTATE;break;default:o=r.NONE}break;default:o=r.NONE}o!==r.NONE&&n.dispatchEvent({type:"start"})}function J1(x){switch(qh(x),o){case r.TOUCH_ROTATE:if(n.enableRotate===!1)return;Vh(x),n.update();break;case r.TOUCH_PAN:if(n.enablePan===!1)return;Hh(x),n.update();break;case r.TOUCH_DOLLY_PAN:if(n.enableZoom===!1&&n.enablePan===!1)return;j1(x),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(n.enableZoom===!1&&n.enableRotate===!1)return;Y1(x),n.update();break;default:o=r.NONE}}this.onContextMenu=function(M){n.enabled!==!1&&M.preventDefault()};function Q1(x){T.push(x)}function tE(x){delete N[x.pointerId];for(let M=0;M<T.length;M++)if(T[M].pointerId==x.pointerId){T.splice(M,1);return}}function qh(x){let M=N[x.pointerId];M===void 0&&(M=new Ut,N[x.pointerId]=M),M.set(x.pageX,x.pageY)}function Su(x){let M=x.pointerId===T[0].pointerId?T[1]:T[0];return N[M.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 qa=class extends Ha{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,o=n===r;(e||t<=n&&t>=r)&&(this.maxPolarAngle=t,this.minPolarAngle=t,this.update()),o||(this.maxPolarAngle=n,this.minPolarAngle=r)}setPolarAngleByDuration(t,e,n){return y(this,null,function*(){return e===void 0&&(e=!1),n===void 0&&(n=500),n<=0?this.setPolarAngle(t,e):Vt(new Promise(r=>{let o={polar:this.getPolarAngle()},s={polar:t},a=new Wa(o,this.tweenGroup).to(s,n).onUpdate(()=>{this.setPolarAngle(o.polar,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(a),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)})}setAzimuthalAngle(t,e){let{maxAzimuthAngle:n,minAzimuthAngle:r}=this,o=n===r;(e||t<=n&&t>=r)&&(this.maxAzimuthAngle=t,this.minAzimuthAngle=t,this.update()),o||(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):Vt(new Promise(r=>{let o={azimuthal:this.getAzimuthalAngle()},s={azimuthal:t},a=new Wa(o,this.tweenGroup).to(s,n).onUpdate(()=>{this.setAzimuthalAngle(o.azimuthal,e)}).onComplete(()=>{this.enabled=!0,this.tweenGroup.remove(a),r(!0)}).onStart(()=>{this.enabled=!1}).start()}),n+500)}getCameraLookAt(){return new e1().subVectors(this.target,this.camera.position)}setCameraPositionByTarget(t,e){return y(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 Vt(new Promise(o=>{let s=new Wa(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(s),this.enabled=!0,o(!0)}).onStart(()=>{this.enabled=!1}).start()}),e+500)})}setZoom(t,e,n){n===void 0&&(n=!1);let{minZoom:r,maxZoom:o}=this;(n||t>=r&&t<=o)&&(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 y(this,null,function*(){n===void 0&&(n=!1),r===void 0&&(r=500);let o={zoom:this.camera.zoom,target:this.target.clone()};if(t!==this.camera.zoom)return r?Vt(new Promise(s=>{let a=new Wa(o,this.tweenGroup).to({zoom:t,target:e},r).onUpdate(()=>{this.setZoom(o.zoom,o.target,n)}).onComplete(()=>{this.tweenGroup.remove(a),this.enabled=!0,s(!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 e1;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 Vk,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 Hk,PCFSoftShadowMap as Wk,WebGLRenderer as qk}from"three";var Xa=class extends qk{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(S({antialias:!0,alpha:!0},t)),this.event=new Hk,this.enable=!0,this.timer=new Q,this.autoClear=!0,this.setPixelRatio(window.devicePixelRatio),this.shadowMap.enabled=!0,this.shadowMap.autoUpdate=!0,this.shadowMap.type=Wk;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{Euler as Xk,Matrix4 as jk,Scene as Yk,EquirectangularReflectionMapping as Zk}from"three";import{RGBELoader as Kk}from"three/examples/jsm/loaders/RGBELoader.js";var ja=class extends Yk{dispose(){var t;(t=this.environment)==null||t.dispose(),this.environment=null,W(this),this.clear()}constructor(){super(),new Kk().load(p3,t=>{t.mapping=Zk,this.environment=t;let e=new jk;e.makeRotationX(Math.PI/2),this.environmentRotation=new Xk().setFromRotationMatrix(e)})}};import{OrthographicCamera as $k}from"three";var Ya=class extends $k{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 n1}from"@turf/turf";var Za=class extends Jk{get config(){return this.bmap.config}get center(){return this.bmap.buildingCenter}setRange(t){this.range=n1([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 Ya(t,e),this.renderer.setSize(t,e),this.renderer.setCameraAndScene(this.scene,this.camera),this.renderer.autoRender(),this.control=new qa(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 za(this)}getRatio(t,e){t===void 0&&(t=new ln(0,0,0)),e===void 0&&(e=new ln(100,0,0));let{clientWidth:n,clientHeight:r}=this.container,o=O(t,this.camera,n,r),s=O(e,this.camera,n,r);return Math.ceil(Math.sqrt((s.x-o.x)**2+(s.y-o.y)**2))}changeAmbientLightColor(t){this.lights.children.forEach(e=>{e instanceof rV&&(e.color=new nV(t))})}switchFloor(t,e){e===void 0&&(e=!0),console.log("switchFloor",e),this.currentFloor&&(this.currentFloor.onRemoveFromScene(),this.scene.remove(this.currentFloor),e&&this.currentFloor.dispose()),this.currentFloor=t,this.setRange(t.userData.range||[]),this.scene.add(t),t.onAddToScene();let n=t.getCenter();n&&(this.lights.position.x=n.x,this.lights.position.y=n.y),this.cameraBound.updateBox()}getGraphicsByDeviceXy(t,e){var n;let r=new Xr;r.x=t/this.clientSize.width*2-1,r.y=e/this.clientSize.height*-2+1;let o=new tV;return o.setFromCamera(r,this.camera),o.ray.origin.sub(o.ray.direction.clone().multiplyScalar(100)),((n=this.currentFloor)==null?void 0:n.graphicLayer.getGraphicByRaycaster(o))||{graphics:[],position:null}}getPoisByDeviceXy(t,e){var n,r;let o=(n=this.currentFloor)==null?void 0:n.poiLayer.getPoiByDeviceXy(t,e),s=(r=this.currentFloor)==null?void 0:r.poiLayer2.getPoiByDeviceXy(t,e);return(o||[]).concat(s||[])}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 eV().setFromObject(t),e,n)}getFitCameraToBoxZoom(t,e,n){e===void 0&&(e=[20,20,20,20]),n===void 0&&(n=!0);let[r,o,s,a]=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,d=new ln(p.x,h.y,h.z),g=new ln(h.x,h.y,h.z),v=new ln(h.x,p.y,p.z),_=new ln(p.x,p.y,p.z),E=O(d,this.camera,u,l),b=O(g,this.camera,u,l),w=O(_,this.camera,u,l),P=O(v,this.camera,u,l),U=new Qk().setFromPoints([new Xr(E.x,E.y),new Xr(b.x,b.y),new Xr(w.x,w.y),new Xr(P.x,P.y)]).getSize(new Xr),T=(u-o-a)/U.x,N=(l-r-s)/U.y,R=Math.min(T,N),I=new ln((h.x+p.x)/2,(h.y+p.y)/2,(h.z+p.z)/2),C=R*this.camera.zoom,q=this.camera.clone();q.zoom=C,q.updateMatrix();let K=(o-a)/2,Y=(r-s)/2;if(K){let V=new ln;V.setFromMatrixColumn(q.matrix,0),V.normalize(),V.multiplyScalar(K/C),I.add(V)}if(Y){let V=new ln;V.setFromMatrixColumn(q.matrix,1),V.normalize(),V.multiplyScalar(Y/C),I.add(V)}return{zoom:R*this.camera.zoom,center:I}}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:o,center:s}=this.getFitCameraToObjectZoom(t,e,r);return this.setZoom(o,s,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:o,center:s}=this.getFitCameraToBoxZoom(t,e,r);return this.setZoom(o,s,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 y(this,null,function*(){return this.control.setCameraPositionByTarget(t,e)})}pauseRender(){this.renderer.pauseRender()}continueRender(){this.renderer.continueRender()}dispose(){var t;(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.scene=new ja,this.renderer=new Xa,this.lights=lm(),this.range=n1([]),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:o}=this,{clientWidth:s,clientHeight:a}=n;s=Math.max(1,s),a=Math.max(1,a),r.left=-s/2,r.right=s/2,r.top=a/2,r.bottom=-a/2,r.updateProjectionMatrix(),o.setSize(s,a),this.resizeClientSize(),this.dispatchEvent({type:"resize",width:s,height:a})},this.onClick=n=>{let{graphics:r,position:o}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY);r.length&&this.dispatchEvent({type:"graphic-click",graphics:r,position:o});let s=this.getPoisByDeviceXy(n.offsetX,n.offsetY);s.length&&this.dispatchEvent({type:"poi-click",pois:s})},this.onPointerover=n=>{let{graphics:r,position:o}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),s=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-over",e:n,graphics:r,pois:s,position:o})},this.onPointermove=n=>{let{graphics:r,position:o}=this.getGraphicsByDeviceXy(n.offsetX,n.offsetY),s=this.getPoisByDeviceXy(n.offsetX,n.offsetY);this.dispatchEvent({type:"pointer-move",e:n,graphics:r,pois:s,position:o})},this.onPointerleave=n=>{this.dispatchEvent({type:"pointer-level"})},this.onSelectionSelect=n=>{let{graphics:r,isMultipleSelect:o}=n;this.dispatchEvent({type:"select-graphic",graphics:r,isMultipleSelect:o})},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.init(),this.selection=new Fa(this),this.hoverHelper=new Ba(this),this.resizeClientSize(),this.registryEvent()}};import{merge as iV}from"lodash";var oV={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 r1(i){return iV({},oV,i)}import{debounce as TV}from"lodash";var Qet=f(A(),1);import{Vector3 as xV,Color as EV}from"three";var Wet=f(F(),1),qet=f(A(),1);var Get=f(jn(),1);var eo=function(i){return i.LAYERED_RENDER_VERSION="layeredRender",i.MERGED_RENDER_VERSION="mergedRender",i}({});function Ka(i,t){let e=i.poi_info.showName||i.store_name||i.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=i.store_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=i.store_info_ext)==null?void 0:r.traditional_name)||e}}function $a(i,t){let e=i.poi_info.showName||i.store_name||i.poi_info.text;switch(t){case"zh-cn":return e;case"en":var n;return((n=i.infra_info_ext)==null?void 0:n.poi_name)||e;case"zh-hk":var r;return((r=i.infra_info_ext)==null?void 0:r.traditional_name)||e}}var Mh=["range","ground","store","facility","parkingSpace"];function i1(i){return Mh.indexOf(i.l_type)===-1?Mh.length:Mh.indexOf(i.l_type)}function sV(i){i.layers.sort((t,e)=>i1(t)-i1(e))}function aV(i){let t=i.layers.find(n=>n.l_type==="range"),e=[t.elements[0].center_x,t.elements[0].center_y];i.layers.map(n=>{if(n.l_type!=="range")return ds(n.elements,e)})}function Ja(i){sV(i),aV(i)}function jr(i,t){return t===void 0&&(t=4),i.floor_id+"_"+i.version_id+(t?"_"+t:"")}function o1(i,t,e){switch(i.l_type){case"ground":return wh(i,t);case"graph":return uV(i,t);case"wall":return lV(i,t);case"lane":return cV(i,t);case"texture2d":case"texture3d":return hV(i,t);case"glb":return pV(i,t);case"store":return fV(i,t,e);case"facility":return gV(i,t,e);case"parkingSpace":return vV(i,t,e);case"text":return yV(i,t)}}function s1(i,t,e,n){switch(i.l_type){case"store":return dV(i,t,e,n);case"facility":return mV(i,t,e,n);case"parkingSpace":return _V(i,t,n)}}function uV(i,t){t.mergeGraphicLayer.addGraphics(i.elements,i.mergedElements)}function wh(i,t){if(i.mergedElements){let e=i.mergedElements.map(n=>new sr(t.context,S({},n,{dashed:!1})));t.addGrounds(e)}else{let e=i.elements.map(n=>new ft(t.context,S({},n,{dashed:!1})));t.addGrounds(e)}}function lV(i,t){if(i.mergedElements)i.mergedElements.map(e=>{let n=new La(t.context,e);t.wallLayer.add(n)});else{let e=i.elements.reduce((n,r)=>{let{fillColor:o,fillOpacity:s,strokeColor:a,strokeOpacity:u,height:l}=r,c=o.toLowerCase()+"-"+s+"-"+a.toLowerCase()+"-"+u+"-"+l;return u===0&&(c=o.toLowerCase()+"-"+s+"-"+l),n[c]?n[c].push(r):n[c]=[r],n},{});Object.values(e).forEach(n=>{let r=new Ca(t.context,n);t.wallLayer.add(r)})}}function cV(i,t){if(i.mergedElements){let e=new Oa(t.context,i.mergedElements);t.laneLayer.add(e)}else{let e=new Pa(t.context,i.elements);t.laneLayer.add(e)}}function hV(i,t){if(i.mergedMatrixes)i.mergedMatrixes.map(e=>{let n=new or(t.context,e);t.textureLayer.add(n)});else if(i.elements.length){let e=new ir(t.context,i.elements);t.textureLayer.add(e)}}function pV(i,t){t.glbModelLayer.addModels(i.elements.map(e=>S({},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 fV(i,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(i.elements,i.mergedElements):i.elements.map(n=>{let r=t.addGraphic(S({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function dV(i,t,e,n){i.elements.map(r=>{try{let o=Ka(r,e),s=new it(t.context,{id:r.id,icon:r.poi_info.showImageUrl||r.poi_info.icon,text:o,position:{x:r.center_coord_x,y:r.center_coord_y,z:r.airHeight+r.height},icon_size:[24,24],level:r.poi_info.level||0,hide_text:!n.showStoreName,maxWeight:r.poi_info.maxWeight||25,minWeight:r.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(s),s&&(s.userData.type="store",s.userData.data=r,s.userData.floor=t.name)}catch(o){console.log("\u521B\u5EFA\u5E97\u94FApoi\u5931\u8D25",o,r)}})}function gV(i,t,e){e.mergeGraphic?t.mergeGraphicLayer.addGraphics(i.elements,i.mergedElements):i.elements.map(n=>{let r=t.addGraphic(S({},n,{dashed:!1}));t.userData.graphics.push(r),t.userData.graphicMap.set(n.id,r)})}function mV(i,t,e,n){i.elements.filter(o=>o.poi_info).map(o=>{try{let s=$a(o,e),a=new it(t.context,{id:o.id,icon:o.poi_info.showImageUrl||o.poi_info.icon,text:s,position:{x:o.center_coord_x,y:o.center_coord_y,z:o.airHeight+o.height},icon_size:[24,24],level:o.poi_info.level||0,hide_text:!n.showFacilityName,maxWeight:o.poi_info.maxWeight||25,minWeight:o.poi_info.minWeight||1,text_font_size:n.textFontSize});t.poiLayer2.pushPoi(a),a.userData.type="facility",a.userData.data=o,a.userData.floor=t.name}catch(s){console.log("\u6DFB\u52A0facility\u5931\u8D25",s,o)}})}function vV(i,t,e){t.parkingSpaceLayer.load(i,e.mergeParkingSpace),t.userData.parkingSpaces=t.parkingSpaceLayer.graphicMap.values(),t.userData.parkingSpacesGraphicMap=t.parkingSpaceLayer.graphicMap}function _V(i,t,e){return y(this,null,function*(){let n=i.elements.filter(s=>s.texts[0]),r=n.map(s=>s.displayName||s.texts[0]),o=yield nt.lazyGetTextureByTexts(r,{height:64});n.forEach(s=>{try{let a=s.displayName||s.texts[0],u=new it(t.context,{id:s.id,text:a,position:{x:s.center_coord_x,y:s.center_coord_y,z:s.airHeight+s.height},text_texture:o[a].texture,text_texture_width:o[a].width,text_texture_height:o[a].height,text_texture_offset_x:o[a].x,text_texture_offset_y:o[a].y,text_font_size:e.textFontSize});u&&(u.userData.type="parkingSpace",u.userData.data=s,u.userData.floor=t.name),t.poiLayer2.pushPoi(u)}catch(a){console.log("\u6DFB\u52A0\u8F66\u4F4Dpoi\u5931\u8D25",a,s)}}),Object.values(o).forEach(s=>{s.texture.dispose()})})}function yV(i,t){let e=new Ia(t.context,i.elements.map(n=>S({},n,{center_x:n.center_coord_x,center_y:n.center_coord_y})));t.textTextureLayer.add(e)}function Th(){let i=new Blob([`var VD=Object.create;var D1=Object.defineProperty;var HD=Object.getOwnPropertyDescriptor;var WD=Object.getOwnPropertyNames;var XD=Object.getPrototypeOf,YD=Object.prototype.hasOwnProperty;var X=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports);var $D=(n,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of WD(t))!YD.call(n,s)&&s!==e&&D1(n,s,{get:()=>t[s],enumerable:!(i=HD(t,s))||i.enumerable});return n};var Qt=(n,t,e)=>(e=n!=null?VD(XD(n)):{},$D(t||!n||!n.__esModule?D1(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((Ug,F1)=>{"use strict";var Ec=function(n){return n&&n.Math===Math&&n};F1.exports=Ec(typeof globalThis=="object"&&globalThis)||Ec(typeof window=="object"&&window)||Ec(typeof self=="object"&&self)||Ec(typeof global=="object"&&global)||Ec(typeof Ug=="object"&&Ug)||function(){return this}()||Function("return this")()});var An=X((pet,U1)=>{"use strict";U1.exports=function(n){try{return!!n()}catch(t){return!0}}});var ri=X((det,B1)=>{"use strict";var ZD=An();B1.exports=!ZD(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Sc=X((get,z1)=>{"use strict";var JD=An();z1.exports=!JD(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})});var vr=X((met,G1)=>{"use strict";var jD=Sc(),Kf=Function.prototype.call;G1.exports=jD?Kf.bind(Kf):function(){return Kf.apply(Kf,arguments)}});var H1=X(V1=>{"use strict";var k1={}.propertyIsEnumerable,q1=Object.getOwnPropertyDescriptor,KD=q1&&!k1.call({1:2},1);V1.f=KD?function(t){var e=q1(this,t);return!!e&&e.enumerable}:k1});var wc=X((vet,W1)=>{"use strict";W1.exports=function(n,t){return{enumerable:!(n&1),configurable:!(n&2),writable:!(n&4),value:t}}});var In=X((_et,$1)=>{"use strict";var X1=Sc(),Y1=Function.prototype,Bg=Y1.call,QD=X1&&Y1.bind.bind(Bg,Bg);$1.exports=X1?QD:function(n){return function(){return Bg.apply(n,arguments)}}});var vs=X((xet,J1)=>{"use strict";var Z1=In(),t3=Z1({}.toString),e3=Z1("".slice);J1.exports=function(n){return e3(t3(n),8,-1)}});var Qf=X((Eet,j1)=>{"use strict";var n3=In(),r3=An(),i3=vs(),zg=Object,o3=n3("".split);j1.exports=r3(function(){return!zg("z").propertyIsEnumerable(0)})?function(n){return i3(n)==="String"?o3(n,""):zg(n)}:zg});var th=X((wet,K1)=>{"use strict";K1.exports=function(n){return n==null}});var Fu=X((Met,Q1)=>{"use strict";var s3=th(),a3=TypeError;Q1.exports=function(n){if(s3(n))throw new a3("Can't call method on "+n);return n}});var Uu=X((bet,tE)=>{"use strict";var u3=Qf(),l3=Fu();tE.exports=function(n){return u3(l3(n))}});var er=X((Aet,eE)=>{"use strict";var Gg=typeof document=="object"&&document.all;eE.exports=typeof Gg=="undefined"&&Gg!==void 0?function(n){return typeof n=="function"||n===Gg}:function(n){return typeof n=="function"}});var xi=X((Tet,nE)=>{"use strict";var c3=er();nE.exports=function(n){return typeof n=="object"?n!==null:c3(n)}});var $s=X((Cet,rE)=>{"use strict";var kg=Sn(),f3=er(),h3=function(n){return f3(n)?n:void 0};rE.exports=function(n,t){return arguments.length<2?h3(kg[n]):kg[n]&&kg[n][t]}});var Mc=X((Iet,iE)=>{"use strict";var p3=In();iE.exports=p3({}.isPrototypeOf)});var Bu=X((Pet,aE)=>{"use strict";var d3=Sn(),oE=d3.navigator,sE=oE&&oE.userAgent;aE.exports=sE?String(sE):""});var bc=X((Ret,pE)=>{"use strict";var hE=Sn(),qg=Bu(),uE=hE.process,lE=hE.Deno,cE=uE&&uE.versions||lE&&lE.version,fE=cE&&cE.v8,So,eh;fE&&(So=fE.split("."),eh=So[0]>0&&So[0]<4?1:+(So[0]+So[1]));!eh&&qg&&(So=qg.match(/Edge\\/(\\d+)/),(!So||So[1]>=74)&&(So=qg.match(/Chrome\\/(\\d+)/),So&&(eh=+So[1])));pE.exports=eh});var nh=X((Let,gE)=>{"use strict";var dE=bc(),g3=An(),m3=Sn(),y3=m3.String;gE.exports=!!Object.getOwnPropertySymbols&&!g3(function(){var n=Symbol("symbol detection");return!y3(n)||!(Object(n)instanceof Symbol)||!Symbol.sham&&dE&&dE<41})});var Vg=X((Net,mE)=>{"use strict";var v3=nh();mE.exports=v3&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ac=X((Oet,yE)=>{"use strict";var _3=$s(),x3=er(),E3=Mc(),S3=Vg(),w3=Object;yE.exports=S3?function(n){return typeof n=="symbol"}:function(n){var t=_3("Symbol");return x3(t)&&E3(t.prototype,w3(n))}});var zu=X((Det,vE)=>{"use strict";var M3=String;vE.exports=function(n){try{return M3(n)}catch(t){return"Object"}}});var _s=X((Fet,_E)=>{"use strict";var b3=er(),A3=zu(),T3=TypeError;_E.exports=function(n){if(b3(n))return n;throw new T3(A3(n)+" is not a function")}});var Tc=X((Uet,xE)=>{"use strict";var C3=_s(),I3=th();xE.exports=function(n,t){var e=n[t];return I3(e)?void 0:C3(e)}});var SE=X((Bet,EE)=>{"use strict";var Hg=vr(),Wg=er(),Xg=xi(),P3=TypeError;EE.exports=function(n,t){var e,i;if(t==="string"&&Wg(e=n.toString)&&!Xg(i=Hg(e,n))||Wg(e=n.valueOf)&&!Xg(i=Hg(e,n))||t!=="string"&&Wg(e=n.toString)&&!Xg(i=Hg(e,n)))return i;throw new P3("Can't convert object to primitive value")}});var Cc=X((zet,wE)=>{"use strict";wE.exports=!1});var rh=X((Get,bE)=>{"use strict";var ME=Sn(),R3=Object.defineProperty;bE.exports=function(n,t){try{R3(ME,n,{value:t,configurable:!0,writable:!0})}catch(e){ME[n]=t}return t}});var ih=X((ket,CE)=>{"use strict";var L3=Cc(),N3=Sn(),O3=rh(),AE="__core-js_shared__",TE=CE.exports=N3[AE]||O3(AE,{});(TE.versions||(TE.versions=[])).push({version:"3.42.0",mode:L3?"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 oh=X((qet,PE)=>{"use strict";var IE=ih();PE.exports=function(n,t){return IE[n]||(IE[n]=t||{})}});var Vi=X((Vet,RE)=>{"use strict";var D3=Fu(),F3=Object;RE.exports=function(n){return F3(D3(n))}});var oo=X((Het,LE)=>{"use strict";var U3=In(),B3=Vi(),z3=U3({}.hasOwnProperty);LE.exports=Object.hasOwn||function(t,e){return z3(B3(t),e)}});var sh=X((Wet,NE)=>{"use strict";var G3=In(),k3=0,q3=Math.random(),V3=G3(1 .toString);NE.exports=function(n){return"Symbol("+(n===void 0?"":n)+")_"+V3(++k3+q3,36)}});var Xr=X((Xet,DE)=>{"use strict";var H3=Sn(),W3=oh(),OE=oo(),X3=sh(),Y3=nh(),$3=Vg(),Gu=H3.Symbol,Yg=W3("wks"),Z3=$3?Gu.for||Gu:Gu&&Gu.withoutSetter||X3;DE.exports=function(n){return OE(Yg,n)||(Yg[n]=Y3&&OE(Gu,n)?Gu[n]:Z3("Symbol."+n)),Yg[n]}});var $g=X((Yet,BE)=>{"use strict";var J3=vr(),FE=xi(),UE=Ac(),j3=Tc(),K3=SE(),Q3=Xr(),tF=TypeError,eF=Q3("toPrimitive");BE.exports=function(n,t){if(!FE(n)||UE(n))return n;var e=j3(n,eF),i;if(e){if(t===void 0&&(t="default"),i=J3(e,n,t),!FE(i)||UE(i))return i;throw new tF("Can't convert object to primitive value")}return t===void 0&&(t="number"),K3(n,t)}});var ah=X(($et,zE)=>{"use strict";var nF=$g(),rF=Ac();zE.exports=function(n){var t=nF(n,"string");return rF(t)?t:t+""}});var uh=X((Zet,kE)=>{"use strict";var iF=Sn(),GE=xi(),Zg=iF.document,oF=GE(Zg)&&GE(Zg.createElement);kE.exports=function(n){return oF?Zg.createElement(n):{}}});var Jg=X((Jet,qE)=>{"use strict";var sF=ri(),aF=An(),uF=uh();qE.exports=!sF&&!aF(function(){return Object.defineProperty(uF("div"),"a",{get:function(){return 7}}).a!==7})});var lh=X(HE=>{"use strict";var lF=ri(),cF=vr(),fF=H1(),hF=wc(),pF=Uu(),dF=ah(),gF=oo(),mF=Jg(),VE=Object.getOwnPropertyDescriptor;HE.f=lF?VE:function(t,e){if(t=pF(t),e=dF(e),mF)try{return VE(t,e)}catch(i){}if(gF(t,e))return hF(!cF(fF.f,t,e),t[e])}});var jg=X((Ket,WE)=>{"use strict";var yF=ri(),vF=An();WE.exports=yF&&vF(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var so=X((Qet,XE)=>{"use strict";var _F=xi(),xF=String,EF=TypeError;XE.exports=function(n){if(_F(n))return n;throw new EF(xF(n)+" is not an object")}});var Wo=X($E=>{"use strict";var SF=ri(),wF=Jg(),MF=jg(),ch=so(),YE=ah(),bF=TypeError,Kg=Object.defineProperty,AF=Object.getOwnPropertyDescriptor,Qg="enumerable",tm="configurable",em="writable";$E.f=SF?MF?function(t,e,i){if(ch(t),e=YE(e),ch(i),typeof t=="function"&&e==="prototype"&&"value"in i&&em in i&&!i[em]){var s=AF(t,e);s&&s[em]&&(t[e]=i.value,i={configurable:tm in i?i[tm]:s[tm],enumerable:Qg in i?i[Qg]:s[Qg],writable:!1})}return Kg(t,e,i)}:Kg:function(t,e,i){if(ch(t),e=YE(e),ch(i),wF)try{return Kg(t,e,i)}catch(s){}if("get"in i||"set"in i)throw new bF("Accessors not supported");return"value"in i&&(t[e]=i.value),t}});var xs=X((ent,ZE)=>{"use strict";var TF=ri(),CF=Wo(),IF=wc();ZE.exports=TF?function(n,t,e){return CF.f(n,t,IF(1,e))}:function(n,t,e){return n[t]=e,n}});var fh=X((nnt,jE)=>{"use strict";var nm=ri(),PF=oo(),JE=Function.prototype,RF=nm&&Object.getOwnPropertyDescriptor,rm=PF(JE,"name"),LF=rm&&function(){}.name==="something",NF=rm&&(!nm||nm&&RF(JE,"name").configurable);jE.exports={EXISTS:rm,PROPER:LF,CONFIGURABLE:NF}});var om=X((rnt,KE)=>{"use strict";var OF=In(),DF=er(),im=ih(),FF=OF(Function.toString);DF(im.inspectSource)||(im.inspectSource=function(n){return FF(n)});KE.exports=im.inspectSource});var eS=X((int,tS)=>{"use strict";var UF=Sn(),BF=er(),QE=UF.WeakMap;tS.exports=BF(QE)&&/native code/.test(String(QE))});var hh=X((ont,rS)=>{"use strict";var zF=oh(),GF=sh(),nS=zF("keys");rS.exports=function(n){return nS[n]||(nS[n]=GF(n))}});var ph=X((snt,iS)=>{"use strict";iS.exports={}});var Va=X((ant,aS)=>{"use strict";var kF=eS(),sS=Sn(),qF=xi(),VF=xs(),sm=oo(),am=ih(),HF=hh(),WF=ph(),oS="Object already initialized",um=sS.TypeError,XF=sS.WeakMap,dh,Ic,gh,YF=function(n){return gh(n)?Ic(n):dh(n,{})},$F=function(n){return function(t){var e;if(!qF(t)||(e=Ic(t)).type!==n)throw new um("Incompatible receiver, "+n+" required");return e}};kF||am.state?(wo=am.state||(am.state=new XF),wo.get=wo.get,wo.has=wo.has,wo.set=wo.set,dh=function(n,t){if(wo.has(n))throw new um(oS);return t.facade=n,wo.set(n,t),t},Ic=function(n){return wo.get(n)||{}},gh=function(n){return wo.has(n)}):(qa=HF("state"),WF[qa]=!0,dh=function(n,t){if(sm(n,qa))throw new um(oS);return t.facade=n,VF(n,qa,t),t},Ic=function(n){return sm(n,qa)?n[qa]:{}},gh=function(n){return sm(n,qa)});var wo,qa;aS.exports={set:dh,get:Ic,has:gh,enforce:YF,getterFor:$F}});var fm=X((unt,cS)=>{"use strict";var cm=In(),ZF=An(),JF=er(),mh=oo(),lm=ri(),jF=fh().CONFIGURABLE,KF=om(),lS=Va(),QF=lS.enforce,tU=lS.get,uS=String,yh=Object.defineProperty,eU=cm("".slice),nU=cm("".replace),rU=cm([].join),iU=lm&&!ZF(function(){return yh(function(){},"length",{value:8}).length!==8}),oU=String(String).split("String"),sU=cS.exports=function(n,t,e){eU(uS(t),0,7)==="Symbol("&&(t="["+nU(uS(t),/^Symbol\\(([^)]*)\\).*$/,"$1")+"]"),e&&e.getter&&(t="get "+t),e&&e.setter&&(t="set "+t),(!mh(n,"name")||jF&&n.name!==t)&&(lm?yh(n,"name",{value:t,configurable:!0}):n.name=t),iU&&e&&mh(e,"arity")&&n.length!==e.arity&&yh(n,"length",{value:e.arity});try{e&&mh(e,"constructor")&&e.constructor?lm&&yh(n,"prototype",{writable:!1}):n.prototype&&(n.prototype=void 0)}catch(s){}var i=QF(n);return mh(i,"source")||(i.source=rU(oU,typeof t=="string"?t:"")),n};Function.prototype.toString=sU(function(){return JF(this)&&tU(this).source||KF(this)},"toString")});var Ha=X((lnt,fS)=>{"use strict";var aU=er(),uU=Wo(),lU=fm(),cU=rh();fS.exports=function(n,t,e,i){i||(i={});var s=i.enumerable,u=i.name!==void 0?i.name:t;if(aU(e)&&lU(e,u,i),i.global)s?n[t]=e:cU(t,e);else{try{i.unsafe?n[t]&&(s=!0):delete n[t]}catch(c){}s?n[t]=e:uU.f(n,t,{value:e,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return n}});var pS=X((cnt,hS)=>{"use strict";var fU=Math.ceil,hU=Math.floor;hS.exports=Math.trunc||function(t){var e=+t;return(e>0?hU:fU)(e)}});var Hi=X((fnt,dS)=>{"use strict";var pU=pS();dS.exports=function(n){var t=+n;return t!==t||t===0?0:pU(t)}});var vh=X((hnt,gS)=>{"use strict";var dU=Hi(),gU=Math.max,mU=Math.min;gS.exports=function(n,t){var e=dU(n);return e<0?gU(e+t,0):mU(e,t)}});var Wa=X((pnt,mS)=>{"use strict";var yU=Hi(),vU=Math.min;mS.exports=function(n){var t=yU(n);return t>0?vU(t,9007199254740991):0}});var ii=X((dnt,yS)=>{"use strict";var _U=Wa();yS.exports=function(n){return _U(n.length)}});var xS=X((gnt,_S)=>{"use strict";var xU=Uu(),EU=vh(),SU=ii(),vS=function(n){return function(t,e,i){var s=xU(t),u=SU(s);if(u===0)return!n&&-1;var c=EU(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}};_S.exports={includes:vS(!0),indexOf:vS(!1)}});var pm=X((mnt,SS)=>{"use strict";var wU=In(),hm=oo(),MU=Uu(),bU=xS().indexOf,AU=ph(),ES=wU([].push);SS.exports=function(n,t){var e=MU(n),i=0,s=[],u;for(u in e)!hm(AU,u)&&hm(e,u)&&ES(s,u);for(;t.length>i;)hm(e,u=t[i++])&&(~bU(s,u)||ES(s,u));return s}});var _h=X((ynt,wS)=>{"use strict";wS.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var dm=X(MS=>{"use strict";var TU=pm(),CU=_h(),IU=CU.concat("length","prototype");MS.f=Object.getOwnPropertyNames||function(t){return TU(t,IU)}});var AS=X(bS=>{"use strict";bS.f=Object.getOwnPropertySymbols});var CS=X((xnt,TS)=>{"use strict";var PU=$s(),RU=In(),LU=dm(),NU=AS(),OU=so(),DU=RU([].concat);TS.exports=PU("Reflect","ownKeys")||function(t){var e=LU.f(OU(t)),i=NU.f;return i?DU(e,i(t)):e}});var gm=X((Ent,PS)=>{"use strict";var IS=oo(),FU=CS(),UU=lh(),BU=Wo();PS.exports=function(n,t,e){for(var i=FU(t),s=BU.f,u=UU.f,c=0;c<i.length;c++){var f=i[c];!IS(n,f)&&!(e&&IS(e,f))&&s(n,f,u(t,f))}}});var LS=X((Snt,RS)=>{"use strict";var zU=An(),GU=er(),kU=/#|\\.prototype\\./,Pc=function(n,t){var e=VU[qU(n)];return e===WU?!0:e===HU?!1:GU(t)?zU(t):!!t},qU=Pc.normalize=function(n){return String(n).replace(kU,".").toLowerCase()},VU=Pc.data={},HU=Pc.NATIVE="N",WU=Pc.POLYFILL="P";RS.exports=Pc});var sr=X((wnt,NS)=>{"use strict";var xh=Sn(),XU=lh().f,YU=xs(),$U=Ha(),ZU=rh(),JU=gm(),jU=LS();NS.exports=function(n,t){var e=n.target,i=n.global,s=n.stat,u,c,f,p,d,g;if(i?c=xh:s?c=xh[e]||ZU(e,{}):c=xh[e]&&xh[e].prototype,c)for(f in t){if(d=t[f],n.dontCallGetSet?(g=XU(c,f),p=g&&g.value):p=c[f],u=jU(i?f:e+(s?".":"#")+f,n.forced),!u&&p!==void 0){if(typeof d==typeof p)continue;JU(d,p)}(n.sham||p&&p.sham)&&YU(d,"sham",!0),$U(c,f,d,n)}}});var Rc=X((Mnt,OS)=>{"use strict";var KU=vs();OS.exports=Array.isArray||function(t){return KU(t)==="Array"}});var mm=X((bnt,DS)=>{"use strict";var QU=ri(),tB=Rc(),eB=TypeError,nB=Object.getOwnPropertyDescriptor,rB=QU&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(n){return n instanceof TypeError}}();DS.exports=rB?function(n,t){if(tB(n)&&!nB(n,"length").writable)throw new eB("Cannot set read only .length");return n.length=t}:function(n,t){return n.length=t}});var Eh=X((Ant,FS)=>{"use strict";var iB=TypeError,oB=9007199254740991;FS.exports=function(n){if(n>oB)throw iB("Maximum allowed index exceeded");return n}});var Sh=X(()=>{"use strict";var sB=sr(),aB=Vi(),uB=ii(),lB=mm(),cB=Eh(),fB=An(),hB=fB(function(){return[].push.call({length:4294967296},1)!==4294967297}),pB=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(n){return n instanceof TypeError}},dB=hB||!pB();sB({target:"Array",proto:!0,arity:1,forced:dB},{push:function(t){var e=aB(this),i=uB(e),s=arguments.length;cB(i+s);for(var u=0;u<s;u++)e[i]=arguments[u],i++;return lB(e,i),i}})});var US=X(()=>{"use strict";var gB=sr(),mB=vr();gB({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return mB(URL.prototype.toString,this)}})});var zS=X((Rnt,BS)=>{"use strict";BS.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 qS=X((Lnt,kS)=>{"use strict";var yB=uh(),ym=yB("span").classList,GS=ym&&ym.constructor&&ym.constructor.prototype;kS.exports=GS===Object.prototype?void 0:GS});var HS=X((Nnt,VS)=>{"use strict";var vB=pm(),_B=_h();VS.exports=Object.keys||function(t){return vB(t,_B)}});var XS=X(WS=>{"use strict";var xB=ri(),EB=jg(),SB=Wo(),wB=so(),MB=Uu(),bB=HS();WS.f=xB&&!EB?Object.defineProperties:function(t,e){wB(t);for(var i=MB(e),s=bB(e),u=s.length,c=0,f;u>c;)SB.f(t,f=s[c++],i[f]);return t}});var $S=X((Dnt,YS)=>{"use strict";var AB=$s();YS.exports=AB("document","documentElement")});var ku=X((Fnt,ew)=>{"use strict";var TB=so(),CB=XS(),ZS=_h(),IB=ph(),PB=$S(),RB=uh(),LB=hh(),JS=">",jS="<",_m="prototype",xm="script",QS=LB("IE_PROTO"),vm=function(){},tw=function(n){return jS+xm+JS+n+jS+"/"+xm+JS},KS=function(n){n.write(tw("")),n.close();var t=n.parentWindow.Object;return n=null,t},NB=function(){var n=RB("iframe"),t="java"+xm+":",e;return n.style.display="none",PB.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(tw("document.F=Object")),e.close(),e.F},wh,Mh=function(){try{wh=new ActiveXObject("htmlfile")}catch(t){}Mh=typeof document!="undefined"?document.domain&&wh?KS(wh):NB():KS(wh);for(var n=ZS.length;n--;)delete Mh[_m][ZS[n]];return Mh()};IB[QS]=!0;ew.exports=Object.create||function(t,e){var i;return t!==null?(vm[_m]=TB(t),i=new vm,vm[_m]=null,i[QS]=t):i=Mh(),e===void 0?i:CB.f(i,e)}});var wm=X((Unt,nw)=>{"use strict";var OB=Xr(),DB=ku(),FB=Wo().f,Em=OB("unscopables"),Sm=Array.prototype;Sm[Em]===void 0&&FB(Sm,Em,{configurable:!0,value:DB(null)});nw.exports=function(n){Sm[Em][n]=!0}});var qu=X((Bnt,rw)=>{"use strict";rw.exports={}});var ow=X((znt,iw)=>{"use strict";var UB=An();iw.exports=!UB(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})});var Lc=X((Gnt,aw)=>{"use strict";var BB=oo(),zB=er(),GB=Vi(),kB=hh(),qB=ow(),sw=kB("IE_PROTO"),Mm=Object,VB=Mm.prototype;aw.exports=qB?Mm.getPrototypeOf:function(n){var t=GB(n);if(BB(t,sw))return t[sw];var e=t.constructor;return zB(e)&&t instanceof e?e.prototype:t instanceof Mm?VB:null}});var Cm=X((knt,cw)=>{"use strict";var HB=An(),WB=er(),XB=xi(),YB=ku(),uw=Lc(),$B=Ha(),ZB=Xr(),JB=Cc(),Tm=ZB("iterator"),lw=!1,Es,bm,Am;[].keys&&(Am=[].keys(),"next"in Am?(bm=uw(uw(Am)),bm!==Object.prototype&&(Es=bm)):lw=!0);var jB=!XB(Es)||HB(function(){var n={};return Es[Tm].call(n)!==n});jB?Es={}:JB&&(Es=YB(Es));WB(Es[Tm])||$B(Es,Tm,function(){return this});cw.exports={IteratorPrototype:Es,BUGGY_SAFARI_ITERATORS:lw}});var Nc=X((qnt,hw)=>{"use strict";var KB=Wo().f,QB=oo(),tz=Xr(),fw=tz("toStringTag");hw.exports=function(n,t,e){n&&!e&&(n=n.prototype),n&&!QB(n,fw)&&KB(n,fw,{configurable:!0,value:t})}});var dw=X((Vnt,pw)=>{"use strict";var ez=Cm().IteratorPrototype,nz=ku(),rz=wc(),iz=Nc(),oz=qu(),sz=function(){return this};pw.exports=function(n,t,e,i){var s=t+" Iterator";return n.prototype=nz(ez,{next:rz(+!i,e)}),iz(n,s,!1,!0),oz[s]=sz,n}});var Oc=X((Hnt,gw)=>{"use strict";var az=In(),uz=_s();gw.exports=function(n,t,e){try{return az(uz(Object.getOwnPropertyDescriptor(n,t)[e]))}catch(i){}}});var yw=X((Wnt,mw)=>{"use strict";var lz=xi();mw.exports=function(n){return lz(n)||n===null}});var _w=X((Xnt,vw)=>{"use strict";var cz=yw(),fz=String,hz=TypeError;vw.exports=function(n){if(cz(n))return n;throw new hz("Can't set "+fz(n)+" as a prototype")}});var Vu=X((Ynt,xw)=>{"use strict";var pz=Oc(),dz=xi(),gz=Fu(),mz=_w();xw.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var n=!1,t={},e;try{e=pz(Object.prototype,"__proto__","set"),e(t,[]),n=t instanceof Array}catch(i){}return function(s,u){return gz(s),mz(u),dz(s)&&(n?e(s,u):s.__proto__=u),s}}():void 0)});var Rw=X(($nt,Pw)=>{"use strict";var yz=sr(),vz=vr(),bh=Cc(),Cw=fh(),_z=er(),xz=dw(),Ew=Lc(),Sw=Vu(),Ez=Nc(),Sz=xs(),Im=Ha(),wz=Xr(),ww=qu(),Iw=Cm(),Mz=Cw.PROPER,bz=Cw.CONFIGURABLE,Mw=Iw.IteratorPrototype,Ah=Iw.BUGGY_SAFARI_ITERATORS,Dc=wz("iterator"),bw="keys",Fc="values",Aw="entries",Tw=function(){return this};Pw.exports=function(n,t,e,i,s,u,c){xz(e,t,i);var f=function(x){if(x===s&&v)return v;if(!Ah&&x&&x in g)return g[x];switch(x){case bw:return function(){return new e(this,x)};case Fc:return function(){return new e(this,x)};case Aw:return function(){return new e(this,x)}}return function(){return new e(this)}},p=t+" Iterator",d=!1,g=n.prototype,y=g[Dc]||g["@@iterator"]||s&&g[s],v=!Ah&&y||f(s),E=t==="Array"&&g.entries||y,M,A,_;if(E&&(M=Ew(E.call(new n)),M!==Object.prototype&&M.next&&(!bh&&Ew(M)!==Mw&&(Sw?Sw(M,Mw):_z(M[Dc])||Im(M,Dc,Tw)),Ez(M,p,!0,!0),bh&&(ww[p]=Tw))),Mz&&s===Fc&&y&&y.name!==Fc&&(!bh&&bz?Sz(g,"name",Fc):(d=!0,v=function(){return vz(y,this)})),s)if(A={values:f(Fc),keys:u?v:f(bw),entries:f(Aw)},c)for(_ in A)(Ah||d||!(_ in g))&&Im(g,_,A[_]);else yz({target:t,proto:!0,forced:Ah||d},A);return(!bh||c)&&g[Dc]!==v&&Im(g,Dc,v,{name:s}),ww[t]=v,A}});var Nw=X((Znt,Lw)=>{"use strict";Lw.exports=function(n,t){return{value:n,done:t}}});var zw=X((Jnt,Bw)=>{"use strict";var Az=Uu(),Pm=wm(),Ow=qu(),Fw=Va(),Tz=Wo().f,Cz=Rw(),Th=Nw(),Iz=Cc(),Pz=ri(),Uw="Array Iterator",Rz=Fw.set,Lz=Fw.getterFor(Uw);Bw.exports=Cz(Array,"Array",function(n,t){Rz(this,{type:Uw,target:Az(n),index:0,kind:t})},function(){var n=Lz(this),t=n.target,e=n.index++;if(!t||e>=t.length)return n.target=null,Th(void 0,!0);switch(n.kind){case"keys":return Th(e,!1);case"values":return Th(t[e],!1)}return Th([e,t[e]],!1)},"values");var Dw=Ow.Arguments=Ow.Array;Pm("keys");Pm("values");Pm("entries");if(!Iz&&Pz&&Dw.name!=="values")try{Tz(Dw,"name",{value:"values"})}catch(n){}});var Bc=X(()=>{"use strict";var Gw=Sn(),qw=zS(),Nz=qS(),Uc=zw(),kw=xs(),Oz=Nc(),Dz=Xr(),Rm=Dz("iterator"),Lm=Uc.values,Vw=function(n,t){if(n){if(n[Rm]!==Lm)try{kw(n,Rm,Lm)}catch(i){n[Rm]=Lm}if(Oz(n,t,!0),qw[t]){for(var e in Uc)if(n[e]!==Uc[e])try{kw(n,e,Uc[e])}catch(i){n[e]=Uc[e]}}}};for(Ch in qw)Vw(Gw[Ch]&&Gw[Ch].prototype,Ch);var Ch;Vw(Nz,"DOMTokenList")});var Ih=X((Qnt,Hw)=>{"use strict";var Fz=vs(),Uz=In();Hw.exports=function(n){if(Fz(n)==="Function")return Uz(n)}});var zc=X((trt,Xw)=>{"use strict";var Ww=Ih(),Bz=_s(),zz=Sc(),Gz=Ww(Ww.bind);Xw.exports=function(n,t){return Bz(n),t===void 0?n:zz?Gz(n,t):function(){return n.apply(t,arguments)}}});var Zw=X((ert,$w)=>{"use strict";var kz=Rc(),qz=ii(),Vz=Eh(),Hz=zc(),Yw=function(n,t,e,i,s,u,c,f){for(var p=s,d=0,g=c?Hz(c,f):!1,y,v;d<i;)d in e&&(y=g?g(e[d],d,t):e[d],u>0&&kz(y)?(v=qz(y),p=Yw(n,t,y,v,p,u-1)-1):(Vz(p+1),n[p]=y),p++),d++;return p};$w.exports=Yw});var Kw=X((nrt,jw)=>{"use strict";var Wz=Xr(),Xz=Wz("toStringTag"),Jw={};Jw[Xz]="z";jw.exports=String(Jw)==="[object z]"});var Zs=X((rrt,Qw)=>{"use strict";var Yz=Kw(),$z=er(),Ph=vs(),Zz=Xr(),Jz=Zz("toStringTag"),jz=Object,Kz=Ph(function(){return arguments}())==="Arguments",Qz=function(n,t){try{return n[t]}catch(e){}};Qw.exports=Yz?Ph:function(n){var t,e,i;return n===void 0?"Undefined":n===null?"Null":typeof(e=Qz(t=jz(n),Jz))=="string"?e:Kz?Ph(t):(i=Ph(t))==="Object"&&$z(t.callee)?"Arguments":i}});var Om=X((irt,iM)=>{"use strict";var tG=In(),eG=An(),tM=er(),nG=Zs(),rG=$s(),iG=om(),eM=function(){},nM=rG("Reflect","construct"),Nm=/^\\s*(?:class|function)\\b/,oG=tG(Nm.exec),sG=!Nm.test(eM),Gc=function(t){if(!tM(t))return!1;try{return nM(eM,[],t),!0}catch(e){return!1}},rM=function(t){if(!tM(t))return!1;switch(nG(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return sG||!!oG(Nm,iG(t))}catch(e){return!0}};rM.sham=!0;iM.exports=!nM||eG(function(){var n;return Gc(Gc.call)||!Gc(Object)||!Gc(function(){n=!0})||n})?rM:Gc});var uM=X((ort,aM)=>{"use strict";var oM=Rc(),aG=Om(),uG=xi(),lG=Xr(),cG=lG("species"),sM=Array;aM.exports=function(n){var t;return oM(n)&&(t=n.constructor,aG(t)&&(t===sM||oM(t.prototype))?t=void 0:uG(t)&&(t=t[cG],t===null&&(t=void 0))),t===void 0?sM:t}});var Dm=X((srt,lM)=>{"use strict";var fG=uM();lM.exports=function(n,t){return new(fG(n))(t===0?0:t)}});var cM=X(()=>{"use strict";var hG=sr(),pG=Zw(),dG=Vi(),gG=ii(),mG=Hi(),yG=Dm();hG({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=dG(this),i=gG(e),s=yG(e,0);return s.length=pG(s,e,e,i,0,t===void 0?1:mG(t)),s}})});var fM=X(()=>{"use strict";var vG=wm();vG("flat")});var mM=X((frt,gM)=>{"use strict";var _G=Xr(),pM=_G("iterator"),dM=!1;try{hM=0,Fm={next:function(){return{done:!!hM++}},return:function(){dM=!0}},Fm[pM]=function(){return this},Array.from(Fm,function(){throw 2})}catch(n){}var hM,Fm;gM.exports=function(n,t){try{if(!t&&!dM)return!1}catch(s){return!1}var e=!1;try{var i={};i[pM]=function(){return{next:function(){return{done:e=!0}}}},n(i)}catch(s){}return e}});var Rh=X((hrt,yM)=>{"use strict";yM.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"});var Hu=X((prt,_M)=>{"use strict";var vM=fm(),xG=Wo();_M.exports=function(n,t,e){return e.get&&vM(e.get,t,{getter:!0}),e.set&&vM(e.set,t,{setter:!0}),xG.f(n,t,e)}});var Wi=X((drt,IM)=>{"use strict";var EG=Rh(),Gm=ri(),Ei=Sn(),wM=er(),Oh=xi(),js=oo(),km=Zs(),SG=zu(),wG=xs(),Um=Ha(),MG=Hu(),bG=Mc(),Dh=Lc(),Xu=Vu(),AG=Xr(),TG=sh(),MM=Va(),bM=MM.enforce,CG=MM.get,Lh=Ei.Int8Array,Bm=Lh&&Lh.prototype,xM=Ei.Uint8ClampedArray,EM=xM&&xM.prototype,Xo=Lh&&Dh(Lh),Mo=Bm&&Dh(Bm),IG=Object.prototype,qm=Ei.TypeError,SM=AG("toStringTag"),zm=TG("TYPED_ARRAY_TAG"),Nh="TypedArrayConstructor",Ss=EG&&!!Xu&&km(Ei.opera)!=="Opera",AM=!1,Li,Js,Wu,ws={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Vm={BigInt64Array:8,BigUint64Array:8},PG=function(t){if(!Oh(t))return!1;var e=km(t);return e==="DataView"||js(ws,e)||js(Vm,e)},TM=function(n){var t=Dh(n);if(Oh(t)){var e=CG(t);return e&&js(e,Nh)?e[Nh]:TM(t)}},CM=function(n){if(!Oh(n))return!1;var t=km(n);return js(ws,t)||js(Vm,t)},RG=function(n){if(CM(n))return n;throw new qm("Target is not a typed array")},LG=function(n){if(wM(n)&&(!Xu||bG(Xo,n)))return n;throw new qm(SG(n)+" is not a typed array constructor")},NG=function(n,t,e,i){if(Gm){if(e)for(var s in ws){var u=Ei[s];if(u&&js(u.prototype,n))try{delete u.prototype[n]}catch(c){try{u.prototype[n]=t}catch(f){}}}(!Mo[n]||e)&&Um(Mo,n,e?t:Ss&&Bm[n]||t,i)}},OG=function(n,t,e){var i,s;if(Gm){if(Xu){if(e){for(i in ws)if(s=Ei[i],s&&js(s,n))try{delete s[n]}catch(u){}}if(!Xo[n]||e)try{return Um(Xo,n,e?t:Ss&&Xo[n]||t)}catch(u){}else return}for(i in ws)s=Ei[i],s&&(!s[n]||e)&&Um(s,n,t)}};for(Li in ws)Js=Ei[Li],Wu=Js&&Js.prototype,Wu?bM(Wu)[Nh]=Js:Ss=!1;for(Li in Vm)Js=Ei[Li],Wu=Js&&Js.prototype,Wu&&(bM(Wu)[Nh]=Js);if((!Ss||!wM(Xo)||Xo===Function.prototype)&&(Xo=function(){throw new qm("Incorrect invocation")},Ss))for(Li in ws)Ei[Li]&&Xu(Ei[Li],Xo);if((!Ss||!Mo||Mo===IG)&&(Mo=Xo.prototype,Ss))for(Li in ws)Ei[Li]&&Xu(Ei[Li].prototype,Mo);Ss&&Dh(EM)!==Mo&&Xu(EM,Mo);if(Gm&&!js(Mo,SM)){AM=!0,MG(Mo,SM,{configurable:!0,get:function(){return Oh(this)?this[zm]:void 0}});for(Li in ws)Ei[Li]&&wG(Ei[Li],zm,Li)}IM.exports={NATIVE_ARRAY_BUFFER_VIEWS:Ss,TYPED_ARRAY_TAG:AM&&zm,aTypedArray:RG,aTypedArrayConstructor:LG,exportTypedArrayMethod:NG,exportTypedArrayStaticMethod:OG,getTypedArrayConstructor:TM,isView:PG,isTypedArray:CM,TypedArray:Xo,TypedArrayPrototype:Mo}});var LM=X((grt,RM)=>{"use strict";var PM=Sn(),Hm=An(),DG=mM(),FG=Wi().NATIVE_ARRAY_BUFFER_VIEWS,UG=PM.ArrayBuffer,Xa=PM.Int8Array;RM.exports=!FG||!Hm(function(){Xa(1)})||!Hm(function(){new Xa(-1)})||!DG(function(n){new Xa,new Xa(null),new Xa(1.5),new Xa(n)},!0)||Hm(function(){return new Xa(new UG(2),1,void 0).length!==1})});var OM=X((mrt,NM)=>{"use strict";var BG=Ha();NM.exports=function(n,t,e){for(var i in t)BG(n,i,t[i],e);return n}});var Wm=X((yrt,DM)=>{"use strict";var zG=Mc(),GG=TypeError;DM.exports=function(n,t){if(zG(t,n))return n;throw new GG("Incorrect invocation")}});var Fh=X((vrt,FM)=>{"use strict";var kG=Hi(),qG=Wa(),VG=RangeError;FM.exports=function(n){if(n===void 0)return 0;var t=kG(n),e=qG(t);if(t!==e)throw new VG("Wrong length or index");return e}});var BM=X((_rt,UM)=>{"use strict";UM.exports=Math.sign||function(t){var e=+t;return e===0||e!==e?e:e<0?-1:1}});var kM=X((xrt,GM)=>{"use strict";var HG=2220446049250313e-31,zM=1/HG;GM.exports=function(n){return n+zM-zM}});var VM=X((Ert,qM)=>{"use strict";var WG=BM(),XG=kM(),YG=Math.abs,$G=2220446049250313e-31;qM.exports=function(n,t,e,i){var s=+n,u=YG(s),c=WG(s);if(u<i)return c*XG(u/i/t)*i*t;var f=(1+t/$G)*u,p=f-(f-u);return p>e||p!==p?c*(1/0):c*p}});var WM=X((Srt,HM)=>{"use strict";var ZG=VM(),JG=11920928955078125e-23,jG=34028234663852886e22,KG=11754943508222875e-54;HM.exports=Math.fround||function(t){return ZG(t,JG,jG,KG)}});var YM=X((wrt,XM)=>{"use strict";var QG=Array,t4=Math.abs,Ms=Math.pow,e4=Math.floor,n4=Math.log,r4=Math.LN2,i4=function(n,t,e){var i=QG(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=t4(n),n!==n||n===1/0?(y=n!==n?1:0,g=u):(g=e4(n4(n)/r4),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},o4=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)};XM.exports={pack:i4,unpack:o4}});var Xm=X((Mrt,ZM)=>{"use strict";var s4=Vi(),$M=vh(),a4=ii();ZM.exports=function(t){for(var e=s4(this),i=a4(e),s=arguments.length,u=$M(s>1?arguments[1]:void 0,i),c=s>2?arguments[2]:void 0,f=c===void 0?i:$M(c,i);f>u;)e[u++]=t;return e}});var Uh=X((brt,JM)=>{"use strict";var u4=In();JM.exports=u4([].slice)});var Ym=X((Art,KM)=>{"use strict";var l4=er(),c4=xi(),jM=Vu();KM.exports=function(n,t,e){var i,s;return jM&&l4(i=t.constructor)&&i!==e&&c4(s=i.prototype)&&s!==e.prototype&&jM(n,s),n}});var Hh=X((Trt,gb)=>{"use strict";var qh=Sn(),Km=In(),$m=ri(),f4=Rh(),cb=fh(),h4=xs(),p4=Hu(),QM=OM(),Zm=An(),Bh=Wm(),d4=Hi(),g4=Wa(),Gh=Fh(),m4=WM(),fb=YM(),y4=Lc(),tb=Vu(),v4=Xm(),_4=Uh(),x4=Ym(),E4=gm(),hb=Nc(),Qm=Va(),S4=cb.PROPER,eb=cb.CONFIGURABLE,$u="ArrayBuffer",Vh="DataView",Zu="prototype",w4="Wrong length",pb="Wrong index",nb=Qm.getterFor($u),qc=Qm.getterFor(Vh),rb=Qm.set,bo=qh[$u],Xi=bo,Yu=Xi&&Xi[Zu],Yo=qh[Vh],Ya=Yo&&Yo[Zu],ib=Object.prototype,M4=qh.Array,kh=qh.RangeError,b4=Km(v4),A4=Km([].reverse),db=fb.pack,ob=fb.unpack,sb=function(n){return[n&255]},ab=function(n){return[n&255,n>>8&255]},ub=function(n){return[n&255,n>>8&255,n>>16&255,n>>24&255]},lb=function(n){return n[3]<<24|n[2]<<16|n[1]<<8|n[0]},T4=function(n){return db(m4(n),23,4)},C4=function(n){return db(n,52,8)},zh=function(n,t,e){p4(n[Zu],t,{configurable:!0,get:function(){return e(this)[t]}})},Ks=function(n,t,e,i){var s=qc(n),u=Gh(e),c=!!i;if(u+t>s.byteLength)throw new kh(pb);var f=s.bytes,p=u+s.byteOffset,d=_4(f,p,p+t);return c?d:A4(d)},Qs=function(n,t,e,i,s,u){var c=qc(n),f=Gh(e),p=i(+s),d=!!u;if(f+t>c.byteLength)throw new kh(pb);for(var g=c.bytes,y=f+c.byteOffset,v=0;v<t;v++)g[y+v]=p[d?v:t-v-1]};f4?(Jm=S4&&bo.name!==$u,!Zm(function(){bo(1)})||!Zm(function(){new bo(-1)})||Zm(function(){return new bo,new bo(1.5),new bo(NaN),bo.length!==1||Jm&&!eb})?(Xi=function(t){return Bh(this,Yu),x4(new bo(Gh(t)),this,Xi)},Xi[Zu]=Yu,Yu.constructor=Xi,E4(Xi,bo)):Jm&&eb&&h4(bo,"name",$u),tb&&y4(Ya)!==ib&&tb(Ya,ib),kc=new Yo(new Xi(2)),jm=Km(Ya.setInt8),kc.setInt8(0,2147483648),kc.setInt8(1,2147483649),(kc.getInt8(0)||!kc.getInt8(1))&&QM(Ya,{setInt8:function(t,e){jm(this,t,e<<24>>24)},setUint8:function(t,e){jm(this,t,e<<24>>24)}},{unsafe:!0})):(Xi=function(t){Bh(this,Yu);var e=Gh(t);rb(this,{type:$u,bytes:b4(M4(e),0),byteLength:e}),$m||(this.byteLength=e,this.detached=!1)},Yu=Xi[Zu],Yo=function(t,e,i){Bh(this,Ya),Bh(t,Yu);var s=nb(t),u=s.byteLength,c=d4(e);if(c<0||c>u)throw new kh("Wrong offset");if(i=i===void 0?u-c:g4(i),c+i>u)throw new kh(w4);rb(this,{type:Vh,buffer:t,byteLength:i,byteOffset:c,bytes:s.bytes}),$m||(this.buffer=t,this.byteLength=i,this.byteOffset=c)},Ya=Yo[Zu],$m&&(zh(Xi,"byteLength",nb),zh(Yo,"buffer",qc),zh(Yo,"byteLength",qc),zh(Yo,"byteOffset",qc)),QM(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 lb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))},getUint32:function(t){return lb(Ks(this,4,t,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(t){return ob(Ks(this,4,t,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(t){return ob(Ks(this,8,t,arguments.length>1?arguments[1]:!1),52)},setInt8:function(t,e){Qs(this,1,t,sb,e)},setUint8:function(t,e){Qs(this,1,t,sb,e)},setInt16:function(t,e){Qs(this,2,t,ab,e,arguments.length>2?arguments[2]:!1)},setUint16:function(t,e){Qs(this,2,t,ab,e,arguments.length>2?arguments[2]:!1)},setInt32:function(t,e){Qs(this,4,t,ub,e,arguments.length>2?arguments[2]:!1)},setUint32:function(t,e){Qs(this,4,t,ub,e,arguments.length>2?arguments[2]:!1)},setFloat32:function(t,e){Qs(this,4,t,T4,e,arguments.length>2?arguments[2]:!1)},setFloat64:function(t,e){Qs(this,8,t,C4,e,arguments.length>2?arguments[2]:!1)}}));var Jm,kc,jm;hb(Xi,$u);hb(Yo,Vh);gb.exports={ArrayBuffer:Xi,DataView:Yo}});var yb=X((Crt,mb)=>{"use strict";var I4=xi(),P4=Math.floor;mb.exports=Number.isInteger||function(t){return!I4(t)&&isFinite(t)&&P4(t)===t}});var _b=X((Irt,vb)=>{"use strict";var R4=Hi(),L4=RangeError;vb.exports=function(n){var t=R4(n);if(t<0)throw new L4("The argument can't be less than 0");return t}});var t0=X((Prt,xb)=>{"use strict";var N4=_b(),O4=RangeError;xb.exports=function(n,t){var e=N4(n);if(e%t)throw new O4("Wrong offset");return e}});var Sb=X((Rrt,Eb)=>{"use strict";var D4=Math.round;Eb.exports=function(n){var t=D4(n);return t<0?0:t>255?255:t&255}});var Mb=X((Lrt,wb)=>{"use strict";var F4=Om(),U4=zu(),B4=TypeError;wb.exports=function(n){if(F4(n))return n;throw new B4(U4(n)+" is not a constructor")}});var e0=X((Nrt,Ab)=>{"use strict";var z4=Zs(),bb=Tc(),G4=th(),k4=qu(),q4=Xr(),V4=q4("iterator");Ab.exports=function(n){if(!G4(n))return bb(n,V4)||bb(n,"@@iterator")||k4[z4(n)]}});var Cb=X((Ort,Tb)=>{"use strict";var H4=vr(),W4=_s(),X4=so(),Y4=zu(),$4=e0(),Z4=TypeError;Tb.exports=function(n,t){var e=arguments.length<2?$4(n):t;if(W4(e))return X4(H4(e,n));throw new Z4(Y4(n)+" is not iterable")}});var Pb=X((Drt,Ib)=>{"use strict";var J4=Xr(),j4=qu(),K4=J4("iterator"),Q4=Array.prototype;Ib.exports=function(n){return n!==void 0&&(j4.Array===n||Q4[K4]===n)}});var n0=X((Frt,Rb)=>{"use strict";var tk=Zs();Rb.exports=function(n){var t=tk(n);return t==="BigInt64Array"||t==="BigUint64Array"}});var Wh=X((Urt,Lb)=>{"use strict";var ek=$g(),nk=TypeError;Lb.exports=function(n){var t=ek(n,"number");if(typeof t=="number")throw new nk("Can't convert number to bigint");return BigInt(t)}});var Ob=X((Brt,Nb)=>{"use strict";var rk=zc(),ik=vr(),ok=Mb(),sk=Vi(),ak=ii(),uk=Cb(),lk=e0(),ck=Pb(),fk=n0(),hk=Wi().aTypedArrayConstructor,pk=Wh();Nb.exports=function(t){var e=ok(this),i=sk(t),s=arguments.length,u=s>1?arguments[1]:void 0,c=u!==void 0,f=lk(i),p,d,g,y,v,E,M,A;if(f&&!ck(f))for(M=uk(i,f),A=M.next,i=[];!(E=ik(A,M)).done;)i.push(E.value);for(c&&s>2&&(u=rk(u,arguments[2])),d=ak(i),g=new(hk(e))(d),y=fk(g),p=0;d>p;p++)v=c?u(i[p],p):i[p],g[p]=y?pk(v):+v;return g}});var Ub=X((zrt,Fb)=>{"use strict";var dk=zc(),gk=In(),mk=Qf(),yk=Vi(),vk=ii(),_k=Dm(),Db=gk([].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=yk(p),E=mk(v),M=vk(E),A=dk(d,g),_=0,x=y||_k,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:Db(T,w)}else switch(n){case 4:return!1;case 7:Db(T,w)}return u?-1:i||s?s:T}};Fb.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 r0=X((Grt,zb)=>{"use strict";var xk=$s(),Ek=Hu(),Sk=Xr(),wk=ri(),Bb=Sk("species");zb.exports=function(n){var t=xk(n);wk&&t&&!t[Bb]&&Ek(t,Bb,{configurable:!0,get:function(){return this}})}});var i0=X((krt,Gb)=>{"use strict";var Mk=ii();Gb.exports=function(n,t,e){for(var i=0,s=arguments.length>2?e:Mk(t),u=new n(s);s>i;)u[i]=t[i++];return u}});var sA=X((qrt,f0)=>{"use strict";var kb=sr(),Kb=Sn(),qb=vr(),bk=ri(),Ak=LM(),Xc=Wi(),Qb=Hh(),Vb=Wm(),Tk=wc(),Vc=xs(),Ck=yb(),Ik=Wa(),Hb=Fh(),o0=t0(),Pk=Sb(),tA=ah(),Hc=oo(),Rk=Zs(),u0=xi(),Lk=Ac(),Nk=ku(),Ok=Mc(),Xh=Vu(),Dk=dm().f,Wb=Ob(),Fk=Ub().forEach,Uk=r0(),Bk=Hu(),eA=Wo(),nA=lh(),Xb=i0(),h0=Va(),zk=Ym(),l0=h0.get,Gk=h0.set,kk=h0.enforce,rA=eA.f,qk=nA.f,s0=Kb.RangeError,iA=Qb.ArrayBuffer,Vk=iA.prototype,Hk=Qb.DataView,Yh=Xc.NATIVE_ARRAY_BUFFER_VIEWS,Yb=Xc.TYPED_ARRAY_TAG,$b=Xc.TypedArray,Wc=Xc.TypedArrayPrototype,c0=Xc.isTypedArray,$h="BYTES_PER_ELEMENT",a0="Wrong length",Zh=function(n,t){Bk(n,t,{configurable:!0,get:function(){return l0(this)[t]}})},Zb=function(n){var t;return Ok(Vk,n)||(t=Rk(n))==="ArrayBuffer"||t==="SharedArrayBuffer"},oA=function(n,t){return c0(n)&&!Lk(t)&&t in n&&Ck(+t)&&t>=0},Jb=function(t,e){return e=tA(e),oA(t,e)?Tk(2,t[e]):qk(t,e)},jb=function(t,e,i){return e=tA(e),oA(t,e)&&u0(i)&&Hc(i,"value")&&!Hc(i,"get")&&!Hc(i,"set")&&!i.configurable&&(!Hc(i,"writable")||i.writable)&&(!Hc(i,"enumerable")||i.enumerable)?(t[e]=i.value,t):rA(t,e,i)};bk?(Yh||(nA.f=Jb,eA.f=jb,Zh(Wc,"buffer"),Zh(Wc,"byteOffset"),Zh(Wc,"byteLength"),Zh(Wc,"length")),kb({target:"Object",stat:!0,forced:!Yh},{getOwnPropertyDescriptor:Jb,defineProperty:jb}),f0.exports=function(n,t,e){var i=n.match(/\\d+/)[0]/8,s=n+(e?"Clamped":"")+"Array",u="get"+n,c="set"+n,f=Kb[s],p=f,d=p&&p.prototype,g={},y=function(A,_){var x=l0(A);return x.view[u](_*i+x.byteOffset,!0)},v=function(A,_,x){var T=l0(A);T.view[c](_*i+T.byteOffset,e?Pk(x):x,!0)},E=function(A,_){rA(A,_,{get:function(){return y(this,_)},set:function(x){return v(this,_,x)},enumerable:!0})};Yh?Ak&&(p=t(function(A,_,x,T){return Vb(A,d),zk(function(){return u0(_)?Zb(_)?T!==void 0?new f(_,o0(x,i),T):x!==void 0?new f(_,o0(x,i)):new f(_):c0(_)?Xb(p,_):qb(Wb,p,_):new f(Hb(_))}(),A,p)}),Xh&&Xh(p,$b),Fk(Dk(f),function(A){A in p||Vc(p,A,f[A])}),p.prototype=d):(p=t(function(A,_,x,T){Vb(A,d);var w=0,R=0,B,U,D;if(!u0(_))D=Hb(_),U=D*i,B=new iA(U);else if(Zb(_)){B=_,R=o0(x,i);var P=_.byteLength;if(T===void 0){if(P%i)throw new s0(a0);if(U=P-R,U<0)throw new s0(a0)}else if(U=Ik(T)*i,U+R>P)throw new s0(a0);D=U/i}else return c0(_)?Xb(p,_):qb(Wb,p,_);for(Gk(A,{buffer:B,byteOffset:R,byteLength:U,length:D,view:new Hk(B)});w<D;)E(A,w++)}),Xh&&Xh(p,$b),d=p.prototype=Nk(Wc)),d.constructor!==p&&Vc(d,"constructor",p),kk(d).TypedArrayConstructor=p,Yb&&Vc(d,Yb,s);var M=p!==f;g[s]=p,kb({global:!0,constructor:!0,forced:M,sham:!Yh},g),$h in p||Vc(p,$h,i),$h in d||Vc(d,$h,i),Uk(s)}):f0.exports=function(){}});var p0=X(()=>{"use strict";var Wk=sA();Wk("Float32",function(n){return function(e,i,s){return n(this,e,i,s)}})});var d0=X(()=>{"use strict";var aA=Wi(),Xk=ii(),Yk=Hi(),$k=aA.aTypedArray,Zk=aA.exportTypedArrayMethod;Zk("at",function(t){var e=$k(this),i=Xk(e),s=Yk(t),u=s>=0?s:i+s;return u<0||u>=i?void 0:e[u]})});var g0=X(()=>{"use strict";var uA=Wi(),Jk=Xm(),jk=Wh(),Kk=Zs(),Qk=vr(),tq=In(),eq=An(),nq=uA.aTypedArray,rq=uA.exportTypedArrayMethod,iq=tq("".slice),oq=eq(function(){var n=0;return new Int8Array(2).fill({valueOf:function(){return n++}}),n!==1});rq("fill",function(t){var e=arguments.length;nq(this);var i=iq(Kk(this),0,3)==="Big"?jk(t):+t;return Qk(Jk,this,i,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},oq)});var m0=X((Zrt,cA)=>{"use strict";var sq=zc(),aq=Qf(),uq=Vi(),lq=ii(),lA=function(n){var t=n===1;return function(e,i,s){for(var u=uq(e),c=aq(u),f=lq(c),p=sq(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}};cA.exports={findLast:lA(0),findLastIndex:lA(1)}});var y0=X(()=>{"use strict";var fA=Wi(),cq=m0().findLast,fq=fA.aTypedArray,hq=fA.exportTypedArrayMethod;hq("findLast",function(t){return cq(fq(this),t,arguments.length>1?arguments[1]:void 0)})});var v0=X(()=>{"use strict";var hA=Wi(),pq=m0().findLastIndex,dq=hA.aTypedArray,gq=hA.exportTypedArrayMethod;gq("findLastIndex",function(t){return pq(dq(this),t,arguments.length>1?arguments[1]:void 0)})});var S0=X(()=>{"use strict";var dA=Sn(),gA=vr(),E0=Wi(),mq=ii(),yq=t0(),vq=Vi(),mA=An(),_q=dA.RangeError,_0=dA.Int8Array,pA=_0&&_0.prototype,yA=pA&&pA.set,xq=E0.aTypedArray,Eq=E0.exportTypedArrayMethod,x0=!mA(function(){var n=new Uint8ClampedArray(2);return gA(yA,n,{length:1,0:3},1),n[1]!==3}),Sq=x0&&E0.NATIVE_ARRAY_BUFFER_VIEWS&&mA(function(){var n=new _0(2);return n.set(1),n.set("2",1),n[0]!==0||n[1]!==2});Eq("set",function(t){xq(this);var e=yq(arguments.length>1?arguments[1]:void 0,1),i=vq(t);if(x0)return gA(yA,this,i,e);var s=this.length,u=mq(i),c=0;if(u+e>s)throw new _q("Wrong length");for(;c<u;)this[e+c]=i[c++]},!x0||Sq)});var M0=X((nit,_A)=>{"use strict";var vA=Uh(),wq=Math.floor,w0=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=wq(e/2),f=w0(vA(n,0,c),t),p=w0(vA(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};_A.exports=w0});var b0=X((rit,EA)=>{"use strict";var Mq=Bu(),xA=Mq.match(/firefox\\/(\\d+)/i);EA.exports=!!xA&&+xA[1]});var A0=X((iit,SA)=>{"use strict";var bq=Bu();SA.exports=/MSIE|Trident/.test(bq)});var T0=X((oit,MA)=>{"use strict";var Aq=Bu(),wA=Aq.match(/AppleWebKit\\/(\\d+)\\./);MA.exports=!!wA&&+wA[1]});var I0=X(()=>{"use strict";var Tq=Sn(),Cq=Ih(),C0=An(),Iq=_s(),Pq=M0(),IA=Wi(),bA=b0(),Rq=A0(),AA=bc(),TA=T0(),Lq=IA.aTypedArray,Nq=IA.exportTypedArrayMethod,Yc=Tq.Uint16Array,Ju=Yc&&Cq(Yc.prototype.sort),Oq=!!Ju&&!(C0(function(){Ju(new Yc(2),null)})&&C0(function(){Ju(new Yc(2),{})})),CA=!!Ju&&!C0(function(){if(AA)return AA<74;if(bA)return bA<67;if(Rq)return!0;if(TA)return TA<602;var n=new Yc(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(Ju(n,function(s,u){return(s/4|0)-(u/4|0)}),e=0;e<516;e++)if(n[e]!==t[e])return!0}),Dq=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}};Nq("sort",function(t){return t!==void 0&&Iq(t),CA?Ju(this,t):Pq(Lq(this),Dq(t))},!CA||Oq)});var RA=X((uit,PA)=>{"use strict";var Fq=ii();PA.exports=function(n,t){for(var e=Fq(n),i=new t(e),s=0;s<e;s++)i[s]=n[e-s-1];return i}});var R0=X(()=>{"use strict";var Uq=RA(),P0=Wi(),Bq=P0.aTypedArray,zq=P0.exportTypedArrayMethod,Gq=P0.getTypedArrayConstructor;zq("toReversed",function(){return Uq(Bq(this),Gq(this))})});var L0=X(()=>{"use strict";var Jh=Wi(),kq=In(),qq=_s(),Vq=i0(),Hq=Jh.aTypedArray,Wq=Jh.getTypedArrayConstructor,Xq=Jh.exportTypedArrayMethod,Yq=kq(Jh.TypedArrayPrototype.sort);Xq("toSorted",function(t){t!==void 0&&qq(t);var e=Hq(this),i=Vq(Wq(e),e);return Yq(i,t)})});var NA=X((pit,LA)=>{"use strict";var $q=ii(),Zq=Hi(),Jq=RangeError;LA.exports=function(n,t,e,i){var s=$q(n),u=Zq(e),c=u<0?s+u:u;if(c>=s||c<0)throw new Jq("Incorrect index");for(var f=new t(s),p=0;p<s;p++)f[p]=p===c?i:n[p];return f}});var O0=X(()=>{"use strict";var jq=NA(),N0=Wi(),Kq=n0(),Qq=Hi(),t5=Wh(),e5=N0.aTypedArray,n5=N0.getTypedArrayConstructor,r5=N0.exportTypedArrayMethod,i5=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(n){return n===8}}();r5("with",function(n,t){var e=e5(this),i=Qq(n),s=Kq(e)?t5(t):+t;return jq(e,n5(e),i,s)},!i5)});var F0=X(()=>{"use strict";var o5=sr(),s5=Sn(),a5=Hh(),u5=r0(),D0="ArrayBuffer",OA=a5[D0],l5=s5[D0];o5({global:!0,constructor:!0,forced:l5!==OA},{ArrayBuffer:OA});u5(D0)});var G0=X(()=>{"use strict";var c5=sr(),B0=Ih(),f5=An(),BA=Hh(),DA=so(),FA=vh(),h5=Wa(),z0=BA.ArrayBuffer,U0=BA.DataView,zA=U0.prototype,UA=B0(z0.prototype.slice),p5=B0(zA.getUint8),d5=B0(zA.setUint8),g5=f5(function(){return!new z0(2).slice(1,void 0).byteLength});c5({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:g5},{slice:function(t,e){if(UA&&e===void 0)return UA(DA(this),t);for(var i=DA(this).byteLength,s=FA(t,i),u=FA(e===void 0?i:e,i),c=new z0(h5(u-s)),f=new U0(this),p=new U0(c),d=0;s<u;)d5(p,d++,p5(f,s++));return c}})});var k0=X((xit,qA)=>{"use strict";var kA=Sn(),m5=Oc(),y5=vs(),GA=kA.ArrayBuffer,v5=kA.TypeError;qA.exports=GA&&m5(GA.prototype,"byteLength","get")||function(n){if(y5(n)!=="ArrayBuffer")throw new v5("ArrayBuffer expected");return n.byteLength}});var q0=X((Eit,VA)=>{"use strict";var _5=Sn(),x5=Rh(),E5=k0(),S5=_5.DataView;VA.exports=function(n){if(!x5||E5(n)!==0)return!1;try{return new S5(n),!1}catch(t){return!0}}});var V0=X(()=>{"use strict";var w5=ri(),M5=Hu(),b5=q0(),HA=ArrayBuffer.prototype;w5&&!("detached"in HA)&&M5(HA,"detached",{configurable:!0,get:function(){return b5(this)}})});var XA=X((Mit,WA)=>{"use strict";var A5=q0(),T5=TypeError;WA.exports=function(n){if(A5(n))throw new T5("ArrayBuffer is detached");return n}});var H0=X((bit,YA)=>{"use strict";var $c=Sn(),C5=Bu(),I5=vs(),jh=function(n){return C5.slice(0,n.length)===n};YA.exports=function(){return jh("Bun/")?"BUN":jh("Cloudflare-Workers")?"CLOUDFLARE":jh("Deno/")?"DENO":jh("Node.js/")?"NODE":$c.Bun&&typeof Bun.version=="string"?"BUN":$c.Deno&&typeof Deno.version=="object"?"DENO":I5($c.process)==="process"?"NODE":$c.window&&$c.document?"BROWSER":"REST"}()});var ZA=X((Ait,$A)=>{"use strict";var P5=H0();$A.exports=P5==="NODE"});var jA=X((Tit,JA)=>{"use strict";var R5=Sn(),L5=ZA();JA.exports=function(n){if(L5){try{return R5.process.getBuiltinModule(n)}catch(t){}try{return Function('return require("'+n+'")')()}catch(t){}}}});var Y0=X((Cit,QA)=>{"use strict";var N5=Sn(),O5=An(),W0=bc(),X0=H0(),KA=N5.structuredClone;QA.exports=!!KA&&!O5(function(){if(X0==="DENO"&&W0>92||X0==="NODE"&&W0>94||X0==="BROWSER"&&W0>97)return!1;var n=new ArrayBuffer(8),t=KA(n,{transfer:[n]});return n.byteLength!==0||t.byteLength!==8})});var rT=X((Iit,nT)=>{"use strict";var j0=Sn(),D5=jA(),F5=Y0(),U5=j0.structuredClone,tT=j0.ArrayBuffer,Kh=j0.MessageChannel,J0=!1,$0,eT,Qh,Z0;if(F5)J0=function(n){U5(n,{transfer:[n]})};else if(tT)try{Kh||($0=D5("worker_threads"),$0&&(Kh=$0.MessageChannel)),Kh&&(eT=new Kh,Qh=new tT(2),Z0=function(n){eT.port1.postMessage(null,[n])},Qh.byteLength===2&&(Z0(Qh),Qh.byteLength===0&&(J0=Z0)))}catch(n){}nT.exports=J0});var ry=X((Pit,cT)=>{"use strict";var ty=Sn(),ey=In(),aT=Oc(),B5=Fh(),z5=XA(),G5=k0(),iT=rT(),K0=Y0(),k5=ty.structuredClone,uT=ty.ArrayBuffer,Q0=ty.DataView,q5=Math.min,ny=uT.prototype,lT=Q0.prototype,V5=ey(ny.slice),oT=aT(ny,"resizable","get"),sT=aT(ny,"maxByteLength","get"),H5=ey(lT.getInt8),W5=ey(lT.setInt8);cT.exports=(K0||iT)&&function(n,t,e){var i=G5(n),s=t===void 0?i:B5(t),u=!oT||!oT(n),c;if(z5(n),K0&&(n=k5(n,{transfer:[n]}),i===s&&(e||u)))return n;if(i>=s&&(!e||u))c=V5(n,0,s);else{var f=e&&!u&&sT?{maxByteLength:sT(n)}:void 0;c=new uT(s,f);for(var p=new Q0(n),d=new Q0(c),g=q5(s,i),y=0;y<g;y++)W5(d,y,H5(p,y))}return K0||iT(n),c}});var iy=X(()=>{"use strict";var X5=sr(),fT=ry();fT&&X5({target:"ArrayBuffer",proto:!0},{transfer:function(){return fT(this,arguments.length?arguments[0]:void 0,!0)}})});var oy=X(()=>{"use strict";var Y5=sr(),hT=ry();hT&&Y5({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return hT(this,arguments.length?arguments[0]:void 0,!1)}})});var Ao=X((Dit,pT)=>{"use strict";var sy=In(),tp=Set.prototype;pT.exports={Set,add:sy(tp.add),has:sy(tp.has),remove:sy(tp.delete),proto:tp}});var ea=X((Fit,dT)=>{"use strict";var $5=Ao().has;dT.exports=function(n){return $5(n),n}});var na=X((Uit,gT)=>{"use strict";var Z5=vr();gT.exports=function(n,t,e){for(var i=e?n:n.iterator,s=n.next,u,c;!(u=Z5(s,i)).done;)if(c=t(u.value),c!==void 0)return c}});var ju=X((Bit,xT)=>{"use strict";var mT=In(),J5=na(),yT=Ao(),j5=yT.Set,vT=yT.proto,K5=mT(vT.forEach),_T=mT(vT.keys),Q5=_T(new j5).next;xT.exports=function(n,t,e){return e?J5({iterator:_T(n),next:Q5},t):K5(n,t)}});var ep=X((zit,ST)=>{"use strict";var ET=Ao(),tV=ju(),eV=ET.Set,nV=ET.add;ST.exports=function(n){var t=new eV;return tV(n,function(e){nV(t,e)}),t}});var Ku=X((Git,wT)=>{"use strict";var rV=Oc(),iV=Ao();wT.exports=rV(iV.proto,"size","get")||function(n){return n.size}});var bT=X((kit,MT)=>{"use strict";MT.exports=function(n){return{iterator:n,next:n.next,done:!1}}});var ra=X((qit,RT)=>{"use strict";var AT=_s(),IT=so(),TT=vr(),oV=Hi(),sV=bT(),CT="Invalid size",aV=RangeError,uV=TypeError,lV=Math.max,PT=function(n,t){this.set=n,this.size=lV(t,0),this.has=AT(n.has),this.keys=AT(n.keys)};PT.prototype={getIterator:function(){return sV(IT(TT(this.keys,this.set)))},includes:function(n){return TT(this.has,this.set,n)}};RT.exports=function(n){IT(n);var t=+n.size;if(t!==t)throw new uV(CT);var e=oV(t);if(e<0)throw new aV(CT);return new PT(n,e)}});var DT=X((Vit,OT)=>{"use strict";var cV=ea(),NT=Ao(),fV=ep(),hV=Ku(),pV=ra(),dV=ju(),gV=na(),mV=NT.has,LT=NT.remove;OT.exports=function(t){var e=cV(this),i=pV(t),s=fV(e);return hV(e)<=i.size?dV(e,function(u){i.includes(u)&&LT(s,u)}):gV(i.getIterator(),function(u){mV(e,u)&&LT(s,u)}),s}});var ia=X((Hit,BT)=>{"use strict";var yV=$s(),FT=function(n){return{size:n,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},UT=function(n){return{size:n,has:function(){return!0},keys:function(){throw new Error("e")}}};BT.exports=function(n,t){var e=yV("Set");try{new e()[n](FT(0));try{return new e()[n](FT(-1)),!1}catch(s){if(!t)return!0;try{return new e()[n](UT(-1/0)),!1}catch(u){var i=new e;return i.add(1),i.add(2),t(i[n](UT(1/0)))}}}catch(s){return!1}}});var zT=X(()=>{"use strict";var vV=sr(),_V=DT(),xV=ia(),EV=!xV("difference",function(n){return n.size===0});vV({target:"Set",proto:!0,real:!0,forced:EV},{difference:_V})});var qT=X((Yit,kT)=>{"use strict";var SV=ea(),ay=Ao(),wV=Ku(),MV=ra(),bV=ju(),AV=na(),TV=ay.Set,GT=ay.add,CV=ay.has;kT.exports=function(t){var e=SV(this),i=MV(t),s=new TV;return wV(e)>i.size?AV(i.getIterator(),function(u){CV(e,u)&&GT(s,u)}):bV(e,function(u){i.includes(u)&&GT(s,u)}),s}});var VT=X(()=>{"use strict";var IV=sr(),PV=An(),RV=qT(),LV=ia(),NV=!LV("intersection",function(n){return n.size===2&&n.has(1)&&n.has(2)})||PV(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});IV({target:"Set",proto:!0,real:!0,forced:NV},{intersection:RV})});var uy=X((Jit,WT)=>{"use strict";var OV=vr(),HT=so(),DV=Tc();WT.exports=function(n,t,e){var i,s;HT(n);try{if(i=DV(n,"return"),!i){if(t==="throw")throw e;return e}i=OV(i,n)}catch(u){s=!0,i=u}if(t==="throw")throw e;if(s)throw i;return HT(i),e}});var YT=X((jit,XT)=>{"use strict";var FV=ea(),UV=Ao().has,BV=Ku(),zV=ra(),GV=ju(),kV=na(),qV=uy();XT.exports=function(t){var e=FV(this),i=zV(t);if(BV(e)<=i.size)return GV(e,function(u){if(i.includes(u))return!1},!0)!==!1;var s=i.getIterator();return kV(s,function(u){if(UV(e,u))return qV(s,"normal",!1)})!==!1}});var $T=X(()=>{"use strict";var VV=sr(),HV=YT(),WV=ia(),XV=!WV("isDisjointFrom",function(n){return!n});VV({target:"Set",proto:!0,real:!0,forced:XV},{isDisjointFrom:HV})});var JT=X((tot,ZT)=>{"use strict";var YV=ea(),$V=Ku(),ZV=ju(),JV=ra();ZT.exports=function(t){var e=YV(this),i=JV(t);return $V(e)>i.size?!1:ZV(e,function(s){if(!i.includes(s))return!1},!0)!==!1}});var jT=X(()=>{"use strict";var jV=sr(),KV=JT(),QV=ia(),tH=!QV("isSubsetOf",function(n){return n});jV({target:"Set",proto:!0,real:!0,forced:tH},{isSubsetOf:KV})});var QT=X((rot,KT)=>{"use strict";var eH=ea(),nH=Ao().has,rH=Ku(),iH=ra(),oH=na(),sH=uy();KT.exports=function(t){var e=eH(this),i=iH(t);if(rH(e)<i.size)return!1;var s=i.getIterator();return oH(s,function(u){if(!nH(e,u))return sH(s,"normal",!1)})!==!1}});var tC=X(()=>{"use strict";var aH=sr(),uH=QT(),lH=ia(),cH=!lH("isSupersetOf",function(n){return!n});aH({target:"Set",proto:!0,real:!0,forced:cH},{isSupersetOf:uH})});var nC=X((sot,eC)=>{"use strict";var fH=ea(),ly=Ao(),hH=ep(),pH=ra(),dH=na(),gH=ly.add,mH=ly.has,yH=ly.remove;eC.exports=function(t){var e=fH(this),i=pH(t).getIterator(),s=hH(e);return dH(i,function(u){mH(e,u)?yH(s,u):gH(s,u)}),s}});var rC=X(()=>{"use strict";var vH=sr(),_H=nC(),xH=ia();vH({target:"Set",proto:!0,real:!0,forced:!xH("symmetricDifference")},{symmetricDifference:_H})});var oC=X((lot,iC)=>{"use strict";var EH=ea(),SH=Ao().add,wH=ep(),MH=ra(),bH=na();iC.exports=function(t){var e=EH(this),i=MH(t).getIterator(),s=wH(e);return bH(i,function(u){SH(s,u)}),s}});var sC=X(()=>{"use strict";var AH=sr(),TH=oC(),CH=ia();AH({target:"Set",proto:!0,real:!0,forced:!CH("union")},{union:TH})});var cy=X((hot,uC)=>{"use strict";var aC=zu(),IH=TypeError;uC.exports=function(n,t){if(!delete n[t])throw new IH("Cannot delete property "+aC(t)+" of "+aC(n))}});var lC=X(()=>{"use strict";var PH=sr(),RH=Vi(),LH=ii(),NH=mm(),OH=cy(),DH=Eh(),FH=[].unshift(0)!==1,UH=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(n){return n instanceof TypeError}},BH=FH||!UH();PH({target:"Array",proto:!0,arity:1,forced:BH},{unshift:function(t){var e=RH(this),i=LH(e),s=arguments.length;if(s){DH(i+s);for(var u=i;u--;){var c=u+s;u in e?e[c]=e[u]:OH(e,c)}for(var f=0;f<s;f++)e[f]=arguments[f]}return NH(e,i+s)}})});var Ll=X((Cot,pP)=>{"use strict";var xY=Zs(),EY=String;pP.exports=function(n){if(xY(n)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return EY(n)}});var gP=X((Iot,dP)=>{"use strict";var SY=so();dP.exports=function(){var n=SY(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 yP=X((Pot,mP)=>{"use strict";var Kv=An(),wY=Sn(),Qv=wY.RegExp,t_=Kv(function(){var n=Qv("a","y");return n.lastIndex=2,n.exec("abcd")!==null}),MY=t_||Kv(function(){return!Qv("a","y").sticky}),bY=t_||Kv(function(){var n=Qv("^r","gy");return n.lastIndex=2,n.exec("str")!==null});mP.exports={BROKEN_CARET:bY,MISSED_STICKY:MY,UNSUPPORTED_Y:t_}});var _P=X((Rot,vP)=>{"use strict";var AY=An(),TY=Sn(),CY=TY.RegExp;vP.exports=AY(function(){var n=CY(".","s");return!(n.dotAll&&n.test(\`
8009
8009
  \`)&&n.flags==="s")})});var EP=X((Lot,xP)=>{"use strict";var IY=An(),PY=Sn(),RY=PY.RegExp;xP.exports=IY(function(){var n=RY("(?<a>b)","g");return n.exec("b").groups.a!=="b"||"b".replace(n,"$<a>c")!=="bc"})});var dd=X((Not,wP)=>{"use strict";var Nl=vr(),pd=In(),LY=Ll(),NY=gP(),OY=yP(),DY=oh(),FY=ku(),UY=Va().get,BY=_P(),zY=EP(),GY=DY("native-string-replace",String.prototype.replace),hd=RegExp.prototype.exec,n_=hd,kY=pd("".charAt),qY=pd("".indexOf),VY=pd("".replace),e_=pd("".slice),r_=function(){var n=/a/,t=/b*/g;return Nl(hd,n,"a"),Nl(hd,t,"a"),n.lastIndex!==0||t.lastIndex!==0}(),SP=OY.BROKEN_CARET,i_=/()??/.exec("")[1]!==void 0,HY=r_||i_||SP||BY||zY;HY&&(n_=function(t){var e=this,i=UY(e),s=LY(t),u=i.raw,c,f,p,d,g,y,v;if(u)return u.lastIndex=e.lastIndex,c=Nl(n_,u,s),e.lastIndex=u.lastIndex,c;var E=i.groups,M=SP&&e.sticky,A=Nl(NY,e),_=e.source,x=0,T=s;if(M&&(A=VY(A,"y",""),qY(A,"g")===-1&&(A+="g"),T=e_(s,e.lastIndex),e.lastIndex>0&&(!e.multiline||e.multiline&&kY(s,e.lastIndex-1)!==\`
8010
8010
  \`)&&(_="(?: "+_+")",T=" "+T,x++),f=new RegExp("^(?:"+_+")",A)),i_&&(f=new RegExp("^"+_+"$(?!\\\\s)",A)),r_&&(p=e.lastIndex),d=Nl(hd,M?f:e,T),M?d?(d.input=e_(d.input,x),d[0]=e_(d[0],x),d.index=e.lastIndex,e.lastIndex+=d[0].length):e.lastIndex=0:r_&&d&&(e.lastIndex=e.global?d.index+d[0].length:p),i_&&d&&d.length>1&&Nl(GY,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=FY(null),g=0;g<E.length;g++)v=E[g],y[v[0]]=d[v[1]];return d});wP.exports=n_});var o_=X(()=>{"use strict";var WY=sr(),MP=dd();WY({target:"RegExp",proto:!0,forced:/./.exec!==MP},{exec:MP})});var gd=X((qot,TP)=>{"use strict";var AP=Object.getOwnPropertySymbols,ZY=Object.prototype.hasOwnProperty,JY=Object.prototype.propertyIsEnumerable;function jY(n){if(n==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function KY(){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}}TP.exports=KY()?Object.assign:function(n,t){for(var e,i=jY(n),s,u=1;u<arguments.length;u++){e=Object(arguments[u]);for(var c in e)ZY.call(e,c)&&(i[c]=e[c]);if(AP){s=AP(e);for(var f=0;f<s.length;f++)JY.call(e,s[f])&&(i[s[f]]=e[s[f]])}}return i}});var f_=X((l_,c_)=>{(function(n,t){typeof l_=="object"&&typeof c_!="undefined"?c_.exports=t():typeof define=="function"&&define.amd?define(t):(n=n||self).RBush=t()})(l_,function(){"use strict";function n(_,x,T,w,R){(function B(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));B(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 B=x;B<T;B++){var U=_.children[B];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 B=[x,T];B.length;)if(!((T=B.pop())-(x=B.pop())<=w)){var U=x+Math.ceil((T-x)/w/2)*w;n(_,U,x,T,R),B.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 B=0;B<x.children.length;B++){var U=x.children[B],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],B=x.leaf?this.toBBox(R):R;if(E(_,B)){if(x.leaf||v(_,B))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,B=this.data,U=this.toBBox(_),D=[],P=[];B||D.length;){if(B||(B=D.pop(),w=D[D.length-1],T=P.pop(),R=!0),B.leaf){var ct=s(_,B.children,x);if(ct!==-1)return B.children.splice(ct,1),D.push(B),this._condense(D),this}R||B.leaf||!v(B,U)?w?(T++,B=w.children[T],R=!1):B=null:(D.push(B),P.push(T),T=0,w=B,B=B.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,B=T-x+1,U=this._maxEntries;if(B<=U)return u(R=M(_.slice(x,T+1)),this.toBBox),R;w||(w=Math.ceil(Math.log(B)/Math.log(U)),U=Math.ceil(B/Math.pow(U,w-1))),(R=M([])).leaf=!1,R.height=w;var D=Math.ceil(B/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,B=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<B?(B=L,R=ct<R?ct:R,U=P):L===B&&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=[],B=this._chooseSubtree(w,this.data,x,R);for(B.children.push(_),f(B,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 B=this._chooseSplitIndex(T,R,w),U=M(T.children.splice(B,T.children.length-B));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,B,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,B=$,U=void 0,D=void 0,P=void 0,ct=void 0,U=Math.max(R.minX,B.minX),D=Math.max(R.minY,B.minY),P=Math.min(R.maxX,B.maxX),ct=Math.min(R.maxY,B.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,B=c(_,0,x,R),U=c(_,T-x,T,R),D=y(B)+y(U),P=x;P<T-x;P++){var ct=_.children[P];f(B,_.leaf?R(ct):ct),D+=y(B)}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 CP=X((h_,p_)=>{(function(n,t){typeof h_=="object"&&typeof p_!="undefined"?p_.exports=t():typeof define=="function"&&define.amd?define(t):(n=n||self,n.TinyQueue=t())})(h_,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 PP=X(($ot,IP)=>{IP.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 LP=X((Zot,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,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 DP=X((Jot,vd)=>{var NP=PP(),OP=LP();vd.exports=function(t,e,i,s){return e.length>0&&Array.isArray(e[0])?OP(t,e,i,s):NP(t,e,i,s)};vd.exports.nested=OP;vd.exports.flat=NP});var UP=X((_d,FP)=>{(function(n,t){typeof _d=="object"&&typeof FP!="undefined"?t(_d):typeof define=="function"&&define.amd?define(["exports"],t):t((n=n||self).predicates={})})(_d,function(n){"use strict";let e=33306690738754706e-32;function i(E,M,A,_,x){let T,w,R,B,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)-(B=w-T))+(U-B),U=M[++P]):(R=T-((w=T+D)-(B=w-T))+(D-B),D=_[++ct]),T=w,R!==0&&(x[L++]=R);for(;P<E;)R=T-((w=T+U)-(B=w-T))+(U-B),U=M[++P],T=w,R!==0&&(x[L++]=R);for(;ct<A;)R=T-((w=T+D)-(B=w-T))+(D-B),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),B=w-R;if(w===0||R===0||w>0!=R>0)return B;let U=Math.abs(w+R);return Math.abs(B)>=u*U?B:-function(D,P,ct,L,W,V,Mt){let $,gt,ft,vt,it,lt,H,At,It,jt,nt,bt,Vt,$t,Ut,Gt,Ct,ee,Z=D-W,Ot=ct-W,_t=P-V,Nt=L-V;it=(Ut=(At=Z-(H=(lt=134217729*Z)-(lt-Z)))*(jt=Nt-(It=(lt=134217729*Nt)-(lt-Nt)))-(($t=Z*Nt)-H*It-At*It-H*jt))-(nt=Ut-(Ct=(At=_t-(H=(lt=134217729*_t)-(lt-_t)))*(jt=Ot-(It=(lt=134217729*Ot)-(lt-Ot)))-((Gt=_t*Ot)-H*It-At*It-H*jt))),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-(Ot+(it=ct-Ot))+(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+Ot*gt))>=Ht||-wt>=Ht))return wt;it=(Ut=(At=$-(H=(lt=134217729*$)-(lt-$)))*(jt=Nt-(It=(lt=134217729*Nt)-(lt-Nt)))-(($t=$*Nt)-H*It-At*It-H*jt))-(nt=Ut-(Ct=(At=gt-(H=(lt=134217729*gt)-(lt-gt)))*(jt=Ot-(It=(lt=134217729*Ot)-(lt-Ot)))-((Gt=gt*Ot)-H*It-At*It-H*jt))),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)))*(jt=vt-(It=(lt=134217729*vt)-(lt-vt)))-(($t=Z*vt)-H*It-At*It-H*jt))-(nt=Ut-(Ct=(At=_t-(H=(lt=134217729*_t)-(lt-_t)))*(jt=ft-(It=(lt=134217729*ft)-(lt-ft)))-((Gt=_t*ft)-H*It-At*It-H*jt))),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-$)))*(jt=vt-(It=(lt=134217729*vt)-(lt-vt)))-(($t=$*vt)-H*It-At*It-H*jt))-(nt=Ut-(Ct=(At=gt-(H=(lt=134217729*gt)-(lt-gt)))*(jt=ft-(It=(lt=134217729*ft)-(lt-ft)))-((Gt=gt*ft)-H*It-At*It-H*jt))),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 VP=X((jot,y_)=>{"use strict";var BP=f_(),Ed=CP(),t$=DP(),e$=UP().orient2d;Ed.default&&(Ed=Ed.default);y_.exports=qP;y_.exports.default=qP;function qP(n,t,e){t=Math.max(0,t===void 0?2:t),e=e||0;var i=s$(n),s=new BP(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=kP(p,f),u.push(f)}var d=new BP(16);for(c=0;c<u.length;c++)d.insert(d_(u[c]));for(var g=t*t,y=e*e;u.length;){var v=u.shift(),E=v.p,M=v.next.p,A=g_(E,M);if(!(A<y)){var _=A/g;p=n$(s,v.prev.p,E,M,v.next.next.p,_,d),p&&Math.min(g_(p,E),g_(p,M))<=_&&(u.push(v),u.push(kP(p,v)),s.remove(p),d.remove(v),d.insert(d_(v)),d.insert(d_(v.next)))}}v=f;var x=[];do x.push(v.p),v=v.next;while(v!==f);return x.push(v.p),x}function n$(n,t,e,i,s,u,c){for(var f=new Ed([],r$),p=n.data;p;){for(var d=0;d<p.children.length;d++){var g=p.children[d],y=p.leaf?m_(g,e,i):i$(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=m_(E,t,e),A=m_(E,i,s);if(v.dist<M&&v.dist<A&&GP(e,E,c)&&GP(i,E,c))return E}p=f.pop(),p&&(p=p.node)}return null}function r$(n,t){return n.dist-t.dist}function i$(n,t,e){if(zP(n,e)||zP(t,e))return 0;var i=xd(n[0],n[1],t[0],t[1],e.minX,e.minY,e.maxX,e.minY);if(i===0)return 0;var s=xd(n[0],n[1],t[0],t[1],e.minX,e.minY,e.minX,e.maxY);if(s===0)return 0;var u=xd(n[0],n[1],t[0],t[1],e.maxX,e.minY,e.maxX,e.maxY);if(u===0)return 0;var c=xd(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 zP(n,t){return n[0]>=t.minX&&n[0]<=t.maxX&&n[1]>=t.minY&&n[1]<=t.maxY}function GP(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(o$(f[p].p,f[p].next.p,n,t))return!1;return!0}function Ol(n,t,e){return e$(n[0],n[1],t[0],t[1],e[0],e[1])}function o$(n,t,e,i){return n!==i&&t!==e&&Ol(n,t,e)>0!=Ol(n,t,i)>0&&Ol(e,i,n)>0!=Ol(e,i,t)>0}function d_(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 s$(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++)t$(n[u],f)||p.push(n[u]);return u$(p)}function kP(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 g_(n,t){var e=n[0]-t[0],i=n[1]-t[1];return e*e+i*i}function m_(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 xd(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,B,U,D,P=w,ct=w;w===0?(B=0,P=1,D=T,ct=_):(B=A*T-_*x,D=M*T-A*x,B<0?(B=0,D=T,ct=_):B>P&&(B=P,D=T+A,ct=_)),D<0?(D=0,-x<0?B=0:-x>M?B=P:(B=-x,P=M)):D>ct&&(D=ct,-x+A<0?B=0:-x+A>M?B=P:(B=-x+A,P=M)),R=B===0?0:B/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 a$(n,t){return n[0]===t[0]?n[1]-t[1]:n[0]-t[0]}function u$(n){n.sort(a$);for(var t=[],e=0;e<n.length;e++){for(;t.length>=2&&Ol(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&&Ol(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 ZP=X((__,x_)=>{(function(n,t){typeof __=="object"&&typeof x_!="undefined"?x_.exports=t():typeof define=="function"&&define.amd?define(t):n.quickselect=t()})(__,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 M_=X((wut,w_)=>{"use strict";w_.exports=vf;w_.exports.default=vf;var E$=ZP();function vf(n,t){if(!(this instanceof vf))return new vf(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()}vf.prototype={all:function(){return this._all(this.data,[])},search:function(n){var t=this.data,e=[],i=this.toBBox;if(!wd(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,wd(n,p)&&(t.leaf?e.push(f):S_(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(!wd(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,wd(n,f)){if(t.leaf||S_(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=Ul([]),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=S$(n,e.children,t),p!==-1))return e.children.splice(p,1),s.push(e),this._condense(s),this;!d&&!e.leaf&&S_(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:JP,compareMinY:jP,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=Ul(n.slice(t,e+1)),Fl(c,this.toBBox),c;i||(i=Math.ceil(Math.log(s)/Math.log(u)),u=Math.ceil(s/Math.pow(u,i-1))),c=Ul([]),c.leaf=!1,c.height=i;var f=Math.ceil(s/u),p=f*Math.ceil(Math.sqrt(u)),d,g,y,v;for(KP(n,t,e,p,this.compareMinX),d=t;d<=e;d+=p)for(y=Math.min(d+p-1,e),KP(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 Fl(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=E_(c),d=w$(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),yf(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=Ul(e.children.splice(u,e.children.length-u));c.height=e.height,c.leaf=e.leaf,Fl(e,this.toBBox),Fl(c,this.toBBox),t?n[t-1].children.push(c):this._splitRoot(e,c)},_splitRoot:function(n,t){this.data=Ul([n,t]),this.data.height=n.height+1,this.data.leaf=!1,Fl(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=mf(n,0,i,this.toBBox),u=mf(n,i,e,this.toBBox),c=M$(s,u),f=E_(s)+E_(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:JP,s=n.leaf?this.compareMinY:jP,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=mf(n,0,t,s),c=mf(n,e-t,e,s),f=Sd(u)+Sd(c),p,d;for(p=t;p<e-t;p++)d=n.children[p],yf(u,n.leaf?s(d):d),f+=Sd(u);for(p=e-t-1;p>=t;p--)d=n.children[p],yf(c,n.leaf?s(d):d),f+=Sd(c);return f},_adjustParentBBoxes:function(n,t,e){for(var i=e;i>=0;i--)yf(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():Fl(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 S$(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 Fl(n,t){mf(n,0,n.children.length,t,n)}function mf(n,t,e,i,s){s||(s=Ul(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],yf(s,n.leaf?i(c):c);return s}function yf(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 JP(n,t){return n.minX-t.minX}function jP(n,t){return n.minY-t.minY}function E_(n){return(n.maxX-n.minX)*(n.maxY-n.minY)}function Sd(n){return n.maxX-n.minX+(n.maxY-n.minY)}function w$(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 M$(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 S_(n,t){return n.minX<=t.minX&&n.minY<=t.minY&&t.maxX<=n.maxX&&t.maxY<=n.maxY}function wd(n,t){return t.minX<=n.maxX&&t.minY<=n.maxY&&t.maxX>=n.minX&&t.maxY>=n.minY}function Ul(n){return{children:n,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function KP(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,E$(n,c,t,e,s),u.push(t,c,c,e))}});var iR=X((Flt,P_)=>{"use strict";P_.exports=Td;P_.exports.default=Td;function Td(n,t,e){e=e||2;var i=t&&t.length,s=i?t[0]*e:n.length,u=eR(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=O$(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 Ef(u,c,e,f,p,E,0),c}function eR(n,t,e,i,s){var u,c;if(s===I_(n,t,e,i)>0)for(u=t;u<e;u+=i)c=tR(u,n[u],n[u+1],c);else for(u=e-i;u>=t;u-=i)c=tR(u,n[u],n[u+1],c);return c&&Cd(c,c.next)&&(wf(c),c=c.next),c}function du(n,t){if(!n)return n;t||(t=n);var e=n,i;do if(i=!1,!e.steiner&&(Cd(e,e.next)||tr(e.prev,e,e.next)===0)){if(wf(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function Ef(n,t,e,i,s,u,c){if(n){!c&&u&&z$(n,i,s,u);for(var f=n,p,d;n.prev!==n.next;){if(p=n.prev,d=n.next,u?R$(n,i,s,u):P$(n)){t.push(p.i/e|0),t.push(n.i/e|0),t.push(d.i/e|0),wf(n),n=d.next,f=d.next;continue}if(n=d,n===f){c?c===1?(n=L$(du(n),t,e),Ef(n,t,e,i,s,u,2)):c===2&&N$(n,t,e,i,s,u):Ef(du(n),t,e,i,s,u,1);break}}}}function P$(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&&Gl(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 R$(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=T_(E,M,t,e,i),T=T_(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&&Gl(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&&Gl(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&&Gl(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&&Gl(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 L$(n,t,e){var i=n;do{var s=i.prev,u=i.next.next;!Cd(s,u)&&nR(s,i,i.next,u)&&Sf(s,u)&&Sf(u,s)&&(t.push(s.i/e|0),t.push(i.i/e|0),t.push(u.i/e|0),wf(i),wf(i.next),i=n=u),i=i.next}while(i!==n);return du(i)}function N$(n,t,e,i,s,u){var c=n;do{for(var f=c.next.next;f!==c.prev;){if(c.i!==f.i&&q$(c,f)){var p=rR(c,f);c=du(c,c.next),p=du(p,p.next),Ef(c,t,e,i,s,u,0),Ef(p,t,e,i,s,u,0);return}f=f.next}c=c.next}while(c!==n)}function O$(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=eR(n,f,p,i,!1),d===d.next&&(d.steiner=!0),s.push(k$(d));for(s.sort(D$),u=0;u<s.length;u++)e=F$(s[u],e);return e}function D$(n,t){return n.x-t.x}function F$(n,t){var e=U$(n,t);if(!e)return t;var i=rR(e,n);return du(i,i.next),du(e,e.next)}function U$(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&&Gl(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),Sf(e,n)&&(v<y||v===y&&(e.x>c.x||e.x===c.x&&B$(c,e)))&&(c=e,y=v)),e=e.next;while(e!==p);return c}function B$(n,t){return tr(n.prev,n,t.prev)<0&&tr(t.next,n,n.next)<0}function z$(n,t,e,i){var s=n;do s.z===0&&(s.z=T_(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,G$(s)}function G$(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 T_(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 k$(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 Gl(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 q$(n,t){return n.next.i!==t.i&&n.prev.i!==t.i&&!V$(n,t)&&(Sf(n,t)&&Sf(t,n)&&H$(n,t)&&(tr(n.prev,n,t.prev)||tr(n,t.prev,t))||Cd(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 Cd(n,t){return n.x===t.x&&n.y===t.y}function nR(n,t,e,i){var s=Ad(tr(n,t,e)),u=Ad(tr(n,t,i)),c=Ad(tr(e,i,n)),f=Ad(tr(e,i,t));return!!(s!==u&&c!==f||s===0&&bd(n,e,t)||u===0&&bd(n,i,t)||c===0&&bd(e,n,i)||f===0&&bd(e,t,i))}function bd(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 Ad(n){return n>0?1:n<0?-1:0}function V$(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&&nR(e,e.next,n,t))return!0;e=e.next}while(e!==n);return!1}function Sf(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 H$(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 rR(n,t){var e=new C_(n.i,n.x,n.y),i=new C_(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 tR(n,t,e,i){var s=new C_(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 wf(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 C_(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}Td.deviation=function(n,t,e,i){var s=t&&t.length,u=s?t[0]*e:n.length,c=Math.abs(I_(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(I_(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 I_(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}Td.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 D_=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 X$(n,t,e){switch(e===void 0&&(e={}),n){case"Point":return R_(t).geometry;case"LineString":return N_(t).geometry;case"Polygon":return L_(t).geometry;case"MultiPoint":return sR(t).geometry;case"MultiLineString":return oR(t).geometry;case"MultiPolygon":return aR(t).geometry;default:throw new Error(n+" is invalid")}}ge.geometry=X$;function R_(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(!Id(n[0])||!Id(n[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:n};return Sa(i,t,e)}ge.point=R_;function Y$(n,t,e){return e===void 0&&(e={}),Pd(n.map(function(i){return R_(i,t)}),e)}ge.points=Y$;function L_(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=L_;function $$(n,t,e){return e===void 0&&(e={}),Pd(n.map(function(i){return L_(i,t)}),e)}ge.polygons=$$;function N_(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=N_;function Z$(n,t,e){return e===void 0&&(e={}),Pd(n.map(function(i){return N_(i,t)}),e)}ge.lineStrings=Z$;function Pd(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=Pd;function oR(n,t,e){e===void 0&&(e={});var i={type:"MultiLineString",coordinates:n};return Sa(i,t,e)}ge.multiLineString=oR;function sR(n,t,e){e===void 0&&(e={});var i={type:"MultiPoint",coordinates:n};return Sa(i,t,e)}ge.multiPoint=sR;function aR(n,t,e){e===void 0&&(e={});var i={type:"MultiPolygon",coordinates:n};return Sa(i,t,e)}ge.multiPolygon=aR;function J$(n,t,e){e===void 0&&(e={});var i={type:"GeometryCollection",geometries:n};return Sa(i,t,e)}ge.geometryCollection=J$;function j$(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=j$;function uR(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=uR;function O_(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=O_;function K$(n,t){return lR(O_(n,t))}ge.lengthToDegrees=K$;function Q$(n){var t=n%360;return t<0&&(t+=360),t}ge.bearingToAzimuth=Q$;function lR(n){var t=n%(2*Math.PI);return t*180/Math.PI}ge.radiansToDegrees=lR;function tZ(n){var t=n%360;return t*Math.PI/180}ge.degreesToRadians=tZ;function eZ(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 uR(O_(n,t),e)}ge.convertLength=eZ;function nZ(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=nZ;function Id(n){return!isNaN(n)&&n!==null&&!Array.isArray(n)}ge.isNumber=Id;function rZ(n){return!!n&&n.constructor===Object}ge.isObject=rZ;function iZ(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(!Id(t))throw new Error("bbox must only contain numbers")})}ge.validateBBox=iZ;function oZ(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=oZ});var U_=X(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});var ci=D_();function Mf(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 B=c.type;switch(g=e&&(B==="Polygon"||B==="MultiPolygon")?1:0,B){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++,B==="MultiPoint"&&w++}B==="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++}B==="MultiLineString"&&w++,B==="Polygon"&&R++}B==="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(Mf(c.geometries[i],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function sZ(n,t,e,i){var s=e;return Mf(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 cR(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 aZ(n,t,e){var i=e;return cR(n,function(s,u){u===0&&e===void 0?i=s:i=t(i,s,u)}),i}function fR(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 uZ(n,t,e){var i=e;return fR(n,function(s,u){u===0&&e===void 0?i=s:i=t(i,s,u)}),i}function lZ(n){var t=[];return Mf(n,function(e){t.push(e)}),t}function F_(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 cZ(n,t,e){var i=e;return F_(n,function(s,u,c,f,p){u===0&&e===void 0?i=s:i=t(i,s,u,c,f,p)}),i}function Rd(n,t){F_(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(ci.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(ci.feature(y,s),i,d)===!1)return!1}})}function fZ(n,t,e){var i=e;return Rd(n,function(s,u,c){u===0&&c===0&&e===void 0?i=s:i=t(i,s,u,c)}),i}function hR(n,t){Rd(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(Mf(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 _=ci.lineString([f,y],e.properties);if(t(_,i,s,A,u)===!1)return!1;u++,f=y})===!1)return!1}}})}function hZ(n,t,e){var i=e,s=!1;return hR(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 pR(n,t){if(!n)throw new Error("geojson is required");Rd(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(ci.lineString(c[f],e.properties),i,s,f)===!1)return!1;break}}})}function pZ(n,t,e){var i=e;return pR(n,function(s,u,c,f){u===0&&e===void 0?i=s:i=t(i,s,u,c,f)}),i}function dZ(n,t){if(t=t||{},!ci.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),ci.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),ci.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),ci.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),ci.lineString([p[i][s][u],p[i][s][u+1]],c,t)}throw new Error("geojson is invalid")}function gZ(n,t){if(t=t||{},!ci.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 ci.point(p,c,t);case"MultiPoint":return i<0&&(i=p.length+i),ci.point(p[i],c,t);case"LineString":return u<0&&(u=p.length+u),ci.point(p[u],c,t);case"Polygon":return s<0&&(s=p.length+s),u<0&&(u=p[s].length+u),ci.point(p[s][u],c,t);case"MultiLineString":return i<0&&(i=p.length+i),u<0&&(u=p[i].length+u),ci.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),ci.point(p[i][s][u],c,t)}throw new Error("geojson is invalid")}Mr.coordAll=lZ;Mr.coordEach=Mf;Mr.coordReduce=sZ;Mr.featureEach=fR;Mr.featureReduce=uZ;Mr.findPoint=gZ;Mr.findSegment=dZ;Mr.flattenEach=Rd;Mr.flattenReduce=fZ;Mr.geomEach=F_;Mr.geomReduce=cZ;Mr.lineEach=pR;Mr.lineReduce=pZ;Mr.propEach=cR;Mr.propReduce=aZ;Mr.segmentEach=hR;Mr.segmentReduce=hZ});var dR=X(z_=>{"use strict";Object.defineProperty(z_,"__esModule",{value:!0});var mZ=U_();function B_(n){var t=[1/0,1/0,-1/0,-1/0];return mZ.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}B_.default=B_;z_.default=B_});var Ld=X((Klt,G_)=>{var ns=f_(),mR=D_(),yR=U_(),kl=dR().default,yZ=yR.featureEach,Jlt=yR.coordEach,jlt=mR.polygon,gR=mR.featureCollection;function vR(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:kl(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:kl(s),i.push(s)}):yZ(e,function(s){if(s.type!=="Feature")throw new Error("invalid features");s.bbox=s.bbox?s.bbox:kl(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:kl(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 gR(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 gR(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=kl(e);else if(e.type==="FeatureCollection")i=kl(e);else throw new Error("invalid geojson");return{minX:i[0],minY:i[1],maxX:i[2],maxY:i[3]}},t}G_.exports=vR;G_.exports.default=vR});var X_=X((aht,CR)=>{"use strict";var TR=Object.prototype.toString;CR.exports=function(t){var e=TR.call(t),i=e==="[object Arguments]";return i||(i=e!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&TR.call(t.callee)==="[object Function]"),i}});var UR=X((uht,FR)=>{"use strict";var DR;Object.keys||(Tf=Object.prototype.hasOwnProperty,Y_=Object.prototype.toString,IR=X_(),$_=Object.prototype.propertyIsEnumerable,PR=!$_.call({toString:null},"toString"),RR=$_.call(function(){},"prototype"),Cf=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Ud=function(n){var t=n.constructor;return t&&t.prototype===n},LR={$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},NR=function(){if(typeof window=="undefined")return!1;for(var n in window)try{if(!LR["$"+n]&&Tf.call(window,n)&&window[n]!==null&&typeof window[n]=="object")try{Ud(window[n])}catch(t){return!0}}catch(t){return!0}return!1}(),OR=function(n){if(typeof window=="undefined"||!NR)return Ud(n);try{return Ud(n)}catch(t){return!1}},DR=function(t){var e=t!==null&&typeof t=="object",i=Y_.call(t)==="[object Function]",s=IR(t),u=e&&Y_.call(t)==="[object String]",c=[];if(!e&&!i&&!s)throw new TypeError("Object.keys called on a non-object");var f=RR&&i;if(u&&t.length>0&&!Tf.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")&&Tf.call(t,g)&&c.push(String(g));if(PR)for(var y=OR(t),v=0;v<Cf.length;++v)!(y&&Cf[v]==="constructor")&&Tf.call(t,Cf[v])&&c.push(Cf[v]);return c});var Tf,Y_,IR,$_,PR,RR,Cf,Ud,LR,NR,OR;FR.exports=DR});var Z_=X((lht,GR)=>{"use strict";var TZ=Array.prototype.slice,CZ=X_(),BR=Object.keys,Bd=BR?function(t){return BR(t)}:UR(),zR=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 CZ(i)?zR(TZ.call(i)):zR(i)})}else Object.keys=Bd;return Object.keys||Bd};GR.exports=Bd});var J_=X((cht,kR)=>{"use strict";kR.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((fht,qR)=>{"use strict";var IZ=J_();qR.exports=function(){return IZ()&&!!Symbol.toStringTag}});var j_=X((hht,VR)=>{"use strict";VR.exports=Object});var K_=X((pht,HR)=>{"use strict";HR.exports=Error});var XR=X((dht,WR)=>{"use strict";WR.exports=EvalError});var $R=X((ght,YR)=>{"use strict";YR.exports=RangeError});var JR=X((mht,ZR)=>{"use strict";ZR.exports=ReferenceError});var Q_=X((yht,jR)=>{"use strict";jR.exports=SyntaxError});var gu=X((vht,KR)=>{"use strict";KR.exports=TypeError});var tL=X((_ht,QR)=>{"use strict";QR.exports=URIError});var nL=X((xht,eL)=>{"use strict";eL.exports=Math.abs});var iL=X((Eht,rL)=>{"use strict";rL.exports=Math.floor});var sL=X((Sht,oL)=>{"use strict";oL.exports=Math.max});var uL=X((wht,aL)=>{"use strict";aL.exports=Math.min});var cL=X((Mht,lL)=>{"use strict";lL.exports=Math.pow});var hL=X((bht,fL)=>{"use strict";fL.exports=Math.round});var dL=X((Aht,pL)=>{"use strict";pL.exports=Number.isNaN||function(t){return t!==t}});var mL=X((Tht,gL)=>{"use strict";var PZ=dL();gL.exports=function(t){return PZ(t)||t===0?t:t<0?-1:1}});var vL=X((Cht,yL)=>{"use strict";yL.exports=Object.getOwnPropertyDescriptor});var mu=X((Iht,_L)=>{"use strict";var Gd=vL();if(Gd)try{Gd([],"length")}catch(n){Gd=null}_L.exports=Gd});var If=X((Pht,xL)=>{"use strict";var kd=Object.defineProperty||!1;if(kd)try{kd({},"a",{value:1})}catch(n){kd=!1}xL.exports=kd});var wL=X((Rht,SL)=>{"use strict";var EL=typeof Symbol!="undefined"&&Symbol,RZ=J_();SL.exports=function(){return typeof EL!="function"||typeof Symbol!="function"||typeof EL("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:RZ()}});var tx=X((Lht,ML)=>{"use strict";ML.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var ex=X((Nht,bL)=>{"use strict";var LZ=j_();bL.exports=LZ.getPrototypeOf||null});var CL=X((Oht,TL)=>{"use strict";var NZ="Function.prototype.bind called on incompatible ",OZ=Object.prototype.toString,DZ=Math.max,FZ="[object Function]",AL=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},UZ=function(t,e){for(var i=[],s=e||0,u=0;s<t.length;s+=1,u+=1)i[u]=t[s];return i},BZ=function(n,t){for(var e="",i=0;i<n.length;i+=1)e+=n[i],i+1<n.length&&(e+=t);return e};TL.exports=function(t){var e=this;if(typeof e!="function"||OZ.apply(e)!==FZ)throw new TypeError(NZ+e);for(var i=UZ(arguments,1),s,u=function(){if(this instanceof s){var g=e.apply(this,AL(i,arguments));return Object(g)===g?g:this}return e.apply(t,AL(i,arguments))},c=DZ(0,e.length-i.length),f=[],p=0;p<c;p++)f[p]="$"+p;if(s=Function("binder","return function ("+BZ(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 ql=X((Dht,IL)=>{"use strict";var zZ=CL();IL.exports=Function.prototype.bind||zZ});var qd=X((Fht,PL)=>{"use strict";PL.exports=Function.prototype.call});var Vd=X((Uht,RL)=>{"use strict";RL.exports=Function.prototype.apply});var NL=X((Bht,LL)=>{"use strict";LL.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var nx=X((zht,OL)=>{"use strict";var GZ=ql(),kZ=Vd(),qZ=qd(),VZ=NL();OL.exports=VZ||GZ.call(qZ,kZ)});var Hd=X((Ght,DL)=>{"use strict";var HZ=ql(),WZ=gu(),XZ=qd(),YZ=nx();DL.exports=function(t){if(t.length<1||typeof t[0]!="function")throw new WZ("a function is required");return YZ(HZ,XZ,t)}});var kL=X((kht,GL)=>{"use strict";var $Z=Hd(),FL=mu(),BL;try{BL=[].__proto__===Array.prototype}catch(n){if(!n||typeof n!="object"||!("code"in n)||n.code!=="ERR_PROTO_ACCESS")throw n}var rx=!!BL&&FL&&FL(Object.prototype,"__proto__"),zL=Object,UL=zL.getPrototypeOf;GL.exports=rx&&typeof rx.get=="function"?$Z([rx.get]):typeof UL=="function"?function(t){return UL(t==null?t:zL(t))}:!1});var ix=X((qht,WL)=>{"use strict";var qL=tx(),VL=ex(),HL=kL();WL.exports=qL?function(t){return qL(t)}:VL?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return VL(t)}:HL?function(t){return HL(t)}:null});var ox=X((Vht,XL)=>{"use strict";var ZZ=Function.prototype.call,JZ=Object.prototype.hasOwnProperty,jZ=ql();XL.exports=jZ.call(ZZ,JZ)});var ux=X((Hht,KL)=>{"use strict";var tn,KZ=j_(),QZ=K_(),tJ=XR(),eJ=$R(),nJ=JR(),Xl=Q_(),Wl=gu(),rJ=tL(),iJ=nL(),oJ=iL(),sJ=sL(),aJ=uL(),uJ=cL(),lJ=hL(),cJ=mL(),JL=Function,sx=function(n){try{return JL('"use strict"; return ('+n+").constructor;")()}catch(t){}},Pf=mu(),fJ=If(),ax=function(){throw new Wl},hJ=Pf?function(){try{return arguments.callee,ax}catch(n){try{return Pf(arguments,"callee").get}catch(t){return ax}}}():ax,Vl=wL()(),Gr=ix(),pJ=ex(),dJ=tx(),jL=Vd(),Rf=qd(),Hl={},gJ=typeof Uint8Array=="undefined"||!Gr?tn:Gr(Uint8Array),yu={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?tn:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?tn:ArrayBuffer,"%ArrayIteratorPrototype%":Vl&&Gr?Gr([][Symbol.iterator]()):tn,"%AsyncFromSyncIteratorPrototype%":tn,"%AsyncFunction%":Hl,"%AsyncGenerator%":Hl,"%AsyncGeneratorFunction%":Hl,"%AsyncIteratorPrototype%":Hl,"%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%":QZ,"%eval%":eval,"%EvalError%":tJ,"%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%":JL,"%GeneratorFunction%":Hl,"%Int8Array%":typeof Int8Array=="undefined"?tn:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?tn:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?tn:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Vl&&Gr?Gr(Gr([][Symbol.iterator]())):tn,"%JSON%":typeof JSON=="object"?JSON:tn,"%Map%":typeof Map=="undefined"?tn:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!Vl||!Gr?tn:Gr(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":KZ,"%Object.getOwnPropertyDescriptor%":Pf,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?tn:Promise,"%Proxy%":typeof Proxy=="undefined"?tn:Proxy,"%RangeError%":eJ,"%ReferenceError%":nJ,"%Reflect%":typeof Reflect=="undefined"?tn:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?tn:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!Vl||!Gr?tn:Gr(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?tn:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Vl&&Gr?Gr(""[Symbol.iterator]()):tn,"%Symbol%":Vl?Symbol:tn,"%SyntaxError%":Xl,"%ThrowTypeError%":hJ,"%TypedArray%":gJ,"%TypeError%":Wl,"%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%":rJ,"%WeakMap%":typeof WeakMap=="undefined"?tn:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?tn:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?tn:WeakSet,"%Function.prototype.call%":Rf,"%Function.prototype.apply%":jL,"%Object.defineProperty%":fJ,"%Object.getPrototypeOf%":pJ,"%Math.abs%":iJ,"%Math.floor%":oJ,"%Math.max%":sJ,"%Math.min%":aJ,"%Math.pow%":uJ,"%Math.round%":lJ,"%Math.sign%":cJ,"%Reflect.getPrototypeOf%":dJ};if(Gr)try{null.error}catch(n){YL=Gr(Gr(n)),yu["%Error.prototype%"]=YL}var YL,mJ=function n(t){var e;if(t==="%AsyncFunction%")e=sx("async function () {}");else if(t==="%GeneratorFunction%")e=sx("function* () {}");else if(t==="%AsyncGeneratorFunction%")e=sx("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 yu[t]=e,e},$L={__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"]},Lf=ql(),Wd=ox(),yJ=Lf.call(Rf,Array.prototype.concat),vJ=Lf.call(jL,Array.prototype.splice),ZL=Lf.call(Rf,String.prototype.replace),Xd=Lf.call(Rf,String.prototype.slice),_J=Lf.call(Rf,RegExp.prototype.exec),xJ=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|(["'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,EJ=/\\\\(\\\\)?/g,SJ=function(t){var e=Xd(t,0,1),i=Xd(t,-1);if(e==="%"&&i!=="%")throw new Xl("invalid intrinsic syntax, expected closing \`%\`");if(i==="%"&&e!=="%")throw new Xl("invalid intrinsic syntax, expected opening \`%\`");var s=[];return ZL(t,xJ,function(u,c,f,p){s[s.length]=f?ZL(p,EJ,"$1"):c||u}),s},wJ=function(t,e){var i=t,s;if(Wd($L,i)&&(s=$L[i],i="%"+s[0]+"%"),Wd(yu,i)){var u=yu[i];if(u===Hl&&(u=mJ(i)),typeof u=="undefined"&&!e)throw new Wl("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:s,name:i,value:u}}throw new Xl("intrinsic "+t+" does not exist!")};KL.exports=function(t,e){if(typeof t!="string"||t.length===0)throw new Wl("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof e!="boolean")throw new Wl('"allowMissing" argument must be a boolean');if(_J(/^%?[^%]*%?$/,t)===null)throw new Xl("\`%\` may not be present anywhere but at the beginning and end of the intrinsic name");var i=SJ(t),s=i.length>0?i[0]:"",u=wJ("%"+s+"%",e),c=u.name,f=u.value,p=!1,d=u.alias;d&&(s=d[0],vJ(i,yJ([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 Xl("property names with quotes must have matching quotes");if((v==="constructor"||!y)&&(p=!0),s+="."+v,c="%"+s+"%",Wd(yu,c))f=yu[c];else if(f!=null){if(!(v in f)){if(!e)throw new Wl("base intrinsic for "+t+" exists, but the property is not available.");return}if(Pf&&g+1>=i.length){var A=Pf(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&&(yu[c]=f)}}return f}});var Yd=X((Wht,eN)=>{"use strict";var QL=ux(),tN=Hd(),MJ=tN([QL("%String.prototype.indexOf%")]);eN.exports=function(t,e){var i=QL(t,!!e);return typeof i=="function"&&MJ(t,".prototype.")>-1?tN([i]):i}});var iN=X((Xht,rN)=>{"use strict";var bJ=zd()(),AJ=Yd(),lx=AJ("Object.prototype.toString"),$d=function(t){return bJ&&t&&typeof t=="object"&&Symbol.toStringTag in t?!1:lx(t)==="[object Arguments]"},nN=function(t){return $d(t)?!0:t!==null&&typeof t=="object"&&"length"in t&&typeof t.length=="number"&&t.length>=0&&lx(t)!=="[object Array]"&&"callee"in t&&lx(t.callee)==="[object Function]"},TJ=function(){return $d(arguments)}();$d.isLegacyArguments=nN;rN.exports=TJ?$d:nN});var Zd=X((Yht,aN)=>{"use strict";var oN=If(),CJ=Q_(),Yl=gu(),sN=mu();aN.exports=function(t,e,i){if(!t||typeof t!="object"&&typeof t!="function")throw new Yl("\`obj\` must be an object or a function\`");if(typeof e!="string"&&typeof e!="symbol")throw new Yl("\`property\` must be a string or a symbol\`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new Yl("\`nonEnumerable\`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new Yl("\`nonWritable\`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new Yl("\`nonConfigurable\`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new Yl("\`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=!!sN&&sN(t,e);if(oN)oN(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 CJ("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var Jd=X(($ht,lN)=>{"use strict";var cx=If(),uN=function(){return!!cx};uN.hasArrayLengthDefineBug=function(){if(!cx)return null;try{return cx([],"length",{value:1}).length!==1}catch(t){return!0}};lN.exports=uN});var $l=X((Zht,pN)=>{"use strict";var IJ=Z_(),PJ=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",RJ=Object.prototype.toString,LJ=Array.prototype.concat,cN=Zd(),NJ=function(n){return typeof n=="function"&&RJ.call(n)==="[object Function]"},fN=Jd()(),OJ=function(n,t,e,i){if(t in n){if(i===!0){if(n[t]===e)return}else if(!NJ(i)||!i())return}fN?cN(n,t,e,!0):cN(n,t,e)},hN=function(n,t){var e=arguments.length>2?arguments[2]:{},i=IJ(t);PJ&&(i=LJ.call(i,Object.getOwnPropertySymbols(t)));for(var s=0;s<i.length;s+=1)OJ(n,i[s],t[i[s]],e[i[s]])};hN.supportsDescriptors=!!fN;pN.exports=hN});var vN=X((Jht,yN)=>{"use strict";var DJ=ux(),dN=Zd(),FJ=Jd()(),gN=mu(),mN=gu(),UJ=DJ("%Math.floor%");yN.exports=function(t,e){if(typeof t!="function")throw new mN("\`fn\` is not a function");if(typeof e!="number"||e<0||e>4294967295||UJ(e)!==e)throw new mN("\`length\` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],s=!0,u=!0;if("length"in t&&gN){var c=gN(t,"length");c&&!c.configurable&&(s=!1),c&&!c.writable&&(u=!1)}return(s||u||!i)&&(FJ?dN(t,"length",e,!0,!0):dN(t,"length",e)),t}});var xN=X((jht,_N)=>{"use strict";var BJ=ql(),zJ=Vd(),GJ=nx();_N.exports=function(){return GJ(BJ,zJ,arguments)}});var fx=X((Kht,jd)=>{"use strict";var kJ=vN(),EN=If(),qJ=Hd(),SN=xN();jd.exports=function(t){var e=qJ(arguments),i=t.length-(arguments.length-1);return kJ(e,1+(i>0?i:0),!0)};EN?EN(jd.exports,"apply",{value:SN}):jd.exports.apply=SN});var hx=X((Qht,MN)=>{"use strict";var wN=function(n){return n!==n};MN.exports=function(t,e){return t===0&&e===0?1/t===1/e:!!(t===e||wN(t)&&wN(e))}});var px=X((tpt,bN)=>{"use strict";var VJ=hx();bN.exports=function(){return typeof Object.is=="function"?Object.is:VJ}});var TN=X((ept,AN)=>{"use strict";var HJ=px(),WJ=$l();AN.exports=function(){var t=HJ();return WJ(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var RN=X((npt,PN)=>{"use strict";var XJ=$l(),YJ=fx(),$J=hx(),CN=px(),ZJ=TN(),IN=YJ(CN(),Object);XJ(IN,{getPolyfill:CN,implementation:$J,shim:ZJ});PN.exports=IN});var UN=X((rpt,FN)=>{"use strict";var LN=Yd(),JJ=zd()(),jJ=ox(),KJ=mu(),mx;JJ?(NN=LN("RegExp.prototype.exec"),dx={},Kd=function(){throw dx},gx={toString:Kd,valueOf:Kd},typeof Symbol.toPrimitive=="symbol"&&(gx[Symbol.toPrimitive]=Kd),mx=function(t){if(!t||typeof t!="object")return!1;var e=KJ(t,"lastIndex"),i=e&&jJ(e,"value");if(!i)return!1;try{NN(t,gx)}catch(s){return s===dx}}):(ON=LN("Object.prototype.toString"),DN="[object RegExp]",mx=function(t){return!t||typeof t!="object"&&typeof t!="function"?!1:ON(t)===DN});var NN,dx,Kd,gx,ON,DN;FN.exports=mx});var zN=X((ipt,BN)=>{"use strict";var Of=function(){return typeof function(){}.name=="string"},Nf=Object.getOwnPropertyDescriptor;if(Nf)try{Nf([],"length")}catch(n){Nf=null}Of.functionsHaveConfigurableNames=function(){if(!Of()||!Nf)return!1;var t=Nf(function(){},"name");return!!t&&!!t.configurable};var QJ=Function.prototype.bind;Of.boundFunctionsHaveNames=function(){return Of()&&typeof QJ=="function"&&function(){}.bind().name!==""};BN.exports=Of});var qN=X((opt,kN)=>{"use strict";var GN=Zd(),tj=Jd()(),ej=zN().functionsHaveConfigurableNames(),nj=gu();kN.exports=function(t,e){if(typeof t!="function")throw new nj("\`fn\` is not a function");var i=arguments.length>2&&!!arguments[2];return(!i||ej)&&(tj?GN(t,"name",e,!0,!0):GN(t,"name",e)),t}});var yx=X((spt,VN)=>{"use strict";var rj=qN(),ij=gu(),oj=Object;VN.exports=rj(function(){if(this==null||this!==oj(this))throw new ij("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 vx=X((apt,HN)=>{"use strict";var sj=yx(),aj=$l().supportsDescriptors,uj=Object.getOwnPropertyDescriptor;HN.exports=function(){if(aj&&/a/mig.flags==="gim"){var t=uj(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 sj}});var YN=X((upt,XN)=>{"use strict";var lj=$l().supportsDescriptors,cj=vx(),fj=mu(),hj=Object.defineProperty,pj=K_(),WN=ix(),dj=/a/;XN.exports=function(){if(!lj||!WN)throw new pj("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var t=cj(),e=WN(dj),i=fj(e,"flags");return(!i||i.get!==t)&&hj(e,"flags",{configurable:!0,enumerable:!1,get:t}),t}});var jN=X((lpt,JN)=>{"use strict";var gj=$l(),mj=fx(),yj=yx(),$N=vx(),vj=YN(),ZN=mj($N());gj(ZN,{getPolyfill:$N,implementation:yj,shim:vj});JN.exports=ZN});var t2=X((cpt,QN)=>{"use strict";var KN=Yd(),_j=KN("Date.prototype.getDay"),xj=function(t){try{return _j(t),!0}catch(e){return!1}},Ej=KN("Object.prototype.toString"),Sj="[object Date]",wj=zd()();QN.exports=function(t){return typeof t!="object"||t===null?!1:wj?xj(t):Ej(t)===Sj}});var _x=X((fpt,f2)=>{var e2=Z_(),n2=iN(),r2=RN(),i2=UN(),o2=jN(),s2=t2(),a2=Date.prototype.getTime;function c2(n,t,e){var i=e||{};return(i.strict?r2(n,t):n===t)?!0:!n||!t||typeof n!="object"&&typeof t!="object"?i.strict?r2(n,t):n==t:Mj(n,t,i)}function u2(n){return n==null}function l2(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 Mj(n,t,e){var i,s;if(typeof n!=typeof t||u2(n)||u2(t)||n.prototype!==t.prototype||n2(n)!==n2(t))return!1;var u=i2(n),c=i2(t);if(u!==c)return!1;if(u||c)return n.source===t.source&&o2(n)===o2(t);if(s2(n)&&s2(t))return a2.call(n)===a2.call(t);var f=l2(n),p=l2(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=e2(n),g=e2(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],!c2(n[s],t[s],e))return!1;return!0}f2.exports=c2});var Rx=X((ygt,v2)=>{var dK=_x(),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:gK};rs.prototype.compare=function(n,t){if(n.type!==t.type||!y2(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=m2(n),s=m2(t);return i.every(function(u){return this.some(function(c){return e.compare(u,c)})},s)}}return!1};function m2(n){return n.coordinates.map(function(t){return{type:n.type.replace("Multi",""),coordinates:t}})}function y2(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(!y2(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 gK(n,t){return dK(n,t,{strict:!0})}v2.exports=rs});var _2=X((Igt,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 x2=X((Pgt,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 Lx=X((Rgt,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 S2=X((Lgt,Jl)=>{typeof Jl!="undefined"&&Jl.exports&&(E2=Lx());var E2;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 E2(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 Jl!="undefined"&&Jl.exports&&(Jl.exports=Bs)});var w2=X((Ngt,ig)=>{typeof ig!="undefined"&&ig.exports&&(ig.exports={DBSCAN:_2(),KMEANS:x2(),OPTICS:S2(),PriorityQueue:Lx()})});var Nx=X((zgt,b2)=>{"use strict";b2.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 C2=X((Ggt,T2)=>{"use strict";var A2=Nx(),EK=A2.eudist,SK=A2.dist;T2.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?EK:SK,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 B=Math.random(),U=0;U<u-1&&E[U++].cs<B;);s.push(E[U-1].v)}return s}}});var N2=X((Vgt,L2)=>{"use strict";var Ox=Nx(),R2=C2(),wK=Ox.eudist,kgt=Ox.mandist,qgt=Ox.dist,MK=R2.kmrand,bK=R2.kmpp,I2=1e4;function P2(n,t,e){e=e||[];for(var i=0;i<n;i++)e[i]=t;return e}function AK(n,t,e,i){var s=[],u=[],c=[],f=[],p=!1,d=i||I2,g=n.length,y=n[0].length,v=y>0,E=[];if(e)e=="kmrand"?s=MK(n,t):e=="kmpp"?s=bK(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{P2(t,0,E);for(var _=0;_<g;_++){for(var x=1/0,T=0,w=0;w<t;w++){var f=v?wK(n[_],s[w]):Math.abs(n[_]-s[w]);f<=x&&(x=f,T=w)}c[_]=T,E[T]++}for(var R=[],u=[],B=0,U=0;U<t;U++)R[U]=v?P2(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 jt=0;jt<t;jt++)if(u[jt]!=s[jt]){p=!1;break}}p=p||--d<=0}while(!p);return{it:I2-d,k:t,idxs:c,centroids:s}}L2.exports=AK});var ec=X((Gx,kx)=>{(function(n,t){typeof Gx=="object"&&typeof kx!="undefined"?kx.exports=t():typeof define=="function"&&define.amd?define(t):(n=typeof globalThis!="undefined"?globalThis:n||self,n.polygonClipping=t())})(Gx,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)+\`
8011
8011
  \`);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 B,this.yRounder=new B}round(b,I){return{x:this.xRounder.round(b),y:this.yRounder.round(I)}}}class B{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,Un,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),Un=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-(Un-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-Un,Q=ye-oe,ft[1]=ye-(oe+Q)+(Q-Un),_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),Un=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-(Un-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-Un,Q=ye-oe,H[1]=ye-(oe+Q)+(Q-Un),_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),Un=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-(Un-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-Un,Q=ye-oe,H[1]=ye-(oe+Q)+(Q-Un),_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),Un=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-(Un-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-Un,Q=ye-oe,H[1]=ye-(oe+Q)+(Q-Un),_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 jt=(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 jt(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=jt(b,F);if(k==0)return null;let G={x:I.x-j.x,y:I.y-j.y},rt=jt(G,b)/k,tt=jt(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 Ot=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=++Ot,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 K2=X((ug,j2)=>{(function(n,t){typeof ug=="object"&&typeof j2!="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 B=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[B,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],z=h;return m>z&&(z=m),S>z&&(z=S),C>z&&(z=C),z}},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,z=0;z<=C;z++){r&&z===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-z&&(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,z=null,K=null,mt=null,yt=null;return z=this._hi/a,K=H.SPLIT*z,h=K-z,yt=H.SPLIT*a,h=K-h,m=z-h,S=yt-a,mt=z*a,S=yt-S,C=a-S,yt=h*S-mt+h*C+m*S+m*C,K=(this._hi-mt-yt+this._lo-z*l)/a,yt=z+K,this._hi=yt,this._lo=z-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,z=null;return a=(m=this._hi/r._hi)-(o=(S=H.SPLIT*m)-(o=S-m)),z=o*(l=(z=H.SPLIT*r._hi)-(l=z-r._hi))-(C=m*r._hi)+o*(h=r._hi-l)+a*l+a*h,S=(this._hi-C-z+this._lo-m*r._lo)/r._hi,new H(z=m+S,m-z+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 z=arguments[0],K=arguments[1],mt=null,yt=null,zt=null,qt=null,Jt=null,ue=null,dn=null;qt=this._hi+z,yt=this._lo+K,Jt=qt-(ue=qt-this._hi),zt=yt-(dn=yt-this._lo);var Wn=(mt=qt+(ue=(Jt=z-ue+(this._hi-Jt))+yt))+(ue=(zt=K-dn+(this._lo-zt))+(ue+(qt-mt))),Dr=ue+(mt-Wn);return this._hi=Wn,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,z=null,K=null;h=(z=H.SPLIT*this._hi)-this._hi,K=H.SPLIT*a,h=z-h,m=this._hi-h,S=K-a;var mt=(z=this._hi*a)+(K=h*(S=K-S)-z+h*(C=a-S)+m*S+m*C+(this._hi*l+this._lo*a)),yt=K+(h=z-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 z=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(z,h-z+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,B,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,z=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{z=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-z;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(){},jt={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)),z=H.valueOf(l.y).selfSubtract(a.y).selfMultiply(H.valueOf(r.x).selfSubtract(a.x)),K=C.subtract(z).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},jt.DP_SAFE_EPSILON.get=function(){return 1e-15},Object.defineProperties(It,jt);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":\`