d;this._updateEuler();returnthis},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._w=a._w;this._updateEuler();returnthis},setFromEuler:function(a,b){if(!1===ainstanceofTHREE.Euler)throwError("ERROR: Quaternion's .setFromEuler() now expects a Euler rotation rather than a Vector3 and order. Please update your code.");varc=Math.cos(a._x/2),d=Math.cos(a._y/2),e=Math.cos(a._z/2),f=Math.sin(a._x/2),g=Math.sin(a._y/2),h=Math.sin(a._z/2);"XYZ"===a.order?(this._x=f*d*e+c*g*h,this._y=c*
this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){vara=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);returnthis},multiply:function(a,b){returnvoid0!==b?(console.warn("DEPRECATED: Quaternion's .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,b){varc=a._x,d=a._y,e=a._z,f=
a._w,g=b._x,h=b._y,k=b._z,l=b._w;this._x=c*l+f*g+d*k-e*h;this._y=d*l+f*h+e*g-c*k;this._z=e*l+f*k+c*h-d*g;this._w=f*l-c*g-d*h-e*k;this._updateEuler();returnthis},multiplyVector3:function(a){console.warn("DEPRECATED: Quaternion's .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");returna.applyQuaternion(this)},slerp:function(a,b){varc=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=
conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this._updateEuler();returnthis},lengthSq:function(){returnthis._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){returnMath.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){vara=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);returnthis},multiply:function(a,b){returnvoid0!==b?(console.warn("DEPRECATED: Quaternion's .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),
this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},multiplyQuaternions:function(a,b){varc=a._x,d=a._y,e=a._z,f=a._w,g=b._x,h=b._y,k=b._z,l=b._w;this._x=c*l+f*g+d*k-e*h;this._y=d*l+f*h+e*g-c*k;this._z=e*l+f*k+c*h-d*g;this._w=f*l-c*g-d*h-e*k;this._updateEuler();returnthis},multiplyVector3:function(a){console.warn("DEPRECATED: Quaternion's .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.");returna.applyQuaternion(this)},slerp:function(a,b){varc=
THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(a,b){this.x=a;this.y=b;returnthis},setX:function(a){this.x=a;returnthis},setY:function(a){this.y=a;returnthis},setComponent:function(a,b){switch(a){case0:this.x=b;break;case1:this.y=b;break;default:throwError("index is out of range: "+a);}},getComponent:function(a){switch(a){case0:returnthis.x;case1:returnthis.y;default:throwError("index is out of range: "+a);}},copy:function(a){this.x=a.x;this.y=a.y;returnthis},add:function(a,
b){if(void0!==b)returnconsole.warn("DEPRECATED: Vector2's .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;returnthis},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;returnthis},addScalar:function(a){this.x+=a;this.y+=a;returnthis},sub:function(a,b){if(void0!==b)returnconsole.warn("DEPRECATED: Vector2's .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=