text: !function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/Daily_Web_Tasks/threebody/",t(t.s=135)}([function(e,t,n){"use strict";function r(){}function i(e,t){this.x=e||0,this.y=t||0}function o(e,t,n,r,a,s,u,c,l,p){Object.defineProperty(this,"id",{value:ks++}),this.uuid=Ds.generateUUID(),this.name="",this.image=void 0!==e?e:o.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==t?t:o.DEFAULT_MAPPING,this.wrapS=void 0!==n?n:Pa,this.wrapT=void 0!==r?r:Pa,this.magFilter=void 0!==a?a:Da,this.minFilter=void 0!==s?s:La,this.anisotropy=void 0!==l?l:1,this.format=void 0!==u?u:Ka,this.type=void 0!==c?c:ja,this.offset=new i(0,0),this.repeat=new i(1,1),this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==p?p:xs,this.version=0,this.onUpdate=null}function a(e,t,n,r){this.x=e||0,this.y=t||0,this.z=n||0,this.w=void 0!==r?r:1}function s(e,t,n){this.uuid=Ds.generateUUID(),this.width=e,this.height=t,this.scissor=new a(0,0,e,t),this.scissorTest=!1,this.viewport=new a(0,0,e,t),n=n||{},void 0===n.minFilter&&(n.minFilter=Da),this.texture=new o(void 0,void 0,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0===n.stencilBuffer||n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null}function u(e,t,n){s.call(this,e,t,n),this.activeCubeFace=0,this.activeMipMapLevel=0}function c(e,t,n,r){this._x=e||0,this._y=t||0,this._z=n||0,this._w=void 0!==r?r:1}function l(e,t,n){this.x=e||0,this.y=t||0,this.z=n||0}function p(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function f(e,t,n,r,i,a,s,u,c,l,p,f){o.call(this,null,a,s,u,c,l,r,i,p,f),this.image={data:e,width:t,height:n},this.magFilter=void 0!==c?c:Ca,this.minFilter=void 0!==l?l:Ca,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}function h(e,t,n,r,i,a,s,u,c,l){e=void 0!==e?e:[],t=void 0!==t?t:ba,o.call(this,e,t,n,r,i,a,s,u,c,l),this.flipY=!1}function d(){this.seq=[],this.map={}}function m(e,t,n){var r=e[0];if(r<=0||r>0)return e;var i=t*n,o=Is[i];if(void 0===o&&(o=new Float32Array(i),Is[i]=o),0!==t){r.toArray(o,0);for(var a=1,s=0;a!==t;++a)s+=n,e[a].toArray(o,s)}return o}function v(e,t){var n=Ns[t];void 0===n&&(n=new Int32Array(t),Ns[t]=n);for(var r=0;r!==t;++r)n[r]=e.allocTextureUnit();return n}function y(e,t){e.uniform1f(this.addr,t)}function g(e,t){e.uniform1i(this.addr,t)}function b(e,t){void 0===t.x?e.uniform2fv(this.addr,t):e.uniform2f(this.addr,t.x,t.y)}function _(e,t){void 0!==t.x?e.uniform3f(this.addr,t.x,t.y,t.z):void 0!==t.r?e.uniform3f(this.addr,t.r,t.g,t.b):e.uniform3fv(this.addr,t)}function w(e,t){void 0===t.x?e.uniform4fv(this.addr,t):e.uniform4f(this.addr,t.x,t.y,t.z,t.w)}function x(e,t){e.uniformMatrix2fv(this.addr,!1,t.elements||t)}function E(e,t){void 0===t.elements?e.uniformMatrix3fv(this.addr,!1,t):(Fs.set(t.elements),e.uniformMatrix3fv(this.addr,!1,Fs))}function M(e,t){void 0===t.elements?e.uniformMatrix4fv(this.addr,!1,t):(Us.set(t.elements),e.uniformMatrix4fv(this.addr,!1,Us))}function O(e,t,n){var r=n.allocTextureUnit();e.uniform1i(this.addr,r),n.setTexture2D(t||Ls,r)}function T(e,t,n){var r=n.allocTextureUnit();e.uniform1i(this.addr,r),n.setTextureCube(t||js,r)}function P(e,t){e.uniform2iv(this.addr,t)}function S(e,t){e.uniform3iv(this.addr,t)}function C(e,t){e.uniform4iv(this.addr,t)}function R(e){switch(e){case 5126:return y;case 35664:return b;case 35665:return _;case 35666:return w;case 35674:return x;case 35675:return E;case 35676:return M;case 35678:case 36198:return O;case 35680:return T;case 5124:case 35670:return g;case 35667:case 35671:return P;case 35668:case 35672:return S;case 35669:case 35673:return C}}function A(e,t){e.uniform1fv(this.addr,t)}function D(e,t){e.uniform1iv(this.addr,t)}function k(e,t){e.uniform2fv(this.addr,m(t,this.size,2))}function L(e,t){e.uniform3fv(this.addr,m(t,this.size,3))}function j(e,t){e.uniform4fv(this.addr,m(t,this.size,4))}function I(e,t){e.uniformMatrix2fv(this.addr,!1,m(t,this.size,4))}function N(e,t){e.uniformMatrix3fv(this.addr,!1,m(t,this.size,9))}function U(e,t){e.uniformMatrix4fv(this.addr,!1,m(t,this.size,16))}function F(e,t,n){var r=t.length,i=v(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.setTexture2D(t[o]||Ls,i[o])}function B(e,t,n){var r=t.length,i=v(n,r);e.uniform1iv(this.addr,i);for(var o=0;o!==r;++o)n.setTextureCube(t[o]||js,i[o])}function z(e){switch(e){case 5126:return A;case 35664:return k;case 35665:return L;case 35666:return j;case 35674:return I;case 35675:return N;case 35676:return U;case 35678:return F;case 35680:return B;case 5124:case 35670:return D;case 35667:case 35671:return P;case 35668:case 35672:return S;case 35669:case 35673:return C}}function H(e,t,n){this.id=e,this.addr=n,this.setValue=R(t.type)}function V(e,t,n){this.id=e,this.addr=n,this.size=t.size,this.setValue=z(t.type)}function G(e){this.id=e,d.call(this)}function W(e,t){e.seq.push(t),e.map[t.id]=t}function q(e,t,n){var r=e.name,i=r.length;for(Bs.lastIndex=0;;){var o=Bs.exec(r),a=Bs.lastIndex,s=o[1],u="]"===o[2],c=o[3];if(u&&(s|=0),void 0===c||"["===c&&a+2===i){W(n,void 0===c?new H(s,e,t):new V(s,e,t));break}var l=n.map,p=l[s];void 0===p&&(p=new G(s),W(n,p)),n=p}}function X(e,t,n){d.call(this),this.renderer=n;for(var r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),i=0;i<r;++i){var o=e.getActiveUniform(t,i),a=o.name;q(o,e.getUniformLocation(t,a),this)}}function Y(e,t,n){return void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}function K(e,t){this.min=void 0!==e?e:new i(1/0,1/0),this.max=void 0!==t?t:new i(-1/0,-1/0)}function Z(e,t,n,r,o){function a(){var e=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),r=new Uint16Array([0,1,2,0,2,3]);u=t.createBuffer(),c=t.createBuffer(),t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,c),t.bufferData(t.ELEMENT_ARRAY_BUFFER,r,t.STATIC_DRAW),m=t.createTexture(),v=t.createTexture(),n.bindTexture(t.TEXTURE_2D,m),t.texImage2D(t.TEXTURE_2D,0,t.RGB,16,16,0,t.RGB,t.UNSIGNED_BYTE,null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),n.bindTexture(t.TEXTURE_2D,v),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,16,16,0,t.RGBA,t.UNSIGNED_BYTE,null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),p={vertexShader:["uniform lowp int renderType;","uniform vec3 screenPosition;","uniform vec2 scale;","uniform float rotation;","uniform sampler2D occlusionMap;","attribute vec2 position;","attribute vec2 uv;","varying vec2 vUV;","varying float vVisibility;","void main() {","vUV = uv;","vec2 pos = position;","if ( renderType == 2 ) {","vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );","visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );","visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );","visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );","visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );","visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );","visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );","visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );","visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );","vVisibility =        visibility.r / 9.0;","vVisibility *= 1.0 - visibility.g / 9.0;","vVisibility *=       visibility.b / 9.0;","vVisibility *= 1.0 - visibility.a / 9.0;","pos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;","pos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;","}","gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );","}"].join("\n"),fragmentShader:["uniform lowp int renderType;","uniform sampler2D map;","uniform float opacity;","uniform vec3 color;","varying vec2 vUV;","varying float vVisibility;","void main() {","if ( renderType == 0 ) {","gl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );","} else if ( renderType == 1 ) {","gl_FragColor = texture2D( map, vUV );","} else {","vec4 texture = texture2D( map, vUV );","texture.a *= opacity * vVisibility;","gl_FragColor = texture;","gl_FragColor.rgb *= color;","}","}"].join("\n")},f=s(p),h={vertex:t.getAttribLocation(f,"position"),uv:t.getAttribLocation(f,"uv")},d={renderType:t.getUniformLocation(f,"renderType"),map:t.getUniformLocation(f,"map"),occlusionMap:t.getUniformLocation(f,"occlusionMap"),opacity:t.getUniformLocation(f,"opacity"),color:t.getUniformLocation(f,"color"),scale:t.getUniformLocation(f,"scale"),rotation:t.getUniformLocation(f,"rotation"),screenPosition:t.getUniformLocation(f,"screenPosition")}}function s(e){var n=t.createProgram(),r=t.createShader(t.FRAGMENT_SHADER),i=t.createShader(t.VERTEX_SHADER),a="precision "+o.precision+" float;\n";return t.shaderSource(r,a+e.fragmentShader),t.shaderSource(i,a+e.vertexShader),t.compileShader(r),t.compileShader(i),t.attachShader(n,r),t.attachShader(n,i),t.linkProgram(n),n}var u,c,p,f,h,d,m,v;this.render=function(e,o,s,p){if(0!==e.length){var y=new l,g=p.w/p.z,b=.5*p.z,_=.5*p.w,w=16/p.w,x=new i(w*g,w),E=new l(1,1,0),M=new i(1,1),O=new K;O.min.set(p.x,p.y),O.max.set(p.x+(p.z-16),p.y+(p.w-16)),void 0===f&&a(),n.useProgram(f),n.initAttributes(),n.enableAttribute(h.vertex),n.enableAttribute(h.uv),n.disableUnusedAttributes(),t.uniform1i(d.occlusionMap,0),t.uniform1i(d.map,1),t.bindBuffer(t.ARRAY_BUFFER,u),t.vertexAttribPointer(h.vertex,2,t.FLOAT,!1,16,0),t.vertexAttribPointer(h.uv,2,t.FLOAT,!1,16,8),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,c),n.disable(t.CULL_FACE),n.buffers.depth.setMask(!1);for(var T=0,P=e.length;T<P;T++){w=16/p.w,x.set(w*g,w);var S=e[T];if(y.set(S.matrixWorld.elements[12],S.matrixWorld.elements[13],S.matrixWorld.elements[14]),y.applyMatrix4(s.matrixWorldInverse),y.applyMatrix4(s.projectionMatrix),E.copy(y),M.x=p.x+E.x*b+b-8,M.y=p.y+E.y*_+_-8,!0===O.containsPoint(M)){n.activeTexture(t.TEXTURE0),n.bindTexture(t.TEXTURE_2D,null),n.activeTexture(t.TEXTURE1),n.bindTexture(t.TEXTURE_2D,m),t.copyTexImage2D(t.TEXTURE_2D,0,t.RGB,M.x,M.y,16,16,0),t.uniform1i(d.renderType,0),t.uniform2f(d.scale,x.x,x.y),t.uniform3f(d.screenPosition,E.x,E.y,E.z),n.disable(t.BLEND),n.enable(t.DEPTH_TEST),t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0),n.activeTexture(t.TEXTURE0),n.bindTexture(t.TEXTURE_2D,v),t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,M.x,M.y,16,16,0),t.uniform1i(d.renderType,1),n.disable(t.DEPTH_TEST),n.activeTexture(t.TEXTURE1),n.bindTexture(t.TEXTURE_2D,m),t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0),S.positionScreen.copy(E),S.customUpdateCallback?S.customUpdateCallback(S):S.updateLensFlares(),t.uniform1i(d.renderType,2),n.enable(t.BLEND);for(var C=0,R=S.lensFlares.length;C<R;C++){var A=S.lensFlares[C];A.opacity>.001&&A.scale>.001&&(E.x=A.x,E.y=A.y,E.z=A.z,w=A.size*A.scale/p.w,x.x=w*g,x.y=w,t.uniform3f(d.screenPosition,E.x,E.y,E.z),t.uniform2f(d.scale,x.x,x.y),t.uniform1f(d.rotation,A.rotation),t.uniform1f(d.opacity,A.opacity),t.uniform3f(d.color,A.color.r,A.color.g,A.color.b),n.setBlending(A.blending,A.blendEquation,A.blendSrc,A.blendDst),r.setTexture2D(A.texture,1),t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0))}}}n.enable(t.CULL_FACE),n.enable(t.DEPTH_TEST),n.buffers.depth.setMask(!0),n.reset()}}}function Q(e,t,n,r,i,a,s,u,c){o.call(this,e,t,n,r,i,a,s,u,c),this.needsUpdate=!0}function J(e,t,n,r,i){function o(){var e=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),n=new Uint16Array([0,1,2,0,2,3]);u=t.createBuffer(),p=t.createBuffer(),t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,e,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,p),t.bufferData(t.ELEMENT_ARRAY_BUFFER,n,t.STATIC_DRAW),f=a(),h={position:t.getAttribLocation(f,"position"),uv:t.getAttribLocation(f,"uv")},d={uvOffset:t.getUniformLocation(f,"uvOffset"),uvScale:t.getUniformLocation(f,"uvScale"),rotation:t.getUniformLocation(f,"rotation"),scale:t.getUniformLocation(f,"scale"),color:t.getUniformLocation(f,"color"),map:t.getUniformLocation(f,"map"),opacity:t.getUniformLocation(f,"opacity"),modelViewMatrix:t.getUniformLocation(f,"modelViewMatrix"),projectionMatrix:t.getUniformLocation(f,"projectionMatrix"),fogType:t.getUniformLocation(f,"fogType"),fogDensity:t.getUniformLocation(f,"fogDensity"),fogNear:t.getUniformLocation(f,"fogNear"),fogFar:t.getUniformLocation(f,"fogFar"),fogColor:t.getUniformLocation(f,"fogColor"),alphaTest:t.getUniformLocation(f,"alphaTest")};var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=8,r.height=8;var i=r.getContext("2d");i.fillStyle="white",i.fillRect(0,0,8,8),m=new Q(r)}function a(){var e=t.createProgram(),n=t.createShader(t.VERTEX_SHADER),r=t.createShader(t.FRAGMENT_SHADER);return t.shaderSource(n,["precision "+i.precision+" float;","#define SHADER_NAME SpriteMaterial","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform float rotation;","uniform vec2 scale;","uniform vec2 uvOffset;","uniform vec2 uvScale;","attribute vec2 position;","attribute vec2 uv;","varying vec2 vUV;","void main() {","vUV = uvOffset + uv * uvScale;","vec2 alignedPosition = position * scale;","vec2 rotatedPosition;","rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;","rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;","vec4 finalPosition;","finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );","finalPosition.xy += rotatedPosition;","finalPosition = projectionMatrix * finalPosition;","gl_Position = finalPosition;","}"].join("\n")),t.shaderSource(r,["precision "+i.precision+" float;","#define SHADER_NAME SpriteMaterial","uniform vec3 color;","uniform sampler2D map;","uniform float opacity;","uniform int fogType;","uniform vec3 fogColor;","uniform float fogDensity;","uniform float fogNear;","uniform float fogFar;","uniform float alphaTest;","varying vec2 vUV;","void main() {","vec4 texture = texture2D( map, vUV );","if ( texture.a < alphaTest ) discard;","gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );","if ( fogType > 0 ) {","float depth = gl_FragCoord.z / gl_FragCoord.w;","float fogFactor = 0.0;","if ( fogType == 1 ) {","fogFactor = smoothstep( fogNear, fogFar, depth );","} else {","const float LOG2 = 1.442695;","fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );","fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );","}","gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );","}","}"].join("\n")),t.compileShader(n),t.compileShader(r),t.attachShader(e,n),t.attachShader(e,r),t.linkProgram(e),e}function s(e,t){return e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:t.id-e.id}var u,p,f,h,d,m,v=new l,y=new c,g=new l;this.render=function(i,a,c){if(0!==i.length){void 0===f&&o(),n.useProgram(f),n.initAttributes(),n.enableAttribute(h.position),n.enableAttribute(h.uv),n.disableUnusedAttributes(),n.disable(t.CULL_FACE),n.enable(t.BLEND),t.bindBuffer(t.ARRAY_BUFFER,u),t.vertexAttribPointer(h.position,2,t.FLOAT,!1,16,0),t.vertexAttribPointer(h.uv,2,t.FLOAT,!1,16,8),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,p),t.uniformMatrix4fv(d.projectionMatrix,!1,c.projectionMatrix.elements),n.activeTexture(t.TEXTURE0),t.uniform1i(d.map,0);var l=0,b=0,_=a.fog;_?(t.uniform3f(d.fogColor,_.color.r,_.color.g,_.color.b),_.isFog?(t.uniform1f(d.fogNear,_.near),t.uniform1f(d.fogFar,_.far),t.uniform1i(d.fogType,1),l=1,b=1):_.isFogExp2&&(t.uniform1f(d.fogDensity,_.density),t.uniform1i(d.fogType,2),l=2,b=2)):(t.uniform1i(d.fogType,0),l=0,b=0);for(var w=0,x=i.length;w<x;w++){var E=i[w];E.modelViewMatrix.multiplyMatrices(c.matrixWorldInverse,E.matrixWorld),E.z=-E.modelViewMatrix.elements[14]}i.sort(s);for(var M=[],w=0,x=i.length;w<x;w++){var E=i[w],O=E.material;if(!1!==O.visible){E.onBeforeRender(e,a,c,void 0,O,void 0),t.uniform1f(d.alphaTest,O.alphaTest),t.uniformMatrix4fv(d.modelViewMatrix,!1,E.modelViewMatrix.elements),E.matrixWorld.decompose(v,y,g),M[0]=g.x,M[1]=g.y;var T=0;a.fog&&O.fog&&(T=b),l!==T&&(t.uniform1i(d.fogType,T),l=T),null!==O.map?(t.uniform2f(d.uvOffset,O.map.offset.x,O.map.offset.y),t.uniform2f(d.uvScale,O.map.repeat.x,O.map.repeat.y)):(t.uniform2f(d.uvOffset,0,0),t.uniform2f(d.uvScale,1,1)),t.uniform1f(d.opacity,O.opacity),t.uniform3f(d.color,O.color.r,O.color.g,O.color.b),t.uniform1f(d.rotation,O.rotation),t.uniform2fv(d.scale,M),n.setBlending(O.blending,O.blendEquation,O.blendSrc,O.blendDst,O.blendEquationAlpha,O.blendSrcAlpha,O.blendDstAlpha,O.premultipliedAlpha),n.buffers.depth.setTest(O.depthTest),n.buffers.depth.setMask(O.depthWrite),r.setTexture2D(O.map||m,0),t.drawElements(t.TRIANGLES,6,t.UNSIGNED_SHORT,0),E.onAfterRender(e,a,c,void 0,O,void 0)}}n.enable(t.CULL_FACE),n.reset()}}}function $(){Object.defineProperty(this,"id",{value:qs++}),this.uuid=Ds.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.lights=!0,this.blending=jo,this.side=To,this.flatShading=!1,this.vertexColors=Ao,this.opacity=1,this.transparent=!1,this.blendSrc=Ko,this.blendDst=Zo,this.blendEquation=Bo,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=oa,this.depthTest=!0,this.depthWrite=!0,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.premultipliedAlpha=!1,this.overdraw=0,this.visible=!0,this.userData={},this.needsUpdate=!0}function ee(e){$.call(this),this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,void 0!==e&&(void 0!==e.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(e))}function te(e){$.call(this),this.type="MeshDepthMaterial",this.depthPacking=Rs,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(e)}function ne(e){$.call(this),this.type="MeshDistanceMaterial",this.referencePosition=new l,this.nearDistance=1,this.farDistance=1e3,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.lights=!1,this.setValues(e)}function re(e,t){this.min=void 0!==e?e:new l(1/0,1/0,1/0),this.max=void 0!==t?t:new l(-1/0,-1/0,-1/0)}function ie(e,t){this.center=void 0!==e?e:new l,this.radius=void 0!==t?t:0}function oe(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}function ae(e,t){this.normal=void 0!==e?e:new l(1,0,0),this.constant=void 0!==t?t:0}function se(e,t,n,r,i,o){this.planes=[void 0!==e?e:new ae,void 0!==t?t:new ae,void 0!==n?n:new ae,void 0!==r?r:new ae,void 0!==i?i:new ae,void 0!==o?o:new ae]}function ue(e,t,n){function r(t,n,r,i,o,a){var s=t.geometry,u=null,c=b,l=t.customDepthMaterial;if(r&&(c=_,l=t.customDistanceMaterial),l)u=l;else{var p=!1;n.morphTargets&&(s&&s.isBufferGeometry?p=s.morphAttributes&&s.morphAttributes.position&&s.morphAttributes.position.length>0:s&&s.isGeometry&&(p=s.morphTargets&&s.morphTargets.length>0)),t.isSkinnedMesh&&!1===n.skinning&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",t);var f=t.isSkinnedMesh&&n.skinning,h=0;p&&(h|=v),f&&(h|=y),u=c[h]}if(e.localClippingEnabled&&!0===n.clipShadows&&0!==n.clippingPlanes.length){var d=u.uuid,m=n.uuid,g=w[d];void 0===g&&(g={},w[d]=g);var x=g[m];void 0===x&&(x=u.clone(),g[m]=x),u=x}u.visible=n.visible,u.wireframe=n.wireframe;var E=n.side;return R.renderSingleSided&&E==So&&(E=To),R.renderReverseSided&&(E===To?E=Po:E===Po&&(E=To)),u.side=E,u.clipShadows=n.clipShadows,u.clippingPlanes=n.clippingPlanes,u.clipIntersection=n.clipIntersection,u.wireframeLinewidth=n.wireframeLinewidth,u.linewidth=n.linewidth,r&&u.isMeshDistanceMaterial&&(u.referencePosition.copy(i),u.nearDistance=o,u.farDistance=a),u}function o(n,i,a,s){if(!1!==n.visible){if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&n.castShadow&&(!n.frustumCulled||u.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);var c=t.update(n),l=n.material;if(Array.isArray(l))for(var p=c.groups,f=0,h=p.length;f<h;f++){var d=p[f],v=l[d.materialIndex];if(v&&v.visible){var y=r(n,v,s,m,a.near,a.far);e.renderBufferDirect(a,null,c,y,n,d)}}else if(l.visible){var y=r(n,l,s,m,a.near,a.far);e.renderBufferDirect(a,null,c,y,n,null)}}for(var g=n.children,b=0,_=g.length;b<_;b++)o(g[b],i,a,s)}}for(var u=new se,c=new p,f=new i,h=new i(n,n),d=new l,m=new l,v=1,y=2,g=1+(v|y),b=new Array(g),_=new Array(g),w={},x=[new l(1,0,0),new l(-1,0,0),new l(0,0,1),new l(0,0,-1),new l(0,1,0),new l(0,-1,0)],E=[new l(0,1,0),new l(0,1,0),new l(0,1,0),new l(0,1,0),new l(0,0,1),new l(0,0,-1)],M=[new a,new a,new a,new a,new a,new a],O=0;O!==g;++O){var T=0!==(O&v),P=0!==(O&y),S=new te({depthPacking:As,morphTargets:T,skinning:P});b[O]=S;var C=new ne({morphTargets:T,skinning:P});_[O]=C}var R=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Mo,this.renderReverseSided=!0,this.renderSingleSided=!0,this.render=function(t,n,r){if(!1!==R.enabled&&(!1!==R.autoUpdate||!1!==R.needsUpdate)&&0!==t.length){var i=e.context,a=e.state;a.disable(i.BLEND),a.buffers.color.setClear(1,1,1,1),a.buffers.depth.setTest(!0),a.setScissorTest(!1);for(var l,p=0,v=t.length;p<v;p++){var y=t[p],g=y.shadow,b=y&&y.isPointLight;if(void 0!==g){var _=g.camera;if(f.copy(g.mapSize),f.min(h),b){var w=f.x,O=f.y;M[0].set(2*w,O,w,O),M[1].set(0,O,w,O),M[2].set(3*w,O,w,O),M[3].set(w,O,w,O),M[4].set(3*w,0,w,O),M[5].set(w,0,w,O),f.x*=4,f.y*=2}if(null===g.map){var T={minFilter:Ca,magFilter:Ca,format:Ka};g.map=new s(f.x,f.y,T),g.map.texture.name=y.name+".shadowMap",_.updateProjectionMatrix()}g.isSpotLightShadow&&g.update(y);var P=g.map,S=g.matrix;m.setFromMatrixPosition(y.matrixWorld),_.position.copy(m),b?(l=6,S.makeTranslation(-m.x,-m.y,-m.z)):(l=1,d.setFromMatrixPosition(y.target.matrixWorld),_.lookAt(d),_.updateMatrixWorld(),S.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),S.multiply(_.projectionMatrix),S.multiply(_.matrixWorldInverse)),e.setRenderTarget(P),e.clear();for(var C=0;C<l;C++){if(b){d.copy(_.position),d.add(x[C]),_.up.copy(E[C]),_.lookAt(d),_.updateMatrixWorld();var A=M[C];a.viewport(A)}c.multiplyMatrices(_.projectionMatrix,_.matrixWorldInverse),u.setFromMatrix(c),o(n,r,_,b)}}else console.warn("THREE.WebGLShadowMap:",y,"has no shadow.")}R.needsUpdate=!1}}}function ce(e){function t(t,n){var r=t.array,i=t.dynamic?e.DYNAMIC_DRAW:e.STATIC_DRAW,o=e.createBuffer();e.bindBuffer(n,o),e.bufferData(n,r,i),t.onUploadCallback();var a=e.FLOAT;return r instanceof Float32Array?a=e.FLOAT:r instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):r instanceof Uint16Array?a=e.UNSIGNED_SHORT:r instanceof Int16Array?a=e.SHORT:r instanceof Uint32Array?a=e.UNSIGNED_INT:r instanceof Int32Array?a=e.INT:r instanceof Int8Array?a=e.BYTE:r instanceof Uint8Array&&(a=e.UNSIGNED_BYTE),{buffer:o,type:a,bytesPerElement:r.BYTES_PER_ELEMENT,version:t.version}}function n(t,n,r){var i=n.array,o=n.updateRange;e.bindBuffer(r,t),!1===n.dynamic?e.bufferData(r,i,e.STATIC_DRAW):-1===o.count?e.bufferSubData(r,0,i):0===o.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):(e.bufferSubData(r,o.offset*i.BYTES_PER_ELEMENT,i.subarray(o.offset,o.offset+o.count)),o.count=-1)}function r(e){return e.isInterleavedBufferAttribute&&(e=e.data),a[e.uuid]}function i(t){t.isInterleavedBufferAttribute&&(t=t.data);var n=a[t.uuid];n&&(e.deleteBuffer(n.buffer),delete a[t.uuid])}function o(e,r){e.isInterleavedBufferAttribute&&(e=e.data);var i=a[e.uuid];void 0===i?a[e.uuid]=t(e,r):i.version<e.version&&(n(i.buffer,e,r),i.version=e.version)}var a={};return{get:r,remove:i,update:o}}function le(e,t,n,r){this._x=e||0,this._y=t||0,this._z=n||0,this._order=r||le.DefaultOrder}function pe(){this.mask=1}function fe(){function e(){i.setFromEuler(r,!1)}function t(){r.setFromQuaternion(i,void 0,!1)}Object.defineProperty(this,"id",{value:Xs++}),this.uuid=Ds.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=fe.DefaultUp.clone();var n=new l,r=new le,i=new c,o=new l(1,1,1);r.onChange(e),i.onChange(t),Object.defineProperties(this,{position:{enumerable:!0,value:n},rotation:{enumerable:!0,value:r},quaternion:{enumerable:!0,value:i},scale:{enumerable:!0,value:o},modelViewMatrix:{value:new p},normalMatrix:{value:new oe}}),this.matrix=new p,this.matrixWorld=new p,this.matrixAutoUpdate=fe.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new pe,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={}}function he(){fe.call(this),this.type="Camera",this.matrixWorldInverse=new p,this.projectionMatrix=new p}function de(e,t,n,r,i,o){he.call(this),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=void 0!==i?i:.1,this.far=void 0!==o?o:2e3,this.updateProjectionMatrix()}function me(e,t,n,r){he.call(this),this.type="PerspectiveCamera",this.fov=void 0!==e?e:50,this.zoom=1,this.near=void 0!==n?n:.1,this.far=void 0!==r?r:2e3,this.focus=10,this.aspect=void 0!==t?t:1,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}function ve(e,t,n,r,i,o){this.a=e,this.b=t,this.c=n,this.normal=r&&r.isVector3?r:new l,this.vertexNormals=Array.isArray(r)?r:[],this.color=i&&i.isColor?i:new Y,this.vertexColors=Array.isArray(i)?i:[],this.materialIndex=void 0!==o?o:0}function ye(){return Ys++}function ge(){Object.defineProperty(this,"id",{value:ye()}),this.uuid=Ds.generateUUID(),this.name="",this.type="Geometry",this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}function be(e,t,n){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.uuid=Ds.generateUUID(),this.name="",this.array=e,this.itemSize=t,this.count=void 0!==e?e.length/t:0,this.normalized=!0===n,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.onUploadCallback=function(){},this.version=0}function _e(e,t){be.call(this,new Int8Array(e),t)}function we(e,t){be.call(this,new Uint8Array(e),t)}function xe(e,t){be.call(this,new Uint8ClampedArray(e),t)}function Ee(e,t){be.call(this,new Int16Array(e),t)}function Me(e,t){be.call(this,new Uint16Array(e),t)}function Oe(e,t){be.call(this,new Int32Array(e),t)}function Te(e,t){be.call(this,new Uint32Array(e),t)}function Pe(e,t){be.call(this,new Float32Array(e),t)}function Se(e,t){be.call(this,new Float64Array(e),t)}function Ce(){this.indices=[],this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.uvs2=[],this.groups=[],this.morphTargets={},this.skinWeights=[],this.skinIndices=[],this.boundingBox=null,this.boundingSphere=null,this.verticesNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}function Re(e){if(0===e.length)return-1/0;for(var t=e[0],n=1,r=e.length;n<r;++n)e[n]>t&&(t=e[n]);return t}function Ae(){Object.defineProperty(this,"id",{value:ye()}),this.uuid=Ds.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0}}function De(e,t,n,r,i,o){ge.call(this),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:o},this.fromBufferGeometry(new ke(e,t,n,r,i,o)),this.mergeVertices()}function ke(e,t,n,r,i,o){function a(e,t,n,r,i,o,a,m,v,y,g){var b,_,w=o/v,x=a/y,E=o/2,M=a/2,O=m/2,T=v+1,P=y+1,S=0,C=0,R=new l;for(_=0;_<P;_++){var A=_*x-M;for(b=0;b<T;b++){var D=b*w-E;R[e]=D*r,R[t]=A*i,R[n]=O,c.push(R.x,R.y,R.z),R[e]=0,R[t]=0,R[n]=m>0?1:-1,p.push(R.x,R.y,R.z),f.push(b/v),f.push(1-_/y),S+=1}}for(_=0;_<y;_++)for(b=0;b<v;b++){var k=h+b+T*_,L=h+b+T*(_+1),j=h+(b+1)+T*(_+1),I=h+(b+1)+T*_;u.push(k,L,I),u.push(L,j,I),C+=6}s.addGroup(d,C,g),d+=C,h+=S}Ae.call(this),this.type="BoxBufferGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:o};var s=this;r=Math.floor(r)||1,i=Math.floor(i)||1,o=Math.floor(o)||1;var u=[],c=[],p=[],f=[],h=0,d=0;a("z","y","x",-1,-1,n,t,e,o,i,0),a("z","y","x",1,-1,n,t,-e,o,i,1),a("x","z","y",1,1,e,n,t,r,o,2),a("x","z","y",1,-1,e,n,-t,r,o,3),a("x","y","z",1,-1,e,t,n,r,i,4),a("x","y","z",-1,-1,e,t,-n,r,i,5),this.setIndex(u),this.addAttribute("position",new Pe(c,3)),this.addAttribute("normal",new Pe(p,3)),this.addAttribute("uv",new Pe(f,2))}function Le(e,t,n,r){ge.call(this),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:r},this.fromBufferGeometry(new je(e,t,n,r)),this.mergeVertices()}function je(e,t,n,r){Ae.call(this),this.type="PlaneBufferGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:r};var i,o,a=e/2,s=t/2,u=Math.floor(n)||1,c=Math.floor(r)||1,l=u+1,p=c+1,f=e/u,h=t/c,d=[],m=[],v=[],y=[];for(o=0;o<p;o++){var g=o*h-s;for(i=0;i<l;i++){var b=i*f-a;m.push(b,-g,0),v.push(0,0,1),y.push(i/u),y.push(1-o/c)}}for(o=0;o<c;o++)for(i=0;i<u;i++){var _=i+l*o,w=i+l*(o+1),x=i+1+l*(o+1),E=i+1+l*o;d.push(_,w,E),d.push(w,x,E)}this.setIndex(d),this.addAttribute("position",new Pe(m,3)),this.addAttribute("normal",new Pe(v,3)),this.addAttribute("uv",new Pe(y,2))}function Ie(e){$.call(this),this.type="MeshBasicMaterial",this.color=new Y(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=la,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.lights=!1,this.setValues(e)}function Ne(e,t){this.origin=void 0!==e?e:new l,this.direction=void 0!==t?t:new l}function Ue(e,t){this.start=void 0!==e?e:new l,this.end=void 0!==t?t:new l}function Fe(e,t,n){this.a=void 0!==e?e:new l,this.b=void 0!==t?t:new l,this.c=void 0!==n?n:new l}function Be(e,t){fe.call(this),this.type="Mesh",this.geometry=void 0!==e?e:new Ae,this.material=void 0!==t?t:new Ie({color:16777215*Math.random()}),this.drawMode=bs,this.updateMorphTargets()}function ze(e,t,n,r){function i(t,r,i,p){var f=r.background;null===f?o(c,l):f&&f.isColor&&(o(f,1),p=!0),(e.autoClear||p)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),f&&f.isCubeTexture?(void 0===u&&(u=new Be(new ke(1,1,1),new ee({uniforms:Ws.cube.uniforms,vertexShader:Ws.cube.vertexShader,fragmentShader:Ws.cube.fragmentShader,side:Po,depthTest:!0,depthWrite:!1,polygonOffset:!0,fog:!1})),u.geometry.removeAttribute("normal"),u.geometry.removeAttribute("uv"),u.onBeforeRender=function(e,t,n){var r=n.far;this.matrixWorld.makeScale(r,r,r),this.matrixWorld.copyPosition(n.matrixWorld),this.material.polygonOffsetUnits=10*r},n.update(u.geometry)),u.material.uniforms.tCube.value=f,t.push(u,u.geometry,u.material,0,null)):f&&f.isTexture&&(void 0===a&&(a=new de(-1,1,1,-1,0,1),s=new Be(new je(2,2),new Ie({depthTest:!1,depthWrite:!1,fog:!1})),n.update(s.geometry)),s.material.map=f,e.renderBufferDirect(a,null,s.geometry,s.material,s,null))}function o(e,n){t.buffers.color.setClear(e.r,e.g,e.b,n,r)}var a,s,u,c=new Y(0),l=0;return{getClearColor:function(){return c},setClearColor:function(e,t){c.set(e),l=void 0!==t?t:1,o(c,l)},getClearAlpha:function(){return l},setClearAlpha:function(e){l=e,o(c,l)},render:i}}function He(e,t){return e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.program&&t.program&&e.program!==t.program?e.program.id-t.program.id:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function Ve(e,t){return e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function Ge(){function e(){i=0,o.length=0,a.length=0}function t(e,t,n,s,u){var c=r[i];void 0===c?(c={id:e.id,object:e,geometry:t,material:n,program:n.program,renderOrder:e.renderOrder,z:s,group:u},r[i]=c):(c.id=e.id,c.object=e,c.geometry=t,c.material=n,c.program=n.program,c.renderOrder=e.renderOrder,c.z=s,c.group=u),(!0===n.transparent?a:o).push(c),i++}function n(){o.length>1&&o.sort(He),a.length>1&&a.sort(Ve)}var r=[],i=0,o=[],a=[];return{opaque:o,transparent:a,init:e,push:t,sort:n}}function We(){function e(e,t){var r=e.id+","+t.id,i=n[r];return void 0===i&&(i=new Ge,n[r]=i),i}function t(){n={}}var n={};return{get:e,dispose:t}}function qe(e,t){return Math.abs(t[1])-Math.abs(e[1])}function Xe(e){function t(t,i,o,a){var s=t.morphTargetInfluences,u=s.length,c=n[i.id];if(void 0===c){c=[];for(var l=0;l<u;l++)c[l]=[l,0];n[i.id]=c}for(var p=o.morphTargets&&i.morphAttributes.position,f=o.morphNormals&&i.morphAttributes.normal,l=0;l<u;l++){var h=c[l];0!==h[1]&&(p&&i.removeAttribute("morphTarget"+l),f&&i.removeAttribute("morphNormal"+l))}for(var l=0;l<u;l++){var h=c[l];h[0]=l,h[1]=s[l]}c.sort(qe);for(var l=0;l<8;l++){var h=c[l];if(h){var d=h[0],m=h[1];if(m){p&&i.addAttribute("morphTarget"+l,p[d]),f&&i.addAttribute("morphNormal"+l,f[d]),r[l]=m;continue}}r[l]=0}a.getUniforms().setValue(e,"morphTargetInfluences",r)}var n={},r=new Float32Array(8);return{update:t}}function Ye(e,t,n){function r(e){s=e}function i(e){u=e.type,c=e.bytesPerElement}function o(t,r){e.drawElements(s,r,u,t*c),n.calls++,n.vertices+=r,s===e.TRIANGLES?n.faces+=r/3:s===e.POINTS&&(n.points+=r)}function a(r,i,o){var a=t.get("ANGLE_instanced_arrays");if(null===a)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");a.drawElementsInstancedANGLE(s,o,u,i*c,r.maxInstancedCount),n.calls++,n.vertices+=o*r.maxInstancedCount,s===e.TRIANGLES?n.faces+=r.maxInstancedCount*o/3:s===e.POINTS&&(n.points+=r.maxInstancedCount*o)}var s,u,c;this.setMode=r,this.setIndex=i,this.render=o,this.renderInstances=a}function Ke(e,t,n){function r(e){a=e}function i(t,r){e.drawArrays(a,t,r),n.calls++,n.vertices+=r,a===e.TRIANGLES?n.faces+=r/3:a===e.POINTS&&(n.points+=r)}function o(r,i,o){var s=t.get("ANGLE_instanced_arrays");if(null===s)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");var u=r.attributes.position;u.isInterleavedBufferAttribute?(o=u.data.count,s.drawArraysInstancedANGLE(a,0,o,r.maxInstancedCount)):s.drawArraysInstancedANGLE(a,i,o,r.maxInstancedCount),n.calls++,n.vertices+=o*r.maxInstancedCount,a===e.TRIANGLES?n.faces+=r.maxInstancedCount*o/3:a===e.POINTS&&(n.points+=r.maxInstancedCount*o)}var a;this.setMode=r,this.render=i,this.renderInstances=o}function Ze(e,t,n){function r(e){var i=e.target,o=s[i.id];null!==o.index&&t.remove(o.index);for(var a in o.attributes)t.remove(o.attributes[a]);i.removeEventListener("dispose",r),delete s[i.id];var c=u[i.id];c&&(t.remove(c),delete u[i.id]),c=u[o.id],c&&(t.remove(c),delete u[o.id]),n.geometries--}function i(e,t){var i=s[t.id];return i||(t.addEventListener("dispose",r),t.isBufferGeometry?i=t:t.isGeometry&&(void 0===t._bufferGeometry&&(t._bufferGeometry=(new Ae).setFromObject(e)),i=t._bufferGeometry),s[t.id]=i,n.geometries++,i)}function o(n){var r=n.index,i=n.attributes;null!==r&&t.update(r,e.ELEMENT_ARRAY_BUFFER);for(var o in i)t.update(i[o],e.ARRAY_BUFFER);var a=n.morphAttributes;for(var o in a)for(var s=a[o],u=0,c=s.length;u<c;u++)t.update(s[u],e.ARRAY_BUFFER)}function a(n){var r=u[n.id];if(r)return r;var i=[],o=n.index,a=n.attributes;if(null!==o)for(var s=o.array,c=0,l=s.length;c<l;c+=3){var p=s[c+0],f=s[c+1],h=s[c+2];i.push(p,f,f,h,h,p)}else for(var s=a.position.array,c=0,l=s.length/3-1;c<l;c+=3){var p=c+0,f=c+1,h=c+2;i.push(p,f,f,h,h,p)}return r=new(Re(i)>65535?Te:Me)(i,1),t.update(r,e.ELEMENT_ARRAY_BUFFER),u[n.id]=r,r}var s={},u={};return{get:i,update:o,getWireframeAttribute:a}}function Qe(){var e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];var n;switch(t.type){case"DirectionalLight":n={direction:new l,color:new Y,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new i};break;case"SpotLight":n={position:new l,direction:new l,color:new Y,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new i};break;case"PointLight":n={position:new l,color:new Y,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new i,shadowCameraNear:1,shadowCameraFar:1e3};break;case"HemisphereLight":n={direction:new l,skyColor:new Y,groundColor:new Y};break;case"RectAreaLight":n={color:new Y,position:new l,halfWidth:new l,halfHeight:new l}}return e[t.id]=n,n}}}function Je(){function e(e,a,s){for(var u=0,c=0,l=0,p=0,f=0,h=0,d=0,m=0,v=s.matrixWorldInverse,y=0,g=e.length;y<g;y++){var b=e[y],_=b.color,w=b.intensity,x=b.distance,E=b.shadow&&b.shadow.map?b.shadow.map.texture:null;if(b.isAmbientLight)u+=_.r*w,c+=_.g*w,l+=_.b*w;else if(b.isDirectionalLight){var M=t.get(b);if(M.color.copy(b.color).multiplyScalar(b.intensity),M.direction.setFromMatrixPosition(b.matrixWorld),r.setFromMatrixPosition(b.target.matrixWorld),M.direction.sub(r),M.direction.transformDirection(v),M.shadow=b.castShadow,b.castShadow){var O=b.shadow;M.shadowBias=O.bias,M.shadowRadius=O.radius,M.shadowMapSize=O.mapSize}n.directionalShadowMap[p]=E,n.directionalShadowMatrix[p]=b.shadow.matrix,n.directional[p]=M,p++}else if(b.isSpotLight){var M=t.get(b);if(M.position.setFromMatrixPosition(b.matrixWorld),M.position.applyMatrix4(v),M.color.copy(_).multiplyScalar(w),M.distance=x,M.direction.setFromMatrixPosition(b.matrixWorld),r.setFromMatrixPosition(b.target.matrixWorld),M.direction.sub(r),M.direction.transformDirection(v),M.coneCos=Math.cos(b.angle),M.penumbraCos=Math.cos(b.angle*(1-b.penumbra)),M.decay=0===b.distance?0:b.decay,M.shadow=b.castShadow,b.castShadow){var O=b.shadow;M.shadowBias=O.bias,M.shadowRadius=O.radius,M.shadowMapSize=O.mapSize}n.spotShadowMap[h]=E,n.spotShadowMatrix[h]=b.shadow.matrix,n.spot[h]=M,h++}else if(b.isRectAreaLight){var M=t.get(b);M.color.copy(_).multiplyScalar(w/(b.width*b.height)),M.position.setFromMatrixPosition(b.matrixWorld),M.position.applyMatrix4(v),o.identity(),i.copy(b.matrixWorld),i.premultiply(v),o.extractRotation(i),M.halfWidth.set(.5*b.width,0,0),M.halfHeight.set(0,.5*b.height,0),M.halfWidth.applyMatrix4(o),M.halfHeight.applyMatrix4(o),n.rectArea[d]=M,d++}else if(b.isPointLight){var M=t.get(b);if(M.position.setFromMatrixPosition(b.matrixWorld),M.position.applyMatrix4(v),M.color.copy(b.color).multiplyScalar(b.intensity),M.distance=b.distance,M.decay=0===b.distance?0:b.decay,M.shadow=b.castShadow,b.castShadow){var O=b.shadow;M.shadowBias=O.bias,M.shadowRadius=O.radius,M.shadowMapSize=O.mapSize,M.shadowCameraNear=O.camera.near,M.shadowCameraFar=O.camera.far}n.pointShadowMap[f]=E,n.pointShadowMatrix[f]=b.shadow.matrix,n.point[f]=M,f++}else if(b.isHemisphereLight){var M=t.get(b);M.direction.setFromMatrixPosition(b.matrixWorld),M.direction.transformDirection(v),M.direction.normalize(),M.skyColor.copy(b.color).multiplyScalar(w),M.groundColor.copy(b.groundColor).multiplyScalar(w),n.hemi[m]=M,m++}}n.ambient[0]=u,n.ambient[1]=c,n.ambient[2]=l,n.directional.length=p,n.spot.length=h,n.rectArea.length=d,n.point.length=f,n.hemi.length=m,n.hash=p+","+f+","+h+","+d+","+m+","+a.length}var t=new Qe,n={hash:"",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},r=new l,i=new p,o=new p;return{setup:e,state:n}}function $e(e,t){function n(n){var r=t.frame,o=n.geometry,a=e.get(n,o);return i[a.id]!==r&&(o.isGeometry&&a.updateFromObject(n),e.update(a),i[a.id]=r),a}function r(){i={}}var i={};return{update:n,clear:r}}function et(e){for(var t=e.split("\n"),n=0;n<t.length;n++)t[n]=n+1+": "+t[n];return t.join("\n")}function tt(e,t,n){var r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),!1===e.getShaderParameter(r,e.COMPILE_STATUS)&&console.error("THREE.WebGLShader: Shader couldn't compile."),""!==e.getShaderInfoLog(r)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",t===e.VERTEX_SHADER?"vertex":"fragment",e.getShaderInfoLog(r),et(n)),r}function nt(e){switch(e){case xs:return["Linear","( value )"];case Es:return["sRGB","( value )"];case Os:return["RGBE","( value )"];case Ps:return["RGBM","( value, 7.0 )"];case Ss:return["RGBM","( value, 16.0 )"];case Cs:return["RGBD","( value, 256.0 )"];case Ms:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw new Error("unsupported encoding: "+e)}}function rt(e,t){var n=nt(t);return"vec4 "+e+"( vec4 value ) { return "+n[0]+"ToLinear"+n[1]+"; }"}function it(e,t){var n=nt(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function ot(e,t){var n;switch(t){case da:n="Linear";break;case ma:n="Reinhard";break;case va:n="Uncharted2";break;case ya:n="OptimizedCineon";break;default:throw new Error("unsupported toneMapping: "+t)}return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function at(e,t,n){return e=e||{},[e.derivatives||t.envMapCubeUV||t.bumpMap||t.normalMap||t.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(e.fragDepth||t.logarithmicDepthBuffer)&&n.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",e.drawBuffers&&n.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(e.shaderTextureLOD||t.envMap)&&n.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""].filter(ct).join("\n")}function st(e){var t=[];for(var n in e){var r=e[n];!1!==r&&t.push("#define "+n+" "+r)}return t.join("\n")}function ut(e,t,n){for(var r={},i=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),o=0;o<i;o++){var a=e.getActiveAttrib(t,o),s=a.name;r[s]=e.getAttribLocation(t,s)}return r}function ct(e){return""!==e}function lt(e,t){return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights)}function pt(e){function t(e,t){var n=Gs[t];if(void 0===n)throw new Error("Can not resolve #include <"+t+">");return pt(n)}var n=/^[ \t]*#include +<([\w\d.]+)>/gm;return e.replace(n,t)}function ft(e){function t(e,t,n,r){for(var i="",o=parseInt(t);o<parseInt(n);o++)i+=r.replace(/\[ i \]/g,"[ "+o+" ]");return i}var n=/for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g;return e.replace(n,t)}function ht(e,t,n,r,i,o){var a=e.context,s=r.defines,u=i.vertexShader,c=i.fragmentShader,l="SHADOWMAP_TYPE_BASIC";o.shadowMapType===Mo?l="SHADOWMAP_TYPE_PCF":o.shadowMapType===Oo&&(l="SHADOWMAP_TYPE_PCF_SOFT");var p="ENVMAP_TYPE_CUBE",f="ENVMAP_MODE_REFLECTION",h="ENVMAP_BLENDING_MULTIPLY";if(o.envMap){switch(r.envMap.mapping){case ba:case _a:p="ENVMAP_TYPE_CUBE";break;case Ma:case Oa:p="ENVMAP_TYPE_CUBE_UV";break;case wa:case xa:p="ENVMAP_TYPE_EQUIREC";break;case Ea:p="ENVMAP_TYPE_SPHERE"}switch(r.envMap.mapping){case _a:case xa:f="ENVMAP_MODE_REFRACTION"}switch(r.combine){case la:h="ENVMAP_BLENDING_MULTIPLY";break;case pa:h="ENVMAP_BLENDING_MIX";break;case fa:h="ENVMAP_BLENDING_ADD"}}var d,m,v=e.gammaFactor>0?e.gammaFactor:1,y=at(r.extensions,o,t),g=st(s),b=a.createProgram();r.isRawShaderMaterial?(d=[g,"\n"].filter(ct).join("\n"),m=[y,g,"\n"].filter(ct).join("\n")):(d=["precision "+o.precision+" float;","precision "+o.precision+" int;","#define SHADER_NAME "+i.name,g,o.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+v,"#define MAX_BONES "+o.maxBones,o.useFog&&o.fog?"#define USE_FOG":"",o.useFog&&o.fogExp?"#define FOG_EXP2":"",o.map?"#define USE_MAP":"",o.envMap?"#define USE_ENVMAP":"",o.envMap?"#define "+f:"",o.lightMap?"#define USE_LIGHTMAP":"",o.aoMap?"#define USE_AOMAP":"",o.emissiveMap?"#define USE_EMISSIVEMAP":"",o.bumpMap?"#define USE_BUMPMAP":"",o.normalMap?"#define USE_NORMALMAP":"",o.displacementMap&&o.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",o.specularMap?"#define USE_SPECULARMAP":"",o.roughnessMap?"#define USE_ROUGHNESSMAP":"",o.metalnessMap?"#define USE_METALNESSMAP":"",o.alphaMap?"#define USE_ALPHAMAP":"",o.vertexColors?"#define USE_COLOR":"",o.flatShading?"#define FLAT_SHADED":"",o.skinning?"#define USE_SKINNING":"",o.useVertexTexture?"#define BONE_TEXTURE":"",o.morphTargets?"#define USE_MORPHTARGETS":"",o.morphNormals&&!1===o.flatShading?"#define USE_MORPHNORMALS":"",o.doubleSided?"#define DOUBLE_SIDED":"",o.flipSided?"#define FLIP_SIDED":"","#define NUM_CLIPPING_PLANES "+o.numClippingPlanes,o.shadowMapEnabled?"#define USE_SHADOWMAP":"",o.shadowMapEnabled?"#define "+l:"",o.sizeAttenuation?"#define USE_SIZEATTENUATION":"",o.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",o.logarithmicDepthBuffer&&t.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(ct).join("\n"),m=[y,"precision "+o.precision+" float;","precision "+o.precision+" int;","#define SHADER_NAME "+i.name,g,o.alphaTest?"#define ALPHATEST "+o.alphaTest:"","#define GAMMA_FACTOR "+v,o.useFog&&o.fog?"#define USE_FOG":"",o.useFog&&o.fogExp?"#define FOG_EXP2":"",o.map?"#define USE_MAP":"",o.envMap?"#define USE_ENVMAP":"",o.envMap?"#define "+p:"",o.envMap?"#define "+f:"",o.envMap?"#define "+h:"",o.lightMap?"#define USE_LIGHTMAP":"",o.aoMap?"#define USE_AOMAP":"",o.emissiveMap?"#define USE_EMISSIVEMAP":"",o.bumpMap?"#define USE_BUMPMAP":"",o.normalMap?"#define USE_NORMALMAP":"",o.specularMap?"#define USE_SPECULARMAP":"",o.roughnessMap?"#define USE_ROUGHNESSMAP":"",o.metalnessMap?"#define USE_METALNESSMAP":"",o.alphaMap?"#define USE_ALPHAMAP":"",o.vertexColors?"#define USE_COLOR":"",o.gradientMap?"#define USE_GRADIENTMAP":"",o.flatShading?"#define FLAT_SHADED":"",o.doubleSided?"#define DOUBLE_SIDED":"",o.flipSided?"#define FLIP_SIDED":"","#define NUM_CLIPPING_PLANES "+o.numClippingPlanes,"#define UNION_CLIPPING_PLANES "+(o.numClippingPlanes-o.numClipIntersection),o.shadowMapEnabled?"#define USE_SHADOWMAP":"",o.shadowMapEnabled?"#define "+l:"",o.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",o.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",o.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",o.logarithmicDepthBuffer&&t.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":"",o.envMap&&t.get("EXT_shader_texture_lod")?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;",o.toneMapping!==ha?"#define TONE_MAPPING":"",o.toneMapping!==ha?Gs.tonemapping_pars_fragment:"",o.toneMapping!==ha?ot("toneMapping",o.toneMapping):"",o.dithering?"#define DITHERING":"",o.outputEncoding||o.mapEncoding||o.envMapEncoding||o.emissiveMapEncoding?Gs.encodings_pars_fragment:"",o.mapEncoding?rt("mapTexelToLinear",o.mapEncoding):"",o.envMapEncoding?rt("envMapTexelToLinear",o.envMapEncoding):"",o.emissiveMapEncoding?rt("emissiveMapTexelToLinear",o.emissiveMapEncoding):"",o.outputEncoding?it("linearToOutputTexel",o.outputEncoding):"",o.depthPacking?"#define DEPTH_PACKING "+r.depthPacking:"","\n"].filter(ct).join("\n")),u=pt(u),u=lt(u,o),c=pt(c),c=lt(c,o),r.isShaderMaterial||(u=ft(u),c=ft(c));var _=d+u,w=m+c,x=tt(a,a.VERTEX_SHADER,_),E=tt(a,a.FRAGMENT_SHADER,w);a.attachShader(b,x),a.attachShader(b,E),void 0!==r.index0AttributeName?a.bindAttribLocation(b,0,r.index0AttributeName):!0===o.morphTargets&&a.bindAttribLocation(b,0,"position"),a.linkProgram(b);var M=a.getProgramInfoLog(b),O=a.getShaderInfoLog(x),T=a.getShaderInfoLog(E),P=!0,S=!0;!1===a.getProgramParameter(b,a.LINK_STATUS)?(P=!1,console.error("THREE.WebGLProgram: shader error: ",a.getError(),"gl.VALIDATE_STATUS",a.getProgramParameter(b,a.VALIDATE_STATUS),"gl.getProgramInfoLog",M,O,T)):""!==M?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",M):""!==O&&""!==T||(S=!1),S&&(this.diagnostics={runnable:P,material:r,programLog:M,vertexShader:{log:O,prefix:d},fragmentShader:{log:T,prefix:m}}),a.deleteShader(x),a.deleteShader(E);var C;this.getUniforms=function(){return void 0===C&&(C=new X(a,b,e)),C};var R;return this.getAttributes=function(){return void 0===R&&(R=ut(a,b)),R},this.destroy=function(){a.deleteProgram(b),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn("THREE.WebGLProgram: .uniforms is now .getUniforms()."),this.getUniforms()}},attributes:{get:function(){return console.warn("THREE.WebGLProgram: .attributes is now .getAttributes()."),this.getAttributes()}}}),this.id=Ks++,this.code=n,this.usedTimes=1,this.program=b,this.vertexShader=x,this.fragmentShader=E,this}function dt(e,t,n){function r(e){var t=e.skeleton,r=t.bones;if(n.floatVertexTextures)return 1024;var i=n.maxVertexUniforms,o=Math.floor((i-20)/4),a=Math.min(o,r.length);return a<r.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+r.length+" bones. This GPU supports "+a+"."),0):a}function i(e,t){var n;return e?e.isTexture?n=e.encoding:e.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),n=e.texture.encoding):n=xs,n===xs&&t&&(n=Ms),n}var o=[],a={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"phong",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow"},s=["precision","supportsVertexTextures","map","mapEncoding","envMap","envMapMode","envMapEncoding","lightMap","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","fog","useFog","fogExp","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","maxMorphTargets","maxMorphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering"];this.getParameters=function(t,o,s,u,c,l,p){var f=a[t.type],h=p.isSkinnedMesh?r(p):0,d=n.precision;null!==t.precision&&(d=n.getMaxPrecision(t.precision))!==t.precision&&console.warn("THREE.WebGLProgram.getParameters:",t.precision,"not supported, using",d,"instead.");var m=e.getRenderTarget();return{shaderID:f,precision:d,supportsVertexTextures:n.vertexTextures,outputEncoding:i(m?m.texture:null,e.gammaOutput),map:!!t.map,mapEncoding:i(t.map,e.gammaInput),envMap:!!t.envMap,envMapMode:t.envMap&&t.envMap.mapping,envMapEncoding:i(t.envMap,e.gammaInput),envMapCubeUV:!!t.envMap&&(t.envMap.mapping===Ma||t.envMap.mapping===Oa),lightMap:!!t.lightMap,aoMap:!!t.aoMap,emissiveMap:!!t.emissiveMap,emissiveMapEncoding:i(t.emissiveMap,e.gammaInput),bumpMap:!!t.bumpMap,normalMap:!!t.normalMap,displacementMap:!!t.displacementMap,roughnessMap:!!t.roughnessMap,metalnessMap:!!t.metalnessMap,specularMap:!!t.specularMap,alphaMap:!!t.alphaMap,gradientMap:!!t.gradientMap,combine:t.combine,vertexColors:t.vertexColors,fog:!!u,useFog:t.fog,fogExp:u&&u.isFogExp2,flatShading:t.flatShading,sizeAttenuation:t.sizeAttenuation,logarithmicDepthBuffer:n.logarithmicDepthBuffer,skinning:t.skinning&&h>0,maxBones:h,useVertexTexture:n.floatVertexTextures,morphTargets:t.morphTargets,morphNormals:t.morphNormals,maxMorphTargets:e.maxMorphTargets,maxMorphNormals:e.maxMorphNormals,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numClippingPlanes:c,numClipIntersection:l,dithering:t.dithering,shadowMapEnabled:e.shadowMap.enabled&&p.receiveShadow&&s.length>0,shadowMapType:e.shadowMap.type,toneMapping:e.toneMapping,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:t.premultipliedAlpha,alphaTest:t.alphaTest,doubleSided:t.side===So,flipSided:t.side===Po,depthPacking:void 0!==t.depthPacking&&t.depthPacking}},this.getProgramCode=function(t,n){var r=[];if(n.shaderID?r.push(n.shaderID):(r.push(t.fragmentShader),r.push(t.vertexShader)),void 0!==t.defines)for(var i in t.defines)r.push(i),r.push(t.defines[i]);for(var o=0;o<s.length;o++)r.push(n[s[o]]);return r.push(t.onBeforeCompile.toString()),r.push(e.gammaOutput),r.join()},this.acquireProgram=function(n,r,i,a){for(var s,u=0,c=o.length;u<c;u++){var l=o[u];if(l.code===a){s=l,++s.usedTimes;break}}return void 0===s&&(s=new ht(e,t,a,n,r,i),o.push(s)),s},this.releaseProgram=function(e){if(0===--e.usedTimes){var t=o.indexOf(e);o[t]=o[o.length-1],o.pop(),e.destroy()}},this.programs=o}function mt(e,t,n,r,i,o,a){function s(e,t){if(e.width>t||e.height>t){var n=t/Math.max(e.width,e.height),r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=Math.floor(e.width*n),r.height=Math.floor(e.height*n);return r.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,r.width,r.height),console.warn("THREE.WebGLRenderer: image is too big ("+e.width+"x"+e.height+"). Resized to "+r.width+"x"+r.height,e),r}return e}function u(e){return Ds.isPowerOfTwo(e.width)&&Ds.isPowerOfTwo(e.height)}function c(e){if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement){var t=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");t.width=Ds.nearestPowerOfTwo(e.width),t.height=Ds.nearestPowerOfTwo(e.height);return t.getContext("2d").drawImage(e,0,0,t.width,t.height),console.warn("THREE.WebGLRenderer: image is not power of two ("+e.width+"x"+e.height+"). Resized to "+t.width+"x"+t.height,e),t}return e}function l(e){return e.wrapS!==Pa||e.wrapT!==Pa||e.minFilter!==Ca&&e.minFilter!==Da}function p(e,t){return e.generateMipmaps&&t&&e.minFilter!==Ca&&e.minFilter!==Da}function f(t){return t===Ca||t===Ra||t===Aa?e.NEAREST:e.LINEAR}function h(e){var t=e.target;t.removeEventListener("dispose",h),m(t),a.textures--}function d(e){var t=e.target;t.removeEventListener("dispose",d),v(t),a.textures--}function m(t){var n=r.get(t);if(t.image&&n.__image__webglTextureCube)e.deleteTexture(n.__image__webglTextureCube);else{if(void 0===n.__webglInit)return;e.deleteTexture(n.__webglTexture)}r.remove(t)}function v(t){var n=r.get(t),i=r.get(t.texture);if(t){if(void 0!==i.__webglTexture&&e.deleteTexture(i.__webglTexture),t.depthTexture&&t.depthTexture.dispose(),t.isWebGLRenderTargetCube)for(var o=0;o<6;o++)e.deleteFramebuffer(n.__webglFramebuffer[o]),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer[o]);else e.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&e.deleteRenderbuffer(n.__webglDepthbuffer);r.remove(t.texture),r.remove(t)}}function y(t,i){var o=r.get(t);if(t.version>0&&o.__version!==t.version){var a=t.image;if(void 0===a)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",t);else{if(!1!==a.complete)return void w(o,t,i);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete",t)}}n.activeTexture(e.TEXTURE0+i),n.bindTexture(e.TEXTURE_2D,o.__webglTexture)}function g(t,c){var l=r.get(t);if(6===t.image.length)if(t.version>0&&l.__version!==t.version){l.__image__webglTextureCube||(t.addEventListener("dispose",h),l.__image__webglTextureCube=e.createTexture(),a.textures++),n.activeTexture(e.TEXTURE0+c),n.bindTexture(e.TEXTURE_CUBE_MAP,l.__image__webglTextureCube),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t.flipY);for(var f=t&&t.isCompressedTexture,d=t.image[0]&&t.image[0].isDataTexture,m=[],v=0;v<6;v++)m[v]=f||d?d?t.image[v].image:t.image[v]:s(t.image[v],i.maxCubemapSize);var y=m[0],g=u(y),b=o.convert(t.format),w=o.convert(t.type);_(e.TEXTURE_CUBE_MAP,t,g);for(var v=0;v<6;v++)if(f)for(var x,E=m[v].mipmaps,M=0,O=E.length;M<O;M++)x=E[M],t.format!==Ka&&t.format!==Ya?n.getCompressedTextureFormats().indexOf(b)>-1?n.compressedTexImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+v,M,b,x.width,x.height,0,x.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+v,M,b,x.width,x.height,0,b,w,x.data);else d?n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+v,0,b,m[v].width,m[v].height,0,b,w,m[v].data):n.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+v,0,b,b,w,m[v]);p(t,g)&&e.generateMipmap(e.TEXTURE_CUBE_MAP),l.__version=t.version,t.onUpdate&&t.onUpdate(t)}else n.activeTexture(e.TEXTURE0+c),n.bindTexture(e.TEXTURE_CUBE_MAP,l.__image__webglTextureCube)}function b(t,i){n.activeTexture(e.TEXTURE0+i),n.bindTexture(e.TEXTURE_CUBE_MAP,r.get(t).__webglTexture)}function _(n,a,s){var u;if(s?(e.texParameteri(n,e.TEXTURE_WRAP_S,o.convert(a.wrapS)),e.texParameteri(n,e.TEXTURE_WRAP_T,o.convert(a.wrapT)),e.texParameteri(n,e.TEXTURE_MAG_FILTER,o.convert(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,o.convert(a.minFilter))):(e.texParameteri(n,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(n,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),a.wrapS===Pa&&a.wrapT===Pa||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.",a),e.texParameteri(n,e.TEXTURE_MAG_FILTER,f(a.magFilter)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,f(a.minFilter)),a.minFilter!==Ca&&a.minFilter!==Da&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.",a)),u=t.get("EXT_texture_filter_anisotropic")){if(a.type===za&&null===t.get("OES_texture_float_linear"))return;if(a.type===Ha&&null===t.get("OES_texture_half_float_linear"))return;(a.anisotropy>1||r.get(a).__currentAnisotropy)&&(e.texParameterf(n,u.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy)}}function w(t,r,f){void 0===t.__webglInit&&(t.__webglInit=!0,r.addEventListener("dispose",h),t.__webglTexture=e.createTexture(),a.textures++),n.activeTexture(e.TEXTURE0+f),n.bindTexture(e.TEXTURE_2D,t.__webglTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,r.flipY),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.premultiplyAlpha),e.pixelStorei(e.UNPACK_ALIGNMENT,r.unpackAlignment);var d=s(r.image,i.maxTextureSize);l(r)&&!1===u(d)&&(d=c(d));var m=u(d),v=o.convert(r.format),y=o.convert(r.type);_(e.TEXTURE_2D,r,m);var g,b=r.mipmaps;if(r.isDepthTexture){var w=e.DEPTH_COMPONENT;if(r.type===za){if(!S)throw new Error("Float Depth Texture only supported in WebGL2.0");w=e.DEPTH_COMPONENT32F}else S&&(w=e.DEPTH_COMPONENT16);r.format===$a&&w===e.DEPTH_COMPONENT&&r.type!==Ua&&r.type!==Ba&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),r.type=Ua,y=o.convert(r.type)),r.format===es&&(w=e.DEPTH_STENCIL,r.type!==qa&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),r.type=qa,y=o.convert(r.type))),n.texImage2D(e.TEXTURE_2D,0,w,d.width,d.height,0,v,y,null)}else if(r.isDataTexture)if(b.length>0&&m){for(var x=0,E=b.length;x<E;x++)g=b[x],n.texImage2D(e.TEXTURE_2D,x,v,g.width,g.height,0,v,y,g.data);r.generateMipmaps=!1}else n.texImage2D(e.TEXTURE_2D,0,v,d.width,d.height,0,v,y,d.data);else if(r.isCompressedTexture)for(var x=0,E=b.length;x<E;x++)g=b[x],r.format!==Ka&&r.format!==Ya?n.getCompressedTextureFormats().indexOf(v)>-1?n.compressedTexImage2D(e.TEXTURE_2D,x,v,g.width,g.height,0,g.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):n.texImage2D(e.TEXTURE_2D,x,v,g.width,g.height,0,v,y,g.data);else if(b.length>0&&m){for(var x=0,E=b.length;x<E;x++)g=b[x],n.texImage2D(e.TEXTURE_2D,x,v,v,y,g);r.generateMipmaps=!1}else n.texImage2D(e.TEXTURE_2D,0,v,v,y,d);p(r,m)&&e.generateMipmap(e.TEXTURE_2D),t.__version=r.version,r.onUpdate&&r.onUpdate(r)}function x(t,i,a,s){var u=o.convert(i.texture.format),c=o.convert(i.texture.type);n.texImage2D(s,0,u,i.width,i.height,0,u,c,null),e.bindFramebuffer(e.FRAMEBUFFER,t),e.framebufferTexture2D(e.FRAMEBUFFER,a,s,r.get(i.texture).__webglTexture,0),e.bindFramebuffer(e.FRAMEBUFFER,null)}function E(t,n){e.bindRenderbuffer(e.RENDERBUFFER,t),n.depthBuffer&&!n.stencilBuffer?(e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_COMPONENT16,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t)):n.depthBuffer&&n.stencilBuffer?(e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,n.width,n.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,t)):e.renderbufferStorage(e.RENDERBUFFER,e.RGBA4,n.width,n.height),e.bindRenderbuffer(e.RENDERBUFFER,null)}function M(t,n){if(n&&n.isWebGLRenderTargetCube)throw new Error("Depth Texture with cube render targets is not supported");if(e.bindFramebuffer(e.FRAMEBUFFER,t),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");r.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),y(n.depthTexture,0);var i=r.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===$a)e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,i,0);else{if(n.depthTexture.format!==es)throw new Error("Unknown depthTexture format");e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.TEXTURE_2D,i,0)}}function O(t){var n=r.get(t),i=!0===t.isWebGLRenderTargetCube;if(t.depthTexture){if(i)throw new Error("target.depthTexture not supported in Cube render targets");M(n.__webglFramebuffer,t)}else if(i){n.__webglDepthbuffer=[];for(var o=0;o<6;o++)e.bindFramebuffer(e.FRAMEBUFFER,n.__webglFramebuffer[o]),n.__webglDepthbuffer[o]=e.createRenderbuffer(),E(n.__webglDepthbuffer[o],t)}else e.bindFramebuffer(e.FRAMEBUFFER,n.__webglFramebuffer),n.__webglDepthbuffer=e.createRenderbuffer(),E(n.__webglDepthbuffer,t);e.bindFramebuffer(e.FRAMEBUFFER,null)}function T(t){var i=r.get(t),o=r.get(t.texture);t.addEventListener("dispose",d),o.__webglTexture=e.createTexture(),a.textures++;var s=!0===t.isWebGLRenderTargetCube,c=u(t);if(s){i.__webglFramebuffer=[];for(var l=0;l<6;l++)i.__webglFramebuffer[l]=e.createFramebuffer()}else i.__webglFramebuffer=e.createFramebuffer();if(s){n.bindTexture(e.TEXTURE_CUBE_MAP,o.__webglTexture),_(e.TEXTURE_CUBE_MAP,t.texture,c);for(var l=0;l<6;l++)x(i.__webglFramebuffer[l],t,e.COLOR_ATTACHMENT0,e.TEXTURE_CUBE_MAP_POSITIVE_X+l);p(t.texture,c)&&e.generateMipmap(e.TEXTURE_CUBE_MAP),n.bindTexture(e.TEXTURE_CUBE_MAP,null)}else n.bindTexture(e.TEXTURE_2D,o.__webglTexture),_(e.TEXTURE_2D,t.texture,c),x(i.__webglFramebuffer,t,e.COLOR_ATTACHMENT0,e.TEXTURE_2D),p(t.texture,c)&&e.generateMipmap(e.TEXTURE_2D),n.bindTexture(e.TEXTURE_2D,null);t.depthBuffer&&O(t)}function P(t){var i=t.texture;if(p(i,u(t))){var o=t.isWebGLRenderTargetCube?e.TEXTURE_CUBE_MAP:e.TEXTURE_2D,a=r.get(i).__webglTexture;n.bindTexture(o,a),e.generateMipmap(o),n.bindTexture(o,null)}}var S="undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext;this.setTexture2D=y,this.setTextureCube=g,this.setTextureCubeDynamic=b,this.setupRenderTarget=T,this.updateRenderTargetMipmap=P}function vt(){function e(e){var t=e.uuid,n=r[t];return void 0===n&&(n={},r[t]=n),n}function t(e){delete r[e.uuid]}function n(){r={}}var r={};return{get:e,remove:t,clear:n}}function yt(e,t,n){function r(){var t=!1,n=new a,r=null,i=new a(0,0,0,0);return{setMask:function(n){r===n||t||(e.colorMask(n,n,n,n),r=n)},setLocked:function(e){t=e},setClear:function(t,r,o,a,s){!0===s&&(t*=a,r*=a,o*=a),n.set(t,r,o,a),!1===i.equals(n)&&(e.clearColor(t,r,o,a),i.copy(n))},reset:function(){t=!1,r=null,i.set(-1,0,0,0)}}}function i(){var t=!1,n=null,r=null,i=null;return{setTest:function(t){t?f(e.DEPTH_TEST):h(e.DEPTH_TEST)},setMask:function(r){n===r||t||(e.depthMask(r),n=r)},setFunc:function(t){if(r!==t){if(t)switch(t){case na:e.depthFunc(e.NEVER);break;case ra:e.depthFunc(e.ALWAYS);break;case ia:e.depthFunc(e.LESS);break;case oa:e.depthFunc(e.LEQUAL);break;case aa:e.depthFunc(e.EQUAL);break;case sa:e.depthFunc(e.GEQUAL);break;case ua:e.depthFunc(e.GREATER);break;case ca:e.depthFunc(e.NOTEQUAL);break;default:e.depthFunc(e.LEQUAL)}else e.depthFunc(e.LEQUAL);r=t}},setLocked:function(e){t=e},setClear:function(t){i!==t&&(e.clearDepth(t),i=t)},reset:function(){t=!1,n=null,r=null,i=null}}}function o(){var t=!1,n=null,r=null,i=null,o=null,a=null,s=null,u=null,c=null;return{setTest:function(t){t?f(e.STENCIL_TEST):h(e.STENCIL_TEST)},setMask:function(r){n===r||t||(e.stencilMask(r),n=r)},setFunc:function(t,n,a){r===t&&i===n&&o===a||(e.stencilFunc(t,n,a),r=t,i=n,o=a)},setOp:function(t,n,r){a===t&&s===n&&u===r||(e.stencilOp(t,n,r),a=t,s=n,u=r)},setLocked:function(e){t=e},setClear:function(t){c!==t&&(e.clearStencil(t),c=t)},reset:function(){t=!1,n=null,r=null,i=null,o=null,a=null,s=null,u=null,c=null}}}function s(t,n,r){var i=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(t,e.TEXTURE_MAG_FILTER,e.NEAREST);for(var a=0;a<r;a++)e.texImage2D(n+a,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,i);return o}function u(){for(var e=0,t=L.length;e<t;e++)L[e]=0}function c(n){if(L[n]=1,0===j[n]&&(e.enableVertexAttribArray(n),j[n]=1),0!==I[n]){t.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(n,0),I[n]=0}}function l(n,r){if(L[n]=1,0===j[n]&&(e.enableVertexAttribArray(n),j[n]=1),I[n]!==r){t.get("ANGLE_instanced_arrays").vertexAttribDivisorANGLE(n,r),I[n]=r}}function p(){for(var t=0,n=j.length;t!==n;++t)j[t]!==L[t]&&(e.disableVertexAttribArray(t),j[t]=0)}function f(t){!0!==N[t]&&(e.enable(t),N[t]=!0)}function h(t){!1!==N[t]&&(e.disable(t),N[t]=!1)}function d(){if(null===U&&(U=[],t.get("WEBGL_compressed_texture_pvrtc")||t.get("WEBGL_compressed_texture_s3tc")||t.get("WEBGL_compressed_texture_etc1")))for(var n=e.getParameter(e.COMPRESSED_TEXTURE_FORMATS),r=0;r<n.length;r++)U.push(n[r]);return U}function m(t){return F!==t&&(e.useProgram(t),F=t,!0)}function v(t,r,i,o,a,s,u,c){if(t!==Lo?f(e.BLEND):h(e.BLEND),t!==Fo){if(t!==B||c!==X)switch(t){case Io:c?(e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD),e.blendFuncSeparate(e.ONE,e.ONE,e.ONE,e.ONE)):(e.blendEquation(e.FUNC_ADD),e.blendFunc(e.SRC_ALPHA,e.ONE));break;case No:c?(e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD),e.blendFuncSeparate(e.ZERO,e.ZERO,e.ONE_MINUS_SRC_COLOR,e.ONE_MINUS_SRC_ALPHA)):(e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ZERO,e.ONE_MINUS_SRC_COLOR));break;case Uo:c?(e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD),e.blendFuncSeparate(e.ZERO,e.SRC_COLOR,e.ZERO,e.SRC_ALPHA)):(e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ZERO,e.SRC_COLOR));break;default:c?(e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD),e.blendFuncSeparate(e.ONE,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA)):(e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD),e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA))}z=null,H=null,V=null,G=null,W=null,q=null}else a=a||r,s=s||i,u=u||o,r===z&&a===G||(e.blendEquationSeparate(n.convert(r),n.convert(a)),z=r,G=a),i===H&&o===V&&s===W&&u===q||(e.blendFuncSeparate(n.convert(i),n.convert(o),n.convert(s),n.convert(u)),H=i,V=o,W=s,q=u);B=t,X=c}function y(t){t.side===So?h(e.CULL_FACE):f(e.CULL_FACE),g(t.side===Po),!0===t.transparent?v(t.blending,t.blendEquation,t.blendSrc,t.blendDst,t.blendEquationAlpha,t.blendSrcAlpha,t.blendDstAlpha,t.premultipliedAlpha):v(Lo),A.setFunc(t.depthFunc),A.setTest(t.depthTest),A.setMask(t.depthWrite),R.setMask(t.colorWrite),w(t.polygonOffset,t.polygonOffsetFactor,t.polygonOffsetUnits)}function g(t){Y!==t&&(t?e.frontFace(e.CW):e.frontFace(e.CCW),Y=t)}function b(t){t!==yo?(f(e.CULL_FACE),t!==K&&(t===go?e.cullFace(e.BACK):t===bo?e.cullFace(e.FRONT):e.cullFace(e.FRONT_AND_BACK))):h(e.CULL_FACE),K=t}function _(t){t!==Z&&(te&&e.lineWidth(t),Z=t)}function w(t,n,r){t?(f(e.POLYGON_OFFSET_FILL),Q===n&&J===r||(e.polygonOffset(n,r),Q=n,J=r)):h(e.POLYGON_OFFSET_FILL)}function x(t){t?f(e.SCISSOR_TEST):h(e.SCISSOR_TEST)}function E(t){void 0===t&&(t=e.TEXTURE0+$-1),ne!==t&&(e.activeTexture(t),ne=t)}function M(t,n){null===ne&&E();var r=re[ne];void 0===r&&(r={type:void 0,texture:void 0},re[ne]=r),r.type===t&&r.texture===n||(e.bindTexture(t,n||ae[t]),r.type=t,r.texture=n)}function O(){try{e.compressedTexImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}}function T(){try{e.texImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}}function P(t){!1===ie.equals(t)&&(e.scissor(t.x,t.y,t.z,t.w),ie.copy(t))}function S(t){!1===oe.equals(t)&&(e.viewport(t.x,t.y,t.z,t.w),oe.copy(t))}function C(){for(var t=0;t<j.length;t++)1===j[t]&&(e.disableVertexAttribArray(t),j[t]=0);N={},U=null,ne=null,re={},F=null,B=null,Y=null,K=null,R.reset(),A.reset(),D.reset()}var R=new r,A=new i,D=new o,k=e.getParameter(e.MAX_VERTEX_ATTRIBS),L=new Uint8Array(k),j=new Uint8Array(k),I=new Uint8Array(k),N={},U=null,F=null,B=null,z=null,H=null,V=null,G=null,W=null,q=null,X=!1,Y=null,K=null,Z=null,Q=null,J=null,$=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),ee=parseFloat(/^WebGL\ ([0-9])/.exec(e.getParameter(e.VERSION))[1]),te=parseFloat(ee)>=1,ne=null,re={},ie=new a,oe=new a,ae={};return ae[e.TEXTURE_2D]=s(e.TEXTURE_2D,e.TEXTURE_2D,1),ae[e.TEXTURE_CUBE_MAP]=s(e.TEXTURE_CUBE_MAP,e.TEXTURE_CUBE_MAP_POSITIVE_X,6),R.setClear(0,0,0,1),A.setClear(1),D.setClear(0),f(e.DEPTH_TEST),A.setFunc(oa),g(!1),b(go),f(e.CULL_FACE),f(e.BLEND),v(jo),{buffers:{color:R,depth:A,stencil:D},initAttributes:u,enableAttribute:c,enableAttributeAndDivisor:l,disableUnusedAttributes:p,enable:f,disable:h,getCompressedTextureFormats:d,useProgram:m,setBlending:v,setMaterial:y,setFlipSided:g,setCullFace:b,setLineWidth:_,setPolygonOffset:w,setScissorTest:x,activeTexture:E,bindTexture:M,compressedTexImage2D:O,texImage2D:T,scissor:P,viewport:S,reset:C}}function gt(e,t,n){function r(){if(void 0!==o)return o;var n=t.get("EXT_texture_filter_anisotropic");return o=null!==n?e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function i(t){if("highp"===t){if(e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.HIGH_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(e.VERTEX_SHADER,e.MEDIUM_FLOAT).precision>0&&e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}var o,a=void 0!==n.precision?n.precision:"highp",s=i(a);s!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",s,"instead."),a=s);var u=!0===n.logarithmicDepthBuffer&&!!t.get("EXT_frag_depth"),c=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),l=e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS),p=e.getParameter(e.MAX_TEXTURE_SIZE),f=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),h=e.getParameter(e.MAX_VERTEX_ATTRIBS),d=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),m=e.getParameter(e.MAX_VARYING_VECTORS),v=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),y=l>0,g=!!t.get("OES_texture_float");return{getMaxAnisotropy:r,getMaxPrecision:i,precision:a,logarithmicDepthBuffer:u,maxTextures:c,maxVertexTextures:l,maxTextureSize:p,maxCubemapSize:f,maxAttributes:h,maxVertexUniforms:d,maxVaryings:m,maxFragmentUniforms:v,vertexTextures:y,floatFragmentTextures:g,floatVertexTextures:y&&g}}function bt(e){me.call(this),this.cameras=e||[]}function _t(e){function t(){if(null!==r&&r.isPresenting){var t=r.getEyeParameters("left"),i=t.renderWidth,o=t.renderHeight;d=e.getPixelRatio(),h=e.getSize(),e.setDrawingBufferSize(2*i,o,1)}else n.enabled&&e.setDrawingBufferSize(h.width,h.height,d)}var n=this,r=null,i=null;"VRFrameData"in window&&(i=new window.VRFrameData);var o=new p,s=new p,u=new p,c=new me;c.bounds=new a(0,0,.5,1),c.layers.enable(1);var l=new me;l.bounds=new a(.5,0,.5,1),l.layers.enable(2);var f=new bt([c,l]);f.layers.enable(1),f.layers.enable(2);var h,d;window.addEventListener("vrdisplaypresentchange",t,!1),this.enabled=!1,this.standing=!1,this.getDevice=function(){return r},this.setDevice=function(e){void 0!==e&&(r=e)},this.getCamera=function(e){if(null===r)return e;r.depthNear=e.near,r.depthFar=e.far,r.getFrameData(i);var t=i.pose;null!==t.position?e.position.fromArray(t.position):e.position.set(0,0,0),null!==t.orientation&&e.quaternion.fromArray(t.orientation),e.updateMatrixWorld();var n=r.stageParameters;if(this.standing&&n&&(s.fromArray(n.sittingToStandingTransform),u.getInverse(s),e.matrixWorld.multiply(s),e.matrixWorldInverse.multiply(u)),!1===r.isPresenting)return e;c.near=e.near,l.near=e.near,c.far=e.far,l.far=e.far,f.matrixWorld.copy(e.matrixWorld),f.matrixWorldInverse.copy(e.matrixWorldInverse),c.matrixWorldInverse.fromArray(i.leftViewMatrix),l.matrixWorldInverse.fromArray(i.rightViewMatrix),this.standing&&n&&(c.matrixWorldInverse.multiply(u),l.matrixWorldInverse.multiply(u));var a=e.parent;null!==a&&(o.getInverse(a.matrixWorld),c.matrixWorldInverse.multiply(o),l.matrixWorldInverse.multiply(o)),c.matrixWorld.getInverse(c.matrixWorldInverse),l.matrixWorld.getInverse(l.matrixWorldInverse),c.projectionMatrix.fromArray(i.leftProjectionMatrix),l.projectionMatrix.fromArray(i.rightProjectionMatrix),f.projectionMatrix.copy(c.projectionMatrix);var p=r.getLayers();if(p.length){var h=p[0];null!==h.leftBounds&&4===h.leftBounds.length&&c.bounds.fromArray(h.leftBounds),null!==h.rightBounds&&4===h.rightBounds.length&&l.bounds.fromArray(h.rightBounds)}return f},this.getStandingMatrix=function(){return s},this.submitFrame=function(){r&&r.isPresenting&&r.submitFrame()},this.dispose=function(){window.removeEventListener("vrdisplaypresentchange",t)}}function wt(e){var t={};return{get:function(n){if(void 0!==t[n])return t[n];var r;switch(n){case"WEBGL_depth_texture":r=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;case"WEBGL_compressed_texture_etc1":r=e.getExtension("WEBGL_compressed_texture_etc1");break;default:r=e.getExtension(n)}return null===r&&console.warn("THREE.WebGLRenderer: "+n+" extension not supported."),t[n]=r,r}}}function xt(){function e(){c.value!==r&&(c.value=r,c.needsUpdate=i>0),n.numPlanes=i,n.numIntersection=0}function t(e,t,r,i){var o=null!==e?e.length:0,a=null;if(0!==o){if(a=c.value,!0!==i||null===a){var l=r+4*o,p=t.matrixWorldInverse;u.getNormalMatrix(p),(null===a||a.length<l)&&(a=new Float32Array(l));for(var f=0,h=r;f!==o;++f,h+=4)s.copy(e[f]).applyMatrix4(p,u),s.normal.toArray(a,h),a[h+3]=s.constant}c.value=a,c.needsUpdate=!0}return n.numPlanes=o,a}var n=this,r=null,i=0,o=!1,a=!1,s=new ae,u=new oe,c={value:null,needsUpdate:!1};this.uniform=c,this.numPlanes=0,this.numIntersection=0,this.init=function(e,n,a){var s=0!==e.length||n||0!==i||o;return o=n,r=t(e,a,0),i=e.length,s},this.beginShadows=function(){a=!0,t(null)},this.endShadows=function(){a=!1,e()},this.setState=function(n,s,u,l,p,f){if(!o||null===n||0===n.length||a&&!u)a?t(null):e();else{var h=a?0:i,d=4*h,m=p.clippingState||null;c.value=m,m=t(n,l,d,f);for(var v=0;v!==d;++v)m[v]=r[v];p.clippingState=m,this.numIntersection=s?this.numPlanes:0,this.numPlanes+=h}}}function Et(e,t){function n(n){var r;if(n===Ta)return e.REPEAT;if(n===Pa)return e.CLAMP_TO_EDGE;if(n===Sa)return e.MIRRORED_REPEAT;if(n===Ca)return e.NEAREST;if(n===Ra)return e.NEAREST_MIPMAP_NEAREST;if(n===Aa)return e.NEAREST_MIPMAP_LINEAR;if(n===Da)return e.LINEAR;if(n===ka)return e.LINEAR_MIPMAP_NEAREST;if(n===La)return e.LINEAR_MIPMAP_LINEAR;if(n===ja)return e.UNSIGNED_BYTE;if(n===Va)return e.UNSIGNED_SHORT_4_4_4_4;if(n===Ga)return e.UNSIGNED_SHORT_5_5_5_1;if(n===Wa)return e.UNSIGNED_SHORT_5_6_5;if(n===Ia)return e.BYTE;if(n===Na)return e.SHORT;if(n===Ua)return e.UNSIGNED_SHORT;if(n===Fa)return e.INT;if(n===Ba)return e.UNSIGNED_INT;if(n===za)return e.FLOAT;if(n===Ha&&null!==(r=t.get("OES_texture_half_float")))return r.HALF_FLOAT_OES;if(n===Xa)return e.ALPHA;if(n===Ya)return e.RGB;if(n===Ka)return e.RGBA;if(n===Za)return e.LUMINANCE;if(n===Qa)return e.LUMINANCE_ALPHA;if(n===$a)return e.DEPTH_COMPONENT;if(n===es)return e.DEPTH_STENCIL;if(n===Bo)return e.FUNC_ADD;if(n===zo)return e.FUNC_SUBTRACT;if(n===Ho)return e.FUNC_REVERSE_SUBTRACT;if(n===Wo)return e.ZERO;if(n===qo)return e.ONE;if(n===Xo)return e.SRC_COLOR;if(n===Yo)return e.ONE_MINUS_SRC_COLOR;if(n===Ko)return e.SRC_ALPHA;if(n===Zo)return e.ONE_MINUS_SRC_ALPHA;if(n===Qo)return e.DST_ALPHA;if(n===Jo)return e.ONE_MINUS_DST_ALPHA;if(n===$o)return e.DST_COLOR;if(n===ea)return e.ONE_MINUS_DST_COLOR;if(n===ta)return e.SRC_ALPHA_SATURATE;if((n===ts||n===ns||n===rs||n===is)&&null!==(r=t.get("WEBGL_compressed_texture_s3tc"))){if(n===ts)return r.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===ns)return r.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===rs)return r.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===is)return r.COMPRESSED_RGBA_S3TC_DXT5_EXT}if((n===os||n===as||n===ss||n===us)&&null!==(r=t.get("WEBGL_compressed_texture_pvrtc"))){if(n===os)return r.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===as)return r.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===ss)return r.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===us)return r.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(n===cs&&null!==(r=t.get("WEBGL_compressed_texture_etc1")))return r.COMPRESSED_RGB_ETC1_WEBGL;if((n===Vo||n===Go)&&null!==(r=t.get("EXT_blend_minmax"))){if(n===Vo)return r.MIN_EXT;if(n===Go)return r.MAX_EXT}return n===qa&&null!==(r=t.get("WEBGL_depth_texture"))?r.UNSIGNED_INT_24_8_WEBGL:0}return{convert:n}}function Mt(e){function t(){return null===ee?me:1}function n(){Ce=new wt(Pe),Ce.get("WEBGL_depth_texture"),Ce.get("OES_texture_float"),Ce.get("OES_texture_float_linear"),Ce.get("OES_texture_half_float"),Ce.get("OES_texture_half_float_linear"),Ce.get("OES_standard_derivatives"),Ce.get("ANGLE_instanced_arrays"),Ce.get("OES_element_index_uint")&&(Ae.MaxIndex=4294967296),tt=new Et(Pe,Ce),Re=new gt(Pe,Ce,e),De=new yt(Pe,Ce,tt),De.scissor(le.copy(ye).multiplyScalar(me)),De.viewport(ae.copy(ve).multiplyScalar(me)),ke=new vt,Le=new mt(Pe,Ce,De,ke,Re,tt,Oe),je=new ce(Pe),Ie=new Ze(Pe,je,Oe),Ne=new $e(Ie,Te),Ve=new Xe(Pe),Fe=new dt(Q,Ce,Re),Ue=new Je,Be=new We,He=new ze(Q,De,Ie,H),Ge=new Ke(Pe,Ce,Te),qe=new Ye(Pe,Ce,Te),Qe=new Z(Q,Pe,De,Le,Re),et=new J(Q,Pe,De,Le,Re),Q.info.programs=Fe.programs,Q.context=Pe,Q.capabilities=Re,Q.extensions=Ce,Q.properties=ke,Q.renderLists=Be,Q.state=De}function r(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),$=!0}function i(e){console.log("THREE.WebGLRenderer: Context Restored."),$=!1,n()}function o(e){var t=e.target;t.removeEventListener("dispose",o),s(t)}function s(e){u(e),ke.remove(e)}function u(e){var t=ke.get(e).program;e.program=void 0,void 0!==t&&Fe.releaseProgram(t)}function c(e,t,n){e.render(function(e){Q.renderBufferImmediate(e,t,n)})}function h(e,t,n,r){if(n&&n.isInstancedBufferGeometry&&null===Ce.get("ANGLE_instanced_arrays"))return void console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");void 0===r&&(r=0),De.initAttributes();var i=n.attributes,o=t.getAttributes(),a=e.defaultAttributeValues;for(var s in o){var u=o[s];if(u>=0){var c=i[s];if(void 0!==c){var l=c.normalized,p=c.itemSize,f=je.get(c);if(void 0===f)continue;var h=f.buffer,d=f.type,m=f.bytesPerElement;if(c.isInterleavedBufferAttribute){var v=c.data,y=v.stride,g=c.offset;v&&v.isInstancedInterleavedBuffer?(De.enableAttributeAndDivisor(u,v.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=v.meshPerAttribute*v.count)):De.enableAttribute(u),Pe.bindBuffer(Pe.ARRAY_BUFFER,h),Pe.vertexAttribPointer(u,p,d,l,y*m,(r*y+g)*m)}else c.isInstancedBufferAttribute?(De.enableAttributeAndDivisor(u,c.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=c.meshPerAttribute*c.count)):De.enableAttribute(u),Pe.bindBuffer(Pe.ARRAY_BUFFER,h),Pe.vertexAttribPointer(u,p,d,l,0,r*p*m)}else if(void 0!==a){var b=a[s];if(void 0!==b)switch(b.length){case 2:Pe.vertexAttrib2fv(u,b);break;case 3:Pe.vertexAttrib3fv(u,b);break;case 4:Pe.vertexAttrib4fv(u,b);break;default:Pe.vertexAttrib1fv(u,b)}}}}De.disableUnusedAttributes()}function d(){it||((nt.getDevice()||window).requestAnimationFrame(m),it=!0)}function m(e){null!==ot&&ot(e),(nt.getDevice()||window).requestAnimationFrame(m)}function v(e,t,n){if(e.visible){if(e.layers.test(t.layers))if(e.isLight)G.push(e),e.castShadow&&W.push(e);else if(e.isSprite)e.frustumCulled&&!be.intersectsSprite(e)||Y.push(e);else if(e.isLensFlare)K.push(e);else if(e.isImmediateRenderObject)n&&Me.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Ee),q.push(e,null,e.material,Me.z,null);else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.update(),!e.frustumCulled||be.intersectsObject(e))){n&&Me.setFromMatrixPosition(e.matrixWorld).applyMatrix4(Ee);var r=Ne.update(e),i=e.material;if(Array.isArray(i))for(var o=r.groups,a=0,s=o.length;a<s;a++){var u=o[a],c=i[u.materialIndex];c&&c.visible&&q.push(e,r,c,Me.z,u)}else i.visible&&q.push(e,r,i,Me.z,null)}for(var l=e.children,a=0,s=l.length;a<s;a++)v(l[a],t,n)}}function y(e,t,n,r){for(var i=0,o=e.length;i<o;i++){var a=e[i],s=a.object,u=a.geometry,c=void 0===r?a.material:r,l=a.group;if(n.isArrayCamera){oe=n;for(var p=n.cameras,f=0,h=p.length;f<h;f++){var d=p[f];if(s.layers.test(d.layers)){var m=d.bounds,v=m.x*he,y=m.y*de,b=m.z*he,_=m.w*de;De.viewport(ae.set(v,y,b,_).multiplyScalar(me)),g(s,t,d,u,c,l)}}}else oe=null,g(s,t,n,u,c,l)}}function g(e,t,n,r,i,o){if(e.onBeforeRender(Q,t,n,r,i,o),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),e.isImmediateRenderObject){De.setMaterial(i);var a=_(n,t.fog,i,e);re="",c(e,a,i)}else Q.renderBufferDirect(n,t.fog,r,i,e,o);e.onAfterRender(Q,t,n,r,i,o)}function b(e,t,n){var r=ke.get(e),i=Fe.getParameters(e,Ue.state,W,t,_e.numPlanes,_e.numIntersection,n),a=Fe.getProgramCode(e,i),s=r.program,c=!0;if(void 0===s)e.addEventListener("dispose",o);else if(s.code!==a)u(e);else{if(void 0!==i.shaderID)return;c=!1}if(c){if(i.shaderID){var l=Ws[i.shaderID];r.shader={name:e.type,uniforms:Vs.clone(l.uniforms),vertexShader:l.vertexShader,fragmentShader:l.fragmentShader}}else r.shader={name:e.type,uniforms:e.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader};e.onBeforeCompile(r.shader),s=Fe.acquireProgram(e,r.shader,i,a),r.program=s,e.program=s}var p=s.getAttributes();if(e.morphTargets){e.numSupportedMorphTargets=0;for(var f=0;f<Q.maxMorphTargets;f++)p["morphTarget"+f]>=0&&e.numSupportedMorphTargets++}if(e.morphNormals){e.numSupportedMorphNormals=0;for(var f=0;f<Q.maxMorphNormals;f++)p["morphNormal"+f]>=0&&e.numSupportedMorphNormals++}var h=r.shader.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(r.numClippingPlanes=_e.numPlanes,r.numIntersection=_e.numIntersection,h.clippingPlanes=_e.uniform),r.fog=t,r.lightsHash=Ue.state.hash,e.lights&&(h.ambientLightColor.value=Ue.state.ambient,h.directionalLights.value=Ue.state.directional,h.spotLights.value=Ue.state.spot,h.rectAreaLights.value=Ue.state.rectArea,h.pointLights.value=Ue.state.point,h.hemisphereLights.value=Ue.state.hemi,h.directionalShadowMap.value=Ue.state.directionalShadowMap,h.directionalShadowMatrix.value=Ue.state.directionalShadowMatrix,h.spotShadowMap.value=Ue.state.spotShadowMap,h.spotShadowMatrix.value=Ue.state.spotShadowMatrix,h.pointShadowMap.value=Ue.state.pointShadowMap,h.pointShadowMatrix.value=Ue.state.pointShadowMatrix);var d=r.program.getUniforms(),m=X.seqWithValue(d.seq,h);r.uniformsList=m}function _(e,t,n,r){fe=0;var i=ke.get(n);if(we&&(xe||e!==ie)){var o=e===ie&&n.id===ne;_e.setState(n.clippingPlanes,n.clipIntersection,n.clipShadows,e,i,o)}!1===n.needsUpdate&&(void 0===i.program?n.needsUpdate=!0:n.fog&&i.fog!==t?n.needsUpdate=!0:n.lights&&i.lightsHash!==Ue.state.hash?n.needsUpdate=!0:void 0===i.numClippingPlanes||i.numClippingPlanes===_e.numPlanes&&i.numIntersection===_e.numIntersection||(n.needsUpdate=!0)),n.needsUpdate&&(b(n,t,r),n.needsUpdate=!1);var a=!1,s=!1,u=!1,c=i.program,l=c.getUniforms(),p=i.shader.uniforms;if(De.useProgram(c.program)&&(a=!0,s=!0,u=!0),n.id!==ne&&(ne=n.id,s=!0),a||e!==ie){if(l.setValue(Pe,"projectionMatrix",e.projectionMatrix),Re.logarithmicDepthBuffer&&l.setValue(Pe,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),ie!==(oe||e)&&(ie=oe||e,s=!0,u=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.envMap){var h=l.map.cameraPosition;void 0!==h&&h.setValue(Pe,Me.setFromMatrixPosition(e.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.skinning)&&l.setValue(Pe,"viewMatrix",e.matrixWorldInverse)}if(n.skinning){l.setOptional(Pe,r,"bindMatrix"),l.setOptional(Pe,r,"bindMatrixInverse");var d=r.skeleton;if(d){var m=d.bones;if(Re.floatVertexTextures){if(void 0===d.boneTexture){var v=Math.sqrt(4*m.length);v=Ds.nextPowerOfTwo(Math.ceil(v)),v=Math.max(v,4);var y=new Float32Array(v*v*4);y.set(d.boneMatrices);var g=new f(y,v,v,Ka,za);d.boneMatrices=y,d.boneTexture=g,d.boneTextureSize=v}l.setValue(Pe,"boneTexture",d.boneTexture),l.setValue(Pe,"boneTextureSize",d.boneTextureSize)}else l.setOptional(Pe,d,"boneMatrices")}}return s&&(l.setValue(Pe,"toneMappingExposure",Q.toneMappingExposure),l.setValue(Pe,"toneMappingWhitePoint",Q.toneMappingWhitePoint),n.lights&&L(p,u),t&&n.fog&&O(p,t),n.isMeshBasicMaterial?w(p,n):n.isMeshLambertMaterial?(w(p,n),T(p,n)):n.isMeshPhongMaterial?(w(p,n),n.isMeshToonMaterial?S(p,n):P(p,n)):n.isMeshStandardMaterial?(w(p,n),n.isMeshPhysicalMaterial?R(p,n):C(p,n)):n.isMeshDepthMaterial?(w(p,n),A(p,n)):n.isMeshDistanceMaterial?(w(p,n),D(p,n)):n.isMeshNormalMaterial?(w(p,n),k(p,n)):n.isLineBasicMaterial?(x(p,n),n.isLineDashedMaterial&&E(p,n)):n.isPointsMaterial?M(p,n):n.isShadowMaterial&&(p.color.value=n.color,p.opacity.value=n.opacity),void 0!==p.ltcMat&&(p.ltcMat.value=Hs.LTC_MAT_TEXTURE),void 0!==p.ltcMag&&(p.ltcMag.value=Hs.LTC_MAG_TEXTURE),X.upload(Pe,i.uniformsList,p,Q)),l.setValue(Pe,"modelViewMatrix",r.modelViewMatrix),l.setValue(Pe,"normalMatrix",r.normalMatrix),l.setValue(Pe,"modelMatrix",r.matrixWorld),c}function w(e,t){e.opacity.value=t.opacity,t.color&&(e.diffuse.value=t.color),t.emissive&&e.emissive.value.copy(t.emissive).multiplyScalar(t.emissiveIntensity),t.map&&(e.map.value=t.map),t.alphaMap&&(e.alphaMap.value=t.alphaMap),t.specularMap&&(e.specularMap.value=t.specularMap),t.envMap&&(e.envMap.value=t.envMap,e.flipEnvMap.value=t.envMap&&t.envMap.isCubeTexture?-1:1,e.reflectivity.value=t.reflectivity,e.refractionRatio.value=t.refractionRatio),t.lightMap&&(e.lightMap.value=t.lightMap,e.lightMapIntensity.value=t.lightMapIntensity),t.aoMap&&(e.aoMap.value=t.aoMap,e.aoMapIntensity.value=t.aoMapIntensity);var n;if(t.map?n=t.map:t.specularMap?n=t.specularMap:t.displacementMap?n=t.displacementMap:t.normalMap?n=t.normalMap:t.bumpMap?n=t.bumpMap:t.roughnessMap?n=t.roughnessMap:t.metalnessMap?n=t.metalnessMap:t.alphaMap?n=t.alphaMap:t.emissiveMap&&(n=t.emissiveMap),void 0!==n){n.isWebGLRenderTarget&&(n=n.texture);var r=n.offset,i=n.repeat;e.offsetRepeat.value.set(r.x,r.y,i.x,i.y)}}function x(e,t){e.diffuse.value=t.color,e.opacity.value=t.opacity}function E(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}function M(e,t){if(e.diffuse.value=t.color,e.opacity.value=t.opacity,e.size.value=t.size*me,e.scale.value=.5*de,e.map.value=t.map,null!==t.map){var n=t.map.offset,r=t.map.repeat;e.offsetRepeat.value.set(n.x,n.y,r.x,r.y)}}function O(e,t){e.fogColor.value=t.color,t.isFog?(e.fogNear.value=t.near,e.fogFar.value=t.far):t.isFogExp2&&(e.fogDensity.value=t.density)}function T(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}function P(e,t){e.specular.value=t.specular,e.shininess.value=Math.max(t.shininess,1e-4),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function S(e,t){P(e,t),t.gradientMap&&(e.gradientMap.value=t.gradientMap)}function C(e,t){e.roughness.value=t.roughness,e.metalness.value=t.metalness,t.roughnessMap&&(e.roughnessMap.value=t.roughnessMap),t.metalnessMap&&(e.metalnessMap.value=t.metalnessMap),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap),t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias),t.envMap&&(e.envMapIntensity.value=t.envMapIntensity)}function R(e,t){e.clearCoat.value=t.clearCoat,e.clearCoatRoughness.value=t.clearCoatRoughness,C(e,t)}function A(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function D(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias),e.referencePosition.value.copy(t.referencePosition),e.nearDistance.value=t.nearDistance,e.farDistance.value=t.farDistance}function k(e,t){t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale),t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale)),t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}function L(e,t){e.ambientLightColor.needsUpdate=t,e.directionalLights.needsUpdate=t,e.pointLights.needsUpdate=t,e.spotLights.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}function j(){var e=fe;return e>=Re.maxTextures&&console.warn("THREE.WebGLRenderer: Trying to use "+e+" texture units while this GPU supports only "+Re.maxTextures),fe+=1,e}console.log("THREE.WebGLRenderer",mo),e=e||{};var I=void 0!==e.canvas?e.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),N=void 0!==e.context?e.context:null,U=void 0!==e.alpha&&e.alpha,F=void 0===e.depth||e.depth,B=void 0===e.stencil||e.stencil,z=void 0!==e.antialias&&e.antialias,H=void 0===e.premultipliedAlpha||e.premultipliedAlpha,V=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,G=[],W=[],q=null,Y=[],K=[];this.domElement=I,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=da,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var Q=this,$=!1,ee=null,te=null,ne=-1,re="",ie=null,oe=null,ae=new a,le=new a,pe=null,fe=0,he=I.width,de=I.height,me=1,ve=new a(0,0,he,de),ye=new a(0,0,he,de),ge=!1,be=new se,_e=new xt,we=!1,xe=!1,Ee=new p,Me=new l,Oe={geometries:0,textures:0},Te={frame:0,calls:0,vertices:0,faces:0,points:0};this.info={render:Te,memory:Oe,programs:null};var Pe;try{var Se={alpha:U,depth:F,stencil:B,antialias:z,premultipliedAlpha:H,preserveDrawingBuffer:V};if(null===(Pe=N||I.getContext("webgl",Se)||I.getContext("experimental-webgl",Se)))throw null!==I.getContext("webgl")?"Error creating WebGL context with your selected attributes.":"Error creating WebGL context.";void 0===Pe.getShaderPrecisionFormat&&(Pe.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),I.addEventListener("webglcontextlost",r,!1),I.addEventListener("webglcontextrestored",i,!1)}catch(e){console.error("THREE.WebGLRenderer: "+e)}var Ce,Re,De,ke,Le,je,Ie,Ne,Ue,Fe,Be,He,Ve,Ge,qe,Qe,et,tt;n();var nt=new _t(Q);this.vr=nt;var rt=new ue(Q,Ne,Re.maxTextureSize);this.shadowMap=rt,this.getContext=function(){return Pe},this.getContextAttributes=function(){return Pe.getContextAttributes()},this.forceContextLoss=function(){var e=Ce.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){var e=Ce.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return me},this.setPixelRatio=function(e){void 0!==e&&(me=e,this.setSize(he,de,!1))},this.getSize=function(){return{width:he,height:de}},this.setSize=function(e,t,n){var r=nt.getDevice();if(r&&r.isPresenting)return void console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");he=e,de=t,I.width=e*me,I.height=t*me,!1!==n&&(I.style.width=e+"px",I.style.height=t+"px"),this.setViewport(0,0,e,t)},this.getDrawingBufferSize=function(){return{width:he*me,height:de*me}},this.setDrawingBufferSize=function(e,t,n){he=e,de=t,me=n,I.width=e*n,I.height=t*n,this.setViewport(0,0,e,t)},this.setViewport=function(e,t,n,r){ve.set(e,de-t-r,n,r),De.viewport(ae.copy(ve).multiplyScalar(me))},this.setScissor=function(e,t,n,r){ye.set(e,de-t-r,n,r),De.scissor(le.copy(ye).multiplyScalar(me))},this.setScissorTest=function(e){De.setScissorTest(ge=e)},this.getClearColor=He.getClearColor,this.setClearColor=He.setClearColor,this.getClearAlpha=He.getClearAlpha,this.setClearAlpha=He.setClearAlpha,this.clear=function(e,t,n){var r=0;(void 0===e||e)&&(r|=Pe.COLOR_BUFFER_BIT),(void 0===t||t)&&(r|=Pe.DEPTH_BUFFER_BIT),(void 0===n||n)&&(r|=Pe.STENCIL_BUFFER_BIT),Pe.clear(r)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.clearTarget=function(e,t,n,r){this.setRenderTarget(e),this.clear(t,n,r)},this.dispose=function(){I.removeEventListener("webglcontextlost",r,!1),I.removeEventListener("webglcontextrestored",i,!1),Be.dispose(),nt.dispose()},this.renderBufferImmediate=function(e,t,n){De.initAttributes();var r=ke.get(e);e.hasPositions&&!r.position&&(r.position=Pe.createBuffer()),e.hasNormals&&!r.normal&&(r.normal=Pe.createBuffer()),e.hasUvs&&!r.uv&&(r.uv=Pe.createBuffer()),e.hasColors&&!r.color&&(r.color=Pe.createBuffer());var i=t.getAttributes();if(e.hasPositions&&(Pe.bindBuffer(Pe.ARRAY_BUFFER,r.position),Pe.bufferData(Pe.ARRAY_BUFFER,e.positionArray,Pe.DYNAMIC_DRAW),De.enableAttribute(i.position),Pe.vertexAttribPointer(i.position,3,Pe.FLOAT,!1,0,0)),e.hasNormals){if(Pe.bindBuffer(Pe.ARRAY_BUFFER,r.normal),!n.isMeshPhongMaterial&&!n.isMeshStandardMaterial&&!n.isMeshNormalMaterial&&!0===n.flatShading)for(var o=0,a=3*e.count;o<a;o+=9){var s=e.normalArray,u=(s[o+0]+s[o+3]+s[o+6])/3,c=(s[o+1]+s[o+4]+s[o+7])/3,l=(s[o+2]+s[o+5]+s[o+8])/3;s[o+0]=u,s[o+1]=c,s[o+2]=l,s[o+3]=u,s[o+4]=c,s[o+5]=l,s[o+6]=u,s[o+7]=c,s[o+8]=l}Pe.bufferData(Pe.ARRAY_BUFFER,e.normalArray,Pe.DYNAMIC_DRAW),De.enableAttribute(i.normal),Pe.vertexAttribPointer(i.normal,3,Pe.FLOAT,!1,0,0)}e.hasUvs&&n.map&&(Pe.bindBuffer(Pe.ARRAY_BUFFER,r.uv),Pe.bufferData(Pe.ARRAY_BUFFER,e.uvArray,Pe.DYNAMIC_DRAW),De.enableAttribute(i.uv),Pe.vertexAttribPointer(i.uv,2,Pe.FLOAT,!1,0,0)),e.hasColors&&n.vertexColors!==Ao&&(Pe.bindBuffer(Pe.ARRAY_BUFFER,r.color),Pe.bufferData(Pe.ARRAY_BUFFER,e.colorArray,Pe.DYNAMIC_DRAW),De.enableAttribute(i.color),Pe.vertexAttribPointer(i.color,3,Pe.FLOAT,!1,0,0)),De.disableUnusedAttributes(),Pe.drawArrays(Pe.TRIANGLES,0,e.count),e.count=0},this.renderBufferDirect=function(e,n,r,i,o,a){De.setMaterial(i);var s=_(e,n,i,o),u=r.id+"_"+s.id+"_"+(!0===i.wireframe),c=!1;u!==re&&(re=u,c=!0),o.morphTargetInfluences&&(Ve.update(o,r,i,s),c=!0);var l=r.index,p=r.attributes.position,f=1;!0===i.wireframe&&(l=Ie.getWireframeAttribute(r),f=2);var d,m=Ge;null!==l&&(d=je.get(l),m=qe,m.setIndex(d)),c&&(h(i,s,r),null!==l&&Pe.bindBuffer(Pe.ELEMENT_ARRAY_BUFFER,d.buffer));var v=0;null!==l?v=l.count:void 0!==p&&(v=p.count);var y=r.drawRange.start*f,g=r.drawRange.count*f,b=null!==a?a.start*f:0,w=null!==a?a.count*f:1/0,x=Math.max(y,b),E=Math.min(v,y+g,b+w)-1,M=Math.max(0,E-x+1);if(0!==M){if(o.isMesh)if(!0===i.wireframe)De.setLineWidth(i.wireframeLinewidth*t()),m.setMode(Pe.LINES);else switch(o.drawMode){case bs:m.setMode(Pe.TRIANGLES);break;case _s:m.setMode(Pe.TRIANGLE_STRIP);break;case ws:m.setMode(Pe.TRIANGLE_FAN)}else if(o.isLine){var O=i.linewidth;void 0===O&&(O=1),De.setLineWidth(O*t()),o.isLineSegments?m.setMode(Pe.LINES):o.isLineLoop?m.setMode(Pe.LINE_LOOP):m.setMode(Pe.LINE_STRIP)}else o.isPoints&&m.setMode(Pe.POINTS);r&&r.isInstancedBufferGeometry?r.maxInstancedCount>0&&m.renderInstances(r,x,M):m.render(x,M)}},this.compile=function(e,t){G.length=0,W.length=0,e.traverse(function(e){e.isLight&&(G.push(e),e.castShadow&&W.push(e))}),Ue.setup(G,W,t),e.traverse(function(t){if(t.material)if(Array.isArray(t.material))for(var n=0;n<t.material.length;n++)b(t.material[n],e.fog,t);else b(t.material,e.fog,t)})};var it=!1,ot=null;this.animate=function(e){ot=e,d()},this.render=function(e,t,n,r){if(!t||!t.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!$){re="",ne=-1,ie=null,!0===e.autoUpdate&&e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),nt.enabled&&(t=nt.getCamera(t)),Ee.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),be.setFromMatrix(Ee),G.length=0,W.length=0,Y.length=0,K.length=0,xe=this.localClippingEnabled,we=_e.init(this.clippingPlanes,xe,t),q=Be.get(e,t),q.init(),v(e,t,Q.sortObjects),!0===Q.sortObjects&&q.sort(),we&&_e.beginShadows(),rt.render(W,e,t),Ue.setup(G,W,t),we&&_e.endShadows(),Te.frame++,Te.calls=0,Te.vertices=0,Te.faces=0,Te.points=0,void 0===n&&(n=null),this.setRenderTarget(n),He.render(q,e,t,r);var i=q.opaque,o=q.transparent;if(e.overrideMaterial){var a=e.overrideMaterial;i.length&&y(i,e,t,a),o.length&&y(o,e,t,a)}else i.length&&y(i,e,t),o.length&&y(o,e,t);et.render(Y,e,t),Qe.render(K,e,t,ae),n&&Le.updateRenderTargetMipmap(n),De.buffers.depth.setTest(!0),De.buffers.depth.setMask(!0),De.buffers.color.setMask(!0),De.setPolygonOffset(!1),nt.enabled&&nt.submitFrame()}},this.setFaceCulling=function(e,t){De.setCullFace(e),De.setFlipSided(t===wo)},this.allocTextureUnit=j,this.setTexture2D=function(){var e=!1;return function(t,n){t&&t.isWebGLRenderTarget&&(e||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),e=!0),t=t.texture),Le.setTexture2D(t,n)}}(),this.setTexture=function(){var e=!1;return function(t,n){e||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),e=!0),Le.setTexture2D(t,n)}}(),this.setTextureCube=function(){var e=!1;return function(t,n){t&&t.isWebGLRenderTargetCube&&(e||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),e=!0),t=t.texture),t&&t.isCubeTexture||Array.isArray(t.image)&&6===t.image.length?Le.setTextureCube(t,n):Le.setTextureCubeDynamic(t,n)}}(),this.getRenderTarget=function(){return ee},this.setRenderTarget=function(e){ee=e,e&&void 0===ke.get(e).__webglFramebuffer&&Le.setupRenderTarget(e);var t=null,n=!1;if(e){var r=ke.get(e).__webglFramebuffer;e.isWebGLRenderTargetCube?(t=r[e.activeCubeFace],n=!0):t=r,ae.copy(e.viewport),le.copy(e.scissor),pe=e.scissorTest}else ae.copy(ve).multiplyScalar(me),le.copy(ye).multiplyScalar(me),pe=ge;if(te!==t&&(Pe.bindFramebuffer(Pe.FRAMEBUFFER,t),te=t),De.viewport(ae),De.scissor(le),De.setScissorTest(pe),n){var i=ke.get(e.texture);Pe.framebufferTexture2D(Pe.FRAMEBUFFER,Pe.COLOR_ATTACHMENT0,Pe.TEXTURE_CUBE_MAP_POSITIVE_X+e.activeCubeFace,i.__webglTexture,e.activeMipMapLevel)}},this.readRenderTargetPixels=function(e,t,n,r,i,o){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");var a=ke.get(e).__webglFramebuffer;if(a){var s=!1;a!==te&&(Pe.bindFramebuffer(Pe.FRAMEBUFFER,a),s=!0);try{var u=e.texture,c=u.format,l=u.type;if(c!==Ka&&tt.convert(c)!==Pe.getParameter(Pe.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");if(l!==ja&&tt.convert(l)!==Pe.getParameter(Pe.IMPLEMENTATION_COLOR_READ_TYPE)&&(l!==za||!Ce.get("OES_texture_float")&&!Ce.get("WEBGL_color_buffer_float"))&&(l!==Ha||!Ce.get("EXT_color_buffer_half_float")))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");Pe.checkFramebufferStatus(Pe.FRAMEBUFFER)===Pe.FRAMEBUFFER_COMPLETE?t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&Pe.readPixels(t,n,r,i,tt.convert(c),tt.convert(l),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{s&&Pe.bindFramebuffer(Pe.FRAMEBUFFER,te)}}}}function Ot(e,t){this.name="",this.color=new Y(e),this.density=void 0!==t?t:25e-5}function Tt(e,t,n){this.name="",this.color=new Y(e),this.near=void 0!==t?t:1,this.far=void 0!==n?n:1e3}function Pt(){fe.call(this),this.type="Scene",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function St(e,t,n,r,i){fe.call(this),this.lensFlares=[],this.positionScreen=new l,this.customUpdateCallback=void 0,void 0!==e&&this.add(e,t,n,r,i)}function Ct(e){$.call(this),this.type="SpriteMaterial",this.color=new Y(16777215),this.map=null,this.rotation=0,this.fog=!1,this.lights=!1,this.setValues(e)}function Rt(e){fe.call(this),this.type="Sprite",this.material=void 0!==e?e:new Ct}function At(){fe.call(this),this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Dt(e,t){if(e=e||[],this.bones=e.slice(0),this.boneMatrices=new Float32Array(16*this.bones.length),void 0===t)this.calculateInverses();else if(this.bones.length===t.length)this.boneInverses=t.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length."),this.boneInverses=[];for(var n=0,r=this.bones.length;n<r;n++)this.boneInverses.push(new p)}}function kt(){fe.call(this),this.type="Bone"}function Lt(e,t){Be.call(this,e,t),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new p,this.bindMatrixInverse=new p;var n=this.initBones(),r=new Dt(n);this.bind(r,this.matrixWorld),this.normalizeSkinWeights()}function jt(e){$.call(this),this.type="LineBasicMaterial",this.color=new Y(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.lights=!1,this.setValues(e)}function It(e,t,n){if(1===n)return console.warn("THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead."),new Nt(e,t);fe.call(this),this.type="Line",this.geometry=void 0!==e?e:new Ae,this.material=void 0!==t?t:new jt({color:16777215*Math.random()})}function Nt(e,t){It.call(this,e,t),this.type="LineSegments"}function Ut(e,t){It.call(this,e,t),this.type="LineLoop"}function Ft(e){$.call(this),this.type="PointsMaterial",this.color=new Y(16777215),this.map=null,this.size=1,this.sizeAttenuation=!0,this.lights=!1,this.setValues(e)}function Bt(e,t){fe.call(this),this.type="Points",this.geometry=void 0!==e?e:new Ae,this.material=void 0!==t?t:new Ft({color:16777215*Math.random()})}function zt(){fe.call(this),this.type="Group"}function Ht(e,t,n,r,i,a,s,u,c){function l(){requestAnimationFrame(l),e.readyState>=e.HAVE_CURRENT_DATA&&(p.needsUpdate=!0)}o.call(this,e,t,n,r,i,a,s,u,c),this.generateMipmaps=!1;var p=this;l()}function Vt(e,t,n,r,i,a,s,u,c,l,p,f){o.call(this,null,a,s,u,c,l,r,i,p,f),this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}function Gt(e,t,n,r,i,a,s,u,c,l){if((l=void 0!==l?l:$a)!==$a&&l!==es)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&l===$a&&(n=Ua),void 0===n&&l===es&&(n=qa),o.call(this,null,r,i,a,s,u,l,n,c),this.image={width:e,height:t},this.magFilter=void 0!==s?s:Ca,this.minFilter=void 0!==u?u:Ca,this.flipY=!1,this.generateMipmaps=!1}function Wt(e){Ae.call(this),this.type="WireframeGeometry";var t,n,r,i,o,a,s,u,c,p,f=[],h=[0,0],d={},m=["a","b","c"];if(e&&e.isGeometry){var v=e.faces;for(t=0,r=v.length;t<r;t++){var y=v[t];for(n=0;n<3;n++)s=y[m[n]],u=y[m[(n+1)%3]],h[0]=Math.min(s,u),h[1]=Math.max(s,u),c=h[0]+","+h[1],void 0===d[c]&&(d[c]={index1:h[0],index2:h[1]})}for(c in d)a=d[c],p=e.vertices[a.index1],f.push(p.x,p.y,p.z),p=e.vertices[a.index2],f.push(p.x,p.y,p.z)}else if(e&&e.isBufferGeometry){var g,b,_,w,x,E,M,O;if(p=new l,null!==e.index){for(g=e.attributes.position,b=e.index,_=e.groups,0===_.length&&(_=[{start:0,count:b.count,materialIndex:0}]),i=0,o=_.length;i<o;++i)for(w=_[i],x=w.start,E=w.count,t=x,r=x+E;t<r;t+=3)for(n=0;n<3;n++)s=b.getX(t+n),u=b.getX(t+(n+1)%3),h[0]=Math.min(s,u),h[1]=Math.max(s,u),c=h[0]+","+h[1],void 0===d[c]&&(d[c]={index1:h[0],index2:h[1]});for(c in d)a=d[c],p.fromBufferAttribute(g,a.index1),f.push(p.x,p.y,p.z),p.fromBufferAttribute(g,a.index2),f.push(p.x,p.y,p.z)}else for(g=e.attributes.position,t=0,r=g.count/3;t<r;t++)for(n=0;n<3;n++)M=3*t+n,p.fromBufferAttribute(g,M),f.push(p.x,p.y,p.z),O=3*t+(n+1)%3,p.fromBufferAttribute(g,O),f.push(p.x,p.y,p.z)}this.addAttribute("position",new Pe(f,3))}function qt(e,t,n){ge.call(this),this.type="ParametricGeometry",this.parameters={func:e,slices:t,stacks:n},this.fromBufferGeometry(new Xt(e,t,n)),this.mergeVertices()}function Xt(e,t,n){Ae.call(this),this.type="ParametricBufferGeometry",this.parameters={func:e,slices:t,stacks:n};var r,i,o=[],a=[],s=[],u=[],c=new l,p=new l,f=new l,h=new l,d=new l,m=t+1;for(r=0;r<=n;r++){var v=r/n;for(i=0;i<=t;i++){var y=i/t;p=e(y,v,p),a.push(p.x,p.y,p.z),y-1e-5>=0?(f=e(y-1e-5,v,f),h.subVectors(p,f)):(f=e(y+1e-5,v,f),h.subVectors(f,p)),v-1e-5>=0?(f=e(y,v-1e-5,f),d.subVectors(p,f)):(f=e(y,v+1e-5,f),d.subVectors(f,p)),c.crossVectors(h,d).normalize(),s.push(c.x,c.y,c.z),u.push(y,v)}}for(r=0;r<n;r++)for(i=0;i<t;i++){var g=r*m+i,b=r*m+i+1,_=(r+1)*m+i+1,w=(r+1)*m+i;o.push(g,b,w),o.push(b,_,w)}this.setIndex(o),this.addAttribute("position",new Pe(a,3)),this.addAttribute("normal",new Pe(s,3)),this.addAttribute("uv",new Pe(u,2))}function Yt(e,t,n,r){ge.call(this),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:r},this.fromBufferGeometry(new Kt(e,t,n,r)),this.mergeVertices()}function Kt(e,t,n,r){function o(e,t,n,r){var i,o,a=Math.pow(2,r),u=[];for(i=0;i<=a;i++){u[i]=[];var c=e.clone().lerp(n,i/a),l=t.clone().lerp(n,i/a),p=a-i;for(o=0;o<=p;o++)u[i][o]=0===o&&i===a?c:c.clone().lerp(l,o/p)}for(i=0;i<a;i++)for(o=0;o<2*(a-i)-1;o++){var f=Math.floor(o/2);o%2===0?(s(u[i][f+1]),s(u[i+1][f]),s(u[i][f])):(s(u[i][f+1]),s(u[i+1][f+1]),s(u[i+1][f]))}}function a(){for(var e=0;e<m.length;e+=6){var t=m[e+0],n=m[e+2],r=m[e+4],i=Math.max(t,n,r),o=Math.min(t,n,r);i>.9&&o<.1&&(t<.2&&(m[e+0]+=1),n<.2&&(m[e+2]+=1),r<.2&&(m[e+4]+=1))}}function s(e){d.push(e.x,e.y,e.z)}function u(t,n){var r=3*t;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function c(){for(var e=new l,t=new l,n=new l,r=new l,o=new i,a=new i,s=new i,u=0,c=0;u<d.length;u+=9,c+=6){e.set(d[u+0],d[u+1],d[u+2]),t.set(d[u+3],d[u+4],d[u+5]),n.set(d[u+6],d[u+7],d[u+8]),o.set(m[c+0],m[c+1]),a.set(m[c+2],m[c+3]),s.set(m[c+4],m[c+5]),r.copy(e).add(t).add(n).divideScalar(3);var h=f(r);p(o,c+0,e,h),p(a,c+2,t,h),p(s,c+4,n,h)}}function p(e,t,n,r){r<0&&1===e.x&&(m[t]=e.x-1),0===n.x&&0===n.z&&(m[t]=r/2/Math.PI+.5)}function f(e){return Math.atan2(e.z,-e.x)}function h(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}Ae.call(this),this.type="PolyhedronBufferGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:r},n=n||1,r=r||0;var d=[],m=[];!function(e){for(var n=new l,r=new l,i=new l,a=0;a<t.length;a+=3)u(t[a+0],n),u(t[a+1],r),u(t[a+2],i),o(n,r,i,e)}(r),function(e){for(var t=new l,n=0;n<d.length;n+=3)t.x=d[n+0],t.y=d[n+1],t.z=d[n+2],t.normalize().multiplyScalar(e),d[n+0]=t.x,d[n+1]=t.y,d[n+2]=t.z}(n),function(){for(var e=new l,t=0;t<d.length;t+=3){e.x=d[t+0],e.y=d[t+1],e.z=d[t+2];var n=f(e)/2/Math.PI+.5,r=h(e)/Math.PI+.5;m.push(n,1-r)}c(),a()}(),this.addAttribute("position",new Pe(d,3)),this.addAttribute("normal",new Pe(d.slice(),3)),this.addAttribute("uv",new Pe(m,2)),0===r?this.computeVertexNormals():this.normalizeNormals()}function Zt(e,t){ge.call(this),this.type="TetrahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new Qt(e,t)),this.mergeVertices()}function Qt(e,t){var n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],r=[2,1,0,0,3,2,1,3,0,2,3,1];Kt.call(this,n,r,e,t),this.type="TetrahedronBufferGeometry",this.parameters={radius:e,detail:t}}function Jt(e,t){ge.call(this),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new $t(e,t)),this.mergeVertices()}function $t(e,t){var n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],r=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];Kt.call(this,n,r,e,t),this.type="OctahedronBufferGeometry",this.parameters={radius:e,detail:t}}function en(e,t){ge.call(this),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new tn(e,t)),this.mergeVertices()}function tn(e,t){var n=(1+Math.sqrt(5))/2,r=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1],i=[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];Kt.call(this,r,i,e,t),this.type="IcosahedronBufferGeometry",this.parameters={radius:e,detail:t}}function nn(e,t){ge.call(this),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t},this.fromBufferGeometry(new rn(e,t)),this.mergeVertices()}function rn(e,t){var n=(1+Math.sqrt(5))/2,r=1/n,i=[-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,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r],o=[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];Kt.call(this,i,o,e,t),this.type="DodecahedronBufferGeometry",this.parameters={radius:e,detail:t}}function on(e,t,n,r,i,o){ge.call(this),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:i},void 0!==o&&console.warn("THREE.TubeGeometry: taper has been removed.");var a=new an(e,t,n,r,i);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals,this.fromBufferGeometry(a),this.mergeVertices()}function an(e,t,n,r,o){function a(i){var o=e.getPointAt(i/t),a=c.normals[i],s=c.binormals[i];for(f=0;f<=r;f++){var u=f/r*Math.PI*2,l=Math.sin(u),p=-Math.cos(u);d.x=p*a.x+l*s.x,d.y=p*a.y+l*s.y,d.z=p*a.z+l*s.z,d.normalize(),y.push(d.x,d.y,d.z),h.x=o.x+n*d.x,h.y=o.y+n*d.y,h.z=o.z+n*d.z,v.push(h.x,h.y,h.z)}}function s(){for(f=1;f<=t;f++)for(p=1;p<=r;p++){var e=(r+1)*(f-1)+(p-1),n=(r+1)*f+(p-1),i=(r+1)*f+p,o=(r+1)*(f-1)+p;b.push(e,n,o),b.push(n,i,o)}}function u(){for(p=0;p<=t;p++)for(f=0;f<=r;f++)m.x=p/t,m.y=f/r,g.push(m.x,m.y)}Ae.call(this),this.type="TubeBufferGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:o},t=t||64,n=n||1,r=r||8,o=o||!1;var c=e.computeFrenetFrames(t,o);this.tangents=c.tangents,this.normals=c.normals,this.binormals=c.binormals;var p,f,h=new l,d=new l,m=new i,v=[],y=[],g=[],b=[];!function(){for(p=0;p<t;p++)a(p);a(!1===o?t:0),u(),s()}(),this.setIndex(b),this.addAttribute("position",new Pe(v,3)),this.addAttribute("normal",new Pe(y,3)),this.addAttribute("uv",new Pe(g,2))}function sn(e,t,n,r,i,o,a){ge.call(this),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:o},void 0!==a&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead."),this.fromBufferGeometry(new un(e,t,n,r,i,o)),this.mergeVertices()}function un(e,t,n,r,i,o){function a(e,t,n,r,i){var o=Math.cos(e),a=Math.sin(e),s=n/t*e,u=Math.cos(s);i.x=r*(2+u)*.5*o,i.y=r*(2+u)*a*.5,i.z=r*Math.sin(s)*.5}Ae.call(this),this.type="TorusKnotBufferGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:o},e=e||100,t=t||40,n=Math.floor(n)||64,r=Math.floor(r)||8,i=i||2,o=o||3;var s,u,c=[],p=[],f=[],h=[],d=new l,m=new l,v=new l,y=new l,g=new l,b=new l,_=new l;for(s=0;s<=n;++s){var w=s/n*i*Math.PI*2;for(a(w,i,o,e,v),a(w+.01,i,o,e,y),b.subVectors(y,v),_.addVectors(y,v),g.crossVectors(b,_),_.crossVectors(g,b),g.normalize(),_.normalize(),u=0;u<=r;++u){var x=u/r*Math.PI*2,E=-t*Math.cos(x),M=t*Math.sin(x);d.x=v.x+(E*_.x+M*g.x),d.y=v.y+(E*_.y+M*g.y),d.z=v.z+(E*_.z+M*g.z),p.push(d.x,d.y,d.z),m.subVectors(d,v).normalize(),f.push(m.x,m.y,m.z),h.push(s/n),h.push(u/r)}}for(u=1;u<=n;u++)for(s=1;s<=r;s++){var O=(r+1)*(u-1)+(s-1),T=(r+1)*u+(s-1),P=(r+1)*u+s,S=(r+1)*(u-1)+s;c.push(O,T,S),c.push(T,P,S)}this.setIndex(c),this.addAttribute("position",new Pe(p,3)),this.addAttribute("normal",new Pe(f,3)),this.addAttribute("uv",new Pe(h,2))}function cn(e,t,n,r,i){ge.call(this),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i},this.fromBufferGeometry(new ln(e,t,n,r,i)),this.mergeVertices()}function ln(e,t,n,r,i){Ae.call(this),this.type="TorusBufferGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i},e=e||100,t=t||40,n=Math.floor(n)||8,r=Math.floor(r)||6,i=i||2*Math.PI;var o,a,s=[],u=[],c=[],p=[],f=new l,h=new l,d=new l;for(o=0;o<=n;o++)for(a=0;a<=r;a++){var m=a/r*i,v=o/n*Math.PI*2;h.x=(e+t*Math.cos(v))*Math.cos(m),h.y=(e+t*Math.cos(v))*Math.sin(m),h.z=t*Math.sin(v),u.push(h.x,h.y,h.z),f.x=e*Math.cos(m),f.y=e*Math.sin(m),d.subVectors(h,f).normalize(),c.push(d.x,d.y,d.z),p.push(a/r),p.push(o/n)}for(o=1;o<=n;o++)for(a=1;a<=r;a++){var y=(r+1)*o+a-1,g=(r+1)*(o-1)+a-1,b=(r+1)*(o-1)+a,_=(r+1)*o+a;s.push(y,g,_),s.push(g,b,_)}this.setIndex(s),this.addAttribute("position",new Pe(u,3)),this.addAttribute("normal",new Pe(c,3)),this.addAttribute("uv",new Pe(p,2))}function pn(e,t){ge.call(this),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},this.fromBufferGeometry(new fn(e,t)),this.mergeVertices()}function fn(e,t){"undefined"!==typeof e&&(Ae.call(this),this.type="ExtrudeBufferGeometry",e=Array.isArray(e)?e:[e],this.addShapeList(e,t),this.computeVertexNormals())}function hn(e,t){ge.call(this),this.type="TextGeometry",this.parameters={text:e,parameters:t},this.fromBufferGeometry(new dn(e,t)),this.mergeVertices()}function dn(e,t){t=t||{};var n=t.font;if(!n||!n.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new ge;var r=n.generateShapes(e,t.size,t.curveSegments);t.amount=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),fn.call(this,r,t),this.type="TextBufferGeometry"}function mn(e,t,n,r,i,o,a){ge.call(this),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:o,thetaLength:a},this.fromBufferGeometry(new vn(e,t,n,r,i,o,a)),this.mergeVertices()}function vn(e,t,n,r,i,o,a){Ae.call(this),this.type="SphereBufferGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:o,thetaLength:a},e=e||50,t=Math.max(3,Math.floor(t)||8),n=Math.max(2,Math.floor(n)||6),r=void 0!==r?r:0,i=void 0!==i?i:2*Math.PI,o=void 0!==o?o:0,a=void 0!==a?a:Math.PI;var s,u,c=o+a,p=0,f=[],h=new l,d=new l,m=[],v=[],y=[],g=[];for(u=0;u<=n;u++){var b=[],_=u/n;for(s=0;s<=t;s++){var w=s/t;h.x=-e*Math.cos(r+w*i)*Math.sin(o+_*a),h.y=e*Math.cos(o+_*a),h.z=e*Math.sin(r+w*i)*Math.sin(o+_*a),v.push(h.x,h.y,h.z),d.set(h.x,h.y,h.z).normalize(),y.push(d.x,d.y,d.z),g.push(w,1-_),b.push(p++)}f.push(b)}for(u=0;u<n;u++)for(s=0;s<t;s++){var x=f[u][s+1],E=f[u][s],M=f[u+1][s],O=f[u+1][s+1];(0!==u||o>0)&&m.push(x,E,O),(u!==n-1||c<Math.PI)&&m.push(E,M,O)}this.setIndex(m),this.addAttribute("position",new Pe(v,3)),this.addAttribute("normal",new Pe(y,3)),this.addAttribute("uv",new Pe(g,2))}function yn(e,t,n,r,i,o){ge.call(this),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:i,thetaLength:o},this.fromBufferGeometry(new gn(e,t,n,r,i,o)),this.mergeVertices()}function gn(e,t,n,r,o,a){Ae.call(this),this.type="RingBufferGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:o,thetaLength:a},e=e||20,t=t||50,o=void 0!==o?o:0,a=void 0!==a?a:2*Math.PI,n=void 0!==n?Math.max(3,n):8,r=void 0!==r?Math.max(1,r):1;var s,u,c,p=[],f=[],h=[],d=[],m=e,v=(t-e)/r,y=new l,g=new i;for(u=0;u<=r;u++){for(c=0;c<=n;c++)s=o+c/n*a,y.x=m*Math.cos(s),y.y=m*Math.sin(s),f.push(y.x,y.y,y.z),h.push(0,0,1),g.x=(y.x/t+1)/2,g.y=(y.y/t+1)/2,d.push(g.x,g.y);m+=v}for(u=0;u<r;u++){var b=u*(n+1);for(c=0;c<n;c++){s=c+b;var _=s,w=s+n+1,x=s+n+2,E=s+1;p.push(_,w,E),p.push(w,x,E)}}this.setIndex(p),this.addAttribute("position",new Pe(f,3)),this.addAttribute("normal",new Pe(h,3)),this.addAttribute("uv",new Pe(d,2))}function bn(e,t,n,r){ge.call(this),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:r},this.fromBufferGeometry(new _n(e,t,n,r)),this.mergeVertices()}function _n(e,t,n,r){Ae.call(this),this.type="LatheBufferGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:r},t=Math.floor(t)||12,n=n||0,r=r||2*Math.PI,r=Ds.clamp(r,0,2*Math.PI);var o,a,s,u=[],c=[],p=[],f=1/t,h=new l,d=new i;for(a=0;a<=t;a++){var m=n+a*f*r,v=Math.sin(m),y=Math.cos(m);for(s=0;s<=e.length-1;s++)h.x=e[s].x*v,h.y=e[s].y,h.z=e[s].x*y,c.push(h.x,h.y,h.z),d.x=a/t,d.y=s/(e.length-1),p.push(d.x,d.y)}for(a=0;a<t;a++)for(s=0;s<e.length-1;s++){o=s+a*e.length;var g=o,b=o+e.length,_=o+e.length+1,w=o+1;u.push(g,b,w),u.push(b,_,w)}if(this.setIndex(u),this.addAttribute("position",new Pe(c,3)),this.addAttribute("uv",new Pe(p,2)),this.computeVertexNormals(),r===2*Math.PI){var x=this.attributes.normal.array,E=new l,M=new l,O=new l;for(o=t*e.length*3,a=0,s=0;a<e.length;a++,s+=3)E.x=x[s+0],E.y=x[s+1],E.z=x[s+2],M.x=x[o+s+0],M.y=x[o+s+1],M.z=x[o+s+2],O.addVectors(E,M).normalize(),x[s+0]=x[o+s+0]=O.x,x[s+1]=x[o+s+1]=O.y,x[s+2]=x[o+s+2]=O.z}}function wn(e,t){ge.call(this),this.type="ShapeGeometry","object"===typeof t&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),t=t.curveSegments),this.parameters={shapes:e,curveSegments:t},this.fromBufferGeometry(new xn(e,t)),this.mergeVertices()}function xn(e,t){function n(e){var n,s,c,l=i.length/3,p=e.extractPoints(t),f=p.shape,h=p.holes;if(!1===Zs.isClockWise(f))for(f=f.reverse(),n=0,s=h.length;n<s;n++)c=h[n],!0===Zs.isClockWise(c)&&(h[n]=c.reverse());var d=Zs.triangulateShape(f,h);for(n=0,s=h.length;n<s;n++)c=h[n],f=f.concat(c);for(n=0,s=f.length;n<s;n++){var m=f[n];i.push(m.x,m.y,0),o.push(0,0,1),a.push(m.x,m.y)}for(n=0,s=d.length;n<s;n++){var v=d[n],y=v[0]+l,g=v[1]+l,b=v[2]+l;r.push(y,g,b),u+=3}}Ae.call(this),this.type="ShapeBufferGeometry",this.parameters={shapes:e,curveSegments:t},t=t||12;var r=[],i=[],o=[],a=[],s=0,u=0;if(!1===Array.isArray(e))n(e);else for(var c=0;c<e.length;c++)n(e[c]),this.addGroup(s,u,c),s+=u,u=0;this.setIndex(r),this.addAttribute("position",new Pe(i,3)),this.addAttribute("normal",new Pe(o,3)),this.addAttribute("uv",new Pe(a,2))}function En(e,t){Ae.call(this),this.type="EdgesGeometry",this.parameters={thresholdAngle:t},t=void 0!==t?t:1;var n,r,i,o,a=[],s=Math.cos(Ds.DEG2RAD*t),u=[0,0],c={},l=["a","b","c"];e.isBufferGeometry?(o=new ge,o.fromBufferGeometry(e)):o=e.clone(),o.mergeVertices(),o.computeFaceNormals();for(var p=o.vertices,f=o.faces,h=0,d=f.length;h<d;h++)for(var m=f[h],v=0;v<3;v++)n=m[l[v]],r=m[l[(v+1)%3]],u[0]=Math.min(n,r),u[1]=Math.max(n,r),i=u[0]+","+u[1],void 0===c[i]?c[i]={index1:u[0],index2:u[1],face1:h,face2:void 0}:c[i].face2=h;for(i in c){var y=c[i];if(void 0===y.face2||f[y.face1].normal.dot(f[y.face2].normal)<=s){var g=p[y.index1];a.push(g.x,g.y,g.z),g=p[y.index2],a.push(g.x,g.y,g.z)}}this.addAttribute("position",new Pe(a,3))}function Mn(e,t,n,r,i,o,a,s){ge.call(this),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:o,thetaStart:a,thetaLength:s},this.fromBufferGeometry(new On(e,t,n,r,i,o,a,s)),this.mergeVertices()}function On(e,t,n,r,o,a,s,u){function c(n){var o,a,c,y=new i,_=new l,w=0,x=!0===n?e:t,E=!0===n?1:-1;for(a=v,o=1;o<=r;o++)h.push(0,g*E,0),d.push(0,E,0),m.push(.5,.5),v++;for(c=v,o=0;o<=r;o++){var M=o/r,O=M*u+s,T=Math.cos(O),P=Math.sin(O);_.x=x*P,_.y=g*E,_.z=x*T,h.push(_.x,_.y,_.z),d.push(0,E,0),y.x=.5*T+.5,y.y=.5*P*E+.5,m.push(y.x,y.y),v++}for(o=0;o<r;o++){var S=a+o,C=c+o;!0===n?f.push(C,C+1,S):f.push(C+1,C,S),w+=3}p.addGroup(b,w,!0===n?1:2),b+=w}Ae.call(this),this.type="CylinderBufferGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:o,openEnded:a,thetaStart:s,thetaLength:u};var p=this;e=void 0!==e?e:20,t=void 0!==t?t:20,n=void 0!==n?n:100,r=Math.floor(r)||8,o=Math.floor(o)||1,a=void 0!==a&&a,s=void 0!==s?s:0,u=void 0!==u?u:2*Math.PI;var f=[],h=[],d=[],m=[],v=0,y=[],g=n/2,b=0;!function(){var i,a,c=new l,_=new l,w=0,x=(t-e)/n;for(a=0;a<=o;a++){var E=[],M=a/o,O=M*(t-e)+e;for(i=0;i<=r;i++){var T=i/r,P=T*u+s,S=Math.sin(P),C=Math.cos(P);_.x=O*S,_.y=-M*n+g,_.z=O*C,h.push(_.x,_.y,_.z),c.set(S,x,C).normalize(),d.push(c.x,c.y,c.z),m.push(T,1-M),E.push(v++)}y.push(E)}for(i=0;i<r;i++)for(a=0;a<o;a++){var R=y[a][i],A=y[a+1][i],D=y[a+1][i+1],k=y[a][i+1];f.push(R,A,k),f.push(A,D,k),w+=6}p.addGroup(b,w,0),b+=w}(),!1===a&&(e>0&&c(!0),t>0&&c(!1)),this.setIndex(f),this.addAttribute("position",new Pe(h,3)),this.addAttribute("normal",new Pe(d,3)),this.addAttribute("uv",new Pe(m,2))}function Tn(e,t,n,r,i,o,a){Mn.call(this,0,e,t,n,r,i,o,a),this.type="ConeGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:o,thetaLength:a}}function Pn(e,t,n,r,i,o,a){On.call(this,0,e,t,n,r,i,o,a),this.type="ConeBufferGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:o,thetaLength:a}}function Sn(e,t,n,r){ge.call(this),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},this.fromBufferGeometry(new Cn(e,t,n,r)),this.mergeVertices()}function Cn(e,t,n,r){Ae.call(this),this.type="CircleBufferGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},e=e||50,t=void 0!==t?Math.max(3,t):8,n=void 0!==n?n:0,r=void 0!==r?r:2*Math.PI;var o,a,s=[],u=[],c=[],p=[],f=new l,h=new i;for(u.push(0,0,0),c.push(0,0,1),p.push(.5,.5),a=0,o=3;a<=t;a++,o+=3){var d=n+a/t*r;f.x=e*Math.cos(d),f.y=e*Math.sin(d),u.push(f.x,f.y,f.z),c.push(0,0,1),h.x=(u[o]/e+1)/2,h.y=(u[o+1]/e+1)/2,p.push(h.x,h.y)}for(o=1;o<=t;o++)s.push(o,o+1,0);this.setIndex(s),this.addAttribute("position",new Pe(u,3)),this.addAttribute("normal",new Pe(c,3)),this.addAttribute("uv",new Pe(p,2))}function Rn(e){$.call(this),this.type="ShadowMaterial",this.color=new Y(0),this.opacity=1,this.lights=!0,this.transparent=!0,this.setValues(e)}function An(e){ee.call(this,e),this.type="RawShaderMaterial"}function Dn(e){$.call(this),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new Y(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Y(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function kn(e){Dn.call(this),this.defines={PHYSICAL:""},this.type="MeshPhysicalMaterial",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(e)}function Ln(e){$.call(this),this.type="MeshPhongMaterial",this.color=new Y(16777215),this.specular=new Y(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Y(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=la,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function jn(e){Ln.call(this),this.defines={TOON:""},this.type="MeshToonMaterial",this.gradientMap=null,this.setValues(e)}function In(e){$.call(this),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new i(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Nn(e){$.call(this),this.type="MeshLambertMaterial",this.color=new Y(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Y(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=la,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}function Un(e){jt.call(this),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}function Fn(e,t,n){var r=this,i=!1,o=0,a=0;this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){a++,!1===i&&void 0!==r.onStart&&r.onStart(e,o,a),i=!0},this.itemEnd=function(e){o++,void 0!==r.onProgress&&r.onProgress(e,o,a),o===a&&(i=!1,void 0!==r.onLoad&&r.onLoad())},this.itemError=function(e){void 0!==r.onError&&r.onError(e)}}function Bn(e){this.manager=void 0!==e?e:eu}function zn(e){this.manager=void 0!==e?e:eu,this._parser=null}function Hn(e){this.manager=void 0!==e?e:eu,this._parser=null}function Vn(e){this.manager=void 0!==e?e:eu}function Gn(e){this.manager=void 0!==e?e:eu}function Wn(e){this.manager=void 0!==e?e:eu}function qn(e,t){fe.call(this),this.type="Light",this.color=new Y(e),this.intensity=void 0!==t?t:1,this.receiveShadow=void 0}function Xn(e,t,n){qn.call(this,e,n),this.type="HemisphereLight",this.castShadow=void 0,this.position.copy(fe.DefaultUp),this.updateMatrix(),this.groundColor=new Y(t)}function Yn(e){this.camera=e,this.bias=0,this.radius=1,this.mapSize=new i(512,512),this.map=null,this.matrix=new p}function Kn(){Yn.call(this,new me(50,1,.5,500))}function Zn(e,t,n,r,i,o){qn.call(this,e,t),this.type="SpotLight",this.position.copy(fe.DefaultUp),this.updateMatrix(),this.target=new fe,Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(e){this.intensity=e/Math.PI}}),this.distance=void 0!==n?n:0,this.angle=void 0!==r?r:Math.PI/3,this.penumbra=void 0!==i?i:0,this.decay=void 0!==o?o:1,this.shadow=new Kn}function Qn(e,t,n,r){qn.call(this,e,t),this.type="PointLight",Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(e){this.intensity=e/(4*Math.PI)}}),this.distance=void 0!==n?n:0,this.decay=void 0!==r?r:1,this.shadow=new Yn(new me(90,1,.5,500))}function Jn(){Yn.call(this,new de(-5,5,5,-5,.5,500))}function $n(e,t){qn.call(this,e,t),this.type="DirectionalLight",this.position.copy(fe.DefaultUp),this.updateMatrix(),this.target=new fe,this.shadow=new Jn}function er(e,t){qn.call(this,e,t),this.type="AmbientLight",this.castShadow=void 0}function tr(e,t,n,r){qn.call(this,e,t),this.type="RectAreaLight",this.position.set(0,1,0),this.updateMatrix(),this.width=void 0!==n?n:10,this.height=void 0!==r?r:10}function nr(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==r?r:new t.constructor(n),this.sampleValues=t,this.valueSize=n}function rr(e,t,n,r){nr.call(this,e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function ir(e,t,n,r){nr.call(this,e,t,n,r)}function or(e,t,n,r){nr.call(this,e,t,n,r)}function ar(e,t,n,r){if(void 0===e)throw new Error("track name is undefined");if(void 0===t||0===t.length)throw new Error("no keyframes in track named "+e);this.name=e,this.times=tu.convertArray(t,this.TimeBufferType),this.values=tu.convertArray(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation),this.validate(),this.optimize()}function sr(e,t,n,r){ar.call(this,e,t,n,r)}function ur(e,t,n,r){nr.call(this,e,t,n,r)}function cr(e,t,n,r){ar.call(this,e,t,n,r)}function lr(e,t,n,r){ar.call(this,e,t,n,r)}function pr(e,t,n,r){ar.call(this,e,t,n,r)}function fr(e,t,n){ar.call(this,e,t,n)}function hr(e,t,n,r){ar.call(this,e,t,n,r)}function dr(e,t,n,r){ar.apply(this,arguments)}function mr(e,t,n){this.name=e,this.tracks=n,this.duration=void 0!==t?t:-1,this.uuid=Ds.generateUUID(),this.duration<0&&this.resetDuration(),this.optimize()}function vr(e){this.manager=void 0!==e?e:eu,this.textures={}}function yr(e){this.manager=void 0!==e?e:eu}function gr(){this.onLoadStart=function(){},this.onLoadProgress=function(){},this.onLoadComplete=function(){}}function br(e){"boolean"===typeof e&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),e=void 0),this.manager=void 0!==e?e:eu,this.withCredentials=!1}function _r(e){this.manager=void 0!==e?e:eu,this.texturePath=""}function wr(e,t,n,r,i){var o=.5*(r-t),a=.5*(i-n),s=e*e;return(2*n-2*r+o+a)*(e*s)+(-3*n+3*r-2*o-a)*s+o*e+n}function xr(e,t){var n=1-e;return n*n*t}function Er(e,t){return 2*(1-e)*e*t}function Mr(e,t){return e*e*t}function Or(e,t,n,r){return xr(e,t)+Er(e,n)+Mr(e,r)}function Tr(e,t){var n=1-e;return n*n*n*t}function Pr(e,t){var n=1-e;return 3*n*n*e*t}function Sr(e,t){return 3*(1-e)*e*e*t}function Cr(e,t){return e*e*e*t}function Rr(e,t,n,r,i){return Tr(e,t)+Pr(e,n)+Sr(e,r)+Cr(e,i)}function Ar(){this.arcLengthDivisions=200}function Dr(e,t){Ar.call(this),this.v1=e,this.v2=t}function kr(){Ar.call(this),this.curves=[],this.autoClose=!1}function Lr(e,t,n,r,i,o,a,s){Ar.call(this),this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=o,this.aClockwise=a,this.aRotation=s||0}function jr(e){Ar.call(this),this.points=void 0===e?[]:e}function Ir(e,t,n,r){Ar.call(this),this.v0=e,this.v1=t,this.v2=n,this.v3=r}function Nr(e,t,n){Ar.call(this),this.v0=e,this.v1=t,this.v2=n}function Ur(e){kr.call(this),this.currentPoint=new i,e&&this.fromPoints(e)}function Fr(){Ur.apply(this,arguments),this.holes=[]}function Br(){this.subPaths=[],this.currentPath=null}function zr(e){this.data=e}function Hr(e){this.manager=void 0!==e?e:eu}function Vr(e){this.manager=void 0!==e?e:eu}function Gr(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new me,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new me,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}function Wr(e,t,n){fe.call(this),this.type="CubeCamera";var r=new me(90,1,e,t);r.up.set(0,-1,0),r.lookAt(new l(1,0,0)),this.add(r);var i=new me(90,1,e,t);i.up.set(0,-1,0),i.lookAt(new l(-1,0,0)),this.add(i);var o=new me(90,1,e,t);o.up.set(0,0,1),o.lookAt(new l(0,1,0)),this.add(o);var a=new me(90,1,e,t);a.up.set(0,0,-1),a.lookAt(new l(0,-1,0)),this.add(a);var s=new me(90,1,e,t);s.up.set(0,-1,0),s.lookAt(new l(0,0,1)),this.add(s);var c=new me(90,1,e,t);c.up.set(0,-1,0),c.lookAt(new l(0,0,-1)),this.add(c);var p={format:Ya,magFilter:Da,minFilter:Da};this.renderTarget=new u(n,n,p),this.renderTarget.texture.name="CubeCamera",this.update=function(e,t){null===this.parent&&this.updateMatrixWorld();var n=this.renderTarget,u=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,n.activeCubeFace=0,e.render(t,r,n),n.activeCubeFace=1,e.render(t,i,n),n.activeCubeFace=2,e.render(t,o,n),n.activeCubeFace=3,e.render(t,a,n),n.activeCubeFace=4,e.render(t,s,n),n.texture.generateMipmaps=u,n.activeCubeFace=5,e.render(t,c,n),e.setRenderTarget(null)},this.clear=function(e,t,n,r){for(var i=this.renderTarget,o=0;o<6;o++)i.activeCubeFace=o,e.setRenderTarget(i),e.clear(t,n,r);e.setRenderTarget(null)}}function qr(){fe.call(this),this.type="AudioListener",this.context=cu.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null}function Xr(e){fe.call(this),this.type="Audio",this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.loop=!1,this.startTime=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType="empty",this.filters=[]}function Yr(e){Xr.call(this,e),this.panner=this.context.createPanner(),this.panner.connect(this.gain)}function Kr(e,t){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=void 0!==t?t:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}function Zr(e,t,n){this.binding=e,this.valueSize=n;var r,i=Float64Array;switch(t){case"quaternion":r=this._slerp;break;case"string":case"bool":i=Array,r=this._select;break;default:r=this._lerp}this.buffer=new i(4*n),this._mixBufferRegion=r,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}function Qr(e,t,n){var r=n||Jr.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}function Jr(e,t,n){this.path=t,this.parsedPath=n||Jr.parseTrackName(t),this.node=Jr.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e}function $r(e){this.uuid=Ds.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var t={};this._indicesByUUID=t;for(var n=0,r=arguments.length;n!==r;++n)t[arguments[n].uuid]=n;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var i=this;this.stats={objects:{get total(){return i._objects.length},get inUse(){return this.total-i.nCachedObjects_}},get bindingsPerObject(){return i._bindings.length}}}function ei(e,t,n){this._mixer=e,this._clip=t,this._localRoot=n||null;for(var r=t.tracks,i=r.length,o=new Array(i),a={endingStart:vs,endingEnd:vs},s=0;s!==i;++s){var u=r[s].createInterpolant(null);o[s]=u,u.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(i),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=ps,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}function ti(e){this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function ni(e){"string"===typeof e&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),e=arguments[1]),this.value=e}function ri(){Ae.call(this),this.type="InstancedBufferGeometry",this.maxInstancedCount=void 0}function ii(e,t,n,r){this.uuid=Ds.generateUUID(),this.data=e,this.itemSize=t,this.offset=n,this.normalized=!0===r}function oi(e,t){this.uuid=Ds.generateUUID(),this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.onUploadCallback=function(){},this.version=0}function ai(e,t,n){oi.call(this,e,t),this.meshPerAttribute=n||1}function si(e,t,n){be.call(this,e,t),this.meshPerAttribute=n||1}function ui(e,t,n,r){this.ray=new Ne(e,t),this.near=n||0,this.far=r||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function ci(e,t){return e.distance-t.distance}function li(e,t,n,r){if(!1!==e.visible&&(e.raycast(t,n),!0===r))for(var i=e.children,o=0,a=i.length;o<a;o++)li(i[o],t,n,!0)}function pi(e){this.autoStart=void 0===e||e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}function fi(e,t,n){return this.radius=void 0!==e?e:1,this.phi=void 0!==t?t:0,this.theta=void 0!==n?n:0,this}function hi(e,t,n){return this.radius=void 0!==e?e:1,this.theta=void 0!==t?t:0,this.y=void 0!==n?n:0,this}function di(e){fe.call(this),this.material=e,this.render=function(e){}}function mi(e,t,n,r){this.object=e,this.size=void 0!==t?t:1;var i=void 0!==n?n:16711680,o=void 0!==r?r:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=3*s.faces.length:s&&s.isBufferGeometry&&(a=s.attributes.normal.count);var u=new Ae,c=new Pe(2*a*3,3);u.addAttribute("position",c),Nt.call(this,u,new jt({color:i,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function vi(e,t){fe.call(this),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;for(var n=new Ae,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],i=0,o=1;i<32;i++,o++){var a=i/32*Math.PI*2,s=o/32*Math.PI*2;r.push(Math.cos(a),Math.sin(a),1,Math.cos(s),Math.sin(s),1)}n.addAttribute("position",new Pe(r,3));var u=new jt({fog:!1});this.cone=new Nt(n,u),this.add(this.cone),this.update()}function yi(e){var t=[];e&&e.isBone&&t.push(e);for(var n=0;n<e.children.length;n++)t.push.apply(t,yi(e.children[n]));return t}function gi(e){for(var t=yi(e),n=new Ae,r=[],i=[],o=new Y(0,0,1),a=new Y(0,1,0),s=0;s<t.length;s++){var u=t[s];u.parent&&u.parent.isBone&&(r.push(0,0,0),r.push(0,0,0),i.push(o.r,o.g,o.b),i.push(a.r,a.g,a.b))}n.addAttribute("position",new Pe(r,3)),n.addAttribute("color",new Pe(i,3));var c=new jt({vertexColors:ko,depthTest:!1,depthWrite:!1,transparent:!0});Nt.call(this,n,c),this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.onBeforeRender()}function bi(e,t,n){this.light=e,this.light.updateMatrixWorld(),this.color=n;var r=new vn(t,4,2),i=new Ie({wireframe:!0,fog:!1});Be.call(this,r,i),this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}function _i(e,t){fe.call(this),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;var n=new jt({fog:!1}),r=new Ae;r.addAttribute("position",new be(new Float32Array(15),3)),this.line=new It(r,n),this.add(this.line),this.update()}function wi(e,t,n){fe.call(this),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n;var r=new $t(t);r.rotateY(.5*Math.PI),this.material=new Ie({wireframe:!0,fog:!1}),void 0===this.color&&(this.material.vertexColors=ko);var i=r.getAttribute("position"),o=new Float32Array(3*i.count);r.addAttribute("color",new be(o,3)),this.add(new Be(r,this.material)),this.update()}function xi(e,t,n,r){e=e||10,t=t||10,n=new Y(void 0!==n?n:4473924),r=new Y(void 0!==r?r:8947848);for(var i=t/2,o=e/t,a=e/2,s=[],u=[],c=0,l=0,p=-a;c<=t;c++,p+=o){s.push(-a,0,p,a,0,p),s.push(p,0,-a,p,0,a);var f=c===i?n:r;f.toArray(u,l),l+=3,f.toArray(u,l),l+=3,f.toArray(u,l),l+=3,f.toArray(u,l),l+=3}var h=new Ae;h.addAttribute("position",new Pe(s,3)),h.addAttribute("color",new Pe(u,3));var d=new jt({vertexColors:ko});Nt.call(this,h,d)}function Ei(e,t,n,r,i,o){e=e||10,t=t||16,n=n||8,r=r||64,i=new Y(void 0!==i?i:4473924),o=new Y(void 0!==o?o:8947848);var a,s,u,c,l,p,f,h=[],d=[];for(c=0;c<=t;c++)u=c/t*(2*Math.PI),a=Math.sin(u)*e,s=Math.cos(u)*e,h.push(0,0,0),h.push(a,0,s),f=1&c?i:o,d.push(f.r,f.g,f.b),d.push(f.r,f.g,f.b);for(c=0;c<=n;c++)for(f=1&c?i:o,p=e-e/n*c,l=0;l<r;l++)u=l/r*(2*Math.PI),a=Math.sin(u)*p,s=Math.cos(u)*p,h.push(a,0,s),d.push(f.r,f.g,f.b),u=(l+1)/r*(2*Math.PI),a=Math.sin(u)*p,s=Math.cos(u)*p,h.push(a,0,s),d.push(f.r,f.g,f.b);var m=new Ae;m.addAttribute("position",new Pe(h,3)),m.addAttribute("color",new Pe(d,3));var v=new jt({vertexColors:ko});Nt.call(this,m,v)}function Mi(e,t,n,r){this.object=e,this.size=void 0!==t?t:1;var i=void 0!==n?n:16776960,o=void 0!==r?r:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=s.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");var u=new Ae,c=new Pe(2*a*3,3);u.addAttribute("position",c),Nt.call(this,u,new jt({color:i,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function Oi(e,t,n){fe.call(this),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,void 0===t&&(t=1);var r=new Ae;r.addAttribute("position",new Pe([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));var i=new jt({fog:!1});this.lightPlane=new It(r,i),this.add(this.lightPlane),r=new Ae,r.addAttribute("position",new Pe([0,0,0,0,0,1],3)),this.targetLine=new It(r,i),this.add(this.targetLine),this.update()}function Ti(e){function t(e,t,r){n(e,r),n(t,r)}function n(e,t){o.push(0,0,0),a.push(t.r,t.g,t.b),void 0===s[e]&&(s[e]=[]),s[e].push(o.length/3-1)}var r=new Ae,i=new jt({color:16777215,vertexColors:Do}),o=[],a=[],s={},u=new Y(16755200),c=new Y(16711680),l=new Y(43775),p=new Y(16777215),f=new Y(3355443);t("n1","n2",u),t("n2","n4",u),t("n4","n3",u),t("n3","n1",u),t("f1","f2",u),t("f2","f4",u),t("f4","f3",u),t("f3","f1",u),t("n1","f1",u),t("n2","f2",u),t("n3","f3",u),t("n4","f4",u),t("p","n1",c),t("p","n2",c),t("p","n3",c),t("p","n4",c),t("u1","u2",l),t("u2","u3",l),t("u3","u1",l),t("c","t",p),t("p","c",f),t("cn1","cn2",f),t("cn3","cn4",f),t("cf1","cf2",f),t("cf3","cf4",f),r.addAttribute("position",new Pe(o,3)),r.addAttribute("color",new Pe(a,3)),Nt.call(this,r,i),this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update()}function Pi(e,t){this.object=e,void 0===t&&(t=16776960);var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),r=new Float32Array(24),i=new Ae;i.setIndex(new be(n,1)),i.addAttribute("position",new be(r,3)),Nt.call(this,i,new jt({color:t})),this.matrixAutoUpdate=!1,this.update()}function Si(e,t){this.type="Box3Helper",this.box=e;var n=void 0!==t?t:16776960,r=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],o=new Ae;o.setIndex(new be(r,1)),o.addAttribute("position",new Pe(i,3)),Nt.call(this,o,new jt({color:n})),this.geometry.computeBoundingSphere(),this.onBeforeRender()}function Ci(e,t,n){this.type="PlaneHelper",this.plane=e,this.size=void 0===t?1:t;var r=void 0!==n?n:16776960,i=[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,0,1,0,0,0],o=new Ae;o.addAttribute("position",new Pe(i,3)),o.computeBoundingSphere(),It.call(this,o,new jt({color:r}));var a=[1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],s=new Ae;s.addAttribute("position",new Pe(a,3)),s.computeBoundingSphere(),this.add(new Be(s,new Ie({color:r,opacity:.2,transparent:!0,depthWrite:!1}))),this.onBeforeRender()}function Ri(e,t,n,r,i,o){fe.call(this),void 0===r&&(r=16776960),void 0===n&&(n=1),void 0===i&&(i=.2*n),void 0===o&&(o=.2*i),void 0===lu&&(lu=new Ae,lu.addAttribute("position",new Pe([0,0,0,0,1,0],3)),pu=new On(0,.5,1,5,1),pu.translate(0,-.5,0)),this.position.copy(t),this.line=new It(lu,new jt({color:r})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Be(pu,new Ie({color:r})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,i,o)}function Ai(e){e=e||1;var t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],r=new Ae;r.addAttribute("position",new Pe(t,3)),r.addAttribute("color",new Pe(n,3));var i=new jt({vertexColors:ko});Nt.call(this,r,i)}function Di(){function e(e,o,a,s){t=e,n=a,r=-3*e+3*o-2*a-s,i=2*e-2*o+a+s}var t=0,n=0,r=0,i=0;return{initCatmullRom:function(t,n,r,i,o){e(n,r,o*(r-t),o*(i-n))},initNonuniformCatmullRom:function(t,n,r,i,o,a,s){var u=(n-t)/o-(r-t)/(o+a)+(r-n)/a,c=(r-n)/a-(i-n)/(a+s)+(i-r)/s;u*=a,c*=a,e(n,r,u,c)},calc:function(e){var o=e*e;return t+n*e+r*o+i*(o*e)}}}function ki(e){Ar.call(this),e.length<2&&console.warn("THREE.CatmullRomCurve3: Points array needs at least two entries."),this.points=e||[],this.closed=!1}function Li(e,t,n,r){Ar.call(this),this.v0=e,this.v1=t,this.v2=n,this.v3=r}function ji(e,t,n){Ar.call(this),this.v0=e,this.v1=t,this.v2=n}function Ii(e,t){Ar.call(this),this.v1=e,this.v2=t}function Ni(e,t,n,r,i,o){Lr.call(this,e,t,n,n,r,i,o)}function Ui(e,t,n,r,i,o,a){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new ve(e,t,n,i,o,a)}function Fi(e){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),e}function Bi(e){return void 0===e&&(e=[]),console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),e.isMultiMaterial=!0,e.materials=e,e.clone=function(){return e.slice()},e}function zi(e,t){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Bt(e,t)}function Hi(e){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Rt(e)}function Vi(e,t){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Bt(e,t)}function Gi(e){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Ft(e)}function Wi(e){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Ft(e)}function qi(e){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Ft(e)}function Xi(e,t,n){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new l(e,t,n)}function Yi(e,t){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead."),new be(e,t).setDynamic(!0)}function Ki(e,t){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new _e(e,t)}function Zi(e,t){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new we(e,t)}function Qi(e,t){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new xe(e,t)}function Ji(e,t){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Ee(e,t)}function $i(e,t){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Me(e,t)}function eo(e,t){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new Oe(e,t)}function to(e,t){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Te(e,t)}function no(e,t){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Pe(e,t)}function ro(e,t){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Se(e,t)}function io(e){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),ki.call(this,e),this.type="catmullrom",this.closed=!0}function oo(e){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),ki.call(this,e),this.type="catmullrom"}function ao(e){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),ki.call(this,e),this.type="catmullrom"}function so(e,t){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Pi(e,t)}function uo(e,t){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Nt(new En(e.geometry),new jt({color:void 0!==t?t:16777215}))}function co(e,t){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new Nt(new Wt(e.geometry),new jt({color:void 0!==t?t:16777215}))}function lo(e){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Bn(e)}function po(e){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Hn(e)}function fo(){console.error("THREE.Projector has been moved to /examples/js/renderers/Projector.js."),this.projectVector=function(e,t){console.warn("THREE.Projector: .projectVector() is now vector.project()."),e.project(t)},this.unprojectVector=function(e,t){console.warn("THREE.Projector: .unprojectVector() is now vector.unproject()."),e.unproject(t)},this.pickingRay=function(){console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().")}}function ho(){console.error("THREE.CanvasRenderer has been moved to /examples/js/renderers/CanvasRenderer.js"),this.domElement=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),this.clear=function(){},this.render=function(){},this.setClearColor=function(){},this.setSize=function(){}}Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"WebGLRenderTargetCube",function(){return u}),n.d(t,"WebGLRenderTarget",function(){return s}),n.d(t,"WebGLRenderer",function(){return Mt}),n.d(t,"ShaderLib",function(){return Ws}),n.d(t,"UniformsLib",function(){return Hs}),n.d(t,"UniformsUtils",function(){return Vs}),n.d(t,"ShaderChunk",function(){return Gs}),n.d(t,"FogExp2",function(){return Ot}),n.d(t,"Fog",function(){return Tt}),n.d(t,"Scene",function(){return Pt}),n.d(t,"LensFlare",function(){return St}),n.d(t,"Sprite",function(){return Rt}),n.d(t,"LOD",function(){return At}),n.d(t,"SkinnedMesh",function(){return Lt}),n.d(t,"Skeleton",function(){return Dt}),n.d(t,"Bone",function(){return kt}),n.d(t,"Mesh",function(){return Be}),n.d(t,"LineSegments",function(){return Nt}),n.d(t,"LineLoop",function(){return Ut}),n.d(t,"Line",function(){return It}),n.d(t,"Points",function(){return Bt}),n.d(t,"Group",function(){return zt}),n.d(t,"VideoTexture",function(){return Ht}),n.d(t,"DataTexture",function(){return f}),n.d(t,"CompressedTexture",function(){return Vt}),n.d(t,"CubeTexture",function(){return h}),n.d(t,"CanvasTexture",function(){return Q}),n.d(t,"DepthTexture",function(){return Gt}),n.d(t,"Texture",function(){return o}),n.d(t,"CompressedTextureLoader",function(){return zn}),n.d(t,"DataTextureLoader",function(){return Hn}),n.d(t,"CubeTextureLoader",function(){return Gn}),n.d(t,"TextureLoader",function(){return Wn}),n.d(t,"ObjectLoader",function(){return _r}),n.d(t,"MaterialLoader",function(){return vr}),n.d(t,"BufferGeometryLoader",function(){return yr}),n.d(t,"DefaultLoadingManager",function(){return eu}),n.d(t,"LoadingManager",function(){return Fn}),n.d(t,"JSONLoader",function(){return br}),n.d(t,"ImageLoader",function(){return Vn}),n.d(t,"FontLoader",function(){return Hr}),n.d(t,"FileLoader",function(){return Bn}),n.d(t,"Loader",function(){return gr}),n.d(t,"Cache",function(){return $s}),n.d(t,"AudioLoader",function(){return Vr}),n.d(t,"SpotLightShadow",function(){return Kn}),n.d(t,"SpotLight",function(){return Zn}),n.d(t,"PointLight",function(){return Qn}),n.d(t,"RectAreaLight",function(){return tr}),n.d(t,"HemisphereLight",function(){return Xn}),n.d(t,"DirectionalLightShadow",function(){return Jn}),n.d(t,"DirectionalLight",function(){return $n}),n.d(t,"AmbientLight",function(){return er}),n.d(t,"LightShadow",function(){return Yn}),n.d(t,"Light",function(){return qn}),n.d(t,"StereoCamera",function(){return Gr}),n.d(t,"PerspectiveCamera",function(){return me}),n.d(t,"OrthographicCamera",function(){return de}),n.d(t,"CubeCamera",function(){return Wr}),n.d(t,"ArrayCamera",function(){return bt}),n.d(t,"Camera",function(){return he}),n.d(t,"AudioListener",function(){return qr}),n.d(t,"PositionalAudio",function(){return Yr}),n.d(t,"AudioContext",function(){return cu}),n.d(t,"AudioAnalyser",function(){return Kr}),n.d(t,"Audio",function(){return Xr}),n.d(t,"VectorKeyframeTrack",function(){return sr}),n.d(t,"StringKeyframeTrack",function(){return pr}),n.d(t,"QuaternionKeyframeTrack",function(){return cr}),n.d(t,"NumberKeyframeTrack",function(){return lr}),n.d(t,"ColorKeyframeTrack",function(){return hr}),n.d(t,"BooleanKeyframeTrack",function(){return fr}),n.d(t,"PropertyMixer",function(){return Zr}),n.d(t,"PropertyBinding",function(){return Jr}),n.d(t,"KeyframeTrack",function(){return dr}),n.d(t,"AnimationUtils",function(){return tu}),n.d(t,"AnimationObjectGroup",function(){return $r}),n.d(t,"AnimationMixer",function(){return ti}),n.d(t,"AnimationClip",function(){return mr}),n.d(t,"Uniform",function(){return ni}),n.d(t,"InstancedBufferGeometry",function(){return ri}),n.d(t,"BufferGeometry",function(){return Ae}),n.d(t,"GeometryIdCount",function(){return ye}),n.d(t,"Geometry",function(){return ge}),n.d(t,"InterleavedBufferAttribute",function(){return ii}),n.d(t,"InstancedInterleavedBuffer",function(){return ai}),n.d(t,"InterleavedBuffer",function(){return oi}),n.d(t,"InstancedBufferAttribute",function(){return si}),n.d(t,"Face3",function(){return ve}),n.d(t,"Object3D",function(){return fe}),n.d(t,"Raycaster",function(){return ui}),n.d(t,"Layers",function(){return pe}),n.d(t,"EventDispatcher",function(){return r}),n.d(t,"Clock",function(){return pi}),n.d(t,"QuaternionLinearInterpolant",function(){return ur}),n.d(t,"LinearInterpolant",function(){return ir}),n.d(t,"DiscreteInterpolant",function(){return or}),n.d(t,"CubicInterpolant",function(){return rr}),n.d(t,"Interpolant",function(){return nr}),n.d(t,"Triangle",function(){return Fe}),n.d(t,"Math",function(){return Ds}),n.d(t,"Spherical",function(){return fi}),n.d(t,"Cylindrical",function(){return hi}),n.d(t,"Plane",function(){return ae}),n.d(t,"Frustum",function(){return se}),n.d(t,"Sphere",function(){return ie}),n.d(t,"Ray",function(){return Ne}),n.d(t,"Matrix4",function(){return p}),n.d(t,"Matrix3",function(){return oe}),n.d(t,"Box3",function(){return re}),n.d(t,"Box2",function(){return K}),n.d(t,"Line3",function(){return Ue}),n.d(t,"Euler",function(){return le}),n.d(t,"Vector4",function(){return a}),n.d(t,"Vector3",function(){return l}),n.d(t,"Vector2",function(){return i}),n.d(t,"Quaternion",function(){return c}),n.d(t,"Color",function(){return Y}),n.d(t,"ImmediateRenderObject",function(){return di}),n.d(t,"VertexNormalsHelper",function(){return mi}),n.d(t,"SpotLightHelper",function(){return vi}),n.d(t,"SkeletonHelper",function(){return gi}),n.d(t,"PointLightHelper",function(){return bi}),n.d(t,"RectAreaLightHelper",function(){return _i}),n.d(t,"HemisphereLightHelper",function(){return wi}),n.d(t,"GridHelper",function(){return xi}),n.d(t,"PolarGridHelper",function(){return Ei}),n.d(t,"FaceNormalsHelper",function(){return Mi}),n.d(t,"DirectionalLightHelper",function(){return Oi}),n.d(t,"CameraHelper",function(){return Ti}),n.d(t,"BoxHelper",function(){return Pi}),n.d(t,"Box3Helper",function(){return Si}),n.d(t,"PlaneHelper",function(){return Ci}),n.d(t,"ArrowHelper",function(){return Ri}),n.d(t,"AxisHelper",function(){return Ai}),n.d(t,"CatmullRomCurve3",function(){return ki}),n.d(t,"CubicBezierCurve3",function(){return Li}),n.d(t,"QuadraticBezierCurve3",function(){return ji}),n.d(t,"LineCurve3",function(){return Ii}),n.d(t,"ArcCurve",function(){return Ni}),n.d(t,"EllipseCurve",function(){return Lr}),n.d(t,"SplineCurve",function(){return jr}),n.d(t,"CubicBezierCurve",function(){return Ir}),n.d(t,"QuadraticBezierCurve",function(){return Nr}),n.d(t,"LineCurve",function(){return Dr}),n.d(t,"Shape",function(){return Fr}),n.d(t,"Path",function(){return Ur}),n.d(t,"ShapePath",function(){return Br}),n.d(t,"Font",function(){return zr}),n.d(t,"CurvePath",function(){return kr}),n.d(t,"Curve",function(){return Ar}),n.d(t,"ShapeUtils",function(){return Zs}),n.d(t,"SceneUtils",function(){return vu}),n.d(t,"WebGLUtils",function(){return Et}),n.d(t,"WireframeGeometry",function(){return Wt}),n.d(t,"ParametricGeometry",function(){return qt}),n.d(t,"ParametricBufferGeometry",function(){return Xt}),n.d(t,"TetrahedronGeometry",function(){return Zt}),n.d(t,"TetrahedronBufferGeometry",function(){return Qt}),n.d(t,"OctahedronGeometry",function(){return Jt}),n.d(t,"OctahedronBufferGeometry",function(){return $t}),n.d(t,"IcosahedronGeometry",function(){return en}),n.d(t,"IcosahedronBufferGeometry",function(){return tn}),n.d(t,"DodecahedronGeometry",function(){return nn}),n.d(t,"DodecahedronBufferGeometry",function(){return rn}),n.d(t,"PolyhedronGeometry",function(){return Yt}),n.d(t,"PolyhedronBufferGeometry",function(){return Kt}),n.d(t,"TubeGeometry",function(){return on}),n.d(t,"TubeBufferGeometry",function(){return an}),n.d(t,"TorusKnotGeometry",function(){return sn}),n.d(t,"TorusKnotBufferGeometry",function(){return un}),n.d(t,"TorusGeometry",function(){return cn}),n.d(t,"TorusBufferGeometry",function(){return ln}),n.d(t,"TextGeometry",function(){return hn}),n.d(t,"TextBufferGeometry",function(){return dn}),n.d(t,"SphereGeometry",function(){return mn}),n.d(t,"SphereBufferGeometry",function(){return vn}),n.d(t,"RingGeometry",function(){return yn}),n.d(t,"RingBufferGeometry",function(){return gn}),n.d(t,"PlaneGeometry",function(){return Le}),n.d(t,"PlaneBufferGeometry",function(){return je}),n.d(t,"LatheGeometry",function(){return bn}),n.d(t,"LatheBufferGeometry",function(){return _n}),n.d(t,"ShapeGeometry",function(){return wn}),n.d(t,"ShapeBufferGeometry",function(){return xn}),n.d(t,"ExtrudeGeometry",function(){return pn}),n.d(t,"ExtrudeBufferGeometry",function(){return fn}),n.d(t,"EdgesGeometry",function(){return En}),n.d(t,"ConeGeometry",function(){return Tn}),n.d(t,"ConeBufferGeometry",function(){return Pn}),n.d(t,"CylinderGeometry",function(){return Mn}),n.d(t,"CylinderBufferGeometry",function(){return On}),n.d(t,"CircleGeometry",function(){return Sn}),n.d(t,"CircleBufferGeometry",function(){return Cn}),n.d(t,"BoxGeometry",function(){return De}),n.d(t,"BoxBufferGeometry",function(){return ke}),n.d(t,"ShadowMaterial",function(){return Rn}),n.d(t,"SpriteMaterial",function(){return Ct}),n.d(t,"RawShaderMaterial",function(){return An});n.d(t,"ShaderMaterial",function(){return ee}),n.d(t,"PointsMaterial",function(){return Ft}),n.d(t,"MeshPhysicalMaterial",function(){return kn}),n.d(t,"MeshStandardMaterial",function(){return Dn}),n.d(t,"MeshPhongMaterial",function(){return Ln}),n.d(t,"MeshToonMaterial",function(){return jn}),n.d(t,"MeshNormalMaterial",function(){return In}),n.d(t,"MeshLambertMaterial",function(){return Nn}),n.d(t,"MeshDepthMaterial",function(){return te}),n.d(t,"MeshDistanceMaterial",function(){return ne}),n.d(t,"MeshBasicMaterial",function(){return Ie}),n.d(t,"LineDashedMaterial",function(){return Un}),n.d(t,"LineBasicMaterial",function(){return jt}),n.d(t,"Material",function(){return $}),n.d(t,"Float64BufferAttribute",function(){return Se}),n.d(t,"Float32BufferAttribute",function(){return Pe}),n.d(t,"Uint32BufferAttribute",function(){return Te}),n.d(t,"Int32BufferAttribute",function(){return Oe}),n.d(t,"Uint16BufferAttribute",function(){return Me}),n.d(t,"Int16BufferAttribute",function(){return Ee}),n.d(t,"Uint8ClampedBufferAttribute",function(){return xe}),n.d(t,"Uint8BufferAttribute",function(){return we}),n.d(t,"Int8BufferAttribute",function(){return _e}),n.d(t,"BufferAttribute",function(){return be}),n.d(t,"REVISION",function(){return mo}),n.d(t,"MOUSE",function(){return vo}),n.d(t,"CullFaceNone",function(){return yo}),n.d(t,"CullFaceBack",function(){return go}),n.d(t,"CullFaceFront",function(){return bo}),n.d(t,"CullFaceFrontBack",function(){return _o}),n.d(t,"FrontFaceDirectionCW",function(){return wo}),n.d(t,"FrontFaceDirectionCCW",function(){return xo}),n.d(t,"BasicShadowMap",function(){return Eo}),n.d(t,"PCFShadowMap",function(){return Mo}),n.d(t,"PCFSoftShadowMap",function(){return Oo}),n.d(t,"FrontSide",function(){return To}),n.d(t,"BackSide",function(){return Po}),n.d(t,"DoubleSide",function(){return So}),n.d(t,"FlatShading",function(){return Co}),n.d(t,"SmoothShading",function(){return Ro}),n.d(t,"NoColors",function(){return Ao}),n.d(t,"FaceColors",function(){return Do}),n.d(t,"VertexColors",function(){return ko}),n.d(t,"NoBlending",function(){return Lo}),n.d(t,"NormalBlending",function(){return jo}),n.d(t,"AdditiveBlending",function(){return Io}),n.d(t,"SubtractiveBlending",function(){return No}),n.d(t,"MultiplyBlending",function(){return Uo}),n.d(t,"CustomBlending",function(){return Fo}),n.d(t,"AddEquation",function(){return Bo}),n.d(t,"SubtractEquation",function(){return zo}),n.d(t,"ReverseSubtractEquation",function(){return Ho}),n.d(t,"MinEquation",function(){return Vo}),n.d(t,"MaxEquation",function(){return Go}),n.d(t,"ZeroFactor",function(){return Wo}),n.d(t,"OneFactor",function(){return qo}),n.d(t,"SrcColorFactor",function(){return Xo}),n.d(t,"OneMinusSrcColorFactor",function(){return Yo}),n.d(t,"SrcAlphaFactor",function(){return Ko}),n.d(t,"OneMinusSrcAlphaFactor",function(){return Zo}),n.d(t,"DstAlphaFactor",function(){return Qo}),n.d(t,"OneMinusDstAlphaFactor",function(){return Jo}),n.d(t,"DstColorFactor",function(){return $o}),n.d(t,"OneMinusDstColorFactor",function(){return ea}),n.d(t,"SrcAlphaSaturateFactor",function(){return ta}),n.d(t,"NeverDepth",function(){return na}),n.d(t,"AlwaysDepth",function(){return ra}),n.d(t,"LessDepth",function(){return ia}),n.d(t,"LessEqualDepth",function(){return oa}),n.d(t,"EqualDepth",function(){return aa}),n.d(t,"GreaterEqualDepth",function(){return sa}),n.d(t,"GreaterDepth",function(){return ua}),n.d(t,"NotEqualDepth",function(){return ca}),n.d(t,"MultiplyOperation",function(){return la}),n.d(t,"MixOperation",function(){return pa}),n.d(t,"AddOperation",function(){return fa}),n.d(t,"NoToneMapping",function(){return ha}),n.d(t,"LinearToneMapping",function(){return da}),n.d(t,"ReinhardToneMapping",function(){return ma}),n.d(t,"Uncharted2ToneMapping",function(){return va}),n.d(t,"CineonToneMapping",function(){return ya}),n.d(t,"UVMapping",function(){return ga}),n.d(t,"CubeReflectionMapping",function(){return ba}),n.d(t,"CubeRefractionMapping",function(){return _a}),n.d(t,"EquirectangularReflectionMapping",function(){return wa}),n.d(t,"EquirectangularRefractionMapping",function(){return xa}),n.d(t,"SphericalReflectionMapping",function(){return Ea}),n.d(t,"CubeUVReflectionMapping",function(){return Ma}),n.d(t,"CubeUVRefractionMapping",function(){return Oa}),n.d(t,"RepeatWrapping",function(){return Ta}),n.d(t,"ClampToEdgeWrapping",function(){return Pa}),n.d(t,"MirroredRepeatWrapping",function(){return Sa}),n.d(t,"NearestFilter",function(){return Ca}),n.d(t,"NearestMipMapNearestFilter",function(){return Ra}),n.d(t,"NearestMipMapLinearFilter",function(){return Aa}),n.d(t,"LinearFilter",function(){return Da}),n.d(t,"LinearMipMapNearestFilter",function(){return ka}),n.d(t,"LinearMipMapLinearFilter",function(){return La}),n.d(t,"UnsignedByteType",function(){return ja}),n.d(t,"ByteType",function(){return Ia}),n.d(t,"ShortType",function(){return Na}),n.d(t,"UnsignedShortType",function(){return Ua}),n.d(t,"IntType",function(){return Fa}),n.d(t,"UnsignedIntType",function(){return Ba}),n.d(t,"FloatType",function(){return za}),n.d(t,"HalfFloatType",function(){return Ha}),n.d(t,"UnsignedShort4444Type",function(){return Va}),n.d(t,"UnsignedShort5551Type",function(){return Ga}),n.d(t,"UnsignedShort565Type",function(){return Wa}),n.d(t,"UnsignedInt248Type",function(){return qa}),n.d(t,"AlphaFormat",function(){return Xa}),n.d(t,"RGBFormat",function(){return Ya}),n.d(t,"RGBAFormat",function(){return Ka}),n.d(t,"LuminanceFormat",function(){return Za}),n.d(t,"LuminanceAlphaFormat",function(){return Qa}),n.d(t,"RGBEFormat",function(){return Ja}),n.d(t,"DepthFormat",function(){return $a}),n.d(t,"DepthStencilFormat",function(){return es}),n.d(t,"RGB_S3TC_DXT1_Format",function(){return ts}),n.d(t,"RGBA_S3TC_DXT1_Format",function(){return ns}),n.d(t,"RGBA_S3TC_DXT3_Format",function(){return rs}),n.d(t,"RGBA_S3TC_DXT5_Format",function(){return is}),n.d(t,"RGB_PVRTC_4BPPV1_Format",function(){return os}),n.d(t,"RGB_PVRTC_2BPPV1_Format",function(){return as}),n.d(t,"RGBA_PVRTC_4BPPV1_Format",function(){return ss}),n.d(t,"RGBA_PVRTC_2BPPV1_Format",function(){return us}),n.d(t,"RGB_ETC1_Format",function(){return cs}),n.d(t,"LoopOnce",function(){return ls}),n.d(t,"LoopRepeat",function(){return ps}),n.d(t,"LoopPingPong",function(){return fs}),n.d(t,"InterpolateDiscrete",function(){return hs}),n.d(t,"InterpolateLinear",function(){return ds}),n.d(t,"InterpolateSmooth",function(){return ms}),n.d(t,"ZeroCurvatureEnding",function(){return vs}),n.d(t,"ZeroSlopeEnding",function(){return ys}),n.d(t,"WrapAroundEnding",function(){return gs}),n.d(t,"TrianglesDrawMode",function(){return bs}),n.d(t,"TriangleStripDrawMode",function(){return _s}),n.d(t,"TriangleFanDrawMode",function(){return ws}),n.d(t,"LinearEncoding",function(){return xs}),n.d(t,"sRGBEncoding",function(){return Es}),n.d(t,"GammaEncoding",function(){return Ms}),n.d(t,"RGBEEncoding",function(){return Os}),n.d(t,"LogLuvEncoding",function(){return Ts}),n.d(t,"RGBM7Encoding",function(){return Ps}),n.d(t,"RGBM16Encoding",function(){return Ss}),n.d(t,"RGBDEncoding",function(){return Cs}),n.d(t,"BasicDepthPacking",function(){return Rs}),n.d(t,"RGBADepthPacking",function(){return As}),n.d(t,"CubeGeometry",function(){return De}),n.d(t,"Face4",function(){return Ui}),n.d(t,"LineStrip",function(){return yu}),n.d(t,"LinePieces",function(){return gu}),n.d(t,"MeshFaceMaterial",function(){return Fi}),n.d(t,"MultiMaterial",function(){return Bi}),n.d(t,"PointCloud",function(){return zi}),n.d(t,"Particle",function(){return Hi}),n.d(t,"ParticleSystem",function(){return Vi}),n.d(t,"PointCloudMaterial",function(){return Gi}),n.d(t,"ParticleBasicMaterial",function(){return Wi}),n.d(t,"ParticleSystemMaterial",function(){return qi}),n.d(t,"Vertex",function(){return Xi}),n.d(t,"DynamicBufferAttribute",function(){return Yi}),n.d(t,"Int8Attribute",function(){return Ki}),n.d(t,"Uint8Attribute",function(){return Zi}),n.d(t,"Uint8ClampedAttribute",function(){return Qi}),n.d(t,"Int16Attribute",function(){return Ji}),n.d(t,"Uint16Attribute",function(){return $i}),n.d(t,"Int32Attribute",function(){return eo}),n.d(t,"Uint32Attribute",function(){return to}),n.d(t,"Float32Attribute",function(){return no}),n.d(t,"Float64Attribute",function(){return ro}),n.d(t,"ClosedSplineCurve3",function(){return io}),n.d(t,"SplineCurve3",function(){return oo}),n.d(t,"Spline",function(){return ao}),n.d(t,"BoundingBoxHelper",function(){return so}),n.d(t,"EdgesHelper",function(){return uo}),n.d(t,"WireframeHelper",function(){return co}),n.d(t,"XHRLoader",function(){return lo}),n.d(t,"BinaryTextureLoader",function(){return po}),n.d(t,"GeometryUtils",function(){return bu}),n.d(t,"ImageUtils",function(){return _u}),n.d(t,"Projector",function(){return fo}),n.d(t,"CanvasRenderer",function(){return ho}),void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e}),void 0===Math.sign&&(Math.sign=function(e){return e<0?-1:e>0?1:+e}),void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1;n<arguments.length;n++){var r=arguments[n];if(void 0!==r&&null!==r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t}}(),Object.assign(r.prototype,{addEventListener:function(e,t){void 0===this._listeners&&(this._listeners={});var n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)},hasEventListener:function(e,t){if(void 0===this._listeners)return!1;var n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)},removeEventListener:function(e,t){if(void 0!==this._listeners){var n=this._listeners,r=n[e];if(void 0!==r){var i=r.indexOf(t);-1!==i&&r.splice(i,1)}}},dispatchEvent:function(e){if(void 0!==this._listeners){var t=this._listeners,n=t[e.type];if(void 0!==n){e.target=this;for(var r=n.slice(0),i=0,o=r.length;i<o;i++)r[i].call(this,e)}}}});var mo="87",vo={LEFT:0,MIDDLE:1,RIGHT:2},yo=0,go=1,bo=2,_o=3,wo=0,xo=1,Eo=0,Mo=1,Oo=2,To=0,Po=1,So=2,Co=1,Ro=2,Ao=0,Do=1,ko=2,Lo=0,jo=1,Io=2,No=3,Uo=4,Fo=5,Bo=100,zo=101,Ho=102,Vo=103,Go=104,Wo=200,qo=201,Xo=202,Yo=203,Ko=204,Zo=205,Qo=206,Jo=207,$o=208,ea=209,ta=210,na=0,ra=1,ia=2,oa=3,aa=4,sa=5,ua=6,ca=7,la=0,pa=1,fa=2,ha=0,da=1,ma=2,va=3,ya=4,ga=300,ba=301,_a=302,wa=303,xa=304,Ea=305,Ma=306,Oa=307,Ta=1e3,Pa=1001,Sa=1002,Ca=1003,Ra=1004,Aa=1005,Da=1006,ka=1007,La=1008,ja=1009,Ia=1010,Na=1011,Ua=1012,Fa=1013,Ba=1014,za=1015,Ha=1016,Va=1017,Ga=1018,Wa=1019,qa=1020,Xa=1021,Ya=1022,Ka=1023,Za=1024,Qa=1025,Ja=Ka,$a=1026,es=1027,ts=2001,ns=2002,rs=2003,is=2004,os=2100,as=2101,ss=2102,us=2103,cs=2151,ls=2200,ps=2201,fs=2202,hs=2300,ds=2301,ms=2302,vs=2400,ys=2401,gs=2402,bs=0,_s=1,ws=2,xs=3e3,Es=3001,Ms=3007,Os=3002,Ts=3003,Ps=3004,Ss=3005,Cs=3006,Rs=3200,As=3201,Ds={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var e,t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),n=new Array(36),r=0;return function(){for(var i=0;i<36;i++)8===i||13===i||18===i||23===i?n[i]="-":14===i?n[i]="4":(r<=2&&(r=33554432+16777216*Math.random()|0),e=15&r,r>>=4,n[i]=t[19===i?3&e|8:e]);return n.join("")}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},euclideanModulo:function(e,t){return(e%t+t)%t},mapLinear:function(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)},lerp:function(e,t,n){return(1-n)*e+n*t},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},degToRad:function(e){return e*Ds.DEG2RAD},radToDeg:function(e){return e*Ds.RAD2DEG},isPowerOfTwo:function(e){return 0===(e&e-1)&&0!==e},nearestPowerOfTwo:function(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))},nextPowerOfTwo:function(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e}};Object.defineProperties(i.prototype,{width:{get:function(){return this.x},set:function(e){this.x=e}},height:{get:function(){return this.y},set:function(e){this.y=e}}}),Object.assign(i.prototype,{isVector2:!0,set:function(e,t){return this.x=e,this.y=t,this},setScalar:function(e){return this.x=e,this.y=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(e){return this.x=e.x,this.y=e.y,this},add:function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)},addScalar:function(e){return this.x+=e,this.y+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this},sub:function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)},subScalar:function(e){return this.x-=e,this.y-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this},multiply:function(e){return this.x*=e.x,this.y*=e.y,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this},divide:function(e){return this.x/=e.x,this.y/=e.y,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this},clampScalar:function(){var e=new i,t=new i;return function(n,r){return e.set(n,n),t.set(r,r),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(e){return this.x*e.x+this.y*e.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var e=Math.atan2(this.y,this.x);return e<0&&(e+=2*Math.PI),e},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y;return t*t+n*n},distanceToManhattan:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this},rotateAround:function(e,t){var n=Math.cos(t),r=Math.sin(t),i=this.x-e.x,o=this.y-e.y;return this.x=i*n-o*r+e.x,this.y=i*r+o*n+e.y,this}});var ks=0;o.DEFAULT_IMAGE=void 0,o.DEFAULT_MAPPING=ga,Object.defineProperty(o.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(o.prototype,r.prototype,{constructor:o,isTexture:!0,clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this},toJSON:function(e){if(void 0!==e.textures[this.uuid])return e.textures[this.uuid];var t={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var n=this.image;void 0===n.uuid&&(n.uuid=Ds.generateUUID()),void 0===e.images[n.uuid]&&(e.images[n.uuid]={uuid:n.uuid,url:function(e){var t;if(e instanceof HTMLCanvasElement)t=e;else{t=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),t.width=e.width,t.height=e.height;var n=t.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height)}return t.width>2048||t.height>2048?t.toDataURL("image/jpeg",.6):t.toDataURL("image/png")}(n)}),t.image=n.uuid}return e.textures[this.uuid]=t,t},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(e){if(this.mapping===ga){if(e.multiply(this.repeat),e.add(this.offset),e.x<0||e.x>1)switch(this.wrapS){case Ta:e.x=e.x-Math.floor(e.x);break;case Pa:e.x=e.x<0?0:1;break;case Sa:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case Ta:e.y=e.y-Math.floor(e.y);break;case Pa:e.y=e.y<0?0:1;break;case Sa:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}this.flipY&&(e.y=1-e.y)}}}),Object.assign(a.prototype,{isVector4:!0,set:function(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this.w=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setW:function(e){return this.w=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this},add:function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this},sub:function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this},applyMatrix4:function(e){var t=this.x,n=this.y,r=this.z,i=this.w,o=e.elements;return this.x=o[0]*t+o[4]*n+o[8]*r+o[12]*i,this.y=o[1]*t+o[5]*n+o[9]*r+o[13]*i,this.z=o[2]*t+o[6]*n+o[10]*r+o[14]*i,this.w=o[3]*t+o[7]*n+o[11]*r+o[15]*i,this},divideScalar:function(e){return this.multiplyScalar(1/e)},setAxisAngleFromQuaternion:function(e){this.w=2*Math.acos(e.w);var t=Math.sqrt(1-e.w*e.w);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this},setAxisAngleFromRotationMatrix:function(e){var t,n,r,i,o=e.elements,a=o[0],s=o[4],u=o[8],c=o[1],l=o[5],p=o[9],f=o[2],h=o[6],d=o[10];if(Math.abs(s-c)<.01&&Math.abs(u-f)<.01&&Math.abs(p-h)<.01){if(Math.abs(s+c)<.1&&Math.abs(u+f)<.1&&Math.abs(p+h)<.1&&Math.abs(a+l+d-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;var m=(a+1)/2,v=(l+1)/2,y=(d+1)/2,g=(s+c)/4,b=(u+f)/4,_=(p+h)/4;return m>v&&m>y?m<.01?(n=0,r=.707106781,i=.707106781):(n=Math.sqrt(m),r=g/n,i=b/n):v>y?v<.01?(n=.707106781,r=0,i=.707106781):(r=Math.sqrt(v),n=g/r,i=_/r):y<.01?(n=.707106781,r=.707106781,i=0):(i=Math.sqrt(y),n=b/i,r=_/i),this.set(n,r,i,t),this}var w=Math.sqrt((h-p)*(h-p)+(u-f)*(u-f)+(c-s)*(c-s));return Math.abs(w)<.001&&(w=1),this.x=(h-p)/w,this.y=(u-f)/w,this.z=(c-s)/w,this.w=Math.acos((a+l+d-1)/2),this},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this},clampScalar:function(){var e,t;return function(n,r){return void 0===e&&(e=new a,t=new a),e.set(n,n,n,n),t.set(r,r,r,r),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}}),Object.assign(s.prototype,r.prototype,{isWebGLRenderTarget:!0,setSize:function(e,t){this.width===e&&this.height===t||(this.width=e,this.height=t,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.width=e.width,this.height=e.height,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),u.prototype=Object.create(s.prototype),u.prototype.constructor=u,u.prototype.isWebGLRenderTargetCube=!0,Object.assign(c,{slerp:function(e,t,n,r){return n.copy(e).slerp(t,r)},slerpFlat:function(e,t,n,r,i,o,a){var s=n[r+0],u=n[r+1],c=n[r+2],l=n[r+3],p=i[o+0],f=i[o+1],h=i[o+2],d=i[o+3];if(l!==d||s!==p||u!==f||c!==h){var m=1-a,v=s*p+u*f+c*h+l*d,y=v>=0?1:-1,g=1-v*v;if(g>Number.EPSILON){var b=Math.sqrt(g),_=Math.atan2(b,v*y);m=Math.sin(m*_)/b,a=Math.sin(a*_)/b}var w=a*y;if(s=s*m+p*w,u=u*m+f*w,c=c*m+h*w,l=l*m+d*w,m===1-a){var x=1/Math.sqrt(s*s+u*u+c*c+l*l);s*=x,u*=x,c*=x,l*=x}}e[t]=s,e[t+1]=u,e[t+2]=c,e[t+3]=l}}),Object.defineProperties(c.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(e){this._y=e,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(e){this._z=e,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(e){this._w=e,this.onChangeCallback()}}}),Object.assign(c.prototype,{set:function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this.onChangeCallback(),this},setFromEuler:function(e,t){if(!e||!e.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=e._x,r=e._y,i=e._z,o=e.order,a=Math.cos,s=Math.sin,u=a(n/2),c=a(r/2),l=a(i/2),p=s(n/2),f=s(r/2),h=s(i/2);return"XYZ"===o?(this._x=p*c*l+u*f*h,this._y=u*f*l-p*c*h,this._z=u*c*h+p*f*l,this._w=u*c*l-p*f*h):"YXZ"===o?(this._x=p*c*l+u*f*h,this._y=u*f*l-p*c*h,this._z=u*c*h-p*f*l,this._w=u*c*l+p*f*h):"ZXY"===o?(this._x=p*c*l-u*f*h,this._y=u*f*l+p*c*h,this._z=u*c*h+p*f*l,this._w=u*c*l-p*f*h):"ZYX"===o?(this._x=p*c*l-u*f*h,this._y=u*f*l+p*c*h,this._z=u*c*h-p*f*l,this._w=u*c*l+p*f*h):"YZX"===o?(this._x=p*c*l+u*f*h,this._y=u*f*l+p*c*h,this._z=u*c*h-p*f*l,this._w=u*c*l-p*f*h):"XZY"===o&&(this._x=p*c*l-u*f*h,this._y=u*f*l-p*c*h,this._z=u*c*h+p*f*l,this._w=u*c*l+p*f*h),!1!==t&&this.onChangeCallback(),this},setFromAxisAngle:function(e,t){var n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this.onChangeCallback(),this},setFromRotationMatrix:function(e){var t,n=e.elements,r=n[0],i=n[4],o=n[8],a=n[1],s=n[5],u=n[9],c=n[2],l=n[6],p=n[10],f=r+s+p;return f>0?(t=.5/Math.sqrt(f+1),this._w=.25/t,this._x=(l-u)*t,this._y=(o-c)*t,this._z=(a-i)*t):r>s&&r>p?(t=2*Math.sqrt(1+r-s-p),this._w=(l-u)/t,this._x=.25*t,this._y=(i+a)/t,this._z=(o+c)/t):s>p?(t=2*Math.sqrt(1+s-r-p),this._w=(o-c)/t,this._x=(i+a)/t,this._y=.25*t,this._z=(u+l)/t):(t=2*Math.sqrt(1+p-r-s),this._w=(a-i)/t,this._x=(o+c)/t,this._y=(u+l)/t,this._z=.25*t),this.onChangeCallback(),this},setFromUnitVectors:function(){var e,t=new l;return function(n,r){return void 0===t&&(t=new l),e=n.dot(r)+1,e<1e-6?(e=0,Math.abs(n.x)>Math.abs(n.z)?t.set(-n.y,n.x,0):t.set(0,-n.z,n.y)):t.crossVectors(n,r),this._x=t.x,this._y=t.y,this._z=t.z,this._w=e,this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this.onChangeCallback(),this},multiply:function(e,t){return void 0!==t?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)},premultiply:function(e){return this.multiplyQuaternions(e,this)},multiplyQuaternions:function(e,t){var n=e._x,r=e._y,i=e._z,o=e._w,a=t._x,s=t._y,u=t._z,c=t._w;return this._x=n*c+o*a+r*u-i*s,this._y=r*c+o*s+i*a-n*u,this._z=i*c+o*u+n*s-r*a,this._w=o*c-n*a-r*s-i*u,this.onChangeCallback(),this},slerp:function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var n=this._x,r=this._y,i=this._z,o=this._w,a=o*e._w+n*e._x+r*e._y+i*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=n,this._y=r,this._z=i,this;var s=Math.sqrt(1-a*a);if(Math.abs(s)<.001)return this._w=.5*(o+this._w),this._x=.5*(n+this._x),this._y=.5*(r+this._y),this._z=.5*(i+this._z),this;var u=Math.atan2(s,a),c=Math.sin((1-t)*u)/s,l=Math.sin(t*u)/s;return this._w=o*c+this._w*l,this._x=n*c+this._x*l,this._y=r*c+this._y*l,this._z=i*c+this._z*l,this.onChangeCallback(),this},equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w},fromArray:function(e,t){return void 0===t&&(t=0),this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}}),Object.assign(l.prototype,{isVector3:!0,set:function(e,t,n){return this.x=e,this.y=t,this.z=n,this},setScalar:function(e){return this.x=e,this.y=e,this.z=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setZ:function(e){return this.z=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},add:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)},addScalar:function(e){return this.x+=e,this.y+=e,this.z+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this},sub:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)},subScalar:function(e){return this.x-=e,this.y-=e,this.z-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},multiply:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)},multiplyScalar:function(e){return this.x*=e,this.y*=e,this.z*=e,this},multiplyVectors:function(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this},applyEuler:function(){var e=new c;return function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(e.setFromEuler(t))}}(),applyAxisAngle:function(){var e=new c;return function(t,n){return this.applyQuaternion(e.setFromAxisAngle(t,n))}}(),applyMatrix3:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this},applyMatrix4:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements,o=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*o,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*o,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*o,this},applyQuaternion:function(e){var t=this.x,n=this.y,r=this.z,i=e.x,o=e.y,a=e.z,s=e.w,u=s*t+o*r-a*n,c=s*n+a*t-i*r,l=s*r+i*n-o*t,p=-i*t-o*n-a*r;return this.x=u*s+p*-i+c*-a-l*-o,this.y=c*s+p*-o+l*-i-u*-a,this.z=l*s+p*-a+u*-o-c*-i,this},project:function(){var e=new p;return function(t){return e.multiplyMatrices(t.projectionMatrix,e.getInverse(t.matrixWorld)),this.applyMatrix4(e)}}(),unproject:function(){var e=new p;return function(t){return e.multiplyMatrices(t.matrixWorld,e.getInverse(t.projectionMatrix)),this.applyMatrix4(e)}}(),transformDirection:function(e){var t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,this.normalize()},divide:function(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this},divideScalar:function(e){return this.multiplyScalar(1/e)},min:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this},max:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this},clampScalar:function(){var e=new l,t=new l;return function(n,r){return e.set(n,n,n),t.set(r,r,r),this.clamp(e,t)}}(),clampLength:function(e,t){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this},lerpVectors:function(e,t,n){return this.subVectors(t,e).multiplyScalar(n).add(e)},cross:function(e,t){if(void 0!==t)return console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t);var n=this.x,r=this.y,i=this.z;return this.x=r*e.z-i*e.y,this.y=i*e.x-n*e.z,this.z=n*e.y-r*e.x,this},crossVectors:function(e,t){var n=e.x,r=e.y,i=e.z,o=t.x,a=t.y,s=t.z;return this.x=r*s-i*a,this.y=i*o-n*s,this.z=n*a-r*o,this},projectOnVector:function(e){var t=e.dot(this)/e.lengthSq();return this.copy(e).multiplyScalar(t)},projectOnPlane:function(){var e=new l;return function(t){return e.copy(this).projectOnVector(t),this.sub(e)}}(),reflect:function(){var e=new l;return function(t){return this.sub(e.copy(t).multiplyScalar(2*this.dot(t)))}}(),angleTo:function(e){var t=this.dot(e)/Math.sqrt(this.lengthSq()*e.lengthSq());return Math.acos(Ds.clamp(t,-1,1))},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r},distanceToManhattan:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)},setFromSpherical:function(e){var t=Math.sin(e.phi)*e.radius;return this.x=t*Math.sin(e.theta),this.y=Math.cos(e.phi)*e.radius,this.z=t*Math.cos(e.theta),this},setFromCylindrical:function(e){return this.x=e.radius*Math.sin(e.theta),this.y=e.y,this.z=e.radius*Math.cos(e.theta),this},setFromMatrixPosition:function(e){var t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this},setFromMatrixScale:function(e){var t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this},setFromMatrixColumn:function(e,t){return this.fromArray(e.elements,4*t)},equals:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this.z=e[t+2],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e},fromBufferAttribute:function(e,t,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}}),Object.assign(p.prototype,{isMatrix4:!0,set:function(e,t,n,r,i,o,a,s,u,c,l,p,f,h,d,m){var v=this.elements;return v[0]=e,v[4]=t,v[8]=n,v[12]=r,v[1]=i,v[5]=o,v[9]=a,v[13]=s,v[2]=u,v[6]=c,v[10]=l,v[14]=p,v[3]=f,v[7]=h,v[11]=d,v[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new p).fromArray(this.elements)},copy:function(e){var t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],this},copyPosition:function(e){var t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this},extractBasis:function(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(e,t,n){return this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1),this},extractRotation:function(){var e=new l;return function(t){var n=this.elements,r=t.elements,i=1/e.setFromMatrixColumn(t,0).length(),o=1/e.setFromMatrixColumn(t,1).length(),a=1/e.setFromMatrixColumn(t,2).length();return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[4]=r[4]*o,n[5]=r[5]*o,n[6]=r[6]*o,n[8]=r[8]*a,n[9]=r[9]*a,n[10]=r[10]*a,this}}(),makeRotationFromEuler:function(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var t=this.elements,n=e.x,r=e.y,i=e.z,o=Math.cos(n),a=Math.sin(n),s=Math.cos(r),u=Math.sin(r),c=Math.cos(i),l=Math.sin(i);if("XYZ"===e.order){var p=o*c,f=o*l,h=a*c,d=a*l;t[0]=s*c,t[4]=-s*l,t[8]=u,t[1]=f+h*u,t[5]=p-d*u,t[9]=-a*s,t[2]=d-p*u,t[6]=h+f*u,t[10]=o*s}else if("YXZ"===e.order){var m=s*c,v=s*l,y=u*c,g=u*l;t[0]=m+g*a,t[4]=y*a-v,t[8]=o*u,t[1]=o*l,t[5]=o*c,t[9]=-a,t[2]=v*a-y,t[6]=g+m*a,t[10]=o*s}else if("ZXY"===e.order){var m=s*c,v=s*l,y=u*c,g=u*l;t[0]=m-g*a,t[4]=-o*l,t[8]=y+v*a,t[1]=v+y*a,t[5]=o*c,t[9]=g-m*a,t[2]=-o*u,t[6]=a,t[10]=o*s}else if("ZYX"===e.order){var p=o*c,f=o*l,h=a*c,d=a*l;t[0]=s*c,t[4]=h*u-f,t[8]=p*u+d,t[1]=s*l,t[5]=d*u+p,t[9]=f*u-h,t[2]=-u,t[6]=a*s,t[10]=o*s}else if("YZX"===e.order){var b=o*s,_=o*u,w=a*s,x=a*u;t[0]=s*c,t[4]=x-b*l,t[8]=w*l+_,t[1]=l,t[5]=o*c,t[9]=-a*c,t[2]=-u*c,t[6]=_*l+w,t[10]=b-x*l}else if("XZY"===e.order){var b=o*s,_=o*u,w=a*s,x=a*u;t[0]=s*c,t[4]=-l,t[8]=u*c,t[1]=b*l+x,t[5]=o*c,t[9]=_*l-w,t[2]=w*l-_,t[6]=a*c,t[10]=x*l+b}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},makeRotationFromQuaternion:function(e){var t=this.elements,n=e._x,r=e._y,i=e._z,o=e._w,a=n+n,s=r+r,u=i+i,c=n*a,l=n*s,p=n*u,f=r*s,h=r*u,d=i*u,m=o*a,v=o*s,y=o*u;return t[0]=1-(f+d),t[4]=l-y,t[8]=p+v,t[1]=l+y,t[5]=1-(c+d),t[9]=h-m,t[2]=p-v,t[6]=h+m,t[10]=1-(c+f),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},lookAt:function(){var e=new l,t=new l,n=new l;return function(r,i,o){var a=this.elements;return n.subVectors(r,i),0===n.lengthSq()&&(n.z=1),n.normalize(),e.crossVectors(o,n),0===e.lengthSq()&&(1===Math.abs(o.z)?n.x+=1e-4:n.z+=1e-4,n.normalize(),e.crossVectors(o,n)),e.normalize(),t.crossVectors(n,e),a[0]=e.x,a[4]=t.x,a[8]=n.x,a[1]=e.y,a[5]=t.y,a[9]=n.y,a[2]=e.z,a[6]=t.z,a[10]=n.z,this}}(),multiply:function(e,t){return void 0!==t?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)},premultiply:function(e){return this.multiplyMatrices(e,this)},multiplyMatrices:function(e,t){var n=e.elements,r=t.elements,i=this.elements,o=n[0],a=n[4],s=n[8],u=n[12],c=n[1],l=n[5],p=n[9],f=n[13],h=n[2],d=n[6],m=n[10],v=n[14],y=n[3],g=n[7],b=n[11],_=n[15],w=r[0],x=r[4],E=r[8],M=r[12],O=r[1],T=r[5],P=r[9],S=r[13],C=r[2],R=r[6],A=r[10],D=r[14],k=r[3],L=r[7],j=r[11],I=r[15];return i[0]=o*w+a*O+s*C+u*k,i[4]=o*x+a*T+s*R+u*L,i[8]=o*E+a*P+s*A+u*j,i[12]=o*M+a*S+s*D+u*I,i[1]=c*w+l*O+p*C+f*k,i[5]=c*x+l*T+p*R+f*L,i[9]=c*E+l*P+p*A+f*j,i[13]=c*M+l*S+p*D+f*I,i[2]=h*w+d*O+m*C+v*k,i[6]=h*x+d*T+m*R+v*L,i[10]=h*E+d*P+m*A+v*j,i[14]=h*M+d*S+m*D+v*I,i[3]=y*w+g*O+b*C+_*k,i[7]=y*x+g*T+b*R+_*L,i[11]=y*E+g*P+b*A+_*j,i[15]=y*M+g*S+b*D+_*I,this},multiplyScalar:function(e){var t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this},applyToBufferAttribute:function(){var e=new l;return function(t){for(var n=0,r=t.count;n<r;n++)e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.applyMatrix4(this),t.setXYZ(n,e.x,e.y,e.z);return t}}(),determinant:function(){var e=this.elements,t=e[0],n=e[4],r=e[8],i=e[12],o=e[1],a=e[5],s=e[9],u=e[13],c=e[2],l=e[6],p=e[10],f=e[14];return e[3]*(+i*s*l-r*u*l-i*a*p+n*u*p+r*a*f-n*s*f)+e[7]*(+t*s*f-t*u*p+i*o*p-r*o*f+r*u*c-i*s*c)+e[11]*(+t*u*l-t*a*f-i*o*l+n*o*f+i*a*c-n*u*c)+e[15]*(-r*a*c-t*s*l+t*a*p+r*o*l-n*o*p+n*s*c)},transpose:function(){var e,t=this.elements;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this},setPosition:function(e){var t=this.elements;return t[12]=e.x,t[13]=e.y,t[14]=e.z,this},getInverse:function(e,t){var n=this.elements,r=e.elements,i=r[0],o=r[1],a=r[2],s=r[3],u=r[4],c=r[5],l=r[6],p=r[7],f=r[8],h=r[9],d=r[10],m=r[11],v=r[12],y=r[13],g=r[14],b=r[15],_=h*g*p-y*d*p+y*l*m-c*g*m-h*l*b+c*d*b,w=v*d*p-f*g*p-v*l*m+u*g*m+f*l*b-u*d*b,x=f*y*p-v*h*p+v*c*m-u*y*m-f*c*b+u*h*b,E=v*h*l-f*y*l-v*c*d+u*y*d+f*c*g-u*h*g,M=i*_+o*w+a*x+s*E;if(0===M){var O="THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0";if(!0===t)throw new Error(O);return console.warn(O),this.identity()}var T=1/M;return n[0]=_*T,n[1]=(y*d*s-h*g*s-y*a*m+o*g*m+h*a*b-o*d*b)*T,n[2]=(c*g*s-y*l*s+y*a*p-o*g*p-c*a*b+o*l*b)*T,n[3]=(h*l*s-c*d*s-h*a*p+o*d*p+c*a*m-o*l*m)*T,n[4]=w*T,n[5]=(f*g*s-v*d*s+v*a*m-i*g*m-f*a*b+i*d*b)*T,n[6]=(v*l*s-u*g*s-v*a*p+i*g*p+u*a*b-i*l*b)*T,n[7]=(u*d*s-f*l*s+f*a*p-i*d*p-u*a*m+i*l*m)*T,n[8]=x*T,n[9]=(v*h*s-f*y*s-v*o*m+i*y*m+f*o*b-i*h*b)*T,n[10]=(u*y*s-v*c*s+v*o*p-i*y*p-u*o*b+i*c*b)*T,n[11]=(f*c*s-u*h*s-f*o*p+i*h*p+u*o*m-i*c*m)*T,n[12]=E*T,n[13]=(f*y*a-v*h*a+v*o*d-i*y*d-f*o*g+i*h*g)*T,n[14]=(v*c*a-u*y*a-v*o*l+i*y*l+u*o*g-i*c*g)*T,n[15]=(u*h*a-f*c*a+f*o*l-i*h*l-u*o*d+i*c*d)*T,this},scale:function(e){var t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,this},getMaxScaleOnAxis:function(){var e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))},makeTranslation:function(e,t,n){return this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this},makeRotationX:function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this},makeRotationY:function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this},makeRotationZ:function(e){var t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(e,t){var n=Math.cos(t),r=Math.sin(t),i=1-n,o=e.x,a=e.y,s=e.z,u=i*o,c=i*a;return this.set(u*o+n,u*a-r*s,u*s+r*a,0,u*a+r*s,c*a+n,c*s-r*o,0,u*s-r*a,c*s+r*o,i*s*s+n,0,0,0,0,1),this},makeScale:function(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this},makeShear:function(e,t,n){return this.set(1,t,n,0,e,1,n,0,e,t,1,0,0,0,0,1),this},compose:function(e,t,n){return this.makeRotationFromQuaternion(t),this.scale(n),this.setPosition(e),this},decompose:function(){var e=new l,t=new p;return function(n,r,i){var o=this.elements,a=e.set(o[0],o[1],o[2]).length(),s=e.set(o[4],o[5],o[6]).length(),u=e.set(o[8],o[9],o[10]).length();this.determinant()<0&&(a=-a),n.x=o[12],n.y=o[13],n.z=o[14],t.copy(this);var c=1/a,l=1/s,p=1/u;return t.elements[0]*=c,t.elements[1]*=c,t.elements[2]*=c,t.elements[4]*=l,t.elements[5]*=l,t.elements[6]*=l,t.elements[8]*=p,t.elements[9]*=p,t.elements[10]*=p,r.setFromRotationMatrix(t),i.x=a,i.y=s,i.z=u,this}}(),makePerspective:function(e,t,n,r,i,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var a=this.elements,s=2*i/(t-e),u=2*i/(n-r),c=(t+e)/(t-e),l=(n+r)/(n-r),p=-(o+i)/(o-i),f=-2*o*i/(o-i);return a[0]=s,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=u,a[9]=l,a[13]=0,a[2]=0,a[6]=0,a[10]=p,a[14]=f,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this},makeOrthographic:function(e,t,n,r,i,o){var a=this.elements,s=1/(t-e),u=1/(n-r),c=1/(o-i),l=(t+e)*s,p=(n+r)*u,f=(o+i)*c;return a[0]=2*s,a[4]=0,a[8]=0,a[12]=-l,a[1]=0,a[5]=2*u,a[9]=0,a[13]=-p,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-f,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this},equals:function(e){for(var t=this.elements,n=e.elements,r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0},fromArray:function(e,t){void 0===t&&(t=0);for(var n=0;n<16;n++)this.elements[n]=e[n+t];return this},toArray:function(e,t){void 0===e&&(e=[]),void 0===t&&(t=0);var n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e[t+9]=n[9],e[t+10]=n[10],e[t+11]=n[11],e[t+12]=n[12],e[t+13]=n[13],e[t+14]=n[14],e[t+15]=n[15],e}}),f.prototype=Object.create(o.prototype),f.prototype.constructor=f,f.prototype.isDataTexture=!0,h.prototype=Object.create(o.prototype),h.prototype.constructor=h,h.prototype.isCubeTexture=!0,Object.defineProperty(h.prototype,"images",{get:function(){return this.image},set:function(e){this.image=e}});var Ls=new o,js=new h,Is=[],Ns=[],Us=new Float32Array(16),Fs=new Float32Array(9);G.prototype.setValue=function(e,t){for(var n=this.seq,r=0,i=n.length;r!==i;++r){var o=n[r];o.setValue(e,t[o.id])}};var Bs=/([\w\d_]+)(\])?(\[|\.)?/g;X.prototype.setValue=function(e,t,n){var r=this.map[t];void 0!==r&&r.setValue(e,n,this.renderer)},X.prototype.setOptional=function(e,t,n){var r=t[n];void 0!==r&&this.setValue(e,n,r)},X.upload=function(e,t,n,r){for(var i=0,o=t.length;i!==o;++i){var a=t[i],s=n[a.id];!1!==s.needsUpdate&&a.setValue(e,s.value,r)}},X.seqWithValue=function(e,t){for(var n=[],r=0,i=e.length;r!==i;++r){var o=e[r];o.id in t&&n.push(o)}return n};var zs={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,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Object.assign(Y.prototype,{isColor:!0,r:1,g:1,b:1,set:function(e){return e&&e.isColor?this.copy(e):"number"===typeof e?this.setHex(e):"string"===typeof e&&this.setStyle(e),this},setScalar:function(e){return this.r=e,this.g=e,this.b=e,this},setHex:function(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this},setRGB:function(e,t,n){return this.r=e,this.g=t,this.b=n,this},setHSL:function(){function e(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}return function(t,n,r){if(t=Ds.euclideanModulo(t,1),n=Ds.clamp(n,0,1),r=Ds.clamp(r,0,1),0===n)this.r=this.g=this.b=r;else{var i=r<=.5?r*(1+n):r+n-r*n,o=2*r-i;this.r=e(o,i,t+1/3),this.g=e(o,i,t),this.b=e(o,i,t-1/3)}return this}}(),setStyle:function(e){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}var n;if(n=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(e)){var r,i=n[1],o=n[2];switch(i){case"rgb":case"rgba":if(r=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(r[1],10))/255,this.g=Math.min(255,parseInt(r[2],10))/255,this.b=Math.min(255,parseInt(r[3],10))/255,t(r[5]),this;if(r=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(r[1],10))/100,this.g=Math.min(100,parseInt(r[2],10))/100,this.b=Math.min(100,parseInt(r[3],10))/100,t(r[5]),this;break;case"hsl":case"hsla":if(r=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o)){var a=parseFloat(r[1])/360,s=parseInt(r[2],10)/100,u=parseInt(r[3],10)/100;return t(r[5]),this.setHSL(a,s,u)}}}else if(n=/^\#([A-Fa-f0-9]+)$/.exec(e)){var c=n[1],l=c.length;if(3===l)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2),16)/255,this;if(6===l)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}if(e&&e.length>0){var c=zs[e];void 0!==c?this.setHex(c):console.warn("THREE.Color: Unknown color "+e)}return this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(e){return this.r=e.r,this.g=e.g,this.b=e.b,this},copyGammaToLinear:function(e,t){return void 0===t&&(t=2),this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this},copyLinearToGamma:function(e,t){void 0===t&&(t=2);var n=t>0?1/t:1;return this.r=Math.pow(e.r,n),this.g=Math.pow(e.g,n),this.b=Math.pow(e.b,n),this},convertGammaToLinear:function(){var e=this.r,t=this.g,n=this.b;return this.r=e*e,this.g=t*t,this.b=n*n,this},convertLinearToGamma:function(){return this.r=Math.sqrt(this.r),this.g=Math.sqrt(this.g),this.b=Math.sqrt(this.b),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(e){var t,n,r=e||{h:0,s:0,l:0},i=this.r,o=this.g,a=this.b,s=Math.max(i,o,a),u=Math.min(i,o,a),c=(u+s)/2;if(u===s)t=0,n=0;else{var l=s-u;switch(n=c<=.5?l/(s+u):l/(2-s-u),s){case i:t=(o-a)/l+(o<a?6:0);break;case o:t=(a-i)/l+2;break;case a:t=(i-o)/l+4}t/=6}return r.h=t,r.s=n,r.l=c,r},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(e,t,n){var r=this.getHSL();return r.h+=e,r.s+=t,r.l+=n,this.setHSL(r.h,r.s,r.l),this},add:function(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this},addColors:function(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this},addScalar:function(e){return this.r+=e,this.g+=e,this.b+=e,this},sub:function(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this},multiply:function(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this},multiplyScalar:function(e){return this.r*=e,this.g*=e,this.b*=e,this},lerp:function(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this},equals:function(e){return e.r===this.r&&e.g===this.g&&e.b===this.b},fromArray:function(e,t){return void 0===t&&(t=0),this.r=e[t],this.g=e[t+1],this.b=e[t+2],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e},toJSON:function(){return this.getHex()}});var Hs={common:{diffuse:{value:new Y(15658734)},opacity:{value:1},map:{value:null},offsetRepeat:{value:new a(0,0,1,1)},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98}},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 i(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:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Y(16777215)}},lights:{ambientLightColor:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new Y(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},offsetRepeat:{value:new a(0,0,1,1)}}},Vs={merge:function(e){for(var t={},n=0;n<e.length;n++){var r=this.clone(e[n]);for(var i in r)t[i]=r[i]}return t},clone:function(e){var t={};for(var n in e){t[n]={};for(var r in e[n]){var i=e[n][r];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture)?t[n][r]=i.clone():Array.isArray(i)?t[n][r]=i.slice():t[n][r]=i}}return t}},Gs={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif\n",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif\n",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif\n",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif\n",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"\nvec3 transformed = vec3( position );\n",beginnormal_vertex:"\nvec3 objectNormal = vec3( normal );\n",bsdfs:"float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\tif( decayExponent > 0.0 ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\treturn distanceFalloff * maxDistanceCutoffFactor;\n#else\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n#endif\n\t}\n\treturn 1.0;\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE  = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS  = 0.5 / LUT_SIZE;\n\tfloat theta = acos( dot( N, V ) );\n\tvec2 uv = vec2(\n\t\tsqrt( saturate( roughness ) ),\n\t\tsaturate( theta / ( 0.5 * PI ) ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.86267 + (0.49788 + 0.01436 * y ) * y;\n\tfloat b = 3.45068 + (4.18814 + y) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = (x > 0.0) ? v : 0.5 * inversesqrt( 1.0 - x * x ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transpose( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tvec3 result = vec3( LTC_ClippedSphereFormFactor( vectorFormFactor ) );\n\treturn result;\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\n\treturn specularColor * AB.x + AB.y;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif\n",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\n\t\tvec4 plane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t\t\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\n\t\t\tvec4 plane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t\n\t#endif\n#endif\n",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvarying vec3 vViewPosition;\n#endif\n",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transpose( const in mat3 v ) {\n\tmat3 tmp;\n\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\n\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\n\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\n\treturn tmp;\n}\n",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1  (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale =  bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif\n",defaultnormal_vertex:"vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n",encodings_fragment:"  gl_FragColor = linearToOutputTexel( gl_FragColor );\n",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat M      = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM            = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat D      = max( maxRange / maxRGB, 1.0 );\n\tD            = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value )  {\n\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\n\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract(Le);\n\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\n\treturn vec4( max(vRGB, 0.0), 1.0 );\n}\n",envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif\n",envmap_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif\n",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif\n",envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif\n",fog_vertex:"\n#ifdef USE_FOG\nfogDepth = -mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n  varying float fogDepth;\n#endif\n",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif\n",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif\n",gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif\n",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif\n",lights_pars:"uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight  ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltcMat;\tuniform sampler2D ltcMag;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif\n",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif\n",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos - halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos + halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos + halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos - halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tfloat norm = texture2D( ltcMag, uv ).a;\n\t\tvec4 t = texture2D( ltcMat, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3(   1,   0, t.y ),\n\t\t\tvec3(   0, t.z,   0 ),\n\t\t\tvec3( t.w,   0, t.x )\n\t\t);\n\t\treflectedLight.directSpecular += lightColor * material.specularColor * norm * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n#define Material_BlinnShininessExponent( material )   GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material )   GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}\n",lights_template:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\n\t#endif\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\n\t#ifndef STANDARD\n\t\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\n\t#else\n\t\tvec3 clearCoatRadiance = vec3( 0.0 );\n\t#endif\n\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n",logdepthbuf_fragment:"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\n\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#ifdef USE_LOGDEPTHBUF\n\tuniform float logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n#endif\n",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n\tuniform float logDepthBufFC;\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\n\t#endif\n#endif\n",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n",map_particle_fragment:"#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform vec4 offsetRepeat;\n\tuniform sampler2D map;\n#endif\n",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif\n",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif\n",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif\n",normal_fragment:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n#endif\n#ifdef USE_NORMALMAP\n\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\n\t\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\n\t\tvec3 N = normalize( surf_norm );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = normalScale * mapN.xy;\n\t\tmat3 tsn = mat3( S, T, N );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif\n",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 1.0 - 2.0 * rgb.xyz;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256.,  256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}\n",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n",project_vertex:"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\n",dithering_fragment:"#if defined( DITHERING )\n  gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif\n",dithering_pars_fragment:"#if defined( DITHERING )\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif\n",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif\n",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif\n",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif\n",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\n",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif\n",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif\n",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix  = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n#endif\n",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n  gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n",tonemapping_pars_fragment:"#define saturate(a) clamp( a, 0.0, 1.0 )\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\n",uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform vec4 offsetRepeat;\n#endif\n",uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif\n",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n",cube_vert:"varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}\n",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\n",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n}\n",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}\n",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}\n",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldPosition );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\n",equirect_vert:"varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}\n",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}\n",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}\n",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <bsdfs>\n#include <lights_pars>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}\n",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_template>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}\n",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <lights_pars>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_template>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}\n",meshphysical_vert:"#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\nvoid main() {\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}\n",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\n",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#ifdef USE_SIZEATTENUATION\n\t\tgl_PointSize = size * ( scale / - mvPosition.z );\n\t#else\n\t\tgl_PointSize = size;\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <bsdfs>\n#include <lights_pars>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n}\n",shadow_vert:"#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n}\n"},Ws={basic:{uniforms:Vs.merge([Hs.common,Hs.specularmap,Hs.envmap,Hs.aomap,Hs.lightmap,Hs.fog]),vertexShader:Gs.meshbasic_vert,fragmentShader:Gs.meshbasic_frag},lambert:{uniforms:Vs.merge([Hs.common,Hs.specularmap,Hs.envmap,Hs.aomap,Hs.lightmap,Hs.emissivemap,Hs.fog,Hs.lights,{emissive:{value:new Y(0)}}]),vertexShader:Gs.meshlambert_vert,fragmentShader:Gs.meshlambert_frag},phong:{uniforms:Vs.merge([Hs.common,Hs.specularmap,Hs.envmap,Hs.aomap,Hs.lightmap,Hs.emissivemap,Hs.bumpmap,Hs.normalmap,Hs.displacementmap,Hs.gradientmap,Hs.fog,Hs.lights,{emissive:{value:new Y(0)},specular:{value:new Y(1118481)},shininess:{value:30}}]),vertexShader:Gs.meshphong_vert,fragmentShader:Gs.meshphong_frag},standard:{uniforms:Vs.merge([Hs.common,Hs.envmap,Hs.aomap,Hs.lightmap,Hs.emissivemap,Hs.bumpmap,Hs.normalmap,Hs.displacementmap,Hs.roughnessmap,Hs.metalnessmap,Hs.fog,Hs.lights,{emissive:{value:new Y(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:Gs.meshphysical_vert,fragmentShader:Gs.meshphysical_frag},points:{uniforms:Vs.merge([Hs.points,Hs.fog]),vertexShader:Gs.points_vert,fragmentShader:Gs.points_frag},dashed:{uniforms:Vs.merge([Hs.common,Hs.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Gs.linedashed_vert,fragmentShader:Gs.linedashed_frag},depth:{uniforms:Vs.merge([Hs.common,Hs.displacementmap]),vertexShader:Gs.depth_vert,fragmentShader:Gs.depth_frag},normal:{uniforms:Vs.merge([Hs.common,Hs.bumpmap,Hs.normalmap,Hs.displacementmap,{opacity:{value:1}}]),vertexShader:Gs.normal_vert,fragmentShader:Gs.normal_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Gs.cube_vert,fragmentShader:Gs.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Gs.equirect_vert,fragmentShader:Gs.equirect_frag},distanceRGBA:{uniforms:Vs.merge([Hs.common,Hs.displacementmap,{referencePosition:{value:new l},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Gs.distanceRGBA_vert,fragmentShader:Gs.distanceRGBA_frag},shadow:{uniforms:Vs.merge([Hs.lights,{color:{value:new Y(0)},opacity:{value:1}}]),vertexShader:Gs.shadow_vert,fragmentShader:Gs.shadow_frag}};Ws.physical={uniforms:Vs.merge([Ws.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:Gs.meshphysical_vert,fragmentShader:Gs.meshphysical_frag},Object.assign(K.prototype,{set:function(e,t){return this.min.copy(e),this.max.copy(t),this},setFromPoints:function(e){this.makeEmpty();for(var t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this},setFromCenterAndSize:function(){var e=new i;return function(t,n){var r=e.copy(n).multiplyScalar(.5);return this.min.copy(t).sub(r),this.max.copy(t).add(r),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.min.copy(e.min),this.max.copy(e.max),this},makeEmpty:function(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(e){var t=e||new i;return this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(e){var t=e||new i;return this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)},expandByPoint:function(e){return this.min.min(e),this.max.max(e),this},expandByVector:function(e){return this.min.sub(e),this.max.add(e),this},expandByScalar:function(e){return this.min.addScalar(-e),this.max.addScalar(e),this},containsPoint:function(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y},getParameter:function(e,t){return(t||new i).set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)},clampPoint:function(e,t){return(t||new i).copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new i;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}),Q.prototype=Object.create(o.prototype),Q.prototype.constructor=Q;var qs=0;Object.assign($.prototype,r.prototype,{isMaterial:!0,onBeforeCompile:function(){},setValues:function(e){if(void 0!==e)for(var t in e){var n=e[t];if(void 0!==n)if("shading"!==t){var r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]="overdraw"===t?Number(n):n:console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.")}else console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=n===Co;else console.warn("THREE.Material: '"+t+"' parameter is undefined.")}},toJSON:function(e){function t(e){var t=[];for(var n in e){var r=e[n];delete r.metadata,t.push(r)}return t}var n=void 0===e;n&&(e={textures:{},images:{}});var r={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};if(r.uuid=this.uuid,r.type=this.type,""!==this.name&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),void 0!==this.roughness&&(r.roughness=this.roughness),void 0!==this.metalness&&(r.metalness=this.metalness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),void 0!==this.shininess&&(r.shininess=this.shininess),void 0!==this.clearCoat&&(r.clearCoat=this.clearCoat),void 0!==this.clearCoatRoughness&&(r.clearCoatRoughness=this.clearCoatRoughness),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(e).uuid),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(e).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(e).uuid,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(e).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(e).uuid,r.reflectivity=this.reflectivity),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.size&&(r.size=this.size),void 0!==this.sizeAttenuation&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==jo&&(r.blending=this.blending),!0===this.flatShading&&(r.flatShading=this.flatShading),this.side!==To&&(r.side=this.side),this.vertexColors!==Ao&&(r.vertexColors=this.vertexColors),this.opacity<1&&(r.opacity=this.opacity),!0===this.transparent&&(r.transparent=this.transparent),r.depthFunc=this.depthFunc,r.depthTest=this.depthTest,r.depthWrite=this.depthWrite,!0===this.dithering&&(r.dithering=!0),this.alphaTest>0&&(r.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(r.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(r.wireframe=this.wireframe),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(r.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(r.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(r.morphTargets=!0),!0===this.skinning&&(r.skinning=!0),!1===this.visible&&(r.visible=!1),"{}"!==JSON.stringify(this.userData)&&(r.userData=this.userData),n){var i=t(e.textures),o=t(e.images);i.length>0&&(r.textures=i),o.length>0&&(r.images=o)}return r},clone:function(){return(new this.constructor).copy(this)},copy:function(e){this.name=e.name,this.fog=e.fog,this.lights=e.lights,this.blending=e.blending,this.side=e.side,this.flatShading=e.flatShading,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.premultipliedAlpha=e.premultipliedAlpha,this.overdraw=e.overdraw,this.visible=e.visible,this.userData=JSON.parse(JSON.stringify(e.userData)),this.clipShadows=e.clipShadows,this.clipIntersection=e.clipIntersection;var t=e.clippingPlanes,n=null;if(null!==t){var r=t.length;n=new Array(r);for(var i=0;i!==r;++i)n[i]=t[i].clone()}return this.clippingPlanes=n,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),ee.prototype=Object.create($.prototype),ee.prototype.constructor=ee,ee.prototype.isShaderMaterial=!0,ee.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Vs.clone(e.uniforms),this.defines=e.defines,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.extensions=e.extensions,this},ee.prototype.toJSON=function(e){var t=$.prototype.toJSON.call(this,e);return t.uniforms=this.uniforms,t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t},te.prototype=Object.create($.prototype),te.prototype.constructor=te,te.prototype.isMeshDepthMaterial=!0,te.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.depthPacking=e.depthPacking,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this},ne.prototype=Object.create($.prototype),ne.prototype.constructor=ne,ne.prototype.isMeshDistanceMaterial=!0,ne.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this},Object.assign(re.prototype,{isBox3:!0,set:function(e,t){return this.min.copy(e),this.max.copy(t),this},setFromArray:function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,u=e.length;s<u;s+=3){var c=e[s],l=e[s+1],p=e[s+2];c<t&&(t=c),l<n&&(n=l),p<r&&(r=p),c>i&&(i=c),l>o&&(o=l),p>a&&(a=p)}return this.min.set(t,n,r),this.max.set(i,o,a),this},setFromBufferAttribute:function(e){for(var t=1/0,n=1/0,r=1/0,i=-1/0,o=-1/0,a=-1/0,s=0,u=e.count;s<u;s++){var c=e.getX(s),l=e.getY(s),p=e.getZ(s);c<t&&(t=c),l<n&&(n=l),p<r&&(r=p),c>i&&(i=c),l>o&&(o=l),p>a&&(a=p)}return this.min.set(t,n,r),this.max.set(i,o,a),this},setFromPoints:function(e){this.makeEmpty();for(var t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this},setFromCenterAndSize:function(){var e=new l;return function(t,n){var r=e.copy(n).multiplyScalar(.5);return this.min.copy(t).sub(r),this.max.copy(t).add(r),this}}(),setFromObject:function(e){return this.makeEmpty(),this.expandByObject(e)},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.min.copy(e.min),this.max.copy(e.max),this},makeEmpty:function(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(e){var t=e||new l;return this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(e){var t=e||new l;return this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)},expandByPoint:function(e){return this.min.min(e),this.max.max(e),this},expandByVector:function(e){return this.min.sub(e),this.max.add(e),this},expandByScalar:function(e){return this.min.addScalar(-e),this.max.addScalar(e),this},expandByObject:function(){var e=new l;return function(t){var n=this;return t.updateMatrixWorld(!0),t.traverse(function(t){var r,i,o=t.geometry;if(void 0!==o)if(o.isGeometry){var a=o.vertices;for(r=0,i=a.length;r<i;r++)e.copy(a[r]),e.applyMatrix4(t.matrixWorld),n.expandByPoint(e)}else if(o.isBufferGeometry){var s=o.attributes.position;if(void 0!==s)for(r=0,i=s.count;r<i;r++)e.fromBufferAttribute(s,r).applyMatrix4(t.matrixWorld),n.expandByPoint(e)}}),this}}(),containsPoint:function(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)},containsBox:function(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z},getParameter:function(e,t){return(t||new l).set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)},intersectsSphere:function(){var e=new l;return function(t){return this.clampPoint(t.center,e),e.distanceToSquared(t.center)<=t.radius*t.radius}}(),intersectsPlane:function(e){var t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=e.constant&&n>=e.constant},clampPoint:function(e,t){return(t||new l).copy(e).clamp(this.min,this.max)},distanceToPoint:function(){var e=new l;return function(t){return e.copy(t).clamp(this.min,this.max).sub(t).length()}}(),getBoundingSphere:function(){var e=new l;return function(t){var n=t||new ie;return this.getCenter(n.center),n.radius=.5*this.getSize(e).length(),n}}(),intersect:function(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this},union:function(e){return this.min.min(e.min),this.max.max(e.max),this},applyMatrix4:function(){var e=[new l,new l,new l,new l,new l,new l,new l,new l];return function(t){return this.isEmpty()?this:(e[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),e[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),e[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),e[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),e[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),e[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),e[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),e[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(e),this)}}(),translate:function(e){return this.min.add(e),this.max.add(e),this},equals:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}),Object.assign(ie.prototype,{set:function(e,t){return this.center.copy(e),this.radius=t,this},setFromPoints:function(){var e=new re;return function(t,n){var r=this.center;void 0!==n?r.copy(n):e.setFromPoints(t).getCenter(r);for(var i=0,o=0,a=t.length;o<a;o++)i=Math.max(i,r.distanceToSquared(t[o]));return this.radius=Math.sqrt(i),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.center.copy(e.center),this.radius=e.radius,this},empty:function(){return this.radius<=0},containsPoint:function(e){return e.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(e){return e.distanceTo(this.center)-this.radius},intersectsSphere:function(e){var t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t},intersectsBox:function(e){return e.intersectsSphere(this)},intersectsPlane:function(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius},clampPoint:function(e,t){var n=this.center.distanceToSquared(e),r=t||new l;return r.copy(e),n>this.radius*this.radius&&(r.sub(this.center).normalize(),r.multiplyScalar(this.radius).add(this.center)),r},getBoundingBox:function(e){var t=e||new re;return t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this},translate:function(e){return this.center.add(e),this},equals:function(e){return e.center.equals(this.center)&&e.radius===this.radius}}),Object.assign(oe.prototype,{isMatrix3:!0,set:function(e,t,n,r,i,o,a,s,u){var c=this.elements;return c[0]=e,c[1]=r,c[2]=a,c[3]=t,c[4]=i,c[5]=s,c[6]=n,c[7]=o,c[8]=u,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(e){var t=this.elements,n=e.elements;return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],this},setFromMatrix4:function(e){var t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},applyToBufferAttribute:function(){var e=new l;return function(t){for(var n=0,r=t.count;n<r;n++)e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.applyMatrix3(this),t.setXYZ(n,e.x,e.y,e.z);return t}}(),multiply:function(e){return this.multiplyMatrices(this,e)},premultiply:function(e){return this.multiplyMatrices(e,this)},multiplyMatrices:function(e,t){var n=e.elements,r=t.elements,i=this.elements,o=n[0],a=n[3],s=n[6],u=n[1],c=n[4],l=n[7],p=n[2],f=n[5],h=n[8],d=r[0],m=r[3],v=r[6],y=r[1],g=r[4],b=r[7],_=r[2],w=r[5],x=r[8];return i[0]=o*d+a*y+s*_,i[3]=o*m+a*g+s*w,i[6]=o*v+a*b+s*x,i[1]=u*d+c*y+l*_,i[4]=u*m+c*g+l*w,i[7]=u*v+c*b+l*x,i[2]=p*d+f*y+h*_,i[5]=p*m+f*g+h*w,i[8]=p*v+f*b+h*x,this},multiplyScalar:function(e){var t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this},determinant:function(){var e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],u=e[7],c=e[8];return t*o*c-t*a*u-n*i*c+n*a*s+r*i*u-r*o*s},getInverse:function(e,t){e&&e.isMatrix4&&console.error("THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument.");var n=e.elements,r=this.elements,i=n[0],o=n[1],a=n[2],s=n[3],u=n[4],c=n[5],l=n[6],p=n[7],f=n[8],h=f*u-c*p,d=c*l-f*s,m=p*s-u*l,v=i*h+o*d+a*m;if(0===v){var y="THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0";if(!0===t)throw new Error(y);return console.warn(y),this.identity()}var g=1/v;return r[0]=h*g,r[1]=(a*p-f*o)*g,r[2]=(c*o-a*u)*g,r[3]=d*g,r[4]=(f*i-a*l)*g,r[5]=(a*s-c*i)*g,r[6]=m*g,r[7]=(o*l-p*i)*g,r[8]=(u*i-o*s)*g,this},transpose:function(){var e,t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this},getNormalMatrix:function(e){return this.setFromMatrix4(e).getInverse(this).transpose()},transposeIntoArray:function(e){var t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this},equals:function(e){for(var t=this.elements,n=e.elements,r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0},fromArray:function(e,t){void 0===t&&(t=0);for(var n=0;n<9;n++)this.elements[n]=e[n+t];return this},toArray:function(e,t){void 0===e&&(e=[]),void 0===t&&(t=0);var n=this.elements;return e[t]=n[0],e[t+1]=n[1],e[t+2]=n[2],e[t+3]=n[3],e[t+4]=n[4],e[t+5]=n[5],e[t+6]=n[6],e[t+7]=n[7],e[t+8]=n[8],e}}),Object.assign(ae.prototype,{set:function(e,t){return this.normal.copy(e),this.constant=t,this},setComponents:function(e,t,n,r){return this.normal.set(e,t,n),this.constant=r,this},setFromNormalAndCoplanarPoint:function(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this},setFromCoplanarPoints:function(){var e=new l,t=new l;return function(n,r,i){var o=e.subVectors(i,r).cross(t.subVectors(n,r)).normalize();return this.setFromNormalAndCoplanarPoint(o,n),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.normal.copy(e.normal),this.constant=e.constant,this},normalize:function(){var e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(e){return this.normal.dot(e)+this.constant},distanceToSphere:function(e){return this.distanceToPoint(e.center)-e.radius},projectPoint:function(e,t){return(t||new l).copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)},intersectLine:function(){var e=new l;return function(t,n){var r=n||new l,i=t.delta(e),o=this.normal.dot(i);if(0!==o){var a=-(t.start.dot(this.normal)+this.constant)/o;if(!(a<0||a>1))return r.copy(i).multiplyScalar(a).add(t.start)}else if(0===this.distanceToPoint(t.start))return r.copy(t.start)}}(),intersectsLine:function(e){var t=this.distanceToPoint(e.start),n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0},intersectsBox:function(e){return e.intersectsPlane(this)},intersectsSphere:function(e){return e.intersectsPlane(this)},coplanarPoint:function(e){return(e||new l).copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var e=new l,t=new oe;return function(n,r){var i=r||t.getNormalMatrix(n),o=this.coplanarPoint(e).applyMatrix4(n),a=this.normal.applyMatrix3(i).normalize();return this.constant=-o.dot(a),this}}(),translate:function(e){return this.constant-=e.dot(this.normal),this},equals:function(e){return e.normal.equals(this.normal)&&e.constant===this.constant}}),Object.assign(se.prototype,{set:function(e,t,n,r,i,o){var a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(n),a[3].copy(r),a[4].copy(i),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){for(var t=this.planes,n=0;n<6;n++)t[n].copy(e.planes[n]);return this},setFromMatrix:function(e){var t=this.planes,n=e.elements,r=n[0],i=n[1],o=n[2],a=n[3],s=n[4],u=n[5],c=n[6],l=n[7],p=n[8],f=n[9],h=n[10],d=n[11],m=n[12],v=n[13],y=n[14],g=n[15];return t[0].setComponents(a-r,l-s,d-p,g-m).normalize(),t[1].setComponents(a+r,l+s,d+p,g+m).normalize(),t[2].setComponents(a+i,l+u,d+f,g+v).normalize(),t[3].setComponents(a-i,l-u,d-f,g-v).normalize(),t[4].setComponents(a-o,l-c,d-h,g-y).normalize(),t[5].setComponents(a+o,l+c,d+h,g+y).normalize(),this},intersectsObject:function(){var e=new ie;return function(t){var n=t.geometry;return null===n.boundingSphere&&n.computeBoundingSphere(),e.copy(n.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(e)}}(),intersectsSprite:function(){var e=new ie;return function(t){return e.center.set(0,0,0),e.radius=.7071067811865476,e.applyMatrix4(t.matrixWorld),this.intersectsSphere(e)}}(),intersectsSphere:function(e){for(var t=this.planes,n=e.center,r=-e.radius,i=0;i<6;i++){if(t[i].distanceToPoint(n)<r)return!1}return!0},intersectsBox:function(){var e=new l,t=new l;return function(n){for(var r=this.planes,i=0;i<6;i++){var o=r[i];e.x=o.normal.x>0?n.min.x:n.max.x,t.x=o.normal.x>0?n.max.x:n.min.x,e.y=o.normal.y>0?n.min.y:n.max.y,t.y=o.normal.y>0?n.max.y:n.min.y,e.z=o.normal.z>0?n.min.z:n.max.z,t.z=o.normal.z>0?n.max.z:n.min.z;var a=o.distanceToPoint(e),s=o.distanceToPoint(t);if(a<0&&s<0)return!1}return!0}}(),containsPoint:function(e){for(var t=this.planes,n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}}),le.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],le.DefaultOrder="XYZ",Object.defineProperties(le.prototype,{x:{get:function(){return this._x},set:function(e){this._x=e,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(e){this._y=e,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(e){this._z=e,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(e){this._order=e,this.onChangeCallback()}}}),Object.assign(le.prototype,{isEuler:!0,set:function(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._order=r||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this.onChangeCallback(),this},setFromRotationMatrix:function(e,t,n){var r=Ds.clamp,i=e.elements,o=i[0],a=i[4],s=i[8],u=i[1],c=i[5],l=i[9],p=i[2],f=i[6],h=i[10];return t=t||this._order,"XYZ"===t?(this._y=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-l,h),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(f,c),this._z=0)):"YXZ"===t?(this._x=Math.asin(-r(l,-1,1)),Math.abs(l)<.99999?(this._y=Math.atan2(s,h),this._z=Math.atan2(u,c)):(this._y=Math.atan2(-p,o),this._z=0)):"ZXY"===t?(this._x=Math.asin(r(f,-1,1)),Math.abs(f)<.99999?(this._y=Math.atan2(-p,h),this._z=Math.atan2(-a,c)):(this._y=0,this._z=Math.atan2(u,o))):"ZYX"===t?(this._y=Math.asin(-r(p,-1,1)),Math.abs(p)<.99999?(this._x=Math.atan2(f,h),this._z=Math.atan2(u,o)):(this._x=0,this._z=Math.atan2(-a,c))):"YZX"===t?(this._z=Math.asin(r(u,-1,1)),Math.abs(u)<.99999?(this._x=Math.atan2(-l,c),this._y=Math.atan2(-p,o)):(this._x=0,this._y=Math.atan2(s,h))):"XZY"===t?(this._z=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(this._x=Math.atan2(f,c),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-l,h),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+t),this._order=t,!1!==n&&this.onChangeCallback(),this},setFromQuaternion:function(){var e=new p;return function(t,n,r){return e.makeRotationFromQuaternion(t),this.setFromRotationMatrix(e,n,r)}}(),setFromVector3:function(e,t){return this.set(e.x,e.y,e.z,t||this._order)},reorder:function(){var e=new c;return function(t){return e.setFromEuler(this),this.setFromQuaternion(e,t)}}(),equals:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order},fromArray:function(e){return this._x=e[0],this._y=e[1],this._z=e[2],void 0!==e[3]&&(this._order=e[3]),this.onChangeCallback(),this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e},toVector3:function(e){return e?e.set(this._x,this._y,this._z):new l(this._x,this._y,this._z)},onChange:function(e){return this.onChangeCallback=e,this},onChangeCallback:function(){}}),Object.assign(pe.prototype,{set:function(e){this.mask=1<<e|0},enable:function(e){this.mask|=1<<e|0},toggle:function(e){this.mask^=1<<e|0},disable:function(e){this.mask&=~(1<<e|0)},test:function(e){return 0!==(this.mask&e.mask)}});var Xs=0;fe.DefaultUp=new l(0,1,0),fe.DefaultMatrixAutoUpdate=!0,Object.assign(fe.prototype,r.prototype,{isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix:function(e){this.matrix.multiplyMatrices(e,this.matrix),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(e){return this.quaternion.premultiply(e),this},setRotationFromAxisAngle:function(e,t){this.quaternion.setFromAxisAngle(e,t)},setRotationFromEuler:function(e){this.quaternion.setFromEuler(e,!0)},setRotationFromMatrix:function(e){this.quaternion.setFromRotationMatrix(e)},setRotationFromQuaternion:function(e){this.quaternion.copy(e)},rotateOnAxis:function(){var e=new c;return function(t,n){return e.setFromAxisAngle(t,n),this.quaternion.multiply(e),this}}(),rotateX:function(){var e=new l(1,0,0);return function(t){return this.rotateOnAxis(e,t)}}(),rotateY:function(){var e=new l(0,1,0);return function(t){return this.rotateOnAxis(e,t)}}(),rotateZ:function(){var e=new l(0,0,1);return function(t){return this.rotateOnAxis(e,t)}}(),translateOnAxis:function(){var e=new l;return function(t,n){return e.copy(t).applyQuaternion(this.quaternion),this.position.add(e.multiplyScalar(n)),this}}(),translateX:function(){var e=new l(1,0,0);return function(t){return this.translateOnAxis(e,t)}}(),translateY:function(){var e=new l(0,1,0);return function(t){return this.translateOnAxis(e,t)}}(),translateZ:function(){var e=new l(0,0,1);return function(t){return this.translateOnAxis(e,t)}}(),localToWorld:function(e){return e.applyMatrix4(this.matrixWorld)},worldToLocal:function(){var e=new p;return function(t){return t.applyMatrix4(e.getInverse(this.matrixWorld))}}(),lookAt:function(){var e=new p;return function(t){this.isCamera?e.lookAt(this.position,t,this.up):e.lookAt(t,this.position,this.up),this.quaternion.setFromRotationMatrix(e)}}(),add:function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(null!==e.parent&&e.parent.remove(e),e.parent=this,e.dispatchEvent({type:"added"}),this.children.push(e)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)},remove:function(e){if(arguments.length>1){for(var t=0;t<arguments.length;t++)this.remove(arguments[t]);return this}var n=this.children.indexOf(e);return-1!==n&&(e.parent=null,e.dispatchEvent({type:"removed"}),this.children.splice(n,1)),this},getObjectById:function(e){return this.getObjectByProperty("id",e)},getObjectByName:function(e){return this.getObjectByProperty("name",e)},getObjectByProperty:function(e,t){if(this[e]===t)return this;for(var n=0,r=this.children.length;n<r;n++){var i=this.children[n],o=i.getObjectByProperty(e,t);if(void 0!==o)return o}},getWorldPosition:function(e){var t=e||new l;return this.updateMatrixWorld(!0),t.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var e=new l,t=new l;return function(n){var r=n||new c;return this.updateMatrixWorld(!0),this.matrixWorld.decompose(e,r,t),r}}(),getWorldRotation:function(){var e=new c;return function(t){var n=t||new le;return this.getWorldQuaternion(e),n.setFromQuaternion(e,this.rotation.order,!1)}}(),getWorldScale:function(){var e=new l,t=new c;return function(n){var r=n||new l;return this.updateMatrixWorld(!0),this.matrixWorld.decompose(e,t,r),r}}(),getWorldDirection:function(){var e=new c;return function(t){var n=t||new l;return this.getWorldQuaternion(e),n.set(0,0,1).applyQuaternion(e)}}(),raycast:function(){},traverse:function(e){e(this);for(var t=this.children,n=0,r=t.length;n<r;n++)t[n].traverse(e)},traverseVisible:function(e){if(!1!==this.visible){e(this);for(var t=this.children,n=0,r=t.length;n<r;n++)t[n].traverseVisible(e)}},traverseAncestors:function(e){var t=this.parent;null!==t&&(e(t),t.traverseAncestors(e))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);for(var t=this.children,n=0,r=t.length;n<r;n++)t[n].updateMatrixWorld(e)},toJSON:function(e){function t(t,n){return void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e)),n.uuid}function n(e){var t=[];for(var n in e){var r=e[n];delete r.metadata,t.push(r)}return t}var r=void 0===e||""===e,i={};r&&(e={geometries:{},materials:{},textures:{},images:{}},i.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var o={};if(o.uuid=this.uuid,o.type=this.type,""!==this.name&&(o.name=this.name),!0===this.castShadow&&(o.castShadow=!0),!0===this.receiveShadow&&(o.receiveShadow=!0),!1===this.visible&&(o.visible=!1),"{}"!==JSON.stringify(this.userData)&&(o.userData=this.userData),o.matrix=this.matrix.toArray(),void 0!==this.geometry&&(o.geometry=t(e.geometries,this.geometry)),void 0!==this.material)if(Array.isArray(this.material)){for(var a=[],s=0,u=this.material.length;s<u;s++)a.push(t(e.materials,this.material[s]));o.material=a}else o.material=t(e.materials,this.material);if(this.children.length>0){o.children=[];for(var s=0;s<this.children.length;s++)o.children.push(this.children[s].toJSON(e).object)}if(r){var c=n(e.geometries),l=n(e.materials),p=n(e.textures),f=n(e.images);c.length>0&&(i.geometries=c),l.length>0&&(i.materials=l),p.length>0&&(i.textures=p),f.length>0&&(i.images=f)}return i.object=o,i},clone:function(e){return(new this.constructor).copy(this,e)},copy:function(e,t){if(void 0===t&&(t=!0),this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(var n=0;n<e.children.length;n++){var r=e.children[n];this.add(r.clone())}return this}}),he.prototype=Object.assign(Object.create(fe.prototype),{constructor:he,isCamera:!0,copy:function(e,t){return fe.prototype.copy.call(this,e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this},getWorldDirection:function(){var e=new c;return function(t){var n=t||new l;return this.getWorldQuaternion(e),n.set(0,0,-1).applyQuaternion(e)}}(),updateMatrixWorld:function(e){fe.prototype.updateMatrixWorld.call(this,e),this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return(new this.constructor).copy(this)}}),de.prototype=Object.assign(Object.create(he.prototype),{constructor:de,isOrthographicCamera:!0,copy:function(e,t){return he.prototype.copy.call(this,e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this},setViewOffset:function(e,t,n,r,i,o){this.view={fullWidth:e,fullHeight:t,offsetX:n,offsetY:r,width:i,height:o},this.updateProjectionMatrix()},clearViewOffset:function(){this.view=null,this.updateProjectionMatrix()},updateProjectionMatrix:function(){var e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,r=(this.top+this.bottom)/2,i=n-e,o=n+e,a=r+t,s=r-t;if(null!==this.view){var u=this.zoom/(this.view.width/this.view.fullWidth),c=this.zoom/(this.view.height/this.view.fullHeight),l=(this.right-this.left)/this.view.width,p=(this.top-this.bottom)/this.view.height;i+=l*(this.view.offsetX/u),o=i+l*(this.view.width/u),a-=p*(this.view.offsetY/c),s=a-p*(this.view.height/c)}this.projectionMatrix.makeOrthographic(i,o,a,s,this.near,this.far)},toJSON:function(e){var t=fe.prototype.toJSON.call(this,e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}),me.prototype=Object.assign(Object.create(he.prototype),{constructor:me,isPerspectiveCamera:!0,copy:function(e,t){return he.prototype.copy.call(this,e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this},setFocalLength:function(e){var t=.5*this.getFilmHeight()/e;this.fov=2*Ds.RAD2DEG*Math.atan(t),this.updateProjectionMatrix()},getFocalLength:function(){var e=Math.tan(.5*Ds.DEG2RAD*this.fov);return.5*this.getFilmHeight()/e},getEffectiveFOV:function(){return 2*Ds.RAD2DEG*Math.atan(Math.tan(.5*Ds.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(e,t,n,r,i,o){this.aspect=e/t,this.view={fullWidth:e,fullHeight:t,offsetX:n,offsetY:r,width:i,height:o},this.updateProjectionMatrix()},clearViewOffset:function(){this.view=null,this.updateProjectionMatrix()},updateProjectionMatrix:function(){var e=this.near,t=e*Math.tan(.5*Ds.DEG2RAD*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r,o=this.view;if(null!==o){var a=o.fullWidth,s=o.fullHeight;i+=o.offsetX*r/a,t-=o.offsetY*n/s,r*=o.width/a,n*=o.height/s}var u=this.filmOffset;0!==u&&(i+=e*u/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far)},toJSON:function(e){var t=fe.prototype.toJSON.call(this,e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}),Object.assign(ve.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(e){this.a=e.a,this.b=e.b,this.c=e.c,this.normal.copy(e.normal),this.color.copy(e.color),this.materialIndex=e.materialIndex;for(var t=0,n=e.vertexNormals.length;t<n;t++)this.vertexNormals[t]=e.vertexNormals[t].clone();for(var t=0,n=e.vertexColors.length;t<n;t++)this.vertexColors[t]=e.vertexColors[t].clone();return this}});var Ys=0;Object.assign(ge.prototype,r.prototype,{isGeometry:!0,applyMatrix:function(e){for(var t=(new oe).getNormalMatrix(e),n=0,r=this.vertices.length;n<r;n++){this.vertices[n].applyMatrix4(e)}for(var n=0,r=this.faces.length;n<r;n++){var i=this.faces[n];i.normal.applyMatrix3(t).normalize();for(var o=0,a=i.vertexNormals.length;o<a;o++)i.vertexNormals[o].applyMatrix3(t).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this},rotateX:function(){var e=new p;return function(t){return e.makeRotationX(t),this.applyMatrix(e),this}}(),rotateY:function(){var e=new p;return function(t){return e.makeRotationY(t),this.applyMatrix(e),this}}(),rotateZ:function(){var e=new p;return function(t){return e.makeRotationZ(t),this.applyMatrix(e),this}}(),translate:function(){var e=new p;return function(t,n,r){return e.makeTranslation(t,n,r),this.applyMatrix(e),this}}(),scale:function(){var e=new p;return function(t,n,r){return e.makeScale(t,n,r),this.applyMatrix(e),this}}(),lookAt:function(){var e=new fe;return function(t){e.lookAt(t),e.updateMatrix(),this.applyMatrix(e.matrix)}}(),fromBufferGeometry:function(e){function t(e,t,r,i){var o=void 0!==s?[f[e].clone(),f[t].clone(),f[r].clone()]:[],a=void 0!==u?[n.colors[e].clone(),n.colors[t].clone(),n.colors[r].clone()]:[],l=new ve(e,t,r,o,a,i);n.faces.push(l),void 0!==c&&n.faceVertexUvs[0].push([h[e].clone(),h[t].clone(),h[r].clone()]),void 0!==p&&n.faceVertexUvs[1].push([d[e].clone(),d[t].clone(),d[r].clone()])}var n=this,r=null!==e.index?e.index.array:void 0,o=e.attributes,a=o.position.array,s=void 0!==o.normal?o.normal.array:void 0,u=void 0!==o.color?o.color.array:void 0,c=void 0!==o.uv?o.uv.array:void 0,p=void 0!==o.uv2?o.uv2.array:void 0;void 0!==p&&(this.faceVertexUvs[1]=[]);for(var f=[],h=[],d=[],m=0,v=0;m<a.length;m+=3,v+=2)n.vertices.push(new l(a[m],a[m+1],a[m+2])),void 0!==s&&f.push(new l(s[m],s[m+1],s[m+2])),void 0!==u&&n.colors.push(new Y(u[m],u[m+1],u[m+2])),void 0!==c&&h.push(new i(c[v],c[v+1])),void 0!==p&&d.push(new i(p[v],p[v+1]));var y=e.groups;if(y.length>0)for(var m=0;m<y.length;m++)for(var g=y[m],b=g.start,_=g.count,v=b,w=b+_;v<w;v+=3)void 0!==r?t(r[v],r[v+1],r[v+2],g.materialIndex):t(v,v+1,v+2,g.materialIndex);else if(void 0!==r)for(var m=0;m<r.length;m+=3)t(r[m],r[m+1],r[m+2]);else for(var m=0;m<a.length/3;m+=3)t(m,m+1,m+2);return this.computeFaceNormals(),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),this},center:function(){this.computeBoundingBox();var e=this.boundingBox.getCenter().negate();return this.translate(e.x,e.y,e.z),e},normalize:function(){this.computeBoundingSphere();var e=this.boundingSphere.center,t=this.boundingSphere.radius,n=0===t?1:1/t,r=new p;return r.set(n,0,0,-n*e.x,0,n,0,-n*e.y,0,0,n,-n*e.z,0,0,0,1),this.applyMatrix(r),this},computeFaceNormals:function(){for(var e=new l,t=new l,n=0,r=this.faces.length;n<r;n++){var i=this.faces[n],o=this.vertices[i.a],a=this.vertices[i.b],s=this.vertices[i.c];e.subVectors(s,a),t.subVectors(o,a),e.cross(t),e.normalize(),i.normal.copy(e)}},computeVertexNormals:function(e){void 0===e&&(e=!0);var t,n,r,i,o,a;for(a=new Array(this.vertices.length),t=0,n=this.vertices.length;t<n;t++)a[t]=new l;if(e){var s,u,c,p=new l,f=new l;for(r=0,i=this.faces.length;r<i;r++)o=this.faces[r],s=this.vertices[o.a],u=this.vertices[o.b],c=this.vertices[o.c],p.subVectors(c,u),f.subVectors(s,u),p.cross(f),a[o.a].add(p),a[o.b].add(p),a[o.c].add(p)}else for(this.computeFaceNormals(),r=0,i=this.faces.length;r<i;r++)o=this.faces[r],a[o.a].add(o.normal),a[o.b].add(o.normal),a[o.c].add(o.normal);for(t=0,n=this.vertices.length;t<n;t++)a[t].normalize();for(r=0,i=this.faces.length;r<i;r++){o=this.faces[r];var h=o.vertexNormals;3===h.length?(h[0].copy(a[o.a]),h[1].copy(a[o.b]),h[2].copy(a[o.c])):(h[0]=a[o.a].clone(),h[1]=a[o.b].clone(),h[2]=a[o.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var e,t,n;for(this.computeFaceNormals(),e=0,t=this.faces.length;e<t;e++){n=this.faces[e];var r=n.vertexNormals;3===r.length?(r[0].copy(n.normal),r[1].copy(n.normal),r[2].copy(n.normal)):(r[0]=n.normal.clone(),r[1]=n.normal.clone(),r[2]=n.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var e,t,n,r,i;for(n=0,r=this.faces.length;n<r;n++)for(i=this.faces[n],i.__originalFaceNormal?i.__originalFaceNormal.copy(i.normal):i.__originalFaceNormal=i.normal.clone(),i.__originalVertexNormals||(i.__originalVertexNormals=[]),e=0,t=i.vertexNormals.length;e<t;e++)i.__originalVertexNormals[e]?i.__originalVertexNormals[e].copy(i.vertexNormals[e]):i.__originalVertexNormals[e]=i.vertexNormals[e].clone();var o=new ge;for(o.faces=this.faces,e=0,t=this.morphTargets.length;e<t;e++){if(!this.morphNormals[e]){this.morphNormals[e]={},this.morphNormals[e].faceNormals=[],this.morphNormals[e].vertexNormals=[];var a,s,u=this.morphNormals[e].faceNormals,c=this.morphNormals[e].vertexNormals;for(n=0,r=this.faces.length;n<r;n++)a=new l,s={a:new l,b:new l,c:new l},u.push(a),c.push(s)}var p=this.morphNormals[e];o.vertices=this.morphTargets[e].vertices,o.computeFaceNormals(),o.computeVertexNormals();var a,s;for(n=0,r=this.faces.length;n<r;n++)i=this.faces[n],a=p.faceNormals[n],s=p.vertexNormals[n],a.copy(i.normal),s.a.copy(i.vertexNormals[0]),s.b.copy(i.vertexNormals[1]),s.c.copy(i.vertexNormals[2])}for(n=0,r=this.faces.length;n<r;n++)i=this.faces[n],i.normal=i.__originalFaceNormal,i.vertexNormals=i.__originalVertexNormals},computeLineDistances:function(){for(var e=0,t=this.vertices,n=0,r=t.length;n<r;n++)n>0&&(e+=t[n].distanceTo(t[n-1])),this.lineDistances[n]=e},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new re),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new ie),this.boundingSphere.setFromPoints(this.vertices)},merge:function(e,t,n){if(!e||!e.isGeometry)return void console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",e);var r,i=this.vertices.length,o=this.vertices,a=e.vertices,s=this.faces,u=e.faces,c=this.faceVertexUvs[0],l=e.faceVertexUvs[0],p=this.colors,f=e.colors;void 0===n&&(n=0),void 0!==t&&(r=(new oe).getNormalMatrix(t));for(var h=0,d=a.length;h<d;h++){var m=a[h],v=m.clone();void 0!==t&&v.applyMatrix4(t),o.push(v)}for(var h=0,d=f.length;h<d;h++)p.push(f[h].clone());for(h=0,d=u.length;h<d;h++){var y,g,b,_=u[h],w=_.vertexNormals,x=_.vertexColors;y=new ve(_.a+i,_.b+i,_.c+i),y.normal.copy(_.normal),void 0!==r&&y.normal.applyMatrix3(r).normalize();for(var E=0,M=w.length;E<M;E++)g=w[E].clone(),void 0!==r&&g.applyMatrix3(r).normalize(),y.vertexNormals.push(g);y.color.copy(_.color);for(var E=0,M=x.length;E<M;E++)b=x[E],y.vertexColors.push(b.clone());y.materialIndex=_.materialIndex+n,s.push(y)}for(h=0,d=l.length;h<d;h++){var O=l[h],T=[];if(void 0!==O){for(var E=0,M=O.length;E<M;E++)T.push(O[E].clone());c.push(T)}}},mergeMesh:function(e){if(!e||!e.isMesh)return void console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",e);e.matrixAutoUpdate&&e.updateMatrix(),this.merge(e.geometry,e.matrix)},mergeVertices:function(){var e,t,n,r,i,o,a,s,u={},c=[],l=[],p=Math.pow(10,4);for(n=0,r=this.vertices.length;n<r;n++)e=this.vertices[n],t=Math.round(e.x*p)+"_"+Math.round(e.y*p)+"_"+Math.round(e.z*p),void 0===u[t]?(u[t]=n,c.push(this.vertices[n]),l[n]=c.length-1):l[n]=l[u[t]];var f=[];for(n=0,r=this.faces.length;n<r;n++){i=this.faces[n],i.a=l[i.a],i.b=l[i.b],i.c=l[i.c],o=[i.a,i.b,i.c];for(var h=0;h<3;h++)if(o[h]===o[(h+1)%3]){f.push(n);break}}for(n=f.length-1;n>=0;n--){var d=f[n];for(this.faces.splice(d,1),a=0,s=this.faceVertexUvs.length;a<s;a++)this.faceVertexUvs[a].splice(d,1)}var m=this.vertices.length-c.length;return this.vertices=c,m},sortFacesByMaterialIndex:function(){function e(e,t){return e.materialIndex-t.materialIndex}for(var t=this.faces,n=t.length,r=0;r<n;r++)t[r]._id=r;t.sort(e);var i,o,a=this.faceVertexUvs[0],s=this.faceVertexUvs[1];a&&a.length===n&&(i=[]),s&&s.length===n&&(o=[]);for(var r=0;r<n;r++){var u=t[r]._id;i&&i.push(a[u]),o&&o.push(s[u])}i&&(this.faceVertexUvs[0]=i),o&&(this.faceVertexUvs[1]=o)},toJSON:function(){function e(e,t,n){return n?e|1<<t:e&~(1<<t)}function t(e){var t=e.x.toString()+e.y.toString()+e.z.toString();return void 0!==f[t]?f[t]:(f[t]=p.length/3,p.push(e.x,e.y,e.z),f[t])}function n(e){var t=e.r.toString()+e.g.toString()+e.b.toString();return void 0!==d[t]?d[t]:(d[t]=h.length,h.push(e.getHex()),d[t])}function r(e){var t=e.x.toString()+e.y.toString();return void 0!==v[t]?v[t]:(v[t]=m.length/2,m.push(e.x,e.y),v[t])}var i={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),void 0!==this.parameters){var o=this.parameters;for(var a in o)void 0!==o[a]&&(i[a]=o[a]);return i}for(var s=[],u=0;u<this.vertices.length;u++){var c=this.vertices[u];s.push(c.x,c.y,c.z)}for(var l=[],p=[],f={},h=[],d={},m=[],v={},u=0;u<this.faces.length;u++){var y=this.faces[u],g=void 0!==this.faceVertexUvs[0][u],b=y.normal.length()>0,_=y.vertexNormals.length>0,w=1!==y.color.r||1!==y.color.g||1!==y.color.b,x=y.vertexColors.length>0,E=0;if(E=e(E,0,0),E=e(E,1,!0),E=e(E,2,!1),E=e(E,3,g),E=e(E,4,b),E=e(E,5,_),E=e(E,6,w),E=e(E,7,x),l.push(E),l.push(y.a,y.b,y.c),l.push(y.materialIndex),g){var M=this.faceVertexUvs[0][u];l.push(r(M[0]),r(M[1]),r(M[2]))}if(b&&l.push(t(y.normal)),_){var O=y.vertexNormals;l.push(t(O[0]),t(O[1]),t(O[2]))}if(w&&l.push(n(y.color)),x){var T=y.vertexColors;l.push(n(T[0]),n(T[1]),n(T[2]))}}return i.data={},i.data.vertices=s,i.data.normals=p,h.length>0&&(i.data.colors=h),m.length>0&&(i.data.uvs=[m]),i.data.faces=l,i},clone:function(){return(new ge).copy(this)},copy:function(e){var t,n,r,i,o,a;this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;var s=e.vertices;for(t=0,n=s.length;t<n;t++)this.vertices.push(s[t].clone());var u=e.colors;for(t=0,n=u.length;t<n;t++)this.colors.push(u[t].clone());var c=e.faces;for(t=0,n=c.length;t<n;t++)this.faces.push(c[t].clone());for(t=0,n=e.faceVertexUvs.length;t<n;t++){var l=e.faceVertexUvs[t];for(void 0===this.faceVertexUvs[t]&&(this.faceVertexUvs[t]=[]),r=0,i=l.length;r<i;r++){var p=l[r],f=[];for(o=0,a=p.length;o<a;o++){var h=p[o];f.push(h.clone())}this.faceVertexUvs[t].push(f)}}var d=e.morphTargets;for(t=0,n=d.length;t<n;t++){var m={};if(m.name=d[t].name,void 0!==d[t].vertices)for(m.vertices=[],r=0,i=d[t].vertices.length;r<i;r++)m.vertices.push(d[t].vertices[r].clone());if(void 0!==d[t].normals)for(m.normals=[],r=0,i=d[t].normals.length;r<i;r++)m.normals.push(d[t].normals[r].clone());this.morphTargets.push(m)}var v=e.morphNormals;for(t=0,n=v.length;t<n;t++){var y={};if(void 0!==v[t].vertexNormals)for(y.vertexNormals=[],r=0,i=v[t].vertexNormals.length;r<i;r++){var g=v[t].vertexNormals[r],b={};b.a=g.a.clone(),b.b=g.b.clone(),b.c=g.c.clone(),y.vertexNormals.push(b)}if(void 0!==v[t].faceNormals)for(y.faceNormals=[],r=0,i=v[t].faceNormals.length;r<i;r++)y.faceNormals.push(v[t].faceNormals[r].clone());this.morphNormals.push(y)}var _=e.skinWeights;for(t=0,n=_.length;t<n;t++)this.skinWeights.push(_[t].clone());var w=e.skinIndices;for(t=0,n=w.length;t<n;t++)this.skinIndices.push(w[t].clone());var x=e.lineDistances;for(t=0,n=x.length;t<n;t++)this.lineDistances.push(x[t]);var E=e.boundingBox;null!==E&&(this.boundingBox=E.clone());var M=e.boundingSphere;return null!==M&&(this.boundingSphere=M.clone()),this.elementsNeedUpdate=e.elementsNeedUpdate,this.verticesNeedUpdate=e.verticesNeedUpdate,this.uvsNeedUpdate=e.uvsNeedUpdate,this.normalsNeedUpdate=e.normalsNeedUpdate,this.colorsNeedUpdate=e.colorsNeedUpdate,this.lineDistancesNeedUpdate=e.lineDistancesNeedUpdate,this.groupsNeedUpdate=e.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(be.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(be.prototype,{isBufferAttribute:!0,setArray:function(e){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.count=void 0!==e?e.length/this.itemSize:0,this.array=e},setDynamic:function(e){return this.dynamic=e,this},copy:function(e){return this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.dynamic=e.dynamic,this},copyAt:function(e,t,n){e*=this.itemSize,n*=t.itemSize;for(var r=0,i=this.itemSize;r<i;r++)this.array[e+r]=t.array[n+r];return this},copyArray:function(e){return this.array.set(e),this},copyColorsArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];void 0===o&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",r),o=new Y),t[n++]=o.r,t[n++]=o.g,t[n++]=o.b}return this},copyIndicesArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];t[n++]=o.a,t[n++]=o.b,t[n++]=o.c}return this},copyVector2sArray:function(e){for(var t=this.array,n=0,r=0,o=e.length;r<o;r++){var a=e[r];void 0===a&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",r),a=new i),t[n++]=a.x,t[n++]=a.y}return this},copyVector3sArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",r),o=new l),t[n++]=o.x,t[n++]=o.y,t[n++]=o.z}return this},copyVector4sArray:function(e){for(var t=this.array,n=0,r=0,i=e.length;r<i;r++){var o=e[r];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",r),o=new a),t[n++]=o.x,t[n++]=o.y,t[n++]=o.z,t[n++]=o.w}return this},set:function(e,t){return void 0===t&&(t=0),this.array.set(e,t),this},getX:function(e){return this.array[e*this.itemSize]},setX:function(e,t){return this.array[e*this.itemSize]=t,this},getY:function(e){return this.array[e*this.itemSize+1]},setY:function(e,t){return this.array[e*this.itemSize+1]=t,this},getZ:function(e){return this.array[e*this.itemSize+2]},setZ:function(e,t){return this.array[e*this.itemSize+2]=t,this},getW:function(e){return this.array[e*this.itemSize+3]},setW:function(e,t){return this.array[e*this.itemSize+3]=t,this},setXY:function(e,t,n){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this},setXYZ:function(e,t,n,r){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this},setXYZW:function(e,t,n,r,i){return e*=this.itemSize,this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this.array[e+3]=i,this},onUpload:function(e){return this.onUploadCallback=e,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),_e.prototype=Object.create(be.prototype),_e.prototype.constructor=_e,we.prototype=Object.create(be.prototype),we.prototype.constructor=we,xe.prototype=Object.create(be.prototype),xe.prototype.constructor=xe,Ee.prototype=Object.create(be.prototype),Ee.prototype.constructor=Ee,Me.prototype=Object.create(be.prototype),Me.prototype.constructor=Me,Oe.prototype=Object.create(be.prototype),Oe.prototype.constructor=Oe,Te.prototype=Object.create(be.prototype),Te.prototype.constructor=Te,Pe.prototype=Object.create(be.prototype),Pe.prototype.constructor=Pe,Se.prototype=Object.create(be.prototype),Se.prototype.constructor=Se,Object.assign(Ce.prototype,{computeGroups:function(e){for(var t,n=[],r=void 0,i=e.faces,o=0;o<i.length;o++){var a=i[o];a.materialIndex!==r&&(r=a.materialIndex,void 0!==t&&(t.count=3*o-t.start,n.push(t)),t={start:3*o,materialIndex:r})}void 0!==t&&(t.count=3*o-t.start,n.push(t)),this.groups=n},fromGeometry:function(e){var t,n=e.faces,r=e.vertices,o=e.faceVertexUvs,a=o[0]&&o[0].length>0,s=o[1]&&o[1].length>0,u=e.morphTargets,c=u.length;if(c>0){t=[];for(var l=0;l<c;l++)t[l]=[];this.morphTargets.position=t}var p,f=e.morphNormals,h=f.length;if(h>0){p=[];for(var l=0;l<h;l++)p[l]=[];this.morphTargets.normal=p}for(var d=e.skinIndices,m=e.skinWeights,v=d.length===r.length,y=m.length===r.length,l=0;l<n.length;l++){var g=n[l];this.vertices.push(r[g.a],r[g.b],r[g.c]);var b=g.vertexNormals;if(3===b.length)this.normals.push(b[0],b[1],b[2]);else{var _=g.normal;this.normals.push(_,_,_)}var w=g.vertexColors;if(3===w.length)this.colors.push(w[0],w[1],w[2]);else{var x=g.color;this.colors.push(x,x,x)}if(!0===a){var E=o[0][l];void 0!==E?this.uvs.push(E[0],E[1],E[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",l),this.uvs.push(new i,new i,new i))}if(!0===s){var E=o[1][l];void 0!==E?this.uvs2.push(E[0],E[1],E[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",l),this.uvs2.push(new i,new i,new i))}for(var M=0;M<c;M++){var O=u[M].vertices;t[M].push(O[g.a],O[g.b],O[g.c])}for(var M=0;M<h;M++){var T=f[M].vertexNormals[l];p[M].push(T.a,T.b,T.c)}v&&this.skinIndices.push(d[g.a],d[g.b],d[g.c]),y&&this.skinWeights.push(m[g.a],m[g.b],m[g.c])}return this.computeGroups(e),this.verticesNeedUpdate=e.verticesNeedUpdate,this.normalsNeedUpdate=e.normalsNeedUpdate,this.colorsNeedUpdate=e.colorsNeedUpdate,this.uvsNeedUpdate=e.uvsNeedUpdate,this.groupsNeedUpdate=e.groupsNeedUpdate,this}}),Ae.MaxIndex=65535,Object.assign(Ae.prototype,r.prototype,{isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(e){Array.isArray(e)?this.index=new(Re(e)>65535?Te:Me)(e,1):this.index=e},addAttribute:function(e,t){return t&&t.isBufferAttribute||t&&t.isInterleavedBufferAttribute?"index"===e?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),void this.setIndex(t)):(this.attributes[e]=t,this):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),void this.addAttribute(e,new be(arguments[1],arguments[2])))},getAttribute:function(e){return this.attributes[e]},removeAttribute:function(e){return delete this.attributes[e],this},addGroup:function(e,t,n){this.groups.push({start:e,count:t,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(e,t){this.drawRange.start=e,this.drawRange.count=t},applyMatrix:function(e){var t=this.attributes.position;void 0!==t&&(e.applyToBufferAttribute(t),t.needsUpdate=!0);var n=this.attributes.normal;if(void 0!==n){(new oe).getNormalMatrix(e).applyToBufferAttribute(n),n.needsUpdate=!0}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var e=new p;return function(t){return e.makeRotationX(t),this.applyMatrix(e),this}}(),rotateY:function(){var e=new p;return function(t){return e.makeRotationY(t),this.applyMatrix(e),this}}(),rotateZ:function(){var e=new p;return function(t){return e.makeRotationZ(t),this.applyMatrix(e),this}}(),translate:function(){var e=new p;return function(t,n,r){return e.makeTranslation(t,n,r),this.applyMatrix(e),this}}(),scale:function(){var e=new p;return function(t,n,r){return e.makeScale(t,n,r),this.applyMatrix(e),this}}(),lookAt:function(){var e=new fe;return function(t){e.lookAt(t),e.updateMatrix(),this.applyMatrix(e.matrix)}}(),center:function(){this.computeBoundingBox();var e=this.boundingBox.getCenter().negate();return this.translate(e.x,e.y,e.z),e},setFromObject:function(e){var t=e.geometry;if(e.isPoints||e.isLine){var n=new Pe(3*t.vertices.length,3),r=new Pe(3*t.colors.length,3);if(this.addAttribute("position",n.copyVector3sArray(t.vertices)),this.addAttribute("color",r.copyColorsArray(t.colors)),t.lineDistances&&t.lineDistances.length===t.vertices.length){var i=new Pe(t.lineDistances.length,1);this.addAttribute("lineDistance",i.copyArray(t.lineDistances))}null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone())}else e.isMesh&&t&&t.isGeometry&&this.fromGeometry(t);return this},updateFromObject:function(e){var t=e.geometry;if(e.isMesh){var n=t.__directGeometry;if(!0===t.elementsNeedUpdate&&(n=void 0,t.elementsNeedUpdate=!1),void 0===n)return this.fromGeometry(t);n.verticesNeedUpdate=t.verticesNeedUpdate,n.normalsNeedUpdate=t.normalsNeedUpdate,n.colorsNeedUpdate=t.colorsNeedUpdate,n.uvsNeedUpdate=t.uvsNeedUpdate,n.groupsNeedUpdate=t.groupsNeedUpdate,t.verticesNeedUpdate=!1,t.normalsNeedUpdate=!1,t.colorsNeedUpdate=!1,t.uvsNeedUpdate=!1,t.groupsNeedUpdate=!1,t=n}var r;return!0===t.verticesNeedUpdate&&(r=this.attributes.position,void 0!==r&&(r.copyVector3sArray(t.vertices),r.needsUpdate=!0),t.verticesNeedUpdate=!1),!0===t.normalsNeedUpdate&&(r=this.attributes.normal,void 0!==r&&(r.copyVector3sArray(t.normals),r.needsUpdate=!0),t.normalsNeedUpdate=!1),!0===t.colorsNeedUpdate&&(r=this.attributes.color,void 0!==r&&(r.copyColorsArray(t.colors),r.needsUpdate=!0),t.colorsNeedUpdate=!1),t.uvsNeedUpdate&&(r=this.attributes.uv,void 0!==r&&(r.copyVector2sArray(t.uvs),r.needsUpdate=!0),t.uvsNeedUpdate=!1),t.lineDistancesNeedUpdate&&(r=this.attributes.lineDistance,void 0!==r&&(r.copyArray(t.lineDistances),r.needsUpdate=!0),t.lineDistancesNeedUpdate=!1),t.groupsNeedUpdate&&(t.computeGroups(e.geometry),this.groups=t.groups,t.groupsNeedUpdate=!1),this},fromGeometry:function(e){return e.__directGeometry=(new Ce).fromGeometry(e),this.fromDirectGeometry(e.__directGeometry)},fromDirectGeometry:function(e){var t=new Float32Array(3*e.vertices.length);if(this.addAttribute("position",new be(t,3).copyVector3sArray(e.vertices)),e.normals.length>0){var n=new Float32Array(3*e.normals.length);this.addAttribute("normal",new be(n,3).copyVector3sArray(e.normals))}if(e.colors.length>0){var r=new Float32Array(3*e.colors.length);this.addAttribute("color",new be(r,3).copyColorsArray(e.colors))}if(e.uvs.length>0){var i=new Float32Array(2*e.uvs.length);this.addAttribute("uv",new be(i,2).copyVector2sArray(e.uvs))}if(e.uvs2.length>0){var o=new Float32Array(2*e.uvs2.length);this.addAttribute("uv2",new be(o,2).copyVector2sArray(e.uvs2))}if(e.indices.length>0){var a=Re(e.indices)>65535?Uint32Array:Uint16Array,s=new a(3*e.indices.length);this.setIndex(new be(s,1).copyIndicesArray(e.indices))}this.groups=e.groups;for(var u in e.morphTargets){for(var c=[],l=e.morphTargets[u],p=0,f=l.length;p<f;p++){var h=l[p],d=new Pe(3*h.length,3);c.push(d.copyVector3sArray(h))}this.morphAttributes[u]=c}if(e.skinIndices.length>0){var m=new Pe(4*e.skinIndices.length,4);this.addAttribute("skinIndex",m.copyVector4sArray(e.skinIndices))}if(e.skinWeights.length>0){var v=new Pe(4*e.skinWeights.length,4);this.addAttribute("skinWeight",v.copyVector4sArray(e.skinWeights))}return null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new re);var e=this.attributes.position;void 0!==e?this.boundingBox.setFromBufferAttribute(e):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var e=new re,t=new l;return function(){null===this.boundingSphere&&(this.boundingSphere=new ie);var n=this.attributes.position;if(n){var r=this.boundingSphere.center;e.setFromBufferAttribute(n),e.getCenter(r);for(var i=0,o=0,a=n.count;o<a;o++)t.x=n.getX(o),t.y=n.getY(o),t.z=n.getZ(o),i=Math.max(i,r.distanceToSquared(t));this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var e=this.index,t=this.attributes,n=this.groups;if(t.position){var r=t.position.array;if(void 0===t.normal)this.addAttribute("normal",new be(new Float32Array(r.length),3));else for(var i=t.normal.array,o=0,a=i.length;o<a;o++)i[o]=0;var s,u,c,p=t.normal.array,f=new l,h=new l,d=new l,m=new l,v=new l;if(e){var y=e.array;0===n.length&&this.addGroup(0,y.length);for(var g=0,b=n.length;g<b;++g)for(var _=n[g],w=_.start,x=_.count,o=w,a=w+x;o<a;o+=3)s=3*y[o+0],u=3*y[o+1],c=3*y[o+2],f.fromArray(r,s),h.fromArray(r,u),d.fromArray(r,c),m.subVectors(d,h),v.subVectors(f,h),m.cross(v),p[s]+=m.x,p[s+1]+=m.y,p[s+2]+=m.z,p[u]+=m.x,p[u+1]+=m.y,p[u+2]+=m.z,p[c]+=m.x,p[c+1]+=m.y,p[c+2]+=m.z}else for(var o=0,a=r.length;o<a;o+=9)f.fromArray(r,o),h.fromArray(r,o+3),d.fromArray(r,o+6),m.subVectors(d,h),v.subVectors(f,h),m.cross(v),p[o]=m.x,p[o+1]=m.y,p[o+2]=m.z,p[o+3]=m.x,p[o+4]=m.y,p[o+5]=m.z,p[o+6]=m.x,p[o+7]=m.y,p[o+8]=m.z;this.normalizeNormals(),t.normal.needsUpdate=!0}},merge:function(e,t){if(!e||!e.isBufferGeometry)return void console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",e);void 0===t&&(t=0);var n=this.attributes;for(var r in n)if(void 0!==e.attributes[r])for(var i=n[r],o=i.array,a=e.attributes[r],s=a.array,u=a.itemSize,c=0,l=u*t;c<s.length;c++,l++)o[l]=s[c];return this},normalizeNormals:function(){var e=new l;return function(){for(var t=this.attributes.normal,n=0,r=t.count;n<r;n++)e.x=t.getX(n),e.y=t.getY(n),e.z=t.getZ(n),e.normalize(),t.setXYZ(n,e.x,e.y,e.z)}}(),toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var e=new Ae,t=this.index.array,n=this.attributes;for(var r in n){for(var i=n[r],o=i.array,a=i.itemSize,s=new o.constructor(t.length*a),u=0,c=0,l=0,p=t.length;l<p;l++){u=t[l]*a;for(var f=0;f<a;f++)s[c++]=o[u++]}e.addAttribute(r,new be(s,a))}return e},toJSON:function(){var e={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),void 0!==this.parameters){var t=this.parameters;for(var n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};var r=this.index;if(null!==r){var i=Array.prototype.slice.call(r.array);e.data.index={type:r.array.constructor.name,array:i}}var o=this.attributes;for(var n in o){var a=o[n],i=Array.prototype.slice.call(a.array);e.data.attributes[n]={itemSize:a.itemSize,type:a.array.constructor.name,array:i,normalized:a.normalized}}var s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));var u=this.boundingSphere;return null!==u&&(e.data.boundingSphere={center:u.center.toArray(),radius:u.radius}),e},clone:function(){return(new Ae).copy(this)},copy:function(e){var t,n,r;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=e.name;var i=e.index;null!==i&&this.setIndex(i.clone());var o=e.attributes;for(t in o){var a=o[t];this.addAttribute(t,a.clone())}var s=e.morphAttributes;for(t in s){var u=[],c=s[t];for(n=0,r=c.length;n<r;n++)u.push(c[n].clone());this.morphAttributes[t]=u}var l=e.groups;for(n=0,r=l.length;n<r;n++){var p=l[n];this.addGroup(p.start,p.count,p.materialIndex)}var f=e.boundingBox;null!==f&&(this.boundingBox=f.clone());var h=e.boundingSphere;return null!==h&&(this.boundingSphere=h.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),De.prototype=Object.create(ge.prototype),De.prototype.constructor=De,ke.prototype=Object.create(Ae.prototype),ke.prototype.constructor=ke,Le.prototype=Object.create(ge.prototype),Le.prototype.constructor=Le,je.prototype=Object.create(Ae.prototype),je.prototype.constructor=je,Ie.prototype=Object.create($.prototype),Ie.prototype.constructor=Ie,Ie.prototype.isMeshBasicMaterial=!0,Ie.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this},Object.assign(Ne.prototype,{set:function(e,t){return this.origin.copy(e),this.direction.copy(t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this},at:function(e,t){return(t||new l).copy(this.direction).multiplyScalar(e).add(this.origin)},lookAt:function(e){return this.direction.copy(e).sub(this.origin).normalize(),this},recast:function(){var e=new l;return function(t){return this.origin.copy(this.at(t,e)),this}}(),closestPointToPoint:function(e,t){var n=t||new l;n.subVectors(e,this.origin);var r=n.dot(this.direction);return r<0?n.copy(this.origin):n.copy(this.direction).multiplyScalar(r).add(this.origin)},distanceToPoint:function(e){return Math.sqrt(this.distanceSqToPoint(e))},distanceSqToPoint:function(){var e=new l;return function(t){var n=e.subVectors(t,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(t):(e.copy(this.direction).multiplyScalar(n).add(this.origin),e.distanceToSquared(t))}}(),distanceSqToSegment:function(){var e=new l,t=new l,n=new l;return function(r,i,o,a){e.copy(r).add(i).multiplyScalar(.5),t.copy(i).sub(r).normalize(),n.copy(this.origin).sub(e);var s,u,c,l,p=.5*r.distanceTo(i),f=-this.direction.dot(t),h=n.dot(this.direction),d=-n.dot(t),m=n.lengthSq(),v=Math.abs(1-f*f);if(v>0)if(s=f*d-h,u=f*h-d,l=p*v,s>=0)if(u>=-l)if(u<=l){var y=1/v;s*=y,u*=y,c=s*(s+f*u+2*h)+u*(f*s+u+2*d)+m}else u=p,s=Math.max(0,-(f*u+h)),c=-s*s+u*(u+2*d)+m;else u=-p,s=Math.max(0,-(f*u+h)),c=-s*s+u*(u+2*d)+m;else u<=-l?(s=Math.max(0,-(-f*p+h)),u=s>0?-p:Math.min(Math.max(-p,-d),p),c=-s*s+u*(u+2*d)+m):u<=l?(s=0,u=Math.min(Math.max(-p,-d),p),c=u*(u+2*d)+m):(s=Math.max(0,-(f*p+h)),u=s>0?p:Math.min(Math.max(-p,-d),p),c=-s*s+u*(u+2*d)+m);else u=f>0?-p:p,s=Math.max(0,-(f*u+h)),c=-s*s+u*(u+2*d)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(t).multiplyScalar(u).add(e),c}}(),intersectSphere:function(){var e=new l;return function(t,n){e.subVectors(t.center,this.origin);var r=e.dot(this.direction),i=e.dot(e)-r*r,o=t.radius*t.radius;if(i>o)return null;var a=Math.sqrt(o-i),s=r-a,u=r+a;return s<0&&u<0?null:s<0?this.at(u,n):this.at(s,n)}}(),intersectsSphere:function(e){return this.distanceToPoint(e.center)<=e.radius},distanceToPlane:function(e){var t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;var n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null},intersectPlane:function(e,t){var n=this.distanceToPlane(e);return null===n?null:this.at(n,t)},intersectsPlane:function(e){var t=e.distanceToPoint(this.origin);return 0===t||e.normal.dot(this.direction)*t<0},intersectBox:function(e,t){var n,r,i,o,a,s,u=1/this.direction.x,c=1/this.direction.y,l=1/this.direction.z,p=this.origin;return u>=0?(n=(e.min.x-p.x)*u,r=(e.max.x-p.x)*u):(n=(e.max.x-p.x)*u,r=(e.min.x-p.x)*u),c>=0?(i=(e.min.y-p.y)*c,o=(e.max.y-p.y)*c):(i=(e.max.y-p.y)*c,o=(e.min.y-p.y)*c),n>o||i>r?null:((i>n||n!==n)&&(n=i),(o<r||r!==r)&&(r=o),l>=0?(a=(e.min.z-p.z)*l,s=(e.max.z-p.z)*l):(a=(e.max.z-p.z)*l,s=(e.min.z-p.z)*l),n>s||a>r?null:((a>n||n!==n)&&(n=a),(s<r||r!==r)&&(r=s),r<0?null:this.at(n>=0?n:r,t)))},intersectsBox:function(){var e=new l;return function(t){return null!==this.intersectBox(t,e)}}(),intersectTriangle:function(){var e=new l,t=new l,n=new l,r=new l;return function(i,o,a,s,u){t.subVectors(o,i),n.subVectors(a,i),r.crossVectors(t,n);var c,l=this.direction.dot(r);if(l>0){if(s)return null;c=1}else{if(!(l<0))return null;c=-1,l=-l}e.subVectors(this.origin,i);var p=c*this.direction.dot(n.crossVectors(e,n));if(p<0)return null;var f=c*this.direction.dot(t.cross(e));if(f<0)return null;if(p+f>l)return null;var h=-c*e.dot(r);return h<0?null:this.at(h/l,u)}}(),applyMatrix4:function(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this},equals:function(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}}),Object.assign(Ue.prototype,{set:function(e,t){return this.start.copy(e),this.end.copy(t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.start.copy(e.start),this.end.copy(e.end),this},getCenter:function(e){return(e||new l).addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(e){return(e||new l).subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(e,t){var n=t||new l;return this.delta(n).multiplyScalar(e).add(this.start)},closestPointToPointParameter:function(){var e=new l,t=new l;return function(n,r){e.subVectors(n,this.start),t.subVectors(this.end,this.start);var i=t.dot(t),o=t.dot(e),a=o/i;return r&&(a=Ds.clamp(a,0,1)),a}}(),closestPointToPoint:function(e,t,n){var r=this.closestPointToPointParameter(e,t),i=n||new l;return this.delta(i).multiplyScalar(r).add(this.start)},applyMatrix4:function(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this},equals:function(e){return e.start.equals(this.start)&&e.end.equals(this.end)}}),Object.assign(Fe,{normal:function(){var e=new l;return function(t,n,r,i){var o=i||new l;o.subVectors(r,n),e.subVectors(t,n),o.cross(e);var a=o.lengthSq();return a>0?o.multiplyScalar(1/Math.sqrt(a)):o.set(0,0,0)}}(),barycoordFromPoint:function(){var e=new l,t=new l,n=new l;return function(r,i,o,a,s){e.subVectors(a,i),t.subVectors(o,i),n.subVectors(r,i);var u=e.dot(e),c=e.dot(t),p=e.dot(n),f=t.dot(t),h=t.dot(n),d=u*f-c*c,m=s||new l;if(0===d)return m.set(-2,-1,-1);var v=1/d,y=(f*p-c*h)*v,g=(u*h-c*p)*v;return m.set(1-y-g,g,y)}}(),containsPoint:function(){var e=new l;return function(t,n,r,i){var o=Fe.barycoordFromPoint(t,n,r,i,e);return o.x>=0&&o.y>=0&&o.x+o.y<=1}}()}),Object.assign(Fe.prototype,{set:function(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this},setFromPointsAndIndices:function(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this},area:function(){var e=new l,t=new l;return function(){return e.subVectors(this.c,this.b),t.subVectors(this.a,this.b),.5*e.cross(t).length()}}(),midpoint:function(e){return(e||new l).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(e){return Fe.normal(this.a,this.b,this.c,e)},plane:function(e){return(e||new ae).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(e,t){return Fe.barycoordFromPoint(e,this.a,this.b,this.c,t)},containsPoint:function(e){return Fe.containsPoint(e,this.a,this.b,this.c)},closestPointToPoint:function(){var e=new ae,t=[new Ue,new Ue,new Ue],n=new l,r=new l;return function(i,o){var a=o||new l,s=1/0;if(e.setFromCoplanarPoints(this.a,this.b,this.c),e.projectPoint(i,n),!0===this.containsPoint(n))a.copy(n);else{t[0].set(this.a,this.b),t[1].set(this.b,this.c),t[2].set(this.c,this.a);for(var u=0;u<t.length;u++){t[u].closestPointToPoint(n,!0,r);var c=n.distanceToSquared(r);c<s&&(s=c,a.copy(r))}}return a}}(),equals:function(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}),Be.prototype=Object.assign(Object.create(fe.prototype),{constructor:Be,isMesh:!0,setDrawMode:function(e){this.drawMode=e},copy:function(e){return fe.prototype.copy.call(this,e),this.drawMode=e.drawMode,this},updateMorphTargets:function(){var e,t,n,r=this.geometry;if(r.isBufferGeometry){var i=r.morphAttributes,o=Object.keys(i);if(o.length>0){var a=i[o[0]];if(void 0!==a)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},e=0,t=a.length;e<t;e++)n=a[e].name||String(e),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=e}}else{var s=r.morphTargets;if(void 0!==s&&s.length>0)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},e=0,t=s.length;e<t;e++)n=s[e].name||String(e),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=e}},raycast:function(){function e(e,t,n,r,i,o,a){return Fe.barycoordFromPoint(e,t,n,r,g),i.multiplyScalar(g.x),o.multiplyScalar(g.y),a.multiplyScalar(g.z),i.add(o).add(a),i.clone()}function t(e,t,n,r,i,o,a,s){if(null===(t.side===Po?r.intersectTriangle(a,o,i,!0,s):r.intersectTriangle(i,o,a,t.side!==So,s)))return null;_.copy(s),_.applyMatrix4(e.matrixWorld);var u=n.ray.origin.distanceTo(_);return u<n.near||u>n.far?null:{distance:u,point:_.clone(),object:e}}function n(n,r,i,o,a,l,p,f){s.fromBufferAttribute(o,l),u.fromBufferAttribute(o,p),c.fromBufferAttribute(o,f);var h=t(n,n.material,r,i,s,u,c,b);return h&&(a&&(m.fromBufferAttribute(a,l),v.fromBufferAttribute(a,p),y.fromBufferAttribute(a,f),h.uv=e(b,s,u,c,m,v,y)),h.face=new ve(l,p,f,Fe.normal(s,u,c)),h.faceIndex=l),h}var r=new p,o=new Ne,a=new ie,s=new l,u=new l,c=new l,f=new l,h=new l,d=new l,m=new i,v=new i,y=new i,g=new l,b=new l,_=new l;return function(i,l){var p=this.geometry,g=this.material,_=this.matrixWorld;if(void 0!==g&&(null===p.boundingSphere&&p.computeBoundingSphere(),a.copy(p.boundingSphere),a.applyMatrix4(_),!1!==i.ray.intersectsSphere(a)&&(r.getInverse(_),o.copy(i.ray).applyMatrix4(r),null===p.boundingBox||!1!==o.intersectsBox(p.boundingBox)))){var w;if(p.isBufferGeometry){var x,E,M,O,T,P=p.index,S=p.attributes.position,C=p.attributes.uv;if(null!==P)for(O=0,T=P.count;O<T;O+=3)x=P.getX(O),E=P.getX(O+1),M=P.getX(O+2),(w=n(this,i,o,S,C,x,E,M))&&(w.faceIndex=Math.floor(O/3),l.push(w));else for(O=0,T=S.count;O<T;O+=3)x=O,E=O+1,M=O+2,(w=n(this,i,o,S,C,x,E,M))&&(w.index=x,l.push(w))}else if(p.isGeometry){var R,A,D,k,L=Array.isArray(g),j=p.vertices,I=p.faces,N=p.faceVertexUvs[0];N.length>0&&(k=N);for(var U=0,F=I.length;U<F;U++){var B=I[U],z=L?g[B.materialIndex]:g;if(void 0!==z){if(R=j[B.a],A=j[B.b],D=j[B.c],!0===z.morphTargets){var H=p.morphTargets,V=this.morphTargetInfluences;s.set(0,0,0),u.set(0,0,0),c.set(0,0,0);for(var G=0,W=H.length;G<W;G++){var q=V[G];if(0!==q){var X=H[G].vertices;s.addScaledVector(f.subVectors(X[B.a],R),q),u.addScaledVector(h.subVectors(X[B.b],A),q),c.addScaledVector(d.subVectors(X[B.c],D),q)}}s.add(R),u.add(A),c.add(D),R=s,A=u,D=c}if(w=t(this,z,i,o,R,A,D,b)){if(k&&k[U]){var Y=k[U];m.copy(Y[0]),v.copy(Y[1]),y.copy(Y[2]),w.uv=e(b,R,A,D,m,v,y)}w.face=B,w.faceIndex=U,l.push(w)}}}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}});var Ks=0;bt.prototype=Object.assign(Object.create(me.prototype),{constructor:bt,isArrayCamera:!0}),Ot.prototype.isFogExp2=!0,Ot.prototype.clone=function(){return new Ot(this.color.getHex(),this.density)},Ot.prototype.toJSON=function(e){return{type:"FogExp2",color:this.color.getHex(),density:this.density}},Tt.prototype.isFog=!0,Tt.prototype.clone=function(){return new Tt(this.color.getHex(),this.near,this.far)},Tt.prototype.toJSON=function(e){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}},Pt.prototype=Object.assign(Object.create(fe.prototype),{constructor:Pt,copy:function(e,t){return fe.prototype.copy.call(this,e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.fog&&(this.fog=e.fog.clone()),null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this},toJSON:function(e){var t=fe.prototype.toJSON.call(this,e);return null!==this.background&&(t.object.background=this.background.toJSON(e)),null!==this.fog&&(t.object.fog=this.fog.toJSON()),t}}),St.prototype=Object.assign(Object.create(fe.prototype),{constructor:St,isLensFlare:!0,copy:function(e){fe.prototype.copy.call(this,e),this.positionScreen.copy(e.positionScreen),this.customUpdateCallback=e.customUpdateCallback;for(var t=0,n=e.lensFlares.length;t<n;t++)this.lensFlares.push(e.lensFlares[t]);return this},add:function(e,t,n,r,i,o){void 0===t&&(t=-1),void 0===n&&(n=0),void 0===o&&(o=1),void 0===i&&(i=new Y(16777215)),void 0===r&&(r=jo),n=Math.min(n,Math.max(0,n)),this.lensFlares.push({texture:e,size:t,distance:n,x:0,y:0,z:0,scale:1,rotation:0,opacity:o,color:i,blending:r})},updateLensFlares:function(){var e,t,n=this.lensFlares.length,r=2*-this.positionScreen.x,i=2*-this.positionScreen.y;for(e=0;e<n;e++)t=this.lensFlares[e],t.x=this.positionScreen.x+r*t.distance,t.y=this.positionScreen.y+i*t.distance,t.wantedRotation=t.x*Math.PI*.25,t.rotation+=.25*(t.wantedRotation-t.rotation)}}),Ct.prototype=Object.create($.prototype),Ct.prototype.constructor=Ct,Ct.prototype.isSpriteMaterial=!0,Ct.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.rotation=e.rotation,this},Rt.prototype=Object.assign(Object.create(fe.prototype),{constructor:Rt,isSprite:!0,raycast:function(){var e=new l,t=new l,n=new l;return function(r,i){t.setFromMatrixPosition(this.matrixWorld),r.ray.closestPointToPoint(t,e),n.setFromMatrixScale(this.matrixWorld);var o=n.x*n.y/4;if(!(t.distanceToSquared(e)>o)){var a=r.ray.origin.distanceTo(e);a<r.near||a>r.far||i.push({distance:a,point:e.clone(),face:null,object:this})}}}(),clone:function(){return new this.constructor(this.material).copy(this)}}),At.prototype=Object.assign(Object.create(fe.prototype),{constructor:At,copy:function(e){fe.prototype.copy.call(this,e,!1);for(var t=e.levels,n=0,r=t.length;n<r;n++){var i=t[n];this.addLevel(i.object.clone(),i.distance)}return this},addLevel:function(e,t){void 0===t&&(t=0),t=Math.abs(t);for(var n=this.levels,r=0;r<n.length&&!(t<n[r].distance);r++);n.splice(r,0,{distance:t,object:e}),this.add(e)},getObjectForDistance:function(e){for(var t=this.levels,n=1,r=t.length;n<r&&!(e<t[n].distance);n++);return t[n-1].object},raycast:function(){var e=new l;return function(t,n){e.setFromMatrixPosition(this.matrixWorld);var r=t.ray.origin.distanceTo(e);this.getObjectForDistance(r).raycast(t,n)}}(),update:function(){var e=new l,t=new l;return function(n){var r=this.levels;if(r.length>1){e.setFromMatrixPosition(n.matrixWorld),t.setFromMatrixPosition(this.matrixWorld);var i=e.distanceTo(t);r[0].object.visible=!0;for(var o=1,a=r.length;o<a&&i>=r[o].distance;o++)r[o-1].object.visible=!1,r[o].object.visible=!0;for(;o<a;o++)r[o].object.visible=!1}}}(),toJSON:function(e){var t=fe.prototype.toJSON.call(this,e);t.object.levels=[];for(var n=this.levels,r=0,i=n.length;r<i;r++){var o=n[r];t.object.levels.push({object:o.object.uuid,distance:o.distance})}return t}}),Object.assign(Dt.prototype,{calculateInverses:function(){this.boneInverses=[];for(var e=0,t=this.bones.length;e<t;e++){var n=new p;this.bones[e]&&n.getInverse(this.bones[e].matrixWorld),this.boneInverses.push(n)}},pose:function(){var e,t,n;for(t=0,n=this.bones.length;t<n;t++)(e=this.bones[t])&&e.matrixWorld.getInverse(this.boneInverses[t]);for(t=0,n=this.bones.length;t<n;t++)(e=this.bones[t])&&(e.parent&&e.parent.isBone?(e.matrix.getInverse(e.parent.matrixWorld),e.matrix.multiply(e.matrixWorld)):e.matrix.copy(e.matrixWorld),e.matrix.decompose(e.position,e.quaternion,e.scale))},update:function(){var e=new p,t=new p;return function(){for(var n=this.bones,r=this.boneInverses,i=this.boneMatrices,o=this.boneTexture,a=0,s=n.length;a<s;a++){var u=n[a]?n[a].matrixWorld:t;e.multiplyMatrices(u,r[a]),e.toArray(i,16*a)}void 0!==o&&(o.needsUpdate=!0)}}(),clone:function(){return new Dt(this.bones,this.boneInverses)}}),kt.prototype=Object.assign(Object.create(fe.prototype),{constructor:kt,isBone:!0}),Lt.prototype=Object.assign(Object.create(Be.prototype),{constructor:Lt,isSkinnedMesh:!0,initBones:function(){var e,t,n,r,i=[];if(this.geometry&&void 0!==this.geometry.bones){for(n=0,r=this.geometry.bones.length;n<r;n++)t=this.geometry.bones[n],e=new kt,i.push(e),e.name=t.name,e.position.fromArray(t.pos),e.quaternion.fromArray(t.rotq),void 0!==t.scl&&e.scale.fromArray(t.scl);for(n=0,r=this.geometry.bones.length;n<r;n++)t=this.geometry.bones[n],-1!==t.parent&&null!==t.parent&&void 0!==i[t.parent]?i[t.parent].add(i[n]):this.add(i[n])}return this.updateMatrixWorld(!0),i},bind:function(e,t){this.skeleton=e,void 0===t&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.getInverse(t)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){var e,t;if(this.geometry&&this.geometry.isGeometry)for(t=0;t<this.geometry.skinWeights.length;t++){var n=this.geometry.skinWeights[t];e=1/n.lengthManhattan(),e!==1/0?n.multiplyScalar(e):n.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){var r=new a,i=this.geometry.attributes.skinWeight;for(t=0;t<i.count;t++)r.x=i.getX(t),r.y=i.getY(t),r.z=i.getZ(t),r.w=i.getW(t),e=1/r.lengthManhattan(),e!==1/0?r.multiplyScalar(e):r.set(1,0,0,0),i.setXYZW(t,r.x,r.y,r.z,r.w)}},updateMatrixWorld:function(e){Be.prototype.updateMatrixWorld.call(this,e),"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),jt.prototype=Object.create($.prototype),jt.prototype.constructor=jt,jt.prototype.isLineBasicMaterial=!0,jt.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this},It.prototype=Object.assign(Object.create(fe.prototype),{constructor:It,isLine:!0,raycast:function(){var e=new p,t=new Ne,n=new ie;return function(r,i){var o=r.linePrecision,a=o*o,s=this.geometry,u=this.matrixWorld;if(null===s.boundingSphere&&s.computeBoundingSphere(),n.copy(s.boundingSphere),n.applyMatrix4(u),!1!==r.ray.intersectsSphere(n)){e.getInverse(u),t.copy(r.ray).applyMatrix4(e);var c=new l,p=new l,f=new l,h=new l,d=this&&this.isLineSegments?2:1;if(s.isBufferGeometry){var m=s.index,v=s.attributes,y=v.position.array;if(null!==m)for(var g=m.array,b=0,_=g.length-1;b<_;b+=d){var w=g[b],x=g[b+1];c.fromArray(y,3*w),p.fromArray(y,3*x);var E=t.distanceSqToSegment(c,p,h,f);if(!(E>a)){h.applyMatrix4(this.matrixWorld);var M=r.ray.origin.distanceTo(h);M<r.near||M>r.far||i.push({distance:M,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}else for(var b=0,_=y.length/3-1;b<_;b+=d){c.fromArray(y,3*b),p.fromArray(y,3*b+3);var E=t.distanceSqToSegment(c,p,h,f);if(!(E>a)){h.applyMatrix4(this.matrixWorld);var M=r.ray.origin.distanceTo(h);M<r.near||M>r.far||i.push({distance:M,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}else if(s.isGeometry)for(var O=s.vertices,T=O.length,b=0;b<T-1;b+=d){var E=t.distanceSqToSegment(O[b],O[b+1],h,f);if(!(E>a)){h.applyMatrix4(this.matrixWorld);var M=r.ray.origin.distanceTo(h);M<r.near||M>r.far||i.push({distance:M,point:f.clone().applyMatrix4(this.matrixWorld),index:b,face:null,faceIndex:null,object:this})}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Nt.prototype=Object.assign(Object.create(It.prototype),{constructor:Nt,isLineSegments:!0}),Ut.prototype=Object.assign(Object.create(It.prototype),{constructor:Ut,isLineLoop:!0}),Ft.prototype=Object.create($.prototype),Ft.prototype.constructor=Ft,Ft.prototype.isPointsMaterial=!0,Ft.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this},Bt.prototype=Object.assign(Object.create(fe.prototype),{constructor:Bt,isPoints:!0,raycast:function(){var e=new p,t=new Ne,n=new ie;return function(r,i){function o(e,n){var o=t.distanceSqToPoint(e);if(o<f){var s=t.closestPointToPoint(e);s.applyMatrix4(u);var c=r.ray.origin.distanceTo(s);if(c<r.near||c>r.far)return;i.push({distance:c,distanceToRay:Math.sqrt(o),point:s.clone(),index:n,face:null,object:a})}}var a=this,s=this.geometry,u=this.matrixWorld,c=r.params.Points.threshold;if(null===s.boundingSphere&&s.computeBoundingSphere(),n.copy(s.boundingSphere),n.applyMatrix4(u),n.radius+=c,!1!==r.ray.intersectsSphere(n)){e.getInverse(u),t.copy(r.ray).applyMatrix4(e);var p=c/((this.scale.x+this.scale.y+this.scale.z)/3),f=p*p,h=new l;if(s.isBufferGeometry){var d=s.index,m=s.attributes,v=m.position.array;if(null!==d)for(var y=d.array,g=0,b=y.length;g<b;g++){var _=y[g];h.fromArray(v,3*_),o(h,_)}else for(var g=0,w=v.length/3;g<w;g++)h.fromArray(v,3*g),o(h,g)}else for(var x=s.vertices,g=0,w=x.length;g<w;g++)o(x[g],g)}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),zt.prototype=Object.assign(Object.create(fe.prototype),{constructor:zt}),Ht.prototype=Object.create(o.prototype),Ht.prototype.constructor=Ht,Vt.prototype=Object.create(o.prototype),Vt.prototype.constructor=Vt,Vt.prototype.isCompressedTexture=!0,Gt.prototype=Object.create(o.prototype),Gt.prototype.constructor=Gt,Gt.prototype.isDepthTexture=!0,Wt.prototype=Object.create(Ae.prototype),Wt.prototype.constructor=Wt,qt.prototype=Object.create(ge.prototype),qt.prototype.constructor=qt,Xt.prototype=Object.create(Ae.prototype),Xt.prototype.constructor=Xt,Yt.prototype=Object.create(ge.prototype),Yt.prototype.constructor=Yt,Kt.prototype=Object.create(Ae.prototype),Kt.prototype.constructor=Kt,Zt.prototype=Object.create(ge.prototype),Zt.prototype.constructor=Zt,Qt.prototype=Object.create(Kt.prototype),Qt.prototype.constructor=Qt,Jt.prototype=Object.create(ge.prototype),Jt.prototype.constructor=Jt,$t.prototype=Object.create(Kt.prototype),$t.prototype.constructor=$t,en.prototype=Object.create(ge.prototype),en.prototype.constructor=en,tn.prototype=Object.create(Kt.prototype),tn.prototype.constructor=tn,nn.prototype=Object.create(ge.prototype),nn.prototype.constructor=nn,rn.prototype=Object.create(Kt.prototype),rn.prototype.constructor=rn,on.prototype=Object.create(ge.prototype),on.prototype.constructor=on,an.prototype=Object.create(Ae.prototype),an.prototype.constructor=an,sn.prototype=Object.create(ge.prototype),sn.prototype.constructor=sn,un.prototype=Object.create(Ae.prototype),un.prototype.constructor=un,cn.prototype=Object.create(ge.prototype),cn.prototype.constructor=cn,ln.prototype=Object.create(Ae.prototype),ln.prototype.constructor=ln;var Zs={area:function(e){for(var t=e.length,n=0,r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return.5*n},triangulate:function(){function e(e,t,n,r,i,o){var a,s,u,c,l,p,f,h,d;if(s=e[o[t]].x,u=e[o[t]].y,c=e[o[n]].x,l=e[o[n]].y,p=e[o[r]].x,f=e[o[r]].y,(c-s)*(f-u)-(l-u)*(p-s)<=0)return!1;var m,v,y,g,b,_,w,x,E,M,O,T,P,S,C;for(m=p-c,v=f-l,y=s-p,g=u-f,b=c-s,_=l-u,a=0;a<i;a++)if(h=e[o[a]].x,d=e[o[a]].y,!(h===s&&d===u||h===c&&d===l||h===p&&d===f)&&(w=h-s,x=d-u,E=h-c,M=d-l,O=h-p,T=d-f,C=m*M-v*E,P=b*x-_*w,S=y*T-g*O,C>=-Number.EPSILON&&S>=-Number.EPSILON&&P>=-Number.EPSILON))return!1;return!0}return function(t,n){var r=t.length;if(r<3)return null;var i,o,a,s=[],u=[],c=[];if(Zs.area(t)>0)for(o=0;o<r;o++)u[o]=o;else for(o=0;o<r;o++)u[o]=r-1-o;var l=r,p=2*l;for(o=l-1;l>2;){if(p--<=0)return console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()"),n?c:s;if(i=o,l<=i&&(i=0),o=i+1,l<=o&&(o=0),a=o+1,l<=a&&(a=0),e(t,i,o,a,l,u)){var f,h,d,m,v;for(f=u[i],h=u[o],d=u[a],s.push([t[f],t[h],t[d]]),c.push([u[i],u[o],u[a]]),m=o,v=o+1;v<l;m++,v++)u[m]=u[v];l--,p=2*l}}return n?c:s}}(),triangulateShape:function(e,t){function n(e){var t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function r(e,t,n){return e.x!==t.x?e.x<t.x?e.x<=n.x&&n.x<=t.x:t.x<=n.x&&n.x<=e.x:e.y<t.y?e.y<=n.y&&n.y<=t.y:t.y<=n.y&&n.y<=e.y}function i(e,t,n,i,o){var a=t.x-e.x,s=t.y-e.y,u=i.x-n.x,c=i.y-n.y,l=e.x-n.x,p=e.y-n.y,f=s*u-a*c,h=s*l-a*p;if(Math.abs(f)>Number.EPSILON){var d;if(f>0){if(h<0||h>f)return[];if((d=c*l-u*p)<0||d>f)return[]}else{if(h>0||h<f)return[];if((d=c*l-u*p)>0||d<f)return[]}if(0===d)return!o||0!==h&&h!==f?[e]:[];if(d===f)return!o||0!==h&&h!==f?[t]:[];if(0===h)return[n];if(h===f)return[i];var m=d/f;return[{x:e.x+m*a,y:e.y+m*s}]}if(0!==h||c*l!==u*p)return[];var v=0===a&&0===s,y=0===u&&0===c;if(v&&y)return e.x!==n.x||e.y!==n.y?[]:[e];if(v)return r(n,i,e)?[e]:[];if(y)return r(e,t,n)?[n]:[];var g,b,_,w,x,E,M,O;return 0!==a?(e.x<t.x?(g=e,_=e.x,b=t,w=t.x):(g=t,_=t.x,b=e,w=e.x),n.x<i.x?(x=n,M=n.x,E=i,O=i.x):(x=i,M=i.x,E=n,O=n.x)):(e.y<t.y?(g=e,_=e.y,b=t,w=t.y):(g=t,_=t.y,b=e,w=e.y),n.y<i.y?(x=n,M=n.y,E=i,O=i.y):(x=i,M=i.y,E=n,O=n.y)),_<=M?w<M?[]:w===M?o?[]:[x]:w<=O?[x,b]:[x,E]:_>O?[]:_===O?o?[]:[g]:w<=O?[g,b]:[g,E]}function o(e,t,n,r){var i=t.x-e.x,o=t.y-e.y,a=n.x-e.x,s=n.y-e.y,u=r.x-e.x,c=r.y-e.y,l=i*s-o*a,p=i*c-o*u;if(Math.abs(l)>Number.EPSILON){var f=u*s-c*a;return l>0?p>=0&&f>=0:p>=0||f>=0}return p>0}n(e),t.forEach(n);for(var a,s,u,c,l,p,f={},h=e.concat(),d=0,m=t.length;d<m;d++)Array.prototype.push.apply(h,t[d]);for(a=0,s=h.length;a<s;a++)l=h[a].x+":"+h[a].y,void 0!==f[l]&&console.warn("THREE.ShapeUtils: Duplicate point",l,a),f[l]=a;var v=function(e,t){for(var n,r,a,s,u,c,l,p,f,h,d,m=e.concat(),v=[],y=[],g=0,b=t.length;g<b;g++)v.push(g);for(var _=0,w=2*v.length;v.length>0;){if(--w<0){console.log('THREE.ShapeUtils: Infinite Loop! Holes left:" + indepHoles.length + ", Probably Hole outside Shape!');break}for(a=_;a<m.length;a++){s=m[a],r=-1;for(var g=0;g<v.length;g++)if(c=v[g],l=s.x+":"+s.y+":"+c,void 0===y[l]){n=t[c];for(var x=0;x<n.length;x++)if(u=n[x],function(e,t){var r=m.length-1,i=e-1;i<0&&(i=r);var a=e+1;a>r&&(a=0);var s=o(m[e],m[i],m[a],n[t]);if(!s)return!1;var u=n.length-1,c=t-1;c<0&&(c=u);var l=t+1;return l>u&&(l=0),!!(s=o(n[t],n[c],n[l],m[e]))}(a,x)&&!function(e,t){var n,r,o;for(n=0;n<m.length;n++)if(r=n+1,r%=m.length,o=i(e,t,m[n],m[r],!0),o.length>0)return!0;return!1}(s,u)&&!function(e,n){var r,o,a,s,u;for(r=0;r<v.length;r++)for(o=t[v[r]],a=0;a<o.length;a++)if(s=a+1,s%=o.length,u=i(e,n,o[a],o[s],!0),u.length>0)return!0;return!1}(s,u)){r=x,v.splice(g,1),p=m.slice(0,a+1),f=m.slice(a),h=n.slice(r),d=n.slice(0,r+1),m=p.concat(h).concat(d).concat(f),_=a;break}if(r>=0)break;y[l]=!0}if(r>=0)break}}return m}(e,t),y=Zs.triangulate(v,!1);for(a=0,s=y.length;a<s;a++)for(c=y[a],u=0;u<3;u++)l=c[u].x+":"+c[u].y,void 0!==(p=f[l])&&(c[u]=p);return y.concat()},isClockWise:function(e){return Zs.area(e)<0}};pn.prototype=Object.create(ge.prototype),pn.prototype.constructor=pn,fn.prototype=Object.create(Ae.prototype),fn.prototype.constructor=fn,fn.prototype.getArrays=function(){var e=this.getAttribute("position"),t=e?Array.prototype.slice.call(e.array):[],n=this.getAttribute("uv"),r=n?Array.prototype.slice.call(n.array):[],i=this.index;return{position:t,uv:r,index:i?Array.prototype.slice.call(i.array):[]}},fn.prototype.addShapeList=function(e,t){var n=e.length;t.arrays=this.getArrays();for(var r=0;r<n;r++){var i=e[r];this.addShape(i,t)}this.setIndex(t.arrays.index),this.addAttribute("position",new Pe(t.arrays.position,3)),this.addAttribute("uv",new Pe(t.arrays.uv,2))},fn.prototype.addShape=function(e,t){function n(e,t,n){return t||console.error("THREE.ExtrudeGeometry: vec does not exist"),t.clone().multiplyScalar(n).add(e)}function r(e,t,n){var r,o,a,s=e.x-t.x,u=e.y-t.y,c=n.x-e.x,l=n.y-e.y,p=s*s+u*u,f=s*l-u*c;if(Math.abs(f)>Number.EPSILON){var h=Math.sqrt(p),d=Math.sqrt(c*c+l*l),m=t.x-u/h,v=t.y+s/h,y=n.x-l/d,g=n.y+c/d,b=((y-m)*l-(g-v)*c)/(s*l-u*c);r=m+s*b-e.x,o=v+u*b-e.y;var _=r*r+o*o;if(_<=2)return new i(r,o);a=Math.sqrt(_/2)}else{var w=!1;s>Number.EPSILON?c>Number.EPSILON&&(w=!0):s<-Number.EPSILON?c<-Number.EPSILON&&(w=!0):Math.sign(u)===Math.sign(l)&&(w=!0),w?(r=-u,o=s,a=Math.sqrt(p)):(r=s,o=u,a=Math.sqrt(p/2))}return new i(r/a,o/a)}function o(e,t){var n,r;for(Z=e.length;--Z>=0;){n=Z,r=Z-1,r<0&&(r=e.length-1);var i=0,o=S+2*O;for(i=0;i<o;i++){var a=X*i,s=X*(i+1);u(t+n+a,t+r+a,t+r+s,t+n+s,e,i,o,n,r)}}}function a(e,t,n){w.push(e),w.push(t),w.push(n)}function s(e,t,n){c(e),c(t),c(n);var r=g.length/3,i=A.generateTopUV(j,g,r-3,r-2,r-1);p(i[0]),p(i[1]),p(i[2])}function u(e,t,n,r,i,o,a,s,u){c(e),c(t),c(r),c(t),c(n),c(r);var l=g.length/3,f=A.generateSideWallUV(j,g,l-6,l-3,l-2,l-1);p(f[0]),p(f[1]),p(f[3]),p(f[1]),p(f[2]),p(f[3])}function c(e){b.push(g.length/3),g.push(w[3*e+0]),g.push(w[3*e+1]),g.push(w[3*e+2])}function p(e){_.push(e.x),_.push(e.y)}var f,h,d,m,v,y=t.arrays?t.arrays:this.getArrays(),g=y.position,b=y.index,_=y.uv,w=[],x=void 0!==t.amount?t.amount:100,E=void 0!==t.bevelThickness?t.bevelThickness:6,M=void 0!==t.bevelSize?t.bevelSize:E-2,O=void 0!==t.bevelSegments?t.bevelSegments:3,T=void 0===t.bevelEnabled||t.bevelEnabled,P=void 0!==t.curveSegments?t.curveSegments:12,S=void 0!==t.steps?t.steps:1,C=t.extrudePath,R=!1,A=void 0!==t.UVGenerator?t.UVGenerator:pn.WorldUVGenerator;C&&(f=C.getSpacedPoints(S),R=!0,T=!1,h=void 0!==t.frames?t.frames:C.computeFrenetFrames(S,!1),d=new l,m=new l,v=new l),T||(O=0,E=0,M=0);var D,k,L,j=this,I=e.extractPoints(P),N=I.shape,U=I.holes;if(!Zs.isClockWise(N))for(N=N.reverse(),k=0,L=U.length;k<L;k++)D=U[k],Zs.isClockWise(D)&&(U[k]=D.reverse());var F=Zs.triangulateShape(N,U),B=N;for(k=0,L=U.length;k<L;k++)D=U[k],N=N.concat(D);for(var z,H,V,G,W,q,X=N.length,Y=F.length,K=[],Z=0,Q=B.length,J=Q-1,$=Z+1;Z<Q;Z++,J++,$++)J===Q&&(J=0),$===Q&&($=0),K[Z]=r(B[Z],B[J],B[$]);var ee,te=[],ne=K.concat();for(k=0,L=U.length;k<L;k++){for(D=U[k],ee=[],Z=0,Q=D.length,J=Q-1,$=Z+1;Z<Q;Z++,J++,$++)J===Q&&(J=0),$===Q&&($=0),ee[Z]=r(D[Z],D[J],D[$]);te.push(ee),ne=ne.concat(ee)}for(z=0;z<O;z++){for(V=z/O,G=E*Math.cos(V*Math.PI/2),H=M*Math.sin(V*Math.PI/2),Z=0,Q=B.length;Z<Q;Z++)W=n(B[Z],K[Z],H),a(W.x,W.y,-G);for(k=0,L=U.length;k<L;k++)for(D=U[k],ee=te[k],Z=0,Q=D.length;Z<Q;Z++)W=n(D[Z],ee[Z],H),a(W.x,W.y,-G)}for(H=M,Z=0;Z<X;Z++)W=T?n(N[Z],ne[Z],H):N[Z],R?(m.copy(h.normals[0]).multiplyScalar(W.x),d.copy(h.binormals[0]).multiplyScalar(W.y),v.copy(f[0]).add(m).add(d),a(v.x,v.y,v.z)):a(W.x,W.y,0);var re;for(re=1;re<=S;re++)for(Z=0;Z<X;Z++)W=T?n(N[Z],ne[Z],H):N[Z],R?(m.copy(h.normals[re]).multiplyScalar(W.x),d.copy(h.binormals[re]).multiplyScalar(W.y),v.copy(f[re]).add(m).add(d),a(v.x,v.y,v.z)):a(W.x,W.y,x/S*re);for(z=O-1;z>=0;z--){for(V=z/O,G=E*Math.cos(V*Math.PI/2),H=M*Math.sin(V*Math.PI/2),Z=0,Q=B.length;Z<Q;Z++)W=n(B[Z],K[Z],H),a(W.x,W.y,x+G);for(k=0,L=U.length;k<L;k++)for(D=U[k],ee=te[k],Z=0,Q=D.length;Z<Q;Z++)W=n(D[Z],ee[Z],H),R?a(W.x,W.y+f[S-1].y,f[S-1].x+G):a(W.x,W.y,x+G)}!function(){var e=g.length/3;if(T){var n=0,r=X*n;for(Z=0;Z<Y;Z++)q=F[Z],s(q[2]+r,q[1]+r,q[0]+r);for(n=S+2*O,r=X*n,Z=0;Z<Y;Z++)q=F[Z],s(q[0]+r,q[1]+r,q[2]+r)}else{for(Z=0;Z<Y;Z++)q=F[Z],s(q[2],q[1],q[0]);for(Z=0;Z<Y;Z++)q=F[Z],s(q[0]+X*S,q[1]+X*S,q[2]+X*S)}j.addGroup(e,g.length/3-e,void 0!==t.material?t.material:0)}(),function(){var e=g.length/3,n=0;for(o(B,n),n+=B.length,k=0,L=U.length;k<L;k++)D=U[k],o(D,n),n+=D.length;j.addGroup(e,g.length/3-e,void 0!==t.extrudeMaterial?t.extrudeMaterial:1)}(),t.arrays||(this.setIndex(b),this.addAttribute("position",new Pe(g,3)),this.addAttribute("uv",new Pe(t.arrays.uv,2)))},pn.WorldUVGenerator={generateTopUV:function(e,t,n,r,o){var a=t[3*n],s=t[3*n+1],u=t[3*r],c=t[3*r+1],l=t[3*o],p=t[3*o+1];return[new i(a,s),new i(u,c),new i(l,p)]},generateSideWallUV:function(e,t,n,r,o,a){var s=t[3*n],u=t[3*n+1],c=t[3*n+2],l=t[3*r],p=t[3*r+1],f=t[3*r+2],h=t[3*o],d=t[3*o+1],m=t[3*o+2],v=t[3*a],y=t[3*a+1],g=t[3*a+2];return Math.abs(u-p)<.01?[new i(s,1-c),new i(l,1-f),new i(h,1-m),new i(v,1-g)]:[new i(u,1-c),new i(p,1-f),new i(d,1-m),new i(y,1-g)]}},hn.prototype=Object.create(ge.prototype),hn.prototype.constructor=hn,dn.prototype=Object.create(fn.prototype),dn.prototype.constructor=dn,mn.prototype=Object.create(ge.prototype),mn.prototype.constructor=mn,vn.prototype=Object.create(Ae.prototype),vn.prototype.constructor=vn,yn.prototype=Object.create(ge.prototype),yn.prototype.constructor=yn,gn.prototype=Object.create(Ae.prototype),gn.prototype.constructor=gn,bn.prototype=Object.create(ge.prototype),bn.prototype.constructor=bn,_n.prototype=Object.create(Ae.prototype),_n.prototype.constructor=_n,wn.prototype=Object.create(ge.prototype),wn.prototype.constructor=wn,xn.prototype=Object.create(Ae.prototype),xn.prototype.constructor=xn,En.prototype=Object.create(Ae.prototype),En.prototype.constructor=En,Mn.prototype=Object.create(ge.prototype),Mn.prototype.constructor=Mn,On.prototype=Object.create(Ae.prototype),On.prototype.constructor=On,Tn.prototype=Object.create(Mn.prototype),Tn.prototype.constructor=Tn,Pn.prototype=Object.create(On.prototype),Pn.prototype.constructor=Pn,Sn.prototype=Object.create(ge.prototype),Sn.prototype.constructor=Sn,Cn.prototype=Object.create(Ae.prototype),Cn.prototype.constructor=Cn;var Qs=Object.freeze({WireframeGeometry:Wt,ParametricGeometry:qt,ParametricBufferGeometry:Xt,TetrahedronGeometry:Zt,TetrahedronBufferGeometry:Qt,OctahedronGeometry:Jt,OctahedronBufferGeometry:$t,IcosahedronGeometry:en,IcosahedronBufferGeometry:tn,DodecahedronGeometry:nn,DodecahedronBufferGeometry:rn,PolyhedronGeometry:Yt,PolyhedronBufferGeometry:Kt,TubeGeometry:on,TubeBufferGeometry:an,TorusKnotGeometry:sn,TorusKnotBufferGeometry:un,TorusGeometry:cn,TorusBufferGeometry:ln,TextGeometry:hn,TextBufferGeometry:dn,SphereGeometry:mn,SphereBufferGeometry:vn,RingGeometry:yn,RingBufferGeometry:gn,PlaneGeometry:Le,PlaneBufferGeometry:je,LatheGeometry:bn,LatheBufferGeometry:_n,ShapeGeometry:wn,ShapeBufferGeometry:xn,ExtrudeGeometry:pn,ExtrudeBufferGeometry:fn,EdgesGeometry:En,ConeGeometry:Tn,ConeBufferGeometry:Pn,CylinderGeometry:Mn,CylinderBufferGeometry:On,CircleGeometry:Sn,CircleBufferGeometry:Cn,BoxGeometry:De,BoxBufferGeometry:ke});Rn.prototype=Object.create($.prototype),Rn.prototype.constructor=Rn,Rn.prototype.isShadowMaterial=!0,An.prototype=Object.create(ee.prototype),An.prototype.constructor=An,An.prototype.isRawShaderMaterial=!0,Dn.prototype=Object.create($.prototype),Dn.prototype.constructor=Dn,Dn.prototype.isMeshStandardMaterial=!0,Dn.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},kn.prototype=Object.create(Dn.prototype),kn.prototype.constructor=kn,kn.prototype.isMeshPhysicalMaterial=!0,kn.prototype.copy=function(e){return Dn.prototype.copy.call(this,e),this.defines={PHYSICAL:""},this.reflectivity=e.reflectivity,this.clearCoat=e.clearCoat,this.clearCoatRoughness=e.clearCoatRoughness,this},Ln.prototype=Object.create($.prototype),Ln.prototype.constructor=Ln,Ln.prototype.isMeshPhongMaterial=!0,Ln.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},jn.prototype=Object.create(Ln.prototype),jn.prototype.constructor=jn,jn.prototype.isMeshToonMaterial=!0,jn.prototype.copy=function(e){return Ln.prototype.copy.call(this,e),this.gradientMap=e.gradientMap,this},In.prototype=Object.create($.prototype),In.prototype.constructor=In,In.prototype.isMeshNormalMaterial=!0,In.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Nn.prototype=Object.create($.prototype),Nn.prototype.constructor=Nn,Nn.prototype.isMeshLambertMaterial=!0,Nn.prototype.copy=function(e){return $.prototype.copy.call(this,e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.skinning=e.skinning,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this},Un.prototype=Object.create(jt.prototype),Un.prototype.constructor=Un,Un.prototype.isLineDashedMaterial=!0,Un.prototype.copy=function(e){return jt.prototype.copy.call(this,e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this};var Js=Object.freeze({ShadowMaterial:Rn,SpriteMaterial:Ct,RawShaderMaterial:An,ShaderMaterial:ee,PointsMaterial:Ft,MeshPhysicalMaterial:kn,MeshStandardMaterial:Dn,MeshPhongMaterial:Ln,MeshToonMaterial:jn,MeshNormalMaterial:In,MeshLambertMaterial:Nn,MeshDepthMaterial:te,MeshDistanceMaterial:ne,MeshBasicMaterial:Ie,LineDashedMaterial:Un,LineBasicMaterial:jt,Material:$}),$s={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},eu=new Fn;Object.assign(Bn.prototype,{load:function(e,t,n,r){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e);var i=this,o=$s.get(e);if(void 0!==o)return i.manager.itemStart(e),setTimeout(function(){t&&t(o),i.manager.itemEnd(e)},0),o;var a=/^data:(.*?)(;base64)?,(.*)$/,s=e.match(a);if(s){var u=s[1],c=!!s[2],l=s[3];l=window.decodeURIComponent(l),c&&(l=window.atob(l));try{var p,f=(this.responseType||"").toLowerCase();switch(f){case"arraybuffer":case"blob":p=new ArrayBuffer(l.length);for(var h=new Uint8Array(p),d=0;d<l.length;d++)h[d]=l.charCodeAt(d);"blob"===f&&(p=new Blob([p],{type:u}));break;case"document":var m=new DOMParser;p=m.parseFromString(l,u);break;case"json":p=JSON.parse(l);break;default:p=l}window.setTimeout(function(){t&&t(p),i.manager.itemEnd(e)},0)}catch(t){window.setTimeout(function(){r&&r(t),i.manager.itemEnd(e),i.manager.itemError(e)},0)}}else{var v=new XMLHttpRequest;v.open("GET",e,!0),v.addEventListener("load",function(n){var o=n.target.response;$s.add(e,o),200===this.status?(t&&t(o),i.manager.itemEnd(e)):0===this.status?(console.warn("THREE.FileLoader: HTTP Status 0 received."),t&&t(o),i.manager.itemEnd(e)):(r&&r(n),i.manager.itemEnd(e),i.manager.itemError(e))},!1),void 0!==n&&v.addEventListener("progress",function(e){n(e)},!1),v.addEventListener("error",function(t){r&&r(t),i.manager.itemEnd(e),i.manager.itemError(e)},!1),void 0!==this.responseType&&(v.responseType=this.responseType),void 0!==this.withCredentials&&(v.withCredentials=this.withCredentials),v.overrideMimeType&&v.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain");for(var y in this.requestHeader)v.setRequestHeader(y,this.requestHeader[y]);v.send(null)}return i.manager.itemStart(e),v},setPath:function(e){return this.path=e,this},setResponseType:function(e){return this.responseType=e,this},setWithCredentials:function(e){return this.withCredentials=e,this},setMimeType:function(e){return this.mimeType=e,this},setRequestHeader:function(e){return this.requestHeader=e,this}}),Object.assign(zn.prototype,{load:function(e,t,n,r){var i=this,o=[],a=new Vt;a.image=o;var s=new Bn(this.manager);if(s.setPath(this.path),s.setResponseType("arraybuffer"),Array.isArray(e))for(var u=0,c=0,l=e.length;c<l;++c)!function(c){s.load(e[c],function(e){var n=i._parser(e,!0);o[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},6===(u+=1)&&(1===n.mipmapCount&&(a.minFilter=Da),a.format=n.format,a.needsUpdate=!0,t&&t(a))},n,r)}(c);else s.load(e,function(e){var n=i._parser(e,!0);if(n.isCubemap)for(var r=n.mipmaps.length/n.mipmapCount,s=0;s<r;s++){o[s]={mipmaps:[]};for(var u=0;u<n.mipmapCount;u++)o[s].mipmaps.push(n.mipmaps[s*n.mipmapCount+u]),o[s].format=n.format,o[s].width=n.width,o[s].height=n.height}else a.image.width=n.width,a.image.height=n.height,a.mipmaps=n.mipmaps;1===n.mipmapCount&&(a.minFilter=Da),a.format=n.format,a.needsUpdate=!0,t&&t(a)},n,r);return a},setPath:function(e){return this.path=e,this}}),Object.assign(Hn.prototype,{load:function(e,t,n,r){var i=this,o=new f,a=new Bn(this.manager);return a.setResponseType("arraybuffer"),a.load(e,function(e){var n=i._parser(e);n&&(void 0!==n.image?o.image=n.image:void 0!==n.data&&(o.image.width=n.width,o.image.height=n.height,o.image.data=n.data),o.wrapS=void 0!==n.wrapS?n.wrapS:Pa,o.wrapT=void 0!==n.wrapT?n.wrapT:Pa,o.magFilter=void 0!==n.magFilter?n.magFilter:Da,o.minFilter=void 0!==n.minFilter?n.minFilter:La,o.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.format&&(o.format=n.format),void 0!==n.type&&(o.type=n.type),void 0!==n.mipmaps&&(o.mipmaps=n.mipmaps),1===n.mipmapCount&&(o.minFilter=Da),o.needsUpdate=!0,t&&t(o,n))},n,r),o}}),Object.assign(Vn.prototype,{crossOrigin:"Anonymous",load:function(e,t,n,r){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e);var i=this,o=$s.get(e);if(void 0!==o)return i.manager.itemStart(e),setTimeout(function(){t&&t(o),i.manager.itemEnd(e)},0),o;var a=document.createElementNS("http://www.w3.org/1999/xhtml","img");return a.addEventListener("load",function(){$s.add(e,this),t&&t(this),i.manager.itemEnd(e)},!1),a.addEventListener("error",function(t){r&&r(t),i.manager.itemEnd(e),i.manager.itemError(e)},!1),"data:"!==e.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),i.manager.itemStart(e),a.src=e,a},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),Object.assign(Gn.prototype,{crossOrigin:"Anonymous",load:function(e,t,n,r){var i=new h,o=new Vn(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);for(var a=0,s=0;s<e.length;++s)!function(n){o.load(e[n],function(e){i.images[n]=e,6===++a&&(i.needsUpdate=!0,t&&t(i))},void 0,r)}(s);return i},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),Object.assign(Wn.prototype,{crossOrigin:"Anonymous",load:function(e,t,n,r){var i=new Vn(this.manager);i.setCrossOrigin(this.crossOrigin),i.setPath(this.path);var a=new o;return a.image=i.load(e,function(){var n=e.search(/\.(jpg|jpeg)$/)>0||0===e.search(/^data\:image\/jpeg/);a.format=n?Ya:Ka,a.needsUpdate=!0,void 0!==t&&t(a)},n,r),a},setCrossOrigin:function(e){return this.crossOrigin=e,this},setPath:function(e){return this.path=e,this}}),qn.prototype=Object.assign(Object.create(fe.prototype),{constructor:qn,isLight:!0,copy:function(e){return fe.prototype.copy.call(this,e),this.color.copy(e.color),this.intensity=e.intensity,this},toJSON:function(e){var t=fe.prototype.toJSON.call(this,e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}),Xn.prototype=Object.assign(Object.create(qn.prototype),{constructor:Xn,isHemisphereLight:!0,copy:function(e){return qn.prototype.copy.call(this,e),this.groundColor.copy(e.groundColor),this}}),Object.assign(Yn.prototype,{copy:function(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var e={};return 0!==this.bias&&(e.bias=this.bias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}),Kn.prototype=Object.assign(Object.create(Yn.prototype),{constructor:Kn,isSpotLightShadow:!0,update:function(e){var t=this.camera,n=2*Ds.RAD2DEG*e.angle,r=this.mapSize.width/this.mapSize.height,i=e.distance||t.far;n===t.fov&&r===t.aspect&&i===t.far||(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix())}}),Zn.prototype=Object.assign(Object.create(qn.prototype),{constructor:Zn,isSpotLight:!0,copy:function(e){return qn.prototype.copy.call(this,e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),Qn.prototype=Object.assign(Object.create(qn.prototype),{constructor:Qn,isPointLight:!0,copy:function(e){return qn.prototype.copy.call(this,e),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}),Jn.prototype=Object.assign(Object.create(Yn.prototype),{constructor:Jn}),$n.prototype=Object.assign(Object.create(qn.prototype),{constructor:$n,isDirectionalLight:!0,copy:function(e){return qn.prototype.copy.call(this,e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}),er.prototype=Object.assign(Object.create(qn.prototype),{constructor:er,isAmbientLight:!0}),tr.prototype=Object.assign(Object.create(qn.prototype),{constructor:tr,isRectAreaLight:!0,copy:function(e){return qn.prototype.copy.call(this,e),this.width=e.width,this.height=e.height,this},toJSON:function(e){var t=qn.prototype.toJSON.call(this,e);return t.object.width=this.width,t.object.height=this.height,t}});var tu={arraySlice:function(e,t,n){return tu.isTypedArray(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:"number"===typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){function t(t,n){return e[t]-e[n]}for(var n=e.length,r=new Array(n),i=0;i!==n;++i)r[i]=i;return r.sort(t),r},sortedArray:function(e,t,n){for(var r=e.length,i=new e.constructor(r),o=0,a=0;a!==r;++o)for(var s=n[o]*t,u=0;u!==t;++u)i[a++]=e[s+u];return i},flattenJSON:function(e,t,n,r){for(var i=1,o=e[0];void 0!==o&&void 0===o[r];)o=e[i++];if(void 0!==o){var a=o[r];if(void 0!==a)if(Array.isArray(a))do{a=o[r],void 0!==a&&(t.push(o.time),n.push.apply(n,a)),o=e[i++]}while(void 0!==o);else if(void 0!==a.toArray)do{a=o[r],void 0!==a&&(t.push(o.time),a.toArray(n,n.length)),o=e[i++]}while(void 0!==o);else do{a=o[r],void 0!==a&&(t.push(o.time),n.push(a)),o=e[i++]}while(void 0!==o)}}};Object.assign(nr.prototype,{evaluate:function(e){var t=this.parameterPositions,n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{var o;n:{r:if(!(e<r)){for(var a=n+2;;){if(void 0===r){if(e<i)break r;return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,e,i)}if(n===a)break;if(i=r,r=t[++n],e<r)break t}o=t.length;break n}{if(e>=i)break e;var s=t[1];e<s&&(n=2,i=s);for(var a=n-2;;){if(void 0===i)return this._cachedIndex=0,this.beforeStart_(0,e,r);if(n===a)break;if(r=i,i=t[--n-1],e>=i)break t}o=n,n=0}}for(;n<o;){var u=n+o>>>1;e<t[u]?o=u:n=u+1}if(r=t[n],void 0===(i=t[n-1]))return this._cachedIndex=0,this.beforeStart_(0,e,r);if(void 0===r)return n=t.length,this._cachedIndex=n,this.afterEnd_(n-1,i,e)}this._cachedIndex=n,this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(e){for(var t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r,o=0;o!==r;++o)t[o]=n[i+o];return t},interpolate_:function(e,t,n,r){throw new Error("call to abstract method")},intervalChanged_:function(e,t,n){}}),Object.assign(nr.prototype,{beforeStart_:nr.prototype.copySampleValue_,afterEnd_:nr.prototype.copySampleValue_}),rr.prototype=Object.assign(Object.create(nr.prototype),{constructor:rr,DefaultSettings_:{endingStart:vs,endingEnd:vs},intervalChanged_:function(e,t,n){var r=this.parameterPositions,i=e-2,o=e+1,a=r[i],s=r[o];if(void 0===a)switch(this.getSettings_().endingStart){case ys:i=e,a=2*t-n;break;case gs:i=r.length-2,a=t+r[i]-r[i+1];break;default:i=e,a=n}if(void 0===s)switch(this.getSettings_().endingEnd){case ys:o=e,s=2*n-t;break;case gs:o=1,s=n+r[1]-r[0];break;default:o=e-1,s=t}var u=.5*(n-t),c=this.valueSize;this._weightPrev=u/(t-a),this._weightNext=u/(s-n),this._offsetPrev=i*c,this._offsetNext=o*c},interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,u=s-a,c=this._offsetPrev,l=this._offsetNext,p=this._weightPrev,f=this._weightNext,h=(n-t)/(r-t),d=h*h,m=d*h,v=-p*m+2*p*d-p*h,y=(1+p)*m+(-1.5-2*p)*d+(-.5+p)*h+1,g=(-1-f)*m+(1.5+f)*d+.5*h,b=f*m-f*d,_=0;_!==a;++_)i[_]=v*o[c+_]+y*o[u+_]+g*o[s+_]+b*o[l+_];return i}}),ir.prototype=Object.assign(Object.create(nr.prototype),{constructor:ir,interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,u=s-a,c=(n-t)/(r-t),l=1-c,p=0;p!==a;++p)i[p]=o[u+p]*l+o[s+p]*c;return i}}),or.prototype=Object.assign(Object.create(nr.prototype),{constructor:or,interpolate_:function(e,t,n,r){return this.copySampleValue_(e-1)}});var nu;nu={TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:ds,InterpolantFactoryMethodDiscrete:function(e){return new or(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodLinear:function(e){return new ir(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:function(e){return new rr(this.times,this.values,this.getValueSize(),e)},setInterpolation:function(e){var t;switch(e){case hs:t=this.InterpolantFactoryMethodDiscrete;break;case ds:t=this.InterpolantFactoryMethodLinear;break;case ms:t=this.InterpolantFactoryMethodSmooth}if(void 0===t){var n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(n);this.setInterpolation(this.DefaultInterpolation)}return void console.warn("THREE.KeyframeTrackPrototype:",n)}this.createInterpolant=t},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return hs;case this.InterpolantFactoryMethodLinear:return ds;case this.InterpolantFactoryMethodSmooth:return ms}},getValueSize:function(){return this.values.length/this.times.length},shift:function(e){if(0!==e)for(var t=this.times,n=0,r=t.length;n!==r;++n)t[n]+=e;return this},scale:function(e){if(1!==e)for(var t=this.times,n=0,r=t.length;n!==r;++n)t[n]*=e;return this},trim:function(e,t){for(var n=this.times,r=n.length,i=0,o=r-1;i!==r&&n[i]<e;)++i;for(;-1!==o&&n[o]>t;)--o;if(++o,0!==i||o!==r){i>=o&&(o=Math.max(o,1),i=o-1);var a=this.getValueSize();this.times=tu.arraySlice(n,i,o),this.values=tu.arraySlice(this.values,i*a,o*a)}return this},validate:function(){var e=!0,t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrackPrototype: Invalid value size in track.",this),e=!1);var n=this.times,r=this.values,i=n.length;0===i&&(console.error("THREE.KeyframeTrackPrototype: Track is empty.",this),e=!1);for(var o=null,a=0;a!==i;a++){var s=n[a];if("number"===typeof s&&isNaN(s)){console.error("THREE.KeyframeTrackPrototype: Time is not a valid number.",this,a,s),e=!1;break}if(null!==o&&o>s){console.error("THREE.KeyframeTrackPrototype: Out of order keys.",this,a,s,o),e=!1;break}o=s}if(void 0!==r&&tu.isTypedArray(r))for(var a=0,u=r.length;a!==u;++a){var c=r[a];if(isNaN(c)){console.error("THREE.KeyframeTrackPrototype: Value is not a valid number.",this,a,c),e=!1;break}}return e},optimize:function(){for(var e=this.times,t=this.values,n=this.getValueSize(),r=this.getInterpolation()===ms,i=1,o=e.length-1,a=1;a<o;++a){var s=!1,u=e[a];if(u!==e[a+1]&&(1!==a||u!==u[0]))if(r)s=!0;else for(var c=a*n,l=c-n,p=c+n,f=0;f!==n;++f){var h=t[c+f];if(h!==t[l+f]||h!==t[p+f]){s=!0;break}}if(s){if(a!==i){e[i]=e[a];for(var d=a*n,m=i*n,f=0;f!==n;++f)t[m+f]=t[d+f]}++i}}if(o>0){e[i]=e[o];for(var d=o*n,m=i*n,f=0;f!==n;++f)t[m+f]=t[d+f];++i}return i!==e.length&&(this.times=tu.arraySlice(e,0,i),this.values=tu.arraySlice(t,0,i*n)),this}},sr.prototype=Object.assign(Object.create(nu),{constructor:sr,ValueTypeName:"vector"}),ur.prototype=Object.assign(Object.create(nr.prototype),{constructor:ur,interpolate_:function(e,t,n,r){for(var i=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,u=(n-t)/(r-t),l=s+a;s!==l;s+=4)c.slerpFlat(i,0,o,s-a,o,s,u);return i}}),cr.prototype=Object.assign(Object.create(nu),{constructor:cr,ValueTypeName:"quaternion",DefaultInterpolation:ds,InterpolantFactoryMethodLinear:function(e){return new ur(this.times,this.values,this.getValueSize(),e)},InterpolantFactoryMethodSmooth:void 0}),lr.prototype=Object.assign(Object.create(nu),{constructor:lr,ValueTypeName:"number"}),pr.prototype=Object.assign(Object.create(nu),{constructor:pr,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:hs,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),fr.prototype=Object.assign(Object.create(nu),{constructor:fr,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:hs,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),hr.prototype=Object.assign(Object.create(nu),{constructor:hr,ValueTypeName:"color"}),dr.prototype=nu,nu.constructor=dr,Object.assign(dr,{parse:function(e){if(void 0===e.type)throw new Error("track type undefined, can not parse");var t=dr._getTrackTypeForValueTypeName(e.type);if(void 0===e.times){var n=[],r=[];tu.flattenJSON(e.keys,n,r,"value"),e.times=n,e.values=r}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)},toJSON:function(e){var t,n=e.constructor;if(void 0!==n.toJSON)t=n.toJSON(e);else{t={name:e.name,times:tu.convertArray(e.times,Array),values:tu.convertArray(e.values,Array)};var r=e.getInterpolation();r!==e.DefaultInterpolation&&(t.interpolation=r)}return t.type=e.ValueTypeName,t},_getTrackTypeForValueTypeName:function(e){switch(e.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return lr;case"vector":case"vector2":case"vector3":case"vector4":return sr;case"color":return hr;case"quaternion":return cr;case"bool":case"boolean":return fr;case"string":return pr}throw new Error("Unsupported typeName: "+e)}}),Object.assign(mr,{parse:function(e){for(var t=[],n=e.tracks,r=1/(e.fps||1),i=0,o=n.length;i!==o;++i)t.push(dr.parse(n[i]).scale(r));return new mr(e.name,e.duration,t)},toJSON:function(e){for(var t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t},i=0,o=n.length;i!==o;++i)t.push(dr.toJSON(n[i]));return r},CreateFromMorphTargetSequence:function(e,t,n,r){for(var i=t.length,o=[],a=0;a<i;a++){var s=[],u=[];s.push((a+i-1)%i,a,(a+1)%i),u.push(0,1,0);var c=tu.getKeyframeOrder(s);s=tu.sortedArray(s,1,c),u=tu.sortedArray(u,1,c),r||0!==s[0]||(s.push(i),u.push(u[0])),o.push(new lr(".morphTargetInfluences["+t[a].name+"]",s,u).scale(1/n))}return new mr(e,-1,o)},findByName:function(e,t){var n=e;if(!Array.isArray(e)){var r=e;n=r.geometry&&r.geometry.animations||r.animations}for(var i=0;i<n.length;i++)if(n[i].name===t)return n[i];return null},CreateClipsFromMorphTargetSequences:function(e,t,n){for(var r={},i=/^([\w-]*?)([\d]+)$/,o=0,a=e.length;o<a;o++){var s=e[o],u=s.name.match(i);if(u&&u.length>1){var c=u[1],l=r[c];l||(r[c]=l=[]),l.push(s)}}var p=[];for(var c in r)p.push(mr.CreateFromMorphTargetSequence(c,r[c],t,n));return p},parseAnimation:function(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;for(var n=function(e,t,n,r,i){if(0!==n.length){var o=[],a=[];tu.flattenJSON(n,o,a,r),0!==o.length&&i.push(new e(t,o,a))}},r=[],i=e.name||"default",o=e.length||-1,a=e.fps||30,s=e.hierarchy||[],u=0;u<s.length;u++){var c=s[u].keys;if(c&&0!==c.length)if(c[0].morphTargets){for(var l={},p=0;p<c.length;p++)if(c[p].morphTargets)for(var f=0;f<c[p].morphTargets.length;f++)l[c[p].morphTargets[f]]=-1;for(var h in l){for(var d=[],m=[],f=0;f!==c[p].morphTargets.length;++f){var v=c[p];d.push(v.time),m.push(v.morphTarget===h?1:0)}r.push(new lr(".morphTargetInfluence["+h+"]",d,m))}o=l.length*(a||1)}else{var y=".bones["+t[u].name+"]";n(sr,y+".position",c,"pos",r),n(cr,y+".quaternion",c,"rot",r),n(sr,y+".scale",c,"scl",r)}}return 0===r.length?null:new mr(i,o,r)}}),Object.assign(mr.prototype,{resetDuration:function(){for(var e=this.tracks,t=0,n=0,r=e.length;n!==r;++n){var i=this.tracks[n];t=Math.max(t,i.times[i.times.length-1])}this.duration=t},trim:function(){for(var e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this},optimize:function(){for(var e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}}),Object.assign(vr.prototype,{load:function(e,t,n,r){var i=this;new Bn(i.manager).load(e,function(e){t(i.parse(JSON.parse(e)))},n,r)},setTextures:function(e){this.textures=e},parse:function(e){function t(e){return void 0===n[e]&&console.warn("THREE.MaterialLoader: Undefined texture",e),n[e]}var n=this.textures,r=new Js[e.type];if(void 0!==e.uuid&&(r.uuid=e.uuid),void 0!==e.name&&(r.name=e.name),void 0!==e.color&&r.color.setHex(e.color),void 0!==e.roughness&&(r.roughness=e.roughness),void 0!==e.metalness&&(r.metalness=e.metalness),void 0!==e.emissive&&r.emissive.setHex(e.emissive),void 0!==e.specular&&r.specular.setHex(e.specular),void 0!==e.shininess&&(r.shininess=e.shininess),void 0!==e.clearCoat&&(r.clearCoat=e.clearCoat),void 0!==e.clearCoatRoughness&&(r.clearCoatRoughness=e.clearCoatRoughness),void 0!==e.uniforms&&(r.uniforms=e.uniforms),void 0!==e.vertexShader&&(r.vertexShader=e.vertexShader),void 0!==e.fragmentShader&&(r.fragmentShader=e.fragmentShader),void 0!==e.vertexColors&&(r.vertexColors=e.vertexColors),void 0!==e.fog&&(r.fog=e.fog),void 0!==e.flatShading&&(r.flatShading=e.flatShading),void 0!==e.blending&&(r.blending=e.blending),void 0!==e.side&&(r.side=e.side),void 0!==e.opacity&&(r.opacity=e.opacity),void 0!==e.transparent&&(r.transparent=e.transparent),void 0!==e.alphaTest&&(r.alphaTest=e.alphaTest),void 0!==e.depthTest&&(r.depthTest=e.depthTest),void 0!==e.depthWrite&&(r.depthWrite=e.depthWrite),void 0!==e.colorWrite&&(r.colorWrite=e.colorWrite),void 0!==e.wireframe&&(r.wireframe=e.wireframe),void 0!==e.wireframeLinewidth&&(r.wireframeLinewidth=e.wireframeLinewidth),void 0!==e.wireframeLinecap&&(r.wireframeLinecap=e.wireframeLinecap),void 0!==e.wireframeLinejoin&&(r.wireframeLinejoin=e.wireframeLinejoin),void 0!==e.skinning&&(r.skinning=e.skinning),void 0!==e.morphTargets&&(r.morphTargets=e.morphTargets),void 0!==e.dithering&&(r.dithering=e.dithering),void 0!==e.visible&&(r.visible=e.visible),void 0!==e.userData&&(r.userData=e.userData),void 0!==e.shading&&(r.flatShading=1===e.shading),void 0!==e.size&&(r.size=e.size),void 0!==e.sizeAttenuation&&(r.sizeAttenuation=e.sizeAttenuation),void 0!==e.map&&(r.map=t(e.map)),void 0!==e.alphaMap&&(r.alphaMap=t(e.alphaMap),r.transparent=!0),void 0!==e.bumpMap&&(r.bumpMap=t(e.bumpMap)),void 0!==e.bumpScale&&(r.bumpScale=e.bumpScale),void 0!==e.normalMap&&(r.normalMap=t(e.normalMap)),void 0!==e.normalScale){var o=e.normalScale;!1===Array.isArray(o)&&(o=[o,o]),r.normalScale=(new i).fromArray(o)}return void 0!==e.displacementMap&&(r.displacementMap=t(e.displacementMap)),void 0!==e.displacementScale&&(r.displacementScale=e.displacementScale),void 0!==e.displacementBias&&(r.displacementBias=e.displacementBias),void 0!==e.roughnessMap&&(r.roughnessMap=t(e.roughnessMap)),void 0!==e.metalnessMap&&(r.metalnessMap=t(e.metalnessMap)),void 0!==e.emissiveMap&&(r.emissiveMap=t(e.emissiveMap)),void 0!==e.emissiveIntensity&&(r.emissiveIntensity=e.emissiveIntensity),void 0!==e.specularMap&&(r.specularMap=t(e.specularMap)),void 0!==e.envMap&&(r.envMap=t(e.envMap)),void 0!==e.reflectivity&&(r.reflectivity=e.reflectivity),void 0!==e.lightMap&&(r.lightMap=t(e.lightMap)),void 0!==e.lightMapIntensity&&(r.lightMapIntensity=e.lightMapIntensity),void 0!==e.aoMap&&(r.aoMap=t(e.aoMap)),void 0!==e.aoMapIntensity&&(r.aoMapIntensity=e.aoMapIntensity),void 0!==e.gradientMap&&(r.gradientMap=t(e.gradientMap)),r}}),Object.assign(yr.prototype,{load:function(e,t,n,r){var i=this;new Bn(i.manager).load(e,function(e){t(i.parse(JSON.parse(e)))},n,r)},parse:function(e){var t=new Ae,n=e.data.index;if(void 0!==n){var r=new ru[n.type](n.array);t.setIndex(new be(r,1))}var i=e.data.attributes;for(var o in i){var a=i[o],r=new ru[a.type](a.array);t.addAttribute(o,new be(r,a.itemSize,a.normalized))}var s=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==s)for(var u=0,c=s.length;u!==c;++u){var p=s[u];t.addGroup(p.start,p.count,p.materialIndex)}var f=e.data.boundingSphere;if(void 0!==f){var h=new l;void 0!==f.center&&h.fromArray(f.center),t.boundingSphere=new ie(h,f.radius)}return t}});var ru={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:"undefined"!==typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};gr.Handlers={handlers:[],add:function(e,t){this.handlers.push(e,t)},get:function(e){for(var t=this.handlers,n=0,r=t.length;n<r;n+=2){var i=t[n],o=t[n+1];if(i.test(e))return o}return null}},Object.assign(gr.prototype,{crossOrigin:void 0,extractUrlBase:function(e){var t=e.split("/");return 1===t.length?"./":(t.pop(),t.join("/")+"/")},initMaterials:function(e,t,n){for(var r=[],i=0;i<e.length;++i)r[i]=this.createMaterial(e[i],t,n);return r},createMaterial:function(){var e={NoBlending:Lo,NormalBlending:jo,AdditiveBlending:Io,SubtractiveBlending:No,MultiplyBlending:Uo,CustomBlending:Fo},t=new Y,n=new Wn,r=new vr;return function(i,o,a){function s(e,t,r,i,s){var c,l=o+e,p=gr.Handlers.get(l);null!==p?c=p.load(l):(n.setCrossOrigin(a),c=n.load(l)),void 0!==t&&(c.repeat.fromArray(t),1!==t[0]&&(c.wrapS=Ta),1!==t[1]&&(c.wrapT=Ta)),void 0!==r&&c.offset.fromArray(r),void 0!==i&&("repeat"===i[0]&&(c.wrapS=Ta),"mirror"===i[0]&&(c.wrapS=Sa),"repeat"===i[1]&&(c.wrapT=Ta),"mirror"===i[1]&&(c.wrapT=Sa)),void 0!==s&&(c.anisotropy=s);var f=Ds.generateUUID();return u[f]=c,f}var u={},c={uuid:Ds.generateUUID(),type:"MeshLambertMaterial"};for(var l in i){var p=i[l];switch(l){case"DbgColor":case"DbgIndex":case"opticalDensity":case"illumination":break;case"DbgName":c.name=p;break;case"blending":c.blending=e[p];break;case"colorAmbient":case"mapAmbient":console.warn("THREE.Loader.createMaterial:",l,"is no longer supported.");break;case"colorDiffuse":c.color=t.fromArray(p).getHex();break;case"colorSpecular":c.specular=t.fromArray(p).getHex();break;case"colorEmissive":c.emissive=t.fromArray(p).getHex();break;case"specularCoef":c.shininess=p;break;case"shading":"basic"===p.toLowerCase()&&(c.type="MeshBasicMaterial"),"phong"===p.toLowerCase()&&(c.type="MeshPhongMaterial"),"standard"===p.toLowerCase()&&(c.type="MeshStandardMaterial");break;case"mapDiffuse":c.map=s(p,i.mapDiffuseRepeat,i.mapDiffuseOffset,i.mapDiffuseWrap,i.mapDiffuseAnisotropy);break;case"mapDiffuseRepeat":case"mapDiffuseOffset":case"mapDiffuseWrap":case"mapDiffuseAnisotropy":break;case"mapEmissive":c.emissiveMap=s(p,i.mapEmissiveRepeat,i.mapEmissiveOffset,i.mapEmissiveWrap,i.mapEmissiveAnisotropy);break;case"mapEmissiveRepeat":case"mapEmissiveOffset":case"mapEmissiveWrap":case"mapEmissiveAnisotropy":break;case"mapLight":c.lightMap=s(p,i.mapLightRepeat,i.mapLightOffset,i.mapLightWrap,i.mapLightAnisotropy);break;case"mapLightRepeat":case"mapLightOffset":case"mapLightWrap":case"mapLightAnisotropy":break;case"mapAO":c.aoMap=s(p,i.mapAORepeat,i.mapAOOffset,i.mapAOWrap,i.mapAOAnisotropy);break;case"mapAORepeat":case"mapAOOffset":case"mapAOWrap":case"mapAOAnisotropy":break;case"mapBump":c.bumpMap=s(p,i.mapBumpRepeat,i.mapBumpOffset,i.mapBumpWrap,i.mapBumpAnisotropy);break;case"mapBumpScale":c.bumpScale=p;break;case"mapBumpRepeat":case"mapBumpOffset":case"mapBumpWrap":case"mapBumpAnisotropy":break;case"mapNormal":c.normalMap=s(p,i.mapNormalRepeat,i.mapNormalOffset,i.mapNormalWrap,i.mapNormalAnisotropy);break;case"mapNormalFactor":c.normalScale=[p,p];break;case"mapNormalRepeat":case"mapNormalOffset":case"mapNormalWrap":case"mapNormalAnisotropy":break;case"mapSpecular":c.specularMap=s(p,i.mapSpecularRepeat,i.mapSpecularOffset,i.mapSpecularWrap,i.mapSpecularAnisotropy);break;case"mapSpecularRepeat":case"mapSpecularOffset":case"mapSpecularWrap":case"mapSpecularAnisotropy":break;case"mapMetalness":c.metalnessMap=s(p,i.mapMetalnessRepeat,i.mapMetalnessOffset,i.mapMetalnessWrap,i.mapMetalnessAnisotropy);break;case"mapMetalnessRepeat":case"mapMetalnessOffset":case"mapMetalnessWrap":case"mapMetalnessAnisotropy":break;case"mapRoughness":c.roughnessMap=s(p,i.mapRoughnessRepeat,i.mapRoughnessOffset,i.mapRoughnessWrap,i.mapRoughnessAnisotropy);break;case"mapRoughnessRepeat":case"mapRoughnessOffset":case"mapRoughnessWrap":case"mapRoughnessAnisotropy":break;case"mapAlpha":c.alphaMap=s(p,i.mapAlphaRepeat,i.mapAlphaOffset,i.mapAlphaWrap,i.mapAlphaAnisotropy);break;case"mapAlphaRepeat":case"mapAlphaOffset":case"mapAlphaWrap":case"mapAlphaAnisotropy":break;case"flipSided":c.side=Po;break;case"doubleSided":c.side=So;break;case"transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity"),c.opacity=p;break;case"depthTest":case"depthWrite":case"colorWrite":case"opacity":case"reflectivity":case"transparent":case"visible":case"wireframe":c[l]=p;break;case"vertexColors":!0===p&&(c.vertexColors=ko),"face"===p&&(c.vertexColors=Do);break;default:console.error("THREE.Loader.createMaterial: Unsupported",l,p)}}return"MeshBasicMaterial"===c.type&&delete c.emissive,"MeshPhongMaterial"!==c.type&&delete c.specular,c.opacity<1&&(c.transparent=!0),r.setTextures(u),r.parse(c)}}()}),Object.assign(br.prototype,{load:function(e,t,n,r){var i=this,o=this.texturePath&&"string"===typeof this.texturePath?this.texturePath:gr.prototype.extractUrlBase(e),a=new Bn(this.manager);a.setWithCredentials(this.withCredentials),a.load(e,function(n){var r=JSON.parse(n),a=r.metadata;if(void 0!==a){var s=a.type;if(void 0!==s){if("object"===s.toLowerCase())return void console.error("THREE.JSONLoader: "+e+" should be loaded with THREE.ObjectLoader instead.");if("scene"===s.toLowerCase())return void console.error("THREE.JSONLoader: "+e+" should be loaded with THREE.SceneLoader instead.")}}var u=i.parse(r,o);t(u.geometry,u.materials)},n,r)},setTexturePath:function(e){this.texturePath=e},parse:function(){function e(e,t){function n(e,t){return e&1<<t}var r,o,a,s,u,c,p,f,h,d,m,v,y,g,b,_,w,x,E,M,O,T,P,S,C,R,A,D=e.faces,k=e.vertices,L=e.normals,j=e.colors,I=e.scale,N=0;if(void 0!==e.uvs){for(r=0;r<e.uvs.length;r++)e.uvs[r].length&&N++;for(r=0;r<N;r++)t.faceVertexUvs[r]=[]}for(s=0,u=k.length;s<u;)x=new l,x.x=k[s++]*I,x.y=k[s++]*I,x.z=k[s++]*I,t.vertices.push(x);for(s=0,u=D.length;s<u;)if(d=D[s++],m=n(d,0),v=n(d,1),y=n(d,3),g=n(d,4),b=n(d,5),_=n(d,6),w=n(d,7),m){if(M=new ve,M.a=D[s],M.b=D[s+1],M.c=D[s+3],O=new ve,O.a=D[s+1],O.b=D[s+2],O.c=D[s+3],s+=4,v&&(h=D[s++],M.materialIndex=h,O.materialIndex=h),a=t.faces.length,y)for(r=0;r<N;r++)for(S=e.uvs[r],t.faceVertexUvs[r][a]=[],t.faceVertexUvs[r][a+1]=[],o=0;o<4;o++)f=D[s++],R=S[2*f],A=S[2*f+1],C=new i(R,A),2!==o&&t.faceVertexUvs[r][a].push(C),0!==o&&t.faceVertexUvs[r][a+1].push(C);if(g&&(p=3*D[s++],M.normal.set(L[p++],L[p++],L[p]),O.normal.copy(M.normal)),b)for(r=0;r<4;r++)p=3*D[s++],P=new l(L[p++],L[p++],L[p]),2!==r&&M.vertexNormals.push(P),0!==r&&O.vertexNormals.push(P);if(_&&(c=D[s++],T=j[c],M.color.setHex(T),O.color.setHex(T)),w)for(r=0;r<4;r++)c=D[s++],T=j[c],2!==r&&M.vertexColors.push(new Y(T)),0!==r&&O.vertexColors.push(new Y(T));t.faces.push(M),t.faces.push(O)}else{if(E=new ve,E.a=D[s++],E.b=D[s++],E.c=D[s++],v&&(h=D[s++],E.materialIndex=h),a=t.faces.length,y)for(r=0;r<N;r++)for(S=e.uvs[r],t.faceVertexUvs[r][a]=[],o=0;o<3;o++)f=D[s++],R=S[2*f],A=S[2*f+1],C=new i(R,A),t.faceVertexUvs[r][a].push(C);if(g&&(p=3*D[s++],E.normal.set(L[p++],L[p++],L[p])),b)for(r=0;r<3;r++)p=3*D[s++],P=new l(L[p++],L[p++],L[p]),E.vertexNormals.push(P);if(_&&(c=D[s++],E.color.setHex(j[c])),w)for(r=0;r<3;r++)c=D[s++],E.vertexColors.push(new Y(j[c]));t.faces.push(E)}}function t(e,t){var n=void 0!==e.influencesPerVertex?e.influencesPerVertex:2;if(e.skinWeights)for(var r=0,i=e.skinWeights.length;r<i;r+=n){var o=e.skinWeights[r],s=n>1?e.skinWeights[r+1]:0,u=n>2?e.skinWeights[r+2]:0,c=n>3?e.skinWeights[r+3]:0;t.skinWeights.push(new a(o,s,u,c))}if(e.skinIndices)for(var r=0,i=e.skinIndices.length;r<i;r+=n){var l=e.skinIndices[r],p=n>1?e.skinIndices[r+1]:0,f=n>2?e.skinIndices[r+2]:0,h=n>3?e.skinIndices[r+3]:0;t.skinIndices.push(new a(l,p,f,h))}t.bones=e.bones,t.bones&&t.bones.length>0&&(t.skinWeights.length!==t.skinIndices.length||t.skinIndices.length!==t.vertices.length)&&console.warn("When skinning, number of vertices ("+t.vertices.length+"), skinIndices ("+t.skinIndices.length+"), and skinWeights ("+t.skinWeights.length+") should match.")}function n(e,t){var n=e.scale;if(void 0!==e.morphTargets)for(var r=0,i=e.morphTargets.length;r<i;r++){t.morphTargets[r]={},t.morphTargets[r].name=e.morphTargets[r].name,t.morphTargets[r].vertices=[];for(var o=t.morphTargets[r].vertices,a=e.morphTargets[r].vertices,s=0,u=a.length;s<u;s+=3){var c=new l;c.x=a[s]*n,c.y=a[s+1]*n,c.z=a[s+2]*n,o.push(c)}}if(void 0!==e.morphColors&&e.morphColors.length>0){console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.');for(var p=t.faces,f=e.morphColors[0].colors,r=0,i=p.length;r<i;r++)p[r].color.fromArray(f,3*r)}}function r(e,t){var n=[],r=[];void 0!==e.animation&&r.push(e.animation),void 0!==e.animations&&(e.animations.length?r=r.concat(e.animations):r.push(e.animations));for(var i=0;i<r.length;i++){var o=mr.parseAnimation(r[i],t.bones);o&&n.push(o)}if(t.morphTargets){var a=mr.CreateClipsFromMorphTargetSequences(t.morphTargets,10);n=n.concat(a)}n.length>0&&(t.animations=n)}return function(i,o){void 0!==i.data&&(i=i.data),void 0!==i.scale?i.scale=1/i.scale:i.scale=1;var a=new ge;return e(i,a),t(i,a),n(i,a),r(i,a),a.computeFaceNormals(),a.computeBoundingSphere(),void 0===i.materials||0===i.materials.length?{geometry:a}:{geometry:a,materials:gr.prototype.initMaterials(i.materials,o,this.crossOrigin)}}}()}),Object.assign(_r.prototype,{load:function(e,t,n,r){""===this.texturePath&&(this.texturePath=e.substring(0,e.lastIndexOf("/")+1));var i=this;new Bn(i.manager).load(e,function(n){var o=null;try{o=JSON.parse(n)}catch(t){return void 0!==r&&r(t),void console.error("THREE:ObjectLoader: Can't parse "+e+".",t.message)}var a=o.metadata;if(void 0===a||void 0===a.type||"geometry"===a.type.toLowerCase())return void console.error("THREE.ObjectLoader: Can't load "+e+". Use THREE.JSONLoader instead.");i.parse(o,t)},n,r)},setTexturePath:function(e){this.texturePath=e},setCrossOrigin:function(e){this.crossOrigin=e},parse:function(e,t){var n=this.parseGeometries(e.geometries),r=this.parseImages(e.images,function(){void 0!==t&&t(a)}),i=this.parseTextures(e.textures,r),o=this.parseMaterials(e.materials,i),a=this.parseObject(e.object,n,o);return e.animations&&(a.animations=this.parseAnimations(e.animations)),void 0!==e.images&&0!==e.images.length||void 0!==t&&t(a),a},parseGeometries:function(e){var t={};if(void 0!==e)for(var n=new br,r=new yr,i=0,o=e.length;i<o;i++){var a,s=e[i];switch(s.type){case"PlaneGeometry":case"PlaneBufferGeometry":a=new Qs[s.type](s.width,s.height,s.widthSegments,s.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":a=new Qs[s.type](s.width,s.height,s.depth,s.widthSegments,s.heightSegments,s.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":a=new Qs[s.type](s.radius,s.segments,s.thetaStart,s.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":a=new Qs[s.type](s.radiusTop,s.radiusBottom,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":a=new Qs[s.type](s.radius,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":a=new Qs[s.type](s.radius,s.widthSegments,s.heightSegments,s.phiStart,s.phiLength,s.thetaStart,s.thetaLength);break;case"DodecahedronGeometry":case"IcosahedronGeometry":case"OctahedronGeometry":case"TetrahedronGeometry":a=new Qs[s.type](s.radius,s.detail);break;case"RingGeometry":case"RingBufferGeometry":a=new Qs[s.type](s.innerRadius,s.outerRadius,s.thetaSegments,s.phiSegments,s.thetaStart,s.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":a=new Qs[s.type](s.radius,s.tube,s.radialSegments,s.tubularSegments,s.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":a=new Qs[s.type](s.radius,s.tube,s.tubularSegments,s.radialSegments,s.p,s.q);break;case"LatheGeometry":case"LatheBufferGeometry":a=new Qs[s.type](s.points,s.segments,s.phiStart,s.phiLength);break;case"BufferGeometry":a=r.parse(s);break;case"Geometry":a=n.parse(s,this.texturePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+s.type+'"');continue}a.uuid=s.uuid,void 0!==s.name&&(a.name=s.name),t[s.uuid]=a}return t},parseMaterials:function(e,t){var n={};if(void 0!==e){var r=new vr;r.setTextures(t);for(var i=0,o=e.length;i<o;i++){var a=e[i];if("MultiMaterial"===a.type){for(var s=[],u=0;u<a.materials.length;u++)s.push(r.parse(a.materials[u]));n[a.uuid]=s}else n[a.uuid]=r.parse(a)}}return n},parseAnimations:function(e){for(var t=[],n=0;n<e.length;n++){var r=mr.parse(e[n]);t.push(r)}return t},parseImages:function(e,t){var n=this,r={};if(void 0!==e&&e.length>0){var i=new Fn(t),o=new Vn(i);o.setCrossOrigin(this.crossOrigin);for(var a=0,s=e.length;a<s;a++){var u=e[a],c=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(u.url)?u.url:n.texturePath+u.url;r[u.uuid]=function(e){return n.manager.itemStart(e),o.load(e,function(){n.manager.itemEnd(e)},void 0,function(){n.manager.itemEnd(e),n.manager.itemError(e)})}(c)}}return r},parseTextures:function(e,t){function n(e,t){return"number"===typeof e?e:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",e),t[e])}var r={};if(void 0!==e)for(var i=0,a=e.length;i<a;i++){var s=e[i];void 0===s.image&&console.warn('THREE.ObjectLoader: No "image" specified for',s.uuid),void 0===t[s.image]&&console.warn("THREE.ObjectLoader: Undefined image",s.image);var u=new o(t[s.image]);u.needsUpdate=!0,u.uuid=s.uuid,void 0!==s.name&&(u.name=s.name),void 0!==s.mapping&&(u.mapping=n(s.mapping,iu)),void 0!==s.offset&&u.offset.fromArray(s.offset),void 0!==s.repeat&&u.repeat.fromArray(s.repeat),void 0!==s.wrap&&(u.wrapS=n(s.wrap[0],ou),u.wrapT=n(s.wrap[1],ou)),void 0!==s.minFilter&&(u.minFilter=n(s.minFilter,au)),void 0!==s.magFilter&&(u.magFilter=n(s.magFilter,au)),void 0!==s.anisotropy&&(u.anisotropy=s.anisotropy),void 0!==s.flipY&&(u.flipY=s.flipY),r[s.uuid]=u}return r},parseObject:function(){var e=new p;return function(t,n,r){function i(e){return void 0===n[e]&&console.warn("THREE.ObjectLoader: Undefined geometry",e),n[e]}function o(e){if(void 0!==e){if(Array.isArray(e)){for(var t=[],n=0,i=e.length;n<i;n++){var o=e[n];void 0===r[o]&&console.warn("THREE.ObjectLoader: Undefined material",o),t.push(r[o])}return t}return void 0===r[e]&&console.warn("THREE.ObjectLoader: Undefined material",e),r[e]}}var a;switch(t.type){case"Scene":a=new Pt,void 0!==t.background&&Number.isInteger(t.background)&&(a.background=new Y(t.background)),void 0!==t.fog&&("Fog"===t.fog.type?a.fog=new Tt(t.fog.color,t.fog.near,t.fog.far):"FogExp2"===t.fog.type&&(a.fog=new Ot(t.fog.color,t.fog.density)));break;case"PerspectiveCamera":a=new me(t.fov,t.aspect,t.near,t.far),void 0!==t.focus&&(a.focus=t.focus),void 0!==t.zoom&&(a.zoom=t.zoom),void 0!==t.filmGauge&&(a.filmGauge=t.filmGauge),void 0!==t.filmOffset&&(a.filmOffset=t.filmOffset),void 0!==t.view&&(a.view=Object.assign({},t.view));break;case"OrthographicCamera":a=new de(t.left,t.right,t.top,t.bottom,t.near,t.far);break;case"AmbientLight":a=new er(t.color,t.intensity);break;case"DirectionalLight":a=new $n(t.color,t.intensity);break;case"PointLight":a=new Qn(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":a=new tr(t.color,t.intensity,t.width,t.height);break;case"SpotLight":a=new Zn(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":a=new Xn(t.color,t.groundColor,t.intensity);break;case"SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case"Mesh":var s=i(t.geometry),u=o(t.material);a=s.bones&&s.bones.length>0?new Lt(s,u):new Be(s,u);break;case"LOD":a=new At;break;case"Line":a=new It(i(t.geometry),o(t.material),t.mode);break;case"LineLoop":a=new Ut(i(t.geometry),o(t.material));break;case"LineSegments":a=new Nt(i(t.geometry),o(t.material));break;case"PointCloud":case"Points":a=new Bt(i(t.geometry),o(t.material));break;case"Sprite":a=new Rt(o(t.material));break;case"Group":a=new zt;break;default:a=new fe}if(a.uuid=t.uuid,void 0!==t.name&&(a.name=t.name),void 0!==t.matrix?(e.fromArray(t.matrix),e.decompose(a.position,a.quaternion,a.scale)):(void 0!==t.position&&a.position.fromArray(t.position),void 0!==t.rotation&&a.rotation.fromArray(t.rotation),void 0!==t.quaternion&&a.quaternion.fromArray(t.quaternion),void 0!==t.scale&&a.scale.fromArray(t.scale)),void 0!==t.castShadow&&(a.castShadow=t.castShadow),void 0!==t.receiveShadow&&(a.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(a.shadow.bias=t.shadow.bias),void 0!==t.shadow.radius&&(a.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&a.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(a.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(a.visible=t.visible),void 0!==t.userData&&(a.userData=t.userData),void 0!==t.children)for(var c=t.children,l=0;l<c.length;l++)a.add(this.parseObject(c[l],n,r));if("LOD"===t.type)for(var p=t.levels,f=0;f<p.length;f++){var h=p[f],d=a.getObjectByProperty("uuid",h.object);void 0!==d&&a.addLevel(d,h.distance)}return a}}()});var iu={UVMapping:ga,CubeReflectionMapping:ba,CubeRefractionMapping:_a,EquirectangularReflectionMapping:wa,EquirectangularRefractionMapping:xa,SphericalReflectionMapping:Ea,CubeUVReflectionMapping:Ma,CubeUVRefractionMapping:Oa},ou={RepeatWrapping:Ta,ClampToEdgeWrapping:Pa,MirroredRepeatWrapping:Sa},au={NearestFilter:Ca,NearestMipMapNearestFilter:Ra,NearestMipMapLinearFilter:Aa,LinearFilter:Da,LinearMipMapNearestFilter:ka,LinearMipMapLinearFilter:La};Object.assign(Ar.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(e){var t=this.getUtoTmapping(e);return this.getPoint(t)},getPoints:function(e){void 0===e&&(e=5);for(var t=[],n=0;n<=e;n++)t.push(this.getPoint(n/e));return t},getSpacedPoints:function(e){void 0===e&&(e=5);for(var t=[],n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t},getLength:function(){var e=this.getLengths();return e[e.length-1]},getLengths:function(e){if(void 0===e&&(e=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,n,r=[],i=this.getPoint(0),o=0;for(r.push(0),n=1;n<=e;n++)t=this.getPoint(n/e),o+=t.distanceTo(i),r.push(o),i=t;return this.cacheArcLengths=r,r},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(e,t){var n,r=this.getLengths(),i=0,o=r.length;n=t||e*r[o-1];for(var a,s=0,u=o-1;s<=u;)if(i=Math.floor(s+(u-s)/2),(a=r[i]-n)<0)s=i+1;else{if(!(a>0)){u=i;break}u=i-1}if(i=u,r[i]===n)return i/(o-1);var c=r[i];return(i+(n-c)/(r[i+1]-c))/(o-1)},getTangent:function(e){var t=e-1e-4,n=e+1e-4;t<0&&(t=0),n>1&&(n=1);var r=this.getPoint(t);return this.getPoint(n).clone().sub(r).normalize()},getTangentAt:function(e){var t=this.getUtoTmapping(e);return this.getTangent(t)},computeFrenetFrames:function(e,t){var n,r,i,o=new l,a=[],s=[],u=[],c=new l,f=new p;for(n=0;n<=e;n++)r=n/e,a[n]=this.getTangentAt(r),a[n].normalize();s[0]=new l,u[0]=new l;var h=Number.MAX_VALUE,d=Math.abs(a[0].x),m=Math.abs(a[0].y),v=Math.abs(a[0].z);for(d<=h&&(h=d,o.set(1,0,0)),m<=h&&(h=m,o.set(0,1,0)),v<=h&&o.set(0,0,1),c.crossVectors(a[0],o).normalize(),s[0].crossVectors(a[0],c),u[0].crossVectors(a[0],s[0]),n=1;n<=e;n++)s[n]=s[n-1].clone(),u[n]=u[n-1].clone(),c.crossVectors(a[n-1],a[n]),c.length()>Number.EPSILON&&(c.normalize(),i=Math.acos(Ds.clamp(a[n-1].dot(a[n]),-1,1)),s[n].applyMatrix4(f.makeRotationAxis(c,i))),u[n].crossVectors(a[n],s[n]);if(!0===t)for(i=Math.acos(Ds.clamp(s[0].dot(s[e]),-1,1)),i/=e,a[0].dot(c.crossVectors(s[0],s[e]))>0&&(i=-i),n=1;n<=e;n++)s[n].applyMatrix4(f.makeRotationAxis(a[n],i*n)),u[n].crossVectors(a[n],s[n]);return{tangents:a,normals:s,binormals:u}}}),Dr.prototype=Object.create(Ar.prototype),Dr.prototype.constructor=Dr,Dr.prototype.isLineCurve=!0,Dr.prototype.getPoint=function(e){if(1===e)return this.v2.clone();var t=this.v2.clone().sub(this.v1);return t.multiplyScalar(e).add(this.v1),t},Dr.prototype.getPointAt=function(e){return this.getPoint(e)},Dr.prototype.getTangent=function(e){return this.v2.clone().sub(this.v1).normalize()},kr.prototype=Object.assign(Object.create(Ar.prototype),{constructor:kr,add:function(e){this.curves.push(e)},closePath:function(){var e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new Dr(t,e))},getPoint:function(e){for(var t=e*this.getLength(),n=this.getCurveLengths(),r=0;r<n.length;){if(n[r]>=t){var i=n[r]-t,o=this.curves[r],a=o.getLength(),s=0===a?0:1-i/a;return o.getPointAt(s)}r++}return null},getLength:function(){var e=this.getCurveLengths();return e[e.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var e=[],t=0,n=0,r=this.curves.length;n<r;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e},getSpacedPoints:function(e){void 0===e&&(e=40);for(var t=[],n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t},getPoints:function(e){e=e||12;for(var t,n=[],r=0,i=this.curves;r<i.length;r++)for(var o=i[r],a=o&&o.isEllipseCurve?2*e:o&&o.isLineCurve?1:o&&o.isSplineCurve?e*o.points.length:e,s=o.getPoints(a),u=0;u<s.length;u++){var c=s[u];t&&t.equals(c)||(n.push(c),t=c)}return this.autoClose&&n.length>1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n},createPointsGeometry:function(e){var t=this.getPoints(e);return this.createGeometry(t)},createSpacedPointsGeometry:function(e){var t=this.getSpacedPoints(e);return this.createGeometry(t)},createGeometry:function(e){for(var t=new ge,n=0,r=e.length;n<r;n++){var i=e[n];t.vertices.push(new l(i.x,i.y,i.z||0))}return t}}),Lr.prototype=Object.create(Ar.prototype),Lr.prototype.constructor=Lr,Lr.prototype.isEllipseCurve=!0,Lr.prototype.getPoint=function(e){for(var t=2*Math.PI,n=this.aEndAngle-this.aStartAngle,r=Math.abs(n)<Number.EPSILON;n<0;)n+=t;for(;n>t;)n-=t;n<Number.EPSILON&&(n=r?0:t),!0!==this.aClockwise||r||(n===t?n=-t:n-=t);var o=this.aStartAngle+e*n,a=this.aX+this.xRadius*Math.cos(o),s=this.aY+this.yRadius*Math.sin(o);if(0!==this.aRotation){var u=Math.cos(this.aRotation),c=Math.sin(this.aRotation),l=a-this.aX,p=s-this.aY;a=l*u-p*c+this.aX,s=l*c+p*u+this.aY}return new i(a,s)},jr.prototype=Object.create(Ar.prototype),jr.prototype.constructor=jr,jr.prototype.isSplineCurve=!0,jr.prototype.getPoint=function(e){var t=this.points,n=(t.length-1)*e,r=Math.floor(n),o=n-r,a=t[0===r?r:r-1],s=t[r],u=t[r>t.length-2?t.length-1:r+1],c=t[r>t.length-3?t.length-1:r+2];return new i(wr(o,a.x,s.x,u.x,c.x),wr(o,a.y,s.y,u.y,c.y))},Ir.prototype=Object.create(Ar.prototype),Ir.prototype.constructor=Ir,Ir.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2,o=this.v3;return new i(Rr(e,t.x,n.x,r.x,o.x),Rr(e,t.y,n.y,r.y,o.y))},Nr.prototype=Object.create(Ar.prototype),Nr.prototype.constructor=Nr,Nr.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2;return new i(Or(e,t.x,n.x,r.x),Or(e,t.y,n.y,r.y))};var su=Object.assign(Object.create(kr.prototype),{fromPoints:function(e){this.moveTo(e[0].x,e[0].y);for(var t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y)},moveTo:function(e,t){this.currentPoint.set(e,t)},lineTo:function(e,t){var n=new Dr(this.currentPoint.clone(),new i(e,t));this.curves.push(n),this.currentPoint.set(e,t)},quadraticCurveTo:function(e,t,n,r){var o=new Nr(this.currentPoint.clone(),new i(e,t),new i(n,r));this.curves.push(o),this.currentPoint.set(n,r)},bezierCurveTo:function(e,t,n,r,o,a){var s=new Ir(this.currentPoint.clone(),new i(e,t),new i(n,r),new i(o,a));this.curves.push(s),this.currentPoint.set(o,a)},splineThru:function(e){var t=[this.currentPoint.clone()].concat(e),n=new jr(t);this.curves.push(n),this.currentPoint.copy(e[e.length-1])},arc:function(e,t,n,r,i,o){var a=this.currentPoint.x,s=this.currentPoint.y;this.absarc(e+a,t+s,n,r,i,o)},absarc:function(e,t,n,r,i,o){this.absellipse(e,t,n,n,r,i,o)},ellipse:function(e,t,n,r,i,o,a,s){var u=this.currentPoint.x,c=this.currentPoint.y;this.absellipse(e+u,t+c,n,r,i,o,a,s)},absellipse:function(e,t,n,r,i,o,a,s){var u=new Lr(e,t,n,r,i,o,a,s);if(this.curves.length>0){var c=u.getPoint(0);c.equals(this.currentPoint)||this.lineTo(c.x,c.y)}this.curves.push(u);var l=u.getPoint(1);this.currentPoint.copy(l)}});Ur.prototype=su,su.constructor=Ur,Fr.prototype=Object.assign(Object.create(su),{constructor:Fr,getPointsHoles:function(e){for(var t=[],n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t},extractAllPoints:function(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}},extractPoints:function(e){return this.extractAllPoints(e)}}),Object.assign(Br.prototype,{moveTo:function(e,t){this.currentPath=new Ur,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t)},lineTo:function(e,t){this.currentPath.lineTo(e,t)},quadraticCurveTo:function(e,t,n,r){this.currentPath.quadraticCurveTo(e,t,n,r)},bezierCurveTo:function(e,t,n,r,i,o){this.currentPath.bezierCurveTo(e,t,n,r,i,o)},splineThru:function(e){this.currentPath.splineThru(e)},toShapes:function(e,t){function n(e){for(var t=[],n=0,r=e.length;n<r;n++){var i=e[n],o=new Fr;o.curves=i.curves,t.push(o)}return t}var r=Zs.isClockWise,i=this.subPaths;if(0===i.length)return[];if(!0===t)return n(i);var o,a,s,u=[];if(1===i.length)return a=i[0],s=new Fr,s.curves=a.curves,u.push(s),u;var c=!r(i[0].getPoints());c=e?!c:c;var l,p=[],f=[],h=[],d=0;f[d]=void 0,h[d]=[];for(var m=0,v=i.length;m<v;m++)a=i[m],l=a.getPoints(),o=r(l),o=e?!o:o,o?(!c&&f[d]&&d++,f[d]={s:new Fr,p:l},f[d].s.curves=a.curves,c&&d++,h[d]=[]):h[d].push({h:a,p:l[0]});if(!f[0])return n(i);if(f.length>1){for(var y=!1,g=[],b=0,_=f.length;b<_;b++)p[b]=[];for(var b=0,_=f.length;b<_;b++)for(var w=h[b],x=0;x<w.length;x++){for(var E=w[x],M=!0,O=0;O<f.length;O++)(function(e,t){for(var n=t.length,r=!1,i=n-1,o=0;o<n;i=o++){var a=t[i],s=t[o],u=s.x-a.x,c=s.y-a.y;if(Math.abs(c)>Number.EPSILON){if(c<0&&(a=t[o],u=-u,s=t[i],c=-c),e.y<a.y||e.y>s.y)continue;if(e.y===a.y){if(e.x===a.x)return!0}else{var l=c*(e.x-a.x)-u*(e.y-a.y);if(0===l)return!0;if(l<0)continue;r=!r}}else{if(e.y!==a.y)continue;if(s.x<=e.x&&e.x<=a.x||a.x<=e.x&&e.x<=s.x)return!0}}return r})(E.p,f[O].p)&&(b!==O&&g.push({froms:b,tos:O,hole:x}),M?(M=!1,p[O].push(E)):y=!0);M&&p[b].push(E)}g.length>0&&(y||(h=p))}for(var T,m=0,P=f.length;m<P;m++){s=f[m].s,u.push(s),T=h[m];for(var S=0,C=T.length;S<C;S++)s.holes.push(T[S].h)}return u}}),Object.assign(zr.prototype,{isFont:!0,generateShapes:function(e,t,n){function r(e,t,r,o){var a=i.glyphs[e]||i.glyphs["?"];if(a){var s,u,c,l,p,f,h,d,m,v,y,g=new Br,b=[];if(a.o)for(var _=a._cachedOutline||(a._cachedOutline=a.o.split(" ")),w=0,x=_.length;w<x;){var E=_[w++];switch(E){case"m":s=_[w++]*t+r,u=_[w++]*t+o,g.moveTo(s,u);break;case"l":s=_[w++]*t+r,u=_[w++]*t+o,g.lineTo(s,u);break;case"q":if(c=_[w++]*t+r,l=_[w++]*t+o,h=_[w++]*t+r,d=_[w++]*t+o,g.quadraticCurveTo(h,d,c,l),y=b[b.length-1]){p=y.x,f=y.y;for(var M=1;M<=n;M++){var O=M/n;Or(O,p,h,c),Or(O,f,d,l)}}break;case"b":if(c=_[w++]*t+r,l=_[w++]*t+o,h=_[w++]*t+r,d=_[w++]*t+o,m=_[w++]*t+r,v=_[w++]*t+o,g.bezierCurveTo(h,d,m,v,c,l),y=b[b.length-1]){p=y.x,f=y.y;for(var M=1;M<=n;M++){var O=M/n;Rr(O,p,h,m,c),Rr(O,f,d,v,l)}}}}return{offsetX:a.ha*t,path:g}}}void 0===t&&(t=100),void 0===n&&(n=4);for(var i=this.data,o=function(e){for(var n=String(e).split(""),o=t/i.resolution,a=(i.boundingBox.yMax-i.boundingBox.yMin+i.underlineThickness)*o,s=0,u=0,c=[],l=0;l<n.length;l++){var p=n[l];if("\n"===p)s=0,u-=a;else{var f=r(p,o,s,u);s+=f.offsetX,c.push(f.path)}}return c}(e),a=[],s=0,u=o.length;s<u;s++)Array.prototype.push.apply(a,o[s].toShapes());return a}}),Object.assign(Hr.prototype,{load:function(e,t,n,r){var i=this;new Bn(this.manager).load(e,function(e){var n;try{n=JSON.parse(e)}catch(t){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),n=JSON.parse(e.substring(65,e.length-2))}var r=i.parse(n);t&&t(r)},n,r)},parse:function(e){return new zr(e)}});var uu,cu={getContext:function(){return void 0===uu&&(uu=new(window.AudioContext||window.webkitAudioContext)),uu},setContext:function(e){uu=e}};Object.assign(Vr.prototype,{load:function(e,t,n,r){var i=new Bn(this.manager);i.setResponseType("arraybuffer"),i.load(e,function(e){cu.getContext().decodeAudioData(e,function(e){t(e)})},n,r)}}),Object.assign(Gr.prototype,{update:function(){var e,t,n,r,i,o,a,s,u=new p,c=new p;return function(l){if(e!==this||t!==l.focus||n!==l.fov||r!==l.aspect*this.aspect||i!==l.near||o!==l.far||a!==l.zoom||s!==this.eyeSep){e=this,t=l.focus,n=l.fov,r=l.aspect*this.aspect,i=l.near,o=l.far,a=l.zoom;var p=l.projectionMatrix.clone();s=this.eyeSep/2;var f,h,d=s*i/t,m=i*Math.tan(Ds.DEG2RAD*n*.5)/a;c.elements[12]=-s,u.elements[12]=s,f=-m*r+d,h=m*r+d,p.elements[0]=2*i/(h-f),p.elements[8]=(h+f)/(h-f),this.cameraL.projectionMatrix.copy(p),f=-m*r-d,h=m*r-d,p.elements[0]=2*i/(h-f),p.elements[8]=(h+f)/(h-f),this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(l.matrixWorld).multiply(c),this.cameraR.matrixWorld.copy(l.matrixWorld).multiply(u)}}()}),Wr.prototype=Object.create(fe.prototype),Wr.prototype.constructor=Wr,qr.prototype=Object.assign(Object.create(fe.prototype),{constructor:qr,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null)},getFilter:function(){return this.filter},setFilter:function(e){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination)},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(e){this.gain.gain.value=e},updateMatrixWorld:function(){var e=new l,t=new c,n=new l,r=new l;return function(i){fe.prototype.updateMatrixWorld.call(this,i);var o=this.context.listener,a=this.up;this.matrixWorld.decompose(e,t,n),r.set(0,0,-1).applyQuaternion(t),o.positionX?(o.positionX.setValueAtTime(e.x,this.context.currentTime),o.positionY.setValueAtTime(e.y,this.context.currentTime),o.positionZ.setValueAtTime(e.z,this.context.currentTime),o.forwardX.setValueAtTime(r.x,this.context.currentTime),o.forwardY.setValueAtTime(r.y,this.context.currentTime),o.forwardZ.setValueAtTime(r.z,this.context.currentTime),o.upX.setValueAtTime(a.x,this.context.currentTime),o.upY.setValueAtTime(a.y,this.context.currentTime),o.upZ.setValueAtTime(a.z,this.context.currentTime)):(o.setPosition(e.x,e.y,e.z),o.setOrientation(r.x,r.y,r.z,a.x,a.y,a.z))}}()}),Xr.prototype=Object.assign(Object.create(fe.prototype),{constructor:Xr,getOutput:function(){return this.gain},setNodeSource:function(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this},setBuffer:function(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");var e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.onended=this.onEnded.bind(this),e.playbackRate.setValueAtTime(this.playbackRate,this.startTime),e.start(0,this.startTime),this.isPlaying=!0,this.source=e,this.connect()},pause:function(){return!1===this.hasPlaybackControl?void console.warn("THREE.Audio: this Audio has no playback control."):(this.source.stop(),this.startTime=this.context.currentTime,this.isPlaying=!1,this)},stop:function(){return!1===this.hasPlaybackControl?void console.warn("THREE.Audio: this Audio has no playback control."):(this.source.stop(),this.startTime=0,this.isPlaying=!1,this)},connect:function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(var e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(e){return e||(e=[]),!0===this.isPlaying?(this.disconnect(),this.filters=e,this.connect()):this.filters=e,this},getFilter:function(){return this.getFilters()[0]},setFilter:function(e){return this.setFilters(e?[e]:[])},setPlaybackRate:function(e){return!1===this.hasPlaybackControl?void console.warn("THREE.Audio: this Audio has no playback control."):(this.playbackRate=e,!0===this.isPlaying&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this)},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(e){return!1===this.hasPlaybackControl?void console.warn("THREE.Audio: this Audio has no playback control."):(this.loop=e,!0===this.isPlaying&&(this.source.loop=this.loop),this)},getVolume:function(){return this.gain.gain.value},setVolume:function(e){return this.gain.gain.value=e,this}}),Yr.prototype=Object.assign(Object.create(Xr.prototype),{constructor:Yr,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(e){this.panner.refDistance=e},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(e){this.panner.rolloffFactor=e},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(e){this.panner.distanceModel=e},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(e){this.panner.maxDistance=e},updateMatrixWorld:function(){var e=new l;return function(t){fe.prototype.updateMatrixWorld.call(this,t),e.setFromMatrixPosition(this.matrixWorld),this.panner.setPosition(e.x,e.y,e.z)}}()}),Object.assign(Kr.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var e=0,t=this.getFrequencyData(),n=0;n<t.length;n++)e+=t[n];return e/t.length}}),Object.assign(Zr.prototype,{accumulate:function(e,t){var n=this.buffer,r=this.valueSize,i=e*r+r,o=this.cumulativeWeight;if(0===o){for(var a=0;a!==r;++a)n[i+a]=n[a];o=t}else{o+=t;var s=t/o;this._mixBufferRegion(n,i,0,s,r)}this.cumulativeWeight=o},apply:function(e){var t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,o=this.binding;if(this.cumulativeWeight=0,i<1){var a=3*t;this._mixBufferRegion(n,r,a,1-i,t)}for(var s=t,u=t+t;s!==u;++s)if(n[s]!==n[s+t]){o.setValue(n,r);break}},saveOriginalState:function(){var e=this.binding,t=this.buffer,n=this.valueSize,r=3*n;e.getValue(t,r);for(var i=n,o=r;i!==o;++i)t[i]=t[r+i%n];this.cumulativeWeight=0},restoreOriginalState:function(){var e=3*this.valueSize;this.binding.setValue(this.buffer,e)},_select:function(e,t,n,r,i){if(r>=.5)for(var o=0;o!==i;++o)e[t+o]=e[n+o]},_slerp:function(e,t,n,r){c.slerpFlat(e,t,e,t,e,n,r)},_lerp:function(e,t,n,r,i){for(var o=1-r,a=0;a!==i;++a){var s=t+a;e[s]=e[s]*o+e[n+a]*r}}}),Object.assign(Qr.prototype,{getValue:function(e,t){this.bind();var n=this._targetGroup.nCachedObjects_,r=this._bindings[n];void 0!==r&&r.getValue(e,t)},setValue:function(e,t){for(var n=this._bindings,r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)},bind:function(){for(var e=this._bindings,t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()},unbind:function(){for(var e=this._bindings,t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}),Object.assign(Jr,{Composite:Qr,create:function(e,t,n){return e&&e.isAnimationObjectGroup?new Jr.Composite(e,t,n):new Jr(e,t,n)},sanitizeNodeName:function(e){return e.replace(/\s/g,"_").replace(/[^\w-]/g,"")},parseTrackName:function(){var e=/((?:[\w-]+[\/:])*)/,t=/([\w-\.]+)?/,n=/(?:\.([\w-]+)(?:\[(.+)\])?)?/,r=/\.([\w-]+)(?:\[(.+)\])?/,i=new RegExp("^"+e.source+t.source+n.source+r.source+"$"),o=["material","materials","bones"];return function(e){var t=i.exec(e);if(!t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);var n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==r&&-1!==r){var a=n.nodeName.substring(r+1);-1!==o.indexOf(a)&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=a)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}}(),findNode:function(e,t){if(!t||""===t||"root"===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){var n=function(e){for(var n=0;n<e.bones.length;n++){var r=e.bones[n];if(r.name===t)return r}return null}(e.skeleton);if(n)return n}if(e.children){var r=function(e){for(var n=0;n<e.length;n++){var i=e[n];if(i.name===t||i.uuid===t)return i;var o=r(i.children);if(o)return o}return null},i=r(e.children);if(i)return i}return null}}),Object.assign(Jr.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(e,t){e[t]=this.node[this.propertyName]},function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)e[t++]=n[r]},function(e,t){e[t]=this.resolvedProperty[this.propertyIndex]},function(e,t){this.resolvedProperty.toArray(e,t)}],SetterByBindingTypeAndVersioning:[[function(e,t){this.node[this.propertyName]=e[t]},function(e,t){this.node[this.propertyName]=e[t],this.targetObject.needsUpdate=!0},function(e,t){this.node[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)n[r]=e[t++]},function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=!0},function(e,t){for(var n=this.resolvedProperty,r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){this.resolvedProperty[this.propertyIndex]=e[t]},function(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0},function(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(e,t){this.resolvedProperty.fromArray(e,t)},function(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0},function(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(e,t){this.bind(),this.getValue(e,t)},setValue:function(e,t){this.bind(),this.setValue(e,t)},bind:function(){var e=this.node,t=this.parsedPath,n=t.objectName,r=t.propertyName,i=t.propertyIndex;if(e||(e=Jr.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(n){var o=t.objectIndex;switch(n){case"materials":if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!e.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);e=e.material.materials;break;case"bones":if(!e.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);e=e.skeleton.bones;for(var a=0;a<e.length;a++)if(e[a].name===o){o=a;break}break;default:if(void 0===e[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);e=e[n]}if(void 0!==o){if(void 0===e[o])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);e=e[o]}}var s=e[r];if(void 0===s){var u=t.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+u+"."+r+" but it wasn't found.",e)}var c=this.Versioning.None;void 0!==e.needsUpdate?(c=this.Versioning.NeedsUpdate,this.targetObject=e):void 0!==e.matrixWorldNeedsUpdate&&(c=this.Versioning.MatrixWorldNeedsUpdate,this.targetObject=e);var l=this.BindingType.Direct;if(void 0!==i){if("morphTargetInfluences"===r){if(!e.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(e.geometry.isBufferGeometry){if(!e.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);for(var a=0;a<this.node.geometry.morphAttributes.position.length;a++)if(e.geometry.morphAttributes.position[a].name===i){i=a;break}}else{if(!e.geometry.morphTargets)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.",this);for(var a=0;a<this.node.geometry.morphTargets.length;a++)if(e.geometry.morphTargets[a].name===i){i=a;break}}}l=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=i}else void 0!==s.fromArray&&void 0!==s.toArray?(l=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(l=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=r;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][c]},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),Object.assign(Jr.prototype,{_getValue_unbound:Jr.prototype.getValue,_setValue_unbound:Jr.prototype.setValue}),Object.assign($r.prototype,{isAnimationObjectGroup:!0,add:function(e){for(var t=this._objects,n=t.length,r=this.nCachedObjects_,i=this._indicesByUUID,o=this._paths,a=this._parsedPaths,s=this._bindings,u=s.length,c=0,l=arguments.length;c!==l;++c){var p=arguments[c],f=p.uuid,h=i[f],d=void 0;if(void 0===h){h=n++,i[f]=h,t.push(p);for(var m=0,v=u;m!==v;++m)s[m].push(new Jr(p,o[m],a[m]))}else if(h<r){d=t[h];var y=--r,g=t[y];i[g.uuid]=h,t[h]=g,i[f]=y,t[y]=p;for(var m=0,v=u;m!==v;++m){var b=s[m],_=b[y],w=b[h];b[h]=_,void 0===w&&(w=new Jr(p,o[m],a[m])),b[y]=w}}else t[h]!==d&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=r},remove:function(e){for(var t=this._objects,n=this.nCachedObjects_,r=this._indicesByUUID,i=this._bindings,o=i.length,a=0,s=arguments.length;a!==s;++a){var u=arguments[a],c=u.uuid,l=r[c];if(void 0!==l&&l>=n){var p=n++,f=t[p];r[f.uuid]=l,t[l]=f,r[c]=p,t[p]=u;for(var h=0,d=o;h!==d;++h){var m=i[h],v=m[p],y=m[l];m[l]=v,m[p]=y}}}this.nCachedObjects_=n},uncache:function(e){for(var t=this._objects,n=t.length,r=this.nCachedObjects_,i=this._indicesByUUID,o=this._bindings,a=o.length,s=0,u=arguments.length;s!==u;++s){var c=arguments[s],l=c.uuid,p=i[l];if(void 0!==p)if(delete i[l],p<r){var f=--r,h=t[f],d=--n,m=t[d];i[h.uuid]=p,t[p]=h,i[m.uuid]=f,t[f]=m,t.pop();for(var v=0,y=a;v!==y;++v){var g=o[v],b=g[f],_=g[d];g[p]=b,g[f]=_,g.pop()}}else{var d=--n,m=t[d];i[m.uuid]=p,t[p]=m,t.pop();for(var v=0,y=a;v!==y;++v){var g=o[v];g[p]=g[d],g.pop()}}}this.nCachedObjects_=r},subscribe_:function(e,t){var n=this._bindingsIndicesByPath,r=n[e],i=this._bindings;if(void 0!==r)return i[r];var o=this._paths,a=this._parsedPaths,s=this._objects,u=s.length,c=this.nCachedObjects_,l=new Array(u);r=i.length,n[e]=r,o.push(e),a.push(t),i.push(l);for(var p=c,f=s.length;p!==f;++p){var h=s[p];l[p]=new Jr(h,e,t)}return l},unsubscribe_:function(e){var t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){var r=this._paths,i=this._parsedPaths,o=this._bindings,a=o.length-1,s=o[a];t[e[a]]=n,o[n]=s,o.pop(),i[n]=i[a],i.pop(),r[n]=r[a],r.pop()}}}),Object.assign(ei.prototype,{play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(e){return this._startTime=e,this},setLoop:function(e,t){return this.loop=e,this.repetitions=t,this},setEffectiveWeight:function(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(e){return this._scheduleFading(e,0,1)},fadeOut:function(e){return this._scheduleFading(e,1,0)},crossFadeFrom:function(e,t,n){if(e.fadeOut(t),this.fadeIn(t),n){var r=this._clip.duration,i=e._clip.duration,o=i/r,a=r/i;e.warp(1,o,t),this.warp(a,1,t)}return this},crossFadeTo:function(e,t,n){return e.crossFadeFrom(this,t,n)},stopFading:function(){var e=this._weightInterpolant;return null!==e&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},setEffectiveTimeScale:function(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(e){return this.timeScale=this._clip.duration/e,this.stopWarping()},syncWith:function(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()},halt:function(e){return this.warp(this._effectiveTimeScale,0,e)},warp:function(e,t,n){var r=this._mixer,i=r.time,o=this._timeScaleInterpolant,a=this.timeScale;null===o&&(o=r._lendControlInterpolant(),this._timeScaleInterpolant=o);var s=o.parameterPositions,u=o.sampleValues;return s[0]=i,s[1]=i+n,u[0]=e/a,u[1]=t/a,this},stopWarping:function(){var e=this._timeScaleInterpolant;return null!==e&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(e,t,n,r){if(!this.enabled)return void this._updateWeight(e);var i=this._startTime;if(null!==i){var o=(e-i)*n;if(o<0||0===n)return;this._startTime=null,t=n*o}t*=this._updateTimeScale(e);var a=this._updateTime(t),s=this._updateWeight(e);if(s>0)for(var u=this._interpolants,c=this._propertyBindings,l=0,p=u.length;l!==p;++l)u[l].evaluate(a),c[l].accumulate(r,s)},_updateWeight:function(e){var t=0;if(this.enabled){t=this.weight;var n=this._weightInterpolant;if(null!==n){var r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=t,t},_updateTimeScale:function(e){var t=0;if(!this.paused){t=this.timeScale;var n=this._timeScaleInterpolant;if(null!==n){t*=n.evaluate(e)[0],e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t},_updateTime:function(e){var t=this.time+e;if(0===e)return t;var n=this._clip.duration,r=this.loop,i=this._loopCount;if(r===ls){-1===i&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(t>=n)t=n;else{if(!(t<0))break e;t=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{var o=r===fs;if(-1===i&&(e>=0?(i=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),t>=n||t<0){var a=Math.floor(t/n);t-=n*a,i+=Math.abs(a);var s=this.repetitions-i;if(s<0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,t=e>0?n:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(0===s){var u=e<0;this._setEndings(u,!u,o)}else this._setEndings(!1,!1,o);this._loopCount=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}if(o&&1===(1&i))return this.time=t,n-t}return this.time=t,t},_setEndings:function(e,t,n){var r=this._interpolantSettings;n?(r.endingStart=ys,r.endingEnd=ys):(r.endingStart=e?this.zeroSlopeAtStart?ys:vs:gs,r.endingEnd=t?this.zeroSlopeAtEnd?ys:vs:gs)},_scheduleFading:function(e,t,n){var r=this._mixer,i=r.time,o=this._weightInterpolant;null===o&&(o=r._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=i,s[0]=t,a[1]=i+e,s[1]=n,this}}),Object.assign(ti.prototype,r.prototype,{_bindAction:function(e,t){var n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,o=e._propertyBindings,a=e._interpolants,s=n.uuid,u=this._bindingsByRootAndName,c=u[s];void 0===c&&(c={},u[s]=c);for(var l=0;l!==i;++l){var p=r[l],f=p.name,h=c[f];if(void 0!==h)o[l]=h;else{if(void 0!==(h=o[l])){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,s,f));continue}var d=t&&t._propertyBindings[l].binding.parsedPath;h=new Zr(Jr.create(n,f,d),p.ValueTypeName,p.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,s,f),o[l]=h}a[l].resultBuffer=h.buffer}},_activateAction:function(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){var t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}for(var i=e._propertyBindings,o=0,a=i.length;o!==a;++o){var s=i[o];0===s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}},_deactivateAction:function(e){if(this._isActiveAction(e)){for(var t=e._propertyBindings,n=0,r=t.length;n!==r;++n){var i=t[n];0===--i.useCount&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(e)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}},_isActiveAction:function(e){var t=e._cacheIndex;return null!==t&&t<this._nActiveActions},_addInactiveAction:function(e,t,n){var r=this._actions,i=this._actionsByClip,o=i[t];if(void 0===o)o={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,i[t]=o;else{var a=o.knownActions;e._byClipCacheIndex=a.length,a.push(e)}e._cacheIndex=r.length,r.push(e),o.actionByRoot[n]=e},_removeInactiveAction:function(e){var t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r,t[r]=n,t.pop(),e._cacheIndex=null;var i=e._clip.uuid,o=this._actionsByClip,a=o[i],s=a.knownActions,u=s[s.length-1],c=e._byClipCacheIndex;u._byClipCacheIndex=c,s[c]=u,s.pop(),e._byClipCacheIndex=null,delete a.actionByRoot[(e._localRoot||this._root).uuid],0===s.length&&delete o[i],this._removeInactiveBindingsForAction(e)},_removeInactiveBindingsForAction:function(e){for(var t=e._propertyBindings,n=0,r=t.length;n!==r;++n){var i=t[n];0===--i.referenceCount&&this._removeInactiveBinding(i)}},_lendAction:function(e){var t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_takeBackAction:function(e){var t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_addInactiveBinding:function(e,t,n){var r=this._bindingsByRootAndName,i=r[t],o=this._bindings;void 0===i&&(i={},r[t]=i),i[n]=e,e._cacheIndex=o.length,o.push(e)},_removeInactiveBinding:function(e){var t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,o=this._bindingsByRootAndName,a=o[r],s=t[t.length-1],u=e._cacheIndex;s._cacheIndex=u,t[u]=s,t.pop(),delete a[i];e:{for(var c in a)break e;delete o[r]}},_lendBinding:function(e){var t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_takeBackBinding:function(e){var t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i},_lendControlInterpolant:function(){var e=this._controlInterpolants,t=this._nActiveControlInterpolants++,n=e[t];return void 0===n&&(n=new ir(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),n.__cacheIndex=t,e[t]=n),n},_takeBackControlInterpolant:function(e){var t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r,t[r]=e,i.__cacheIndex=n,t[n]=i},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(e,t){var n=t||this._root,r=n.uuid,i="string"===typeof e?mr.findByName(n,e):e,o=null!==i?i.uuid:e,a=this._actionsByClip[o],s=null;if(void 0!==a){var u=a.actionByRoot[r];if(void 0!==u)return u;s=a.knownActions[0],null===i&&(i=s._clip)}if(null===i)return null;var c=new ei(this,i,t);return this._bindAction(c,s),this._addInactiveAction(c,o,r),c},existingAction:function(e,t){var n=t||this._root,r=n.uuid,i="string"===typeof e?mr.findByName(n,e):e,o=i?i.uuid:e,a=this._actionsByClip[o];return void 0!==a?a.actionByRoot[r]||null:null},stopAllAction:function(){var e=this._actions,t=this._nActiveActions,n=this._bindings,r=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var i=0;i!==t;++i)e[i].reset();for(var i=0;i!==r;++i)n[i].useCount=0;return this},update:function(e){e*=this.timeScale;for(var t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),o=this._accuIndex^=1,a=0;a!==n;++a){t[a]._update(r,e,i,o)}for(var s=this._bindings,u=this._nActiveBindings,a=0;a!==u;++a)s[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(e){var t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){for(var o=i.knownActions,a=0,s=o.length;a!==s;++a){var u=o[a];this._deactivateAction(u);var c=u._cacheIndex,l=t[t.length-1];u._cacheIndex=null,u._byClipCacheIndex=null,l._cacheIndex=c,t[c]=l,t.pop(),this._removeInactiveBindingsForAction(u)}delete r[n]}},uncacheRoot:function(e){var t=e.uuid,n=this._actionsByClip;for(var r in n){var i=n[r].actionByRoot,o=i[t];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var a=this._bindingsByRootAndName,s=a[t];if(void 0!==s)for(var u in s){var c=s[u];c.restoreOriginalState(),this._removeInactiveBinding(c)}},uncacheAction:function(e,t){var n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}}),ni.prototype.clone=function(){return new ni(void 0===this.value.clone?this.value:this.value.clone())},ri.prototype=Object.assign(Object.create(Ae.prototype),{constructor:ri,isInstancedBufferGeometry:!0,addGroup:function(e,t,n){this.groups.push({start:e,count:t,materialIndex:n})},copy:function(e){var t=e.index;null!==t&&this.setIndex(t.clone());var n=e.attributes;for(var r in n){var i=n[r];this.addAttribute(r,i.clone())}for(var o=e.groups,a=0,s=o.length;a<s;a++){var u=o[a];this.addGroup(u.start,u.count,u.materialIndex)}return this}}),Object.defineProperties(ii.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(ii.prototype,{isInterleavedBufferAttribute:!0,setX:function(e,t){return this.data.array[e*this.data.stride+this.offset]=t,this},setY:function(e,t){return this.data.array[e*this.data.stride+this.offset+1]=t,this},setZ:function(e,t){return this.data.array[e*this.data.stride+this.offset+2]=t,this},setW:function(e,t){return this.data.array[e*this.data.stride+this.offset+3]=t,this},getX:function(e){return this.data.array[e*this.data.stride+this.offset]},getY:function(e){return this.data.array[e*this.data.stride+this.offset+1]},getZ:function(e){return this.data.array[e*this.data.stride+this.offset+2]},getW:function(e){return this.data.array[e*this.data.stride+this.offset+3]},setXY:function(e,t,n){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this},setXYZ:function(e,t,n,r){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this},setXYZW:function(e,t,n,r,i){return e=e*this.data.stride+this.offset,this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this.data.array[e+3]=i,this}}),Object.defineProperty(oi.prototype,"needsUpdate",{set:function(e){!0===e&&this.version++}}),Object.assign(oi.prototype,{isInterleavedBuffer:!0,setArray:function(e){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.count=void 0!==e?e.length/this.stride:0,this.array=e},setDynamic:function(e){return this.dynamic=e,this},copy:function(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.dynamic=e.dynamic,this},copyAt:function(e,t,n){e*=this.stride,n*=t.stride;for(var r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this},set:function(e,t){return void 0===t&&(t=0),this.array.set(e,t),this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(e){return this.onUploadCallback=e,this}}),ai.prototype=Object.assign(Object.create(oi.prototype),{constructor:ai,isInstancedInterleavedBuffer:!0,copy:function(e){return oi.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this}}),si.prototype=Object.assign(Object.create(be.prototype),{constructor:si,isInstancedBufferAttribute:!0,copy:function(e){return be.prototype.copy.call(this,e),this.meshPerAttribute=e.meshPerAttribute,this}}),Object.assign(ui.prototype,{linePrecision:1,set:function(e,t){this.ray.set(e,t)},setFromCamera:function(e,t){t&&t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize()):t&&t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld)):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(e,t){var n=[];return li(e,this,n,t),n.sort(ci),n},intersectObjects:function(e,t){var n=[];if(!1===Array.isArray(e))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),n;for(var r=0,i=e.length;r<i;r++)li(e[r],this,n,t);return n.sort(ci),n}}),Object.assign(pi.prototype,{start:function(){this.startTime=("undefined"===typeof performance?Date:performance).now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.running=!1,this.autoStart=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var t=("undefined"===typeof performance?Date:performance).now();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}),Object.assign(fi.prototype,{set:function(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this},makeSafe:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this},setFromVector3:function(e){return this.radius=e.length(),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e.x,e.z),this.phi=Math.acos(Ds.clamp(e.y/this.radius,-1,1))),this}}),Object.assign(hi.prototype,{set:function(e,t,n){return this.radius=e,this.theta=t,this.y=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this},setFromVector3:function(e){return this.radius=Math.sqrt(e.x*e.x+e.z*e.z),this.theta=Math.atan2(e.x,e.z),this.y=e.y,this}}),di.prototype=Object.create(fe.prototype),di.prototype.constructor=di,di.prototype.isImmediateRenderObject=!0,mi.prototype=Object.create(Nt.prototype),mi.prototype.constructor=mi,mi.prototype.update=function(){var e=new l,t=new l,n=new oe;return function(){var r=["a","b","c"];this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);var i=this.object.matrixWorld,o=this.geometry.attributes.position,a=this.object.geometry;if(a&&a.isGeometry)for(var s=a.vertices,u=a.faces,c=0,l=0,p=u.length;l<p;l++)for(var f=u[l],h=0,d=f.vertexNormals.length;h<d;h++){var m=s[f[r[h]]],v=f.vertexNormals[h];e.copy(m).applyMatrix4(i),t.copy(v).applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),o.setXYZ(c,e.x,e.y,e.z),c+=1,o.setXYZ(c,t.x,t.y,t.z),c+=1}else if(a&&a.isBufferGeometry)for(var y=a.attributes.position,g=a.attributes.normal,c=0,h=0,d=y.count;h<d;h++)e.set(y.getX(h),y.getY(h),y.getZ(h)).applyMatrix4(i),t.set(g.getX(h),g.getY(h),g.getZ(h)),t.applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),o.setXYZ(c,e.x,e.y,e.z),c+=1,o.setXYZ(c,t.x,t.y,t.z),c+=1;o.needsUpdate=!0}}(),vi.prototype=Object.create(fe.prototype),vi.prototype.constructor=vi,vi.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},vi.prototype.update=function(){var e=new l,t=new l;return function(){this.light.updateMatrixWorld();var n=this.light.distance?this.light.distance:1e3,r=n*Math.tan(this.light.angle);this.cone.scale.set(r,r,n),e.setFromMatrixPosition(this.light.matrixWorld),t.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(t.sub(e)),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}(),gi.prototype=Object.create(Nt.prototype),gi.prototype.constructor=gi,gi.prototype.onBeforeRender=function(){var e=new l,t=new p,n=new p;return function(){var r=this.bones,i=this.geometry,o=i.getAttribute("position");n.getInverse(this.root.matrixWorld);for(var a=0,s=0;a<r.length;a++){var u=r[a];u.parent&&u.parent.isBone&&(t.multiplyMatrices(n,u.matrixWorld),e.setFromMatrixPosition(t),o.setXYZ(s,e.x,e.y,e.z),t.multiplyMatrices(n,u.parent.matrixWorld),e.setFromMatrixPosition(t),o.setXYZ(s+1,e.x,e.y,e.z),s+=2)}i.getAttribute("position").needsUpdate=!0}}(),bi.prototype=Object.create(Be.prototype),bi.prototype.constructor=bi,bi.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},bi.prototype.update=function(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)},_i.prototype=Object.create(fe.prototype),_i.prototype.constructor=_i,_i.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},_i.prototype.update=function(){var e=.5*this.light.width,t=.5*this.light.height,n=this.line.geometry.attributes.position,r=n.array;r[0]=e,r[1]=-t,r[2]=0,r[3]=e,r[4]=t,r[5]=0,r[6]=-e,r[7]=t,r[8]=0,r[9]=-e,r[10]=-t,r[11]=0,r[12]=e,r[13]=-t,r[14]=0,n.needsUpdate=!0,void 0!==this.color?this.line.material.color.set(this.color):this.line.material.color.copy(this.light.color)},wi.prototype=Object.create(fe.prototype),wi.prototype.constructor=wi,wi.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},wi.prototype.update=function(){var e=new l,t=new Y,n=new Y;return function(){var r=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{var i=r.geometry.getAttribute("color");t.copy(this.light.color),n.copy(this.light.groundColor);for(var o=0,a=i.count;o<a;o++){var s=o<a/2?t:n;i.setXYZ(o,s.r,s.g,s.b)}i.needsUpdate=!0}r.lookAt(e.setFromMatrixPosition(this.light.matrixWorld).negate())}}(),xi.prototype=Object.create(Nt.prototype),xi.prototype.constructor=xi,Ei.prototype=Object.create(Nt.prototype),Ei.prototype.constructor=Ei,Mi.prototype=Object.create(Nt.prototype),Mi.prototype.constructor=Mi,Mi.prototype.update=function(){var e=new l,t=new l,n=new oe;return function(){this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);for(var r=this.object.matrixWorld,i=this.geometry.attributes.position,o=this.object.geometry,a=o.vertices,s=o.faces,u=0,c=0,l=s.length;c<l;c++){var p=s[c],f=p.normal;e.copy(a[p.a]).add(a[p.b]).add(a[p.c]).divideScalar(3).applyMatrix4(r),t.copy(f).applyMatrix3(n).normalize().multiplyScalar(this.size).add(e),i.setXYZ(u,e.x,e.y,e.z),u+=1,i.setXYZ(u,t.x,t.y,t.z),u+=1}i.needsUpdate=!0}}(),Oi.prototype=Object.create(fe.prototype),Oi.prototype.constructor=Oi,Oi.prototype.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},Oi.prototype.update=function(){var e=new l,t=new l,n=new l;return function(){e.setFromMatrixPosition(this.light.matrixWorld),t.setFromMatrixPosition(this.light.target.matrixWorld),n.subVectors(t,e),this.lightPlane.lookAt(n),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(n),this.targetLine.scale.z=n.length()}}(),Ti.prototype=Object.create(Nt.prototype),Ti.prototype.constructor=Ti,Ti.prototype.update=function(){function e(e,o,a,s){r.set(o,a,s).unproject(i);var u=n[e];if(void 0!==u)for(var c=t.getAttribute("position"),l=0,p=u.length;l<p;l++)c.setXYZ(u[l],r.x,r.y,r.z)}var t,n,r=new l,i=new he;return function(){t=this.geometry,n=this.pointMap;i.projectionMatrix.copy(this.camera.projectionMatrix),e("c",0,0,-1),e("t",0,0,1),e("n1",-1,-1,-1),e("n2",1,-1,-1),e("n3",-1,1,-1),e("n4",1,1,-1),e("f1",-1,-1,1),e("f2",1,-1,1),e("f3",-1,1,1),e("f4",1,1,1),e("u1",.7,1.1,-1),e("u2",-.7,1.1,-1),e("u3",0,2,-1),e("cf1",-1,0,1),e("cf2",1,0,1),e("cf3",0,-1,1),e("cf4",0,1,1),e("cn1",-1,0,-1),e("cn2",1,0,-1),e("cn3",0,-1,-1),e("cn4",0,1,-1),t.getAttribute("position").needsUpdate=!0}}(),Pi.prototype=Object.create(Nt.prototype),Pi.prototype.constructor=Pi,Pi.prototype.update=function(){var e=new re;return function(t){if(void 0!==t&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&e.setFromObject(this.object),!e.isEmpty()){var n=e.min,r=e.max,i=this.geometry.attributes.position,o=i.array;o[0]=r.x,o[1]=r.y,o[2]=r.z,o[3]=n.x,o[4]=r.y,o[5]=r.z,o[6]=n.x,o[7]=n.y,o[8]=r.z,o[9]=r.x,o[10]=n.y,o[11]=r.z,o[12]=r.x,o[13]=r.y,o[14]=n.z,o[15]=n.x,o[16]=r.y,o[17]=n.z,o[18]=n.x,o[19]=n.y,o[20]=n.z,o[21]=r.x,o[22]=n.y,o[23]=n.z,i.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),Pi.prototype.setFromObject=function(e){return this.object=e,this.update(),this},Si.prototype=Object.create(Nt.prototype),Si.prototype.constructor=Si,Si.prototype.onBeforeRender=function(){var e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5))},Ci.prototype=Object.create(It.prototype),Ci.prototype.constructor=Ci,Ci.prototype.onBeforeRender=function(){var e=-this.plane.constant;Math.abs(e)<1e-8&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.lookAt(this.plane.normal),this.updateMatrixWorld()};var lu,pu;Ri.prototype=Object.create(fe.prototype),Ri.prototype.constructor=Ri,Ri.prototype.setDirection=function(){var e,t=new l;return function(n){n.y>.99999?this.quaternion.set(0,0,0,1):n.y<-.99999?this.quaternion.set(1,0,0,0):(t.set(n.z,0,-n.x).normalize(),e=Math.acos(n.y),this.quaternion.setFromAxisAngle(t,e))}}(),Ri.prototype.setLength=function(e,t,n){void 0===t&&(t=.2*e),void 0===n&&(n=.2*t),this.line.scale.set(1,Math.max(0,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()},Ri.prototype.setColor=function(e){this.line.material.color.copy(e),this.cone.material.color.copy(e)},Ai.prototype=Object.create(Nt.prototype),Ai.prototype.constructor=Ai;var fu=new l,hu=new Di,du=new Di,mu=new Di;ki.prototype=Object.create(Ar.prototype),ki.prototype.constructor=ki,ki.prototype.getPoint=function(e){var t=this.points,n=t.length,r=(n-(this.closed?0:1))*e,i=Math.floor(r),o=r-i;this.closed?i+=i>0?0:(Math.floor(Math.abs(i)/t.length)+1)*t.length:0===o&&i===n-1&&(i=n-2,o=1);var a,s,u,c;if(this.closed||i>0?a=t[(i-1)%n]:(fu.subVectors(t[0],t[1]).add(t[0]),a=fu),s=t[i%n],u=t[(i+1)%n],this.closed||i+2<n?c=t[(i+2)%n]:(fu.subVectors(t[n-1],t[n-2]).add(t[n-1]),c=fu),void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var p="chordal"===this.type?.5:.25,f=Math.pow(a.distanceToSquared(s),p),h=Math.pow(s.distanceToSquared(u),p),d=Math.pow(u.distanceToSquared(c),p);h<1e-4&&(h=1),f<1e-4&&(f=h),d<1e-4&&(d=h),hu.initNonuniformCatmullRom(a.x,s.x,u.x,c.x,f,h,d),du.initNonuniformCatmullRom(a.y,s.y,u.y,c.y,f,h,d),mu.initNonuniformCatmullRom(a.z,s.z,u.z,c.z,f,h,d)}else if("catmullrom"===this.type){var m=void 0!==this.tension?this.tension:.5;hu.initCatmullRom(a.x,s.x,u.x,c.x,m),du.initCatmullRom(a.y,s.y,u.y,c.y,m),mu.initCatmullRom(a.z,s.z,u.z,c.z,m)}return new l(hu.calc(o),du.calc(o),mu.calc(o))},Li.prototype=Object.create(Ar.prototype),Li.prototype.constructor=Li,Li.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2,i=this.v3;return new l(Rr(e,t.x,n.x,r.x,i.x),Rr(e,t.y,n.y,r.y,i.y),Rr(e,t.z,n.z,r.z,i.z))},ji.prototype=Object.create(Ar.prototype),ji.prototype.constructor=ji,ji.prototype.getPoint=function(e){var t=this.v0,n=this.v1,r=this.v2;return new l(Or(e,t.x,n.x,r.x),Or(e,t.y,n.y,r.y),Or(e,t.z,n.z,r.z))},Ii.prototype=Object.create(Ar.prototype),Ii.prototype.constructor=Ii,Ii.prototype.getPoint=function(e){if(1===e)return this.v2.clone();var t=new l;return t.subVectors(this.v2,this.v1),t.multiplyScalar(e),t.add(this.v1),t},Ni.prototype=Object.create(Lr.prototype),Ni.prototype.constructor=Ni;var vu={createMultiMaterialObject:function(e,t){for(var n=new zt,r=0,i=t.length;r<i;r++)n.add(new Be(e,t[r]));return n},detach:function(e,t,n){e.applyMatrix(t.matrixWorld),t.remove(e),n.add(e)},attach:function(e,t,n){e.applyMatrix((new p).getInverse(n.matrixWorld)),t.remove(e),n.add(e)}},yu=0,gu=1;Ar.create=function(e,t){return console.log("THREE.Curve.create() has been deprecated"),e.prototype=Object.create(Ar.prototype),e.prototype.constructor=e,e.prototype.getPoint=t,e},io.prototype=Object.create(ki.prototype),oo.prototype=Object.create(ki.prototype),ao.prototype=Object.create(ki.prototype),Object.assign(ao.prototype,{initFromArray:function(e){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(e){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(e){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),xi.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},gi.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Object.assign(K.prototype,{center:function(e){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},size:function(e){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(e)}}),Object.assign(re.prototype,{center:function(e){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(e)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(e){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionSphere:function(e){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)},size:function(e){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(e)}}),Ue.prototype.center=function(e){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(e)},Ds.random16=function(){return console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead."),Math.random()},Object.assign(oe.prototype,{flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},multiplyVector3:function(e){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),e.applyMatrix3(this)},multiplyVector3Array:function(e){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBuffer:function(e,t,n){return console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(e)},applyToVector3Array:function(e,t,n){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}),Object.assign(p.prototype,{extractPosition:function(e){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(e)},flattenToArrayOffset:function(e,t){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},getPosition:function(){var e;return function(){return void 0===e&&(e=new l),console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),e.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(e){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(e)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(e){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},multiplyVector4:function(e){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},multiplyVector3Array:function(e){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(e){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),e.transformDirection(this)},crossVector:function(e){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(e,t,n){return console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(e)},applyToVector3Array:function(e,t,n){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(e,t,n,r,i,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(e,t,r,n,i,o)}}),ae.prototype.isIntersectionLine=function(e){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(e)},c.prototype.multiplyVector3=function(e){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),e.applyQuaternion(this)},Object.assign(Ne.prototype,{isIntersectionBox:function(e){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},isIntersectionPlane:function(e){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(e)},isIntersectionSphere:function(e){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)}}),Object.assign(Fr.prototype,{extrude:function(e){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new pn(this,e)},makeGeometry:function(e){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new wn(this,e)}}),Object.assign(i.prototype,{fromAttribute:function(e,t,n){return console.error("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)}}),Object.assign(l.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(e){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(e)},getScaleFromMatrix:function(e){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(e)},getColumnFromMatrix:function(e,t){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(t,e)},applyProjection:function(e){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(e)},fromAttribute:function(e,t,n){return console.error("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)}}),Object.assign(a.prototype,{fromAttribute:function(e,t,n){return console.error("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,n)}}),ge.prototype.computeTangents=function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")},Object.assign(fe.prototype,{getChildByName:function(e){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(e)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(e,t){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(t,e)}}),Object.defineProperties(fe.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(e){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=e}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Object.defineProperties(At.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(Dt.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),Object.defineProperty(Ar.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(e){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=e}}),me.prototype.setLens=function(e,t){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==t&&(this.filmGauge=t),this.setFocalLength(e)},Object.defineProperties(qn.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(e){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(e){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(e){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=e}}}),Object.defineProperties(be.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}}}),Object.assign(Ae.prototype,{addIndex:function(e){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(e)},addDrawCall:function(e,t,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(e,t)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}}),Object.defineProperties(Ae.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.defineProperties(ni.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties($.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new Y}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=e===Co}}}),Object.defineProperties(Ln.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(ee.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(e){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=e}}}),Object.assign(Mt.prototype,{getCurrentRenderTarget:function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},getMaxAnisotropy:function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},getPrecision:function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(e){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(e)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}}),Object.defineProperties(Mt.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=e}},shadowMapCullFace:{get:function(){return this.shadowMap.cullFace},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace."),this.shadowMap.cullFace=e}}}),Object.defineProperties(ue.prototype,{cullFace:{get:function(){return this.renderReverseSided?bo:go},set:function(e){var t=e!==go;console.warn("WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to "+t+"."),this.renderReverseSided=t}}}),Object.defineProperties(s.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=e}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=e}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=e}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=e}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(e){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=e}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(e){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=e}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(e){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=e}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(e){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=e}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(e){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=e}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(e){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=e}}}),Xr.prototype.load=function(e){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var t=this;return(new Vr).load(e,function(e){t.setBuffer(e)}),this},Kr.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},Wr.prototype.updateCubeMap=function(e,t){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(e,t)};var bu={merge:function(e,t,n){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");var r;t.isMesh&&(t.matrixAutoUpdate&&t.updateMatrix(),r=t.matrix,t=t.geometry),e.merge(t,r,n)},center:function(e){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),e.center()}},_u={crossOrigin:void 0,loadTexture:function(e,t,n,r){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var i=new Wn;i.setCrossOrigin(this.crossOrigin);var o=i.load(e,n,void 0,r);return t&&(o.mapping=t),o},loadTextureCube:function(e,t,n,r){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var i=new Gn;i.setCrossOrigin(this.crossOrigin);var o=i.load(e,n,void 0,r);return t&&(o.mapping=t),o},loadCompressedTexture:function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},loadCompressedTextureCube:function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")}}},function(e,t,n){e.exports=n(238)()},function(e,t,n){"use strict";function r(e,t,n,r,o,a,s,u){if(i(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,a,s,u],p=0;c=new Error(t.replace(/%s/g,function(){return l[p++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var i=function(e){};e.exports=r},function(e,t,n){"use strict";var r=n(13),i=r;e.exports=i},function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var i=new Error(n);throw i.name="Invariant Violation",i.framesToPop=1,i}e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r,o,a,s,u){if(i(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,a,s,u],p=0;c=new Error(t.replace(/%s/g,function(){return l[p++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var i=function(e){};e.exports=r},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)o.call(n,l)&&(u[l]=n[l]);if(i){s=i(n);for(var p=0;p<s.length;p++)a.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},function(e,t,n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(d)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function i(e){for(var t;t=e._renderedComponent;)e=t;return e}function o(e,t){var n=i(e);n._hostNode=t,t[v]=n}function a(e){var t=e._hostNode;t&&(delete t[v],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],c=i(u)._domID;if(0!==c){for(;null!==a;a=a.nextSibling)if(r(a,c)){o(u,a);continue e}p("32",c)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[v])return e[v];for(var t=[];!e[v];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[v]);e=t.pop())n=r,t.length&&s(r,e);return n}function c(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function l(e){if(void 0===e._hostNode&&p("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=n(4),f=n(24),h=n(85),d=(n(2),f.ID_ATTRIBUTE_NAME),m=h,v="__reactInternalInstance$"+Math.random().toString(36).slice(2),y={getClosestInstanceFromNode:u,getInstanceFromNode:c,getNodeFromInstance:l,precacheChildNodes:s,precacheNode:o,uncacheNode:a};e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){return e.constructor&&(e.constructor.name||e.constructor.displayName)?e.constructor.name||e.constructor.displayName:h}function o(e){function t(t,n,r,i,o,a){var s=i||h,u=a||r;if(void 0===n[r]){var c=l.default[o];return t?new f.default("The "+c+" `"+u+"` is marked as required in `"+s+"`, but its value is `undefined`."):null}for(var p=arguments.length,d=Array(p>6?p-6:0),m=6;m<p;m++)d[m-6]=arguments[m];return e.apply(void 0,[n,r,s,o,u].concat(d))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function a(e){function t(t,r,o,a,s){for(var u=arguments.length,c=Array(u>5?u-5:0),p=5;p<u;p++)c[p-5]=arguments[p];var d=n.apply(void 0,[t,r,o,a,s].concat(c));if(null!==d){var m=l.default[a],v=e.name||e.displayName||h,y=i(t[r]);return new f.default("Invalid "+m+" `"+s+"` of type `"+y+"` supplied to `"+o+"`, expected instance of `"+v+"`.")}return d}var n=u.default.instanceOf(e),r=o(t),a=""+(e.displayName||e.name||e._type||e);return r.toString=function(){return"``` "+a+" ```"},r.isRequired.toString=function(){return r.toString()+" *``` required ```*"},r.displayName=a,r.isRequired.displayName=a,r}var s=n(1),u=r(s),c=n(75),l=r(c),p=n(127),f=r(p),h="<<anonymous>>";e.exports=a},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},p=n(0),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(p),h=n(5),d=r(h),m=n(1),v=r(m),y=n(12),g=r(y),b=n(52),_=r(b),w=n(8),x=r(w),E=(0,_.default)(s=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasName(),n.hasProp("vertices",{type:v.default.arrayOf((0,x.default)(f.Vector3)),update:function(e,t,n){n&&e.vertices!==t&&(e.vertices=t,e.verticesNeedUpdate=!0)},updateInitial:!0,default:[]}),n.hasProp("colors",{type:v.default.arrayOf((0,x.default)(f.Color)),update:function(e,t,n){n&&e.colors!==t&&(e.colors=t,e.colorsNeedUpdate=!0)},updateInitial:!0,default:[]}),n.hasProp("faceVertexUvs",{type:v.default.arrayOf(v.default.arrayOf(v.default.arrayOf((0,x.default)(f.Vector2)))),update:function(e,t,n){n&&e.faceVertexUvs!==t&&(e.faceVertexUvs=t,e.uvsNeedUpdate=!0)},updateInitial:!0,default:[]}),n.hasProp("faces",{type:v.default.arrayOf((0,x.default)(f.Face3)),update:function(e,t,n){n&&e.faces!==t&&(e.faces=t,e.verticesNeedUpdate=!0,e.elementsNeedUpdate=!0)},updateInitial:!0,default:[]}),n.hasProp("dynamic",{type:v.default.bool,update:function(e,t){e.dynamic=!!t},default:!1}),n}return a(t,e),c(t,[{key:"setParent",value:function(e,n){(0,d.default)(n instanceof f.Mesh||n instanceof f.Points||n instanceof f.Line,"Parent is not a mesh"),(0,d.default)(void 0===n.geometry,"Parent already has a geometry"),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n),n.geometry=e}},{key:"applyInitialProps",value:function(e,n){e.userData=u({},e.userData),n.hasOwnProperty("dynamic")&&(e.dynamic=!!n.dynamic),e.userData._remountAfterPropsUpdate=!1,l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"unmount",value:function(e){var n=e.userData.markup.parentMarkup.threeObject;(n instanceof f.Mesh||n instanceof f.Points)&&n.geometry===e&&(n.geometry=void 0),e.dispose(),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;e.userData.events.emit("highlight",{uuid:e.uuid,boundingBoxFunc:function(){var e=new f.Box3;return e.setFromObject(t),[e]}})}},{key:"getBoundingBoxes",value:function(e){var t=e.userData.markup.parentMarkup.threeObject,n=new f.Box3;return n.setFromObject(t),[n]}},{key:"hideHighlight",value:function(e){e.userData.events.emit("hideHighlight")}}]),t}(g.default))||s;e.exports=E},function(e,t,n){"use strict";var r=null;e.exports={debugTool:r}},function(e,t,n){"use strict";var r=!("undefined"===typeof window||!window.document||!window.document.createElement),i={canUseDOM:r,canUseWorkers:"undefined"!==typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};e.exports=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(5),u=r(s),c=n(19),l=r(c),p=n(248),f=r(p),h=n(1),d=r(h),m=n(249),v=(r(m),n(123)),y=(r(v),f.default.EventEmitter),g=function(){function e(t){i(this,e),this.react3RendererInstance=t,this.propUpdates={},this.propDeletes={},this.propDefaults={},this._initialOnly={},this._updateInitial=[],this._simpleProperties=[],this.propTypes={},this._hasName=!1}return a(e,[{key:"hasEvent",value:function(e){this._hasEvents=!0,this.hasProp(e,{type:d.default.func,updateInitial:!0,update:function(t,n){t.userData._eventCallbacks[e]=n},default:null})}},{key:"removeProp",value:function(e){(0,u.default)(this.propTypes.hasOwnProperty(e),"The property %s has not been defined",e);var t=this._simpleProperties.indexOf(e);-1!==t&&this._simpleProperties.splice(t,1),delete this.propTypes[e],delete this.propDeletes[e],delete this.propUpdates[e],delete this.propDefaults[e];var n=this._updateInitial.indexOf(e);-1!==n&&this._updateInitial.splice(n,1),delete this._initialOnly[e]}},{key:"hasProp",value:function(e,t){var n=this;if((0,u.default)(t.hasOwnProperty("type"),"The information should include a `type` property"),(0,u.default)(!this.propTypes.hasOwnProperty(e)||t.override,"The property %s has already been defined",e),t.override){var r=this._simpleProperties.indexOf(e);-1!==r&&this._simpleProperties.splice(r,1)}this.propTypes[e]=t.type,t.hasOwnProperty("simple")?(this.registerSimpleProperties([e]),t.hasOwnProperty("default")&&(this.propDeletes[e]=function(r){n.propUpdates[e](r,t.default,!0)},this.propDefaults[e]=t.default)):(t.hasOwnProperty("update")&&(this.propUpdates[e]=t.update),t.hasOwnProperty("default")?((0,u.default)(t.hasOwnProperty("update"),"The information should include a `update` property if it has a `default` property"),this.propDeletes[e]=function(e){t.update(e,t.default,!0)},this.propDefaults[e]=t.default):(0,u.default)(t.update===this.triggerRemount,"The type information for "+this.constructor.name+"."+e+" should include a `default` property if it's not going to trigger remount"),t.hasOwnProperty("remove")&&(0,u.default)(!1,"Bad 'remove' info for "+this.constructor.name+"."+e),t.hasOwnProperty("updateInitial")&&((0,u.default)(t.hasOwnProperty("update"),"The information should include a `update` property if it has a`updateInitial` property"),-1===this._updateInitial.indexOf(e)&&this._updateInitial.push(e)),t.initialOnly&&(0,u.default)(t.hasOwnProperty("updateInitial"),"The information should include a `updateInitial` property if it has an `initialOnly` property"),this._initialOnly[e]=t.initialOnly)}},{key:"hasName",value:function(){var e=this;this._hasName=!0,this.hasProp("name",{type:d.default.string,update:function(t,n){e._updateName(t,n)},default:""})}},{key:"_updateName",value:function(e,t){var n=e.name;e.name=t,e.userData.events.emit("rename",{oldName:n,nextName:t});var r=e.userData.markup;r._rootInstance&&r._rootInstance.objectRenamed(e,n,t)}},{key:"placeRemountTrigger",value:function(e,t){e.userData._triggerRemount=t}},{key:"applyInitialProps",value:function(e,t){var n=this,r=new y;this._hasName&&t.name&&(e.name=t.name),this._hasEvents&&(e.userData._eventCallbacks={}),r.on("resource.added",function(t){var n=e.userData.markup.childrenMarkup,r=o({},t,{distance:t.distance+1});n.forEach(function(e){return e.threeObject.userData.events.emit("resource.added",r)})}),r.on("resource.removed",function(t){var n=e.userData.markup.childrenMarkup,r=o({},t,{distance:t.distance+1});n.forEach(function(e){return e.threeObject.userData.events.emit("resource.removed",r)})}),e.userData.events=r,e.userData._descriptor=this,this._updateInitial.forEach(function(r){if(t.hasOwnProperty(r))n.propUpdates[r](e,t[r],!0);else{var i=void 0;n.propDefaults.hasOwnProperty(r)&&(i=n.propDefaults[r]),n.propUpdates[r](e,i,!1)}}),this._simpleProperties.forEach(function(n){t.hasOwnProperty(n)&&(e[n]=t[n])})}},{key:"construct",value:function(e){(0,u.default)(!1,"Missing constructor!")}},{key:"addChildren",value:function(e,t){(0,u.default)(!1,"Cannot add children to "+this.constructor.name+"!")}},{key:"addChild",value:function(e,t,n){(0,u.default)(!1,"Cannot add child to "+this.constructor.name+"!")}},{key:"moveChild",value:function(){(0,u.default)(!1,"Cannot move children in "+this.constructor.name+"!")}},{key:"removeChild",value:function(e,t){(0,u.default)(!1,"Cannot remove children in "+this.constructor.name+"!")}},{key:"setParent",value:function(e,t){var n=t.userData.markup;n&&n._rootInstance&&n._rootInstance.objectMounted(e)}},{key:"componentWillUnmount",value:function(e){}},{key:"unmount",value:function(e){var t=e.userData.markup;t._rootInstance&&t._rootInstance.objectRemoved(e),this._hasEvents&&delete e.userData._eventCallbacks,e.userData.events.emit("dispose",{object:e}),e.userData.events.removeAllListeners()}},{key:"removedFromParent",value:function(e){delete e.userData.events}},{key:"deleteProperty",value:function(e,t){this.propDeletes[t]&&this.propDeletes[t](e)}},{key:"updateProperty",value:function(e,t,n){this._initialOnly[t]?this.triggerRemount(e):this.propUpdates[t]?this.propUpdates[t](e,n,!0):((0,l.default)(!1,"updating prop "+t+" ( "+n+" ) for "+this.constructor.name),this.triggerRemount(e))}},{key:"highlight",value:function(e){}},{key:"hideHighlight",value:function(e){}},{key:"useSimpleUpdates",value:function(e){for(var t=0;t<e.length;++t){var n=e[t];this.propUpdates[n]=this._updateSimple.bind(this,n)}}},{key:"_updateSimple",value:function(e,t,n){t[e]=n}},{key:"registerSimpleProperties",value:function(e){var t=this;e.forEach(function(e){-1===t._simpleProperties.indexOf(e)&&t._simpleProperties.push(e)}),this.useSimpleUpdates(e)}},{key:"getBoundingBoxes",value:function(e){return[]}},{key:"triggerRemount",value:function(e){e.userData._triggerRemount&&(e.userData._triggerRemount(),delete e.userData._triggerRemount)}},{key:"beginPropertyUpdates",value:function(e){}},{key:"completePropertyUpdates",value:function(e){}},{key:"beginChildUpdates",value:function(e){}},{key:"completeChildUpdates",value:function(e){}}]),e}();e.exports=g},function(e,t,n){"use strict";function r(e){return function(){return e}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(e){return e},e.exports=i},function(e,t,n){"use strict";var r={current:null};e.exports=r},function(e,t,n){"use strict";function r(){S.ReactReconcileTransaction&&x||l("123")}function i(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=f.getPooled(),this.reconcileTransaction=S.ReactReconcileTransaction.getPooled(!0)}function o(e,t,n,i,o,a){return r(),x.batchedUpdates(e,t,n,i,o,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==g.length&&l("124",t,g.length),g.sort(a),b++;for(var n=0;n<t;n++){var r=g[n],i=r._pendingCallbacks;r._pendingCallbacks=null;var o;if(d.logTopLevelRenders){var s=r;r._currentElement.type.isReactTopLevelWrapper&&(s=r._renderedComponent),o="React update: "+s.getName(),console.time(o)}if(m.performUpdateIfNecessary(r,e.reconcileTransaction,b),o&&console.timeEnd(o),i)for(var u=0;u<i.length;u++)e.callbackQueue.enqueue(i[u],r.getPublicInstance())}}function u(e){if(r(),!x.isBatchingUpdates)return void x.batchedUpdates(u,e);g.push(e),null==e._updateBatchNumber&&(e._updateBatchNumber=b+1)}function c(e,t){y(x.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),_.enqueue(e,t),w=!0}var l=n(4),p=n(6),f=n(89),h=n(25),d=n(90),m=n(23),v=n(40),y=n(2),g=[],b=0,_=f.getPooled(),w=!1,x=null,E={initialize:function(){this.dirtyComponentsLength=g.length},close:function(){this.dirtyComponentsLength!==g.length?(g.splice(0,this.dirtyComponentsLength),T()):g.length=0}},M={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},O=[E,M];p(i.prototype,v,{getTransactionWrappers:function(){return O},destructor:function(){this.dirtyComponentsLength=null,f.release(this.callbackQueue),this.callbackQueue=null,S.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return v.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),h.addPoolingTo(i);var T=function(){for(;g.length||w;){if(g.length){var e=i.getPooled();e.perform(s,null,e),i.release(e)}if(w){w=!1;var t=_;_=f.getPooled(),t.notifyAll(),f.release(t)}}},P={injectReconcileTransaction:function(e){e||l("126"),S.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e||l("127"),"function"!==typeof e.batchedUpdates&&l("128"),"boolean"!==typeof e.isBatchingUpdates&&l("129"),x=e}},S={ReactReconcileTransaction:null,batchedUpdates:o,enqueueUpdate:u,flushBatchedUpdates:T,injection:P,asap:c};e.exports=S},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t,n){e.splice(n,0,e.splice(t,1)[0])}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},l=n(0),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),f=n(5),h=(r(f),n(19)),d=(r(h),n(1)),m=r(d),v=n(12),y=r(v),g=n(8),b=r(g),_=function(e){function t(e){function n(e){return function(t,n){t[e].copy(n)}}i(this,t);var r=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return r.hasName(),r.hasProp("position",{type:(0,b.default)(p.Vector3),update:function(e,t){e.position.copy(t),e.userData._lookAt&&e.lookAt(e.userData._lookAt)},default:new p.Vector3}),r.hasProp("rotation",{type:(0,b.default)(p.Euler),update:function(e,t){e.rotation.copy(t)},default:new p.Euler}),r.hasProp("quaternion",{type:(0,b.default)(p.Quaternion),update:n("quaternion"),default:new p.Quaternion}),r.hasProp("scale",{type:(0,b.default)(p.Vector3),update:n("scale"),default:new p.Vector3(1,1,1)}),r.hasProp("lookAt",{type:(0,b.default)(p.Vector3),update:function(e,t){e.userData._lookAt=t,t&&e.lookAt(t)},default:void 0}),r.hasProp("matrix",{type:(0,b.default)(p.Matrix4),update:function(e,t){e.matrix.copy(t),e.matrix.decompose(e.position,e.quaternion,e.scale)},default:new p.Matrix4}),["frustumCulled","visible"].forEach(function(e){r.hasProp(e,{type:m.default.bool,simple:!0,default:!0})}),r.hasProp("renderOrder",{type:m.default.number,simple:!0}),r.hasProp("castShadow",{type:m.default.bool,simple:!0,default:!1}),r.hasProp("receiveShadow",{type:m.default.bool,updateInitial:!0,update:function(e,t){e.receiveShadow=t,e.material&&(e.material.needsUpdate=!0)},default:!1}),r}return a(t,e),u(t,[{key:"beginPropertyUpdates",value:function(e,t){}},{key:"construct",value:function(){return new p.Object3D}},{key:"applyInitialProps",value:function(e,n){c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),n.matrix?e.matrix.copy(n.matrix):(n.position&&e.position.copy(n.position),n.scale&&e.scale.copy(n.scale),n.rotation&&e.rotation.copy(n.rotation),n.quaternion&&e.quaternion.copy(n.quaternion),n.lookAt&&e.lookAt(n.lookAt)),n.lookAt&&(e.userData._lookAt=n.lookAt)}},{key:"addChildren",value:function(e,t){t.forEach(function(t){e.add(t)})}},{key:"addChild",value:function(e,t,n){e.add(t),this.moveChild(e,t,n,e.children.length-1)}},{key:"removeChild",value:function(e,t){e.remove(t)}},{key:"moveChild",value:function(e,t,n,r){s(e.children,e.children.indexOf(t),n)}},{key:"highlight",value:function(e){var t=this;e.userData.events.emit("highlight",{uuid:e.uuid,boundingBoxFunc:function(){return t.getBoundingBoxes(e)}})}},{key:"getBoundingBoxes",value:function(e){var t=new p.Box3;return t.setFromObject(e),[t]}},{key:"hideHighlight",value:function(e){e.userData.events.emit("hideHighlight")}}]),t}(y.default);e.exports=_},function(e,t,n){"use strict";e.exports=n(28)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},p=n(0),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(p),h=n(5),d=r(h),m=n(19),v=r(m),y=n(1),g=r(y),b=n(12),_=r(b),w=n(52),x=r(w),E=n(32),M=r(E),O=n(8),T=r(O),P=(0,x.default)(s=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._invalidChild=function(e){return n.invalidChildInternal(e)},n.hasProp("slot",{type:g.default.string,updateInitial:!0,update:function(e,t,n){e.userData._materialSlot=n?t:"material"},default:"material"}),n.hasProp("transparent",{type:g.default.bool,simple:!0}),n.hasProp("alphaTest",{type:g.default.number,updateInitial:!0,update:function(e,t){e.alphaTest=t,e.needsUpdate=!0},default:0}),n.hasProp("side",{type:g.default.oneOf([f.FrontSide,f.BackSide,f.DoubleSide]),updateInitial:!0,update:function(e,t){e.side=t},default:f.FrontSide}),n.hasProp("depthTest",{type:g.default.bool,simple:!0,default:!0}),n.hasProp("depthWrite",{type:g.default.bool,simple:!0,default:!0}),n.hasProp("blending",{type:g.default.oneOf([f.NoBlending,f.NormalBlending,f.AdditiveBlending,f.SubtractiveBlending,f.MultiplyBlending,f.CustomBlending]),simple:!0,default:f.NormalBlending}),n.hasProp("depthFunc",{type:g.default.oneOf([f.NeverDepth,f.AlwaysDepth,f.LessDepth,f.LessEqualDepth,f.EqualDepth,f.GreaterEqualDepth,f.GreaterDepth,f.NotEqualDepth]),simple:!0,default:f.LessEqualDepth}),n.hasProp("opacity",{type:g.default.number,simple:!0}),n.hasProp("visible",{type:g.default.bool,simple:!0,default:!0}),n.hasProp("vertexColors",{type:g.default.oneOf([f.NoColors,f.FaceColors,f.VertexColors]),simple:!0,default:f.NoColors}),n._colors=[],n._supportedMaps={},n}return a(t,e),c(t,[{key:"hasMap",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"map";this._supportedMaps[e]=!0,this.hasProp(e,{type:(0,T.default)(f.Texture),update:function(t,n){if(t.userData["_"+e+"}Property"]=n,t.userData["_has"+e+"}TextureChild"]){var r="texture";"map"!==e&&(r+="with a '"+e+"' slot"),(0,v.default)(null===n,"The material already has a "+r+" assigned to it as a child; therefore the '"+e+"' property will have no effect")}else t[e]!==n&&(t.needsUpdate=!0),t[e]=n},updateInitial:!0,default:null})}},{key:"getMaterialDescription",value:function(e){var t={};return this._colors.forEach(function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),e.hasOwnProperty("side")&&(t.side=e.side),t}},{key:"hasColor",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"color",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16777215;this._colors.push(e),this.hasProp(e,{type:g.default.oneOfType([(0,T.default)(f.Color),g.default.number,g.default.string]),update:function(t,n){t[e].set(n)},default:t})}},{key:"hasWireframe",value:function(){this.hasProp("wireframe",{type:g.default.bool,simple:!0,default:!1}),this.hasProp("wireframeLinewidth",{type:g.default.number,simple:!0,default:1})}},{key:"construct",value:function(){return new f.Material({})}},{key:"applyInitialProps",value:function(e,n){e.userData=u({},e.userData,{_hasTextureChild:!1}),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"setParent",value:function(e,n){(0,d.default)(n instanceof f.Mesh||n instanceof f.Points||n instanceof f.Sprite||n instanceof f.Line,"Parent is not a mesh"),(0,d.default)(void 0===n[e.userData._materialSlot]||null===n[e.userData._materialSlot],"Parent already has a "+e.userData._materialSlot+" defined"),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n),n[e.userData._materialSlot]=e}},{key:"unmount",value:function(e){var n=e.userData.markup.parentMarkup.threeObject;if(n instanceof f.Mesh||n instanceof f.Sprite||n instanceof f.Line||n instanceof f.Points){var r=e.userData._materialSlot;n[r]===e&&(n[r]=void 0)}e.dispose(),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;e.userData.events.emit("highlight",{uuid:e.uuid,boundingBoxFunc:function(){var e=new f.Box3;return t&&t.geometry&&t.geometry.computeBoundingBox&&t.geometry.computeBoundingBox(),e.setFromObject(t),[e]}})}},{key:"getBoundingBoxes",value:function(e){var t=new f.Box3,n=e.userData.markup.parentMarkup.threeObject;return n&&n.geometry&&n.geometry.computeBoundingBox&&n.geometry.computeBoundingBox(),t.setFromObject(n),[t]}},{key:"hideHighlight",value:function(e){e.userData.events.emit("hideHighlight")}},{key:"addChildren",value:function(e,t){(0,d.default)(0===t.filter(this._invalidChild).length,"Material children can only be textures or texture resource references!")}},{key:"addChild",value:function(e,t){this.addChildren(e,[t])}},{key:"moveChild",value:function(){}},{key:"removeChild",value:function(){}},{key:"invalidChildInternal",value:function(e){return!(e instanceof f.Texture||e instanceof M.default)}}]),t}(_.default))||s;e.exports=P},function(e,t,n){"use strict";var r=n(73),i=r;e.exports=i},function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function i(e){return void 0!==e.key}var o=n(6),a=n(14),s=(n(3),n(80),Object.prototype.hasOwnProperty),u=n(81),c={key:!0,ref:!0,__self:!0,__source:!0},l=function(e,t,n,r,i,o,a){var s={$$typeof:u,type:e,key:t,ref:n,props:a,_owner:o};return s};l.createElement=function(e,t,n){var o,u={},p=null,f=null;if(null!=t){r(t)&&(f=t.ref),i(t)&&(p=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source;for(o in t)s.call(t,o)&&!c.hasOwnProperty(o)&&(u[o]=t[o])}var h=arguments.length-2;if(1===h)u.children=n;else if(h>1){for(var d=Array(h),m=0;m<h;m++)d[m]=arguments[m+2];u.children=d}if(e&&e.defaultProps){var v=e.defaultProps;for(o in v)void 0===u[o]&&(u[o]=v[o])}return l(e,p,f,0,0,a.current,u)},l.createFactory=function(e){var t=l.createElement.bind(null,e);return t.type=e,t},l.cloneAndReplaceKey=function(e,t){return l(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},l.cloneElement=function(e,t,n){var u,p=o({},e.props),f=e.key,h=e.ref,d=(e._self,e._source,e._owner);if(null!=t){r(t)&&(h=t.ref,d=a.current),i(t)&&(f=""+t.key);var m;e.type&&e.type.defaultProps&&(m=e.type.defaultProps);for(u in t)s.call(t,u)&&!c.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==m?p[u]=m[u]:p[u]=t[u])}var v=arguments.length-2;if(1===v)p.children=n;else if(v>1){for(var y=Array(v),g=0;g<v;g++)y[g]=arguments[g+2];p.children=y}return l(e.type,f,h,0,0,d,p)},l.isValidElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===u},e.exports=l},function(e,t,n){"use strict";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var i=this.constructor.Interface;for(var o in i)if(i.hasOwnProperty(o)){var s=i[o];s?this[o]=s(n):"target"===o?this.target=r:this[o]=n[o]}var u=null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue;return this.isDefaultPrevented=u?a.thatReturnsTrue:a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var i=n(6),o=n(25),a=n(13),s=(n(3),["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),u={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};i(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;i(a,e.prototype),e.prototype=a,e.prototype.constructor=e,e.Interface=i({},n.Interface,t),e.augmentClass=n.augmentClass,o.addPoolingTo(e,o.fourArgumentPooler)},o.addPoolingTo(r,o.fourArgumentPooler),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(o),s=function(){function e(){r(this,e),this.uuid=a.Math.generateUUID(),this.userData={}}return i(e,[{key:"performAction",value:function(e){}}]),e}();e.exports=s},function(e,t,n){"use strict";function r(){i.attachRefs(this,this._currentElement)}var i=n(91),o=(n(10),n(3),{mountComponent:function(e,t,n,i,o,a){var s=e.mountComponent(t,n,i,o,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){i.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,o){var a=e._currentElement;if(t!==a||o!==e._context){var s=i.shouldUpdateRefs(a,t);s&&i.detachRefs(e,a),e.receiveComponent(t,n,o),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});e.exports=o},function(e,t,n){"use strict";function r(e,t){return(e&t)===t}var i=n(4),o=(n(2),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=o,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},c=e.DOMPropertyNames||{},l=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in n){s.properties.hasOwnProperty(p)&&i("48",p);var f=p.toLowerCase(),h=n[p],d={attributeName:f,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:r(h,t.MUST_USE_PROPERTY),hasBooleanValue:r(h,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(h,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(h,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(h,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(d.hasBooleanValue+d.hasNumericValue+d.hasOverloadedBooleanValue<=1||i("50",p),u.hasOwnProperty(p)){var m=u[p];d.attributeName=m}a.hasOwnProperty(p)&&(d.attributeNamespace=a[p]),c.hasOwnProperty(p)&&(d.propertyName=c[p]),l.hasOwnProperty(p)&&(d.mutationMethod=l[p]),s.properties[p]=d}}}),a=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){if((0,s._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:o};e.exports=s},function(e,t,n){"use strict";var r=n(4),i=(n(2),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),o=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,e,t,n),i}return new r(e,t,n)},s=function(e,t,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,e,t,n,r),o}return new i(e,t,n,r)},u=function(e){var t=this;e instanceof t||r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=i,l=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||c,n.poolSize||(n.poolSize=10),n.release=u,n},p={addPoolingTo:l,oneArgumentPooler:i,twoArgumentPooler:o,threeArgumentPooler:a,fourArgumentPooler:s};e.exports=p},function(e,t,n){"use strict";var r={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(12),d=r(h),m=n(133),v=r(m),y=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"setParent",value:function(e,n){(0,f.default)(n instanceof l.Path||n instanceof v.default,"Shape action commands (%s) can only be added to shapes, paths or holes.",this.constructor.name),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.highlight(t)}},{key:"getBoundingBoxes",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;return t.userData._descriptor.getBoundingBoxes(t)}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";var r=n(6),i=n(56),o=n(143),a=n(146),s=n(20),u=n(147),c=n(150),l=n(151),p=n(153),f=s.createElement,h=s.createFactory,d=s.cloneElement,m=r,v=function(e){return e},y={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:p},Component:i.Component,PureComponent:i.PureComponent,createElement:f,cloneElement:d,isValidElement:s.isValidElement,PropTypes:u,createClass:l,createFactory:h,createMixin:v,DOM:a,version:c,__spread:m};e.exports=y},function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var i=new Error(n);throw i.name="Invariant Violation",i.framesToPop=1,i}e.exports=r},function(e,t,n){"use strict";function r(e){if(d){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)m(t,n[r],null);else null!=e.html?p(t,e.html):null!=e.text&&h(t,e.text)}}function i(e,t){e.parentNode.replaceChild(t.node,e),r(t)}function o(e,t){d?e.children.push(t):e.node.appendChild(t.node)}function a(e,t){d?e.html=t:p(e.node,t)}function s(e,t){d?e.text=t:h(e.node,t)}function u(){return this.node.nodeName}function c(e){return{node:e,children:[],html:null,text:null,toString:u}}var l=n(64),p=n(42),f=n(65),h=n(95),d="undefined"!==typeof document&&"number"===typeof document.documentMode||"undefined"!==typeof navigator&&"string"===typeof navigator.userAgent&&/\bEdge\/\d/.test(navigator.userAgent),m=f(function(e,t,n){11===t.node.nodeType||1===t.node.nodeType&&"object"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===l.html)?(r(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),r(t))});c.insertTreeBefore=m,c.replaceChildWithTree=i,c.queueChild=o,c.queueHTML=a,c.queueText=s,e.exports=c},function(e,t,n){"use strict";function r(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp("^"+t.call(n).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");try{var i=t.call(e);return r.test(i)}catch(e){return!1}}function i(e){var t=c(e);if(t){var n=t.childIDs;l(e),n.forEach(i)}}function o(e,t,n){return"\n    in "+(e||"Unknown")+(t?" (at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+")":n?" (created by "+n+")":"")}function a(e){return null==e?"#empty":"string"===typeof e||"number"===typeof e?"#text":"string"===typeof e.type?e.type:e.type.displayName||e.type.name||"Unknown"}function s(e){var t,n=O.getDisplayName(e),r=O.getElement(e),i=O.getOwnerID(e);return i&&(t=O.getDisplayName(i)),o(n,r&&r._source,t)}var u,c,l,p,f,h,d,m=n(29),v=n(14),y=(n(2),n(3),"function"===typeof Array.from&&"function"===typeof Map&&r(Map)&&null!=Map.prototype&&"function"===typeof Map.prototype.keys&&r(Map.prototype.keys)&&"function"===typeof Set&&r(Set)&&null!=Set.prototype&&"function"===typeof Set.prototype.keys&&r(Set.prototype.keys));if(y){var g=new Map,b=new Set;u=function(e,t){g.set(e,t)},c=function(e){return g.get(e)},l=function(e){g.delete(e)},p=function(){return Array.from(g.keys())},f=function(e){b.add(e)},h=function(e){b.delete(e)},d=function(){return Array.from(b.keys())}}else{var _={},w={},x=function(e){return"."+e},E=function(e){return parseInt(e.substr(1),10)};u=function(e,t){var n=x(e);_[n]=t},c=function(e){var t=x(e);return _[t]},l=function(e){var t=x(e);delete _[t]},p=function(){return Object.keys(_).map(E)},f=function(e){var t=x(e);w[t]=!0},h=function(e){var t=x(e);delete w[t]},d=function(){return Object.keys(w).map(E)}}var M=[],O={onSetChildren:function(e,t){var n=c(e);n||m("144"),n.childIDs=t;for(var r=0;r<t.length;r++){var i=t[r],o=c(i);o||m("140"),null==o.childIDs&&"object"===typeof o.element&&null!=o.element&&m("141"),o.isMounted||m("71"),null==o.parentID&&(o.parentID=e),o.parentID!==e&&m("142",i,o.parentID,e)}},onBeforeMountComponent:function(e,t,n){u(e,{element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0})},onBeforeUpdateComponent:function(e,t){var n=c(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=c(e);t||m("144"),t.isMounted=!0,0===t.parentID&&f(e)},onUpdateComponent:function(e){var t=c(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=c(e);if(t){t.isMounted=!1;0===t.parentID&&h(e)}M.push(e)},purgeUnmountedComponents:function(){if(!O._preventPurging){for(var e=0;e<M.length;e++){i(M[e])}M.length=0}},isMounted:function(e){var t=c(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t="";if(e){var n=a(e),r=e._owner;t+=o(n,e._source,r&&r.getName())}var i=v.current,s=i&&i._debugID;return t+=O.getStackAddendumByID(s)},getStackAddendumByID:function(e){for(var t="";e;)t+=s(e),e=O.getParentID(e);return t},getChildIDs:function(e){var t=c(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=O.getElement(e);return t?a(t):null},getElement:function(e){var t=c(e);return t?t.element:null},getOwnerID:function(e){var t=O.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=c(e);return t?t.parentID:null},getSource:function(e){var t=c(e),n=t?t.element:null;return null!=n?n._source:null},getText:function(e){var t=O.getElement(e);return"string"===typeof t?t:"number"===typeof t?""+t:null},getUpdateCount:function(e){var t=c(e);return t?t.updateCount:0},getRootIDs:d,getRegisteredIDs:p,pushNonStandardWarningStack:function(e,t){if("function"===typeof console.reactStack){var n=[],r=v.current,i=r&&r._debugID;try{for(e&&n.push({name:i?O.getDisplayName(i):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});i;){var o=O.getElement(i),a=O.getParentID(i),s=O.getOwnerID(i),u=s?O.getDisplayName(s):null,c=o&&o._source;n.push({name:u,fileName:c?c.fileName:null,lineNumber:c?c.lineNumber:null}),i=a}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){"function"===typeof console.reactStackEnd&&console.reactStackEnd()}};e.exports=O},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(0),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(i),a=function e(t){r(this,e),this.uuid=o.Math.generateUUID(),this.resourceId=t,this.userData={}};e.exports=a},function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return y(e,r)}function i(e,t,n){var i=r(e,n,t);i&&(n._dispatchListeners=m(n._dispatchListeners,i),n._dispatchInstances=m(n._dispatchInstances,e))}function o(e){e&&e.dispatchConfig.phasedRegistrationNames&&d.traverseTwoPhase(e._targetInst,i,e)}function a(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?d.getParentInstance(t):null;d.traverseTwoPhase(n,i,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,i=y(e,r);i&&(n._dispatchListeners=m(n._dispatchListeners,i),n._dispatchInstances=m(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function c(e){v(e,o)}function l(e){v(e,a)}function p(e,t,n,r){d.traverseEnterLeave(n,r,s,e,t)}function f(e){v(e,u)}var h=n(34),d=n(58),m=n(86),v=n(87),y=(n(3),h.getListener),g={accumulateTwoPhaseDispatches:c,accumulateTwoPhaseDispatchesSkipTarget:l,accumulateDirectDispatches:f,accumulateEnterLeaveDispatches:p};e.exports=g},function(e,t,n){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function i(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var o=n(4),a=n(39),s=n(58),u=n(59),c=n(86),l=n(87),p=(n(2),{}),f=null,h=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},d=function(e){return h(e,!0)},m=function(e){return h(e,!1)},v=function(e){return"."+e._rootNodeID},y={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,t,n){"function"!==typeof n&&o("94",t,typeof n);var r=v(e);(p[t]||(p[t]={}))[r]=n;var i=a.registrationNameModules[t];i&&i.didPutListener&&i.didPutListener(e,t,n)},getListener:function(e,t){var n=p[t];if(i(t,e._currentElement.type,e._currentElement.props))return null;var r=v(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=p[t];if(r){delete r[v(e)]}},deleteAllListeners:function(e){var t=v(e);for(var n in p)if(p.hasOwnProperty(n)&&p[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete p[n][t]}},extractEvents:function(e,t,n,r){for(var i,o=a.plugins,s=0;s<o.length;s++){var u=o[s];if(u){var l=u.extractEvents(e,t,n,r);l&&(i=c(i,l))}}return i},enqueueEvents:function(e){e&&(f=c(f,e))},processEventQueue:function(e){var t=f;f=null,e?l(t,d):l(t,m),f&&o("95"),u.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};e.exports=y},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(21),o=n(60),a={view:function(e){if(e.view)return e.view;var t=o(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};i.augmentClass(r,a),e.exports=r},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function i(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function o(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){m&&h&&(m=!1,h.length?d=h.concat(d):v=-1,d.length&&s())}function s(){if(!m){var e=i(a);m=!0;for(var t=d.length;t;){for(h=d,d=[];++v<t;)h&&h[v].run();v=-1,t=d.length}h=null,m=!1,o(e)}}function u(e,t){this.fun=e,this.array=t}function c(){}var l,p,f=e.exports={};!function(){try{l="function"===typeof setTimeout?setTimeout:n}catch(e){l=n}try{p="function"===typeof clearTimeout?clearTimeout:r}catch(e){p=r}}();var h,d=[],m=!1,v=-1;f.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];d.push(new u(e,t)),1!==d.length||m||i(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=c,f.addListener=c,f.once=c,f.off=c,f.removeListener=c,f.removeAllListeners=c,f.emit=c,f.prependListener=c,f.prependOnceListener=c,f.listeners=function(e){return[]},f.binding=function(e){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(e){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u,c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},p=n(0),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(p),h=n(1),d=r(h),m=n(19),v=(r(m),n(16)),y=r(v),g=n(8),b=r(g),_=function(){var e=new f.Vector3,t=new f.Vector3;return function(n){n.updateMatrixWorld(),e.setFromMatrixPosition(n.matrixWorld),n.target.position.copy(t.set(0,0,1).applyQuaternion(n.quaternion).add(e)),n.target.updateMatrixWorld()}}(),w=(u=s=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.removeProp("receiveShadow"),n._hasDirection=!1,n.hasProp("updatesRefreshAllMaterials",{type:d.default.bool,updateInitial:!0,update:function(e,t){e.userData._updatesRefreshAllMaterials=t},default:!1}),n.hasProp("shadowBias",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.bias=t)},default:t.defaultShadowBias}),n.hasProp("shadowDarkness",{type:d.default.number,simple:!0,default:.5}),n.hasProp("shadowMapWidth",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.mapSize.x=t)},default:512}),n.hasProp("shadowMapHeight",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.mapSize.y=t)},default:512}),n.hasProp("shadowCameraNear",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.near=t)},default:t.defaultShadowCameraNear}),n.hasProp("shadowCameraFar",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.far=t)},default:t.defaultShadowCameraFar}),n.hasProp("castShadow",{override:!0,type:d.default.bool,update:n.triggerRemount,default:!1}),n}return a(t,e),c(t,[{key:"hasDirection",value:function(){this._hasDirection=!0,this.removeProp("position"),this.removeProp("rotation"),this.removeProp("quaternion"),this.removeProp("lookAt"),this.removeProp("matrix"),this.hasProp("position",{type:(0,b.default)(f.Vector3),update:function(e,t){e.position.copy(t),e.userData._lookAt&&e.lookAt(e.userData._lookAt),e.userData._needsDirectionUpdate=!0},default:new f.Vector3}),this.hasProp("rotation",{type:(0,b.default)(f.Euler),update:function(e,t){e.rotation.copy(t),e.userData._needsDirectionUpdate=!0},default:new f.Euler}),this.hasProp("quaternion",{type:(0,b.default)(f.Quaternion),update:function(e,t){e.quaternion.copy(t),e.userData._needsDirectionUpdate=!0},default:new f.Quaternion}),this.hasProp("matrix",{type:(0,b.default)(f.Matrix4),update:function(e,t){e.matrix.copy(t),e.matrix.decompose(e.position,e.quaternion,e.scale),e.userData._needsDirectionUpdate=!0},default:new f.Matrix4}),this.hasProp("lookAt",{type:(0,b.default)(f.Vector3),update:function(e,t){e.userData._lookAt=t,t&&(e.lookAt(t),e.userData._needsDirectionUpdate=!0)},default:void 0})}},{key:"completePropertyUpdates",value:function(e){l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"completePropertyUpdates",this).call(this,e),e.userData._needsDirectionUpdate&&(e.userData._needsDirectionUpdate=!1,_(e))}},{key:"hasColor",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"color",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16777215;this.hasProp(e,{type:d.default.oneOfType([(0,b.default)(f.Color),d.default.number,d.default.string]),update:function(e,t){e.color.set(t)},default:t})}},{key:"applyInitialProps",value:function(e,n){l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),n.hasOwnProperty("castShadow")&&(e.castShadow=n.castShadow),this._hasDirection&&(e.userData._needsDirectionUpdate=!1,(n.position||n.lookAt||n.rotation||n.quaternion)&&_(e))}},{key:"unmount",value:function(e){this.updateAllMaterials(e),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"setParent",value:function(e,n){l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n),this.updateAllMaterials(e)}},{key:"updateAllMaterials",value:function(e){var t=e.userData.markup._rootInstance;if(t&&!t._willUnmount){t.allMaterialsNeedUpdate()}}}]),t}(y.default),s.defaultShadowCameraNear=.5,s.defaultShadowCameraFar=500,s.defaultShadowBias=0,u);e.exports=w},function(e,t,n){"use strict";var r={};e.exports=r},function(e,t,n){"use strict";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1||a("96",e),!c.plugins[n]){t.extractEvents||a("97",e),c.plugins[n]=t;var r=t.eventTypes;for(var o in r)i(r[o],t,o)||a("98",o,e)}}}function i(e,t,n){c.eventNameDispatchConfigs.hasOwnProperty(n)&&a("99",n),c.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var i in r)if(r.hasOwnProperty(i)){var s=r[i];o(s,t,n)}return!0}return!!e.registrationName&&(o(e.registrationName,t,n),!0)}function o(e,t,n){c.registrationNameModules[e]&&a("100",e),c.registrationNameModules[e]=t,c.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=n(4),s=(n(2),null),u={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s&&a("101"),s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];u.hasOwnProperty(n)&&u[n]===i||(u[n]&&a("102",n),u[n]=i,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var i=c.registrationNameModules[n[r]];if(i)return i}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];c.plugins.length=0;var t=c.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=c.registrationNameModules;for(var i in r)r.hasOwnProperty(i)&&delete r[i]}};e.exports=c},function(e,t,n){"use strict";var r=n(4),i=(n(2),{}),o={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,i,o,a,s,u){this.isInTransaction()&&r("27");var c,l;try{this._isInTransaction=!0,c=!0,this.initializeAll(0),l=e.call(t,n,i,o,a,s,u),c=!1}finally{try{if(c)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return l},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=i,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===i)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()||r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var o,a=t[n],s=this.wrapperInitData[n];try{o=!0,s!==i&&a.close&&a.close.call(this,s),o=!1}finally{if(o)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=o},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(35),o=n(94),a=n(62),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+o.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+o.currentScrollTop}};i.augmentClass(r,s),e.exports=r},function(e,t,n){"use strict";var r,i=n(11),o=n(64),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(65),c=u(function(e,t){if(e.namespaceURI!==o.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML="<svg>"+t+"</svg>";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(i.canUseDOM){var l=document.createElement("div");l.innerHTML=" ",""===l.innerHTML&&(c=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),l=null}e.exports=c},function(e,t,n){"use strict";function r(e){var t=""+e,n=o.exec(t);if(!n)return t;var r,i="",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r="&quot;";break;case 38:r="&amp;";break;case 39:r="&#x27;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}s!==a&&(i+=t.substring(s,a)),s=a+1,i+=r}return s!==a?i+t.substring(s,a):i}function i(e){return"boolean"===typeof e||"number"===typeof e?""+e:r(e)}var o=/["'&<>]/;e.exports=i},function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=h++,p[e[m]]={}),p[e[m]]}var i,o=n(6),a=n(39),s=n(183),u=n(94),c=n(184),l=n(61),p={},f=!1,h=0,d={topAbort:"abort",topAnimationEnd:c("animationend")||"animationend",topAnimationIteration:c("animationiteration")||"animationiteration",topAnimationStart:c("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:c("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},m="_reactListenersID"+String(Math.random()).slice(2),v=o({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,i=r(n),o=a.registrationNameDependencies[e],s=0;s<o.length;s++){var u=o[s];i.hasOwnProperty(u)&&i[u]||("topWheel"===u?l("wheel")?v.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):l("mousewheel")?v.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):v.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===u?l("scroll",!0)?v.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):v.ReactEventListener.trapBubbledEvent("topScroll","scroll",v.ReactEventListener.WINDOW_HANDLE):"topFocus"===u||"topBlur"===u?(l("focus",!0)?(v.ReactEventListener.trapCapturedEvent("topFocus","focus",n),v.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):l("focusin")&&(v.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),v.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),i.topBlur=!0,i.topFocus=!0):d.hasOwnProperty(u)&&v.ReactEventListener.trapBubbledEvent(u,d[u],n),i[u]=!0)}},trapBubbledEvent:function(e,t,n){return v.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return v.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent("MouseEvent");return null!=e&&"pageX"in e},ensureScrollValueMonitoring:function(){if(void 0===i&&(i=v.supportsEventPageXY()),!i&&!f){var e=u.refreshScrollValues;v.ReactEventListener.monitorScrollValue(e),f=!0}}});e.exports=v},function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function i(e,t){if(r(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a<n.length;a++)if(!o.call(t,n[a])||!r(e[n[a]],t[n[a]]))return!1;return!0}var o=Object.prototype.hasOwnProperty;e.exports=i},function(e,t,n){"use strict";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var i=typeof e,o=typeof t;return"string"===i||"number"===i?"string"===o||"number"===o:"object"===o&&e.type===t.type&&e.key===t.key}e.exports=r},function(e,t,n){"use strict";function r(e){u.enqueueUpdate(e)}function i(e){var t=typeof e;if("object"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function o(e,t){var n=s.get(e);if(!n){return null}return n}var a=n(4),s=(n(14),n(26)),u=(n(10),n(15)),c=(n(2),n(3),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){c.validateCallback(t,n);var i=o(e);if(!i)return null;i._pendingCallbacks?i._pendingCallbacks.push(t):i._pendingCallbacks=[t],r(i)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=o(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var i=o(e,"replaceState");i&&(i._pendingStateQueue=[t],i._pendingReplaceState=!0,void 0!==n&&null!==n&&(c.validateCallback(n,"replaceState"),i._pendingCallbacks?i._pendingCallbacks.push(n):i._pendingCallbacks=[n]),r(i))},enqueueSetState:function(e,t){var n=o(e,"setState");if(n){(n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!==typeof e&&a("122",t,i(e))}});e.exports=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t,n){D.default.unmountComponent(e,n)}function u(e){return e&&e[ce.default]||""}function c(e){return e?e.userData&&e.userData.markup&&e.userData.markup.childrenMarkup[0]||null:null}function l(e){return"function"===typeof e&&"undefined"!==typeof e.prototype&&"function"===typeof e.prototype.mountComponent&&"function"===typeof e.prototype.receiveComponent}var p,f,h,d,m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},v=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),y=n(0),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(y),b=n(20),_=r(b),w=n(14),x=(r(w),n(56)),E=n(57),M=(r(E),n(118)),O=r(M),T=n(5),P=r(T),S=n(19),C=(r(S),n(26)),R=r(C),A=n(23),D=r(A),k=n(15),L=r(k),j=n(47),I=r(j),N=n(108),U=r(N),F=n(109),B=r(F),z=n(106),H=r(z),V=n(69),G=r(V),W=n(72),q=r(W),X=n(46),Y=r(X),K=n(10),Z=(r(K),n(240)),Q=r(Z),J=n(241),$=r(J),ee=n(242),te=r(ee),ne=n(122),re=r(ne),ie=n(246),oe=r(ie),ae=n(120),se=r(ae),ue=n(74),ce=r(ue),le=n(121),pe=(r(le),void 0),fe=(f=p=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),v(t,[{key:"render",value:function(){return this.props.child}}]),t}(x.Component),p.isReactComponent={},p.isReactTopLevelWrapper=!0,f),he=(d=h=function(){function e(){var t=this;if(i(this,e),this.instantiateChild=function(e,n,r,i){var o=void 0===e[r];null!==n&&o&&(e[r]=t.instantiateReactComponent(n,!0))},this.findNodeHandle=function(e){var n=re.default.getRenderedHostOrTextFromComponent(e);if(!n||!n._threeObject)return null;var r=re.default.getMarkupFromInstance(n);return t._highlightCache=r,t._highlightElement},this.nativeTagToRootNodeID=function(){return 0},this.hostTagToRootNodeID=function(){return 0},this.batchedMountComponentIntoNode=function(e,n,r,i){var o=L.default.ReactReconcileTransaction.getPooled(!r);o.perform(t.mountComponentIntoNode,null,e,n,o,r,i),L.default.ReactReconcileTransaction.release(o)},this.mountComponentIntoNode=function(e,n,r,i,o){var a=D.default.mountComponent(e,r,null,(0,Q.default)(e,n),o,0);e._renderedComponent._topLevelWrapper=e,t._mountImageIntoNode(a,n,e,i,r)},this._instancesByReactRootID={},this.nextMountID=1,this.globalIdCounter=1,this.nextReactRootIndex=0,this.threeElementDescriptors=new oe.default(this).descriptors,this._highlightElement=document.createElement("div"),this._highlightCache=null,"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&(this._agent=null,this._onHideHighlightFromInspector=function(){if(t._highlightCache&&t._highlightCache.threeObject.userData.react3internalComponent){t._highlightCache.threeObject.userData.react3internalComponent.hideHighlight(),t._highlightCache=null}},this._onHighlightFromInspector=function(e){if(e.node===t._highlightElement&&t._highlightCache&&t._highlightCache.threeObject.userData.react3internalComponent){t._highlightCache.threeObject.userData.react3internalComponent.highlightComponent()}},this._hookAgent=function(e){t._agent=e,e.on("highlight",t._onHighlightFromInspector),e.on("hideHighlight",t._onHideHighlightFromInspector)},"undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject)){this._devToolsRendererDefinition={ComponentTree:{getClosestInstanceFromNode:function(e){return re.default.getClosestInstanceFromMarkup(e)},getNodeFromInstance:function(e){for(var t=e;t._renderedComponent;)t=t._renderedComponent;return t?re.default.getMarkupFromInstance(t):null}},Mount:this,Reconciler:D.default,TextComponent:te.default};var n=function(e){t._reactDevtoolsRendererId=e.id,t._rendererListenerCleanup(),delete t._rendererListenerCleanup};if(this._rendererListenerCleanup=__REACT_DEVTOOLS_GLOBAL_HOOK__.sub("renderer",n),__REACT_DEVTOOLS_GLOBAL_HOOK__.inject(this._devToolsRendererDefinition),"undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.reactDevtoolsAgent&&__REACT_DEVTOOLS_GLOBAL_HOOK__.reactDevtoolsAgent){var r=__REACT_DEVTOOLS_GLOBAL_HOOK__.reactDevtoolsAgent;this._hookAgent(r)}else this._devtoolsCallbackCleanup=__REACT_DEVTOOLS_GLOBAL_HOOK__.sub("react-devtools",function(e){t._devtoolsCallbackCleanup(),t._hookAgent(e)})}}return v(e,[{key:"updateChildren",value:function(e,t,n,r,i,o,a,s,u){if(!t&&!e)return null;if(t)for(var c=Object.keys(t),l=0;l<c.length;++l){var p=c[l],f=e&&e[p],h=f&&f._currentElement,d=t[p];if(null!==f&&void 0!==f&&(0,Y.default)(h,d))if(D.default.receiveComponent(f,d,i,s),f._forceRemountOfComponent){r[p]=f.getHostMarkup(),D.default.unmountComponent(f,!1);var m=this.instantiateReactComponent(d,!0);t[p]=m;var v=D.default.mountComponent(m,i,o,a,s,u);n.push(v)}else t[p]=f;else{f&&(r[p]=f.getHostMarkup(),D.default.unmountComponent(f,!1));var y=this.instantiateReactComponent(d,!0);t[p]=y;var g=D.default.mountComponent(y,i,o,a,s,u);n.push(g)}}if(e)for(var b=Object.keys(e),_=0;_<b.length;++_){var w=b[_];if(!t||!t.hasOwnProperty(w)){var x=e[w];r[w]=x.getHostMarkup(),D.default.unmountComponent(x,!1)}}return t}},{key:"getElementDescriptor",value:function(e){return this.threeElementDescriptors[e]}}],[{key:"findTHREEObject",value:function(e){if(null===e)return null;if(e instanceof g.Object3D||e instanceof HTMLCanvasElement)return e;if(R.default.has(e)){var t=R.default.get(e);return t=(0,q.default)(t),t?re.default.getMarkupFromInstance(t).threeObject:null}return null!==e.render&&"function"===typeof e.render&&(0,P.default)(!1),(0,P.default)(!1),null}}]),v(e,[{key:"instantiateChildren",value:function(e,t,n,r){if(null===e)return null;var i={};return(0,G.default)(e,this.instantiateChild,i),i}},{key:"containsChild",value:function(e,t){for(var n=e.userData.markup.childrenMarkup,r=0;r<n.length;r++)if(n[r]===t)return!0;return!1}},{key:"_mountImageIntoNode",value:function(e,t,n,r,i){t.userData||((0,P.default)(t instanceof HTMLCanvasElement,"The root container can only be a THREE.js object (with an userData property) or HTMLCanvasElement."),t.userData={_createdByReact3:!0});var o=e,a={threeObject:t,parentMarkup:null,childrenMarkup:[o],toJSON:function(){return"---MARKUP---"}};Object.assign(t.userData,{object3D:t,toJSON:function(){return"---USERDATA---"},markup:a}),o.parentMarkup=a,this.threeElementDescriptors[o.elementType].setParent(o.threeObject,a.threeObject),o.threeObject.mountedIntoRoot();var s=t.userData.markup.childrenMarkup[0];re.default.precacheMarkup(n,s)}},{key:"render",value:function(e,t,n){return this._renderSubtreeIntoContainer(null,e,t,n)}},{key:"getHostRootInstanceInContainer",value:function(e){var t=c(e),n=t&&re.default.getInstanceFromMarkup(t);return n&&!n._hostParent?n:null}},{key:"getTopLevelWrapperInContainer",value:function(e){var t=this.getHostRootInstanceInContainer(e);return t&&(0,P.default)(!!t._hostContainerInfo,"Root should have native container info %s"," but it does not"),t?t._hostContainerInfo._topLevelWrapper:null}},{key:"_renderSubtreeIntoContainer",value:function(e,t,n,r){_.default.isValidElement(t)||(0,P.default)(!1);var i=_.default.createElement(fe,{child:t}),o=void 0;if(e){var a=R.default.get(e);o=a._processChildContext(a._context)}else o=O.default;var s=this.getTopLevelWrapperInContainer(n);if(s){var l=s._currentElement,p=l.props.child;if((0,Y.default)(p,t)){var f=s._renderedComponent.getPublicInstance(),h=r&&function(){r.call(f)};return this._updateRootComponent(s,i,o,n,h),f}this.unmountComponentAtNode(n)}var d=c(n),m=d&&!!u(d),v=m&&!s,y=this._renderNewRootComponent(i,n,v,o)._renderedComponent.getPublicInstance();return r&&r.call(y),y}},{key:"dispose",value:function(){for(var e=Object.keys(this._instancesByReactRootID),t=0;t<e.length;++t)this.unmountComponentAtNode(this._instancesByReactRootID[e[t]].getHostMarkup().parentMarkup.threeObject);delete this._instancesByReactRootID,delete this._highlightElement,this.nextMountID=1,this.nextReactRootIndex=0,"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&(this._devtoolsCallbackCleanup&&(this._devtoolsCallbackCleanup(),delete this._devtoolsCallbackCleanup),this._rendererListenerCleanup&&(this._rendererListenerCleanup(),delete this._rendererListenerCleanup),this._devToolsRendererDefinition&&(this._agent&&(this._agent.onUnmounted(this._devToolsRendererDefinition),this._agent.removeListener("highlight",this._onHighlightFromInspector),this._agent.removeListener("hideHighlight",this._onHideHighlightFromInspector)),this._reactDevtoolsRendererId&&(delete __REACT_DEVTOOLS_GLOBAL_HOOK__._renderers[this._reactDevtoolsRendererId],delete this._reactDevtoolsRendererId),delete this._devToolsRendererDefinition,delete this._agent),delete this._onHighlightFromInspector,delete this._onHideHighlightFromInspector,delete this._hookAgent)}},{key:"_updateRootComponent",value:function(e,t,n,r,i){return I.default.enqueueElementInternal(e,t,n),i&&I.default.enqueueCallbackInternal(e,i),e}},{key:"hasNonRootReactChild",value:function(e){var t=c(e);if(t){var n=re.default.getInstanceFromMarkup(t);return!(!n||!n._hostParent)}return!1}},{key:"unmountComponentAtNode",value:function(e){var t=this.getTopLevelWrapperInContainer(e);if(!t){this.hasNonRootReactChild(e),e&&e.userData&&e.userData.markup&&e.userData.markup[ce.default];return!1}return delete this._instancesByReactRootID[t._instance.rootID],L.default.batchedUpdates(s,t,e,!1),e&&e.userData&&e.userData._createdByReact3&&delete e.userData,!0}},{key:"getReactRootID",value:function(e){var t=c(e);return t&&this.getID(t)}},{key:"instantiateReactComponent",value:function(e,t){var n=void 0,r=e;if(null===r||!1===r)n=new te.default(_.default.createElement("object3D",{visible:!1}),this);else if("object"===("undefined"===typeof r?"undefined":m(r))){var i=r,o=i.type;if("function"!==typeof o&&"string"!==typeof o){var a="";a+=pe(i._owner),(0,P.default)(!1,"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",null===o||void 0===o?o:"undefined"===typeof o?"undefined":m(o),a)}if("string"===typeof i.type)n=new te.default(i,this);else if(l(i.type)){var s=i.type;n=new s(i),n.getHostNode||(n.getHostNode=n.getNativeNode)}else n=new se.default(i,this)}else(0,P.default)(!1);return n._mountIndex=0,n._mountImage=null,n}},{key:"_renderNewRootComponent",value:function(e,t,n,r){var i=this.instantiateReactComponent(e,!1);L.default.ReactReconcileTransaction||(U.default.Updates.injectReconcileTransaction(B.default),U.default.Updates.injectBatchingStrategy(H.default));L.default.batchedUpdates(this.batchedMountComponentIntoNode,i,t,n,r);var o=i._instance.rootID;return this._instancesByReactRootID[o]=i,i}},{key:"createReactRootID",value:function(){return this.nextReactRootIndex++}},{key:"getID",value:function(e){return u(e)}}]),e}(),h.eventDispatcher=new $.default,d);e.exports=he},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(32),d=r(h),m=n(16),v=r(m),y=function(e){function t(){var e,n,r,a;i(this,t);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return n=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r._invalidChild=function(e){return!(e instanceof l.Material||e instanceof d.default||e instanceof l.Geometry||e instanceof l.BufferGeometry)},a=n,o(r,a)}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.hasOwnProperty("geometry")?e.geometry:void 0,n=e.hasOwnProperty("material")?e.material:void 0,r=new l.Mesh(t,n);return t||(r.geometry.dispose(),r.geometry=void 0),n||(r.material.dispose(),r.material=void 0),r}},{key:"addChildren",value:function(e,t){(0,f.default)(0===t.filter(this._invalidChild).length,!1)}},{key:"addChild",value:function(e,t){this.addChildren(e,[t])}},{key:"moveChild",value:function(){}},{key:"getBoundingBoxes",value:function(e){return e.geometry&&e.geometry.computeBoundingBox&&e.geometry.computeBoundingBox(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getBoundingBoxes",this).call(this,e)}}]),t}(v.default);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(5),l=r(c),p=n(1),f=r(p),h=n(12),d=r(h),m=n(32),v=r(m),y=n(48),g=(r(y),function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._addedIntoRoot=function(e){for(var t=e.userData.markup.parentMarkup,r=0;t;){var i=t.threeObject.userData._resources;if(i){var o=e.resourceId,a=i.resourceMap[o];a&&n._addResource(e,{id:o,distance:r,resource:a})}r++,t=t.threeObject.userData.markup.parentMarkup}n._updateResource(e)},n.hasProp("resourceId",{type:f.default.string.isRequired,update:n.triggerRemount,default:""}),n}return a(t,e),s(t,[{key:"construct",value:function(e){return(0,l.default)(e.hasOwnProperty("resourceId"),'A resource type must have a property named "resourceId"!'),new v.default(e.resourceId)}},{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData.resourceMap=[],e.userData._eventCleanupQueue=[],e.userData._chosenResource=void 0,e.userData._debug=n.debug||!1,e.userData.events.once("addedIntoRoot",this._addedIntoRoot)}},{key:"unmount",value:function(e){e.userData._eventCleanupQueue.forEach(function(e){e()}),delete e.userData._eventCleanupQueue,delete e.userData.resourceMap,this.updateChosenResource(e,null),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"updateChosenResource",value:function(e,t){var n=e.userData._chosenResource;n!==t&&(e.userData._chosenResource=t,this.resourceUpdated(e,t,n))}},{key:"setParent",value:function(e,n){var r=n[e.userData._propertySlot];(0,l.default)(void 0===r||null===r,"Parent already has a "+e.userData._propertySlot+" defined"),(0,l.default)(0===e.userData._eventCleanupQueue.length,"Changing parents?"),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n);var i=n.userData.markup,o=this._onResourceAdded.bind(this,e),a=this._onResourceRemoved.bind(this,e),s=i.threeObject.userData.events;s.on("resource.added",o),s.on("resource.removed",a),e.userData._eventCleanupQueue.push(function(){s.removeListener("resource.added",o),s.removeListener("resource.removed",a)})}},{key:"_onResourceAdded",value:function(e,t){e.resourceId===t.id&&(this._addResource(e,t),this._updateResource(e))}},{key:"_addResource",value:function(e,t){var n=e.userData.resourceMap,r=void 0;for(r=0;r<n.length;++r){if(n[r].distance===t.distance)return void(n[r].resource!==t.resource&&(n[r].resource=t.resource));if(n[r].distance>t.distance)break}n.splice(r,0,{distance:t.distance,resource:t.resource})}},{key:"_onResourceRemoved",value:function(e,t){if(e.resourceId===t.id){for(var n=e.userData.resourceMap,r=0;r<n.length;++r)if(n[r].distance===t.distance)return void(n[r].resource===t.resource&&(n.splice(r,1),this._updateResource(e)));(0,l.default)(!1,"This resource was not in this map?")}}},{key:"applyToSlot",value:function(e,t,n){t[e.userData._propertySlot]=n}},{key:"resourceUpdated",value:function(e,t,n){var r=e.userData.markup.parentMarkup&&e.userData.markup.parentMarkup.threeObject||void 0;if(r&&(this.applyToSlot(e,r,t),null===t||t.userData._references.push(r),n)){var i=n.userData._references.indexOf(r);(0,l.default)(-1!==i,"Bad reference count for resource"),n.userData._references.splice(i,1)}}},{key:"_updateResource",value:function(e){var t=e.userData.resourceMap,n=null;t.length>0&&(n=t[0].resource),this.updateChosenResource(e,n)}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.highlight(t)}},{key:"hideHighlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.hideHighlight(t)}}]),t}(d.default));e.exports=g},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(o),s=function(){function e(){r(this,e),this.userData={},this.name=null,this.value=null,this.type=null,this.uuid=a.Math.generateUUID()}return i(e,[{key:"setValue",value:function(e){this.value=e,this.userData.events.emit("valueChanged",e)}}]),e}();e.exports=s},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t,n;return n=t=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.isResource=!0,n.hasProp("resourceId",{type:d.default.string,updateInitial:!0,initialOnly:!0,update:function(e,t,n){n&&(e.userData._resourceId=t,e.userData._hasReferences||(e.userData._hasReferences=!0,e.userData._references=[]))},default:""}),n}return a(t,e),u(t,[{key:"applyInitialProps",value:function(e,n){c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"setParent",value:function(e,n){n instanceof v.default?((0,p.default)(!!e.userData._resourceId),g.default.prototype.setParent.call(this,e,n)):c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}},{key:"highlight",value:function(e){var n=void 0;return e.userData._resourceId?e.userData.events.emit("highlight",{uuid:e.uuid,boundingBoxFunc:function(){return e.userData._references.reduce(function(e,t){var n=t.userData._descriptor.getBoundingBoxes(t);return(0,p.default)(n.length>0),e.concat(n)},[])}}):n=c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"highlight",this).call(this,e),n}},{key:"hideHighlight",value:function(e){var n=void 0;return e.userData._resourceId?e.userData.events.emit("hideHighlight"):n=c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"hideHighlight",this).call(this,e),n}}]),t}(e),t.displayName=""+(e.displayName||e.name),n}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},l=n(5),p=r(l),f=n(19),h=(r(f),n(1)),d=r(h),m=n(76),v=r(m),y=n(12),g=r(y);e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(9),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){var e,n,o,a;r(this,t);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return n=o=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),o.updateCacheAndReplace=function(e,t,n){t.userData._propsCache[e]=n,t.userData._wantPropertyOverwrite=!0},a=n,i(o,a)}return o(t,e),s(t,[{key:"beginPropertyUpdates",value:function(e){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"beginPropertyUpdates",this).call(this,e),e.userData._wantPropertyOverwrite=!1}},{key:"completePropertyUpdates",value:function(e){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"completePropertyUpdates",this).call(this,e),e.userData._wantPropertyOverwrite&&(e.userData._wantPropertyOverwrite=!1,e.copy(this.construct(e.userData._propsCache)))}},{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData._propsCache=a({},n)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=n(1),u=r(s),c=n(9),l=r(c),p=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["radius","detail"].forEach(function(e){n.hasProp(e,{type:u.default.number.isRequired,update:n.triggerRemount,default:void 0})}),n}return a(t,e),t}(l.default);e.exports=p},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"===typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||u}function i(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||u}function o(){}var a=n(29),s=n(6),u=n(79),c=(n(80),n(38));n(2),n(142);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){"object"!==typeof e&&"function"!==typeof e&&null!=e&&a("85"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")};o.prototype=r.prototype,i.prototype=new o,i.prototype.constructor=i,s(i.prototype,r.prototype),i.prototype.isPureReactComponent=!0,e.exports={Component:r,PureComponent:i}},function(e,t,n){"use strict";function r(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}function i(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(t,function(e){return n[e]})}var o={escape:r,unescape:i};e.exports=o},function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function i(e){return"topMouseMove"===e||"topTouchMove"===e}function o(e){return"topMouseDown"===e||"topTouchStart"===e}function a(e,t,n,r){var i=e.type||"unknown-event";e.currentTarget=y.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(i,n,e):m.invokeGuardedCallback(i,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var i=0;i<n.length&&!e.isPropagationStopped();i++)a(e,t,n[i],r[i]);else n&&a(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function c(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function l(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)&&d("103"),e.currentTarget=t?y.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function p(e){return!!e._dispatchListeners}var f,h,d=n(4),m=n(59),v=(n(2),n(3),{injectComponentTree:function(e){f=e},injectTreeTraversal:function(e){h=e}}),y={isEndish:r,isMoveish:i,isStartish:o,executeDirectDispatch:l,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:c,hasDispatches:p,getInstanceFromNode:function(e){return f.getInstanceFromNode(e)},getNodeFromInstance:function(e){return f.getNodeFromInstance(e)},isAncestor:function(e,t){return h.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return h.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return h.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return h.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,i){return h.traverseEnterLeave(e,t,n,r,i)},injection:v};e.exports=y},function(e,t,n){"use strict";function r(e,t,n){try{t(n)}catch(e){null===i&&(i=e)}}var i=null,o={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(i){var e=i;throw i=null,e}}};e.exports=o},function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"===typeof a[n]}return!r&&i&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var i,o=n(11);o.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=r},function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return!!r&&!!n[r]}function i(e){return r}var o={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=i},function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function i(e,t,n){l.insertTreeBefore(e,t,n)}function o(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var i=t;;){var o=i.nextSibling;if(m(e,i,r),i===n)break;i=o}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function c(e,t,n){var r=e.parentNode,i=e.nextSibling;i===t?n&&m(r,document.createTextNode(n),i):n?(d(i,n),u(r,i,t)):u(r,e,t)}var l=n(30),p=n(168),f=(n(7),n(10),n(65)),h=n(42),d=n(95),m=f(function(e,t,n){e.insertBefore(t,n)}),v=p.dangerouslyReplaceNodeWithMarkup,y={dangerouslyReplaceNodeWithMarkup:v,replaceDelimitedText:c,processUpdates:function(e,t){for(var n=0;n<t.length;n++){var s=t[n];switch(s.type){case"INSERT_MARKUP":i(e,s.content,r(e,s.afterNode));break;case"MOVE_EXISTING":o(e,s.fromNode,r(e,s.afterNode));break;case"SET_MARKUP":h(e,s.content);break;case"TEXT_CONTENT":d(e,s.content);break;case"REMOVE_NODE":a(e,s.fromNode)}}}};e.exports=y},function(e,t,n){"use strict";var r={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};e.exports=r},function(e,t,n){"use strict";var r=function(e){return"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,i){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,i)})}:e};e.exports=r},function(e,t,n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink&&s("87")}function i(e){r(e),(null!=e.value||null!=e.onChange)&&s("88")}function o(e){r(e),(null!=e.checked||null!=e.onChange)&&s("89")}function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=n(4),u=n(186),c=n(83),l=n(28),p=c(l.isValidElement),f=(n(2),n(3),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),h={value:function(e,t,n){return!e[t]||f[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:p.func},d={},m={checkPropTypes:function(e,t,n){for(var r in h){if(h.hasOwnProperty(r))var i=h[r](t,r,e,"prop",null,u);if(i instanceof Error&&!(i.message in d)){d[i.message]=!0;a(n)}}},getValue:function(e){return e.valueLink?(i(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(o(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(i(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(o(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=m},function(e,t,n){"use strict";var r=n(4),i=(n(2),!1),o={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){i&&r("104"),o.replaceNodeWithMarkup=e.replaceNodeWithMarkup,o.processChildrenUpdates=e.processChildrenUpdates,i=!0}}};e.exports=o},function(e,t,n){"use strict";function r(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}function i(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(t,function(e){return n[e]})}var o={escape:r,unescape:i};e.exports=o},function(e,t,n){"use strict";function r(e,t){return e&&"object"===typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function i(e,t,n,o){var f=typeof e;if("undefined"!==f&&"boolean"!==f||(e=null),null===e||"string"===f||"number"===f||"object"===f&&e.$$typeof===s)return n(o,e,""===t?l+r(e,0):t),1;var h,d,m=0,v=""===t?l:t+p;if(Array.isArray(e))for(var y=0;y<e.length;y++)h=e[y],d=v+r(h,y),m+=i(h,d,n,o);else{var g=u(e);if(g){var b,_=g.call(e);if(g!==e.entries)for(var w=0;!(b=_.next()).done;)h=b.value,d=v+r(h,w++),m+=i(h,d,n,o);else for(;!(b=_.next()).done;){var x=b.value;x&&(h=x[1],d=v+c.escape(x[0])+p+r(h,0),m+=i(h,d,n,o))}}else if("object"===f){var E="",M=String(e);a("31","[object Object]"===M?"object with keys {"+Object.keys(e).join(", ")+"}":M,E)}}return m}function o(e,t,n){return null==e?0:i(e,"",t,n)}var a=n(4),s=(n(14),n(191)),u=n(192),c=(n(2),n(68)),l=(n(3),"."),p=":";e.exports=o},function(e,t,n){"use strict";var r=(n(6),n(13)),i=(n(3),r);e.exports=i},function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}e.exports=r},function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===i.COMPOSITE;)e=e._renderedComponent;return t===i.HOST?e._renderedComponent:t===i.EMPTY?null:void 0}var i=n(103);e.exports=r},function(e,t,n){"use strict";function r(e){return function(){return e}}var i=function(){};i.thatReturns=r,i.thatReturnsFalse=r(!1),i.thatReturnsTrue=r(!0),i.thatReturnsNull=r(null),i.thatReturnsThis=function(){return this},i.thatReturnsArgument=function(e){return e},e.exports=i},function(e,t,n){"use strict";e.exports="data-reactid"},function(e,t,n){"use strict";var r={};e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(0),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(a),u=function(e){function t(){r(this,t);var e=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.visible=!1,e.resourceMap={},e.resourceIds=[],e}return o(t,e),t}(s.Object3D);e.exports=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(0),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(i),a=function e(){r(this,e),this.userData={},this.uniforms={},this.uuid=o.Math.generateUUID()};e.exports=a},function(e,t,n){"use strict";function r(){}function i(e){try{return e.then}catch(e){return y=e,g}}function o(e,t){try{return e(t)}catch(e){return y=e,g}}function a(e,t,n){try{e(t,n)}catch(e){return y=e,g}}function s(e){if("object"!==typeof this)throw new TypeError("Promises must be constructed via new");if("function"!==typeof e)throw new TypeError("Promise constructor's argument is not a function");this._75=0,this._83=0,this._18=null,this._38=null,e!==r&&m(e,this)}function u(e,t,n){return new e.constructor(function(i,o){var a=new s(r);a.then(i,o),c(e,new d(t,n,a))})}function c(e,t){for(;3===e._83;)e=e._18;if(s._47&&s._47(e),0===e._83)return 0===e._75?(e._75=1,void(e._38=t)):1===e._75?(e._75=2,void(e._38=[e._38,t])):void e._38.push(t);l(e,t)}function l(e,t){v(function(){var n=1===e._83?t.onFulfilled:t.onRejected;if(null===n)return void(1===e._83?p(t.promise,e._18):f(t.promise,e._18));var r=o(n,e._18);r===g?f(t.promise,y):p(t.promise,r)})}function p(e,t){if(t===e)return f(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"===typeof t||"function"===typeof t)){var n=i(t);if(n===g)return f(e,y);if(n===e.then&&t instanceof s)return e._83=3,e._18=t,void h(e);if("function"===typeof n)return void m(n.bind(t),e)}e._83=1,e._18=t,h(e)}function f(e,t){e._83=2,e._18=t,s._71&&s._71(e,t),h(e)}function h(e){if(1===e._75&&(c(e,e._38),e._38=null),2===e._75){for(var t=0;t<e._38.length;t++)c(e,e._38[t]);e._38=null}}function d(e,t,n){this.onFulfilled="function"===typeof e?e:null,this.onRejected="function"===typeof t?t:null,this.promise=n}function m(e,t){var n=!1,r=a(e,function(e){n||(n=!0,p(t,e))},function(e){n||(n=!0,f(t,e))});n||r!==g||(n=!0,f(t,y))}var v=n(138),y=null,g={};e.exports=s,s._47=null,s._71=null,s._44=r,s.prototype.then=function(e,t){if(this.constructor!==s)return u(this,e,t);var n=new s(r);return c(this,new d(e,t,n)),n}},function(e,t,n){"use strict";var r=(n(3),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}});e.exports=r},function(e,t,n){"use strict";var r=!1;e.exports=r},function(e,t,n){"use strict";var r="function"===typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";function r(e,t){return e&&"object"===typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function i(e,t,n,o){var f=typeof e;if("undefined"!==f&&"boolean"!==f||(e=null),null===e||"string"===f||"number"===f||"object"===f&&e.$$typeof===s)return n(o,e,""===t?l+r(e,0):t),1;var h,d,m=0,v=""===t?l:t+p;if(Array.isArray(e))for(var y=0;y<e.length;y++)h=e[y],d=v+r(h,y),m+=i(h,d,n,o);else{var g=u(e);if(g){var b,_=g.call(e);if(g!==e.entries)for(var w=0;!(b=_.next()).done;)h=b.value,d=v+r(h,w++),m+=i(h,d,n,o);else for(;!(b=_.next()).done;){var x=b.value;x&&(h=x[1],d=v+c.escape(x[0])+p+r(h,0),m+=i(h,d,n,o))}}else if("object"===f){var E="",M=String(e);a("31","[object Object]"===M?"object with keys {"+Object.keys(e).join(", ")+"}":M,E)}}return m}function o(e,t,n){return null==e?0:i(e,"",t,n)}var a=n(29),s=(n(14),n(81)),u=n(145),c=(n(2),n(57)),l=(n(3),"."),p=":";e.exports=o},function(e,t,n){"use strict";var r=n(148);e.exports=function(e){return r(e,!1)}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r={hasCachedChildNodes:1};e.exports=r},function(e,t,n){"use strict";function r(e,t){return null==t&&i("30"),null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var i=n(4);n(2);e.exports=r},function(e,t,n){"use strict";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=r},function(e,t,n){"use strict";function r(){return!o&&i.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}var i=n(11),o=null;e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(4),o=n(25),a=(n(2),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length&&i("24"),this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());e.exports=o.addPoolingTo(a)},function(e,t,n){"use strict";var r={logTopLevelRenders:!1};e.exports=r},function(e,t,n){"use strict";function r(e,t,n){"function"===typeof e?e(t.getPublicInstance()):o.addComponentAsRefTo(t,e,n)}function i(e,t,n){"function"===typeof e?e(null):o.removeComponentAsRefFrom(t,e,n)}var o=n(163),a={};a.attachRefs=function(e,t){if(null!==t&&"object"===typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},a.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"===typeof e&&(n=e.ref,r=e._owner);var i=null,o=null;return null!==t&&"object"===typeof t&&(i=t.ref,o=t._owner),n!==i||"string"===typeof i&&o!==r},a.detachRefs=function(e,t){if(null!==t&&"object"===typeof t){var n=t.ref;null!=n&&i(n,e,t._owner)}},e.exports=a},function(e,t,n){"use strict";function r(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function i(e){return e._wrapperState.valueTracker}function o(e,t){e._wrapperState.valueTracker=t}function a(e){e._wrapperState.valueTracker=null}function s(e){var t;return e&&(t=r(e)?""+e.checked:e.value),t}var u=n(7),c={_getTrackerFromNode:function(e){return i(u.getInstanceFromNode(e))},track:function(e){if(!i(e)){var t=u.getNodeFromInstance(e),n=r(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),c=""+t[n];t.hasOwnProperty(n)||"function"!==typeof s.get||"function"!==typeof s.set||(Object.defineProperty(t,n,{enumerable:s.enumerable,configurable:!0,get:function(){return s.get.call(this)},set:function(e){c=""+e,s.set.call(this,e)}}),o(e,{getValue:function(){return c},setValue:function(e){c=""+e},stopTracking:function(){a(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=i(e);if(!t)return c.track(e),!0;var n=t.getValue(),r=s(u.getNodeFromInstance(e));return r!==n&&(t.setValue(r),!0)},stopTracking:function(e){var t=i(e);t&&t.stopTracking()}};e.exports=c},function(e,t,n){"use strict";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!i[e.type]:"textarea"===t}var i={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=r},function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};e.exports=r},function(e,t,n){"use strict";var r=n(11),i=n(43),o=n(42),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(a=function(e,t){if(3===e.nodeType)return void(e.nodeValue=t);o(e,i(t))})),e.exports=a},function(e,t,n){"use strict";function r(e){try{e.focus()}catch(e){}}e.exports=r},function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var i={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=["Webkit","ms","Moz","O"];Object.keys(i).forEach(function(e){o.forEach(function(t){i[r(t,e)]=i[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:i,shorthandPropertyExpansions:a};e.exports=s},function(e,t,n){"use strict";function r(e){return!!c.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(s.test(e)?(c[e]=!0,!0):(u[e]=!0,!1))}function i(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&!1===t}var o=n(24),a=(n(7),n(10),n(182)),s=(n(3),new RegExp("^["+o.ATTRIBUTE_NAME_START_CHAR+"]["+o.ATTRIBUTE_NAME_CHAR+"]*$")),u={},c={},l={createMarkupForID:function(e){return o.ID_ATTRIBUTE_NAME+"="+a(e)},setAttributeForID:function(e,t){e.setAttribute(o.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return o.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(o.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=o.properties.hasOwnProperty(e)?o.properties[e]:null;if(n){if(i(n,t))return"";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?r+'=""':r+"="+a(t)}return o.isCustomAttribute(e)?null==t?"":e+"="+a(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+"="+a(t):""},setValueForProperty:function(e,t,n){var r=o.properties.hasOwnProperty(t)?o.properties[t]:null;if(r){var a=r.mutationMethod;if(a)a(e,n);else{if(i(r,n))return void this.deleteValueForProperty(e,t);if(r.mustUseProperty)e[r.propertyName]=n;else{var s=r.attributeName,u=r.attributeNamespace;u?e.setAttributeNS(u,s,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(s,""):e.setAttribute(s,""+n)}}}else if(o.isCustomAttribute(t))return void l.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){if(r(t)){null==n?e.removeAttribute(t):e.setAttribute(t,""+n)}},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=o.properties.hasOwnProperty(t)?o.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseProperty){var i=n.propertyName;n.hasBooleanValue?e[i]=!1:e[i]=""}else e.removeAttribute(n.attributeName)}else o.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=l},function(e,t,n){"use strict";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&i(this,Boolean(e.multiple),t)}}function i(e,t,n){var r,i,o=u.getNodeFromInstance(e).options;if(t){for(r={},i=0;i<n.length;i++)r[""+n[i]]=!0;for(i=0;i<o.length;i++){var a=r.hasOwnProperty(o[i].value);o[i].selected!==a&&(o[i].selected=a)}}else{for(r=""+n,i=0;i<o.length;i++)if(o[i].value===r)return void(o[i].selected=!0);o.length&&(o[0].selected=!0)}}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),c.asap(r,this),n}var a=n(6),s=n(66),u=n(7),c=n(15),l=(n(3),!1),p={getHostProps:function(e,t){return a({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=s.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:o.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||l||(l=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=s.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,i(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?i(e,Boolean(t.multiple),t.defaultValue):i(e,Boolean(t.multiple),t.multiple?[]:""))}};e.exports=p},function(e,t,n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function i(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:f.getHostNode(e),toIndex:n,afterNode:t}}function o(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function c(e,t){p.processChildrenUpdates(e,t)}var l=n(4),p=n(67),f=(n(26),n(10),n(14),n(23)),h=n(189),d=(n(13),n(193)),m=(n(2),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return h.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,i,o){var a,s=0;return a=d(t,s),h.updateChildren(e,a,n,r,i,this,this._hostContainerInfo,o,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var i=[],o=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=0,c=f.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=o++,i.push(c)}return i},updateTextContent:function(e){var t=this._renderedChildren;h.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&l("118");c(this,[s(e)])},updateMarkup:function(e){var t=this._renderedChildren;h.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&l("118");c(this,[a(e)])},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,i={},o=[],a=this._reconcilerUpdateChildren(r,e,o,i,t,n);if(a||r){var s,l=null,p=0,h=0,d=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var v=r&&r[s],y=a[s];v===y?(l=u(l,this.moveChild(v,m,p,h)),h=Math.max(v._mountIndex,h),v._mountIndex=p):(v&&(h=Math.max(v._mountIndex,h)),l=u(l,this._mountChildAtIndex(y,o[d],m,p,t,n)),d++),p++,m=f.getHostNode(y)}for(s in i)i.hasOwnProperty(s)&&(l=u(l,this._unmountChild(r[s],i[s])));l&&c(this,l),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;h.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return i(e,t,n)},createChild:function(e,t,n){return r(n,t,e._mountIndex)},removeChild:function(e,t){return o(e,t)},_mountChildAtIndex:function(e,t,n,r,i,o){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}});e.exports=m},function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function i(e){return"function"===typeof e&&"undefined"!==typeof e.prototype&&"function"===typeof e.prototype.mountComponent&&"function"===typeof e.prototype.receiveComponent}function o(e,t){var n;if(null===e||!1===e)n=c.create(o);else if("object"===typeof e){var s=e,u=s.type;if("function"!==typeof u&&"string"!==typeof u){var f="";f+=r(s._owner),a("130",null==u?u:typeof u,f)}"string"===typeof s.type?n=l.createInternalComponent(s):i(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"===typeof e||"number"===typeof e?n=l.createInstanceForText(e):a("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=n(4),s=n(6),u=n(102),c=n(104),l=n(105),p=(n(190),n(2),n(3),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:o}),e.exports=o},function(e,t,n){"use strict";function r(e){}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function o(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var a=n(4),s=n(6),u=n(28),c=n(67),l=n(14),p=n(59),f=n(26),h=(n(10),n(103)),d=n(23),m=n(38),v=(n(2),n(45)),y=n(46),g=(n(3),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=f.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return t};var b=1,_={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,s){this._context=s,this._mountOrder=b++,this._hostParent=t,this._hostContainerInfo=n;var c,l=this._currentElement.props,p=this._processContext(s),h=this._currentElement.type,d=e.getUpdateQueue(),v=i(h),y=this._constructComponent(v,l,p,d);v||null!=y&&null!=y.render?o(h)?this._compositeType=g.PureClass:this._compositeType=g.ImpureClass:(c=y,null===y||!1===y||u.isValidElement(y)||a("105",h.displayName||h.name||"Component"),y=new r(h),this._compositeType=g.StatelessFunctional);y.props=l,y.context=p,y.refs=m,y.updater=d,this._instance=y,f.set(y,this);var _=y.state;void 0===_&&(y.state=_=null),("object"!==typeof _||Array.isArray(_))&&a("106",this.getName()||"ReactCompositeComponent"),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var w;return w=y.unstable_handleError?this.performInitialMountWithErrorHandling(c,t,n,e,s):this.performInitialMount(c,t,n,e,s),y.componentDidMount&&e.getReactMountReady().enqueue(y.componentDidMount,y),w},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var i=this._currentElement.type;return e?new i(t,n,r):i(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,i){var o,a=r.checkpoint();try{o=this.performInitialMount(e,t,n,r,i)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),o=this.performInitialMount(e,t,n,r,i)}return o},performInitialMount:function(e,t,n,r,i){var o=this._instance,a=0;o.componentWillMount&&(o.componentWillMount(),this._pendingStateQueue&&(o.state=this._processPendingState(o.props,o.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var c=d.mountComponent(u,r,t,n,this._processChildContext(i),a);return c},getHostNode:function(){return d.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";p.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(d.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,f.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return m;var r={};for(var i in n)r[i]=e[i];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){"object"!==typeof n.childContextTypes&&a("107",this.getName()||"ReactCompositeComponent");for(var i in t)i in n.childContextTypes||a("108",this.getName()||"ReactCompositeComponent",i);return s({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,i=this._context;this._pendingElement=null,this.updateComponent(t,r,e,i,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?d.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,i){var o=this._instance;null==o&&a("136",this.getName()||"ReactCompositeComponent");var s,u=!1;this._context===i?s=o.context:(s=this._processContext(i),u=!0);var c=t.props,l=n.props;t!==n&&(u=!0),u&&o.componentWillReceiveProps&&o.componentWillReceiveProps(l,s);var p=this._processPendingState(l,s),f=!0;this._pendingForceUpdate||(o.shouldComponentUpdate?f=o.shouldComponentUpdate(l,p,s):this._compositeType===g.PureClass&&(f=!v(c,l)||!v(o.state,p))),this._updateBatchNumber=null,f?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,l,p,s,e,i)):(this._currentElement=n,this._context=i,o.props=l,o.state=p,o.context=s)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,i=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(i&&1===r.length)return r[0];for(var o=s({},i?r[0]:n.state),a=i?1:0;a<r.length;a++){var u=r[a];s(o,"function"===typeof u?u.call(n,o,e,t):u)}return o},_performComponentUpdate:function(e,t,n,r,i,o){var a,s,u,c=this._instance,l=Boolean(c.componentDidUpdate);l&&(a=c.props,s=c.state,u=c.context),c.componentWillUpdate&&c.componentWillUpdate(t,n,r),this._currentElement=e,this._context=o,c.props=t,c.state=n,c.context=r,this._updateRenderedComponent(i,o),l&&i.getReactMountReady().enqueue(c.componentDidUpdate.bind(c,a,s,u),c)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,i=this._renderValidatedComponent(),o=0;if(y(r,i))d.receiveComponent(n,i,e,this._processChildContext(t));else{var a=d.getHostNode(n);d.unmountComponent(n,!1);var s=h.getType(i);this._renderedNodeType=s;var u=this._instantiateReactComponent(i,s!==h.EMPTY);this._renderedComponent=u;var c=d.mountComponent(u,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),o);this._replaceNodeWithMarkup(a,c,n)}},_replaceNodeWithMarkup:function(e,t,n){c.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e=this._instance;return e.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==g.StatelessFunctional){l.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{l.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||!1===e||u.isValidElement(e)||a("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n&&a("110");var r=t.getPublicInstance();(n.refs===m?n.refs={}:n.refs)[e]=r},detachRef:function(e){delete this.getPublicInstance().refs[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===g.StatelessFunctional?null:e},_instantiateReactComponent:null};e.exports=_},function(e,t,n){"use strict";var r=n(4),i=n(28),o=(n(2),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||!1===e?o.EMPTY:i.isValidElement(e)?"function"===typeof e.type?o.COMPOSITE:o.HOST:void r("26",e)}});e.exports=o},function(e,t,n){"use strict";var r,i={injectEmptyComponentFactory:function(e){r=e}},o={create:function(e){return r(e)}};o.injection=i,e.exports=o},function(e,t,n){"use strict";function r(e){return s||a("111",e.type),new s(e)}function i(e){return new u(e)}function o(e){return e instanceof u}var a=n(4),s=(n(2),null),u=null,c={injectGenericComponentClass:function(e){s=e},injectTextComponentClass:function(e){u=e}},l={createInternalComponent:r,createInstanceForText:i,isTextComponent:o,injection:c};e.exports=l},function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var i=n(6),o=n(15),a=n(40),s=n(13),u={initialize:s,close:function(){f.isBatchingUpdates=!1}},c={initialize:s,close:o.flushBatchedUpdates.bind(o)},l=[c,u];i(r.prototype,a,{getTransactionWrappers:function(){return l}});var p=new r,f={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,i,o){var a=f.isBatchingUpdates;return f.isBatchingUpdates=!0,a?e(t,n,r,i,o):p.perform(e,null,t,n,r,i,o)}};e.exports=f},function(e,t,n){"use strict";var r=n(13),i={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=i},function(e,t,n){"use strict";var r=n(24),i=n(34),o=n(58),a=n(67),s=n(104),u=n(44),c=n(105),l=n(15),p={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:i.injection,EventPluginUtils:o.injection,EventEmitter:u.injection,HostComponent:c.injection,Updates:l.injection};e.exports=p},function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.useCreateElement=e}var i=n(6),o=n(89),a=n(25),s=n(44),u=n(110),c=(n(10),n(40)),l=n(47),p={initialize:u.getSelectionInformation,close:u.restoreSelection},f={initialize:function(){var e=s.isEnabled();return s.setEnabled(!1),e},close:function(e){s.setEnabled(e)}},h={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},d=[p,f,h],m={getTransactionWrappers:function(){return d},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return l},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null}};i(r.prototype,c,m),a.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";function r(e){return o(document.documentElement,e)}var i=n(201),o=n(203),a=n(96),s=n(111),u={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=s();return{focusedElem:e,selectionRange:u.hasSelectionCapabilities(e)?u.getSelection(e):null}},restoreSelection:function(e){var t=s(),n=e.focusedElem,i=e.selectionRange;t!==n&&r(n)&&(u.hasSelectionCapabilities(n)&&u.setSelection(n,i),a(n))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=i.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if(void 0===r&&(r=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var o=e.createTextRange();o.collapse(!0),o.moveStart("character",n),o.moveEnd("character",r-n),o.select()}else i.setOffsets(e,t)}};e.exports=u},function(e,t,n){"use strict";function r(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=r},function(e,t,n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function i(e){return e?e.nodeType===L?e.documentElement:e.firstChild:null}function o(e){return e.getAttribute&&e.getAttribute(A)||""}function a(e,t,n,r,i){var o;if(w.logTopLevelRenders){var a=e._currentElement.props.child,s=a.type;o="React mount: "+("string"===typeof s?s:s.displayName||s.name),console.time(o)}var u=M.mountComponent(e,n,null,b(e,t),i,0);o&&console.timeEnd(o),e._renderedComponent._topLevelWrapper=e,F._mountImageIntoNode(u,t,e,r,n)}function s(e,t,n,r){var i=T.ReactReconcileTransaction.getPooled(!n&&_.useCreateElement);i.perform(a,null,e,t,i,n,r),T.ReactReconcileTransaction.release(i)}function u(e,t,n){for(M.unmountComponent(e,n),t.nodeType===L&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function c(e){var t=i(e);if(t){var n=g.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function l(e){return!(!e||e.nodeType!==k&&e.nodeType!==L&&e.nodeType!==j)}function p(e){var t=i(e),n=t&&g.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function f(e){var t=p(e);return t?t._hostContainerInfo._topLevelWrapper:null}var h=n(4),d=n(30),m=n(24),v=n(28),y=n(44),g=(n(14),n(7)),b=n(218),_=n(219),w=n(90),x=n(26),E=(n(10),n(220)),M=n(23),O=n(47),T=n(15),P=n(38),S=n(101),C=(n(2),n(42)),R=n(46),A=(n(3),m.ID_ATTRIBUTE_NAME),D=m.ROOT_ATTRIBUTE_NAME,k=1,L=9,j=11,I={},N=1,U=function(){this.rootID=N++};U.prototype.isReactComponent={},U.prototype.render=function(){return this.props.child},U.isReactTopLevelWrapper=!0;var F={TopLevelWrapper:U,_instancesByReactRootID:I,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,i){return F.scrollMonitor(r,function(){O.enqueueElementInternal(e,t,n),i&&O.enqueueCallbackInternal(e,i)}),e},_renderNewRootComponent:function(e,t,n,r){l(t)||h("37"),y.ensureScrollValueMonitoring();var i=S(e,!1);T.batchedUpdates(s,i,t,n,r);var o=i._instance.rootID;return I[o]=i,i},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&x.has(e)||h("38"),F._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){O.validateCallback(r,"ReactDOM.render"),v.isValidElement(t)||h("39","string"===typeof t?" Instead of passing a string like 'div', pass React.createElement('div') or <div />.":"function"===typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var a,s=v.createElement(U,{child:t});if(e){var u=x.get(e);a=u._processChildContext(u._context)}else a=P;var l=f(n);if(l){var p=l._currentElement,d=p.props.child;if(R(d,t)){var m=l._renderedComponent.getPublicInstance(),y=r&&function(){r.call(m)};return F._updateRootComponent(l,s,a,n,y),m}F.unmountComponentAtNode(n)}var g=i(n),b=g&&!!o(g),_=c(n),w=b&&!l&&!_,E=F._renderNewRootComponent(s,n,w,a)._renderedComponent.getPublicInstance();return r&&r.call(E),E},render:function(e,t,n){return F._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){l(e)||h("40");var t=f(e);if(!t){c(e),1===e.nodeType&&e.hasAttribute(D);return!1}return delete I[t._instance.rootID],T.batchedUpdates(u,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,o,a){if(l(t)||h("41"),o){var s=i(t);if(E.canReuseMarkup(e,s))return void g.precacheNode(n,s);var u=s.getAttribute(E.CHECKSUM_ATTR_NAME);s.removeAttribute(E.CHECKSUM_ATTR_NAME);var c=s.outerHTML;s.setAttribute(E.CHECKSUM_ATTR_NAME,u);var p=e,f=r(p,c),m=" (client) "+p.substring(f-20,f+20)+"\n (server) "+c.substring(f-20,f+20);t.nodeType===L&&h("42",m)}if(t.nodeType===L&&h("43"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);d.insertTreeBefore(t,e,null)}else C(t,e),g.precacheNode(n,t.firstChild)}};e.exports=F},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(17),s=n.n(a),u=n(228),c=n.n(u),l=n(230),p=(n.n(l),function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()),f=function(e){function t(){var e,n,o,a;r(this,t);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return n=o=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),o.handleSliderChange=function(e){var t=e.target.name,n=+e.target.value;o.props.onChange({name:t,value:n})},o.handleTextChange=function(e,t,n){var r=n.name;o.props.onChange({name:r,value:e})},a=n,i(o,a)}return o(t,e),p(t,[{key:"render",value:function(){return s.a.createElement("div",{className:"slider"},s.a.createElement("span",{className:"label"},this.props.property),s.a.createElement("input",Object.assign({type:"range"},this.props,{name:this.props.property,step:this.props.step||.005,onChange:this.handleSliderChange})),s.a.createElement(c.a,Object.assign({},this.props,{step:this.props.step||.005,precision:3,name:this.props.property,onChange:this.handleTextChange})))}}]),t}(a.Component);t.a=f},function(e,t,n){e.exports=n(229)()},function(e,t){},function(e,t,n){"use strict";function r(e){var t=C.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}function i(e){return""===e||"false"!==e&&("true"===e||e)}function o(e){if(e&&A){var t=C.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var n=C.head.childNodes,r=null,i=n.length-1;i>-1;i--){var o=n[i];["STYLE","LINK"].indexOf((o.tagName||"").toUpperCase())>-1&&(r=o)}return C.head.insertBefore(t,r),e}}function a(){return++K}function s(e){return(""+e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function u(e){return Object.keys(e||{}).reduce(function(t,n){return t+(n+'="')+s(e[n])+'" '},"").trim()}function c(e){return Object.keys(e||{}).reduce(function(t,n){return t+(n+": ")+e[n]+";"},"")}function l(e){return e.size!==Y.size||e.x!==Y.x||e.y!==Y.y||e.rotate!==Y.rotate||e.flipX||e.flipY}function p(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth;return{outer:{transform:"translate("+n/2+" 256)"},inner:{transform:"translate("+32*t.x+", "+32*t.y+")  scale("+t.size/16*(t.flipX?-1:1)+", "+t.size/16*(t.flipY?-1:1)+")  rotate("+t.rotate+" 0 0)"},path:{transform:"translate("+r/2*-1+" -256)"}}}function f(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,o=e.iconName,s=e.transform,u=e.symbol,c=e.title,l=e.extra,p=e.watchable,f=void 0!==p&&p,h=r.found?r:n,d=h.width,m=h.height,v="fa-w-"+Math.ceil(d/m*16),y=[H.replacementClass,o?H.familyPrefix+"-"+o:"",v].filter(function(e){return-1===l.classes.indexOf(e)}).concat(l.classes).join(" "),g={children:[],attributes:U({},l.attributes,{"data-prefix":i,"data-icon":o,class:y,role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 "+d+" "+m})};f&&(g.attributes[k]=""),c&&g.children.push({tag:"title",attributes:{id:g.attributes["aria-labelledby"]||"title-"+a()},children:[c]});var b=U({},g,{prefix:i,iconName:o,main:n,mask:r,transform:s,symbol:u,styles:l.styles}),_=r.found&&n.found?Q(b):J(b),w=_.children,x=_.attributes;return b.children=w,b.attributes=x,u?ee(b):$(b)}function h(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}function d(e){var t=e.tag,n=e.attributes,r=void 0===n?{}:n,i=e.children,o=void 0===i?[]:i;return"string"===typeof e?s(e):"<"+t+" "+u(r)+">"+o.map(d).join("")+"</"+t+">"}function m(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}function v(e,t){var n=Object.keys(t).reduce(function(e,n){var r=t[n];return!r.icon?e[n]=r:e[r.iconName]=r.icon,e},{});"function"===typeof G.hooks.addPack?G.hooks.addPack(e,n):G.styles[e]=U({},G.styles[e]||{},n),"fas"===e&&v("fa",t)}function y(e){return{found:!0,width:e[0],height:e[1],icon:{tag:"path",attributes:{fill:"currentColor",d:e.slice(4)[0]}}}}function g(){H.autoAddCss&&!ve&&(o(he()),ve=!0)}function b(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return d(e)})}}),Object.defineProperty(e,"node",{get:function(){if(A){var t=C.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function _(e){var t=e.prefix,n=void 0===t?"fa":t,r=e.iconName;if(r)return h(me.definitions,n,r)||h(G.styles,n,r)}n.d(t,"a",function(){return ge}),n.d(t,"b",function(){return me}),n.d(t,"c",function(){return ye});var w=function(){},x={},E={},M={mark:w,measure:w};try{"undefined"!==typeof window&&(x=window),"undefined"!==typeof document&&(E=document),"undefined"!==typeof MutationObserver&&MutationObserver,"undefined"!==typeof performance&&(M=performance)}catch(e){}var O=x.navigator||{},T=O.userAgent,P=void 0===T?"":T,S=x,C=E,R=M,A=!!C.documentElement&&!!C.head&&"function"===typeof C.addEventListener&&"function"===typeof C.createElement,D=(~P.indexOf("MSIE")||P.indexOf("Trident/"),16),k="data-fa-i2svg",L=(function(){try{}catch(e){return!1}}(),[1,2,3,4,5,6,7,8,9,10]),j=L.concat([11,12,13,14,15,16,17,18,19,20]),I=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(L.map(function(e){return e+"x"})).concat(j.map(function(e){return"w-"+e})),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),N=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),U=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},F=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),B=S.FontAwesomeConfig||{};if(C&&"function"===typeof C.querySelector){[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(function(e){var t=F(e,2),n=t[0],o=t[1],a=i(r(n));void 0!==a&&null!==a&&(B[o]=a)})}var z=U({familyPrefix:"fa",replacementClass:"svg-inline--fa",autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},B);z.autoReplaceSvg||(z.observeMutations=!1);var H=U({},z);S.FontAwesomeConfig=H;var V=S||{};V.___FONT_AWESOME___||(V.___FONT_AWESOME___={}),V.___FONT_AWESOME___.styles||(V.___FONT_AWESOME___.styles={}),V.___FONT_AWESOME___.hooks||(V.___FONT_AWESOME___.hooks={}),V.___FONT_AWESOME___.shims||(V.___FONT_AWESOME___.shims=[]);var G=V.___FONT_AWESOME___,W=[],q=function e(){C.removeEventListener("DOMContentLoaded",e),X=1,W.map(function(e){return e()})},X=!1;A&&((X=(C.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(C.readyState))||C.addEventListener("DOMContentLoaded",q));var Y={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1},K=0,Z={x:0,y:0,width:"100%",height:"100%"},Q=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.mask,o=e.transform,s=r.width,u=r.icon,c=i.width,l=i.icon,f=p({transform:o,containerWidth:c,iconWidth:s}),h={tag:"rect",attributes:U({},Z,{fill:"white"})},d={tag:"g",attributes:U({},f.inner),children:[{tag:"path",attributes:U({},u.attributes,f.path,{fill:"black"})}]},m={tag:"g",attributes:U({},f.outer),children:[d]},v="mask-"+a(),y="clip-"+a(),g={tag:"mask",attributes:U({},Z,{id:v,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,m]},b={tag:"defs",children:[{tag:"clipPath",attributes:{id:y},children:[l]},g]};return t.push(b,{tag:"rect",attributes:U({fill:"currentColor","clip-path":"url(#"+y+")",mask:"url(#"+v+")"},Z)}),{children:t,attributes:n}},J=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,o=e.styles,a=c(o);if(a.length>0&&(n.style=a),l(i)){var s=p({transform:i,containerWidth:r.width,iconWidth:r.width});t.push({tag:"g",attributes:U({},s.outer),children:[{tag:"g",attributes:U({},s.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:U({},r.icon.attributes,s.path)}]}]})}else t.push(r.icon);return{children:t,attributes:n}},$=function(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,o=e.styles,a=e.transform;if(l(a)&&n.found&&!r.found){var s=n.width,u=n.height,p={x:s/u/2,y:.5};i.style=c(U({},o,{"transform-origin":p.x+a.x/16+"em "+(p.y+a.y/16)+"em"}))}return[{tag:"svg",attributes:i,children:t}]},ee=function(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,o=e.symbol,a=!0===o?t+"-"+H.familyPrefix+"-"+n:o;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:U({},i,{id:a}),children:r}]}]},te=function(){},ne=(H.measurePerformance&&R&&R.mark&&R.measure,function(e,t){return function(n,r,i,o){return e.call(t,n,r,i,o)}}),re=function(e,t,n,r){var i,o,a,s=Object.keys(e),u=s.length,c=void 0!==r?ne(t,r):t;for(void 0===n?(i=1,a=e[s[0]]):(i=0,a=n);i<u;i++)o=s[i],a=c(a,e[o],o,e);return a},ie=G.styles,oe=G.shims,ae={},se={},ue={};!function(){var e=function(e){return re(ie,function(t,n,r){return t[r]=re(n,e,{}),t},{})};ae=e(function(e,t,n){return e[t[3]]=n,e}),se=e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t="far"in ie;ue=re(oe,function(e,n){var r=n[0],i=n[1],o=n[2];return"far"!==i||t||(i="fas"),e[r]={prefix:i,iconName:o},e},{})}();var ce=(G.styles,function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce(function(e,t){var n=t.toLowerCase().split("-"),r=n[0],i=n.slice(1).join("-");if(r&&"h"===i)return e.flipX=!0,e;if(r&&"v"===i)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e},t):t});m.prototype=Object.create(Error.prototype),m.prototype.constructor=m;var le={fill:"currentColor"},pe={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},fe=(U({},le,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}),U({},pe,{attributeName:"opacity"})),he=(U({},le,{cx:"256",cy:"364",r:"28"}),U({},pe,{attributeName:"r",values:"28;14;28;28;14;28;"}),U({},fe,{values:"1;0;1;1;0;1;"}),U({},le,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),U({},fe,{values:"1;0;0;0;0;1;"}),U({},le,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),U({},fe,{values:"0;0;1;1;0;0;"}),G.styles,function(){var e="svg-inline--fa",t=H.familyPrefix,n=H.replacementClass,r='svg:not(:root).svg-inline--fa {\n  overflow: visible; }\n\n.svg-inline--fa {\n  display: inline-block;\n  font-size: inherit;\n  height: 1em;\n  overflow: visible;\n  vertical-align: -.125em; }\n  .svg-inline--fa.fa-lg {\n    vertical-align: -.225em; }\n  .svg-inline--fa.fa-w-1 {\n    width: 0.0625em; }\n  .svg-inline--fa.fa-w-2 {\n    width: 0.125em; }\n  .svg-inline--fa.fa-w-3 {\n    width: 0.1875em; }\n  .svg-inline--fa.fa-w-4 {\n    width: 0.25em; }\n  .svg-inline--fa.fa-w-5 {\n    width: 0.3125em; }\n  .svg-inline--fa.fa-w-6 {\n    width: 0.375em; }\n  .svg-inline--fa.fa-w-7 {\n    width: 0.4375em; }\n  .svg-inline--fa.fa-w-8 {\n    width: 0.5em; }\n  .svg-inline--fa.fa-w-9 {\n    width: 0.5625em; }\n  .svg-inline--fa.fa-w-10 {\n    width: 0.625em; }\n  .svg-inline--fa.fa-w-11 {\n    width: 0.6875em; }\n  .svg-inline--fa.fa-w-12 {\n    width: 0.75em; }\n  .svg-inline--fa.fa-w-13 {\n    width: 0.8125em; }\n  .svg-inline--fa.fa-w-14 {\n    width: 0.875em; }\n  .svg-inline--fa.fa-w-15 {\n    width: 0.9375em; }\n  .svg-inline--fa.fa-w-16 {\n    width: 1em; }\n  .svg-inline--fa.fa-w-17 {\n    width: 1.0625em; }\n  .svg-inline--fa.fa-w-18 {\n    width: 1.125em; }\n  .svg-inline--fa.fa-w-19 {\n    width: 1.1875em; }\n  .svg-inline--fa.fa-w-20 {\n    width: 1.25em; }\n  .svg-inline--fa.fa-pull-left {\n    margin-right: .3em;\n    width: auto; }\n  .svg-inline--fa.fa-pull-right {\n    margin-left: .3em;\n    width: auto; }\n  .svg-inline--fa.fa-border {\n    height: 1.5em; }\n  .svg-inline--fa.fa-li {\n    width: 2em; }\n  .svg-inline--fa.fa-fw {\n    width: 1.25em; }\n\n.fa-layers svg.svg-inline--fa {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0; }\n\n.fa-layers {\n  display: inline-block;\n  height: 1em;\n  position: relative;\n  text-align: center;\n  vertical-align: -.125em;\n  width: 1em; }\n  .fa-layers svg.svg-inline--fa {\n    -webkit-transform-origin: center center;\n            transform-origin: center center; }\n\n.fa-layers-text, .fa-layers-counter {\n  display: inline-block;\n  position: absolute;\n  text-align: center; }\n\n.fa-layers-text {\n  left: 50%;\n  top: 50%;\n  -webkit-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  -webkit-transform-origin: center center;\n          transform-origin: center center; }\n\n.fa-layers-counter {\n  background-color: #ff253a;\n  border-radius: 1em;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  color: #fff;\n  height: 1.5em;\n  line-height: 1;\n  max-width: 5em;\n  min-width: 1.5em;\n  overflow: hidden;\n  padding: .25em;\n  right: 0;\n  text-overflow: ellipsis;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right; }\n\n.fa-layers-bottom-right {\n  bottom: 0;\n  right: 0;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom right;\n          transform-origin: bottom right; }\n\n.fa-layers-bottom-left {\n  bottom: 0;\n  left: 0;\n  right: auto;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom left;\n          transform-origin: bottom left; }\n\n.fa-layers-top-right {\n  right: 0;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right; }\n\n.fa-layers-top-left {\n  left: 0;\n  right: auto;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top left;\n          transform-origin: top left; }\n\n.fa-lg {\n  font-size: 1.33333em;\n  line-height: 0.75em;\n  vertical-align: -.0667em; }\n\n.fa-xs {\n  font-size: .75em; }\n\n.fa-sm {\n  font-size: .875em; }\n\n.fa-1x {\n  font-size: 1em; }\n\n.fa-2x {\n  font-size: 2em; }\n\n.fa-3x {\n  font-size: 3em; }\n\n.fa-4x {\n  font-size: 4em; }\n\n.fa-5x {\n  font-size: 5em; }\n\n.fa-6x {\n  font-size: 6em; }\n\n.fa-7x {\n  font-size: 7em; }\n\n.fa-8x {\n  font-size: 8em; }\n\n.fa-9x {\n  font-size: 9em; }\n\n.fa-10x {\n  font-size: 10em; }\n\n.fa-fw {\n  text-align: center;\n  width: 1.25em; }\n\n.fa-ul {\n  list-style-type: none;\n  margin-left: 2.5em;\n  padding-left: 0; }\n  .fa-ul > li {\n    position: relative; }\n\n.fa-li {\n  left: -2em;\n  position: absolute;\n  text-align: center;\n  width: 2em;\n  line-height: inherit; }\n\n.fa-border {\n  border: solid 0.08em #eee;\n  border-radius: .1em;\n  padding: .2em .25em .15em; }\n\n.fa-pull-left {\n  float: left; }\n\n.fa-pull-right {\n  float: right; }\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n  margin-right: .3em; }\n\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n  margin-left: .3em; }\n\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n          animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n          animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg); }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg); }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n\n.fa-rotate-90 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n  -webkit-transform: rotate(90deg);\n          transform: rotate(90deg); }\n\n.fa-rotate-180 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n  -webkit-transform: rotate(180deg);\n          transform: rotate(180deg); }\n\n.fa-rotate-270 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n  -webkit-transform: rotate(270deg);\n          transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n  -webkit-transform: scale(-1, 1);\n          transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(1, -1);\n          transform: scale(1, -1); }\n\n.fa-flip-horizontal.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(-1, -1);\n          transform: scale(-1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n  -webkit-filter: none;\n          filter: none; }\n\n.fa-stack {\n  display: inline-block;\n  height: 2em;\n  position: relative;\n  width: 2em; }\n\n.fa-stack-1x,\n.fa-stack-2x {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0; }\n\n.svg-inline--fa.fa-stack-1x {\n  height: 1em;\n  width: 1em; }\n\n.svg-inline--fa.fa-stack-2x {\n  height: 2em;\n  width: 2em; }\n\n.fa-inverse {\n  color: #fff; }\n\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  clip: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  position: static;\n  width: auto; }\n';if("fa"!==t||n!==e){var i=new RegExp("\\.fa\\-","g"),o=new RegExp("\\."+e,"g");r=r.replace(i,"."+t+"-").replace(o,"."+n)}return r}),de=function(){function e(){I(this,e),this.definitions={}}return N(e,[{key:"add",value:function(){for(var e=this,t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=n.reduce(this._pullDefinitions,{});Object.keys(i).forEach(function(t){e.definitions[t]=U({},e.definitions[t]||{},i[t]),v(t,i[t])})}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(e,t){var n=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(n).map(function(t){var r=n[t],i=r.prefix,o=r.iconName,a=r.icon;e[i]||(e[i]={}),e[i][o]=a}),e}}]),e}(),me=new de,ve=!1,ye={transform:function(e){return ce(e)}},ge=function(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(t||{}).icon?t:_(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:_(i||{})),e(r,U({},n,{mask:i}))}}(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.transform,r=void 0===n?Y:n,i=t.symbol,o=void 0!==i&&i,s=t.mask,u=void 0===s?null:s,c=t.title,l=void 0===c?null:c,p=t.classes,h=void 0===p?[]:p,d=t.attributes,m=void 0===d?{}:d,v=t.styles,_=void 0===v?{}:v;if(e){var w=e.prefix,x=e.iconName,E=e.icon;return b(U({type:"icon"},e),function(){return g(),H.autoA11y&&(l?m["aria-labelledby"]=H.replacementClass+"-title-"+a():m["aria-hidden"]="true"),f({icons:{main:y(E),mask:u?y(u.icon):{found:!1,width:null,height:null,icon:{}}},prefix:w,iconName:x,transform:U({},Y,r),symbol:o,title:l,extra:{attributes:m,styles:_,classes:h}})})}})},function(e,t,n){"use strict";t.a=["4ECDC4","FF6B6B","FFE66D"]},function(e,t,n){"use strict";var r={};e.exports=r},function(e,t,n){"use strict";var r={hasCachedChildMarkups:1};e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e){return!(!e.prototype||!e.prototype.isReactComponent)}function u(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var c="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},p=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},h=n(20),d=r(h),m=n(14),v=(r(m),n(5)),y=r(v),g=n(118),b=r(g),_=n(19),w=(r(_),n(102)),x=r(w),E=n(26),M=r(E),O=n(10),T=(r(O),n(121)),P=(r(T),function e(){a(this,e)});P.prototype=f({},P.prototype,x.default);var S={ImpureClass:0,PureClass:1,StatelessFunctional:2},C=function(){function e(){a(this,e)}return p(e,[{key:"render",value:function(){var e=M.default.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return t}}]),e}(),R=function(e){function t(e,n){a(this,t);var r=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r._react3RendererInstance=n,r.construct(e),r}return o(t,e),p(t,[{key:"getHostMarkup",value:function(){return l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getHostNode",this).call(this)}},{key:"construct",value:function(e){l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"construct",this).call(this,e),this._threeObject=null}},{key:"_updateRenderedComponent",value:function(e,n){l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"_updateRenderedComponent",this).call(this,e,n),this._threeObject=this._renderedComponent._threeObject}},{key:"_instantiateReactComponent",value:function(e,t){return this._react3RendererInstance.instantiateReactComponent(e,t)}},{key:"_replaceNodeWithMarkup",value:function(e,t){var n=e.parentMarkup,r=n.childrenMarkup,i=r.indexOf(e);(0,y.default)(-1!==i);var o=n.threeObject.userData.react3internalComponent,a=e.threeObject.userData.react3internalComponent;o.removeChild(a,e);var s=t.threeObject.userData.react3internalComponent;s._mountIndex=i,o.createChild(s,null,t)}},{key:"mountComponent",value:function(e,t,n,r){this._context=r,this._mountOrder=this._react3RendererInstance.nextMountID++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props,o=this._processContext(r),a=this._currentElement.type,l=e.getUpdateQueue(),p=s(a),f=this._constructComponent(p,i,o,l),h=void 0;p||f&&f.render?u(a)?this._compositeType=S.PureClass:this._compositeType=S.ImpureClass:(h=f,(0,y.default)(null===f||!1===f||d.default.isValidElement(f),"%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.",a.displayName||a.name||"Component"),f=new C(a),this._compositeType=S.StatelessFunctional);f.props=i,f.context=o,f.refs=b.default,f.updater=l,this._instance=f,M.default.set(f,this);var m=f.state;void 0===m&&(m=null,f.state=m),("object"!==("undefined"===typeof m?"undefined":c(m))||Array.isArray(m))&&(0,y.default)(!1),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var v=this.performInitialMount(h,t,n,e,r);return f.componentDidMount&&e.getReactMountReady().enqueue(f.componentDidMount,f),v}},{key:"_constructComponent",value:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)}},{key:"_constructComponentWithoutOwner",value:function(e,t,n,r){var i=this._currentElement.type;return e?new i(t,n,r):i(t,n,r)}},{key:"attachRef",value:function(e,t){var n=this.getPublicInstance();(n.refs===b.default?n.refs={}:n.refs)[e]=t.getPublicInstance()}}]),t}(P);e.exports=R},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(){return!p&&(a.default.debugTool.removeHook(u.default),a.default.debugTool.removeHook(l.default),p=!0,!0)}var o=n(10),a=r(o),s=n(244),u=r(s),c=n(245),l=r(c),p=!1;i.restore=function(){p=!1,a.default.debugTool.addHook(u.default),a.default.debugTool.addHook(l.default)},e.exports=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){for(var t=e,n=t._renderedComponent;n;)t=n,n=t._renderedComponent;return t}function o(e,t){(0,f.default)(!!t,"Markup is null!");var n=i(e);n._hostMarkup=t,t[y]=n}function a(e){var t=e._hostMarkup;t&&(delete t[y],e._hostMarkup=null)}function s(e,t){if(0===(e._flags&d.default.hasCachedChildMarkups)){var n=e._renderedChildren,r=Object.keys(n),a=t.childrenMarkup;e:for(var s=0;s<r.length;++s){var u=r[s],c=n[u],l=i(c)._hostID;if(0!==l){for(var p=0;p<a.length;++p){var h=a[p];if(h[v.default]===l){o(c,h);continue e}}(0,f.default)(!1)}}e._flags|=d.default.hasCachedChildMarkups}}function u(e){if(e[y])return e[y];for(var t=e,n=[];!t[y];){if(n.push(t),!t.parentMarkup)return null;t=t.parentMarkup}for(var r=void 0,i=t[y];i&&(r=i,n.length);)s(i,t),t=n.pop(),i=t[y];return r}function c(e){var t=u(e);return null!==t&&t._hostMarkup===e?t:null}function l(e){if((0,f.default)(void 0!==e._hostMarkup),e._hostMarkup)return e._hostMarkup;for(var t=e,n=[];!t._hostMarkup;)n.push(t),(0,f.default)(t._hostParent,"React3 tree root should always have a node reference."),t=t._hostParent;for(;n.length;t=n.pop())s(t,t._hostMarkup);return t._hostMarkup}var p=n(5),f=r(p),h=n(119),d=r(h),m=n(74),v=r(m),y="__react3InternalInstance$"+Math.random().toString(36).slice(2);e.exports={getMarkupFromInstance:l,getInstanceFromMarkup:c,precacheMarkup:o,uncacheMarkup:a,precacheChildMarkups:s,getClosestInstanceFromMarkup:u,getRenderedHostOrTextFromComponent:i}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o,a,s,u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(0),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),f=n(5),h=r(f),d=n(19),m=(r(d),n(15)),v=r(m),y=n(251),g=r(y),b=n(124),_=r(b),w=n(125),x=r(w),E=n(48),M=(r(E),n(76)),O=r(M),T=n(126),P=r(T),S=n(253),C=r(S),R=["gammaInput","gammaOutput"],A=(a=o=function(){function e(t,n){var r=this;i(this,e),s.call(this);var o=t.mainCamera,a=t.onAnimate,c=t.onRecreateCanvas,l=t.onRendererUpdated,f=t.onManualRenderTriggerCreated,h=t.forceManualRender;this._parameters=u({},t),this._rendererInstance=n,this._mounted=!1,this._willUnmount=!1,this._scene=null,this._mainCameraName=o,this._viewports=[],this._modules=[],this._resourceContainers=[],this._recreateCanvasCallback=c,this._rendererUpdatedCallback=l,this._manualRenderTriggerCallback=f,this._forceManualRender=h,this._warnedAboutManualRendering=!1,this._canvas=null,this._onAnimate=a,this._objectsByUUID={},this._materials=[],this._geometries=[],this._textures=[],this._objectsByName={},this._lastRenderMode=null,this._renderTrigger=function(e){e?r._render():null===r._renderRequest&&(r._renderRequest=(0,g.default)(r._render))},this.uuid=p.Math.generateUUID(),this.userData={},"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&(this._highlightScene=new p.Scene,this._highlightGeometry=new p.BoxGeometry(1,1,1),this._highlightMaterial=new p.MeshBasicMaterial({color:255,transparent:!0,opacity:.4}),this._highlightObjectId=null,this._getHighlightBoundingBox=null,this._hideHighlight=function(){r._highlightObjectId=null,r._getHighlightBoundingBox=null},this._objectHighlighted=function(e){var t=e.uuid,n=e.boundingBoxFunc,i=void 0;r._highlightObjectId&&(i=r._objectsByUUID[r._highlightObjectId],i.userData.events.removeListener("hideHighlight",r._hideHighlight)),r._highlightObjectId=t,r._getHighlightBoundingBox=n,i=r._objectsByUUID[t],i.userData.events.once("hideHighlight",r._hideHighlight)})}return c(e,[{key:"_createRenderer",value:function(){if(this._canvas){var e=this._parameters,t={canvas:this._canvas,precision:e.precision,alpha:e.alpha,premultipliedAlpha:e.premultipliedAlpha,antialias:e.antialias,stencil:e.stencil,preserveDrawingBuffer:e.preserveDrawingBuffer,depth:e.depth,logarithmicDepthBuffer:e.logarithmicDepthBuffer};this._parameters.customRenderer?this._renderer=this._parameters.customRenderer(t):this._renderer=(0,C.default)()?new p.WebGLRenderer(t):new p.CanvasRenderer(t),this._rendererUpdatedCallback&&this._rendererUpdatedCallback(this._renderer);var n=this._renderer;e.hasOwnProperty("pixelRatio")&&n.setPixelRatio(e.pixelRatio),e.hasOwnProperty("sortObjects")&&(n.sortObjects=e.sortObjects);var r=e.hasOwnProperty("clearColor"),i=e.hasOwnProperty("clearAlpha");if(r||i){var o=void 0;o=r?e.clearColor:new p.Color(0),i?n.setClearColor(o,e.clearAlpha):n.setClearColor(o)}e.hasOwnProperty("shadowMapEnabled")&&(n.shadowMap.enabled=e.shadowMapEnabled),e.hasOwnProperty("shadowMapType")&&(n.shadowMap.type=e.shadowMapType),e.hasOwnProperty("shadowMapCullFace")&&(n.shadowMap.cullFace=e.shadowMapCullFace),e.hasOwnProperty("shadowMapDebug")&&(n.shadowMap.debug=e.shadowMapDebug),R.forEach(function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n.setSize(e.width,e.height)}}},{key:"initialize",value:function(){this.userData.events.on("animate",this._callOnAnimate),this._forceManualRender?this._renderRequest=null:this._renderRequest=(0,g.default)(this._render),this._manualRenderTriggerCallback&&this._manualRenderTriggerCallback(this._renderTrigger)}},{key:"getObjectsByName",value:function(e){var t=this._objectsByName[e],n=void 0;if(t){var r=t.values;n=Object.keys(r).map(function(e){return r[e]})}else n=[];return n}},{key:"addAnimateListener",value:function(e){this.userData.events.on("animate",e)}},{key:"removeAnimateListener",value:function(e){this.userData.events.removeListener("animate",e)}},{key:"addBeforeRenderListener",value:function(e){this.userData.events.on("preRender",e)}},{key:"removeBeforeRenderListener",value:function(e){this.userData.events.removeListener("preRender",e)}},{key:"addChildren",value:function(e){for(var t=0;t<e.length;++t){var n=e[t];n instanceof p.Scene?this.setScene(n):n instanceof _.default?this.addViewport(n):n instanceof x.default?this.addModule(n):n instanceof O.default?this.addResourceContainer(n):(0,h.default)(!1,"The react3 component should only contain <viewport/>s or <scene/>s or <resources/>.")}}},{key:"removeChild",value:function(e){e instanceof p.Scene?this._scene===e&&this.setScene(null):e instanceof _.default?this.removeViewport(e):e instanceof x.default?this.removeModule(e):e instanceof O.default?this.removeResourceContainer(e):(0,h.default)(!1,"The react3 component should only contain <viewport/>s or <scene/>s, <module/>s or <resources/>.")}},{key:"_renderScene",value:function(e){if(this._renderer.render(this._scene,e),"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&null!==this._highlightObjectId){var t=this._getHighlightBoundingBox(),n=this._highlightScene,r=n.children.length-t.length;if(r>0)for(var i=0;i<r;i++)n.remove(n.children[0]);else if(r<0)for(var o=0;o<-r;o++)n.add(new p.Mesh(this._highlightGeometry,this._highlightMaterial));for(var a=0;a<t.length;++a){var s=t[a],u=s.min.clone().add(s.max).multiplyScalar(.5),c=s.max.clone().sub(s.min),l=n.children[a];l.position.copy(u),l.scale.copy(c)}var f=this._renderer.autoClear;this._renderer.autoClear=!1,this._renderer.render(n,e),this._renderer.autoClear=f}}},{key:"setScene",value:function(e){this._scene=e}},{key:"addViewport",value:function(e){this._viewports.push(e)}},{key:"removeViewport",value:function(e){var t=this._viewports.indexOf(e);this._viewports.splice(t,1)}},{key:"addResourceContainer",value:function(e){this._resourceContainers.push(e)}},{key:"removeResourceContainer",value:function(e){var t=this._resourceContainers.indexOf(e);this._resourceContainers.splice(t,1)}},{key:"addModule",value:function(e){this._modules.push(e)}},{key:"removeModule",value:function(e){var t=this._modules.indexOf(e);this._modules.splice(t,1)}},{key:"updateWidth",value:function(e){this._parameters.width=e,this._renderer&&this._renderer.setSize(this._parameters.width,this._parameters.height)}},{key:"updateOnRecreateCanvas",value:function(e,t){this._recreateCanvasCallback=t}},{key:"updateOnRendererUpdated",value:function(e){this._rendererUpdatedCallback=e}},{key:"updateOnManualRenderTriggerCreated",value:function(e){this._manualRenderTriggerCallback=e,e&&this._manualRenderTriggerCallback(this._renderTrigger)}},{key:"updateForceManualRender",value:function(e){this._forceManualRender!==e&&(this._forceManualRender=e,e?(g.default.cancel(this._renderRequest),this._renderRequest=null):this._renderRequest=(0,g.default)(this._render))}},{key:"updateHeight",value:function(e){this._parameters.height=e,this._renderer&&this._renderer.setSize(this._parameters.width,this._parameters.height)}},{key:"updatePixelRatio",value:function(e){this._parameters.pixelRatio=e,this._renderer&&(this._renderer.setPixelRatio(e),this._renderer.setSize(this._parameters.width,this._parameters.height))}},{key:"updateSortObjects",value:function(e){this._parameters.sortObjects=e,this._renderer&&(this._renderer.sortObjects=e)}},{key:"updateAntialias",value:function(e){this._parameters.antialias=e,this._renderer&&this.refreshRenderer()}},{key:"updatePrecision",value:function(e){this._parameters.precision=e,this._renderer&&this.refreshRenderer()}},{key:"updateAlpha",value:function(e){this._parameters.alpha=e,this._renderer&&this.refreshRenderer()}},{key:"updatePremultipliedAlpha",value:function(e){this._parameters.premultipliedAlpha=e,this._renderer&&this.refreshRenderer()}},{key:"updateStencil",value:function(e){this._parameters.stencil=e,this._renderer&&this.refreshRenderer()}},{key:"updatePreserveDrawingBuffer",value:function(e){this._parameters.preserveDrawingBuffer=e,this._renderer&&this.refreshRenderer()}},{key:"updateDepth",value:function(e){this._parameters.depth=e,this._renderer&&this.refreshRenderer()}},{key:"updateLogarithmicDepthBuffer",value:function(e){this._parameters.logarithmicDepthBuffer=e,this._renderer&&this.refreshRenderer()}},{key:"updateShadowMapEnabled",value:function(e){this._parameters.shadowMapEnabled=e,this._renderer&&(this._renderer.shadowMap.enabled=e,this.allMaterialsNeedUpdate(!0))}},{key:"updateShadowMapType",value:function(e){this._parameters.shadowMapType=e,this._renderer&&(this._renderer.shadowMap.type=e,this.allMaterialsNeedUpdate(!0))}},{key:"updateShadowMapCullFace",value:function(e){this._parameters.shadowMapCullFace=e,this._renderer&&(this._renderer.shadowMap.cullFace=e,this.allMaterialsNeedUpdate(!0))}},{key:"updateShadowMapDebug",value:function(e){this._parameters.shadowMapDebug=e,this._renderer&&(this._renderer.shadowMap.debug=e,this.allMaterialsNeedUpdate(!0))}},{key:"updateCanvas",value:function(e){if(this._canvas=e,this._renderer){this.disposeResourcesAndRenderer();var t=this._renderer.extensions.get("WEBGL_lose_context");t&&t.loseContext()}this._createRenderer()}},{key:"updateGammaInput",value:function(e){this._parameters.gammaInput=e,this._renderer&&(this._renderer.gammaInput=e,this.allMaterialsNeedUpdate(!0))}},{key:"updateGammaOutput",value:function(e){this._parameters.gammaOutput=e,this._renderer&&(this._renderer.gammaOutput=e,this.allMaterialsNeedUpdate(!0))}},{key:"updateContext",value:function(e){this._parameters.context=e}},{key:"updateMainCamera",value:function(e){this._parameters.mainCamera=e,this._mainCameraName=e}},{key:"updateCustomRenderer",value:function(e){this._parameters.customRenderer=e,this._renderer&&this.refreshRenderer()}},{key:"updateOnAnimate",value:function(e){this._parameters.onAnimate=e,this._onAnimate=e}},{key:"updateClearColor",value:function(e){this._parameters.clearColor=e,this._renderer&&(this._parameters.hasOwnProperty("clearAlpha")?this._renderer.setClearColor(e,this._parameters.clearAlpha):this._renderer.setClearColor(e))}},{key:"updateClearAlpha",value:function(e){var t=this._parameters;if(void 0===e?delete t.clearAlpha:t.clearAlpha=e,this._renderer){var n=void 0;n=t.hasOwnProperty("clearColor")?t.clearColor:new p.Color(0),void 0!==e?this._renderer.setClearColor(n,e):this._renderer.setClearColor(n)}}},{key:"refreshRenderer",value:function(){this.disposeResourcesAndRenderer();var e=this._renderer.extensions.get("WEBGL_lose_context");delete this._renderer,this._rendererUpdatedCallback&&this._rendererUpdatedCallback(null),this.userData.events.removeListener("animate",this._callOnAnimate),this.userData.events.removeAllListeners(),null!==this._renderRequest&&(g.default.cancel(this._renderRequest),this._renderRequest=null),e&&this._canvas?(e.loseContext(),this._recreateCanvasCallback()):this._recreateCanvasCallback()}},{key:"disposeResourcesAndRenderer",value:function(){for(var e=0;e<this._materials.length;++e){this._materials[e].dispose()}for(var t=0;t<this._geometries.length;++t){this._geometries[t].dispose()}for(var n=0;n<this._textures.length;++n){this._textures[n].dispose()}this._renderer.dispose()}},{key:"willUnmount",value:function(){this._willUnmount=!0}},{key:"unmount",value:function(){if(this._mounted=!1,null!==this._renderRequest&&(g.default.cancel(this._renderRequest),this._renderRequest=null),this.userData.events.removeListener("animate",this._callOnAnimate),this.userData.events.removeAllListeners(),delete this._rendererInstance,this._renderer){var e=this._renderer.extensions.get("WEBGL_lose_context");e&&e.loseContext(),this.disposeResourcesAndRenderer(),delete this._renderer,this._rendererUpdatedCallback&&this._rendererUpdatedCallback(null)}delete this._parameters,(0,h.default)(0===Object.keys(this._objectsByUUID).length,"Failed to cleanup some child objects for React3DInstance"),delete this._objectsByUUID,delete this._viewports,delete this._scene,"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&(delete this._highlightScene,delete this._highlightObjectId,delete this._getHighlightBoundingBox)}},{key:"objectMounted",value:function(e){(0,h.default)(!this._objectsByUUID[e.uuid],"There already is an object with this uuid in the react 3d instance."),this._objectsByUUID[e.uuid]=e,e.userData.markup._rootInstance=this,this._addObjectWithName(e.name,e),"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&e.userData.events.on("highlight",this._objectHighlighted),e.userData.events.emit("addedIntoRoot",e);var t=e,n=t.userData.markup.childrenMarkup;e instanceof p.Material&&this._materials.push(e),(e instanceof p.Geometry||e instanceof p.BufferGeometry)&&this._geometries.push(e),e instanceof p.Texture&&this._textures.push(e);for(var r=0;r<n.length;++r){var i=n[r];this.objectMounted(i.threeObject)}}},{key:"allMaterialsNeedUpdate",value:function(e){this._materials.forEach(function(t){e?t.dispose():t.needsUpdate=!0})}},{key:"objectRenamed",value:function(e,t,n){this._removeObjectWithName(t,e),this._addObjectWithName(n,e)}},{key:"_addObjectWithName",value:function(e,t){this._objectsByName[e]||(this._objectsByName[e]={count:0,values:{}}),this._objectsByName[e].values[t.uuid]=t,this._objectsByName[e].count++}},{key:"_removeObjectWithName",value:function(e,t){(0,h.default)(this._objectsByName[e]&&this._objectsByName[e].values[t.uuid]===t,"The object's name changed somehow?'"),delete this._objectsByName[e].values[t.uuid],0===--this._objectsByName[e].count&&delete this._objectsByName[e]}},{key:"objectRemoved",value:function(e){(0,h.default)(this._objectsByUUID[e.uuid]===e,"The removed object does not belong here!?"),"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&(this._highlightObjectId===e.uuid&&(this._highlightObjectId=null),e.userData.events.removeListener("highlight",this._objectHighlighted),e.userData.events.removeListener("hideHighlight",this._hideHighlight)),delete this._objectsByUUID[e.uuid],e instanceof p.Material&&this._materials.splice(this._materials.indexOf(e),1),(e instanceof p.Geometry||e instanceof p.BufferGeometry)&&this._geometries.splice(this._geometries.indexOf(e),1),e instanceof p.Texture&&this._textures.splice(this._textures.indexOf(e),1),this._removeObjectWithName(e.name,e),delete e.userData.markup._rootInstance}},{key:"mountedIntoRoot",value:function(){this._mounted=!0,this.objectMounted(this)}}]),e}(),s=function(){var e=this;this._callOnAnimate=function(){e._onAnimate&&v.default.batchedUpdates(e._onAnimate)},this._render=function(){for(var t=0;t<e._modules.length;++t)e._modules[t].update();if(e._forceManualRender?e._renderRequest=null:e._renderRequest=(0,g.default)(e._render),e.userData.events.emit("animate"),e._scene&&e._mounted&&e._renderer){var n=null;if(e._mainCameraName){var r=e._objectsByName[e._mainCameraName];if(r&&r.count>0){var i=r.values;n=i[Object.keys(i)[0]]}}n?("camera"!==e._lastRenderMode&&(e._renderer.autoClear=!0,e._renderer.setViewport(0,0,e._parameters.width,e._parameters.height),e._lastRenderMode="camera"),P.default.current=n,e.userData.events.emit("preRender"),e._renderScene(n),P.default.current=null):e._viewports.length>0&&("viewport"!==e._lastRenderMode&&(e._renderer.autoClear=!1,e._lastRenderMode="viewport"),e._renderer.clear(),e._viewports.forEach(function(t){var n=null;if(t.cameraName){var r=e._objectsByName[t.cameraName];if(r&&r.count>0){var i=r.values;n=i[Object.keys(i)[0]]}}n&&(t.onBeforeRender&&v.default.batchedUpdates(t.onBeforeRender),e._renderer.setViewport(t.x,t.y,t.width,t.height),P.default.current=n,e.userData.events.emit("preRender"),e._renderScene(n),P.default.current=null)}))}}},a);e.exports=A},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(0),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(i),a=function e(t){r(this,e),this.userData={},this.uuid=o.Math.generateUUID(),this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this.cameraName=t.cameraName,this.onBeforeRender=t.onBeforeRender};e.exports=a},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(o),s=function(){function e(){r(this,e),this.userData={},this.uuid=a.Math.generateUUID()}return i(e,[{key:"setup",value:function(e){}},{key:"update",value:function(){}},{key:"dispose",value:function(){}}]),e}();e.exports=s},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i,o,a=n(0),s=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(a),o=i=function e(){r(this,e)},i.current=null,o);e.exports=s},function(e,t,n){"use strict";function r(e){this.message=e,this.stack=""}r.prototype=Error.prototype,e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},u=n(0),c=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(u),n(16)),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"applyInitialProps",value:function(e,n){s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"setParent",value:function(e,n){s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}},{key:"unmount",value:function(e){s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"beginPropertyUpdates",value:function(e){s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"beginPropertyUpdates",this).call(this,e),e.userData._needsProjectionMatrixUpdate=!1}},{key:"completePropertyUpdates",value:function(e){s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"completePropertyUpdates",this).call(this,e),e.userData._needsProjectionMatrixUpdate&&(e.userData._needsProjectionMatrixUpdate=!1,e.updateProjectionMatrix(),e.userData.events.emit("updateProjectionMatrix"))}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(50),d=r(h),m=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData._propertySlot="geometry"}},{key:"setParent",value:function(e,n){(0,f.default)(n instanceof l.Mesh||n instanceof l.Points||n instanceof l.Line,"Parent is not a mesh"),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}}]),t}(d.default);e.exports=m},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(32),s=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),t}(s.default);e.exports=u},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(5),d=r(h),m=n(9),v=r(m),y=n(130),g=r(y),b=n(8),_=r(b),w=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));n._invalidChild=function(e){return!(e instanceof l.Shape||e instanceof g.default)},n.hasProp("shapes",{type:f.default.arrayOf((0,_.default)(l.Shape)),updateInitial:!0,update:function(e,t){e.userData._shapesFromProps=t||[],e.userData._needsToRefreshGeometry=!0},default:[]});var r=["curveSegments"],a=[f.default.number,f.default.number,f.default.shape({generateTopUV:f.default.func,generateSideWallUV:f.default.func})];return r.forEach(function(e,t){n.hasProp(e,{type:a[t],update:function(t,n){void 0===n?delete t.userData._options[e]:t.userData._options[e]=n,t.userData._needsToRefreshGeometry=!0},default:void 0})}),n}return a(t,e),s(t,[{key:"completePropertyUpdates",value:function(e){e.userData._needsToRefreshGeometry&&(this.refreshGeometry(e),e.userData._needsToRefreshGeometry=!1)}},{key:"construct",value:function(){return new l.BufferGeometry}},{key:"getOptions",value:function(e){var t={};return["curveSegments"].forEach(function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t}},{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData._shapeCache=[],e.userData._options=this.getOptions(n),e.userData._resourceListenerCleanupFunctions=[],e.userData._needsToRefreshGeometry=!1,n.children||this.refreshGeometry(e)}},{key:"addChildren",value:function(e,t){var n=this;(0,d.default)(0===t.filter(this._invalidChild).length,!1);var r=[];t.forEach(function(t){if(t instanceof g.default){var i=r.length,o=function(t){e.userData._shapeCache[i]=t,n.refreshGeometry(e)};o.target=t;var a=function n(){t.userData.events.removeListener("resource.set",o),e.userData._resourceListenerCleanupFunctions.splice(e.userData._resourceListenerCleanupFunctions.indexOf(n),1)};e.userData._resourceListenerCleanupFunctions.push(a),t.userData.events.on("resource.set",o),t.userData.events.once("dispose",function(){a()}),r.push(null)}else r.push(t)}),e.userData._shapeCache=r,this.refreshGeometry(e)}},{key:"addChild",value:function(e){this.triggerRemount(e)}},{key:"moveChild",value:function(e){this.triggerRemount(e)}},{key:"removeChild",value:function(e){this.triggerRemount(e)}},{key:"unmount",value:function(e){return e.userData._resourceListenerCleanupFunctions.forEach(function(e){e()}),delete e.userData._options,delete e.userData._resourceListenerCleanupFunctions,delete e.userData._shapesFromProps,u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}}]),t}(v.default);e.exports=w},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},l=n(0),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),f=n(5),h=r(f),d=n(1),m=r(d),v=n(12),y=r(v),g=n(22),b=r(g),_=n(8),w=r(_),x=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._invalidChild=function(e){return!(e instanceof b.default)},n.hasProp("points",{type:m.default.arrayOf((0,w.default)(p.Vector2)),update:n.triggerRemount,default:[]}),n}return a(t,e),u(t,[{key:"applyInitialProps",value:function(e,n){return e.userData=s({},e.userData),e.uuid=p.Math.generateUUID(),c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"addChildren",value:function(e,t){var n=this;(0,h.default)(0===t.filter(this._invalidChild).length,!1),t.forEach(function(t){n.performChildAction(e,t)})}},{key:"performChildAction",value:function(e,t){t.performAction(e)}},{key:"addChild",value:function(e){this.triggerRemount(e)}},{key:"moveChild",value:function(e){this.triggerRemount(e)}},{key:"removeChild",value:function(e){this.triggerRemount(e)}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.highlight(t)}},{key:"getBoundingBoxes",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;return t.userData._descriptor.getBoundingBoxes(t)}}]),t}(y.default);e.exports=x},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(22),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){r(this,t);var e=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.path=new u.Path,e}return o(t,e),a(t,[{key:"performAction",value:function(e){e.holes.push(this.path)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(18),d=r(h),m=n(77),v=r(m),y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["vertexShader","fragmentShader"].forEach(function(e){n.hasProp(e,{type:f.default.string,update:n.triggerRemount})}),n.hasProp("uniforms",{type:f.default.any,simple:!0,default:void 0}),n.hasWireframe(),n}return a(t,e),s(t,[{key:"getMaterialDescription",value:function(e){var n=u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getMaterialDescription",this).call(this,e);return e.hasOwnProperty("uniforms")&&(n.uniforms=e.uniforms),e.hasOwnProperty("vertexShader")&&(n.vertexShader=e.vertexShader),e.hasOwnProperty("fragmentShader")&&(n.fragmentShader=e.fragmentShader),n}},{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new l.ShaderMaterial(t)}},{key:"invalidChildInternal",value:function(e){return!(e instanceof v.default||u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"invalidChildInternal",this).call(this,e))}},{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),n.hasOwnProperty("uniforms")||(e.uniforms={})}}]),t}(d.default);e.exports=y},function(e,t,n){n(136),e.exports=n(141)},function(e,t,n){"use strict";"undefined"===typeof Promise&&(n(137).enable(),window.Promise=n(139)),n(140),Object.assign=n(6)},function(e,t,n){"use strict";function r(){c=!1,s._47=null,s._71=null}function i(e){function t(t){(e.allRejections||a(p[t].error,e.whitelist||u))&&(p[t].displayId=l++,e.onUnhandled?(p[t].logged=!0,e.onUnhandled(p[t].displayId,p[t].error)):(p[t].logged=!0,o(p[t].displayId,p[t].error)))}function n(t){p[t].logged&&(e.onHandled?e.onHandled(p[t].displayId,p[t].error):p[t].onUnhandled||(console.warn("Promise Rejection Handled (id: "+p[t].displayId+"):"),console.warn('  This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id '+p[t].displayId+".")))}e=e||{},c&&r(),c=!0;var i=0,l=0,p={};s._47=function(e){2===e._83&&p[e._56]&&(p[e._56].logged?n(e._56):clearTimeout(p[e._56].timeout),delete p[e._56])},s._71=function(e,n){0===e._75&&(e._56=i++,p[e._56]={displayId:null,error:n,timeout:setTimeout(t.bind(null,e._56),a(n,u)?100:2e3),logged:!1})}}function o(e,t){console.warn("Possible Unhandled Promise Rejection (id: "+e+"):"),((t&&(t.stack||t))+"").split("\n").forEach(function(e){console.warn("  "+e)})}function a(e,t){return t.some(function(t){return e instanceof t})}var s=n(78),u=[ReferenceError,TypeError,RangeError],c=!1;t.disable=r,t.enable=i},function(e,t,n){"use strict";(function(t){function n(e){a.length||(o(),s=!0),a[a.length]=e}function r(){for(;u<a.length;){var e=u;if(u+=1,a[e].call(),u>c){for(var t=0,n=a.length-u;t<n;t++)a[t]=a[t+u];a.length-=u,u=0}}a.length=0,u=0,s=!1}function i(e){return function(){function t(){clearTimeout(n),clearInterval(r),e()}var n=setTimeout(t,0),r=setInterval(t,50)}}e.exports=n;var o,a=[],s=!1,u=0,c=1024,l="undefined"!==typeof t?t:self,p=l.MutationObserver||l.WebKitMutationObserver;o="function"===typeof p?function(e){var t=1,n=new p(e),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}(r):i(r),n.requestFlush=o,n.makeRequestCallFromTimer=i}).call(t,n(55))},function(e,t,n){"use strict";function r(e){var t=new i(i._44);return t._83=1,t._18=e,t}var i=n(78);e.exports=i;var o=r(!0),a=r(!1),s=r(null),u=r(void 0),c=r(0),l=r("");i.resolve=function(e){if(e instanceof i)return e;if(null===e)return s;if(void 0===e)return u;if(!0===e)return o;if(!1===e)return a;if(0===e)return c;if(""===e)return l;if("object"===typeof e||"function"===typeof e)try{var t=e.then;if("function"===typeof t)return new i(t.bind(e))}catch(e){return new i(function(t,n){n(e)})}return r(e)},i.all=function(e){var t=Array.prototype.slice.call(e);return new i(function(e,n){function r(a,s){if(s&&("object"===typeof s||"function"===typeof s)){if(s instanceof i&&s.then===i.prototype.then){for(;3===s._83;)s=s._18;return 1===s._83?r(a,s._18):(2===s._83&&n(s._18),void s.then(function(e){r(a,e)},n))}var u=s.then;if("function"===typeof u){return void new i(u.bind(s)).then(function(e){r(a,e)},n)}}t[a]=s,0===--o&&e(t)}if(0===t.length)return e([]);for(var o=t.length,a=0;a<t.length;a++)r(a,t[a])})},i.reject=function(e){return new i(function(t,n){n(e)})},i.race=function(e){return new i(function(t,n){e.forEach(function(e){i.resolve(e).then(t,n)})})},i.prototype.catch=function(e){return this.then(null,e)}},function(e,t){!function(e){"use strict";function t(e){if("string"!==typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function n(e){return"string"!==typeof e&&(e=String(e)),e}function r(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return y.iterable&&(t[Symbol.iterator]=function(){return t}),t}function i(e){this.map={},e instanceof i?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function o(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function a(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function s(e){var t=new FileReader,n=a(t);return t.readAsArrayBuffer(e),n}function u(e){var t=new FileReader,n=a(t);return t.readAsText(e),n}function c(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join("")}function l(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function p(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if("string"===typeof e)this._bodyText=e;else if(y.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(y.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(y.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(y.arrayBuffer&&y.blob&&b(e))this._bodyArrayBuffer=l(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!y.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!_(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=l(e)}else this._bodyText="";this.headers.get("content-type")||("string"===typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):y.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},y.blob&&(this.blob=function(){var e=o(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?o(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(s)}),this.text=function(){var e=o(this);if(e)return e;if(this._bodyBlob)return u(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(c(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},y.formData&&(this.formData=function(){return this.text().then(d)}),this.json=function(){return this.text().then(JSON.parse)},this}function f(e){var t=e.toUpperCase();return w.indexOf(t)>-1?t:e}function h(e,t){t=t||{};var n=t.body;if(e instanceof h){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new i(e.headers)),this.method=e.method,this.mode=e.mode,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new i(t.headers)),this.method=f(t.method||this.method||"GET"),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function d(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(i))}}),t}function m(e){var t=new i;return e.split(/\r?\n/).forEach(function(e){var n=e.split(":"),r=n.shift().trim();if(r){var i=n.join(":").trim();t.append(r,i)}}),t}function v(e,t){t||(t={}),this.type="default",this.status="status"in t?t.status:200,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new i(t.headers),this.url=t.url||"",this._initBody(e)}if(!e.fetch){var y={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(y.arrayBuffer)var g=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],b=function(e){return e&&DataView.prototype.isPrototypeOf(e)},_=ArrayBuffer.isView||function(e){return e&&g.indexOf(Object.prototype.toString.call(e))>-1};i.prototype.append=function(e,r){e=t(e),r=n(r);var i=this.map[e];this.map[e]=i?i+","+r:r},i.prototype.delete=function(e){delete this.map[t(e)]},i.prototype.get=function(e){return e=t(e),this.has(e)?this.map[e]:null},i.prototype.has=function(e){return this.map.hasOwnProperty(t(e))},i.prototype.set=function(e,r){this.map[t(e)]=n(r)},i.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},i.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),r(e)},i.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),r(e)},i.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),r(e)},y.iterable&&(i.prototype[Symbol.iterator]=i.prototype.entries);var w=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];h.prototype.clone=function(){return new h(this,{body:this._bodyInit})},p.call(h.prototype),p.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new i(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:""});return e.type="error",e};var x=[301,302,303,307,308];v.redirect=function(e,t){if(-1===x.indexOf(t))throw new RangeError("Invalid status code");return new v(null,{status:t,headers:{location:e}})},e.Headers=i,e.Request=h,e.Response=v,e.fetch=function(e,t){return new Promise(function(n,r){var i=new h(e,t),o=new XMLHttpRequest;o.onload=function(){var e={status:o.status,statusText:o.statusText,headers:m(o.getAllResponseHeaders()||"")};e.url="responseURL"in o?o.responseURL:e.headers.get("X-Request-URL");var t="response"in o?o.response:o.responseText;n(new v(t,e))},o.onerror=function(){r(new TypeError("Network request failed"))},o.ontimeout=function(){r(new TypeError("Network request failed"))},o.open(i.method,i.url,!0),"include"===i.credentials&&(o.withCredentials=!0),"responseType"in o&&y.blob&&(o.responseType="blob"),i.headers.forEach(function(e,t){o.setRequestHeader(t,e)}),o.send("undefined"===typeof i._bodyInit?null:i._bodyInit)})},e.fetch.polyfill=!0}}("undefined"!==typeof self?self:this)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(17),i=n.n(r),o=n(154),a=n.n(o),s=n(225),u=(n.n(s),n(226)),c=n(341);a.a.render(i.a.createElement(u.a,null),document.getElementById("root")),Object(c.a)()},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t,n){"use strict";function r(e){return(""+e).replace(_,"$&/")}function i(e,t){this.func=e,this.context=t,this.count=0}function o(e,t,n){var r=e.func,i=e.context;r.call(i,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=i.getPooled(t,n);y(e,o,r),i.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var i=e.result,o=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?c(u,i,n,v.thatReturnsArgument):null!=u&&(m.isValidElement(u)&&(u=m.cloneAndReplaceKey(u,o+(!u.key||t&&t.key===u.key?"":r(u.key)+"/")+n)),i.push(u))}function c(e,t,n,i,o){var a="";null!=n&&(a=r(n)+"/");var c=s.getPooled(t,a,i,o);y(e,u,c),s.release(c)}function l(e,t,n){if(null==e)return e;var r=[];return c(e,r,null,t,n),r}function p(e,t,n){return null}function f(e,t){return y(e,p,null)}function h(e){var t=[];return c(e,t,null,v.thatReturnsArgument),t}var d=n(144),m=n(20),v=n(13),y=n(82),g=d.twoArgumentPooler,b=d.fourArgumentPooler,_=/\/+/g;i.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},d.addPoolingTo(i,g),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},d.addPoolingTo(s,b);var w={forEach:a,map:l,mapIntoWithKeyPrefixInternal:c,count:f,toArray:h};e.exports=w},function(e,t,n){"use strict";var r=n(29),i=(n(2),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),o=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},a=function(e,t,n){var r=this;if(r.instancePool.length){var i=r.instancePool.pop();return r.call(i,e,t,n),i}return new r(e,t,n)},s=function(e,t,n,r){var i=this;if(i.instancePool.length){var o=i.instancePool.pop();return i.call(o,e,t,n,r),o}return new i(e,t,n,r)},u=function(e){var t=this;e instanceof t||r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=i,l=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||c,n.poolSize||(n.poolSize=10),n.release=u,n},p={addPoolingTo:l,oneArgumentPooler:i,twoArgumentPooler:o,threeArgumentPooler:a,fourArgumentPooler:s};e.exports=p},function(e,t,n){"use strict";function r(e){var t=e&&(i&&e[i]||e[o]);if("function"===typeof t)return t}var i="function"===typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=r},function(e,t,n){"use strict";var r=n(20),i=r.createFactory,o={a:i("a"),abbr:i("abbr"),address:i("address"),area:i("area"),article:i("article"),aside:i("aside"),audio:i("audio"),b:i("b"),base:i("base"),bdi:i("bdi"),bdo:i("bdo"),big:i("big"),blockquote:i("blockquote"),body:i("body"),br:i("br"),button:i("button"),canvas:i("canvas"),caption:i("caption"),cite:i("cite"),code:i("code"),col:i("col"),colgroup:i("colgroup"),data:i("data"),datalist:i("datalist"),dd:i("dd"),del:i("del"),details:i("details"),dfn:i("dfn"),dialog:i("dialog"),div:i("div"),dl:i("dl"),dt:i("dt"),em:i("em"),embed:i("embed"),fieldset:i("fieldset"),figcaption:i("figcaption"),figure:i("figure"),footer:i("footer"),form:i("form"),h1:i("h1"),h2:i("h2"),h3:i("h3"),h4:i("h4"),h5:i("h5"),h6:i("h6"),head:i("head"),header:i("header"),hgroup:i("hgroup"),hr:i("hr"),html:i("html"),i:i("i"),iframe:i("iframe"),img:i("img"),input:i("input"),ins:i("ins"),kbd:i("kbd"),keygen:i("keygen"),label:i("label"),legend:i("legend"),li:i("li"),link:i("link"),main:i("main"),map:i("map"),mark:i("mark"),menu:i("menu"),menuitem:i("menuitem"),meta:i("meta"),meter:i("meter"),nav:i("nav"),noscript:i("noscript"),object:i("object"),ol:i("ol"),optgroup:i("optgroup"),option:i("option"),output:i("output"),p:i("p"),param:i("param"),picture:i("picture"),pre:i("pre"),progress:i("progress"),q:i("q"),rp:i("rp"),rt:i("rt"),ruby:i("ruby"),s:i("s"),samp:i("samp"),script:i("script"),section:i("section"),select:i("select"),small:i("small"),source:i("source"),span:i("span"),strong:i("strong"),style:i("style"),sub:i("sub"),summary:i("summary"),sup:i("sup"),table:i("table"),tbody:i("tbody"),td:i("td"),textarea:i("textarea"),tfoot:i("tfoot"),th:i("th"),thead:i("thead"),time:i("time"),title:i("title"),tr:i("tr"),track:i("track"),u:i("u"),ul:i("ul"),var:i("var"),video:i("video"),wbr:i("wbr"),circle:i("circle"),clipPath:i("clipPath"),defs:i("defs"),ellipse:i("ellipse"),g:i("g"),image:i("image"),line:i("line"),linearGradient:i("linearGradient"),mask:i("mask"),path:i("path"),pattern:i("pattern"),polygon:i("polygon"),polyline:i("polyline"),radialGradient:i("radialGradient"),rect:i("rect"),stop:i("stop"),svg:i("svg"),text:i("text"),tspan:i("tspan")};e.exports=o},function(e,t,n){"use strict";var r=n(20),i=r.isValidElement,o=n(83);e.exports=o(i)},function(e,t,n){"use strict";var r=n(13),i=n(2),o=n(3),a=n(6),s=n(84),u=n(149);e.exports=function(e,t){function n(e){var t=e&&(T&&e[T]||e[P]);if("function"===typeof t)return t}function c(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function l(e){this.message=e,this.stack=""}function p(e){function n(n,r,o,a,u,c,p){if(a=a||S,c=c||o,p!==s)if(t)i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else;return null==r[o]?n?new l(null===r[o]?"The "+u+" `"+c+"` is marked as required in `"+a+"`, but its value is `null`.":"The "+u+" `"+c+"` is marked as required in `"+a+"`, but its value is `undefined`."):null:e(r,o,a,u,c)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function f(e){function t(t,n,r,i,o,a){var s=t[n];if(x(s)!==e)return new l("Invalid "+i+" `"+o+"` of type `"+E(s)+"` supplied to `"+r+"`, expected `"+e+"`.");return null}return p(t)}function h(e){function t(t,n,r,i,o){if("function"!==typeof e)return new l("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a)){return new l("Invalid "+i+" `"+o+"` of type `"+x(a)+"` supplied to `"+r+"`, expected an array.")}for(var u=0;u<a.length;u++){var c=e(a,u,r,i,o+"["+u+"]",s);if(c instanceof Error)return c}return null}return p(t)}function d(e){function t(t,n,r,i,o){if(!(t[n]instanceof e)){var a=e.name||S;return new l("Invalid "+i+" `"+o+"` of type `"+O(t[n])+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}return null}return p(t)}function m(e){function t(t,n,r,i,o){for(var a=t[n],s=0;s<e.length;s++)if(c(a,e[s]))return null;return new l("Invalid "+i+" `"+o+"` of value `"+a+"` supplied to `"+r+"`, expected one of "+JSON.stringify(e)+".")}return Array.isArray(e)?p(t):r.thatReturnsNull}function v(e){function t(t,n,r,i,o){if("function"!==typeof e)return new l("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=t[n],u=x(a);if("object"!==u)return new l("Invalid "+i+" `"+o+"` of type `"+u+"` supplied to `"+r+"`, expected an object.");for(var c in a)if(a.hasOwnProperty(c)){var p=e(a,c,r,i,o+"."+c,s);if(p instanceof Error)return p}return null}return p(t)}function y(e){function t(t,n,r,i,o){for(var a=0;a<e.length;a++){if(null==(0,e[a])(t,n,r,i,o,s))return null}return new l("Invalid "+i+" `"+o+"` supplied to `"+r+"`.")}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var i=e[n];if("function"!==typeof i)return o(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",M(i),n),r.thatReturnsNull}return p(t)}function g(e){function t(t,n,r,i,o){var a=t[n],u=x(a);if("object"!==u)return new l("Invalid "+i+" `"+o+"` of type `"+u+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var p=e[c];if(p){var f=p(a,c,r,i,o+"."+c,s);if(f)return f}}return null}return p(t)}function b(e){function t(t,n,r,i,o){var u=t[n],c=x(u);if("object"!==c)return new l("Invalid "+i+" `"+o+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var p=a({},t[n],e);for(var f in p){var h=e[f];if(!h)return new l("Invalid "+i+" `"+o+"` key `"+f+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null,"  ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null,"  "));var d=h(u,f,r,i,o+"."+f,s);if(d)return d}return null}return p(t)}function _(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(_);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var i,o=r.call(t);if(r!==t.entries){for(;!(i=o.next()).done;)if(!_(i.value))return!1}else for(;!(i=o.next()).done;){var a=i.value;if(a&&!_(a[1]))return!1}return!0;default:return!1}}function w(e,t){return"symbol"===e||("Symbol"===t["@@toStringTag"]||"function"===typeof Symbol&&t instanceof Symbol)}function x(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":w(t,e)?"symbol":t}function E(e){if("undefined"===typeof e||null===e)return""+e;var t=x(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function M(e){var t=E(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function O(e){return e.constructor&&e.constructor.name?e.constructor.name:S}var T="function"===typeof Symbol&&Symbol.iterator,P="@@iterator",S="<<anonymous>>",C={array:f("array"),bool:f("boolean"),func:f("function"),number:f("number"),object:f("object"),string:f("string"),symbol:f("symbol"),any:function(){return p(r.thatReturnsNull)}(),arrayOf:h,element:function(){function t(t,n,r,i,o){var a=t[n];if(!e(a)){return new l("Invalid "+i+" `"+o+"` of type `"+x(a)+"` supplied to `"+r+"`, expected a single ReactElement.")}return null}return p(t)}(),instanceOf:d,node:function(){function e(e,t,n,r,i){return _(e[t])?null:new l("Invalid "+r+" `"+i+"` supplied to `"+n+"`, expected a ReactNode.")}return p(e)}(),objectOf:v,oneOf:m,oneOfType:y,shape:g,exact:b};return l.prototype=Error.prototype,C.checkPropTypes=u,C.PropTypes=C,C}},function(e,t,n){"use strict";function r(e,t,n,r,i){}e.exports=r},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(56),i=r.Component,o=n(20),a=o.isValidElement,s=n(79),u=n(152);e.exports=u(i,a,s)},function(e,t,n){"use strict";function r(e){return e}function i(e,t,n){function i(e,t){var n=g.hasOwnProperty(t)?g[t]:null;x.hasOwnProperty(t)&&s("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&s("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function c(e,n){if(n){s("function"!==typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),s(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,o=r.__reactAutoBindPairs;n.hasOwnProperty(u)&&b.mixins(e,n.mixins);for(var a in n)if(n.hasOwnProperty(a)&&a!==u){var c=n[a],l=r.hasOwnProperty(a);if(i(l,a),b.hasOwnProperty(a))b[a](e,c);else{var p=g.hasOwnProperty(a),d="function"===typeof c,m=d&&!p&&!l&&!1!==n.autobind;if(m)o.push(a,c),r[a]=c;else if(l){var v=g[a];s(p&&("DEFINE_MANY_MERGED"===v||"DEFINE_MANY"===v),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",v,a),"DEFINE_MANY_MERGED"===v?r[a]=f(r[a],c):"DEFINE_MANY"===v&&(r[a]=h(r[a],c))}else r[a]=c}}}else;}function l(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var i=n in b;s(!i,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var o=n in e;s(!o,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=r}}}function p(e,t){s(e&&t&&"object"===typeof e&&"object"===typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var n in t)t.hasOwnProperty(n)&&(s(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function f(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var i={};return p(i,n),p(i,r),i}}function h(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function d(e,t){var n=t.bind(e);return n}function m(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],i=t[n+1];e[r]=d(e,i)}}function v(e){var t=r(function(e,r,i){this.__reactAutoBindPairs.length&&m(this),this.props=e,this.context=r,this.refs=a,this.updater=i||n,this.state=null;var o=this.getInitialState?this.getInitialState():null;s("object"===typeof o&&!Array.isArray(o),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=o});t.prototype=new E,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],y.forEach(c.bind(null,t)),c(t,_),c(t,e),c(t,w),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),s(t.prototype.render,"createClass(...): Class specification must implement a `render` method.");for(var i in g)t.prototype[i]||(t.prototype[i]=null);return t}var y=[],g={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},b={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)c(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=o({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=o({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=f(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=o({},e.propTypes,t)},statics:function(e,t){l(e,t)},autobind:function(){}},_={componentDidMount:function(){this.__isMounted=!0}},w={componentWillUnmount:function(){this.__isMounted=!1}},x={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},E=function(){};return o(E.prototype,e.prototype,x),v}var o=n(6),a=n(38),s=n(2),u="mixins";e.exports=i},function(e,t,n){"use strict";function r(e){return o.isValidElement(e)||i("143"),e}var i=n(29),o=n(20);n(2);e.exports=r},function(e,t,n){"use strict";e.exports=n(155)},function(e,t,n){"use strict";var r=n(7),i=n(156),o=n(112),a=n(23),s=n(15),u=n(222),c=n(223),l=n(72),p=n(224);n(3);i.inject();var f={findDOMNode:c,render:o.render,unmountComponentAtNode:o.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:p};"undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=l(e)),e?r.getNodeFromInstance(e):null}},Mount:o,Reconciler:a});e.exports=f},function(e,t,n){"use strict";function r(){E||(E=!0,g.EventEmitter.injectReactEventListener(y),g.EventPluginHub.injectEventPluginOrder(s),g.EventPluginUtils.injectComponentTree(f),g.EventPluginUtils.injectTreeTraversal(d),g.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:x,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:w,BeforeInputEventPlugin:o}),g.HostComponent.injectGenericComponentClass(p),g.HostComponent.injectTextComponentClass(m),g.DOMProperty.injectDOMPropertyConfig(i),g.DOMProperty.injectDOMPropertyConfig(c),g.DOMProperty.injectDOMPropertyConfig(_),g.EmptyComponent.injectEmptyComponentFactory(function(e){return new h(e)}),g.Updates.injectReconcileTransaction(b),g.Updates.injectBatchingStrategy(v),g.Component.injectEnvironment(l))}var i=n(157),o=n(158),a=n(162),s=n(164),u=n(165),c=n(166),l=n(167),p=n(173),f=n(7),h=n(196),d=n(197),m=n(198),v=n(106),y=n(199),g=n(108),b=n(109),_=n(206),w=n(207),x=n(208),E=!1;e.exports={inject:r}},function(e,t,n){"use strict";var r={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}};e.exports=r},function(e,t,n){"use strict";function r(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case"topCompositionStart":return O.compositionStart;case"topCompositionEnd":return O.compositionEnd;case"topCompositionUpdate":return O.compositionUpdate}}function o(e,t){return"topKeyDown"===e&&t.keyCode===g}function a(e,t){switch(e){case"topKeyUp":return-1!==y.indexOf(t.keyCode);case"topKeyDown":return t.keyCode!==g;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function s(e){var t=e.detail;return"object"===typeof t&&"data"in t?t.data:null}function u(e,t,n,r){var u,c;if(b?u=i(e):P?a(e,n)&&(u=O.compositionEnd):o(e,n)&&(u=O.compositionStart),!u)return null;x&&(P||u!==O.compositionStart?u===O.compositionEnd&&P&&(c=P.getData()):P=d.getPooled(r));var l=m.getPooled(u,t,n,r);if(c)l.data=c;else{var p=s(n);null!==p&&(l.data=p)}return f.accumulateTwoPhaseDispatches(l),l}function c(e,t){switch(e){case"topCompositionEnd":return s(t);case"topKeyPress":return t.which!==E?null:(T=!0,M);case"topTextInput":var n=t.data;return n===M&&T?null:n;default:return null}}function l(e,t){if(P){if("topCompositionEnd"===e||!b&&a(e,t)){var n=P.getData();return d.release(P),P=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!r(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return x?null:t.data;default:return null}}function p(e,t,n,r){var i;if(!(i=w?c(e,n):l(e,n)))return null;var o=v.getPooled(O.beforeInput,t,n,r);return o.data=i,f.accumulateTwoPhaseDispatches(o),o}var f=n(33),h=n(11),d=n(159),m=n(160),v=n(161),y=[9,13,27,32],g=229,b=h.canUseDOM&&"CompositionEvent"in window,_=null;h.canUseDOM&&"documentMode"in document&&(_=document.documentMode);var w=h.canUseDOM&&"TextEvent"in window&&!_&&!function(){var e=window.opera;return"object"===typeof e&&"function"===typeof e.version&&parseInt(e.version(),10)<=12}(),x=h.canUseDOM&&(!b||_&&_>8&&_<=11),E=32,M=String.fromCharCode(E),O={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},T=!1,P=null,S={eventTypes:O,extractEvents:function(e,t,n,r){return[u(e,t,n,r),p(e,t,n,r)]}};e.exports=S},function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var i=n(6),o=n(25),a=n(88);i(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,i=this.getText(),o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=i.slice(e,s),this._fallbackText}}),o.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(21),o={data:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(21),o={data:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n){var r=T.getPooled(A.change,e,t,n);return r.type="change",x.accumulateTwoPhaseDispatches(r),r}function i(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function o(e){var t=r(k,e,S(e));O.batchedUpdates(a,t)}function a(e){w.enqueueEvents(e),w.processEventQueue(!1)}function s(e,t){D=e,k=t,D.attachEvent("onchange",o)}function u(){D&&(D.detachEvent("onchange",o),D=null,k=null)}function c(e,t){var n=P.updateValueIfChanged(e),r=!0===t.simulated&&I._allowSimulatedPassThrough;if(n||r)return e}function l(e,t){if("topChange"===e)return t}function p(e,t,n){"topFocus"===e?(u(),s(t,n)):"topBlur"===e&&u()}function f(e,t){D=e,k=t,D.attachEvent("onpropertychange",d)}function h(){D&&(D.detachEvent("onpropertychange",d),D=null,k=null)}function d(e){"value"===e.propertyName&&c(k,e)&&o(e)}function m(e,t,n){"topFocus"===e?(h(),f(t,n)):"topBlur"===e&&h()}function v(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return c(k,n)}function y(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function g(e,t,n){if("topClick"===e)return c(t,n)}function b(e,t,n){if("topInput"===e||"topChange"===e)return c(t,n)}function _(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var r=""+t.value;t.getAttribute("value")!==r&&t.setAttribute("value",r)}}}var w=n(34),x=n(33),E=n(11),M=n(7),O=n(15),T=n(21),P=n(92),S=n(60),C=n(61),R=n(93),A={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},D=null,k=null,L=!1;E.canUseDOM&&(L=C("change")&&(!document.documentMode||document.documentMode>8));var j=!1;E.canUseDOM&&(j=C("input")&&(!document.documentMode||document.documentMode>9));var I={eventTypes:A,_allowSimulatedPassThrough:!0,_isInputEventSupported:j,extractEvents:function(e,t,n,o){var a,s,u=t?M.getNodeFromInstance(t):window;if(i(u)?L?a=l:s=p:R(u)?j?a=b:(a=v,s=m):y(u)&&(a=g),a){var c=a(e,t,n);if(c){return r(c,n,o)}}s&&s(e,u,t),"topBlur"===e&&_(t,u)}};e.exports=I},function(e,t,n){"use strict";function r(e){return!(!e||"function"!==typeof e.attachRef||"function"!==typeof e.detachRef)}var i=n(4),o=(n(2),{addComponentAsRefTo:function(e,t,n){r(n)||i("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)||i("120");var o=n.getPublicInstance();o&&o.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});e.exports=o},function(e,t,n){"use strict";var r=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];e.exports=r},function(e,t,n){"use strict";var r=n(33),i=n(7),o=n(41),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u;if(s.window===s)u=s;else{var c=s.ownerDocument;u=c?c.defaultView||c.parentWindow:window}var l,p;if("topMouseOut"===e){l=t;var f=n.relatedTarget||n.toElement;p=f?i.getClosestInstanceFromNode(f):null}else l=null,p=t;if(l===p)return null;var h=null==l?u:i.getNodeFromInstance(l),d=null==p?u:i.getNodeFromInstance(p),m=o.getPooled(a.mouseLeave,l,n,s);m.type="mouseleave",m.target=h,m.relatedTarget=d;var v=o.getPooled(a.mouseEnter,p,n,s);return v.type="mouseenter",v.target=d,v.relatedTarget=h,r.accumulateEnterLeaveDispatches(m,v,l,p),[m,v]}};e.exports=s},function(e,t,n){"use strict";var r=n(24),i=r.injection.MUST_USE_PROPERTY,o=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:o,allowTransparency:0,alt:0,as:0,async:o,autoComplete:0,autoPlay:o,capture:o,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:i|o,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:o,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:o,defer:o,dir:0,disabled:o,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:o,formTarget:0,frameBorder:0,headers:0,height:0,hidden:o,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:o,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:i|o,muted:i|o,name:0,nonce:0,noValidate:o,open:o,optimum:0,pattern:0,placeholder:0,playsInline:o,poster:0,preload:0,profile:0,radioGroup:0,readOnly:o,referrerPolicy:0,rel:0,required:o,reversed:o,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:o,scrolling:0,seamless:o,selected:i|o,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:o,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");"number"!==e.type||!1===e.hasAttribute("value")?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};e.exports=c},function(e,t,n){"use strict";var r=n(63),i=n(172),o={processChildrenUpdates:i.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=o},function(e,t,n){"use strict";var r=n(4),i=n(30),o=n(11),a=n(169),s=n(13),u=(n(2),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(o.canUseDOM||r("56"),t||r("57"),"HTML"===e.nodeName&&r("58"),"string"===typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else i.replaceChildWithTree(e,t)}});e.exports=u},function(e,t,n){"use strict";function r(e){var t=e.match(l);return t&&t[1].toLowerCase()}function i(e,t){var n=c;c||u(!1);var i=r(e),o=i&&s(i);if(o){n.innerHTML=o[1]+e+o[2];for(var l=o[0];l--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(t||u(!1),a(p).forEach(t));for(var f=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}var o=n(11),a=n(170),s=n(171),u=n(2),c=o.canUseDOM?document.createElement("div"):null,l=/^\s*<(\w+)/;e.exports=i},function(e,t,n){"use strict";function r(e){var t=e.length;if((Array.isArray(e)||"object"!==typeof e&&"function"!==typeof e)&&a(!1),"number"!==typeof t&&a(!1),0===t||t-1 in e||a(!1),"function"===typeof e.callee&&a(!1),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}function i(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function o(e){return i(e)?Array.isArray(e)?e.slice():r(e):[e]}var a=n(2);e.exports=o},function(e,t,n){"use strict";function r(e){return a||o(!1),f.hasOwnProperty(e)||(e="*"),s.hasOwnProperty(e)||(a.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",s[e]=!a.firstChild),s[e]?f[e]:null}var i=n(11),o=n(2),a=i.canUseDOM?document.createElement("div"):null,s={},u=[1,'<select multiple="true">',"</select>"],c=[1,"<table>","</table>"],l=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],f={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:u,option:u,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){f[e]=p,s[e]=!0}),e.exports=r},function(e,t,n){"use strict";var r=n(63),i=n(7),o={dangerouslyProcessChildrenUpdates:function(e,t){var n=i.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=o},function(e,t,n){"use strict";function r(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" This DOM node was rendered by `"+n+"`."}}return""}function i(e,t){t&&(K[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&v("137",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&v("60"),"object"===typeof t.dangerouslySetInnerHTML&&V in t.dangerouslySetInnerHTML||v("61")),null!=t.style&&"object"!==typeof t.style&&v("62",r(e)))}function o(e,t,n,r){if(!(r instanceof L)){var i=e._hostContainerInfo,o=i._node&&i._node.nodeType===W,s=o?i._node:i._ownerDocument;B(t,s),r.getReactMountReady().enqueue(a,{inst:e,registrationName:t,listener:n})}}function a(){var e=this;M.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;C.postMountWrapper(e)}function u(){var e=this;D.postMountWrapper(e)}function c(){var e=this;R.postMountWrapper(e)}function l(){I.track(this)}function p(){var e=this;e._rootNodeID||v("63");var t=F(e);switch(t||v("64"),e._tag){case"iframe":case"object":e._wrapperState.listeners=[T.trapBubbledEvent("topLoad","load",t)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var n in q)q.hasOwnProperty(n)&&e._wrapperState.listeners.push(T.trapBubbledEvent(n,q[n],t));break;case"source":e._wrapperState.listeners=[T.trapBubbledEvent("topError","error",t)];break;case"img":e._wrapperState.listeners=[T.trapBubbledEvent("topError","error",t),T.trapBubbledEvent("topLoad","load",t)];break;case"form":e._wrapperState.listeners=[T.trapBubbledEvent("topReset","reset",t),T.trapBubbledEvent("topSubmit","submit",t)];break;case"input":case"select":case"textarea":e._wrapperState.listeners=[T.trapBubbledEvent("topInvalid","invalid",t)]}}function f(){A.postUpdateWrapper(this)}function h(e){J.call(Q,e)||(Z.test(e)||v("65",e),Q[e]=!0)}function d(e,t){return e.indexOf("-")>=0||null!=t.is}function m(e){var t=e.type;h(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var v=n(4),y=n(6),g=n(174),b=n(175),_=n(30),w=n(64),x=n(24),E=n(98),M=n(34),O=n(39),T=n(44),P=n(85),S=n(7),C=n(185),R=n(187),A=n(99),D=n(188),k=(n(10),n(100)),L=n(194),j=(n(13),n(43)),I=(n(2),n(61),n(45),n(92)),N=(n(70),n(3),P),U=M.deleteListener,F=S.getNodeFromInstance,B=T.listenTo,z=O.registrationNameModules,H={string:!0,number:!0},V="__html",G={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},W=11,q={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},X={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},Y={listing:!0,pre:!0,textarea:!0},K=y({menuitem:!0},X),Z=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Q={},J={}.hasOwnProperty,$=1;m.displayName="ReactDOMComponent",m.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=$++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var o=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(p,this);break;case"input":C.mountWrapper(this,o,t),o=C.getHostProps(this,o),e.getReactMountReady().enqueue(l,this),e.getReactMountReady().enqueue(p,this);break;case"option":R.mountWrapper(this,o,t),o=R.getHostProps(this,o);break;case"select":A.mountWrapper(this,o,t),o=A.getHostProps(this,o),e.getReactMountReady().enqueue(p,this);break;case"textarea":D.mountWrapper(this,o,t),o=D.getHostProps(this,o),e.getReactMountReady().enqueue(l,this),e.getReactMountReady().enqueue(p,this)}i(this,o);var a,f;null!=t?(a=t._namespaceURI,f=t._tag):n._tag&&(a=n._namespaceURI,f=n._tag),(null==a||a===w.svg&&"foreignobject"===f)&&(a=w.html),a===w.html&&("svg"===this._tag?a=w.svg:"math"===this._tag&&(a=w.mathml)),this._namespaceURI=a;var h;if(e.useCreateElement){var d,m=n._ownerDocument;if(a===w.html)if("script"===this._tag){var v=m.createElement("div"),y=this._currentElement.type;v.innerHTML="<"+y+"></"+y+">",d=v.removeChild(v.firstChild)}else d=o.is?m.createElement(this._currentElement.type,o.is):m.createElement(this._currentElement.type);else d=m.createElementNS(a,this._currentElement.type);S.precacheNode(this,d),this._flags|=N.hasCachedChildNodes,this._hostParent||E.setAttributeForRoot(d),this._updateDOMProperties(null,o,e);var b=_(d);this._createInitialChildren(e,o,r,b),h=b}else{var x=this._createOpenTagMarkupAndPutListeners(e,o),M=this._createContentMarkup(e,o,r);h=!M&&X[this._tag]?x+"/>":x+">"+M+"</"+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),o.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),o.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"select":case"button":o.autoFocus&&e.getReactMountReady().enqueue(g.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(c,this)}return h},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(z.hasOwnProperty(r))i&&o(this,r,i,e);else{"style"===r&&(i&&(i=this._previousStyleCopy=y({},t.style)),i=b.createMarkupForStyles(i,this));var a=null;null!=this._tag&&d(this._tag,t)?G.hasOwnProperty(r)||(a=E.createMarkupForCustomAttribute(r,i)):a=E.createMarkupForProperty(r,i),a&&(n+=" "+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+E.createMarkupForRoot()),n+=" "+E.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",i=t.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&(r=i.__html);else{var o=H[typeof t.children]?t.children:null,a=null!=o?null:t.children;if(null!=o)r=j(o);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join("")}}return Y[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var i=t.dangerouslySetInnerHTML;if(null!=i)null!=i.__html&&_.queueHTML(r,i.__html);else{var o=H[typeof t.children]?t.children:null,a=null!=o?null:t.children;if(null!=o)""!==o&&_.queueText(r,o);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u<s.length;u++)_.queueChild(r,s[u])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var o=t.props,a=this._currentElement.props;switch(this._tag){case"input":o=C.getHostProps(this,o),a=C.getHostProps(this,a);break;case"option":o=R.getHostProps(this,o),a=R.getHostProps(this,a);break;case"select":o=A.getHostProps(this,o),a=A.getHostProps(this,a);break;case"textarea":o=D.getHostProps(this,o),a=D.getHostProps(this,a)}switch(i(this,a),this._updateDOMProperties(o,a,e),this._updateDOMChildren(o,a,e,r),this._tag){case"input":C.updateWrapper(this),I.updateValueIfChanged(this);break;case"textarea":D.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(f,this)}},_updateDOMProperties:function(e,t,n){var r,i,a;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if("style"===r){var s=this._previousStyleCopy;for(i in s)s.hasOwnProperty(i)&&(a=a||{},a[i]="");this._previousStyleCopy=null}else z.hasOwnProperty(r)?e[r]&&U(this,r):d(this._tag,e)?G.hasOwnProperty(r)||E.deleteValueForAttribute(F(this),r):(x.properties[r]||x.isCustomAttribute(r))&&E.deleteValueForProperty(F(this),r);for(r in t){var u=t[r],c="style"===r?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==c&&(null!=u||null!=c))if("style"===r)if(u?u=this._previousStyleCopy=y({},u):this._previousStyleCopy=null,c){for(i in c)!c.hasOwnProperty(i)||u&&u.hasOwnProperty(i)||(a=a||{},a[i]="");for(i in u)u.hasOwnProperty(i)&&c[i]!==u[i]&&(a=a||{},a[i]=u[i])}else a=u;else if(z.hasOwnProperty(r))u?o(this,r,u,n):c&&U(this,r);else if(d(this._tag,t))G.hasOwnProperty(r)||E.setValueForAttribute(F(this),r,u);else if(x.properties[r]||x.isCustomAttribute(r)){var l=F(this);null!=u?E.setValueForProperty(l,r,u):E.deleteValueForProperty(l,r)}}a&&b.setValueForStyles(F(this),a,this)},_updateDOMChildren:function(e,t,n,r){var i=H[typeof e.children]?e.children:null,o=H[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=i?null:e.children,c=null!=o?null:t.children,l=null!=i||null!=a,p=null!=o||null!=s;null!=u&&null==c?this.updateChildren(null,n,r):l&&!p&&this.updateTextContent(""),null!=o?i!==o&&this.updateTextContent(""+o):null!=s?a!==s&&this.updateMarkup(""+s):null!=c&&this.updateChildren(c,n,r)},getHostNode:function(){return F(this)},unmountComponent:function(e){switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case"input":case"textarea":I.stopTracking(this);break;case"html":case"head":case"body":v("66",this._tag)}this.unmountChildren(e),S.uncacheNode(this),M.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return F(this)}},y(m.prototype,m.Mixin,k.Mixin),e.exports=m},function(e,t,n){"use strict";var r=n(7),i=n(96),o={focusDOMComponent:function(){i(r.getNodeFromInstance(this))}};e.exports=o},function(e,t,n){"use strict";var r=n(97),i=n(11),o=(n(10),n(176),n(178)),a=n(179),s=n(181),u=(n(3),s(function(e){return a(e)})),c=!1,l="cssFloat";if(i.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){c=!0}void 0===document.documentElement.style.cssFloat&&(l="styleFloat")}var f={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var i=0===r.indexOf("--"),a=e[r];null!=a&&(n+=u(r)+":",n+=o(r,a,t,i)+";")}return n||null},setValueForStyles:function(e,t,n){var i=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=0===a.indexOf("--"),u=o(a,t[a],n,s);if("float"!==a&&"cssFloat"!==a||(a=l),s)i.setProperty(a,u);else if(u)i[a]=u;else{var p=c&&r.shorthandPropertyExpansions[a];if(p)for(var f in p)i[f]="";else i[a]=""}}}};e.exports=f},function(e,t,n){"use strict";function r(e){return i(e.replace(o,"ms-"))}var i=n(177),o=/^-ms-/;e.exports=r},function(e,t,n){"use strict";function r(e){return e.replace(i,function(e,t){return t.toUpperCase()})}var i=/-(.)/g;e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){if(null==t||"boolean"===typeof t||""===t)return"";var i=isNaN(t);if(r||i||0===t||o.hasOwnProperty(e)&&o[e])return""+t;if("string"===typeof t){t=t.trim()}return t+"px"}var i=n(97),o=(n(3),i.isUnitlessNumber);e.exports=r},function(e,t,n){"use strict";function r(e){return i(e).replace(o,"-ms-")}var i=n(180),o=/^ms-/;e.exports=r},function(e,t,n){"use strict";function r(e){return e.replace(i,"-$1").toLowerCase()}var i=/([A-Z])/g;e.exports=r},function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=r},function(e,t,n){"use strict";function r(e){return'"'+i(e)+'"'}var i=n(43);e.exports=r},function(e,t,n){"use strict";function r(e){i.enqueueEvents(e),i.processEventQueue(!1)}var i=n(34),o={handleTopLevel:function(e,t,n,o){r(i.extractEvents(e,t,n,o))}};e.exports=o},function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function i(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var o=n(11),a={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};o.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),"TransitionEvent"in window||delete a.transitionend.transition),e.exports=i},function(e,t,n){"use strict";function r(){this._rootNodeID&&f.updateWrapper(this)}function i(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}function o(e){var t=this._currentElement.props,n=c.executeOnChange(t,e);p.asap(r,this);var i=t.name;if("radio"===t.type&&null!=i){for(var o=l.getNodeFromInstance(this),s=o;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll("input[name="+JSON.stringify(""+i)+'][type="radio"]'),f=0;f<u.length;f++){var h=u[f];if(h!==o&&h.form===o.form){var d=l.getInstanceFromNode(h);d||a("90"),p.asap(r,d)}}}return n}var a=n(4),s=n(6),u=n(98),c=n(66),l=n(7),p=n(15),f=(n(2),n(3),{getHostProps:function(e,t){var n=c.getValue(t),r=c.getChecked(t);return s({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:o.bind(e),controlled:i(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&u.setValueForProperty(l.getNodeFromInstance(e),"checked",n||!1);var r=l.getNodeFromInstance(e),i=c.getValue(t);if(null!=i)if(0===i&&""===r.value)r.value="0";else if("number"===t.type){var o=parseFloat(r.value,10)||0;(i!=o||i==o&&r.value!=i)&&(r.value=""+i)}else r.value!==""+i&&(r.value=""+i);else null==t.value&&null!=t.defaultValue&&r.defaultValue!==""+t.defaultValue&&(r.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=l.getNodeFromInstance(e);switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":n.value="",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;""!==r&&(n.name=""),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,""!==r&&(n.name=r)}});e.exports=f},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";function r(e){var t="";return o.Children.forEach(e,function(e){null!=e&&("string"===typeof e||"number"===typeof e?t+=e:u||(u=!0))}),t}var i=n(6),o=n(28),a=n(7),s=n(99),u=(n(3),!1),c={mountWrapper:function(e,t,n){var i=null;if(null!=n){var o=n;"optgroup"===o._tag&&(o=o._hostParent),null!=o&&"select"===o._tag&&(i=s.getSelectValueContext(o))}var a=null;if(null!=i){var u;if(u=null!=t.value?t.value+"":r(t.children),a=!1,Array.isArray(i)){for(var c=0;c<i.length;c++)if(""+i[c]===u){a=!0;break}}else a=""+i===u}e._wrapperState={selected:a}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){a.getNodeFromInstance(e).setAttribute("value",t.value)}},getHostProps:function(e,t){var n=i({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var o=r(t.children);return o&&(n.children=o),n}};e.exports=c},function(e,t,n){"use strict";function r(){this._rootNodeID&&l.updateWrapper(this)}function i(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return c.asap(r,this),n}var o=n(4),a=n(6),s=n(66),u=n(7),c=n(15),l=(n(2),n(3),{getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&o("91"),a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a&&o("92"),Array.isArray(u)&&(u.length<=1||o("93"),u=u[0]),a=""+u),null==a&&(a=""),r=a}e._wrapperState={initialValue:""+r,listeners:null,onChange:i.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var i=""+r;i!==n.value&&(n.value=i),null==t.defaultValue&&(n.defaultValue=i)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});e.exports=l},function(e,t,n){"use strict";(function(t){function r(e,t,n,r){var i=void 0===e[n];null!=t&&i&&(e[n]=o(t,!0))}var i=n(23),o=n(101),a=(n(68),n(46)),s=n(69);n(3);"undefined"!==typeof t&&Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"});var u={instantiateChildren:function(e,t,n,i){if(null==e)return null;var o={};return s(e,r,o),o},updateChildren:function(e,t,n,r,s,u,c,l,p){if(t||e){var f,h;for(f in t)if(t.hasOwnProperty(f)){h=e&&e[f];var d=h&&h._currentElement,m=t[f];if(null!=h&&a(d,m))i.receiveComponent(h,m,s,l),t[f]=h;else{h&&(r[f]=i.getHostNode(h),i.unmountComponent(h,!1));var v=o(m,!0);t[f]=v;var y=i.mountComponent(v,s,u,c,l,p);n.push(y)}}for(f in e)!e.hasOwnProperty(f)||t&&t.hasOwnProperty(f)||(h=e[f],r[f]=i.getHostNode(h),i.unmountComponent(h,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];i.unmountComponent(r,t)}}};e.exports=u}).call(t,n(36))},function(e,t,n){"use strict";function r(){return i++}var i=1;e.exports=r},function(e,t,n){"use strict";var r="function"===typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";function r(e){var t=e&&(i&&e[i]||e[o]);if("function"===typeof t)return t}var i="function"===typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=r},function(e,t,n){"use strict";(function(t){function r(e,t,n,r){if(e&&"object"===typeof e){var i=e,o=void 0===i[n];o&&null!=t&&(i[n]=t)}}function i(e,t){if(null==e)return e;var n={};return o(e,r,n),n}var o=(n(68),n(69));n(3);"undefined"!==typeof t&&Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}),e.exports=i}).call(t,n(36))},function(e,t,n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new s(this)}var i=n(6),o=n(25),a=n(40),s=(n(10),n(195)),u=[],c={enqueue:function(){}},l={getTransactionWrappers:function(){return u},getReactMountReady:function(){return c},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};i(r.prototype,a,l),o.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(47),o=(n(3),function(){function e(t){r(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&i.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()&&i.enqueueForceUpdate(e)},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()&&i.enqueueReplaceState(e,t)},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()&&i.enqueueSetState(e,t)},e}());e.exports=o},function(e,t,n){"use strict";var r=n(6),i=n(30),o=n(7),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument,c=u.createComment(s);return o.precacheNode(this,c),i(c)}return e.renderToStaticMarkup?"":"\x3c!--"+s+"--\x3e"},receiveComponent:function(){},getHostNode:function(){return o.getNodeFromInstance(this)},unmountComponent:function(){o.uncacheNode(this)}}),e.exports=a},function(e,t,n){"use strict";function r(e,t){"_hostNode"in e||u("33"),"_hostNode"in t||u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var i=0,o=t;o;o=o._hostParent)i++;for(;n-i>0;)e=e._hostParent,n--;for(;i-n>0;)t=t._hostParent,i--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function i(e,t){"_hostNode"in e||u("35"),"_hostNode"in t||u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function o(e){return"_hostNode"in e||u("36"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var i;for(i=r.length;i-- >0;)t(r[i],"captured",n);for(i=0;i<r.length;i++)t(r[i],"bubbled",n)}function s(e,t,n,i,o){for(var a=e&&t?r(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u=[];t&&t!==a;)u.push(t),t=t._hostParent;var c;for(c=0;c<s.length;c++)n(s[c],"bubbled",i);for(c=u.length;c-- >0;)n(u[c],"captured",o)}var u=n(4);n(2);e.exports={isAncestor:i,getLowestCommonAncestor:r,getParentInstance:o,traverseTwoPhase:a,traverseEnterLeave:s}},function(e,t,n){"use strict";var r=n(4),i=n(6),o=n(63),a=n(30),s=n(7),u=n(43),c=(n(2),n(70),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});i(c.prototype,{mountComponent:function(e,t,n,r){var i=n._idCounter++,o=" react-text: "+i+" ";if(this._domID=i,this._hostParent=t,e.useCreateElement){var c=n._ownerDocument,l=c.createComment(o),p=c.createComment(" /react-text "),f=a(c.createDocumentFragment());return a.queueChild(f,a(l)),this._stringText&&a.queueChild(f,a(c.createTextNode(this._stringText))),a.queueChild(f,a(p)),s.precacheNode(this,l),this._closingComment=p,f}var h=u(this._stringText);return e.renderToStaticMarkup?h:"\x3c!--"+o+"--\x3e"+h+"\x3c!-- /react-text --\x3e"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();o.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n&&r("67",this._domID),8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=c},function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function i(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function o(e){var t=h(e.nativeEvent),n=p.getClosestInstanceFromNode(t),i=n;do{e.ancestors.push(i),i=i&&r(i)}while(i);for(var o=0;o<e.ancestors.length;o++)n=e.ancestors[o],m._handleTopLevel(e.topLevelType,n,e.nativeEvent,h(e.nativeEvent))}function a(e){e(d(window))}var s=n(6),u=n(107),c=n(11),l=n(25),p=n(7),f=n(15),h=n(60),d=n(200);s(i.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),l.addPoolingTo(i,l.twoArgumentPooler);var m={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:c.canUseDOM?window:null,setHandleTopLevel:function(e){m._handleTopLevel=e},setEnabled:function(e){m._enabled=!!e},isEnabled:function(){return m._enabled},trapBubbledEvent:function(e,t,n){return n?u.listen(n,t,m.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?u.capture(n,t,m.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(m._enabled){var n=i.getPooled(e,t);try{f.batchedUpdates(o,n)}finally{i.release(n)}}}};e.exports=m},function(e,t,n){"use strict";function r(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return e===n&&t===r}function i(e){var t=document.selection,n=t.createRange(),r=n.text.length,i=n.duplicate();i.moveToElementText(e),i.setEndPoint("EndToStart",n);var o=i.text.length;return{start:o,end:o+r}}function o(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,i=t.anchorOffset,o=t.focusNode,a=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),c=u?0:s.toString().length,l=s.cloneRange();l.selectNodeContents(e),l.setEnd(s.startContainer,s.startOffset);var p=r(l.startContainer,l.startOffset,l.endContainer,l.endOffset),f=p?0:l.toString().length,h=f+c,d=document.createRange();d.setStart(n,i),d.setEnd(o,a);var m=d.collapsed;return{start:m?h:f,end:m?f:h}}function a(e,t){var n,r,i=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),i.moveToElementText(e),i.moveStart("character",n),i.setEndPoint("EndToStart",i),i.moveEnd("character",r-n),i.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[l()].length,i=Math.min(t.start,r),o=void 0===t.end?i:Math.min(t.end,r);if(!n.extend&&i>o){var a=o;o=i,i=a}var s=c(e,i),u=c(e,o);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),i>o?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=n(11),c=n(202),l=n(88),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),f={getOffsets:p?i:o,setOffsets:p?a:s};e.exports=f},function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function i(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function o(e,t){for(var n=r(e),o=0,a=0;n;){if(3===n.nodeType){if(a=o+n.textContent.length,o<=t&&a>=t)return{node:n,offset:t-o};o=a}n=r(i(n))}}e.exports=o},function(e,t,n){"use strict";function r(e,t){return!(!e||!t)&&(e===t||!i(e)&&(i(t)?r(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var i=n(204);e.exports=r},function(e,t,n){"use strict";function r(e){return i(e)&&3==e.nodeType}var i=n(205);e.exports=r},function(e,t,n){"use strict";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"===typeof n.Node?e instanceof n.Node:"object"===typeof e&&"number"===typeof e.nodeType&&"string"===typeof e.nodeName))}e.exports=r},function(e,t,n){"use strict";var r={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},i={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:r.xlink,xlinkArcrole:r.xlink,xlinkHref:r.xlink,xlinkRole:r.xlink,xlinkShow:r.xlink,xlinkTitle:r.xlink,xlinkType:r.xlink,xmlBase:r.xml,xmlLang:r.xml,xmlSpace:r.xml},DOMAttributeNames:{}};Object.keys(i).forEach(function(e){o.Properties[e]=0,i[e]&&(o.DOMAttributeNames[e]=i[e])}),e.exports=o},function(e,t,n){"use strict";function r(e){if("selectionStart"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function i(e,t){if(g||null==m||m!==l())return null;var n=r(m);if(!y||!f(y,n)){y=n;var i=c.getPooled(d.select,v,e,t);return i.type="select",i.target=m,o.accumulateTwoPhaseDispatches(i),i}return null}var o=n(33),a=n(11),s=n(7),u=n(110),c=n(21),l=n(111),p=n(93),f=n(45),h=a.canUseDOM&&"documentMode"in document&&document.documentMode<=11,d={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},m=null,v=null,y=null,g=!1,b=!1,_={eventTypes:d,extractEvents:function(e,t,n,r){if(!b)return null;var o=t?s.getNodeFromInstance(t):window;switch(e){case"topFocus":(p(o)||"true"===o.contentEditable)&&(m=o,v=t,y=null);break;case"topBlur":m=null,v=null,y=null;break;case"topMouseDown":g=!0;break;case"topContextMenu":case"topMouseUp":return g=!1,i(n,r);case"topSelectionChange":if(h)break;case"topKeyDown":case"topKeyUp":return i(n,r)}return null},didPutListener:function(e,t,n){"onSelect"===t&&(b=!0)}};e.exports=_},function(e,t,n){"use strict";function r(e){return"."+e._rootNodeID}function i(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var o=n(4),a=n(107),s=n(33),u=n(7),c=n(209),l=n(210),p=n(21),f=n(211),h=n(212),d=n(41),m=n(214),v=n(215),y=n(216),g=n(35),b=n(217),_=n(13),w=n(71),x=(n(2),{}),E={};["abort","animationEnd","animationIteration","animationStart","blur","canPlay","canPlayThrough","click","contextMenu","copy","cut","doubleClick","drag","dragEnd","dragEnter","dragExit","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","ended","error","focus","input","invalid","keyDown","keyPress","keyUp","load","loadedData","loadedMetadata","loadStart","mouseDown","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","progress","rateChange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeUpdate","touchCancel","touchEnd","touchMove","touchStart","transitionEnd","volumeChange","waiting","wheel"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n="on"+t,r="top"+t,i={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[r]};x[e]=i,E[r]=i});var M={},O={eventTypes:x,extractEvents:function(e,t,n,r){var i=E[e];if(!i)return null;var a;switch(e){case"topAbort":case"topCanPlay":case"topCanPlayThrough":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topVolumeChange":case"topWaiting":a=p;break;case"topKeyPress":if(0===w(n))return null;case"topKeyDown":case"topKeyUp":a=h;break;case"topBlur":case"topFocus":a=f;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":a=d;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":a=m;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":a=v;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":a=c;break;case"topTransitionEnd":a=y;break;case"topScroll":a=g;break;case"topWheel":a=b;break;case"topCopy":case"topCut":case"topPaste":a=l}a||o("86",e);var u=a.getPooled(i,t,n,r);return s.accumulateTwoPhaseDispatches(u),u},didPutListener:function(e,t,n){if("onClick"===t&&!i(e._tag)){var o=r(e),s=u.getNodeFromInstance(e);M[o]||(M[o]=a.listen(s,"click",_))}},willDeleteListener:function(e,t){if("onClick"===t&&!i(e._tag)){var n=r(e);M[n].remove(),delete M[n]}}};e.exports=O},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(21),o={animationName:null,elapsedTime:null,pseudoElement:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(21),o={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(35),o={relatedTarget:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(35),o=n(71),a=n(213),s=n(62),u={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return"keypress"===e.type?o(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?o(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};i.augmentClass(r,u),e.exports=r},function(e,t,n){"use strict";function r(e){if(e.key){var t=o[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=i(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":""}var i=n(71),o={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(41),o={dataTransfer:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(35),o=n(62),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:o};i.augmentClass(r,a),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(21),o={propertyName:null,elapsedTime:null,pseudoElement:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){return i.call(this,e,t,n,r)}var i=n(41),o={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};i.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t){var n={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===i?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null};return n}var i=(n(70),9);e.exports=r},function(e,t,n){"use strict";var r={useCreateElement:!0,useFiber:!1};e.exports=r},function(e,t,n){"use strict";var r=n(221),i=/\/?>/,o=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return o.test(e)?e:e.replace(i," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};e.exports=a},function(e,t,n){"use strict";function r(e){for(var t=1,n=0,r=0,o=e.length,a=-4&o;r<a;){for(var s=Math.min(r+4096,a);r<s;r+=4)n+=(t+=e.charCodeAt(r))+(t+=e.charCodeAt(r+1))+(t+=e.charCodeAt(r+2))+(t+=e.charCodeAt(r+3));t%=i,n%=i}for(;r<o;r++)n+=t+=e.charCodeAt(r);return t%=i,n%=i,t|n<<16}var i=65521;e.exports=r},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);if(t)return t=s(t),t?o.getNodeFromInstance(t):null;"function"===typeof e.render?i("44"):i("45",Object.keys(e))}var i=n(4),o=(n(14),n(7)),a=n(26),s=n(72);n(2),n(3);e.exports=r},function(e,t,n){"use strict";var r=n(112);e.exports=r.renderSubtreeIntoContainer},function(e,t){},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=n(17),u=n.n(s),c=n(227),l=n(233),p=n(234),f=n(336),h=n(338),d=n.n(h),m=n(116),v=n(340),y=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();m.b.add(v.a);var g=function(e,t){return+(Math.random()*(t-e)+e).toFixed(3)},b=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));_.call(n);var r=void 0,a=void 0,s=void 0,u=void 0,c=void 0,l=void 0,p=void 0,f=[0,1,2].map(function(e){return{number:e,params:{m:"",x:"",y:"",z:"",vx:"",vy:"",vz:""}}}),h=window.location.pathname.split("/").slice(3).map(function(e){return+e});return window.history.pushState(null,"",window.location.origin+"/Daily_Web_Tasks/threebody"),28===h.length?(r=h[0],a=h[1],s=h[2],u=Boolean(h[3]),c=Boolean(h[4]),l=Boolean(h[5]),p=h[6],f.forEach(function(e,t){Object.keys(e.params).forEach(function(n,r){return e.params[n]=h[7*t+r+7]})})):(r=10,a=1,s=5,u=!0,c=!0,l=!0,p=50,f.forEach(function(e){Object.keys(e.params).forEach(function(t){return e.params[t]="m"===t?g(0,1):g(-1,1)})})),n.state={bodies:f,speed:r,g:a,zoom:s,showTrail1:u,showTrail2:c,showTrail3:l,years:p,showControls:!0},n}return a(t,e),y(t,[{key:"render",value:function(){var e=this;return u.a.createElement("div",{className:"App"},u.a.createElement(f.a,null),u.a.createElement("div",{className:"controls-container"},u.a.createElement(c.a,Object.assign({},this.state,{share:this.copyShareLink,setsolution1:this.setSolution1,setsolution2:this.setSolution2,setsolution3:this.setSolution3,setsolution4:this.setSolution4,setsolution5:this.setSolution5,setsolution6:this.setSolution6,setsolution7:this.setSolution7,onChange:this.handleParamChange})),this.state.showControls&&this.state.bodies.map(function(t){return u.a.createElement(l.a,Object.assign({key:"body"+t.number},t,{onChange:e.handleBodyChange}))})),u.a.createElement(p.a,this.state))}}]),t}(s.Component),_=function(){var e=this;this.handleBodyChange=function(t){var n=t.number,r=t.param,i=e.state.bodies;i[n].params[r.name]=r.value,e.setState({bodies:i})},this.handleParamChange=function(t){var n=t.name,i=t.value;e.setState(r({},n,i))},this.setSolution1=function(){var t=e.state.bodies;t[0].params.m=.01,t[0].params.x=-1.5,t[0].params.y=-.5,t[0].params.z=0,t[0].params.vx=0,t[0].params.vy=10,t[0].params.vz=0,t[1].params.m=100,t[1].params.x=-.5,t[1].params.y=-.4,t[1].params.z=0,t[1].params.vx=0,t[1].params.vy=0,t[1].params.vz=0,t[2].params.m=0,t[2].params.x=100,t[2].params.y=0,t[2].params.z=0,t[2].params.vx=0,t[2].params.vy=0,t[2].params.vz=0,e.setState({bodies:t}),e.setState({speed:15}),e.setState({g:1})},this.setSolution2=function(){var t=e.state.bodies;t[0].params.m=1,t[0].params.x=-2,t[0].params.y=-.5,t[0].params.z=0,t[0].params.vx=0,t[0].params.vy=10,t[0].params.vz=0,t[1].params.m=1e3,t[1].params.x=0,t[1].params.y=-.5,t[1].params.z=0,t[1].params.vx=0,t[1].params.vy=0,t[1].params.vz=0,t[2].params.m=.001,t[2].params.x=-1.99,t[2].params.y=-.5,t[2].params.z=0,t[2].params.vx=0,t[2].params.vy=0,t[2].params.vz=12,e.setState({bodies:t}),e.setState({speed:15}),e.setState({g:.2})},this.setSolution3=function(){var t=e.state.bodies;t[0].params.m=.01,t[0].params.x=-1,t[0].params.y=-.5,t[0].params.z=0,t[0].params.vx=0,t[0].params.vy=10,t[0].params.vz=0,t[1].params.m=100,t[1].params.x=0,t[1].params.y=-.5,t[1].params.z=0,t[1].params.vx=0,t[1].params.vy=0,t[1].params.vz=0,t[2].params.m=.01,t[2].params.x=1,t[2].params.y=-.5,t[2].params.z=0,t[2].params.vx=0,t[2].params.vy=-10,t[2].params.vz=0,e.setState({g:.65}),e.setState({years:17}),e.setState({speed:15}),e.setState({bodies:t})},this.setSolution4=function(){var t=e.state.bodies;t[0].params.m=1,t[0].params.x=-.97,t[0].params.y=.243,t[0].params.z=0,t[0].params.vx=-.466,t[0].params.vy=-.433,t[0].params.vz=0,t[1].params.m=1,t[1].params.x=.97,t[1].params.y=-.243,t[1].params.z=0,t[1].params.vx=-.466,t[1].params.vy=-.433,t[1].params.vz=0,t[2].params.m=1,t[2].params.x=0,t[2].params.y=0,t[2].params.z=0,t[2].params.vx=.9324,t[2].params.vy=.8646,t[2].params.vz=0,e.setState({g:1}),e.setState({speed:20}),e.setState({bodies:t})},this.setSolution5=function(){var t=e.state.bodies;t[0].params.m=g(.5,1),t[0].params.x=g(-2,2),t[0].params.y=g(-1,1),t[0].params.z=g(-.5,.5),t[0].params.vx=g(-.5,.5),t[0].params.vy=g(-.5,.5),t[0].params.vz=g(-.5,.5),t[1].params.m=g(.5,1),t[1].params.x=g(-2,2),t[1].params.y=g(-1,1),t[1].params.z=g(-.5,.5),t[1].params.vx=g(-.5,.5),t[1].params.vy=g(-.5,.5),t[1].params.vz=g(-.5,.5),t[2].params.m=g(.5,1),t[2].params.x=g(-2,2),t[2].params.y=g(-1,1),t[2].params.z=g(-.5,.5),t[2].params.vx=g(-.5,.5),t[2].params.vy=g(-.5,.5),t[2].params.vz=g(-.5,.5),e.setState({g:g(.5,1.5)}),e.setState({speed:25}),e.setState({bodies:t})},this.setSolution6=function(){var t=e.state.bodies;t[0].params.m=1,t[0].params.x=-2,t[0].params.y=-.5,t[0].params.z=0,t[0].params.vx=0,t[0].params.vy=10,t[0].params.vz=0,t[1].params.m=1e3,t[1].params.x=0,t[1].params.y=-.5,t[1].params.z=0,t[1].params.vx=0,t[1].params.vy=0,t[1].params.vz=0,t[2].params.m=.001,t[2].params.x=-1,t[2].params.y=1.232,t[2].params.z=0,t[2].params.vx=8.66,t[2].params.vy=5,t[2].params.vz=0,e.setState({speed:10}),e.setState({g:.2}),e.setState({bodies:t})},this.setSolution7=function(){var t=e.state.bodies;t[0].params.m=10,t[0].params.x=-1,t[0].params.y=0,t[0].params.z=0,t[0].params.vx=1,t[0].params.vy=-Math.sqrt(3),t[0].params.vz=0,t[1].params.m=10,t[1].params.x=0,t[1].params.y=Math.sqrt(3),t[1].params.z=0,t[1].params.vx=-2,t[1].params.vy=0,t[1].params.vz=0,t[2].params.m=10,t[2].params.x=1,t[2].params.y=0,t[2].params.z=0,t[2].params.vx=1,t[2].params.vy=Math.sqrt(3),t[2].params.vz=0,e.setState({speed:20}),e.setState({g:.8}),e.setState({bodies:t})},this.copyShareLink=function(){var t=e.state,n=t.bodies,r=t.speed,i=t.g,o=t.zoom,a=t.showTrail1,s=t.showTrail2,u=t.showTrail3,c=t.years,l=n.map(function(e){return Object.values(e.params)}),p="/"+r+"/"+i+"/"+o+"/"+ +a+"/"+ +s+"/"+ +u+"/"+c+l.reduce(function(e,t){return t.forEach(function(t){return e+="/"+t}),e},"");d()(window.location.origin+"/Daily_Web_Tasks/threebody"+p);var f=document.getElementById("msg-show"),h="Cosmo #";h=h+parseInt(100*(n[0].params.m+n[1].params.m+n[2].params.m),10)+" <a class='lost'>copied</a> and exploded",f.innerHTML=h,setTimeout(function(){return f.innerHTML="GLOBAL SETTINGS"},2e3)}};t.a=b},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(17),s=n.n(a),u=n(113),c=n(231),l=n(115),p=(n.n(l),n(232)),f=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),h=function(e){function t(){var e,n,o,a;r(this,t);for(var l=arguments.length,f=Array(l),h=0;h<l;h++)f[h]=arguments[h];return n=o=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(f))),o.handleParamChange=function(e){o.props.onChange(e)},o.toggleControls=function(){var e=!o.props.showControls;o.handleParamChange({name:"showControls",value:e})},o.renderControls=function(){return o.props.showControls?s.a.createElement("div",null,s.a.createElement("div",{className:"title",id:"msg-show"},"Global Settings"),s.a.createElement(u.a,{onChange:o.handleParamChange,property:"g",value:o.props.g,min:0,max:4}),s.a.createElement(u.a,{onChange:o.handleParamChange,property:"speed",value:o.props.speed,min:0,max:100,step:1}),s.a.createElement(u.a,{onChange:o.handleParamChange,property:"zoom",value:o.props.zoom,min:1,max:100}),s.a.createElement(u.a,{onChange:o.handleParamChange,property:"years",value:o.props.years,min:10,max:100,step:1}),s.a.createElement("div",{className:"trailscontrol"},s.a.createElement(c.a,{onChange:o.handleParamChange,property:"showTrail1",label:"Trail1",value:o.props.showTrail1,min:1,max:100}),s.a.createElement(c.a,{onChange:o.handleParamChange,property:"showTrail2",label:"Trail2",value:o.props.showTrail2,min:1,max:100}),s.a.createElement(c.a,{onChange:o.handleParamChange,property:"showTrail3",label:"Trail3",value:o.props.showTrail3,min:1,max:100}),s.a.createElement("i",{className:"rocket",onClick:o.props.share},s.a.createElement(p.a,{icon:"rocket"})),s.a.createElement("div",{id:"modal"})),s.a.createElement("div",null,s.a.createElement("button",{className:"solution",onClick:o.props.setsolution1},"Two Body"),s.a.createElement("button",{className:"solution",onClick:o.props.setsolution2},"1P/Halley"),s.a.createElement("button",{className:"solution",onClick:o.props.setsolution3},"Duel Chanel"),s.a.createElement("button",{className:"solution",onClick:o.props.setsolution6},"Soleil-Sol-L4"),s.a.createElement("button",{className:"solution",onClick:o.props.setsolution4},"???"),s.a.createElement("button",{className:"solution",onClick:o.props.setsolution7},"!!!"),s.a.createElement("button",{className:"solution",onClick:o.props.setsolution5},"Randomized!"))):s.a.createElement("div",null)},a=n,i(o,a)}return o(t,e),f(t,[{key:"render",value:function(){return s.a.createElement("div",{className:"controls"+(this.props.showControls?"":" hidden")},s.a.createElement("button",{className:"toggle",id:"toggle",onClick:this.toggleControls},this.props.showControls?"\u2013":"+"),this.renderControls())}}]),t}(a.Component);t.a=h},function(e,t,n){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function s(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e,t){if(e.classList)return e.classList.add(t);e.className.search(new RegExp("\\b"+t+"\\b"))||(e.className=" "+t)}function c(e,t){if(e.className){if(e.classList)return e.classList.remove(t);e.className=e.className.replace(new RegExp("\\b"+t+"\\b","g"),"")}}function l(e,t,n){var r=e[t];if("function"==typeof r){for(var i=arguments.length,o=Array(i>3?i-3:0),a=3;a<i;a++)o[a-3]=arguments[a];r=r.apply(void 0,o)}return void 0===r?n:r}var p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),h=n(1),d=r(h),m=n(2),v=r(m),y="undefined"!=typeof document,g=/^[+-]?((\.\d+)|(\d+(\.\d+)?))$/,b=/^([+-]|\.0*|[+-]\.0*|[+-]?\d+\.)?$/,_=function(e){function t(){var e;o(this,t);for(var n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var s=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(r)));return s._isStrict=!!s.props.strict,s.state=p({btnDownHover:!1,btnDownActive:!1,btnUpHover:!1,btnUpActive:!1,inputFocus:!1,stringValue:""},s._propsToState(s.props)),s.stop=s.stop.bind(s),s.onTouchEnd=s.onTouchEnd.bind(s),s}return s(t,e),f(t,[{key:"_propsToState",value:function(e){var t={};return e.hasOwnProperty("value")?(t.stringValue=String(e.value||0===e.value?e.value:"").trim(),t.value=""!==t.stringValue?this._parse(e.value):null):!this._isMounted&&e.hasOwnProperty("defaultValue")&&(t.stringValue=String(e.defaultValue||0===e.defaultValue?e.defaultValue:"").trim(),t.value=""!==e.defaultValue?this._parse(e.defaultValue):null),t}},{key:"componentWillReceiveProps",value:function(e){var t=this;this._isStrict=!!e.strict;var n=this._propsToState(e);Object.keys(n).length&&(this._ignoreValueChange=!0,this.setState(n,function(){t._ignoreValueChange=!1}))}},{key:"componentWillUpdate",value:function(){this.saveSelection()}},{key:"componentDidUpdate",value:function(e,t){this._ignoreValueChange||t.value===this.state.value||isNaN(this.state.value)&&null!==this.state.value||this._invokeEventCallback("onChange",this.state.value,this.refs.input.value,this.refs.input),this.state.inputFocus&&(this.refs.input.focus(),(this.state.selectionStart||0===this.state.selectionStart)&&(this.refs.input.selectionStart=this.state.selectionStart),(this.state.selectionEnd||0===this.state.selectionEnd)&&(this.refs.input.selectionEnd=this.state.selectionEnd)),this.checkValidity()}},{key:"componentWillUnmount",value:function(){this._isMounted=!1,this.stop()}},{key:"componentDidMount",value:function(){var e=this;this._isMounted=!0,this.refs.input.getValueAsNumber=function(){return e.state.value||0},this.refs.input.setValue=function(t){e.setState({value:e._parse(t),stringValue:t})},!this.state.inputFocus&&y&&document.activeElement===this.refs.input&&(this.state.inputFocus=!0,this.refs.input.focus(),this._invokeEventCallback("onFocus",{target:this.refs.input,type:"focus"})),this.checkValidity()}},{key:"saveSelection",value:function(){this.state.selectionStart=this.refs.input.selectionStart,this.state.selectionEnd=this.refs.input.selectionEnd}},{key:"checkValidity",value:function(){var e=void 0,t="",n=!!this.refs.input.checkValidity,r=!(!this.props.noValidate||"false"==this.props.noValidate);this.refs.input.noValidate=r,e=r||!n,e?t="":(""===this.refs.input.pattern&&(this.refs.input.pattern=this.props.required?".+":".*"),n&&(this.refs.input.checkValidity(),(e=this.refs.input.validity.valid)||(t=this.refs.input.validationMessage)),e&&n&&this.props.maxLength&&this.refs.input.value.length>this.props.maxLength&&(t="This value is too long")),t=t||(e?"":this.refs.input.validationMessage||"Unknown Error");var i=this._valid!==t;this._valid=t,t?(u(this.refs.wrapper,"has-error"),i&&this._invokeEventCallback("onInvalid",t,this.state.value,this.refs.input.value)):(c(this.refs.wrapper,"has-error"),i&&this._invokeEventCallback("onValid",this.state.value,this.refs.input.value))}},{key:"_toNumber",value:function(e){var n=parseFloat(e);if(!isNaN(n)&&isFinite(n)||(n=0),this._isStrict){var r=l(this.props,"precision",null,this),i=Math.pow(10,null===r?10:r),o=+l(this.props,"min",t.defaultProps.min,this),a=+l(this.props,"max",t.defaultProps.max,this);n=Math.min(Math.max(n,o),a),n=Math.round(n*i)/i}return n}},{key:"_parse",value:function(e){return e=String(e),"function"==typeof this.props.parse?parseFloat(this.props.parse(e)):parseFloat(e)}},{key:"_format",value:function(e){var t=this._toNumber(e),n=l(this.props,"precision",null,this);return null!==n&&(t=e.toFixed(n)),t+="",this.props.format?this.props.format(t):t}},{key:"_step",value:function(e,n){var r=this._isStrict;this._isStrict=!0;var i=+l(this.props,"step",t.defaultProps.step,this,e>0?t.DIRECTION_UP:t.DIRECTION_DOWN),o=this._toNumber((this.state.value||0)+i*e);return this.props.snap&&(o=Math.round(o/i)*i),this._isStrict=r,o!==this.state.value&&(this.setState({value:o,stringValue:o+""},n),!0)}},{key:"_onKeyDown",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];t[0].persist(),this._invokeEventCallback.apply(this,["onKeyDown"].concat(t));var r=t[0];if(!r.isDefaultPrevented())if(38===r.keyCode)r.preventDefault(),this._step(r.ctrlKey||r.metaKey?.1:r.shiftKey?10:1);else if(40===r.keyCode)r.preventDefault(),this._step(r.ctrlKey||r.metaKey?-.1:r.shiftKey?-10:-1);else{var i=this.refs.input.value,o=i.length;8===r.keyCode?this.refs.input.selectionStart==this.refs.input.selectionEnd&&this.refs.input.selectionEnd>0&&i.length&&"."===i.charAt(this.refs.input.selectionEnd-1)&&(r.preventDefault(),this.refs.input.selectionStart=this.refs.input.selectionEnd=this.refs.input.selectionEnd-1):46===r.keyCode&&this.refs.input.selectionStart==this.refs.input.selectionEnd&&this.refs.input.selectionEnd<o+1&&i.length&&"."===i.charAt(this.refs.input.selectionEnd)&&(r.preventDefault(),this.refs.input.selectionStart=this.refs.input.selectionEnd=this.refs.input.selectionEnd+1)}}},{key:"stop",value:function(){this._timer&&clearTimeout(this._timer)}},{key:"increase",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments[1];this.stop(),this._step(1,r);var i=+l(this.props,"max",t.defaultProps.max,this);(isNaN(this.state.value)||+this.state.value<i)&&(this._timer=setTimeout(function(){e.increase(!0)},n?t.SPEED:t.DELAY))}},{key:"decrease",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments[1];this.stop(),this._step(-1,r);var i=+l(this.props,"min",t.defaultProps.min,this);(isNaN(this.state.value)||+this.state.value>i)&&(this._timer=setTimeout(function(){e.decrease(!0)},n?t.SPEED:t.DELAY))}},{key:"onMouseDown",value:function(e,t){"down"==e?this.decrease(!1,t):"up"==e&&this.increase(!1,t)}},{key:"onTouchStart",value:function(e,t){t.preventDefault(),"down"==e?this.decrease():"up"==e&&this.increase()}},{key:"onTouchEnd",value:function(e){e.preventDefault(),this.stop()}},{key:"_invokeEventCallback",value:function(e){if("function"==typeof this.props[e]){for(var t,n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];(t=this.props[e]).call.apply(t,[null].concat(r))}}},{key:"render",value:function(){var e=this,n=this.props,r=this.state,o={},a=this.props,s=(a.step,a.min,a.max,a.precision,a.parse,a.format,a.mobile),u=(a.snap,a.value,a.type,a.style),c=(a.defaultValue,a.onInvalid,a.onValid,a.strict,i(a,["step","min","max","precision","parse","format","mobile","snap","value","type","style","defaultValue","onInvalid","onValid","strict"]));for(var l in t.style)o[l]=p({},t.style[l],u?u[l]||{}:{});var f=n.className&&/\bform-control\b/.test(n.className);"auto"==s&&(s=y&&"ontouchstart"in document),"function"==typeof s&&(s=s.call(this)),s=!!s;var h={wrap:{style:!1===u?null:o.wrap,className:"react-numeric-input",ref:"wrapper",onMouseUp:void 0,onMouseLeave:void 0},input:p({ref:"input",type:"text",style:!1===u?null:p({},o.input,f?{}:o["input:not(.form-control)"],r.inputFocus?o["input:focus"]:{})},c),btnUp:{onMouseEnter:void 0,onMouseDown:void 0,onMouseUp:void 0,onMouseLeave:void 0,onTouchStart:void 0,onTouchEnd:void 0,style:!1===u?null:p({},o.btn,o.btnUp,n.disabled?o["btn:disabled"]:r.btnUpActive?o["btn:active"]:r.btnUpHover?o["btn:hover"]:{})},btnDown:{onMouseEnter:void 0,onMouseDown:void 0,onMouseUp:void 0,onMouseLeave:void 0,onTouchStart:void 0,onTouchEnd:void 0,style:!1===u?null:p({},o.btn,o.btnDown,n.disabled?o["btn:disabled"]:r.btnDownActive?o["btn:active"]:r.btnDownHover?o["btn:hover"]:{})}},m=String(r.stringValue||(r.value||0===r.value?r.value:"")||"");return b.test(m)?h.input.value=m:this._isStrict||!m||g.test(m)?r.value||0===r.value?h.input.value=this._format(r.value):h.input.value="":h.input.value=m,f&&!1!==u&&p(h.wrap.style,o["wrap.hasFormControl"]),s&&!1!==u&&(p(h.input.style,o["input.mobile"]),p(h.btnUp.style,o["btnUp.mobile"]),p(h.btnDown.style,o["btnDown.mobile"])),n.disabled?!1!==u&&p(h.input.style,o["input:disabled"]):(p(h.wrap,{onMouseUp:this.stop,onMouseLeave:this.stop}),p(h.btnUp,{onTouchStart:this.onTouchStart.bind(this,"up"),onTouchEnd:this.onTouchEnd,onMouseEnter:function(){e.setState({btnUpHover:!0})},onMouseLeave:function(){e.stop(),e.setState({btnUpHover:!1,btnUpActive:!1})},onMouseUp:function(){e.setState({btnUpHover:!0,btnUpActive:!1})},onMouseDown:function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];n[0].preventDefault(),n[0].persist(),e.setState({btnUpHover:!0,btnUpActive:!0,inputFocus:!0},function(){e._invokeEventCallback.apply(e,["onFocus"].concat(n)),e.onMouseDown("up")})}}),p(h.btnDown,{onTouchStart:this.onTouchStart.bind(this,"down"),onTouchEnd:this.onTouchEnd,onMouseEnter:function(){e.setState({btnDownHover:!0})},onMouseLeave:function(){e.stop(),e.setState({btnDownHover:!1,btnDownActive:!1})},onMouseUp:function(){e.setState({btnDownHover:!0,btnDownActive:!1})},onMouseDown:function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];n[0].preventDefault(),n[0].persist(),e.setState({btnDownHover:!0,btnDownActive:!0,inputFocus:!0},function(){e._invokeEventCallback.apply(e,["onFocus"].concat(n)),e.onMouseDown("down")})}}),p(h.input,{onChange:function(t){var n=t.target.value,r=e._parse(n);isNaN(r)&&(r=null),e.setState({value:e._isStrict?e._toNumber(r):r,stringValue:n})},onKeyDown:this._onKeyDown.bind(this),onInput:function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];e.saveSelection(),e._invokeEventCallback.apply(e,["onInput"].concat(n))},onSelect:function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];e.saveSelection(),e._invokeEventCallback.apply(e,["onSelect"].concat(n))},onFocus:function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];n[0].persist(),e.setState({inputFocus:!0},function(){var t=e._parse(n[0].target.value);e.setState({value:t,stringValue:t||0===t?t+"":""},function(){e._invokeEventCallback.apply(e,["onFocus"].concat(n))})})},onBlur:function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=e._isStrict;e._isStrict=!0,n[0].persist(),e.setState({inputFocus:!1},function(){var t=e._parse(n[0].target.value);e.setState({value:t},function(){e._invokeEventCallback.apply(e,["onBlur"].concat(n)),e._isStrict=i})})}})),s?d.default.createElement("span",h.wrap,d.default.createElement("input",h.input),d.default.createElement("b",h.btnUp,d.default.createElement("i",{style:!1===u?null:o.minus}),d.default.createElement("i",{style:!1===u?null:o.plus})),d.default.createElement("b",h.btnDown,d.default.createElement("i",{style:!1===u?null:o.minus}))):d.default.createElement("span",h.wrap,d.default.createElement("input",h.input),d.default.createElement("b",h.btnUp,d.default.createElement("i",{style:!1===u?null:o.arrowUp})),d.default.createElement("b",h.btnDown,d.default.createElement("i",{style:!1===u?null:o.arrowDown})))}}]),t}(h.Component);_.propTypes={step:v.default.oneOfType([v.default.number,v.default.func]),min:v.default.oneOfType([v.default.number,v.default.func]),max:v.default.oneOfType([v.default.number,v.default.func]),precision:v.default.oneOfType([v.default.number,v.default.func]),maxLength:v.default.number,parse:v.default.func,format:v.default.func,className:v.default.string,disabled:v.default.bool,readOnly:v.default.bool,required:v.default.bool,snap:v.default.bool,noValidate:v.default.oneOfType([v.default.bool,v.default.string]),style:v.default.oneOfType([v.default.object,v.default.bool]),type:v.default.string,pattern:v.default.string,onFocus:v.default.func,onBlur:v.default.func,onKeyDown:v.default.func,onChange:v.default.func,onInvalid:v.default.func,onValid:v.default.func,onInput:v.default.func,onSelect:v.default.func,size:v.default.oneOfType([v.default.number,v.default.string]),value:v.default.oneOfType([v.default.number,v.default.string]),defaultValue:v.default.oneOfType([v.default.number,v.default.string]),strict:v.default.bool,mobile:function(e,t){var n=e[t];if(!0!==n&&!1!==n&&"auto"!==n&&"function"!=typeof n)return new Error('The "mobile" prop must be true, false, "auto" or a function')}},_.defaultProps={step:1,min:Number.MIN_SAFE_INTEGER||-9007199254740991,max:Number.MAX_SAFE_INTEGER||9007199254740991,precision:null,parse:null,format:null,mobile:"auto",strict:!1,style:{}},_.style={wrap:{position:"relative",display:"inline-block"},"wrap.hasFormControl":{display:"block"},arrowUp:{position:"absolute",top:"50%",left:"50%",width:0,height:0,borderWidth:"0 0.6ex 0.6ex 0.6ex",borderColor:"transparent transparent rgba(0, 0, 0, 0.7)",borderStyle:"solid",margin:"-0.3ex 0 0 -0.56ex"},arrowDown:{position:"absolute",top:"50%",left:"50%",width:0,height:0,borderWidth:"0.6ex 0.6ex 0 0.6ex",borderColor:"rgba(0, 0, 0, 0.7) transparent transparent",borderStyle:"solid",margin:"-0.3ex 0 0 -0.56ex"},plus:{position:"absolute",top:"50%",left:"50%",width:2,height:10,background:"rgba(0,0,0,.7)",margin:"-5px 0 0 -1px"},minus:{position:"absolute",top:"50%",left:"50%",width:10,height:2,background:"rgba(0,0,0,.7)",margin:"-1px 0 0 -5px"},btn:{position:"absolute",right:2,width:"2.26ex",borderColor:"rgba(0,0,0,.1)",borderStyle:"solid",textAlign:"center",cursor:"default",transition:"all 0.1s",background:"rgba(0,0,0,.1)",boxShadow:"-1px -1px 3px rgba(0,0,0,.1) inset,1px 1px 3px rgba(255,255,255,.7) inset"},btnUp:{top:2,bottom:"50%",borderRadius:"2px 2px 0 0",borderWidth:"1px 1px 0 1px"},"btnUp.mobile":{width:"3.3ex",bottom:2,boxShadow:"none",borderRadius:2,borderWidth:1},btnDown:{top:"50%",bottom:2,borderRadius:"0 0 2px 2px",borderWidth:"0 1px 1px 1px"},"btnDown.mobile":{width:"3.3ex",bottom:2,left:2,top:2,right:"auto",boxShadow:"none",borderRadius:2,borderWidth:1},"btn:hover":{background:"rgba(0,0,0,.2)"},"btn:active":{background:"rgba(0,0,0,.3)",boxShadow:"0 1px 3px rgba(0,0,0,.2) inset,-1px -1px 4px rgba(255,255,255,.5) inset"},"btn:disabled":{opacity:.5,boxShadow:"none",cursor:"not-allowed"},input:{paddingRight:"3ex",boxSizing:"border-box"},"input:not(.form-control)":{border:"1px solid #ccc",borderRadius:2,paddingLeft:4,display:"block",WebkitAppearance:"none",lineHeight:"normal"},"input.mobile":{paddingLeft:" 3.4ex",paddingRight:"3.4ex",textAlign:"center"},"input:focus":{},"input:disabled":{color:"rgba(0, 0, 0, 0.3)",textShadow:"0 1px 0 rgba(255, 255, 255, 0.8)"}},_.SPEED=50,_.DELAY=500,_.DIRECTION_UP="up",_.DIRECTION_DOWN="down",e.exports=_},function(e,t){e.exports=n(17)},function(e,t){e.exports=n(114)}])},function(e,t,n){"use strict";var r=n(13),i=n(2),o=n(84);e.exports=function(){function e(e,t,n,r,a,s){s!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(17),s=n.n(a),u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function(e){function t(){var e,n,o,a;r(this,t);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return n=o=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),o.handleInputChange=function(e){var t=e.target.name,n=e.target.checked;o.props.onChange({name:t,value:n})},a=n,i(o,a)}return o(t,e),u(t,[{key:"render",value:function(){return s.a.createElement("div",null,s.a.createElement("input",{type:"checkbox",style:{display:"none"},checked:this.props.value,name:this.props.property,id:this.props.property,onChange:this.handleInputChange}),s.a.createElement("label",{className:"slider-v0 "+this.props.property,htmlFor:this.props.property}))}}]),t}(a.Component);t.a=c},function(e,t,n){"use strict";(function(e){function r(e){return e.charAt(0).toUpperCase()+e.slice(1)}function i(e){return e.split(";").map(function(e){return e.trim()}).filter(function(e){return e}).reduce(function(e,t){var n=t.indexOf(":"),i=y.camelize(t.slice(0,n)),o=t.slice(n+1).trim();return i.startsWith("webkit")?e[r(i)]=o:e[i]=o,e},{})}function o(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=(t.children||[]).map(o.bind(null,e)),a=Object.keys(t.attributes||{}).reduce(function(e,n){var r=t.attributes[n];switch(n){case"class":e.attrs.className=r,delete t.attributes.class;break;case"style":e.attrs.style=i(r);break;default:0===n.indexOf("aria-")||0===n.indexOf("data-")?e.attrs[n.toLowerCase()]=r:e.attrs[y.camelize(n)]=r}return e},{attrs:{}}),s=n.style,u=void 0===s?{}:s,c=w(n,["style"]);return a.attrs.style=_({},a.attrs.style,u),e.apply(void 0,[t.tag,_({},a.attrs,c)].concat(x(r)))}function a(){if(!E&&console&&"function"===typeof console.error){var e;(e=console).error.apply(e,arguments)}}function s(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?b({},e,t):{}}function u(e){var t,n=(t={"fa-spin":e.spin,"fa-pulse":e.pulse,"fa-fw":e.fixedWidth,"fa-inverse":e.inverse,"fa-border":e.border,"fa-li":e.listItem,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},b(t,"fa-"+e.size,null!==e.size),b(t,"fa-rotate-"+e.rotation,null!==e.rotation),b(t,"fa-pull-"+e.pull,null!==e.pull),t);return Object.keys(n).map(function(e){return n[e]?e:null}).filter(function(e){return e})}function c(e){return null===e?null:"object"===("undefined"===typeof e?"undefined":g(e))&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"===typeof e?{prefix:"fas",iconName:e}:void 0}function l(e){var t=e.icon,n=e.mask,r=e.symbol,i=e.className,o=c(t),f=s("classes",[].concat(x(u(e)),x(i.split(" ")))),h=s("transform","string"===typeof e.transform?p.c.transform(e.transform):e.transform),d=s("mask",c(n)),m=Object(p.a)(o,_({},f,h,d,{symbol:r}));if(!m)return a("Could not find icon",o),null;var v=m.abstract,y={};return Object.keys(e).forEach(function(t){l.defaultProps.hasOwnProperty(t)||(y[t]=e[t])}),M(v[0],y)}n.d(t,"a",function(){return l});var p=n(116),f=n(114),h=n.n(f),d=n(17),m=n.n(d),v="undefined"!==typeof window?window:"undefined"!==typeof e?e:"undefined"!==typeof self?self:{},y=function(e,t){return t={exports:{}},e(t,t.exports),t.exports}(function(e){!function(t){var n=function(e,t,r){if(!c(t)||p(t)||f(t)||h(t)||u(t))return t;var i,o=0,a=0;if(l(t))for(i=[],a=t.length;o<a;o++)i.push(n(e,t[o],r));else{i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(i[e(s,r)]=n(e,t[s],r))}return i},r=function(e,t){t=t||{};var n=t.separator||"_",r=t.split||/(?=[A-Z])/;return e.split(r).join(n)},i=function(e){return d(e)?e:(e=e.replace(/[\-_\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),e.substr(0,1).toLowerCase()+e.substr(1))},o=function(e){var t=i(e);return t.substr(0,1).toUpperCase()+t.substr(1)},a=function(e,t){return r(e,t).toLowerCase()},s=Object.prototype.toString,u=function(e){return"function"===typeof e},c=function(e){return e===Object(e)},l=function(e){return"[object Array]"==s.call(e)},p=function(e){return"[object Date]"==s.call(e)},f=function(e){return"[object RegExp]"==s.call(e)},h=function(e){return"[object Boolean]"==s.call(e)},d=function(e){return(e-=0)===e},m=function(e,t){var n=t&&"process"in t?t.process:t;return"function"!==typeof n?e:function(t,r){return n(t,e,r)}},v={camelize:i,decamelize:a,pascalize:o,depascalize:a,camelizeKeys:function(e,t){return n(m(i,t),e)},decamelizeKeys:function(e,t){return n(m(a,t),e,t)},pascalizeKeys:function(e,t){return n(m(o,t),e)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};e.exports?e.exports=v:t.humps=v}(v)}),g="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},w=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},x=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)},E=!1;try{E=!0}catch(e){}l.displayName="FontAwesomeIcon",l.propTypes={border:h.a.bool,className:h.a.string,mask:h.a.oneOfType([h.a.object,h.a.array,h.a.string]),fixedWidth:h.a.bool,inverse:h.a.bool,flip:h.a.oneOf(["horizontal","vertical","both"]),icon:h.a.oneOfType([h.a.object,h.a.array,h.a.string]),listItem:h.a.bool,pull:h.a.oneOf(["right","left"]),pulse:h.a.bool,rotation:h.a.oneOf([90,180,270]),size:h.a.oneOf(["lg","xs","sm","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:h.a.bool,symbol:h.a.oneOfType([h.a.bool,h.a.string]),transform:h.a.oneOfType([h.a.string,h.a.object])},l.defaultProps={border:!1,className:"",mask:null,fixedWidth:!1,inverse:!1,flip:null,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,symbol:!1,transform:null};var M=o.bind(null,m.a.createElement)}).call(t,n(55))},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(17),s=n.n(a),u=n(113),c=n(117),l=n(115),p=(n.n(l),function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()),f=function(e){function t(){var e,n,o,a;r(this,t);for(var s=arguments.length,u=Array(s),c=0;c<s;c++)u[c]=arguments[c];return n=o=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),o.handleBodyChange=function(e){o.props.onChange({number:o.props.number,param:e})},a=n,i(o,a)}return o(t,e),p(t,[{key:"render",value:function(){var e=this;return s.a.createElement("div",{className:"controls",style:{backgroundColor:"#"+c.a[this.props.number]}},s.a.createElement("div",{className:"title"},"Mass ",this.props.number+1),Object.keys(this.props.params).map(function(t){return s.a.createElement(u.a,{key:"body"+e.props.number+t,onChange:e.handleBodyChange,property:t,value:e.props.params[t],min:"m"===t?.01:-2,max:2})}))}}]),t}(a.Component);t.a=f},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(17),s=n.n(a),u=n(235),c=n.n(u),l=n(0),p=n(117),f=n(333),h=n(334),d=n(335),m=(n.n(d),function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()),v=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._initState=function(e){var t=e.bodies,n=e.speed,r=e.g,i=e.zoom,o=e.showTrail1,a=e.showTrail2,s=e.showTrail3,u=e.years;return{cameraposition:new l.Vector3(0,0,i),bodies:t.map(function(e){var t=e.params;return{mass:t.m,position:new l.Vector3(t.x,t.y,t.z),velocity:new l.Vector3(t.vx,t.vy,t.vz)}}),trails:[[],[],[]],zoom:i,speed:n,g:r,showTrail1:o,showTrail2:a,showTrail3:s,years:u}},n._mainCameraRef=function(e){n.mainCamera=e},n._react3Ref=function(e){n.react3=e},n._onAnimate=function(){n.controls.update(),n.setState(Object(h.a)(n.state))},n.state=n._initState(e),n}return o(t,e),m(t,[{key:"componentDidMount",value:function(){var e=this,t=new f.a(this.mainCamera,this.react3);t.rotateSpeed=1.5,t.zoomSpeed=1.2,t.panSpeed=.8,t.staticMoving=!0,t.addEventListener("change",function(){e.setState({cameraposition:e.mainCamera.position})}),this.controls=t}},{key:"componentWillReceiveProps",value:function(e){this.setState(this._initState(e))}},{key:"componentWillUnmount",value:function(){this.controls.dispose(),delete this.controls}},{key:"render",value:function(){var e=window.innerWidth,t=window.innerHeight,n=[this.state.showTrail1,this.state.showTrail2,this.state.showTrail3];return s.a.createElement("div",{className:"scene"},s.a.createElement(c.a,{mainCamera:"mainCamera",width:e,height:t,antialias:!0,onAnimate:this._onAnimate,canvasRef:this._react3Ref,clearColor:0,alpha:!0,clearAlpha:.1},s.a.createElement("scene",null,s.a.createElement("perspectiveCamera",{name:"mainCamera",fov:75,aspect:e/t,near:.1,far:1e3,ref:this._mainCameraRef,position:this.state.cameraposition}),this.state.bodies.map(function(e,t){return s.a.createElement("mesh",{key:"body"+t,position:e.position},s.a.createElement("sphereGeometry",{radius:e.mass>2?.2:.02+.09*e.mass,widthSegments:10,heightSegments:10}),s.a.createElement("meshBasicMaterial",{color:parseInt("0x"+p.a[t],16)}))}),this.state.trails.map(function(e,t){return n[t]?s.a.createElement("line",{key:"trail"+Math.random()},s.a.createElement("geometry",{vertices:e}),s.a.createElement("lineBasicMaterial",{color:parseInt("0x"+p.a[t],16),linewidth:2})):[]}))))}}]),t}(a.Component);t.a=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u,c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),p=n(17),f=r(p),h=n(236),d=r(h),m=n(1),v=r(m),y=n(0),g=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(y),b=n(48),_=r(b),w=n(8),x=r(w),E=(u=s=function(e){function t(e,n){i(this,t);var r=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.shouldComponentUpdate=d.default.shouldComponentUpdate,r._onRecreateCanvas=function(){r.setState({canvasKey:r.state.canvasKey+1})},r._canvasRef=function(e){r._canvas=e,r.props.canvasRef&&r.props.canvasRef(e)},r.state={canvasKey:0},r}return a(t,e),l(t,[{key:"componentDidMount",value:function(){this.react3Renderer=new _.default,this._render()}},{key:"componentWillReceiveProps",value:function(e){var t=this.props;t.canvasRef!==e.canvasRef&&(t.canvasRef&&t.canvasRef(null),e.canvasRef&&e.canvasRef(this._canvas))}},{key:"componentDidUpdate",value:function(){this._render()}},{key:"componentWillUnmount",value:function(){this.react3Renderer.dispose(),delete this.react3Renderer}},{key:"_render",value:function(){var e=this._canvas,t=c({},this.props);delete t.canvasStyle,delete t.canvasRef,this.react3Renderer.render(f.default.createElement("react3",c({},t,{onRecreateCanvas:this._onRecreateCanvas}),this.props.children),e)}},{key:"render",value:function(){var e=this.state.canvasKey;return f.default.createElement("canvas",{ref:this._canvasRef,key:e,width:this.props.width,height:this.props.height,style:c({},this.props.canvasStyle,{width:this.props.width,height:this.props.height})})}}]),t}(f.default.Component),s.propTypes={context:v.default.string,width:v.default.number.isRequired,height:v.default.number.isRequired,children:v.default.node,canvasStyle:v.default.any,customRenderer:v.default.func,gammaInput:v.default.bool,gammaOutput:v.default.bool,sortObjects:v.default.bool,mainCamera:v.default.string,onAnimate:v.default.func,clearColor:v.default.oneOfType([(0,x.default)(g.Color),v.default.number,v.default.string]),shadowMapEnabled:v.default.bool,shadowMapType:v.default.oneOf([g.BasicShadowMap,g.PCFShadowMap,g.PCFSoftShadowMap]),shadowMapCullFace:v.default.oneOf([g.CullFaceNone,g.CullFaceBack,g.CullFaceFront,g.CullFaceFrontBack]),shadowMapDebug:v.default.bool,pixelRatio:v.default.number,antialias:v.default.oneOfType([v.default.bool,v.default.number]),canvasRef:v.default.func},s.defaultProps={context:"3d"},s.findTHREEObject=_.default.findTHREEObject,s.eventDispatcher=_.default.eventDispatcher,u);e.exports=E},function(e,t,n){"use strict";var r=n(237),i={shouldComponentUpdate:function(e,t){return r(this,e,t)}};e.exports=i},function(e,t,n){"use strict";function r(e,t,n){return!i(e.props,t)||!i(e.state,n)}var i=n(45);e.exports=r},function(e,t,n){"use strict";var r=n(73),i=n(5),o=n(239);e.exports=function(){function e(e,t,n,r,a,s){s!==o&&i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";function r(e,t){return{_topLevelWrapper:e,_idCounter:1}}e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(){r(this,e)}return i(e,[{key:"dispatchEvent",value:function(e,t){var n=e.userData._eventCallbacks,r=n&&n[t];if(r){for(var i=arguments.length,o=Array(i>2?i-2:0),a=2;a<i;a++)o[a-2]=arguments[a];r.apply(void 0,o)}}}]),e}();e.exports=o},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e){return e}function s(e,t){console.log("deleteListener",e,t)}function u(e,t,n,r){console.log("enqueuePutListener",e,t,n,r)}function c(e,t,n){e.splice(n,0,e.splice(t,1)[0])}var l,p,f=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),h=n(5),d=r(h),m=n(73),v=r(m),y=n(243),g=r(y),b=n(14),_=(r(b),n(20)),w=r(_),x=n(10),E=(r(x),n(23)),M=r(E),O=n(100),T=r(O),P=n(91),S=r(P),C=n(119),R=r(C),A=n(74),D=r(A),k=n(120),L=r(k),j=n(122),I=r(j),N=function e(){var t=this;o(this,e),this.wantRemount=!1,this.onTrigger=function(){},this.trigger=function(){t.wantRemount=!0,t.onTrigger()}},U={},F=(v.default,v.default,function(e){return e.threeObject}),B=T.default.Mixin,z=(p=l=function(){function e(t,n){var r=this;o(this,e),this.updateChildren=B.updateChildren.bind(this),this._mountChildAtIndex=B._mountChildAtIndex.bind(this),this._unmountChild=B._unmountChild.bind(this),this.unmountChildren=B.unmountChildren.bind(this),this._currentElement=t,this._react3RendererInstance=n,this._elementType=t.type,this._renderedChildren=[],this._hostMarkup=null,this._hostParent=null,this._rootNodeID=0,this._hostID=0,this._hostContainerInfo=null,this._threeObject=null,this._topLevelWrapper=null,this._markup=null,this._nodeWithLegacyProperties=null,this._forceRemountOfComponent=!1,this._flags=0,this.threeElementDescriptor=n.threeElementDescriptors[t.type],this.threeElementDescriptor||(0,d.default)(!1),"true"===Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}).ENABLE_REACT_ADDON_HOOKS&&(this.highlightComponent=function(){r.threeElementDescriptor.highlight(r._threeObject)},this.hideHighlight=function(){r.threeElementDescriptor.hideHighlight(r._threeObject)}),this.remountTrigger=new N,this.remountTrigger.onTrigger=function(){r._forceRemountOfComponent=!0}}return f(e,[{key:"getHostMarkup",value:function(){return this._markup}},{key:"getHostNode",value:function(){return this._markup}},{key:"mountComponent",value:function(e,t,n,r){var o;this._rootNodeID=this._react3RendererInstance.globalIdCounter++,this._hostID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var a=this._currentElement;this._threeObject=this.threeElementDescriptor.construct(a.props),this.threeElementDescriptor.applyInitialProps(this._threeObject,a.props),this.threeElementDescriptor.placeRemountTrigger(this._threeObject,this.remountTrigger.trigger);var s=a.props.children,u=void 0;u=s?this.mountChildren(s,e,r):[];var c=(o={},i(o,D.default,this._hostID),i(o,"_rootInstance",null),i(o,"elementType",a.type),i(o,"threeObject",this._threeObject),i(o,"parentMarkup",null),i(o,"childrenMarkup",u),i(o,"toJSON",function(){return"---MARKUP---"}),o);(0,d.default)(!!this._threeObject.userData),Object.assign(this._threeObject.userData,{object3D:this._threeObject,react3internalComponent:this,toJSON:function(){return"---USERDATA---"},markup:c});var l=this._react3RendererInstance.threeElementDescriptors;if(u&&u.length>0){this.threeElementDescriptor.addChildren(this._threeObject,u.map(F));for(var p=0;p<u.length;++p){var f=u[p],h=l[f.elementType];f.parentMarkup=c,h.setParent(f.threeObject,this._threeObject)}}return this._markup=c,I.default.precacheMarkup(this,this._markup),this._flags|=R.default.hasCachedChildMarkups,c}},{key:"_reconcilerInstantiateChildren",value:function(e,t,n){return this._react3RendererInstance.instantiateChildren(e,t,n,0)}},{key:"_reconcilerUpdateChildren",value:function(e,t,n,r,i,o){var a=void 0,s=0;return a=(0,g.default)(t,s),this._react3RendererInstance.updateChildren(e,a,n,r,i,this,this._hostContainerInfo,o,s),a}},{key:"mountChildren",value:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var i=[],o=0;if(r)for(var a=Object.keys(r),s=0;s<a.length;++s){var u=a[s],c=r[u],l=0,p=M.default.mountComponent(c,t,this,this._hostContainerInfo,n,l);c._mountIndex=o,i.push(p),o++}return i}},{key:"moveChild",value:function(e,t,n){if(e._mountIndex!==t){this.threeElementDescriptor.moveChild(this._threeObject,e._threeObject,t,e._mountIndex);c(this._markup.childrenMarkup,n,t)}}},{key:"receiveComponent",value:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n),this._forceRemountOfComponent&&(this._currentElement=null)}},{key:"updateComponent",value:function(e,t,n,r){var i=t.props,o=this._currentElement.props;t.type!==n.type&&(0,d.default)(!1),this._updateObjectProperties(i,o,e,r),this._forceRemountOfComponent||this._updateChildrenObjects(o,e,a(r))}},{key:"_updateChildrenObjects",value:function(e,t,n){var r=e.children||null;this.updateChildren(r,t,n)}},{key:"_updateObjectProperties",value:function(e,t,n){var r=this.remountTrigger;r.wantRemount=!1,this.threeElementDescriptor.beginPropertyUpdates(this._threeObject,t);for(var i=Object.keys(e),o=0;o<i.length;++o){var a=i[o];if(!t.hasOwnProperty(a)&&"children"!==a){if(r.wantRemount)break;U.hasOwnProperty(a)?e[a]&&s(this._rootNodeID,a):this.threeElementDescriptor.deleteProperty(this._threeObject,a)}}for(var c=Object.keys(t),l=0;l<c.length;++l){var p=c[l];if("children"!==p){if(r.wantRemount)break;var f=t[p],h=e[p];f!==h&&(U.hasOwnProperty(p)?f?u(this._rootNodeID,p,f,n):h&&s(this._rootNodeID,p):this.threeElementDescriptor.updateProperty(this._threeObject,p,f))}}this.threeElementDescriptor.completePropertyUpdates(this._threeObject)}},{key:"_removeAllChildRefs",value:function(){var e=this._renderedChildren;if(e)for(var t=Object.keys(e),n=0;n<t.length;++n){var r=t[n],i=e[r];i&&i._currentElement&&i._currentElement.ref&&(S.default.detachRefs(i,i._currentElement),i._currentElement=w.default.cloneElement(i._currentElement,{ref:null})),i._removeAllChildRefs()}}},{key:"unmountComponent",value:function(e){if(null!==this._threeObject&&this.threeElementDescriptor.componentWillUnmount(this._threeObject),this._forceRemountOfComponent&&this._removeAllChildRefs(),this.unmountChildren(e),I.default.uncacheMarkup(this),null!==this._threeObject&&this.threeElementDescriptor.unmount(this._threeObject),this._markup=null,this._rootNodeID=0,this._nodeWithLegacyProperties){this._nodeWithLegacyProperties._reactInternalComponent=null,this._nodeWithLegacyProperties=null}}},{key:"emptyJson",value:function(){return"..."}},{key:"getPublicInstance",value:function(){return this._markup.threeObject}},{key:"_updateChildren",value:function(e,t,n){var r=this._renderedChildren,i={},o=[],a=this._reconcilerUpdateChildren(r,e,o,i,t,n);if(a||r){var s=this.remountTrigger;s.wantRemount=!1,this.threeElementDescriptor.beginChildUpdates(this._threeObject);var u=0,c=0,l=0;if(a)for(var p=Object.keys(a),f=0;f<p.length;++f){var h=p[f];if(!s.wantRemount){var m=r&&r[h],v=a[h];if(m===v)this.moveChild(m,u,c),c=Math.max(m._mountIndex,c),m._mountIndex=u;else{if(m){c=Math.max(m._mountIndex,c);var y=i[h];(0,d.default)(!!y,"Removed markup map should contain this child"),delete i[h],this._unmountChild(m,y)}s.wantRemount||(this._mountChildAtIndex(v,o[l],null,u,t,n),l++)}u++}}for(var g=Object.keys(i),b=0;b<g.length;++b){var _=g[b];this._unmountChild(r[_],i[_])}this._renderedChildren=a,this.threeElementDescriptor.completeChildUpdates(this._threeObject)}}},{key:"createChild",value:function(e,t,n){var r=e._mountIndex;this._markup.childrenMarkup.splice(r,0,n),n.parentMarkup=this._markup,this.threeElementDescriptor.addChild(this._threeObject,n.threeObject,r),this._react3RendererInstance.threeElementDescriptors[n.elementType].setParent(n.threeObject,this._threeObject)}},{key:"removeChild",value:function(t,n){this.threeElementDescriptor.removeChild(this._threeObject,n.threeObject),t instanceof e?t.threeElementDescriptor.removedFromParent(n.threeObject):t instanceof L.default?n.threeObject.userData.react3internalComponent.threeElementDescriptor.removedFromParent(n.threeObject):(0,d.default)(!1);for(var r=this._markup.childrenMarkup,i=0;i<r.length;i++){var o=r[i];if(o.threeObject===n.threeObject)return r.splice(i,1),void delete o.parentMarkup}(0,d.default)(!1)}}]),e}(),l.displayName="React3Component",p);e.exports=z},function(e,t,n){"use strict";(function(t){function r(e,t,n,r){if(e&&"object"===typeof e){var i=e,o=void 0===i[n];o&&null!=t&&(i[n]=t)}}function i(e,t){if(null==e)return e;var n={};return o(e,r,n),n}var o=(n(57),n(82));n(3);"undefined"!==typeof t&&Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"}),e.exports=i}).call(t,n(36))},function(e,t,n){"use strict";function r(e,t){null!=t&&"string"===typeof t.type&&(t.type.indexOf("-")>=0||t.props.is||o(e,t))}var i,o=(n(24),n(39),n(31),n(3),function(e,t){var n=[];for(var r in t.props){i(t.type,r,e)||n.push(r)}n.map(function(e){return"`"+e+"`"}).join(", ");1===n.length||n.length}),a={onBeforeMountComponent:function(e,t){r(e,t)},onBeforeUpdateComponent:function(e,t){r(e,t)}};e.exports=a},function(e,t,n){"use strict";function r(e,t){null!=t&&("input"!==t.type&&"textarea"!==t.type&&"select"!==t.type||null==t.props||null!==t.props.value||i||(i=!0))}var i=(n(31),n(3),!1),o={onBeforeMountComponent:function(e,t){r(e,t)},onBeforeUpdateComponent:function(e,t){r(e,t)}};e.exports=o},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=n(247),a=r(o),s=n(254),u=r(s),c=n(255),l=r(c),p=n(256),f=r(p),h=n(16),d=r(h),m=n(257),v=r(m),y=n(258),g=r(y),b=n(259),_=r(b),w=n(260),x=r(w),E=n(49),M=r(E),O=n(261),T=r(O),P=n(262),S=r(P),C=n(263),R=r(C),A=n(264),D=r(A),k=n(265),L=r(k),j=n(266),I=r(j),N=n(267),U=r(N),F=n(268),B=r(F),z=n(269),H=r(z),V=n(270),G=r(V),W=n(129),q=r(W),X=n(271),Y=r(X),K=n(272),Z=r(K),Q=n(273),J=r(Q),$=n(274),ee=r($),te=n(275),ne=r(te),re=n(276),ie=r(re),oe=n(277),ae=r(oe),se=n(278),ue=r(se),ce=n(279),le=r(ce),pe=n(280),fe=r(pe),he=n(281),de=r(he),me=n(282),ve=r(me),ye=n(283),ge=r(ye),be=n(284),_e=r(be),we=n(285),xe=r(we),Ee=n(286),Me=r(Ee),Oe=n(287),Te=r(Oe),Pe=n(288),Se=r(Pe),Ce=n(289),Re=r(Ce),Ae=n(290),De=r(Ae),ke=n(291),Le=r(ke),je=n(292),Ie=r(je),Ne=n(293),Ue=r(Ne),Fe=n(294),Be=r(Fe),ze=n(295),He=r(ze),Ve=n(296),Ge=r(Ve),We=n(297),qe=r(We),Xe=n(298),Ye=r(Xe),Ke=n(299),Ze=r(Ke),Qe=n(301),Je=r(Qe),$e=n(303),et=r($e),tt=n(305),nt=r(tt),rt=n(307),it=r(rt),ot=n(309),at=r(ot),st=n(311),ut=r(st),ct=n(312),lt=r(ct),pt=n(314),ft=r(pt),ht=n(315),dt=r(ht),mt=n(316),vt=r(mt),yt=n(317),gt=r(yt),bt=n(318),_t=r(bt),wt=n(134),xt=r(wt),Et=n(319),Mt=r(Et),Ot=n(320),Tt=r(Ot),Pt=n(321),St=r(Pt),Ct=n(322),Rt=r(Ct),At=n(323),Dt=r(At),kt=n(324),Lt=r(kt),jt=n(325),It=r(jt),Nt=n(326),Ut=r(Nt),Ft=n(327),Bt=r(Ft),zt=n(328),Ht=r(zt),Vt=n(329),Gt=r(Vt),Wt=n(330),qt=r(Wt),Xt=n(331),Yt=r(Xt),Kt=n(332),Zt=r(Kt),Qt=function e(t){i(this,e),this.react3RendererInstance=t,this.descriptors={react3:new a.default(t),module:new u.default(t),viewport:new l.default(t),scene:new f.default(t),object3D:new d.default(t),group:new v.default(t),orthographicCamera:new g.default(t),perspectiveCamera:new _.default(t),cubeCamera:new x.default(t),mesh:new M.default(t),line:new T.default(t),lineSegments:new S.default(t),points:new R.default(t),sprite:new D.default(t),meshBasicMaterial:new dt.default(t),meshPhongMaterial:new vt.default(t),meshLambertMaterial:new gt.default(t),meshStandardMaterial:new _t.default(t),pointsMaterial:new ft.default(t),shaderMaterial:new xt.default(t),rawShaderMaterial:new Mt.default(t),lineBasicMaterial:new Lt.default(t),lineDashedMaterial:new It.default(t),meshDepthMaterial:new Ut.default(t),meshNormalMaterial:new Bt.default(t),spriteMaterial:new Ht.default(t),texture:new Tt.default(t),geometry:new ee.default(t),bufferGeometry:new ne.default(t),boxGeometry:new ie.default(t),sphereGeometry:new ae.default(t),parametricGeometry:new ue.default(t),planeBufferGeometry:new le.default(t),planeGeometry:new fe.default(t),polyhedronGeometry:new de.default(t),icosahedronGeometry:new ve.default(t),octahedronGeometry:new ge.default(t),tetrahedronGeometry:new _e.default(t),circleGeometry:new xe.default(t),circleBufferGeometry:new Me.default(t),ringGeometry:new Te.default(t),cylinderGeometry:new Se.default(t),latheGeometry:new Re.default(t),torusGeometry:new De.default(t),torusKnotGeometry:new Le.default(t),extrudeGeometry:new Ie.default(t),tubeGeometry:new Ue.default(t),dodecahedronGeometry:new Be.default(t),textGeometry:new He.default(t),shapeGeometry:new Ge.default(t),edgesGeometry:new qe.default(t),shape:new Ye.default(t),moveTo:new Ze.default(t),lineTo:new Je.default(t),bezierCurveTo:new et.default(t),quadraticCurveTo:new nt.default(t),absArc:new it.default(t),absEllipse:new at.default(t),hole:new ut.default(t),splineThru:new lt.default(t),ambientLight:new L.default(t),directionalLight:new I.default(t),spotLight:new U.default(t),pointLight:new B.default(t),hemisphereLight:new H.default(t),resources:new G.default(t),materialResource:new St.default(t),geometryResource:new q.default(t),shapeGeometryResource:new Y.default(t),textureResource:new Z.default(t),shapeResource:new J.default(t),uniforms:new Rt.default(t),uniform:new Dt.default(t),cameraHelper:new Gt.default(t),axisHelper:new qt.default(t),arrowHelper:new Yt.default(t),gridHelper:new Zt.default(t)}};e.exports=Qt},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(19),d=(r(h),n(5)),m=r(d),v=n(12),y=r(v),g=n(123),b=r(g),_=n(8),w=r(_),x={gammaInput:{type:f.default.bool,default:!1},gammaOutput:{type:f.default.bool,default:!1},sortObjects:{type:f.default.bool,default:!0},context:{type:f.default.oneOf(["2d","3d"]).isRequired,default:"3d"},mainCamera:{type:f.default.string,default:void 0},onAnimate:{type:f.default.func,default:void 0},clearColor:{type:f.default.oneOfType([(0,w.default)(l.Color),f.default.number,f.default.string]),default:0},clearAlpha:{type:f.default.number,default:void 0},alpha:{type:f.default.bool,default:!1},shadowMapEnabled:{type:f.default.bool,default:!1},shadowMapType:{type:f.default.oneOf([l.BasicShadowMap,l.PCFShadowMap,l.PCFSoftShadowMap]),default:l.PCFShadowMap},shadowMapCullFace:{type:f.default.oneOf([l.CullFaceNone,l.CullFaceBack,l.CullFaceFront,l.CullFaceFrontBack]),default:l.CullFaceFront},shadowMapDebug:{type:f.default.bool,default:!1},onRecreateCanvas:{type:f.default.func.isRequired,default:void 0},pixelRatio:{type:f.default.number,default:1},width:{type:f.default.number.isRequired,default:1},height:{type:f.default.number.isRequired,default:1},precision:{type:f.default.oneOf(["highp","mediump","lowp"]),default:"highp"},premultipliedAlpha:{type:f.default.bool,default:!0},antialias:{type:f.default.oneOfType([f.default.bool,f.default.number]),default:!1},stencil:{type:f.default.bool,default:!0},preserveDrawingBuffer:{type:f.default.bool,default:!1},depth:{type:f.default.bool,default:!0},logarithmicDepthBuffer:{type:f.default.bool,default:!1},onRendererUpdated:{type:f.default.func,default:void 0},forceManualRender:{type:f.default.bool,default:!1},onManualRenderTriggerCreated:{type:f.default.func,default:void 0},customRenderer:{type:f.default.func,default:void 0}},E=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return Object.keys(x).forEach(function(e){var t=x[e],r=e[0].toUpperCase()+e.substr(1),i="update"+r,o={type:t.type,update:function(e,t){e[i](t)}};t.hasOwnProperty("default")&&(o.default=t.default),n.hasProp(e,o)}),n}return a(t,e),s(t,[{key:"completePropertyUpdates",value:function(e){}},{key:"setParent",value:function(e,n){(0,m.default)(n instanceof HTMLCanvasElement,"The `react3` element can only be rendered into a canvas."),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n),e.updateCanvas(n)}},{key:"construct",value:function(e){return new b.default(e,this.react3RendererInstance)}},{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.initialize()}},{key:"addChildren",value:function(e,t){e.addChildren(t)}},{key:"addChild",value:function(e,t){e.addChildren([t])}},{key:"moveChild",value:function(){}},{key:"removeChild",value:function(e,t){e.removeChild(t)}},{key:"_updateOnRecreateCanvas",value:function(e,t){e.updateOnRecreateCanvas(t)}},{key:"_updateHeight",value:function(e,t){e.updateHeight(t)}},{key:"unmount",value:function(e){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e),e.unmount()}},{key:"componentWillUnmount",value:function(e){return e.willUnmount(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentWillUnmount",this).call(this,e)}}]),t}(y.default);e.exports=E},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"===typeof e}function i(e){return"number"===typeof e}function o(e){return"object"===typeof e&&null!==e}function a(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,i,s,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}if(n=this._events[e],a(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(o(n))for(s=Array.prototype.slice.call(arguments,1),c=n.slice(),i=c.length,u=0;u<i;u++)c[u].apply(this,s);return!0},n.prototype.addListener=function(e,t){var i;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,o(this._events[e])&&!this._events[e].warned&&(i=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&i>0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"===typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var i=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,i,a,s;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],a=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(s=a;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){i=s;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";(function(t){function r(e,t,n,r,u,c){for(var l in e)if(e.hasOwnProperty(l)){var p;try{"function"!==typeof e[l]&&i("84",r||"React class",o[n],l),p=e[l](t,l,r,n,null,a)}catch(e){p=e}if(p instanceof Error&&!(p.message in s)){s[p.message]=!0}}}var i=n(29),o=n(75),a=n(250);n(2),n(3);"undefined"!==typeof t&&Object({NODE_ENV:"production",PUBLIC_URL:"/Daily_Web_Tasks/threebody"});var s={};e.exports=r}).call(t,n(36))},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){(function(t){for(var r=n(252),i="undefined"===typeof window?t:window,o=["moz","webkit"],a="AnimationFrame",s=i["request"+a],u=i["cancel"+a]||i["cancelRequest"+a],c=0;!s&&c<o.length;c++)s=i[o[c]+"Request"+a],u=i[o[c]+"Cancel"+a]||i[o[c]+"CancelRequest"+a];if(!s||!u){var l=0,p=0,f=[];s=function(e){if(0===f.length){var t=r(),n=Math.max(0,1e3/60-(t-l));l=n+t,setTimeout(function(){var e=f.slice(0);f.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(l)}catch(e){setTimeout(function(){throw e},0)}},Math.round(n))}return f.push({handle:++p,callback:e,cancelled:!1}),p},u=function(e){for(var t=0;t<f.length;t++)f[t].handle===e&&(f[t].cancelled=!0)}}e.exports=function(e){return s.call(i,e)},e.exports.cancel=function(){u.apply(i,arguments)},e.exports.polyfill=function(e){e||(e=i),e.requestAnimationFrame=s,e.cancelAnimationFrame=u}}).call(t,n(55))},function(e,t,n){(function(t){(function(){var n,r,i,o,a,s;"undefined"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!==typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(n()-a)/1e6},r=t.hrtime,n=function(){var e;return e=r(),1e9*e[0]+e[1]},o=n(),s=1e9*t.uptime(),a=o-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(t,n(36))},function(e,t,n){"use strict";e.exports=function(){try{var e=document.createElement("canvas");return!(!window.WebGLRenderingContext||!e.getContext("webgl")&&!e.getContext("experimental-webgl"))}catch(e){return!1}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.constructor&&e.constructor.name?e.constructor.name:"<<anonymous>>"}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},l=n(75),p=r(l),f=n(12),h=r(f),d=n(125),m=r(d),v=n(127),y=r(v),g=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=function(e,t,n,r,i){var o=p.default[r];if(!e[t])return new y.default("The "+o+" `"+i+"` is marked as required in `"+n+"`, but its value is `undefined`.");if(!(e[t].prototype instanceof m.default)){var a=s(e[t]);return new y.default("Invalid "+o+" `"+i+"` of type `"+a+"` supplied to `"+n+"`, expected subclass of `Module`.")}};return r.toString=function(){return"``` subclass of ReactThreeRenderer.Module ``` *``` required ```*"},n.hasProp("descriptor",{type:r,update:n.triggerRemount,default:void 0}),n}return a(t,e),u(t,[{key:"construct",value:function(e){return new(0,e.descriptor)}},{key:"applyInitialProps",value:function(e,n){c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.setup(this.react3RendererInstance)}},{key:"unmount",value:function(e){e.dispose(),c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}}]),t}(h.default);e.exports=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),c=r(u),l=n(124),p=r(l),f=n(12),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["x","y","width","height"].forEach(function(e){n.hasProp(e,{type:c.default.number.isRequired,simple:!0})}),n.hasProp("cameraName",{type:c.default.string.isRequired,simple:!0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){return new p.default(e)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(16),d=r(h),m=n(8),v=r(m),y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("fog",{type:f.default.oneOfType([(0,v.default)(l.Fog),(0,v.default)(l.FogExp2)]),simple:!0,default:void 0}),n}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"construct",value:function(){return new l.Scene}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(16),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"construct",value:function(){return new u.Group}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(128),d=r(h),m=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.propTypes=s({},n.propTypes,{left:f.default.number.isRequired,right:f.default.number.isRequired,top:f.default.number.isRequired,bottom:f.default.number.isRequired,near:f.default.number,far:f.default.number}),n.propUpdates=s({},n.propUpdates,{left:n._updateAndRefreshProjection.bind(n,"left"),right:n._updateAndRefreshProjection.bind(n,"right"),top:n._updateAndRefreshProjection.bind(n,"top"),bottom:n._updateAndRefreshProjection.bind(n,"bottom"),fov:n._updateFov,far:n._updateFar}),n}return a(t,e),u(t,[{key:"_updateFov",value:function(e,t){e.fov=t,e.userData._needsProjectionMatrixUpdate=!0}},{key:"_updateFar",value:function(e,t){e.far=t,e.userData._needsProjectionMatrixUpdate=!0}},{key:"construct",value:function(e){return new l.OrthographicCamera(e.left,e.right,e.top,e.bottom,e.near,e.far)}},{key:"_updateAndRefreshProjection",value:function(e,t,n){t[e]=n,t.userData._needsProjectionMatrixUpdate=!0}}]),t}(d.default);e.exports=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(128),d=r(h),m=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.propTypes=s({},n.propTypes,{fov:f.default.number,aspect:f.default.number,near:f.default.number,far:f.default.number}),n.propUpdates=s({},n.propUpdates,{aspect:n._updateAspect,fov:n._updateFov,far:n._updateFar,near:n._updateNear}),n}return a(t,e),u(t,[{key:"construct",value:function(e){return new l.PerspectiveCamera(e.fov,e.aspect,e.near,e.far)}},{key:"_updateFov",value:function(e,t){e.fov=t,e.userData._needsProjectionMatrixUpdate=!0}},{key:"_updateNear",value:function(e,t){e.near=t,e.userData._needsProjectionMatrixUpdate=!0}},{key:"_updateFar",value:function(e,t){e.far=t,e.userData._needsProjectionMatrixUpdate=!0}},{key:"_updateAspect",value:function(e,t){e.aspect=t,e.userData._needsProjectionMatrixUpdate=!0}}]),t}(d.default);e.exports=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(16),d=r(h),m=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.propTypes=s({},n.propTypes,{near:f.default.number,far:f.default.number,cubeResolution:f.default.number.isRequired}),n}return a(t,e),u(t,[{key:"construct",value:function(e){return new l.CubeCamera(e.near,e.far,e.cubeResolution)}}]),t}(d.default);e.exports=m},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(49),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"construct",value:function(e){var t=e.hasOwnProperty("geometry")?e.geometry:void 0,n=e.hasOwnProperty("material")?e.material:void 0,r=new u.Line(t,n);return t||(r.geometry.dispose(),r.geometry=void 0),n||(r.material.dispose(),r.material=void 0),r}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(49),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"construct",value:function(e){var t=e.hasOwnProperty("geometry")?e.geometry:void 0,n=e.hasOwnProperty("material")?e.material:void 0,r=new u.LineSegments(t,n);return t||(r.geometry.dispose(),r.geometry=void 0),n||(r.material.dispose(),r.material=void 0),r}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(49),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"construct",value:function(){var e=new u.Points;return e.geometry.dispose(),e.material.dispose(),e.geometry=void 0,e.material=void 0,e}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(5),p=r(l),f=n(16),h=r(f),d=n(32),m=r(d),v=function(e){function t(){var e,n,r,a;i(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=o(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r._invalidChild=function(e){return!(e instanceof c.SpriteMaterial||e instanceof m.default)},a=n,o(r,a)}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.hasOwnProperty("material")?e.material:void 0,n=new c.Sprite(t);return t||(n.material.dispose(),n.material=void 0),n}},{key:"addChildren",value:function(e,t){(0,p.default)(0===t.filter(this._invalidChild).length,!1)}},{key:"addChild",value:function(e,t){this.addChildren(e,[t])}},{key:"moveChild",value:function(){}}]),t}(h.default);e.exports=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(37),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("intensity",{type:p.default.number,simple:!0,default:1}),n.hasColor(),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.color,n=e.intensity;return new c.AmbientLight(t,n)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u,c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},p=n(0),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(p),h=n(1),d=r(h),m=n(37),v=r(m),y=(u=s=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("intensity",{type:d.default.number,simple:!0,default:1}),n.hasProp("shadowCameraLeft",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.left=t)},default:t.defaultShadowCameraLeft}),n.hasProp("shadowCameraBottom",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.bottom=t)},default:t.defaultShadowCameraBottom}),n.hasProp("shadowCameraRight",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.right=t)},default:t.defaultShadowCameraRight}),n.hasProp("shadowCameraTop",{type:d.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.top=t)},default:t.defaultShadowCameraTop}),n.hasColor(),n.hasDirection(),n}return a(t,e),c(t,[{key:"construct",value:function(e){var t=e.color,n=e.intensity,r=new f.DirectionalLight(t,n);return r.position.set(0,0,0),r}},{key:"unmount",value:function(e){l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}}]),t}(v.default),s.defaultShadowCameraLeft=-5,s.defaultShadowCameraRight=5,s.defaultShadowCameraTop=5,s.defaultShadowCameraBottom=-5,u);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(37),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=[1,0,Math.PI/3,10,1,0];return["intensity","distance","angle","exponent","decay","penumbra"].forEach(function(e,t){n.hasProp(e,{type:p.default.number,simple:!0,default:r[t]})}),n.hasProp("shadowCameraFov",{type:p.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.fov=t)},default:50}),n.hasColor(),n.hasDirection(),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.color,n=e.intensity,r=e.distance,i=e.angle,o=e.exponent,a=e.decay;return new c.SpotLight(t,n,r,i,o,a)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u,c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(0),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),f=n(1),h=r(f),d=n(37),m=r(d),v=(u=s=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),["intensity","decay"].forEach(function(e){n.hasProp(e,{type:h.default.number,simple:!0,default:1})}),n.hasProp("distance",{type:h.default.number,simple:!0,default:0}),n.hasProp("shadowCameraFov",{type:h.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.fov=t)},default:t.defaultShadowCameraFov}),n.hasProp("shadowCameraAspect",{type:h.default.number,updateInitial:!0,update:function(e,t,n){n&&(e.shadow.camera.aspect=t)},default:t.defaultShadowCameraAspect}),n.removeProp("lookAt"),n.removeProp("rotation"),n.removeProp("quaternion"),n}return a(t,e),c(t,[{key:"construct",value:function(e){var t=e.color,n=e.intensity,r=e.distance,i=e.decay;return new p.PointLight(t,n,r,i)}}]),t}(m.default),s.defaultShadowCameraFov=90,s.defaultShadowCameraAspect=1,u);e.exports=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(37),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor("skyColor"),n.hasColor("groundColor",13421772),n.hasProp("intensity",{type:p.default.number,simple:!0,default:1}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.skyColor,n=e.groundColor,r=e.intensity;return new c.HemisphereLight(t,n,r)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(12),d=r(h),m=n(76),v=r(m),y=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"construct",value:function(){return new v.default}},{key:"unmount",value:function(e){var n=e.userData.markup.parentMarkup,r=n.threeObject.userData.events;e.resourceIds.forEach(function(t){r.emit("resource.removed",{id:t,distance:0,resource:e.resourceMap[t]})}),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"addChildren",value:function(e,t){t.forEach(function(t){var n=t.userData._resourceId;(0,f.default)(!!n),e.resourceIds.push(n),e.resourceMap[n]=t;var r=e.userData.markup.parentMarkup;r&&r.threeObject.userData.events.emit("resource.added",{id:n,distance:0,resource:t})})}},{key:"addChild",value:function(e,t){this.addChildren(e,[t])}},{key:"removeChild",value:function(e,t){var n=t.userData._resourceId;delete e.resourceIds[n];var r=e.userData.markup.parentMarkup;r&&r.threeObject.userData.events.emit("resource.removed",{id:n,distance:0,resource:t})}},{key:"setParent",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n);var r=n.userData.events;n.userData._resources=e,e.resourceIds.forEach(function(t){r.emit("resource.added",{id:t,distance:0,resource:e.resourceMap[t]})})}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.updateMatrixWorld&&t.traverse&&e.userData.events.emit("highlight",{uuid:e.uuid,boundingBoxFunc:function(){var e=new l.Box3;return e.setFromObject(t),[e]}})}},{key:"hideHighlight",value:function(e){e.userData.events.emit("hideHighlight")}},{key:"moveChild",value:function(){}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(1),l=r(c),p=n(0),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(p),h=n(129),d=r(h),m=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("type",{type:l.default.oneOf(["points","spacedPoints","shape"]).isRequired,update:n.triggerRemount,default:""}),n.hasProp("divisions",{type:l.default.number,update:n.triggerRemount,default:5}),n}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData._divisions=n.divisions,e.userData._type=n.type}},{key:"applyToSlot",value:function(e,n,r){if(!r)return u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyToSlot",this).call(this,e,n,null);var i=void 0;switch(e.userData._type){case"points":i=r.createPointsGeometry();break;case"spacedPoints":i=r.createSpacedPointsGeometry(e.userData._divisions);break;case"shape":i=new f.ShapeGeometry(r)}return u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyToSlot",this).call(this,e,n,i)}}]),t}(d.default);e.exports=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(50),d=r(h),m=n(51),v=r(m),y=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData._propertySlot="map"}},{key:"applyToSlot",value:function(e,n,r){n instanceof l.Material?(u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyToSlot",this).call(this,e,n,r),n.dispose()):n instanceof v.default?n.setValue(r):(0,f.default)(!1,"Parent is not a material or a uniform")}},{key:"setParent",value:function(e,n){n instanceof l.Material?u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n):n instanceof v.default?(e.userData._propertySlot="value",u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)):(0,f.default)(!1,"Parent is not a material or a uniform")}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(50),d=r(h),m=n(130),v=r(m),y=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData._remountOnUpdate=!0}},{key:"construct",value:function(e){return new v.default(e.resourceId)}},{key:"setParent",value:function(e,n){(0,f.default)(n instanceof l.ExtrudeGeometry||n instanceof l.BufferGeometry,"Parent is not an extrude geometry"),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}},{key:"applyToSlot",value:function(e,t,n){e.userData.events.emit("resource.set",n)}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=n(8),m=r(d),v=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("vertices",{override:!0,type:p.default.arrayOf((0,m.default)(c.Vector3)).isRequired,update:function(e,t){e.vertices!==t&&(e.vertices=t,e.verticesNeedUpdate=!0)},updateInitial:!0,default:[]}),n}return a(t,e),s(t,[{key:"construct",value:function(){return new c.Geometry}}]),t}(h.default);e.exports=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=n(8),m=r(d),v=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["vertices","colors","faceVertexUvs","faces","dynamic"].forEach(function(e){n.removeProp(e)}),["position","normal","color"].forEach(function(e){n.hasProp(e,{type:p.default.oneOfType([(0,m.default)(c.BufferAttribute),(0,m.default)(c.InterleavedBufferAttribute)]),update:function(t,n){n?t.addAttribute(e,n):t.removeAttribute(e)},updateInitial:!0,default:void 0})}),n.hasProp("index",{type:p.default.oneOfType([(0,m.default)(c.BufferAttribute),(0,m.default)(c.InterleavedBufferAttribute)]),update:function(e,t){e.setIndex(t)},updateInitial:!0,default:void 0}),n}return a(t,e),s(t,[{key:"construct",value:function(){return new c.BufferGeometry}}]),t}(h.default);e.exports=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["width","height","depth"].forEach(function(e){n.hasProp(e,{type:p.default.number.isRequired,update:n.triggerRemount,default:1})}),["widthSegments","heightSegments","depthSegments"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:1})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.width,n=e.height,r=e.depth,i=e.widthSegments,o=e.heightSegments,a=e.depthSegments;return new c.BoxGeometry(t,n,r,i,o,a)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(53),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("radius",{type:p.default.number,update:n.updateCacheAndReplace.bind(n,"radius"),default:void 0}),["widthSegments","heightSegments"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:void 0})}),["phiStart","phiLength","thetaStart","thetaLength"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.updateCacheAndReplace.bind(n,e),default:void 0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.radius,n=e.widthSegments,r=e.heightSegments,i=e.phiStart,o=e.phiLength,a=e.thetaStart,s=e.thetaLength;return new c.SphereBufferGeometry(t,n,r,i,o,a,s)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["slices","stacks"].forEach(function(e){n.hasProp(e,{type:p.default.number.isRequired,update:n.triggerRemount,default:void 0})}),n.hasProp("parametricFunction",{type:p.default.func.isRequired,update:n.triggerRemount,default:void 0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.parametricFunction,n=e.slices,r=e.stacks;return new c.ParametricGeometry(t,n,r)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(53),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["width","height"].forEach(function(e){n.hasProp(e,{type:p.default.number.isRequired,update:n.updateCacheAndReplace.bind(n,e),default:1})}),["widthSegments","heightSegments"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:1})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.width,n=e.height,r=e.widthSegments,i=e.heightSegments;return new c.PlaneBufferGeometry(t,n,r,i)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["width","height"].forEach(function(e){n.hasProp(e,{type:p.default.number.isRequired,update:n.triggerRemount,default:void 0})}),["widthSegments","heightSegments"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:1})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.width,n=e.height,r=e.widthSegments,i=e.heightSegments;return new c.PlaneGeometry(t,n,r,i)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(54),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("vertices",{override:!0,type:p.default.arrayOf(p.default.number).isRequired,update:n.triggerRemount,default:void 0}),n.hasProp("indices",{type:p.default.arrayOf(p.default.number).isRequired,update:n.triggerRemount,default:void 0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.vertices,n=e.indices,r=e.radius,i=e.detail;return new c.PolyhedronGeometry(t,n,r,i)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(54),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"construct",value:function(e){var t=e.radius,n=e.detail;return new u.IcosahedronGeometry(t,n)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(54),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"construct",value:function(e){var t=e.radius,n=e.detail;return new u.OctahedronGeometry(t,n)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(54),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"construct",value:function(e){var t=e.radius,n=e.detail;return new u.TetrahedronGeometry(t,n)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["radius","segments","thetaStart","thetaLength"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:void 0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.radius,n=e.segments,r=e.thetaStart,i=e.thetaLength;return new c.CircleGeometry(t,n,r,i)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(53),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["radius","segments","thetaStart","thetaLength"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.updateCacheAndReplace.bind(n,e),default:void 0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.radius,n=e.segments,r=e.thetaStart,i=e.thetaLength;return new c.CircleBufferGeometry(t,n,r,i)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["innerRadius","outerRadius","thetaSegments","phiSegments","thetaStart","thetaLength"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:void 0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.innerRadius,n=e.outerRadius,r=e.thetaSegments,i=e.phiSegments,o=e.thetaStart,a=e.thetaLength;return new c.RingGeometry(t,n,r,i,o,a)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["radiusTop","radiusBottom","height","radialSegments","heightSegments","openEnded","thetaStart","thetaLength"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:void 0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.radiusTop,n=e.radiusBottom,r=e.height,i=e.radialSegments,o=e.heightSegments,a=e.openEnded,s=e.thetaStart,u=e.thetaLength;return new c.CylinderGeometry(t,n,r,i,o,a,s,u)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=n(8),m=r(d),v=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["segments","phiStart","phiLength"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:void 0})}),n.hasProp("points",{type:p.default.arrayOf((0,m.default)(c.Vector2)).isRequired,update:n.triggerRemount,default:void 0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.points,n=e.segments,r=e.phiStart,i=e.phiLength;return new c.LatheGeometry(t,n,r,i)}}]),t}(h.default);e.exports=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["radius","tube","radialSegments","tubularSegments","arc"].forEach(function(e){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:void 0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.radius,n=e.tube,r=e.radialSegments,i=e.tubularSegments,o=e.arc;return new c.TorusGeometry(t,n,r,i,o)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=[100,40,64,8,2,3,void 0];return["radius","tube","tubularSegments","radialSegments","p","q","heightScale"].forEach(function(e,t){n.hasProp(e,{type:p.default.number,update:n.triggerRemount,default:r[t]})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.radius,n=e.tube,r=e.tubularSegments,i=e.radialSegments,o=e.p,a=e.q,s=e.heightScale;return new c.TorusKnotGeometry(t,n,r,i,o,a,s)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},l=n(0),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(l),f=n(1),h=r(f),d=n(131),m=r(d),v=n(8),y=r(v),g=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));n.hasProp("settings",{type:h.default.any,update:function(e,t){e.userData._settings=t},updateInitial:!0,default:void 0}),n.hasProp("UVGenerator",{type:h.default.shape({generateTopUV:h.default.func,generateSideWallUV:h.default.func}),update:function(e,t){void 0===t?delete e.userData._options.UVGenerator:e.userData._options.UVGenerator=t,e.userData._needsToRefreshGeometry=!0},default:void 0}),["steps","amount","bevelThickness","bevelSize","bevelSegments","extrudeMaterial"].forEach(function(e){n.hasProp(e,{type:h.default.number,update:function(t,n){void 0===n?delete t.userData._options[e]:t.userData._options[e]=n,t.userData._needsToRefreshGeometry=!0},default:void 0})});var r=["bevelEnabled","extrudePath","frames"],a=[h.default.bool,(0,y.default)(p.CurvePath),h.default.shape({tangents:h.default.arrayOf((0,y.default)(p.Vector3)),normals:h.default.arrayOf((0,y.default)(p.Vector3)),binormals:h.default.arrayOf((0,y.default)(p.Vector3))})];return r.forEach(function(e,t){n.hasProp(e,{type:a[t],update:function(t,n){void 0===n?delete t.userData._options[e]:t.userData._options[e]=n,t.userData._needsToRefreshGeometry=!0},default:void 0})}),n}return a(t,e),u(t,[{key:"refreshGeometry",value:function(e){var t=e.userData._shapeCache.filter(function(e){return!!e}).concat(e.userData._shapesFromProps);e.fromGeometry(new p.ExtrudeGeometry(t,s({},e.userData._options,e.userData._settings)))}},{key:"getOptions",value:function(e){var n=c(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getOptions",this).call(this,e);return["steps","amount","bevelEnabled","bevelThickness","bevelSize","bevelSegments","extrudePath","frames","extrudeMaterial"].forEach(function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n}}]),t}(m.default);e.exports=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=n(8),m=r(d),v=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("path",{type:(0,m.default)(c.Curve).isRequired,update:n.triggerRemount}),n.hasProp("segments",{type:p.default.number,update:n.triggerRemount,default:64}),n.hasProp("radius",{type:p.default.number,update:n.triggerRemount,default:1}),n.hasProp("radiusSegments",{type:p.default.number,update:n.triggerRemount,default:8}),n.hasProp("closed",{type:p.default.bool,update:n.triggerRemount,default:!1}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.path,n=e.segments,r=e.radius,i=e.radiusSegments,o=e.closed;return new c.TubeGeometry(t,n,r,i,o)}}]),t}(h.default);e.exports=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("radius",{type:p.default.number,update:n.triggerRemount,default:1}),n.hasProp("detail",{type:p.default.number,update:n.triggerRemount,default:0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.radius,n=e.detail;return new c.DodecahedronGeometry(t,n)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(9),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("text",{type:p.default.string.isRequired,update:n.triggerRemount,default:"TEXT MISSING"}),n.hasProp("font",{type:p.default.instanceOf(c.Font).isRequired,update:n.triggerRemount}),n.hasProp("size",{type:p.default.number.isRequired,update:n.triggerRemount}),n.hasProp("height",{type:p.default.number,update:n.triggerRemount,default:50}),n.hasProp("curveSegments",{type:p.default.number,update:n.triggerRemount,default:12}),n.hasProp("bevelEnabled",{type:p.default.bool,update:n.triggerRemount,default:!1}),n.hasProp("bevelThickness",{type:p.default.number,update:n.triggerRemount,default:10}),n.hasProp("bevelSize",{type:p.default.number,update:n.triggerRemount,default:8}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.text,n=e.font,r=e.size,i=e.height,o=e.curveSegments,a=e.bevelEnabled,s=e.bevelThickness,u=e.bevelSize;return new c.TextGeometry(t,{font:n,size:r,height:i,curveSegments:o,bevelEnabled:a,bevelThickness:s,bevelSize:u})}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(131),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),a(t,[{key:"refreshGeometry",value:function(e){var t=e.userData._shapeCache.filter(function(e){return!!e}).concat(e.userData._shapesFromProps);e.userData._options.hasOwnProperty("curveSegments")?e.fromGeometry(new u.ShapeGeometry(t,e.userData._options.curveSegments)):e.fromGeometry(new u.ShapeGeometry(t))}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(53),h=r(f),d=n(8),m=r(d),v=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("thresholdAngle",{type:p.default.number,update:n.updateCacheAndReplace.bind(n,"thresholdAngle"),default:void 0}),n.hasProp("geometry",{type:p.default.oneOfType([(0,m.default)(c.Geometry),(0,m.default)(c.BufferGeometry)]).isRequired,update:n.updateCacheAndReplace.bind(n,"geometry"),default:void 0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.geometry,n=e.thresholdAngle;return new c.EdgesGeometry(t,n)}}]),t}(h.default);e.exports=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(132),f=r(p),h=n(52),d=r(h),m=(0,d.default)(s=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:"construct",value:function(e){return e.hasOwnProperty("points")?new l.Shape(e.points):new l.Shape}}]),t}(f.default))||s;e.exports=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),c=r(u),l=n(27),p=r(l),f=n(300),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["x","y"].forEach(function(e){n.hasProp(e,{type:c.default.number.isRequired,update:n.triggerRemount,default:0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){return new h.default(e.x,e.y)}}]),t}(p.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(s),n(22)),c=function(e){return e&&e.__esModule?e:{default:e}}(u),l=function(e){function t(e,n){r(this,t);var o=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return o.x=e,o.y=n,o}return o(t,e),a(t,[{key:"performAction",value:function(e){e.moveTo(this.x,this.y)}}]),t}(c.default);e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),c=r(u),l=n(27),p=r(l),f=n(302),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["x","y"].forEach(function(e){n.hasProp(e,{type:c.default.number.isRequired,update:n.triggerRemount,default:0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){return new h.default(e.x,e.y)}}]),t}(p.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(s),n(22)),c=function(e){return e&&e.__esModule?e:{default:e}}(u),l=function(e){function t(e,n){r(this,t);var o=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return o.x=e,o.y=n,o}return o(t,e),a(t,[{key:"performAction",value:function(e){e.lineTo(this.x,this.y)}}]),t}(c.default);e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),c=r(u),l=n(27),p=r(l),f=n(304),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["cp1X","cp1Y","cp2X","cp2Y","aX","aY"].forEach(function(e){n.hasProp(e,{type:c.default.number.isRequired,update:n.triggerRemount,default:0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.cp1X,n=e.cp1Y,r=e.cp2X,i=e.cp2Y,o=e.aX,a=e.aY;return new h.default(t,n,r,i,o,a)}}]),t}(p.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(s),n(22)),c=function(e){return e&&e.__esModule?e:{default:e}}(u),l=function(e){function t(e,n,o,a,s,u){r(this,t);var c=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return c.cp1X=e,c.cp1Y=n,c.cp2X=o,c.cp2Y=a,c.aX=s,c.aY=u,c}return o(t,e),a(t,[{key:"performAction",value:function(e){e.bezierCurveTo(this.cp1X,this.cp1Y,this.cp2X,this.cp2Y,this.aX,this.aY)}}]),t}(c.default);e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),c=r(u),l=n(27),p=r(l),f=n(306),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["cpX","cpY","x","y"].forEach(function(e){n.hasProp(e,{type:c.default.number.isRequired,update:n.triggerRemount,default:0})}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.cpX,n=e.cpY,r=e.x,i=e.y;return new h.default(t,n,r,i)}}]),t}(p.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(s),n(22)),c=function(e){return e&&e.__esModule?e:{default:e}}(u),l=function(e){function t(e,n,o,a){r(this,t);var s=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return s.cpX=e,s.cpY=n,s.x=o,s.y=a,s}return o(t,e),a(t,[{key:"performAction",value:function(e){e.quadraticCurveTo(this.cpX,this.cpY,this.x,this.y)}}]),t}(c.default);e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),c=r(u),l=n(27),p=r(l),f=n(308),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["x","y","radius","startAngle","endAngle"].forEach(function(e){n.hasProp(e,{type:c.default.number.isRequired,update:n.triggerRemount,default:0})}),n.hasProp("clockwise",{type:c.default.bool.isRequired,update:n.triggerRemount,default:!1}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.x,n=e.y,r=e.radius,i=e.startAngle,o=e.endAngle,a=e.clockwise;return new h.default(t,n,r,i,o,a)}}]),t}(p.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(s),n(22)),c=function(e){return e&&e.__esModule?e:{default:e}}(u),l=function(e){function t(e,n,o,a,s,u){r(this,t);var c=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return c.x=e,c.y=n,c.radius=o,c.startAngle=a,c.endAngle=s,c.clockwise=u,c}return o(t,e),a(t,[{key:"performAction",value:function(e){e.absarc(this.x,this.y,this.radius,this.startAngle,this.endAngle,this.clockwise)}}]),t}(c.default);e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),c=r(u),l=n(27),p=r(l),f=n(310),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["x","y","xRadius","yRadius","startAngle","endAngle"].forEach(function(e){n.hasProp(e,{type:c.default.number.isRequired,update:n.triggerRemount,default:0})}),n.hasProp("clockwise",{type:c.default.bool,update:n.triggerRemount,default:!1}),n.hasProp("rotation",{type:c.default.number,update:n.triggerRemount,default:0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=e.x,n=e.y,r=e.xRadius,i=e.yRadius,o=e.startAngle,a=e.endAngle,s=e.clockwise,u=e.rotation;return new h.default(t,n,r,i,o,a,s,u)}}]),t}(p.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(s),n(22)),c=function(e){return e&&e.__esModule?e:{default:e}}(u),l=function(e){function t(e,n,o,a,s,u,c,l){r(this,t);var p=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return p.x=e,p.y=n,p.xRadius=o,p.yRadius=a,p.startAngle=s,p.endAngle=u,p.clockwise=c,p.rotation=l,p}return o(t,e),a(t,[{key:"performAction",value:function(e){e.absellipse(this.x,this.y,this.xRadius,this.yRadius,this.startAngle,this.endAngle,this.clockwise,this.rotation)}}]),t}(c.default);e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(132),d=r(h),m=n(133),v=r(m),y=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"construct",value:function(){return new v.default}},{key:"performChildAction",value:function(e,t){t.performAction(e.path)}},{key:"setParent",value:function(e,n){return(0,f.default)(n instanceof l.Shape,"Holes can only be added to shapes."),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(27),h=r(f),d=n(313),m=r(d),v=n(8),y=r(v),g=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("points",{type:p.default.arrayOf((0,y.default)(c.Vector2)).isRequired,update:n.triggerRemount,default:[]}),n}return a(t,e),s(t,[{key:"construct",value:function(e){return new m.default(e.points)}}]),t}(h.default);e.exports=g},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=(function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(s),n(22)),c=function(e){return e&&e.__esModule?e:{default:e}}(u),l=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.points=e,n}return o(t,e),a(t,[{key:"performAction",value:function(e){e.splineThru(this.points)}}]),t}(c.default);e.exports=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(18),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),n.hasProp("size",{type:p.default.number,simple:!0,default:1}),n.hasProp("sizeAttenuation",{type:p.default.bool,update:function(e,t,n){n&&(e.sizeAttenuation=t),e.needsUpdate=!0},updateInitial:!0,default:!0}),n.hasProp("fog",{type:p.default.bool,update:function(e,t,n){n&&(e.fog=t),e.needsUpdate=!0},updateInitial:!0,default:!0}),n.hasMap(),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new c.PointsMaterial(t)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(18),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),n.hasWireframe(),n.hasMap(),n.hasMap("aoMap"),n.hasMap("specularMap"),n.hasMap("alphaMap"),n.hasMap("envMap"),n}return o(t,e),a(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new u.MeshBasicMaterial(t)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(18),d=r(h),m=n(8),v=r(m),y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),n.hasColor("specular",1118481),n.hasColor("emissive",0),n.hasWireframe(),n.hasProp("shininess",{type:f.default.number,simple:!0,default:30}),n.hasProp("metal",{type:f.default.bool,update:function(e,t){e.metal=t,e.needsUpdate=!0},default:!1}),["lightMapIntensity","aoMapIntensity","emissiveIntensity","bumpScale","displacementScale","reflectivity"].forEach(function(e){n.hasProp(e,{type:f.default.number,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:1})}),["displacementBias"].forEach(function(e){n.hasProp(e,{type:f.default.number,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:0})}),["refractionRatio"].forEach(function(e){n.hasProp(e,{type:f.default.number,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:.98})}),n.hasProp("normalScale",{type:(0,v.default)(l.Vector2),update:function(e,t){e.normalScale.copy(t),e.needsUpdate=!0},default:new l.Vector2(1,1)}),n.hasProp("shading",{type:f.default.oneOf([l.FlatShading,l.SmoothShading]),update:function(e,t){e.shading=t,e.needsUpdate=!0},default:l.SmoothShading}),["skinning","morphTargets","morphNormals"].forEach(function(e){n.hasProp(e,{type:f.default.bool,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:!1})}),n.hasMap(),n.hasMap("lightMap"),n.hasMap("aoMap"),n.hasMap("emissiveMap"),n.hasMap("bumpMap"),n.hasMap("normalMap"),n.hasMap("displacementMap"),n.hasMap("specularMap"),n.hasMap("alphaMap"),n.hasMap("envMap"),n}return a(t,e),s(t,[{key:"getMaterialDescription",value:function(e){var n=u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getMaterialDescription",this).call(this,e);return["shininess","lightMapIntensity","aoMapIntensity","emissiveIntensity","bumpScale","displacementScale","reflectivity","displacementBias","refractionRatio","normalScale","shading","skinning","morphTargets","morphNormals"].forEach(function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n}},{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new l.MeshPhongMaterial(t)}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(18),p=function(e){return e&&e.__esModule?e:{default:e}}(l),f=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),n.hasColor("emissive",0),n.hasWireframe(),n.hasMap(),n.hasMap("lightMap"),n.hasMap("aoMap"),n.hasMap("emissiveMap"),n.hasMap("specularMap"),n.hasMap("alphaMap"),n.hasMap("envMap"),n}return o(t,e),a(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new c.MeshLambertMaterial(t)}},{key:"getMaterialDescription",value:function(e){var n=s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getMaterialDescription",this).call(this,e);return e.hasOwnProperty("shininess")&&(n.shininess=e.shininess),e.hasOwnProperty("map")&&(n.map=e.map),n}},{key:"applyInitialProps",value:function(e,n){s(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),n.hasOwnProperty("map")||(e.map=null)}}]),t}(p.default);e.exports=f},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(18),d=r(h),m=n(8),v=r(m),y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),n.hasColor("emissive",0),n.hasWireframe(),["roughness","metalness"].forEach(function(e){n.hasProp(e,{type:f.default.number,simple:!0,default:.5})}),["lightMapIntensity","aoMapIntensity","emissiveIntensity","bumpScale","displacementScale"].forEach(function(e){n.hasProp(e,{type:f.default.number,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:1})}),["displacementBias"].forEach(function(e){n.hasProp(e,{type:f.default.number,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:0})}),["refractionRatio"].forEach(function(e){n.hasProp(e,{type:f.default.number,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:.98})}),n.hasProp("normalScale",{type:(0,v.default)(l.Vector2),update:function(e,t){e.normalScale.copy(t),e.needsUpdate=!0},default:new l.Vector2(1,1)}),n.hasProp("shading",{type:f.default.oneOf([l.FlatShading,l.SmoothShading]),update:function(e,t){e.shading=t,e.needsUpdate=!0},default:l.SmoothShading}),["skinning","morphTargets","morphNormals"].forEach(function(e){n.hasProp(e,{type:f.default.bool,update:function(t,n){t[e]=n,t.needsUpdate=!0},default:!1})}),n.hasMap(),n.hasMap("lightMap"),n.hasMap("aoMap"),n.hasMap("emissiveMap"),n.hasMap("bumpMap"),n.hasMap("normalMap"),n.hasMap("displacementMap"),n.hasMap("roughnessMap"),n.hasMap("metalnessMap"),n.hasMap("alphaMap"),n.hasMap("envMap"),n}return a(t,e),s(t,[{key:"getMaterialDescription",value:function(e){var n=u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getMaterialDescription",this).call(this,e);return["roughness","metalness","lightMapIntensity","aoMapIntensity","emissiveIntensity","bumpScale","displacementScale","displacementBias","refractionRatio","normalScale","shading","skinning","morphTargets","morphNormals"].forEach(function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n}},{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new l.MeshStandardMaterial(t)}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(134),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["alphaTest"].forEach(function(e){n.removeProp(e)}),n}return o(t,e),a(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new u.RawShaderMaterial(t)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s,u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},p=n(0),f=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(p),h=n(5),d=r(h),m=n(19),v=r(m),y=n(1),g=r(y),b=n(52),_=r(b),w=n(12),x=r(w),E=n(51),M=r(E),O=n(48),T=(r(O),n(8)),P=r(T),S=(0,_.default)(s=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("slot",{type:g.default.oneOf(["map","specularMap","lightMap","aoMap","emissiveMap","bumpMap","normalMap","displacementMap","roughnessMap","metalnessMap","alphaMap","envMap"]),updateInitial:!0,update:function(e,t){var r=e.userData._materialSlot;if(e.userData._materialSlot=t,e.userData.markup){var i=e.userData.markup.parentMarkup;if(i){var o=i.threeObject;o instanceof f.Material&&(n.removeFromSlotOfMaterial(o,r,e),n.addToSlotOfMaterial(o,t,e))}}},default:"map"}),n.hasProp("repeat",{type:(0,P.default)(f.Vector2),updateInitial:!0,update:function(e,t){t?e.repeat.copy(t):e.repeat.set(1,1)},default:new f.Vector2(1,1)}),n.hasProp("offset",{type:(0,P.default)(f.Vector2),updateInitial:!0,update:function(e,t){t?e.offset.copy(t):e.offset.set(0,0)},default:new f.Vector2(0,0)}),["wrapS","wrapT"].forEach(function(e){n.hasProp(e,{type:g.default.oneOf([f.RepeatWrapping,f.ClampToEdgeWrapping,f.MirroredRepeatWrapping]),updateInitial:!0,update:function(t,n){t[e]=n,t.image&&(t.needsUpdate=!0)},default:f.ClampToEdgeWrapping})}),n.hasProp("anisotropy",{type:g.default.number,updateInitial:!0,update:function(e,t){e.anisotropy=t,e.image&&(e.needsUpdate=!0)},default:1}),n.hasProp("url",{type:g.default.string.isRequired,update:n.triggerRemount,default:""}),n.hasProp("crossOrigin",{type:g.default.string,update:n.triggerRemount,default:void 0}),["onLoad","onProgress","onError"].forEach(function(e){n.hasProp(e,{type:g.default.func,update:function(){},default:void 0})}),n.hasProp("magFilter",{type:g.default.oneOf([f.LinearFilter,f.NearestFilter]),update:function(e,t){e.magFilter=t,e.image&&(e.needsUpdate=!0)},default:f.LinearFilter}),n.hasProp("minFilter",{type:g.default.oneOf([f.LinearMipMapLinearFilter,f.NearestFilter,f.NearestMipMapNearestFilter,f.NearestMipMapLinearFilter,f.LinearFilter,f.LinearMipMapNearestFilter]),update:function(e,t){e.minFilter=t,e.image&&(e.needsUpdate=!0)},default:f.LinearMipMapLinearFilter}),n}return a(t,e),c(t,[{key:"construct",value:function(e){var t=void 0;if(e.hasOwnProperty("url")){var n=new f.TextureLoader;e.hasOwnProperty("crossOrigin")&&(n.crossOrigin=e.crossOrigin);var r=void 0,i=void 0,o=void 0;e.hasOwnProperty("onLoad")&&(r=e.onLoad),e.hasOwnProperty("onProgress")&&(i=e.onProgress),e.hasOwnProperty("onError")&&(o=e.onError),t=n.load(e.url,r,i,o),e.hasOwnProperty("minFilter")&&(t.minFilter=e.minFilter)}else(0,d.default)(!1,"The texture needs a url property.");return t}},{key:"setParent",value:function(e,n){if(n instanceof f.Material){var r=e.userData._materialSlot;this.addToSlotOfMaterial(n,r,e)}else n instanceof M.default?n.setValue(e):(0,d.default)(!1,"Parent of a texture is not a material nor a uniform, it needs to be one of them.");l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}},{key:"applyInitialProps",value:function(e,n){e.userData=u({},e.userData),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"unmount",value:function(e){var n=e.userData.markup.parentMarkup.threeObject,r=e.userData._materialSlot;n instanceof f.Material?this.removeFromSlotOfMaterial(n,r,e):n instanceof M.default&&n.value===e&&n.setValue(null),e.dispose(),l(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"removeFromSlotOfMaterial",value:function(e,t,n){e[t]===n&&(e.userData["_has"+t+"}TextureChild"]=!1,e.userData["_"+t+"}Property"]?e[t]=e.userData["_"+t+"}Property"]:e[t]=null,e.needsUpdate=!0)}},{key:"addToSlotOfMaterial",value:function(e,t,n){if(e.userData["_has"+t+"}TextureChild"]=!0,e.userData["_"+t+"}Property"]){var r="texture";"map"!==t&&(r+="with a '"+t+"' slot"),(0,v.default)(!1,"The material already has a '"+t+"' property but a "+r+" is being added as a child. The child will override the property.")}e[t]!==n&&(e[t]=n)}},{key:"validateParentSlot",value:function(e,t){var n=e.userData.react3internalComponent;if(n){var r=n.threeElementDescriptor;r&&!r._supportedMaps[t]&&(0,v.default)(!1,"A texture cannot be assigned as a '"+t+"' to '"+e.type+"'")}}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.highlight(t)}},{key:"hideHighlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.hideHighlight(t)}}]),t}(x.default))||s;e.exports=S},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(50),d=r(h),m=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),n.hasOwnProperty("slot")?e.userData._propertySlot=n.slot:e.userData._propertySlot="material"}},{key:"setParent",value:function(e,n){(0,f.default)(n instanceof l.Mesh||n instanceof l.Points||n instanceof l.Line,"Parent is not a mesh"),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n)}}]),t}(d.default);e.exports=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(12),d=r(h),m=n(77),v=r(m),y=n(51),g=r(y),b=function(e){function t(){return i(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:"construct",value:function(){return new v.default}},{key:"setParent",value:function(e,n){(0,f.default)(n instanceof l.ShaderMaterial,"Parent of <uniforms/> is not a shader material"),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n),n.uniforms=e.uniforms}},{key:"addChildren",value:function(e,t){t.forEach(function(e){(0,f.default)(e instanceof g.default,"The <uniforms/> component can only have <uniform/> elements as children.")})}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.highlight(t)}},{key:"getBoundingBoxes",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;return t.userData._descriptor.getBoundingBoxes(t)}},{key:"hideHighlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.hideHighlight(t)}}]),t}(d.default);e.exports=b},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(5),f=r(p),h=n(1),d=r(h),m=n(51),v=r(m),y=n(77),g=r(y),b=n(32),_=r(b),w=n(12),x=r(w),E=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._invalidChild=function(e){return n.invalidChildInternal(e)},n.hasProp("type",{type:d.default.string.isRequired,simple:!0}),n.hasProp("value",{type:d.default.any,update:function(e,t){e.setValue(t)},default:null}),n.hasProp("name",{type:d.default.string.isRequired,update:n.triggerRemount}),n}return a(t,e),s(t,[{key:"construct",value:function(){return new v.default}},{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),(0,f.default)(n.hasOwnProperty("name"),"The <uniform/> should have a 'name' property"),e.name=n.name,e.value=n.value}},{key:"setParent",value:function(e,n){(0,f.default)(n instanceof g.default,"Parent is not a Uniform Container (<uniforms/>)");var r=e.name;u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setParent",this).call(this,e,n),n.uniforms[r]={type:e.type,value:e.value},e.userData._onValueChanged=function(e){n.uniforms[r].value=e},e.userData.events.on("valueChanged",e.userData._onValueChanged)}},{key:"addChildren",value:function(e,t){(0,f.default)(0===t.filter(this._invalidChild).length,"Uniform children can only be textures or resource references")}},{key:"addChild",value:function(e,t){this.addChildren(e,[t])}},{key:"removeChild",value:function(){}},{key:"invalidChildInternal",value:function(e){return!(e instanceof l.Texture||e instanceof _.default)}},{key:"unmount",value:function(e){e.userData.events.removeListener("valueChanged",e.userData._onValueChanged),delete e.userData._onValueChanged,u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"highlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.highlight(t)}},{key:"getBoundingBoxes",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;return t.userData._descriptor.getBoundingBoxes(t)}},{key:"hideHighlight",value:function(e){var t=e.userData.markup.parentMarkup.threeObject;t.userData._descriptor.hideHighlight(t)}}]),t}(x.default);e.exports=E},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(18),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),n.hasProp("linewidth",{type:p.default.number,simple:!0,default:1}),["linecap","linejoin"].forEach(function(e){n.hasProp(e,{type:p.default.oneOf(["round"]),simple:!0,default:"round"})}),n.hasProp("fog",{type:p.default.bool,update:function(e,t,n){n&&(e.fog=t),e.needsUpdate=!0},updateInitial:!0,default:!0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new c.LineBasicMaterial(t)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(18),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),["linewidth","scale","gapSize"].forEach(function(e){n.hasProp(e,{type:p.default.number,simple:!0,default:1})}),n.hasProp("dashSize",{type:p.default.number,simple:!0,default:3}),["linecap","linejoin"].forEach(function(e){n.hasProp(e,{type:p.default.oneOf(["round"]),simple:!0,default:"round"})}),n.hasProp("fog",{type:p.default.bool,update:function(e,t,n){n&&(e.fog=t),e.needsUpdate=!0},updateInitial:!0,default:!0}),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new c.LineDashedMaterial(t)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(18),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasWireframe(),n.hasMap(),n.hasMap("alphaMap"),n.hasMap("displacementMap"),n}return o(t,e),a(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new u.MeshDepthMaterial(t)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(s),c=n(18),l=function(e){return e&&e.__esModule?e:{default:e}}(c),p=function(e){function t(e){r(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasWireframe(),n}return o(t,e),a(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new u.MeshNormalMaterial(t)}}]),t}(l.default);e.exports=p},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(0),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(u),l=n(1),p=r(l),f=n(18),h=r(f),d=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasColor(),n.hasProp("rotation",{type:p.default.number,simple:!0,default:0}),n.hasProp("fog",{type:p.default.bool,update:function(e,t,n){n&&(e.fog=t),e.needsUpdate=!0},updateInitial:!0,default:!1}),n.hasMap(),n}return a(t,e),s(t,[{key:"construct",value:function(e){var t=this.getMaterialDescription(e);return new c.SpriteMaterial(t)}}]),t}(h.default);e.exports=d},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(16),d=r(h),m=n(126),v=r(m),y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("visible",{type:f.default.bool,override:!0,update:function(e,t){e.userData._visible=t,e.visible=e.userData._hasCamera&&t},updateInitial:!0,default:!0}),n.hasProp("cameraName",{type:f.default.string.isRequired,update:function(e,t){n._clearCameraEvents(e),e.userData._cameraName=t,n._startCameraFinder(e)},default:void 0}),n}return a(t,e),s(t,[{key:"construct",value:function(){return new l.CameraHelper(new l.PerspectiveCamera)}},{key:"applyInitialProps",value:function(e,n){var r=this;u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n),e.userData._onCameraProjectionUpdate=function(){e.update()},e.userData._onCameraDispose=function(){r._startCameraFinder(e)},e.userData._onCameraRename=function(t){t.oldName===e.userData._cameraName&&r._startCameraFinder(e)},e.userData._onBeforeRender=function(){e.visible=e.userData._hasCamera&&e.userData._visible&&v.default.current!==e.userData._camera},e.userData._cameraName=n.cameraName,e.userData._visible=!n.hasOwnProperty("visible")||n.visible,e.userData.events.once("addedIntoRoot",function(){e.userData.markup._rootInstance.addBeforeRenderListener(e.userData._onBeforeRender),r._startCameraFinder(e)})}},{key:"unmount",value:function(e){return this._clearCameraEvents(e),delete e.userData._onCameraProjectionUpdate,u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}},{key:"_getCamera",value:function(e,t){var n=null;if(t){var r=e.getObjectsByName(t).filter(function(e){return e instanceof l.Camera});r.length>0&&(n=r[0])}return n}},{key:"_clearCameraEvents",value:function(e){e.userData._hasCamera&&(e.userData._camera.userData.events.removeListener("updateProjectionMatrix",e.userData._onCameraProjectionUpdate),e.userData._camera.userData.events.removeListener("dispose",e.userData._onCameraDispose),e.userData._camera.userData.events.removeListener("rename",e.userData._onCameraRename))}},{key:"_setCamera",value:function(e,t){var n=e.userData;if(n._camera!==t){this._clearCameraEvents(e),n._hasCamera=!0,n._camera=t,e.camera=t,e.matrix=t.matrixWorld,e.update(),e.visible=n._visible;var r=e.userData._camera.userData.events;r.on("rename",n._onCameraRename),r.on("updateProjectionMatrix",n._onCameraProjectionUpdate),r.once("dispose",n._onCameraDispose)}}},{key:"_startCameraFinder",value:function(e){var t=this;this._clearCameraEvents(e);var n=e.userData.markup&&e.userData.markup._rootInstance;if(n){e.userData._hasCamera=!1,e.userData._camera=null,e.camera=new l.PerspectiveCamera,e.visible=!1;var r=this._getCamera(n,e.userData._cameraName);if(r)this._setCamera(e,r);else{var i=function r(){var i=t._getCamera(n,e.userData._cameraName);i&&(n.removeAnimateListener(r),t._setCamera(e,i))};n.addAnimateListener(i)}}}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(16),d=r(h),m=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("size",{type:f.default.number,update:n.triggerRemount,default:1}),n}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"construct",value:function(e){var t=e.size;return new l.AxisHelper(t)}},{key:"unmount",value:function(e){e.geometry.dispose(),e.material.dispose(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}}]),t}(d.default);e.exports=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(16),d=r(h),m=n(8),v=r(m),y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("origin",{type:(0,v.default)(l.Vector3).isRequired,update:function(e,t){e.position.copy(t)},default:void 0}),n.hasProp("dir",{type:(0,v.default)(l.Vector3).isRequired,update:function(e,t){e.setDirection(t)},default:void 0}),n.hasProp("color",{type:f.default.oneOfType([(0,v.default)(l.Color),f.default.number,f.default.string]),update:function(e,t){e.setColor(t)},default:16776960}),n.hasProp("length",{type:f.default.number,update:function(e,t){e.userData.lengthProps.length=t,e.userData.lengthsChanged=!0},default:1}),n.hasProp("headLength",{type:f.default.number,update:function(e,t){e.userData.lengthProps.headLength=t,e.userData.lengthsChanged=!0},default:void 0}),n.hasProp("headWidth",{type:f.default.number,update:function(e,t){e.userData.lengthProps.headWidth=t,e.userData.lengthsChanged=!0},default:void 0}),n}return a(t,e),s(t,[{key:"beginPropertyUpdates",value:function(e){e.userData.lengthsChanged=!1}},{key:"completePropertyUpdates",value:function(e){if(e.userData.lengthsChanged){e.userData.lengthsChanged=!1;var t=e.userData.lengthProps.length,n=e.userData.lengthProps,r=n.headLength,i=n.headWidth;void 0===r&&(r=.2*t),void 0===i&&(i=.2*r),e.setLength(t,r,i)}}},{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n);var r=n.length,i=n.headLength,o=n.headWidth;e.userData.lengthProps={length:r,headLength:i,headWidth:o}}},{key:"construct",value:function(e){var t=e.dir,n=e.origin,r=e.length,i=e.color,o=e.headLength,a=e.headWidth;return new l.ArrowHelper(t,n,r,i,o,a)}},{key:"unmount",value:function(e){e.line&&(e.line.geometry.dispose(),e.line.material.dispose()),e.cone&&(e.cone.geometry.dispose(),e.cone.material.dispose()),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function a(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(void 0===i){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,n,r)}if("value"in i)return i.value;var a=i.get;if(void 0!==a)return a.call(r)},c=n(0),l=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(c),p=n(1),f=r(p),h=n(16),d=r(h),m=n(8),v=r(m),y=function(e){function t(e){i(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.hasProp("size",{type:f.default.number.isRequired,update:n.triggerRemount,default:1}),n.hasProp("step",{type:f.default.number,update:n.triggerRemount,default:1}),n.hasProp("colorCenterLine",{type:f.default.oneOfType([(0,v.default)(l.Color),f.default.number,f.default.string]),update:n.triggerRemount,default:4473924}),n.hasProp("colorGrid",{type:f.default.oneOfType([(0,v.default)(l.Color),f.default.number,f.default.string]),update:n.triggerRemount,default:8947848}),n}return a(t,e),s(t,[{key:"applyInitialProps",value:function(e,n){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"applyInitialProps",this).call(this,e,n)}},{key:"construct",value:function(e){var t=e.size,n=e.step,r=e.colorCenterLine,i=e.colorGrid;return new l.GridHelper(t,n,r,i)}},{key:"unmount",value:function(e){e.geometry.dispose(),e.material.dispose(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"unmount",this).call(this,e)}}]),t}(d.default);e.exports=y},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(0),s=function(e){function t(e,n){function o(e){!1!==y.enabled&&(window.removeEventListener("keydown",o),w=_,_===g.NONE&&(e.keyCode!==y.keys[g.ROTATE]||y.noRotate?e.keyCode!==y.keys[g.ZOOM]||y.noZoom?e.keyCode!==y.keys[g.PAN]||y.noPan||(_=g.PAN):_=g.ZOOM:_=g.ROTATE))}function s(){!1!==y.enabled&&(_=w,window.addEventListener("keydown",o,!1))}function u(e){!1!==y.enabled&&(e.preventDefault(),e.stopPropagation(),_!==g.ROTATE||y.noRotate?_!==g.ZOOM||y.noZoom?_!==g.PAN||y.noPan||D.copy(I(e.pageX,e.pageY)):S.copy(I(e.pageX,e.pageY)):(E.copy(M),M.copy(N(e.pageX,e.pageY))))}function c(e){!1!==y.enabled&&(e.preventDefault(),e.stopPropagation(),_=g.NONE,document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",c),y.dispatchEvent(j))}function l(e){!1!==y.enabled&&(e.preventDefault(),e.stopPropagation(),_===g.NONE&&(_=e.button),_!==g.ROTATE||y.noRotate?_!==g.ZOOM||y.noZoom?_!==g.PAN||y.noPan||(A.copy(I(e.pageX,e.pageY)),D.copy(A)):(P.copy(I(e.pageX,e.pageY)),S.copy(P)):(M.copy(N(e.pageX,e.pageY)),E.copy(M)),document.addEventListener("mousemove",u,!1),document.addEventListener("mouseup",c,!1),y.dispatchEvent(L))}function p(e){if(!1!==y.enabled){e.preventDefault(),e.stopPropagation();var t=0;e.wheelDelta?t=e.wheelDelta/40:e.detail&&(t=-e.detail/3),P.y+=.01*t,y.dispatchEvent(L),y.dispatchEvent(j)}}function f(e){if(!1!==y.enabled){switch(e.touches.length){case 1:_=g.TOUCH_ROTATE,M.copy(N(e.touches[0].pageX,e.touches[0].pageY)),E.copy(M);break;case 2:_=g.TOUCH_ZOOM_PAN;var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY;R=C=Math.sqrt(t*t+n*n);var r=(e.touches[0].pageX+e.touches[1].pageX)/2,i=(e.touches[0].pageY+e.touches[1].pageY)/2;A.copy(I(r,i)),D.copy(A);break;default:_=g.NONE}y.dispatchEvent(L)}}function h(e){if(!1!==y.enabled)switch(e.preventDefault(),e.stopPropagation(),e.touches.length){case 1:E.copy(M),M.copy(N(e.touches[0].pageX,e.touches[0].pageY));break;case 2:var t=e.touches[0].pageX-e.touches[1].pageX,n=e.touches[0].pageY-e.touches[1].pageY;R=Math.sqrt(t*t+n*n);var r=(e.touches[0].pageX+e.touches[1].pageX)/2,i=(e.touches[0].pageY+e.touches[1].pageY)/2;D.copy(I(r,i));break;default:_=g.NONE}}function d(e){if(!1!==y.enabled){switch(e.touches.length){default:break;case 1:M.copy(N(e.touches[0].pageX,e.touches[0].pageY)),E.copy(M);break;case 2:C=R=0;var t=(e.touches[0].pageX+e.touches[1].pageX)/2,n=(e.touches[0].pageY+e.touches[1].pageY)/2;D.copy(I(t,n)),A.copy(D)}_=g.NONE,y.dispatchEvent(j)}}function m(e){e.preventDefault()}r(this,t);var v=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),y=v,g={NONE:-1,ROTATE:0,ZOOM:1,PAN:2,TOUCH_ROTATE:3,TOUCH_ZOOM_PAN:4};v.object=e,v.domElement=void 0!==n?n:document,v.enabled=!0,v.screen={left:0,top:0,width:0,height:0},v.rotateSpeed=1,v.zoomSpeed=1.2,v.panSpeed=.3,v.noRotate=!1,v.noZoom=!1,v.noPan=!1,v.staticMoving=!1,v.dynamicDampingFactor=.2,v.minDistance=0,v.maxDistance=1/0,v.keys=[65,83,68],v.target=new a.Vector3;var b=new a.Vector3,_=g.NONE,w=g.NONE,x=new a.Vector3,E=new a.Vector2,M=new a.Vector2,O=new a.Vector3,T=0,P=new a.Vector2,S=new a.Vector2,C=0,R=0,A=new a.Vector2,D=new a.Vector2;v.target0=v.target.clone(),v.position0=v.object.position.clone(),v.up0=v.object.up.clone();var k={type:"change"},L={type:"start"},j={type:"end"};v.handleResize=function(){if(v.domElement===document)v.screen.left=0,v.screen.top=0,v.screen.width=window.innerWidth,v.screen.height=window.innerHeight;else{var e=v.domElement.getBoundingClientRect(),t=v.domElement.ownerDocument.documentElement;v.screen.left=e.left+window.pageXOffset-t.clientLeft,v.screen.top=e.top+window.pageYOffset-t.clientTop,v.screen.width=e.width,v.screen.height=e.height}},v.handleEvent=function(e){"function"===typeof v[e.type]&&v[e.type](e)};var I=function(){var e=new a.Vector2;return function(t,n){return e.set((t-y.screen.left)/y.screen.width,(n-y.screen.top)/y.screen.height),e}}(),N=function(){var e=new a.Vector2;return function(t,n){return e.set((t-.5*y.screen.width-y.screen.left)/(.5*y.screen.width),(y.screen.height+2*(y.screen.top-n))/y.screen.width),e}}();return v.rotateCamera=function(){var e=new a.Vector3,t=new a.Quaternion,n=new a.Vector3,r=new a.Vector3,i=new a.Vector3,o=new a.Vector3,s=void 0;return function(){o.set(M.x-E.x,M.y-E.y,0),s=o.length(),s?(x.copy(y.object.position).sub(y.target),n.copy(x).normalize(),r.copy(y.object.up).normalize(),i.crossVectors(r,n).normalize(),r.setLength(M.y-E.y),i.setLength(M.x-E.x),o.copy(r.add(i)),e.crossVectors(o,x).normalize(),s*=y.rotateSpeed,t.setFromAxisAngle(e,s),x.applyQuaternion(t),y.object.up.applyQuaternion(t),O.copy(e),T=s):!y.staticMoving&&T&&(T*=Math.sqrt(1-y.dynamicDampingFactor),x.copy(y.object.position).sub(y.target),t.setFromAxisAngle(O,T),x.applyQuaternion(t),y.object.up.applyQuaternion(t)),E.copy(M)}}(),v.zoomCamera=function(){var e=void 0;_===g.TOUCH_ZOOM_PAN?(e=C/R,C=R,x.multiplyScalar(e)):1!==(e=1+(S.y-P.y)*y.zoomSpeed)&&e>0&&(x.multiplyScalar(e),y.staticMoving?P.copy(S):P.y+=(S.y-P.y)*v.dynamicDampingFactor)},v.panCamera=function(){var e=new a.Vector2,t=new a.Vector3,n=new a.Vector3;return function(){e.copy(D).sub(A),e.lengthSq()&&(e.multiplyScalar(x.length()*y.panSpeed),n.copy(x).cross(y.object.up).setLength(e.x),n.add(t.copy(y.object.up).setLength(e.y)),y.object.position.add(n),y.target.add(n),y.staticMoving?A.copy(D):A.add(e.subVectors(D,A).multiplyScalar(y.dynamicDampingFactor)))}}(),v.checkDistances=function(){y.noZoom&&y.noPan||(x.lengthSq()>y.maxDistance*y.maxDistance&&(y.object.position.addVectors(y.target,x.setLength(y.maxDistance)),P.copy(S)),x.lengthSq()<y.minDistance*y.minDistance&&(y.object.position.addVectors(y.target,x.setLength(y.minDistance)),P.copy(S)))},v.update=function(){x.subVectors(y.object.position,y.target),y.noRotate||y.rotateCamera(),y.noZoom||y.zoomCamera(),y.noPan||y.panCamera(),y.object.position.addVectors(y.target,x),y.checkDistances(),y.object.lookAt(y.target),b.distanceToSquared(y.object.position)>1e-6&&(y.dispatchEvent(k),b.copy(y.object.position))},v.reset=function(){_=g.NONE,w=g.NONE,y.target.copy(y.target0),y.object.position.copy(y.position0),y.object.up.copy(y.up0),x.subVectors(y.object.position,y.target),y.object.lookAt(y.target),y.dispatchEvent(k),b.copy(y.object.position)},v.dispose=function(){v.domElement.removeEventListener("contextmenu",m,!1),v.domElement.removeEventListener("mousedown",l,!1),v.domElement.removeEventListener("mousewheel",p,!1),v.domElement.removeEventListener("DOMMouseScroll",p,!1),v.domElement.removeEventListener("touchstart",f,!1),v.domElement.removeEventListener("touchend",d,!1),v.domElement.removeEventListener("touchmove",h,!1),document.removeEventListener("mousemove",u,!1),document.removeEventListener("mouseup",c,!1),window.removeEventListener("keydown",o,!1),window.removeEventListener("keyup",s,!1)},v.domElement.addEventListener("contextmenu",m,!1),v.domElement.addEventListener("mousedown",l,!1),v.domElement.addEventListener("mousewheel",p,!1),v.domElement.addEventListener("DOMMouseScroll",p,!1),v.domElement.addEventListener("touchstart",f,!1),v.domElement.addEventListener("touchend",d,!1),v.domElement.addEventListener("touchmove",h,!1),window.addEventListener("keydown",o,!1),window.addEventListener("keyup",s,!1),v.handleResize(),v.update(),v}return o(t,e),t}(a.EventDispatcher);t.a=s},function(e,t,n){"use strict";var r=n(0),i=function(e){for(var t=e.speed,n=e.g,i=e.years,o=e.bodies,a=e.trails,s=0;s<t;s++){var u,c,l,p,f,h,d,m,v,y,g,b,_,w,x,E,M,O,T,P,S,C,R,A,D,k,L;!function(e){u=o[0].position.x,c=o[0].position.y,l=o[0].position.z,p=o[0].velocity.x,f=o[0].velocity.y,h=o[0].velocity.z,d=o[1].position.x,m=o[1].position.y,v=o[1].position.z,y=o[1].velocity.x,g=o[1].velocity.y,b=o[1].velocity.z,_=o[2].position.x,w=o[2].position.y,x=o[2].position.z,E=o[2].velocity.x,M=o[2].velocity.y,O=o[2].velocity.z,T=Math.sqrt(Math.pow(d-u,2)+Math.pow(m-c,2)+Math.pow(v-l,2)),P=Math.sqrt(Math.pow(_-u,2)+Math.pow(w-c,2)+Math.pow(x-l,2)),S=Math.sqrt(Math.pow(_-d,2)+Math.pow(w-m,2)+Math.pow(x-v,2)),C=n*o[1].mass*.001/Math.pow(T,2),R=n*o[2].mass*.001/Math.pow(P,2),A=n*o[0].mass*.001/Math.pow(T,2),D=n*o[2].mass*.001/Math.pow(S,2),k=n*o[0].mass*.001/Math.pow(P,2),L=n*o[1].mass*.001/Math.pow(S,2),p=p+C*(d-u)/T+R*(_-u)/P,f=f+C*(m-c)/T+R*(w-c)/P,h=h+C*(v-l)/T+R*(x-l)/P,y=y+A*(u-d)/T+D*(_-d)/S,g=g+A*(c-m)/T+D*(w-m)/S,b=b+A*(l-v)/T+D*(x-v)/S,E=E+k*(u-_)/P+L*(d-_)/S,M=M+k*(c-w)/P+L*(m-w)/S,O=O+k*(l-x)/P+L*(v-x)/S,u+=.001*p,c+=.001*f,l+=.001*h,d+=.001*y,m+=.001*g,v+=.001*b,_+=.001*E,w+=.001*M,x+=.001*O;var t=[new r.Vector3(u,c,l),new r.Vector3(d,m,v),new r.Vector3(_,w,x)],s=[new r.Vector3(p,f,h),new r.Vector3(y,g,b),new r.Vector3(E,M,O)];o.forEach(function(e,n){o[n].position=t[n],o[n].velocity=s[n]}),a.forEach(function(e,n){return a[n].length>100*i?(a[n].shift(),a[n].push(t[n])):a[n].push(t[n])})}()}return{bodies:o,trails:a}};t.a=i},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}function o(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var a=n(17),s=n.n(a),u=n(337),c=(n.n(u),function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()),l=function(e){function t(){return r(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return o(t,e),c(t,[{key:"render",value:function(){return s.a.createElement("div",{id:"loader-wrapper"},s.a.createElement("div",{id:"loader-symbol"},"\u2721"),s.a.createElement("div",{id:"loader"},"\u2721"),s.a.createElement("div",{className:"loader-section section-left"}),s.a.createElement("div",{className:"loader-section section-right"}),s.a.createElement("div",{className:"load_title"},s.a.createElement("a",{href:"https://github.com/yo1995/Daily_Web_Tasks/ThreeBody"},"\u6d88\u706d\u4eba\u7c7b\u66b4\u653f",s.a.createElement("br",null),"\u4e16\u754c\u5c5e\u4e8e\u4e09\u4f53"),s.a.createElement("br",null),s.a.createElement("small",null,"*\u8bf7\u9a7e\u9a76\u9ad8\u901f\u98de\u8239\u4ee5\u9003\u79bb\u4e8c\u5411\u7b94"),s.a.createElement("br",null),s.a.createElement("span",{id:"busuanzi_container_page_pv"},"PV:  ",s.a.createElement("span",{id:"busuanzi_value_page_pv"})),s.a.createElement("span",{id:"busuanzi_container_site_uv"},"    UV:  ",s.a.createElement("span",{id:"busuanzi_value_site_uv"}))))}}]),t}(a.Component);t.a=l},function(e,t){},function(e,t,n){"use strict";function r(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}function i(e,t){var n,i,s,u,c,l,p=!1;t||(t={}),n=t.debug||!1;try{s=o(),u=document.createRange(),c=document.getSelection(),l=document.createElement("span"),l.textContent=e,l.style.all="unset",l.style.position="fixed",l.style.top=0,l.style.clip="rect(0, 0, 0, 0)",l.style.whiteSpace="pre",l.style.webkitUserSelect="text",l.style.MozUserSelect="text",l.style.msUserSelect="text",l.style.userSelect="text",document.body.appendChild(l),u.selectNode(l),c.addRange(u);if(!document.execCommand("copy"))throw new Error("copy command was unsuccessful");p=!0}catch(o){n&&console.error("unable to copy using execCommand: ",o),n&&console.warn("trying IE specific stuff");try{window.clipboardData.setData("text",e),p=!0}catch(o){n&&console.error("unable to copy using clipboardData: ",o),n&&console.error("falling back to prompt"),i=r("message"in t?t.message:a),window.prompt(i,e)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(u):c.removeAllRanges()),l&&document.body.removeChild(l),s()}return p}var o=n(339),a="Copy to clipboard: #{key}, Enter";e.exports=i},function(e,t){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;r<e.rangeCount;r++)n.push(e.getRangeAt(r));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||n.forEach(function(t){e.addRange(t)}),t&&t.focus()}}},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r={prefix:"fas",iconName:"rocket",icon:[512,512,[],"f135","M505.1 19.1C503.8 13 499 8.2 492.9 6.9 460.7 0 435.5 0 410.4 0 307.2 0 245.3 55.2 199.1 128H94.9c-18.2 0-34.8 10.3-42.9 26.5L2.6 253.3c-8 16 3.6 34.7 21.5 34.7h95.1c-5.9 12.8-11.9 25.5-18 37.7-3.1 6.2-1.9 13.6 3 18.5l63.6 63.6c4.9 4.9 12.3 6.1 18.5 3 12.2-6.1 24.9-12 37.7-17.9V488c0 17.8 18.8 29.4 34.7 21.5l98.7-49.4c16.3-8.1 26.5-24.8 26.5-42.9V312.8c72.6-46.3 128-108.4 128-211.1.1-25.2.1-50.4-6.8-82.6zM400 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"]}},function(e,t,n){"use strict";function r(){if("serviceWorker"in navigator){if(new URL("/Daily_Web_Tasks/threebody",window.location).origin!==window.location.origin)return;window.addEventListener("load",function(){var e="/Daily_Web_Tasks/threebody/service-worker.js";a?o(e):i(e)})}}function i(e){navigator.serviceWorker.register(e).then(function(e){e.onupdatefound=function(){var t=e.installing;t.onstatechange=function(){"installed"===t.state&&(navigator.serviceWorker.controller?console.log("New content is available; please refresh."):console.log("Content is cached for offline use."))}}}).catch(function(e){console.error("Error during service worker registration:",e)})}function o(e){fetch(e).then(function(t){404===t.status||-1===t.headers.get("content-type").indexOf("javascript")?navigator.serviceWorker.ready.then(function(e){e.unregister().then(function(){window.location.reload()})}):i(e)}).catch(function(){console.log("No internet connection found. App is running in offline mode.")})}t.a=r;var a=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))}]);
  //# sourceMappingURL=main.f30ed9cb.js.map