<!-- SOLID CITY · part 3298 -->
edsUpdate=!0}};var Fi=class extends pn{constructor(e,t,n=Jn,s,r,a,o=Jt,l=Jt,c,h=ri,f=1){if(h!==ri&&h!==Xi)throw new Error("THREE.DepthTexture: format must be either THREE.DepthFormat or THREE.DepthStencilFormat");let u={width:e,height:t,depth:f};super(u,s,r,a,o,l,h,n,c),this.isDepthTexture=!0,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.source=new Xs(Object.assign({},e.image)),this.compareFunction=e.compareFunction,this}toJSON(e){let t=super.toJSON(e);return t.compareFunction=this.compareFunction,t}},Io=class extends Fi{constructor(e,t=Jn,n=Gi,s,r,a=Jt,o=Jt,l,c=ri){let h={width:e,height:e,depth:1},f=[h,h,h,h,h,h];super(e,e,t,n,s,r,a,o,l,c),this.image=f,this.isCubeDepthTexture=!0,this.isCubeTexture=!0}get images(){return this.image}set images(e){this.image=e}},$r=class extends pn{constructor(e=null){super(),this.sourceTexture=e,this.isExternalTexture=!0}copy(e){return super.copy(e),this.sourceTexture=e.sourceTexture,this}},Gt=class i extends ft{constructor(e=1,t=1,n=1,s=1,r=1,a=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:s,heightSegments:r,depthSegments:a};let o=this;s=Math.floor(s),r=Math.floor(r),a=Math.floor(a);let l=[],c=[],h=[],f=[],u=0,d=0;g("z","y","x",-1,-1,n,t,e,a,r,0),g("z","y","x",1,-1,n,t,-e,a,r,1),g("x","z","y",1,1,e,n,t,s,a,2),g("x","z","y",1,-1,e,n,-t,s,a,3),g("x","y","z",1,-1,e,t,n,s,r,4),g("x","y","z",-1,-1,e,t,-n,s,r,5),this.setIndex(l),this.setAttribute("position",new Qe(c,3)),this.setAttribute("normal",new Qe(h,3)),this.setAttribute("uv",new Qe(f,2));function g(M,m,p,b,A,v,T,E,C,x,w){let I=v/C,D=T/x,O=v/2,V=T/2,N=E/2,z=C+1,q=x+1,X=0,ie=0,Y=new P;for(let j=0;j<q;j++){let ne=j*D-V;for(let Pe=0;Pe<z;Pe++){let we=Pe*I-O;Y[M]=we*b,Y[m]=ne*A,Y[p]=N,c.push(Y.x,Y.y,Y.z),Y[M]=0,Y[m]=0,Y[p]=E>0?1:-1,h.push(Y.x,Y.y,Y.z),f.push(Pe/C),f.push(1-j/x),X+=1}}for(let j=0;j<x;j++)for(let ne=0;ne<C;ne++){let Pe=u+ne+z*j,we=u+ne+z*(j+1),dt=u+(ne+1)+z*(j+1),tt=u+(ne+1)+z*j;l.push(Pe,we,tt),l.push(we,dt,tt),ie+=6}o.addGroup(d,ie,w),d+=ie,u+=X}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new i(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}};var as=class i extends ft{constructor(e=1,t=32,n=0,s=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:s},t=Math.max(3,t);let r=[],a=[],o=[],l=[],c=new P,h=new le;a.push(0,0,0),o.push(0,0,1),l.push(.5,.5);for(let f=0,u=3;f<=t;f++,u+=3){let d=n+f/t*s;c.x=e*Math.cos(d),c.y=e*Math.sin(d),a.push(c.x,c.y,c.z),o.push(0,0,1),h.x=(a[u]/e+1)/2,h.y=(a[u+1]/e+1)/2,l.push(h.x,h.y)}for(let f=1;f<=t;f++)r.push(f,f+1,0);this.setIndex(r),this.setAttribute("position",new Qe(a,3)),this.setAttribute("normal",new Qe(o,3)),this.setAttribute("uv",new Qe(l,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new i(e.radius,e.segments,e.thetaStart,e.thetaLength)}},rn=class i extends ft{constructor(e=1,t=1,n=1,s=32,r=1,a=!1,o=0,l=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:s,heightSegments:r,openEnded:a,thetaStart:o,thetaLength:l};let c=this;s=Math.floor(s),r=Math.floor(r);let h=[],f=[],u=[],d=[],g=0,M=[],m=n/2,p=0;b(),a===!1&&(e>0&&A(!0),t>0&&A(!1)),this.setIndex(h),this.setAttribute("position",new Qe(f,3)),this.setAttribute("normal",new Qe(u,3)),this.setAttribute("uv",new Qe(d,2));function b(){let v=new P,T=new P,E=0,C=(t-e)/n;for(let x=0;x<=r;x++){let w=[],I=x/r,D=I*(t-e)+e;for(let O=0;O<=s;O++){let V=O/s,N=V*l+o,z=Math.sin(N),q=Math.cos(N);T.x=D*z,T.y=-I*n+m,T.z=D*q,f.push(T.x,T.y,T.z),v.set(z,C,q).normalize(),u.push(v.x,v.y,v.z),d.push(V,1-I),w.push(g++)}M.push(w)}for(let x=0;x<s;x++)for(let w=0;w<r;w++){let I=M[w][x],D=M[w+1][x],O=M[w+1][x+1],V=M[w][x+1];(e>0||w!==0)&&(h.push(I,D,V),E+=3),(t>0||w!==r-1)&&(h.push(D,O,V),E+=3)}c.addGroup(p,E,0),p+=E}function A(v){let T=g,E=new le,C=new P,x=0,w=v===!0?e:t,I=v===!0?1:-1;for(let O=1;O<=s;O++)f.push(0,m*I,0),u.push(0,I,0),d.push(.5,.5),g++;let D=g;for(let O=0;O<=s;O++){let N=O/s*l+o,z=Math.cos(N),q=Math.sin(N);C.x=w*q,C.y=m*I,C.z=w*z,f.push(C.x,C.y,C.z),u.push(0,I,0),E.x=z*.5+.5,E.y=q*.5*I+.5,d.push(E.x,E.y),g++}for(let O=0;O<s;O++){let V=T+O,N=D+O;v===!0?h.push(N,N+1,V):h.push(N+1,N,V),x+=3}c.addGroup(p,x,v===!0?1:2),p+=x}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new i(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}},Oi=class i extends rn{constructor(e=1,t=1,n=32,s=1,r=!1,a=0,o=Math.PI*2){super(0,e,t,n,s,r,a,o),this.type="ConeGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:s,openEnded:r,thetaStart:a,thetaLength:o}}static fromJSON(e){return new i(e.radius,e.height,e.radialSegments,e.heightS