UNPKG

ooomap

Version:

ooomap SDK -- 园圈地图SDK

3 lines (2 loc) 879 kB
/*! ooomap RELEASE XCX version:1.13.1-1 time: 2025/12/5 21:39:10 */ var t,e;t=this,e=function(t){"use strict";function e(t,e){Object.getOwnPropertyNames(e).forEach(i=>{if("constructor"!==i&&"prototype"!==i&&"name"!==i){var n=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,n)}})}var i=function(t){Object.defineProperty(t,"style",{get(){return{width:this.width+"px",height:this.height+"px"}}}),Object.defineProperty(t,"clientHeight",{get(){return this.height/2}}),Object.defineProperty(t,"clientWidth",{get(){return this.width/2}}),Object.defineProperty(t,"offsetHeight",{get(){return this.height}}),Object.defineProperty(t,"offsetWidth",{get(){return this.width}})},n=new Map;class r{constructor(t){this.identifier=t.identifier,this.force=void 0===t.force?1:t.force,this.pageX=t.pageX||t.x,this.pageY=t.pageY||t.y,this.clientX=t.clientX||t.x,this.clientY=t.clientY||t.y,this.screenX=this.pageX,this.screenY=this.pageY}}class a{constructor(){n.set(this,{})}addEventListener(t,e,i={}){var r=n.get(this);r||(r={},n.set(this,r)),r[t]||(r[t]=[]),r[t].push(e),i.capture,i.once,i.passive}removeEventListener(t,e){const i=n.get(this);if(i){const n=i[t];if(n&&n.length>0)for(var r=n.length;r--;r>0)if(n[r]===e){n.splice(r,1);break}}}dispatchEvent(t={}){"function"!=typeof t.preventDefault&&(t.preventDefault=()=>{}),"function"!=typeof t.stopPropagation&&(t.stopPropagation=()=>{});const e=n.get(this)[t.type];if(e)for(var i=0;i<e.length;i++)e[i](t)}dispatchTouchEvent(t={}){var e=Object.assign({},this);const i={changedTouches:t.changedTouches.map(t=>new r(t)),touches:t.touches.map(t=>new r(t)),targetTouches:Array.prototype.slice.call(t.touches.map(t=>new r(t))),timeStamp:t.timeStamp,target:e,currentTarget:e,type:t.type,cancelBubble:!1,cancelable:!1};this.dispatchEvent(i)}}var s=wx.getSystemInfoSync(),o={AudioContext:function(){},URL:{},location:{}};Object.defineProperties(o,{innerWidth:{get:function(){return s.screenWidth}},innerHeight:{get:function(){return s.screenHeight}}}),e(o,a.prototype);const h={createElementNS:(t,e)=>"canvas"===e?__tmpCanvas:"img"===e?m.createImage():void 0,createElement(t){return this.createElementNS(null,t)}};e(h,a.prototype);const l=new Map,c=new Map,u=new Map;function d(t,e={}){e.target=e.target||this,"function"==typeof this[`on${t}`]&&this[`on${t}`].call(this,e)}function p(t,e={}){this.readyState=t,e.readyState=t,d.call(this,"readystatechange",e)}class f extends a{constructor(){super(),this.onabort=null,this.onerror=null,this.onload=null,this.onloadstart=null,this.onprogress=null,this.ontimeout=null,this.onloadend=null,this.onreadystatechange=null,this.readyState=0,this.response=null,this.responseText=null,this.responseType="text",this.dataType="string",this.responseXML=null,this.status=0,this.statusText="",this.upload={},this.withCredentials=!1,l.set(this,{"content-type":"application/x-www-form-urlencoded"}),c.set(this,{})}abort(){const t=u.get(this);t&&t.abort()}getAllResponseHeaders(){const t=c.get(this);return Object.keys(t).map(e=>`${e}: ${t[e]}`).join("\n")}getResponseHeader(t){return c.get(this)[t]}open(t,e){this._method=t,this._url=e,p.call(this,f.OPENED)}overrideMimeType(){}send(t=""){if(this.readyState!==f.OPENED)throw new Error("Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.");{const i=this._url,n=l.get(this),r=this.responseType,a=this.dataType,s=function(t){return!/^(http|https|ftp|wxfile):\/\/.*/i.test(t)}(i);let o;"arraybuffer"===r||(o="utf8"),delete this.response,this.response=null;const h=({data:t,statusCode:e,header:i})=>{if(e=void 0===e?200:e,"string"!=typeof t&&!(t instanceof ArrayBuffer))try{t=JSON.stringify(t)}catch(t){}this.status=e,i&&c.set(this,i),d.call(this,"loadstart"),p.call(this,f.HEADERS_RECEIVED),p.call(this,f.LOADING),this.response=t,t instanceof ArrayBuffer?Object.defineProperty(this,"responseText",{enumerable:!0,configurable:!0,get:function(){throw"InvalidStateError : responseType is "+this.responseType}}):this.responseText=t,p.call(this,f.DONE),d.call(this,"load"),d.call(this,"loadend")},u=({errMsg:t})=>{-1!==t.indexOf("abort")?d.call(this,"abort"):d.call(this,"error",{message:t}),d.call(this,"loadend")};if(s){const t=wx.getFileSystemManager();var e={filePath:i,success:h,fail:u};return o&&(e.encoding=o),void t.readFile(e)}wx.request({data:t,url:i,method:this._method,header:n,dataType:a,responseType:r,success:h,fail:u})}}setRequestHeader(t,e){const i=l.get(this);i[t]=e,l.set(this,i)}addEventListener(t,e){"function"==typeof e&&(this["on"+t]=(t={})=>{t.target=t.target||this,e.call(this,t)})}removeEventListener(t,e){this["on"+t]===e&&(this["on"+t]=null)}}f.UNSEND=0,f.OPENED=1,f.HEADERS_RECEIVED=2,f.LOADING=3,f.DONE=4;try{o.document=h;var window=o,document=h,XMLHttpRequest=f,m=null,__tmpCanvas=null}catch(mu){}function g(){}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),void 0===Math.sign&&(Math.sign=function(t){return t<0?-1:t>0?1:+t}),"name"in Function.prototype==0&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var n=arguments[i];if(null!=n)for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}),Object.assign(g.prototype,{addEventListener:function(t,e){void 0===this._listeners&&(this._listeners={});var i=this._listeners;void 0===i[t]&&(i[t]=[]),-1===i[t].indexOf(e)&&i[t].push(e)},hasEventListener:function(t,e){if(void 0===this._listeners)return!1;var i=this._listeners;return void 0!==i[t]&&-1!==i[t].indexOf(e)},removeEventListener:function(t,e){if(void 0!==this._listeners){var i=this._listeners[t];if(void 0!==i){var n=i.indexOf(e);-1!==n&&i.splice(n,1)}}},dispatchEvent:function(t){if(void 0!==this._listeners){var e=this._listeners[t.type];if(void 0!==e){t.target=this;for(var i=e.slice(0),n=0,r=i.length;n<r;n++)i[n].call(this,t)}}}});var v,y,x,b,w,_,M,S,A,T,L,C,P={LEFT:0,MIDDLE:1,RIGHT:2},E=100,D=103,I=104,O=300,N=301,k=302,z=304,R=306,B=307,F=1e3,U=1001,G=1002,j=1003,V=1004,W=1005,H=1006,X=1007,q=1008,Y=1009,Z=1012,J=1014,K=1015,Q=1016,$=1020,tt=1022,et=1023,it=1026,nt=1027,rt=33776,at=33777,st=33778,ot=33779,ht=35840,lt=35841,ct=35842,ut=35843,dt=36196,pt=2300,ft=2301,mt=2302,gt=2400,vt=2401,yt=2402,xt=3e3,bt=3001,wt=3007,_t=3201,Mt={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){for(var t=[],e=0;e<256;e++)t[e]=(e<16?"0":"")+e.toString(16);return function(){var e=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(t[255&e]+t[e>>8&255]+t[e>>16&255]+t[e>>24&255]+"-"+t[255&i]+t[i>>8&255]+"-"+t[i>>16&15|64]+t[i>>24&255]+"-"+t[63&n|128]+t[n>>8&255]+"-"+t[n>>16&255]+t[n>>24&255]+t[255&r]+t[r>>8&255]+t[r>>16&255]+t[r>>24&255]).toUpperCase()}}(),clamp:function(t,e,i){return Math.max(e,Math.min(i,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,i,n,r){return n+(t-e)*(r-n)/(i-e)},lerp:function(t,e,i){return(1-i)*t+i*e},smoothstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*(3-2*t)},smootherstep:function(t,e,i){return t<=e?0:t>=i?1:(t=(t-e)/(i-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*Mt.DEG2RAD},radToDeg:function(t){return t*Mt.RAD2DEG},isPowerOfTwo:function(t){return!(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}};function St(t,e){this.x=t||0,this.y=e||0}function At(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Tt(t,e,i,n){this._x=t||0,this._y=e||0,this._z=i||0,this._w=void 0!==n?n:1}function Lt(t,e,i){this.x=t||0,this.y=e||0,this.z=i||0}function Ct(){this.elements=[1,0,0,0,1,0,0,0,1]}Object.defineProperties(St.prototype,{width:{get:function(){return this.x},set:function(t){this.x=t}},height:{get:function(){return this.y},set:function(t){this.y=t}}}),Object.assign(St.prototype,{isVector2:!0,set:function(t,e){return this.x=t,this.y=e,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(t,e){return void 0!==e?this.addVectors(t,e):(this.x+=t.x,this.y+=t.y,this)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},sub:function(t,e){return void 0!==e?this.subVectors(t,e):(this.x-=t.x,this.y-=t.y,this)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},applyMatrix3:function(t){var e=this.x,i=this.y,n=t.elements;return this.x=n[0]*e+n[3]*i+n[6],this.y=n[1]*e+n[4]*i+n[7],this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this},clampScalar:(v=new St,y=new St,function(t,e){return v.set(t,t),y.set(e,e),this.clamp(v,y)}),clampLength:function(t,e){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))},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(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y;return e*e+i*i},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t},fromBufferAttribute:function(t,e,i){return this.x=t.getX(e),this.y=t.getY(e),this},rotateAround:function(t,e){var i=Math.cos(e),n=Math.sin(e),r=this.x-t.x,a=this.y-t.y;return this.x=r*i-a*n+t.x,this.y=r*n+a*i+t.y,this}}),Object.assign(At.prototype,{isMatrix4:!0,set:function(t,e,i,n,r,a,s,o,h,l,c,u,d,p,f,m){var g=this.elements;return g[0]=t,g[4]=e,g[8]=i,g[12]=n,g[1]=r,g[5]=a,g[9]=s,g[13]=o,g[2]=h,g[6]=l,g[10]=c,g[14]=u,g[3]=d,g[7]=p,g[11]=f,g[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 At).fromArray(this.elements)},copy:function(t){var e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},copyPosition:function(t){var e=this.elements,i=t.elements;return e[12]=i[12],e[13]=i[13],e[14]=i[14],this},extractBasis:function(t,e,i){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this},makeBasis:function(t,e,i){return this.set(t.x,e.x,i.x,0,t.y,e.y,i.y,0,t.z,e.z,i.z,0,0,0,0,1),this},extractRotation:(T=new Lt,function(t){var e=this.elements,i=t.elements,n=1/T.setFromMatrixColumn(t,0).length(),r=1/T.setFromMatrixColumn(t,1).length(),a=1/T.setFromMatrixColumn(t,2).length();return e[0]=i[0]*n,e[1]=i[1]*n,e[2]=i[2]*n,e[3]=0,e[4]=i[4]*r,e[5]=i[5]*r,e[6]=i[6]*r,e[7]=0,e[8]=i[8]*a,e[9]=i[9]*a,e[10]=i[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}),makeRotationFromEuler:function(t){!t||t.isEuler;var e=this.elements,i=t.x,n=t.y,r=t.z,a=Math.cos(i),s=Math.sin(i),o=Math.cos(n),h=Math.sin(n),l=Math.cos(r),c=Math.sin(r);if("XYZ"===t.order){var u=a*l,d=a*c,p=s*l,f=s*c;e[0]=o*l,e[4]=-o*c,e[8]=h,e[1]=d+p*h,e[5]=u-f*h,e[9]=-s*o,e[2]=f-u*h,e[6]=p+d*h,e[10]=a*o}else if("YXZ"===t.order){var m=o*l,g=o*c,v=h*l,y=h*c;e[0]=m+y*s,e[4]=v*s-g,e[8]=a*h,e[1]=a*c,e[5]=a*l,e[9]=-s,e[2]=g*s-v,e[6]=y+m*s,e[10]=a*o}else if("ZXY"===t.order)m=o*l,g=o*c,v=h*l,y=h*c,e[0]=m-y*s,e[4]=-a*c,e[8]=v+g*s,e[1]=g+v*s,e[5]=a*l,e[9]=y-m*s,e[2]=-a*h,e[6]=s,e[10]=a*o;else if("ZYX"===t.order)u=a*l,d=a*c,p=s*l,f=s*c,e[0]=o*l,e[4]=p*h-d,e[8]=u*h+f,e[1]=o*c,e[5]=f*h+u,e[9]=d*h-p,e[2]=-h,e[6]=s*o,e[10]=a*o;else if("YZX"===t.order){var x=a*o,b=a*h,w=s*o,_=s*h;e[0]=o*l,e[4]=_-x*c,e[8]=w*c+b,e[1]=c,e[5]=a*l,e[9]=-s*l,e[2]=-h*l,e[6]=b*c+w,e[10]=x-_*c}else"XZY"===t.order&&(x=a*o,b=a*h,w=s*o,_=s*h,e[0]=o*l,e[4]=-c,e[8]=h*l,e[1]=x*c+_,e[5]=a*l,e[9]=b*c-w,e[2]=w*c-b,e[6]=s*l,e[10]=_*c+x);return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:(S=new Lt(0,0,0),A=new Lt(1,1,1),function(t){return this.compose(S,t,A)}),lookAt:(w=new Lt,_=new Lt,M=new Lt,function(t,e,i){var n=this.elements;return M.subVectors(t,e),0===M.lengthSq()&&(M.z=1),M.normalize(),w.crossVectors(i,M),0===w.lengthSq()&&(1===Math.abs(i.z)?M.x+=1e-4:M.z+=1e-4,M.normalize(),w.crossVectors(i,M)),w.normalize(),_.crossVectors(M,w),n[0]=w.x,n[4]=_.x,n[8]=M.x,n[1]=w.y,n[5]=_.y,n[9]=M.y,n[2]=w.z,n[6]=_.z,n[10]=M.z,this}),multiply:function(t,e){return void 0!==e?this.multiplyMatrices(t,e):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.elements,n=e.elements,r=this.elements,a=i[0],s=i[4],o=i[8],h=i[12],l=i[1],c=i[5],u=i[9],d=i[13],p=i[2],f=i[6],m=i[10],g=i[14],v=i[3],y=i[7],x=i[11],b=i[15],w=n[0],_=n[4],M=n[8],S=n[12],A=n[1],T=n[5],L=n[9],C=n[13],P=n[2],E=n[6],D=n[10],I=n[14],O=n[3],N=n[7],k=n[11],z=n[15];return r[0]=a*w+s*A+o*P+h*O,r[4]=a*_+s*T+o*E+h*N,r[8]=a*M+s*L+o*D+h*k,r[12]=a*S+s*C+o*I+h*z,r[1]=l*w+c*A+u*P+d*O,r[5]=l*_+c*T+u*E+d*N,r[9]=l*M+c*L+u*D+d*k,r[13]=l*S+c*C+u*I+d*z,r[2]=p*w+f*A+m*P+g*O,r[6]=p*_+f*T+m*E+g*N,r[10]=p*M+f*L+m*D+g*k,r[14]=p*S+f*C+m*I+g*z,r[3]=v*w+y*A+x*P+b*O,r[7]=v*_+y*T+x*E+b*N,r[11]=v*M+y*L+x*D+b*k,r[15]=v*S+y*C+x*I+b*z,this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},applyToBufferAttribute:function(){var t=new Lt;return function(e){for(var i=0,n=e.count;i<n;i++)t.x=e.getX(i),t.y=e.getY(i),t.z=e.getZ(i),t.applyMatrix4(this),e.setXYZ(i,t.x,t.y,t.z);return e}}(),determinant:function(){var t=this.elements,e=t[0],i=t[4],n=t[8],r=t[12],a=t[1],s=t[5],o=t[9],h=t[13],l=t[2],c=t[6],u=t[10],d=t[14];return t[3]*(+r*o*c-n*h*c-r*s*u+i*h*u+n*s*d-i*o*d)+t[7]*(+e*o*d-e*h*u+r*a*u-n*a*d+n*h*l-r*o*l)+t[11]*(+e*h*c-e*s*d-r*a*c+i*a*d+r*s*l-i*h*l)+t[15]*(-n*s*l-e*o*c+e*s*u+n*a*c-i*a*u+i*o*l)},transpose:function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},setPosition:function(t){var e=this.elements;return e[12]=t.x,e[13]=t.y,e[14]=t.z,this},getInverse:function(t,e){var i=this.elements,n=t.elements,r=n[0],a=n[1],s=n[2],o=n[3],h=n[4],l=n[5],c=n[6],u=n[7],d=n[8],p=n[9],f=n[10],m=n[11],g=n[12],v=n[13],y=n[14],x=n[15],b=p*y*u-v*f*u+v*c*m-l*y*m-p*c*x+l*f*x,w=g*f*u-d*y*u-g*c*m+h*y*m+d*c*x-h*f*x,_=d*v*u-g*p*u+g*l*m-h*v*m-d*l*x+h*p*x,M=g*p*c-d*v*c-g*l*f+h*v*f+d*l*y-h*p*y,S=r*b+a*w+s*_+o*M;if(0===S){if(!0===e)throw new Error("THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0");return this.identity()}var A=1/S;return i[0]=b*A,i[1]=(v*f*o-p*y*o-v*s*m+a*y*m+p*s*x-a*f*x)*A,i[2]=(l*y*o-v*c*o+v*s*u-a*y*u-l*s*x+a*c*x)*A,i[3]=(p*c*o-l*f*o-p*s*u+a*f*u+l*s*m-a*c*m)*A,i[4]=w*A,i[5]=(d*y*o-g*f*o+g*s*m-r*y*m-d*s*x+r*f*x)*A,i[6]=(g*c*o-h*y*o-g*s*u+r*y*u+h*s*x-r*c*x)*A,i[7]=(h*f*o-d*c*o+d*s*u-r*f*u-h*s*m+r*c*m)*A,i[8]=_*A,i[9]=(g*p*o-d*v*o-g*a*m+r*v*m+d*a*x-r*p*x)*A,i[10]=(h*v*o-g*l*o+g*a*u-r*v*u-h*a*x+r*l*x)*A,i[11]=(d*l*o-h*p*o-d*a*u+r*p*u+h*a*m-r*l*m)*A,i[12]=M*A,i[13]=(d*v*s-g*p*s+g*a*f-r*v*f-d*a*y+r*p*y)*A,i[14]=(g*l*s-h*v*s-g*a*c+r*v*c+h*a*y-r*l*y)*A,i[15]=(h*p*s-d*l*s+d*a*c-r*p*c-h*a*f+r*l*f)*A,this},scale:function(t){var e=this.elements,i=t.x,n=t.y,r=t.z;return e[0]*=i,e[4]*=n,e[8]*=r,e[1]*=i,e[5]*=n,e[9]*=r,e[2]*=i,e[6]*=n,e[10]*=r,e[3]*=i,e[7]*=n,e[11]*=r,this},getMaxScaleOnAxis:function(){var t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],n=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,i,n))},makeTranslation:function(t,e,i){return this.set(1,0,0,t,0,1,0,e,0,0,1,i,0,0,0,1),this},makeRotationX:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this},makeRotationY:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this},makeRotationZ:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(t,e){var i=Math.cos(e),n=Math.sin(e),r=1-i,a=t.x,s=t.y,o=t.z,h=r*a,l=r*s;return this.set(h*a+i,h*s-n*o,h*o+n*s,0,h*s+n*o,l*s+i,l*o-n*a,0,h*o-n*s,l*o+n*a,r*o*o+i,0,0,0,0,1),this},makeScale:function(t,e,i){return this.set(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this},makeShear:function(t,e,i){return this.set(1,e,i,0,t,1,i,0,t,e,1,0,0,0,0,1),this},compose:function(t,e,i){var n=this.elements,r=e._x,a=e._y,s=e._z,o=e._w,h=r+r,l=a+a,c=s+s,u=r*h,d=r*l,p=r*c,f=a*l,m=a*c,g=s*c,v=o*h,y=o*l,x=o*c,b=i.x,w=i.y,_=i.z;return n[0]=(1-(f+g))*b,n[1]=(d+x)*b,n[2]=(p-y)*b,n[3]=0,n[4]=(d-x)*w,n[5]=(1-(u+g))*w,n[6]=(m+v)*w,n[7]=0,n[8]=(p+y)*_,n[9]=(m-v)*_,n[10]=(1-(u+f))*_,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},decompose:(x=new Lt,b=new At,function(t,e,i){var n=this.elements,r=x.set(n[0],n[1],n[2]).length(),a=x.set(n[4],n[5],n[6]).length(),s=x.set(n[8],n[9],n[10]).length();this.determinant()<0&&(r=-r),t.x=n[12],t.y=n[13],t.z=n[14],b.copy(this);var o=1/r,h=1/a,l=1/s;return b.elements[0]*=o,b.elements[1]*=o,b.elements[2]*=o,b.elements[4]*=h,b.elements[5]*=h,b.elements[6]*=h,b.elements[8]*=l,b.elements[9]*=l,b.elements[10]*=l,e.setFromRotationMatrix(b),i.x=r,i.y=a,i.z=s,this}),makePerspective:function(t,e,i,n,r,a){var s=this.elements,o=2*r/(e-t),h=2*r/(i-n),l=(e+t)/(e-t),c=(i+n)/(i-n),u=-(a+r)/(a-r),d=-2*a*r/(a-r);return s[0]=o,s[4]=0,s[8]=l,s[12]=0,s[1]=0,s[5]=h,s[9]=c,s[13]=0,s[2]=0,s[6]=0,s[10]=u,s[14]=d,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this},makeOrthographic:function(t,e,i,n,r,a){var s=this.elements,o=1/(e-t),h=1/(i-n),l=1/(a-r),c=(e+t)*o,u=(i+n)*h,d=(a+r)*l;return s[0]=2*o,s[4]=0,s[8]=0,s[12]=-c,s[1]=0,s[5]=2*h,s[9]=0,s[13]=-u,s[2]=0,s[6]=0,s[10]=-2*l,s[14]=-d,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this},equals:function(t){for(var e=this.elements,i=t.elements,n=0;n<16;n++)if(e[n]!==i[n])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var i=0;i<16;i++)this.elements[i]=t[i+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t[e+9]=i[9],t[e+10]=i[10],t[e+11]=i[11],t[e+12]=i[12],t[e+13]=i[13],t[e+14]=i[14],t[e+15]=i[15],t}}),Object.assign(Tt,{slerp:function(t,e,i,n){return i.copy(t).slerp(e,n)},slerpFlat:function(t,e,i,n,r,a,s){var o=i[n+0],h=i[n+1],l=i[n+2],c=i[n+3],u=r[a+0],d=r[a+1],p=r[a+2],f=r[a+3];if(c!==f||o!==u||h!==d||l!==p){var m=1-s,g=o*u+h*d+l*p+c*f,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var x=Math.sqrt(y),b=Math.atan2(x,g*v);m=Math.sin(m*b)/x,s=Math.sin(s*b)/x}var w=s*v;if(o=o*m+u*w,h=h*m+d*w,l=l*m+p*w,c=c*m+f*w,m===1-s){var _=1/Math.sqrt(o*o+h*h+l*l+c*c);o*=_,h*=_,l*=_,c*=_}}t[e]=o,t[e+1]=h,t[e+2]=l,t[e+3]=c}}),Object.defineProperties(Tt.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(t){this._w=t,this.onChangeCallback()}}}),Object.assign(Tt.prototype,{isQuaternion:!0,set:function(t,e,i,n){return this._x=t,this._y=e,this._z=i,this._w=n,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this.onChangeCallback(),this},setFromEuler:function(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var i=t._x,n=t._y,r=t._z,a=t.order,s=Math.cos,o=Math.sin,h=s(i/2),l=s(n/2),c=s(r/2),u=o(i/2),d=o(n/2),p=o(r/2);return"XYZ"===a?(this._x=u*l*c+h*d*p,this._y=h*d*c-u*l*p,this._z=h*l*p+u*d*c,this._w=h*l*c-u*d*p):"YXZ"===a?(this._x=u*l*c+h*d*p,this._y=h*d*c-u*l*p,this._z=h*l*p-u*d*c,this._w=h*l*c+u*d*p):"ZXY"===a?(this._x=u*l*c-h*d*p,this._y=h*d*c+u*l*p,this._z=h*l*p+u*d*c,this._w=h*l*c-u*d*p):"ZYX"===a?(this._x=u*l*c-h*d*p,this._y=h*d*c+u*l*p,this._z=h*l*p-u*d*c,this._w=h*l*c+u*d*p):"YZX"===a?(this._x=u*l*c+h*d*p,this._y=h*d*c+u*l*p,this._z=h*l*p-u*d*c,this._w=h*l*c-u*d*p):"XZY"===a&&(this._x=u*l*c-h*d*p,this._y=h*d*c-u*l*p,this._z=h*l*p+u*d*c,this._w=h*l*c+u*d*p),!1!==e&&this.onChangeCallback(),this},setFromAxisAngle:function(t,e){var i=e/2,n=Math.sin(i);return this._x=t.x*n,this._y=t.y*n,this._z=t.z*n,this._w=Math.cos(i),this.onChangeCallback(),this},setFromRotationMatrix:function(t){var e,i=t.elements,n=i[0],r=i[4],a=i[8],s=i[1],o=i[5],h=i[9],l=i[2],c=i[6],u=i[10],d=n+o+u;return d>0?(e=.5/Math.sqrt(d+1),this._w=.25/e,this._x=(c-h)*e,this._y=(a-l)*e,this._z=(s-r)*e):n>o&&n>u?(e=2*Math.sqrt(1+n-o-u),this._w=(c-h)/e,this._x=.25*e,this._y=(r+s)/e,this._z=(a+l)/e):o>u?(e=2*Math.sqrt(1+o-n-u),this._w=(a-l)/e,this._x=(r+s)/e,this._y=.25*e,this._z=(h+c)/e):(e=2*Math.sqrt(1+u-n-o),this._w=(s-r)/e,this._x=(a+l)/e,this._y=(h+c)/e,this._z=.25*e),this.onChangeCallback(),this},setFromUnitVectors:function(){var t,e=new Lt;return function(i,n){return void 0===e&&(e=new Lt),(t=i.dot(n)+1)<1e-6?(t=0,Math.abs(i.x)>Math.abs(i.z)?e.set(-i.y,i.x,0):e.set(0,-i.z,i.y)):e.crossVectors(i,n),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),angleTo:function(t){return 2*Math.acos(Math.abs(Mt.clamp(this.dot(t),-1,1)))},rotateTowards:function(t,e){var i=this.angleTo(t);if(0===i)return this;var n=Math.min(1,e/i);return this.slerp(t,n),this},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._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 t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this.onChangeCallback(),this},multiply:function(t,e){return void 0!==e?this.multiplyQuaternions(t,e):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,e){var i=t._x,n=t._y,r=t._z,a=t._w,s=e._x,o=e._y,h=e._z,l=e._w;return this._x=i*l+a*s+n*h-r*o,this._y=n*l+a*o+r*s-i*h,this._z=r*l+a*h+i*o-n*s,this._w=a*l-i*s-n*o-r*h,this.onChangeCallback(),this},slerp:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var i=this._x,n=this._y,r=this._z,a=this._w,s=a*t._w+i*t._x+n*t._y+r*t._z;if(s<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,s=-s):this.copy(t),s>=1)return this._w=a,this._x=i,this._y=n,this._z=r,this;var o=1-s*s;if(o<=Number.EPSILON){var h=1-e;return this._w=h*a+e*this._w,this._x=h*i+e*this._x,this._y=h*n+e*this._y,this._z=h*r+e*this._z,this.normalize()}var l=Math.sqrt(o),c=Math.atan2(l,s),u=Math.sin((1-e)*c)/l,d=Math.sin(e*c)/l;return this._w=a*u+this._w*d,this._x=i*u+this._x*d,this._y=n*u+this._y*d,this._z=r*u+this._z*d,this.onChangeCallback(),this},equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w},fromArray:function(t,e){return void 0===e&&(e=0),this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(Lt.prototype,{isVector3:!0,set:function(t,e,i){return this.x=t,this.y=e,this.z=i,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,e){return void 0!==e?this.addVectors(t,e):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},sub:function(t,e){return void 0!==e?this.subVectors(t,e):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(t,e){return void 0!==e?this.multiplyVectors(t,e):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyEuler:(L=new Tt,function(t){return!t||t.isEuler,this.applyQuaternion(L.setFromEuler(t))}),applyAxisAngle:function(){var t=new Tt;return function(e,i){return this.applyQuaternion(t.setFromAxisAngle(e,i))}}(),applyMatrix3:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[3]*i+r[6]*n,this.y=r[1]*e+r[4]*i+r[7]*n,this.z=r[2]*e+r[5]*i+r[8]*n,this},applyMatrix4:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements,a=1/(r[3]*e+r[7]*i+r[11]*n+r[15]);return this.x=(r[0]*e+r[4]*i+r[8]*n+r[12])*a,this.y=(r[1]*e+r[5]*i+r[9]*n+r[13])*a,this.z=(r[2]*e+r[6]*i+r[10]*n+r[14])*a,this},applyQuaternion:function(t){var e=this.x,i=this.y,n=this.z,r=t.x,a=t.y,s=t.z,o=t.w,h=o*e+a*n-s*i,l=o*i+s*e-r*n,c=o*n+r*i-a*e,u=-r*e-a*i-s*n;return this.x=h*o+u*-r+l*-s-c*-a,this.y=l*o+u*-a+c*-r-h*-s,this.z=c*o+u*-s+h*-a-l*-r,this},project:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)},unproject:function(){var t=new At;return function(e){return this.applyMatrix4(t.getInverse(e.projectionMatrix)).applyMatrix4(e.matrixWorld)}}(),transformDirection:function(t){var e=this.x,i=this.y,n=this.z,r=t.elements;return this.x=r[0]*e+r[4]*i+r[8]*n,this.y=r[1]*e+r[5]*i+r[9]*n,this.z=r[2]*e+r[6]*i+r[10]*n,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this},clampScalar:function(){var t=new Lt,e=new Lt;return function(i,n){return t.set(i,i,i),e.set(n,n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))},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(t){return this.x*t.x+this.y*t.y+this.z*t.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)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},cross:function(t,e){return void 0!==e?this.crossVectors(t,e):this.crossVectors(this,t)},crossVectors:function(t,e){var i=t.x,n=t.y,r=t.z,a=e.x,s=e.y,o=e.z;return this.x=n*o-r*s,this.y=r*a-i*o,this.z=i*s-n*a,this},projectOnVector:function(t){var e=t.dot(this)/t.lengthSq();return this.copy(t).multiplyScalar(e)},projectOnPlane:function(){var t=new Lt;return function(e){return t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t=new Lt;return function(e){return this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/Math.sqrt(this.lengthSq()*t.lengthSq());return Math.acos(Mt.clamp(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return e*e+i*i+n*n},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)},setFromSphericalCoords:function(t,e,i){var n=Math.sin(e)*t;return this.x=n*Math.sin(i),this.y=Math.cos(e)*t,this.z=n*Math.cos(i),this},setFromCylindrical:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)},setFromCylindricalCoords:function(t,e,i){return this.x=t*Math.sin(e),this.y=i,this.z=t*Math.cos(e),this},setFromMatrixPosition:function(t){var e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this},setFromMatrixScale:function(t){var e=this.setFromMatrixColumn(t,0).length(),i=this.setFromMatrixColumn(t,1).length(),n=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=i,this.z=n,this},setFromMatrixColumn:function(t,e){return this.fromArray(t.elements,4*e)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},fromBufferAttribute:function(t,e,i){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}}),Object.assign(Ct.prototype,{isMatrix3:!0,set:function(t,e,i,n,r,a,s,o,h){var l=this.elements;return l[0]=t,l[1]=n,l[2]=s,l[3]=e,l[4]=r,l[5]=o,l[6]=i,l[7]=a,l[8]=h,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(t){var e=this.elements,i=t.elements;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],this},setFromMatrix4:function(t){var e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this},applyToBufferAttribute:function(){var t=new Lt;return function(e){for(var i=0,n=e.count;i<n;i++)t.x=e.getX(i),t.y=e.getY(i),t.z=e.getZ(i),t.applyMatrix3(this),e.setXYZ(i,t.x,t.y,t.z);return e}}(),multiply:function(t){return this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var i=t.elements,n=e.elements,r=this.elements,a=i[0],s=i[3],o=i[6],h=i[1],l=i[4],c=i[7],u=i[2],d=i[5],p=i[8],f=n[0],m=n[3],g=n[6],v=n[1],y=n[4],x=n[7],b=n[2],w=n[5],_=n[8];return r[0]=a*f+s*v+o*b,r[3]=a*m+s*y+o*w,r[6]=a*g+s*x+o*_,r[1]=h*f+l*v+c*b,r[4]=h*m+l*y+c*w,r[7]=h*g+l*x+c*_,r[2]=u*f+d*v+p*b,r[5]=u*m+d*y+p*w,r[8]=u*g+d*x+p*_,this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this},determinant:function(){var t=this.elements,e=t[0],i=t[1],n=t[2],r=t[3],a=t[4],s=t[5],o=t[6],h=t[7],l=t[8];return e*a*l-e*s*h-i*r*l+i*s*o+n*r*h-n*a*o},getInverse:function(t,e){t&&t.isMatrix4;var i=t.elements,n=this.elements,r=i[0],a=i[1],s=i[2],o=i[3],h=i[4],l=i[5],c=i[6],u=i[7],d=i[8],p=d*h-l*u,f=l*c-d*o,m=u*o-h*c,g=r*p+a*f+s*m;if(0===g){if(!0===e)throw new Error("THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0");return this.identity()}var v=1/g;return n[0]=p*v,n[1]=(s*u-d*a)*v,n[2]=(l*a-s*h)*v,n[3]=f*v,n[4]=(d*r-s*c)*v,n[5]=(s*o-l*r)*v,n[6]=m*v,n[7]=(a*c-u*r)*v,n[8]=(h*r-a*o)*v,this},transpose:function(){var t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this},getNormalMatrix:function(t){return this.setFromMatrix4(t).getInverse(this).transpose()},transposeIntoArray:function(t){var e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this},setUvTransform:function(t,e,i,n,r,a,s){var o=Math.cos(r),h=Math.sin(r);this.set(i*o,i*h,-i*(o*a+h*s)+a+t,-n*h,n*o,-n*(-h*a+o*s)+s+e,0,0,1)},scale:function(t,e){var i=this.elements;return i[0]*=t,i[3]*=t,i[6]*=t,i[1]*=e,i[4]*=e,i[7]*=e,this},rotate:function(t){var e=Math.cos(t),i=Math.sin(t),n=this.elements,r=n[0],a=n[3],s=n[6],o=n[1],h=n[4],l=n[7];return n[0]=e*r+i*o,n[3]=e*a+i*h,n[6]=e*s+i*l,n[1]=-i*r+e*o,n[4]=-i*a+e*h,n[7]=-i*s+e*l,this},translate:function(t,e){var i=this.elements;return i[0]+=t*i[2],i[3]+=t*i[5],i[6]+=t*i[8],i[1]+=e*i[2],i[4]+=e*i[5],i[7]+=e*i[8],this},equals:function(t){for(var e=this.elements,i=t.elements,n=0;n<9;n++)if(e[n]!==i[n])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var i=0;i<9;i++)this.elements[i]=t[i+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t}});var Pt,Et,Dt,It={getDataURL:function(t){var e;if("undefined"==typeof HTMLCanvasElement)return t.src;if(t instanceof HTMLCanvasElement)e=t;else{void 0===C&&(C=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),C.width=t.width,C.height=t.height;var i=C.getContext("2d");t instanceof ImageData?i.putImageData(t,0,0):i.drawImage(t,0,0,t.width,t.height),e=C}return e.width>2048||e.height>2048?e.toDataURL("image/jpeg",.6):e.toDataURL("image/png")}},Ot=0;function Nt(t,e,i,n,r,a,s,o,h,l){Object.defineProperty(this,"id",{value:Ot++}),this.uuid=Mt.generateUUID(),this.name="",this.image=void 0!==t?t:Nt.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==e?e:Nt.DEFAULT_MAPPING,this.wrapS=void 0!==i?i:U,this.wrapT=void 0!==n?n:U,this.magFilter=void 0!==r?r:H,this.minFilter=void 0!==a?a:q,this.anisotropy=void 0!==h?h:1,this.format=void 0!==s?s:et,this.type=void 0!==o?o:Y,this.offset=new St(0,0),this.repeat=new St(1,1),this.center=new St(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Ct,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==l?l:xt,this.version=0,this.onUpdate=null}function kt(t,e,i,n){this.x=t||0,this.y=e||0,this.z=i||0,this.w=void 0!==n?n:1}function zt(t,e,i){this.width=t,this.height=e,this.scissor=new kt(0,0,t,e),this.scissorTest=!1,this.viewport=new kt(0,0,t,e),i=i||{},this.texture=new Nt(void 0,void 0,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.encoding),this.texture.generateMipmaps=void 0!==i.generateMipmaps&&i.generateMipmaps,this.texture.minFilter=void 0!==i.minFilter?i.minFilter:H,this.depthBuffer=void 0===i.depthBuffer||i.depthBuffer,this.stencilBuffer=void 0===i.stencilBuffer||i.stencilBuffer,this.depthTexture=void 0!==i.depthTexture?i.depthTexture:null}function Rt(t,e,i){zt.call(this,t,e,i),this.samples=4}function Bt(t,e,i){zt.call(this,t,e,i)}function Ft(t,e,i,n,r,a,s,o,h,l,c,u){Nt.call(this,null,a,s,o,h,l,n,r,c,u),this.image={data:t,width:e,height:i},this.magFilter=void 0!==h?h:j,this.minFilter=void 0!==l?l:j,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}function Ut(t,e){this.min=void 0!==t?t:new Lt(1/0,1/0,1/0),this.max=void 0!==e?e:new Lt(-1/0,-1/0,-1/0)}function Gt(t,e){this.center=void 0!==t?t:new Lt,this.radius=void 0!==e?e:0}function jt(t,e){this.normal=void 0!==t?t:new Lt(1,0,0),this.constant=void 0!==e?e:0}function Vt(t,e,i,n,r,a){this.planes=[void 0!==t?t:new jt,void 0!==e?e:new jt,void 0!==i?i:new jt,void 0!==n?n:new jt,void 0!==r?r:new jt,void 0!==a?a:new jt]}Nt.DEFAULT_IMAGE=void 0,Nt.DEFAULT_MAPPING=O,Nt.prototype=Object.assign(Object.create(g.prototype),{constructor:Nt,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){var e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];var i={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],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){var n=this.image;if(void 0===n.uuid&&(n.uuid=Mt.generateUUID()),!e&&void 0===t.images[n.uuid]){var r;if(Array.isArray(n)){r=[];for(var a=0,s=n.length;a<s;a++)r.push(It.getDataURL(n[a]))}else r=It.getDataURL(n);t.images[n.uuid]={uuid:n.uuid,url:r}}i.image=n.uuid}return e||(t.textures[this.uuid]=i),i},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(t){if(this.mapping!==O)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case F:t.x=t.x-Math.floor(t.x);break;case U:t.x=t.x<0?0:1;break;case G:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case F:t.y=t.y-Math.floor(t.y);break;case U:t.y=t.y<0?0:1;break;case G:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}}),Object.defineProperty(Nt.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(kt.prototype,{isVector4:!0,set:function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){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: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this},add:function(t,e){return void 0!==e?this.addVectors(t,e):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},sub:function(t,e){return void 0!==e?this.subVectors(t,e):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var e=this.x,i=this.y,n=this.z,r=this.w,a=t.elements;return this.x=a[0]*e+a[4]*i+a[8]*n+a[12]*r,this.y=a[1]*e+a[5]*i+a[9]*n+a[13]*r,this.z=a[2]*e+a[6]*i+a[10]*n+a[14]*r,this.w=a[3]*e+a[7]*i+a[11]*n+a[15]*r,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this},setAxisAngleFromRotationMatrix:function(t){var e,i,n,r,a=.01,s=.1,o=t.elements,h=o[0],l=o[4],c=o[8],u=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(l-u)<a&&Math.abs(c-f)<a&&Math.abs(p-m)<a){if(Math.abs(l+u)<s&&Math.abs(c+f)<s&&Math.abs(p+m)<s&&Math.abs(h+d+g-3)<s)return this.set(1,0,0,0),this;e=Math.PI;var v=(h+1)/2,y=(d+1)/2,x=(g+1)/2,b=(l+u)/4,w=(c+f)/4,_=(p+m)/4;return v>y&&v>x?v<a?(i=0,n=.707106781,r=.707106781):(n=b/(i=Math.sqrt(v)),r=w/i):y>x?y<a?(i=.707106781,n=0,r=.707106781):(i=b/(n=Math.sqrt(y)),r=_/n):x<a?(i=.707106781,n=.707106781,r=0):(i=w/(r=Math.sqrt(x)),n=_/r),this.set(i,n,r,e),this}var M=Math.sqrt((m-p)*(m-p)+(c-f)*(c-f)+(u-l)*(u-l));return Math.abs(M)<.001&&(M=1),this.x=(m-p)/M,this.y=(c-f)/M,this.z=(u-l)/M,this.w=Math.acos((h+d+g-1)/2),this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this},clamp:function(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this.w=Math.max(t.w,Math.min(e.w,this.w)),this},clampScalar:function(){var t,e;return function(i,n){return void 0===t&&(t=new kt,e=new kt),t.set(i,i,i,i),e.set(n,n,n,n),this.clamp(t,e)}}(),clampLength:function(t,e){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(t,Math.min(e,i)))},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(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.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)},manhattanLength: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(t){return this.normalize().multiplyScalar(t)},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this},lerpVectors:function(t,e,i){return this.subVectors(e,t).multiplyScalar(i).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t},fromBufferAttribute:function(t,e,i){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}}),zt.prototype=Object.assign(Object.create(g.prototype),{constructor:zt,isWebGLRenderTarget:!0,setSize:function(t,e){this.width===t&&this.height===e||(this.width=t,this.height=e,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.width=t.width,this.height=t.height,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.depthTexture=t.depthTexture,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Rt.prototype=Object.assign(Object.create(zt.prototype),{constructor:Rt,isWebGLMultisampleRenderTarget:!0,copy:function(t){return zt.prototype.copy.call(this,t),this.samples=t.samples,this}}),Bt.prototype=Object.create(zt.prototype),Bt.prototype.constructor=Bt,Bt.prototype.isWebGLRenderTargetCube=!0,Ft.prototype=Object.create(Nt.prototype),Ft.prototype.constructor=Ft,Ft.prototype.isDataTexture=!0,Object.assign(Ut.prototype,{isBox3:!0,set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromArray:function(t){for(var e=1/0,i=1/0,n=1/0,r=-1/0,a=-1/0,s=-1/0,o=0,h=t.length;o<h;o+=3){var l=t[o],c=t[o+1],u=t[o+2];l<e&&(e=l),c<i&&(i=c),u<n&&(n=u),l>r&&(r=l),c>a&&(a=c),u>s&&(s=u)}return this.min.set(e,i,n),this.max.set(r,a,s),this},setFromBufferAttribute:function(t){for(var e=1/0,i=1/0,n=1/0,r=-1/0,a=-1/0,s=-1/0,o=0,h=t.count;o<h;o++){var l=t.getX(o),c=t.getY(o),u=t.getZ(o);l<e&&(e=l),c<i&&(i=c),u<n&&(n=u),l>r&&(r=l),c>a&&(a=c),u>s&&(s=u)}return this.min.set(e,i,n),this.max.set(r,a,s),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new Lt;return function(e,i){var n=t.copy(i).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}}(),setFromObject:function(t){return this.makeEmpty(),this.expandByObject(t)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.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(t){return void 0===t&&(t=new Lt),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return void 0===t&&(t=new Lt),this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},expandByObject:function(){var t,e,i,n=new Lt;function r(r){var a=r.geometry;if(void 0!==a)if(a.isGeometry){var s=a.vertices;for(e=0,i=s.length;e<i;e++)n.copy(s[e]),n.applyMatrix4(r.matrixWorld),t.expandByPoint(n)}else if(a.isBufferGeometry){var o=a.attributes.p