diff --git a/build/three.js b/build/three.js index 7ec38db8c60e25..be53e420889e09 100644 --- a/build/three.js +++ b/build/three.js @@ -48481,12 +48481,10 @@ var outputEncoding = renderer.outputEncoding; var toneMapping = renderer.toneMapping; - var toneMappingExposure = renderer.toneMappingExposure; var clearColor = renderer.getClearColor(); var clearAlpha = renderer.getClearAlpha(); - renderer.toneMapping = LinearToneMapping; - renderer.toneMappingExposure = 1.0; + renderer.toneMapping = NoToneMapping; renderer.outputEncoding = LinearEncoding; var background = scene.background; @@ -48531,7 +48529,6 @@ } renderer.toneMapping = toneMapping; - renderer.toneMappingExposure = toneMappingExposure; renderer.outputEncoding = outputEncoding; renderer.setClearColor( clearColor, clearAlpha ); diff --git a/build/three.min.js b/build/three.min.js index 168715d0fc24f8..38f0417b32a282 100644 --- a/build/three.min.js +++ b/build/three.min.js @@ -6,7 +6,7 @@ a;this.texture.image.height=b;this.texture.generateMipmaps=void 0!==c.generateMi c){this.x=a||0;this.y=b||0;this.z=c||0}function M(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];0h)return!1}return!0}function eb(a,b){this.center=void 0!==a?a:new m;this.radius=void 0!==b?b:-1}function Wb(a,b){this.origin=void 0!==a?a:new m;this.direction=void 0!==b?b:new m(0,0,-1)}function Ua(a,b){this.normal=void 0!==a?a:new m(1,0, +b?b:new m(-Infinity,-Infinity,-Infinity)}function bg(a,b,c,d,e){for(var f=0,g=a.length-3;f<=g;f+=3){Vb.fromArray(a,f);var h=e.x*Math.abs(Vb.x)+e.y*Math.abs(Vb.y)+e.z*Math.abs(Vb.z),l=b.dot(Vb),n=c.dot(Vb),q=d.dot(Vb);if(Math.max(-Math.max(l,n,q),Math.min(l,n,q))>h)return!1}return!0}function eb(a,b){this.center=void 0!==a?a:new m;this.radius=void 0!==b?b:-1}function Wb(a,b){this.origin=void 0!==a?a:new m;this.direction=void 0!==b?b:new m(0,0,-1)}function Ua(a,b){this.normal=void 0!==a?a:new m(1,0, 0);this.constant=void 0!==b?b:0}function wa(a,b,c){this.a=void 0!==a?a:new m;this.b=void 0!==b?b:new m;this.c=void 0!==c?c:new m}function D(a,b,c){return void 0===b&&void 0===c?this.set(a):this.setRGB(a,b,c)}function cg(a,b,c){0>c&&(c+=1);1c?b:c<2/3?a+6*(b-a)*(2/3-c):a}function dg(a){return.04045>a?.0773993808*a:Math.pow(.9478672986*a+.0521327014,2.4)}function eg(a){return.0031308>a?12.92*a:1.055*Math.pow(a,.41666)-.055}function zc(a,b,c,d,e,f){this.a=a;this.b= b;this.c=c;this.normal=d&&d.isVector3?d:new m;this.vertexNormals=Array.isArray(d)?d:[];this.color=e&&e.isColor?e:new D;this.vertexColors=Array.isArray(e)?e:[];this.materialIndex=void 0!==f?f:0}function G(){Object.defineProperty(this,"id",{value:jj++});this.uuid=K.generateUUID();this.name="";this.type="Material";this.fog=!0;this.blending=1;this.side=0;this.vertexColors=this.flatShading=!1;this.opacity=1;this.transparent=!1;this.blendSrc=204;this.blendDst=205;this.blendEquation=100;this.blendEquationAlpha= this.blendDstAlpha=this.blendSrcAlpha=null;this.depthFunc=3;this.depthWrite=this.depthTest=!0;this.stencilWriteMask=255;this.stencilFunc=519;this.stencilRef=0;this.stencilFuncMask=255;this.stencilZPass=this.stencilZFail=this.stencilFail=7680;this.stencilWrite=!1;this.clippingPlanes=null;this.clipShadows=this.clipIntersection=!1;this.shadowSide=null;this.colorWrite=!0;this.precision=null;this.polygonOffset=!1;this.polygonOffsetUnits=this.polygonOffsetFactor=0;this.dithering=!1;this.alphaTest=0;this.premultipliedAlpha= @@ -14,39 +14,39 @@ this.blendDstAlpha=this.blendSrcAlpha=null;this.depthFunc=3;this.depthWrite=this function H(a,b,c){if(Array.isArray(a))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="";this.array=a;this.itemSize=b;this.count=void 0!==a?a.length/b:0;this.normalized=!0===c;this.usage=35044;this.updateRange={offset:0,count:-1};this.version=0}function yd(a,b,c){H.call(this,new Int8Array(a),b,c)}function zd(a,b,c){H.call(this,new Uint8Array(a),b,c)}function Ad(a,b,c){H.call(this,new Uint8ClampedArray(a),b,c)}function Bd(a,b,c){H.call(this,new Int16Array(a), b,c)}function Xb(a,b,c){H.call(this,new Uint16Array(a),b,c)}function Cd(a,b,c){H.call(this,new Int32Array(a),b,c)}function Yb(a,b,c){H.call(this,new Uint32Array(a),b,c)}function B(a,b,c){H.call(this,new Float32Array(a),b,c)}function Dd(a,b,c){H.call(this,new Float64Array(a),b,c)}function vh(){this.vertices=[];this.normals=[];this.colors=[];this.uvs=[];this.uvs2=[];this.groups=[];this.morphTargets={};this.skinWeights=[];this.skinIndices=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate= this.uvsNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.verticesNeedUpdate=!1}function wh(a){if(0===a.length)return-Infinity;for(var b=a[0],c=1,d=a.length;cb&&(b=a[c]);return b}function F(){Object.defineProperty(this,"id",{value:kj+=2});this.uuid=K.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.morphTargetsRelative=!1;this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity}; -this.userData={}}function X(a,b){z.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new F;this.material=void 0!==b?b:new Oa;this.updateMorphTargets()}function xh(a,b,c,d,e,f,g,h){if(null===(1===b.side?d.intersectTriangle(g,f,e,!0,h):d.intersectTriangle(e,f,g,2!==b.side,h)))return null;Ge.copy(h);Ge.applyMatrix4(a.matrixWorld);b=c.ray.origin.distanceTo(Ge);return bc.far?null:{distance:b,point:Ge.clone(),object:a}}function He(a,b,c,d,e,f,g,h,l,n,t,p){Cb.fromBufferAttribute(e,n);Db.fromBufferAttribute(e, -t);Eb.fromBufferAttribute(e,p);e=a.morphTargetInfluences;if(b.morphTargets&&f&&e){Ie.set(0,0,0);Je.set(0,0,0);Ke.set(0,0,0);for(var v=0,r=f.length;vc.far?null:{distance:b,point:Ge.clone(),object:a}}function He(a,b,c,d,e,f,g,h,l,n,q,p){Cb.fromBufferAttribute(e,n);Db.fromBufferAttribute(e, +q);Eb.fromBufferAttribute(e,p);e=a.morphTargetInfluences;if(b.morphTargets&&f&&e){Ie.set(0,0,0);Je.set(0,0,0);Ke.set(0,0,0);for(var v=0,t=f.length;vg;g++)a.setRenderTarget(c,g),a.clear(b,d,e);a.setRenderTarget(f)}}}function Zb(a,b,c){Number.isInteger(b)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),b=c);Ha.call(this,a,a,b)}function $b(a,b,c,d,e,f,g,h,l,n,t,p){W.call(this,null,f,g,h,l,n,d,e,t,p);this.image={data:a||null,width:b||1,height:c||1};this.magFilter= +var l=new O(90,1,a,b);l.layers=this.layers;l.up.set(0,-1,0);l.lookAt(new m(0,0,-1));this.add(l);this.update=function(a,b){null===this.parent&&this.updateMatrixWorld();var n=a.xr.enabled,q=a.getRenderTarget();a.xr.enabled=!1;var t=c.texture.generateMipmaps;c.texture.generateMipmaps=!1;a.setRenderTarget(c,0);a.render(b,d);a.setRenderTarget(c,1);a.render(b,e);a.setRenderTarget(c,2);a.render(b,f);a.setRenderTarget(c,3);a.render(b,g);a.setRenderTarget(c,4);a.render(b,h);c.texture.generateMipmaps=t;a.setRenderTarget(c, +5);a.render(b,l);a.setRenderTarget(q);a.xr.enabled=n};this.clear=function(a,b,d,e){for(var f=a.getRenderTarget(),g=0;6>g;g++)a.setRenderTarget(c,g),a.clear(b,d,e);a.setRenderTarget(f)}}}function Zb(a,b,c){Number.isInteger(b)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),b=c);Ha.call(this,a,a,b)}function $b(a,b,c,d,e,f,g,h,l,n,q,p){W.call(this,null,f,g,h,l,n,d,e,q,p);this.image={data:a||null,width:b||1,height:c||1};this.magFilter= void 0!==l?l:1003;this.minFilter=void 0!==n?n:1003;this.flipY=this.generateMipmaps=!1;this.unpackAlignment=1;this.needsUpdate=!0}function Fc(a,b,c,d,e,f){this.planes=[void 0!==a?a:new Ua,void 0!==b?b:new Ua,void 0!==c?c:new Ua,void 0!==d?d:new Ua,void 0!==e?e:new Ua,void 0!==f?f:new Ua]}function yh(){function a(e,f){!1!==c&&(d(e,f),b.requestAnimationFrame(a))}var b=null,c=!1,d=null;return{start:function(){!0!==c&&null!==d&&(b.requestAnimationFrame(a),c=!0)},stop:function(){c=!1},setAnimationLoop:function(a){d= a},setContext:function(a){b=a}}}function mj(a,b){function c(b,c){var d=b.array,e=b.usage,f=a.createBuffer();a.bindBuffer(c,f);a.bufferData(c,d,e);b.onUploadCallback();c=5126;d instanceof Float32Array?c=5126:d instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):d instanceof Uint16Array?c=5123:d instanceof Int16Array?c=5122:d instanceof Uint32Array?c=5125:d instanceof Int32Array?c=5124:d instanceof Int8Array?c=5120:d instanceof Uint8Array&&(c= 5121);return{buffer:f,type:c,bytesPerElement:d.BYTES_PER_ELEMENT,version:b.version}}var d=b.isWebGL2,e=new WeakMap;return{get:function(a){a.isInterleavedBufferAttribute&&(a=a.data);return e.get(a)},remove:function(b){b.isInterleavedBufferAttribute&&(b=b.data);var c=e.get(b);c&&(a.deleteBuffer(c.buffer),e.delete(b))},update:function(b,g){b.isInterleavedBufferAttribute&&(b=b.data);var f=e.get(b);if(void 0===f)e.set(b,c(b,g));else if(f.versionl;l++){if(p=d[l])if(t=p[0],p=p[1]){n&&e.setAttribute("morphTarget"+l,n[t]);f&&e.setAttribute("morphNormal"+l,f[t]);c[l]=p;h+=p;continue}c[l]=0}e=e.morphTargetsRelative?1:1-h;g.getUniforms().setValue(a,"morphTargetBaseInfluence",e);g.getUniforms().setValue(a,"morphTargetInfluences",c)}}}function xj(a,b,c,d){var e=new WeakMap;return{update:function(a){var f=d.render.frame,h=a.geometry,l=b.get(a,h);e.get(l)!==f&&(h.isGeometry&&l.updateFromObject(a),b.update(l),e.set(l,f)); +function tj(a,b,c,d){var e=d.isWebGL2,f,g,h;this.setMode=function(a){f=a};this.setIndex=function(a){g=a.type;h=a.bytesPerElement};this.render=function(b,d){a.drawElements(f,d,g,b*h);c.update(d,f)};this.renderInstances=function(d,n,q,p){if(0!==p){if(e){d=a;var l="drawElementsInstanced"}else if(d=b.get("ANGLE_instanced_arrays"),l="drawElementsInstancedANGLE",null===d){console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."); +return}d[l](f,q,g,n*h,p);c.update(q,f,p)}}}function uj(a){var b={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:b,programs:null,autoReset:!0,reset:function(){b.frame++;b.calls=0;b.triangles=0;b.points=0;b.lines=0},update:function(a,d,e){e=e||1;b.calls++;switch(d){case 4:b.triangles+=a/3*e;break;case 1:b.lines+=a/2*e;break;case 3:b.lines+=e*(a-1);break;case 2:b.lines+=e*a;break;case 0:b.points+=e*a;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:", +d)}}}}function vj(a,b){return Math.abs(b[1])-Math.abs(a[1])}function wj(a){var b={},c=new Float32Array(8);return{update:function(d,e,f,g){var h=d.morphTargetInfluences,l=void 0===h?0:h.length;d=b[e.id];if(void 0===d){d=[];for(var n=0;nl;l++){if(p=d[l])if(q=p[0],p=p[1]){n&&e.setAttribute("morphTarget"+l,n[q]);f&&e.setAttribute("morphNormal"+l,f[q]);c[l]=p;h+=p;continue}c[l]=0}e=e.morphTargetsRelative?1:1-h;g.getUniforms().setValue(a,"morphTargetBaseInfluence",e);g.getUniforms().setValue(a,"morphTargetInfluences",c)}}}function xj(a,b,c,d){var e=new WeakMap;return{update:function(a){var f=d.render.frame,h=a.geometry,l=b.get(a,h);e.get(l)!==f&&(h.isGeometry&&l.updateFromObject(a),b.update(l),e.set(l,f)); a.isInstancedMesh&&c.update(a.instanceMatrix,34962);return l},dispose:function(){e=new WeakMap}}}function qb(a,b,c,d,e,f,g,h,l,n){a=void 0!==a?a:[];W.call(this,a,void 0!==b?b:301,c,d,e,f,void 0!==g?g:1022,h,l,n);this.flipY=!1}function Gc(a,b,c,d){W.call(this,null);this.image={data:a||null,width:b||1,height:c||1,depth:d||1};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1;this.needsUpdate=!0}function Hc(a,b,c,d){W.call(this,null);this.image={data:a||null,width:b|| 1,height:c||1,depth:d||1};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1;this.needsUpdate=!0}function Ic(a,b,c){var d=a[0];if(0>=d||0");return a.replace(kg,jg)}function Oh(a,b,c,d){console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.");return lg(a, b,c,d)}function lg(a,b,c,d){a="";for(b=parseInt(b);bd;d++)c.probe.push(new m);var e=new m,f=new M,g=new M;return{setup:function(d,l,n){for(var h=l=0,p=0,k=0;9>k;k++)c.probe[k].set(0,0,0);var r=k=0,q=0,u=0,m=0,E=0,x=0,Ea=0;n=n.matrixWorldInverse;d.sort(wk);for(var ja=0,U=d.length;jad;d++)c.probe.push(new m);var e=new m,f=new M,g=new M;return{setup:function(d,l,n){for(var h=l=0,p=0,k=0;9>k;k++)c.probe[k].set(0,0,0);var t=k=0,r=0,u=0,m=0,E=0,x=0,Ea=0;n=n.matrixWorldInverse;d.sort(wk);for(var ja=0,U=d.length;jafa;fa++)c.probe[fa].addScaledVector(C.sh.coefficients[fa],P);else if(C.isDirectionalLight){P=a.get(C);P.color.copy(C.color).multiplyScalar(C.intensity);P.direction.setFromMatrixPosition(C.matrixWorld);e.setFromMatrixPosition(C.target.matrixWorld);P.direction.sub(e);P.direction.transformDirection(n);if(C.castShadow){var ka=C.shadow;w=b.get(C);w.shadowBias=ka.bias;w.shadowRadius=ka.radius;w.shadowMapSize=ka.mapSize; c.directionalShadow[k]=w;c.directionalShadowMap[k]=fa;c.directionalShadowMatrix[k]=C.shadow.matrix;E++}c.directional[k]=P;k++}else C.isSpotLight?(ka=a.get(C),ka.position.setFromMatrixPosition(C.matrixWorld),ka.position.applyMatrix4(n),ka.color.copy(w).multiplyScalar(P),ka.distance=aa,ka.direction.setFromMatrixPosition(C.matrixWorld),e.setFromMatrixPosition(C.target.matrixWorld),ka.direction.sub(e),ka.direction.transformDirection(n),ka.coneCos=Math.cos(C.angle),ka.penumbraCos=Math.cos(C.angle*(1-C.penumbra)), -ka.decay=C.decay,C.castShadow&&(P=C.shadow,w=b.get(C),w.shadowBias=P.bias,w.shadowRadius=P.radius,w.shadowMapSize=P.mapSize,c.spotShadow[q]=w,c.spotShadowMap[q]=fa,c.spotShadowMatrix[q]=C.shadow.matrix,Ea++),c.spot[q]=ka,q++):C.isRectAreaLight?(fa=a.get(C),fa.color.copy(w).multiplyScalar(P),fa.position.setFromMatrixPosition(C.matrixWorld),fa.position.applyMatrix4(n),g.identity(),f.copy(C.matrixWorld),f.premultiply(n),g.extractRotation(f),fa.halfWidth.set(.5*C.width,0,0),fa.halfHeight.set(0,.5*C.height, -0),fa.halfWidth.applyMatrix4(g),fa.halfHeight.applyMatrix4(g),c.rectArea[u]=fa,u++):C.isPointLight?(P=a.get(C),P.position.setFromMatrixPosition(C.matrixWorld),P.position.applyMatrix4(n),P.color.copy(C.color).multiplyScalar(C.intensity),P.distance=C.distance,P.decay=C.decay,C.castShadow&&(ka=C.shadow,w=b.get(C),w.shadowBias=ka.bias,w.shadowRadius=ka.radius,w.shadowMapSize=ka.mapSize,w.shadowCameraNear=ka.camera.near,w.shadowCameraFar=ka.camera.far,c.pointShadow[r]=w,c.pointShadowMap[r]=fa,c.pointShadowMatrix[r]= -C.shadow.matrix,x++),c.point[r]=P,r++):C.isHemisphereLight&&(fa=a.get(C),fa.direction.setFromMatrixPosition(C.matrixWorld),fa.direction.transformDirection(n),fa.direction.normalize(),fa.skyColor.copy(C.color).multiplyScalar(P),fa.groundColor.copy(C.groundColor).multiplyScalar(P),c.hemi[m]=fa,m++)}c.ambient[0]=l;c.ambient[1]=h;c.ambient[2]=p;d=c.hash;if(d.directionalLength!==k||d.pointLength!==r||d.spotLength!==q||d.rectAreaLength!==u||d.hemiLength!==m||d.numDirectionalShadows!==E||d.numPointShadows!== -x||d.numSpotShadows!==Ea)c.directional.length=k,c.spot.length=q,c.rectArea.length=u,c.point.length=r,c.hemi.length=m,c.directionalShadow.length=E,c.directionalShadowMap.length=E,c.pointShadow.length=x,c.pointShadowMap.length=x,c.spotShadow.length=Ea,c.spotShadowMap.length=Ea,c.directionalShadowMatrix.length=E,c.pointShadowMatrix.length=x,c.spotShadowMatrix.length=Ea,d.directionalLength=k,d.pointLength=r,d.spotLength=q,d.rectAreaLength=u,d.hemiLength=m,d.numDirectionalShadows=E,d.numPointShadows=x, +ka.decay=C.decay,C.castShadow&&(P=C.shadow,w=b.get(C),w.shadowBias=P.bias,w.shadowRadius=P.radius,w.shadowMapSize=P.mapSize,c.spotShadow[r]=w,c.spotShadowMap[r]=fa,c.spotShadowMatrix[r]=C.shadow.matrix,Ea++),c.spot[r]=ka,r++):C.isRectAreaLight?(fa=a.get(C),fa.color.copy(w).multiplyScalar(P),fa.position.setFromMatrixPosition(C.matrixWorld),fa.position.applyMatrix4(n),g.identity(),f.copy(C.matrixWorld),f.premultiply(n),g.extractRotation(f),fa.halfWidth.set(.5*C.width,0,0),fa.halfHeight.set(0,.5*C.height, +0),fa.halfWidth.applyMatrix4(g),fa.halfHeight.applyMatrix4(g),c.rectArea[u]=fa,u++):C.isPointLight?(P=a.get(C),P.position.setFromMatrixPosition(C.matrixWorld),P.position.applyMatrix4(n),P.color.copy(C.color).multiplyScalar(C.intensity),P.distance=C.distance,P.decay=C.decay,C.castShadow&&(ka=C.shadow,w=b.get(C),w.shadowBias=ka.bias,w.shadowRadius=ka.radius,w.shadowMapSize=ka.mapSize,w.shadowCameraNear=ka.camera.near,w.shadowCameraFar=ka.camera.far,c.pointShadow[t]=w,c.pointShadowMap[t]=fa,c.pointShadowMatrix[t]= +C.shadow.matrix,x++),c.point[t]=P,t++):C.isHemisphereLight&&(fa=a.get(C),fa.direction.setFromMatrixPosition(C.matrixWorld),fa.direction.transformDirection(n),fa.direction.normalize(),fa.skyColor.copy(C.color).multiplyScalar(P),fa.groundColor.copy(C.groundColor).multiplyScalar(P),c.hemi[m]=fa,m++)}c.ambient[0]=l;c.ambient[1]=h;c.ambient[2]=p;d=c.hash;if(d.directionalLength!==k||d.pointLength!==t||d.spotLength!==r||d.rectAreaLength!==u||d.hemiLength!==m||d.numDirectionalShadows!==E||d.numPointShadows!== +x||d.numSpotShadows!==Ea)c.directional.length=k,c.spot.length=r,c.rectArea.length=u,c.point.length=t,c.hemi.length=m,c.directionalShadow.length=E,c.directionalShadowMap.length=E,c.pointShadow.length=x,c.pointShadowMap.length=x,c.spotShadow.length=Ea,c.spotShadowMap.length=Ea,c.directionalShadowMatrix.length=E,c.pointShadowMatrix.length=x,c.spotShadowMatrix.length=Ea,d.directionalLength=k,d.pointLength=t,d.spotLength=r,d.rectAreaLength=u,d.hemiLength=m,d.numDirectionalShadows=E,d.numPointShadows=x, d.numSpotShadows=Ea,c.version=yk++},state:c}}function Uh(){var a=new xk,b=[],c=[];return{init:function(){b.length=0;c.length=0},state:{lightsArray:b,shadowsArray:c,lights:a},setupLights:function(d){a.setup(b,c,d)},pushLight:function(a){b.push(a)},pushShadow:function(a){c.push(a)}}}function zk(){function a(c){c=c.target;c.removeEventListener("dispose",a);b.delete(c)}var b=new WeakMap;return{get:function(c,d){if(!1===b.has(c)){var e=new Uh;b.set(c,new WeakMap);b.get(c).set(d,e);c.addEventListener("dispose", a)}else!1===b.get(c).has(d)?(e=new Uh,b.get(c).set(d,e)):e=b.get(c).get(d);return e},dispose:function(){b=new WeakMap}}}function Gb(a){G.call(this);this.type="MeshDepthMaterial";this.depthPacking=3200;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=!1;this.wireframeLinewidth=1;this.fog=!1;this.setValues(a)}function Hb(a){G.call(this);this.type="MeshDistanceMaterial";this.referencePosition=new m;this.nearDistance= -1;this.farDistance=1E3;this.morphTargets=this.skinning=!1;this.displacementMap=this.alphaMap=this.map=null;this.displacementScale=1;this.displacementBias=0;this.fog=!1;this.setValues(a)}function Vh(a,b,c){function d(a,b,c){c=a<<0|b<<1|c<<2;var d=p[c];void 0===d&&(d=new Gb({depthPacking:3201,morphTargets:a,skinning:b}),p[c]=d);return d}function e(a,b,c){c=a<<0|b<<1|c<<2;var d=k[c];void 0===d&&(d=new Hb({morphTargets:a,skinning:b}),k[c]=d);return d}function f(b,c,f,g,h,l,n){var t=d,p=b.customDepthMaterial; -!0===g.isPointLight&&(t=e,p=b.customDistanceMaterial);void 0===p?(p=!1,!0===f.morphTargets&&(p=c.morphAttributes&&c.morphAttributes.position&&0\nvoid main() {\n float mean = 0.0;\n float squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n for ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n #ifdef HORIZONAL_PASS\n vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n mean += distribution.x;\n squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n #else\n float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n mean += depth;\n squared_mean += depth * depth;\n #endif\n }\n mean = mean * HALF_SAMPLE_RATE;\n squared_mean = squared_mean * HALF_SAMPLE_RATE;\n float std_dev = sqrt( squared_mean - mean * mean );\n gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}), -m=u.clone();m.defines.HORIZONAL_PASS=1;var E=new F;E.setAttribute("position",new H(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));var x=new X(E,u),Ea=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(d,e,f){if(!1!==Ea.enabled&&(!1!==Ea.autoUpdate||!1!==Ea.needsUpdate)&&0!==d.length){var p=a.getRenderTarget(),k=a.getActiveCubeFace(),v=a.getActiveMipmapLevel(),q=a.state;q.setBlending(0);q.buffers.color.setClear(1,1,1,1);q.buffers.depth.setTest(!0);q.setScissorTest(!1); -for(var r=0,A=d.length;rc||l.y>c)l.x>c&&(n.x=Math.floor(c/w.x),l.x=n.x*w.x,C.mapSize.x=n.x),l.y>c&&(n.y=Math.floor(c/w.y),l.y=n.y*w.y,C.mapSize.y=n.y);null!==C.map||C.isPointLightShadow||3!==this.type||(w={minFilter:1006,magFilter:1006,format:1023},C.map=new Ha(l.x,l.y,w),C.map.texture.name=E.name+".shadowMap", -C.mapPass=new Ha(l.x,l.y,w),C.camera.updateProjectionMatrix());null===C.map&&(C.map=new Ha(l.x,l.y,{minFilter:1003,magFilter:1003,format:1023}),C.map.texture.name=E.name+".shadowMap",C.camera.updateProjectionMatrix());a.setRenderTarget(C.map);a.clear();w=C.getViewportCount();for(var U=0;U\nvoid main() {\n float mean = 0.0;\n float squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n for ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n #ifdef HORIZONAL_PASS\n vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n mean += distribution.x;\n squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n #else\n float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n mean += depth;\n squared_mean += depth * depth;\n #endif\n }\n mean = mean * HALF_SAMPLE_RATE;\n squared_mean = squared_mean * HALF_SAMPLE_RATE;\n float std_dev = sqrt( squared_mean - mean * mean );\n gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}), +m=u.clone();m.defines.HORIZONAL_PASS=1;var E=new F;E.setAttribute("position",new H(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));var x=new X(E,u),Ea=this;this.enabled=!1;this.autoUpdate=!0;this.needsUpdate=!1;this.type=1;this.render=function(d,e,f){if(!1!==Ea.enabled&&(!1!==Ea.autoUpdate||!1!==Ea.needsUpdate)&&0!==d.length){var k=a.getRenderTarget(),p=a.getActiveCubeFace(),v=a.getActiveMipmapLevel(),r=a.state;r.setBlending(0);r.buffers.color.setClear(1,1,1,1);r.buffers.depth.setTest(!0);r.setScissorTest(!1); +for(var t=0,A=d.length;tc||l.y>c)l.x>c&&(n.x=Math.floor(c/w.x),l.x=n.x*w.x,C.mapSize.x=n.x),l.y>c&&(n.y=Math.floor(c/w.y),l.y=n.y*w.y,C.mapSize.y=n.y);null!==C.map||C.isPointLightShadow||3!==this.type||(w={minFilter:1006,magFilter:1006,format:1023},C.map=new Ha(l.x,l.y,w),C.map.texture.name=E.name+".shadowMap", +C.mapPass=new Ha(l.x,l.y,w),C.camera.updateProjectionMatrix());null===C.map&&(C.map=new Ha(l.x,l.y,{minFilter:1003,magFilter:1003,format:1023}),C.map.texture.name=E.name+".shadowMap",C.camera.updateProjectionMatrix());a.setRenderTarget(C.map);a.clear();w=C.getViewportCount();for(var U=0;Ud||a.height>d)e=d/Math.max(a.width,a.height);if(1>e||!0===b){if("undefined"!==typeof HTMLImageElement&&a instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&a instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&a instanceof ImageBitmap)return d=b?K.floorPowerOfTwo:Math.floor,b=d(e*a.width),e=d(e*a.height),void 0===F&&(F=h(b,e)),c=c?h(b,e):F,c.width=b,c.height=e, -c.getContext("2d").drawImage(a,0,0,b,e),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+a.width+"x"+a.height+") to ("+b+"x"+e+")."),c;"data"in a&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+a.width+"x"+a.height+").")}return a}function n(a){return K.isPowerOfTwo(a.width)&&K.isPowerOfTwo(a.height)}function t(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function p(b,c,e,f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e, -f))*Math.LOG2E}function k(c,d,e){if(!1===aa)return d;if(null!==c){if(void 0!==a[c])return a[c];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+c+"'")}c=d;6403===d&&(5126===e&&(c=33326),5131===e&&(c=33325),5121===e&&(c=33321));6407===d&&(5126===e&&(c=34837),5131===e&&(c=34843),5121===e&&(c=32849));6408===d&&(5126===e&&(c=34836),5131===e&&(c=34842),5121===e&&(c=32856));33325!==c&&33326!==c&&34842!==c&&34836!==c||b.get("EXT_color_buffer_float");return c}function r(a){return 1003=== -a||1004===a||1005===a?9728:9729}function q(b){b=b.target;b.removeEventListener("dispose",q);var c=d.get(b);void 0!==c.__webglInit&&(a.deleteTexture(c.__webglTexture),d.remove(b));b.isVideoTexture&&D.delete(b);g.memory.textures--}function u(b){b=b.target;b.removeEventListener("dispose",u);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLCubeRenderTarget)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]), +c.getContext("2d").drawImage(a,0,0,b,e),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+a.width+"x"+a.height+") to ("+b+"x"+e+")."),c;"data"in a&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+a.width+"x"+a.height+").")}return a}function n(a){return K.isPowerOfTwo(a.width)&&K.isPowerOfTwo(a.height)}function q(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function k(b,c,e,f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e, +f))*Math.LOG2E}function v(c,d,e){if(!1===aa)return d;if(null!==c){if(void 0!==a[c])return a[c];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+c+"'")}c=d;6403===d&&(5126===e&&(c=33326),5131===e&&(c=33325),5121===e&&(c=33321));6407===d&&(5126===e&&(c=34837),5131===e&&(c=34843),5121===e&&(c=32849));6408===d&&(5126===e&&(c=34836),5131===e&&(c=34842),5121===e&&(c=32856));33325!==c&&33326!==c&&34842!==c&&34836!==c||b.get("EXT_color_buffer_float");return c}function t(a){return 1003=== +a||1004===a||1005===a?9728:9729}function r(b){b=b.target;b.removeEventListener("dispose",r);var c=d.get(b);void 0!==c.__webglInit&&(a.deleteTexture(c.__webglTexture),d.remove(b));b.isVideoTexture&&D.delete(b);g.memory.textures--}function u(b){b=b.target;b.removeEventListener("dispose",u);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLCubeRenderTarget)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]), c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer),c.__webglMultisampledFramebuffer&&a.deleteFramebuffer(c.__webglMultisampledFramebuffer),c.__webglColorRenderbuffer&&a.deleteRenderbuffer(c.__webglColorRenderbuffer),c.__webglDepthRenderbuffer&&a.deleteRenderbuffer(c.__webglDepthRenderbuffer);d.remove(b.texture);d.remove(b)}g.memory.textures--}function m(a,b){var e=d.get(a); if(a.isVideoTexture){var f=g.render.frame;D.get(a)!==f&&(D.set(a,f),a.update())}if(0v;v++)e[v]=h||q?q?b.image[v].image:b.image[v]:l(b.image[v],!1,!0,ka);v=e[0];var r=n(v)||aa,m=f.convert(b.format),u=f.convert(b.type),A=k(b.internalFormat,m,u);w(34067,b,r);if(h){for(q=0;6>q;q++){var x=e[q].mipmaps;for(h=0;hh;h++)if(q)for(c.texImage2D(34069+h,0,A,e[h].width,e[h].height,0,m,u,e[h].data),R=0;Rr;r++)e[r]=h||p?p?b.image[r].image:b.image[r]:l(b.image[r],!1,!0,ka);r=e[0];var t=n(r)||aa,m=f.convert(b.format),u=f.convert(b.type),A=v(b.internalFormat,m,u);w(34067,b,t);if(h){for(p=0;6>p;p++){var x=e[p].mipmaps;for(h=0;hh;h++)if(p)for(c.texImage2D(34069+h,0,A,e[h].width,e[h].height,0,m,u,e[h].data),R=0;R=fa&&console.warn("THREE.WebGLTextures: Trying to use "+a+" texture units while this GPU supports only "+fa);H+=1;return a};this.resetTextureUnits=function(){H=0};this.setTexture2D=m;this.setTexture2DArray=function(a,b){var e=d.get(a);0q;q++)e.__webglFramebuffer[q]=a.createFramebuffer();else if(e.__webglFramebuffer=a.createFramebuffer(),q)if(aa){e.__webglMultisampledFramebuffer=a.createFramebuffer();e.__webglColorRenderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,e.__webglColorRenderbuffer); -q=f.convert(b.texture.format);var r=f.convert(b.texture.type);q=k(b.texture.internalFormat,q,r);r=P(b);a.renderbufferStorageMultisample(36161,r,q,b.width,b.height);a.bindFramebuffer(36160,e.__webglMultisampledFramebuffer);a.framebufferRenderbuffer(36160,36064,36161,e.__webglColorRenderbuffer);a.bindRenderbuffer(36161,null);b.depthBuffer&&(e.__webglDepthRenderbuffer=a.createRenderbuffer(),z(e.__webglDepthRenderbuffer,b,!0));a.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2."); -if(l){c.bindTexture(34067,h.__webglTexture);w(34067,b.texture,v);for(h=0;6>h;h++)C(e.__webglFramebuffer[h],b,36064,34069+h);t(b.texture,v)&&p(34067,b.texture,b.width,b.height);c.bindTexture(34067,null)}else c.bindTexture(3553,h.__webglTexture),w(3553,b.texture,v),C(e.__webglFramebuffer,b,36064,3553),t(b.texture,v)&&p(3553,b.texture,b.width,b.height),c.bindTexture(3553,null);if(b.depthBuffer){e=d.get(b);v=!0===b.isWebGLCubeRenderTarget;if(b.depthTexture){if(v)throw Error("target.depthTexture not supported in Cube render targets"); +b),c.bindTexture(35866,e.__webglTexture))};this.setTexture3D=function(a,b){var e=d.get(a);0p;p++)e.__webglFramebuffer[p]=a.createFramebuffer();else if(e.__webglFramebuffer=a.createFramebuffer(),p)if(aa){e.__webglMultisampledFramebuffer=a.createFramebuffer();e.__webglColorRenderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,e.__webglColorRenderbuffer); +p=f.convert(b.texture.format);var t=f.convert(b.texture.type);p=v(b.texture.internalFormat,p,t);t=P(b);a.renderbufferStorageMultisample(36161,t,p,b.width,b.height);a.bindFramebuffer(36160,e.__webglMultisampledFramebuffer);a.framebufferRenderbuffer(36160,36064,36161,e.__webglColorRenderbuffer);a.bindRenderbuffer(36161,null);b.depthBuffer&&(e.__webglDepthRenderbuffer=a.createRenderbuffer(),z(e.__webglDepthRenderbuffer,b,!0));a.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2."); +if(l){c.bindTexture(34067,h.__webglTexture);w(34067,b.texture,r);for(h=0;6>h;h++)C(e.__webglFramebuffer[h],b,36064,34069+h);q(b.texture,r)&&k(34067,b.texture,b.width,b.height);c.bindTexture(34067,null)}else c.bindTexture(3553,h.__webglTexture),w(3553,b.texture,r),C(e.__webglFramebuffer,b,36064,3553),q(b.texture,r)&&k(3553,b.texture,b.width,b.height),c.bindTexture(3553,null);if(b.depthBuffer){e=d.get(b);r=!0===b.isWebGLCubeRenderTarget;if(b.depthTexture){if(r)throw Error("target.depthTexture not supported in Cube render targets"); if(b&&b.isWebGLCubeRenderTarget)throw Error("Depth Texture with cube render targets is not supported");a.bindFramebuffer(36160,e.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&&b.depthTexture.image.width===b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0); -m(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(36160,36096,3553,e,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(36160,33306,3553,e,0);else throw Error("Unknown depthTexture format");}else if(v)for(e.__webglDepthbuffer=[],v=0;6>v;v++)a.bindFramebuffer(36160,e.__webglFramebuffer[v]),e.__webglDepthbuffer[v]=a.createRenderbuffer(),z(e.__webglDepthbuffer[v],b,!1);else a.bindFramebuffer(36160,e.__webglFramebuffer),e.__webglDepthbuffer= -a.createRenderbuffer(),z(e.__webglDepthbuffer,b,!1);a.bindFramebuffer(36160,null)}};this.updateRenderTargetMipmap=function(a){var b=a.texture,e=n(a)||aa;if(t(b,e)){e=a.isWebGLCubeRenderTarget?34067:3553;var f=d.get(b).__webglTexture;c.bindTexture(e,f);p(e,b,a.width,a.height);c.bindTexture(e,null)}};this.updateMultisampleRenderTarget=function(b){if(b.isWebGLMultisampleRenderTarget)if(aa){var c=d.get(b);a.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);a.bindFramebuffer(36009,c.__webglFramebuffer); +m(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(36160,36096,3553,e,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(36160,33306,3553,e,0);else throw Error("Unknown depthTexture format");}else if(r)for(e.__webglDepthbuffer=[],r=0;6>r;r++)a.bindFramebuffer(36160,e.__webglFramebuffer[r]),e.__webglDepthbuffer[r]=a.createRenderbuffer(),z(e.__webglDepthbuffer[r],b,!1);else a.bindFramebuffer(36160,e.__webglFramebuffer),e.__webglDepthbuffer= +a.createRenderbuffer(),z(e.__webglDepthbuffer,b,!1);a.bindFramebuffer(36160,null)}};this.updateRenderTargetMipmap=function(a){var b=a.texture,e=n(a)||aa;if(q(b,e)){e=a.isWebGLCubeRenderTarget?34067:3553;var f=d.get(b).__webglTexture;c.bindTexture(e,f);k(e,b,a.width,a.height);c.bindTexture(e,null)}};this.updateMultisampleRenderTarget=function(b){if(b.isWebGLMultisampleRenderTarget)if(aa){var c=d.get(b);a.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);a.bindFramebuffer(36009,c.__webglFramebuffer); var e=b.width,f=b.height,g=16384;b.depthBuffer&&(g|=256);b.stencilBuffer&&(g|=1024);a.blitFramebuffer(0,0,e,f,0,0,e,f,g,9728);a.bindFramebuffer(36160,c.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")};this.safeSetTexture2D=function(a,b){a&&a.isWebGLRenderTarget&&(!1===M&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),M=!0),a=a.texture); m(a,b)};this.safeSetTextureCube=function(a,b){a&&a.isWebGLCubeRenderTarget&&(!1===N&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),N=!0),a=a.texture);a&&a.isCubeTexture||Array.isArray(a.image)&&6===a.image.length?E(a,b):x(a,b)}}function Wh(a,b,c){var d=c.isWebGL2;return{convert:function(a){if(1009===a)return 5121;if(1017===a)return 32819;if(1018===a)return 32820;if(1019===a)return 33635;if(1010===a)return 5120; if(1011===a)return 5122;if(1012===a)return 5123;if(1013===a)return 5124;if(1014===a)return 5125;if(1015===a)return 5126;if(1016===a){if(d)return 5131;var c=b.get("OES_texture_half_float");return null!==c?c.HALF_FLOAT_OES:null}if(1021===a)return 6406;if(1022===a)return 6407;if(1023===a)return 6408;if(1024===a)return 6409;if(1025===a)return 6410;if(1026===a)return 6402;if(1027===a)return 34041;if(1028===a)return 6403;if(1029===a)return 36244;if(1030===a)return 33319;if(1031===a)return 33320;if(1032=== a)return 36248;if(1033===a)return 36249;if(33776===a||33777===a||33778===a||33779===a)if(c=b.get("WEBGL_compressed_texture_s3tc"),null!==c){if(33776===a)return c.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===a)return c.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===a)return c.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===a)return c.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(35840===a||35841===a||35842===a||35843===a)if(c=b.get("WEBGL_compressed_texture_pvrtc"),null!==c){if(35840===a)return c.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; if(35841===a)return c.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===a)return c.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===a)return c.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(36196===a)return c=b.get("WEBGL_compressed_texture_etc1"),null!==c?c.COMPRESSED_RGB_ETC1_WEBGL:null;if(37492===a||37496===a)if(c=b.get("WEBGL_compressed_texture_etc"),null!==c){if(37492===a)return c.COMPRESSED_RGB8_ETC2;if(37496===a)return c.COMPRESSED_RGBA8_ETC2_EAC}if(37808===a||37809===a||37810===a||37811===a||37812=== a||37813===a||37814===a||37815===a||37816===a||37817===a||37818===a||37819===a||37820===a||37821===a||37840===a||37841===a||37842===a||37843===a||37844===a||37845===a||37846===a||37847===a||37848===a||37849===a||37850===a||37851===a||37852===a||37853===a)return c=b.get("WEBGL_compressed_texture_astc"),null!==c?a:null;if(36492===a)return c=b.get("EXT_texture_compression_bptc"),null!==c?a:null;if(1020===a){if(d)return 34042;c=b.get("WEBGL_depth_texture");return null!==c?c.UNSIGNED_INT_24_8_WEBGL:null}}}} -function Ne(a){O.call(this);this.cameras=a||[]}function Jc(){z.call(this);this.type="Group"}function Oe(){this._grip=this._targetRay=null}function Xh(a,b){function c(a){var b=q.get(a.inputSource);b&&b.dispatchEvent({type:a.type})}function d(){q.forEach(function(a,b){a.disconnect(b)});q.clear();a.setFramebuffer(null);a.setRenderTarget(a.getRenderTarget());P.stop();h.isPresenting=!1;h.dispatchEvent({type:"sessionend"})}function e(a){t=a;P.setContext(l);P.start();h.isPresenting=!0;h.dispatchEvent({type:"sessionstart"})} -function f(a){for(var b=l.inputSources,c=0;cf.matrixWorld.determinant(),l=r(a,c,e,f);V.setMaterial(e,h);var n=!1;if(b!==d.id||Me!==l.id||S!==(!0===e.wireframe))b=d.id,Me=l.id,S=!0===e.wireframe,n=!0;if(e.morphTargets||e.morphNormals)za.update(f,d,e,l),n=!0;!0===f.isInstancedMesh&&(n=!0);a=d.index;c=d.attributes.position;if(null===a){if(void 0===c||0===c.count)return}else if(0===a.count)return; -var t=1;!0===e.wireframe&&(a=wa.getWireframeAttribute(d),t=2);h=Ba;if(null!==a){var p=na.get(a);h=Da;h.setIndex(p)}if(n){if(!1!==Ga.isWebGL2||!f.isInstancedMesh&&!d.isInstancedBufferGeometry||null!==sa.get("ANGLE_instanced_arrays")){V.initAttributes();n=d.attributes;l=l.getAttributes();var k=e.defaultAttributeValues;for(U in l){var q=l[U];if(0<=q){var v=n[U];if(void 0!==v){var u=v.normalized,m=v.itemSize,A=na.get(v);if(void 0!==A){var x=A.buffer,E=A.type;A=A.bytesPerElement;if(v.isInterleavedBufferAttribute){var C= -v.data,w=C.stride;v=v.offset;C&&C.isInstancedInterleavedBuffer?(V.enableAttributeAndDivisor(q,C.meshPerAttribute),void 0===d._maxInstanceCount&&(d._maxInstanceCount=C.meshPerAttribute*C.count)):V.enableAttribute(q);I.bindBuffer(34962,x);V.vertexAttribPointer(q,m,E,u,w*A,v*A)}else v.isInstancedBufferAttribute?(V.enableAttributeAndDivisor(q,v.meshPerAttribute),void 0===d._maxInstanceCount&&(d._maxInstanceCount=v.meshPerAttribute*v.count)):V.enableAttribute(q),I.bindBuffer(34962,x),V.vertexAttribPointer(q, -m,E,u,0,0)}}else if("instanceMatrix"===U)m=na.get(f.instanceMatrix),void 0!==m&&(u=m.buffer,m=m.type,V.enableAttributeAndDivisor(q+0,1),V.enableAttributeAndDivisor(q+1,1),V.enableAttributeAndDivisor(q+2,1),V.enableAttributeAndDivisor(q+3,1),I.bindBuffer(34962,u),I.vertexAttribPointer(q+0,4,m,!1,64,0),I.vertexAttribPointer(q+1,4,m,!1,64,16),I.vertexAttribPointer(q+2,4,m,!1,64,32),I.vertexAttribPointer(q+3,4,m,!1,64,48));else if(void 0!==k&&(u=k[U],void 0!==u))switch(u.length){case 2:I.vertexAttrib2fv(q, -u);break;case 3:I.vertexAttrib3fv(q,u);break;case 4:I.vertexAttrib4fv(q,u);break;default:I.vertexAttrib1fv(q,u)}}}V.disableUnusedAttributes()}null!==a&&I.bindBuffer(34963,p.buffer)}var U=d.drawRange.start*t;n=null!==g?g.start*t:0;p=Math.max(U,n);g=Math.max(0,Math.min(null!==a?a.count:c.count,U+d.drawRange.count*t,n+(null!==g?g.count*t:Infinity))-1-p+1);0!==g&&(f.isMesh?!0===e.wireframe?(V.setLineWidth(e.wireframeLinewidth*(null===G?da:1)),h.setMode(1)):h.setMode(4):f.isLine?(e=e.linewidth,void 0=== -e&&(e=1),V.setLineWidth(e*(null===G?da:1)),f.isLineSegments?h.setMode(1):f.isLineLoop?h.setMode(2):h.setMode(3)):f.isPoints?h.setMode(0):f.isSprite&&h.setMode(4),f.isInstancedMesh?h.renderInstances(d,p,g,f.count):d.isInstancedBufferGeometry?h.renderInstances(d,p,g,Math.min(d.instanceCount,d._maxInstanceCount)):h.render(p,g))};this.compile=function(a,b){aa=va.get(a,b);aa.init();a.traverse(function(a){a.isLight&&(aa.pushLight(a),a.castShadow&&aa.pushShadow(a))});aa.setupLights(b);var c=new WeakMap; -a.traverse(function(b){var d=b.material;if(d)if(Array.isArray(d))for(var e=0;ef.matrixWorld.determinant(),l=t(a,c,e,f);V.setMaterial(e,h);var n=!1;if(b!==d.id||Me!==l.id||S!==(!0===e.wireframe))b=d.id,Me=l.id,S=!0===e.wireframe,n=!0;if(e.morphTargets||e.morphNormals)za.update(f,d,e,l),n=!0;!0===f.isInstancedMesh&&(n=!0);a=d.index;c=d.attributes.position;if(null===a){if(void 0===c||0===c.count)return}else if(0===a.count)return; +var q=1;!0===e.wireframe&&(a=wa.getWireframeAttribute(d),q=2);h=Ba;if(null!==a){var k=na.get(a);h=Da;h.setIndex(k)}if(n){if(!1!==Ga.isWebGL2||!f.isInstancedMesh&&!d.isInstancedBufferGeometry||null!==sa.get("ANGLE_instanced_arrays")){V.initAttributes();n=d.attributes;l=l.getAttributes();var p=e.defaultAttributeValues;for(U in l){var r=l[U];if(0<=r){var v=n[U];if(void 0!==v){var u=v.normalized,m=v.itemSize,A=na.get(v);if(void 0!==A){var x=A.buffer,E=A.type;A=A.bytesPerElement;if(v.isInterleavedBufferAttribute){var C= +v.data,w=C.stride;v=v.offset;C&&C.isInstancedInterleavedBuffer?(V.enableAttributeAndDivisor(r,C.meshPerAttribute),void 0===d._maxInstanceCount&&(d._maxInstanceCount=C.meshPerAttribute*C.count)):V.enableAttribute(r);I.bindBuffer(34962,x);V.vertexAttribPointer(r,m,E,u,w*A,v*A)}else v.isInstancedBufferAttribute?(V.enableAttributeAndDivisor(r,v.meshPerAttribute),void 0===d._maxInstanceCount&&(d._maxInstanceCount=v.meshPerAttribute*v.count)):V.enableAttribute(r),I.bindBuffer(34962,x),V.vertexAttribPointer(r, +m,E,u,0,0)}}else if("instanceMatrix"===U)m=na.get(f.instanceMatrix),void 0!==m&&(u=m.buffer,m=m.type,V.enableAttributeAndDivisor(r+0,1),V.enableAttributeAndDivisor(r+1,1),V.enableAttributeAndDivisor(r+2,1),V.enableAttributeAndDivisor(r+3,1),I.bindBuffer(34962,u),I.vertexAttribPointer(r+0,4,m,!1,64,0),I.vertexAttribPointer(r+1,4,m,!1,64,16),I.vertexAttribPointer(r+2,4,m,!1,64,32),I.vertexAttribPointer(r+3,4,m,!1,64,48));else if(void 0!==p&&(u=p[U],void 0!==u))switch(u.length){case 2:I.vertexAttrib2fv(r, +u);break;case 3:I.vertexAttrib3fv(r,u);break;case 4:I.vertexAttrib4fv(r,u);break;default:I.vertexAttrib1fv(r,u)}}}V.disableUnusedAttributes()}null!==a&&I.bindBuffer(34963,k.buffer)}var U=d.drawRange.start*q;n=null!==g?g.start*q:0;k=Math.max(U,n);g=Math.max(0,Math.min(null!==a?a.count:c.count,U+d.drawRange.count*q,n+(null!==g?g.count*q:Infinity))-1-k+1);0!==g&&(f.isMesh?!0===e.wireframe?(V.setLineWidth(e.wireframeLinewidth*(null===G?da:1)),h.setMode(1)):h.setMode(4):f.isLine?(e=e.linewidth,void 0=== +e&&(e=1),V.setLineWidth(e*(null===G?da:1)),f.isLineSegments?h.setMode(1):f.isLineLoop?h.setMode(2):h.setMode(3)):f.isPoints?h.setMode(0):f.isSprite&&h.setMode(4),f.isInstancedMesh?h.renderInstances(d,k,g,f.count):d.isInstancedBufferGeometry?h.renderInstances(d,k,g,Math.min(d.instanceCount,d._maxInstanceCount)):h.render(k,g))};this.compile=function(a,b){aa=va.get(a,b);aa.init();a.traverse(function(a){a.isLight&&(aa.pushLight(a),a.castShadow&&aa.pushShadow(a))});aa.setupLights(b);var c=new WeakMap; +a.traverse(function(b){var d=b.material;if(d)if(Array.isArray(d))for(var e=0;ee.far||f.push({distance:a,distanceToRay:Math.sqrt(h),point:c,index:b,face:null,object:g}))}function sg(a,b,c,d,e,f,g,h,l){W.call(this,a,b,c,d,e,f,g,h,l);this.format=void 0!==g?g:1022;this.minFilter=void 0!==f?f:1006;this.magFilter=void 0!==e?e:1006;this.generateMipmaps=!1}function Nc(a,b,c,d,e,f,g,h,l,n,t,p){W.call(this,null,f,g,h,l,n,d,e,t, -p);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function Qd(a,b,c,d,e,f,g,h,l){W.call(this,a,b,c,d,e,f,g,h,l);this.needsUpdate=!0}function Rd(a,b,c,d,e,f,g,h,l,n){n=void 0!==n?n:1026;if(1026!==n&&1027!==n)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===n&&(c=1012);void 0===c&&1027===n&&(c=1020);W.call(this,null,d,e,f,g,h,n,c,l);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter= -void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Oc(a){F.call(this);this.type="WireframeGeometry";var b=[],c=[0,0],d={},e=["a","b","c"];if(a&&a.isGeometry){for(var f=a.faces,g=0,h=f.length;gn;n++){var t=l[e[n]],p=l[e[(n+1)%3]];c[0]=Math.min(t,p);c[1]=Math.max(t,p);t=c[0]+","+c[1];void 0===d[t]&&(d[t]={index1:c[0],index2:c[1]})}for(var k in d)c=d[k],f=a.vertices[c.index1],b.push(f.x,f.y,f.z),f=a.vertices[c.index2],b.push(f.x,f.y,f.z)}else if(a&&a.isBufferGeometry)if(k= -new m,null!==a.index){e=a.attributes.position;g=a.index;a=a.groups;0===a.length&&(a=[{start:0,count:g.count,materialIndex:0}]);h=0;for(l=a.length;hp;p++){var r=g.getX(n+p),q=g.getX(n+(p+1)%3);c[0]=Math.min(r,q);c[1]=Math.max(r,q);r=c[0]+","+c[1];void 0===d[r]&&(d[r]={index1:c[0],index2:c[1]})}for(f in d)c=d[f],k.fromBufferAttribute(e,c.index1),b.push(k.x,k.y,k.z),k.fromBufferAttribute(e,c.index2),b.push(k.x,k.y,k.z)}else for(d=a.attributes.position, -c=0,f=d.count/3;ca;a++)k.fromBufferAttribute(d,3*c+a),b.push(k.x,k.y,k.z),k.fromBufferAttribute(d,3*c+(a+1)%3),b.push(k.x,k.y,k.z);this.setAttribute("position",new B(b,3))}function Sd(a,b,c){L.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Pc(a,b,c));this.mergeVertices()}function Pc(a,b,c){F.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new m,l= -new m,n=new m,t=new m,p=new m;3>a.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");for(var k=b+1,r=0;r<=c;r++)for(var q=r/c,u=0;u<=b;u++){var A=u/b;a(A,q,l);e.push(l.x,l.y,l.z);0<=A-1E-5?(a(A-1E-5,q,n),t.subVectors(l,n)):(a(A+1E-5,q,n),t.subVectors(n,l));0<=q-1E-5?(a(A,q-1E-5,n),p.subVectors(l,n)):(a(A,q+1E-5,n),p.subVectors(n,l));h.crossVectors(t,p).normalize();f.push(h.x,h.y,h.z);g.push(A,q)}for(a=0;ad&& +function qg(a,b,c,d,e,f,g){var h=rg.distanceSqToPoint(a);he.far||f.push({distance:a,distanceToRay:Math.sqrt(h),point:c,index:b,face:null,object:g}))}function sg(a,b,c,d,e,f,g,h,l){W.call(this,a,b,c,d,e,f,g,h,l);this.format=void 0!==g?g:1022;this.minFilter=void 0!==f?f:1006;this.magFilter=void 0!==e?e:1006;this.generateMipmaps=!1}function Nc(a,b,c,d,e,f,g,h,l,n,q,k){W.call(this,null,f,g,h,l,n,d,e,q, +k);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function Qd(a,b,c,d,e,f,g,h,l){W.call(this,a,b,c,d,e,f,g,h,l);this.needsUpdate=!0}function Rd(a,b,c,d,e,f,g,h,l,n){n=void 0!==n?n:1026;if(1026!==n&&1027!==n)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===n&&(c=1012);void 0===c&&1027===n&&(c=1020);W.call(this,null,d,e,f,g,h,n,c,l);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter= +void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Oc(a){F.call(this);this.type="WireframeGeometry";var b=[],c=[0,0],d={},e=["a","b","c"];if(a&&a.isGeometry){for(var f=a.faces,g=0,h=f.length;gn;n++){var q=l[e[n]],k=l[e[(n+1)%3]];c[0]=Math.min(q,k);c[1]=Math.max(q,k);q=c[0]+","+c[1];void 0===d[q]&&(d[q]={index1:c[0],index2:c[1]})}for(var v in d)c=d[v],f=a.vertices[c.index1],b.push(f.x,f.y,f.z),f=a.vertices[c.index2],b.push(f.x,f.y,f.z)}else if(a&&a.isBufferGeometry)if(v= +new m,null!==a.index){e=a.attributes.position;g=a.index;a=a.groups;0===a.length&&(a=[{start:0,count:g.count,materialIndex:0}]);h=0;for(l=a.length;hk;k++){var t=g.getX(n+k),r=g.getX(n+(k+1)%3);c[0]=Math.min(t,r);c[1]=Math.max(t,r);t=c[0]+","+c[1];void 0===d[t]&&(d[t]={index1:c[0],index2:c[1]})}for(f in d)c=d[f],v.fromBufferAttribute(e,c.index1),b.push(v.x,v.y,v.z),v.fromBufferAttribute(e,c.index2),b.push(v.x,v.y,v.z)}else for(d=a.attributes.position, +c=0,f=d.count/3;ca;a++)v.fromBufferAttribute(d,3*c+a),b.push(v.x,v.y,v.z),v.fromBufferAttribute(d,3*c+(a+1)%3),b.push(v.x,v.y,v.z);this.setAttribute("position",new B(b,3))}function Sd(a,b,c){L.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Pc(a,b,c));this.mergeVertices()}function Pc(a,b,c){F.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new m,l= +new m,n=new m,q=new m,k=new m;3>a.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");for(var v=b+1,t=0;t<=c;t++)for(var r=t/c,u=0;u<=b;u++){var A=u/b;a(A,r,l);e.push(l.x,l.y,l.z);0<=A-1E-5?(a(A-1E-5,r,n),q.subVectors(l,n)):(a(A+1E-5,r,n),q.subVectors(n,l));0<=r-1E-5?(a(A,r-1E-5,n),k.subVectors(l,n)):(a(A,r+1E-5,n),k.subVectors(n,l));h.crossVectors(q,k).normalize();f.push(h.x,h.y,h.z);g.push(A,r)}for(a=0;ad&& 1===a.x&&(l[b]=a.x-1);0===c.x&&0===c.z&&(l[b]=d/2/Math.PI+.5)}F.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;d=d||0;var h=[],l=[];(function(a){for(var c=new m,d=new m,g=new m,h=0;he&&(.2>b&&(l[a+0]+=1),.2>c&&(l[a+2]+=1),.2>d&&(l[a+4]+=1))})();this.setAttribute("position",new B(h,3)); @@ -243,27 +243,27 @@ this.setAttribute("normal",new B(h.slice(),3));this.setAttribute("uv",new B(l,2) "OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new bc(a,b));this.mergeVertices()}function bc(a,b){Fa.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Wd(a,b){L.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Rc(a,b));this.mergeVertices()}function Rc(a,b){var c=(1+Math.sqrt(5))/ 2;Fa.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Xd(a,b){L.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Sc(a,b));this.mergeVertices()}function Sc(a,b){var c=(1+Math.sqrt(5))/ 2,d=1/c;Fa.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a, -detail:b}}function Yd(a,b,c,d,e,f){L.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new cc(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function cc(a,b,c,d,e){function f(e){t=a.getPointAt(e/b,t);var f=g.normals[e];e=g.binormals[e];for(var n=0;n<=d;n++){var p=n/d*Math.PI* -2,q=Math.sin(p);p=-Math.cos(p);l.x=p*f.x+q*e.x;l.y=p*f.y+q*e.y;l.z=p*f.z+q*e.z;l.normalize();v.push(l.x,l.y,l.z);h.x=t.x+c*l.x;h.y=t.y+c*l.y;h.z=t.z+c*l.z;k.push(h.x,h.y,h.z)}}F.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new m,l=new m,n=new w,t=new m,k=[],v=[],r=[],q=[];(function(){for(var a= -0;a=b;e-=d)f=ai(e,a[e],a[e+1],f);f&&We(f,f.next)&&(ae(f),f=f.next);return f}function Lb(a,b){if(!a)return a; -b||(b=a);do{var c=!1;if(a.steiner||!We(a,a.next)&&0!==ma(a.prev,a,a.next))a=a.next;else{ae(a);a=b=a.prev;if(a===a.next)break;c=!0}}while(c||a!==b);return b}function be(a,b,c,d,e,f,g){if(a){if(!g&&f){var h=a,l=h;do null===l.z&&(l.z=tg(l.x,l.y,d,e,f)),l.prevZ=l.prev,l=l.nextZ=l.next;while(l!==h);l.prevZ.nextZ=null;l.prevZ=null;h=l;var n,k,p,v,r=1;do{l=h;var q=h=null;for(k=0;l;){k++;var m=l;for(n=p=0;nr!==q.next.y>r&&q.next.y!== -q.y&&p<(q.next.x-q.x)*(r-q.y)/(q.next.y-q.y)+q.x&&(k=!k),q=q.next;while(q!==l);q=k}q=q&&(ma(l.prev,l,m.prev)||ma(l,m.prev,m))||We(l,m)&&0a.x?e.x>f.x?e.x:f.x:a.x>f.x?a.x:f.x,h=e.y>a.y?e.y>f.y?e.y:f.y:a.y>f.y?a.y:f.y,l=tg(e.xt!==r.next.y>t&&r.next.y!== +r.y&&p<(r.next.x-r.x)*(t-r.y)/(r.next.y-r.y)+r.x&&(k=!k),r=r.next;while(r!==l);r=k}r=r&&(ma(l.prev,l,m.prev)||ma(l,m.prev,m))||We(l,m)&&0a.x?e.x>f.x?e.x:f.x:a.x>f.x?a.x:f.x,h=e.y>a.y?e.y>f.y?e.y:f.y:a.y>f.y?a.y:f.y,l=tg(e.x=l&&d&&d.z<=b;){if(c!==a.prev&&c!==a.next&&Vc(e.x,e.y,a.x,a.y,f.x,f.y,c.x,c.y)&&0<=ma(c.prev,c,c.next))return!1;c=c.prevZ;if(d!==a.prev&&d!==a.next&&Vc(e.x,e.y,a.x,a.y,f.x,f.y,d.x,d.y)&&0<=ma(d.prev,d,d.next))return!1;d=d.nextZ}for(;c&&c.z>=l;){if(c!==a.prev&&c!==a.next&&Vc(e.x,e.y,a.x,a.y,f.x,f.y,c.x,c.y)&&0<=ma(c.prev,c,c.next))return!1;c=c.prevZ}for(;d&&d.z<=b;){if(d!==a.prev&&d!==a.next&&Vc(e.x, e.y,a.x,a.y,f.x,f.y,d.x,d.y)&&0<=ma(d.prev,d,d.next))return!1;d=d.nextZ}return!0}function Ek(a,b){return a.x-b.x}function Fk(a,b){var c=b,d=a.x,e=a.y,f=-Infinity;do{if(e<=c.y&&e>=c.next.y&&c.next.y!==c.y){var g=c.x+(e-c.y)*(c.next.x-c.x)/(c.next.y-c.y);if(g<=d&&g>f){f=g;if(g===d){if(e===c.y)return c;if(e===c.next.y)return c.next}var h=c.x=c.x&&c.x>=g&&d!==c.x&&Vc(eh.x)&&(p=c.x===h.x)){p=h;var m=c;p=0>ma(p.prev,p,m.prev)&&0>ma(m.next,p,p.next)}p&&(h=c,n=k)}c=c.next}while(c!==b);return h}function tg(a,b,c,d,e){a=32767*(a-c)*e;b=32767*(b-d)*e;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function Gk(a){var b=a,c=a;do{if(b.xh.x)&&(p=c.x===h.x)){p=h;var v=c;p=0>ma(p.prev,p,v.prev)&&0>ma(v.next,p,p.next)}p&&(h=c,n=k)}c=c.next}while(c!==b);return h}function tg(a,b,c,d,e){a=32767*(a-c)*e;b=32767*(b-d)*e;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function Gk(a){var b=a,c=a;do{if(b.x=Math.min(a.x,c.x)&&b.y<=Math.max(a.y,c.y)&&b.y>=Math.min(a.y,c.y)}function Xe(a){return 0a?-1:0}function ce(a,b){return 0>ma(a.prev,a,a.next)?0<=ma(a,b,a.next)&&0<=ma(a,a.prev,b):0>ma(a,b,a.prev)||0>ma(a,a.next,b)}function ci(a,b){var c=new ug(a.i,a.x,a.y),d=new ug(b.i,b.x,b.y),e=a.next,f=b.prev;a.next=b;b.prev=a;c.next=e;e.prev=c;d.next=c;c.prev=d;f.next=d;d.prev=f;return d}function ai(a,b,c,d){a=new ug(a,b,c);d?(a.next=d.next,a.prev=d,d.next.prev=a,d.next=a):(a.prev=a,a.next=a); return a}function ae(a){a.next.prev=a.prev;a.prev.next=a.next;a.prevZ&&(a.prevZ.nextZ=a.nextZ);a.nextZ&&(a.nextZ.prevZ=a.prevZ)}function ug(a,b,c){this.i=a;this.x=b;this.y=c;this.nextZ=this.prevZ=this.z=this.next=this.prev=null;this.steiner=!1}function di(a){var b=a.length;2Number.EPSILON){var l=Math.sqrt(h),n=Math.sqrt(f*f+g*g);h=b.x-e/l;b=b.y+d/l;g=((c.x-g/n-h)*g-(c.y+f/n-b)*f)/(d*g-e*f);f=h+d*g-a.x;d=b+e*g-a.y;e=f*f+d*d;if(2>=e)return new w(f,d);e=Math.sqrt(e/2)}else a=!1,d>Number.EPSILON? -f>Number.EPSILON&&(a=!0):d<-Number.EPSILON?f<-Number.EPSILON&&(a=!0):Math.sign(e)===Math.sign(g)&&(a=!0),a?(f=-e,e=Math.sqrt(h)):(f=d,d=e,e=Math.sqrt(h/2));return new w(f/e,d/e)}function h(a,b){for(var c=a.length;0<=--c;){var f=c,g=c-1;0>g&&(g=a.length-1);for(var h=0,l=x+2*P;hNumber.EPSILON&&(a=!0):d<-Number.EPSILON?f<-Number.EPSILON&&(a=!0):Math.sign(e)===Math.sign(g)&&(a=!0),a?(f=-e,e=Math.sqrt(h)):(f=d,d=e,e=Math.sqrt(h/2));return new w(f/e,d/e)}function h(a,b){for(var c=a.length;0<=--c;){var f=c,g=c-1;0>g&&(g=a.length-1);for(var h=0,l=x+2*P;hk;k++){var p=n[f[k]];var m=n[f[(k+1)%3]];d[0]=Math.min(p,m);d[1]=Math.max(p,m);p=d[0]+","+d[1];void 0===e[p]?e[p]={index1:d[0],index2:d[1],face1:h,face2:void 0}:e[p].face2=h}for(p in e)if(d=e[p],void 0===d.face2||g[d.face1].normal.dot(g[d.face2].normal)<=b)f=a[d.index1],c.push(f.x,f.y,f.z),f=a[d.index2],c.push(f.x,f.y,f.z);this.setAttribute("position",new B(c,3))}function hc(a, -b,c,d,e,f,g,h){L.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new sb(a,b,c,d,e,f,g,h));this.mergeVertices()}function sb(a,b,c,d,e,f,g,h){function l(c){var e,f=new w,l=new m,t=0,u=!0===c?a:b,x=!0===c?1:-1;var z=q;for(e=1;e<=d;e++)p.push(0,A*x,0),v.push(0,x,0),r.push(.5,.5),q++;e=q;for(var B=0;B<=d;B++){var y=B/d*h+g,D=Math.cos(y);y=Math.sin(y);l.x=u*y;l.y= -A*x;l.z=u*D;p.push(l.x,l.y,l.z);v.push(0,x,0);f.x=.5*D+.5;f.y=.5*y*x+.5;r.push(f.x,f.y);q++}for(f=0;fc;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c= this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}});var kd,Ob={getDataURL:function(a){if(/^data:/i.test(a.src)||"undefined"==typeof HTMLCanvasElement)return a.src;if(!(a instanceof HTMLCanvasElement)){void 0===kd&&(kd=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"));kd.width=a.width;kd.height=a.height;var b=kd.getContext("2d");a instanceof ImageData?b.putImageData(a,0,0):b.drawImage(a,0,0,a.width,a.height); @@ -383,7 +383,7 @@ manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(thi this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this},random:function(){this.x= Math.random();this.y=Math.random();this.z=Math.random();this.w=Math.random();return this}});Ha.prototype=Object.assign(Object.create(ua.prototype),{constructor:Ha,isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.texture.image.width=a,this.texture.image.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height; this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});ag.prototype=Object.assign(Object.create(Ha.prototype),{constructor:ag,isWebGLMultisampleRenderTarget:!0,copy:function(a){Ha.prototype.copy.call(this,a);this.samples=a.samples;return this}});Object.assign(na,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a, -b,c,d,e,f,g){var h=c[d+0],l=c[d+1],n=c[d+2];c=c[d+3];d=e[f+0];var k=e[f+1],p=e[f+2];e=e[f+3];if(c!==e||h!==d||l!==k||n!==p){f=1-g;var m=h*d+l*k+n*p+c*e,r=0<=m?1:-1,q=1-m*m;q>Number.EPSILON&&(q=Math.sqrt(q),m=Math.atan2(q,m*r),f=Math.sin(f*m)/q,g=Math.sin(g*m)/q);r*=g;h=h*f+d*r;l=l*f+k*r;n=n*f+p*r;c=c*f+e*r;f===1-g&&(g=1/Math.sqrt(h*h+l*l+n*n+c*c),h*=g,l*=g,n*=g,c*=g)}a[b]=h;a[b+1]=l;a[b+2]=n;a[b+3]=c},multiplyQuaternionsFlat:function(a,b,c,d,e,f){var g=c[d],h=c[d+1],l=c[d+2];c=c[d+3];d=e[f];var n= +b,c,d,e,f,g){var h=c[d+0],l=c[d+1],n=c[d+2];c=c[d+3];d=e[f+0];var k=e[f+1],p=e[f+2];e=e[f+3];if(c!==e||h!==d||l!==k||n!==p){f=1-g;var m=h*d+l*k+n*p+c*e,t=0<=m?1:-1,r=1-m*m;r>Number.EPSILON&&(r=Math.sqrt(r),m=Math.atan2(r,m*t),f=Math.sin(f*m)/r,g=Math.sin(g*m)/r);t*=g;h=h*f+d*t;l=l*f+k*t;n=n*f+p*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(h*h+l*l+n*n+c*c),h*=g,l*=g,n*=g,c*=g)}a[b]=h;a[b+1]=l;a[b+2]=n;a[b+3]=c},multiplyQuaternionsFlat:function(a,b,c,d,e,f){var g=c[d],h=c[d+1],l=c[d+2];c=c[d+3];d=e[f];var n= e[f+1],k=e[f+2];e=e[f+3];a[b]=g*e+c*d+h*k-l*n;a[b+1]=h*e+c*n+l*d-g*k;a[b+2]=l*e+c*k+g*n-h*d;a[b+3]=c*e-g*d-h*n-l*k;return a}});Object.defineProperties(na.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this._onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this._onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this._onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this._onChangeCallback()}}}); Object.assign(na.prototype,{isQuaternion:!0,set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this._onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this._onChangeCallback();return this},setFromEuler:function(a,b){if(!a||!a.isEuler)throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=a._x,d=a._y, e=a._z;a=a.order;var f=Math.cos,g=Math.sin,h=f(c/2),l=f(d/2);f=f(e/2);c=g(c/2);d=g(d/2);e=g(e/2);switch(a){case "XYZ":this._x=c*l*f+h*d*e;this._y=h*d*f-c*l*e;this._z=h*l*e+c*d*f;this._w=h*l*f-c*d*e;break;case "YXZ":this._x=c*l*f+h*d*e;this._y=h*d*f-c*l*e;this._z=h*l*e-c*d*f;this._w=h*l*f+c*d*e;break;case "ZXY":this._x=c*l*f-h*d*e;this._y=h*d*f+c*l*e;this._z=h*l*e+c*d*f;this._w=h*l*f-c*d*e;break;case "ZYX":this._x=c*l*f-h*d*e;this._y=h*d*f+c*l*e;this._z=h*l*e-c*d*f;this._w=h*l*f+c*d*e;break;case "YZX":this._x= @@ -409,27 +409,27 @@ e-c*b;this.z=c*f-d*e;return this},projectOnVector:function(a){var b=a.lengthSq() distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z-a.z)},setFromSpherical:function(a){return this.setFromSphericalCoords(a.radius,a.phi,a.theta)},setFromSphericalCoords:function(a,b,c){var d=Math.sin(b)*a;this.x=d*Math.sin(c);this.y=Math.cos(b)*a;this.z=d*Math.cos(c);return this},setFromCylindrical:function(a){return this.setFromCylindricalCoords(a.radius,a.theta, a.y)},setFromCylindricalCoords:function(a,b,c){this.x=a*Math.sin(b);this.y=c;this.z=a*Math.cos(b);return this},setFromMatrixPosition:function(a){a=a.elements;this.x=a[12];this.y=a[13];this.z=a[14];return this},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){return this.fromArray(a.elements,4*b)},setFromMatrix3Column:function(a, b){return this.fromArray(a.elements,3*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);return this}, -random:function(){this.x=Math.random();this.y=Math.random();this.z=Math.random();return this}});var ld=new m,Q=new M,Kk=new m(0,0,0),Lk=new m(1,1,1),Pb=new m,Bf=new m,Da=new m;Object.assign(M.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,l,n,k,p,m,r,q,u){var t=this.elements;t[0]=a;t[4]=b;t[8]=c;t[12]=d;t[1]=e;t[5]=f;t[9]=g;t[13]=h;t[2]=l;t[6]=n;t[10]=k;t[14]=p;t[3]=m;t[7]=r;t[11]=q;t[15]=u;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new M).fromArray(this.elements)}, +random:function(){this.x=Math.random();this.y=Math.random();this.z=Math.random();return this}});var ld=new m,Q=new M,Kk=new m(0,0,0),Lk=new m(1,1,1),Pb=new m,Bf=new m,Da=new m;Object.assign(M.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,l,n,k,p,m,t,r,u){var q=this.elements;q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=h;q[2]=l;q[6]=n;q[10]=k;q[14]=p;q[3]=m;q[7]=t;q[11]=r;q[15]=u;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new M).fromArray(this.elements)}, copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return this},copyPosition:function(a){var b=this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x, b.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(a){var b=this.elements,c=a.elements,d=1/ld.setFromMatrixColumn(a,0).length(),e=1/ld.setFromMatrixColumn(a,1).length();a=1/ld.setFromMatrixColumn(a,2).length();b[0]=c[0]*d;b[1]=c[1]*d;b[2]=c[2]*d;b[3]=0;b[4]=c[4]*e;b[5]=c[5]*e;b[6]=c[6]*e;b[7]=0;b[8]=c[8]*a;b[9]=c[9]*a;b[10]=c[10]*a;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromEuler:function(a){a&&a.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order."); var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c);c=Math.sin(c);var g=Math.cos(d);d=Math.sin(d);var h=Math.cos(e);e=Math.sin(e);if("XYZ"===a.order){a=f*h;var l=f*e,n=c*h,k=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=l+n*d;b[5]=a-k*d;b[9]=-c*g;b[2]=k-a*d;b[6]=n+l*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,l=g*e,n=d*h,k=d*e,b[0]=a+k*c,b[4]=n*c-l,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=l*c-n,b[6]=k+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,l=g*e,n=d*h,k=d*e,b[0]=a-k*c,b[4]=-f*e,b[8]=n+l*c,b[1]=l+n*c,b[5]=f*h,b[9]= k-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,l=f*e,n=c*h,k=c*e,b[0]=g*h,b[4]=n*d-l,b[8]=a*d+k,b[1]=g*e,b[5]=k*d+a,b[9]=l*d-n,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,l=f*d,n=c*g,k=c*d,b[0]=g*h,b[4]=k-a*e,b[8]=n*e+l,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=l*e+n,b[10]=a-k*e):"XZY"===a.order&&(a=f*g,l=f*d,n=c*g,k=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+k,b[5]=f*h,b[9]=l*e-n,b[2]=n*e-l,b[6]=c*h,b[10]=k*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(a){return this.compose(Kk, a,Lk)},lookAt:function(a,b,c){var d=this.elements;Da.subVectors(a,b);0===Da.lengthSq()&&(Da.z=1);Da.normalize();Pb.crossVectors(c,Da);0===Pb.lengthSq()&&(1===Math.abs(c.z)?Da.x+=1E-4:Da.z+=1E-4,Da.normalize(),Pb.crossVectors(c,Da));Pb.normalize();Bf.crossVectors(Da,Pb);d[0]=Pb.x;d[4]=Bf.x;d[8]=Da.x;d[1]=Pb.y;d[5]=Bf.y;d[9]=Da.y;d[2]=Pb.z;d[6]=Bf.z;d[10]=Da.z;return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."), -this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements;a=c[0];var e=c[4],f=c[8],g=c[12],h=c[1],l=c[5],n=c[9],k=c[13],p=c[2],m=c[6],r=c[10],q=c[14],u=c[3],A=c[7],w=c[11];c=c[15];var x=d[0],z=d[4],B=d[8],y=d[12],C=d[1],D=d[5],F=d[9],G=d[13],H=d[2],J=d[6],K=d[10],L=d[14],M=d[3],N=d[7],O=d[11];d=d[15];b[0]=a*x+e*C+f*H+g*M;b[4]=a*z+e*D+f*J+g*N;b[8]=a*B+e*F+f*K+ -g*O;b[12]=a*y+e*G+f*L+g*d;b[1]=h*x+l*C+n*H+k*M;b[5]=h*z+l*D+n*J+k*N;b[9]=h*B+l*F+n*K+k*O;b[13]=h*y+l*G+n*L+k*d;b[2]=p*x+m*C+r*H+q*M;b[6]=p*z+m*D+r*J+q*N;b[10]=p*B+m*F+r*K+q*O;b[14]=p*y+m*G+r*L+q*d;b[3]=u*x+A*C+w*H+c*M;b[7]=u*z+A*D+w*J+c*N;b[11]=u*B+A*F+w*K+c*O;b[15]=u*y+A*G+w*L+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},determinant:function(){var a= -this.elements,b=a[0],c=a[4],d=a[8],e=a[12],f=a[1],g=a[5],h=a[9],l=a[13],n=a[2],k=a[6],p=a[10],m=a[14];return a[3]*(+e*h*k-d*l*k-e*g*p+c*l*p+d*g*m-c*h*m)+a[7]*(+b*h*m-b*l*p+e*f*p-d*f*m+d*l*n-e*h*n)+a[11]*(+b*l*k-b*g*m-e*f*k+c*f*m+e*g*n-c*l*n)+a[15]*(-d*g*n-b*h*k+b*g*p+d*f*k-c*f*p+c*h*n)},transpose:function(){var a=this.elements;var b=a[1];a[1]=a[4];a[4]=b;b=a[2];a[2]=a[8];a[8]=b;b=a[6];a[6]=a[9];a[9]=b;b=a[3];a[3]=a[12];a[12]=b;b=a[7];a[7]=a[13];a[13]=b;b=a[11];a[11]=a[14];a[14]=b;return this},setPosition:function(a, -b,c){var d=this.elements;a.isVector3?(d[12]=a.x,d[13]=a.y,d[14]=a.z):(d[12]=a,d[13]=b,d[14]=c);return this},getInverse:function(a,b){void 0!==b&&console.warn("THREE.Matrix4: .getInverse() can no longer be configured to throw on degenerate.");b=this.elements;var c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],l=c[6],n=c[7],k=c[8],p=c[9],m=c[10],r=c[11],q=c[12],u=c[13],A=c[14];c=c[15];var w=p*A*n-u*m*n+u*l*r-h*A*r-p*l*c+h*m*c,x=q*m*n-k*A*n-q*l*r+g*A*r+k*l*c-g*m*c,z=k*u*n-q*p*n+q*h*r-g*u* -r-k*h*c+g*p*c,B=q*p*l-k*u*l-q*h*m+g*u*m+k*h*A-g*p*A,y=a*w+d*x+e*z+f*B;if(0===y)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);y=1/y;b[0]=w*y;b[1]=(u*m*f-p*A*f-u*e*r+d*A*r+p*e*c-d*m*c)*y;b[2]=(h*A*f-u*l*f+u*e*n-d*A*n-h*e*c+d*l*c)*y;b[3]=(p*l*f-h*m*f-p*e*n+d*m*n+h*e*r-d*l*r)*y;b[4]=x*y;b[5]=(k*A*f-q*m*f+q*e*r-a*A*r-k*e*c+a*m*c)*y;b[6]=(q*l*f-g*A*f-q*e*n+a*A*n+g*e*c-a*l*c)*y;b[7]=(g*m*f-k*l*f+k*e*n-a*m*n-g*e*r+a*l*r)*y;b[8]=z*y;b[9]=(q*p*f-k*u*f-q*d*r+a*u*r+k*d*c-a*p*c)*y;b[10]=(g*u*f-q*h*f+q*d*n- -a*u*n-g*d*c+a*h*c)*y;b[11]=(k*h*f-g*p*f-k*d*n+a*p*n+g*d*r-a*h*r)*y;b[12]=B*y;b[13]=(k*u*e-q*p*e+q*d*m-a*u*m-k*d*A+a*p*A)*y;b[14]=(q*h*e-g*u*e-q*d*l+a*u*l+g*d*A-a*h*A)*y;b[15]=(g*p*e-k*h*e+k*d*l-a*p*l-g*d*m+a*h*m)*y;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y;a=a.z;b[0]*=c;b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1]+a[2]*a[2],a[4]* +this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements;a=c[0];var e=c[4],f=c[8],g=c[12],h=c[1],l=c[5],k=c[9],q=c[13],p=c[2],m=c[6],t=c[10],r=c[14],u=c[3],A=c[7],w=c[11];c=c[15];var x=d[0],z=d[4],B=d[8],y=d[12],C=d[1],D=d[5],F=d[9],G=d[13],H=d[2],J=d[6],K=d[10],L=d[14],M=d[3],N=d[7],O=d[11];d=d[15];b[0]=a*x+e*C+f*H+g*M;b[4]=a*z+e*D+f*J+g*N;b[8]=a*B+e*F+f*K+ +g*O;b[12]=a*y+e*G+f*L+g*d;b[1]=h*x+l*C+k*H+q*M;b[5]=h*z+l*D+k*J+q*N;b[9]=h*B+l*F+k*K+q*O;b[13]=h*y+l*G+k*L+q*d;b[2]=p*x+m*C+t*H+r*M;b[6]=p*z+m*D+t*J+r*N;b[10]=p*B+m*F+t*K+r*O;b[14]=p*y+m*G+t*L+r*d;b[3]=u*x+A*C+w*H+c*M;b[7]=u*z+A*D+w*J+c*N;b[11]=u*B+A*F+w*K+c*O;b[15]=u*y+A*G+w*L+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},determinant:function(){var a= +this.elements,b=a[0],c=a[4],d=a[8],e=a[12],f=a[1],g=a[5],h=a[9],l=a[13],k=a[2],q=a[6],p=a[10],m=a[14];return a[3]*(+e*h*q-d*l*q-e*g*p+c*l*p+d*g*m-c*h*m)+a[7]*(+b*h*m-b*l*p+e*f*p-d*f*m+d*l*k-e*h*k)+a[11]*(+b*l*q-b*g*m-e*f*q+c*f*m+e*g*k-c*l*k)+a[15]*(-d*g*k-b*h*q+b*g*p+d*f*q-c*f*p+c*h*k)},transpose:function(){var a=this.elements;var b=a[1];a[1]=a[4];a[4]=b;b=a[2];a[2]=a[8];a[8]=b;b=a[6];a[6]=a[9];a[9]=b;b=a[3];a[3]=a[12];a[12]=b;b=a[7];a[7]=a[13];a[13]=b;b=a[11];a[11]=a[14];a[14]=b;return this},setPosition:function(a, +b,c){var d=this.elements;a.isVector3?(d[12]=a.x,d[13]=a.y,d[14]=a.z):(d[12]=a,d[13]=b,d[14]=c);return this},getInverse:function(a,b){void 0!==b&&console.warn("THREE.Matrix4: .getInverse() can no longer be configured to throw on degenerate.");b=this.elements;var c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],l=c[6],k=c[7],q=c[8],p=c[9],m=c[10],t=c[11],r=c[12],u=c[13],A=c[14];c=c[15];var w=p*A*k-u*m*k+u*l*t-h*A*t-p*l*c+h*m*c,x=r*m*k-q*A*k-r*l*t+g*A*t+q*l*c-g*m*c,z=q*u*k-r*p*k+r*h*t-g*u* +t-q*h*c+g*p*c,B=r*p*l-q*u*l-r*h*m+g*u*m+q*h*A-g*p*A,y=a*w+d*x+e*z+f*B;if(0===y)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);y=1/y;b[0]=w*y;b[1]=(u*m*f-p*A*f-u*e*t+d*A*t+p*e*c-d*m*c)*y;b[2]=(h*A*f-u*l*f+u*e*k-d*A*k-h*e*c+d*l*c)*y;b[3]=(p*l*f-h*m*f-p*e*k+d*m*k+h*e*t-d*l*t)*y;b[4]=x*y;b[5]=(q*A*f-r*m*f+r*e*t-a*A*t-q*e*c+a*m*c)*y;b[6]=(r*l*f-g*A*f-r*e*k+a*A*k+g*e*c-a*l*c)*y;b[7]=(g*m*f-q*l*f+q*e*k-a*m*k-g*e*t+a*l*t)*y;b[8]=z*y;b[9]=(r*p*f-q*u*f-r*d*t+a*u*t+q*d*c-a*p*c)*y;b[10]=(g*u*f-r*h*f+r*d*k- +a*u*k-g*d*c+a*h*c)*y;b[11]=(q*h*f-g*p*f-q*d*k+a*p*k+g*d*t-a*h*t)*y;b[12]=B*y;b[13]=(q*u*e-r*p*e+r*d*m-a*u*m-q*d*A+a*p*A)*y;b[14]=(r*h*e-g*u*e-r*d*l+a*u*l+g*d*A-a*h*A)*y;b[15]=(g*p*e-q*h*e+q*d*l-a*p*l-g*d*m+a*h*m)*y;return this},scale:function(a){var b=this.elements,c=a.x,d=a.y;a=a.z;b[0]*=c;b[4]*=d;b[8]*=a;b[1]*=c;b[5]*=d;b[9]*=a;b[2]*=c;b[6]*=d;b[10]*=a;b[3]*=c;b[7]*=d;b[11]*=a;return this},getMaxScaleOnAxis:function(){var a=this.elements;return Math.sqrt(Math.max(a[0]*a[0]+a[1]*a[1]+a[2]*a[2],a[4]* a[4]+a[5]*a[5]+a[6]*a[6],a[8]*a[8]+a[9]*a[9]+a[10]*a[10]))},makeTranslation:function(a,b,c){this.set(1,0,0,a,0,1,0,b,0,0,1,c,0,0,0,1);return this},makeRotationX:function(a){var b=Math.cos(a);a=Math.sin(a);this.set(1,0,0,0,0,b,-a,0,0,a,b,0,0,0,0,1);return this},makeRotationY:function(a){var b=Math.cos(a);a=Math.sin(a);this.set(b,0,a,0,0,1,0,0,-a,0,b,0,0,0,0,1);return this},makeRotationZ:function(a){var b=Math.cos(a);a=Math.sin(a);this.set(b,-a,0,0,a,b,0,0,0,0,1,0,0,0,0,1);return this},makeRotationAxis:function(a, -b){var c=Math.cos(b);b=Math.sin(b);var d=1-c,e=a.x,f=a.y;a=a.z;var g=d*e,h=d*f;this.set(g*e+c,g*f-b*a,g*a+b*f,0,g*f+b*a,h*f+c,h*a-b*e,0,g*a-b*f,h*a+b*e,d*a*a+c,0,0,0,0,1);return this},makeScale:function(a,b,c){this.set(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,1);return this},makeShear:function(a,b,c){this.set(1,b,c,0,a,1,c,0,a,b,1,0,0,0,0,1);return this},compose:function(a,b,c){var d=this.elements,e=b._x,f=b._y,g=b._z,h=b._w,l=e+e,k=f+f,t=g+g;b=e*l;var p=e*k;e*=t;var m=f*k;f*=t;g*=t;l*=h;k*=h;h*=t;t=c.x;var r= -c.y;c=c.z;d[0]=(1-(m+g))*t;d[1]=(p+h)*t;d[2]=(e-k)*t;d[3]=0;d[4]=(p-h)*r;d[5]=(1-(b+g))*r;d[6]=(f+l)*r;d[7]=0;d[8]=(e+k)*c;d[9]=(f-l)*c;d[10]=(1-(b+m))*c;d[11]=0;d[12]=a.x;d[13]=a.y;d[14]=a.z;d[15]=1;return this},decompose:function(a,b,c){var d=this.elements,e=ld.set(d[0],d[1],d[2]).length(),f=ld.set(d[4],d[5],d[6]).length(),g=ld.set(d[8],d[9],d[10]).length();0>this.determinant()&&(e=-e);a.x=d[12];a.y=d[13];a.z=d[14];Q.copy(this);a=1/e;d=1/f;var h=1/g;Q.elements[0]*=a;Q.elements[1]*=a;Q.elements[2]*= +b){var c=Math.cos(b);b=Math.sin(b);var d=1-c,e=a.x,f=a.y;a=a.z;var g=d*e,h=d*f;this.set(g*e+c,g*f-b*a,g*a+b*f,0,g*f+b*a,h*f+c,h*a-b*e,0,g*a-b*f,h*a+b*e,d*a*a+c,0,0,0,0,1);return this},makeScale:function(a,b,c){this.set(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,1);return this},makeShear:function(a,b,c){this.set(1,b,c,0,a,1,c,0,a,b,1,0,0,0,0,1);return this},compose:function(a,b,c){var d=this.elements,e=b._x,f=b._y,g=b._z,h=b._w,l=e+e,k=f+f,q=g+g;b=e*l;var p=e*k;e*=q;var m=f*k;f*=q;g*=q;l*=h;k*=h;h*=q;q=c.x;var t= +c.y;c=c.z;d[0]=(1-(m+g))*q;d[1]=(p+h)*q;d[2]=(e-k)*q;d[3]=0;d[4]=(p-h)*t;d[5]=(1-(b+g))*t;d[6]=(f+l)*t;d[7]=0;d[8]=(e+k)*c;d[9]=(f-l)*c;d[10]=(1-(b+m))*c;d[11]=0;d[12]=a.x;d[13]=a.y;d[14]=a.z;d[15]=1;return this},decompose:function(a,b,c){var d=this.elements,e=ld.set(d[0],d[1],d[2]).length(),f=ld.set(d[4],d[5],d[6]).length(),g=ld.set(d[8],d[9],d[10]).length();0>this.determinant()&&(e=-e);a.x=d[12];a.y=d[13];a.z=d[14];Q.copy(this);a=1/e;d=1/f;var h=1/g;Q.elements[0]*=a;Q.elements[1]*=a;Q.elements[2]*= a;Q.elements[4]*=d;Q.elements[5]*=d;Q.elements[6]*=d;Q.elements[8]*=h;Q.elements[9]*=h;Q.elements[10]*=h;b.setFromRotationMatrix(Q);c.x=e;c.y=f;c.z=g;return this},makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(c-d);g[9]=(c+d)/(c-d);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]= 0;g[7]=0;g[11]=-1;g[15]=0;return this},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=1/(b-a),l=1/(c-d),k=1/(f-e);g[0]=2*h;g[4]=0;g[8]=0;g[12]=-((b+a)*h);g[1]=0;g[5]=2*l;g[9]=0;g[13]=-((c+d)*l);g[2]=0;g[6]=0;g[10]=-2*k;g[14]=-((f+e)*k);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},equals:function(a){var b=this.elements;a=a.elements;for(var c=0;16>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;16>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a, b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a}});var xi=new M,yi=new na;Ub.RotationOrders="XYZ YZX ZXY XZY YXZ ZYX".split(" ");Ub.DefaultOrder="XYZ";Object.defineProperties(Ub.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this._onChangeCallback()}},y:{get:function(){return this._y}, set:function(a){this._y=a;this._onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this._onChangeCallback()}},order:{get:function(){return this._order},set:function(a){this._order=a;this._onChangeCallback()}}});Object.assign(Ub.prototype,{isEuler:!0,set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this._onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(a){this._x= -a._x;this._y=a._y;this._z=a._z;this._order=a._order;this._onChangeCallback();return this},setFromRotationMatrix:function(a,b,c){var d=K.clamp,e=a.elements;a=e[0];var f=e[4],g=e[8],h=e[1],l=e[5],k=e[9],t=e[2],p=e[6];e=e[10];b=b||this._order;switch(b){case "XYZ":this._y=Math.asin(d(g,-1,1));.9999999>Math.abs(g)?(this._x=Math.atan2(-k,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(p,l),this._z=0);break;case "YXZ":this._x=Math.asin(-d(k,-1,1));.9999999>Math.abs(k)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h, -l)):(this._y=Math.atan2(-t,a),this._z=0);break;case "ZXY":this._x=Math.asin(d(p,-1,1));.9999999>Math.abs(p)?(this._y=Math.atan2(-t,e),this._z=Math.atan2(-f,l)):(this._y=0,this._z=Math.atan2(h,a));break;case "ZYX":this._y=Math.asin(-d(t,-1,1));.9999999>Math.abs(t)?(this._x=Math.atan2(p,e),this._z=Math.atan2(h,a)):(this._x=0,this._z=Math.atan2(-f,l));break;case "YZX":this._z=Math.asin(d(h,-1,1));.9999999>Math.abs(h)?(this._x=Math.atan2(-k,l),this._y=Math.atan2(-t,a)):(this._x=0,this._y=Math.atan2(g, +a._x;this._y=a._y;this._z=a._z;this._order=a._order;this._onChangeCallback();return this},setFromRotationMatrix:function(a,b,c){var d=K.clamp,e=a.elements;a=e[0];var f=e[4],g=e[8],h=e[1],l=e[5],k=e[9],q=e[2],p=e[6];e=e[10];b=b||this._order;switch(b){case "XYZ":this._y=Math.asin(d(g,-1,1));.9999999>Math.abs(g)?(this._x=Math.atan2(-k,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(p,l),this._z=0);break;case "YXZ":this._x=Math.asin(-d(k,-1,1));.9999999>Math.abs(k)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h, +l)):(this._y=Math.atan2(-q,a),this._z=0);break;case "ZXY":this._x=Math.asin(d(p,-1,1));.9999999>Math.abs(p)?(this._y=Math.atan2(-q,e),this._z=Math.atan2(-f,l)):(this._y=0,this._z=Math.atan2(h,a));break;case "ZYX":this._y=Math.asin(-d(q,-1,1));.9999999>Math.abs(q)?(this._x=Math.atan2(p,e),this._z=Math.atan2(h,a)):(this._x=0,this._z=Math.atan2(-f,l));break;case "YZX":this._z=Math.asin(d(h,-1,1));.9999999>Math.abs(h)?(this._x=Math.atan2(-k,l),this._y=Math.atan2(-q,a)):(this._x=0,this._y=Math.atan2(g, e));break;case "XZY":this._z=Math.asin(-d(f,-1,1));.9999999>Math.abs(f)?(this._x=Math.atan2(p,l),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-k,e),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+b)}this._order=b;!1!==c&&this._onChangeCallback();return this},setFromQuaternion:function(a,b,c){xi.makeRotationFromQuaternion(a);return this.setFromRotationMatrix(xi,b,c)},setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)}, reorder:function(a){yi.setFromEuler(this);return this.setFromQuaternion(yi,a)},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this._onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z): new m(this._x,this._y,this._z)},_onChange:function(a){this._onChangeCallback=a;return this},_onChangeCallback:function(){}});Object.assign(Fe.prototype,{set:function(a){this.mask=1<e&&(e=k);m>f&&(f=m);p>g&&(g=p)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,l=a.count;he&&(e=k);m>f&&(f=m);p>g&&(g=p)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;be&&(e=k);q>f&&(f=q);p>g&&(g=p)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,l=a.count;he&&(e=k);q>f&&(f=q);p>g&&(g=p)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;bthis.max.x||a.ythis.max.y||a.zthis.radius*this.radius&&(b.sub(this.center).normalize(),b. return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius}});var zb=new m,$g=new m,Ff=new m,Sb=new m,ah=new m,Gf=new m,bh=new m;Object.assign(Wb.prototype,{set:function(a,b){this.origin.copy(a);this.direction.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.origin.copy(a.origin);this.direction.copy(a.direction);return this},at:function(a,b){void 0===b&&(console.warn("THREE.Ray: .at() target is now required"),b=new m); return b.copy(this.direction).multiplyScalar(a).add(this.origin)},lookAt:function(a){this.direction.copy(a).sub(this.origin).normalize();return this},recast:function(a){this.origin.copy(this.at(a,zb));return this},closestPointToPoint:function(a,b){void 0===b&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),b=new m);b.subVectors(a,this.origin);a=b.dot(this.direction);return 0>a?b.copy(this.origin):b.copy(this.direction).multiplyScalar(a).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))}, distanceSqToPoint:function(a){var b=zb.subVectors(a,this.origin).dot(this.direction);if(0>b)return this.origin.distanceToSquared(a);zb.copy(this.direction).multiplyScalar(b).add(this.origin);return zb.distanceToSquared(a)},distanceSqToSegment:function(a,b,c,d){$g.copy(a).add(b).multiplyScalar(.5);Ff.copy(b).sub(a).normalize();Sb.copy(this.origin).sub($g);var e=.5*a.distanceTo(b),f=-this.direction.dot(Ff),g=Sb.dot(this.direction),h=-Sb.dot(Ff),l=Sb.lengthSq(),k=Math.abs(1-f*f);if(0=-m?b<=m?(e=1/k,a*=e,b*=e,f=a*(a+f*b+2*g)+b*(f*a+b+2*h)+l):(b=e,a=Math.max(0,-(f*b+g)),f=-a*a+b*(b+2*h)+l):(b=-e,a=Math.max(0,-(f*b+g)),f=-a*a+b*(b+2*h)+l):b<=-m?(a=Math.max(0,-(-f*e+g)),b=0=-q?b<=q?(e=1/k,a*=e,b*=e,f=a*(a+f*b+2*g)+b*(f*a+b+2*h)+l):(b=e,a=Math.max(0,-(f*b+g)),f=-a*a+b*(b+2*h)+l):(b=-e,a=Math.max(0,-(f*b+g)),f=-a*a+b*(b+2*h)+l):b<=-q?(a=Math.max(0,-(-f*e+g)),b=0a)return null;a=Math.sqrt(a-d);d=c-a;c+=a;return 0>d&&0>c?null:0>d?this.at(c,b):this.at(d,b)},intersectsSphere:function(a){return this.distanceSqToPoint(a.center)<=a.radius*a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+ a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){a=this.distanceToPlane(a);return null===a?null:this.at(a,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin);return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,b){var c=1/this.direction.x;var d=1/this.direction.y;var e=1/this.direction.z,f=this.origin;if(0<=c){var g=(a.min.x-f.x)*c;c*=a.max.x-f.x}else g=(a.max.x-f.x)*c,c*=a.min.x-f.x;if(0<=d){var h=(a.min.y-f.y)*d;d*=a.max.y-f.y}else h=(a.max.y- f.y)*d,d*=a.min.y-f.y;if(g>d||h>c)return null;if(h>g||g!==g)g=h;if(da||h>c)return null;if(h>g||g!==g)g=h;if(ac?null:this.at(0<=g?g:c,b)},intersectsBox:function(a){return null!==this.intersectBox(a,zb)},intersectTriangle:function(a,b,c,d,e){ah.subVectors(b,a);Gf.subVectors(c,a);bh.crossVectors(ah,Gf);b=this.direction.dot(bh);if(0b)d=-1,b=-b;else return null; @@ -480,7 +480,7 @@ var f=Ab.dot(Ab);d=Ab.dot(dh);var g=a*f-b*b;void 0===e&&(console.warn("THREE.Tri b,c,d){cb.subVectors(c,b);Ab.subVectors(a,b);return 0>cb.cross(Ab).dot(d)?!0:!1}});Object.assign(wa.prototype,{set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},getArea:function(){cb.subVectors(this.c,this.b);Ab.subVectors(this.a, this.b);return.5*cb.cross(Ab).length()},getMidpoint:function(a){void 0===a&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),a=new m);return a.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(a){return wa.getNormal(this.a,this.b,this.c,a)},getPlane:function(a){void 0===a&&(console.warn("THREE.Triangle: .getPlane() target is now required"),a=new Ua);return a.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(a,b){return wa.getBarycoord(a, this.a,this.b,this.c,b)},getUV:function(a,b,c,d,e){return wa.getUV(a,this.a,this.b,this.c,b,c,d,e)},containsPoint:function(a){return wa.containsPoint(a,this.a,this.b,this.c)},isFrontFacing:function(a){return wa.isFrontFacing(this.a,this.b,this.c,a)},intersectsBox:function(a){return a.intersectsTriangle(this)},closestPointToPoint:function(a,b){void 0===b&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),b=new m);var c=this.a,d=this.b,e=this.c;qd.subVectors(d,c);rd.subVectors(e, -c);eh.subVectors(a,c);var f=qd.dot(eh),g=rd.dot(eh);if(0>=f&&0>=g)return b.copy(c);fh.subVectors(a,d);var h=qd.dot(fh),l=rd.dot(fh);if(0<=h&&l<=h)return b.copy(d);var k=f*l-h*g;if(0>=k&&0<=f&&0>=h)return d=f/(f-h),b.copy(c).addScaledVector(qd,d);gh.subVectors(a,e);a=qd.dot(gh);var t=rd.dot(gh);if(0<=t&&a<=t)return b.copy(e);f=a*g-f*t;if(0>=f&&0<=g&&0>=t)return k=g/(g-t),b.copy(c).addScaledVector(rd,k);g=h*t-a*l;if(0>=g&&0<=l-h&&0<=a-t)return Di.subVectors(e,d),k=(l-h)/(l-h+(a-t)),b.copy(d).addScaledVector(Di, +c);eh.subVectors(a,c);var f=qd.dot(eh),g=rd.dot(eh);if(0>=f&&0>=g)return b.copy(c);fh.subVectors(a,d);var h=qd.dot(fh),l=rd.dot(fh);if(0<=h&&l<=h)return b.copy(d);var k=f*l-h*g;if(0>=k&&0<=f&&0>=h)return d=f/(f-h),b.copy(c).addScaledVector(qd,d);gh.subVectors(a,e);a=qd.dot(gh);var q=rd.dot(gh);if(0<=q&&a<=q)return b.copy(e);f=a*g-f*q;if(0>=f&&0<=g&&0>=q)return k=g/(g-q),b.copy(c).addScaledVector(rd,k);g=h*q-a*l;if(0>=g&&0<=l-h&&0<=a-q)return Di.subVectors(e,d),k=(l-h)/(l-h+(a-q)),b.copy(d).addScaledVector(Di, k);e=1/(g+f+k);d=f*e;k*=e;return b.copy(c).addScaledVector(qd,d).addScaledVector(rd,k)},equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}});var Ei={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388, crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146, floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323, @@ -522,9 +522,9 @@ this.setXYZ(b,ia.x,ia.y,ia.z);return this},transformDirection:function(a){for(va 0]=b;this.array[a+1]=c;this.array[a+2]=d;this.array[a+3]=e;return this},onUpload:function(a){this.onUploadCallback=a;return this},clone:function(){return(new this.constructor(this.array,this.itemSize)).copy(this)},toJSON:function(){return{itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized}}});yd.prototype=Object.create(H.prototype);yd.prototype.constructor=yd;zd.prototype=Object.create(H.prototype);zd.prototype.constructor= zd;Ad.prototype=Object.create(H.prototype);Ad.prototype.constructor=Ad;Bd.prototype=Object.create(H.prototype);Bd.prototype.constructor=Bd;Xb.prototype=Object.create(H.prototype);Xb.prototype.constructor=Xb;Cd.prototype=Object.create(H.prototype);Cd.prototype.constructor=Cd;Yb.prototype=Object.create(H.prototype);Yb.prototype.constructor=Yb;B.prototype=Object.create(H.prototype);B.prototype.constructor=B;Dd.prototype=Object.create(H.prototype);Dd.prototype.constructor=Dd;Object.assign(vh.prototype, {computeGroups:function(a){var b=[],c=void 0,d=a.faces;for(a=0;ag;g++)if(f[g]===f[(g+1)%3]){a.push(d);break}for(c=a.length-1;0<=c;c--)for(d=a[c],this.faces.splice(d,1),e=0,f=this.faceVertexUvs.length;e\n\t#include \n}", fragmentShader:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}",side:1,blending:0});d.uniforms.tEquirect.value=b;b=new X(new Gd(5,5,5),d);c.add(b);(new Ec(1,10,this)).update(a,c);b.geometry.dispose();b.material.dispose();return this};$b.prototype=Object.create(W.prototype);$b.prototype.constructor=$b;$b.prototype.isDataTexture= -!0;var td=new eb,Kf=new m;Object.assign(Fc.prototype,{set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a);g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);g[5].copy(f);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromProjectionMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],l=c[6],k=c[7],m=c[8],p=c[9],v=c[10],r=c[11],q=c[12],u= -c[13],w=c[14];c=c[15];b[0].setComponents(f-a,k-g,r-m,c-q).normalize();b[1].setComponents(f+a,k+g,r+m,c+q).normalize();b[2].setComponents(f+d,k+h,r+p,c+u).normalize();b[3].setComponents(f-d,k-h,r-p,c-u).normalize();b[4].setComponents(f-e,k-l,r-v,c-w).normalize();b[5].setComponents(f+e,k+l,r+v,c+w).normalize();return this},intersectsObject:function(a){var b=a.geometry;null===b.boundingSphere&&b.computeBoundingSphere();td.copy(b.boundingSphere).applyMatrix4(a.matrixWorld);return this.intersectsSphere(td)}, +!0;var td=new eb,Kf=new m;Object.assign(Fc.prototype,{set:function(a,b,c,d,e,f){var g=this.planes;g[0].copy(a);g[1].copy(b);g[2].copy(c);g[3].copy(d);g[4].copy(e);g[5].copy(f);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){for(var b=this.planes,c=0;6>c;c++)b[c].copy(a.planes[c]);return this},setFromProjectionMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],l=c[6],k=c[7],q=c[8],p=c[9],m=c[10],t=c[11],r=c[12],u= +c[13],w=c[14];c=c[15];b[0].setComponents(f-a,k-g,t-q,c-r).normalize();b[1].setComponents(f+a,k+g,t+q,c+r).normalize();b[2].setComponents(f+d,k+h,t+p,c+u).normalize();b[3].setComponents(f-d,k-h,t-p,c-u).normalize();b[4].setComponents(f-e,k-l,t-m,c-w).normalize();b[5].setComponents(f+e,k+l,t+m,c+w).normalize();return this},intersectsObject:function(a){var b=a.geometry;null===b.boundingSphere&&b.computeBoundingSphere();td.copy(b.boundingSphere).applyMatrix4(a.matrixWorld);return this.intersectsSphere(td)}, intersectsSprite:function(a){td.center.set(0,0,0);td.radius=.7071067811865476;td.applyMatrix4(a.matrixWorld);return this.intersectsSphere(td)},intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=0;6>d;d++)if(b[d].distanceToPoint(c)c;c++){var d=b[c];Kf.x=0d.distanceToPoint(Kf))return!1}return!0}, containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}});var y={common:{diffuse:{value:new D(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new xa},uv2Transform:{value:new xa},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null}, lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new w(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:2.5E-4},fogNear:{value:1},fogFar:{value:2E3},fogColor:{value:new D(16777215)}}, @@ -707,22 +707,22 @@ b=this.boneInverses,c=this.boneMatrices,d=this.boneTexture,e=0,f=a.length;ed||(h.applyMatrix4(this.matrixWorld),v=a.ray.origin.distanceTo(h), -va.far||b.push({distance:v,point:e.clone().applyMatrix4(this.matrixWorld),index:t,face:null,faceIndex:null,object:this}))}}else for(k=0,t=c.length/3-1;kd||(h.applyMatrix4(this.matrixWorld),p=a.ray.origin.distanceTo(h),pa.far||b.push({distance:p,point:e.clone().applyMatrix4(this.matrixWorld),index:k,face:null,faceIndex:null,object:this}))}else if(c.isGeometry)for(f=c.vertices,g=f.length,c=0;cd||(h.applyMatrix4(this.matrixWorld),v=a.ray.origin.distanceTo(h), +va.far||b.push({distance:v,point:e.clone().applyMatrix4(this.matrixWorld),index:q,face:null,faceIndex:null,object:this}))}}else for(k=0,q=c.length/3-1;kd||(h.applyMatrix4(this.matrixWorld),p=a.ray.origin.distanceTo(h),pa.far||b.push({distance:p,point:e.clone().applyMatrix4(this.matrixWorld),index:k,face:null,faceIndex:null,object:this}))}else if(c.isGeometry)for(f=c.vertices,g=f.length,c=0;cd||(h.applyMatrix4(this.matrixWorld),k=a.ray.origin.distanceTo(h),ka.far||b.push({distance:k,point:e.clone().applyMatrix4(this.matrixWorld),index:c,face:null,faceIndex:null,object:this}))}},updateMorphTargets:function(){var a=this.geometry;if(a.isBufferGeometry){a=a.morphAttributes;var b=Object.keys(a);if(0=a.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}});Nc.prototype=Object.create(W.prototype);Nc.prototype.constructor=Nc;Nc.prototype.isCompressedTexture=!0;Qd.prototype= Object.create(W.prototype);Qd.prototype.constructor=Qd;Qd.prototype.isCanvasTexture=!0;Rd.prototype=Object.create(W.prototype);Rd.prototype.constructor=Rd;Rd.prototype.isDepthTexture=!0;Oc.prototype=Object.create(F.prototype);Oc.prototype.constructor=Oc;Sd.prototype=Object.create(L.prototype);Sd.prototype.constructor=Sd;Pc.prototype=Object.create(F.prototype);Pc.prototype.constructor=Pc;Td.prototype=Object.create(L.prototype);Td.prototype.constructor=Td;Fa.prototype=Object.create(F.prototype);Fa.prototype.constructor= Fa;Ud.prototype=Object.create(L.prototype);Ud.prototype.constructor=Ud;Qc.prototype=Object.create(Fa.prototype);Qc.prototype.constructor=Qc;Vd.prototype=Object.create(L.prototype);Vd.prototype.constructor=Vd;bc.prototype=Object.create(Fa.prototype);bc.prototype.constructor=bc;Wd.prototype=Object.create(L.prototype);Wd.prototype.constructor=Wd;Rc.prototype=Object.create(Fa.prototype);Rc.prototype.constructor=Rc;Xd.prototype=Object.create(L.prototype);Xd.prototype.constructor=Xd;Sc.prototype=Object.create(Fa.prototype); Sc.prototype.constructor=Sc;Yd.prototype=Object.create(L.prototype);Yd.prototype.constructor=Yd;cc.prototype=Object.create(F.prototype);cc.prototype.constructor=cc;cc.prototype.toJSON=function(){var a=F.prototype.toJSON.call(this);a.path=this.parameters.path.toJSON();return a};Zd.prototype=Object.create(L.prototype);Zd.prototype.constructor=Zd;Tc.prototype=Object.create(F.prototype);Tc.prototype.constructor=Tc;$d.prototype=Object.create(L.prototype);$d.prototype.constructor=$d;Uc.prototype=Object.create(F.prototype); -Uc.prototype.constructor=Uc;var Uk={triangulate:function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=$h(a,0,e,c,!0),g=[];if(!f||f.next===f.prev)return g;var h;if(d){var l=c;d=[];var k;var m=0;for(k=b.length;m80*c){var r=h=a[0];var q=d=a[1];for(l=c;lh&&(h=m),b>d&&(d=b);h=Math.max(h-r,d-q);h=0!==h?1/h:0}be(f,g,c,r,q,h);return g}},rb={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;erb.area(a)},triangulateShape:function(a,b){var c=[],d=[],e=[];di(a);ei(c,a);a=a.length;b.forEach(di);for(var f=0;f80*c){var t=h=a[0];var r=d=a[1];for(k=c;kh&&(h=q),b>d&&(d=b);h=Math.max(h-t,d-r);h=0!==h?1/h:0}be(f,g,c,t,r,h);return g}},rb={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;erb.area(a)},triangulateShape:function(a,b){var c=[],d=[],e=[];di(a);ei(c,a);a=a.length;b.forEach(di);for(var f=0;fMath.abs(g-l)?[new w(a,1-c),new w(h,1-d),new w(k,1-e),new w(p,1-b)]:[new w(g,1-c),new w(l,1-d),new w(m,1-e),new w(v,1-b)]}};de.prototype=Object.create(L.prototype);de.prototype.constructor=de;Wc.prototype=Object.create(hb.prototype);Wc.prototype.constructor=Wc;ee.prototype=Object.create(L.prototype); +c+1]),new w(a,d),new w(f,e)]},generateSideWallUV:function(a,b,c,d,e,f){a=b[3*c];var g=b[3*c+1];c=b[3*c+2];var h=b[3*d],k=b[3*d+1];d=b[3*d+2];var n=b[3*e],m=b[3*e+1];e=b[3*e+2];var p=b[3*f],v=b[3*f+1];b=b[3*f+2];return.01>Math.abs(g-k)?[new w(a,1-c),new w(h,1-d),new w(n,1-e),new w(p,1-b)]:[new w(g,1-c),new w(k,1-d),new w(m,1-e),new w(v,1-b)]}};de.prototype=Object.create(L.prototype);de.prototype.constructor=de;Wc.prototype=Object.create(hb.prototype);Wc.prototype.constructor=Wc;ee.prototype=Object.create(L.prototype); ee.prototype.constructor=ee;ec.prototype=Object.create(F.prototype);ec.prototype.constructor=ec;fe.prototype=Object.create(L.prototype);fe.prototype.constructor=fe;Xc.prototype=Object.create(F.prototype);Xc.prototype.constructor=Xc;ge.prototype=Object.create(L.prototype);ge.prototype.constructor=ge;Yc.prototype=Object.create(F.prototype);Yc.prototype.constructor=Yc;fc.prototype=Object.create(L.prototype);fc.prototype.constructor=fc;fc.prototype.toJSON=function(){var a=L.prototype.toJSON.call(this); return gi(this.parameters.shapes,a)};gc.prototype=Object.create(F.prototype);gc.prototype.constructor=gc;gc.prototype.toJSON=function(){var a=F.prototype.toJSON.call(this);return gi(this.parameters.shapes,a)};Zc.prototype=Object.create(F.prototype);Zc.prototype.constructor=Zc;hc.prototype=Object.create(L.prototype);hc.prototype.constructor=hc;sb.prototype=Object.create(F.prototype);sb.prototype.constructor=sb;he.prototype=Object.create(hc.prototype);he.prototype.constructor=he;ie.prototype=Object.create(sb.prototype); ie.prototype.constructor=ie;je.prototype=Object.create(L.prototype);je.prototype.constructor=je;$c.prototype=Object.create(F.prototype);$c.prototype.constructor=$c;var ra=Object.freeze({__proto__:null,WireframeGeometry:Oc,ParametricGeometry:Sd,ParametricBufferGeometry:Pc,TetrahedronGeometry:Ud,TetrahedronBufferGeometry:Qc,OctahedronGeometry:Vd,OctahedronBufferGeometry:bc,IcosahedronGeometry:Wd,IcosahedronBufferGeometry:Rc,DodecahedronGeometry:Xd,DodecahedronBufferGeometry:Sc,PolyhedronGeometry:Td, @@ -742,10 +742,10 @@ a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this nc;nc.prototype.isMeshMatcapMaterial=!0;nc.prototype.copy=function(a){G.prototype.copy.call(this,a);this.defines={MATCAP:""};this.color.copy(a.color);this.matcap=a.matcap;this.map=a.map;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.alphaMap=a.alphaMap;this.skinning=a.skinning; this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};oc.prototype=Object.create(la.prototype);oc.prototype.constructor=oc;oc.prototype.isLineDashedMaterial=!0;oc.prototype.copy=function(a){la.prototype.copy.call(this,a);this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var Vk=Object.freeze({__proto__:null,ShadowMaterial:ic,SpriteMaterial:Kb,RawShaderMaterial:tb,ShaderMaterial:Ba,PointsMaterial:Xa,MeshPhysicalMaterial:jc,MeshStandardMaterial:ib, MeshPhongMaterial:Mb,MeshToonMaterial:kc,MeshNormalMaterial:lc,MeshLambertMaterial:mc,MeshDepthMaterial:Gb,MeshDistanceMaterial:Hb,MeshBasicMaterial:Oa,MeshMatcapMaterial:nc,LineDashedMaterial:oc,LineBasicMaterial:la,Material:G}),Z={arraySlice:function(a,b,c){return Z.isTypedArray(a)?new a.constructor(a.subarray(b,void 0!==c?c:a.length)):a.slice(b,c)},convertArray:function(a,b,c){return!a||!c&&a.constructor===b?a:"number"===typeof b.BYTES_PER_ELEMENT?new b(a):Array.prototype.slice.call(a)},isTypedArray:function(a){return ArrayBuffer.isView(a)&& -!(a instanceof DataView)},getKeyframeOrder:function(a){for(var b=a.length,c=Array(b),d=0;d!==b;++d)c[d]=d;c.sort(function(b,c){return a[b]-a[c]});return c},sortedArray:function(a,b,c){for(var d=a.length,e=new a.constructor(d),f=0,g=0;g!==d;++f)for(var h=c[f]*b,l=0;l!==b;++l)e[g++]=a[h+l];return e},flattenJSON:function(a,b,c,d){for(var e=1,f=a[0];void 0!==f&&void 0===f[d];)f=a[e++];if(void 0!==f){var g=f[d];if(void 0!==g)if(Array.isArray(g)){do g=f[d],void 0!==g&&(b.push(f.time),c.push.apply(c,g)), -f=a[e++];while(void 0!==f)}else if(void 0!==g.toArray){do g=f[d],void 0!==g&&(b.push(f.time),g.toArray(c,c.length)),f=a[e++];while(void 0!==f)}else{do g=f[d],void 0!==g&&(b.push(f.time),c.push(g)),f=a[e++];while(void 0!==f)}}},subclip:function(a,b,c,d,e){e=e||30;a=a.clone();a.name=b;b=[];for(var f=0;f=d))for(l.push(g.times[m]),p=0;pa.tracks[d].times[0]&&(c=a.tracks[d].times[0]);for(d=0;d=d)d=30;var e=a.tracks.length,f=b/d;b=function(b){var d=c.tracks[b],e=d.ValueTypeName;if("bool"!==e&&"string"!==e&&(b=a.tracks.find(function(a){return a.name=== -d.name&&a.ValueTypeName===e}),void 0!==b)){var g=d.getValueSize(),k=d.times.length-1,p=void 0;f<=d.times[0]?p=Z.arraySlice(d.values,0,d.valueSize):f>=d.times[k]?p=Z.arraySlice(d.values,k*g):(p=d.createInterpolant(),p.evaluate(f),p=p.resultBuffer);"quaternion"===e&&(new na(p[0],p[1],p[2],p[3])).normalize().conjugate().toArray(p);k=b.times.length;for(var m=0;m=d))for(k.push(g.times[m]),p=0;pa.tracks[d].times[0]&&(c=a.tracks[d].times[0]);for(d=0;d=d)d=30;var e=a.tracks.length,f=b/d;b=function(b){var d=c.tracks[b],e=d.ValueTypeName;if("bool"!==e&&"string"!==e&&(b=a.tracks.find(function(a){return a.name=== +d.name&&a.ValueTypeName===e}),void 0!==b)){var g=d.getValueSize(),k=d.times.length-1,m=void 0;f<=d.times[0]?m=Z.arraySlice(d.values,0,d.valueSize):f>=d.times[k]?m=Z.arraySlice(d.values,k*g):(m=d.createInterpolant(),m.evaluate(f),m=m.resultBuffer);"quaternion"===e&&(new na(m[0],m[1],m[2],m[3])).normalize().conjugate().toArray(m);k=b.times.length;for(var v=0;v=e)break a;else{f=b[1];a=e)break b}d=c;c=0}}for(;c>>1,ag)e=a+1;else if(0c&&(c=0);1Number.EPSILON&&(g.normalize(),k=Math.acos(K.clamp(d[c-1].dot(d[c]),-1,1)),e[c].applyMatrix4(h.makeRotationAxis(g,k))),f[c].crossVectors(d[c],e[c]);if(!0===b)for(b=Math.acos(K.clamp(e[0].dot(e[a]),-1,1)),b/=a,0c&&(c=0);1Number.EPSILON&&(g.normalize(),k=Math.acos(K.clamp(d[c-1].dot(d[c]),-1,1)),e[c].applyMatrix4(h.makeRotationAxis(g,k))),f[c].crossVectors(d[c],e[c]);if(!0===b)for(b=Math.acos(K.clamp(e[0].dot(e[a]),-1,1)),b/=a,0d;)d+=c;for(;d>c;)d-=c;dNumber.EPSILON){if(0>l&&(g=b[f],k=-k,h=b[e],l=-l),!(a.yh.y))if(a.y===g.y){if(a.x=== -g.x)return!0}else{e=l*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=rb.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);b=[];if(1===f.length){var g=f[0];var h=new Nb;h.curves=g.curves;b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var n=[],m=[],p=0;n[p]=void 0;m[p]=[];for(var v=0,r=f.length;ve||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=rb.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);b=[];if(1===f.length){var g=f[0];var h=new Nb;h.curves=g.curves;b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var n=[],m=[],p=0;n[p]=void 0;m[p]=[];for(var v=0,t=f.length;v=e){var m=e++,p=a[m];b[p.uuid]=n;a[n]=p;b[k]=m;a[m]=h;h=0;for(k=d;h!==k;++h){p=c[h];var v=p[n];p[n]=p[m];p[m]=v}}}this.nCachedObjects_=e},uncache:function(){for(var a=this._objects,b=this._indicesByUUID,c=this._bindings,d=c.length,e=this.nCachedObjects_,f=a.length,g=0,h=arguments.length;g!==h;++g){var k=arguments[g].uuid,n=b[k];if(void 0!==n)if(delete b[k],np;p++)v=p%3,0==v?(b.up.set(0,c[p],0),b.lookAt(e[p],0,0)):1==v?(b.up.set(0,0,c[p]),b.lookAt(0,e[p],0)):(b.up.set(0,c[p],0),b.lookAt(0,0,e[p])),Wg(d,v*nb,2q;++q){var u=q/p;u=Math.exp(-u*u/2);e.push(u);0==q?r+=u:qm;m++)p=m%3,0==p?(b.up.set(0,c[m],0),b.lookAt(e[m],0,0)):1==p?(b.up.set(0,0,c[m]),b.lookAt(0,e[m],0)):(b.up.set(0,c[m],0),b.lookAt(0,0,e[m])),Wg(d,p*nb,2r;++r){var u=r/p;u=Math.exp(-u*u/2);e.push(u);0==r?t+=u:r