jh-front-end-example-2/public/eim-0225/EIMMODEL.min.js

12 lines
4.0 MiB
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*!!**
* EIMMODEL V1.0.0
* A WebGL-based 3D Viewer for threejs
* http://www.i3vsoft.com/
* Built on 2021-2-25 7:24:06 PM
* commitHash 2611d22d
* Copyright 2021, 广州君和信息技术有限公司
***/
!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((A=A||self).EIMMODEL={})}(this,(function(A){"use strict";console.log("EIMMODEL Version: 1.0.0");var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(A,e){A(e={exports:{}},e.exports)}((function(A){!function(e,t){var i=function(){function A(A){return"[object Array]"===Object.prototype.toString.call(A)}function e(A,e){for(var t in e)e.hasOwnProperty(t)&&(A[t]=e[t])}function t(A){if(!(this instanceof t))throw new TypeError(this+"is not a promise");if("function"!=typeof A)throw new TypeError("Promise resolver "+A+" is not a function");var e=new i;this._resolver=e;try{A((function(A){e.resolve(A)}),(function(A){e.reject(A)}))}catch(A){e.reject(A)}}function i(){this._callbacks=[],this._errbacks=[],this._status="pending",this._result=null}return e(t.prototype,{then:function(A,e){var i,o,n=new this.constructor((function(A,e){i=A,o=e}));return this._resolver._addCallbacks("function"==typeof A?t._makeCallback(n,i,o,A):i,"function"==typeof e?t._makeCallback(n,i,o,e):o),n},catch:function(A){return this.then(void 0,A)}}),t._makeCallback=function(A,e,t,i){return function(o){var n;try{n=i(o)}catch(A){return void t(A)}n!==A?e(n):t(new TypeError("Cannot resolve a promise with itself"))}},t.resolve=function(A){return A&&A.constructor===this?A:new this((function(e){e(A)}))},t.reject=function(A){var e=new this((function(){}));return e._resolver._result=A,e._resolver._status="rejected",e},t.all=function(e){var t=this;return new t((function(i,o){if(A(e)){var n=e.length,r=0,a=e.length,s=[];if(1>a)return i(s);for(;a>r;r++)t.resolve(e[r]).then(l(r),o)}else o(new TypeError("Promise.all expects an array of values or promises"));function l(A){return function(e){s[A]=e,--n||i(s)}}}))},t.race=function(e){var t=this;return new t((function(i,o){if(A(e))for(var n=0,r=e.length;r>n;n++)t.resolve(e[n]).then(i,o);else o(new TypeError("Promise.race expects an array of values or promises"))}))},t.async="undefined"!=typeof setImmediate?function(A){setImmediate(A)}:"undefined"!=typeof process&&process.nextTick?process.nextTick:function(A){setTimeout(A,0)},e(i.prototype,{fulfill:function(A){var e=this._status;"pending"!==e&&"accepted"!==e||(this._result=A,this._status="fulfilled"),"fulfilled"===this._status&&(this._notify(this._callbacks,this._result),this._callbacks=[],this._errbacks=null)},reject:function(A){var e=this._status;"pending"!==e&&"accepted"!==e||(this._result=A,this._status="rejected"),"rejected"===this._status&&(this._notify(this._errbacks,this._result),this._callbacks=null,this._errbacks=[])},resolve:function(A){"pending"===this._status&&(this._status="accepted",this._value=A,(this._callbacks&&this._callbacks.length||this._errbacks&&this._errbacks.length)&&this._unwrap(this._value))},_unwrap:function(A){var e,t=this,i=!1;if(!A||"object"!=typeof A&&"function"!=typeof A)t.fulfill(A);else try{"function"==typeof(e=A.then)?e.call(A,(function(A){i||(i=!0,t._unwrap(A))}),(function(A){i||(i=!0,t.reject(A))})):t.fulfill(A)}catch(A){i||t.reject(A)}},_addCallbacks:function(A,e){var t=this._callbacks,i=this._errbacks;switch(t&&t.push(A),i&&i.push(e),this._status){case"accepted":this._unwrap(this._value);break;case"fulfilled":this.fulfill(this._result);break;case"rejected":this.reject(this._result)}},_notify:function(A,e){A.length&&t.async((function(){var t,i;for(t=0,i=A.length;i>t;++t)A[t](e)}))}}),t.Resolver=i,t}();A&&(A.exports=i),(e=e||self).PromisePolyfill=i,e.Promise||(e.Promise=i)}(e)}));void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(A){return"number"==typeof A&&isFinite(A)&&Math.floor(A)===A}),void 0===Math.sign&&(Math.sign=function(A){return 0>A?-1:A>0?1:+A}),"name"in Function.prototype==!1&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&(Object.assign=function(A){if(null==A)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(A),t=1;arguments.length>t;t++){var i=arguments[t];if(null!=i)for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o])}return e});var t={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2};function i(){}Object.assign(i.prototype,{addEventListener:function(A,e){void 0===this._listeners&&(this._listeners={});var t=this._listeners;void 0===t[A]&&(t[A]=[]),-1===t[A].indexOf(e)&&t[A].push(e)},hasEventListener:function(A,e){if(void 0===this._listeners)return!1;var t=this._listeners;return void 0!==t[A]&&-1!==t[A].indexOf(e)},removeEventListener:function(A,e){if(void 0!==this._listeners){var t=this._listeners[A];if(void 0!==t){var i=t.indexOf(e);-1!==i&&t.splice(i,1)}}},dispatchEvent:function(A){if(void 0!==this._listeners){var e=this._listeners[A.type];if(void 0!==e){A.target=this;for(var t=e.slice(0),i=0,o=t.length;o>i;i++)t[i].call(this,A)}}}});for(var o=[],n=0;256>n;n++)o[n]=(16>n?"0":"")+n.toString(16);var r,a={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var A=4294967295*Math.random()|0,e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return(o[255&A]+o[A>>8&255]+o[A>>16&255]+o[A>>24&255]+"-"+o[255&e]+o[e>>8&255]+"-"+o[e>>16&15|64]+o[e>>24&255]+"-"+o[63&t|128]+o[t>>8&255]+"-"+o[t>>16&255]+o[t>>24&255]+o[255&i]+o[i>>8&255]+o[i>>16&255]+o[i>>24&255]).toUpperCase()},clamp:function(A,e,t){return Math.max(e,Math.min(t,A))},euclideanModulo:function(A,e){return(A%e+e)%e},mapLinear:function(A,e,t,i,o){return i+(A-e)*(o-i)/(t-e)},lerp:function(A,e,t){return(1-t)*A+t*e},smoothstep:function(A,e,t){return A>e?t>A?(A=(A-e)/(t-e))*A*(3-2*A):1:0},smootherstep:function(A,e,t){return A>e?t>A?(A=(A-e)/(t-e))*A*A*(A*(6*A-15)+10):1:0},randInt:function(A,e){return A+Math.floor(Math.random()*(e-A+1))},randFloat:function(A,e){return A+Math.random()*(e-A)},randFloatSpread:function(A){return A*(.5-Math.random())},degToRad:function(A){return A*a.DEG2RAD},radToDeg:function(A){return A*a.RAD2DEG},isPowerOfTwo:function(A){return 0==(A&A-1)&&0!==A},ceilPowerOfTwo:function(A){return Math.pow(2,Math.ceil(Math.log(A)/Math.LN2))},floorPowerOfTwo:function(A){return Math.pow(2,Math.floor(Math.log(A)/Math.LN2))},setQuaternionFromProperEuler:function(A,e,t,i,o){var n=Math.cos,r=Math.sin,a=n(t/2),s=r(t/2),l=n((e+i)/2),c=r((e+i)/2),h=n((e-i)/2),d=r((e-i)/2),p=n((i-e)/2),g=r((i-e)/2);"XYX"===o?A.set(a*c,s*h,s*d,a*l):"YZY"===o?A.set(s*d,a*c,s*h,a*l):"ZXZ"===o?A.set(s*h,s*d,a*c,a*l):"XZX"===o?A.set(a*c,s*g,s*p,a*l):"YXY"===o?A.set(s*p,a*c,s*g,a*l):"ZYZ"===o?A.set(s*g,s*p,a*c,a*l):console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order.")}};function s(A,e){this.x=A||0,this.y=e||0}function l(){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.")}Object.defineProperties(s.prototype,{width:{get:function(){return this.x},set:function(A){this.x=A}},height:{get:function(){return this.y},set:function(A){this.y=A}}}),Object.assign(s.prototype,{isVector2:!0,set:function(A,e){return this.x=A,this.y=e,this},setScalar:function(A){return this.x=A,this.y=A,this},setX:function(A){return this.x=A,this},setY:function(A){return this.y=A,this},setComponent:function(A,e){switch(A){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+A)}return this},getComponent:function(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(A){return this.x=A.x,this.y=A.y,this},add:function(A,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,e)):(this.x+=A.x,this.y+=A.y,this)},addScalar:function(A){return this.x+=A,this.y+=A,this},addVectors:function(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this},addScaledVector:function(A,e){return this.x+=A.x*e,this.y+=A.y*e,this},sub:function(A,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,e)):(this.x-=A.x,this.y-=A.y,this)},subScalar:function(A){return this.x-=A,this.y-=A,this},subVectors:function(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this},multiply:function(A){return this.x*=A.x,this.y*=A.y,this},multiplyScalar:function(A){return this.x*=A,this.y*=A,this},divide:function(A){return this.x/=A.x,this.y/=A.y,this},divideScalar:function(A){return this.multiplyScalar(1/A)},applyMatrix3:function(A){var e=this.x,t=this.y,i=A.elements;return this.x=i[0]*e+i[3]*t+i[6],this.y=i[1]*e+i[4]*t+i[7],this},min:function(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this},max:function(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this},clamp:function(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this},clampScalar:function(A,e){return this.x=Math.max(A,Math.min(e,this.x)),this.y=Math.max(A,Math.min(e,this.y)),this},clampLength:function(A,e){var t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))},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=0>this.x?Math.ceil(this.x):Math.floor(this.x),this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(A){return this.x*A.x+this.y*A.y},cross:function(A){return this.x*A.y-this.y*A.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(){return Math.atan2(-this.y,-this.x)+Math.PI},distanceTo:function(A){return Math.sqrt(this.distanceToSquared(A))},distanceToSquared:function(A){var e=this.x-A.x,t=this.y-A.y;return e*e+t*t},manhattanDistanceTo:function(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)},setLength:function(A){return this.normalize().multiplyScalar(A)},lerp:function(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this},lerpVectors:function(A,e,t){return this.subVectors(e,A).multiplyScalar(t).add(A)},equals:function(A){return A.x===this.x&&A.y===this.y},fromArray:function(A,e){return void 0===e&&(e=0),this.x=A[e],this.y=A[e+1],this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this.x,A[e+1]=this.y,A},fromBufferAttribute:function(A,e,t){return void 0!==t&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(e),this.y=A.getY(e),this},rotateAround:function(A,e){var t=Math.cos(e),i=Math.sin(e),o=this.x-A.x,n=this.y-A.y;return this.x=o*t-n*i+A.x,this.y=o*i+n*t+A.y,this}}),Object.assign(l.prototype,{isMatrix3:!0,set:function(A,e,t,i,o,n,r,a,s){var l=this.elements;return l[0]=A,l[1]=i,l[2]=r,l[3]=e,l[4]=o,l[5]=a,l[6]=t,l[7]=n,l[8]=s,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(A){var e=this.elements,t=A.elements;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},extractBasis:function(A,e,t){return A.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),t.setFromMatrix3Column(this,2),this},setFromMatrix4:function(A){var e=A.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this},multiply:function(A){return this.multiplyMatrices(this,A)},premultiply:function(A){return this.multiplyMatrices(A,this)},multiplyMatrices:function(A,e){var t=A.elements,i=e.elements,o=this.elements,n=t[0],r=t[3],a=t[6],s=t[1],l=t[4],c=t[7],h=t[2],d=t[5],p=t[8],g=i[0],u=i[3],f=i[6],m=i[1],C=i[4],y=i[7],v=i[2],I=i[5],E=i[8];return o[0]=n*g+r*m+a*v,o[3]=n*u+r*C+a*I,o[6]=n*f+r*y+a*E,o[1]=s*g+l*m+c*v,o[4]=s*u+l*C+c*I,o[7]=s*f+l*y+c*E,o[2]=h*g+d*m+p*v,o[5]=h*u+d*C+p*I,o[8]=h*f+d*y+p*E,this},multiplyScalar:function(A){var e=this.elements;return e[0]*=A,e[3]*=A,e[6]*=A,e[1]*=A,e[4]*=A,e[7]*=A,e[2]*=A,e[5]*=A,e[8]*=A,this},determinant:function(){var A=this.elements,e=A[0],t=A[1],i=A[2],o=A[3],n=A[4],r=A[5],a=A[6],s=A[7],l=A[8];return e*n*l-e*r*s-t*o*l+t*r*a+i*o*s-i*n*a},getInverse:function(A,e){void 0!==e&&console.warn("THREE.Matrix3: .getInverse() can no longer be configured to throw on degenerate.");var t=A.elements,i=this.elements,o=t[0],n=t[1],r=t[2],a=t[3],s=t[4],l=t[5],c=t[6],h=t[7],d=t[8],p=d*s-l*h,g=l*c-d*a,u=h*a-s*c,f=o*p+n*g+r*u;if(0===f)return this.set(0,0,0,0,0,0,0,0,0);var m=1/f;return i[0]=p*m,i[1]=(r*h-d*n)*m,i[2]=(l*n-r*s)*m,i[3]=g*m,i[4]=(d*o-r*c)*m,i[5]=(r*a-l*o)*m,i[6]=u*m,i[7]=(n*c-h*o)*m,i[8]=(s*o-n*a)*m,this},transpose:function(){var A,e=this.elements;return A=e[1],e[1]=e[3],e[3]=A,A=e[2],e[2]=e[6],e[6]=A,A=e[5],e[5]=e[7],e[7]=A,this},getNormalMatrix:function(A){return this.setFromMatrix4(A).getInverse(this).transpose()},transposeIntoArray:function(A){var e=this.elements;return A[0]=e[0],A[1]=e[3],A[2]=e[6],A[3]=e[1],A[4]=e[4],A[5]=e[7],A[6]=e[2],A[7]=e[5],A[8]=e[8],this},setUvTransform:function(A,e,t,i,o,n,r){var a=Math.cos(o),s=Math.sin(o);this.set(t*a,t*s,-t*(a*n+s*r)+n+A,-i*s,i*a,-i*(-s*n+a*r)+r+e,0,0,1)},scale:function(A,e){var t=this.elements;return t[0]*=A,t[3]*=A,t[6]*=A,t[1]*=e,t[4]*=e,t[7]*=e,this},rotate:function(A){var e=Math.cos(A),t=Math.sin(A),i=this.elements,o=i[0],n=i[3],r=i[6],a=i[1],s=i[4],l=i[7];return i[0]=e*o+t*a,i[3]=e*n+t*s,i[6]=e*r+t*l,i[1]=-t*o+e*a,i[4]=-t*n+e*s,i[7]=-t*r+e*l,this},translate:function(A,e){var t=this.elements;return t[0]+=A*t[2],t[3]+=A*t[5],t[6]+=A*t[8],t[1]+=e*t[2],t[4]+=e*t[5],t[7]+=e*t[8],this},equals:function(A){for(var e=this.elements,t=A.elements,i=0;9>i;i++)if(e[i]!==t[i])return!1;return!0},fromArray:function(A,e){void 0===e&&(e=0);for(var t=0;9>t;t++)this.elements[t]=A[t+e];return this},toArray:function(A,e){void 0===A&&(A=[]),void 0===e&&(e=0);var t=this.elements;return A[e]=t[0],A[e+1]=t[1],A[e+2]=t[2],A[e+3]=t[3],A[e+4]=t[4],A[e+5]=t[5],A[e+6]=t[6],A[e+7]=t[7],A[e+8]=t[8],A}});var c={getDataURL:function(A){var e;if("undefined"==typeof HTMLCanvasElement)return A.src;if(A instanceof HTMLCanvasElement)e=A;else{void 0===r&&(r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),r.width=A.width,r.height=A.height;var t=r.getContext("2d");A instanceof ImageData?t.putImageData(A,0,0):t.drawImage(A,0,0,A.width,A.height),e=r}return e.width>2048||e.height>2048?e.toDataURL("image/jpeg",.6):e.toDataURL("image/png")}},h=0;function d(A,e,t,i,o,n,r,c,p,g){Object.defineProperty(this,"id",{value:h++}),this.uuid=a.generateUUID(),this.name="",this.image=void 0!==A?A:d.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==e?e:d.DEFAULT_MAPPING,this.wrapS=void 0!==t?t:1001,this.wrapT=void 0!==i?i:1001,this.magFilter=void 0!==o?o:1006,this.minFilter=void 0!==n?n:1008,this.anisotropy=void 0!==p?p:1,this.format=void 0!==r?r:1023,this.internalFormat=null,this.type=void 0!==c?c:1009,this.offset=new s(0,0),this.repeat=new s(1,1),this.center=new s(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new l,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==g?g:3e3,this.version=0,this.onUpdate=null}function p(A,e,t,i){this.x=A||0,this.y=e||0,this.z=t||0,this.w=void 0!==i?i:1}function g(A,e,t){this.width=A,this.height=e,this.scissor=new p(0,0,A,e),this.scissorTest=!1,this.viewport=new p(0,0,A,e),this.texture=new d(void 0,(t=t||{}).mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.image={},this.texture.image.width=A,this.texture.image.height=e,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:1006,this.depthBuffer=void 0===t.depthBuffer||t.depthBuffer,this.stencilBuffer=void 0===t.stencilBuffer||t.stencilBuffer,this.depthTexture=void 0!==t.depthTexture?t.depthTexture:null}function u(A,e,t){g.call(this,A,e,t),this.samples=4}function f(A,e,t,i){this._x=A||0,this._y=e||0,this._z=t||0,this._w=void 0!==i?i:1}d.DEFAULT_IMAGE=void 0,d.DEFAULT_MAPPING=300,d.prototype=Object.assign(Object.create(i.prototype),{constructor:d,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(A){return this.name=A.name,this.image=A.image,this.mipmaps=A.mipmaps.slice(0),this.mapping=A.mapping,this.wrapS=A.wrapS,this.wrapT=A.wrapT,this.magFilter=A.magFilter,this.minFilter=A.minFilter,this.anisotropy=A.anisotropy,this.format=A.format,this.internalFormat=A.internalFormat,this.type=A.type,this.offset.copy(A.offset),this.repeat.copy(A.repeat),this.center.copy(A.center),this.rotation=A.rotation,this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrix.copy(A.matrix),this.generateMipmaps=A.generateMipmaps,this.premultiplyAlpha=A.premultiplyAlpha,this.flipY=A.flipY,this.unpackAlignment=A.unpackAlignment,this.encoding=A.encoding,this},toJSON:function(A){var e=void 0===A||"string"==typeof A;if(!e&&void 0!==A.textures[this.uuid])return A.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],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 i=this.image;if(void 0===i.uuid&&(i.uuid=a.generateUUID()),!e&&void 0===A.images[i.uuid]){var o;if(Array.isArray(i)){o=[];for(var n=0,r=i.length;r>n;n++)o.push(c.getDataURL(i[n]))}else o=c.getDataURL(i);A.images[i.uuid]={uuid:i.uuid,url:o}}t.image=i.uuid}return e||(A.textures[this.uuid]=t),t},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(A){if(300!==this.mapping)return A;if(A.applyMatrix3(this.matrix),0>A.x||A.x>1)switch(this.wrapS){case 1e3:A.x=A.x-Math.floor(A.x);break;case 1001:A.x=0>A.x?0:1;break;case 1002:A.x=1===Math.abs(Math.floor(A.x)%2)?Math.ceil(A.x)-A.x:A.x-Math.floor(A.x)}if(0>A.y||A.y>1)switch(this.wrapT){case 1e3:A.y=A.y-Math.floor(A.y);break;case 1001:A.y=0>A.y?0:1;break;case 1002:A.y=1===Math.abs(Math.floor(A.y)%2)?Math.ceil(A.y)-A.y:A.y-Math.floor(A.y)}return this.flipY&&(A.y=1-A.y),A}}),Object.defineProperty(d.prototype,"needsUpdate",{set:function(A){!0===A&&this.version++}}),Object.defineProperties(p.prototype,{width:{get:function(){return this.z},set:function(A){this.z=A}},height:{get:function(){return this.w},set:function(A){this.w=A}}}),Object.assign(p.prototype,{isVector4:!0,set:function(A,e,t,i){return this.x=A,this.y=e,this.z=t,this.w=i,this},setScalar:function(A){return this.x=A,this.y=A,this.z=A,this.w=A,this},setX:function(A){return this.x=A,this},setY:function(A){return this.y=A,this},setZ:function(A){return this.z=A,this},setW:function(A){return this.w=A,this},setComponent:function(A,e){switch(A){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: "+A)}return this},getComponent:function(A){switch(A){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: "+A)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(A){return this.x=A.x,this.y=A.y,this.z=A.z,this.w=void 0!==A.w?A.w:1,this},add:function(A,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,e)):(this.x+=A.x,this.y+=A.y,this.z+=A.z,this.w+=A.w,this)},addScalar:function(A){return this.x+=A,this.y+=A,this.z+=A,this.w+=A,this},addVectors:function(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this.z=A.z+e.z,this.w=A.w+e.w,this},addScaledVector:function(A,e){return this.x+=A.x*e,this.y+=A.y*e,this.z+=A.z*e,this.w+=A.w*e,this},sub:function(A,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,e)):(this.x-=A.x,this.y-=A.y,this.z-=A.z,this.w-=A.w,this)},subScalar:function(A){return this.x-=A,this.y-=A,this.z-=A,this.w-=A,this},subVectors:function(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this.z=A.z-e.z,this.w=A.w-e.w,this},multiplyScalar:function(A){return this.x*=A,this.y*=A,this.z*=A,this.w*=A,this},applyMatrix4:function(A){var e=this.x,t=this.y,i=this.z,o=this.w,n=A.elements;return this.x=n[0]*e+n[4]*t+n[8]*i+n[12]*o,this.y=n[1]*e+n[5]*t+n[9]*i+n[13]*o,this.z=n[2]*e+n[6]*t+n[10]*i+n[14]*o,this.w=n[3]*e+n[7]*t+n[11]*i+n[15]*o,this},divideScalar:function(A){return this.multiplyScalar(1/A)},setAxisAngleFromQuaternion:function(A){this.w=2*Math.acos(A.w);var e=Math.sqrt(1-A.w*A.w);return 1e-4>e?(this.x=1,this.y=0,this.z=0):(this.x=A.x/e,this.y=A.y/e,this.z=A.z/e),this},setAxisAngleFromRotationMatrix:function(A){var e,t,i,o,n=A.elements,r=n[0],a=n[4],s=n[8],l=n[1],c=n[5],h=n[9],d=n[2],p=n[6],g=n[10];if(.01>Math.abs(a-l)&&.01>Math.abs(s-d)&&.01>Math.abs(h-p)){if(.1>Math.abs(a+l)&&.1>Math.abs(s+d)&&.1>Math.abs(h+p)&&.1>Math.abs(r+c+g-3))return this.set(1,0,0,0),this;e=Math.PI;var u=(r+1)/2,f=(c+1)/2,m=(g+1)/2,C=(a+l)/4,y=(s+d)/4,v=(h+p)/4;return u>f&&u>m?.01>u?(t=0,i=.707106781,o=.707106781):(i=C/(t=Math.sqrt(u)),o=y/t):f>m?.01>f?(t=.707106781,i=0,o=.707106781):(t=C/(i=Math.sqrt(f)),o=v/i):.01>m?(t=.707106781,i=.707106781,o=0):(t=y/(o=Math.sqrt(m)),i=v/o),this.set(t,i,o,e),this}var I=Math.sqrt((p-h)*(p-h)+(s-d)*(s-d)+(l-a)*(l-a));return.001>Math.abs(I)&&(I=1),this.x=(p-h)/I,this.y=(s-d)/I,this.z=(l-a)/I,this.w=Math.acos((r+c+g-1)/2),this},min:function(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this.w=Math.min(this.w,A.w),this},max:function(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this.w=Math.max(this.w,A.w),this},clamp:function(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this.z=Math.max(A.z,Math.min(e.z,this.z)),this.w=Math.max(A.w,Math.min(e.w,this.w)),this},clampScalar:function(A,e){return this.x=Math.max(A,Math.min(e,this.x)),this.y=Math.max(A,Math.min(e,this.y)),this.z=Math.max(A,Math.min(e,this.z)),this.w=Math.max(A,Math.min(e,this.w)),this},clampLength:function(A,e){var t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))},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=0>this.x?Math.ceil(this.x):Math.floor(this.x),this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y),this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z),this.w=0>this.w?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(A){return this.x*A.x+this.y*A.y+this.z*A.z+this.w*A.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(A){return this.normalize().multiplyScalar(A)},lerp:function(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this.z+=(A.z-this.z)*e,this.w+=(A.w-this.w)*e,this},lerpVectors:function(A,e,t){return this.subVectors(e,A).multiplyScalar(t).add(A)},equals:function(A){return A.x===this.x&&A.y===this.y&&A.z===this.z&&A.w===this.w},fromArray:function(A,e){return void 0===e&&(e=0),this.x=A[e],this.y=A[e+1],this.z=A[e+2],this.w=A[e+3],this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this.x,A[e+1]=this.y,A[e+2]=this.z,A[e+3]=this.w,A},fromBufferAttribute:function(A,e,t){return void 0!==t&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(e),this.y=A.getY(e),this.z=A.getZ(e),this.w=A.getW(e),this}}),g.prototype=Object.assign(Object.create(i.prototype),{constructor:g,isWebGLRenderTarget:!0,setSize:function(A,e){this.width===A&&this.height===e||(this.width=A,this.height=e,this.texture.image.width=A,this.texture.image.height=e,this.dispose()),this.viewport.set(0,0,A,e),this.scissor.set(0,0,A,e)},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.width=A.width,this.height=A.height,this.viewport.copy(A.viewport),this.texture=A.texture.clone(),this.depthBuffer=A.depthBuffer,this.stencilBuffer=A.stencilBuffer,this.depthTexture=A.depthTexture,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),u.prototype=Object.assign(Object.create(g.prototype),{constructor:u,isWebGLMultisampleRenderTarget:!0,copy:function(A){return g.prototype.copy.call(this,A),this.samples=A.samples,this}}),Object.assign(f,{slerp:function(A,e,t,i){return t.copy(A).slerp(e,i)},slerpFlat:function(A,e,t,i,o,n,r){var a=t[i+0],s=t[i+1],l=t[i+2],c=t[i+3],h=o[n+0],d=o[n+1],p=o[n+2],g=o[n+3];if(c!==g||a!==h||s!==d||l!==p){var u=1-r,f=a*h+s*d+l*p+c*g,m=0>f?-1:1,C=1-f*f;if(C>Number.EPSILON){var y=Math.sqrt(C),v=Math.atan2(y,f*m);u=Math.sin(u*v)/y,r=Math.sin(r*v)/y}var I=r*m;if(a=a*u+h*I,s=s*u+d*I,l=l*u+p*I,c=c*u+g*I,u===1-r){var E=1/Math.sqrt(a*a+s*s+l*l+c*c);a*=E,s*=E,l*=E,c*=E}}A[e]=a,A[e+1]=s,A[e+2]=l,A[e+3]=c}}),Object.defineProperties(f.prototype,{x:{get:function(){return this._x},set:function(A){this._x=A,this._onChangeCallback()}},y:{get:function(){return this._y},set:function(A){this._y=A,this._onChangeCallback()}},z:{get:function(){return this._z},set:function(A){this._z=A,this._onChangeCallback()}},w:{get:function(){return this._w},set:function(A){this._w=A,this._onChangeCallback()}}}),Object.assign(f.prototype,{isQuaternion:!0,set:function(A,e,t,i){return this._x=A,this._y=e,this._z=t,this._w=i,this._onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this},setFromEuler:function(A,e){if(!A||!A.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var t=A._x,i=A._y,o=A._z,n=A.order,r=Math.cos,a=Math.sin,s=r(t/2),l=r(i/2),c=r(o/2),h=a(t/2),d=a(i/2),p=a(o/2);return"XYZ"===n?(this._x=h*l*c+s*d*p,this._y=s*d*c-h*l*p,this._z=s*l*p+h*d*c,this._w=s*l*c-h*d*p):"YXZ"===n?(this._x=h*l*c+s*d*p,this._y=s*d*c-h*l*p,this._z=s*l*p-h*d*c,this._w=s*l*c+h*d*p):"ZXY"===n?(this._x=h*l*c-s*d*p,this._y=s*d*c+h*l*p,this._z=s*l*p+h*d*c,this._w=s*l*c-h*d*p):"ZYX"===n?(this._x=h*l*c-s*d*p,this._y=s*d*c+h*l*p,this._z=s*l*p-h*d*c,this._w=s*l*c+h*d*p):"YZX"===n?(this._x=h*l*c+s*d*p,this._y=s*d*c+h*l*p,this._z=s*l*p-h*d*c,this._w=s*l*c-h*d*p):"XZY"===n&&(this._x=h*l*c-s*d*p,this._y=s*d*c-h*l*p,this._z=s*l*p+h*d*c,this._w=s*l*c+h*d*p),!1!==e&&this._onChangeCallback(),this},setFromAxisAngle:function(A,e){var t=e/2,i=Math.sin(t);return this._x=A.x*i,this._y=A.y*i,this._z=A.z*i,this._w=Math.cos(t),this._onChangeCallback(),this},setFromRotationMatrix:function(A){var e,t=A.elements,i=t[0],o=t[4],n=t[8],r=t[1],a=t[5],s=t[9],l=t[2],c=t[6],h=t[10],d=i+a+h;return d>0?(e=.5/Math.sqrt(d+1),this._w=.25/e,this._x=(c-s)*e,this._y=(n-l)*e,this._z=(r-o)*e):i>a&&i>h?(e=2*Math.sqrt(1+i-a-h),this._w=(c-s)/e,this._x=.25*e,this._y=(o+r)/e,this._z=(n+l)/e):a>h?(e=2*Math.sqrt(1+a-i-h),this._w=(n-l)/e,this._x=(o+r)/e,this._y=.25*e,this._z=(s+c)/e):(e=2*Math.sqrt(1+h-i-a),this._w=(r-o)/e,this._x=(n+l)/e,this._y=(s+c)/e,this._z=.25*e),this._onChangeCallback(),this},setFromUnitVectors:function(A,e){var t=A.dot(e)+1;return 1e-6>t?(t=0,Math.abs(A.x)>Math.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=t):(this._x=0,this._y=-A.z,this._z=A.y,this._w=t)):(this._x=A.y*e.z-A.z*e.y,this._y=A.z*e.x-A.x*e.z,this._z=A.x*e.y-A.y*e.x,this._w=t),this.normalize()},angleTo:function(A){return 2*Math.acos(Math.abs(a.clamp(this.dot(A),-1,1)))},rotateTowards:function(A,e){var t=this.angleTo(A);if(0===t)return this;var i=Math.min(1,e/t);return this.slerp(A,i),this},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this},dot:function(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._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 A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(this._x=this._x*(A=1/A),this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this},multiply:function(A,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(A,e)):this.multiplyQuaternions(this,A)},premultiply:function(A){return this.multiplyQuaternions(A,this)},multiplyQuaternions:function(A,e){var t=A._x,i=A._y,o=A._z,n=A._w,r=e._x,a=e._y,s=e._z,l=e._w;return this._x=t*l+n*r+i*s-o*a,this._y=i*l+n*a+o*r-t*s,this._z=o*l+n*s+t*a-i*r,this._w=n*l-t*r-i*a-o*s,this._onChangeCallback(),this},slerp:function(A,e){if(0===e)return this;if(1===e)return this.copy(A);var t=this._x,i=this._y,o=this._z,n=this._w,r=n*A._w+t*A._x+i*A._y+o*A._z;if(0>r?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,r=-r):this.copy(A),r>=1)return this._w=n,this._x=t,this._y=i,this._z=o,this;var a=1-r*r;if(Number.EPSILON>=a){var s=1-e;return this._w=s*n+e*this._w,this._x=s*t+e*this._x,this._y=s*i+e*this._y,this._z=s*o+e*this._z,this.normalize(),this._onChangeCallback(),this}var l=Math.sqrt(a),c=Math.atan2(l,r),h=Math.sin((1-e)*c)/l,d=Math.sin(e*c)/l;return this._w=n*h+this._w*d,this._x=t*h+this._x*d,this._y=i*h+this._y*d,this._z=o*h+this._z*d,this._onChangeCallback(),this},equals:function(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w},fromArray:function(A,e){return void 0===e&&(e=0),this._x=A[e],this._y=A[e+1],this._z=A[e+2],this._w=A[e+3],this._onChangeCallback(),this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this._x,A[e+1]=this._y,A[e+2]=this._z,A[e+3]=this._w,A},fromBufferAttribute:function(A,e){return this._x=A.getX(e),this._y=A.getY(e),this._z=A.getZ(e),this._w=A.getW(e),this},_onChange:function(A){return this._onChangeCallback=A,this},_onChangeCallback:function(){}});var m=new y,C=new f;function y(A,e,t){this.x=A||0,this.y=e||0,this.z=t||0}Object.assign(y.prototype,{isVector3:!0,set:function(A,e,t){return this.x=A,this.y=e,this.z=t,this},setScalar:function(A){return this.x=A,this.y=A,this.z=A,this},setX:function(A){return this.x=A,this},setY:function(A){return this.y=A,this},setZ:function(A){return this.z=A,this},setComponent:function(A,e){switch(A){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: "+A)}return this},getComponent:function(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(A){return this.x=A.x,this.y=A.y,this.z=A.z,this},add:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,e)):(this.x+=A.x,this.y+=A.y,this.z+=A.z,this)},addScalar:function(A){return this.x+=A,this.y+=A,this.z+=A,this},addVectors:function(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this.z=A.z+e.z,this},addScaledVector:function(A,e){return this.x+=A.x*e,this.y+=A.y*e,this.z+=A.z*e,this},sub:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,e)):(this.x-=A.x,this.y-=A.y,this.z-=A.z,this)},subScalar:function(A){return this.x-=A,this.y-=A,this.z-=A,this},subVectors:function(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this.z=A.z-e.z,this},multiply:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(A,e)):(this.x*=A.x,this.y*=A.y,this.z*=A.z,this)},multiplyScalar:function(A){return this.x*=A,this.y*=A,this.z*=A,this},multiplyVectors:function(A,e){return this.x=A.x*e.x,this.y=A.y*e.y,this.z=A.z*e.z,this},applyEuler:function(A){return A&&A.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(C.setFromEuler(A))},applyAxisAngle:function(A,e){return this.applyQuaternion(C.setFromAxisAngle(A,e))},applyMatrix3:function(A){var e=this.x,t=this.y,i=this.z,o=A.elements;return this.x=o[0]*e+o[3]*t+o[6]*i,this.y=o[1]*e+o[4]*t+o[7]*i,this.z=o[2]*e+o[5]*t+o[8]*i,this},applyNormalMatrix:function(A){return this.applyMatrix3(A).normalize()},applyMatrix4:function(A){var e=this.x,t=this.y,i=this.z,o=A.elements,n=1/(o[3]*e+o[7]*t+o[11]*i+o[15]);return this.x=(o[0]*e+o[4]*t+o[8]*i+o[12])*n,this.y=(o[1]*e+o[5]*t+o[9]*i+o[13])*n,this.z=(o[2]*e+o[6]*t+o[10]*i+o[14])*n,this},applyQuaternion:function(A){var e=this.x,t=this.y,i=this.z,o=A.x,n=A.y,r=A.z,a=A.w,s=a*e+n*i-r*t,l=a*t+r*e-o*i,c=a*i+o*t-n*e,h=-o*e-n*t-r*i;return this.x=s*a+h*-o+l*-r-c*-n,this.y=l*a+h*-n+c*-o-s*-r,this.z=c*a+h*-r+s*-n-l*-o,this},project:function(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)},unproject:function(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)},transformDirection:function(A){var e=this.x,t=this.y,i=this.z,o=A.elements;return this.x=o[0]*e+o[4]*t+o[8]*i,this.y=o[1]*e+o[5]*t+o[9]*i,this.z=o[2]*e+o[6]*t+o[10]*i,this.normalize()},divide:function(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this},divideScalar:function(A){return this.multiplyScalar(1/A)},min:function(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this},max:function(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this},clamp:function(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this.z=Math.max(A.z,Math.min(e.z,this.z)),this},clampScalar:function(A,e){return this.x=Math.max(A,Math.min(e,this.x)),this.y=Math.max(A,Math.min(e,this.y)),this.z=Math.max(A,Math.min(e,this.z)),this},clampLength:function(A,e){var t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))},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=0>this.x?Math.ceil(this.x):Math.floor(this.x),this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y),this.z=0>this.z?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(A){return this.x*A.x+this.y*A.y+this.z*A.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(A){return this.normalize().multiplyScalar(A)},lerp:function(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this.z+=(A.z-this.z)*e,this},lerpVectors:function(A,e,t){return this.subVectors(e,A).multiplyScalar(t).add(A)},cross:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(A,e)):this.crossVectors(this,A)},crossVectors:function(A,e){var t=A.x,i=A.y,o=A.z,n=e.x,r=e.y,a=e.z;return this.x=i*a-o*r,this.y=o*n-t*a,this.z=t*r-i*n,this},projectOnVector:function(A){var e=A.lengthSq();if(0===e)return this.set(0,0,0);var t=A.dot(this)/e;return this.copy(A).multiplyScalar(t)},projectOnPlane:function(A){return m.copy(this).projectOnVector(A),this.sub(m)},reflect:function(A){return this.sub(m.copy(A).multiplyScalar(2*this.dot(A)))},angleTo:function(A){var e=Math.sqrt(this.lengthSq()*A.lengthSq());if(0===e)return Math.PI/2;var t=this.dot(A)/e;return Math.acos(a.clamp(t,-1,1))},distanceTo:function(A){return Math.sqrt(this.distanceToSquared(A))},distanceToSquared:function(A){var e=this.x-A.x,t=this.y-A.y,i=this.z-A.z;return e*e+t*t+i*i},manhattanDistanceTo:function(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)},setFromSpherical:function(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)},setFromSphericalCoords:function(A,e,t){var i=Math.sin(e)*A;return this.x=i*Math.sin(t),this.y=Math.cos(e)*A,this.z=i*Math.cos(t),this},setFromCylindrical:function(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)},setFromCylindricalCoords:function(A,e,t){return this.x=A*Math.sin(e),this.y=t,this.z=A*Math.cos(e),this},setFromMatrixPosition:function(A){var e=A.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this},setFromMatrixScale:function(A){var e=this.setFromMatrixColumn(A,0).length(),t=this.setFromMatrixColumn(A,1).length(),i=this.setFromMatrixColumn(A,2).length();return this.x=e,this.y=t,this.z=i,this},setFromMatrixColumn:function(A,e){return this.fromArray(A.elements,4*e)},setFromMatrix3Column:function(A,e){return this.fromArray(A.elements,3*e)},equals:function(A){return A.x===this.x&&A.y===this.y&&A.z===this.z},fromArray:function(A,e){return void 0===e&&(e=0),this.x=A[e],this.y=A[e+1],this.z=A[e+2],this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this.x,A[e+1]=this.y,A[e+2]=this.z,A},fromBufferAttribute:function(A,e,t){return void 0!==t&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(e),this.y=A.getY(e),this.z=A.getZ(e),this}});var v=new y,I=new M,E=new y(0,0,0),B=new y(1,1,1),x=new y,S=new y,w=new y;function M(){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.")}Object.assign(M.prototype,{isMatrix4:!0,set:function(A,e,t,i,o,n,r,a,s,l,c,h,d,p,g,u){var f=this.elements;return f[0]=A,f[4]=e,f[8]=t,f[12]=i,f[1]=o,f[5]=n,f[9]=r,f[13]=a,f[2]=s,f[6]=l,f[10]=c,f[14]=h,f[3]=d,f[7]=p,f[11]=g,f[15]=u,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 M).fromArray(this.elements)},copy:function(A){var e=this.elements,t=A.elements;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},copyPosition:function(A){var e=this.elements,t=A.elements;return e[12]=t[12],e[13]=t[13],e[14]=t[14],this},extractBasis:function(A,e,t){return A.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),t.setFromMatrixColumn(this,2),this},makeBasis:function(A,e,t){return this.set(A.x,e.x,t.x,0,A.y,e.y,t.y,0,A.z,e.z,t.z,0,0,0,0,1),this},extractRotation:function(A){var e=this.elements,t=A.elements,i=1/v.setFromMatrixColumn(A,0).length(),o=1/v.setFromMatrixColumn(A,1).length(),n=1/v.setFromMatrixColumn(A,2).length();return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=0,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=0,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromEuler:function(A){A&&A.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var e=this.elements,t=A.x,i=A.y,o=A.z,n=Math.cos(t),r=Math.sin(t),a=Math.cos(i),s=Math.sin(i),l=Math.cos(o),c=Math.sin(o);if("XYZ"===A.order){var h=n*l,d=n*c,p=r*l,g=r*c;e[0]=a*l,e[4]=-a*c,e[8]=s,e[1]=d+p*s,e[5]=h-g*s,e[9]=-r*a,e[2]=g-h*s,e[6]=p+d*s,e[10]=n*a}else if("YXZ"===A.order){var u=a*c,f=s*l;e[0]=(m=a*l)+(C=s*c)*r,e[4]=f*r-u,e[8]=n*s,e[1]=n*c,e[5]=n*l,e[9]=-r,e[2]=u*r-f,e[6]=C+m*r,e[10]=n*a}else if("ZXY"===A.order){var m,C;u=a*c,f=s*l;e[0]=(m=a*l)-(C=s*c)*r,e[4]=-n*c,e[8]=f+u*r,e[1]=u+f*r,e[5]=n*l,e[9]=C-m*r,e[2]=-n*s,e[6]=r,e[10]=n*a}else if("ZYX"===A.order){h=n*l,d=n*c,p=r*l,g=r*c;e[0]=a*l,e[4]=p*s-d,e[8]=h*s+g,e[1]=a*c,e[5]=g*s+h,e[9]=d*s-p,e[2]=-s,e[6]=r*a,e[10]=n*a}else if("YZX"===A.order){var y=n*a,v=n*s,I=r*a,E=r*s;e[0]=a*l,e[4]=E-y*c,e[8]=I*c+v,e[1]=c,e[5]=n*l,e[9]=-r*l,e[2]=-s*l,e[6]=v*c+I,e[10]=y-E*c}else if("XZY"===A.order){y=n*a,v=n*s,I=r*a,E=r*s;e[0]=a*l,e[4]=-c,e[8]=s*l,e[1]=y*c+E,e[5]=n*l,e[9]=v*c-I,e[2]=I*c-v,e[6]=r*l,e[10]=E*c+y}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:function(A){return this.compose(E,A,B)},lookAt:function(A,e,t){var i=this.elements;return w.subVectors(A,e),0===w.lengthSq()&&(w.z=1),w.normalize(),x.crossVectors(t,w),0===x.lengthSq()&&(1===Math.abs(t.z)?w.x+=1e-4:w.z+=1e-4,w.normalize(),x.crossVectors(t,w)),x.normalize(),S.crossVectors(w,x),i[0]=x.x,i[4]=S.x,i[8]=w.x,i[1]=x.y,i[5]=S.y,i[9]=w.y,i[2]=x.z,i[6]=S.z,i[10]=w.z,this},multiply:function(A,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(A,e)):this.multiplyMatrices(this,A)},premultiply:function(A){return this.multiplyMatrices(A,this)},multiplyMatrices:function(A,e){var t=A.elements,i=e.elements,o=this.elements,n=t[0],r=t[4],a=t[8],s=t[12],l=t[1],c=t[5],h=t[9],d=t[13],p=t[2],g=t[6],u=t[10],f=t[14],m=t[3],C=t[7],y=t[11],v=t[15],I=i[0],E=i[4],B=i[8],x=i[12],S=i[1],w=i[5],M=i[9],b=i[13],U=i[2],F=i[6],K=i[10],Q=i[14],R=i[3],T=i[7],k=i[11],D=i[15];return o[0]=n*I+r*S+a*U+s*R,o[4]=n*E+r*w+a*F+s*T,o[8]=n*B+r*M+a*K+s*k,o[12]=n*x+r*b+a*Q+s*D,o[1]=l*I+c*S+h*U+d*R,o[5]=l*E+c*w+h*F+d*T,o[9]=l*B+c*M+h*K+d*k,o[13]=l*x+c*b+h*Q+d*D,o[2]=p*I+g*S+u*U+f*R,o[6]=p*E+g*w+u*F+f*T,o[10]=p*B+g*M+u*K+f*k,o[14]=p*x+g*b+u*Q+f*D,o[3]=m*I+C*S+y*U+v*R,o[7]=m*E+C*w+y*F+v*T,o[11]=m*B+C*M+y*K+v*k,o[15]=m*x+C*b+y*Q+v*D,this},multiplyScalar:function(A){var e=this.elements;return e[0]*=A,e[4]*=A,e[8]*=A,e[12]*=A,e[1]*=A,e[5]*=A,e[9]*=A,e[13]*=A,e[2]*=A,e[6]*=A,e[10]*=A,e[14]*=A,e[3]*=A,e[7]*=A,e[11]*=A,e[15]*=A,this},determinant:function(){var A=this.elements,e=A[0],t=A[4],i=A[8],o=A[12],n=A[1],r=A[5],a=A[9],s=A[13],l=A[2],c=A[6],h=A[10],d=A[14];return A[3]*(+o*a*c-i*s*c-o*r*h+t*s*h+i*r*d-t*a*d)+A[7]*(+e*a*d-e*s*h+o*n*h-i*n*d+i*s*l-o*a*l)+A[11]*(+e*s*c-e*r*d-o*n*c+t*n*d+o*r*l-t*s*l)+A[15]*(-i*r*l-e*a*c+e*r*h+i*n*c-t*n*h+t*a*l)},transpose:function(){var A,e=this.elements;return A=e[1],e[1]=e[4],e[4]=A,A=e[2],e[2]=e[8],e[8]=A,A=e[6],e[6]=e[9],e[9]=A,A=e[3],e[3]=e[12],e[12]=A,A=e[7],e[7]=e[13],e[13]=A,A=e[11],e[11]=e[14],e[14]=A,this},setPosition:function(A,e,t){var i=this.elements;return A.isVector3?(i[12]=A.x,i[13]=A.y,i[14]=A.z):(i[12]=A,i[13]=e,i[14]=t),this},getInverse:function(A,e){void 0!==e&&console.warn("THREE.Matrix4: .getInverse() can no longer be configured to throw on degenerate.");var t=this.elements,i=A.elements,o=i[0],n=i[1],r=i[2],a=i[3],s=i[4],l=i[5],c=i[6],h=i[7],d=i[8],p=i[9],g=i[10],u=i[11],f=i[12],m=i[13],C=i[14],y=i[15],v=p*C*h-m*g*h+m*c*u-l*C*u-p*c*y+l*g*y,I=f*g*h-d*C*h-f*c*u+s*C*u+d*c*y-s*g*y,E=d*m*h-f*p*h+f*l*u-s*m*u-d*l*y+s*p*y,B=f*p*c-d*m*c-f*l*g+s*m*g+d*l*C-s*p*C,x=o*v+n*I+r*E+a*B;if(0===x)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var S=1/x;return t[0]=v*S,t[1]=(m*g*a-p*C*a-m*r*u+n*C*u+p*r*y-n*g*y)*S,t[2]=(l*C*a-m*c*a+m*r*h-n*C*h-l*r*y+n*c*y)*S,t[3]=(p*c*a-l*g*a-p*r*h+n*g*h+l*r*u-n*c*u)*S,t[4]=I*S,t[5]=(d*C*a-f*g*a+f*r*u-o*C*u-d*r*y+o*g*y)*S,t[6]=(f*c*a-s*C*a-f*r*h+o*C*h+s*r*y-o*c*y)*S,t[7]=(s*g*a-d*c*a+d*r*h-o*g*h-s*r*u+o*c*u)*S,t[8]=E*S,t[9]=(f*p*a-d*m*a-f*n*u+o*m*u+d*n*y-o*p*y)*S,t[10]=(s*m*a-f*l*a+f*n*h-o*m*h-s*n*y+o*l*y)*S,t[11]=(d*l*a-s*p*a-d*n*h+o*p*h+s*n*u-o*l*u)*S,t[12]=B*S,t[13]=(d*m*r-f*p*r+f*n*g-o*m*g-d*n*C+o*p*C)*S,t[14]=(f*l*r-s*m*r-f*n*c+o*m*c+s*n*C-o*l*C)*S,t[15]=(s*p*r-d*l*r+d*n*c-o*p*c-s*n*g+o*l*g)*S,this},scale:function(A){var e=this.elements,t=A.x,i=A.y,o=A.z;return e[0]*=t,e[4]*=i,e[8]*=o,e[1]*=t,e[5]*=i,e[9]*=o,e[2]*=t,e[6]*=i,e[10]*=o,e[3]*=t,e[7]*=i,e[11]*=o,this},getMaxScaleOnAxis:function(){var A=this.elements;return Math.sqrt(Math.max(A[0]*A[0]+A[1]*A[1]+A[2]*A[2],A[4]*A[4]+A[5]*A[5]+A[6]*A[6],A[8]*A[8]+A[9]*A[9]+A[10]*A[10]))},makeTranslation:function(A,e,t){return this.set(1,0,0,A,0,1,0,e,0,0,1,t,0,0,0,1),this},makeRotationX:function(A){var e=Math.cos(A),t=Math.sin(A);return this.set(1,0,0,0,0,e,-t,0,0,t,e,0,0,0,0,1),this},makeRotationY:function(A){var e=Math.cos(A),t=Math.sin(A);return this.set(e,0,t,0,0,1,0,0,-t,0,e,0,0,0,0,1),this},makeRotationZ:function(A){var e=Math.cos(A),t=Math.sin(A);return this.set(e,-t,0,0,t,e,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(A,e){var t=Math.cos(e),i=Math.sin(e),o=1-t,n=A.x,r=A.y,a=A.z,s=o*n,l=o*r;return this.set(s*n+t,s*r-i*a,s*a+i*r,0,s*r+i*a,l*r+t,l*a-i*n,0,s*a-i*r,l*a+i*n,o*a*a+t,0,0,0,0,1),this},makeScale:function(A,e,t){return this.set(A,0,0,0,0,e,0,0,0,0,t,0,0,0,0,1),this},makeShear:function(A,e,t){return this.set(1,e,t,0,A,1,t,0,A,e,1,0,0,0,0,1),this},compose:function(A,e,t){var i=this.elements,o=e._x,n=e._y,r=e._z,a=e._w,s=o+o,l=n+n,c=r+r,h=o*s,d=o*l,p=o*c,g=n*l,u=n*c,f=r*c,m=a*s,C=a*l,y=a*c,v=t.x,I=t.y,E=t.z;return i[0]=(1-(g+f))*v,i[1]=(d+y)*v,i[2]=(p-C)*v,i[3]=0,i[4]=(d-y)*I,i[5]=(1-(h+f))*I,i[6]=(u+m)*I,i[7]=0,i[8]=(p+C)*E,i[9]=(u-m)*E,i[10]=(1-(h+g))*E,i[11]=0,i[12]=A.x,i[13]=A.y,i[14]=A.z,i[15]=1,this},decompose:function(A,e,t){var i=this.elements,o=v.set(i[0],i[1],i[2]).length(),n=v.set(i[4],i[5],i[6]).length(),r=v.set(i[8],i[9],i[10]).length();0>this.determinant()&&(o=-o),A.x=i[12],A.y=i[13],A.z=i[14],I.copy(this);var a=1/o,s=1/n,l=1/r;return I.elements[0]*=a,I.elements[1]*=a,I.elements[2]*=a,I.elements[4]*=s,I.elements[5]*=s,I.elements[6]*=s,I.elements[8]*=l,I.elements[9]*=l,I.elements[10]*=l,e.setFromRotationMatrix(I),t.x=o,t.y=n,t.z=r,this},makePerspective:function(A,e,t,i,o,n){void 0===n&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var r=this.elements,a=2*o/(t-i),s=(e+A)/(e-A),l=(t+i)/(t-i),c=-(n+o)/(n-o),h=-2*n*o/(n-o);return r[0]=2*o/(e-A),r[4]=0,r[8]=s,r[12]=0,r[1]=0,r[5]=a,r[9]=l,r[13]=0,r[2]=0,r[6]=0,r[10]=c,r[14]=h,r[3]=0,r[7]=0,r[11]=-1,r[15]=0,this},makeOrthographic:function(A,e,t,i,o,n){var r=this.elements,a=1/(e-A),s=1/(t-i),l=1/(n-o),c=(e+A)*a,h=(t+i)*s,d=(n+o)*l;return r[0]=2*a,r[4]=0,r[8]=0,r[12]=-c,r[1]=0,r[5]=2*s,r[9]=0,r[13]=-h,r[2]=0,r[6]=0,r[10]=-2*l,r[14]=-d,r[3]=0,r[7]=0,r[11]=0,r[15]=1,this},equals:function(A){for(var e=this.elements,t=A.elements,i=0;16>i;i++)if(e[i]!==t[i])return!1;return!0},fromArray:function(A,e){void 0===e&&(e=0);for(var t=0;16>t;t++)this.elements[t]=A[t+e];return this},toArray:function(A,e){void 0===A&&(A=[]),void 0===e&&(e=0);var t=this.elements;return A[e]=t[0],A[e+1]=t[1],A[e+2]=t[2],A[e+3]=t[3],A[e+4]=t[4],A[e+5]=t[5],A[e+6]=t[6],A[e+7]=t[7],A[e+8]=t[8],A[e+9]=t[9],A[e+10]=t[10],A[e+11]=t[11],A[e+12]=t[12],A[e+13]=t[13],A[e+14]=t[14],A[e+15]=t[15],A}});var b=new M,U=new f;function F(A,e,t,i){this._x=A||0,this._y=e||0,this._z=t||0,this._order=i||F.DefaultOrder}function K(){this.mask=1}F.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],F.DefaultOrder="XYZ",Object.defineProperties(F.prototype,{x:{get:function(){return this._x},set:function(A){this._x=A,this._onChangeCallback()}},y:{get:function(){return this._y},set:function(A){this._y=A,this._onChangeCallback()}},z:{get:function(){return this._z},set:function(A){this._z=A,this._onChangeCallback()}},order:{get:function(){return this._order},set:function(A){this._order=A,this._onChangeCallback()}}}),Object.assign(F.prototype,{isEuler:!0,set:function(A,e,t,i){return this._x=A,this._y=e,this._z=t,this._order=i||this._order,this._onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(A){return this._x=A._x,this._y=A._y,this._z=A._z,this._order=A._order,this._onChangeCallback(),this},setFromRotationMatrix:function(A,e,t){var i=a.clamp,o=A.elements,n=o[0],r=o[4],s=o[8],l=o[1],c=o[5],h=o[9],d=o[2],p=o[6],g=o[10];return"XYZ"===(e=e||this._order)?(this._y=Math.asin(i(s,-1,1)),.9999999>Math.abs(s)?(this._x=Math.atan2(-h,g),this._z=Math.atan2(-r,n)):(this._x=Math.atan2(p,c),this._z=0)):"YXZ"===e?(this._x=Math.asin(-i(h,-1,1)),.9999999>Math.abs(h)?(this._y=Math.atan2(s,g),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-d,n),this._z=0)):"ZXY"===e?(this._x=Math.asin(i(p,-1,1)),.9999999>Math.abs(p)?(this._y=Math.atan2(-d,g),this._z=Math.atan2(-r,c)):(this._y=0,this._z=Math.atan2(l,n))):"ZYX"===e?(this._y=Math.asin(-i(d,-1,1)),.9999999>Math.abs(d)?(this._x=Math.atan2(p,g),this._z=Math.atan2(l,n)):(this._x=0,this._z=Math.atan2(-r,c))):"YZX"===e?(this._z=Math.asin(i(l,-1,1)),.9999999>Math.abs(l)?(this._x=Math.atan2(-h,c),this._y=Math.atan2(-d,n)):(this._x=0,this._y=Math.atan2(s,g))):"XZY"===e?(this._z=Math.asin(-i(r,-1,1)),.9999999>Math.abs(r)?(this._x=Math.atan2(p,c),this._y=Math.atan2(s,n)):(this._x=Math.atan2(-h,g),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+e),this._order=e,!1!==t&&this._onChangeCallback(),this},setFromQuaternion:function(A,e,t){return b.makeRotationFromQuaternion(A),this.setFromRotationMatrix(b,e,t)},setFromVector3:function(A,e){return this.set(A.x,A.y,A.z,e||this._order)},reorder:function(A){return U.setFromEuler(this),this.setFromQuaternion(U,A)},equals:function(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._order===this._order},fromArray:function(A){return this._x=A[0],this._y=A[1],this._z=A[2],void 0!==A[3]&&(this._order=A[3]),this._onChangeCallback(),this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this._x,A[e+1]=this._y,A[e+2]=this._z,A[e+3]=this._order,A},toVector3:function(A){return A?A.set(this._x,this._y,this._z):new y(this._x,this._y,this._z)},_onChange:function(A){return this._onChangeCallback=A,this},_onChangeCallback:function(){}}),Object.assign(K.prototype,{set:function(A){this.mask=1<<A|0},enable:function(A){this.mask|=1<<A|0},enableAll:function(){this.mask=-1},toggle:function(A){this.mask^=1<<A|0},disable:function(A){this.mask&=~(1<<A|0)},disableAll:function(){this.mask=0},test:function(A){return 0!=(this.mask&A.mask)}});var Q=0,R=new y,T=new f,k=new M,D=new y,L=new y,N=new y,O=new f,V=new y(1,0,0),G=new y(0,1,0),P=new y(0,0,1),q={type:"added"},j={type:"removed"};function H(){Object.defineProperty(this,"id",{value:Q++}),this.uuid=a.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=H.DefaultUp.clone();var A=new y,e=new F,t=new f,i=new y(1,1,1);e._onChange((function(){t.setFromEuler(e,!1)})),t._onChange((function(){e.setFromQuaternion(t,void 0,!1)})),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:A},rotation:{configurable:!0,enumerable:!0,value:e},quaternion:{configurable:!0,enumerable:!0,value:t},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new M},normalMatrix:{value:new l}}),this.matrix=new M,this.matrixWorld=new M,this.matrixAutoUpdate=H.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new K,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={}}function Y(){H.call(this),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}H.DefaultUp=new y(0,1,0),H.DefaultMatrixAutoUpdate=!0,H.prototype=Object.assign(Object.create(i.prototype),{constructor:H,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix4:function(A){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(A),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(A){return this.quaternion.premultiply(A),this},setRotationFromAxisAngle:function(A,e){this.quaternion.setFromAxisAngle(A,e)},setRotationFromEuler:function(A){this.quaternion.setFromEuler(A,!0)},setRotationFromMatrix:function(A){this.quaternion.setFromRotationMatrix(A)},setRotationFromQuaternion:function(A){this.quaternion.copy(A)},rotateOnAxis:function(A,e){return T.setFromAxisAngle(A,e),this.quaternion.multiply(T),this},rotateOnWorldAxis:function(A,e){return T.setFromAxisAngle(A,e),this.quaternion.premultiply(T),this},rotateX:function(A){return this.rotateOnAxis(V,A)},rotateY:function(A){return this.rotateOnAxis(G,A)},rotateZ:function(A){return this.rotateOnAxis(P,A)},translateOnAxis:function(A,e){return R.copy(A).applyQuaternion(this.quaternion),this.position.add(R.multiplyScalar(e)),this},translateX:function(A){return this.translateOnAxis(V,A)},translateY:function(A){return this.translateOnAxis(G,A)},translateZ:function(A){return this.translateOnAxis(P,A)},localToWorld:function(A){return A.applyMatrix4(this.matrixWorld)},worldToLocal:function(A){return A.applyMatrix4(k.getInverse(this.matrixWorld))},lookAt:function(A,e,t){A.isVector3?D.copy(A):D.set(A,e,t);var i=this.parent;this.updateWorldMatrix(!0,!1),L.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?k.lookAt(L,D,this.up):k.lookAt(D,L,this.up),this.quaternion.setFromRotationMatrix(k),i&&(k.extractRotation(i.matrixWorld),T.setFromRotationMatrix(k),this.quaternion.premultiply(T.inverse()))},add:function(A){if(arguments.length>1){for(var e=0;arguments.length>e;e++)this.add(arguments[e]);return this}return A===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",A),this):(A&&A.isObject3D?(null!==A.parent&&A.parent.remove(A),A.parent=this,this.children.push(A),A.dispatchEvent(q)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",A),this)},remove:function(A){if(arguments.length>1){for(var e=0;arguments.length>e;e++)this.remove(arguments[e]);return this}var t=this.children.indexOf(A);return-1!==t&&(A.parent=null,this.children.splice(t,1),A.dispatchEvent(j)),this},attach:function(A){return this.updateWorldMatrix(!0,!1),k.getInverse(this.matrixWorld),null!==A.parent&&(A.parent.updateWorldMatrix(!0,!1),k.multiply(A.parent.matrixWorld)),A.applyMatrix4(k),A.updateWorldMatrix(!1,!1),this.add(A),this},getObjectById:function(A){return this.getObjectByProperty("id",A)},getObjectByName:function(A){return this.getObjectByProperty("name",A)},getObjectByProperty:function(A,e){if(this[A]===e)return this;for(var t=0,i=this.children.length;i>t;t++){var o=this.children[t].getObjectByProperty(A,e);if(void 0!==o)return o}},getWorldPosition:function(A){return void 0===A&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),A=new y),this.updateMatrixWorld(!0),A.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(A){return void 0===A&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),A=new f),this.updateMatrixWorld(!0),this.matrixWorld.decompose(L,A,N),A},getWorldScale:function(A){return void 0===A&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),A=new y),this.updateMatrixWorld(!0),this.matrixWorld.decompose(L,O,A),A},getWorldDirection:function(A){void 0===A&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),A=new y),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return A.set(e[8],e[9],e[10]).normalize()},raycast:function(){},traverse:function(A){A(this);for(var e=this.children,t=0,i=e.length;i>t;t++)e[t].traverse(A)},traverseVisible:function(A){if(!1!==this.visible){A(this);for(var e=this.children,t=0,i=e.length;i>t;t++)e[t].traverseVisible(A)}},traverseAncestors:function(A){var e=this.parent;null!==e&&(A(e),e.traverseAncestors(A))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(A){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||A)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,A=!0);for(var e=this.children,t=0,i=e.length;i>t;t++)e[t].updateMatrixWorld(A)},updateWorldMatrix:function(A,e){var t=this.parent;if(!0===A&&null!==t&&t.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===e)for(var i=this.children,o=0,n=i.length;n>o;o++)i[o].updateWorldMatrix(!1,!0)},toJSON:function(A){var e=void 0===A||"string"==typeof A,t={};e&&(A={geometries:{},materials:{},textures:{},images:{},shapes:{}},t.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var i={};function o(e,t){return void 0===e[t.uuid]&&(e[t.uuid]=t.toJSON(A)),t.uuid}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),!0===this.castShadow&&(i.castShadow=!0),!0===this.receiveShadow&&(i.receiveShadow=!0),!1===this.visible&&(i.visible=!1),!1===this.frustumCulled&&(i.frustumCulled=!1),0!==this.renderOrder&&(i.renderOrder=this.renderOrder),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON()),this.isMesh||this.isLine||this.isPoints){i.geometry=o(A.geometries,this.geometry);var n=this.geometry.parameters;if(void 0!==n&&void 0!==n.shapes){var r=n.shapes;if(Array.isArray(r))for(var a=0,s=r.length;s>a;a++){o(A.shapes,r[a])}else o(A.shapes,r)}}if(void 0!==this.material)if(Array.isArray(this.material)){var l=[];for(a=0,s=this.material.length;s>a;a++)l.push(o(A.materials,this.material[a]));i.material=l}else i.material=o(A.materials,this.material);if(this.children.length>0){i.children=[];for(a=0;this.children.length>a;a++)i.children.push(this.children[a].toJSON(A).object)}if(e){var c=g(A.geometries),h=g(A.materials),d=g(A.textures),p=g(A.images);r=g(A.shapes);c.length>0&&(t.geometries=c),h.length>0&&(t.materials=h),d.length>0&&(t.textures=d),p.length>0&&(t.images=p),r.length>0&&(t.shapes=r)}return t.object=i,t;function g(A){var e=[];for(var t in A){var i=A[t];delete i.metadata,e.push(i)}return e}},clone:function(A){return(new this.constructor).copy(this,A)},copy:function(A,e){if(void 0===e&&(e=!0),this.name=A.name,this.up.copy(A.up),this.position.copy(A.position),this.quaternion.copy(A.quaternion),this.scale.copy(A.scale),this.matrix.copy(A.matrix),this.matrixWorld.copy(A.matrixWorld),this.matrixAutoUpdate=A.matrixAutoUpdate,this.matrixWorldNeedsUpdate=A.matrixWorldNeedsUpdate,this.layers.mask=A.layers.mask,this.visible=A.visible,this.castShadow=A.castShadow,this.receiveShadow=A.receiveShadow,this.frustumCulled=A.frustumCulled,this.renderOrder=A.renderOrder,this.userData=JSON.parse(JSON.stringify(A.userData)),!0===e)for(var t=0;A.children.length>t;t++){this.add(A.children[t].clone())}return this}}),Y.prototype=Object.assign(Object.create(H.prototype),{constructor:Y,isScene:!0,copy:function(A,e){return H.prototype.copy.call(this,A,e),null!==A.background&&(this.background=A.background.clone()),null!==A.environment&&(this.environment=A.environment.clone()),null!==A.fog&&(this.fog=A.fog.clone()),null!==A.overrideMaterial&&(this.overrideMaterial=A.overrideMaterial.clone()),this.autoUpdate=A.autoUpdate,this.matrixAutoUpdate=A.matrixAutoUpdate,this},toJSON:function(A){var e=H.prototype.toJSON.call(this,A);return null!==this.background&&(e.object.background=this.background.toJSON(A)),null!==this.environment&&(e.object.environment=this.environment.toJSON(A)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e},dispose:function(){this.dispatchEvent({type:"dispose"})}});var W=[new y,new y,new y,new y,new y,new y,new y,new y],J=new y,z=new aA,Z=new y,X=new y,_=new y,AA=new y,eA=new y,tA=new y,iA=new y,oA=new y,nA=new y,rA=new y;function aA(A,e){this.min=void 0!==A?A:new y(1/0,1/0,1/0),this.max=void 0!==e?e:new y(-1/0,-1/0,-1/0)}function sA(A,e,t,i,o){var n,r;for(n=0,r=A.length-3;r>=n;n+=3){rA.fromArray(A,n);var a=o.x*Math.abs(rA.x)+o.y*Math.abs(rA.y)+o.z*Math.abs(rA.z),s=e.dot(rA),l=t.dot(rA),c=i.dot(rA);if(Math.max(-Math.max(s,l,c),Math.min(s,l,c))>a)return!1}return!0}Object.assign(aA.prototype,{isBox3:!0,set:function(A,e){return this.min.copy(A),this.max.copy(e),this},setFromArray:function(A){for(var e=1/0,t=1/0,i=1/0,o=-1/0,n=-1/0,r=-1/0,a=0,s=A.length;s>a;a+=3){var l=A[a],c=A[a+1],h=A[a+2];e>l&&(e=l),t>c&&(t=c),i>h&&(i=h),l>o&&(o=l),c>n&&(n=c),h>r&&(r=h)}return this.min.set(e,t,i),this.max.set(o,n,r),this},setFromBufferAttribute:function(A){for(var e=1/0,t=1/0,i=1/0,o=-1/0,n=-1/0,r=-1/0,a=0,s=A.count;s>a;a++){var l=A.getX(a),c=A.getY(a),h=A.getZ(a);e>l&&(e=l),t>c&&(t=c),i>h&&(i=h),l>o&&(o=l),c>n&&(n=c),h>r&&(r=h)}return this.min.set(e,t,i),this.max.set(o,n,r),this},setFromPoints:function(A){this.makeEmpty();for(var e=0,t=A.length;t>e;e++)this.expandByPoint(A[e]);return this},setFromCenterAndSize:function(A,e){var t=J.copy(e).multiplyScalar(.5);return this.min.copy(A).sub(t),this.max.copy(A).add(t),this},setFromObject:function(A){return this.makeEmpty(),this.expandByObject(A)},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.min.copy(A.min),this.max.copy(A.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.min.x>this.max.x||this.min.y>this.max.y||this.min.z>this.max.z},getCenter:function(A){return void 0===A&&(console.warn("THREE.Box3: .getCenter() target is now required"),A=new y),this.isEmpty()?A.set(0,0,0):A.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(A){return void 0===A&&(console.warn("THREE.Box3: .getSize() target is now required"),A=new y),this.isEmpty()?A.set(0,0,0):A.subVectors(this.max,this.min)},expandByPoint:function(A){return this.min.min(A),this.max.max(A),this},expandByVector:function(A){return this.min.sub(A),this.max.add(A),this},expandByScalar:function(A){return this.min.addScalar(-A),this.max.addScalar(A),this},expandByObject:function(A){A.updateWorldMatrix(!1,!1);var e=A.geometry;void 0!==e&&(null===e.boundingBox&&e.computeBoundingBox(),z.copy(e.boundingBox),z.applyMatrix4(A.matrixWorld),this.union(z));for(var t=A.children,i=0,o=t.length;o>i;i++)this.expandByObject(t[i]);return this},containsPoint:function(A){return!(this.min.x>A.x||A.x>this.max.x||this.min.y>A.y||A.y>this.max.y||this.min.z>A.z||A.z>this.max.z)},containsBox:function(A){return!(this.min.x>A.min.x||A.max.x>this.max.x||this.min.y>A.min.y||A.max.y>this.max.y||this.min.z>A.min.z||A.max.z>this.max.z)},getParameter:function(A,e){return void 0===e&&(console.warn("THREE.Box3: .getParameter() target is now required"),e=new y),e.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(A){return!(this.min.x>A.max.x||A.min.x>this.max.x||this.min.y>A.max.y||A.min.y>this.max.y||this.min.z>A.max.z||A.min.z>this.max.z)},intersectsSphere:function(A){return this.clampPoint(A.center,J),J.distanceToSquared(A.center)<=A.radius*A.radius},intersectsPlane:function(A){var e,t;return A.normal.x>0?(e=A.normal.x*this.min.x,t=A.normal.x*this.max.x):(e=A.normal.x*this.max.x,t=A.normal.x*this.min.x),A.normal.y>0?(e+=A.normal.y*this.min.y,t+=A.normal.y*this.max.y):(e+=A.normal.y*this.max.y,t+=A.normal.y*this.min.y),A.normal.z>0?(e+=A.normal.z*this.min.z,t+=A.normal.z*this.max.z):(e+=A.normal.z*this.max.z,t+=A.normal.z*this.min.z),-A.constant>=e&&t>=-A.constant},intersectsTriangle:function(A){if(this.isEmpty())return!1;this.getCenter(iA),oA.subVectors(this.max,iA),Z.subVectors(A.a,iA),X.subVectors(A.b,iA),_.subVectors(A.c,iA),AA.subVectors(X,Z),eA.subVectors(_,X),tA.subVectors(Z,_);var e=[0,-AA.z,AA.y,0,-eA.z,eA.y,0,-tA.z,tA.y,AA.z,0,-AA.x,eA.z,0,-eA.x,tA.z,0,-tA.x,-AA.y,AA.x,0,-eA.y,eA.x,0,-tA.y,tA.x,0];return!!sA(e,Z,X,_,oA)&&(!!sA(e=[1,0,0,0,1,0,0,0,1],Z,X,_,oA)&&(nA.crossVectors(AA,eA),sA(e=[nA.x,nA.y,nA.z],Z,X,_,oA)))},clampPoint:function(A,e){return void 0===e&&(console.warn("THREE.Box3: .clampPoint() target is now required"),e=new y),e.copy(A).clamp(this.min,this.max)},distanceToPoint:function(A){return J.copy(A).clamp(this.min,this.max).sub(A).length()},getBoundingSphere:function(A){return void 0===A&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(A.center),A.radius=.5*this.getSize(J).length(),A},intersect:function(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this},union:function(A){return this.min.min(A.min),this.max.max(A.max),this},applyMatrix4:function(A){return this.isEmpty()||(W[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),W[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),W[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),W[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),W[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),W[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),W[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),W[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(W)),this},translate:function(A){return this.min.add(A),this.max.add(A),this},equals:function(A){return A.min.equals(this.min)&&A.max.equals(this.max)}});var lA=new aA;function cA(A,e){this.center=void 0!==A?A:new y,this.radius=void 0!==e?e:0}Object.assign(cA.prototype,{set:function(A,e){return this.center.copy(A),this.radius=e,this},setFromPoints:function(A,e){var t=this.center;void 0!==e?t.copy(e):lA.setFromPoints(A).getCenter(t);for(var i=0,o=0,n=A.length;n>o;o++)i=Math.max(i,t.distanceToSquared(A[o]));return this.radius=Math.sqrt(i),this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.center.copy(A.center),this.radius=A.radius,this},empty:function(){return 0>=this.radius},containsPoint:function(A){return A.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(A){return A.distanceTo(this.center)-this.radius},intersectsSphere:function(A){var e=this.radius+A.radius;return A.center.distanceToSquared(this.center)<=e*e},intersectsBox:function(A){return A.intersectsSphere(this)},intersectsPlane:function(A){return Math.abs(A.distanceToPoint(this.center))<=this.radius},clampPoint:function(A,e){var t=this.center.distanceToSquared(A);return void 0===e&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),e=new y),e.copy(A),t>this.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e},getBoundingBox:function(A){return void 0===A&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),A=new aA),A.set(this.center,this.center),A.expandByScalar(this.radius),A},applyMatrix4:function(A){return this.center.applyMatrix4(A),this.radius=this.radius*A.getMaxScaleOnAxis(),this},translate:function(A){return this.center.add(A),this},equals:function(A){return A.center.equals(this.center)&&A.radius===this.radius}});var hA=new y,dA=new y,pA=new y,gA=new y,uA=new y,fA=new y,mA=new y;function CA(A,e){this.origin=void 0!==A?A:new y,this.direction=void 0!==e?e:new y(0,0,-1)}Object.assign(CA.prototype,{set:function(A,e){return this.origin.copy(A),this.direction.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.origin.copy(A.origin),this.direction.copy(A.direction),this},at:function(A,e){return void 0===e&&(console.warn("THREE.Ray: .at() target is now required"),e=new y),e.copy(this.direction).multiplyScalar(A).add(this.origin)},lookAt:function(A){return this.direction.copy(A).sub(this.origin).normalize(),this},recast:function(A){return this.origin.copy(this.at(A,hA)),this},closestPointToPoint:function(A,e){void 0===e&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),e=new y),e.subVectors(A,this.origin);var t=e.dot(this.direction);return 0>t?e.copy(this.origin):e.copy(this.direction).multiplyScalar(t).add(this.origin)},distanceToPoint:function(A){return Math.sqrt(this.distanceSqToPoint(A))},distanceSqToPoint:function(A){var e=hA.subVectors(A,this.origin).dot(this.direction);return 0>e?this.origin.distanceToSquared(A):(hA.copy(this.direction).multiplyScalar(e).add(this.origin),hA.distanceToSquared(A))},distanceSqToSegment:function(A,e,t,i){dA.copy(A).add(e).multiplyScalar(.5),pA.copy(e).sub(A).normalize(),gA.copy(this.origin).sub(dA);var o,n,r,a,s=.5*A.distanceTo(e),l=-this.direction.dot(pA),c=gA.dot(this.direction),h=-gA.dot(pA),d=gA.lengthSq(),p=Math.abs(1-l*l);if(p>0)if(n=l*c-h,a=s*p,0>(o=l*h-c))n>-a?n>a?r=-(o=Math.max(0,-(l*s+c)))*o+(n=o>0?s:Math.min(Math.max(-s,-h),s))*(n+2*h)+d:(o=0,r=(n=Math.min(Math.max(-s,-h),s))*(n+2*h)+d):r=-(o=Math.max(0,-(-l*s+c)))*o+(n=o>0?-s:Math.min(Math.max(-s,-h),s))*(n+2*h)+d;else if(n<-a)n=-s,r=-(o=Math.max(0,-(l*n+c)))*o+n*(n+2*h)+d;else if(a<n)n=s,r=-(o=Math.max(0,-(l*n+c)))*o+n*(n+2*h)+d;else{var g=1/p;r=(o*=g)*(o+l*(n*=g)+2*c)+n*(l*o+n+2*h)+d}else n=l>0?-s:s,r=-(o=Math.max(0,-(l*n+c)))*o+n*(n+2*h)+d;return t&&t.copy(this.direction).multiplyScalar(o).add(this.origin),i&&i.copy(pA).multiplyScalar(n).add(dA),r},intersectSphere:function(A,e){hA.subVectors(A.center,this.origin);var t=hA.dot(this.direction),i=hA.dot(hA)-t*t,o=A.radius*A.radius;if(i>o)return null;var n=Math.sqrt(o-i),r=t-n,a=t+n;return 0>r&&0>a?null:this.at(0>r?a:r,e)},intersectsSphere:function(A){return this.distanceSqToPoint(A.center)<=A.radius*A.radius},distanceToPlane:function(A){var e=A.normal.dot(this.direction);if(0===e)return 0===A.distanceToPoint(this.origin)?0:null;var t=-(this.origin.dot(A.normal)+A.constant)/e;return 0>t?null:t},intersectPlane:function(A,e){var t=this.distanceToPlane(A);return null===t?null:this.at(t,e)},intersectsPlane:function(A){var e=A.distanceToPoint(this.origin);return 0===e||0>A.normal.dot(this.direction)*e},intersectBox:function(A,e){var t,i,o,n,r,a,s=1/this.direction.x,l=1/this.direction.y,c=1/this.direction.z,h=this.origin;return 0>s?(t=(A.max.x-h.x)*s,i=(A.min.x-h.x)*s):(t=(A.min.x-h.x)*s,i=(A.max.x-h.x)*s),0>l?(o=(A.max.y-h.y)*l,n=(A.min.y-h.y)*l):(o=(A.min.y-h.y)*l,n=(A.max.y-h.y)*l),t>n||o>i?null:((o>t||t!=t)&&(t=o),(i>n||i!=i)&&(i=n),0>c?(r=(A.max.z-h.z)*c,a=(A.min.z-h.z)*c):(r=(A.min.z-h.z)*c,a=(A.max.z-h.z)*c),t>a||r>i?null:((r>t||t!=t)&&(t=r),(i>a||i!=i)&&(i=a),0>i?null:this.at(0>t?i:t,e)))},intersectsBox:function(A){return null!==this.intersectBox(A,hA)},intersectTriangle:function(A,e,t,i,o){uA.subVectors(e,A),fA.subVectors(t,A),mA.crossVectors(uA,fA);var n,r=this.direction.dot(mA);if(r>0){if(i)return null;n=1}else{if(r>=0)return null;n=-1,r=-r}gA.subVectors(this.origin,A);var a=n*this.direction.dot(fA.crossVectors(gA,fA));if(0>a)return null;var s=n*this.direction.dot(uA.cross(gA));if(0>s)return null;if(a+s>r)return null;var l=-n*gA.dot(mA);return 0>l?null:this.at(l/r,o)},applyMatrix4:function(A){return this.origin.applyMatrix4(A),this.direction.transformDirection(A),this},equals:function(A){return A.origin.equals(this.origin)&&A.direction.equals(this.direction)}});var yA=new y,vA=new y,IA=new l;function EA(A,e){this.normal=void 0!==A?A:new y(1,0,0),this.constant=void 0!==e?e:0}Object.assign(EA.prototype,{isPlane:!0,set:function(A,e){return this.normal.copy(A),this.constant=e,this},setComponents:function(A,e,t,i){return this.normal.set(A,e,t),this.constant=i,this},setFromNormalAndCoplanarPoint:function(A,e){return this.normal.copy(A),this.constant=-e.dot(this.normal),this},setFromCoplanarPoints:function(A,e,t){var i=yA.subVectors(t,e).cross(vA.subVectors(A,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,A),this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.normal.copy(A.normal),this.constant=A.constant,this},normalize:function(){var A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(A){return this.normal.dot(A)+this.constant},distanceToSphere:function(A){return this.distanceToPoint(A.center)-A.radius},projectPoint:function(A,e){return void 0===e&&(console.warn("THREE.Plane: .projectPoint() target is now required"),e=new y),e.copy(this.normal).multiplyScalar(-this.distanceToPoint(A)).add(A)},intersectLine:function(A,e){void 0===e&&(console.warn("THREE.Plane: .intersectLine() target is now required"),e=new y);var t=A.delta(yA),i=this.normal.dot(t);if(0===i)return 0===this.distanceToPoint(A.start)?e.copy(A.start):void 0;var o=-(A.start.dot(this.normal)+this.constant)/i;return 0>o||o>1?void 0:e.copy(t).multiplyScalar(o).add(A.start)},intersectsLine:function(A){var e=this.distanceToPoint(A.start),t=this.distanceToPoint(A.end);return 0>e&&t>0||0>t&&e>0},intersectsBox:function(A){return A.intersectsPlane(this)},intersectsSphere:function(A){return A.intersectsPlane(this)},coplanarPoint:function(A){return void 0===A&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),A=new y),A.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(A,e){var t=e||IA.getNormalMatrix(A),i=this.coplanarPoint(yA).applyMatrix4(A),o=this.normal.applyMatrix3(t).normalize();return this.constant=-i.dot(o),this},translate:function(A){return this.constant-=A.dot(this.normal),this},equals:function(A){return A.normal.equals(this.normal)&&A.constant===this.constant}});var BA=new y,xA=new y,SA=new y,wA=new y,MA=new y,bA=new y,UA=new y,FA=new y,KA=new y,QA=new y;function RA(A,e,t){this.a=void 0!==A?A:new y,this.b=void 0!==e?e:new y,this.c=void 0!==t?t:new y}Object.assign(RA,{getNormal:function(A,e,t,i){void 0===i&&(console.warn("THREE.Triangle: .getNormal() target is now required"),i=new y),i.subVectors(t,e),BA.subVectors(A,e),i.cross(BA);var o=i.lengthSq();return o>0?i.multiplyScalar(1/Math.sqrt(o)):i.set(0,0,0)},getBarycoord:function(A,e,t,i,o){BA.subVectors(i,e),xA.subVectors(t,e),SA.subVectors(A,e);var n=BA.dot(BA),r=BA.dot(xA),a=BA.dot(SA),s=xA.dot(xA),l=xA.dot(SA),c=n*s-r*r;if(void 0===o&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),o=new y),0===c)return o.set(-2,-1,-1);var h=1/c,d=(s*a-r*l)*h,p=(n*l-r*a)*h;return o.set(1-d-p,p,d)},containsPoint:function(A,e,t,i){return RA.getBarycoord(A,e,t,i,wA),wA.x>=0&&wA.y>=0&&1>=wA.x+wA.y},getUV:function(A,e,t,i,o,n,r,a){return this.getBarycoord(A,e,t,i,wA),a.set(0,0),a.addScaledVector(o,wA.x),a.addScaledVector(n,wA.y),a.addScaledVector(r,wA.z),a},isFrontFacing:function(A,e,t,i){return BA.subVectors(t,e),xA.subVectors(A,e),0>BA.cross(xA).dot(i)}}),Object.assign(RA.prototype,{set:function(A,e,t){return this.a.copy(A),this.b.copy(e),this.c.copy(t),this},setFromPointsAndIndices:function(A,e,t,i){return this.a.copy(A[e]),this.b.copy(A[t]),this.c.copy(A[i]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.a.copy(A.a),this.b.copy(A.b),this.c.copy(A.c),this},getArea:function(){return BA.subVectors(this.c,this.b),xA.subVectors(this.a,this.b),.5*BA.cross(xA).length()},getMidpoint:function(A){return void 0===A&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),A=new y),A.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(A){return RA.getNormal(this.a,this.b,this.c,A)},getPlane:function(A){return void 0===A&&(console.warn("THREE.Triangle: .getPlane() target is now required"),A=new EA),A.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(A,e){return RA.getBarycoord(A,this.a,this.b,this.c,e)},getUV:function(A,e,t,i,o){return RA.getUV(A,this.a,this.b,this.c,e,t,i,o)},containsPoint:function(A){return RA.containsPoint(A,this.a,this.b,this.c)},isFrontFacing:function(A){return RA.isFrontFacing(this.a,this.b,this.c,A)},intersectsBox:function(A){return A.intersectsTriangle(this)},closestPointToPoint:function(A,e){void 0===e&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),e=new y);var t,i,o=this.a,n=this.b,r=this.c;MA.subVectors(n,o),bA.subVectors(r,o),FA.subVectors(A,o);var a=MA.dot(FA),s=bA.dot(FA);if(0>=a&&0>=s)return e.copy(o);KA.subVectors(A,n);var l=MA.dot(KA),c=bA.dot(KA);if(l>=0&&l>=c)return e.copy(n);var h=a*c-l*s;if(0>=h&&a>=0&&0>=l)return t=a/(a-l),e.copy(o).addScaledVector(MA,t);QA.subVectors(A,r);var d=MA.dot(QA),p=bA.dot(QA);if(p>=0&&p>=d)return e.copy(r);var g=d*s-a*p;if(0>=g&&s>=0&&0>=p)return i=s/(s-p),e.copy(o).addScaledVector(bA,i);var u=l*p-d*c;if(0>=u&&c-l>=0&&d-p>=0)return UA.subVectors(r,n),i=(c-l)/(c-l+(d-p)),e.copy(n).addScaledVector(UA,i);var f=1/(u+g+h);return t=g*f,i=h*f,e.copy(o).addScaledVector(MA,t).addScaledVector(bA,i)},equals:function(A){return A.a.equals(this.a)&&A.b.equals(this.b)&&A.c.equals(this.c)}});var TA={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},kA={h:0,s:0,l:0},DA={h:0,s:0,l:0};function LA(A,e,t){return void 0===e&&void 0===t?this.set(A):this.setRGB(A,e,t)}function NA(A,e,t){return 0>t&&(t+=1),t>1&&(t-=1),1/6>t?A+6*(e-A)*t:.5>t?e:2/3>t?A+6*(e-A)*(2/3-t):A}function OA(A){return.04045>A?.0773993808*A:Math.pow(.9478672986*A+.0521327014,2.4)}function VA(A){return.0031308>A?12.92*A:1.055*Math.pow(A,.41666)-.055}function GA(A,e,t,i,o,n){this.a=A,this.b=e,this.c=t,this.normal=i&&i.isVector3?i:new y,this.vertexNormals=Array.isArray(i)?i:[],this.color=o&&o.isColor?o:new LA,this.vertexColors=Array.isArray(o)?o:[],this.materialIndex=void 0!==n?n:0}Object.assign(LA.prototype,{isColor:!0,r:1,g:1,b:1,set:function(A){return A&&A.isColor?this.copy(A):"number"==typeof A?this.setHex(A):"string"==typeof A&&this.setStyle(A),this},setScalar:function(A){return this.r=A,this.g=A,this.b=A,this},setHex:function(A){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,this},setRGB:function(A,e,t){return this.r=A,this.g=e,this.b=t,this},setHSL:function(A,e,t){if(A=a.euclideanModulo(A,1),e=a.clamp(e,0,1),t=a.clamp(t,0,1),0===e)this.r=this.g=this.b=t;else{var i=t>.5?t+e-t*e:t*(1+e),o=2*t-i;this.r=NA(o,i,A+1/3),this.g=NA(o,i,A),this.b=NA(o,i,A-1/3)}return this},setStyle:function(A){function e(e){void 0!==e&&1>parseFloat(e)&&console.warn("THREE.Color: Alpha component of "+A+" will be ignored.")}var t;if(t=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(A)){var i,o=t[2];switch(t[1]){case"rgb":case"rgba":if(i=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(i[1],10))/255,this.g=Math.min(255,parseInt(i[2],10))/255,this.b=Math.min(255,parseInt(i[3],10))/255,e(i[5]),this;if(i=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(i[1],10))/100,this.g=Math.min(100,parseInt(i[2],10))/100,this.b=Math.min(100,parseInt(i[3],10))/100,e(i[5]),this;break;case"hsl":case"hsla":if(i=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o)){var n=parseFloat(i[1])/360,r=parseInt(i[2],10)/100,a=parseInt(i[3],10)/100;return e(i[5]),this.setHSL(n,r,a)}}}else if(t=/^\#([A-Fa-f0-9]+)$/.exec(A)){var s=t[1],l=s.length;if(3===l)return this.r=parseInt(s.charAt(0)+s.charAt(0),16)/255,this.g=parseInt(s.charAt(1)+s.charAt(1),16)/255,this.b=parseInt(s.charAt(2)+s.charAt(2),16)/255,this;if(6===l)return this.r=parseInt(s.charAt(0)+s.charAt(1),16)/255,this.g=parseInt(s.charAt(2)+s.charAt(3),16)/255,this.b=parseInt(s.charAt(4)+s.charAt(5),16)/255,this}return A&&A.length>0?this.setColorName(A):this},setColorName:function(A){var e=TA[A];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+A),this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(A){return this.r=A.r,this.g=A.g,this.b=A.b,this},copyGammaToLinear:function(A,e){return void 0===e&&(e=2),this.r=Math.pow(A.r,e),this.g=Math.pow(A.g,e),this.b=Math.pow(A.b,e),this},copyLinearToGamma:function(A,e){void 0===e&&(e=2);var t=e>0?1/e:1;return this.r=Math.pow(A.r,t),this.g=Math.pow(A.g,t),this.b=Math.pow(A.b,t),this},convertGammaToLinear:function(A){return this.copyGammaToLinear(this,A),this},convertLinearToGamma:function(A){return this.copyLinearToGamma(this,A),this},copySRGBToLinear:function(A){return this.r=OA(A.r),this.g=OA(A.g),this.b=OA(A.b),this},copyLinearToSRGB:function(A){return this.r=VA(A.r),this.g=VA(A.g),this.b=VA(A.b),this},convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),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(A){void 0===A&&(console.warn("THREE.Color: .getHSL() target is now required"),A={h:0,s:0,l:0});var e,t,i=this.r,o=this.g,n=this.b,r=Math.max(i,o,n),a=Math.min(i,o,n),s=(a+r)/2;if(a===r)e=0,t=0;else{var l=r-a;switch(t=s>.5?l/(2-r-a):l/(r+a),r){case i:e=(o-n)/l+(n>o?6:0);break;case o:e=(n-i)/l+2;break;case n:e=(i-o)/l+4}e/=6}return A.h=e,A.s=t,A.l=s,A},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(A,e,t){return this.getHSL(kA),kA.h+=A,kA.s+=e,kA.l+=t,this.setHSL(kA.h,kA.s,kA.l),this},add:function(A){return this.r+=A.r,this.g+=A.g,this.b+=A.b,this},addColors:function(A,e){return this.r=A.r+e.r,this.g=A.g+e.g,this.b=A.b+e.b,this},addScalar:function(A){return this.r+=A,this.g+=A,this.b+=A,this},sub:function(A){return this.r=Math.max(0,this.r-A.r),this.g=Math.max(0,this.g-A.g),this.b=Math.max(0,this.b-A.b),this},multiply:function(A){return this.r*=A.r,this.g*=A.g,this.b*=A.b,this},multiplyScalar:function(A){return this.r*=A,this.g*=A,this.b*=A,this},lerp:function(A,e){return this.r+=(A.r-this.r)*e,this.g+=(A.g-this.g)*e,this.b+=(A.b-this.b)*e,this},lerpHSL:function(A,e){this.getHSL(kA),A.getHSL(DA);var t=a.lerp(kA.h,DA.h,e),i=a.lerp(kA.s,DA.s,e),o=a.lerp(kA.l,DA.l,e);return this.setHSL(t,i,o),this},equals:function(A){return A.r===this.r&&A.g===this.g&&A.b===this.b},fromArray:function(A,e){return void 0===e&&(e=0),this.r=A[e],this.g=A[e+1],this.b=A[e+2],this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this.r,A[e+1]=this.g,A[e+2]=this.b,A},toJSON:function(){return this.getHex()}}),LA.NAMES=TA,Object.assign(GA.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(A){this.a=A.a,this.b=A.b,this.c=A.c,this.normal.copy(A.normal),this.color.copy(A.color),this.materialIndex=A.materialIndex;for(var e=0,t=A.vertexNormals.length;t>e;e++)this.vertexNormals[e]=A.vertexNormals[e].clone();for(e=0,t=A.vertexColors.length;t>e;e++)this.vertexColors[e]=A.vertexColors[e].clone();return this}});var PA=0;function qA(){Object.defineProperty(this,"id",{value:PA++}),this.uuid=a.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.blending=1,this.side=0,this.flatShading=!1,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=100,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=7680,this.stencilZFail=7680,this.stencilZPass=7680,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,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.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}function jA(A){qA.call(this),this.type="MeshBasicMaterial",this.color=new LA(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=0,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.setValues(A)}qA.prototype=Object.assign(Object.create(i.prototype),{constructor:qA,isMaterial:!0,onBeforeCompile:function(){},setValues:function(A){if(void 0!==A)for(var e in A){var t=A[e];if(void 0!==t)if("shading"!==e){var i=this[e];void 0!==i?i&&i.isColor?i.set(t):i&&i.isVector3&&t&&t.isVector3?i.copy(t):this[e]=t:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}else console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===t;else console.warn("THREE.Material: '"+e+"' parameter is undefined.")}},toJSON:function(A){var e=void 0===A||"string"==typeof A;e&&(A={textures:{},images:{}});var t={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(A){var e=[];for(var t in A){var i=A[t];delete i.metadata,e.push(i)}return e}if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),this.color&&this.color.isColor&&(t.color=this.color.getHex()),void 0!==this.roughness&&(t.roughness=this.roughness),void 0!==this.metalness&&(t.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(t.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(t.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(t.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(t.specular=this.specular.getHex()),void 0!==this.shininess&&(t.shininess=this.shininess),void 0!==this.clearcoat&&(t.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(t.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(t.clearcoatMap=this.clearcoatMap.toJSON(A).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(t.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(A).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(t.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(A).uuid,t.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(t.map=this.map.toJSON(A).uuid),this.matcap&&this.matcap.isTexture&&(t.matcap=this.matcap.toJSON(A).uuid),this.alphaMap&&this.alphaMap.isTexture&&(t.alphaMap=this.alphaMap.toJSON(A).uuid),this.lightMap&&this.lightMap.isTexture&&(t.lightMap=this.lightMap.toJSON(A).uuid),this.aoMap&&this.aoMap.isTexture&&(t.aoMap=this.aoMap.toJSON(A).uuid,t.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(t.bumpMap=this.bumpMap.toJSON(A).uuid,t.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(t.normalMap=this.normalMap.toJSON(A).uuid,t.normalMapType=this.normalMapType,t.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(t.displacementMap=this.displacementMap.toJSON(A).uuid,t.displacementScale=this.displacementScale,t.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(t.roughnessMap=this.roughnessMap.toJSON(A).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(t.metalnessMap=this.metalnessMap.toJSON(A).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(t.emissiveMap=this.emissiveMap.toJSON(A).uuid),this.specularMap&&this.specularMap.isTexture&&(t.specularMap=this.specularMap.toJSON(A).uuid),this.envMap&&this.envMap.isTexture&&(t.envMap=this.envMap.toJSON(A).uuid,t.reflectivity=this.reflectivity,t.refractionRatio=this.refractionRatio,void 0!==this.combine&&(t.combine=this.combine),void 0!==this.envMapIntensity&&(t.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(t.gradientMap=this.gradientMap.toJSON(A).uuid),void 0!==this.size&&(t.size=this.size),void 0!==this.sizeAttenuation&&(t.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(t.blending=this.blending),!0===this.flatShading&&(t.flatShading=this.flatShading),0!==this.side&&(t.side=this.side),this.vertexColors&&(t.vertexColors=!0),1>this.opacity&&(t.opacity=this.opacity),!0===this.transparent&&(t.transparent=this.transparent),t.depthFunc=this.depthFunc,t.depthTest=this.depthTest,t.depthWrite=this.depthWrite,t.stencilWrite=this.stencilWrite,t.stencilWriteMask=this.stencilWriteMask,t.stencilFunc=this.stencilFunc,t.stencilRef=this.stencilRef,t.stencilFuncMask=this.stencilFuncMask,t.stencilFail=this.stencilFail,t.stencilZFail=this.stencilZFail,t.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(t.rotation=this.rotation),!0===this.polygonOffset&&(t.polygonOffset=!0),0!==this.polygonOffsetFactor&&(t.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(t.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(t.linewidth=this.linewidth),void 0!==this.dashSize&&(t.dashSize=this.dashSize),void 0!==this.gapSize&&(t.gapSize=this.gapSize),void 0!==this.scale&&(t.scale=this.scale),!0===this.dithering&&(t.dithering=!0),this.alphaTest>0&&(t.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(t.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(t.wireframe=this.wireframe),this.wireframeLinewidth>1&&(t.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(t.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(t.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(t.morphTargets=!0),!0===this.morphNormals&&(t.morphNormals=!0),!0===this.skinning&&(t.skinning=!0),!1===this.visible&&(t.visible=!1),!1===this.toneMapped&&(t.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(t.userData=this.userData),e){var o=i(A.textures),n=i(A.images);o.length>0&&(t.textures=o),n.length>0&&(t.images=n)}return t},clone:function(){return(new this.constructor).copy(this)},copy:function(A){this.name=A.name,this.fog=A.fog,this.blending=A.blending,this.side=A.side,this.flatShading=A.flatShading,this.vertexColors=A.vertexColors,this.opacity=A.opacity,this.transparent=A.transparent,this.blendSrc=A.blendSrc,this.blendDst=A.blendDst,this.blendEquation=A.blendEquation,this.blendSrcAlpha=A.blendSrcAlpha,this.blendDstAlpha=A.blendDstAlpha,this.blendEquationAlpha=A.blendEquationAlpha,this.depthFunc=A.depthFunc,this.depthTest=A.depthTest,this.depthWrite=A.depthWrite,this.stencilWriteMask=A.stencilWriteMask,this.stencilFunc=A.stencilFunc,this.stencilRef=A.stencilRef,this.stencilFuncMask=A.stencilFuncMask,this.stencilFail=A.stencilFail,this.stencilZFail=A.stencilZFail,this.stencilZPass=A.stencilZPass,this.stencilWrite=A.stencilWrite;var e=A.clippingPlanes,t=null;if(null!==e){var i=e.length;t=new Array(i);for(var o=0;o!==i;++o)t[o]=e[o].clone()}return this.clippingPlanes=t,this.clipIntersection=A.clipIntersection,this.clipShadows=A.clipShadows,this.shadowSide=A.shadowSide,this.colorWrite=A.colorWrite,this.precision=A.precision,this.polygonOffset=A.polygonOffset,this.polygonOffsetFactor=A.polygonOffsetFactor,this.polygonOffsetUnits=A.polygonOffsetUnits,this.dithering=A.dithering,this.alphaTest=A.alphaTest,this.premultipliedAlpha=A.premultipliedAlpha,this.visible=A.visible,this.toneMapped=A.toneMapped,this.userData=JSON.parse(JSON.stringify(A.userData)),this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(qA.prototype,"needsUpdate",{set:function(A){!0===A&&this.version++}}),(jA.prototype=Object.create(qA.prototype)).constructor=jA,jA.prototype.isMeshBasicMaterial=!0,jA.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this};var HA=new y;function YA(A,e,t){if(Array.isArray(A))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=A,this.itemSize=e,this.count=void 0!==A?A.length/e:0,this.normalized=!0===t,this.usage=35044,this.updateRange={offset:0,count:-1},this.version=0}function WA(A,e,t){YA.call(this,new Int8Array(A),e,t)}function JA(A,e,t){YA.call(this,new Uint8Array(A),e,t)}function zA(A,e,t){YA.call(this,new Uint8ClampedArray(A),e,t)}function ZA(A,e,t){YA.call(this,new Int16Array(A),e,t)}function XA(A,e,t){YA.call(this,new Uint16Array(A),e,t)}function _A(A,e,t){YA.call(this,new Int32Array(A),e,t)}function $A(A,e,t){YA.call(this,new Uint32Array(A),e,t)}function Ae(A,e,t){YA.call(this,new Float32Array(A),e,t)}function ee(A,e,t){YA.call(this,new Float64Array(A),e,t)}function te(){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 ie(A){if(0===A.length)return-1/0;for(var e=A[0],t=1,i=A.length;i>t;++t)A[t]>e&&(e=A[t]);return e}Object.defineProperty(YA.prototype,"needsUpdate",{set:function(A){!0===A&&this.version++}}),Object.assign(YA.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setUsage:function(A){return this.usage=A,this},copy:function(A){return this.name=A.name,this.array=new A.array.constructor(A.array),this.itemSize=A.itemSize,this.count=A.count,this.normalized=A.normalized,this.usage=A.usage,this},copyAt:function(A,e,t){A*=this.itemSize,t*=e.itemSize;for(var i=0,o=this.itemSize;o>i;i++)this.array[A+i]=e.array[t+i];return this},copyArray:function(A){return this.array.set(A),this},copyColorsArray:function(A){for(var e=this.array,t=0,i=0,o=A.length;o>i;i++){var n=A[i];void 0===n&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i),n=new LA),e[t++]=n.r,e[t++]=n.g,e[t++]=n.b}return this},copyVector2sArray:function(A){for(var e=this.array,t=0,i=0,o=A.length;o>i;i++){var n=A[i];void 0===n&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",i),n=new s),e[t++]=n.x,e[t++]=n.y}return this},copyVector3sArray:function(A){for(var e=this.array,t=0,i=0,o=A.length;o>i;i++){var n=A[i];void 0===n&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i),n=new y),e[t++]=n.x,e[t++]=n.y,e[t++]=n.z}return this},copyVector4sArray:function(A){for(var e=this.array,t=0,i=0,o=A.length;o>i;i++){var n=A[i];void 0===n&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i),n=new p),e[t++]=n.x,e[t++]=n.y,e[t++]=n.z,e[t++]=n.w}return this},applyMatrix3:function(A){for(var e=0,t=this.count;t>e;e++)HA.x=this.getX(e),HA.y=this.getY(e),HA.z=this.getZ(e),HA.applyMatrix3(A),this.setXYZ(e,HA.x,HA.y,HA.z);return this},applyMatrix4:function(A){for(var e=0,t=this.count;t>e;e++)HA.x=this.getX(e),HA.y=this.getY(e),HA.z=this.getZ(e),HA.applyMatrix4(A),this.setXYZ(e,HA.x,HA.y,HA.z);return this},applyNormalMatrix:function(A){for(var e=0,t=this.count;t>e;e++)HA.x=this.getX(e),HA.y=this.getY(e),HA.z=this.getZ(e),HA.applyNormalMatrix(A),this.setXYZ(e,HA.x,HA.y,HA.z);return this},transformDirection:function(A){for(var e=0,t=this.count;t>e;e++)HA.x=this.getX(e),HA.y=this.getY(e),HA.z=this.getZ(e),HA.transformDirection(A),this.setXYZ(e,HA.x,HA.y,HA.z);return this},set:function(A,e){return void 0===e&&(e=0),this.array.set(A,e),this},getX:function(A){return this.array[A*this.itemSize]},setX:function(A,e){return this.array[A*this.itemSize]=e,this},getY:function(A){return this.array[A*this.itemSize+1]},setY:function(A,e){return this.array[A*this.itemSize+1]=e,this},getZ:function(A){return this.array[A*this.itemSize+2]},setZ:function(A,e){return this.array[A*this.itemSize+2]=e,this},getW:function(A){return this.array[A*this.itemSize+3]},setW:function(A,e){return this.array[A*this.itemSize+3]=e,this},setXY:function(A,e,t){return this.array[(A*=this.itemSize)+0]=e,this.array[A+1]=t,this},setXYZ:function(A,e,t,i){return this.array[(A*=this.itemSize)+0]=e,this.array[A+1]=t,this.array[A+2]=i,this},setXYZW:function(A,e,t,i,o){return this.array[(A*=this.itemSize)+0]=e,this.array[A+1]=t,this.array[A+2]=i,this.array[A+3]=o,this},onUpload:function(A){return this.onUploadCallback=A,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)},toJSON:function(){return{itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized}}}),(WA.prototype=Object.create(YA.prototype)).constructor=WA,(JA.prototype=Object.create(YA.prototype)).constructor=JA,(zA.prototype=Object.create(YA.prototype)).constructor=zA,(ZA.prototype=Object.create(YA.prototype)).constructor=ZA,(XA.prototype=Object.create(YA.prototype)).constructor=XA,(_A.prototype=Object.create(YA.prototype)).constructor=_A,($A.prototype=Object.create(YA.prototype)).constructor=$A,(Ae.prototype=Object.create(YA.prototype)).constructor=Ae,(ee.prototype=Object.create(YA.prototype)).constructor=ee,Object.assign(te.prototype,{computeGroups:function(A){for(var e,t=[],i=void 0,o=A.faces,n=0;o.length>n;n++){var r=o[n];r.materialIndex!==i&&(i=r.materialIndex,void 0!==e&&(e.count=3*n-e.start,t.push(e)),e={start:3*n,materialIndex:i})}void 0!==e&&(e.count=3*n-e.start,t.push(e)),this.groups=t},fromGeometry:function(A){var e,t=A.faces,i=A.vertices,o=A.faceVertexUvs,n=o[0]&&o[0].length>0,r=o[1]&&o[1].length>0,a=A.morphTargets,l=a.length;if(l>0){e=[];for(var c=0;l>c;c++)e[c]={name:a[c].name,data:[]};this.morphTargets.position=e}var h,d=A.morphNormals,p=d.length;if(p>0){h=[];for(c=0;p>c;c++)h[c]={name:d[c].name,data:[]};this.morphTargets.normal=h}var g=A.skinIndices,u=A.skinWeights,f=g.length===i.length,m=u.length===i.length;i.length>0&&0===t.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(c=0;t.length>c;c++){var C=t[c];this.vertices.push(i[C.a],i[C.b],i[C.c]);var y=C.vertexNormals;if(3===y.length)this.normals.push(y[0],y[1],y[2]);else{var v=C.normal;this.normals.push(v,v,v)}var I,E=C.vertexColors;if(3===E.length)this.colors.push(E[0],E[1],E[2]);else{var B=C.color;this.colors.push(B,B,B)}if(!0===n)void 0!==(I=o[0][c])?this.uvs.push(I[0],I[1],I[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",c),this.uvs.push(new s,new s,new s));if(!0===r)void 0!==(I=o[1][c])?this.uvs2.push(I[0],I[1],I[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",c),this.uvs2.push(new s,new s,new s));for(var x=0;l>x;x++){var S=a[x].vertices;e[x].data.push(S[C.a],S[C.b],S[C.c])}for(x=0;p>x;x++){var w=d[x].vertexNormals[c];h[x].data.push(w.a,w.b,w.c)}f&&this.skinIndices.push(g[C.a],g[C.b],g[C.c]),m&&this.skinWeights.push(u[C.a],u[C.b],u[C.c])}return this.computeGroups(A),this.verticesNeedUpdate=A.verticesNeedUpdate,this.normalsNeedUpdate=A.normalsNeedUpdate,this.colorsNeedUpdate=A.colorsNeedUpdate,this.uvsNeedUpdate=A.uvsNeedUpdate,this.groupsNeedUpdate=A.groupsNeedUpdate,null!==A.boundingSphere&&(this.boundingSphere=A.boundingSphere.clone()),null!==A.boundingBox&&(this.boundingBox=A.boundingBox.clone()),this}});var oe=1,ne=new M,re=new H,ae=new y,se=new aA,le=new aA,ce=new y;function he(){Object.defineProperty(this,"id",{value:oe+=2}),this.uuid=a.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}he.prototype=Object.assign(Object.create(i.prototype),{constructor:he,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(A){this.index=Array.isArray(A)?new(ie(A)>65535?$A:XA)(A,1):A},getAttribute:function(A){return this.attributes[A]},setAttribute:function(A,e){return this.attributes[A]=e,this},deleteAttribute:function(A){return delete this.attributes[A],this},addGroup:function(A,e,t){this.groups.push({start:A,count:e,materialIndex:void 0!==t?t:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(A,e){this.drawRange.start=A,this.drawRange.count=e},applyMatrix4:function(A){var e=this.attributes.position;void 0!==e&&(e.applyMatrix4(A),e.needsUpdate=!0);var t=this.attributes.normal;if(void 0!==t){var i=(new l).getNormalMatrix(A);t.applyNormalMatrix(i),t.needsUpdate=!0}var o=this.attributes.tangent;return void 0!==o&&(o.transformDirection(A),o.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(A){return ne.makeRotationX(A),this.applyMatrix4(ne),this},rotateY:function(A){return ne.makeRotationY(A),this.applyMatrix4(ne),this},rotateZ:function(A){return ne.makeRotationZ(A),this.applyMatrix4(ne),this},translate:function(A,e,t){return ne.makeTranslation(A,e,t),this.applyMatrix4(ne),this},scale:function(A,e,t){return ne.makeScale(A,e,t),this.applyMatrix4(ne),this},lookAt:function(A){return re.lookAt(A),re.updateMatrix(),this.applyMatrix4(re.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(ae).negate(),this.translate(ae.x,ae.y,ae.z),this},setFromObject:function(A){var e=A.geometry;if(A.isPoints||A.isLine){var t=new Ae(3*e.vertices.length,3),i=new Ae(3*e.colors.length,3);if(this.setAttribute("position",t.copyVector3sArray(e.vertices)),this.setAttribute("color",i.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){var o=new Ae(e.lineDistances.length,1);this.setAttribute("lineDistance",o.copyArray(e.lineDistances))}null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())}else A.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},setFromPoints:function(A){for(var e=[],t=0,i=A.length;i>t;t++){var o=A[t];e.push(o.x,o.y,o.z||0)}return this.setAttribute("position",new Ae(e,3)),this},updateFromObject:function(A){var e,t=A.geometry;if(A.isMesh){var i=t.__directGeometry;if(!0===t.elementsNeedUpdate&&(i=void 0,t.elementsNeedUpdate=!1),void 0===i)return this.fromGeometry(t);i.verticesNeedUpdate=t.verticesNeedUpdate,i.normalsNeedUpdate=t.normalsNeedUpdate,i.colorsNeedUpdate=t.colorsNeedUpdate,i.uvsNeedUpdate=t.uvsNeedUpdate,i.groupsNeedUpdate=t.groupsNeedUpdate,t.verticesNeedUpdate=!1,t.normalsNeedUpdate=!1,t.colorsNeedUpdate=!1,t.uvsNeedUpdate=!1,t.groupsNeedUpdate=!1,t=i}return!0===t.verticesNeedUpdate&&(void 0!==(e=this.attributes.position)&&(e.copyVector3sArray(t.vertices),e.needsUpdate=!0),t.verticesNeedUpdate=!1),!0===t.normalsNeedUpdate&&(void 0!==(e=this.attributes.normal)&&(e.copyVector3sArray(t.normals),e.needsUpdate=!0),t.normalsNeedUpdate=!1),!0===t.colorsNeedUpdate&&(void 0!==(e=this.attributes.color)&&(e.copyColorsArray(t.colors),e.needsUpdate=!0),t.colorsNeedUpdate=!1),t.uvsNeedUpdate&&(void 0!==(e=this.attributes.uv)&&(e.copyVector2sArray(t.uvs),e.needsUpdate=!0),t.uvsNeedUpdate=!1),t.lineDistancesNeedUpdate&&(void 0!==(e=this.attributes.lineDistance)&&(e.copyArray(t.lineDistances),e.needsUpdate=!0),t.lineDistancesNeedUpdate=!1),t.groupsNeedUpdate&&(t.computeGroups(A.geometry),this.groups=t.groups,t.groupsNeedUpdate=!1),this},fromGeometry:function(A){return A.__directGeometry=(new te).fromGeometry(A),this.fromDirectGeometry(A.__directGeometry)},fromDirectGeometry:function(A){var e=new Float32Array(3*A.vertices.length);if(this.setAttribute("position",new YA(e,3).copyVector3sArray(A.vertices)),A.normals.length>0){var t=new Float32Array(3*A.normals.length);this.setAttribute("normal",new YA(t,3).copyVector3sArray(A.normals))}if(A.colors.length>0){var i=new Float32Array(3*A.colors.length);this.setAttribute("color",new YA(i,3).copyColorsArray(A.colors))}if(A.uvs.length>0){var o=new Float32Array(2*A.uvs.length);this.setAttribute("uv",new YA(o,2).copyVector2sArray(A.uvs))}if(A.uvs2.length>0){var n=new Float32Array(2*A.uvs2.length);this.setAttribute("uv2",new YA(n,2).copyVector2sArray(A.uvs2))}for(var r in this.groups=A.groups,A.morphTargets){for(var a=[],s=A.morphTargets[r],l=0,c=s.length;c>l;l++){var h=s[l],d=new Ae(3*h.data.length,3);d.name=h.name,a.push(d.copyVector3sArray(h.data))}this.morphAttributes[r]=a}if(A.skinIndices.length>0){var p=new Ae(4*A.skinIndices.length,4);this.setAttribute("skinIndex",p.copyVector4sArray(A.skinIndices))}if(A.skinWeights.length>0){var g=new Ae(4*A.skinWeights.length,4);this.setAttribute("skinWeight",g.copyVector4sArray(A.skinWeights))}return null!==A.boundingSphere&&(this.boundingSphere=A.boundingSphere.clone()),null!==A.boundingBox&&(this.boundingBox=A.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new aA);var A=this.attributes.position,e=this.morphAttributes.position;if(void 0!==A){if(this.boundingBox.setFromBufferAttribute(A),e)for(var t=0,i=e.length;i>t;t++){se.setFromBufferAttribute(e[t]),this.morphTargetsRelative?(ce.addVectors(this.boundingBox.min,se.min),this.boundingBox.expandByPoint(ce),ce.addVectors(this.boundingBox.max,se.max),this.boundingBox.expandByPoint(ce)):(this.boundingBox.expandByPoint(se.min),this.boundingBox.expandByPoint(se.max))}}else 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(){null===this.boundingSphere&&(this.boundingSphere=new cA);var A=this.attributes.position,e=this.morphAttributes.position;if(A){var t=this.boundingSphere.center;if(se.setFromBufferAttribute(A),e)for(var i=0,o=e.length;o>i;i++){le.setFromBufferAttribute(r=e[i]),this.morphTargetsRelative?(ce.addVectors(se.min,le.min),se.expandByPoint(ce),ce.addVectors(se.max,le.max),se.expandByPoint(ce)):(se.expandByPoint(le.min),se.expandByPoint(le.max))}se.getCenter(t);var n=0;for(i=0,o=A.count;o>i;i++)ce.fromBufferAttribute(A,i),n=Math.max(n,t.distanceToSquared(ce));if(e)for(i=0,o=e.length;o>i;i++)for(var r,a=this.morphTargetsRelative,s=0,l=(r=e[i]).count;l>s;s++)ce.fromBufferAttribute(r,s),a&&(ae.fromBufferAttribute(A,s),ce.add(ae)),n=Math.max(n,t.distanceToSquared(ce));this.boundingSphere.radius=Math.sqrt(n),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 A=this.index,e=this.attributes;if(e.position){var t=e.position.array;if(void 0===e.normal)this.setAttribute("normal",new YA(new Float32Array(t.length),3));else for(var i=e.normal.array,o=0,n=i.length;n>o;o++)i[o]=0;var r,a,s,l=e.normal.array,c=new y,h=new y,d=new y,p=new y,g=new y;if(A){var u=A.array;for(o=0,n=A.count;n>o;o+=3)a=3*u[o+1],s=3*u[o+2],c.fromArray(t,r=3*u[o+0]),h.fromArray(t,a),d.fromArray(t,s),p.subVectors(d,h),g.subVectors(c,h),p.cross(g),l[r]+=p.x,l[r+1]+=p.y,l[r+2]+=p.z,l[a]+=p.x,l[a+1]+=p.y,l[a+2]+=p.z,l[s]+=p.x,l[s+1]+=p.y,l[s+2]+=p.z}else for(o=0,n=t.length;n>o;o+=9)c.fromArray(t,o),h.fromArray(t,o+3),d.fromArray(t,o+6),p.subVectors(d,h),g.subVectors(c,h),p.cross(g),l[o]=p.x,l[o+1]=p.y,l[o+2]=p.z,l[o+3]=p.x,l[o+4]=p.y,l[o+5]=p.z,l[o+6]=p.x,l[o+7]=p.y,l[o+8]=p.z;this.normalizeNormals(),e.normal.needsUpdate=!0}},merge:function(A,e){if(A&&A.isBufferGeometry){void 0===e&&(e=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));var t=this.attributes;for(var i in t)if(void 0!==A.attributes[i])for(var o=t[i].array,n=A.attributes[i],r=n.array,a=n.itemSize*e,s=Math.min(r.length,o.length-a),l=0,c=a;s>l;l++,c++)o[c]=r[l];return this}console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",A)},normalizeNormals:function(){for(var A=this.attributes.normal,e=0,t=A.count;t>e;e++)ce.x=A.getX(e),ce.y=A.getY(e),ce.z=A.getZ(e),ce.normalize(),A.setXYZ(e,ce.x,ce.y,ce.z)},toNonIndexed:function(){function A(A,e){for(var t=A.array,i=A.itemSize,o=new t.constructor(e.length*i),n=0,r=0,a=0,s=e.length;s>a;a++){n=e[a]*i;for(var l=0;i>l;l++)o[r++]=t[n++]}return new YA(o,i)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var e=new he,t=this.index.array,i=this.attributes;for(var o in i){var n=A(i[o],t);e.setAttribute(o,n)}var r=this.morphAttributes;for(o in r){for(var a=[],s=r[o],l=0,c=s.length;c>l;l++){n=A(s[l],t);a.push(n)}e.morphAttributes[o]=a}e.morphTargetsRelative=this.morphTargetsRelative;for(var h=this.groups,d=(l=0,h.length);d>l;l++){var p=h[l];e.addGroup(p.start,p.count,p.materialIndex)}return e},toJSON:function(){var A={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(A.uuid=this.uuid,A.type=this.type,""!==this.name&&(A.name=this.name),Object.keys(this.userData).length>0&&(A.userData=this.userData),void 0!==this.parameters){var e=this.parameters;for(var t in e)void 0!==e[t]&&(A[t]=e[t]);return A}A.data={attributes:{}};var i=this.index;null!==i&&(A.data.index={type:i.array.constructor.name,array:Array.prototype.slice.call(i.array)});var o=this.attributes;for(var t in o){var n=(d=o[t]).toJSON();""!==d.name&&(n.name=d.name),A.data.attributes[t]=n}var r={},a=!1;for(var t in this.morphAttributes){for(var s=this.morphAttributes[t],l=[],c=0,h=s.length;h>c;c++){var d;n=(d=s[c]).toJSON();""!==d.name&&(n.name=d.name),l.push(n)}l.length>0&&(r[t]=l,a=!0)}a&&(A.data.morphAttributes=r,A.data.morphTargetsRelative=this.morphTargetsRelative);var p=this.groups;p.length>0&&(A.data.groups=JSON.parse(JSON.stringify(p)));var g=this.boundingSphere;return null!==g&&(A.data.boundingSphere={center:g.center.toArray(),radius:g.radius}),A},clone:function(){return(new he).copy(this)},copy:function(A){var e,t,i;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=A.name;var o=A.index;null!==o&&this.setIndex(o.clone());var n=A.attributes;for(e in n){this.setAttribute(e,n[e].clone())}var r=A.morphAttributes;for(e in r){var a=[],s=r[e];for(t=0,i=s.length;i>t;t++)a.push(s[t].clone());this.morphAttributes[e]=a}this.morphTargetsRelative=A.morphTargetsRelative;var l=A.groups;for(t=0,i=l.length;i>t;t++){var c=l[t];this.addGroup(c.start,c.count,c.materialIndex)}var h=A.boundingBox;null!==h&&(this.boundingBox=h.clone());var d=A.boundingSphere;return null!==d&&(this.boundingSphere=d.clone()),this.drawRange.start=A.drawRange.start,this.drawRange.count=A.drawRange.count,this.userData=A.userData,this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var de=new M,pe=new CA,ge=new cA,ue=new y,fe=new y,me=new y,Ce=new y,ye=new y,ve=new y,Ie=new y,Ee=new y,Be=new y,xe=new s,Se=new s,we=new s,Me=new y,be=new y;function Ue(A,e){H.call(this),this.type="Mesh",this.geometry=void 0!==A?A:new he,this.material=void 0!==e?e:new jA,this.updateMorphTargets()}function Fe(A,e,t,i,o,n,r,a){if(null===(1===e.side?i.intersectTriangle(r,n,o,!0,a):i.intersectTriangle(o,n,r,2!==e.side,a)))return null;be.copy(a),be.applyMatrix4(A.matrixWorld);var s=t.ray.origin.distanceTo(be);return t.near>s||s>t.far?null:{distance:s,point:be.clone(),object:A}}function Ke(A,e,t,i,o,n,r,a,l,c,h,d){ue.fromBufferAttribute(o,c),fe.fromBufferAttribute(o,h),me.fromBufferAttribute(o,d);var p=A.morphTargetInfluences;if(e.morphTargets&&n&&p){Ie.set(0,0,0),Ee.set(0,0,0),Be.set(0,0,0);for(var g=0,u=n.length;u>g;g++){var f=p[g],m=n[g];0!==f&&(Ce.fromBufferAttribute(m,c),ye.fromBufferAttribute(m,h),ve.fromBufferAttribute(m,d),r?(Ie.addScaledVector(Ce,f),Ee.addScaledVector(ye,f),Be.addScaledVector(ve,f)):(Ie.addScaledVector(Ce.sub(ue),f),Ee.addScaledVector(ye.sub(fe),f),Be.addScaledVector(ve.sub(me),f)))}ue.add(Ie),fe.add(Ee),me.add(Be)}var C=Fe(A,e,t,i,ue,fe,me,Me);if(C){a&&(xe.fromBufferAttribute(a,c),Se.fromBufferAttribute(a,h),we.fromBufferAttribute(a,d),C.uv=RA.getUV(Me,ue,fe,me,xe,Se,we,new s)),l&&(xe.fromBufferAttribute(l,c),Se.fromBufferAttribute(l,h),we.fromBufferAttribute(l,d),C.uv2=RA.getUV(Me,ue,fe,me,xe,Se,we,new s));var y=new GA(c,h,d);RA.getNormal(ue,fe,me,y.normal),C.face=y}return C}Ue.prototype=Object.assign(Object.create(H.prototype),{constructor:Ue,isMesh:!0,copy:function(A){return H.prototype.copy.call(this,A),void 0!==A.morphTargetInfluences&&(this.morphTargetInfluences=A.morphTargetInfluences.slice()),void 0!==A.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},A.morphTargetDictionary)),this},updateMorphTargets:function(){var A,e,t,i=this.geometry;if(i.isBufferGeometry){var o=i.morphAttributes,n=Object.keys(o);if(n.length>0){var r=o[n[0]];if(void 0!==r)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},A=0,e=r.length;e>A;A++)t=r[A].name||String(A),this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=A}}else{var a=i.morphTargets;void 0!==a&&a.length>0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},raycast:function(A,e){var t,i=this.geometry,o=this.material,n=this.matrixWorld;if(void 0!==o&&(null===i.boundingSphere&&i.computeBoundingSphere(),ge.copy(i.boundingSphere),ge.applyMatrix4(n),!1!==A.ray.intersectsSphere(ge)&&(de.getInverse(n),pe.copy(A.ray).applyMatrix4(de),null===i.boundingBox||!1!==pe.intersectsBox(i.boundingBox))))if(i.isBufferGeometry){var r,a,l,c,h,d,p,g,u,f=i.index,m=i.attributes.position,C=i.morphAttributes.position,y=i.morphTargetsRelative,v=i.attributes.uv,I=i.attributes.uv2,E=i.groups,B=i.drawRange;if(null!==f)if(Array.isArray(o)){for(c=0,d=E.length;d>c;c++)if(u=o[(g=E[c]).materialIndex])for(h=Math.max(g.start,B.start),p=Math.min(g.start+g.count,B.start+B.count);p>h;h+=3)r=f.getX(h),a=f.getX(h+1),l=f.getX(h+2),(t=Ke(this,u,A,pe,m,C,y,v,I,r,a,l))&&(t.faceIndex=Math.floor(h/3),t.face.materialIndex=g.materialIndex,e.push(t))}else for(c=Math.max(0,B.start),d=Math.min(f.count,B.start+B.count);d>c;c+=3)r=f.getX(c),a=f.getX(c+1),l=f.getX(c+2),(t=Ke(this,o,A,pe,m,C,y,v,I,r,a,l))&&(t.faceIndex=Math.floor(c/3),e.push(t));else if(void 0!==m)if(Array.isArray(o))for(c=0,d=E.length;d>c;c++)for(u=o[(g=E[c]).materialIndex],h=Math.max(g.start,B.start),p=Math.min(g.start+g.count,B.start+B.count);p>h;h+=3)(t=Ke(this,u,A,pe,m,C,y,v,I,r=h,a=h+1,l=h+2))&&(t.faceIndex=Math.floor(h/3),t.face.materialIndex=g.materialIndex,e.push(t));else for(c=Math.max(0,B.start),d=Math.min(m.count,B.start+B.count);d>c;c+=3)(t=Ke(this,o,A,pe,m,C,y,v,I,r=c,a=c+1,l=c+2))&&(t.faceIndex=Math.floor(c/3),e.push(t))}else if(i.isGeometry){var x,S,w,M,b=Array.isArray(o),U=i.vertices,F=i.faces,K=i.faceVertexUvs[0];K.length>0&&(M=K);for(var Q=0,R=F.length;R>Q;Q++){var T=F[Q],k=b?o[T.materialIndex]:o;if(void 0!==k&&(t=Fe(this,k,A,pe,x=U[T.a],S=U[T.b],w=U[T.c],Me))){if(M&&M[Q]){var D=M[Q];xe.copy(D[0]),Se.copy(D[1]),we.copy(D[2]),t.uv=RA.getUV(Me,x,S,w,xe,Se,we,new s)}t.face=T,t.faceIndex=Q,e.push(t)}}}},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}});var Qe=0,Re=new M,Te=new H,ke=new y;function De(){Object.defineProperty(this,"id",{value:Qe+=2}),this.uuid=a.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}De.prototype=Object.assign(Object.create(i.prototype),{constructor:De,isGeometry:!0,applyMatrix4:function(A){for(var e=(new l).getNormalMatrix(A),t=0,i=this.vertices.length;i>t;t++){this.vertices[t].applyMatrix4(A)}for(t=0,i=this.faces.length;i>t;t++){var o=this.faces[t];o.normal.applyMatrix3(e).normalize();for(var n=0,r=o.vertexNormals.length;r>n;n++)o.vertexNormals[n].applyMatrix3(e).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this},rotateX:function(A){return Re.makeRotationX(A),this.applyMatrix4(Re),this},rotateY:function(A){return Re.makeRotationY(A),this.applyMatrix4(Re),this},rotateZ:function(A){return Re.makeRotationZ(A),this.applyMatrix4(Re),this},translate:function(A,e,t){return Re.makeTranslation(A,e,t),this.applyMatrix4(Re),this},scale:function(A,e,t){return Re.makeScale(A,e,t),this.applyMatrix4(Re),this},lookAt:function(A){return Te.lookAt(A),Te.updateMatrix(),this.applyMatrix4(Te.matrix),this},fromBufferGeometry:function(A){var e=this,t=null!==A.index?A.index.array:void 0,i=A.attributes;if(void 0===i.position)return console.error("THREE.Geometry.fromBufferGeometry(): Position attribute required for conversion."),this;var o=i.position.array,n=void 0!==i.normal?i.normal.array:void 0,r=void 0!==i.color?i.color.array:void 0,a=void 0!==i.uv?i.uv.array:void 0,l=void 0!==i.uv2?i.uv2.array:void 0;void 0!==l&&(this.faceVertexUvs[1]=[]);for(var c=0;o.length>c;c+=3)e.vertices.push((new y).fromArray(o,c)),void 0!==r&&e.colors.push((new LA).fromArray(r,c));function h(A,t,i,o){var c=void 0===r?[]:[e.colors[A].clone(),e.colors[t].clone(),e.colors[i].clone()],h=new GA(A,t,i,void 0===n?[]:[(new y).fromArray(n,3*A),(new y).fromArray(n,3*t),(new y).fromArray(n,3*i)],c,o);e.faces.push(h),void 0!==a&&e.faceVertexUvs[0].push([(new s).fromArray(a,2*A),(new s).fromArray(a,2*t),(new s).fromArray(a,2*i)]),void 0!==l&&e.faceVertexUvs[1].push([(new s).fromArray(l,2*A),(new s).fromArray(l,2*t),(new s).fromArray(l,2*i)])}var d=A.groups;if(d.length>0)for(c=0;d.length>c;c++)for(var p=d[c],g=p.start,u=g,f=g+p.count;f>u;u+=3)void 0!==t?h(t[u],t[u+1],t[u+2],p.materialIndex):h(u,u+1,u+2,p.materialIndex);else if(void 0!==t)for(c=0;t.length>c;c+=3)h(t[c],t[c+1],t[c+2]);else for(c=0;o.length/3>c;c+=3)h(c,c+1,c+2);return this.computeFaceNormals(),null!==A.boundingBox&&(this.boundingBox=A.boundingBox.clone()),null!==A.boundingSphere&&(this.boundingSphere=A.boundingSphere.clone()),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(ke).negate(),this.translate(ke.x,ke.y,ke.z),this},normalize:function(){this.computeBoundingSphere();var A=this.boundingSphere.center,e=this.boundingSphere.radius,t=0===e?1:1/e,i=new M;return i.set(t,0,0,-t*A.x,0,t,0,-t*A.y,0,0,t,-t*A.z,0,0,0,1),this.applyMatrix4(i),this},computeFaceNormals:function(){for(var A=new y,e=new y,t=0,i=this.faces.length;i>t;t++){var o=this.faces[t],n=this.vertices[o.a],r=this.vertices[o.b];A.subVectors(this.vertices[o.c],r),e.subVectors(n,r),A.cross(e),A.normalize(),o.normal.copy(A)}},computeVertexNormals:function(A){var e,t,i,o,n,r;for(void 0===A&&(A=!0),r=new Array(this.vertices.length),e=0,t=this.vertices.length;t>e;e++)r[e]=new y;if(A){var a,s,l=new y,c=new y;for(i=0,o=this.faces.length;o>i;i++)a=this.vertices[(n=this.faces[i]).a],l.subVectors(this.vertices[n.c],s=this.vertices[n.b]),c.subVectors(a,s),l.cross(c),r[n.a].add(l),r[n.b].add(l),r[n.c].add(l)}else for(this.computeFaceNormals(),i=0,o=this.faces.length;o>i;i++)r[(n=this.faces[i]).a].add(n.normal),r[n.b].add(n.normal),r[n.c].add(n.normal);for(e=0,t=this.vertices.length;t>e;e++)r[e].normalize();for(i=0,o=this.faces.length;o>i;i++){var h=(n=this.faces[i]).vertexNormals;3===h.length?(h[0].copy(r[n.a]),h[1].copy(r[n.b]),h[2].copy(r[n.c])):(h[0]=r[n.a].clone(),h[1]=r[n.b].clone(),h[2]=r[n.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var A,e,t;for(this.computeFaceNormals(),A=0,e=this.faces.length;e>A;A++){var i=(t=this.faces[A]).vertexNormals;3===i.length?(i[0].copy(t.normal),i[1].copy(t.normal),i[2].copy(t.normal)):(i[0]=t.normal.clone(),i[1]=t.normal.clone(),i[2]=t.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var A,e,t,i,o;for(t=0,i=this.faces.length;i>t;t++)for((o=this.faces[t]).__originalFaceNormal?o.__originalFaceNormal.copy(o.normal):o.__originalFaceNormal=o.normal.clone(),o.__originalVertexNormals||(o.__originalVertexNormals=[]),A=0,e=o.vertexNormals.length;e>A;A++)o.__originalVertexNormals[A]?o.__originalVertexNormals[A].copy(o.vertexNormals[A]):o.__originalVertexNormals[A]=o.vertexNormals[A].clone();var n=new De;for(n.faces=this.faces,A=0,e=this.morphTargets.length;e>A;A++){if(!this.morphNormals[A]){this.morphNormals[A]={},this.morphNormals[A].faceNormals=[],this.morphNormals[A].vertexNormals=[];var r=this.morphNormals[A].faceNormals,a=this.morphNormals[A].vertexNormals;for(t=0,i=this.faces.length;i>t;t++)s=new y,l={a:new y,b:new y,c:new y},r.push(s),a.push(l)}var s,l,c=this.morphNormals[A];for(n.vertices=this.morphTargets[A].vertices,n.computeFaceNormals(),n.computeVertexNormals(),t=0,i=this.faces.length;i>t;t++)l=c.vertexNormals[t],(s=c.faceNormals[t]).copy((o=this.faces[t]).normal),l.a.copy(o.vertexNormals[0]),l.b.copy(o.vertexNormals[1]),l.c.copy(o.vertexNormals[2])}for(t=0,i=this.faces.length;i>t;t++)(o=this.faces[t]).normal=o.__originalFaceNormal,o.vertexNormals=o.__originalVertexNormals},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new aA),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new cA),this.boundingSphere.setFromPoints(this.vertices)},merge:function(A,e,t){if(A&&A.isGeometry){var i,o=this.vertices.length,n=this.vertices,r=A.vertices,a=this.faces,s=A.faces,c=this.colors,h=A.colors;void 0===t&&(t=0),void 0!==e&&(i=(new l).getNormalMatrix(e));for(var d=0,p=r.length;p>d;d++){var g=r[d].clone();void 0!==e&&g.applyMatrix4(e),n.push(g)}for(d=0,p=h.length;p>d;d++)c.push(h[d].clone());for(d=0,p=s.length;p>d;d++){var u,f,m=s[d],C=m.vertexNormals,y=m.vertexColors;(u=new GA(m.a+o,m.b+o,m.c+o)).normal.copy(m.normal),void 0!==i&&u.normal.applyMatrix3(i).normalize();for(var v=0,I=C.length;I>v;v++)f=C[v].clone(),void 0!==i&&f.applyMatrix3(i).normalize(),u.vertexNormals.push(f);u.color.copy(m.color);for(v=0,I=y.length;I>v;v++)u.vertexColors.push(y[v].clone());u.materialIndex=m.materialIndex+t,a.push(u)}for(d=0,p=A.faceVertexUvs.length;p>d;d++){var E=A.faceVertexUvs[d];void 0===this.faceVertexUvs[d]&&(this.faceVertexUvs[d]=[]);for(v=0,I=E.length;I>v;v++){for(var B=E[v],x=[],S=0,w=B.length;w>S;S++)x.push(B[S].clone());this.faceVertexUvs[d].push(x)}}}else console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",A)},mergeMesh:function(A){A&&A.isMesh?(A.matrixAutoUpdate&&A.updateMatrix(),this.merge(A.geometry,A.matrix)):console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",A)},mergeVertices:function(){var A,e,t,i,o,n,r,a,s={},l=[],c=[],h=Math.pow(10,4);for(t=0,i=this.vertices.length;i>t;t++)A=this.vertices[t],void 0===s[e=Math.round(A.x*h)+"_"+Math.round(A.y*h)+"_"+Math.round(A.z*h)]?(s[e]=t,l.push(this.vertices[t]),c[t]=l.length-1):c[t]=c[s[e]];var d=[];for(t=0,i=this.faces.length;i>t;t++){(o=this.faces[t]).a=c[o.a],o.b=c[o.b],o.c=c[o.c],n=[o.a,o.b,o.c];for(var p=0;3>p;p++)if(n[p]===n[(p+1)%3]){d.push(t);break}}for(t=d.length-1;t>=0;t--){var g=d[t];for(this.faces.splice(g,1),r=0,a=this.faceVertexUvs.length;a>r;r++)this.faceVertexUvs[r].splice(g,1)}var u=this.vertices.length-l.length;return this.vertices=l,u},setFromPoints:function(A){this.vertices=[];for(var e=0,t=A.length;t>e;e++){var i=A[e];this.vertices.push(new y(i.x,i.y,i.z||0))}return this},sortFacesByMaterialIndex:function(){for(var A=this.faces,e=A.length,t=0;e>t;t++)A[t]._id=t;A.sort((function(A,e){return A.materialIndex-e.materialIndex}));var i,o,n=this.faceVertexUvs[0],r=this.faceVertexUvs[1];n&&n.length===e&&(i=[]),r&&r.length===e&&(o=[]);for(t=0;e>t;t++){var a=A[t]._id;i&&i.push(n[a]),o&&o.push(r[a])}i&&(this.faceVertexUvs[0]=i),o&&(this.faceVertexUvs[1]=o)},toJSON:function(){var A={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(A.uuid=this.uuid,A.type=this.type,""!==this.name&&(A.name=this.name),void 0!==this.parameters){var e=this.parameters;for(var t in e)void 0!==e[t]&&(A[t]=e[t]);return A}for(var i=[],o=0;this.vertices.length>o;o++){var n=this.vertices[o];i.push(n.x,n.y,n.z)}var r=[],a=[],s={},l=[],c={},h=[],d={};for(o=0;this.faces.length>o;o++){var p=this.faces[o],g=void 0!==this.faceVertexUvs[0][o],u=p.normal.length()>0,f=p.vertexNormals.length>0,m=1!==p.color.r||1!==p.color.g||1!==p.color.b,C=p.vertexColors.length>0,y=0;if(y=B(y,0,0),y=B(y,1,!0),y=B(y,2,!1),y=B(y,3,g),y=B(y,4,u),y=B(y,5,f),y=B(y,6,m),y=B(y,7,C),r.push(y),r.push(p.a,p.b,p.c),r.push(p.materialIndex),g){var v=this.faceVertexUvs[0][o];r.push(w(v[0]),w(v[1]),w(v[2]))}if(u&&r.push(x(p.normal)),f){var I=p.vertexNormals;r.push(x(I[0]),x(I[1]),x(I[2]))}if(m&&r.push(S(p.color)),C){var E=p.vertexColors;r.push(S(E[0]),S(E[1]),S(E[2]))}}function B(A,e,t){return t?A|1<<e:A&~(1<<e)}function x(A){var e=A.x.toString()+A.y.toString()+A.z.toString();return void 0!==s[e]||(s[e]=a.length/3,a.push(A.x,A.y,A.z)),s[e]}function S(A){var e=A.r.toString()+A.g.toString()+A.b.toString();return void 0!==c[e]||(c[e]=l.length,l.push(A.getHex())),c[e]}function w(A){var e=A.x.toString()+A.y.toString();return void 0!==d[e]||(d[e]=h.length/2,h.push(A.x,A.y)),d[e]}return A.data={},A.data.vertices=i,A.data.normals=a,l.length>0&&(A.data.colors=l),h.length>0&&(A.data.uvs=[h]),A.data.faces=r,A},clone:function(){return(new De).copy(this)},copy:function(A){var e,t,i,o,n,r;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=A.name;var a=A.vertices;for(e=0,t=a.length;t>e;e++)this.vertices.push(a[e].clone());var s=A.colors;for(e=0,t=s.length;t>e;e++)this.colors.push(s[e].clone());var l=A.faces;for(e=0,t=l.length;t>e;e++)this.faces.push(l[e].clone());for(e=0,t=A.faceVertexUvs.length;t>e;e++){var c=A.faceVertexUvs[e];for(void 0===this.faceVertexUvs[e]&&(this.faceVertexUvs[e]=[]),i=0,o=c.length;o>i;i++){var h=c[i],d=[];for(n=0,r=h.length;r>n;n++){d.push(h[n].clone())}this.faceVertexUvs[e].push(d)}}var p=A.morphTargets;for(e=0,t=p.length;t>e;e++){var g={};if(g.name=p[e].name,void 0!==p[e].vertices)for(g.vertices=[],i=0,o=p[e].vertices.length;o>i;i++)g.vertices.push(p[e].vertices[i].clone());if(void 0!==p[e].normals)for(g.normals=[],i=0,o=p[e].normals.length;o>i;i++)g.normals.push(p[e].normals[i].clone());this.morphTargets.push(g)}var u=A.morphNormals;for(e=0,t=u.length;t>e;e++){var f={};if(void 0!==u[e].vertexNormals)for(f.vertexNormals=[],i=0,o=u[e].vertexNormals.length;o>i;i++){var m=u[e].vertexNormals[i],C={};C.a=m.a.clone(),C.b=m.b.clone(),C.c=m.c.clone(),f.vertexNormals.push(C)}if(void 0!==u[e].faceNormals)for(f.faceNormals=[],i=0,o=u[e].faceNormals.length;o>i;i++)f.faceNormals.push(u[e].faceNormals[i].clone());this.morphNormals.push(f)}var y=A.skinWeights;for(e=0,t=y.length;t>e;e++)this.skinWeights.push(y[e].clone());var v=A.skinIndices;for(e=0,t=v.length;t>e;e++)this.skinIndices.push(v[e].clone());var I=A.lineDistances;for(e=0,t=I.length;t>e;e++)this.lineDistances.push(I[e]);var E=A.boundingBox;null!==E&&(this.boundingBox=E.clone());var B=A.boundingSphere;return null!==B&&(this.boundingSphere=B.clone()),this.elementsNeedUpdate=A.elementsNeedUpdate,this.verticesNeedUpdate=A.verticesNeedUpdate,this.uvsNeedUpdate=A.uvsNeedUpdate,this.normalsNeedUpdate=A.normalsNeedUpdate,this.colorsNeedUpdate=A.colorsNeedUpdate,this.lineDistancesNeedUpdate=A.lineDistancesNeedUpdate,this.groupsNeedUpdate=A.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}});class Le extends De{constructor(A,e,t,i,o,n){super(),this.type="BoxGeometry",this.parameters={width:A,height:e,depth:t,widthSegments:i,heightSegments:o,depthSegments:n},this.fromBufferGeometry(new Ne(A,e,t,i,o,n)),this.mergeVertices()}}class Ne extends he{constructor(A,e,t,i,o,n){super(),this.type="BoxBufferGeometry",this.parameters={width:A,height:e,depth:t,widthSegments:i,heightSegments:o,depthSegments:n};var r=this;A=A||1,e=e||1,t=t||1,i=Math.floor(i)||1,o=Math.floor(o)||1,n=Math.floor(n)||1;var a=[],s=[],l=[],c=[],h=0,d=0;function p(A,e,t,i,o,n,p,g,u,f,m){var C,v,I=n/u,E=p/f,B=n/2,x=p/2,S=g/2,w=u+1,M=f+1,b=0,U=0,F=new y;for(v=0;M>v;v++){var K=v*E-x;for(C=0;w>C;C++){F[A]=(C*I-B)*i,F[e]=K*o,F[t]=S,s.push(F.x,F.y,F.z),F[A]=0,F[e]=0,F[t]=g>0?1:-1,l.push(F.x,F.y,F.z),c.push(C/u),c.push(1-v/f),b+=1}}for(v=0;f>v;v++)for(C=0;u>C;C++){var Q=h+C+w*(v+1),R=h+(C+1)+w*(v+1),T=h+(C+1)+w*v;a.push(h+C+w*v,Q,T),a.push(Q,R,T),U+=6}r.addGroup(d,U,m),d+=U,h+=b}p("z","y","x",-1,-1,t,e,A,n,o,0),p("z","y","x",1,-1,t,e,-A,n,o,1),p("x","z","y",1,1,A,t,e,i,n,2),p("x","z","y",1,-1,A,t,-e,i,n,3),p("x","y","z",1,-1,A,e,t,i,o,4),p("x","y","z",-1,-1,A,e,-t,i,o,5),this.setIndex(a),this.setAttribute("position",new Ae(s,3)),this.setAttribute("normal",new Ae(l,3)),this.setAttribute("uv",new Ae(c,2))}}function Oe(A){var e={};for(var t in A)for(var i in e[t]={},A[t]){var o=A[t][i];e[t][i]=o&&(o.isColor||o.isMatrix3||o.isMatrix4||o.isVector2||o.isVector3||o.isVector4||o.isTexture)?o.clone():Array.isArray(o)?o.slice():o}return e}function Ve(A){for(var e={},t=0;A.length>t;t++){var i=Oe(A[t]);for(var o in i)e[o]=i[o]}return e}var Ge={clone:Oe,merge:Ve};function Pe(A){qA.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,this.uniformsNeedUpdate=!1,void 0!==A&&(void 0!==A.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(A))}function qe(){H.call(this),this.type="Camera",this.matrixWorldInverse=new M,this.projectionMatrix=new M,this.projectionMatrixInverse=new M}function je(A,e,t,i){qe.call(this),this.type="PerspectiveCamera",this.fov=void 0!==A?A:50,this.zoom=1,this.near=void 0!==t?t:.1,this.far=void 0!==i?i:2e3,this.focus=10,this.aspect=void 0!==e?e:1,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}(Pe.prototype=Object.create(qA.prototype)).constructor=Pe,Pe.prototype.isShaderMaterial=!0,Pe.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.fragmentShader=A.fragmentShader,this.vertexShader=A.vertexShader,this.uniforms=Oe(A.uniforms),this.defines=Object.assign({},A.defines),this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.lights=A.lights,this.clipping=A.clipping,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.morphNormals=A.morphNormals,this.extensions=A.extensions,this},Pe.prototype.toJSON=function(A){var e=qA.prototype.toJSON.call(this,A);for(var t in e.uniforms={},this.uniforms){var i=this.uniforms[t].value;e.uniforms[t]=i&&i.isTexture?{type:"t",value:i.toJSON(A).uuid}:i&&i.isColor?{type:"c",value:i.getHex()}:i&&i.isVector2?{type:"v2",value:i.toArray()}:i&&i.isVector3?{type:"v3",value:i.toArray()}:i&&i.isVector4?{type:"v4",value:i.toArray()}:i&&i.isMatrix3?{type:"m3",value:i.toArray()}:i&&i.isMatrix4?{type:"m4",value:i.toArray()}:{value:i}}Object.keys(this.defines).length>0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;var o={};for(var n in this.extensions)!0===this.extensions[n]&&(o[n]=!0);return Object.keys(o).length>0&&(e.extensions=o),e},qe.prototype=Object.assign(Object.create(H.prototype),{constructor:qe,isCamera:!0,copy:function(A,e){return H.prototype.copy.call(this,A,e),this.matrixWorldInverse.copy(A.matrixWorldInverse),this.projectionMatrix.copy(A.projectionMatrix),this.projectionMatrixInverse.copy(A.projectionMatrixInverse),this},getWorldDirection:function(A){void 0===A&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),A=new y),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return A.set(-e[8],-e[9],-e[10]).normalize()},updateMatrixWorld:function(A){H.prototype.updateMatrixWorld.call(this,A),this.matrixWorldInverse.getInverse(this.matrixWorld)},updateWorldMatrix:function(A,e){H.prototype.updateWorldMatrix.call(this,A,e),this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return(new this.constructor).copy(this)}}),je.prototype=Object.assign(Object.create(qe.prototype),{constructor:je,isPerspectiveCamera:!0,copy:function(A,e){return qe.prototype.copy.call(this,A,e),this.fov=A.fov,this.zoom=A.zoom,this.near=A.near,this.far=A.far,this.focus=A.focus,this.aspect=A.aspect,this.view=null===A.view?null:Object.assign({},A.view),this.filmGauge=A.filmGauge,this.filmOffset=A.filmOffset,this},setFocalLength:function(A){var e=.5*this.getFilmHeight()/A;this.fov=2*a.RAD2DEG*Math.atan(e),this.updateProjectionMatrix()},getFocalLength:function(){var A=Math.tan(.5*a.DEG2RAD*this.fov);return.5*this.getFilmHeight()/A},getEffectiveFOV:function(){return 2*a.RAD2DEG*Math.atan(Math.tan(.5*a.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(A,e,t,i,o,n){this.aspect=A/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=e,this.view.offsetX=t,this.view.offsetY=i,this.view.width=o,this.view.height=n,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var A=this.near,e=A*Math.tan(.5*a.DEG2RAD*this.fov)/this.zoom,t=2*e,i=this.aspect*t,o=-.5*i,n=this.view;if(null!==this.view&&this.view.enabled){var r=n.fullWidth,s=n.fullHeight;o+=n.offsetX*i/r,e-=n.offsetY*t/s,i*=n.width/r,t*=n.height/s}var l=this.filmOffset;0!==l&&(o+=A*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(o,o+i,e,e-t,A,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(A){var e=H.prototype.toJSON.call(this,A);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}});function He(A,e,t,i){H.call(this),this.type="CubeCamera";var o=new je(90,1,A,e);o.up.set(0,-1,0),o.lookAt(new y(1,0,0)),this.add(o);var n=new je(90,1,A,e);n.up.set(0,-1,0),n.lookAt(new y(-1,0,0)),this.add(n);var r=new je(90,1,A,e);r.up.set(0,0,1),r.lookAt(new y(0,1,0)),this.add(r);var a=new je(90,1,A,e);a.up.set(0,0,-1),a.lookAt(new y(0,-1,0)),this.add(a);var s=new je(90,1,A,e);s.up.set(0,-1,0),s.lookAt(new y(0,0,1)),this.add(s);var l=new je(90,1,A,e);l.up.set(0,-1,0),l.lookAt(new y(0,0,-1)),this.add(l),this.renderTarget=new Ye(t,i=i||{format:1022,magFilter:1006,minFilter:1006}),this.renderTarget.texture.name="CubeCamera",this.update=function(A,e){null===this.parent&&this.updateMatrixWorld();var t=A.getRenderTarget(),i=this.renderTarget,c=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,A.setRenderTarget(i,0),A.render(e,o),A.setRenderTarget(i,1),A.render(e,n),A.setRenderTarget(i,2),A.render(e,r),A.setRenderTarget(i,3),A.render(e,a),A.setRenderTarget(i,4),A.render(e,s),i.texture.generateMipmaps=c,A.setRenderTarget(i,5),A.render(e,l),A.setRenderTarget(t)},this.clear=function(A,e,t,i){for(var o=A.getRenderTarget(),n=this.renderTarget,r=0;6>r;r++)A.setRenderTarget(n,r),A.clear(e,t,i);A.setRenderTarget(o)}}function Ye(A,e,t){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=t),g.call(this,A,A,e)}function We(A,e,t,i,o,n,r,a,s,l,c,h){d.call(this,null,n,r,a,s,l,i,o,c,h),this.image={data:A||null,width:e||1,height:t||1},this.magFilter=void 0!==s?s:1003,this.minFilter=void 0!==l?l:1003,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}(He.prototype=Object.create(H.prototype)).constructor=He,(Ye.prototype=Object.create(g.prototype)).constructor=Ye,Ye.prototype.isWebGLCubeRenderTarget=!0,Ye.prototype.fromEquirectangularTexture=function(A,e){this.texture.type=e.type,this.texture.format=e.format,this.texture.encoding=e.encoding;var t=new Y,i={uniforms:{tEquirect:{value:null}},vertexShader:["varying vec3 vWorldDirection;","vec3 transformDirection( in vec3 dir, in mat4 matrix ) {","\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );","}","void main() {","\tvWorldDirection = transformDirection( position, modelMatrix );","\t#include <begin_vertex>","\t#include <project_vertex>","}"].join("\n"),fragmentShader:["uniform sampler2D tEquirect;","varying vec3 vWorldDirection;","#define RECIPROCAL_PI 0.31830988618","#define RECIPROCAL_PI2 0.15915494","void main() {","\tvec3 direction = normalize( vWorldDirection );","\tvec2 sampleUV;","\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;","\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;","\tgl_FragColor = texture2D( tEquirect, sampleUV );","}"].join("\n")},o=new Pe({type:"CubemapFromEquirect",uniforms:Oe(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:1,blending:0});o.uniforms.tEquirect.value=e;var n=new Ue(new Ne(5,5,5),o);t.add(n);var r=new He(1,10,1);return r.renderTarget=this,r.renderTarget.texture.name="CubeCameraTexture",r.update(A,t),n.geometry.dispose(),n.material.dispose(),this},(We.prototype=Object.create(d.prototype)).constructor=We,We.prototype.isDataTexture=!0;var Je=new cA,ze=new y;function Ze(A,e,t,i,o,n){this.planes=[void 0!==A?A:new EA,void 0!==e?e:new EA,void 0!==t?t:new EA,void 0!==i?i:new EA,void 0!==o?o:new EA,void 0!==n?n:new EA]}Object.assign(Ze.prototype,{set:function(A,e,t,i,o,n){var r=this.planes;return r[0].copy(A),r[1].copy(e),r[2].copy(t),r[3].copy(i),r[4].copy(o),r[5].copy(n),this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){for(var e=this.planes,t=0;6>t;t++)e[t].copy(A.planes[t]);return this},setFromProjectionMatrix:function(A){var e=this.planes,t=A.elements,i=t[0],o=t[1],n=t[2],r=t[3],a=t[4],s=t[5],l=t[6],c=t[7],h=t[8],d=t[9],p=t[10],g=t[11],u=t[12],f=t[13],m=t[14],C=t[15];return e[0].setComponents(r-i,c-a,g-h,C-u).normalize(),e[1].setComponents(r+i,c+a,g+h,C+u).normalize(),e[2].setComponents(r+o,c+s,g+d,C+f).normalize(),e[3].setComponents(r-o,c-s,g-d,C-f).normalize(),e[4].setComponents(r-n,c-l,g-p,C-m).normalize(),e[5].setComponents(r+n,c+l,g+p,C+m).normalize(),this},intersectsObject:function(A){var e=A.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),Je.copy(e.boundingSphere).applyMatrix4(A.matrixWorld),this.intersectsSphere(Je)},intersectsSprite:function(A){return Je.center.set(0,0,0),Je.radius=.7071067811865476,Je.applyMatrix4(A.matrixWorld),this.intersectsSphere(Je)},intersectsSphere:function(A){for(var e=this.planes,t=A.center,i=-A.radius,o=0;6>o;o++){if(i>e[o].distanceToPoint(t))return!1}return!0},intersectsBox:function(A){for(var e=this.planes,t=0;6>t;t++){var i=e[t];if(ze.x=i.normal.x>0?A.max.x:A.min.x,ze.y=i.normal.y>0?A.max.y:A.min.y,ze.z=i.normal.z>0?A.max.z:A.min.z,0>i.distanceToPoint(ze))return!1}return!0},containsPoint:function(A){for(var e=this.planes,t=0;6>t;t++)if(0>e[t].distanceToPoint(A))return!1;return!0}});var Xe={common:{diffuse:{value:new LA(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new l},uv2Transform:{value:new l},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new s(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 LA(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{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 LA(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new l}},sprite:{diffuse:{value:new LA(15658734)},opacity:{value:1},center:{value:new s(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new l}}};function _e(){var A=null,e=!1,t=null;function i(o,n){!1!==e&&(t(o,n),A.requestAnimationFrame(i))}return{start:function(){!0!==e&&null!==t&&(A.requestAnimationFrame(i),e=!0)},stop:function(){e=!1},setAnimationLoop:function(A){t=A},setContext:function(e){A=e}}}function $e(A,e){var t=e.isWebGL2,i=new WeakMap;return{get:function(A){return A.isInterleavedBufferAttribute&&(A=A.data),i.get(A)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);var t=i.get(e);t&&(A.deleteBuffer(t.buffer),i.delete(e))},update:function(e,o){e.isInterleavedBufferAttribute&&(e=e.data);var n=i.get(e);void 0===n?i.set(e,function(e,t){var i=e.array,o=e.usage,n=A.createBuffer();A.bindBuffer(t,n),A.bufferData(t,i,o),e.onUploadCallback();var r=5126;return i instanceof Float32Array?r=5126:i instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):i instanceof Uint16Array?r=5123:i instanceof Int16Array?r=5122:i instanceof Uint32Array?r=5125:i instanceof Int32Array?r=5124:i instanceof Int8Array?r=5120:i instanceof Uint8Array&&(r=5121),{buffer:n,type:r,bytesPerElement:i.BYTES_PER_ELEMENT,version:e.version}}(e,o)):e.version>n.version&&(!function(e,i,o){var n=i.array,r=i.updateRange;A.bindBuffer(o,e),-1===r.count?A.bufferSubData(o,0,n):(t?A.bufferSubData(o,r.offset*n.BYTES_PER_ELEMENT,n,r.offset,r.count):A.bufferSubData(o,r.offset*n.BYTES_PER_ELEMENT,n.subarray(r.offset,r.offset+r.count)),r.count=-1)}(n.buffer,e,o),n.version=e.version)}}}function At(A,e,t,i){De.call(this),this.type="PlaneGeometry",this.parameters={width:A,height:e,widthSegments:t,heightSegments:i},this.fromBufferGeometry(new et(A,e,t,i)),this.mergeVertices()}function et(A,e,t,i){he.call(this),this.type="PlaneBufferGeometry",this.parameters={width:A,height:e,widthSegments:t,heightSegments:i};var o,n,r=(A=A||1)/2,a=(e=e||1)/2,s=Math.floor(t)||1,l=Math.floor(i)||1,c=s+1,h=l+1,d=A/s,p=e/l,g=[],u=[],f=[],m=[];for(n=0;h>n;n++){var C=n*p-a;for(o=0;c>o;o++){u.push(o*d-r,-C,0),f.push(0,0,1),m.push(o/s),m.push(1-n/l)}}for(n=0;l>n;n++)for(o=0;s>o;o++){var y=o+c*(n+1),v=o+1+c*(n+1),I=o+1+c*n;g.push(o+c*n,y,I),g.push(y,v,I)}this.setIndex(g),this.setAttribute("position",new Ae(u,3)),this.setAttribute("normal",new Ae(f,3)),this.setAttribute("uv",new Ae(m,2))}(At.prototype=Object.create(De.prototype)).constructor=At,(et.prototype=Object.create(he.prototype)).constructor=et;var tt={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif",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( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\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\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\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}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\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 vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( 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 dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\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.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - 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 * transposeMat3( 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\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\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#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif",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\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\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",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",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#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(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}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\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#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\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 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n return m[ 2 ][ 3 ] == - 1.0;\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_maxMipLevel 8.0\n#define cubeUV_minMipLevel 4.0\n#define cubeUV_maxTileSize 256.0\n#define cubeUV_minTileSize 16.0\nfloat getFace(vec3 direction) {\n vec3 absDirection = abs(direction);\n float face = -1.0;\n if (absDirection.x > absDirection.z) {\n if (absDirection.x > absDirection.y)\n face = direction.x > 0.0 ? 0.0 : 3.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n } else {\n if (absDirection.z > absDirection.y)\n face = direction.z > 0.0 ? 2.0 : 5.0;\n else\n face = direction.y > 0.0 ? 1.0 : 4.0;\n }\n return face;\n}\nvec2 getUV(vec3 direction, float face) {\n vec2 uv;\n if (face == 0.0) {\n uv = vec2(-direction.z, direction.y) / abs(direction.x);\n } else if (face == 1.0) {\n uv = vec2(direction.x, -direction.z) / abs(direction.y);\n } else if (face == 2.0) {\n uv = direction.xy / abs(direction.z);\n } else if (face == 3.0) {\n uv = vec2(direction.z, direction.y) / abs(direction.x);\n } else if (face == 4.0) {\n uv = direction.xz / abs(direction.y);\n } else {\n uv = vec2(-direction.x, direction.y) / abs(direction.z);\n }\n return 0.5 * (uv + 1.0);\n}\nvec3 bilinearCubeUV(sampler2D envMap, vec3 direction, float mipInt) {\n float face = getFace(direction);\n float filterInt = max(cubeUV_minMipLevel - mipInt, 0.0);\n mipInt = max(mipInt, cubeUV_minMipLevel);\n float faceSize = exp2(mipInt);\n float texelSize = 1.0 / (3.0 * cubeUV_maxTileSize);\n vec2 uv = getUV(direction, face) * (faceSize - 1.0);\n vec2 f = fract(uv);\n uv += 0.5 - f;\n if (face > 2.0) {\n uv.y += faceSize;\n face -= 3.0;\n }\n uv.x += face * faceSize;\n if(mipInt < cubeUV_maxMipLevel){\n uv.y += 2.0 * cubeUV_maxTileSize;\n }\n uv.y += filterInt * 2.0 * cubeUV_minTileSize;\n uv.x += 3.0 * max(0.0, cubeUV_maxTileSize - 2.0 * faceSize);\n uv *= texelSize;\n vec3 tl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n uv.x += texelSize;\n vec3 tr = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n uv.y += texelSize;\n vec3 br = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n uv.x -= texelSize;\n vec3 bl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n vec3 tm = mix(tl, tr, f.x);\n vec3 bm = mix(bl, br, f.x);\n return mix(tm, bm, f.y);\n}\n#define r0 1.0\n#define v0 0.339\n#define m0 -2.0\n#define r1 0.8\n#define v1 0.276\n#define m1 -1.0\n#define r4 0.4\n#define v4 0.046\n#define m4 2.0\n#define r5 0.305\n#define v5 0.016\n#define m5 3.0\n#define r6 0.21\n#define v6 0.0038\n#define m6 4.0\nfloat roughnessToMip(float roughness) {\n float mip = 0.0;\n if (roughness >= r1) {\n mip = (r0 - roughness) * (m1 - m0) / (r0 - r1) + m0;\n } else if (roughness >= r4) {\n mip = (r1 - roughness) * (m4 - m1) / (r1 - r4) + m1;\n } else if (roughness >= r5) {\n mip = (r4 - roughness) * (m5 - m4) / (r4 - r5) + m4;\n } else if (roughness >= r6) {\n mip = (r5 - roughness) * (m6 - m5) / (r5 - r6) + m5;\n } else {\n mip = -2.0 * log2(1.16 * roughness); }\n return mip;\n}\nvec4 textureCubeUV(sampler2D envMap, vec3 sampleDir, float roughness) {\n float mip = clamp(roughnessToMip(roughness), m0, cubeUV_maxMipLevel);\n float mipF = fract(mip);\n float mipInt = floor(mip);\n vec3 color0 = bilinearCubeUV(envMap, sampleDir, mipInt);\n if (mipF == 0.0) {\n return vec4(color0, 1.0);\n } else {\n vec3 color1 = bilinearCubeUV(envMap, sampleDir, mipInt + 1.0);\n return vec4(mix(color0, color1, mipF), 1.0);\n }\n}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",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.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\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.a );\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.a );\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.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, 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.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.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 = cLogLuvM * value.rgb;\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 = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\t\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, 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_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\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\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\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",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\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\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 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 roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t vec3 reflectVec = reflect( -viewDir, normal );\n\t\t reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t vec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, 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\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\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",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) { \n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\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",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\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",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",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif",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 = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\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\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\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\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\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\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\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};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\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};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\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};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\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 ltc_1;\tuniform sampler2D ltc_2;\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",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\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_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",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\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\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)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#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\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), 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#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\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 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\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\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}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\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\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * 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 defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\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 *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"#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\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN ) {\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\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\tvec3 N = normalize( surf_norm );\n\t\tmat3 tsn = mat3( S, T, N );\n\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\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}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\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}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef 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",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\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\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\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( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), 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( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), 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 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\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 ) || defined( SHADOWMAP_TYPE_VSM )\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",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\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 highp 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",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",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\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",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\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\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}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );\n}",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).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\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"#include <envmap_common_pars_fragment>\nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\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>\nvarying vec2 vHighPrecisionZW;\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\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\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>\nvarying vec2 vHighPrecisionZW;\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\tvHighPrecisionZW = gl_Position.zw;\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}",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}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\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\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\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 <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\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\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\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_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_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\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * 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 <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\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}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\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_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\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#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\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}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\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_begin>\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}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\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 <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_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 <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\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}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_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 <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#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\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\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshtoon_frag:"#define TOON\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 <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_toon_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_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\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}",meshtoon_vert:"#define TOON\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}",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_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\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_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\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}",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}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n\t#define TRANSPARENCY\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef TRANSPARENCY\n\tuniform float transparency;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\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 <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_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_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#ifdef TRANSPARENCY\n\t\tdiffuseColor.a *= saturate( 1. - transparency + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) );\n\t#endif\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}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\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\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\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}",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\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>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\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 <logdepthbuf_pars_vertex>\n#include <clipping_planes_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\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\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#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_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\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 <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_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 <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",shadow_vert:"#include <fog_pars_vertex>\n#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\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_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\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}"},it={basic:{uniforms:Ve([Xe.common,Xe.specularmap,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.fog]),vertexShader:tt.meshbasic_vert,fragmentShader:tt.meshbasic_frag},lambert:{uniforms:Ve([Xe.common,Xe.specularmap,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.fog,Xe.lights,{emissive:{value:new LA(0)}}]),vertexShader:tt.meshlambert_vert,fragmentShader:tt.meshlambert_frag},phong:{uniforms:Ve([Xe.common,Xe.specularmap,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.fog,Xe.lights,{emissive:{value:new LA(0)},specular:{value:new LA(1118481)},shininess:{value:30}}]),vertexShader:tt.meshphong_vert,fragmentShader:tt.meshphong_frag},standard:{uniforms:Ve([Xe.common,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.roughnessmap,Xe.metalnessmap,Xe.fog,Xe.lights,{emissive:{value:new LA(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:tt.meshphysical_vert,fragmentShader:tt.meshphysical_frag},toon:{uniforms:Ve([Xe.common,Xe.specularmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.gradientmap,Xe.fog,Xe.lights,{emissive:{value:new LA(0)},specular:{value:new LA(1118481)},shininess:{value:30}}]),vertexShader:tt.meshtoon_vert,fragmentShader:tt.meshtoon_frag},matcap:{uniforms:Ve([Xe.common,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.fog,{matcap:{value:null}}]),vertexShader:tt.meshmatcap_vert,fragmentShader:tt.meshmatcap_frag},points:{uniforms:Ve([Xe.points,Xe.fog]),vertexShader:tt.points_vert,fragmentShader:tt.points_frag},dashed:{uniforms:Ve([Xe.common,Xe.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:tt.linedashed_vert,fragmentShader:tt.linedashed_frag},depth:{uniforms:Ve([Xe.common,Xe.displacementmap]),vertexShader:tt.depth_vert,fragmentShader:tt.depth_frag},normal:{uniforms:Ve([Xe.common,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,{opacity:{value:1}}]),vertexShader:tt.normal_vert,fragmentShader:tt.normal_frag},sprite:{uniforms:Ve([Xe.sprite,Xe.fog]),vertexShader:tt.sprite_vert,fragmentShader:tt.sprite_frag},background:{uniforms:{uvTransform:{value:new l},t2D:{value:null}},vertexShader:tt.background_vert,fragmentShader:tt.background_frag},cube:{uniforms:Ve([Xe.envmap,{opacity:{value:1}}]),vertexShader:tt.cube_vert,fragmentShader:tt.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:tt.equirect_vert,fragmentShader:tt.equirect_frag},distanceRGBA:{uniforms:Ve([Xe.common,Xe.displacementmap,{referencePosition:{value:new y},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:tt.distanceRGBA_vert,fragmentShader:tt.distanceRGBA_frag},shadow:{uniforms:Ve([Xe.lights,Xe.fog,{color:{value:new LA(0)},opacity:{value:1}}]),vertexShader:tt.shadow_vert,fragmentShader:tt.shadow_frag}};function ot(A,e,t,i){var o,n,r=new LA(0),a=0,s=null,l=0,c=null;function h(A,t){e.buffers.color.setClear(A.r,A.g,A.b,t,i)}return{getClearColor:function(){return r},setClearColor:function(A,e){r.set(A),h(r,a=void 0!==e?e:1)},getClearAlpha:function(){return a},setClearAlpha:function(A){h(r,a=A)},render:function(e,i,d,p){var g=i.background,u=A.xr,f=u.getSession&&u.getSession();if(f&&"additive"===f.environmentBlendMode&&(g=null),null===g?h(r,a):g&&g.isColor&&(h(g,1),p=!0),(A.autoClear||p)&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),g&&(g.isCubeTexture||g.isWebGLCubeRenderTarget||306===g.mapping)){void 0===n&&((n=new Ue(new Ne(1,1,1),new Pe({type:"BackgroundCubeMaterial",uniforms:Oe(it.cube.uniforms),vertexShader:it.cube.vertexShader,fragmentShader:it.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1}))).geometry.deleteAttribute("normal"),n.geometry.deleteAttribute("uv"),n.onBeforeRender=function(A,e,t){this.matrixWorld.copyPosition(t.matrixWorld)},Object.defineProperty(n.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),t.update(n));var m=g.isWebGLCubeRenderTarget?g.texture:g;n.material.uniforms.envMap.value=m,n.material.uniforms.flipEnvMap.value=m.isCubeTexture?-1:1,s===g&&l===m.version&&c===A.toneMapping||(n.material.needsUpdate=!0,s=g,l=m.version,c=A.toneMapping),e.unshift(n,n.geometry,n.material,0,0,null)}else g&&g.isTexture&&(void 0===o&&((o=new Ue(new et(2,2),new Pe({type:"BackgroundMaterial",uniforms:Oe(it.background.uniforms),vertexShader:it.background.vertexShader,fragmentShader:it.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1}))).geometry.deleteAttribute("normal"),Object.defineProperty(o.material,"map",{get:function(){return this.uniforms.t2D.value}}),t.update(o)),o.material.uniforms.t2D.value=g,!0===g.matrixAutoUpdate&&g.updateMatrix(),o.material.uniforms.uvTransform.value.copy(g.matrix),s===g&&l===g.version&&c===A.toneMapping||(o.material.needsUpdate=!0,s=g,l=g.version,c=A.toneMapping),e.unshift(o,o.geometry,o.material,0,0,null))}}}function nt(A,e,t,i){var o,n=i.isWebGL2;this.setMode=function(A){o=A},this.render=function(e,i){A.drawArrays(o,e,i),t.update(i,o)},this.renderInstances=function(i,r,a,s){if(0!==s){var l,c;if(n)l=A,c="drawArraysInstanced";else if(c="drawArraysInstancedANGLE",null===(l=e.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](o,r,a,s),t.update(a,o,s)}}}function rt(A,e,t){var i;function o(e){if("highp"===e){if(A.getShaderPrecisionFormat(35633,36338).precision>0&&A.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&A.getShaderPrecisionFormat(35633,36337).precision>0&&A.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}var n="undefined"!=typeof WebGL2RenderingContext&&A instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&A instanceof WebGL2ComputeRenderingContext,r=void 0!==t.precision?t.precision:"highp",a=o(r);a!==r&&(console.warn("THREE.WebGLRenderer:",r,"not supported, using",a,"instead."),r=a);var s=!0===t.logarithmicDepthBuffer,l=A.getParameter(34930),c=A.getParameter(35660),h=A.getParameter(3379),d=A.getParameter(34076),p=A.getParameter(34921),g=A.getParameter(36347),u=A.getParameter(36348),f=A.getParameter(36349),m=c>0,C=n||!!e.get("OES_texture_float");return{isWebGL2:n,getMaxAnisotropy:function(){if(void 0!==i)return i;var t=e.get("EXT_texture_filter_anisotropic");return i=null!==t?A.getParameter(t.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0},getMaxPrecision:o,precision:r,logarithmicDepthBuffer:s,maxTextures:l,maxVertexTextures:c,maxTextureSize:h,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:g,maxVaryings:u,maxFragmentUniforms:f,vertexTextures:m,floatFragmentTextures:C,floatVertexTextures:m&&C,maxSamples:n?A.getParameter(36183):0}}function at(){var A=this,e=null,t=0,i=!1,o=!1,n=new EA,r=new l,a={value:null,needsUpdate:!1};function s(){a.value!==e&&(a.value=e,a.needsUpdate=t>0),A.numPlanes=t,A.numIntersection=0}function c(e,t,i,o){var s=null!==e?e.length:0,l=null;if(0!==s){if(l=a.value,!0!==o||null===l){var c=i+4*s,h=t.matrixWorldInverse;r.getNormalMatrix(h),(null===l||c>l.length)&&(l=new Float32Array(c));for(var d=0,p=i;d!==s;++d,p+=4)n.copy(e[d]).applyMatrix4(h,r),n.normal.toArray(l,p),l[p+3]=n.constant}a.value=l,a.needsUpdate=!0}return A.numPlanes=s,A.numIntersection=0,l}this.uniform=a,this.numPlanes=0,this.numIntersection=0,this.init=function(A,o,n){var r=0!==A.length||o||0!==t||i;return i=o,e=c(A,n,0),t=A.length,r},this.beginShadows=function(){o=!0,c(null)},this.endShadows=function(){o=!1,s()},this.setState=function(A,n,r,l,h,d){if(!i||null===A||0===A.length||o&&!r)o?c(null):s();else{var p=o?0:t,g=4*p,u=h.clippingState||null;a.value=u,u=c(A,l,g,d);for(var f=0;f!==g;++f)u[f]=e[f];h.clippingState=u,this.numIntersection=n?this.numPlanes:0,this.numPlanes+=p}}}function st(A){var e={};return{get:function(t){if(void 0!==e[t])return e[t];var i;switch(t){case"WEBGL_depth_texture":i=A.getExtension("WEBGL_depth_texture")||A.getExtension("MOZ_WEBGL_depth_texture")||A.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=A.getExtension("EXT_texture_filter_anisotropic")||A.getExtension("MOZ_EXT_texture_filter_anisotropic")||A.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=A.getExtension("WEBGL_compressed_texture_s3tc")||A.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=A.getExtension("WEBGL_compressed_texture_pvrtc")||A.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=A.getExtension(t)}return null===i&&console.warn("THREE.WebGLRenderer: "+t+" extension not supported."),e[t]=i,i}}}function lt(A,e,t){var i=new WeakMap,o=new WeakMap;function n(A){var r=A.target,a=i.get(r);for(var s in null!==a.index&&e.remove(a.index),a.attributes)e.remove(a.attributes[s]);r.removeEventListener("dispose",n),i.delete(r);var l=o.get(a);l&&(e.remove(l),o.delete(a)),t.memory.geometries--}function r(A){var t=[],i=A.index,n=A.attributes.position,r=0;if(null!==i){r=i.version;for(var a=0,s=(l=i.array).length;s>a;a+=3){t.push(c=l[a+0],h=l[a+1],h,d=l[a+2],d,c)}}else{var l;r=n.version;for(a=0,s=(l=n.array).length/3-1;s>a;a+=3){var c,h,d;t.push(c=a+0,h=a+1,h,d=a+2,d,c)}}var p=new(ie(t)>65535?$A:XA)(t,1);p.version=r,e.update(p,34963);var g=o.get(A);g&&e.remove(g),o.set(A,p)}return{get:function(A,e){var o=i.get(e);return o||(e.addEventListener("dispose",n),e.isBufferGeometry?o=e:e.isGeometry&&(void 0===e._bufferGeometry&&(e._bufferGeometry=(new he).setFromObject(A)),o=e._bufferGeometry),i.set(e,o),t.memory.geometries++,o)},update:function(A){var t=A.index,i=A.attributes;for(var o in null!==t&&e.update(t,34963),i)e.update(i[o],34962);var n=A.morphAttributes;for(var o in n)for(var r=n[o],a=0,s=r.length;s>a;a++)e.update(r[a],34962)},getWireframeAttribute:function(A){var e=o.get(A);if(e){var t=A.index;null!==t&&t.version>e.version&&r(A)}else r(A);return o.get(A)}}}function ct(A,e,t,i){var o,n,r,a=i.isWebGL2;this.setMode=function(A){o=A},this.setIndex=function(A){n=A.type,r=A.bytesPerElement},this.render=function(e,i){A.drawElements(o,i,n,e*r),t.update(i,o)},this.renderInstances=function(i,s,l,c){if(0!==c){var h,d;if(a)h=A,d="drawElementsInstanced";else if(d="drawElementsInstancedANGLE",null===(h=e.get("ANGLE_instanced_arrays")))return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[d](o,l,n,s*r,c),t.update(l,o,c)}}}function ht(A){var e={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:e,programs:null,autoReset:!0,reset:function(){e.frame++,e.calls=0,e.triangles=0,e.points=0,e.lines=0},update:function(A,t,i){switch(i=i||1,e.calls++,t){case 4:e.triangles+=i*(A/3);break;case 1:e.lines+=i*(A/2);break;case 3:e.lines+=i*(A-1);break;case 2:e.lines+=i*A;break;case 0:e.points+=i*A;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",t)}}}}function dt(A,e){return Math.abs(e[1])-Math.abs(A[1])}function pt(A){var e={},t=new Float32Array(8);return{update:function(i,o,n,r){var a=i.morphTargetInfluences,s=void 0===a?0:a.length,l=e[o.id];if(void 0===l){l=[];for(var c=0;s>c;c++)l[c]=[c,0];e[o.id]=l}var h=n.morphTargets&&o.morphAttributes.position,d=n.morphNormals&&o.morphAttributes.normal;for(c=0;s>c;c++){0!==(g=l[c])[1]&&(h&&o.deleteAttribute("morphTarget"+c),d&&o.deleteAttribute("morphNormal"+c))}for(c=0;s>c;c++){(g=l[c])[0]=c,g[1]=a[c]}l.sort(dt);var p=0;for(c=0;8>c;c++){var g;if(g=l[c]){var u=g[0],f=g[1];if(f){h&&o.setAttribute("morphTarget"+c,h[u]),d&&o.setAttribute("morphNormal"+c,d[u]),t[c]=f,p+=f;continue}}t[c]=0}var m=o.morphTargetsRelative?1:1-p;r.getUniforms().setValue(A,"morphTargetBaseInfluence",m),r.getUniforms().setValue(A,"morphTargetInfluences",t)}}}function gt(A,e,t,i){var o=new WeakMap;return{update:function(A){var n=i.render.frame,r=A.geometry,a=e.get(A,r);return o.get(a)!==n&&(r.isGeometry&&a.updateFromObject(A),e.update(a),o.set(a,n)),A.isInstancedMesh&&t.update(A.instanceMatrix,34962),a},dispose:function(){o=new WeakMap}}}function ut(A,e,t,i,o,n,r,a,s,l){d.call(this,A=void 0!==A?A:[],e=void 0!==e?e:301,t,i,o,n,r=void 0!==r?r:1022,a,s,l),this.flipY=!1}function ft(A,e,t,i){d.call(this,null),this.image={data:A||null,width:e||1,height:t||1,depth:i||1},this.magFilter=1003,this.minFilter=1003,this.wrapR=1001,this.generateMipmaps=!1,this.flipY=!1,this.needsUpdate=!0}function mt(A,e,t,i){d.call(this,null),this.image={data:A||null,width:e||1,height:t||1,depth:i||1},this.magFilter=1003,this.minFilter=1003,this.wrapR=1001,this.generateMipmaps=!1,this.flipY=!1,this.needsUpdate=!0}it.physical={uniforms:Ve([it.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new s(1,1)},clearcoatNormalMap:{value:null},sheen:{value:new LA(0)},transparency:{value:0}}]),vertexShader:tt.meshphysical_vert,fragmentShader:tt.meshphysical_frag},(ut.prototype=Object.create(d.prototype)).constructor=ut,ut.prototype.isCubeTexture=!0,Object.defineProperty(ut.prototype,"images",{get:function(){return this.image},set:function(A){this.image=A}}),(ft.prototype=Object.create(d.prototype)).constructor=ft,ft.prototype.isDataTexture2DArray=!0,(mt.prototype=Object.create(d.prototype)).constructor=mt,mt.prototype.isDataTexture3D=!0;var Ct=new d,yt=new ft,vt=new mt,It=new ut,Et=[],Bt=[],xt=new Float32Array(16),St=new Float32Array(9),wt=new Float32Array(4);function Mt(A,e,t){var i=A[0];if(0>=i||i>0)return A;var o=e*t,n=Et[o];if(void 0===n&&(n=new Float32Array(o),Et[o]=n),0!==e){i.toArray(n,0);for(var r=1,a=0;r!==e;++r)A[r].toArray(n,a+=t)}return n}function bt(A,e){if(A.length!==e.length)return!1;for(var t=0,i=A.length;i>t;t++)if(A[t]!==e[t])return!1;return!0}function Ut(A,e){for(var t=0,i=e.length;i>t;t++)A[t]=e[t]}function Ft(A,e){var t=Bt[e];void 0===t&&(t=new Int32Array(e),Bt[e]=t);for(var i=0;i!==e;++i)t[i]=A.allocateTextureUnit();return t}function Kt(A,e){var t=this.cache;t[0]!==e&&(A.uniform1f(this.addr,e),t[0]=e)}function Qt(A,e){var t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y||(A.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(bt(t,e))return;A.uniform2fv(this.addr,e),Ut(t,e)}}function Rt(A,e){var t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z||(A.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(void 0!==e.r)t[0]===e.r&&t[1]===e.g&&t[2]===e.b||(A.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(bt(t,e))return;A.uniform3fv(this.addr,e),Ut(t,e)}}function Tt(A,e){var t=this.cache;if(void 0!==e.x)t[0]===e.x&&t[1]===e.y&&t[2]===e.z&&t[3]===e.w||(A.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(bt(t,e))return;A.uniform4fv(this.addr,e),Ut(t,e)}}function kt(A,e){var t=this.cache,i=e.elements;if(void 0===i){if(bt(t,e))return;A.uniformMatrix2fv(this.addr,!1,e),Ut(t,e)}else{if(bt(t,i))return;wt.set(i),A.uniformMatrix2fv(this.addr,!1,wt),Ut(t,i)}}function Dt(A,e){var t=this.cache,i=e.elements;if(void 0===i){if(bt(t,e))return;A.uniformMatrix3fv(this.addr,!1,e),Ut(t,e)}else{if(bt(t,i))return;St.set(i),A.uniformMatrix3fv(this.addr,!1,St),Ut(t,i)}}function Lt(A,e){var t=this.cache,i=e.elements;if(void 0===i){if(bt(t,e))return;A.uniformMatrix4fv(this.addr,!1,e),Ut(t,e)}else{if(bt(t,i))return;xt.set(i),A.uniformMatrix4fv(this.addr,!1,xt),Ut(t,i)}}function Nt(A,e,t){var i=this.cache,o=t.allocateTextureUnit();i[0]!==o&&(A.uniform1i(this.addr,o),i[0]=o),t.safeSetTexture2D(e||Ct,o)}function Ot(A,e,t){var i=this.cache,o=t.allocateTextureUnit();i[0]!==o&&(A.uniform1i(this.addr,o),i[0]=o),t.setTexture2DArray(e||yt,o)}function Vt(A,e,t){var i=this.cache,o=t.allocateTextureUnit();i[0]!==o&&(A.uniform1i(this.addr,o),i[0]=o),t.setTexture3D(e||vt,o)}function Gt(A,e,t){var i=this.cache,o=t.allocateTextureUnit();i[0]!==o&&(A.uniform1i(this.addr,o),i[0]=o),t.safeSetTextureCube(e||It,o)}function Pt(A,e){var t=this.cache;t[0]!==e&&(A.uniform1i(this.addr,e),t[0]=e)}function qt(A,e){var t=this.cache;bt(t,e)||(A.uniform2iv(this.addr,e),Ut(t,e))}function jt(A,e){var t=this.cache;bt(t,e)||(A.uniform3iv(this.addr,e),Ut(t,e))}function Ht(A,e){var t=this.cache;bt(t,e)||(A.uniform4iv(this.addr,e),Ut(t,e))}function Yt(A,e){var t=this.cache;t[0]!==e&&(A.uniform1ui(this.addr,e),t[0]=e)}function Wt(A,e){A.uniform1fv(this.addr,e)}function Jt(A,e){A.uniform1iv(this.addr,e)}function zt(A,e){A.uniform2iv(this.addr,e)}function Zt(A,e){A.uniform3iv(this.addr,e)}function Xt(A,e){A.uniform4iv(this.addr,e)}function _t(A,e){var t=Mt(e,this.size,2);A.uniform2fv(this.addr,t)}function $t(A,e){var t=Mt(e,this.size,3);A.uniform3fv(this.addr,t)}function Ai(A,e){var t=Mt(e,this.size,4);A.uniform4fv(this.addr,t)}function ei(A,e){var t=Mt(e,this.size,4);A.uniformMatrix2fv(this.addr,!1,t)}function ti(A,e){var t=Mt(e,this.size,9);A.uniformMatrix3fv(this.addr,!1,t)}function ii(A,e){var t=Mt(e,this.size,16);A.uniformMatrix4fv(this.addr,!1,t)}function oi(A,e,t){var i=e.length,o=Ft(t,i);A.uniform1iv(this.addr,o);for(var n=0;n!==i;++n)t.safeSetTexture2D(e[n]||Ct,o[n])}function ni(A,e,t){var i=e.length,o=Ft(t,i);A.uniform1iv(this.addr,o);for(var n=0;n!==i;++n)t.safeSetTextureCube(e[n]||It,o[n])}function ri(A,e,t){this.id=A,this.addr=t,this.cache=[],this.setValue=function(A){switch(A){case 5126:return Kt;case 35664:return Qt;case 35665:return Rt;case 35666:return Tt;case 35674:return kt;case 35675:return Dt;case 35676:return Lt;case 5124:case 35670:return Pt;case 35667:case 35671:return qt;case 35668:case 35672:return jt;case 35669:case 35673:return Ht;case 5125:return Yt;case 35678:case 36198:case 36298:case 36306:case 35682:return Nt;case 35679:case 36299:case 36307:return Vt;case 35680:case 36300:case 36308:case 36293:return Gt;case 36289:case 36303:case 36311:case 36292:return Ot}}(e.type)}function ai(A,e,t){this.id=A,this.addr=t,this.cache=[],this.size=e.size,this.setValue=function(A){switch(A){case 5126:return Wt;case 35664:return _t;case 35665:return $t;case 35666:return Ai;case 35674:return ei;case 35675:return ti;case 35676:return ii;case 5124:case 35670:return Jt;case 35667:case 35671:return zt;case 35668:case 35672:return Zt;case 35669:case 35673:return Xt;case 35678:case 36198:case 36298:case 36306:case 35682:return oi;case 35680:case 36300:case 36308:case 36293:return ni}}(e.type)}function si(A){this.id=A,this.seq=[],this.map={}}ai.prototype.updateCache=function(A){var e=this.cache;A instanceof Float32Array&&e.length!==A.length&&(this.cache=new Float32Array(A.length)),Ut(e,A)},si.prototype.setValue=function(A,e,t){for(var i=this.seq,o=0,n=i.length;o!==n;++o){var r=i[o];r.setValue(A,e[r.id],t)}};var li=/([\w\d_]+)(\])?(\[|\.)?/g;function ci(A,e){A.seq.push(e),A.map[e.id]=e}function hi(A,e,t){var i=A.name,o=i.length;for(li.lastIndex=0;;){var n=li.exec(i),r=n[1],a=n[3];if("]"===n[2]&&(r|=0),void 0===a||"["===a&&li.lastIndex+2===o){ci(t,void 0===a?new ri(r,A,e):new ai(r,A,e));break}var s=t.map[r];void 0===s&&ci(t,s=new si(r)),t=s}}function di(A,e){this.seq=[],this.map={};for(var t=A.getProgramParameter(e,35718),i=0;t>i;++i){var o=A.getActiveUniform(e,i);hi(o,A.getUniformLocation(e,o.name),this)}}function pi(A,e,t){var i=A.createShader(e);return A.shaderSource(i,t),A.compileShader(i),i}di.prototype.setValue=function(A,e,t,i){var o=this.map[e];void 0!==o&&o.setValue(A,t,i)},di.prototype.setOptional=function(A,e,t){var i=e[t];void 0!==i&&this.setValue(A,t,i)},di.upload=function(A,e,t,i){for(var o=0,n=e.length;o!==n;++o){var r=e[o],a=t[r.id];!1!==a.needsUpdate&&r.setValue(A,a.value,i)}},di.seqWithValue=function(A,e){for(var t=[],i=0,o=A.length;i!==o;++i){var n=A[i];n.id in e&&t.push(n)}return t};var gi=0;function ui(A){switch(A){case 3e3:return["Linear","( value )"];case 3001:return["sRGB","( value )"];case 3002:return["RGBE","( value )"];case 3004:return["RGBM","( value, 7.0 )"];case 3005:return["RGBM","( value, 16.0 )"];case 3006:return["RGBD","( value, 256.0 )"];case 3007:return["Gamma","( value, float( GAMMA_FACTOR ) )"];case 3003:return["LogLuv","( value )"];default:throw new Error("unsupported encoding: "+A)}}function fi(A,e,t){var i=A.getShaderParameter(e,35713),o=A.getShaderInfoLog(e).trim();return i&&""===o?"":"THREE.WebGLShader: gl.getShaderInfoLog() "+t+"\n"+o+function(A){for(var e=A.split("\n"),t=0;e.length>t;t++)e[t]=t+1+": "+e[t];return e.join("\n")}(A.getShaderSource(e))}function mi(A,e){var t=ui(e);return"vec4 "+A+"( vec4 value ) { return "+t[0]+"ToLinear"+t[1]+"; }"}function Ci(A,e){var t;switch(e){case 1:t="Linear";break;case 2:t="Reinhard";break;case 3:t="Uncharted2";break;case 4:t="OptimizedCineon";break;case 5:t="ACESFilmic";break;default:throw new Error("unsupported toneMapping: "+e)}return"vec3 "+A+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}function yi(A){return""!==A}function vi(A,e){return A.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function Ii(A,e){return A.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}var Ei=/^[ \t]*#include +<([\w\d./]+)>/gm;function Bi(A){return A.replace(Ei,xi)}function xi(A,e){var t=tt[e];if(void 0===t)throw new Error("Can not resolve #include <"+e+">");return Bi(t)}var Si=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,wi=/#pragma unroll_loop_start[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}[\s]+?#pragma unroll_loop_end/g;function Mi(A){return A.replace(wi,Ui).replace(Si,bi)}function bi(A,e,t,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),Ui(A,e,t,i)}function Ui(A,e,t,i){for(var o="",n=parseInt(e);n<parseInt(t);n++)o+=i.replace(/\[ i \]/g,"[ "+n+" ]").replace(/UNROLLED_LOOP_INDEX/g,n);return o}function Fi(A){var e="precision "+A.precision+" float;\nprecision "+A.precision+" int;";return"highp"===A.precision?e+="\n#define HIGH_PRECISION":"mediump"===A.precision?e+="\n#define MEDIUM_PRECISION":"lowp"===A.precision&&(e+="\n#define LOW_PRECISION"),e}function Ki(A,e,t){var i,o,n,r,a,s=A.getContext(),l=t.defines,c=t.vertexShader,h=t.fragmentShader,d=function(A){var e="SHADOWMAP_TYPE_BASIC";return 1===A.shadowMapType?e="SHADOWMAP_TYPE_PCF":2===A.shadowMapType?e="SHADOWMAP_TYPE_PCF_SOFT":3===A.shadowMapType&&(e="SHADOWMAP_TYPE_VSM"),e}(t),p=function(A){var e="ENVMAP_TYPE_CUBE";if(A.envMap)switch(A.envMapMode){case 301:case 302:e="ENVMAP_TYPE_CUBE";break;case 306:case 307:e="ENVMAP_TYPE_CUBE_UV";break;case 303:case 304:e="ENVMAP_TYPE_EQUIREC";break;case 305:e="ENVMAP_TYPE_SPHERE"}return e}(t),g=function(A){var e="ENVMAP_MODE_REFLECTION";if(A.envMap)switch(A.envMapMode){case 302:case 304:e="ENVMAP_MODE_REFRACTION"}return e}(t),u=function(A){var e="ENVMAP_BLENDING_NONE";if(A.envMap)switch(A.combine){case 0:e="ENVMAP_BLENDING_MULTIPLY";break;case 1:e="ENVMAP_BLENDING_MIX";break;case 2:e="ENVMAP_BLENDING_ADD"}return e}(t),f=A.gammaFactor>0?A.gammaFactor:1,m=t.isWebGL2?"":function(A){return[A.extensionDerivatives||A.envMapCubeUV||A.bumpMap||A.tangentSpaceNormalMap||A.clearcoatNormalMap||A.flatShading||"physical"===A.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(A.extensionFragDepth||A.logarithmicDepthBuffer)&&A.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",A.extensionDrawBuffers&&A.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(A.extensionShaderTextureLOD||A.envMap)&&A.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(yi).join("\n")}(t),C=function(A){var e=[];for(var t in A){var i=A[t];!1!==i&&e.push("#define "+t+" "+i)}return e.join("\n")}(l),y=s.createProgram();if(t.isRawShaderMaterial?((i=[C].filter(yi).join("\n")).length>0&&(i+="\n"),(o=[m,C].filter(yi).join("\n")).length>0&&(o+="\n")):(i=[Fi(t),"#define SHADER_NAME "+t.shaderName,C,t.instancing?"#define USE_INSTANCING":"",t.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+f,"#define MAX_BONES "+t.maxBones,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+g:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.displacementMap&&t.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.useVertexTexture?"#define BONE_TEXTURE":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&!1===t.flatShading?"#define USE_MORPHNORMALS":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+d:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#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(yi).join("\n"),o=[m,Fi(t),"#define SHADER_NAME "+t.shaderName,C,t.alphaTest?"#define ALPHATEST "+t.alphaTest+(t.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+f,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+p:"",t.envMap?"#define "+g:"",t.envMap?"#define "+u:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMap&&t.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",t.normalMap&&t.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.sheen?"#define USE_SHEEN":"",t.vertexTangents?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexUvs?"#define USE_UV":"",t.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+d:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.logarithmicDepthBuffer&&t.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(t.extensionShaderTextureLOD||t.envMap)&&t.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",0!==t.toneMapping?"#define TONE_MAPPING":"",0!==t.toneMapping?tt.tonemapping_pars_fragment:"",0!==t.toneMapping?Ci("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.outputEncoding||t.mapEncoding||t.matcapEncoding||t.envMapEncoding||t.emissiveMapEncoding||t.lightMapEncoding?tt.encodings_pars_fragment:"",t.mapEncoding?mi("mapTexelToLinear",t.mapEncoding):"",t.matcapEncoding?mi("matcapTexelToLinear",t.matcapEncoding):"",t.envMapEncoding?mi("envMapTexelToLinear",t.envMapEncoding):"",t.emissiveMapEncoding?mi("emissiveMapTexelToLinear",t.emissiveMapEncoding):"",t.lightMapEncoding?mi("lightMapTexelToLinear",t.lightMapEncoding):"",t.outputEncoding?(n="linearToOutputTexel",r=t.outputEncoding,a=ui(r),"vec4 "+n+"( vec4 value ) { return LinearTo"+a[0]+a[1]+"; }"):"",t.depthPacking?"#define DEPTH_PACKING "+t.depthPacking:"","\n"].filter(yi).join("\n")),c=Ii(c=vi(c=Bi(c),t),t),h=Ii(h=vi(h=Bi(h),t),t),c=Mi(c),h=Mi(h),t.isWebGL2&&!t.isRawShaderMaterial){var v=!1,I=/^\s*#version\s+300\s+es\s*\n/;t.isShaderMaterial&&null!==c.match(I)&&null!==h.match(I)&&(v=!0,c=c.replace(I,""),h=h.replace(I,"")),i=["#version 300 es\n","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+i,o=["#version 300 es\n","#define varying in",v?"":"out highp vec4 pc_fragColor;",v?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+o}var E,B,x=o+h,S=pi(s,35633,i+c),w=pi(s,35632,x);if(s.attachShader(y,S),s.attachShader(y,w),void 0!==t.index0AttributeName?s.bindAttribLocation(y,0,t.index0AttributeName):!0===t.morphTargets&&s.bindAttribLocation(y,0,"position"),s.linkProgram(y),A.debug.checkShaderErrors){var M=s.getProgramInfoLog(y).trim(),b=s.getShaderInfoLog(S).trim(),U=s.getShaderInfoLog(w).trim(),F=!0,K=!0;if(!1===s.getProgramParameter(y,35714)){F=!1;var Q=fi(s,S,"vertex"),R=fi(s,w,"fragment");console.error("THREE.WebGLProgram: shader error: ",s.getError(),"35715",s.getProgramParameter(y,35715),"gl.getProgramInfoLog",M,Q,R)}else""!==M?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",M):""!==b&&""!==U||(K=!1);K&&(this.diagnostics={runnable:F,programLog:M,vertexShader:{log:b,prefix:i},fragmentShader:{log:U,prefix:o}})}return s.detachShader(y,S),s.detachShader(y,w),s.deleteShader(S),s.deleteShader(w),this.getUniforms=function(){return void 0===E&&(E=new di(s,y)),E},this.getAttributes=function(){return void 0===B&&(B=function(A,e){for(var t={},i=A.getProgramParameter(e,35721),o=0;i>o;o++){var n=A.getActiveAttrib(e,o).name;t[n]=A.getAttribLocation(e,n)}return t}(s,y)),B},this.destroy=function(){s.deleteProgram(y),this.program=void 0},this.name=t.shaderName,this.id=gi++,this.cacheKey=e,this.usedTimes=1,this.program=y,this.vertexShader=S,this.fragmentShader=w,this}function Qi(A,e,t){var i=[],o=t.isWebGL2,n=t.logarithmicDepthBuffer,r=t.floatVertexTextures,a=t.precision,s=t.maxVertexUniforms,l=t.vertexTextures,c={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"},h=["precision","isWebGL2","supportsVertexTextures","outputEncoding","instancing","map","mapEncoding","matcap","matcapEncoding","envMap","envMapMode","envMapEncoding","envMapCubeUV","lightMap","lightMapEncoding","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","objectSpaceNormalMap","tangentSpaceNormalMap","clearcoatMap","clearcoatRoughnessMap","clearcoatNormalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","vertexTangents","vertexUvs","uvsVertexOnly","fog","useFog","fogExp2","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","maxMorphTargets","maxMorphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","numDirLightShadows","numPointLightShadows","numSpotLightShadows","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering","sheen"];function d(A){var e;return A?A.isTexture?e=A.encoding:A.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),e=A.texture.encoding):e=3e3,e}this.getParameters=function(i,h,p,g,u,f,m){var C=g.fog,y=i.envMap||(i.isMeshStandardMaterial?g.environment:null),v=c[i.type],I=m.isSkinnedMesh?function(A){var e=A.skeleton.bones;if(r)return 1024;var t=Math.floor((s-20)/4),i=Math.min(t,e.length);return e.length>i?(console.warn("THREE.WebGLRenderer: Skeleton has "+e.length+" bones. This GPU supports "+i+"."),0):i}(m):0;null!==i.precision&&(a=t.getMaxPrecision(i.precision))!==i.precision&&console.warn("THREE.WebGLProgram.getParameters:",i.precision,"not supported, using",a,"instead.");var E=function(A,e){var t;if(e){var i=it[e];t={name:A.type,uniforms:Ge.clone(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader}}else t={name:A.type,uniforms:A.uniforms,vertexShader:A.vertexShader,fragmentShader:A.fragmentShader};return t}(i,v);i.onBeforeCompile(E,A);var B=A.getRenderTarget();return{isWebGL2:o,shaderID:v,shaderName:E.name,uniforms:E.uniforms,vertexShader:E.vertexShader,fragmentShader:E.fragmentShader,defines:i.defines,isRawShaderMaterial:i.isRawShaderMaterial,isShaderMaterial:i.isShaderMaterial,precision:a,instancing:!0===m.isInstancedMesh,supportsVertexTextures:l,outputEncoding:null!==B?d(B.texture):A.outputEncoding,map:!!i.map,mapEncoding:d(i.map),matcap:!!i.matcap,matcapEncoding:d(i.matcap),envMap:!!y,envMapMode:y&&y.mapping,envMapEncoding:d(y),envMapCubeUV:!!y&&(306===y.mapping||307===y.mapping),lightMap:!!i.lightMap,lightMapEncoding:d(i.lightMap),aoMap:!!i.aoMap,emissiveMap:!!i.emissiveMap,emissiveMapEncoding:d(i.emissiveMap),bumpMap:!!i.bumpMap,normalMap:!!i.normalMap,objectSpaceNormalMap:1===i.normalMapType,tangentSpaceNormalMap:0===i.normalMapType,clearcoatMap:!!i.clearcoatMap,clearcoatRoughnessMap:!!i.clearcoatRoughnessMap,clearcoatNormalMap:!!i.clearcoatNormalMap,displacementMap:!!i.displacementMap,roughnessMap:!!i.roughnessMap,metalnessMap:!!i.metalnessMap,specularMap:!!i.specularMap,alphaMap:!!i.alphaMap,gradientMap:!!i.gradientMap,sheen:!!i.sheen,combine:i.combine,vertexTangents:i.normalMap&&i.vertexTangents,vertexColors:i.vertexColors,vertexUvs:!!(i.map||i.bumpMap||i.normalMap||i.specularMap||i.alphaMap||i.emissiveMap||i.roughnessMap||i.metalnessMap||i.clearcoatMap||i.clearcoatRoughnessMap||i.clearcoatNormalMap||i.displacementMap),uvsVertexOnly:!(i.map||i.bumpMap||i.normalMap||i.specularMap||i.alphaMap||i.emissiveMap||i.roughnessMap||i.metalnessMap||i.clearcoatNormalMap||!i.displacementMap),fog:!!C,useFog:i.fog,fogExp2:C&&C.isFogExp2,flatShading:i.flatShading,sizeAttenuation:i.sizeAttenuation,logarithmicDepthBuffer:n,skinning:i.skinning&&I>0,maxBones:I,useVertexTexture:r,morphTargets:i.morphTargets,morphNormals:i.morphNormals,maxMorphTargets:A.maxMorphTargets,maxMorphNormals:A.maxMorphNormals,numDirLights:h.directional.length,numPointLights:h.point.length,numSpotLights:h.spot.length,numRectAreaLights:h.rectArea.length,numHemiLights:h.hemi.length,numDirLightShadows:h.directionalShadowMap.length,numPointLightShadows:h.pointShadowMap.length,numSpotLightShadows:h.spotShadowMap.length,numClippingPlanes:u,numClipIntersection:f,dithering:i.dithering,shadowMapEnabled:A.shadowMap.enabled&&p.length>0,shadowMapType:A.shadowMap.type,toneMapping:i.toneMapped?A.toneMapping:0,physicallyCorrectLights:A.physicallyCorrectLights,premultipliedAlpha:i.premultipliedAlpha,alphaTest:i.alphaTest,doubleSided:2===i.side,flipSided:1===i.side,depthPacking:void 0!==i.depthPacking&&i.depthPacking,index0AttributeName:i.index0AttributeName,extensionDerivatives:i.extensions&&i.extensions.derivatives,extensionFragDepth:i.extensions&&i.extensions.fragDepth,extensionDrawBuffers:i.extensions&&i.extensions.drawBuffers,extensionShaderTextureLOD:i.extensions&&i.extensions.shaderTextureLOD,rendererExtensionFragDepth:o||null!==e.get("EXT_frag_depth"),rendererExtensionDrawBuffers:o||null!==e.get("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:o||null!==e.get("EXT_shader_texture_lod"),onBeforeCompile:i.onBeforeCompile}},this.getProgramCacheKey=function(e){var t=[];if(e.shaderID?t.push(e.shaderID):(t.push(e.fragmentShader),t.push(e.vertexShader)),void 0!==e.defines)for(var i in e.defines)t.push(i),t.push(e.defines[i]);if(void 0===e.isRawShaderMaterial){for(var o=0;h.length>o;o++)t.push(e[h[o]]);t.push(A.outputEncoding),t.push(A.gammaFactor)}return t.push(e.onBeforeCompile.toString()),t.join()},this.acquireProgram=function(e,t){for(var o,n=0,r=i.length;r>n;n++){var a=i[n];if(a.cacheKey===t){++(o=a).usedTimes;break}}return void 0===o&&(o=new Ki(A,t,e),i.push(o)),o},this.releaseProgram=function(A){if(0==--A.usedTimes){var e=i.indexOf(A);i[e]=i[i.length-1],i.pop(),A.destroy()}},this.programs=i}function Ri(){var A=new WeakMap;return{get:function(e){var t=A.get(e);return void 0===t&&A.set(e,t={}),t},remove:function(e){A.delete(e)},update:function(e,t,i){A.get(e)[t]=i},dispose:function(){A=new WeakMap}}}function Ti(A,e){return A.groupOrder!==e.groupOrder?A.groupOrder-e.groupOrder:A.renderOrder!==e.renderOrder?A.renderOrder-e.renderOrder:A.program!==e.program?A.program.id-e.program.id:A.material.id!==e.material.id?A.material.id-e.material.id:A.z!==e.z?A.z-e.z:A.id-e.id}function ki(A,e){return A.groupOrder!==e.groupOrder?A.groupOrder-e.groupOrder:A.renderOrder!==e.renderOrder?A.renderOrder-e.renderOrder:A.z!==e.z?e.z-A.z:A.id-e.id}function Di(){var A=[],e=0,t=[],i=[],o={id:-1};function n(t,i,n,r,a,s){var l=A[e];return void 0===l?A[e]=l={id:t.id,object:t,geometry:i,material:n,program:n.program||o,groupOrder:r,renderOrder:t.renderOrder,z:a,group:s}:(l.id=t.id,l.object=t,l.geometry=i,l.material=n,l.program=n.program||o,l.groupOrder=r,l.renderOrder=t.renderOrder,l.z=a,l.group=s),e++,l}return{opaque:t,transparent:i,init:function(){e=0,t.length=0,i.length=0},push:function(A,e,o,r,a,s){var l=n(A,e,o,r,a,s);(!0===o.transparent?i:t).push(l)},unshift:function(A,e,o,r,a,s){var l=n(A,e,o,r,a,s);(!0===o.transparent?i:t).unshift(l)},finish:function(){for(var t=e,i=A.length;i>t;t++){var o=A[t];if(null===o.id)break;o.id=null,o.object=null,o.geometry=null,o.material=null,o.program=null,o.group=null}},sort:function(A,e){t.length>1&&t.sort(A||Ti),i.length>1&&i.sort(e||ki)}}}function Li(){var A=new WeakMap;function e(t){var i=t.target;i.removeEventListener("dispose",e),A.delete(i)}return{get:function(t,i){var o,n=A.get(t);return void 0===n?(o=new Di,A.set(t,new WeakMap),A.get(t).set(i,o),t.addEventListener("dispose",e)):void 0===(o=n.get(i))&&(o=new Di,n.set(i,o)),o},dispose:function(){A=new WeakMap}}}function Ni(){var A={};return{get:function(e){if(void 0!==A[e.id])return A[e.id];var t;switch(e.type){case"DirectionalLight":t={direction:new y,color:new LA};break;case"SpotLight":t={position:new y,direction:new y,color:new LA,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new y,color:new LA,distance:0,decay:0};break;case"HemisphereLight":t={direction:new y,skyColor:new LA,groundColor:new LA};break;case"RectAreaLight":t={color:new LA,position:new y,halfWidth:new y,halfHeight:new y}}return A[e.id]=t,t}}}var Oi=0;function Vi(A,e){return(e.castShadow?1:0)-(A.castShadow?1:0)}function Gi(){for(var A,e=new Ni,t=(A={},{get:function(e){if(void 0!==A[e.id])return A[e.id];var t;switch(e.type){case"DirectionalLight":case"SpotLight":t={shadowBias:0,shadowRadius:1,shadowMapSize:new s};break;case"PointLight":t={shadowBias:0,shadowRadius:1,shadowMapSize:new s,shadowCameraNear:1,shadowCameraFar:1e3}}return A[e.id]=t,t}}),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]},o=0;9>o;o++)i.probe.push(new y);var n=new y,r=new M,a=new M;return{setup:function(A,o,s){for(var l=0,c=0,h=0,d=0;9>d;d++)i.probe[d].set(0,0,0);var p=0,g=0,u=0,f=0,m=0,C=0,y=0,v=0,I=s.matrixWorldInverse;A.sort(Vi),d=0;for(var E=A.length;E>d;d++){var B=A[d],x=B.color,S=B.intensity,w=B.distance,M=B.shadow&&B.shadow.map?B.shadow.map.texture:null;if(B.isAmbientLight)l+=x.r*S,c+=x.g*S,h+=x.b*S;else if(B.isLightProbe)for(var b=0;9>b;b++)i.probe[b].addScaledVector(B.sh.coefficients[b],S);else if(B.isDirectionalLight){if((K=e.get(B)).color.copy(B.color).multiplyScalar(B.intensity),K.direction.setFromMatrixPosition(B.matrixWorld),n.setFromMatrixPosition(B.target.matrixWorld),K.direction.sub(n),K.direction.transformDirection(I),B.castShadow){var U=B.shadow;(F=t.get(B)).shadowBias=U.bias,F.shadowRadius=U.radius,F.shadowMapSize=U.mapSize,i.directionalShadow[p]=F,i.directionalShadowMap[p]=M,i.directionalShadowMatrix[p]=B.shadow.matrix,C++}i.directional[p]=K,p++}else if(B.isSpotLight){if((K=e.get(B)).position.setFromMatrixPosition(B.matrixWorld),K.position.applyMatrix4(I),K.color.copy(x).multiplyScalar(S),K.distance=w,K.direction.setFromMatrixPosition(B.matrixWorld),n.setFromMatrixPosition(B.target.matrixWorld),K.direction.sub(n),K.direction.transformDirection(I),K.coneCos=Math.cos(B.angle),K.penumbraCos=Math.cos(B.angle*(1-B.penumbra)),K.decay=B.decay,B.castShadow){U=B.shadow;(F=t.get(B)).shadowBias=U.bias,F.shadowRadius=U.radius,F.shadowMapSize=U.mapSize,i.spotShadow[u]=F,i.spotShadowMap[u]=M,i.spotShadowMatrix[u]=B.shadow.matrix,v++}i.spot[u]=K,u++}else if(B.isRectAreaLight){(K=e.get(B)).color.copy(x).multiplyScalar(S),K.position.setFromMatrixPosition(B.matrixWorld),K.position.applyMatrix4(I),a.identity(),r.copy(B.matrixWorld),r.premultiply(I),a.extractRotation(r),K.halfWidth.set(.5*B.width,0,0),K.halfHeight.set(0,.5*B.height,0),K.halfWidth.applyMatrix4(a),K.halfHeight.applyMatrix4(a),i.rectArea[f]=K,f++}else if(B.isPointLight){if((K=e.get(B)).position.setFromMatrixPosition(B.matrixWorld),K.position.applyMatrix4(I),K.color.copy(B.color).multiplyScalar(B.intensity),K.distance=B.distance,K.decay=B.decay,B.castShadow){var F;U=B.shadow;(F=t.get(B)).shadowBias=U.bias,F.shadowRadius=U.radius,F.shadowMapSize=U.mapSize,F.shadowCameraNear=U.camera.near,F.shadowCameraFar=U.camera.far,i.pointShadow[g]=F,i.pointShadowMap[g]=M,i.pointShadowMatrix[g]=B.shadow.matrix,y++}i.point[g]=K,g++}else if(B.isHemisphereLight){var K;(K=e.get(B)).direction.setFromMatrixPosition(B.matrixWorld),K.direction.transformDirection(I),K.direction.normalize(),K.skyColor.copy(B.color).multiplyScalar(S),K.groundColor.copy(B.groundColor).multiplyScalar(S),i.hemi[m]=K,m++}}i.ambient[0]=l,i.ambient[1]=c,i.ambient[2]=h;var Q=i.hash;Q.directionalLength===p&&Q.pointLength===g&&Q.spotLength===u&&Q.rectAreaLength===f&&Q.hemiLength===m&&Q.numDirectionalShadows===C&&Q.numPointShadows===y&&Q.numSpotShadows===v||(i.directional.length=p,i.spot.length=u,i.rectArea.length=f,i.point.length=g,i.hemi.length=m,i.directionalShadow.length=C,i.directionalShadowMap.length=C,i.pointShadow.length=y,i.pointShadowMap.length=y,i.spotShadow.length=v,i.spotShadowMap.length=v,i.directionalShadowMatrix.length=C,i.pointShadowMatrix.length=y,i.spotShadowMatrix.length=v,Q.directionalLength=p,Q.pointLength=g,Q.spotLength=u,Q.rectAreaLength=f,Q.hemiLength=m,Q.numDirectionalShadows=C,Q.numPointShadows=y,Q.numSpotShadows=v,i.version=Oi++)},state:i}}function Pi(){var A=new Gi,e=[],t=[];return{init:function(){e.length=0,t.length=0},state:{lightsArray:e,shadowsArray:t,lights:A},setupLights:function(i){A.setup(e,t,i)},pushLight:function(A){e.push(A)},pushShadow:function(A){t.push(A)}}}function qi(){var A=new WeakMap;function e(t){var i=t.target;i.removeEventListener("dispose",e),A.delete(i)}return{get:function(t,i){var o;return!1===A.has(t)?(o=new Pi,A.set(t,new WeakMap),A.get(t).set(i,o),t.addEventListener("dispose",e)):!1===A.get(t).has(i)?(o=new Pi,A.get(t).set(i,o)):o=A.get(t).get(i),o},dispose:function(){A=new WeakMap}}}function ji(A){qA.call(this),this.type="MeshDepthMaterial",this.depthPacking=3200,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.setValues(A)}function Hi(A){qA.call(this),this.type="MeshDistanceMaterial",this.referencePosition=new y,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.setValues(A)}(ji.prototype=Object.create(qA.prototype)).constructor=ji,ji.prototype.isMeshDepthMaterial=!0,ji.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.depthPacking=A.depthPacking,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this},(Hi.prototype=Object.create(qA.prototype)).constructor=Hi,Hi.prototype.isMeshDistanceMaterial=!0,Hi.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.referencePosition.copy(A.referencePosition),this.nearDistance=A.nearDistance,this.farDistance=A.farDistance,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.map=A.map,this.alphaMap=A.alphaMap,this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this};function Yi(A,e,t){var i=new Ze,o=new s,n=new s,r=new p,a=[],l=[],c={},h={0:1,1:0,2:2},d=new Pe({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new s},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>\nvoid main() {\n float mean = 0.0;\n float squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n for ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n #ifdef HORIZONAL_PASS\n vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n mean += distribution.x;\n squared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n #else\n float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n mean += depth;\n squared_mean += depth * depth;\n #endif\n }\n mean = mean * HALF_SAMPLE_RATE;\n squared_mean = squared_mean * HALF_SAMPLE_RATE;\n float std_dev = sqrt( squared_mean - mean * mean );\n gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),u=d.clone();u.defines.HORIZONAL_PASS=1;var f=new he;f.setAttribute("position",new YA(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));var m=new Ue(f,d),C=this;function y(t,i){var o=e.update(m);d.uniforms.shadow_pass.value=t.map.texture,d.uniforms.resolution.value=t.mapSize,d.uniforms.radius.value=t.radius,A.setRenderTarget(t.mapPass),A.clear(),A.renderBufferDirect(i,null,o,d,m,null),u.uniforms.shadow_pass.value=t.mapPass.texture,u.uniforms.resolution.value=t.mapSize,u.uniforms.radius.value=t.radius,A.setRenderTarget(t.map),A.clear(),A.renderBufferDirect(i,null,o,u,m,null)}function v(A,e,t){var i=A<<0|e<<1|t<<2,o=a[i];return void 0===o&&(o=new ji({depthPacking:3201,morphTargets:A,skinning:e}),a[i]=o),o}function I(A,e,t){var i=A<<0|e<<1|t<<2,o=l[i];return void 0===o&&(o=new Hi({morphTargets:A,skinning:e}),l[i]=o),o}function E(e,t,i,o,n,r){var a=e.geometry,s=null,l=v,d=e.customDepthMaterial;if(!0===i.isPointLight&&(l=I,d=e.customDistanceMaterial),void 0===d){var p=!1;!0===t.morphTargets&&(!0===a.isBufferGeometry?p=a.morphAttributes&&a.morphAttributes.position&&a.morphAttributes.position.length>0:!0===a.isGeometry&&(p=a.morphTargets&&a.morphTargets.length>0));var g=!1;!0===e.isSkinnedMesh&&(!0===t.skinning?g=!0:console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",e)),s=l(p,g,!0===e.isInstancedMesh)}else s=d;if(A.localClippingEnabled&&!0===t.clipShadows&&0!==t.clippingPlanes.length){var u=s.uuid,f=t.uuid,m=c[u];void 0===m&&(c[u]=m={});var C=m[f];void 0===C&&(C=s.clone(),m[f]=C),s=C}return s.visible=t.visible,s.wireframe=t.wireframe,s.side=3===r?null!==t.shadowSide?t.shadowSide:t.side:null!==t.shadowSide?t.shadowSide:h[t.side],s.clipShadows=t.clipShadows,s.clippingPlanes=t.clippingPlanes,s.clipIntersection=t.clipIntersection,s.wireframeLinewidth=t.wireframeLinewidth,s.linewidth=t.linewidth,!0===i.isPointLight&&!0===s.isMeshDistanceMaterial&&(s.referencePosition.setFromMatrixPosition(i.matrixWorld),s.nearDistance=o,s.farDistance=n),s}function B(t,o,n,r,a){if(!1!==t.visible){if(t.layers.test(o.layers)&&(t.isMesh||t.isLine||t.isPoints)&&(t.castShadow||t.receiveShadow&&3===a)&&(!t.frustumCulled||i.intersectsObject(t))){t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld);var s=e.update(t),l=t.material;if(Array.isArray(l))for(var c=s.groups,h=0,d=c.length;d>h;h++){var p=c[h],g=l[p.materialIndex];if(g&&g.visible&&g.opacity>.9){var u=E(t,g,r,n.near,n.far,a);A.renderBufferDirect(n,null,s,u,t,p)}}else if(l.visible&&l.opacity>.9){u=E(t,l,r,n.near,n.far,a);A.renderBufferDirect(n,null,s,u,t,null)}}for(var f=t.children,m=0,C=f.length;C>m;m++)B(f[m],o,n,r,a)}}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1,this.render=function(e,a,s){if(!1!==C.enabled&&(!1!==C.autoUpdate||!1!==C.needsUpdate)&&0!==e.length){var l=A.getRenderTarget(),c=A.getActiveCubeFace(),h=A.getActiveMipmapLevel(),d=A.state;d.setBlending(0),d.buffers.color.setClear(1,1,1,1),d.buffers.depth.setTest(!0),d.setScissorTest(!1);for(var p=0,u=e.length;u>p;p++){var f=e[p],m=f.shadow;if(void 0!==m){o.copy(m.mapSize);var v,I=m.getFrameExtents();if(o.multiply(I),n.copy(m.mapSize),(o.x>t||o.y>t)&&(console.warn("THREE.WebGLShadowMap:",f,"has shadow exceeding max texture size, reducing"),o.x>t&&(n.x=Math.floor(t/I.x),o.x=n.x*I.x,m.mapSize.x=n.x),o.y>t&&(n.y=Math.floor(t/I.y),o.y=n.y*I.y,m.mapSize.y=n.y)),null===m.map&&!m.isPointLightShadow&&3===this.type)m.map=new g(o.x,o.y,v={minFilter:1006,magFilter:1006,format:1023}),m.map.texture.name=f.name+".shadowMap",m.mapPass=new g(o.x,o.y,v),m.camera.updateProjectionMatrix();if(null===m.map)m.map=new g(o.x,o.y,v={minFilter:1003,magFilter:1003,format:1023}),m.map.texture.name=f.name+".shadowMap",m.camera.updateProjectionMatrix();A.setRenderTarget(m.map),A.clear();for(var E=m.getViewportCount(),x=0;E>x;x++){var S=m.getViewport(x);r.set(n.x*S.x,n.y*S.y,n.x*S.z,n.y*S.w),d.viewport(r),m.updateMatrices(f,x),i=m.getFrustum(),B(a,s,m.camera,f,this.type)}m.isPointLightShadow||3!==this.type||y(m,s)}else console.warn("THREE.WebGLShadowMap:",f,"has no shadow.")}C.needsUpdate=!1,A.setRenderTarget(l,c,h)}}}function Wi(A,e,t){var i=t.isWebGL2;var o=new function(){var e=!1,t=new p,i=null,o=new p(0,0,0,0);return{setMask:function(t){i===t||e||(A.colorMask(t,t,t,t),i=t)},setLocked:function(A){e=A},setClear:function(e,i,n,r,a){!0===a&&(e*=r,i*=r,n*=r),t.set(e,i,n,r),!1===o.equals(t)&&(A.clearColor(e,i,n,r),o.copy(t))},reset:function(){e=!1,i=null,o.set(-1,0,0,0)}}},n=new function(){var e=!1,t=null,i=null,o=null;return{setTest:function(A){A?O(2929):V(2929)},setMask:function(i){t===i||e||(A.depthMask(i),t=i)},setFunc:function(e){if(i!==e){if(e)switch(e){case 0:A.depthFunc(512);break;case 1:A.depthFunc(519);break;case 2:A.depthFunc(513);break;case 3:A.depthFunc(515);break;case 4:A.depthFunc(514);break;case 5:A.depthFunc(518);break;case 6:A.depthFunc(516);break;case 7:A.depthFunc(517);break;default:A.depthFunc(515)}else A.depthFunc(515);i=e}},setLocked:function(A){e=A},setClear:function(e){o!==e&&(A.clearDepth(e),o=e)},reset:function(){e=!1,t=null,i=null,o=null}}},r=new function(){var e=!1,t=null,i=null,o=null,n=null,r=null,a=null,s=null,l=null;return{setTest:function(A){e||(A?O(2960):V(2960))},setMask:function(i){t===i||e||(A.stencilMask(i),t=i)},setFunc:function(e,t,r){i===e&&o===t&&n===r||(A.stencilFunc(e,t,r),i=e,o=t,n=r)},setOp:function(e,t,i){r===e&&a===t&&s===i||(A.stencilOp(e,t,i),r=e,a=t,s=i)},setLocked:function(A){e=A},setClear:function(e){l!==e&&(A.clearStencil(e),l=e)},reset:function(){e=!1,t=null,i=null,o=null,n=null,r=null,a=null,s=null,l=null}}},a=A.getParameter(34921),s=new Uint8Array(a),l=new Uint8Array(a),c=new Uint8Array(a),h={},d=null,g=null,u=null,f=null,m=null,C=null,y=null,v=null,I=null,E=!1,B=null,x=null,S=null,w=null,M=null,b=A.getParameter(35661),U=!1,F=0,K=A.getParameter(7938);-1!==K.indexOf("WebGL")?(F=parseFloat(/^WebGL\ ([0-9])/.exec(K)[1]),U=F>=1):-1!==K.indexOf("OpenGL ES")&&(F=parseFloat(/^OpenGL\ ES\ ([0-9])/.exec(K)[1]),U=F>=2);var Q=null,R={},T=new p,k=new p;function D(e,t,i){var o=new Uint8Array(4),n=A.createTexture();A.bindTexture(e,n),A.texParameteri(e,10241,9728),A.texParameteri(e,10240,9728);for(var r=0;i>r;r++)A.texImage2D(t+r,0,6408,1,1,0,6408,5121,o);return n}var L={};function N(t,o){(s[t]=1,0===l[t]&&(A.enableVertexAttribArray(t),l[t]=1),c[t]!==o)&&((i?A:e.get("ANGLE_instanced_arrays"))[i?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](t,o),c[t]=o)}function O(e){!0!==h[e]&&(A.enable(e),h[e]=!0)}function V(e){!1!==h[e]&&(A.disable(e),h[e]=!1)}L[3553]=D(3553,3553,1),L[34067]=D(34067,34069,6),o.setClear(0,0,0,1),n.setClear(1),r.setClear(0),O(2929),n.setFunc(3),H(!1),Y(1),O(2884),j(0);var G={100:32774,101:32778,102:32779};if(i)G[103]=32775,G[104]=32776;else{var P=e.get("EXT_blend_minmax");null!==P&&(G[103]=P.MIN_EXT,G[104]=P.MAX_EXT)}var q={200:0,201:1,202:768,204:770,210:776,208:774,206:772,203:769,205:771,209:775,207:773};function j(e,t,i,o,n,r,a,s){if(0!==e){if(g||(O(3042),g=!0),5===e)n=n||t,r=r||i,a=a||o,t===f&&n===y||(A.blendEquationSeparate(G[t],G[n]),f=t,y=n),i===m&&o===C&&r===v&&a===I||(A.blendFuncSeparate(q[i],q[o],q[r],q[a]),m=i,C=o,v=r,I=a),u=e,E=null;else if(e!==u||s!==E){if(100===f&&100===y||(A.blendEquation(32774),f=100,y=100),s)switch(e){case 1:A.blendFuncSeparate(1,771,1,771);break;case 2:A.blendFunc(1,1);break;case 3:A.blendFuncSeparate(0,0,769,771);break;case 4:A.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}else switch(e){case 1:A.blendFuncSeparate(770,771,1,771);break;case 2:A.blendFunc(770,1);break;case 3:A.blendFunc(0,769);break;case 4:A.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",e)}m=null,C=null,v=null,I=null,u=e,E=s}}else g&&(V(3042),g=!1)}function H(e){B!==e&&(A.frontFace(e?2304:2305),B=e)}function Y(e){0!==e?(O(2884),e!==x&&A.cullFace(1===e?1029:2===e?1028:1032)):V(2884),x=e}function W(e,t,i){e?(O(32823),w===t&&M===i||(A.polygonOffset(t,i),w=t,M=i)):V(32823)}function J(e){void 0===e&&(e=33984+b-1),Q!==e&&(A.activeTexture(e),Q=e)}return{buffers:{color:o,depth:n,stencil:r},initAttributes:function(){for(var A=0,e=s.length;e>A;A++)s[A]=0},enableAttribute:function(A){N(A,0)},enableAttributeAndDivisor:N,disableUnusedAttributes:function(){for(var e=0,t=l.length;e!==t;++e)l[e]!==s[e]&&(A.disableVertexAttribArray(e),l[e]=0)},enable:O,disable:V,useProgram:function(e){return d!==e&&(A.useProgram(e),d=e,!0)},setBlending:j,setMaterial:function(A,e){2===A.side?V(2884):O(2884);var t=1===A.side;e&&(t=!t),H(t),1===A.blending&&!1===A.transparent?j(0):j(A.blending,A.blendEquation,A.blendSrc,A.blendDst,A.blendEquationAlpha,A.blendSrcAlpha,A.blendDstAlpha,A.premultipliedAlpha),n.setFunc(A.depthFunc),n.setTest(A.depthTest),n.setMask(A.depthWrite),o.setMask(A.colorWrite);var i=A.stencilWrite;r.setTest(i),i&&(r.setMask(A.stencilWriteMask),r.setFunc(A.stencilFunc,A.stencilRef,A.stencilFuncMask),r.setOp(A.stencilFail,A.stencilZFail,A.stencilZPass)),W(A.polygonOffset,A.polygonOffsetFactor,A.polygonOffsetUnits)},setFlipSided:H,setCullFace:Y,setLineWidth:function(e){e!==S&&(U&&A.lineWidth(e),S=e)},setPolygonOffset:W,setScissorTest:function(A){A?O(3089):V(3089)},activeTexture:J,bindTexture:function(e,t){null===Q&&J();var i=R[Q];void 0===i&&(R[Q]=i={type:void 0,texture:void 0}),i.type===e&&i.texture===t||(A.bindTexture(e,t||L[e]),i.type=e,i.texture=t)},unbindTexture:function(){var e=R[Q];void 0!==e&&void 0!==e.type&&(A.bindTexture(e.type,null),e.type=void 0,e.texture=void 0)},compressedTexImage2D:function(){try{A.compressedTexImage2D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},texImage2D:function(){try{A.texImage2D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},texImage3D:function(){try{A.texImage3D.apply(A,arguments)}catch(A){console.error("THREE.WebGLState:",A)}},scissor:function(e){!1===T.equals(e)&&(A.scissor(e.x,e.y,e.z,e.w),T.copy(e))},viewport:function(e){!1===k.equals(e)&&(A.viewport(e.x,e.y,e.z,e.w),k.copy(e))},reset:function(){for(var e=0;l.length>e;e++)1===l[e]&&(A.disableVertexAttribArray(e),l[e]=0);h={},Q=null,R={},d=null,u=null,B=null,x=null,o.reset(),n.reset(),r.reset()}}}function Ji(A,e,t,i,o,n,r){var s,l=o.isWebGL2,c=o.maxTextures,h=o.maxCubemapSize,d=o.maxTextureSize,p=o.maxSamples,g=new WeakMap,u=!1;try{u="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(A){}function f(A,e){return u?new OffscreenCanvas(A,e):document.createElementNS("http://www.w3.org/1999/xhtml","canvas")}function m(A,e,t,i){var o=1;if((A.width>i||A.height>i)&&(o=i/Math.max(A.width,A.height)),1>o||!0===e){if("undefined"!=typeof HTMLImageElement&&A instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&A instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&A instanceof ImageBitmap){var n=e?a.floorPowerOfTwo:Math.floor,r=n(o*A.width),l=n(o*A.height);void 0===s&&(s=f(r,l));var c=t?f(r,l):s;return c.width=r,c.height=l,c.getContext("2d").drawImage(A,0,0,r,l),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+A.width+"x"+A.height+") to ("+r+"x"+l+")."),c}return"data"in A&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+A.width+"x"+A.height+")."),A}return A}function C(A){return a.isPowerOfTwo(A.width)&&a.isPowerOfTwo(A.height)}function y(A,e){return A.generateMipmaps&&e&&1003!==A.minFilter&&1006!==A.minFilter}function v(e,t,o,n){A.generateMipmap(e),i.get(t).__maxMipLevel=Math.log(Math.max(o,n))*Math.LOG2E}function I(t,i,o){if(!1===l)return i;if(null!==t){if(void 0!==A[t])return A[t];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+t+"'")}var n=i;return 6403===i&&(5126===o&&(n=33326),5131===o&&(n=33325),5121===o&&(n=33321)),6407===i&&(5126===o&&(n=34837),5131===o&&(n=34843),5121===o&&(n=32849)),6408===i&&(5126===o&&(n=34836),5131===o&&(n=34842),5121===o&&(n=32856)),33325!==n&&33326!==n&&34842!==n&&34836!==n||e.get("EXT_color_buffer_float"),n}function E(A){return 1003===A||1004===A||1005===A?9728:9729}function B(e){var t=e.target;t.removeEventListener("dispose",B),function(e){var t=i.get(e);if(void 0===t.__webglInit)return;A.deleteTexture(t.__webglTexture),i.remove(e)}(t),t.isVideoTexture&&g.delete(t),r.memory.textures--}function x(e){var t=e.target;t.removeEventListener("dispose",x),function(e){var t=i.get(e),o=i.get(e.texture);if(!e)return;void 0!==o.__webglTexture&&A.deleteTexture(o.__webglTexture);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(var n=0;6>n;n++)A.deleteFramebuffer(t.__webglFramebuffer[n]),t.__webglDepthbuffer&&A.deleteRenderbuffer(t.__webglDepthbuffer[n]);else A.deleteFramebuffer(t.__webglFramebuffer),t.__webglDepthbuffer&&A.deleteRenderbuffer(t.__webglDepthbuffer),t.__webglMultisampledFramebuffer&&A.deleteFramebuffer(t.__webglMultisampledFramebuffer),t.__webglColorRenderbuffer&&A.deleteRenderbuffer(t.__webglColorRenderbuffer),t.__webglDepthRenderbuffer&&A.deleteRenderbuffer(t.__webglDepthRenderbuffer);i.remove(e.texture),i.remove(e)}(t),r.memory.textures--}var S=0;function w(A,e){var o=i.get(A);if(A.isVideoTexture&&function(A){var e=r.render.frame;g.get(A)!==e&&(g.set(A,e),A.update())}(A),A.version>0&&o.__version!==A.version){var n=A.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==n.complete)return void R(o,A,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}t.activeTexture(33984+e),t.bindTexture(3553,o.__webglTexture)}function M(e,o){if(6===e.image.length){var r=i.get(e);if(e.version>0&&r.__version!==e.version){Q(r,e),t.activeTexture(33984+o),t.bindTexture(34067,r.__webglTexture),A.pixelStorei(37440,e.flipY);for(var a=e&&(e.isCompressedTexture||e.image[0].isCompressedTexture),s=e.image[0]&&e.image[0].isDataTexture,c=[],d=0;6>d;d++)c[d]=a||s?s?e.image[d].image:e.image[d]:m(e.image[d],!1,!0,h);var p,g=c[0],u=C(g)||l,f=n.convert(e.format),E=n.convert(e.type),B=I(e.internalFormat,f,E);if(K(34067,e,u),a){for(d=0;6>d;d++){p=c[d].mipmaps;for(var x=0;p.length>x;x++){var S=p[x];1023!==e.format&&1022!==e.format?null!==f?t.compressedTexImage2D(34069+d,x,B,S.width,S.height,0,S.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):t.texImage2D(34069+d,x,B,S.width,S.height,0,f,E,S.data)}}r.__maxMipLevel=p.length-1}else{p=e.mipmaps;for(d=0;6>d;d++)if(s){t.texImage2D(34069+d,0,B,c[d].width,c[d].height,0,f,E,c[d].data);for(x=0;p.length>x;x++){var w=(S=p[x]).image[d].image;t.texImage2D(34069+d,x+1,B,w.width,w.height,0,f,E,w.data)}}else{t.texImage2D(34069+d,0,B,f,E,c[d]);for(x=0;p.length>x;x++){t.texImage2D(34069+d,x+1,B,f,E,(S=p[x]).image[d])}}r.__maxMipLevel=p.length}y(e,u)&&v(34067,e,g.width,g.height),r.__version=e.version,e.onUpdate&&e.onUpdate(e)}else t.activeTexture(33984+o),t.bindTexture(34067,r.__webglTexture)}}function b(A,e){t.activeTexture(33984+e),t.bindTexture(34067,i.get(A).__webglTexture)}var U={1e3:10497,1001:33071,1002:33648},F={1003:9728,1004:9984,1005:9986,1006:9729,1007:9985,1008:9987};function K(t,n,r){r?(A.texParameteri(t,10242,U[n.wrapS]),A.texParameteri(t,10243,U[n.wrapT]),32879!==t&&35866!==t||A.texParameteri(t,32882,U[n.wrapR]),A.texParameteri(t,10240,F[n.magFilter]),A.texParameteri(t,10241,F[n.minFilter])):(A.texParameteri(t,10242,33071),A.texParameteri(t,10243,33071),32879!==t&&35866!==t||A.texParameteri(t,32882,33071),1001===n.wrapS&&1001===n.wrapT||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),A.texParameteri(t,10240,E(n.magFilter)),A.texParameteri(t,10241,E(n.minFilter)),1003!==n.minFilter&&1006!==n.minFilter&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter."));var a=e.get("EXT_texture_filter_anisotropic");if(a){if(1015===n.type&&null===e.get("OES_texture_float_linear"))return;if(1016===n.type&&null===(l||e.get("OES_texture_half_float_linear")))return;(n.anisotropy>1||i.get(n).__currentAnisotropy)&&(A.texParameterf(t,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(n.anisotropy,o.getMaxAnisotropy())),i.get(n).__currentAnisotropy=n.anisotropy)}}function Q(e,t){void 0===e.__webglInit&&(e.__webglInit=!0,t.addEventListener("dispose",B),e.__webglTexture=A.createTexture(),r.memory.textures++)}function R(e,i,o){var r=3553;i.isDataTexture2DArray&&(r=35866),i.isDataTexture3D&&(r=32879),Q(e,i),t.activeTexture(33984+o),t.bindTexture(r,e.__webglTexture),A.pixelStorei(37440,i.flipY),A.pixelStorei(37441,i.premultiplyAlpha),A.pixelStorei(3317,i.unpackAlignment);var a=function(A){return!l&&(1001!==A.wrapS||1001!==A.wrapT||1003!==A.minFilter&&1006!==A.minFilter)}(i)&&!1===C(i.image),s=m(i.image,a,!1,d),c=C(s)||l,h=n.convert(i.format),p=n.convert(i.type),g=I(i.internalFormat,h,p);K(r,i,c);var u,f=i.mipmaps;if(i.isDepthTexture)g=6402,l?g=1015===i.type?36012:1014===i.type?33190:1020===i.type?35056:33189:1015===i.type&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),1026===i.format&&6402===g&&1012!==i.type&&1014!==i.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=1012,p=n.convert(i.type)),1027===i.format&&6402===g&&(g=34041,1020!==i.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=1020,p=n.convert(i.type))),t.texImage2D(3553,0,g,s.width,s.height,0,h,p,null);else if(i.isDataTexture)if(f.length>0&&c){for(var E=0,B=f.length;B>E;E++)t.texImage2D(3553,E,g,(u=f[E]).width,u.height,0,h,p,u.data);i.generateMipmaps=!1,e.__maxMipLevel=f.length-1}else t.texImage2D(3553,0,g,s.width,s.height,0,h,p,s.data),e.__maxMipLevel=0;else if(i.isCompressedTexture){for(E=0,B=f.length;B>E;E++)u=f[E],1023!==i.format&&1022!==i.format?null!==h?t.compressedTexImage2D(3553,E,g,u.width,u.height,0,u.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):t.texImage2D(3553,E,g,u.width,u.height,0,h,p,u.data);e.__maxMipLevel=f.length-1}else if(i.isDataTexture2DArray)t.texImage3D(35866,0,g,s.width,s.height,s.depth,0,h,p,s.data),e.__maxMipLevel=0;else if(i.isDataTexture3D)t.texImage3D(32879,0,g,s.width,s.height,s.depth,0,h,p,s.data),e.__maxMipLevel=0;else if(f.length>0&&c){for(E=0,B=f.length;B>E;E++)t.texImage2D(3553,E,g,h,p,u=f[E]);i.generateMipmaps=!1,e.__maxMipLevel=f.length-1}else t.texImage2D(3553,0,g,h,p,s),e.__maxMipLevel=0;y(i,c)&&v(r,i,s.width,s.height),e.__version=i.version,i.onUpdate&&i.onUpdate(i)}function T(e,o,r,a){var s=n.convert(o.texture.format),l=n.convert(o.texture.type),c=I(o.texture.internalFormat,s,l);t.texImage2D(a,0,c,o.width,o.height,0,s,l,null),A.bindFramebuffer(36160,e),A.framebufferTexture2D(36160,r,a,i.get(o.texture).__webglTexture,0),A.bindFramebuffer(36160,null)}function k(e,t,i){if(A.bindRenderbuffer(36161,e),t.depthBuffer&&!t.stencilBuffer){var o=33189;if(i){var r=t.depthTexture;r&&r.isDepthTexture&&(1015===r.type?o=36012:1014===r.type&&(o=33190));var a=L(t);A.renderbufferStorageMultisample(36161,a,o,t.width,t.height)}else A.renderbufferStorage(36161,o,t.width,t.height);A.framebufferRenderbuffer(36160,36096,36161,e)}else if(t.depthBuffer&&t.stencilBuffer){if(i){a=L(t);A.renderbufferStorageMultisample(36161,a,35056,t.width,t.height)}else A.renderbufferStorage(36161,34041,t.width,t.height);A.framebufferRenderbuffer(36160,33306,36161,e)}else{var s=n.convert(t.texture.format),l=n.convert(t.texture.type);o=I(t.texture.internalFormat,s,l);if(i){a=L(t);A.renderbufferStorageMultisample(36161,a,o,t.width,t.height)}else A.renderbufferStorage(36161,o,t.width,t.height)}A.bindRenderbuffer(36161,null)}function D(e){var t=i.get(e),o=!0===e.isWebGLCubeRenderTarget;if(e.depthTexture){if(o)throw new Error("target.depthTexture not supported in Cube render targets");!function(e,t){if(t&&t.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(A.bindFramebuffer(36160,e),!t.depthTexture||!t.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(t.depthTexture).__webglTexture&&t.depthTexture.image.width===t.width&&t.depthTexture.image.height===t.height||(t.depthTexture.image.width=t.width,t.depthTexture.image.height=t.height,t.depthTexture.needsUpdate=!0),w(t.depthTexture,0);var o=i.get(t.depthTexture).__webglTexture;if(1026===t.depthTexture.format)A.framebufferTexture2D(36160,36096,3553,o,0);else{if(1027!==t.depthTexture.format)throw new Error("Unknown depthTexture format");A.framebufferTexture2D(36160,33306,3553,o,0)}}(t.__webglFramebuffer,e)}else if(o){t.__webglDepthbuffer=[];for(var n=0;6>n;n++)A.bindFramebuffer(36160,t.__webglFramebuffer[n]),t.__webglDepthbuffer[n]=A.createRenderbuffer(),k(t.__webglDepthbuffer[n],e,!1)}else A.bindFramebuffer(36160,t.__webglFramebuffer),t.__webglDepthbuffer=A.createRenderbuffer(),k(t.__webglDepthbuffer,e,!1);A.bindFramebuffer(36160,null)}function L(A){return l&&A.isWebGLMultisampleRenderTarget?Math.min(p,A.samples):0}var N=!1,O=!1;this.allocateTextureUnit=function(){var A=S;return c>A||console.warn("THREE.WebGLTextures: Trying to use "+A+" texture units while this GPU supports only "+c),S+=1,A},this.resetTextureUnits=function(){S=0},this.setTexture2D=w,this.setTexture2DArray=function(A,e){var o=i.get(A);A.version>0&&o.__version!==A.version?R(o,A,e):(t.activeTexture(33984+e),t.bindTexture(35866,o.__webglTexture))},this.setTexture3D=function(A,e){var o=i.get(A);A.version>0&&o.__version!==A.version?R(o,A,e):(t.activeTexture(33984+e),t.bindTexture(32879,o.__webglTexture))},this.setTextureCube=M,this.setTextureCubeDynamic=b,this.setupRenderTarget=function(e){var o=i.get(e),a=i.get(e.texture);e.addEventListener("dispose",x),a.__webglTexture=A.createTexture(),r.memory.textures++;var s=!0===e.isWebGLCubeRenderTarget,c=!0===e.isWebGLMultisampleRenderTarget,h=C(e)||l;if(!l||1022!==e.texture.format||1015!==e.texture.type&&1016!==e.texture.type||(e.texture.format=1023,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),s){o.__webglFramebuffer=[];for(var d=0;6>d;d++)o.__webglFramebuffer[d]=A.createFramebuffer()}else if(o.__webglFramebuffer=A.createFramebuffer(),c)if(l){o.__webglMultisampledFramebuffer=A.createFramebuffer(),o.__webglColorRenderbuffer=A.createRenderbuffer(),A.bindRenderbuffer(36161,o.__webglColorRenderbuffer);var p=n.convert(e.texture.format),g=n.convert(e.texture.type),u=I(e.texture.internalFormat,p,g),f=L(e);A.renderbufferStorageMultisample(36161,f,u,e.width,e.height),A.bindFramebuffer(36160,o.__webglMultisampledFramebuffer),A.framebufferRenderbuffer(36160,36064,36161,o.__webglColorRenderbuffer),A.bindRenderbuffer(36161,null),e.depthBuffer&&(o.__webglDepthRenderbuffer=A.createRenderbuffer(),k(o.__webglDepthRenderbuffer,e,!0)),A.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(s){t.bindTexture(34067,a.__webglTexture),K(34067,e.texture,h);for(d=0;6>d;d++)T(o.__webglFramebuffer[d],e,36064,34069+d);y(e.texture,h)&&v(34067,e.texture,e.width,e.height),t.bindTexture(34067,null)}else t.bindTexture(3553,a.__webglTexture),K(3553,e.texture,h),T(o.__webglFramebuffer,e,36064,3553),y(e.texture,h)&&v(3553,e.texture,e.width,e.height),t.bindTexture(3553,null);e.depthBuffer&&D(e)},this.updateRenderTargetMipmap=function(A){var e=A.texture;if(y(e,C(A)||l)){var o=A.isWebGLCubeRenderTarget?34067:3553,n=i.get(e).__webglTexture;t.bindTexture(o,n),v(o,e,A.width,A.height),t.bindTexture(o,null)}},this.updateMultisampleRenderTarget=function(e){if(e.isWebGLMultisampleRenderTarget)if(l){var t=i.get(e);A.bindFramebuffer(36008,t.__webglMultisampledFramebuffer),A.bindFramebuffer(36009,t.__webglFramebuffer);var o=e.width,n=e.height,r=16384;e.depthBuffer&&(r|=256),e.stencilBuffer&&(r|=1024),A.blitFramebuffer(0,0,o,n,0,0,o,n,r,9728),A.bindFramebuffer(36160,t.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")},this.safeSetTexture2D=function(A,e){A&&A.isWebGLRenderTarget&&(!1===N&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),N=!0),A=A.texture),w(A,e)},this.safeSetTextureCube=function(A,e){A&&A.isWebGLCubeRenderTarget&&(!1===O&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),O=!0),A=A.texture),A&&A.isCubeTexture||Array.isArray(A.image)&&6===A.image.length?M(A,e):b(A,e)}}function zi(A,e,t){var i=t.isWebGL2;return{convert:function(A){var t;if(1009===A)return 5121;if(1017===A)return 32819;if(1018===A)return 32820;if(1019===A)return 33635;if(1010===A)return 5120;if(1011===A)return 5122;if(1012===A)return 5123;if(1013===A)return 5124;if(1014===A)return 5125;if(1015===A)return 5126;if(1016===A)return i?5131:null!==(t=e.get("OES_texture_half_float"))?t.HALF_FLOAT_OES:null;if(1021===A)return 6406;if(1022===A)return 6407;if(1023===A)return 6408;if(1024===A)return 6409;if(1025===A)return 6410;if(1026===A)return 6402;if(1027===A)return 34041;if(1028===A)return 6403;if(1029===A)return 36244;if(1030===A)return 33319;if(1031===A)return 33320;if(1032===A)return 36248;if(1033===A)return 36249;if(33776===A||33777===A||33778===A||33779===A){if(null===(t=e.get("WEBGL_compressed_texture_s3tc")))return null;if(33776===A)return t.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===A)return t.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===A)return t.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===A)return t.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===A||35841===A||35842===A||35843===A){if(null===(t=e.get("WEBGL_compressed_texture_pvrtc")))return null;if(35840===A)return t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===A)return t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===A)return t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===A)return t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===A)return null!==(t=e.get("WEBGL_compressed_texture_etc1"))?t.COMPRESSED_RGB_ETC1_WEBGL:null;if((37492===A||37496===A)&&null!==(t=e.get("WEBGL_compressed_texture_etc"))){if(37492===A)return t.COMPRESSED_RGB8_ETC2;if(37496===A)return t.COMPRESSED_RGBA8_ETC2_EAC}return 37808===A||37809===A||37810===A||37811===A||37812===A||37813===A||37814===A||37815===A||37816===A||37817===A||37818===A||37819===A||37820===A||37821===A||37840===A||37841===A||37842===A||37843===A||37844===A||37845===A||37846===A||37847===A||37848===A||37849===A||37850===A||37851===A||37852===A||37853===A?null!==(t=e.get("WEBGL_compressed_texture_astc"))?A:null:36492===A?null!==(t=e.get("EXT_texture_compression_bptc"))?A:null:1020===A?i?34042:null!==(t=e.get("WEBGL_depth_texture"))?t.UNSIGNED_INT_24_8_WEBGL:null:void 0}}}function Zi(A){je.call(this),this.cameras=A||[]}function Xi(){H.call(this),this.type="Group"}function _i(A,e){var t=this,i=null,o=1,n=null,r="local-floor",a=null,s=[],l=new Map,c=new je;c.layers.enable(1),c.viewport=new p;var h=new je;h.layers.enable(2),h.viewport=new p;var d=new Zi([c,h]);d.layers.enable(1),d.layers.enable(2);var g=null,u=null;function f(A){var e=l.get(A.inputSource);e&&(e.targetRay&&e.targetRay.dispatchEvent({type:A.type}),e.grip&&e.grip.dispatchEvent({type:A.type}))}function m(){l.forEach((function(A,e){A.targetRay&&(A.targetRay.dispatchEvent({type:"disconnected",data:e}),A.targetRay.visible=!1),A.grip&&(A.grip.dispatchEvent({type:"disconnected",data:e}),A.grip.visible=!1)})),l.clear(),A.setFramebuffer(null),A.setRenderTarget(A.getRenderTarget()),S.stop(),t.isPresenting=!1,t.dispatchEvent({type:"sessionend"})}function C(A){n=A,S.setContext(i),S.start(),t.isPresenting=!0,t.dispatchEvent({type:"sessionstart"})}function v(A){for(var e=i.inputSources,t=0;s.length>t;t++)l.set(e[t],s[t]);for(t=0;A.removed.length>t;t++){(n=l.get(o=A.removed[t]))&&(n.targetRay&&n.targetRay.dispatchEvent({type:"disconnected",data:o}),n.grip&&n.grip.dispatchEvent({type:"disconnected",data:o}),l.delete(o))}for(t=0;A.added.length>t;t++){var o,n;(n=l.get(o=A.added[t]))&&(n.targetRay&&n.targetRay.dispatchEvent({type:"connected",data:o}),n.grip&&n.grip.dispatchEvent({type:"connected",data:o}))}}this.enabled=!1,this.isPresenting=!1,this.getController=function(A){var e=s[A];return void 0===e&&(s[A]=e={}),void 0===e.targetRay&&(e.targetRay=new Xi,e.targetRay.matrixAutoUpdate=!1,e.targetRay.visible=!1),e.targetRay},this.getControllerGrip=function(A){var e=s[A];return void 0===e&&(s[A]=e={}),void 0===e.grip&&(e.grip=new Xi,e.grip.matrixAutoUpdate=!1,e.grip.visible=!1),e.grip},this.setFramebufferScaleFactor=function(A){o=A,1==t.isPresenting&&console.warn("WebXRManager: Cannot change framebuffer scale while presenting VR content")},this.setReferenceSpaceType=function(A){r=A},this.getReferenceSpace=function(){return n},this.getSession=function(){return i},this.setSession=function(A){if(null!==(i=A)){i.addEventListener("select",f),i.addEventListener("selectstart",f),i.addEventListener("selectend",f),i.addEventListener("squeeze",f),i.addEventListener("squeezestart",f),i.addEventListener("squeezeend",f),i.addEventListener("end",m);var t=e.getContextAttributes(),n=new XRWebGLLayer(i,e,{antialias:t.antialias,alpha:t.alpha,depth:t.depth,stencil:t.stencil,framebufferScaleFactor:o});i.updateRenderState({baseLayer:n}),i.requestReferenceSpace(r).then(C),i.addEventListener("inputsourceschange",v)}};var I=new y,E=new y;function B(A,e){null===e?A.matrixWorld.copy(A.matrix):A.matrixWorld.multiplyMatrices(e.matrixWorld,A.matrix),A.matrixWorldInverse.getInverse(A.matrixWorld)}this.getCamera=function(A){d.near=h.near=c.near=A.near,d.far=h.far=c.far=A.far,g===d.near&&u===d.far||(i.updateRenderState({depthNear:d.near,depthFar:d.far}),g=d.near,u=d.far);var e=A.parent,t=d.cameras;B(d,e);for(var o=0;t.length>o;o++)B(t[o],e);A.matrixWorld.copy(d.matrixWorld);for(var n=A.children,r=(o=0,n.length);r>o;o++)n[o].updateMatrixWorld(!0);return function(A,e,t){I.setFromMatrixPosition(e.matrixWorld),E.setFromMatrixPosition(t.matrixWorld);var i=I.distanceTo(E),o=e.projectionMatrix.elements,n=t.projectionMatrix.elements,r=o[14]/(o[10]-1),a=o[14]/(o[10]+1),s=(o[9]+1)/o[5],l=(o[9]-1)/o[5],c=(o[8]-1)/o[0],h=(n[8]+1)/n[0],d=r*c,p=r*h,g=i/(-c+h),u=g*-c;e.matrixWorld.decompose(A.position,A.quaternion,A.scale),A.translateX(u),A.translateZ(g),A.matrixWorld.compose(A.position,A.quaternion,A.scale),A.matrixWorldInverse.getInverse(A.matrixWorld);var f=r+g,m=a+g;A.projectionMatrix.makePerspective(d-u,p+(i-u),s*a/m*f,l*a/m*f,f,m)}(d,c,h),d};var x=null;var S=new _e;S.setAnimationLoop((function(e,t){if(null!==(a=t.getViewerPose(n))){var o=a.views,r=i.renderState.baseLayer;A.setFramebuffer(r.framebuffer);for(var l=0;o.length>l;l++){var c=o[l],h=r.getViewport(c),p=d.cameras[l];p.matrix.fromArray(c.transform.matrix),p.projectionMatrix.fromArray(c.projectionMatrix),p.viewport.set(h.x,h.y,h.width,h.height),0===l&&d.matrix.copy(p.matrix)}}var g=i.inputSources;for(l=0;s.length>l;l++){var u=s[l],f=g[l],m=null,C=null;f&&(u.targetRay&&null!==(m=t.getPose(f.targetRaySpace,n))&&(u.targetRay.matrix.fromArray(m.transform.matrix),u.targetRay.matrix.decompose(u.targetRay.position,u.targetRay.rotation,u.targetRay.scale)),u.grip&&f.gripSpace&&null!==(C=t.getPose(f.gripSpace,n))&&(u.grip.matrix.fromArray(C.transform.matrix),u.grip.matrix.decompose(u.grip.position,u.grip.rotation,u.grip.scale))),u.targetRay&&(u.targetRay.visible=null!==m),u.grip&&(u.grip.visible=null!==C)}x&&x(e,t)})),this.setAnimationLoop=function(A){x=A},this.dispose=function(){}}function $i(A){var e=void 0!==(A=A||{}).canvas?A.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),t=void 0!==A.context?A.context:null,i=void 0!==A.alpha&&A.alpha,o=void 0===A.depth||A.depth,n=void 0===A.stencil||A.stencil,r=void 0!==A.antialias&&A.antialias,l=void 0===A.premultipliedAlpha||A.premultipliedAlpha,c=void 0!==A.preserveDrawingBuffer&&A.preserveDrawingBuffer,h=void 0!==A.powerPreference?A.powerPreference:"default",d=void 0!==A.failIfMajorPerformanceCaveat&&A.failIfMajorPerformanceCaveat,g=null,u=null;this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.outputEncoding=3e3,this.physicallyCorrectLights=!1,this.toneMapping=1,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var f,m,C,v,I,E,B,x,S,w,b,U,F,K,Q,R,T,k,D=this,L=!1,N=null,O=0,V=0,G=null,P=null,q=-1,j={geometry:null,program:null,wireframe:!1},H=null,W=null,J=new p,z=new p,Z=null,X=e.width,_=e.height,$=1,AA=null,eA=null,tA=new p(0,0,X,_),iA=new p(0,0,X,_),oA=!1,nA=new Ze,rA=new at,aA=!1,sA=!1,lA=new M,cA=new y;function hA(){return null===G?$:1}try{var dA={alpha:i,depth:o,stencil:n,antialias:r,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:h,failIfMajorPerformanceCaveat:d,xrCompatible:!0};if(e.addEventListener("webglcontextlost",fA,!1),e.addEventListener("webglcontextrestored",mA,!1),null===(f=t||e.getContext("webgl",dA)||e.getContext("experimental-webgl",dA)))throw null!==e.getContext("webgl")?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.");void 0===f.getShaderPrecisionFormat&&(f.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(A){throw console.error("THREE.WebGLRenderer: "+A.message),A}function pA(){m=new st(f),!1===(C=new rt(f,m,A)).isWebGL2&&(m.get("WEBGL_depth_texture"),m.get("OES_texture_float"),m.get("OES_texture_half_float"),m.get("OES_texture_half_float_linear"),m.get("OES_standard_derivatives"),m.get("OES_element_index_uint"),m.get("ANGLE_instanced_arrays")),m.get("OES_texture_float_linear"),k=new zi(f,m,C),(v=new Wi(f,m,C)).scissor(z.copy(iA).multiplyScalar($).floor()),v.viewport(J.copy(tA).multiplyScalar($).floor()),I=new ht(f),E=new Ri,B=new Ji(f,m,v,E,C,k,I),x=new $e(f,C),S=new lt(f,x,I),w=new gt(f,S,x,I),Q=new pt(f),b=new Qi(D,m,C),U=new Li,F=new qi,K=new ot(D,v,w,l),R=new nt(f,m,I,C),T=new ct(f,m,I,C),I.programs=b.programs,D.capabilities=C,D.extensions=m,D.properties=E,D.renderLists=U,D.state=v,D.info=I}pA();var gA=new _i(D,f);this.xr=gA;var uA=new Yi(D,w,C.maxTextureSize);function fA(A){A.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),L=!0}function mA(){console.log("THREE.WebGLRenderer: Context Restored."),L=!1,pA()}function CA(A){var e=A.target;e.removeEventListener("dispose",CA),function(A){yA(A),E.remove(A)}(e)}function yA(A){var e=E.get(A).program;A.program=void 0,void 0!==e&&b.releaseProgram(e)}this.shadowMap=uA,this.getContext=function(){return f},this.getContextAttributes=function(){return f.getContextAttributes()},this.forceContextLoss=function(){var A=m.get("WEBGL_lose_context");A&&A.loseContext()},this.forceContextRestore=function(){var A=m.get("WEBGL_lose_context");A&&A.restoreContext()},this.getPixelRatio=function(){return $},this.setPixelRatio=function(A){void 0!==A&&($=A,this.setSize(X,_,!1))},this.getSize=function(A){return void 0===A&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),A=new s),A.set(X,_)},this.setSize=function(A,t,i){gA.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(X=A,_=t,e.width=Math.floor(A*$),e.height=Math.floor(t*$),!1!==i&&(e.style.width=A+"px",e.style.height=t+"px"),this.setViewport(0,0,A,t))},this.getDrawingBufferSize=function(A){return void 0===A&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),A=new s),A.set(X*$,_*$).floor()},this.setDrawingBufferSize=function(A,t,i){X=A,_=t,$=i,e.width=Math.floor(A*i),e.height=Math.floor(t*i),this.setViewport(0,0,A,t)},this.getCurrentViewport=function(A){return void 0===A&&(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),A=new p),A.copy(J)},this.getViewport=function(A){return A.copy(tA)},this.setViewport=function(A,e,t,i){A.isVector4?tA.set(A.x,A.y,A.z,A.w):tA.set(A,e,t,i),v.viewport(J.copy(tA).multiplyScalar($).floor())},this.getScissor=function(A){return A.copy(iA)},this.setScissor=function(A,e,t,i){A.isVector4?iA.set(A.x,A.y,A.z,A.w):iA.set(A,e,t,i),v.scissor(z.copy(iA).multiplyScalar($).floor())},this.getScissorTest=function(){return oA},this.setScissorTest=function(A){v.setScissorTest(oA=A)},this.setOpaqueSort=function(A){AA=A},this.setTransparentSort=function(A){eA=A},this.getClearColor=function(){return K.getClearColor()},this.setClearColor=function(){K.setClearColor.apply(K,arguments)},this.getClearAlpha=function(){return K.getClearAlpha()},this.setClearAlpha=function(){K.setClearAlpha.apply(K,arguments)},this.clear=function(A,e,t){var i=0;(void 0===A||A)&&(i|=16384),(void 0===e||e)&&(i|=256),(void 0===t||t)&&(i|=1024),f.clear(i)},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.dispose=function(){e.removeEventListener("webglcontextlost",fA,!1),e.removeEventListener("webglcontextrestored",mA,!1),U.dispose(),F.dispose(),E.dispose(),w.dispose(),gA.dispose(),EA.stop(),this.forceContextLoss()},this.renderBufferImmediate=function(A,e){v.initAttributes();var t=E.get(A);A.hasPositions&&!t.position&&(t.position=f.createBuffer()),A.hasNormals&&!t.normal&&(t.normal=f.createBuffer()),A.hasUvs&&!t.uv&&(t.uv=f.createBuffer()),A.hasColors&&!t.color&&(t.color=f.createBuffer());var i=e.getAttributes();A.hasPositions&&(f.bindBuffer(34962,t.position),f.bufferData(34962,A.positionArray,35048),v.enableAttribute(i.position),f.vertexAttribPointer(i.position,3,5126,!1,0,0)),A.hasNormals&&(f.bindBuffer(34962,t.normal),f.bufferData(34962,A.normalArray,35048),v.enableAttribute(i.normal),f.vertexAttribPointer(i.normal,3,5126,!1,0,0)),A.hasUvs&&(f.bindBuffer(34962,t.uv),f.bufferData(34962,A.uvArray,35048),v.enableAttribute(i.uv),f.vertexAttribPointer(i.uv,2,5126,!1,0,0)),A.hasColors&&(f.bindBuffer(34962,t.color),f.bufferData(34962,A.colorArray,35048),v.enableAttribute(i.color),f.vertexAttribPointer(i.color,3,5126,!1,0,0)),v.disableUnusedAttributes(),f.drawArrays(4,0,A.count),A.count=0};var vA=new Y;this.renderBufferDirect=function(A,e,t,i,o,n){null===e&&(e=vA);var r=o.isMesh&&0>o.matrixWorld.determinant(),a=MA(A,e,i,o);v.setMaterial(i,r);var s=!1;j.geometry===t.id&&j.program===a.id&&j.wireframe===(!0===i.wireframe)||(j.geometry=t.id,j.program=a.id,j.wireframe=!0===i.wireframe,s=!0),(i.morphTargets||i.morphNormals)&&(Q.update(o,t,i,a),s=!0);var l=t.index,c=t.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;var h,d=1;!0===i.wireframe&&(l=S.getWireframeAttribute(t),d=2);var p=R;null!==l&&(h=x.get(l),(p=T).setIndex(h)),s&&(!function(A,e,t,i){if(!1===C.isWebGL2&&(A.isInstancedMesh||e.isInstancedBufferGeometry)&&null===m.get("ANGLE_instanced_arrays"))return;v.initAttributes();var o=e.attributes,n=i.getAttributes(),r=t.defaultAttributeValues;for(var a in n){var s=n[a];if(s>=0){var l=o[a];if(void 0!==l){var c=l.normalized,h=l.itemSize;if(void 0===(E=x.get(l)))continue;var d=E.buffer,p=E.type,g=E.bytesPerElement;if(l.isInterleavedBufferAttribute){var u=l.data,y=u.stride,I=l.offset;u&&u.isInstancedInterleavedBuffer?(v.enableAttributeAndDivisor(s,u.meshPerAttribute),void 0===e.maxInstancedCount&&(e.maxInstancedCount=u.meshPerAttribute*u.count)):v.enableAttribute(s),f.bindBuffer(34962,d),f.vertexAttribPointer(s,h,p,c,y*g,I*g)}else l.isInstancedBufferAttribute?(v.enableAttributeAndDivisor(s,l.meshPerAttribute),void 0===e.maxInstancedCount&&(e.maxInstancedCount=l.meshPerAttribute*l.count)):v.enableAttribute(s),f.bindBuffer(34962,d),f.vertexAttribPointer(s,h,p,c,0,0)}else if("instanceMatrix"===a){var E;if(void 0===(E=x.get(A.instanceMatrix)))continue;d=E.buffer,p=E.type;v.enableAttributeAndDivisor(s+0,1),v.enableAttributeAndDivisor(s+1,1),v.enableAttributeAndDivisor(s+2,1),v.enableAttributeAndDivisor(s+3,1),f.bindBuffer(34962,d),f.vertexAttribPointer(s+0,4,p,!1,64,0),f.vertexAttribPointer(s+1,4,p,!1,64,16),f.vertexAttribPointer(s+2,4,p,!1,64,32),f.vertexAttribPointer(s+3,4,p,!1,64,48)}else if(void 0!==r){var B=r[a];if(void 0!==B)switch(B.length){case 2:f.vertexAttrib2fv(s,B);break;case 3:f.vertexAttrib3fv(s,B);break;case 4:f.vertexAttrib4fv(s,B);break;default:f.vertexAttrib1fv(s,B)}}}}v.disableUnusedAttributes()}(o,t,i,a),null!==l&&f.bindBuffer(34963,h.buffer));var g=null!==l?l.count:c.count,u=t.drawRange.start*d,y=t.drawRange.count*d,I=null!==n?n.start*d:0,E=null!==n?n.count*d:1/0,B=Math.max(u,I),w=Math.min(g,u+y,I+E)-1,M=Math.max(0,w-B+1);if(0!==M){if(o.isMesh)!0===i.wireframe?(v.setLineWidth(i.wireframeLinewidth*hA()),p.setMode(1)):p.setMode(4);else if(o.isLine){var b=i.linewidth;void 0===b&&(b=1),v.setLineWidth(b*hA()),p.setMode(o.isLineSegments?1:o.isLineLoop?2:3)}else o.isPoints?p.setMode(0):o.isSprite&&p.setMode(4);o.isInstancedMesh?p.renderInstances(t,B,M,o.count):t.isInstancedBufferGeometry?p.renderInstances(t,B,M,t.maxInstancedCount):p.render(B,M)}},this.compile=function(A,e){(u=F.get(A,e)).init(),A.traverse((function(A){A.isLight&&(u.pushLight(A),A.castShadow&&u.pushShadow(A))})),u.setupLights(e);var t={};A.traverse((function(e){if(e.material)if(Array.isArray(e.material))for(var i=0;e.material.length>i;i++)e.material[i].uuid in t==!1&&(wA(e.material[i],A,e),t[e.material[i].uuid]=!0);else e.material.uuid in t==!1&&(wA(e.material,A,e),t[e.material.uuid]=!0)}))};var IA=null;var EA=new _e;function BA(A,e,t,i){if(!1!==A.visible){if(A.layers.test(e.layers))if(A.isGroup)t=A.renderOrder;else if(A.isLOD)!0===A.autoUpdate&&A.update(e);else if(A.isLight)u.pushLight(A),A.castShadow&&u.pushShadow(A);else if(A.isSprite){if(!A.frustumCulled||nA.intersectsSprite(A)){i&&cA.setFromMatrixPosition(A.matrixWorld).applyMatrix4(lA);var o=w.update(A);(n=A.material).visible&&g.push(A,o,n,t,cA.z,null)}}else if(A.isImmediateRenderObject)i&&cA.setFromMatrixPosition(A.matrixWorld).applyMatrix4(lA),g.push(A,null,A.material,t,cA.z,null);else if((A.isMesh||A.isLine||A.isPoints)&&(A.isSkinnedMesh&&A.skeleton.frame!==I.render.frame&&(A.skeleton.update(),A.skeleton.frame=I.render.frame),!A.frustumCulled||nA.intersectsObject(A))){i&&cA.setFromMatrixPosition(A.matrixWorld).applyMatrix4(lA);o=w.update(A);var n=A.material;if(Array.isArray(n))for(var r=o.groups,a=0,s=r.length;s>a;a++){var l=r[a],c=n[l.materialIndex];c&&c.visible&&g.push(A,o,c,t,cA.z,l)}else n.visible&&g.push(A,o,n,t,cA.z,null)}var h=A.children;for(a=0,s=h.length;s>a;a++)BA(h[a],e,t,i)}}function xA(A,e,t,i){for(var o=0,n=A.length;n>o;o++){var r=A[o],a=r.object,s=r.geometry,l=void 0===i?r.material:i,c=r.group;if(t.isArrayCamera){W=t;for(var h=t.cameras,d=0,p=h.length;p>d;d++){var g=h[d];a.layers.test(g.layers)&&(v.viewport(J.copy(g.viewport)),u.setupLights(g),SA(a,e,g,s,l,c))}}else W=null,SA(a,e,t,s,l,c)}}function SA(A,e,t,i,o,n){if(A.onBeforeRender(D,e,t,i,o,n),u=F.get(e,W||t),A.modelViewMatrix.multiplyMatrices(t.matrixWorldInverse,A.matrixWorld),A.normalMatrix.getNormalMatrix(A.modelViewMatrix),A.isImmediateRenderObject){var r=MA(t,e,o,A);v.setMaterial(o),j.geometry=null,j.program=null,j.wireframe=!1,function(A,e){A.render((function(A){D.renderBufferImmediate(A,e)}))}(A,r)}else D.renderBufferDirect(t,e,i,o,A,n);A.onAfterRender(D,e,t,i,o,n),u=F.get(e,W||t)}function wA(A,e,t){var i=E.get(A),o=u.state.lights,n=o.state.version,r=b.getParameters(A,o.state,u.state.shadowsArray,e,rA.numPlanes,rA.numIntersection,t),a=b.getProgramCacheKey(r),s=i.program,l=!0;if(void 0===s)A.addEventListener("dispose",CA);else if(s.cacheKey!==a)yA(A);else if(i.lightsStateVersion!==n)i.lightsStateVersion=n,l=!1;else{if(void 0!==r.shaderID)return;l=!1}l&&(s=b.acquireProgram(r,a),i.program=s,i.uniforms=r.uniforms,i.environment=A.isMeshStandardMaterial?e.environment:null,i.outputEncoding=D.outputEncoding,A.program=s);var c=s.getAttributes();if(A.morphTargets){A.numSupportedMorphTargets=0;for(var h=0;D.maxMorphTargets>h;h++)0>c["morphTarget"+h]||A.numSupportedMorphTargets++}if(A.morphNormals){A.numSupportedMorphNormals=0;for(h=0;D.maxMorphNormals>h;h++)0>c["morphNormal"+h]||A.numSupportedMorphNormals++}var d=i.uniforms;(A.isShaderMaterial||A.isRawShaderMaterial)&&!0!==A.clipping||(i.numClippingPlanes=rA.numPlanes,i.numIntersection=rA.numIntersection,d.clippingPlanes=rA.uniform),i.fog=e.fog,i.needsLights=function(A){return A.isMeshLambertMaterial||A.isMeshToonMaterial||A.isMeshPhongMaterial||A.isMeshStandardMaterial||A.isShadowMaterial||A.isShaderMaterial&&!0===A.lights}(A),i.lightsStateVersion=n,i.needsLights&&(d.ambientLightColor.value=o.state.ambient,d.lightProbe.value=o.state.probe,d.directionalLights.value=o.state.directional,d.directionalLightShadows.value=o.state.directionalShadow,d.spotLights.value=o.state.spot,d.spotLightShadows.value=o.state.spotShadow,d.rectAreaLights.value=o.state.rectArea,d.pointLights.value=o.state.point,d.pointLightShadows.value=o.state.pointShadow,d.hemisphereLights.value=o.state.hemi,d.directionalShadowMap.value=o.state.directionalShadowMap,d.directionalShadowMatrix.value=o.state.directionalShadowMatrix,d.spotShadowMap.value=o.state.spotShadowMap,d.spotShadowMatrix.value=o.state.spotShadowMatrix,d.pointShadowMap.value=o.state.pointShadowMap,d.pointShadowMatrix.value=o.state.pointShadowMatrix);var p=i.program.getUniforms(),g=di.seqWithValue(p.seq,d);i.uniformsList=g}function MA(A,e,t,i){B.resetTextureUnits();var o=e.fog,n=t.isMeshStandardMaterial?e.environment:null,r=E.get(t),s=u.state.lights;aA&&((sA||A!==H)&&rA.setState(t.clippingPlanes,t.clipIntersection,t.clipShadows,A,r,A===H&&t.id===q));t.version===r.__version?void 0===r.program||t.fog&&r.fog!==o||r.environment!==n||r.needsLights&&r.lightsStateVersion!==s.state.version?wA(t,e,i):void 0===r.numClippingPlanes||r.numClippingPlanes===rA.numPlanes&&r.numIntersection===rA.numIntersection?r.outputEncoding!==D.outputEncoding&&wA(t,e,i):wA(t,e,i):(wA(t,e,i),r.__version=t.version);var l,c,h=!1,d=!1,p=!1,g=r.program,m=g.getUniforms(),y=r.uniforms;if(v.useProgram(g.program)&&(h=!0,d=!0,p=!0),t.id!==q&&(q=t.id,d=!0),h||H!==A){if(m.setValue(f,"projectionMatrix",A.projectionMatrix),C.logarithmicDepthBuffer&&m.setValue(f,"logDepthBufFC",2/(Math.log(A.far+1)/Math.LN2)),H!==A&&(H=A,d=!0,p=!0),t.isShaderMaterial||t.isMeshPhongMaterial||t.isMeshToonMaterial||t.isMeshStandardMaterial||t.envMap){var I=m.map.cameraPosition;void 0!==I&&I.setValue(f,cA.setFromMatrixPosition(A.matrixWorld))}(t.isMeshPhongMaterial||t.isMeshToonMaterial||t.isMeshLambertMaterial||t.isMeshBasicMaterial||t.isMeshStandardMaterial||t.isShaderMaterial)&&m.setValue(f,"isOrthographic",!0===A.isOrthographicCamera),(t.isMeshPhongMaterial||t.isMeshToonMaterial||t.isMeshLambertMaterial||t.isMeshBasicMaterial||t.isMeshStandardMaterial||t.isShaderMaterial||t.skinning)&&m.setValue(f,"viewMatrix",A.matrixWorldInverse)}if(t.skinning){m.setOptional(f,i,"bindMatrix"),m.setOptional(f,i,"bindMatrixInverse");var x=i.skeleton;if(x)if(C.floatVertexTextures){if(void 0===x.boneTexture){var S=Math.sqrt(4*x.bones.length);S=a.ceilPowerOfTwo(S),S=Math.max(S,4);var w=new Float32Array(S*S*4);w.set(x.boneMatrices);var M=new We(w,S,S,1023,1015);x.boneMatrices=w,x.boneTexture=M,x.boneTextureSize=S}m.setValue(f,"boneTexture",x.boneTexture,B),m.setValue(f,"boneTextureSize",x.boneTextureSize)}else m.setOptional(f,x,"boneMatrices")}return(d||r.receiveShadow!==i.receiveShadow)&&(r.receiveShadow=i.receiveShadow,m.setValue(f,"receiveShadow",i.receiveShadow)),d&&(m.setValue(f,"toneMappingExposure",D.toneMappingExposure),m.setValue(f,"toneMappingWhitePoint",D.toneMappingWhitePoint),r.needsLights&&((l=y).ambientLightColor.needsUpdate=c=p,l.lightProbe.needsUpdate=c,l.directionalLights.needsUpdate=c,l.directionalLightShadows.needsUpdate=c,l.pointLights.needsUpdate=c,l.pointLightShadows.needsUpdate=c,l.spotLights.needsUpdate=c,l.spotLightShadows.needsUpdate=c,l.rectAreaLights.needsUpdate=c,l.hemisphereLights.needsUpdate=c),o&&t.fog&&function(A,e){A.fogColor.value.copy(e.color),e.isFog?(A.fogNear.value=e.near,A.fogFar.value=e.far):e.isFogExp2&&(A.fogDensity.value=e.density)}(y,o),t.isMeshBasicMaterial?bA(y,t):t.isMeshLambertMaterial?(bA(y,t),function(A,e){e.emissiveMap&&(A.emissiveMap.value=e.emissiveMap)}(y,t)):t.isMeshToonMaterial?(bA(y,t),function(A,e){A.specular.value.copy(e.specular),A.shininess.value=Math.max(e.shininess,1e-4),e.gradientMap&&(A.gradientMap.value=e.gradientMap);e.emissiveMap&&(A.emissiveMap.value=e.emissiveMap);e.bumpMap&&(A.bumpMap.value=e.bumpMap,A.bumpScale.value=e.bumpScale,1===e.side&&(A.bumpScale.value*=-1));e.normalMap&&(A.normalMap.value=e.normalMap,A.normalScale.value.copy(e.normalScale),1===e.side&&A.normalScale.value.negate());e.displacementMap&&(A.displacementMap.value=e.displacementMap,A.displacementScale.value=e.displacementScale,A.displacementBias.value=e.displacementBias)}(y,t)):t.isMeshPhongMaterial?(bA(y,t),function(A,e){A.specular.value.copy(e.specular),A.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(A.emissiveMap.value=e.emissiveMap);e.bumpMap&&(A.bumpMap.value=e.bumpMap,A.bumpScale.value=e.bumpScale,1===e.side&&(A.bumpScale.value*=-1));e.normalMap&&(A.normalMap.value=e.normalMap,A.normalScale.value.copy(e.normalScale),1===e.side&&A.normalScale.value.negate());e.displacementMap&&(A.displacementMap.value=e.displacementMap,A.displacementScale.value=e.displacementScale,A.displacementBias.value=e.displacementBias)}(y,t)):t.isMeshStandardMaterial?(bA(y,t,n),t.isMeshPhysicalMaterial?function(A,e,t){UA(A,e,t),A.reflectivity.value=e.reflectivity,A.clearcoat.value=e.clearcoat,A.clearcoatRoughness.value=e.clearcoatRoughness,e.sheen&&A.sheen.value.copy(e.sheen);e.clearcoatMap&&(A.clearcoatMap.value=e.clearcoatMap);e.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap);e.clearcoatNormalMap&&(A.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),A.clearcoatNormalMap.value=e.clearcoatNormalMap,1===e.side&&A.clearcoatNormalScale.value.negate());A.transparency.value=e.transparency}(y,t,n):UA(y,t,n)):t.isMeshMatcapMaterial?(bA(y,t),function(A,e){e.matcap&&(A.matcap.value=e.matcap);e.bumpMap&&(A.bumpMap.value=e.bumpMap,A.bumpScale.value=e.bumpScale,1===e.side&&(A.bumpScale.value*=-1));e.normalMap&&(A.normalMap.value=e.normalMap,A.normalScale.value.copy(e.normalScale),1===e.side&&A.normalScale.value.negate());e.displacementMap&&(A.displacementMap.value=e.displacementMap,A.displacementScale.value=e.displacementScale,A.displacementBias.value=e.displacementBias)}(y,t)):t.isMeshDepthMaterial?(bA(y,t),function(A,e){e.displacementMap&&(A.displacementMap.value=e.displacementMap,A.displacementScale.value=e.displacementScale,A.displacementBias.value=e.displacementBias)}(y,t)):t.isMeshDistanceMaterial?(bA(y,t),function(A,e){e.displacementMap&&(A.displacementMap.value=e.displacementMap,A.displacementScale.value=e.displacementScale,A.displacementBias.value=e.displacementBias);A.referencePosition.value.copy(e.referencePosition),A.nearDistance.value=e.nearDistance,A.farDistance.value=e.farDistance}(y,t)):t.isMeshNormalMaterial?(bA(y,t),function(A,e){e.bumpMap&&(A.bumpMap.value=e.bumpMap,A.bumpScale.value=e.bumpScale,1===e.side&&(A.bumpScale.value*=-1));e.normalMap&&(A.normalMap.value=e.normalMap,A.normalScale.value.copy(e.normalScale),1===e.side&&A.normalScale.value.negate());e.displacementMap&&(A.displacementMap.value=e.displacementMap,A.displacementScale.value=e.displacementScale,A.displacementBias.value=e.displacementBias)}(y,t)):t.isLineBasicMaterial?(function(A,e){A.diffuse.value.copy(e.color),A.opacity.value=e.opacity}(y,t),t.isLineDashedMaterial&&function(A,e){A.dashSize.value=e.dashSize,A.totalSize.value=e.dashSize+e.gapSize,A.scale.value=e.scale}(y,t)):t.isPointsMaterial?function(A,e){A.diffuse.value.copy(e.color),A.opacity.value=e.opacity,A.size.value=e.size*$,A.scale.value=.5*_,e.map&&(A.map.value=e.map);e.alphaMap&&(A.alphaMap.value=e.alphaMap);var t;e.map?t=e.map:e.alphaMap&&(t=e.alphaMap);void 0!==t&&(!0===t.matrixAutoUpdate&&t.updateMatrix(),A.uvTransform.value.copy(t.matrix))}(y,t):t.isSpriteMaterial?function(A,e){A.diffuse.value.copy(e.color),A.opacity.value=e.opacity,A.rotation.value=e.rotation,e.map&&(A.map.value=e.map);e.alphaMap&&(A.alphaMap.value=e.alphaMap);var t;e.map?t=e.map:e.alphaMap&&(t=e.alphaMap);void 0!==t&&(!0===t.matrixAutoUpdate&&t.updateMatrix(),A.uvTransform.value.copy(t.matrix))}(y,t):t.isShadowMaterial&&(y.color.value.copy(t.color),y.opacity.value=t.opacity),void 0!==y.ltc_1&&(y.ltc_1.value=Xe.LTC_1),void 0!==y.ltc_2&&(y.ltc_2.value=Xe.LTC_2),di.upload(f,r.uniformsList,y,B),t.isShaderMaterial&&(t.uniformsNeedUpdate=!1)),t.isShaderMaterial&&!0===t.uniformsNeedUpdate&&(di.upload(f,r.uniformsList,y,B),t.uniformsNeedUpdate=!1),t.isSpriteMaterial&&m.setValue(f,"center",i.center),m.setValue(f,"modelViewMatrix",i.modelViewMatrix),m.setValue(f,"normalMatrix",i.normalMatrix),m.setValue(f,"modelMatrix",i.matrixWorld),g}function bA(A,e,t){A.opacity.value=e.opacity,e.color&&A.diffuse.value.copy(e.color),e.emissive&&A.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity),e.map&&(A.map.value=e.map),e.alphaMap&&(A.alphaMap.value=e.alphaMap),e.specularMap&&(A.specularMap.value=e.specularMap);var i,o,n=e.envMap||t;n&&(A.envMap.value=n,A.flipEnvMap.value=n.isCubeTexture?-1:1,A.reflectivity.value=e.reflectivity,A.refractionRatio.value=e.refractionRatio,A.maxMipLevel.value=E.get(n).__maxMipLevel),e.lightMap&&(A.lightMap.value=e.lightMap,A.lightMapIntensity.value=e.lightMapIntensity),e.aoMap&&(A.aoMap.value=e.aoMap,A.aoMapIntensity.value=e.aoMapIntensity),e.map?i=e.map:e.specularMap?i=e.specularMap:e.displacementMap?i=e.displacementMap:e.normalMap?i=e.normalMap:e.bumpMap?i=e.bumpMap:e.roughnessMap?i=e.roughnessMap:e.metalnessMap?i=e.metalnessMap:e.alphaMap?i=e.alphaMap:e.emissiveMap&&(i=e.emissiveMap),void 0!==i&&(i.isWebGLRenderTarget&&(i=i.texture),!0===i.matrixAutoUpdate&&i.updateMatrix(),A.uvTransform.value.copy(i.matrix)),e.aoMap?o=e.aoMap:e.lightMap&&(o=e.lightMap),void 0!==o&&(o.isWebGLRenderTarget&&(o=o.texture),!0===o.matrixAutoUpdate&&o.updateMatrix(),A.uv2Transform.value.copy(o.matrix))}function UA(A,e,t){A.roughness.value=e.roughness,A.metalness.value=e.metalness,e.roughnessMap&&(A.roughnessMap.value=e.roughnessMap),e.metalnessMap&&(A.metalnessMap.value=e.metalnessMap),e.emissiveMap&&(A.emissiveMap.value=e.emissiveMap),e.bumpMap&&(A.bumpMap.value=e.bumpMap,A.bumpScale.value=e.bumpScale,1===e.side&&(A.bumpScale.value*=-1)),e.normalMap&&(A.normalMap.value=e.normalMap,A.normalScale.value.copy(e.normalScale),1===e.side&&A.normalScale.value.negate()),e.displacementMap&&(A.displacementMap.value=e.displacementMap,A.displacementScale.value=e.displacementScale,A.displacementBias.value=e.displacementBias),(e.envMap||t)&&(A.envMapIntensity.value=e.envMapIntensity)}EA.setAnimationLoop((function(A){gA.isPresenting||IA&&IA(A)})),"undefined"!=typeof window&&EA.setContext(window),this.setAnimationLoop=function(A){IA=A,gA.setAnimationLoop(A),EA.start()},this.render=function(A,e){var t,i;if(void 0!==arguments[2]&&(console.warn("THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead."),t=arguments[2]),void 0!==arguments[3]&&(console.warn("THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead."),i=arguments[3]),e&&e.isCamera){if(!L){j.geometry=null,j.program=null,j.wireframe=!1,q=-1,H=null,!0===A.autoUpdate&&A.updateMatrixWorld(),null===e.parent&&e.updateMatrixWorld(),gA.enabled&&gA.isPresenting&&(e=gA.getCamera(e)),(u=F.get(A,e)).init(),A.onBeforeRender(D,A,e,t||G),lA.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),nA.setFromProjectionMatrix(lA),aA=rA.init(this.clippingPlanes,sA=this.localClippingEnabled,e),(g=U.get(A,e)).init(),BA(A,e,0,D.sortObjects),g.finish(),!0===D.sortObjects&&g.sort(AA,eA),aA&&rA.beginShadows();var o=u.state.shadowsArray;uA.render(o,A,e),u.setupLights(e),aA&&rA.endShadows(),this.info.autoReset&&this.info.reset(),void 0!==t&&this.setRenderTarget(t),K.render(g,A,e,i);var n=g.opaque,r=g.transparent;if(A.overrideMaterial){var a=A.overrideMaterial;n.length&&xA(n,A,e,a),r.length&&xA(r,A,e,a)}else n.length&&xA(n,A,e),r.length&&xA(r,A,e);A.onAfterRender(D,A,e),null!==G&&(B.updateRenderTargetMipmap(G),B.updateMultisampleRenderTarget(G)),v.buffers.depth.setTest(!0),v.buffers.depth.setMask(!0),v.buffers.color.setMask(!0),v.setPolygonOffset(!1),g=null,u=null}}else console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.")},this.setFramebuffer=function(A){N!==A&&null===G&&f.bindFramebuffer(36160,A),N=A},this.getActiveCubeFace=function(){return O},this.getActiveMipmapLevel=function(){return V},this.getRenderTarget=function(){return G},this.setRenderTarget=function(A,e,t){G=A,O=e,V=t,A&&void 0===E.get(A).__webglFramebuffer&&B.setupRenderTarget(A);var i=N,o=!1;if(A){var n=E.get(A).__webglFramebuffer;A.isWebGLCubeRenderTarget?(i=n[e||0],o=!0):i=A.isWebGLMultisampleRenderTarget?E.get(A).__webglMultisampledFramebuffer:n,J.copy(A.viewport),z.copy(A.scissor),Z=A.scissorTest}else J.copy(tA).multiplyScalar($).floor(),z.copy(iA).multiplyScalar($).floor(),Z=oA;if(P!==i&&(f.bindFramebuffer(36160,i),P=i),v.viewport(J),v.scissor(z),v.setScissorTest(Z),o){var r=E.get(A.texture);f.framebufferTexture2D(36160,36064,34069+(e||0),r.__webglTexture,t||0)}},this.readRenderTargetPixels=function(A,e,t,i,o,n,r){if(A&&A.isWebGLRenderTarget){var a=E.get(A).__webglFramebuffer;if(A.isWebGLCubeRenderTarget&&void 0!==r&&(a=a[r]),a){var s=!1;a!==P&&(f.bindFramebuffer(36160,a),s=!0);try{var l=A.texture,c=l.format,h=l.type;if(1023!==c&&k.convert(c)!==f.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");if(!(1009===h||k.convert(h)===f.getParameter(35738)||1015===h&&(C.isWebGL2||m.get("OES_texture_float")||m.get("WEBGL_color_buffer_float"))||1016===h&&m.get(C.isWebGL2?"EXT_color_buffer_float":"EXT_color_buffer_half_float")))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===f.checkFramebufferStatus(36160)?0>e||e>A.width-i||0>t||t>A.height-o||f.readPixels(e,t,i,o,k.convert(c),k.convert(h),n):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{s&&f.bindFramebuffer(36160,P)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")},this.copyFramebufferToTexture=function(A,e,t){void 0===t&&(t=0);var i=Math.pow(2,-t),o=Math.floor(e.image.width*i),n=Math.floor(e.image.height*i),r=k.convert(e.format);B.setTexture2D(e,0),f.copyTexImage2D(3553,t,r,A.x,A.y,o,n,0),v.unbindTexture()},this.copyTextureToTexture=function(A,e,t,i){var o=e.image.width,n=e.image.height,r=k.convert(t.format),a=k.convert(t.type);B.setTexture2D(t,0),e.isDataTexture?f.texSubImage2D(3553,i||0,A.x,A.y,o,n,r,a,e.image.data):f.texSubImage2D(3553,i||0,A.x,A.y,r,a,e.image),v.unbindTexture()},this.initTexture=function(A){B.setTexture2D(A,0),v.unbindTexture()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}function Ao(A,e){this.name="",this.color=new LA(A),this.density=void 0!==e?e:25e-5}function eo(A,e,t){this.name="",this.color=new LA(A),this.near=void 0!==e?e:1,this.far=void 0!==t?t:1e3}function to(A,e){this.array=A,this.stride=e,this.count=void 0!==A?A.length/e:0,this.usage=35044,this.updateRange={offset:0,count:-1},this.version=0}Zi.prototype=Object.assign(Object.create(je.prototype),{constructor:Zi,isArrayCamera:!0}),Xi.prototype=Object.assign(Object.create(H.prototype),{constructor:Xi,isGroup:!0}),Object.assign(_i.prototype,i.prototype),Object.assign(Ao.prototype,{isFogExp2:!0,clone:function(){return new Ao(this.color,this.density)},toJSON:function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}),Object.assign(eo.prototype,{isFog:!0,clone:function(){return new eo(this.color,this.near,this.far)},toJSON:function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}),Object.defineProperty(to.prototype,"needsUpdate",{set:function(A){!0===A&&this.version++}}),Object.assign(to.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setUsage:function(A){return this.usage=A,this},copy:function(A){return this.array=new A.array.constructor(A.array),this.count=A.count,this.stride=A.stride,this.usage=A.usage,this},copyAt:function(A,e,t){A*=this.stride,t*=e.stride;for(var i=0,o=this.stride;o>i;i++)this.array[A+i]=e.array[t+i];return this},set:function(A,e){return void 0===e&&(e=0),this.array.set(A,e),this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(A){return this.onUploadCallback=A,this}});var io,oo=new y;function no(A,e,t,i){this.data=A,this.itemSize=e,this.offset=t,this.normalized=!0===i}function ro(A){qA.call(this),this.type="SpriteMaterial",this.color=new LA(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.setValues(A)}Object.defineProperties(no.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(no.prototype,{isInterleavedBufferAttribute:!0,applyMatrix4:function(A){for(var e=0,t=this.data.count;t>e;e++)oo.x=this.getX(e),oo.y=this.getY(e),oo.z=this.getZ(e),oo.applyMatrix4(A),this.setXYZ(e,oo.x,oo.y,oo.z);return this},setX:function(A,e){return this.data.array[A*this.data.stride+this.offset]=e,this},setY:function(A,e){return this.data.array[A*this.data.stride+this.offset+1]=e,this},setZ:function(A,e){return this.data.array[A*this.data.stride+this.offset+2]=e,this},setW:function(A,e){return this.data.array[A*this.data.stride+this.offset+3]=e,this},getX:function(A){return this.data.array[A*this.data.stride+this.offset]},getY:function(A){return this.data.array[A*this.data.stride+this.offset+1]},getZ:function(A){return this.data.array[A*this.data.stride+this.offset+2]},getW:function(A){return this.data.array[A*this.data.stride+this.offset+3]},setXY:function(A,e,t){return this.data.array[(A=A*this.data.stride+this.offset)+0]=e,this.data.array[A+1]=t,this},setXYZ:function(A,e,t,i){return this.data.array[(A=A*this.data.stride+this.offset)+0]=e,this.data.array[A+1]=t,this.data.array[A+2]=i,this},setXYZW:function(A,e,t,i,o){return this.data.array[(A=A*this.data.stride+this.offset)+0]=e,this.data.array[A+1]=t,this.data.array[A+2]=i,this.data.array[A+3]=o,this}}),(ro.prototype=Object.create(qA.prototype)).constructor=ro,ro.prototype.isSpriteMaterial=!0,ro.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this.map=A.map,this.alphaMap=A.alphaMap,this.rotation=A.rotation,this.sizeAttenuation=A.sizeAttenuation,this};var ao=new y,so=new y,lo=new y,co=new s,ho=new s,po=new M,go=new y,uo=new y,fo=new y,mo=new s,Co=new s,yo=new s;function vo(A){if(H.call(this),this.type="Sprite",void 0===io){io=new he;var e=new to(new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),5);io.setIndex([0,1,2,0,2,3]),io.setAttribute("position",new no(e,3,0,!1)),io.setAttribute("uv",new no(e,2,3,!1))}this.geometry=io,this.material=void 0!==A?A:new ro,this.center=new s(.5,.5)}function Io(A,e,t,i,o,n){co.subVectors(A,t).addScalar(.5).multiply(i),void 0!==o?(ho.x=n*co.x-o*co.y,ho.y=o*co.x+n*co.y):ho.copy(co),A.copy(e),A.x+=ho.x,A.y+=ho.y,A.applyMatrix4(po)}vo.prototype=Object.assign(Object.create(H.prototype),{constructor:vo,isSprite:!0,raycast:function(A,e){null===A.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),so.setFromMatrixScale(this.matrixWorld),po.copy(A.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(A.camera.matrixWorldInverse,this.matrixWorld),lo.setFromMatrixPosition(this.modelViewMatrix),A.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&so.multiplyScalar(-lo.z);var t,i,o=this.material.rotation;0!==o&&(i=Math.cos(o),t=Math.sin(o));var n=this.center;Io(go.set(-.5,-.5,0),lo,n,so,t,i),Io(uo.set(.5,-.5,0),lo,n,so,t,i),Io(fo.set(.5,.5,0),lo,n,so,t,i),mo.set(0,0),Co.set(1,0),yo.set(1,1);var r=A.ray.intersectTriangle(go,uo,fo,!1,ao);if(null!==r||(Io(uo.set(-.5,.5,0),lo,n,so,t,i),Co.set(0,1),null!==(r=A.ray.intersectTriangle(go,fo,uo,!1,ao)))){var a=A.ray.origin.distanceTo(ao);A.near>a||a>A.far||e.push({distance:a,point:ao.clone(),uv:RA.getUV(ao,go,uo,fo,mo,Co,yo,new s),face:null,object:this})}},clone:function(){return new this.constructor(this.material).copy(this)},copy:function(A){return H.prototype.copy.call(this,A),void 0!==A.center&&this.center.copy(A.center),this}});var Eo=new y,Bo=new y;function xo(){H.call(this),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}}),this.autoUpdate=!0}function So(A,e){A&&A.isGeometry&&console.error("THREE.SkinnedMesh no longer supports THREE.Geometry. Use THREE.BufferGeometry instead."),Ue.call(this,A,e),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new M,this.bindMatrixInverse=new M}xo.prototype=Object.assign(Object.create(H.prototype),{constructor:xo,isLOD:!0,copy:function(A){H.prototype.copy.call(this,A,!1);for(var e=A.levels,t=0,i=e.length;i>t;t++){var o=e[t];this.addLevel(o.object.clone(),o.distance)}return this.autoUpdate=A.autoUpdate,this},addLevel:function(A,e){void 0===e&&(e=0),e=Math.abs(e);for(var t=this.levels,i=0;t.length>i&&t[i].distance<=e;i++);return t.splice(i,0,{distance:e,object:A}),this.add(A),this},getCurrentLevel:function(){return this._currentLevel},getObjectForDistance:function(A){var e=this.levels;if(e.length>0){for(var t=1,i=e.length;i>t&&e[t].distance<=A;t++);return e[t-1].object}return null},raycast:function(A,e){if(this.levels.length>0){Eo.setFromMatrixPosition(this.matrixWorld);var t=A.ray.origin.distanceTo(Eo);this.getObjectForDistance(t).raycast(A,e)}},update:function(A){var e=this.levels;if(e.length>1){Eo.setFromMatrixPosition(A.matrixWorld),Bo.setFromMatrixPosition(this.matrixWorld);var t=Eo.distanceTo(Bo)/A.zoom;e[0].object.visible=!0;for(var i=1,o=e.length;o>i&&e[i].distance<=t;i++)e[i-1].object.visible=!1,e[i].object.visible=!0;for(this._currentLevel=i-1;o>i;i++)e[i].object.visible=!1}},toJSON:function(A){var e=H.prototype.toJSON.call(this,A);!1===this.autoUpdate&&(e.object.autoUpdate=!1),e.object.levels=[];for(var t=this.levels,i=0,o=t.length;o>i;i++){var n=t[i];e.object.levels.push({object:n.object.uuid,distance:n.distance})}return e}}),So.prototype=Object.assign(Object.create(Ue.prototype),{constructor:So,isSkinnedMesh:!0,bind:function(A,e){this.skeleton=A,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.getInverse(e)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){for(var A=new p,e=this.geometry.attributes.skinWeight,t=0,i=e.count;i>t;t++){A.x=e.getX(t),A.y=e.getY(t),A.z=e.getZ(t),A.w=e.getW(t);var o=1/A.manhattanLength();o!==1/0?A.multiplyScalar(o):A.set(1,0,0,0),e.setXYZW(t,A.x,A.y,A.z,A.w)}},updateMatrixWorld:function(A){Ue.prototype.updateMatrixWorld.call(this,A),"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)}});var wo=new M,Mo=new M;function bo(A,e){if(this.bones=(A=A||[]).slice(0),this.boneMatrices=new Float32Array(16*this.bones.length),this.frame=-1,void 0===e)this.calculateInverses();else if(this.bones.length===e.length)this.boneInverses=e.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length."),this.boneInverses=[];for(var t=0,i=this.bones.length;i>t;t++)this.boneInverses.push(new M)}}function Uo(){H.call(this),this.type="Bone"}Object.assign(bo.prototype,{calculateInverses:function(){this.boneInverses=[];for(var A=0,e=this.bones.length;e>A;A++){var t=new M;this.bones[A]&&t.getInverse(this.bones[A].matrixWorld),this.boneInverses.push(t)}},pose:function(){var A,e,t;for(e=0,t=this.bones.length;t>e;e++)(A=this.bones[e])&&A.matrixWorld.getInverse(this.boneInverses[e]);for(e=0,t=this.bones.length;t>e;e++)(A=this.bones[e])&&(A.parent&&A.parent.isBone?(A.matrix.getInverse(A.parent.matrixWorld),A.matrix.multiply(A.matrixWorld)):A.matrix.copy(A.matrixWorld),A.matrix.decompose(A.position,A.quaternion,A.scale))},update:function(){for(var A=this.bones,e=this.boneInverses,t=this.boneMatrices,i=this.boneTexture,o=0,n=A.length;n>o;o++){wo.multiplyMatrices(A[o]?A[o].matrixWorld:Mo,e[o]),wo.toArray(t,16*o)}void 0!==i&&(i.needsUpdate=!0)},clone:function(){return new bo(this.bones,this.boneInverses)},getBoneByName:function(A){for(var e=0,t=this.bones.length;t>e;e++){var i=this.bones[e];if(i.name===A)return i}},dispose:function(){this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=void 0)}}),Uo.prototype=Object.assign(Object.create(H.prototype),{constructor:Uo,isBone:!0});var Fo=new M,Ko=new M,Qo=[],Ro=new Ue;function To(A,e,t){Ue.call(this,A,e),this.instanceMatrix=new YA(new Float32Array(16*t),16),this.count=t,this.frustumCulled=!1}function ko(A){qA.call(this),this.type="LineBasicMaterial",this.color=new LA(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.setValues(A)}To.prototype=Object.assign(Object.create(Ue.prototype),{constructor:To,isInstancedMesh:!0,getMatrixAt:function(A,e){e.fromArray(this.instanceMatrix.array,16*A)},raycast:function(A,e){var t=this.matrixWorld,i=this.count;if(Ro.geometry=this.geometry,Ro.material=this.material,void 0!==Ro.material)for(var o=0;i>o;o++)this.getMatrixAt(o,Fo),Ko.multiplyMatrices(t,Fo),Ro.matrixWorld=Ko,Ro.raycast(A,Qo),Qo.length>0&&(Qo[0].instanceId=o,Qo[0].object=this,e.push(Qo[0]),Qo.length=0)},setMatrixAt:function(A,e){e.toArray(this.instanceMatrix.array,16*A)},updateMorphTargets:function(){}}),(ko.prototype=Object.create(qA.prototype)).constructor=ko,ko.prototype.isLineBasicMaterial=!0,ko.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this.linewidth=A.linewidth,this.linecap=A.linecap,this.linejoin=A.linejoin,this};var Do=new y,Lo=new y,No=new M,Oo=new CA,Vo=new cA;function Go(A,e,t){1===t&&console.error("THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead."),H.call(this),this.type="Line",this.geometry=void 0!==A?A:new he,this.material=void 0!==e?e:new ko}Go.prototype=Object.assign(Object.create(H.prototype),{constructor:Go,isLine:!0,computeLineDistances:function(){var A=this.geometry;if(A.isBufferGeometry)if(null===A.index){for(var e=A.attributes.position,t=[0],i=1,o=e.count;o>i;i++)Do.fromBufferAttribute(e,i-1),Lo.fromBufferAttribute(e,i),t[i]=t[i-1],t[i]+=Do.distanceTo(Lo);A.setAttribute("lineDistance",new Ae(t,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(A.isGeometry){var n=A.vertices;(t=A.lineDistances)[0]=0;for(i=1,o=n.length;o>i;i++)t[i]=t[i-1],t[i]+=n[i-1].distanceTo(n[i])}return this},raycast:function(A,e){var t=this.geometry,i=this.matrixWorld,o=A.params.Line.threshold;if(null===t.boundingSphere&&t.computeBoundingSphere(),Vo.copy(t.boundingSphere),Vo.applyMatrix4(i),Vo.radius+=o,!1!==A.ray.intersectsSphere(Vo)){No.getInverse(i),Oo.copy(A.ray).applyMatrix4(No);var n=o/((this.scale.x+this.scale.y+this.scale.z)/3),r=n*n,a=new y,s=new y,l=new y,c=new y,h=this&&this.isLineSegments?2:1;if(t.isBufferGeometry){var d=t.index,p=t.attributes.position.array;if(null!==d)for(var g=d.array,u=0,f=g.length-1;f>u;u+=h){var m=g[u+1];if(a.fromArray(p,3*g[u]),s.fromArray(p,3*m),r>=Oo.distanceSqToSegment(a,s,c,l)){c.applyMatrix4(this.matrixWorld);var C=A.ray.origin.distanceTo(c);A.near>C||C>A.far||e.push({distance:C,point:l.clone().applyMatrix4(this.matrixWorld),index:u,face:null,faceIndex:null,object:this})}}else for(u=0,f=p.length/3-1;f>u;u+=h){if(a.fromArray(p,3*u),s.fromArray(p,3*u+3),r>=Oo.distanceSqToSegment(a,s,c,l)){c.applyMatrix4(this.matrixWorld);C=A.ray.origin.distanceTo(c);A.near>C||C>A.far||e.push({distance:C,point:l.clone().applyMatrix4(this.matrixWorld),index:u,face:null,faceIndex:null,object:this})}}}else if(t.isGeometry){var v=t.vertices,I=v.length;for(u=0;I-1>u;u+=h){if(r>=Oo.distanceSqToSegment(v[u],v[u+1],c,l)){c.applyMatrix4(this.matrixWorld);C=A.ray.origin.distanceTo(c);A.near>C||C>A.far||e.push({distance:C,point:l.clone().applyMatrix4(this.matrixWorld),index:u,face:null,faceIndex:null,object:this})}}}}},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}});var Po=new y,qo=new y;function jo(A,e){Go.call(this,A,e),this.type="LineSegments"}function Ho(A,e){Go.call(this,A,e),this.type="LineLoop"}function Yo(A){qA.call(this),this.type="PointsMaterial",this.color=new LA(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.setValues(A)}jo.prototype=Object.assign(Object.create(Go.prototype),{constructor:jo,isLineSegments:!0,computeLineDistances:function(){var A=this.geometry;if(A.isBufferGeometry)if(null===A.index){for(var e=A.attributes.position,t=[],i=0,o=e.count;o>i;i+=2)Po.fromBufferAttribute(e,i),qo.fromBufferAttribute(e,i+1),t[i]=0===i?0:t[i-1],t[i+1]=t[i]+Po.distanceTo(qo);A.setAttribute("lineDistance",new Ae(t,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else if(A.isGeometry){var n=A.vertices;for(t=A.lineDistances,i=0,o=n.length;o>i;i+=2)Po.copy(n[i]),qo.copy(n[i+1]),t[i]=0===i?0:t[i-1],t[i+1]=t[i]+Po.distanceTo(qo)}return this}}),Ho.prototype=Object.assign(Object.create(Go.prototype),{constructor:Ho,isLineLoop:!0}),(Yo.prototype=Object.create(qA.prototype)).constructor=Yo,Yo.prototype.isPointsMaterial=!0,Yo.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this.map=A.map,this.alphaMap=A.alphaMap,this.size=A.size,this.sizeAttenuation=A.sizeAttenuation,this.morphTargets=A.morphTargets,this};var Wo=new M,Jo=new CA,zo=new cA,Zo=new y;function Xo(A,e){H.call(this),this.type="Points",this.geometry=void 0!==A?A:new he,this.material=void 0!==e?e:new Yo,this.updateMorphTargets()}function _o(A,e,t,i,o,n,r){var a=Jo.distanceSqToPoint(A);if(t>a){var s=new y;Jo.closestPointToPoint(A,s),s.applyMatrix4(i);var l=o.ray.origin.distanceTo(s);if(o.near>l||l>o.far)return;n.push({distance:l,distanceToRay:Math.sqrt(a),point:s,index:e,face:null,object:r})}}function $o(A,e,t,i,o,n,r,a,s){d.call(this,A,e,t,i,o,n,r,a,s),this.format=void 0!==r?r:1022,this.minFilter=void 0!==n?n:1006,this.magFilter=void 0!==o?o:1006,this.generateMipmaps=!1}function An(A,e,t,i,o,n,r,a,s,l,c,h){d.call(this,null,n,r,a,s,l,i,o,c,h),this.image={width:e,height:t},this.mipmaps=A,this.flipY=!1,this.generateMipmaps=!1}function en(A,e,t,i,o,n,r,a,s){d.call(this,A,e,t,i,o,n,r,a,s),this.needsUpdate=!0}function tn(A,e,t,i,o,n,r,a,s,l){if(1026!==(l=void 0!==l?l:1026)&&1027!==l)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===t&&1026===l&&(t=1012),void 0===t&&1027===l&&(t=1020),d.call(this,null,i,o,n,r,a,l,t,s),this.image={width:A,height:e},this.magFilter=void 0!==r?r:1003,this.minFilter=void 0!==a?a:1003,this.flipY=!1,this.generateMipmaps=!1}function on(A){he.call(this),this.type="WireframeGeometry";var e,t,i,o,n,r,a,s,l,c,h=[],d=[0,0],p={},g=["a","b","c"];if(A&&A.isGeometry){var u=A.faces;for(e=0,i=u.length;i>e;e++){var f=u[e];for(t=0;3>t;t++)a=f[g[t]],s=f[g[(t+1)%3]],d[0]=Math.min(a,s),d[1]=Math.max(a,s),void 0===p[l=d[0]+","+d[1]]&&(p[l]={index1:d[0],index2:d[1]})}for(l in p)h.push((c=A.vertices[(r=p[l]).index1]).x,c.y,c.z),h.push((c=A.vertices[r.index2]).x,c.y,c.z)}else if(A&&A.isBufferGeometry){var m,C,v,I,E;if(c=new y,null!==A.index){for(m=A.attributes.position,C=A.index,0===(v=A.groups).length&&(v=[{start:0,count:C.count,materialIndex:0}]),o=0,n=v.length;n>o;++o)for(e=E=(I=v[o]).start,i=E+I.count;i>e;e+=3)for(t=0;3>t;t++)a=C.getX(e+t),s=C.getX(e+(t+1)%3),d[0]=Math.min(a,s),d[1]=Math.max(a,s),void 0===p[l=d[0]+","+d[1]]&&(p[l]={index1:d[0],index2:d[1]});for(l in p)c.fromBufferAttribute(m,(r=p[l]).index1),h.push(c.x,c.y,c.z),c.fromBufferAttribute(m,r.index2),h.push(c.x,c.y,c.z)}else for(e=0,i=(m=A.attributes.position).count/3;i>e;e++)for(t=0;3>t;t++)c.fromBufferAttribute(m,3*e+t),h.push(c.x,c.y,c.z),c.fromBufferAttribute(m,3*e+(t+1)%3),h.push(c.x,c.y,c.z)}this.setAttribute("position",new Ae(h,3))}function nn(A,e,t){De.call(this),this.type="ParametricGeometry",this.parameters={func:A,slices:e,stacks:t},this.fromBufferGeometry(new rn(A,e,t)),this.mergeVertices()}function rn(A,e,t){he.call(this),this.type="ParametricBufferGeometry",this.parameters={func:A,slices:e,stacks:t};var i,o,n=[],r=[],a=[],s=[],l=1e-5,c=new y,h=new y,d=new y,p=new y,g=new y;3>A.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");var u=e+1;for(i=0;t>=i;i++){var f=i/t;for(o=0;e>=o;o++){var m=o/e;A(m,f,h),r.push(h.x,h.y,h.z),0>m-l?(A(m+l,f,d),p.subVectors(d,h)):(A(m-l,f,d),p.subVectors(h,d)),0>f-l?(A(m,f+l,d),g.subVectors(d,h)):(A(m,f-l,d),g.subVectors(h,d)),c.crossVectors(p,g).normalize(),a.push(c.x,c.y,c.z),s.push(m,f)}}for(i=0;t>i;i++)for(o=0;e>o;o++){var C=i*u+o+1,v=(i+1)*u+o+1,I=(i+1)*u+o;n.push(i*u+o,C,I),n.push(C,v,I)}this.setIndex(n),this.setAttribute("position",new Ae(r,3)),this.setAttribute("normal",new Ae(a,3)),this.setAttribute("uv",new Ae(s,2))}function an(A,e,t,i){De.call(this),this.type="PolyhedronGeometry",this.parameters={vertices:A,indices:e,radius:t,detail:i},this.fromBufferGeometry(new sn(A,e,t,i)),this.mergeVertices()}function sn(A,e,t,i){he.call(this),this.type="PolyhedronBufferGeometry",this.parameters={vertices:A,indices:e,radius:t,detail:i},t=t||1;var o=[],n=[];function r(A,e,t,i){var o,n,r=Math.pow(2,i),s=[];for(o=0;r>=o;o++){s[o]=[];var l=A.clone().lerp(t,o/r),c=e.clone().lerp(t,o/r),h=r-o;for(n=0;h>=n;n++)s[o][n]=0===n&&o===r?l:l.clone().lerp(c,n/h)}for(o=0;r>o;o++)for(n=0;2*(r-o)-1>n;n++){var d=Math.floor(n/2);n%2==0?(a(s[o][d+1]),a(s[o+1][d]),a(s[o][d])):(a(s[o][d+1]),a(s[o+1][d+1]),a(s[o+1][d]))}}function a(A){o.push(A.x,A.y,A.z)}function l(e,t){var i=3*e;t.x=A[i+0],t.y=A[i+1],t.z=A[i+2]}function c(A,e,t,i){0>i&&1===A.x&&(n[e]=A.x-1),0===t.x&&0===t.z&&(n[e]=i/2/Math.PI+.5)}function h(A){return Math.atan2(A.z,-A.x)}!function(A){for(var t=new y,i=new y,o=new y,n=0;e.length>n;n+=3)l(e[n+0],t),l(e[n+1],i),l(e[n+2],o),r(t,i,o,A)}(i=i||0),function(A){for(var e=new y,t=0;o.length>t;t+=3)e.x=o[t+0],e.y=o[t+1],e.z=o[t+2],e.normalize().multiplyScalar(A),o[t+0]=e.x,o[t+1]=e.y,o[t+2]=e.z}(t),function(){for(var A=new y,e=0;o.length>e;e+=3){A.x=o[e+0],A.y=o[e+1],A.z=o[e+2];var t=h(A)/2/Math.PI+.5,i=(r=A,Math.atan2(-r.y,Math.sqrt(r.x*r.x+r.z*r.z))/Math.PI+.5);n.push(t,1-i)}var r;(function(){for(var A=new y,e=new y,t=new y,i=new y,r=new s,a=new s,l=new s,d=0,p=0;o.length>d;d+=9,p+=6){A.set(o[d+0],o[d+1],o[d+2]),e.set(o[d+3],o[d+4],o[d+5]),t.set(o[d+6],o[d+7],o[d+8]),r.set(n[p+0],n[p+1]),a.set(n[p+2],n[p+3]),l.set(n[p+4],n[p+5]),i.copy(A).add(e).add(t).divideScalar(3);var g=h(i);c(r,p+0,A,g),c(a,p+2,e,g),c(l,p+4,t,g)}})(),function(){for(var A=0;n.length>A;A+=6){var e=n[A+0],t=n[A+2],i=n[A+4],o=Math.max(e,t,i),r=Math.min(e,t,i);o>.9&&.1>r&&(.2>e&&(n[A+0]+=1),.2>t&&(n[A+2]+=1),.2>i&&(n[A+4]+=1))}}()}(),this.setAttribute("position",new Ae(o,3)),this.setAttribute("normal",new Ae(o.slice(),3)),this.setAttribute("uv",new Ae(n,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}function ln(A,e){De.call(this),this.type="TetrahedronGeometry",this.parameters={radius:A,detail:e},this.fromBufferGeometry(new cn(A,e)),this.mergeVertices()}function cn(A,e){sn.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],A,e),this.type="TetrahedronBufferGeometry",this.parameters={radius:A,detail:e}}function hn(A,e){De.call(this),this.type="OctahedronGeometry",this.parameters={radius:A,detail:e},this.fromBufferGeometry(new dn(A,e)),this.mergeVertices()}function dn(A,e){sn.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],A,e),this.type="OctahedronBufferGeometry",this.parameters={radius:A,detail:e}}function pn(A,e){De.call(this),this.type="IcosahedronGeometry",this.parameters={radius:A,detail:e},this.fromBufferGeometry(new gn(A,e)),this.mergeVertices()}function gn(A,e){var t=(1+Math.sqrt(5))/2;sn.call(this,[-1,t,0,1,t,0,-1,-t,0,1,-t,0,0,-1,t,0,1,t,0,-1,-t,0,1,-t,t,0,-1,t,0,1,-t,0,-1,-t,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],A,e),this.type="IcosahedronBufferGeometry",this.parameters={radius:A,detail:e}}function un(A,e){De.call(this),this.type="DodecahedronGeometry",this.parameters={radius:A,detail:e},this.fromBufferGeometry(new fn(A,e)),this.mergeVertices()}function fn(A,e){var t=(1+Math.sqrt(5))/2,i=1/t;sn.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-t,0,-i,t,0,i,-t,0,i,t,-i,-t,0,-i,t,0,i,-t,0,i,t,0,-t,0,-i,t,0,-i,-t,0,i,t,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],A,e),this.type="DodecahedronBufferGeometry",this.parameters={radius:A,detail:e}}function mn(A,e,t,i,o,n){De.call(this),this.type="TubeGeometry",this.parameters={path:A,tubularSegments:e,radius:t,radialSegments:i,closed:o},void 0!==n&&console.warn("THREE.TubeGeometry: taper has been removed.");var r=new Cn(A,e,t,i,o);this.tangents=r.tangents,this.normals=r.normals,this.binormals=r.binormals,this.fromBufferGeometry(r),this.mergeVertices()}function Cn(A,e,t,i,o){he.call(this),this.type="TubeBufferGeometry",this.parameters={path:A,tubularSegments:e,radius:t,radialSegments:i,closed:o},t=t||1,i=i||8;var n=A.computeFrenetFrames(e=e||64,o=o||!1);this.tangents=n.tangents,this.normals=n.normals,this.binormals=n.binormals;var r,a,l=new y,c=new y,h=new s,d=new y,p=[],g=[],u=[],f=[];function m(o){d=A.getPointAt(o/e,d);var r=n.normals[o],s=n.binormals[o];for(a=0;i>=a;a++){var h=a/i*Math.PI*2,u=Math.sin(h),f=-Math.cos(h);c.x=f*r.x+u*s.x,c.y=f*r.y+u*s.y,c.z=f*r.z+u*s.z,c.normalize(),g.push(c.x,c.y,c.z),l.x=d.x+t*c.x,l.y=d.y+t*c.y,l.z=d.z+t*c.z,p.push(l.x,l.y,l.z)}}!function(){for(r=0;e>r;r++)m(r);m(!1===o?e:0),function(){for(r=0;e>=r;r++)for(a=0;i>=a;a++)h.x=r/e,h.y=a/i,u.push(h.x,h.y)}(),function(){for(a=1;e>=a;a++)for(r=1;i>=r;r++){var A=(i+1)*a+(r-1),t=(i+1)*a+r,o=(i+1)*(a-1)+r;f.push((i+1)*(a-1)+(r-1),A,o),f.push(A,t,o)}}()}(),this.setIndex(f),this.setAttribute("position",new Ae(p,3)),this.setAttribute("normal",new Ae(g,3)),this.setAttribute("uv",new Ae(u,2))}function yn(A,e,t,i,o,n,r){De.call(this),this.type="TorusKnotGeometry",this.parameters={radius:A,tube:e,tubularSegments:t,radialSegments:i,p:o,q:n},void 0!==r&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead."),this.fromBufferGeometry(new vn(A,e,t,i,o,n)),this.mergeVertices()}function vn(A,e,t,i,o,n){he.call(this),this.type="TorusKnotBufferGeometry",this.parameters={radius:A,tube:e,tubularSegments:t,radialSegments:i,p:o,q:n},A=A||1,e=e||.4,t=Math.floor(t)||64,i=Math.floor(i)||8,o=o||2,n=n||3;var r,a,s=[],l=[],c=[],h=[],d=new y,p=new y,g=new y,u=new y,f=new y,m=new y,C=new y;for(r=0;t>=r;++r){var v=r/t*o*Math.PI*2;for(M(v,o,n,A,g),M(v+.01,o,n,A,u),m.subVectors(u,g),C.addVectors(u,g),f.crossVectors(m,C),C.crossVectors(f,m),f.normalize(),C.normalize(),a=0;i>=a;++a){var I=a/i*Math.PI*2,E=-e*Math.cos(I),B=e*Math.sin(I);d.x=g.x+(E*C.x+B*f.x),d.y=g.y+(E*C.y+B*f.y),d.z=g.z+(E*C.z+B*f.z),l.push(d.x,d.y,d.z),p.subVectors(d,g).normalize(),c.push(p.x,p.y,p.z),h.push(r/t),h.push(a/i)}}for(a=1;t>=a;a++)for(r=1;i>=r;r++){var x=(i+1)*a+(r-1),S=(i+1)*a+r,w=(i+1)*(a-1)+r;s.push((i+1)*(a-1)+(r-1),x,w),s.push(x,S,w)}function M(A,e,t,i,o){var n=Math.cos(A),r=Math.sin(A),a=t/e*A,s=Math.cos(a);o.x=i*(2+s)*.5*n,o.y=i*(2+s)*r*.5,o.z=i*Math.sin(a)*.5}this.setIndex(s),this.setAttribute("position",new Ae(l,3)),this.setAttribute("normal",new Ae(c,3)),this.setAttribute("uv",new Ae(h,2))}function In(A,e,t,i,o){De.call(this),this.type="TorusGeometry",this.parameters={radius:A,tube:e,radialSegments:t,tubularSegments:i,arc:o},this.fromBufferGeometry(new En(A,e,t,i,o)),this.mergeVertices()}function En(A,e,t,i,o){he.call(this),this.type="TorusBufferGeometry",this.parameters={radius:A,tube:e,radialSegments:t,tubularSegments:i,arc:o},A=A||1,e=e||.4,t=Math.floor(t)||8,i=Math.floor(i)||6,o=o||2*Math.PI;var n,r,a=[],s=[],l=[],c=[],h=new y,d=new y,p=new y;for(n=0;t>=n;n++)for(r=0;i>=r;r++){var g=r/i*o,u=n/t*Math.PI*2;d.x=(A+e*Math.cos(u))*Math.cos(g),d.y=(A+e*Math.cos(u))*Math.sin(g),d.z=e*Math.sin(u),s.push(d.x,d.y,d.z),h.x=A*Math.cos(g),h.y=A*Math.sin(g),p.subVectors(d,h).normalize(),l.push(p.x,p.y,p.z),c.push(r/i),c.push(n/t)}for(n=1;t>=n;n++)for(r=1;i>=r;r++){var f=(i+1)*(n-1)+r-1,m=(i+1)*(n-1)+r,C=(i+1)*n+r;a.push((i+1)*n+r-1,f,C),a.push(f,m,C)}this.setIndex(a),this.setAttribute("position",new Ae(s,3)),this.setAttribute("normal",new Ae(l,3)),this.setAttribute("uv",new Ae(c,2))}Xo.prototype=Object.assign(Object.create(H.prototype),{constructor:Xo,isPoints:!0,raycast:function(A,e){var t=this.geometry,i=this.matrixWorld,o=A.params.Points.threshold;if(null===t.boundingSphere&&t.computeBoundingSphere(),zo.copy(t.boundingSphere),zo.applyMatrix4(i),zo.radius+=o,!1!==A.ray.intersectsSphere(zo)){Wo.getInverse(i),Jo.copy(A.ray).applyMatrix4(Wo);var n=o/((this.scale.x+this.scale.y+this.scale.z)/3),r=n*n;if(t.isBufferGeometry){var a=t.index,s=t.attributes.position.array;if(null!==a)for(var l=a.array,c=0,h=l.length;h>c;c++){var d=l[c];Zo.fromArray(s,3*d),_o(Zo,d,r,i,A,e,this)}else{c=0;for(var p=s.length/3;p>c;c++)Zo.fromArray(s,3*c),_o(Zo,c,r,i,A,e,this)}}else{var g=t.vertices;for(c=0,p=g.length;p>c;c++)_o(g[c],c,r,i,A,e,this)}}},updateMorphTargets:function(){var A,e,t,i=this.geometry;if(i.isBufferGeometry){var o=i.morphAttributes,n=Object.keys(o);if(n.length>0){var r=o[n[0]];if(void 0!==r)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},A=0,e=r.length;e>A;A++)t=r[A].name||String(A),this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=A}}else{var a=i.morphTargets;void 0!==a&&a.length>0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),$o.prototype=Object.assign(Object.create(d.prototype),{constructor:$o,isVideoTexture:!0,update:function(){var A=this.image;A.HAVE_CURRENT_DATA>A.readyState||(this.needsUpdate=!0)}}),(An.prototype=Object.create(d.prototype)).constructor=An,An.prototype.isCompressedTexture=!0,(en.prototype=Object.create(d.prototype)).constructor=en,en.prototype.isCanvasTexture=!0,(tn.prototype=Object.create(d.prototype)).constructor=tn,tn.prototype.isDepthTexture=!0,(on.prototype=Object.create(he.prototype)).constructor=on,(nn.prototype=Object.create(De.prototype)).constructor=nn,(rn.prototype=Object.create(he.prototype)).constructor=rn,(an.prototype=Object.create(De.prototype)).constructor=an,(sn.prototype=Object.create(he.prototype)).constructor=sn,(ln.prototype=Object.create(De.prototype)).constructor=ln,(cn.prototype=Object.create(sn.prototype)).constructor=cn,(hn.prototype=Object.create(De.prototype)).constructor=hn,(dn.prototype=Object.create(sn.prototype)).constructor=dn,(pn.prototype=Object.create(De.prototype)).constructor=pn,(gn.prototype=Object.create(sn.prototype)).constructor=gn,(un.prototype=Object.create(De.prototype)).constructor=un,(fn.prototype=Object.create(sn.prototype)).constructor=fn,(mn.prototype=Object.create(De.prototype)).constructor=mn,(Cn.prototype=Object.create(he.prototype)).constructor=Cn,Cn.prototype.toJSON=function(){var A=he.prototype.toJSON.call(this);return A.path=this.parameters.path.toJSON(),A},(yn.prototype=Object.create(De.prototype)).constructor=yn,(vn.prototype=Object.create(he.prototype)).constructor=vn,(In.prototype=Object.create(De.prototype)).constructor=In,(En.prototype=Object.create(he.prototype)).constructor=En;var Bn=function(A,e,t){t=t||2;var i,o,n,r,a,s,l,c=e&&e.length,h=c?e[0]*t:A.length,d=xn(A,0,h,t,!0),p=[];if(!d||d.next===d.prev)return p;if(c&&(d=function(A,e,t,i){var o,n,r,a=[];for(o=0,n=e.length;n>o;o++)(r=xn(A,e[o]*i,n-1>o?e[o+1]*i:A.length,i,!1))===r.next&&(r.steiner=!0),a.push(Tn(r));for(a.sort(Kn),o=0;a.length>o;o++)Qn(a[o],t),t=Sn(t,t.next);return t}(A,e,d,t)),A.length>80*t){i=n=A[0],o=r=A[1];for(var g=t;h>g;g+=t)i>(a=A[g])&&(i=a),o>(s=A[g+1])&&(o=s),a>n&&(n=a),s>r&&(r=s);l=0!==(l=Math.max(n-i,r-o))?1/l:0}return wn(d,p,t,i,o,l),p};function xn(A,e,t,i,o){var n,r;if(o===function(A,e,t,i){for(var o=0,n=e,r=t-i;t>n;n+=i)o+=(A[r]-A[n])*(A[n+1]+A[r+1]),r=n;return o}(A,e,t,i)>0)for(n=e;t>n;n+=i)r=Pn(n,A[n],A[n+1],r);else for(n=t-i;n>=e;n-=i)r=Pn(n,A[n],A[n+1],r);return r&&Nn(r,r.next)&&(qn(r),r=r.next),r}function Sn(A,e){if(!A)return A;e||(e=A);var t,i=A;do{if(t=!1,i.steiner||!Nn(i,i.next)&&0!==Ln(i.prev,i,i.next))i=i.next;else{if(qn(i),(i=e=i.prev)===i.next)break;t=!0}}while(t||i!==e);return e}function wn(A,e,t,i,o,n,r){if(A){!r&&n&&function(A,e,t,i){var o=A;do{null===o.z&&(o.z=Rn(o.x,o.y,e,t,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==A);o.prevZ.nextZ=null,o.prevZ=null,function(A){var e,t,i,o,n,r,a,s,l=1;do{for(t=A,A=null,n=null,r=0;t;){for(r++,i=t,a=0,e=0;l>e&&(a++,i=i.nextZ);e++);for(s=l;a>0||s>0&&i;)0===a||0!==s&&i&&t.z>i.z?(o=i,i=i.nextZ,s--):(o=t,t=t.nextZ,a--),n?n.nextZ=o:A=o,o.prevZ=n,n=o;t=i}n.nextZ=null,l*=2}while(r>1)}(o)}(A,i,o,n);for(var a,s,l=A;A.prev!==A.next;)if(a=A.prev,s=A.next,n?bn(A,i,o,n):Mn(A))e.push(a.i/t),e.push(A.i/t),e.push(s.i/t),qn(A),A=s.next,l=s.next;else if((A=s)===l){r?1===r?wn(A=Un(A,e,t),e,t,i,o,n,2):2===r&&Fn(A,e,t,i,o,n):wn(Sn(A),e,t,i,o,n,1);break}}}function Mn(A){var e=A.prev,t=A,i=A.next;if(Ln(e,t,i)>=0)return!1;for(var o=A.next.next;o!==A.prev;){if(kn(e.x,e.y,t.x,t.y,i.x,i.y,o.x,o.y)&&Ln(o.prev,o,o.next)>=0)return!1;o=o.next}return!0}function bn(A,e,t,i){var o=A.prev,n=A,r=A.next;if(Ln(o,n,r)>=0)return!1;for(var a=o.x>n.x?o.x>r.x?o.x:r.x:n.x>r.x?n.x:r.x,s=o.y>n.y?o.y>r.y?o.y:r.y:n.y>r.y?n.y:r.y,l=Rn(n.x>o.x?r.x>o.x?o.x:r.x:r.x>n.x?n.x:r.x,n.y>o.y?r.y>o.y?o.y:r.y:r.y>n.y?n.y:r.y,e,t,i),c=Rn(a,s,e,t,i),h=A.prevZ,d=A.nextZ;h&&h.z>=l&&d&&c>=d.z;){if(h!==A.prev&&h!==A.next&&kn(o.x,o.y,n.x,n.y,r.x,r.y,h.x,h.y)&&Ln(h.prev,h,h.next)>=0)return!1;if(h=h.prevZ,d!==A.prev&&d!==A.next&&kn(o.x,o.y,n.x,n.y,r.x,r.y,d.x,d.y)&&Ln(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;h&&h.z>=l;){if(h!==A.prev&&h!==A.next&&kn(o.x,o.y,n.x,n.y,r.x,r.y,h.x,h.y)&&Ln(h.prev,h,h.next)>=0)return!1;h=h.prevZ}for(;d&&c>=d.z;){if(d!==A.prev&&d!==A.next&&kn(o.x,o.y,n.x,n.y,r.x,r.y,d.x,d.y)&&Ln(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Un(A,e,t){var i=A;do{var o=i.prev,n=i.next.next;!Nn(o,n)&&On(o,i,i.next,n)&&Vn(o,n)&&Vn(n,o)&&(e.push(o.i/t),e.push(i.i/t),e.push(n.i/t),qn(i),qn(i.next),i=A=n),i=i.next}while(i!==A);return i}function Fn(A,e,t,i,o,n){var r=A;do{for(var a=r.next.next;a!==r.prev;){if(r.i!==a.i&&Dn(r,a)){var s=Gn(r,a);return r=Sn(r,r.next),s=Sn(s,s.next),wn(r,e,t,i,o,n),void wn(s,e,t,i,o,n)}a=a.next}r=r.next}while(r!==A)}function Kn(A,e){return A.x-e.x}function Qn(A,e){if(e=function(A,e){var t,i=e,o=A.x,n=A.y,r=-1/0;do{if(i.y>=n&&n>=i.next.y&&i.next.y!==i.y){var a=i.x+(n-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(o>=a&&a>r){if(r=a,a===o){if(n===i.y)return i;if(n===i.next.y)return i.next}t=i.next.x>i.x?i:i.next}}i=i.next}while(i!==e);if(!t)return null;if(o===r)return t.prev;var s,l=t,c=t.x,h=t.y,d=1/0;i=t.next;for(;i!==l;)i.x>o||c>i.x||o===i.x||!kn(h>n?o:r,n,c,h,h>n?r:o,n,i.x,i.y)||(s=Math.abs(n-i.y)/(o-i.x),(d>s||s===d&&i.x>t.x)&&Vn(i,A)&&(t=i,d=s)),i=i.next;return t}(A,e)){var t=Gn(e,A);Sn(t,t.next)}}function Rn(A,e,t,i,o){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=32767*(A-t)*o)|A<<8))|A<<4))|A<<2))|A<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*o)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Tn(A){var e=A,t=A;do{(t.x>e.x||e.x===t.x&&t.y>e.y)&&(t=e),e=e.next}while(e!==A);return t}function kn(A,e,t,i,o,n,r,a){return(o-r)*(e-a)-(A-r)*(n-a)>=0&&(A-r)*(i-a)-(t-r)*(e-a)>=0&&(t-r)*(n-a)-(o-r)*(i-a)>=0}function Dn(A,e){return A.next.i!==e.i&&A.prev.i!==e.i&&!function(A,e){var t=A;do{if(t.i!==A.i&&t.next.i!==A.i&&t.i!==e.i&&t.next.i!==e.i&&On(t,t.next,A,e))return!0;t=t.next}while(t!==A);return!1}(A,e)&&Vn(A,e)&&Vn(e,A)&&function(A,e){var t=A,i=!1,o=(A.x+e.x)/2,n=(A.y+e.y)/2;do{t.y>n!=t.next.y>n&&t.next.y!==t.y&&(t.next.x-t.x)*(n-t.y)/(t.next.y-t.y)+t.x>o&&(i=!i),t=t.next}while(t!==A);return i}(A,e)}function Ln(A,e,t){return(e.y-A.y)*(t.x-e.x)-(e.x-A.x)*(t.y-e.y)}function Nn(A,e){return A.x===e.x&&A.y===e.y}function On(A,e,t,i){return!!(Nn(A,t)&&Nn(e,i)||Nn(A,i)&&Nn(t,e))||Ln(A,e,t)>0!=Ln(A,e,i)>0&&Ln(t,i,A)>0!=Ln(t,i,e)>0}function Vn(A,e){return 0>Ln(A.prev,A,A.next)?Ln(A,e,A.next)>=0&&Ln(A,A.prev,e)>=0:0>Ln(A,e,A.prev)||0>Ln(A,A.next,e)}function Gn(A,e){var t=new jn(A.i,A.x,A.y),i=new jn(e.i,e.x,e.y),o=A.next,n=e.prev;return A.next=e,e.prev=A,t.next=o,o.prev=t,i.next=t,t.prev=i,n.next=i,i.prev=n,i}function Pn(A,e,t,i){var o=new jn(A,e,t);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function qn(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function jn(A,e,t){this.i=A,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var Hn={area:function(A){for(var e=A.length,t=0,i=e-1,o=0;e>o;i=o++)t+=A[i].x*A[o].y-A[o].x*A[i].y;return.5*t},isClockWise:function(A){return 0>Hn.area(A)},triangulateShape:function(A,e){var t=[],i=[],o=[];Yn(A),Wn(t,A);var n=A.length;e.forEach(Yn);for(var r=0;e.length>r;r++)i.push(n),n+=e[r].length,Wn(t,e[r]);var a=Bn(t,i);for(r=0;a.length>r;r+=3)o.push(a.slice(r,r+3));return o}};function Yn(A){var e=A.length;e>2&&A[e-1].equals(A[0])&&A.pop()}function Wn(A,e){for(var t=0;e.length>t;t++)A.push(e[t].x),A.push(e[t].y)}function Jn(A,e){De.call(this),this.type="ExtrudeGeometry",this.parameters={shapes:A,options:e},this.fromBufferGeometry(new zn(A,e)),this.mergeVertices()}function zn(A,e){he.call(this),this.type="ExtrudeBufferGeometry",this.parameters={shapes:A,options:e},A=Array.isArray(A)?A:[A];for(var t=this,i=[],o=[],n=0,r=A.length;r>n;n++){a(A[n])}function a(A){var n=[],r=void 0!==e.curveSegments?e.curveSegments:12,a=void 0!==e.steps?e.steps:1,l=void 0!==e.depth?e.depth:100,c=void 0===e.bevelEnabled||e.bevelEnabled,h=void 0!==e.bevelThickness?e.bevelThickness:6,d=void 0!==e.bevelSize?e.bevelSize:h-2,p=void 0!==e.bevelOffset?e.bevelOffset:0,g=void 0!==e.bevelSegments?e.bevelSegments:3,u=e.extrudePath,f=void 0!==e.UVGenerator?e.UVGenerator:Zn;void 0!==e.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),l=e.amount);var m,C,v,I,E,B,x,S,w=!1;u&&(m=u.getSpacedPoints(a),w=!0,c=!1,C=u.computeFrenetFrames(a,!1),v=new y,I=new y,E=new y),c||(g=0,h=0,d=0,p=0);var M=A.extractPoints(r),b=M.shape,U=M.holes;if(!Hn.isClockWise(b))for(b=b.reverse(),x=0,S=U.length;S>x;x++)Hn.isClockWise(B=U[x])&&(U[x]=B.reverse());var F=Hn.triangulateShape(b,U),K=b;for(x=0,S=U.length;S>x;x++)b=b.concat(B=U[x]);function Q(A,e,t){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),e.clone().multiplyScalar(t).add(A)}var R,T,k,D,L,N,O=b.length,V=F.length;function G(A,e,t){var i,o,n,r=A.x-e.x,a=A.y-e.y,l=t.x-A.x,c=t.y-A.y,h=r*r+a*a;if(Math.abs(r*c-a*l)>Number.EPSILON){var d=Math.sqrt(h),p=Math.sqrt(l*l+c*c),g=e.x-a/d,u=e.y+r/d,f=((t.x-c/p-g)*c-(t.y+l/p-u)*l)/(r*c-a*l),m=(i=g+r*f-A.x)*i+(o=u+a*f-A.y)*o;if(2>=m)return new s(i,o);n=Math.sqrt(m/2)}else{var C=!1;r>Number.EPSILON?l>Number.EPSILON&&(C=!0):-Number.EPSILON>r?-Number.EPSILON>l&&(C=!0):Math.sign(a)===Math.sign(c)&&(C=!0),C?(i=-a,o=r,n=Math.sqrt(h)):(i=r,o=a,n=Math.sqrt(h/2))}return new s(i/n,o/n)}for(var P=[],q=0,j=K.length,H=j-1,Y=q+1;j>q;q++,H++,Y++)H===j&&(H=0),Y===j&&(Y=0),P[q]=G(K[q],K[H],K[Y]);var W,J,z=[],Z=P.concat();for(x=0,S=U.length;S>x;x++){for(W=[],H=(j=(B=U[x]).length)-1,Y=(q=0)+1;j>q;q++,H++,Y++)H===j&&(H=0),Y===j&&(Y=0),W[q]=G(B[q],B[H],B[Y]);z.push(W),Z=Z.concat(W)}for(R=0;g>R;R++){for(k=R/g,D=h*Math.cos(k*Math.PI/2),T=d*Math.sin(k*Math.PI/2)+p,q=0,j=K.length;j>q;q++)_((L=Q(K[q],P[q],T)).x,L.y,-D);for(x=0,S=U.length;S>x;x++)for(W=z[x],q=0,j=(B=U[x]).length;j>q;q++)_((L=Q(B[q],W[q],T)).x,L.y,-D)}for(T=d+p,q=0;O>q;q++)L=c?Q(b[q],Z[q],T):b[q],w?(I.copy(C.normals[0]).multiplyScalar(L.x),v.copy(C.binormals[0]).multiplyScalar(L.y),E.copy(m[0]).add(I).add(v),_(E.x,E.y,E.z)):_(L.x,L.y,0);for(J=1;a>=J;J++)for(q=0;O>q;q++)L=c?Q(b[q],Z[q],T):b[q],w?(I.copy(C.normals[J]).multiplyScalar(L.x),v.copy(C.binormals[J]).multiplyScalar(L.y),E.copy(m[J]).add(I).add(v),_(E.x,E.y,E.z)):_(L.x,L.y,l/a*J);for(R=g-1;R>=0;R--){for(k=R/g,D=h*Math.cos(k*Math.PI/2),T=d*Math.sin(k*Math.PI/2)+p,q=0,j=K.length;j>q;q++)_((L=Q(K[q],P[q],T)).x,L.y,l+D);for(x=0,S=U.length;S>x;x++)for(W=z[x],q=0,j=(B=U[x]).length;j>q;q++)L=Q(B[q],W[q],T),w?_(L.x,L.y+m[a-1].y,m[a-1].x+D):_(L.x,L.y,l+D)}function X(A,e){var t,i;for(q=A.length;--q>=0;){t=q,0>(i=q-1)&&(i=A.length-1);var o=0,n=a+2*g;for(o=0;n>o;o++){var r=O*o,s=O*(o+1);AA(e+t+r,e+i+r,e+i+s,e+t+s)}}}function _(A,e,t){n.push(A),n.push(e),n.push(t)}function $(A,e,o){eA(A),eA(e),eA(o);var n=i.length/3,r=f.generateTopUV(t,i,n-3,n-2,n-1);tA(r[0]),tA(r[1]),tA(r[2])}function AA(A,e,o,n){eA(A),eA(e),eA(n),eA(e),eA(o),eA(n);var r=i.length/3,a=f.generateSideWallUV(t,i,r-6,r-3,r-2,r-1);tA(a[0]),tA(a[1]),tA(a[3]),tA(a[1]),tA(a[2]),tA(a[3])}function eA(A){i.push(n[3*A+0]),i.push(n[3*A+1]),i.push(n[3*A+2])}function tA(A){o.push(A.x),o.push(A.y)}!function(){var A=i.length/3;if(c){var e=0,o=O*e;for(q=0;V>q;q++)$((N=F[q])[2]+o,N[1]+o,N[0]+o);for(o=O*(e=a+2*g),q=0;V>q;q++)$((N=F[q])[0]+o,N[1]+o,N[2]+o)}else{for(q=0;V>q;q++)$((N=F[q])[2],N[1],N[0]);for(q=0;V>q;q++)$((N=F[q])[0]+O*a,N[1]+O*a,N[2]+O*a)}t.addGroup(A,i.length/3-A,0)}(),function(){var A=i.length/3,e=0;for(X(K,e),e+=K.length,x=0,S=U.length;S>x;x++)X(B=U[x],e),e+=B.length;t.addGroup(A,i.length/3-A,1)}()}this.setAttribute("position",new Ae(i,3)),this.setAttribute("uv",new Ae(o,2)),this.computeVertexNormals()}(Jn.prototype=Object.create(De.prototype)).constructor=Jn,Jn.prototype.toJSON=function(){var A=De.prototype.toJSON.call(this);return Xn(this.parameters.shapes,this.parameters.options,A)},(zn.prototype=Object.create(he.prototype)).constructor=zn,zn.prototype.toJSON=function(){var A=he.prototype.toJSON.call(this);return Xn(this.parameters.shapes,this.parameters.options,A)};var Zn={generateTopUV:function(A,e,t,i,o){var n=e[3*i],r=e[3*i+1],a=e[3*o],l=e[3*o+1];return[new s(e[3*t],e[3*t+1]),new s(n,r),new s(a,l)]},generateSideWallUV:function(A,e,t,i,o,n){var r=e[3*t],a=e[3*t+1],l=e[3*t+2],c=e[3*i],h=e[3*i+1],d=e[3*i+2],p=e[3*o],g=e[3*o+1],u=e[3*o+2],f=e[3*n],m=e[3*n+1],C=e[3*n+2];return.01>Math.abs(a-h)?[new s(r,1-l),new s(c,1-d),new s(p,1-u),new s(f,1-C)]:[new s(a,1-l),new s(h,1-d),new s(g,1-u),new s(m,1-C)]}};function Xn(A,e,t){if(t.shapes=[],Array.isArray(A))for(var i=0,o=A.length;o>i;i++){t.shapes.push(A[i].uuid)}else t.shapes.push(A.uuid);return void 0!==e.extrudePath&&(t.options.extrudePath=e.extrudePath.toJSON()),t}function _n(A,e){De.call(this),this.type="TextGeometry",this.parameters={text:A,parameters:e},this.fromBufferGeometry(new $n(A,e)),this.mergeVertices()}function $n(A,e){var t=(e=e||{}).font;if(!t||!t.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new De;var i=t.generateShapes(A,e.size);e.depth=void 0!==e.height?e.height:50,void 0===e.bevelThickness&&(e.bevelThickness=10),void 0===e.bevelSize&&(e.bevelSize=8),void 0===e.bevelEnabled&&(e.bevelEnabled=!1),zn.call(this,i,e),this.type="TextBufferGeometry"}function Ar(A,e,t,i,o,n,r){De.call(this),this.type="SphereGeometry",this.parameters={radius:A,widthSegments:e,heightSegments:t,phiStart:i,phiLength:o,thetaStart:n,thetaLength:r},this.fromBufferGeometry(new er(A,e,t,i,o,n,r)),this.mergeVertices()}function er(A,e,t,i,o,n,r){he.call(this),this.type="SphereBufferGeometry",this.parameters={radius:A,widthSegments:e,heightSegments:t,phiStart:i,phiLength:o,thetaStart:n,thetaLength:r},A=A||1,e=Math.max(3,Math.floor(e)||8),t=Math.max(2,Math.floor(t)||6),i=void 0!==i?i:0,o=void 0!==o?o:2*Math.PI,n=void 0!==n?n:0,r=void 0!==r?r:Math.PI;var a,s,l=Math.min(n+r,Math.PI),c=0,h=[],d=new y,p=new y,g=[],u=[],f=[],m=[];for(s=0;t>=s;s++){var C=[],v=s/t,I=0;for(0==s&&0==n?I=.5/e:s==t&&l==Math.PI&&(I=-.5/e),a=0;e>=a;a++){var E=a/e;d.x=-A*Math.cos(i+E*o)*Math.sin(n+v*r),d.y=A*Math.cos(n+v*r),d.z=A*Math.sin(i+E*o)*Math.sin(n+v*r),u.push(d.x,d.y,d.z),p.copy(d).normalize(),f.push(p.x,p.y,p.z),m.push(E+I,1-v),C.push(c++)}h.push(C)}for(s=0;t>s;s++)for(a=0;e>a;a++){var B=h[s][a],x=h[s+1][a],S=h[s+1][a+1];(0!==s||n>0)&&g.push(h[s][a+1],B,S),(s!==t-1||l<Math.PI)&&g.push(B,x,S)}this.setIndex(g),this.setAttribute("position",new Ae(u,3)),this.setAttribute("normal",new Ae(f,3)),this.setAttribute("uv",new Ae(m,2))}function tr(A,e,t,i,o,n){De.call(this),this.type="RingGeometry",this.parameters={innerRadius:A,outerRadius:e,thetaSegments:t,phiSegments:i,thetaStart:o,thetaLength:n},this.fromBufferGeometry(new ir(A,e,t,i,o,n)),this.mergeVertices()}function ir(A,e,t,i,o,n){he.call(this),this.type="RingBufferGeometry",this.parameters={innerRadius:A,outerRadius:e,thetaSegments:t,phiSegments:i,thetaStart:o,thetaLength:n},A=A||.5,e=e||1,o=void 0!==o?o:0,n=void 0!==n?n:2*Math.PI,t=void 0!==t?Math.max(3,t):8;var r,a,l,c=[],h=[],d=[],p=[],g=A,u=(e-A)/(i=void 0!==i?Math.max(1,i):1),f=new y,m=new s;for(a=0;i>=a;a++){for(l=0;t>=l;l++)r=o+l/t*n,f.x=g*Math.cos(r),f.y=g*Math.sin(r),h.push(f.x,f.y,f.z),d.push(0,0,1),m.x=(f.x/e+1)/2,m.y=(f.y/e+1)/2,p.push(m.x,m.y);g+=u}for(a=0;i>a;a++){var C=a*(t+1);for(l=0;t>l;l++){var v=(r=l+C)+t+1,I=r+t+2,E=r+1;c.push(r,v,E),c.push(v,I,E)}}this.setIndex(c),this.setAttribute("position",new Ae(h,3)),this.setAttribute("normal",new Ae(d,3)),this.setAttribute("uv",new Ae(p,2))}function or(A,e,t,i){De.call(this),this.type="LatheGeometry",this.parameters={points:A,segments:e,phiStart:t,phiLength:i},this.fromBufferGeometry(new nr(A,e,t,i)),this.mergeVertices()}function nr(A,e,t,i){he.call(this),this.type="LatheBufferGeometry",this.parameters={points:A,segments:e,phiStart:t,phiLength:i},e=Math.floor(e)||12,t=t||0,i=i||2*Math.PI,i=a.clamp(i,0,2*Math.PI);var o,n,r,l=[],c=[],h=[],d=1/e,p=new y,g=new s;for(n=0;e>=n;n++){var u=t+n*d*i,f=Math.sin(u),m=Math.cos(u);for(r=0;A.length-1>=r;r++)p.x=A[r].x*f,p.y=A[r].y,p.z=A[r].x*m,c.push(p.x,p.y,p.z),g.x=n/e,g.y=r/(A.length-1),h.push(g.x,g.y)}for(n=0;e>n;n++)for(r=0;A.length-1>r;r++){var C=(o=r+n*A.length)+A.length,v=o+A.length+1,I=o+1;l.push(o,C,I),l.push(C,v,I)}if(this.setIndex(l),this.setAttribute("position",new Ae(c,3)),this.setAttribute("uv",new Ae(h,2)),this.computeVertexNormals(),i===2*Math.PI){var E=this.attributes.normal.array,B=new y,x=new y,S=new y;for(o=e*A.length*3,n=0,r=0;A.length>n;n++,r+=3)B.x=E[r+0],B.y=E[r+1],B.z=E[r+2],x.x=E[o+r+0],x.y=E[o+r+1],x.z=E[o+r+2],S.addVectors(B,x).normalize(),E[r+0]=E[o+r+0]=S.x,E[r+1]=E[o+r+1]=S.y,E[r+2]=E[o+r+2]=S.z}}function rr(A,e){De.call(this),this.type="ShapeGeometry","object"==typeof e&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),e=e.curveSegments),this.parameters={shapes:A,curveSegments:e},this.fromBufferGeometry(new ar(A,e)),this.mergeVertices()}function ar(A,e){he.call(this),this.type="ShapeBufferGeometry",this.parameters={shapes:A,curveSegments:e},e=e||12;var t=[],i=[],o=[],n=[],r=0,a=0;if(!1===Array.isArray(A))l(A);else for(var s=0;A.length>s;s++)l(A[s]),this.addGroup(r,a,s),r+=a,a=0;function l(A){var r,s,l,c=i.length/3,h=A.extractPoints(e),d=h.shape,p=h.holes;for(!1===Hn.isClockWise(d)&&(d=d.reverse()),r=0,s=p.length;s>r;r++)!0===Hn.isClockWise(l=p[r])&&(p[r]=l.reverse());var g=Hn.triangulateShape(d,p);for(r=0,s=p.length;s>r;r++)d=d.concat(l=p[r]);for(r=0,s=d.length;s>r;r++){var u=d[r];i.push(u.x,u.y,0),o.push(0,0,1),n.push(u.x,u.y)}for(r=0,s=g.length;s>r;r++){var f=g[r];t.push(f[0]+c,f[1]+c,f[2]+c),a+=3}}this.setIndex(t),this.setAttribute("position",new Ae(i,3)),this.setAttribute("normal",new Ae(o,3)),this.setAttribute("uv",new Ae(n,2))}function sr(A,e){if(e.shapes=[],Array.isArray(A))for(var t=0,i=A.length;i>t;t++){e.shapes.push(A[t].uuid)}else e.shapes.push(A.uuid);return e}function lr(A,e){he.call(this),this.type="EdgesGeometry",this.parameters={thresholdAngle:e},e=void 0!==e?e:1;var t,i,o,n,r=[],s=Math.cos(a.DEG2RAD*e),l=[0,0],c={},h=["a","b","c"];A.isBufferGeometry?(n=new De).fromBufferGeometry(A):n=A.clone(),n.mergeVertices(),n.computeFaceNormals();for(var d=n.vertices,p=n.faces,g=0,u=p.length;u>g;g++)for(var f=p[g],m=0;3>m;m++)t=f[h[m]],i=f[h[(m+1)%3]],l[0]=Math.min(t,i),l[1]=Math.max(t,i),void 0===c[o=l[0]+","+l[1]]?c[o]={index1:l[0],index2:l[1],face1:g,face2:void 0}:c[o].face2=g;for(o in c){var C=c[o];if(void 0===C.face2||p[C.face1].normal.dot(p[C.face2].normal)<=s){var y=d[C.index1];r.push(y.x,y.y,y.z),r.push((y=d[C.index2]).x,y.y,y.z)}}this.setAttribute("position",new Ae(r,3))}function cr(A,e,t,i,o,n,r,a){De.call(this),this.type="CylinderGeometry",this.parameters={radiusTop:A,radiusBottom:e,height:t,radialSegments:i,heightSegments:o,openEnded:n,thetaStart:r,thetaLength:a},this.fromBufferGeometry(new hr(A,e,t,i,o,n,r,a)),this.mergeVertices()}function hr(A,e,t,i,o,n,r,a){he.call(this),this.type="CylinderBufferGeometry",this.parameters={radiusTop:A,radiusBottom:e,height:t,radialSegments:i,heightSegments:o,openEnded:n,thetaStart:r,thetaLength:a};var l=this;A=void 0!==A?A:1,e=void 0!==e?e:1,t=t||1,i=Math.floor(i)||8,o=Math.floor(o)||1,n=void 0!==n&&n,r=void 0!==r?r:0,a=void 0!==a?a:2*Math.PI;var c=[],h=[],d=[],p=[],g=0,u=[],f=t/2,m=0;function C(t){var o,n,u,C=new s,v=new y,I=0,E=!0===t?A:e,B=!0===t?1:-1;for(n=g,o=1;i>=o;o++)h.push(0,f*B,0),d.push(0,B,0),p.push(.5,.5),g++;for(u=g,o=0;i>=o;o++){var x=o/i*a+r,S=Math.cos(x),w=Math.sin(x);v.x=E*w,v.y=f*B,v.z=E*S,h.push(v.x,v.y,v.z),d.push(0,B,0),C.x=.5*S+.5,C.y=.5*w*B+.5,p.push(C.x,C.y),g++}for(o=0;i>o;o++){var M=n+o,b=u+o;!0===t?c.push(b,b+1,M):c.push(b+1,b,M),I+=3}l.addGroup(m,I,!0===t?1:2),m+=I}!function(){var n,s,C=new y,v=new y,I=0,E=(e-A)/t;for(s=0;o>=s;s++){var B=[],x=s/o,S=x*(e-A)+A;for(n=0;i>=n;n++){var w=n/i,M=w*a+r,b=Math.sin(M),U=Math.cos(M);v.x=S*b,v.y=-x*t+f,v.z=S*U,h.push(v.x,v.y,v.z),C.set(b,E,U).normalize(),d.push(C.x,C.y,C.z),p.push(w,1-x),B.push(g++)}u.push(B)}for(n=0;i>n;n++)for(s=0;o>s;s++){var F=u[s+1][n],K=u[s+1][n+1],Q=u[s][n+1];c.push(u[s][n],F,Q),c.push(F,K,Q),I+=6}l.addGroup(m,I,0),m+=I}(),!1===n&&(A>0&&C(!0),e>0&&C(!1)),this.setIndex(c),this.setAttribute("position",new Ae(h,3)),this.setAttribute("normal",new Ae(d,3)),this.setAttribute("uv",new Ae(p,2))}function dr(A,e,t,i,o,n,r){cr.call(this,0,A,e,t,i,o,n,r),this.type="ConeGeometry",this.parameters={radius:A,height:e,radialSegments:t,heightSegments:i,openEnded:o,thetaStart:n,thetaLength:r}}function pr(A,e,t,i,o,n,r){hr.call(this,0,A,e,t,i,o,n,r),this.type="ConeBufferGeometry",this.parameters={radius:A,height:e,radialSegments:t,heightSegments:i,openEnded:o,thetaStart:n,thetaLength:r}}function gr(A,e,t,i){De.call(this),this.type="CircleGeometry",this.parameters={radius:A,segments:e,thetaStart:t,thetaLength:i},this.fromBufferGeometry(new ur(A,e,t,i)),this.mergeVertices()}function ur(A,e,t,i){he.call(this),this.type="CircleBufferGeometry",this.parameters={radius:A,segments:e,thetaStart:t,thetaLength:i},A=A||1,e=void 0!==e?Math.max(3,e):8,t=void 0!==t?t:0,i=void 0!==i?i:2*Math.PI;var o,n,r=[],a=[],l=[],c=[],h=new y,d=new s;for(a.push(0,0,0),l.push(0,0,1),c.push(.5,.5),n=0,o=3;e>=n;n++,o+=3){var p=t+n/e*i;h.x=A*Math.cos(p),h.y=A*Math.sin(p),a.push(h.x,h.y,h.z),l.push(0,0,1),d.x=(a[o]/A+1)/2,d.y=(a[o+1]/A+1)/2,c.push(d.x,d.y)}for(o=1;e>=o;o++)r.push(o,o+1,0);this.setIndex(r),this.setAttribute("position",new Ae(a,3)),this.setAttribute("normal",new Ae(l,3)),this.setAttribute("uv",new Ae(c,2))}(_n.prototype=Object.create(De.prototype)).constructor=_n,($n.prototype=Object.create(zn.prototype)).constructor=$n,(Ar.prototype=Object.create(De.prototype)).constructor=Ar,(er.prototype=Object.create(he.prototype)).constructor=er,(tr.prototype=Object.create(De.prototype)).constructor=tr,(ir.prototype=Object.create(he.prototype)).constructor=ir,(or.prototype=Object.create(De.prototype)).constructor=or,(nr.prototype=Object.create(he.prototype)).constructor=nr,(rr.prototype=Object.create(De.prototype)).constructor=rr,rr.prototype.toJSON=function(){var A=De.prototype.toJSON.call(this);return sr(this.parameters.shapes,A)},(ar.prototype=Object.create(he.prototype)).constructor=ar,ar.prototype.toJSON=function(){var A=he.prototype.toJSON.call(this);return sr(this.parameters.shapes,A)},(lr.prototype=Object.create(he.prototype)).constructor=lr,(cr.prototype=Object.create(De.prototype)).constructor=cr,(hr.prototype=Object.create(he.prototype)).constructor=hr,(dr.prototype=Object.create(cr.prototype)).constructor=dr,(pr.prototype=Object.create(hr.prototype)).constructor=pr,(gr.prototype=Object.create(De.prototype)).constructor=gr,(ur.prototype=Object.create(he.prototype)).constructor=ur;var fr=Object.freeze({__proto__:null,WireframeGeometry:on,ParametricGeometry:nn,ParametricBufferGeometry:rn,TetrahedronGeometry:ln,TetrahedronBufferGeometry:cn,OctahedronGeometry:hn,OctahedronBufferGeometry:dn,IcosahedronGeometry:pn,IcosahedronBufferGeometry:gn,DodecahedronGeometry:un,DodecahedronBufferGeometry:fn,PolyhedronGeometry:an,PolyhedronBufferGeometry:sn,TubeGeometry:mn,TubeBufferGeometry:Cn,TorusKnotGeometry:yn,TorusKnotBufferGeometry:vn,TorusGeometry:In,TorusBufferGeometry:En,TextGeometry:_n,TextBufferGeometry:$n,SphereGeometry:Ar,SphereBufferGeometry:er,RingGeometry:tr,RingBufferGeometry:ir,PlaneGeometry:At,PlaneBufferGeometry:et,LatheGeometry:or,LatheBufferGeometry:nr,ShapeGeometry:rr,ShapeBufferGeometry:ar,ExtrudeGeometry:Jn,ExtrudeBufferGeometry:zn,EdgesGeometry:lr,ConeGeometry:dr,ConeBufferGeometry:pr,CylinderGeometry:cr,CylinderBufferGeometry:hr,CircleGeometry:gr,CircleBufferGeometry:ur,BoxGeometry:Le,BoxBufferGeometry:Ne});function mr(A){qA.call(this),this.type="ShadowMaterial",this.color=new LA(0),this.transparent=!0,this.setValues(A)}function Cr(A){Pe.call(this,A),this.type="RawShaderMaterial"}function yr(A){qA.call(this),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new LA(16777215),this.roughness=1,this.metalness=0,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new LA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new s(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.vertexTangents=!1,this.setValues(A)}function vr(A){yr.call(this),this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoat=0,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new s(1,1),this.clearcoatNormalMap=null,this.reflectivity=.5,this.sheen=null,this.transparency=0,this.setValues(A)}function Ir(A){qA.call(this),this.type="MeshPhongMaterial",this.color=new LA(16777215),this.specular=new LA(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new LA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new s(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,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(A)}function Er(A){qA.call(this),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new LA(16777215),this.specular=new LA(1118481),this.shininess=30,this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new LA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new s(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(A)}function Br(A){qA.call(this),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new s(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(A)}function xr(A){qA.call(this),this.type="MeshLambertMaterial",this.color=new LA(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new LA(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,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(A)}function Sr(A){qA.call(this),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new LA(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new s(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(A)}function wr(A){ko.call(this),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(A)}(mr.prototype=Object.create(qA.prototype)).constructor=mr,mr.prototype.isShadowMaterial=!0,mr.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this},(Cr.prototype=Object.create(Pe.prototype)).constructor=Cr,Cr.prototype.isRawShaderMaterial=!0,(yr.prototype=Object.create(qA.prototype)).constructor=yr,yr.prototype.isMeshStandardMaterial=!0,yr.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.defines={STANDARD:""},this.color.copy(A.color),this.roughness=A.roughness,this.metalness=A.metalness,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.roughnessMap=A.roughnessMap,this.metalnessMap=A.metalnessMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.envMapIntensity=A.envMapIntensity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.morphNormals=A.morphNormals,this.vertexTangents=A.vertexTangents,this},(vr.prototype=Object.create(yr.prototype)).constructor=vr,vr.prototype.isMeshPhysicalMaterial=!0,vr.prototype.copy=function(A){return yr.prototype.copy.call(this,A),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=A.clearcoat,this.clearcoatMap=A.clearcoatMap,this.clearcoatRoughness=A.clearcoatRoughness,this.clearcoatRoughnessMap=A.clearcoatRoughnessMap,this.clearcoatNormalMap=A.clearcoatNormalMap,this.clearcoatNormalScale.copy(A.clearcoatNormalScale),this.reflectivity=A.reflectivity,this.sheen=A.sheen?(this.sheen||new LA).copy(A.sheen):null,this.transparency=A.transparency,this},(Ir.prototype=Object.create(qA.prototype)).constructor=Ir,Ir.prototype.isMeshPhongMaterial=!0,Ir.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.morphNormals=A.morphNormals,this},(Er.prototype=Object.create(qA.prototype)).constructor=Er,Er.prototype.isMeshToonMaterial=!0,Er.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.map=A.map,this.gradientMap=A.gradientMap,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.morphNormals=A.morphNormals,this},(Br.prototype=Object.create(qA.prototype)).constructor=Br,Br.prototype.isMeshNormalMaterial=!0,Br.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.morphNormals=A.morphNormals,this},(xr.prototype=Object.create(qA.prototype)).constructor=xr,xr.prototype.isMeshLambertMaterial=!0,xr.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.color.copy(A.color),this.map=A.map,this.lightMap=A.lightMap,this.lightMapIntensity=A.lightMapIntensity,this.aoMap=A.aoMap,this.aoMapIntensity=A.aoMapIntensity,this.emissive.copy(A.emissive),this.emissiveMap=A.emissiveMap,this.emissiveIntensity=A.emissiveIntensity,this.specularMap=A.specularMap,this.alphaMap=A.alphaMap,this.envMap=A.envMap,this.combine=A.combine,this.reflectivity=A.reflectivity,this.refractionRatio=A.refractionRatio,this.wireframe=A.wireframe,this.wireframeLinewidth=A.wireframeLinewidth,this.wireframeLinecap=A.wireframeLinecap,this.wireframeLinejoin=A.wireframeLinejoin,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.morphNormals=A.morphNormals,this},(Sr.prototype=Object.create(qA.prototype)).constructor=Sr,Sr.prototype.isMeshMatcapMaterial=!0,Sr.prototype.copy=function(A){return qA.prototype.copy.call(this,A),this.defines={MATCAP:""},this.color.copy(A.color),this.matcap=A.matcap,this.map=A.map,this.bumpMap=A.bumpMap,this.bumpScale=A.bumpScale,this.normalMap=A.normalMap,this.normalMapType=A.normalMapType,this.normalScale.copy(A.normalScale),this.displacementMap=A.displacementMap,this.displacementScale=A.displacementScale,this.displacementBias=A.displacementBias,this.alphaMap=A.alphaMap,this.skinning=A.skinning,this.morphTargets=A.morphTargets,this.morphNormals=A.morphNormals,this},(wr.prototype=Object.create(ko.prototype)).constructor=wr,wr.prototype.isLineDashedMaterial=!0,wr.prototype.copy=function(A){return ko.prototype.copy.call(this,A),this.scale=A.scale,this.dashSize=A.dashSize,this.gapSize=A.gapSize,this};var Mr=Object.freeze({__proto__:null,ShadowMaterial:mr,SpriteMaterial:ro,RawShaderMaterial:Cr,ShaderMaterial:Pe,PointsMaterial:Yo,MeshPhysicalMaterial:vr,MeshStandardMaterial:yr,MeshPhongMaterial:Ir,MeshToonMaterial:Er,MeshNormalMaterial:Br,MeshLambertMaterial:xr,MeshDepthMaterial:ji,MeshDistanceMaterial:Hi,MeshBasicMaterial:jA,MeshMatcapMaterial:Sr,LineDashedMaterial:wr,LineBasicMaterial:ko,Material:qA}),br={arraySlice:function(A,e,t){return br.isTypedArray(A)?new A.constructor(A.subarray(e,void 0!==t?t:A.length)):A.slice(e,t)},convertArray:function(A,e,t){return!A||!t&&A.constructor===e?A:"number"==typeof e.BYTES_PER_ELEMENT?new e(A):Array.prototype.slice.call(A)},isTypedArray:function(A){return ArrayBuffer.isView(A)&&!(A instanceof DataView)},getKeyframeOrder:function(A){for(var e=A.length,t=new Array(e),i=0;i!==e;++i)t[i]=i;return t.sort((function(e,t){return A[e]-A[t]})),t},sortedArray:function(A,e,t){for(var i=A.length,o=new A.constructor(i),n=0,r=0;r!==i;++n)for(var a=t[n]*e,s=0;s!==e;++s)o[r++]=A[a+s];return o},flattenJSON:function(A,e,t,i){for(var o=1,n=A[0];void 0!==n&&void 0===n[i];)n=A[o++];if(void 0!==n){var r=n[i];if(void 0!==r)if(Array.isArray(r))do{void 0!==(r=n[i])&&(e.push(n.time),t.push.apply(t,r)),n=A[o++]}while(void 0!==n);else if(void 0!==r.toArray)do{void 0!==(r=n[i])&&(e.push(n.time),r.toArray(t,t.length)),n=A[o++]}while(void 0!==n);else do{void 0!==(r=n[i])&&(e.push(n.time),t.push(r)),n=A[o++]}while(void 0!==n)}},subclip:function(A,e,t,i,o){o=o||30;var n=A.clone();n.name=e;for(var r=[],a=0;n.tracks.length>a;++a){for(var s=n.tracks[a],l=s.getValueSize(),c=[],h=[],d=0;s.times.length>d;++d){var p=s.times[d]*o;if(p>=t&&i>p){c.push(s.times[d]);for(var g=0;l>g;++g)h.push(s.values[d*l+g])}}0!==c.length&&(s.times=br.convertArray(c,s.times.constructor),s.values=br.convertArray(h,s.values.constructor),r.push(s))}n.tracks=r;var u=1/0;for(a=0;n.tracks.length>a;++a)u>n.tracks[a].times[0]&&(u=n.tracks[a].times[0]);for(a=0;n.tracks.length>a;++a)n.tracks[a].shift(-1*u);return n.resetDuration(),n}};function Ur(A,e,t,i){this.parameterPositions=A,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new e.constructor(t),this.sampleValues=e,this.valueSize=t}function Fr(A,e,t,i){Ur.call(this,A,e,t,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function Kr(A,e,t,i){Ur.call(this,A,e,t,i)}function Qr(A,e,t,i){Ur.call(this,A,e,t,i)}function Rr(A,e,t,i){if(void 0===A)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===e||0===e.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+A);this.name=A,this.times=br.convertArray(e,this.TimeBufferType),this.values=br.convertArray(t,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation)}function Tr(A,e,t){Rr.call(this,A,e,t)}function kr(A,e,t,i){Rr.call(this,A,e,t,i)}function Dr(A,e,t,i){Rr.call(this,A,e,t,i)}function Lr(A,e,t,i){Ur.call(this,A,e,t,i)}function Nr(A,e,t,i){Rr.call(this,A,e,t,i)}function Or(A,e,t,i){Rr.call(this,A,e,t,i)}function Vr(A,e,t,i){Rr.call(this,A,e,t,i)}function Gr(A,e,t){this.name=A,this.tracks=t,this.duration=void 0!==e?e:-1,this.uuid=a.generateUUID(),0>this.duration&&this.resetDuration()}function Pr(A){if(void 0===A.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");var e=function(A){switch(A.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Dr;case"vector":case"vector2":case"vector3":case"vector4":return Vr;case"color":return kr;case"quaternion":return Nr;case"bool":case"boolean":return Tr;case"string":return Or}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+A)}(A.type);if(void 0===A.times){var t=[],i=[];br.flattenJSON(A.keys,t,i,"value"),A.times=t,A.values=i}return void 0!==e.parse?e.parse(A):new e(A.name,A.times,A.values,A.interpolation)}Object.assign(Ur.prototype,{evaluate:function(A){var e=this.parameterPositions,t=this._cachedIndex,i=e[t],o=e[t-1];A:{e:{var n;t:{i:if(i<=A){for(var r=t+2;;){if(void 0===i){if(o>A)break i;return this._cachedIndex=t=e.length,this.afterEnd_(t-1,A,o)}if(t===r)break;if(o=i,(i=e[++t])>A)break e}n=e.length;break t}if(A>=o)break A;var a=e[1];a>A&&(t=2,o=a);for(r=t-2;;){if(void 0===o)return this._cachedIndex=0,this.beforeStart_(0,A,i);if(t===r)break;if(i=o,A>=(o=e[--t-1]))break e}n=t,t=0}for(;n>t;){var s=t+n>>>1;e[s]>A?n=s:t=s+1}if(i=e[t],void 0===(o=e[t-1]))return this._cachedIndex=0,this.beforeStart_(0,A,i);if(void 0===i)return this._cachedIndex=t=e.length,this.afterEnd_(t-1,o,A)}this._cachedIndex=t,this.intervalChanged_(t,o,i)}return this.interpolate_(t,o,A,i)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(A){for(var e=this.resultBuffer,t=this.sampleValues,i=this.valueSize,o=A*i,n=0;n!==i;++n)e[n]=t[o+n];return e},interpolate_:function(){throw new Error("call to abstract method")},intervalChanged_:function(){}}),Object.assign(Ur.prototype,{beforeStart_:Ur.prototype.copySampleValue_,afterEnd_:Ur.prototype.copySampleValue_}),Fr.prototype=Object.assign(Object.create(Ur.prototype),{constructor:Fr,DefaultSettings_:{endingStart:2400,endingEnd:2400},intervalChanged_:function(A,e,t){var i=this.parameterPositions,o=A-2,n=A+1,r=i[o],a=i[n];if(void 0===r)switch(this.getSettings_().endingStart){case 2401:o=A,r=2*e-t;break;case 2402:r=e+i[o=i.length-2]-i[o+1];break;default:o=A,r=t}if(void 0===a)switch(this.getSettings_().endingEnd){case 2401:n=A,a=2*t-e;break;case 2402:n=1,a=t+i[1]-i[0];break;default:n=A-1,a=e}var s=.5*(t-e),l=this.valueSize;this._weightPrev=s/(e-r),this._weightNext=s/(a-t),this._offsetPrev=o*l,this._offsetNext=n*l},interpolate_:function(A,e,t,i){for(var o=this.resultBuffer,n=this.sampleValues,r=this.valueSize,a=A*r,s=a-r,l=this._offsetPrev,c=this._offsetNext,h=this._weightPrev,d=this._weightNext,p=(t-e)/(i-e),g=p*p,u=g*p,f=-h*u+2*h*g-h*p,m=(1+h)*u+(-1.5-2*h)*g+(-.5+h)*p+1,C=(-1-d)*u+(1.5+d)*g+.5*p,y=d*u-d*g,v=0;v!==r;++v)o[v]=f*n[l+v]+m*n[s+v]+C*n[a+v]+y*n[c+v];return o}}),Kr.prototype=Object.assign(Object.create(Ur.prototype),{constructor:Kr,interpolate_:function(A,e,t,i){for(var o=this.resultBuffer,n=this.sampleValues,r=this.valueSize,a=A*r,s=a-r,l=(t-e)/(i-e),c=1-l,h=0;h!==r;++h)o[h]=n[s+h]*c+n[a+h]*l;return o}}),Qr.prototype=Object.assign(Object.create(Ur.prototype),{constructor:Qr,interpolate_:function(A){return this.copySampleValue_(A-1)}}),Object.assign(Rr,{toJSON:function(A){var e,t=A.constructor;if(void 0!==t.toJSON)e=t.toJSON(A);else{e={name:A.name,times:br.convertArray(A.times,Array),values:br.convertArray(A.values,Array)};var i=A.getInterpolation();i!==A.DefaultInterpolation&&(e.interpolation=i)}return e.type=A.ValueTypeName,e}}),Object.assign(Rr.prototype,{constructor:Rr,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:2301,InterpolantFactoryMethodDiscrete:function(A){return new Qr(this.times,this.values,this.getValueSize(),A)},InterpolantFactoryMethodLinear:function(A){return new Kr(this.times,this.values,this.getValueSize(),A)},InterpolantFactoryMethodSmooth:function(A){return new Fr(this.times,this.values,this.getValueSize(),A)},setInterpolation:function(A){var e;switch(A){case 2300:e=this.InterpolantFactoryMethodDiscrete;break;case 2301:e=this.InterpolantFactoryMethodLinear;break;case 2302:e=this.InterpolantFactoryMethodSmooth}if(void 0===e){var t="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(A===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",t),this}return this.createInterpolant=e,this},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return 2300;case this.InterpolantFactoryMethodLinear:return 2301;case this.InterpolantFactoryMethodSmooth:return 2302}},getValueSize:function(){return this.values.length/this.times.length},shift:function(A){if(0!==A)for(var e=this.times,t=0,i=e.length;t!==i;++t)e[t]+=A;return this},scale:function(A){if(1!==A)for(var e=this.times,t=0,i=e.length;t!==i;++t)e[t]*=A;return this},trim:function(A,e){for(var t=this.times,i=t.length,o=0,n=i-1;o!==i&&A>t[o];)++o;for(;-1!==n&&t[n]>e;)--n;if(++n,0!==o||n!==i){n>o||(o=(n=Math.max(n,1))-1);var r=this.getValueSize();this.times=br.arraySlice(t,o,n),this.values=br.arraySlice(this.values,o*r,n*r)}return this},validate:function(){var A=!0,e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),A=!1);var t=this.times,i=this.values,o=t.length;0===o&&(console.error("THREE.KeyframeTrack: Track is empty.",this),A=!1);for(var n=null,r=0;r!==o;r++){var a=t[r];if("number"==typeof a&&isNaN(a)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,r,a),A=!1;break}if(null!==n&&n>a){console.error("THREE.KeyframeTrack: Out of order keys.",this,r,a,n),A=!1;break}n=a}if(void 0!==i&&br.isTypedArray(i)){r=0;for(var s=i.length;r!==s;++r){var l=i[r];if(isNaN(l)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,r,l),A=!1;break}}}return A},optimize:function(){for(var A=br.arraySlice(this.times),e=br.arraySlice(this.values),t=this.getValueSize(),i=2302===this.getInterpolation(),o=1,n=A.length-1,r=1;n>r;++r){var a=!1,s=A[r];if(s!==A[r+1]&&(1!==r||s!==s[0]))if(i)a=!0;else for(var l=r*t,c=l-t,h=l+t,d=0;d!==t;++d){var p=e[l+d];if(p!==e[c+d]||p!==e[h+d]){a=!0;break}}if(a){if(r!==o){A[o]=A[r];var g=r*t,u=o*t;for(d=0;d!==t;++d)e[u+d]=e[g+d]}++o}}if(n>0){A[o]=A[n];for(g=n*t,u=o*t,d=0;d!==t;++d)e[u+d]=e[g+d];++o}return o!==A.length?(this.times=br.arraySlice(A,0,o),this.values=br.arraySlice(e,0,o*t)):(this.times=A,this.values=e),this},clone:function(){var A=br.arraySlice(this.times,0),e=br.arraySlice(this.values,0),t=new(0,this.constructor)(this.name,A,e);return t.createInterpolant=this.createInterpolant,t}}),Tr.prototype=Object.assign(Object.create(Rr.prototype),{constructor:Tr,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),kr.prototype=Object.assign(Object.create(Rr.prototype),{constructor:kr,ValueTypeName:"color"}),Dr.prototype=Object.assign(Object.create(Rr.prototype),{constructor:Dr,ValueTypeName:"number"}),Lr.prototype=Object.assign(Object.create(Ur.prototype),{constructor:Lr,interpolate_:function(A,e,t,i){for(var o=this.resultBuffer,n=this.sampleValues,r=this.valueSize,a=A*r,s=(t-e)/(i-e),l=a+r;a!==l;a+=4)f.slerpFlat(o,0,n,a-r,n,a,s);return o}}),Nr.prototype=Object.assign(Object.create(Rr.prototype),{constructor:Nr,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(A){return new Lr(this.times,this.values,this.getValueSize(),A)},InterpolantFactoryMethodSmooth:void 0}),Or.prototype=Object.assign(Object.create(Rr.prototype),{constructor:Or,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Vr.prototype=Object.assign(Object.create(Rr.prototype),{constructor:Vr,ValueTypeName:"vector"}),Object.assign(Gr,{parse:function(A){for(var e=[],t=A.tracks,i=1/(A.fps||1),o=0,n=t.length;o!==n;++o)e.push(Pr(t[o]).scale(i));return new Gr(A.name,A.duration,e)},toJSON:function(A){for(var e=[],t=A.tracks,i={name:A.name,duration:A.duration,tracks:e,uuid:A.uuid},o=0,n=t.length;o!==n;++o)e.push(Rr.toJSON(t[o]));return i},CreateFromMorphTargetSequence:function(A,e,t,i){for(var o=e.length,n=[],r=0;o>r;r++){var a=[],s=[];a.push((r+o-1)%o,r,(r+1)%o),s.push(0,1,0);var l=br.getKeyframeOrder(a);a=br.sortedArray(a,1,l),s=br.sortedArray(s,1,l),i||0!==a[0]||(a.push(o),s.push(s[0])),n.push(new Dr(".morphTargetInfluences["+e[r].name+"]",a,s).scale(1/t))}return new Gr(A,-1,n)},findByName:function(A,e){var t=A;if(!Array.isArray(A)){t=A.geometry&&A.geometry.animations||A.animations}for(var i=0;t.length>i;i++)if(t[i].name===e)return t[i];return null},CreateClipsFromMorphTargetSequences:function(A,e,t){for(var i={},o=/^([\w-]*?)([\d]+)$/,n=0,r=A.length;r>n;n++){var a=A[n],s=a.name.match(o);if(s&&s.length>1){var l=i[h=s[1]];l||(i[h]=l=[]),l.push(a)}}var c=[];for(var h in i)c.push(Gr.CreateFromMorphTargetSequence(h,i[h],e,t));return c},parseAnimation:function(A,e){if(!A)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;for(var t=function(A,e,t,i,o){if(0!==t.length){var n=[],r=[];br.flattenJSON(t,n,r,i),0!==n.length&&o.push(new A(e,n,r))}},i=[],o=A.name||"default",n=A.length||-1,r=A.fps||30,a=A.hierarchy||[],s=0;a.length>s;s++){var l=a[s].keys;if(l&&0!==l.length)if(l[0].morphTargets){for(var c={},h=0;l.length>h;h++)if(l[h].morphTargets)for(var d=0;l[h].morphTargets.length>d;d++)c[l[h].morphTargets[d]]=-1;for(var p in c){var g=[],u=[];for(d=0;d!==l[h].morphTargets.length;++d){var f=l[h];g.push(f.time),u.push(f.morphTarget===p?1:0)}i.push(new Dr(".morphTargetInfluence["+p+"]",g,u))}n=c.length*(r||1)}else{var m=".bones["+e[s].name+"]";t(Vr,m+".position",l,"pos",i),t(Nr,m+".quaternion",l,"rot",i),t(Vr,m+".scale",l,"scl",i)}}return 0===i.length?null:new Gr(o,n,i)}}),Object.assign(Gr.prototype,{resetDuration:function(){for(var A=0,e=0,t=this.tracks.length;e!==t;++e){var i=this.tracks[e];A=Math.max(A,i.times[i.times.length-1])}return this.duration=A,this},trim:function(){for(var A=0;this.tracks.length>A;A++)this.tracks[A].trim(0,this.duration);return this},validate:function(){for(var A=!0,e=0;this.tracks.length>e;e++)A=A&&this.tracks[e].validate();return A},optimize:function(){for(var A=0;this.tracks.length>A;A++)this.tracks[A].optimize();return this},clone:function(){for(var A=[],e=0;this.tracks.length>e;e++)A.push(this.tracks[e].clone());return new Gr(this.name,this.duration,A)}});var qr={enabled:!1,files:{},add:function(A,e){!1!==this.enabled&&(this.files[A]=e)},get:function(A){if(!1!==this.enabled)return this.files[A]},remove:function(A){delete this.files[A]},clear:function(){this.files={}}};function jr(A,e,t){var i=this,o=!1,n=0,r=0,a=void 0,s=[];this.onStart=void 0,this.onLoad=A,this.onProgress=e,this.onError=t,this.itemStart=function(A){r++,!1===o&&void 0!==i.onStart&&i.onStart(A,n,r),o=!0},this.itemEnd=function(A){n++,void 0!==i.onProgress&&i.onProgress(A,n,r),n===r&&(o=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(A){void 0!==i.onError&&i.onError(A)},this.resolveURL=function(A){return a?a(A):A},this.setURLModifier=function(A){return a=A,this},this.addHandler=function(A,e){return s.push(A,e),this},this.removeHandler=function(A){var e=s.indexOf(A);return-1!==e&&s.splice(e,2),this},this.getHandler=function(A){for(var e=0,t=s.length;t>e;e+=2){var i=s[e],o=s[e+1];if(i.global&&(i.lastIndex=0),i.test(A))return o}return null}}var Hr=new jr;function Yr(A){this.manager=void 0!==A?A:Hr,this.crossOrigin="anonymous",this.path="",this.resourcePath=""}Object.assign(Yr.prototype,{load:function(){},parse:function(){},setCrossOrigin:function(A){return this.crossOrigin=A,this},setPath:function(A){return this.path=A,this},setResourcePath:function(A){return this.resourcePath=A,this}});var Wr={};function Jr(A){Yr.call(this,A)}function zr(A){Yr.call(this,A)}function Zr(A){Yr.call(this,A)}function Xr(A){Yr.call(this,A)}function _r(A){Yr.call(this,A)}function $r(A){Yr.call(this,A)}function Aa(A){Yr.call(this,A)}function ea(){this.type="Curve",this.arcLengthDivisions=200}function ta(A,e,t,i,o,n,r,a){ea.call(this),this.type="EllipseCurve",this.aX=A||0,this.aY=e||0,this.xRadius=t||1,this.yRadius=i||1,this.aStartAngle=o||0,this.aEndAngle=n||2*Math.PI,this.aClockwise=r||!1,this.aRotation=a||0}function ia(A,e,t,i,o,n){ta.call(this,A,e,t,t,i,o,n),this.type="ArcCurve"}function oa(){var A=0,e=0,t=0,i=0;function o(o,n,r,a){A=o,e=r,t=-3*o+3*n-2*r-a,i=2*o-2*n+r+a}return{initCatmullRom:function(A,e,t,i,n){o(e,t,n*(t-A),n*(i-e))},initNonuniformCatmullRom:function(A,e,t,i,n,r,a){var s=(e-A)/n-(t-A)/(n+r)+(t-e)/r,l=(t-e)/r-(i-e)/(r+a)+(i-t)/a;o(e,t,s*=r,l*=r)},calc:function(o){var n=o*o;return A+e*o+t*n+i*(n*o)}}}Jr.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Jr,load:function(A,e,t,i){void 0===A&&(A=""),void 0!==this.path&&(A=this.path+A),A=this.manager.resolveURL(A);var o=this,n=qr.get(A);if(void 0!==n)return o.manager.itemStart(A),setTimeout((function(){e&&e(n),o.manager.itemEnd(A)}),0),n;if(void 0===Wr[A]){var r=A.match(/^data:(.*?)(;base64)?,(.*)$/);if(r){var a=r[1],s=!!r[2],l=r[3];l=decodeURIComponent(l),s&&(l=atob(l));try{var c,h=(this.responseType||"").toLowerCase();switch(h){case"arraybuffer":case"blob":for(var d=new Uint8Array(l.length),p=0;l.length>p;p++)d[p]=l.charCodeAt(p);c="blob"===h?new Blob([d.buffer],{type:a}):d.buffer;break;case"document":var g=new DOMParser;c=g.parseFromString(l,a);break;case"json":c=JSON.parse(l);break;default:c=l}setTimeout((function(){e&&e(c),o.manager.itemEnd(A)}),0)}catch(e){setTimeout((function(){i&&i(e),o.manager.itemError(A),o.manager.itemEnd(A)}),0)}}else{Wr[A]=[],Wr[A].push({onLoad:e,onProgress:t,onError:i});var u=new XMLHttpRequest;for(var f in u.open("GET",A,!0),u.addEventListener("load",(function(e){var t=this.response,i=Wr[A];if(delete Wr[A],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),qr.add(A,t);for(var n=0,r=i.length;r>n;n++){(a=i[n]).onLoad&&a.onLoad(t)}o.manager.itemEnd(A)}else{for(n=0,r=i.length;r>n;n++){var a;(a=i[n]).onError&&a.onError(e)}o.manager.itemError(A),o.manager.itemEnd(A)}}),!1),u.addEventListener("progress",(function(e){for(var t=Wr[A],i=0,o=t.length;o>i;i++){var n=t[i];n.onProgress&&n.onProgress(e)}}),!1),u.addEventListener("error",(function(e){var t=Wr[A];delete Wr[A];for(var i=0,n=t.length;n>i;i++){var r=t[i];r.onError&&r.onError(e)}o.manager.itemError(A),o.manager.itemEnd(A)}),!1),u.addEventListener("abort",(function(e){var t=Wr[A];delete Wr[A];for(var i=0,n=t.length;n>i;i++){var r=t[i];r.onError&&r.onError(e)}o.manager.itemError(A),o.manager.itemEnd(A)}),!1),void 0!==this.responseType&&(u.responseType=this.responseType),void 0!==this.withCredentials&&(u.withCredentials=this.withCredentials),u.overrideMimeType&&u.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain"),this.requestHeader)u.setRequestHeader(f,this.requestHeader[f]);u.send(null)}return o.manager.itemStart(A),u}Wr[A].push({onLoad:e,onProgress:t,onError:i})},setResponseType:function(A){return this.responseType=A,this},setWithCredentials:function(A){return this.withCredentials=A,this},setMimeType:function(A){return this.mimeType=A,this},setRequestHeader:function(A){return this.requestHeader=A,this}}),zr.prototype=Object.assign(Object.create(Yr.prototype),{constructor:zr,load:function(A,e,t,i){var o=this,n=new Jr(o.manager);n.setPath(o.path),n.load(A,(function(A){e(o.parse(JSON.parse(A)))}),t,i)},parse:function(A){for(var e=[],t=0;A.length>t;t++){var i=Gr.parse(A[t]);e.push(i)}return e}}),Zr.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Zr,load:function(A,e,t,i){var o=this,n=[],r=new An;r.image=n;var a=new Jr(this.manager);function s(s){a.load(A[s],(function(A){var t=o.parse(A,!0);n[s]={width:t.width,height:t.height,format:t.format,mipmaps:t.mipmaps},6===(l+=1)&&(1===t.mipmapCount&&(r.minFilter=1006),r.format=t.format,r.needsUpdate=!0,e&&e(r))}),t,i)}if(a.setPath(this.path),a.setResponseType("arraybuffer"),Array.isArray(A))for(var l=0,c=0,h=A.length;h>c;++c)s(c);else a.load(A,(function(A){var t=o.parse(A,!0);if(t.isCubemap)for(var i=t.mipmaps.length/t.mipmapCount,a=0;i>a;a++){n[a]={mipmaps:[]};for(var s=0;t.mipmapCount>s;s++)n[a].mipmaps.push(t.mipmaps[a*t.mipmapCount+s]),n[a].format=t.format,n[a].width=t.width,n[a].height=t.height}else r.image.width=t.width,r.image.height=t.height,r.mipmaps=t.mipmaps;1===t.mipmapCount&&(r.minFilter=1006),r.format=t.format,r.needsUpdate=!0,e&&e(r)}),t,i);return r}}),Xr.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Xr,load:function(A,e,t,i){var o=this,n=new We,r=new Jr(this.manager);return r.setResponseType("arraybuffer"),r.setPath(this.path),r.load(A,(function(A){var t=o.parse(A);t&&(void 0!==t.image?n.image=t.image:void 0!==t.data&&(n.image.width=t.width,n.image.height=t.height,n.image.data=t.data),n.wrapS=void 0!==t.wrapS?t.wrapS:1001,n.wrapT=void 0!==t.wrapT?t.wrapT:1001,n.magFilter=void 0!==t.magFilter?t.magFilter:1006,n.minFilter=void 0!==t.minFilter?t.minFilter:1006,n.anisotropy=void 0!==t.anisotropy?t.anisotropy:1,void 0!==t.format&&(n.format=t.format),void 0!==t.type&&(n.type=t.type),void 0!==t.mipmaps&&(n.mipmaps=t.mipmaps,n.minFilter=1008),1===t.mipmapCount&&(n.minFilter=1006),n.needsUpdate=!0,e&&e(n,t))}),t,i),n}}),_r.prototype=Object.assign(Object.create(Yr.prototype),{constructor:_r,load:function(A,e,t,i){void 0!==this.path&&(A=this.path+A),A=this.manager.resolveURL(A);var o=this,n=qr.get(A);if(void 0!==n)return o.manager.itemStart(A),setTimeout((function(){e&&e(n),o.manager.itemEnd(A)}),0),n;var r=document.createElementNS("http://www.w3.org/1999/xhtml","img");function a(){r.removeEventListener("load",a,!1),r.removeEventListener("error",s,!1),qr.add(A,this),e&&e(this),o.manager.itemEnd(A)}function s(e){r.removeEventListener("load",a,!1),r.removeEventListener("error",s,!1),i&&i(e),o.manager.itemError(A),o.manager.itemEnd(A)}return r.addEventListener("load",a,!1),r.addEventListener("error",s,!1),"data:"!==A.substr(0,5)&&void 0!==this.crossOrigin&&(r.crossOrigin=this.crossOrigin),o.manager.itemStart(A),r.src=A,r}}),$r.prototype=Object.assign(Object.create(Yr.prototype),{constructor:$r,load:function(A,e,t,i){var o=new ut,n=new _r(this.manager);n.setCrossOrigin(this.crossOrigin),n.setPath(this.path);var r=0;function a(t){n.load(A[t],(function(A){o.images[t]=A,6===++r&&(o.needsUpdate=!0,e&&e(o))}),void 0,i)}for(var s=0;A.length>s;++s)a(s);return o}}),Aa.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Aa,load:function(A,e,t,i){var o=new d,n=new _r(this.manager);return n.setCrossOrigin(this.crossOrigin),n.setPath(this.path),n.load(A,(function(t){o.image=t;var i=A.search(/\.jpe?g($|\?)/i)>0||0===A.search(/^data\:image\/jpeg/);o.format=i?1022:1023,o.needsUpdate=!0,void 0!==e&&e(o)}),t,i),o}}),Object.assign(ea.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(A,e){var t=this.getUtoTmapping(A);return this.getPoint(t,e)},getPoints:function(A){void 0===A&&(A=5);for(var e=[],t=0;A>=t;t++)e.push(this.getPoint(t/A));return e},getSpacedPoints:function(A){void 0===A&&(A=5);for(var e=[],t=0;A>=t;t++)e.push(this.getPointAt(t/A));return e},getLength:function(){var A=this.getLengths();return A[A.length-1]},getLengths:function(A){if(void 0===A&&(A=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===A+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e,t,i=[],o=this.getPoint(0),n=0;for(i.push(0),t=1;A>=t;t++)n+=(e=this.getPoint(t/A)).distanceTo(o),i.push(n),o=e;return this.cacheArcLengths=i,i},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(A,e){var t,i=this.getLengths(),o=0,n=i.length;t=e||A*i[n-1];for(var r,a=0,s=n-1;s>=a;)if(0>(r=i[o=Math.floor(a+(s-a)/2)]-t))a=o+1;else{if(0>=r){s=o;break}s=o-1}if(i[o=s]===t)return o/(n-1);var l=i[o];return(o+(t-l)/(i[o+1]-l))/(n-1)},getTangent:function(A){var e=A-1e-4,t=A+1e-4;0>e&&(e=0),t>1&&(t=1);var i=this.getPoint(e);return this.getPoint(t).clone().sub(i).normalize()},getTangentAt:function(A){var e=this.getUtoTmapping(A);return this.getTangent(e)},computeFrenetFrames:function(A,e){var t,i,o=new y,n=[],r=[],s=[],l=new y,c=new M;for(t=0;A>=t;t++)n[t]=this.getTangentAt(t/A),n[t].normalize();r[0]=new y,s[0]=new y;var h=Number.MAX_VALUE,d=Math.abs(n[0].x),p=Math.abs(n[0].y),g=Math.abs(n[0].z);for(d>h||(h=d,o.set(1,0,0)),p>h||(h=p,o.set(0,1,0)),g>h||o.set(0,0,1),l.crossVectors(n[0],o).normalize(),r[0].crossVectors(n[0],l),s[0].crossVectors(n[0],r[0]),t=1;A>=t;t++)r[t]=r[t-1].clone(),s[t]=s[t-1].clone(),l.crossVectors(n[t-1],n[t]),l.length()>Number.EPSILON&&(l.normalize(),i=Math.acos(a.clamp(n[t-1].dot(n[t]),-1,1)),r[t].applyMatrix4(c.makeRotationAxis(l,i))),s[t].crossVectors(n[t],r[t]);if(!0===e)for(i=Math.acos(a.clamp(r[0].dot(r[A]),-1,1)),i/=A,n[0].dot(l.crossVectors(r[0],r[A]))>0&&(i=-i),t=1;A>=t;t++)r[t].applyMatrix4(c.makeRotationAxis(n[t],i*t)),s[t].crossVectors(n[t],r[t]);return{tangents:n,normals:r,binormals:s}},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.arcLengthDivisions=A.arcLengthDivisions,this},toJSON:function(){var A={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return A.arcLengthDivisions=this.arcLengthDivisions,A.type=this.type,A},fromJSON:function(A){return this.arcLengthDivisions=A.arcLengthDivisions,this}}),(ta.prototype=Object.create(ea.prototype)).constructor=ta,ta.prototype.isEllipseCurve=!0,ta.prototype.getPoint=function(A,e){for(var t=e||new s,i=2*Math.PI,o=this.aEndAngle-this.aStartAngle,n=Math.abs(o)<Number.EPSILON;0>o;)o+=i;for(;o>i;)o-=i;Number.EPSILON>o&&(o=n?0:i),!0!==this.aClockwise||n||(o===i?o=-i:o-=i);var r=this.aStartAngle+A*o,a=this.aX+this.xRadius*Math.cos(r),l=this.aY+this.yRadius*Math.sin(r);if(0!==this.aRotation){var c=Math.cos(this.aRotation),h=Math.sin(this.aRotation),d=a-this.aX,p=l-this.aY;a=d*c-p*h+this.aX,l=d*h+p*c+this.aY}return t.set(a,l)},ta.prototype.copy=function(A){return ea.prototype.copy.call(this,A),this.aX=A.aX,this.aY=A.aY,this.xRadius=A.xRadius,this.yRadius=A.yRadius,this.aStartAngle=A.aStartAngle,this.aEndAngle=A.aEndAngle,this.aClockwise=A.aClockwise,this.aRotation=A.aRotation,this},ta.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);return A.aX=this.aX,A.aY=this.aY,A.xRadius=this.xRadius,A.yRadius=this.yRadius,A.aStartAngle=this.aStartAngle,A.aEndAngle=this.aEndAngle,A.aClockwise=this.aClockwise,A.aRotation=this.aRotation,A},ta.prototype.fromJSON=function(A){return ea.prototype.fromJSON.call(this,A),this.aX=A.aX,this.aY=A.aY,this.xRadius=A.xRadius,this.yRadius=A.yRadius,this.aStartAngle=A.aStartAngle,this.aEndAngle=A.aEndAngle,this.aClockwise=A.aClockwise,this.aRotation=A.aRotation,this},(ia.prototype=Object.create(ta.prototype)).constructor=ia,ia.prototype.isArcCurve=!0;var na=new y,ra=new oa,aa=new oa,sa=new oa;function la(A,e,t,i){ea.call(this),this.type="CatmullRomCurve3",this.points=A||[],this.closed=e||!1,this.curveType=t||"centripetal",this.tension=i||.5}function ca(A,e,t,i,o){var n=.5*(i-e),r=.5*(o-t),a=A*A;return(2*t-2*i+n+r)*(A*a)+(-3*t+3*i-2*n-r)*a+n*A+t}function ha(A,e,t,i){return function(A,e){var t=1-A;return t*t*e}(A,e)+function(A,e){return 2*(1-A)*A*e}(A,t)+function(A,e){return A*A*e}(A,i)}function da(A,e,t,i,o){return function(A,e){var t=1-A;return t*t*t*e}(A,e)+function(A,e){var t=1-A;return 3*t*t*A*e}(A,t)+function(A,e){return 3*(1-A)*A*A*e}(A,i)+function(A,e){return A*A*A*e}(A,o)}function pa(A,e,t,i){ea.call(this),this.type="CubicBezierCurve",this.v0=A||new s,this.v1=e||new s,this.v2=t||new s,this.v3=i||new s}function ga(A,e,t,i){ea.call(this),this.type="CubicBezierCurve3",this.v0=A||new y,this.v1=e||new y,this.v2=t||new y,this.v3=i||new y}function ua(A,e){ea.call(this),this.type="LineCurve",this.v1=A||new s,this.v2=e||new s}function fa(A,e){ea.call(this),this.type="LineCurve3",this.v1=A||new y,this.v2=e||new y}function ma(A,e,t){ea.call(this),this.type="QuadraticBezierCurve",this.v0=A||new s,this.v1=e||new s,this.v2=t||new s}function Ca(A,e,t){ea.call(this),this.type="QuadraticBezierCurve3",this.v0=A||new y,this.v1=e||new y,this.v2=t||new y}function ya(A){ea.call(this),this.type="SplineCurve",this.points=A||[]}(la.prototype=Object.create(ea.prototype)).constructor=la,la.prototype.isCatmullRomCurve3=!0,la.prototype.getPoint=function(A,e){var t,i,o,n,r=e||new y,a=this.points,s=a.length,l=(s-(this.closed?0:1))*A,c=Math.floor(l),h=l-c;if(this.closed?c+=c>0?0:(Math.floor(Math.abs(c)/s)+1)*s:0===h&&c===s-1&&(c=s-2,h=1),this.closed||c>0?t=a[(c-1)%s]:(na.subVectors(a[0],a[1]).add(a[0]),t=na),i=a[c%s],o=a[(c+1)%s],this.closed||s>c+2?n=a[(c+2)%s]:(na.subVectors(a[s-1],a[s-2]).add(a[s-1]),n=na),"centripetal"===this.curveType||"chordal"===this.curveType){var d="chordal"===this.curveType?.5:.25,p=Math.pow(t.distanceToSquared(i),d),g=Math.pow(i.distanceToSquared(o),d),u=Math.pow(o.distanceToSquared(n),d);1e-4>g&&(g=1),1e-4>p&&(p=g),1e-4>u&&(u=g),ra.initNonuniformCatmullRom(t.x,i.x,o.x,n.x,p,g,u),aa.initNonuniformCatmullRom(t.y,i.y,o.y,n.y,p,g,u),sa.initNonuniformCatmullRom(t.z,i.z,o.z,n.z,p,g,u)}else"catmullrom"===this.curveType&&(ra.initCatmullRom(t.x,i.x,o.x,n.x,this.tension),aa.initCatmullRom(t.y,i.y,o.y,n.y,this.tension),sa.initCatmullRom(t.z,i.z,o.z,n.z,this.tension));return r.set(ra.calc(h),aa.calc(h),sa.calc(h)),r},la.prototype.copy=function(A){ea.prototype.copy.call(this,A),this.points=[];for(var e=0,t=A.points.length;t>e;e++){this.points.push(A.points[e].clone())}return this.closed=A.closed,this.curveType=A.curveType,this.tension=A.tension,this},la.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);A.points=[];for(var e=0,t=this.points.length;t>e;e++){A.points.push(this.points[e].toArray())}return A.closed=this.closed,A.curveType=this.curveType,A.tension=this.tension,A},la.prototype.fromJSON=function(A){ea.prototype.fromJSON.call(this,A),this.points=[];for(var e=0,t=A.points.length;t>e;e++){var i=A.points[e];this.points.push((new y).fromArray(i))}return this.closed=A.closed,this.curveType=A.curveType,this.tension=A.tension,this},(pa.prototype=Object.create(ea.prototype)).constructor=pa,pa.prototype.isCubicBezierCurve=!0,pa.prototype.getPoint=function(A,e){var t=e||new s,i=this.v0,o=this.v1,n=this.v2,r=this.v3;return t.set(da(A,i.x,o.x,n.x,r.x),da(A,i.y,o.y,n.y,r.y)),t},pa.prototype.copy=function(A){return ea.prototype.copy.call(this,A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this.v3.copy(A.v3),this},pa.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A.v3=this.v3.toArray(),A},pa.prototype.fromJSON=function(A){return ea.prototype.fromJSON.call(this,A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this.v3.fromArray(A.v3),this},(ga.prototype=Object.create(ea.prototype)).constructor=ga,ga.prototype.isCubicBezierCurve3=!0,ga.prototype.getPoint=function(A,e){var t=e||new y,i=this.v0,o=this.v1,n=this.v2,r=this.v3;return t.set(da(A,i.x,o.x,n.x,r.x),da(A,i.y,o.y,n.y,r.y),da(A,i.z,o.z,n.z,r.z)),t},ga.prototype.copy=function(A){return ea.prototype.copy.call(this,A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this.v3.copy(A.v3),this},ga.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A.v3=this.v3.toArray(),A},ga.prototype.fromJSON=function(A){return ea.prototype.fromJSON.call(this,A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this.v3.fromArray(A.v3),this},(ua.prototype=Object.create(ea.prototype)).constructor=ua,ua.prototype.isLineCurve=!0,ua.prototype.getPoint=function(A,e){var t=e||new s;return 1===A?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(A).add(this.v1)),t},ua.prototype.getPointAt=function(A,e){return this.getPoint(A,e)},ua.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()},ua.prototype.copy=function(A){return ea.prototype.copy.call(this,A),this.v1.copy(A.v1),this.v2.copy(A.v2),this},ua.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);return A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A},ua.prototype.fromJSON=function(A){return ea.prototype.fromJSON.call(this,A),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this},(fa.prototype=Object.create(ea.prototype)).constructor=fa,fa.prototype.isLineCurve3=!0,fa.prototype.getPoint=function(A,e){var t=e||new y;return 1===A?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(A).add(this.v1)),t},fa.prototype.getPointAt=function(A,e){return this.getPoint(A,e)},fa.prototype.copy=function(A){return ea.prototype.copy.call(this,A),this.v1.copy(A.v1),this.v2.copy(A.v2),this},fa.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);return A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A},fa.prototype.fromJSON=function(A){return ea.prototype.fromJSON.call(this,A),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this},(ma.prototype=Object.create(ea.prototype)).constructor=ma,ma.prototype.isQuadraticBezierCurve=!0,ma.prototype.getPoint=function(A,e){var t=e||new s,i=this.v0,o=this.v1,n=this.v2;return t.set(ha(A,i.x,o.x,n.x),ha(A,i.y,o.y,n.y)),t},ma.prototype.copy=function(A){return ea.prototype.copy.call(this,A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this},ma.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A},ma.prototype.fromJSON=function(A){return ea.prototype.fromJSON.call(this,A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this},(Ca.prototype=Object.create(ea.prototype)).constructor=Ca,Ca.prototype.isQuadraticBezierCurve3=!0,Ca.prototype.getPoint=function(A,e){var t=e||new y,i=this.v0,o=this.v1,n=this.v2;return t.set(ha(A,i.x,o.x,n.x),ha(A,i.y,o.y,n.y),ha(A,i.z,o.z,n.z)),t},Ca.prototype.copy=function(A){return ea.prototype.copy.call(this,A),this.v0.copy(A.v0),this.v1.copy(A.v1),this.v2.copy(A.v2),this},Ca.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);return A.v0=this.v0.toArray(),A.v1=this.v1.toArray(),A.v2=this.v2.toArray(),A},Ca.prototype.fromJSON=function(A){return ea.prototype.fromJSON.call(this,A),this.v0.fromArray(A.v0),this.v1.fromArray(A.v1),this.v2.fromArray(A.v2),this},(ya.prototype=Object.create(ea.prototype)).constructor=ya,ya.prototype.isSplineCurve=!0,ya.prototype.getPoint=function(A,e){var t=e||new s,i=this.points,o=(i.length-1)*A,n=Math.floor(o),r=o-n,a=i[0===n?n:n-1],l=i[n],c=i[n>i.length-2?i.length-1:n+1],h=i[n>i.length-3?i.length-1:n+2];return t.set(ca(r,a.x,l.x,c.x,h.x),ca(r,a.y,l.y,c.y,h.y)),t},ya.prototype.copy=function(A){ea.prototype.copy.call(this,A),this.points=[];for(var e=0,t=A.points.length;t>e;e++){this.points.push(A.points[e].clone())}return this},ya.prototype.toJSON=function(){var A=ea.prototype.toJSON.call(this);A.points=[];for(var e=0,t=this.points.length;t>e;e++){A.points.push(this.points[e].toArray())}return A},ya.prototype.fromJSON=function(A){ea.prototype.fromJSON.call(this,A),this.points=[];for(var e=0,t=A.points.length;t>e;e++){var i=A.points[e];this.points.push((new s).fromArray(i))}return this};var va=Object.freeze({__proto__:null,ArcCurve:ia,CatmullRomCurve3:la,CubicBezierCurve:pa,CubicBezierCurve3:ga,EllipseCurve:ta,LineCurve:ua,LineCurve3:fa,QuadraticBezierCurve:ma,QuadraticBezierCurve3:Ca,SplineCurve:ya});function Ia(){ea.call(this),this.type="CurvePath",this.curves=[],this.autoClose=!1}function Ea(A){Ia.call(this),this.type="Path",this.currentPoint=new s,A&&this.setFromPoints(A)}function Ba(A){Ea.call(this,A),this.uuid=a.generateUUID(),this.type="Shape",this.holes=[]}function xa(A,e){H.call(this),this.type="Light",this.color=new LA(A),this.intensity=void 0!==e?e:1,this.receiveShadow=void 0}function Sa(A,e,t){xa.call(this,A,t),this.type="HemisphereLight",this.castShadow=void 0,this.position.copy(H.DefaultUp),this.updateMatrix(),this.groundColor=new LA(e)}function wa(A){this.camera=A,this.bias=0,this.radius=1,this.mapSize=new s(512,512),this.map=null,this.mapPass=null,this.matrix=new M,this._frustum=new Ze,this._frameExtents=new s(1,1),this._viewportCount=1,this._viewports=[new p(0,0,1,1)]}function Ma(){wa.call(this,new je(50,1,.5,500))}function ba(A,e,t,i,o,n){xa.call(this,A,e),this.type="SpotLight",this.position.copy(H.DefaultUp),this.updateMatrix(),this.target=new H,Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(A){this.intensity=A/Math.PI}}),this.distance=void 0!==t?t:0,this.angle=void 0!==i?i:Math.PI/3,this.penumbra=void 0!==o?o:0,this.decay=void 0!==n?n:1,this.shadow=new Ma}function Ua(){wa.call(this,new je(90,1,.5,500)),this._frameExtents=new s(4,2),this._viewportCount=6,this._viewports=[new p(2,1,1,1),new p(0,1,1,1),new p(3,1,1,1),new p(1,1,1,1),new p(3,0,1,1),new p(1,0,1,1)],this._cubeDirections=[new y(1,0,0),new y(-1,0,0),new y(0,0,1),new y(0,0,-1),new y(0,1,0),new y(0,-1,0)],this._cubeUps=[new y(0,1,0),new y(0,1,0),new y(0,1,0),new y(0,1,0),new y(0,0,1),new y(0,0,-1)]}function Fa(A,e,t,i){xa.call(this,A,e),this.type="PointLight",Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(A){this.intensity=A/(4*Math.PI)}}),this.distance=void 0!==t?t:0,this.decay=void 0!==i?i:1,this.shadow=new Ua}function Ka(A,e,t,i,o,n){qe.call(this),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=void 0!==A?A:-1,this.right=void 0!==e?e:1,this.top=void 0!==t?t:1,this.bottom=void 0!==i?i:-1,this.near=void 0!==o?o:.1,this.far=void 0!==n?n:2e3,this.updateProjectionMatrix()}function Qa(){wa.call(this,new Ka(-5,5,5,-5,.5,500))}function Ra(A,e){xa.call(this,A,e),this.type="DirectionalLight",this.position.copy(H.DefaultUp),this.updateMatrix(),this.target=new H,this.shadow=new Qa}function Ta(A,e){xa.call(this,A,e),this.type="AmbientLight",this.castShadow=void 0}function ka(A,e,t,i){xa.call(this,A,e),this.type="RectAreaLight",this.width=void 0!==t?t:10,this.height=void 0!==i?i:10}function Da(A){Yr.call(this,A),this.textures={}}Ia.prototype=Object.assign(Object.create(ea.prototype),{constructor:Ia,add:function(A){this.curves.push(A)},closePath:function(){var A=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);A.equals(e)||this.curves.push(new ua(e,A))},getPoint:function(A){for(var e=A*this.getLength(),t=this.getCurveLengths(),i=0;t.length>i;){if(t[i]>=e){var o=t[i]-e,n=this.curves[i],r=n.getLength();return n.getPointAt(0===r?0:1-o/r)}i++}return null},getLength:function(){var A=this.getCurveLengths();return A[A.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 A=[],e=0,t=0,i=this.curves.length;i>t;t++)e+=this.curves[t].getLength(),A.push(e);return this.cacheLengths=A,A},getSpacedPoints:function(A){void 0===A&&(A=40);for(var e=[],t=0;A>=t;t++)e.push(this.getPoint(t/A));return this.autoClose&&e.push(e[0]),e},getPoints:function(A){A=A||12;for(var e,t=[],i=0,o=this.curves;o.length>i;i++)for(var n=o[i],r=n.getPoints(n&&n.isEllipseCurve?2*A:n&&(n.isLineCurve||n.isLineCurve3)?1:n&&n.isSplineCurve?A*n.points.length:A),a=0;r.length>a;a++){var s=r[a];e&&e.equals(s)||(t.push(s),e=s)}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t},copy:function(A){ea.prototype.copy.call(this,A),this.curves=[];for(var e=0,t=A.curves.length;t>e;e++){this.curves.push(A.curves[e].clone())}return this.autoClose=A.autoClose,this},toJSON:function(){var A=ea.prototype.toJSON.call(this);A.autoClose=this.autoClose,A.curves=[];for(var e=0,t=this.curves.length;t>e;e++){A.curves.push(this.curves[e].toJSON())}return A},fromJSON:function(A){ea.prototype.fromJSON.call(this,A),this.autoClose=A.autoClose,this.curves=[];for(var e=0,t=A.curves.length;t>e;e++){var i=A.curves[e];this.curves.push((new va[i.type]).fromJSON(i))}return this}}),Ea.prototype=Object.assign(Object.create(Ia.prototype),{constructor:Ea,setFromPoints:function(A){this.moveTo(A[0].x,A[0].y);for(var e=1,t=A.length;t>e;e++)this.lineTo(A[e].x,A[e].y);return this},moveTo:function(A,e){return this.currentPoint.set(A,e),this},lineTo:function(A,e){var t=new ua(this.currentPoint.clone(),new s(A,e));return this.curves.push(t),this.currentPoint.set(A,e),this},quadraticCurveTo:function(A,e,t,i){var o=new ma(this.currentPoint.clone(),new s(A,e),new s(t,i));return this.curves.push(o),this.currentPoint.set(t,i),this},bezierCurveTo:function(A,e,t,i,o,n){var r=new pa(this.currentPoint.clone(),new s(A,e),new s(t,i),new s(o,n));return this.curves.push(r),this.currentPoint.set(o,n),this},splineThru:function(A){var e=new ya([this.currentPoint.clone()].concat(A));return this.curves.push(e),this.currentPoint.copy(A[A.length-1]),this},arc:function(A,e,t,i,o,n){return this.absarc(A+this.currentPoint.x,e+this.currentPoint.y,t,i,o,n),this},absarc:function(A,e,t,i,o,n){return this.absellipse(A,e,t,t,i,o,n),this},ellipse:function(A,e,t,i,o,n,r,a){return this.absellipse(A+this.currentPoint.x,e+this.currentPoint.y,t,i,o,n,r,a),this},absellipse:function(A,e,t,i,o,n,r,a){var s=new ta(A,e,t,i,o,n,r,a);if(this.curves.length>0){var l=s.getPoint(0);l.equals(this.currentPoint)||this.lineTo(l.x,l.y)}this.curves.push(s);var c=s.getPoint(1);return this.currentPoint.copy(c),this},copy:function(A){return Ia.prototype.copy.call(this,A),this.currentPoint.copy(A.currentPoint),this},toJSON:function(){var A=Ia.prototype.toJSON.call(this);return A.currentPoint=this.currentPoint.toArray(),A},fromJSON:function(A){return Ia.prototype.fromJSON.call(this,A),this.currentPoint.fromArray(A.currentPoint),this}}),Ba.prototype=Object.assign(Object.create(Ea.prototype),{constructor:Ba,getPointsHoles:function(A){for(var e=[],t=0,i=this.holes.length;i>t;t++)e[t]=this.holes[t].getPoints(A);return e},extractPoints:function(A){return{shape:this.getPoints(A),holes:this.getPointsHoles(A)}},copy:function(A){Ea.prototype.copy.call(this,A),this.holes=[];for(var e=0,t=A.holes.length;t>e;e++){this.holes.push(A.holes[e].clone())}return this},toJSON:function(){var A=Ea.prototype.toJSON.call(this);A.uuid=this.uuid,A.holes=[];for(var e=0,t=this.holes.length;t>e;e++){A.holes.push(this.holes[e].toJSON())}return A},fromJSON:function(A){Ea.prototype.fromJSON.call(this,A),this.uuid=A.uuid,this.holes=[];for(var e=0,t=A.holes.length;t>e;e++){var i=A.holes[e];this.holes.push((new Ea).fromJSON(i))}return this}}),xa.prototype=Object.assign(Object.create(H.prototype),{constructor:xa,isLight:!0,copy:function(A){return H.prototype.copy.call(this,A),this.color.copy(A.color),this.intensity=A.intensity,this},toJSON:function(A){var e=H.prototype.toJSON.call(this,A);return e.object.color=this.color.getHex(),e.object.intensity=this.intensity,void 0!==this.groundColor&&(e.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(e.object.distance=this.distance),void 0!==this.angle&&(e.object.angle=this.angle),void 0!==this.decay&&(e.object.decay=this.decay),void 0!==this.penumbra&&(e.object.penumbra=this.penumbra),void 0!==this.shadow&&(e.object.shadow=this.shadow.toJSON()),e}}),Sa.prototype=Object.assign(Object.create(xa.prototype),{constructor:Sa,isHemisphereLight:!0,copy:function(A){return xa.prototype.copy.call(this,A),this.groundColor.copy(A.groundColor),this}}),Object.assign(wa.prototype,{_projScreenMatrix:new M,_lightPositionWorld:new y,_lookTarget:new y,getViewportCount:function(){return this._viewportCount},getFrustum:function(){return this._frustum},updateMatrices:function(A){var e=this.camera,t=this.matrix,i=this._projScreenMatrix,o=this._lookTarget,n=this._lightPositionWorld;n.setFromMatrixPosition(A.matrixWorld),e.position.copy(n),o.setFromMatrixPosition(A.target.matrixWorld),e.lookAt(o),e.updateMatrixWorld(),i.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(i),t.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),t.multiply(e.projectionMatrix),t.multiply(e.matrixWorldInverse)},getViewport:function(A){return this._viewports[A]},getFrameExtents:function(){return this._frameExtents},copy:function(A){return this.camera=A.camera.clone(),this.bias=A.bias,this.radius=A.radius,this.mapSize.copy(A.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var A={};return 0!==this.bias&&(A.bias=this.bias),1!==this.radius&&(A.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(A.mapSize=this.mapSize.toArray()),A.camera=this.camera.toJSON(!1).object,delete A.camera.matrix,A}}),Ma.prototype=Object.assign(Object.create(wa.prototype),{constructor:Ma,isSpotLightShadow:!0,updateMatrices:function(A){var e=this.camera,t=2*a.RAD2DEG*A.angle,i=this.mapSize.width/this.mapSize.height,o=A.distance||e.far;t===e.fov&&i===e.aspect&&o===e.far||(e.fov=t,e.aspect=i,e.far=o,e.updateProjectionMatrix()),wa.prototype.updateMatrices.call(this,A)}}),ba.prototype=Object.assign(Object.create(xa.prototype),{constructor:ba,isSpotLight:!0,copy:function(A){return xa.prototype.copy.call(this,A),this.distance=A.distance,this.angle=A.angle,this.penumbra=A.penumbra,this.decay=A.decay,this.target=A.target.clone(),this.shadow=A.shadow.clone(),this}}),Ua.prototype=Object.assign(Object.create(wa.prototype),{constructor:Ua,isPointLightShadow:!0,updateMatrices:function(A,e){void 0===e&&(e=0);var t=this.camera,i=this.matrix,o=this._lightPositionWorld,n=this._lookTarget,r=this._projScreenMatrix;o.setFromMatrixPosition(A.matrixWorld),t.position.copy(o),n.copy(t.position),n.add(this._cubeDirections[e]),t.up.copy(this._cubeUps[e]),t.lookAt(n),t.updateMatrixWorld(),i.makeTranslation(-o.x,-o.y,-o.z),r.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(r)}}),Fa.prototype=Object.assign(Object.create(xa.prototype),{constructor:Fa,isPointLight:!0,copy:function(A){return xa.prototype.copy.call(this,A),this.distance=A.distance,this.decay=A.decay,this.shadow=A.shadow.clone(),this}}),Ka.prototype=Object.assign(Object.create(qe.prototype),{constructor:Ka,isOrthographicCamera:!0,copy:function(A,e){return qe.prototype.copy.call(this,A,e),this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.near=A.near,this.far=A.far,this.zoom=A.zoom,this.view=null===A.view?null:Object.assign({},A.view),this},setViewOffset:function(A,e,t,i,o,n){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=A,this.view.fullHeight=e,this.view.offsetX=t,this.view.offsetY=i,this.view.width=o,this.view.height=n,this.updateProjectionMatrix()},clearViewOffset:function(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var A=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),t=(this.right+this.left)/2,i=(this.top+this.bottom)/2,o=t-A,n=t+A,r=i+e,a=i-e;if(null!==this.view&&this.view.enabled){var s=(this.right-this.left)/this.view.fullWidth/this.zoom,l=(this.top-this.bottom)/this.view.fullHeight/this.zoom;n=(o+=s*this.view.offsetX)+s*this.view.width,a=(r-=l*this.view.offsetY)-l*this.view.height}this.projectionMatrix.makeOrthographic(o,n,r,a,this.near,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(A){var e=H.prototype.toJSON.call(this,A);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}),Qa.prototype=Object.assign(Object.create(wa.prototype),{constructor:Qa,isDirectionalLightShadow:!0,updateMatrices:function(A){wa.prototype.updateMatrices.call(this,A)}}),Ra.prototype=Object.assign(Object.create(xa.prototype),{constructor:Ra,isDirectionalLight:!0,copy:function(A){return xa.prototype.copy.call(this,A),this.target=A.target.clone(),this.shadow=A.shadow.clone(),this}}),Ta.prototype=Object.assign(Object.create(xa.prototype),{constructor:Ta,isAmbientLight:!0}),ka.prototype=Object.assign(Object.create(xa.prototype),{constructor:ka,isRectAreaLight:!0,copy:function(A){return xa.prototype.copy.call(this,A),this.width=A.width,this.height=A.height,this},toJSON:function(A){var e=xa.prototype.toJSON.call(this,A);return e.object.width=this.width,e.object.height=this.height,e}}),Da.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Da,load:function(A,e,t,i){var o=this,n=new Jr(o.manager);n.setPath(o.path),n.load(A,(function(A){e(o.parse(JSON.parse(A)))}),t,i)},parse:function(A){var e=this.textures;function t(A){return void 0===e[A]&&console.warn("THREE.MaterialLoader: Undefined texture",A),e[A]}var i=new Mr[A.type];if(void 0!==A.uuid&&(i.uuid=A.uuid),void 0!==A.name&&(i.name=A.name),void 0!==A.color&&i.color.setHex(A.color),void 0!==A.roughness&&(i.roughness=A.roughness),void 0!==A.metalness&&(i.metalness=A.metalness),void 0!==A.sheen&&(i.sheen=(new LA).setHex(A.sheen)),void 0!==A.emissive&&i.emissive.setHex(A.emissive),void 0!==A.specular&&i.specular.setHex(A.specular),void 0!==A.shininess&&(i.shininess=A.shininess),void 0!==A.clearcoat&&(i.clearcoat=A.clearcoat),void 0!==A.clearcoatRoughness&&(i.clearcoatRoughness=A.clearcoatRoughness),void 0!==A.fog&&(i.fog=A.fog),void 0!==A.flatShading&&(i.flatShading=A.flatShading),void 0!==A.blending&&(i.blending=A.blending),void 0!==A.combine&&(i.combine=A.combine),void 0!==A.side&&(i.side=A.side),void 0!==A.opacity&&(i.opacity=A.opacity),void 0!==A.transparent&&(i.transparent=A.transparent),void 0!==A.alphaTest&&(i.alphaTest=A.alphaTest),void 0!==A.depthTest&&(i.depthTest=A.depthTest),void 0!==A.depthWrite&&(i.depthWrite=A.depthWrite),void 0!==A.colorWrite&&(i.colorWrite=A.colorWrite),void 0!==A.stencilWrite&&(i.stencilWrite=A.stencilWrite),void 0!==A.stencilWriteMask&&(i.stencilWriteMask=A.stencilWriteMask),void 0!==A.stencilFunc&&(i.stencilFunc=A.stencilFunc),void 0!==A.stencilRef&&(i.stencilRef=A.stencilRef),void 0!==A.stencilFuncMask&&(i.stencilFuncMask=A.stencilFuncMask),void 0!==A.stencilFail&&(i.stencilFail=A.stencilFail),void 0!==A.stencilZFail&&(i.stencilZFail=A.stencilZFail),void 0!==A.stencilZPass&&(i.stencilZPass=A.stencilZPass),void 0!==A.wireframe&&(i.wireframe=A.wireframe),void 0!==A.wireframeLinewidth&&(i.wireframeLinewidth=A.wireframeLinewidth),void 0!==A.wireframeLinecap&&(i.wireframeLinecap=A.wireframeLinecap),void 0!==A.wireframeLinejoin&&(i.wireframeLinejoin=A.wireframeLinejoin),void 0!==A.rotation&&(i.rotation=A.rotation),1!==A.linewidth&&(i.linewidth=A.linewidth),void 0!==A.dashSize&&(i.dashSize=A.dashSize),void 0!==A.gapSize&&(i.gapSize=A.gapSize),void 0!==A.scale&&(i.scale=A.scale),void 0!==A.polygonOffset&&(i.polygonOffset=A.polygonOffset),void 0!==A.polygonOffsetFactor&&(i.polygonOffsetFactor=A.polygonOffsetFactor),void 0!==A.polygonOffsetUnits&&(i.polygonOffsetUnits=A.polygonOffsetUnits),void 0!==A.skinning&&(i.skinning=A.skinning),void 0!==A.morphTargets&&(i.morphTargets=A.morphTargets),void 0!==A.morphNormals&&(i.morphNormals=A.morphNormals),void 0!==A.dithering&&(i.dithering=A.dithering),void 0!==A.vertexTangents&&(i.vertexTangents=A.vertexTangents),void 0!==A.visible&&(i.visible=A.visible),void 0!==A.toneMapped&&(i.toneMapped=A.toneMapped),void 0!==A.userData&&(i.userData=A.userData),void 0!==A.vertexColors&&(i.vertexColors="number"==typeof A.vertexColors?A.vertexColors>0:A.vertexColors),void 0!==A.uniforms)for(var o in A.uniforms){var n=A.uniforms[o];switch(i.uniforms[o]={},n.type){case"t":i.uniforms[o].value=t(n.value);break;case"c":i.uniforms[o].value=(new LA).setHex(n.value);break;case"v2":i.uniforms[o].value=(new s).fromArray(n.value);break;case"v3":i.uniforms[o].value=(new y).fromArray(n.value);break;case"v4":i.uniforms[o].value=(new p).fromArray(n.value);break;case"m3":i.uniforms[o].value=(new l).fromArray(n.value);case"m4":i.uniforms[o].value=(new M).fromArray(n.value);break;default:i.uniforms[o].value=n.value}}if(void 0!==A.defines&&(i.defines=A.defines),void 0!==A.vertexShader&&(i.vertexShader=A.vertexShader),void 0!==A.fragmentShader&&(i.fragmentShader=A.fragmentShader),void 0!==A.extensions)for(var r in A.extensions)i.extensions[r]=A.extensions[r];if(void 0!==A.shading&&(i.flatShading=1===A.shading),void 0!==A.size&&(i.size=A.size),void 0!==A.sizeAttenuation&&(i.sizeAttenuation=A.sizeAttenuation),void 0!==A.map&&(i.map=t(A.map)),void 0!==A.matcap&&(i.matcap=t(A.matcap)),void 0!==A.alphaMap&&(i.alphaMap=t(A.alphaMap)),void 0!==A.bumpMap&&(i.bumpMap=t(A.bumpMap)),void 0!==A.bumpScale&&(i.bumpScale=A.bumpScale),void 0!==A.normalMap&&(i.normalMap=t(A.normalMap)),void 0!==A.normalMapType&&(i.normalMapType=A.normalMapType),void 0!==A.normalScale){var a=A.normalScale;!1===Array.isArray(a)&&(a=[a,a]),i.normalScale=(new s).fromArray(a)}return void 0!==A.displacementMap&&(i.displacementMap=t(A.displacementMap)),void 0!==A.displacementScale&&(i.displacementScale=A.displacementScale),void 0!==A.displacementBias&&(i.displacementBias=A.displacementBias),void 0!==A.roughnessMap&&(i.roughnessMap=t(A.roughnessMap)),void 0!==A.metalnessMap&&(i.metalnessMap=t(A.metalnessMap)),void 0!==A.emissiveMap&&(i.emissiveMap=t(A.emissiveMap)),void 0!==A.emissiveIntensity&&(i.emissiveIntensity=A.emissiveIntensity),void 0!==A.specularMap&&(i.specularMap=t(A.specularMap)),void 0!==A.envMap&&(i.envMap=t(A.envMap)),void 0!==A.envMapIntensity&&(i.envMapIntensity=A.envMapIntensity),void 0!==A.reflectivity&&(i.reflectivity=A.reflectivity),void 0!==A.refractionRatio&&(i.refractionRatio=A.refractionRatio),void 0!==A.lightMap&&(i.lightMap=t(A.lightMap)),void 0!==A.lightMapIntensity&&(i.lightMapIntensity=A.lightMapIntensity),void 0!==A.aoMap&&(i.aoMap=t(A.aoMap)),void 0!==A.aoMapIntensity&&(i.aoMapIntensity=A.aoMapIntensity),void 0!==A.gradientMap&&(i.gradientMap=t(A.gradientMap)),void 0!==A.clearcoatMap&&(i.clearcoatMap=t(A.clearcoatMap)),void 0!==A.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=t(A.clearcoatRoughnessMap)),void 0!==A.clearcoatNormalMap&&(i.clearcoatNormalMap=t(A.clearcoatNormalMap)),void 0!==A.clearcoatNormalScale&&(i.clearcoatNormalScale=(new s).fromArray(A.clearcoatNormalScale)),i},setTextures:function(A){return this.textures=A,this}});var La={decodeText:function(A){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(A);for(var e="",t=0,i=A.length;i>t;t++)e+=String.fromCharCode(A[t]);try{return decodeURIComponent(escape(e))}catch(A){return e}},extractUrlBase:function(A){var e=A.lastIndexOf("/");return-1===e?"./":A.substr(0,e+1)}};function Na(){he.call(this),this.type="InstancedBufferGeometry",this.maxInstancedCount=void 0}function Oa(A,e,t,i){"number"==typeof t&&(i=t,t=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),YA.call(this,A,e,t),this.meshPerAttribute=i||1}function Va(A){Yr.call(this,A)}Na.prototype=Object.assign(Object.create(he.prototype),{constructor:Na,isInstancedBufferGeometry:!0,copy:function(A){return he.prototype.copy.call(this,A),this.maxInstancedCount=A.maxInstancedCount,this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var A=he.prototype.toJSON.call(this);return A.maxInstancedCount=this.maxInstancedCount,A.isInstancedBufferGeometry=!0,A}}),Oa.prototype=Object.assign(Object.create(YA.prototype),{constructor:Oa,isInstancedBufferAttribute:!0,copy:function(A){return YA.prototype.copy.call(this,A),this.meshPerAttribute=A.meshPerAttribute,this},toJSON:function(){var A=YA.prototype.toJSON.call(this);return A.meshPerAttribute=this.meshPerAttribute,A.isInstancedBufferAttribute=!0,A}}),Va.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Va,load:function(A,e,t,i){var o=this,n=new Jr(o.manager);n.setPath(o.path),n.load(A,(function(A){e(o.parse(JSON.parse(A)))}),t,i)},parse:function(A){var e=A.isInstancedBufferGeometry?new Na:new he,t=A.data.index;if(void 0!==t){var i=new Ga[t.type](t.array);e.setIndex(new YA(i,1))}var o=A.data.attributes;for(var n in o){i=new Ga[(d=o[n]).type](d.array);var r=new(d.isInstancedBufferAttribute?Oa:YA)(i,d.itemSize,d.normalized);void 0!==d.name&&(r.name=d.name),e.setAttribute(n,r)}var a=A.data.morphAttributes;if(a)for(var n in a){for(var s=a[n],l=[],c=0,h=s.length;h>c;c++){var d;r=new YA(i=new Ga[(d=s[c]).type](d.array),d.itemSize,d.normalized);void 0!==d.name&&(r.name=d.name),l.push(r)}e.morphAttributes[n]=l}A.data.morphTargetsRelative&&(e.morphTargetsRelative=!0);var p=A.data.groups||A.data.drawcalls||A.data.offsets;if(void 0!==p){c=0;for(var g=p.length;c!==g;++c){var u=p[c];e.addGroup(u.start,u.count,u.materialIndex)}}var f=A.data.boundingSphere;if(void 0!==f){var m=new y;void 0!==f.center&&m.fromArray(f.center),e.boundingSphere=new cA(m,f.radius)}return A.name&&(e.name=A.name),A.userData&&(e.userData=A.userData),e}});var Ga={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:"undefined"!=typeof Uint8ClampedArray?Uint8ClampedArray:Uint8Array,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Pa(A){Yr.call(this,A)}Pa.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Pa,load:function(A,e,t,i){var o=this,n=""===this.path?La.extractUrlBase(A):this.path;this.resourcePath=this.resourcePath||n;var r=new Jr(o.manager);r.setPath(this.path),r.load(A,(function(t){var n=null;try{n=JSON.parse(t)}catch(e){return void 0!==i&&i(e),void console.error("THREE:ObjectLoader: Can't parse "+A+".",e.message)}var r=n.metadata;void 0!==r&&void 0!==r.type&&"geometry"!==r.type.toLowerCase()?o.parse(n,e):console.error("THREE.ObjectLoader: Can't load "+A)}),t,i)},parse:function(A,e){var t=this.parseShape(A.shapes),i=this.parseGeometries(A.geometries,t),o=this.parseImages(A.images,(function(){void 0!==e&&e(a)})),n=this.parseTextures(A.textures,o),r=this.parseMaterials(A.materials,n),a=this.parseObject(A.object,i,r);return A.animations&&(a.animations=this.parseAnimations(A.animations)),void 0!==A.images&&0!==A.images.length||void 0!==e&&e(a),a},parseShape:function(A){var e={};if(void 0!==A)for(var t=0,i=A.length;i>t;t++){var o=(new Ba).fromJSON(A[t]);e[o.uuid]=o}return e},parseGeometries:function(A,e){var t={};if(void 0!==A)for(var i=new Va,o=0,n=A.length;n>o;o++){var r,a=A[o];switch(a.type){case"PlaneGeometry":case"PlaneBufferGeometry":r=new fr[a.type](a.width,a.height,a.widthSegments,a.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":r=new fr[a.type](a.width,a.height,a.depth,a.widthSegments,a.heightSegments,a.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":r=new fr[a.type](a.radius,a.segments,a.thetaStart,a.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":r=new fr[a.type](a.radiusTop,a.radiusBottom,a.height,a.radialSegments,a.heightSegments,a.openEnded,a.thetaStart,a.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":r=new fr[a.type](a.radius,a.height,a.radialSegments,a.heightSegments,a.openEnded,a.thetaStart,a.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":r=new fr[a.type](a.radius,a.widthSegments,a.heightSegments,a.phiStart,a.phiLength,a.thetaStart,a.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":r=new fr[a.type](a.radius,a.detail);break;case"RingGeometry":case"RingBufferGeometry":r=new fr[a.type](a.innerRadius,a.outerRadius,a.thetaSegments,a.phiSegments,a.thetaStart,a.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":r=new fr[a.type](a.radius,a.tube,a.radialSegments,a.tubularSegments,a.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":r=new fr[a.type](a.radius,a.tube,a.tubularSegments,a.radialSegments,a.p,a.q);break;case"TubeGeometry":case"TubeBufferGeometry":r=new fr[a.type]((new va[a.path.type]).fromJSON(a.path),a.tubularSegments,a.radius,a.radialSegments,a.closed);break;case"LatheGeometry":case"LatheBufferGeometry":r=new fr[a.type](a.points,a.segments,a.phiStart,a.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":r=new fr[a.type](a.vertices,a.indices,a.radius,a.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":for(var s=[],l=0,c=a.shapes.length;c>l;l++){s.push(e[a.shapes[l]])}r=new fr[a.type](s,a.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":for(s=[],l=0,c=a.shapes.length;c>l;l++){s.push(e[a.shapes[l]])}var h=a.options.extrudePath;void 0!==h&&(a.options.extrudePath=(new va[h.type]).fromJSON(h)),r=new fr[a.type](s,a.options);break;case"BufferGeometry":case"InstancedBufferGeometry":r=i.parse(a);break;case"Geometry":console.error('THREE.ObjectLoader: Loading "Geometry" is not supported anymore.');break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+a.type+'"');continue}r.uuid=a.uuid,void 0!==a.name&&(r.name=a.name),!0===r.isBufferGeometry&&void 0!==a.userData&&(r.userData=a.userData),t[a.uuid]=r}return t},parseMaterials:function(A,e){var t={},i={};if(void 0!==A){var o=new Da;o.setTextures(e);for(var n=0,r=A.length;r>n;n++){var a=A[n];if("MultiMaterial"===a.type){for(var s=[],l=0;a.materials.length>l;l++){var c=a.materials[l];void 0===t[c.uuid]&&(t[c.uuid]=o.parse(c)),s.push(t[c.uuid])}i[a.uuid]=s}else void 0===t[a.uuid]&&(t[a.uuid]=o.parse(a)),i[a.uuid]=t[a.uuid]}}return i},parseAnimations:function(A){for(var e=[],t=0;A.length>t;t++){var i=A[t],o=Gr.parse(i);void 0!==i.uuid&&(o.uuid=i.uuid),e.push(o)}return e},parseImages:function(A,e){var t=this,i={};function o(A){return t.manager.itemStart(A),n.load(A,(function(){t.manager.itemEnd(A)}),void 0,(function(){t.manager.itemError(A),t.manager.itemEnd(A)}))}if(void 0!==A&&A.length>0){var n=new _r(new jr(e));n.setCrossOrigin(this.crossOrigin);for(var r=0,a=A.length;a>r;r++){var s=A[r],l=s.url;if(Array.isArray(l)){i[s.uuid]=[];for(var c=0,h=l.length;h>c;c++){var d=l[c],p=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(d)?d:t.resourcePath+d;i[s.uuid].push(o(p))}}else{p=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(s.url)?s.url:t.resourcePath+s.url;i[s.uuid]=o(p)}}}return i},parseTextures:function(A,e){function t(A,e){return"number"==typeof A?A:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",A),e[A])}var i={};if(void 0!==A)for(var o=0,n=A.length;n>o;o++){var r,a=A[o];void 0===a.image&&console.warn('THREE.ObjectLoader: No "image" specified for',a.uuid),void 0===e[a.image]&&console.warn("THREE.ObjectLoader: Undefined image",a.image),(r=Array.isArray(e[a.image])?new ut(e[a.image]):new d(e[a.image])).needsUpdate=!0,r.uuid=a.uuid,void 0!==a.name&&(r.name=a.name),void 0!==a.mapping&&(r.mapping=t(a.mapping,ja)),void 0!==a.offset&&r.offset.fromArray(a.offset),void 0!==a.repeat&&r.repeat.fromArray(a.repeat),void 0!==a.center&&r.center.fromArray(a.center),void 0!==a.rotation&&(r.rotation=a.rotation),void 0!==a.wrap&&(r.wrapS=t(a.wrap[0],Ha),r.wrapT=t(a.wrap[1],Ha)),void 0!==a.format&&(r.format=a.format),void 0!==a.type&&(r.type=a.type),void 0!==a.encoding&&(r.encoding=a.encoding),void 0!==a.minFilter&&(r.minFilter=t(a.minFilter,Ya)),void 0!==a.magFilter&&(r.magFilter=t(a.magFilter,Ya)),void 0!==a.anisotropy&&(r.anisotropy=a.anisotropy),void 0!==a.flipY&&(r.flipY=a.flipY),void 0!==a.premultiplyAlpha&&(r.premultiplyAlpha=a.premultiplyAlpha),void 0!==a.unpackAlignment&&(r.unpackAlignment=a.unpackAlignment),i[a.uuid]=r}return i},parseObject:function(A,e,t){var i;function o(A){return void 0===e[A]&&console.warn("THREE.ObjectLoader: Undefined geometry",A),e[A]}function n(A){if(void 0!==A){if(Array.isArray(A)){for(var e=[],i=0,o=A.length;o>i;i++){var n=A[i];void 0===t[n]&&console.warn("THREE.ObjectLoader: Undefined material",n),e.push(t[n])}return e}return void 0===t[A]&&console.warn("THREE.ObjectLoader: Undefined material",A),t[A]}}switch(A.type){case"Scene":i=new Y,void 0!==A.background&&Number.isInteger(A.background)&&(i.background=new LA(A.background)),void 0!==A.fog&&("Fog"===A.fog.type?i.fog=new eo(A.fog.color,A.fog.near,A.fog.far):"FogExp2"===A.fog.type&&(i.fog=new Ao(A.fog.color,A.fog.density)));break;case"PerspectiveCamera":i=new je(A.fov,A.aspect,A.near,A.far),void 0!==A.focus&&(i.focus=A.focus),void 0!==A.zoom&&(i.zoom=A.zoom),void 0!==A.filmGauge&&(i.filmGauge=A.filmGauge),void 0!==A.filmOffset&&(i.filmOffset=A.filmOffset),void 0!==A.view&&(i.view=Object.assign({},A.view));break;case"OrthographicCamera":i=new Ka(A.left,A.right,A.top,A.bottom,A.near,A.far),void 0!==A.zoom&&(i.zoom=A.zoom),void 0!==A.view&&(i.view=Object.assign({},A.view));break;case"AmbientLight":i=new Ta(A.color,A.intensity);break;case"DirectionalLight":i=new Ra(A.color,A.intensity);break;case"PointLight":i=new Fa(A.color,A.intensity,A.distance,A.decay);break;case"RectAreaLight":i=new ka(A.color,A.intensity,A.width,A.height);break;case"SpotLight":i=new ba(A.color,A.intensity,A.distance,A.angle,A.penumbra,A.decay);break;case"HemisphereLight":i=new Sa(A.color,A.groundColor,A.intensity);break;case"SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case"Mesh":i=new Ue(r=o(A.geometry),a=n(A.material));break;case"InstancedMesh":var r=o(A.geometry),a=n(A.material),s=A.instanceMatrix;(i=new To(r,a,A.count)).instanceMatrix=new YA(new Float32Array(s.array),16);break;case"LOD":i=new xo;break;case"Line":i=new Go(o(A.geometry),n(A.material),A.mode);break;case"LineLoop":i=new Ho(o(A.geometry),n(A.material));break;case"LineSegments":i=new jo(o(A.geometry),n(A.material));break;case"PointCloud":case"Points":i=new Xo(o(A.geometry),n(A.material));break;case"Sprite":i=new vo(n(A.material));break;case"Group":i=new Xi;break;default:i=new H}if(i.uuid=A.uuid,void 0!==A.name&&(i.name=A.name),void 0!==A.matrix?(i.matrix.fromArray(A.matrix),void 0!==A.matrixAutoUpdate&&(i.matrixAutoUpdate=A.matrixAutoUpdate),i.matrixAutoUpdate&&i.matrix.decompose(i.position,i.quaternion,i.scale)):(void 0!==A.position&&i.position.fromArray(A.position),void 0!==A.rotation&&i.rotation.fromArray(A.rotation),void 0!==A.quaternion&&i.quaternion.fromArray(A.quaternion),void 0!==A.scale&&i.scale.fromArray(A.scale)),void 0!==A.castShadow&&(i.castShadow=A.castShadow),void 0!==A.receiveShadow&&(i.receiveShadow=A.receiveShadow),A.shadow&&(void 0!==A.shadow.bias&&(i.shadow.bias=A.shadow.bias),void 0!==A.shadow.radius&&(i.shadow.radius=A.shadow.radius),void 0!==A.shadow.mapSize&&i.shadow.mapSize.fromArray(A.shadow.mapSize),void 0!==A.shadow.camera&&(i.shadow.camera=this.parseObject(A.shadow.camera))),void 0!==A.visible&&(i.visible=A.visible),void 0!==A.frustumCulled&&(i.frustumCulled=A.frustumCulled),void 0!==A.renderOrder&&(i.renderOrder=A.renderOrder),void 0!==A.userData&&(i.userData=A.userData),void 0!==A.layers&&(i.layers.mask=A.layers),void 0!==A.children)for(var l=A.children,c=0;l.length>c;c++)i.add(this.parseObject(l[c],e,t));if("LOD"===A.type){void 0!==A.autoUpdate&&(i.autoUpdate=A.autoUpdate);for(var h=A.levels,d=0;h.length>d;d++){var p=h[d],g=i.getObjectByProperty("uuid",p.object);void 0!==g&&i.addLevel(g,p.distance)}}return i}});var qa,ja={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},Ha={RepeatWrapping:1e3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},Ya={NearestFilter:1003,NearestMipmapNearestFilter:1004,NearestMipmapLinearFilter:1005,LinearFilter:1006,LinearMipmapNearestFilter:1007,LinearMipmapLinearFilter:1008};function Wa(A){"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),Yr.call(this,A),this.options=void 0}function Ja(){this.type="ShapePath",this.color=new LA,this.subPaths=[],this.currentPath=null}function za(A){this.type="Font",this.data=A}function Za(A,e,t,i,o){var n=o.glyphs[A]||o.glyphs["?"];if(n){var r,a,s,l,c,h,d,p,g=new Ja;if(n.o)for(var u=n._cachedOutline||(n._cachedOutline=n.o.split(" ")),f=0,m=u.length;m>f;){switch(u[f++]){case"m":r=u[f++]*e+t,a=u[f++]*e+i,g.moveTo(r,a);break;case"l":r=u[f++]*e+t,a=u[f++]*e+i,g.lineTo(r,a);break;case"q":s=u[f++]*e+t,l=u[f++]*e+i,c=u[f++]*e+t,h=u[f++]*e+i,g.quadraticCurveTo(c,h,s,l);break;case"b":s=u[f++]*e+t,l=u[f++]*e+i,c=u[f++]*e+t,h=u[f++]*e+i,d=u[f++]*e+t,p=u[f++]*e+i,g.bezierCurveTo(c,h,d,p,s,l)}}return{offsetX:n.ha*e,path:g}}console.error('THREE.Font: character "'+A+'" does not exists in font family '+o.familyName+".")}function Xa(A){Yr.call(this,A)}Wa.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Wa,setOptions:function(A){return this.options=A,this},load:function(A,e,t,i){void 0===A&&(A=""),void 0!==this.path&&(A=this.path+A),A=this.manager.resolveURL(A);var o=this,n=qr.get(A);if(void 0!==n)return o.manager.itemStart(A),setTimeout((function(){e&&e(n),o.manager.itemEnd(A)}),0),n;fetch(A).then((function(A){return A.blob()})).then((function(A){return void 0===o.options?createImageBitmap(A):createImageBitmap(A,o.options)})).then((function(t){qr.add(A,t),e&&e(t),o.manager.itemEnd(A)})).catch((function(e){i&&i(e),o.manager.itemError(A),o.manager.itemEnd(A)})),o.manager.itemStart(A)}}),Object.assign(Ja.prototype,{moveTo:function(A,e){return this.currentPath=new Ea,this.subPaths.push(this.currentPath),this.currentPath.moveTo(A,e),this},lineTo:function(A,e){return this.currentPath.lineTo(A,e),this},quadraticCurveTo:function(A,e,t,i){return this.currentPath.quadraticCurveTo(A,e,t,i),this},bezierCurveTo:function(A,e,t,i,o,n){return this.currentPath.bezierCurveTo(A,e,t,i,o,n),this},splineThru:function(A){return this.currentPath.splineThru(A),this},toShapes:function(A,e){function t(A){for(var e=[],t=0,i=A.length;i>t;t++){var o=A[t],n=new Ba;n.curves=o.curves,e.push(n)}return e}function i(A,e){for(var t=e.length,i=!1,o=t-1,n=0;t>n;o=n++){var r=e[o],a=e[n],s=a.x-r.x,l=a.y-r.y;if(Math.abs(l)>Number.EPSILON){if(0>l&&(r=e[n],s=-s,a=e[o],l=-l),r.y>A.y||A.y>a.y)continue;if(A.y===r.y){if(A.x===r.x)return!0}else{var c=l*(A.x-r.x)-s*(A.y-r.y);if(0===c)return!0;if(0>c)continue;i=!i}}else{if(A.y!==r.y)continue;if(A.x>=a.x&&r.x>=A.x||A.x>=r.x&&a.x>=A.x)return!0}}return i}var o=Hn.isClockWise,n=this.subPaths;if(0===n.length)return[];if(!0===e)return t(n);var r,a,s,l=[];if(1===n.length)return a=n[0],(s=new Ba).curves=a.curves,l.push(s),l;var c=!o(n[0].getPoints());c=A?!c:c;var h,d,p=[],g=[],u=[],f=0;g[f]=void 0,u[f]=[];for(var m=0,C=n.length;C>m;m++)r=o(h=(a=n[m]).getPoints()),(r=A?!r:r)?(!c&&g[f]&&f++,g[f]={s:new Ba,p:h},g[f].s.curves=a.curves,c&&f++,u[f]=[]):u[f].push({h:a,p:h[0]});if(!g[0])return t(n);if(g.length>1){for(var y=!1,v=[],I=0,E=g.length;E>I;I++)p[I]=[];for(I=0,E=g.length;E>I;I++)for(var B=u[I],x=0;B.length>x;x++){for(var S=B[x],w=!0,M=0;g.length>M;M++)i(S.p,g[M].p)&&(I!==M&&v.push({froms:I,tos:M,hole:x}),w?(w=!1,p[M].push(S)):y=!0);w&&p[I].push(S)}v.length>0&&(y||(u=p))}m=0;for(var b=g.length;b>m;m++){l.push(s=g[m].s);for(var U=0,F=(d=u[m]).length;F>U;U++)s.holes.push(d[U].h)}return l}}),Object.assign(za.prototype,{isFont:!0,generateShapes:function(A,e){void 0===e&&(e=100);for(var t=[],i=function(A,e,t){for(var i=Array.from?Array.from(A):String(A).split(""),o=e/t.resolution,n=(t.boundingBox.yMax-t.boundingBox.yMin+t.underlineThickness)*o,r=[],a=0,s=0,l=0;i.length>l;l++){var c=i[l];if("\n"===c)a=0,s-=n;else{var h=Za(c,o,a,s,t);a+=h.offsetX,r.push(h.path)}}return r}(A,e,this.data),o=0,n=i.length;n>o;o++)Array.prototype.push.apply(t,i[o].toShapes());return t}}),Xa.prototype=Object.assign(Object.create(Yr.prototype),{constructor:Xa,load:function(A,e,t,i){var o=this,n=new Jr(this.manager);n.setPath(this.path),n.load(A,(function(A){var t;try{t=JSON.parse(A)}catch(e){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),t=JSON.parse(A.substring(65,A.length-2))}var i=o.parse(t);e&&e(i)}),t,i)},parse:function(A){return new za(A)}});var _a={getContext:function(){return void 0===qa&&(qa=new(window.AudioContext||window.webkitAudioContext)),qa},setContext:function(A){qa=A}};function $a(A){Yr.call(this,A)}function As(){this.coefficients=[];for(var A=0;9>A;A++)this.coefficients.push(new y)}function es(A,e){xa.call(this,void 0,e),this.sh=void 0!==A?A:new As}function ts(A,e,t){es.call(this,void 0,t);var i=(new LA).set(A),o=(new LA).set(e),n=new y(i.r,i.g,i.b),r=new y(o.r,o.g,o.b),a=Math.sqrt(Math.PI),s=a*Math.sqrt(.75);this.sh.coefficients[0].copy(n).add(r).multiplyScalar(a),this.sh.coefficients[1].copy(n).sub(r).multiplyScalar(s)}function is(A,e){es.call(this,void 0,e);var t=(new LA).set(A);this.sh.coefficients[0].set(t.r,t.g,t.b).multiplyScalar(2*Math.sqrt(Math.PI))}$a.prototype=Object.assign(Object.create(Yr.prototype),{constructor:$a,load:function(A,e,t,i){var o=new Jr(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.load(A,(function(A){var t=A.slice(0);_a.getContext().decodeAudioData(t,(function(A){e(A)}))}),t,i)}}),Object.assign(As.prototype,{isSphericalHarmonics3:!0,set:function(A){for(var e=0;9>e;e++)this.coefficients[e].copy(A[e]);return this},zero:function(){for(var A=0;9>A;A++)this.coefficients[A].set(0,0,0);return this},getAt:function(A,e){var t=A.x,i=A.y,o=A.z,n=this.coefficients;return e.copy(n[0]).multiplyScalar(.282095),e.addScaledVector(n[1],.488603*i),e.addScaledVector(n[2],.488603*o),e.addScaledVector(n[3],.488603*t),e.addScaledVector(n[4],t*i*1.092548),e.addScaledVector(n[5],i*o*1.092548),e.addScaledVector(n[6],.315392*(3*o*o-1)),e.addScaledVector(n[7],t*o*1.092548),e.addScaledVector(n[8],.546274*(t*t-i*i)),e},getIrradianceAt:function(A,e){var t=A.x,i=A.y,o=A.z,n=this.coefficients;return e.copy(n[0]).multiplyScalar(.886227),e.addScaledVector(n[1],1.023328*i),e.addScaledVector(n[2],1.023328*o),e.addScaledVector(n[3],1.023328*t),e.addScaledVector(n[4],.858086*t*i),e.addScaledVector(n[5],.858086*i*o),e.addScaledVector(n[6],.743125*o*o-.247708),e.addScaledVector(n[7],.858086*t*o),e.addScaledVector(n[8],.429043*(t*t-i*i)),e},add:function(A){for(var e=0;9>e;e++)this.coefficients[e].add(A.coefficients[e]);return this},addScaledSH:function(A,e){for(var t=0;9>t;t++)this.coefficients[t].addScaledVector(A.coefficients[t],e);return this},scale:function(A){for(var e=0;9>e;e++)this.coefficients[e].multiplyScalar(A);return this},lerp:function(A,e){for(var t=0;9>t;t++)this.coefficients[t].lerp(A.coefficients[t],e);return this},equals:function(A){for(var e=0;9>e;e++)if(!this.coefficients[e].equals(A.coefficients[e]))return!1;return!0},copy:function(A){return this.set(A.coefficients)},clone:function(){return(new this.constructor).copy(this)},fromArray:function(A,e){void 0===e&&(e=0);for(var t=this.coefficients,i=0;9>i;i++)t[i].fromArray(A,e+3*i);return this},toArray:function(A,e){void 0===A&&(A=[]),void 0===e&&(e=0);for(var t=this.coefficients,i=0;9>i;i++)t[i].toArray(A,e+3*i);return A}}),Object.assign(As,{getBasisAt:function(A,e){var t=A.x,i=A.y,o=A.z;e[0]=.282095,e[1]=.488603*i,e[2]=.488603*o,e[3]=.488603*t,e[4]=1.092548*t*i,e[5]=1.092548*i*o,e[6]=.315392*(3*o*o-1),e[7]=1.092548*t*o,e[8]=.546274*(t*t-i*i)}}),es.prototype=Object.assign(Object.create(xa.prototype),{constructor:es,isLightProbe:!0,copy:function(A){return xa.prototype.copy.call(this,A),this.sh.copy(A.sh),this.intensity=A.intensity,this},toJSON:function(A){return xa.prototype.toJSON.call(this,A)}}),ts.prototype=Object.assign(Object.create(es.prototype),{constructor:ts,isHemisphereLightProbe:!0,copy:function(A){return es.prototype.copy.call(this,A),this},toJSON:function(A){return es.prototype.toJSON.call(this,A)}}),is.prototype=Object.assign(Object.create(es.prototype),{constructor:is,isAmbientLightProbe:!0,copy:function(A){return es.prototype.copy.call(this,A),this},toJSON:function(A){return es.prototype.toJSON.call(this,A)}});var os=new M,ns=new M;function rs(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new je,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new je,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}function as(A){this.autoStart=void 0===A||A,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}Object.assign(rs.prototype,{update:function(A){var e=this._cache;if(e.focus!==A.focus||e.fov!==A.fov||e.aspect!==A.aspect*this.aspect||e.near!==A.near||e.far!==A.far||e.zoom!==A.zoom||e.eyeSep!==this.eyeSep){e.focus=A.focus,e.fov=A.fov,e.aspect=A.aspect*this.aspect,e.near=A.near,e.far=A.far,e.zoom=A.zoom,e.eyeSep=this.eyeSep;var t,i,o=A.projectionMatrix.clone(),n=e.eyeSep/2,r=n*e.near/e.focus,s=e.near*Math.tan(a.DEG2RAD*e.fov*.5)/e.zoom;ns.elements[12]=-n,os.elements[12]=n,o.elements[0]=2*e.near/((i=s*e.aspect+r)-(t=-s*e.aspect+r)),o.elements[8]=(i+t)/(i-t),this.cameraL.projectionMatrix.copy(o),o.elements[0]=2*e.near/((i=s*e.aspect-r)-(t=-s*e.aspect-r)),o.elements[8]=(i+t)/(i-t),this.cameraR.projectionMatrix.copy(o)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(ns),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(os)}}),Object.assign(as.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 A=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var e=("undefined"==typeof performance?Date:performance).now();A=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=A}return A}});var ss=new y,ls=new f,cs=new y,hs=new y;function ds(){H.call(this),this.type="AudioListener",this.context=_a.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new as}function ps(A){H.call(this),this.type="Audio",this.listener=A,this.context=A.context,this.gain=this.context.createGain(),this.gain.connect(A.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType="empty",this._startedAt=0,this._pausedAt=0,this.filters=[]}ds.prototype=Object.assign(Object.create(H.prototype),{constructor:ds,getInput:function(){return this.gain},removeFilter:function(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this},getFilter:function(){return this.filter},setFilter:function(A){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=A,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this},updateMatrixWorld:function(A){H.prototype.updateMatrixWorld.call(this,A);var e=this.context.listener,t=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(ss,ls,cs),hs.set(0,0,-1).applyQuaternion(ls),e.positionX){var i=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(ss.x,i),e.positionY.linearRampToValueAtTime(ss.y,i),e.positionZ.linearRampToValueAtTime(ss.z,i),e.forwardX.linearRampToValueAtTime(hs.x,i),e.forwardY.linearRampToValueAtTime(hs.y,i),e.forwardZ.linearRampToValueAtTime(hs.z,i),e.upX.linearRampToValueAtTime(t.x,i),e.upY.linearRampToValueAtTime(t.y,i),e.upZ.linearRampToValueAtTime(t.z,i)}else e.setPosition(ss.x,ss.y,ss.z),e.setOrientation(hs.x,hs.y,hs.z,t.x,t.y,t.z)}}),ps.prototype=Object.assign(Object.create(H.prototype),{constructor:ps,getOutput:function(){return this.gain},setNodeSource:function(A){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=A,this.connect(),this},setMediaElementSource:function(A){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(A),this.connect(),this},setMediaStreamSource:function(A){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(A),this.connect(),this},setBuffer:function(A){return this.buffer=A,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(A){if(void 0===A&&(A=0),!0!==this.isPlaying){if(!1!==this.hasPlaybackControl){this._startedAt=this.context.currentTime+A;var e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._pausedAt+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}console.warn("THREE.Audio: this Audio has no playback control.")}else console.warn("THREE.Audio: Audio is already playing.")},pause:function(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._pausedAt+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")},stop:function(){if(!1!==this.hasPlaybackControl)return this._pausedAt=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")},connect:function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var A=1,e=this.filters.length;e>A;A++)this.filters[A-1].connect(this.filters[A]);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 A=1,e=this.filters.length;e>A;A++)this.filters[A-1].disconnect(this.filters[A]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(A){return A||(A=[]),!0===this.isPlaying?(this.disconnect(),this.filters=A,this.connect()):this.filters=A,this},setDetune:function(A){if(this.detune=A,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this},getDetune:function(){return this.detune},getFilter:function(){return this.getFilters()[0]},setFilter:function(A){return this.setFilters(A?[A]:[])},setPlaybackRate:function(A){if(!1!==this.hasPlaybackControl)return this.playbackRate=A,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")},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(A){if(!1!==this.hasPlaybackControl)return this.loop=A,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")},setLoopStart:function(A){return this.loopStart=A,this},setLoopEnd:function(A){return this.loopEnd=A,this},getVolume:function(){return this.gain.gain.value},setVolume:function(A){return this.gain.gain.setTargetAtTime(A,this.context.currentTime,.01),this}});var gs=new y,us=new f,fs=new y,ms=new y;function Cs(A){ps.call(this,A),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}function ys(A,e){this.analyser=A.context.createAnalyser(),this.analyser.fftSize=void 0!==e?e:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),A.getOutput().connect(this.analyser)}function vs(A,e,t){this.binding=A,this.valueSize=t;var i,o=Float64Array;switch(e){case"quaternion":i=this._slerp;break;case"string":case"bool":o=Array,i=this._select;break;default:i=this._lerp}this.buffer=new o(4*t),this._mixBufferRegion=i,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}Cs.prototype=Object.assign(Object.create(ps.prototype),{constructor:Cs,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(A){return this.panner.refDistance=A,this},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(A){return this.panner.rolloffFactor=A,this},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(A){return this.panner.distanceModel=A,this},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(A){return this.panner.maxDistance=A,this},setDirectionalCone:function(A,e,t){return this.panner.coneInnerAngle=A,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=t,this},updateMatrixWorld:function(A){if(H.prototype.updateMatrixWorld.call(this,A),!0!==this.hasPlaybackControl||!1!==this.isPlaying){this.matrixWorld.decompose(gs,us,fs),ms.set(0,0,1).applyQuaternion(us);var e=this.panner;if(e.positionX){var t=this.context.currentTime+this.listener.timeDelta;e.positionX.linearRampToValueAtTime(gs.x,t),e.positionY.linearRampToValueAtTime(gs.y,t),e.positionZ.linearRampToValueAtTime(gs.z,t),e.orientationX.linearRampToValueAtTime(ms.x,t),e.orientationY.linearRampToValueAtTime(ms.y,t),e.orientationZ.linearRampToValueAtTime(ms.z,t)}else e.setPosition(gs.x,gs.y,gs.z),e.setOrientation(ms.x,ms.y,ms.z)}}}),Object.assign(ys.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var A=0,e=this.getFrequencyData(),t=0;e.length>t;t++)A+=e[t];return A/e.length}}),Object.assign(vs.prototype,{accumulate:function(A,e){var t=this.buffer,i=this.valueSize,o=A*i+i,n=this.cumulativeWeight;if(0===n){for(var r=0;r!==i;++r)t[o+r]=t[r];n=e}else{this._mixBufferRegion(t,o,0,e/(n+=e),i)}this.cumulativeWeight=n},apply:function(A){var e=this.valueSize,t=this.buffer,i=A*e+e,o=this.cumulativeWeight,n=this.binding;(this.cumulativeWeight=0,1>o)&&this._mixBufferRegion(t,i,3*e,1-o,e);for(var r=e,a=e+e;r!==a;++r)if(t[r]!==t[r+e]){n.setValue(t,i);break}},saveOriginalState:function(){var A=this.buffer,e=this.valueSize,t=3*e;this.binding.getValue(A,t);for(var i=e,o=t;i!==o;++i)A[i]=A[t+i%e];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(A,e,t,i,o){if(i>=.5)for(var n=0;n!==o;++n)A[e+n]=A[t+n]},_slerp:function(A,e,t,i){f.slerpFlat(A,e,A,e,A,t,i)},_lerp:function(A,e,t,i,o){for(var n=1-i,r=0;r!==o;++r){var a=e+r;A[a]=A[a]*n+A[t+r]*i}}});var Is=new RegExp("[\\[\\]\\.:\\/]","g"),Es="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",Bs=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]"),xs=/(WCOD+)?/.source.replace("WCOD",Es),Ss=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),ws=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),Ms=new RegExp("^"+Bs+xs+Ss+ws+"$"),bs=["material","materials","bones"];function Us(A,e,t){var i=t||Fs.parseTrackName(e);this._targetGroup=A,this._bindings=A.subscribe_(e,i)}function Fs(A,e,t){this.path=e,this.parsedPath=t||Fs.parseTrackName(e),this.node=Fs.findNode(A,this.parsedPath.nodeName)||A,this.rootNode=A}function Ks(){this.uuid=a.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var A={};this._indicesByUUID=A;for(var e=0,t=arguments.length;e!==t;++e)A[arguments[e].uuid]=e;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 Qs(A,e,t){this._mixer=A,this._clip=e,this._localRoot=t||null;for(var i=e.tracks,o=i.length,n=new Array(o),r={endingStart:2400,endingEnd:2400},a=0;a!==o;++a){var s=i[a].createInterpolant(null);n[a]=s,s.settings=r}this._interpolantSettings=r,this._interpolants=n,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,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 Rs(A){this._root=A,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function Ts(A){"string"==typeof A&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),A=arguments[1]),this.value=A}function ks(A,e,t){to.call(this,A,e),this.meshPerAttribute=t||1}function Ds(A,e,t,i){this.ray=new CA(A,e),this.near=t||0,this.far=i||1/0,this.camera=null,this.layers=new K,this.params={Mesh:{},Line:{threshold:1},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 Ls(A,e){return A.distance-e.distance}function Ns(A,e,t,i){if(A.layers.test(e.layers)&&A.raycast(e,t),!0===i)for(var o=A.children,n=0,r=o.length;r>n;n++)Ns(o[n],e,t,!0)}function Os(A,e,t){return this.radius=void 0!==A?A:1,this.phi=void 0!==e?e:0,this.theta=void 0!==t?t:0,this}function Vs(A,e,t){return this.radius=void 0!==A?A:1,this.theta=void 0!==e?e:0,this.y=void 0!==t?t:0,this}Object.assign(Us.prototype,{getValue:function(A,e){this.bind();var t=this._bindings[this._targetGroup.nCachedObjects_];void 0!==t&&t.getValue(A,e)},setValue:function(A,e){for(var t=this._bindings,i=this._targetGroup.nCachedObjects_,o=t.length;i!==o;++i)t[i].setValue(A,e)},bind:function(){for(var A=this._bindings,e=this._targetGroup.nCachedObjects_,t=A.length;e!==t;++e)A[e].bind()},unbind:function(){for(var A=this._bindings,e=this._targetGroup.nCachedObjects_,t=A.length;e!==t;++e)A[e].unbind()}}),Object.assign(Fs,{Composite:Us,create:function(A,e,t){return A&&A.isAnimationObjectGroup?new Fs.Composite(A,e,t):new Fs(A,e,t)},sanitizeNodeName:function(A){return A.replace(/\s/g,"_").replace(Is,"")},parseTrackName:function(A){var e=Ms.exec(A);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+A);var t={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=t.nodeName&&t.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){var o=t.nodeName.substring(i+1);-1!==bs.indexOf(o)&&(t.nodeName=t.nodeName.substring(0,i),t.objectName=o)}if(null===t.propertyName||0===t.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+A);return t},findNode:function(A,e){if(!e||""===e||"."===e||-1===e||e===A.name||e===A.uuid)return A;if(A.skeleton){var t=A.skeleton.getBoneByName(e);if(void 0!==t)return t}if(A.children){var i=function(A){for(var t=0;A.length>t;t++){var o=A[t];if(o.name===e||o.uuid===e)return o;var n=i(o.children);if(n)return n}return null},o=i(A.children);if(o)return o}return null}}),Object.assign(Fs.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(A,e){A[e]=this.node[this.propertyName]},function(A,e){for(var t=this.resolvedProperty,i=0,o=t.length;i!==o;++i)A[e++]=t[i]},function(A,e){A[e]=this.resolvedProperty[this.propertyIndex]},function(A,e){this.resolvedProperty.toArray(A,e)}],SetterByBindingTypeAndVersioning:[[function(A,e){this.targetObject[this.propertyName]=A[e]},function(A,e){this.targetObject[this.propertyName]=A[e],this.targetObject.needsUpdate=!0},function(A,e){this.targetObject[this.propertyName]=A[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(A,e){for(var t=this.resolvedProperty,i=0,o=t.length;i!==o;++i)t[i]=A[e++]},function(A,e){for(var t=this.resolvedProperty,i=0,o=t.length;i!==o;++i)t[i]=A[e++];this.targetObject.needsUpdate=!0},function(A,e){for(var t=this.resolvedProperty,i=0,o=t.length;i!==o;++i)t[i]=A[e++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(A,e){this.resolvedProperty[this.propertyIndex]=A[e]},function(A,e){this.resolvedProperty[this.propertyIndex]=A[e],this.targetObject.needsUpdate=!0},function(A,e){this.resolvedProperty[this.propertyIndex]=A[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(A,e){this.resolvedProperty.fromArray(A,e)},function(A,e){this.resolvedProperty.fromArray(A,e),this.targetObject.needsUpdate=!0},function(A,e){this.resolvedProperty.fromArray(A,e),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(A,e){this.bind(),this.getValue(A,e)},setValue:function(A,e){this.bind(),this.setValue(A,e)},bind:function(){var A=this.node,e=this.parsedPath,t=e.objectName,i=e.propertyName,o=e.propertyIndex;if(A||(A=Fs.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=A),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,A){if(t){var n=e.objectIndex;switch(t){case"materials":if(!A.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!A.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);A=A.material.materials;break;case"bones":if(!A.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);A=A.skeleton.bones;for(var r=0;A.length>r;r++)if(A[r].name===n){n=r;break}break;default:if(void 0===A[t])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);A=A[t]}if(void 0!==n){if(void 0===A[n])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,A);A=A[n]}}var a=A[i];if(void 0!==a){var s=this.Versioning.None;this.targetObject=A,void 0!==A.needsUpdate?s=this.Versioning.NeedsUpdate:void 0!==A.matrixWorldNeedsUpdate&&(s=this.Versioning.MatrixWorldNeedsUpdate);var l=this.BindingType.Direct;if(void 0!==o){if("morphTargetInfluences"===i){if(!A.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(A.geometry.isBufferGeometry){if(!A.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);for(r=0;this.node.geometry.morphAttributes.position.length>r;r++)if(A.geometry.morphAttributes.position[r].name===o){o=r;break}}else{if(!A.geometry.morphTargets)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.",this);for(r=0;this.node.geometry.morphTargets.length>r;r++)if(A.geometry.morphTargets[r].name===o){o=r;break}}}l=this.BindingType.ArrayElement,this.resolvedProperty=a,this.propertyIndex=o}else void 0!==a.fromArray&&void 0!==a.toArray?(l=this.BindingType.HasFromToArray,this.resolvedProperty=a):Array.isArray(a)?(l=this.BindingType.EntireArray,this.resolvedProperty=a):this.propertyName=i;this.getValue=this.GetterByBindingType[l],this.setValue=this.SetterByBindingTypeAndVersioning[l][s]}else{console.error("THREE.PropertyBinding: Trying to update property for track: "+e.nodeName+"."+i+" but it wasn't found.",A)}}else console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.")},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),Object.assign(Fs.prototype,{_getValue_unbound:Fs.prototype.getValue,_setValue_unbound:Fs.prototype.setValue}),Object.assign(Ks.prototype,{isAnimationObjectGroup:!0,add:function(){for(var A=this._objects,e=A.length,t=this.nCachedObjects_,i=this._indicesByUUID,o=this._paths,n=this._parsedPaths,r=this._bindings,a=r.length,s=void 0,l=0,c=arguments.length;l!==c;++l){var h=arguments[l],d=h.uuid,p=i[d];if(void 0===p){p=e++,i[d]=p,A.push(h);for(var g=0,u=a;g!==u;++g)r[g].push(new Fs(h,o[g],n[g]))}else if(t>p){s=A[p];var f=--t,m=A[f];i[m.uuid]=p,A[p]=m,i[d]=f,A[f]=h;for(g=0,u=a;g!==u;++g){var C=r[g],y=C[f],v=C[p];C[p]=y,void 0===v&&(v=new Fs(h,o[g],n[g])),C[f]=v}}else A[p]!==s&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=t},remove:function(){for(var A=this._objects,e=this.nCachedObjects_,t=this._indicesByUUID,i=this._bindings,o=i.length,n=0,r=arguments.length;n!==r;++n){var a=arguments[n],s=a.uuid,l=t[s];if(void 0!==l&&l>=e){var c=e++,h=A[c];t[h.uuid]=l,A[l]=h,t[s]=c,A[c]=a;for(var d=0,p=o;d!==p;++d){var g=i[d],u=g[c],f=g[l];g[l]=u,g[c]=f}}}this.nCachedObjects_=e},uncache:function(){for(var A=this._objects,e=A.length,t=this.nCachedObjects_,i=this._indicesByUUID,o=this._bindings,n=o.length,r=0,a=arguments.length;r!==a;++r){var s=arguments[r],l=s.uuid,c=i[l];if(void 0!==c)if(delete i[l],t>c){var h=--t,d=A[h],p=A[C=--e];i[d.uuid]=c,A[c]=d,i[p.uuid]=h,A[h]=p,A.pop();for(var g=0,u=n;g!==u;++g){var f=(y=o[g])[h],m=y[C];y[c]=f,y[h]=m,y.pop()}}else{var C;i[(p=A[C=--e]).uuid]=c,A[c]=p,A.pop();for(g=0,u=n;g!==u;++g){var y;(y=o[g])[c]=y[C],y.pop()}}}this.nCachedObjects_=t},subscribe_:function(A,e){var t=this._bindingsIndicesByPath,i=t[A],o=this._bindings;if(void 0!==i)return o[i];var n=this._paths,r=this._parsedPaths,a=this._objects,s=this.nCachedObjects_,l=new Array(a.length);t[A]=i=o.length,n.push(A),r.push(e),o.push(l);for(var c=s,h=a.length;c!==h;++c){l[c]=new Fs(a[c],A,e)}return l},unsubscribe_:function(A){var e=this._bindingsIndicesByPath,t=e[A];if(void 0!==t){var i=this._paths,o=this._parsedPaths,n=this._bindings,r=n.length-1,a=n[r];e[A[r]]=t,n[t]=a,n.pop(),o[t]=o[r],o.pop(),i[t]=i[r],i.pop()}}}),Object.assign(Qs.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(A){return this._startTime=A,this},setLoop:function(A,e){return this.loop=A,this.repetitions=e,this},setEffectiveWeight:function(A){return this.weight=A,this._effectiveWeight=this.enabled?A:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(A){return this._scheduleFading(A,0,1)},fadeOut:function(A){return this._scheduleFading(A,1,0)},crossFadeFrom:function(A,e,t){if(A.fadeOut(e),this.fadeIn(e),t){var i=this._clip.duration,o=A._clip.duration,n=i/o;A.warp(1,o/i,e),this.warp(n,1,e)}return this},crossFadeTo:function(A,e,t){return A.crossFadeFrom(this,e,t)},stopFading:function(){var A=this._weightInterpolant;return null!==A&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this},setEffectiveTimeScale:function(A){return this.timeScale=A,this._effectiveTimeScale=this.paused?0:A,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(A){return this.timeScale=this._clip.duration/A,this.stopWarping()},syncWith:function(A){return this.time=A.time,this.timeScale=A.timeScale,this.stopWarping()},halt:function(A){return this.warp(this._effectiveTimeScale,0,A)},warp:function(A,e,t){var i=this._mixer,o=i.time,n=this._timeScaleInterpolant,r=this.timeScale;null===n&&(n=i._lendControlInterpolant(),this._timeScaleInterpolant=n);var a=n.parameterPositions,s=n.sampleValues;return a[0]=o,a[1]=o+t,s[0]=A/r,s[1]=e/r,this},stopWarping:function(){var A=this._timeScaleInterpolant;return null!==A&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(A)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(A,e,t,i){if(this.enabled){var o=this._startTime;if(null!==o){var n=(A-o)*t;if(0>n||0===t)return;this._startTime=null,e=t*n}e*=this._updateTimeScale(A);var r=this._updateTime(e),a=this._updateWeight(A);if(a>0)for(var s=this._interpolants,l=this._propertyBindings,c=0,h=s.length;c!==h;++c)s[c].evaluate(r),l[c].accumulate(i,a)}else this._updateWeight(A)},_updateWeight:function(A){var e=0;if(this.enabled){e=this.weight;var t=this._weightInterpolant;if(null!==t){var i=t.evaluate(A)[0];e*=i,A>t.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e},_updateTimeScale:function(A){var e=0;if(!this.paused){e=this.timeScale;var t=this._timeScaleInterpolant;if(null!==t)e*=t.evaluate(A)[0],A>t.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}return this._effectiveTimeScale=e,e},_updateTime:function(A){var e=this.time+A,t=this._clip.duration,i=this.loop,o=this._loopCount,n=2202===i;if(0===A)return-1===o?e:n&&1==(1&o)?t-e:e;if(2200===i){-1===o&&(this._loopCount=0,this._setEndings(!0,!0,!1));A:{if(e<t){if(e>=0){this.time=e;break A}e=0}else e=t;this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=e,this._mixer.dispatchEvent({type:"finished",action:this,direction:0>A?-1:1})}}else{if(-1===o&&(0>A?this._setEndings(0===this.repetitions,!0,n):(o=0,this._setEndings(!0,0===this.repetitions,n))),e>=t||0>e){var r=Math.floor(e/t);e-=t*r,o+=Math.abs(r);var a=this.repetitions-o;if(0<a){if(1===a){var s=0>A;this._setEndings(s,!s,n)}else this._setEndings(!1,!1,n);this._loopCount=o,this.time=e,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:r})}else this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=e=A>0?t:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:A>0?1:-1})}else this.time=e;if(n&&1==(1&o))return t-e}return e},_setEndings:function(A,e,t){var i=this._interpolantSettings;t?(i.endingStart=2401,i.endingEnd=2401):(i.endingStart=A?this.zeroSlopeAtStart?2401:2400:2402,i.endingEnd=e?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(A,e,t){var i=this._mixer,o=i.time,n=this._weightInterpolant;null===n&&(n=i._lendControlInterpolant(),this._weightInterpolant=n);var r=n.parameterPositions,a=n.sampleValues;return r[0]=o,a[0]=e,r[1]=o+A,a[1]=t,this}}),Rs.prototype=Object.assign(Object.create(i.prototype),{constructor:Rs,_bindAction:function(A,e){var t=A._localRoot||this._root,i=A._clip.tracks,o=i.length,n=A._propertyBindings,r=A._interpolants,a=t.uuid,s=this._bindingsByRootAndName,l=s[a];void 0===l&&(s[a]=l={});for(var c=0;c!==o;++c){var h=i[c],d=h.name,p=l[d];if(void 0!==p)n[c]=p;else{if(void 0!==(p=n[c])){null===p._cacheIndex&&(++p.referenceCount,this._addInactiveBinding(p,a,d));continue}++(p=new vs(Fs.create(t,d,e&&e._propertyBindings[c].binding.parsedPath),h.ValueTypeName,h.getValueSize())).referenceCount,this._addInactiveBinding(p,a,d),n[c]=p}r[c].resultBuffer=p.buffer}},_activateAction:function(A){if(!this._isActiveAction(A)){if(null===A._cacheIndex){var e=(A._localRoot||this._root).uuid,t=A._clip.uuid,i=this._actionsByClip[t];this._bindAction(A,i&&i.knownActions[0]),this._addInactiveAction(A,t,e)}for(var o=A._propertyBindings,n=0,r=o.length;n!==r;++n){var a=o[n];0==a.useCount++&&(this._lendBinding(a),a.saveOriginalState())}this._lendAction(A)}},_deactivateAction:function(A){if(this._isActiveAction(A)){for(var e=A._propertyBindings,t=0,i=e.length;t!==i;++t){var o=e[t];0==--o.useCount&&(o.restoreOriginalState(),this._takeBackBinding(o))}this._takeBackAction(A)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var A=this;this.stats={actions:{get total(){return A._actions.length},get inUse(){return A._nActiveActions}},bindings:{get total(){return A._bindings.length},get inUse(){return A._nActiveBindings}},controlInterpolants:{get total(){return A._controlInterpolants.length},get inUse(){return A._nActiveControlInterpolants}}}},_isActiveAction:function(A){var e=A._cacheIndex;return null!==e&&this._nActiveActions>e},_addInactiveAction:function(A,e,t){var i=this._actions,o=this._actionsByClip,n=o[e];if(void 0===n)n={knownActions:[A],actionByRoot:{}},A._byClipCacheIndex=0,o[e]=n;else{var r=n.knownActions;A._byClipCacheIndex=r.length,r.push(A)}A._cacheIndex=i.length,i.push(A),n.actionByRoot[t]=A},_removeInactiveAction:function(A){var e=this._actions,t=e[e.length-1],i=A._cacheIndex;t._cacheIndex=i,e[i]=t,e.pop(),A._cacheIndex=null;var o=A._clip.uuid,n=this._actionsByClip,r=n[o],a=r.knownActions,s=a[a.length-1],l=A._byClipCacheIndex;s._byClipCacheIndex=l,a[l]=s,a.pop(),A._byClipCacheIndex=null,delete r.actionByRoot[(A._localRoot||this._root).uuid],0===a.length&&delete n[o],this._removeInactiveBindingsForAction(A)},_removeInactiveBindingsForAction:function(A){for(var e=A._propertyBindings,t=0,i=e.length;t!==i;++t){var o=e[t];0==--o.referenceCount&&this._removeInactiveBinding(o)}},_lendAction:function(A){var e=this._actions,t=A._cacheIndex,i=this._nActiveActions++,o=e[i];A._cacheIndex=i,e[i]=A,o._cacheIndex=t,e[t]=o},_takeBackAction:function(A){var e=this._actions,t=A._cacheIndex,i=--this._nActiveActions,o=e[i];A._cacheIndex=i,e[i]=A,o._cacheIndex=t,e[t]=o},_addInactiveBinding:function(A,e,t){var i=this._bindingsByRootAndName,o=i[e],n=this._bindings;void 0===o&&(i[e]=o={}),o[t]=A,A._cacheIndex=n.length,n.push(A)},_removeInactiveBinding:function(A){var e=this._bindings,t=A.binding,i=t.rootNode.uuid,o=t.path,n=this._bindingsByRootAndName,r=n[i],a=e[e.length-1],s=A._cacheIndex;a._cacheIndex=s,e[s]=a,e.pop(),delete r[o],0===Object.keys(r).length&&delete n[i]},_lendBinding:function(A){var e=this._bindings,t=A._cacheIndex,i=this._nActiveBindings++,o=e[i];A._cacheIndex=i,e[i]=A,o._cacheIndex=t,e[t]=o},_takeBackBinding:function(A){var e=this._bindings,t=A._cacheIndex,i=--this._nActiveBindings,o=e[i];A._cacheIndex=i,e[i]=A,o._cacheIndex=t,e[t]=o},_lendControlInterpolant:function(){var A=this._controlInterpolants,e=this._nActiveControlInterpolants++,t=A[e];return void 0===t&&((t=new Kr(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer)).__cacheIndex=e,A[e]=t),t},_takeBackControlInterpolant:function(A){var e=this._controlInterpolants,t=A.__cacheIndex,i=--this._nActiveControlInterpolants,o=e[i];A.__cacheIndex=i,e[i]=A,o.__cacheIndex=t,e[t]=o},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(A,e){var t=e||this._root,i=t.uuid,o="string"==typeof A?Gr.findByName(t,A):A,n=null!==o?o.uuid:A,r=this._actionsByClip[n],a=null;if(void 0!==r){var s=r.actionByRoot[i];if(void 0!==s)return s;a=r.knownActions[0],null===o&&(o=a._clip)}if(null===o)return null;var l=new Qs(this,o,e);return this._bindAction(l,a),this._addInactiveAction(l,n,i),l},existingAction:function(A,e){var t=e||this._root,i=t.uuid,o="string"==typeof A?Gr.findByName(t,A):A,n=this._actionsByClip[o?o.uuid:A];return void 0!==n&&n.actionByRoot[i]||null},stopAllAction:function(){var A=this._actions,e=this._nActiveActions,t=this._bindings,i=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var o=0;o!==e;++o)A[o].reset();for(o=0;o!==i;++o)t[o].useCount=0;return this},update:function(A){for(var e=this._actions,t=this._nActiveActions,i=this.time+=A*=this.timeScale,o=Math.sign(A),n=this._accuIndex^=1,r=0;r!==t;++r){e[r]._update(i,A,o,n)}var a=this._bindings,s=this._nActiveBindings;for(r=0;r!==s;++r)a[r].apply(n);return this},setTime:function(A){this.time=0;for(var e=0;this._actions.length>e;e++)this._actions[e].time=0;return this.update(A)},getRoot:function(){return this._root},uncacheClip:function(A){var e=this._actions,t=A.uuid,i=this._actionsByClip,o=i[t];if(void 0!==o){for(var n=o.knownActions,r=0,a=n.length;r!==a;++r){var s=n[r];this._deactivateAction(s);var l=s._cacheIndex,c=e[e.length-1];s._cacheIndex=null,s._byClipCacheIndex=null,c._cacheIndex=l,e[l]=c,e.pop(),this._removeInactiveBindingsForAction(s)}delete i[t]}},uncacheRoot:function(A){var e=A.uuid,t=this._actionsByClip;for(var i in t){var o=t[i].actionByRoot[e];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var n=this._bindingsByRootAndName[e];if(void 0!==n)for(var r in n){var a=n[r];a.restoreOriginalState(),this._removeInactiveBinding(a)}},uncacheAction:function(A,e){var t=this.existingAction(A,e);null!==t&&(this._deactivateAction(t),this._removeInactiveAction(t))}}),Ts.prototype.clone=function(){return new Ts(void 0===this.value.clone?this.value:this.value.clone())},ks.prototype=Object.assign(Object.create(to.prototype),{constructor:ks,isInstancedInterleavedBuffer:!0,copy:function(A){return to.prototype.copy.call(this,A),this.meshPerAttribute=A.meshPerAttribute,this}}),Object.assign(Ds.prototype,{set:function(A,e){this.ray.set(A,e)},setFromCamera:function(A,e){e&&e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(A.x,A.y,.5).unproject(e).sub(this.ray.origin).normalize(),this.camera=e):e&&e.isOrthographicCamera?(this.ray.origin.set(A.x,A.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld),this.camera=e):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(A,e,t){var i=t||[];return Ns(A,this,i,e),i.sort(Ls),i},intersectObjects:function(A,e,t){var i=t||[];if(!1===Array.isArray(A))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),i;for(var o=0,n=A.length;n>o;o++)Ns(A[o],this,i,e);return i.sort(Ls),i}}),Object.assign(Os.prototype,{set:function(A,e,t){return this.radius=A,this.phi=e,this.theta=t,this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.radius=A.radius,this.phi=A.phi,this.theta=A.theta,this},makeSafe:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this},setFromVector3:function(A){return this.setFromCartesianCoords(A.x,A.y,A.z)},setFromCartesianCoords:function(A,e,t){return this.radius=Math.sqrt(A*A+e*e+t*t),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(A,t),this.phi=Math.acos(a.clamp(e/this.radius,-1,1))),this}}),Object.assign(Vs.prototype,{set:function(A,e,t){return this.radius=A,this.theta=e,this.y=t,this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.radius=A.radius,this.theta=A.theta,this.y=A.y,this},setFromVector3:function(A){return this.setFromCartesianCoords(A.x,A.y,A.z)},setFromCartesianCoords:function(A,e,t){return this.radius=Math.sqrt(A*A+t*t),this.theta=Math.atan2(A,t),this.y=e,this}});var Gs=new s;function Ps(A,e){this.min=void 0!==A?A:new s(1/0,1/0),this.max=void 0!==e?e:new s(-1/0,-1/0)}Object.assign(Ps.prototype,{set:function(A,e){return this.min.copy(A),this.max.copy(e),this},setFromPoints:function(A){this.makeEmpty();for(var e=0,t=A.length;t>e;e++)this.expandByPoint(A[e]);return this},setFromCenterAndSize:function(A,e){var t=Gs.copy(e).multiplyScalar(.5);return this.min.copy(A).sub(t),this.max.copy(A).add(t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.min.copy(A.min),this.max.copy(A.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.min.x>this.max.x||this.min.y>this.max.y},getCenter:function(A){return void 0===A&&(console.warn("THREE.Box2: .getCenter() target is now required"),A=new s),this.isEmpty()?A.set(0,0):A.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(A){return void 0===A&&(console.warn("THREE.Box2: .getSize() target is now required"),A=new s),this.isEmpty()?A.set(0,0):A.subVectors(this.max,this.min)},expandByPoint:function(A){return this.min.min(A),this.max.max(A),this},expandByVector:function(A){return this.min.sub(A),this.max.add(A),this},expandByScalar:function(A){return this.min.addScalar(-A),this.max.addScalar(A),this},containsPoint:function(A){return!(this.min.x>A.x||A.x>this.max.x||this.min.y>A.y||A.y>this.max.y)},containsBox:function(A){return!(this.min.x>A.min.x||A.max.x>this.max.x||this.min.y>A.min.y||A.max.y>this.max.y)},getParameter:function(A,e){return void 0===e&&(console.warn("THREE.Box2: .getParameter() target is now required"),e=new s),e.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(A){return!(this.min.x>A.max.x||A.min.x>this.max.x||this.min.y>A.max.y||A.min.y>this.max.y)},clampPoint:function(A,e){return void 0===e&&(console.warn("THREE.Box2: .clampPoint() target is now required"),e=new s),e.copy(A).clamp(this.min,this.max)},distanceToPoint:function(A){return Gs.copy(A).clamp(this.min,this.max).sub(A).length()},intersect:function(A){return this.min.max(A.min),this.max.min(A.max),this},union:function(A){return this.min.min(A.min),this.max.max(A.max),this},translate:function(A){return this.min.add(A),this.max.add(A),this},equals:function(A){return A.min.equals(this.min)&&A.max.equals(this.max)}});var qs=new y,js=new y;function Hs(A,e){this.start=void 0!==A?A:new y,this.end=void 0!==e?e:new y}function Ys(A){H.call(this),this.material=A,this.render=function(){}}Object.assign(Hs.prototype,{set:function(A,e){return this.start.copy(A),this.end.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.start.copy(A.start),this.end.copy(A.end),this},getCenter:function(A){return void 0===A&&(console.warn("THREE.Line3: .getCenter() target is now required"),A=new y),A.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(A){return void 0===A&&(console.warn("THREE.Line3: .delta() target is now required"),A=new y),A.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(A,e){return void 0===e&&(console.warn("THREE.Line3: .at() target is now required"),e=new y),this.delta(e).multiplyScalar(A).add(this.start)},closestPointToPointParameter:function(A,e){qs.subVectors(A,this.start),js.subVectors(this.end,this.start);var t=js.dot(js),i=js.dot(qs)/t;return e&&(i=a.clamp(i,0,1)),i},closestPointToPoint:function(A,e,t){var i=this.closestPointToPointParameter(A,e);return void 0===t&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),t=new y),this.delta(t).multiplyScalar(i).add(this.start)},applyMatrix4:function(A){return this.start.applyMatrix4(A),this.end.applyMatrix4(A),this},equals:function(A){return A.start.equals(this.start)&&A.end.equals(this.end)}}),(Ys.prototype=Object.create(H.prototype)).constructor=Ys,Ys.prototype.isImmediateRenderObject=!0;var Ws=new y;function Js(A,e){H.call(this),this.light=A,this.light.updateMatrixWorld(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=e;for(var t=new he,i=[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],o=0,n=1;32>o;o++,n++){var r=o/32*Math.PI*2,a=n/32*Math.PI*2;i.push(Math.cos(r),Math.sin(r),1,Math.cos(a),Math.sin(a),1)}t.setAttribute("position",new Ae(i,3));var s=new ko({fog:!1,toneMapped:!1});this.cone=new jo(t,s),this.add(this.cone),this.update()}(Js.prototype=Object.create(H.prototype)).constructor=Js,Js.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},Js.prototype.update=function(){this.light.updateMatrixWorld();var A=this.light.distance?this.light.distance:1e3,e=A*Math.tan(this.light.angle);this.cone.scale.set(e,e,A),Ws.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Ws),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)};var zs=new y,Zs=new M,Xs=new M;function _s(A){for(var e=function A(e){var t=[];e&&e.isBone&&t.push(e);for(var i=0;e.children.length>i;i++)t.push.apply(t,A(e.children[i]));return t}(A),t=new he,i=[],o=[],n=new LA(0,0,1),r=new LA(0,1,0),a=0;e.length>a;a++){var s=e[a];s.parent&&s.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),o.push(n.r,n.g,n.b),o.push(r.r,r.g,r.b))}t.setAttribute("position",new Ae(i,3)),t.setAttribute("color",new Ae(o,3));var l=new ko({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});jo.call(this,t,l),this.root=A,this.bones=e,this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1}function $s(A,e,t){this.light=A,this.light.updateMatrixWorld(),this.color=t;var i=new er(e,4,2),o=new jA({wireframe:!0,fog:!1,toneMapped:!1});Ue.call(this,i,o),this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}(_s.prototype=Object.create(jo.prototype)).constructor=_s,_s.prototype.isSkeletonHelper=!0,_s.prototype.updateMatrixWorld=function(A){var e=this.bones,t=this.geometry,i=t.getAttribute("position");Xs.getInverse(this.root.matrixWorld);for(var o=0,n=0;e.length>o;o++){var r=e[o];r.parent&&r.parent.isBone&&(Zs.multiplyMatrices(Xs,r.matrixWorld),zs.setFromMatrixPosition(Zs),i.setXYZ(n,zs.x,zs.y,zs.z),Zs.multiplyMatrices(Xs,r.parent.matrixWorld),zs.setFromMatrixPosition(Zs),i.setXYZ(n+1,zs.x,zs.y,zs.z),n+=2)}t.getAttribute("position").needsUpdate=!0,H.prototype.updateMatrixWorld.call(this,A)},($s.prototype=Object.create(Ue.prototype)).constructor=$s,$s.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},$s.prototype.update=function(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)};var Al=new y,el=new LA,tl=new LA;function il(A,e,t){H.call(this),this.light=A,this.light.updateMatrixWorld(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;var i=new dn(e);i.rotateY(.5*Math.PI),this.material=new jA({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);var o=i.getAttribute("position"),n=new Float32Array(3*o.count);i.setAttribute("color",new YA(n,3)),this.add(new Ue(i,this.material)),this.update()}function ol(A,e,t,i){A=A||10,e=e||10,t=new LA(void 0!==t?t:4473924),i=new LA(void 0!==i?i:8947848);for(var o=e/2,n=A/e,r=A/2,a=[],s=[],l=0,c=0,h=-r;e>=l;l++,h+=n){a.push(-r,0,h,r,0,h),a.push(h,0,-r,h,0,r);var d=l===o?t:i;d.toArray(s,c),d.toArray(s,c+=3),d.toArray(s,c+=3),d.toArray(s,c+=3),c+=3}var p=new he;p.setAttribute("position",new Ae(a,3)),p.setAttribute("color",new Ae(s,3));var g=new ko({vertexColors:!0,toneMapped:!1});jo.call(this,p,g)}function nl(A,e,t,i,o,n){A=A||10,e=e||16,t=t||8,i=i||64,o=new LA(void 0!==o?o:4473924),n=new LA(void 0!==n?n:8947848);var r,a,s,l,c,h,d,p=[],g=[];for(l=0;e>=l;l++)s=l/e*(2*Math.PI),r=Math.sin(s)*A,a=Math.cos(s)*A,p.push(0,0,0),p.push(r,0,a),g.push((d=1&l?o:n).r,d.g,d.b),g.push(d.r,d.g,d.b);for(l=0;t>=l;l++)for(d=1&l?o:n,h=A-A/t*l,c=0;i>c;c++)s=c/i*(2*Math.PI),r=Math.sin(s)*h,a=Math.cos(s)*h,p.push(r,0,a),g.push(d.r,d.g,d.b),s=(c+1)/i*(2*Math.PI),r=Math.sin(s)*h,a=Math.cos(s)*h,p.push(r,0,a),g.push(d.r,d.g,d.b);var u=new he;u.setAttribute("position",new Ae(p,3)),u.setAttribute("color",new Ae(g,3));var f=new ko({vertexColors:!0,toneMapped:!1});jo.call(this,u,f)}(il.prototype=Object.create(H.prototype)).constructor=il,il.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},il.prototype.update=function(){var A=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{var e=A.geometry.getAttribute("color");el.copy(this.light.color),tl.copy(this.light.groundColor);for(var t=0,i=e.count;i>t;t++){var o=i/2>t?el:tl;e.setXYZ(t,o.r,o.g,o.b)}e.needsUpdate=!0}A.lookAt(Al.setFromMatrixPosition(this.light.matrixWorld).negate())},ol.prototype=Object.assign(Object.create(jo.prototype),{constructor:ol,copy:function(A){return jo.prototype.copy.call(this,A),this.geometry.copy(A.geometry),this.material.copy(A.material),this},clone:function(){return(new this.constructor).copy(this)}}),(nl.prototype=Object.create(jo.prototype)).constructor=nl;var rl=new y,al=new y,sl=new y;function ll(A,e,t){H.call(this),this.light=A,this.light.updateMatrixWorld(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,void 0===e&&(e=1);var i=new he;i.setAttribute("position",new Ae([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));var o=new ko({fog:!1,toneMapped:!1});this.lightPlane=new Go(i,o),this.add(this.lightPlane),(i=new he).setAttribute("position",new Ae([0,0,0,0,0,1],3)),this.targetLine=new Go(i,o),this.add(this.targetLine),this.update()}(ll.prototype=Object.create(H.prototype)).constructor=ll,ll.prototype.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},ll.prototype.update=function(){rl.setFromMatrixPosition(this.light.matrixWorld),al.setFromMatrixPosition(this.light.target.matrixWorld),sl.subVectors(al,rl),this.lightPlane.lookAt(al),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(al),this.targetLine.scale.z=sl.length()};var cl=new y,hl=new qe;function dl(A){var e=new he,t=new ko({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],o=[],n={},r=new LA(16755200),a=new LA(16711680),s=new LA(43775),l=new LA(16777215),c=new LA(3355443);function h(A,e,t){d(A,t),d(e,t)}function d(A,e){i.push(0,0,0),o.push(e.r,e.g,e.b),void 0===n[A]&&(n[A]=[]),n[A].push(i.length/3-1)}h("n1","n2",r),h("n2","n4",r),h("n4","n3",r),h("n3","n1",r),h("f1","f2",r),h("f2","f4",r),h("f4","f3",r),h("f3","f1",r),h("n1","f1",r),h("n2","f2",r),h("n3","f3",r),h("n4","f4",r),h("p","n1",a),h("p","n2",a),h("p","n3",a),h("p","n4",a),h("u1","u2",s),h("u2","u3",s),h("u3","u1",s),h("c","t",l),h("p","c",c),h("cn1","cn2",c),h("cn3","cn4",c),h("cf1","cf2",c),h("cf3","cf4",c),e.setAttribute("position",new Ae(i,3)),e.setAttribute("color",new Ae(o,3)),jo.call(this,e,t),this.camera=A,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=A.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=n,this.update()}function pl(A,e,t,i,o,n,r){cl.set(o,n,r).unproject(i);var a=e[A];if(void 0!==a)for(var s=t.getAttribute("position"),l=0,c=a.length;c>l;l++)s.setXYZ(a[l],cl.x,cl.y,cl.z)}(dl.prototype=Object.create(jo.prototype)).constructor=dl,dl.prototype.update=function(){var A=this.geometry,e=this.pointMap;hl.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),pl("c",e,A,hl,0,0,-1),pl("t",e,A,hl,0,0,1),pl("n1",e,A,hl,-1,-1,-1),pl("n2",e,A,hl,1,-1,-1),pl("n3",e,A,hl,-1,1,-1),pl("n4",e,A,hl,1,1,-1),pl("f1",e,A,hl,-1,-1,1),pl("f2",e,A,hl,1,-1,1),pl("f3",e,A,hl,-1,1,1),pl("f4",e,A,hl,1,1,1),pl("u1",e,A,hl,.7,1.1,-1),pl("u2",e,A,hl,-.7,1.1,-1),pl("u3",e,A,hl,0,2,-1),pl("cf1",e,A,hl,-1,0,1),pl("cf2",e,A,hl,1,0,1),pl("cf3",e,A,hl,0,-1,1),pl("cf4",e,A,hl,0,1,1),pl("cn1",e,A,hl,-1,0,-1),pl("cn2",e,A,hl,1,0,-1),pl("cn3",e,A,hl,0,-1,-1),pl("cn4",e,A,hl,0,1,-1),A.getAttribute("position").needsUpdate=!0};var gl=new aA;function ul(A,e){this.object=A,void 0===e&&(e=16776960);var t=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=new Float32Array(24),o=new he;o.setIndex(new YA(t,1)),o.setAttribute("position",new YA(i,3)),jo.call(this,o,new ko({color:e,toneMapped:!1})),this.matrixAutoUpdate=!1,this.update()}function fl(A,e){this.type="Box3Helper",this.box=A,e=e||16776960;var t=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=new he;i.setIndex(new YA(t,1)),i.setAttribute("position",new Ae([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),jo.call(this,i,new ko({color:e,toneMapped:!1})),this.geometry.computeBoundingSphere()}function ml(A,e,t){this.type="PlaneHelper",this.plane=A,this.size=void 0===e?1:e;var i=void 0!==t?t:16776960,o=new he;o.setAttribute("position",new Ae([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],3)),o.computeBoundingSphere(),Go.call(this,o,new ko({color:i,toneMapped:!1}));var n=new he;n.setAttribute("position",new Ae([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3)),n.computeBoundingSphere(),this.add(new Ue(n,new jA({color:i,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}(ul.prototype=Object.create(jo.prototype)).constructor=ul,ul.prototype.update=function(A){if(void 0!==A&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&gl.setFromObject(this.object),!gl.isEmpty()){var e=gl.min,t=gl.max,i=this.geometry.attributes.position,o=i.array;o[0]=t.x,o[1]=t.y,o[2]=t.z,o[3]=e.x,o[4]=t.y,o[5]=t.z,o[6]=e.x,o[7]=e.y,o[8]=t.z,o[9]=t.x,o[10]=e.y,o[11]=t.z,o[12]=t.x,o[13]=t.y,o[14]=e.z,o[15]=e.x,o[16]=t.y,o[17]=e.z,o[18]=e.x,o[19]=e.y,o[20]=e.z,o[21]=t.x,o[22]=e.y,o[23]=e.z,i.needsUpdate=!0,this.geometry.computeBoundingSphere()}},ul.prototype.setFromObject=function(A){return this.object=A,this.update(),this},ul.prototype.copy=function(A){return jo.prototype.copy.call(this,A),this.object=A.object,this},ul.prototype.clone=function(){return(new this.constructor).copy(this)},(fl.prototype=Object.create(jo.prototype)).constructor=fl,fl.prototype.updateMatrixWorld=function(A){var e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),H.prototype.updateMatrixWorld.call(this,A))},(ml.prototype=Object.create(Go.prototype)).constructor=ml,ml.prototype.updateMatrixWorld=function(A){var e=-this.plane.constant;1e-8>Math.abs(e)&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.children[0].material.side=0>e?1:0,this.lookAt(this.plane.normal),H.prototype.updateMatrixWorld.call(this,A)};var Cl,yl,vl=new y;function Il(A,e,t,i,o,n){H.call(this),void 0===A&&(A=new y(0,0,1)),void 0===e&&(e=new y(0,0,0)),void 0===t&&(t=1),void 0===i&&(i=16776960),void 0===o&&(o=.2*t),void 0===n&&(n=.2*o),void 0===Cl&&((Cl=new he).setAttribute("position",new Ae([0,0,0,0,1,0],3)),(yl=new hr(0,.5,1,5,1)).translate(0,-.5,0)),this.position.copy(e),this.line=new Go(Cl,new ko({color:i,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Ue(yl,new jA({color:i,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(A),this.setLength(t,o,n)}function El(A){var e=[0,0,0,A=A||1,0,0,0,0,0,0,A,0,0,0,0,0,0,A],t=new he;t.setAttribute("position",new Ae(e,3)),t.setAttribute("color",new Ae([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));var i=new ko({vertexColors:!0,toneMapped:!1});jo.call(this,t,i)}(Il.prototype=Object.create(H.prototype)).constructor=Il,Il.prototype.setDirection=function(A){if(A.y>.99999)this.quaternion.set(0,0,0,1);else if(-.99999>A.y)this.quaternion.set(1,0,0,0);else{vl.set(A.z,0,-A.x).normalize();var e=Math.acos(A.y);this.quaternion.setFromAxisAngle(vl,e)}},Il.prototype.setLength=function(A,e,t){void 0===e&&(e=.2*A),void 0===t&&(t=.2*e),this.line.scale.set(1,Math.max(1e-4,A-e),1),this.line.updateMatrix(),this.cone.scale.set(t,e,t),this.cone.position.y=A,this.cone.updateMatrix()},Il.prototype.setColor=function(A){this.line.material.color.set(A),this.cone.material.color.set(A)},Il.prototype.copy=function(A){return H.prototype.copy.call(this,A,!1),this.line.copy(A.line),this.cone.copy(A.cone),this},Il.prototype.clone=function(){return(new this.constructor).copy(this)},(El.prototype=Object.create(jo.prototype)).constructor=El;var Bl,xl,Sl,wl,Ml=Math.pow(2,8),bl=[.125,.215,.35,.446,.526,.582],Ul=5+bl.length,Fl={3e3:0,3001:1,3002:2,3004:3,3005:4,3006:5,3007:6},Kl=new Ka,Ql=(Bl=20,xl=new Float32Array(Bl),Sl=new y(0,1,0),(wl=new Cr({defines:{n:Bl},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:xl},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:Sl},inputEncoding:{value:Fl[3e3]},outputEncoding:{value:Fl[3e3]}},vertexShader:ec(),fragmentShader:`\nprecision mediump float;\nprecision mediump int;\nvarying vec3 vOutputDirection;\nuniform sampler2D envMap;\nuniform int samples;\nuniform float weights[n];\nuniform bool latitudinal;\nuniform float dTheta;\nuniform float mipInt;\nuniform vec3 poleAxis;\n\n${tc()}\n\n#define ENVMAP_TYPE_CUBE_UV\n#include <cube_uv_reflection_fragment>\n\nvec3 getSample(float theta, vec3 axis) {\n\tfloat cosTheta = cos(theta);\n\t// Rodrigues' axis-angle rotation\n\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t+ cross(axis, vOutputDirection) * sin(theta)\n\t\t+ axis * dot(axis, vOutputDirection) * (1.0 - cosTheta);\n\treturn bilinearCubeUV(envMap, sampleDirection, mipInt);\n}\n\nvoid main() {\n\tvec3 axis = latitudinal ? poleAxis : cross(poleAxis, vOutputDirection);\n\tif (all(equal(axis, vec3(0.0))))\n\t\taxis = vec3(vOutputDirection.z, 0.0, - vOutputDirection.x);\n\taxis = normalize(axis);\n\tgl_FragColor = vec4(0.0);\n\tgl_FragColor.rgb += weights[0] * getSample(0.0, axis);\n\tfor (int i = 1; i < n; i++) {\n\t\tif (i >= samples)\n\t\t\tbreak;\n\t\tfloat theta = dTheta * float(i);\n\t\tgl_FragColor.rgb += weights[i] * getSample(-1.0 * theta, axis);\n\t\tgl_FragColor.rgb += weights[i] * getSample(theta, axis);\n\t}\n\tgl_FragColor = linearToOutputTexel(gl_FragColor);\n}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})).type="SphericalGaussianBlur",wl),Rl=null,Tl=null,{_lodPlanes:kl,_sizeLods:Dl,_sigmas:Ll}=function(){for(var A=[],e=[],t=[],i=8,o=0;Ul>o;o++){var n=Math.pow(2,i);e.push(n);var r=1/n;o>4?r=bl[o-8+4-1]:0==o&&(r=0),t.push(r);for(var a=1/(n-1),s=-a/2,l=1+a/2,c=[s,s,l,s,l,l,s,s,l,l,s,l],h=new Float32Array(108),d=new Float32Array(72),p=new Float32Array(36),g=0;6>g;g++){var u=g%3*2/3-1,f=g>2?0:-1;h.set([u,f,0,u+2/3,f,0,u+2/3,f+1,0,u,f,0,u+2/3,f+1,0,u,f+1,0],18*g),d.set(c,12*g),p.set([g,g,g,g,g,g],6*g)}var m=new he;m.setAttribute("position",new YA(h,3)),m.setAttribute("uv",new YA(d,2)),m.setAttribute("faceIndex",new YA(p,1)),A.push(m),i>4&&i--}return{_lodPlanes:A,_sizeLods:e,_sigmas:t}}(),Nl=null,Ol=null,Vl=null,Gl=(1+Math.sqrt(5))/2,Pl=1/Gl,ql=[new y(1,1,1),new y(-1,1,1),new y(1,1,-1),new y(-1,1,-1),new y(0,Gl,Pl),new y(0,Gl,-Pl),new y(Pl,0,Gl),new y(-Pl,0,Gl),new y(Gl,Pl,0),new y(-Gl,Pl,0)];function jl(A){Ol=A,Wl(Ql)}function Hl(A){var e={magFilter:1003,minFilter:1003,generateMipmaps:!1,type:A?A.type:1009,format:A?A.format:1023,encoding:A?A.encoding:3002,depthBuffer:!1,stencilBuffer:!1},t=Jl(e);return t.depthBuffer=!A,Nl=Jl(e),t}function Yl(A){Nl.dispose(),Ol.setRenderTarget(Vl),A.scissorTest=!1,A.setSize(A.width,A.height)}function Wl(A){var e=new Y;e.add(new Ue(kl[0],A)),Ol.compile(e,Kl)}function Jl(A){var e=new g(3*Ml,3*Ml,A);return e.texture.mapping=306,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function zl(A,e,t,i,o){A.viewport.set(e,t,i,o),A.scissor.set(e,t,i,o)}function Zl(A){var e=Ol.autoClear;Ol.autoClear=!1;for(var t=1;Ul>t;t++){Xl(A,t-1,t,Math.sqrt(Ll[t]*Ll[t]-Ll[t-1]*Ll[t-1]),ql[(t-1)%ql.length])}Ol.autoClear=e}function Xl(A,e,t,i,o){_l(A,Nl,e,t,i,"latitudinal",o),_l(Nl,A,t,t,i,"longitudinal",o)}function _l(A,e,t,i,o,n,r){"latitudinal"!==n&&"longitudinal"!==n&&console.error("blur direction must be either latitudinal or longitudinal!");var a=new Y;a.add(new Ue(kl[i],Ql));var s=Ql.uniforms,l=Dl[t]-1,c=isFinite(o)?Math.PI/(2*l):2*Math.PI/39,h=o/c,d=isFinite(o)?1+Math.floor(3*h):20;d>20&&console.warn(`sigmaRadians, ${o}, is too large and will clip, as it requested ${d} samples when the maximum is set to 20`);for(var p=[],g=0,u=0;20>u;++u){var f=u/h,m=Math.exp(-f*f/2);p.push(m),0==u?g+=m:d>u&&(g+=2*m)}for(u=0;p.length>u;u++)p[u]=p[u]/g;s.envMap.value=A.texture,s.samples.value=d,s.weights.value=p,s.latitudinal.value="latitudinal"===n,r&&(s.poleAxis.value=r),s.dTheta.value=c,s.mipInt.value=8-t,s.inputEncoding.value=Fl[A.texture.encoding],s.outputEncoding.value=Fl[A.texture.encoding];var C=Dl[i];zl(e,f=3*Math.max(0,Ml-2*C),(0===i?0:2*Ml)+2*C*(i>4?i-8+4:0),3*C,2*C),Ol.setRenderTarget(e),Ol.render(a,Kl)}function $l(){var A=new Cr({uniforms:{envMap:{value:null},texelSize:{value:new s(1,1)},inputEncoding:{value:Fl[3e3]},outputEncoding:{value:Fl[3e3]}},vertexShader:ec(),fragmentShader:`\nprecision mediump float;\nprecision mediump int;\nvarying vec3 vOutputDirection;\nuniform sampler2D envMap;\nuniform vec2 texelSize;\n\n${tc()}\n\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n\nvoid main() {\n\tgl_FragColor = vec4(0.0);\n\tvec3 outputDirection = normalize(vOutputDirection);\n\tvec2 uv;\n\tuv.y = asin(clamp(outputDirection.y, -1.0, 1.0)) * RECIPROCAL_PI + 0.5;\n\tuv.x = atan(outputDirection.z, outputDirection.x) * RECIPROCAL_PI2 + 0.5;\n\tvec2 f = fract(uv / texelSize - 0.5);\n\tuv -= f * texelSize;\n\tvec3 tl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tuv.x += texelSize.x;\n\tvec3 tr = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tuv.y += texelSize.y;\n\tvec3 br = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tuv.x -= texelSize.x;\n\tvec3 bl = envMapTexelToLinear(texture2D(envMap, uv)).rgb;\n\tvec3 tm = mix(tl, tr, f.x);\n\tvec3 bm = mix(bl, br, f.x);\n\tgl_FragColor.rgb = mix(tm, bm, f.y);\n\tgl_FragColor = linearToOutputTexel(gl_FragColor);\n}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1});return A.type="EquirectangularToCubeUV",A}function Ac(){var A=new Cr({uniforms:{envMap:{value:null},inputEncoding:{value:Fl[3e3]},outputEncoding:{value:Fl[3e3]}},vertexShader:ec(),fragmentShader:`\nprecision mediump float;\nprecision mediump int;\nvarying vec3 vOutputDirection;\nuniform samplerCube envMap;\n\n${tc()}\n\nvoid main() {\n\tgl_FragColor = vec4(0.0);\n\tgl_FragColor.rgb = envMapTexelToLinear(textureCube(envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ))).rgb;\n\tgl_FragColor = linearToOutputTexel(gl_FragColor);\n}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1});return A.type="CubemapToCubeUV",A}function ec(){return"\nprecision mediump float;\nprecision mediump int;\nattribute vec3 position;\nattribute vec2 uv;\nattribute float faceIndex;\nvarying vec3 vOutputDirection;\nvec3 getDirection(vec2 uv, float face) {\n\tuv = 2.0 * uv - 1.0;\n\tvec3 direction = vec3(uv, 1.0);\n\tif (face == 0.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 1.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.z *= -1.0;\n\t} else if (face == 3.0) {\n\t\tdirection = direction.zyx;\n\t\tdirection.x *= -1.0;\n\t} else if (face == 4.0) {\n\t\tdirection = direction.xzy;\n\t\tdirection.y *= -1.0;\n\t} else if (face == 5.0) {\n\t\tdirection.xz *= -1.0;\n\t}\n\treturn direction;\n}\nvoid main() {\n\tvOutputDirection = getDirection(uv, faceIndex);\n\tgl_Position = vec4( position, 1.0 );\n}\n\t"}function tc(){return"\nuniform int inputEncoding;\nuniform int outputEncoding;\n\n#include <encodings_pars_fragment>\n\nvec4 inputTexelToLinear(vec4 value){\n\tif(inputEncoding == 0){\n\t\treturn value;\n\t}else if(inputEncoding == 1){\n\t\treturn sRGBToLinear(value);\n\t}else if(inputEncoding == 2){\n\t\treturn RGBEToLinear(value);\n\t}else if(inputEncoding == 3){\n\t\treturn RGBMToLinear(value, 7.0);\n\t}else if(inputEncoding == 4){\n\t\treturn RGBMToLinear(value, 16.0);\n\t}else if(inputEncoding == 5){\n\t\treturn RGBDToLinear(value, 256.0);\n\t}else{\n\t\treturn GammaToLinear(value, 2.2);\n\t}\n}\n\nvec4 linearToOutputTexel(vec4 value){\n\tif(outputEncoding == 0){\n\t\treturn value;\n\t}else if(outputEncoding == 1){\n\t\treturn LinearTosRGB(value);\n\t}else if(outputEncoding == 2){\n\t\treturn LinearToRGBE(value);\n\t}else if(outputEncoding == 3){\n\t\treturn LinearToRGBM(value, 7.0);\n\t}else if(outputEncoding == 4){\n\t\treturn LinearToRGBM(value, 16.0);\n\t}else if(outputEncoding == 5){\n\t\treturn LinearToRGBD(value, 256.0);\n\t}else{\n\t\treturn LinearToGamma(value, 2.2);\n\t}\n}\n\nvec4 envMapTexelToLinear(vec4 color) {\n\treturn inputTexelToLinear(color);\n}\n\t"}jl.prototype={constructor:jl,fromScene:function(A,e=0,t=.1,i=100){Vl=Ol.getRenderTarget();var o=Hl();return function(A,e,t,i){var o=new je(90,1,e,t),n=[1,1,1,1,-1,1],r=[1,1,-1,-1,-1,1],a=Ol.outputEncoding,s=Ol.toneMapping,l=Ol.toneMappingExposure,c=Ol.getClearColor(),h=Ol.getClearAlpha();Ol.toneMapping=1,Ol.toneMappingExposure=1,Ol.outputEncoding=3e3,A.scale.z*=-1;var d=A.background;if(d&&d.isColor){d.convertSRGBToLinear();var p=Math.max(d.r,d.g,d.b),g=Math.min(Math.max(Math.ceil(Math.log2(p)),-128),127);d=d.multiplyScalar(Math.pow(2,-g)),Ol.setClearColor(d,(g+128)/255),A.background=null}for(var u=0;6>u;u++){var f=u%3;0==f?(o.up.set(0,n[u],0),o.lookAt(r[u],0,0)):1==f?(o.up.set(0,0,n[u]),o.lookAt(0,r[u],0)):(o.up.set(0,n[u],0),o.lookAt(0,0,r[u])),zl(i,f*Ml,u>2?Ml:0,Ml,Ml),Ol.setRenderTarget(i),Ol.render(A,o)}Ol.toneMapping=s,Ol.toneMappingExposure=l,Ol.outputEncoding=a,Ol.setClearColor(c,h),A.scale.z*=-1}(A,t,i,o),e>0&&Xl(o,0,0,e),Zl(o),Yl(o),o},fromEquirectangular:function(A){return A.magFilter=1003,A.minFilter=1003,A.generateMipmaps=!1,this.fromCubemap(A)},fromCubemap:function(A){Vl=Ol.getRenderTarget();var e=Hl(A);return function(A,e){var t=new Y;A.isCubeTexture?null==Tl&&(Tl=Ac()):null==Rl&&(Rl=$l());var i=A.isCubeTexture?Tl:Rl;t.add(new Ue(kl[0],i));var o=i.uniforms;o.envMap.value=A,A.isCubeTexture||o.texelSize.value.set(1/A.image.width,1/A.image.height);o.inputEncoding.value=Fl[A.encoding],o.outputEncoding.value=Fl[A.encoding],zl(e,0,0,3*Ml,2*Ml),Ol.setRenderTarget(e),Ol.render(t,Kl)}(A,e),Zl(e),Yl(e),e},compileCubemapShader:function(){null==Tl&&Wl(Tl=Ac())},compileEquirectangularShader:function(){null==Rl&&Wl(Rl=$l())},dispose:function(){Ql.dispose(),null!=Tl&&Tl.dispose(),null!=Rl&&Rl.dispose();for(var A=0;kl.length>A;A++)kl[A].dispose()}};function ic(A){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),la.call(this,A),this.type="catmullrom",this.closed=!0}function oc(A){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),la.call(this,A),this.type="catmullrom"}function nc(A){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),la.call(this,A),this.type="catmullrom"}ea.create=function(A,e){return console.log("THREE.Curve.create() has been deprecated"),A.prototype=Object.create(ea.prototype),A.prototype.constructor=A,A.prototype.getPoint=e,A},Object.assign(Ia.prototype,{createPointsGeometry:function(A){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var e=this.getPoints(A);return this.createGeometry(e)},createSpacedPointsGeometry:function(A){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");var e=this.getSpacedPoints(A);return this.createGeometry(e)},createGeometry:function(A){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var e=new De,t=0,i=A.length;i>t;t++){var o=A[t];e.vertices.push(new y(o.x,o.y,o.z||0))}return e}}),Object.assign(Ea.prototype,{fromPoints:function(A){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(A)}}),ic.prototype=Object.create(la.prototype),oc.prototype=Object.create(la.prototype),nc.prototype=Object.create(la.prototype),Object.assign(nc.prototype,{initFromArray:function(){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),ol.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},_s.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Object.assign(Yr.prototype,{extractUrlBase:function(A){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),La.extractUrlBase(A)}}),Yr.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},Object.assign(Pa.prototype,{setTexturePath:function(A){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(A)}}),Object.assign(Ps.prototype,{center:function(A){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(A)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(A){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},size:function(A){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(A)}}),Object.assign(aA.prototype,{center:function(A){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(A)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(A){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},isIntersectionSphere:function(A){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(A)},size:function(A){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(A)}}),Ze.prototype.setFromMatrix=function(A){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(A)},Hs.prototype.center=function(A){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(A)},Object.assign(a,{random16:function(){return console.warn("THREE.Math: .random16() has been deprecated. Use Math.random() instead."),Math.random()},nearestPowerOfTwo:function(A){return console.warn("THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo()."),a.floorPowerOfTwo(A)},nextPowerOfTwo:function(A){return console.warn("THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo()."),a.ceilPowerOfTwo(A)}}),Object.assign(l.prototype,{flattenToArrayOffset:function(A,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(A,e)},multiplyVector3:function(A){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),A.applyMatrix3(this)},multiplyVector3Array:function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},applyToBufferAttribute:function(A){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),A.applyMatrix3(this)},applyToVector3Array:function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}),Object.assign(M.prototype,{extractPosition:function(A){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(A)},flattenToArrayOffset:function(A,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(A,e)},getPosition:function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new y).setFromMatrixColumn(this,3)},setRotationFromQuaternion:function(A){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(A)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(A){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},multiplyVector4:function(A){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},multiplyVector3Array:function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},rotateAxis:function(A){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),A.transformDirection(this)},crossVector:function(A){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),A.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.")},applyToBufferAttribute:function(A){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),A.applyMatrix4(this)},applyToVector3Array:function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(A,e,t,i,o,n){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(A,e,i,t,o,n)}}),EA.prototype.isIntersectionLine=function(A){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(A)},f.prototype.multiplyVector3=function(A){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),A.applyQuaternion(this)},Object.assign(CA.prototype,{isIntersectionBox:function(A){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(A)},isIntersectionPlane:function(A){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(A)},isIntersectionSphere:function(A){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(A)}}),Object.assign(RA.prototype,{area:function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},barycoordFromPoint:function(A,e){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(A,e)},midpoint:function(A){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(A)},normal:function(A){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(A)},plane:function(A){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(A)}}),Object.assign(RA,{barycoordFromPoint:function(A,e,t,i,o){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),RA.getBarycoord(A,e,t,i,o)},normal:function(A,e,t,i){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),RA.getNormal(A,e,t,i)}}),Object.assign(Ba.prototype,{extractAllPoints:function(A){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(A)},extrude:function(A){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Jn(this,A)},makeGeometry:function(A){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new rr(this,A)}}),Object.assign(s.prototype,{fromAttribute:function(A,e,t){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,e,t)},distanceToManhattan:function(A){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(A)},lengthManhattan:function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(y.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(A){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(A)},getScaleFromMatrix:function(A){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(A)},getColumnFromMatrix:function(A,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,A)},applyProjection:function(A){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(A)},fromAttribute:function(A,e,t){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,e,t)},distanceToManhattan:function(A){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(A)},lengthManhattan:function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(p.prototype,{fromAttribute:function(A,e,t){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(A,e,t)},lengthManhattan:function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()}}),Object.assign(De.prototype,{computeTangents:function(){console.error("THREE.Geometry: .computeTangents() has been removed.")},computeLineDistances:function(){console.error("THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.")},applyMatrix:function(A){return console.warn("THREE.Geometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)}}),Object.assign(H.prototype,{getChildByName:function(A){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(A)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(A,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,A)},getWorldRotation:function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},applyMatrix:function(A){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)}}),Object.defineProperties(H.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(A){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=A}},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.assign(Ue.prototype,{setDrawMode:function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}),Object.defineProperties(Ue.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),0},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),Object.defineProperties(xo.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(bo.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")},set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),So.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},Object.defineProperty(ea.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(A){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=A}}),je.prototype.setLens=function(A,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(A)},Object.defineProperties(xa.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(A){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=A}},shadowCameraLeft:{set:function(A){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=A}},shadowCameraRight:{set:function(A){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=A}},shadowCameraTop:{set:function(A){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=A}},shadowCameraBottom:{set:function(A){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=A}},shadowCameraNear:{set:function(A){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=A}},shadowCameraFar:{set:function(A){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=A}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(A){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=A}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(A){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=A}},shadowMapHeight:{set:function(A){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=A}}}),Object.defineProperties(YA.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),35048===this.usage},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(35048)}}}),Object.assign(YA.prototype,{setDynamic:function(A){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===A?35048:35044),this},copyIndicesArray:function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},setArray:function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")}}),Object.assign(he.prototype,{addIndex:function(A){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(A)},addAttribute:function(A,e){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?"index"===A?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(e),this):this.setAttribute(A,e):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(A,new YA(arguments[1],arguments[2])))},addDrawCall:function(A,e,t){void 0!==t&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(A,e)},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.")},removeAttribute:function(A){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(A)},applyMatrix:function(A){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(A)}}),Object.defineProperties(he.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(Ds.prototype,{linePrecision:{get:function(){return console.warn("THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead."),this.params.Line.threshold},set:function(A){console.warn("THREE.Raycaster: .linePrecision has been deprecated. Use .params.Line.threshold instead."),this.params.Line.threshold=A}}}),Object.defineProperties(to.prototype,{dynamic:{get:function(){return console.warn("THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead."),35048===this.usage},set:function(A){console.warn("THREE.InterleavedBuffer: .length has been deprecated. Use .usage instead."),this.setUsage(A)}}}),Object.assign(to.prototype,{setDynamic:function(A){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===A?35048:35044),this},setArray:function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")}}),Object.assign(zn.prototype,{getArrays:function(){console.error("THREE.ExtrudeBufferGeometry: .getArrays() has been removed.")},addShapeList:function(){console.error("THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.")},addShape:function(){console.error("THREE.ExtrudeBufferGeometry: .addShape() has been removed.")}}),Object.defineProperties(Ts.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(qA.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new LA}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(A){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===A}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(A){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=A}}}),Object.defineProperties(Ir.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(Pe.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(A){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=A}}}),Object.assign($i.prototype,{clearTarget:function(A,e,t,i){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(A),this.clear(e,t,i)},animate:function(A){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(A)},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},resetGLState:function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},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(A){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(A)},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.")},setFaceCulling:function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},allocTextureUnit:function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},setTexture:function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},setTexture2D:function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},setTextureCube:function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},getActiveMipMapLevel:function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()}}),Object.defineProperties($i.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(A){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=A}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(A){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=A}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(A){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===A?3001:3e3}}}),Object.defineProperties(Yi.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(g.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(A){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=A}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(A){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=A}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(A){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=A}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(A){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=A}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(A){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=A}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(A){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=A}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(A){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=A}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(A){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=A}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(A){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=A}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(A){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=A}}}),Object.defineProperties(ps.prototype,{load:{value:function(A){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var e=this;return(new $a).load(A,(function(A){e.setBuffer(A)})),this}},startTime:{set:function(){console.warn("THREE.Audio: .startTime is now .play( delay ).")}}}),ys.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},He.prototype.updateCubeMap=function(A,e){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(A,e)};var rc={merge:function(A,e,t){var i;console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead."),e.isMesh&&(e.matrixAutoUpdate&&e.updateMatrix(),i=e.matrix,e=e.geometry),A.merge(e,i,t)},center:function(A){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),A.center()}};c.crossOrigin=void 0,c.loadTexture=function(A,e,t,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var o=new Aa;o.setCrossOrigin(this.crossOrigin);var n=o.load(A,t,void 0,i);return e&&(n.mapping=e),n},c.loadTextureCube=function(A,e,t,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var o=new $r;o.setCrossOrigin(this.crossOrigin);var n=o.load(A,t,void 0,i);return e&&(n.mapping=e),n},c.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},c.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};var ac={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:"115"}}));var sc=Object.freeze({ACESFilmicToneMapping:5,AddEquation:100,AddOperation:2,AdditiveBlending:2,AlphaFormat:1021,AlwaysDepth:1,AlwaysStencilFunc:519,AmbientLight:Ta,AmbientLightProbe:is,AnimationClip:Gr,AnimationLoader:zr,AnimationMixer:Rs,AnimationObjectGroup:Ks,AnimationUtils:br,ArcCurve:ia,ArrayCamera:Zi,ArrowHelper:Il,Audio:ps,AudioAnalyser:ys,AudioContext:_a,AudioListener:ds,AudioLoader:$a,AxesHelper:El,AxisHelper:function(A){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new El(A)},BackSide:1,BasicDepthPacking:3200,BasicShadowMap:0,BinaryTextureLoader:function(A){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Xr(A)},Bone:Uo,BooleanKeyframeTrack:Tr,BoundingBoxHelper:function(A,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new ul(A,e)},Box2:Ps,Box3:aA,Box3Helper:fl,BoxBufferGeometry:Ne,BoxGeometry:Le,BoxHelper:ul,BufferAttribute:YA,BufferGeometry:he,BufferGeometryLoader:Va,ByteType:1010,Cache:qr,Camera:qe,CameraHelper:dl,CanvasRenderer:function(){console.error("THREE.CanvasRenderer has been removed")},CanvasTexture:en,CatmullRomCurve3:la,CineonToneMapping:4,CircleBufferGeometry:ur,CircleGeometry:gr,ClampToEdgeWrapping:1001,Clock:as,ClosedSplineCurve3:ic,Color:LA,ColorKeyframeTrack:kr,CompressedTexture:An,CompressedTextureLoader:Zr,ConeBufferGeometry:pr,ConeGeometry:dr,CubeCamera:He,CubeGeometry:Le,CubeReflectionMapping:301,CubeRefractionMapping:302,CubeTexture:ut,CubeTextureLoader:$r,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307,CubicBezierCurve:pa,CubicBezierCurve3:ga,CubicInterpolant:Fr,CullFaceBack:1,CullFaceFront:2,CullFaceFrontBack:3,CullFaceNone:0,Curve:ea,CurvePath:Ia,CustomBlending:5,CylinderBufferGeometry:hr,CylinderGeometry:cr,Cylindrical:Vs,DataTexture:We,DataTexture2DArray:ft,DataTexture3D:mt,DataTextureLoader:Xr,DecrementStencilOp:7683,DecrementWrapStencilOp:34056,DefaultLoadingManager:Hr,DepthFormat:1026,DepthStencilFormat:1027,DepthTexture:tn,DirectionalLight:Ra,DirectionalLightHelper:ll,DirectionalLightShadow:Qa,DiscreteInterpolant:Qr,DodecahedronBufferGeometry:fn,DodecahedronGeometry:un,DoubleSide:2,DstAlphaFactor:206,DstColorFactor:208,DynamicBufferAttribute:function(A,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new YA(A,e).setUsage(35048)},DynamicCopyUsage:35050,DynamicDrawUsage:35048,DynamicReadUsage:35049,EdgesGeometry:lr,EdgesHelper:function(A,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new jo(new lr(A.geometry),new ko({color:void 0!==e?e:16777215}))},EllipseCurve:ta,EqualDepth:4,EqualStencilFunc:514,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,Euler:F,EventDispatcher:i,ExtrudeBufferGeometry:zn,ExtrudeGeometry:Jn,Face3:GA,Face4:function(A,e,t,i,o,n,r){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new GA(A,e,t,o,n,r)},FaceColors:1,FileLoader:Jr,FlatShading:1,Float32Attribute:function(A,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Ae(A,e)},Float32BufferAttribute:Ae,Float64Attribute:function(A,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new ee(A,e)},Float64BufferAttribute:ee,FloatType:1015,Fog:eo,FogExp2:Ao,Font:za,FontLoader:Xa,FrontFaceDirectionCCW:1,FrontFaceDirectionCW:0,FrontSide:0,Frustum:Ze,GammaEncoding:3007,Geometry:De,GeometryUtils:rc,GreaterDepth:6,GreaterEqualDepth:5,GreaterEqualStencilFunc:518,GreaterStencilFunc:516,GridHelper:ol,Group:Xi,HalfFloatType:1016,HemisphereLight:Sa,HemisphereLightHelper:il,HemisphereLightProbe:ts,IcosahedronBufferGeometry:gn,IcosahedronGeometry:pn,ImageBitmapLoader:Wa,ImageLoader:_r,ImageUtils:c,ImmediateRenderObject:Ys,IncrementStencilOp:7682,IncrementWrapStencilOp:34055,InstancedBufferAttribute:Oa,InstancedBufferGeometry:Na,InstancedInterleavedBuffer:ks,InstancedMesh:To,Int16Attribute:function(A,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new ZA(A,e)},Int16BufferAttribute:ZA,Int32Attribute:function(A,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new _A(A,e)},Int32BufferAttribute:_A,Int8Attribute:function(A,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new WA(A,e)},Int8BufferAttribute:WA,IntType:1013,InterleavedBuffer:to,InterleavedBufferAttribute:no,Interpolant:Ur,InterpolateDiscrete:2300,InterpolateLinear:2301,InterpolateSmooth:2302,InvertStencilOp:5386,JSONLoader:function(){console.error("THREE.JSONLoader has been removed.")},KeepStencilOp:7680,KeyframeTrack:Rr,LOD:xo,LatheBufferGeometry:nr,LatheGeometry:or,Layers:K,LensFlare:function(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")},LessDepth:2,LessEqualDepth:3,LessEqualStencilFunc:515,LessStencilFunc:513,Light:xa,LightProbe:es,LightShadow:wa,Line:Go,Line3:Hs,LineBasicMaterial:ko,LineCurve:ua,LineCurve3:fa,LineDashedMaterial:wr,LineLoop:Ho,LinePieces:1,LineSegments:jo,LineStrip:0,LinearEncoding:3e3,LinearFilter:1006,LinearInterpolant:Kr,LinearMipMapLinearFilter:1008,LinearMipMapNearestFilter:1007,LinearMipmapLinearFilter:1008,LinearMipmapNearestFilter:1007,LinearToneMapping:1,Loader:Yr,LoaderUtils:La,LoadingManager:jr,LogLuvEncoding:3003,LoopOnce:2200,LoopPingPong:2202,LoopRepeat:2201,LuminanceAlphaFormat:1025,LuminanceFormat:1024,MOUSE:t,Material:qA,MaterialLoader:Da,Math:a,MathUtils:a,Matrix3:l,Matrix4:M,MaxEquation:104,Mesh:Ue,MeshBasicMaterial:jA,MeshDepthMaterial:ji,MeshDistanceMaterial:Hi,MeshFaceMaterial:function(A){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),A},MeshLambertMaterial:xr,MeshMatcapMaterial:Sr,MeshNormalMaterial:Br,MeshPhongMaterial:Ir,MeshPhysicalMaterial:vr,MeshStandardMaterial:yr,MeshToonMaterial:Er,MinEquation:103,MirroredRepeatWrapping:1002,MixOperation:1,MultiMaterial:function(A){return void 0===A&&(A=[]),console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),A.isMultiMaterial=!0,A.materials=A,A.clone=function(){return A.slice()},A},MultiplyBlending:4,MultiplyOperation:0,NearestFilter:1003,NearestMipMapLinearFilter:1005,NearestMipMapNearestFilter:1004,NearestMipmapLinearFilter:1005,NearestMipmapNearestFilter:1004,NeverDepth:0,NeverStencilFunc:512,NoBlending:0,NoColors:0,NoToneMapping:0,NormalBlending:1,NotEqualDepth:7,NotEqualStencilFunc:517,NumberKeyframeTrack:Dr,Object3D:H,ObjectLoader:Pa,ObjectSpaceNormalMap:1,OctahedronBufferGeometry:dn,OctahedronGeometry:hn,OneFactor:201,OneMinusDstAlphaFactor:207,OneMinusDstColorFactor:209,OneMinusSrcAlphaFactor:205,OneMinusSrcColorFactor:203,OrthographicCamera:Ka,PCFShadowMap:1,PCFSoftShadowMap:2,PMREMGenerator:jl,ParametricBufferGeometry:rn,ParametricGeometry:nn,Particle:function(A){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new vo(A)},ParticleBasicMaterial:function(A){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Yo(A)},ParticleSystem:function(A,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Xo(A,e)},ParticleSystemMaterial:function(A){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Yo(A)},Path:Ea,PerspectiveCamera:je,Plane:EA,PlaneBufferGeometry:et,PlaneGeometry:At,PlaneHelper:ml,PointCloud:function(A,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Xo(A,e)},PointCloudMaterial:function(A){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Yo(A)},PointLight:Fa,PointLightHelper:$s,Points:Xo,PointsMaterial:Yo,PolarGridHelper:nl,PolyhedronBufferGeometry:sn,PolyhedronGeometry:an,PositionalAudio:Cs,PropertyBinding:Fs,PropertyMixer:vs,QuadraticBezierCurve:ma,QuadraticBezierCurve3:Ca,Quaternion:f,QuaternionKeyframeTrack:Nr,QuaternionLinearInterpolant:Lr,REVISION:"115",RGBADepthPacking:3201,RGBAFormat:1023,RGBAIntegerFormat:1033,RGBA_ASTC_10x10_Format:37819,RGBA_ASTC_10x5_Format:37816,RGBA_ASTC_10x6_Format:37817,RGBA_ASTC_10x8_Format:37818,RGBA_ASTC_12x10_Format:37820,RGBA_ASTC_12x12_Format:37821,RGBA_ASTC_4x4_Format:37808,RGBA_ASTC_5x4_Format:37809,RGBA_ASTC_5x5_Format:37810,RGBA_ASTC_6x5_Format:37811,RGBA_ASTC_6x6_Format:37812,RGBA_ASTC_8x5_Format:37813,RGBA_ASTC_8x6_Format:37814,RGBA_ASTC_8x8_Format:37815,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_2BPPV1_Format:35843,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT1_Format:33777,RGBA_S3TC_DXT3_Format:33778,RGBA_S3TC_DXT5_Format:33779,RGBDEncoding:3006,RGBEEncoding:3002,RGBEFormat:1023,RGBFormat:1022,RGBIntegerFormat:1032,RGBM16Encoding:3005,RGBM7Encoding:3004,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_2BPPV1_Format:35841,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776,RGFormat:1030,RGIntegerFormat:1031,RawShaderMaterial:Cr,Ray:CA,Raycaster:Ds,RectAreaLight:ka,RedFormat:1028,RedIntegerFormat:1029,ReinhardToneMapping:2,RepeatWrapping:1e3,ReplaceStencilOp:7681,ReverseSubtractEquation:102,RingBufferGeometry:ir,RingGeometry:tr,SRGB8_ALPHA8_ASTC_10x10_Format:37851,SRGB8_ALPHA8_ASTC_10x5_Format:37848,SRGB8_ALPHA8_ASTC_10x6_Format:37849,SRGB8_ALPHA8_ASTC_10x8_Format:37850,SRGB8_ALPHA8_ASTC_12x10_Format:37852,SRGB8_ALPHA8_ASTC_12x12_Format:37853,SRGB8_ALPHA8_ASTC_4x4_Format:37840,SRGB8_ALPHA8_ASTC_5x4_Format:37841,SRGB8_ALPHA8_ASTC_5x5_Format:37842,SRGB8_ALPHA8_ASTC_6x5_Format:37843,SRGB8_ALPHA8_ASTC_6x6_Format:37844,SRGB8_ALPHA8_ASTC_8x5_Format:37845,SRGB8_ALPHA8_ASTC_8x6_Format:37846,SRGB8_ALPHA8_ASTC_8x8_Format:37847,Scene:Y,SceneUtils:ac,ShaderChunk:tt,ShaderLib:it,ShaderMaterial:Pe,ShadowMaterial:mr,Shape:Ba,ShapeBufferGeometry:ar,ShapeGeometry:rr,ShapePath:Ja,ShapeUtils:Hn,ShortType:1011,Skeleton:bo,SkeletonHelper:_s,SkinnedMesh:So,SmoothShading:2,Sphere:cA,SphereBufferGeometry:er,SphereGeometry:Ar,Spherical:Os,SphericalHarmonics3:As,SphericalReflectionMapping:305,Spline:nc,SplineCurve:ya,SplineCurve3:oc,SpotLight:ba,SpotLightHelper:Js,SpotLightShadow:Ma,Sprite:vo,SpriteMaterial:ro,SrcAlphaFactor:204,SrcAlphaSaturateFactor:210,SrcColorFactor:202,StaticCopyUsage:35046,StaticDrawUsage:35044,StaticReadUsage:35045,StereoCamera:rs,StreamCopyUsage:35042,StreamDrawUsage:35040,StreamReadUsage:35041,StringKeyframeTrack:Or,SubtractEquation:101,SubtractiveBlending:3,TOUCH:{ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},TangentSpaceNormalMap:0,TetrahedronBufferGeometry:cn,TetrahedronGeometry:ln,TextBufferGeometry:$n,TextGeometry:_n,Texture:d,TextureLoader:Aa,TorusBufferGeometry:En,TorusGeometry:In,TorusKnotBufferGeometry:vn,TorusKnotGeometry:yn,Triangle:RA,TriangleFanDrawMode:2,TriangleStripDrawMode:1,TrianglesDrawMode:0,TubeBufferGeometry:Cn,TubeGeometry:mn,UVMapping:300,Uint16Attribute:function(A,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new XA(A,e)},Uint16BufferAttribute:XA,Uint32Attribute:function(A,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new $A(A,e)},Uint32BufferAttribute:$A,Uint8Attribute:function(A,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new JA(A,e)},Uint8BufferAttribute:JA,Uint8ClampedAttribute:function(A,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new zA(A,e)},Uint8ClampedBufferAttribute:zA,Uncharted2ToneMapping:3,Uniform:Ts,UniformsLib:Xe,UniformsUtils:Ge,UnsignedByteType:1009,UnsignedInt248Type:1020,UnsignedIntType:1014,UnsignedShort4444Type:1017,UnsignedShort5551Type:1018,UnsignedShort565Type:1019,UnsignedShortType:1012,VSMShadowMap:3,Vector2:s,Vector3:y,Vector4:p,VectorKeyframeTrack:Vr,Vertex:function(A,e,t){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new y(A,e,t)},VertexColors:2,VideoTexture:$o,WebGLCubeRenderTarget:Ye,WebGLMultisampleRenderTarget:u,WebGLRenderTarget:g,WebGLRenderTargetCube:function(A,e,t){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new Ye(A,t)},WebGLRenderer:$i,WebGLUtils:zi,WireframeGeometry:on,WireframeHelper:function(A,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new jo(new on(A.geometry),new ko({color:void 0!==e?e:16777215}))},WrapAroundEnding:2402,XHRLoader:function(A){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Jr(A)},ZeroCurvatureEnding:2400,ZeroFactor:200,ZeroSlopeEnding:2401,ZeroStencilOp:0,sRGBEncoding:3001});function lc(A){return(lc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A})(A)}function cc(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")}function hc(A,e){for(var t=0;e.length>t;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(A,i.key,i)}}function dc(A,e,t){return e&&hc(A.prototype,e),t&&hc(A,t),A}function pc(A,e,t){return e in A?Object.defineProperty(A,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):A[e]=t,A}function gc(A){for(var e=1;arguments.length>e;e++){var t=null!=arguments[e]?Object(arguments[e]):{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter((function(A){return Object.getOwnPropertyDescriptor(t,A).enumerable})))),i.forEach((function(e){pc(A,e,t[e])}))}return A}function uc(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),e&&mc(A,e)}function fc(A){return(fc=Object.setPrototypeOf?Object.getPrototypeOf:function(A){return A.__proto__||Object.getPrototypeOf(A)})(A)}function mc(A,e){return(mc=Object.setPrototypeOf||function(A,e){return A.__proto__=e,A})(A,e)}function Cc(A,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}(A):e}function yc(A){return function(A){if(Array.isArray(A)){for(var e=0,t=new Array(A.length);A.length>e;e++)t[e]=A[e];return t}}(A)||function(A){if(Symbol.iterator in Object(A)||"[object Arguments]"===Object.prototype.toString.call(A))return Array.from(A)}(A)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var vc={SceneSize:1e3,getDataFromIndexedDB:!0,TextureResRoot:"images/",UserControlView:!1,FillCavity:!1,EnableClippingCaps:!0,EnableBoxClippingCaps:!1,EnableTextureMapping:!0,EnableTextureLoading:!0,EnableLightmap:!1,EnableTransformAoMap:!0,LightmapIntensity:1,ClippingCaps:!1,SelectionColor:{color:2205669,side:2,opacity:.8,transparent:!0},DisableAntialias:!1,EnableDemolishByDClick:!1,IsMobile:!1,UseWorker:!1,ZipResourcePostfix:"",HasLayerData:!1,Renderer:1,Instance:!0,MergeComponent:!1,AutoMergeComponent:!0,AutoMergeComponentCount:1e4,MaxMergeCount:1e3,MergedTriangleNumberThreshold:2e7,MaxMergedTriangleNumber:2e7,IncrementRender:!1,EnableRenderPass:!1,LimitFrameTime:250,maxObjectNumInPool:1e3,maxDrawCacheNum:4e4,OctantDepth:15,MaximumDepth:0,TargetDistance:1e4,ConcurrencyRequestCount:16,ShowOctant:!1,EnableOctant:!1,EnableViewController:!0,DirectionalLight:!0,LightPreset:2,IBL:!1,ToneMapping:4,LightIntensityFactor:1,Hover:!1,OcclusionTranslucentEnabled:!1,OcclusionOpacity:.5,OcclusionDistanceToCamera:1e3,LineSelectRange:30,DrawingStyle:0,DrawingBoardlineEnabled:!0,InitWireframeData:!1,EnableHitDetection:!1,TranslucentDepthDisabled:!1,SharedMeshInstanceEnable:!1,DataProvider:0,EnableSelectionOutline:!0,EnableSelectionByTranslucent:!1,EnableSelectionBoundingBox:!1,EnableShadow:!1,EnableAnimation:!0,UseLods:!1,AutoPrepare:!0,DEBUG:!1,WalkingWithGravity:!1,WalkingWithViewLock:!1,RendererWhenLoad:!1,language:"zh-cn",LoadComponentOnDemand:!1,logarithmicDepthBuffer:!1,InfluencedByLight:!0,geometricErrorThresholdValue:80,MaximumAvailableMemory:500,DataReduction:!1,ConstraintZoom:!1,stepLoad:!1,useGzip:!1,notDepthWriteByTransparent:!1,PickingEffect:!0,PickingLineWidthEnabled:!0,loadBatch:!0,MiniMapSize:1024,alphaTest:.5,EnableCreateMiniMap:!1,MultipleSelectComponents:!0},Ic=F.RotationOrders,Ec={ORTHOGRAPHIC:"orth",PERSPECTIVE:"persp"},Bc={elements:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},xc={elements:[1,0,0,0,1,0,0,0,1]},Sc={IfcOpeningElement:!0,IfcSpace:!0,OST_Rooms:!0,"房间":!0};Object.defineProperties(Sc,{"房间":{get:function(){return Sc.OST_Rooms},set:function(A){Sc.OST_Rooms=A}}});var wc,Mc,bc=new(Proxy||function(A){return A})(Sc,{deleteProperty:function(A,e){e in A&&("房间"===e&&delete A.OST_Rooms,delete A[e])}}),Uc={Keep:0,Home:135,Top:1,Bottom:2,Front:3,Back:4,Right:5,Left:6,TopFrontRight:135,TopFrontLeft:136,TopBackRight:145,TopBackLeft:146,BottomFrontRight:235,BottomFrontLeft:236,BottomBackRight:245,BottomBackLeft:246,TopFront:13,TopBack:14,TopRight:15,TopLeft:16,BottomFront:23,BottomBack:24,BottomRight:25,BottomLeft:26,FrontRight:35,FrontLeft:36,BackRight:45,BackLeft:46,TopToRight:105,TopToLeft:106,TopToFront:103,TopToBack:104,BottomToRight:205,BottomToLeft:206,BottomToFront:203,BottomToBack:204,FrontToTop:301,FrontToBottom:302,FrontToRight:305,FrontToLeft:306,BackToTop:401,BackToBottom:402,BackToRight:405,BackToLeft:406,RightToTop:501,RightToBottom:502,RightToFront:503,RightToBack:504,LeftToTop:601,LeftTopBottom:602,LeftTopFront:603,LeftTopBack:604},Fc={DirectionalLight:"directional",AmbientLight:"ambient",PointLight:"point",SpotLight:"spot"},Kc={Clear:0,Add:1,Remove:2},Qc={Geometry:1,Marker3d:2,Room:3,ExternalComponent:4,UnPickable:0},Rc={ON_LOAD_START:"ON_LOAD_START",ON_LOAD_PROGRESS:"ON_LOAD_PROGRESS",ON_LOAD_COMPLETE:"ON_LOAD_COMPLETE",ON_DEMAND_LOAD_COMPLETE:"ON_DEMAND_LOAD_COMPLETE",ON_LOAD_EMPTY_SCENE:"ON_LOAD_EMPTY_SCENE",ON_LOAD_CONFIG_FINISH:"ON_LOAD_CONFIG_FINISH",ON_LOAD_INVALID_SCENE:"ON_LOAD_INVALID_SCENE",ON_LOAD_INVALID_DATA:"ON_LOAD_INVALID_DATA",ON_NETWORK_ERROR:"ON_NETWORK_ERROR",ACCOUNT_NO_EXIST:"ACCOUNT_NO_EXIST",NO_PERMISSION:"NO_PERMISSION",ON_LOAD_ERROR:"ON_LOAD_ERROR",ON_SELECTION_CHANGED:"ON_SELECTION_CHANGED",ON_RECTPICK_ADD:"ON_RECTPICK_ADD",ON_RECTPICK_REMOVE:"ON_RECTPICK_REMOVE",ON_CLICK_PICK:"ON_CLICK_PICK",ON_HOVER_PICK:"ON_HOVER_PICK",ON_MEASURE_PICK:"ON_MEASURE_PICK",ON_SELECTION_FAILED:"ON_SELECTION_FAILED",ON_CLIP_HOVER:"ON_CLIP_HOVER",ON_HOVER_SNAP:"ON_HOVER_SNAP",ON_CLIP_MOUSE_MOVE:"ON_CLIP_MOUSE_MOVE",ON_CLIP_MOUSE_DOWN:"ON_CLIP_MOUSE_DOWN",ON_VERSION_NO_MATCH:"ON_VERSION_NO_MATCH",ON_VIEWER_RESTORED:"ON_VIEWER_RESTORED",ON_CAMERA_HEIGHT_CHANGED:"ON_CAMERA_HEIGHT_CHANGED",ON_CAMERA_CHANGED_AND_RENDERED:"ON_CAMERA_CHANGED_AND_RENDERED",ON_DATABASE_OPEN:"ON_DATABASE_OPEN",ON_DATABASE_CLOSE:"ON_DATABASE_CLOSE",ON_DATABASE_ADD:"ON_DATABASE_ADD",ON_DATABASE_DELETE:"ON_DATABASE_DELETE",ON_DATABASE_CLERA:"ON_DATABASE_CLERA",ON_DATABASE_EEEOR:"ON_DATABASE_EEEOR",BEFORE_RESETSCENE:"BEFORE_RESETSCENE",AFTER_RESETSCENE:"AFTER_RESETSCENE",ON_CAMERA_CHANGE:"ON_CAMERA_CHANGE",ON_CONTROL_ENTER:"ON_CONTROL_ENTER",ON_CONTROL_EXIST:"ON_CONTROL_EXIST",ON_POINTERLOCK_EXIST:"ON_POINTERLOCK_EXIST",ON_CONTROL_BEGIN:"ON_CONTROL_BEGIN",ON_CONTROL_END:"ON_CONTROL_END",ON_CONTROL_ZOOM:"ON_CONTROL_ZOOM",ON_CONTROL_UPDATEUI:"ON_CONTROL_UPDATEUI",ON_CONTROL_KEYDOWN:"ON_CONTROL_KEYDOWN",ON_CONTROL_KEYUP:"ON_CONTROL_KEYUP",ON_CAMERA_ANIMATION_UPDATE:"ON_CAMERA_ANIMATION_UPDATE",ON_MOUSE_DRAGGED:"ON_MOUSE_DRAGGED"},Tc={LOAD_COMPONENT_ERROR:"LOAD_COMPONENT_ERROR",LOAD_MATERIAL_ERROR:"LOAD_MATERIAL_ERROR",LOAD_GEOMETRY_ERROR:"LOAD_GEOMETRY_ERROR",LOAD_COMPONENTNODE_ERROR:"LOAD_COMPONENTNODE_ERROR",LOAD_TEXTURE_ERROR:"LOAD_TEXTURE_ERROR",LOAD_AXISNET_ERROR:"LOAD_AXISNET_ERROR",LOAD_FLOORINFO_ERROR:"LOAD_FLOORINFO_ERROR",PARSEFAILE:"PARSEFAILE",PARSING:"PARSING",IS2D:"IS2D",LOAD_ERROR:"LOAD_ERROR",SCENE_NOT_CLOSE:"SCENE_NOT_CLOSE",SCENE_NOTHING_TO_LOAD:"SCENE_NOTHING_TO_LOAD",LOAD_SCENE_ERROR:"LOAD_SCENE_ERROR",LOAD_SYMBOL_ERROR:"LOAD_SYMBOL_ERROR",LOAD_OCTREEINNER_ERROR:"LOAD_OCTREEINNER_ERROR",LOAD_OCTREEOUTER_ERROR:"LOAD_OCTREEOUTER_ERROR",LOAD_USERID_ERROR:"LOAD_USERID_ERROR",LOAD_USERDATA_ERROR:"LOAD_USERDATA_ERROR",LOAD_CAMERA_ERROR:"LOAD_CAMERA_ERROR",LOAD_MPK_ERROR:"LOAD_MPK_ERROR",LOAD_IBLCONFIG_ERROR:"LOAD_IBLCONFIG_ERROR"},kc={MOUSEPOINT:0,SELECTION:1,CENTER:2,CAMERA:3},Dc={FILE_VISIBLE:0,FILE_HIDDEN:1,SELECTED:2,VISIBLE:3,HIDDEN:4,TRANSLUCENT:5,TRANSLUCENT_OTHERS:6,WIREFRAME:7,COLORFUL:8},Lc={Visible:1,HideByIsolate:2,Transparent:4,TransparentByIsolate:8},Nc={HIDDEN:0,HIDDEN_OTHERS:1,TRANSLUCENT:2,TRANSLUCENT_OTHERS:3},Oc={TRANSLUCENT:"TRANSLUCENT",OPAQUE:"OPAQUE"},Vc={DISABLED:0,TRANSLUCENT:1,HIDDEN:2},Gc={ORBIT:"orbit",PICK:"pick",PAN:"pan",ZOOM:"zoom",FLY:"fly",WALK:"walk"},Pc={PICK_BY_RECT:"pickByRect",ZOOM_BY_RECT:"zoomByRect",CLIP_BY_BOX:"clipByBox",CLIP_FILL:"fillClip",PICK_BY_MEASURE:"pickByMeasure",COMPONENT_TRANSFORM:"componentTransform"},qc={NONE:0,UP:1,DOWN:2,LEFT:4,RIGHT:8,FORWARD:16,BACK:32},jc={SHADING:0,BOARDLINE:1,SHADINGWITHLINE:2},Hc={HIDDEN:-1,NONE:0,HOVER:1,SELECTED:2,OVERRIDED:3,TRANSPARENT:4,BLINK:5},Yc={NONE:0,BLINK:1,SELECT:2},Wc={AUTO:0,DEFAULT:1,MERGED:2,LAYER:3,LAYER_SCENE:4},Jc={MATCH_RETURN_TRUE:0,MATCH_RETURN_FALSE:1,NOMATCH_RETURN_TRUE:2,NOMATCH_RETURN_FALSE:3},zc={CLIPPING:-2,HIDDEN:-1,NONE:0,SELECTED:1,BLINK:2,HOVER:3,TRANSPARENT:4,OVERRIDED:5},Zc={RVT:"RVT",IFC:"IFC",I_MODEL:"I-MODEL",THREE_DS:"3DS",MERGE:"MERGE",DAE:"DAE",DWG:"DWG",OBJ:"OBJ",FBX:"FBX"},Xc={};function _c(A,e,t,i){this._x=A||0,this._y=e||0,this._z=t||0,this._w=void 0!==i?i:1}function $c(A,e,t){this.x=A||0,this.y=e||0,this.z=t||0}Xc.clamp=function(A,e,t){return Math.max(e,Math.min(t,A))},Xc.euclideanModulo=function(A,e){return(A%e+e)%e},Object.assign(_c,{slerp:function(A,e,t,i){return t.copy(A).slerp(e,i)},slerpFlat:function(A,e,t,i,o,n,r){var a=t[i+0],s=t[i+1],l=t[i+2],c=t[i+3],h=o[n+0],d=o[n+1],p=o[n+2],g=o[n+3];if(c!==g||a!==h||s!==d||l!==p){var u=1-r,f=a*h+s*d+l*p+c*g,m=0>f?-1:1,C=1-f*f;if(C>Number.EPSILON){var y=Math.sqrt(C),v=Math.atan2(y,f*m);u=Math.sin(u*v)/y,r=Math.sin(r*v)/y}var I=r*m;if(a=a*u+h*I,s=s*u+d*I,l=l*u+p*I,c=c*u+g*I,u===1-r){var E=1/Math.sqrt(a*a+s*s+l*l+c*c);a*=E,s*=E,l*=E,c*=E}}A[e]=a,A[e+1]=s,A[e+2]=l,A[e+3]=c}}),Object.defineProperties(_c.prototype,{x:{get:function(){return this._x},set:function(A){this._x=A,this._onChangeCallback()}},y:{get:function(){return this._y},set:function(A){this._y=A,this._onChangeCallback()}},z:{get:function(){return this._z},set:function(A){this._z=A,this._onChangeCallback()}},w:{get:function(){return this._w},set:function(A){this._w=A,this._onChangeCallback()}}}),Object.assign(_c.prototype,{isQuaternion:!0,set:function(A,e,t,i){return this._x=A,this._y=e,this._z=t,this._w=i,this._onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(A){return this._x=A.x,this._y=A.y,this._z=A.z,this._w=A.w,this._onChangeCallback(),this},setFromEuler:function(A,e){if(!A||!A.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var t=A._x,i=A._y,o=A._z,n=A.order,r=Math.cos,a=Math.sin,s=r(t/2),l=r(i/2),c=r(o/2),h=a(t/2),d=a(i/2),p=a(o/2);return"XYZ"===n?(this._x=h*l*c+s*d*p,this._y=s*d*c-h*l*p,this._z=s*l*p+h*d*c,this._w=s*l*c-h*d*p):"YXZ"===n?(this._x=h*l*c+s*d*p,this._y=s*d*c-h*l*p,this._z=s*l*p-h*d*c,this._w=s*l*c+h*d*p):"ZXY"===n?(this._x=h*l*c-s*d*p,this._y=s*d*c+h*l*p,this._z=s*l*p+h*d*c,this._w=s*l*c-h*d*p):"ZYX"===n?(this._x=h*l*c-s*d*p,this._y=s*d*c+h*l*p,this._z=s*l*p-h*d*c,this._w=s*l*c+h*d*p):"YZX"===n?(this._x=h*l*c+s*d*p,this._y=s*d*c+h*l*p,this._z=s*l*p-h*d*c,this._w=s*l*c-h*d*p):"XZY"===n&&(this._x=h*l*c-s*d*p,this._y=s*d*c-h*l*p,this._z=s*l*p+h*d*c,this._w=s*l*c+h*d*p),!1!==e&&this._onChangeCallback(),this},setFromAxisAngle:function(A,e){var t=e/2,i=Math.sin(t);return this._x=A.x*i,this._y=A.y*i,this._z=A.z*i,this._w=Math.cos(t),this._onChangeCallback(),this},setFromRotationMatrix:function(A){var e,t=A.elements,i=t[0],o=t[4],n=t[8],r=t[1],a=t[5],s=t[9],l=t[2],c=t[6],h=t[10],d=i+a+h;return d>0?(e=.5/Math.sqrt(d+1),this._w=.25/e,this._x=(c-s)*e,this._y=(n-l)*e,this._z=(r-o)*e):i>a&&i>h?(e=2*Math.sqrt(1+i-a-h),this._w=(c-s)/e,this._x=.25*e,this._y=(o+r)/e,this._z=(n+l)/e):a>h?(e=2*Math.sqrt(1+a-i-h),this._w=(n-l)/e,this._x=(o+r)/e,this._y=.25*e,this._z=(s+c)/e):(e=2*Math.sqrt(1+h-i-a),this._w=(r-o)/e,this._x=(n+l)/e,this._y=(s+c)/e,this._z=.25*e),this._onChangeCallback(),this},setFromUnitVectors:function(A,e){var t=A.dot(e)+1;return 1e-6>t?(t=0,Math.abs(A.x)>Math.abs(A.z)?(this._x=-A.y,this._y=A.x,this._z=0,this._w=t):(this._x=0,this._y=-A.z,this._z=A.y,this._w=t)):(this._x=A.y*e.z-A.z*e.y,this._y=A.z*e.x-A.x*e.z,this._z=A.x*e.y-A.y*e.x,this._w=t),this.normalize()},angleTo:function(A){return 2*Math.acos(Math.abs(Xc.clamp(this.dot(A),-1,1)))},rotateTowards:function(A,e){var t=this.angleTo(A);if(0===t)return this;var i=Math.min(1,e/t);return this.slerp(A,i),this},inverse:function(){return this.conjugate()},conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this},dot:function(A){return this._x*A._x+this._y*A._y+this._z*A._z+this._w*A._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 A=this.length();return 0===A?(this._x=0,this._y=0,this._z=0,this._w=1):(this._x=this._x*(A=1/A),this._y=this._y*A,this._z=this._z*A,this._w=this._w*A),this._onChangeCallback(),this},multiply:function(A,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(A,e)):this.multiplyQuaternions(this,A)},premultiply:function(A){return this.multiplyQuaternions(A,this)},multiplyQuaternions:function(A,e){var t=A._x,i=A._y,o=A._z,n=A._w,r=e._x,a=e._y,s=e._z,l=e._w;return this._x=t*l+n*r+i*s-o*a,this._y=i*l+n*a+o*r-t*s,this._z=o*l+n*s+t*a-i*r,this._w=n*l-t*r-i*a-o*s,this._onChangeCallback(),this},slerp:function(A,e){if(0===e)return this;if(1===e)return this.copy(A);var t=this._x,i=this._y,o=this._z,n=this._w,r=n*A._w+t*A._x+i*A._y+o*A._z;if(0>r?(this._w=-A._w,this._x=-A._x,this._y=-A._y,this._z=-A._z,r=-r):this.copy(A),r>=1)return this._w=n,this._x=t,this._y=i,this._z=o,this;var a=1-r*r;if(Number.EPSILON>=a){var s=1-e;return this._w=s*n+e*this._w,this._x=s*t+e*this._x,this._y=s*i+e*this._y,this._z=s*o+e*this._z,this.normalize(),this._onChangeCallback(),this}var l=Math.sqrt(a),c=Math.atan2(l,r),h=Math.sin((1-e)*c)/l,d=Math.sin(e*c)/l;return this._w=n*h+this._w*d,this._x=t*h+this._x*d,this._y=i*h+this._y*d,this._z=o*h+this._z*d,this._onChangeCallback(),this},equals:function(A){return A._x===this._x&&A._y===this._y&&A._z===this._z&&A._w===this._w},fromArray:function(A,e){return void 0===e&&(e=0),this._x=A[e],this._y=A[e+1],this._z=A[e+2],this._w=A[e+3],this._onChangeCallback(),this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this._x,A[e+1]=this._y,A[e+2]=this._z,A[e+3]=this._w,A},_onChange:function(A){return this._onChangeCallback=A,this},_onChangeCallback:function(){}}),Object.assign($c.prototype,{isVector3:!0,set:function(A,e,t){return this.x=A,this.y=e,this.z=t,this},setScalar:function(A){return this.x=A,this.y=A,this.z=A,this},setX:function(A){return this.x=A,this},setY:function(A){return this.y=A,this},setZ:function(A){return this.z=A,this},setComponent:function(A,e){switch(A){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: "+A)}return this},getComponent:function(A){switch(A){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+A)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(A){return this.x=A.x,this.y=A.y,this.z=A.z,this},add:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,e)):(this.x+=A.x,this.y+=A.y,this.z+=A.z,this)},addScalar:function(A){return this.x+=A,this.y+=A,this.z+=A,this},addVectors:function(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this.z=A.z+e.z,this},addScaledVector:function(A,e){return this.x+=A.x*e,this.y+=A.y*e,this.z+=A.z*e,this},sub:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,e)):(this.x-=A.x,this.y-=A.y,this.z-=A.z,this)},subScalar:function(A){return this.x-=A,this.y-=A,this.z-=A,this},subVectors:function(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this.z=A.z-e.z,this},multiply:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(A,e)):(this.x*=A.x,this.y*=A.y,this.z*=A.z,this)},multiplyScalar:function(A){return this.x*=A,this.y*=A,this.z*=A,this},multiplyVectors:function(A,e){return this.x=A.x*e.x,this.y=A.y*e.y,this.z=A.z*e.z,this},applyEuler:(Mc=new _c,function(A){return A&&A.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(Mc.setFromEuler(A))}),applyAxisAngle:function(){var A=new _c;return function(e,t){return this.applyQuaternion(A.setFromAxisAngle(e,t))}}(),applyMatrix3:function(A){var e=this.x,t=this.y,i=this.z,o=A.elements;return this.x=o[0]*e+o[3]*t+o[6]*i,this.y=o[1]*e+o[4]*t+o[7]*i,this.z=o[2]*e+o[5]*t+o[8]*i,this},applyMatrix4:function(A){var e=this.x,t=this.y,i=this.z,o=A.elements,n=1/(o[3]*e+o[7]*t+o[11]*i+o[15]);return this.x=(o[0]*e+o[4]*t+o[8]*i+o[12])*n,this.y=(o[1]*e+o[5]*t+o[9]*i+o[13])*n,this.z=(o[2]*e+o[6]*t+o[10]*i+o[14])*n,this},applyQuaternion:function(A){var e=this.x,t=this.y,i=this.z,o=A.x,n=A.y,r=A.z,a=A.w,s=a*e+n*i-r*t,l=a*t+r*e-o*i,c=a*i+o*t-n*e,h=-o*e-n*t-r*i;return this.x=s*a+h*-o+l*-r-c*-n,this.y=l*a+h*-n+c*-o-s*-r,this.z=c*a+h*-r+s*-n-l*-o,this},project:function(A){return this.applyMatrix4(A.matrixWorldInverse).applyMatrix4(A.projectionMatrix)},unproject:function(A){return this.applyMatrix4(A.projectionMatrixInverse).applyMatrix4(A.matrixWorld)},transformDirection:function(A){var e=this.x,t=this.y,i=this.z,o=A.elements;return this.x=o[0]*e+o[4]*t+o[8]*i,this.y=o[1]*e+o[5]*t+o[9]*i,this.z=o[2]*e+o[6]*t+o[10]*i,this.normalize()},divide:function(A){return this.x/=A.x,this.y/=A.y,this.z/=A.z,this},divideScalar:function(A){return this.multiplyScalar(1/A)},min:function(A){return this.x=Math.min(this.x,A.x),this.y=Math.min(this.y,A.y),this.z=Math.min(this.z,A.z),this},max:function(A){return this.x=Math.max(this.x,A.x),this.y=Math.max(this.y,A.y),this.z=Math.max(this.z,A.z),this},clamp:function(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this.z=Math.max(A.z,Math.min(e.z,this.z)),this},clampScalar:function(A,e){return this.x=Math.max(A,Math.min(e,this.x)),this.y=Math.max(A,Math.min(e,this.y)),this.z=Math.max(A,Math.min(e,this.z)),this},clampLength:function(A,e){var t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))},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=0>this.x?Math.ceil(this.x):Math.floor(this.x),this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y),this.z=0>this.z?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(A){return this.x*A.x+this.y*A.y+this.z*A.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(A){return this.normalize().multiplyScalar(A)},lerp:function(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this.z+=(A.z-this.z)*e,this},lerpVectors:function(A,e,t){return this.subVectors(e,A).multiplyScalar(t).add(A)},cross:function(A,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(A,e)):this.crossVectors(this,A)},crossVectors:function(A,e){var t=A.x,i=A.y,o=A.z,n=e.x,r=e.y,a=e.z;return this.x=i*a-o*r,this.y=o*n-t*a,this.z=t*r-i*n,this},projectOnVector:function(A){var e=A.dot(this)/A.lengthSq();return this.copy(A).multiplyScalar(e)},projectOnPlane:(wc=new $c,function(A){return wc.copy(this).projectOnVector(A),this.sub(wc)}),reflect:function(){var A=new $c;return function(e){return this.sub(A.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(A){var e=this.dot(A)/Math.sqrt(this.lengthSq()*A.lengthSq());return Math.acos(Xc.clamp(e,-1,1))},distanceTo:function(A){return Math.sqrt(this.distanceToSquared(A))},distanceToSquared:function(A){var e=this.x-A.x,t=this.y-A.y,i=this.z-A.z;return e*e+t*t+i*i},manhattanDistanceTo:function(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)+Math.abs(this.z-A.z)},setFromSpherical:function(A){return this.setFromSphericalCoords(A.radius,A.phi,A.theta)},setFromSphericalCoords:function(A,e,t){var i=Math.sin(e)*A;return this.x=i*Math.sin(t),this.y=Math.cos(e)*A,this.z=i*Math.cos(t),this},setFromCylindrical:function(A){return this.setFromCylindricalCoords(A.radius,A.theta,A.y)},setFromCylindricalCoords:function(A,e,t){return this.x=A*Math.sin(e),this.y=t,this.z=A*Math.cos(e),this},setFromMatrixPosition:function(A){var e=A.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this},setFromMatrixScale:function(A){var e=this.setFromMatrixColumn(A,0).length(),t=this.setFromMatrixColumn(A,1).length(),i=this.setFromMatrixColumn(A,2).length();return this.x=e,this.y=t,this.z=i,this},setFromMatrixColumn:function(A,e){return this.fromArray(A.elements,4*e)},equals:function(A){return A.x===this.x&&A.y===this.y&&A.z===this.z},fromArray:function(A,e){return void 0===e&&(e=0),this.x=A[e],this.y=A[e+1],this.z=A[e+2],this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this.x,A[e+1]=this.y,A[e+2]=this.z,A},fromBufferAttribute:function(A,e,t){return void 0!==t&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=A.getX(e),this.y=A.getY(e),this.z=A.getZ(e),this}});var Ah=[new $c,new $c,new $c,new $c,new $c,new $c,new $c,new $c],eh=new $c,th=new $c,ih=new $c,oh=new $c,nh=new $c,rh=new $c,ah=new $c,sh=new $c,lh=new $c,ch=new $c,hh=new $c;function dh(A,e,t,i,o){var n,r=0;for(r=0,n=A.length-3;n>=r;r+=3){hh.fromArray(A,r);var a=o.x*Math.abs(hh.x)+o.y*Math.abs(hh.y)+o.z*Math.abs(hh.z),s=e.dot(hh),l=t.dot(hh),c=i.dot(hh);if(Math.max(-Math.max(s,l,c),Math.min(s,l,c))>a)return!1}return!0}function ph(A,e){this.min=void 0!==A?A:new $c(1/0,1/0,1/0),this.max=void 0!==e?e:new $c(-1/0,-1/0,-1/0)}var gh=new ph;Object.assign(ph.prototype,{isBox3:!0,set:function(A,e){return this.min.copy(A),this.max.copy(e),this},setFromArray:function(A){for(var e=1/0,t=1/0,i=1/0,o=-1/0,n=-1/0,r=-1/0,a=0,s=A.length;s>a;a+=3){var l=A[a],c=A[a+1],h=A[a+2];e>l&&(e=l),t>c&&(t=c),i>h&&(i=h),l>o&&(o=l),c>n&&(n=c),h>r&&(r=h)}return this.min.set(e,t,i),this.max.set(o,n,r),this},toArray:function(A){return void 0===A&&(A=[]),this.min.toArray(A),this.max.toArray(A,3),A},setFromBufferAttribute:function(A){for(var e=1/0,t=1/0,i=1/0,o=-1/0,n=-1/0,r=-1/0,a=0,s=A.count;s>a;a+=1){var l=A.getX(a),c=A.getY(a),h=A.getZ(a);e>l&&(e=l),t>c&&(t=c),i>h&&(i=h),l>o&&(o=l),c>n&&(n=c),h>r&&(r=h)}return this.min.set(e,t,i),this.max.set(o,n,r),this},setFromPoints:function(A){this.makeEmpty();for(var e=0,t=A.length;t>e;e+=1)this.expandByPoint(A[e]);return this},setFromCenterAndSize:function(A,e){var t=eh.copy(e).multiplyScalar(.5);return this.min.copy(A).sub(t),this.max.copy(A).add(t),this},setFromObject:function(A){return this.makeEmpty(),this.expandByObject(A)},clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.min.copy(A.min),this.max.copy(A.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.min.x>this.max.x||this.min.y>this.max.y||this.min.z>this.max.z},getCenter:function(A){return void 0===A&&(console.warn("THREE.Box3: .getCenter() target is now required"),A=new $c),this.isEmpty()?A.set(0,0,0):A.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(A){return void 0===A&&(console.warn("THREE.Box3: .getSize() target is now required"),A=new $c),this.isEmpty()?A.set(0,0,0):A.subVectors(this.max,this.min)},expandByPoint:function(A){return this.min.min(A),this.max.max(A),this},expandByVector:function(A){return this.min.sub(A),this.max.add(A),this},expandByScalar:function(A){return this.min.addScalar(-A),this.max.addScalar(A),this},expandByObject:function(A){A.updateWorldMatrix(!1,!1);var e=A.geometry;void 0!==e&&(null===e.boundingBox&&e.computeBoundingBox(),gh.copy(e.boundingBox),gh.applyMatrix4(A.matrixWorld),this.union(gh));for(var t=A.children,i=0,o=t.length;o>i;i+=1)this.expandByObject(t[i]);return this},containsPoint:function(A){return!(this.min.x>A.x||A.x>this.max.x||this.min.y>A.y||A.y>this.max.y||this.min.z>A.z||A.z>this.max.z)},containsBox:function(A){return!(this.min.x>A.min.x||A.max.x>this.max.x||this.min.y>A.min.y||A.max.y>this.max.y||this.min.z>A.min.z||A.max.z>this.max.z)},getParameter:function(A,e){return void 0===e&&(console.warn("THREE.Box3: .getParameter() target is now required"),e=new $c),e.set((A.x-this.min.x)/(this.max.x-this.min.x),(A.y-this.min.y)/(this.max.y-this.min.y),(A.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(A){return!(this.min.x>A.max.x||A.min.x>this.max.x||this.min.y>A.max.y||A.min.y>this.max.y||this.min.z>A.max.z||A.min.z>this.max.z)},intersectsSphere:function(A){return this.clampPoint(A.center,eh),eh.distanceToSquared(A.center)<=A.radius*A.radius},intersectsPlane:function(A){var e=null,t=null;return A.normal.x>0?(e=A.normal.x*this.min.x,t=A.normal.x*this.max.x):(e=A.normal.x*this.max.x,t=A.normal.x*this.min.x),A.normal.y>0?(e+=A.normal.y*this.min.y,t+=A.normal.y*this.max.y):(e+=A.normal.y*this.max.y,t+=A.normal.y*this.min.y),A.normal.z>0?(e+=A.normal.z*this.min.z,t+=A.normal.z*this.max.z):(e+=A.normal.z*this.max.z,t+=A.normal.z*this.min.z),-A.constant>=e&&t>=-A.constant},intersectsTriangle:function(A){if(this.isEmpty())return!1;this.getCenter(sh),lh.subVectors(this.max,sh),th.subVectors(A.a,sh),ih.subVectors(A.b,sh),oh.subVectors(A.c,sh),nh.subVectors(ih,th),rh.subVectors(oh,ih),ah.subVectors(th,oh);var e=[0,-nh.z,nh.y,0,-rh.z,rh.y,0,-ah.z,ah.y,nh.z,0,-nh.x,rh.z,0,-rh.x,ah.z,0,-ah.x,-nh.y,nh.x,0,-rh.y,rh.x,0,-ah.y,ah.x,0];return!!dh(e,th,ih,oh,lh)&&(!!dh(e=[1,0,0,0,1,0,0,0,1],th,ih,oh,lh)&&(ch.crossVectors(nh,rh),dh(e=[ch.x,ch.y,ch.z],th,ih,oh,lh)))},clampPoint:function(A,e){return void 0===e&&(console.warn("THREE.Box3: .clampPoint() target is now required"),e=new $c),e.copy(A).clamp(this.min,this.max)},distanceToPoint:function(A){return eh.copy(A).clamp(this.min,this.max).sub(A).length()},getBoundingSphere:function(A){return void 0===A&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(A.center),A.radius=.5*this.getSize(eh).length(),A},intersect:function(A){return this.min.max(A.min),this.max.min(A.max),this.isEmpty()&&this.makeEmpty(),this},union:function(A){return this.min.min(A.min),this.max.max(A.max),this},applyMatrix4:function(A){return this.isEmpty()||(Ah[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(A),Ah[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(A),Ah[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(A),Ah[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(A),Ah[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(A),Ah[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(A),Ah[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(A),Ah[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(A),this.setFromPoints(Ah)),this},translate:function(A){return this.min.add(A),this.max.add(A),this},equals:function(A){return A.min.equals(this.min)&&A.max.equals(this.max)}});var uh={MinusEpsilon:-1e-6,byteArr2Int:function(A){return(255&A[0])<<24|(255&A[1])<<16|(255&A[2])<<8|(255&A[3])<<0},int2ByteArr:function(A){var e=[];return e[0]=A>>24,e[1]=A>>16,e[2]=A>>8,e[3]=A>>0,e},isPlainObject:function(A){var e,t;return!(!A||"[object Object]"!==Object.prototype.toString.call(A))&&(!(e=Object.getPrototypeOf(A))||"function"==typeof(t=Object.hasOwnProperty.call(e,"constructor")&&e.constructor)&&Object.hasOwnProperty.toString.call(t)===Object.hasOwnProperty.toString.call(Object))},extend:function(){var A=null,e=null,t=null,i=null,o=null,n=null,r=arguments[0]||{},a=1,s=arguments.length,l=!1;for("boolean"==typeof r&&(l=r,r=arguments[a]||{},a+=1),"object"!==lc(r)&&"function"===!lc(r)&&(r={}),a===s&&(r=this,a-=1);s>a;a+=1)if(null!==(A=arguments[a])&&void 0!==(A=arguments[a]))for(e in A)t=r[e],r!==(i=A[e])&&(l&&i&&(uh.isPlainObject(i)||(o=Array.isArray(i)))?(o?(o=!1,n=t&&Array.isArray(t)?t:[]):n=t&&uh.isPlainObject(t)?t:{},r[e]=uh.extend(l,n,i)):null!=i&&(r[e]=i));return r},supportWorker:function(){return"undefined"!=typeof Worker||(console.log("Web Worker is not supported."),!1)},box3FromArray:function(A,e){if(Array.isArray(A)){var t=e||new ph;return t.min.fromArray(A,0),t.max.fromArray(A,3),t}return null},box3FromArrayRange:function(A,e,t){for(var i=new ph,o=Number(1/0),n=Number(1/0),r=Number(1/0),a=-1/0,s=-1/0,l=-1/0,c=e,h=t;h>c;c+=3){var d=A[c],p=A[c+1],g=A[c+2];o>d&&(o=d),n>p&&(n=p),r>g&&(r=g),d>a&&(a=d),p>s&&(s=p),g>l&&(l=g)}return i.min.set(o,n,r),i.max.set(a,s,l),i},box3FromObject:function(A,e,t){if(void 0!==A&&void 0!==e&&void 0!==A.x&&void 0!==A.y&&void 0!==A.z&&void 0!==e.x&&void 0!==e.y&&void 0!==e.z){var i=t||new ph;return i.min.set(A.x,A.y,A.z),i.max.set(e.x,e.y,e.z),i}return null},computeBBox:function(A){for(var e=new ph,t=new $c,i=0,o=A.length;o>i;i+=1)t.fromArray(A[i],0),e.expandByPoint(t);return e},mergeBBox:function(A){if(1>A.length)return null;for(var e=new ph,t=new $c,i=new $c,o=new ph,n=0,r=A.length;r>n;n+=1)t.set(A[n].max.x,A[n].max.y,A[n].max.z),i.set(A[n].min.x,A[n].min.y,A[n].min.z),o.set(i,t),e.union(o);return e},parseTransform:function(A,e,t){var i=!1;if(e.rotation&&(A.rotation.fromArray(e.rotation),i=!0),e.position&&(A.position.fromArray(e.position),i=!0),e.scale&&(A.scale.fromArray(e.scale),i=!0),e.quaternion&&(A.quaternion.fromArray(e.quaternion),i=!0),i&&A.updateMatrix(),e.matrix&&A.matrix.fromArray(e.matrix),t){var o=A.matrix.clone();o.multiplyMatrices(t,A.matrix),A.matrix=o}A.matrixAutoUpdate=!1,void 0!==A.boundingBox&&(A.boundingBox=uh.box3FromArray(e.bbox))},isEmptyObject:function(A){if(!A)return!0;if(A.length>0)return!1;if(0===A.length)return!0;for(var e in A)if(A.hasOwnProperty(e))return!1;return!0},isEmptyObjectSimple:function(A){for(var e in A)return!1;return!0},isOwnEmptyObject:function(A){for(var e in A)if(A.hasOwnProperty(e))return!1;return!0},hexStrToRgb:function(A){var e=A.replace("#",""),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16)/255,g:parseInt(t[2],16)/255,b:parseInt(t[3],16)/255}:null},hexToRgb:function(A){var e={};return e.r=(A>>16&255)/255,e.g=(A>>8&255)/255,e.b=(255&A)/255,e},getMin:function(A){for(var e=A.length,t=1/0;(e-=1)>=0;)t=t>A[e]?A[e]:t;return t},getMax:function(A){for(var e=A.length,t=-1/0;(e-=1)>=0;)t=A[e]>t?A[e]:t;return t},findRange:function(A,e){if(e<Math.min.apply(null,A))return 0;if(e>Math.max.apply(null,A))return A.length-1;for(var t=0,i=0,o=A.length;o>i;i+=1)if(A[i]>e){t=i-1;break}return t},stringToByte:function(A){for(var e=[],t=A.length,i=null,o=0;t>o;o+=1)65536>(i=A.charCodeAt(o))||i>1114111?2048>i||i>65535?128>i||i>2047?e.push(255&i):(e.push(i>>6&31|192),e.push(63&i|128)):(e.push(i>>12&15|224),e.push(i>>6&63|128),e.push(63&i|128)):(e.push(i>>18&7|240),e.push(i>>12&63|128),e.push(i>>6&63|128),e.push(63&i|128));return e},byteToString:function(A){if("string"==typeof A)return A;for(var e="",t=A,i=0;t.length>i;i+=1){var o=t[i].toString(2),n=o.match(/^1+?(?=0)/);if(n&&8===o.length){for(var r=n[0].length,a=t[i].toString(2).slice(7-r),s=1;r>s;s+=1)a+=t[s+i].toString(2).slice(2);e+=String.fromCharCode(parseInt(a,2)),i+=r-1}else e+=String.fromCharCode(t[i])}return e},strToBinary:function(A){for(var e=[],t=A.split(""),i=0;t.length>i;i+=1){0!==i&&e.push(" ");var o=t[i].charCodeAt().toString(2);e.push(o)}return e.join("")},binaryToStr:function(A){for(var e=[],t=A.split(" "),i=0;t.length>i;i+=1){var o=parseInt(t[i],2),n=String.fromCharCode(o);e.push(n)}return e.join("")},isMirror:function(A){var e=new $c(A[0],A[1],A[2]),t=new $c(A[4],A[5],A[6]),i=new $c(A[8],A[9],A[10]);return 0>(new $c).crossVectors(e,t).dot(i)},decodeUTF8:function(A){for(var e="",t=0;A.length>t;t+=1)e+=String.fromCharCode(A[t]);return decodeURIComponent(escape(e))},unique:function(A){for(var e,t=[],i={},o=0;null!==(e=A[o])&&void 0!==(e=A[o]);o+=1)i[e]||(t.push(e),i[e]=!0);return i=null,t},getValue:function(A,e){var t=e.split("."),i=A;return t.map((function(A,e){i=i[A]})),i},sortByName:function(A,e,t){t=t||"asc";var i=!1;e?e.indexOf(".")>-1&&(i=!0):e="name",A=A.sort((function(A,o){if(i){var n=uh.getValue(A,e),r=uh.getValue(o,e);return"asc"===t?n.localeCompare(r):r.localeCompare(n)}return"asc"===t?A[e].localeCompare(o[e]):o[e].localeCompare(A[e])}));var o=[],n=[],r=[],a=[];return A.map((function(A,t){var s=null;s=i?uh.getValue(A,e):A[e],/^[a-zA-Z]*$/.test(s.slice(0,1))?o.push(A):/^[\u4e00-\u9fa5]*$/.test(s.slice(0,1))?n.push(A):/^\d+(\.\d+)?$/.test(s.slice(0,1))?r.push(A):a.push(A)})),a.concat(r,o,n)},PointToLineDistance:function(A,e,t,i,o,n){var r=void 0,a=void 0,s=void 0,l=void 0,c=Math.sqrt((t-A)*(t-A)+(i-e)*(i-e));if(0===c)return[0,{x:t,y:i}];var h=Math.sqrt((o-A)*(o-A)+(n-e)*(n-e));if(0===h)return[0,{x:o,y:n}];var d=Math.sqrt((t-o)*(t-o)+(i-n)*(i-n));if(0===d)return[c,{x:t,y:i}];if(h>c){if(i===n?r=o>t?0:Math.PI:((l=(o-t)/d)-1>1e-5&&(l=1),r=Math.acos(l),i>n&&(r=2*Math.PI-r)),(l=(A-t)/c)-1>1e-5&&(l=1),a=Math.acos(l),i>e&&(a=2*Math.PI-a),0>(s=a-r)&&(s=-s),s>Math.PI&&(s=2*Math.PI-s),s>Math.PI/2)return[c,{x:t,y:i}];if(t===o)return[h*Math.sin(s),{x:t,y:e}];if(i===n)return[h*Math.sin(s),{x:A,y:i}];var p,g,u=(n-i)/o-t,f=-1/u,m=e-A*f;return g=f*(p=(n-o*u-m)/(f-u))+m,[c*Math.sin(s),{x:p,y:g}]}if(i===n?r=o>t?Math.PI:0:((l=(t-o)/d)-1>1e-5&&(l=1),r=Math.acos(l),n>i&&(r=2*Math.PI-r)),(l=(A-o)/h)-1>1e-5&&(l=1),a=Math.acos(l),n>e&&(a=2*Math.PI-a),0>(s=a-r)&&(s=-s),s>Math.PI&&(s=2*Math.PI-s),s>Math.PI/2)return[h,{x:o,y:n}];if(t===o)return[h*Math.sin(s),{x:t,y:e}];if(i===n)return[h*Math.sin(s),{x:A,y:i}];var C,y,v=(n-i)/o-t,I=-1/v,E=e-A*I;return y=I*(C=(n-o*v-E)/(I-v))+E,[h*Math.sin(s),{x:C,y:y}]},freezeObject:function(A){return Object.freeze?Object.freeze(A):A},getEncodedId:function(A){return A},arrayToMap:function(A,e){e=e||{};for(var t=0,i=A.length;i>t;t+=1)e[A[t]]=!0;return e},getDifferentialIdxs:function(A,e){var t=null,i={},o={},n={};if(e)if(this.isEmptyObject(A))o=e;else{for(t in e)A[t]&&(n[t]=!0);if(this.isEmptyObject(n))i=A,o=e;else{for(t in e)n[t]||(o[t]=!0);for(t in A)n[t]||(i[t]=!0)}}else this.isEmptyObject(A)||(i=A);return{objCurrUsedIdxs:A,addIdxs:Object.keys(i),removeIdxs:Object.keys(o)}},getCombinedKeyString:function(A,e){return A.join(e=e||"&")},splitCombinedKeyString:function(A,e){return A.split(e=e||"&")},getModelKeyFromComponentKey:function(A){return A.split("_")[0]},isGroupObject:function(A){return!(!A.children||!A.children.length)},isMeshObject:function(A){return!!(A.isMesh||A.isLine||A.isPoints)},asyncProcess:function(A,e,t,i,o){requestAnimationFrame(function n(r){var a=r;return function(){var r=null,s=null;for(s=a+t>e?e:a+t,r=a;s>r;r+=1){i&&i(A,r),r===s-1&&(s!==e?requestAnimationFrame(n(r+1)):o&&o(A))}}}(0))},hasSimilarProperty:function(A,e){if(!(A instanceof Object&&e instanceof Object))return!1;for(var t in A)if(A.hasOwnProperty(t)&&!e.hasOwnProperty(t))return!1;return!0},equalsWithEpsilon:function(A,e){var t=Math.abs(A.x-e.x),i=Math.abs(A.y-e.y),o=Math.abs(A.z-e.z);return 1e-7>=t&&1e-7>=i&&1e-7>=o},arrayMax:function(A){if(0===A.length)return-1/0;for(var e=A[0],t=1,i=A.length;i>t;t+=1)A[t]>e&&(e=A[t]);return e},arrayMin:function(A){if(0===A.length)return 1/0;for(var e=A[0],t=1,i=A.length;i>t;t+=1)e>A[t]&&(e=A[t]);return e},ab2str:function(A){return(new TextDecoder).decode(new Uint8Array(A))},str2ab:function(A){return(new TextEncoder).encode(A).buffer}};uh.createUUID=function(){for(var A=[],e=0;36>e;e+=1)A[e]="0123456789abcdef".substr(Math.floor(16*Math.random()),1);return A[14]="4",A[19]="0123456789abcdef".substr(3&A[19]|8,1),A[8]=A[13]=A[18]=A[23]="-",A.join("")};var fh={"zh-cn":{YourGraphicsCardDoesNotSeemToSupportWebGL:"您的显卡似乎不支持WebGL",YourBrowserDoesNotSeemToSupportWebGL:"您的浏览器似乎不支持WebGL",FindOutHowToGetItHere:"您可以在这里查看相关信息",SectionBoxLockHint:"请在使用此方法之前调用enableSectionBox。",APIAxisLockHint:"The API supports AxisOption.Z only for now."},en:{YourGraphicsCardDoesNotSeemToSupportWebGL:"Your graphics card does not seem to support WebGL",YourBrowserDoesNotSeemToSupportWebGL:"Your browser does not seem to support WebGL",FindOutHowToGetItHere:"Find out how to get it here",SectionBoxLockHint:"Please call enableSectionBox before using this method.",APIAxisLockHint:"The API supports AxisOption.Z only for now."}},mh={getAndroidVersion:function(A){var e=(A=A||navigator.userAgent).match(/Android\s([0-9.]*)/);return!!e&&e[1]},isTouchDevice:function(){return"undefined"!=typeof window&&"ontouchstart"in window},isBrowser:function(){return"undefined"!=typeof navigator},isIE11:function(){return mh.isBrowser()&&Boolean(navigator.userAgent.match(/Edge|Trident\/7\./))},isIOSDevice:function(){return!!mh.isBrowser()&&/ip(ad|hone|od)/.test(navigator.userAgent.toLowerCase())},isAndroidDevice:function(){return!!mh.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("android")},isMobileDevice:function(){return!!mh.isBrowser()&&(mh.isIOSDevice()||mh.isAndroidDevice())},isSafari:function(){if(!mh.isBrowser())return!1;var A=navigator.userAgent.toLowerCase();return-1!==A.indexOf("safari")&&-1===A.indexOf("chrome")},isFirefox:function(){return!!mh.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("firefox")},isChrome:function(){return!!mh.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("chrome")},isMac:function(){return!!mh.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("mac os")},isLinux:function(){return!!mh.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("linux x86_64")},isWindows:function(){if(!mh.isBrowser())return!1;var A=navigator.userAgent.toLowerCase();return-1!==A.indexOf("win32")||-1!==A.indexOf("windows")},isWindowsPhone:function(){var A=navigator.userAgent.toLowerCase();return/(?:Windows Phone)/.test(A)},isSymbian:function(){var A=navigator.userAgent.toLowerCase();return/(?:SymbianOS)/.test(A)||mh.isWindowsPhone()},isTablet:function(){var A=navigator.userAgent.toLowerCase();return/(?:iPad|PlayBook)/.test(A)||mh.isAndroidDevice()&&!/(?:Mobile)/.test(A)||mh.isFirefox()&&/(?:Tablet)/.test(A)},isPc:function(){return!mh.isMobileDevice()&&!mh.isTablet()&&!mh.isSymbian()},isOpera:function(){return navigator.userAgent.indexOf("Opera")>-1}};mh.isSafari();mh.detectWebGL=function(){if(window.WebGLRenderingContext){for(var A=document.createElement("canvas"),e=["webgl","experimental-webgl"],t=!1,i=0;e.length>i;i+=1)try{if((t=A.getContext(e[i]))&&"function"==typeof t.getParameter)return 1}catch(A){}return 0}return-1},mh.detectWebGL2=function(){if(window.WebGL2RenderingContext){for(var A=document.createElement("canvas"),e=["webgl2"],t=!1,i=0;e.length>i;i+=1)try{if((t=A.getContext(e[i]))&&"function"==typeof t.getParameter)return 1}catch(A){}return 0}return-1},mh.showWebGLMessage=function(A,e,t){var i,o=null,n=null;o=void 0!==(t=t||{}).parent?t.parent:document.body,i=void 0!==t.id?t.id:"oldie",(n=mh.getWebGLErrorMessage(A,e)).id=i,o.appendChild(n)},mh.language=function(){return(navigator.browserLanguage||navigator.language).toLowerCase()},mh.getWebGLErrorMessage=function(A,e){var t=document.createElement("div");t.id="webgl-error-message",t.style.fontSize="16px",t.style.fontWeight="normal",t.style.textAlign="center",t.style.background="#f4c8c8",t.style.color="#000",t.style.padding="1.5em",t.style.width="400px",t.style.position="absolute",t.style.left=document.body.clientWidth/2-224+"px";var i=document.body.clientHeight/2-45;return 0>i&&(i=0),t.style.top=i+"px",e||(e="zh-cn"),0===A?t.innerHTML=[' <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">'+fh[e].YourGraphicsCardDoesNotSeemToSupportWebGL+"</a>.<br />",' <a href="http://get.webgl.org/" style="color:#000">'+fh[e].FindOutHowToGetItHere+"</a>."].join("\n"):-1===A&&(t.innerHTML=['<a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">'+fh[e].YourBrowserDoesNotSeemToSupportWebGL+"</a>.<br/>",'<a href="http://get.webgl.org/" style="color:#000">'+fh[e].FindOutHowToGetItHere+"</a>."].join("\n")),t},mh.isSupportIndexedDB=function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},mh.isSupportWorker=function(){return window.Worker};var Ch={DEBUG:6,PERFORMANCE:5,LOG:4,INFO:3,WARNING:2,ERROR:1,NONE:0},yh={},vh=function(A){yh[A]?console.warn("Timer '"+A+"' already exists"):yh[A]=Date.now()},Ih=function(A){yh[A]?(console.warn(A+":",Date.now()-yh[A],"ms"),delete yh[A]):console.warn("Timer '"+A+"' does not exist")};function Eh(){this.level=-1,this.setLevel(Ch.LOG)}Eh.prototype.setLevel=function(A){if(this.level!==A){this.level=A;var e=function(){},t=Ch,i=this;this.debug=t.DEBUG>A?e:console.debug.bind(console),this.trace=t.DEBUG>A?e:console.trace.bind(console),this.assert=t.DEBUG>A?e:console.assert.bind(console),this.count=t.DEBUG>A?e:console.count.bind(console),this.dir=t.DEBUG>A?e:console.dir.bind(console),this.time=t.PERFORMANCE>A?e:vh,this.timeEnd=t.PERFORMANCE>A?e:Ih,this.log=t.LOG>A?e:console.log.bind(console),this.info=t.INFO>A?e:console.info.bind(console),this.warn=t.WARNING>A?e:console.warn.bind(console),this.error=t.ERROR>A?e:function(){if(i.callback){var A=Array.prototype.slice.call(arguments).join(" ");i.callback({category:"error",message:A},{adp:!1})}console.error.apply(console,arguments)}}};var Bh=new Eh,xh={splitStr:function(A){return A.trim().split(/\s+/g)},getClientHeight:function(){return document.body.clientHeight&&document.documentElement.clientHeight?document.body.clientHeight<document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight:document.body.clientHeight>document.documentElement.clientHeight?document.body.clientHeight:document.documentElement.clientHeight},getClientWidth:function(){return document.body.clientWidth&&document.documentElement.clientWidth?document.body.clientWidth<document.documentElement.clientWidth?document.body.clientWidth:document.documentElement.clientWidth:document.body.clientWidth>document.documentElement.clientWidth?document.body.clientWidth:document.documentElement.clientWidth},getDomOffsetToClient:function(A){var e,t=null;if(A!==document){var i=(e=A).getBoundingClientRect?function(A){var e=A.getBoundingClientRect(),t=document.body,i=document.documentElement,o=e.left-(i.clientLeft||t.clientLeft);return{top:Math.round(e.top-(i.clientTop||t.clientTop)),left:Math.round(o)}}(e):function(A){for(var e=0,t=0;A;)e+=A.offsetTop,t+=A.offsetLeft,A=A.offsetParent;var i=document.body,o=document.documentElement;return{top:e-=window.pageYOffset||o.scrollTop||i.scrollTop,left:t-=window.pageXOffset||o.scrollLeft||i.scrollLeft}}(e);t={width:A.offsetWidth,height:A.offsetHeight,left:i.left,top:i.top}}else t={width:window.innerWidth,height:window.innerHeight,left:0,top:0};return t},setClassName:function(A,e){var t=document.getElementById(A);t&&(t.className=e)},addClassName:function(A,e){var t=null,i=null,o=null,n=null,r=null,a=document.getElementById(A);if(a&&(i=a,e&&"string"==typeof e&&(t=e.split(/\s+/),1===i.nodeType)))if(i.className||1!==t.length){for(o=" "+i.className+" ",n=0,r=t.length;r>n;n+=1)0>o.indexOf(" "+t[n]+" ")&&(o+=t[0]+" ");i.className=String.trim(o)}else i.className=e},removeClassName:function(A,e){var t=null,i=null,o=null,n=null,r=null,a=document.getElementById(A);if(a&&(o=a,e&&"string"==typeof e&&(t=(e||"").split(/\s+/),1===o.nodeType&&o.className))){for(i=(" "+o.className+" ").replace(0," "),n=0,r=t.length;r>n;n+=1)for(;i.indexOf(" "+t[n]+" ")>=0;)i=i.replace(" "+t[n]+" "," ");o.className=e?String.trim(i):""}},showOrHideElement:function(A,e){var t=document.getElementById(A);t&&(t.style.display=e?"":"none")},getStyleString:function(A){var e=[];for(var t in A){var i=A[t];e.push(t),e.push(":"),e.push(i),e.push("; ")}return e.join("")},cloneStyle:function(A){var e={};for(var t in A)e[t]=A[t];return e},removeStyleAttribute:function(A,e){Array.isArray(e)||(e=[e]),e.forEach((function(e){e in A&&delete A[e]}))},trimRight:function(A){if(0===A.length)return"";for(var e=A.length-1,t=e;t>=0;t-=1)if(" "!==A.charAt(t)){e=t;break}return A.substr(0,e+1)},trimLeft:function(A){if(0===A.length)return"";for(var e=0,t=0;A.length>t;t+=1)if(" "!==A.charAt(t)){e=t;break}return A.substr(e)},trim:function(A){return A.replace(/(^\s*)|(\s*$)/g,"")},matchesSelector:function(A,e){if(A.matches)return A.matches(e);if(A.matchesSelector)return A.matchesSelector(e);if(A.webkitMatchesSelector)return A.webkitMatchesSelector(e);if(A.msMatchesSelector)return A.msMatchesSelector(e);if(A.mozMatchesSelector)return A.mozMatchesSelector(e);if(A.oMatchesSelector)return A.oMatchesSelector(e);if(A.querySelectorAll){for(var t=(A.document||A.ownerDocument).querySelectorAll(e),i=0;t[i]&&void 0!==t[i];)i+=1;return!!t[i]}return!1},toTranslate3d:function(A,e){return"translate3d("+A+"px,"+e+"px,0)"},setCursorStyle:function(A,e){var t=null;switch(e){case"n":case"s":t="ns-resize";break;case"w":case"e":t="ew-resize";break;case"ne":case"sw":t="nesw-resize";break;case"nw":case"se":t="nwse-resize"}A.style.cursor=t},css:function(A,e){for(var t=A.getAttribute("style")||"",i=Object.keys(e),o=t.split(";"),n=[],r=0,a=o.length;a>r;r+=1){""!==(s=o[r])?n.push(s.replace(/:.+/,"")):o.splice(r,1)}for(r=0,a=i.length;a>r;r+=1){var s=i[r],l=-1;o.map((function(A,e){return A.indexOf(s)>-1&&(l=e),null})),l>-1?o[l]=s+":"+e[s]:o.push(s+":"+e[s])}var c=o.join(";");A.setAttribute("style",c+";")},append:function(A,e){if("string"==typeof e){var t=document.createElement("div");t.innerHTML=e;for(var i=document.createDocumentFragment();t.firstChild;)i.appendChild(t.firstChild);A.appendChild(i)}else A.appendChild(e)},scrollTop:function(A,e){var t=A.scrollTop;if(t>e)var i=setInterval((function(){var t=A.scrollTop,o=Math.floor(-t/6);A.scrollTop=t=o+t,A.scrollTop>e||(A.scrollTop=A.scrollTop=e,clearTimeout(i))}),20);else if(0===t)var o=setInterval((function(){var i=A.scrollTop,n=Math.floor(70);A.scrollTop=i=n+i,t>A.scrollTop&&(A.scrollTop=e,clearTimeout(o))}),20);else if(e>t)var n=setInterval((function(){var i=A.scrollTop,o=Math.floor(i/6);A.scrollTop=i=o+i,t>A.scrollTop&&(A.scrollTop=e,clearTimeout(n))}),20);else if(e===t)return!1},closest:function(A,e){if(!A)return null;for(var t=A.matches||A.webkitMatchesSelector||A.mozMatchesSelector||A.msMatchesSelector;A&&!t.call(A,e);)A=A.parentElement;return A},addEventListener:function(A,e,t){if(A)if(A.length)for(var i=0;A.length>i;i+=1)A[i].addEventListener(e,(function(A){t&&"function"==typeof t&&t(A)}));else A.addEventListener(e,(function(A){t&&"function"==typeof t&&t(A)}))},remove:function(A){if(A)if(A.removeNode=[],void 0!==A.length){for(var e=A.length,t=0;e>t;t+=1)A.removeNode.push({parent:A[t].parentNode,inner:A[t].outerHTML,next:A[t].nextSibling});for(t=0;e>t;t+=1)A[0].parentNode.removeChild(A[0])}else A.removeNode.push({parent:A.parentNode,inner:A.outerHTML,next:A.nextSibling}),A.parentNode.removeChild(A)},getStyleValue:function(A,e){var t=A.ownerDocument.defaultView;return t&&t.opener||(t=window),A.currentStyle?A.currentStyle[e]:t.getComputedStyle(A)[e]},isShow:function(A){return"none"!==this.getStyleValue(A,"display")},getHeight:function(A){if(null!=A){if(this.isShow(A)){if(null!=A.style.height&&A.style.height.length>0)return parseFloat(A.style.height);if(parseFloat(this.getStyleValue(A,"height"))>0)return parseFloat(this.getStyleValue(A,"height"));if(A.offsetHeight>0){var e=this.getStyleValue(A,"borderTopWidth"),t=this.getStyleValue(A,"borderBottomWidth"),i=this.getStyleValue(A,"paddingTop"),o=this.getStyleValue(A,"paddingBottom"),n=parseFloat(A.offsetHeight)-parseFloat(e)-parseFloat(t)-parseFloat(i)-parseFloat(o);return parseFloat(n)}return 0}var r=A.getAttribute("style")||"";A.setAttribute("style",r+"visibility:hidden;display:block !important;");var a=this.getHeight(A);return A.setAttribute("style",r),Math.ceil(a)}},getWidth:function(A){if(null!=A){if(this.isShow(A)){if(null!=A.style.width&&A.style.width.length>0)return parseFloat(A.style.width);if(parseFloat(this.getStyleValue(A,"width"))>0)return parseFloat(this.getStyleValue(A,"width"));if(A.offsetWidth>0){var e=this.getStyleValue(A,"borderLeftWidth"),t=this.getStyleValue(A,"borderRightWidth"),i=this.getStyleValue(A,"paddingLeft"),o=this.getStyleValue(A,"paddingRight"),n=parseFloat(A.offsetWidth)-parseFloat(e)-parseFloat(t)-parseFloat(i)-parseFloat(o);return parseFloat(n)}return 0}var r=A.getAttribute("style")||"";A.setAttribute("style",r+"visibility:hidden;display:inline-block !important;");var a=this.getWidth(A);return A.setAttribute("style",r),Math.ceil(a)}},outerHeight:function(A,e){var t=A.offsetHeight;if(e){var i=A.currentStyle||getComputedStyle(A);t+=parseInt(i.marginTop,0)+parseInt(i.marginBottom,0)}return t},outerWidth:function(A,e){var t=A.offsetWidth;if(e){var i=A.currentStyle||getComputedStyle(A);t+=parseInt(i.marginLeft,0)+parseInt(i.marginRight,0)}return t},isEmptyObject:function(A){var e=null;for(e in A)return!1;return!0},hasClass:function(A,e){if(A){var t=A.className.match&&A.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"));return Boolean(t)}return!1},addClass:function(A,e){A&&(this.hasClass(A,e)||(A.className+=" "+e))},removeClass:function(A,e){if(this.hasClass(A,e)){var t=new RegExp("(\\s|^)"+e+"(\\s|$)");A.className=A.className.replace(t," ")}},toggleClass:function(A,e){this.hasClass(A,e)?this.removeClass(A,e):this.addClass(A,e)},simulateEvent:function(A,e){var t=document.createEvent("Event");t.initEvent(e,!0,!0);A.dispatchEvent(t)},bind:function(A,e,t){A&&(A.addEventListener?A.addEventListener(e,t,!1):A.attachEvent?A.attachEvent("on"+e,t):A["on"+e]=t)},delegate:function(A,e,t,i){if(A)if(A.length)for(var o=0;A.length>o;o+=1)this.delegateFn(A[o],e,t,i);else this.delegateFn(A,e,t,i)},delegateFn:function(A,e,t,i){var o=this;function n(A){var n=(A=A||window.event).target||A.srcElement;o.matchSelector(n,e)&&i&&("mouseenter"===t||"mouseleave"===t?o.fixedMouse(A,n)&&i.call(n,A):i.call(n,A))}t=t.toLowerCase(),A.addEventListener?A.addEventListener("mouseenter"===t?"mouseover":"mouseleave"===t?"mouseout":t,n):A.attachEvent("mouseenter"===t?"onmouseover":"mouseleave"===t?"onmouseout":"on"+t,n)},matchSelector:function(A,e){return"#"===e.charAt(0)?A.id===e.slice(1):"."===e.charAt(0)?-1!==(" "+A.className+" ").indexOf(" "+e.slice(1)+" "):A.tagName.toLowerCase()===e.toLowerCase()},contains:function(A,e){return A.contains?A!==e&&A.contains(e):Boolean(16&A.compareDocumentPosition(e))},fixedMouse:function(A,e){var t=null,i=A.type.toLowerCase();if("mouseover"===i)t=A.relatedTarget||A.fromElement;else{if("mouseout"!==i)return!0;t=A.relatedTarget||A.toElement}return t&&"xul"!==t.prefix&&!this.contains(e,t)&&t!==e},fireEvent:function(A,e){var t=null;if(A.ownerDocument)t=A.ownerDocument;else{if(9!==A.nodeType)throw new Error("Invalid node passed to fireEvent: "+A.id);t=A}if(A.dispatchEvent){var i="";switch(e){case"click":case"mousedown":case"mouseup":i="MouseEvents";break;case"focus":case"change":case"blur":case"select":i="HTMLEvents";break;default:Bh.error("fireEvent: Couldn't find an event class for event '"+e+"'.")}(o=t.createEvent(i)).initEvent(e,"change"!==e,!0),o.synthetic=!0,A.dispatchEvent(o,!0)}else if(A.fireEvent){var o;(o=t.createEventObject()).synthetic=!0,A.fireEvent("on"+e,o)}}};xh.create=function(A,e){var t=document.createElement(A);return t.setAttribute("class",e),t};xh.createNS=function(A,e){var t=document.createElementNS("http://www.w3.org/2000/svg",A);return t.setAttribute("class",e),t};xh.select=function(A){return A.indexof("#")?document.getElementById(A.replace("#","")):A.indexof(".")?document.getElementsByClassName(A.replace(".","")):document.getElementsByTagName(A)};var Sh=function(A){if(""===A)return 0;if("string"==typeof A){if(-1===A.indexOf("px")){var e=Number(A);return isNaN(e)?0:e}var t=A.split("px"),i=Number(t[0]);return isNaN(i)?0:i}return 0};xh.drag=function(A){var e=mh.isPc(),t=Object.assign({element:null,handle:null,axis:"all",cursor:"move",distance:0,start:null,move:null,stop:null},A),i=t.element;if(!i)return!1;var o=t.handle||i,n=void 0,r=!1,a=function(A){if(e)var o={x:A.clientX,y:A.clientY};else o={x:A.touches[0].clientX,y:A.touches[0].clientY};var a={x:o.x-n.x,y:o.y-n.y};r?(t.move&&t.move(n,o,a),n=o,function(A){var e=i.offsetLeft,o=i.offsetTop,n=Sh(getComputedStyle(i).marginLeft),r=Sh(getComputedStyle(i).marginTop),a=0>(e-=n)+A.x?0:e+A.x,s=0>(o-=r)+A.y?0:o+A.y;switch(t.axis){case"x":i.style.left=a+"px";break;case"y":i.style.top=s+"px";break;case"all":default:i.style.left=a+"px",i.style.top=s+"px"}}(a)):r=function(A){return Math.pow(A.x,2)+Math.pow(A.y,2)>Math.pow(t.distance,2)&&(t.start&&t.start(n),!0)}(a)},s=function(A){var i,r,s=A;if(e){if(i=s.button,!((r=navigator.userAgent).indexOf("compatible")>-1&&r.indexOf("MSIE")>-1&&!mh.isOpera()?1===i:0===i))return;n={x:s.clientX,y:s.clientY},document.addEventListener("mousemove",a)}else n={x:s.touches[0].clientX,y:s.touches[0].clientY},o.addEventListener("touchmove",a);t.start&&t.start(n)},l=function(){r&&t.end&&t.end(n),r=!1,document.removeEventListener("mousemove",a),o.removeEventListener("touchmove",a)};e?(o.style.cursor=t.cursor,o.style.userSelect="none",o.addEventListener("mousedown",s),document.addEventListener("mouseup",l)):(o.addEventListener("touchend",l),o.addEventListener("touchstart",s))};xh.sizable=function(A){var e=Object.assign({element:null,axis:"all",minWidth:100,minHeight:100,distance:0,start:null,sizable:null,stop:null},A),t=e.element;if(!t)return!1;var i=void 0,o=!1,n=xh.create("div","yj-resize"),r=void 0,a=void 0,s=function(A){var n={x:A.clientX,y:A.clientY},s={x:n.x-i.x,y:n.y-i.y};o?(e.sizable&&e.sizable(i,n,s),function(A){var i=t.offsetLeft,o=t.offsetTop,n=e.minWidth>r+A.x?e.minWidth:r+A.x,s=e.minHeight>a+A.y?e.minHeight:a+A.y;switch(e.resize&&e.resize(n,s),t.style.left=i+"px",t.style.top=o+"px",e.axis){case"x":t.style.width=n+"px";break;case"y":t.style.height=s+"px";break;case"all":default:t.style.width=n+"px",t.style.height=s+"px"}}(s)):o=function(A){return Math.pow(A.x,2)+Math.pow(A.y,2)>Math.pow(e.distance,2)&&(e.start&&e.start(i),!0)}(s)},l=function(A){r=t.clientWidth,a=t.clientHeight;var e,o,n=A;(e=n.button,(o=navigator.userAgent).indexOf("compatible")>-1&&o.indexOf("MSIE")>-1&&!mh.isOpera()?1===e:0===e)&&(i={x:n.clientX,y:n.clientY},document.addEventListener("mousemove",s),document.addEventListener("touchmove",s))},c=function(){o&&e.end&&e.end(i),o=!1,document.removeEventListener("mousemove",s),document.removeEventListener("touchmove",s)};xh.addClass(t,"yj-sizable"),t.appendChild(n),n.addEventListener("mousedown",l),n.addEventListener("touchstart",l),document.addEventListener("mouseup",c),document.addEventListener("touchend",c)};var wh=function(A){var e=this,t=Object.assign({element:null,min:0,max:100,cur:50,step:1,isShowProgress:!0,input:null,change:null,currentColor:"#11dab7",defaultColor:"#999"},A);this._opt=t;var i=xh.create("div","yj-range"),o=xh.create("input","yj-input-range");e.input=o,o.setAttribute("type","range"),o.setAttribute("step",t.step),o.setAttribute("min",t.min),o.setAttribute("max",t.max),o.setAttribute("value",t.cur);var n=xh.create("span","yj-range-min");n.innerText=t.min;var r=xh.create("span","yj-range-cur");e.cur=r,r.innerText=t.cur;var a=xh.create("span","yj-range-max");a.innerText=t.max;var s=xh.create("span","yj-range-progress");i.appendChild(o),t.isShowProgress&&(i.appendChild(n),i.appendChild(r),i.appendChild(a)),i.appendChild(s),t.element.appendChild(i),e.setProgress(t.cur),o.addEventListener("input",(function(){e.setProgress(this.value),t.input&&t.input(this.value)})),o.addEventListener("change",(function(){e.setProgress(this.value),t.change&&t.change(this.value)}))};wh.prototype.setProgress=function(A){var e=this._opt,t=this.input,i=this.cur,o=(A-e.min)/(e.max-e.min)*100;t.value=A,t.style.background="linear-gradient(to right,"+e.currentColor+" 0%,"+e.currentColor+" "+o+"%,"+e.defaultColor+" "+o+"%, "+e.defaultColor+" 100%)",i.innerText=A},wh.prototype.reset=function(){this.setProgress(this._opt.cur)},xh.range=wh;var Mh=function(A){this._opt=Object.assign({element:null,min:0,max:100,from:null,to:null,step:1,currentColor:"#11dab7",defaultColor:"#999",change:null},A),this._opt.from=this._opt.from||this._opt.min,this._opt.to=this._opt.to||this._opt.max,this.init()};Mh.prototype={init:function(){var A=xh.create("div","yj-multiple-range"),e=xh.create("div","yj-range-track"),t=xh.create("span","yj-slider yj-slider-min");t.id="minSlider",t.type="minimum";var i=xh.create("span","yj-slider yj-slider-max");i.id="maxSlider",i.type="maximum",this._state={from:this._opt.from,to:this._opt.to},e.style.backgroundColor=this._opt.currentColor,A.style.backgroundColor=this._opt.defaultColor,A.appendChild(e),A.appendChild(t),A.appendChild(i),this._opt.element.appendChild(A),this._track=e,this._sliders={min:t,max:i},this._element=A,this.bindEvent(),this.update(!1)},bindEvent:function(){var A=this,e=!1,t=null,i=null,o=function(A){A=A||event;i=A.screenX,t=this,e=!0};this._sliders.min.addEventListener("mousedown",o),this._sliders.max.addEventListener("mousedown",o),document.addEventListener("mousemove",(function(o){if(e){o=o||event;var n=Math.round((o.screenX-i)/A._pix/A._opt.step)*A._opt.step;0!==n&&(i=n*A._pix+i,"minimum"===t.type?A._state.from+=n:A._state.to+=n,A.recalculate(t),A.update(!0))}})),document.addEventListener("mouseup",(function(){t=null,e=!1}))},update:function(A){var e=this._sliders.min.offsetWidth,t=this._sliders.max.offsetWidth;this._pix||(this._pix=(this._element.offsetWidth-e-t)/(this._opt.max-this._opt.min));var i=(this._state.from-this._opt.min)*this._pix,o=(this._state.to-this._opt.min)*this._pix+e+t;this._track.style.left=i+e/2+"px",this._track.style.width=o-i-e/2-t/2+"px",this._sliders.min.style.left=i+"px",this._sliders.max.style.left=o+"px",this._opt.change&&A&&this._opt.change(this._state)},recalculate:function(A){this._opt.max>this._state.to||(this._state.to=this._opt.max),this._state.from>this._opt.min||(this._state.from=this._opt.min),A&&("maximum"===A.type&&(this._state.to>this._state.from||(this._state.to=this._state.from)),"minimum"===A.type&&(this._state.to>this._state.from||(this._state.from=this._state.to)))},getProgress:function(){return this._state},setProgress:function(A){this._state=A,this.recalculate(),this.update(!1)}},xh.multipleRange=Mh;var bh=function(){var A=this;Math.randomString=function(A){for(var e="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=0;A>i;i+=1)e+=t.charAt(Math.floor(Math.random()*t.length));return e},A.viewport=document.body,A.counter=0,A.prompt=function(A,e){return new t(A,e)},A.confirm=function(A){return new i(A)},A.progress=function(A){return new n(A)},A.error={},A.success={},A.warning={},A.info={},A.alert=function(A,e){if(["success","error","warning","info"].indexOf(A)>-1)return new o(A,e)},A.window=function(A){return new r("window",A)};var e={$type:null,$el:null,$options:null,debug:function(){this.$options.debug&&window.console.debug.apply(window.console,arguments)},_processInput:function(e){if(Array.isArray(e.buttons)){for(var t={},i=0;e.buttons.length>i;i+=1)t[e.buttons[i]]=A.base.OPTIONS.buttons[e.buttons[i]];e.buttons=t}for(var i in e.customBtnClass=e.customBtnClass?e.customBtnClass:A.base.DEFAULTS.customBtnClass,e.buttons)if(e.buttons.hasOwnProperty(i)){var o=e.buttons[i];(o=uh.extend(!0,{},A.base.OPTIONS.buttons[i],o)).class||(o.class=e.customBtnClass),e.buttons[i]=o}return void 0===(e=uh.extend(!0,{},A.base.DEFAULTS,e)).showClass&&(e.showClass=A.base.OPTIONS.showClass),void 0===e.hideClass&&(e.hideClass=A.base.OPTIONS.hideClass),void 0===e.baseClass&&(e.baseClass=A.base.OPTIONS.baseClass),void 0===e.delayToRemove&&(e.delayToRemove=A.base.OPTIONS.delayToRemove),e.iconClass||(e.iconClass=A.base.OPTIONS.icons[e.iconSource][this.$type]),e},_init:function(){var A=this;A._createMarkup(),A.setTitle(A.$options.title),A.$options.draggable&&(A.$el.classList.add("draggable"),A._enableDrag()),A.$options.closeButton&&A._addCloseButton(),A.$options.closeOnEsc&&document.addEventListener("keyup.lobibox",(function(e){27===e.which&&A.destroy()})),A.$options.baseClass&&A.$el.classList.add(A.$options.baseClass),A.$options.showClass&&(A.$el.classList.remove(A.$options.hideClass),A.$el.classList.add(A.$options.showClass)),A.$options.id&&A.$el.setAttribute("id",A.$options.id),A.$el.dataset.lobibox=A},_calculatePosition:function(A){var e;return e="top"===A?30:"bottom"===A?window.outerHeight-xh.outerHeight(this.$el)-30:(window.outerHeight-xh.outerHeight(this.$el))/2,"left:"+(window.outerWidth-xh.outerWidth(this.$el))/2+"px;top:"+e+"px;"},_createButton:function(A,e){var t=this,i=document.createElement("button"),o=[];return e&&e.class&&(o=e.class.split(" ")),o.map((function(A,e){i.classList.add(A)})),i.dataset.type=A,i.innerHTML=e.text,t.$options.callback&&"function"==typeof t.$options.callback&&i.addEventListener("click",(function(e){t._onButtonClick(t.$options.buttons[A],A),t.$options.callback(t,this.dataset.type,e)})),i},_onButtonClick:function(A,e){("ok"===e&&"prompt"===this.$type&&this.isValid()||"prompt"!==this.$type||"ok"!==e)&&A&&A.closeOnClick&&this.destroy()},_generateButtons:function(){var A=[];for(var e in this.$options.buttons)if(this.$options.buttons.hasOwnProperty(e)){var t=this._createButton(e,this.$options.buttons[e]);A.push(t)}return A},_createMarkup:function(){var e=this,t=document.createElement("div");t.className="lobibox",t.dataset.isModal=e.$options.modal,t.dataset.backdrop=!!e.$options.backdrop;var i=document.createElement("div");i.className="lobibox-header",t.appendChild(i);var o=document.createElement("span");o.className="lobibox-title",i.appendChild(o);var n=document.createElement("div");if(n.className="lobibox-body",t.appendChild(n),e.$options.buttons&&!uh.isEmptyObject(e.$options.buttons)){var r=document.createElement("div");r.className="lobibox-footer",e._generateButtons().map((function(A,e){r.appendChild(A)})),t.appendChild(r),A.base.OPTIONS.buttonsAlign.indexOf(e.$options.buttonsAlign)>-1&&r.classList.add("text-"+e.$options.buttonsAlign)}t.classList.add(A.base.OPTIONS.modalClasses[e.$type]),e.$el=t},_setSize:function(){var A=this;A.setWidth(A.$options.width),A.setHeight("auto"===A.$options.height?xh.outerHeight(A.$el):A.$options.height)},_calculateBodyHeight:function(A){var e=this.$el.querySelector(".lobibox-header").outerHeight,t=this.$el.querySelector(".lobibox-footer").outerHeight;return A-(e||0)-(t||0)},_addBackdrop:function(){if(0===document.querySelectorAll(".lobibox-backdrop").length){var e=document.createElement("div");e.className="lobibox-backdrop",A.viewport.appendChild(e)}},_removeBackdrop:function(){for(var A=document.querySelectorAll(".lobibox-backdrop"),e=0;A.length>e;e+=1)A[e].remove()},_triggerEvent:function(A){this.$options[A]&&"function"==typeof this.$options[A]&&this.$options[A](this)},_calculateWidth:function(A){return(A=Math.min(Math.max(A,this.$options.width),window.outerWidth))===window.outerWidth&&(A-=2*this.$options.horizontalOffset),A},_calculateHeight:function(A){return(A=Math.min(Math.max(A,this.$options.height),window.outerHeight))===window.outerHeight&&(A-=2*this.$options.verticalOffset),A},_addCloseButton:function(){var A=this,e=document.createElement("span");e.className="btn-close",e.innerHTML="&times;",A.$el.querySelector(".lobibox-header").appendChild(e),e.addEventListener("mousedown",(function(A){A.stopPropagation()})),e.addEventListener("click",(function(){A.destroy()}))},_position:function(){this._setSize();var A=this._calculatePosition();this.setPosition(A.left,A.top)},_isMobileScreen:function(){return 768>window.outerHeight},_enableDrag:function(){var A=this.$el,e=A.querySelector(".lobibox-header");e.addEventListener("mousedown",(function(e){e.preventDefault(),A.setAttribute("offset-left",e.offsetX),A.setAttribute("offset-top",e.offsetY),A.setAttribute("allow-drag","true")})),document.addEventListener("mouseup",(function(){A.setAttribute("allow-drag","false")})),document.addEventListener("mousemove",(function(e){if("true"===A.getAttribute("allow-drag")){var t=e.clientX,i=e.clientY;0>i&&(i=5),i>document.body.clientHeight&&(i=document.body.clientHeight-10),0>t&&(t=5),t>document.body.clientWidth-A.offsetWidth&&(t=document.body.clientWidth-A.offsetWidth),A.style.cssText+="left:"+t+"px;top:"+i+"px;"}})),e.addEventListener("touchstart",(function(e){var t=A.style.top,i=e.originalEvent.targetTouches[0].clientY;A.setAttribute("offset-left",e.originalEvent.targetTouches[0].clientX-A.style.left),A.setAttribute("offset-top",i-t),A.setAttribute("allow-drag","true")})),document.addEventListener("touchend",(function(){A.setAttribute("allow-drag","false")})),document.addEventListener("touchmove",(function(e){if("true"===A.getAttribute("allow-drag")){var t=e.originalEvent.targetTouches[0].clientX,i=e.originalEvent.targetTouches[0].clientY;0>i&&(i=5),i>document.body.clientHeight&&(i=document.body.clientHeight-10),0>t&&(t=5),t>document.body.clientWidth-A.offsetWidth&&(t=document.body.clientWidth-A.offsetWidth),A.style.cssText+="left:"+t+"px;top:"+i+"px;"}}))},_setContent:function(A){return A&&("string"==typeof A&&A.constructor==String?this.$el.querySelector(".lobibox-body").innerHTML=A:this.$el.querySelector(".lobibox-body").appendChild(A)),this},_beforeShow:function(){this._triggerEvent("onShow")},_afterShow:function(){var e=this;A.counter++,e.$el.setAttribute("data-nth",A.counter),e.$options.draggable||window.addEventListener("resize.lobibox-"+e.$el.getAttribute("data-nth"),(function(){e.refreshWidth(),e.refreshHeight(),e.$el.style.cssText+="left:50%;top:50%;margin-left:"+-e.$el.width/2+"px;margin-top:"+-e.$el.height/2+"px;"})),e._triggerEvent("shown")},_beforeClose:function(){this._triggerEvent("beforeClose")},_afterClose:function(){this.$options.draggable||window.removeEventListener("resize.lobibox-"+this.$el.getAttribute("data-nth")),this._triggerEvent("closed")},_beforeHide:function(){this._triggerEvent("beforeHide")},_afterHide:function(){this._triggerEvent("afterHide")},hide:function(){var e=this;function t(){e.$el.classList.add("lobibox-hidden");for(var t=document.querySelectorAll(".lobibox"),i=[].slice.call(t),o=0;i.length>o;o+=1)!0!==i[o].dataset.isModal&&i.splice(o,1);for(o=0;i.length>o;o+=1)i[o].classList.contains("lobibox-hidden")&&i.splice(o,1);if(0===i.length){var n=document.querySelectorAll(".lobibox-backdrop");for(o=0;n.length>o;o+=1)A.viewport.removeChild(n[o]);A.viewport.classList.remove(A.base.OPTIONS.bodyClass)}e._afterHide()}return e._beforeHide(),e.$options.hideClass?(e.$el.classList.remove(e.$options.showClass),e.$el.classList.add(e.$options.hideClass),setTimeout((function(){t()}),e.$options.delayToRemove)):t(),this},destroy:function(){var e=this;function t(){e.$el.remove();for(var t=document.querySelectorAll(".lobibox"),i=[].slice.call(t),o=0;i.length>o;o+=1)"true"!==i[o].dataset.isModal&&i.splice(o,1);if(0===i.length){var n=document.querySelectorAll(".lobibox-backdrop");for(o=0;n.length>o;o+=1)A.viewport.removeChild(n[o]);A.viewport.classList.remove(A.base.OPTIONS.bodyClass)}var r=!1;for(o=0;i.length>o;o+=1)if("true"===i[o].dataset.backdrop){r=!0;break}r||e._removeBackdrop(),e._afterClose()}return e._beforeClose(),e.$options.hideClass?(xh.removeClass(e.$el,e.$options.showClass),xh.addClass(e.$el,e.$options.hideClass),setTimeout((function(){t()}),e.$options.delayToRemove)):t(),this},setWidth:function(A){return this.$el.style.cssText+="width:"+this._calculateWidth(A)+"px;",this},refreshWidth:function(){this.setWidth(this.$el.style.width)},refreshHeight:function(){this.setHeight(this.$el.style.height)},setHeight:function(A){var e=this;return e.$el.style.cssText+="height:"+e._calculateHeight(A)+"px",e.$el.querySelector(".lobibox-body").style.cssText+="height:"+(e.$options.height-41)+"px",e},setSize:function(A,e){return this.setWidth(A),this.setHeight(e),this},setPosition:function(A,e){var t;return"number"==typeof A&&"number"==typeof e?t="left:"+A+"px;top:"+e+"px;":"string"==typeof A?t=this._calculatePosition(A):"object"===lc(A)&&(t="left:"+A.left+"px;top:"+A.top+"px;right:"+A.right+"px;bottom:"+A.bottom+"px;"),this.$el.style.cssText+=t,this},setTitle:function(A){return this.$el.querySelector(".lobibox-title").innerHTML=A},getTitle:function(){return this.$el.querySelector(".lobibox-title").innerHTML},show:function(){var e=this,t=A.viewport;(e._beforeShow(),e.$el.classList.remove("lobibox-hidden"),t.appendChild(e.$el),e.$options.buttons)&&e.$el.querySelector(".lobibox-footer").children[0].focus();return(e.$options.modal||e.$options.backdrop)&&(t.classList.add(A.base.OPTIONS.bodyClass),e._addBackdrop()),!1!==e.$options.delay&&setTimeout((function(){e.destroy()}),e.$options.delay),e._afterShow(),e}};function t(e,t){this.$input=null,this.$type="prompt","object"==lc(e)?t=e:this.$promptType=e,t=uh.extend(!0,{},A.prompt.DEFAULT_OPTIONS,t),this.$options=this._processInput(t),this._init(),this.debug(this)}function i(A){this.$type="confirm",this.$options=this._processInput(A),this._init(),this.debug(this)}function o(A,e){this.$type=A,this.$options=this._processInput(e),this._init(),this.debug(this)}function n(A){this.$type="progress",this.$progressBarElement=null,this.$options=this._processInput(A),this.$progress=0,this._init(),this.debug(this)}function r(A,e){this.$type=A,this.$options=this._processInput(e),this._init(),this.debug(this)}A.base={},A.base.OPTIONS={bodyClass:"lobibox-open",modalClasses:{error:"lobibox-error",success:"lobibox-success",info:"lobibox-info",warning:"lobibox-warning",confirm:"lobibox-confirm",progress:"lobibox-progress",prompt:"lobibox-prompt",default:"lobibox-default",window:"lobibox-window"},buttonsAlign:["left","center","right"],buttons:{ok:{class:"lobibox-btn lobibox-btn-default",text:"OK",closeOnClick:!0},cancel:{class:"lobibox-btn lobibox-btn-cancel",text:"Cancel",closeOnClick:!0},yes:{class:"lobibox-btn lobibox-btn-yes",text:"确定",closeOnClick:!0},no:{class:"lobibox-btn lobibox-btn-no",text:"取消",closeOnClick:!0}},icons:{bootstrap:{confirm:"glyphicon glyphicon-question-sign",success:"glyphicon glyphicon-ok-sign",error:"glyphicon glyphicon-remove-sign",warning:"glyphicon glyphicon-exclamation-sign",info:"glyphicon glyphicon-info-sign"},fontAwesome:{confirm:"fa fa-question-circle",success:"fa fa-check-circle",error:"fa fa-times-circle",warning:"fa fa-exclamation-circle",info:"fa fa-info-circle"}}},A.base.DEFAULTS={horizontalOffset:5,verticalOffset:5,width:600,height:"auto",closeButton:!0,draggable:!0,customBtnClass:"lobibox-btn lobibox-btn-default",modal:!1,debug:!1,buttonsAlign:"center",closeOnEsc:!0,delayToRemove:200,delay:!1,baseClass:"animated-super-fast",showClass:"zoomIn",hideClass:"zoomOut",iconSource:"bootstrap",onShow:null,shown:null,beforeClose:null,closed:null},t.prototype=uh.extend(!0,{},e,{constructor:t,_processInput:function(i){var o=e._processInput.call(this,i);return o.buttons={ok:A.base.OPTIONS.buttons.ok,cancel:A.base.OPTIONS.buttons.cancel},i=uh.extend(!0,{},o,t.DEFAULT_OPTIONS,i)},_init:function(){e._init.call(this),this._setContent(this.$options.content),this.show()},_afterShow:function(){var A=this;A._setContent(A._createInput())._position(),A.$input&&A.$input.focus();var t=(window.innerHeight-xh.outerHeight(A.$el))/2,i=(window.innerWidth-xh.outerWidth(A.$el))/2;A.setPosition(i,t),e._afterShow.call(A)},_createInput:function(){var A,e=this;if(e.$options.multiline)e.$input=document.createElement("textarea"),e.$input.setAttribute("rows",e.$options.lines);else{if(!e.$promptType)return;e.$input=document.createElement("input"),e.$input.setAttribute("type","' + me.$promptType + '")}if(e.$input.classList.add("lobibox-input"),"[object Object]"===Object.prototype.toString.call(e.$options.attrs))for(var t in e.$options.attrs)e.$input.setAttribute(t,e.$options.attrs[t]);e.$options.value&&e.setValue(e.$options.value),e.$options.label&&((A=document.createElement("label")).innerHTML=e.$options.label);var i=document.createElement("div");return e.$options.label&&i.appendChild(A),i.appendChild(e.$input),i},setValue:function(A){return this.$input.value=A,this},getValue:function(){return this.$input.value},isValid:function(){var A=this,e=A.$el.querySelectorAll(".lobibox-input-error-message");if(A.$options.required&&!A.getValue()){if(A.$input.classList.add("invalid"),0===e.length){var t=document.createElement("p");t.className="lobibox-input-error-message",t.innerHTML=A.$options.errorMessage,A.$el.querySelector(".lobibox-body").appendChild(t),A._position(),A.$input.focus()}return!1}A.$input.classList.remove("invalid");for(var i=0;e.length>i;i+=1)e[i].remove();return A._position(),A.$input.focus(),A._removeBackdrop(),!0},_beforePromptShow:function(){this._triggerEvent("beforeWindowShow")},_beforePromptHide:function(){this._triggerEvent("beforeWindowHide")},_afterPromptShow:function(){this._triggerEvent("afterWindowShow")},_afterPromptHide:function(){this._triggerEvent("afterWindowHide")},promptHide:function(){return this._beforePromptHide(),this.$el.classList.add("hide"),this._afterPromptHide(),this},promptShow:function(){return this._beforePromptShow(),this.$el.classList.remove("hide"),this._afterPromptShow(),this.$el.style.zIndex=(new Date).getTime()-A.window.startTime,this}}),t.DEFAULT_OPTIONS={width:400,attrs:{},value:"",multiline:!1,lines:3,type:"text",label:"",required:!0,errorMessage:"The field is required"},i.prototype=uh.extend(!0,{},e,{constructor:i,_processInput:function(t){var i=e._processInput.call(this,t);return i.buttons={yes:A.base.OPTIONS.buttons.yes,no:A.base.OPTIONS.buttons.no},t=uh.extend(!0,{},i,A.confirm.DEFAULTS,t)},_init:function(){e._init.call(this),this.show()},_afterShow:function(){var A=this,t=document.createElement("div");if(A.$options.iconClass){var i=document.createElement("div");i.className="lobibox-icon-wrapper",t.appendChild(i);var o=document.createElement("i");o.className="lobibox-icon"+A.$options.iconClass,t.appendChild(o)}var n=document.createElement("div");n.className="lobibox-body-text-wrapper",t.appendChild(n);var r=document.createElement("span");r.className="lobibox-body-text",r.innerHTML=A.$options.msg,n.appendChild(r),A._setContent(t.innerHTML),A._position(),e._afterShow.call(A)},_beforeConfirmShow:function(){this._triggerEvent("beforeWindowShow")},_beforeConfirmHide:function(){this._triggerEvent("beforeWindowHide")},_afterConfirmShow:function(){this._triggerEvent("afterWindowShow")},_afterConfirmHide:function(){this._triggerEvent("afterWindowHide")},confirmHide:function(){return this._beforeConfirmHide(),this.$el.classList.add("hide"),this._afterConfirmHide(),this},confirmShow:function(){return this._beforeConfirmShow(),this.$el.classList.remove("hide"),this._afterConfirmShow(),this.$el.style.zIndex=(new Date).getTime()-A.window.startTime,this}}),A.confirm.DEFAULTS={title:"Question",width:500},o.prototype=uh.extend(!0,{},e,{constructor:o,_processInput:function(t){var i=e._processInput.call(this,t);return i.buttons={},t=uh.extend(!0,{},i,A.alert.OPTIONS[this.$type],A.alert.DEFAULTS,t)},_init:function(){e._init.call(this),this.show()},_afterShow:function(){var A=this,t=document.createElement("div");if(A.$options.iconClass){var i=document.createElement("div");i.className="lobibox-icon-wrapper",t.appendChild(i);var o=document.createElement("i");o.className="lobibox-icon"+A.$options.iconClass,t.appendChild(o)}var n=document.createElement("div");n.className="lobibox-body-text-wrapper",t.appendChild(n);var r=document.createElement("span");r.className="lobibox-body-text",r.innerHTML=A.$options.msg,n.appendChild(r),A._setContent(t.innerHTML),A._setSize();var a=(window.innerHeight-xh.outerHeight(A.$el))/2,s=(window.innerWidth-xh.outerWidth(A.$el))/2;A.setPosition(s,a),e._afterShow.call(A)}}),A.alert.OPTIONS={warning:{title:"Warning"},info:{title:"Information"},success:{title:"Success"},error:{title:"Error"}},A.alert.DEFAULTS={},n.prototype=uh.extend(!0,{},e,{constructor:n,_processInput:function(t){var i=e._processInput.call(this,t);return t=uh.extend(!0,{},i,A.progress.DEFAULTS,t)},_init:function(){e._init.call(this),this.show()},_afterShow:function(){var A,t=this;t.$progressBarElement=t.$options.progressTpl?t.$options.progressTpl:t._createProgressbar(),t.$options.label&&((A=document.createElement("label")).innerHTML=t.$options.label);var i=document.createElement("div").appendChild(A);i.appendChild(t.$progressBarElement),t._setContent(i),t._position(),e._afterShow.call(t)},_createProgressbar:function(){var A=document.createElement("div");A.classList.add("lobibox-progress-bar-wrapper"),A.classList.add("lobibox-progress-outer");var e=document.createElement("div");if(e.classList.add("lobibox-progress-bar"),e.classList.add("lobibox-progress-element"),A.appendChild(e),this.$options.showProgressLabel){var t=document.createElement("span");t.className="lobibox-progress-text",t.dataset.role="progress-text",A.appendChild(t)}return A},setProgress:function(A){var e=this;if(100!==e.$progress)return A=Math.min(100,Math.max(0,A)),e.$progress=A,e._triggerEvent("progressUpdated"),100===e.$progress&&e._triggerEvent("progressCompleted"),e.$el.querySelector(".lobibox-progress-element").style.cssText+="width"+A.toFixed(1)+"%",e.$el.querySelector(".lobibox-progress-text").innerHTML=A.toFixed(1)+"%",e},getProgress:function(){return this.$progress}}),A.progress.DEFAULTS={width:500,showProgressLabel:!0,label:"",progressTpl:!1,progressUpdated:null,progressCompleted:null},r.prototype=uh.extend(!0,{},e,{constructor:r,_processInput:function(t){var i=e._processInput.call(this,t);return t.content&&"function"==typeof t.content&&(t.content=t.content()),t=uh.extend(!0,{},i,A.window.DEFAULTS,t)},_init:function(){var A=this;e._init.call(A),A.setContent(A.$options.content),A.$options.url&&A.$options.autoload?(A.$options.showAfterLoad||A.show(),A.load((function(){A.$options.showAfterLoad&&A.show()}))):A.show()},_afterShow:function(){this._position(),e._afterShow.call(this)},_addCloseButton:function(){var A=this,e=document.createElement("span");e.className="btn-close",e.innerHTML="&times;",A.$el.querySelector(".lobibox-header").appendChild(e),e.addEventListener("mousedown",(function(A){A.stopPropagation()})),e.addEventListener("click",(function(){A.windowHide()}))},_beforeWindowShow:function(){this._triggerEvent("beforeWindowShow")},_beforeWindowHide:function(){this._triggerEvent("beforeWindowHide")},_afterWindowShow:function(){this._triggerEvent("afterWindowShow")},_afterWindowHide:function(){this._triggerEvent("afterWindowHide")},windowHide:function(){return this._beforeWindowHide(),this.$el.classList.add("hide"),this._afterWindowHide(),this},windowShow:function(){return this._beforeWindowShow(),this.$el.classList.remove("hide"),this._afterWindowShow(),this.$el.style.zIndex=(new Date).getTime()-A.window.startTime,this},setParams:function(A){return this.$options.params=A,this},getParams:function(){return this.$options.params},setLoadMethod:function(A){return this.$options.loadMethod=A,this},getLoadMethod:function(){return this.$options.loadMethod},setContent:function(A){return this.$options.content=A,this.$el.querySelector(".lobibox-body").innerHTML="",xh.append(this.$el.querySelector(".lobibox-body"),A),this},getContent:function(){return this.$options.content},setUrl:function(A){return this.$options.url=A,this},getUrl:function(){return this.$options.url},load:function(A){var e=this;return e.$options.url?($.ajax(e.$options.url,{method:e.$options.loadMethod,data:e.$options.params}).done((function(t){e.setContent(t),A&&"function"==typeof A&&A(t)})),e):e}}),A.window.DEFAULTS={width:480,height:600,content:"",url:"",draggable:!0,autoload:!0,loadMethod:"GET",showAfterLoad:!0,params:{}},A.window.startTime=(new Date).getTime();var a=function(e,t){this.$type=null,this.$options=null,this.$el=null;var i=this,o=function(A){for(var e=xh.closest(A,".lb-notify-tabs").childNodes,t=0;e.length>t;t+=1)"li"==e[t].nodeType&&e[t].classList.remove("active");A.classList.add("active");var i=A.querySelector("a").getAttribute("href"),o=xh.closest(i,".lb-notify-wrapper").querySelectorAll(".lb-tab-pane");for(t=0;o.length>t;t+=1)o[t].classList.remove("active");i.addClass("active")},n=function(e){var t=document.createElement("li");t.className=A.notify.OPTIONS[i.$type].class;var o=document.createElement("a");o.setAttribute("href","#"+e),t.appendChild(o);var n=document.createElement("i");return n.className="tab-control-icon"+i.$options.icon,o.appendChild(n),t},r=function(){var A=document.createElement("div");return A.className="lb-tab-pane",A.id=Math.randomString(10),A},a=function(A){if(i.$options.closable){var e=document.createElement("span");e.className="lobibox-close",e.innerHTML="&times;",A.appendChild(e),e.addEventListener("click",(function(){i.remove()}))}},s=function(A){i.$options.closeOnClick&&A.click((function(){i.remove()}))},l=function(A){if(i.$options.delay){if(i.$options.delayIndicator){var e=document.createElement("div");e.className="lobibox-delay-indicator";var t=document.createElement("div");e.appendChild(t),A.appendChild(e)}var o=0,n=1e3/30,r=(new Date).getTime(),a=setInterval((function(){i.$options.continueDelayOnInactiveTab?o=(new Date).getTime()-r:o+=n;var A=100*o/i.$options.delay;if(100>A||(A=100,i.remove(),a=clearInterval(a)),i.$options.delayIndicator)for(var t=e.querySelectorAll("div"),s=0;t.length>s;s+=1)t[s].style.cssText+="width:"+A+"%"}),n);i.$options.pauseDelayOnHover&&(A.addEventListener("mouseenter.lobibox",(function(){n=0})),A.addEventListener("mouseleave.lobibox",(function(){n=1e3/30})))}},c=function(A){return A=Math.min(window.outerWidth,A)};this.remove=function(){i.$el.classList.remove(i.$options.showClass),i.$el.classList.add(i.$options.hideClass);var e=i.$el.parentNode,t=xh.closest(e,".lobibox-notify-wrapper-large")||xh.closest(e,".lobibox-notify-wrapper");if(e){for(var n="#"+e.getAttribute("id"),r=t.querySelectorAll(".lb-notify-tabs li"),a=0;r.length>a;a+=1)r[a].querySelector("a").getAttribute("href")!==n&&r.splice(1,a);if(r.length>0)for(a=0;r.length>a;a+=1)r[a].classList.remove(A.notify.OPTIONS.class),r[a].classList.add(i.$options.hideClass);return setTimeout((function(){if("normal"===i.$options.size||"mini"===i.$options.size)i.$el.parentElement.removeChild(i.$el);else if("large"===i.$options.size){var t=function(A){var e=A.prev();return 0===e.length&&(e=A.next()),0===e.length?null:e}(r);t&&o(t),r.parentElement.removeChild(r),e.parentElement.removeChild(e)}var n=A.notify.list,a=n.indexOf(i);n.splice(a,1);var s=n[a];s&&s.$options.showAfterPrevious&&s._init()}),500),i}},i._init=function(){var e=function(){var e,t,o,n,r,h=A.notify.OPTIONS,d=document.createElement("div");if(d.classList.add("lobibox-notify"),d.classList.add(h[i.$type].class),d.classList.add(h.class),d.classList.add(i.$options.showClass),(o=document.createElement("div")).className="lobibox-notify-icon-wrapper",d.appendChild(o),(e=document.createElement("div")).className="lobibox-notify-icon",o.appendChild(e),t=document.createElement("div"),e.appendChild(t),i.$options.img){var p=document.createElement("img");p.src=i.$options.img,t.appendChild(p)}else if(i.$options.icon){var g=document.createElement("div");g.className="icon-el";var u=document.createElement("i");u.className=i.$options.icon,g.appendChild(u),t.appendChild(g)}else d.classList.add("without-icon");if((r=document.createElement("div")).className="lobibox-notify-msg",r.innerHTML=i.$options.msg,!1!==i.$options.messageHeight&&(r.style.cssText+="max-height:"+i.$options.messageHeight+"px;"),(n=document.createElement("div")).className="lobibox-notify-body",n.appendChild(r),d.appendChild(n),i.$options.title){var f=document.createElement("div");f.className="lobibox-notify-title",f.innerHTML=i.$options.title,n.insertBefore(f,r)}return a(d),"normal"!==i.$options.size&&"mini"!==i.$options.size||(s(d),l(d)),i.$options.width&&(d.style.cssText+="width:"+c(i.$options.width)+"px"),d}();if("mini"===i.$options.size&&e.classList.add("notify-mini"),"string"==typeof i.$options.position){var t=function(){var e,t=("large"===i.$options.size?".lobibox-notify-wrapper-large":".lobibox-notify-wrapper")+"."+i.$options.position.replace(/\s/gi,".");if(0!==(e=document.querySelectorAll(t)).length)return e[0];e=document.createElement("div");for(var o=t.split("."),n=1;o.length>n;n+=1)e.classList.add(o[n]);if(A.viewport.appendChild(e),"large"===i.$options.size){var r=document.createElement("ul");r.className="lb-notify-tabs";var a=document.createElement("div");a.className="lb-notify-wrapper",e.appendChild(r),e.appendChild(a)}return e}();!function(A,e){if("normal"===i.$options.size)e.classList.contains("bottom")?e.insertBefore(A,e.firstChild):e.appendChild(A);else if("mini"===i.$options.size)e.classList.contains("bottom")?e.insertBefore(A,e.firstChild):e.appendChild(A);else if("large"===i.$options.size){var t=r().appendChild(A),a=n(t.getAttribute("id"));e.querySelector(".lb-notify-wrapper").appendChild(t),e.querySelector(".lb-notify-tabs").appendChild(a),o(a);for(var s=a.querySelectorAll("a"),l=0;s.length>l;l+=1)s[l].click((function(){o(a)}))}}(e,t),t.classList.contains("center")&&(t.style.cssText+="margin-left:"+-t.offsetWidth/2+"px")}else A.viewport.appendChild(e),e.style.cssText+="position:fixed;left:"+i.$options.position.left+"px;top:"+i.$options.position.top+"px;";(i.$el=e,i.$options.sound)&&new Audio(i.$options.sound).play();i.$options.rounded&&i.$el.classList.add("rounded"),i.$el.addEventListener("click",(function(A){i.$options.onClickUrl&&(window.location.href=i.$options.onClickUrl),i.$options.onClick&&"function"==typeof i.$options.onClick&&i.$options.onClick.call(i,A)})),i.$el.dataset.lobibox=i},this.$type=e,this.$options=function(e){return"mini"!==e.size&&"large"!==e.size||(e=uh.extend(!0,{},A.notify.OPTIONS[e.size],e)),"mini"!==(e=uh.extend(!0,{},A.notify.OPTIONS[i.$type],A.notify.DEFAULTS,e)).size&&!0===e.title?e.title=A.notify.OPTIONS[i.$type].title:"mini"===e.size&&!0===e.title&&(e.title=!1),!0===e.icon&&(e.icon=A.notify.OPTIONS.icons[e.iconSource][i.$type]),!0===e.sound&&(e.sound=A.notify.OPTIONS[i.$type].sound),e.sound&&(e.sound=e.soundPath+e.sound+e.soundExt),e}(t),i.$options.showAfterPrevious&&0!==A.notify.list.length||this._init()};A.notify=function(e,t){if(["default","info","warning","error","success"].indexOf(e)>-1){var i=new a(e,t);return A.notify.list.push(i),i}},A.notify.list=[],A.notify.closeAll=function(){var e=A.notify.list;for(var t in e){e[t].parentNode.removeChild(e[t])}},A.notify.DEFAULTS={title:!0,size:"normal",soundPath:"sounds/",soundExt:".ogg",showClass:"fadeInDown",hideClass:"zoomOut",icon:!0,msg:"",img:null,closable:!0,hideCloseButton:!1,delay:5e3,delayIndicator:!0,closeOnClick:!0,width:400,sound:!0,position:"bottom right",iconSource:"bootstrap",rounded:!1,messageHeight:60,pauseDelayOnHover:!0,onClickUrl:null,showAfterPrevious:!1,continueDelayOnInactiveTab:!0,onClick:null},A.notify.OPTIONS={class:"animated-fast",large:{width:500,messageHeight:96},mini:{class:"notify-mini",messageHeight:32},default:{class:"lobibox-notify-default",title:"Default",sound:!1},success:{class:"lobibox-notify-success",title:"Success",sound:"sound2"},error:{class:"lobibox-notify-error",title:"Error",sound:"sound4"},warning:{class:"lobibox-notify-warning",title:"Warning",sound:"sound5"},info:{class:"lobibox-notify-info",title:"Information",sound:"sound6"},icons:{bootstrap:{success:"glyphicon glyphicon-ok-sign",error:"glyphicon glyphicon-remove-sign",warning:"glyphicon glyphicon-exclamation-sign",info:"glyphicon glyphicon-info-sign"},fontAwesome:{success:"fa fa-check-circle",error:"fa fa-times-circle",warning:"fa fa-exclamation-circle",info:"fa fa-info-circle"}}}},Uh=37,Fh=38,Kh=39,Qh=40,Rh=65,Th=68,kh=69,Dh=81,Lh=83,Nh=87,Oh=90,Vh=187,Gh=189,Ph=48,qh=27,jh={ReverseWheelDirection:!1,MovementSpeedRate:1,WalkSpeedRate:1,RotatePivotMode:kc.MOUSEPOINT,NoPan:!1,NoRotate:!1,NoZoom:!1,NoKey:!1,LockAxisZ:!1,LockAxisZRange:null},Hh=function(A,e){this.defaultSetting={colorRects:!0,picker:!0,colorCode:!0,hasOpacity:!0},this.color={hex:void 0,rgb:void 0,rgba:void 0,hsl:void 0},this.colorInputDom=A,this.element=this.create(e)};Hh.prototype={constructor:Hh,create:function(A){var e=this.defaultSetting;A&&(e=uh.extend(!0,this.defaultSetting,A));var t=document.createElement("div");return t.style.cssText+="width:190px;position:absolute;",e.colorRects&&t.appendChild(this.createRects(!!e.hasOpacity)),e.picker&&t.appendChild(this.createPicker(!!e.hasOpacity)),e.colorCode&&t.appendChild(this.createColorCode()),t.appendChild(this.createBtn()),this.element=t,t},createBtn:function(){var A=this,e=document.createElement("div"),t=document.createElement("button");t.className="btn-yes",t.innerHTML="确定",t.style.cssText+="display:inline-block;margin:10px;color:#000;background-color: #FFFFFF;border: 2px solid #FFFFFF;border-radius: 4px; width: 73px;height: 32px;",t.addEventListener("click",(function(){A.element.style.display="none"}));var i=document.createElement("button");return i.className="btn-no",i.innerHTML="取消",i.style.cssText+="display:inline-block;margin:10px;color:#000;background-color: #FFFFFF;border: 2px solid #FFFFFF;border-radius: 4px; width: 73px;height: 32px;",i.addEventListener("click",(function(){A.element.style.display="none"})),e.appendChild(t),e.appendChild(i),e},createRects:function(A){var e=this,t=document.createElement("div");t.className="rectFather",t.style.cssText+="width:180px;height:180px;margin-top:10px;margin-left:10px;display:flex;flex-wrap:wrap;align-items:flex-start;";for(var i=[],o=["00","55","AA","FF"],n=0,r=0,a=0,s="",l=0;64>l;)s="#"+o[n]+o[r]+o[a],i[l]=document.createElement("span"),i[l].className="spans"+l,i[l].style.cssText+="width:15px;height:15px;margin:1px 2px;border:1px solid #FFFFFF;background-color:"+s+";",i[l].setAttribute("color",s),t.appendChild(i[l]),(l+=1)%16==0?n+=1:l%4==0?(r+=1)>3&&(r=0):(a+=1)>3&&(a=0);var c=t.querySelectorAll("span");return xh.addEventListener(c,"click",(function(t){for(var i=0;c.length>i;i+=1)c[i].style.cssText+="border:1px solid #FFFFFF;";var o=t.target;o.style.cssText+="border:2px solid #000000;";var n=o.getAttribute("color");A?e.setColor(n,1):e.setColor(n),t.stopPropagation?t.stopPropagation():t.cancelBubble=!0})),t},createPicker:function(A){var e=this,t=document.createElement("div");t.style.cssText+="width:180px;margin-left:10px;";var i=document.createElement("span");i.className="colorShow",i.style.cssText+="display:block;width:170px;height:30px;border-radius:5px;margin-top:10px;margin-bottom:10px;background-color:#FFFFFF;",t.appendChild(i);var o=document.createElement("span");o.innerHTML="红 : ",o.style.color="#FF0000";var n=document.createElement("input");n.type="range",n.className="redRange",n.style.cssText+="background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #FF0000;",n.setAttribute("step","1"),n.setAttribute("min","0"),n.setAttribute("max","255"),n.setAttribute("value","255");var r=document.createElement("div");r.appendChild(o),r.appendChild(n),t.appendChild(r);var a=document.createElement("span");a.innerHTML="绿 : ",a.style.color="#00FF00";var s=document.createElement("input");s.type="range",s.className="greenRange",s.style.cssText+="background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #00FF00;",s.setAttribute("step","1"),s.setAttribute("min","0"),s.setAttribute("max","255"),s.setAttribute("value","255");var l=document.createElement("div");l.appendChild(a),l.appendChild(s),t.appendChild(l);var c=document.createElement("span");c.innerHTML="蓝 : ",c.style.color="#0000FF";var h=document.createElement("input");h.type="range",h.className="blueRange",h.style.cssText+="background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #0000FF;",h.setAttribute("step","1"),h.setAttribute("min","0"),h.setAttribute("max","255"),h.setAttribute("value","255");var d=document.createElement("div");d.appendChild(c),d.appendChild(h),t.appendChild(d);var p=t.querySelector(".redRange"),g=t.querySelector(".greenRange"),u=t.querySelector(".blueRange"),f=null;if(p.addEventListener("input",(function(){var t="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(u.value)).toString(16).slice(1);if(A){var i=Number(f.value);e.setColor(t,i)}else e.setColor(t)})),g.addEventListener("input",(function(){var t="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(u.value)).toString(16).slice(1);if(A){var i=Number(f.value);e.setColor(t,i)}else e.setColor(t)})),u.addEventListener("input",(function(){var t="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(u.value)).toString(16).slice(1);if(A){var i=Number(f.value);e.setColor(t,i)}else e.setColor(t)})),A){var m=document.createElement("span");m.innerHTML="透明度 : ",m.style.color="#FFFFFF";var C=document.createElement("input");C.type="range",C.className="opacityRange",C.style.cssText+="width:97px;background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #FFFFFF;",C.setAttribute("step","0.01"),C.setAttribute("min","0"),C.setAttribute("max","1"),C.setAttribute("value","1");var y=document.createElement("div");y.appendChild(m),y.appendChild(C),t.appendChild(y),(f=t.querySelector(".opacityRange")).addEventListener("input",(function(){var A="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(u.value)).toString(16).slice(1),t=Number(f.value);e.setColor(A,t)}))}return t},createColorCode:function(){var A=this,e=document.createElement("div");e.style.cssText+="width:180px;margin-left:10px;";var t=document.createElement("input");t.className="colorCode",t.type="text",t.style.cssText+="display:block;float:left;width:110px;margin:10px 10px 10px 0;padding-left:3px;",t.value="#ffffff",e.appendChild(t);var i=document.createElement("span");return i.className="colorCodeBtn",i.style.cssText+="display:block;float:left;width:38px;height:21px;border-radius:5px;margin-top:10px;background-color:#FFFFFF;font-size:13px;text-align:center;line-height:21px;cursor:default;",i.innerHTML="HEX",i.addEventListener("click",(function(e){var t=e.target.textContent,i=A.element.querySelector(".colorCode").value;if(A.element.querySelector(".opacityRange"))var o=Number(A.element.querySelector(".opacityRange").value);"HEX"===t?e.target.innerHTML="RGB":"RGB"===t&&(e.target.innerHTML="HEX"),A.setColor(i,o)})),e.appendChild(i),e},colorRgbToHex:function(A){if(A){var e=(A=A.toLowerCase()).replace(/rgba?\(/,"").replace(/\)/,"").replace(/[\s+]/g,"").split(","),t=parseFloat(e[3]||1),i=Math.floor(t*parseInt(e[0],0)+255*(1-t)),o=Math.floor(t*parseInt(e[1],0)+255*(1-t)),n=Math.floor(t*parseInt(e[2],0)+255*(1-t));return"#"+("0"+i.toString(16)).slice(-2)+("0"+o.toString(16)).slice(-2)+("0"+n.toString(16)).slice(-2)}return A},colorHexToRgb:function(A,e){var t=A.toLowerCase();if(t&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)){if(4===t.length){for(var i="#",o=1;4>o;o+=1)i+=t.slice(o,o+1).concat(t.slice(o,o+1));t=i}for(var n=[],r=1;7>r;r+=2)n.push(parseInt("0x"+t.slice(r,r+2),0));if(!isNaN(e)){var a=Number(e);return 0>a||a>1?t:"rgba("+n.join(",")+","+a+")"}return"rgb("+n.join(",")+")"}return t},checkColor:function(A){var e={};if(A){var t=A.toLowerCase();t&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(t)?(e.color=!0,e.hex=!0,e.rgb=!1,e.hsl=!1,e.hexLength=4===t.length?3:6):t&&/^rgb/.test(t)?(e.color=!0,e.hex=!1,e.rgb=!0,e.hsl=!1):t&&/^hsl/.test(t)?(e.color=!0,e.hex=!1,e.rgb=!1,e.hsl=!0):(e.color=!1,e.hex=!1,e.rgb=!1,e.hsl=!1)}else e.color=!1,e.hex=!1,e.rgb=!1,e.hsl=!1;return e},setColor:function(A,e){var t=this.defaultSetting;if(t.picker||t.colorCode){var i=this.checkColor(A);if(i.color){var o="",n="",r=A.toLowerCase();if(i.hex){if(3===i.hexLength){for(var a="#",s=1;4>s;s+=1)a+=r.slice(s,s+1).concat(r.slice(s,s+1));r=a}n=r,o=this.colorHexToRgb(A,e)}else i.rgb&&(n=this.colorRgbToHex(A),o=r);if(o){if(t.picker){xh.css(this.element.querySelector(".colorShow"),{"background-color":o});var l=this.getRgbNumber(n);3===l.length&&(this.element.querySelector(".redRange").value=l[0],this.element.querySelector(".greenRange").value=l[1],this.element.querySelector(".blueRange").value=l[2],e&&(this.element.querySelector(".opacityRange").value=e))}if(t.colorCode){var c=this.element.querySelector(".colorCode");c.value=n;var h=this.element.querySelector(".colorCodeBtn").textContent;"HEX"===h?c.value=n:"RGB"===h&&(c.value=o)}this.colorInputDom.value=o,xh.simulateEvent(this.colorInputDom,"change")}}}},getRgbNumber:function(A){var e=[],t=this.checkColor(A);if(t.color){var i=A.toLowerCase();if(t.hex){if(3===t.hexLength){for(var o="#",n=1;4>n;n+=1)o+=i.slice(n,n+1).concat(i.slice(n,n+1));i=o}for(var r=1;7>r;r+=2)e.push(parseInt("0x"+i.slice(r,r+2),0))}}return e}};var Yh={};Yh.fullScreen=function(A){if(!A)return!1;if(A.requestFullscreen)A.requestFullscreen();else if(A.mozRequestFullScreen)A.mozRequestFullScreen();else if(A.webkitRequestFullscreen)A.webkitRequestFullscreen();else{if(!A.msRequestFullscreen)return!1;A.msRequestFullscreen()}},Yh.exitFullScreen=function(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()},Yh.onFullScreenChanged=function(A){var e=function(){A&&A()};document.onfullscreenchange=e,document.onwebkitfullscreenchange=e,document.documentElement.onwebkitfullscreenchange=e,document.onmozfullscreenchange=e,document.onmsfullscreenchange=e},Yh.inFullScreen=function(){return"webkitIsFullScreen"in document?Boolean(document.webkitIsFullScreen):"fullscreenElement"in document?Boolean(document.fullscreenElement):"mozFullScreenElement"in document?Boolean(document.mozFullScreenElement):"msFullscreenElement"in document?Boolean(document.msFullscreenElement):Boolean(document.querySelector(".viewer-fill-browser"))},Yh.findFullScreenElement=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},Yh.isFullScreenAvailable=function(A){return A.requestFullscreen||A.mozRequestFullScreen||A.webkitRequestFullscreen||A.msRequestFullscreen};var Wh=Yh,Jh={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};function zh(A,e,t){return 0>t&&(t+=1),t>1&&(t-=1),1/6>t?A+6*(e-A)*t:.5>t?e:2/3>t?A+6*(e-A)*(2/3-t):A}var Zh,Xh=function(A,e,t,i){return void 0===i&&void 0===t?this.set(A,e):this.setRGB(A,e,t,i)};Object.assign(Xh.prototype,{isColor:!0,r:1,g:1,b:1,a:1,set:function(A,e){return"number"==typeof A?this.setHex(A):"string"==typeof A&&this.setStyle(A),void 0!==e&&this.setAlpha(e),this},setHex:function(A,e){return A=Math.floor(A),this.r=(A>>16&255)/255,this.g=(A>>8&255)/255,this.b=(255&A)/255,this.setAlpha(e),this},setAlpha:function(A){return"number"==typeof A?(A>1&&(A=1),0>A&&(A=0),this.a=A):isNaN(parseFloat(A))?this.a=1:((A=parseFloat(A))>1&&(A=1),0>A&&(A=0),this.a=A),this},setRGB:function(A,e,t,i){return this.r=A>1?Math.min(255,parseInt(A,10))/255:A,this.g=e>1?Math.min(255,parseInt(e,10))/255:e,this.b=t>1?Math.min(255,parseInt(t,10))/255:t,this.setAlpha(i),this},setHSL:function(A,e,t,i){if(A=Xc.euclideanModulo(A,1),e=Xc.clamp(e,0,1),t=Xc.clamp(t,0,1),0===e)this.r=this.g=this.b=t;else{var o=t>.5?t+e-t*e:t*(1+e),n=2*t-o;this.r=zh(n,o,A+1/3),this.g=zh(n,o,A),this.b=zh(n,o,A-1/3)}return this.a=i,this},setStyle:function(A){var e=null;if(e=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(A)){var t=null,i=e[2];switch(e[1]){case"rgb":case"rgba":if(t=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(i))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,this.setAlpha(t[5]),this;if(t=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(i))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,this.setAlpha(t[5]),this;break;case"hsl":case"hsla":if(t=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(i)){var o=parseFloat(t[1])/360,n=parseInt(t[2],10)/100,r=parseInt(t[3],10)/100;return this.setAlpha(t[5]),this.setHSL(o,n,r)}}}else if(e=/^\#([A-Fa-f0-9]+)$/.exec(A)){var a,s=(a=e[1]).length;if(3===s)return this.r=parseInt(a.charAt(0)+a.charAt(0),16)/255,this.g=parseInt(a.charAt(1)+a.charAt(1),16)/255,this.b=parseInt(a.charAt(2)+a.charAt(2),16)/255,this;if(6===s)return this.r=parseInt(a.charAt(0)+a.charAt(1),16)/255,this.g=parseInt(a.charAt(2)+a.charAt(3),16)/255,this.b=parseInt(a.charAt(4)+a.charAt(5),16)/255,this}A&&A.length>0&&(void 0!==(a=Jh[A])?this.setHex(a):Bh.warn("Color: Unknown color "+A));return 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(){var A={h:0,s:0,l:0,a:1},e=this.r,t=this.g,i=this.b,o=Math.max(e,t,i),n=Math.min(e,t,i),r=0,a=0,s=(n+o)/2;if(n===o)r=0,a=0;else{var l=o-n;switch(a=s>.5?l/(2-o-n):l/(o+n),o){case e:r=(t-i)/l+(i>t?6:0);break;case t:r=(i-e)/l+2;break;case i:r=(e-t)/l+4}r/=6}return A.h=r,A.s=a,A.l=s,A.a=this.a,A},getRGB:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},getRGBA:function(){return"rgba("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+","+this.a+")"},getAlpha:function(){return this.a},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:(Zh={},function(A,e,t){return this.getHSL(Zh),Zh.h+=A,Zh.s+=e,Zh.l+=t,this.setHSL(Zh.h,Zh.s,Zh.l),this}),fromArray:function(A,e){return void 0===e&&(e=0),this.r=A[e],this.g=A[e+1],this.b=A[e+2],this.a=A[e+3]||1,this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this.r,A[e+1]=this.g,A[e+2]=this.b,A[e+3]=this.a,A},toRGBArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=255*this.r,A[e+1]=255*this.g,A[e+2]=255*this.b,A[e+3]=255*this.a,A},toJSON:function(){return this.getHex()}}),Object.defineProperties(Xh.prototype,{red:{get:function(){return this.r},set:function(A){this.r=A}},green:{get:function(){return this.g},set:function(A){this.g=A}},blue:{get:function(){return this.b},set:function(A){this.b=A}},alpha:{get:function(){return this.a},set:function(A){this.a=A}},opacity:{get:function(){return this.a},set:function(A){this.a=A}}});var _h=["uniform bool receiveShadow;","uniform vec3 ambientLightColor;","uniform vec3 lightProbe[ 9 ];","vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {"," float x = normal.x, y = normal.y, z = normal.z;"," vec3 result = shCoefficients[ 0 ] * 0.886227;"," result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;"," result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;"," result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;"," result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;"," result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;"," result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );"," result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;"," result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );"," return result;","}","vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {"," vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );"," vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );"," return irradiance;","}","vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {"," vec3 irradiance = ambientLightColor;"," #ifndef PHYSICALLY_CORRECT_LIGHTS"," irradiance *= PI;"," #endif"," return irradiance;","}","#if NUM_DIR_LIGHTS > 0"," struct DirectionalLight {"," vec3 direction;"," vec3 color;"," };"," uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];"," #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0"," struct DirectionalLightShadow {"," float shadowBias;"," float shadowRadius;"," vec2 shadowMapSize;"," };"," uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];"," #endif"," void getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {"," directLight.color = directionalLight.color;"," directLight.direction = directionalLight.direction;"," directLight.visible = true;"," }","#endif","#if NUM_POINT_LIGHTS > 0"," struct PointLight {"," vec3 position;"," vec3 color;"," float distance;"," float decay;"," };"," uniform PointLight pointLights[ NUM_POINT_LIGHTS ];"," #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0"," struct PointLightShadow {"," float shadowBias;"," float shadowRadius;"," vec2 shadowMapSize;"," float shadowCameraNear;"," float shadowCameraFar;"," };"," uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];"," #endif"," void getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {"," vec3 lVector = pointLight.position - geometry.position;"," directLight.direction = normalize( lVector );"," float lightDistance = length( lVector );"," directLight.color = pointLight.color;"," directLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );"," directLight.visible = ( directLight.color != vec3( 0.0 ) );"," }","#endif","#if NUM_SPOT_LIGHTS > 0"," struct SpotLight {"," vec3 position;"," vec3 direction;"," vec3 color;"," float distance;"," float decay;"," float coneCos;"," float penumbraCos;"," };"," uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];"," #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0"," struct SpotLightShadow {"," float shadowBias;"," float shadowRadius;"," vec2 shadowMapSize;"," };"," uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];"," #endif"," void getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {"," vec3 lVector = spotLight.position - geometry.position;"," directLight.direction = normalize( lVector );"," float lightDistance = length( lVector );"," float angleCos = dot( directLight.direction, spotLight.direction );"," if ( angleCos > spotLight.coneCos ) {"," float spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );"," directLight.color = spotLight.color;"," directLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );"," directLight.visible = true;"," } else {"," directLight.color = vec3( 0.0 );"," directLight.visible = false;"," }"," }","#endif","#if NUM_RECT_AREA_LIGHTS > 0"," struct RectAreaLight {"," vec3 color;"," vec3 position;"," vec3 halfWidth;"," vec3 halfHeight;"," };"," uniform sampler2D ltcMat; uniform sampler2D ltcMag;"," uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];","#endif","#if NUM_HEMI_LIGHTS > 0"," struct HemisphereLight {"," vec3 direction;"," vec3 skyColor;"," vec3 groundColor;"," };"," uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];"," vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {"," float dotNL = dot( geometry.normal, hemiLight.direction );"," float hemiDiffuseWeight = 0.5 * dotNL + 0.5;"," vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );"," #ifndef PHYSICALLY_CORRECT_LIGHTS"," irradiance *= PI;"," #endif"," return irradiance;"," }","#endif","#if defined( USE_ENVMAP ) && defined( PHYSICAL )"," vec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {"," vec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );"," #ifdef ENVMAP_TYPE_CUBE"," vec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );"," #ifdef TEXTURE_LOD_EXT"," vec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );"," #else"," vec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );"," #endif"," envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;"," #elif defined( ENVMAP_TYPE_CUBE_UV )"," vec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );"," vec4 envMapColor = textureCubeUV( queryVec, 1.0 );"," #else"," vec4 envMapColor = vec4( 0.0 );"," #endif"," return PI * envMapColor.rgb * envMapIntensity;"," }"," float getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {"," float maxMIPLevelScalar = float( maxMIPLevel );"," float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );"," return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"," }"," vec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {"," #ifdef ENVMAP_MODE_REFLECTION"," vec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );"," #else"," vec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );"," #endif"," reflectVec = inverseTransformDirection( reflectVec, viewMatrix );"," float specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );"," #ifdef ENVMAP_TYPE_CUBE"," vec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );"," #ifdef TEXTURE_LOD_EXT"," vec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );"," #else"," vec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );"," #endif"," envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;"," #elif defined( ENVMAP_TYPE_CUBE_UV )"," vec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );"," vec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));"," #elif defined( ENVMAP_TYPE_EQUIREC )"," vec2 sampleUV;"," sampleUV.y = saturate( reflectVec.y * 0.5 + 0.5 );"," sampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;"," #ifdef TEXTURE_LOD_EXT"," vec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );"," #else"," vec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );"," #endif"," envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;"," #elif defined( ENVMAP_TYPE_SPHERE )"," vec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );"," #ifdef TEXTURE_LOD_EXT"," vec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );"," #else"," vec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );"," #endif"," envMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;"," #endif"," return envMapColor.rgb * envMapIntensity;"," }","#endif"].join("\n"),$h=["","GeometricContext geometry;","geometry.position = - vViewPosition;","geometry.normal = normal;","geometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );","#ifdef CLEARCOAT","geometry.clearcoatNormal = clearcoatNormal;","#endif","IncidentLight directLight;","#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )","PointLight pointLight;","#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0","PointLightShadow pointLightShadow;","#endif","#pragma unroll_loop_start","for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {","pointLight = pointLights[ i ];","getPointDirectLightIrradiance( pointLight, geometry, directLight );","#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )","pointLightShadow = pointLightShadows[ i ];","directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;","#endif","RE_Direct( directLight, geometry, material, reflectedLight );","}","#endif","#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )","SpotLight spotLight;","#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0","SpotLightShadow spotLightShadow;","#endif","#pragma unroll_loop_start","for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {","spotLight = spotLights[ i ];","getSpotDirectLightIrradiance( spotLight, geometry, directLight );","#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )","spotLightShadow = spotLightShadows[ i ];","directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;","#endif","RE_Direct( directLight, geometry, material, reflectedLight );","}","#pragma unroll_loop_end","#endif","#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )","DirectionalLight directionalLight;","#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0","DirectionalLightShadow directionalLightShadow;","#endif","#pragma unroll_loop_start","for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {","directionalLight = directionalLights[ i ];","getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );","#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )","directionalLightShadow = directionalLightShadows[ i ];","directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;","#endif","RE_Direct( directLight, geometry, material, reflectedLight );","}","#pragma unroll_loop_end","#endif","#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )","RectAreaLight rectAreaLight;","#pragma unroll_loop_start","for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {","rectAreaLight = rectAreaLights[ i ];","RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );","}","#pragma unroll_loop_end","#endif","#if defined( RE_IndirectDiffuse )","vec3 iblIrradiance = vec3( 0.0 );","vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );","irradiance += getLightProbeIrradiance( lightProbe, geometry );","#if ( NUM_HEMI_LIGHTS > 0 )","#pragma unroll_loop_start","for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {","irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );","}","#pragma unroll_loop_end","#endif","#endif","#if defined( RE_IndirectSpecular )","vec3 radiance = vec3( 0.0 );","vec3 clearcoatRadiance = vec3( 0.0 );","#endif"].join("\n"),Ad=["#ifdef DOUBLE_SIDED"," float flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );","#else"," float flipNormal = 1.0;","#endif\n"].join("\n"),ed=["#ifdef FLAT_SHADED"," vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );"," vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );"," vec3 normal = normalize( cross( fdx, fdy ) );","#else"," vec3 normal = normalize( vNormal ) * flipNormal;","#endif","#ifdef USE_NORMALMAP"," normal = perturbNormal2Arb( -vViewPosition, normal );","#elif defined( USE_BUMPMAP )"," normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );","#endif","vec3 geometryNormal = normal;"].join("\n"),td=["GeometricContext geometry;","geometry.position = - vViewPosition;","#if NUM_CLIPPING_PLANES == 1"," if (gl_FrontFacing) geometry.normal = normal;"," else if (fillFaceClipDistance < 0.0) geometry.normal = -clippingPlanes[0].xyz;"," else geometry.normal = -normal;","#else"," geometry.normal = normal;","#endif","geometry.viewDir = normalize( vViewPosition );","IncidentLight directLight;","#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )"," PointLight pointLight;"," for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {"," pointLight = pointLights[ i ];"," getPointDirectLightIrradiance( pointLight, geometry, directLight );"," #ifdef USE_SHADOWMAP"," directLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ,pointLight.shadowCameraNear, pointLight.shadowCameraFar) : 1.0;"," #endif"," RE_Direct( directLight, geometry, material, reflectedLight );"," }","#endif","#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )"," SpotLight spotLight;"," for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {"," spotLight = spotLights[ i ];"," getSpotDirectLightIrradiance( spotLight, geometry, directLight );"," #ifdef USE_SHADOWMAP"," directLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;"," #endif"," RE_Direct( directLight, geometry, material, reflectedLight );"," }","#endif","#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )"," DirectionalLight directionalLight;"," for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {"," directionalLight = directionalLights[ i ];"," getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );"," #ifdef USE_SHADOWMAP"," directLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;"," #endif"," RE_Direct( directLight, geometry, material, reflectedLight );"," }","#endif","#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )"," RectAreaLight rectAreaLight;"," for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {"," rectAreaLight = rectAreaLights[ i ];"," RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );"," }","#endif","#if defined( RE_IndirectDiffuse )"," vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );"," #ifdef USE_LIGHTMAP"," vec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;"," #ifndef PHYSICALLY_CORRECT_LIGHTS"," lightMapIrradiance *= PI; // factor of PI should not be present; included here to prevent breakage"," #endif"," irradiance += lightMapIrradiance;"," #endif"," #if ( NUM_HEMI_LIGHTS > 0 )"," for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {"," irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );"," }"," #endif"," #if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )"," irradiance += getLightProbeIndirectIrradiance( /*lightProbe,*/ geometry, 8 );"," #endif"," RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );","#endif","#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )"," vec3 radiance = getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_BlinnShininessExponent( material ), 8 );"," #ifndef STANDARD"," vec3 clearCoatRadiance = getLightProbeIndirectRadiance( /*specularLightProbe,*/ geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );"," #else"," vec3 clearCoatRadiance = vec3( 0.0 );"," #endif"," RE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );","#endif"].join("\n"),id=["#define PHONG","uniform vec3 diffuse;","uniform vec3 emissive;","uniform vec3 specular;","uniform float shininess;","uniform float opacity;","#include <common>","#include <packing>","#include <dithering_pars_fragment>","#include <color_pars_fragment>","#include <uv_pars_fragment>","#include <uv2_pars_fragment>","#include <map_pars_fragment>","#include <alphamap_pars_fragment>","#include <aomap_pars_fragment>","#include <lightmap_pars_fragment>","#include <emissivemap_pars_fragment>","#include <envmap_pars_fragment>","#include <gradientmap_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <lights_pars>","#include <lights_phong_pars_fragment>","#include <shadowmap_pars_fragment>","#include <bumpmap_pars_fragment>","#include <normalmap_pars_fragment>","#include <specularmap_pars_fragment>","#include <logdepthbuf_pars_fragment>","#include <clipping_planes_pars_fragment>","void main() {"," #include <clipping_planes_fragment>"," vec4 diffuseColor = vec4( diffuse, opacity );"," ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );"," vec3 totalEmissiveRadiance = emissive;"," #include <logdepthbuf_fragment>"," #include <map_fragment>"," #include <color_fragment>"," #include <alphamap_fragment>"," #include <alphatest_fragment>"," #include <specularmap_fragment>"," #include <normal_flip>"," #include <normal_fragment>"," #include <emissivemap_fragment>"," float fillFaceClipDistance = 0.0;"," #if NUM_CLIPPING_PLANES == 1"," vec4 plane = clippingPlanes[ 0 ];"," fillFaceClipDistance = dot( vViewPosition, plane.xyz ) - plane.w;"," #endif"," #include <lights_phong_fragment>"," #include <lights_fillFace_template>"," #include <aomap_fragment>"," vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;"," #include <envmap_fragment>"," gl_FragColor = vec4( outgoingLight, diffuseColor.a );"," #include <tonemapping_fragment>"," #include <encodings_fragment>"," #include <fog_fragment>"," #include <premultiplied_alpha_fragment>"," #include <dithering_fragment>","}"].join("\n"),od=["#define PHONG","varying vec3 vViewPosition;","#ifndef FLAT_SHADED","varying vec3 vNormal;","#endif","#include <common>","#include <uv_pars_vertex>","#include <uv2_pars_vertex>","#include <displacementmap_pars_vertex>","#include <envmap_pars_vertex>","#include <color_pars_vertex>","#include <fog_pars_vertex>","#include <morphtarget_pars_vertex>","#include <skinning_pars_vertex>","#include <shadowmap_pars_vertex>","#include <logdepthbuf_pars_vertex>","#include <clipping_planes_pars_vertex>","void main() {","#include <uv_vertex>","#include <uv2_vertex>","#include <color_vertex>","#include <beginnormal_vertex>","#include <morphnormal_vertex>","#include <skinbase_vertex>","#include <skinnormal_vertex>","#include <defaultnormal_vertex>","#ifndef FLAT_SHADED","vNormal = normalize( transformedNormal );","#endif","#include <begin_vertex>","#include <displacementmap_vertex>","#include <morphtarget_vertex>","#include <skinning_vertex>","#include <project_vertex>","#include <logdepthbuf_vertex>","#include <clipping_planes_vertex>","vViewPosition = - mvPosition.xyz;","#include <worldpos_vertex>","#include <envmap_vertex>","#include <shadowmap_vertex>","#include <fog_vertex>","}"].join("\n"),nd=["#define PHYSICAL","varying vec3 vViewPosition;","#ifndef FLAT_SHADED","varying vec3 vNormal;","#endif","#include <common>","#include <uv_pars_vertex>","#include <uv2_pars_vertex>","#include <displacementmap_pars_vertex>","#include <color_pars_vertex>","#include <fog_pars_vertex>","#include <morphtarget_pars_vertex>","#include <skinning_pars_vertex>","#include <shadowmap_pars_vertex>","#include <specularmap_pars_fragment>","#include <logdepthbuf_pars_vertex>","#include <clipping_planes_pars_vertex>","void main() {","#include <uv_vertex>","#include <uv2_vertex>","#include <color_vertex>","#include <beginnormal_vertex>","#include <morphnormal_vertex>","#include <skinbase_vertex>","#include <skinnormal_vertex>","#include <defaultnormal_vertex>","#ifndef FLAT_SHADED","vNormal = normalize( transformedNormal );","#endif","#include <begin_vertex>","#include <displacementmap_vertex>","#include <morphtarget_vertex>","#include <skinning_vertex>","#include <project_vertex>","#include <logdepthbuf_vertex>","#include <clipping_planes_vertex>","vViewPosition = - mvPosition.xyz;","#include <worldpos_vertex>","#include <shadowmap_vertex>","#include <fog_vertex>","}"].join("\n"),rd=["#define PHYSICAL","uniform vec3 diffuse;","uniform vec3 emissive;","uniform float roughness;","uniform float metalness;","uniform float opacity;","#ifndef STANDARD","uniform float clearCoat;","uniform float clearCoatRoughness;","#endif","varying vec3 vViewPosition;","#ifndef FLAT_SHADED","varying vec3 vNormal;","#endif","#include <common>","#include <packing>","#include <dithering_pars_fragment>","#include <color_pars_fragment>","#include <uv_pars_fragment>","#include <uv2_pars_fragment>","#include <map_pars_fragment>","#include <alphamap_pars_fragment>","#include <aomap_pars_fragment>","#include <lightmap_pars_fragment>","#include <emissivemap_pars_fragment>","#include <envmap_pars_fragment>","#include <fog_pars_fragment>","#include <bsdfs>","#include <cube_uv_reflection_fragment>","#include <lights_pars>","#include <lights_physical_pars_fragment>","#include <shadowmap_pars_fragment>","#include <bumpmap_pars_fragment>","#include <normalmap_pars_fragment>","#include <roughnessmap_pars_fragment>","#include <metalnessmap_pars_fragment>","#include <logdepthbuf_pars_fragment>","#include <clipping_planes_pars_fragment>","void main() {","#include <clipping_planes_fragment>","vec4 diffuseColor = vec4( diffuse, opacity );","vec3 totalEmissiveRadiance = emissive;","#include <logdepthbuf_fragment>","#include <map_fragment>","#include <color_fragment>","#include <alphamap_fragment>","#include <alphatest_fragment>","#include <specularmap_fragment>","#include <roughnessmap_fragment>","#include <metalnessmap_fragment>","#include <normal_flip>","#include <normal_fragment>","#include <emissivemap_fragment>","const mat4 diffuseMatrix = mat4(-0.07425443828105927, -0.05652861297130585, 0.12247831374406815, 0.2297295778989792,"," -0.05652860924601555, 0.034799136221408844, -0.08437120914459229, -0.13896968960762024,"," 0.12247832119464874, -0.08437121659517288, 0.021763987839221954, 0.12510454654693604,"," 0.2297295778989792, -0.13896968960762024, 0.12510454654693604, 0.6190560460090637);","const vec3 sunDir = vec3(-0.6632131338119507, 0.5486575961112976, -0.509041428565979);","vec3 viewDir = normalize( vViewPosition );","vec4 diffuseDir = diffuseMatrix * vec4(normal, 1.0);","float diffuseTerm = dot(vec4(normal, 1.0), diffuseDir);","float nv = max(dot(normal, -viewDir), 0.0);","float vl = max(dot(viewDir, sunDir), 0.0);","diffuseTerm = diffuseTerm + (nv * (1.0 - vl)) * 0.8;","vec3 H = -normalize(sunDir + viewDir);","float nh = max(dot(normal, H), 0.0);","float specularTerm = pow(nh, 100.0);","vec3 color = 1.05 * vec3(0.5, 0.497, 0.49) * (diffuse * diffuseTerm + vec3(specularTerm)) + diffuse * 0.5;","vec3 outgoingLight = color + totalEmissiveRadiance;","gl_FragColor = vec4( outgoingLight, diffuseColor.a );","#include <tonemapping_fragment>","#include <encodings_fragment>","#include <fog_fragment>","#include <premultiplied_alpha_fragment>","#include <dithering_fragment>","}"].join("\n"),ad=["#define EIMMODELPHYSICAL","mat3 transpose2( const in mat3 v ) {\n mat3 tmp;\n tmp[0] = vec3(v[0].x, v[1].x, v[2].x);\n tmp[1] = vec3(v[0].y, v[1].y, v[2].y);\n tmp[2] = vec3(v[0].z, v[1].z, v[2].z);\n return tmp;\n}\n","varying vec3 vViewPosition;","varying vec3 vWorldPosition;","#ifndef FLAT_SHADED"," varying vec3 vNormal;"," #ifdef USE_TANGENT"," varying vec3 vTangent;"," varying vec3 vBitangent;"," #endif","#endif","#ifdef USE_INSTANCE"," attribute float vState;"," attribute float vState2;"," varying float fState;"," attribute float vMirror;"," attribute vec4 aColor;"," varying vec4 vaColor;"," attribute vec3 mcol0;"," attribute vec3 mcol1;"," attribute vec3 mcol2;"," attribute vec3 mcol3;","#ifdef INSTANCE_STATE_TERTIARY"," attribute float vState3;","#endif","#endif","#include <common>","#include <uv_pars_vertex>","#include <uv2_pars_vertex>","#include <displacementmap_pars_vertex>","#include <color_pars_vertex>","#include <fog_pars_vertex>","#include <morphtarget_pars_vertex>","#include <skinning_pars_vertex>","#include <shadowmap_pars_vertex>","#include <specularmap_pars_fragment>","#include <logdepthbuf_pars_vertex>","#include <clipping_planes_pars_vertex>","mat3 inverse_mat3(in mat3 m)","{"," float determinant ="," m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2])"," - m[1][0] * (m[0][1] * m[2][2] - m[2][1] * m[0][2])"," + m[2][0] * (m[0][1] * m[1][2] - m[1][1] * m[0][2]);"," mat3 inverse;"," inverse[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]);"," inverse[1][0] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]);"," inverse[2][0] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]);"," inverse[0][1] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]);"," inverse[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]);"," inverse[2][1] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]);"," inverse[0][2] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]);"," inverse[1][2] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]);"," inverse[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]);"," inverse /= determinant;"," return inverse;","}","void main() {"," #include <uv_vertex>"," #ifdef USE_TRANSFORM_AOMAP"," #if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )"," vUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;"," #endif"," #endif "," #include <color_vertex>"," #include <beginnormal_vertex>"," #include <morphnormal_vertex>"," #include <skinbase_vertex>"," #include <skinnormal_vertex>"," #include <defaultnormal_vertex>"," #include <begin_vertex>","#ifdef USE_INSTANCE"," vaColor = aColor;"," #ifdef INSTANCE_STATE_SECONDARY"," fState = vState2;"," #else"," fState = vState;"," #endif"," #ifdef INSTANCE_STATE_TERTIARY"," fState = vState3;"," #endif"," transformed = vec3(mat4(vec4(mcol0, 0.0),"," vec4(mcol1, 0.0),"," vec4(mcol2, 0.0),"," vec4(mcol3, 1.0)) * vec4(transformed, 1.0));"," #ifdef USE_INSTANCE_NORMAL"," mat3 normalMat = mat3(mcol0, mcol1, mcol2);"," normalMat = inverse_mat3(normalMat);"," normalMat = transpose2(normalMat);"," transformedNormal = normalMat * objectNormal;"," transformedNormal = normalMatrix * transformedNormal;"," #ifdef FLIP_SIDED"," transformedNormal = - transformedNormal;"," #endif"," transformedNormal = normalize( transformedNormal );"," #endif","#endif","#ifndef FLAT_SHADED"," vNormal = normalize( transformedNormal );"," #ifdef USE_TANGENT"," vTangent = normalize( transformedTangent );"," vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );"," #endif","#endif"," #include <morphtarget_vertex>"," #include <skinning_vertex>"," #include <displacementmap_vertex>"," #include <project_vertex>"," #include <logdepthbuf_vertex>"," #include <clipping_planes_vertex>"," vViewPosition = - mvPosition.xyz;"," // 热力图"," #if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )|| defined(HEATMAPPOINTSCOUNT)"," vec4 worldPosition = vec4( transformed, 1.0 );"," #ifdef USE_INSTANCING"," worldPosition = instanceMatrix * worldPosition;"," #endif"," worldPosition = modelMatrix * worldPosition;"," vWorldPosition = vec3(worldPosition.xyz);"," #endif"," #include <shadowmap_vertex>"," #include <fog_vertex>","#ifdef USE_INSTANCE"," if (vMirror <= - 0.01){"," vNormal = vNormal * - 1.0;}","#endif","}"].join("\n"),sd=["#define EIMMODELPHYSICAL","#ifdef PHYSICAL"," #define REFLECTIVITY"," #define CLEARCOAT"," #define TRANSPARENCY","#endif","uniform vec3 diffuse;","uniform vec3 emissive;","uniform float roughness;","uniform float metalness;","uniform float opacity;","#ifdef TRANSPARENCY"," uniform float transparency;","#endif","#ifdef REFLECTIVITY"," uniform float reflectivity;","#endif","#ifdef CLEARCOAT"," uniform float clearcoat;"," uniform float clearcoatRoughness;","#endif","#ifdef USE_SHEEN"," uniform vec3 sheen;","#endif","uniform float imageFade;","varying vec3 vViewPosition;","varying vec3 vWorldPosition;","#ifndef FLAT_SHADED"," varying vec3 vNormal;"," #ifdef USE_TANGENT"," varying vec3 vTangent;"," varying vec3 vBitangent;"," #endif","#endif","#ifdef USE_INSTANCE"," varying vec4 vaColor;"," varying float fState;","#endif","uniform float shift;","uniform float A;","uniform float B;","uniform float C;","uniform float D;","uniform float E;","uniform float F;","uniform float scale;","uniform vec4 blinkColor;","uniform float colorState;","#ifdef HEATMAPPOINTSCOUNT"," uniform float heatmapPoints[HEATMAPPOINTSCOUNT];"," uniform sampler2D heatmapTexture;","#endif","vec3 toneMapCanonFilmic(vec3 color)","{"," color *= (1.0 / shift);"," return (((color * (A * color + C * B)) / (color * (A * color + B) + D * F))) * (1.0 / scale);","}","#include <common>","#include <packing>","#include <dithering_pars_fragment>","#include <color_pars_fragment>","#include <uv_pars_fragment>","#include <uv2_pars_fragment>","#include <map_pars_fragment>","#include <alphamap_pars_fragment>","#include <aomap_pars_fragment>","#include <lightmap_pars_fragment>","#include <emissivemap_pars_fragment>","#include <bsdfs>","#include <cube_uv_reflection_fragment>","#include <envmap_common_pars_fragment>","#include <envmap_physical_pars_fragment>","#include <fog_pars_fragment>","#include <lights_pars_begin>","#include <lights_physical_pars_fragment>","#include <shadowmap_pars_fragment>","#include <bumpmap_pars_fragment>","#include <normalmap_pars_fragment>","#include <clearcoat_pars_fragment>","#include <roughnessmap_pars_fragment>","#include <metalnessmap_pars_fragment>","#include <specularmap_pars_fragment>","#include <logdepthbuf_pars_fragment>","#include <clipping_planes_pars_fragment>","vec3 hdrDecode(in vec4 rgbm) {","const float rgbmScale = 2.82842712;","vec3 r = rgbm.rgb * (rgbmScale * (1.0 - rgbm.a));","return r * r;","}","vec3 linearToGammaUnreal(in vec3 rgb) {"," return rgb / (rgb + 0.187) * 1.035 * (0.5 / shift);","}","bool floatEqual(in float x, in float y) {"," return (x >= y - 0.01) && (x <= y + 0.01);","}","bool floatNotEqual(in float x, in float y) {"," return (x <= y - 0.01) || (x >= y + 0.01);","}","void main() {"," #include <clipping_planes_fragment>"," vec4 diffuseColor = vec4( diffuse, opacity );"," #ifdef USE_INSTANCE"," if (floatEqual(fState, -1.0)) "," discard;"," if (floatNotEqual(fState, 0.0)) "," diffuseColor = vaColor;"," #endif"," vec4 selectedColor = diffuseColor;"," ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );"," vec3 totalEmissiveRadiance = emissive;"," #include <logdepthbuf_fragment>"," #ifdef USE_MAP"," vec4 texelColor = texture2D( map, vUv );"," texelColor = mapTexelToLinear( texelColor );"," diffuseColor = vec4( mix(diffuseColor.rgb , texelColor.rgb, imageFade),opacity);"," #ifdef USE_INSTANCE"," if (floatNotEqual(fState, 0.0)) "," diffuseColor = vaColor;"," #endif"," #endif"," #include <color_fragment>"," #include <alphamap_fragment>"," #include <alphatest_fragment>"," #include <specularmap_fragment>"," #include <roughnessmap_fragment>"," #include <metalnessmap_fragment>","float flipNormal = 1.0;"," #include <normal_fragment_begin>"," #include <normal_fragment_maps>"," #include <clearcoat_normal_fragment_begin>"," #include <clearcoat_normal_fragment_maps>"," #include <emissivemap_fragment>"," #include <lights_physical_fragment>"," #include <lights_fragment_begin>"," #include <lights_fragment_maps>"," #include <lights_fragment_end>"," #include <aomap_fragment>","vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;","#ifdef USE_COLORWITHOUTLIGHT"," gl_FragColor = diffuseColor;","#else"," #ifdef TRANSPARENCY"," diffuseColor.a *= saturate( 1. - transparency + linearToRelativeLuminance( reflectedLight.directSpecular + reflectedLight.indirectSpecular ) );"," #endif"," gl_FragColor = vec4( outgoingLight, diffuseColor.a );","#endif","#ifdef USE_INSTANCE"," #ifdef NOTAFFECTEDBYLIGHT"," if (floatEqual(fState, 2.0))"," gl_FragColor = selectedColor;"," #endif"," #ifdef USE_MAP"," if (floatEqual(fState, 3.0))"," gl_FragColor = vaColor;"," #endif","#endif","#if defined( TONE_MAPPING )"," #if defined(USE_LIGHTMAP)"," gl_FragColor.rgb = linearToGammaUnreal(gl_FragColor.rgb );"," #else"," gl_FragColor.rgb = toneMapCanonFilmic( gl_FragColor.rgb );"," #endif","#endif","#ifdef USE_INSTANCE"," if (floatEqual(fState, 5.0) && floatEqual(colorState, 1.0))"," gl_FragColor = blinkColor;","#else"," if (floatEqual(colorState, 1.0))"," gl_FragColor = blinkColor;"," #ifdef NOTAFFECTEDBYLIGHT"," if (floatEqual(colorState, 2.0))"," gl_FragColor = selectedColor;"," #endif","#endif","#include <encodings_fragment>","#include <fog_fragment>","#include <premultiplied_alpha_fragment>","#include <dithering_fragment>","#ifdef HEATMAPPOINTSCOUNT"," float heatvalue = 0.0;"," for ( int i = 0; i < HEATMAPPOINTSCOUNT; i += 5 ) {"," float heatpointX = heatmapPoints[i];"," float heatpointY = heatmapPoints[i + 1];"," float heatpointZ = heatmapPoints[i + 2];"," // heatpointIndex保存的是当前热力点的热力值比上最大热力和最小热力差"," // 也就是在热力区间中的百分比位置为0的时候表示最小热力值1的时候表示最大热力值"," // 可以理解为就是热力点中心的热力值只不过范围是0-1"," // 热力最大值和最小值分别是所有热力点中热力最大和最小的值"," float heatpointIndex = heatmapPoints[i + 3];"," float heatpointRadius = heatmapPoints[i + 4];"," float dis = distance(vWorldPosition, vec3(heatpointX, heatpointY, heatpointZ));"," if(dis < heatpointRadius) {"," float step = dis / heatpointRadius;"," // 根据距离计算当前片元在当前热力点下的热力值"," // step表示距离范围0-1越小表示距离热力点越近热力越大将距离区间0-1和热力区间heatpointIndex-0对应起来"," float currentvalue = (1.0 - step) * heatpointIndex;"," // 这里用到了一个颜色叠加的公式,把每个热点对当前片元产生的热力进行叠加,"," // 没有特殊逻辑,也可以简单相加"," heatvalue = heatvalue + currentvalue - heatvalue * currentvalue;"," if (heatvalue > 1.0) {"," heatvalue = 1.0;"," break;"," }"," }"," }"," if (heatvalue > 0.0) {"," vec4 color = texture2D(heatmapTexture, vec2(heatvalue, 0.5));"," heatvalue = 0.5*heatvalue + 0.5;//使下列因子范围为1-0.5"," color = vec4( mix(gl_FragColor.rgb, color.rgb, heatvalue),gl_FragColor.a);"," gl_FragColor = color;"," }","#endif","}"].join("\n");tt.lights_pars=_h,tt.lights_template=$h,tt.normal_flip=Ad,tt.normal_fragment=ed,tt.meshphong_id_vert=od,tt.lights_fillFace_template=td,tt.fillFaceFragment=id,tt.standardVertex=ad,tt.bos3dStandardFragment=sd,tt.newStyleVertex=nd,tt.newStyleFragment=rd,it.fillFacePhong={uniforms:Ge.merge([Xe.common,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.gradientmap,Xe.fog,Xe.lights,{emissive:{value:new LA(0)},specular:{value:new LA(1118481)},shininess:{value:30}}]),vertexShader:tt.meshphong_id_vert,fragmentShader:tt.fillFaceFragment},it.newStyle={vertexShader:tt.newStyleVertex,fragmentShader:tt.newStyleFragment},it.bos3dStandard={vertexShader:tt.standardVertex,fragmentShader:tt.bos3dStandardFragment};var ld=function(A){yr.call(this),this.type="bos3dStandard",this.roughness=1,this.metalness=0,this.originRoughness=1,this.originMetalness=0,this.pureColor=0,this.textureColor=0,this.imageFade=1,this.transparentEx=!1,this.shift=.5,this.A=.64,this.B=.03,this.C=.02,this.D=.54,this.E=0,this.F=.81,this.scale=.92,this.shininess=30,this.specular=new LA(0);var e=(new LA).setHex(3330982),t=[e.r,e.g,e.b,1];this.colorState=Yc.NONE,this.blinkColor=(new p).fromArray(t),this.uniforms=Ge.merge([Xe.common,Xe.specularmap,Xe.envmap,Xe.aomap,Xe.lightmap,Xe.emissivemap,Xe.bumpmap,Xe.normalmap,Xe.displacementmap,Xe.roughnessmap,Xe.metalnessmap,Xe.fog,Xe.lights,{emissive:{value:new LA(0)},specular:{value:new LA(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}},{shift:{value:.5},A:{value:.64},B:{value:.03},C:{value:.02},D:{value:.54},E:{value:0},F:{value:.81},scale:{value:.92},colorState:{value:0},blinkColor:{value:(new p).fromArray(t)},imageFade:{value:1},heatmapPoints:{value:[]},heatmapTexture:{value:null}}]),this.vertexShader=tt.standardVertex,this.fragmentShader=tt.bos3dStandardFragment,this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},void 0!==A&&(void 0!==A.attributes&&Bh.error("IBLMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(A)),this.lights&&(this.uniforms=Ge.merge([this.uniforms,Xe.lights])),this.refreshUniforms&&this.refreshUniforms()};function cd(A,e){var t=(65535&A)+(65535&e);return(A>>16)+(e>>16)+(t>>16)<<16|65535&t}function hd(A,e,t,i,o,n){return cd((r=cd(cd(e,A),cd(i,n)))<<(a=o)|r>>>32-a,t);var r,a}function dd(A,e,t,i,o,n,r){return hd(e&t|~e&i,A,e,o,n,r)}function pd(A,e,t,i,o,n,r){return hd(e&i|t&~i,A,e,o,n,r)}function gd(A,e,t,i,o,n,r){return hd(e^t^i,A,e,o,n,r)}function ud(A,e,t,i,o,n,r){return hd(t^(e|~i),A,e,o,n,r)}function fd(A,e){var t,i,o,n,r;A[e>>5]|=128<<e%32,A[14+(e+64>>>9<<4)]=e;var a=1732584193,s=-271733879,l=-1732584194,c=271733878;for(t=0;A.length>t;t+=16)i=a,o=s,n=l,r=c,a=dd(a,s,l,c,A[t],7,-680876936),c=dd(c,a,s,l,A[t+1],12,-389564586),l=dd(l,c,a,s,A[t+2],17,606105819),s=dd(s,l,c,a,A[t+3],22,-1044525330),a=dd(a,s,l,c,A[t+4],7,-176418897),c=dd(c,a,s,l,A[t+5],12,1200080426),l=dd(l,c,a,s,A[t+6],17,-1473231341),s=dd(s,l,c,a,A[t+7],22,-45705983),a=dd(a,s,l,c,A[t+8],7,1770035416),c=dd(c,a,s,l,A[t+9],12,-1958414417),l=dd(l,c,a,s,A[t+10],17,-42063),s=dd(s,l,c,a,A[t+11],22,-1990404162),a=dd(a,s,l,c,A[t+12],7,1804603682),c=dd(c,a,s,l,A[t+13],12,-40341101),l=dd(l,c,a,s,A[t+14],17,-1502002290),a=pd(a,s=dd(s,l,c,a,A[t+15],22,1236535329),l,c,A[t+1],5,-165796510),c=pd(c,a,s,l,A[t+6],9,-1069501632),l=pd(l,c,a,s,A[t+11],14,643717713),s=pd(s,l,c,a,A[t],20,-373897302),a=pd(a,s,l,c,A[t+5],5,-701558691),c=pd(c,a,s,l,A[t+10],9,38016083),l=pd(l,c,a,s,A[t+15],14,-660478335),s=pd(s,l,c,a,A[t+4],20,-405537848),a=pd(a,s,l,c,A[t+9],5,568446438),c=pd(c,a,s,l,A[t+14],9,-1019803690),l=pd(l,c,a,s,A[t+3],14,-187363961),s=pd(s,l,c,a,A[t+8],20,1163531501),a=pd(a,s,l,c,A[t+13],5,-1444681467),c=pd(c,a,s,l,A[t+2],9,-51403784),l=pd(l,c,a,s,A[t+7],14,1735328473),a=gd(a,s=pd(s,l,c,a,A[t+12],20,-1926607734),l,c,A[t+5],4,-378558),c=gd(c,a,s,l,A[t+8],11,-2022574463),l=gd(l,c,a,s,A[t+11],16,1839030562),s=gd(s,l,c,a,A[t+14],23,-35309556),a=gd(a,s,l,c,A[t+1],4,-1530992060),c=gd(c,a,s,l,A[t+4],11,1272893353),l=gd(l,c,a,s,A[t+7],16,-155497632),s=gd(s,l,c,a,A[t+10],23,-1094730640),a=gd(a,s,l,c,A[t+13],4,681279174),c=gd(c,a,s,l,A[t],11,-358537222),l=gd(l,c,a,s,A[t+3],16,-722521979),s=gd(s,l,c,a,A[t+6],23,76029189),a=gd(a,s,l,c,A[t+9],4,-640364487),c=gd(c,a,s,l,A[t+12],11,-421815835),l=gd(l,c,a,s,A[t+15],16,530742520),a=ud(a,s=gd(s,l,c,a,A[t+2],23,-995338651),l,c,A[t],6,-198630844),c=ud(c,a,s,l,A[t+7],10,1126891415),l=ud(l,c,a,s,A[t+14],15,-1416354905),s=ud(s,l,c,a,A[t+5],21,-57434055),a=ud(a,s,l,c,A[t+12],6,1700485571),c=ud(c,a,s,l,A[t+3],10,-1894986606),l=ud(l,c,a,s,A[t+10],15,-1051523),s=ud(s,l,c,a,A[t+1],21,-2054922799),a=ud(a,s,l,c,A[t+8],6,1873313359),c=ud(c,a,s,l,A[t+15],10,-30611744),l=ud(l,c,a,s,A[t+6],15,-1560198380),s=ud(s,l,c,a,A[t+13],21,1309151649),a=ud(a,s,l,c,A[t+4],6,-145523070),c=ud(c,a,s,l,A[t+11],10,-1120210379),l=ud(l,c,a,s,A[t+2],15,718787259),s=ud(s,l,c,a,A[t+9],21,-343485551),a=cd(a,i),s=cd(s,o),l=cd(l,n),c=cd(c,r);return[a,s,l,c]}function md(A){var e,t="",i=32*A.length;for(e=0;i>e;e+=8)t+=String.fromCharCode(A[e>>5]>>>e%32&255);return t}function Cd(A){var e,t=[];for(t[(A.length>>2)-1]=void 0,e=0;t.length>e;e+=1)t[e]=0;var i=8*A.length;for(e=0;i>e;e+=8)t[e>>5]|=(255&A.charCodeAt(e/8))<<e%32;return t}function yd(A){var e,t,i="";for(t=0;A.length>t;t+=1)e=A.charCodeAt(t),i+="0123456789abcdef".charAt(e>>>4&15)+"0123456789abcdef".charAt(15&e);return i}function vd(A){return unescape(encodeURIComponent(A))}function Id(A){return function(A){return md(fd(Cd(A),8*A.length))}(vd(A))}function Ed(A,e){return function(A,e){var t,i,o=Cd(A),n=[],r=[];for(n[15]=r[15]=void 0,o.length>16&&(o=fd(o,8*A.length)),t=0;16>t;t+=1)n[t]=909522486^o[t],r[t]=1549556828^o[t];return i=fd(n.concat(Cd(e)),512+8*e.length),md(fd(r.concat(i),640))}(vd(A),vd(e))}function Bd(A,e,t){return e?t?Ed(e,A):yd(Ed(e,A)):t?Id(A):yd(Id(A))}(ld.prototype=Object.create(yr.prototype)).constructor=ld,ld.prototype.destroy=function(){yr.prototype.dispose.call(this),this.blinkColor=null,this.uniforms=null,this.defaultAttributeValues=null,this.lights=null},ld.prototype.copy=function(A){return yr.prototype.copy.call(this,A),this.shift=A.shift,this.A=A.A,this.B=A.B,this.C=A.C,this.D=A.D,this.E=A.E,this.F=A.F,this.scale=A.scale,this.colorState=A.colorState,this.blinkColor.copy(A.blinkColor),this.imageFade=A.imageFade,Object.assign(this.defines,A.defines),this},ld.prototype.refreshUniforms=function(){this.uniforms.shift.value=this.shift,this.uniforms.A.value=this.A,this.uniforms.B.value=this.B,this.uniforms.C.value=this.C,this.uniforms.D.value=this.D,this.uniforms.E.value=this.E,this.uniforms.F.value=this.F,this.uniforms.scale.value=this.scale,this.uniforms.blinkColor.value.copy(this.blinkColor),this.uniforms.colorState.value=this.colorState,this.uniforms.imageFade.value=this.imageFade},ld.prototype.setBlinkColor=function(A){this.blinkColor.fromArray(A.toArray()),this.uniforms.blinkColor.value.copy(this.blinkColor),this.uniforms.colorState.value=Yc.BLINK},ld.prototype.updateBlinkUniformValue=function(A,e){this.uniforms.colorState.value=A,this.uniforms.blinkColor.value.copy(e)},ld.prototype.resetBlinkUniformValue=function(){this.uniforms.colorState.value=this.colorState,this.uniforms.blinkColor.value.copy(this.blinkColor)},Object.defineProperties(ld.prototype,{transparent:{set:function(A){this.transparentEx=A,vc.notDepthWriteByTransparent&&(this.depthWrite=!A)},get:function(){return this.transparentEx}}});var xd={REGULAR:0,FRACTAL:1,DISORDER:2},Sd={type:xd.REGULAR,color1:new Xh(0,0,0,1),color2:new Xh(255,255,255,1),size:10,level:1,phase:1,width:32,height:32,thresholdLow:0,thresholdHigh:1};function wd(){this.m=2147483647,this.a=16807,this.q=127773,this.r=2836,this.seed=1,this.setSeed=function(A){A>0||(A=-A%(this.m-1)+1),A>this.m-1&&(A=this.m-1),this.seed=A},this.nextLong=function(){var A=this.a*(this.seed%this.q)-this.r*Math.floor(this.seed/this.q);return A>0||(A+=this.m),this.seed=A,A},this.next=function(){return this.nextLong()/this.m}}function Md(A,e,t){this.width=A,this.height=e,this.randseed=t,this.gradients=new Array(A*e*2);var i=new wd;i.setSeed(t);for(var o=0;this.gradients.length>o;o+=2){var n,r,a=i.next()*Math.PI*2;n=Math.sin(a),r=Math.cos(a),this.gradients[o]=n,this.gradients[o+1]=r}this.dot=function(A,e,t,i){var o=2*(A+e*this.width);return this.gradients[o]*t+this.gradients[o+1]*i},this.lerp=function(A,e,t){return A+t*(e-A)},this.sCurve=function(A){return A*A*(3-2*A)},this.getValue=function(A,e,t,i){var o=Math.floor(A),n=Math.floor(e),r=A-o,a=e-n,s=o,l=n,c=o===this.width-1?0:o+1,h=n===this.height-1?0:n+1,d=this.dot(s,l,r,a),p=this.dot(c,l,r-1,a),g=this.dot(s,h,r,a-1),u=this.dot(c,h,r-1,a-1),f=this.lerp(d,p,this.sCurve(r)),m=this.lerp(g,u,this.sCurve(r));return this.lerp(f,m,this.sCurve(a))}}var bd,Ud,Fd=function(A){var e=Object.assign({},Sd,A);switch(e.type){case xd.REGULAR:return function(A){var e=10*A.width,t=10*A.height;if(!(A.color1 instanceof Xh))return Bh.warn("color1 不合法"),null;if(!(A.color2 instanceof Xh))return Bh.warn("color2 不合法"),null;var i=A.color1.toRGBArray(),o=A.color2.toRGBArray(),n=A.thresholdLow,r=A.thresholdHigh,a=10*A.size,s=A.phase;1===a&&(a=1.1);for(var l=new Array(e*t*4),c=new Md(Math.ceil(e/a),Math.ceil(t/a),s),h=0,d=0,p=0,g=0,u=0,f=0,m=0;t>m;m+=1)for(var C=0;e>C;C+=1){var y=(c.getValue(C/a,m/a)+1)/2;if(y>r)h=o[0],d=o[1],p=o[2];else if(n>y)h=i[0],d=i[1],p=i[2];else if(y>=n&&r>=y||n===r){var v=(y-n)/(r-n||1);g=o[0]*v,u=o[1]*v,f=o[2]*v,h=i[0]*(v=1-v)+g,d=i[1]*v+u,p=i[2]*v+f}var I=4*(m*e+C);l[I]=h,l[I+1]=d,l[I+2]=p,l[I+3]=255}var E=document.createElement("canvas");E.width=e,E.height=t;for(var B=E.getContext("2d"),x=B.createImageData(e,t),S=0,w=e*t*4;w>S;S+=1)x.data[S]=l[S];return B.putImageData(x,0,0),E.toDataURL()}(e);case xd.FRACTAL:return function(A){var e=10*A.width,t=10*A.height;if(!(A.color1 instanceof Xh))return Bh.warn("color1 不合法"),null;if(!(A.color2 instanceof Xh))return Bh.warn("color2 不合法"),null;var i=A.color1.toRGBArray(),o=A.color2.toRGBArray(),n=A.thresholdLow,r=A.thresholdHigh,a=10*A.size,s=A.phase,l=A.level;1===a&&(a=1.1);for(var c=new Array(e*t*4),h=[],d=a,p=0,g=l;g>p;p+=1){var u=new Md(Math.ceil(e/d),Math.ceil(t/d),s);d/=2,h.push(u)}for(var f=0,m=0,C=0,y=0,v=0,I=0,E=0;t>E;E+=1)for(var B=0;e>B;B+=1){for(var x=0,S=a,w=0,M=l;M>w;w+=1)x+=h[w].getValue(B/S,E/S,s)*(l-w),S/=2;var b=((x/=l)+1)/2;if(b>r)f=o[0],m=o[1],C=o[2];else if(n>b)f=i[0],m=i[1],C=i[2];else if(b>=n&&r>=b||n===r){var U=(b-n)/(r-n||1);y=o[0]*U,v=o[1]*U,I=o[2]*U,f=i[0]*(U=1-U)+y,m=i[1]*U+v,C=i[2]*U+I}var F=4*(E*e+B);c[F]=f,c[F+1]=m,c[F+2]=C,c[F+3]=255}var K=document.createElement("canvas");K.width=e,K.height=t;for(var Q=K.getContext("2d"),R=Q.createImageData(e,t),T=0,k=e*t*4;k>T;T+=1)R.data[T]=c[T];return Q.putImageData(R,0,0),K.toDataURL()}(e);case xd.DISORDER:return function(A){var e=10*A.width,t=10*A.height;if(!(A.color1 instanceof Xh))return Bh.warn("color1 不合法"),null;if(!(A.color2 instanceof Xh))return Bh.warn("color2 不合法"),null;var i=A.color1.toRGBArray(),o=A.color2.toRGBArray(),n=A.thresholdLow,r=A.thresholdHigh,a=10*A.size,s=A.phase,l=A.level;1===a&&(a=1.1);for(var c=new Array(e*t*4),h=[],d=a,p=0,g=l;g>p;p+=1){var u=new Md(Math.ceil(e/d),Math.ceil(t/d),s);d/=2,h.push(u)}for(var f=0,m=0,C=0,y=0,v=0,I=0,E=0;t>E;E+=1)for(var B=0;e>B;B+=1){for(var x=0,S=a,w=0,M=l;M>w;w+=1)x+=h[w].getValue(B/S,E/S,s)*(l-w),S/=2;x/=l;var b=Math.abs(x)+.05;if(b>r)f=o[0],m=o[1],C=o[2];else if(n>b)f=i[0],m=i[1],C=i[2];else if(b>=n&&r>=b||n===r){var U=(b-n)/(r-n||1);y=o[0]*U,v=o[1]*U,I=o[2]*U,f=i[0]*(U=1-U)+y,m=i[1]*U+v,C=i[2]*U+I}var F=4*(E*e+B);c[F]=f,c[F+1]=m,c[F+2]=C,c[F+3]=255}var K=document.createElement("canvas");K.width=e,K.height=t;for(var Q=K.getContext("2d"),R=Q.createImageData(e,t),T=0,k=e*t*4;k>T;T+=1)R.data[T]=c[T];return Q.putImageData(R,0,0),K.toDataURL()}(e);default:return Bh.warn("不支持的噪波类型"),null}},Kd={DefaultMaterial:new Ir({color:255,side:2}),DefaultWireframeColor:{color:new LA(0,0,0),opacity:.4},getDefaultStandardMaterial:(bd=null,function(){return bd||(bd=new ld({color:0,side:2})),bd}),createInstancePhongMaterial:function(A){return A.clone()},updateBasicMaterial:function(A,e){A.needsUpdate=!0},setMatrixUniform:function(A){},createPhongMaterial:function(A){var e=new Ir(A);return e.type="FillFacePhong",e.uniforms=Ge.merge([it.fillFacePhong.uniforms]),e.vertexShader=it.fillFacePhong.vertexShader,e.fragmentShader=it.fillFacePhong.fragmentShader,e.side=2,e},createStandardMaterial:function(A){var e=new ld(A);return vc.EnableTransformAoMap&&(e.defines.USE_TRANSFORM_AOMAP=""),e},createInstanceMaterial:function(A,e){var t=Kd.createStandardMaterial(A);return t.defines.USE_INSTANCE="",e&&(t.defines.USE_INSTANCE_NORMAL=""),t.colorState=Yc.BLINK,vc.InfluencedByLight||(t.defines.NOTAFFECTEDBYLIGHT=""),t.refreshUniforms(),t},createMaterialByMaterialBufferAndTexture:function(A,e){var t,i,o,n,r,a,l,c,h=Kd.createStandardMaterial();if((h.name=A.name||A.id,h.key=A.id,A.emissive&&h.emissive&&(1===A.emissive[0]&&1===A.emissive[1]&&1===A.emissive[2]||h.emissive.setRGB(A.emissive[0],A.emissive[1],A.emissive[2])),A.specular&&h.specular&&h.specular.setRGB(A.specular[0],A.specular[1],A.specular[2]),A.color?h.color.setRGB(A.color[0],A.color[1],A.color[2]):A.emissive&&h.emissive?h.color.setRGB(0,0,0):h.color.setRGB(.72,.72,.72),A.tint&&(h.imageFade=void 0===A.imageFade||0>A.imageFade||A.imageFade>10?.5:A.imageFade,h.color.setRGB(A.tint[0],A.tint[1],A.tint[2])),A.map&&vc.EnableTextureLoading)&&("string"==typeof A.map?void 0!==A.mapOffsetY&&0!==A.mapOffsetY||void 0!==A.mapOffsetX&&0!==A.mapOfsfetX||void 0!==A.mapScaleX&&1!==A.mapScaleX||void 0!==A.mapScaleY&&1!==A.mapScaleY||void 0!==A.mapWAngle&&0!==A.mapWAngle?t=A.mapOffsetX+"_"+A.mapOffsetY+"_"+A.mapScaleX+"_"+A.mapScaleY+"_"+A.mapWAngle+"_"+A.map:e[A.map]?h.map=e[A.map]:Bh.warn(h.name," 中map贴图未找到",A.map):t=Bd(JSON.stringify(A.map)),t))if(e[t])h.map=e[t];else{var p=new d;if(p.wrapS=p.wrapT=1e3,"string"==typeof A.map)p.image=e[A.map]&&e[A.map].image?e[A.map].image:null;else{var g=A.map,u=document.createElement("img"),f=Fd({type:Number(g.noise_Type),color1:(new Xh).fromArray(g.noise_Color1),color2:(new Xh).fromArray(g.noise_Color2),size:g.noise_Size,level:g.noise_Levels,phase:g.noise_Phase,width:32,height:32,thresholdLow:g.noise_ThresholdLow,thresholdHigh:g.noise_ThresholdHigh});f&&(u.src=f,p.image=u)}p.needsUpdate=!0,p.image&&(p.offset.x=A.mapOffsetX?A.mapOffsetX:0,p.offset.y=A.mapOffsetY?A.mapOffsetY:0,p.repeat.x=A.mapScaleX?A.mapScaleX:1,p.repeat.y=A.mapScaleY?A.mapScaleY:1,p.rotation=A.mapWAngle?A.mapWAngle:0,e[t]=p,h.map=p)}if(A.bumpMap&&vc.EnableTextureLoading&&("string"==typeof A.bumpMap?void 0!==A.bumpMapOffsetY&&0!==A.bumpMapOffsetY||void 0!==A.bumpMapOffsetX&&0!==A.bumpMapOfsfetX||void 0!==A.bumpMapScaleX&&1!==A.bumpMapScaleX||void 0!==A.bumpMapScaleY&&1!==A.bumpMapScaleY||void 0!==A.bumpMapWAngle&&0!==A.bumpMapWAngle?i=A.bumpMapOffsetX+"_"+A.bumpMapOffsetY+"_"+A.bumpMapScaleX+"_"+A.bumpMapScaleY+"_"+A.bumpMapWAngle+"_"+A.bumpMap:e[A.bumpMap]?h.bumpMap=e[A.bumpMap]:Bh.warn(h.name," 中bumpMap贴图未找到",A.bumpMap):i=Bd(JSON.stringify(A.bumpMap)),i))if(e[i])h.bumpMap=e[i];else{var m=new d;if(m.wrapS=m.wrapT=1e3,"string"==typeof A.bumpMap)m.image=e[A.bumpMap]&&e[A.bumpMap].image?e[A.bumpMap].image:null;else{var C=A.bumpMap,y=document.createElement("img"),v=Fd({type:Number(C.noise_Type),color1:(new Xh).fromArray(C.noise_Color1),color2:(new Xh).fromArray(C.noise_Color2),size:C.noise_Size,level:C.noise_Levels,phase:C.noise_Phase,width:32,height:32,thresholdLow:C.noise_ThresholdLow,thresholdHigh:C.noise_ThresholdHigh});v&&(y.src=v,m.image=y)}m.needsUpdate=!0,m.image&&(m.offset.x=A.bumpMapOffsetX?A.bumpMapOffsetX:0,m.offset.y=A.bumpMapOffsetY?A.bumpMapOffsetY:0,m.repeat.x=A.bumpMapScaleX?A.bumpMapScaleX:1,m.repeat.y=A.bumpMapScaleY?A.bumpMapScaleY:1,m.rotation=A.bumpMapWAngle?A.bumpMapWAngle:0,e[i]=m,h.bumpMap=m)}if((void 0!==A.bumpScale&&(h.bumpScale=A.bumpScale),A.aoMap&&vc.EnableTextureLoading)&&("string"==typeof A.aoMap?void 0!==A.aoMapOffsetY&&0!==A.aoMapOffsetY||void 0!==A.aoMapOffsetX&&0!==A.aoMapOfsfetX||void 0!==A.aoMapScaleX&&1!==A.aoMapScaleX||void 0!==A.aoMapScaleY&&1!==A.aoMapScaleY||void 0!==A.aoMapWAngle&&0!==A.aoMapWAngle?o=A.aoMapOffsetX+"_"+A.aoMapOffsetY+"_"+A.aoMapScaleX+"_"+A.aoMapScaleY+"_"+A.aoMapWAngle+"_"+A.aoMap:e[A.aoMap]?h.aoMap=e[A.aoMap]:Bh.warn(h.name," 中aoMap贴图未找到",A.aoMap):o=Bd(JSON.stringify(A.aoMap)),o))if(e[o])h.aoMap=e[o];else{var I=new d;if(I.wrapS=I.wrapT=1e3,"string"==typeof A.aoMap)I.image=e[A.aoMap]&&e[A.aoMap].image?e[A.aoMap].image:null;else{var E=A.aoMap,B=document.createElement("img"),x=Fd({type:Number(E.noise_Type),color1:(new Xh).fromArray(E.noise_Color1),color2:(new Xh).fromArray(E.noise_Color2),size:E.noise_Size,level:E.noise_Levels,phase:E.noise_Phase,width:32,height:32,thresholdLow:E.noise_ThresholdLow,thresholdHigh:E.noise_ThresholdHigh});x&&(B.src=x,I.image=B)}I.needsUpdate=!0,I.image&&(I.offset.x=A.aoMapOffsetX?A.aoMapOffsetX:0,I.offset.y=A.aoMapOffsetY?A.aoMapOffsetY:0,I.repeat.x=A.aoMapScaleX?A.aoMapScaleX:1,I.repeat.y=A.aoMapScaleY?A.aoMapScaleY:1,I.rotation=A.aoMapWAngle?A.aoMapWAngle:0,e[o]=I,h.aoMap=I)}if((void 0!==A.aoMapIntensity&&(h.aoMapIntensity=A.aoMapIntensity),A.normalMap&&vc.EnableTextureLoading)&&("string"==typeof A.normalMap?void 0!==A.normalMapOffsetY&&0!==A.normalMapOffsetY||void 0!==A.normalMapOffsetX&&0!==A.normalMapOfsfetX||void 0!==A.normalMapScaleX&&1!==A.normalMapScaleX||void 0!==A.normalMapScaleY&&1!==A.normalMapScaleY||void 0!==A.normalMapWAngle&&0!==A.normalMapWAngle?n=A.normalMapOffsetX+"_"+A.normalMapOffsetY+"_"+A.normalMapScaleX+"_"+A.normalMapScaleY+"_"+A.normalMapWAngle+"_"+A.normalMap:e[A.normalMap]?h.normalMap=e[A.normalMap]:Bh.warn(h.name," 中normalMap贴图未找到",A.normalMap):n=Bd(JSON.stringify(A.normalMap)),n))if(e[n])h.normalMap=e[n];else{var S=new d;if(S.wrapS=S.wrapT=1e3,"string"==typeof A.normalMap)S.image=e[A.normalMap]&&e[A.normalMap].image?e[A.normalMap].image:null;else{var w=A.normalMap,M=document.createElement("img"),b=Fd({type:Number(w.noise_Type),color1:(new Xh).fromArray(w.noise_Color1),color2:(new Xh).fromArray(w.noise_Color2),size:w.noise_Size,level:w.noise_Levels,phase:w.noise_Phase,width:32,height:32,thresholdLow:w.noise_ThresholdLow,thresholdHigh:w.noise_ThresholdHigh});b&&(M.src=b,S.image=M)}S.needsUpdate=!0,S.image&&(S.offset.x=A.normalMapOffsetX?A.normalMapOffsetX:0,S.offset.y=A.normalMapOffsetY?A.normalMapOffsetY:0,S.repeat.x=A.normalMapScaleX?A.normalMapScaleX:1,S.repeat.y=A.normalMapScaleY?A.normalMapScaleY:1,S.rotation=A.normalMapWAngle?A.normalMapWAngle:0,e[n]=S,h.normalMap=S)}if(void 0!==A.normalScale&&(h.normalScale=(new s).fromArray(A.normalScale)),A.alphaMap&&vc.EnableTextureLoading){var U;if("string"==typeof A.alphaMap?void 0!==A.alphaMapOffsetY&&0!==A.alphaMapOffsetY||void 0!==A.alphaMapOffsetX&&0!==A.alphaMapOfsfetX||void 0!==A.alphaMapScaleX&&1!==A.alphaMapScaleX||void 0!==A.alphaMapScaleY&&1!==A.alphaMapScaleY||void 0!==A.alphaMapWAngle&&0!==A.alphaMapWAngle?U=A.alphaMapOffsetX+"_"+A.alphaMapOffsetY+"_"+A.alphaMapScaleX+"_"+A.alphaMapScaleY+"_"+A.alphaMapWAngle+"_"+A.alphaMap:e[A.alphaMap]?h.alphaMap=e[A.alphaMap]:Bh.warn(h.name," 中alphaMap贴图未找到",A.alphaMap):U=Bd(JSON.stringify(A.alphaMap)),U)if(e[U])h.alphaMap=e[U];else{var F=new d;if(F.wrapS=F.wrapT=1e3,"string"==typeof A.alphaMap)F.image=e[A.alphaMap]&&e[A.alphaMap].image?e[A.alphaMap].image:null;else{var K=A.alphaMap,Q=document.createElement("img"),R=Fd({type:Number(K.noise_Type),color1:(new Xh).fromArray(K.noise_Color1),color2:(new Xh).fromArray(K.noise_Color2),size:K.noise_Size,level:K.noise_Levels,phase:K.noise_Phase,width:32,height:32,thresholdLow:K.noise_ThresholdLow,thresholdHigh:K.noise_ThresholdHigh});R&&(Q.src=R,F.image=Q)}F.needsUpdate=!0,F.image&&(F.offset.x=A.alphaMapOffsetX?A.alphaMapOffsetX:0,F.offset.y=A.alphaMapOffsetY?A.alphaMapOffsetY:0,F.repeat.x=A.alphaMapScaleX?A.alphaMapScaleX:1,F.repeat.y=A.alphaMapScaleY?A.alphaMapScaleY:1,F.rotation=A.alphaMapWAngle?A.alphaMapWAngle:0,e[U]=F,h.alphaMap=F)}h.transparent=!0,h.alphaTest=Number.isNaN(vc.alphaTest)?.5:vc.alphaTest}if(A.envMap&&vc.EnableTextureLoading&&("string"==typeof A.envMap?void 0!==A.envMapOffsetY&&0!==A.envMapOffsetY||void 0!==A.envMapOffsetX&&0!==A.envMapOfsfetX||void 0!==A.envMapScaleX&&1!==A.envMapScaleX||void 0!==A.envMapScaleY&&1!==A.envMapScaleY||void 0!==A.envMapWAngle&&0!==A.envMapWAngle?r=A.envMapOffsetX+"_"+A.envMapOffsetY+"_"+A.envMapScaleX+"_"+A.envMapScaleY+"_"+A.envMapWAngle+"_"+A.envMap:e[A.envMap]?h.envMap=e[A.envMap]:Bh.warn(h.name," 中envMap贴图未找到",A.envMap):r=Bd(JSON.stringify(A.envMap)),r))if(e[r])h.envMap=e[r];else{var T=new d;if(T.wrapS=T.wrapT=1e3,"string"==typeof A.envMap)T.image=e[A.envMap]&&e[A.envMap].image?e[A.envMap].image:null;else{var k=A.envMap,D=document.createElement("img"),L=Fd({type:Number(k.noise_Type),color1:(new Xh).fromArray(k.noise_Color1),color2:(new Xh).fromArray(k.noise_Color2),size:k.noise_Size,level:k.noise_Levels,phase:k.noise_Phase,width:32,height:32,thresholdLow:k.noise_ThresholdLow,thresholdHigh:k.noise_ThresholdHigh});L&&(D.src=L,T.image=D)}T.needsUpdate=!0,T.image&&(T.offset.x=A.envMapOffsetX?A.envMapOffsetX:0,T.offset.y=A.envMapOffsetY?A.envMapOffsetY:0,T.repeat.x=A.envMapScaleX?A.envMapScaleX:1,T.repeat.y=A.envMapScaleY?A.envMapScaleY:1,T.rotation=A.envMapWAngle?A.envMapWAngle:0,e[r]=T,h.envMap=T)}if(A.lightMap&&vc.EnableTextureLoading&&("string"==typeof A.lightMap?void 0!==A.lightMapOffsetY&&0!==A.lightMapOffsetY||void 0!==A.lightMapOffsetX&&0!==A.lightMapOfsfetX||void 0!==A.lightMapScaleX&&1!==A.lightMapScaleX||void 0!==A.lightMapScaleY&&1!==A.lightMapScaleY||void 0!==A.lightMapWAngle&&0!==A.lightMapWAngle?a=A.lightMapOffsetX+"_"+A.lightMapOffsetY+"_"+A.lightMapScaleX+"_"+A.lightMapScaleY+"_"+A.lightMapWAngle+"_"+A.lightMap:e[A.lightMap]?h.lightMap=e[A.lightMap]:Bh.warn(h.name," 中lightMap贴图未找到",A.lightMap):a=Bd(JSON.stringify(A.lightMap)),a))if(e[a])h.lightMap=e[a];else{var N=new d;if(N.wrapS=N.wrapT=1e3,"string"==typeof A.lightMap)N.image=e[A.lightMap]&&e[A.lightMap].image?e[A.lightMap].image:null;else{var O=A.lightMap,V=document.createElement("img"),G=Fd({type:Number(O.noise_Type),color1:(new Xh).fromArray(O.noise_Color1),color2:(new Xh).fromArray(O.noise_Color2),size:O.noise_Size,level:O.noise_Levels,phase:O.noise_Phase,width:32,height:32,thresholdLow:O.noise_ThresholdLow,thresholdHigh:O.noise_ThresholdHigh});G&&(V.src=G,N.image=V)}N.needsUpdate=!0,N.image&&(N.offset.x=A.lightMapOffsetX?A.lightMapOffsetX:0,N.offset.y=A.lightMapOffsetY?A.lightMapOffsetY:0,N.repeat.x=A.lightMapScaleX?A.lightMapScaleX:1,N.repeat.y=A.lightMapScaleY?A.lightMapScaleY:1,N.rotation=A.lightMapWAngle?A.lightMapWAngle:0,e[a]=N,h.lightMap=N)}if((void 0!==A.lightMapIntensity&&(h.lightMapIntensity=A.lightMapIntensity),A.emissiveMap&&vc.EnableTextureLoading)&&("string"==typeof A.emissiveMap?void 0!==A.emissiveMapOffsetY&&0!==A.emissiveMapOffsetY||void 0!==A.emissiveMapOffsetX&&0!==A.emissiveMapOfsfetX||void 0!==A.emissiveMapScaleX&&1!==A.emissiveMapScaleX||void 0!==A.emissiveMapScaleY&&1!==A.emissiveMapScaleY||void 0!==A.emissiveMapWAngle&&0!==A.emissiveMapWAngle?l=A.emissiveMapOffsetX+"_"+A.emissiveMapOffsetY+"_"+A.emissiveMapScaleX+"_"+A.emissiveMapScaleY+"_"+A.emissiveMapWAngle+"_"+A.emissiveMap:e[A.emissiveMap]?h.emissiveMap=e[A.emissiveMap]:Bh.warn(h.name," 中emissiveMap贴图未找到",A.emissiveMap):l=Bd(JSON.stringify(A.emissiveMap)),l))if(e[l])h.emissiveMap=e[l];else{var P=new d;if(P.wrapS=P.wrapT=1e3,"string"==typeof A.emissiveMap)P.image=e[A.emissiveMap]&&e[A.emissiveMap].image?e[A.emissiveMap].image:null;else{var q=A.emissiveMap,j=document.createElement("img"),H=Fd({type:Number(q.noise_Type),color1:(new Xh).fromArray(q.noise_Color1),color2:(new Xh).fromArray(q.noise_Color2),size:q.noise_Size,level:q.noise_Levels,phase:q.noise_Phase,width:32,height:32,thresholdLow:q.noise_ThresholdLow,thresholdHigh:q.noise_ThresholdHigh});H&&(j.src=H,P.image=j)}P.needsUpdate=!0,P.image&&(P.offset.x=A.emissiveMapOffsetX?A.emissiveMapOffsetX:0,P.offset.y=A.emissiveMapOffsetY?A.emissiveMapOffsetY:0,P.repeat.x=A.emissiveMapScaleX?A.emissiveMapScaleX:1,P.repeat.y=A.emissiveMapScaleY?A.emissiveMapScaleY:1,P.rotation=A.emissiveMapWAngle?A.emissiveMapWAngle:0,e[l]=P,h.emissiveMap=P)}if((void 0!==A.emissiveIntensity&&(h.emissiveIntensity=A.emissiveIntensity),A.specularMap&&vc.EnableTextureLoading)&&("string"==typeof A.specularMap?void 0!==A.specularMapOffsetY&&0!==A.specularMapOffsetY||void 0!==A.specularMapOffsetX&&0!==A.specularMapOfsfetX||void 0!==A.specularMapScaleX&&1!==A.specularMapScaleX||void 0!==A.specularMapScaleY&&1!==A.specularMapScaleY||void 0!==A.specularMapWAngle&&0!==A.specularMapWAngle?c=A.specularMapOffsetX+"_"+A.specularMapOffsetY+"_"+A.specularMapScaleX+"_"+A.specularMapScaleY+"_"+A.specularMapWAngle+"_"+A.specularMap:e[A.specularMap]?h.specularMap=e[A.specularMap]:Bh.warn(h.name," 中specularMap贴图未找到",A.specularMap):c=Bd(JSON.stringify(A.specularMap)),c))if(e[c])h.specularMap=e[c];else{var Y=new d;if(Y.wrapS=Y.wrapT=1e3,"string"==typeof A.specularMap)Y.image=e[A.specularMap]&&e[A.specularMap].image?e[A.specularMap].image:null;else{var W=A.specularMap,J=document.createElement("img"),z=Fd({type:Number(W.noise_Type),color1:(new Xh).fromArray(W.noise_Color1),color2:(new Xh).fromArray(W.noise_Color2),size:W.noise_Size,level:W.noise_Levels,phase:W.noise_Phase,width:32,height:32,thresholdLow:W.noise_ThresholdLow,thresholdHigh:W.noise_ThresholdHigh});z&&(J.src=z,Y.image=J)}Y.needsUpdate=!0,Y.image&&(Y.offset.x=A.specularMapOffsetX?A.specularMapOffsetX:0,Y.offset.y=A.specularMapOffsetY?A.specularMapOffsetY:0,Y.repeat.x=A.specularMapScaleX?A.specularMapScaleX:1,Y.repeat.y=A.specularMapScaleY?A.specularMapScaleY:1,Y.rotation=A.specularMapWAngle?A.specularMapWAngle:0,e[c]=Y,h.specularMap=Y)}return void 0!==A.shininess&&(h.shininess=A.shininess),void 0!==A.opacity&&(h.opacity=A.opacity,1>A.opacity&&(h.transparent=!0),A.opacity>0||(h.opacity=.1)),h.side=2,h.refreshUniforms&&h.refreshUniforms(),h},createNewStyleMaterial:function(A){var e=new yr(A);return e.type="NewStyle",e.uniforms=Ge.merge([it.standard.uniforms]),e.vertexShader=it.newStyle.vertexShader,e.fragmentShader=it.newStyle.fragmentShader,e.metalness=0,e},createHighlightMaterial:function(){var A=this.createStandardMaterial(vc.SelectionColor);return vc.InfluencedByLight||(A.defines.NOTAFFECTEDBYLIGHT=""),A},getBlinkMaterial:function(A,e){var t=Kd.getMaterialParameters(A),i=Kd.createStandardMaterial(t);return i.blinkColor.copy(e),i.colorState=Yc.BLINK,i.refreshUniforms(),i},getMaterialParameters:function(A){var e={};return A.hasOwnProperty("color")&&(e.color=A.color),e.opacity=1,e.transparent=!1,A.hasOwnProperty("opacity")&&(e.opacity=A.opacity,1>A.opacity&&(e.transparent=!0)),A.hasOwnProperty("side")&&(e.side=A.side),A.hasOwnProperty("name")&&(e.name=A.name||""),A.hasOwnProperty("emissive")&&(e.emissive=A.emissive),A.hasOwnProperty("emissiveIntensity")&&(e.emissive=A.emissiveIntensity),A.hasOwnProperty("specular")&&(e.specular=A.specular),A.hasOwnProperty("shininess")&&(e.shininess=A.shininess),A.hasOwnProperty("map")&&(e.map=A.map),A.hasOwnProperty("aoMap")&&(e.aoMap=A.aoMap),A.hasOwnProperty("aoMapIntensity")&&(e.aoMapIntensity=A.aoMapIntensity),A.hasOwnProperty("bumpMap")&&(e.bumpMap=A.bumpMap),A.hasOwnProperty("bumpScale")&&(e.bumpScale=A.bumpScale),A.hasOwnProperty("normalMap")&&(e.normalMap=A.normalMap),A.hasOwnProperty("normalScale")&&(e.normalScale=A.normalScale),A.hasOwnProperty("alphaMap")&&(e.alphaMap=A.alphaMap),A.hasOwnProperty("alphaTest")&&(e.alphaTest=A.alphaTest),A.hasOwnProperty("transparent")&&(e.transparent=A.transparent),A.hasOwnProperty("emissiveMap")&&(e.emissiveMap=A.emissiveMap),A.hasOwnProperty("envMap")&&(e.envMap=A.envMap),A.hasOwnProperty("envMapIntensity")&&(e.envMapIntensity=A.envMapIntensity),A.hasOwnProperty("roughness")&&(e.roughness=A.roughness),A.hasOwnProperty("metalness")&&(e.metalness=A.metalness),A.hasOwnProperty("originRoughness")&&(e.originRoughness=A.originRoughness),A.hasOwnProperty("originMetalness")&&(e.originMetalness=A.originMetalness),A.hasOwnProperty("iblProbe")&&(e.iblProbe=A.iblProbe),A.hasOwnProperty("shift")&&(e.shift=A.shift),A.hasOwnProperty("wireframe")&&(e.wireframe=A.wireframe),A.hasOwnProperty("pureColor")&&(e.pureColor=A.pureColor),A.hasOwnProperty("textureColor")&&(e.textureColor=A.textureColor),A.hasOwnProperty("imageFade")&&(e.imageFade=A.imageFade),"bos3d"===A.type&&A.hasOwnProperty("lights")&&(e.lights=A.lights),A.hasOwnProperty("lightMap")&&(e.lightMap=A.lightMap),A.hasOwnProperty("lightMapIntensity")&&(e.lightMapIntensity=A.lightMapIntensity),A.hasOwnProperty("viewportSize")&&(e.viewportSize=A.viewportSize),A.hasOwnProperty("fillMap")&&(e.fillMap=A.fillMap),e},nextHighestPowerOfTwo:function(A){A-=1;for(var e=1;32>e;e<<=1)A|=A>>e;return A+1},ensurePowerOfTwo:function(A){if(0===A.width||0===A.height)return A;if(!a.isPowerOfTwo(A.width)||!a.isPowerOfTwo(A.height)){var e=document.createElement("canvas");return e.width=Kd.nextHighestPowerOfTwo(A.width),e.height=Kd.nextHighestPowerOfTwo(A.height),e.getContext("2d").drawImage(A,0,0,A.width,A.height,0,0,e.width,e.height),e}return A},ensureQuadrate:function(A){var e=A.width,t=A.height;if(0===e||0===t||a.isPowerOfTwo(e)&&a.isPowerOfTwo(t)&&e===t)return A;a.isPowerOfTwo(e)||(e=Kd.nextHighestPowerOfTwo(e)),a.isPowerOfTwo(t)||(t=Kd.nextHighestPowerOfTwo(t));var i=0,o=0;t>e?i=.5*(t-e):o=.5*(e-t);var n=document.createElement("canvas");return n.width=n.height=Math.max(e,t),n.getContext("2d").drawImage(A,0,0,A.width,A.height,i,o,e,t),n},getRGBAFromColorArray:function(A){var e=A[0],t=A[1],i=A[2],o=A[3];return void 0!==o?"rgba("+e+","+t+","+i+","+o+")":"rgb("+e+","+t+","+i+")"},getRGBAFromArray:function(A){var e=255*A[0],t=255*A[1],i=255*A[2],o=255*A[3];return void 0!==o?"rgba("+e+","+t+","+i+","+o+")":"rgb("+e+","+t+","+i+")"},getArrayFromRGBA:function(A){var e=A.split(","),t=parseInt(e[0].split("(")[1],0)/255,i=parseInt(e[1],0)/255,o=parseInt(e[2].split(")")[0],0)/255;return void 0!==e[3]?[t,i,o,parseFloat(e[3].split(")")[0])]:[t,i,o]},getColorArrayFromRGBA:function(A){var e=A.split(","),t=parseInt(e[0].split("(")[1],0),i=parseInt(e[1],0),o=parseInt(e[2].split(")")[0],0);return void 0!==e[3]?[t,i,o,parseFloat(e[3].split(")")[0])]:[t,i,o]},getHexStringFromRGB:function(A){return"#"+("000000"+Kd.getHex(Kd.getArrayFromRGBA(A)).toString(16)).slice(-6)},getArrayFromColorArray:function(A){return[A[0]/255,A[1]/255,A[2]/255]},getHexStringFromColorArray:function(A){return"#"+("000000"+Kd.getHex(Kd.getArrayFromColorArray(A)).toString(16)).slice(-6)},getHexStringFromArray:function(A){return"#"+("000000"+Kd.getHex(A).toString(16)).slice(-6)},getHex:function(A){return 255*A[0]<<16^255*A[1]<<8^255*A[2]<<0},getColorParamsByMaterial:function(A){return{rgbaColor:[A.color.r,A.color.g,A.color.b,A.opacity],transparent:A.transparent,wireframe:A.wireframe}},getHoverColorByColor:function(A){var e={};return e.r=A.r,e.g=A.g,e.b=A.b,e.a=Kd.getHoverOpacity(A.a),e},getHoverOpacity:function(A){return.4>A?A+.3:A-.3},cloneMaterialBaseOnColor:function(A,e){if(!A.color&&!A.diffuse)return A;var t=A.clone();return t.wireframe=e.wireframe,t.opacity=e.opacity,t.transparent=e.transparent,t.color&&t.color.isColor&&e.color&&e.color.isColor&&t.color.copy(e.color),t.diffuse&&t.diffuse.isColor&&e.diffuse&&e.diffuse.isColor&&t.diffuse.copy(e.diffuse),t}},Qd=function(A,e,t,i,o,n,r,a){this.name=A,this.position=e,this.target=t,this.up=i,this.fov=o,this.frustumWidth=r,this.frustumHeight=a,this.version=n},Rd={createCameraInfo:function(A){var e=A.camera,t=new Qd(A.getCameraName(),e.position,e.target,e.up);return JSON.stringify(t)},transformCamera:function(A,e){var t=new y,i=function(A){return[parseFloat(A[0]),parseFloat(A[1]),parseFloat(A[2])]};t.fromArray(i(A.position.split(",")));var o=new y;o.fromArray(i(A.direction.split(",")));var n=new y;n.fromArray(i(A.up.split(",")));var r=new y;r.addVectors(t,o),t.applyMatrix4(e.rootNode.matrix),r.applyMatrix4(e.rootNode.matrix);var a=new M;return a.makeRotationFromEuler(e.rootNode.rotation),n.applyMatrix4(a),n.normalize(),new Qd(A.name,t,r,n)},parseCameraInfo:function(A){if(!A)return null;var e=JSON.parse(A);if(!e.hasOwnProperty("position")||!e.hasOwnProperty("target")||!e.hasOwnProperty("up"))return null;var t=e.name||Ec.PERSPECTIVE,i=new y;i.x=e.position.x,i.y=e.position.y,i.z=e.position.z;var o=new y;o.x=e.target.x,o.y=e.target.y,o.z=e.target.z;var n=new y;return n.x=e.up.x,n.y=e.up.y,n.z=e.up.z,new Qd(t,i,o,n,void 0,void 0===e.version?0:e.version,e.frustumWidth,e.frustumHeight)},canvasToNormalized:function(A,e,t){var i={x:0,y:0,z:0};return i.x=A.x/e*2-1,i.y=-A.y/t*2+1,i.z=A.z||0,i},normalizedToCanvas:function(A,e,t){var i={x:0,y:0,z:0};return i.x=Math.floor(.5*(A.x+1)*e+.5),i.y=Math.floor(-.5*(A.y-1)*t+.5),i.z=A.z||0,i},drawingToCanvas:function(A,e,t,i){var o=new y(e.x,e.y,e.z);return o.project(A),this.normalizedToCanvas(o,t,i)},drawingPointsToCanvas:function(A,e,t,i,o){var n={},r=(new M).getInverse(A.matrixWorld),a=new y(e.x,e.y,e.z);a.applyMatrix4(r);var s=new y(t.x,t.y,t.z);if(s.applyMatrix4(r),a.z>0&&s.z>0)return null;var l=a.clone().sub(s);if(l.normalize(),a.z>0)a.sub(l.multiplyScalar((a.z+A.near)/l.z));else if(s.z>0){s.sub(l.multiplyScalar((s.z+A.near)/l.z))}return a.applyMatrix4(A.projectionMatrix),s.applyMatrix4(A.projectionMatrix),n.start=this.normalizedToCanvas(a,i,o),n.end=this.normalizedToCanvas(s,i,o),n},lineIntersectWithRect:function(A,e){if(A&&A.start.x===A.end.x&&A.start.y===A.end.y)return Bh.log("Invalid line."),null;var t,i=0;A.start.x!==A.end.x&&(i=(A.start.y-A.end.y)/(A.start.x-A.end.x));var o=[],n=e.min,r=e.max;return n.y>i*n.x+(t=A.start.y-i*A.start.x)||i*n.x+t>r.y||o.push(new s(n.x,i*n.x+t)),n.y>i*r.x+t||i*r.x+t>r.y||o.push(new s(r.x,i*r.x+t)),0===i&&(o.push(new s(n.x,t)),o.push(new s(r.x,t))),(n.y-t)/i>n.x&&r.x>(n.y-t)/i&&o.push(new s((n.y-t)/i,n.y)),(r.y-t)/i>n.x&&r.x>(r.y-t)/i&&o.push(new s((r.y-t)/i,r.y)),o},canvasToDrawing:function(A,e,t,i){var o=this.canvasToNormalized(e,t,i),n=new y(o.x,o.y,o.z);return n.unproject(A),{x:n.x,y:n.y,z:n.z}},intersectBoxByRay:function(A,e){var t=0,i=0,o=0,n=0,r=0,a=0,s=1/A.direction.x,l=1/A.direction.y,c=1/A.direction.z,h=A.origin;return 0>s?(t=(e.max.x-h.x)*s,i=(e.min.x-h.x)*s):(t=(e.min.x-h.x)*s,i=(e.max.x-h.x)*s),0>l?(o=(e.max.y-h.y)*l,n=(e.min.y-h.y)*l):(o=(e.min.y-h.y)*l,n=(e.max.y-h.y)*l),t>n||o>i?null:((o>t||isNaN(t))&&(t=o),(i>n||isNaN(i))&&(i=n),0>c?(r=(e.max.z-h.z)*c,a=(e.min.z-h.z)*c):(r=(e.min.z-h.z)*c,a=(e.max.z-h.z)*c),t>a||r>i?null:((r>t||isNaN(t))&&(t=r),(i>a||isNaN(i))&&(i=a),0>i?null:0>t?i:t))},intersectObject:function(A,e,t,i){if(A.visible){A.raycast(e,t);if(!0===i&&A.children)for(var o=A.children,n=0,r=o.length;r>n;n+=1)Rd.intersectObject(o[n],e,t,!0)}},intersectObjectWithFrustum:(Ud=new aA,function(A,e){if(!A.boundingBox||A instanceof Ue){var t=A.geometry;null===t.boundingBox&&t.computeBoundingBox(),Ud.copy(t.boundingBox)}else Ud.copy(A.boundingBox);return Ud.applyMatrix4(A.matrixWorld),e.intersectsBox(Ud)})},Td=function(A,e,t,i){je.call(this,A,e,t,i),this.projectOnWidth=!1};(Td.prototype=Object.create(je.prototype)).constructor=Td,Td.prototype.updateProjectionMatrixByFrustum=function(A,e){var t=this.near,i=null,o=null,n=null,r=null;this.projectOnWidth?(o=-.5*(n=A),i=.5*(r=this.aspect*n)):(i=.5*(r=e),o=-.5*(n=this.aspect*r));var a=this.view;if(null!==a){var s=a.fullWidth,l=a.fullHeight;o+=a.offsetX*n/s,i-=a.offsetY*r/l,n*=a.width/s,r*=a.height/l}var c=this.filmOffset;0!==c&&(o+=t*c/this.getFilmWidth()),this.projectionMatrix.makePerspective(o,o+n,i,i-r,t,this.far)},Td.prototype.setProjectOnWidth=function(A){this.projectOnWidth=A};var kd=function(A,e){qe.call(this),this.target=new y,this.name=A||"",this.fov=e.fov,this.near=e.near,this.far=e.far,A===Ec.PERSPECTIVE?(this.aspect=e.width/e.height,this.fov=e.fov,this.left=-e.width/2,this.right=e.width/2,this.top=e.height/2,this.bottom=-e.height/2,this.perspectiveCamera=new Td(this.fov,this.aspect,this.near,this.far),this.orthoCamera=null,this.toPerspective()):(this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.fov=45,this.aspect=(this.right-this.left)/(this.top-this.bottom),this.orthoCamera=new Ka(this.left,this.right,this.top,this.bottom,this.near,this.far),this.perspectiveCamera=null,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.isPerspective=!1),this.zoom=e.zoom||1,this.updateProjectionMatrixByFrustum=!1};(kd.prototype=Object.create(qe.prototype)).constructor=kd,kd.prototype.toPerspective=function(){null!==this.perspectiveCamera?this.updateProjectionMatrixByFrustum||(this.perspectiveCamera.aspect=this.aspect,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.updateProjectionMatrix(),this.projectionMatrix=this.perspectiveCamera.projectionMatrix,this.projectionMatrixInverse=this.perspectiveCamera.projectionMatrixInverse,this.isPerspective=!0,this.dirty=!0):Bh.log("Can not convert to perspective camera because the camera original type is orthographic.")},kd.prototype.toOrthographic=function(){null===this.orthoCamera&&(this.orthoCamera=new Ka(this.left,this.right,this.top,this.bottom,this.near,this.far));var A=this.fov,e=this.target.clone().sub(this.position).length(),t=Math.tan(A*Math.PI/180/2)*e,i=t*this.aspect;t/=this.zoom,this.left=this.orthoCamera.left=-(i/=this.zoom),this.right=this.orthoCamera.right=i,this.top=this.orthoCamera.top=t,this.bottom=this.orthoCamera.bottom=-t,this.orthoCamera.near=this.near,this.orthoCamera.far=this.far,this.orthoCamera.updateProjectionMatrix(),this.projectionMatrix=this.orthoCamera.projectionMatrix,this.projectionMatrixInverse=this.orthoCamera.projectionMatrixInverse,this.isPerspective=!1,this.dirty=!0},kd.prototype.setSize=function(A,e){this.perspectiveCamera.aspect=A/e,this.left=-A/2,this.right=A/2,this.top=e/2,this.bottom=-e/2,this.aspect=A/e,this.dirty=!0},kd.prototype.setSizeByFrustum=function(A,e){var t=2*this.right,i=2*this.top;this.aspect=t/i;var o=null;A/e>t/i?(o=i/t,this.perspectiveCamera.setProjectOnWidth(!0)):(o=t/i,this.perspectiveCamera.setProjectOnWidth(!1)),this.dirty=!0,this.isPerspective&&(this.perspectiveCamera.aspect=o,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.updateProjectionMatrixByFrustum(A,e),this.projectionMatrix=this.perspectiveCamera.projectionMatrix,this.isPerspective=!0,this.dirty=!0)},kd.prototype.setFov=function(A){this.fov=A,this.dirty=!0,this.updateProjectionMatrix()},kd.prototype.setNearFar=function(A,e){this.near=A,this.far=e,this.dirty=!0,this.updateProjectionMatrix()},kd.prototype.updateProjectionMatrix=function(){this.isPerspective?this.toPerspective():this.toOrthographic()},kd.prototype.setLens=function(A,e){void 0===e&&(e=24);var t=2*a.radToDeg(Math.atan(e/(2*A)));return this.setFov(t),this.dirty=!0,t},kd.prototype.setZoom=function(A){this.zoom=A,this.dirty=!0,this.updateProjectionMatrix()},kd.prototype.copy=function(A){qe.prototype.copy.call(this,A),this.target.copy(A.target),this.aspect=A.aspect,this.fov=A.fov,this.near=A.near,this.far=A.far,this.left=A.left,this.right=A.right,this.top=A.top,this.bottom=A.bottom,this.zoom=A.zoom,this.isPerspective=A.isPerspective,A.orthoCamera&&(this.orthoCamera?this.orthoCamera.copy(A.orthoCamera):this.orthoCamera=A.orthoCamera.clone()),A.perspectiveCamera&&(this.perspectiveCamera?this.perspectiveCamera.copy(A.perspectiveCamera):this.perspectiveCamera=A.perspectiveCamera.clone())},kd.prototype.isDirty=function(){return this.dirty},kd.prototype.toFrontView=function(){this.rotation.x=0,this.rotation.y=0,this.rotation.z=0},kd.prototype.toBackView=function(){this.rotation.x=0,this.rotation.y=Math.PI,this.rotation.z=0},kd.prototype.toLeftView=function(){this.rotation.x=0,this.rotation.y=-Math.PI/2,this.rotation.z=0},kd.prototype.toRightView=function(){this.rotation.x=0,this.rotation.y=Math.PI/2,this.rotation.z=0},kd.prototype.toTopView=function(){this.rotation.x=-Math.PI/2,this.rotation.y=0,this.rotation.z=0},kd.prototype.toBottomView=function(){this.rotation.x=Math.PI/2,this.rotation.y=0,this.rotation.z=0};var Dd=function(A,e,t,i){this.ray=new CA(A,e),this.near=t||0,this.far=i||1/0,this.params={Sprite:{},Mesh:{},Points:{threshold:1},LOD:{},Line:{}}};Dd.prototype={constructor:Dd,precision:1e-4,linePrecision:1,descSort:function(A,e){return A.distance-e.distance},set:function(A,e){this.ray.set(A,e)},setFromCamera:function(A,e){e instanceof kd?e.isPerspective?(this.ray.origin.copy(e.position),this.ray.direction.set(A.x,A.y,.5).unproject(e).sub(e.position).normalize()):(this.ray.origin.set(A.x,A.y,-1).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld)):e instanceof je?(this.ray.origin.copy(e.position),this.ray.direction.set(A.x,A.y,.5).unproject(e).sub(e.position).normalize()):e instanceof Ka?(this.ray.origin.set(A.x,A.y,-1).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld)):Bh.error("Raycaster: Unsupported camera type.")},intersectObject:function(A,e){var t=[];return Rd.intersectObject(A,this,t,e),t.sort(this.descSort),t.length>0?t[0]:null},intersectObjects:function(A,e){for(var t=[],i=0,o=A.length;o>i;i+=1)Rd.intersectObject(A[i],this,t,e);return t.sort(this.descSort),t.length>0?t[0]:null},intersectOctantForNode:function(A,e){var t=this,i=new aA;!function A(o){var n=null,r=null;if(i.set(o.min,o.max),t.ray.intersectBox(i)&&(e.push(o),o.childOctants))for(n=0,r=o.childOctants.length;r>n;n+=1)A(o.childOctants[n])}(A)}},CA.prototype.intersectBoxWithDistance=function(A){var e=null,t=null,i=null,o=null,n=null,r=null,a=1/this.direction.x,s=1/this.direction.y,l=1/this.direction.z,c=this.origin;if(0>a?(t=(A.max.x-c.x)*a,e=(A.min.x-c.x)*a):(t=(A.min.x-c.x)*a,e=(A.max.x-c.x)*a),0>s?(o=(A.max.y-c.y)*s,i=(A.min.y-c.y)*s):(o=(A.min.y-c.y)*s,i=(A.max.y-c.y)*s),t>i||o>e)return-1;if((o>t||isNaN(t))&&(t=o),(e>i||isNaN(e))&&(e=i),0>l?(r=(A.max.z-c.z)*l,n=(A.min.z-c.z)*l):(r=(A.min.z-c.z)*l,n=(A.max.z-c.z)*l),t>n||r>e)return-1;if((r>t||isNaN(t))&&(t=r),(e>n||isNaN(e))&&(e=n),0>e)return-1;if(0>t)return 0;var h=new y;this.at(0>t?e:t,h);var d=h.x-c.x,p=h.y-c.y,g=h.z-c.z;return Math.sqrt(d*d+p*p+g*g)};var Ld=function(){},Nd=function(){};Nd.prototype=uh.extend(!0,{},Ld.prototype={constructor:Ld,apply:function(A){A.addEventListener=Ld.prototype.addEventListener,A.hasEventListener=Ld.prototype.hasEventListener,A.removeEventListener=Ld.prototype.removeEventListener,A.fireEvent=Ld.prototype.dispatchEvent,A.dispatchEvent=Ld.prototype.dispatchEvent},addEventListener:function(A,e){A&&(void 0===this._listeners&&(this._listeners={}),void 0===this._listeners[A]&&(this._listeners[A]=[]),this._listeners[A].push(e))},hasEventListener:function(A,e){if(!A)return!1;if(void 0===this._listeners)return!1;var t=this._listeners;return void 0!==t[A]&&-1!==t[A].indexOf(e)},removeEventListener:function(A,e){if(A&&(void 0===this._listeners&&(this._listeners={}),Array.isArray(this._listeners[A])))for(var t=this._listeners[A],i=0,o=t.length;o>i;i+=1)if(t[i]===e){t.splice(i,1);break}},removeAllEventListenerByType:function(A){A&&(void 0===this._listeners&&(this._listeners={}),Array.isArray(this._listeners[A])&&this._listeners[A]&&(this._listeners[A]=void 0))},removeAllEventListener:function(){for(var A in void 0===this._listeners&&(this._listeners={}),this._listeners)if(this._listeners.hasOwnProperty(A))for(var e=this._listeners[A],t=0,i=e.length;i>t;t+=1)e.splice(t,1);this._listeners={}},dispatchEvent:function(A){if(void 0===this._listeners&&(this._listeners={}),"string"==typeof A&&(A={type:A}),!A.target)try{A.target=this}catch(A){}if(null==A.type)throw Bh.trace("事件类型未知."),new Error("事件类型未知.");if(Array.isArray(this._listeners[A.type]))for(var e=this._listeners[A.type].slice(),t=0;e.length>t;t+=1)e[t].call(this,A)},fireEvent:function(A){this.dispatchEvent(A)}},{init:function(A){this.marks={},this.allOids=[],this.components={},this.SelectedMark={},this.mouse=new s,this.lastX=0,this.lastY=0,this.active=!0,this.viewer=A},addObjectToScene:function(A,e){A&&A.id&&e&&(this.viewer.addExternalObject(A.id,e),this.components[A.id]=e,this.allOids.push(A.id),this.marks[A.id]=A)},enabled:function(){this.mousedown=this.viewer.domElement.addEventListener("mousedown",this.onMouseDown.bind(this),!1),this.mouseup=this.viewer.domElement.addEventListener("mouseup",this.onMouseUp.bind(this),!1)},disabled:function(){this.mousedown=this.viewer.domElement.removeEventListener("mousedown",this.onMouseDown.bind(this),!1),this.mouseup=this.viewer.domElement.removeEventListener("mouseup",this.onMouseUp.bind(this),!1)},touchEnabled:function(){this.touchstart=document.getElementById(this.viewer.uuid).addEventListener("touchstart",this.onTouchStart.bind(this),!1),this.touchend=document.getElementById(this.viewer.uuid).addEventListener("touchend",this.onTouchEnd.bind(this),!1)},touchDisabled:function(){this.touchstart=this.viewer.domElement.removeEventListener("touchstart",this.onTouchStart.bind(this),!1),this.touchend=this.viewer.domElement.removeEventListener("touchend",this.onTouchEnd.bind(this),!1)},onMouseDown:function(A){this.mouse.x=this.lastX=A.clientX,this.mouse.y=this.lastY=A.clientY},onMouseUp:function(A){var e=[A.clientX,A.clientY];(e[0]>this.lastX?5>e[0]-this.lastX:5>this.lastX-e[0])&&(e[1]>this.lastY?5>e[1]-this.lastY:5>this.lastY-e[1])&&(this.mouse.x=this.lastX=e[0],this.mouse.y=this.lastY=e[1],this.pick("pick"))},onTouchStart:function(A){this.mouse.x=this.lastX=A.changedTouches[0].clientX,this.mouse.y=this.lastY=A.changedTouches[0].clientY},onTouchEnd:function(A){(A.changedTouches[0].clientX>this.lastX?5>A.changedTouches[0].clientX-this.lastX:5>this.lastX-A.changedTouches[0].clientX)&&(A.changedTouches[0].clientY>this.lastY?5>A.changedTouches[0].clientY-this.lastY:5>this.lastY-A.changedTouches[0].clientY)&&(this.mouse.x=this.lastX=A.changedTouches[0].clientX,this.mouse.y=this.lastY=A.changedTouches[0].clientY,this.pick("pick"))},pick:function(){var A=this.viewer.cameraControl.getIntersectContext(this.mouse),e=new Dd;e.setFromCamera(A.mouse,A.camera),e.camera=A.camera,e._camera=A.camera,e.viewportSize=A.viewportSize;var t=Object.values(this.components),i=e.intersectObjects(t);i?this.SelectedMark!==i.object?(this.SelectedMark=i.object,this.dispatchEvent({type:"updated",added:{objects:this.SelectedMark}})):(this.dispatchEvent({type:"updated",removed:{objects:this.SelectedMark}}),this.SelectedMark={}):(this.SelectedMark={},this.dispatchEvent({type:"updated",removed:{objects:this.SelectedMark}}))},getClickCoordsWithinElement:function(A){var e=[0,0];if(A){for(var t=A.target,i=0,o=0;t.offsetParent;)i+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;e[0]=A.pageX-i,e[1]=A.pageY-o}else A=window.event,e.x=A.x,e.y=A.y;return e},listentoSelectMarks:function(A){var e=this;this.addEventListener("updated",(function(t){t.added&&e.SelectedMark!=={}?A(e.SelectedMark.key,e.SelectedMark):A(null,null)}))},hasTheSameId:function(A){if(""!==A.id)for(var e=0;this.allOids.length>e;e+=1)if(A.id===this.allOids[e])return{data:"标签id重复"}},findMark:function(A){return this.components[A]},idsToArray:function(A){return null==A?{data:"未选中mark"}:(Array.isArray(A)||(A=[A]),A)},removeIdAndInfo:function(A){var e=this.allOids.indexOf(A);this.allOids.splice(e,1),delete this.marks[A],delete this.components[A]},remove:function(A){if(A=this.idsToArray(A),!Array.isArray(A))return A;for(var e=0;A.length>e;e+=1)this.removeIdAndInfo(A[e]),this.viewer.removeExternalObjectByName(A[e]);this.viewer.render()},hide:function(A){if(A=this.idsToArray(A),!Array.isArray(A))return A;for(var e=0;A.length>e;e+=1){var t=this.findMark(A[e]);t&&(t.visible=!1)}this.viewer.render()},show:function(A){var e=null;if(A){A=this.idsToArray(A);for(var t=0;A.length>t;t+=1)(e=this.findMark(A[t]))&&(e.visible=!0)}else for(var i in this.components)(e=this.components[i])&&(e.visible=!0);this.viewer.render()},isolation:function(A){if(this.allOids.length>0){A=this.idsToArray(A);this.show();for(var e=this.allOids.concat(),t=0;A.length>t;t+=1){var i=A[t];if(-1===this.allOids.indexOf(i))return{data:"mark不存在"};for(var o=0;e.length>o;o+=1)if(i===e[o]){e.splice(o,1);break}}var n=null;for(o=0;e.length>o;o+=1)(n=this.findMark(e[o]))&&(n.visible=!1);this.viewer.render()}}});var Od=function(A){this.defaultSettings={id:"",mode:"absolute",startPosition:[0,0,0],endPosition:[0,0],color:[255,0,0],colorLine:[0,0,0],offset:[0,0],draggable:!0,componentId:"",domElement:null,title:"标签",showPoint:!0,showLine:!0},this.initStartPos={};var e=A;"function"==typeof A.getViewerImpl&&(e=A.getViewerImpl()),this.dragging=!1,this.init(e),this.markState={};var t=this;this.showPoint=!0,this.showLine=!0,e.cameraControl.addEventListener(Rc.ON_CAMERA_CHANGE,(function(){t._update()}))};Od.prototype=uh.extend(!0,{},Nd.prototype,{constructor:Od,add:function(A,e){var t=document.createElement("div"),i=Object.assign({},this.defaultSettings,A),o=this.hasTheSameId(i);if(o)return o;""===i.id&&(i.id=a.generateUUID()),t.id="label"+i.id,this.marks[i.id]=Object.assign({},i);var n=this.viewer.getScreenCoordFromSceneCoord(i.startPosition),r=i.offset,s=i.endPosition.concat(),l=[];("relativeute"===i.mode?(s=[n[0]+r[0],n[1]+r[1]],i.endPosition=[0,0]):i.offset=[0,0],Array.isArray(i.colorLine))&&(i.colorLine="rgb("+i.colorLine[0]+","+i.colorLine[1]+","+i.colorLine[2]+")");var c=document.createElement("div");(c.id="labelStart"+i.id,c.className="labelStart",c.style.cssText="border:2px solid red; border-radius:5px; -moz-border-radius:5px; height: 4px;width: 4px;position: absolute;margin-left: -3px;margin-top: -3px;top:"+n[1]+"px;left:"+n[0]+"px; background-color: red;",t.appendChild(c),this.showPoint&&i.showPoint||(c.style.display="none"),Array.isArray(i.color))&&(i.color="rgb("+i.color[0]+","+i.color[1]+","+i.color[2]+")");var h=document.createElement("div");h.id=i.id,h.className="labelingDiv",h.style.cssText="border:2px solid "+i.colorLine+";text-align:center;border-radius:5px;-moz-border-radius:5px;min-width: 66px;position: absolute;width:-webkit-fit-content;width: -moz-fit-content;background-color:"+i.color+";",t.appendChild(h);var d=document.createElement("span");d.id="labelTitle"+i.id,d.className="labelTitle",d.onmouseover=function(){d.style.cursor="move"},d.onmouseout=function(){d.style.cursor="auto"},d.style.cssText="display:block;padding:2%;text-align:center;color: #000000;white-space:nowrap",d.innerText=i.title,h.appendChild(d),0>s[0]&&(s[0]=5),0>s[1]&&(s[1]=5),s[0]>this.viewer.domElement.offsetWidth-h.offsetWidth&&(s[0]=this.viewer.domElement.offsetWidth-h.offsetWidth),s[1]>this.viewer.domElement.offsetHeight-h.offsetHeight&&(s[1]=this.viewer.domElement.offsetHeight-h.offsetHeight),h.style.cssText+="left:"+s[0]+"px; top:"+s[1]+"px",i.domElement&&h.appendChild(i.domElement),s[0]>n[0]?s[1]>n[1]?(l[0]=s[0],l[1]=s[1]):(l[0]=s[0],l[1]=s[1]+h.offsetHeight):s[1]>n[1]?(l[0]=s[0]+h.offsetWidth,l[1]=s[1]):(l[0]=s[0]+h.offsetWidth,l[1]=s[1]+h.offsetHeight);var p=n[0]-l[0],g=n[1]-l[1],u=Math.sqrt(p*p+g*g),f=Math.atan(g/p)/Math.PI*180;p>0||(g>0?f+=180:f-=180);var m=document.createElement("div");m.id="labelLine"+i.id,m.className="labelLine",m.style.cssText=" height: 2px;position: absolute;transform-origin: left center;width:"+u+"px;-ms-transform:rotateZ("+f+"deg);-moz-transform:rotateZ("+f+"deg);-webkit-transform:rotateZ("+f+"deg);-o-transform:rotateZ("+f+"deg);transform:rotateZ("+f+"deg);left:"+l[0]+"px;top:"+l[1]+"px;background-color:"+i.colorLine+";",t.appendChild(m),this.showLine&&i.showLine||(m.style.display="none"),this.viewer.domElement.appendChild(t),i.draggable&&this._enableDrag(h),this.allOids.push(i.id),this.markState[i.id]={userHide:!1,outOfBoundary:!1},"function"==typeof e&&e(i.id)},enablePoint:function(A){this.showPoint=A,this._update()},enableLine:function(A){this.showLine=A,this._update()},_update:function(){for(var A in this.marks){var e=this.viewer.getScreenCoordFromSceneCoord(this.marks[A].startPosition),t=this.marks[A].endPosition.concat(),i=this.marks[A].offset;"relativeute"===this.marks[A].mode&&(0!==t[0]||0!==t[1]?(i=[t[0]-e[0],t[1]-e[1]],this.marks[A].endPosition=[0,0],this.marks[A].offset=i):t=[e[0]+i[0],e[1]+i[1]]);var o=[0,0],n=document.getElementById(A);t[0]>e[0]?t[1]>e[1]?(o[0]=t[0],o[1]=t[1]):(o[0]=t[0],o[1]=t[1]+n.offsetHeight):t[1]>e[1]?(o[0]=t[0]+n.offsetWidth,o[1]=t[1]):(o[0]=t[0]+n.offsetWidth,o[1]=t[1]+n.offsetHeight);var r=e[0]-o[0],a=e[1]-o[1],s=Math.sqrt(r*r+a*a),l=Math.atan(a/r)/Math.PI*180;r>0||(a>0?l+=180:l-=180);var c=getComputedStyle(this.viewer.domElement),h=parseInt(c.width,10),d=parseInt(c.height,10);0>e[1]||e[1]>d||0>e[0]||e[0]>h?(this.markState[A].outOfBoundary=!0,document.getElementById("labelStart"+A).setCss({display:"none"}),document.getElementById("labelLine"+A).setCss({display:"none"}),document.getElementById(A).setCss({display:"none"})):(this.markState[A].outOfBoundary=!1,this.dragging||"relativeute"!==this.marks[A].mode||(document.getElementById(A).style.left=t[0]+"px",document.getElementById(A).style.top=t[1]+"px"),this.markState[A].userHide||(document.getElementById(A).setCss({display:"block"}),this.showPoint&&this.marks[A].showPoint?document.getElementById("labelStart"+A).style.cssText+=";display:block;top:"+e[1]+"px; left:"+e[0]+"px":document.getElementById("labelStart"+A).setCss({display:"none"}),this.showLine&&this.marks[A].showLine?document.getElementById("labelLine"+A).style.cssText+=";display:block;width:"+s+"px;transform-origin: left center;-ms-transform:rotateZ("+l+"deg);-moz-transform:rotateZ("+l+"deg);-webkit-transform:rotateZ("+l+"deg);-o-transform:rotateZ("+l+"deg);transform:rotateZ("+l+"deg);left:"+o[0]+"px; top:"+o[1]+"px":document.getElementById("labelLine"+A).setCss({display:"none"})))}},_enableDrag:function(A){var e=this,t=A,i=A.id,o=t.querySelector("#labelTitle"+i),n=this.viewer.domElement,r=n.offsetLeft,a=n.offsetTop,s=this;o.addEventListener("mousedown",(function(e){e.preventDefault(),s.dragging=!0,t.setAttribute("offset-left",e.offsetX),t.setAttribute("offset-top",e.offsetY),t.setAttribute("allow-drag","true"),[A.style.left,A.style.top]})),document.addEventListener("mousemove",function(A){if("true"===t.getAttribute("allow-drag")){A.preventDefault();var e=A.clientX-parseInt(t.getAttribute("offset-left"),10)-parseInt(t.style.borderWidth,10)-r,o=A.clientY-parseInt(t.getAttribute("offset-top"),10)-parseInt(t.style.borderWidth,10)-a;0>o&&(o=5),o>n.offsetHeight-t.offsetHeight&&(o=n.offsetHeight-t.offsetHeight),0>e&&(e=5),e>n.offsetWidth-t.offsetWidth&&(e=n.offsetWidth-t.offsetWidth),t.style.cssText+=";left:"+e+"px;top:"+o+"px",this.marks[i].endPosition=[e,o],this._update()}}.bind(this)),document.addEventListener("mouseup",(function(A){"true"===t.getAttribute("allow-drag")&&(A.preventDefault(),t.setAttribute("allow-drag","false"),s.dragging=!1)})),o.addEventListener("touchstart",(function(e){e.preventDefault();var i=parseInt(t.style.left,10),o=parseInt(t.style.top,10),n=e.targetTouches[0].clientY;t.setAttribute("offset-left",e.targetTouches[0].clientX-i),t.setAttribute("offset-top",n-o),t.setAttribute("allow-drag","true"),[A.style.left,A.style.top]})),document.addEventListener("touchmove",(function(A){if("true"===t.getAttribute("allow-drag")){A.preventDefault();var o=A.targetTouches[0].clientX-parseInt(t.getAttribute("offset-left"),10)-parseInt(t.style.borderWidth,10)-r,n=A.targetTouches[0].clientY-parseInt(t.getAttribute("offset-top"),10)-parseInt(t.style.borderWidth,10)-a;0>n&&(n=5),n>e.viewer.domElement.offsetHeight-t.offsetHeight&&(n=e.viewer.domElement.offsetHeight-t.offsetHeight),0>o&&(o=5),o>e.viewer.domElement.offsetWidth-t.offsetWidth&&(o=e.viewer.domElement.offsetWidth-t.offsetWidth),t.style.cssText+=";left:"+o+"px;top:"+n+"px",e.marks[i].endPosition=[o,n],e._update()}})),document.addEventListener("touchend",(function(A){"true"===t.getAttribute("allow-drag")&&(A.preventDefault(),t.setAttribute("allow-drag","false"))}))},updateMark:function(A,e){if(!this.marks[A])return{id:A,data:"该标签不存在"};var t=Object.assign({},this.marks[A],e);this.marks[A]=Object.assign({},t);var i=this.viewer.getScreenCoordFromSceneCoord(t.startPosition),o=t.offset,n=t.endPosition.concat(),r=[];"relativeute"===t.mode?(n=[i[0]+o[0],i[1]+o[1]],t.endPosition=[0,0]):t.offset=[0,0],Array.isArray(t.colorLine)&&(t.colorLine="rgb("+t.colorLine[0]+","+t.colorLine[1]+","+t.colorLine[2]+")");var a=document.getElementById("labelStart"+A);a.style.cssText="border:2px solid red; border-radius:5px; -moz-border-radius:5px; height: 4px;width: 4px;position: absolute;margin-left: -3px;margin-top: -3px;top:"+i[1]+"px;left:"+i[0]+"px;background-color:"+t.colorLine+";",this.showPoint&&t.showPoint||(a.style.display="none"),Array.isArray(t.color)&&(t.color="rgb("+t.color[0]+","+t.color[1]+","+t.color[2]+")");var s=document.getElementById(A);s.style.cssText="border:2px solid "+t.colorLine+";text-align:center;border-radius:5px;-moz-border-radius:5px;min-width: 66px;position: absolute;width:-webkit-fit-content;width: -moz-fit-content;background-color:"+t.color+";";var l=document.getElementById("labelTitle"+A);l.innerText=t.title,0>n[0]&&(n[0]+=5),0>n[1]&&(n[1]+=5),n[0]>this.viewer.domElement.offsetWidth-s.offsetWidth&&(n[0]=this.viewer.domElement.offsetWidth-s.offsetWidth),n[1]>this.viewer.domElement.offsetHeight-s.offsetHeight&&(n[1]=this.viewer.domElement.offsetHeight-s.offsetHeight),s.style.cssText+="left:"+n[0]+"px; top:"+n[1]+"px";var c=l.nextElementSibling||l.nextSibling;c&&s.removeChild(c),t.domElement&&s.appendChild(t.domElement),t.draggable&&this._enableDrag(s),n[0]>i[0]?n[1]>i[1]?(r[0]=n[0],r[1]=n[1]):(r[0]=n[0],r[1]=n[1]+s.offsetHeight):n[1]>i[1]?(r[0]=n[0]+s.offsetWidth,r[1]=n[1]):(r[0]=n[0]+s.offsetWidth,r[1]=n[1]+s.offsetHeight);var h=i[0]-r[0],d=i[1]-r[1],p=Math.sqrt(h*h+d*d),g=Math.atan(d/h)/Math.PI*180;h>0||(d>0?g+=180:g-=180);var u=document.getElementById("labelLine"+A);u.style.cssText="height: 2px;position: absolute;transform-origin: left center;width:"+p+"px;-ms-transform:rotateZ("+g+"deg);-moz-transform:rotateZ("+g+"deg);-webkit-transform:rotateZ("+g+"deg);-o-transform:rotateZ("+g+"deg);transform:rotateZ("+g+"deg);left:"+r[0]+"px;top:"+r[1]+"px;background-color:"+t.colorLine+";",this.showLine&&t.showLine||(u.style.display="none")},updateColor:function(A,e){Array.isArray(A)||(A=[A]);for(var t=0;A.length>t;t+=1){var i=A[t];if(!this.marks[i])return{id:i,data:"该标签不存在"};Array.isArray(e)?document.getElementById(i).style.cssText+=";background-color:rgb("+e[0]+","+e[1]+","+e[2]+")":document.getElementById(i).style.cssText+=";background-color:"+e,this.marks[i].color=e}},updateTitle:function(A,e){Array.isArray(A)||(A=[A]);for(var t=0;A.length>t;t+=1){var i=A[t];if(!this.marks[i])return{id:i,data:"该标签不存在"};document.getElementById("labelTitle"+i).innerText=e,this.marks[i].title=e}},updateDomElement:function(A,e){if(this.marks[A]){var t=document.getElementById(A),i=t.querySelector(".labelTitle"),o=i.nextElementSibling||i.nextSibling;return o&&t.removeChild(o),e&&t.appendChild(e),this.marks[A].domElement=e,!0}return{id:A,data:"该标签不存在"}},remove:function(A){A=this.idsToArray(A);for(var e=0;A.length>e;e+=1){var t=A[e];if(!this.marks[t])return{id:t,data:"该标签不存在"};this.viewer.domElement.removeChild(document.getElementById("label"+t)),delete this.marks[t],delete this.markState[t];var i=this.allOids.indexOf(t);this.allOids.splice(i,1)}},hide:function(A){A=this.idsToArray(A);for(var e=0;A.length>e;e+=1){var t=A[e];if(!this.marks[t])return{id:t,data:"该标签不存在"};this.markState[t].userHide=!0,this.markState[t].outOfBoundary||(document.getElementById("labelLine"+t).style.display="none",document.getElementById("labelStart"+t).style.display="none",document.getElementById(t).style.display="none")}},show:function(A){if(A){A=this.idsToArray(A);for(var e=0;A.length>e;e+=1){if(!this.marks[o=A[e]])return{id:o,data:"该标签不存在"};this.markState[o].userHide=!1,this.markState[o].outOfBoundary||(this.showPoint&&this.marks[o].showPoint&&(document.getElementById("labelStart"+o).style.display="block"),this.showLine&&this.marks[o].showLine&&(document.getElementById("labelLine"+o).style.display="block"),document.getElementById(o).style.display="block")}}else for(var t=this.allOids.concat(),i=0;t.length>i;i+=1){var o;this.markState[o=t[i]].userHide=!1,this.markState[o].outOfBoundary||(this.showPoint&&this.marks[o].showPoint&&(document.getElementById("labelStart"+o).style.display="block"),this.showLine&&this.marks[o].showLine&&(document.getElementById("labelLine"+o).style.display="block"),document.getElementById(o).style.display="block")}},isolation:function(A){if(this.allOids.length>0){A=this.idsToArray(A),this.show();for(var e=this.allOids.concat(),t=0;A.length>t;t+=1){var i=A[t];if(!this.marks[i])return{data:"mark不存在"};for(var o=0;e.length>o;o+=1)if(i===e[o]){e.splice(o,1);break}}for(var n=0;e.length>n;n+=1)document.getElementById("labelLine"+e[n]).style.display="none",document.getElementById("labelStart"+e[n]).style.display="none",document.getElementById(e[n]).style.display="none"}},addEventListener:function(A,e,t){document.getElementById(A).addEventListener(e,t)},removeEventListener:function(A,e,t){document.getElementById(A).removeEventListener(e,t)}});var Vd=function(A){this.defaultSettings={id:"",URL:"",side:2,scale:1,width:1,height:1,opacity:1,transparent:!1,alwaysVisible:!1,useImageSize:!0,faceToCamera:!1,color:[1,1,1],emissive:[0,0,0],position:[0,0,0],face:"z",useFaceMatrix:!0,matrix:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},this.faceMatrix={x:[0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1],y:[1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1],z:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};var e=A;"function"==typeof A.getViewerImpl&&(e=A.getViewerImpl()),this.init(e),this.enabled()};Vd.prototype=uh.extend(!0,{},Nd.prototype,{constructor:Vd,add:function(A,e){var t=this,i=gc({},this.defaultSettings,A),o=this.hasTheSameId(i);if(o)return o;var n=1,r=1,a=(new Aa).load(i.URL,(function(A){t.viewer.render()}),(function(){}),(function(A){t.dispatchEvent({type:Tc.LOAD_TEXTURE_ERROR,data:"加载材质出错"})}));!0===i.alwaysVisible&&(i.transparent=!0);var s=new xr({color:new LA(i.color[0],i.color[1],i.color[2]),emissive:new LA(i.emissive[0],i.emissive[1],i.emissive[2]),map:a,depthTest:!i.alwaysVisible,side:i.side,opacity:i.opacity,transparent:i.transparent});n=i.width?i.width:s.map.image.width,r=i.height?i.height:s.map.image.height;var l=new Ue(new et(1,1,1,1),s),c=new M;if(i.matrix&&(3===i.matrix.length?(c.elements[12]=i.matrix[0],c.elements[13]=i.matrix[1],c.elements[14]=i.matrix[2]):c.fromArray(i.matrix)),l.applyMatrix4(c),i.faceToCamera){var h=new y,d=new y,p=new f;l.onBeforeRender=function(){t.viewer.camera.matrixWorld.decompose(h,p,d),l.quaternion.copy(p),l.updateMatrixWorld(!0)}}return l.scale.set(i.scale*n,i.scale*r,1),l.updateMatrixWorld(!0),""!==i.id?l.key=i.id:(l.key=l.uuid,i.id=l.uuid),t.addObjectToScene(i,l),"function"==typeof e&&e(l.key),l.componentKey=i.componentKey&&Array.isArray(i.componentKey)?i.componentKey:i.componentKey?[i.componentKey]:[],l},updateMark:function(A,e){var t=this,i=this.findMark(A);if(i){i.applyMatrix4((new M).getInverse(i.matrix));var o=gc({},t.marks[A],e),n=new M;if(o.matrix&&(3===o.matrix.length?(n.elements[12]=o.matrix[0],n.elements[13]=o.matrix[1],n.elements[14]=o.matrix[2]):n.fromArray(o.matrix)),i.applyMatrix4(n),o.faceToCamera){var r=new y,a=new y,s=new f;i.onBeforeRender=function(){t.viewer.camera.matrixWorld.decompose(r,s,a),i.quaternion.copy(s),i.updateMatrixWorld(!0)}}else delete i.onBeforeRender;if(i.scale.set(o.scale*o.width,o.scale*o.height,1),i.updateMatrixWorld(!0),i.componentKey=o.componentKey&&Array.isArray(o.componentKey)?o.componentKey:o.componentKey?[o.componentKey]:[],t.marks[A]=o,e.URL)(new Aa).load(o.URL,(function(A){!0===o.alwaysVisible&&(o.transparent=!0);var e=new xr({color:new LA(o.color[0],o.color[1],o.color[2]),emissive:new LA(o.emissive[0],o.emissive[1],o.emissive[2]),map:A,depthTest:!o.alwaysVisible,side:o.side,opacity:o.opacity,transparent:o.transparent});i.material=e}));else!0===o.alwaysVisible&&(o.transparent=!0),i.material.depthTest=!o.alwaysVisible,i.material.transparent=o.transparent,i.material.opacity=o.opacity,i.material.side=o.side,i.material.emissive=new LA(o.emissive[0],o.emissive[1],o.emissive[2])}this.viewer.render()}});var Gd=function(A){this.defaultSettings={id:"",url:"",width:1,height:1,scale:1,alwaysVisible:!1,position:[0,0,0],componentId:"",useImageSize:!0};var e=A;"function"==typeof A.getViewerImpl&&(e=A.getViewerImpl()),this.init(e),this.enabled()};Gd.prototype=uh.extend(!0,{},Nd.prototype,{constructor:Gd,add:function(A,e){var t=this;!A.url&&A.URL&&(A.url=A.URL);var i=Object.assign({},this.defaultSettings,A),o=this.hasTheSameId(i);if(o)return o;var n=1,r=1;(new Aa).load(i.URL||i.url,(function(A){var o=new ro({map:A,color:16777215,depthTest:!i.alwaysVisible,transparent:i.alwaysVisible});n=i.useImageSize&&o.map&&o.map.image&&o.map.image.width?o.map.image.width:i.width,r=i.useImageSize&&o.map&&o.map.image&&o.map.image.width?o.map.image.height:i.height;var a=new vo(o);a.scale.set(i.scale*n,i.scale*r,1),i.position.isVector3?a.position.copy(i.position):a.position.set(i.position[0],i.position[1],i.position[2]),a.updateMatrixWorld(!0),""!==i.id?a.key=i.id:(a.key=a.uuid,i.id=a.uuid),t.addObjectToScene(i,a),"function"==typeof e&&e(a.key)}),(function(){}),(function(A){t.dispatchEvent({type:Tc.LOAD_TEXTURE_ERROR,data:"加载材质出错"})}))},updateMark:function(A,e,t){var i=this,o=this.findMark(A);if(o){var n=Object.assign({},i.marks[A],e),r=1,a=1;(new Aa).load(n.URL||n.url,(function(e){var s=new ro({map:e,color:16777215,depthTest:!n.alwaysVisible});r=n.useImageSize&&s.map&&s.map.image&&s.map.image.width?s.map.image.width:n.width,a=n.useImageSize&&s.map&&s.map.image&&s.map.image.width?s.map.image.height:n.height,o.material=s,o.scale.set(n.scale*r,n.scale*a,1),n.position.isVector3?o.position.copy(n.position):o.position.set(n.position[0],n.position[1],n.position[2]),o.updateMatrixWorld(),i.viewer.render(),i.marks[A]=n,"function"==typeof t&&t(A)}),(function(){}),(function(A){i.dispatchEvent({type:Tc.LOAD_TEXTURE_ERROR,data:"加载材质出错"})}))}},resize:function(A,e,t){if(null==A)return{data:"未选中mark"};if(!e||!t)return{data:"未指定尺寸"};Array.isArray(A)||(A=[A]);for(var i=null,o=0;A.length>o;o+=1)(i=this.findMark(A[o]))&&(i.scale.set(e,t,1),i.updateMatrixWorld(),this.viewer.render())}});var Pd={front:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAA8UExURf/////UgCsAAABVqgArgAAAK4DU/wAAAKpVANT//1Wq////1IArAFUAAP//qqr//wAAVdSAK/+qVSuA1JRKhuAAAAEWSURBVHja7ZnbEoIgEEAtK4iu0P//a7dRcYVJZ1jL5pxHd8Y9yAK1VBUAAAAAAAAAAMBUgtnsxz4tzvlknrhcQFcimIbrRcZ8G0vYFcO2SWoRWa2zIYUJeLDd9QKHY5tfdxJ8Jk/3XJiVJhqpS34ZjQKI3j6RYakigAACsFxsfqLl5t+ci2UPpU8CtjuJEUDgzwXc8McRAgiwDBFAgH0AAVYBAgiwD8z75/SXBJrOzdcEQqY/YM08Am3rSgh4oy0Q9au7VpgfLs+y1wbxFxDJXiON7isabmoCIZEo0Ut0agL90b6bkXJeil+cxAL9ZE7UntLFRW8V2ESPLqhWgBDwiV6wqELFm7sRHe26AgAAAAAAAABYFne2vz8kSdzJgQAAAABJRU5ErkJggg==",back:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA/UExURf///1Wq/6pVAAAAVf//qtSAKwBVqgAAACuA1FUAAKr//wAAK4DU/wArgNT///+qVf/UgIArACsAAP//1CtVqjYJRWAAAAEgSURBVHja7ZnpCsIwEAZrNaae8Xr/ZxWRpFGEJrDppzjzr1LouFfJtusAAAAAAAAAAAAAoIb9znsfdM8/HvwLm9XMAoOfIMyQgHLM4/OegNkFBq8VqEyAuUBtAlr1SIVH8ybdLsUCU6GZfUxFFggg0ERgqueatyECCCAgF2ASIvAVAiUHA/dFApfTvwqkI1RQCziRQJracoFeJJDOSOdrI4FP/2ydhX3dekMxJTC0WhlVCziRQJxE5kVQKpDawLoISgXGVUHQCKQL6xwUC6QiMH4fFQuMGz2nmIR5EdiWYbFAdqfTCIw5MA1BuUC2s+slAvmtQSKQcmDaiBUCsS1tJ1GNwDMEvWgUxx9Ur+MYAuH3vQe3UwcAAAAAAADwE9wBUPU3ZdIk2/EAAAAASUVORK5CYII=",left:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA8UExURf//////1IArANT//ysAAKr//wAAVQAAAP/UgABVqgArgNSAK1UAAP//qoDU/wAAK6pVAF6q/yuA1P+qVQ6MhkQAAAEuSURBVHja7ZjJEoIwEAXjCogLwf//Vy1B4sFEQzF5pdV95UDXzCNMxjkAAAAAAAAAAAD4FzaH6k4revv5Ug2sVxqB3X4UOJ5EJWhGgW0tEuhHgeqqDkHnxCFQpbBECJ6vyGQ5IwQQQEAu8PVhKPshTSVSTSW+Eg8Fw1CmLEGvLsEUQ1kJGnUJprlIXwKjsyDk/COdWsBmPM4RMMlhjoBJE7IELJqQJ2DQhDwBgyZkCthfFN9fyPpy01DkRhiGN+ubYkQg/BWtL8uxO7EPMWglAi9NsI1BVODlczEdDeJriTAZmAYxsRfxRUqQWsz0JWKY3Aw1BVKYFBiDaHoWpXdjw9PWyQQen4LoHAgGC3agmbEX8Et2YI6A87VYQLgpRQAB2a4MAAAAAAAAAODnuAFrzi75vcAeswAAAABJRU5ErkJggg==",right:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA/UExURQAAAP//qlUAAAAAVapVAABVqtSAK////wArgNT//6r//4ArAP//1P+qVSuA1FWq/4DU///UgCsAAKpVK1VVAIkZng4AAAE4SURBVHja7dbZEoIwDIXhqEBdwe39n9VlpOiIo6nFo+Pfe8k3zTGpBfExAAAAAAAAAAAAAAAAAAAAAAAAAABSf7gys1oJKOxyGg1gNL7Un8w1gFV7AaWoBbEDaw0gdmA60wCq9gJqzb9gucgUwVcA8bad50UbAAAAfgDwcA29PYXTAN2FNEECKHLt4URAbMDbezgN0DWgDgpA3IKZEugGxGdApgR6AV0AyqAAbLaW7R2SAnCMREdCLCGAGoCn/iCAwrQAV/0BAL76+QHO+rkBrvwNAOipXz4Z1VkBffPno4Dq6pm3VwCuN0AhbcFxA0kAbdXTRzWAqvumBnAOQXkzkD4LOIWgDkLAcRA1QQkIu3XQAu6XEgDJoxQAAABfBWAS/i9ggAMAAAAAAAAAAAAAAAAAAAAAAHAAYMKWUHJ5EqMAAAAASUVORK5CYII=",top:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACABAMAAAAxEHz4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAAYUExURf///wAAANSAKwAAVar///+qVSuA1ABVqmCk4p4AAABFSURBVGje7dOxDQAQFEBBkRjg72IgI9i/olSpJCLuBnjdSwkAgLfkmKqAgIDAqcCiC/wb8IKAgIDAzUCJjSbwSwAA4H0D+R0wJ+LbGcwAAAAASUVORK5CYII=",bottom:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA5UExURf///6pVAAAAVar/////1FWq//+qVQAAAABVqoArADwAAP/UgNT/////qgArgIDU/wAAKyuA1NSAKz7z6MUAAADNSURBVHja7dZZEoIwEEVRWg2JOLP/xTqmtBF/LOs1hfdsgGsnJmkaAAAAAAAAAMDkpfyllgACCJhLwGelfmq9ijmiCCDgnwNOFhqwXORsgQH3o9HCAupnLSbgOv5aEBEwfjPpAkoODXgZ/+26VS9BGv5qcYAff68+B/z4u436JPTj73bqu8CP39SX0XD3y2/D8r782oDtfvzM0e2BZ4EFPUjqLmjDXkSHo19+/ZPsUvD490e9CZPxKiaAAAIIIIAAAgiYXgAAAAAAAPiJM0UCIODiZq/rAAAAAElFTkSuQmCC",add:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcQAAAG/CAMAAADxZFcvAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABRUExURf////3Xw/vKtf3i1oqPlGms5f/6+EdQWf/IlOPk5faQa0dTlMbIy4pQWcb8/2lweP//y//27P/o5PixlZmPo+Px/2msy4pweOPIlIqs5fSEXoY3FXkAAAXBSURBVHja7dxdcxM3GIDRaNUK2LZQSYW2+f8/tLuZaYbgOLEdb7yvOM+V4YIJOtGXveO7O0nhKr33SZu2jPBmfq2nXFpKKWvTlhG+Kzn1dHXAqbbUarEWvdOK11rOdboe5DIFF0B+N5BMy4SsV/iXas+pGdBbtexfPb/1l2Fq2Ry87XzMecpvmoXVJNzDdMwXz8ZlIUW4m1X1sr2xTw4zezrkXDAZ62wv3Fc1nzsZS7eS7m9NPWsylp6qMdvhZJzOmFrdUrrTnfHkyVVn03DH55vKcICNsTL8GRQZBlBsrhbhe+0DiZKNUXTFMhmhCL1066/d+ERXLLM7fpTDTbUhDrAtZovpqAtqubeYBur5Zy5qMjKRevbBm9m4BFtQDw83zakm/tnGRIw/FU3EgLtiNRHDV354AMPRdID1tLsjRrwrpids3qwJ2dwca8Y62piIUY82EMc62jibxkecPOEWtO+Op/dGI+olo7glDnA+LYevFHZT9KDiAIie+h5gOVX846lzzQCIHnMLfMf4/4UHvwcIIkRBFERBhCiIgiiIEAVREAURoiAKoiBCFERBFESIgiiIgghREAVRECEKoiAKIkRBFERBhCiIgiiIEAVREAVRECEKoiBqLMS29vvpfV6DCBHizRE/QTQTIUKEeNjHtQ+n9+saRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQ4yHWpb/Wftmmv9fOQPxtbaOf5eH/+XUJIkSIryJ+2Q7xG0QzESLEzfpz6Y+1D+P38AvyeQkiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECHEoxLW29mmb/lk7Y6C/rW30s3x9568EgwgRIkSIECHeAHHLdvVF7uXu3YcU4gBBhAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChAgRIkSIECFChLgLxC+n9+8aRIgQIUKEOCDizx5EiIIoiIIIURAFURAhCqIgCiJEQRREQYQoiIIoiBAFURAFEaIgCqIgQhREQRREiIIoiIIIURAFURAhCqIgCqIgQhREQRREiIIoiIIIURAFURAhCqIgCiJEQRREHas92kEMW2I3EmI2GFGbHhGTwYhar4+vLKxhD6XV8RSibl79Tq4ZjujnmuW14Yh+rlnWU8MxAKJNMWTtiZubYviJaD0dAvHpnxSj/MMu+NGQRJ+ITy8cCnLTP1g/HW3CT8TlbwxKsMohYjIVgzU9cxj1QX/0HfFB1sDE3hGPTU/t9o545D7hbBPoVHNk9yuTBTXOqeboR8DJh8NBSi+8T+qJqRi1l64S2bYY+GT6uNTaFiNsiK/c6RPF/Ru+akRx94YnnFwoxjekOIIhxREM16uk0dplpZ/xWdPkwak9lttZLK36jHiH18Oz1S2pe1tKz39TtORuMu5qGtZL3tiuebYz7qTWL356pjYHnD1U+5seCy559tUatz6TzlN540eEJc2eDr/hcWaac7nC+Jfld8HzjDcSnK73dV/lLt33ZH98z31w6nPa4gvbFsk+JW3c1Pu9W7oUrv8AKiG7XScCG+oAAAAASUVORK5CYII=",plus:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcQAAAG/BAMAAAA0lLouAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAwUExURf///0dQWYqPlP/6+P3Xw/3i1vvKtePk5faQa0ePy/7x6vm2nfelhopQWYqs5dGJeGZxbd4AAAQxSURBVHja7dhBS9t3GAfwPyQGSbzsuOtewMhhytCLoJVhLwF1K7qDYFdGt8NuuxaEHtZXsNsf1G1UD4O2MNoeCp07dLvsjew1TBPTqEmMgwn9f/t5DklIcvDj8/ye5/ekKERuLLy4V7F4sf1ffM2na+vLGxWL5c7s7cXrAv+YX92rYuXNb2x+ey3k0a3VdlWPV219/fnkbx2ul1XuIc3lZ5O+MnfQrnafrG1MMB4+rv4wuNp4tJkw8PavOI+tr9oJxNpWZ+xRPY4QnkC2xrXMhbIIieaY47iwmnP//Gl0qT5r5xBrI9P1S1kExfyIrlr7IWtVOhzO2KdlFrE5lMbmbtrGO5TGhTKNWL8sms374eLWpWaznUdsXZyNR0VgHF9I4m4i8cJiWOskEuvnVYdFEV6pmXV6oVKbi5nExqBSp4vQGFziDlKJg+n/IJXY6l/ipjqpxEaZfhSL2trZi/1Y4tt+8zqXuN/uPb/KJU73DmOzk0s86zczucL+fpFMLN70do5kYq+l3k8mLmVf305jL30snrTU7mB8kkyc6U6N7WRib9co8ws1OuqnxFY7njgdTWwW8cQCERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERHxfSf+/P2NxnfvAPGLfOLfH9xofPgjIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIuI7RPzoZuPjfxAR/w9iNQIRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERHxfSc2u7poYj2/RnvETjKx1SUu5hNfRzfT8vRxN5k4k0/c6z5OJRN3uo+NZOKb3onMJ84EXwCmzmzBg7FV9p4fpM+Mfr1Gxlo/m+ndpn+Pi9wWn/dfxfabfrcpilepxIW3xOVU4v347X9wFItiO3kfvpzQqPj8HHEmUlhbOp/RyEodjIzTWE0k3i7HHcyYfrp0ca/6Nb1Oi+JeHvHupcqsxzWcxpBoJY34zVB7SUtj48nweyvpSUxL46gknkzKpLvb05GDvhH0M9VmOfr9x4sxZTpWspVSpn+OvY/O/h5yr9kb/9lBxHH8cumqTxOMRztXfz57XPkc7kxaDD95WOnVsfb12uS/v31nqbrCuYe1a/0j6o8q+jvH3G+L1y/Bz/66u1yxWHn5qBCx8S/INvmwxH9NtQAAAABJRU5ErkJggg==",E:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcQAAAG/CAMAAADxZFcvAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA8UExURf///2lweP3j2P3XxEdwsf/59+P//0dQWYqPlMaPWfvKtfaQa0yPyIrG/fOtkvm6ofeefUdQeKjk//SEXsSGSdUAAAWOSURBVHja7dzLUtswGIBRV6ooOInkkvd/14bplAaSALnrN+dbsepCp7rZngyDpHCVVtuoq1breDW/1HIqKeecdNU2IzyUPLZ8acA6bvxSKdaiG6146WW4x3oxyDTll3/RyN5ecjPw9RIDX1rKAO/WZnFt6XzCZCTvvbKexVhaQdjDdDydsVSzsJ9VtZ20p7XRYaYnxhMmY5kcZ3rbG4+djKVZSfubjDUdRWgadjkZj5lazW7YqeKXJ1eZEEbfGMuCYden1MLwOygyjH+8cbUIUP4MkWF4xTIaoQh9tF6WanxiNCWHmvhH1GJDnO+2WJqxidP+h+FlbTGNdFvcj5iNTKTGfYqTcQm2oO6unL6nmcHZxkSMPxVNxIC74nvEhTEJeEAtjqbhe/dmsbojRpyKbz+58eQ7ZG+egzvWzOBo434R9WgDcV5XRWfT+OfT0dk0aFvH07XRiLop/kf03f4MzqcNYtib4iudDxVncDx11Z/HdV/Bj6eefs8A0Wduge8Y//7w4fcMgghREAVRECEKoiAKIkRBFERBhCiIgiiIEAVREAURoiAKoiBCFERBFESIgiiIgghREAVRECEKoiAKIkRBFERBFESIgnioWutjR61WK4gQIUKECPE+PT09/eqo5XIJESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiB/2c9PDw8PwPYMIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhQoQIESJEiBAhdor40o8Lt1wuH2L8x4B4GPERYnjERzPx9oiX7u82CxEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIc4f0U+gQPQTKGYixLMR/SwYRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECLFDxN+bHq/a8/MzRIgQIUKEGADx+q1WK4gQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIUKECBEiRIgQIX4HREGEKIiCKIgQBVEQBRGiIAqiIAoiREEUREGEKIiCKIgQBVEQBRGiIAqiIEIUREEURIiCKIiCCFEQBVEQIQqiIAoiREEUREGEKIiCKIiCCFEQBVEQIQqiIAoiRHVSerWDGLbMbk6I2WBErUGcE2K1sEZtKrt/CaJuXNmSS4YjZuMW4mg4YrZ9mpkMxwwQbYohS2/c3BTDT0Tr6TwQrafhV9NhaIYk+kTcfganMDf9nceljjbh2p14jjbxJ+KQTcVgjXt2QC/6g03EvccYD1CD74iHpqe6vSMe4KqGJk6Hdr9mQY2zmB58BZy9HI4yDz94OOOLqSAb4kdXiWRbDHwyfT2h2hYjXPM/udNniv0bfmpEsXvDL7xxohjfkOIcDCnOwXCj6KbRZ6Ud8a5pdOvv8o6fjmJJxTvigFeLHUZLamdLaT3+Y7aSqsnY0zTM5ZQtrmSfFHezG06nfj1TSsLYxUo6nfVZ8IbRO8a7z8KxnDmXSl74+OaOk3CcUrnA+JchLXzPeB/BRbvcz32VIa8byNsC1kW+xg+25XWtY9aVG2tdu6VL4foDs7Tqd4OIIHAAAAAASUVORK5CYII=",Q:"data:image/png;base64,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",downArrow:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAh9JREFUSA21lb0uRUEUhffxEzo3cXkJDyAhUdCT0CkkCk+l0yv0KBQSUXsJf6EgRHHsb86ssc09VyjsZO6eWbPW2rPnnJzbtG07aV20nhofyhkuKeJxLoIw5YRP5d0Iqghbf5nDJb5pJhyQOVlDZAnIRB/+o14d1GJEimgAphOSNRdOJoqeAjVJhokZfuAp+jTsCS/ceEV9YhUja8ATPmLoe8ISTx2wiBuax5wE/IRQISBx47xRBxAVEPtCZjWXdY0VvR6yTJutCzvx3cHijO0cLtt9YX6dUFwVtIMrW7h9t2PnPp2s2WbWJB4dKHSSQdva6u2bne1f24I2PcdTFvNdzJ2LxjkDHxgzEj8WSBtzU7btkxvfXXp8tVNO52QFnBJ7lzb/grlz0dC1byZjz3DbJn8qABNARvj8YecSzk3b+tGKPSDwQYxwFmdtw6/0jj0f4lnsQEUMMwSciiIU806GWcydD+sDBHOnpSIUauiAIiwUpbp3MmI0M2lNuvN8LaG7ET1ALCDjWCydNhoioiu6G3Mt3/S9z6DzwKqL9BrmhwmCeT45rzGGHK7ODnUd/Or/wF/H4Uv3rhtvWn7oyST/1EUSXHcgQbyu387j1RQNDzhWZq61ikVh31x8abVOen0qWEQxJIUEwuAJ0xxur15f0z6xCihHg9p4rD5eUTSSQCcla8ATrkLjirfqAJHIcS5MBhjHUCEwceP8//8PPgE7CQFG2pHOlwAAAABJRU5ErkJggg==",upArrow:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhVJREFUSA2VlTFuFEEQRXswFmQODL4EB0AixEdwTsapyMjhBnYGEgfwJYwdODPC0lCvd15tbc/IQEm9Xf37/1/VPbO70zzPR20Xc0xTDOcFzqniNZcg5tzx58tuBS3C1v/kcIkDzbMANGd2SFbATGzhT+o9wShGZFQDMDtkNhdnJlJPgZGkYWeWD3jGloY98eTWK9oSW4zZAU98ZRh7Yp3nCVjUDfM6dwEfJSwEJLfmkyeAaEDcCs1GLusRS70PWdOxiyR+/NFe3/xqXwDOXrSLT2/bz0irjq2VfoovGqdYbQSWHXfzh3YZwJvF5frsZTuPIreVx16ERbu+Ftht741Zz9U8lNcdjELkJ8ft/ed3vYimy/a+yNh9do35h+/t1c3SuYaYknOa+9/tigbg4hxxoAeggOEm6wkhBhhhyJVEt3d0TG4RGqCR0Bzo8WD4FvVFAASdn9bOx/vmAdci5SRdj4djPEG/87Hz5Y1BbEw84FpkOclpEGw2T0CSx+NV9Fq478W8cuAS8+okj+3rbmt9gjQI9f00tW90x52HgL0ayQ1wf5LQoA2MBuD0wWvKH45gpD1YE5r9Sw7XSH19yICOSv5bjsZGVnp/KqhcjSAa1QBMM2ZzcWYi9f6aCihgHqNi8uBs5cmtV6RhFdTuyW1EXG4aDgVnT4C55JqLaWABOISFyOXWPL/JVagZxBqajVzWI5a6P0EACOseq1UCAAAAAElFTkSuQmCC",mouseLeft:"data:image/jpeg;base64,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",sxzy:"data:image/png;base64,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",wasd:"data:image/png;base64,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",fire:"data:image/png;base64,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",in:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACABAMAAAAxEHz4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAtUExURUxpcRv7KSD/MBr6KRv6Kxn6KBn6KRr6KRr6KBj3KBr7KRj3KBr6KRr6Khr6KbH1JwQAAAAOdFJOUwCPEO8wd7/PWCCvQN+ffgtVrQAABJxJREFUaN6lWd1LFFEUHwctvwIrCnyRkRIhLCJSKmOwTAr6QNPIyGSp7MOHfdiKPhAxTBBEWYiCoAeJfFQMEgtKAh96kwi0N2Fbd01d79/Q7r2zO3dm7j33zMx50rlzfvs75545555zNU0q+oWOlfsDP/unl79qAUSfe0QKkpma9as+wqlTmWrxo183SDySqcbrfzKJSB5g6V8nEknEMfoVewkJg6AD+oRsKhH0YQJKQgUwz72cfLGve+zL6LUVHuEErF9rv9nUFbejImo/fw7plxb2L91lOFbmbIh2wAGr+ZeeeOKurKeALQd4mzf+o2j1ex7huDQCliz9aoWDZEZ0Wvo3ZL9QYgGk4B94KLfxsPVKROjBGbb4DNqmS4AfD7G1RgMMlF72VkywxLYwOQRHWjFz9Lp3pUjpAAfRiIRbylB+rr1iL5SgDKDRwihUuR4PYz41Jlfoq/9cvjGxBPLvEufXUg8HuVNe05ePOZ7V4AlkKXjdWIr3QE4WPJ8Us2AIC8A2Ys1tQUJDy4QrGpkFH/AA5S7G1IKMgQfQl5z7QC1o9lN9aTBtF/KlqUi2stzUwv/nx4Ks0Po/af1zQBDbqFDY4D/QKn8A5ZwT9JwLknF/ADp1Qtx2gShT6+2qvPKL/tmQ+/OkKHsBRUw7YjthQrKJ2TwfkQMU2bwPnsuKIUyfaYUTMqCbZmQliCsDcVX+TiucAG3+jLwKUqnMLR9VJl85hVJ3UhFnPjkFHSj0OAo5Gze1EBRy8ZPUQlCg2zAbgkKlOg3BFHbxOSUIhVJVIKgolOXW/mrBKeiqSFJSMBGpFKQQVYWiikKNKhRVFHopQMduWKJyChN0wSQoiUgA1rEAaQlABgsgorBAP0csQFq8Q3iAdSMkQExsAtoHAgIUAL0LMek24gJJRMAKJNzJOiYPZYW0ygnQ6rgdggAtDIkQBLQldUIBCej8QS0IgWI1AEiAHc5+BCfAjoqR4ARYaasKToDl26HgBGggJo3gBGgcpUMQoEfsVAgCJaomIQoT0HZ421fN2w3LCbBNgHZRHwQJsPM+PSK9y4mYAkCA+nAdPu4PQgS4NkXacNQDBFintqFoeX6rWp5JOzH4brpM7phZY/dPaKEdzyZ/Zl3zB0Abzy3+yJnxBxDlj6k6Cdh8zzr6J182tDrafxYJfmygYc59SRVEmR9Fk7t2V4eWwgPQKEpzcdpAlN2Hd/y8BQ6GEPWiytNlJluQozDTbUHeBuQw7r1gGMdswFGwxqpDovlaM94DCfHQGjMSNYUjUWsqjIgFNkDfNoRdoKoPtKfjMVkhybTgBtOCbLmTIIzQO+X3JLp1PfYYApgnQMW0huNkj1y/1jpZ34aG3kDBq7P0EwY49JYi5PXl2e98HkF4yXLGVN9VzeQR+jwk7TvAdFyVbGnN6HKutN0pXKBdhbbpst2jnLpp/3rbH/v5XTjSvvGXpNPdY58vjo7sX+QeNhqYfAm0j8oibN+3CfURKad4NZx+Vnpk+k3IrKuNi/X78IeQN4J2NNnlp/qWjbsgkn1n/R0gNP0ld32e8a1OZfTWvYHF00/7l18BwfMfTNVTTzWqIHcAAAAASUVORK5CYII=",info:"data:image/png;base64,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",wall:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABOUExURUxpcf2oAP+oAP2oAP6mAP6oAP+pAP+nAP+tAP2oAP2oAP+vAP+oAP2nAP+nAP2nAP6oAP+pAP+nAP6oAP+qAP+oAP+yAP+uAP+rAP+wAGKXuTAAAAAVdFJOUwCPScm8hTVXCd2aDx/4e5RqFWPuQojXR7cAAAHpSURBVHja7ZrZboMwEEUBsxoaJ0CM/f8/2qosyZO5do2sVPc8R5MTFuvOTLKMENI++kuABebuEsoWFSj0cgFa4AL2eQELBT5RwMQhXOArDqECi6ijcDehAmWcg7VYb0LIFWijCDQUoAAFKEABClAgVMBGygPzKmBF5n0FitlF0WAovdJhAWpAU7HpVI5RrXQTwleOpmLvOyQ0kKAXrdArsJS91/e3AiprcwrgAp7HhIcANB/Qh0AL0Qt3WfMSACckQq6oCkO4y00vgfaB0Oe/v8hqNWCclJP2EACp9Pos3OKc2CpYoIojIClAAQpQgAIUoIC3wG3N+TZSHsj1ITDcEcZyG4aXI8ZJvXI5BBptAfTeOqI94uQua95juUHys3drxs6IrZm3gDl5C9CG5GjNoJdLHgJmKp1IsCWT68dFVyKIOz4lw5rS9udYCVtexxrTcWtGAQpQgAIUoEBygSL11qyw27/pMk8BM0nlorphyH0e7i63IZu3UKqdiBlaw831Fk6FhpB4LGdr9p8FUrfn2NZs/7ffXGBM7qd/eQkMFfSK7yOafXv2N5QwiYdUlU48psspQAEKUIACFKBAaoHwPJA6kDyxKfgpnQkVMDYKb1szT4G4UOCzBMwF6OQCEhaox+YCxjojJDXf4uSKYGN3ygkAAAAASUVORK5CYII=",window:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACABAMAAAAxEHz4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURUxpcSyV3S2U3SyV3C2U3C2U3S+Z4+9tYbwAAAAGdFJOUwDEcEWk8vaFTOAAAAHnSURBVGje7ZnLVsIwEIaD4QG42K4LR7oOVFyjgmsvNPtKM+//COZCrBsmYwMePeZfkCwyH38n0/Z0wlhSkhav4sSWECXFsmiA8nPpR0mI86NxsN9aSbi24z2ocUgZNC4oN4CRy+YTCDteQRPM/ADe3aT8AsgT4KyAYP0ucYCqg8IBhErEAQRJPAfzkBapkP4MgM/N76roDVjDRlNk2xfAJTwbiuoLWIN2oCl9HejQRhjKqCdAh04tpecuuNATBigAG3rKAAWQYwZoAMQABbDADJCSWCAGyKV8ygC5lJuouxExQC7lqOcBZoBeyhEA1AC5lOMAIxRwCF5CE/lU5oLFObj4i+WQAPCWHCQH53CQAAmQAAmQAAnwg4BtSDscQOkjYQClCISLOgAVm4NUSAnwSwCEpmzkzaRwgIy9GyH2eRDOweycu7DrAMUR0H7r49vvCPc9jwEBMPRrntTn+qFPzJ2nYwd0oMRxNIHWegmy6XqxIUlnd6DzpQNe/eZNXfumCANK03BlPDcfXyXARKxypetHPVQ3krAJ9oL3gu9M41fPJdS6+Fr931B3NYIr12v14tYdslltuCthJRjNgg2yG28DdSLc2eUjI2nmk2b671ldT8zkNoMXYrxePB53a6ujbV4J9v/0Aa21qAtzThtwAAAAAElFTkSuQmCC",kitchen:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACABAMAAAAxEHz4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAqUExURUxpcfTqKvXrKu/vMPXqKfTqKfTqKvTqK/LqKvPnKO/nKPTrK/TqKvTqKgvPVicAAAANdFJOUwCfrxB3x+8wWUAgj9+fNmOEAAADXElEQVRo3u1YzWsTQRRP3ZTdND1YqN4K2oN6ERbBaNFCSls/GxA/EDQLRStWaKBQ9KTgoYKggRx6VMhFEEQQ/ECQgBcPCgumbbb24/0vzm6aNDM7M29eQ724v1NmZt8v8/He772ZVCpBggT/AKcWvw1eqOza3JosQYjb1d3ZjxyBbTTGd2N/pgQ7OEq3z3jQiQ/k9deahvdu+M0fT4kEL0OjrYsL7OdiNJfGPMk+Hf37QrNhT4WtdRJBgVnMuO3mM+oisuKcQ8JVwg4OAQTjYg/kjWyXPhfnfrCvb/L9DvOKreLc1UHEsU8fbDmf6L6PWh5xTGf/ru19t8Qhuz1Urxp471b8o/YUYFN5+Dve/ys+ujMF1XlEO33n/IL19sVhVza/4U/Px4oRwxUpwRs2ct3FjmnJk21xNEU/dnZS2CHDfckA26SfRm7msH8K4qFlefKJKRz9e6z3BMBHQqg1Yp01QrBk2BT2x/sIqvUaYE3o6oWGS9IbcQ1leEARnOMxffHMor2FUfEcHFimauYfrqNHaKO640Od6+iHuzTZr0HAtZ/AIRoB24QK71vEzNMv+I0XuDSCrHAMfoOY+hyA6c62WucU6ANY4ZqrRAILYKNTZYhuwFDism2GTuBzJg55CQKBTSfgCwaLGEvRKWx0RWDzx8hWRPTEtJCeakAsaPcJslqOqSyCnKBpo9yWGKAMUOWjs04j8ARZdgRCg2DkPccq0TahF0QNrNEq0UKs6MvJMrY6OZZAlDAHKLqck9RJHpirGqsl4JrY+V7Sp8JjVqJUZDnfUNozPsgEqACGNY71RV54h5WPibBZr1TFangn2ESDMjPJPgvyqsoHveA1L3Oz8sGHBtezIe0FLFyEPk33hV8EyousFTKsYAVecEnzwRROoL9Is5D4jRCspBIClGAaIdjYWwJ7YiKP5FRiBkoI9oRg7X8gGLk8IIO7rYkoAfeK14GqIYHwikcnOAfdEWRKXRKcDF/xhmVoEayj1dOMq81MegJW7mmLLZTAQV79UII0oroWRtCjeqUyJch2S5BGZB0NJgcptBxMkSzQH2MOWWJUA83qIw15bjrLXHl5QIED4TOci79yaYHWogWEAH0ws32t/Qx+Qe3R2RuV487YsApf51MJEiTYI/wFfnAD3ltxHQAAAAAASUVORK5CYII=",livingRoom:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIEAAACABAMAAADe0hfGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUxpcRQgeBMiehQiexIgeRAggBIieRIiehMjehMiehMjeRMheRMieiZedJ0AAAAMdFJOUwBA748mEHTYYKlQvyvHdt4AAAL1SURBVGje7ZjNaxNBGMY32k3SrYcEQaH0ICJGZQ+lUiu0Bz+IQchBUCJqDoIUkeZQelACe8jNiwdtsRLMwYs3D6JUQbxkYxNj5o9yPnZ2Zmc3OzMbEIrzXHaf3Znfzryzw7wzlmVkZPTvdO+O4K/p1b+1A0C7w3zjS9RLddIFSMvU3xS8VHdJBTAKWp4PvP8hpdKp7y+g3uB7uwcCDZP9S1S2vZn4VdzO0yAU9jXm3yJ/O2hRJC70K6MSo9FSom9Q/4cD5FmZvXf4Urmy5QYeXyv7zzzsu2sh0OcGuAAETeDLouBznljqMSM0hVc+fveAeRy1eZHwmhGWUAi63TDml8jjDeovCP5i9z3qyxlG+ERilOfajJRzo37OY//JfIwwYBGdlMII4yqTzSTviQQyNM66V9nnQuxsxf23Ku1SlPBLd/IagiEYgiEcKQKo7JXUqz9c33FjBJ38IMgnGIGuZ75ilhLmFzRTslfoWjRQAsx5wtrGrY9gW4Vwg5XvCMshXI5UmsDlE32WPPjtNXFBn6ZHuPzXXZZCoEaNPsIVDXVP4bdoobbCla8Rdhuu+f4qujkOn4ylANulg1YLMiH0ZMjo0tQVdfocufVI4NCTA/JkQSUQBVaoTr5YYCmVHc0qklVnXS0S2Amu8z2FULZYGmiTXKoehgG/7SsQwq94eDCWuNQSzrDfMkKP6ymZ4a84ZpNrTwrhM9eeQ33Cz/+DIJsYticjyCYGmgQSwqCcpsVeOuEYUNLydMKCGqEzneAoAdjuKE5AQyXX0Eoh3NcKQxLBeirvww8rlWDlyhJVLQlBS4ZgCIZgCIZwhAj9rIQNShhnBKB8hhDAajYAOo49DHaK/tksCnaMTTCTthNOWPUEdwe5mQB409qahYD3rEU3OyA4f3WewCRxfFlT8F8YXK3Ocv7QE08PhjMTfE2AEzttBufLOlpciRKamf9HzYx8emoaP9NXUyk60fUVOXOpZSEcRAZnVx/wXBjf62VNVS0jowT9BdaXVla6cjkQAAAAAElFTkSuQmCC",skyBoxLeft:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////////////////////////////////////////////////////////////////////////wAARCAgACAADAREAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAECBAP/xAAVEAEBAAAAAAAAAAAAAAAAAAAAAf/EABcBAQEBAQAAAAAAAAAAAAAAAAABAgP/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDDbIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAAAIAAAAKAAAAAAAAACgAAAAAAAAAAAACiACAgICAgIACAAAAAAAAAICgAAAAAAAAAAAgAoAAAAAAAICgAooCgoAAIACAAAAIAAoAAACgAAAAAAAAAIAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAy6sAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAgAAAAoAAAAAAAAAKAAAAAAAAAAAAAKIAICAgICAgAIAAAAAAAAAgKAAAAAAAAAACACgAAAKCAAAAAACigKCgAAgAIAAAAgCgAAAKAAAAAAAAAAgAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAgAAAAAAAAMurAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAAAIAAAAKAAAAAAAAACgAAAAAAAAAAACgCACAgICAgIACAAAAAAAAAICgAAAAAAAAAAgAoAAAAAAAAAAAKKAoKACAAAgAACAAKAAAAoAAAAAAAAACAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAACAAAAAAAAy6sAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAgAAAAoAAAAAAAAAKAAAAAAAAAAAAKAIAICAgICAgAIAAAAAAAAgAKAAAAAAAAAACACgAAAAAAAAAAAoqgAoAIAACAAAIAAoAAACgAAAAAAAAIAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAIAAAAAAADLqwAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAAAACAAAACgAAAAAAAAAoAAAAAAAAAAAAoAgAgICAgICAAgAAAAAAACAAoAAAAAAAAAAIAKAAAAAAAAAAACiqACgAgAIAAAAgACgAAKAAAAAAAAAAgAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAIAAAACgAgAAAAAAAAKAAAAAAAAAAAAACAAAAAoAMOrAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAIAAAAKAAAAAAAAACgAAAAAAAAAAACgCCAAgICAgIAACAAAAAAAIACgAAAAAAAAAAgAoAAAAAAAAAAKAKoAKCAAAgAACAAKAAAAoAAAAAAAACAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAADDqwAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAACAAAACgAAAAAAAAAoAAAAAAAAAAAAoAggAICAgICAAAgAAAAAAACAoAAAAAAAAAAIKAAAAAAAAAAACigKAAAAACAAAIAAoAACgAAAAAAAAAIAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAMOrAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAIAAAAKAAAAAAAAACgAAAAAAAAAAACgCCAAgICAgIAACAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAAAACiqAAAAACAAAAIAAoAACgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAMOrAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAIAAAAKAAAAAAAAACgAAAAAAAAAAACgCCAAgICAgIAAAACAAAAAAAAAAAAAAAAAAIKAAAAAAAAAACgCqAAAAACAAAAIAAoACgAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAMurACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAACAAAACgAAAAAAAAAoAAAAAAAAAAAAoAggAICAgICAAAAAAAgAAAAAAAAAAAAAACACgAAAAAAAAAAoAqgAAAAAgAACAAAKAAoAAAAAAACAoIAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAMurAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAAAAACAAACgAAAAAAAAAoAAAAAAAAAAKCCgCCAAgICAgIAAAAAAACAAAAAAAAAAAAAAIAKAAAAAAAAACgAooCgAgAIAAAAgACgAAKAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAy6sAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAIAAKAAAAAAAAACgAAAAAAAAAoAIKAIIACAgICAgAAAAAAAIAAAAAAAAAAAAAgAAoAAAAAAAAAKACiqAACAAgAAACAAKAAoAAAAAAAACAAAAAAAAAAAAAAAAAAAACAAAoAAKAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAICOrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAgAAoAAAAAAAAAKAAAAAAAACgAAgoAggAICAgIACAAAAAAAAgAAAAAAAAAAAACACgAAAAAAAAoAKAKoAAIACAAAAIAAoACgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAIAAACgAoAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAy6sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAICgAAAAAAAAAAAAACgAAAAAAAIAKAAAAAAAAACgAAAAAAAAoAAIKAIIACAgICAAgAAAAAAAIAAAAAAAAAAAAgAoAAAAAAAAAKACgooAACAAgAACAAAKAoAAAAAAAACAAAAAAAAAAAAAAAAAAAACAAAAoAAKAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAMurAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACAAoAAAAAAAAAAAAAAoAAAAAAACACgAAAAAAAAAoAAAAAAAAKAAAKgCCAAgICAgAIAAAAAAACAAAAAAAAAAAAIAKAAAAAAAACgAoKAKAAAgAIAAAgACgAKAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAgAAKAACgAAAAAAAAAAAAgAAAAAKAAACAoAAAAAAAAAAAAAAAAAAAAAAAMurAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAACAoIACgAAAAAAAAAAAACgAAAAAAAIAKAAAAAAAAACgAAAAAAAAoAAAqAIIACAgICAAgAAAAAAIAAAAAAAAAAAAAgAoAAAAAAAAKACgoqgAgAIACAAAIAAoACgAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAMOrAACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAgAAKAAAAAAAAAAAAAKAAAAAAAAAgoAAAAAAAAAKAAAAAAAACgAACoAgAgICAgIACAAAAAAAgAAAAAAAAAAAACACgAAAAAAAAoKCgCqAACAgAIAAAgACgKAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAw6sAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACAAAoAAAAAAAAAAAAAoAAAAAAAACCgAAAAAAAAAoAAAAAAAAKAAAKgCACAgICAgAIAAAAAACAAAAAAAAAoAIAAgoAAAAAAAAKACgoKKAAAgIACAAIAAoACgAAAAAAAIAAAAAAAAAAAAAAKACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAw6sAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAACAAAAAoAAAAAAAAAAAoAAAAAAAAACCgAAAAAAAAAoAAAAAAAAKAAAKgACCAgICAAgAIAAAAAACAAAAAAAAoAAIAgoAAAAAAAAKCgAoqgAAAgIACAAIAAoACgAAAAAAAIAAAAAAAAAAAAAKAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAw6sAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAACAAAAoAAAAAAAAAAAAoAAAAAAAAAAKgAAAAAAAAAoAAAAAAAAKAAAKgACCAgICAAgAIAAAAAACAAAAAAAAoAAAIgoAAAAAAAAKCgoAqgAAgAIACAAIAAoCgAAAAAAAAIAAAAAAAAAAAAKAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAw6sAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACAAAAoAAAAAAAAAAAoAAAAAAAAAAKgAAAAAAAAAoAAAAAAAAKAAAKAgCCAAgICAgAIAAAAAAACAAAAAAoAAAACAAAAAAAACgAoKCigAAICAAgACAAAKAoAAAAAAKAggAAAAAAAAAAAAKAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAw6sAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACAAAAAoAAAAAAAAAAoAAAAAAAAAAKgAAAAAAAAoAAAAAAAAAKAAAAKgCCAAgICAgAAIAAAAAACAAAAAAoAAAACAAAAAAAACgAoKCigAIACAAgACAAAKoAAAAAAKAgAAgAAAAAAAAAAKAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAw6sAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACAAAAAoAAAAAAAAAAoAAAAAAAAAAKgAAAAAAAAoAAAAAAAAAKAAAAKgCACAgICAAgAIAAAAAACAAAAAAoAAACAAAAAAAAACgoAKKoAAIACAAgACAACigAAAAAKAAgAAAgAAAAAAAAAKAAACAAAAgAKAAAAAAAAACgAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDqwAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAIAAAAACgAAAAAAAAACgAAAAAAAAAAqAAAAAAAACgAAAAAAAAAoAAAAqAIAICAgAICAAgAAAAAAIAAAAACgAAAIAAAAAAAAAKCgoAqgAgAIACAAIAAAKKAAAAAAoCAAAACAAAAAAAAAoAAAAIAACAAAoAAAAAAAAAKAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMOrAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAgAAAAAKAAAAAAAAAAKAAAAAAAAAACoAAAAAAAAKAAAAAAAAACgAAACgIgAgAICAgIAACAAAAAAAgAAAAKAAAAgAAAAAAAAoAKCgCqACAAgAIAAgAAAooAAAACgAIAAAAAIAAAAAAACgAAAAgAAIAACgAAAAAAAAAAoAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw6sAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACAAAAAAoAAAAAAAAAAoAAAAAAAAAKgAAAAAAAAAoAAAAAAAAAKAAAAKAiACAAgICAgAAIAAAAAACAAAAAoACAAAAAAAAAACgAoKKoAAIACAAgACAACgCgAAAAKgAAAAAAAAgAAAAAAKAAAACAAAAgAKAAAAAAAAAACgAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDqwAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAIAAAACgAAAAAAAAACgAAAAAAAAAqAAAAAAAAACgAAAAAAAAoAAAAAoCIAAICAgICAAAAgAAAAAIAAAACgAIAAAAAAAAAAKCgoAqgAAgAIACAIAAAKKAAAAAAqAAAAAAAACAAAAAAoAAAAAIAAAAAAAAAAAAAAACgAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAy6sAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAACAAAAAoAAAAAAAAAAoAAAAAAAAAKgAAAAAAAAAoAAAAAAAAKAAAAAKAiAACAgICAAgAAIAAAAACAICgACoCggAAAAAAAAAoAKCgCqAACAAgAIAgAAoAoAAAACgIAAAAAAAAAIAAAACgAAAAAgAAAAAAAAAAAAAAKAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAADLqwAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAIAAACgAAAAAAAACgAAAAAAAAAAIKAAAAAAAACgAAAAAAAAoAAAAAoCIAAICAgIACAAAAgAAAAIAgKAAKgKACAAAAAAAACgAoKCigAIACAAAAiAACgCgAAAAKAgAAAAAAAAAgAAAAKAAAAAACAAAAAAAAAAAAAoAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMurAAAAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAgAAAKAAAAAAAAAKAAAAAAAAAACoAAAAAAAAKAAAAAAAAACgAAAACgCCAAgIACAgIAAACAAAAAgCAoICioCgAgAAAAAAAAoKACiqAACAAgAAAIgAoAAoAAAACgIAAAAAAAAAIAAAACgAAAAAAgAAAAAAAAAAAKAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAADLqwAAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAIAAAACgAAAAAAACgAAAAAAAAAAqAAAAAAAACgAAAAAAAAAoAAAAAoAggAIACAgIACAAAgAAAAAIAgAKKgAAAAAAAAAAoAKCgCqAACAAgAACAAAAAKAAAAAoCAAAAAAAAAACAAAAoAAAAAAAIAAAAAAAAACgAAAAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAy6sAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAACAAAAoAAAAAAAAoAAAAAAAAAAKgAAAAAAAAoAAAAAAAAAKAAAAAKAIIAACAgICAAgAAAIAAAACAIACioAAAAAAAAAAKACgoAqgAAgAIAAAgAAAACgAAAKAgAAAAAAAAAAAgAAKAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAADLqwAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACgAAAAAACgAAAAAAAAAAqAAAAAAAACgAAAAAAAAAoAAAAoAACIAAICAgIACAAAAgAACACKCAAoqAAAAAAAAAACgAoKCigAAIACAAAIAAAAoAAAACgIAAAAAAAAAAAAIACgAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAy6sAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAoAAAAAAoAAAAAAAAAAKAgAAAAAAAoAAAAAAAAAKAAAAKgACAAACAgIACAgAAIAAAAgAiggAAoAAAAAAAAAAKACgoqgAAAgAIAAAgAAACgAAAKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAy6sAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAoAAAAAAAoAAAAAAAAAAKAgAAAAAAAoAAAAAAAAAAAAAoAAAgAAgAICAAgIAACAAAAIAIoIAAAKAAAAAAAACgAoKAKoAAAIACAAIAAAAAoAACgAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAADLqwAAAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAIAAACgAAAAAACgAAAAAAAAAAoACAAAAAACgAAAAAAAAAAAACgACAACAAAgICAAgAAIAAAAAggAAAAKAAAAAAAACgAoKCigAAAIACAAIAAAAAoACgAAAIAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAMurAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAgAAAAKAAAAAAKAAAAAAAAAACgAIAAAAAAKAAAAAAAAAAAAKAAAIIAAACAgAICAAAgAAACAoIIAAACgAAAAAAAAAoAKCgooAAACAAgACAAAAAKAoAAAACACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAADLqwAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAIAAACgAAAAACgAAAAAAAAAAAoCAAAAAAACgAAAAAAAAAAACgIAgAAAAgAIACAgAAIAAAAgKCCAAAAoAAAAAAAAAKCgAoqgAAAAgAIAgAAAAACgKAAAAAAggAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAy6sAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAACAAAoAAAAAAoAAAAAAAAAAAKAgAAAAAAAoAAAAAAAAAAAoACIAAAAIAACAAgIAACAAIAAAAIAAACgAAAAAAAAoAKCgooCggAIACAAIAAAAAAqgAAAAAIIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAjqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAgKCAoAAAAAAoAAAAAAAAAAAKAAgAAAAAAoAAAAAAAAAAAoACIAAAAAIACAAgAIAACAIAAAAIAAACgAAAAAAAAoAKCgooCggAIACAAIAAAAAoCgAAAAAAiAAAAAAACgAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAACAAAoAAAAAAIAAAAAAAAAAAAAAAAAACOrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAAAAACgAAIAAAAAAKAAAAAAAAAAAAKAIIAAAAACAAgAIACAAAiAAAAACAAoAAAAAAAAAKCgAoKKoAIACAAgCAAAAAAKoAAAAAAAIgAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAgAAAAAKAAAACAAAAAgAAAKAAAAAAAAAACOrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAAAAACgAAAIAAAAKAAAAAAAAAAAAAKAIAAAAAIACAAgAIACAAIIAAAACAAoAAAAAAAAKACgoKKAoAIACAgACAAAAAAKoAAAAAAIAgAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAgAAAAAAKAAAACAAAAgAAAAAAAKAAAAAAACOrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAAAAAAAAACgAAIAAAAAKAAAAAAAAACgAAgAoAgAAAAAgAAICAAgAIACAIAAAIACgAAAAAAAAoAKCgoqgAAgAICAIAAAAAAKKAAAAAAAgCAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAACAAAAAAAAAoAAIAAAACAAAAAAAAAAAAoAAAAI6sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAAAAAAAKAAAgAAAAAoAAAAAAAAKAAAAAAKIAAAAIAACAAgIACAgAIAgAAAgAAKAAAAAAACgAoKCiqAACAgAIAgAAAAACqAAAAAAACIAAAAAAAAKAAAAAAACAAAoAAAAAAAAIAAAAAACgAAAAAAAAAAAAgAAAAAAAAAKACAAAAAgAAAAAAAAAAAAKAAAACOrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAAAAAAAAACgAAIAAAAAKAAAAAAAACgAAAAACiAAAAACAAAgIACAgAIACAIAAAIACgAAAAAAoAKCgAoqgAgAIACIAAAAAAKKAAAAAAAgCAAAAAAAACgAAAAAgAAAAAKAAAAAAAACAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAI6sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAAAAAAAKAAAgAAAAAoAAAAAAAAKAAAAAAKIAAAAAAIACAAgICAAgAIAgAAAgKAAAAAAACgAoKCgCqACAAgIAgAAAAAoAoAAAAAACAIAAAAAAAAKAAAAACAAAAAAAoAAAAAAAIAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAjqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAAAAAAAoAACAAAAACgAAAAAAAoAAAAAAAogAAAAAAgAIACAgIACAAgCAAAAAAAAAAAACgAoKCgCqACAgAIAgAAAAAooAAAAAAACAIAAAAAAAKAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAI6sAAAAAAAAAAAACAoIKAAACAKAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAgAAAAAoAAAAAAAKAAAAAAAKIAAAAAAIACAAgIACAgAIAgAAAAAAAAAAAoAKACgooCggAIACAIAAAAKAKAAAAAAAAiAAAAAAAACgAAAAAgAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAACOrAAAAAAAAAAgAAAAoAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAgAAAAAoAAAAAAAKAAAAAAAKIKAACAAAAgAICAgAICAAgCAAAAAAAAAAACgAoKACigAAAIACIAAAAAKAKAAAAAAAAgCAAAAAACgAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAACAOrAAAAAAAAAAgAAAoAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAKAAAAgAAAAAoAAAAAAAKAAAAAAAKqAAACAAAAgAICAAgICAAgCAAAAAAAAAAACgAoKACigAAIAACIAAAAKAKAAAAAAAAAgCAAAAACgAAAAAAAgAAAICgAAAAAAoAIAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAgDqwAAAAAAAAAICggAoAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAgAAAAoAAAAAAAAKAAAAAAAKqAAACAAAAgAICAAgICAAgCAAAAAAAAAACgAAoKCgCgAAIACAIAAAAKAKAAAAAAAAAgCAAAACgAAAAAAAAgAAAAICgAAAAAAAAAAAAAAoAAAAAAAIAAAAACAoAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAgDqwAAAAAAAAAIAAAAKAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAIAAAAKAAAAAAAACgAAAAAACqAgAAAgAAIACAAgICAAgIAgAAAAAAAAAAoAKACgoAoAACAAgCAAACgACgAAAAAAAACCAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgDqwAAAAAAAAAAIAAAKAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAAAAAAAACgAAAIAAAAKAAAAAAACgAAAAAAAoogAAAAgAAIACAAgIACAgAIgAAAAAAAAAAoAKCgoAKKAgAIACIAAAAKAAKAAAAAAAAIAAIACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOrAAAAAAAAAAAAAgKCCgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACgAAAAAAAAAAAAAAAoAACAAAAACgAAAAAAAoAAAAAAAKKAIAAAIAACAAgAICAAgIACIAAAAAAAAAKAACgoKCgCgIACAAiAAAACgCgAAAAAAAACAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI6sAAAAAAAAAAAACAAAACgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAACAAAAACgAAAAAAAoAAAAAAAKAKIAAAIAACAAAgIACAgIACIAAAAAAAAAKACgoAKCgCgIACAAiAAACgACgAAAAAAAACAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI6sAAAAAAAAAAAAACAoIAAACgAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIACgAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAgAAAAAoAAAAAAAKAAAAAAACgCiAAACAAAAgAICAAgICAAiAAAAAAAAACgAoKCgAoAoCAAgCACAAoAAAoAAAAAAAAAgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOrAAAAAAAAAAAAAAAAAAgAAKAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAgAAAAAoAAAAAAAKAAAAAAACgCiAAAACAAAgAIACAgICAAgCAAAAAAAACgAoKCgoAoACAAgCACAAoAAoAAAAAAAAAAgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjqwAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAoAAACAAAAACgAAAAAAAoAAAAAAAKAKIAAAAIAACAAgAICAgIACAIAAAAAAAKACgAoKCgCgAIACAIAICgAACgAAAKACAAAAAIAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI6sAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAgAAAAoAAAAAAAKAAAAAAAACgCiAAAACAAAgAIACAgICAAgCAAAAAAACgAoKACgoAoACAgACAAAAAAKAAAoAAIAAAgKCAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOrAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAIAAAAKAAAAAAACgAAAAAAAAoAoAgAAAgAAIACAAgICAgAIAgAAAAAAAoAKCgoAKAKAgAIAgAAAAACgAAKAAACAAIAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI6sAACAAoAAIACgAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAIAAAAAKAAAAAAACgAAAAAAAAoAAogAAAAgAIACAAgICAgAIgAAAAAAAAoAKCgoKAAKAgAIAgAAAAACgAAKAAACAAIAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA6MAACgAgAAAKAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAKAAAAgAAAAAoAAAAAAAKAAAAAAACgAACiAAAACAAgAIACAgICAAiAAAAAAAACgoAKCgoAoACAAgCAAAAAKAAAoAAAAIAAgAAAAAAAAAAAAAAAAAAAgAAACggAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAOjAAAAAAAAoAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAoAACAAAAAACgAAAAAAAoAAAAAAAKAAAKIAAAAIACAAgICAAgIACIAAAAAAAKACgAoKCgCgIACAIAAAAAAoAACgAAAAgACAAAAAAAAAAAAAAAACAAAAAKAAACAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAgAAAADowAAAAAAAAAAKAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAKAgAAAAAAAAoAAAAAAAKAAAAAAACgAAAIoAAACAAgIACAgIACAAiAAAAAAACgAoKCgAoAoCAAgCAAAAAAKAAoAAAAAIAAAAgAAAAAKCAAAAAACAAKAAAAACAoIAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAACAAAAAAOjAAAAAAAAAAoAAICgAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACgIAAAAAAAAAKAAAAAAACgAAAAAAAoAAACKAAAAgAICAgAICAgAIAgAAAAAAAoAKCgoAKKAAgAIAgAAAAACgAKAAAAACAAAAAAAIACgAAAAAACAAAAAAAAAAIAAAKAAAAAAACAAAAAgAAAAKAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAIAAAAAAA6MAAAAAAAAAAAAACgAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAgKCCgAKCAAAAAAACgAAAAAAAAoAAAAAAAKAAAAigAAAICAAgICAgAIACAIAAAAAAAKACgoKACigIAACIAAAAAAoAACgAAAAAAgAAAAAAACAoAAAAAgAAAAAAAAAAAACCgAAAAAAAgAAAAIoAAIAAAKAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAIAAAAAAAA6MAAAAAAAAAAAACgAgKAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAACAACgAAAAAAAAAAoAAAAAAAAKAAAAAAACgAAAIoAAACAgAICAgIACAAiAAAAAAACgAAoKCgAooCAAgCAAAAAAKAAoAAAAAAAIAAAAAAAAAAAAAACAAAAgAKAAAAAAgAAAoAAAAAIAAAogAAAACAACgAAAAAAAAAAAAAAAAAoAAAIAAAAAAACAAAAAAAAAAOjAAAAAAAAAAAAoIACgAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAgKCACgAAAAAAAAAAoAAAAAAAAAKAAAAAAACgAAAIoAAACAgAICAgICAAAiAAAAAAACgAoAKCgAooCAAgCAAAAAAKAAoAAAAAAAAIAAAAAAAAAAAAACAAAgAAKAAAAAAgKCAACgAAAgAACiAAAAAAIAAKAAAAAAAAAAAAAAAAACgAAgAAAAAIAAAAAAAAAAAAA6MAAAAAAAAAAKAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAgAAoAAAAAAAAAAAKAAAAAAAACgAAAAAAAAoAAACKAAAAgIACAgICAAgAIgAAAAAAAoAKACgoAoAAACAIAAAAAAoACgAAAAAAAAgAAAAAAAAAAAAAIAACAAAoAAAAKCAAIAAKAACAAKAIAAAAAAAgAAoAAAAAAAAAAAAAAAAAKACAAAAAgAAAAAAAAAAAAAKCOjAAAAAAAACgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAIAAKAAAAAAAAAAACgAAAAAAAAAoAAAAAAAAKAAAAigAAAIACAgICAgIAACIAAAAAAKAACgAoKAKAAAAiAAAAAAKAAAoAAAAAAAAIAAAAAAAAAAAAACAAAAgKAAAACgAgACAACgAAgCgACAAAAAAAIAKAAAAAAAAAAAAAAAAAACggAAAAIAAAAAAAAAAAAACgAjqwIAAAAAAKAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAgAAoAAAAAAAAAAAKAAAAAAAAACgAAAAAAAoAAAAogAAAAgAICAgICAgACCAAAAAAAoAAKACgoAoAAACIAAAAAoAACgAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAACgAAgACAoqAAACAKAIAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAOjAAAACAoAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAAAAAAACAAACgAAAAAAAAAAAoAAAAAAAAAKAAAAAAACgAAACiAAAACAAgICAgICAAIIAAAAACgAAAoAKCgCgAAAIgAAAACgAAKAAAAAAAAACAAAAAAAAgAKAAAACAAAAAAAoAAAIAAgAoAAAIAoAgAAAAACACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAA6MAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAAAAAAACAACgAAAAAAAAAAAoAAAAAAAAAAKAAAAAAACgAAAIoAAAACAAgICAgICAAIIAAAAACgAAAoAKACigAACCAAAAACgAAKAAAAAAAAACAAAAAAAgAAKAAAACAAAAAAoAAAAIAAgAAoAAIAoAAgAAACCgAAAAAoAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAADowAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAIAAKAAAAAAAAAAAAACgAAAAAAAAAoAAAAAAAKAAAAigAAAAAICAgICAgIAAgAgAAAKAAAACgAoAqgAAAiAAAAAKAAAAoAAAAAAAAAIAAAAAACAAoAAAAAAAIACgAAAAAAgAACAACgAgACgACAAqAAAAACgAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAOjAAAAAAAAAAAAAAAAAAAoICgAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAACAACgAAAAAAAAAAAAAoAAAAAAAAKAAAAAAACgAAAAIoAAAAACAgICAgICAIAAIAACgAAAAAoAKAKoAAAIgAAAACgAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAKAAAAACAAAAAgAAAAAAKAAAAAAAAAA6MAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAACAACgAAAAAAAAAAAAAAoAAAAAAAAKAAAAAAACgAAACgCAAAAACAgICAgICIAAAIACgAAAAAAoAKAKoAAAIgAAACgAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAAAAAAAAAACgAAAAAAAAgAAAAAKAAAAAAACAAAAAgAAAKAAAAAAAAAAAA6MAAAAAAAAAAAAAAAAAAAAAACggKAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAIKAAAAAAAAAAAAAAACgAAAAAAAAoAAAAAAAKAAAAAigAAAAAICAgICAgIgAAAAAAAAAAAAoAKAKoAACCAAAAACgAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAACAAAAAAAAAAAAACgAAAAAAAAAAgAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAOjAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAgAAoAAAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAoAAAAogAAAAAAgICUEBARBAAAAAAAAAAAAAUAFFUAAABBAAAABQAAAFAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAAAAAAABQAAAAAAAAAAAAQFAAAAAAAAAAAABAAAAAAAAAAAUAAAAEAAAdGAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAABABQAAAAAAAAAAAAAAAUAAAAAAAFAAAAAAABQAAABQBAAAAAABASglBmggIgAAgKAAAAAAAACgAoAqgAAAiAAAAKAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAIAAA6MAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAACAACgAAAAAAAAAAAAAAAoAAAAAAAAKAAAAAAACgAAACiAAAAAAACAlBmglBARABAAAUAAAAAAAFABQBVAAABEAAAAUAAAABQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAQAAAAFABAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFAAAAAAAABAAAAHRgAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAQAAUAAAAAAAAAAAAAAAFAAAAAAAABQAAAAAAAUAAAAUQAAUEAABAAZoJQZoIgAgAAAKAAAAAAACgAoKKAAAIIAAAAAKAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAICggKAAACAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAADowAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAIAAAKAAAAAAAAAAAAAAACgAAAAAAAAoAAAAAAKAAAAAKIAAKACAAgJQSglBmgiCAAAAAoAAAAAAAKACgooAAAggAAAAAoAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAA6MAAAAAAAAAAAAAAAAAAAAAAAAACgAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAACAACgAAAAAAAAAAAAAAAAoAAAAAAAAKAAAAAACgAAACgCAACgAgAICUEoM0EoIggAAAAKAAAAAACgAoAKKAAAIIAAAAKAAAoAAAAAAAAAAAIICgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAgAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAA6MAAAAAAAAAAAAAAAAAAAAAAAAAAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAACAAACgAAAAAAAAAAAAAAAoAAAAAAAAKAAAAAAACgAAACgCACgAAgAICUEoM0EoMoAAAAAKAAAAAACgAoAqgAAIAIAAAAKAAAoAAAAAAAAAAiAAAACgAgKAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAICujAAAAAAAAAAAAAAAAAAAAAAAACgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAgAAoAAAAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAoAAAAogAAoAAIACAlBmglBmgiAAAAACgAAAAAAoAKAKoAACACAAAACgAKAAAAAAAAAAAIgAAAAAAoAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAiitsAAAAAAAAAAAAAAAAAAAAKAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAACAACgAAAAAAAAAAAAAAAAoAAAAAAAAAKAAAAAACgAAAACiAACgAAgAICUGaCUGaCIAAAAAKAAAAAACgAoAqgAAIAIAAAAKAAoAAAAAAAAAAIIAAAAACgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAgAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACKK2wAAAAAAAAAAAAAAAAAoAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAIAKAAAAAAAAAAAAAAAACgAAAAAAAAoAAAAAAAKAAAAAKAIKAAACAAgJQZoJQZqCAAAAAAoAAAAAAKACgCqAAAgAgAAAAoCgAAAAAAAAAAAggAAAAAKAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAggCgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAKICtsAAAAAAAAAAAAAKAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAACACgAAAAAAAAAAAAAAAAoAAAAAAAAAKAAAAAAACgAAACgCACgAAAAgICUGaCUGaggAAAAAKAAAAACgAAoKKAAAIAIAAAKAAoAAAAAAAAAAAIIAAAAACgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAIIAqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAACiArbAAAAAAAAAACgAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAgAAoAAAAAAAAAAAAAAAKAAAAAAAAACgAAAAAAAoAAAAAoAgAoAAAAICAlBmglBmoIAAAACgAAAAAAoAKACigACAACAAACgKAAAAAAAAAAAACACAAAAoAAAAAAAAAAAAAAAAAAACAAoAAAAIAAIIAqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACg2wAAAAAAAoAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAIAKAAAAAAAAAAAAAAAACgAAAAAAAAAoAAAAAAAKAAAAAKAIKAAAAACAgJQZoJQZQQAAAAFAAAAAABQAUAFFAAEAAEAAFAUAAAAAAAAAAAAAAEAEABQAAAAAAAAAAAAAAAAAAAAAAAAAAAQABEVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAB0YAAAUAAAAAAAAAAAAAAAAAAAAAAAABQQFAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAUAAAAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAUAAAAUAAQUAAAAAEBASgzQZoJUEAAAABQAAAAAAUAFAFUAABAAABBQAFAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAABAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFdGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAEFAAAAAAAAAAAAAAAAABQAAAAAAAAAUAAAAAAAFAAAAAAFAEFAAAAABASglBmgzQSoICAoAAKAAAAACgAAoAqgAAIAAIAKAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAICgggAAAACgAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAgAAAAAAKAAAAAAAACAAAArowAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAAoAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAACACgAAAAAAAAAAAAAAAAoAAAAAAAAAAKAAAAAAACgAAAACgAKgAAAAAAgJQSgzQZoJUEBAAUAFAAAAABQAAUAVQAEAAAEFAAUAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAEBREAAAAAABQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABQAAAAAAAAQAAFdGAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAQFAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAQAAUAAAAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAAUAAAAAUAQUAAAAAAEBKDNBKDNBEEBAAUAAFAAAABQAUAFFAAEAAAEFAUAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAQFBEAAAAABQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAQAFdGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQQAFBAUAAAAAAAAUAAAAAAAAAAAAAAAABAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAAFAAAAAAABQAAAAABQAFQAAAAAAQEoM0EoM0GUAEABQAAUAAAFAABQBVAAAQAAQAUBQAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAQFdGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQABQAAEBQAAAAAAAAAAAAAAAAAAQUAAAAAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAAUAAAAAUABUAAAAAAAEBKDNBmglBlBAAAUAAFAAABQAAUAVQAAEAAEFAUAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAQFBAAAAAAAAAAAAAAAAAAAUEAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAQFdGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAUEAAAABQAAAAAAAAAAAAAAAQUAAAAAAAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAUAAAAAAUBUAAAAAAAEBKDNBmglBlBAAAUAAFAABQAAUAFFAAEAAAAVAUAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAFBAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAEBXRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAFAAAAAAAAAAAABBQAAAAAAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAABQAAAAABQFAQAAAAAAAQGaCUGaDNBEEAABQAUAAAFAABQAUUAAQAABQAAAAAAAAAAAAAAEAAAABQAAQAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAEBXRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAFAAAAAAAAAABBQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAABQAAAAABQFAQAAAAAAAQGaCUGaDNBEEAABQAUAAAFAABQAUUAAQAABQAAAAAAAAAAAAAEAAAABQAAAAAQAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAEABXRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAFAAAAAABBQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAAABQAAAAABVAQAAAAAAAAQGaCUGaDNBEEAABQAUAAFAABQAUUAAAQAAABQAAAAAAAAAAAEAAAAABQAAAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV0YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAABQAAQFBBQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAABQAAAAAABVAAQAAAAAAAQGaCUGaDNBEEAABQAUAAFAABQAUUABQRAAAFAAAAAAAAAAAAQAAAAAFAAAAAAABAAAUAAEAAAAAAQFBAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV0YAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAQUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAUAAAAAAUBQEAAAAAAAAEoM0EoM0GaCIIAACgAoAKAACgAoAoCgIIAAAAKAAAAAAAAAAAgAAAAKAAAAAAAAACAAoAAAIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6MAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAooAAgAAAAAAgJQSgzQSgzUEBAAUAFAABQAAUAFAFAUBBAAABQAAAAAAAAAAAEAAABQAAAAAAAAAAQAFAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAEAAABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdGAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAABQAAAAAABVAAQAAAAAAAQEoJQZoM0EqCAgAKACgAAoAAKACgCqAAggAAAAoAAAAAAAAACAAAoAAAAAAAAAAAAIAACgAAAAgAAACAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACujAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACgAAAAAAAAoAAAAAAAKKAAAIAAAAAAICUGaCUGaCIICAoAAKACgAAoAKAKAoACACAAACgAAAAAAAAAIACgAAAAAAAAAAAAAAgAKAAAAACAAIAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6MAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAAAACgAAAAAAAooAAgAAAAAAAgJQZoM0EoIggAoIAoAAKAACgAoAqgAAIAIAAAKAAAAAAAAAAAAAAAAgKAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6MAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAoAoAAgAAAAAAAgM0EoM0EoMoAoAIAoAKAAACgAoKKAAIAAIAAAAAKAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAACAAAAAAIAAKAAACAAAAAAAAgAAAKAAAAAAAAAACAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAADTowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAoAAAAAAAKKAAAIAAAKCAAAlBmglBmgzQRAFAABFABQAAUAFABRQABAABAAAABQAAAAAAAAAAAAAEAAAAABQAAAAAAAAAAAAAAAAQAAAAABAABQAAAQAAAAAAAAAAAAAAAAAAAAAEAAAAABAAAAUAAAAAAAAAAAAAAAAAAAAAAAEABt0YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAABQAAAAAAAAAUAAAAAAAFAFAAAEAAFAABAASgzQZoJQZoIgCgAKIAoAAAKACgooAAAgAAgAAAoICgAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAgAAAAACACgAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAIAAADbowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAoAAAAAAAKAKAAIAAAKAACAAzQSgzQZoJQRAFAAUQBQAAUAFABRQAABAABAAABQQFAAAAAAAAAAAAAAAQAFAAAAAAAAAAAAAAAAABAAAAAAAEAFAAAAABAAAAAAAAAAAAAAAAAAAAQAAAAAAEAABQAAAAAAAAAAAAAAAAAAAAAAQAAAG3RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAUAAUAAAQAUAAAEBASglBmgzQQEQBQAFAEUAAFABQAUUAAQAAQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAEFAAAAAAABAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABAejowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAKAKAAAIAAKAAACAgJQSgzQZoICIIKoAKAIoAKAACgoAoAAgAAgAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIKAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACA9HRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAUAAUAAAQAUAAAAEBASgzQSgzQQEQBQAFBQBAFABQAUUBQARAABAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABBAFAAFAAVAAAAAAAAAAAAAAAAABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABAejoyACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAAAAACgCgAAACACgAAAAgICUGaCUGaCAiAKAAoKAIAoAKACigKACIAAIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAIAIAAAoAAoCoAAAAAAAAAAAAAAAAAAIAAAAAACAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAACAAAAA26MgAAAAgAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAoAAoAAAAgoAAAAAICAlBKDNBmgiCACgAKCgCKAACgAooCgiAAACACgAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAIAAIAAAoAAoCgIAAAAAAAAAAAAAAAAAAIAAAAACAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAACAAAAA26MgAAAAAAgAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAoAAAoAAAgAoAAAAAIADNBKDNBmgiCACgKACgCKACgAoAoCgiAAACACgAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAIAAAIAAoAoACgAIAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAACAAAA26MgAAAAAAAAgAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAAoAAAoAAAgoAAAAAAAIDNBKDNBmgiCACgKACgAogCgAooACgiAAACACgAAAAIAACgAAAAAAoIAAAAAAAAAAAAAAAAAACAAAgAAAgCgACgAKAAAgKCAAAAAAAAAAAAAAACAAAAgAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAgAANujIACgAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAAAAAAKAAAKAAAAIKAAAAAAACAlBmgzQSgyggAoCgAoKAIAoAKKAAAIAAIAKAAAAAAgAAKAAAAAACgAAgAAAAAAAKAAAACAAAAgAIAAAACiAoAACgAAIACggAAAAAAAAAAAAAAAgAAIAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAID0dGQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAAAAABQAABQAABBQAAAAAAAAQEoM0EoM0EQQEFAUAFBQBFABQBQFBEAAAEAFAAAAAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAABAAQAAAAFAAAABQAAAEBQAQAAAAAAAAAAAAAAQABRAAAQBBQAAAAAAAAAUAEAAAAAAAAAAAAAAAAAAAAAABt0ZAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAFAAAAFAAAEFAAAAAAAABASgzQSgzQSoICCgKACgoAigAooCgAiAAACCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACAAAAAoAAAKAAAAAAAAgAAAAAAAAAAAAAAgCgCAAAgAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA26MgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAACgAACgAAAKgAAAAAAAAAgJQSgzQZoIggIAKoKACgoAKACgAAiAAACCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACAAAAAoAAAKAAAAAAAAAgAAAAAAAAAAAAAAgCgCAAAgAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA26MgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAAACgAACgAACCgAAAAAAAAAgJQSgzQZoJUEBAUUBQUAFBQAUAABABAAAQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAQAAAAFAABQAAAAAAAAAEBQAQAAAAAAAAAAAQBQBAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3RkAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAABQAAAAAAAAUAAAAUAAAQUAAAAAAFBAAQEoJQZoM0EqCAgKKAoKCgAoKAAAAggAAAIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAIAAAAACgAAoAAAAAAAAAAACAAAAAAAAAAAACAAKAIAAgAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAADboyAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAKAAAAKAAAqAAAAAACgAgAICUEoM0GaCVBAABQFBQUFBQAAAAEEAAAABBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABAAAAAAUAFAAAAAAAAAAAAQFBAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAABQAAAAAUAEAAABt0ZAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAFAAAAFAAAAVAAAAAABQAAQEBKCUGaDNBKggAAoCgoKCgoAAACACAAAAAgAoAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAgAAAAKAACgAAAAAAAAAAAAAAIAAAAAAAAAIAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAKAAAACgAAAAgANujIAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAoAAAAoAACgIAAAAAKAAACAAzQSgzQSgzUEAAFUFBQUFABQAQBABAAAAAAQAUAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAQAAAFAAABQAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAFAAABQAAAAAAAadGQAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAABQAAAABQAAFAQAAAAAUAAAEABKDNBmglBmoIAAKoKCgoKACgAgCACAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAACAACAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAIAAACgAAAAoAAAAAAANOjIAAAAAAAAAAAAAIAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAoAAAAAoACgIAAAAAAKAAACAAlBmglBmgzUEAABRVBQUFABQQBAABAAAAAAAQAAAUAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAUAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAEABQAAAAUAAAAAAAAGnRkAAAAAAAAAAAAAAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAUAAAAAUAABQEAAAAAFAAAAABAQGaCUGaCVBAQAFBRVBQUAABAAABAAAAAAAAQAAAAUAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAUAAAAAAAAAAAAAAAABAUEEAAAAAAAAAAAAAAAAAAAABAAAAUAAEAAAAAAAAAAAAABQAAAAAAAAadGQAAAAAAAAAAAFAAEAAAAAABQQAAAAAAAAAAFABAUEAAAAAAAAUUEBQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAUABQAEAAAAAFAAAAABAQEoM0GaglBAQAFBRVABQUABAABAAAAAAAAAAQAAAAAAAAUEAABQAAAAAAAAAAAAAEAAAAAAAAAABQAAAAAAAAAAAAAAAAAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAUAAAAAAAAGnRkAAAAAABQAAAAABAAUAAAAAAAAAAAEBQAAAAAAAAAAAQAAFUAAAQFBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAABQAAAAABQAFAAQAAAAUAAAAAAEBASgzQZqCUEBAAUAVQUFAQAAAAAAAAAAAAAAAAQAAAAAAAAAAUAAAAAAAAAAAAAABAAAAAAUAAAAAAAAAAAAAAAAAAAAABAURAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAG3RkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAABQAAAAABQAFAAAQAAAAUAAAAAAEBKCUGaDNQSggIAACiqCgAqAAAAAAAAAAAAAAAAAAAAAACAoIAAAAKAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAA26MgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAAAKAAoACAAAACgAAAAAAAgJQSgzQZqCUEBAAAUVQAVABQAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAAAAAAABAAUAAAAAEAAABQAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAUAAEAABQAAAbdGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAFAUAABAAAABQAAAAAAAQEoJQZoM1BKDIAAAKKoCCgAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAKAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAgAAAAAKDboyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAgAKCAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAACgKAAAgAAAoAAAAAAAAICUGaCUGaglBkAAAFFAVBQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAFAAAAAAAAAAAAAAAAAQAAAAAFAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAB6OjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAACgKAAAAgAAAoAAAAAAAAICUGaCVBmglBkAAAFFUBABQAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAFAAAAAAAAAAAAAAAAQAAAAAAFAAAAAAAAAAAAAAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAABQbdGQAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAEBQQAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAAAUABQAAEAAAFAAAAAAAAABASgzQSoM0EoMgAAAoqoAKAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgoAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADboyAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAAAoCgAAAIAAAKAAAAAAAAACAlBmglQZoJQQEABQBVQAUAAAAFAAAAAAAAAAAAAAAABAAAUAAAAAAAAAAVAAAAAAAAAAAAAAAQAAAAAAFAAAAAAAAAAAAAAAABAAAAAAEAAAAAAFAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbdGQAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABQAQAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAUABQAAAEAAFAAAAAAAAAABASgzQSoM0EoICAAoAqoAKAAAACgAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAKgAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAgAAAAAACAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANujIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAACgKAAAAgAAAoAAAAAKAACAAgJQZoJUGaCUEBAAUUBUFAAAAAABQAAAAAAAAAAAAAAAQAAAFAAAAAAAAAAFAQAAAAAAAAAAAAEAAAAAABQAAAAAAAAAAAAAAAQAAAAAAABAAAAABQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHo6MgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAACAAAoAAIAAAAAooAIACgAAAgKCAAAAAAAAAAAAAAAKAAAAAAAAAKAAoAAACAACgAAAAAoAAAIACAlBmglQZoJQQEABRQFQUAAFAAAAAAAAAAAAAAAAAAABAAAAUAAAAAAAAAAAVAAAAAAAAAAAAAAQAAAAFAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAFAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAejoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAIAooAAAAAAAAAAAAICggAAAAAAAAAAAACgAAAAAAAAACgKAAAAgAAAoAAAAAKAAACAAgJQZoJUGaCUEBAAUUBUFAABQAAAAAAAAAUAAAAEAAAAABAAAUAAAAAAAAAAAVAAAAAAAAAAAAAAAQAAAFAAAAABAAAAAAAAAAAAAAAAAAAEAAAAAFAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAejoyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAACAoIAAAAAAAAAAAoAAAAAAAAAAoACgAAAIAAKAAAAAACgAAAgAICUGaDNQSgzQAQAFFAVBQAUAAAAAAAAAFAAAAAABAAAAAQAFAAAAAAAAAAAAAFQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6OjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAKAAAAAAAAAAAAKAoAAACAAACgAAAAAAoAAAIACAlBmoM0EoMggAAKAiqCgAoAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAACgIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAIAAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9HRkAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAFAAAAAAAAAAAAFAAUAAABAABQAAAAAAAUAAAEABAZoJUGaCUGQQAAFARVBQAUAAAAAAAFAAAAAAAAAABAAAAAAAAAAAAAAAAAABQAEAAAABQAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAABQAQABAAAAAABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHo6MgAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiAAAAAAAAAAAAAAoCgAAAIAAAKAAAAAAACgAAAgAIDNBKgzQZoICAAAoCKoKACgAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAKAAgAKAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAKAAACAAAIAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9HRkAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUQFBAUEAAAAAAAAABQFAAAAAQAAUAAAAAAAAFAAABAAQGaCVBmgzQQEAABQBVQUAFAAAAAABQAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAABAAAAAAAAAQAAAAAAAAAAAAFAAAAABAAAAEAAAAFAAABAAAAAAAAAQAAAFAAAAAAAAAAAAAAAAABAAeroyAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAIAAAAAAAACgKAAAAAgAoAAAAAAAAKAAAACAAgM0EqDNBmggIAACgCqgoAKAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAoAACAAAAoAAAAAAIAAAAACAAAAAAAAAAAAoAAAAAAAIAAAgAAAAoAAIAAAAAAAACAAAAAoAAAAAAAAAAAAAAIAAAAD2dGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAEAAAAABQAFAAAAAQAAUAAAAAAAAFAAAABAASgzQSoM0GaCAgAAKCiiCgAoAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAACgIAAAAAACgAAAAgAAAAAIAAAAAAAAACgAAAAAAAAAgAAAACAAAAAoAAAIAAICgAgAAAAAKAAAAAAAAAAACAAAAAAA9nRkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAABAAAUBQAAAAAEAFAAAAAAAAABQAAAAQAEBmglQZoM0EABAAUVQEFABQAAAUAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABBQAAAAAAFAAABAAAAAAQAAAAAAAAFAAAAAAAAAABAAAAAAAAAAAAAQABAAAAAAAAABQAAAAAAAAAAQAAAAAAAAHs6MgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAIAKAAAAAAAACgAAAAAgAIDNBKgzQZoIACAoAqgIKACgAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAACgAAAAAAAKACAAAAAAgAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAgAAACAAAACggAAAKAAAAAAAAAACAAAAAAAAgPd0ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAUAAAAABABQAAAAAAAAAUAAAAAEABKDNBKgzQZoIACAoAqgIKACgAAoAAAAAAAAAAAAAAAAAAIAACgAAAAAgAAAAAAAAAIAAKAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAACAAAAAAAAgAAAAAACAAACgAgAAKAAAAAAAAAACAAAAAAAgAPd0ZAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAABABQAAAAAAAAAUAAAAAAEBKDNBKgzQZoIAAAAKoKgAAoAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAgAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAgAAIAAACgIAAAKAACAAoAAAAAAAAAAAIAAAAACAA93RkAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAQAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAEAFAAAAAAAAABQAAAAAAQAEoM1BKDNBmggAAAAqgqAACgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAgAAAAAIAACAAAAAAqAACgAAAAAAAAAAAAAAAAAgAAAAAIAD3dGQAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAEAAFAAAAAAAAABQAAAAAAQAEoM1BmglBmggAAAqgAqACgAAAAAoAAAAAAAAAAAAAAIACgAAAAAAAAAgAAAAAAAAIAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAACAAAAAAgAAIAAAACoAAAKAAAAAAAAAAAAAAAAACAAAAAgAAPd0ZAAAAAAAAAAAAAAAAUAAAAAAAABAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAABABQAAAAAAAAAUAAAAAAAEABKDNQZoJQZoIAAAKoCCgAoAAAAAAKAAAAAAAAAAAACAAAAoAAAAAAAAIAAAAAAAACAAAAACgAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAgAAAAAIAACAAAAIKAACgAAAAAAAAAAAAAAAAAAgAAAAIAAD3dGQAFAAAABAUAAAAAAAAAAAAAABAAAAUEABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAEAAFAAAAAAAAABQAAAAAAAQAGaCVBmglBmggAAAqgIKACgAAAAAAoAAAAAAAAAAAAIAAAACgAAAAAAAgAAAAAAAAAIAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAgKCAogCAoICiAAAAAAAIAAKAAAAAAAAAAAAAAAAAACAAAAAgAAAOhtkAAUAAAAAAAAAAAAAAAAAAAEAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAEAFAAAAAAAABQAAAAAAAAQAGaCVBmglBkEAAAFUBBQAUAAAAAAAFAAAAAAAAAAAABAAAAAUAAAAAAEAAAAAAAAAABAAABQAAAAAAAAAAAAAAAAAAAAAAAAEAABQAAEAAAEAAAAABFAAABAAABQAAAAAAAAAAAAAAAAAAQAAAAEAAABAdLbIAAAAAoAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAIAKAAAAAAAAACgAAAAAAAAgAM1BKDNBKDIIAAAKoCCgAoAAAICgAAAoAAAAAAAAAAAIAAAACgAAAAAAAgAAAAAAAAAIAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAAAAAACAAAAoAAAAAAAAAAAAAAAIAAAAAAAACAAAAgAOltkAAAAAAAAUAAAAAAAAEAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAEFAAAAAAAAABQAAAAAAAAAQAGaglBmglBkEAAAFUBBQUAAAEAABQAAUAAAAAAAAAAAAEAABQAAAAAAAAQAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABRAEAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAQABR0tMgAAAAAAAAAAACgAgKCAAAAAAAAAAAAAAoIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAIAKAAAAAAAACgAAAAAAAAAAgAM1BKDNBmggIAAAKoCCgoAAAIAACgAAoAAAAAAAAAAAAAIACgAAAAAAAAgAAAAAAAAAIAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgCAAIAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACAAAgAACjpaZAAAAAAAAAAAAAAAAAAAAAUAAEAAAAAAAAAAUAAAEAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEFAAAAAAAAABQAAAAAAAAAAQAGaglBmgzQQEAAAFUBBQAUAAEAABQAAUAAAAAAAAAAAAAAEBQAAAAAAAAQAAAAAAAAAEAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAEABQBAAAAEAAAAFBAAAAAAAAUAAAEAAAABAAAAAAAAAAAAQAAAAEAB0tsgAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAKCAAAAoAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAIKAAAAAAAACgAAAAAAAAAAAgIglBKDNBmggIAAAKAqACgAAAAAAoAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAgAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAKAAAAAAAAAAAAAACAAAAgAAAAAAAAAAAAIAAAAADobZAAAAAAAAAAAAAAUAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAABBQAAAAAAAUAAAAAAAAAAAAEAQZoJQZoM0EBAAQAFFEFABQAAAAAAUAAFAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAQAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAEAAAFAAAAAAAAAAAAAAABAAAAQAAAAAAAAAAAAAAEAAB0NsgAAAAAAAAAAKAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAgoAAAAAAAAKAAAAAAAAAAAAACIM0EoM0GaCAgIAAAKqACgAAAoAAAKAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAIAAAAAKAAAAAAAAAAAAAAAAAAAAAIACggAAKIAAACAoCAACgAAAAAAAAAAAAAAAgAAAIAAAAAAAAAAAAAAAAAD3bZAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAABQAAAQBQAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAEFAAAAAAABQAAAAAAAAAAAAAARBmglBmgzQQEBAAAABRBQAUAAFAABQAAAUAAEBQAAAAAAAAAAAAQFAAAAAAAABAAAAAAAAQAAAAAUAAAAAAAAABAAAAAUAAAABAAAAAABFAAAEBQEAAFAAAAAABAAUAAAAAAEAAAAABAAAAAAAAUAAAAAEAB0NsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAAoAAAAAAAAAAKCAAAiDNBKDNBKDIICAAgAKKAIKACgAAoAKAAAAAAAAACgAAAAAAAAAAgKAAAAAAAAAACAAAAAAgAAAAAAoAAAAAACAAAAAAAAAAoAACAAAAACKAAAAACAACgAAAAAgAAAAKAAAACAAAAAAAAgAAAAAKAAAAAAAD3bZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQAAAAAAAUAAAAAAAAAAAFBAAARBmglBmglBmggIACAAAoogoAKAACgAoAAAAAAAAAAKAAAAAAAAACAAoAAAAAAAAAAIAAAAACAAAAACgAAAAAAIAAAAAAAAAAACoCggAAAAgCgAAAgAAAoAAAAIAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAPdtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAABQAAAAAAAAAAUAAEABEGaCUGaCUGaCAgAIAAAKqCgAoAKAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAACAAAACgAAAAAIAAAAAAAAAAAAACgIAAAAAIAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAA922QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQQAAAAAFAABAAAAUAAAAAAAAAAAAAAAAAAAVAAAAAAAABQAAAAAAAAAAAUAAEABEGaCUGaCUGaCAgIAAAAKqCgAoAKAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACAACgAAAAAIAAAAAAAAAAAAAAACoACgAggAAAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAD3bZAAAAAAAAAAAAAUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAEFAAAAAAAAABQAAAAAAAAAAUAAAEABEGaCUGaDNBKCAgIAAAAKqCgAoAKACgAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACACgAAAAAIAAAAAAAAAAAAAAAAAgoAAAIAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAA922QAAAAAAAAFAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAABABQAAAAAAAAAAUAAAAAAAAAAFAAABAARBmglBmgzQSggICAAAAAqKoAKACgAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACAAAAAAAAgoAAAAAACAAAAAAAAAAAAAAAAAAqACAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAA6G2QAAAAAFAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAABAABQAAAAAAAAAAUAAAAAAAAAAFAAAABAEEoM0EoM0GaCUEBAQAAAAFFVABQAUAFAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAQAAAAAAEFAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAABQAAAAQAAAAEAABQAAAAAAAAAAAAAAQAAAAAAAAAHQ2yAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAACggAAAAoAAAAAAAAAAAAKAAAAAAAAAACgAAAAgCCUGaDNBKDNBKCAgIAAACgCqgAoKAACgAAAAAAAAAAAAAAAAAAAAoAAAAIAACgAAAAAAAAAAgAAAAAoCAAAAAAAgAAAAAAAAAAAAAAAAACAAAAAAAAACgAAAAgAAAAIAAACgAAAAAAAAAAAAAgAAAAAAAAIDqbZAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAUAAAAAEBEEoJQZoM0EoM0EABAAAUAVUAFABQAUAAAAAAAAAAAAAAAAAAAAAAFAABAAAAAUAAAAAAAAAAEAAAAFAQAAAAAAAEBQAAAAQAAAAAAAAAAABAAAAAAAAABQAAQAAAAAEAAAABQAAAAAAAAAAAAAQAAAAEAAAB1NsgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAAAAAAAAAKAAAAACAiCUEoM0GaDNBAQAEBQABVBUAFAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAEAAAFAQAAAAAAAAAAAAAAAAEAAAAAAAAQAAAAAAAAAAAAAAAAAAAQAAAAAFAAAAAAAAAAAAABAAAAQAAAHU2yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAAAAAoAAAAAAIggJQZoM0EoM0EBAAAAAUVUAFABQAAAAAAAAUAAAEAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAQAUAABAAAAAAAAAAAAAAAAAQAAAAAAABAAAAAAAAAAAAAAAAAAABAAAAAAUAAAAAAAAAAAAAEAABAAAAdTbIAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAAAAAAAAKAAAAAAACIICUGaDNBmglBkAAAAFFVBQAUAAFAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAEAFAAAAQAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAAAQAAAAAFAAAAAAAAAAAABAAAQAAAHU2yAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAgCCUGaCUGaDNBmggAICgAqKoKCgAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAoAAAACAAAAAAAAAAICgAAAgigAAAgKCAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAIAACAAA6m2QFAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAUAAAAAAAEQASgzQZoM0GaCUEBAAUFFEGgUAFAAAAAAAAAAAAAAAAABAAAAAAQFAAAAAAAAAAAAAAAAABQAAAAAQAUAAAAABAAAAAAAAAEABQQAFBBFABAAAAAAAAAAAAAAAAABQAAQAAAAEAAAAABQAAAAAAAAAAAAQAAEAAB1tsgAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAAiADNBKDNBmgzQSggIACgoqoKCgoAAAAAAAAAAAAAAAAAAAIAAACAAoAAAAAAAAAAAAAAAAAAKAAAACACgACAoAAAgAAAAAAAAAAACAoIIoAAAAIAAAAAAAAAAAAAAKAAACAAAAAgAAAAKAAAAAAAAAAAACAAAAgAOttkAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAUAAAAAAAAEQAZoJQZoM0GaCAgIACgoqoKCgoAAKCAAAAAAAAAAAAAAAgAAAAIACgAAAAAAAAAAAAAAAAAAAoAAAIKICggAKAAAAIAAAAAAAAAAAAgKIgKAAAACAAAAAAAAAAAAACgAAAgAAAAAIAAACgAAAAAAAAAAAAgAAAIADrbZAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAFAAAAAAAABEAGaCUGaDNBmggICAAoKKqCgoKAACgAgAAAAAAAAAAAAAIAAAACAAoAAAAAAAAAAAAAAAAAAAAKAAggooICggKAAAAAIAAAAAAAAAAAACAAAAAAAIAAAAAAAAAAAAKAAACAAAAAAgAAAKAAAAAAAAAAACAAAAgAKDqbZBQAAAAAQAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAFAAAAAAAAQQAGaCUGaDNBmgyACAAoKiqCgoKAACgAAgAAAAAAAAAAAAIAAAACAAAoAAAAAAAAAAAAAAAAAAAAAACKKACAoAAAAAAgAAAAAAAAAAAAAIAAAAAAAgAAAAAAAAAAAoAAAAIAAAAACAAAoAAAAAAAAAAIAAACAAAoOptAAAFBAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAUAAAAAAAABBAQEoM0GaDNBKDIAIACiqgsBQUFAABQAAAQAAAAAAAAAAAEAAAABAAAUAAAAAAAAAAAAAAAAAAAAAABAFAAFAAAAAAAEAAAAAAAAAAAABAAAAAAQAFQAAAAAAAAAAUAAAAEAAAAABAAAUAAAAAAAAAEAAABFABABQdbaAAAAAIAAIAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACgAAAAAAAAIICCpRGaDNBmglBkAEABRVQWAoKCgAAoAAAAIAAAAAAAAAACAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAgCgCgAAAAAAAAACAAAAAAAAAAAAAgAAAAIAAAgoAAAAAAAAAKAAACAAAAAgAAAKAAAAAAACAAAAAKIAAgAA7G0AAAAAAQAAQAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAFAAAAAAAAAQQEoqURmgzQZoM0EBAAAUVUFgKCgoAKAAAAAACAAAAAAAAAAgAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAICqAICgAAAAAAAACAAAAAAAAAAAAAgAAAAIAAgAoAAAAAAAAKAACAAAAAAgAAAKAAAAAACAAAAAAKIAAAgA7G0AAAAAAQAAQAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAFAAAAAAAAAQQEoqURmgzQZoM0EBAAAUVUFgKCgoAKAAAAAACAAAAAAAAAAgAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAIoAoAAAAAAAAAAAAgAAAAAAAAAAAIAAAAACAAAqAAAAAAAAAAAAAAAAACAAAAoAAAAAIAAAAAAAogACAADsbQAAAAAABABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAUAAAAAAAABBBUojNBmgzQSgzQQEAABRVBUFgKCgAoAAAAAAIAAAAAAAACAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAgAAAAAAAAAAAIAAAAACAAAAIKAAAAAAAAAAAAAACAAAoAAAAAAIAAAAAAACKACAADsbQAAAAAAABABAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAUAAAAAAAAAEQAZoJQZoM0GaCUEBAAAUUBpBQUFABQAAAAAAQAAAAAAAEAAAAAABAAAAAAUAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAABAAAAAAAAAAAAQAAAAAAEAQFBBQAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAB2NoAAAAAAAAAgAgAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAggICUGaDNBmglBmggAAAAqg1EFgKCgAoAAAAAAAIAAAAACAAAAAAAAAgAAAKAAAAAAAAAAAAAAACggAAACKKAAAAAAAAAAAAAAAIAAAAAAAAAAAACAAAAAAgAAACCgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAOttAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAAEEBKCUGaDNBmgzQQEABAUAVUGgWAoKACgAAAAAAAgAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAIAAAAACAAAIKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA620EBQAAAAAAAAAAAABBAAUEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAEAEBKDNBmgzQZoJQZABAAUAVUGoCwFBQAUAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAQAAFAQAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAHW0goAAAAAAAAAAAAAAAAAgAAgAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAgAgJQZoM0GaDNBmggIAACgCqg1AWAoKACgAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAOtpABQAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAUAAAAAAABBAAZoJQYoM0EoM0EBAAAUAVYg1AWAoKACgAAAAAAAAgAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAOxpEAAAUAAAAAAAAAAAAAAAAAQAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAFAAAAAAAAAQQEBKDNBmgzQZoJQQEAABRQFiDUBYCgoAKAAAAAAAACAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA7GkAAQABQAAAAAAAAAAAAAAAABABAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAUAAAAAAAABBAQEoM0GaDNBmggICAAAoAqxBqAsBQUAFAAAAAAAAABAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAQAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAdjSAAAIAAoAAAAAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAAggJQSgzQZoM0GaDIAIAACgCtRBYCgoKACgAAAAAAAAAgAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAICiICgAAAAAAACAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAIAAAAAAAAAAAADsaQAAABAAFAAAAAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAEEBKDNBKDFBmglBkAEAABQBWkFgKCgoKAAAAAAAAAACAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAgAAAgCgAAAAAAACAAAAAAAAAAAAgAACACgAAAAAAAAAAAAAAAgAAAAAAAAAAAOxpAAAAAEAUAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAAQAQEoM0GaDNBmglBkAEAABQUUQaBYCgoKAAAAAAAAAAACAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAgAAKAAAIAAAAAAAACAAAAAAAAAgAAAACACgAAAAAAAAAAAAAAgAAAAAAAAAAAOxpAAAAAAEAUAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAAAQAQEoM0GaDNBmgzQQAEAABQUUQagLAUFBQAAAAAAAAAAAQAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAQAAAAFAAAAAAAAAQAAAAAAAFAAAEAAAAAAAABAAAAAAQAAAABAABQAAAAAAAAAAAAAAQAAAAAFAAAAB1tIAAAAAAAAigAAAAAAAAAAAAAAAAAAAAIAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAoAAAAAAAAAIgAzQSgzQZoM0GaCAAgAKACiiDUBYCgoKAAAAAAAAAAACAAAAAAAAgAAAAAAIACgAAAAAAAAAAACgAAAAAAIAAAAAAACgAAAAAAAIAAAAAACgAAAACAAAAAAAAAgAAAAIAAAAAAgAAoAAAAAAAAAAAAAAIAACgAAAAAA62kAAAAAAAAAFAEAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAEQAZoM0GaCUGaDIIAAAAAKqADUBYCgoKAAAAAAAAAAACAAAAAAAAAgAAAAIAACgAAAAAAAAACgAAAAAIAAAAAAAAAAAACgAAAAAAAIAAAACggKAAAAIAAAAAAACAAAAAgAAAAACAACgAAAAAAAAAAAAAAAAAAAAAAAA62kAAAAAAAAAAFAAAEAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAEQQEoM0GaDNBKDIIAAAAAKqCgsBQUFBQAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAFAAAAAAQAAAAAAAAAAAAAAAAFAAAAQAAAAAAAFBAUAAAQAAAAAAAEAAAABAAAAAAEAAAFAAAAAAAAAAAAAAAAAAAAAAB1tIAAAAAAAAAAAKAAAAIAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAIgAzQSgzQZoM0GQAQAAABFUFBQUFBQUAAAAAAAAAAAEAAAAAAAAABAAAAAAAAAAAAAAABQAAAAAEAAAAAAABAUAAAAAAAAAFAAQAAAAAAAAAAAAFAAAEAAAAAABAAAAAQAAAAABAAABQAAAAAAAAAAAAAAAAAAAAAdbSAAAAAAAAAAAAACgAACAAAAAAAAAAAAAAAAggAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAAAAAAAAggM0EoM0GaDNBAQEAAAFEFBQWAoKCgoAAAAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAACgAAAAIAAAAAAACAAAAoAAAAAAAAKgAAAAAgAAAAKAAoAAAAAgAAAAAAIAAAACAAAAAAIAAAKAAAAAAAAAAAAAAAAAAAADraQAAAAAAAAAAAAAAAUEBREBQAAAAAAAAAAAEAQAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAUAAAAAAAAAABBASgzQZoM0GaCUEBAAABVQAUFBQUFBQAAAAAAAAAAAAQAAAAAAAAAAEAAAAAAAAAAAAFAAAAQAAAAAAAAAEAAABQAAAAAAAAEFAAAABAAAAAAUABQAAABAAAAAAAEEAUAAAQAAAABAAAABQAAAAAAAAAAAAAAAAAAAdjSIAAAAAAAAAAAAAAAAAACKAAAAAAAAAAAAgCAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACgAAAAAAAAAAAIICUGaDNBmgzQSggIAAAKqACgoKCgoKAAAAAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAoAACAAAAAAAAAAgAAAAKAAAAAAAAAgAoAAIAAAAAAACgAKAAAIAAAAAAAggACgAACAAAAAIAAAKAAAAAAAAAAAAAAAAAAADsaQBAAAAAAAAAAAAAAAAAAQBQAAAAAAAAAEAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAABBASgzQZoM0GaCUEBAAABVQAUFBoFABQAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAAAAFAAAQAAAAAAAAAAEAAAABQAAAAAAAAEAAAAAAAAAAAAAABQAAAAAAAAAAQARQQFAAAEAAAAQAAAUAAAAAAAAAAAAAAAAAAAHY0gACAAAAAAAAAAAAAAAAAgCgAAAAAAAAAIAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAACCCpQZojNBmgzQSggIAAAKqACgoNAoAKAAAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAAAAoCAAAAAAAAAAAAAAgAAKAAAAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAACCAKAAAAAIAAAgAoAAAAAAAAAAAAAAAAAAAAAOxpAAAEAAAAAAAAAAAAAAAABFAAAAAAAAAQBAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAABQAAAAAAAAAAAEEFSgzQZojNBmglBAQAAAVUAFBQaBQAUAAAAAAAAAAAEAAAAAAAAAAAAAAAABAAAAABQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAFAAAAAAAAAAAAAAAEQFAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAB2NIAAAAgAAAAAAAAAAAAAAAIoAAAAAAAACAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAggqUGaDNEZoM0EoICAAACqgAoKDQKACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAKAAgAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAADsaQAAAAAABAAAAAAAAAAAAQBQAAAAAAAAEAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAAAAAAAAAABABBUoM0GaIzQZoJQQEAAFAVABQUGgUAFAAAAAAAAAABAAAAAAAAAAAAAAAAAAQAAAAUAABAAAAAQAFAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAdjSAAAAAAAAIAAAAAAAAAACKAAAAAAAAAgACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAAAAAAIAIKlBmgzQZojNBKCAgAAoCoAKCg0CgAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAACACgAAAAIAAACAAAAoAAAAAAAAAAAAAAAAAACAoIAAAAAAACgAACAAAoAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAA7GkAAAAAAAAQAAAAAAAAAAEUAAAAAAABAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAFAAAAAAAAAAAAQBUBKDNBmgzRGaCUEFQQFAAEFBQagKCgAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAKAgAAAAAAIAAACAAAAoAAAAAAAAAAAAAAAAAAACAoIAAAAAAACgACAAAAoAAAAAAAAIAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAA7GkAAAAAAAAQAAAAAAAAAAEUAAAAAAABAUEAQAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAABABBUoM0GaDNBmiJQQVAAAAAVBQagLAUAFAAAAAAAAAABAAAAAAAAAAAAAAAAABQEAAAAAABAAAAQAAFAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAFAAEAAAABQAAAAQAAAAAAAAAAAAABBVABBAAAAAAAAAAAAAAAAAAAAdjSAAAAAAAAIAAAAAAAAACAKAAAAAAAAAgACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACgAAAAAAAAAAAIoCAlBmgzQZoM0EoICAAAAAqCwGgUFABQAAAAAAAAAAQAAAAAAAAAAAAAAAAAUABAAAAAAQAAAAAAAAAAAAAAAFAAABAAAAAAEBQQFBAAAAAAAUAAAAQAAAAAAAAAAAAAAAAAAAAAAAFAAQAQAAAAAAAAAAAAAAAAAAHY0gAAAAAACAAAAAAAAAAAigAAAAAAAAAIAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAAAAAAACKAgJQZoM0GaDNBKCAgAAAKAgoNQFBQAUAUAAAAEAAAAQAAAAAAAAAAAAAAAAAUAABAAAAAAQAAAAAAAAAAAAAAFAAABAAAAAAAAAEAAABQQAAAFAAAAAAAAAEAAAAAAAAAAAAAAAAABUBQAQQAAAAAAAAAAAAAAAAAAHY0gAAAAACAAAAAAAAAAAAigAAAAAAAAAIAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAAAAAAACKAgJQZoM0GaDNBKCAgAAAKAg0CwFBQAUUAAAAAAEAAQAAAAAAAAAAAAAAAAAVBAVQQAAAAAAEAAAAAAAAAAAAAABQAAAQAAAAABAUEBQAAAAAAQFAAAAAAABAUEEUAAAAAAAAAAAAAAAAAUBAAABAAAAAAAAAAAAAAAAAAdjSAAAAAAIAAAAAAAAAAACKAAAAAAAAAAgKCAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAAAAAAAAAAigICUGaDNBmgzQZoIAAAACgINAoKCgCqAAAAAAAAAIgAAAAAAAAAAAAAAoAACAAoIAAAAAACAAAAAAAAAAAAAAAAoAAIAAAAAAAAAgAKAAAAAAAAAAAAACAAACKAAAAAAAAAAAAAAAKgKCAAAACAAAAAAAAAAAAAAAAA7GkAAAAAQAAAAAAAAAAAAEUAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAFAAAAAAAAAAAQBQEBKDNBmgzQZoM0EAAAABQEGoCgoKKAoAAAAAAAAIAIAAAAAAAAAAAAAACgAAAAAIAAAAAACAAAAAAAAAAAAAAAAoIAAAAAAAgKACAAoAAAAAAAAAAAIAAAAAIAoAAAAAAAAAAAAAIKAoIAAAAAIAAAAAAAAAAAAAAADsaQAAAABAAAAAAAAAAAAFEAAAAAAAAAAAAEAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAABAFAQGaCUGaDNBmgyCAAAAAqADUBQUFFAUAAAAAAAAEAAAEBQQAFABAUEBQAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAAAAAAAAAAAAQAAAAAAFEAAAAAAAAAAAAAQAUBQQAAAAAAAAQAAAAAAAAAAAAHY0gAAACAAAAAAAAAAAAAigAAAAAAAAAAAAIAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAAAAAAAAACAKAgM0EoMUGaCUGQQAAAAFQUFBQUFFAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAAEAAAAAAAEUAAAAAAAAAAAAEAFAAAAAAAAAAABAAAAAAAAAAAAdjSAAAAIAAAAAAAAAAAACKAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAAAAAAAAAIAoCAzQZoM0GaCUGQQAAAAFQUFBYCgooCgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAgAAAAAAKAAAACAoAgAAAAACACgAAAAAAAAAAAAgAAAAAAAAAAOxpAAAEAAAAAAAAAAAAAAUQAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAUBAZoM0GaDNBKDIIAAAACoKCgoKKoAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAqAAAAAAAAoICggAAKAIAAAAgKCACgAAAAAAAAAAAgAAAAAAAAAAOxpAAAEAAAAAAAAAAAAAAUQAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAAAAAAAEAUABKDNBmgzQZoJQZABAAAAVBQUFBRVABQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAFQAAAAAAAAFBAAAUAAAQAAABAAABQAAAAAAAAAAAQAAAAAAAAAHY0gAAACAAAAAAAAAAAAAKIAAAAAAAAAAAAACCAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAAAAACAKAgFBmgzQZoM0EoMgAgAAAKgoLAUFFUAFAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAVAAAAAAAAAAAAAAUAQAAABAAAAAABQAAAAAAAQAAAAAAAAAAHY0gAAACAAAAAAAAAAAAAKIAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAAAAACAAKgJQSgzQZoM0GaCAgAAAAKgoLAUFFUAFAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAEAAAAAAAAAABQAAAAQAAAAAAAAAAAAAAAEAAAAAEBQAAABBQAAAAAAAAAAAFAAAEAAAQAAAAAAAAUAAAAAEAAAAAAAAAAB2NIAAAAgAAAAAAAAAAAACiAAAAAAAAAAAAACIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAAAAAgACoCUEoM0GaDNBmggIAAAACoKCwFBRVABQAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAEAAABAAAQAFAAAABQAAAAAAQAAAAAAAAAAAAAEAAAABBAAFFAAAEFAAAAAAAAAAAAAUAAAQBAAAAAAAAAAABQAAQAAAAAAAAAAAHY0gAAACAAAAAAAAAAAAAigAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAAAAAAAAACAAKgJQZoM0GaDNBKCAgAICgAqCgsBQUVQAUAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAABAAAQAAEAAABQAAAUAAAAAAEAAAAAAAAAAAAAABAAAAQQABQBQABABQAAAAAAAAAAAAFAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAdjSAAAAIAAAAAAAAAAAAogAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAIoACAlBmgzQZoM0EoMgAgAAKCoKCwFBRVABQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAABAAAQAAAFAAABQAAAAAAQAAAAAAAAABAUAAAQAAAAEEBVEBQABABQAAAAAAAAAAAFAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAdjSAAAAIAAAAAAAAAAACKAAAAAAAAAAAAAAgCAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAAAAAAAIoACAlBmgzQZoM0GaCAgAAAKCoLAWA0AKoAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAIAACAAAAoAAAKAAAAAACAAAAAAAAAAICgAACAAAAAACAoAAAgAoAAAAAAAAAAAACgAAgAAAgAAAAAAAAAAAAAAAAAAAAAAAOxpAAAEAAAAAAAAAAAUAQAAAAAAAAAAAAAAQBAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAAAAAAABRAABAZoJQZoM0GaDNBAQAAAFBUFgLAaAFUAFAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQAAQBBQAAEAABQAAAUAAAAAAEAAABAAAUAAAAABAABAFAAAAAAABAABQAAAAAAAAAAAAFBAUEAAAAEAAAAAAAAAAAAAAAAAAAAAAB2NIAAAgAAAAAAAAAACiAAAAAAAAAAAAAAACAAIAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAKIAAIDNBmgzQZoM0EoICAAAAoLEFgNAoKKAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAACAIKAAAAAAAAAoAAAAAAIAACAAAAoAAAAAACAACAAKAAAAACAACgAAAAAAAAAAAAAAKCAAAAACAAAAAAAAAAAAAAAAAAAAAA7GkAAQAAAAAAAAAABQBAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAFEAEABmgzQZoM0GaCUGQAAAAUFiCwFgNAooACgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAICggKgAAAAAAAAAKAAAAAACAAAgAAAAKAAAAAgKCAACAAKAAACAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKCAAAAAAA7GkAQAAAAAAAAAAABRAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAFEAEBKCUGaDNBmgzQZoIACAoAKCoLAWA0AKoAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAgAAAKAgAAAAAAAAKAAAAACAAAAgAAAAKAAAAgAKACAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAgAAAAOxpAEAAAAAAAAAAAAUQAAAAAAAAAAAAAAAAAQABAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAABQAAAAAAAAABQBABASglBmgxQZoM0EoICAAAoKCxBYCgsBRVABQAAAAAAAAAAAAQAAAAAAAAAAAAAAAEAAAAEAABQAEAAAAAAABQAAAAAAQAAEAAAAABQAAAAAAEBQQAAQAAAAAAFAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAUAAAEAAAAB2NIgAAAAAAAAAAACgCAAAAAAAAAAAAAAAACAAAAIAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAKAIAICUGaDNBmgzQZoJQQEAABQAVBqAsBYCiqAACgAAAAAAAAAAAgAAAAAAAAAAAAAIAAAAIAAAACgAAIAAAAAACgAAAAAAgAAIAAAAACgAAAAAAIAAAAAAAAIAACgAAAAgAAKACAAAAoAAAAAAIAAAAAAAAAAAAACgAAAAgAAAOtpAAAAAAAAAAAABRAAAAAAAAAAAAAAAAABAAAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAFAEAEBKDNBmgzQYoJQZABAAAAUFQWA1AWAoKKAAoAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAACAAoAAACAAAAAAAAoAAAAAIAAACAAAAoAAAAAAAAACAAAAAAAAAAACAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAACgAAAAAgAAOtpAAAAAAAAAAAABRAAAAAAAAAAAAAAAAABAAAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAFEAAEBmgzQZoM0GaDNBAQAAAAFBUFgNQFgKCigAKAAAAAAAAAAAACAAAAAAAAAAAAgAAgKCAAAAAAoAACAAAAAAAAAoAAAAIAAACAAAAoAAAAAAAAAAACAAAAAAAACAAAAAAAAAAAKACAAACggAAAAAAAAAAAAAAAKAAAAACAAA62kAAAAAAAAAAAAFEAAAAAAAAAAAAAAAAAEAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAUQAQEoJQZoM0GKDNBKCAgAAAAKCoLAagLAUFFAAUAAAAAAAAAAAAEAAAAAAAAAAABAABAUEAAAAAABQAEAAAAAAAAABQAAAQAAAAEABQAAAAAAAAAAAAEAAAAAAAEAAAAAAAAAAAUAAEAAAAAAAAAAAAAAAAAAAAAAFAAABAAAdbSAAAAAAAAAAAACiAAAAAAAAAAAAAAAAACAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAigICUGaDNBmgzQZoJQQEAAAABQVBYDUBYCgooACgAAAAAAAAAAAAAAgAAAAAAAAAIAAAAAAIAAAACgAAIAAAAAAAAACgAAgAAAAIACgAAAAAAAAAAAAAIAAAAAIAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAOxpEAAAAAAAAAAAAUAQAAAAAAAAAAAAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAFAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAABRABAZoJQZoMUGaCUGQQAAAAAFBUFgNQFgKCigAKACAAAoAAAAAAAAAAAAAAIAAAAACAAAAACAoIAACgAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAoOtpEAAAAAAAAAAAAABFAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAABQBBAQEoM0GaDNBmgzQQEAAAAABQVBYDUBYCgooACggAAAAKAAAAAAAAAAAAACAAAAAAgAAgAKCAoICgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAoOtpEAAAAAAAAAAAAAAUQAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAFAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAABQBBASglBmgzQYoJQZoICAAAAAAoKgsBqAsBQUUAAAAAAABQAAAAAAAAAAAAAAQAAAAEAAAEBQQFBAAAUAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAEAAAAAAAAUEAABQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAUHU0gAAAAAAAAAAAAAAogAAAAAAAAAAAAAAgAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAACgIglBmgzQZoM0GaCAgIAAAACgIKDUBYCwFBRQAAAAAAAAFAAAAAAAAAAAAABAAAAAQAAAAAQFBAAAAUAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAFAAAAAAQAAQAABQAQFAABAAUAAAAAEAAAAAAAAAAAAAAAAAAAEAABQAAAdbSAAAAAAAAAAAAAACiAAAAAAAAAAAAAACAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAKAiCUGaDNBmgzQZoICAgAAAAKAgoNQFgKCgooAAAAAAAACgAAAAAAAAAAAAAgAAAAIAAAICggAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAgAAAAAAAACAAAoAAAAIAAAAAAAAAAAAAAAAAAIAAAACgAA62kAAAAAAAAAAAAAAFEAAAAAAAAAAAAAAEAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAFAQBBmgzQZoM0GaCUEBAQAAAAFBUFBYCwGgAUUAAAAAAAABQAAAAAAAAQAFAABAAAAAAQAAAAAAQAFAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAEAAAAABQAAAAAAAAAAQAAAAABAAAAAUAAAEAAAAAAAAAAAAAAAAAAEAAAAABQAdbSAAAAAAAAAAAACiAAAAAAAAAAAAAAAACAoIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAKAgJUEoM0GaDNBmglBAQAEAABQAVBQWA1AUFAFAAAAAAAAAUAAAAAAAEAAAABQQAAAAAEAAAAAEABQFAABAAAAAQAAAAAAEABQAAAAAAAAAAAQAAAAAAFAAAAAAAAAAABAAAAEAAAAAAABQQAAAAAAAAAAAAAAAAAAAAQAAAAFAB1tIAAAAAAAAKAIAAAAAAAAAAAAAAAAAAIAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAKgJUEoM0GaDNBmglBAQAAAAABBQWA1AWAoKKAAoIAAAAAACgAAAAAAAgAAAAAAAAAAAIAAAAICgAAKAAACAAAAAAgAAAIAAAACgAAAAAAAAAAgAAAAKAAAAAAAAAAAAAACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgA62kAAAAAAFEAAAAAAAAAAAAAAAAAAAEAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAFQEqDNBKDFBmglBkAEAAAAABUFBYCwFgKCigKACAAAAAAAoAAAAAAIAAAAAAAAAAAAACAAAAAAAoAAAAIAAAAAACAAAAgAAAKAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAIAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKADraQAAAAUQAAAAAAAAAAAAAAAAAAQAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAERUoM0GaDNBmglBkAEAAAABUAFBQUFBQUUBQAQAAAAAAAFAAAAABAAAAAAAAAAAAAAQAAAFEBQAAAAEAAAAAAABAAAAQQAAFAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAB1tIAAAKIAAAAAAAAAAAAAAAAAIAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACIqUGaDNBmgzQSgyAAAAAAgAAoKCgoKCigKACAAAAAAAAoAAAAAIAAAAIACgAAAAAAIAICgKAAICgIAAAAAAAAAACAAAggAAKAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAACAAA7GkAAFEAAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAABEGaKlBmgzQZoM0EAAAAAQAAUAFBQUFFUAFAABAAAAAAAUAAAAAEAAAEAAAABQAAAAAEAABQAAAAQAAAAAAAAAAEAABABAAUABQAAAUEAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAFAAAAAAAABAAAAAAAAAQAAAHY0gACKAAAAAAAAAAAAAAAAAgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAgzRUoMUEoM0GQAQAAABBQAAUAFBQUVQAUAAEAAAAABQAAAAAAQAAEEAAAUAAAUAAEAQUEBVAAABAAAAAAAAAAAAAQAAEEABQAFAAABQAQAAAAAAAAAAAAAAAAAAAAAAAAEQAUAAAAAAAAAAAAAAAAAAAAAEAAAAAAABAAAAAdjSACiAAAAAAAAAAAAAAAACAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgIglFZoM0GaCUGQAQAAFQAAAAUFABQUVQAUAAEAAAAABQAAAAAAQAARAAAAAUAAUAEAAQAAVQAAAQAAAAAAAAAAAAEAABBAAUBQAAAUAAAEAAAAAAAAAAAAAAAAAAAAAAABEAFAAAAAAAAAAAAAAAAAAAAABAAAAAAAQAAAAAH/2Q==",skyBoxRight:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////////////////////////////////////////////////////////////////////////wAARCAgACAADAREAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECA//EABUQAQEAAAAAAAAAAAAAAAAAAAAB/8QAFwEBAQEBAAAAAAAAAAAAAAAAAAECA//EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/ADKgAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCgACAAAACKCqKACggAICCIogAIAAAAAAAAAAAAAAIAAAAAACggKoAKDQKCgoAKAACgAAAKgACAAAAAAAAgAAAACgCAAAAAAAAgAAAAAAAIAAAAAAAACAAAAACAoAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAgAAAAigAqigAAAgIIgIoAAgAAAAAAAAAAAAAgAAAAAAKAAoAKDQKCgoAKAACgAAAKgACAAAAAAAAgAAAACgCAAAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAKAAIAAAIoAKooAAAICCICKAAIAAAAAAAAAAAAAIAAAAACgAAKACgoNAoKACgAAoAAAgoAAgAAAAAAAIAAAAAoAgAAAAAAAIAAAAAACAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCgACAAAACKCqAKAACAgiAKIAACAAAAAAAAAAAAACAAAAAoAACgAoKDQKCgAoAAKAAAIKAAIAAAAAAACAAAAAKAIAAAAAAACAAAAAAAgAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAIAAAAIoCigoAAIACCIogAAIAAAAAAAAAAAAAIAAAACgAAKACgoNAoAKCgAAoAAAgoAAgAAAAAAAIAAAAoAAgAAAAAAAIAAAAAACAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAgAAAigAqgCgAAgIIgCiAAAgAAAAAAAAAAAAgAAAAKAAAoAKCg0CgAoKAACgAACCgACAAAAAAAAgAAACgACAAAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigACAAAACKCqAKAACAggCKIAACAAAAAAAAAAAACAAAAAoAACgAoKDQKACgoAAKAAAIKAAIAAAAAAACAAAAKAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKAAAIAAAIoAKooAAAICCIoAgAAIAAAAAAAAAAAIAAAACgAAKACgoNAoAKCgAAoAACoAAAgAAAAAAAIAAAAoAAgAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAgAAAigAqigAAAAgiAiiAAAgAAAAAAAAAAAgAAAKAAAAoAKCg0CgAoKAACgAAKgAACAAAAAAAAgAAACgACAAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigACAAAACKCqKACgAgIIgIoAgAAIAAAAAAAAAAAAIACgAAAKACgoNAoAKCgAAoAACoAAAgAAAAAAIAAAAAoAAgAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAigAACAAACKCgKKCgAAgIIiiAgAAIAAAAAAAAAAAAICgAgKAAoAKCgoNAAoKAACgAAKgAACAAAAAAAgAAAACgACAAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAIAAACiAKooKAAACCIDKgCAAgAAAAAAAAAAAAAAgAKAAoAKCgoNAAoKAACgAAKgAACAAAAAAAgAAAACgCAAAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAIAAACiAKCqKCgAgIIlBFEBAAQAAAAAAAAAAAAAAQFAAAUAFBQUGgAUFAABQAAFQAABAAAAAAAQAAAABQBAAAAAAAAQAAAAAAEAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAHVybAAAAAAAAAAAAAAAAAAAAAUAAAAAEAAAAAAAAAAAAAAAAAAAAAABQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAAQAAFAEUFUUFAABAZoiKICAAAgAAAAAAAAAAAAAgKAAAoAKCgoKCgoKAACgAAKgAACAAAAAAAgAAACgACAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAgAAAKIoKooKAACAlESgyoAgAIAAAAAAAAAAAAAICgAAKACgoKCgoKCgAAoAACgIAAgAAAAAAIAAAAoAAgAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAAKAAIAACiKCgqigAAgJREoIogIACAAAAAAAAAAAAAAAAAAoAKCgoKCgoKAACgAAKAgACAAAAAAAgAAAACgCAAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAgAAKAIoKooKAACCM0EUQEABAAAAAAAAAAAAAAAAAAUAFBQUFBQUFAABQAAFAQABAAAAAAAQAAAABQBAAAAAAAQAAAAAAEAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAEAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAHVybAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAEAAAAAAAAAAAAAAAAABQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAUAQAAFAEUFUUFAABASiM0EUQAEAAAAAAAAAAAAAAAAABQAUFBQUFBQUAAFAAAUBAAEAAAAAABAAAAAFAEAAAAAABAAAAAAAQAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAQAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAdXJsAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAQAAAAAAAAAAAAAAAAFAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBQABAAUARQVRQUAAEBKIlBlQBAAQAAAAAAAAAAAAAAAAFABQUFBQUFBQAAUAABQEAAQAAAAAAEAAAAAUAQAAAAAAEAAAAAABAAAAAAAAAAQAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAB1cmwAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAABAAAAAAAAAAAAAAAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAABAFAAAEBQBFBQVQBQAQEoiUEUQEABAAAAAAAAAAAAAAAAAUAFBQUFBQUFAABQAAFAQABAAAAAAAQAAAABQBAAAAAAAQAAAAAAEAAAAAAAABAAAAAAAAAAAAQAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAHVybAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAEAAAAAAAAAAAAAAABQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAUAAAQAFAEUFUUFABAAZoiKICAAgAAAAAAAAAAAAAAAAKACgoKCgoKCgAAoAACgIAAgAAAAAAIAAAAAogAAAAAAAIAAAAAACAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAKAACAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAgAKAIoKooKAACAgjNBFEAABAAAAAAAAAAAAAAAAUAFBQUFBQUFAABQAAFAQABAAAAAAAQAAAABRAAAAAAAQAAAAAAAEAAAAAAAABAAAAAAAAAAAAQAAAAAAAAAAEAAAAAAAAAAAABAUAEAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAdXJsAAAAAAAAAAABQAAAQAAAAAAAAAAAFAAAAAABAAAAAAAAAAAAAAAUAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAFAAAEBQBFBQVQBQAQEESgiiAgAIAAAAAAAAAAAAAAACgAoKCgoKCgoAAKAAAoCAAIAAAAACAAAAAAKIAAAAAACAAAAAAAAgAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAACgAAgAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACKAAAICgACKCqKAAACAgiKICAAgAAAAAAAAAAAAAAAKACgoKCgoKCgAAoAACgIAAgAAAAAIAAAAAAogAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACKAAAAICgCKCqAKAACAgiAiiAAAgAAAAAAAAAAAAAAKACgoKCgoKCgAAoAACgIAAgAAAAAIAAAAAAogAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACKAAAICgCAKCqKAACACIDKgCAAgAAAAAAAAAAAAAAKACgoKCgoKCgAAoAACgIAAgAAAAAIAAAAAAogAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACKAAAAAAAigqgCgAAgIIgIogAIAAAAAAAAAAAAAACgAoKCgoKCgoAAKAAAoCAAIAAAAACAAAAAKAIAAAAAACAAAAAAAAgAAAAAAAAIAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACiAAAAgKAIoAKooAAICCICKIAACAAAAAAAAAAAAAAoAKCgoKCgoKAACgAAKAgACAAAAAAgAAAACgCAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACKAAAAAAAigqgCgAgAiAiiAgAIAAAAAAAAAAAAACgAoKCgoKCgoAAKAAAoCAAIAAAAACAAAAAKAIAAAAAACAAAAAAAgAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACiAAAAAACKAooKAACAgiKICAAgAAAAAAAAAAAAAKACgoKCgoKCgAAoAACgIAAgAAAAAIAAAAAoAgAAAAAAIAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAigAAAAAIoCigoAAICCIogIAACAAAAAAAAAAAAAoAKCgoKCgoKAACgAAKAgACAAAAAAgAAAACgCAAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAACAKCqAKACAgiKICAAAgAAAAAAAAAAAAKACgoKCgoKCgAAoAACgIAAgAAAAAIAAAAAoAgAAAAAAIAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACKAAAAAAigqgCgAgIIiiAgAAIAAAAAAAAAAAACgAoKCgoKCgoAAKAAAoCAAIAAAAACAAAAAKAIAAAAAACAAAAAAAgAAAAAAAAIAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAAACKAooAKCAgiKIACAAgAAAAAAAAAAAAKACgoKCgoKCgAAoAAAgoAAgAAAAAIAAAAAoAgAAAAAAIAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigAAAAIAqigAAAgiKICAAAgAAAAAAAAAAAAKACgoKCgoKCgAAoAAAgoAAgAAAAAIAAAAAoAgAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigAAAAIAqigAAAgiAiiAAgAAAAAAAAAAAAAKACgoKCgoKCgAAoAAAgoAAgAAAAAIAAAAAoAgAAAAAIAAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCgAAAAIqgCgAgAiAiiAAgAAAAAAAAAAAAAKACgoKCgoKCgAAoAAAgoAAgAAAAAIAAAAAoAgAAAAAIAAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigAAAAIAqgAACCAIogAIAAAAAAAAAAAAACgAoKCgoKCgoAAKAAAIKAAIAAAAACAAAAAKAIAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCgAAAIAKKAACCIAogAIAAAAAAAAAAAAACgAoKCgoKCgoAAKAAAIKAAIAAAAACAAAAAKIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA6uTYAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigAAAIAKAAAAIIKIACAAAAAAAAAAAAAAoAKCgoKCgoKAACgAACCgACAAAAAAgAAAACiAAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIDs5NgAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAIoAAAACCgAAACCCiAAgAAAAAAAAAAAAAKACgoKCgoKCgAAoAAAgoAAgAAAAAIAAAAAogAAAAAAIAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACAA6uTagAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAigAAAIAKAAIAIAigACAAAAAAAAAAAAAoAKCgoKCgoKAACgAACCgACAAAAAAgAAACgCAAAAAAAgAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIADq5NqAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAoAAAIAAAAAAAAAAAAACgAAAgAAAAAAAAAAIoAAACACgAACACIoAAgAAAAAAAAAAAAKACgoKCgoKCgAAoAAAgoAAgAAAAAIAAAAoAgAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACAAA6uTagAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAKAAAAACAAAAAAAAAAAoAAAAIAAAAAAAAAAAAogAAAAgoAAAgAiKAAIAAAAAAAAAAAACgAoKCgoKCgoAAKAAAIKAAIAAAAACAAAAKAIAAAAAACAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAOzk2AAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAKAAAAAAACAAAAAAAAAAoAAIAAAAAAAAAAAAAAogAAAAgoAAAAggCKAIAAAAAAAAAAAACgAoKCgoKCgoAAKAAAoCAAIAAAACAAAAAKAIAAAAAACAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAOzk2AAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAKACAAAAAAAAAAAAAAAAKIAAAIAKAAAAiAigACAAAAAAAAAAAAoAKCgoKCgoKAACgAAKAgACAAAAAgAAAACgCAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAADs5NgAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAogAAAgAoAAAAggogAIAAAAAAAAAAACgAoKCgoKCgAoAKAAAoCAAIAAAACAAAAAKAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAgAAAOzk2AAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAACgCAAACCgCggAIIKIACAAAAAAAAAAAAoAKCgoKCgoAKACgAAKAgACAAAAAgAAAACgCAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAADs5NgAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAogAAAgCqAAIAIgIoAAgAAAAAAAAAAKACgoKCgoKACgAoAACgIAAgAAAAIAAAAAogAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAA7OTYAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAIAAAAAAogAAAgCqAAIACCIoAAgAAAAAAAAAAKACgoKCgoKACgAoAACgIAAgAAAAIAAAAAogAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAAA7OTYAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAIAAAAAoAgAAgAooAIACCCiAAgAAAAAAAAAAKACgoKCgoKACgAoAACgIAgAAAAAIAAAAAogAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAAA7OTYAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAIAAAAAoAgAAAgoAoIACCCiAAgAAAAAAAAAAKACgoKCgoKACgAoAACgIAgAAAAAIAAAAAogAAAAAIAAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAA7OTYAAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAogAAAgAoAAAggogAIAAAAAAAAAACgAoKCgoKCgAoAKAAAoCAIAAAAACAAAAAKIAAAAACAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAOzk2AAAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAKAAACAAAAAKAIAAIAKAAAIAIigCAAAAAAAAAAAoAKCgoKCgoAKACgAKAAgCAAAAAAgAAAACiAAAAAAgAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAADs5NgAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAAAAAAAAAAAAAAACgAAgAAAACgCAACACgAACACIoAAgAAAAAAAAAKACgoKCgoKACgAAoCgAIAgAAAAAIAAAAAogAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAA7OTYAAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAogAAAgoAAAgAiKAAIAAAAAAAAACgAoKCgoKCgAoAAKAoACAIAAAAACAAAAAKIAAAAACAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAOzk2AAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAKAIAAIAKAAIAIKIACAAAAAAAAAAoAKCgoKCgoAKAACgAKAgCAAAAAgAAAAACiAAAAAAgAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAADs5NgAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAACgCAAACCgACAAKiAAgAAAAAAAAAKACgoKCgoKACgAAoACgIAgAAAAIAAAAAAogAAAAIAAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA7OTYAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAoAgAAAgoAAgACogAAIAAAAAAAACgAoKCgoKCgAoAAKAoACAIAAAACAAAAAAigAAAACAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOzk2AAAAAAAAAAAAgAAAAAAAAAAAKAAAAACgAgAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAoAgAAAgoAgAAiKAAIAAAAAAAACgAoKCgoKCgAoAAKAoACAIAAAACAAAAAKIAAAAACAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAOzk2AAAAAAAAAAAAAgAAAAAAAAAAKAAAAACgAAgAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAACgAAAgAAACgCAAACCgCAACIoAAgAAAAAAAAKACgoKCgoKACgAAoCgAIAgAAAAIAAAAAogAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAOrk2AAAAAAAAAAAAAAgAAAAAAAAAKAAAAACgAAgAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAACgAAAgAACgCAAACCgACAAKiAAgAAAAAAAAKACgoKCgoKACgAAoCgAIgAAAAAIAAAAACKAAAAAIAAAAAACAAAAAAAAgAAAAAAAAIAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAIAAAAAACgAAAAAoAIAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAoAAAIAAAAoAgAAAgoAgACogAAIAAAAAAAACgoKCgoKCgAoAAKAoACIAAAAACAAAAAAigAAAACAAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAACgAAgAAACgCAAACCgACACCiAAgAAAAAAAAKCgoKCgoKACgAAoCgAIgAAAAAIAAAAAogAAAAAIAAAAACAAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAACiAAACCgACAAKiAAAgAAAAAAAKCgoKCgoKACgAAoCgAIgAAAAAIAAAAAogAAAAAIAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq5NgIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAoAgAAAgoAAgCoAgAIAAAAAAACgoKCgoKCgAoAAKAoACIAAAAACAAAAAKIAAAACAAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAACgCAAACCgAACCCiAAAgAAAAAKACgoKCgoKACgAAqgAAIgAAAAAIAAAAAogAAAAIAAAAAACAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAKAIAAAIKAAAAiKAIACAAAAAAoAKCgoKCgoAKAACqAAAiAAAAAAgAAAAIoAAAAAgAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAKAIAAIAKAAAIqAIACAAAAAAoAKCgoKCgoAKAACqAAAiAAAAAAgAAACiAAAAAAgAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAgAA6ObYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAACgCAAACCgAAAIiiAAAgAAAAKACgoKCgoKACgAAqgAAIgAAAAAIAAAAogAAAAAIAAAAACAAAAAAAAgAAAAAAAAIAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAIAKAADbm2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAoAgAAAgoAAACIogAAIAAAACgAoKCgoKCgAoAAKoAACIAAAAACAAAAKIAAAAACAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAoACACgAAoArTm0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAoAgAAgoAAAggogAAIAAAACgAoKCgoKCgAoAAKoAACIAAAAACAAAAAigAAAACAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAoACACgAoAoACgrm0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAgAAgAoAAggogAAIAAAACgAoKCgoKCgAoAAKoAACIAAAAACAAAAAigAAAACAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAACCgAAooCgAAArm0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAgAAAgoAgACogAAIAAAACgAoKCgoKCgAoAAKoACAIAAAACAAAAAKIAAAAACAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAoACCgAAoAqgAAoAADm0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgAAgogAAAiKAAAIAAACgAoKCgoKCgAoAAKAoCAIAAAACAAAAAKIAAAAACAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAoAACCgAoAoCgAoAAAKCObQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgCAACCiAAACIoAAAgAAAKACgoKCgoKACgAAKKACCAAAAAIAAAAAogAAAAAIAAAAACAAAAAAAgAAAAAAAAAIAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAIKAACgCqACgAAAoAAI5tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAKAIAAIAigAAIigAAACAAAoAKCgoKCgoAKAAAooAIIAAAAAgAAAACiAAAAAAgAAAAAIAAAAAACAAAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAKAAAAgoAAKAAKoAKAAACgAAAjm0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAoAgAAAiKAAAiKAAAAIAACgAoKCgoKACgoAACigAggAAAACAAAAAigAAAACAAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAACCgAAoAAqgAAoAAAAKAAACObQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAACgCAACIoAAAioAAAAgAAKACgoKCgoAKCgAAKKACCAAAAAIAAAACKAAAAAIAAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAqAAACgACqAACgAAAAAoAAAI5tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAKAIAAIgCgACKgAAAACAAoAKCgoKCgAoKAAAooAIIAAAAAgAAAAIoAAAAAgAAAAAAIAAAAAACAAAAAAAAAgAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAACoAAAKAAKoAAAKAAAAAAAAAAA5tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAKAIAACCCgACCCgAAACAoAAKCgoKCgAoKAAAooAIIAAAAAgAAAAIoAAAAAgAAAAAAIAAAAAACAAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAgoAAKAACigAAAKAAAAAAAAAAAA5tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAKIAAAIigAAIigAAAAAAACgoKCgoAKCgAAKKACCAAAAAIAAAACKAAAAAIAAAAAACAAAAAAgAAAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAqAACgAAAooAAACgAAAAAAAAAAAAjm0oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAKAIAAIigAAIigAAAAAAACgoKCgoAKCgAAKKACCAAAAAIAAAACKAAAAAIAAAAACAAAAAAAgAAAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAACgAAAAAAAqAACgAAAooAAACgAAAAAAAAAAAAAjm0AoAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAogAAiAKAAIqAAAAAAAAKCgoKCgAoKAAAooAIIAAAAAgAAAAIoAAAAAgAAAAAIAAAAAACAAAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAACgAAAooAAAAAAAACgAAAAAAAAAjm0AAoAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAogAAAiKAACogAAAAAAAKCgoKCgAoKAAAoAACAAAAAIAAAACKAAAAAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAoAAAKKAAAAAAAAAAAoAAAAAAAI5tAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAKAIAAIigAAqIAAAAAAACgoKCgoAKCgAAKAAAgAAACAAAAAAigAAAACAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAKAAAACgCgAAAAAAAAAAAAAAAAADm0AAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAKAIAAIigAAIigAAAAAACgoKCgoAKCgAAKAAAgAAACAAAAAgCgAAACAAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgIAAAKAAAAAACigAAAAAAAAAAAAAAADm0AAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAKIAAIAigAAqIAAAAAACgoKCgoAKACgAKAAAgAAACAAAAAgCgAAACAAAAAAAgAAAAAIAAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAKAAAAAAAAKAAoAAAAAAAAAAADm0AAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAKAIAAIigAAqIAAAAAACgoKCgoAKACgAKAAAgAAACAAAAAgCgAAACAAAAAAAgAAAAAIAAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAAAKAAAAAAAKAAAAAAAAAAAArm0AAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAKAIAAIKIAAqIAAAAAACgoKCgoAKACgAKAAAgAAACAAAAAgCgAAACAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAKgAAAAAAAoAAAAAAAoAAAAAAAAACubQCgAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAACgACACCiAACIoAAAAAAoKCgoAKCgAoACgAAIAAAAgAAAAIAAoAAAgAAAAAIAAAAAACAAAAAAAAAAgAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAgoAAAAAAAAAKAAAAKAAAAAAAArm0oAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAoAgAAiKAACogAAAAAKCgoAKCgoAKAAoAACAAAAIAAAACAKAAAAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAIKAAAAAAAAAAAAAAAAAACigNObQAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAKAAIAIKIAAqIAAAAACgoKACgoKACgAKAAAgAAACAAAAAgCgAAACAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAACAACgAAAAAAAAAAAAAAAAA25tgAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAoAAgAgogACogAAAAAKCgoAKCgoAKAAoAACAAAAIAAAACAKAAAIAAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAIAAAAAAKAAAAAAAAAADbm2AAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgACgACACACiACCiAAAAAoKCgAoKCgAoACgAAIAAAAgAAAAIAoAAAgAAAAAAIAAAAACAAAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAgAAAAAAoAAAAANubYAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAKAAIAIKIAAqIAAAACgoKCgAoKACgAKAAAgAAACAAAAAgCgAACAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAACAAACgAAA25tgAAAAIAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAoAAgAgogACogAAAAKCgoKACgoAKAAoAACAAAAIAAAACAKAAAIAAAAACAAAAAAAgAAAAAAAAAIAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAIAAAAAKDbm2AAAAgAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAKAAAIIKAIAqIAAAACgoKCgAoKACgAKAAAgAAACAAAAgACgAACAAAAAAgAAAAAAIAAAAAAAAACAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAACAAAADbm2AAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAoAAgAgogAgogAAKACgoKACgoAKAoAAACAAAAIAAACAAKAAAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAANubYAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgAgogACogAAKACgoKACgoAKAAoAACAAAAIAAACAAKAAAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAANubYAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAggoAgCogAAKACgoKACgoAKAAoAACAAAAIAAACAAKAAAIAAAAACAAAAAAgAAAAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAICjbk2AAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAIIAKIAIKIACgAoKCgAoKACgAKAAAgAAACAAAAgACgAACAAAAAAgAAAAAIAAAAAAAAACAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAANuTYAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAIAIKIAIKIACgAoKCgoAKACgAKAAAgAAACAAAAgACgAACAAAAAAgAAAAAIAAAAAAAAACAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OTYAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAIAIKIAIKAAAAKCgoKACgAoACgAAIAAAgAAAAIAAoAAAgAAAAIAAAAAACAAAAAAAAAAgAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgACCCiAAKgAAACgoKCgAoAKAAAoACAAAIAAAACAAAKAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAACgACCACiACCgACgAoKCgAoAKAAAoACAAAIAAAACAAAKAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAACgCACCiACCgACgAoKCgAoAKAAoAAACAAIAAAACAAKAAIAAAAACAAAAAAAgAAAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAOjk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAKAIAIKIAAqAAKACgoKACgAoACgAAAIAAgAAAAIAAoAAgAAAAAIAAAAAACAAAAAAAAAgAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAA6OTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAoAAggoAgCoAAoAKCgoAKAACgKAAAAgACAAAAAgACgACAAAAAAgAAAAAAIAAAAAAAACAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAKAIIAKIAIKAKACgoKACgAAoCgAAIAAAgAAAAIAAoAAgAAAAAIAAAAAACAAAAAAAAAgAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAACgACCCgCAKigAoAKCgAoAAKAoAAACAAIAAAACAAAKAIAAAAACAAAAAAAgAAAAAAAAIAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAoAAggoAACCgCgAoKACgAAoCgAAAIAAgAAAAIAAAoAgAAAAIAAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAACgAAIigAAAIKKCgAoAKAACgKAAAAgACAAAAgAAACgCAAAAAgAAAAAAAIAAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAKAAgCKAAAKIKKACgAoAAKAoAAACAAIAAACAAAKAAIAAAACAAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAoAACCgAAAAqKACgAoAAKAoAAACAAIAAACAAAKAAIAAAACAAAAAAAAgAAAAAAAIAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAoAACCgAAACgKgCgAoAAKAoAAACAAIAAACAAAKAAIAAAACAAAAAAAAgAAAAAAAIAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAoAACACgAACgKgCgAoAAKAoAAACAAIAAACAAAAKIAAAAACAAAAAAAAgAAAAAAAIAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAoAACACgACgAqoAAoAAKAoAAAACIAAAACAAAAKIAAAAACAAAAAAAAgAAAAAAAIAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAoAACACgACgAqoAAoAAKAoAAAACIAAAACAAAKAIAAAAACAAAAAAAAgAAAAAAAIAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAACgAAAIAAKKAACqgCgAAoACgAAAIgAAAAIAAAoAgAAAAAIAAAAAAACAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAKAAAAgAooAAKqAKAACgAKAAAgCAAAAAgAAACiAAAAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAoAAAACACigAqoAoAAKAAoAACAIAAAACAAAAKIAAAAACAAAAAAAAgAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA6uTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAKAACAAKAAAAAgooAKqAKAACgAKAAAgCAAAAAgAAACiAAAAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAOrk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAACgAAAAgAACgAAAIAKKAoogCgAoACgAAIAgAAAAIAAAAogAAAAAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAACgAAAIKKACqgCgAoACgAAAIgAAAAIAAAAogAAAAAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgACgAAAIKKACqgCgAoAACgAIAgAAAAIAAAACKAAAAAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgACgAAAIKAKAqKCgAAoCgAAAIgAAAIAAAAACKAAAAIAAAAAAACAAAAAAAAgAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAADq5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgACgAAIKAKAqKCgAAoCgAAAIgAAAIAAAAACKAAAAIAAAAAAACAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAADq5NgIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAKAAAgoAoCooAKACgKAAAiAAAAAgAAAAAIoAAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAOrk2gAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAACgAAIAKACooAKACgAKAAIIAAAAgAAAAAIoAAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAOrk2gAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAACgAAIAKACooKAACgAKAAIIAAAAgAAAAIAAoAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAOrk2gAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAACgAAIAKAKIKKAACgAKAAiAAAAAgAAAAIAAoAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOrk2gAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAACgAAIAKAKIKKAACgAKAAiAAAAAgAAAAIAAoAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOjk2AAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAoAIAAAAAoAACACgCgKgCgAoACgCACAAAAIAAAACAKAAAAIAAAAAAACAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAoAAAIACgKAAIIAKAAKqAKACgAKAIIAAAAAgAAAAIAoAAAAgAAAAAAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOjk2AAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAoAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAKAAAAAAAAoAAgAgoAAqoAoAAKAoAggAAAACAAAAAgACgAACAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA6OTYAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAACgAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAoAAAAAAACgACACCgAAqKCgAAoCgCCAAAAAIAAAACAAKAAAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAKAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACgAAAAAAKAAAIAIAiigKigAoAKAoAggAAAACAAAAAgACgAACAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA6OTYAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAACgAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAoAAAAAACgAACACIAooCooAKACgKAIAIAAAAgAAAAIAAoAAAgAAAAAAIAAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAOjk2AAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAKAAAAAAAoAAAgAiAKAKIqgCgAoCgCCAAAAAIAAAACAAKAAAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACgAAAoAIAoAAAAgAiAKAKIKKCgAoCgCACAAAAIAAAACAAKAAAIAAAAAACAAAAAAAAgAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAKCAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACgAAAoAIoAAAAAgAiAKAKIKKCgAoCgCACAAAAIAAAACAKAAAAIAAAAAACAAAAAAAAgAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAoAAAKAoAgAAAAICCACgAIqigoAAKoAgAgAAACAAAAAgACgAACAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA6OTYAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAKAACgKAAIAAAACAggAoACKooKAACqAIAIAAAAgAAAAIAAoAAAgAAAAAIAAAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAOjk2AAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACgAAoCgACAAAAAgIIAiigCKooKAACgKIAIAAAAgAAAAIAoAAAAgAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAOjk2AAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAICgAAAAAAAAAAAAAAoAAIAAAAAAACgAAAAoAAKoAAAgAAAIACCAIoAoiqKACgAoCiACAAAAIAAAACAKAAAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAoAAAAAAAAAAAKAAAAACAAAAAAoAAAKAAACqAAAIAAAACAggCKAKIqigAoAKAoggAAAACAAAAAgCgAACAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAA6OTYAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAKAAAAAAAAAACgAAAAAAgAAAAKAAACgAAAKKAAACAAAAgIIAigCiKooAKAACqIAIAAAAgAAAAIAoAAAgAAAAAAIAAAAAAACAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAOjk2AAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAACgAAAAAAAAAoAAAAAAAIAAACgAAAoAAACigAAAgAAAICCAIoAoiqKACgAAqiACAAAAIAAACAAAKAAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAADo5NgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAoAAAAAAAAAKAAAAAAACAAAAoAAAKAAAACqAAAIAAACAggCKAKIqigAoAAKogAgAACAAAAAgAACgACAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAA6OTYAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAoAAAAAAAIAAACgAAAAoAACgCgAAgAAAICCAIoAoiqKACgAAKAAgAACAAAAAgAACgACAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAA6OTYAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAoAAAAAAAIAACgAAAAAoAACgACgAgAAIACCAIoAoiqKACgAAKAgAAACAAAAAgAACgACAAAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA6OTYAAAAACgAAAAAAAAAAAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACgAAAAAAAgAAKAAAAACgAAKAAKACAAAgAIIAigCiKooAKAAAoACAAAIAAAACAAAAKAIAAAAAACAAAAAAAAgAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAKAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAACAAAoAAAAAKAAAoAAoIAAACAAggCAqgCqigAoAACgAIAAAgAAAAIAAAAoAgAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAANuTYCgAAAAAAAAAoAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAIACgAAAAAAoAACgACggAAAAICCAACgCiKoAoAACgAIAAAgAAAAIAAAAAogAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAANuTYCgAAAAAAAAAAAAoAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAAAAAAAIACgAAAAAAoAACgACgAgAAAICCAACgCiKooAAAACgIAAAgAAAAIAAAAAogAAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAANuTYCgAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAAAAAAACAoAAAAAAKAAAAoAAoAIAAACACIAAooAiqKAAAAAoCAAAIAAAACAAAAAAgCgAAAACAAAAAAAAgAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAADbk2oAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAACgAAAAAAAAAgAAKAAAAACgAAAKAKAACAAAAgAIIAqgCiCigAAAKAAgAACAAAAAgAAAAAIoICgAAACAAAAAAAAgAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAACgAAAAAAAAAAgAAAKAAAAACgAAAKAKAAACAAAgAAgAoAogooAAACgAIAAAgAAAAIAAAAACAKAAAAAIAAAAAAACAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAOjk2AAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAoAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAoAAAAKAAAAoAoAAAIAACAACACgCiCigAAAKAAgAACAAAAAgAAAAAIAoAAAAAgAAAAAAAIAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAA6OTYAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAoAAAAKAAAAAooAAAIAACAACACgCiCigAAAAKAgAACAAAAAgAAAAAIAoAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAA6OTYAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAoAAAKAAAAAooAAAIAACAACACgCiCigAAAAKAgAACAAAAAgAAAAAIAoAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAA6OTYAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAoAAAKAAAAAoAoAAIAACAAggCqAKIKKAAAAAoCAAAIAAAACAAAAAAgACgAAACAAAAAAAAgAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAADo5NgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAACgAAAoAAAACgCgAAgAAICACACigCKooAAAACgIAAAgAAAAIAAAAACAAKAAAAAIAAAAAACAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOjk2AAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAKAAAACgAAAKAKACAAAgAIAIAKAKIqigAAAAKAgAACAAAAAgAAAAAIAoAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAA6OTYAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAoAAAAKAAAAoAAAAAAgAIIgAKoAoiqAKAAAAoCAAAIAAAACAAAAAAigAAAAAACAAAAAAAgAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAADo5NgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAoAAAACgAAAACAgAiAAKKCiCigoAAACoAAAAgAAAAIAAAAACKAAAAAAAIAAAAAACAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAOjk2AAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAKAAAACgAAAAKAAAAIACAggCAqgCiKooKAAAAqAAAAIAAAACAAAAAAKIAAAAAAACAAAAAAAgAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDo5NgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAoAAACgAAACAAgiAgACigoiqKCgAAKAgAAACAAAAAgAAAACgCAAAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbk2AAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAACgAAAAKAAAICAgiAAAKKCiKooKAAAoCAAAAIAAAAACAAAAKAIAAAAAAACAAAAAAAgAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuTYCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAKAAAAAoAAAgICCICAKAKCwRqKKACgAKAgAAACAAAAAAgAAACgCAAAAAAAAgAAAAAAAIAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbk2AoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAoAAAACgACAAgjIIAAoAoLBGoooAKAAoCAAAAAIAAAACAAAAKAAIAAAAAACAAAAAAAAgAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANuTYCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAKAAAAoAAAgICURAQEAUUFBYIsUaABQAFAQAAAABAAAAAQAAABQABAAAAAAAAQAAAAAAEAAAAAAAAAABAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtybAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAABAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAABQAAAAFAAAEBBEoICAgCgCwGoIsUaABQAFAQAAAABAAAAAAQAABQABAAAAAAAAQAAAAAAEAAAAAAAAAAABAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtybAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAABAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAABQAAAAFAAAEBBEoM0EAUQFBYDUEWKNAAoACgIAAAAAAgAAAAIAAAAoAgAAAAAAAIAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA25NqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAoAAAACgAAACAlEZoJQQEUAUFgjUBYo0ACgAKAgAAAAACAAAAAgAAACgACAAAAAAAgAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAoAAAACgAAACAlEZoJQQEUAUFgjUUWA0ACgAKAgAAAAACAAAAAAgAACgACAAAAAAAgAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAoAAAACgAAAACAzREoM0EAUAAagjUUWA0ACgAKAgAAAAACAAAAAAgAACgACAAAAAAAAgAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAKKAgKACAAoAAAAgAM0RKDNBFEABQagixRqA1AUAABQEAAAAAAAQAAAAEAAAUAAQAAAAAAAEAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHJsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABRQAAAAEABQAAABAQEoiUGaCKIACiNRRYDUBqAoAACgIAAAAAAAgAAAAIAAAAoAAgAAAAAAIAAAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACigAAAAAAAAAAAgICURKDNBFEABYI1FFgNQGgUAABQEAAAAAAQAAAAAEAAAAAUAQAAAAAAAEAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHJsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAFFAAAAAAAAAAAABASglESgzQRRAAWCLFGoDUBoFAAAUBAAAAAEAAAAABAAAAAAFAEAAAAAAABAAAAAAAAAQAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEBQAAAAAAAAAAAAAAAAAAAAAAAAAUAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAFAFAAAAAAAAAAAABASglESgzQRRAAWCLFGoDUBoFAAAVAAAAAEAAAAAABAAAAAAARQAAAAAAAABAAAAAAAAQAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAUAABQABQAAAAAAAAAAAAQEoJRGaCUEUQAFgixRqA1AaBQAAFQAAABAAAAAAAQAAEAAAAAUAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0cmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAUAAAAAAAAAAAAEBASiM0EoIogALBFijUBqA0CgAAKgAACAAAAAAAAgAIAAAAAAAoAAAAAAAAgAAAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAoAAAoAAAAAAAAAAAAICUEojNBKDKgACwRYo1AagKCgoACoAAgAAAAAAAIACAAgAAAKAAAoAAAAAAAAgAAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAoAAAoAAAAAAAAAAACAogJQSiM0EoMqAALBFijUBqAoKCgAKgCAAAAAAAAgAIACAAgKAACgAKAAAAAAAAIAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAA6OTYAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACgAKAAAAKAAAAAAAAAgAAAKICAlEZoJQZUAAWCLFGoDUBQUFABBBQBAAAAAAAAQAEFQAAAQBQAUABQAAAAAABAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAABQAAAAAAAEAAABQBASglEZoJQZUAAWCNRRYDUBQUFBAABEUAQAFAAAABAQEFRAAAUUQBQUABQAAAAAABAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAABQAAABQAAAAAAAAEAFABFAEBKCURmglBFEABYDUVFgNQFBQAAAQEEFAAAAAAAEBBUQAQAFAUURQAUBQAAAAAAABAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAUAAAAAAABAABQAQBRASglEZoJQRRAAWA1FRYDUBQUAAEBAARQEAUAAAEABEVAQAAAFUUQBQUBQAAAAAAABAAAAAAAAAQAAAAAAAAAAAAEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAUAAAAAUAAAAAABAUEAFABAFEBKCURmglBFEABQaiosBqAoAKCAAgIAAoCAAAAAIKiCAgAAKCqAigoAKAoAAAAAAAgAAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAKAAAAAKAAAAAAAgAAAoAIAogJQSiM0EoIogALAagixRqAoAAAICAAgACgIoAIAKiCAgAAAKAooigoAAKAoAAAAAAgAAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAKAAAAAAKAAAAAAAgAAAqgCAAgJQSiM0EoMgKAKCwRqKKCgAAAgAIAAAAoCAoCIICAAgAKACqKIoAKAAAAooAAAAIAAAAAAAAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAA6OTYAAAAAAAAAAAAAAAAACgAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoAAAAAAoAAAAACAoICgCgAgAICURKDNBKDICgCgsEWAqigAAAAgAIAAAAAACAgAIAACgAqiiAKAAACgAKAAKACAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAOjk2AAAAAAAAAAAAAAAAAAoAAAAAAAAgAKCAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAoAAAAAAoAAAAAAACAoAoAIACAlESgzQZoIoAAoKCiKAoAAAAgAAAAAAIACAAgAAAAKCgKKIAAAAoAKAAoAAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAOjk2AAAAoAAAAIAAAAAAAACgAAAAAACAAAAoAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAACgAAAAACgAAAAAAAAAoAAIACAlEZoJQZoIAoAAoKCgCCgAACAAAAAAAgAIACAAAAoKACgAAAKAigAoAKAoAAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAOjk2AAAoAAAAAIAAAAAAAAACgAAAAAACAAAAoAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACgAAAAACgAAAAAAAAAoAAIACAlEZoJQZoIAoAAoKACgggAoAgAAAAAAIACAAAAAAoAAKAAAAACgKigoAKoAAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAOjk2AoAAAAAAAIAAAAAAAAAACgAAAACAoIAAACgAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAKAAAAAAKAAAAAAAAACgAAgAICCM0EoM0EAUAAUAFAABBAEUAAAAAAAAQAEAAABQAAUAAAAAAFABVRQUAFUAAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAHVybAAQAAAFABAAAAAAAAAAAAAUAAAAQFBAAAAUAAAAABQAAAAAAAAAQAAAAAAAAAAAAAAAAFAABAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAABQAAAAABQAAAAAAAAAAUAEABASiJQZoJQZAUAAUAAAAEAEAFEBQAAQAAEAAAAAAABQAAAAQFAABQUFVFBQAVQAAAAAAAAAABAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAdXJsBAAAAAAAAAAAAAAAAAAAAUAAAAAAAABQAQAAAUAAAAAAAAAAAEAAAAAAAAAAAAAAABQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAUAAAAAAAUAAAAAAAAAAFABAAQEoiUGaCUEBFAAFAAABAAQQAAUAAAAAQAAEQAAFFAAAAAAAAABQAUFBVRQUFUAAAAAAAAAAAQAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAHVybQAAAAAAAAAAAAAAAAAAAAAFAAAAAAAUAAAAEFAAAAAAAAAAAABAAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAFAAAAAAAFAAAAAAAAAABQQAAEBKIlBmggICKAAKAAACAgAAiAKKAACAAAiAAKACAAAAAAAAAAAKCqANAoKqKACqAAAAAAAAAAIAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAADo5NgAAAAAAAAAAAAAAAAAAAAAKAAAAAAoAAAAAoCAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACgAAAAAAACgAAAAAAAAAAAAAAgIIlBmglBARQABQAAQAEABABABQAAAAQQUAAAAAEAAAAAAAAAAUFUWAoKqKCgAqgAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAA6OTYAAAAAAAAAAAAAAAAAAAAACgAAAAAKAAAAAKAgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAoAAAAAAAAAoAAAAAAAAAAAAAAICCJQSgzQQBRAAUAEAABAAQAAQAUAEAEFAAAAQFAAAEAAQUAABRAAFBVFBoFVAFAAAUAAUAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAB0cmwAAAAAAAAAAAAAAAAAAAAAFAAAAAAUAUAAABAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAABQAAAAAAAABQAAAAAAAAAAAAAAAQEESglBmggIoAAAAAAgAAIAAIAAAACoAACAAAAAAAAAAAAAAoAigqigoKqKAACgAKAAKAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAA6OTYAAAAAAAAAAAAAAAAAAAACgAAAAAAKKAAAAAAgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAoAAAAAAAAAAoAAAAAAAAAAAAAAAICCJQSgzQQEUAAAAAAQAEAAAAEABQEAAABAAAAAAAAAAAAAAAUQBQVRQUFEFFAABQFAFAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAdHJsAAAAAAAAAAAAAAAAAAAABQAAAAAAAVQAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAUAAAAUAAEAAABQAAAAAAAAAAAAAAAQRASglBmgiiAgAAAAAAAAIAAAAAACAAAAAgAAAAAAAAAAAAAAKIoAKooKACqgCgAoCigAAAAAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAOjk2AAAAAAAAAAAAAAAAAAAAoAAAAAAAAKAAoIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgKAAAKAAAAACAoAAAAAAAAAAAAAAAAIIgJQZoJQZUQAAAAAAAAAAQABAABQAEAAAABAAAAAAAAAAAAAAUQBQAVRQUAFVAFBQFFAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAdHJsBQQAAAAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAUAAAAUAAAAAAAAAAAAAAAAAAAAAAAEESglBmgzQRRAAQAFAAAAEAAAAAAQUABAAAAAAAAQAAAAAAAAAAAFEAUAFUUAFBVRQUBRQAAAAAAQAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAHRybAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUBQAABQAAAAAAAAAAAAAAAAAAAAAAAAQRKDNBKDNBFEBAAAAUAARVAAAEAQAAQUBAAAAAAAAQAAAAAAAAAAAAFEAUAFUUFBVRQUAFUAAAAAAAQAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAHRybAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAABQAABQAAAAAAAAAAAAAAAAAAAAAAAAQRKDNBmglBFEBAAAUAFEFAAAAABBAAQUABAAAAAAAAQAAAAAAAAAAAAFEAUFBVFBVFEUAFUAAAAAAAAQAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAHRybAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAABAAAAAQAQABRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAUAAUAAAAAAAAAAAAAAAAAAAAAAAAAEESgzQZoJQZUAQAFABQFRQAAAAAQBBAAQUBAAAAAAAAAQAAAAAAAAAAAFEAUAFUUGgVUUAFUAAAAAAAAQAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAHRybAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAFAAAABAAAAAQQAAABRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAUAUAAAAAAAAAAAAAAAAAAAAAAAAAEEZoJQZoJQZUAQFABQBFUUAAAAEABEEABBQEAAAAAAAAABAAAAAAAAAAAAUQBQVRQaBVQBQVQAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtybAAAAAAAAAAAAAAAAUAAAAAAAEABQAAAAAAUEAAAAABABAAAAFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAABRQAAAAAAAAAAAAAAAAAAAAAAAAAAQRmglBmglBFEAABQUFEFFAAABAAQEQAQEAFQAAAAAAAAAAEAAAAAAAAAABRAFBVFBQVUUFAUUAAAAAAAAEAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnJsBQAAAAAAAAAAAAAAUAAAAAAEAAABQAAAAAAAAAAAAQQAAAABRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAUUAAAAAAAAAAAAAAAAAAAAAAAAAAEEZoJQZoJQRRAAUFBRFUAUAAEABAQBBAQEAFQAAAAAAAAAAAEAAAAAAAAABRAFBVFBQVUUAFAUUAAAAAAAEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnJsABQAAAAAAAAAAAAUAAAAAAEAAAABQAAAAAAAAAAAQAQAUAEAFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAABQABQAAAAAAAAAAAAAAAAAAAAAAAAAQRmglBmggIAoAoKCiKAoAoIACAAgICIIACCgIAAAAAAAAAACAAAAAAAAAAoAigqigAoiqKACgAqgAAAAAACAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTk2AAAoAAAAAAAAAAAKAAAAACAAAAAAoAAAAAAAAAAAIAIAKAACKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAoAqAoAAAAAAAAAAAAAAAAAAAAAAAAgjNBKDNBAQBQBQUFEUFUAAAQAEBAQEQAQEAAAFAAQAAAAAAAEAAAAAAAABQBFABVFBQBFUUAFAAUUAAAAAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnJsAABQAAAAAAUAAAAAAAAAEAAAAAABQAAAAAQAAAFABABAABQBUUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAFAFQAAFBAUAAAAAAAAAAAAAAAAAAAAQGaIlBmggIAoAoNACKCqAAAIACAgIACAgCACAAAACgAIAAAACAAAAAAAAAoAgCgqgCgoAKqKACgAqgAAAAACAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTk2AAAoAAAAAKAAAAAAAAACAAAAAAAAoAAAIAAAAAAAAAIAAAKqgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAKAAAAAAAAAAAAAACAoAAgM0RKDNBAQBQBQUFEUBQAAABAAQAEABAAAQABBAABQEAAAABAAAAAAAAAUAARQAVQBQAUFVFABQFFAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpybAAUAAAAAFAAAAAAAAABAAAAAAAAUAAAAEAAEABQAFBABAAAUUVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAUAAAAQFAAAAAAAAFBAAAAUAEABQQFAAEBmiJQZoICAKAKCgoAiqAAAAIAACAAgAAIAACAIAIAKgAAAAIAAAAAAAACgACAKAAooKACgqooKAAooAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAANOTagAAAAAAAoAAAAAAAAAIAAAAAACgAAAAAgAAgAAKoAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAKAIACgAAAAAAAAAAAAAAAAAAAACgACAzREoM0EBAFAFABQUQUUAAAEAAABAAAQAAEABAEEABBQAAAEAAAAAAAAABQABAFAABVFABRFUUFAAUUAAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAG3JsAAAAAABQAAAAAAAAAAQAAAAAFAAAAAABABAAAFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAFAEBQAAQFAAAAAAAAAAAAAAAAAAAFAEBmiJQZoJQQEUUAFBQUQUUAAAAEAAAABAAAQAEBAEEABBQAAAEAAAAAAAAABQAABAAFABVFBQVUUAFAAUUAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAG3JsAAAAABQAAAAAAAAAAAAQAAAAFAAAAAABAABFAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAARQAAAAABQQFAAAAAAUAAAEAAAABQAARQBAZoiUGaCUEBFAFBQUARVAFAABAAAAAAAQAAEBAQBBABUAAAABAAAAAAAAAAAUAAAQABQAVRQUFVFABQFFAAABAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABtybAAAAAUAAAAAAAAAAAAAAEAAAABQAAAQAAARQABQAAAAAEAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAARQAAAAAABQQAAAAFAUAAAEAAAABQAARQBASiM0GaCUEUQAFABQURVAAAAAAAAAAEAAABAQEAQQAVAAAAAQAAAAAAAAAAAAFAEAAAUFAUUFEVRQUABRQAAQAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAbcmwAAAFAAAAAAAAAAAAAAAABAAAAAAAAABAAFAFAAAAAAQAABQQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAEUAAAAAAAAAAAAAAAVQAAAQAAAFAAABAFEESgzQZoJQRRAAAUFBRAFUAAAAQAAAAAAAEABAQBBAQUAAABAAAAAAAAAAAAAAAAUQAABQUFUUFEFFBQFAFAABAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAB0cmwAAAAAAAAAAAAAAAAAAAAEAAAAAAAEBQQBQABQAAAAEEAFAUABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQBAAAAAAAAAAAAAAAFAAAFQAAAFAAABAFRASgzQZoJQZUAAAUAFEUABQAAAQQBQAAAAABAARBAAQUAAABAAAAAAAAAAAAAAAAAUQABQAVRQUFVFBQAFFAAABAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAB0cmwAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAUAUAAAABBABQAAFAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAQAAAAAAAAAAAAABQAABUAAABQAAAQBUQEoM0GaCUEBFAAAFBQBAFABAAAAQAABQAAABAEEABBQAAAEAAAAAAAAAAAAAAAAAEUAAFBQVRQURVAFAUUAAAEAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAABQBQAAAEAEFEABQABVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAFAAAEAAAAAAAAAAAAAAAUAAAVABAUEUUEBQARFEBKDNBmglBARRAUAAFAEUAAAEAABAAAAUBQBAEAEBBQAAAAEAAAAAAAAAAAAAAAAABRAAFABVFBQVUUFAUUAAAAEAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAABRQAAAEAAERQABQABVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAFAAAAEAAAAAAAAAAAAAAAUUEABUEAAAUAAUEARRASgzQSgzQQEUAAAAUAAQAAABBQAAQAAAAAABABUAAAABAAAAAAAAAAAAAAAAAAAAUARQAUFUUFVFBQFFAAAABAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAB0cmwAAAAAAAAAAAAAAAAAAAAAAEAAEAAAAAUUAAABAAABEUAAUAUQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQABAUEAAAAAAAAAAAAAAAAUUEBUEABQRQAAAARRASgzQSgzQQEUAAAAUAAAQABBQAEAAAEAAUAEAFAQAAAAEAAAAAAAAAAAAAAAAAAABQBAFBQVRQVUUFAUUAAAAAEAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAHRybAAAAAAAAAAAAAAAAAAAAAAAQAAQAAAAFUAAAEAAAAEQFUAAEVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAEAAAAAAAAAAAAAAAAAAUUBBAUAAEUAAAAEUQEoM0EoM0EBFAAAFAAAAAEBUAABAAAAABAAAUBAAAAAAQAAAAAAAAAAAAAAAAAAAFAAEUFBVFBVRQUBRQAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAdHJsAAAAAAAAAAAAAAAAAAAAAABAABAAAAAAUAAAAAAAEAAABVAAAAAAAAABAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAABQBAAAAAAAAAAAAAABQQAAAUAUBABAUAEUUEBQQBFEBKDNBKDNBAFAAAAAAAAAARBQEAAAAAAAAABAAAAAAQAAAAAAAAAAAAAAAAAAAAFAAEUFBVFgKqKCgKKAAAAAACAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAADo5NgAAAAIAAAAACgAAAAAAAAAAAgAgAAAAAAKAAAAAAAACAAqgAAAAAAAAAgAAAKAAAAAAAAAAAAAAAACgAAAAAAAAACAoIoAAAAAAAAAAAAAACgAgAAoAoACAAAACKKCAoAIiiAlBmglBmgAigAACgAAgAAgCCgIAAACAAoAAIAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAigoKosBVRQUBRQAAAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAdHJsAAABAAAAAAAUAAAAAAAAAAEAEAAAAAAAABQAAAAAAAAFAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAFAAAAAAAEBQQAAABQAAAAAAAAAAAFAAAABAABQABQEAAEBQFAAAAVEBASgzQSggICKAAKAAACAAAgAAIAACAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAKAAIoKCqLAVUUFABVAAAAAAAAEAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAHRybAAAQAAAAAAAFAAAAAAAAABAABAABQAQAAAAABQAAAAAFAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAFAAAAAAAEBQQAAAABQAAAAAAAAAAAAFAAABBQABQAAAEAAABQAABBRAQEoM0EoICAigACgAAAgAAIACAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgACKCgqiwFVFBQAVQAAAAAAAABAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAB0cmwAEAAAAAAAABQAAAAAAAAAQAAAQVQBEFURAEAAAABQBQAFAAAAAAAAAABAAAAAAUAAAAAAAAAAAFAAAAAAAAAAAAEAAAAAUAAAAAAAAAAABQAAABUAAAUAAABAAAUAAAAQUQEBKDNBKDNBAFAAAFAABAAAQAEAABAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAFAAEUFBVFBVRQUAFUAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAdHJsBAAAAAAAAAAUAAAAAAAAAEAAAUAAAAERAAAFAABBQBQFAAAAAAAAAABAAAAAAUAAAAAAAAAAFAAAAAAAAAAAAEAAAAAUAAAAAAAAAABQQFAAAFAAQBQAAAAEAABQAAABBRAQEoM0EoM0EAUBAAFAAAFQQBBQEABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAFAAEUFBVFBVRQUAFUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAdHJtAAAAAAAAAAUAAAAAAAAAAEAAUAAAEAAEEAFAAAAFQBQFAAAAAAAAAABAAAAAAUAAAAAAAAAFAAAAAAAAAAAAAEAAAAAUAAAAAAAAAAABQAAABQEAAUEABQAEAAUVAAAEAFEBASgzQSgzQQBQEAAUAAAAEBABUAABAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAFAAEUFBVFBVRQUAFUAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAdHJtAAAAAAAAAUAAAAAAAAAAAAEUAAAEAAAEEFAAAAAFARVAAAAAAAAAABAAAAAAAUAAAAAAAAFAAAAAAAAAAAAAAAEAAAUAAAAAAAAAAABQAAAABQEAAAAAUABABBVVAUAEQUAQEBKDNBKDNBAFAARQAUAAEABAQAVAAAAAAAQAAAAAEAAAAAABQAAQAAAAAAAAAAAAAFAAEUFBVFBVRQUAFUAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAdHJtAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAABBBQAAABQEFFAAAAAAAAAAQAAAAAFAAAAAAAABQAAAAAAAAAAAAAABAAAFAAAAAAAAAAAAAUAAAAUABAAAAFAAQABQBQAAEQUAQEBKDNBKCAgIoACKCgAoAIACAgIAKgAAAAAAAIAAACAAAAAAoAAAAAIAAAAAAAAAAACgACKCgqigqooKACqAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAOjk2AgAAAAKAAAAAAAAAAAAAAAAAoIAAIAAAAIigAACgAIKKAAAAAAAAAAAgAAAAKAAAAAAAACgAAAAAAAAAAAAAAACAAKAAAAAAAAAAAAAoAAAAoAACAAAKACIKAKAKAAAAIAgICUGaCUEBAQBRQUQBQAAAAQEBAQEFAAAAAAAAQAAEAAAAABQAAAAAQAAAAAAAAAAAFAAEUFUUFBVRQUAFUAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAdHJsAAAAAAAAAAAAAAAAAABAAAUAAAAAAEAAEFAEBQAAEAVQAAAAAAAAAAQAAAFAAAAAAAABQAAAAAAAAAAAAAAAAABFAAAAAAAAAAAAAAUAAAUAABAAAAAAFQQFAFFAAAAAEQEBKCUGaCAgACgCiKACgAAgICAgIACCgAgAAAKAAgAAIAAAACgAAAAAgAAAAAAAAAAKAAAIoKooKCqigoAKoAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA6OTYAAAAAAAAAAAAAAAAACAAAKKgAAAAAAAgAgAoAAAAIoAACgAAAAAAAAAgAKAAAAAAAACgAAAAAAAAAAAAAAAAAAogAAAAAAAAAAAAAAoAoAAACAoIAAAAIAKCCqAoAAAAgCAgJQSgzQQEAAUAUFEUAAAAEBAQEBAAAQFABAABQEAABAAAAAUAAAAAEAAAAAAAAAABQAABFBVFBQVUUFABVAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbcmwAAAAAAAAAAAAAAAAAEAAABQAAAAAAAAQQAAUAAAEUAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAEAAAAAAAAAAAAFAAFAAAAQFBAAAAABAABRQABQAABAEBASglBmggIAAAooKIoAAAAICAgICAAAgAAAAAAoCAAgAAAAAKAAAACAAAAAAAAAAAoAAgCgqigoKqKCgAqgAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAANuTYAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAiAAACgAAAAAAKAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAACAoCgACAAAAAAAAAAAACgCgAAAAAICggAAAgAAooAAoAAgCAAgJQSgzQQEAAAUUARQUAAAEBAQEBAAAQAAAAAUBAAAQAAAAAFAAAABAAAAAAAAAAUAAARQAVRQUFVFBQAVQAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAG3JsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAUAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAEAAAUAUEAAAAAAAAAAAAAFFAAAAAAQFABAAABAABRQBQAABAEABASglBKDIAIAAoAoigAAoIACAgIACAAgAAoAAACAAAgAAAAAAAAAAAAAAAAAAAKAAAAIoAKooKCqigoAKoAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAADbk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAACgAAAAAAAAAAAAAACAAAAKAAAAAAAAAAAAAAoAAoAAAAAAAACAAACAAKoACgAAACIACAlBKCAgICAAAKAigAoAAIACAgAIACAACgAIAAAAACAAAAAAAAAAAAAAAAAAoAAAAAigAqigoKqKCgoCgAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAANuTYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAAAICggAACgAAAAAAAAAAAAAKAAKAAAAAAAAAgAAAgAACqAoAAAAgCAgJQSggICAgAACgAIoAAAAAIACAgAIACCgAAAAAAAIAAAAAAAAAAAAAAAAACgAAAACKCgKKCgqooKCgKAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA05NqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAKAAAAAAAAAAAAAAAIAAAAAoAAAAAAAAAAAACgACgAAAAAAAAAIAAAIAKKAAKAAAIAAgICAgICAgIAACAqgIAoAAAAIACAgAIAKgAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAogCgKKCgqooKCgKAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA05NgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAAAIAAAAAAoAAAAAAAAAAACgAACgAAAAAAIACggCggKgAAgqqAAAAIAAgICAgICAgIAAAAoCAKAAAAACAAgICAACoAAAAAAAAACAAAAAAAAAAAAAAAoAAAAAKIAoCigoKqKCgoCgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAANOTYAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAgAAAAACgAAAAAAAAKAAAAAAKAAAAAAAAgAKCAKCAoCKAAKAAAAAIAgICAgICAgAIAAAoACKAAAAAACAgAICACgIAAAAAAAAACAAAAAAAAAAAAAAoAAAAAKIAoCigoKqKCgAoCgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAANOTYAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAICgAKAAAAAAAAAAAAAIAAAAAAoAAAAAAAAACgAAACgAAAAAAAAICgAgCggKAigACgAAAACAICAgICAgIAACAAKAKIAAoAAIACAAgIACAAAAgoAAAAAACAAAAAAAAAAAAAAAoAAAAKIAoCigoKooigAoCgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAANOTYAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgACgAACgAIAAAAAAAAAAAAAAAAgAAAKoAAAAAAAAAAAgAAAAAAACgAAAAAAKAAAAAAKAAAAAAAAAAAAgCggKAgAACigAAAACAICAgICAgAIAACAqgAIoAAAAAIACAgAIACAAAACoAAAAACAAAAAAAAAAAAAAAoAAAAKIAoCigoKoogCgoCgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAANOTYAAAAAAAACgAAAAAAAAAAAAAAAAAAAgACgAAAACgAIAAAAAAAAAAAAAAgAKCAqgAAAAAAAAAACAAAIACgAAAoAAAAAACgAAAACgAAAAAAAAAAAIAAoIACoAAoAoAAAAAgCAgICAgIACAAAAKAKIAAoAIAACAAgIACAAgAAAAIKAAAAgAAAAAAAAAAAAAAKAAAACiAKAooKCqAigoKAoAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAADTk2AAAAAAAAAoAAAAAAAAAAAAAAAAAAAIAAoAAAAAAoCAAAAAAAAAAAAAAAAAAIooAAAAAAAAAIAAAAgAKAACgAAAAAAKAAAAAKAAAAAAAAAAAAAAAgCgiCgAACigAICgAIAgICAgICAAgAAAKoAogAAAAoAgCCAAgICAAAgAAAIKAAAAgAAAAAAAAAAAAAAKAAACgCKACqAKCqAigoAKoAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAADTk2AAAAgCigIAKAAAAAAAAAAAAAAAAAACACAACgKAAAAoCAAAAAAAAAAAAAAAICgAKAAAACggAAAAgAACAAAoAAKAAAAAAAoAAAAAoAAAAAAAAAAAAAAoAgCIKCAooAoAAAAAgCAgICAgIAACAAoCigCKAAoAgAAIAggICAAgAAIAACACgAIAAAAAAAAAAAAAAACgAAAoAigKKCgAqgIoKACqAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAA/9k=",skyBoxBack:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////////////////////////////////////////////////////////////////////////wAARCAgACAADAREAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAECAwT/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AMqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAACAAAAAAAoAAAAAAAAAAAAKAAAACggAAAAAAAAAAKAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAACAAAAAAAAoAAAAAAAAAAAAKAAAACggAAAAAAAAAAAKAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAACAAAAAAAoAAAAAAAAAAAAAKAAACgAgAAAAAAAAAAAKACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAACAAAAAAAoAAAAAAAAAAAAAAKAAACgAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAoAAAAKCAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAKAAAAACggAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAIAAAAAACgAAAoAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACAAAAAAAAoAAAKAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAIAAAAAACgAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAACgAAAoAAAAAAIAAAACgAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAACAAAAAoAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAIAAAAAAACgAAAoAAAAAAAAIAAACgAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAACAoAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAIAAACgAAAAAoAAAAAAAIAAACgAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAgAAAKAAAAAAAAACgAgAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAKAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAoIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAAAAAAAgAAAAAAKAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAgAAAKACAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAgAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAIAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAAAAAAoAAAIAAAAAAACgAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAIAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAACgAAAAgAAAAAAKAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAgAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAKAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAKAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAKAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAKAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAgAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAIAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAKAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAKAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAKAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAKAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAKAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAoIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAACgAAAAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAACgAAAAAAAAAAAAAAgAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACgAAAAAAAAAAAAAAAAAAAgKCACgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACggKAAAAAAAAAAAAAAAAAAAAACAoIAAAKAACAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKCAoAAAAAAAAAAAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAACAAAAAAAAAAoIAAAACgAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAACAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAACAAAAoAAAAIAAACgAAAAAAAgKACAoAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAACAAAAAAAAoIACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKACAoAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIICggAAAAAAAAKAAAAAAAAAAACAAAAAAAAAoAAAAIooAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAICggAAAAAAAAAAAAAAAACgAACgAAiAAAAAAAAAAAAAAAAAAAAoAAAAAoAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAIAAAKAACAAKAAAAAAAACAAAoAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAIAAAIAAAAAAAAAAAAAAAAAAAAoIAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAoICggAAAAAAAAAKAACAAAAAAAAAAAAAAAoICgAAAAAAAAAgAKAAAAAAACAoAICggKCAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAIAAAAoAAAoAAAACAoIAAAAAAAAAAACgAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAIAAAAAKAAAAAAAAAAAAACAAAAAAoAAAAAAAACgAAAAAAAAAAAAAACAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAoAAAAAICgAAAAAAAAAAgAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACoAAAAAAAAAAKAAAAAACAAKAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAA0AAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAoAAAIAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAADYAIAACgAAAAAAAAAAAAAAAgAAAAAAAAKCAAAAAAAgAAAAAAAAAAAAAAAAAAAAKACAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAKAAAAAACAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAoAANAAAAAAAAAAAoAAAAAAIAAACAAAAAAAAAAAAACIAAoAAIAAAAAAAAAAoAAAIAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAIAACgAAAAAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAoAAAANAAAAAAAAAAAAoAAAAAIAACAAAAAAAAAAACIAoAAAAAgAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAoAAAAAAAAIAAAAAAAAAgAAAACqCAAAoAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAoAAAAAAKAAAACgoAIAAAACgAAAAAAAAAAAgAAAAIIAAAoIAAAAoAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAKAAAAAAAAAAgAAAAAAKAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAIAAAAAAAAAAAACgAAAAoAAAAAKAAAACgAAAAAAAAAAAAAAAAAAAAggAAAAAAoAAAAgAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAACAAAAAAIAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAICgAgKAACAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAoAAAAAAKAAAAIAAAAAAAAAAAAAAAAAAAgAAACgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAIAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACgAAAAAAAoIIAAAAAAAAAAAAAKACAAAoAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAgAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACgAAAioAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAAAAAAAKgAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACggAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAIAAAAAAAKAAAAAAAAAACAAoAIoAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICggKCAAAKAAAAAAAoAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAgKCAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAACAAAAAACAAAAAoAAAAAAAAAAAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAIAIAAACgAAAAAAAAAAAAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKACCKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAIAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAKAAAAAAAAAAAgigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICggAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAAAAAAAAAACAoAAAIAACggAAAAAAAAAAAAAAAAAAAAAKACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAACAoIAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAoAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAoAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAoIAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAKCAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAACggAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoIACgKIgKAKggAAAAKAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAgKAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ACgAAgAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAADoAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAKAAACAAAAAAAAA6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACAAoICggAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAKAAAAAAACAAAAAAAA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAIAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAIAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAoAAAAAAAAAIAAAAAAADuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAgAAAAAAAIAAAAAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAoACgACAAAAICgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAO4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAAAoAIAAAAAAAAAAAAAAAAAAAIAAAAACAAAAAAAAgAAAAAAIAAAAAAAACAAAAAAAAAAAAAAAAgAAAAAAAAAoACgAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAgAAAAAAAAIAAACAAAAAAAAgAAAAAAAAAAAAAAIAAAAAAAAACAAACgKAAAAAAAIAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAACAA9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAoICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAIAAAAAAIAAAACAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAACAAAAACgAAAAAAAAigAAAAAAAAAAAAAAAAgAAAAAKAAACAAAAAAAAAA7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAgAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAICgAAAAAAAAAAAAAAAAAAAAAAAIAAAAgAAAAAAgAAAAAAIAAAAAACAAAAAAAAAAAAAAAAAgAAAIAAAKAAoAAAgAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAIAAD0AAAAAAAAAAAAAAAAAAAAAAAgAACgAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAACAAIAAAAAAAIAAAAACAAAAAAAAAAAAAAAAAAAgAAIAAAAAKAAACKAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAADuAAAAAAAAAAAAAAAAAAAAAAAIAKoIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAgACAAAAAAACAAAAAAAAAAAAAAAAAAAgAAAIAAAAAAAAAACgAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAA7AAAAAAAAAAAAAAAAACAAAACgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACAAAAAAAAAAAAAIAAAAAAAAIAAAACAAAAAAAAAAAoAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAOogAAAAAAAAAAAoAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAACgAAAAAAAAAAAAAIgAAAAgAAKAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOioAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACgAACCAAAAAAAoAAAAAAAKoAAAAAAAIAAIAAAAAAAAAAAAAAAAAAAAADaoAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACgAAAACAAoAAAAoAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAADSoAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACgAAAAKAAAAICggAKCAAAoAAAAAAAAAAAAAAAAAAAAAAAAAgAAqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAACiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKCAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAKAAAAAAAAAAAAIAAAAAAAAAAAgAKCAAAAAAAAoAAAAAIACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgKCAAAoAIAACgAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggKAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAoAAAAAAAIAAAAAoAAAAAAAAAIAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAoAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAoAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCgAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAICgAgAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAACAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAACAoAAIACgAAgKAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAoAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACggAAAKCAAoICgAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAACAAAAoIAAAAAAAAAAAAAAKAAAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACggAAAAAAKCAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAgAKAACAAAAAAAAAAAACgAAAAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAIAAAAAAAAAAAAgAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAACgigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAACAoIACgAAAAAAAAAAgAAAAACAAAAAAAAAAAAAACggKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACggAKAAAAAAgAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICggAAAAAACAAAAACgAAAAgAAAAAAAAAKCAAoIAAAAACggKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICggAACAAAAAAAACggAAAKACAoAIAAAAAAAAACgAgKACAAoICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoIgAAAAAAAAAAAAAAAAoIACggAKCAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAICgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAgAAAAAAAAAAAAAAAAAKCAAoIACggAAAAAAAKAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAACAAAAAAAAAAAAAAAAoAAAAICggAAAAAAAKCAoAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAIACggAKCAAAAAAoICgAAAAAgKACAAAAAAAAIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAAAAAgCAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAggKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACACAoAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAICggKCAoAAAAAAAAAAAAAAAACAACAoAAIACggAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAICgAAAAAAAAAAAAAAAIAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAACAoAAAAAAAAAACAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAgKAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAICgAAIAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAgAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAIAIACgAAAAAAAAAAAgAAAAAAAAKCAAoIACgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAgAAAAKAAAAAAAAAACAAAAAAAAoAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAIAAAAACgAAAAAAAAAAgAAAAAKAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAIAACgAAAAAAAAAAAgAAAKAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAICgAAAAAAAAAAAgKCAAoAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACggAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAMgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADIAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAyAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAMgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKDIAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAyAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAADIAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAKAAAAAAAAgAAAAKAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAADIAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAKAAAAAAgAAAAAAAAAAAAAKAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAADIAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAKAAAAAAgAAAoAAAAAAAAAIAAAAAAAAoAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAMgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAACgAAAAIAAAKAAAAAAAAAAAAAAAAAACAAAAAAKAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADIAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAIAAAAAAAAAACgAAAAAAAAAAAAAoAAAACAAAACgAAACgAgAAAAAAAAAAAAAAACAAAKAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAADIAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAAgAAAAoAAAoAAAICggAKCAAAAAAAAAAAAIAAAoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAMgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAACAAAACgACgAAAAAAAAgKCAqgCIAAAAAAAACAAAAKAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKADIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAgAAAAoAoAAAAAAAAACgAACAoAIgAAAAAAAIAAAoAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAIAAAAqgAAAAAAAAAAoAAgKAACAIAAAAAAAACAAKAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACgAAIAAAoACgAAAAAAAAAoAAAAAAAAgACAAAAAAgAACgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAACAAAAKAAAoAAAAAAAAKAAAAAAAAAAAIgAAAAIAAAoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAgAACgAAAKAAAAAAACgAAAAAAAAAAACIAAAACAAAKAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAIAAAoAACgAAAAAAAoAAAAAAAAAAAAIIAAAAAAgACgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAACAAAKAAAoAAAAAKAAAAAAAAAAAAAAIgAAAAAAIAAoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAgAACgAKAAAAACgAAAAAAAAAAAAAAgAgAAAAACAKAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAIAAoACgAAAAoAAAAAAAAAAAAAAAAAIIAAAAAgACgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAACAAKAAoAAAKAAAAAAAAAAAAAAAAAAACCAAAAAIoAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAgACgKAAAACgAAAAAAAAAAAAAAAAAAACIAAAACAKAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACgAAIAoACgAAAoAAAAAAAAAAAAAAAAAAAAAgCAAAAgCgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoACAKAAoAAAAKAAAAAAAAAAAAAAAAAAAAAIAgAAAIAoAAAAgAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAD//2Q==",skyBoxFront:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////////////////////////////////////////////////////////////////////////wAARCAgACAADAREAAhEBAxEB/8QAGQABAQEBAQEAAAAAAAAAAAAAAAECBAUD/8QAFhABAQEAAAAAAAAAAAAAAAAAABEB/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/8QAFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8Aw2yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAKAAAAAAAoAAAAAAAAAAAAKAAAAAAAAAAACgAAAAAAAoCAAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAAKAKAAAAAAAAoAAAAAAAAAAKAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAACgAAAAADhaZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAFAAAAAAAUAAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAVAAAAAAABQAAAAAAAAAAAAAUAAAAAAAAAAAFAFAAAAAAAAUAAAAAAAAAAAFAAAAAAQAAUAAAAAAAAAAAAAAAAAAABQAAAAAABwtMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAIAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAACgAAAAAAKAAAAAAAAAAAACgAAAAAAAAAAoAAAAAAAAKAgAAAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAACgCgAAAAAAAKAAAAAAAAAACgAAAAAAIAAKAAAAAAAAAAAAAAAAAAAAoAAAgAAOJpkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAABAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAUAAAABQAAAAAAAAAAAAAAUAAAAAAAAAFAAAAAAAABQEAAAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAAUAAUAAAAAABQAAAAAAAAAAUAAAAAAABAUEAFUAEAAAAEAAAAAABQAAFAEAAAAABxNMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAIAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAACggKAAAAoAAAAAAAAAAAAAAKAAAAAAAACgAAAAAAAAAoACAAAAACgAAAAAAAAAAAAAAoAAAAAAAAAAAAKAKAAAAAAAAoAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAOJpkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAAUAAAABQAAAAAAAAAAAAAAUAAAAAAAAFAAAAAAAABQAAAEAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAUAAAAABQAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHE0yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAgAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAKAAAoAAAAAAAAAAAAAAAKAAAAAAACgAAAAAAAAAoAAACAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAKAAAAAAoAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiaZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAQAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAFAAUAAAAAAAAAAAAAAFAAAAAAABQAAAAAAAAAAUAAAABAAAABQAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAFAAAAAUAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxNMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAACgKAAAAAAAAAAAAAACgAAAAAAoAAAAAAAAAAAKAAAAAgAAAAAoAAAAAAAAAAAAKAAAAAAAAAAAACgAAAAAAACggKoAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiaZAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAABRQAAAAAAAAAAAAAAFAAAAAABQAAAAAAAAAAUAAAAAABAAAAABQAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAFUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxNMgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAooICgAAAAAAAAAAAKAAAAAACgAAAAAAAAAAAoAAAAAAAACAoIAKAAAAAAAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAKAKAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOJpkAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAABAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAFAAAAAAAAAAAAUAAAAAAFAAAAAAAAAABQAAAAAAAAAAAAAEFAAAAAAAAAABQAAAAAAAAAAAAAUAAAAAAAAAAFAFAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHE0yAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAgAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACgACggKAAAAAAAAAAoAAAAAAAKAAAAAAAAAACgAAAAAAAAAAAAAAoCAAAAAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAAKKAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOJpkAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAFAAAAFAAAAAAAAAUAAAAAAAAFAAAAAAAAAABQAAAAAAAAAAAAAAUBAAAAAAAAAABQAAAAAAAAAAAAAUAAAAAAAAAAFAFAAAAAAAAABFAAAAAFAABAAUAAAAAAAAAAAAAAAAAAAABxNMgAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAoAAAAAAACgAAAAAAAAoAAAAAAAAAAKAAAAAAAAAAAAAACgIAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAAAAoAoAAAAAAAAIAAAAAAAoAAAAAAAAoAAAAAAAAAAAAAAAADiaZAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAABQAAAAAAFAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAAAAAAFAQAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAAAABRQAAAAAAAAQAAAAAAAAAABQAAABQAAAAAAAAAAAAAAAAAHE0yAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAgAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAACgAAAAAAKAAAAAAAAAACgAAAAAAAAAAoAAAAAAAAAAAAAAKAgAAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAAAACigAAAAAAgAAAAAAAAAAAAACgAAAAAAAAAACgAAgAAKACArjaZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAABAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAAAFAAAAAAAUAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAAAAAAUBAAAAAAAAAAAABQAAAAAAAAAAAUAAAAAAAAAAFAFAAABAAAAAAAAAAAAAAAAAFAAAAAAAAAAFABAAAAAAUEcbSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAAACgAAAAAKAAAAAAAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAKAgAAAAAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAONpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAABQAAAAAFAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAFAQAAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHG0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAIAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAAAAAoAAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAKAAAAAAAAAAAAACgIAAAAAAAAAAAAAKAAAAAAAAAAACgAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAADjaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAEAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAAUAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAABQAEAAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFABxtIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAACAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAAAAAKAAAAAAoAAAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAAAAAAoAAACAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAEAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAUAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAABQAAEAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHI0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAIAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAAAoAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAKAAAAAAAAAAAAACgAAIAAAAAAAAAAKAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAORpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAQAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAABQAAAAAAAABQQFAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAABAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAACAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAKAAAoAAAAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAACAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAEAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAAAAAAAAAAAAAUBQAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQAAEAAAAAAAAAFAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHI0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAAAAAAAAAAAAAoCgAAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAIAAAAAAAAKAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAORpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUUAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAFAAAAAAQAAAAAAUAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAcjSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAooAAAAAAAAAAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAgAAAAAAoAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAA5GkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAABAUEAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAFAFAAAAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAAAAEAAAAAFAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHI0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAIAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKKCAoAAAAAAAAAAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAAgAAAAAoAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAA5GkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAAAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQABQAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAABAAABQAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAByNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAACAAAAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgACgAAAAgKACAoAAAACgAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAgAAAoAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAA5GkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAABAAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAABQAABQQAAAAAAAFBAUABQAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAQAAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAcjSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAgAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAoACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAgAAoAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAA5GkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAABAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAABQAFAAAAAAAAAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAABAABQAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAByNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAACAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAACgAKAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAAAAACACgAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAADkaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAFAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAFAAUAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEFAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAHI0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAKAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAKoAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAAAAAAAIKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAORpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAVQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAAAAAAAAAABQAEAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAcjSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKKAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACgAIAAAAAAAAACggAKCAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAORpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAUAAAAAAAAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAVQAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAAAAAAAAAAAABQAAEAAAAAAAABQAQFABAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAHI0gAAAAAAAAAAAAAAAACgAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgKAAAAACgAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAooAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAgAAAAAAAAKAAAAACAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAORpAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAAAAFAABQAAAAAUAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAUAAAAAAAAAAABQAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAAAQAAAAAAAFAAAAABAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAHI0gAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAACACgAAKAAIoAKAAAACgAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACigAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAACAAAAAoIAACgAAAAgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAADlaQAAAAABAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAQAUBEAAAFAUAUFEAUAAAAFAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFFAAAAAAAAAAABFFAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAFAABAUEAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAcrSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAIAAIACACogAAgAAKACgKKCiAKAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgCgAAAAAAAAAgKAoAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAIACggAAAAKAACAoIAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAA5WkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAEQAAAQAEFQBBAAAQAFABQUBRQUQBQAAAUAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUUAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAFAAAAAAAAAAAQFABAAUAEBQQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAABytIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoACACAAAAgIAKiCAAgAAAAAKCgoCiiKACgAAoAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAooAAAAAAAAAAAAIooAICgAAAAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAICggKCAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAOVpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAQAAQAAAEBBUAQQEABAEAAFAUUFBQVQEUAFAABQAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFUQFAAAAAAAAAAAAUAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAEBQQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAABytIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCAAAACAAAAgAIKgCCAgIAgAAAAoCigoKCqAKIAoAKAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKKAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAIAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAA5WkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABAABAAAAAAAQAEFRBAQAEAQQAAAFBVFABQUFUAUFEAAUAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAABVAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABytIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAACCAAAAAAAAgAICCiCAgAICIAAAAKACqKCgAoKAooKIAoAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAACqAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADlaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAEABQQQAAAAAEAABABUQQAEBAEEAAAAABQAVRQUAFBQVQEUFAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAVQAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAEAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcrSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAgAAgAAAIAAACAAgqIAICAAiAACAAoAAKCgKKCgAoKooKIAoAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAACqAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAgAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADlaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAEBQQAQAAEABAAAQUBEAEBAARABAAABQRQAUAFAUUFBQUFUUQBQAAAAAAAAAUAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFUAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAABAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHK0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAIAAAAIACAAgAIKAiACAAgAIgAgAAoAAACiAKACgAqigoKooKIAoAAAAAAAAKAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAooAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAgKACAoIAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAA5WkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAUEAEABAAQEFEEABAAQEAQAQAAUAAAABQBAFABQFFBQaBVARQAAAUAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUUAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQFBAUEAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcrSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAIACAgqIIACAAgCCAAACgAAAAAAKAIAoAKCqKCgqigogAAAACgAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACigAAAAAAAAAAAAKAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAACAoICggAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADlaQAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQQAQAEABARFQEBAQABBAAABQAAAAAAAFAAEAUAFBVFBQVRRFAAAABQAAAUAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQBQAAAAAAAQFBAAUBQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAABytIAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAgAICIrIAICAIIAAAAKgKAAAAAAACgACAKCgqigoKooAigAAAoAAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAoAAAAAAAIACgiigAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAICggAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAADlaQAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQQAAQAEABARFZBAQAEQAAAQUABQAAAAAAAAUAARQUBRoFBQFFEUAAAFAAABQAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAAFAAAAAABAAUBQAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAABytIAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACAAgAIDKKgICAIIAACACgAKAAAAAAAACgACKACqKCgoKooAigAoAAAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAoAAAoICgAAAgAKAAoAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAIAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAA5VQUAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAQEBBUQQEBAEEAABBQAFAAAAAAAAAABQBAFBQVRQUFUUARQAUAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAUAAAAAUEABQQAAFAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAEAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAciooACgACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIACAAgIioCAgICIAAAAAAoAAAAAAAAAAAIoAKCgKKDQKAooigAoAAAAAAAKAAAAAAAAACgAAAAAAAAAAAAAAAoAAAAAAoAICggKCAoCgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAgAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAADkVAFAAUAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAUEAAEABAQEFRBAQEAQQAAAAAUAAAAAAAAAAAEAUAFABVFBQUFUURQAUAAAAAAAAFAAAAAAAABQAAAAAAAAAAAAAAUAAAAAAAAAUEABQAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAABAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAHGqKACgAKAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAACAAACAgAICIqAgICIAIAAAAAAAKAAAAAAAAACAKAACgoKooKCgKKIoAAAAAAAKAACgAAAAAAoAAAAAAAAAAAAAAAKAAAAAAAAAAKCAoACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAADjVAFABQAFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAQEABkVEEBAQBBAAAAAAAABQAAAAAAAAAQABQAUAFUUFBQUBRRAAAAAAFAABQAUAAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAAAABVAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAHGqAKACgAAqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKACAAAAAAACAAgIKzqCAgIAggAAAAAAAAAoICggKAAACAAAAKACgAqigoKACqAFAAAABQBFBQAUAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAAAABQFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAABAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAHEoogCgoAAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAICAgqaggMgAiCAAAAAAAAAAAAAAAAAAAAAAAoAKACqKCgAtAoFAAABQFFBRFABQAAAUAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAFUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAcSigCKACgAqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAoAAAAIAACAAgM6ipoICAgCACAAAAAAAAAAAAAAAAAAAAAAoAKACqAKBQUAAAAFBQVRRAFBQAAAUAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAFUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAcQCiiKACgAoCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAoACggAAAAAAgAAICAgqaggICAgCAAAAAAAACAAAAAAAAAAAAAAAoAAKACqAAKAACgoAKo0IAoKAACgAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAoIooAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAACAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAOEFBVARQUAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABAAUEAAAAAAAAAAEAABAQEFRBAQEABAAEBQAQAAAAQAAAAAAAAAAAAAAFAABQAAVQBQAUFBVGhFABQAAUAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABRQAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAEAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAcIAKCqKIAoAKAAAoAAICgAAAAAAAAAAAAAAAAAAAAAAACgAAAAAIAAAAAAAAAAAAAAAIACAAgIKiCAgIAAAAAAACIAAAIAAAAAAAAAAAAAAACgAAoAKoAoKCg0ooigAoAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAooAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAACAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAOAFABQVRRAFABQAAAAAAAFAAAAAAAFQAAAAAAAFAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAQAEBBUQQEAABAAAAAARAAAABAAAAAAAAAAAAAAAUAAFABVFBQUGlFBRAFAABQAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAFAFAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAB56CqKACgqiiAKACgAAAAAAAKCAoqAAAAAAAAAAoAAAICgAAAAAAAgAAAAAAAAAAAAAAAAAAAgAIACAgqIIACAAAAgAAAIgAAAAAgAAAAAAAAAAAAAKACgAqigoKCg0oCKCgAAoAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgACgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAIAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAA89ABVAFBQVQEUAFAABQAAAAAAAUAAAAAAAAAAAAAAABQAAAAAQAAAAAAAAAAAAAAAAAAAAAQAEABAQUBEEABAAAAQAAEQAAAAQAAAAAAAAAAAAAFABQAVRQUFBQVRRFBQAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQBQAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAEAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAecgAoCigoAKCqKIAAoAAAKAAAAAAAAAAAAACgAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAACAAAgIAKgIgAgIAACAAAiAAAACAAAAAAAAAAAAAAoAKACqKCgoKCqKIoAKAACgAAAAAAAAAAoAAAAAAAAAAAAAAAAKAKAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAADzUFABQFFABaC0AFUBFAAABQAUAAAAAAAAAAAAAAAAFAAAAAUEAAAAAAAAAAAAAAAAAAAAAAAAAAEABAAQEFRABAQAAEABEAAAEAAAAAAAAAAAAAABQAUFAUUFBQUFUUARQUAAFAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAUAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAABAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAHmooIAoAKAooALQWgUAFAUBFABQAAAUAAAAAAAAAAAAAAFAAAAUEAAAAAAAAAAAAAAAAAAAAAAAAAAEABAAQEFRBAAQAEABEAAAEAAAAAAAAAAAAABQAUAFBVAFBQUFAUURQAUAAFAAAAAAABQAAAAAAAAAAAAAAAAUAAAUAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAABAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAHmooAAIAoAKAooFBaABQWgAoCiiAAAKAAAAAAAAAACgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACAgIKAiCAgAIACIAAIAAAAAAAAAAAAACgAAoKAooKACgoKAooAigAoAAKAAAAAACgAAAAAAAAAAAAAAAoAAAoAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAACAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAPMRQAFAAAEUAFAAUUAAFABQAWgUCqFEKBQKBQAWgAAAoAAKAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIACAgqIICAAgAIgAgAAAAAAAAAAAAAKAACgAqigAoKACgAqgCgogCgAAoAAAAAKAAAAAAAAAAAAAAACgAACgAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAIAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAA8xFAAAAAUAARQAAUAAFUAWgUCgtAoFAoFAoFAoFAoLQFRQAUAFAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEABAQVEEABAQEAQQAAAAAAAAAAAAAFAABQAUBRQAUFABQAUBRQBFBQAAUAAAAFAAAAAAAAAAAAAAABQAAABQAAAAAAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAEAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeYigAAAAAAKAIAoAAAKAAooFAoFAoFAoFBaBQKBQWgAoCooAKCgAAoAAAAAAAKAAAAAAAAAAAAAACAAAAAAAgAIACAgqIIACAgIAggAAAAAAAAAAKAAAAACgAqgCgAoKACgAoCigCKCgAoAAAAKAAAAAAAAAAAAAAACgAAACgAAAAAAAAAKAAAAAAAAAAAACgAIAAAAAAAAAAAACgAAAAAAAAgAKCAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPMRQAAAAAAAFAAAEUAAAAFAAAAAAUEABRQAAUFABQVUAUFABQAAAAUAAAAAAAAAAAAAAAEAAAAAAABAAQAEBABUQQAEBAQBBAAAAAAAUAAAAAAAFAAAABVFABQUAFABQFFBRAFABQAAAUAAAAAAAAAAAAAAAFAAAAAFAAAAAAAAAUAAAAAAAAAAAFAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5iKAAAAAAAAAoAAAgACgAAAAAAAAAAAoAAKoAoKCgCKooKACgAAAoAAAAAAAAAAIAAAAAAAAACAAAgAAIACCiCAgAICAiCAAAAAAAoAAAAAAAKAAAAACqAKCgoAKCgKKCiAKACgAAAoAAAAAAAAAAAAAAKAAAAAAAKAAAAAAAAoAAAAAAAAAAKAgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADzEUAAAAAAAAABQAABAAAAAAAAAAAFAAABQAUBRQUFABVRQUAFAABQAAAAAAAAQAAAAAAAAAEAABAAQAAAEAFEEABAQEBEEAAAAAABQAAAAAAUAAAAAAFAUUFBQUFAUUFAEUAFAAABQAAAAAAAAAAAAAAUAAAAAAAAUAAAAAABQAAAAAAAAAAUBAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHmIoAAAAAAAAAACgAACAAAAAAAAAAAAKAACgAoCigoKACqigoAKAACgAAAAAAgAAAAAIAAAACAAgAAIAKAAAAIIACAgICIIAAAAAACgAAAAAAAoAAAAAKoAoKCgoKCqKIAoAKAAACgAAAAAAAAAAAAAoAAAAAAAAAoAAAAACgAAAAAAAAAAAoCAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPMRQAAAAAAAAAAAFAAEAAAAAAAAAAAAUAAAFABQUBRQUFAEVRQAUAFAAAAABAAAAQAAAEAAABAAQAERQAAFAUAAEEBAQEBEEAAAAAAABQAAAAAAUAAAAFUAUFBQUFBVFEUAFAAABQAAAAAAAAAAAAAUAAAAAAAUEBQAAAAAAFAAAAAAAAAAAABQEAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeYigAAAAAAAAAAAAKAIAAAAAAAAAAAoAAAKAACgAoKoAoKIqigAoAKAAAAACAAgAAIAACAAAAgCCCgIAACgAoCgAAggJoIDICCAAAAAAAAAAoAAAAKAACqAKCgoKCgqigogCgAAAoAAAAAAAAAAAAAKAAAAAAAKAAAAAAAAoAAAAAAAAAAAAAKAgAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACg8tFAAAAAAAAAAAAUQAAAAAAAAAABQAAAAUAAFAABQFFBQUFEFFBQAUAAAAAEABAAQAEAABAEAEFAQAAAAAFBQFFEBUQQE0E0EBEEAAAAAAAAAAABQAAUAFUAUFBQUFBVFBRAFAAABQAAAAAAAAAAAAUAAAAAAUAAAAAAAABQAAAAAAAAAAAAAAUBAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAB5aKAAAAAAAAAAogAAAAAAAAACgAAAAAoAAAKAACgAqgCgoigqgCgAoAAAAAIACAAgIAACIAAIKAgAAIACgAoKAoogCCiCaDOggIggAAAAAAAAAAAKACgAoCigoKCgoKooKIAoAAKAAAAAAAAAAAAACgAAACggKAAAAAAAAAoAAAAAAAAAAAAAAAKAAgAAAAAAAoAAAAAKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAADy0UAAAAAAAAEUAAAAAAFAAAAAAAAABQAAUAAFABVAFABQUQBVFABQAAAAAAQAEABAAQABBAABUABAAAAAUAFBVAQAFRBAZ0EBEAEAAAAAAAAAABQAUFAUUFBQUFBVFBRAFAABQAAAAAAAAAAAAAUAAAAAAUAAAAAAABQAAAAAAAAAAAAAAAAUABAUEAAAAAAFAAAAABQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAeWigAAAAAAgCgAAAAAoAAAAAAAAAKAAACgAoAKoAoAKACiAKooAKAAAAAAAACAAgAIACAAAIIAKgAAIACgAoKoACAqIAMggIAggAAAAAAAIACgAAoAKCqKCgoKCqKIoAKAACgAAAAAAAAAAAAAoAAAAAAAAoAAAAACgAAAAAAAAAAAAAAAAoACAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAADy0UAAAAAAEUAAAAAFAAAAAAAAABQAAUAAFABVFABQAUQBQFFABQAAAUAAAEAAABAAQAEAAABAEEAFAQFAABVAAQAFRBAQEBAARAAAAAAAAAAAABQUFUUFBQUFUURQAUAAFAAAAAAAAAAAAABQAAAAAAAAABQAAAAFAAAAAAAAAAAAAAABQAEAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAHlooAAAAAIoAAAAAKAAAAAAAACgAAAAoAKCqAKCgAogCgKKACgAAAoAAAAAAAIAACAAAgAAAIACAAIEFAFAFEAAQUQQEBAQEABEAAAFABAAAAAAUFBVFwFwFBQVRRFABQAUAAAAAAAAAAAAAAFAAAAAAAAAAAAFAAAUAAAAAAAAAAAAAAAFAAAQAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAeWigAAAAKIAAAAAoAAAAAKAAAAAAACgAoKAooKAIoKAooAKAAACgAAAAAAAAAAAgAAIAACAAAAgAAEAgAKACAAgqIICAgIAAggKAAAAAAAAAAACguKNYC4C4CqKIoKAACgAAAAAAAAAAAAAoAAAAAAAAAAAAAAoACgAAAAAAAAAAAAAAoACAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAADzEUABAAUQAAAABQAAAAAUAAAAAAFAABQAVRQUAFEUFUAUAAAFAAAAAAAAAAAAAABAAAQAAEAAAAAAAABQQAEBEVNBNBAQEABEAFAAAAAAAAAABQFGsBcBrAXAVUUFAABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAUBQAAAAAAAAAAAAAVAUEAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHmIoAAAIAAAAAoAAAAAKAAAAAACgAAoAKooAKCiKACqKAACgAAAAAAAAAAAAAAAAAgAIAACAAoAAAAAAAAIADOoqaCaDIIACIAAKAAACgAAAAgKACqLgNYC4DWKKIoAKAAAAAAAAAAAACgAAAAAAAAAAAAAAAACqAAAAAAAAAAAAAgoAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPMRQAQAAAABQAAEAAAFUAAAAAUAAFABQAVQBQUFEAVQBQAUAAAAAAAAAAAAAAAAAAEABAAQAFAABQAAAAAAQE0GdRU0GdBAQBBAAAAUAAFAAAAAAAUUFwGsBrAXFFEUFAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUUAAAAAAAAAAQAUAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHmoAIAAAACgAIAAAAKAAoAAAAoAKACgAqgCgoAigoCigAoAAAAAAAAAAAAAAAAAAAIACAAgKAACgAoAAAAICAmgmorOgmgyCAIIAAACgAoAAAAAAACig1gLgNYCqKIoKAAAAAAACgAAAAAAAAAAAAAAAAAAoAoAAAAAAAAAAgAoAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPNQAAAAAAEAAAAAFAAUAAAUAAFABQAVRQAUARQUAFUAAUAAAAAFAAABAAAUAEAAAABAAQAAAAFABQAAAAAQEBNBNRWdBNBkAEQQAAAFABQAAAAAAAUFUXAXAawFwFVFABQAAAAUAAAAAAAAAAAAAAAAAAFFAAAAAAAAAAAEAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5qAAAAAAAgAAAAAqgAAACgAAoAKACqAKCgogCgAqgACgAAAAoAAAAAAAAAAAAIAACAAAgAKAACgAAoAIAACAzoJqKmgzoICAiAAAAAACgAAAAAAAoKouAuAuA0CqAKIAoAAAKAAAAAAAAAAAAAAKAAoAAAAAAAAAACAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAADzkAEAAAAAAAAAABQAAUAAFAABQAVQBQUAFEUFAUAUAAAAAFAAAAAAAAAAAAAABAAAQAAAAFAABQAAAAQAEBNBNQZ0VNBAQEBEAAAAFAABQAAQAAFAUUGsBQUFBQFFABRAAFAAAAAAAFAAAAAAAUAAAAAAAAAABAAABQAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQFBAAAAAAUAeegAAAgAAAAAAAKAACgAoAKAACgAKKACgoKIAoKoAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAgAICAiCaKgICAgIgAgAKACgAAAAgAAKACqKCgoKCgAoKooAigAAAACgAAAAAAKAAAAAAAAAAAgAAAAoAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAACAAAAAAAAAAABQKBQAAAAAAAAAcIAAIACAAAAAAoAAKACgoKBAICxQAAABQAUFEUBRQAAUAAAAAAAAAAAAAAAAAAAAAAEAAAABQAAAAAAAAQAEBEEFQEBAQEBEAAAFAAAAABAAAAUAFUUFBQUFBQUBRQUAAAAAAAAAFAAAAAAAAAAAAQAAAAUAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAACggFQKBQKBQKBQKBQKBQKCUCgUCgUCgUCilBaBQKBQKBQKDjEAQAEABAAAAUAAFBQAUFBYoQFgAAAAAAAKCgogCqAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAgIggqAgICAiCAAoAAAAAAIAAACgAoCigoKCgoKCgqigAAAAAAoAAAAAAAAAACAAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgFAoJQKBUCgUCgUEoFAoFAoFAoFAoFAoFFSgUCgUCgUCgtAoFAoFAoFBzCAIACAgAAAAAKACgAoKooKCgAQAAAEABQAUFAEVRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAEQQVATQZBAQBAAAAAAAABAAAAAUAFBVFBQUFwFBQUFUAAAAUAAAAABAAAAAAAAAAAABQAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAASgUCgUCgUCgUEoFQKCUCgUEoFAoFAopQSgUCgUCgUCgUCgUCgUEoFAoFAoFBaBQKBQKBQKBQfEQBAAQEABAAUAFABQAUFUUFBQAAAAAQAAAFBQBFBVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAABAAAAAQBBBU0GdBNBAQEQAAAAAAAAQAAAAFABQVQBQawFwFBQUAFAUAUAABAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFABAAAAAAAAAAAAAAAAAAAAAAAAAQACgAUCglAoJQKBQKBQKBUCglAoJQKBQSilAoFAoFAoJQKBQKBQKBQKBQKBQKBQSgUCgtAoFAoFAoFAoFBhUARABAQEAABQAUAFABVFBQUFAAAAABAAAAAUAFEUBQAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAQAAAAEQQE0VNBNBnQQBBAAAAAAAAQAAAAFABQAVRQUFBQaABQUAAAFAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAoFAoFAoJQKBQKBQKBQSgVAoJQKBQSgUCgUCgUEoFAoJRSgUEoFAoFAoFAoFAoFAoFAoFAoJQKBQKBQKBQKBQKBQKBQWgUCglAVAEBEEABAAAAUFABQFFBQUFABQAAAQAAEABQAUAFEAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAARAFZ0E0E0GdBAEEAAABQQAAEAAAABQAAUFUUFBQUFBQUAFAABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAQCgUCgUCglAoFAoFAoFBKBQKBQKBUEoFBKBQKCUCgUUoFAoJQKBQKCUCgUCglAoFAoFAAAAAAAAAAAAAAAAAAAAAAAAABpUQAEBEEABAUAFBQFFABQUAFBQAAAAAAQAAAAFABQBAAAAAFAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAQEFQE0E0GdBEAEAFAUQABAAAQAAAUEUAFABVFBQUFBQUAFBQAAUAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAACggFAoFAoJQKBQKBQKCUCgUEoFAoFAoFAoJQKBUCgUCglAoJQKKUEoFAoFAoFAoJQKBQKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAANKgACAiCAgAAKCgKKCgAoAKACgAAAoIAAACAAAoAAKAAAAAAAAIAAAAACggKCAAAoIACgAAAAAAAAAAAAAIAAAACAgJoJoM6CIAIAKoAgACAAAgAAoAACiAAKCgqigoKCgoAKACgAAoAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAIABQKBQKBQKBQSgUCgUCglAoFAoJQKBQKBQSgUCglAoFAoFBKBUCgUCilAoFBKBQKCUCgUCglAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAoNqiAAgIggIACgAoKooAKAACgAAoAAAAAAAAICgAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAACAAAAAUCgUAAAAEBAQE0EQQEAAFUAQABAAQAAVAAAUAARQAUFABpRQUAFBQAUAFAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAoFAoFBKBQKBQKBQSgVAoFAqhQKCUCgUCglAoFAoJQKBQKglAoFBKKUCglAoFAoFAoFAoFAoFABAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAbVAEBEEBAAQFBQAVRQAUAAAFAABQAAAAAAQAAAAFAAAAAAAAAAAAAAAAAAAAAAAABAAAKBQSgUCgUCgUCgUCgUCgUCgUEBAQEQQAEAAFUAAQBAAQAVAAAAAUAAFEAUFBQFFBaC0CgtAoLQKCgAAoAAAAAAAAAAKAAAAAACAAAoAAAAAAAAAAFAAAoFBKBQKBQKBQSoFAoFAoJQKKUCgUCglAoFAoFAoJQKBQKCUCgUCgUEoFAoJQKBQSgUCgUCgUCgAAUAAAAEAAAAABAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAABQAAbVAEQQEBAAQFBQUAFUUAAAAAFAAAAAAAAAAAAAAAAAAAAABQAAAAAQAAAAAAAAAEAoFAoJQKBQKBQKBQKBQSgUCgUCgUCgUEBEAEBAABQAFABBAEAFQAAAAAAFAABQBFBQUBRQKC0CgtAoLQKC0CgUCgtAoFAoFAoFAoFAoLQAAAQCgUCgUCgUCgUCgUCgUCgUCgUCgUCoFAopQSgUCgUCglAoFAoJQKBQKBQKBQSgUCgUCgUCglAoFAoAIAAACAAAgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAAKAgAA2qAICAgIACAoKACgoAKAAAoAAAAAAAAAAAAAAAAAAUAAAAAAFABAAAAUAAEAAABAAKBQSgUCglAAAoFAoFQKoUCgVAqhQEAEBAAQAEFAUAAAAAEBAAAQAFAABQAAUAFEAUABRaBQKC0CgtBaBQKC0CgUCgUCgUCgUCgtAoFAoFAoFAoFAoFAoFAoFQKKUEoFAoLQKBQSgUCgUCgUEoFAoFAoJQKBQKCUCgUCgUCgUCgUCgUEAAAAAAAABAAAAAQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAFAQAAAAbVAEBAQEBAAUAFBQUAAAAAAAAAAABQAAQAASgUCgAAAoAAAAAAAAAAAKAAAACAAAgCgCIAAIAAAAAAAAAAAAAACAAAgAIAKAAoAAAIACAAgAAKAACgAAoAAKAIAAAUFoFBaBVFoFAoLQKBUCgUCgUCgUCgtAoFBaKUEoFAoFAoFAoFAoFAoFAoFAoFAoFBKBQKBQKBQSgUCgUCglAoFAoFBKBQKBQKBQAAAAAAAAAAAAAAAAAAQAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAUAAAAAFAAAAAAAAAAAAAAABQAAEFAAAAABpUAQEBBQEABQAURQAUAAAAAAAAAEAAABAAAAAAAAABVAAAAAAABQAAAAABAAAEBAAAQAAAEAAAAAAAAAAAAAABAAAQAUAAABQAQAAEABAAAUAFAABQAAAAAAAAAAUQBaBQKKtAoFAoFAoFAoFBaBQKBQWgUCgUCglAoFAoFAoFAoAAAAFAAoFAoFBKBQKBQKBQSgUCgUCgAgAAAAAAAAAKAAAAAAAAAACgAAgAAAIAACAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAACgAAAoAAAAAAIAAACgAAAqAAAAAAADSiAAgIAggAKoAoAKAIAAAAAAAAAgAAAIAAAAAAKAAoAAAAAAKAAAAACgAAAAgAiAgAAIAAAAAACAAAAAAAAAAAAAgAoAAAAAAAAACAAAAAAAoAAKAAAAAAAAAAAAACgAAAoAAAAAAAKAACgAAAAgAAAAAAAAAAAAAAAIAAAAACAAIACgAACAAAAAAAIKAAAAACgAAAAoAAAAAAACiAAAgAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAIKAAACgAAgAAAAAAAAKAAAAAAACgKIAggAAIACgAqgAAAAAAAAAAAACCAAIAAAAKAoAACAAAACgAAAAAoAAKoAAAgIACACIAAAAACAAAAAAAAAAAACgAIAAAAgAqgACAAAAgAAAKAAACgAAAAAAAgAAAKAAAACgAAAAAoAAAAAKAAAAAAAAAgAAAKCAAAACAAAAAgAAAAAIAAAAAAAAAAAAAACgAAAAoAAAKAACgAAoIAAACAQCKIAACAAAAAAAAAAAAAAAAAAAAgAAAKAACoAAAKAAAAAAAAAAAAAAAAAAAACgAAgAIAAAAAAAACgAKAAAACAoAgAAAIAIAACgAAACAAACgAAAAAAoAAAKACgAigCAgAIAAAIAAgAAAAAIACgACqAgAgAAAAAAAAACgACAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAgoAAAAAKAAAAAAAAAAAAAAAAAAACAAAAgAAAIAAAAAAAAAAAAAAAACgAAoAAAKAACgAoAAKCAAAAQEAgEBIBAICAAKAAAAAAAACAAAAAAACAAAAoAAAKAACgAAAAAAAAAAAAAAAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAACAAKIAAAAACoAAAAAAAAAKAAAACgAoAAAIoAgAIAAAAAggAAACgCCAKKIAKAAAAACAAAAoAAAAAIAAoIAAAAKAAAAAAAAACAKCCgAAAAAAAoAAAAAKAAAACgAAAAAAAAAAgAAAAAAAAAIAAACAAAAgAAAAAAAAAAAAAKAACgAAoAAKAACgAoAAAAAAAAIBAICQCAQEgEAgEAAgEAAAAAAAAAgEAgEAgEAgAEAgKAACgAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAACAAAAgAAAACggAAAoAAAAAAAAAAKAACgAAAAgAIAAAAAACAAAAAAAAAAoAKAAACAAAAAAoAAAAIAABAAAAAUAAAAAAAAAAAACAAAAAAQFAAAAABQAAABQFAAAAAAAAEAQAAAAAAAAAAEAABAAAAQAAAAAAAEAABQAAAAUAFAABQAAAUAAFABQAAAAAAAAQAAEgAEAgJAIBAIBAAAAIBAWAQCAQEgEAgEAgEAgEBYBAAAUAAAAAAAAAAAAAAAAAAEAABQAAfMAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAUAAAAAFAAAAAAAABAAAAAAAAAAQAAAAFAABQAAUEAAAAABQAAAAAIBASAQCAsAgAEAgAAAAAAEAgEAgEAgAEBQIBAIBAIBAABVAAAAAAABQAAAAAAAQAAAQAFBAAAAAAEAABAIBAQCAQAAACAAAgLAAAAAAUAFAABQAAAAAUAFAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAKAD5AAAAAAAAAAAAAAAAAAAAgAAAAAIAAAAAAAAAAAAAAACgAAAAAAoAAAAAAAAAIAAAAAAAAAAAAACgAoAAAAAAAEBQAAAAAAAAAIBAABQAAAAAAAACCEAgAAAqgAAAAAAAAAoAAAAAAAAAAKAAAACAAAAAAAAAAAAAAgAgBASAQCAQEgEAgEAgEAgEAgAEAgAKAACgAoAAAAAAAKAAACgAAAAAACgIAAIAAAAAAAAAAACggKAAACAAoIAAAAACgKAAIAAAAAAAgAAAAAAAAAAAAAKK+QgAAAAAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAoAAAKACAoAAAAAAAAAAAAoAAAAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIgAAAAEAgJAIABAIAACgQAAAFAABQAAAAAAAAUAAAUAAAAAAAAAAABAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAFAAfIQAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAACAQCAQCAQCAoAAAKAAAAACgAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAACAAAAAAAAAAAKAAAAAAAAAACgACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAIgAAAAAAAAAAAAoAAAAD5iAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAABAAAIBAIBAIABAAAAUAAAAAAAAAAAFAgEAgAAAAAEAgEAgAAKAAAAAAAAKoAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAIACgAAAAAAKAAAAAAAAAICggKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAgCACggAKAAACAoAAAAADAgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAICgiCgAAAAAAAAAAAAAMiAAAIAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACgAAAAAAAAAAAAAAACgAKCAoAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAICggCCggAAKAAAAAAAAAAggACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACgAAAAAAAoAAAAAoICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAIgAoICgAAAAAAAAAAAIIAAAAAgAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAoAAAAKAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACCAAAoICgAAAAAAAAAAgACAAAAgAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAoAAKKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAICgAAgCAACggKCAoAAAAAAAAgCAAIoAAAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAKAAAAACgAooAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAIAAAAgAAAoAAAAAAAAAAgACAIAoAAAAAAAAAAgAAAAAAAAIAAAAAAAAAAAAAACAAAAAoAAAAAAAAKAAAACgCgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAIAAgAAAoAAAAAAACgiAAAAIgCgAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAKAAAAAACgCgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAoAAAAAAAAAgKAAACAAAIAKAAAAAAoAAAIgAAAAggqiIKAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAKAAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAICgAAgAAAAKAAAAAAAAAyAgAAAAKAAgAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAoCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAyAAgAAACCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAoAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAACgAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKCAoAAAAAADICAoAAIAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAAIACgAgAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAoAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAMgIgAKACAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgAAAAAAAAAAAAAKCAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAMogAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAICggAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAIAAKoAAAMogAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAooAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgACAoAAIAAAAAAAAAAAAAAAAAgAKKAAAAAAAAAAAAAAAAAAAACAoIAAAAAAAgAAAAAAAAoiAAAAAAAIoAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAKAIAAgKACAoAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAIAAAAAAAAAAAAAAAAgAAAoIAoAoAAAAAAAAAAAAAAAICgAgAAAAACAAAAAAAAAAAIAAAAACggAKAAAAAAAAAAAAAAoIAAAACgAAAAIAAAAAAAgAAACAAoAAAAAoAAAAoAAAAAAAIAAAAAAACgAAAgAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAogAAAAAACAAAAAAAAAAAAAAAAAAACgAAAAAAAAKAAAAIAAAAAAAAgAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAACgAAAgAKAAAAAAAAAAgAAKAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAICggKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAACAoAAAICggACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAoAAAAIAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAgKAAAAAAAACAAAAoIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgKCAAAAAAKAACAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAKAAACAoAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKIAAACgAAAgKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAoAAAAIAAKAAACAAIAACgAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAACAAAAAAAAoAAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAgACgAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAACgAAAIAAIAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAoAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAACAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAACgAAAAIAIAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAoAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAACAAAAoAAAAAAIAAACAAAAoAAAAAAAAgAAKCAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAACgAAAAAAAIIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAKAAAAAIAAAAAAAACgACAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAgAAAAAKAAAAAAAAIAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAKAAAAACIAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAoAAAAIAAAACgAAIAAACoAgAAKAAKIAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAACAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAIAAAAAAACgAAAAAAACAAAAAAAAKAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAKAAACAoAAIAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAACgAAgAAAAACCgAAAAgAgoAAAIAoAAAAAACgAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAgAAAAAAAAAACgAAAAAAgAAAKACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAACAAACgAAAACIAAAoIAoAAAAAAAACgAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAACAAAAAAAAAAoAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAoIAAAgAAAAoAAiACgAgAAKAAAAAAAAAAAAoAAACgAAAAAgAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAACAAAAAAAAAoAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggACgAAAAgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAgAAAAoiACqAAAIgoAAICgAAAAAAAAAAAAAKAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAIAAAAAAAAAAAACgAAAgAAAAAAAAAKAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAACAAAIAAooAIgAoAAAICgAAAAAAAAAAAAAAAAKACAAAAAAAAAAoAAAAAAAAAAAAACAAAoAAAIAAAAAACgAAAAAAAAAAAAAgAAAAAAAKAACAAAAAAAAAAAAAAoAAIAAAAAAAACgAAAAAAACAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAACgAAAgAAAKCAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAIIoAIAAAAoAoAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAACgAAgAAAAAAAAAAAAAKAACAAAAAAAAAoAAAAAAAAgAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAoAAAAAIAAAAAAAgKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAoAAAIAAAAACgAAAAgKAAACAAAAAAAAoAAAAAAAAAgCAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAoAAAAAAAAAoICgAAAAAAAgAACCgAgCgAAAAAAgAAAAAAAAAAAAAAAAAAAAAACAoIAAoIAAAAAAAKCAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAKAACAAAAAAoAAAAAAAAAIAAAAAAAACgAAAAAAAACAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAACgAAAAgAAAAAAAAKAAAAAKCAAoAAAAICgAAgAAAKgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACggAAAAAAAAAoICgAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAoAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAKAAAAAAAAAIgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAKAAAAAACAoAAIACgAAIAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACggAAAKACAoAgAAAAAAAAAAAAAAAAAAAKgAKAoAAAAAAAACAAAAAAAAAAAAAAgAKAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAKAACAAAAAAAAAAAAoAAAAAAAAAIIAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAoAAAAAICgAAAAAAAAIAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACggAAAAAAAKIAAAAAAAAAAAAAAAAAAAAgKAqgAAAAAAAAgAAAIAAAAACgAAAgAAAAKAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAACAAAAAAAKAAAACAAAAAoAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAoAAAAICggKAAAAAAAAgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKCAAAAAAAAACKAAAAAAAAAAAAAAACAoIAAACqAAoAAAAIAAAACAAAAAAAoAAAIAAAAAAAACgAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAgAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgACgAAAAAAAAAAAAAIAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAAAAAAAAAAAIAAAAAACqAAAAAAAAAAAAgAAAAAAAAKAACAAAAAAAAAAAoAAAAAKAACAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAgAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAoAAAAAAAAAoACgAAAACAoICgAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAoICgAgKACAoIAAAAAAACqAAAAAAAAAAAAgAAAAAAAAKAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAIAAAAAAAAAAAgAAAAAKACAAAAAAAoAAAAAAAAAAKAAAAAAAAAAAACAAAAAoAAAAAAAAAAoAICggAACgAACoAAAAAIAAAAAAAAAAAAAAAAICgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAooAAAAAAAAAAAAgAAAAAAAKAAACAAAAAAAgKAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAIAAACggAAACAAAAAAAAAAAAAAAAAoAAAAAAAAKAAAAAAAAAAAACAAAAAAAoAAAAAAAAoICggAAAAAAAKAAAAAACAACAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACggAAAAAAAAAoAAAAAAoAAAAAAAAAgAAAAAAAKAAACAAAAAgAAAAAKAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAICggAACAAAgAAAAKAAAAAAAAACgAAAAAAoAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAgAKAAAAAAAAKAAAAACAACAAoAAAAAAAAAAAAAAAAAAAgACCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAoAAAAAAAAAoAAAAAAAAAgAAAAAAAKAACAAAAAAgAAAAAAAKAAAACgAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgAAIAAAAAAACgAAAAAAAoAAAAAKAAAAAAAAAAAAACAAAAAAAAoAAAAAAIAAAAAAAACgAAACgAAAACIAAKAAAAAAAAAAAAAACAoAAAAgACAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAoAAAAAAAAAAoAAAAAAAAAAgAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCAAAAgAAAAAAAKAAAAAAACgAAAAAoAAAAAAAAAAAAIAAAAAAAAACgAAAgAAAAAAAAAAAKAAAKAAAAAIgAAAAAAoAAAAAAAAAIAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAoAAAAAAAAAAAAAoAAAAAAAAgAAAAAAAAAAAAAAIAAAACAoAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAIAAACAAAAAAAoAAAAAAAAKAAAAAACgAAAAAAAgAAAAAAAAAAAAAAKCAAAAAAAAgAAAKAAKAoAAAAAACIAAAAAAAAKCAAoIAAAAAAAIAAAAAAAACgAAACgAAgAAAAAAAAAAAAAKCAAAAAIACgAAAgAoAAAAAAAACAAoAAAAAACgAAAACAAAAAAAAAAAAAAAgAAAAAIACgAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAIAAAAACgAAAoAAAIAACgAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAKCAoIgAAAAAqgAAAoAAAAACIAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAKCAAAoAIAAAAAAAAACgAAgAAACAAAAAACgAAAAAAAAAIAAAACgAAAAAAKAAAIAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCAAAAAAAAAAAAKAAAAAACAAAAoAAAAAAAAAAAAAAIAAAAACgAAAAAAAAACgAAiAAAAACgKAAACgAAAAIgAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAoAAAICggAAAAAAAAAAKCAAAIAAAAAAAKAAAAAAAAAAgAAAAAAKAAAAAAAoAgAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIIAAAAAAAAAAAoAAAAAAIAAAAACgAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAKACAIAAAAKAoAAAAKAAACIgAAAAAAAAAAACgAAAgAAAAoIAAAAAAoAAoAAAAAAAIAAAAAAAAAAAAAAgAAAAAAoAAAAAAAACAAAAAAAAAAAoAAAAIAoAAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACAAoAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACAAAAAAAqgACAAAAAAAIAAAAAACgAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAKACIAAAAKAoAAAAAKCAAIgAAAAAAAAAAAAAAAAAAAKAACAAAAAKAKAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAKAAAgAAAAAAAAAAAAAAAAAKACAAKAAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAIAAAAACqAAAICggAAAACAAAAAAAAoAAAAAAAAIAACAAAAoAAAAKAAAAAAAAKAAAAgAAAKAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAoAAIAAAAAAooAAAAAAAAAAAAIAAAAAAAAAAAgAAAAAAoAACAAAAAAAAAAAAAAAAAAAAAAAKAAIAACgAAAAAAAgAAAAAAAAAAAAAAKAAAAAAgKAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAIAAAIAACqAAAAAAAAIAAAgAAAAAAAAKAAAAAAACAAAgAAAAKAAAAAAAACgAAAoqAAAAAAAAAAoAAAAIAAiAAAAAAAAAAAAAAAAAAAAoIAACgAgACgCgAAAAAAAAAAAgAAAAAAAAAACAAAACgAAAIAAAAAAAAAAAAAAAAAAAAAAAAoAgAAAAKAAAAAAACAAAAAAAAAAAAAoAAAACAAAAAoAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAIAAgAAAAAAAAKAAAAAAACAAAgAAAAKAAAAAAAAACgAAooACAAAAAoAAAAAAAIAAiAAAAAAAAAAAAAoAAAAIAACgAAgAAAACigAAIAAAAAAAAAIAAAAAAAoAAIAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAAAoAAAAAAAIAAAAAAAAAAAACgAAIAAAAAAAACgAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAgACAAAAAAAoAAoAAAAIAgAAAIAAACgAAAAAAAAAoAAKKAAAAAAAAAAAAAAAgACIAAAAAAAAAAAACgAAAgAAAAAAAAAAAAKAAAAACAoICggAAAAAAAAAAAAAKAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAAAoAAAAAAAAIAAACAAAoAAAAKAAgAAAAAAAAAAAKAAAACAoAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAAgAAAAKAAAAAAAAAAAAAAAAAIgAAAKAAKAAAAAACIAAACAAAAAAAAAAAAoAAKAAKoAAAAAAAAAAAAAAIAAiAAAAAAAAAAAAoAICggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAAoAAAACAAAoAgAAIAAACgAAAoCAACgAgAAAAAAACgAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAiAAAAgAAAAAAAAAAKAACgAACqAAAAAAAAAAAAACAAIgAAAAAAAAAAAKAAAACAAAAAAAAAAAAAAoIAAAAAgAAKAAAAAAAAAAAKAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAoAAAAACAAAAAogAAIAAACgAAAoCAAAAAAAAAAAAAoAAAAAAAAAAAAAAICgAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAIIAAAAgAAAAAAAAAKAAAACgACgAKAAAAAAAAAACAAAIgAAAAAAAAAAAKAAAAAACAAAAAAAAAAAoIAAAAgAAAAAAKAAAAAAAAKAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAKIAAACAoAAAAKgAAAAAAAAAAAAKAAIAACgAAAAAAAAAAICgAAAAAAACgAAAAgAAAAAAAAAAAAAgKAAAAAAAAoAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAggAAAACAAAAAAoAAAAAAAKAAKAAAAoAAAAAAAAIAAAiAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAKAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAgCgAAAAAACgIAAAAAAAAAAAIoAAAAAAAAAoAAAACAoICgAAAAAAAAAACgAAgAAAAAAAAAAAAIACgAAAAAAoAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAgAgAAAACAAAAAoAAAAAAAAAKAAKAAAAAoAAAAAAIAAAiAAAAAAAAAAAoAAAAAICgAgAAAAAAAAAAAACAAAAAAAAAAoAAAAqAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAAAACCgAAAAAAAAAgAACgAAACAoAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAKAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAIAIAAAAAAgAAKAAAAKCAAAAAAAqgAAAAAAoAAAAAAIAAiAoIAAAAAAACgAAAAAgKAAACAAAAAAIAAACgAAgAAAAAAAKAAKAAAgAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCgAgAoAAAAAAAAIAAAAAAAogAAAAAKAACoAAAAACgACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAIIAAAAAAAAACgAAAAAAAAAAAAKAAAAAAACgAAAAAgCAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAKKCAAIAAAAACgCgAAAAAIACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAIAoAAAAqAAACgAAAAKAIAAAAAACgAAIAAAACgAAAAAAAAAAAAAAAAAAAgAKKgKAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAgAKAAAAAAAAAoAAIAAAAAAACgAAAAAAAoAAAAAIgAAAAAAAAAAAAAAAAAACAAAAAAAIAAAACgCgAAgCAAAooAAAAAAACAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAACAAAAAAAoAAAKAAAAoAgAAAAAAAAKgAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAgAAAAAAKAAAAAAACgAAAAiAAAAAAAAAAAAIACgAgAAAAAAAACAAAAAoAoAICggKCAoAAAAAAAAACAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAACAAoAAAAAAAACgAAAAAAAAAAgoAAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAIAAAAAAAACgAAAAoAAAAIgAAAAAAAAAAAACAoIAAAAAAAAAgAAAAKAAKAAAAAAAAAAAAAAAAgAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACACgAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAoAAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAgAAAAAAAAAAKAAAACgAAAiAAAAAAAAAAAAIACggAAAAAAACAAAAAoAoAAAAAAAAAAAAAACAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAKAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgCggAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAoIAAAAAAAAAAAAAACgAAAoAAAIgAAAAAAAAAAAAACAAAAAAAAAIAAAAKoAAgKAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAACgCAAAAAqAAAAACgAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAKAAACIAAAAAAAAAAAAgAAAAAAAAAACAACgAiigAAAAAAAAAIAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACiAAAAAAqAAAAACgAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAgAAgAAKoAAAAAAAAAAAAAAAAAAAAAAAKAAAACgAAiAAACAAoAAAAAgAAAAAAAAAAACACggKAAoAAAAAAAIAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAACiAAAAAAIKAAACgAAAAAAAAKAAAAAAAAAICgAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAACAACAAAAAAqgAAAAAAAAAAAAAAAAAAAAAAoAAAAAKADKAAICgAgAAACgAAAAAAAAAAAAgAAAAAoAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAgAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigAAAAgoAAAAKAAAAAAAAoAAAAAAgAAAAAAKAAAAAAggKAAAAAAAAAAAAAAAAAoAAAAAAAAAAgAAAAAAAgCAAAAAoAoCgAAAAAAAAAAAAAAAAAAAAoAAAAAAAKDKAIAAAAAAAAAAoAAAAAAAIAAAAAAAAKAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAIAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAIAKAAAAAACgAAAAAKAAAAIAAAAAAAAAAAAAAAAAgAAAAKCACgAAAAAAAAAKAAAAAAAAIAAAAAIAAgAAAAAAAAKKAoAAAAAAAAAAAAAAAAAAAKAAAAAAAACIAAgAAAAAAAAAACgAgAAAAAAAAoICgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACggAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAKAAAAAoAAAgAAAAIAAACgAAAAAAAAAIAACgAAgAoAAAAAAAAgKAKAAAAAAIAAAACCAAAAAAAAAAAKKAAoAAAAAAAAAAAAAAAAAKAAAAAAAAACIAAAgAAAAAAAAAAAAAAAAAKACAoAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACoACgAAACAAAgAAAAgAACigAAAAAAACAoAAAIAKAAAAAIAACgACgAAAACAAAAAggAAAACAAAoAAAqgAAoAAAAAAAAAAAAAAAAAKAAAAAAAAACIAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIKAAoAAgAAAIAAAIAAAAAAAooAAAAAgKAAACAACgACAAAAAAAoAoAAAgAAAAAIIAAAAgAAAKAAACigAKAAAAAAAAAAAAAAAACgAAAAAAAAAAiAAAAIAAAAAAAAAAAACggKAAAAAAAAAgAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAoACACgAAKIAAACAACAIAACgAAAAoAoAAAgAKAAACACiAoIAAAACgAAACiAAAAAAACIKAAAACAAAAAAAqgAoAAAAAAAAAAAAAAAAAKAAAAAAAAAACIAAAAAAAgKCAAAoICgAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAgCgAAACoAAKAAAogAAAIAACCAAAAKAAACgCgAAAAAAACAACiAoAAAAAAICgCggggqgAAAAAAIAAAAAAIAACgAKACgAAAAoIAAAAAAAAAACgAAAAAAAAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAoAAAAAAIAAoAAIKAAACgAAigAACAAAggAAACgAAoAAoAAAAAAAAAgCAKAKAAAAAAAACAqAKAAAAAAAAAIAAAAAAAACgAAoAAAKAACAAAAAAAAAAAoAAAAACAoICgCIAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIACgAAAAAAgAAAAKAAACgAgACgACAAACIAAACgAAoAoAAAAAAAAAAiAAAKKAgAAKAAAAAAAoAAAAAgAAAAIAAAAAAACgAAoAAKAAACAAAAAAAAAAAAoAAAAAAACAoiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoIAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAoAAAAAAIAAAACgAAAoAIAAAoAAgAAIIAAAoAAKKAAAAAAAAgKAIIAAAAoAAAAACgAAAAAKAAAAAAIAAACAAAAAAAoAAKAACgAAAgAAAAAAAAAAAAKAAAAAgAAKIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAKAIAAAIgAKAAAKAoAAAAAIAAAAIqAAAKAAAAAAAoAAAAACgAAAAgAAAigACAAAAAoAAKAAACgAAAgAAAAAIACgAAAAAoAACAAAAoiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAogAAAAiCqIACgAAAAAAAAAAAgCoAAoAAAAAAACgAAAAAAAKCAAICgAIAoAAAgAKAAACgAAAoAAIAAAAACAAAAAoAAAAKAAAgAKCCAAAAAAAgAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAgAAAAKAAAAAAAAAAAACgAAAgAAAAAAKACAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiAAAACAoAAAAAAAAAAAAAIAqAAKAAAAAAAAoAAAAAACggAAACAoACKAAAAAAAAKAAAACgAAgAAAAIAAAAAACgAAAAoAACAACAAAAAgAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAACgAAAAAAgAKCAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAACgAAAAgAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKIAAAAAAAAAAAAAAAAAAIAIKAKAAAAAAAAoAAAAAAAAAAAAAgKCACqgAgKAAAAoAAAAAAAAAAAAAIAAAAAACgAAAAoAAAAAIgAAAAgAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAAAAAoAAAIAAAAAAogAAAACACgAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAogAAAAAAAAAAAAAAAAAggoAoAAAAAACgAAAAAAAAAAAAAACAoIAAKAoCAAAoAAAAAAAAAAAAAAIAAAACgAAAAAAoAAAAAIgAAAgAAAAAAKAAAAAAAAAAAAACAAAAAgAKAAAACAAAAAAAAAAoAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAACgAAgAAAAIoAAAAAAAIAKAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAACiAAAAAAAAAAAAAAAAAqAICgAAKAAAAAAAAAAAAAICgAAAgAAAKCAACqAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAACgAAAAiAAACAAAAAAAoAAAAAAAAAAAAAIAAACAAAAAoAAIAAAAAAAACgAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAKACAAAAAAigACAAAAoCACgAAAAAAAAAAAAAAAgACgAAAAAAgAAAoAAAAAAAACiAAAAAAAAAAAAAAAqAAAACgAAAAAAAAAAAAAAAAAAAACAAAoAICioCgAAAIAACgAAAAICggKAAAAAAAAAAAAAAAKAAAACIAAIAAAAAAACgAAAAAAAAAAAAAgAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAgAAAKAgAoAAAAAAAAAAAAAAIAoAAAgAAKAAgAAAoAAAAAAAACiAAAAAAAAAAAAAqAAAAACgAAAAAAAAAAAAAACAAAAoIACggAKCAAoAoAAAgAAAAAKAAAgAAAKAAAAAAAAAAAAAAKAAAACIAIAAAAAAACgAAAAAAAAAAAAAAAgAAIAAAAAAAAACgAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAKIACAAAAoCACgAAAAAAAAAAAAAgCgACAAAAAAoACAACgAAAAAAAAAigAAAAgqgAAAgAAAAAAAoAAAAAAAAAAAAAAAAgKAACAAAAAAoAAAAAAogAAAAAAAKAAAgAAAAKAAAAAAAAAAAAAAKAADKAAAAAAAACgAAAAAAAAAAAAAAAAgAAAIAAAAAAACgAAAAAAAAAAAAAAAAAoIAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAICgAKAAAAAACAAACKAAIAACgIAKAAAAAAAAAAAACAKAIAAAAAAAACgIAKAAAAAAAAAAACKACCgAAAAAAAAAAAAAAoAAAAAAAAAAAIIKAAAAqoAAgAAKCAoICgAAACiAAAAAAAAoACAAAAAAAAAAoAAAAAAAAAAAAAgACAAAAACgAAAAAAAAAAAAAAAAAgAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAACAAoAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAigACAoCAACgAAAAAAAAAAAAgCiAAAAAAAAAAoCACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAqAAAAAoACoAgAAAAKAAAAAAigAAAACgAAAIAAAAAAAAAAACgAAAAAAAAAACAAAIAAKAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAKAAAACgAAAAgAAAKAAACAAAAAAAAAAAAAAAoAAAAAAAAIAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAigAgAAAoAAAAAAAAAAAAIAAogAAAAAAAAKAAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAKgCAAACqAAACoAAgAAKAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAoIACgAgAAAigAAgAoAAAAAAAAAICgAAAAAAAAAgAAAAIAAAAACgAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAgAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAKAAAACCggAAIAAAAACgAAAAAAAAAAAAgACiAAAAAAAAoACACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAoggAAAAAKAoAAKgCAoAICgAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAigAAAgoAAAAAAAAAIACgAAAAAAAAgAAAAIAAAACgAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAgAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAIAAoAAAIKCAAAAgAAAAKAAAAAAAAAAAACAAKIAAAAACgAAIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAIAqAAIAAAACigKAAAgAoAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAioCgACCgAAAAAAAAAAAAAAAAAAAAgAAAAAIAACgAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAgAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAIAoAAAIAAAAIAAACgAAAAAAAAAAAAAgAAIAoAAoACAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAACAKAgCAAgAAKACigKAAAgAoAAAAAAAAAAACggKCAAAAAAAAAAAAAAAAAAAAAAACgAyqAAogAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAKACAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAIACgAAAAAAAAAAAAAAgAAAIoAoACAAAACgAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAiAAAgAAAAKACigKAAgAoAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAoAAMqgAigAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAgAAAAAACggAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAACIACAAAAAAAoAKKAoACCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAMiAAoAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACAAAAAAKACAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCgAACACAIAACAAAAoAKCigKACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADIgKAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAACgAACgAIAAAAAIAAAAAAAAAAAAAAAAAAAAAACAAAAAAKCAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACgAACAACAAIACAAAAAoAKKoKAAgoAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAoAAAAAMgAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgoAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAoAAgAAAAAiAAAgAAAAAKCgooCgIKAAACAAAAoAAAAAIAAAAACgAAAAAAAAAAAAoAAAAAMgAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAAAKAAgAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAgAACiAAAAAAAACIAACAAAgKACgoAqgoACCgAgAAAAAKAAACAAAAAAAAoAAAAAAAAAAAKAAAAADIAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAKAAAAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAACgAAgAAAAAAAAIoAAAIKAACAAAKIAAAAAAACACAAAAIAAAACgCqCgoACAAAAAAAAACgAAAgAAAAAAKAAAAAAAAAAAACgAAAAgAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAACgAAAAAAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAoAAAAIAAAAAAACKAAAACAAAAogAAAAAAAAIAIAAAAgAAAAKCgAooCgAIAAAAAAAAKAAACAAAAKCACgAAAAAAAAAAAAAAoAAIAAAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAoAAAIAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAKACAAAAAAAAAoAAAIAAAAAAACAKAAAAAAAIAAAAAAAACAACAAAAAAICgAAoAqgAoAAACAAAAAACgAAAgAAAAAAAKAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAgAAAAAAKAAAAAAAAAAAAAACAAAKAACACgAAAAoIAAAAAAAAAAAAAAAAAAAAAACKAAAAAIAAAAAAAAAACAAAACAAAAAAKACigAAKAAAAAgAAAAoAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAKIAACgIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAKAAIAAAAAAAAAAACAAAAAAAoAAAKAAAAAAAAACgIAAAKAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAKAAAAIAAAACoAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAoCAACgAAgAAAACggAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAIAAoAAAAgAAAAAAKgAAoAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAgAAAIoAAAAAAAAAAAAAAAAoAAAAAAAAIIAAACqACgIAAKCAAAAAKAAACACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAgACgCAAAAAAAAAAAqAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAACAAAAAgCgAAAAAAAAAACgAAAAoIAACACAAAAAqgAoCAAAAAAAAoAAAAIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAACAKAIAACAAAoAAAACCgAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAgAAAAAIAoAAAAAAAAoACAACgKCCKAAIIAgAKAKAoAKgAAAAAAigAACgAIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAKACAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAIAoAgIAAIAAACqAACoAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAIAAAACAKAAAAAKgAAAAoAAAAIAogAgCAAoAoCgAqAAAACAKAAAAKAAgAoAAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAgACiAgAiAAoAAKKAIKAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAKACAAAAAgAAAAIAAACAAAAoAAAAAKAAAAACAAKIAAIgqiAoCgAAqAACAKAAAAAKAAgAoAAAAAAAAAAAKADIAAAKAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAIAogIAIgAAKACigKgAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAACgAgAAAAAIAAAACAAAAAAAAAAAAAoAAAAAAIAAogAAAAAAKAAAAAAAAAAACgAIAKAAAAAAAAAAACgAgIACgAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCiAAggCAAoAKKAqAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAACAAAAAAAAAAAoAAAAAAAIAACKAAAAAAKAAAAAAAAAAACgIAKAAAAAAAAAAACgAgAAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAACAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAogIAAIAAAoogoAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAACAKAAAAAKAAAAAAAAAACgIAKAAAAAAAAAAACgAgAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACKAAAICiAoCoAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAACAKAAAAAAAAAAAAKAACgIAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAIAAACgAAAAAAAAAAAoAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAigAgAoAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACKAAAAAAAAAAAAAKAACgIAKAAAAAAAAAAAAAAACgAAgAAIAAAAAAAAAAAAAAAACgAAAAAAAAAAAoAAAIAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAoAAAAAAIAAAAAAAAAAAACAAAAAAAAigAAAAAAAAAAAACgAAoAKgAAAAAAAAAAAAAAAoAAIAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAoAAAAAAAIAAAAAAAAAACAAAAAAAAAAKIAAAAAAAAAAAAACgAoCCgAAAAAAAAAAAiigIKAACAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAIAAAoAAIAAAAACgAACAAAAAggAKoAKACgAIKAAAAAAAAAACKAKAgAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAgAAAAAAIAAoAAAAIKAAACAAAAKAIAACCAAAqgAoAKAAgoAAAAAIAAAAoAAoCAAAAAAACAoAAAAAIAAAAAACgAAAAAAAAAAgAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAIAoAAAAoCAAAAAACAAAAigACCAKKAAoAKAAAgoAAIAAAAACKKAACoAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAgAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAACAAAoAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAKAACAAAAACggAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAgCgAAACgAIKAACAAAAgAAIoAAAAAAoAAKAAAgAAAAAAAAiigAIAKAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAACAAAAAoAAAAAAAAAKAACAAAAAAAAAAAAgCgCgAgAAAAAKAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAACAKAAKAACoAAAAIAAACAAAKIAACgAAAAoAACAAAAAAAACAoAAAAKAAAAAAAAAAAAAAAAAAACAAAoAAAAAIAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAoAAAAAAAAAAAAoCAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAgCgACgAAoCAAAACAAAAAgACgAAAAACgAAAIAAAAIAACgAAAAAAAoAAAAAAAAAAAAAAAAAIAAAACgAAAAgAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAgAACgAAAAAAACAAAoAAKAgKAAIAAAAAAgoAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAigACgAAqAAAAACAAAAAAAAAAKAAAAAAACAAAACAAAoAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAoAAAIAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAKCAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAogAAAAAAAAAAAAKAAAAAAAACAoAACCgAAAAAAAAAAAAAAAAAAAAoAAAIAAAAACAKKAAAgAoAAAAIAAAAAAAAAAAAAoAICggAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAACgAAAgAAAAAAAAAAAAAAAAKACAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAACAAAAAAAAAAAAAoAAAAKAAACAAAAAAAAAAAAAAgKAACAAKAAACAAAAAACgAAAAAAAAAAAAgAAAAAAIoAAAAAAAAAAAAAAoAAAAIAAAAACgAqAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAICgAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9k=",skyBoxUp:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////////////////////////////////////////////////////////////////////////wAARCAgACAADAREAAhEBAxEB/8QAGQABAQADAQAAAAAAAAAAAAAAAAECBAUD/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APJtkAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAQBQAAAFAAAAAABQAAAAAAAAAAAAAAAAAAAABEAAABAFAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAGIAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAqAAKAAAAoAAAAAKAAAAAAAAAAAAAAAAAAAAAIAgAAIAoAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAxAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFQABQAAAFAAAABQAAAAAAAAAAAAAAAAAAAAABEAAABAFAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAGIAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAqAAAKAAAoAAAAKAAAAAAAAAAAAAAAAAAAAAAIgAAAIAoAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAxAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAQAABQAAFAABQAAAAAAAAAAAAAAAAAAAAAABEAAABAFAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAGIAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAoCAAKAAoAAKAAAAAAAAAAAAAAAAAAAAAAAIgAAAIAoAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAxAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFARQAAFAABQAAAAAAAAAAAAAAAAAAAAAABEAAABAFAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAGIAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAqKAAAoAAAKAAAAAAAAAAAAAAAAAAAAACCAAAAIAoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAxAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAVUAAAFAAABQAAAAAAAAAAAAAAAAAAAAAQQAABAAFAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAGIAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAACiCgAAAoAAAAKAAAAAAAAAAAAAAAAAAAACACAAIAoAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAxAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAUAAQUAAAAFAAAABQAAAAAAAAAAAAAAAAAAAQAQABAFAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAFBgAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAoAAAgoAAAAAKAAACgAAAAAAAAAAAAAAAAAAgAAgCAAKAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKDAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAABQAAABABQAAAAUAAAFAAAAAAAAAAAAAAAAAABABAAEAAUAAAAQAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAUGAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgACgAAAAACCgAAAAoAAAKAAAAAAAAAAAAAAAAACAACAIAAAoAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoMAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFAAAAAAAAAEFAAABQAAAUAAAAAAAAAAAAAAAAEAAAEAQAABQAABAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABiAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAoAICggAKAIKAAACgAAAoAAAAAAAAAAAAAAAIAAAIAAgAACgAACAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAADEAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFUQFBAAAUABUAAAAFAAAABQAAAAAAAAAAAAAQAAAAQABAAAFAAEAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAGIAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgCggAKAAIKAAAACgAAAAAoAAAAAAAAAAAIAAAAAIAAgAACgACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAADEAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBAAAAAAAAAUEABQQFBFFABAUAAQUAAAAFAAAAAABQAAAAAAAAAQAAAAAAAQBAAFAAAEAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAGIAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAoAAIACggAKCAoIooAAAAAgoAAAAKAAAAAAACgAAAAAAgAAAAAAAAAiAAKAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAEABQAAAQFAABAAUEBQAQFBFFAAAAAAEFAAAABQAAAAAAUAAAAAEAAAAAAAAAEQAABQAABAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABiAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAKAAACAoAICgAgKACAoIooAAAAAAgoAAAAKAAAAAACgAAAgAAAAAAAAAAIAIAKAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAMQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEAAAAABQAQFAAABAAUAAAAAEBQAQFABAUBQAAAAAAEFAAABQAAAAAAUAAAEAAAAAAAAAABABABQAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAABiAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAKACAAoAAAICgAAgKACAoAIACggKAoAAAAACACgAAAoAAAAAAKAACAAAAAAAAAAgAAgAAoAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAxAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAABQAAAAAAAAAAAAAAFABAAAAAUAEABQAAAAAAAAAAQFABAAUEBQFEBQAAABABQAAAUAAAAAAFABAAAAAAAAAAQAAAQAAUAAAAAQAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAYgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAACggAAAAKCAAAoAAAAAAICgAgAKACAAoICgiigAAAACCgAAAAoAAAAAAAAAAAAAAAAAIAAAIAAKAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAMQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAUAAAABQQAAAAAAAAAAAAAAAAAAAAAAFAABAUAEBQAQAFABAUEBQRQABQAABABQAAAAUAAAAAAAAAAAAAAAAAEAAEAAFAAAAAAEAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAGIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAACKKgAAAAAAAAAAAAAAAAAAAAAAAKAACAoAIACggAKCAAoIAAooIACgACACgAAAAoAAAAAAAAAAAAAAAAAIAAIAAKAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAMQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFAAAFQQAAAAAAAAAAAFBFAABABQAAAAAAAAAAAAAAAAAAAAAFAABAUAEABQQFABAUEBQRQABQAAABABQAAAAUAAAAAAAAAAAAAAAAEAEAAAFAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAGIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigACoAAAIoIAAAAAAAAACgAAAgAAoAAAAACggAAAAAAAAAAAAAKACAAoAICgAgKCAoAICgiigAAAAACACgAAAAoAAAAAAAAAAAAAAAAIAIAAKAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAMQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAUEUAAEAAAAAAABQAAAAAAQAUAAAABQAQAAAAAAAAAAAAAFABAAAAAUEBQAAAQFBFFBAUAAAAAQAUAAAAFAAAAAAAAAAAAAAABAABABQAAAAAABAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABiAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAoAAAAIAAAAAACgAAAAAAgoAAAAAACgAgAAAAAAAAAAAAAKACAAoICgAAAAAAAAKAAAAAAAAAgoAAAAKAAAAAAAAAAAAAACAAACACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAxAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAUAAAAAAEAAAABQAAAAAAQAAUAAAAAABQAQAAAAAAAAAAAAFAABAAUEBQAAAAAQFBAVQAAAAAAAAEFAAAAABQAAAAAAAAAAAAAQAAAQAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAGIAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAACgAAAAAAAAgAAKAAAAAACAAAAACgAAAAAKACAAAAAAAAoAIACgAAgAKCAoAAAAAAAACgAAAAAAAAIAKAAAAACgAAAAAAAAAAAAgAAAgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAMQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAFAAAAAAAABAAAUAAAAAEAAAAAAAAFAAAAAUEAAAAAAABQAAAAAAAQAFBAUAAAAAAAABQAAAAAAAAEAFAAAAABQAAAAAAAAAAAAQAAQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAGIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAoAAAAAAAAAICgAiigAAAAAAIACgAgKAAAAAAAAoAAAAAAAAACIoAoAAAACgAAAAAAAAAAAgAAAgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAUAAAAEBQAAAAAAAAAAAAAAAAAAAAAAQAAAAAUAAAEBQAAAQFBFAFAAAAAAAQAFBAUAAAAAAAABRAUEBQAAAABEAUUAAAAAABQAAAAAAAAQAAAAQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAKAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAAKACAAAoAIACgigCgAAAAAIACggAKAAAAAAAAoAAAAAAAAAggAoAoAAAAAAAAAAAAAAAAAIAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAFQAAFAAAAEABQAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAUAEAAABQRQQFAFAAAAAAQAFBAAUAEBQAAAARRQQFBAUAAAAAAEEFAFAAAAAAAAAAAAAAABAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIKAAAAAoAAAAgAKAAAAAAAAAAAAAAAAACAAoAAAAIAAAAAKACAAAoIoICgACgAAAAAICgAgKAACAoICggKAogKCAoICgAAAACAIoAoAAAAAAAAAAAAAIAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABBQAAAAAAFAAAAEBQAAAAAAAAAAAAAAAAAAAQFAAAAABAAAAAAAAAAUEABQBQAEBQAAQFABAUAAEBQAAAARRQQFBAUEBQAAAAAQQAUUAAAAAAAAEAAAAFAAAAEABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAIAAAIKAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAACAAAoAIAACggAKAAKACAoAAAAAAAACAoAAAAACiAoICgAAAAAACIAAAACgAAAKAIAKAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKDzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAEUAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAUEABQAABQQAFBAUAEBQAAEBQAQFBAUEUUEBQQFBAUAAAAAARAUAAAAAUEBQAEAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABQAAeYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAigAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACggAAKAAKCAAoIACggAKAAgKAAAAAAAoAAAAAAAAAAgAAAiggAKAAKAAgAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAADzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAEUAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAUAAAAAAAAAAAUABAUAAAAEBQRRQQFBAUAAAAEBQQAAARQQUEUAUABAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAUAAAAAHmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAIAAoAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAoIACgICgAAAAAAAKAAAAAAAAAICggAAiggoCiAoCAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAPMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAQAABQAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVBFFAAAAAQFBFFBAUAAAAEBQQAAAAARRUAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAeYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAigAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqCKKAAAAAgKAAoAAAAAAAAAgKCAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAPMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAFEAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQBQAAAAEBQQFUQFAAEQVQQFBAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAHmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAACiAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAoIACgAICgAKAAAgKCAqAoIAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAA8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQFAAAAAFAQRRQQUABQQAFQRRUBQQAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAB5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAKgigCggqoIoICggKCCgAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAADzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAUAAAAAAAAAABQAAAAFQRRUAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAeYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAKAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAgKAAAoAgKCAoIKCKKgAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAADzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAUAAEBQAAFAEBQQFABAUAVAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAHmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAIAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgKCAoAIKCAoAAACgAgAAKCAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAPMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABAUEABQAQFBBQRQBQAEABQAQAAFABAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAHmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAIAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAgKAAAKAgKAACAAAoAIAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAA8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAUABAAUAAEAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAeYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAACgAAAAAAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAICgAACgIACgAAgAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAADAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAUAEAAAAAQAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAABAUAAAEFAUAAAEAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAQFAAAAAFAAAAAAAAAAAAAAAAAAABgAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAIAKogKAAgAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAACAoAAAAAoAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAABAAUAAAVBFAFQAQVQAQFBAUAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAABAUAEBQABQAAAAAAAAAAEABQQAFBAUAAEGCgAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAICgAAgAKACCggoCggAAAAAKAAAAAAACAoICgAAAAAACgAAAAAAAAAAAAAAAAICgAgKAKgKAAAAAAAACAAAAAAAAAAoIAAMFAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAEAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAQAFABBQRVEAAAAAAAAAFAAAAABAAAAAAUAAAAUAAAAAAAAAAAAAAAAAAABAUEFAUEBQAAAAAAQAAAAAAAAAAAAAAYKAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAIAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAgKAACAoCiAAAAAAAAAAAACgAAAgKCAoIACggKCCgKCAoICgAgKCAAoAAAAAAAAIACioAAACgAAAAAgAAAAAAAAAAAAAAAxUAAAAAAAAAQAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAABAAAAAAEAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFEABQQAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAFAAAAABAAUVAAAAAAAUEBQQAAAAAAAAAAAAAAAAYgAAAAAAAAAAAAAgACgAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAACAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAACAoIAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAACggAAoAAAAAACggAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAIAAAAACAAKAAAAIAAAAAAAAAAAAAAAAACAAAAAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAIAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAoiAAAAAKAAAAACAAAIAAAACAAKAAIAAAAAAAAAAAAAAAACAAAAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAIAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAgAAAAIAAIgACgACAAAAAAAAAAAAAAAgAAAAACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAACAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAooAAAAAAAAAACAAAAgAAAIAACCACgCAAAAAAAAACggACAAAAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAIAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIUAAAAAAAABAAAAQAAAEAABAAAQAQUAQAUAAAAAAEBQQBBQQAAAARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBRVAAAABAAAAAQAAAAEAABAAAQAAEAEFUBAAAAAAAAAABEFBAAAAABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAABAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGQoAAAAAACAAAAgAAAIAAACAAgAAIAAoAgAAAAAAAAAIICgAgAAAgAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAgAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAADIUAAAAAABAAAQAAAAEAAABAAQAAEAAAUQAAAAAAAAAEAAAEAAAEAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAEAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAZCgAAAAAIAACAAAAgAAAAIAACAAAgACgCAAAAAAAAAAgAAAgAAgAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAgCgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAADIUAAABAAAAQAAAEAAAABAAAAQAAEAAUQAAAAAAAAAAEAAAEAAEAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEAUAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAUUAAAAAABAAAAQAAAAAEAABAAAQAABRAAAAAAAAAAAQAAAQAAAQBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAARQAAAAAABQAAAQAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAFFAAAAAAAQAAAEAAAABAAAAQAAEAAAUAQAAAAAAAAAEAAAEAAAEAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAEUAAAAAAUEBQAAAAAAAAAAQBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAFFAAAAAAQAAAAAEAAABAAAAQAAAEAAAUQAAAAAAAAAEAAAQFQAAQABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAARQAAABQQFAAAAAAAAAAAUAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUUAAAAABAAAAAAAQAAAEAABAAAAQAABQBAAAAAAAAAQAABAAVABAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAUQAAAAFAAAAAAAAAAUAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAUUAAAAABAAAAAAAQAAAEAAABAAAAQAABQBAAAAAAAAAQABAAAVBAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAUAAQAFAAAAAAAAAAUAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUUAAAAABAAAAAAAQAAAEAAABAAAAAQAAABRAAAAAAAAQABAAAAEAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAEABQAAAAAAAAAAFAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFFAAAAQAAAAAAAEAAAABAAAAQAAAAAEAAAAUQAAAAAAAEAQAAAABAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAABQAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAEAAAABAAAAAQAAAAAAEAAABFAAAAAAAEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAABAAAAAAQAAAAEAAAAAAAABAAAARQAAAAAABAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAUQAAABAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAABAAAAAAQAAAAAEAAAAAAAAABAAAAARQAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAQAAAAAEAAAAAAAAAABAAAAQBQAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQAAAAAAAAAAAEAAAAAAABAAAAAAAAAAAQAAAEAUAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAEBQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQAAAAAAAAAAAEAAAAAAAAAAAAAABAAAAAQAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAUAAAAAAAAAAFAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFAAAAAAAAAAAAAQAAAAAAAAAAAAAAEAAABAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUAAAAAAAAAAAABAAAAAAAAAAAAAAAQAAAAEAAABAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAYigAAAAAAAAAAAAAIAAAAAAAAAAAAAACAAAAAgAAAIAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAADAUABQAAAAAAAAAAAQAAAAAAAAAAAAAAEAAAABAAAAQAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAGAAAoAAACgAAAAAgAAAAAAAAAAAAAAAAAIAAACAAAAgAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAICgAKAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAACgAAAAAAAAAAAwAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAABAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAQAAAFUAAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAFAAAAAAAAAAAAAABgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAACAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAgAAKoAAAAAAAAAAAKAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAKAAAAAAAAAAAAAAAAAADzBQAABQAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABAAAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAEAAAAUAUAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAABAAAABAAAAAAAFAAAAAAAAAAAAAAAAAAAAB5gAAoAAoAAAAAAAAAAAAAAAAAAAAAAAAACAAAAgAAIAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAAACAAAKAKAAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAgAACgAAAAAAAAAAAAAAAAAAAAAA8wAAAAUUAAAAAAAAAAAAAAAAAAAAAAAAAABAAAQAAEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAFAFAAAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAHmoIAAAAqgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAIAACAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAgACgACgAAAAAAAAAAigAAAAAACgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAPNQAQAABQAFAAAAAAAAAAAAAAAAAAAAAAAAABAAAQAAEAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAFAAFAAAAAAAAAABFAAAAAAAAAFAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAEBQQAAAAAAAAAAAAAAAAAAAAAB5KKAAAgACgAKAAAAAAAAAAAAAAAAAAAAAAAACAAAgAAIAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAACAAKAAKAAAAAAAAAAogAAAAAAAAAAKoAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAADyUAAUABAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAEAABAAAQAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAAAAAAAAEAAAUAAUAAAAAAAABRAAAAAAAAAAAAVQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAB5KAAAAKAgACgAAAAAAAAAAKAAAAAAAAAAAAAACAAAgAAAIAAAAAAAAAACAAAoAAAAIAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAAAICggACgAAAAACgAAAAiiggAAAAAAAAAACigAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAA8lAAAAAAFQABQAAAAAAAAAAAFAAAAAAAAAAAABAAAAQAAEAAAAAAAAABAAAAUAAAAAAAAEAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAAAAAAAAEAAAAUAAAAAAAUABQBAAAAAAAAAAAAAFFAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAB5KAAAAAAAAKgCgAAAAAAAAAAAAKAAAAAAAAAAACAAAAgAAIAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAAACAAAAAAKAAAAAAAAACiggAAAAAAAAAAAACgCgAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAoAAAAPFQAAAAAAAAAARQAAAAAAFAAAAAABQAAAAAAAAAQAAAEAAABAAAAAAAAAQAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAQAAAAAABQAAAAAAAAAUUAEAAAAAAAAAAAUAUAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAUAEAUAUEAAAAAAAeCgAACgAAAAAACgAACAAAAAACgAAAAAAoAAAAAAIAAAACAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAACAAAAAAAAAKAAAAAAAAACigAAAgAAAAAAAACgACgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAACAAAAPBQAAAAAABQAAAABQAAABAAAAAABQAAAAAAAAAAAAAAAAQAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAQAAAAAAAAABQAAAAAAAAABVAAAAEAAAAAAAAUAAUAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAQB4KAAAAAAAAAAAAAAoIAAooAgAAAAAAoAAAAAAAAAAAAAAIAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAgKAAoAAAgKCAAAAAAAAAKAAAAAKAAAAAoAAAAAgAAAAAACgCgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAADwVAAAAAAAAAAAAAAAAAAAUABQEAAAAAAFAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAEBQAFAAAEBQQAAAAAAAABQAAAABQAAAAFAAAAAEAABQQABQBQAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAQAAAAAAFAAAAAAAAAAAAAAAAAAAAAB4KgAAAAAAAAAAAAAAAAAAAKAAAIKAAAAAAAAAAAACgAAgAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAACAoACgAAACAAAAAAAAAKAAAAAKAAAAAAoAAAAAAAgKAoAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8FQAAAAAAAAAAAAAAAAAAAAFAAAEAAFAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAQFAAAUAAAAAQAAAAAAABQAAAABQAAAAAFAAAAAEBQQFAUAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeCoAAAAAAAAAAAAAAAAAAACgAAAACAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAICqAAAAAIAAAAAAAAAoAAAAoAAAAACgAAACAAAoICqAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBUAAAAAAAAAAAAAAAAAABQAAAAAABAAAAAAAAAABQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAABAUEAAAAAAAUAAAAUAAAAABQAAAABAAAAVQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4KgAAAAAAAAAAAAAAAAAAKAAAAAAAIAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAKAICgAAgAAAAAAACgAAAACgAAAAKAAAAAAAIAAooAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBUAAAAAAAAAAAAAAAAAAAABQAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAQAAAAAAABQAAAAABQAAAFAAAAAAAAABQAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4KgAAAAAAAAAAAAAAAAAAAAKAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACgACAAAAAAAAAAKAAAAAAAAKAAoAAAAAAAAAKAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKDXVAAAAAAAAAAAAAAAAAAAAUAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAFAAAEAAAAAAAAAUAAAAAAAAAFFAAAAAAAAAUAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAGuqAAAAAAAAAAAAAAAAAAAAoAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAIAAAAAAAAAAoAAAAAAAAAKAAAKAAAAAoAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAACgAAAAAAAAA11QAAAAAAAAAAAAAAAAAAAFAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAABQAAABAAAAAAAAFAAAAAAAAABQAAAABQAAFAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAABAAAAAAAAAUAAAAAAAAAAAAAAAAAAAGuqAAAAAAAAAAAAAAAAAAAAAoAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAIAAAAAAAAAoAAAAAAAAAKAAAAAAKAoAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAA11QAAAAAAAAAAAAAAAAAAAAAAFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAABQABAAAAAAAAAFAAAAAAAAABQAAAAAABVAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrqgAAAAAAAAAAAAAAAAAAAAAAAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACiAAAAAAAAAAAAKAAAAAAAAACgAAAAAAAooAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXVAAAAAAAAAAAAAAAAAAAAABFABAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAUQAAAAAAAAAAABQAAAAAAAAAUAAAAAAAAVQAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa6oAAAAAAAAAAAAAAAAAAAAIoAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAICgAgKAAAAAAAAAAAAAAoAgAAAAAAAAAACgAAAAAAAAAAoAAAAAAAKKAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11QAAAAAAAAAAAAAAAAAAAFEAAAAAQAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAQAFBAUAAAAAAAAAAAAAABQABAAAAAAAAAAFAAAAAAAAAABQAAAAAABQFAAAAAAABQAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrqgAAAAAAAAAAAAAAAAAAAAigAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAogKACAAAAAoICgAAAAAAAAAAAAKAAIAAAAAAAAAoAAAAAAAAAAAKAAAAAAAKoAAAAAAAKAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANdUAAAAAAAAAAAAAAAAAAAABRAAAAAAEBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAEAAAAAAABQQFAAAAAAAAAAUAAAQAAAAAAABQAAAAAAAAAAAUAAAAAAAAVQAAAAAAAUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa6oAAAAAAAAAAAAAAAAAAAAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAACAoIAAAAAAACgAAAAAAAAAAKAAAIAAAAAAAAAoAAAAAAAAAAKAAAAAAAACigAAAAAAAKAAAAAACgAAAAIKCAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAADWVAAAAAAAAAAAAAAAAAAAAAABAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAQFABAAAAAAAAAAUAAAAAAABQAAABAAAAAAAAFAAAAAAAAAAABQAAAAAAAAUUAAAAAABQAAAAAAUAAABBQAAARQAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAEBQAAAAAAAAAAAAAAayoAAAAAAAAAAAAAAAAAAAAAAIAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAACAoIAAAAAAACggKAAAAAAoAAAAgAAAAAAACgAAAAAAAAAAAoAAAAAAAAKAKAAAAAAAoAAAAAKAAAACoAAAAIoAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWVAAAAAAAAAAAAAAAAAAAAAABAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAQAAAAAAAAFAAAAAAUAAAAQAAAAAAABQAAAAAAAAAAAAUAAAAAAAAFAFAAAAAAAUAAAAAFAAAAQUAAAEUAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrKgAAAAAAAAAAAAAAAAAAAAAAgAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAICgAgKAAAACAoIAAAAAACgAAAAAKAAAAIAAAAAAAAoAAAAAAAAAAAAKAAAAAAAACgACgAAAAAAKAAAAACgAAAAIKAogAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1lQAAAAAAAAAAAAAAAAAAAAAAQABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAEABQQAAAFBAUAAABQAAAABAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAUAAUAAAAAABQAAAAAUAAAAABAUAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrKgAAAAAAAAAAAAAAAAAAAAAgAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAICggKACAoIACgAAKAAAAAAIAAAAAAAoAAAAAAAAAAAKAAAAAAAAACgAACgAAAAAAKAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAANZUAAAAAAAAAAAAAAAAAAAAAAEAAAAUAEABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAEBQAAAAAAAAAQFABAUAEBQQFAUAAAAAAQAAAAAABQAAAAAAAAAAAUAAAAAAAAAAFAAFAAAAAAAUAAAAAFAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAayoAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAACAoAAAAAAAAAAAAICgAgKCAoCgAAAAAACAAAAAAKAAAAAAAAAAACgAAAAAAAAAAoAAoAAAAAAACgAAAAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAADWVAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAQFAAAAAAAAAAAAAAAAABAUBQAAAAAAABAAAAAFAAAAAAAAAAABQAAAAAAAAAAUAAAUAAAAAABQAAAAAAUAAAAAAAAAFAAABAAUAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAQAAAAAFAAAAAAAAAAAAAAAAAAABqqgAAAAAAAAAAAAAAAAAAAgAKCAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgKAAAAAAAAAAAAAAAAACAoIooAAAAAAIAAAAAAoAAAAAAAAAAAKAAAAAAAAAACgAACgAAAAAAKAAAAAAACgAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAEBQAAAAAAAAAAAAAQFBFFAAAAAABAAAAAAFAAAAAAAAAAABQAAAAAAAAAAUAAAUAAAAAABQAAAAAAAAUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGqqAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAgAKAAAAAAAAAAAAACAoIooAAAAAIAAAAAAAAoAAAAAAAAAAKAAAAAAAAAACgAACgAAAAAAKAAAAAAAACgAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VQAAAAAAAAAAAAAAAAAAAAAAAAQAAAFBAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAQFAAAAAAAAAAAAAABAUEUUAEAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAAABQAAABQAAAAAAFAAAAAAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaqoAAAAAAAAAAAAAAAAAAAAAAAAAAIAACggAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAICgAAAgKAAAAAAAAAAACKKACAoIAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAACgACgAAAAAAKAAAAAAAAAACgAAAAAAAAoAAACAoAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVVAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAQFAAAAAABAUBQABAAAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAAAUAUAAAAAAABQAAAAAAAAAAAUAAAAAAAAFAAAAAAQAFAAAAAAAAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUBAUAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAGqqAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAICggAAAAAAAAAACgAAAAAAAAAAoAAAAAAAAAKAKAAAAAAAAoAAAAAAAAAAAKAAAAAAAACgAAAAAIAAKAAoAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAgAAAAAAKIAAAAAAAAAAAAACgAAAAAAAgAAAANVUAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAQAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAABRAUEBQQAAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAAVQAAAAAAAAAUAAAAAAAAAAFAAAAAAAAABQAAAAAEAFAAAAAUAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAQAAAAAAAAAFAAEABQAAAAAAAAAAAAAAAAAAAAAaioAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAgAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAACAAAAAAAAAAAAKAAAAAAAAAACgAAAAAAACgKAAAAAAAAACgAAAAAAAAAAoAAAAAAAAAKAAAAAAAgoAAAAAAACgAAAAAAAAAgoAACgAAAAAAgKCAAAAAAACgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAANRUAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAQAAAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAUBQAAAAAAAAUAAAAAAAAAAFAAAAAAAAABQAAAAAAAVAAAAAAAAAAAAUAAAEFAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAGoqAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoIAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAgAAAAAAAAAAACgAAAAAAAAAAoAAAAAAAAAoCgAAAAAAAAAoAAAAAAAAAKAAAAAAAAACgAAAAAAAAoCAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAACgAgAKAAAAAAAAAAAAAAAAAANRUAAAAAAAAAAAAAAAAAAAAAEAAAABQQAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABAAAAAAAAAAAFAAAAAAAAAABQAAAAAAAABQRRQAAAAAAAAFAAAAAAAAABQAAAAAAAAAUAAAAAAAAFAAQAAAAUAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAABQAAAAQAAAAAAAAABQAAAAAAAAAAAAAAAABqKgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAACAAAAAAAAAAKAAAAAAAAAAACgAAAAAACggKoAAAAAAAAAKAAAAAAAAACgAAAAAAAAAoAAAAAAAAKAAAgAAoAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAACgAAAAAAAAAAAAAADUVAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAUEAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAQAAAAAAAAABQAAAAAAAAAAUAAAAAAAAAVQAAAAAAAAAUAAAAAAAAAFAAAAAAAABQAAAAAAAAAUAAABAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAABAAAAAAAAAFAAAAAAAAAAAAGoqAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAIAAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAKAoAAAAAAAAKAAAAAAAAACgAAAAAAAAoAAAAAAAAAKAAAAAgAoAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAACgAAAADUVAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAEAAAAAAAAAAUAAAAAAUAEAAAUAAAAAAUAABQAAAAAAAAUAAAAAAAAAFAAAAAAAABQAAAAAAAAAUAAAABABQAAAAAAUAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABptIAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAACgAAACAoAAAICgAAAAAAAAAAAAAAAAAAAAAKAAAAAIAAAAAAAAAAoAAAAAAoAAIAAoAAAAAAAAoACgAAAAAAAoAAAAAAAAAKAAAAAAAACgAAAAAAAAoAAAAAACACgAAAAoAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAANNpAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAUAAAAQFAABAAUAAAAAAAAAAAAAAAAAAAAAABQAAAAABAAAAAAAAAAFAAAAAAAFAAAUQAAAAAAAAFAUAAAAAAAFAAAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAAQAUAAAAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAABptIAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAACgAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAACgAAAAACAAAAAAAAAAKAAAAAAAAKAAAogAAAAAAAKAoAAAAAAAKAAAAAAAAACgAAAAAAAAoAAAAAAAKAAAAAAAgAAoAAAAKAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAoAAAAAAAIAgAAAAAAAAAAAAAAAAAAAAAAAAANNpAAAAAAAAAAAAAAAAAAABAUAAAEAAAAAAAAAAAAAAAAAAUAAAAAAAAAABQAAAAAAAABAAUAAAAAAAAAAAAAAAAAAAAAAAABQAAAABAAAAAAAAAAFAAAAAAAAAFAAUAAQAAAAAAFAUAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAFAAQAAAAAAAUAAAAAFAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAUAAAAAAAAAAAEAQAAAAAAAAAAAAAAAAAAAAAAAGm0gAAAAAAAAAAAAAAAAAAAgAAKAACAAAAAAAAAAAAAAAAKAAAAAAAAAoAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAgAAAAAAAAAACgAAAAAAACgAAKAIAAAAAACgKAAAAAAAACgAAAAAAAAoAAAAAAAKAAAAAAACgIAAAAAAAAKAAAAACgAAAAoAAAAAAAAAAAAAAAoCgAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAgAAAAAAAAAAAAAAAAAANNpAAAAAAAAAAAAAAAAAAAABAAAAUAAEAAAAAAAAAAAAAUAAAAAAAABQAAABAUAAAEABQAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAEAAAAAAAAAAAUAAAAAAAAAUABQABAAAAAAAUBQAAAAAAAUAAAAAAAAFAAAAAAABQAAAAAAAUBAAAAAAABQAAAAAAUAAAAFAAAAAFAABAAAAAVQAAAAAAAAAAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAEAAAAQAAAAAAAAAAAAAGm0gAAAAAAAAAAAAAAAAAAAAAAgAAAAKCAAKAACAAAAAAoAAAAAAACgAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAACAAAAAAAAAAAAAKAAAAAAAAAAKoAgAAAAAAAAKoAAAAAAAAKAAAAAAAACgAAAAAAoAAAAAAAKAAgAAAAAAoAAAAAAKAAAACgAAAACgKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAgAAAAACAAAAAAAAA02kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAUEAAAAAAAABQAAAAAAFAAAAAAAEABQAAQAAAFAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAQAAAAAAAAAABQAAAAAAAAAAAUUEAAAAAAABQFAAAAAAAABQAAAAAAAUAAAAAAAFAAAAAABQAEAAAAAAFAAAAAABQAAAAAUAAAAUBQAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAEAAAAAAAAAQAAAGm0gAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAACgAAAAAAKAAACAoAAAAAAAgKAACAAAoAAAAAAAAAAAAAAAAAAAAAAAACgAAAAACAAAAAAAAAAAKAAAAAAAAAAACgACgAgAAKAAAoAAAAAAAAKAAAAAAAACgAAAAAAoAAAAAAAKAAgAAAAoAAAAAAAKAAAAACgAAAACqAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAgAAAAAAAAAACA02kAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAUAAAAEAAUAUAAAAAAAAAAAAAAAEABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAEAAAAAAAAAAAUAAAAAAAAAAAAFAAAAFAAAAAAUAAAAAAAAFAAAAAAABQAAAAAAAUAAAAAFAAAAQAAAAUAAAAAAFAAAAABQAAAABVAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAAAAAAABpNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAIAAAACqAAAAAIACgAAAAAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAgAAAAAAAAAACgAAAAAAAAAAAAoAAAoAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAACgAAAAAoAAAACAAACgAAAAAoAAAAAAKAAAAAKAoAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAIAAAAIAAAAAAAAAA0mkAAAAAAAAAAAAAAAAAAAAAAAAAAEUAAAAEAAABQFAAAAEAAABQQFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAQAAAAAAAAAABQAAAAAAAAAAAAUAAAAUAAAAABQAAAAAAAAUAAAAAAAAFAAAAAABQAAAAAUAAABAAABQAAAAAUAAAAAAFAAAAAFAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAQAAAAAAAAAAAAAAAEAEAAAAAAAAAAaTSAAAAAAAAAKAAACAAAAAAAAAAAAIAoAIAAAAACqAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAIAAAAAAAAAAAoAAAAAAAAAAAAKAAAAAKAAAAAoAAAAAAAAAKAAAAAAACgAAAAAAoAAAAAKAAAAgAAoAAAAAAAKAAAAACgAAAACgKAAAACgAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAIAgAAAAAAAANJpAAAAAAFAAAAAAAAABAAAAAAAAAAEAAAAAFAFAAAAABAAAAAAAUAAAAAAAAAAAAAAAAAAAAEBQAAAAAAAAAAAAFAAAAAAEAAAAAAAAAAAAUAAAAAAAAAAAAFAAAAFAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAUAAAAFAAAAAQAUAAAAAAAFAAAAABQAAAABVAAAAAABQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAQAAAAAAAGm0gAAAAAAAAAAAAAAAAAAAAAAACAAAAqAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAgKCAAAAAAAAAAKAAAAAAAAAAAACgAAAACgAAAAAKAAAAAAAACgAAAAAAAoAAAAAAKAAAAACgAAAAIKAAAAAAACgAAAAAoAAAAAKKAAAAAAoAAAKAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAIAAAAgAAAAANNpAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAAABQAAAAABAUEAAAAAAAAAAUAAAAAAAAAAAAFAAAAAFAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAUAAAAFAAAAABUAAAAAAAFAAAAABQAAAAAUUAAAAABQAAAAUBAAAAAAUAAAEAAAAAABQAAAAAABQAAAAAQAAAAAAAAAAAAAEAAAAAAAEAAAAQAAAAGm0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAACgAgKAAAAAAAAAAAAAAAAAACAAAKAAAAAAAAKAAAAAACAoIAAAAAAAAAAoAAAAAAAAAAAAAqgAACAAoAAAAACgAAAAAAAoAAAAAAAAKAAAAAACgAAAAAoAAAACCgAAAAAAoAAAAAKAAAAACigAAAAAKAAAAACgIAAAAAAAAAAKAAAAAAAAAAAAoIAAAAAACgCAAAAAAAAAAAAAAgAAAAAgAAAAAACAA02kAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAUAAEBQAAAAAAAAAAAAAAAAAAAQBQAAAAAAAABQAQFAAAAABAAAAAAAAAAFAAAAAAAAAAAAFAUAAAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAFAAAAABQAAAAVAAAAABQAAAAAAUAAAAAVQAAAAAAUAAAAAFAAQAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAABQABAAAAAAAAAAAAAAQAAAQAAAAAAAABpNIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAoIACgAAAAAAAAAAAAAAAAAAAgCgAAAAAAAAAAACgAAAAAAAgAAAAAAAACgAAAAAAAAAAAACqAAAAAAAAAACgAAAAAAAAoAAAAAAAAAKAAAAAACgAAAAAoAAAAKgAAAAoAAAAAAAKAAAAKoAAAAAAKAAAAAACgAIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAAAAAAAAIAAIAAAAAAAA0mkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAEBQAAQAFAAAAAAAAAAABAFAAAAAAAAAAAAAFAAAAABAAAAAAAAAFAAAAAAAAAAAAABRQAAAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAFAAAABQAAAAAVAAAABQAAAAAAUAAAAVQAAAAAAUAAAAAAFAAAQAUAAAAAAAAAAAAAAAAAAAAAAAAFABAAAAAFAAAAAAEAAAAAAAAAABAABAAAAAAAGk0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACggAAKACAAAoAAICgAAAAAAgCgAAAAAAAAAAAACgAAAAAgAAAAAAAACgAAAAAAAAAAAAACqAAAAAAAAAACgAAAAAAAAAoAAAAAAAAKAAAAAACgAAAAAoAAAAKgAAAAoAAAAAAKAAAKAAoAAAAAKAAAAAACgAAAIKAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAACgAAAAAACAAAAAAAAAAAgAAAgAAADSaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAQAAAFAABAUEBQAQFABAFAAAAAAAAAAAAAAFAAABAAAAAAAAAFAAAAAAAAAAAAAABQABQAAAAAAAAFAAAAAAAABQAAAAAAAAUAAAAAAAFAAAAABQAAAAVAAAABQAAAAAUAAAUABQAAAAAUAAAAAAFAAAAQAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAFAAAAAAAAEAAAAAAAAABAAABAAGk0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAACgAAgKACAoIACggACgAAAAAAAAAAAACggKACAAAAAAAAAKAAAAAAAAAAAAAAACgCgAAAAAAAAKAAAAAAAAACgAAAAAAAAoAAAAAAKAAAAAACgAAAAqAAAACgAAAAoAAAoACgAAAAAoAAAAAKAAAAAgAoAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAKAAAAAAAAIAAAAAAAACAACANJpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQQAAAAAAAAABQAAAAAAAAAAAAAAAUAUAAAAAAAAABQAAAAAAAAAUAAAAAAAAFAAAAAABQAAAAAUAAAABBQAAAAUAAAAFAAFAAUAAAAAFAAAAABQAAAEAAFAAAABQAAAAAAAAAAUAAAAEAAAAAAAAAAAAAAAAAABAAAAFAAAAAAAAEAAAAAAABABGk0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAoIAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAKCAoAAAAACgAAAAAAAAAoAAAAAAAAAKAAAAACgAAAAAAoAAAACCgAAAAoAAAKAAKAAoAAAAAKAAAAACgAAIAAKAAAAACgAAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAACAAAAKAAAAAAAIAAAAAAAADRaZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAUAAAAAABQAAAAAAAAAUAAAAAAAAFAAAAAABQAAAAAUAAAABABQAAAAUAAAFAAFAAUAAAAFAAAAABQAAEAAFAAAAABQAAAAAUAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAFAAAAAAAAEAAAAAABotMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAAKAAAAAAAAoAAAAAAAAAKAAAAAAAACgAAAAAoAAAAAAKAAAAAgoAAAAKAAAACgACgAKAAACgAAAAAoAACACgAAAAAAoAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAACgAAAAAACAAAAAA0WmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAUEABQQAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQAAAABQAAAAAFAAAAAAAAABQAAAAAAAAAUAAAAAFAAAAABQAAAAAEFAAAABQAAAAUAAUBQAAAAUAAAAAFAAQAAUAAAAAFAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAUEBQAAAAABAAAAAaLTIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKCAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAAAKAAAAAoAAAAAAAAAAKAAAAAAAACgAAAAAoAAAAAAKAAAAAgAoAAAAKAAACgAACgKAAACgAAAAAoAACACgAAAAAoAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAgAAACgAAAAAACA0WmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAAAAAFAAAAAUAAAAAAAAAFAAAAAAAAABQAAAAAUAAAAAAFAAAAAQAUAAAAFAAABQAAABVAAABQAAAAAUABABQAAAAAUAAAAAFAAAAAAAABQAAAAAAAQAAAFABAAAAAAAAAAAAAAQAAAAAAAAAEAAAAUAAAAAAaDTIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACgAAAAAAAACgAAKAAAAAAAAAACgAAAAAAAAoAAAAAAKAAAAAACgAAAAIKAAAACgAAAAoAAAAKKAAAAoAAAKAAAgAoAAAAKAAAAACgAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACAAAAAAAAAAgAAACgAAADQaZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAFAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAUAAABQAAAAAAAAAUAAAAAAAAAFAAAAAABQAAAAAAUAAAABBQAAAAUAAAAFAAAABRQAAFAAAABQAAEAFAAABQAAAAAUAAAAAAAAFAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAEAAAAAAUaDTIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAoAACggAAAAAKCAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAAAAAAAAAoACgAAAAAAAAAAoAAAAAAAAAKAAAAAACgAAAAAAoAAAACCgAAAAoAAAKAAAAACgCgAKAAAACgAAAqAAAACgAAAAoAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAAAAAIAAADQbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAUEAABQAQAFBAAUEAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAABQFAAAAAAAAABQAAAAAAAAAUAAAAAAFAAAAAAABQAAAEAFAAAABQAAAUAAAAFAAFAAUAAAFAAAABUAAAFAAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAABAAAAAAAAAAAAAQAGg2yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoCAAoIAACgAAAAAAAAgAAAAAAAAAAAAAoAAAAAAAAAAAAAAAKAAAAAAAAAAAAKAoAAAAAAAAAAKAAAAAAAAACgAAAAAAoAAAAAAAKAAAAgAoAAAAKAAACgAAAAoAAAoCgAAAoAAAKAgAAAoAAAAKAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAIAAAAAAAAAAACA0G2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAAAAAAAAAAABRQAAAAAAAAAFAAAAAAAAAABQAAAAAAUAAAAAAAFAAAQAUAAAAFAAAABQAAAAUAAAAVQAAAUAAAFAQAAUAAAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAEAAAAAAAAABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAQFBAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAFFAAAAAAAAAUAAAAAAAAAAFAAAAAAABQAAAAAAUAAAABBQAAAAUAAAAFAAAABQAAAUUAABQAAAUBAAABQAAAAUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAFFAAAAAAAAAUAAAAAAAAAAFAAAAAABQAAAAAAAUAAAABBQAAAAUAAAAFAAABQAAAAUUAABQAAAUBAABQAAAAAUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAABAAAUEAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAUAAAAAAABQAAAAAAAAAAUAAAAAAAFAAAAAAABQAAAEAFAAAABQAAAAUAAAFAAABQABQAFAAABQEAAFAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAABAAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAUAAAUAAAAAABQAAAAAAAAAUAAAAAAAFAAAAAAAABQAAAEAFAAAABQAAAAUAAAFAAABQABQFAAABQEAAAFAAAABQAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAABAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAAUAAAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAABQAAAEAFAAAAABQAAAAUAAAFAAABQABQFAAABQEAAFAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAAAAUAAAAABQAAAAAAAAUAAAAAAAAFAAAAAAABQAAAEAAFAAAAABQAAAUAAAAFAAABQAABVAAABQEAAFAAAABQAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAABQAAABQAAAAFAAAAAAAAABQAAAAAAAUAAAAAAAFAAAAQAAAUAAAAAFAAABQAAAAUAAAFAAFUAAAFAQAAAUAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQFABAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAAFAAAAAAUAAAAAAAAFAAAAAAAABQAAAAAAUAAABAAABQAAAAAUAAAAFAAABQAAAAUAUBQAAAUBAAABQAAAUAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAQAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAUAEAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAAUAAAAABQAAAAAAAAUAAAAAAAFAAAAAAABQAAEAAAFAAAAABQAAAAUAAAAFAAABQBQAFAAABQEAAFAAAABQAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUAAAUAAAAABQAAAAAAAAAUAAAAAAAFAAAAAABQAAAEAAAFAAAABQAAAAAUAAAAFAAAFUAAAFAAABUAAAFAAAABQAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAABQQAAAAAAAUAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAABQAAAAAFAAAAAAAAABQAAAAAAAUAAAAAAFAAAAQAAAUAAAAFAAAABQAAAAUAAAUBQAAAUAABBQAAAUAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAHObZAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAUAEAAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAUAAAABQAAAAAAAAAUAAAAAAAFAAAAAABQAAAEAAFAAAAABQAAAAUAAAAFAAFAAUAAFAAAQAUAAAFAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABzm2QAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAFABAAAAAABQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAFAAAAFAAAAAAAUAAAAAAAAAFAAAAAAABQAAAAAAUAAABAABQAAAAAUAAAAFAAAABQABQAFAAABQEAFAAAABQAAAUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAc5tkAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABQAQAAAAAAUAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAABQAAAAABQAAAAFAAAAAAAAAABQAAAAAAAUAAAAAAAFAAAAQAUAAAAAFAAAABQAAAAUAAUABQAAUABABQAAAAUAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAHObZAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAUAAAEAAAAAFAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAAUAAAABQAAAAAAAAAAUAAAAAAAFAAAAAAABQAAAAEFAAAAABQAAAAUAAAAAFAFAAUAAAFAQAUAAAAFAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABzm2QAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAUAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQAAAABQAAAAAFAAAAAAAAABQAAAAAAAAUAAAAAAAFAAAAAQUAAAAAFAAAABQAAAAAUAUABQAAAUABABQAAAUAAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAHObZAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAUEAAFAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAAAUAAABQAAAAAAAAAAUAAAAAAAAFAAAAAAABQAAAAAVAAAAABQAAAAAUAAAAFAFAAAUAAAFAQAUAAAFAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAABzm2QAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAUAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAABQAAAAAABQAAAFAAAAAAAAAABQAAAAAAAAUAAAAAAAFAAAAABUAAAAAFAAAAABQAAAAAUAUABQAAAUABABQAAAUAAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAHObZAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAAAAFAAAAAUAAAAAAAAAAFAAAAAAAABQAAAAAAAUAAAAAFQAAAAAAUAAAAFAAAAABQBQAFAAAABQAEFAAABQAAAAUAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAc5tkAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAFAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAUAAAAAAAAUAABQAAAAAAAAAAAUAAAAAAAAFAAAAAAABQAAAAAVAAAAAABQAAAAAUAAAAAFAFAAUAAAFAAAQUAAAFAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAAAAAAFAAAUAAAAAAAAAAAFAAAAAAAABQAAAAAAAUAAAAABBQAAAAAAUAAAAAFAAAABQBQAAFAAABQAAEFAAABQAAAAUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAAAABQAFAAAAAAAAAAAABQAAAAAAAAAUAAAAAAFAAAAAABUAAAAAAFAAAAABQAAAAAUAUABQAAAAUAAFQAAAUAAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAABAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAUABQAAAAAAAAAAAAUAAAAAAAAAFAAAAAABQAAAAAEFAAAAAAABQAAAAAUAAAAFAFAAAUAAAFAAABUAAAFAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAQAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAFAAAAAAAAAFAAUAAAAAAAAAAAFAAAAAAAAAABQAAAAAAUAAAAABBQAAAAAAAUAAAAAFAAAAABRQAAFAAAABQAAVAAABQAAAAUAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAEAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAABQAAAAAAAAABQAFAAAAAAAAAAABQAAAAAAAAAAUAAAAAAFAAAAAABUAAAAAAAFAAAAAABQAAAAUUAAABQAAAUAAAFQAAUAAAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAABAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAUBQAAAAAAAAAAAUAAAAAAAAAAAFAAAAAABQAAAAAAUBAAAAAAABQAAAAAUAAAAFFAAAAUAAAAFAABUAAAFAAAABQAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAQAAAAFBAAAAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAAUABQAAAAAAAAAAAUAAAAAAAAAAAFAAAAAABQAAAAAAAUBAAAAAABQAAAAAUAAAAFFAAAAUAAAAFAABUAAAFAAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAQFBAAUEBQQAAAAUAAAAAAAAAAAAAAAAAAFAAAAAAAAAFBAUBQAAAAAAAAAAUAAAAAAAAAAAFAAAAAAABQAAAAAAAUAABAAAABQAAAAAUAAAAFFAAAAUAAAAFAAAQUAAAFAAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAQFBAAAAUVAAAAAAAAAAAAAAAAAABQAAAAAAAAABQAAFAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAFAAAAAAABQAAEAAAAFAAAAABQAAAABVAAAABQAAAUAAAFQAAAAUAAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAABAAUEABQQFFQAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAUAABQAAAAAAAAAUAAAAAAAAAAAAFAAAAAAABQAAAAAAAUAAABAAABQAAAAUAAAAAAFFAAAAUAAAFAAAABUAAAAFAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAQFABAUEFAAAAAAAAAAAAAAAAAABQAAAAAAAAAABQAFAAAAAAAAABQAAAAAAAAAAAAAUAAAAAAAFAAAAAAABQAAAEAAAFAAAABQAAAAAAUUAAABQAAAAUAAAFAQAAAUAAAAAFAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAABAUEABQQUAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAFAAAUAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAUAAAAAAAFAAAAQAAAUAAAAAFAAAAABRQAAAFAAAABQAAAAUBAAABQAAAAUAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAEABQQUBQQAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAUABQAAAAAAAAAUAAAAAAAAAAAAFAAAAAAAABQAAAAAAUAAABAAAABQAAAAAUAAAAAAFFAAAAUAAAAFAAAABQEAAAFAAABQAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABz22QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAQAFBABVBAAAAAAAAAAAAAAAAAABQAAAAAAAAAAABQFAAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAFAAAAAABQAAAAEAAAFAAAAABQAAAAAAUUAAABQAAAAUAAAAFAAQAAUAAAAFAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABAUAEAFUEAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAFAAUAAAAAAAAAFAAAAAAAAAAAAABQAAAAAAAUAAAAAAAFAAAAAQAAAUAAAAAFAAAAAABQBQAAAFAAAABQAAAAUBAABQAAAAUAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQBUABQQFBAAAAAAAAAAAAAABQAAAAAAAAAAAABQFAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAFAAAAAABQAAAAAEAAAFAAAAAABQAAAAAAUAUAABQAAAAUAAAAFAAQAUAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAQFBAUEAAAAAAAAAAAAFAAAAAAAAAAAAAAFUAAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAUAAAAAAFAAAAAAQAAAUAAAAAAFAAAAAABQBQAAAFAAAABQAAAUABAABQAAAAAAUAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAUUAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAFAAAAAABQAAAAAEAAAFAAAAAABQAAAAAAAUAUAABQAAAAUAAAFAAQAAUAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAQFBAAAAAAAAAABQAAAAAAAAAAAAAAAUAAUAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAFAAAAAABQAAAAAEAAAFAAAAAAABQAAAAAAUAAUABQAAAAUAAAAFAQAAUAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAQFBAAAAAAABQAAAAAAAAAAAAAAAUAAUEBQAAAAAAAFAAAAAAAAAAABQAAAAAAAAAUAAAAAAAFAAAAAAQAAUAAAAAAAFAAAAAAABQBQAAFAAABQAAAAUBAAAABQAAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAABAUEAAAAAAAFAAAAAAAAAAAAAAAABQAABQAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAUAAAAAAAFAAAAAAQAAUAAAAAAAAFAAAAAABQABQAFAAABQAAAAUBAAAAAABQAAAAAAAUAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAc9tkAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAABAAAAAAAABQAAAAAAAAAAAAAAAUAAAAAAUAAAAAABQAAAAAAAAAAAUAAAAAAAAAFAAAAAABQAAAAAAEAAFAAAAAAAABQAAAAAAUAAUABQAAAUAAAAFAAQAAAAAAUAAAAAAAFAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAHPbZAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAQAAAAAAUAAAAAAAAAAAAAAAAFAAAAAAAFAAAAAAUAAAAAAAAAAAFAAAAAAAAABQAAAAAAUAAAAAABAABQAAAAAAAAUAAAAAAFAAAFAUAAAFAAAAABQAEAAAAAAAFAAAAAABQAAAAAAAAAAAAAAUAAEAAABQAAAAAAQAAAAAAAAAAAAAAAAHPbZAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAQAAAAAAAUAAAAAAAAAAAAAAAAFAAAAAAAAAFAAAAUAAAAAAAAAAAFAAAAAAAAABQAAAAAAUAAAAAABAABQAAAAAAAAUAAAAAAAFAAFAUAAAFAAAAAABQAAEAAAAAAFAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc9tkAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAABAUEAAFAAAAAAAAAAAAAAAABQAAAAAAAAAABQAAFAAAAAAAAAABQAAAAAAAAAUAAAAAAAFAAAAAAAQAAUAAAAAAAAAFAAAAAABQAABQFAAABQAAAAAAAUAAABAAAABQAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHPbZAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAQAAAUAAAAAAAAAAAAAAAAFAAAAAAAAAAFAAAUAAAAAAAAAAAFAAAAAAAAABQAAAAAAAUAAAAAAABABQAAAAAAAAAUAAAAAAFAAAFAUAAAFAAAAAAAAABQAAEAAAFAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc9tkAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAABAAABQAAAAAAAAAAAAAAAAAUAAAAAAAAAAAUABQAAAAAAAAAAAUAAAAAAAAAFAAAAAAABQAAAAAAAAEFAAAAAAAAABQAAAAAAUAAAUBQAAAAUAAAAAAAAAFAAAQAAAUAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABz22QAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAEAFAAAAAAAAAAAAAAAABQAAAAAAAAAAABQFAAAAAAAAAAAABQAAAAAAAAAUAAAAAAAFAAAAAAAAAAQUAAAAAAAAFAAAAAABQAABQFAAAAABQAAAAAAAAAUAABAAABQAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHPbZAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAUAAAAAAAAAAAAAAAAAFAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAAAAAAAABQAAAAAAAUAAAAAAAAABBQAAAAAAAAUAAAAAAFAAAFAUAAAAAAFAAAAAAAAABQAAAEAAFAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaDbIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAAAAAAAAAAAAAAAAACgAAAAAAAAAAAACgKAAAAAAAAAAAACgAAAAAAAAoAAAAAAAAKAAAAAAAAAAgoAAAAAAAAAKAAAAACgAACgKAAAAAAACgAAAAAAAAAoAAACAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANBtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAUEAAAAAAAAAAAAAAAFAAAAAAAAAAAAAFUAAAAAAAAAAAAFAAAAAAAAABQAAAAAAAAUAAAAAAAAAAFQAAAAAAAAAUAAAAAFAAAAFAUAAAAAAAFAAAAAAAAABQAAAEAAAFAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaDbIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqAoIAAAAAAAAAAAAAAAKAAAAAAAAAAAAAKAoAAAAAAAAAAAAKAAAAAAAAACgAAAAAAAAoAAAAAAAAAAKgAAAAAAAAAoAAAAAKAAAAAKAoAAAAAAAAKAAAAAAAACgAAAIAAAAKAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAADQbZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAQAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAUBQAAAAAAAAAAAAUAAAAAAAAAFAAAAAAAABQAAAAAAAAAAUBAAAAAAAABQAAAAAUAAAAAAUBQAAAAAAAAUAAAAAAAAFAAAAQAAAAAAUAAAAAAAAFAAAABAAAAAUAAAAAAAAAAEAAAAAAAABQaDbIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAACAoIAAAAAAAAAAAAAKAAAAAAAAAAAAAAKoAAAAAAAAAAAAAKAAAAAAAAACgAAAAAAAAAoAAAAAAAAAAKAgAAAAAAoAAAAAKAAAAAAAAACigAAAAAAAKAAAAAAAACgAAAAIAAAAAKAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAANFtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABAAUEAAAAAAAAAAAAAAFAAAAAAAAAAAAAFBFFAAAAAAAAAAAAAUAAAAAAAAAFAAAAAAAAABQAAAAAAAAAAUBAAAAAABQAAAAAUAAAAAAAAAAFAFAAAAAAAUAAAAAAAAFAAAAAAQFBAAUEFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABotsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAIAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAKogKAAAAAAAAAAAAoAAAAAAAAAKAAAAAAAAACgAAAAAAAAAAAoACAAAACgAAAAAoAAAAAAAAAAAKAAKAAAAAAAoAAAAAAAKAAAAAAAAAAAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANFtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAUAUEBQAAAAAAAAAAFAAAAAAAAABQAAAAAAAAAUAAAAAAAAAAAFAAQAAAAUAAAAAAFAAAAAAAAAAABQABQAAAAAAFAAAAAAAABQAAAAAAAAAEFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABotsgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKKAgAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAKAKCAoAAAAAAAAAACgAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAACgAIAAAAKAAAAAACgAAAAAAAAAAAoAAAoAAAAAACgAAAAAAAAoAAAAAAAAACCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0W2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQFFAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAFAAFAAAAAAAAAAAUAAAAAAAAAAFAAAAAAAAAABQAAAAAAAAAAUABAAAABQAAAAAAUAAAAAAAAAAAAFAAAFAAAAAAAUAAAAAAAAFAAAAAAAAAQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGi2yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAACAAooCAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAoAAoAAAAAAAAAACgAAAAAAAAAAoAAAAAAAAAAAKAAAAAAAAACgIAAAAAKAAAAAACgAAAAAAAAAAAAAoAAoAAAAAAACgAAAAAAAAoAAAAAAAACCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0W2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQFFQAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAFAAFAAAAAAAAAAAUAAAAAAAAAAFAAAAAAAAAAABQAAAAAAAAAUBAAAABQAAAAAAAAUAAAAAAAAAAAAAFAAFAAAAAAAAUAAAAAAAAFAAAAAAAAQAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGi2yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAKAAAAAAAAAAAoAAAAAAAAAAKAAAAAAAAAAACgAAAAAAAAoACAAAACgAAAAAAAAoAAAAAAAAAAAAAKAAKAAAAAAAAoAAAAAAAAAKAAAAAAAAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANFtkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAUAAAUAAAAAAAAABQAAAAAAAAAAAAUAAAAAAAAAAAFAAAAAAABQEAAAAAFAAAAAAAAAABQAAAAAAAAAAAAUAAUAAAAAAABQAAAAAAAAUAAAAAAABABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/2Q==",skyBoxDown:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAFA3PEY8MlBGQUZaVVBfeMiCeG5uePWvuZHI////////////////////////////////////////////////////2wBDAVVaWnhpeOuCguv/////////////////////////////////////////////////////////////////////////wAARCAgACAADAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAEC/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/ADKgAAAAAAAAAAIAAAAACgAgAAAAAAIAAACAAAAAAoAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAACAAAAAAAgAAAIAAAAACgAAAAAoAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAgAAIAAAACgAAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAIAAAACgAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAIAACgAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAACgAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAgAAAAAAKAAAACgAAgAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAgAAKAAAACgAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAIACgAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAIACgAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAACgAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACggAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAACAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAIAAAAACgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAgAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAgAAKAACAAAAAAAAoAAAAIAAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAgAAKAAAAACAAAAAAoAAAIAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAgAKAAAAAAAACAAAAAoAIAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAIAAACgAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAACAoAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAIAAAAACgAAAAAAAAAAgAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAICAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAIAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAMgAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAADIAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAICgAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAADIAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAKAACAAAAAyAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAADIAKAAAAAAAAACAAAoAAAAAAAAAIAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAyCgAAAAAAAAAgAAAAKAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAAAKAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACAAAoAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAgAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAgAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAgAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAACgAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAACAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAACAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAACAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAKAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAIAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAKAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAIAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAICAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAACAgAAAAKAAAAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAoAAAAAAAAMgAAoAAAAAAAAAAAAAAICgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAACgAAAAAAAyCgAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAIAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAoAAAAAAMgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAKAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAKAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAKAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAgAAKAAAAAAAAAAACAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAgAAAAAKACAAAAAAAAAAAoAAAAAAIAAAAAAACgAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAIAAAAACgAAAAAAAAAgAAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAIAAAAAACgAAAgAAAAAAAAAKAAAAACAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAKAAACAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAACgAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAIAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAgAAAAAKAAAAAAAAAAAAAAACAAAAAAoAAAIAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAIAAAAACgAAAAAgAAAAKAAAAAAAAAAAAAAACAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAACAAAAAAAAoAAAAIAAACgAAAAAgAKAAAAAAAACAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAIAACgAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAgAAAAAAAAAKAAACAAAoAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAIAAACgAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAgAAKAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAgAKAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAgAAAKAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAIAAACgAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAgAAAAAKAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAIAAAACgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAgAAAKAAAAACgAAAAAAgAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIACgAgAAAAAAAAAAAAKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAAgKAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAACgAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAKAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAoAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAACgAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAKAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAIAAAAAAACgAAgAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAACAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAoAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAAAoAAAAAAAAAAKAAAAAACAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAKAAAAAAAAAACgAAAAAAgAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAgAAAAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAACAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAoAAAIAAAACAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAoAAAAIAAAACAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAACgAAAAAAoAAAAAIAAACAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAKAAAAACAAAAAgAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAoAAAAAIAAAACAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAgAAAAAAKAAACAAAAAgAAAAAAAAAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQIAAAAAAAAAAAAAACAAAAAAgKAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ACAAAAAAAAAAAAgAAAAIAAAACgAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAgAAAAAAAAAAIAAACAAAAKACACgAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAADQIAAAAAAAAAACAAAAgAAAAAAAAKAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAACAAAAAAAAAoAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAgAAKAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAIAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAAAAAAAACAAAoAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAACAAAoAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAACAAAoAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAICgAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAKACAAAAAAoAAAIAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAKCAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAACAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAACAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAgAAAAAKACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAIAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAACAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgCigIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKAKAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAKAAACAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAIAAAACgAAAAAAAAgAAAAKAAAAAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKAKAgAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAAAAAAAAAAAAACKKAAgAAAAAAAAAAAAAAAAAAgAAACgAAgAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAgAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKACAACggAAAAAAAAAAAAAAIAAACKAKAAAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggAoAAAAIAAAAAAAAAAACAAAAgCgCgAIAKACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAACAAAAAAAAKCAACgAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAIAAAAAAAAAAAACgAAoAAAAAAAAIAACgAAgAAAAAAAKAACAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAACAAAAAAAAAAAAoAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAgAAAAAAKAAAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAIAAAAACAAAAAoAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAgAAAAKAAAAAAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAIAACgAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAKAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAKACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAoAAAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAACAAAAAAoAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAKCAAAAAAAAAAoIACgAgAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAADIKAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAKAACAoIAAAAAAACgAAAAAgAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAKIAACgIAAKAAAAAAAAAAAAAAAACAoAAAAAAAAAAAAAAKCAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAKACAoIAAAAAAAAACgAAAAAgAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAoAAAAIAAogAAAAKgAoAAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAoIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAoAICggAAAAAAAAAAKAAAACACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAogAAAAKAgAoAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAoIAAAAAAAAAACAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAKAACACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAoAgAAAKAgAoAAAAAAAAAAAAIAAAACgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAKAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAKAAAACACgAAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAACgCAAAoACAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIoAAAIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAACgAACAAAoACAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAIAAAAACgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAoICgAACAAAAoACAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAACgAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAACgAAAAACAAAAAoAACAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAAACgAAoAAAAIAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAKCAAoAAAAAAAAAAgAAAAKAAAgAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAoAAKAAAAAAACAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAgAAAAAACgACAAAAAoAAAAAAAIAAAACgAAIAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAKAACgAAAAAAAAgAAAAAAIAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAgAAAACgAACAAAAAAAoAAAAAAAIAACgAAAAIAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAKAAACgAAAAAAAgAAAAAAAIAAAoAAIAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAIAAAAAoAAgAAAAAAAKAAAAAAAAAAAAAAAgAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAoAAAAKAAAAAAACAAAAAAAgACgCAAAqAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAKAAAAAAIAAACgAAAAAAAAAAAAAAIAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAKAAAAACgAAAAAAgAAAAAAAIAoAgAAAKgAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAIAAAAAACAKAAKAgKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAIoAgAAAAKgAoAAAAAAAAIAAAAAAACAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAgAAAAAIAoAAAAAoACAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAACAAAKAAAAAAAAAAAAAAAAAAAAAAACAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAigCAAAAAqACgAAAAAAAAAgAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAACAAAAAigAAAAAAACoAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAIAAoAAAAAAAAAAAAAIAACgAgAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAIoAgAAAAKAgAoAAAAAAAAAAIAAACAAAoAAAAAKAAAACAAAAAAAAAAAoAAAAAAAIAAAACAAAAAigAAAAAAAgoAAAAAAAACgACAAoAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAgCgAAAAAAAAAAAAgAAAAAAAAAAAAAAAoAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAIAACgAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAogAIAAACgIAKAAAAAAAAAAACAAAAgAKAAAACgAAAAAAgAAAAAAAAKAAAAAAAACAAAAAAgAACiAAAAAAAAIKAAAAAAAAAoAgAAAKAAAgAAAAAAAAAAAAAAAAAAAAAAAAAKCAAAACgAAAAAAAAAAAAAAAAAAAigAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAoAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAKIAACAAAoAKgAAAAAAAAAAAAgAAAAAAAAAKAAAAAAAACAAAAAAAAoAAAAAAAAIAAAAACAAAKIAAACAoAACCgAAAAAAAKAAAIAACgAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAoAAAAAAAAAAAAAAAAAAAIAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACggAAAKCACgAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAKAIAAAAAACoAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAAAgAAAAAKAAAAAAAAACAAAAAAgACgCAAAAgKAAACoAAAAAAACgAAAAAAAAAgAAAAAAAAAAKCAoAIAAAAAACgAAAAAAgAAoAAAAAAAAAAAAAAAAAAAIAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAoAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgCgACAAAAAoCAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACAAKAAIAAAAAAACoAAAAKACAKAAAAAAAAACAAAAAAAAAAoAAIAAAAAAAAAACgAAAAAgAoAAAAAAAAAAAAAAAAAAAIAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACgAAAAAACoAAAAAAAAAAAAAAAAAKAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAKAAAAAACAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACAKAAIAAAAAACoAAAAAKACAKAAAAAAAACAAAAAAAAAAAoAAIAAAAAAAAACgAAAAAAAgoAAAAAAAAAAAAAAAAAAAIAoAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACgAAAACgIAAAAAAAAAAAAAAAAAAKAAACAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAACAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAgCgACAAAAAoCAAAAAACggACgAAAAAAAgAAAAAAAKAAAAACAAAAAAAAAAAAoAAAAIAKAAAAAAAAAAAAAAAAAAACAKAAAAAAACAAAAAAAAAAAAAAAAAAAACgAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAigAACAAAoCAAAAAAAAAAAoAAAAAIAAAAAACgAAAAAAAAAgAAAAAAAAAAAAKACACgAAAAAAAAAAAAAAAAAAAAgCgAACAAoAACAAAAAAAAAAAAAAAAACgAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAoAAAICgAAAAAAAAAAAAAAgAAAAAAAAAAAICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAIoAAAAAIAAAAAAAAAAACgAAAgAAAAAAAKAIACgAAAAIAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAKAAAIACgAAIAAAKACAAAAAAAAAAoAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAgAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAIAAAAAAAAAAACAKAACAAAAAAAAAAAAAAAACgAAgAAAAACgCAAAoAAACAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACgAAAAAAAAgAAoAAAIAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAgAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAoAgAAKAAAgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAoAAAAAAAAIAAKAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAgAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAoAgAKAAAAAAgAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAAAAAAAAIAAAKAAAAACAAAAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAACAAAAAgKAAAAACAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAIAAAAAAAAAAACgAAAAAAAAAAAAgAAAACgAAAAAAAAAAAgAAAAAAAAoAAAAAIAAAoAAAAIAAKAAAAAAAACAKAAAAAAAAACAAACgAAAAAAgAAAAKAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACAAAoAAAAAIAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAAAAACAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAACAAAAAKAAAAAAAAAAAACAAAAAAACgAAAgAACgAAAAgAAAAoAAAAAAAIAoICgAAAAAAgAAAAoAAAAAAIAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAgAAKAAAAAACAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAgAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAgAAAACgAAAAAAAAAAAAgKCAAAAAAAAAAAoAAAAAAAAAIAKAoAAIAAIAAoIAAAAAAAAAAAAKAAAAACAAAAAoAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAIAACgAAAAAAAAgKCAoAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAoAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAACgAAAAIAIAAAAAACgAAAAAAAAAAAAAAgAAAAAKAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAACAAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAoAAACAoAAAAAAAAAgAAAAAAAKAAAAAAAAAAAKAAAAAgAiggAAAAAoAAAAAAAAAAAAAAAAIAAAACgAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAKAgAAKCAoAAAAAAgKCAAAAAAAAAoAAAAAAAAoAAAAAACAogCAAAACgAAAAAAAAAAAAAAAAAAgAAAKAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAoAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAoCAAAAoAAAAAgKAAAAAAACAAAAoAAAAAAoAAAAAAAACAoiAAAAACgAAAAAAAAAAAAAAAAAAAKCAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAICgAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAqAAAAoAAAAAgAKAAAAAACAAAAoAAAAAqAoAAAAAAAAIIoIAAAAKAAAAAAAAAAAAAACgAgAAACgAAgAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACAAoAAAAAAAAIAACgAAAAgAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAoCAoiCqAAIAAACgAAAAAAAgAAAAKCAoqAAAAAAAAAoAIIAAAAACgAAAAAAAAAAAAoAAAAAAIAoAAIAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAgAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAKCIACgAAAAACgAAAAAAAAgAAAAAAAoAAAAAAAAAAAAIAAAACgAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAKAAAACAAAAAAAAoAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAoIAAAAAAAAACgAAAAAAAAAgAAAAAAAoAAAAAAAAAAAAIAAAACgAAAAAAAAAAoAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAACAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAKCAAAAAAAAAoICgCAAAoAACAAAAAAACgAAAAAAAAAAAAAgAAAKAAAAAAAAAACgAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAA0AAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAKAACAoIAAAAAAACgACAAoAAACAAAAACgAAAAAAAAAAAAAAgAAKAAAAAAAAAAACgAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAA0AAAAAAAAACAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAKAAAAACAAAAAAAoAAgAAKAAAgAAAAoAAAAAAAAAAAAAAIAACgAAAAAAAAAAAAAoAAAAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAACgAAAAAAAgAAAAAKAAAIAACgAAIAAAKAAAAAAAAAAAAAACAAAoAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAACAAAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKIAAAAAAAgAAAAAKAAAAIACgAAIAAAAKAAAAAAAAAAAoIAIoIKAAAAAACgAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAIAAAAAgAAAAAAAKAAAAAAAAACAAACgAAAAAAAAKCAoAIAAAAAAAAKAAACAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAACAAAAAAAAoIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAgAAACACgAAAgACgAAAAAAAAAgAAAoAAAAAACgAgKAAAACAAAAACgAAAAAgAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAKAAAAAAAAAAAACAAAAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAAAAACAAKAAAAAAAACAAACgAAAAAAAKAAAAAACAAAAACgAAAAAAgAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAgAAAAAAAAAKAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAgCgAAAAAAAgAAAoAAAAAAAAACgAAAAAgAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAigAAAgAAAAAAoAAAAAAAAAACgAAAAgAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIACgAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAIAACgAAAAAAAAAAAKCAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAACgAgAAAAAAAIAACgAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAKAAAAAACAAAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAKAACAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgCoAAAAAAAAAIAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIAAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAACAAAAAoAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAgAAAAKACAAAAAAAAAAAAAKAAAKgAAAAAAAAAgAAAAAAAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKoAIAAAIAAAAAAAACqAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAIACgAAgAAAAAAAAAAKACKAAAKgAAAAAAAAAAgAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAACAAAAAAAAAAAAAAAoAAAAAAAAIAAAAACgAAKACAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAigAAAgoAAAAAAAAAIAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAgAAAAAAAKAAAAAAAAAAAAAAACAAoAAAAAAAAAAAAIAAAACgAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAACAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAIAAACAAoAAAKACKAAACCgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAACgAAAAAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAoAAAAIAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAACAAAAgCggoAAKAACAKCCgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACgAAAAAgAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAAAAIAACgAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAACAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAIAACKAAKgAAoAAAICgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACggAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAAKAAAAAAAAAAACgAAAAAAAAAAAAAgAAAAAAAAAKAAACAAAAAAAAAoAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAgAACiAAqAAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAACgAAAAAoIAAAAAAAAAAAAAAAAAACgAAAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAgAAAAAKAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAKAAAACAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAIAAoAAIAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAgAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAIAoAIAAKAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACggAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAKAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAACAoAAAAAAAAAAAAAAAAIAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAAAIAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAKCAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAIAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAKAAACAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAIAACgAAAAgAAAAAAAAKAAAAAAAAAAAAACggAAAAAAAAAAAAAAAAAICgAAAAAoAAAAAIAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAiAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAoIAAAAAAAAAAAAAACAAAAAAoAAAAKAAAACAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAACCAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAACgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAoAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAoAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAAAAAAIAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAACAAoAAAAKAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAoAAAAAAAAAAIAACgAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACgAAAAAAAgAAAAAAKAAAAAAAAAACAoAAAAAAIAAAAAACgAAoAAAAAAAAAAIAAAAAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAICgAAAAAAAAAAAAAAAgAAAAAAAAKAAAAAAACAAAAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAAAAAAIAAAAACgAAAAAAAAAAAgAAAAAAAAAAAAAAAKAACgAAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAoIAAAAAAAAACgAAAAAAAAAAAAAAAAAgAAAICgAAAAAAAAAAAAAAoAAAAAAAAIACgAAAAAAAAAAAAAAAAAgAAAAAAKAAAAACAAAAAAAAAAAoAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAoAAAIAAAAAAACgAAAAAAAAAAAAgAAAAAAAAAAAAAAKAAACgAAAAAAAAAgAAAAAAAAAAAAAAAAAAKAAAAACAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAgAAAICgAAAAAAAAAAAAAAoAAAAAAAIAACggAAAKAAAAAAAAAAAAAACAAAAAAAoAAAIAAAAAAAAAACgAAAAgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAACKCAACgAAAAAAAAAAAAAoAAAAAAAAAAAAAIAAAAAAAAAAAAAAACgAAAAAoAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAgKAAAAAAAAAAAAAAACgAAAAAgAAAAAAAAAKAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAoAAAIAAAAAAAAACAAAoAAAAAAAAIAAAAAAAAAAAAACKAAACACgAAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAAACAAAAoAAAAKAAAAAAACgAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAoAIAAAAAAAACgAAAAAgAAAKCAAAAAAAoAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAACgAAgAAAAAAAAAIAAAACgAAAAAAAgAAIAoAAAAoACACKAAAAACACgAAAAAAAAAAAAoAAAAAAAAAAAAIAAAAACAAAAAqgAAgAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAoAAAIAAAAAACgAAAAAgAAAKACAAAAAAAAoAAAAAAAAAAAIAAAAAAAAACggAAAAAAAAAAKACAAAAAAAAAAgAAAAAKAAAAAACAAigAAAAAAAAAAAACAAoACACgAAgAAKAAAAAACgAAAAAAAAAAAgAAAAAIAAoAAoAAACAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAAgAAAAAKAAAAAACAAAA/9k="},qd=new bh,jd=function(){var A="Success",e="",t="",i=!1,o=0,n=null;return function(r,a,s){return 5===r?document.querySelector(".loading").classList.add("hide"):A=r,"error"===r&&(i=!1),void 0!==a&&(e=a,void 0!==s&&(i=s)),5e3>(new Date).getTime()-o?e!==t&&(n=qd.notify(A,{size:"mini",rounded:!0,position:"center top",sound:!1,delay:i,msg:e}),o=(new Date).getTime(),n.$el.childNodes[1].childNodes[0].title=e):(n=qd.notify(A,{size:"mini",rounded:!0,position:"center top",sound:!1,delay:i,msg:e}),o=(new Date).getTime(),n.$el.childNodes[1].childNodes[0].title=e),t=e,n}}(),Hd=function(A,e){var t=A.toolId,i=A.Flag,o=A.viewer,n=e.toolbarTop,r=function(A){var e=o.viewerImpl.getBoundingBoxByIds([A]);return e.max.distanceTo(e.min)/10},a=this;this.deleteListener=null,this.addListener=null,this.updateListener=null,this.imageSize=100;var s=qd.window({title:"标签",id:"markWindow"+t,width:356,height:848,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){var A=document.getElementById("mark"+t);i.mark=!1,A&&(A.style.backgroundColor="",A.querySelector(".yj-icon").className="yj-icon label-icon"),document.getElementById("markColorModal"+t)&&(document.getElementById("markColorModal"+t).style.display="none"),o.viewerImpl.cameraControl.dispatchEvent(Rc.ON_CAMERA_CHANGE)},content:'<div class="mark"><div class="first-floor"><table><tr><td style="font-size: 14px;ling-height:28px ">标签类型:</td><td><select><option value="dom">文字标签</option><option value="sprite">精灵标签</option></select></td></tr></table></div><div class="second-floor dom " style="border: none"><table><tr><td style="font-size: 14px;ling-height:28px ">标签样式:</td></tr><tr><td>标题:</td><td><input class="title" type="text"/></td></tr><tr><td>背景色:</td><td><div style=" width:56px;height:28px;background: rgba(0,0,0,0.20);"><input style="display:none" class="markColorInput"/><div class="colorRect" style="width: 16px; height: 16px;background-color:#FF0000;display:inline-block;margin:6px;"></div><button class="showColorModal" style="width:28px;height:28px;background-color:rgba(0,0,0,0);display: inline-block;border:none;position: relative;"><img style="position:absolute;left:2px;top:2px;" src='+Pd.downArrow+' /></button></div></td></tr><tr><td colspan="2">标签位置(点击模型获取):</td></tr><tr><td><label>X:</label></td><td><input class="startX" type="text"/></td></tr><tr><td><label>Y:</label></td><td><input class="startY" type="text"/></td></tr><tr><td><label>Z:</label></td><td><input class="startZ" type="text"/></td></tr><tr><td>构件:</td><td><input class="component" type="text" disabled/></td></tr><tr><td title="用于添加标签的备注,表现形式为文本编辑框">备注栏数:</td><td><input class="text-tab" type="text"/></td></tr></table></div><div class="second-floor sprite" style="display: none;border: none;"><table><tr><td style="font-size: 14px;ling-height:28px ">标签样式:</td></tr><tr><td>图标选择:</td><td><div class="picture"><div class="chosed-pic" data-chosed-url='+Pd.fire+" ><img src="+Pd.fire+' /><button class="show-pic-list" style="width:28px;height:28px;background-color:rgba(0,0,0,0);display: inline-block;border:none;position: relative;"><img style="position:absolute;left:2px;top:2px;" src='+Pd.downArrow+' /></button></div><ul style="display: none;" class="pic-list"><li><img src='+Pd.fire+" /></li><li><img src="+Pd.in+" /></li><li><img src="+Pd.info+" /></li><li><img src="+Pd.wall+" /></li><li><img src="+Pd.window+" /></li><li><img src="+Pd.livingRoom+" /></li><li><img src="+Pd.kitchen+' /></li></ul></div></td></tr><tr><td>标签大小:</td><td><input class="size" type="text" placeholder="请输入图标缩放比例(默认为1)"/></td></tr><tr><td colspan="2">标签位置(点击模型获取):</td></tr><tr><td>X:</td><td><input class="startX" type="text"/></td></tr><tr><td>Y:</td><td><input class="startY" type="text"/></td></tr><tr><td>Z:</td><td><input class="startZ" type="text"/></td></tr><tr><td>构件:</td><td><input class="component" type="text" disabled/></td></tr></table></div><div class="second-floor plane" style="display: none;border: none;"><table><tr><td style="font-size: 14px;ling-height:28px ">标签样式:</td></tr><tr><td>图标选择:</td><td><div class="picture"><div class="chosed-pic" data-chosed-url='+Pd.fire+" ><img src="+Pd.fire+' /><button class="show-pic-list" style="width:28px;height:28px;background-color:rgba(0,0,0,0);display: inline-block;border:none;position: relative;"><img style="position:absolute;left:2px;top:2px;" src='+Pd.downArrow+' /></button></div><ul style="display: none;" class="pic-list"><li><img src='+Pd.fire+" /></li><li><img src="+Pd.in+" /></li><li><img src="+Pd.info+" /></li><li><img src="+Pd.wall+" /></li><li><img src="+Pd.window+" /></li><li><img src="+Pd.livingRoom+" /></li><li><img src="+Pd.kitchen+' /></li></ul></div></td></tr><tr><td>标签大小:</td><td><input class="size" type="text" placeholder="请输入图标缩放比例(默认为1)"/></td></tr><tr><td colspan="2">标签位置(点击模型获取):</td></tr><tr><td>X:</td><td><input class="startX" type="text"/></td></tr><tr><td>Y:</td><td><input class="startY" type="text"/></td></tr><tr><td>Z:</td><td><input class="startZ" type="text"/></td></tr><tr><td>构件:</td><td><input class="component" type="text" disabled/></td></tr><tr style=\'display: none\'><td>标签所在面:</td><td class=\'face\'><input type="text"/></td></tr></table></div><div class="third-floor"><button class="addMark" style="margin-right:7px;">添加标签</button><button class="showList" style="margin-left:7px;">展示标签列表</button></div><div class="forth-floor" style="display: none;"><span style="font-size: 14px;ling-height:28px " ">标签列表:</span><div class="tables"><table class="dom"><thead><tr><td colspan="6">文字标签列表</td></tr></thead><tbody></tbody></table><table class="sprite"><thead><tr><td colspan="6">精灵标签列表</td></tr></thead><tbody></tbody></table></div></div></div>'});s.$el.addClass("markWindow");var l=function(A){if(A.intersectInfo){var e="",i=function A(e){if(e.intersectInfo){o.viewerImpl.modelManager.removeEventListener(Rc.ON_CLICK_PICK,A);var t=o.viewerImpl.camera,i=e.intersectInfo.point.clone(),n=t.position.clone(),r=i.clone().sub(n),a=r.length(),s=o.viewerImpl.getBoundingBoxByIds([e.intersectInfo.selectedObjectId]),l=new CA(n,i.sub(n).normalize()).intersectBox(s),c=Math.min(s.max.x-l.x,l.x-s.min.x),h=Math.min(s.max.y-l.y,l.y-s.min.y),d=Math.min(s.max.z-l.z,l.z-s.min.z),p=Math.min(c,h,d);return{point:e.intersectInfo.point,distance:a,face:p===c?"x":p===h?"y":"z",eye:r,box:s}}}(A),n=document.getElementById("updateMark"+t);xh.hasClass(n,"hide")?(e=s.$el.querySelector(".mark .first-floor select").value,s.$el.querySelector(".mark ."+e+" .startX ").value=A.intersectInfo.point.x,s.$el.querySelector(".mark ."+e+" .startY ").value=A.intersectInfo.point.y,s.$el.querySelector(".mark ."+e+" .startZ ").value=A.intersectInfo.point.z,s.$el.querySelector(".mark ."+e+" .component ").value=A.intersectInfo.selectedObjectId,"plane"===e&&(s.$el.querySelector(".mark ."+e+" .face ").value=i.face)):(e="block"===n.querySelector(".dom").style.display?"dom":"block"===n.querySelector(".sprite").style.display?"sprite":"plane",n.querySelector("."+e+" .startX ").value=A.intersectInfo.point.x,n.querySelector("."+e+" .startY ").value=A.intersectInfo.point.y,n.querySelector("."+e+" .startZ ").value=A.intersectInfo.point.z,n.querySelector("."+e+" .component ").value=A.intersectInfo.selectedObjectId,"plane"===e&&(n.querySelector("."+e+" .face ").value=i.face))}},c=new Od(o.viewerImpl),h=new Gd(o.viewerImpl),d=new Vd(o.viewerImpl),p=s.$el.querySelector(".mark .dom .markColorInput"),g=new Hh(p,{hasOpacity:!1});p.value="rgb(255,0,0)";var u=g.element;u.id="markColorModal"+t,u.className="markColorModal",document.getElementById("mark"+t).parentNode.appendChild(u);var f=qd.prompt({title:"修改标签",id:"updateMark"+t,width:356,height:400,closeOnEsc:!1,closeButton:!1,buttons:{ok:{class:"lobibox-btn lobibox-btn-default",text:"确定",closeOnClick:!0},cancel:{class:"lobibox-btn lobibox-btn-cancel",text:"取消",closeOnClick:!0}},content:'<div class="updateMarkPrompt"><div class="dom "><div style="margin-left:10px;"><table><tr><td>标签id:</td><td><input class="markId" type="text" disabled/></td></tr><tr><td>标题:</td><td><input class="title" type="text"/></td></tr><tr><td>背景色:</td><td><div style=" width:56px;height:28px;background: rgba(0,0,0,0.20);"><input style="display:none" class="markColorInput"/><div class="colorRect" style="width: 16px; height: 16px;background-color:#FF0000;display:inline-block;margin:6px;"></div><button class="showColorModal" style="width:28px;height:28px;background-color:rgba(0,0,0,0);display: inline-block;border:none;outline: none;position: relative;"><img style="position:absolute;left:2px;top:2px;" src='+Pd.downArrow+' /></button></div></td></tr><tr><td colspan="2">标签位置(点击模型获取):</td></tr><tr><td><label>X:</label></td><td><input class="startX" type="text"/></td></tr><tr><td><label>Y:</label></td><td><input class="startY" type="text"/></td></tr><tr><td><label>Z:</label></td><td><input class="startZ" type="text"/></td></tr><tr><td>构件:</td><td><input class="component" type="text" disabled/></td></tr><tr><td title="用于添加标签的备注,表现形式为文本编辑框">备注栏数:</td><td><input class="text-tab" type="text"/></td></tr></table></div></div><div class="sprite"><div style="margin-left:10px;"><table><tr><td>标签id:</td><td><input class="markId" type="text" disabled/></td></tr><tr><td>图标选择:</td><td><div class="picture"><div class="chosed-pic" data-chosed-url='+Pd.fire+"><img src="+Pd.fire+' /><button class="show-pic-list" style="width:28px;height:28px;background-color:rgba(0,0,0,0);display: inline-block;border:none;position: relative;"><img style="position:absolute;left:2px;top:2px;" src='+Pd.downArrow+' /></button></div><ul style="display: none;" class="pic-list"><li><img src='+Pd.fire+" /></li><li><img src="+Pd.in+" /></li><li><img src="+Pd.info+" /></li><li><img src="+Pd.wall+" /></li><li><img src="+Pd.window+" /></li><li><img src="+Pd.livingRoom+" /></li><li><img src="+Pd.kitchen+' /></li></ul></div></td></tr><tr><td>标签大小:</td><td><input class="size" type="text" placeholder="请输入图标缩放比例(默认为1)"/></td></tr></tr><tr><td colspan="2">标签位置(点击模型获取):</td></tr><tr><td>X:</td><td><input class="startX" type="text"/></td></tr><tr><td>Y:</td><td><input class="startY" type="text"/></td></tr><tr><td>Z:</td><td><input class="startZ" type="text"/></td></tr><tr><td>构件:</td><td><input class="component" type="text" disabled/></td></tr></table></div></div><div class="plane"><div style="margin-left:10px;"><table><tr><td>标签id:</td><td><input class="markId" type="text" disabled/></td></tr><tr><td>图标选择:</td><td><div class="picture"><div class="chosed-pic" data-chosed-url='+Pd.fire+" ><img src="+Pd.fire+' /><button class="show-pic-list" style="width:28px;height:28px;background-color:rgba(0,0,0,0);display: inline-block;border:none;position: relative;"><img style="position:absolute;left:2px;top:2px;" src='+Pd.downArrow+' /></button></div><ul style="display: none;" class="pic-list"><li><img src='+Pd.fire+" /></li><li><img src="+Pd.in+" /></li><li><img src="+Pd.info+" /></li><li><img src="+Pd.wall+" /></li><li><img src="+Pd.window+" /></li><li><img src="+Pd.livingRoom+" /></li><li><img src="+Pd.kitchen+' /></li></ul></div></td></tr><tr><td>标签大小:</td><td><input class="size" type="text" placeholder="请输入图标缩放比例(默认为1)"/></td></tr></tr><tr><td colspan="2">标签位置(点击模型获取):</td></tr><tr><td>X:</td><td><input class="startX" type="text"/></td></tr><tr><td>Y:</td><td><input class="startY" type="text"/></td></tr><tr><td>Z:</td><td><input class="startZ" type="text"/></td></tr><tr><td>构件:</td><td><input class="component" type="text" disabled/></td></tr><tr style=\'display: none\'><td>标签所在面:</td><td class=\'face\'><input type="text"/></td></tr></table></div></div></div>'});f.setPosition({left:o.viewportDiv.offsetWidth-f.width-5,top:60}),f.promptHide(),f.$el.addClass("updateMark"),u.querySelector(".btn-yes").addEventListener("click",(function(){var A=document.getElementById("updateMark"+t);xh.hasClass(A,"hide")?s.$el.querySelector(".mark .dom .colorRect").style.backgroundColor=p.value:f.$el.querySelector(".updateMarkPrompt .dom .colorRect").style.backgroundColor=p.value}));var m=qd.confirm({title:"请再次确认:",id:"confirm-mark"+t,width:356,height:87,closeOnEsc:!1,closeButton:!1,iconClass:!1,msg:"是否要删除此标签?"});m.setPosition({left:(qd.viewport.offsetWidth-m.$options.width)/2,top:5}),m.confirmHide(),xh.addEventListener(n.querySelector("#mark"+t),"click",(function(){i.mark?(s.windowHide(),o.viewerImpl.modelManager.removeEventListener(Rc.ON_CLICK_PICK,l),f.promptHide(),u.style.display="none"):(document.getElementById("mark"+t).querySelector(".yj-icon").className="yj-icon label-icon active",i.mark=!i.mark,s.windowShow(),o.viewerImpl.modelManager.addEventListener(Rc.ON_CLICK_PICK,l))}));for(var C=s.$el.querySelectorAll(".lobibox .lobibox-body .showColorModal"),v=0;C.length>v;v+=1)C[v].addEventListener("click",(function(){u.style.display="none"===u.style.display?"block":"none"}));for(var I=f.$el.querySelectorAll(".lobibox .lobibox-body .showColorModal"),E=0;I.length>E;E+=1)I[E].addEventListener("click",(function(){u.style.display="none"===u.style.display?"block":"none"}));for(var B=s.$el.querySelectorAll(".lobibox .lobibox-body .picture .chosed-pic"),x=0;B.length>x;x+=1)B[x].addEventListener("click",(function(){var A=this.parentElement.lastChild;A.style.display="none"===A.style.display?"block":"none"}));for(var S=s.$el.querySelectorAll(".lobibox .lobibox-body .picture .file-choose span"),w=0;S.length>w;w+=1)S[w].addEventListener("click",(function(){this.parentElement.querySelector("input").click()}));for(var M=s.$el.querySelectorAll(".lobibox .lobibox-body .picture .pic-list li"),b=0;M.length>b;b+=1)M[b].addEventListener("click",(function(){var A=this.parentElement.parentElement.querySelector(".chosed-pic"),e=this.querySelector("img").getAttribute("src");A.dataset.chosedUrl=e,A.querySelector("img").setAttribute("src",e),A.parentElement.lastChild.style.display="none"}));s.$el.querySelector(".mark .first-floor select").addEventListener("change",(function(){for(var A=this.value,e=s.$el.querySelectorAll(".mark .second-floor"),t=0;e.length>t;t+=1)e[t].style.display="none";s.$el.querySelector(".mark ."+A).style.display="block",u.style.display="none"})),s.$el.querySelector(".mark .third-floor .showList").addEventListener("click",(function(){var A=s.$el.querySelector(".mark .forth-floor");"none"===A.style.display?(A.style.display="block",this.innerHTML="隐藏标签列表"):(A.style.display="none",this.innerHTML="展示标签列表")})),s.$el.querySelector(".mark .third-floor .addMark").addEventListener("click",(function(){u.style.display="none";var A=s.$el.querySelector(".mark .first-floor select").value,e=[],t=null;if("dom"===A){var i=s.$el.querySelector(".mark .dom .title ").value;""===i&&(i="标签");var n=Kd.getColorArrayFromRGBA(s.$el.querySelector(".mark .dom .colorRect").style.backgroundColor),l=parseInt(s.$el.querySelector(".mark .dom .text-tab ").value,0),c=null;if(l>10)return void jd("warning","备注栏不可超过10个",5e3);if(l>0){c=document.createElement("div");for(var h=0;l>h;h+=1)c.innerHTML+='<input type="text" style="margin:10px 5px;display:block;border:1px solid #000000;"/>'}var d=s.$el.querySelector(".mark .dom .component ").value;if(e[0]=Number(s.$el.querySelector(".mark .dom .startX ").value),e[1]=Number(s.$el.querySelector(".mark .dom .startY ").value),e[2]=Number(s.$el.querySelector(".mark .dom .startZ ").value),isNaN(e[0])||isNaN(e[1])||isNaN(e[2]))return void jd("warning","标签位置错误,无法新建标签",5e3);var p=o.getScreenCoordFromSceneCoord(e);t={title:i,color:n,startPosition:[e[0],e[1],e[2]],endPosition:[p[0]+100,p[1]-200],domElement:c,componentId:d}}else if("sprite"===A){try{var g=s.$el.querySelector(".mark .sprite .chosed-pic").dataset.chosedUrl}catch(A){return void jd("warning","未选择标签图标",5e3)}var f=Number(s.$el.querySelector(".mark .sprite .size ").value);f&&f>=0||(f=1);var m=s.$el.querySelector(".mark .sprite .component ").value;if(m&&(a.imageSize=r(m)),e[0]=Number(s.$el.querySelector(".mark .sprite .startX ").value),e[1]=Number(s.$el.querySelector(".mark .sprite .startY ").value),e[2]=Number(s.$el.querySelector(".mark .sprite .startZ ").value),isNaN(e[0])||isNaN(e[1])||isNaN(e[2]))return void jd("warning","标签位置错误,无法新建标签",5e3);t={url:g,scale:f,useImageSize:!1,width:a.imageSize,height:a.imageSize,position:e,alwaysVisible:!0,componentId:m}}else{try{g=s.$el.querySelector(".mark .plane .chosed-pic").dataset.chosedUrl}catch(A){return void a.message("warning","未选择标签图标",5e3)}var C=Number(s.$el.querySelector(".mark .plane .size ").value);C&&C>=0||(C=1);var y=s.$el.querySelector(".mark .plane .component ").value;if(y&&(a.imageSize=r(y)),e[0]=Number(s.$el.querySelector(".mark .plane .startX ").value),e[1]=Number(s.$el.querySelector(".mark .plane .startY ").value),e[2]=Number(s.$el.querySelector(".mark .plane .startZ ").value),isNaN(e[0])||isNaN(e[1])||isNaN(e[2]))return void a.message("warning","标签位置错误,无法新建标签",5e3);var v=s.$el.querySelector(".mark .plane .face").value;v||(v="x"),t={URL:g,scale:C,useImageSize:!1,width:a.imageSize,height:a.imageSize,position:e,alwaysVisible:!0,componentId:y,transparent:!0,face:v,useFaceMatrix:!0}}"function"==typeof a.addListener?a.addListener(A,t,(function(e,i){e&&a.add(A,i||t)})):a.add(A,t)})),s.$el.querySelector(".forth-floor").addEventListener("click",(function(A){switch(A.target.className){case"deleteMark":a.markDelete(A);break;case"updateMark":a.markUpdate(A);break;case"info":if("聚焦"===A.target.innerText){var e="",i=xh.closest(A.target,"tr"),n=i.querySelector(".id").innerHTML,r=xh.closest(i,"table").className;if("dom"===r?e=c.marks[n].componentId:"sprite"===r?e=h.marks[n].componentId:"plane"===r&&(e=d.marks[n].componentId),!e)return void jd("warning","该标签没有关联构件!",5e3);for(var s=document.querySelectorAll("#markWindow"+t+" .forth-floor .info"),l=0;s.length>l;l+=1)s[l].innerText="聚焦";A.target.innerText="失焦",function(A){var e=o.viewerImpl.getBoundingBoxByIds([A]);if(e.min.x!==-1/0&&e.min.x!==1/0){var t=e.getCenter(new y),i=o.viewerImpl.camera.getWorldDirection(),n=e.max.distanceTo(e.min),r=new y;r.copy(i),r.setLength(n);var a=new y;a.subVectors(t,r),o.flyTo({position:a,target:t,up:o.viewerImpl.camera.up},(function(){o.viewerImpl.cameraControl.dispatchEvent(Rc.ON_CAMERA_CHANGE)})),o.highlightComponentsByKey([A]),o.closeTransparentComponentsByKey([A]),o.transparentOtherComponentsByKey([A])}else jd("warning","该构件不存在!",5e3)}(e)}else A.target.innerText="聚焦",o.clearTransparentList(),o.clearHighlightList();break;default:if(xh.hasClass(A.target,"hideOrShow")){var p=xh.closest(A.target,"tr"),g=p.querySelector(".id").innerHTML,u=xh.closest(p,"table").className,f=null;f="dom"===u?c:"sprite"===u?h:c,xh.hasClass(A.target,"hideMark")?(f.hide(g),A.target.classList.remove("hideMark"),A.target.classList.add("showMark"),A.target.innerHTML="显示"):(f.show(g),A.target.classList.remove("showMark"),A.target.classList.add("hideMark"),A.target.innerHTML="隐藏")}}})),s.setPosition({left:"",right:5,top:60}),s.windowHide(),this.add=function(A,e){switch(A){case"dom":this.addDOMMark(e);break;case"sprite":this.addSpriteMark(e);break;case"plane":this.addPlaneMark(e)}},this.addDOMMark=function(A){c.add(A,(function(e){s.$el.querySelector(".mark .forth-floor .dom tbody").innerHTML+="<tr markId='"+e+'\'><td class="id" title="'+e+'" width="60px">'+e+'</td><td class="markTitle" title="'+A.title+'" width="60px">'+A.title+'</td><td><button class="info">聚焦</button></td><td><button class="hideOrShow hideMark">隐藏</button></td><td><button class="deleteMark">删除</button></td><td><button class="updateMark">修改</button></td></tr>'}))},this.addSpriteMark=function(A){h.add(A,(function(e){s.$el.querySelector(".mark .forth-floor .sprite tbody").innerHTML+="<tr markId='"+e+'\'><td class="id" title="'+e+'" width="60px">'+e+'</td><td class="img" width="60px"><img class="markImg" style="width:18px;height:18px;margin-left:10px;" src="'+A.url+'"/></td><td><button class="info">聚焦</button></td><td><button class="hideOrShow hideMark">隐藏</button></td><td><button class="deleteMark">删除</button></td><td><button class="updateMark">修改</button></td></tr>'}))},this.addPlaneMark=function(A){d.add(A,(function(e){s.$el.querySelector(".mark .forth-floor .plane tbody").innerHTML+="<tr markId='"+e+'\'><td class="id" title="'+e+'" width="60px">'+e+'</td><td class="img" width="60px"><img class="markImg" style="width:18px;height:18px;margin-left:10px;" src="'+A.URL+'"/></td><td><button class="info">构件</button></td><td><button class="hideOrShow hideMark">隐藏</button></td><td><button class="deleteMark">删除</button></td><td><button class="updateMark">修改</button></td></tr>'}))},this.markDelete=function(A){var e=xh.closest(A.target,"tr"),i=e.querySelector(".id").innerHTML,o=xh.closest(e,"table").className;m.confirmShow();var n="";"dom"===o?n="文字标签":"sprite"===o?n="精灵标签":"plane"===o&&(n="平面标签"),document.querySelector("#confirm-mark"+t+" .lobibox-body-text").innerHTML="是否要删除编号为["+i+"]的"+n+"",document.querySelector("#confirm-mark"+t+" .lobibox-btn-yes").onclick=function(){"function"==typeof a.deleteListener?a.deleteListener(o,i,(function(A){A&&a.delete(o,i)})):a.delete(o,i),m.confirmHide()},document.querySelector("#confirm-mark"+t+" .lobibox-btn-no").onclick=function(){m.confirmHide()}},this.delete=function(A,e){var t=null;if("dom"===A){if(t=c){t.remove(e);var i=s.$el.querySelector(".mark .forth-floor .dom tbody"),o=document.querySelector("tr[markId='"+e+"']");i.removeChild(o)}}else if("sprite"===A){if(t=h){t.remove(e);var n=s.$el.querySelector(".mark .forth-floor .sprite tbody"),r=document.querySelector("tr[markId='"+e+"']");n.removeChild(r)}}else if("plane"===A&&(t=d)){t.remove(e);var a=s.$el.querySelector(".mark .forth-floor .plane tbody"),l=document.querySelector("tr[markId='"+e+"']");a.removeChild(l)}},this.markUpdate=function(A){var e=xh.closest(A.target,"tr"),i=e.querySelector(".id").innerHTML,o=xh.closest(e,"table").className;f.promptShow();var n=document.getElementById("updateMark"+t);if(n.style.cssText+="z-index:"+(Number(document.getElementById("markWindow"+t).style.zIndex)+1),"dom"===o){for(var l=n.querySelectorAll(".sprite , .plane"),p=0;l.length>p;p+=1)l[p].style.display="none";n.querySelector(".dom ").style.display="block",n.querySelector(".dom .markId").value=i,n.querySelector(".dom .title").value=c.marks[i].title,n.querySelector(".dom .startX").value=c.marks[i].startPosition[0],n.querySelector(".dom .startY").value=c.marks[i].startPosition[1],n.querySelector(".dom .startZ").value=c.marks[i].startPosition[2],n.querySelector(".dom .component").value=c.marks[i].componentId,c.marks[i].domElement&&(n.querySelector(".dom .text-tab").value=c.marks[i].domElement.querySelectorAll("input").length),n.querySelector(".dom .colorRect").style.backgroundColor=Kd.getRGBAFromColorArray(c.marks[i].color),n.querySelector(".lobibox-btn-default").onclick=function(){var A=n.querySelector(".dom .title").value;""===A&&(A="标签");var e=Kd.getColorArrayFromRGBA(n.querySelector(".dom .colorRect").style.backgroundColor),t=[];if(t[0]=n.querySelector(".dom .startX").value,t[1]=n.querySelector(".dom .startY").value,t[2]=n.querySelector(".dom .startZ").value,isNaN(t[0])||isNaN(t[1])||isNaN(t[2]))jd("warning","标签位置无效,无法更新标签",5e3);else{var r=parseInt(n.querySelector(".dom .text-tab ").value,0),s=null;if(10<r)jd("warning","备注栏不可超过10个",5e3);else{if(r>0){s=document.createElement("div");for(var l=0;r>l;l+=1)s.innerHTML+='<input type="text" style="margin:10px 5px;display:block;border:1px solid #000000;"/>'}var c={title:A,color:e,startPosition:t,domElement:s,componentId:n.querySelector(".dom .component").value};"function"==typeof a.updateListener?a.updateListener(o,i,c,(function(A,e){A&&a.update(o,i,e||c)})):a.update(o,i,c),f.promptHide(),u.style.display="none"}}}}else if("sprite"===o){for(var g=n.querySelectorAll(".dom , .plane"),m=0;g.length>m;m+=1)g[m].style.display="none";n.querySelector(".sprite ").style.display="block",n.querySelector(".sprite .markId").value=i,n.querySelector(".sprite .picture .chosed-pic").dataset.chosedUrl=h.marks[i].url,n.querySelector(".sprite .picture .chosed-pic img").setAttribute("src",h.marks[i].url),n.querySelector(".sprite .size").value=h.marks[i].scale,n.querySelector(".sprite .startX").value=h.marks[i].position[0],n.querySelector(".sprite .startY").value=h.marks[i].position[1],n.querySelector(".sprite .startZ").value=h.marks[i].position[2],n.querySelector(".sprite .component").value=h.marks[i].componentId,n.querySelector(".lobibox-btn-default").onclick=function(){try{var A=n.querySelector(".sprite .picture .chosed-pic").dataset.chosedUrl}catch(A){return void jd("warning","未选择标签图标",5e3)}var e=n.querySelector(".sprite .size").value;e&&e>=0||(e=1);var t=[];if(t[0]=Number(n.querySelector(".sprite .startX ").value),t[1]=Number(n.querySelector(".sprite .startY ").value),t[2]=Number(n.querySelector(" .sprite .startZ ").value),isNaN(t[0])||isNaN(t[1])||isNaN(t[2]))jd("warning","标签位置无效,无法更新标签",5e3);else{var s=n.querySelector(".sprite .component").value;s&&(a.imageSize=r(s));var l={url:A,scale:e,position:t,useImageSize:!1,width:a.imageSize,height:a.imageSize,alwaysVisible:!0,componentId:s};"function"==typeof a.updateListener?a.updateListener(o,i,l,(function(A,e){A&&a.update(o,i,e||l)})):a.update(o,i,l),f.promptHide()}}}else if("plane"===o){for(var C=n.querySelectorAll(".dom , .sprite"),y=0;C.length>y;y+=1)C[y].style.display="none";n.querySelector(".plane ").style.display="block",n.querySelector(".plane .markId").value=i,n.querySelector(".plane .picture .chosed-pic").dataset.chosedUrl=d.marks[i].URL,n.querySelector(".plane .picture .chosed-pic img").setAttribute("src",d.marks[i].URL),n.querySelector(".plane .size").value=d.marks[i].scale,n.querySelector(".plane .startX").value=d.marks[i].position[0],n.querySelector(".plane .startY").value=d.marks[i].position[1],n.querySelector(".plane .startZ").value=d.marks[i].position[2],n.querySelector(".plane .component").value=d.marks[i].componentId,n.querySelector(".plane .face").value=d.marks[i].face,n.querySelector(".lobibox-btn-default").onclick=function(){try{var A=n.querySelector(".plane .picture .chosed-pic").dataset.chosedUrl}catch(A){return void jd("warning","未选择标签图标",5e3)}var e=n.querySelector(".plane .size").value;e&&e>=0||(e=1);var t=[];if(t[0]=Number(n.querySelector(".plane .startX ").value),t[1]=Number(n.querySelector(".plane .startY ").value),t[2]=Number(n.querySelector(" .plane .startZ ").value),isNaN(t[0])||isNaN(t[1])||isNaN(t[2]))jd("warning","标签位置无效,无法更新标签",5e3);else{var l=n.querySelector(".plane .component").value;l&&(a.imageSize=r(l));var c=s.$el.querySelector(".updateMarkPrompt .plane .face").value;c||(c="x");var h={URL:A,scale:e,position:t,useImageSize:!1,width:a.imageSize,height:a.imageSize,alwaysVisible:!0,face:c,componentId:l};"function"==typeof a.updateListener?a.updateListener(o,i,h,(function(A,e){A&&a.update(o,i,e||h)})):a.update(o,i,h),f.promptHide()}}}n.querySelector(".lobibox-btn-cancel").onclick=function(){f.promptHide(),u.style.display="none"}},this.update=function(A,e,t){"dom"===A?a.updateDOMMark(e,t):"sprite"===A?a.updateSpriteMark(e,t):"plane"===A&&a.updatePlaneMark(e,t)},this.hide=function(A,e){var t=document.querySelector("tr[markId='"+e+"']");if(t){var i=t.querySelector(".hideOrShow");i.classList.remove("hideMark"),i.classList.add("showMark"),i.innerHTML="显示"}"dom"===A?c.hide(e):"sprite"===A&&h.hide(e)},this.show=function(A,e){var t=document.querySelector("tr[markId='"+e+"']");if(t){var i=t.querySelector(".hideOrShow");i.classList.remove("showMark"),i.classList.add("hideMark"),i.innerHTML="显示"}"dom"===A?c.show(e):"sprite"===A&&h.show(e)},this.updateDOMMark=function(A,e){var t=document.querySelector("tr[markId='"+A+"']");t&&(t.querySelector(".markTitle").innerHTML=e.title,t.querySelector(".markTitle").setAttribute("title",e.title)),c.updateMark(A,e)},this.updateSpriteMark=function(A,e){var t=document.querySelector("tr[markId='"+A+"']");t&&t.querySelector(".markImg").setAttribute("src",e.url),h.updateMark(A,e)},this.updatePlaneMark=function(A,e){var t=document.querySelector("tr[markId='"+A+"']");t&&t.querySelector(".markImg").setAttribute("src",e.URL),d.updateMark(A,e)},this.getDOMMark=function(){return c},this.getSpriteMark=function(){return h},this.getPlaneMark=function(){return d}},Yd=function(A,e,t,i,o){var n=A.toolId,r=A.Flag,s=A.viewer;function l(A,e){A.length>e&&s.flyTo(A[e],(function(){l(A,e+=1)}))}o.querySelector("#collision"+n).addEventListener("click",(function(A){"walk"===s.viewerImpl.controlManager.control.name&&(vc.EnableHitDetection=!vc.EnableHitDetection),s.viewerImpl.controlManager.setFocuse()})),o.querySelector("#gravity"+n).addEventListener("click",(function(){"walk"===s.viewerImpl.controlManager.control.name&&(vc.WalkingWithGravity=!vc.WalkingWithGravity),s.viewerImpl.controlManager.setFocuse()}));var c={},h=[],d=qd.window({title:"漫游路径",id:"pathRoam"+n,width:356,height:848,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){var A=document.getElementById("roam"+n);r.roam=!1,A&&(A.style.backgroundColor="",A.querySelector(".yj-icon").className="yj-icon roam-icon")},content:'<div class="path-roaming"><div class="first-floor"><button class="addPath" style="width:300px;">展示路径添加面板</button></div><div class="second-floor" style="display:none;border: none"><p style="font-size: 14px;ling-height:30px "><b>Tips</b>:一条路径由多个视角组成,调整场景后点击【保存视角】按钮保存当前视角,保存多个视角后点击【保存路径】按钮完成路径设置。</p><div class="viewList"><table><thead><tr><td>名称</td><td colspan=\'3\'><input class="name" type="text"/></td></tr></thead><tbody></tbody></table></div><div class="saveBtns"><button class="savePath" >保存路径</button><button class="saveView">保存视角</button></div></div><div class="third-floor"><span style="font-size: 14px;ling-height:28px ">路径列表:</span><div><table class="pathList" style=\'word-wrap: break-word; word-break: break-all;table-layout: fixed;\'><tbody></tbody></table></div></div></div>'});d.$el.addClass("pathRoam");var p=null;t.addEventListener("click",(function(){if(r.roam)return p&&p.destroy(),document.getElementById("instructions"+n)&&s.viewerImpl.domElement.removeChild(document.getElementById("instructions"+n)),o.style.display="none",this.style.backgroundColor="",this.querySelector(".yj-icon").className="yj-icon roam-icon",r.roam=!1,s.viewerImpl.controlManager.setControlMode(s.viewerImpl,"pick"),void(d&&d.windowHide&&d.windowHide());r.measurement&&(document.getElementById("measurement"+n).style.backgroundColor="",document.getElementById("measurement"+n).querySelector(".yj-icon").className="yj-icon measurement-icon",jd("info","漫游模式下将关闭测量功能",2e3),e.exitMeasure&&e.exitMeasure()),r.sectioning&&(document.getElementById("sectioning"+n).style.backgroundColor="",document.getElementById("sectioning"+n).querySelector(".yj-icon").className="yj-icon sectioning-icon",jd("info","漫游模式下将关闭剖切功能",2e3),s.viewerImpl.controlManager.disableTool(Pc.CLIP_BY_BOX),r.sectioning=!1),r.multiple&&(document.getElementById("multiple"+n).style.backgroundColor="",document.getElementById("multiple"+n).querySelector(".yj-icon").className="yj-icon multiple-icon",jd("info","漫游模式下将关闭框选功能",2e3),s.viewerImpl.controlManager.disableTool(Pc.PICK_BY_RECT),r.multiple=!1),s.render(),this.style.backgroundColor="#1f89de",this.querySelector(".yj-icon").className="yj-icon roam-icon active",r.roam=!r.roam,p=qd.prompt({title:"漫游",id:"roamChoose"+n,width:356,height:87,closeOnEsc:!1,closeButton:!1,afterWindowHide:function(){var A=document.getElementById("roam"+n);r.roam=!1,A&&(A.style.backgroundColor=""),p.destroy(),p=null},buttons:{ok:{class:"lobibox-btn lobibox-btn-default",text:"自由漫游",closeOnClick:!0},cancel:{class:"lobibox-btn lobibox-btn-cancel",text:"路径漫游",closeOnClick:!0}}});var A=document.getElementById("roamChoose"+n);A.querySelector(".lobibox-body").style.display="none",A.querySelector(".lobibox-btn-default").addEventListener("click",(function(){p.destroy(),p=null;var A=document.createElement("div");A.id="instructions"+n,A.style.cssText+="position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(80,80,80,0.3);margin:0;padding:0;",A.innerHTML='<div class="roam"><div style="font-size:40px; width:100%;text-align: center">点击进入沉浸式浏览</div><div class="first-floor"><span>移动方向</span><div><img src='+Pd.sxzy+" /><img src="+Pd.wasd+' /></div></div><div class="second-floor"><div class="height"><span>高度</span><div><img class="left" src='+Pd.Q+' /><img class="right" src='+Pd.E+' /></div></div><div class="direct"><span>视角</span><div><img class="center" src='+Pd.mouseLeft+' /></div></div><div class="speed"><span>速度</span><div><img class="left" src='+Pd.add+' /><img class="right" src='+Pd.plus+" /></div></div></div></div>",s.viewerImpl.domElement.appendChild(A),A.onclick=function(){s.viewerImpl.domElement.removeChild(A),s.viewerImpl.domElement.querySelector(".main-canvas").focus(),s.viewerImpl.controlManager.setControlMode(s.viewerImpl,"walk"),o.style.display="block"}})),A.querySelector(".lobibox-btn-cancel").addEventListener("click",(function(){p.destroy(),p=null,d.windowShow()}))})),d.$el.querySelector(".path-roaming .first-floor .addPath").addEventListener("click",(function(){var A=d.$el.querySelector(".path-roaming .second-floor");"none"===A.style.display?(A.style.display="block",this.innerHTML="隐藏添加路径面板"):(A.style.display="none",this.innerHTML="展示添加路径面板")})),d.$el.querySelector(".path-roaming .second-floor .savePath").addEventListener("click",(function(){if(h.length<1)jd("warning","没有可保存路径",5e3);else{var A=d.$el.querySelector(".path-roaming .second-floor .name").value;A=A.trim()||xh.trim(A);var e=a.generateUUID();c[e]={},""===A&&(A="路径"),c[e].name=A,c[e].camera=h,d.$el.querySelector(".path-roaming .pathList tbody").innerHTML+="<tr data-key="+e+'><td class="name">'+A+'</td><td><button class="deletePath" data-index>删除</button></td><td><button class="roamPath">漫游</button></td></tr>',h=[],d.$el.querySelector(".path-roaming .second-floor .viewList .name").value="",d.$el.querySelector(".path-roaming .second-floor .viewList table tbody").innerHTML=""}})),d.$el.querySelector(".path-roaming .second-floor .saveView").addEventListener("click",(function(){var A={};A.position=s.viewerImpl.camera.position.clone(),A.target=s.viewerImpl.camera.target.clone(),A.up={x:0,y:0,z:1},h.push(A);var e=h.length;d.$el.querySelector(".path-roaming .second-floor .viewList table tbody").innerHTML+="<tr data-index="+(e-1)+'><td class="name">视角'+e+'</td><td><button class="deleteView">删除</button></td><td><button class="updateView">修改</button></td><td><button class="checkView">查看</button></td></tr>'}));var g=qd.confirm({title:"请再次确认:",id:"confirm-path"+n,width:356,height:87,closeOnEsc:!1,closeButton:!1,iconClass:!1,msg:"是否要删除此视角?"});return g.setPosition({left:(qd.viewport.offsetWidth-g.$options.width)/2,top:5}),g.confirmHide(),d.$el.addEventListener("click",(function(A){if("deleteView"===A.target.className){var e=(r=xh.closest(A.target,"tr")).dataset.index;g.confirmShow(),document.querySelector("#confirm-path"+n+" .lobibox-body-text").innerHTML="是否要删除编号为["+(Number(e)+1)+"]的视角?",document.querySelector("#confirm-path"+n+" .lobibox-btn-yes").onclick=function(){h.splice(e,1),d.$el.querySelector(".path-roaming .second-floor .viewList tbody").removeChild(r);for(var A=d.$el.querySelectorAll(".path-roaming .second-floor .viewList tbody tr"),t=0;A.length>t;t+=1)A[t].dataset.index=t,A[t].querySelector(".name").innerHTML="视角"+(t+1);g.confirmHide()},document.querySelector("#confirm-path"+n+" .lobibox-btn-no").onclick=function(){g.confirmHide()}}else if("updateView"===A.target.className){var t=xh.closest(A.target,"tr").dataset.index;g.confirmShow(),document.querySelector("#confirm-path"+n+" .lobibox-body-text").innerHTML="是否要修改编号为["+(Number(t)+1)+"]的视角为当前视角?",document.querySelector("#confirm-path"+n+" .lobibox-btn-yes").onclick=function(){var A={};A.position=s.viewerImpl.camera.position.clone(),A.target=s.viewerImpl.camera.target.clone(),A.up={x:0,y:0,z:1},h[t]=A,g.confirmHide()},document.querySelector("#confirm-path"+n+" .lobibox-btn-no").onclick=function(){g.confirmHide()}}else if("checkView"===A.target.className){var i=xh.closest(A.target,"tr").dataset.index;s.flyTo(h[i])}else if("roamPath"===A.target.className){var o=xh.closest(A.target,"tr").dataset.key;l(c[o].camera,0)}else if("deletePath"===A.target.className){var r,a=(r=xh.closest(A.target,"tr")).dataset.key;g.confirmShow(),document.querySelector("#confirm-path"+n+" .lobibox-body-text").innerHTML="是否要删除名称为["+c[a].name+"]的路径?",document.querySelector("#confirm-path"+n+" .lobibox-btn-yes").onclick=function(){d.$el.querySelector(".path-roaming .pathList tbody").removeChild(r),delete c[a],g.confirmHide()},document.querySelector("#confirm-path"+n+" .lobibox-btn-no").onclick=function(){g.confirmHide()}}})),d},Wd=function(A,e,t){var i=this;this.lobibox=new bh,A?(this.element=document.getElementById(A),this.lobibox.viewport=document.querySelector("#"+A)):this.element=document,this.change=!1;var o=function(){this.storage=null};o.prototype={init:function(){this.storage=function(){var A=!1;return"object"===lc(window.localStorage)?A=localStorage:"object"===lc(window.globalStorage)&&(A=window.globalStorage),A}()},getStorage:function(){return this.storage},save:function(A,e){var t=this.storage,i=!1;return!1!==t&&(i=t.setItem(A,e)),i},load:function(A){var e=this.storage,t=!1;return!1!==e&&(t=e.getItem(A)),t}},i.model=i.model||{},i.model.StorageModel=o;!function(){var A,e,t,o,n,r,a;(n=function(){this.name="Mouse",this.option={},this.mouseShape=null,this.init=function(A,e){this.setOption({lineWidth:1,strokeStyle:A.strokeStyle,radius:Math.ceil(A.lineWidth/2),opacity:100}),this.setPoints(e),this.setMouseShape(new i.model.shapeModel.CircleStroke),this.initMouseShape(),this.setImage()},this.paint=function(A){this.getMouseShape().paint(A)}}).prototype={getName:function(){return this.name},setOption:function(A){return"object"===lc(A)?(uh.extend(!0,this.option,A),this.getOption()):null},getOption:function(){return uh.extend(!0,{},this.option)},getMouseShape:function(){return this.mouseShape},setMouseShape:function(A){return this.mouseShape=A,A},setPoints:function(A){this.setOption(A)},initMouseShape:function(){this.getMouseShape().init(this.getOption())},setImage:function(){var A=this.getName();return[].map.call(document.querySelectorAll("#canvas-mouse"),(function(e,t){e.setAttribute("data-mouse",A)})),!0}},(A=function(){this.name="Cross",this.init=function(A,e){var t=this.getName();this.setOption({length:10,lineHeight:1,opacity:100,strokeStyle:A.strokeStyle,lineJoin:A.lineJoin,lineCap:A.lineCap,shadowOffsetX:A.shadowOffsetX,shadowOffsetY:A.shadowOffsetY,shadowBlur:A.shadowBlur,shadowColor:A.shadowColor}),this.setPoints(e),this.setMouseShape(new i.model.shapeModel[t]),this.initMouseShape(),this.setImage()},this.paint=function(A){this.getMouseShape().paint(A)}}).prototype=new n,(r=function(){this.name="Pen"}).prototype=new n,(e=function(){this.name="Eraser",this.init=function(A,e){this.setOption({strokeStyle:"#000",opacity:A.opacity,radius:Math.ceil(A.lineWidth/2,10),lineJoin:A.lineJoin,lineCap:A.lineCap,shadowOffsetX:A.shadowOffsetX,shadowOffsetY:A.shadowOffsetY,shadowBlur:A.shadowBlur,shadowColor:A.shadowColor}),this.setPoints(e),this.setMouseShape(new i.model.shapeModel.CircleStroke),this.initMouseShape(),this.setImage()},this.paint=function(A){this.getMouseShape().paint(A)}}).prototype=new n,(a=function(){this.name="Text",this.init=function(A,e){this.setImage()},this.paint=function(A){}}).prototype=new n,(o=function(){this.name="FloodFill",this.init=function(A,e){this.setOption({strokeStyle:"#000",opacity:90,radius:Math.ceil(A.lineWidth/2,10)}),this.setPoints(e),this.setMouseShape(new i.model.shapeModel.CircleStroke),this.initMouseShape(),this.setImage()},this.paint=function(A){this.getMouseShape().paint(A)}}).prototype=new n,(t=function(){this.name="EyeDropper",this.init=function(A,e){this.setOption({strokeStyle:"#000",opacity:90,radius:Math.ceil(A.lineWidth/2,10)}),this.setPoints(e),this.setMouseShape(new i.model.shapeModel.CircleStroke),this.initMouseShape(),this.setImage()},this.paint=function(A){this.getMouseShape().paint(A)}}).prototype=new n,i.model=i.model||{},i.model.mouseModel=i.model.mouseModel||{},i.model.mouseModel.Mouse=n,i.model.mouseModel.Cross=A,i.model.mouseModel.Pen=r,i.model.mouseModel.Eraser=e,i.model.mouseModel.Text=a,i.model.mouseModel.FloodFill=o,i.model.mouseModel.EyeDropper=t}();var n={list:[],add:function(A){return this.list.push({x:Math.round(A.x),y:Math.round(A.y)}),this.list},getStart:function(){return this.list[0]},getEnd:function(){return this.list[this.list.length-1]},getList:function(){return this.list},init:function(){return this.list=[],this.list}};i.model=i.model||{},i.model.PointList=n;(function(){var A,e,t,o,n,r,a,s,l,c,h,d,p,g,u,f,m,C,y,v;function I(A,e,t,i,o){var n=i/.75/2,r=o/2;return A.beginPath(),A.moveTo(e,t-r),A.bezierCurveTo(e+n,t-r,e+n,t+r,e,t+r),A.bezierCurveTo(e-n,t+r,e-n,t-r,e,t-r),A.closePath(),A}(m=function(){this.name="Shape",this.option={}}).prototype={init:function(A){this.initOption(A)},getName:function(){return this.name},initOption:function(A){this.option={},this.setOption(A)},setOption:function(A){return uh.extend(!0,this.option,A),this.option},getOption:function(){return this.option},repaint:function(A){this.paint(A)},setAttributes:function(A){}},(c=function(){this.name="FillStroke",this.setAttributes=function(A){var e=this.getOption();A.strokeStyle=e.strokeStyle,A.fillStyle=e.fillStyle,A.lineWidth=e.lineWidth,A.globalAlpha=e.opacity/100,A.lineJoin=e.lineJoin,A.lineCap=e.lineCap,A.shadowOffsetX=e.shadowOffsetX,A.shadowOffsetY=e.shadowOffsetY,A.shadowBlur=e.shadowBlur,A.shadowColor=e.shadowColor}}).prototype=new m,(p=function(){this.name="Line",this.paint=function(A){var e=this.getOption();A.save(),this.setAttributes(A),A.beginPath(),A.moveTo(e.startX,e.startY),A.lineTo(e.endX,e.endY),A.closePath(),A.stroke(),A.restore()}}).prototype=new c,(o=function(){this.name="CurveClosed",this.paint=function(A){var e=this.getOption().list,t=e[0],i=e.length,o=0;for(A.save(),this.setAttributes(A),A.beginPath(),A.moveTo(t.x,t.y);i>o;o+=1)A.lineTo(e[o].x,e[o].y);A.closePath(),A.fill(),A.stroke(),A.restore()}}).prototype=new c,(u=function(){this.name="Rect",this.paint=function(A){var e=this.getOption();A.save(),this.setAttributes(A),A.fillRect(e.left,e.top,e.width,e.height),A.strokeRect(e.left,e.top,e.width,e.height),A.restore()}}).prototype=new c,(A=function(){this.name="Circle",this.paint=function(A){var e=this.getOption();A.save(),this.setAttributes(A),A.beginPath(),A.arc(e.x,e.y,e.radius,0,2*Math.PI,!0),A.closePath(),A.fill(),A.stroke(),A.restore()}}).prototype=new c,(r=function(){this.name="Ellipes",this.paint=function(A){var e=this.getOption(),t=e.x,i=e.y,o=e.width,n=e.height;A.save(),this.setAttributes(A),I(A,t,i,o,n),A.fill(),A.stroke(),A.restore()}}).prototype=new c,(C=function(){this.name="Stroke",this.setAttributes=function(A){var e=this.getOption();A.strokeStyle=e.strokeStyle,A.lineWidth=e.lineWidth,A.globalAlpha=e.opacity/100,A.lineJoin=e.lineJoin,A.lineCap=e.lineCap,A.shadowOffsetX=e.shadowOffsetX,A.shadowOffsetY=e.shadowOffsetY,A.shadowBlur=e.shadowBlur,A.shadowColor=e.shadowColor}}).prototype=new m,(g=function(){this.name="Pen",this.paint=function(A){var e=this.getOption().list,t=e[0],i=e.length,o=0;for(A.save(),this.setAttributes(A),A.beginPath(),A.moveTo(t.x,t.y);i>o;o+=1)A.lineTo(e[o].x,e[o].y);A.stroke(),A.restore()}}).prototype=new C,(n=function(){this.name="CurveClosedStroke",this.paint=function(A){var e=this.getOption().list,t=e[0],i=e.length,o=0;for(A.save(),this.setAttributes(A),A.beginPath(),A.moveTo(t.x,t.y);i>o;o+=1)A.lineTo(e[o].x,e[o].y);A.closePath(),A.stroke(),A.restore()}}).prototype=new C,(f=function(){this.name="RectStroke",this.paint=function(A){var e=this.getOption();A.save(),this.setAttributes(A),A.strokeRect(e.left,e.top,e.width,e.height),A.restore()}}).prototype=new C,(e=function(){this.name="CircleStroke",this.paint=function(A){var e=this.getOption();A.save(),this.setAttributes(A),A.beginPath(),A.arc(e.x,e.y,e.radius,0,2*Math.PI,!0),A.closePath(),A.stroke(),A.restore()}}).prototype=new C,(a=function(){this.name="EllipesStroke",this.paint=function(A){var e=this.getOption(),t=e.x,i=e.y,o=e.width,n=e.height;A.save(),this.setAttributes(A),I(A,t,i,o,n),A.stroke(),A.restore()}}).prototype=new C,(s=function(){this.name="Eraser",this.paint=function(A){var e=this.getOption(),t=e.list,i=t[0],o=t.length,n=0;for(A.save(),A.strokeStyle=e.color,A.lineWidth=e.lineWidth,A.shadowOffsetX=e.shadowOffsetX,A.shadowOffsetY=e.shadowOffsetY,A.shadowBlur=e.shadowBlur,A.shadowColor=e.shadowColor,A.lineJoin=e.lineJoin,A.lineCap=e.lineCap,A.globalAlpha=e.opacity/100,A.beginPath(),A.moveTo(i.x,i.y);o>n;n+=1)A.lineTo(t[n].x,t[n].y);A.stroke(),A.restore()}}).prototype=new m,(h=function(){this.name="FloodFill",this.paint=function(A){var e=this.getOption(),t=e.allowance,i=e.fillStyle?e.fillStyle:"rgba(0,0,0,1)",o=i.indexOf("(")+1,n=i.slice(o,-1).split(","),r={r:parseInt(n[0],10),g:parseInt(n[1],10),b:parseInt(n[2],10),a:Math.ceil(255*(n[3]||1))},a=e.x,s=e.y,l=e.width,c=e.height,h=A.getImageData(0,0,l,c),d=h.data,p=4*(l*s+a),g=d[p],u=d[p+1],f=d[p+2],m=d[p+3]/255,C=[{x:a,y:s}];try{!function(A,e){var o=null,n=null,r=null,h=null,p=null,y=null,v={};for(Bh.time("floodFill");0!==C.length;)y=C.pop(),v[o=4*(l*y.y+y.x)]=!0,r=d[o+1],h=d[o+2],p=d[o+3]/255,((n=d[o])!==e.r||r!==e.g||h!==e.b||255*p!==e.a)&&Math.abs(n-g)<t&&Math.abs(r-u)<t&&Math.abs(h-f)<t&&Math.abs(p-m)<t/256&&(d[o]=e.r,d[o+1]=e.g,d[o+2]=e.b,d[o+3]=e.a,!v[o-4]&&a>0&&C.push({x:y.x-1,y:y.y}),!v[o+4]&&l>a&&C.push({x:y.x+1,y:y.y}),!v[o-4*l]&&s>0&&C.push({x:y.x,y:y.y-1}),!v[o+4*l]&&c>s&&C.push({x:y.x,y:y.y+1}));Bh.timeEnd("floodFill"),y=null,o=null,n=null,r=null,h=null,p=null,i=null}(0,r)}catch(A){window.console.log(A.message)}d=null,A.save(),A.putImageData(h,0,0),A.restore()}}).prototype=new m,(l=function(){this.name="EyeDropper",this.paint=function(A){var e=this.getOption(),t=document.querySelector("#tool-wrap .tool .color"),i=A.getImageData(e.x,e.y,1,1).data,o="rgba(".concat(i[0],",",i[1],",",i[2],",",i[3]/255,")");t.value=o,xh.css(document.querySelector("#tool-wrap #colorOperatorDiv"),{"background-color":o})},this.repaint=function(){}}).prototype=new m,(t=function(){this.name="Cross",this.paint=function(A){var e=this.getOption(),t=e.x,i=e.y,o=e.length,n=t-o,r=i,a=t+o,s=i,l=t,c=i-o,h=t,d=i+o;A.save(),A.strokeStyle=e.strokeStyle,A.lineWidth=e.lineWidth,A.shadowOffsetX=e.shadowOffsetX,A.shadowOffsetY=e.shadowOffsetY,A.shadowBlur=e.shadowBlur,A.shadowColor=e.shadowColor,A.lineJoin=e.lineJoin,A.lineCap=e.lineCap,A.globalAlpha=e.opacity/100,A.beginPath(),A.moveTo(n,r),A.lineTo(a,s),A.moveTo(l,c),A.lineTo(h,d),A.closePath(),A.stroke(),A.restore()}}).prototype=new m,(y=function(){this.name="Text",this.setAttributes=function(A){var e=this.getOption();A.shadowOffsetX=e.shadowOffsetX,A.shadowOffsetY=e.shadowOffsetY,A.shadowBlur=e.shadowBlur,A.shadowColor=e.shadowColor,A.strokeStyle=e.strokeStyle,A.fillStyle=e.fillStyle,A.globalAlpha=e.opacity/100,A.font=e.italic+" "+e.bold+" "+e.size+"px "+e.family,A.lineWidth=e.border,A.textAlign=e.textAlign},this.paint=function(A){var e=this.getOption(),t=e.x,i=e.y,o=e.text;A.save(),this.setAttributes(A),"string"==typeof o&&(o=o.match(/[\n\r]/)?o.split(/\r\n|\r|\n/g):[o]);for(var n=0;o.length>n;n+=1)A.fillText(o[n],t,i+e.size*n),A.strokeText(o[n],t,i+e.size*n);A.restore()}}).prototype=new m,(v=function(){this.name="TextStroke",this.paint=function(A){var e=this.getOption(),t=e.x,i=e.y,o=e.text;A.save(),this.setAttributes(A),A.strokeText(o,t,i),A.restore()}}).prototype=new y,(d=function(){this.name="ImageShape",this.paint=function(A){var e=this.getOption(),t=e.x,i=e.y,o=e.src,n=e.width,r=e.height,a=new Image,s=this;a.src=o,a.onload=function(){A.save(),s.setAttributes(A),A.drawImage(a,t,i,n,r),A.restore()}}}).prototype=new m,(i=i||{}).model=i.model||{},i.model.shapeModel=i.model.shapeModel||{},i.model.shapeModel.Line=p,i.model.shapeModel.CurveClosed=o,i.model.shapeModel.Rect=u,i.model.shapeModel.Circle=A,i.model.shapeModel.Pen=g,i.model.shapeModel.CurveClosedStroke=n,i.model.shapeModel.RectStroke=f,i.model.shapeModel.CircleStroke=e,i.model.shapeModel.Eraser=s,i.model.shapeModel.FloodFill=h,i.model.shapeModel.EyeDropper=l,i.model.shapeModel.Cross=t,i.model.shapeModel.Ellipes=r,i.model.shapeModel.EllipesStroke=a,i.model.shapeModel.Text=y,i.model.shapeModel.TextStroke=v,i.model.shapeModel.ImageShape=d})(),function(){var A,e,t,o,n,r,a,s,l,c,h,d,p,g,u,f,m,C,y;(y=function(A){this.name="Tool",this.className="shape",this.mouse="Mouse",this.option={strokeStyle:"#000",fillStyle:"#000",lineWidth:1},void 0!==A&&uh.extend(!0,this.option,A)}).prototype={getClassName:function(){return this.className},getName:function(){return this.name},setOption:function(A){return"object"===lc(A)?(uh.extend(!0,this.option,A),this.getOption()):null},getOption:function(){return uh.extend(!0,{},this.option)},getMouse:function(){return this.mouse}},(u=function(){this.name="Shape",this.mouse="Cross",this.initAttributes=function(){for(var A=document.querySelector("#tool-shape-attribute-panel"),e=A.querySelector(".width").value,t=A.querySelector(".opacity").value,i=document.querySelector("#tool-wrap .tool .color").value,o=A.querySelector(".shadow-offsetx").value,n=A.querySelector(".shadow-offsety").value,r=A.querySelector(".shadow-blur").value,a=A.querySelector(".shadow-color").value,s=A.getElementsByTagName("radio"),l=void 0,c=void 0,h=0;s.length>h;h+=1)"line-join"===s[h].name&&(l=s[h].value),"line-cap"===s[h].name&&(c=s[h].value);return this.setOption({lineWidth:e,opacity:t,strokeStyle:i,fillStyle:i,lineJoin:l,lineCap:c,shadowOffsetX:o,shadowOffsetY:n,shadowBlur:r,shadowColor:a})}}).prototype=new y,(h=function(){this.name="Line",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd();return this.setOption({startX:e.x,startY:e.y,endX:t.x,endY:t.y})}}).prototype=new u,(o=function(){this.name="CurveClosed",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getList();return this.option.list=[],this.setOption({list:e})}}).prototype=new u,(p=function(){this.name="Rect",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd(),i=e.x,o=e.y;return this.setOption({left:i,top:o,width:t.x-i,height:t.y-o})}}).prototype=new u,(A=function(){this.name="Circle",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd(),i=(e.x+t.x)/2,o=(e.y+t.y)/2,n=Math.abs(Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))-Math.sqrt(Math.pow(t.x,2)+Math.pow(t.y,2)))/2;return this.setOption({x:i,y:o,radius:n})}}).prototype=new u,(r=function(){this.name="Ellipes",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd(),i=(e.x+t.x)/2,o=(e.y+t.y)/2,n=Math.abs(e.x-t.x),r=Math.abs(e.y-t.y);return this.setOption({x:i,y:o,width:n,height:r})}}).prototype=new u,(f=function(){this.name="Stroke",this.mouse="Cross",this.initAttributes=function(){for(var A=document.querySelector("#tool-stroke-attribute-panel"),e=A.querySelector(".width").value,t=A.querySelector(".opacity").value,i=document.querySelector("#tool-wrap .tool .color").value,o=A.querySelector(".shadow-offsetx").value,n=A.querySelector(".shadow-offsety").value,r=A.querySelector(".shadow-blur").value,a=A.querySelector(".shadow-color").value,s=A.getElementsByTagName("radio"),l=void 0,c=void 0,h=0;s.length>h;h+=1)"line-join"===s[h].name&&(l=s[h].value),"line-cap"===s[h].name&&(c=s[h].value);return this.setOption({lineWidth:e,opacity:t,strokeStyle:i,lineJoin:l,lineCap:c,shadowOffsetX:o,shadowOffsetY:n,shadowBlur:r,shadowColor:a})}}).prototype=new y,(d=function(){this.name="Pen",this.mouse="Pen",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getList();return this.option.list=[],this.setOption({list:e})}}).prototype=new f,(n=function(){this.name="CurveClosedStroke",this.mouse="Cross"}).prototype=new d,(g=function(){this.name="RectStroke",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd(),i=e.x,o=e.y;return this.setOption({left:i,top:o,width:t.x-i,height:t.y-o})}}).prototype=new f,(e=function(){this.name="CircleStroke",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd(),i=(e.x+t.x)/2,o=(e.y+t.y)/2,n=Math.abs(Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))-Math.sqrt(Math.pow(t.x,2)+Math.pow(t.y,2)))/2;return this.setOption({x:i,y:o,radius:n})}}).prototype=new f,(a=function(){this.name="EllipesStroke",this.init=function(){this.initAttributes()},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd(),i=(e.x+t.x)/2,o=(e.y+t.y)/2,n=Math.abs(e.x-t.x),r=Math.abs(e.y-t.y);return this.setOption({x:i,y:o,width:n,height:r})}}).prototype=new f,(s=function(){this.name="Eraser",this.mouse="Eraser",this.init=function(){for(var A=document.querySelector("#tool-eraser-attribute-panel"),e=A.querySelector(".size")?A.querySelector(".size").value:void 0,t=A.querySelector(".opacity")?A.querySelector(".opacity").value:void 0,i=A.querySelector(".shadow-offsetx")?A.querySelector(".shadow-offsetx").value:void 0,o=A.querySelector(".shadow-offsety")?A.querySelector(".shadow-offsety").value:void 0,n=A.querySelector(".shadow-blur")?A.querySelector(".shadow-blur").value:void 0,r=A.querySelector(".shadow-color")?A.querySelector(".shadow-color").value:void 0,a=A.getElementsByTagName("radio"),s=void 0,l=void 0,c=0;a.length>c;c+=1)"line-join"===a[c].name&&(s=a[c].value),"line-cap"===a[c].name&&(l=a[c].value);return this.setOption({opacity:t,lineWidth:e,color:"#fff",shadowOffsetX:i,shadowOffsetY:o,shadowBlur:n,shadowColor:r,lineJoin:s,lineCap:l})},this.setPoint=function(A){var e=A.getList();return this.option.list=[],this.setOption({list:e})}}).prototype=new y,(c=function(){this.name="FloodFill",this.mouse="FloodFill",this.init=function(){var A=document.querySelector("#tool-flood-fill-attribute-panel"),e=document.querySelector("#tool-wrap .tool .color").value,t=parseInt(A.querySelector(".allowance").value,10),o=i.canvas.currentCanvasContainer.getCanvas(),n=o.getWidth(),r=o.getHeight();return this.setOption({fillStyle:e,width:n,height:r,allowance:t})},this.setPoint=function(A){var e=A.getEnd();return this.setOption({x:e.x,y:e.y})}}).prototype=new y,(l=function(){this.name="EyeDropper",this.mouse="EyeDropper",this.init=function(){return this.setOption({})},this.setPoint=function(A){var e=A.getEnd();return this.setOption({x:e.x,y:e.y})}}).prototype=new y,(t=function(){this.name="Cross",this.init=function(){return this.setOption({lineWidth:1,strokeStyle:"#000000",length:10})},this.setPoint=function(A){var e=A.getEnd();return this.setOption({x:e.x,y:e.y})}}).prototype=new y,(m=function(){this.name="Text",this.mouse="Text",this.init=function(){this.initAttributes()},this.initAttributes=function(){var A=document.querySelector("#tool-text-attribute-panel"),e=A.querySelector(".opacity").value,t=A.querySelector(".text").value,i=A.querySelector(".size").value,o=A.querySelector(".border").value,n=A.querySelector(".font").value,r=document.querySelector("#tool-wrap .tool .color").value,a=A.querySelector(".shadow-offsetx").value,s=A.querySelector(".shadow-offsety").value,l=A.querySelector(".shadow-blur").value,c=A.querySelector(".shadow-color").value,h="checked"===A.querySelector(".bold").getAttribute("checked")?"bold":"",d="checked"===A.querySelector(".italic").getAttribute("checked")?"italic":"";return this.setOption({strokeStyle:r,opacity:e,fillStyle:r,text:t,size:i,border:o,family:n,bold:h,italic:d,shadowOffsetX:a,shadowOffsetY:s,shadowBlur:l,shadowColor:c})},this.setPoint=function(A){var e=A.getStart(),t=A.getEnd(),i=e.x;return this.setOption({x:i,y:e.y,textAlign:i>t.x?"right":"left"})}}).prototype=new y,(C=function(){this.name="TextStroke"}).prototype=new m,(i=i||{}).model=i.model||{},i.model.toolModel=i.model.toolModel||{},i.model.toolModel.Line=h,i.model.toolModel.CurveClosed=o,i.model.toolModel.Rect=p,i.model.toolModel.Circle=A,i.model.toolModel.Pen=d,i.model.toolModel.CurveClosedStroke=n,i.model.toolModel.RectStroke=g,i.model.toolModel.CircleStroke=e,i.model.toolModel.Eraser=s,i.model.toolModel.FloodFill=c,i.model.toolModel.EyeDropper=l,i.model.toolModel.Cross=t,i.model.toolModel.Ellipes=r,i.model.toolModel.EllipesStroke=a,i.model.toolModel.Text=m,i.model.toolModel.TextStroke=C}();this.init=function(){i.initImgDiv(),i.initCanvas(),i.initTitleDiv(),i.initTool(),i.initTopTool(),i.Index.init(),i.Nav.init(),i.Tool.init(),i.Canvas.init()},this.initTool=function(){xh.append(i.element,'<div id="tool-wrap" class="tool-wrap" style="\nwidth: 300px;\n position: absolute;\n height: 100px;\n left: 50%;\n transform: translateX(-50%);\n bottom: -10px;">\n <div class="tool-panel" style=" display: flex;">\n <div class="" style="height: 42px"></div>\n <div class="shape wrap yj-group">\n <button class="line yj-but" title="直线" data-tool="shape" data-tool-class="Line"></button>\n <button class="curve-closed yj-but" title="闭合曲线" data-tool="shape"\n data-tool-class="CurveClosed"></button>\n <button class="rect yj-but" title="矩形" data-tool="shape" data-tool-class="Rect"></button>\n <button class="circle yj-but" title="圆" data-tool="shape" data-tool-class="Circle"></button>\n <button class="ellipes yj-but" title="椭圆" data-tool="shape" data-tool-class="Ellipes"></button>\n <button class="arrow yj-but" title="箭头(未实现)" data-tool="shape" data-tool-class="Arrow"></button>\n <div id="tool-shape-attribute-panel" class="tool-attribute-panel" title="形状属性面板">\n <form>\n <fieldset>\n <legend>属性</legend>\n <label>尺寸:<input class="width" type="range" min="1" max="100" value="1"\n data-attr="lineWidth"/><span>1</span></label>\n <label>不透明度:<input class="opacity" type="range" max="100" value="100"\n data-attr="opacity"/><span>100</span></label>\n </fieldset>\n <fieldset>\n <legend>阴影</legend>\n <label>阴影水平偏移量:<input class="shadow-offsetx" type="range" min="-10" max="10" value="0"\n data-attr="shadowOffsetX"/><span>0</span></label>\n <label>阴影竖直偏移量:<input class="shadow-offsety" type="range" min="-10" max="10" value="0"\n data-attr="shadowOffsetY"/><span>0</span></label>\n <label>阴影模糊:<input class="shadow-blur" type="range" min="0" max="10" value="0"\n data-attr="shadowBlur"/><span>0</span></label>\n <label>阴影颜色:<input class="shadow-color" type="color" data-attr="shadowColor"/></label>\n </fieldset>\n </form>\n </div>\n </div>\n <div class="stroke wrap yj-group">\n <button class="pen yj-but" title="铅笔" data-tool="stroke" data-tool-class="Pen"></button>\n <button class="curve-closed-stroke yj-but" title="闭合曲线" data-tool="stroke"\n data-tool-class="CurveClosedStroke"></button>\n <button class="rect-stroke yj-but" title="矩形" data-tool="stroke" data-tool-class="RectStroke"></button>\n <button class="circle-stroke yj-but" title="圆形" data-tool="stroke"\n data-tool-class="CircleStroke"></button>\n <button class="ellipes-stroke yj-but" title="椭圆" data-tool="stroke"\n data-tool-class="EllipesStroke"></button>\n <button class="arrow-stroke yj-but" title="箭头(未实现)" data-tool="stroke"\n data-tool-class="ArrowStroke"></button>\n <div id="tool-stroke-attribute-panel" class="tool-attribute-panel" title="轮廓属性面板">\n <form>\n <fieldset>\n <legend>属性</legend>\n <label>尺寸:<input class="width" type="range" min="1" max="100" value="1"\n data-attr="lineWidth"/><span>1</span></label>\n <label>不透明度:<input class="opacity" type="range" max="100" value="100"\n data-attr="opacity"/><span>100</span></label>\n </fieldset>\n <fieldset>\n <legend>阴影</legend>\n <label>阴影水平偏移量:<input class="shadow-offsetx" type="range" min="-10" max="10" value="0"\n data-attr="shadowOffsetX"/><span>0</span></label>\n <label>阴影竖直偏移量:<input class="shadow-offsety" type="range" min="-10" max="10" value="0"\n data-attr="shadowOffsetY"/><span>0</span></label>\n <label>阴影模糊:<input class="shadow-blur" type="range" min="0" max="10" value="0"\n data-attr="shadowBlur"/><span>0</span></label>\n <label>阴影颜色:<input class="shadow-color" type="color" data-attr="shadowColor"/></label>\n </fieldset>\n </form>\n </div>\n </div>\n <div class="eraser wrap">\n <div id="tool-eraser-attribute-panel" class="tool-attribute-panel" title="橡皮属性面板">\n <form>\n <fieldset>\n <legend>属性</legend>\n <label>尺寸:<input class="size" type="range" min="1" max="100" data-attr="lineWidth"\n value="1"/><span>1</span></label>\n <label>不透明度:<input class="opacity" type="range" max="100" value="100"\n data-attr="opacity"/><span>100</span></label>\n </fieldset>\n </form>\n </div>\n </div>\n <div class="flood-fill wrap">\n <div id="tool-flood-fill-attribute-panel" class="tool-attribute-panel" title="油漆桶属性面板">\n <form>\n <fieldset>\n <legend>属性</legend>\n <label>限制:<input class="allowance" type="range" min="1" max="200" data-attr="allowance"\n value="1"/><span>1</span></label>\n </fieldset>\n </form>\n </div>\n </div>\n <div class="text wrap yj-group">\n <button class="text yj-but" title="文本" data-tool="text" data-tool-class="Text"></button>\n <button class="text-stroke yj-but" title="文本轮廓" data-tool="text" data-tool-class="TextStroke"></button>\n <div id="tool-text-attribute-panel" class="tool-attribute-panel" title="文字属性面板">\n <form>\n <label>文本: <input class="text" type="text" placeholder="输入要输入的文字" data-attr="text"/></label>\n <fieldset>\n <legend>属性</legend>\n <label>字体:\n <select class="font" data-attr="family">\n <option selected="true" class="serif" value="serif">serif</option>\n <option class="sans-serif" value="sans-serif">sans-serif</option>\n <option class="arail" value="Arial">Arial</option>\n <option class="arial-black" value="Arial Black">Arial Black</option>\n <option class="terminal" value="Terminal">Terminal</option>\n <option class="verdana" value="Verdana">Verdana</option>\n <option class="fangzhengshuti" value="方正舒体">方正舒体</option>\n <option class="fangzhengyaoti" value="方正姚体">方正姚体</option>\n <option class="heiti" value="黑体">黑体</option>\n <option class="huawencaiyun" value="华文彩云">华文彩云</option>\n <option class="huawenhupo" value="华文琥珀">华文琥珀</option>\n <option class="huawenxinwei" value="华文新魏">华文新魏</option>\n <option class="huawenzhongsong" value="华文中宋">华文中宋</option>\n <option class="kaiti" value="楷体_GB2312">楷体_GB2312</option>\n <option class="lishu" value="隶书">隶书</option>\n <option class="songti" value="宋体">宋体</option>\n <option class="weiruanyahei" value="微软黑体">微软黑体</option>\n <option class="youyuan" value="幼圆">幼圆</option>\n </select>\n </label>\n <label class="checkbox"><b>粗体:</b>\n <input class="bold" type="checkbox" value="bold" data-attr="bold">\n </label>\n <label class="checkbox"><i>斜体 :</i>\n <input class="italic" type="checkbox" value="italic" data-attr="italic">\n </label>\n <label>字体大小:<input class="size" type="range" min="8" max="100" data-attr="size" value="10"/><span>10</span><span>px</span></label>\n <label>边界:<input class="border" type="range" min="1" max="100" data-attr="border"\n value="1"/><span>1</span><span></span></label>\n <label>不透明度:<input class="opacity" type="range" max="100" data-attr="opacity"\n value="100"/><span>100</span></label>\n </fieldset>\n <fieldset>\n <legend>阴影</legend>\n <label>阴影水平偏移量:<input class="shadow-offsetx" type="range" min="-10" max="10" value="0"\n data-attr="shadowOffsetX"/><span>0</span></label>\n <label>阴影竖直偏移量:<input class="shadow-offsety" type="range" min="-10" max="10" value="0"\n data-attr="shadowOffsetY"/><span>0</span></label>\n <label>阴影模糊:<input class="shadow-blur" type="range" min="0" max="10" value="0"\n data-attr="shadowBlur"/><span>0</span></label>\n <label>阴影颜色:<input class="shadow-color" type="color" data-attr="shadowColor"/></label>\n </fieldset>\n </form>\n </div>\n </div>\n </div>\n <div class="tool yj-group" style="\n height: 40px;\n width: 335px;\n display: flex;\n margin-top: 3px;">\n <div class="yj-group" style=" display: flex;\n margin-left: 0px;">\n <button class="select yj-but" title="选择工具(未实现)"></button>\n <button class="eraser yj-but" title="橡皮擦工具" data-current-tool="Eraser"\n data-tool-panel="eraser"></button>\n <button class="flood-fill yj-but" title="填充工具" data-current-tool="FloodFill"\n data-tool-panel="flood-fill"></button>\n <button class="eye-dropper yj-but" title="吸管工具" data-current-tool="EyeDropper"\n data-tool-panel="eye-dropper"></button>\n <div class="" id="colorModal" style="\n height: 42px;\n background: rgba(128,128,128,.8);\n width: 40px;\n border-radius: 4px;">\n <div class="" style="\n margin-left: 5px;\n margin-top: 6px;" title="选择颜色">\n <input class="color"/>\n </div>\n </div>\n </div>\n <div class="yj-group" style=" display: flex;">\n <button class="shape active yj-but" title="形状工具" data-current-tool="Line"\n data-tool-panel="shape"></button>\n <button class="stroke yj-but" title="轮廓工具" data-current-tool="Pen" data-tool-panel="stroke"></button>\n <button class="text yj-but" title="文字工具" data-tool-panel="text" data-current-tool="Text"></button>\n </div>\n <div class="yj-group" style=" display: flex;">\n <button id="nav-file-import-img" class="image yj-but" title="插入图片"></button>\n </div>\n </div>\n </div>')},this.initCanvas=function(){xh.append(i.element,' <div class="container-fluid" style="">\n <canvas width="1900" height="887" class="canvas-paint canvas-negative"></canvas>\n <canvas width="1900" height="887" class="canvas-paint canvas-layer"></canvas>\n <canvas width="1900" height="887" class="canvas-paint canvas-buffer"></canvas>\n <canvas width="1900" height="887" id="canvas-mouse" class="canvas-paint canvas-mouse"></canvas>\n </div>')},this.initTopTool=function(){xh.append(i.element,'<div class="tool" style="position: absolute;right: 10px;height: 42px; top: 5px;">\n <div class="yj-group" style="height: 100%;">\n <button type="button" id="nav-file-save" class="yj-but save" title="保存(ctrl+s)"></button>\n <button type="button" id="nav-file-saveAs" class="yj-but saveAs" title="另存为"></button>\n <button type="button" id="nav-edit-undo" class="yj-but undo" title="撤销(ctrl+z)"></button>\n <button type="button" id="edit-exit" class="yj-but exit" title="退出"></button>\n </div>\n </div>'),xh.addEventListener(document.querySelectorAll("#edit-exit"),"click",i.exit)},this.initTitleDiv=function(){xh.append(i.element,' <div class=\'postilTitle\'>\n <div class="postilTitleDiv"><span class="titleText" >文件编号-文件名-版本</span></div>\n </div>')},this.initImgDiv=function(){xh.append(i.element,' <div id="myModal" class="modal hide " tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>\n <h3 id="myModalLabel">保存图片-右键-图片另存为</h3>\n </div>\n <div class="modal-body">\n <p><img id="save-image" src="" style="outline: 1px solid #ff0"></p>\n </div>\n <div class="modal-footer">\n <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>\n </div>\n </div>');var A=document.querySelector("#myModal");xh.addEventListener(A.querySelector(".close"),"click",(function(){xh.addClass(A,"hide"),xh.remove(document.querySelector(".modal-backdrop"))})),xh.addEventListener(A.querySelector(".btn"),"click",(function(){xh.addClass(A,"hide"),xh.remove(document.querySelector(".modal-backdrop"))}));xh.append(i.element,' <div id="image-modal" class="modal hide" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"\n aria-hidden="true">\n <div class="modal-header">\n <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>\n <h3 id="myModalLabel">导入图片</h3>\n </div>\n <div class="modal-body">\n <form>\n <fieldset>\n <legend>导入图片</legend>\n <label><input id="image-modal-file" type="file" accept="image/jpg,image/jpeg,image/png"/></label>\n </fieldset>\n <fieldset>\n <legend>属性</legend>\n <label>x坐标 <input id="image-modal-x" type="number" min="0" max="2000" value="10"/></label>\n <label>y坐标 <input id="image-modal-y" type="number" min="0" max="2000" value="10"/></label>\n <br> <label>宽度 <input id="image-modal-width" type="number" min="0" max="2000" value="800"/></label>\n <label>高度 <input id="image-modal-height" type="number" min="0" max="2000" value="600"/></label>\n </fieldset>\n <fieldset>\n <legend>预览</legend>\n <figure>\n <img id="image-modal-view"/>\n </figure>\n </fieldset>\n </form>\n </div>\n <div class="modal-footer">\n <button class="btn but-cancel" data-dismiss="modal" aria-hidden="true">取消</button>\n <button id="image-modal-ok" class="btn btn-primary" data-dismiss="modal" aria-hidden="true">插入</button>\n </div>\n </div>');var e=document.querySelector("#image-modal");xh.addEventListener(e.querySelector(".close"),"click",(function(){xh.addClass(e,"hide"),xh.remove(document.querySelector(".modal-backdrop"))})),xh.addEventListener(e.querySelector(".but-cancel"),"click",(function(){xh.addClass(e,"hide"),xh.remove(document.querySelector(".modal-backdrop"))})),xh.addEventListener(e.querySelector(".btn-primary"),"click",(function(){xh.addClass(e,"hide"),xh.remove(document.querySelector(".modal-backdrop"))}))},this.setTitle=function(A){[].map.call(document.querySelectorAll(".titleText"),(function(e,t){e.textContent=A}))},this.getTitle=function(){return document.querySelector(".titleText").textContent},this.exit=function(){i.hide(),e.postilExit()},this.hide=function(){i.element.style.display="none"},this.show=function(){i.element.style.display="block"},this.clear=function(){i.canvas.mouseCanvasContainer.getCanvas().clear(),i.canvas.bufferCanvasContainer.getCanvas().clear(),i.canvas.currentCanvasContainer.getCanvas().clear(),i.canvas.negativeCanvasContainer.getCanvas().clear(),i.change=!1},this.updateSize=function(A,e){i.canvas.currentCanvasContainer.getCanvas().updateSize(A,e),i.canvas.bufferCanvasContainer.getCanvas().updateSize(A,e),i.canvas.mouseCanvasContainer.getCanvas().updateSize(A,e),i.canvas.negativeCanvasContainer.getCanvas().updateSize(A,e)},this.bindEvent=function(){},this.getCoordsWithinElement=function(A){var e=[0,0];if(A){for(var t=A.target,i=0,o=0;t.offsetParent;)i+=t.offsetLeft-t.scrollLeft,o+=t.offsetTop-t.scrollTop,t=t.offsetParent;e[0]=Math.round(A.pageX-i),e[1]=Math.round(A.pageY-o)}else A=window.event,e[0]=Math.round(A.x),e[0]=Math.round(A.y);return e},this.Index={init:function(){this.bindEvent()},bindEvent:function(){var A=i.element,e=null,t=null;xh.bind(A,"keydown",(function(A){A.ctrlKey&&90===A.keyCode&&(xh.simulateEvent(document.querySelector("#nav-edit-undo"),"click"),A.preventDefault())})),xh.bind(A,"keydown",(function(A){A.ctrlKey&&83===A.keyCode&&(xh.simulateEvent(document.querySelector("#nav-file-save"),"click"),A.preventDefault())})),xh.bind(A,"keydown",(function(A){A.ctrlKey&&68===A.keyCode&&(xh.simulateEvent(document.querySelector("#nav-edit-clear"),"click"),A.preventDefault())})),xh.bind(A,"keydown",(function(A){A.ctrlKey&&69===A.keyCode&&(xh.simulateEvent(document.querySelector("#nav-file-export"),"click"),A.preventDefault())})),xh.bind(document,"resize",(function(A){var e=i.canvas,t=e.currentCanvasContainer.getCanvas(),o=e.bufferCanvasContainer.getCanvas(),n=e.mouseCanvasContainer.getCanvas(),r=i.canvas.negativeCanvasContainer.getCanvas();t.updateSize(),o.updateSize(),n.updateSize(),r.updateSize()})),xh.delegate(i.element,"#negative-modal-file","change",(function(A){var t=A.target.files,i=new FileReader;i.readAsDataURL(t[0]),i.onload=function(){var A=document.querySelector("#negative-modal").querySelector("#negative-modal-view");e=i.result,A.setAttribute("src",i.result),xh.bind(A,"load",(function(){var A=document.querySelector("#negative-modal"),e=A.querySelector("#negative-modal-width"),t=A.querySelector("#negative-modal-height");e.value=parseInt(xh.getStyleValue(this,"width"),0),t.value=parseInt(xh.getStyleValue(this,"height"),0)}))}})),xh.delegate(i.element,"#negative-modal-ok","click",(function(A){var t=i.canvas.negativeCanvasContainer.getCanvas(),o=new i.model.shapeModel.ImageShape,n=document.querySelector("#negative-modal"),r=n.querySelector("#negative-modal-x").value,a=n.querySelector("#negative-modal-y").value,s=parseInt(n.querySelector("#negative-modal-width").value,0),l=parseInt(n.querySelector("#negative-modal-height").value,0);o.init({x:r,y:a,width:s,height:l,src:e}),t.paint(o)})),xh.delegate(i.element,"#image-modal-file","change",(function(A){var e=A.target.files,i=new FileReader;i.readAsDataURL(e[0]),i.onload=function(){var A=document.querySelector("#image-modal").querySelector("#image-modal-view");t=i.result,A.setAttribute("src",i.result),xh.bind(A,"load",(function(){var A=document.querySelector("#image-modal"),e=A.querySelector("#image-modal-width"),t=A.querySelector("#image-modal-height");e.value=parseInt(xh.getStyleValue(this,"width"),0),t.value=parseInt(xh.getStyleValue(this,"height"),0)}))}})),xh.delegate(i.element,"#image-modal-ok","click",(function(A){var e=i.canvas.currentCanvasContainer.getCanvas(),o=new i.model.shapeModel.ImageShape,n=document.querySelector("#image-modal"),r=n.querySelector("#image-modal-x").value,a=n.querySelector("#image-modal-y").value,s=parseInt(n.querySelector("#image-modal-width").value,0),l=parseInt(n.querySelector("#image-modal-height").value,0);o.init({x:r,y:a,width:s,height:l,src:t}),e.paint(o)}))}},this.Canvas={clickStatus:!1,pointList:Object.create(n),getPointList:function(){return this.pointList},getClickStatus:function(){return this.clickStatus},setClickStatus:function(A){return this.clickStatus=A=A||!1,A},init:function(){var A=document.querySelectorAll(".canvas-negative")[0],e=new s,t=Object.create(a),o=document.querySelectorAll(".canvas-layer")[0],n=new s,r=Object.create(a),l=document.querySelectorAll(".canvas-buffer")[0],c=new s,h=Object.create(a),d=document.querySelectorAll(".canvas-mouse")[0],p=new s,g=Object.create(a);e.init(A,"negativeCanvas"),t.init(e),i.canvas=i.canvas||{},i.canvas.negativeCanvasContainer=t,n.init(o,"currentCanvas"),r.init(n),i.canvas=i.canvas||{},i.canvas.currentCanvasContainer=r,c.init(l,"bufferCanvas"),h.init(c),i.canvas=i.canvas||{},i.canvas.bufferCanvasContainer=h,p.init(d,"mouseCanvas"),g.init(p),i.canvas=i.canvas||{},i.canvas.mouseCanvasContainer=g,this.bindEvent()},bindEvent:function(){var A=i.element,e=i.canvas.mouseCanvasContainer.getCanvas(),t=i.canvas.bufferCanvasContainer.getCanvas(),o=i.canvas.currentCanvasContainer.getCanvas(),n=e.getLeft(),r=e.getTop(),a=this,s=i.tool.currentToolContainer.getTool();xh.delegate(A,"#canvas-mouse","mousemove",(function(A){var o=i.getCoordsWithinElement(A),n=null,r=null,l="",c=null,h=null,d=a.getClickStatus(),p="",g=null,u=null;"shape"===s.getClassName()&&(n={x:o[0],y:o[1]},p=s.getMouse(),g=s.getOption(),(u=new i.model.mouseModel[p]).init(g,n),e.clear(),e.paint(u),d&&(l=s.getName(),(r=a.getPointList()).add(n),h=s.setPoint(r),"FloodFill"!==(c=new i.model.shapeModel[l]).getName()&&(c.init(h),t.clear(),t.paint(c))))})),xh.delegate(A,"#canvas-mouse","mousedown",(function(A){var e=i.getCoordsWithinElement(A),t={x:e[0],y:e[1]};a.getPointList();a.getPointList().init(),a.getPointList().add(t),a.setClickStatus(!0)})),xh.delegate(A,"#canvas-mouse","mouseup",(function(A){var e=i.getCoordsWithinElement(A),n={x:e[0],y:e[1]},r=a.getPointList(),l=s.getName(),c=null,h=null;"shape"===s.getClassName()&&(a.getPointList().add(n),a.setClickStatus(!1),c=new i.model.shapeModel[l],h=s.setPoint(r),c.init(h),o.paint(c),t.clear())})),xh.delegate(A,"#canvas-mouse","mouseleave",(function(A){e.clear()})),xh.delegate(A,"#canvas-mouse","mouseenter",(function(A){e.clear(),s=i.tool.currentToolContainer.getTool()})),document.getElementById("canvas-mouse").addEventListener("touchmove",(function(A){var o=null,l=null,c="",h=null,d=null,p=a.getClickStatus(),g="",u=null,f=null,m=s.getClassName(),C=A.changedTouches[0];A.preventDefault(),"shape"===m&&(o={x:C.pageX-n,y:C.pageY-r},g=s.getMouse(),u=s.getOption(),(f=new i.model.mouseModel[g]).init(u,o),e.clear(),e.paint(f),p&&(c=s.getName(),(l=a.getPointList()).add(o),d=s.setPoint(l),(h=new i.model.shapeModel[c]).init(d),t.clear(),t.paint(h)))}),!1),document.getElementById("canvas-mouse").addEventListener("touchstart",(function(A){var e=A.touches[0],t={x:e.pageX-n,y:e.pageY-r};a.getPointList();A.preventDefault(),a.getPointList().init(),a.getPointList().add(t),a.setClickStatus(!0)}),!1),document.getElementById("canvas-mouse").addEventListener("touchend",(function(A){var e=A.changedTouches[0],l={x:e.pageX-n,y:e.pageY-r},c=a.getPointList(),h=s.getName(),d=null,p=null,g=s.getClassName();A.preventDefault(),"shape"===g&&(a.getPointList().add(l),a.setClickStatus(!1),d=new i.model.shapeModel[h],p=s.setPoint(c),d.init(p),o.paint(d),t.clear())}),!1)}},this.Nav={init:function(){this.bindEvent()},bindEvent:function(){var A=i.element;xh.delegate(A,"#nav-file-export","click",(function(e){var t=i.canvas.currentCanvasContainer.getCanvas(),o=i.canvas.negativeCanvasContainer.getCanvas(),n=document.createElement("canvas");n.width=t.width,n.height=t.height;var r=n.getContext("2d");r.drawImage(o.getCanvas(),0,0),r.drawImage(t.getCanvas(),0,0),document.querySelectorAll("#save-image")[0].src=n.toDataURL(),xh.append(A,"<div class='modal-backdrop'></div>"),[].map.call(document.querySelectorAll("#myModal"),(function(A,e){xh.removeClass(A,"hide")}))})),xh.delegate(A,"#nav-file-saveAs","click",(function(e){var t=i.canvas.currentCanvasContainer.getCanvas(),o=i.canvas.negativeCanvasContainer.getCanvas(),n=document.createElement("canvas");n.width=t.width,n.height=t.height;var r=n.getContext("2d");r.drawImage(o.getCanvas(),0,0),r.drawImage(t.getCanvas(),0,0),document.querySelectorAll("#save-image")[0].src=n.toDataURL(),xh.append(A,"<div class='modal-backdrop'></div>"),[].map.call(document.querySelectorAll("#myModal"),(function(A,e){xh.removeClass(A,"hide")}))})),xh.delegate(A,"#nav-file-save","click",(function(A){var t=i.canvas.currentCanvasContainer.getCanvas(),o=i.canvas.negativeCanvasContainer.getCanvas();t.save(),o.save();var n=i.lobibox.alert("success",{msg:"保存成功",title:"保存",backdrop:!0,buttons:{yes:{closeOnClick:!1,text:"关闭"}},callback:function(A,t){A.destroy(),e.postilSave()}}),r=(new Date).getTime()-i.lobibox.alert.startTime;n.$el.style.zIndex=r+2})),xh.delegate(A,"#nav-file-open","click",(function(e){xh.append(A,"<div class='modal-backdrop'></div>"),[].map.call(document.querySelectorAll("#image-modal"),(function(A,e){xh.removeClass(A,"hide")}))})),xh.delegate(A,"#nav-file-import-img","click",(function(e){xh.append(A,"<div class='modal-backdrop'></div>"),[].map.call(document.querySelectorAll("#image-modal"),(function(A,e){xh.removeClass(A,"hide")}))})),xh.delegate(A,"#nav-edit-undo","click",(function(A){i.canvas.currentCanvasContainer.getCanvas().undo(),e.undo()})),xh.delegate(A,"#nav-edit-clear","click",(function(A){i.canvas.currentCanvasContainer.getCanvas().clear()})),xh.delegate(A,"#nav-edit-clear-negative","click",(function(A){i.canvas.negativeCanvasContainer.getCanvas().clear()})),xh.delegate(A,"#nav-edit-convert","click",(function(A){i.canvas.currentCanvasContainer.getCanvas().convert()})),xh.delegate(A,"#nav-edit-flipx","click",(function(A){i.canvas.currentCanvasContainer.getCanvas().flipX()})),xh.delegate(A,"#nav-edit-flipy","click",(function(A){i.canvas.currentCanvasContainer.getCanvas().flipY()}))}};var r;(r=function(){this.currentOpenAttributePanel=null,this.colorPicker=void 0,this.attributePanelWindow=void 0}).prototype={init:function(){this.bindEvent(),this.initAttributePanel(),this.initColor(),i.tool=i.tool||{},i.tool.currentToolContainer=Object.create(i.model.ToolContainerModel),i.tool.currentToolContainer.init(new i.model.toolModel.Line)},initAttributePanel:function(){document.querySelector("#tool-wrap");var A=document.querySelector("#tool-shape-attribute-panel"),e=document.createElement("div");e.className="tool-attribute-panel-content",this.attributePanelWindow=i.lobibox.window({title:"属性面板",width:334,height:415,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(A){},content:e}),this.attributePanelWindow.setPosition({left:"",right:35,bottom:120}),this.attributePanelWindow.windowHide();var t=document.querySelectorAll(".tool-attribute-panel");[].map.call(t,(function(A,t){A.style.display="none",e.appendChild(A)})),this.setCurrentAttributePanel(A),this.openAttributePanel(A)},initColor:function(){var A=document.querySelector("#tool-wrap .tool .color");this.colorPicker=new Hh(A),A.style.display="none";var e=A.parentNode;xh.append(e,'<div id="colorOperatorDiv"></div>');var t=e.querySelector("#colorOperatorDiv"),i=this.colorPicker.element;i.id="toolColorModal",i.className="colorModal",i.style.cssText+="margin-left:"+t.offsetLeft+"px;bottom:50px",t.addEventListener("click",(function(A){i.focus(),i.style.display="block"===i.style.display?"none":"block",A.stopPropagation?A.stopPropagation():A.cancelBubble=!0})),document.addEventListener("click",(function(A){})),xh.addEventListener(A,"change",(function(e){xh.css(t,{"background-color":A.value})})),A.parentNode.parentNode.appendChild(i)},openAttributePanel:function(A){document.querySelector("#tool-wrap"),document.querySelector(".tool-attribute-panel-content");var e=document.querySelectorAll(".tool-attribute-panel"),t=A||this.getCurrentAttributePanel();t&&([].map.call(e,(function(A,e){A.style.display=A.id==t.id?"block":"none"})),this.attributePanelWindow.windowShow())},getCurrentAttributePanel:function(){return this.currentOpenAttributePanel},setCurrentAttributePanel:function(A){return void 0!==A&&(this.currentOpenAttributePanel=A,!0)},bindEvent:function(){var A=document.querySelector("#tool-wrap"),e=this;xh.delegate(A.querySelector(".tool"),"button","click",(function(A){if("nav-file-import-img"===this.id)e.attributePanelWindow.$el.style.zIndex=888;else{var t=document.querySelector("#tool-wrap"),o=this.getAttribute("data-tool-panel"),n=t.querySelector(".tool-panel ."+o),r=t.querySelectorAll(".tool-panel .wrap"),a=document.querySelector("#tool-"+o+"-attribute-panel"),s=this.getAttribute("data-current-tool");[].map.call(t.querySelectorAll(".tool button.active"),(function(A,e){xh.removeClass(A,"active")})),xh.addClass(this,"active");for(var l=0;r.length>l;l+=1)r[l].style.display="none";if(n&&(n.style.display="block"),a){var c=a.getAttribute("title")?a.getAttribute("title"):"属性面板";i.Tool.attributePanelWindow.setTitle(c)}if(e.setCurrentAttributePanel(a),e.openAttributePanel(a),!s)return;-1===s.indexOf("Arrow")?i.tool.currentToolContainer.init(new i.model.toolModel[s]):console.log("currentTool 箭头没有原型类实现")}})),xh.delegate(A.querySelectorAll(".tool-panel .wrap"),"button","click",(function(A){var e=this.getAttribute("data-tool"),t=this.getAttribute("data-tool-class"),i=document.querySelector("#tool-wrap .tool button[data-tool-panel='"+e+"']");i.setAttribute("data-current-tool",t),xh.simulateEvent(i,"click")})),xh.delegate(A,".color","change",(function(A){var e=this.value;i.tool.currentToolContainer.getTool().setOption({fillStyle:e,strokeStyle:e})})),xh.delegate(document.querySelectorAll(".tool-attribute-panel"),"select","change",(function(A){var e=A.target,t=e.getAttribute("data-attr"),o=e.value,n=i.tool.currentToolContainer.getTool(),r={};r[t]=o,n.setOption(r)})),[].map.call(i.element.querySelectorAll("input"),(function(A,e){var t=A.getAttribute("type");"checkbox"!==t&&"radio"!==t&&xh.addEventListener(A,"change",(function(A){var e=A.target,t=e.getAttribute("data-attr"),o=e.value,n=i.tool.currentToolContainer.getTool(),r={},a=e.parentNode.querySelector("span");a&&(a.textContent=o),r[t]=o,n.setOption(r)}))})),[].map.call(i.element.querySelectorAll(".tool-attribute-panel input"),(function(A,e){"checkbox"===A.getAttribute("type")&&xh.addEventListener(A,"change",(function(A){var e=A.target,t=e.getAttribute("data-attr"),o=e.value,n=e.getAttribute("checked"),r=i.tool.currentToolContainer.getTool(),a={};a[t]=!0===n?o:"",r.setOption(a),window.console.log(n)}))})),[].map.call(i.element.querySelectorAll(".tool-attribute-panel input"),(function(A,e){"radio"===A.getAttribute("type")&&xh.addEventListener(A,"change",(function(A){var e=A.target,t=e.attr("data-attr"),o=e.val(),n=i.tool.currentToolContainer.getTool(),r={};r[t]=o,n.setOption(r)}))}))}},this.Tool=new r;var a={canvas:null,init:function(A){this.setCanvas(A)},setCanvas:function(A){return this.canvas=A,!0},getCanvas:function(){return this.canvas}};i.model=i.model||{},i.model.CanvasContainerModel=a;var s=function(){this.canvas=null,this.documentName="",this.pictureName="",this.name="Canvas",this.shapeList=[],this.convertStatus="source-over",this.flipXStatus=!1,this.flipYStatus=!1,this.width=1e3,this.height=400,this.context2D=null,this.top=0,this.left=0};s.prototype={init:function(A,e){this.initCanvas(A),this.initHeight(),this.initWidth(),this.initLeft(),this.initTop(),this.initContext2D(),this.initName(e),this.load()},initName:function(A){this.setName(A)},setName:function(A){this.name=A},setDocumentName:function(A){this.documentName=A},setPictureName:function(A){this.pictureName=A},getDocumentName:function(){return this.documentName},getPictureName:function(){return this.pictureName},getName:function(){return this.name},initCanvas:function(A){this.setCanvas(A)},setCanvas:function(A){return null!=A&&(this.canvas=A,!0)},getCanvas:function(){return this.canvas},initContext2D:function(){this.setContext2D()},getContext2D:function(){return this.context2D},setContext2D:function(A){A=A||this.getCanvas().getContext("2d"),this.context2D=A},clearContext:function(){var A=this.getHeight(),e=this.getWidth(),t=this.getContext2D();return t.clearRect(0,0,e,A),t},initLeft:function(){this.updateLeft()},updateLeft:function(){var A;return A=function(A){for(var e=A.offsetLeft,t=A.offsetParent;null!==t;)e+=t.offsetLeft,t=t.offsetParent;return e}(this.getCanvas()),this.left=A,A},getLeft:function(){return this.left},initTop:function(){this.updateTop()},updateTop:function(){var A;return A=function(A){for(var e=A.offsetTop,t=A.offsetParent;null!==t;)e+=t.offsetTop,t=t.offsetParent;return e}(this.getCanvas()),this.top=A,A},getTop:function(){return this.top},updateSize:function(A,e){this.updateHeight(e),this.updateWidth(A),this.repaint()},initHeight:function(){this.updateHeight()},updateHeight:function(A){var e=this.getCanvas(),t=parseInt(xh.getStyleValue(e.parentNode,"height"));return A&&(t=A),e.setAttribute("height",t),this.setHeight(t)},setHeight:function(A){return this.height=A=A||600,A},getHeight:function(){return this.height},initWidth:function(){this.updateWidth()},updateWidth:function(A){var e=this.getCanvas(),t=parseInt(xh.getStyleValue(e.parentNode,"width"));return A&&(t=A),e.setAttribute("width",t),this.setWidth(t)},setWidth:function(A){return this.width=A=A||600,this.width},getWidth:function(){return this.width},initShapeList:function(){this.clearShapeList()},getShapeList:function(){return uh.extend(!0,[],this.shapeList)},setShapeList:function(A){return this.clearShapeList(),uh.extend(!0,this.shapeList,A),A},addShape:function(A){this.shapeList.push(A)},deleteShape:function(){this.shapeList.pop()},clearShapeList:function(){this.shapeList=[]},paint:function(A){this.addShape(A),A.paint(this.getContext2D()),"negativeCanvas"!=this.name&&"currentCanvas"!=this.name||(i.change=!0)},repaint:function(){var A,e=this.shapeList,t=e.length,o=0;for(A=this.clearContext();t>o;o+=1)e[o].paint(A);t>0&&("negativeCanvas"!=this.name&&"currentCanvas"!=this.name||(i.change=!0))},undo:function(){this.deleteShape(),this.repaint()},clear:function(){this.clearContext(),this.clearShapeList()},convert:function(){var A=this.getContext2D(),e=A.globalCompositeOperation,t="source-over"===this.convertStatus?"destination-over":"source-over";this.convertStatus=t,A.globalCompositeOperation=t,this.repaint(),A.globalCompositeOperation=e},save:function(A){var e=new i.model.StorageModel,t=[],o=this.shapeList,n=o.length,r=0,a=this.getName(),s="";if(a=a+"-"+this.getDocumentName()+"-"+this.getPictureName(),null!=A&&(a=A),e.init(),!1!==e.getStorage()){for(;n>r;r+=1)t[r]={name:o[r].getName(),option:o[r].getOption()};s=window.JSON.stringify(t),e.save(a,s)}},load:function(A){var e,t,o=new i.model.StorageModel,n=[],r=0,a=this.getName(),s=this.getDocumentName(),l=this.getPictureName(),c=this.shapeList;if(a=a+"-"+s+"-"+l,null!=A&&(a=A),o.init(),!1!==o.getStorage()){for(t=o.load(a)||"[]",e=(n=window.JSON.parse(t)).length;e>r;r+=1)c[r]=new i.model.shapeModel[n[r].name],c[r].init(n[r].option);this.repaint()}},autoSave:function(A){var e=this;window.setInterval((function(){e.save()}),A)},flipX:function(){var A=this.getContext2D(),e=this.getWidth();A.save(),this.flipXStatus?this.flipXStatus=!1:(this.flipXStatus=!0,A.translate(e,0),A.scale(-1,1)),this.repaint(),A.restore()},flipY:function(){var A=this.getContext2D(),e=this.getHeight();A.save(),this.flipYStatus?this.flipYStatus=!1:(this.flipYStatus=!0,A.translate(0,e),A.scale(1,-1)),this.repaint(),A.restore()}},i.model=i.model||{},i.model.CanvasModel=s;(i=i||{}).model=i.model||{},i.model.ToolContainerModel={tool:null,init:function(A){A.init(),this.setTool(A)},setTool:function(A){return this.tool=A,!0},getTool:function(){return this.tool}}},Jd=function(A,e){var t=A.toolId,i=A.Flag,o=A.viewer,n=e.toolbarTop,r=this;r.viewer=o,r.postilInfo={},this.editingPostilObj=void 0,this.editingNodeDom=void 0,this.postilDelConf=!0,this.eventDispatcher=new Ld;var a=0;this.deleteListener=null,this.addListener=null,this.renameListener=null,this.updateListener=null,this.exitListener=null,this.saveListener=null,this.openListener=null,this.restoreToPostilListener=null;var s=document.createElement("div");s.className="postil-content",xh.append(s,'<div class="postil"><div class="postil-body"></div></div><div class="labeling-footer"><button class="but-new-create" id="postilAdd'+t+'">新建批注</button></div></div>'),r.postilWindow=qd.window({title:"批注",width:334,height:688,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){var A=document.getElementById("postil"+t);i.postil=!1,A&&(A.style.backgroundColor="",A.querySelector(".yj-icon").className="yj-icon postil-icon")},content:s}),r.postilWindow.setPosition({left:"",right:5,top:60}),r.postilWindow.windowHide(),xh.addEventListener(n.querySelector("#postil"+t),"click",(function(A){if(i.postil)A.target.parentNode.style.backgroundColor="",A.target.className="yj-icon postil-icon active",r.postilWindow.windowHide();else{r.load([]),i.postil=!i.postil,r.postilWindow.windowShow();var e=o.viewerImpl.modelManager.sceneState;A.target.parentNode.style.backgroundColor="#1f89de",A.target.className="yj-icon postil-icon active",e.getSelection()}})),xh.append(document.querySelector("body"),'<div id="postilEdit'+t+'" style="height: 100%;width:100%;overflow: hidden"></div>'),document.querySelector("#postilEdit"+t).style.display="none",this.edit=new Wd("postilEdit"+t,this,o,t),r.edit.init(),xh.addEventListener(r.postilWindow.$el.querySelector(".postil-body"),"click",(function(A){switch(A.target.className){case"postil-node-delete":r.postilDelete(A);break;case"postil-node-img":r.postilflyto(A);break;case"postil-node-button-update":r.postilUpdate(A);break;case"postil-node-button-edit":r.postilEdit(A)}})),xh.addEventListener(r.postilWindow.$el.querySelector(".postil-body"),"dblclick",(function(A){switch(A.target.className){case"postil-node-name":r.postilRename(A)}})),this.makePostils=function(){var A,e,t,i,n,r=o.viewerImpl.modelManager.getModelSnapshotPhoto();A=r.imgURL;var s=r.width,l=r.height,c=o.viewerImpl.getSceneState();e=c.camera,t=c.state,i=c.selection.concat(),n=c.modelSelection.concat();var h=a;return a+=1,{cameraState:e,componentState:t,highlightComponentsKeys:i,highlightModelsKeys:n,imageURL:A,width:s,height:l,num:h,code:(new Date).getTime().toString(),name:"批注"+h}},this.clear=function(){[].map.call(r.postilWindow.$el.querySelectorAll(".postil .postil-body"),(function(A,e){A.innerHTML=""})),r.postilInfo={},r.postilDelConf=!0},this.load=function(A){Array.isArray(A)&&A.forEach((function(A){r.add(A)}))},xh.addEventListener(r.postilWindow.$el.querySelector("#postilAdd"+t),"click",(function(A){var e=r.makePostils();"function"==typeof r.addListener?r.addListener(e,(function(A,t){A&&r.add(t||e)})):r.add(e)})),this.add=function(A){var e=A.imageURL,t=A.width,i=A.height,o=A.code,n=A.name,a=A.num;if(A.cameraState&&A.componentState&&e&&o&&t&&i){for(var s=r.postilWindow.$el.querySelectorAll(".postil-node"),l=0;s.length>l;l+=1)xh.css(s[l],{border:"2px"});var c='<div class="postil-node" code="'+o+'" imgid="'+o+'" style="margin-bottom:20px;" num="'+a+'"><div class="postil-node-header"><span class="postil-node-name" title="双击以重命名">'+n+'</span><span class="postil-node-delete" title="删除批注">×</span></div><div class="postil-node-body" title="点击以浏览模型批注"><img class="postil-node-img" width="100%" height='+parseInt(i*(300/t),0)+'px" src="'+e+'"></div><div class="postil-node-footer"><div><button class="postil-node-button-update" yhtype="update" style="right: 70px" title="将当前模型视角更新到此批注">更新</button></div><div><button class="postil-node-button-edit" yhtype="edit" style="right: 22px" title="查看/编辑批注">编辑</button></div></div>';[].map.call(r.postilWindow.$el.querySelectorAll(".postil-body"),(function(A,e){xh.append(A,c)})),r.postilInfo[o]=A}},this.postilEdit=function(A){var e=document.querySelector("#postilEdit"+t);e.style.display="block",e.style.height=r.viewer.viewerImpl.getDomElement().style.height,e.style.width=r.viewer.viewerImpl.getDomElement().style.width;var i=A.target.parentNode.parentNode.parentNode.getAttribute("imgid");"function"==typeof r.openListener?r.openListener(i,(function(A){A&&r.open(i)})):r.open(i)},this.open=function(A){document.querySelector("#postilEdit"+t).style.display="block";var e=r.postilWindow.$el.querySelector("div[imgid='"+A+"']");if(e){this.editingNodeDom=e;var i=e.querySelector(".postil-node-name").textContent;r.editingPostilObj=r.postilInfo[A],r.edit.setTitle(i),xh.showOrHideElement(o.viewport,!1),r.edit.canvas.currentCanvasContainer.getCanvas().setDocumentName(A),r.edit.canvas.currentCanvasContainer.getCanvas().setPictureName(A),r.edit.canvas.negativeCanvasContainer.getCanvas().setDocumentName(A),r.edit.canvas.negativeCanvasContainer.getCanvas().setPictureName(A);var n=r.edit.canvas.negativeCanvasContainer.getCanvas(),a=new r.edit.model.shapeModel.ImageShape,s=e.children[1].children[0].naturalWidth,l=e.children[1].children[0].naturalHeight;a.init({x:0,y:0,width:s,height:l,src:e.children[1].children[0].src}),r.edit.clear(),n.paint(a),r.edit.updateSize(s,l)}},this.postilUpdate=function(A){var e=A.target.parentNode.parentNode.parentNode.getAttribute("imgid"),t=r.makePostils();"function"==typeof r.updateListener?r.updateListener(e,t,(function(A,i,o){A&&r.update(i||e,o||t)})):r.update(e,t)},this.update=function(A,e){var t=r.postilInfo[A];t&&(t.cameraState=e.cameraState,t.componentState=e.componentState,t.highlightComponentsKeys=e.highlightComponentsKeys,t.highlightModelsKeys=e.highlightModelsKeys,t.imageURL=e.imageURL);var i=r.postilWindow.$el.querySelector("div[imgid='"+A+"']");if(i){var o=i.querySelector(".postil-node-img");o&&(o.src=e.imageURL)}},this.postilDelete=function(A){var e=A.target.parentNode.parentNode.getAttribute("imgid");if(r.postilDelConf){var t=qd.alert("info",{msg:"删除不可恢复,确认删除?",title:"删除确认",backdrop:!0,buttons:{yes:{closeOnClick:!1,text:"删除并不再提示"},no:{closeOnClick:!1,text:"删除"}},callback:function(A,t){"no"!==t&&"yes"!==t||("yes"===t&&(r.postilDelConf=!1),"function"==typeof r.deleteListener?r.deleteListener(e,(function(A){A&&r.delete(e)})):r.delete(e)),A.destroy()}}),i=(new Date).getTime()-qd.window.startTime;[].map.call(r.postilWindow.$el.querySelectorAll(".lobibox-backdrop"),(function(A,e){xh.css(A,{"z-index":i})})),t.$el.style.zIndex=i+2}else"function"==typeof r.deleteListener?r.deleteListener(e,(function(A){A&&r.delete(e)})):r.delete(e)},this.delete=function(A){var e=r.postilWindow.$el.querySelector("div[imgid='"+A+"']");e&&e.remove(),delete r.postilInfo[A]},this.postilRename=function(A){o.viewerImpl.cameraControl.enabled=!1;var e=A.target,t=e.parentNode.parentNode.getAttribute("imgid"),i=e.innerText,n=document.createElement("input");n.type="text",n.value=i,e.innerText="",xh.append(e,n),n.focus(),n.select(),n.addEventListener("blur",(function(A){var e=A.target;e.removeEventListener("blur",(function(){})),e.value!==i&&""!==xh.trim(e.value)?"function"==typeof r.renameListener?r.renameListener(t,e.value,(function(A,o){A?r.rename(t,o||e.value):e.parentNode.innerText=i})):r.rename(t,e.value):e.parentNode.innerText=i,n.remove(),o.viewerImpl.cameraControl.enabled=!0}))},this.rename=function(A,e){var t=r.postilWindow.$el.querySelector("div[imgid='"+A+"']");if(t){var i=t.querySelector(".postil-node-name");i&&(i.innerText=e)}r.postilInfo[A].name=e},this.postilflyto=function(A){for(var e=r.postilWindow.$el.querySelectorAll(".postil-node"),t=0;e.length>t;t+=1)xh.css(e[t],{border:"2px"});var i=A.target.parentNode.parentNode.getAttribute("code");"function"==typeof r.restoreToPostilListener?r.restoreToPostilListener(i,(function(A){r.restoreToPostil(i)})):r.restoreToPostil(i)},this.restoreToPostil=function(A){var e=r.postilInfo[A];if(e){o.viewerImpl.setSceneState({camera:e.cameraState,state:e.componentState,selection:e.highlightComponentsKeys,modelSelection:e.highlightModelsKeys});var t=r.postilWindow.$el.querySelector("div[imgid='"+A+"']");t&&xh.css(t,{border:"2px solid #002553"})}},this.postilSave=function(){"function"==typeof r.saveListener?r.saveListener(this.editingPostilObj.code,(function(A){A&&r.save()})):r.save()},this.save=function(){r.edit.canvas.currentCanvasContainer.getCanvas().save(),r.edit.canvas.negativeCanvasContainer.getCanvas().save();var A=r.edit.canvas.currentCanvasContainer.getCanvas(),e=r.edit.canvas.negativeCanvasContainer.getCanvas(),t=document.createElement("canvas");t.width=A.width,t.height=A.height;var i=t.getContext("2d");i.drawImage(e.getCanvas(),0,0),i.drawImage(A.getCanvas(),0,0);var o=t.toDataURL();r.editingPostilObj.imageURL=o,this.editingNodeDom.children[1].children[0].setAttribute("src",o),r.eventDispatcher.dispatchEvent({type:"POSTIL-EDIT-SAVE",event:event,data:r.editingPostilObj})},this.undo=function(){r.eventDispatcher.dispatchEvent({type:"POSTIL-EDIT-UNDO",event:event})},this.postilExit=function(){"function"==typeof r.exitListener?r.exitListener(this.editingPostilObj.code,(function(A){A&&r.exit()})):r.exit()},this.exit=function(){r.edit.canvas.currentCanvasContainer.getCanvas().clear(),r.edit.canvas.negativeCanvasContainer.getCanvas().clear(),r.edit.canvas.currentCanvasContainer.getCanvas().setDocumentName(""),r.edit.canvas.currentCanvasContainer.getCanvas().setPictureName(""),r.edit.canvas.negativeCanvasContainer.getCanvas().setDocumentName(""),r.edit.canvas.negativeCanvasContainer.getCanvas().setPictureName(""),r.clearPostilStorage(),r.edit.hide(),r.editingPostilObj=void 0,document.querySelector("#"+o.viewport).style.display="block",r.eventDispatcher.dispatchEvent({type:"POSTIL-EDIT-CLOSE"})},this.clearPostilStorage=function(){for(var A=localStorage.length,e=[],t=0;A>t;t+=1){var i=localStorage.key(t);-1===i.indexOf("currentCanvas-")&&-1===i.indexOf("negativeCanvas-")||e.push(i)}e.map((function(A,e){return localStorage.removeItem(A)}))},this.clearPostilStorage(),this.getPostilByKey=function(A){return r.postilInfo?r.postilInfo[A]:null},this.getAllPostil=function(){return r.postilInfo?r.postilInfo:null}},zd=function(A,e){var t=document.getElementById("svgBar"+e),i=this;if(!t){this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.setAttribute("id","svgBar"+e),this.svg.setAttribute("style","width: 100%; height: 10px; position:absolute; left: 0; top:0;"),A.appendChild(this.svg);var o=Number(2).toString(),n=A.clientWidth.toString(),r=(A.clientWidth-2).toString();this.backBar=document.createElementNS("http://www.w3.org/2000/svg","line"),this.backBar.setAttribute("id","backBar"+e),this.backBar.setAttribute("class","progressBar"),this.backBar.setAttribute("x1",o),this.backBar.setAttribute("y1","1"),this.backBar.setAttribute("x2",n),this.backBar.setAttribute("y2","1"),this.backBar.setAttribute("stroke","#CFF9FE"),this.backBar.setAttribute("stroke-width","7"),this.backBar.setAttribute("stroke-linecap","round"),this.frontBar=document.createElementNS("http://www.w3.org/2000/svg","line"),this.frontBar.setAttribute("id","frontBar"+e),this.frontBar.setAttribute("class","progressBar"),this.frontBar.setAttribute("x1",o),this.frontBar.setAttribute("y1","1"),this.frontBar.setAttribute("x2",n),this.frontBar.setAttribute("y2","1"),this.frontBar.setAttribute("stroke","#58BDFD"),this.frontBar.setAttribute("stroke-dasharray",r),this.frontBar.setAttribute("stroke-dashoffset",r),this.frontBar.setAttribute("stroke-width","7"),this.frontBar.setAttribute("stroke-linecap","round"),this.svg.appendChild(this.backBar),this.svg.appendChild(this.frontBar)}this.setProgressBar=function(A,e){var t=A/e,o=r-r*t;i.svg.style.display="",i.frontBar.setAttribute("stroke-dashoffset",o.toString()),1>t||setTimeout((function(){i.deleteProgressBar()}),500)},this.deleteProgressBar=function(){document.getElementsByClassName("progressBar");i.svg.style.display="none"}},Zd=function(A,e){var t=A.toolId,i=A.Flag,o=A.viewer,n=e.toolbarTop,r=this,a=0;this.snapshotInfo={},this.snapshotDelConf=!0,this.deleteListener=null,this.addListener=null,this.renameListener=null,this.updateListener=null,this.annotationListener=null,this.restoreToSnapshotListener=null;var s=document.createElement("div");s.className="snapshot-content",xh.append(s,'<button class="snapshot-play">播放模型快照</button><div class="snapshot"><div class="snapshot-body"></div></div><div class="labeling-footer"><button class="but-new-create" id="add'+t+'">新建快照</button></div></div>'),this.snapshotWindow=qd.window({title:"快照",width:334,height:688,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){var A=document.getElementById("snapshot"+t);i.snapshot=!1,A&&(A.style.backgroundColor="",A.querySelector(".yj-icon").className="yj-icon snapshot-icon")},content:s}),r.snapshotWindow.setPosition({left:"",right:5,top:60}),r.snapshotWindow.windowHide(),xh.addEventListener(n.querySelector("#snapshot"+t),"click",(function(A){if(i.snapshot)r.snapshotInfo=void 0,A.target.parentNode.style.backgroundColor="",A.target.className="yj-icon snapshot-icon",r.snapshotWindow.windowHide();else{r.load([]),i.snapshot=!i.snapshot,r.snapshotWindow.windowShow();var e=o.viewerImpl.modelManager.sceneState;A.target.parentNode.style.backgroundColor="#1f89de",A.target.className="yj-icon snapshot-icon active",e.getSelection()}})),xh.addEventListener(r.snapshotWindow.$el.querySelector("#add"+t),"click",(function(A){var e=r.makeSnapshots();"function"==typeof r.addListener?r.addListener(e,(function(A,t){A&&r.add(t||e)})):r.add(e)})),this.clear=function(){[].map.call(r.snapshotWindow.$el.querySelectorAll(".snapshot .snapshot-body"),(function(A,e){A.innerHTML=""})),r.snapshotInfo={},r.snapshotDelConf=!0},this.load=function(A){Array.isArray(A)&&A.forEach((function(A){r.add(A)}))},this.makeSnapshots=function(){var A,e,t,i,n,r=o.viewerImpl.modelManager.getModelSnapshotPhoto();A=r.imgURL;var s=r.width,l=r.height,c=o.viewerImpl.getSceneState();e=c.camera,t=c.state,i=c.selection.concat(),n=c.modelSelection.concat();var h=a;return a+=1,{cameraState:e,componentState:t,highlightComponentsKeys:i,highlightModelsKeys:n,imageURL:A,width:s,height:l,num:h,code:(new Date).getTime().toString(),name:"快照"+h,description:"无注释"}},xh.addEventListener(r.snapshotWindow.$el.querySelector(".snapshot-body"),"click",(function(A){switch(A.target.className){case"snapshot-node-delete":r.snapshotsDelete(A);break;case"snapshot-node-img":r.snapshotsflyto(A);break;case"snapshot-node-annotation":r.snapshotsAnnotation(A);break;case"snapshot-node-button-update":r.snapshotUpdate(A)}})),xh.addEventListener(r.snapshotWindow.$el.querySelector(".snapshot-body"),"dblclick",(function(A){switch(A.target.className){case"snapshot-node-name":r.snapshotsRename(A)}})),this.add=function(A){var e=A.imageURL,t=A.width,i=A.height,o=A.code,n=A.name,a=A.num,s=A.description;if(A.cameraState&&A.componentState&&e&&o&&t&&i){for(var l=r.snapshotWindow.$el.querySelectorAll(".snapshot-node"),c=0;l.length>c;c+=1)xh.css(l[c],{border:"2px"});var h='<div class="snapshot-node" code="'+o+'" imgid="'+o+'" style="margin-bottom:20px;" num="'+a+'"><div class="snapshot-node-header"><span class="snapshot-node-name" title="双击以重命名">'+n+'</span><span class="snapshot-node-delete" title="删除快照">×</span></div><div class="snapshot-node-body" title="点击以浏览模型快照"><img class="snapshot-node-img" width="100%" height='+parseInt(i*(300/t),0)+'px" src="'+e+'"></div><div class="snapshot-node-footer"><span class="snapshot-node-annotation" title="点击以修改注释">'+s+'</span><button class="snapshot-node-button-update" yhtype="update" title="将当前模型视角更新到此快照">更新</button></div>';[].map.call(r.snapshotWindow.$el.querySelectorAll(".snapshot-body"),(function(A,e){xh.append(A,h)})),r.snapshotInfo[o]=A}},this.snapshotsflyto=function(A){for(var e=r.snapshotWindow.$el.querySelectorAll(".snapshot-node"),t=0;e.length>t;t+=1)xh.css(e[t],{border:"2px"});var i=A.target.parentNode.parentNode.getAttribute("code");"function"==typeof r.restoreToSnapshotListener?r.restoreToSnapshotListener(i,(function(A){r.restoreToSnapshot(i)})):r.restoreToSnapshot(i)},this.restoreToSnapshot=function(A){var e=r.snapshotInfo[A];if(e){o.viewerImpl.setSceneState({camera:e.cameraState,state:e.componentState,selection:e.highlightComponentsKeys,modelSelection:e.highlightModelsKeys});var t=r.snapshotWindow.$el.querySelector("div[imgid='"+A+"']");t&&xh.css(t,{border:"2px solid #002553"})}},this.snapshotsPlay=function(){var A=null;function e(t){var i=r.snapshotWindow.$el.querySelectorAll(".snapshot-node");if(0!==i.length){var n,a=i[t].getAttribute("imgid");if(void 0===r.snapshotInfo[a])i.length>t&&e(t+1);else{for(var s=0;i.length>s;s+=1)xh.css(i[s],{border:"2px"});xh.css(i[t],{border:"2px solid #002553"}),o.viewerImpl.setSceneState({camera:r.snapshotInfo[a].cameraState,state:r.snapshotInfo[a].componentState,selection:r.snapshotInfo[a].highlightComponentsKeys,modelSelection:r.snapshotInfo[a].highlightModelsKeys}),i.length-1>t?A=setTimeout((n=t+1,function(){e(n)}),1e3):[].map.call(r.snapshotWindow.$el.querySelectorAll(".snapshot-play"),(function(A,e){A.innerHTML="播放模型快照"}))}i.length>t||[].map.call(r.snapshotWindow.$el.querySelectorAll(".snapshot-play"),(function(A,e){A.innerText="播放模型快照"}))}else[].map.call(r.snapshotWindow.$el.querySelectorAll(".snapshot-play"),(function(A,e){A.innerText="播放模型快照"}))}return function(t){if("播放模型快照"===t.target.innerText){t.target.innerText="停止播放";e(0)}else"停止播放"===t.target.innerText&&(t.target.innerText="播放模型快照",A&&clearTimeout(A))}}(),xh.addEventListener(r.snapshotWindow.$el.querySelector(".snapshot-play"),"click",(function(A){r.snapshotsPlay(A)})),this.snapshotsDelete=function(A){var e=A.target.parentNode.parentNode.getAttribute("imgid");if(r.snapshotDelConf){var t=qd.alert("info",{msg:"删除不可恢复,确认删除?",title:"删除确认",backdrop:!0,buttons:{yes:{closeOnClick:!1,text:"删除并不再提示"},no:{closeOnClick:!1,text:"删除"}},callback:function(A,t){"no"!==t&&"yes"!==t||("yes"===t&&(r.snapshotDelConf=!1),"function"==typeof r.deleteListener?r.deleteListener(e,(function(A){A&&r.delete(e)})):r.delete(e)),A.destroy()}}),i=(new Date).getTime()-qd.window.startTime;[].map.call(r.snapshotWindow.$el.querySelectorAll(".lobibox-backdrop"),(function(A,e){xh.css(A,{"z-index":i})})),t.$el.style.zIndex=i+2}else"function"==typeof r.deleteListener?r.deleteListener(e,(function(A){A&&r.delete(e)})):r.delete(e)},this.delete=function(A){var e=r.snapshotWindow.$el.querySelector("div[imgid='"+A+"']");e&&e.remove(),delete r.snapshotInfo[A]},this.snapshotsRename=function(A){o.viewerImpl.cameraControl.enabled=!1;var e=A.target,t=e.parentNode.parentNode.getAttribute("imgid"),i=e.innerText,n=document.createElement("input");n.type="text",n.value=i,e.innerText="",xh.append(e,n),n.focus(),n.select(),n.addEventListener("blur",(function(A){var e=A.target;e.removeEventListener("blur",(function(){})),e.value!==i&&""!==xh.trim(e.value)?"function"==typeof r.renameListener?r.renameListener(t,e.value,(function(A,o){A?r.rename(t,o||e.value):e.parentNode.innerText=i})):r.rename(t,e.value):e.parentNode.innerText=i,n.remove(),o.viewerImpl.cameraControl.enabled=!0}))},this.rename=function(A,e){var t=r.snapshotWindow.$el.querySelector("div[imgid='"+A+"']");if(t){var i=t.querySelector(".snapshot-node-name");i&&(i.innerText=e)}r.snapshotInfo[A].name=e},this.snapshotUpdate=function(A){var e=A.target.parentNode.parentNode.getAttribute("imgid"),t=r.makeSnapshots();"function"==typeof r.updateListener?r.updateListener(e,t,(function(A,i,o){A&&r.update(i||e,o||t)})):r.update(e,t)},this.update=function(A,e){var t=r.snapshotInfo[A];t&&(t.cameraState=e.cameraState,t.componentState=e.componentState,t.highlightComponentsKeys=e.highlightComponentsKeys,t.highlightModelsKeys=e.highlightModelsKeys,t.imageURL=e.imageURL);var i=r.snapshotWindow.$el.querySelector("div[imgid='"+A+"']");if(i){var o=i.querySelector(".snapshot-node-img");o&&(o.src=e.imageURL)}},this.snapshotsAnnotation=function(A){var e=A.target,t=e.parentNode.parentNode.getAttribute("imgid"),i=e.innerHTML,o=qd.prompt("text",{title:"添加/修改-注释/说明",value:e.innerHTML,multiline:!0,modal:!0,backdrop:!0,lines:6,attrs:{placeholder:"无注释"},buttons:{ok:{class:"btn btn-info",closeOnClick:!1,text:"确定"},cancel:{class:"btn btn-danger",closeOnClick:!1,text:"取消"}},callback:function(A,n){if("ok"===n){var a=o.getValue();a!==i&&""!==xh.trim(a)?"function"==typeof r.annotationListener?r.annotationListener(t,a,(function(A,e,i){A&&r.annotation(e||t,i||a)})):r.annotation(t,a):e.innerHTML=i,A.destroy()}else"cancel"===n&&A.destroy()}}),n=(new Date).getTime()-qd.window.startTime;[].map.call(r.snapshotWindow.$el.querySelectorAll(".lobibox-backdrop"),(function(A,e){xh.css(A,{"z-index":n})})),o.$el.style.zIndex=n+2},this.annotation=function(A,e){var t=r.snapshotWindow.$el.querySelector("div[imgid='"+A+"']");if(t){var i=t.querySelector(".snapshot-node-annotation");i&&(i.innerText=e)}r.snapshotInfo[A].description=e},this.getSnapshotByKey=function(A){return r.snapshotInfo?r.snapshotInfo[A]:null},this.getAllSnapshot=function(){return r.snapshotInfo?r.snapshotInfo:null}},Xd=function(A,e){var t=this;qd.viewport=document.querySelector("#"+A.viewport),A.getViewerImpl().getModelManager().addEventListener(Rc.ON_LOAD_ERROR,(function(A){jd("error",A.message||"加载出现错误",!1)})),A.getViewerImpl().getModelManager().addEventListener(Rc.ON_LOAD_INVALID_SCENE,(function(A){jd("error","key为 "+A.modelKey+" 的模型信息不合法",!1)})),A.getViewerImpl().getModelManager().addEventListener(Rc.ON_NETWORK_ERROR,(function(A){jd("error",A.message||"网络连接错误",!1)})),A.getViewerImpl().getModelManager().addEventListener(Rc.NO_PERMISSION,(function(A){jd("error",A.message||"权限不足",!1)})),A.getViewerImpl().getModelManager().addEventListener(Rc.ACCOUNT_NO_EXIST,(function(A){jd("error",A.message||"无法获取账户",!1)})),A.getViewerImpl().getModelManager().addEventListener(Rc.ON_LOAD_EMPTY_SCENE,(function(A){jd("error","key为 "+A.modelKey+" 的模型场景为空,请生成场景",!1)})),A.getViewerImpl().getModelManager().addEventListener(Tc.PARSEFAILE,(function(A){jd("error","key为 "+A.modelKey+" 的模型解析失败",!1)})),A.getViewerImpl().getModelManager().addEventListener(Tc.PARSING,(function(A){jd("error","key为 "+A.modelKey+" 的模型解析中",!1)})),A.getViewerImpl().getModelManager().addEventListener(Tc.SCENE_NOTHING_TO_LOAD,(function(A){jd("error","key为 "+A.modelKey+" 的模型没有可加载的内容",!1)}));var i=A.viewerImpl.uuid,o={roam:!1,sectioning:!1,multiple:!1,fullScreen:!1,attribute:!1,search:!1,measurement:!1,modelTree:!1,treeDataLoad:!1,snapshot:!1,postil:!1,mark:!1},n={home:!0,fit:!0,restore:!0,roam:!0,multiple:!0,transparent:!1,hide:!0,isolation:!0,sectioning:!0,modelPartition:!0,wireframe:!0,color:!0,setting:!0,modelTree:!1,attribute:!0,search:!1,measurement:!0,snapshot:!0,postil:!0,mark:!0},r={Flag:o,lobibox:qd,toolId:i,viewer:A};this.progressBar=new zd(A.viewerImpl.domElement,i);var a={};A.getViewerImpl().modelManager.addEventListener(Rc.ON_LOAD_PROGRESS,(function(A){a[A.progress.modelKey]=[A.progress.total,A.progress.loaded];var e=0,i=0;for(var o in a)if(a.hasOwnProperty(o)){var n=a[o];e+=n[0],i+=n[1]}t.progressBar.setProgressBar(i,e)})),A.getViewerImpl().modelManager.addEventListener(Rc.ON_LOAD_COMPLETE,(function(A){delete a[A.modelKey],0===Object.keys(a).length&&t.progressBar.setProgressBar(1,1)}));A.viewerImpl.getScene();this.undoList=[],this.redoList=[],this.maxUndoListLength=10;var s,l,c,h,d=0;function p(e){var i=t.undoList[e-1];if(i)switch(i.type){case"隐藏":A.showComponentsByKey(i.data);break;case"隔离":A.closeIsolateComponentsByKey(i.data);break;case"修改颜色":A.closeColorfulComponentsByKey(i.data.key);break;case"框选添加":A.closeHighlightComponentsByKey(i.data);break;case"框选移除":A.highlightComponentsByKey(i.data);break;case"修改线框":A.closeWireFrameComponentsByKey(i.data)}}function g(e){var i=t.redoList[e];if(i)switch(i.type){case"隐藏":A.hideComponentsByKey(i.data);break;case"隔离":A.isolateComponentsByKey(i.data);break;case"修改颜色":A.colorfulComponentsByKey(i.data.key,i.data.color,i.data.opacity);break;case"框选添加":A.highlightComponentsByKey(i.data);break;case"框选移除":A.closeHighlightComponentsByKey(i.data);break;case"修改线框":A.wireFrameComponentsByKey(i.data)}}function u(A){if(void 0!==A.target.undoNum){var e=Number(A.target.undoNum);1===e&&jd("info","无法再撤销、重做。请使用ctrl+z或ctrl+shift+z",3e3),isNaN(e)||t.undoOrRedo(e)}}this.className="Tool",this.getToolId=function(){return i},this.getFlag=function(){return o},this.createTool=function(e){t.options=uh.extend(!0,{},n,e);var a=document.createElement("div");a.id="my-tool"+i,a.className="yj-tool",A.viewerImpl.domElement.appendChild(a),this.toolbarTop=a,t.toolbar=a;var s=document.createElement("div");s.className="yj-group",a.appendChild(s);var l=document.createElement("div");l.className="homeViewer-div",l.id="homeViewerDiv"+i,l.style.display="flex";var c=document.createElement("button");c.className="yj-but",c.title="视图操作",c.id="homeViewer"+i;var h=document.createElement("div");h.classList.add("yj-icon"),h.classList.add("homeViewer-icon"),c.appendChild(h);var p=document.createElement("div");p.className="viewerModal",p.id="viewerModal"+i,l.appendChild(c),l.appendChild(p),t.options.home&&s.appendChild(l),c.addEventListener("click",(function(A){""===p.style.display||"none"===p.style.display?(DA(),p.style.display="flex"):p.style.display="none"}));var g=document.createElement("button");g.className="yj-but",g.title="初始化",g.id="home"+i;var u=document.createElement("div");u.classList.add("yj-icon"),u.classList.add("home-icon"),g.appendChild(u),t.options.home&&p.appendChild(g);var f=document.createElement("button");f.className="yj-but",f.title="聚焦",f.id="fit"+i;var m=document.createElement("div");m.classList.add("yj-icon"),m.classList.add("fit-icon"),f.appendChild(m),t.options.fit&&p.appendChild(f);var C=document.createElement("button");C.className="yj-but",C.title="复位",C.id="restore"+i;var y=document.createElement("div");y.classList.add("yj-icon"),y.classList.add("restore-icon"),C.appendChild(y);var v=document.createElement("ul");v.className="restoreModal",v.style.cssText+="display: none;",v.id="restoreModal"+i;for(var I=0;6>I;I+=1){var E=document.createElement("li");E.className="input-group-addon",v.appendChild(E);var B=document.createElement("input");B.type="checkbox",B.className=5===I?"checkAll":"check",E.appendChild(B);var x=document.createElement("label");switch(E.appendChild(x),I){case 0:B.id="showSet"+i,x.setAttribute("for","showSet"+i),x.innerHTML="复位构件可见设置";break;case 1:B.id="highlightSet"+i,x.setAttribute("for","highlightSet"+i),x.innerHTML="复位构件高亮设置";break;case 2:B.id="viewSet"+i,x.setAttribute("for","viewSet"+i),x.innerHTML="复位模型视角设置";break;case 3:B.id="wireframeSet"+i,x.setAttribute("for","wireframeSet"+i),x.innerHTML="复位构件线框设置";break;case 4:B.id="colorSet"+i,x.setAttribute("for","colorSet"+i),x.innerHTML="复位构件颜色设置";break;case 5:B.id="checkAll"+i,x.setAttribute("for","checkAll"+i),x.innerHTML="全选";var S=document.createElement("input");S.type="button",S.id="reset"+i,S.className="reset",S.value="复位选中项",E.appendChild(S)}}var w=document.createElement("ul");w.className="history",w.id="history"+i,w.style.cssText+="display: none;";var M=document.createElement("span");M.innerText="历史记录",M.style.cssText+="color:white",w.appendChild(M),t.options.restore&&(s.appendChild(C),s.appendChild(v),s.appendChild(w),v.style.cssText+="margin-left:"+C.style.left-v.style.width/2+"px");var b=document.createElement("button");b.className="yj-but",b.title="漫游",b.id="roam"+i;var U=document.createElement("div");U.classList.add("yj-icon"),U.classList.add("roam-icon"),b.appendChild(U);var F=document.createElement("div");F.classList.add("roamModal"),F.classList.add("clearfix"),F.id="roamModal"+i,F.innerHTML='<div class="roamDistance"><div><span class="distance-info">提示信息</span></div><div class="subtract">-</div><div class="distanceRangeParent"><input type="range" class="distanceRange" step="0.01" min="0.01" max="2" value="1"/></div><div class="add">+</div></div><div class="roamHeight"><div><span class="height-info">提示信息</span></div><div class="subtract">-</div><div class="heightRangeParent"><input type="range" class="heightRange" step="0.01" min="0" max="1"/></div><div class="add">+</div></div>';var K=document.createElement("div");K.className="roamOnOff",K.innerHTML='<div><div class="collisionControl"><span>碰撞:</span><input type="checkbox" id="collision'+i+'" class=\'collision\' name="switch"> <label for="collision'+i+'" class="choose-label"></label></div><div class="gravityControl"><span>重力:</span><input type="checkbox" id="gravity'+i+'" class=\'gravity\' name="switch"> <label for="gravity'+i+'" class="choose-label"></label></div></div>',t.options.roam&&(s.appendChild(b),s.appendChild(F),s.appendChild(K),F.style.cssText+="margin-left:"+b.style.left-F.style.width/2+"px");var Q=document.createElement("div");Q.className="yj-group",a.appendChild(Q);var R=null;t.options.multiple&&(R=function(A,e){var t=A.toolId,i=A.Flag,o=A.viewer,n=document.createElement("button");n.className="yj-but",n.title="框选",n.id="multiple"+t;var r=document.createElement("div");r.classList.add("yj-icon"),r.classList.add("multiple-icon"),n.appendChild(r);var a=null;return n.addEventListener("click",(function(){if(i.multiple)return this.style.backgroundColor="",this.querySelector(".yj-icon").className="yj-icon multiple-icon",i.multiple=!1,a&&a.remove(),a=null,void o.viewerImpl.controlManager.disableTool(Pc.PICK_BY_RECT);i.roam&&(document.getElementById("roam"+t).style.backgroundColor="",document.getElementById("roam"+t).querySelector(".yj-icon").className="yj-icon roam-icon",jd("info","框选模式下将关闭漫游功能",2e3),e.exitRoam()),i.measurement&&(document.getElementById("measurement"+t).style.backgroundColor="",document.getElementById("measurement"+t).querySelector(".yj-icon").className="yj-icon measurement-icon",jd("info","框选模式下将关闭测量功能",2e3),e.exitMeasure&&e.exitMeasure()),i.sectioning&&(document.getElementById("sectioning"+t).style.backgroundColor="",document.getElementById("sectioning"+t).querySelector(".yj-icon").className="yj-icon sectioning-icon",jd("info","框选模式下将关闭剖切功能",2e3),o.viewerImpl.controlManager.disableTool(Pc.CLIP_BY_BOX),i.sectioning=!1),o.render(),a=jd("info","按住'Ctrl'键,框选模式为增选;按住'Alt'键,框选模式为减选",5e3),this.style.backgroundColor="#1f89de",this.querySelector(".yj-icon").className="yj-icon multiple-icon active",i.multiple=!i.multiple,o.viewerImpl.controlManager.enableTool(o.viewerImpl,Pc.PICK_BY_RECT)})),n}(r,this),Q.appendChild(R));var T=document.createElement("button");T.className="yj-but",T.title="构件透明化",T.id="transparent"+i;var k=document.createElement("div");k.classList.add("yj-icon"),k.classList.add("transparent-icon"),T.appendChild(k);var D=document.createElement("div");D.classList.add("transparentModal"),D.classList.add("clearfix"),D.id="transparentModal"+i;var L=document.createElement("div");D.appendChild(L);var N=document.createElement("span");N.innerHTML="提示信息",N.className="transparent-info",L.appendChild(N),(uA=document.createElement("div")).className="subtract",uA.innerHTML="-",D.appendChild(uA);var O=document.createElement("div");O.className="transparentRangeParent",D.appendChild(O);var V=document.createElement("input");V.type="range",V.className="transparentRange",V.setAttribute("step","0.01"),V.setAttribute("min","0"),V.setAttribute("max","1"),O.appendChild(V),(CA=document.createElement("div")).className="add",CA.innerHTML="+",D.appendChild(CA),t.options.transparent&&(Q.appendChild(T),Q.appendChild(D),D.style.cssText+="margin-left:"+T.style.left-D.style.width/2+"px");var G=document.createElement("div");G.className="toolComponentDiv",G.id="toolComponentDiv"+i,G.style.display="flex";var P=document.createElement("button");P.className="yj-but",P.title="构件操作",P.id="toolComponent"+i;var q=document.createElement("div");q.classList.add("yj-icon"),q.classList.add("toolComponent-icon"),P.appendChild(q);var j=document.createElement("div");j.className="toolComponentModal",j.id="toolComponentModal"+i,G.appendChild(P),G.appendChild(j),Q.appendChild(G),P.addEventListener("click",(function(A){""===j.style.display||"none"===j.style.display?(DA(),j.style.display="flex"):j.style.display="none"}));var H=document.createElement("button");H.className="yj-but",H.title="构件隐藏",H.id="hide"+i;var Y=document.createElement("div");Y.classList.add("yj-icon"),Y.classList.add("hide-icon"),H.appendChild(Y),t.options.hide&&j.appendChild(H);var W=document.createElement("button");W.className="yj-but",W.title="构件隔离",W.id="insulate"+i;var J=document.createElement("div");J.classList.add("yj-icon"),J.classList.add("insulate-icon"),W.appendChild(J),t.options.isolation&&j.appendChild(W);var z=document.createElement("button");z.className="yj-but",z.title="构件属性",z.id="attribute"+i;var Z=document.createElement("div");Z.classList.add("yj-icon"),Z.classList.add("attribute-icon"),z.appendChild(Z),t.options.attribute&&(j.appendChild(z),this.attributeWindow=function(A){var e=A.lobibox,t=A.toolId,i=A.Flag,o=document.createElement("div");o.className="tab-body",o.id="tab-properties"+t;var n=document.createElement("table");n.classList.add("sx-table"),n.classList.add("table-no-top"),o.appendChild(n);var r=document.createElement("thead");n.appendChild(r);var a=document.createElement("tbody");n.appendChild(a);var s=document.createElement("tr");s.className="noprop",a.appendChild(s);var l=document.createElement("td");return l.innerText="尚未选择构件",s.appendChild(l),e.window({title:"属性",width:334,height:688,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){var A=document.getElementById("attribute"+t);i.attribute=!1,A&&(A.style.backgroundColor="",A.querySelector(".yj-icon").className="yj-icon attribute-icon")},content:o})}(r),t.attributeWindow.setPosition({left:"",right:5,top:60}),t.attributeWindow.windowHide(),z.addEventListener("click",(function(){if(o.attribute)this.style.backgroundColor="",t.attributeWindow.windowHide();else{o.attribute=!o.attribute,this.style.backgroundColor="#1f89de",this.querySelector(".yj-icon").className="yj-icon attribute-icon active",t.attributeWindow.windowShow();var e=A.viewerImpl.modelManager.sceneState;e.getSelection()&&t.showComponentAttribute(e.getSelection()[0])}})));var X=document.createElement("button");X.className="yj-but",X.title="构件线框化",X.id="wireframe"+i;var _=document.createElement("div");_.classList.add("yj-icon"),_.classList.add("wireframe-icon"),X.appendChild(_),t.options.wireframe&&j.appendChild(X);var $=document.createElement("button");$.className="yj-but",$.title="构件变色",$.id="color"+i,$.style.borderRadius="0 6px 6px 0";var AA=document.createElement("div");AA.classList.add("yj-icon"),AA.classList.add("color-icon"),$.appendChild(AA);var eA=document.createElement("input");eA.style.cssText+="display:none;",eA.className="toolColorInput",$.appendChild(eA);var tA=new Hh(eA,{hasOpacity:!0}).element;tA.id="colorModal"+i,tA.className="colorModal",t.options.color&&(j.appendChild($),Q.appendChild(tA),tA.style.cssText+="margin-left:"+$.offsetLeft+"px"),tA.querySelector(".btn-yes").addEventListener("click",(function(){var e=A.getHighlightComponentsKey(),i=Kd.getHexStringFromRGB(eA.value),o=Kd.getColorArrayFromRGBA(eA.value)[3];t.push({type:"修改颜色",data:{key:e,color:i,opacity:o}}),A.colorfulComponentsByKey(e,i,o)}));var iA=document.createElement("button");iA.className="yj-but",iA.title="模型测量",iA.id="measurement"+i;var oA=document.createElement("div");oA.classList.add("yj-icon"),oA.classList.add("measurement-icon"),iA.appendChild(oA),t.options.measurement&&(Q.appendChild(iA),iA.addEventListener("click",(function(e){o.measurement?(o.measurement=!1,this.style.backgroundColor="",this.querySelector(".yj-icon").className="yj-icon measurement-icon",A.viewerImpl.controlManager.disableTool(Pc.PICK_BY_MEASURE)):(o.measurement=!0,this.style.backgroundColor="#1f89de",this.querySelector(".yj-icon").className="yj-icon measurement-icon active",A.viewerImpl.controlManager.enableTool(A.viewerImpl,Pc.PICK_BY_MEASURE))})));var nA=document.createElement("div");nA.className="toolModelDiv",nA.id="toolModelDiv"+i,nA.style.display="flex";var rA=document.createElement("button");rA.className="yj-but",rA.title="模型操作",rA.id="toolModel"+i;var aA=document.createElement("div");aA.classList.add("yj-icon"),aA.classList.add("toolModel-icon"),rA.appendChild(aA);var sA=document.createElement("div");sA.className="toolModelModal",sA.id="toolModelModal"+i,nA.appendChild(rA),nA.appendChild(sA),Q.appendChild(nA),rA.addEventListener("click",(function(A){""===sA.style.display||"none"===sA.style.display?(DA(),sA.style.display="flex"):sA.style.display="none"}));var lA=document.createElement("button");lA.className="yj-but",lA.title="模型剖切",lA.id="sectioning"+i;var cA=document.createElement("div");cA.classList.add("yj-icon"),cA.classList.add("sectioning-icon"),lA.appendChild(cA),t.options.sectioning&&sA.appendChild(lA);var hA=document.createElement("button");hA.className="yj-but",hA.title="模型分解",hA.id="modelPartition"+i;var dA=document.createElement("div");dA.classList.add("yj-icon"),dA.classList.add("modelPartition-icon"),hA.appendChild(dA);var pA=document.createElement("div");pA.classList.add("modelPartitionModal"),pA.id="modelPartitionModal"+i,pA.style.cssText+="display: none;";var gA=document.createElement("div");pA.appendChild(gA);var uA,fA=document.createElement("span");fA.innerHTML="提示信息",fA.className="modelPartition-info",gA.appendChild(fA),(uA=document.createElement("div")).className="subtract",uA.innerHTML="-",pA.appendChild(uA);var mA=document.createElement("div");mA.className="modelPartitionRangeParent",pA.appendChild(mA);var CA,yA=document.createElement("input");yA.type="range",yA.className="modelPartitionRange",yA.setAttribute("value","1"),yA.setAttribute("name","points"),yA.setAttribute("step","0.01"),yA.setAttribute("min","1"),yA.setAttribute("max","3"),mA.appendChild(yA),(CA=document.createElement("div")).className="add",CA.innerHTML="+",pA.appendChild(CA),t.options.modelPartition&&(sA.appendChild(hA),Q.appendChild(pA),D.style.cssText+="margin-left:"+hA.style.left-pA.style.width/2+"px");var vA=document.createElement("div");vA.className="toolPostilDiv",vA.id="toolPostilDiv"+i,vA.style.display="flex",(wA=document.createElement("button")).className="yj-but",wA.title="批注操作",wA.id="toolPostil"+i;var IA=document.createElement("div");IA.classList.add("yj-icon"),IA.classList.add("toolPostil-icon"),wA.appendChild(IA);var EA=document.createElement("div");EA.className="toolPostilModal",EA.id="toolPostilModal"+i,vA.appendChild(wA),vA.appendChild(EA),Q.appendChild(vA),wA.addEventListener("click",(function(A){""===EA.style.display||"none"===EA.style.display?(DA(),EA.style.display="flex"):EA.style.display="none"}));var BA=document.createElement("button");BA.className="yj-but",BA.title="添加标签",BA.id="mark"+i;var xA=document.createElement("div");if(xA.classList.add("yj-icon"),xA.classList.add("label-icon"),BA.appendChild(xA),t.options.mark&&(EA.appendChild(BA),t.mark=new Hd(r,this)),t.options.snapshot){xh.append(EA,'<button type="button" class="yj-but" title="快照" id="snapshot'+i+'"><div class="yj-icon snapshot-icon" ></div></button>');var SA=document.getElementById("snapshot"+i);SA.addEventListener("mouseover",(function(A){this.style.backgroundColor="#1f89de"})),SA.addEventListener("mouseout",(function(A){o[this.id.split(i)[0]]||(this.style.backgroundColor="")})),t.snapshot=new Zd(r,this)}if(t.options.postil){var wA;xh.append(EA,wA='<button type="button" class="yj-but" title="批注" id="postil'+i+'"><div class="yj-icon postil-icon" ></div></button>');var MA=document.getElementById("postil"+i);MA.addEventListener("mouseover",(function(A){this.style.backgroundColor="#1f89de"})),MA.addEventListener("mouseout",(function(A){o[this.id.split(i)[0]]||(this.style.backgroundColor="")})),t.postil=new Jd(r,this)}var bA=document.createElement("div");bA.className="yj-group",bA.style.display="flex",bA.style.width="160px",a.appendChild(bA);var UA=document.createElement("button");UA.className="yj-but",UA.title="设置",UA.id="set"+i,UA.style.borderRadius="6px";var FA=document.createElement("div");FA.classList.add("yj-icon"),FA.classList.add("set-icon"),UA.appendChild(FA);var KA=document.createElement("div");KA.className="setModal",KA.id="setModal"+i;var QA=document.createElement("div");QA.className="sceneColorDiv",QA.title="选择背景颜色",KA.appendChild(QA);var RA=document.createElement("button");RA.id="sceneColorSet"+i,RA.classList.add("yj-icon"),RA.classList.add("sceneColorSet"),QA.appendChild(RA);var TA=document.createElement("input");TA.style.cssText+="display:none;",TA.className="sceneColorInput",QA.appendChild(TA);var kA=new Hh(TA,{hasOpacity:!0}).element;function DA(){v&&(v.style.display="none"),D&&(D.style.display="none"),pA&&(pA.style.display="none"),tA&&(tA.style.display="none"),p&&(p.style.display="none"),j&&(j.style.display="none"),sA&&(sA.style.display="none"),EA&&(EA.style.display="none"),KA&&(KA.style.display="none"),w&&(w.style.display="none")}kA.id="sceneColorModal"+i,kA.className="sceneColorModal",kA.querySelector(".btn-yes").addEventListener("click",(function(){DA();var e=Kd.getHexStringFromRGB(TA.value),t=Kd.getColorArrayFromRGBA(TA.value)[3];A.setSceneBackGroundColor(e,t)})),kA.querySelector(".btn-no").addEventListener("click",(function(){DA()}));var LA=document.createElement("div");LA.className="fullScreenDiv",LA.title="全屏显示",KA.appendChild(LA);var NA=document.createElement("button");function OA(A){A.stopPropagation?A.stopPropagation():A.cancelBubble=!0}NA.classList.add("yj-icon"),NA.classList.add("fullScreen"),NA.id="Fullscreen"+i,LA.appendChild(NA),t.options.setting&&(bA.appendChild(UA),bA.appendChild(KA),KA.appendChild(kA),kA.style.cssText+="margin-left:"+(UA.offsetWidth+5)+"px;"),document.addEventListener("click",(function(A){})),document.addEventListener("keydown",(function(A){27===(A.keyCode?A.keyCode:A.which)&&(o.roam&&b.click(),o.measurement&&document.querySelector("#measurement"+i).click(),o.multiple&&R&&R.click(),o.sectioning&&lA.click()),(A.keyCode?A.keyCode:A.which)===Oh&&(!0===A.ctrlKey&&!0===A.shiftKey&&t.undoOrRedo(d+1),!0===A.ctrlKey&&!1===A.shiftKey&&t.undoOrRedo(d-1))})),g.addEventListener("click",(function(){t.clearUndoList(),A.resetScene()})),f.addEventListener("click",(function(){A.adaptiveSize()})),C.addEventListener("click",(function(A){"none"===v.style.display&&DA(),v.addEventListener("click",(function(A){OA(A)})),w.addEventListener("click",(function(A){OA(A)})),v.style.display="none"===v.style.display?"block":"none",w.style.display="none"===w.style.display?"block":"none",OA(A)})),document.getElementById("reset"+i).addEventListener("click",(function(){var e=document.getElementById("showSet"+i).checked,t=document.getElementById("highlightSet"+i).checked,o=document.getElementById("viewSet"+i).checked,n=document.getElementById("wireframeSet"+i).checked,r=document.getElementById("colorSet"+i).checked,a={};a.visible=e,a.selected=t,a.wireframed=n,a.colorfully=r,a.view=o,A.resetScene(a)}));var VA=document.querySelectorAll("input[type=checkbox].check");document.querySelector("input[type=checkbox].checkAll").addEventListener("click",(function(){for(var A=0;VA.length>A;A+=1)VA[A].checked=this.checked}));for(var GA=0;VA.length>GA;GA+=1)VA[GA].addEventListener("click",(function(){document.querySelector("input[type=checkbox].checkAll").checked=VA.length===document.querySelectorAll("input[type=checkbox].check:checked").length}));this.pathRoam=Yd(r,this,b,0,K),t.pathRoam.setPosition({left:"",right:5,top:60}),t.pathRoam.windowHide();var PA=D.querySelector(".subtract"),qA=D.querySelector(".add"),jA=D.querySelector(".transparentRange");T.addEventListener("click",(function(e){if("none"===D.style.display&&DA(),D.addEventListener("click",(function(A){OA(A)})),D.style.display="none"===D.style.display?"block":"none",1>A.getHighlightComponentsKey().length)jd("warning","未选中构件",2e3),D.style.display="none";else{jA.value=1,document.querySelector(".transparent-info").innerText="透明度: "+100..toFixed(0)+"%"}OA(e)}));var HA=mh.isIE11();jA.addEventListener(HA?"change":"input",(function(e){var t=A.getHighlightComponentsKey();document.querySelector(".transparent-info").innerHTML="透明度: "+(100*Number(jA.value)).toFixed(0)+"%",A.transparentComponentsByKey(t,Number(jA.value),!1)})),PA.addEventListener("click",(function(){var e=Number(jA.value),t=Number(jA.getAttribute("step"));jA.value=e-t;var i=A.getHighlightComponentsKey();document.querySelector(".transparent-info").innerHTML="透明度: "+(100*Number(jA.value)).toFixed(0)+"%",A.transparentComponentsByKey(i,Number(jA.value),!1)})),qA.addEventListener("click",(function(){var e=Number(jA.value),t=Number(jA.getAttribute("step"));jA.value=e+t;var i=A.getHighlightComponentsKey();document.querySelector(".transparent-info").innerHTML="透明度: "+(100*Number(jA.value)).toFixed(0)+"%",A.transparentComponentsByKey(i,Number(jA.value),!1)})),H.addEventListener("click",(function(){var e=A.getHighlightComponentsKey();1>e.length?jd("warning","未选中构件",2e3):(t.push({type:"隐藏",data:e}),A.hideComponentsByKey(e))})),W.addEventListener("click",(function(){var e=A.getHighlightComponentsKey();1>e.length?jd("warning","未选中构件",2e3):(t.push({type:"隔离",data:e}),A.isolateComponentsByKey(e))}));var YA=document.createElement("div");YA.className="section-body";var WA=document.createElement("div");WA.style.cssText+="color: #ff6700;top: 10px;height: 60px;text-align: center;font-size: 16px;",YA.appendChild(WA);var JA=document.createElement("span");JA.innerHTML="是否显示剖切框",WA.appendChild(JA);var zA=document.createElement("input");zA.type="radio",zA.name="UIControl",zA.value=1,zA.checked="checked",WA.appendChild(zA);var ZA=document.createElement("span");ZA.innerHTML="显示",WA.appendChild(ZA);var XA=document.createElement("input");XA.type="radio",XA.name="UIControl",XA.value=0,XA.checked="",WA.appendChild(XA);var _A=document.createElement("span");_A.innerHTML="不显示",WA.appendChild(_A);var $A=document.createElement("button");$A.innerHTML="确定",$A.type="button",$A.style.cssText+="width:80px;height:30px;border-radius:10px;display:block;margin:0 auto;",YA.appendChild($A),this.sectionWindow=qd.window({title:"剖切",id:"sectionWindow",width:334,height:405,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){o.sectioning=!1,document.getElementById("sectioning"+i).style.backgroundColor="",zA.checked="checked",XA.checked="",A.viewerImpl.controlManager.disableTool(Pc.CLIP_BY_BOX),A.render()},content:YA}),t.sectionWindow.setPosition({left:"",right:5,top:60}),t.sectionWindow.windowHide(),lA.addEventListener("click",(function(){if(o.sectioning)return this.style.backgroundColor="",this.querySelector(".yj-icon").className="yj-icon sectioning-icon",t.sectionWindow.windowHide(),o.sectioning=!1,void A.disableSectionBox();o.multiple&&(document.getElementById("multiple"+i).style.backgroundColor="",document.getElementById("multiple"+i).querySelector(".yj-icon").className="yj-icon multiple-icon",jd("info","剖切模式下将关闭框选功能",2e3),A.viewerImpl.controlManager.disableTool(Pc.PICK_BY_RECT),o.multiple=!1),o.roam&&(document.getElementById("roam"+i).style.backgroundColor="",document.getElementById("roam"+i).querySelector(".yj-icon").className="yj-icon roam-icon",jd("info","剖切模式下将关闭漫游功能",2e3),t.exitRoam()),o.measurement&&(document.getElementById("measurement"+i).style.backgroundColor="",document.getElementById("measurement"+i).querySelector(".yj-icon").className="yj-icon measurement-icon",jd("info","剖切模式下将关闭测量功能",2e3),t.exitMeasure&&t.exitMeasure()),A.render(),this.style.backgroundColor="#1f89de",this.querySelector(".yj-icon").className="yj-icon sectioning-icon active",t.sectionWindow.windowShow(),o.sectioning=!o.sectioning,A.enableSectionBox(),$A.addEventListener("click",(function(){document.querySelector("#sectionWindow input[type=radio]:checked").value>0?A.showSectionBox():A.hideSectionBox()}))}));var Ae=pA.querySelector(".subtract"),ee=pA.querySelector(".add"),te=pA.querySelector(".modelPartitionRange");hA.addEventListener("click",(function(e){o.roam&&(document.getElementById("roam"+i).style.backgroundColor="",jd("info","模型分解模式下将关闭漫游功能",2e3),t.exitRoam()),A.render(),pA.addEventListener("click",(function(A){OA(A)})),"none"===pA.style.display?(DA(),pA.style.display="block"):pA.style.display="none",fA.innerText="离散系数: "+te.value,OA(e)})),te.addEventListener("change",(function(e){document.querySelector(".modelPartition-info").innerText="离散系数: "+te.value;var t=A.getViewerImpl().modelManager.getModelKeys(),i=Number(te.value);isNaN(i)||A.modelsExplosion({modelKey:t,coefficientX:i,coefficientY:i,coefficientZ:i})})),Ae.addEventListener("click",(function(){var e=te.value,t=Number(te.getAttribute("step"));te.value=Number(e)-t,document.querySelector(".modelPartition-info").innerText="离散系数: "+te.value;var i=A.getViewerImpl().modelManager.getModelKeys(),o=Number(te.value);isNaN(o)||A.modelsExplosion({modelKey:i,coefficientX:o,coefficientY:o,coefficientZ:o})})),ee.addEventListener("click",(function(){var e=te.value,t=Number(te.getAttribute("step"));te.value=Number(e)+t,document.querySelector(".modelPartition-info").innerText="离散系数: "+te.value;var i=A.getViewerImpl().modelManager.getModelKeys(),o=Number(te.value);isNaN(o)||A.modelsExplosion({modelKey:i,coefficientX:o,coefficientY:o,coefficientZ:o})})),X.addEventListener("click",(function(){var e=A.getHighlightComponentsKey();1>e.length?jd("warning","未选中构件",2e3):(t.push({type:"修改线框",data:e}),A.wireFrameComponentsByKey(e,!0))})),$.addEventListener("click",(function(e){"none"===tA.style.display&&DA(),tA.addEventListener("click",(function(A){OA(A)})),tA.style.display="none"===tA.style.display?"block":"none",1>A.getHighlightComponentsKey().length&&(jd("warning","未选中构件",2e3),tA.style.display="none"),OA(e)})),UA.addEventListener("click",(function(A){KA.addEventListener("click",(function(A){OA(A)})),""===KA.style.display||"none"===KA.style.display?(DA(),KA.style.display="flex"):KA.style.display="none",kA.style.display="none",OA(A)})),RA.addEventListener("click",(function(A){kA.addEventListener("click",(function(A){OA(A)})),kA.style.display="none"===kA.style.display?"block":"none",OA(A)})),NA.addEventListener("click",(function(e){DA();var t=document.getElementById("Fullscreen"+i);o.fullScreen?(o.fullScreen=!1,Wh.exitFullScreen(),t.className="fullScreen",t.title="全屏显示"):(o.fullScreen=!0,Wh.fullScreen(A.viewportDiv),t.className="cancelFullScreen",t.title="取消全屏")})),A.viewportDiv.focus()},this.createTool2=function(){var e=document.createElement("div");e.id="my-tool2"+i,e.className="yj-tool2",A.viewerImpl.domElement.appendChild(e),this.toolbarTop=e;var n=document.createElement("div");n.className="yj-group",e.appendChild(n);var a=document.createElement("button");a.className="yj-but",a.title="模型树",a.id="modelTree"+i;var s=document.createElement("div");s.classList.add("yj-icon"),s.classList.add("modelTree-icon"),a.appendChild(s),t.options.modelTree&&n.appendChild(a);var l=document.createElement("button");l.className="yj-but",l.title="查询",l.id="search"+i;var c=document.createElement("div");c.classList.add("yj-icon"),c.classList.add("search-icon"),l.appendChild(c);var h=document.createElement("div");h.className="yj-group",e.appendChild(h);var d=document.createElement("button");d.className="yj-but",d.title="添加标签",d.id="mark"+i;var p=document.createElement("div");p.classList.add("yj-icon"),p.classList.add("label-icon"),d.appendChild(p),t.options.mark&&(h.appendChild(d),t.mark=new Hd(r,this));for(var g=document.querySelectorAll("button"),u=0;g.length>u;u+=1)g[u].addEventListener("mouseover",(function(A){this.style.backgroundColor="#1f89de"})),g[u].addEventListener("mouseout",(function(A){this.id.split(i).length>1&&(o[this.id.split(i)[0]]||(this.style.backgroundColor=""))}));if(A.viewerImpl.modelManager.addEventListener(Rc.ON_CLICK_PICK,(function(e){o.attribute&&(e.intersectInfo?t.showComponentAttribute(A.viewerImpl.modelManager.sceneState.getSelection()[0]):t.showComponentAttribute())})),t.options.snapshot){xh.append(h,'<button type="button" class="yj-but" title="快照" id="snapshot'+i+'"><div class="yj-icon snapshot-icon" ></div></button>');var f=document.getElementById("snapshot"+i);f.addEventListener("mouseover",(function(A){this.style.backgroundColor="#1f89de"})),f.addEventListener("mouseout",(function(A){o[this.id.split(i)[0]]||(this.style.backgroundColor="")})),t.snapshot=new Zd(r,this)}if(t.options.postil){xh.append(h,'<button type="button" class="yj-but" title="批注" id="postil'+i+'"><div class="yj-icon postil-icon" ></div></button>');var m=document.getElementById("postil"+i);m.addEventListener("mouseover",(function(A){this.style.backgroundColor="#1f89de"})),m.addEventListener("mouseout",(function(A){o[this.id.split(i)[0]]||(this.style.backgroundColor="")})),t.postil=new Jd(r,this)}A.viewportDiv.focus()},this.showComponentAttribute=(s="",l=document.getElementById("tab-properties"+i),c=function(A,e,t){var i=document.createElement("tr");t.parentNode.appendChild(i),i.appendChild(document.createElement("td")),i.querySelector("td").innerHTML=A;var o=document.createElement("td"),n=null===e?"":e,r=document.createElement("span");r.classList.add("value"),r.classList.add("nonEditable"),r.innerHTML=n,o.appendChild(r),i.appendChild(o)},h=function(A,e){var t=document.createElement("tr");t.className="sx-active",l.querySelector("table tbody").appendChild(t);var i=document.createElement("td");for(var o in i.colSpan=2,i.style.fontSize="14px",t.appendChild(i),i.appendChild(document.createElement("b")),i.firstElementChild.innerHTML=A,e)c(o,e[o],t)},function(e){if(l=document.querySelector("#tab-properties"+i),e!==s){if(void 0===e){var o=l.querySelectorAll("table tbody tr");l.querySelector("table tbody").removeChild(o[0]),l.querySelector("table tbody").innerHTML="";var n=document.createElement("tr");n.className="noprop";var r=document.createElement("td");return r.setAttribute("colspan","2"),r.innerHTML="未选中构件",n.appendChild(r),l.querySelector("table tbody").appendChild(n),void(s=e)}s=e,l.querySelector("table tbody").innerHTML="";var a=A.viewerImpl.getModelByComponentKey(s),d="";a&&(d=a.projectKey),t.getComponentAttribute({key:s,projectKey:d},(function(A){if(l.querySelector("table tbody").innerHTML="",null===A){var e=document.createElement("tr");e.className="noprop";var t=document.createElement("td");return t.innerHTML="没有属性",e.appendChild(t),void l.querySelector("table tbody").appendChild(e)}if(void 0===A){var i=document.createElement("tr");i.className="noprop";var o=document.createElement("td");return o.innerHTML="属性加载失败",i.appendChild(o),void l.querySelector("table tbody").appendChild(i)}var n=document.createElement("tr");n.className="noprop";var r=document.createElement("th");n.appendChild(r);var a=document.createElement("span");a.classList.add("value"),a.classList.add("nonEditable"),a.innerHTML="名称",r.appendChild(a);var s=document.createElement("th");n.appendChild(s);var d=document.createElement("span");d.classList.add("value"),d.classList.add("nonEditable"),d.innerHTML="值",s.appendChild(d),l.querySelector("table tbody").appendChild(n);var p=A;for(var g in p)"object"===lc(p[g])?h(g,p[g]):"string"==typeof p[g]&&c(g,p[g],n)}))}}),this.undoOrRedo=function(A){t.maxUndoListLength>A||(A=t.maxUndoListLength),0>A&&(A=0);var e=document.querySelectorAll(".history_li");if(d>A)for(var i=d;i>=A;i-=1){p(i+1);var o=e[i];o&&(o.classList.remove("history_redo"),o.classList.add("history_undo"))}if(A>d)for(var n=d;A>n;n+=1){g(n);var r=e[n];r&&(r.classList.remove("history_undo"),r.classList.add("history_redo"))}d=A},this.clearUndoList=function(){d=0,t.undoList=[],t.redoList=[];var A=document.querySelector(".history");if(A){A.innerHTML="";var e=document.createElement("span");e.innerText="历史记录",e.style.cssText+="color:white",A.appendChild(e)}},this.push=function(A){if(t.undoList.length>d&&(t.undoList.splice(d,t.maxUndoListLength),t.redoList.splice(d,t.maxUndoListLength)),t.maxUndoListLength>t.undoList.length||(t.undoList.shift(),t.redoList.shift(),d-=1),t.maxUndoListLength-(d+=1),t.undoList.push(A),t.redoList.push(A),t.options.restore){var e=document.querySelector(".history");if(e){e.innerHTML="";var i=document.createElement("span");i.innerText="历史记录",i.style.cssText+="color:white",e.appendChild(i);for(var o=0;d>o;o+=1){var n=document.createElement("li");n.innerHTML=t.undoList[o].type,n.undoNum=o+1,n.title="点击执行撤销或重做",n.className="history_li history_redo",n.addEventListener("click",u),e.appendChild(n)}}}},A.getViewerImpl().getModelManager().addEventListener(Rc.ON_RECTPICK_ADD,(function(A){A.list&&t.push({type:"框选添加",data:A.list})})),A.getViewerImpl().getModelManager().addEventListener(Rc.ON_RECTPICK_REMOVE,(function(A){A.list&&t.push({type:"框选移除",data:A.list})})),this.getComponentAttribute=function(e,t){A.getComponentsAttributeByKey(e.key,(function(A){A&&t(A.attribute)}))},this.exitMeasure=function(){if(o.measurement){var A=document.getElementById("measurement"+i);A&&xh.fireEvent(A,"click")}},this.exitRoam=function(){if(o.roam){var A=document.getElementById("roam"+i);A&&(xh.fireEvent(A,"click"),o.roam=!1)}}},_d=function(A){return new Promise((function(e,t){var i=Object.assign({type:"get",cache:!0,headers:{"Content-type":"application/x-www-form-urlencoded"},data:null,async:!0,success:null,error:null,beforeSend:null,requestQueue:void 0},A),o=null;for(var n in(o=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")).onreadystatechange=function(){if(4===o.readyState||"4"===o.readyState){var A=o.status;A>=200&&300>A||0===A?(i.success&&i.success(o.response||o.responseText,""===o.responseType||"document"===o.responseType&&o.responseXML),e(o.response||o.responseText,""===o.responseType||"document"===o.responseType&&o.responseXML)):(i.error&&i.error(A,o.response||o.responseText,""===o.responseType||"document"===o.responseType&&o.responseXML),t(A,o.response||o.responseText,""===o.responseType||"document"===o.responseType&&o.responseXML))}},o.open(i.type,i.url,i.async),i.headers)o.setRequestHeader(n,i.headers[n]);i.responseType&&(o.responseType=i.responseType),i.requestQueue?i.requestQueue.addRequest(o,i.data):i.beforeSend?i.beforeSend(o,(function(){o.send(i.data)})):o.send(i.data)}))},$d=function(){var A=0,e=document.createElement("div");function t(A){return e.appendChild(A.dom),A}function i(t){for(var i=0;e.children.length>i;i++)e.children[i].style.display=i===t?"block":"none";A=t}e.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",e.addEventListener("click",(function(t){t.preventDefault(),i(++A%e.children.length)}),!1);var o=(performance||Date).now(),n=o,r=0,a=t(new $d.Panel("FPS","#0ff","#002")),s=t(new $d.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var l=t(new $d.Panel("MB","#f08","#201"));return i(0),{REVISION:16,dom:e,addPanel:t,showPanel:i,begin:function(){o=(performance||Date).now()},end:function(){r++;var A=(performance||Date).now();if(s.update(A-o,200),A>=n+1e3&&(a.update(1e3*r/(A-n),100),n=A,r=0,l)){var e=performance.memory;l.update(e.usedJSHeapSize/1048576,e.jsHeapSizeLimit/1048576)}return A},update:function(){o=this.end()},domElement:e,setMode:i}};$d.Panel=function(A,e,t){var i=1/0,o=0,n=Math.round,r=n(window.devicePixelRatio||1),a=80*r,s=48*r,l=3*r,c=2*r,h=3*r,d=15*r,p=74*r,g=30*r,u=document.createElement("canvas");u.width=a,u.height=s,u.style.cssText="width:80px;height:48px";var f=u.getContext("2d");return f.font="bold "+9*r+"px Helvetica,Arial,sans-serif",f.textBaseline="top",f.fillStyle=t,f.fillRect(0,0,a,s),f.fillStyle=e,f.fillText(A,l,c),f.fillRect(h,d,p,g),f.fillStyle=t,f.globalAlpha=.9,f.fillRect(h,d,p,g),{dom:u,update:function(s,m){i=Math.min(i,s),o=Math.max(o,s),f.fillStyle=t,f.globalAlpha=1,f.fillRect(0,0,a,d),f.fillStyle=e,f.fillText(n(s)+" "+A+" ("+n(i)+"-"+n(o)+")",l,c),f.drawImage(u,h+r,d,p-r,g,h,d,p-r,g),f.fillRect(h+p-r,d,r,g),f.fillStyle=t,f.globalAlpha=.9,f.fillRect(h+p-r,d,r,n((1-s/m)*g))}}};var Ap=function(A){this.viewer=A};Ap.prototype={construtor:Ap,destroy:function(){this.viewer=null},update:function(A){var e=this.getControl();e&&(e.update(A),this.viewer.render())},getControl:function(){for(var A=this.viewer.controlManager.tools,e=0;A.length>e;e+=1)if(A[e].getName()===Pc.CLIP_BY_BOX)return A[e];return null},setSectionBox:function(A,e){this.getControl().setSectionBox(A,e)},toggle:function(A,e){this.getControl().toggle(A,e)},setVisible:function(A){this.getControl().visible(A)},setRotatable:function(A){this.getControl().rotatable(A)},enablePick:function(A){this.getControl().enablePick=A},saveState:function(){return this.getControl().store()},loadState:function(A){this.getControl().restore(A)},reset:function(){this.viewer.getScene().resetClipPlanes()},recalculate:function(){return this.viewer.getFilter().getVisibleComponentsBbox()},setProcess:function(A,e){this.getControl().setProcess(A,e)},getProcess:function(A){return this.getControl().getProcess(A)}};var ep=function(A,e){H.call(this);var t={priority:5,pickableType:Qc.UnPickable,globalSpace:!1,hoverEnabled:!1};this.name=A;var i=uh.extend({},t,e);this.priority=i.priority,this.pickableType=i.pickableType,this.globalSpace=i.globalSpace,this.boundingBox=null,this.hoverEnabled=i.hoverEnabled};(ep.prototype=Object.create(H.prototype)).constructor=ep,Object.assign(ep,Ld),ep.prototype.removeByName=function(A){for(var e=this.children,t=0,i=e.length;i>t;t+=1)if(e[t].name===A){e.splice(t,1);break}},ep.prototype.clear=function(){this.children.length=0},ep.prototype.isGlobalSpace=function(){return this.globalSpace},ep.prototype.hasChild=function(A){for(var e=0,t=this.children.length;t>e;e+=1)if(this.children[e].name===A)return!0;return!1},ep.prototype.isPickable=function(){return this.pickableType!==Qc.UnPickable};var tp=function(A){this.viewer=A,this.viewportDIV=A.viewerImpl.getRenderer().domElement.parentElement,this.creatSVG=function(){document.getElementById("svgid"+this.viewer.getViewerImpl().uuid)||(this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.setAttribute("id","svgid"+this.viewer.getViewerImpl().uuid),this.svg.setAttribute("style","width: 100%; height: 100%; position:absolute; left: 0; top:0;"),this.viewportDIV.appendChild(this.svg))},this.creatRect=function(A){var e=A.data.left,t=A.data.top,i=A.data.width,o=A.data.height,n=A.data.visible;this.deleteRect(),n&&(this.rect=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.rect.setAttribute("id","rectid"+this.viewer.getViewerImpl().uuid),this.rect.setAttribute("x",e),this.rect.setAttribute("y",t),this.rect.setAttribute("width",i),this.rect.setAttribute("height",o),this.rect.setAttribute("style","fill:#0DFFB2;stroke-width:2;stroke:rgb(0,255,0);fill-opacity:0.1;stroke-opacity:0.9"),this.svg.appendChild(this.rect))},this.deleteRect=function(){var A=document.getElementById("rectid"+this.viewer.getViewerImpl().uuid);A&&this.svg.removeChild(A)},this.deleteSVG=function(){if(this.svg){var A=document.getElementById("rectid"+this.viewer.getViewerImpl().uuid);A&&this.svg.removeChild(A),this.viewportDIV.removeChild(this.svg)}},this.creatMoveCircle=function(A){var e=A.x,t=A.y;this.circleMov=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.circleMov.setAttribute("id","circleMove"+this.viewer.getViewerImpl().uuid),this.circleMov.setAttribute("cx",e),this.circleMov.setAttribute("cy",t),this.circleMov.setAttribute("r","5"),this.circleMov.setAttribute("style","fill:#500A11;stroke-width:2;stroke:rgb(0,255,0);fill-opacity:0.9;stroke-opacity:0.9"),this.svg.appendChild(this.circleMov)},this.changeMoveCircleStyle=function(A){var e=document.getElementById("circleMove"+this.viewer.getViewerImpl().uuid);e.setAttribute("cx",A[0]),e.setAttribute("cy",A[1]),e.setAttribute("style","fill:#00ff00;stroke-width:1;stroke:rgb(60,240,240);fill-opacity:0.9;stroke-opacity:0.9")},this.deleteCircle=function(){var A=document.getElementById("circleMove"+this.viewer.getViewerImpl().uuid);A&&this.svg.removeChild(A)},this.createMoveLine=function(A,e){var t=A.x,i=A.y,o=e.x,n=e.y;this.deleteMoveLine(),this.moveline=document.createElementNS("http://www.w3.org/2000/svg","line"),this.moveline.setAttribute("id","moveLine"+this.viewer.getViewerImpl().uuid),this.moveline.setAttribute("class","moveLine"),this.moveline.setAttribute("x1",t),this.moveline.setAttribute("y1",i),this.moveline.setAttribute("x2",o),this.moveline.setAttribute("y2",n),this.moveline.setAttribute("stroke","#0AEA06"),this.moveline.setAttribute("stroke-width","2"),this.svg.appendChild(this.moveline)},this.deleteMoveLine=function(){var A=document.getElementById("moveLine"+this.viewer.getViewerImpl().uuid);A&&this.svg.removeChild(A)},this.creatPickCircle=function(A,e){var t=A.x,i=A.y;this.circlePic=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.circlePic.setAttribute("id","circlePick"+this.viewer.getViewerImpl().uuid+e),this.circlePic.setAttribute("class","circlePick"),this.circlePic.setAttribute("cx",t),this.circlePic.setAttribute("cy",i),this.circlePic.setAttribute("r","5"),this.circlePic.setAttribute("style","fill:#00ff00;stroke-width:1;stroke:rgb(60,240,240);fill-opacity:0.9;stroke-opacity:0.9"),this.svg.appendChild(this.circlePic)},this.creatLine=function(A,e,t,i){var o=A.x,n=A.y,r=e.x,a=e.y;this.line=document.createElementNS("http://www.w3.org/2000/svg","line"),this.line.setAttribute("id","pickline"+this.viewer.getViewerImpl().uuid+i),this.line.setAttribute("class","pickline"),this.line.setAttribute("x1",o),this.line.setAttribute("y1",n),this.line.setAttribute("x2",r),this.line.setAttribute("y2",a),this.line.setAttribute("stroke",t),this.line.setAttribute("stroke-width","2"),this.svg.appendChild(this.line)},this.deleteLineAndCircle=function(){for(var A=this.svg.getElementsByClassName("pickline"),e=this.svg.getElementsByClassName("circlePick");A.length;)this.svg.removeChild(A[A.length-1]);for(;e.length;)this.svg.removeChild(e[e.length-1])}};function ip(A,e){var t=A||0,i=e||0;return t===i?0:t>i?1:-1}function op(A,e){var t=A.split(".").map((function(A){return Number(A)||0})),i=e.split(".").map((function(A){return Number(A)||0}));return 0===(ip(t[0],i[0])||ip(t[1],i[1])||ip(t[2],i[2]))}function np(A,e){var t=A.split(".").map((function(A){return Number(A)||0})),i=e.split(".").map((function(A){return Number(A)||0}));return(ip(t[0],i[0])||ip(t[1],i[1])||ip(t[2],i[2]))>=0}function rp(A,e){var t=A.split(".").map((function(A){return Number(A)||0})),i=e.split(".").map((function(A){return Number(A)||0}));return(ip(t[0],i[0])||ip(t[1],i[1])||ip(t[2],i[2]))>0}function ap(A,e){return!np(A,e)}function sp(A,e){return!rp(A,e)}var lp=function(A,e){var i=this;this.viewer=A,this.preRotationHandle=e,this.mouseButtons={LEFT:t.LEFT,RIGHT:t.RIGHT},this.visible=!0,this.isAnimationFinish=!0,this.pickedColor=16763094,this.width=0,this.height=0,this.isDisable=!1;var o=null,n=null,r=0,a=1,l=2,c=220,h=150,d=80,p=1,g=2,u=5,f=6,m=3,C=4,v="Home",I="Bottom",E="Top",B="Left",x="Right",S="Front",w="Back",M="Bottom_Front",b="Bottom_Back",U="Bottom_Right",F="Bottom_Left",K="Top_Front",Q="Top_Back",R="Top_Right",T="Top_Left",k="LeftFront",D="LeftBack",L="RightFront",N="RightBack",O="Bottom_FrontRight",V="Bottom_FrontLeft",G="Bottom_BackLeft",P="Bottom_BackRight",q="Top_FrontRight",j="Top_FrontLeft",H="Top_BackLeft",W="Top_BackRight",J=new Y,z=new Ka(-h/2,h/2,h/2,-h/2,-h/2,h/2),Z=new Dd,X=new Xi,_=new Xi,$=new Xi;X.add(_),X.add($),this._cube=X;var AA=!1,eA=!1,tA=new s,iA=new s,oA=new s,nA=new s,rA=!1,aA="",sA=null,lA=-1,cA=!1;this.uninit=function(){this.removeDomEventListeners(),o&&(o.removeChild(n.domElement),o=null)},this.enable=function(){o&&n&&!n.domElement.parentNode&&(o.appendChild(n.domElement),this.addDomEventListeners())},this.disable=function(){o&&n&&n.domElement.parentNode&&(this.removeDomEventListeners(),o.removeChild(n.domElement))};!function(){var A=new ko({color:0,side:1}),e=new De;e.vertices.push(new y(-40,40,40),new y(40,40,40));var t=new Go(e,A);$.add(t);var i=new De;i.vertices.push(new y(40,40,40),new y(40,40,-40));var o=new Go(i,A);$.add(o);var n=new De;n.vertices.push(new y(40,40,-40),new y(-40,40,-40));var r=new Go(n,A);$.add(r);var a=new De;a.vertices.push(new y(-40,40,-40),new y(-40,40,40));var s=new Go(a,A);$.add(s);var l=new De;l.vertices.push(new y(-40,40,-40),new y(-40,-40,-40));var c=new Go(l,A);$.add(c);var h=new De;h.vertices.push(new y(40,40,-40),new y(40,-40,-40));var d=new Go(h,A);$.add(d);var p=new De;p.vertices.push(new y(40,40,40),new y(40,-40,40));var g=new Go(p,A);$.add(g);var u=new De;u.vertices.push(new y(-40,40,40),new y(-40,-40,40));var f=new Go(u,A);$.add(f);var m=new De;m.vertices.push(new y(-40,-40,40),new y(40,-40,40));var C=new Go(m,A);$.add(C);var v=new De;v.vertices.push(new y(40,-40,40),new y(40,-40,-40));var I=new Go(v,A);$.add(I);var E=new De;E.vertices.push(new y(40,-40,-40),new y(-40,-40,-40));var B=new Go(E,A);$.add(B);var x=new De;x.vertices.push(new y(-40,-40,-40),new y(-40,-40,40));var S=new Go(x,A);$.add(S);var w=new Aa;w.load(Pd.back,(function(A){var e=new Ue(new et(60,60),new jA({map:A,color:16777215,side:2}));e.position.set(0,40,0),e.rotation.x=.5*Math.PI,e.name="Back",_.add(e)})),w.load(Pd.front,(function(A){var e=new Ue(new et(60,60),new jA({map:A,color:16777215,side:2}));e.position.set(0,-40,0),e.rotation.x=.5*Math.PI,e.name="Front",_.add(e)})),w.load(Pd.left,(function(A){var e=new Ue(new et(60,60),new jA({map:A,color:16777215,side:2}));e.position.set(-40,0,0),e.rotation.y=.5*Math.PI,e.rotation.x=.5*Math.PI,e.name="Left",_.add(e)})),w.load(Pd.right,(function(A){var e=new Ue(new et(60,60),new jA({map:A,color:16777215,side:2}));e.position.set(40,0,0),e.rotation.y=.5*Math.PI,e.rotation.x=.5*Math.PI,e.name="Right",_.add(e)})),w.load(Pd.top,(function(A){var e=new Ue(new et(60,60),new jA({map:A,color:16777215,side:2}));e.position.set(0,0,40),e.name="Top",_.add(e)})),w.load(Pd.bottom,(function(A){var e=new Ue(new et(60,60),new jA({map:A,color:16777215,side:2}));e.position.set(0,0,-40),e.name="Bottom",_.add(e)}));var M=new Ne(10,60,10),b=new Ue(M,new jA({color:16777215}));b.position.set(35,0,35),b.name="Top_Front",_.add(b);var U=new Ue(M,new jA({color:16777215}));U.position.set(35,0,-35),U.name="Bottom_Front",_.add(U);var F=new Ue(M,new jA({color:16777215}));F.position.set(-35,0,35),F.name="Top_Back",_.add(F);var K=new Ue(M,new jA({color:16777215}));K.position.set(-35,0,-35),K.name="Bottom_Back",_.add(K);var Q=new Ne(60,10,10),R=new Ue(Q,new jA({color:16777215}));R.position.set(0,-35,35),R.name="Top_Left",_.add(R);var T=new Ue(Q,new jA({color:16777215}));T.position.set(0,-35,-35),T.name="Bottom_Left",_.add(T);var k=new Ue(Q,new jA({color:16777215}));k.position.set(0,35,35),k.name="Top_Right",_.add(k);var D=new Ue(Q,new jA({color:16777215}));D.position.set(0,35,-35),D.name="Bottom_Right",_.add(D);var L=new Ne(10,10,60),N=new Ue(L,new jA({color:16777215}));N.position.set(35,-35,0),N.name="LeftFront",_.add(N);var O=new Ue(L,new jA({color:16777215}));O.position.set(35,35,0),O.name="RightFront",_.add(O);var V=new Ue(L,new jA({color:16777215}));V.position.set(-35,-35,0),V.name="LeftBack",_.add(V);var G=new Ue(L,new jA({color:16777215}));G.position.set(-35,35,0),G.name="RightBack",_.add(G);var P=new Ne(10,10,10),q=new Ue(P,new jA({color:16777215}));q.position.set(35,-35,35),q.name="Top_FrontLeft",_.add(q);var j=new Ue(P,new jA({color:16777215}));j.position.set(35,-35,-35),j.name="Bottom_FrontLeft",_.add(j);var H=new Ue(P,new jA({color:16777215}));H.position.set(35,35,35),H.name="Top_FrontRight",_.add(H);var Y=new Ue(P,new jA({color:16777215}));Y.position.set(35,35,-35),Y.name="Bottom_FrontRight",_.add(Y);var W=new Ue(P,new jA({color:16777215}));W.position.set(-35,-35,35),W.name="Top_BackLeft",_.add(W);var J=new Ue(P,new jA({color:16777215}));J.position.set(-35,-35,-35),J.name="Bottom_BackLeft",_.add(J);var z=new Ue(P,new jA({color:16777215}));z.position.set(-35,35,35),z.name="Top_BackRight",_.add(z);var Z=new Ue(P,new jA({color:16777215}));Z.name="Bottom_BackRight",Z.position.set(-35,35,-35),_.add(Z)}(),J.add(X);var hA=function(A){eA=A;for(var e=A?.8:1,t=X.children,i=0;t.length>i;i+=1)for(var o=t[i].children,n=0;o.length>n;n+=1)o[n].material.transparent=A,o[n].material.opacity=e};hA(!1);var dA=function(){sA&&sA.material.color.set(sA.currentColor),sA=null},pA=function(A){if(void 0!==o){var e=xh.getDomOffsetToClient(o),t=new s;if(t.x=A.x-e.left,t.y=A.y-e.top,t.x>0&&i.width>t.x&&t.y>0&&i.height>t.y)return nA.x=t.x/i.width*2-1,nA.y=-t.y/i.height*2+1,!0}return!1},gA=function(){var A=new y(nA.x,nA.y,.5);Z.setFromCamera(A,z);var e,t=Z.intersectObjects(X.children[0].children);t?sA!==(e=t.object)&&(sA&&sA.material.color.set(sA.currentColor),(sA=e).currentColor=sA.material.color.clone(),""!==sA.name&&sA.material.color.set(i.pickedColor)):dA()};this.mouseUp=function(A){A.stopPropagation();var t=new s(A.clientX,A.clientY),o=pA(t);return AA?(AA=!1,iA.set(t.x,t.y),oA.subVectors(iA,tA),this.preRotationHandle&&!this.preRotationHandle()||(this.viewer.viewerImpl.rotateCamera(oA),tA.copy(iA))):o&&A.button===i.mouseButtons.LEFT&&sA&&(lA=-1,function(A){var e=-1;switch(A){case v:e=Uc.Home;break;case E:e=Uc.Top;break;case I:e=Uc.Bottom;break;case M:e=Uc.BottomFront;break;case b:e=Uc.BottomBack;break;case U:e=Uc.BottomRight;break;case F:e=Uc.BottomLeft;break;case O:e=Uc.BottomFrontRight;break;case V:e=Uc.BottomFrontLeft;break;case G:e=Uc.BottomBackLeft;break;case P:e=Uc.BottomBackRight;break;case K:e=Uc.TopFront;break;case Q:e=Uc.TopBack;break;case R:e=Uc.TopRight;break;case T:e=Uc.TopLeft;break;case q:e=Uc.TopFrontRight;break;case j:e=Uc.TopFrontLeft;break;case H:e=Uc.TopBackLeft;break;case W:e=Uc.TopBackRight;break;case S:e=Uc.Front;break;case w:e=Uc.Back;break;case B:e=Uc.Left;break;case x:e=Uc.Right;break;case k:e=Uc.FrontLeft;break;case D:e=Uc.BackLeft;break;case L:e=Uc.FrontRight;break;case N:e=Uc.BackRight}lA=e}(sA.name),-1!==lA&&(e(lA),null!=lA&&i.viewer.viewerImpl.rotateCameraByViewCubeSide(lA))),o},this.mouseMove=function(A){A.stopPropagation();var e=!1,t=new s(A.clientX,A.clientY),i=pA(t);if(AA)iA.set(t.x,t.y),oA.subVectors(iA,tA),this.preRotationHandle&&!this.preRotationHandle()||(this.viewer.viewerImpl.rotateCamera(oA),tA.copy(iA));else if(i){if(eA&&(hA(!1),e=!0),gA(),sA){if(""!==sA.name){var o=sA.name;aA!==o&&(aA=o,rA=!0,e=!0)}}else""!==aA&&(aA="",rA=!1,e=!0);e&&this.render(),cA=!0}else cA&&(cA=!1,rA&&(dA(),rA=!1,e=!0),e&&this.render());return i},this.mouseDown=function(A){A.preventDefault(),A.stopPropagation();var e=new s(A.clientX,A.clientY),t=pA(e);return t&&A.button===i.mouseButtons.LEFT&&(AA=!1),t},this.onMouseDownBinded=this.mouseDown.bind(this),this.onMouseMoveBinded=this.mouseMove.bind(this),this.onMouseUpBinded=this.mouseUp.bind(this),this.addDomEventListeners=function(){o&&(o.addEventListener("contextmenu",(function(A){A.preventDefault()}),!1),o.addEventListener("mousedown",this.onMouseDownBinded,!1),window.addEventListener("mousemove",this.onMouseMoveBinded,!1),o.addEventListener("mouseup",this.onMouseUpBinded,!1))},this.removeDomEventListeners=function(){o&&(o.removeEventListener("contextmenu",(function(A){A.preventDefault()}),!1),o.removeEventListener("mousedown",this.onMouseDownBinded,!1),window.removeEventListener("mousemove",this.onMouseMoveBinded,!1),window.removeEventListener("mouseup",this.onMouseUpBinded,!1))};var uA=function(A){switch(A){case r:i.width=c,i.height=c;break;case a:i.width=h,i.height=h;break;case l:default:i.width=d,i.height=d}o.style.width=i.width+"px",o.style.height=i.height+"px"};this.resize=function(A,e,t){uA(200>A||t?l:a),n.setSize(this.width,this.height)};this.init=function(A){(function(A){A.style.position="absolute",A.style.display="block",A.style.outline="0",A.style.right="52px",A.style.top="0px",A.style.opacity=".6",A.style.display="flex",A.style.webkitTransition="opacity .2s ease",A.style.mozTransition="opacity .2s ease",A.style.msTransform="opacity .2s ease",A.style.oTransform="opacity .2s ease",A.style.transition="opacity .2s ease"})(o=document.createElement("div")),A.appendChild(o),n=new $i({antialias:!0,alpha:!0,preserveDrawingBuffer:!0}),o.appendChild(n.domElement),this.resize(A.offsetWidth,A.offsetHeight,this.viewer.viewerImpl.isMobile),this.addDomEventListeners()};var fA=function(A,e,t){return A>e?t>=A-e:t>=e-A};this.render=function(){if(this.visible&&!this.isDisable&&n){var A=this.viewer.viewerImpl.getActiveCameraInfo(),e=A.quaternion.clone().inverse();this._cube.quaternion.copy(e),-1===lA&&(lA=function(A,e){var t=A.clone();t.normalize();var i=e.clone();if(i.normalize(),fA(t.x,0,1e-4)&&fA(t.y,-1,1e-4)&&fA(t.z,0,1e-4)&&fA(i.x,0,1e-4)&&fA(i.y,0,1e-4)&&fA(i.z,-1,1e-4))return p;if(fA(t.x,0,1e-4)&&fA(t.y,1,1e-4)&&fA(t.z,0,1e-4)){if(fA(i.x,0,1e-4)&&fA(i.y,0,1e-4)&&fA(i.z,1,1e-4))return g;if(fA(i.x,1,1e-4)&&fA(i.y,0,1e-4)&&fA(i.z,0,1e-4))return g}return fA(t.x,0,1e-4)&&fA(t.y,0,1e-4)&&fA(t.z,-1,1e-4)&&fA(i.x,0,1e-4)&&fA(i.y,1,1e-4)&&fA(i.z,0,1e-4)?u:fA(t.x,0,1e-4)&&fA(t.y,0,1e-4)&&fA(t.z,1,1e-4)&&fA(i.x,0,1e-4)&&fA(i.y,1,1e-4)&&fA(i.z,0,1e-4)?f:fA(t.x,-1,1e-4)&&fA(t.y,0,1e-4)&&fA(t.z,0,1e-4)&&fA(i.x,0,1e-4)&&fA(i.y,1,1e-4)&&fA(i.z,0,1e-4)?m:fA(t.x,1,1e-4)&&fA(t.y,0,1e-4)&&fA(t.z,0,1e-4)&&fA(i.x,0,1e-4)&&fA(i.y,1,1e-4)&&fA(i.z,0,1e-4)?C:-1}(A.dir,z.up)),n.autoClear=!0,n.render(J,z)}},this.destroy=function(){n.dispose(),this.disable()}},cp=function(A,e,t,i,o){kd.call(this,Ec.PERSPECTIVE,{width:e,height:t,fov:A,near:i,far:o}),this.realUp=this.up.clone(),this.target=new y,this.dirty=!1,this.orthoScale=1,this.positionPlane=new EA,this.projScreenMatrix=new M,this.viewProjInverse=new M,this.tempVector3=new y,this.frustum=new Ze};(cp.prototype=Object.create(kd.prototype)).constructor=cp,cp.prototype._updatePositionPlane=function(){this.positionPlane.setFromNormalAndCoplanarPoint(this.getWorldDirection(new y),this.position)},cp.prototype._updateFrustum=function(){this.frustum.setFromProjectionMatrix(this.projScreenMatrix)},cp.prototype.updateMVP=function(){this.dirty&&(null===this.parent&&this.updateMatrixWorld(),this.matrixWorldInverse.getInverse(this.matrixWorld),this.projScreenMatrix.multiplyMatrices(this.projectionMatrix,this.matrixWorldInverse),this.viewProjInverse.getInverse(this.projScreenMatrix),this._updateFrustum(),this._updatePositionPlane(),this.dirty=!1)},cp.prototype.getFrustum=function(){return this.dirty&&this.updateMVP(),this.frustum},cp.prototype.lookAtEx=function(A,e,t,i){var o=new y;o.copy(e),void 0!==i&&"number"==typeof i&&o.setLength(i),this.position.subVectors(A,o),this.up.copy(t),this.lookAt(A),this.realUp.copy(t),this.target.copy(A),this.dirty=!0},cp.prototype.lookAtEXForTargetPositionUp=function(A,e,t){this.position.copy(e),this.up=t,this.lookAt(A),this.realUp=t.clone(),this.target=A.clone(),this.dirty=!0},cp.prototype.clone=function(){var A=new cp(2*this.right,2*this.top,this.fov,this.near,this.far);return A.position.copy(this.position),A.quaternion.copy(this.quaternion),A.scale.copy(this.scale),A.up.copy(this.up),A.realUp.copy(this.realUp),A.target.copy(this.target),A.aspect=this.aspect,A.fov=this.fov,A.near=this.near,A.far=this.far,A.left=this.left,A.right=this.right,A.top=this.top,A.bottom=this.bottom,A.zoom=this.zoom,A.isPerspective=this.isPerspective,A.updateProjectionMatrix(),A.updateMVP(),A},cp.prototype.copy=function(A){return kd.prototype.copy.call(this,A),this.realUp.copy(A.realUp),this.orthoScale=A.orthoScale,this.dirty=A.dirty,this.updateProjectionMatrix(),this.updateMVP(),this},cp.prototype.setStandardView=function(A,e){var t=null,i=null;e?(t=e.getCenter(new y),i=e.getSize(new y)):t=new y(0,0,0);var o=vc.SceneSize,n=o/2;switch(i||(i=n),A){case Uc.ISO:var r=new y(-o,o,o),a=new y,s=new y(0,0,0);a.subVectors(s,r),this.lookAtEx(t,a,H.DefaultUp);break;case Uc.Top:this.lookAtEx(t,new y(0,0,-1),new y(0,1,0),i?i.x:n);break;case Uc.Bottom:this.lookAtEx(t,new y(0,0,1),new y(0,1,0),i?i.x:n);break;case Uc.Front:this.lookAtEx(t,new y(0,1,0),new y(0,0,1),i?i.z:n);break;case Uc.Back:this.lookAtEx(t,new y(0,-1,0),new y(0,0,1),i?i.z:n);break;case Uc.Right:this.lookAtEx(t,new y(-1,0,0),new y(0,0,1),i?i.y:n);break;case Uc.Left:this.lookAtEx(t,new y(1,0,0),new y(0,0,1),i?i.y:n);break;case Uc.FrontRight:this.lookAtEx(t,new y(-1,1,0),new y(0,0,1),i?i.x+i.y:n);break;case Uc.FrontLeft:this.lookAtEx(t,new y(1,1,0),new y(0,0,1),i?i.x+i.y:n);break;case Uc.BackLeft:this.lookAtEx(t,new y(1,-1,0),new y(0,0,1),i?i.x+i.y:n);break;case Uc.BackRight:this.lookAtEx(t,new y(-1,-1,0),new y(0,0,1),i?i.x+i.y:n);break;case Uc.BottomFront:this.lookAtEx(t,new y(0,1,1),new y(0,0,1),i?i.x+i.z:n);break;case Uc.BottomBack:this.lookAtEx(t,new y(0,-1,1),new y(0,0,1),i?i.x+i.z:n);break;case Uc.BottomRight:this.lookAtEx(t,new y(-1,0,1),new y(0,0,1),i?i.y+i.z:n);break;case Uc.BottomLeft:this.lookAtEx(t,new y(1,0,1),new y(0,0,1),i?i.y+i.z:n);break;case Uc.BottomFrontRight:this.lookAtEx(t,new y(-1,1,1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.BottomFrontLeft:this.lookAtEx(t,new y(1,1,1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.BottomBackLeft:this.lookAtEx(t,new y(1,-1,1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.BottomBackRight:this.lookAtEx(t,new y(-1,-1,1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.TopFront:this.lookAtEx(t,new y(0,1,-1),new y(0,0,1),i?i.x+i.z:n);break;case Uc.TopBack:this.lookAtEx(t,new y(0,-1,-1),new y(0,0,1),i?i.x+i.z:n);break;case Uc.TopRight:this.lookAtEx(t,new y(-1,0,-1),new y(0,0,1),i?i.y+i.z:n);break;case Uc.TopLeft:this.lookAtEx(t,new y(1,0,-1),new y(0,0,1),i?i.y+i.z:n);break;case Uc.TopFrontRight:this.lookAtEx(t,new y(-1,1,-1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.TopFrontLeft:this.lookAtEx(t,new y(1,1,-1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.TopBackLeft:this.lookAtEx(t,new y(1,-1,-1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.TopBackRight:this.lookAtEx(t,new y(-1,-1,-1),new y(0,0,1),i?i.x+i.y+i.z:n);break;case Uc.TopToRight:this.lookAtEx(t,new y(0,1,0),new y(-1,0,0),n);break;case Uc.TopToBack:this.lookAtEx(t,new y(0,1,0),new y(0,0,1),n);break;case Uc.TopToLeft:this.lookAtEx(t,new y(0,1,0),new y(1,0,0),n);break;case Uc.TopToFront:this.lookAtEx(t,new y(0,1,0),new y(0,0,-1),n);break;case Uc.BottomToRight:this.lookAtEx(t,new y(0,-1,0),new y(-1,0,0),n);break;case Uc.BottomToBack:this.lookAtEx(t,new y(0,-1,0),new y(0,0,-1),n);break;case Uc.BottomToFront:this.lookAtEx(t,new y(0,-1,0),new y(0,0,1),n);break;case Uc.BottomToLeft:this.lookAtEx(t,new y(0,-1,0),new y(1,0,0),n);break;case Uc.FrontToTop:this.lookAtEx(t,new y(0,0,-1),new y(0,-1,0),n);break;case Uc.FrontToBottom:this.lookAtEx(t,new y(0,0,-1),new y(0,1,0),n);break;case Uc.FrontToLeft:this.lookAtEx(t,new y(0,0,-1),new y(1,0,0),n);break;case Uc.FrontToRight:this.lookAtEx(t,new y(0,0,-1),new y(-1,0,0),n);break;case Uc.RightToTop:this.lookAtEx(t,new y(-1,0,0),new y(0,-1,0),n);break;case Uc.RightToBottom:this.lookAtEx(t,new y(-1,0,0),new y(0,1,0),n);break;case Uc.RightToFront:this.lookAtEx(t,new y(-1,0,0),new y(0,0,-1),n);break;case Uc.RightToBack:this.lookAtEx(t,new y(-1,0,0),new y(0,0,1),n);break;case Uc.BackToTop:this.lookAtEx(t,new y(0,0,1),new y(0,-1,0),n);break;case Uc.BackToBottom:this.lookAtEx(t,new y(0,0,1),new y(0,1,0),n);break;case Uc.BackToLeft:this.lookAtEx(t,new y(0,0,1),new y(-1,0,0),n);break;case Uc.BackToRight:this.lookAtEx(t,new y(0,0,1),new y(1,0,0),n);break;case Uc.LeftToTop:this.lookAtEx(t,new y(1,0,0),new y(0,0,-1),n);break;case Uc.LeftTopBottom:this.lookAtEx(t,new y(1,0,0),new y(0,1,0),n);break;case Uc.LeftTopBack:this.lookAtEx(t,new y(1,0,0),new y(0,0,1),n);break;case Uc.LeftTopFront:this.lookAtEx(t,new y(1,0,0),new y(0,0,-1),n);break;case Uc.Keep:break;default:this.lookAtEx(t,new y(-1,-1,-1),new y(0,0,1),n)}return this.updateProjectionMatrix(),t},cp.prototype.zoomToBox=function(A,e,t,i){t=t||1,e=-1>(e=e||0)?-1:e;var o=new aA;if(o.copy(A),0!==e){var n=.5*A.getSize(new y).length(),r=new y;r.subVectors(o.max,o.min).normalize(),r.multiplyScalar(n*e),o.expandByVector(r)}var s=i||this.getWorldDirection(new y),l=this.up,c=this.aspect,h=a.degToRad(.5*this.fov),d=o.getSize(new y),p=o.getCenter(new y),g=.5*d.length()/Math.sin(h)*t,u=new y;u.copy(s),u.setLength(g);var f=new y;f.subVectors(p,u);var m=new y;m.crossVectors(s,l),m.normalize();var C=new y;C.crossVectors(s,m),C.normalize();var v=new EA;v.setFromNormalAndCoplanarPoint(m,f);var I=new EA;I.setFromNormalAndCoplanarPoint(C,f);var E=0,B=0,x=0,S=0,w=0,M=[new y,new y,new y,new y,new y,new y,new y,new y];M[0].set(o.min.x,o.min.y,o.min.z),M[1].set(o.min.x,o.min.y,o.max.z),M[2].set(o.min.x,o.max.y,o.min.z),M[3].set(o.min.x,o.max.y,o.max.z),M[4].set(o.max.x,o.min.y,o.min.z),M[5].set(o.max.x,o.min.y,o.max.z),M[6].set(o.max.x,o.max.y,o.min.z),M[7].set(o.max.x,o.max.y,o.max.z);for(var b=0;8>b;b+=1){var U=new y;U.subVectors(M[b],f);var F=Math.abs(U.dot(s)),K=Math.abs(I.distanceToPoint(M[b])),Q=K*c,R=Math.abs(v.distanceToPoint(M[b])),T=Math.max(K,R/c),k=Math.max(Q,R);T>E&&(E=T),B&&x&&B*F/x>=T||(B=T,x=F),S&&w&&S*F/w>=k||(S=k,w=F)}var D=S/Math.tan(h)+(g-w),L=B/Math.tan(h)+(g-x),N=0;if(N=1>c?Math.max(D,L):Math.min(D,L),this.near>N){this.near=(N*N+.001*N)/16777.216}if(u.copy(s).normalize().setLength(N),f.subVectors(p,u),this.position.copy(f),this.lookAt(p),this.target.copy(p),!this.isPerspective){var O=Math.tan(this.fov*Math.PI/180/2)*N;this.orthoScale=O/E,this.zoom=this.orthoScale}return this.updateProjectionMatrix(),this.dirty=!0,p},cp.prototype.computeRay=function(A,e,t){var i=new s;if(void 0===t)i.x=window.innerWidth,i.y=window.innerHeight;else{var o=t===document?t.body:t;i.x=o.offsetWidth,i.y=o.offsetHeight}var n=new s;n.x=A/i.x*2-1,n.y=-e/i.y*2+1;var r=new CA;return this.isPerspective?(r.origin.copy(this.position),r.direction.set(n.x,n.y,.5).unproject(this).sub(this.position).normalize()):(r.origin.set(n.x,n.y,-1).unproject(this),r.direction.set(0,0,-1).transformDirection(this.matrixWorld)),r},cp.prototype.screenToWorld=function(A,e,t,i){var o=this.computeRay(A,e,t),n=this.getWorldDirection(new y).normalize(),r=new EA(n);return r.setFromNormalAndCoplanarPoint(n,i),o.intersectPlane(r,i)},cp.prototype.getWorldFrustum=function(A){var e=new M,t=new Ze,i=this.clone(),o=this.target,n=o.clone().sub(this.position).length(),r=new M;r.getInverse(A);var a=new M;a.extractRotation(A);var s=new f;s.setFromRotationMatrix(a),s.inverse(),i.position.applyMatrix4(r);var l=o.clone();l.applyMatrix4(r);var c=l.clone().sub(i.position),h=c.length();return c.normalize(),i.far=this.far*(h/n),i.up.applyQuaternion(s).normalize(),i.realUp.applyQuaternion(s).normalize(),i.updateProjectionMatrix(),i.updateMatrixWorld(),e.getInverse(i.matrixWorld),t.setFromMatrix((new M).multiplyMatrices(i.projectionMatrix,e)),i=null,t},cp.prototype.distanceFromWorldToDrawing=function(A,e){var t=this.position.clone(),i=this.target.clone();i.subVectors(this.target,this.position),i.normalize();var o=new M;return o.getInverse(A),i.add(t).applyMatrix4(o),t.applyMatrix4(o),i.sub(t),i.normalize().multiplyScalar(e),i.add(t).applyMatrix4(A),i.sub(this.position),i.length()},cp.drawingToWorld=function(A,e){var t=A.position.clone(),i=A.target.clone(),o=A.up.clone(),n=new M;return n.getInverse(e),o.add(t),o.applyMatrix4(n),t.applyMatrix4(n),i.applyMatrix4(n),o.sub(t),o.normalize(),{position:t,target:i,up:o}},cp.worldToDrawing=function(A,e){var t=A.position.clone(),i=A.target.clone(),o=A.up.clone();return o.add(t),o.applyMatrix4(e),t.applyMatrix4(e),i.applyMatrix4(e),o.sub(t),o.normalize(),{position:t,target:i,up:o}};var hp=function(){var A=this,e=null,t={},i={},o=1e3,n=null,r=null,a=null,s=!1,l=null,c=null,h=null;this.from=function(A){for(var i in e=A)e.hasOwnProperty(i)&&(t[i]=e[i]);return this},this.to=function(A,e){return void 0!==e&&(o=e),i=A,this},this.onStart=function(A){return l=A,this},this.onUpdate=function(A){return c=A,this},this.onComplete=function(A){return h=A,this},this.start=function(A,d){s=!1,r&&cancelAnimationFrame(r),n=Date.now(),a=d?this.linearInterpolateForTargetPostionUp:this.interpolate,r=requestAnimationFrame((function d(){var p=t,g=i,u=Date.now();!1===s&&(null!==l&&l(e),s=!0);var f=(u-n)/o;e=a(p,g,f=f>1?1:f),1===f?(cancelAnimationFrame(r),null!==h&&h(e)):(r=requestAnimationFrame(d,A),null!==c&&c(e,f))}),A)},this.isAngleGreaterThanPi=function(A,e,t){var i=new y;return i.crossVectors(A,e),0>i.dot(t)},this.conicInterpolate=function(A,e,t,i){var o=-e.angleTo(A)*i,n=new y;n.crossVectors(e,A).normalize();var r=new f;r.setFromAxisAngle(n,o),t.copy(A),t.applyQuaternion(r)},this.quaternionInterpolate=function(A,e,t,i,o){var n=new f(A.x,A.y,A.z,1).normalize(),r=new f(e.x,e.y,e.z,1).normalize(),a=new f(0,0,0,1),s=new f(0,0,0,1),l=new y;l.crossVectors(A,t).normalize(),a.set(l.x,l.y,l.z,1).normalize();.5>o?(f.slerp(n,a,s,2*o),i.set(s.x,s.y,s.z)):(f.slerp(a,r,s,2*(o-.5)),i.set(s.x,s.y,s.z))},this.slerpInterpolate=function(A,e,t,i,o,n){var r=A.dot(e);r>n?i.copy(e):n<Math.abs(r)?this.quaternionInterpolate(A,e,t,i,o):this.conicInterpolate(A,e,i,o),i.normalize()},this.linearInterpolate=function(A,e,t,i,o){if(A.equals(e))t.copy(e);else{var n=new y(1,0,0),r=new y(0,0,1),a=new y,s=A.dot(e);s>o?t.copy(e):-s>o?(o>Math.abs(A.dot(r))?a.crossVectors(A,r).normalize():a.crossVectors(A,n).normalize(),.5>i?t.lerpVectors(A,a,2*i):t.lerpVectors(a,e,2*(i-.5))):t.lerpVectors(A,e,i),t.normalize()}},this.linearInterpolatePosition=function(A,e,t,i){t.lerpVectors(A,e,i)},this.sphericalInterpolate=function(A,e,t,i,o,n){var r=A.clone().sub(e),a=t.clone().sub(i),s=new Os;s.setFromVector3(r);var l=new Os;l.setFromVector3(a);var c=s.theta+(l.theta-s.theta)*n,h=s.phi+(l.phi-s.phi)*n,d=r.length(),p=new Os;p.set(d,h,c);var g=new y;g.setFromSpherical(p),o.copy(g).multiplyScalar(-1)},this.interpolate=function(e,t,i){var o=new y,n=new y,r=new y,a=new y,s=e.animTarget,l=e.animUp,c=e.animFocal,h=t.animTarget,d=t.animUp,p=t.animFocal;return A.sphericalInterpolate(e.animPos,s,t.animPos,h,o,i),A.linearInterpolate(l,d,n,i,.9995),A.linearInterpolatePosition(s,h,r,i),A.linearInterpolatePosition(c,p,a,i),{animDir:o,animUp:n,animFocal:a,animTarget:r}},this.linearInterpolateForTargetPostionUp=function(e,t,i){var o=new y,n=new y,r=new y,a=e.animTarget,s=e.animPosition,l=t.animTarget,c=t.animPosition;return A.linearInterpolate(e.animUp,t.animUp,n,i,.9995),A.linearInterpolatePosition(a,l,r,i),A.linearInterpolatePosition(s,c,o,i),{animPosition:o,animUp:n,animTarget:r}}},dp=function(){var A=800,e=14,t=new hp;this.setDuration=function(e){A=e},this.getDuration=function(){return A},this.setFrameTime=function(A){e=A},this.setStandardView=function(i,o,n,r,a,s){var l=o.camera,c=l.position.clone(),h=l.target.clone(),d=l.getWorldDirection(new y);d.normalize();var p=new y;p.copy(l.realUp||l.up),p.normalize();var g=new y(l.position.clone().sub(h).length(),0,0),u=l.setStandardView(i,n);u=o.camera.zoomToBox(n,r);var f=l.position.clone(),m=l.getWorldDirection(new y);m.normalize();var C=new y;C.copy(l.realUp||l.up),C.normalize();var v=new y(l.position.clone().sub(u).length(),0,0);d.equals(m)&&p.equals(C)&&h.equals(u)&&g.equals(v)?s&&s():(o.getControlManager().setInteractiveState(!1),t.from({animPos:c,animDir:d,animUp:p,animTarget:h,animFocal:g}).to({animPos:f,animDir:m,animUp:C,animTarget:u,animFocal:v},A).onUpdate((function(A){o.camera.lookAtEx(A.animTarget,A.animDir,A.animUp,A.animFocal.x),o.cameraControl.update(!0,!0),o.controlManager.dispatchEvent({type:Rc.ON_CAMERA_ANIMATION_UPDATE}),a&&a()})).onComplete((function(){o.camera.lookAtEx(u,m,C,v.x),o.cameraControl.update(!0,!0),s&&s(),o.getControlManager().setInteractiveState(!0)})).start(e))},this.active=function(i,o,n,r,a){var s=n.camera,l=new y(i.position.x,i.position.y,i.position.z),c=new y(i.target.x,i.target.y,i.target.z),h=new y(c.distanceTo(l),0,0),d=c.clone().sub(l).normalize(),p=new y(i.up.x,i.up.y,i.up.z);p.normalize();var g=new y(o.position.x,o.position.y,o.position.z),u=new y(o.target.x,o.target.y,o.target.z),f=new y(u.distanceTo(g),0,0),m=u.clone().sub(g).normalize(),C=new y(o.up.x,o.up.y,o.up.z);C.normalize(),d.equals(m)&&p.equals(C)&&c.equals(u)&&h.equals(f)?a&&a():(n.getControlManager().setInteractiveState(!1),t.from({animPos:l,animDir:d,animUp:p,animTarget:c,animFocal:h}).to({animPos:g,animDir:m,animUp:C,animTarget:u,animFocal:f},A).onUpdate((function(A){var e=A.animTarget;s.lookAtEx(e,A.animDir,A.animUp,A.animFocal.x),r&&r(e)})).onComplete((function(){s.lookAtEx(u,m,C,f.x),r&&r(u),a&&a(),n.getControlManager().setInteractiveState(!0)})).start(e))},this.slerpFlyTo=function(i,o,n,r){var a=o.camera,s=a.position.clone(),l=a.getWorldDirection(new y),c=new y;c.copy(a.realUp||a.up),c.normalize();var h=a.target.clone(),d=new y(a.position.clone().sub(h).length(),0,0),p=(new y).set(i.position.x,i.position.y,i.position.z),g=(new y).set(i.target.x,i.target.y,i.target.z),u=(new y).set(i.up.x,i.up.y,i.up.z),f=g.clone().sub(p),m=new y(f.length(),0,0);f.normalize();var C=u.normalize();l.equals(f)&&c.equals(C)&&h.equals(g)&&d.equals(m)?r&&r():t.from({animPos:s,animDir:l,animUp:c,animTarget:h,animFocal:d}).to({animPos:p,animDir:f,animUp:C,animTarget:g,animFocal:m},A).onUpdate((function(A){var e=A.animTarget;a.lookAtEx(e,A.animDir,A.animUp,A.animFocal.x),n&&n(e)})).onComplete((function(){a.lookAtEx(g,f,C,m.x),n&&n(g),r&&r(),o.getControlManager().setInteractiveState(!0)})).start(e)},this.flyTo=this.slerpFlyTo,this.linearFlyTo=function(i,o,n,r){var a=o.camera,s=new y;s.copy(a.realUp||a.up),s.normalize();var l=a.target.clone(),c=a.position.clone(),h=(new y).set(i.position.x,i.position.y,i.position.z),d=(new y).set(i.target.x,i.target.y,i.target.z),p=(new y).set(i.up.x,i.up.y,i.up.z).normalize();c.equals(h)&&s.equals(p)&&l.equals(d)?r&&r():t.from({animPosition:c,animUp:s,animTarget:l}).to({animPosition:h,animUp:p,animTarget:d},A).onUpdate((function(A){var e=A.animTarget;a.lookAtEXForTargetPositionUp(e,A.animPosition,A.animUp),n&&n(e)})).onComplete((function(){a.lookAtEXForTargetPositionUp(d,h,p),n&&n(d),r&&r(),o.getControlManager().setInteractiveState(!0)})).start(e,!0)},this.linearActive=function(i,o,n,r,a){var s=n.camera,l=(new y).set(i.position.x,i.position.y,i.position.z),c=(new y).set(i.target.x,i.target.y,i.target.z),h=(new y).set(i.up.x,i.up.y,i.up.z);h.normalize();var d=(new y).set(o.position.x,o.position.y,o.position.z),p=(new y).set(o.target.x,o.target.y,o.target.z),g=(new y).set(o.up.x,o.up.y,o.up.z).normalize();l.equals(d)&&h.equals(g)&&c.equals(p)?a&&a():t.from({animPosition:l,animUp:h,animTarget:c}).to({animPosition:d,animUp:g,animTarget:p},A).onUpdate((function(A){var e=A.animTarget;s.lookAtEXForTargetPositionUp(e,A.animPosition,A.animUp),r&&r(e)})).onComplete((function(){s.lookAtEXForTargetPositionUp(p,d,g),r&&r(p),a&&a(),n.getControlManager().setInteractiveState(!0)})).start(e,!0)}},pp=function(){this.condition=[{type:"IfcWall"},{type:"IfcRoof"},{type:"IfcWallStandardCase"},{type:"IfcDoor"},{type:"墙"},{type:"门"}],this.distance=150,this.factor=1};pp.prototype.setCondition=function(A){Array.isArray(A)&&(this.condition=A)},pp.prototype.getCondition=function(){return this.condition},pp.prototype.getDistance=function(){return this.distance},pp.prototype.getFactor=function(){return this.factor},pp.prototype.setDistance=function(A){"number"==typeof A&&(this.distance=A)},pp.prototype.setFactor=function(A){"number"==typeof A&&(this.factor=A)},pp.prototype.matchConditions=function(A){var e=this.condition;if(0===e.length)return!1;for(var t=!0,i=0,o=e.length;o>i;i+=1){var n=e[i];for(var r in n)if(!A.hasOwnProperty(r)||A[r]!==n[r]){t=!1;break}if(!0===t)break;e.length-1>i&&(t=!0)}return t},pp.prototype.hasCollision=function(A,e){return!!A&&(this.matchConditions(A)&&this.distance*this.factor>=e)};var gp={MODEL:"Model",GEOMETRY:"Geometry",LINESEGMENTS:"LineSegments",INSTANCEGEOMETRY:"InstanceGeometry",INSTANCEWIREFRAMEGEOMETRY:"InstanceWireframeGeometry",WIREFRAME:"Wireframe",MARKER3D:"Marker3D",CLIPPLANE:"ClipPlane",FILLCLIPPLANE:"FillClipPlane",IBLCUBE:"IBLCube",CUSTOMPLANE:"CustomPlane",PIVOTBALL:"PivotBall",MEASUREPICKPOINT:"MeasurePickPoint",MEASUREPICKLINE:"MeasurePickLine",MEASUREPLANE:"MeasurePlane",MEASURELINE:"MeasureLine",OCTREENODE:"OctreeNode",AREANODE:"AreaNode",AXISNET:"AxisNet",AXISGRIDMANAGER:"AxisGridManager",EXTRUDEBODYMANAGER:"ExtrudeBodyManager",EXTERNALSCENEMANAGER:"ExternalSceneManager",EXTERNALCOMPONENTMANAGER:"ExternalComponentManager",TRANSFORM:"TRANSFORM",RECEIVESHADOWPLANE:"ReceiveShadowPlane"},up=function(){this.scene=null,this.camera=null,this.octreeRoots=null,this.octantMap=null,this.mouse=new s},fp=function(A){this.raycaster=new Dd,this.viewer=A,this.filter=A.getFilter(),this.recursive=!0,this.lastIntersect=null,this.highPriorities=[gp.EXTRUDEBODYMANAGER]};fp.prototype.destroy=function(){this.viewer=null,this.filter=null,this.raycaster=null,this.lastIntersect=null,this.highPriorities=null},fp.prototype.intersectExternalComponent=function(A,e,t,i,o){if(A.visible||o){for(var n=this.raycaster,r=this.filter,a=function A(e){var t=e,i=[];if(t.isGroup)for(var o=0,a=t.children.length;a>o;o+=1){var s=A(t.children[o]);i=i.concat(s)}else r._isPickable({userId:t.key})&&t.raycast(n,i);return i},s={},l=0,c=A.children.length;c>l;l+=1){var h=A.children[l],d=a(h);if(d.length>0){d.sort((function(A,e){return A.distance-e.distance})),d[0].userId=h.key;var p=s[h.key];p?p.distance>d[0].distance&&(s[h.key]=d[0]):s[h.key]=d[0]}}var g=[],u=Object.values(s);if(u.length>0)for(var f=0;u.length>f;f+=1)u[f].distance>t.far||t.near>u[f].distance||this.viewer.clipPoint(u[f].point)||g.push(u[f]);return i?g:(g.sort((function(A,e){return A.distance-e.distance})),g.length>0?g[0]:null)}},fp.prototype.defaultIntersect=function(A,e,t,i,o){if(A.visible||o){var n=[],r=this.raycaster;!function A(e){for(var t=0,i=e.children.length;i>t;t+=1){var o=e.children[t];o.isGroup?A(o):o.raycast(r,n)}}(A);var a=[];if(n.length>0)for(var s=0;n.length>s;s+=1)n[s].distance>t.far||t.near>n[s].distance||this.viewer.clipPoint(n[s].point)||a.push(n[s]);return i?a:(a.sort((function(A,e){return A.distance-e.distance})),a.length>0?a[0]:null)}},fp.prototype.intersectMeshesWithDistance=function(A,e,t,i,o,n,r,a){if(!e||!e.mesh)return null;var s=0,l=uh.MinusEpsilon,c=this.raycaster,h=[],d=this.filter,p=d._hasVisibleFilter(),g=d._hasPickableFilter(),u=this.viewer.modelManager,f=function(A,e){var t=u.isHiddenSourceObjectUserId(A.userId);if(e){if(p&&!d._isVisible(A)||g&&!d._isPickable(A)||t)return!0}else if(p&&!d._isVisible(A)||t)return!0;return!1};!0===this.byGravity?i.near=0:i.near+=l;var m=e.info,C=e.mesh,y=[];if(Bh.time("kdNode Pick"),o&&n&&!n.explosioning){var v=[],I=new M;I.getInverse(n.getModelMatrix());var E=c.ray.clone().applyMatrix4(I);if(Array.isArray(o))for(var B=new M,x=0;o.length>x;x+=1){var S=o[x],w=S.modelKey,b=E;if(w)B.getInverse(n.subModel[w]),b=E.clone().applyMatrix4(B);S.intersect(b,v)}else o.intersect(E,v);y=uh.unique(v)}else y=n.getComponentlist();Bh.timeEnd("kdNode Pick");var U=Object.keys(n.manager.explosionList);if(n&&n.manager&&U.length>0&&(y=y.concat(U),y=uh.unique(y)),Object.keys(u.transformComponent).length>0){for(var F in u.transformComponent)y.push(F);y=uh.unique(y)}var K=this.viewer.modelManager.getMatrixWorldGlobal();Bh.time("Box Pick");for(var Q=0,R=y.length;R>Q;Q+=1){var T=m[y[Q]];if(T){var k=T[0];if(k){var D=k.boundingBox.clone();if(D.applyMatrix4(n.getModelMatrix()).applyMatrix4(K),(s=c.ray.intersectBoxWithDistance(D))>=i.near&&i.far>=s)for(var L=0,N=T.length;N>L;L+=1){var O=T[L];if(!f(O,t)){var V=C[this.viewer.modelManager.getMeshIdFromOctantMap(O)];if(V)for(var G=0,P=V.length;P>G;G+=1)h.push({object:V[G],distance:s,nodeInfo:O})}}}}}Bh.timeEnd("Box Pick"),Bh.time("Ending Pick"),h.sort((function(A,e){return A.distance-e.distance}));for(var q=[],j=0;h.length>j;j+=1)h[j].distance>i.far||i.near>h[j].distance||h[j].object.raycast(c,h[j].nodeInfo,i,this.viewer,q,a);return q.sort((function(A,e){return A.distance-e.distance})),a?q:(Bh.timeEnd("Ending Pick"),q.length>0?q[0]:null)},fp.prototype.intersect=function(A,e,t,i){var o=this.raycaster;null===e?o.setFromCamera(A.mouse,A.camera):o.set(e.origin,e.direction);Bh.time("intersect time"),o.camera=A.camera,o._camera=A.camera,o.viewportSize=A.viewportSize;var n=new y;A.camera.getWorldDirection(n);for(var r=n.dot(o.ray.direction),a={near:A.camera.near/Math.abs(r),far:A.camera.far/Math.abs(r)},s=null,l=[],c=A.scene.getGroups(),h=0;c.length>h;h+=1)if(c[h].isPickable()&&0!==c[h].children.length){var d=A.scene.getGroupType(c[h].name),p=d.groupType,g=d.modelKey;if(-1<this.highPriorities.indexOf(d.groupType))(s=this.defaultIntersect(c[h],t,a,void 0,!0))&&(s.objectType=c[h].pickableType,s.hoverEnabled=c[h].hoverEnabled,l.push(s));else if(this.filter._isModelPickable(g)){switch(p){case gp.MODEL:var u=this.viewer.modelManager.getModel(g);s=u&&u.isDataReady()&&u.isVisible()?this.intersectMeshesWithDistance([],A.octantMap[g],t,a,u.kdTreeNode,u):null;break;case gp.GEOMETRY:s=vc.MergeComponent?null:this.intersectMeshesWithDistance(A.octantMap[g],A.octantMap,t,a);break;case gp.EXTERNALCOMPONENTMANAGER:s=this.intersectExternalComponent(c[h],t,a);break;default:s=this.defaultIntersect(c[h],t,a)}s&&(s.objectType=c[h].pickableType,s.hoverEnabled=c[h].hoverEnabled,l.push(s))}}l.sort((function(A,e){return A.distance-e.distance})),Bh.timeEnd("intersect time");var f=l.length;if(f>0){l.sort((function(A,e){return A.distance-e.distance}));for(var m=0;f>m;m+=1){var C=(s=l[m]).object;if(C.geometry)return s.userId=s.userId||C.key,s.modelKey=C.modelKey,this.lastIntersect=s,s}}return this.lastIntersect={intersect:s,pickable:t},null},fp.prototype.getObjectsByClientCoordinates=function(A){var e=this.viewer.cameraControl.getIntersectContext(A),t=this.raycaster;return t.setFromCamera(e.mouse,e.camera),t.camera=e.camera,t.viewportSize=e.viewportSize,this.getObjectsByRaycaster(e,t)},fp.prototype.getObjectsByRaycaster=function(A,e,t){this.raycaster=e;for(var i={near:t?0:A.camera.near,far:t?1/0:A.camera.far},o=[],n=A.scene.getGroups(),r=0;n.length>r;r+=1)if(n[r].isPickable()&&0!==n[r].children.length){var a=[],s=A.scene.getGroupType(n[r].name);switch(s.groupType){case gp.MODEL:var l=s.modelKey,c=this.viewer.modelManager.getModel(l);c&&c.isDataReady()&&c.isVisible()&&(a=this.intersectMeshesWithDistance([],A.octantMap[l],!1,i,c.kdTreeNode,c),o=o.concat(a));break;case gp.GEOMETRY:break;default:a=this.defaultIntersect(n[r],!1,i,!0),o=o.concat(a)}}return o.sort((function(A,e){return A.distance-e.distance})),o},fp.prototype.hitTest=function(A){var e=this.intersect(A,null,!1);return null!==e?e.point:null},fp.prototype.pick=function(A,e){var t=this.intersect(A,null,!0);return e&&e(t),t},fp.prototype.getIntersectByRay=function(A,e){return this.intersect(A,e,!0)};var mp=function(A,e,t,i){this.viewer=A,this.camera=e,this.domElement=t,this.scene=A.getScene(),this.intersector=new fp(A),this.enabled=!0,this.tempVector3=new y,this.pivot=null,this.movementSpeed=8e-4*vc.SceneSize,this.defaultMovementSpeed=this.movementSpeed,this.minMovementSpeed=.01,this.noZoom=!1,this.minDistance=.1,this.maxDistance=e.far-2*vc.SceneSize,this.defaultThroughOutDistance=.1,this.noRotate=!1,this.rotateSpeed=1,this.noPan=!1,this.keyPanSpeed=2,this.defaultKeyPanSpeed=this.keyPanSpeed,this.minKeyPanSpeed=.01,this.autoRotate=!0,this.autoRotateSpeed=2,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.enablePolar=!1,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.enablePassThrough=!0,this.isDisableRotate=!1,this.noKeys=!1,this._realManHeight=1650;var o,n,r,l,c,h,d,p=this,g=1e-6,u=new y(0,0,1),m=new y,C=new f,v=null,I=!1;function E(A,e,t){if(null==t)return!0;var i=t[0],o=t[1];if(i>=o)return!1;var n=p.camera,r=n.position;e||(e=r.clone());var a=n.getWorldDirection(new y),s=n.realUp||n.up,l=a.clone().cross(s).normalize(),c=(new f).setFromAxisAngle(l,A);r.clone().sub(e).normalize();var h=a.clone().negate(),d=Math.PI-h.angleTo(u.clone()),g=h.clone().projectOnPlane(u.clone()),m=g.angleTo(u.clone());0>g.x&&(m=2*Math.PI-m),a.applyQuaternion(c).normalize();var C=a.clone().negate(),v=Math.PI-C.angleTo(u.clone()),I=C.clone().projectOnPlane(u.clone()),E=I.angleTo(u.clone());if(0>I.x&&(E=2*Math.PI-E),Math.abs(E-m)>.001)return!1;if(d>i&&o>d){if(v>o||i>v)return!1}else if((d>o?v-d:d-v)>0)return!1;return!0}function B(){var A=p.viewer.modelManager.sceneState;if(A.hasSelection()){var e=p.viewer.getFilter(),t=p.viewer,i=e.getVisibleComponentSet(A.getSelectionSet()),o=t.getBoundingBoxByIds(i);if(o&&!o.isEmpty())return o.getCenter()}return p.pivot?p.pivot:p.scene.getBoundingBox().getCenter(new y)}function x(A,e,t,i){var o=new M;o.getInverse(e);var n=new y(A.position.x,A.position.y,A.position.z),r=n.clone();r.applyMatrix4(o);var a=new y(t.x,t.y,t.z);return a.add(n),a.applyMatrix4(o),a.sub(r).normalize().multiplyScalar(i),a.add(r),a.applyMatrix4(e),a.sub(n),a}this.collisionManager=new pp,this.pivotBallGroup=null,this.minDollyDistance=10,this.gravity=0,this.farFactor=11.4514,this.sceneLengthUnitFactor=1,this.destroy=function(){this.viewer=null,this.camera=null,this.domElement=null,this.scene=null,this.intersector.destroy(),this.intersector=null,this.collisionManager=null,this.pivotBallGroup=null},this.isCameraChanging=function(){return I},this.setCameraChanging=function(A){I=A},this.setCamera=function(A){this.camera=A},this.getCamera=function(){return this.camera.updateMVP(),this.camera},this.dirtyCamera=function(A){this.camera.dirty=A},this.getFrustum=function(){return this.camera.getFrustum()},this.lockAxisZ=function(A){jh.LockAxisZ=A},this.isLockedAxisZ=function(){return jh.LockAxisZ},this.setLockAxisZRange=function(A){jh.LockAxisZRange=A},this.getLockAxisZRange=function(){return jh.LockAxisZRange},this.getClientSize=function(){var A=p.domElement===document?p.domElement.body:p.domElement;return new s(A.clientWidth,A.clientHeight)},this.delayHandle=function(){this.timeoutId&&clearTimeout(this.timeoutId),this.timeoutId=setTimeout((function(){p.update(!0,!0)}),200),this.needUpdateRenderList(!1)},this.processRotate=function(A,e){var t=this.getClientSize(),i=-2*Math.PI*A.x/t.x,o=-2*Math.PI*A.y/t.y;p.handleRotation(i,o,e)},this.handleRotation=function(A,e,t){var i=this.camera,o=i.position,n=i.target.clone(),r=i.getWorldDirection(n),a=n.clone().sub(o).length(),s=null,l=function(A){var e=null,n=null,s=null,l=new y;t?(n=(e=o.clone().sub(t)).length(),e.normalize(),s=e.clone().applyQuaternion(A).normalize(),i.position.copy(t).add(s.multiplyScalar(n)),r.applyQuaternion(A).normalize(),l.copy(o).add(r.multiplyScalar(a)),i.target.copy(l)):(r.applyQuaternion(A).normalize(),l.copy(o).add(r.multiplyScalar(a)),i.target.copy(l))},c=i.realUp||i.up,h=r.clone().cross(c).normalize().clone().cross(r).normalize();i.realUp.copy(h);var d=null;if(jh.LockAxisZ){if(Math.abs(A)>Math.abs(e))d=u,l(s=(new f).setFromAxisAngle(d,A)),i.realUp.applyQuaternion(s).normalize();else if(null!=jh.LockAxisZRange&&Math.abs(e)>1e-4){E(e,t,jh.LockAxisZRange)&&(d=r.clone().cross(c).normalize(),l(s=(new f).setFromAxisAngle(d,e)),i.realUp.applyQuaternion(s).normalize(),this.adjustCameraUp())}}else Math.abs(A)<Math.abs(e)?Math.abs(e)>1e-4&&(d=r.clone().cross(c).normalize(),l(s=(new f).setFromAxisAngle(d,e)),i.realUp.applyQuaternion(s).normalize(),this.adjustCameraUp()):(d=i.up.clone().normalize(),l(s=(new f).setFromAxisAngle(d,A)),i.realUp.applyQuaternion(s).normalize());this.dirtyCamera(!0),this.setCameraChanging(!0)},this.enabledPolar=function(A){jh.LockAxisZ=A},this.setMinPolarAngle=function(A){"number"==typeof A&&(Array.isArray(jh.LockAxisZRange)||(jh.LockAxisZRange=[]),jh.LockAxisZRange[0]=A)},this.setMaxPolarAngle=function(A){"number"==typeof A&&(Array.isArray(jh.LockAxisZRange)||(jh.LockAxisZRange=[]),jh.LockAxisZRange[1]=A)},this.getMinPolarAngle=function(){return jh.LockAxisZRange?jh.LockAxisZRange[0]:null},this.getMaxPolarAngle=function(){return jh.LockAxisZRange?jh.LockAxisZRange[1]:null},this.adjustCameraForPan=function(A){var e=this.camera;e.target.add(A),e.position.add(A),this.dirtyCamera(!0),this.setCameraChanging(!0)},this.updateCamera=function(){var A=this.camera;A.dirty&&(A.lookAt(A.target),A.updateMVP(),this.adjustCameraUp(),this.dispatchEvent({type:Rc.ON_CAMERA_CHANGE,camera:this.camera}))},this.update=function(A,e){this.updateCamera(),this.dispatchEvent({type:Rc.ON_CAMERA_CHANGE,camera:this.camera});var t=this.camera;A?(void 0!==e&&this.needUpdateRenderList(e),i(),m.copy(t.position),C.copy(t.quaternion)):(m.distanceToSquared(t.position)>g||8*(1-C.dot(t.quaternion))>g)&&(i(),m.copy(t.position),C.copy(t.quaternion))},this.updateView=function(A){void 0!==A&&this.needUpdateRenderList(A),this.dispatchEvent({type:Rc.ON_CAMERA_CHANGE,camera:this.camera}),i()},this.updateHighlight=function(){this.dispatchEvent({type:Rc.ON_CAMERA_CHANGE,camera:this.camera}),i(!0)},this.needUpdateRenderList=function(A){this.viewer.controlManager.isUpdateRenderList=A},this.pan=function(A,e){var t=p.domElement===document?p.domElement.body:p.domElement,i=new y;function o(A){var e=p.camera.matrix.elements;i.set(e[0],e[1],e[2]),i.multiplyScalar(-A),p.camera.target.add(i),p.camera.position.add(i)}function n(A){var e=p.camera.matrix.elements;i.set(e[4],e[5],e[6]),i.multiplyScalar(A),p.camera.target.add(i),p.camera.position.add(i)}if(p.camera.isPerspective){var r=p.camera.position.clone().sub(p.camera.target).length();o(2*A*(r*=Math.tan(p.camera.fov/2*Math.PI/180))/t.clientHeight),n(2*e*r/t.clientHeight)}else void 0!==p.camera.top?(o(A*(p.camera.right-p.camera.left)/t.clientWidth),n(e*(p.camera.top-p.camera.bottom)/t.clientHeight)):Bh.warn("WARNING: CloudPickEditor.js encountered an unknown camera type - pan disabled.");this.dirtyCamera(!0),this.setCameraChanging(!0)},this.panOnWorld=(o=new y,n=new y,r=new y,function(A,e,t,i){var a=p.getContainerDimensions(),s=A.x-a.left,l=A.y-a.top;o.x=s/a.width,o.y=l/a.height,l=e.y-a.top,n.x=(s=e.x-a.left)/a.width,n.y=l/a.height,r.subVectors(n,o);var c=-r.x*i.x,h=r.y*i.y,d=p.getWorldRight().multiplyScalar(c),g=p.getWorldUp().multiplyScalar(h);t.addVectors(d,g),p.dirtyCamera(!0),p.setCameraChanging(!0)}),this.adjustCameraForDolly=function(A,e){var t=A-1;if(t*=this.zoomSpeed,Math.abs(t)<g)return!1;var i=this.camera,o=i.position,n=this.getWorldEye(),r=new y;e?r.subVectors(e,o):r.copy(n),r.multiplyScalar(t);var a=r.length();i.isPerspective?this.minDollyDistance>a&&r.normalize().multiplyScalar(this.minDollyDistance):(i.orthoScale*=A,i.setZoom(i.orthoScale));var s=new y;s.addVectors(o,r),this._goingToDolly(i,s,t)?(i.position.copy(s),i.target.copy(n.add(s)),this.dirtyCamera(!0),this.setCameraChanging(!0)):this.resetCameraToMaximumRange()},this._goingToDolly=function(A,e,t){if(!A.isPerspective||!vc.ConstraintZoom)return!0;var i=this.scene.getBoundingBox();if(t>0)return!!A.getFrustum().intersectsBox(i);var o=i.getSize(this.tempVector3).length(),n=i.getCenter(this.tempVector3),r=.5*o/Math.tan(a.degToRad(.5*A.fov))*this.farFactor;return e.distanceTo(n)<r},this.dolly=function(A,e,t){var i=new s(A,e),o=this.getIntersectContext(i),n=this.intersector.hitTest(o);this.adjustCameraForDolly(t,null!==n?n:null)},this.dollyByPoint=function(A,e,t){var i=this.getTrackingPoint(A,e);this.adjustCameraForDolly(t,i)},this.endOperation=function(){this.intersector.lastIntersect=null},this.zoom=function(A,e,t){var i;i=1+A,void 0===e||void 0===t?this.adjustCameraForDolly(i,null):this.dollyByPoint(e,t,i),this.update()},this.getContainerDimensions=function(){return xh.getDomOffsetToClient(this.domElement)},this.computeFrustum=(l=new M,c=new M,function(A,e,t,i,o,n){var r=this.camera,s=r.near*Math.tan(a.degToRad(.5*r.fov)),h=s*r.aspect;l.makePerspective(((A-n.left)/n.width*2-1)*h,((e-n.left)/n.width*2-1)*h,(-(t-n.top)/n.height*2+1)*s,(-(i-n.top)/n.height*2+1)*s,r.near,r.far),r.updateMatrixWorld(),r.matrixWorldInverse.getInverse(r.matrixWorld),c.multiplyMatrices(l,r.matrixWorldInverse),o.setFromProjectionMatrix(c)}),this.screenToCanvas=function(A,e){var t=this.getContainerDimensions();return{x:A-t.left,y:e-t.top}},this.mapScreenToLocal=function(A,e,t){var i=this.getContainerDimensions();t.set(A-i.left,i.height-(e-i.top))},this.mapWindowToViewport=function(A,e,t){var i=this.getContainerDimensions(),o=t||new s;return o.x=(A-i.left)/i.width*2-1,o.y=-(e-i.top)/i.height*2+1,o},this.getCameraName=function(){return this.camera===this.viewer.defaultCamera?this.camera.isPerspective?Ec.PERSPECTIVE:Ec.ORTHOGRAPHIC:this.camera.name},this.getCameraInfo=function(){var A=new Qd(this.getCameraName(),this.camera.position,this.camera.target,this.camera.up);return JSON.stringify(A)},this.isKeepZoom=function(A,e,t){this.dirtyCamera(!0),this.setCameraChanging(!0),void 0===e&&(e=this.minDistance),void 0===t&&(t=this.maxDistance);var i=this.camera.position,o=this.camera.target,n=new y;n.copy(i).sub(o);var r=n.length()*(2-A);return!(e>r||r>t)},this.computeRotation=function(){var A=new M;A.lookAt(this.camera.position,this.camera.target,this.camera.up);var e=new f;e.setFromRotationMatrix(A);var t=new F;return t.setFromQuaternion(e,void 0,!1),t},this.adjustCameraUp=function(){this.camera.realUp.z>0?this.camera.up=new y(0,0,1):0>this.camera.realUp.z?this.camera.up=new y(0,0,-1):this.camera.realUp.x>0?this.camera.up=new y(1,0,0):0>this.camera.realUp.x?this.camera.up=new y(-1,0,0):this.camera.realUp.y>0?this.camera.up=new y(0,1,0):0>this.camera.realUp.y&&(this.camera.up=new y(0,-1,0))},this.getWorldEye=function(){return this.camera.target.clone().sub(this.camera.position)},this.getWorldRight=function(){var A=new y,e=this.camera.up,t=this.getWorldEye();return A.crossVectors(t,e),0===A.lengthSq()&&(e.z>e.y?t.y-=1e-4:t.z+=1e-4,A.crossVectors(t,e)),A.normalize()},this.getWorldRightByRealUp=function(){var A=new y,e=this.camera.realUp,t=this.getWorldEye();return A.crossVectors(t,e),0===A.lengthSq()&&(e.z>e.y?t.y-=1e-4:t.z+=1e-4,A.crossVectors(t,e)),A.normalize()},this.getWorldUp=function(){var A=this.getWorldRight(),e=this.getWorldEye();return A.cross(e).normalize()},this.getWorldDimension=function(A,e){var t=this.camera.position,i=this.getWorldEye().normalize(),o=this.getTrackingPoint(A,e).clone().sub(t),n=Math.abs(i.dot(o)),r=this.getContainerDimensions(),l=r.width/r.height,c=2*n*Math.tan(a.degToRad(.5*this.camera.fov));return new s(c*l,c)},this.getWorldPointFromNearPlane=function(A,e){var t=new y(A,e,0);return t.unproject(this.camera),t},this.getTrackingPoint=function(A,e){var t=new s(A,e),i=this.getIntersectContext(t),o=this.intersector.hitTest(i),n=this.camera.position;if(!o){var r=i.mouse,a=this.getWorldEye(),l=a.clone().normalize(),c=this.getWorldPointFromNearPlane(r.x,r.y),h=new CA;if(this.camera.isPerspective)h.origin.copy(n),h.direction.copy(c.clone().sub(n).normalize());else{var d=c.clone();d.sub(a),h.origin.copy(d),h.direction.copy(l)}if(v){var p=new EA;if(p.setFromNormalAndCoplanarPoint(l,v),o=h.intersectPlane(p,new y)){var u=o.distanceTo(n);g>u&&(o=this.getTrackingPointFromBoundingBox(l,h))}else o=this.getTrackingPointFromBoundingBox(l,h)}else o=this.getTrackingPointFromBoundingBox(l,h);o||(Bh.log("tracking point is default!"),o=c)}return n.equals(o)&&(o=null),v=o&&o.clone(),o},this.getTrackingPointFromBoundingBox=function(A,e){return this.viewer.getScene().getTrackingPointFromBoundingBox(A,e)},this.setCameraPosition=function(A){var e=this.camera,t=this.getWorldEye(),i=t.length(),o=t.clone();o.normalize(),o.setLength(i),e.position.copy(A),e.target.addVectors(e.position,o),this.dirtyCamera(!0),this.setCameraChanging(!0)},this.moveStraight=function(A,e){var t=this.camera.position,i=this.camera.target;if(e){var o=new y(i.x-t.x,0,i.z-t.z),n=A/o.length(),r=new y(o.x*n,0,o.z*n);t.add(r),i.add(r)}else{var a=i.clone().sub(t);this.camera.translateZ(-A),i.addVectors(t,a)}this.dirtyCamera(!0),this.setCameraChanging(!0)},this.getIntersectContext=function(A){var e=new up;return e.scene=p.viewer.getScene(),e.camera=this.camera,null!==A&&this.mapWindowToViewport(A.x,A.y,e.mouse),e.viewportSize=p.viewer.getRenderer().getSize(new s),e.octantMap=p.viewer.modelManager.octantToObjectMap,e},this.getLastIntersect=function(){return this.intersector.lastIntersect},this.calculatePivot=function(A,e){var t=this,i=this.viewer,o=i.getFilter(),n=i.getScene(),r=null;function a(A){var e=t.getIntersectContext(A),i=t.intersector.hitTest(e);if(i)return i;var o=n.getBoundingBox();if(n.hasClipPlanes()&&n.getClipPlanes().isEnabled()){var r=n.getClipPlanes().getClipBoundingBox();o.intersect(r)}else if(n.hasFillClipPlanes()&&n.getFillClipPlane().isEnabled()){var a=n.getFillClipPlane().getFillClipBoundingBox();o.intersect(a)}return o.getCenter(new y)}var s=null,l=null;switch(A){case kc.SELECTION:if(n.hasClipPlanes()&&n.getClipPlanes().isEnabled()&&(s=n.getClipPlanes().getClipBoundingBox())&&!s.isEmpty()&&n.getClipPlanes().isVisible()){r=s.getCenter();break}n.hasFillClipPlanes()&&n.getFillClipPlane().isEnabled()&&(l=n.getFillClipPlane().getFillClipBoundingBox());var c=o.getVisibleComponentSet(i.modelManager.sceneState.getSelectionSet(),i),h=i.getBoundingBoxByIds(c);mh.isMobileDevice()||!h||h.isEmpty()?r=a(e):(s?h.intersect(s):l&&h.intersect(l),r=h.getCenter(new y));break;case kc.CENTER:r=n.getBoundingBoxWorld().getCenter(new y);break;case kc.CAMERA:r=null;break;default:r=a(e)}return this.dirtyCamera(!0),this.setCameraChanging(!0),this.pivot=r,r},this.touchUpdateRotationInPersonView=function(A,e){this.dirtyCamera(!0),this.setCameraChanging(!0);var t=this,i=this.camera.position,o=this.camera.target.clone().sub(i).length(),n=this.camera.getWorldDirection(new y),r=this.camera.realUp||this.camera.up,a=n.clone().cross(r).normalize(),s=a.clone().cross(n).normalize();this.camera.realUp.copy(s);var l=jh.LockAxisZRange,c=null,h=null;if(Math.abs(A)>Math.abs(e))c=u,h=A;else{if(jh.LockAxisZ&&!E(e,this.camera.target,l))return;c=a;var d=new y(0,0,1).clone().cross(r),p=d.dot(a),m=Math.asin(d.length());0>p&&(m=-m),m+e>Math.PI/4-g?e=Math.PI/4-g-m:m+e<-Math.PI/4+g&&(e=-Math.PI/4+g-m),h=e}var C,v,I=(new f).setFromAxisAngle(c,h);C=I,v=new y,n.applyQuaternion(C).normalize(),v.copy(i).add(n.multiplyScalar(o)),t.camera.target.copy(v),this.camera.realUp.applyQuaternion(I).normalize()},this.touchUpdateRotationInModelView=function(A,e,t){this.dirtyCamera(!0),this.setCameraChanging(!0);var i=t||this.scene.getBoundingBox().getCenter(new y),o=this.camera.position,n=this.camera.target.clone().sub(o).length(),r=o.clone().sub(i),a=r.length(),s=null,l=this.camera.getWorldDirection(new y);r.normalize();var c=function(A){var e=new y,t=r.clone().applyQuaternion(A).normalize();o.copy(i).add(t.multiplyScalar(a)),l.applyQuaternion(A).normalize(),e.copy(o).add(l.multiplyScalar(n)),p.camera.target.copy(e)},h=this.camera.realUp||this.camera.up,d=l.clone().cross(h).normalize(),m=d.clone().cross(l).normalize();this.camera.realUp.copy(m);var C=null;if(jh.LockAxisZ){if(Math.abs(A)>Math.abs(e))C=u,c(s=(new f).setFromAxisAngle(C,A)),this.camera.realUp.applyQuaternion(s).normalize();else if(null!=jh.LockAxisZRange&&Math.abs(e)>1e-4){E(e,i,jh.LockAxisZRange)&&(C=l.clone().cross(h).normalize(),c(s=(new f).setFromAxisAngle(C,e)),this.camera.realUp.applyQuaternion(s).normalize(),this.adjustCameraUp())}}else if(Math.abs(A)>Math.abs(e))C=this.camera.up.clone().normalize(),c(s=(new f).setFromAxisAngle(C,A)),this.camera.realUp.applyQuaternion(s).normalize();else if(Math.abs(e)>.01){C=l.clone().cross(h).normalize();var v=new y(0,1,0).clone().cross(h),I=v.dot(d),x=Math.asin(v.length());0>I&&(x=-x),x+e>Math.PI/2-g?e=Math.PI/2-g-x:x+e<-Math.PI/2+g&&(e=-Math.PI/2+g-x),c(s=(new f).setFromAxisAngle(C,e)),this.camera.realUp.applyQuaternion(s).normalize(),this.adjustCameraUp()}this.pivotBallGroup||function(){p.pivotBallGroup=p.scene.getOrCreateGroup(gp.PIVOTBALL,{priority:10,globalSpace:!1});var A=new er(15,64,64),e=new Ue(A,new Ir({color:16777215,depthTest:!1,opacity:.5,transparent:!0,side:2})),t=new Ue(A=new er(1,64,64),new Ir({color:16711680,depthTest:!1,opacity:.5,transparent:!0,side:2}));p.pivotBallGroup.add(e),p.pivotBallGroup.add(t)}(),this.pivotBallGroup.visible=!0;for(var S=function(){var A=p.camera,e=A.position,t=p.camera.target.clone().sub(e);t.normalize();var i=new EA;i.setFromNormalAndCoplanarPoint(t.clone().negate(),B()),i.normalize();var o=i.distanceToPoint(e)*Math.tan(.5*A.fov),n=p.getContainerDimensions();return 2*o/(n.height-n.top)}(),w=B(),M=0;this.pivotBallGroup.children.length>M;M+=1){var b=this.pivotBallGroup.children[M];b.position.copy(w),b.scale.set(S,S,S),b.updateMatrixWorld()}},this.touchUpdateRotation=function(A,e){var t=this.camera.position;this.scene.getBoundingBox().containsPoint(t)?this.touchUpdateRotationInPersonView(A,e):this.touchUpdateRotationInModelView(A,e,B())},this.clearTouchRotateState=function(){this.pivotBallGroup&&(this.pivotBallGroup.visible=!1)},this.touchEndHandler=function(){this.viewer.controlManager.cameraChange=!1,this.clearTouchRotateState(),this.touchUpdate()},this._adjustCameraForDolly=function(A,e){var t=e-1;if(Math.abs(t)<g)return!1;var i=this.camera,o=i.position,n=this.getWorldEye(),r=new y;A?r.subVectors(A,o):r.copy(n),r.multiplyScalar(t);var a=r.length();i.isPerspective&&this.minDollyDistance>a&&r.normalize().multiplyScalar(this.minDollyDistance);var s=new y;return s.addVectors(o,r),i.isPerspective||(i.orthoScale*=e,i.setZoom(i.orthoScale)),i.position.copy(s),i.target.copy(n.add(s)),this.dirtyCamera(!0),this.setCameraChanging(!0),!0},this.touchDolly=function(A,e,t){var i=new s(A,e),o=this.getIntersectContext(i),n=this.intersector.hitTest(o);this._adjustCameraForDolly(null!==n?n:null,t)},this.touchUpdate=(h=new y,d=new f,function(){var A=new y;A.copy(p.camera.up),p.camera.up.copy(p.camera.realUp),p.camera.lookAt(p.camera.target),p.camera.up.copy(A),p.camera.updateMVP(),(h.distanceToSquared(p.camera.position)>g||8*(1-d.dot(this.camera.quaternion))>g)&&(this.dispatchEvent({type:Rc.ON_CAMERA_CHANGE,camera:this.camera}),i(),p.dirtyCamera(!1),h.copy(p.camera.position),d.copy(p.camera.quaternion))}),this.goTurnForWalk=function(A){var e=this.getCamera(),t=e.position,i=e.target,o=new y(i.x-t.x,i.y-t.y,0),n=Math.cos(A),r=Math.sin(A),a=new y(o.x*n-o.y*r,o.x*r+o.y*n,0);i.x=t.x+a.x,i.y=t.y+a.y,this.dirtyCamera(!0),this.setCameraChanging(!0)},this.goPitchForWalk=function(A){var e=this.getCamera(),t=e.position,i=e.target,o=i.x-t.x,n=i.y-t.y,r=new y(Math.sqrt(o*o+n*n),0,i.z-t.z),a=Math.cos(A),s=Math.sin(A),l=new y(r.x*a-r.z*s,0,r.x*s+r.z*a);i.z=t.z+l.z,this.dirtyCamera(!0),this.setCameraChanging(!0)},this.goUpDownForWalk=function(A){var e=this.getCamera(),t=e.position,i=e.target,o=new y(0,0,1),n=x(e,this.scene.getMatrixGlobal(),o,A);t.z+=n.z,i.z+=n.z,this.dirtyCamera(!0),this.setCameraChanging(!0)},this.stepCameraForWalk=function(A,e){var t=this.getCamera(),i=t.position,o=t.target,n=new y(o.x-i.x,o.y-i.y,0).normalize(),r=new y(0,0,1),a=n.clone().cross(r),s=this.scene.getMatrixGlobal(),l=null;switch(A){case qc.FORWARD:(l=x(t,s,n,e)).z=0;break;case qc.BACK:n.multiplyScalar(-1),(l=x(t,s,n,e)).z=0;break;case qc.LEFT:a.multiplyScalar(-1),(l=x(t,s,a,e)).z=0;break;case qc.RIGHT:(l=x(t,s,a,e)).z=0}i.add(l),o.add(l),this.dirtyCamera(!0),this.setCameraChanging(!0)},this.hitTestWithGround=function(){var A=this.getCamera(),e=A.up.clone().multiplyScalar(-1),t=new CA(A.position.clone(),e),i=this.getIntersectContext(null),o=this.intersector.byGravity;this.intersector.byGravity=!0;var n=this.intersector.intersect(i,t,!1);return this.intersector.byGravity=o,n},this.projectPositionToBottom=function(A){var e=void 0;if(A instanceof Array)e=new y(A[0],A[1],A[2]);else{if(!(A instanceof y))return;e=A}this.getCamera();var t=new CA(e,new y(0,0,-e.z).normalize()),i=this.getIntersectContext(null),o=this.intersector.byGravity;this.intersector.byGravity=!0;var n=this.intersector.intersect(i,t,!1);if(this.intersector.byGravity=o,n)return n.point},this.hitTestForward=function(A){var e=this.getCamera(),t=this.getWorldEye();t.normalize(),t=t.multiplyScalar(A);var i=new CA(e.position.clone(),t),o=this.getIntersectContext(null);return o.camera.near=-1,this.intersector.intersect(o,i,!1)},this.hitTestRight=function(A){var e=this.getCamera(),t=this.getWorldEye();t.normalize();var i=t.cross(e.up).normalize();i=i.multiplyScalar(A);var o=new CA(e.position.clone(),i),n=this.getIntersectContext(null);return n.camera.near=-1,this.intersector.intersect(n,o,!1)},this.computeGravity=function(){this.gravity=0;var A=this.hitTestWithGround();if(null===A){var e=this.scene.getMatrixGlobal(),t=new M;t.getInverse(e);var i=this.camera.position.clone();i.applyMatrix4(t),i.z=this.scene.getBoundingBoxWorld().min.z||0,i.applyMatrix4(e),this.distanceToGround=Math.abs(this.camera.position.z-i.z)}if(void 0===this.manHeight)this.computeManHeight();else{var o=A?A.distance-this.manHeight:this.distanceToGround-this.manHeight;if(o/=this.scene.getGlobalScaleFactor(),.1>Math.abs(o))return 0;this.gravity=o}},this.computeManHeight=function(){if(!this.manHeight){var A=this.hitTestWithGround(),e=this.scene.getMatrixGlobal(),t=new M;if(t.getInverse(e),null!=A){var i=A.point.clone();i.applyMatrix4(t),i.z+=this._realManHeight*this.sceneLengthUnitFactor,i.applyMatrix4(e),this.manHeight=Math.abs(A.point.z-i.z)}else{var o=this.camera.position.clone();o.applyMatrix4(t),o.z=0;var n=o.clone();n.z+=this._realManHeight*this.sceneLengthUnitFactor,o.applyMatrix4(e),n.applyMatrix4(e),this.manHeight=Math.abs(n.z-o.z)}}},this.setRealManHeight=function(A){A!==this._realManHeight&&(this._realManHeight=A,this.manHeight=void 0)},this.getRealManHeight=function(){return this._realManHeight},this.walkWithParallelEye=function(){var A=this.camera,e=this.getWorldEye().length(),t=this.scene.getBoundingBox().getCenter(new y),i=new y;i.subVectors(t,A.position);var o=i.length();i.z=0,i.normalize(),i.multiplyScalar(o),A.position.subVectors(t,i),A.target.addVectors(A.position,i.normalize().multiplyScalar(e));var n=new y(0,0,1);A.up.copy(n),A.realUp.copy(n),this.dirtyCamera(!0),this.setCameraChanging(!0),this.update(!0)},this.updateFlyMove=function(A,e){var t=this.camera;this.dirtyCamera(!0),this.setCameraChanging(!0);var i=qc;A&i.FORWARD&&t.translateZ(-e),A&i.BACK&&t.translateZ(e),A&i.LEFT&&t.translateX(-e),A&i.RIGHT&&t.translateX(e),A&i.UP&&t.translateY(e),A&i.DOWN&&t.translateY(-e),this.flyOnWorld()},this.flyOnWorld=function(){var A=this.camera,e=A.up.clone();A.realUp&&A.up.copy(A.realUp),A.lookAt(A.target),A.realUp&&A.up.copy(e),this.updateCamera(),this.adjustCameraUp(),i(),this.dirtyCamera(!1),m.copy(A.position),C.copy(A.quaternion)},this.rotateForFly=function(A,e,t,i){var o=this.camera,n=o.position,r=o.target,a=r.clone().sub(n),s=new y(0,1,0),l=o.realUp||o.up,c=a.clone().cross(l).normalize();if(this.dirtyCamera(!0),this.setCameraChanging(!0),jh.LockAxisZ&&(e=0),0!==e){var h=(new f).setFromAxisAngle(c,-e),d=a.clone();d.applyQuaternion(h);var p=d.angleTo(s);t>(p-=.5*Math.PI)||p>i||a.applyQuaternion(h)}if(0!==A){var g=(new f).setFromAxisAngle(s,-A);a.applyQuaternion(g)}r.addVectors(n,a),this.flyOnWorld()},this.fitAndRotateBySelection=function(){var A=this.viewer;A.setPointRotateMode(kc.SELECTION),A.zoomToSelection()},this.flyToPointWithParallelEye=function(A){var e=this.getWorldEye(),t=e.length(),i=e.clone();i.y=0,i.normalize(),i.setLength(t);var o=new y(0,0,1);this.camera.up=o,this.camera.realUp=o.clone(),this.camera.position.copy(A),this.camera.target.addVectors(this.camera.position,i),this.update(!0)},this.flyToPoint=function(A){var e=this.getWorldEye();this.camera.position.copy(A),this.camera.target.addVectors(this.camera.position,e),this.update(!0)},this.setRoamingWalkAbsoluteHeight=function(A){},this.setCameraHeight=function(A,e){this.cameraAbsoluteHeightEnabled=!1,this.cameraRelativeHeight=e,void 0===this.cameraConstraintHeights?this.cameraConstraintHeights=[]:this.cameraConstraintHeights.length=0;for(var t=0,i=A.length;i>t;t+=1)this.cameraConstraintHeights[t]=A[t]},this.setCameraAbsoluteHeight=function(A){this.cameraAbsoluteHeightEnabled=!0,this.cameraAbsoluteHeight=A},this.updateCameraHeight=function(){var A=this.scene,e=this.getCamera(),t=A.drawingToWorld(e.position),i=t.z,o=null,n=null;if(this.cameraAbsoluteHeightEnabled)void 0===this.cameraAbsoluteHeight&&(this.cameraAbsoluteHeight=i),o=this.cameraAbsoluteHeight;else if(void 0===this.cameraConstraintHeights)o=i;else{var r=uh.findRange(this.cameraConstraintHeights,i);if(o=this.cameraConstraintHeights[r],o+=this.cameraRelativeHeight,this.cameraConstraintHeights.length-1>r){var a=this.cameraConstraintHeights[r+1];o>a&&(o=a)}}o!==i&&(n=A.worldToDrawing({x:t.x,y:t.y,z:o}),this.setCameraPosition(n))},this.getRaycaster=function(A,e){var t=new Dd,i=new s;return this.mapWindowToViewport(A,e,i),t.setFromCamera(i,this.camera),t},this.translateCameraForWalk=function(A,e){var t=this.collisionManager;if(0!==A.x)if(!1===vc.EnableHitDetection)this.stepCameraForWalk(qc.RIGHT,A.x*e);else{var i=1;0>A.x&&(i=-1);var o=this.hitTestRight(i);if(o){var n=this.viewer.modelManager.getNodeInfosByUserId(o.userId);if(!t.hasCollision({type:n?n[0].type:null},o.distance)){var r=e;Math.abs(e)>o.distance&&(r=e>0?o.distance-t.distance*t.factor-.1*this.sceneLengthUnitFactor:t.distance*t.factor-o.distance+.1*this.sceneLengthUnitFactor),this.stepCameraForWalk(qc.RIGHT,A.x*r)}}else this.stepCameraForWalk(qc.RIGHT,A.x*e)}if(0!==A.y)if(!1===vc.EnableHitDetection)this.stepCameraForWalk(qc.BACK,A.y*e);else{var a=1;A.y>0&&(a=-1);var s=this.hitTestForward(a);if(s){var l=this.viewer.modelManager.getNodeInfosByUserId(s.userId);if(!t.hasCollision({type:l?l[0].type:null},s.distance)){var c=e;Math.abs(e)>s.distance&&(c=e>0?s.distance-t.distance*t.factor-.1*this.sceneLengthUnitFactor:t.distance*t.factor-s.distance+.1*this.sceneLengthUnitFactor),this.stepCameraForWalk(qc.BACK,A.y*c)}}else this.stepCameraForWalk(qc.BACK,A.y*e)}if(0!==A.z)this.goUpDownForWalk(A.z*e*.5);else{var h=e;if(0!==this.gravity){var d=Math.abs(this.gravity);h=d>h?.2*d:d}this.gravity>0?this.goUpDownForWalk(-h):0>this.gravity&&this.goUpDownForWalk(h)}},this.rotateCameraForWalk=function(A,e){0!==A.x&&(this.goPitchForWalk(A.x*Math.PI),A.x=0),0!==A.z&&(this.goTurnForWalk(-A.z*Math.PI*e),A.z=0)},this.zoomCameraForWalk=function(A){this.adjustCameraForDolly(A,null)},this.movePlane=function(A,e,t,i,o){if(void 0===o){var n=new EA;n.setComponents(A.x,A.y,A.z,A.w),o=new y,n.coplanarPoint(o)}var r=new y(A.x,A.y,A.z),a=this.camera.getWorldDirection(new y),s=new EA;s.setFromNormalAndCoplanarPoint(a,o);var l=this.getRaycaster(e.clientX,e.clientY),c=new y,h=this.getRaycaster(t.x,t.y),d=new y;if(l.ray.intersectPlane(s,c)&&h.ray.intersectPlane(s,d)){c.subVectors(c,d),c.projectOnVector(r);var p=c.length();if(0>c.dot(r)&&(p=-p),0!==p)return i&&(r.multiplyScalar(p),p=r.x+r.y+r.z),p}return null},this.getZenith=function(){var A=this.camera.position,e=p.viewer.getBoundingBox().getCenter();return A.clone().sub(e.clone()).clone().angleTo(u.clone())},this.getAzimuth=function(){var A=this.camera.position,e=p.viewer.getBoundingBox().getCenter(),t=A.clone().sub(e.clone()).clone().projectOnPlane(u.clone()),i=t.angleTo(u.clone());return 0>t.x&&(i=360-i),i},this.getCurrentRangeofCamera=function(){var A=this.camera,e=this.viewer.getBoundingBox(),t=e.getCenter(),i=A.position,o=.5*e.getSize().length()/Math.tan(a.degToRad(.5*A.fov));return t.distanceTo(i)/o},this.setMaximalRangeofCamera=function(A){this.farFactor=A||2},this.getMaximalRangeofCamera=function(){return this.farFactor},this.cameraWithinMaximumRange=function(A){var e=A||this.farFactor;return this.getCurrentRangeofCamera()<=e},this.resetCameraToMaximumRange=function(A){var e=this.camera,t=this.viewer.getBoundingBox(),i=t.getCenter(),o=e.position,n=this.farFactor;"number"==typeof A&&(n=A);var r=(new y).subVectors(i,o),s=.5*t.getSize().length()/Math.tan(a.degToRad(.5*e.fov));r.setLength(n*s);var l=i.clone().sub(r),c=this.getWorldEye();this.camera.position.copy(l),this.camera.target.copy(c.add(l)),this.updateView(!0)},this.setZoomSpeed=function(A){"number"==typeof A&&A>0&&(this.zoomSpeed=A)},this.getZoomSpeed=function(){return this.zoomSpeed},this.setZoomOutLimitRate=function(A){"number"==typeof A&&A>0&&(this.farFactor=A)},this.getZoomOutLimitRate=function(){return this.farFactor},this.setSceneUnit=function(A){var e=1;switch(A){case"m":e=.001;break;case"mm":e=1;break;case"km":e=1e-6;break;default:e=1}this.collisionManager.setFactor(e),this.sceneLengthUnitFactor=e}};Object.assign(mp.prototype,Ld.prototype);var Cp=function(){this.duration=500,this._state=null};Cp.prototype.rotateCameraByViewCubeSide=function(A,e,t,i){var o=A.target.clone(),n=e.getCenter(new y),r=A.quaternion.clone(),a=A.position.clone(),s=this._calculateDistanceAndEuler(t,e),l=(new f).setFromEuler(s.euler).inverse(),c=new M;c.makeRotationFromQuaternion(l);var h=c.elements,d=new y(-h[8],-h[9],-h[10]).normalize();d.setLength(s.distance);var p=n.clone().sub(d);if(!a.equals(p)||!r.equals(l)){var g=this._calculatePositionRotateInfo(r,l,a,p);this._state&&this._state.timerID&&(cancelAnimationFrame(this._state.timerID),this._state.timerID=void 0),this._state={startTime:Date.now(),startQuaternion:r,endQuaternion:l,startPosition:a,endPosition:p,startTarget:o,endTarget:n,positionRotateInfo:g,onUpdate:i},this._state.timerID=requestAnimationFrame(this._animate.bind(this))}},Cp.prototype.cancelAnimation=function(){this._state&&this._state.timerID&&(cancelAnimationFrame(this._state.timerID),this._state=void 0)},Cp.prototype._animate=function(){if(this._state){var A=Date.now(),e=this._state,t=e.startTarget,i=e.endTarget,o=e.startQuaternion,n=e.endQuaternion,r=e.startPosition,a=e.endPosition,s=e.positionRotateInfo,l=Math.min((A-e.startTime)/this.duration,1);l=this._easyOut(l);var c=n.clone();o.equals(n)||f.slerp(o,n,c,l);var h=a;r.equals(a)||(h=s?this._rotatePositionAroundCenter(s,r,a,l):r.clone().lerp(a,l));var d=i.clone();t.equals(i)||(d=d.lerpVectors(t,i,l)),"function"==typeof this._state.onUpdate&&this._state.onUpdate(l,c,h,d),1===l?(cancelAnimationFrame(this._state.timerID),this._state=null):this._state.timerID=requestAnimationFrame(this._animate.bind(this))}},Cp.prototype._calculateDistanceAndEuler=function(A,e){var t=-45,i=0,o=-135,n=0,r=e?e.getSize(new y):{x:0,y:0,z:0};switch(A){case Uc.Home:break;case Uc.Front:t=-90,i=0,o=0;break;case Uc.Right:t=-90,i=0,o=-90;break;case Uc.Back:t=-90,i=0,o=-180;break;case Uc.Left:t=-90,i=0,o=-270;break;case Uc.Top:t=0,i=0,o=0;break;case Uc.Bottom:t=-180,i=0,o=-180;break;case Uc.TopFront:t=-45,i=0,o=-90;break;case Uc.TopRight:t=-45,i=0,o=-180;break;case Uc.TopBack:t=-45,i=0,o=90;break;case Uc.TopLeft:t=-45,i=0,o=0;break;case Uc.BottomFront:t=-135,i=0,o=270;break;case Uc.BottomRight:t=-135,i=0,o=-180;break;case Uc.BottomBack:t=-135,i=0,o=90;break;case Uc.BottomLeft:t=-135,i=0,o=0;break;case Uc.FrontRight:t=-90,i=0,o=-135;break;case Uc.BackRight:t=-90,i=0,o=-225;break;case Uc.BackLeft:t=-90,i=0,o=45;break;case Uc.FrontLeft:t=-90,i=0,o=-45;break;case Uc.TopFrontRight:t=-45,i=-0,o=-135;break;case Uc.TopBackRight:t=-45,i=0,o=-225;break;case Uc.TopBackLeft:t=-45,i=0,o=-315;break;case Uc.TopFrontLeft:t=-45,i=0,o=-45;break;case Uc.BottomFrontRight:t=-135,i=0,o=-135;break;case Uc.BottomBackRight:t=-135,i=0,o=-225;break;case Uc.BottomBackLeft:t=-135,i=0,o=45;break;case Uc.BottomFrontLeft:t=-135,i=0,o=-45}var a=Math.PI/180,s=new F(t*a,i*a,o*a);return 0===(n=r.x+r.y+r.z)&&(n=vc.SceneSize/2),{euler:s,distance:n}},Cp.prototype._easyOut=function(A){return A*(2-A)},Cp.prototype._calculatePositionRotateInfo=function(A,e,t,i){var o=(new f).multiplyQuaternions(e,A.clone().inverse());o.normalize();var n=new y(o.x,o.y,o.z).normalize(),r=2*Math.acos(o.w);if(0!==r){var a=null;if(r===Math.PI)a=(new y).addVectors(t,i).divideScalar(2);else{var s=(new y).addVectors(t,i),l=(new y).subVectors(i,t),c=n.clone().cross(l).normalize(),h=.5*l.length()/Math.tan(r/2);c.setLength(h),a=(new y).addVectors(s.multiplyScalar(.5),c)}var d=null,p=null,g=(new y).subVectors(t,a),u=g.length(),m=(new y).subVectors(i,t);if(r===Math.PI)p=-1,d=(new y).crossVectors(m,n);else{var C=(new y).subVectors(i,a);p=Math.cos(r),p=Math.max(-1,Math.min(1,p)),d=C.clone().sub(g.clone().multiplyScalar(p))}return{center:a,dot:p,vec:d,start:g,radiusLength:u}}},Cp.prototype._rotatePositionAroundCenter=function(A,e,t,i){if(0===i)return e;if(i>=1)return t;var o=Math.acos(A.dot)*i,n=A.start.clone(),r=A.vec.clone().normalize(),a=n.multiplyScalar(Math.cos(o)),s=r.multiplyScalar(Math.sin(o)*A.radiusLength),l=a.add(s);return l.add(A.center),l};var yp=function(A){this.name=A,this._mousePressed=!1};yp.prototype.getName=function(){return this.name},yp.prototype.onExit=function(){},yp.prototype.destroy=function(){},yp.prototype.processMouseDown=function(A){return!1},yp.prototype.processMouseMove=function(A){return!1},yp.prototype.processMouseUp=function(A){return!1},yp.prototype.processMouseWheel=function(A){return!1},yp.prototype.processMouseDoubleClick=function(A){return!1},yp.prototype.processKeyDown=function(A){return!1},yp.prototype.processKeyUp=function(A){switch(A.keyCode){case qh:this._mousePressed=!1}return!1},yp.prototype.processTouchstart=function(A){return!1},yp.prototype.processTouchmove=function(A){return!1},yp.prototype.processTouchend=function(A){return!1},yp.prototype.processHover=function(A){return!1},yp.prototype.onEvent=function(A){var e=!1;switch(A.type){case"touchmove":e=this.processTouchmove(A);break;case"touchstart":e=this.processTouchstart(A);break;case"touchend":e=this.processTouchend(A);break;case"keydown":e=this.processKeyDown(A);break;case"keyup":e=this.processKeyUp(A);break;case"mousewheel":case"DOMMouseScroll":e=this.processMouseWheel(A);break;case"mousedown":this._mousePressed=!0,e=this.processMouseDown(A);break;case"mousemove":e=this._mousePressed?this.processMouseMove(A):this.processHover(A);break;case"mouseup":this._mousePressed=!1,e=this.processMouseUp(A);break;case"dblclick":e=this.processMouseDoubleClick(A)}return e};var vp=function(A){yp.call(this,Pc.CLIP_BY_BOX),this.viewer=A,this.scene=A.getScene(),this.enablePick=!1,this.cameraControl=A.cameraControl,this.clipStartPoint=new y,this.startPt=new s,this.onClipBox=!1,this.mapLockedBoxFaces={},this.mapBoxFaceIndex={0:"right",1:"left",2:"top",3:"bottom",4:"front",5:"back"};for(var e=[],t=0;6>t;t+=1)e.push(new EA);var i=this.scene.getClipPlanes(!0);i.updateClippingParams=function(t){if(0===t.iClipPlane.value)A.getRenderer().clippingPlanes=Object.freeze([]);else{for(var i=0,o=t.iClipPlane.value;o>i;i+=1){var n=t.vClipPlane.value[i],r=e[i];r.setComponents(-n.x,-n.y,-n.z,-n.w),r.normalize()}A.getRenderer().clippingPlanes=e,this.calculateClipBoundingBox(e)}},i.init(),this.selectIndex=null,this.planeDistance=0,this.offsetSpeed=.02,this.toggle=function(A,e){i.enable(A,e)},this.visible=function(A){i.visible=A},this.rotatable=function(A){i.rotatable=A},this.store=function(){return i.store()},this.restore=function(A){i.restore(A)},this.reset=function(){i.reset()},this.pointToScreen=function(A){var e=this.cameraControl.camera,t=new M;t.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse);var i=new p(A.x,A.y,A.z,1);i.applyMatrix4(t);var o=new s;o.x=(i.x/i.w+1)/2,o.y=1-(i.y/i.w+1)/2;var n=this.cameraControl.getContainerDimensions();return o.x=o.x*n.width+n.left,o.y=o.y*n.height+n.top,o},this.getPlaneDistanceInScreen=function(){if(null===this.selectIndex)return null;if(2>this.selectIndex){var A=i.center.clone(),e=i.center.clone();A.x-=i.cubeSize.x,e.x+=i.cubeSize.x;var t=this.pointToScreen(A),o=this.pointToScreen(e);return t.x-o.x}var n=i.center.clone(),r=i.center.clone();r.y-=i.cubeSize.y,n.y+=i.cubeSize.y;var a=this.pointToScreen(r),s=this.pointToScreen(n);return a.y-s.y},this.getPickPoint=function(A,e){var t=this.cameraControl.camera,i=this.cameraControl.getContainerDimensions(),o=(A-i.left)/i.width*2-1,n=(i.height-(e-i.top))/i.height*2-1,r=new Dd;return r.setFromCamera(new s(o,n),t),r.ray.intersectPlane(this.plane)},this.getSelectIndex=function(){return i.selectIndex},this._isVisible=function(){return i.visible},this.isRotate=function(){return i.rotatable},this.offset=function(A){var e=Math.floor(this.selectIndex/2);i.offset(this.selectIndex,this.selectIndex>3?this.selectIndex%2==1?-A*i.cubeSize.getComponent(e)*2:A*i.cubeSize.getComponent(e)*2:-A*i.cubeSize.getComponent(e)*2)},this.setSectionBox=function(A,e){var t=new aA(new y(A.x,A.y,A.z),new y(e.x,e.y,e.z));t.applyMatrix4(this.scene.getMatrixGlobal()),i.setSectionBox(t.min,t.max)},this.calculateOffsetByBox=function(A,e){var t=new aA(new y(A.x,A.y,A.z),new y(e.x,e.y,e.z));t.applyMatrix4(this.scene.getMatrixGlobal()),t.setFromCenterAndSize(t.getCenter(),t.getSize().multiplyScalar(this.scene.getExpandScalar())),i.calculateOffsetByBox(t.min,t.max)},this.moveSectionPlane=function(A,e){i.moveSectionPlane(A,e)},this.rotateSectionBox=function(A,e){i.rotateSectionBox(A,e)},this.rotate=function(A,e){2===this.selectIndex||3===this.selectIndex?i.rotX(e/180*Math.PI*.1):i.rotY(A/180*Math.PI*.1)},this.update=function(A){i.update(A)},this.cancelHighLight=function(){i.cancelHighLight()},this.highLight=function(){i.highLight()},this.lockBoxFaces=function(A){var e=!0;try{for(var t,i=A[Symbol.iterator]();!(e=(t=i.next()).done);e=!0){this.mapLockedBoxFaces[t.value]=!0}}catch(A){}finally{try{!e&&i.return&&i.return()}catch(A){}}},this.unlockBox=function(){this.mapLockedBoxFaces={}},this.setProcess=function(A,e){this.mapLockedBoxFaces[A]||i.setProcess(A,e)},this.getProcess=function(A){return i.getProcess(A)}};(vp.prototype=Object.create(yp.prototype)).constructor=vp,vp.prototype.destroy=function(){this.cameraControl=null,this.intersectPoint=null,this.selectIndex=null,this.normal=null,this.plane=null,this.pickHelper=null,this.scene=null,this.viewer=null},vp.prototype.onExit=function(){this.toggle(!1,!1)},vp.prototype.processMouseDown=function(A){if(this.startPt.set(A.clientX,A.clientY),!this.enablePick&&A.button===t.LEFT){var e=this.cameraControl.getRaycaster(A.clientX,A.clientY),i=this.scene.getClipPlanes().hitTest(e),o=this.cameraControl.getIntersectContext(new s(A.clientX,A.clientY)),n=this.cameraControl.intersector.intersect(o,null,!0);if(null!==n&&i.distance>=n.distance)return yp.prototype.processMouseDown(this,A);if(this.selectIndex=this.getSelectIndex(),this.planeDistance=this.getPlaneDistanceInScreen(),null!==this.selectIndex)return this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.enablePick=!0,this.clipStartPoint=e.ray.at(i.distance,this.clipStartPoint),!0}return yp.prototype.processMouseDown(this,A)},vp.prototype.processHover=function(A){if(!this.enablePick){var e=!1,t=this.cameraControl.getRaycaster(A.clientX,A.clientY),i=this.scene.getClipPlanes(),o=this.getSelectIndex();null!==o&&this.cancelHighLight();i.hitTest(t);if(this.selectIndex=this.getSelectIndex(),null!==this.selectIndex){if(this.highLight(),!this.onClipBox)this.onClipBox=!0,this.cameraControl.viewer.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipBox:!0,event:A});e=!0}else if(this.onClipBox){this.onClipBox=!1,this.cameraControl.viewer.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipBox:!1,event:A})}return this.selectIndex!==o&&(this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0)),e}return yp.prototype.processHover(this,A)},vp.prototype.processMouseUp=function(A){if(A.button===t.LEFT){var e=this.cameraControl.getRaycaster(A.clientX,A.clientY),i=this.scene.getClipPlanes();null!==this.getSelectIndex()&&(this.cancelHighLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0));i.hitTest(e);if(this.selectIndex=this.getSelectIndex(),vc.ClippingCaps=!0,null!==this.selectIndex){if(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),!this.onClipBox)this.onClipBox=!0,this.cameraControl.viewer.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipBox:!0,event:A})}else if(this.onClipBox){this.onClipBox=!1,this.cameraControl.viewer.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipBox:!1,event:A})}if(this.enablePick)return this.planeDistance=0,this.enablePick=!1,!0}return yp.prototype.processMouseUp(this,A)},vp.prototype.processMouseMove=function(A){if(this.enablePick){if(this.isRotate())this.rotate(A.clientX-this.startPt.x,A.clientY-this.startPt.y),this.startPt.set(A.clientX,A.clientY);else{var e=this.mapBoxFaceIndex[this.selectIndex];if(this.mapLockedBoxFaces[e])return!0;if(!(A.clientX===this.startPt.x&&A.clientY===this.startPt.y)){vc.ClippingCaps=!1;var t=this.scene.getClipPlanes(),i=this.cameraControl.movePlane(t.clipplanes[this.selectIndex],A,this.startPt,!0,this.clipStartPoint);null!==i&&t.offset(this.selectIndex,i),this.startPt.set(A.clientX,A.clientY)}this.cameraControl.viewer.modelManager.dispatchEvent({type:Rc.ON_CLIP_MOUSE_MOVE,draggedFaceName:e})}return this.cameraControl.update(!0),!0}return yp.prototype.processMouseMove(this,A)},vp.prototype.processTouchstart=function(A){if(this.startPt.set(A.touches[0].clientX,A.touches[0].clientY),this.enablePick)return yp.prototype.processTouchstart(this,A);var e=this.cameraControl.getRaycaster(A.touches[0].clientX,A.touches[0].clientY);return this.scene.getClipPlanes().hitTest(e),this.selectIndex=this.getSelectIndex(),this.planeDistance=this.getPlaneDistanceInScreen(),null!==this.selectIndex?(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.update(),!0):void 0},vp.prototype.processTouchmove=function(A){if(null!==this.selectIndex){if(this.isRotate())this.rotate(A.touches[0].clientX-this.startPt.x,A.touches[0].clientY-this.startPt.y),this.startPt.set(A.touches[0].clientX,A.touches[0].clientY);else{this.offset((2>this.selectIndex?A.touches[0].clientX-this.startPt.x:A.touches[0].clientY-this.startPt.y)/this.planeDistance),this.startPt.set(A.touches[0].clientX,A.touches[0].clientY)}return this.cameraControl.update(!0),this.update(),!0}return yp.prototype.processTouchmove(this,A)},vp.prototype.processTouchend=function(A){return this.selectIndex=null,this.planeDistance=0,this.enablePick&&(this.onUpdateUI({visible:!1}),this.startPt.x===A.touches[0].clientX&&this.startPt.y===A.touches[0].clientY&&this.pickHelper.click(A)),this.cameraControl.needUpdateRenderList(!0),this.cancelHighLight(),this.cameraControl.update(!0),this.update(),yp.prototype.processTouchend(this,A)};var Ip=function(A,e,t){yp.call(this,Pc.COMPONENT_TRANSFORM),this._callbackWrapper=void 0,this._objectCallbackWrapper=void 0,this._cancelCallback=void 0,this.transformControl=new Ep(A,e,t),this.bindingComponentKey=void 0};(Ip.prototype=Object.create(yp.prototype)).constructor=Ip,Ip.prototype.destroy=function(){this.transformControl.destory()},Ip.prototype.update=function(){this.transformControl.updateMatrixWorld()},Ip.prototype.transformComponent=function(A,e,t,i,o){if(A){var n=this.transformControl;n.object&&A!==n.object&&this.cancelTransformComponent(!1),this._callbackWrapper&&(this.transformControl.removeEventListener("change",this._callbackWrapper),this._callbackWrapper=void 0),this._objectCallbackWrapper&&(this.transformControl.removeEventListener("objectChange",this._objectCallbackWrapper),this._objectCallbackWrapper=void 0),this._cancelCallback&&(this._cancelCallback=void 0),this._pauseCallbackWrapper&&(this.transformControl.removeEventListener("mouseUp",this._pauseCallbackWrapper),this._pauseCallbackWrapper=void 0),e&&(this._callbackWrapper=function(A){e(A)},this.transformControl.addEventListener("change",this._callbackWrapper)),t&&(this._objectCallbackWrapper=function(A){t(A)},this.transformControl.addEventListener("objectChange",this._objectCallbackWrapper)),i&&(this._cancelCallback=i),o&&(this._pauseCallbackWrapper=function(A){o(A)},this.transformControl.addEventListener("mouseUp",this._pauseCallbackWrapper)),this._saveComponentOriginalTransformState(A),!0!==n.showX&&(n.showX=!0),!0!==n.showY&&(n.showY=!0),!0!==n.showZ&&(n.showZ=!0),!0!==n.enabled&&(n.enabled=!0),n.attach(A)}},Ip.prototype.cancelTransformComponent=function(){var A=this.transformControl.object;if(A)return this.transformControl.detach(),this._callbackWrapper&&(this.transformControl.removeEventListener("change",this._callbackWrapper),this._callbackWrapper=void 0),this._objectCallbackWrapper&&(this.transformControl.removeEventListener("objectChange",this._objectCallbackWrapper),this._objectCallbackWrapper=void 0),this._cancelCallback&&(this._cancelCallback(),this._cancelCallback=void 0),this.bindingComponentKey=void 0,A},Ip.prototype.switchToTranslateMode=function(){this.transformControl.setMode("translate")},Ip.prototype.switchToRotateMode=function(){this.transformControl.setMode("rotate")},Ip.prototype.switchToScaleMode=function(){this.transformControl.setMode("scale")},Ip.prototype._saveComponentOriginalTransformState=function(A){var e;if(A instanceof Array)e=A;else{if(!(A instanceof H))return;e=[A]}for(var t=0,i=e.length;i>t;t+=1){var o=e[t];if(!o.userData._originalTransformState){var n=o.position.clone(),r=o.quaternion.clone(),a=o.scale.clone(),s=o.matrix.clone(),l=o.matrixWorld.clone();o.userData._originalTransformState={position:n,quaternion:r,scale:a,matrix:s,matrixWorld:l}}}},Ip.prototype.restoreComponentOriginalTransformState=function(){if(!this.transformControl.object)return!1;var A,e=this.transformControl.object;if(e instanceof Array)A=e;else{if(!(e instanceof H))return!1;A=[e]}for(var t=!1,i=0,o=A.length;o>i;i+=1){var n=A[i],r=n.userData._originalTransformState;r&&(n.position.copy(r.position),n.quaternion.copy(r.quaternion),n.scale.copy(r.scale),n.matrix.copy(r.matrix),n.matrixWorld.copy(r.matrixWorld),this.transformControl.updateMatrixWorld(),this.transformControl.dispatchEvent({type:"objectChange"}),t=!0)}return t},Ip.prototype.increaseTransformControlSize=function(){var A=this.transformControl;if(A.object&&A.visible){var e=A.size;if(3>e)return A.setSize(e+.1),!0}return!1},Ip.prototype.decreaseTransformControlSize=function(){var A=this.transformControl;if(A.object&&A.visible){var e=A.size;if(e>.5)return A.setSize(e-.1),!0}return!1},Ip.prototype.setTransformSpaceToLocalSpace=function(){console.log("不再支持")},Ip.prototype.setTransformSpaceToWorldSpace=function(){console.log("不再支持")},Ip.prototype.switchTransformSpace=function(){console.log("不再支持")},Ip.prototype.showTransformOnAxis=function(A){var e=this.transformControl;if(e.object&&e.visible){var t=!1;switch(A){case"x":case"X":!0!==e.showX&&(t=!0,e.showX=!0);break;case"y":case"Y":!0!==e.showY&&(t=!0,e.showY=!0);break;case"z":case"Z":!0!==e.showZ&&(t=!0,e.showZ=!0)}return t}return!1},Ip.prototype.hideTransformOnAxis=function(A){var e=this.transformControl;if(e.object&&e.visible){var t=!1;switch(A){case"x":case"X":!1!==e.showX&&(t=!0,e.showX=!1);break;case"y":case"Y":!1!==e.showY&&(t=!0,e.showY=!1);break;case"z":case"Z":!1!==e.showZ&&(t=!0,e.showZ=!1)}return t}return!1},Ip.prototype.disableTransform=function(){var A=this.transformControl;return!(!A.object||!A.visible||!1===A.enabled)&&(A.enabled=!1,!0)},Ip.prototype.enableTransform=function(){var A=this.transformControl;return!(!A.object||!A.visible||!0===A.enabled)&&(A.enabled=!0,!0)},Ip.prototype.processMouseDown=function(A){return!!this.transformControl.enabled&&(!!this.transformControl.mouseHover(A)&&this.transformControl.mouseDown(A))},Ip.prototype.processMouseMove=function(A){return!!this.transformControl.enabled&&this.transformControl.mouseMove(A)},Ip.prototype.processMouseUp=function(A){return!!this.transformControl.enabled&&this.transformControl.mouseUp(A)},Ip.prototype.processHover=function(A){return!!this.transformControl.enabled&&this.transformControl.mouseHover(A)},Ip.onExit=function(){this.destroy()};var Ep=function(A,e,t){H.call(this),t=void 0!==t?t:document,this.scene=A,this.visible=!1;var i=new Bp;this.add(i);var o=new xp;this.add(o);var n=this;N("camera",e),N("object",void 0),N("enabled",!0),N("axis",null),N("mode","translate"),N("translationSnap",null),N("rotationSnap",null),N("space","world"),N("size",1),N("dragging",!1),N("showX",!0),N("showY",!0),N("showZ",!0);var r={type:"change"},a={type:"mouseDown"},s={type:"mouseUp",mode:n.mode},l={type:"objectChange"},c=new Dd,h=new y,d=new y,p=new f,g={X:new y(1,0,0),Y:new y(0,1,0),Z:new y(0,0,1)},u=new y,m=new y,C=new y,v=new y,I=new y,E=new y,B=0,x=new y,S=new f,w=new y,b=new y,U=new f,F=new f,K=new y(1,1,1),Q=new y,R=new y,T=new f,k=new f,D=new y,L=new y;function N(A,e){var t=e;Object.defineProperty(n,A,{get:function(){return void 0!==t?t:e},set:function(e){t!==e&&(t=e,o[A]=e,i[A]=e,n.dispatchEvent({type:A+"-changed",value:e}),n.dispatchEvent(r))}}),n[A]=e,o[A]=e,i[A]=e}function O(A){var e=A.changedTouches?A.changedTouches[0]:A,i=t.getBoundingClientRect();return{x:(e.clientX-i.left)/i.width*2-1,y:-(e.clientY-i.top)/i.height*2+1,button:A.button}}N("worldPosition",R),N("worldPositionStart",Q),N("worldQuaternion",T),N("cameraPosition",x),N("cameraQuaternion",S),N("pointStart",u),N("pointEnd",m),N("rotationAxis",v),N("rotationAngle",B),N("eye",L),this.attach=function(e){e&&(this.object!==e&&(this.scene.add(this),A.componentTransformControl=this,this.object=e,r.object=e,l.object=e,this.updateMatrixWorld()),this.visible=!0)},this.detach=function(){this.object&&(this.object=void 0,r.object=void 0),this.parent&&this.parent.remove(this),this.scene.componentTransformControl=void 0},this.destory=function(){this.scene.componentTransformControl=void 0,this.scene=void 0,this.axis=void 0,this.camera=void 0},this.updateMatrixWorld=function(){if(void 0!==this.object){var A,e=new aA;if(this.object instanceof Array)A=this.object;else{if(!(this.object instanceof H))return;A=[this.object]}for(var t=0,i=A.length;i>t;t+=1){var o=A[t];if(o.geometry)e.expandByObject(A[t]);else{var n=new y;o.getWorldPosition(n),e.expandByPoint(n)}}A[0].parent&&A[0].parent.matrixWorld.decompose(b,U,K),A[0].matrixWorld.decompose(R,T,D),e.getCenter(R),F.copy(U).inverse(),k.copy(T).inverse()}this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(x,S,w),this.camera instanceof je?L.copy(x).sub(R).normalize():this.camera instanceof Ka?L.copy(x).normalize():this.camera instanceof kd&&(this.camera.isPerspective?L.copy(x).sub(R).normalize():L.copy(x).normalize()),H.prototype.updateMatrixWorld.call(this)},this.mouseHover=function(A){var e=O(A);if(void 0===this.object||!0===this.dragging||void 0!==e.button&&0!==e.button)return!1;c.setFromCamera(e,this.camera);var t,o=c.intersectObjects(i.picker[this.mode].children,!0)||!1;return o?(this.axis=o.object.name,t=!0):(this.axis=null,t=!1),this.updateMatrixWorld(),t},this.mouseDown=function(A){var e=O(A);if(void 0===this.object||!0===this.dragging||void 0!==e.button&&0!==e.button)return!1;if((0===e.button||void 0===e.button)&&null!==this.axis){c.setFromCamera(e,this.camera);var t=c.intersectObjects([o],!0)||!1;return!1!==t&&(t&&(Q.copy(R),u.copy(t.point).sub(Q)),this.dragging=!0,a.mode=this.mode,this.dispatchEvent(a),!0)}},this.mouseMove=function(A){var e=O(A),t=this.axis,i=this.mode,n=void 0;if(void 0===this.object||null===t||!1===this.dragging||void 0!==e.button&&0!==e.button)return!1;c.setFromCamera(e,this.camera);var a=c.intersectObjects([o],!0)||!1;if(!1===a)return!1;if(m.copy(a.point).sub(Q),"translate"===i)C.copy(m).sub(u),-1===t.indexOf("X")&&(C.x=0),-1===t.indexOf("Y")&&(C.y=0),-1===t.indexOf("Z")&&(C.z=0),C.applyQuaternion(F).divide(K),0===C.x&&0===C.y&&0===C.z||(n=this._translateCurrentObject(C));else if("scale"===i){if(-1!==t.search("XYZ")){var s=m.length()/u.length();0>m.dot(u)&&(s*=-1),d.set(s,s,s)}else h.copy(u),d.copy(m),h.applyQuaternion(k),d.applyQuaternion(k),d.divide(h),-1===t.search("X")&&(d.x=1),-1===t.search("Y")&&(d.y=1),-1===t.search("Z")&&(d.z=1);1===d.x&&1===d.y&&1===d.z||(n=this._scaleCurrentObject(d))}else if("rotate"===i){C.copy(m).sub(u);var y=20/R.distanceTo(h.setFromMatrixPosition(this.camera.matrixWorld));if("E"===t?(v.copy(L),B=m.angleTo(u),I.copy(u).normalize(),E.copy(m).normalize(),B*=0>E.cross(I).dot(L)?1:-1):"XYZE"===t?(v.copy(C).cross(L).normalize(),B=C.dot(h.copy(v).cross(this.eye))*y):"X"!==t&&"Y"!==t&&"Z"!==t||(v.copy(g[t]),h.copy(g[t]),B=C.dot(h.cross(L).normalize())*y),this.rotationAngle=B,0!==B){var x=new f;v.applyQuaternion(F),x.copy(p.setFromAxisAngle(v,B)),x.normalize(),n=this._rotateCurrentObject(x)}}return n?(this.updateMatrixWorld(),this.dispatchEvent(r),l.matrix=n.clone(),this.dispatchEvent(l),u.copy(m),!0):void 0},this.mouseUp=function(A){var e=O(A);return(void 0===e.button||0===e.button)&&(this.dragging&&null!==this.axis&&(s.mode=this.mode,this.dispatchEvent(s)),this.dragging=!1,void 0===e.button&&(this.axis=null),!0)},this.getMode=function(){return n.mode},this.setMode=function(A){n.mode=A,this.updateMatrixWorld()},this.setTranslationSnap=function(A){n.translationSnap=A},this.setRotationSnap=function(A){n.rotationSnap=A},this.setSize=function(A){n.size=A},this.setSpace=function(A){n.space=A},this.getBoundingBox=function(){return i.getBoundingBox()},this._scaleCurrentObject=function(){var A=new M,e=new M,t=new M,i=new M,o=new y;return function(n){var r;if(this.object instanceof Array)r=this.object;else{if(!(this.object instanceof H))return;r=[this.object]}for(var a=0,s=r.length;s>a;a+=1){var l=r[a];l.geometry?(l.geometry.boundingBox||l.geometry.computeBoundingBox(),l.geometry.boundingBox.getCenter(o),o.applyMatrix4(l.matrix)):o.copy(l.position),e.makeTranslation(-o.x,-o.y,-o.z),t.makeScale(n.x,n.y,n.z),i.makeTranslation(o.x,o.y,o.z),A.identity(),A.multiply(i),A.multiply(t),A.multiply(e);var c=l.matrixAutoUpdate;l.matrixAutoUpdate=!1,l.applyMatrix4(A),l.updateMatrixWorld(!0),l.matrixAutoUpdate=c}return A}}(),this._rotateCurrentObject=function(){var A=new M,e=new M,t=new M,i=new M,o=new y;return function(n){var r;if(this.object instanceof Array)r=this.object;else{if(!(this.object instanceof H))return;r=[this.object]}for(var a=0,s=r.length;s>a;a+=1){var l=r[a];l.geometry?(l.geometry.boundingBox||l.geometry.computeBoundingBox(),l.geometry.boundingBox.getCenter(o),o.applyMatrix4(l.matrix)):o.copy(l.position),A.makeTranslation(-o.x,-o.y,-o.z),e.makeRotationFromQuaternion(n),t.makeTranslation(o.x,o.y,o.z),i.identity(),i.multiply(t),i.multiply(e),i.multiply(A);var c=l.matrixAutoUpdate;l.matrixAutoUpdate=!1,l.applyMatrix4(i),l.matrixAutoUpdate=c,l.updateMatrixWorld(!0)}return i}}(),this._translateCurrentObject=function(){var A=new M;return function(e){var t;if(this.object instanceof Array)t=this.object;else{if(!(this.object instanceof H))return;t=[this.object]}A.makeTranslation(e.x,e.y,e.z);for(var i=0,o=t.length;o>i;i+=1){var n=t[i],r=n.matrixAutoUpdate;n.matrixAutoUpdate=!1,n.applyMatrix4(A),n.matrixAutoUpdate=r,n.updateMatrixWorld(!0)}return A}}()};Ep.prototype=Object.assign(Object.create(H.prototype),{constructor:Ep,isTransformControls:!0});var Bp=function(){H.call(this),this.type="TransformControlsGizmo";var A=new jA({depthTest:!1,depthWrite:!1,transparent:!0,side:2,fog:!1}),e=new ko({depthTest:!1,depthWrite:!1,transparent:!0,linewidth:1,fog:!1}),t=A.clone();t.opacity=.15;var i=A.clone();i.opacity=.33;var o=A.clone();o.color.set(16711680);var n=A.clone();n.color.set(65280);var r=A.clone();r.color.set(255);var a=A.clone();a.opacity=.25;var s=a.clone();s.color.set(16776960);var l=a.clone();l.color.set(65535);var c=a.clone();c.color.set(16711935),A.clone().color.set(16776960);var h=e.clone();h.color.set(16711680);var d=e.clone();d.color.set(65280);var p=e.clone();p.color.set(255);var g=e.clone();g.color.set(65535);var u=e.clone();u.color.set(16711935);var m=e.clone();m.color.set(16776960);var C=e.clone();C.color.set(7895160);var v=m.clone();v.opacity=.25;var I=new hr(0,.05,.2,12,1,!1),E=new Ne(.125,.125,.125),B=new he;B.setAttribute("position",new Ae([0,0,0,1,0,0],3));var x,S=function(A,e){for(var t=new he,i=[],o=0;64*e>=o;++o)i.push(0,Math.cos(o/32*Math.PI)*A,Math.sin(o/32*Math.PI)*A);return t.setAttribute("position",new Ae(i,3)),t},w={X:[[new Ue(I,o),[1,0,0],[0,0,-Math.PI/2],null,"fwd"],[new Ue(I,o),[1,0,0],[0,0,Math.PI/2],null,"bwd"],[new Go(B,h)]],Y:[[new Ue(I,n),[0,1,0],null,null,"fwd"],[new Ue(I,n),[0,1,0],[Math.PI,0,0],null,"bwd"],[new Go(B,d),null,[0,0,Math.PI/2]]],Z:[[new Ue(I,r),[0,0,1],[Math.PI/2,0,0],null,"fwd"],[new Ue(I,r),[0,0,1],[-Math.PI/2,0,0],null,"bwd"],[new Go(B,p),null,[0,-Math.PI/2,0]]],XYZ:[[new Ue(new dn(.1,0),a),[0,0,0],[0,0,0]]],XY:[[new Ue(new et(.295,.295),s),[.15,.15,0]],[new Go(B,m),[.18,.3,0],null,[.125,1,1]],[new Go(B,m),[.3,.18,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new Ue(new et(.295,.295),l),[0,.15,.15],[0,Math.PI/2,0]],[new Go(B,g),[0,.18,.3],[0,0,Math.PI/2],[.125,1,1]],[new Go(B,g),[0,.3,.18],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new Ue(new et(.295,.295),c),[.15,0,.15],[-Math.PI/2,0,0]],[new Go(B,u),[.18,0,.3],null,[.125,1,1]],[new Go(B,u),[.3,0,.18],[0,-Math.PI/2,0],[.125,1,1]]]},b={X:[[new Ue(new hr(.2,0,1,4,1,!1),t),[.6,0,0],[0,0,-Math.PI/2]]],Y:[[new Ue(new hr(.2,0,1,4,1,!1),t),[0,.6,0]]],Z:[[new Ue(new hr(.2,0,1,4,1,!1),t),[0,0,.6],[Math.PI/2,0,0]]],XYZ:[[new Ue(new dn(.2,0),t)]],XY:[[new Ue(new et(.4,.4),t),[.2,.2,0]]],YZ:[[new Ue(new et(.4,.4),t),[0,.2,.2],[0,Math.PI/2,0]]],XZ:[[new Ue(new et(.4,.4),t),[.2,0,.2],[-Math.PI/2,0,0]]]},U={START:[[new Ue(new dn(.01,2),i),null,null,null,"helper"]],END:[[new Ue(new dn(.01,2),i),null,null,null,"helper"]],DELTA:[[new Go((x=new he,x.setAttribute("position",new Ae([0,0,0,1,1,1],3)),x),i),null,null,null,"helper"]],X:[[new Go(B,i.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Go(B,i.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Go(B,i.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},K={X:[[new Go(S(1,.5),h)],[new Ue(new dn(.04,0),o),[0,0,.99],null,[1,3,1]]],Y:[[new Go(S(1,.5),d),null,[0,0,-Math.PI/2]],[new Ue(new dn(.04,0),n),[0,0,.99],null,[3,1,1]]],Z:[[new Go(S(1,.5),p),null,[0,Math.PI/2,0]],[new Ue(new dn(.04,0),r),[.99,0,0],null,[1,3,1]]],E:[[new Go(S(1.25,1),v),null,[0,Math.PI/2,0]],[new Ue(new hr(.03,0,.15,4,1,!1),v),[1.17,0,0],[0,0,-Math.PI/2],[1,1,.001]],[new Ue(new hr(.03,0,.15,4,1,!1),v),[-1.17,0,0],[0,0,Math.PI/2],[1,1,.001]],[new Ue(new hr(.03,0,.15,4,1,!1),v),[0,-1.17,0],[Math.PI,0,0],[1,1,.001]],[new Ue(new hr(.03,0,.15,4,1,!1),v),[0,1.17,0],[0,0,0],[1,1,.001]]],XYZE:[[new Go(S(1,1),C),null,[0,Math.PI/2,0]]]},Q={AXIS:[[new Go(B,i.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},R={X:[[new Ue(new En(1,.1,4,24),t),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new Ue(new En(1,.1,4,24),t),[0,0,0],[Math.PI/2,0,0]]],Z:[[new Ue(new En(1,.1,4,24),t),[0,0,0],[0,0,-Math.PI/2]]],E:[[new Ue(new En(1.25,.1,2,24),t)]],XYZE:[[new Ue(new er(.7,10,8),t)]]},T={X:[[new Ue(E,o),[.8,0,0],[0,0,-Math.PI/2]],[new Go(B,h),null,null,[.8,1,1]]],Y:[[new Ue(E,n),[0,.8,0]],[new Go(B,d),null,[0,0,Math.PI/2],[.8,1,1]]],Z:[[new Ue(E,r),[0,0,.8],[Math.PI/2,0,0]],[new Go(B,p),null,[0,-Math.PI/2,0],[.8,1,1]]],XY:[[new Ue(E,s),[.85,.85,0],null,[2,2,.2]],[new Go(B,m),[.855,.98,0],null,[.125,1,1]],[new Go(B,m),[.98,.855,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new Ue(E,l),[0,.85,.85],null,[.2,2,2]],[new Go(B,g),[0,.855,.98],[0,0,Math.PI/2],[.125,1,1]],[new Go(B,g),[0,.98,.855],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new Ue(E,c),[.85,0,.85],null,[2,.2,2]],[new Go(B,u),[.855,0,.98],null,[.125,1,1]],[new Go(B,u),[.98,0,.855],[0,-Math.PI/2,0],[.125,1,1]]],XYZX:[[new Ue(new Ne(.125,.125,.125),a),[1.1,0,0]]],XYZY:[[new Ue(new Ne(.125,.125,.125),a),[0,1.1,0]]],XYZZ:[[new Ue(new Ne(.125,.125,.125),a),[0,0,1.1]]]},k={X:[[new Ue(new hr(.2,0,.8,4,1,!1),t),[.5,0,0],[0,0,-Math.PI/2]]],Y:[[new Ue(new hr(.2,0,.8,4,1,!1),t),[0,.5,0]]],Z:[[new Ue(new hr(.2,0,.8,4,1,!1),t),[0,0,.5],[Math.PI/2,0,0]]],XY:[[new Ue(E,t),[.85,.85,0],null,[3,3,.2]]],YZ:[[new Ue(E,t),[0,.85,.85],null,[.2,3,3]]],XZ:[[new Ue(E,t),[.85,0,.85],null,[3,.2,3]]],XYZX:[[new Ue(new Ne(.2,.2,.2),t),[1.1,0,0]]],XYZY:[[new Ue(new Ne(.2,.2,.2),t),[0,1.1,0]]],XYZZ:[[new Ue(new Ne(.2,.2,.2),t),[0,0,1.1]]]},D={X:[[new Go(B,i.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Go(B,i.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Go(B,i.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},L=function(A){var e=new H;for(var t in A)for(var i=A[t].length;i--;){var o=A[t][i][0].clone(),n=A[t][i][1],r=A[t][i][2],a=A[t][i][3],s=A[t][i][4];o.name=t,o.tag=s,n&&o.position.set(n[0],n[1],n[2]),r&&o.rotation.set(r[0],r[1],r[2]),a&&o.scale.set(a[0],a[1],a[2]),o.updateMatrix();var l=o.geometry.clone();l.applyMatrix4(o.matrix),o.geometry=l,o.renderOrder=1/0,o.position.set(0,0,0),o.rotation.set(0,0,0),o.scale.set(1,1,1),e.add(o)}return e},N=new F,O=new y(0,1,0),V=new y(0,0,0),G=new M,P=new f,q=new f,j=new f,Y=new y(1,0,0),W=new y(0,1,0),J=new y(0,0,1);this.gizmo={},this.picker={},this.helper={},this.add(this.gizmo.translate=L(w)),this.add(this.gizmo.rotate=L(K)),this.add(this.gizmo.scale=L(T)),this.add(this.picker.translate=L(b)),this.add(this.picker.rotate=L(R)),this.add(this.picker.scale=L(k)),this.add(this.helper.translate=L(U)),this.add(this.helper.rotate=L(Q)),this.add(this.helper.scale=L(D)),this.picker.translate.visible=!1,this.picker.rotate.visible=!1,this.picker.scale.visible=!1,this.updateMatrixWorld=function(){var A=this.space;"scale"===this.mode&&(A="local");var e="local"===A?this.worldQuaternion:j;this.gizmo.translate.visible="translate"===this.mode,this.gizmo.rotate.visible="rotate"===this.mode,this.gizmo.scale.visible="scale"===this.mode,this.helper.translate.visible="translate"===this.mode,this.helper.rotate.visible="rotate"===this.mode,this.helper.scale.visible="scale"===this.mode;var t=[];t=(t=(t=t.concat(this.picker[this.mode].children)).concat(this.gizmo[this.mode].children)).concat(this.helper[this.mode].children);for(var i=this.boundingBox?this.boundingBox.makeEmpty():new aA,o=0;t.length>o;o++){var n=t[o];n.visible=!0,n.rotation.set(0,0,0),n.position.copy(this.worldPosition);var r=this.worldPosition.distanceTo(this.cameraPosition);if(n.scale.set(1,1,1).multiplyScalar(r*this.size/7),"helper"!==n.tag){if(n.quaternion.copy(e),"translate"===this.mode||"scale"===this.mode){"X"!==n.name&&"XYZX"!==n.name||Math.abs(O.copy(Y).applyQuaternion(e).dot(this.eye))>.99&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"Y"!==n.name&&"XYZY"!==n.name||Math.abs(O.copy(W).applyQuaternion(e).dot(this.eye))>.99&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"Z"!==n.name&&"XYZZ"!==n.name||Math.abs(O.copy(J).applyQuaternion(e).dot(this.eye))>.99&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"XY"===n.name&&.2>Math.abs(O.copy(J).applyQuaternion(e).dot(this.eye))&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"YZ"===n.name&&.2>Math.abs(O.copy(Y).applyQuaternion(e).dot(this.eye))&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),"XZ"===n.name&&.2>Math.abs(O.copy(W).applyQuaternion(e).dot(this.eye))&&(n.scale.set(1e-10,1e-10,1e-10),n.visible=!1),-1!==n.name.search("X")&&(0>O.copy(Y).applyQuaternion(e).dot(this.eye)?"fwd"===n.tag?n.visible=!1:n.scale.x*=-1:"bwd"===n.tag&&(n.visible=!1)),-1!==n.name.search("Y")&&(0>O.copy(W).applyQuaternion(e).dot(this.eye)?"fwd"===n.tag?n.visible=!1:n.scale.y*=-1:"bwd"===n.tag&&(n.visible=!1)),-1!==n.name.search("Z")&&(0>O.copy(J).applyQuaternion(e).dot(this.eye)?"fwd"===n.tag?n.visible=!1:n.scale.z*=-1:"bwd"===n.tag&&(n.visible=!1))}else"rotate"===this.mode&&(q.copy(e),O.copy(this.eye).applyQuaternion(P.copy(e).inverse()),-1!==n.name.search("E")&&n.quaternion.setFromRotationMatrix(G.lookAt(this.eye,V,W)),"X"===n.name&&(P.setFromAxisAngle(Y,Math.atan2(-O.y,O.z)),P.multiplyQuaternions(q,P),n.quaternion.copy(P)),"Y"===n.name&&(P.setFromAxisAngle(W,Math.atan2(O.x,O.z)),P.multiplyQuaternions(q,P),n.quaternion.copy(P)),"Z"===n.name&&(P.setFromAxisAngle(J,Math.atan2(O.y,O.x)),P.multiplyQuaternions(q,P),n.quaternion.copy(P)));n.visible=n.visible&&(-1===n.name.indexOf("X")||this.showX),n.visible=n.visible&&(-1===n.name.indexOf("Y")||this.showY),n.visible=n.visible&&(-1===n.name.indexOf("Z")||this.showZ),n.visible=n.visible&&(-1===n.name.indexOf("E")||this.showX&&this.showY&&this.showZ),n.material._opacity=n.material._opacity||n.material.opacity,n.material._color=n.material._color||n.material.color.clone(),n.material.color.copy(n.material._color),n.material.opacity=n.material._opacity,this.enabled?this.axis&&(n.name===this.axis||this.axis.split("").some((function(A){return n.name===A}))?(n.material.opacity=1,n.material.color.lerp(new LA(1,1,1),.5)):(n.material.opacity*=.25,n.material.color.lerp(new LA(1,1,1),.5))):(n.material.opacity*=.5,n.material.color.lerp(new LA(1,1,1),.5)),i.expandByObject(n)}else if(n.visible=!1,"AXIS"===n.name)n.position.copy(this.worldPositionStart),n.visible=!!this.axis,"X"===this.axis&&(P.setFromEuler(N.set(0,0,0)),n.quaternion.copy(e).multiply(P),Math.abs(O.copy(Y).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"Y"===this.axis&&(P.setFromEuler(N.set(0,0,Math.PI/2)),n.quaternion.copy(e).multiply(P),Math.abs(O.copy(W).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"Z"===this.axis&&(P.setFromEuler(N.set(0,Math.PI/2,0)),n.quaternion.copy(e).multiply(P),Math.abs(O.copy(J).applyQuaternion(e).dot(this.eye))>.9&&(n.visible=!1)),"XYZE"===this.axis&&(P.setFromEuler(N.set(0,Math.PI/2,0)),O.copy(this.rotationAxis),n.quaternion.setFromRotationMatrix(G.lookAt(V,O,W)),n.quaternion.multiply(P),n.visible=this.dragging),"E"===this.axis&&(n.visible=!1);else if("START"===n.name)n.position.copy(this.worldPositionStart),n.visible=this.dragging;else if("END"===n.name)n.position.copy(this.worldPosition),n.visible=this.dragging;else if("DELTA"===n.name){n.position.set(0,0,0),n.scale.set(1,1,1);var a=n.geometry.getAttribute("position");a.setXYZ(0,this.worldPositionStart.x,this.worldPositionStart.y,this.worldPositionStart.z),a.setXYZ(1,this.worldPosition.x,this.worldPosition.y,this.worldPosition.z),a.needsUpdate=!0,n.visible=this.dragging}else n.quaternion.copy(e),n.position.copy(this.dragging?this.worldPositionStart:this.worldPosition),this.axis&&(n.visible=-1!==this.axis.search(n.name))}this.boundingBox=i,H.prototype.updateMatrixWorld.call(this)},this.getBoundingBox=function(){return this.boundingBox||this.updateMatrixWorld(),this.boundingBox}};Bp.prototype=Object.assign(Object.create(H.prototype),{constructor:Bp,isTransformControlsGizmo:!0});var xp=function(){Ue.call(this,new et(4,4,2,2),new jA({visible:!1,wireframe:!0,side:2,transparent:!0,opacity:.1})),this.type="TransformControlsPlane";var A=new y(1,0,0),e=new y(0,1,0),t=new y(0,0,1),i=new y,o=new y,n=new y,r=new M,a=new f;this.updateMatrixWorld=function(){var s=this.space;switch(this.position.copy(this.worldPosition),"scale"===this.mode&&(s="local"),A.set(1,0,0).applyQuaternion("local"===s?this.worldQuaternion:a),e.set(0,1,0).applyQuaternion("local"===s?this.worldQuaternion:a),t.set(0,0,1).applyQuaternion("local"===s?this.worldQuaternion:a),n.copy(e),this.mode){case"translate":case"scale":switch(this.axis){case"X":n.copy(this.eye).cross(A),o.copy(A).cross(n);break;case"Y":n.copy(this.eye).cross(e),o.copy(e).cross(n);break;case"Z":n.copy(this.eye).cross(t),o.copy(t).cross(n);break;case"XY":o.copy(t);break;case"YZ":o.copy(A);break;case"XZ":n.copy(t),o.copy(e);break;case"XYZ":case"E":o.set(0,0,0)}break;case"rotate":default:o.set(0,0,0)}0===o.length()?this.quaternion.copy(this.cameraQuaternion):(r.lookAt(i.set(0,0,0),o,n),this.quaternion.setFromRotationMatrix(r));var l=this.worldPosition.distanceTo(this.cameraPosition);this.scale.set(1,1,1).multiplyScalar(l*this.size/7),H.prototype.updateMatrixWorld.call(this)}};xp.prototype=Object.assign(Object.create(Ue.prototype),{constructor:xp,isTransformControlsPlane:!0});var Sp=function(A){yp.call(this,Pc.CLIP_FILL),this.viewer=A,this.scene=A.getScene(),this.enablePick=!1,this.rotX=!0,this.onClipPlane=!1,this.cameraControl=A.cameraControl,this.startPt=new s,this.endPt=new s,this.frustum=new Ze,this.modelManager=this.cameraControl.viewer.modelManager;var e=this.scene.getFillClipPlane();e.updateClippingParams=function(e){if(0===e.iClipPlane.value)A.getRenderer().clippingPlanes=Object.freeze([]);else{var t=[new EA],i=e.vClipPlane.value[0],o=t[0];o.setComponents(-i.x,-i.y,-i.z,-i.w),o.normalize(),A.getRenderer().clippingPlanes=t,this.renderClipPlane=new EA,this.renderClipPlane.setComponents(i.x,i.y,i.z,-i.w),this.renderClipPlane.normalize(),this.calculateFillClipBoundingBox(o.coplanarPoint(new y))}},e.init(),this.planeDistance=0,this.offsetSpeed=.02,this.toggle=function(A,t){e.enable(A,t),e.update()},this.visible=function(A){e.visible=A,e.update()},this.rotatable=function(A){e.rotatable=A,e.update()},this.hit=function(){return e.hit},this.pointToScreen=function(A){var e=this.cameraControl.camera,t=new M;t.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse);var i=new p(A.x,A.y,A.z,1);i.applyMatrix4(t);var o=new s;o.x=(i.x/i.w+1)/2,o.y=1-(i.y/i.w+1)/2;var n=this.cameraControl.getContainerDimensions();return o.x=o.x*n.width+n.left,o.y=o.y*n.height+n.top,o},this.getPlaneDistanceInScreen=function(){if(null===this.selectIndex)return null;if(2>this.selectIndex){var A=e.clipPlanes.center.clone(),t=e.clipPlanes.center.clone();A.x-=e.clipPlanes.cubeSize.x,t.x+=e.clipPlanes.cubeSize.x;var i=this.pointToScreen(A),o=this.pointToScreen(t);return i.x-o.x}var n=e.clipPlanes.center.clone(),r=e.clipPlanes.center.clone();r.y-=e.clipPlanes.cubeSize.y,n.y+=e.clipPlanes.cubeSize.y;var a=this.pointToScreen(r),s=this.pointToScreen(n);return a.y-s.y},this.getPickPoint=function(A,e){var t=this.cameraControl.camera,i=this.cameraControl.getContainerDimensions(),o=(A-i.left)/i.width*2-1,n=(i.height-(e-i.top))/i.height*2-1,r=new Dd;return r.setFromCamera(new s(o,n),t),r.ray.intersectPlane(this.plane)},this._isVisible=function(){return e.visible},this.isRotate=function(){return e.rotatable},this.offset=function(A){e.offset(A)},this.setOffset=function(A){e.setOffset(A)},this.rotate=function(A,t){this.rotX?e.rotX(t/180*Math.PI*.1):e.rotY(A/180*Math.PI*.1)},this.rotateAngleOffset=function(A,t){e.rotateAngleOffset(A,t)},this.setRotateAngle=function(A,t){e.setRotateAngle(A,t)},this.getRotateAngle=function(){return e.getRotateAngle()},this.changeNormal=function(A){e.changeNormal(A)},this.update=function(A){e.update(A)},this.cancelHighLight=function(){e.cancelHighLight()},this.highLight=function(){e.highLight()},this.store=function(){return e.store()},this.restore=function(A){e.restore(A)},this.setProcess=function(A){e.setProcess(A)},this.getProcess=function(){return e.getProcess()}};(Sp.prototype=Object.create(yp.prototype)).constructor=Sp,Sp.prototype.destroy=function(){this.cameraControl=null,this.normal=null,this.plane=null,this.pickHelper=null,this.scene=null,this.viewer=null},Sp.prototype.onExit=function(){this.toggle(!1,!1)},Sp.prototype.processMouseDown=function(A){if(this.startPt.set(A.clientX,A.clientY),!this.enablePick&&A.button===t.LEFT){var e=this.cameraControl.getRaycaster(A.clientX,A.clientY);if(this.scene.getFillClipPlane().hitTest(e),this.hit())return this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),!0}return yp.prototype.processMouseDown(this,A)},Sp.prototype.processMouseUp=function(A){this.planeDistance=0;var e=!1;if(this.enablePick&&A.button===t.LEFT)if(this.startPt.x===A.clientX&&this.startPt.y===A.clientY)this.pickHelper.click(A);else if(A.shiftKey||A.ctrlKey||A.altKey){this.endPt.set(A.clientX,A.clientY);var i=Kc.Clear;A.ctrlKey?i=Kc.Add:A.altKey&&(i=Kc.Remove);var o=this;this.scene.pickByRect(this.frustum,i,(function(){o.pickHelper.notifySelectionChanged(null,0,A)})),this.cameraControl.updateView(!0),e=!0}var n=this.cameraControl.getRaycaster(A.clientX,A.clientY);return this.scene.getFillClipPlane().hitTest(n),this.hit()?(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane||(this.onClipPlane=!0,this.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipPlane:!0,event:A})),e=!0):(this.cancelHighLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane&&(this.onClipPlane=!1,this.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipPlane:!1,event:A}))),e},Sp.prototype.processMouseMove=function(A){return this.modelManager.dispatchEvent({type:Rc.ON_CLIP_MOUSE_MOVE,event:A}),yp.prototype.processMouseMove(this,A)},Sp.prototype.processTouchstart=function(A){if(this.startPt.set(A.touches[0].clientX,A.touches[0].clientY),!this.enablePick){var e=this.cameraControl.getRaycaster(A.touches[0].clientX,A.touches[0].clientY);this.scene.getFillClipPlane().hitTest(e)}return this.hit()?(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),!0):yp.prototype.processTouchstart(this,A)},Sp.prototype.processTouchmove=function(A){if(this.hit()){if(this.isRotate())this.rotate(A.touches[0].clientX-this.startPt.x,A.touches[0].clientY-this.startPt.y),this.startPt.set(A.touches[0].clientX,A.touches[0].clientY);else{this.offset(Number(A.touches[0].clientX-this.startPt.x)),this.startPt.set(A.touches[0].clientX,A.touches[0].clientY)}return this.cameraControl.update(!0),!0}return yp.prototype.processTouchmove(this,A)},Sp.prototype.processTouchend=function(A){return this.enablePick&&(this.onUpdateUI({visible:!1}),this.startPt.x===A.touches[0].clientX&&this.startPt.y===A.touches[0].clientY&&this.pickHelper.click(A)),this.cameraControl.needUpdateRenderList(!0),this.cancelHighLight(),this.cameraControl.update(!0),yp.prototype.processTouchmove(this,A)},Sp.prototype.processHover=function(A){if(!this.enablePick){var e=!1,t=this.cameraControl.getRaycaster(A.clientX,A.clientY);return this.scene.getFillClipPlane().hitTest(t),this.hit()?(this.onClipPlane||(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane=!0,this.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipPlane:!0,event:A})),e=!0):this.onClipPlane?(this.cancelHighLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane=!1,this.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipPlane:!1,event:A})):this.modelManager.dispatchEvent({type:Rc.ON_CLIP_HOVER,onClipPlane:!1,event:A}),e}return yp.prototype.processHover(this,A)};var wp=function(){this.vertexIndex=new Array(2),this.faceIndex=new Array(2)},Mp=function(A,e){var t=A.length/3,i=new Array(t),o=new Array(t);function n(A,e){var t=i[A],o=i[e];return t.x!==o.x?t.x-o.x:t.y!==o.y?t.y-o.y:t.z-o.z}for(var r=0;t>r;r+=1)i[r]=new y(A[3*r],A[3*r+1],A[3*r+2]),o[r]=r;o.sort((function(A,e){var t=n(A,e);return 0===t?A-e:t}));var a={},s=o[0];for(r=1;t>r;r+=1)0===n(s,o[r])?a[o[r]]=s:s=o[r];var l=new Array(e.length);for(r=0;e.length>r;r+=1)l[r]=a.hasOwnProperty(e[r])?a[e[r]]:e[r];return l},bp=function(A,e){function t(A,e){return A-e}var i=Mp(A,e);i.sort(t);var o=[],n=i[0];o.push(n);for(var r=1;i.length>r;r+=1)i[r]!==n&&o.push(n=i[r]);return o.sort(t)},Up=function(A,e,t){t=void 0===t?Math.PI/4:t;var i=Mp(A,e),o=i.length,n=A.length/3,r=new Array(n+o),a=n,s=i.length/3;parseInt(s,0)!==s&&(Bh.error("triangleCount 不是整数"),s=parseInt(s,0));for(var l=0;n>l;l+=1)r[l]=-1;var c=new Array(o),h=0;for(l=0;s>l;l+=1)for(var d=i[3*l+2],p=0;3>p;p+=1){var g=!1,u=i[3*l+p];if(d>u){g=!0;var f=d;d=u,u=f}var m=new wp;m.vertexIndex[0]=d,m.vertexIndex[1]=u,m.faceIndex[0]=l,m.faceIndex[1]=l;var C=r[d];if(-1===C)r[d]=h,c[h]=m,r[a+h]=-1,h+=1;else for(;;){if((E=c[C]).vertexIndex[1]===u){E.faceIndex[1]=l;break}var v=r[a+C];if(-1===v){r[a+C]=h,c[h]=m,r[a+h]=-1,h+=1;break}C=v}g||(d=u)}var I=[];for(l=0;h>l;l+=1){var E;if((E=c[l]).faceIndex[0]===E.faceIndex[1])I.push(E.vertexIndex[0]),I.push(E.vertexIndex[1]);else{var B=E.faceIndex[0],x=i[3*B],S=i[3*B+1],w=i[3*B+2],M=new y(A[3*x],A[3*x+1],A[3*x+2]),b=new y(A[3*S],A[3*S+1],A[3*S+2]),U=new y(A[3*w],A[3*w+1],A[3*w+2]),F=M.sub(b),K=b.sub(U),Q=F.cross(K);Q.normalize();var R=E.faceIndex[1];S=i[3*R+1],w=i[3*R+2],M=new y(A[3*(x=i[3*R])],A[3*x+1],A[3*x+2]),b=new y(A[3*S],A[3*S+1],A[3*S+2]),U=new y(A[3*w],A[3*w+1],A[3*w+2]),F=M.sub(b),K=b.sub(U);var T=F.cross(K);T.normalize(),Math.abs(Q.dot(T))<t&&(I.push(E.vertexIndex[0]),I.push(E.vertexIndex[1]))}}return I},Fp=function(A,e,t,i,o){for(var n=t.length/3,r=[],a=0;n>a;a+=1){var s=t[3*a],l=new y(e[3*s],e[3*s+1],e[3*s+2]),c=l.dot(o);if(.001>Math.abs(c-1)){var h=-new y(A[3*s],A[3*s+1],A[3*s+2]).dot(l),d=Math.abs(i.dot(l)+h);3>Math.abs(d)&&r.push(t[3*a],t[3*a+1],t[3*a+2])}}return r},Kp=new y,Qp=new y,Rp=new y,Tp=new y,kp=function(A){this.cameraControl=A,this.scene=A.scene,this.timerId=null,this.lastIntersected=null,this.edgeDataMap=null};kp.prototype={constructor:kp,destroy:function(){this.cameraControl=null,this.scene=null,this.lastIntersected=null,this.timerId&&(clearTimeout(this.timerId),this.timerId=null)},click:function(A,e){var i=this;function o(){e&&!1===e.pickable&&(e=null),i.handleMousePick(A,!1,e)}A.button!==t.RIGHT?(this.timerId&&clearTimeout(this.timerId),this.timerId=setTimeout(o,500)):o()},doubleClick:function(A){A.preventDefault(),this.timerId&&clearTimeout(this.timerId),this.handleMousePick(A,!0,null)},handleMousePick:function(A,e,i){var o=this.cameraControl,n=o.viewer.modelManager.sceneState,r=new s(A.clientX,A.clientY),a=o.screenToCanvas(A.clientX,A.clientY),l=o.viewer.modelManager;function c(t,i){var o=null;if(t&&t.objectType===Qc.Room){var n=t.face.contourIndex,r=t.object.geometry.contour;o=n?{startPoint:r[n.st],endPoint:r[n.ed]}:null}l.dispatchEvent({type:Rc.ON_CLICK_PICK,event:A,doubleClick:e,canvasPos:{x:a.x,y:a.y},intersectInfo:t?{selectedObjectId:t.userId,modelKey:t.modelKey,objectType:t.objectType,selectable:i,worldPosition:t.worldPosition,worldBoundingBox:t.worldBoundingBox,point:t.point,index:t.index,innnerDebugging:t.innnerDebugging,object:t.object,normal:t.face?t.face.normal:null,boundaryPoints:o}:null})}var h=null;if(A.button!==t.RIGHT){if(i)i.pickable&&(h=i.intersect);else{var d=o.getIntersectContext(r);h=o.intersector.pick(d,null)}if(!h){var p=n.getSelection();if(A.ctrlKey)return;return p.length>0&&(n.clearSelection(),o.updateView(!0)),this.setSelectedIdsForOutline(n.getSelection()),void(i&&!i.pickable?((h=i.intersect).cx=r.x,h.cy=r.y,c(h,!1)):c(null))}var g=h.userId;if(mh.isMobileDevice()&&(o.pivot=h.point),this.scene.intersectToWorld(h,o.viewer),h.innnerDebugging=A.altKey,h.cx=r.x,h.cy=r.y,this.lastPickedUserId=g,h.face&&h.face.normal){var u=h.face.normal;for(var f in u)u[f]=u[f]===-u[f]?Math.abs(u[f]):u[f]}if(A.button!==t.RIGHT)if(e)vc.EnableDemolishByDClick?(n.setSelection([g]),c(h,!0),o.updateView(!0)):(n.setSelection([g]),o.fitAndRotateBySelection(),c(h,!0));else{var m=n.getSelection();if(!!vc.MultipleSelectComponents&&A.ctrlKey){var C=m.indexOf(g);-1===C?n.addSelection([g]):(m.splice(C,1),n.setSelection(m))}else-1===m.indexOf(g)?n.setSelection([g]):n.clearSelection();this.setSelectedIdsForOutline(n.getSelection()),c(h,!0),o.updateView(!0)}else c(h,!1)}else c(h,!1)},handleShiftMeasure:function(A,e,t){var i=null,o=this.cameraControl,n=new s(A.clientX,A.clientY),r=o.getIntersectContext(n);function a(t,n,r,a,s,l){var c=o.viewer.modelManager;if(null!==t){var h=o.scene.drawingToWorld(t);t.copy(h)}if(null!==r){var d=o.scene.drawingToWorld(r[0]),p=o.scene.drawingToWorld(r[1]);r[0].copy(d),r[1].copy(p)}c.dispatchEvent(i={type:Rc.ON_MEASURE_PICK,event:A,pick:e,pickPoint:t,isAbsorbPoint:n,pickLine:r,pickPlane:a,userId:s,measureUnit:l})}return o.intersector.pick(r,(function(A){if(A){var i="",n=A.object.modelKey;if(n){var r=o.viewer.modelManager.getModel(n);r&&r.originalLengthUnit&&(i=r.originalLengthUnit)}var s=new y;s.subVectors(A.point,t),s.normalize();var l=new y(1,0,0),c=new y(0,1,0),h=new y(0,0,1),d=l.dot(s),p=c.dot(s),g=h.dot(s),u=new y;u.copy(t);.707>Math.abs(p)?Math.abs(g)<Math.abs(d)?u.x=A.point.x:u.z=A.point.z:u.y=A.point.y,e&&t.copy(u),a(u,!1,null,!1,A.userId,i)}else a(null,!1,null,!1)})),i},handleMouseMeasure:function(A,e,t,i){var o=null,n=this.cameraControl,r=n.scene,a=i||Rc.ON_MEASURE_PICK,s=this.pickToPoint({x:A.clientX,y:A.clientY},5);function l(t,i,r,s,l,c,h){var d=n.viewer.modelManager;if(null!==t){var p=n.scene.drawingToWorld(t);t.copy(p)}if(null!==r){var g=n.scene.drawingToWorld(r[0]),u=n.scene.drawingToWorld(r[1]);r[0].copy(g),r[1].copy(u)}(s||e||r||t)&&d.dispatchEvent(o={type:a,event:A,pick:e,pickPoint:t,isAbsorbPoint:i,pickLine:r,pickPlane:s,normal:l,userId:c,measureUnit:h})}return null!==s?(e&&t.copy(s.pickPoint),l(s.pickPoint,s.isAbsorbPoint,s.pickLine,s.pickPlane,s.face.normal,s.userId,s.measureUnit)):(r.hasGroup(gp.MEASUREPICKPLANE)&&r.removeGroupByName(gp.MEASUREPICKPLANE),l(null,!1,null,!1)),o},handleMouseHover:function(A){var e=this,t=this.cameraControl,i=t.viewer.modelManager.sceneState;if(function(){if(!1===e.scene.hasGroup(gp.AXISGRIDMANAGER))return!1;var A=e.scene.getAxisGridManager();return 0!==A.getElements().length&&!1!==A.getIsEnableHover()}()){var o=this.scene.getMatrixGlobal(),n=new s(A.clientX,A.clientY),r=t.getRaycaster(n.x,n.y),a=this.scene.getAxisGridManager(),l=a.getIntersectPoints(r,o),c=a.snapOnFloors(l);t.viewer.modelManager.dispatchEvent({type:Rc.ON_AXIS_GRID_HOVER,snaps:c})}if(vc.Hover){var h=t.screenToCanvas(A.clientX,A.clientY),d=new s(A.clientX,A.clientY),p=t.getIntersectContext(d);t.intersector.pick(p,(function(A){function o(A){switch(A.objectType){case Qc.Marker3d:A.object.setAttributeSize(A.index,A.currentSize);break;default:i.clearHover()}}if(A){var n=vc.Hover||A.hoverEnabled;e.lastIntersected&&(e.lastIntersected.userId!==A.userId&&o(e.lastIntersected),e.lastIntersected.hoverEnabled&&g(null)),n?(e.lastIntersected&&e.lastIntersected.userId===A.userId||(!function(A){switch(A.objectType){case Qc.Marker3d:var e=A.object;A.currentSize=e.getAttributeSize(A.index),e.setAttributeSize(A.index,Math.floor(1.5*A.currentSize));break;default:i.setHoverId(vc.EnableRenderPass?A.object.originalId:A.userId)}}(A),e.lastIntersected=A),g(A,!0)):e.lastIntersected=A,t.updateHighlight()}else e.lastIntersected&&(o(e.lastIntersected),e.lastIntersected=null,g(null),t.updateHighlight())}))}function g(i,o){var n=t.viewer.modelManager;null!==i&&e.scene.intersectToWorld(i,t.viewer),n.dispatchEvent({type:Rc.ON_HOVER_PICK,event:A,canvasPos:{x:h.x,y:h.y},intersectInfo:i?{selectedObjectId:i.userId,objectType:i.objectType,selectable:o,modelKey:i.modelKey,worldPosition:i.worldPosition,worldBoundingBox:i.worldBoundingBox,point:i.point,innnerDebugging:i.innnerDebugging,object:i.object}:null})}},_canPick:function(){return this.cameraControl.viewer.modelManager.hasModelDataReady()},setSelectedIdsForOutline:function(A){this.cameraControl.viewer.rendererManager.composer&&this.cameraControl.viewer.rendererManager.composer.setSelectedIds(A)},pickToPoint:function(A,e){var t=0;t=void 0===e?25:e*e;var i=this.cameraControl,o=i.scene,n=new s(A.x,A.y),r=i.getIntersectContext(n),a=i.intersector.pick(r);if(a){var l="",c=a.object.modelKey,h=null;c&&(h=i.viewer.modelManager.getModel(c))&&h.originalLengthUnit&&(l=h.originalLengthUnit);var d=a.point,p=a.object.geometry,g=((new M).extractRotation(a.object.matrix.clone()),a.object.matrixWorld.clone()),u=i.camera.projScreenMatrix,f=r.mouse,m=r.viewportSize,C=null;if(null!=a.indexInfo&&(C=a.indexInfo),!p.attributes&&!p._bufferGeometry)return null;var v=p.attributes?p:p._bufferGeometry;if(!v.index||void 0===v.attributes.normal)return null;var I=v.attributes.position.array,E=v.attributes.normal.array,B=[];C||h&&h.merged&&g.multiply(a.matrix);var x=1/0,S=(A=new y,[]),w=new y,b=new y,U=w.set(I[3*a.face.a],I[3*a.face.a+1],I[3*a.face.a+2]);U.applyMatrix4(g);var F=b.copy(U);F.applyMatrix4(u);var K=.5*(F.x-f.x)*m.width,Q=.5*(F.y-f.y)*m.height,R=K*K+Q*Q;x>R&&(x=R,A.copy(U)),(U=w.set(I[3*a.face.b],I[3*a.face.b+1],I[3*a.face.b+2])).applyMatrix4(g),(F=b.copy(U)).applyMatrix4(u),x>(R=(K=.5*(F.x-f.x)*m.width)*K+(Q=.5*(F.y-f.y)*m.height)*Q)&&(x=R,A.copy(U)),(U=w.set(I[3*a.face.c],I[3*a.face.c+1],I[3*a.face.c+2])).applyMatrix4(g),(F=b.copy(U)).applyMatrix4(u),x>(R=(K=.5*(F.x-f.x)*m.width)*K+(Q=.5*(F.y-f.y)*m.height)*Q)&&(x=R,A.copy(U));var T=d.clone(),k=!1,D=null,L=!1;if(t>x)o.hasGroup(gp.MEASUREPICKPLANE)&&o.removeGroupByName(gp.MEASUREPICKPLANE),T=A.clone(),k=!0;else{x=1/0;var N=new y,O=new y;A=new y;var V,G=this._getEegeData(a);if(!G)return Bh.error("no edge data"),null;S=G.positionsArray,V=G.edgeIndex;for(var P=0;V.length>P;P+=2){Rp.set(S[3*V[P]],S[3*V[P]+1],S[3*V[P]+2]),Rp.applyMatrix4(g),Tp.set(S[3*V[P+1]],S[3*V[P+1]+1],S[3*V[P+1]+2]),Tp.applyMatrix4(g);var q=this._pointToLine(Rp,Tp,d);(F=q.clone()).applyMatrix4(u),x>(R=(K=.5*(F.x-f.x)*m.width)*K+(Q=.5*(F.y-f.y)*m.height)*Q)&&(x=R,N.copy(Rp),O.copy(Tp),A.copy(q))}if(S=null,t>x)o.hasGroup(gp.MEASUREPICKPLANE)&&o.removeGroupByName(gp.MEASUREPICKPLANE),(D=[]).push(N),D.push(O),T=A.clone();else{if(vc.MeasureHighlightPlane){B=v.index.array;var j=new M;j.getInverse(g);var H=new y(d.x,d.y,d.z);H.applyMatrix4(j);var Y=Fp(I,E,B,H,a.face.normal),W=new he;W.setIndex(Y),W.setAttribute("position",p.attributes.position,3),W.setAttribute("normal",p.attributes.normal,3);var J=Up(I,Y),z=new he;z.setIndex(J),z.setAttribute("position",p.attributes.position,3),o.hasGroup(gp.MEASUREPICKPLANE)&&o.removeGroupByName(gp.MEASUREPICKPLANE);var Z=o.getOrCreateGroup(gp.MEASUREPICKPLANE,{priority:1,globalSpace:!0}),X=new Ue(W,new jA({color:1170103,opacity:.1,transparent:!0}));X.applyMatrix4(a.object.matrix),Z.add(X);var _=new jo(z,new ko({color:1170103}));_.applyMatrix4(a.object.matrix),Z.add(_),Z.updateMatrixWorld(!0),i.updateHighlight()}L=!0}}var $={};return $.pickPoint=T,$.isAbsorbPoint=k,$.measureUnit=l,$.pickLine=D,$.pickPlane=L,$.face=a.face,$.userId=a.userId,$}return null},_getEegeData:function(A){var e=A.object.geometry;this.edgeDataMap||(this.edgeDataMap={});var t=null;null!=A.indexInfo&&(t=A.indexInfo);var i=e.attributes?e:e._bufferGeometry,o=A.nodeId||A.userId;return this.edgeDataMap[i.id]?this.edgeDataMap[i.id].version!==i.attributes.position.version?(delete this.edgeDataMap[i.id].data,this.edgeDataMap[i.id].data[o]=this._getPositionArrayAndEdgeIndex(i,t)):this.edgeDataMap[i.id].data[o]||(this.edgeDataMap[i.id].data[o]=this._getPositionArrayAndEdgeIndex(i,t)):(this.edgeDataMap[i.id]={},this.edgeDataMap[i.id].version=i.attributes.position.version,this.edgeDataMap[i.id].data={},this.edgeDataMap[i.id].data[o]=this._getPositionArrayAndEdgeIndex(i,t)),this.edgeDataMap[i.id].data[o]},_getPositionArrayAndEdgeIndex:function(A,e){var t=[],i=0,o=0,n=[],r=[],a=A.attributes.position.array,s=[];if(e){e.positionStart/3;for(var l=uh.getMin((t=A.index.array).slice(i=e.indexStart,o=e.indexStart+e.indexCount)),c=i;o>c;c+=1)r.push(t[c]-l);n=a.slice(e.positionStart,e.positionStart+e.positionCount),s=Up(n,r)}else o=(t=bp(A.attributes.position.array,A.index.array)).length,n=a,s=Up(A.attributes.position.array,A.index.array);return{positionsArray:n,edgeIndex:s}},_pointToLine:function(A,e,t){Kp.subVectors(e,A),Qp.subVectors(t,A);var i=Kp.dot(Qp);if(0>i)return A;var o=Kp.dot(Kp);if(i>o)return e;i/=o;var n=A.clone();return n.addScaledVector(Kp,i),n}};var Dp="http://www.w3.org/2000/svg",Lp=function(){var A=document.createElementNS(Dp,"svg"),e=function(A,e,t,i){var o=document.createElementNS(Dp,"defs"),n=document.createElementNS(Dp,"filter");n.id=A,n.setAttributeNS(null,"x","-30%"),n.setAttributeNS(null,"y","-30%"),n.setAttributeNS(null,"width","200%"),n.setAttributeNS(null,"height","200%");var r=document.createElementNS(Dp,"feGaussianBlur");r.setAttributeNS(null,"in","SourceAlpha"),r.setAttributeNS(null,"stdDeviation","4");var a=document.createElementNS(Dp,"feOffset");a.setAttributeNS(null,"result","offsetblur");var s=document.createElementNS(Dp,"feMerge"),l=document.createElementNS(Dp,"feMergeNode"),c=document.createElementNS(Dp,"feMergeNode");return c.setAttributeNS(null,"in","SourceGraphic"),s.appendChild(l),s.appendChild(c),n.appendChild(r),n.appendChild(a),n.appendChild(s),o.appendChild(n),o}("drop-shadow");return A.appendChild(e),A},Np=function(){return document.createElementNS(Dp,"line")},Op=function(){return document.createElementNS(Dp,"path")},Vp=function(A){var e=document.createElementNS(Dp,"circle");return e.setAttributeNS(null,"r",A||0),e.setAttributeNS(null,"fill","none"),e},Gp=function(){return document.createElementNS(Dp,"text")},Pp=function(){return document.createElementNS(Dp,"g")},qp=function(A,e){var t=Math.pow(A[0]-e[0],2),i=Math.pow(A[1]-e[1],2),o=0;return 3===A.length&&3===e.length&&(o=Math.pow(A[2]-e[2],2)),Math.sqrt(t+i+o)},jp=function(A){var e=Math.pow(A[0],2),t=Math.pow(A[1],2),i=0;A.length>2&&(i=Math.pow(A[2],2));var o=Math.sqrt(e+t+i),n=[A[0]/o,A[1]/o];return A.length>2&&n.push(A[2]/o),n},Hp=function(A,e){var t=0;return A.length>2&&e.length>2&&(t=A[2]*e[2]),A[0]*e[0]+A[1]*e[1]+t},Yp=function(A,e){var t=A[0],i=A[1],o=A[2],n=e[0],r=e[1],a=e[2];return[i*a-o*r,o*n-t*a,t*r-i*n]},Wp=function(A){return"mm"===A?1:"cm"===A?10:"m"===A?1e3:1},Jp=function(A,e,t,i){var o=Wp(A);2===i?o*=o:3===i&&(o*=o*o);var n=Wp(e);return 2===i?n*=n:3===i&&(n*=n*n),t*o/n},zp=function(A,e){return!(e.x>A.x+A.width||A.x>e.x+e.width||e.y>A.y+A.height||A.y>e.y+e.height)},Zp=function(){return"undefined"!=typeof window&&"ontouchstart"in window},Xp=function(A){this.svg=A,this.maxPointsNeed=0,this.pickedPoints=[],this.svgGroup=Pp(),this.svg.appendChild(this.svgGroup),this.unitOfModel=void 0,this.unitOnUI=void 0,this.precision=3,this.adjustOption=void 0,this.is3DMode=!1,this.isSelected=!1,this.onclickCallback=void 0};Xp.prototype.addPickedPoint=function(A,e,t){return!this.isDone()&&(!!A&&(this.pickedPoints.push(A),e&&(this.unitOfModel=this.unitOfModel&&this.unitOfModel!==e?void 0:e),!0))},Xp.prototype.getAllPickedPoint=function(){return this.pickedPoints},Xp.prototype.draw=function(A,e){},Xp.prototype.adjustWithOption=function(A){this.adjustOption=A,A&&this.updateTexts()},Xp.prototype.unAdjustWithOption=function(A){this.adjustOption=void 0,this.updateTexts()},Xp.prototype.changeUnit=function(A){A&&(this.unitOnUI=A,this.updateTexts())},Xp.prototype.changePrecision=function(A){this.precision=A,A&&this.updateTexts()},Xp.prototype.updateTexts=function(){},Xp.prototype.isVisible=function(){return!!(this.svg&&this.svgGroup&&this.svgGroup.parentNode)},Xp.prototype.remove=function(){this.svg&&this.svgGroup&&this.svgGroup.parentNode&&(this.svg.removeChild(this.svgGroup),this.onclickCallback=void 0)},Xp.prototype.add=function(){this.svg&&this.svgGroup&&this.svg.appendChild(this.svgGroup)},Xp.prototype.isDone=function(){return this.pickedPoints.length===this.maxPointsNeed},Xp.prototype.setClickCallback=function(A){this.onclickCallback=A},Xp.prototype.measureResult=function(){},Xp.prototype.createCircle=function(){var A=Vp(5);return A.setAttributeNS(null,"fill","#ff9800"),A.setAttributeNS(null,"stroke","#ffffff"),A.setAttributeNS(null,"stroke-width",2),A.style.display="none",A},Xp.prototype.createLine=function(){var A=Np();return A.setAttributeNS(null,"stroke-width",2),A.setAttributeNS(null,"stroke","#ffff00"),A.style.display="none",A},Xp.prototype.createText=function(){var A=Gp();return A.style.fontSize="14",A.style.display="none",A.style.textAnchor="middle",A.setAttributeNS(null,"fill","#ffffff"),A},Xp.prototype.createPath=function(){var A=Op();return A.style.display="none",A.setAttributeNS(null,"fill","none"),A.setAttributeNS(null,"stroke","#0aea06"),A},Xp.prototype.resultToDisplayOfLength=function(A){var e=A,t=this.unitOfModel;return this.adjustOption&&(e=this.adjustOption.adjustLength(A),t=this.adjustOption.unit),this.unitOnUI&&(t&&(e=Jp(t,this.unitOnUI,e,0)),t=this.unitOnUI),t||(t=""),e=e.toFixed(this.precision),{value:Number(e),unit:t,text:e+t}},Xp.prototype.setSelected=function(A){return this.isSelected!==A&&(this.isSelected=A,!0)};var _p=function(){this.group=Pp(),this.group.style.display="none";var A=Op();this.textBackground=A,this.group.appendChild(A),A=Op(),this.prefixTextBackground=A,this.prefixTextBackground.style.display="none",this.group.appendChild(A);var e=Gp();e.style.fontSize="12",e.style.textAnchor="middle",e.style.dominantBaseline="central",e.style.cursor="default",e.setAttributeNS(null,"fill","#ffffff"),this.group.appendChild(e),this.text=e,(e=Gp()).style.fontSize="12",e.style.textAnchor="middle",e.style.dominantBaseline="central",e.style.display="none",e.setAttributeNS(null,"fill","#ffffff"),this.group.appendChild(e),this.prefixText=e,this.textColor="#ffffff",this.prefixTextColor="#ffffff",this.textBackgroundColor="#ffffff",this.prefixTextBackgroundColor="blue",this.textContent=void 0,this.prefixTextContent=void 0,this.textPosition={x:0,y:0},this.isShowShadow=!1,this.onclickCallback=void 0,this._onMouseDown=this._onMouseDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this)};_p.prototype.draw=function(A){if(this.textContent&&this.textContent.length){this.group.style.display="",this.text.textContent=this.textContent;var e=null;this.prefixTextContent?(this.prefixText.textContent=this.prefixTextContent,this.prefixText.style.display="",e=this.prefixText.getBBox()):(this.prefixText.style.display="none",e={width:0,height:0});var t=this.text.getBBox(),i=5+t.width+5;this.prefixTextContent&&this.prefixTextContent.length>0&&(i=i+5+e.width+5),A&&(i=Math.max(A,i));var o=this.textPosition.x-i/2,n=this.textPosition.y-(5+t.height+5)/2,r=function(A,e,t,i,o){return"M"+A+","+(e+o)+"a"+o+","+o+" 0 0 1 "+o+","+-o+"h"+(t-2*o)+"a"+o+","+o+" 0 0 1 "+o+","+o+"v"+(i-2*o)+"a"+o+","+o+" 0 0 1 "+-o+","+o+"h"+(2*o-t)+"a"+o+","+o+" 0 0 1 "+-o+","+-o+"v"+(2*o-i)+"z"}(o,n,i,t.height+10,5);this.textBackground.setAttributeNS(null,"d",r),this.textBackground.setAttributeNS(null,"fill",this.textBackgroundColor),this.isShowShadow?this.group.setAttributeNS(null,"filter","url(#drop-shadow)"):this.group.removeAttributeNS(null,"filter"),this.prefixTextContent&&this.prefixTextContent.length>0?(r=function(A,e,t,i,o){return"M"+A+","+(e+o)+"a"+o+","+o+" 0 0 1 "+o+","+-o+"h"+(t-o)+"v"+i+"h"+(o-t)+"a"+o+","+o+" 0 0 1 "+-o+","+-o+"v"+(2*o-i)+"z"}(o,n,e.width+10,e.height+10,5),this.prefixTextBackground.setAttributeNS(null,"d",r),this.prefixTextBackground.setAttributeNS(null,"fill",this.prefixTextBackgroundColor),this.prefixTextBackground.style.display="",this.prefixText.setAttributeNS(null,"x",o+5+e.width/2),this.prefixText.setAttributeNS(null,"y",n+5+e.height/2),o=o+(10+e.width)/2+i/2):o+=i/2,this.text.setAttributeNS(null,"x",o),this.text.setAttributeNS(null,"y",n+5+t.height/2),this.text.setAttributeNS(null,"fill",this.textColor),this.prefixText.setAttributeNS(null,"fill",this.prefixTextColor)}},_p.prototype.setText=function(A,e){this.textContent=A,this.prefixTextContent=e},_p.prototype.setPosition=function(A,e){this.textPosition={x:A,y:e}},_p.prototype.hide=function(){this.group.style.display="none"},_p.prototype.show=function(){this.group.style.display=""},_p.prototype.setClickCallback=function(A){this.onclickCallback=A,A?(this.group.style.cursor="pointer",this.text.style.cursor="pointer",Zp()?(this.group.addEventListener("touchstart",this._onMouseDown),this.group.addEventListener("touchend",this._onMouseUp),this.group.addEventListener("touchmove",this._onMouseMove)):(this.group.addEventListener("mousedown",this._onMouseDown),this.group.addEventListener("mouseup",this._onMouseUp),this.group.addEventListener("mousemove",this._onMouseMove))):(this.group.style.cursor="default",this.text.style.cursor="default",Zp()?(this.group.removeEventListener("touchstart",this._onMouseDown),this.group.removeEventListener("touchend",this._onMouseUp),this.group.removeEventListener("touchmove",this._onMouseMove)):(this.group.removeEventListener("mousedown",this._onMouseDown),this.group.removeEventListener("mouseup",this._onMouseUp),this.group.removeEventListener("mousemove",this._onMouseMove)))},_p.prototype._onMouseMove=function(A){A.stopPropagation(),A.preventDefault()},_p.prototype._onMouseDown=function(A){A.stopPropagation(),A.preventDefault()},_p.prototype._onMouseUp=function(A){A.stopPropagation(),A.preventDefault(),this.onclickCallback&&this.onclickCallback()};var $p=function(A){Xp.call(this,A),this.maxPointsNeed=2,this.startCircle=this.createCircle(),this.startCircle.setAttributeNS(null,"fill","#ffffff"),this.endCircle=this.createCircle(),this.endCircle.setAttributeNS(null,"fill","#ffffff"),this.svgGroup.appendChild(this.startCircle),this.svgGroup.appendChild(this.endCircle),this.line=this.createLine(),this.line.setAttributeNS(null,"stroke","#ffffff"),this.line.setAttributeNS(null,"strokd-width",2),this.svgGroup.appendChild(this.line),this.text=new _p,this.text.textBackgroundColor="#ffffff",this.text.textColor="#000000",this.svgGroup.appendChild(this.text.group),this._distance=void 0};($p.prototype=Object.assign(Object.create(Xp.prototype),{constructor:$p})).addPickedPoint=function(A,e,t){Xp.prototype.addPickedPoint.call(this,A,e,t)&&this.isDone()&&(this._enableSelect(),this._distance=qp(this.pickedPoints[0],this.pickedPoints[1]))},$p.prototype.draw=function(A,e){if(this.svgGroup.parentNode){var t=this.pickedPoints;if(t.length>0){A&&!this.isDone()&&(t=t.concat([A]));var i=t;if(e){for(var o=[],n=0,r=t.length;r>n;n+=1)o[n]=e(t[n]);i=o}var a=i[0],s=i.length>1?i[1]:a;if(this.startCircle.setAttributeNS(null,"cx",a[0]),this.startCircle.setAttributeNS(null,"cy",a[1]),this.startCircle.style.display="",this.line.setAttributeNS(null,"x1",a[0]),this.line.setAttributeNS(null,"y1",a[1]),this.line.setAttributeNS(null,"x2",s[0]),this.line.setAttributeNS(null,"y2",s[1]),this.line.style.display="",this.text.setPosition((a[0]+s[0])/2,(a[1]+s[1])/2),t.length>1){var l=qp(t[0],t[1]);this._distance=l}2===this.pickedPoints.length?(this.endCircle.setAttributeNS(null,"cx",s[0]),this.endCircle.setAttributeNS(null,"cy",s[1]),this.endCircle.style.display=""):this.endCircle.style.display="none",this._updateText()}}},$p.prototype.measureResult=function(){if(this.isDone()){var A={};if(A.distance=this._distance,this.adjustOption){var e=this.resultToDisplayOfLength(this._distance);A.unit=e.unit,A.value=e.value}return A}},$p.prototype.adjustWithOption=function(A){Xp.prototype.adjustWithOption.call(this,A),this._updateText(),this._disableSelect()},$p.prototype.changeUnit=function(A){Xp.prototype.changeUnit.call(this,A),A&&this._updateText()},$p.prototype.changePrecision=function(A){Xp.prototype.changePrecision.call(this,A),A&&this._updateText()},$p.prototype._enableSelect=function(){var A=this;this.startCircle.onmousedown=function(e){A.isDone()&&(A.pickedPoints=A.pickedPoints.slice(1),e.stopPropagation(),A._disableSelect())},this.endCircle.onmousedown=function(e){A.isDone()&&(A.pickedPoints=A.pickedPoints.slice(0,1),e.stopPropagation(),A._disableSelect())}},$p.prototype._disableSelect=function(){this.startCircle.onmousedown=void 0,this.endCircle.onmousedown=void 0},$p.prototype._updateText=function(){this.isDone()&&this._distance&&this.adjustOption&&(this.text.setText(this.resultToDisplayOfLength(this._distance).text),this.text.draw())};var Ag=function(){this.unit=void 0,this.valueBeforeAdjust=void 0,this.valueAfterAdjust=void 0};Ag.prototype.adjustLength=function(A){return this.valueAfterAdjust&&this.valueBeforeAdjust?A*this.valueAfterAdjust/this.valueBeforeAdjust:A},Ag.prototype.adjustArea=function(A){return this.valueAfterAdjust&&this.valueBeforeAdjust?A*Math.pow(this.valueAfterAdjust/this.valueBeforeAdjust,2):A},Ag.prototype.adjustVolume=function(A){return this.valueAfterAdjust&&this.valueBeforeAdjust?A*Math.pow(this.valueAfterAdjust/this.valueBeforeAdjust,3):A};var eg=function(A){Xp.call(this,A),this.maxPointsNeed=3,this._angle=void 0,this.circle1=this.createCircle(),this.circle2=this.createCircle(),this.circle3=this.createCircle(),this.svgGroup.appendChild(this.circle1),this.svgGroup.appendChild(this.circle2),this.svgGroup.appendChild(this.circle3),this.line1=this.createLine(),this.line1.setAttributeNS(null,"stroke-width",2),this.svgGroup.appendChild(this.line1),this.line2=this.createLine(),this.line2.setAttributeNS(null,"stroke-width",2),this.svgGroup.appendChild(this.line2),this.arc=this.createPath(),this.svgGroup.appendChild(this.arc),this.angleText=new _p,this.angleText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.angleText.group);var e=this;this.angleText.setClickCallback((function(){e.onclickCallback&&e.onclickCallback(e)}))};(eg.prototype=Object.assign(Object.create(Xp.prototype),{constructor:eg})).addPickedPoint=function(A,e,t){if(Xp.prototype.addPickedPoint.call(this,A,e,t)&&this.isDone()){var i=this.pickedPoints[0],o=this.pickedPoints[1],n=this.pickedPoints[2],r=(a=[n[0]-o[0],n[1]-o[1],n[2]-o[2]],s=jp([i[0]-o[0],i[1]-o[1],i[2]-o[2]]),l=jp(a),c=Hp(s,l),Math.acos(c)/Math.PI*180);this._angle=r}var a,s,l,c},eg.prototype.draw=function(A,e){if(this.svgGroup.parentNode){var t=this.pickedPoints;if(t.length>0){A&&!this.isDone()&&(t=t.concat([A]));var i=t,o=!0;if(e){for(var n=!0,r=[],a=0,s=t.length;s>a;a+=1)r[a]=e(t[a]),o&&r[a][0]>0&&r[a][0]<parseInt(this.svg.style.width,10)&&r[a][1]>0&&r[a][1]<parseInt(this.svg.style.height,10)&&(o=!1),void 0!==r[a][2]&&0!==r[a][2]||(n=!1);i=r,n&&(o=!0)}if(this.pickedPoints.length>=1){var l=i[0],c=i[1];this.circle1.setAttributeNS(null,"cx",l[0]),this.circle1.setAttributeNS(null,"cy",l[1]),this.circle1.style.display="",(A||this.pickedPoints.length>1)&&(this.line1.setAttributeNS(null,"x1",l[0]),this.line1.setAttributeNS(null,"y1",l[1]),this.line1.setAttributeNS(null,"x2",c[0]),this.line1.setAttributeNS(null,"y2",c[1]),this.line1.style.display="")}if(this.pickedPoints.length>=2){var h=i[1],d=i[2];this.circle2.setAttributeNS(null,"cx",h[0]),this.circle2.setAttributeNS(null,"cy",h[1]),this.circle2.style.display="",(A||this.pickedPoints.length>2)&&(this.line2.setAttributeNS(null,"x1",h[0]),this.line2.setAttributeNS(null,"y1",h[1]),this.line2.setAttributeNS(null,"x2",d[0]),this.line2.setAttributeNS(null,"y2",d[1]),this.line2.style.display="")}if(3===this.pickedPoints.length){if(o)return void(this.svgGroup.style.display="none");this.svgGroup.style.display="";var p=i[2];this.circle3.setAttributeNS(null,"cx",p[0]),this.circle3.setAttributeNS(null,"cy",p[1]),this.circle3.style.display="";var g=i[0].slice(0,2),u=i[1].slice(0,2),f=i[2].slice(0,2),m=qp(g,u),C=qp(u,f),y=Math.min(Math.min(m,C),30),v=jp([g[0]-u[0],g[1]-u[1]]),I=[u[0]+v[0]*y,u[1]+v[1]*y],E=jp([f[0]-u[0],f[1]-u[1]]),B=[u[0]+E[0]*y,u[1]+E[1]*y],x=[(I[0]+B[0])/2,(I[1]+B[1])/2],S=[x[0]-u[0],x[1]-u[1]],w=[u[0]+(S=[1.5*S[0],1.5*S[1]])[0],u[1]+S[1]],M="M"+I[0]+","+I[1];M+="Q"+w[0]+","+w[1],this.arc.setAttributeNS(null,"d",M+=" "+B[0]+","+B[1]),this.arc.style.display="",this.angleText.setText(this._angle.toFixed(this.precision)+"°"),this.angleText.setPosition(w[0],w[1]),this.angleText.draw()}}}},eg.prototype.setSelected=function(A){Xp.prototype.setSelected.call(this,A)&&(A?(this.angleText.isShowShadow=!0,this.angleText.textBackgroundColor="#ffffff",this.angleText.textColor="#009bff",this.angleText.draw()):(this.angleText.isShowShadow=!1,this.angleText.textBackgroundColor="#009bff",this.angleText.textColor="#ffffff",this.angleText.draw()))},eg.prototype.measureResult=function(){return this._angle};var tg=function(A){Xp.call(this,A),this.path=Op(),this.path.setAttributeNS(null,"fill","none"),this.path.setAttributeNS(null,"stroke","rgb(69,195,69)"),this.svgGroup.appendChild(this.path),this._isDone=!1,this._circles=[],this._area=-1,this.resultText=new _p,this.resultText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.resultText.group);var e=this;this.resultText.setClickCallback((function(){e.onclickCallback&&e.onclickCallback(e)}))};(tg.prototype=Object.assign(Object.create(Xp.prototype),{constructor:tg})).addPickedPoint=function(A,e,t){if(this._pointCanClosePath(A,t))this._isDone=!0,this._area=this.is3DMode?this._calculateArea3D():this._calculateArea2D();else if(Xp.prototype.addPickedPoint.call(this,A,e,t)){var i=this.createCircle();this.svgGroup.appendChild(i),this._circles.push(i)}},tg.prototype.isDone=function(){return this._isDone},tg.prototype.draw=function(A,e){if(this.svgGroup.parentNode){var t=this.pickedPoints;if(t.length>0){if(A&&!this.isDone()){if(this._pointCanClosePath(A,e)){var i=this.pickedPoints[0];A=[i[0],i[1],i[2]]}t=t.concat([A])}var o=t,n=!0;if(e){for(var r=!0,a=[],s=0,l=t.length;l>s;s+=1)a[s]=e(t[s]),n&&a[s][0]>0&&a[s][0]<parseInt(this.svg.style.width,10)&&a[s][1]>0&&a[s][1]<parseInt(this.svg.style.height,10)&&(n=!1),void 0!==a[s][2]&&0!==a[s][2]||(r=!1);o=a,r&&(n=!0)}var c=this._pathString(o);if(this.path.setAttributeNS(null,"d",c),this.isDone()){if(n)return void(this.svgGroup.style.display="none");this.svgGroup.style.display="",this.path.setAttributeNS(null,"fill","rgba(69,195,69,0.5)");var h=this._getPointsCenter(this.pickedPoints);e&&(h=e(h)),this.resultText.setPosition(h[0],h[1]),this.updateTexts()}for(var d=0,p=this._circles.length;p>d;d+=1){var g=this._circles[d],u=o[d];g.setAttributeNS(null,"cx",u[0]),g.setAttributeNS(null,"cy",u[1]),g.style.display=""}}}},tg.prototype.measureResult=function(){return this._area},tg.prototype.updateTexts=function(){this.isDone()&&(this.resultText.setText(this.resultToDisplayOfArea(this._area).text),this.resultText.draw())},tg.prototype.setSelected=function(A){Xp.prototype.setSelected.call(this,A)&&(A?(this.resultText.isShowShadow=!0,this.resultText.textBackgroundColor="#ffffff",this.resultText.textColor="#009bff",this.resultText.draw()):(this.resultText.isShowShadow=!1,this.resultText.textBackgroundColor="#009bff",this.resultText.textColor="#ffffff",this.resultText.draw()))},tg.prototype.resultToDisplayOfArea=function(A){var e=A,t=this.unitOfModel;return this.adjustOption&&(e=this.adjustOption.adjustArea(A),t=this.adjustOption.unit),this.unitOnUI&&(t&&(e=Jp(t,this.unitOnUI,e,2)),t=this.unitOnUI),t||(t=""),e=e.toFixed(this.precision),"mm"===t?t="mm²":"m"===t?t="m²":"cm"===t&&(t="cm²"),{value:Number(e),unit:t,text:e+t}},tg.prototype._pointCanClosePath=function(A,e){if(this.pickedPoints.length>0){var t=this.pickedPoints[0];e&&(t=e(t),A=e(A));var i=A[0]-t[0],o=A[1]-t[1];if(200>=i*i+o*o+0)return!0}return!1},tg.prototype._pathString=function(A){if(!A||0===A.length)return"";for(var e="M"+A[0][0]+" "+A[0][1],t=1,i=A.length;i>t;t+=1)e=e+"L"+A[t][0]+" "+A[t][1];return this.isDone()&&(e+="Z"),e},tg.prototype._calculateArea2D=function(){if(this.isDone()&&this.pickedPoints.length>=3){for(var A=this.pickedPoints,e=this.pickedPoints[0],t=[],i=1,o=A.length;o>i;i+=1)t.push([A[i][0]-e[0],A[i][1]-e[1]]);for(var n=0,r=0,a=t.length;a-1>r;r+=1){var s=t[r],l=t[r+1];n+=s[0]*l[1]-s[1]*l[0]}return Math.abs(n/2)}return 0},tg.prototype._calculateArea3D=function(){if(this.isDone()&&this.pickedPoints.length>=3){for(var A=this.pickedPoints,e=this.pickedPoints[0],t=jp(Yp([this.pickedPoints[1][0]-e[0],this.pickedPoints[1][1]-e[1],this.pickedPoints[1][2]-e[2]],[this.pickedPoints[2][0]-e[0],this.pickedPoints[2][1]-e[1],this.pickedPoints[2][2]-e[2]])),i=0,o=1,n=A.length;n>o;o+=1){i+=Hp(Yp([this.pickedPoints[o-1][0]-e[0],this.pickedPoints[o-1][1]-e[1],this.pickedPoints[o-1][2]-e[2]],[this.pickedPoints[o][0]-e[0],this.pickedPoints[o][1]-e[1],this.pickedPoints[o][2]-e[2]]),t)}return Math.abs(i/2)}return 0},tg.prototype._getPointsCenter=function(A){var e=A.length;return[A.reduce((function(A,e){return A+e[0]}),0)/e,A.reduce((function(A,e){return A+e[1]}),0)/e,A.reduce((function(A,e){return A+e[2]}),0)/e]},tg.prototype._crossProduct=function(A,e){var t=A[0],i=A[1],o=A[2],n=e[0],r=e[1],a=e[2];return[i*a-o*r,o*n-t*a,t*r-i*n]};var ig=function(A,e,t){Xp.call(this,A),this.maxPointsNeed=2,this.isMobile=e,this.number=t,this._drawPoints=[],this.startCircle=this.createCircle(),this.endCircle=this.createCircle(),this.svgGroup.appendChild(this.startCircle),this.svgGroup.appendChild(this.endCircle),this.distanceLine=this.createLine(),this.svgGroup.appendChild(this.distanceLine),this.deltaXLine=this.createLine(),this.deltaXLine.setAttributeNS(null,"stroke","#ec4545"),this.deltaXLine.setAttributeNS(null,"stroke-dasharray","6,4"),this.isMobile||this.svgGroup.appendChild(this.deltaXLine),this.deltaYLine=this.createLine(),this.deltaYLine.setAttributeNS(null,"stroke","#45c345"),this.deltaYLine.setAttributeNS(null,"stroke-dasharray","6,4"),this.isMobile||this.svgGroup.appendChild(this.deltaYLine),this.deltaZLine=this.createLine(),this.deltaZLine.setAttributeNS(null,"stroke","#5757da"),this.deltaZLine.setAttributeNS(null,"stroke-dasharray","6,4"),this.isMobile||this.svgGroup.appendChild(this.deltaZLine),this.deltaXText=new _p,this.deltaXText.textColor="#ec4545",this.deltaXText.prefixTextBackgroundColor="#ec4545",this.svgGroup.appendChild(this.deltaXText.group),this.deltaYText=new _p,this.deltaYText.textColor="#45c345",this.deltaYText.prefixTextBackgroundColor="#45c345",this.svgGroup.appendChild(this.deltaYText.group),this.deltaZText=new _p,this.deltaZText.textColor="#5757da",this.deltaZText.prefixTextBackgroundColor="#5757da",this.svgGroup.appendChild(this.deltaZText.group),this.distanceText=new _p,this.distanceText.textBackgroundColor="#009bff";var i=this;this.distanceText.setClickCallback((function(){i.onclickCallback&&i.onclickCallback(i)})),this.svgGroup.appendChild(this.distanceText.group),this._distance=void 0,this._deltaXDistance=void 0,this._deltaYDistance=void 0,this._deltaZDistance=void 0};(ig.prototype=Object.assign(Object.create(Xp.prototype),{constructor:ig})).addPickedPoint=function(A,e,t){if(Xp.prototype.addPickedPoint.call(this,A,e,t)&&(this._drawPoints.push(A),this.isDone())){if(3===A.length){var i=[];i[0]=this.pickedPoints[1][0],i[1]=this.pickedPoints[0][1],i[2]=this.pickedPoints[1][2];var o=[];o[0]=this.pickedPoints[1][0],o[1]=this.pickedPoints[0][1],o[2]=this.pickedPoints[0][2],this._drawPoints.push(i),this._drawPoints.push(o)}this._distance=qp(this._drawPoints[0],this._drawPoints[1]),this._deltaYDistance=qp(this._drawPoints[1],this._drawPoints[2]),this._deltaZDistance=qp(this._drawPoints[2],this._drawPoints[3]),this._deltaXDistance=qp(this._drawPoints[3],this._drawPoints[0]),this.updateTexts()}},ig.prototype.draw=function(A,e){if(this.svgGroup.parentNode){var t=this._drawPoints;if(t.length>0){A&&!this.isDone()&&(t=t.concat([A]));var i=t,o=!0;if(e){for(var n=!0,r=[],a=0,s=t.length;s>a;a+=1)r[a]=e(t[a]),o&&r[a][0]>0&&r[a][0]<parseInt(this.svg.style.width,10)&&r[a][1]>0&&r[a][1]<parseInt(this.svg.style.height,10)&&(o=!1),void 0!==r[a][2]&&0!==r[a][2]||(n=!1);i=r,n&&(o=!0)}var l=i[0],c=i.length>1?i[1]:l;if(this.startCircle.setAttributeNS(null,"cx",l[0]),this.startCircle.setAttributeNS(null,"cy",l[1]),this.startCircle.style.display="",this.distanceLine.setAttributeNS(null,"x1",l[0]),this.distanceLine.setAttributeNS(null,"y1",l[1]),this.distanceLine.setAttributeNS(null,"x2",c[0]),this.distanceLine.setAttributeNS(null,"y2",c[1]),this.distanceLine.style.display="",2>t.length)return;if(this.distanceText.setPosition((l[0]+c[0])/2,(l[1]+c[1])/2),!this.isDone()){var h=qp(t[0],t[1]);this._distance=h}if(4===t.length){if(o)return void(this.svgGroup.style.display="none");this.svgGroup.style.display="",this.isSelected?(this.distanceText.isShowShadow=!0,this.distanceText.textBackgroundColor="#ffffff",this.distanceText.textColor="#009bff"):(this.distanceText.isShowShadow=!1,this.distanceText.textBackgroundColor="#009bff",this.distanceText.textColor="#ffffff"),this.distanceText.draw(),this.endCircle.style.display="",this.deltaYLine.style.display="",this.deltaXLine.style.display="",this.deltaZLine.style.display="",this.endCircle.setAttributeNS(null,"cx",c[0]),this.endCircle.setAttributeNS(null,"cy",c[1]);var d=i[2],p=i[3];this.deltaYLine.setAttributeNS(null,"x1",c[0]),this.deltaYLine.setAttributeNS(null,"y1",c[1]),this.deltaYLine.setAttributeNS(null,"x2",d[0]),this.deltaYLine.setAttributeNS(null,"y2",d[1]),this.deltaYText.setPosition((d[0]+c[0])/2,(d[1]+c[1])/2),this.deltaZLine.setAttributeNS(null,"x1",d[0]),this.deltaZLine.setAttributeNS(null,"y1",d[1]),this.deltaZLine.setAttributeNS(null,"x2",p[0]),this.deltaZLine.setAttributeNS(null,"y2",p[1]),this.deltaZText.setPosition((d[0]+p[0])/2,(d[1]+p[1])/2),this.deltaXLine.setAttributeNS(null,"x1",p[0]),this.deltaXLine.setAttributeNS(null,"y1",p[1]),this.deltaXLine.setAttributeNS(null,"x2",l[0]),this.deltaXLine.setAttributeNS(null,"y2",l[1]),this.deltaXText.setPosition((p[0]+l[0])/2,(p[1]+l[1])/2),this.isSelected&&(this.isMobile||(this.deltaXText.draw(),this.deltaYText.draw(),this.deltaZText.draw()),this.layoutResultText())}}}},ig.prototype.layoutResultText=function(){for(var A=this.distanceText.group.getBBox(),e=this.deltaXText.group.getBBox(),t=this.deltaYText.group.getBBox(),i=this.deltaZText.group.getBBox(),o=[e,t,i],n=!1,r=0;o.length>r;r+=1)if(zp(A,o[r])){n=!0;break}if(n||(n=zp(e,t)),n||(n=zp(e,i)),n||(n=zp(t,i)),n){var a=Math.max(A.width,e.width,t.width,i.width),s=A.x+A.width/2,l=A.y+A.height+8;return this.deltaXText.setPosition(s,l+e.height/2),this.deltaYText.setPosition(s,(l+=e.height)+t.height/2),this.deltaZText.setPosition(s,(l+=t.height)+i.height/2),this.isMobile||(this.deltaXText.draw(a),this.deltaYText.draw(a),this.deltaZText.draw(a)),this.distanceText.draw(a),n}},ig.prototype.measureResult=function(){if(this._distance)return[this._distance,this._deltaXDistance,this._deltaYDistance,this._deltaZDistance]},ig.prototype.updateTexts=function(){this._distance&&(this.distanceText.setText(this.isMobile?"线段"+this.number+": "+this.resultToDisplayOfLength(this._distance).text:this.resultToDisplayOfLength(this._distance).text,void 0),this.distanceText.draw(),this.isDone()&&(0!==this._deltaXDistance&&this.deltaXText.setText(this.resultToDisplayOfLength(this._deltaXDistance).text,"X"),0!==this._deltaYDistance&&this.deltaYText.setText(this.resultToDisplayOfLength(this._deltaYDistance).text,"Y"),0!==this._deltaZDistance&&this.deltaZText.setText(this.resultToDisplayOfLength(this._deltaZDistance).text,"Z"),this.isSelected&&!this.isMobile&&(this.deltaXText.draw(),this.deltaYText.draw(),this.deltaZText.draw())))},ig.prototype.setSelected=function(A){Xp.prototype.setSelected.call(this,A)&&(A?(this.distanceText.isShowShadow=!0,this.distanceText.textBackgroundColor="#ffffff",this.distanceText.textColor="#009bff",this.isMobile||(this.deltaXText.draw(),this.deltaYText.draw(),this.deltaZText.draw()),this.distanceText.draw(),this.layoutResultText()):(this.deltaXText.hide(),this.deltaYText.hide(),this.deltaZText.hide(),this.distanceText.isShowShadow=!1,this.distanceText.textBackgroundColor="#009bff",this.distanceText.textColor="#ffffff",this.distanceText.draw()))};var og=function(A){Xp.call(this,A),this.maxPointsNeed=2,this.startCircle=this.createCircle(),this.endCircle=this.createCircle(),this.svgGroup.appendChild(this.startCircle),this.svgGroup.appendChild(this.endCircle),this.distanceLine=this.createLine(),this.svgGroup.appendChild(this.distanceLine),this.distanceText=new _p,this.distanceText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.distanceText.group);var e=this;this.distanceText.setClickCallback((function(){e.onclickCallback&&e.onclickCallback(e)})),this.pickedComponentKeys=[],this._distance=void 0};(og.prototype=Object.assign(Object.create(Xp.prototype),{constructor:og})).setData=function(A,e,t){this.pickedPoints=A,this._distance=e,t&&(this.unitOfModel=this.unitOfModel&&this.unitOfModel!==t?void 0:t)},og.prototype.draw=function(A,e){if(this.svgGroup.parentNode&&this.isDone()){var t=this.pickedPoints;if(e){for(var i=[],o=0,n=t.length;n>o;o+=1)i[o]=e(t[o]);t=i}var r=t[0],a=t[1];this.startCircle.setAttributeNS(null,"cx",r[0]),this.startCircle.setAttributeNS(null,"cy",r[1]),this.startCircle.style.display="",this.endCircle.setAttributeNS(null,"cx",a[0]),this.endCircle.setAttributeNS(null,"cy",a[1]),this.endCircle.style.display="",this.distanceLine.setAttributeNS(null,"x1",r[0]),this.distanceLine.setAttributeNS(null,"y1",r[1]),this.distanceLine.setAttributeNS(null,"x2",a[0]),this.distanceLine.setAttributeNS(null,"y2",a[1]),this.distanceLine.style.display="",this.distanceText.setPosition((r[0]+a[0])/2,(r[1]+a[1])/2),this.updateTexts()}},og.prototype.measureResult=function(){if(void 0!==this._distance)return this._distance},og.prototype.updateTexts=function(){void 0!==this._distance&&(this.distanceText.setText(this.resultToDisplayOfLength(this._distance).text,void 0),this.distanceText.draw())},og.prototype.setSelected=function(A){Xp.prototype.setSelected.call(this,A)&&(A?(this.distanceText.isShowShadow=!0,this.distanceText.textBackgroundColor="#ffffff",this.distanceText.textColor="#009bff",this.distanceText.draw()):(this.distanceText.isShowShadow=!1,this.distanceText.textBackgroundColor="#009bff",this.distanceText.textColor="#ffffff",this.distanceText.draw()))};var ng=function(A){Xp.call(this,A),this.maxPointsNeed=2;var e=Np();e.setAttributeNS(null,"stroke-width","2"),e.setAttributeNS(null,"stroke","#0aea06"),this.svgGroup.appendChild(e),this._line=e,this.distanceText=new _p,this.distanceText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.distanceText.group)};(ng.prototype=Object.assign(Object.create(Xp.prototype),{constructor:ng})).setData=function(A,e){A&&e&&(this._points=[A,e])},ng.prototype.draw=function(A,e){if(2===this._points.length){var t=e(this._points[0]),i=e(this._points[1]);this._line.setAttributeNS(null,"x1",t[0]),this._line.setAttributeNS(null,"y1",t[1]),this._line.setAttributeNS(null,"x2",i[0]),this._line.setAttributeNS(null,"y2",i[1]),this.distanceText.setPosition((t[0]+i[0])/2,(t[1]+i[1])/2);var o=qp(this._points[0],this._points[1]);this.distanceText.setText(this.resultToDisplayOfLength(o).text,void 0),this.distanceText.draw()}};var rg,ag,sg=function(A,e){this.x=A||0,this.y=e||0};Object.defineProperties(sg.prototype,{width:{get:function(){return this.x},set:function(A){this.x=A}},height:{get:function(){return this.y},set:function(A){this.y=A}}}),Object.assign(sg.prototype,{isVector2:!0,set:function(A,e){return this.x=A,this.y=e,this},setScalar:function(A){return this.x=A,this.y=A,this},setX:function(A){return this.x=A,this},setY:function(A){return this.y=A,this},setComponent:function(A,e){switch(A){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+A)}return this},getComponent:function(A){switch(A){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+A)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(A){return this.x=A.x,this.y=A.y,this},add:function(A,e){return void 0!==e?(console.warn("Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(A,e)):(this.x+=A.x,this.y+=A.y,this)},addScalar:function(A){return this.x+=A,this.y+=A,this},addVectors:function(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this},addScaledVector:function(A,e){return this.x+=A.x*e,this.y+=A.y*e,this},sub:function(A,e){return void 0!==e?(console.warn("Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(A,e)):(this.x-=A.x,this.y-=A.y,this)},subScalar:function(A){return this.x-=A,this.y-=A,this},subVectors:function(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this},multiply:function(A){return this.x*=A.x,this.y*=A.y,this},multiplyScalar:function(A){return this.x*=A,this.y*=A,this},divide:function(A){return this.x/=A.x,this.y/=A.y,this},divideScalar:function(A){return this.multiplyScalar(1/A)},applyMatrix3:function(A){var e=this.x,t=this.y,i=A.elements;return this.x=i[0]*e+i[3]*t+i[6],this.y=i[1]*e+i[4]*t+i[7],this},min:function(A){return this.x>A.x&&(this.x=A.x),this.y>A.y&&(this.y=A.y),this},max:function(A){return A.x>this.x&&(this.x=A.x),A.y>this.y&&(this.y=A.y),this},clamp:function(A,e){return this.x=Math.max(A.x,Math.min(e.x,this.x)),this.y=Math.max(A.y,Math.min(e.y,this.y)),this},clampScalar:(rg=new sg,ag=new sg,function(A,e){return rg.set(A,A),ag.set(e,e),this.clamp(rg,ag)}),clampLength:function(A,e){var t=this.length();return this.divideScalar(t||1).multiplyScalar(Math.max(A,Math.min(e,t)))},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=0>this.x?Math.ceil(this.x):Math.floor(this.x),this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(A){return this.x*A.x+this.y*A.y},cross:function(A){return this.x*A.y-this.y*A.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 A=Math.atan2(this.y,this.x);return 0>A&&(A+=2*Math.PI),A},distanceTo:function(A){return Math.sqrt(this.distanceToSquared(A))},distanceToSquared:function(A){var e=this.x-A.x,t=this.y-A.y;return e*e+t*t},manhattanDistanceTo:function(A){return Math.abs(this.x-A.x)+Math.abs(this.y-A.y)},setLength:function(A){return this.normalize().multiplyScalar(A)},lerp:function(A,e){return this.x+=(A.x-this.x)*e,this.y+=(A.y-this.y)*e,this},lerpVectors:function(A,e,t){return this.subVectors(e,A).multiplyScalar(t).add(A)},equals:function(A){return A.x===this.x&&A.y===this.y},fromArray:function(A,e){return void 0===e&&(e=0),this.x=A[e],this.y=A[e+1],this},toArray:function(A,e){return void 0===A&&(A=[]),void 0===e&&(e=0),A[e]=this.x,A[e+1]=this.y,A},rotateAround:function(A,e){var t=Math.cos(e),i=Math.sin(e),o=this.x-A.x,n=this.y-A.y;return this.x=o*t-n*i+A.x,this.y=o*i+n*t+A.y,this}});var lg=function(){this.elements=[1,0,0,0,1,0,0,0,1]};function cg(A,e){this.normal=void 0!==A?A:new $c(1,0,0),this.constant=void 0!==e?e:0}lg.prototype.clear=function(){return this.elements=[1,0,0,0,1,0,0,0,1],this},lg.prototype.set=function(A,e,t,i,o,n,r,a,s){var l=this.elements;return l[0]=A,l[1]=i,l[2]=r,l[3]=e,l[4]=o,l[5]=a,l[6]=t,l[7]=n,l[8]=s,this},lg.prototype.clone=function(){return(new this.constructor).fromArray(this.elements)},lg.prototype.fromArray=function(A,e){void 0===e&&(e=0);for(var t=0;9>t;t+=1)this.elements[t]=A[t+e];return this},lg.prototype.multiply=function(A){return this.multiplyMatrices(this,A)},lg.prototype.multiplyMatrices=function(A,e){var t=A.elements,i=e.elements,o=this.elements,n=t[0],r=t[3],a=t[6],s=t[1],l=t[4],c=t[7],h=t[2],d=t[5],p=t[8],g=i[0],u=i[3],f=i[6],m=i[1],C=i[4],y=i[7],v=i[2],I=i[5],E=i[8];return o[0]=n*g+r*m+a*v,o[3]=n*u+r*C+a*I,o[6]=n*f+r*y+a*E,o[1]=s*g+l*m+c*v,o[4]=s*u+l*C+c*I,o[7]=s*f+l*y+c*E,o[2]=h*g+d*m+p*v,o[5]=h*u+d*C+p*I,o[8]=h*f+d*y+p*E,this},lg.prototype.scale=function(A,e){var t=this.elements;return t[0]*=A,t[3]*=A,t[6]*=A,t[1]*=e,t[4]*=e,t[7]*=e,this},lg.prototype.rotate=function(A){var e=Math.cos(A),t=Math.sin(A),i=this.elements,o=i[0],n=i[3],r=i[6],a=i[1],s=i[4],l=i[7];return i[0]=e*o+t*a,i[3]=e*n+t*s,i[6]=e*r+t*l,i[1]=-t*o+e*a,i[4]=-t*n+e*s,i[7]=-t*r+e*l,this},lg.prototype.makeRotate=function(A){var e=Math.cos(A),t=Math.sin(A);return this.set(e,-t,0,t,e,0,0,0,1),this},lg.prototype.translate=function(A,e){var t=this.elements;return t[0]+=A*t[2],t[3]+=A*t[5],t[6]+=A*t[8],t[1]+=e*t[2],t[4]+=e*t[5],t[7]+=e*t[8],this},lg.prototype.makeShear=function(A,e){return this.set(1,e,0,A,1,0,0,0,1),this},lg.prototype.fromCanvasTransform=function(A,e,t,i,o,n){return this.set(A,t,o,e,i,n,0,0,1),this},lg.prototype.toCanvasTransform=function(){var A=this.elements;return[A[0],A[3],A[1],A[4],A[6],A[7]]},lg.prototype.getInverse=function(A,e){A&&A.isMatrix4&&console.error("THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument.");var t=A.elements,i=this.elements,o=t[0],n=t[1],r=t[2],a=t[3],s=t[4],l=t[5],c=t[6],h=t[7],d=t[8],p=d*s-l*h,g=l*c-d*a,u=h*a-s*c,f=o*p+n*g+r*u;if(0===f){var m="THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0";if(!0===e)throw new Error(m);return console.warn(m),this.identity()}var C=1/f;return i[0]=p*C,i[1]=(r*h-d*n)*C,i[2]=(l*n-r*s)*C,i[3]=g*C,i[4]=(d*o-r*c)*C,i[5]=(r*a-l*o)*C,i[6]=u*C,i[7]=(n*c-h*o)*C,i[8]=(s*o-n*a)*C,this},Object.assign(cg.prototype,{isPlane:!0,set:function(A,e){return this.normal.copy(A),this.constant=e,this},setComponents:function(A,e,t,i){return this.normal.set(A,e,t),this.constant=i,this},setFromNormalAndCoplanarPoint:function(A,e){return this.normal.copy(A),this.constant=-e.dot(this.normal),this},setFromCoplanarPoints:function(){var A=new $c,e=new $c;return function(t,i,o){var n=A.subVectors(o,i).cross(e.subVectors(t,i)).normalize();return this.setFromNormalAndCoplanarPoint(n,t),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(A){return this.normal.copy(A.normal),this.constant=A.constant,this},normalize:function(){var A=1/this.normal.length();return this.normal.multiplyScalar(A),this.constant*=A,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(A){return this.normal.dot(A)+this.constant},distanceToSphere:function(A){return this.distanceToPoint(A.center)-A.radius},projectPoint:function(A,e){return void 0===e&&(console.warn("THREE.Plane: .projectPoint() target is now required"),e=new $c),e.copy(this.normal).multiplyScalar(-this.distanceToPoint(A)).add(A)},intersectLine:function(){var A=new $c;return function(e,t){void 0===t&&(console.warn("THREE.Plane: .intersectLine() target is now required"),t=new $c);var i=e.delta(A),o=this.normal.dot(i);if(0===o)return 0===this.distanceToPoint(e.start)?t.copy(e.start):void 0;var n=-(e.start.dot(this.normal)+this.constant)/o;return 0>n||n>1?void 0:t.copy(i).multiplyScalar(n).add(e.start)}}(),intersectsLine:function(A){var e=this.distanceToPoint(A.start),t=this.distanceToPoint(A.end);return 0>e&&t>0||0>t&&e>0},intersectsBox:function(A){return A.intersectsPlane(this)},intersectsSphere:function(A){return A.intersectsPlane(this)},coplanarPoint:function(A){return void 0===A&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),A=new $c),A.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var A=new $c,e=new lg;return function(t,i){var o=i||e.getNormalMatrix(t),n=this.coplanarPoint(A).applyMatrix4(t),r=this.normal.applyMatrix3(o).normalize();return this.constant=-n.dot(r),this}}(),translate:function(A){return this.constant-=A.dot(this.normal),this},equals:function(A){return A.normal.equals(this.normal)&&A.constant===this.constant}});var hg=function(A,e){this._point=void 0,this._normal=void 0,this.viewer=e,this.svg=A;var t=document.createElementNS(Dp,"polygon");t.setAttribute("fill","rgba(10,234,6,0.2)"),t.setAttribute("stroke","#0aea06"),t.setAttribute("stroke-width",1),t.style.pointerEvents="none",this._panel=t,this.hoverPanelSize={width:20,height:20}};hg.prototype.setupWithPoint=function(A,e){this._point=A,this._normal=e},hg.prototype.remove=function(){this.svg&&this._panel.parentNode&&this.svg.removeChild(this._panel)},hg.prototype.add=function(){this.svg&&this._panel&&this.svg.appendChild(this._panel)},hg.prototype.isVisible=function(){return!!this._panel.parentNode},hg.prototype.stretchOnDirection=function(A,e,t){var i=A.clone().add(e).multiplyScalar(.5),o=e.clone().sub(A).normalize();return[i.clone().sub(o.clone().multiplyScalar(t/2)),i.clone().add(o.clone().multiplyScalar(t/2))]},hg.prototype.draw=function(){var A=this.viewer.getScene().worldToDrawing(this._normal);A.normalize();var e=this.viewer.worldToClient(this._point),t=this.viewer.getScene().worldToDrawing(this._point),i=this.viewer.cameraControl,o=new cg;o.setFromNormalAndCoplanarPoint(A,t);var n=new sg(e.x-10,e.y-10),r=new sg(e.x+10,e.y-10),a=t,s=i.getRaycaster(n.x,n.y),l=new $c,c=new $c;if(s.ray.intersectPlane(o,l),(s=i.getRaycaster(r.x,r.y)).ray.intersectPlane(o,c),null!==l&&null!==c){var h=new $c(1,0,0),d=new $c(0,0,1),p=new $c(0,1,0),g=.0025>=Math.abs(A.clone().dot(h)),u=.0025>=Math.abs(A.clone().dot(p));if(g&&u)var f=h.clone(),m=p.clone();else f=d.clone().cross(A).normalize(),m=A.clone().cross(f).normalize();var C=l.distanceTo(c)/2,y=f.clone().multiplyScalar(C),v=m.clone().multiplyScalar(C),I=a.clone().sub(y).add(v),E=a.clone().add(y).add(v),B=a.clone().sub(y).sub(v),x=a.clone().add(y).sub(v),S=[];S.push(I,E,x,B);for(var w=[],M=i.getContainerDimensions(),b=0;S.length>b;b+=1){var U=new $c(S[b].x,S[b].y,S[b].z);U.project(i.camera);var F={x:0,y:0,z:0};F.x=Math.floor(.5*(U.x+1)*M.width+.5),F.y=Math.floor(-.5*(U.y-1)*M.height+.5),F.z=U.z||0,w.push(new $c(F.x,F.y,0))}var K=this.hoverPanelSize,Q=w[0].distanceTo(w[1]),R=w[0].distanceTo(w[3])/K.height;if(1!==Q/K.width){var T=this.stretchOnDirection(w[0],w[1],K.width),k=this.stretchOnDirection(w[2],w[3],K.width);w=T.concat(k)}if(1!==R){T=this.stretchOnDirection(w[0],w[3],K.height),k=this.stretchOnDirection(w[1],w[2],K.height);w=[T[0],k[0],k[1],T[1]]}for(var D="",L=0;w.length>L;L+=1)D+=w[L].x+",",D+=w[L].y+" ";this._panel.setAttribute("points",D)}};var dg=function(A){this._point=void 0,this.svg=A;var e=Vp(5);e.setAttributeNS(null,"fill","#00ff00"),this._circle=e};dg.prototype.setupWithPoint=function(A){A&&(this._point=A)},dg.prototype.remove=function(){this.svg&&this._circle.parentNode&&this.svg.removeChild(this._circle)},dg.prototype.add=function(){this.svg&&this._circle&&this.svg.appendChild(this._circle)},dg.prototype.isVisible=function(){return!!this._circle.parentNode},dg.prototype.draw=function(A){if(this._point){var e=A(this._point);this._circle.setAttributeNS(null,"cx",e[0]),this._circle.setAttributeNS(null,"cy",e[1])}};var pg=function(A){Xp.call(this,A),this.volumeText=new _p,this.volumeText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.volumeText.group);var e=this;this.volumeText.setClickCallback((function(){e.onclickCallback&&e.onclickCallback(e)})),this.pickedComponentKeys=[],this._position=void 0,this._volume=void 0};(pg.prototype=Object.assign(Object.create(Xp.prototype),{constructor:pg})).setData=function(A,e,t){this._position=A,this._volume=e,t&&(this.unitOfModel=this.unitOfModel&&this.unitOfModel!==t?void 0:t)},pg.prototype.isDone=function(){return this.pickedComponentKeys[0]&&this._position},pg.prototype.draw=function(A,e){if(this.svgGroup.parentNode&&this.isDone()){var t=this._position;e&&(t=e(t)),this.volumeText.setPosition(t[0],t[1]),this.updateTexts()}},pg.prototype.measureResult=function(){if(this._volume)return this._volume},pg.prototype.resultToDisplayOfVolume=function(A){var e=A,t=this.unitOfModel;return this.adjustOption&&(e=this.adjustOption.adjustVolume(A),t=this.adjustOption.unit),this.unitOnUI&&(t&&(e=Jp(t,this.unitOnUI,e,3)),t=this.unitOnUI),t||(t=""),e=e.toFixed(this.precision),"mm"===t?t="mm³":"m"===t?t="m³":"cm"===t&&(t="cm³"),{value:Number(e),unit:t,text:e+t}},pg.prototype.updateTexts=function(){this._volume&&(this.volumeText.setText(this.resultToDisplayOfVolume(this._volume).text,void 0),this.volumeText.draw())},pg.prototype.setSelected=function(A){Xp.prototype.setSelected.call(this,A)&&(A?(this.volumeText.isShowShadow=!0,this.volumeText.textBackgroundColor="#ffffff",this.volumeText.textColor="#009bff",this.volumeText.draw()):(this.volumeText.isShowShadow=!1,this.volumeText.textBackgroundColor="#009bff",this.volumeText.textColor="#ffffff",this.volumeText.draw()))};var gg=function(){this.pointTransformer=void 0,this.parentDom=void 0,this.viewer=void 0,this.is3DMode=!1,this.isMobile=!1},ug="Distance",fg="Angle",mg="Adjust",Cg="Area",yg="MinDistance",vg="Volume",Ig=function(A){this.config=A,this.config.viewer.measure=this,this.svg=this._createSVG(A.parentDom.clientWidth,A.parentDom.clientHeight),A.parentDom.appendChild(this.svg),this._resize=this._resize.bind(this),this.config.viewer.addEventListener("resize",this._resize),this.setCurrentMode(ug),this.isOpen=!1,this.didEndMeasureCallback=void 0,this._items=[],this._adjustItem=void 0,this._adjustOption=void 0,this._precision=3,this._unitSetByUser="mm",this._pickedLine=void 0,this._pickedPoint=void 0,this._pickedPanel=void 0,this._selectedItem=void 0,this.open()};Ig.prototype.supportUnits=function(){return[{unit:"mm",title:"毫米"},{unit:"cm",title:"厘米"},{unit:"m",title:"米"}]},Ig.prototype.open=function(){this.isOpen||(this.isOpen=!0,this._handleKeyUp=this._handleKeyUp.bind(this),document.addEventListener("keyup",this._handleKeyUp))},Ig.prototype.close=function(){this.svg.parentNode.removeChild(this.svg),this.isOpen=!1,this.config.is3DMode&&(this.config.viewer.clearSelection(),this.config.viewer.render()),this.config.viewer.measure=void 0,document.removeEventListener("keyup",this._handleKeyUp),this.config.viewer.removeEventListener("resize",this._resize)},Ig.prototype.setCurrentMode=function(A){if(this.config.is3DMode||A!==vg&&A!==yg)if(this._currentMode!==A&&(this._currentMode=A,this._currentMeasureItem&&(this._currentMeasureItem instanceof og&&this.config.is3DMode&&(this.config.viewer.clearSelection(),this.config.viewer.render()),this._currentMeasureItem.remove(),this._currentMeasureItem=void 0)),this._currentMode===mg){var e=this._adjustItem?this._adjustItem:this._currentMeasureItem;(e||e instanceof $p)&&e.isDone()&&(e.add(),e.draw(void 0,this.config.pointTransformer),this.didEndMeasureCallback&&this.didEndMeasureCallback(e.measureResult()))}else this._adjustItem&&this._adjustItem.remove()},Ig.prototype.getCurrentMode=function(){return this._currentMode},Ig.prototype.getCurrentUnit=function(){return this._unitSetByUser},Ig.prototype.setUnit=function(A){if(A&&this._unitSetByUser!==A){this._unitSetByUser=A;for(var e=0,t=this._items.length;t>e;e+=1){this._items[e].changeUnit(A)}this._adjustOption&&(this._adjustOption.valueAfterAdjust=Jp(this._adjustOption.unit,A,this._adjustOption.valueAfterAdjust,0),this._adjustOption.unit=A)}},Ig.prototype.getCurrentPrecision=function(){return this._precision},Ig.prototype.setPrecision=function(A){if(A&&this._precision!==A){this._precision=A;for(var e=0,t=this._items.length;t>e;e+=1){this._items[e].changePrecision(A)}this._adjustItem&&this._adjustItem.changePrecision(A)}},Ig.prototype.clearAllMeasure=function(){for(var A=0,e=this._items.length;e>A;A+=1){this._items[A].remove()}this._items=[],this._selectedItem=void 0},Ig.prototype.removeSelectedMeasure=function(){if(this._selectedItem){for(var A=0,e=this._items.length;e>A;A+=1)if(this._items[A]===this._selectedItem){this._selectedItem.remove(),this._items.splice(A,1);break}(this._selectedItem instanceof pg||this._selectedItem instanceof og)&&this.config.is3DMode&&(this.config.viewer.clearSelection(),this.config.viewer.render()),this._selectedItem=void 0,this._items.length>0&&(this._selectedItem=this._items[this._items.length-1],this._selectedItem.setSelected(!0))}},Ig.prototype.setAdjustForCurrentAdjustItem=function(A,e){if(A&&e&&this._currentMode===mg&&(this._currentMeasureItem&&this._currentMeasureItem instanceof $p&&this._currentMeasureItem.isDone()&&(this._adjustItem&&this._adjustItem.remove(),this._adjustItem=this._currentMeasureItem,this._currentMeasureItem=void 0),this._adjustItem&&this._adjustItem.isDone())){var t=new Ag;t.unit=A,t.valueBeforeAdjust=this._adjustItem.measureResult().distance,t.valueAfterAdjust=e,this._adjustOption=t;for(var i=0,o=this._items.length;o>i;i+=1){this._items[i].adjustWithOption(this._adjustOption)}this._adjustItem.adjustWithOption(this._adjustOption)}},Ig.prototype.cancelCurrentAdjust=function(){if(this._adjustItem&&(this._adjustItem.remove(),this._adjustItem=void 0),this._currentMeasureItem instanceof $p&&(this._currentMeasureItem.remove(),this._currentMeasureItem=void 0),this._adjustOption){for(var A=0,e=this._items.length;e>A;A+=1){this._items[A].unAdjustWithOption(this._adjustOption)}this._adjustOption=void 0}},Ig.prototype.cancelCurrentMeasure=function(){!this._currentMeasureItem||this._currentMeasureItem instanceof $p||(this._currentMeasureItem.remove(),this._currentMeasureItem=void 0)},Ig.prototype.processIntersect=function(A){if(this.isOpen){if(!A)return this._hidePickedLine(),void this._hidePickedPoint();if(A.pickPoint){var e=[A.pickPoint.x,A.pickPoint.y,void 0===A.pickPoint.z?0:A.pickPoint.z],t=e;if(A.pick){if(this._currentMode===mg&&this._currentMeasureItem&&this._currentMeasureItem.isDone()&&(this._currentMeasureItem.remove(),this._currentMeasureItem=void 0),this._currentMeasureItem||this._createNewItem(),!this._currentMeasureItem)return;if(this._currentMeasureItem instanceof og){var i=this._currentMeasureItem.pickedComponentKeys;if(i.push(A.userId),2===i.length){var o=this.config.viewer.calculateMinDistance(i[0],i[1]);if(o&&o.start&&o.end)this._currentMeasureItem.setData([[o.start.x,o.start.y,o.start.z],[o.end.x,o.end.y,o.end.z]],o.minDistance,A.measureUnit),this._currentMeasureItem.draw(void 0,this.config.pointTransformer);else this._currentMeasureItem=void 0}this.config.viewer.addToSelection(i),this.config.viewer.render()}else if(this._currentMeasureItem instanceof pg){var n=this._currentMeasureItem.pickedComponentKeys;if(0===n.length){n.push(A.userId);var r=this.config.viewer.calculateComponentVolume(n[0]);r&&(this._currentMeasureItem.setData(r.position,r.volume,A.measureUnit),this._currentMeasureItem.draw(void 0,this.config.pointTransformer)),this.config.viewer.addToSelection(n),this.config.viewer.render()}}else t=void 0,this._currentMeasureItem.addPickedPoint(e,A.measureUnit,this.config.pointTransformer),this._currentMeasureItem.draw(t,this.config.pointTransformer);if(this._currentMeasureItem&&this._currentMeasureItem.isDone()){this._currentMeasureItem instanceof $p||!this._adjustOption||this._currentMeasureItem.adjustWithOption(this._adjustOption);var a=this._currentMeasureItem.measureResult();this._currentMeasureItem instanceof $p||(this._items.push(this._currentMeasureItem),this._selectedItem&&(this._selectedItem.setSelected(!1),this._selectedItem=void 0),this._selectedItem=this._currentMeasureItem,this._selectedItem.setSelected(!0),this._currentMeasureItem=void 0),this.didEndMeasureCallback&&this.didEndMeasureCallback(a)}}else this._currentMeasureItem&&this._currentMeasureItem.draw(t,this.config.pointTransformer)}this._currentMode!==yg&&this._currentMode!==vg&&(A.pickPoint&&A.isAbsorbPoint?this._showPickedPoint(A.pickPoint):this._hidePickedPoint(),A.pickPlane?this._showPickedPanel(A.pickPoint,A.normal):this._hidePickedPanel(),A.pickLine?this._showPickedLine(A.pickLine[0],A.pickLine[1],A.measureUnit):this._hidePickedLine())}},Ig.prototype.update=function(){if(this.isOpen){for(var A=0,e=this._items.length;e>A;A+=1){this._items[A].draw(void 0,this.config.pointTransformer)}this._currentMeasureItem&&this._currentMeasureItem.draw(void 0,this.config.pointTransformer),this._adjustItem&&this._adjustItem.draw(void 0,this.config.pointTransformer),this._pickedLine&&this._pickedLine.isVisible()&&this._pickedLine.draw(void 0,this.config.pointTransformer),this._pickedPanel&&this._pickedPanel.isVisible()&&this._pickedPanel.draw(this.config.pointTransformer)}},Ig.prototype.changeSelect=function(){for(var A=0,e=this._items.length;e>A;A+=1){var t=this._items[A];t.setSelected(this._selectedItem===t)}},Ig.prototype._resize=function(){this.svg.style.width=this.config.parentDom.clientWidth,this.svg.style.height=this.config.parentDom.clientHeight},Ig.prototype._createNewItem=function(){switch(this._currentMode){case ug:this._currentMeasureItem=new ig(this.svg,this.config.isMobile,this._items.length+1);break;case fg:this._currentMeasureItem=new eg(this.svg);break;case mg:this._currentMeasureItem=new $p(this.svg);break;case Cg:this._currentMeasureItem=new tg(this.svg);break;case yg:this._currentMeasureItem=new og(this.svg);break;case vg:this._currentMeasureItem=new pg(this.svg)}if(this._currentMeasureItem){this._currentMeasureItem.is3DMode=this.config.is3DMode,this._currentMeasureItem instanceof $p||(this._adjustOption&&this._currentMeasureItem.adjustWithOption(this._adjustOption),this._unitSetByUser&&this._currentMeasureItem.changeUnit(this._unitSetByUser)),this._currentMeasureItem.changePrecision(this._precision);var A=this;this._currentMeasureItem.setClickCallback((function(e){e.isDone()&&(A._selectedItem=e,A.changeSelect())}))}},Ig.prototype._showPickedLine=function(A,e,t){var i=[A.x,A.y,void 0===A.z?0:A.z],o=[e.x,e.y,void 0===e.z?0:e.z];this._pickedLine||(this._pickedLine=new ng(this.svg),this._pickedLine.unitOfModel=t),this._adjustOption&&this._pickedLine.adjustWithOption(this._adjustOption),this._pickedLine.changeUnit(this._unitSetByUser?this._unitSetByUser:t),this._pickedLine.changePrecision(this._precision),this._pickedLine.add(),this._pickedLine.setData(i,o),this._pickedLine.draw(void 0,this.config.pointTransformer)},Ig.prototype._hidePickedLine=function(){this._pickedLine&&this._pickedLine.remove()},Ig.prototype._showPickedPoint=function(A){this._pickedPoint||(this._pickedPoint=new dg(this.svg)),this._pickedPoint.add(),this._pickedPoint.setupWithPoint(A),this._pickedPoint.draw(this.config.pointTransformer)},Ig.prototype._hidePickedPoint=function(){this._pickedPoint&&this._pickedPoint.remove()},Ig.prototype._showPickedPanel=function(A,e){this._pickedPanel||(this._pickedPanel=new hg(this.svg,this.config.viewer)),this._pickedPanel.add(),this._pickedPanel.setupWithPoint(A,e),this._pickedPanel.draw(this.config.pointTransformer)},Ig.prototype._hidePickedPanel=function(){this._pickedPanel&&this._pickedPanel.remove()},Ig.prototype._createSVG=function(A,e){var t=Lp();return t.style.width=A+"px",t.style.height=e+"px",t.style.position="absolute",t.style.left="0",t.style.top="0",t},Ig.prototype._handleKeyUp=function(A){var e=A.keyCode;27===e?this.cancelCurrentMeasure():46===e&&this.removeSelectedMeasure()};var Eg=function(A){yp.call(this,Pc.PICK_BY_MEASURE),this.controlManager=A.controlManager,this.pickHelper=new kp(A.cameraControl),this.mouseDown=new s,this.lastEvent=null,this.pick=!1,this.pickPoint=new y;var e=A.getRenderer().domElement.parentElement,t=new gg;t.parentDom=e,t.pointTransformer=A.getScreenCoordFromSceneCoord.bind(A),t.viewer=A,t.is3DMode=!0,this.measure=new Ig(t);var i=this;A.cameraControl.addEventListener(Rc.ON_CAMERA_CHANGE,(function(){i.measure.update()})),A.clearSelection()};(Eg.prototype=Object.create(yp.prototype)).constructor=Eg,Eg.prototype.destroy=function(){yp.prototype.destroy.call(this),this.editorManager=null,this.mouseDown=null,this.lastEvent=null,this.pickPoint=null,this.pickHelper.destroy(),this.pickHelper=null},Eg.prototype.processMouseDown=function(A){return!!mh.isMobileDevice()||(A.button===t.LEFT?(this.mouseDown.x=A.clientX,this.mouseDown.y=A.clientY,!1):yp.prototype.processMouseDown.call(this,A))},Eg.prototype.processMouseMove=function(A){return!1},Eg.prototype.processMouseUp=function(A){if(mh.isMobileDevice())return!0;if(A.button===t.LEFT){if(2>=new s(A.clientX,A.clientY).distanceTo(this.mouseDown)){var e=this.pickPoint.clone(),i=void 0;return i=A.shiftKey?this.pickHelper.handleShiftMeasure(A,!0,e):this.pickHelper.handleMouseMeasure(A,!0,e),this.measure.processIntersect(i),e.equals(this.pickPoint)||(this.pick=!this.pick,this.pickPoint.copy(e)),this.controlManager.isUpdateRenderList=!0,!0}return!0}return yp.prototype.processMouseUp.call(this,A)},Eg.prototype.processKeyDown=function(A){return 16===A.keyCode||yp.prototype.processKeyDown.call(this,A)},Eg.prototype.processHover=function(A){if(mh.isMobileDevice())return!0;var e=void 0;return e=A.shiftKey?this.pickHelper.handleShiftMeasure(A,!1,this.pickPoint):this.pickHelper.handleMouseMeasure(A,!1,this.pickPoint),this.measure.processIntersect(e),!0},Eg.prototype.processTouchstart=function(A){return this.mouseDown.x=A.touches[0].clientX,this.mouseDown.y=A.touches[0].clientY,A.clientX=A.touches[0].clientX,A.clientY=A.touches[0].clientY,this.lastEvent=A,yp.prototype.processTouchstart.call(this,A)},Eg.prototype.processTouchmove=function(A){return this.lastEvent=null,yp.prototype.processTouchmove.call(this,A)},Eg.prototype.processTouchend=function(A){if(null!==this.lastEvent){var e=this.pickHelper.handleMouseMeasure(this.lastEvent,!0,this.pickPoint);this.measure.processIntersect(e),this.controlManager.isUpdateRenderList=!0}return yp.prototype.processTouchend.call(this,A)},Eg.prototype.touchPointMove=function(A){this.measure.processIntersect(this.pickHelper.handleMouseMeasure(A,!1,this.pickPoint))},Eg.prototype.touchPointEnd=function(A){var e=this.pickPoint.clone(),t=this.pickHelper.handleMouseMeasure(A,!0,e);return this.measure.processIntersect(t),e.equals(this.pickPoint)||(this.pick=!this.pick,this.pickPoint.copy(e)),this.controlManager.isUpdateRenderList=!0,!0},Eg.prototype.onExit=function(A){this.measure.close();var e=this.pickHelper.scene;e.hasGroup(gp.MEASUREPICKPLANE)&&e.removeGroupByName(gp.MEASUREPICKPLANE)};var Bg,xg,Sg,wg={pickByRect:function(A,e,t,i,o,n){var r=[],a=i.octantToObjectMap,s=(A.getMatrixGlobal(),i.sceneState),l=new aA;function c(A,t,i){A&&A.frustumIntersect(e,t,i)}var h=i.filter,d=h._hasVisibleFilter(),p=h._hasPickableFilter();if(t!==Kc.Clear){var g,u,f=null,m=[];for(var C in a)if(a.hasOwnProperty(C)){var y=i.getModel(C);(f=a[C]).mesh;var v=y&&y.kdTreeNode,I=[];if(Array.isArray(v))for(var E=0,B=v.length;B>E;E+=1){var x=v[E],S=x.modelKey,w=(new M).copy(y.getModelMatrix());S&&w.multiply(y.subModel[S]),c(x,I,w)}else c(v,I,y.getModelMatrix());var b=Object.keys(y.manager.explosionList);y&&y.manager&&b.length>0&&(I=I.concat(b));for(var U=0,F=(m=uh.unique(I)).length;F>U;U+=1){var K=f.info[m[U]];if(K)for(var Q=0,R=K.length;R>Q;Q+=1){var T=K[Q];(u=void 0,u=i.isHiddenSourceObjectUserId((g=T).userId),d&&!h._isVisible(g)||p&&!h._isPickable(g)||u)||(l.copy(T.boundingBox),l.applyMatrix4(y.getModelMatrix()),this._intersectBox(e,l,n)&&!this._clipBox(o,l)&&r.push(T.userId))}}}return(r=r.concat(this.pickNonModelObjectsByRect(o,i,e,n))).length>0&&(Kc.Remove===t?(s.removeSelection(r),i.dispatchEvent({type:Rc.ON_RECTPICK_REMOVE,list:r})):Kc.Add===t&&(s.addSelection(r),i.dispatchEvent({type:Rc.ON_RECTPICK_ADD,list:r}))),r}s.clearSelection()},getObjectsInBox:function(A,e,t,i,o){var n={},r=t.octantToObjectMap,a=(A.getMatrixGlobal(),new aA);function s(A){for(var e=new y,t=0;8>t;t+=1)if(e.x=4>t?A.min.x:A.max.x,e.y=2>t/2?A.min.y:A.max.y,e.z=t%2==0?A.min.z:A.max.z,!i.clipPoint(e))return!1;return!0}function l(A){return o?!(e.min.x>A.min.x||A.max.x>e.max.x||e.min.y>A.min.y||A.max.y>e.max.y||e.min.z>A.min.z||A.max.z>e.max.z):!(e.min.x>A.max.x||A.min.x>e.max.x||e.min.y>A.max.y||A.min.y>e.max.y||e.min.z>A.max.z||A.min.z>e.max.z)}function c(A){return Boolean(!(e.max.x>A.max.x||A.min.x>e.min.x||e.max.y>A.max.y||A.min.y>e.min.y||e.max.z>A.max.z||A.min.z>e.min.z))}var h=t.filter,d=h._hasVisibleFilter(),p=h._hasPickableFilter();var g,u,f=null;for(var m in r)if(r.hasOwnProperty(m)){var C=t.getModel(m);for(var v in(f=r[m]).info)if(f.info.hasOwnProperty(v)){var I=f.info[v];if(!I)continue;for(var E=0,B=I.length;B>E;E+=1){var x=I[E];(u=void 0,u=t.isHiddenSourceObjectUserId((g=x).userId),d&&!h._isVisible(g)||p&&!h._isPickable(g)||u)||(a.copy(x.boundingBox),a.applyMatrix4(C.getModelMatrix()),!l(a)||c(a)||s(a)||(n[x.userId]=!0))}}}var S=[];for(var w in n)S.push(w);return S},pickNonModelObjectsByRect:function(A,e,t,i){var o=[],n=e.getNodeInfosInPlugins(),r=new aA;for(var a in n)if(n.hasOwnProperty(a)){var s=n[a];for(var a in s)if(s.hasOwnProperty(a)){var l=s[a][0].mesh;if(l){l instanceof Array||(l=[l]),r.empty();for(var c=0,h=l.length;h>c;c+=1){var d=l[c];d instanceof H&&r.expandByObject(d)}this._intersectBox(t,r,i)&&!this._clipBox(A,r)&&o.push(a)}}}return o},_intersectBox:(xg=new y,Sg=new y,function(A,e,t){for(var i=0,o=A.planes,n=0;6>n;n+=1){var r=o[n];xg.x=r.normal.x>0?e.min.x:e.max.x,Sg.x=r.normal.x>0?e.max.x:e.min.x,xg.y=r.normal.y>0?e.min.y:e.max.y,Sg.y=r.normal.y>0?e.max.y:e.min.y,xg.z=r.normal.z>0?e.min.z:e.max.z,Sg.z=r.normal.z>0?e.max.z:e.min.z;var a=r.distanceToPoint(xg),s=r.distanceToPoint(Sg);if(0>a&&0>s)return!1;0>a*s||(i+=1)}return t?i>=2:6===i}),_clipBox:(Bg=new y,function(A,e){for(var t=0;8>t;t+=1)if(Bg.x=4>t?e.min.x:e.max.x,Bg.y=2>t/2?e.min.y:e.max.y,Bg.z=t%2==0?e.min.z:e.max.z,!A.clipPoint(Bg))return!1;return!0})},Mg=function(A,e,t){yp.call(this,A),this.cameraControl=e,this.frustum=new Ze,this.startPt=new s,this.endPt=new s,this.eventDispatcher=t};(Mg.prototype=Object.create(yp.prototype)).constructor=Mg,Mg.prototype.destroy=function(A){yp.prototype.destroy.call(this),this.cameraControl=null,this.frustum=null,this.startPt=null,this.endPt=null,this.eventDispatcher=null},Mg.prototype.onUpdateUI=function(A){this.eventDispatcher.dispatchEvent({type:Rc.ON_CONTROL_UPDATEUI,data:A,editor:this.name})},Mg.prototype.updateFrustum=function(A,e){var t=this.startPt.x,i=this.endPt.x,o=this.startPt.y,n=this.endPt.y;if(t>i){var r=t;t=i,i=r}if(o>n){var a=o;o=n,n=a}if(i-t==0||n-o==0)return!1;var s=this.cameraControl,l=s.getContainerDimensions();return A&&s.computeFrustum(t,i,o,n,this.frustum,l),e&&this.onUpdateUI({visible:!0,dir:this.endPt.x>this.startPt.x,left:t-l.left,top:o-l.top,width:i-t,height:n-o}),!0};var bg=function(A){Mg.call(this,Pc.PICK_BY_RECT,A.cameraControl,A.modelManager),this.viewer=A,this.scene=A.getScene(),this.pickHelper=new kp(this.cameraControl),this.activatePick=!1,this.pressKey="",this.pickPoint=new y,this.snapIsEnabled=!1};(bg.prototype=Object.create(Mg.prototype)).constructor=bg,bg.prototype.destroy=function(){Mg.prototype.destroy.call(this),this.pickHelper.destroy(),this.pickHelper=null,this.viewer=null,this.scene=null,this.pickPoint=null},bg.prototype.setPressKey=function(A){this.pressKey=A},bg.prototype.processMouseDown=function(A){return A.preventDefault(),this.activatePick=A.ctrlKey||A.altKey,this.activatePick&&A.button===t.LEFT?(this.startPt.set(A.clientX,A.clientY),!0):Mg.prototype.processMouseDown(this,A)},bg.prototype.processMouseMove=function(A){return this.activatePick&&A.button===t.LEFT?(this.endPt.set(A.clientX,A.clientY),this.updateFrustum(!1,!0),!0):Mg.prototype.processMouseMove(this,A)},bg.prototype.processMouseUp=function(A){if(this.onUpdateUI({visible:!1}),this.activatePick&&A.button===t.LEFT){if(this.activatePick=!1,2>Math.abs(this.startPt.x-A.clientX)&&2>Math.abs(this.startPt.y-A.clientY))return this.pickHelper.click(A,null),!0;if(this.endPt.set(A.clientX,A.clientY),!this.updateFrustum(!0,!1))return this.pickHelper.click(A),!0;var e=Kc.Clear,i=this.pressKey||A.ctrlKey&&"ctrl"||A.altKey&&"alt"||"";return"ctrl"===i?e=Kc.Add:"alt"===i&&(e=Kc.Remove),wg.pickByRect(this.scene,this.frustum,e,this.cameraControl.viewer.modelManager,this.viewer,this.startPt.x>this.endPt.x),this.pickHelper.lastPickedUserId="",this.cameraControl.updateView(!0),!0}return Mg.prototype.processMouseUp(this,A)},bg.prototype.processTouchstart=function(A){return A.preventDefault(),this.pressKey?(this.startPt.set(A.changedTouches[0].pageX,A.changedTouches[0].pageY),!0):Mg.prototype.processTouchstart(this,A)},bg.prototype.processTouchmove=function(A){return this.pressKey?(this.endPt.set(A.changedTouches[0].pageX,A.changedTouches[0].pageY),this.updateFrustum(!1,!0),!0):Mg.prototype.processMouseMove(this,A)},bg.prototype.processTouchend=function(A){this.onUpdateUI({visible:!1});var e=A.changedTouches[0].pageX,t=A.changedTouches[0].pageY;if(this.pressKey){if(2>Math.abs(this.startPt.x-e)&&2>Math.abs(this.startPt.y-t))return this.pickHelper.click(A,null),!0;if(this.endPt.set(e,t),!this.updateFrustum(!0,!1))return this.pickHelper.click(A),!0;var i=Kc.Clear,o=this.pressKey;return"ctrl"===o?i=Kc.Add:"alt"===o&&(i=Kc.Remove),wg.pickByRect(this.scene,this.frustum,i,this.cameraControl.viewer.modelManager,this.viewer,this.startPt.x>this.endPt.x),this.pickHelper.lastPickedUserId="",this.cameraControl.updateView(!0),!0}return Mg.prototype.processTouchend(this,A)},bg.prototype.processHover=function(A){if(this.snapIsEnabled)return vc.IsMobile||this.pickHelper.handleMouseMeasure(A,!1,this.pickPoint,Rc.ON_HOVER_SNAP),!0},bg.prototype.enableSnap=function(A){this.snapIsEnabled=A};var Ug=function(A){Mg.call(this,Pc.ZOOM_BY_RECT,A.cameraControl,A.modelManager),this.scene=A.getScene(),this.activateZoom=!1};(Ug.prototype=Object.create(Mg.prototype)).constructor=Ug,Ug.prototype.destroy=function(){Mg.prototype.destroy.call(this),this.scene=null},Ug.prototype.processMouseDown=function(A){return A.button===t.LEFT?(this.startPt.set(A.clientX,A.clientY),this.activateZoom=!0,!0):Mg.prototype.processMouseDown.call(this,A)},Ug.prototype.processMouseMove=function(A){return this.activateZoom?(this.endPt.set(A.clientX,A.clientY),this.updateFrustum(!1,!0),!0):Mg.prototype.processMouseMove.call(this,A)},Ug.prototype.processMouseUp=function(A){return this.activateZoom?(this.activateZoom=!1,this.onUpdateUI({visible:!1}),this.endPt.set(A.clientX,A.clientY),this.updateFrustum(!0,!1)&&this.zoomToRectangle(),!0):Mg.prototype.processMouseUp.call(this,A)},Ug.prototype.zoomToRectangle=function(){var A=this.cameraControl.camera,e=this.cameraControl.camera.target,t=this.cameraControl.getContainerDimensions(),i=this.startPt.x,o=this.startPt.y,n=this.endPt.x,r=this.endPt.y,a=Math.abs(n-i),l=Math.abs(o-r);if(0!==a&&0!==l){var c=new s((i+n)/2,(o+r)/2),h=A.position.clone(),d=e.clone().sub(h),p=d.length(),g=0,u=this.cameraControl.getIntersectContext(c),f=this.cameraControl.intersector.hitTest(u);if(f){var m=a/l>t.width/t.height?a/t.width:l/t.height,C=f.distanceTo(h)*m;d.normalize(),g=d.clone().negate().multiplyScalar(C)}else{var v={};v.left=Math.min(i,n),v.top=Math.min(o,r),v.right=Math.max(i,n),v.bottom=Math.max(o,r);var I=this.scene.getNearDepthByRect(this.frustum,A);if(I===1/0)return;var E=new y((i+n)/2,(o+r)/2,I),B=new y(v.left,v.top,I),x=this.clientToWorld(E),S=this.clientToWorld(B),w=x.clone().sub(S).length();f=x.clone(),d.normalize(),g=d.clone().negate().multiplyScalar(w)}h=f.clone().add(g),A.position.copy(h),e.copy(h).sub(g.clone().normalize().multiplyScalar(p)),this.cameraControl.updateView(!0)}},Ug.prototype.worldToClient=function(A){var e=this.cameraControl.camera,t=new y(A.x,A.y,A.z);return t.project(e),t},Ug.prototype.clientToWorld=function(A){var e=this.cameraControl.getContainerDimensions(),t=this.cameraControl.camera,i=new y;return i.x=A.x/e.width*2-1,i.y=-A.y/e.height*2+1,i.z=A.z,i.unproject(t),i};var Fg=function(A,e){this.name=A,this.cameraControl=e,this.mouseButtons={ORBIT:t.LEFT,PAN2:t.MIDDLE,PAN:t.RIGHT},this.StateType={NONE:-1,ROTATE:0,DOLLY:1,PAN:2},this.state=this.StateType.NONE,this.zoomSpeed=Math.pow(.95,.2),this.defaultMovementSpeed=.005*vc.SceneSize,this.movementSpeed=this.defaultMovementSpeed,this.minMovementSpeed=.001,this.defaultKeyPanSpeed=2,this.keyPanSpeed=this.defaultKeyPanSpeed,this.minKeyPanSpeed=.01,this.wheelZoomFactor=45e-5,this.pointerLock=!1};Fg.prototype.getName=function(){return this.name},Fg.prototype.destroy=function(){this.scene=null,this.domElement=null,this.cameraControl=null,this.mouseButtons=null,this.StateType=null},Fg.prototype.onExit=function(){},Fg.prototype.onEnter=function(){},Fg.prototype.processMouseDown=function(A){},Fg.processMouseMove=function(A){},Fg.prototype.processMouseUp=function(A){},Fg.prototype.processMouseWheel=function(A){},Fg.prototype.processMouseDoubleClick=function(A){},Fg.prototype.processKeyDown=function(A){},Fg.prototype.processKeyUp=function(A){},Fg.prototype.processTouchstart=function(A){},Fg.prototype.processTouchmove=function(A){},Fg.prototype.processTouchend=function(A){},Fg.prototype.processHover=function(A){},Fg.prototype.processMovement=function(A){},Fg.prototype.processPointerLockEnter=function(A){},Fg.prototype.processPointerLockExit=function(A){},Fg.prototype.moveTo=function(A,e,t){},Fg.prototype.rotateTo=function(A){},Fg.prototype.dispatchEvent=function(A){this.cameraControl.viewer.getControlManager().dispatchEvent(A)},Fg.prototype.getDomElement=function(){return this.domElement},Fg.prototype.getRendererDomElement=function(){return this.rendererDomElement},Fg.prototype.updateButtons=function(A){void 0!==A.ORBIT&&(this.mouseButtons.ORBIT=A.ORBIT),void 0!==A.PAN&&(this.mouseButtons.PAN=A.PAN),void 0!==A.PAN2&&(this.mouseButtons.PAN2=A.PAN2),void 0!==A.ZOOM&&(this.mouseButtons.ZOOM=A.ZOOM)};var Kg=function(A){Fg.call(this,Gc.FLY,A),this.lookSpeed=.001,this.constrainPitch=!0,this.pitchMin=a.degToRad(5)-.5*Math.PI,this.pitchMax=.5*Math.PI-this.pitchMin,this.pitchDeltaTotal=0,this.moveState=qc.NONE,this.rotateStart=new s,this.rotateEnd=new s,this.rotateDelta=new s,this._panStart=new s,this._panEnd=new s,this._panDelta=new s,this._pan=new y,this._worldDimension=new s,this.lastMousePoint=new s,this.isLockHeight=!1,this.lockedHeight=0,this.pickHelper=new kp(A),this.intersectOfMouseDown=null};(Kg.prototype=Object.create(Fg.prototype)).constructor=Kg,Kg.prototype.destroy=function(){Fg.prototype.destroy.call(this),this.cameraControl=null,this.scene=null,this.rotateStart=null,this.rotateEnd=null,this.rotateDelta=null,this._panStart=null,this._panEnd=null,this._panDelta=null,this._pan=null,this._worldDimension=null,this.lastMousePoint=null,this.intersectOfMouseDown=null,this.pickHelper.destroy(),this.pickHelper=null},Kg.prototype.processMouseDown=function(A){A.preventDefault(),A.stopPropagation(),this.lastMousePoint.set(A.clientX,A.clientY);var e=this.cameraControl;if(this.intersectOfMouseDown=null,A.button===this.mouseButtons.ORBIT){if(jh.NoRotate)return;this.rotateStart.set(A.clientX,A.clientY),this.state=this.StateType.ROTATE,this.dispatchEvent({type:Rc.ON_CONTROL_BEGIN,name:"look",control:this.name})}else if(A.button===this.mouseButtons.PAN||A.button===this.mouseButtons.PAN2){if(jh.NoPan)return;this._panStart.set(A.clientX,A.clientY),this._worldDimension=e.getWorldDimension(A.clientX,A.clientY),this.intersectOfMouseDown=e.getLastIntersect(),this.state=this.StateType.PAN,this.isLockHeight&&(this.lockedHeight=A.clientY)}},Kg.prototype.doPan=function(A,e){var t=this.cameraControl;this._panEnd.set(A,this.isLockHeight?this.lockedHeight:e),this._panDelta.subVectors(this._panEnd,this._panStart),0===this._panDelta.x&&0===this._panDelta.y||(t.panOnWorld(this._panStart,this._panEnd,this._pan,this._worldDimension),t.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd),t.update(!0))},Kg.prototype.processMouseMove=function(A){var e=this.cameraControl;(A.preventDefault(),this.state===this.StateType.ROTATE)?(this.rotateEnd.set(A.clientX,A.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart),this.rotateStart.copy(this.rotateEnd),(0!==this.rotateDelta.x||0!==this.rotateDelta.y)&&e.rotateForFly(this.rotateDelta.x*this.lookSpeed,this.rotateDelta.y*this.lookSpeed,this.pitchMin,this.pitchMax)):this.state===this.StateType.PAN&&this.doPan(A.clientX,A.clientY)},Kg.prototype.processMouseUp=function(A){if(A.preventDefault(),A.stopPropagation(),A.button!==t.LEFT||this.lastMousePoint.x!==A.clientX||this.lastMousePoint.y!==A.clientY){this.intersectOfMouseDown=null;var e=this.cameraControl;switch(this.state){case this.StateType.ROTATE:this.rotateDelta.set(0,0);e.rotateForFly(0,0,this.pitchMin,this.pitchMax),this.dispatchEvent({type:Rc.ON_CONTROL_END,name:"look",control:this.name});break;case this.StateType.PAN:this.doPan(A.clientX,A.clientY)}e.endOperation(),this.state=this.StateType.NONE}else this.pickHelper.click(A,this.intersectOfMouseDown)},Kg.prototype.processHover=function(A){this.pickHelper.handleMouseHover(A)},Kg.prototype.processMouseWheel=function(A){A.preventDefault(),A.stopPropagation();var e=this.cameraControl;if(!jh.NoZoom){var t=A.wheelDelta||A.detail;t=Math.abs(t)>10?t:40*-t,t*=5e-4,jh.ReverseWheelDirection&&(t*=-1),this.cameraControl.delayHandle();var i=e.getContainerDimensions();e.zoom(t,i.left+.5*i.width,i.top+.5*i.height)}},Kg.prototype.processKeyDown=function(A){if(!jh.NoKey&&!A.altKey){var e=qc,t=e.NONE;switch(A.keyCode){case Ph:this.movementSpeed=this.defaultMovementSpeed;break;case Vh:this.movementSpeed*=1.1;break;case Gh:this.movementSpeed*=.9,this.minMovementSpeed>this.movementSpeed&&(this.movementSpeed=this.minMovementSpeed);break;case Fh:case Nh:t=e.FORWARD;break;case Qh:case Lh:t=e.BACK;break;case Uh:case Rh:t=e.LEFT;break;case Kh:case Th:t=e.RIGHT;break;case Dh:t=e.UP;break;case kh:t=e.DOWN}t!==e.NONE&&(this.moveState|=t,this.dispatchEvent({type:Rc.ON_CONTROL_KEYDOWN,event:A,state:t,direction:e,control:this.name}),this.cameraControl.delayHandle(),this.cameraControl.updateFlyMove(this.moveState,this.movementSpeed*jh.MovementSpeedRate))}},Kg.prototype.processKeyUp=function(A){if(!jh.NoKey){var e=qc,t=e.NONE;switch(A.keyCode){case Fh:case Nh:t=e.FORWARD;break;case Qh:case Lh:t=e.BACK;break;case Uh:case Rh:t=e.LEFT;break;case Kh:case Th:t=e.RIGHT;break;case Dh:t=e.UP;break;case kh:t=e.DOWN}t!==e.NONE&&(this.dispatchEvent({type:Rc.ON_CONTROL_KEYUP,event:A,state:t,direction:e,control:this.name}),this.moveState&=~t)}},Kg.prototype.moveTo=function(A){this.cameraControl.updateFlyMove(A,this.movementSpeed*jh.MovementSpeedRate)};var Qg=function(A,e){Fg.call(this,A,e),this.oldMouseX=-1,this.oldMouseY=-1,this.rotatePivot=null,this._rotateStart=new s,this._rotateEnd=new s,this._rotateDelta=new s,this._lastTrackingPoint=null,this.rotateSpeed=1,this._dollyStart=new s,this._dollyEnd=new s,this._dollyDelta=new s,this._dollyCenter=new s,this.zoomSpeed=Math.pow(.95,.2),this.modelManager=e.viewer.modelManager,this._panStart=new s,this._panEnd=new s,this._panDelta=new s,this._pan=new y,this._worldDimension=new s,this.pickHelper=new kp(e),this.intersectOfMouseDown=null,this.timeId=null,this.longTapFlag=!1,this.selectPad=(mh.isMobileDevice(),null),this.startPt=new s;var t=this;this.longTap=function(){t.longTapFlag=!0,Bh.log("long tap"),t.selectPad&&t.selectPad.showOverlay(t.startPt)},this._reqid=0,this._animateBinded=this._animate.bind(this),this._clock=new as,this._moving=!1};(Qg.prototype=Object.create(Fg.prototype)).constructor=Qg,Qg.prototype.destroy=function(){Fg.prototype.destroy.call(this),this.modelManager=null,this.intersectOfMouseDown=null,this.rotatePivot=null,this._rotateStart=null,this._rotateEnd=null,this._rotateDelta=null,this._lastTrackingPoint=null,this._dollyStart=null,this._dollyEnd=null,this._dollyDelta=null,this._dollyCenter=null,this._panStart=null,this._panEnd=null,this._panDelta=null,this._pan=null,this._worldDimension=null,this.startPt=null,this._animateBinded=null,this._clock=null,this.timeId&&(clearTimeout(this.timeId),this.timeId=null),this.pickHelper.destroy(),this.pickHelper=null,this.selectPad&&(this.selectPad.destroy(),this.selectPad=null)},Qg.prototype.beginPan=function(A,e){this._panStart.set(A,e),this._worldDimension=this.getWorldDimension(A,e)},Qg.prototype.processMouseDown=function(A){this.oldMouseX=A.clientX,this.oldMouseY=A.clientY;var e=this.cameraControl;this.intersectOfMouseDown=null,A.preventDefault();var t="";if(A.button===this.mouseButtons.ORBIT){if(jh.NoRotate)return;this.rotatePivot=e.calculatePivot(jh.RotatePivotMode,{x:A.clientX,y:A.clientY}),this.state=this.StateType.ROTATE,this._rotateStart.set(A.clientX,A.clientY),this._lastTrackingPoint=null,t=Gc.ORBIT}else if(A.button===this.mouseButtons.ZOOM){if(jh.NoZoom)return;this.state=this.StateType.DOLLY,this._dollyStart.set(A.clientX,A.clientY),t=Gc.ZOOM}else if(A.button===this.mouseButtons.PAN||A.button===this.mouseButtons.PAN2){if(jh.NoPan)return;this._panStart.set(A.clientX,A.clientY),this._worldDimension=e.getWorldDimension(A.clientX,A.clientY),this.state=this.StateType.PAN,t=Gc.PAN}this.dispatchEvent({type:Rc.ON_CONTROL_BEGIN,name:t,control:this.name})},Qg.prototype.processMouseMove=function(A){var e=this.cameraControl;switch(A.preventDefault(),this.state){case this.StateType.ROTATE:if(this._rotateEnd.set(A.clientX,A.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart),0===this._rotateDelta.x&&0===this._rotateDelta.y)return;this._rotateStart.copy(this._rotateEnd),e.processRotate(this._rotateDelta,this.rotatePivot);break;case this.StateType.DOLLY:if(this._dollyEnd.set(A.clientX,A.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),0===this._dollyDelta.x&&0===this._dollyDelta.y)return;this.cameraControl.adjustCameraForDolly(this._dollyDelta.y>0?this.zoomSpeed:1/this.zoomSpeed,null),this._dollyStart.copy(this._dollyEnd);break;case this.StateType.PAN:if(this._panEnd.set(A.clientX,A.clientY),this._panDelta.subVectors(this._panEnd,this._panStart),0===this._panDelta.x&&0===this._panDelta.y)return;this.cameraControl.panOnWorld(this._panStart,this._panEnd,this._pan,this._worldDimension),this.cameraControl.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd)}this.state!==this.StateType.NONE&&this.cameraControl.update(!0)},Qg.prototype.processMouseUp=function(A){if(this.state===this.StateType.NONE)return!1;this.intersectOfMouseDown=null;var e=this.cameraControl;this.oldMouseX===A.clientX&&this.oldMouseY===A.clientY||e.update(!0),this.state=this.StateType.NONE,this.rotatePivot=null,e.endOperation();var t="";return A.button===this.mouseButtons.ORBIT?t=Gc.ORBIT:A.button===this.mouseButtons.ZOOM?t=Gc.ZOOM:A.button!==this.mouseButtons.PAN&&A.button!==this.mouseButtons.PAN2||(t=Gc.PAN),this.dispatchEvent({type:Rc.ON_CONTROL_END,name:t,control:this.name}),!0},Qg.prototype.processMouseWheel=function(A){var e=this.cameraControl;if(!jh.NoZoom){A.preventDefault(),A.stopPropagation();var t=0;A.wheelDelta?t=A.wheelDelta:A.deltaY&&(t=40*-A.deltaY),Math.abs(t)>720&&(t=t>0?720:-720),t*=this.wheelZoomFactor,jh.ReverseWheelDirection&&(t*=-1),e.zoom(t,A.clientX,A.clientY),e.delayHandle(),this.dispatchEvent({type:Rc.ON_CONTROL_ZOOM})}},Qg.prototype.processKeyDown=function(A){if(!jh.NoKey&&!jh.NoPan){var e=this.cameraControl,t=null;vc.MergeComponent?(this.animationStarted||(this.animationStarted=!0,this._start()),t=!1):(t=!0,e.delayHandle()),this._moving=!0;var i=!1,o=this.movementSpeed*jh.MovementSpeedRate,n=this.keyPanSpeed*jh.MovementSpeedRate;switch(A.keyCode){case Ph:this.keyPanSpeed=e.defaultKeyPanSpeed,this.movementSpeed=e.defaultMovementSpeed;break;case Vh:this.keyPanSpeed*=1.1,this.movementSpeed*=1.1;break;case Gh:this.keyPanSpeed*=.9,this.minKeyPanSpeed>this.keyPanSpeed&&(this.keyPanSpeed=this.minKeyPanSpeed),this.movementSpeed*=.9,this.minMovementSpeed>this.movementSpeed&&(this.movementSpeed=this.minMovementSpeed);break;case Dh:e.pan(0,n),i=!0;break;case kh:e.pan(0,-n),i=!0;break;case Uh:e.processRotate({x:-10,y:0},this.rotatePivot),i=!0;break;case Rh:e.pan(n,0),i=!0;break;case Kh:e.processRotate({x:10,y:0},this.rotatePivot),i=!0;break;case Th:e.pan(-n,0),i=!0;break;case Fh:e.processRotate({x:0,y:-10},this.rotatePivot),i=!0;break;case Nh:e.moveStraight(o,!A.shiftKey),i=!0;break;case Qh:e.processRotate({x:0,y:10},this.rotatePivot),i=!0;break;case Lh:e.moveStraight(-o,!A.shiftKey),i=!0}i&&t&&e.update(!0)}},Qg.prototype.processKeyUp=function(A){if(!jh.NoKey&&!jh.NoPan)switch(A.keyCode){case qh:this.cameraControl.viewer.modelManager.sceneState.clearSelection(),this.pickHelper.lastPickedUserId=void 0,this.cameraControl.updateView(!0)}},Qg.prototype.processTouchstart=function(A){this.startPt.set(A.touches[0].clientX,A.touches[0].clientY),this.timeId&&clearTimeout(this.timeId);var e=this.cameraControl;switch(this.timeId=setTimeout(this.longTap,400),this.selectPad&&this.selectPad.hideOverlay(),A.touches.length){case 1:if(jh.NoRotate)return;this.rotatePivot=e.calculatePivot(jh.RotatePivotMode,{x:A.touches[0].clientX,y:A.touches[0].clientY}),this._rotateStart.set(A.touches[0].clientX,A.touches[0].clientY),this.state=this.StateType.ROTATE;break;case 2:if(!jh.NoZoom){var t=A.touches[0].clientX-A.touches[1].clientX,i=A.touches[0].clientY-A.touches[1].clientY;this._dollyStart.set(0,Math.sqrt(t*t+i*i))}if(!jh.NoPan)this._panStart.set(.5*(A.touches[0].clientX+A.touches[1].clientX),.5*(A.touches[0].clientY+A.touches[1].clientY));break;default:this.state=this.StateType.NONE}},Qg.prototype.processTouchmove=function(A){var e=this.cameraControl;switch(A.preventDefault(),A.touches.length){case 1:if(jh.NoRotate)return;this._rotateEnd.set(A.touches[0].clientX,A.touches[0].clientY),this._rotateDelta.subVectors(this._rotateStart,this._rotateEnd);var t=this.cameraControl.getClientSize(),i=2*Math.PI*this._rotateDelta.x/t.x*this.rotateSpeed,o=2*Math.PI*this._rotateDelta.y/t.y*this.rotateSpeed;e.handleRotation(i,o,this.rotatePivot),this._rotateStart.copy(this._rotateEnd);break;case 2:if(e.clearTouchRotateState(),!jh.NoZoom){var n=A.touches[0].clientX-A.touches[1].clientX,r=A.touches[0].clientY-A.touches[1].clientY,a=Math.sqrt(n*n+r*r);if(this._dollyEnd.set(0,a),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),Math.abs(this._dollyDelta.y)>3){var s=0;this._dollyDelta.y>0?s=1/Math.pow(this.zoomSpeed,.5*this._dollyDelta.y):0>this._dollyDelta.y&&(s=Math.pow(this.zoomSpeed,.5*-this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),e.touchDolly(.5*(A.touches[0].clientX+A.touches[1].clientX),.5*(A.touches[0].clientY+A.touches[1].clientY),s),this.state=this.StateType.DOLLY}}if(!jh.NoPan){var l=.5*(A.touches[0].clientX+A.touches[1].clientX),c=.5*(A.touches[0].clientY+A.touches[1].clientY);if(this._panEnd.set(l,c),this._panDelta.subVectors(this._panEnd,this._panStart),3>Math.abs(this._panDelta.x)&&3>Math.abs(this._panDelta.y))return;this._worldDimension=e.getWorldDimension(l,c),e.panOnWorld(this._panStart,this._panEnd,this._pan,this._worldDimension),e.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd),this.state=this.StateType.PAN}}e.touchUpdate()},Qg.prototype.processTouchend=function(A){this.timeId&&clearTimeout(this.timeId),this.longTapFlag&&(this.longTapFlag=!1,A.preventDefault());var e=this.cameraControl;switch(A.touches.length){case 0:this.state=this.StateType.NONE,e.touchEndHandler(A);break;case 1:if(jh.NoRotate)return;this._rotateStart.set(A.touches[0].clientX,A.touches[0].clientY),this.state=this.StateType.ROTATE}},Qg.prototype.processHover=function(A){this.pickHelper.handleMouseHover(A)},Qg.prototype.moveTo=function(A){if(void 0!==A){var e=this.cameraControl;if(!jh.NoKey&&!jh.NoPan){var t=this.movementSpeed*jh.MovementSpeedRate,i=this.keyPanSpeed*jh.MovementSpeedRate,o=qc;switch(A){case o.FORWARD:e.moveForward(t,!0);break;case o.BACK:e.moveBackward(t,!0);break;case o.LEFT:e.pan(i,0);break;case o.RIGHT:e.pan(-i,0);break;case o.UP:e.pan(0,i);break;case o.DOWN:e.pan(0,-i);break;default:A=o.NONE}A!==o.NONE&&e.update(!0,!0)}}},Qg.prototype._updateMove=function(){this._moving&&(this._moving=!1,this.cameraControl.update(!0))},Qg.prototype._animate=function(){this._reqid=requestAnimationFrame(this._animateBinded),this._updateMove()},Qg.prototype._start=function(){this._animate()},Qg.prototype._stop=function(){cancelAnimationFrame(this._reqid)},Qg.prototype.onExit=function(){vc.MergeComponent&&this.animationStarted&&(this._stop(),this.animationStarted=!1)};var Rg=function(A){Qg.call(this,Gc.ORBIT,A),this.mouseButtons={ORBIT:t.LEFT,PAN2:t.MIDDLE,PAN:t.RIGHT}};(Rg.prototype=Object.create(Qg.prototype)).constructor=Rg;var Tg=function(A){Qg.call(this,Gc.PAN,A),this.mouseButtons={ORBIT:t.RIGHT,PAN2:t.MIDDLE,PAN:t.LEFT}};(Tg.prototype=Object.create(Qg.prototype)).constructor=Tg;var kg=function(A){Rg.call(this,A,Gc.PICK)};(kg.prototype=Object.create(Rg.prototype)).constructor=kg,kg.prototype.processMouseUp=function(A){A.preventDefault();var e=1>=Math.abs(this.oldMouseX-A.clientX)&&1>=Math.abs(this.oldMouseY-A.clientY);A.button!==t.LEFT&&A.button!==t.RIGHT||e&&(this.pickHelper.click(A,this.intersectOfMouseDown),this.intersectOfMouseDown=null),e||A.button!==this.mouseButtons.ORBIT&&A.button!==this.mouseButtons.PAN||this.cameraControl.update(!0),this.intersectOfMouseDown=null,this.state=this.StateType.NONE;var i="";A.button===this.mouseButtons.ORBIT?i=Gc.ORBIT:A.button===this.mouseButtons.ZOOM?i=Gc.ZOOM:A.button!==this.mouseButtons.PAN&&A.button!==this.mouseButtons.PAN2||(i=Gc.PAN,e||this.dispatchEvent({type:Rc.ON_MOUSE_DRAGGED,event:A})),this.dispatchEvent({type:Rc.ON_CONTROL_END,name:i,Control:this.name})},kg.prototype.processMouseDoubleClick=function(A){A.button===t.LEFT&&this.pickHelper.doubleClick(A)};var Dg=function(A){this.control=A,this.cameraControl=A.cameraControl,this.dim=this.cameraControl.getContainerDimensions(),this.pad=null,this.padSize=96,this.startPt=new s,this.position=new s,this.callback=null,this.intersect=null,this.destroy=function(){this.control=null,this.cameraControl=null,this.dim=null,this.pad=null,this.startPt=null,this.position=null,this.callback=null,this.intersect=null},this.init=function(){window.addEventListener("resize",this.padInitBind,!1),this.pad=document.createElement("div"),this.padInit(),this.cameraControl.domElement.appendChild(this.pad),this.addEventListener()},this.addEventListener=function(){this.pad.addEventListener("touchstart",this.padOnTouchStartBind,!1),this.pad.addEventListener("touchmove",this.padOnTouchMoveBind,!1),this.pad.addEventListener("touchend",this.padOnTouchEndBind,!1)},this.padInit=function(){null!==this.pad&&(this.pad.style.backgroundImage="url(images/selectPad.png)",this.pad.style.backgroundSize="100%",this.pad.style.position="absolute",this.pad.style.width=this.padSize.toString()+"px",this.pad.style.height=this.padSize.toString()+"px",this.pad.style.zIndex="10",this.pad.style.display="none")},this.showOverlay=function(A){this.position=A,this.pad.style.left=this.position.x.toString()+"px",this.pad.style.top=(this.position.y-this.dim.top).toString()+"px",this.pad.style.display=""},this.hideOverlay=function(){this.pad.style.display="none"},this.pick=function(){var A=this.position.x,e=this.position.y,t=this.cameraControl,i=t.viewer.modelManager.sceneState,o=this,n=new s(A,e),r=t.getIntersectContext(n);t.intersector.pick(r,(function(A){if(i.clearSelection(),!A)return t.updateView(!0),void(o.intersect=null);var e=A.userId;t.viewer.getScene().intersectToWorld(A,t.viewer),i.addSelection([e]),o.intersect=A,t.updateView(!0)})),null!==o.intersect&&(o.intersect.cx=A,o.intersect.cy=e)},this.onTouchStart=function(A){1===A.touches.length&&(A.stopPropagation(),A.preventDefault(),this.startPt.set(A.touches[0].clientX,A.touches[0].clientY))},this.onTouchMove=function(A){if(1===A.touches.length){A.stopPropagation(),A.preventDefault();var e=A.touches[0].clientY-this.startPt.y;this.position.x+=A.touches[0].clientX-this.startPt.x,this.position.y+=e,this.pad.style.left=this.position.x.toString()+"px",this.pad.style.top=(this.position.y-this.dim.top).toString()+"px",this.startPt.set(A.touches[0].clientX,A.touches[0].clientY),this.pick(A)}},this.onTouchEnd=function(A){A.stopPropagation(),null!==this.callback?this.callback(this.intersect):console.log("selectPad click",this.intersect)},this.padInitBind=this.padInit.bind(this),this.padOnTouchStartBind=this.onTouchStart.bind(this),this.padOnTouchEndBind=this.onTouchEnd.bind(this),this.padOnTouchMoveBind=this.onTouchMove.bind(this),this.init()},Lg=function(A){Fg.call(this,Gc.WALK,A),this.mouseButtons={ORBIT:t.LEFT,PAN2:t.MIDDLE,PAN:t.RIGHT},this.pickHelper=new kp(A),this.lastMousePoint=new s,this._reqid=0,this._animateBinded=this._animate.bind(this),this._clock=new as,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.startPt=new s,this.timeId=null,this.rotateSpeed=1,this._rotateStart=new s,this._rotateEnd=new s,this._rotateDelta=new s,this._dollyStart=new s,this._dollyEnd=new s,this._dollyDelta=new s,this._dollyCenter=new s,this.zoomSpeed=Math.pow(.95,.2),this._panStart=new s,this._panEnd=new s,this._panDelta=new s,this._pan=new y,this.selectPad=mh.isMobileDevice()?new Dg(this):null,this.moveVector=new y(0,0,0),this.rotationVector=new y(0,0,0),this.zoomDelta=0,this.rotateStart=new s,this.rotateEnd=new s,this.rotateDelta=new s,this.firstRotate=!0,this.dragLook=!0,this.lockHeightEnabled=!1,this.isLockHeight=!1,this.lockedHeight=0,this.pickEnabled=!0,this.mouseType=null;var e=A.viewer.getScene().getBoundingBoxWorld();this.defaultMovementSpeed=e?e.getSize(new y(0,0,0)).length()/10:1500,this.movementSpeed=this.defaultMovementSpeed,this.shiftSpeedup=!1,this.setFocuse=function(){var A=document.querySelector(".main-canvas");A&&A.focus&&A.focus()}};(Lg.prototype=Object.create(Fg.prototype)).constructor=Lg,Lg.prototype.destroy=function(){Fg.prototype.destroy.call(this),this.pickHelper.destroy(),this.pickHelper=null,this.selectPad&&(this.selectPad.destroy(),this.selectPad=null),this.timeId&&(clearTimeout(this.timeId),this.timeId=null),this._clock=null,this._animateBinded=null,this.mouseButtons=null,this.moveState=null,this.startPt=null,this.lastMousePoint=null,this.rotateStart=null,this.rotateEnd=null,this.rotateDelta=null,this._rotateStart=null,this._rotateEnd=null,this._rotateDelta=null,this._dollyStart=null,this._dollyEnd=null,this._dollyDelta=null,this._dollyCenter=null,this._panStart=null,this._panEnd=null,this._panDelta=null,this._pan=null,this.moveVector=null,this.rotationVector=null,this.rotateStart=null,this.rotateEnd=null,this.rotateDelta=null},Lg.prototype._animate=function(){this._reqid=requestAnimationFrame(this._animateBinded),this.updateWalkMove()},Lg.prototype._start=function(){this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this._animate()},Lg.prototype._stop=function(){cancelAnimationFrame(this._reqid)},Lg.prototype._updateMovement=function(){this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.z=this.isLockHeight?0:-this.moveState.down+this.moveState.up,this.moveVector.y=-this.moveState.forward+this.moveState.back},Lg.prototype._updateRotation=function(){this.rotationVector.x=jh.LockAxisZ?0:-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.z=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.y=-this.moveState.rollRight+this.moveState.rollLeft},Lg.prototype._doRotate=function(A){vc.WalkingWithViewLock&&(A.y=0);var e=this.cameraControl.getClientSize(),t=e.y/2;this.moveState.yawLeft=A.x/(e.x/2),this.moveState.pitchDown=A.y/t,this._updateRotation()},Lg.prototype.processMouseDown=function(A){this.oldMouseX=A.clientX,this.oldMouseY=A.clientY;var e=this.cameraControl;if(A.button===this.mouseButtons.ORBIT){if(A.preventDefault(),A.stopPropagation(),this.mouseType=A.button,this.lastMousePoint.set(A.clientX,A.clientY),this.firstRotate=!1,A.button===this.mouseButtons.ORBIT){if(jh.NoRotate)return;this.rotateStart.set(A.clientX,A.clientY),this.state=this.StateType.ROTATE,this.dispatchEvent({type:Rc.ON_CONTROL_BEGIN,name:"look",control:this.name})}}else if(A.button===this.mouseButtons.PAN||A.button===this.mouseButtons.PAN2){if(jh.NoPan)return;this._panStart.set(A.clientX,A.clientY),this._worldDimension=e.getWorldDimension(A.clientX,A.clientY),this.state=this.StateType.PAN,this.dispatchEvent({type:Rc.ON_CONTROL_BEGIN,name:Gc.PAN,control:this.name})}},Lg.prototype.processMouseUp=function(A){return A.preventDefault(),A.stopPropagation(),A.button===this.mouseButtons.PAN&&this.setFocuse(),this.mouseType=null,this.pickEnabled&&(A.button===t.LEFT||A.button===t.RIGHT)&&2>Math.abs(this.lastMousePoint.x-A.clientX)&&2>Math.abs(this.lastMousePoint.y-A.clientY)?(this.state=this.StateType.NONE,void this.pickHelper.click(A)):(this.state===this.StateType.ROTATE&&(this.moveState.yawLeft=this.moveState.pitchDown=0,this.dispatchEvent({type:Rc.ON_CONTROL_END,name:"look",control:this.name})),this.state=this.StateType.NONE,!0)},Lg.prototype.processMouseMove=function(A){if(A.preventDefault(),this.dragLook&&this.state===this.StateType.ROTATE&&0===this.mouseType){if(this.rotateEnd.set(A.clientX,A.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart),0===this.rotateDelta.x&&0===this.rotateDelta.y)return;this.rotateStart.copy(this.rotateEnd),this._doRotate(this.rotateDelta)}else{switch(this.state){case this.StateType.DOLLY:if(this._dollyEnd.set(A.clientX,A.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),0===this._dollyDelta.x&&0===this._dollyDelta.y)return;this.cameraControl.adjustCameraForDolly(this._dollyDelta.y>0?this.zoomSpeed:1/this.zoomSpeed,null),this._dollyStart.copy(this._dollyEnd);break;case this.StateType.PAN:if(this._panEnd.set(A.clientX,A.clientY),this._panDelta.subVectors(this._panEnd,this._panStart),0===this._panDelta.x&&0===this._panDelta.y)return;this.cameraControl.panOnWorld(this._panStart,this._panEnd,this._pan,this._worldDimension),this.cameraControl.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd)}this.state!==this.StateType.NONE&&this.cameraControl.update(!0)}},Lg.prototype.processTouchstart=function(A){this.startPt.set(A.touches[0].clientX,A.touches[0].clientY),this.timeId&&clearTimeout(this.timeId);switch(this.timeId=setTimeout(this.longTap,400),this.selectPad&&this.selectPad.hideOverlay(),A.touches.length){case 1:if(jh.NoRotate)return;this._rotateStart.set(A.touches[0].clientX,A.touches[0].clientY),this.state=this.StateType.ROTATE;break;case 2:if(!jh.NoZoom){var e=A.touches[0].clientX-A.touches[1].clientX,t=A.touches[0].clientY-A.touches[1].clientY;this._dollyStart.set(0,Math.sqrt(e*e+t*t))}if(!jh.NoPan)this._panStart.set(.5*(A.touches[0].clientX+A.touches[1].clientX),.5*(A.touches[0].clientY+A.touches[1].clientY));break;default:this.state=this.StateType.NONE}},Lg.prototype.processTouchmove=function(A){this.timeId&&clearTimeout(this.timeId);var e=this.cameraControl;switch(A.preventDefault(),A.touches.length){case 1:this.dragLook&&this.state===this.StateType.ROTATE&&(this._rotateEnd.set(A.touches[0].clientX,A.touches[0].clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart),this._rotateStart.copy(this._rotateEnd),this._doRotate(this._rotateDelta));break;case 2:if(e.clearTouchRotateState(),!jh.NoZoom){var t,i=A.touches[0].clientX-A.touches[1].clientX,o=A.touches[0].clientY-A.touches[1].clientY,n=Math.sqrt(i*i+o*o);if(this._dollyEnd.set(0,n),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),Math.abs(this._dollyDelta.y)>3)this._dollyDelta.y>0?t=1/Math.pow(this.zoomSpeed,.5*this._dollyDelta.y):0>this._dollyDelta.y&&(t=Math.pow(this.zoomSpeed,.5*-this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),e.touchDolly(.5*(A.touches[0].clientX+A.touches[1].clientX),.5*(A.touches[0].clientY+A.touches[1].clientY),t),this.state=this.StateType.DOLLY}if(!jh.NoPan){var r=.5*(A.touches[0].clientX+A.touches[1].clientX),a=.5*(A.touches[0].clientY+A.touches[1].clientY);if(this._panEnd.set(r,a),this._panDelta.subVectors(this._panEnd,this._panStart),3>Math.abs(this._panDelta.x)&&3>Math.abs(this._panDelta.y))return;this._worldDimension=e.getWorldDimension(r,a),e.panOnWorld(this._panStart,this._panEnd,this._pan,this._worldDimension),e.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd),this.state=this.StateType.PAN}}e.touchUpdate()},Lg.prototype.processTouchend=function(A){this.timeId&&clearTimeout(this.timeId),this.longTapFlag&&(this.longTapFlag=!1,A.preventDefault());var e=this.cameraControl;switch(A.touches.length){case 0:this.state=this.StateType.NONE,e.touchEndHandler(A);break;case 1:if(jh.NoRotate)return;this._rotateStart.set(A.touches[0].clientX,A.touches[0].clientY),this.state=this.StateType.ROTATE}},Lg.prototype.processHover=function(A){this.dragLook||(this.firstRotate&&(this.firstRotate=!1,this.rotateStart.set(A.clientX,A.clientY)),this.rotateEnd.set(A.clientX,A.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart),this.rotateStart.copy(this.rotateEnd),this._doRotate(this.rotateDelta))},Lg.prototype.processMouseWheel=function(A){var e=this.cameraControl;if(A.preventDefault(),A.stopPropagation(),!jh.NoZoom){var t=0;A.wheelDelta?t=A.wheelDelta:A.deltaY&&(t=40*-A.deltaY),Math.abs(t)>720&&(t=t>0?720:-720),t*=this.wheelZoomFactor,jh.ReverseWheelDirection&&(t*=-1),e.zoom(t,A.clientX,A.clientY),e.delayHandle(),this.dispatchEvent({type:Rc.ON_CONTROL_ZOOM})}},Lg.prototype.processKeyDown=function(A){if(!jh.NoKey&&!A.altKey){var e=qc.NONE;switch(A.key){case"0":this.movementSpeed=this.defaultMovementSpeed;break;case"=":case"+":this.movementSpeed*=1.1;break;case"-":case"——":this.movementSpeed*=.9,this.minMovementSpeed>this.movementSpeed&&(this.movementSpeed=this.minMovementSpeed);break;case"ArrowUp":case"w":case"W":e=qc.FORWARD,this.moveState.forward=1;break;case"ArrowDown":case"s":case"S":e=qc.BACK,this.moveState.back=1;break;case"ArrowLeft":case"a":case"A":e=qc.LEFT,this.moveState.left=1;break;case"ArrowRight":case"d":case"D":e=qc.RIGHT,this.moveState.right=1;break;case"q":case"Q":e=qc.UP,this.moveState.up=1;break;case"e":case"E":e=qc.DOWN,this.moveState.down=1;break;case"Shift":this.shiftSpeedup||(this.movementSpeed+=this.defaultMovementSpeed,this.shiftSpeedup=!0);break;case"Tab":return this.moveVector.set(0,0,0),this.moveState.forward=0,this.moveState.back=0,this.moveState.left=0,this.moveState.right=0,this.moveState.up=0,void(this.moveState.down=0)}this._updateMovement(),this._updateRotation(),e!==qc.NONE&&this.dispatchEvent({type:Rc.ON_CONTROL_KEYDOWN,event:A,direction:e,control:this.name})}},Lg.prototype.processKeyUp=function(A){if(!jh.NoKey){var e=qc.NONE;switch(A.key){case"ArrowUp":case"W":case"w":e=qc.FORWARD,this.moveState.forward=0;break;case"ArrowDown":case"s":case"S":e=qc.BACK,this.moveState.back=0;break;case"ArrowLeft":case"a":case"A":e=qc.LEFT,this.moveState.left=0;break;case"ArrowRight":case"d":case"D":e=qc.RIGHT,this.moveState.right=0;break;case"q":case"Q":e=qc.UP,this.moveState.up=0;break;case"e":case"E":e=qc.DOWN,this.moveState.down=0;break;case"Shift":this.shiftSpeedup&&(this.movementSpeed-=this.defaultMovementSpeed,this.shiftSpeedup=!1);break;default:e=qc.NONE}this._updateMovement(),this._updateRotation(),e!==qc.NONE&&this.dispatchEvent({type:Rc.ON_CONTROL_KEYUP,event:A,direction:e,control:this.name})}},Lg.prototype.updateWalkMove=function(){var A=this._clock.getDelta(),e=this.cameraControl,t=e.camera.position.z;if(0!==this.moveVector.x||0!==this.moveVector.y||0!==this.moveVector.z||0!==this.rotationVector.x||0!==this.rotationVector.y||0!==this.rotationVector.z||0!==this.zoomDelta){var i=this.movementSpeed*jh.WalkSpeedRate*A;if(!0===vc.WalkingWithGravity&&(this.moveVector.z=0,e.computeManHeight(),e.computeGravity()),e.dirtyCamera(!0),0!==this.zoomDelta)e.zoomCameraForWalk(1+this.zoomDelta*A),this.zoomDelta=0;0!==i&&e.translateCameraForWalk(this.moveVector,i),e.rotateCameraForWalk(this.rotationVector,this.dragLook?1:2),e.flyOnWorld(!1),this.moveState.pitchUp=0,this.moveState.pitchDown=0,this.moveState.yawLeft=0,this.moveState.yawRight=0,this.moveState.rollLeft=0,this.moveState.rollRight=0,t!==e.camera.position.z&&e.viewer.modelManager.dispatchEvent({type:Rc.ON_CAMERA_HEIGHT_CHANGED,cameraPosition:e.camera.position.clone()})}},Lg.prototype.onEnter=function(){var A=this.cameraControl.getCamera();A.isPerspective||(console.log("Current camera is Orthographic"),A.toPerspective()),this._start()},Lg.prototype.onExit=function(){this._stop()},Lg.prototype.rotateTo=function(A){this._doRotate(A)},Lg.prototype.moveTo=function(A,e,t){if(void 0===t&&(t=!0),void 0===e&&(e=1),t)switch(A){case qc.FORWARD:this.moveState.forward=e;break;case qc.BACK:this.moveState.back=e;break;case qc.LEFT:this.moveState.left=e;break;case qc.RIGHT:this.moveState.right=e;break;case qc.UP:this.moveState.up=e;break;case qc.DOWN:this.moveState.down=e}else switch(A){case qc.FORWARD:this.moveState.forward=0;break;case qc.BACK:this.moveState.back=0;break;case qc.LEFT:this.moveState.left=0;break;case qc.RIGHT:this.moveState.right=0;break;case qc.UP:this.moveState.up=0;break;case qc.DOWN:this.moveState.down=0}this._updateMovement()},Lg.prototype.setHeightLocked=function(A){this.lockHeightEnabled&&this.isLockHeight!==A&&(this.isLockHeight=A)},Lg.prototype.setDragLook=function(A){this.dragLook!==A&&(this.firstRotate=!0,this.dragLook=A)},Lg.prototype.processPointerLockEnter=function(){this.pointerLock=!0},Lg.prototype.processPointerLockExit=function(){this.pointerLock=!1},Lg.prototype.processMovement=function(A){this.rotateDelta.set(A.movementX||A.mozMovementX||A.webkitMovementX||0,A.movementY||A.mozMovementY||A.webkitMovementY||0),this._doRotate(this.rotateDelta)};var Ng=function(A){Qg.call(this,Gc.ZOOM,A),this.mouseButtons={ZOOM:t.LEFT,PAN2:t.MIDDLE,PAN:t.RIGHT}};(Ng.prototype=Object.create(Qg.prototype)).constructor=Ng;var Og=function(){this.control=null,this.controls={},this.tools=[],this.domElement=null,this.enabled=!0,this.isUpdateRenderList=!0;var A=!1,e=this;function t(t){if(e.enabled){for(var i=e.tools,o=i.length-1;o>=0;o-=1)if(i[o].onEvent(t)){switch(t.type){case"mouseup":A=!1}return}switch(t.type){case"touchmove":e.control.processTouchmove(t);break;case"touchstart":e.control.processTouchstart(t);break;case"touchend":e.control.processTouchend(t);break;case"keydown":e.control.processKeyDown(t);break;case"keyup":e.control.processKeyUp(t);break;case"wheel":case"mousewheel":case"DOMMouseScroll":e.cameraChange=!0,e.control.processMouseWheel(t);break;case"mousedown":!function(t){e.setFocuse(),A=!0,e.isUpdateRenderList=!1,e.control?e.control.processMouseDown(t):Bh.warn("control is null")}(t);break;case"mousemove":!function(t){e.pointerLock?e.control.processMovement(t):A?(e.isUpdateRenderList=!1,e.cameraChange=!0,e.control.processMouseMove(t)):e.control.processHover(t)}(t);break;case"mouseup":!function(t){e.isUpdateRenderList=!0,A&&(e.control.processMouseUp(t),A=!1)}(t);break;case"dblclick":e.control.processMouseDoubleClick(t)}}else e.cameraChange=!1}function i(A){A.preventDefault()}function o(A){document.pointerLockElement===e.domElement||document.mozPointerLockElement===e.domElement||document.webkitPointerLockElement===e.domElement?(e.pointerLock=!0,e.control.processPointerLockEnter(A)):(e.pointerLock=!1,e.control.processPointerLockExit(A),e.domElement.focus(),e.control.dispatchEvent({type:Rc.ON_POINTERLOCK_EXIST,name:e.control.getName()}))}function n(A){e.pointerLock=!1,e.control.processPointerLockExit(A),e.control.dispatchEvent({type:Rc.ON_POINTERLOCK_EXIST,name:e.control.getName()})}this.setFocuse=function(){if(e.domElement){var A=e.domElement.querySelector(".main-canvas");A&&A.focus&&A.focus()}},this.setFocus=this.setFocuse,this.getCameraControl=function(){return this.cameraControl},this.registerDomEventListeners=function(A){this.domElement=A,A.addEventListener("contextmenu",i,!1),A.addEventListener("mousedown",t,!1),A.addEventListener("mousewheel",t,!1),A.addEventListener("DOMMouseScroll",t,!1),A.addEventListener("wheel",t,!1),A.addEventListener("dblclick",t,!1),window.addEventListener("mousemove",t,!1),window.addEventListener("mouseup",t,!1),A.addEventListener("touchstart",t,!1),A.addEventListener("touchend",t,!1),A.addEventListener("touchmove",t,!1),window.addEventListener("touchmove",(function(A){}),!1),A.addEventListener("keydown",t,!1),window.addEventListener("keyup",t,!1),document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),document.addEventListener("webkitpointerlockchange",o,!1),document.addEventListener("pointerlockerror",n,!1),document.addEventListener("mozpointerlockerror",n,!1),document.addEventListener("webkitpointerlockerror",n,!1),this.setFocuse()},this.unregisterDomEventListeners=function(A){A.removeEventListener("contextmenu",i,!1),A.removeEventListener("mousedown",t,!1),A.removeEventListener("mousewheel",t,!1),A.removeEventListener("DOMMouseScroll",t,!1),A.removeEventListener("dblclick",t,!1),window.removeEventListener("mousemove",t,!1),window.removeEventListener("mouseup",t,!1),A.removeEventListener("touchstart",t,!1),A.removeEventListener("touchend",t,!1),A.removeEventListener("touchmove",t,!1),A.removeEventListener("keydown",t,!1),window.removeEventListener("keyup",t,!1),document.removeEventListener("pointerlockchange",o,!1),document.removeEventListener("mozpointerlockchange",o,!1),document.removeEventListener("webkitpointerlockchange",o,!1),document.removeEventListener("pointerlockerror",n,!1),document.removeEventListener("mozpointerlockerror",n,!1),document.removeEventListener("webkitpointerlockerror",n,!1)}};Og.prototype={constructor:Og,destroy:function(){for(var A in this.control=null,this.controls){this.controls[A].destroy()}this.controls={};for(var e=0,t=this.tools.length;t>e;e+=1)this.tools[e].destroy();this.tools=null,this.unregisterDomEventListeners(this.domElement),this.domElement=null},getCurrentControlName:function(){return this.control?this.control.name:""},_getControlByName:function(A,e){var t=this.controls[e];if(t)return t;var i=Gc;this.viewer=A,this.cameraControl=A.cameraControl;var o=A.cameraControl;switch(e){case i.ORBIT:t=new Rg(o);break;case i.PICK:t=new kg(o);break;case i.PAN:t=new Tg(o);break;case i.FLY:t=new Kg(o);break;case i.WALK:t=new Lg(o);break;case i.ZOOM:t=new Ng(o);break;default:t=null,Bh.error("invalid control name")}return t&&(t.name=e,this.controls[e]=t),t},getCurrentControlMode:function(){return this.control},getCurrentControl:function(){return this.control},setControlMode:function(A,e){var t=this._getControlByName(A,e);t&&this.control!==t&&(null!==this.control&&(this.control.dispatchEvent({type:Rc.ON_CONTROL_EXIST,name:this.control.getName()}),this.control.onExit()),this.control=t,this.control.onEnter(),this.control.dispatchEvent({type:Rc.ON_CONTROL_ENTER,name:this.control.getName()}))},getToolByName:function(A){for(var e=this.tools.length,t=0;e>t;t+=1)if(this.tools[t].name===A)return this.tools[t]},enableTool:function(A,e){for(var t=Pc,i=this.tools,o=0,n=i.length;n>o;o+=1)if(i[o].name===e)return;var r=null;switch(e){case t.PICK_BY_RECT:r=new bg(A);break;case t.ZOOM_BY_RECT:r=new Ug(A);break;case t.CLIP_BY_BOX:r=new vp(A);break;case t.CLIP_FILL:r=new Sp(A);break;case t.PICK_BY_MEASURE:r=new Eg(A);break;case t.COMPONENT_TRANSFORM:r=new Ip(A.getScene(),A.camera,A.domElement)}r&&i.push(r)},disableTool:function(A){for(var e=this.tools,t=0,i=e.length;i>t;t+=1)if(e[t].name===A){e[t].onExit(),this.dispatchEvent({type:Rc.ON_CONTROL_EXIST,name:A}),e.splice(t,1);break}},setInteractiveState:function(A){this.enabled=A},requestPointerLock:function(){this.control instanceof Lg&&(this.domElement.requestPointerLock=this.domElement.requestPointerLock||this.domElement.mozRequestPointerLock||this.domElement.webkitRequestPointerLock,this.domElement.requestPointerLock())}},Object.assign(Og.prototype,Ld.prototype);var Vg=function(){this.className="FilterAction"};Vg.prototype.getClassName=function(){return this.className},Vg.prototype.applyFilter=function(A){};var Gg=function(){Vg.call(this),this.className="IdsFilterAction",this.ids=[]};(Gg.prototype=Object.create(Vg.prototype)).arrayToMap=function(A){for(var e={},t=0;A.length>t;t+=1){var i=A[t];e[i]=i}return e},Gg.prototype.constructor=Gg,Gg.prototype.setIds=function(A){this.ids=A};var Pg=function(A,e){Gg.call(this),this.className="VisibleIdsFA",this.flag=A,this.isVisible=e};(Pg.prototype=Object.create(Gg.prototype)).constructor=Pg,Pg.prototype.applyFilter=function(A){Array.isArray(this.ids)?(A.setVisible(this.ids,this.isVisible,this.flag),A.calculateVisibleComponentsBbox()):Bh.warn("Ids should be type of array.")};var qg=function(A,e){Gg.call(this),this.className="OverrideIdsFA",this.flag=A,this.material=e};(qg.prototype=Object.create(Gg.prototype)).constructor=qg,qg.prototype.applyFilter=function(A){Array.isArray(this.ids)?A.setMaterial(this.ids,this.material,this.flag):Bh.warn("Ids should be type of array.")};var jg=function(A,e){Gg.call(this),this.className="WireframeIdsFA",this.flag=A,this.material=e};(jg.prototype=Object.create(Gg.prototype)).constructor=jg,jg.prototype.applyFilter=function(A){Array.isArray(this.ids)?A.setMaterial(this.ids,this.material,this.flag):Bh.warn("Ids should be type of array.")};var Hg=function(A){Gg.call(this),this.className="IsolateIdsFA",this.isolateHide=A};(Hg.prototype=Object.create(Gg.prototype)).constructor=Hg,Hg.prototype.applyFilter=function(A){Array.isArray(this.ids)?(A.clearIsolates(),this.isolateHide?(A.setIsolateHide(this.ids,!0,!1),A.calculateVisibleComponentsBbox()):A.setIsolateTransparent(this.ids,!0,!1)):Bh.warn("Ids should be type of array.")};var Yg=function(A,e){Gg.call(this),this.className="TransparentIdsFA",this.flag=A,this.isOpaque=e};(Yg.prototype=Object.create(Gg.prototype)).constructor=Yg,Yg.prototype.applyFilter=function(A){Array.isArray(this.ids)?A.setTransparent(this.ids,!this.isOpaque,this.flag):Bh.warn("Ids should be type of array.")};var Wg=function(){Vg.call(this),this.className="ConditionFilterAction",this.conditions=null};(Wg.prototype=Object.create(Vg.prototype)).constructor=Wg;var Jg=function(A,e){Wg.call(this),this.className="VisibleConditionFA",this.flag=A,this.isVisible=e};(Jg.prototype=Object.create(Wg.prototype)).constructor=Jg,Jg.prototype.applyFilter=function(A){var e=this;Array.isArray(this.conditions)?(A.matchConditions(this.conditions,(function(t,i){e.flag===i&&(A.setVisible(t,e.isVisible),t=null)})),A.calculateVisibleComponentsBbox()):Bh.warn("Conditions should be type of array.")};var zg=function(A,e){Wg.call(this),this.className="OverrideConditionFA",this.flag=A,this.material=e};(zg.prototype=Object.create(Wg.prototype)).constructor=zg,zg.prototype.applyFilter=function(A,e){var t=this;Array.isArray(this.conditions)?A.matchConditions(this.conditions,(function(e,i){t.flag===i&&(A.setMaterial(e,t.material),e=null)})):Bh.warn("Conditions should be type of array.")};var Zg=function(A,e){Wg.call(this),this.className="TransparentConditionFA",this.flag=A,this.isOpaque=e};(Zg.prototype=Object.create(Wg.prototype)).constructor=Zg,Zg.prototype.applyFilter=function(A){var e=this;Array.isArray(this.conditions)?A.matchConditions(this.conditions,(function(t,i){e.flag===i&&(A.setTransparent(t,!e.isOpaque),t=null)})):Bh.warn("Conditions should be type of array.")};var Xg=function(A){Wg.call(this),this.className="IsolateConditionFA",this.isolateHide=A};(Xg.prototype=Object.create(Wg.prototype)).constructor=Xg,Xg.prototype.applyFilter=function(A){A.clearIsolates();var e=this.isolateHide;Array.isArray(this.conditions)?A.matchConditions(this.conditions,(function(t,i){!0!==i?(e?(A.setIsolateHide(t,!i),A.calculateVisibleComponentsBbox()):A.setIsolateTransparent(t,!i),t=null):t=null})):Bh.warn("Conditions should be type of array.")};var _g=function(A){this._activeFilterList=[],this._filterResultModes={},this._defaultReturnValue=A,this._filterPriority=null};_g.prototype.setFilterMode=function(A){this._filterResultModes=A},_g.prototype.setFilterPriority=function(A){this._filterPriority=A},_g.prototype.addBaseFilter=function(A){var e=this._activeFilterList,t=e.indexOf(A);if(null===this._filterPriority)-1===t?e.push(A):t!==e.length-1&&(e.splice(t,1),e.push(A));else if(0===e.length)e.push(A);else{-1!==t&&t!==e.length-1&&e.splice(t,1);for(var i=this._filterPriority[A.getType()],o=0,n=e.length;n>o;o+=1)if(this._filterPriority[e[o].getType()]>i){e.splice(o,0,A);break}o===n&&e.push(A)}},_g.prototype.removeBaseFilter=function(A){var e=this._activeFilterList.indexOf(A);-1!==e&&this._activeFilterList.splice(e,1)},_g.prototype.isEmpty=function(){return 0===this._activeFilterList.length},_g.prototype.hasFilterNotIn=function(A){for(var e=this._activeFilterList,t=e.length-1;t>=0;t-=1){if(void 0===A._filterResultModes[e[t].getType()])return!0}return!1},_g.prototype.apply=function(A){for(var e=Jc,t=null,i=this._activeFilterList.length-1;i>=0;i-=1)switch(this._filterResultModes[(t=this._activeFilterList[i]).getType()]){case e.MATCH_RETURN_TRUE:if(t.match(A))return!0;break;case e.MATCH_RETURN_FALSE:if(t.match(A))return!1;break;case e.NOMATCH_RETURN_TRUE:if(!t.match(A))return!0;break;case e.NOMATCH_RETURN_FALSE:if(!t.match(A))return!1;break;default:return!1}return this._defaultReturnValue},_g.prototype.getApplyFilterId=function(A){for(var e=Jc,t=null,i=this._activeFilterList.length-1;i>=0;i-=1)switch(this._filterResultModes[(t=this._activeFilterList[i]).getType()]){case e.MATCH_RETURN_TRUE:case e.MATCH_RETURN_FALSE:if(t.match(A))return t.getType();break;case e.NOMATCH_RETURN_TRUE:case e.NOMATCH_RETURN_FALSE:if(!t.match(A))return t.getType();break;default:return-1}return-1},Math.log2=Math.log2||function(A){return Math.log(A)/Math.LN2},"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(A){return this.slice(0,A.length)===A}),Array.prototype.remove||Object.defineProperty(Array.prototype,"remove",{enumerable:!1,value:function(A){var e=this.indexOf(A);e>-1&&this.splice(e,1)}}),"undefined"!=typeof window&&mh.isIE11()&&function(){function A(A,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var t=document.createEvent("CustomEvent");return t.initCustomEvent(A,e.bubbles,e.cancelable,e.detail),t}A.prototype=window.CustomEvent.prototype,window.CustomEvent=A}(),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(A){return this.slice(0,A.length)===A}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(A){return-1!==this.indexOf(A,this.length-A.length)}),"undefined"!=typeof window&&(window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder),Number.isInteger=Number.isInteger||function(A){return"number"==typeof A&&isFinite(A)&&Math.floor(A)===A},String.prototype.repeat=String.prototype.repeat||function(A){if(1>A)return"";for(var e="",t=this.valueOf();A>1;)1&A&&(e+=t),A>>=1,t+=t;return e+t},Array.prototype.fill||Object.defineProperty(Array.prototype,"fill",{enumerable:!1,value:function(A,e,t){t=void 0===t?this.length:t;for(var i=e=void 0===e?0:e;t>i;i+=1)this[i]=A}}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{enumerable:!1,value:function(A,e){for(var t=this.length,i=0;t>i;i+=1){var o=this[i];if(A.call(e,o,i,this))return o}}}),Array.prototype.hasValue||Object.defineProperty(Array.prototype,"hasValue",{enumerable:!1,value:function(A){return this.indexOf(A)>-1}}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(A,e){if(null==A)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(A),i=1;arguments.length>i;i+=1){var o=arguments[i];if(null!=o)for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])}return t},writable:!0,configurable:!0}),ArrayBuffer.prototype.slice||(ArrayBuffer.prototype.slice=function(A,e){if(!e||e>this.byteLength?e=this.byteLength:0>e&&0>(e=this.byteLength+e)&&(e=0),0>A&&0>(A=this.byteLength+A)&&(A=0),A>=e)return new ArrayBuffer;for(var t=e-A,i=new Uint8Array(this,A,t),o=new Uint8Array(t),n=0;t>n;n+=1)o[n]=i[n];return o.buffer}),Float32Array.prototype.slice||(Float32Array.prototype.slice=Float32Array.prototype.subarray),Uint32Array.prototype.slice||(Uint32Array.prototype.slice=Uint32Array.prototype.subarray),Int32Array.prototype.slice||(Int32Array.prototype.slice=Int32Array.prototype.subarray),Int16Array.prototype.slice||(Int16Array.prototype.slice=Int16Array.prototype.subarray);var $g,Au="function"==typeof Symbol&&"symbol"===lc(Symbol.iterator)?function(A){return lc(A)}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":lc(A)},eu=function(){function A(A,e){for(var t=0;e.length>t;t+=1){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(A,i.key,i)}}return function(e,t,i){return t&&A(e.prototype,t),i&&A(e,i),e}}();HTMLElement.prototype.tap=function(A){var e=0;this.addEventListener("touchstart",(function(A){e=Date.now()})),this.addEventListener("touchend",(function(t){200>Date.now()-e&&A(t)}))},(Boolean(window.ActiveXObject)||"ActiveXObject"in window)&&(HTMLElement.prototype.remove=function(){var A=this.parentNode||this.parentElement;A&&A.removeChild(this)},window.Element&&(($g=Element.prototype).matches=$g.matches||$g.matchesSelector||$g.webkitMatchesSelector||$g.msMatchesSelector||function(A){for(var e=(this.parentNode||this.document).querySelectorAll(A),t=-1;e[t+=1]&&e[t]!==this;);return Boolean(e[t])}),window.Element&&function(A){A.closest=A.closest||function(A){for(var e=this;e.matches&&!e.matches(A);)e=e.parentNode;return e.matches?e:null}}(Element.prototype)),SVGElement.prototype.getClass=HTMLElement.prototype.getClass=function(A){return this.getAttribute("class")},SVGElement.prototype.hasClass=HTMLElement.prototype.hasClass=function(A){var e=this.getClass();return!!e&&(e&&e.split(" ")).indexOf(A)>-1},SVGElement.prototype.addClass=HTMLElement.prototype.addClass=function(A){var e=this.getClass(),t=e&&e.split(" ");return e?-1===t.indexOf(A)&&(t.push(A),e=t.join(" "),this.setAttribute("class",String(e))):this.setAttribute("class",String(A)),this},SVGElement.prototype.removeClass=HTMLElement.prototype.removeClass=function(A){if(!this.hasClass(A))return this;var e=this.getClass().replace(A,"").trim();return e?this.setAttribute("class",String(e)):this.removeAttribute("class"),this},SVGElement.prototype.toggleClass=HTMLElement.prototype.toggleClass=function(A,e){this.getClass();var t=this.hasClass(A);return null!=e?(e&&!t&&this.addClass(A),e||this.removeClass(A)):t?this.removeClass(A):this.addClass(A),!t},Array.prototype.getObjectByAttribute||Object.defineProperty(Array.prototype,"getObjectByAttribute",{enumerable:!1,value:function(A,e){for(var t=this.length,i=0;t>i;i+=1)if(this[i][A]===e)return this[i];return!1}}),Array.prototype.removeObjectByAttribute||Object.defineProperty(Array.prototype,"removeObjectByAttribute",{enumerable:!1,value:function(A,e){for(var t=this,i=t.length,o=0;i>o;o+=1)if(t[o][A]===e)return t=t.splice(o,1);return!1}}),Array.prototype.getAllObjectByAttribute||Object.defineProperty(Array.prototype,"getAllObjectByAttribute",{enumerable:!1,value:function(A,e){for(var t=this.length,i=0,o=[];t>i;i+=1)this[i][A]===e&&o.push(this[i]);return o}}),Array.prototype.removeByValue||Object.defineProperty(Array.prototype,"removeByValue",{enumerable:!1,value:function(A){for(var e=this.length-1;e>=0;e-=1)this[e]===A&&this.splice(e,1);return this}}),Array.prototype.insert||Object.defineProperty(Array.prototype,"insert",{enumerable:!1,value:function(A,e){return this.splice(A,0,e),this}}),SVGElement.prototype.setCss=HTMLElement.prototype.setCss=function(A){if(A)for(var e in A)this.style[e]=A[e]},SVGElement.prototype.getCss=HTMLElement.prototype.getCss=function(){return this.style};var tu=function(A,e){this._type=A,this._name=e,this._enabled=!1,this._items={},this._relatedCompoundFilterList=[]};tu.prototype.getType=function(){return this._type},tu.prototype.getName=function(){return this._name},tu.prototype.get=function(){return this._items},tu.prototype.getAll=function(){return this._items},tu.prototype.clearAll=function(){this._items={},this._enabled&&(this._enabled=!1,this.enableStateChanged())},tu.prototype.clear=function(){this.clearAll()},tu.prototype.isEmpty=function(){return!this._enabled},tu.prototype.forceEnable=function(){this._enabled||(this._enabled=!0,this.enableStateChanged())},tu.prototype.setByData=function(A){!function(A){if(null===A)return!0;if("object"!==(void 0===A?"undefined":Au(A)))return!0;for(var e in A)if(A.hasOwnProperty(e))return!1;return!0}(A)?(this._items=A,this._enabled||(this._enabled=!0,this.enableStateChanged())):(this._items={},this._enabled&&(this._enabled=!1,this.enableStateChanged()))},tu.prototype.match=function(A){return!1},tu.prototype.registerToCompoundFilter=function(A){this._relatedCompoundFilterList.push(A)},tu.prototype.enableStateChanged=function(){for(var A=0,e=this._relatedCompoundFilterList.length;e>A;A+=1)this._enabled?this._relatedCompoundFilterList[A].addBaseFilter(this):this._relatedCompoundFilterList[A].removeBaseFilter(this)};var iu=function(A,e){tu.call(this,A,e)};(iu.prototype=Object.create(tu.prototype)).constructor=iu,iu.prototype.match=function(A){var e=A.userData;return!e||function(A,e){for(var t=!1,i=0,o=A.length;o>i;i+=1){t=!0;var n=A[i];for(var r in n){if(!Array.isArray(n[r])&&e[r]!==n[r]){t=!1;break}if(Array.isArray(n[r])&&-1===n[r].indexOf(e[r])){t=!1;break}}if(t)return!0}return!1}(this._items,e)};var ou=function(A,e){tu.call(this,A,e)};(ou.prototype=Object.create(tu.prototype)).constructor=ou,ou.prototype.add=function(A){var e=this._items;if(A&&A.length>0){for(var t=0,i=A.length;i>t;t+=1)e[A[t]]=!0;this._enabled||(this._enabled=!0,this.enableStateChanged())}},ou.prototype.remove=function(A){var e=this._items;if(A&&A.length>0){for(var t=0,i=A.length;i>t;t+=1){var o=A[t];e.hasOwnProperty(o)&&delete e[o]}0===Object.keys(e).length&&this._enabled&&(this._enabled=!1,this.enableStateChanged())}};var nu=function(A,e){ou.call(this,A,e)};(nu.prototype=Object.create(ou.prototype)).constructor=nu,nu.prototype.match=function(A){var e=A.name;if(e){var t=e.indexOf(".");if(-1!==t){var i=e.substring(0,t);return!!this._items[i]}}var o=A.userData;if(o&&(i=o.sceneId))return!!this._items[i];return!1};var ru=function(A,e){ou.call(this,A,e)};(ru.prototype=Object.create(ou.prototype)).constructor=ru,ru.prototype.match=function(A){return!!this._items[A.name]};var au=function(){this.defaultWireframeColor={color:new LA(0,0,0),opacity:.4},this.wireframeMaterial=new jA(this.defaultWireframeColor),!1===vc.TranslucentDepthDisabled&&(this.wireframeMaterial.transparent=!0),this.instanceWireframeMaterial=Kd.createInstanceMaterial(Kd.getMaterialParameters(this.wireframeMaterial)),!1===vc.TranslucentDepthDisabled&&(this.instanceWireframeMaterial.transparent=!0),this.wireframeGeometryMap={}};au.prototype.destroy=function(){this.wireframeMaterial.dispose(),this.wireframeMaterial=null,this.instanceWireframeMaterial.destroy(),this.instanceWireframeMaterial=null,this.wireframeGeometryMap=null,this.defaultWireframeColor.color=null,this.defaultWireframeColor=null},au.prototype.setWireframeColor=function(A,e){this.wireframeMaterial.color=A,this.wireframeMaterial.opacity=e,this.wireframeMaterial.transparent=1!==e,this.instanceWireframeMaterial.color=A,this.instanceWireframeMaterial.opacity=e,this.instanceWireframeMaterial.transparent=1!==e},au.prototype.getWireframeColor=function(){var A=this.wireframeMaterial.color.clone();return A.opacity=this.wireframeMaterial.opacity,A},au.prototype.restoreWireframeColor=function(){var A=this.defaultWireframeColor;this.setWireframeColor(A.color,A.opacity)};var su=function(){new au;var A=[{name:"scene",param:{name:"scene",color:8947848,opacity:.4,transparent:!0,side:2}},{name:"darkRed",param:{name:"darkRed",color:10496040,opacity:1,transparent:!1,side:2}},{name:"lightBlue",param:{name:"lightBlue",color:1275840,opacity:1,transparent:!1,side:2}},{name:"black",param:{name:"black",color:0,opacity:.3,transparent:!0,side:2}},{name:"add",param:{name:"add",color:65280,opacity:1,transparent:!0,side:2}},{name:"delete",param:{name:"delete",color:16711680,opacity:.5,transparent:!0,side:2}},{name:"beforeEdit",param:{name:"beforeEdit",color:16432389,opacity:.5,transparent:!0,side:2}},{name:"afterEdit",param:{name:"afterEdit",color:16432389,opacity:1,transparent:!0,side:2}}],e={};e.selection=Kd.createHighlightMaterial(),e.selection.name="selection";for(var t=0,i=A.length;i>t;t+=1){var o=A[t],n=o.name;e[n]=Kd.createStandardMaterial(o.param),e[n].createByBos=!0}e.red=e.delete,e.green=e.add,e.yellow=e.beforeEdit,e.blue=e.selection;var r={color:8947848,opacity:.2,transparent:!0,side:2},a=Kd.createStandardMaterial(r);a.name="isolate";var s={color:8947848,opacity:.2,transparent:!0,side:2},l=Kd.createStandardMaterial(s);l.name="looming";var c={color:0,opacity:1,transparent:!1,wireframe:!0,side:2},h=Kd.createStandardMaterial(c);h.name="wireframe",e.wireframe=h;var d={color:15293,side:2},p=Kd.createStandardMaterial(d);for(var g in p.name="selected",this.getDefaultMaterialName=function(){return"lightBlue"},this.get=function(A){return e[A]},this.getAll=function(){return e},this.add=function(A){var t,i=null,o={};return A&&A.hasOwnProperty("color")&&(o.color=A.color,o.side=2,A.hasOwnProperty("opacity")&&(o.opacity=A.opacity,o.transparent=1!==A.opacity)),t=this._getMaterialName(A),(i=e[t])||(o.name=t,i=Kd.createStandardMaterial(o),e[t]=i,e[t].createByBos=!0),t},this.remove=function(A){var t;t=this._getMaterialName(A),e[t]&&delete e[t]},this.has=function(A){return Boolean(e[A])},this.getMaterialNameByColor=function(A){var t;return t=this._getMaterialName(A),e[t]?t:this.add(A)},this.getMaterialNameByWireframe=function(A){var t;return(t=this._getMaterialName(A))&&!e[t]?this.add(A):t},this.addOverrideMaterial=function(A){if(A){var t=A.name;e[t]||(e[t]=A)}},this.updateOverrideMaterial=function(A){A&&(e[A.name]=A)},this.getMaterialParamsFromName=function(A){var e={},t=A.split("_");return"mat"===t[0]?(e.color=parseInt(t[1],0),e.opacity=1):(e.color=parseInt(t[0],0),e.opacity=parseFloat(t[1],0)),e},this._getMaterialName=function(A){var e=null;return A&&A.hasOwnProperty("color")?e=A.hasOwnProperty("opacity")?A.color+"_"+A.opacity:"mat_"+A.color:A&&A.hasOwnProperty("wireframe")?A.wireframe&&(e="wireframe"):e="mat_"+A,e},this.setWireframeMaterial=function(A){e.wireframe.color.setHex(void 0!==A.color?A.color:c.color),e.wireframe.opacity=void 0!==A.opacity?A.opacity:c.opacity,e.wireframe.transparent=void 0!==A.transparent?A.transparent:c.transparent,e.wireframe.side=void 0!==A.side?A.side:c.side,e.wireframe.needsUpdate=!0},this.getWireframeMaterial=function(){return e.wireframe},this.setFrozonMaterial=function(A){l.color.setHex(void 0!==A.color?A.color:s.color),l.opacity=void 0!==A.opacity?A.opacity:s.opacity,l.transparent=void 0!==A.transparent?A.transparent:s.transparent,l.side=void 0!==A.side?A.side:s.side,l.needsUpdate=!0},this.getFrozonMaterial=function(){return l},this.setSelectedMaterial=function(A){p.color.setHex(void 0!==A.color?A.color:d.color),p.opacity=void 0!==A.opacity?A.opacity:d.opacity,p.transparent=void 0!==A.transparent?A.transparent:d.transparent,p.side=void 0!==A.side?A.side:d.side,p.needsUpdate=!0},this.getSelectedMaterial=function(){return p},this.setIsolateMaterial=function(A){a.color.setHex(void 0!==A.color?A.color:r.color),a.opacity=void 0!==A.opacity?A.opacity:r.opacity,a.transparent=void 0!==A.transparent?A.transparent:r.transparent,a.side=void 0!==A.side?A.side:r.side,a.needsUpdate=!0},this.getIsolateMaterial=function(){return a},this.resetIsolateMaterial=function(){a.color.setHex(r.color),a.opacity=r.opacity,a.transparent=r.transparent,a.side=r.side,a.needsUpdate=!0},e)e[g].createByBos=!0},lu=function(A,e){tu.call(this,A,e)};(lu.prototype=Object.create(tu.prototype)).constructor=lu,lu.prototype.match=function(A){return null!==this.getMatchItem(A)},lu.prototype.getMatchItem=function(A){var e=this._items,t=A.userData,i=!1;if(t)for(var o=e.length,n=0;o>n;n+=1){var r=e[n],a=r.condition;for(var s in i=!0,a)if(a[s]!==t[s]){i=!1;break}if(i)return r}return null};var cu=function(A,e){tu.call(this,A,e)};(cu.prototype=Object.create(tu.prototype)).constructor=cu,cu.prototype.remove=function(A,e){var t=this._items[A];if(t&&e&&e.length>0){for(var i=0,o=e.length;o>i;i+=1){var n=e[i];t.hasOwnProperty(n)&&delete t[n]}uh.isEmptyObject(this._items)&&this._enabled&&(this._enabled=!1,this.enableStateChanged())}},cu.prototype.add=function(A,e,t){var i=this._items,o=i[A];if(e&&e.length>0){void 0===t&&(t=!0),o||(o=i[A]={});for(var n=0,r=e.length;r>n;n+=1)o[e[n]]=t;this._enabled||(this._enabled=!0,this.enableStateChanged())}},cu.prototype.clear=function(A){var e=this._items;e.hasOwnProperty(A)&&(delete e[A],uh.isEmptyObject(e)&&this._enabled&&(this._enabled=!1,this.enableStateChanged()))};var hu=function(A,e){tu.call(this,A,e)};(hu.prototype=Object.create(cu.prototype)).constructor=hu,hu.prototype.match=function(A){return null!==this.getMatchItem(A)},hu.prototype.getMatchItem=function(A){var e=this._items,t=A.name;for(var i in e){var o=e[i];if(o[t])return o[t]}return null};var du=function(A,e){tu.call(this,A,e)};(du.prototype=Object.create(cu.prototype)).constructor=du,du.prototype.match=function(A){return null!==this.getMatchItem(A)},du.prototype.getMatchItem=function(A){var e=this._items,t=A.userData;if(t)for(var i in e){var o=e[i],n=t[i];if(n&&void 0!==o[n])return o[n]}return null};var pu=function(){var A=Jc,e={IDFILTER_OFFSET:0,FILE_VISIBLE:0,FILE_HIDDEN:1,VISIBLE:2,HIDDEN:3,TRANSLUCENT:4,TRANSLUCENT_OTHERS:5,WIREFRAME:24,COLORFUL:25,RENDER_PROMOTION:6,IDFILTER_ENDOFFSET:6,ISOLATEFILTER_OFFSET:7,ISOLATE_HIDDEN:7,ISOLATE_HIDDEN_OTHERS:8,ISOLATE_TRANSLUCENT:9,ISOLATE_TRANSLUCENT_OTHERS:10,ISOLATEFILTER_ENDOFFSET:10,USERFILTER_OFFSET:11,USER_HIDDEN:11,USER_OVERRIDE:12,USER_WITH_BOARDLINE:13,USERFILTER_ENDOFFSET:13,CONDITIONFILTER_OFFSET:14,CONDITION_HIDDEN_OTHERS:14,CONDITION_TRANSLUCENT_OTHERS:15,CONDITION_OVERRIDE:16,CONDITION_BORDERLINE:26,CONDITIONFILTER_ENDOFFSET:16,ISOLATECONDITIONFILTER_OFFSET:17,ISOLATE_CONDITION_HIDDEN:17,ISOLATE_CONDITION_HIDDEN_OTHERS:18,ISOLATE_CONDITION_TRANSLUCENT:19,ISOLATE_CONDITION_TRANSLUCENT_OTHERS:20,ISOLATECONDITIONFILTER_ENDOFFSET:20,FROZENFILTER:21,FROZENCONDITIONFILTER:22,OVERRIDEFILTER:23,BASICFILTER_COUNT:23},t=new _g(!0),i=new _g(!0),o=new _g(!1),n=new _g(!0),r=new _g(!1),a=new _g(!1),s=new _g(!1),l=[],c=null,h=null,d=Vc.DISABLED,p=new su;!function(){l[e.FILE_VISIBLE]=new nu(e.FILE_VISIBLE,"FILE_VISIBLE"),l[e.FILE_HIDDEN]=new nu(e.FILE_HIDDEN,"FILE_HIDDEN"),l[e.VISIBLE]=new ru(e.VISIBLE,"VISIBLE"),l[e.HIDDEN]=new ru(e.HIDDEN,"HIDDEN"),l[e.TRANSLUCENT]=new ru(e.TRANSLUCENT,"TRANSLUCENT"),l[e.TRANSLUCENT_OTHERS]=new ru(e.TRANSLUCENT_OTHERS,"TRANSLUCENT_OTHERS"),l[e.RENDER_PROMOTION]=new ru(e.RENDER_PROMOTION,"RENDER_PROMOTION"),l[e.WIREFRAME]=new ru(e.WIREFRAME,"WIREFRAME"),l[e.COLORFUL]=new ru(e.COLORFUL,"COLORFUL"),l[e.ISOLATE_HIDDEN]=new ru(e.ISOLATE_HIDDEN,"ISOLATE_HIDDEN"),l[e.ISOLATE_HIDDEN_OTHERS]=new ru(e.ISOLATE_HIDDEN_OTHERS,"ISOLATE_HIDDEN_OTHERS"),l[e.ISOLATE_TRANSLUCENT]=new ru(e.ISOLATE_TRANSLUCENT,"ISOLATE_TRANSLUCENT"),l[e.ISOLATE_TRANSLUCENT_OTHERS]=new ru(e.ISOLATE_TRANSLUCENT_OTHERS,"ISOLATE_TRANSLUCENT_OTHERS"),l[e.USER_HIDDEN]=new du(e.USER_HIDDEN,"USER_HIDDEN"),l[e.USER_OVERRIDE]=new du(e.USER_OVERRIDE,"USER_OVERRIDE"),l[e.CONDITION_BORDERLINE]=new iu(e.CONDITION_BORDERLINE,"CONDITION_BORDERLINE"),l[e.CONDITION_HIDDEN_OTHERS]=new iu(e.CONDITION_HIDDEN_OTHERS,"CONDITION_HIDDEN_OTHERS"),l[e.CONDITION_TRANSLUCENT_OTHERS]=new iu(e.CONDITION_TRANSLUCENT_OTHERS,"CONDITION_TRANSLUCENT_OTHERS"),l[e.CONDITION_OVERRIDE]=new lu(e.CONDITION_OVERRIDE,"CONDITION_OVERRIDE"),l[e.ISOLATE_CONDITION_HIDDEN]=new iu(e.ISOLATE_CONDITION_HIDDEN,"ISOLATE_CONDITION_HIDDEN"),l[e.ISOLATE_CONDITION_HIDDEN_OTHERS]=new iu(e.ISOLATE_CONDITION_HIDDEN_OTHERS,"ISOLATE_CONDITION_HIDDEN_OTHERS"),l[e.ISOLATE_CONDITION_TRANSLUCENT]=new iu(e.ISOLATE_CONDITION_TRANSLUCENT,"ISOLATE_CONDITION_TRANSLUCENT"),l[e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=new iu(e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS,"ISOLATE_CONDITION_TRANSLUCENT_OTHERS"),h=new ru(e.FROZENFILTER,"FROZENFILTER"),l[e.FROZENCONDITIONFILTER]=new iu(e.FROZENCONDITIONFILTER,"FROZENCONDITIONFILTER"),l[e.FROZENFILTER]=h,c=new hu(e.OVERRIDEFILTER,"OVERRIDEFILTER"),l[e.OVERRIDEFILTER]=c;var d=null,p={};for(d in p[e.HIDDEN]=A.MATCH_RETURN_FALSE,p[e.VISIBLE]=A.NOMATCH_RETURN_FALSE,p[e.USER_HIDDEN]=A.MATCH_RETURN_FALSE,p[e.CONDITION_HIDDEN_OTHERS]=A.NOMATCH_RETURN_FALSE,p[e.ISOLATE_HIDDEN]=A.MATCH_RETURN_FALSE,p[e.ISOLATE_HIDDEN_OTHERS]=A.NOMATCH_RETURN_FALSE,p[e.ISOLATE_CONDITION_HIDDEN_OTHERS]=A.NOMATCH_RETURN_FALSE,t.setFilterMode(p),p)l[d].registerToCompoundFilter(t);var g={};for(d in g[e.FROZENFILTER]=A.MATCH_RETURN_FALSE,g[e.FROZENCONDITIONFILTER]=A.MATCH_RETURN_FALSE,g[e.TRANSLUCENT]=A.MATCH_RETURN_FALSE,g[e.TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_FALSE,g[e.CONDITION_TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_FALSE,g[e.ISOLATE_TRANSLUCENT]=A.MATCH_RETURN_FALSE,g[e.ISOLATE_TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_FALSE,g[e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_FALSE,n.setFilterMode(g),g)l[d].registerToCompoundFilter(n);var u={};u[e.ISOLATE_TRANSLUCENT]=A.MATCH_RETURN_TRUE,u[e.ISOLATE_TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_TRUE,u[e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_TRUE,u[e.CONDITION_TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_TRUE,u[e.TRANSLUCENT]=A.MATCH_RETURN_TRUE,u[e.TRANSLUCENT_OTHERS]=A.NOMATCH_RETURN_TRUE,u[e.OVERRIDEFILTER]=A.MATCH_RETURN_TRUE,u[e.USER_OVERRIDE]=A.MATCH_RETURN_TRUE,u[e.CONDITION_OVERRIDE]=A.MATCH_RETURN_TRUE,u[e.FROZENFILTER]=A.MATCH_RETURN_TRUE,u[e.FROZENCONDITIONFILTER]=A.MATCH_RETURN_TRUE;var f={};for(d in f[e.ISOLATE_TRANSLUCENT]=5,f[e.ISOLATE_TRANSLUCENT_OTHERS]=5,f[e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=5,f[e.CONDITION_TRANSLUCENT_OTHERS]=5,f[e.TRANSLUCENT]=5,f[e.TRANSLUCENT_OTHERS]=5,f[e.OVERRIDEFILTER]=0,f[e.USER_OVERRIDE]=0,f[e.CONDITION_OVERRIDE]=0,f[e.FROZENFILTER]=3,f[e.FROZENCONDITIONFILTER]=3,i.setFilterMode(u),i.setFilterPriority(f),u)l[d].registerToCompoundFilter(i);var m={};for(d in m[e.OVERRIDEFILTER]=A.MATCH_RETURN_TRUE,m[e.USER_OVERRIDE]=A.MATCH_RETURN_TRUE,m[e.CONDITION_OVERRIDE]=A.MATCH_RETURN_TRUE,m[e.CONDITION_TRANSLUCENT_OTHERS]=A.MATCH_RETURN_TRUE,o.setFilterMode(m),m)l[d].registerToCompoundFilter(o);var C={};for(d in C[e.FILE_VISIBLE]=A.NOMATCH_RETURN_TRUE,C[e.FILE_HIDDEN]=A.MATCH_RETURN_TRUE,r.setFilterMode(C),C)l[d].registerToCompoundFilter(r);var y={};for(d in y[e.RENDER_PROMOTION]=A.MATCH_RETURN_TRUE,y[e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=A.MATCH_RETURN_TRUE,a.setFilterMode(y),y)l[d].registerToCompoundFilter(a);var v={};for(d in v[e.CONDITION_BORDERLINE]=A.MATCH_RETURN_TRUE,s.setFilterMode(v),v)l[d].registerToCompoundFilter(s)}(),this.getMaterialSelector=function(){return p},this.getBasicFilterList=function(){return l},this.getFilterType=function(){return e},this.saveState=function(){for(var A={},e=null,t=0,i=l.length;i>t;t+=1)A[(e=l[t]).getName()]=e.getAll();return A.sceneState=this.getSceneState(),A.version="1.0",A},this.loadState=function(A){if(this.clearAll(),A.hasOwnProperty("version")){if("1.0"===A.version){for(var t={},i=0,o=l.length;o>i;i+=1)t[l[i].getName()]=i;for(var n in A)"sceneState"!==n&&"version"!==n&&(t.hasOwnProperty(n)?l[t[n]].setByData(A[n]):Bh.warn("Warning: Not supported filter '"+n+"'"))}}else for(var r in A)"sceneState"!==r&&(2>r?l[r].setByData(A[r]):r>2?e.BASICFILTER_COUNT+2>r&&l[r-1].setByData(A[r]):2!==r&&"2"!==r||Bh.warn("Warning: Old version filter data! The selection state is out of the filter, can not restore it."));this.setSceneState(A.sceneState)},this.clear=function(){for(var A=0,t=l.length;t>A;A+=1){var i=l[A].getType();i!==e.FROZENFILTER&&i!==e.CONDITION_BORDERLINE&&l[A].clearAll()}this.setSceneState(Vc.DISABLED)},this.clearAll=function(){for(var A=0,e=l.length;e>A;A+=1)l[A].clearAll();this.setSceneState(Vc.DISABLED)},this.clearIsolate=function(){this.clearAllIsolateList(),this.clearAllIsolateConditions()},this.clearFrozenList=function(){h.clearAll()},this.addToFrozenList=function(A){h.add(A)},this.removeFromFrozenList=function(A){h.remove(A)},this.setFrozenList=function(A){this.clearFrozenList(),this.addToFrozenList(A)},this.setFrozenConditions=function(A){l[e.FROZENCONDITIONFILTER].setByData(A)},this.getFrozenConditions=function(){return l[e.FROZENCONDITIONFILTER].getAll()},this.clearFrozenConditions=function(){l[e.FROZENCONDITIONFILTER].clear()},this.clearFrozen=function(){this.clearFrozenList(),this.clearFrozenConditions()},this.clearAllIdList=function(){var A=null;for(A=e.IDFILTER_OFFSET;e.IDFILTER_ENDOFFSET>=A;A+=1)l[A].clearAll()},this.clearIdList=function(A){var t=e.IDFILTER_OFFSET+A;e.IDFILTER_OFFSET>t||t>e.IDFILTER_ENDOFFSET||l[t].clear()},this.addToIdList=function(A,t){var i=e.IDFILTER_OFFSET+A;e.IDFILTER_OFFSET>i||i>e.IDFILTER_ENDOFFSET||l[i].add(t)},this.removeFromIdList=function(A,t){var i=e.IDFILTER_OFFSET+A;e.IDFILTER_OFFSET>i||i>e.IDFILTER_ENDOFFSET||l[i].remove(t)},this.setIdList=function(A,e){this.clearIdList(A),this.addToIdList(A,e)},this.clearAllOverrideList=function(){c.clearAll()},this.clearOverrideList=function(A){c.clear(A)},this.addToOverrideList=function(A,e,t){e&&e.length>0&&(p.has(t)||(t=p.getDefaultMaterialName()),c.add(A,e,t))},this.removeFromOverrideList=function(A,e){c.remove(A,e)},this.setOverrideList=function(A,e,t){this.clearOverrideList(A),this.addToOverrideList(A,e,t)},this.addToOverrideListByColor=function(A,e,t){var i=p.add(t);c.add(A,e,i)},this.setOverrideListByColor=function(A,e,t){this.clearOverrideList(A),this.addToOverrideListByColor(A,e,t)},this.clearAllUserList=function(){var A=null;for(A=e.USERFILTER_OFFSET;e.USERFILTER_ENDOFFSET>=A;A+=1)l[A].clearAll()},this.clearUserListByType=function(A){var t=e.USERFILTER_OFFSET+A;e.USERFILTER_OFFSET>t||t>e.USERFILTER_ENDOFFSET||l[t].clearAll()},this.clearUserList=function(A,t){var i=e.USERFILTER_OFFSET+A;e.USERFILTER_OFFSET>i||i>e.USERFILTER_ENDOFFSET||l[i].clear(t)},this.addToUserList=function(A,t,i,o){var n=e.USERFILTER_OFFSET+A;e.USERFILTER_OFFSET>n||n>e.USERFILTER_ENDOFFSET||l[n].add(t,i,o)},this.removeFromUserList=function(A,t,i){var o=e.USERFILTER_OFFSET+A;e.USERFILTER_OFFSET>o||o>e.USERFILTER_ENDOFFSET||l[o].remove(t,i)},this.setUserList=function(A,e,t,i){this.clearUserList(A,e),this.addToUserList(A,e,t,i)},this.isIsolate=function(){var A=null;for(A=e.ISOLATEFILTER_OFFSET;e.ISOLATEFILTER_ENDOFFSET>=A;A+=1)if(!l[A].isEmpty())return!0;return!1},this.isFiltering=function(){return!!this.isIsolate()||!(l[e.HIDDEN].isEmpty()&&l[e.VISIBLE].isEmpty()&&l[e.TRANSLUCENT].isEmpty()&&l[e.TRANSLUCENT_OTHERS].isEmpty()&&this.getSceneState()===Vc.DISABLED)},this.setFrozonMaterial=function(A){p.setFrozonMaterial(A)},this.getFrozonMaterial=function(){return p.getFrozonMaterial()},this.setSelectedMaterial=function(A){p.setSelectedMaterial(A)},this.getSelectedMaterial=function(){return p.getSelectedMaterial()},this.setIsolateMaterial=function(A){p.setIsolateMaterial(A)},this.getIsolateMaterial=function(){return p.getIsolateMaterial()},this.resetIsolateMaterial=function(){p.resetIsolateMaterial()},this.clearAllIsolateList=function(){var A=null;for(A=e.ISOLATEFILTER_OFFSET;e.ISOLATEFILTER_ENDOFFSET>=A;A+=1)l[A].clear()},this.clearIsolateList=function(A){var t=e.ISOLATEFILTER_OFFSET+A;e.ISOLATEFILTER_OFFSET>t||t>e.ISOLATEFILTER_ENDOFFSET||l[t].clear()},this.addToIsolateList=function(A,t){var i=e.ISOLATEFILTER_OFFSET+A;e.ISOLATEFILTER_OFFSET>i||i>e.ISOLATEFILTER_ENDOFFSET||l[i].add(t)},this.removeFromIsolateList=function(A,t){var i=e.ISOLATEFILTER_OFFSET+A;e.ISOLATEFILTER_OFFSET>i||i>e.ISOLATEFILTER_ENDOFFSET||l[i].remove(t)},this.setIsolateList=function(A,e){this.clearIsolateList(A),this.addToIsolateList(A,e)},this.setIsolateConditions=function(A,t){var i=e.ISOLATECONDITIONFILTER_OFFSET+t;e.ISOLATECONDITIONFILTER_OFFSET>i||i>e.ISOLATECONDITIONFILTER_ENDOFFSET||l[i].setByData(A)},this.getIsolateConditions=function(A){var t=null,i=e.ISOLATECONDITIONFILTER_OFFSET+A;return e.ISOLATECONDITIONFILTER_OFFSET>i||i>e.ISOLATECONDITIONFILTER_ENDOFFSET||(t=l[i].getAll()),t},this.clearIsolateConditions=function(A){var t=e.ISOLATECONDITIONFILTER_OFFSET+A;e.ISOLATECONDITIONFILTER_OFFSET>t||t>e.ISOLATECONDITIONFILTER_ENDOFFSET||l[t].clear()},this.clearAllIsolateConditions=function(){var A=null;for(A=e.ISOLATECONDITIONFILTER_OFFSET;e.ISOLATECONDITIONFILTER_ENDOFFSET>=A;A+=1)l[A].clearAll()},this.setConditions=function(A,t){var i=e.CONDITIONFILTER_OFFSET+A;e.CONDITIONFILTER_OFFSET>i||i>e.CONDITIONFILTER_ENDOFFSET||l[i].setByData(t)},this.getConditions=function(A){var t=null,i=e.CONDITIONFILTER_OFFSET+A;return e.CONDITIONFILTER_OFFSET>i||i>e.CONDITIONFILTER_ENDOFFSET||(t=l[i].get()),t},this.clearConditions=function(A){var t=e.CONDITIONFILTER_OFFSET+A;e.CONDITIONFILTER_OFFSET>t||t>e.CONDITIONFILTER_ENDOFFSET||l[t].clearAll()},this.clearAllConditions=function(){var A=null;for(A=e.CONDITIONFILTER_OFFSET;e.CONDITIONFILTER_ENDOFFSET>=A;A+=1)l[A].clear()},this.makeSceneTranslucent=function(){this.setSceneState(Vc.TRANSLUCENT)},this.cancelSceneTranslucent=function(){this.setSceneState(Vc.DISABLED)},this.hideScene=function(){this.setSceneState(Vc.HIDDEN)},this.showScene=function(){this.setSceneState(Vc.DISABLED)},this.setSceneState=function(A){d=A},this.getSceneState=function(){return d},this.cancelTranslucent=function(){this.clearIdList(Dc.TRANSLUCENT),this.clearIdList(Dc.TRANSLUCENT_OTHERS)},this._addIdsToFilter=function(A,t){var i=e.IDFILTER_OFFSET+A;e.IDFILTER_OFFSET>i||i>e.IDFILTER_ENDOFFSET||l[i].add(t)},this.hideByIds=function(A){this._addIdsToFilter(Dc.HIDDEN,A)},this.showByIds=function(A){this._addIdsToFilter(Dc.VISIBLE,A)},this.makeTranslucentByIds=function(A){this._addIdsToFilter(Dc.TRANSLUCENT,A)},this.makeTranslucentOthersByIds=function(A){this._addIdsToFilter(Dc.TRANSLUCENT_OTHERS,A)},this._isVisible=function(A){return this.getSceneState()!==Vc.HIDDEN&&t.apply(A)},this._isSelectable=function(A){return this.getSceneState()!==Vc.TRANSLUCENT&&n.apply(A,this.getSceneState())},this._isSelectableById=function(A){return!h.get()[A]},this.getMaterialNameByColor=function(A){return p.getMaterialNameByColor(A)},this.getMaterialNameByWireframe=function(A){return p.getMaterialNameByWireframe(A)},this.addOverrideMaterial=function(A){p.addOverrideMaterial(A)},this.updateOverrideMaterial=function(A){p.updateOverrideMaterial(A)},this.getMaterialByName=function(A){return p.get(A)},this._getOverrideMaterial=function(A){if(this.getSceneState()===Vc.TRANSLUCENT)return p.get("scene");var t=i.getApplyFilterId(A),o=null,n="";switch(t){case e.ISOLATE_TRANSLUCENT:case e.ISOLATE_TRANSLUCENT_OTHERS:case e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS:o=this.getIsolateMaterial();break;case e.CONDITION_TRANSLUCENT_OTHERS:case e.TRANSLUCENT:case e.TRANSLUCENT_OTHERS:o=p.get("scene");break;case e.FROZENFILTER:case e.FROZENCONDITIONFILTER:break;case e.OVERRIDEFILTER:case e.USER_OVERRIDE:case e.CONDITION_OVERRIDE:var r=l[t].getMatchItem(A);n=r.hasOwnProperty("color")?p.getMaterialNameByColor(r.color):r.material?r.material:r}return o||""===n||(p.has(n)||(n=p.getDefaultMaterialName()),o=p.get(n)),o},this._getMaterialName=function(A){if(this.getSceneState()===Vc.TRANSLUCENT)return"scene";var t=i.getApplyFilterId(A),o="";switch(t){case e.ISOLATE_TRANSLUCENT:case e.ISOLATE_TRANSLUCENT_OTHERS:case e.ISOLATE_CONDITION_TRANSLUCENT_OTHERS:o=this.getIsolateMaterial().name;break;case e.CONDITION_TRANSLUCENT_OTHERS:case e.TRANSLUCENT:case e.TRANSLUCENT_OTHERS:o="scene";break;case e.FROZENFILTER:case e.FROZENCONDITIONFILTER:break;case e.OVERRIDEFILTER:case e.USER_OVERRIDE:case e.CONDITION_OVERRIDE:var n=l[t].getMatchItem(A);o=n.hasOwnProperty("color")?p.getMaterialNameByColor(n.color):n.material?n.material:n}return o},this._getMaterialByName=function(A){return A instanceof qA?A:"isolate"===A?p.getIsolateMaterial():"looming"===A||"scene"===A?p.getFrozonMaterial():"selected"===A?p.getSelectedMaterial():p.get(A)},this._hasHighPriorityOverrideMaterial=function(A){return this.getSceneState()===Vc.TRANSLUCENT||o.apply(A)},this._hasOverrideMaterial=function(A){return this.getSceneState()===Vc.TRANSLUCENT||o.apply(A)||i.apply(A)},this._isHiddenFileId=function(A){return r.apply(A)},this._hasHiddenFileIdFilter=function(){return!r.isEmpty()},this._hasVisibleFilter=function(){return this.getSceneState()===Vc.HIDDEN||!t.isEmpty()},this._hasPickableFilter=function(){return this.getSceneState()===Vc.TRANSLUCENT||!n.isEmpty()},this._hasOverrideMaterialFilter=function(){return this.getSceneState()===Vc.TRANSLUCENT||!i.isEmpty()},this._hasLowPriorityOverride=function(){return i.hasFilterNotIn(o)},this._isRenderPromotion=function(A){return a.apply(A)},this._hasRenderPromotionFilter=function(){return!a.isEmpty()},this._isRenderWithBoardline=function(A){return s.apply(A)},this._hasRenderWithBoardlineFilter=function(){return!s.isEmpty()},this._getFilterObjectsKeys=function(A){var e=l[A].get(),t=[];for(var i in e)t.push(i);return t}},gu=function(A){this.materialSelector=A;var e=function(A){var e=[];for(var t in A)!0===A[t]&&e.push(t);return e};this.saveState=function(A){var e=A.getIsolateFilterAction(),t=A.getModelIsolateFilterAction(),i=A.getFilterActionList(),o={isolateAction:e,modelIsolateAction:t,modelActions:A.getModelFilterActionList(),actions:i,sceneState:A.getSceneState(),version:"1.0"};return JSON.stringify(o)},this.createAction=function(A){var e=A.className,t=null;switch(e){case"IsolateIdsFA":(t=new Hg(A.isolateHide)).ids=A.ids;break;case"VisibleIdsFA":(t=new Pg(A.flag,A.isVisible)).ids=A.ids;break;case"OverrideIdsFA":if(o=A.material){var i=this.materialSelector.getMaterialNameByColor({opacity:A.material.opacity,color:A.material.color});o=this.materialSelector.get(i)}(t=new qg(A.flag,o)).ids=A.ids;break;case"TransparentIdsFA":(t=new Yg(A.flag,A.isOpaque)).ids=A.ids;break;case"VisibleConditionFA":(t=new Jg(A.flag,A.isVisible)).conditions=A.conditions;break;case"OverrideConditionFA":var o;if(o=A.material){i=this.materialSelector.getMaterialNameByColor({opacity:o.opacity,color:o.color});o=this.materialSelector.get(i)}(t=new zg(A.flag,o)).conditions=A.conditions;break;case"TransparentConditionFA":(t=new Zg(A.flag,A.isOpaque)).conditions=A.conditions;break;case"IsolateConditionFA":(t=new Xg(A.isolateHide)).conditions=A.conditions;break;default:Bh.warn("Warning: Not supported filterAction '"+e+"'")}return t},this.createActionByOldFilter=function(A,t){var i=[];switch(A){case"CONDITION_OVERRIDE":for(var o=[],n=0;t.length>n;n+=1){var r=t[n];o.push(r.condition)}var a=this.materialSelector.add(p=r.color),s=this.materialSelector.get(a);(g=new zg(!0,s)).conditions=o,i.push(g);break;case"CONDITION_TRANSLUCENT_OTHERS":(g=new Zg(!1,!1)).conditions=t,i.push(g);break;case"ISOLATE_CONDITION_HIDEEN_OTHERS":(g=new Xg(!0)).conditions=t,i.push(g);break;case"ISOLATE_CONDITION_TRANSLUCENT_OTHERS":(g=new Xg(!1)).conditions=t,i.push(g);break;case"ISOLATE_HIDDEN_OTHERS":(g=new Hg(!0)).ids=e(t),i.push(g);break;case"ISOLATE_TRANSLUCENT_OTHERS":(g=new Hg(!1)).ids=e(t),i.push(g);break;case"OVERRIDEFILTER":for(var l in t)if(t.hasOwnProperty(l)){var c=[],h=t[l];for(var d in h)c.push(d);var p=this.materialSelector.getMaterialParamsFromName(h[d]);a=this.materialSelector.add(p),s=this.materialSelector.get(a);(g=new qg(!0,s)).ids=c,i.push(g)}break;case"TRANSLUCENT":(g=new Yg(!0,!1)).ids=e(t),i.push(g);break;case"TRANSLUCTANT_OTHERS":(g=new Yg(!1,!1)).ids=e(t),i.push(g);break;case"VISIBLE":var g;(g=new Pg(!0,!0)).ids=e(t),i.push(g);break;default:Bh.warn("Warning: Not supported filter '"+A+"'")}return i},this.loadState=function(A,e){e.clearFilterActionList(),e.clearModelFilterActionList(),e.getObjectInfoManager().resetAll(),e.getModelInfoManager().resetAll();var t=JSON.parse(A);if(t.hasOwnProperty("version")&&"1.0"===t.version){var i=t.isolateAction;if(i){var o=this.createAction(i);e.pushBack(o)}for(var n=t.actions,r=0;n.length>r;r+=1){o=this.createAction(n[r]);e.pushBack(o)}var a=t.modelIsolateAction;if(a){o=this.createAction(a);e.pushModelBack(o)}for(var s=t.modelActions,l=0;s.length>l;l+=1){o=this.createAction(s[l]);e.pushModelBack(o)}}e.setSceneState(t.sceneState)}},uu=function(){var A={},e=[],t=!1,i=!1,o=!1,n=!1,r=!1,a=new aA;this.init=function(A){},this.clearData=function(){},this.getObjectsMap=function(){},this.add=function(t){A[t]={state:Lc.Visible,modelKey:t,material:null},e=Object.keys(A)},this.remove=function(t){delete A[t],e=Object.keys(A)},this.calculateVisibleComponentsBbox=function(){},this.getVisibleComponentsBbox=function(){return a.isEmpty()&&this.calculateVisibleComponentsBbox(),a},this.arrayToMap=function(A){for(var e={},t=0;A.length>t;t+=1){var i=A[t];e[i]=i}return e},this.isMatchConditions=function(A,e){for(var t=!0,i=0,o=e.length;o>i;i+=1){var n=e[i];for(var r in n){if(!Array.isArray(n[r])&&A[r]!==n[r]){t=!1;break}if(Array.isArray(n[r])&&-1===n[r].indexOf(A[r])){t=!1;break}}if(!0===t)break;e.length-1>i&&(t=!0)}return t},this.matchConditions=function(A,e){},this.setVisible=function(t,o,n){var r=function(A){o?A.state=Lc.Visible:(i=!0,A.state&=~Lc.Visible)};if(void 0===n||!0===n)for(var a=0,s=t.length;s>a;a+=1)A.hasOwnProperty(t[a])&&r(A[t[a]]);else for(var l=this.arrayToMap(t),c=0,h=e.length;h>c;c+=1)l.hasOwnProperty(e[c])||r(A[e[c]])},this.isVisible=function(e){if(A.hasOwnProperty(e))return A[e].state&Lc.Visible>0},this.clearVisible=function(){for(var e in i=!1,A){if(A.hasOwnProperty(e))A[e].state=Lc.Visible}},this.hideAll=function(){for(var e in i=!0,A){if(A.hasOwnProperty(e))A[e].state&=~Lc.Visible}},this.setTransparent=function(i,o,r){var a=function(A){o?(A.state|=Lc.Transparent,t=!0,n=!0):A.state&=~Lc.Transparent};if(void 0===r||!0===r)for(var s=0,l=i.length;l>s;s+=1)A.hasOwnProperty(i[s])&&a(A[i[s]]);else for(var c=this.arrayToMap(i),h=0,d=e.length;d>h;h+=1)c.hasOwnProperty(e[h])||a(A[e[h]])},this.isTransparent=function(e){if(A.hasOwnProperty(e)){var t=A[e],i=(t.state&Lc.Transparent)>0;return i=i||(t.state&Lc.TransparentByIsolate)>0}},this.clearTransparent=function(){for(var e in n=!1,A){if(A.hasOwnProperty(e))A[e].state&=~Lc.Transparent}},this.setMaterial=function(i,o,n){if(void 0===n||!0===n)for(var r=0,a=i.length;a>r;r+=1){if(A.hasOwnProperty(i[r]))A[i[r]].material=o,t=!0}else for(var s=this.arrayToMap(i),l=0,c=e.length;c>l;l+=1){if(!s.hasOwnProperty(e[l]))A[e[l]].material=o,t=!0}},this.getMaterial=function(e){if(A.hasOwnProperty(e))return A[e].material},this.clearMaterial=function(){for(var e in A){A[e].material=null}},this.setIsolateHide=function(t,i,n){var r=function(A){i?(o=!0,A.state|=Lc.HideByIsolate):A.state&=~Lc.HideByIsolate};if(void 0===n||!0===n)for(var a=0,s=t.length;s>a;a+=1)A.hasOwnProperty(t[a])&&r(A[t[a]]);else for(var l=this.arrayToMap(t),c=0,h=e.length;h>c;c+=1)l.hasOwnProperty(e[c])||r(A[e[c]])},this.isIsolateHide=function(e){if(A.hasOwnProperty(e))return(A[e].state&Lc.HideByIsolate)>0},this.setIsolateTransparent=function(i,o,n){var a=function(A){o?(A.state|=Lc.TransparentByIsolate,t=!0,r=!0):A.state&=~Lc.TransparentByIsolate};if(void 0===n||!0===n)for(var s=0,l=i.length;l>s;s+=1)A.hasOwnProperty(i[s])&&a(A[i[s]]);else for(var c=this.arrayToMap(i),h=0,d=e.length;d>h;h+=1)c.hasOwnProperty(e[h])||a(A[e[h]])},this.isIsolateTransparent=function(e){if(A.hasOwnProperty(e))return(A[e].state&Lc.TransparentByIsolate)>0},this.clearIsolateHide=function(){o=!1;var e=Object.keys(A);e.length>0&&this.setIsolateHide(e,!1)},this.clearIsolates=function(){r=!1,o=!1;var e=Object.keys(A);e.length>0&&(this.setIsolateHide(e,!1),this.setIsolateTransparent(e,!1))},this.clearTransparentByIsolate=function(){for(var e in r=!1,A){if(A.hasOwnProperty(e))A[e].state&=~Lc.TransparentByIsolate}},this.isHidden=function(e){if(A.hasOwnProperty(e)){var t=A[e],i=0==(t.state&Lc.Visible);return i=i||(t.state&Lc.HideByIsolate)>0}},this.isFrozen=function(e){if(A.hasOwnProperty(e)){var t=A[e],i=(t.state&Lc.Transparent)>0;return i=i||(t.state&Lc.TransparentByIsolate)>0}},this.resetAll=function(){for(var e in A)A.hasOwnProperty(e)&&(A[e].state=Lc.Visible,A[e].material=null);t=!1,i=o=!1,n=r=!1},this.hasOverrideMaterial=function(e){return void 0===e?t:A.hasOwnProperty(e)?null!==A[e].material||this.isTransparent(e):void 0},this.hasObjectHidden=function(){return i||o},this.hasObjectCantSelected=function(){return i||n||r},this.hasObjectTransparent=function(){return n||r}},fu=function(){var A={},e={};this.init=function(t){for(var i in A=t)e.hasOwnProperty(i)&&!uh.isEmptyObject(e[i])||uh.isEmptyObject(A[i])||(e[i]=Object.keys(A[i]))},this.reinit=function(t){for(var i in e={},A=t)e[i]=Object.keys(t[i])},this.clear=function(){A={},e={}},this.getObjectsMap=function(){return A},this.getObjectIds=function(A){return e.hasOwnProperty(A)?e[A]:[]}},mu=function(){var A=new fu,e=!1,t=!1,i=!1,o=!1,n=!1,r=!1,a=new aA,s=!1;this.inactivatedIdMap={},this.inactivatedIds=[],this.bIsInactivateAll=!1,this.init=function(e){A.init(e)},this.reinit=function(e){A.reinit(e)},this.clearData=function(){A.clear()},this.getObjectsMap=function(){return A.getObjectsMap()},this.calculateVisibleComponentsBbox=function(){a.makeEmpty();var e=A.getObjectsMap();for(var t in e)for(var i=e[t],o=A.getObjectIds(t),n=null,r=0,l=o.length;l>r;r+=1){var c=o[r];if(!this.isHidden(c)){var h=i[c][0];if(h.boundingBox){!n&&h.model&&(n=h.model.getModelMatrix());var d=h.boundingBox.clone();n&&d.applyMatrix4(n),d.isEmpty()||(a.expandByPoint(d.min),a.expandByPoint(d.max))}}}s=!1},this.getVisibleComponentsBbox=function(){return(s||a.isEmpty())&&this.calculateVisibleComponentsBbox(),a},this.needUpdateBoxAfterExplode=function(){s=!0},this.arrayToMap=function(A){for(var e={},t=0;A.length>t;t+=1){var i=A[t];e[i]=i}return e},this.isMatchConditions=function(A,e){for(var t=!0,i=0,o=e.length;o>i;i+=1){var n=e[i];for(var r in n){if(!Array.isArray(n[r])&&A[r]!==n[r]){t=!1;break}if(Array.isArray(n[r])&&-1===n[r].indexOf(A[r])){t=!1;break}}if(!0===t)break;e.length-1>i&&(t=!0)}return t},this.matchConditions=function(e,t){var i=A.getObjectsMap();for(var o in i)for(var n=[],r=[],a=i[o],s=A.getObjectIds(o),l=0,c=s.length;c>l;l+=1){var h=s[l],d=a[h][0].userData||{};d.elementId=a[h][0].userId,this.isMatchConditions(d,e)?n.push(h):r.push(h)}t&&t(n,!0),t&&t(r,!1)},this.getMatchIds=function(e){var t=A.getObjectsMap(),i=[];for(var o in t)for(var n=t[o],r=A.getObjectIds(o),a=0,s=r.length;s>a;a+=1){var l=r[a],c=n[l][0].userData||{};c.elementId=n[l][0].userId,!0===this.isMatchConditions(c,e)&&i.push(l)}return i},this.setVisible=function(e,t,o){var n=function(A){t?A.state=Lc.Visible:(i=!0,A.state&=~Lc.Visible)},r=A.getObjectsMap();for(var a in r){var s=r[a];if(void 0===o||!0===o)for(var l=0,c=e.length;c>l;l+=1){if(s.hasOwnProperty(f=e[l])&&this.isActive(f)){var h=s[f][0];n(h)}}else{for(var d=this.arrayToMap(e),p=A.getObjectIds(a),g=0,u=p.length;u>g;g+=1){var f;!d.hasOwnProperty(f=p[g])&&this.isActive(f)&&n(h=s[f][0])}d=null}}},this.isVisible=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e))return o[e][0].state&Lc.Visible>0}},this.clearVisible=function(){var e=A.getObjectsMap();for(var t in i=!1,this.inactivatedIds.length>0&&(i=!0),e)for(var o=e[t],n=A.getObjectIds(t),r=0,a=n.length;a>r;r+=1){var s=n[r],l=o[s][0];this.isActive(s)&&(l.state=Lc.Visible)}},this.hideAll=function(){var e=A.getObjectsMap();for(var t in i=!0,e)for(var o=e[t],n=A.getObjectIds(t),r=0,a=n.length;a>r;r+=1){o[n[r]][0].state&=~Lc.Visible}},this.setTransparent=function(t,i,o){var r=function(A){i?(A.state|=Lc.Transparent,e=!0,n=!0):A.state&=~Lc.Transparent},a=A.getObjectsMap();for(var s in a){var l=a[s];if(void 0===o||!0===o)for(var c=0,h=t.length;h>c;c+=1){if(this.isActive(m=t[c])&&l.hasOwnProperty(m)){var d=l[m][0];r(d)}}else{for(var p=this.arrayToMap(t),g=A.getObjectIds(s),u=0,f=g.length;f>u;u+=1){var m;this.isActive(m=g[u])&&!p.hasOwnProperty(m)&&r(d=l[m][0])}p=null}}},this.isTransparent=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e)&&this.isActive(e)){var n=o[e][0],r=(n.state&Lc.Transparent)>0;return r=r||(n.state&Lc.TransparentByIsolate)>0}}},this.clearTransparent=function(){var e=A.getObjectsMap();for(var t in n=!1,e)for(var i=e[t],o=A.getObjectIds(t),r=0,a=o.length;a>r;r+=1){var s=o[r];if(this.isActive(s))i[s][0].state&=~Lc.Transparent}},this.setMaterial=function(t,i,o){var n=A.getObjectsMap();for(var r in n){var a=n[r];if(void 0===o||!0===o)for(var s=0,l=t.length;l>s;s+=1){if(this.isActive(u=t[s])&&a.hasOwnProperty(u)){var c=a[u][0];c.material=i,e=!0}}else{for(var h=this.arrayToMap(t),d=A.getObjectIds(r),p=0,g=d.length;g>p;p+=1){var u;this.isActive(u=d[p])&&!h.hasOwnProperty(u)&&((c=a[u][0]).material=i,e=!0)}h=null}}},this.getMaterial=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e))return o[e][0].material}},this.clearMaterial=function(){var e=A.getObjectsMap();for(var t in e){var i=e[t];for(var o in i)this.isActive(o)&&(i[o][0].material=null)}},this.setWireFrameMaterial=function(e,i,o){var n=A.getObjectsMap();for(var r in n){var a=n[r];if(void 0===o||!0===o)for(var s=0,l=e.length;l>s;s+=1){if(a.hasOwnProperty(u=e[s])){var c=a[u][0];c.wireFrameMaterial=i,t=!0}}else{for(var h=this.arrayToMap(e),d=A.getObjectIds(r),p=0,g=d.length;g>p;p+=1){var u;h.hasOwnProperty(u=d[p])||((c=a[u][0]).wireFrameMaterial=i,t=!0)}h=null}}},this.getWireFrameMaterial=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e))return o[e][0].wireFrameMaterial}},this.clearWireFrameMaterial=function(){var e=A.getObjectsMap();for(var t in e){var i=e[t];for(var o in i)i[o][0].wireFrameMaterial=null}},this.clearMaterialByKey=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];for(var n in o)-1!==e.indexOf(n)&&(o[n][0].material=null)}},this.setIsolateHide=function(e,t,i){var n=function(A){t?(o=!0,A.state|=Lc.HideByIsolate):A.state&=~Lc.HideByIsolate},r=A.getObjectsMap();for(var a in r){var s=r[a];if(void 0===i||!0===i)for(var l=0,c=e.length;c>l;l+=1){if(this.isActive(f=e[l])&&s.hasOwnProperty(f)){var h=s[f][0];n(h)}}else{for(var d=this.arrayToMap(e),p=A.getObjectIds(a),g=0,u=p.length;u>g;g+=1){var f;this.isActive(f=p[g])&&!d.hasOwnProperty(f)&&n(h=s[f][0])}d=null}}},this.isIsolateHide=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e))return(o[e][0].state&Lc.HideByIsolate)>0}},this.setIsolateTransparent=function(t,i,o){var n=function(A){i?(A.state|=Lc.TransparentByIsolate,e=!0,r=!0):A.state&=~Lc.TransparentByIsolate},a=A.getObjectsMap();for(var s in a){var l=a[s];if(void 0===o||!0===o)for(var c=0,h=t.length;h>c;c+=1){if(l.hasOwnProperty(m=t[c])){var d=l[m][0];n(d)}}else{for(var p=this.arrayToMap(t),g=A.getObjectIds(s),u=0,f=g.length;f>u;u+=1){var m;!p.hasOwnProperty(m=g[u])&&this.isActive(m)&&n(d=l[m][0])}p=null}}},this.isIsolateTransparent=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e)&&this.isActive(e))return(o[e][0].state&Lc.TransparentByIsolate)>0}},this.clearIsolateHide=function(){var e=A.getObjectsMap();for(var t in o=!1,e){var i=A.getObjectIds(t);i.length>0&&this.setIsolateHide(i,!1)}},this.clearIsolates=function(){var e=A.getObjectsMap();for(var t in r=!1,o=!1,e){var i=A.getObjectIds(t);i.length>0&&(this.setIsolateHide(i,!1),this.setIsolateTransparent(i,!1))}},this.clearTransparentByIsolate=function(){var e=A.getObjectsMap();for(var t in r=!1,e)for(var i=e[t],o=A.getObjectIds(t),n=0,a=o.length;a>n;n+=1){var s=o[n];if(this.isActive(s))i[s][0].state&=~Lc.TransparentByIsolate}},this.isHidden=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e)){var n=o[e][0],r=0==(n.state&Lc.Visible);return r=r||(n.state&Lc.HideByIsolate)>0}}},this.isFrozen=function(e){var t=A.getObjectsMap();for(var i in t){var o=t[i];if(o.hasOwnProperty(e)){var n=o[e][0],r=(n.state&Lc.Transparent)>0;return r=r||(n.state&Lc.TransparentByIsolate)>0}}},this.resetAll=function(){var t=A.getObjectsMap();for(var a in t)for(var s=t[a],l=A.getObjectIds(a),c=0,h=l.length;h>c;c+=1){var d=l[c];s[d][0].state=Lc.Visible,this.isActive(d)&&(s[d][0].material=null)}e=!1,i=o=!1,n=r=!1,this.inactivatedIds.length>0&&(i=!0)},this.hasOverrideMaterial=function(t){var i=A.getObjectsMap();if(void 0===t)return e;for(var o in i){var n=i[o];if(n.hasOwnProperty(t))return null!==n[t][0].material||this.isTransparent(t)}},this.hasOverrideMaterialForWireFrame=function(e){var i=A.getObjectsMap();if(null==e)return t;for(var o in i){var n=i[o];if(n.hasOwnProperty(e))return null!==n[e][0].wireFrameMaterial}},this.hasObjectInactivated=function(){return this.inactivatedIds.length>0},this.hasObjectHidden=function(){return i||o},this.hasObjectCantSelected=function(){return this.hasObjectHidden()||this.hasObjectTransparent()||this.hasObjectInactivated()},this.hasObjectTransparent=function(){if(this.hasObjectInactivated()){var A=!1,e=!0,t=!1,i=void 0;try{for(var o,a=this.inactivatedIds[Symbol.iterator]();!(e=(o=a.next()).done);e=!0){if(this.isTransparent(o.value)){A=!0;break}}}catch(A){t=!0,i=A}finally{try{!e&&a.return&&a.return()}finally{if(t)throw i}}return A}return n||r},this.deactivateByIds=function(e){var t=!0,o=!1,n=void 0,r=A.getObjectsMap();try{for(var a,s=e[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var l=a.value;for(var c in r){var h=r[c];if(h.hasOwnProperty(l))h[l][0].state&=~Lc.Visible}this.inactivatedIdMap[l]=!0}}catch(A){o=!0,n=A}finally{try{!t&&s.return&&s.return()}finally{if(o)throw n}}i=!0,this.inactivatedIds=Object.keys(this.inactivatedIdMap)},this.activateByIds=function(e){for(var t=A.getObjectsMap(),o=0,n=e.length;n>o;o+=1){var r=e[o];for(var a in delete this.inactivatedIdMap[r],t){var s=t[a];if(s.hasOwnProperty(r))s[r][0].state=Lc.Visible}}this.inactivatedIds=Object.keys(this.inactivatedIdMap),this.inactivatedIds.length>0&&(i=!0)},this.clearInactivatedIdMap=function(){this.inactivatedIdMap={},this.inactivatedIds=[]},this.isActive=function(A){return!1===this.bIsInactivateAll&&!(!0===this.inactivatedIdMap[A])},this.deactivateAll=function(){this.bIsInactivateAll=!0},this.activateAll=function(){this.bIsInactivateAll=!1},this.getInactivatedIdMap=function(){return this.inactivatedIdMap}},Cu=function(A,e){Wg.call(this),this.className="OverrideConditionForWireFrameFA",this.flag=A,this.material=e};(Cu.prototype=Object.create(Wg.prototype)).constructor=Cu,Cu.prototype.applyFilter=function(A,e){var t=this;this.conditions instanceof Array?A.matchConditions(this.conditions,(function(e,i){t.flag===i&&(A.setWireFrameMaterial(e,t.material),e=null)})):Bh.warn("Conditions should be type of array.")};var yu=function(A,e){Gg.call(this),this.className="OverrideIdsForWireFrameFA",this.flag=A,this.material=e};(yu.prototype=Object.create(Gg.prototype)).constructor=yu,yu.prototype.applyFilter=function(A){this.ids instanceof Array?A.setWireFrameMaterial(this.ids,this.material,this.flag):Bh.warn("Ids should be type of array.")};var vu=function(){function A(e,t){cc(this,A),this.id=e,this.object=t}return dc(A,[{key:"destroy",value:function(){this.object=null}},{key:"_inDistanceRange",value:function(A,e){return A>=e.near&&e.far>=A}},{key:"raycast",value:function(A,e,t,i,o){}}]),A}();vu.prototype.destroy=function(){};var Iu=function(A){function e(A,t){return cc(this,e),Cc(this,fc(e).call(this,A,t))}return uc(e,A),dc(e,[{key:"raycast",value:function(A,e,t,i,o,n){var r=[];if(this.object.raycast(A,r),r.length>0){r.sort((function(A,e){return A.distance-e.distance}));for(var a=0,s=r.length;s>a;a+=1){var l=r[a];if(this._inDistanceRange(l.distance,t)&&!i.clipPoint(l.point)){n||(t.far=l.distance-uh.MinusEpsilon),o.push(l);break}}}}}]),e}(vu),Eu=function(A){function e(A,t){return cc(this,e),Cc(this,fc(e).call(this,A,t))}return uc(e,A),dc(e,[{key:"raycast",value:function(A,e,t,i,o,n){var r=this.object,a=r._indicesGroup;if(a){var s=a[e.userId];if(s){for(var l,c=!1,h=0,d=s.length;d>h;h+=1)if(s[h].nodeId===e.nodeId){l=s[h],c=!0;break}if(c){var p=[];if(r.raycastByIndices(A,p,l),p.length>0){p.sort((function(A,e){return A.distance-e.distance}));for(var g=0,u=p.length;u>g;g+=1){var f=p[g];if(this._inDistanceRange(f.distance,t)&&!i.clipPoint(f.point)){n||(t.far=f.distance-uh.MinusEpsilon),f.userId=l.userId,f.indexInfo=l,o.push(f);break}}}}}}}}]),e}(vu),Bu=function(A){function e(A,t){return cc(this,e),Cc(this,fc(e).call(this,A,t))}return uc(e,A),dc(e,[{key:"raycast",value:function(A,e,t,i,o,n){var r=[];if(this.object.raycastByIndices(A,r,null,e.matrix),r.length>0){r.sort((function(A,e){return A.distance-e.distance}));for(var a=0,s=r.length;s>a;a+=1){var l=r[a];if(this._inDistanceRange(l.distance,t)&&!i.clipPoint(l.point)){n||(t.far=l.distance-uh.MinusEpsilon),l.userId=e.userId,l.matrix=e.matrix,o.push(l);break}}}}}]),e}(vu),xu=function(){this._filterImpl=new pu;var A=[],e=[],t=null,i=null,o=this._filterImpl.getMaterialSelector(),n=new mu,r=new uu,a=new gu(o);this.observerForSceneState=null,this.setObserverForSceneState=function(A){this.observerForSceneState=A},this.setSceneStateHelper=function(A){},this.getFilterActionList=function(){return A},this.getModelFilterActionList=function(){return e},this.addModel=function(A){r.add(A)},this.removeModel=function(A){r.remove(A)},this.clearFilterActionList=function(){A=[]},this.clearModelFilterActionList=function(){e=[]},this.initFilterManager=function(A){n.init(A)},this.reinitFilterManager=function(A){n.reinit(A)},this.clearFilterManager=function(){n.clearData()};var s=!1;this.isStateChanged=function(){return s},this.enableStateChanged=function(){s=!0},this.disableStateChanged=function(){s=!1},this.getIsolateFilterAction=function(){return t},this.getModelIsolateFilterAction=function(){return i},this.setIsolateAction=function(A){(t=A).apply()},this.getVisibleComponentsBbox=function(){return n.getVisibleComponentsBbox()},this.pushBack=function(e){var i=e.getClassName();"IsolateIdsFA"===i||"IsolateConditionFA"===i?t=e:A.push(e),s=!0,e.applyFilter(n)},this.pushModelBack=function(A){var t=A.getClassName();"IsolateIdsFA"===t||"IsolateConditionFA"===t?i=A:e.push(A),s=!0,A.applyFilter(r)};var l=function(e){for(var t=[],i=0;A.length>i;){var o=A[i];e===o.getClassName()?(t=t.concat(o.ids),A.splice(i,1)):i+=1}return t},c=function(A){for(var t=0;e.length>t;){A===e[t].getClassName()?e.splice(t,1):t+=1}};function h(A,e){var t=e||"";return A.map((function(A){var e=A.clone();for(var i in e.name+="_"+t,A)A.hasOwnProperty(i)&&(A[i]instanceof d||A[i]instanceof ut)&&(e[i]=A[i].clone(),e[i].needsUpdate=!0);return e}))}function p(A,e,t,i,o,n,r){var a=Boolean(r||0===r),s=[];a&&!Array.isArray(r)&&(r=[r]);var l=!0,c=!1,h=void 0;try{for(var d,p=o[Symbol.iterator]();!(l=(d=p.next()).done);l=!0){var g=d.value;A._filterImpl.getMaterialByName(g.name)||A._filterImpl.addOverrideMaterial(g)}}catch(A){c=!0,h=A}finally{try{l||null==p.return||p.return()}finally{if(c)throw h}}var u=t[0],f=u.materialId;if(u.originMId===f&&(u.originMId=[].concat(f)),null===u.material)for(var m=0,C=f.length;C>m;m+=1)s[m]=e.models[u.model.modelKey].materialManager.getMaterialById(f[m]);else s=u.material;for(var y=null,v=null,I=0,E=s.length;E>I;I+=1){if(a){if(!r[I])break;y=r[I].compMatOrder,v=r[I].replMatOrder}else y=v=I;if(!o[v]||y>=o.length){o[v]?console.log('构件材质数组越界,越界位置:{"componentKey":'.concat(i,',"order":').concat(y,"}")):console.log('替换材质数组越界,越界位置:{"componentKey":'.concat(i,',"order":').concat(v,"}"));break}s[y]=o[v],f[y]=o[v].name}var B=new qg(!0,s);B.ids=[u.componentKey],n[u.componentKey]=s,A.pushBack(B)}function g(A,e,t,i,o,n,r){var a,s=[];(a=Boolean(r||0===r))&&!Array.isArray(r)&&(r=[r]);var l=!0,c=!1,h=void 0;try{for(var d,p=o[Symbol.iterator]();!(l=(d=p.next()).done);l=!0){A._filterImpl.updateOverrideMaterial(d.value)}}catch(A){c=!0,h=A}finally{try{l||null==p.return||p.return()}finally{if(c)throw h}}for(var g=0,u=t.length;u>g;g+=1){var f=t[g],m=t[0].material;if(null===m)s[g]=e.models[f.model.modelKey].materialManager.getMaterialById(f.materialId),s[g].materialId=f.materialId;else if(Array.isArray(m)){s[g]=m[g]}else s[g]=m}for(var C=null,y=null,v=0,I=s.length;I>v;v+=1){if(a){if(!r[v])break;C=r[v].compMatOrder,y=r[v].replMatOrder}else C=y=v;if(!o[y]||C>=t.length){o[y]?console.log('构件材质数组越界,越界位置:{"componentKey":'.concat(i,',"order":').concat(C,"}")):console.log('替换材质数组越界,越界位置:{"componentKey":'.concat(i,',"order":').concat(y,"}"));break}var E=t[C].nodeId,B=s[C].mapNodeIdToOrigMatId&&s[C].mapNodeIdToOrigMatId[E]?s[C].mapNodeIdToOrigMatId[E]:s[C].materialId;t[C].mesh.geometry.getAttribute("uv")||null===o[y].map&&null===o[y].aoMap?(s[C]=o[y],s[C].mapNodeIdToOrigMatId||(s[C].mapNodeIdToOrigMatId={}),s[C].materialId=o[y].name,s[C].mapNodeIdToOrigMatId[E]=B):console.log('构件node缺少uv:{"componentKey":'.concat(i,',"order":').concat(y,",nodeId").concat(t[C].nodeId,"}"))}var x=new qg(!0,s);x.ids=[i],n&&(n[i]=s),A.pushBack(x)}function u(A,e,t){var i=A.models[e],o=i._handler.defaultManager.meshManager,n=i._handler.instancedManager.meshManager,r=i.loader.getDescriptor(),a=n.getNodeIdxMapByUserId(t),s=i.group.children.find((function(A){return"Geometry"===A.name}));s||((s=new Xi).name="Geometry",i.group.add(s));var l=new Xi,c=[];s.add(l);var h=r.mapNodeInfoByComponentKey[t],d=function(r){var s=a[r][0],d=n.getInstanceGeometries(r);d[0].attributes.vState.array[s]=-1,d[0].attributes.vState.needsUpdate=!0;var p=new he;d[0].removed||(d[0].removed={}),d[0].removed[s]=!0;for(var g=d[0].attributes.position.array,u=[],f=new y,m=n.matrixInfoMapFromUserId[t][r][0].matrix,C=0,v=g.length;v>C;C+=3)f.set(g[C],g[C+1],g[C+2]).applyMatrix4(m),u.push(f.x,f.y,f.z);d[0].attributes.uv&&p.setAttribute("uv",d[0].attributes.uv.clone()),d[0].attributes.normal&&p.setAttribute("normal",d[0].attributes.normal.clone());var I=d[0].index.clone();p.setAttribute("position",new YA(new Float32Array(u),3)),p.setIndex(I);var E=n.getMaterialIdByMeshId(r),B=n.manager.model.materialManager.getInstanceMaterialById(E)[0],x=Kd.getMaterialParameters(B),S=Kd.createStandardMaterial(x),w=new Ue(p,S),M=r.split("&")[1],b=E+"_"+s+"_cm",U="",F=!0,K=!1,Q=void 0;try{for(var R,T=h[Symbol.iterator]();!(F=(R=T.next()).done);F=!0){var k=R.value;k.geometryId!==M&&k.geometryId.toString()!==M||(U=k.nodeId,k.instanceOrNot=!1,k.isBatched=!1,k.mesh=w,k.instancedRenderOrder=s,k.RenderTypeChange=!0,k.materialId=b,k.uv=!0,c.push(k))}}catch(A){K=!0,Q=A}finally{try{F||null==T.return||T.return()}finally{if(K)throw Q}}var D=b+"&1&meshes";l.add(w),w.geometry.computeBoundingBox(),w.modelKey=e;var L=pc({},t,[{boundingBox:w.geometry.boundingBox,indexCount:I.count,indexStart:0,lightmapIdx:void 0,nodeId:U,positionCount:p.attributes.position.count,positionStart:0,userId:t}]);o.mapMaterialIdToMergedNode[D]=[{geometry:p,indices:L,mesh:w,RenderTypeChange:!0}],w._indicesGroup=L,w.computeBoundingBox=function(){var A=this.matrixWorld,e=new aA;return e.copy(this.geometry.boundingBox),e.applyMatrix4(A),e},w.intersectBoxWithDistanceByIndices=function(A){return A.ray.intersectBoxWithDistance(this.computeBoundingBox())},w.raycastByIndices=function(A,e){w.raycast(A,e)},i.materialManager.materials[b]=S,A.addMeshToOctantMap(e,D,new Eu(D,w))};for(var p in a)d(p);return A.octantToObjectMap[e].info[t]=c,r.mapNodeInfoByCategory[1]||(r.mapNodeInfoByCategory[1]={}),r.mapNodeInfoByCategory[1][t]=c,delete r.instancedComponent[t],delete r.mapNodeInfoByCategory[0][t],delete n.nodeIdxMapFromUserId[t],o.getPickingNodeGenerator().clearData(),l}this.showAll=function(){l("VisibleIdsFA"),l("VisibleConditionFA"),n.clearVisible(),n.calculateVisibleComponentsBbox(),this.enableStateChanged()},this.showAllModel=function(){c("VisibleIdsFA"),r.clearVisible(),this.enableStateChanged()},this.hideAll=function(){var A=new Pg(!1,!1);A.ids=[],this.pushBack(A)},this.hideAllModel=function(){var A=new Pg(!1,!1);A.ids=[],this.pushModelBack(A)},this.getObjectInfoManager=function(){return n},this.getModelInfoManager=function(){return r},this.getMatchIds=function(A){return n.getMatchIds(A)},this._isVisible=function(A){return!n.isHidden(A.userId)},this._isModelVisible=function(A){return!r.isHidden(A)},this._isTransparent=function(A){return n.isTransparent(A.userId)},this._isModelTransparent=function(A){return r.isTransparent(A)},this._isModelPickable=function(A){return!r.isFrozen(A)||vc.EnableSelectionByTranslucent},this._isSelectable=function(A){if(vc.EnableSelectionByTranslucent)return!0;var e=A.userId;return!n.isFrozen(e)&&this._filterImpl._isSelectableById(e)},this._isPickable=function(A){var e=A.userId;return this.isComponentActive(e)&&this._filterImpl._isSelectableById(e)&&(!n.isFrozen(e)||vc.EnableSelectionByTranslucent)},this._isSelectableById=function(A){return!!vc.EnableSelectionByTranslucent||!n.isFrozen(A)&&this._filterImpl._isSelectableById(A)},this._getOverrideMaterial=function(A){var e=A.userId;return n.isFrozen(e)?this._filterImpl.getFrozonMaterial():n.getMaterial(e)},this._getModelOverrideMaterial=function(A){return r.isFrozen(A)?this._filterImpl.getFrozonMaterial():r.getMaterial(A)},this._getMaterialName=function(A){return this._filterImpl._getMaterialName(A)},this._getMaterialByName=function(A){return this._filterImpl._getMaterialByName(A)},this._hasOverrideMaterial=function(A){return n.hasOverrideMaterial(A.userId)},this._hasModelOverrideMaterial=function(A){return r.hasOverrideMaterial(A)},this._hasHighPriorityOverrideMaterial=function(A){return this._filterImpl._hasHighPriorityOverrideMaterial(A)},this._isHiddenFileId=function(A){return this._filterImpl._isHiddenFileId(A)},this._isRenderPromotion=function(A){return this._filterImpl._isRenderPromotion(A)},this._isRenderWithBoardline=function(A){return this._filterImpl._isRenderWithBoardline(A)},this._hasHiddenFileIdFilter=function(){return this._filterImpl._hasHiddenFileIdFilter()},this._hasVisibleFilter=function(){return n.hasObjectHidden()},this._hasPickableFilter=function(){return n.hasObjectCantSelected()||this._filterImpl._hasPickableFilter()},this._hasTransparentFilter=function(){return n.hasObjectTransparent()},this._hasOverrideMaterialFilter=function(){return n.hasOverrideMaterial()},this._hasModelVisibleFilter=function(){return r.hasObjectHidden()},this._hasModelSelectableFilter=function(){return r.hasObjectCantSelected()},this._hasModelTransparentFilter=function(){return r.hasObjectTransparent()},this._hasModelOverrideMaterialFilter=function(){return r.hasOverrideMaterial()},this._hasLowPriorityOverride=function(){return this._filterImpl._hasLowPriorityOverride()},this._hasRenderPromotionFilter=function(){return this._filterImpl._hasRenderPromotionFilter()},this._hasRenderWithBoardlineFilter=function(){return this._filterImpl._hasRenderWithBoardlineFilter()},this.saveState=function(){return a.saveState(this)},this.loadState=function(A){a.loadState(A,this)},this.clear=function(){n.resetAll(),s=!0},this.clearAll=function(){return this.enableStateChanged(),this._filterImpl.clearAll()},this.clearIsolate=function(){n.clearIsolates()},this.clearFrozenList=function(){return this.enableStateChanged(),this._filterImpl.clearFrozenList()},this.addToFrozenList=function(A){return this.enableStateChanged(),this._filterImpl.addToFrozenList(A)},this.removeFromFrozenList=function(A){return this.enableStateChanged(),this._filterImpl.removeFromFrozenList(A)},this.setFrozenList=function(A){return this.enableStateChanged(),this._filterImpl.setFrozenList(A)},this.setFrozenConditions=function(A){this.enableStateChanged(),this._filterImpl.setFrozenConditions(A)},this.getFrozenConditions=function(){return this._filterImpl.getFrozenConditions()},this.clearFrozenConditions=function(){this.enableStateChanged(),this._filterImpl.clearFrozenConditions()},this.clearFrozen=function(){this.enableStateChanged(),this.clearFrozenList(),this.clearFrozenConditions()},this.clearAllIdList=function(){return this.enableStateChanged(),this._filterImpl.clearAllIdList()},this.clearIdList=function(A){return this.enableStateChanged(),this._filterImpl.clearIdList(A)},this.addToIdList=function(A,e){return this.enableStateChanged(),this._filterImpl.addToIdList(A,e)},this.removeFromIdList=function(A,e){return this.enableStateChanged(),this._filterImpl.removeFromIdList(A,e)},this.setIdList=function(A,e){return this.enableStateChanged(),this._filterImpl.setIdList(A,e)},this.clearAllOverrideList=function(){l("OverrideIdsFA"),l("OverrideConditionFA"),n.clearMaterial();for(var e=0,t=A.length;t>e;e+=1){var i=A[e];"WireframeIdsFA"===i.getClassName()&&i.applyFilter(n)}this.enableStateChanged()},this.clearModelAllOverrideList=function(){c("OverrideIdsFA"),r.clearMaterial(),this.enableStateChanged()},this.clearOverrideList=function(A){return this.enableStateChanged(),this._filterImpl.clearOverrideList(A)},this.addToOverrideList=function(A,e,t){return this.enableStateChanged(),this._filterImpl.addToOverrideList(A,e,t)},this.removeFromOverrideList=function(A,e){return this.enableStateChanged(),this._filterImpl.removeFromOverrideList(A,e)},this.setOverrideList=function(A,e,t){return this.enableStateChanged(),this._filterImpl.setOverrideList(A,e,t)},this.addToOverrideListByColor=function(A,e){var t=null;if(e){var i=this._filterImpl.getMaterialNameByColor(e);t=this._filterImpl.getMaterialByName(i)}var o=new qg(!0,t);o.ids=A,this.pushBack(o)},this.addToOverrideListByCustomerMaterial=function(A,e,t,i,o){var n=this,r={};Array.isArray(t)||(t=[t]);var a=t;return e.forEach((function(e){for(var s in e)i||(a=h(t,s)),e[s][0].isBatched||e[s][0].instanceOrNot||e[s][0].RenderTypeChange?!e[s][0].instanceOrNot&&e[s][0].isBatched||e[s][0].RenderTypeChange?g(n,A,e[s],s,a,r,o):e[s][0].instanceOrNot&&e[s][0].isBatched&&(u(A,e[s][0].model.modelKey,s),g(n,A,e[s],s,a,r,o)):p(n,A,e[s],s,a,r,o)})),r},this.addToModelOverrideListByColor=function(A,e){var t=null;if(e){var i=this._filterImpl.getMaterialNameByColor(e);t=this._filterImpl.getMaterialByName(i)}var o=new qg(!0,t);o.ids=A,this.pushModelBack(o)},this.addToOverrideListByConditions=function(A,e){var t=null;if(e){var i=this._filterImpl.getMaterialNameByColor(e);t=this._filterImpl.getMaterialByName(i)}var o=new zg(!0,t);o.conditions=A,this.pushBack(o)},this.addToOverrideListByConditions=function(A,e){var t=null;if(e){var i=this._filterImpl.getMaterialNameByColor(e);t=this._filterImpl.getMaterialByName(i)}var o=new zg(!0,t);o.conditions=A,this.pushBack(o)},this.addToOverrideListByMaterial=function(A,e){this._filterImpl.addOverrideMaterial(e);var t=new zg(!0,e);t.conditions=A,this.pushBack(t)},this.setOverrideListByColor=function(A,e,t){for(var i=0;e.length>i;i+=1){var o=this._filterImpl.getMaterialNameByColor(t),r=this._filterImpl.getMaterialByName(o);n.setMaterial(e[i],r)}},this.getVisibleComponentSet=function(A){for(var e={},t=Object.keys(A),i=0;t.length>i;i+=1)this._isVisible({userId:t[i]})&&(e[t[i]]=!0);return e},this.clearAllWireframeList=function(){n.clearMaterialByKey(l("WireframeIdsFA")),this.enableStateChanged()},this.addToWireframeByWireframe=function(A,e){var t=null;if(e){var i=this._filterImpl.getMaterialNameByWireframe(e);t=this._filterImpl.getMaterialByName(i)}var o=new jg(!0,t);o.ids=A,this.pushBack(o)},this.clearAllUserList=function(){return this.enableStateChanged(),this._filterImpl.clearAllUserList()},this.clearUserListByType=function(A){return this.enableStateChanged(),this._filterImpl.clearUserListByType(A)},this.clearUserList=function(A,e){return this.enableStateChanged(),this._filterImpl.clearUserList(A,e)},this.addToUserList=function(A,e,t,i){return this.enableStateChanged(),this._filterImpl.addToUserList(A,e,t,i)},this.removeFromUserList=function(A,e,t){this.enableStateChanged(),this._filterImpl.removeFromUserList(A,e,t)},this.setUserList=function(A,e,t,i){this.enableStateChanged(),this._filterImpl.setUserList(A,e,t,i)},this.isIsolate=function(){var A=n.getObjectsMap();for(var e in A){if(A.hasOwnProperty(e))var t=A[e];for(var i in t){var o=n.isIsolateHide(i);if(o|=n.isIsolateTransparent(i))return!0}}return!1},this.isFiltering=function(){var A=this.filterActionList.length>0;return this.isIsolate()||A},this.getFrozonMaterial=function(){return this._filterImpl.getFrozonMaterial()},this.setIsolateMaterial=function(A){this.enableStateChanged(),this._filterImpl.setIsolateMaterial(A)},this.getIsolateMaterial=function(){return this._filterImpl.getIsolateMaterial()},this.resetIsolateMaterial=function(){this.enableStateChanged(),this._filterImpl.resetIsolateMaterial()},this.clearAllIsolateList=function(){n.clearIsolates()},this.clearIsolation=function(){n.clearIsolates(),t=null,s=!0},this.clearModelIsolation=function(){r.clearIsolates(),i=null,s=!0},this.addToIsolateList=function(A,e){var t=new Hg("HideOthers"===e);t.ids=A.concat(),this.pushBack(t),this.clearFilterActionList()},this.removeFromIsolateList=function(A){t&&Array.isArray(A)&&(A.forEach((function(A){t.ids.remove(A)})),1>t.ids.length?(n.clearIsolates(),t=null):t.applyFilter(n),this.enableStateChanged())},this.removeModelFromIsolateList=function(A){i&&Array.isArray(A)&&(A.forEach((function(A){i.ids.remove(A)})),1>i.ids.length?(r.clearIsolates(),i=null):i.applyFilter(r),this.enableStateChanged())},this.setIsolateList=function(A,e){var t=new Hg(e);t.ids=A.concat(),this.pushBack(t)},this.setModelIsolateList=function(A,e){var t=new Hg(e);t.ids=A.concat(),this.pushModelBack(t)},this.setIsolateConditions=function(A,e){var t=new Xg(e===Nc.HIDDEN_OTHERS);t.conditions=A,this.pushBack(t),this.clearFilterActionList()},this.getIsolateConditions=function(A){return this._filterImpl.getIsolateConditions(A)},this.clearIsolateConditions=function(A){this.enableStateChanged(),this._filterImpl.clearIsolateConditions(A)},this.clearAllIsolateConditions=function(){this.enableStateChanged(),this._filterImpl.clearAllIsolateConditions()},this.setConditions=function(A,e){if(0===A){n.hideAll();var t=new Jg(!0,!0);t.conditions=e,this.pushBack(t)}3===A&&this._filterImpl.setConditions(A,e)},this.getConditions=function(A){return this._filterImpl.getConditions(A)},this.clearConditions=function(A){this.enableStateChanged(),this._filterImpl.clearConditions(A)},this.clearAllConditions=function(){this.enableStateChanged(),this._filterImpl.clearAllConditions()},this.makeSceneTranslucent=function(){this.enableStateChanged(),this._filterImpl.makeSceneTranslucent()},this.cancelSceneTranslucent=function(){this.enableStateChanged(),this._filterImpl.cancelSceneTranslucent()},this.hideScene=function(){this.enableStateChanged(),this._filterImpl.hideScene()},this.showScene=function(){this.enableStateChanged(),this._filterImpl.showScene()},this.setSceneState=function(A){this.enableStateChanged(),this._filterImpl.setSceneState(A)},this.getSceneState=function(){return this._filterImpl.getSceneState()},this.cancelHidden=function(){this.enableStateChanged(),this._filterImpl.cancelHidden()},this.cancelTranslucent=function(){this.enableStateChanged(),this._filterImpl.cancelTranslucent()},this.hideByIds=function(A){var e=new Pg(!0,!1);e.ids=A,this.pushBack(e)},this.hideModelByIds=function(A){var e=new Pg(!0,!1);e.ids=A,this.pushModelBack(e)},this.hideByConditions=function(A){var e=new Jg(!0,!1);e.conditions=A,this.pushBack(e)},this.hideOthersByConditions=function(A){var e=new Jg(!1,!1);e.conditions=A,this.pushBack(e)},this.showByIds=function(A){var e=new Pg(!0,!0);e.ids=A,this.pushBack(e)},this.showModelByIds=function(A){var e=new Pg(!0,!0);e.ids=A,this.pushModelBack(e)},this.showByConditions=function(A){var e=new Jg(!0,!0);e.conditions=A,this.pushBack(e)},this.makeTranslucentByIds=function(A){var e=new Yg(!0,!1);e.ids=A,this.pushBack(e)},this.makeModelTranslucentByIds=function(A){var e=new Yg(!0,!1);e.ids=A,this.pushModelBack(e)},this.makeTranslucentByConditions=function(A){var e=new Zg(!0,!1);e.conditions=A,this.pushBack(e)},this.opaqueByIds=function(A){var e=new Yg(!0,!0);e.ids=A,this.pushBack(e)},this.opaqueModelByIds=function(A){var e=new Yg(!0,!0);e.ids=A,this.pushModelBack(e)},this.opaqueByConditions=function(A){var e=new Zg(!0,!0);e.conditions=A,this.pushBack(e)},this.setFrozonMaterial=function(A){this._filterImpl.setFrozonMaterial(A)},this.makeTranslucentOthersByIds=function(A){var e=new Yg(!1,!1);e.ids=A,this.pushBack(e)},this.makeTranslucentOthersModelByIds=function(A){var e=new Yg(!1,!1);e.ids=A,this.pushModelBack(e)},this.opaqueAll=function(){l("TransparentIdsFA"),l("TransparentConditionFA"),n.clearTransparent(),this.enableStateChanged()},this.opaqueAllModel=function(){c("TransparentIdsFA"),c("TransparentConditionFA"),r.clearTransparent(),this.enableStateChanged()},this.deactivateByIds=function(A){n.deactivateByIds(A),this.observerForSceneState&&this.observerForSceneState(A),this.enableStateChanged()},this.activateByIds=function(A){n.activateByIds(A),this.enableStateChanged()},this.clearInactivatedIdMap=function(){n.clearInactivatedIdMap()},this.getInactivatedIdMap=function(){return n.getInactivatedIdMap()},this.deactivateAll=function(){n.deactivateAll()},this.activateAll=function(){n.activateAll()},this.isComponentActive=function(A){return n.isActive(A)},this.getFilterType=function(){return this._filterImpl._getFilterType()},this._hasOverrideMaterialForWireFrame=function(A){return n.hasOverrideMaterialForWireFrame(A.name)},this._hasOverrideMaterialFilterForWireFrame=function(){return n.hasOverrideMaterialForWireFrame()},this._getOverrideMaterialForWireFrame=function(A){return n.getWireFrameMaterial(A.name)},this._getOverrideWireFrameMaterial=function(A){return n.getWireFrameMaterial(A.name)},this.addToOverrideListForWireFrameByColor=function(A,e){var t=null;if(e){var i=this._filterImpl.getMaterialNameByColor(e);t=this._filterImpl.getMaterialByName(i)}var o=new yu(!0,t);o.ids=A,this.pushBack(o)},this.addToOverrideListForWireFrameByConditions=function(A,e){var t=null;if(e){var i=this._filterImpl.getMaterialNameByColor(e);t=this._filterImpl.getMaterialByName(i)}var o=new Cu(!0,t);o.conditions=A,this.pushBack(o)},this._getFilterObjectsKeys=function(A){return this._filterImpl._getFilterObjectsKeys(A)},this.transparentComponentsByKey=function(A,e,t){},this.closeOrigMatModelTransparent=function(A,e){var t=A.models[e].materialManager.materials;for(var i in t){var o=t[i];void 0!==o._origTransparent&&(o.transparent=o._origTransparent,o.needsUpdate=!0),void 0!==o._origOpacity&&(o.opacity=o._origOpacity,o.needsUpdate=!0)}var n=A.models[e].materialManager.instanceMaterials;for(var r in n)n[r].forEach((function(A){void 0!==A._origTransparent&&(A.transparent=A._origTransparent,A.needsUpdate=!0),void 0!==A._origOpacity&&(A.opacity=A._origOpacity,A.needsUpdate=!0)}))},this.transparentModelOrigMatByKey=function(A,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,i=A.models[e].materialManager.materials;for(var o in i){var n=i[o];void 0===n._origTransparent&&(n._origTransparent=n.transparent),void 0===n._origOpacity&&(n._origOpacity=n.opacity),n.transparent=!0,n.opacity=t,n.needsUpdate=!0}var r=A.models[e].materialManager.instanceMaterials;for(var a in r)r[a].forEach((function(A){void 0===A._origTransparent&&(A._origTransparent=A.transparent),void 0===A._origOpacity&&(A._origOpacity=A.opacity),A.transparent=!0,A.opacity=t,A.needsUpdate=!0}))}};var Su=function(A){ji.call(this),this.type="InstancedDepthMaterial",this.uniforms=it.depth.uniforms,this.vertexShader=function(A){return A.replace("#include <project_vertex>","\n vec4 mvPosition = modelViewMatrix * vec4(getInstancePosition(transformed), 1.0);\n gl_Position = projectionMatrix * mvPosition;\n ")}(it.depth.vertexShader.replace("void main() {","\n attribute float vState; \n attribute vec4 aColor; \n attribute vec3 mcol0;\n attribute vec3 mcol1;\n attribute vec3 mcol2;\n attribute vec3 mcol3;\n #if defined(USE_MAP)\n attribute vec2 muvCol0;\n attribute vec2 muvCol1;\n attribute vec2 muvCol2;\n #endif\n \n varying float vfState;\n \n vec3 getInstancePosition(vec3 position) {\n return vec3(mat4(vec4(mcol0, 0.0),\n vec4(mcol1, 0.0),\n vec4(mcol2, 0.0),\n vec4(mcol3, 1.0)) * vec4(position, 1.0));\n }\n \n void main() {\n vfState = vState;\n ")),this.fragmentShader=it.depth.fragmentShader.replace("void main() {","\n varying float vfState; \n void main() {\n if (vfState <= -0.99 && vfState >= -1.01) discard;\n \n "),void 0!==A&&this.setValues(A)};function wu(A,e,t){var i=this,o=!1,n=0,r=0,a=void 0,s=[];this.onStart=void 0,this.onLoad=A,this.onProgress=e,this.onError=t,this.itemStart=function(A){r+=1,!1===o&&void 0!==i.onStart&&i.onStart(A,n,r),o=!0},this.itemEnd=function(A){n+=1,void 0!==i.onProgress&&i.onProgress(A,n,r),n===r&&(o=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(A){void 0!==i.onError&&i.onError(A)},this.resolveURL=function(A){return a?a(A):A},this.setURLModifier=function(A){return a=A,this},this.addHandler=function(A,e){return s.push(A,e),this},this.removeHandler=function(A){var e=s.indexOf(A);return-1!==e&&s.splice(e,2),this},this.getHandler=function(A){for(var e=0,t=s.length;t>e;e+=2){var i=s[e],o=s[e+1];if(i.global&&(i.lastIndex=0),i.test(A))return o}return null}}(Su.prototype=Object.create(ji.prototype)).constructor=Su;var Mu=new wu,bu=function(A){this.manager=null!=A?A:Mu,this.model=A.model,this.cacheViable=!0,this.modelKey=A.model.modelKey};Object.assign(bu.prototype,{_load:function(A,e,t,i){void 0===A&&(A=""),null!=this.path&&(A=this.path+A);var o=this,n=A.match(/^data:(.*?)(;base64)?,(.*)$/);if(n){var r=n[1],a=Boolean(n[2]),s=n[3];s=window.decodeURIComponent(s),a&&(s=window.atob(s));try{var l=null,c=(this.responseType||"").toLowerCase();switch(c){case"arraybuffer":case"blob":l=new ArrayBuffer(s.length);for(var h=new Uint8Array(l),d=0;s.length>d;d+=1)h[d]=s.charCodeAt(d);"blob"===c&&(l=new Blob([l],{type:r}));break;case"document":var p=new DOMParser;l=p.parseFromString(s,r);break;case"json":l=JSON.parse(s);break;default:l=s}window.setTimeout((function(){e&&e(l),o.manager.itemEnd(A)}),0)}catch(e){window.setTimeout((function(){i&&i(e),o.manager.itemEnd(A),o.manager.itemError(A)}),0)}}else{var g=new XMLHttpRequest;for(var u in g.open("GET",A,!0),g.addEventListener("load",(function(t){var n=t.target.response;if(200===this.status){var r=o.model.getStorage();if(null==n)return i&&i(t),o.manager.itemEnd(A),o.manager.itemError(A),void Bh.error("response 为 null");if(!(n instanceof ArrayBuffer||n instanceof Array||n instanceof Blob||n instanceof Object))try{n=JSON.parse(n)}catch(A){}if(n instanceof Blob&&mh.isIOSDevice()){var a=new FileReader;a.readAsDataURL(n),a.onloadend=function(t){r&&o.cacheViable&&r.put(A,t.target.result,o.modelKey,(function(){o.manager.progress.loaded+=1}),(function(){Bh.warn(A,"缓存失败"),o.manager.progress.failed+=1})),e&&e(t.target.result)}}else{if(r&&o.cacheViable)if(n.byteLength&&n.byteLength>12e7){for(var s=[],l=Math.floor(n.byteLength/4e7),c=0;l>=c;c+=1){o.manager.progress.total+=1;var h=null;h=c===l?n.slice(4e7*c):n.slice(4e7*c,4e7*(c+1));var d=A+"_"+c;s.push(d),r.put(d,h,o.modelKey,(function(){o.manager.progress.loaded+=1}),(function(){o.manager.progress.failed+=1}))}r.put(A,{split:!0,list:s,length:n.byteLength},o.modelKey,(function(){}),(function(){Bh.warn(A,"缓存失败")}))}else r.put(A,n,o.modelKey,(function(){o.manager.progress&&(o.manager.progress.loaded+=1)}),(function(){o.manager.progress&&(Bh.warn(A,"缓存失败"),o.manager.progress.failed+=1)}));e&&e(n)}o.manager.itemEnd(A)}else 0===this.status?(Bh.warn("THREE.FileLoader: HTTP Status 0 received."),e&&e(n),o.manager.itemEnd(A)):(i&&i(t),o.manager.itemEnd(A),o.manager.itemError(A))}),!1),"function"==typeof t&&g.addEventListener("progress",(function(A){t(A)}),!1),g.addEventListener("error",(function(e){i&&i(e),o.manager.itemEnd(A),o.manager.itemError(A)}),!1),void 0!==this.responseType&&(g.responseType=this.responseType),void 0!==this.withCredentials&&(g.withCredentials=this.withCredentials),g.overrideMimeType&&g.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain"),this.requestHeader)g.setRequestHeader(u,this.requestHeader[u]);g.send(null)}return o.manager.itemStart(A),g},load:function(A,e,t,i){void 0===A&&(A=""),null!=this.path&&(A=this.path+A);return this._load.call(this,A,e,t,i)},setPath:function(A){return this.path=A,this},setResponseType:function(A){return this.responseType=A,this},setWithCredentials:function(A){return this.withCredentials=A,this},setMimeType:function(A){return this.mimeType=A,this},setCacheViable:function(A){return this.cacheViable=A,this},setRequestHeader:function(A){return this.requestHeader=A,this}});var Uu=function(A){this.compArr=[],this.compArr=A,Bh.debug(this.compArr)};Uu.prototype={constructor:Uu,getComponent:function(A){}};var Fu,Ku,Qu,Ru,Tu={EmptyGeometry:new he,UnitCylinderInstance:new hr(1,1,1,8,1,!1),UnitBoxInstance:new Ne(1,1,1),UnitTextureCylinder:null,UnitTextureBox:null,initializeUnitInstances:function(){Tu.UnitCylinderInstance.boundingBox||Tu.UnitCylinderInstance.computeBoundingBox(),Tu.UnitBoxInstance.boundingBox||Tu.UnitBoxInstance.computeBoundingBox()},destroyUnitInstances:function(){Tu.UnitCylinderInstance.dispose(),Tu.UnitBoxInstance.dispose()},getBoxData:function(A){for(var e=[[],[],[],[],[],[]],t=0;4>t;t+=1)e[0].push(-1,0,0);for(t=0;4>t;t+=1)e[1].push(0,-1,0);for(t=0;4>t;t+=1)e[2].push(0,0,-1);for(t=0;4>t;t+=1)e[3].push(0,0,1);for(t=0;4>t;t+=1)e[4].push(0,1,0);for(t=0;4>t;t+=1)e[5].push(1,0,0);var i=[[],[],[],[],[],[]];return i[0]=i[2]=i[4]=[-.5,-.5,-.5,.5,.5,-.5,.5,.5],i[1]=i[3]=i[5]=[-.5,-.5,-.5,.5,.5,-.5,.5,.5],{vertex:[[-.5,-.5,-.5,-.5,-.5,.5,-.5,.5,-.5,-.5,.5,.5],[-.5,-.5,-.5,-.5,-.5,.5,.5,-.5,-.5,.5,-.5,.5],[-.5,-.5,-.5,-.5,.5,-.5,.5,-.5,-.5,.5,.5,-.5],[-.5,-.5,.5,-.5,.5,.5,.5,-.5,.5,.5,.5,.5],[-.5,.5,-.5,-.5,.5,.5,.5,.5,-.5,.5,.5,.5],[.5,-.5,-.5,.5,-.5,.5,.5,.5,-.5,.5,.5,.5]][A],normal:e[A],uv:i[A],index:[[0,1,2,3,2,1],[2,1,0,1,2,3],[0,1,2,3,2,1],[2,1,0,1,2,3],[0,1,2,3,2,1],[2,1,0,1,2,3]][A]}},getPipeData2:(Fu=[.5,0,.5,.353530875,.353530875,.5,0,.5,.5,-.353530875,.353530875,.5,-.5,0,.5,-.353530875,-.353530875,.5,0,-.5,.5,.353530875,-.353530875,.5,.5,0,.5,.5,0,-.5,.353530875,.353530875,-.5,0,.5,-.5,-.353530875,.353530875,-.5,-.5,0,-.5,-.353530875,-.353530875,-.5,0,-.5,-.5,.353530875,-.353530875,-.5,.5,0,-.5,.5,0,.5,.353530875,.353530875,.5,0,.5,.5,-.353530875,.353530875,.5,-.5,0,.5,-.353530875,-.353530875,.5,0,-.5,.5,.353530875,-.353530875,.5,.5,0,-.5,.353530875,.353530875,-.5,0,.5,-.5,-.353530875,.353530875,-.5,-.5,0,-.5,-.353530875,-.353530875,-.5,0,-.5,-.5,.353530875,-.353530875,-.5],Ku=[0,9,1,1,9,10,1,10,2,2,10,11,2,11,3,3,11,12,3,12,4,4,12,13,4,13,5,5,13,14,5,14,6,6,14,15,6,15,7,7,15,16,7,16,8,8,16,17,18,19,20,18,20,21,18,21,22,18,22,23,18,23,24,18,24,25,26,28,27,26,29,28,26,30,29,26,31,30,26,32,31,26,33,32],Qu=[1,0,0,.7,.7,0,0,1,0,-.7,.7,0,-1,0,0,-.7,-.7,0,0,-1,0,.7,-.7,0,1,0,0,1,0,0,.7,.7,0,0,1,0,-.7,.7,0,-1,0,0,-.7,-.7,0,0,-1,0,.7,-.7,0,1,0,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1],Ru=[-.5,.5,-.375,.5,-.25,.5,-.125,.5,0,.5,.125,.5,.25,.5,.375,.5,.5,.5,-.5,-.5,-.375,-.5,-.25,-.5,-.125,-.5,0,-.5,.125,-.5,.25,-.5,.375,-.5,.5,-.5,.5,0,.353530875,.353530875,0,.5,-.353530875,.353530875,-.5,0,-.353530875,-.353530875,0,-.5,.353530875,-.353530875,.5,0,.353530875,.353530875,0,.5,-.353530875,.353530875,-.5,0,-.353530875,-.353530875,0,-.5,.353530875,-.353530875],function(){return{vertex:Fu,normal:Qu,uv:Ru,index:Ku}}),getPipeData:function(A){(void 0===A||8>A)&&(A=8),A>256&&(A=256);var e=4*A+2,t=3*(4*A-4),i=A+1,o=1/A,n=6.28318530714/A,r=null,a=null,s=[];for(r=0;A>r;r+=1)s.push(.5*Math.cos(r*n)),s.push(.5*Math.sin(r*n));s.push(.5),s.push(0);var l=[];for(a=2*i,r=0;a>r;r+=2)l.push(s[r]),l.push(s[r+1]),l.push(.5);for(r=0;a>r;r+=2)l.push(s[r]),l.push(s[r+1]),l.push(-.5);for(a=2*A,r=0;a>r;r+=2)l.push(s[r]),l.push(s[r+1]),l.push(.5);for(r=a;r>0;r-=2)l.push(s[r]),l.push(s[r+1]),l.push(-.5);var c=[],h=A+1;for(r=0;A>r;r+=1)c.push(r),c.push(r+h),c.push(r+1),c.push(r+1),c.push(r+h),c.push(r+h+1);var d=2*i;for(r=1;A-1>r;r+=1)c.push(d),c.push(d+r),c.push(d+r+1);for(d+=A,r=1;A-1>r;r+=1)c.push(d),c.push(d+r),c.push(d+r+1);var p=[];for(r=A;r>=0;r-=1)p.push(r*o-.5),p.push(-.5);for(r=A;r>=0;r-=1)p.push(r*o-.5),p.push(.5);for(a=2*A,r=0;a>r;r+=2)p.push(s[r]),p.push(s[r+1]);for(r=a;r>0;r-=2)p.push(s[r]),p.push(s[r+1]);a=3*e;var g=[];for(r=0;a>r;r+=1)g.push(0);var u=null,f=null,m=null,C=new y,v=new y,I=new y,E=new y,B=new y;for(r=0;t>r;r+=3)f=3*c[r+1],m=3*c[r+2],C.fromArray(l,u=3*c[r]),v.fromArray(l,f),I.fromArray(l,m),E.subVectors(I,v),B.subVectors(C,v),E.cross(B),g[u]+=E.x,g[u+1]+=E.y,g[u+2]+=E.z,g[f]+=E.x,g[f+1]+=E.y,g[f+2]+=E.z,g[m]+=E.x,g[m+1]+=E.y,g[m+2]+=E.z;var x=new y;for(a=3*e,r=0;a>r;r+=3)x.fromArray(g,r),x.normalize(),g[r]=x.x,g[r+1]=x.y,g[r+2]=x.z;return{vertex:l,normal:g,uv:p,index:c,edges:A}},getInstancePipeData:function(A,e){var t=this.getPipeData(A);(void 0===A||8>A)&&(A=8),A>256&&(A=256);var i=2*(A+1),o=i+A,n=4*A+2,r=[[],[],[]];r[0]=t.vertex.slice(0,3*i),r[1]=t.vertex.slice(3*i,3*o),r[2]=t.vertex.slice(3*o,3*n);var a=[[],[],[]],s=A+1,l=0;for(l=0;A>l;l+=1)a[0].push(l),a[0].push(l+s),a[0].push(l+1),a[0].push(l+1),a[0].push(l+s),a[0].push(l+s+1);for(l=1;A-1>l;l+=1)a[1].push(0),a[1].push(l),a[1].push(l+1);for(l=1;A-1>l;l+=1)a[2].push(0),a[2].push(l),a[2].push(l+1);var c=[[],[],[]];c[0]=t.uv.slice(0,2*i),c[1]=t.uv.slice(2*i,2*o),c[2]=t.uv.slice(2*o,2*n);var h=[[],[],[]];return h[0]=t.normal.slice(0,3*i),h[1]=t.normal.slice(3*i,3*o),h[2]=t.normal.slice(3*o,3*n),{vertex:r[e],normal:h[e],uv:c[e],index:a[e]}},getUnitTextureCylinder:function(){if(null===Tu.UnitTextureCylinder){Tu.UnitTextureCylinder=new Array(3);for(var A=0;3>A;A+=1){var e=Tu.getInstancePipeData(32,A);Tu.UnitTextureCylinder[A]=new he,Tu.UnitTextureCylinder[A].setIndex(e.index),Tu.UnitTextureCylinder[A].addAttribute("position",new Ae(e.vertex,3)),Tu.UnitTextureCylinder[A].addAttribute("normal",new Ae(e.normal,3)),Tu.UnitTextureCylinder[A].addAttribute("uv",new Ae(e.uv,2))}}return Tu.UnitTextureCylinder},getUnitTextureBox:function(){if(null===Tu.UnitTextureBox){Tu.UnitTextureBox=new Array(6);for(var A=0;6>A;A+=1){var e=Tu.getBoxData(A);Tu.UnitTextureBox[A]=new he,Tu.UnitTextureBox[A].setIndex(e.index),Tu.UnitTextureBox[A].addAttribute("position",new Ae(e.vertex,3)),Tu.UnitTextureBox[A].addAttribute("normal",new Ae(e.normal,3)),Tu.UnitTextureBox[A].addAttribute("uv",new Ae(e.uv,2))}}return Tu.UnitTextureBox},getBoxBufferGeometryWithUvMatrices:function(A){for(var e=[],t=null,i=new l,o=new y,n=!!A,r=0;6>r;r+=1){t=new he;var a=Tu.getBoxData(r);if(n){var s=[];i.set(A[6*r],A[6*r+2],A[6*r+4],A[6*r+1],A[6*r+3],A[6*r+5],0,0,1);for(var c=0,h=a.uv.length;h>c;c+=2)o.set(a.uv[c],a.uv[c+1],1),o.applyMatrix3(i),s.push(o.x),s.push(o.y);t.addAttribute("uv",new Ae(s,2))}t.setIndex(new YA(Uint32Array.from(a.index),1)),t.addAttribute("position",new Ae(a.vertex,3)),t.addAttribute("normal",new Ae(a.normal,3)),e.push(t)}return Tu.mergeBufferGeometries2(e)},getPipeBufferGeometryWithUvMatrices:function(A){var e=Tu.getPipeData(32),t=e.edges,i=!(!A||18!==A.length),o=new he;if(i){for(var n=[],r=0,a=A.length;a>r;r+=6){var s=new l;s.set(A[6*r],A[6*r+2],A[6*r+4],A[6*r+1],A[6*r+3],A[6*r+5],0,0,1),n.push(s)}for(var c=[],h=new y,d=4*(t+1),p=d+2*t,g=0,u=e.uv.length;u>g;g+=2)h.set(e.uv[g],e.uv[g+1],1),h.applyMatrix3(d>g?n[0]:p>g?n[1]:n[2]),c.push(h.x),c.push(h.y);o.addAttribute("uv",new Ae(c,2))}return o.setIndex(new $A(e.index,1)),o.addAttribute("position",new Ae(e.vertex,3)),o.addAttribute("normal",new Ae(e.normal,3)),o},getGeometryFromBox3:function(A){var e=new he,t=[],i=[],o=A.min,n=A.max,r=o.x,a=o.y,s=o.z,l=n.x,c=n.y,h=n.z;return t.push(r,a,s),t.push(l,a,s),t.push(r,a,h),t.push(l,a,h),t.push(r,c,s),t.push(l,c,s),t.push(r,c,h),t.push(l,c,h),i.push(0,1,3),i.push(0,3,2),i.push(1,5,7),i.push(1,7,3),i.push(5,4,6),i.push(5,6,7),i.push(4,2,6),i.push(4,0,2),i.push(0,4,5),i.push(0,5,1),i.push(2,3,7),i.push(2,7,6),e.setIndex(new YA(new Uint32Array(i),1)),e.setAttribute("position",new YA(new Float32Array(t),3)),e},getWorldMatrixOfMesh:function(A){for(var e=[],t=A.parent;t;)e.push(t.matrix),t=t.parent;var i=new M;if(e.length>0){i=e[e.length-1];for(var o=e.length-2;o>=0;o-=1)i.multiply(e[o])}var n=new M;return n.multiplyMatrices(i,A.matrix),n},getWorldPositionOfMesh:function(A,e){e||(e=new M);var t=new M;t.getInverse(e);var i=A.clone();return i.applyMatrix4(t),i},getBoundingBoxWorldOfMesh:function(A,e){var t=A.boundingBox;t||(A.geometry.boundingBox||A.geometry.computeBoundingBox(),t=A.geometry.boundingBox);var i=t.clone();i.applyMatrix4(A.matrixWorld);var o=new M;return o.getInverse(e),i.applyMatrix4(o),i},getBoundingBoxByBuffer:function(A){for(var e=1/0,t=1/0,i=1/0,o=-1/0,n=-1/0,r=-1/0,a=new ph,s=0,l=A.length;l>s;s+=3){var c=A[s],h=A[s+1],d=A[s+2];e>c&&(e=c),t>h&&(t=h),i>d&&(i=d),c>o&&(o=c),h>n&&(n=h),d>r&&(r=d)}return a.min.set(e,t,i),a.max.set(o,n,r),a},mergeBufferGeometriesFromMeshs:function(A,e){for(var t=null!==A[0].geometry.index,i=new Set(Object.keys(A[0].geometry.attributes)),o=new Set(Object.keys(A[0].geometry.morphAttributes)),n={},r={},a=new he,s=0;A.length>s;s+=1){var l=A[s].geometry;if(t!==(null!==l.index))return null;for(var c in l.attributes){if(!i.has(c))return console.log("attributes not Used: ",c),null;void 0===n[c]&&(n[c]=[]),n[c].push(l.attributes[c])}for(var c in l.morphAttributes){if(!o.has(c))return null;void 0===r[c]&&(r[c]=[]),r[c].push(l.morphAttributes[c])}null!=l.userData&&(a.userData=a.userData||{},a.userData.mergedUserData=a.userData.mergedUserData||[],a.userData.mergedUserData.push(l.userData))}if(t){var h=0,d=[],p=0,g=0;for(s=0;A.length>s;s+=1){var u=A[s].geometry.index;if(h>0){u=u.clone();for(var f=0;u.count>f;f+=1)u.setX(f,u.getX(f)+h)}d.push(u),h+=A[s].geometry.attributes.position.count,void 0===e[A[s].userId]&&(e[A[s].userId]=[]),e[A[s].userId].push({nodeId:A[s].nodeId,indexStart:p,indexCount:u.count,positionStart:g,positionCount:A[s].geometry.attributes.position.count}),g+=A[s].geometry.attributes.position.count,p+=u.count}var m=this.mergeBufferAttributes(d);if(!m)return null;a.index=m}for(var c in n){var C=this.mergeBufferAttributes(n[c]);if(!C)return null;a.setAttribute(c,C)}for(var c in r){var y=r[c][0].length;if(0===y)break;a.morphAttributes=a.morphAttributes||{},a.morphAttributes[c]=[];for(s=0;y>s;s+=1){var v=[];for(f=0;r[c].length>f;f+=1)v.push(r[c][f][s]);var I=this.mergeBufferAttributes(v);if(!I)return null;a.morphAttributes[c].push(I)}}return a},mergeBufferGeometries:function(A,e){for(var t=null!==A[0].index,i=new Set(Object.keys(A[0].attributes)),o={},n=new he,r=0;A.length>r;r+=1){var a=A[r];if(t!==(null!==a.index))return null;for(var s in a.attributes){if(!i.has(s))return null;void 0===o[s]&&(o[s]=[]),o[s].push(a.attributes[s])}}if(t){var l=0,c=[];for(r=0;A.length>r;r+=1){var h=A[r].index;if(l>0){h=h.clone();for(var d=0;h.count>d;d+=1)h.setX(d,h.getX(d)+l)}c.push(h),l+=A[r].attributes.position.count}var p=this.mergeBufferAttributes(c);if(!p)return null;n.index=p}for(var s in o){var g=this.mergeBufferAttributes(o[s],e);if(!g)return null;n.setAttribute(s,g)}return n},reducedGeometry:function(A,e){for(var t={},i=0,o=e.length;o>i;i+=1){var n=e[i];t[n]||(t[n]=[]),t[n].push(i)}var r=0,a=new Float32Array(3*Object.keys(t).length);for(var s in t){for(var l=t[s],c=0,h=l.length;h>c;c+=1)e[l[c]]=r,a[3*r]=A[3*s],a[3*r+1]=A[3*s+1],a[3*r+2]=A[3*s+2];r+=1}return{buffer:a,index:e}},mergeBufferAttributes:function(A,e){for(var t=null,i=null,o=null,n=0,r=0;A.length>r;r+=1){var a=A[r];if(a.isInterleavedBufferAttribute)return null;if(null===t&&(t=a.array.constructor),t!==a.array.constructor)return null;if(null===i&&(i=a.itemSize),i!==a.itemSize)return null;if(null===o&&(o=a.normalized),o!==a.normalized)return null;n+=a.array.length}for(var s=new t(n),c=0,h=!1,d=0;A.length>d;d+=1){if(e&&!e[d].equals(Bc)&&("position"===A[d].name||"normal"===A[d].name)){if("position"===A[d].name&&e[d].applyToBufferAttribute(A[d]),"normal"===A[d].name)(new l).getNormalMatrix(e[d]).applyToBufferAttribute(A[d]);h=!0}if(s.set(A[d].array,c),c+=A[d].array.length,h){var p=(new M).getInverse(e[d]);if("position"===A[d].name&&p.applyToBufferAttribute(A[d]),"normal"===A[d].name)(new l).getNormalMatrix(p).applyToBufferAttribute(A[d]);h=!1}}return new YA(s,i,o)},applyMatrix3ToBuffer:function(){var A=new y;return function(e,t,i,o){if(e.equals(xc))return t;for(var n=i||0,r=o||t.length;r>n;n+=3)A.x=t[n+0],A.y=t[n+1],A.z=t[n+2],A.applyMatrix3(e),t[n+0]=A.x,t[n+1]=A.y,t[n+2]=A.z;return t}}(),applyMatrix4ToBuffer:function(){var A=new y;return function(e,t,i,o){if(e.equals(Bc))return t;for(var n=i||0,r=o||t.length;r>n;n+=3)A.x=t[n+0],A.y=t[n+1],A.z=t[n+2],A.applyMatrix4(e),t[n+0]=A.x,t[n+1]=A.y,t[n+2]=A.z;return t}}(),normalizeBuffer:function(A){for(var e=null,t=null,i=null,o=null,n=0,r=A.length;r>n;n+=3)e=A[n],t=A[n+1],i=A[n+2],o=1/Math.sqrt(e*e+t*t+i*i),A[n]=e*o,A[n+1]=t*o,A[n+2]=i*o},disposeBufferFromGeometry:function(A,e){for(var t=0,i=e.length;i>t;t+=1){var o=A.getAttribute(e[t]);o&&(o.array=null)}},disposeIndexBufferFromGeometry:function(A){A.index&&(A.index.array=null)},copyMeshProperties:function(A,e){A.name=e.name,A.up.copy(e.up),A.position.copy(e.position),A.quaternion.copy(e.quaternion),A.scale.copy(e.scale),A.matrix.copy(e.matrix),A.matrixWorld.copy(e.matrixWorld),A.matrixAutoUpdate=e.matrixAutoUpdate,A.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate},createBufferGeometryWithPosAndSkin:function(A){var e=new he;if(A.isBufferGeometry||A._bufferGeometry){var t=A.isBufferGeometry?A:A._bufferGeometry;e.addAttribute("position",t.getAttribute("position")),t.getAttribute("skinIndex")&&e.addAttribute("skinIndex",t.getAttribute("skinIndex")),t.getAttribute("skinWeight")&&e.addAttribute("skinWeight",t.getAttribute("skinWeight"));var i=t.getIndex();i&&e.setIndex(i)}else if(A.isGeometry){var o=new Ae(3*A.vertices.length,3);if(e.addAttribute("position",o.copyVector3sArray(A.vertices)),A.skinIndices.length>0){var n=new Ae(4*A.skinIndices.length,4);e.addAttribute("skinIndex",n.copyVector4sArray(A.skinIndices))}if(A.skinWeights.length>0){var r=new Ae(4*A.skinWeights.length,4);this.addAttribute("skinWeight",r.copyVector4sArray(A.skinWeights))}if(A.faces.length){for(var a=A.faces,s=[],l=0;a.length>l;l+=1){var c=a[l];s.push(c.a,c.b,c.c)}var h=new(uh.arrayMax(s)>65535?Uint32Array:Uint16Array)(3*s.length);e.setIndex(new YA(h,1).copyIndicesArray(s))}}return e},calculateVolumeOfGeometry:function(A,e,t,i){if(A&&e){var o=0,n=new y,r=new y,a=new y;t||(t=0),i||(i=e.length);for(var s=0,l=0,c=0,h=t,d=t+i;d>h;h+=3){l=e[h+1],c=e[h+2],n.set(A[3*(s=e[h])],A[3*s+1],A[3*s+2]),r.set(A[3*l],A[3*l+1],A[3*l+2]),a.set(A[3*c],A[3*c+1],A[3*c+2]),o+=n.clone().cross(r).dot(a)/6}return o}},minDistanceBetweenTriToMesh:function(A,e,t,i){function o(A,e){return new y(A.x-e.x,A.y-e.y,A.z-e.z)}function n(A,e){return new y(A.x+e.x,A.y+e.y,A.z+e.z)}function r(A,e,t){return new y(A.x+e.x*t,A.y+e.y*t,A.z+e.z*t)}function a(A,e){return A.x*e.x+A.y*e.y+A.z*e.z}function s(A,e){return new y(A.y*e.z-A.z*e.y,A.z*e.x-A.x*e.z,A.x*e.y-A.y*e.x)}function l(A,e,t,i){var l,c=a(e,i),h=a(e,e),d=a(i,i),p=o(t,A),g=a(e,p),u=a(i,p),f=null;0>(f=(g*d-u*c)/(h*d-c*c))||isNaN(f)?f=0:f>1&&(f=1);var m=null,C=null,y=null,v=null;return 0>=(l=(f*c-u)/d)||isNaN(l)?(C=t,0>=(f=g/h)||isNaN(f)?(m=A,y=o(t,A)):1>f?(m=r(A,e,f),v=s(p,e),y=s(e,v)):y=o(t,m=n(A,e))):1>l?(C=r(t,i,l),0>=f||isNaN(f)?(m=A,v=s(p,i),y=s(i,v)):1>f?(m=r(A,e,f),0>a(y=s(e,i),p)&&y.multiplyScalar(-1)):(v=s(p=o(t,m=n(A,e)),i),y=s(i,v))):(C=n(t,i),0>=(f=(c+g)/h)||isNaN(f)?(m=A,y=o(C,A)):1>f?(m=r(A,e,f),v=s(p=o(C,A),e),y=s(e,v)):y=o(C,m=n(A,e))),{vec:y,closestP:m,closestQ:C}}function c(A,e){var t=null,i=null,n=[],c=[],h=null;n[0]=o(A[1],A[0]),n[1]=o(A[2],A[1]),n[2]=o(A[0],A[2]),c[0]=o(e[1],e[0]),c[1]=o(e[2],e[1]),c[2]=o(e[0],e[2]);for(var d=null,p=null,g=null,u=0,f=A[0].distanceToSquared(e[0])+1,m=0;3>m;m+=1)for(var C=0;3>C;C+=1){var y=l(A[m],n[m],e[C],c[C]);h=y.vec;var v=a(d=o(i=y.closestQ,t=y.closestP),d);if(f>=v){p=t.clone(),g=i.clone(),f=v;var I=a(o(A[(m+2)%3],t),h),E=a(o(e[(C+2)%3],i),h);if(0>=I&&E>=0)return{start:t.clone(),end:i.clone(),minDistance:Math.sqrt(v)};0>I&&(I=0),E>0&&(E=0),a(d,h)-I+E>0&&(u=1)}}var B=s(n[0],n[1]),x=a(B,B);if(x>1e-15){var S=[];d=o(A[0],e[0]),S[0]=a(d,B),d=o(A[0],e[1]),S[1]=a(d,B),d=o(A[0],e[2]),S[2]=a(d,B);var w=-1;if(S[0]>0&&S[1]>0&&S[2]>0?S[w=S[1]>S[0]?0:1]>S[2]&&(w=2):0>S[0]&&0>S[1]&&0>S[2]&&S[2]>S[w=S[0]>S[1]?0:1]&&(w=2),w>=0&&(u=1,a(d=o(e[w],A[0]),s(B,n[0]))>0&&a(d=o(e[w],A[1]),s(B,n[1]))>0&&a(d=o(e[w],A[2]),s(B,n[2]))>0))return t=r(e[w],B,S[w]/x),i=e[w].clone(),{start:t.clone(),end:i,minDistance:t.distanceTo(i)}}var M=s(c[0],c[1]),b=a(M,M);if(b>1e-15){var U=[];d=o(e[0],A[0]),U[0]=a(d,M),d=o(e[0],A[1]),U[1]=a(d,M),d=o(e[0],A[2]),U[2]=a(d,M);w=-1;if(U[0]>0&&U[1]>0&&U[2]>0?U[w=U[1]>U[0]?0:1]>U[2]&&(w=2):0>U[0]&&0>U[1]&&0>U[2]&&U[2]>U[w=U[0]>U[1]?0:1]&&(w=2),w>=0&&(u=1,a(d=o(A[w],e[0]),s(M,c[0]))>0&&a(d=o(A[w],e[1]),s(M,c[1]))>0&&a(d=o(A[w],e[2]),s(M,c[2]))>0))return{start:t=A[w].clone(),end:(i=r(A[w],M,U[w]/b)).clone(),minDistance:t.distanceTo(i)}}return u?(t=p,i=g,{start:p.clone(),end:g.clone(),minDistance:Math.sqrt(f)}):{start:p.clone(),end:g.clone(),minDistance:0}}var h=new y,d=new y,p=new y;function g(A,e,t,i,o,n){h.fromBufferAttribute(e,t),d.fromBufferAttribute(e,i),p.fromBufferAttribute(e,o),n&&(h.applyMatrix4(n),d.applyMatrix4(n),p.applyMatrix4(n)),A.push(h),A.push(d),A.push(p)}for(var u={start:null,end:null,minDistance:Number.POSITIVE_INFINITY},f=e.geometry,m=f.attributes.position,C=t?t.indexStart:0,v=f.getIndex().array,I=C,E=t?t.indexStart+t.indexCount:v.length;E>I;I+=3){var B=[];g(B,m,v[I],v[I+1],v[I+2],i);var x=c(A,B);if(0>=x.minDistance)return u.minDistance=0,u.start=x.start.clone(),u.end=x.end.clone(),u;u.minDistance>x.minDistance&&(u.minDistance=x.minDistance,u.start=x.start.clone(),u.end=x.end.clone())}return u},minDistanceBetweenTriToTri:function(A,e){function t(A,e){return new y(A.x-e.x,A.y-e.y,A.z-e.z)}function i(A,e){return new y(A.x+e.x,A.y+e.y,A.z+e.z)}function o(A,e,t){return new y(A.x+e.x*t,A.y+e.y*t,A.z+e.z*t)}function n(A,e){return A.x*e.x+A.y*e.y+A.z*e.z}function r(A,e){return new y(A.y*e.z-A.z*e.y,A.z*e.x-A.x*e.z,A.x*e.y-A.y*e.x)}function a(A,e,a,s){var l,c=n(e,s),h=n(e,e),d=n(s,s),p=t(a,A),g=n(e,p),u=n(s,p),f=null;0>(f=(g*d-u*c)/(h*d-c*c))||isNaN(f)?f=0:f>1&&(f=1);var m=null,C=null,y=null,v=null;return 0>=(l=(f*c-u)/d)||isNaN(l)?(C=a,0>=(f=g/h)||isNaN(f)?(m=A,y=t(a,A)):1>f?(m=o(A,e,f),v=r(p,e),y=r(e,v)):y=t(a,m=i(A,e))):1>l?(C=o(a,s,l),0>=f||isNaN(f)?(m=A,v=r(p,s),y=r(s,v)):1>f?(m=o(A,e,f),0>n(y=r(e,s),p)&&y.multiplyScalar(-1)):(v=r(p=t(a,m=i(A,e)),s),y=r(s,v))):(C=i(a,s),0>=(f=(c+g)/h)||isNaN(f)?(m=A,y=t(C,A)):1>f?(m=o(A,e,f),v=r(p=t(C,A),e),y=r(e,v)):y=t(C,m=i(A,e))),{vec:y,closestP:m,closestQ:C}}function s(A,e){var i=null,s=null,l=[],c=[],h=null;l[0]=t(A[1],A[0]),l[1]=t(A[2],A[1]),l[2]=t(A[0],A[2]),c[0]=t(e[1],e[0]),c[1]=t(e[2],e[1]),c[2]=t(e[0],e[2]);for(var d=null,p=null,g=null,u=0,f=A[0].distanceToSquared(e[0])+1,m=0;3>m;m+=1)for(var C=0;3>C;C+=1){var y=a(A[m],l[m],e[C],c[C]);h=y.vec;var v=n(d=t(s=y.closestQ,i=y.closestP),d);if(f>=v){p=i.clone(),g=s.clone(),f=v;var I=n(t(A[(m+2)%3],i),h),E=n(t(e[(C+2)%3],s),h);if(0>=I&&E>=0)return{start:i.clone(),end:s.clone(),minDistance:Math.sqrt(v)};0>I&&(I=0),E>0&&(E=0),n(d,h)-I+E>0&&(u=1)}}var B=r(l[0],l[1]),x=n(B,B);if(x>1e-15){var S=[];d=t(A[0],e[0]),S[0]=n(d,B),d=t(A[0],e[1]),S[1]=n(d,B),d=t(A[0],e[2]),S[2]=n(d,B);var w=-1;if(S[0]>0&&S[1]>0&&S[2]>0?S[w=S[1]>S[0]?0:1]>S[2]&&(w=2):0>S[0]&&0>S[1]&&0>S[2]&&S[2]>S[w=S[0]>S[1]?0:1]&&(w=2),w>=0&&(u=1,n(d=t(e[w],A[0]),r(B,l[0]))>0&&n(d=t(e[w],A[1]),r(B,l[1]))>0&&n(d=t(e[w],A[2]),r(B,l[2]))>0))return i=o(e[w],B,S[w]/x),s=e[w].clone(),{start:i.clone(),end:s,minDistance:i.distanceTo(s)}}var M=r(c[0],c[1]),b=n(M,M);if(b>1e-15){var U=[];d=t(e[0],A[0]),U[0]=n(d,M),d=t(e[0],A[1]),U[1]=n(d,M),d=t(e[0],A[2]),U[2]=n(d,M);w=-1;if(U[0]>0&&U[1]>0&&U[2]>0?U[w=U[1]>U[0]?0:1]>U[2]&&(w=2):0>U[0]&&0>U[1]&&0>U[2]&&U[2]>U[w=U[0]>U[1]?0:1]&&(w=2),w>=0&&(u=1,n(d=t(A[w],e[0]),r(M,c[0]))>0&&n(d=t(A[w],e[1]),r(M,c[1]))>0&&n(d=t(A[w],e[2]),r(M,c[2]))>0))return{start:i=A[w].clone(),end:(s=o(A[w],M,U[w]/b)).clone(),minDistance:i.distanceTo(s)}}return u?(i=p,s=g,{start:p.clone(),end:g.clone(),minDistance:Math.sqrt(f)}):{start:p.clone(),end:g.clone(),minDistance:0}}for(var l={start:null,end:null,minDistance:Number.POSITIVE_INFINITY},c=0,h=A.length;h>c;c+=1)for(var d=0,p=e.length;p>d;d+=1){var g=s(A[c],e[d]);if(0>=g.minDistance)return l.minDistance=0,l.start=g.start.clone(),l.end=g.end.clone(),l;l.minDistance>g.minDistance&&(l.minDistance=g.minDistance,l.start=g.start.clone(),l.end=g.end.clone())}return l},calculateTheIntersectionOfGeometryAndPlane:function(A,e){var t=A.getIndex().array,i=A.attributes.position,o=t.length,n=e.clone(),r=0;-1===n.normal.x?r=0:1===n.normal.x?(n.normal.x=-1,n.constant*=-1,r=1):-1===n.normal.y?r=2:1===n.normal.y?(n.normal.y=-1,n.constant*=-1,r=3):-1===n.normal.z?r=4:1===n.normal.z&&(n.normal.z=-1,n.constant*=-1,r=5);for(var a,s,l,c,h,d,p,g,u=[],f=new Hs,m=0,C=o;C>m;m+=3){var v=[];a=v,s=i,l=t[m],c=t[m+1],h=t[m+2],d=new y,p=new y,g=new y,d.fromBufferAttribute(s,l),p.fromBufferAttribute(s,c),g.fromBufferAttribute(s,h),a.push(d),a.push(p),a.push(g);var I=v[0],E=v[1],B=v[2],x=!1,S=!1,w=!1;switch(r){case 0:case 1:x=n.constant>I.x,S=n.constant>E.x,w=n.constant>B.x;break;case 2:case 3:x=n.constant>I.y,S=n.constant>E.y,w=n.constant>B.y;break;case 4:case 5:x=n.constant>I.z,S=n.constant>E.z,w=n.constant>B.z}var M=null,b=null;x?S?w||(f.set(B,E),(M=n.intersectLine(f,new y))&&u.push(M),f.set(B,I),(b=n.intersectLine(f,new y))&&u.push(b)):w?(f.set(E,B),(M=n.intersectLine(f,new y))&&u.push(M),f.set(E,I),(b=n.intersectLine(f,new y))&&u.push(b)):(f.set(E,I),(M=n.intersectLine(f,new y))&&u.push(M),f.set(B,I),(b=n.intersectLine(f,new y))&&u.push(b)):S?w?(f.set(I,E),(M=n.intersectLine(f,new y))&&u.push(M),f.set(I,B),(b=n.intersectLine(f,new y))&&u.push(b)):(f.set(I,E),(M=n.intersectLine(f,new y))&&u.push(M),f.set(B,E),(b=n.intersectLine(f,new y))&&u.push(b)):w&&(f.set(I,B),(M=n.intersectLine(f,new y))&&u.push(M),f.set(E,B),(b=n.intersectLine(f,new y))&&u.push(b))}if(u.length>=1){for(var U={},F=[],K=[],Q=0,R=u.length;R>Q;Q+=1){var T=u[Q].toArray(F).toString();U[T]||(U[T]=[]),2>U[T].length||(T=T+"_"+Math.floor(U[T].length/2+.6),U[T]||(U[T]=[])),U[T].push(Q),K.push(T)}var k=[],D=K[0];return k.push(u[0],u[1]),function A(e,t){var i=U[K[e]],o=i[0]===e?i[1]:i[0],n=o%2?o-1:o+1;if(t.push(u[n]),K[n]!==D){if(isNaN(n))return void(k=null);A(n,t)}}(1,k),k}},getShapeGeometryFromGeometryAndPlane:function(A,e){var t=Tu.calculateTheIntersectionOfGeometryAndPlane(A,e);if(t){var i=0;-1===e.normal.x?i=0:1===e.normal.x?i=1:-1===e.normal.y?i=2:1===e.normal.y?i=3:-1===e.normal.z?i=4:1===e.normal.z&&(i=5);var o=[],n=[],r=[],a=[],l=[];A.boundingBox||A.computeBoundingBox();for(var c=A.boundingBox.getSize(new y),h=e.normal.x*c.x*1e-4,d=e.normal.y*c.y*1e-4,p=e.normal.z*c.z*1e-4,g=0,u=t.length;u>g;g+=1){var f=t[g],m=new s;switch(n.push(f.x+h,f.y+d,f.z+p),i){case 0:case 1:r.push(1,0,0),a.push(f.y,f.z),m.set(f.y,f.z);break;case 2:case 3:r.push(0,1,0),a.push(f.x,f.z),m.set(f.x,f.z);break;case 4:case 5:r.push(0,0,1),a.push(f.x,f.y),m.set(f.x,f.y)}l.push(m)}for(var C=Hn.triangulateShape(l,[]),v=0,I=C.length;I>v;v+=1){var E=C[v];o.push(E[0],E[1],E[2])}var B=new he;return B.setIndex(o),B.setAttribute("position",new Ae(n,3)),B.setAttribute("normal",new Ae(r,3)),B.setAttribute("uv",new Ae(a,2)),B}}};Tu.getBoxMBuffer=function(){for(var A=null,e=null,t=[],i=[],o=[],n=0,r=0;6>r;r+=1){var a=Tu.getBoxData(r);for(A=0,e=a.vertex.length;e>A;A+=1)t.push(a.vertex[A]);for(A=0,e=a.index.length;e>A;A+=1)o.push(a.index[A]+n);for(n+=a.vertex.length/3,A=0,e=a.normal.length;e>A;A+=1)i.push(a.normal[A])}return function(A){var e=null;if(A){var n=new l,r=new y;e=[];for(var a=0;6>a;a+=1){var s=Tu.getBoxData(a);n.set(A[6*a],A[6*a+2],A[6*a+4],A[6*a+1],A[6*a+3],A[6*a+5],0,0,1);for(var c=0,h=s.uv.length;h>c;c+=2)r.set(s.uv[c],s.uv[c+1],1),r.applyMatrix3(n),e.push(r.x),e.push(r.y)}}return{vertex:t,normal:i,uv:e,index:o}}}(),Tu.getPipeMBuffer=function(){var A=Tu.getPipeData(32),e=A.edges,t=A.vertex,i=A.normal,o=A.index;return function(A){var n=null;if(!(!A||18!==A.length)){n=[];for(var r=[],a=0,s=A.length/6;s>a;a+=1){var c=new l;c.set(A[6*a],A[6*a+2],A[6*a+4],A[6*a+1],A[6*a+3],A[6*a+5],0,0,1),r.push(c)}for(var h=Tu.getPipeData(32),d=4*(e+1),p=d+2*e,g=new y,u=0,f=h.uv.length;f>u;u+=2)g.set(h.uv[u],h.uv[u+1],1),g.applyMatrix3(d>u?r[0]:p>u?r[1]:r[2]),n.push(g.x),n.push(g.y)}return{vertex:t,normal:i,uv:n,index:o}}}();var ku={geoHeader:function(A){var e=new Int32Array(A);this.geoCount=e[0],this.headerBuffer=e.slice(1,4*this.geoCount+1)},GeometryReader:function(A,e){Bh.time("GeometryReader"),this.geomMap=[],this.geoCount=new Uint32Array(A,0,1)[0];var t=this.geoCount,i=[],o=0,n=null,r=null,a=null,s=null,l=null,c=null,h=null,d=0,p=null,g=0,u=null,f=0,m=null,C=0,y=null,v=0,I=null;if(np(e,"2"))for(var E=0;t>E;E+=1){if(i={},o=4*(1+7*t),r=(n=new Uint32Array(A,4*(1+7*E),7))[0],a=n[2],s=n[3],l=n[4],c=n[5],h=n[6],d=o+n[1],p=new Float32Array(A.slice(d,4*a+d)),g=4*a+d,u=new Float32Array(A.slice(g,g+4*s)),f=g+4*s,m=new Uint32Array(A.slice(f,f+4*l)),C=f+4*l,y=new Float32Array(A.slice(C,C+4*c)),v=C+4*c,I=new Int16Array(A.slice(v,v+2*h)),vc.DataReduction){var B=(new M).makeScale(.001,.001,.001);Tu.applyMatrix4ToBuffer(B,p)}i.position=p,i.normal=u,i.index=m,i.uv=y,i.materialIndex=I,i.geoId=r,this.geomMap.push(i)}else for(var x=0;t>x;x+=1)i={},o=4*(1+6*t),r=(n=new Uint32Array(A,4*(1+6*x),6))[0],a=n[2],s=n[3],l=n[4],c=n[5],d=o+n[1],p=new Float32Array(A.slice(d,4*a+d)),g=4*a+d,u=new Float32Array(A.slice(g,g+4*s)),f=g+4*s,m=new Uint32Array(A.slice(f,f+4*l)),C=f+4*l,y=new Float32Array(A.slice(C,C+4*c)),i.position=p,i.normal=u,i.index=m,i.uv=y,i.geoId=r,this.geomMap.push(i);Bh.debug(this.geomMap),Bh.timeEnd("GeometryReader")},BatchedGeometryReader:function(A,e){Bh.time("BatchedGeometryReader"),this.geomMap=[],this.geoCount=new Uint32Array(A,0,1)[0];for(var t=this.geoCount,i=0,o=0,n=0,r=[],a=4,s=0;t>s;s+=1){var l={};r.push(l);var c=new Uint32Array(A,a,7);l.geoId=c[0],l.offset=c[1],l.vertexLength=c[2],l.normalLength=c[5],l.indicesLength=c[3],l.uvLength=c[4],l.componentCount=o=c[6],l.nodeInfo=[],a+=28;for(var h=0;o>h;h+=1){var d=new Uint32Array(A,a,1)[0];a+=4;for(var p=0;d>p;p+=1){var g=new Uint32Array(A,a,3);a+=12,l.nodeInfo.push(g)}}l.materialKeyLength=new Uint32Array(A,a,1)[0],a+=4}for(var u=0;t>u;u+=1){var f=r[u],m=f.normalLength,C=f.indicesLength,y=f.uvLength;i=a+f.offset,n=4*f.vertexLength;var v=new Float32Array(A.slice(i,i+n));i+=n,n=4*C;var I=new Uint32Array(A.slice(i,i+n));i+=n,n=4*y;var E=new Float32Array(A.slice(i,i+n));i+=n,n=4*m;var B=new Float32Array(A.slice(i,i+n));i+=n,o=f.componentCount;for(var x={},S=0,w=f.nodeInfo.length;w>S;S+=1){var b=f.nodeInfo[S];n=2*b[0];var U=uh.ab2str(new Int16Array(A.slice(i,i+n)));i+=n,n=2*b[1];var F=uh.ab2str(new Int16Array(A.slice(i,i+n)));i+=n;var K=new Uint32Array(A.slice(i,i+4))[0];i+=4;var Q=new Uint32Array(A.slice(i,i+4))[0];i+=4;var R=new Uint32Array(A.slice(i,i+4))[0];i+=4;var T=new Uint32Array(A.slice(i,i+4))[0];i+=4;var k={};k.userId=U,k.nodeId=F,k.positionStart=K,k.positionCount=Q,k.indexStart=R,k.indexCount=T,x[U]||(x[U]=[]),x[U].push(k)}n=2*f.materialKeyLength;var D=uh.ab2str(new Int16Array(A.slice(i,i+n)));if(vc.DataReduction){var L=(new M).makeScale(.001,.001,.001);Tu.applyMatrix4ToBuffer(L,v)}var N={};N.position=v,N.normal=B,N.index=I,N.uv=E,N.materialIndex=null,N.geoId=f.geoId,N.materialKey=D,N.componentInfo=x,this.geomMap.push(N)}Bh.debug(this.geomMap),Bh.timeEnd("BatchedGeometryReader")},NodesReader:function(A,e){Bh.time("NodesReader"),this.geomMap=[],this.nodeCount=new Uint32Array(A,0,1)[0];for(var t=this.nodeCount,i=0,o=0,n=[],r=4,a=0;t>a;a+=1){var s={};n.push(s);var l=new Uint32Array(A,r,5);s.geoId=l[0],s.offset=l[1],s.nodeIdLength=l[2],s.materialKeyLength=l[3],s.matrixLength=l[4],r+=20}for(var c=0;t>c;c+=1){var h=n[c],d=h.materialKeyLength,p=h.matrixLength,g=uh.ab2str(A.slice(i=r+h.offset,i+(o=h.nodeIdLength))),u=uh.ab2str(A.slice(i+=o,i+(o=d)));i+=o,o=8*p;var f=new Float64Array(A.slice(i,i+o));i+=o;var m={};m.nodeId=g,m.geoId=h.geoId,m.material=u,m.matrix=f,this.geomMap.push(m)}Bh.debug(this.geomMap),Bh.timeEnd("NodesReader")},InstancedGeometryReader:function(A,e){Bh.time("InstancedGeometryReader"),this.geomMap=[],this.geoCount=new Uint32Array(A,0,1)[0];for(var t=this.geoCount,i=null,o=0,n=0,r=0,a=[],s=4,l=0;t>l;l+=1){var c={};a.push(c),i=new Uint32Array(A,s,7),c.geoId=i[0],c.offset=i[1],c.vertexLength=i[2],c.normalLength=i[5],c.indicesLength=i[3],c.uvLength=i[4],c.componentCount=n=i[6],c.nodeInfo={},s+=28;var h=[];c.componentKeyLength=h,c.matrixArrayLength=[];for(var d=0;n>d;d+=1){h.push(new Uint32Array(A,s,1)[0]),s+=4;var p=new Uint32Array(A,s,1)[0];s+=4,c.nodeInfo[d]=[];for(var g=0;p>g;g+=1){var u=new Uint32Array(A,s,1)[0];s+=4,c.nodeInfo[d].push(u)}}c.matrixArrayLength=new Uint32Array(A,s,1)[0],s+=4,c.materialKeyLength=new Uint32Array(A,s,1)[0],s+=4}for(var f=0;t>f;f+=1){var m=a[f],C=m.normalLength,y=m.indicesLength,v=m.uvLength;o=s+m.offset,r=4*m.vertexLength;var I=new Float32Array(A.slice(o,o+r));o+=r,r=4*y;var E=new Uint32Array(A.slice(o,o+r));o+=r,r=4*v;var B=new Float32Array(A.slice(o,o+r));o+=r,r=4*C;var x=new Float32Array(A.slice(o,o+r));o+=r;for(var S={},w=[],b=[],U=0,F=0,K=n=m.componentCount;K>F;F+=1){var Q=uh.ab2str(A.slice(o,o+(r=m.componentKeyLength[F])));o+=r,b.push(Q),S[Q]||(S[Q]=[]);for(var R=m.nodeInfo[F],T=0,k=R.length;k>T;T+=1){var D=uh.ab2str(A.slice(o,o+(r=R[T])));o+=r,S[Q].push(U),w.push(D),U+=1}}r=8*m.matrixArrayLength;var L=new Float64Array(A.slice(o,o+r));o+=r;var N=new Float64Array(A.slice(o,o+r));o+=r;var O=new Float64Array(A.slice(o,o+r));o+=r;var V=new Float64Array(A.slice(o,o+r)),G=uh.ab2str(A.slice(o+=r,o+(r=m.materialKeyLength)));o+=r,r=4*w.length*4;var P=new Float32Array(A.slice(o,o+r));if(o+=r,vc.DataReduction){var q=(new M).makeScale(.001,.001,.001);Tu.applyMatrix4ToBuffer(q,I)}var j={};j.position=I,j.normal=x,j.index=E,j.uv=B,j.materialIndex=null,j.geoId=m.geoId,j.materialKey=G,j.componentInfo=S,j.mcol0=L,j.mcol1=N,j.mcol2=O,j.mcol3=V,j.color=P,j.nodeIdInfo=w,j.componentKeyInfo=b,this.geomMap.push(j)}Bh.debug(this.geomMap),Bh.timeEnd("InstancedGeometryReader")},BoneReader:function(A,e){Bh.time("BoneReader"),this.boneMap=[],this.boneCount=new Uint32Array(A,0,1)[0];for(var t=this.boneCount,i=[],o=0,n=null,r=null,a=null,s=null,l=null,c=null,h=0,d=null,p=0,g=null,u=0,f=null,m=0,C=[],y="[]",v=0;t>v;v+=1){i={},o=4*(1+5*t),r=(n=new Uint32Array(A,4*(1+5*v),5))[0],a=n[2],s=n[3],l=n[3],c=n[4],h=o+n[1],d=new Float32Array(A.slice(h,4*a+h)),p=4*a+h,g=new Uint16Array(A.slice(p,p+2*s)),u=p+2*s,f=new Float32Array(A.slice(u,u+4*l)),m=u+4*l;var I=new Uint8Array(A.slice(m,m+c));y=mh.isIE11()?uh.decodeUTF8(I):new TextDecoder("utf-8").decode(I);try{C=JSON.parse(y)}catch(A){Bh.error("解析name出错",A)}i.offsetMatrix=d,i.skinIndex=g,i.skinWeight=f,i.name=C,i.geoId=r,this.boneMap.push(i)}Bh.debug(this.boneMap),Bh.time("BoneReader")}};ku.GeometryReader.prototype={constructor:ku.GeometryReader,getPositionBuffer:function(A){return this.geos[A].position},getIndexBuffer:function(A){return this.geos[A].index},getNormalBuffer:function(A){return this.geos[A].normal},getUVBuffer:function(A){return[]}};var Du=function(A,e){if(this.materialMap=[],np(e,"2"))this.materialMap=A;else for(var t=this.materialCount=new Uint32Array(A,0,1)[0],i=4*(1+6*t),o=0;t>o;o+=1){var n=new Uint32Array(A,4*(1+6*o),6),r=n[0],a=n[1],s=n[2],l=n[3],c=n[4],h=n[5],d=new Float32Array(A.slice(i+a,4*s+i+a)),p=new Int16Array(A.slice(4*s+i+a,4*s+i+a+2*l)),g=new Uint8Array(A.slice(4*s+i+a+2*l,4*s+i+a+2*l+c)),u=4*s+i+a+2*l+c,f=new Int16Array(A.slice(u,u+2*h)),m="[]";m=mh.isIE11()?uh.decodeUTF8(g):new TextDecoder("utf-8").decode(g);var C=[];try{C=JSON.parse(m)}catch(A){Bh.error("解析纹理出错:",A)}var y={};y.matId=r,y.color=d,y.colorIndex=p,y.texture=C,y.textureIndex=f,this.materialMap.push(y)}Bh.debug(this.materialMap)},Lu={geoHeader:function(A){var e=new Int32Array(A);this.geoCount=e[0],this.headerBuffer=e.slice(1,4*this.geoCount+1)},GeometryReader:function(A,e){this.geomMap=[],this.geoCount=new Uint32Array(A,0,1)[0];for(var t=this.geoCount,i=[],o=0,n=null,r=null,a=null,s=null,l=0,c=null,h=null,d=0,p=0;t>p;p+=1)i={},o=4*(1+4*t),r=(n=new Uint32Array(A,4*(1+4*p),4))[0],a=n[3],s=n[2],l=o+n[1],h=new Uint32Array(A.slice(l,l+4*s)),d=l+4*s,c=new Float32Array(A.slice(d,4*a+d)),i.position=c,i.index=h,i.geoId=r,this.geomMap.push(i);Bh.debug(this.geomMap)},BoneReader:function(A,e){this.boneMap=[],this.boneCount=new Uint32Array(A,0,1)[0];for(var t=this.boneCount,i=[],o=0,n=null,r=null,a=null,s=null,l=null,c=null,h=0,d=null,p=0,g=null,u=0,f=null,m=0,C=[],y="[]",v=0;t>v;v+=1){i={},o=4*(1+5*t),r=(n=new Uint32Array(A,4*(1+5*v),5))[0],a=n[2],s=n[3],l=n[3],c=n[4],h=o+n[1],d=new Float32Array(A.slice(h,4*a+h)),p=4*a+h,g=new Uint16Array(A.slice(p,p+2*s)),u=p+2*s,f=new Float32Array(A.slice(u,u+4*l)),m=u+4*l;var I=new Uint8Array(A.slice(m,m+c));y=mh.isIE11()?uh.decodeUTF8(I):new TextDecoder("utf-8").decode(I);try{C=JSON.parse(y)}catch(A){Bh.error("解析name出错",A)}i.offsetMatrix=d,i.skinIndex=g,i.skinWeight=f,i.name=C,i.geoId=r,this.boneMap.push(i)}Bh.debug(this.boneMap)}};Lu.GeometryReader.prototype={constructor:Lu.GeometryReader,getPositionBuffer:function(A){return this.geos[A].position},getIndexBuffer:function(A){return this.geos[A].index},getNormalBuffer:function(A){return this.geos[A].normal},getUVBuffer:function(A){return[]}};var Nu=function(A){this.MaxThreadCount=A||8,this.todoList=[],this.doingCount=0,this.addItem=function(A){void 0!==A&&this.todoList.push(A)},this.run=function(A,e,t){if(0>=this.doingCount)if(0!==this.todoList.length){var i=this.todoList,o=i.length;this.todoList=[],this.doingCount=o;for(var n=Math.min(this.MaxThreadCount,vc.ConcurrencyRequestCount,o),r=this,a=0;n>a;a+=1)s(a)}else t();function s(a){o>a?(e(r.doingCount,o),A(i[a],a+n,s)):1>r.doingCount&&(r.run(A,e,t),e(r.doingCount,o),t())}}},Ou=function(A,e){this.type=e,this.manager=A,this.worker=new Nu(4),this.working=!0};function Vu(A,e,t,i){for(var o=function(A,e){var t=void 0;t="Line"===e||"LineSegments"===e?new Ba:new Ja;for(var i=new s,o=new s,n=new s,r=!0,a=!1,l=A.match(/[a-df-z][^a-df-z]*/gi),c=0,h=l.length;h>c;c++){var d=l[c],p=(e=d.charAt(0),d.substr(1).trim());switch(!0===r&&(a=!0,r=!1),e){case"M":for(var g=Gu(p),u=0,f=g.length;f>u;u+=2)i.x=g[u+0],i.y=g[u+1],o.x=i.x,o.y=i.y,0===u?t.moveTo(i.x,i.y):t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"H":for(g=Gu(p),u=0,f=g.length;f>u;u++)i.x=g[u],o.x=i.x,o.y=i.y,t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"V":for(g=Gu(p),u=0,f=g.length;f>u;u++)i.y=g[u],o.x=i.x,o.y=i.y,t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"L":for(g=Gu(p),u=0,f=g.length;f>u;u+=2)i.x=g[u+0],i.y=g[u+1],o.x=i.x,o.y=i.y,t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"C":for(g=Gu(p),u=0,f=g.length;f>u;u+=6)t.bezierCurveTo(g[u+0],g[u+1],g[u+2],g[u+3],g[u+4],g[u+5]),o.x=g[u+2],o.y=g[u+3],i.x=g[u+4],i.y=g[u+5],0===u&&!0===a&&n.copy(i);break;case"S":for(g=Gu(p),u=0,f=g.length;f>u;u+=4)t.bezierCurveTo(Pu(i.x,o.x),Pu(i.y,o.y),g[u+0],g[u+1],g[u+2],g[u+3]),o.x=g[u+0],o.y=g[u+1],i.x=g[u+2],i.y=g[u+3],0===u&&!0===a&&n.copy(i);break;case"Q":for(g=Gu(p),u=0,f=g.length;f>u;u+=4)t.quadraticCurveTo(g[u+0],g[u+1],g[u+2],g[u+3]),o.x=g[u+0],o.y=g[u+1],i.x=g[u+2],i.y=g[u+3],0===u&&!0===a&&n.copy(i);break;case"T":for(g=Gu(p),u=0,f=g.length;f>u;u+=2){var m=Pu(i.x,o.x),C=Pu(i.y,o.y);t.quadraticCurveTo(m,C,g[u+0],g[u+1]),o.x=m,o.y=C,i.x=g[u+0],i.y=g[u+1],0===u&&!0===a&&n.copy(i)}break;case"A":for(g=Gu(p),u=0,f=g.length;f>u;u+=7){var y=i.clone();i.x=g[u+5],i.y=g[u+6],o.x=i.x,o.y=i.y,qu(t,g[u],g[u+1],g[u+2],g[u+3],g[u+4],y,i),0===u&&!0===a&&n.copy(i)}break;case"m":for(g=Gu(p),u=0,f=g.length;f>u;u+=2)i.x+=g[u+0],i.y+=g[u+1],o.x=i.x,o.y=i.y,0===u?t.moveTo(i.x,i.y):t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"h":for(g=Gu(p),u=0,f=g.length;f>u;u++)i.x+=g[u],o.x=i.x,o.y=i.y,t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"v":for(g=Gu(p),u=0,f=g.length;f>u;u++)i.y+=g[u],o.x=i.x,o.y=i.y,t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"l":for(g=Gu(p),u=0,f=g.length;f>u;u+=2)i.x+=g[u+0],i.y+=g[u+1],o.x=i.x,o.y=i.y,t.lineTo(i.x,i.y),0===u&&!0===a&&n.copy(i);break;case"c":for(g=Gu(p),u=0,f=g.length;f>u;u+=6)t.bezierCurveTo(i.x+g[u+0],i.y+g[u+1],i.x+g[u+2],i.y+g[u+3],i.x+g[u+4],i.y+g[u+5]),o.x=i.x+g[u+2],o.y=i.y+g[u+3],i.x+=g[u+4],i.y+=g[u+5],0===u&&!0===a&&n.copy(i);break;case"s":for(g=Gu(p),u=0,f=g.length;f>u;u+=4)t.bezierCurveTo(Pu(i.x,o.x),Pu(i.y,o.y),i.x+g[u+0],i.y+g[u+1],i.x+g[u+2],i.y+g[u+3]),o.x=i.x+g[u+0],o.y=i.y+g[u+1],i.x+=g[u+2],i.y+=g[u+3],0===u&&!0===a&&n.copy(i);break;case"q":for(g=Gu(p),u=0,f=g.length;f>u;u+=4)t.quadraticCurveTo(i.x+g[u+0],i.y+g[u+1],i.x+g[u+2],i.y+g[u+3]),o.x=i.x+g[u+0],o.y=i.y+g[u+1],i.x+=g[u+2],i.y+=g[u+3],0===u&&!0===a&&n.copy(i);break;case"t":for(g=Gu(p),u=0,f=g.length;f>u;u+=2){m=Pu(i.x,o.x),C=Pu(i.y,o.y);t.quadraticCurveTo(m,C,i.x+g[u+0],i.y+g[u+1]),o.x=m,o.y=C,i.x=i.x+g[u+0],i.y=i.y+g[u+1],0===u&&!0===a&&n.copy(i)}break;case"a":for(g=Gu(p),u=0,f=g.length;f>u;u+=7){y=i.clone();i.x+=g[u+5],i.y+=g[u+6],o.x=i.x,o.y=i.y,qu(t,g[u],g[u+1],g[u+2],g[u+3],g[u+4],y,i),0===u&&!0===a&&n.copy(i)}break;case"Z":case"z":t.currentPath.autoClose=!0,t.currentPath.curves.length>0&&(i.copy(n),t.currentPath.currentPoint.copy(i),r=!0);break;default:console.warn(d)}a=!1}return t}(A),n="Shape"===o.type?[o]:o.toShapes(!0),r=new H,a=0;n.length>a;a++){var l=n[a];if("Line"===e||"LineSegments"===e){for(var c=l.getPoints(),h=0;c.length>h;h+=1){var d=c[h];d.y=-d.y,i&&(d.z=i)}if("LineSegments"===e){var p=new jo((new De).setFromPoints(c),t);r.add(p)}else if("Line"===e){var g=new Go((new De).setFromPoints(c),t);r.add(g)}}else if("Mesh"===e){for(var u=new ar(l),f=u.getAttribute("position"),m=f.array,C=0,y=m.length;y>C;C+=3)m[C+1]=-m[C+1],m[C+2]=i;f.needsUpdate=!0;var v=new Ue(u,t);r.add(v)}}return r}function Gu(A){for(var e=A.split(/[\s,]+|(?=\s?[+\-])/),t=0;e.length>t;t+=1){var i=e[t];if(i.indexOf(".")!==i.lastIndexOf("."))for(var o=i.split("."),n=2;o.length>n;n+=1)e.splice(t+n-1,0,"0."+o[n]);e[t]=parseFloat(i)}return e}function Pu(A,e){return A-(e-A)}function qu(A,e,t,i,o,n,r,a){i=i*Math.PI/180,e=Math.abs(e),t=Math.abs(t);var s=(r.x-a.x)/2,l=(r.y-a.y)/2,c=Math.cos(i)*s+Math.sin(i)*l,h=-Math.sin(i)*s+Math.cos(i)*l,d=e*e,p=t*t,g=c*c,u=h*h,f=g/d+u/p;if(f>1){var m=Math.sqrt(f);d=(e*=m)*e,p=(t*=m)*t}var C=d*u+p*g,y=Math.sqrt(Math.max(0,(d*p-C)/C));o===n&&(y=-y);var v=y*e*h/t,I=-y*t*c/e,E=Math.cos(i)*v-Math.sin(i)*I+(r.x+a.x)/2,B=Math.sin(i)*v+Math.cos(i)*I+(r.y+a.y)/2,x=svgAngle(1,0,(c-v)/e,(h-I)/t),S=svgAngle((c-v)/e,(h-I)/t,(-c-v)/e,(-h-I)/t)%(2*Math.PI);A.currentPath.absellipse(E,B,e,t,x,x+S,0===n,i)}function ju(A){this.group=A;var e=new LA(16711680);this._lineMaterial=new ko({color:e,side:2}),this._meshMaterial=new jA({color:e,side:2})}function Hu(){this.axisNet=void 0,this.visibleByUser=!1}Ou.prototype={constructor:Ou,addTask:function(A){this.worker.addItem(A)},processTasks:function(A,e,t){var i=this,o=this.worker;this.worker.run((function(e,t,n){i.working&&A(e,(function(){o.doingCount-=1,n(t)}))}),e=e||function(){},t=t||function(){})},stop:function(){this.working=!1},start:function(){this.working=!0}},ju.prototype.fromJSON=function(A,e){for(var t in A)if(A.hasOwnProperty(t)){var i=A[t];for(var o in i)if(i.hasOwnProperty(o)){var n=i[o],r=n.G.Path;if(r&&r.length>0){var a=n.P.matrix||[0,0];if(n.P.Type&&"LINE"===n.P.Type){for(var s="",l=0,c=r.length;c>l;l+=1)s+=r[l];var h=Vu(s,"LineSegments",this._lineMaterial,e);h.position.setX(a[0]),h.position.setY(-a[1]),this.group.add(h),h.updateMatrixWorld(!0)}else for(var d=0,p=r.length;p>d;d+=1){var g=void 0,u=Vu(r[d],g=n.G.Fill&&n.G.Fill.length===p&&0!==n.G.Fill[d].length?"Mesh":"Line","Line"===g?this._lineMaterial:this._meshMaterial,e);u.position.setX(a[0]),u.position.setY(-a[1]),this.group.add(u),u.updateMatrixWorld(!0)}}}}},ju.prototype.setColor=function(A,e){if(A){var t=new LA(A);this._lineMaterial.color=t,e&&(this._lineMaterial.opacity=e,this._lineMaterial.transparent=1!==e),this._meshMaterial.color=t,e&&(this._meshMaterial.opacity=e,this._meshMaterial.transparent=1!==e),this._lineMaterial.needsUpdate=!0,this._meshMaterial.needsUpdate=!0}},ju.prototype.enableStayInFront=function(){this._lineMaterial.transparent=!0,this._meshMaterial.transparent=!0,this._lineMaterial.depthTest=!1,this._meshMaterial.depthTest=!1},ju.prototype.disableStayInFront=function(){this._lineMaterial.transparent=!1,this._meshMaterial.transparent=!1,this._lineMaterial.depthTest=!0,this._meshMaterial.depthTest=!0},Hu.prototype.setupColor=function(A,e){A&&this.axisNet.setColor(A,e)},Hu.prototype.hide=function(){this.axisNet&&(this.visibleByUser=!1,this.axisNet.group.visible=!1)},Hu.prototype.show=function(){this.axisNet&&(this.visibleByUser=!0,this.axisNet.group.visible=!0)},Hu.prototype.privateShow=function(){this.axisNet&&(this.axisNet.group.visible=!0)},Hu.prototype.privateHide=function(){this.axisNet&&(this.axisNet.group.visible=!1)},Hu.prototype.enableStayInFront=function(){this.axisNet.enableStayInFront()},Hu.prototype.disableStayInFront=function(){this.axisNet.disableStayInFront()};var Yu=function(){this.name="",this.componentkeys=[],this.box=void 0,this.center=void 0,this.map=void 0},Wu=function(){this.name="",this.image=void 0,this.width=0,this.height=0,this.sceneWidth=0,this.sceneHeight=0,this.box={x1:0,y1:0,z1:0,x2:0,y2:0,z2:0,offsetX:0,offsetY:0},this.componentKeys=void 0};Wu.prototype.clone=function(){var A=new Wu;return A.name=this.name,A.image=this.image,A.width=this.width,A.height=this.height,A.sceneWidth=this.sceneWidth,A.sceneHeight=this.sceneHeight,A.box=Object.assign({},this.box),A.componentKeys=this.componentKeys?[].concat(this.componentKeys):void 0,A},Yu.parseFloorInfos=function(A){for(var e=[],t=Object.keys(A),i=0,o=t.length;o>i;i+=1){var n=A[t[i]];if(n.length>0){var r=new Yu;r.componentkeys=n,r.name=t[i],e.push(r)}}if(e.length>0)return e};var Ju=function(){this.floors=void 0,this.sortedFloors=void 0,this.factor=1,this.baseFloorIndex=-1,this.averageHeight=0,this.center=void 0},zu=function(){function A(){cc(this,A),this.floors=void 0,this.floorExplosionInfo=void 0,this.modelType=void 0,this.modelKey=void 0,this.revitFilter={OST_CeilingOpening:!0,OST_FloorOpening:!0,OST_RoofOpening:!0,OST_Walls:!0,OST_StructuralFraming:!0,OST_CurtainWallPanels:!0,OST_CurtainWallMullions:!0,OST_CurtaSystem:!0,OST_ShaftOpening:!0},this.ifcFilter={IfcWallStandardCase:!0,IfcWall:!0,IfcCurtainWall:!0,IfcBeam:!0,IfcMember:!0}}return dc(A,[{key:"generateMiniMap",value:function(A){var e=this;if((this.modelType===Zc.RVT||this.modelType===Zc.IFC||this.modelType===Zc.MERGE)&&this.floors&&this.floors.length>0){var t=vc.MiniMapSize,i=t,o=A.rendererManager.renderer,n=new s(t,i),r=new g(n.x,n.y,{stencilBuffer:!1});o.setRenderTarget(r);var a=new p,l=o.getPixelRatio();o.getViewport(a),o.setPixelRatio(1),o.setViewport(0,0,n.width,n.height);var c=A.getScene(),h=new y,d=new y,u=A.getModel(this.modelKey).getBoundingBoxWorld();u.getCenter(h),u.getSize(d);var f=Math.ceil(Math.max(d.x,d.y)),m=f/2,C=new y(f,f,d.z);u.setFromCenterAndSize(h,C);var v=new Ka;v.up.set(0,1,0),v.position.set(h.x,h.y,u.max.z),v.lookAt(h.x,h.y,u.min.z),v.left=-m,v.right=m,v.top=m,v.bottom=-m,v.near=1,v.far=d.z,v.updateMatrixWorld(!0),v.updateProjectionMatrix();var I=document.createElement("canvas");I.width=n.width,I.height=n.height;var E=I.getContext("2d"),B=new Uint8Array(n.width*n.height*4),x=A.getFilter();this.floors.forEach((function(a){var s=e.findSpecificKeys(a.componentkeys,A);0===s.length&&(s=a.componentkeys);var l=A.getBoundingBoxByIds(s);l.getCenter(h),l.getSize(d);var p=new Wu;p.box.x1=l.min.x,p.box.y1=l.min.y,p.box.z1=l.min.z,p.box.x2=l.max.x,p.box.y2=l.max.y,p.box.z2=l.max.z,p.box.offsetX=l.min.x-u.min.x,p.box.offsetY=l.min.y-u.min.y,p.width=t,p.height=i,p.sceneWidth=f,p.sceneHeight=f,p.name=a.name,p.componentKeys=s,a.map=p,x.setIsolateList(s,!0),A.modelManager.applyFilter(),o.render(c,v),o.readRenderTargetPixels(r,0,0,n.width,n.height,B);for(var g=i/2,m=4*t,C=new Uint8Array(4*t),y=0;g>y;y+=1){var S=y*m,w=(i-y-1)*m;C.set(B.subarray(S,S+m)),B.copyWithin(S,w,w+m),B.set(C,w)}var M=new Uint8ClampedArray(B.buffer),b=new ImageData(M,n.width,n.height);E.putImageData(b,0,0),p.image=I.toDataURL()})),x.clearIsolation(),o.setRenderTarget(null),o.setPixelRatio(l),o.setViewport(a.x,a.y,a.width,a.height)}}},{key:"findSpecificKeys",value:function(A,e){for(var t=[],i=0,o=A.length;o>i;i+=1){var n=e.modelManager.getComponent(A[i]);if(n&&n.length>0){var r=n[0],a=r.buildInCategory,s=r.type;(a&&this.revitFilter[a]||s&&this.ifcFilter[s])&&t.push(A[i])}}return t}},{key:"getMimiMaps",value:function(){if(this.serverMapData)return{msg:"success",data:this.serverMapData.data};if(this.floors&&this.floors.length>0){for(var A=[],e=0,t=this.floors.length;t>e;e+=1){var i=this.floors[e].map;i&&A.push(i.clone())}if(A.length>0)return{msg:"success",data:A}}return{msg:"该模型不支持小地图"}}},{key:"getServerMimiMaps",value:function(A){var e=this.model.dataUrl.floorMapUrl(),t=this.model.accessToken,i=this;if(this.floors&&this.floors.length>0)if(this.serverMapData)A({msg:"success",data:i.serverMapData.data});else{var o={url:e,success:function(e){var t;"SUCCESS"===(t="string"==typeof e?JSON.parse(e):e).code?(i.serverMapData=t,A({msg:"success",data:t.data})):"FAILURE"===t.code?setTimeout((function(){i.getServerMimiMaps(A)}),3e3):A({msg:"获取模型小地图出错"})},error:function(){A({msg:"该模型不支持小地图"})}};t&&(o.headers={Authorization:t}),_d(o)}}}]),A}(),Zu=function(){this.leftChild=null,this.rightChild=null,this.boundingBox=null,this.level=-1,this.components=[]};Zu.prototype.init=function(A){if(A&&(void 0!==A.axis&&(this.level=A.axis),A.left&&(this.leftChild=new Zu,this.leftChild.init(A.left[0]?A.left[0]:A.left)),A.right&&(this.rightChild=new Zu,this.rightChild.init(A.right[0]?A.right[0]:A.right)),A.box&&!A.items&&(this.boundingBox=new aA((new y).fromArray(A.box.min),(new y).fromArray(A.box.max))),A.items))for(var e=0;A.items.length>e;e+=1)this.components.push(A.items[e].key)},Zu.prototype.intersect=function(A,e){if(this.boundingBox){if(!1===A.intersectsBox(this.boundingBox))return;this.leftChild&&this.leftChild.intersect(A,e),this.rightChild&&this.rightChild.intersect(A,e);for(var t=0;this.components.length>t;t+=1)e.push(this.components[t])}else for(var i=0;this.components.length>i;i+=1)e.push(this.components[i])},Zu.prototype.frustumIntersect=function(A,e,t){if(this.boundingBox){var i=this.boundingBox;if(t&&!t.equals(Bc)&&(i=this.boundingBox.clone()).applyMatrix4(t),!1===A.intersectsBox(i))return;this.leftChild&&this.leftChild.frustumIntersect(A,e,t),this.rightChild&&this.rightChild.frustumIntersect(A,e,t);for(var o=0;this.components.length>o;o+=1)e.push(this.components[o])}else for(var n=0;this.components.length>n;n+=1)e.push(this.components[n])},Zu.prototype.destroy=function(){this.leftChild&&this.leftChild.destroy(),this.rightChild&&this.rightChild.destroy(),this.leftChild=null,this.rightChild=null,this.boundingBox=null,this.level=-1,this.components=[]};var Xu=function(A){jr.call(this),this.handler=A,this.model=A.model,this.dataVersion=this.model.dataVersion,this.storage=this.model.getStorage(),this.url=A.model.dataUrl,this.offLine=A.model.offLine,this.fileLoader=A.model.fileLoader,this.descriptor=null,this.loader=new bu(this),this.Textureloader=new bu(this),this.jsonLoader=new bu(this),this.loadTaskCount=0,this.maxLoadTaskCount=0,this.loadTextureCount=0,this.maxLoadTextureCount=0,this.textruesLoaded=!1,this.dataLoaded=!1,this.taskComponentManager=new Ou(this,"component"),this.taskReuseNodeManager=new Ou(this,"component"),this.taskGeometrieManager=new Ou(this,"geometrie"),this.taskComponentNodeManager=new Ou(this,"nodes"),this.taskMaterialManager=new Ou(this,"material"),this.taskTexturesManager=new Ou(this,"textures"),this.fileKeyFromModelKey={},this.enableCompressedTexture=!1,this.enableSmallTexture=!1,this.startCallback=null,this.progressCallback=null,this.finishCallback=null,this.progress={total:0,loaded:0,failed:0},this.requests={}};Xu.prototype.destroy=function(){for(var A in this.requests)this.requests.hasOwnProperty(A)&&(this.requests[A].abort&&this.requests[A].abort(),delete this.requests[A]);this.taskComponentManager.stop(),this.taskComponentManager=null,this.taskGeometrieManager.stop(),this.taskGeometrieManager=null,this.taskMaterialManager.stop(),this.taskMaterialManager=null,this.taskTexturesManager.stop(),this.taskTexturesManager=null,this.url=null,this.model=null,this.fileLoader=null,this.descriptor=null,this.handler=null,this.startCallback=null,this.progressCallback=null,this.finishCallback=null,this.descriptor&&this.descriptor.destroy()},Xu.prototype.getStorage=function(){return this.storage},Xu.prototype.getDescriptor=function(){return this.descriptor},Xu.prototype.setNotifyProgress=function(A){this.notifyProgress=A},Xu.prototype.load=function(A,e,t){this.startCallback=A,this.progressCallback=e,this.finishCallback=t,this.loadData()},Xu.prototype.loadData=function(){var A=this.model,e=A.getConfig(),t=e.scene,i=e.animation;if(!t||!t.components||!t.geometries&&(!t.batchedGeometries&&!t.instancedGeometries||1>t.batchedGeometries.length&&1>t.instancedGeometries.length)||!t.materials||!t.textures)return A.setEmptyScene(!0),Bh.error("scene is null,modelKey is ",A.modelKey),void A.dispatchEventEx({type:Rc.ON_LOAD_EMPTY_SCENE,modelKey:A.modelKey});var o=0,n=0,r=0,a=t.components.length||0,s=t.materials.length||0,l=t.textures.length||0,c=t.lights&&t.lights.length||0,h=t.reuseNodes&&t.reuseNodes.length||0,d=[],p=[],g=[],u=[],f=[],m=[],C=[],y=t.textures,v=[],I=[];if(this.map={},ap(this.dataVersion,"2.0.0")){for(var E=0;a>E;E+=1)t.components[E].fileKey?d.push(t.components[E].fileKey):A.dispatchEventEx({type:Tc.SCENE_NOT_CLOSE,modelKey:A.modelKey});for(var B=0;s>B;B+=1)t.materials[B].fileKey?p.push(t.materials[B].fileKey):A.dispatchEventEx({type:Tc.SCENE_NOT_CLOSE,modelKey:A.modelKey})}else d=t.components,t.geometries,p=t.materials,Array.isArray(t.nodes)&&(C=t.nodes),I=t.reuseNodes||[];if(t.map&&(this.map=t.map),t.lights&&t.lights.length>0&&(m=t.lights),t.trees.length>0)for(var x=0;t.trees.length>x;x+=1){var S=t.trees[x];"partition"===S.type&&v.push(S.fileKey)}if(i&&(o=i.bones.length,n=1,r=1,g=i.bones,u.push(i.clips),f.push(i.nodes)),this.maxLoadTaskCount=0,this.maxLoadTaskCount+=a,this.maxLoadTaskCount+=s,this.maxLoadTaskCount+=o,this.maxLoadTaskCount+=n,this.maxLoadTaskCount+=r,this.maxLoadTaskCount+=c,this.maxLoadTaskCount+=v.length,this.maxLoadTaskCount+=h,this.maxLoadTaskCount+=C.length,1>this.maxLoadTaskCount)return Bh.info("Nothing to load ",A.modelKey),void A.dispatchEventEx({type:Tc.SCENE_NOTHING_TO_LOAD,modelKey:A.modelKey});this.progress.total+=this.maxLoadTaskCount,this.startCallback&&this.startCallback(),Bh.time("数据加载时间"),this._loadComponent(d),this._loadMaterial(p),this._loadComponentNode(C),this._loadReuseNode(I),vc.EnableTextureLoading&&l>0?(this.maxLoadTextureCount+=l,this._loadTextures(y)):this._onLoadTexture(),this._loadKDTree(v),this._loadClips(u),this._loadBones(g),this._loadNodes(f),c&&this._loadLights(m),this.offLine&&this.loadAttribute(),e.axis&&this._loadAxisNet(e.axis),this.loadFloorInfo(this.model.modelKey),this.loadSceneAndGeos(e)},Xu.prototype.loadSceneAndGeos=function(A){},Xu.prototype.getSceneTaskCount=function(A){return 0},Xu.prototype._loadLightmapConfig=function(A,e){var t=this.model,i=this.descriptor;i&&this.fileLoader.load(A,(function(A){var o;try{o=JSON.parse(A)}catch(A){return void console.log("Lightmap config data exceptions!")}void 0!==o.count.lightmapNum&&o.count.lightmapNum>0&&(t.lightmapNum=o.count.lightmapNum,t.lightmap=!0,i.lightmap=!0,vc.Instance=!1,vc.EnableLightmap=!0),e&&e()}))},Xu.prototype._onTaskFinished=function(){var A=this.model;this.loadTaskCount+=1;var e=this.dealProgressSegment(A,this.loadTaskCount);this.notifyProgress&&(this.progressCallback&&this.progressCallback({total:this.maxLoadTaskCount,loaded:e,modelKey:this.model.modelKey}));this.maxLoadTaskCount>this.loadTaskCount||(this.dataLoaded=!0,this.textruesLoaded&&(Bh.timeEnd("数据加载时间"),this.finishCallback&&this.finishCallback()))},Xu.prototype._onLoadTexture=function(){this.loadTextureCount+=1,this.maxLoadTextureCount>this.loadTextureCount||(this.textruesLoaded=!0,this.dataLoaded&&(Bh.timeEnd("数据加载时间"),this.finishCallback&&this.finishCallback()))},Xu.prototype._loadScene=function(A){var e=this,t=this.model,i=this.url,o=this.fileLoader;o.setResponseType("arraybuffer"),o.load(i.sceneUrl(A),(function(t){e._parseScene(t,A),e._onTaskFinished()}),void 0,(function(A){t.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_SCENE_ERROR,event:A}),e._onTaskFinished()}))},Xu.prototype._parseScene=function(A,e){var t=new Loader.SceneReader(A);this.descriptor.mapSceneReader[e]=t,t=null},Xu.prototype._loadLine=function(){var A=this,e=this.model,t=this.url,i=this.fileLoader;i.setResponseType("arraybuffer"),i.load(t.lineUrl(),(function(e){A._parseLine(e),A._onTaskFinished()}),void 0,(function(t){e.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_MATERIAL_ERROR,event:t}),A._onTaskFinished()}))},Xu.prototype._parseLine=function(A){for(var e=new Loader.LineReader(A),t=0,i=e.header.lineCount;i>t;++t){var o=e.getPtBuffer(t),n=e.getIdxBuffer(t);if(void 0!==o&&void 0!==n){var r=e.getLineData(t);if(0===r.lineType){for(var a=[],s=1,l=n.length;l>s;s++)a.push(n[s-1]),a.push(n[s]);a.length&&(n=a)}this.descriptor.cacheReferencedMeshBufferData("line-"+r.line_id,{P:o,I:n})}else Bh.log("Error Geometry!")}e=null},Xu.prototype._parseMaterialBinary=function(A){var e,t=this.url,i=this.model.materialManager,o=i.materials,n=i.textures,r=new Loader.MaterialReader(A),a=r.materialCount,s=this,l=[];if(a>=0){var c=this.model.manager.scene;for(e=0;a>e;++e){var h,d={},p=r.getMaterial(e);if(void 0!==p.color&&(d.color=p.color),void 0!==p.opacity&&(d.opacity=p.opacity,1>p.opacity&&(d.transparent=!0)),void 0!==p.side&&p.side&&(d.side=2),void 0!==p.emissive&&(d.emissive=p.emissive),void 0!==p.environment&&(d.envMapIntensity=p.environment),void 0!==p.roughness&&(d.roughness=p.roughness,d.originRoughness=p.roughness),void 0!==p.metalness&&(d.metalness=p.metalness,d.originMetalness=p.metalness),vc.IBL?(d.iblProbe=c.iblProbe,(h=new ImageBasedLighting.IBLMaterial(d)).type="IBL"):h=Kd.createStandardMaterial(d),h.name=e,o[e]=h,d=null,vc.EnableTextureLoading){var g=null;p.texture_n>0&&(g=r.getTexture(p.texture_id[0])),g&&l.push({id:e,data:g})}}if(l.length>0){for(a=this.maxLoadTextureCount=l.length,e=0;a>e;e+=1)this._parseTexture(t,l[e],n);l=null}else s._onLoadTexture();if(this.model.lightmap){var u=this.model.lightmapNum;for(this.maxLoadTextureCount+=u,e=0;u>e;e+=1){var f=this._loadTexture(t.textureUrl("lightmap-rgbm"+e+".png"),(function(){s._onLoadTexture()}),void 0,(function(){s._onLoadTexture()}));i.lightmaps[e]=f}}r=null}},Xu.prototype._parseMaterialJson=function(A){var e,t=this.url,i=this.model.materialManager,o=i.materials,n=i.textures,r=new Loader.MaterialReaderJson(A),a=r.count,s=this,l=[];if(a>=0){var c=this.model.manager.scene;for(e=0;a>e;++e){var h,d={},p=r.getMaterial(e),g=p.parameters;if(void 0!==g.color&&(d.color=g.color),void 0!==g.opacity&&(d.opacity=g.opacity,1>g.opacity&&(d.transparent=!0)),void 0!==g.side&&"double"===g.side&&(d.side=2),void 0!==g.emissive&&(d.emissive=g.emissive),void 0!==g.environment&&(d.envMapIntensity=g.environment),void 0!==g.roughness&&(d.roughness=g.roughness,d.originRoughness=g.roughness),void 0!==g.metalness&&(d.metalness=g.metalness,d.originMetalness=g.metalness),void 0!==g.refractionRatio&&(d.refractionRatio=g.refractionRatio),void 0!==g.imageFade&&(d.imageFade=g.imageFade),this.model.lightmap&&(d.lights=!1),vc.IBL?(d.iblProbe=c.iblProbe,(h=new ImageBasedLighting.IBLMaterial(d)).type="IBL"):(h=Kd.createStandardMaterial(d)).refreshUniforms(),h.name=e,o[e]=h,d=null,vc.EnableTextureLoading){var u=[],f=p.textures;for(var m in f){"reliefMap"==m&&f.bumpMap||u.push({type:m,data:f[m]})}u.length>0&&l.push({id:e,dataArray:u})}}if(l.length>0){for(a=l.length,e=0;a>e;e+=1){this.maxLoadTextureCount+=(u=l[e].dataArray).length}for(e=0;a>e;e+=1){for(var C=l[e].id,y=[],v=0,I=(u=l[e].dataArray).length;I>v;v++)this._parseTextureJson(t,u[v],y);n[C]=y}l=null}else s._onLoadTexture();if(this.model.lightmap){var E=this.model.lightmapNum;for(this.maxLoadTextureCount+=E,e=0;E>e;e+=1){var B=this._loadTexture(t.lightmapTexUrl("lightmap-rgbm"+e+".png"),(function(){s._onLoadTexture()}),void 0,(function(){s._onLoadTexture()}));i.lightmaps[e]=B}}r=null}},Xu.prototype._loadTexture=function(A,e,t,i){var o,n=Yr.Handlers.get(A),r=this;return null!==n?o=n.load(A,e):(o=new d,(n=new _r).setCrossOrigin("anonymous"),n.load(A,(function(A){o.image=Kd.ensurePowerOfTwo(A),o.needsUpdate=!0,e&&e(o)}),t,(function(A){void 0!==i&&i(A),r.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_TEXTURE_ERROR,event:A})}))),o},Xu.prototype._loadCompressedTexture=function(A,e,t,i){},Xu.prototype._loadTextureByCrypto=function(A,e,t,i){var o,n=Yr.Handlers.get(A),r=this;return null!==n?o=n.load(A,e):(o=new d,(n=new TEST.CryptoResourceLoader).loadURL(A,(function(A){var t=new Blob([A],{type:"jpeg"}),n=new Image;n.onload=function(){o.image=Kd.ensurePowerOfTwo(n),o.needsUpdate=!0,e&&e(o)},n.onerror=function(A){i&&i(A),r.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_TEXTURE_ERROR,event:A})},n.src=URL.createObjectURL(t)}),(function(A){void 0!==i&&i(A),r.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_TEXTURE_ERROR,event:A})}))),o},Xu.prototype._parseTexture=function(A,e,t){var i=window.TEST||{},o=e.id,n=e.data,r=n.id+n.file_name_ext;this.textureLoader=this.enableCompressedTexture&&n.dds?this._loadCompressedTexture:i.CryptoResourceLoader?this._loadTextureByCrypto:this._loadTexture;var a=this;this.textureLoader(A.textureUrl(r),(function(A){A.repeat.fromArray([n.scale_u,n.scale_v]),A.offset.fromArray([n.offset_u,n.offset_v]),A.setRotateAngle&&A.setRotateAngle(n.angle),n.repeat_u&&(A.wrapS=1e3),n.repeat_v&&(A.wrapT=1e3),A&&(t[o]=A),a._onLoadTexture()}),void 0,(function(){a._onLoadTexture()}))},Xu.prototype._parseTextureJson=function(A,e,t){var i=window.TEST||{},o=e.type,n=e.data,r=A.textureUrl(n.sourceFile),a=this.enableSmallTexture&&n.texture_small;if(!a&&this.enableCompressedTexture&&n.dds)this.textureLoader=this._loadCompressedTexture;else if(this.textureLoader=i.CryptoResourceLoader?this._loadTextureByCrypto:this._loadTexture,a){var s=r.lastIndexOf(".");r=r.substring(0,s)+"_s"+r.substring(s)}var l=this;this.textureLoader(r,(function(A){A.repeat.fromArray([n.scale[0],n.scale[1]]),A.offset.fromArray([n.offset[0],n.offset[1]]),A.setRotateAngle&&A.setRotateAngle(n.angle),n.repeatU&&(A.wrapS=1e3),n.repeatV&&(A.wrapT=1e3),A.texturetype=o,"reliefMap"==o&&(A.texturetype="bumpMap"),n.dataType&&"NormalMap"==n.dataType&&(A.texturetype="normalMap"),n.alpha&&(A.texturetype="alphaMap"),n.depth&&(A.depth=n.depth),A&&t.push(A),l._onLoadTexture()}),void 0,(function(){l._onLoadTexture()}))},Xu.prototype._loadUV2=function(){var A=this,e=this.url,t=this.fileLoader;t.setResponseType("arraybuffer"),t.load(e.uv2Url(),(function(e){A.uv2Buffer=new Uint16Array(e),A._onTaskFinished()}),void 0,(function(e){A._onTaskFinished()})),t.setResponseType(""),t.load(e.uv2MapItemUrl(),(function(e){A.uv2MapItem=JSON.parse(e),A._onTaskFinished()}),void 0,(function(e){A._onTaskFinished()}))},Xu.prototype.getUV2ById=function(A,e){if(this.uv2MapItem&&e){var t=this.uv2MapItem[A];if(t){var i=t.uv1Scale,o=t.uv1Translation,n=t.uv1ByteOffset/2,r=2*e;if(this.uv2Buffer){for(var a=this.uv2Buffer.slice(n,n+r),s=[],l=0;r>l;l+=2)s.push(i[0]*(a[l]/65535)+o[0]),s.push(i[1]*(a[l+1]/65535)+o[1]);return{lightmapIdx:t.lightmapIdx,uv2:s}}}}},Xu.prototype._loadSymbol=function(){var A=this,e=this.url,t=this.fileLoader;t.setResponseType("arraybuffer"),t.load(e.symbolUrl(),(function(e){A.parseSymbol(e),A._onTaskFinished()}),void 0,(function(e){A.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_SYMBOL_ERROR,event:e}),A._onTaskFinished()}))},Xu.prototype.parseSymbol=function(A){this.descriptor.symbolReader=new Loader.SymbolReader(A)},Xu.prototype._loadOctree=function(A,e){var t=null,i=this.model.configLoader.transformInfos.transformMatrix;this.model.configLoader.transformInfos.octreeTransformed&&(t=new M).getInverse(i),A&&this._loadOctreeBy(t,!1),e&&this._loadOctreeBy(t,!0)},Xu.prototype._loadOctreeBy=function(A,e){var t,i=this,o=this.url,n=this.fileLoader;t=o.octreeUrl(e?"i":"o"),n.setResponseType("arraybuffer"),n.load(t,(function(t){i._parseOctree(t,A,e),i._onTaskFinished()}),void 0,(function(A){i.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_OCTREEINNER_ERROR,event:A}),i._onTaskFinished()}))},Xu.prototype._parseOctree=function(A,e,t){this.descriptor.octreeRootNode[t?"inner":"outer"]=this._getOctreeRootNode(A,e)},Xu.prototype._getOctreeRootNode=function(A,e){function t(A,t){e&&t.boundingBox.applyMatrix4(e),A.boundingBoxWorld=t.boundingBox.clone(),A.min=t.boundingBox.min,A.max=t.boundingBox.max,A.center=t.boundingBox.getCenter(),A.size=t.boundingBox.getSize().lengthSq(),A.childStart=t.child_s,A.childEnd=t.child_e}function i(A,e){A.octType=0,e.center.x>A.center.x&&(A.octType+=1),e.center.y>A.center.y&&(A.octType+=2),e.center.z>A.center.z&&(A.octType+=4)}var o=null,n=new Loader.OctreeReader(A);if(n.getCount()>0){var r=n.getNode(0);t(o=new Loader.OctreeNode(r.cell_id,0),r),function A(e,o){for(var n=e.childEnd,r=e.childStart;n>r;++r){var a=o.getNode(r),s=new Loader.OctreeNode(a.cell_id,e.depth);t(s,a),e.add(s),i(s,e),s.updateMaxDepth(),A(s,o)}}(o,n)}return n=null,o},Xu.prototype._loadUserId=function(){var A=this,e=this.url,t=this.fileLoader;t.setResponseType("arraybuffer"),t.load(e.userIdUrl(),(function(e){A._parseUserId(e),A._onTaskFinished()}),void 0,(function(e){A.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_USERID_ERROR,event:e}),A._onTaskFinished()}))},Xu.prototype._parseUserId=function(A){this.descriptor.userIdReader=new Loader.IdReader(A)},Xu.prototype._loadUserData=function(){var A=this,e=this.url,t=this.fileLoader;t.setResponseType(""),t.load(e.userDataUrl(),(function(e){A._parseUserData(e),A._onTaskFinished()}),void 0,(function(e){A.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_USERDATA_ERROR,event:e}),A._onTaskFinished()}))},Xu.prototype._parseUserData=function(A){this.descriptor.userDataReader=new Loader.UserDataReader(A)},Xu.prototype._loadCamera=function(){var A=this,e=this.url,t=this.fileLoader;t.setResponseType(""),t.load(e.cameraUrl(),(function(e){A._parseCamera(e),A._onTaskFinished()}),void 0,(function(e){A.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_CAMERA_ERROR,event:e}),A._onTaskFinished()}))},Xu.prototype._parseCamera=function(A){var e=this.model.configLoader.transformInfos.transformMatrix;new Loader.CameraReader(A).parse(this.model,e)},Xu.prototype._parseGeo=function(A,e){for(var t=new Loader.MPKReader(A),i=new M,o=0,n=t.header.meshCount;n>o;++o){var r=t.getPtBuffer(o),a=t.getIdxBuffer(o),s=t.getNormalBuffer(o),l=t.getMeshData(o),c=t.getUVBuffer(o);null!=r&&null!=a?(0!==l.baseScale&&(r=new Float32Array(r),i.identity(),i.setPosition(new y(l.baseX,l.baseY,l.baseZ)),i.scale(new y(l.baseScale,l.baseScale,l.baseScale)),GeomUtil.applyMatrix4ToBuffer(i,r)),this.descriptor.cacheReferencedMeshBufferData(l.mesh_id,{P:r,I:a,N:s,UV:c}),this.descriptor.cacheReferencedMeshGeoIds(e,l.mesh_id)):Logger.log("Error Geometry!")}t=null},Xu.prototype._loadBorderline=function(A){var e=this,t=this.url,i=this.fileLoader,o=t.borderLineUrl(A?1:0);i.setResponseType("arraybuffer"),i.load(o,(function(t){e._parseBorderLine(t,A),e._onTaskFinished()}),void 0,(function(A){e.model.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_MATERIAL_ERROR,event:A}),e._onTaskFinished()}))},Xu.prototype._parseBorderLine=function(A,e){for(var t=new Loader.LineReader(A),i=[],o=0,n=t.header.lineCount;n>o;++o){var r=t.getLineData(o);i.push({meshId:r.line_id,positionStart:r.ptOffset/4,positionCount:3*r.ptCount,indexStart:r.idxOffset/4,indexCount:r.idxCount})}this.descriptor.cacheBorderLine(e,{P:t.ptBuffer,I:t.idxBuffer,IndexInfos:i}),t=null},Xu.prototype._isLoadGeoBorderlines=function(){var A=this.model.getConfig().metadata;return!(!vc.BorderLineBatched||!A.outline_mpk)},Xu.prototype.getAllBorderlineCount=function(){var A=this.model.getConfig().metadata;return this._isLoadGeoBorderlines()?A.outline_mpk:A.outline_0+A.outline_1},Xu.prototype._loadAllBorderlines=function(A){this._isLoadGeoBorderlines()?A.outline_mpk&&this._loadAllGeoBorderLines(A.outline_mpk):(A.outline_0&&this._loadBorderline(!1),A.outline_1&&this._loadBorderline(!0))},Xu.prototype.delayLoadBorderlines=function(A){this.model.getConfig();this._isLoadGeoBorderlines()?this._delayLoadGeoBorderlines(A):this._delayLoadTogetherBorderlines(A)},Xu.prototype._delayLoadGeoBorderlines=function(A){var e=this.model.getConfig().metadata;this.startCallback=null,this.progressCallback=null,this.finishCallback=A,this.loadTaskCount=0,this.maxLoadTaskCount=e.outline_mpk,e.outline_mpk&&this._loadAllGeoBorderLines(e.outline_mpk)},Xu.prototype._delayLoadTogetherBorderlines=function(A){var e=this.model.getConfig().metadata;this.startCallback=null,this.progressCallback=null,this.finishCallback=A,this.loadTaskCount=0,this.maxLoadTaskCount=e.outline_0+e.outline_1,e.outline_0&&this._loadBorderline(!1),e.outline_1&&this._loadBorderline(!0)},Xu.prototype._loadAllGeoBorderLines=function(A){this.mpkBorderLineTaskManager||(this.mpkBorderLineTaskManager=new Ou);for(var e=0;A>e;++e)this.mpkBorderLineTaskManager.addTask(e);this.mpkBorderLineTaskManager.processTasks(this._loadGeoBorderLine.bind(this))},Xu.prototype._loadGeoBorderLine=function(A,e){var t=this,i=this.fileLoader,o=this.url,n=A>=this.model.getConfig().metadata.mpk_shared_index;i.setResponseType("arraybuffer"),i.load(o.mpkBorderLineUrl(A),(function(A){t._parseGeoBorderLine(A,n),e(),t._onTaskFinished()}),void 0,(function(A){t._onTaskFinished()}))},Xu.prototype._parseGeoBorderLine=function(A,e){for(var t=new Loader.LineReader(A),i=[],o=0,n=t.header.lineCount;n>o;++o){var r=t.getLineData(o);i.push({meshId:r.line_id,positionStart:r.ptOffset/4,positionCount:3*r.ptCount,indexStart:r.idxOffset/4,indexCount:r.idxCount})}this.descriptor.cacheBorderLine(e,{P:t.ptBuffer,I:t.idxBuffer,IndexInfos:i}),t=null},Xu.prototype.dealProgressSegment=function(A,e){return vc.MergeComponent?e*A.progressPercentage.load:e},Xu.prototype._loadWireframe=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=function(t){if(A[i[t]])if(!0===A[i[t]].split){var o=A[i[t]].list,s=new Uint8Array(A[i[t]].length);n.getBatch(o,(function(A){for(var n=!0,r=0;o.length>r;r+=1)A[o[r]]?s.set(new Uint8Array(A[o[r]]),4e7*r):(n=!1,Bh.error("获取分割几何失败"));if(n){var a=i[t].indexOf("fileKey=");e._parseWireframe(s.buffer,i[t].slice(a+8)),Bh.debug("load geo from local"),e._onTaskFinished()}else{var l=e.taskGeometrieManager;if(-1===(a=i[t].indexOf("fileKey=")))return void Bh.error("url is not has fileKey");l.addTask(i[t].slice(a+8)),Bh.debug("load geo from net"),e.taskGeometrieManager.processTasks(e.loadWireframe.bind(e))}}),(function(){Bh.error("获取分割几何失败")}))}else a=i[t].indexOf("fileKey="),e._parseWireframe(A[i[t]],i[t].slice(a+8)),Bh.debug("load geo from local"),e._onTaskFinished();else{if(r=e.taskGeometrieManager,-1===(a=i[t].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(i[t].slice(a+8)),Bh.debug("load geo from net")}},o=0;i.length>o;o+=1){var r,a,s=t(o);if("object"===lc(s))return s.v}e.taskGeometrieManager.processTasks(e.loadWireframe.bind(e))}),(function(){for(var t=e.taskGeometrieManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadWireframe.bind(e))}))}else{for(var r=this.taskGeometrieManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadWireframe.bind(e))}},Xu.prototype._loadGeo=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=function(t){if(A[i[t]])if(!0===A[i[t]].split){var o=A[i[t]].list,s=new Uint8Array(A[i[t]].length);n.getBatch(o,(function(A){for(var n=0;o.length>n;n+=1)A[o[n]]?s.set(new Uint8Array(A[o[n]]),4e7*n):Bh.error("获取分割几何失败");var r=i[t].indexOf("fileKey=");e._parseGeometrie(s.buffer,i[t].slice(r+8)),Bh.debug("load geo from local"),e._onTaskFinished()}),(function(){Bh.error("获取分割几何失败")}))}else a=i[t].indexOf("fileKey="),e._parseGeometrie(A[i[t]],i[t].slice(a+8)),Bh.debug("load geo from local"),e._onTaskFinished();else{if(r=e.taskGeometrieManager,-1===(a=i[t].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(i[t].slice(a+8)),Bh.debug("load geo from net")}},o=0;i.length>o;o+=1){var r,a,s=t(o);if("object"===lc(s))return s.v}e.taskGeometrieManager.processTasks(e.loadGeometrie.bind(e))}),(function(){for(var t=e.taskGeometrieManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadGeometrie.bind(e))}))}else{for(var r=this.taskGeometrieManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadGeometrie.bind(e))}},Xu.prototype._loadComponentNode=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=function(t){if(A[i[t]])if(!0===A[i[t]].split){var o=A[i[t]].list,s=new Uint8Array(A[i[t]].length);n.getBatch(o,(function(A){for(var n=0;o.length>n;n+=1)A[o[n]]?s.set(new Uint8Array(A[o[n]]),4e7*n):Bh.error("获取分割node失败");var r=i[t].indexOf("fileKey=");e._parseComponentNode(s.buffer,i[t].slice(r+8)),Bh.debug("load geo from local"),e._onTaskFinished()}),(function(){Bh.error("获取分割node失败")}))}else a=i[t].indexOf("fileKey="),e._parseComponentNode(A[i[t]],i[t].slice(a+8)),Bh.debug("load geo from local"),e._onTaskFinished();else{if(r=e.taskComponentNodeManager,-1===(a=i[t].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(i[t].slice(a+8)),Bh.debug("load component.node from net")}},o=0;i.length>o;o+=1){var r,a,s=t(o);if("object"===lc(s))return s.v}e.taskComponentNodeManager.processTasks(e.loadComponentNode.bind(e))}),(function(){for(var t=e.taskComponentNodeManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadComponentNode.bind(e))}))}else{for(var r=this.taskComponentNodeManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadComponentNode.bind(e))}},Xu.prototype._loadKDTree=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.kdTreeUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1){var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");var n=i[t].slice(o+8);A[i[t]]?(e._parseKDTree(A[i[t]],n),Bh.debug("load kdTree from local"),e._onTaskFinished()):(e.loadKDTree(n,(function(){})),Bh.debug("load kdtree from net"))}}),(function(){for(var t=0;A.length>t;t+=1)e.loadKDTree(A[t],(function(){}))}))}else for(var r=0;A.length>r;r+=1)e.loadKDTree(A[r],(function(){}))},Xu.prototype._loadLights=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.lightUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1){var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");var n=i[t].slice(o+8);A[i[t]]?(e._parseLight(A[i[t]],n),Bh.debug("load light from local"),e._onTaskFinished()):(e.loadLight(n,(function(){})),Bh.debug("load kdtree from net"))}}),(function(){for(var t=0;A.length>t;t+=1)e.loadLight(A[t],(function(){}))}))}else for(var r=0;A.length>r;r+=1)e.loadLight(A[r],(function(){}))},Xu.prototype._loadBones=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.bonesUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1)if(A[i[t]])e._parseBones(A[i[t]]),Bh.debug("load Bones from local"),e._onTaskFinished();else{var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");e.loadBones(i[t].slice(o+8),(function(){})),Bh.debug("load Bones from net")}}),(function(){for(var t=0;A.length>t;t+=1)e.loadBones(A[t],(function(){}))}))}else{for(var r=this.taskComponentManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadBones.bind(e))}},Xu.prototype._loadClips=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.clipsUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1)if(A[i[t]])e._parseClips(A[i[t]]),Bh.debug("load Clips from local"),e._onTaskFinished();else{var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");e.loadClips(i[t].slice(o+8),(function(){})),Bh.debug("load Clips from net")}}),(function(){for(var t=0;A.length>t;t+=1)e.loadClips(A[t],(function(){}))}))}else{for(var r=this.taskComponentManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadClips.bind(e))}},Xu.prototype._loadNodes=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.nodesUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1)if(A[i[t]])e._parseNodes(A[i[t]]),Bh.debug("load Nodes from local"),e._onTaskFinished();else{var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");e.loadNodes(i[t].slice(o+8),(function(){})),Bh.debug("load Nodes from net")}}),(function(){for(var t=0;A.length>t;t+=1)e.loadNodes(A[t],(function(){}))}))}else{for(var r=this.taskComponentManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadNodes.bind(e))}},Xu.prototype._loadComponent=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1){if(-1===(r=i[t].indexOf("fileKey="))&&!e.offLine)return void Bh.error("url is not has fileKey");var o=i[t].slice(r+8);if(A[i[t]])e._parseComponent(A[i[t]],o),Bh.debug("load com from local"),e._onTaskFinished();else{var n=e.taskComponentManager;if(e.offLine){var r;if(-1===(r=i[t].indexOf("data/")))return void Bh.error("url is not has data/");n.addTask(i[t].slice(r+5))}else n.addTask(o);n.processTasks(e.loadComponent.bind(e)),Bh.debug("load com from net")}}}),(function(){for(var t=e.taskComponentManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadComponent.bind(e))}))}else{for(var r=this.taskComponentManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadComponent.bind(e))}},Xu.prototype._loadReuseNode=function(A){var e=this;if(vc.getDataFromIndexedDB){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1)if(A[i[t]])e._parseReuseNodes(A[i[t]]),Bh.debug("load com from local"),e._onTaskFinished();else{var o=e.taskReuseNodeManager;if(e.offLine){if(-1===(n=i[t].indexOf("data/")))return void Bh.error("url is not has data/");o.addTask(i[t].slice(n+5))}else{var n;if(-1===(n=i[t].indexOf("fileKey=")))return void Bh.error("url is not has fileKey");o.addTask(i[t].slice(n+8))}o.processTasks(e.loadReuseNode.bind(e)),Bh.debug("load com from net")}}),(function(){for(var t=e.taskReuseNodeManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadReuseNode.bind(e))}))}else{for(var r=this.taskReuseNodeManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadReuseNode.bind(e))}},Xu.prototype._loadMaterial=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1)if(A[i[t]])e._parseMaterial(A[i[t]]),Bh.debug("load mat from local"),e._onTaskFinished();else{var o=e.taskMaterialManager,n=i[t].indexOf("fileKey=");if(-1===n)return void Bh.error("url is not has fileKey");o.addTask(i[t].slice(n+8)),o.processTasks(e.loadMaterial.bind(e)),Bh.debug("load mat from net")}}),(function(){for(var t=e.taskMaterialManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadMaterial.bind(e))}))}else{for(var r=this.taskMaterialManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadMaterial.bind(e))}},Xu.prototype._loadTextures=function(A){var e=this.model.materialManager.textures,t=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,o=[],n=0;A.length>n;n+=1)o.push(i.mpkUrl(A[n]));var r=this.model.getStorage();r&&r.getBatch(o,(function(A){for(var i=0;o.length>i;i+=1)if(A[o[i]]){var n,r=function(){if(-1===(n=o[i].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};var r=A[o[i]];A[o[i]]instanceof Blob||(r=new Blob([A[o[i]]],{type:"text/plain"}));var a=o[i].slice(n+8),s=new d;Bh.debug("load tex from local"),e[a]=s;var l=document.createElement("img");s.wrapS=s.wrapT=1e3,l.onload=function(e){"string"!=typeof A[o[i]]&&window.URL.revokeObjectURL(l.src),t.model.textureNeedsUpdate=!0,s.image=Kd.ensurePowerOfTwo(l),t._onLoadTexture()},l.onerror=function(A){t.model.dispatchEventEx({type:Tc.LOAD_TEXTURE_ERROR})},l.src="string"==typeof A[o[i]]?A[o[i]]:window.URL.createObjectURL(r),s.image=l,s.needsUpdate=!0}();if("object"===lc(r))return r.v}else{var a=t.taskTexturesManager,s=o[i].indexOf("fileKey=");if(-1===s)return void Bh.error("url is not has fileKey");a.addTask(o[i].slice(s+8)),a.processTasks(t.loadTextures.bind(t)),Bh.debug("load tex from net")}}),(function(){for(var e=t.taskTexturesManager,i=0;A.length>i;i+=1)e.addTask(A[i]);e.processTasks(t.loadTextures.bind(t))}))}else{for(var a=this.taskTexturesManager,s=0;A.length>s;s+=1)a.addTask(A[s]);a.processTasks(t.loadTextures.bind(t))}},Xu.prototype._loadAxisNet=function(A){if(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){var t=this.url.axisNetUrl(A),i=this.model.getStorage();i&&i.getBatch([t],(function(i){if(i[t])e._parseAxisNet(i[t]),Bh.debug("load axisnet from local");else{if(-1===t.indexOf("fileKey="))return void Bh.error("url is not has fileKey");e.loadAxisNet(A),Bh.debug("load axisnet from net")}}),(function(){e.loadAxisNet(A)}))}else e.loadAxisNet(A)}},Xu.prototype._parseWireframe=function(A,e){var t=new Lu.GeometryReader(A,this.dataVersion),i=this.descriptor;if(i){for(var o=t.geoCount,n=0;o>n;n+=1){var r=t.geomMap[n];void 0!==r.position&&void 0!==r.index?i.cacheReferencedMeshWireframeData(r.geoId,r):Bh.error("Error Geometry!")}t=null}},Xu.prototype._parseGeometrie=function(A,e){var t=this.fileKeyFromModelKey[e]||"",i=new ku.GeometryReader(A,this.dataVersion),o=this.descriptor;if(o){for(var n=i.geoCount,r=0;n>r;r+=1){var a=i.geomMap[r];void 0!==a.position&&void 0!==a.index&&void 0!==a.normal?(vc.DEBUG&&window.geoidToFileKeyMap&&(window.geoidToFileKeyMap[a.geoId]=e),o.cacheReferencedMeshBufferData(t+a.geoId,a)):Bh.error("Error Geometry!")}i=null}},Xu.prototype._parseComponentNode=function(A,e){var t=this.fileKeyFromModelKey[e]||"",i=new ku.NodesReader(A,this.dataVersion),o=this.descriptor;if(o){for(var n=i.nodeCount,r=0;n>r;r+=1){var a=i.geomMap[r];void 0!==a.matrix&&void 0!==a.material&&void 0!==a.nodeId?o.cacheReferencedMeshComponentNodeData(t+a.nodeId,a):Bh.error("Error Node!")}i=null}},Xu.prototype._parseMaterial=function(A,e){var t=this.descriptor;if(t){var i=new Du(A,this.dataVersion);if(Array.isArray(i.materialMap)){var o=i.materialCount;if(0>o)return;for(var n=0;o>n;n+=1){var r=i.materialMap[n];t.cacheReferencedMeshMaterialData(r.matId,r)}}else for(var a in i.materialMap)t.cacheReferencedMeshMaterialData(a,i.materialMap[a]);i=null}},Xu.prototype._parseComponent=function(A,e){if(A){var t=new Uu(A),i=t.compArr.length,o=this.descriptor;if(o){for(var n=0;i>n;n+=1){var r=t.compArr[n];o.cacheReferencedMeshComponentData(r.key,r)}t=null}}else Bh.error("没有数据")},Xu.prototype._parseKDTree=function(A,e){var t={};t="string"==typeof A?JSON.parse(A):A,!this.model.kdTreeNode&&t&&(this.model.kdTreeNode=new Zu,this.model.kdTreeNode.init(t))},Xu.prototype._parseLight=function(A,e){var t,i=[];if(t="string"==typeof A?JSON.parse(A):A)for(var o=0,n=t.length;n>o;o+=1){var r=t[o],a=void 0,s=r.pos||[0,0,0],l=void 0;switch(r.type){case Fc.DirectionalLight:(a=new Ra((new LA).fromArray(r.diffuse),.5)).position.set(s[0]-r.lookat[0],s[1]-r.lookat[1],s[2]-r.lookat[2]),a.name=r.parent,0===r.ambient[0]&&0===r.ambient[1]&&0===r.ambient[2]||(l=new Ta((new LA).fromArray(r.ambient),.5));break;case Fc.PointLight:(a=new Fa((new LA).fromArray(r.diffuse))).position.set(s[0],s[1],s[2]),a.name=r.parent,0===r.ambient[0]&&0===r.ambient[1]&&0===r.ambient[2]||(l=new Ta((new LA).fromArray(r.ambient),.5));break;case Fc.SpotLight:(a=new ba((new LA).fromArray(r.diffuse),.5)).position.set(s[0]-r.lookat[0],s[1]-r.lookat[1],s[2]-r.lookat[2]),a.angle=r.cone_inn||Math.PI/2,a.name=r.parent,0===r.ambient[0]&&0===r.ambient[1]&&0===r.ambient[2]||(l=new Ta((new LA).fromArray(r.ambient),.5))}a&&i.push(a),l&&i.push(l)}this.model.addLights(i)},Xu.prototype._parseNodes=function(A,e){var t=this.descriptor;if(t){var i={};i="string"==typeof A?JSON.parse(A):A,Bh.debug("nodes",i),t.cacheReferencedMeshNodesData(i)}},Xu.prototype._parseClips=function(A,e){var t=this.descriptor;if(t){var i={};i="string"==typeof A?JSON.parse(A):A,Bh.debug("clips",i),t.cacheReferencedMeshClipsData(i)}},Xu.prototype._parseBones=function(A,e){var t=new ku.BoneReader(A),i=this.descriptor;if(i){for(var o=t.boneCount,n=0;o>n;n+=1){var r=t.boneMap[n];Bh.debug("bones",r),i.cacheReferencedMeshBoneBufferData(r.geoId,r)}t=null}},Xu.prototype._parseAxisNet=function(A){var e=this.model.getBoundingBoxWorld(),t=0;e&&(t=e.min.z);var i=this.model._getNodeGroup(gp.AXISNET);i.visible=!1;var o=new ju(i);o.fromJSON(A,t);var n=new Hu;n.axisNet=o,this.model.axisNetManager=n},Xu.prototype.loadWireframe=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("arraybuffer"),i.load(o.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}));else{i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var a=i.load(o.mpkUrl(A),(function(i){t._parseWireframe(i,A),Bh.debug("geo load from online"),e(),t._onTaskFinished()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_GEOMETRY_ERROR,modelKey:n.modelKey})}));t.requests.loadGeometrie=a}},Xu.prototype.loadGeometrie=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model;i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var r=i.load(o.mpkUrl(A),(function(i){t._parseGeometrie(i,A),Bh.debug("geo load from online"),e(),t._onTaskFinished()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_GEOMETRY_ERROR,modelKey:n.modelKey}),e(),t._onTaskFinished()}));t.requests.loadGeometrie=r},Xu.prototype.loadComponentNode=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model;i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var r=i.load(o.mpkUrl(A),(function(i){t._parseComponentNode(i,A),Bh.debug("geo load from online"),e(),t._onTaskFinished()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_COMPONENTNODE_ERROR,modelKey:n.modelKey}),e(),t._onTaskFinished()}));t.requests.loadComponentNode=r},Xu.prototype.loadMaterial=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("arraybuffer"),i.load(o.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}));else{rp(t.dataVersion,"1")?i.setResponseType("json"):i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var a=i.load(o.mpkUrl(A),(function(A){t._parseMaterial(A),Bh.debug("met load from online"),e(),t._onTaskFinished()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_MATERIAL_ERROR,modelKey:n.modelKey})}));t.requests.loadMaterial=a}},Xu.prototype.loadTextures=function(A,e){var t=this.model.materialManager.textures,i=this,o=this.Textureloader,n=this.url,r=this.model,a=vc.GeoWorkerUrl;if(vc.UseGeoWorker)o.load(n.mpkUrl(A),(function(A){var t=new Worker(a);t.onmessage=function(A){var t=A.data;for(var o in t)t.hasOwnProperty(o);e(),i._onTaskFinished()},t.postMessage({msg:A})}));else{o.setResponseType("arraybuffer"),o.setCacheViable(!this.offLine);var s=o.load(n.textureUrl(A),(function(o){var n=o;o instanceof Blob||(n=new Blob([o],{type:"text/plain"})),Bh.debug("tex load from online");var a=new d;t[A]=a,a.wrapS=a.wrapT=1e3;var s=document.createElement("img");s.onload=function(A){"string"!=typeof n&&window.URL.revokeObjectURL(s.src),a.image=Kd.ensurePowerOfTwo(s),i._onLoadTexture(),e(),i.model.textureNeedsUpdate=!0},s.onerror=function(A){r.dispatchEventEx({type:Tc.LOAD_TEXTURE_ERROR,modelKey:r.modelKey})},s.src="string"==typeof n?n:window.URL.createObjectURL(n),a.image=s,a.needsUpdate=!0}),void 0,(function(A){r.dispatchEventEx({type:Tc.LOAD_TEXTURE_ERROR,modelKey:r.modelKey})}));i.requests.loadTextures=s}},Xu.prototype.loadComponent=function(A,e){var t=this,i=this.jsonLoader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}));else{i.setResponseType("json"),vc.useGzip&&i.setResponseType("arraybuffer"),i.setCacheViable(!0);var a=i.load(n.mpkUrl(A),(function(i){t._parseComponent(i,A),Bh.debug("component load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}));t.requests.loadComponent=a}},Xu.prototype.loadKDTree=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}));else{i.setResponseType("json"),i.setCacheViable(!this.offLine);var a=i.load(n.kdTreeUrl(A),(function(i){t._parseKDTree(i,A),Bh.debug("kdtree load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}));t.requests.loadKDTree=a}},Xu.prototype.loadLight=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url;i.setResponseType("json"),i.setCacheViable(!this.offLine);var r=i.load(n.lightUrl(A),(function(i){t._parseLight(i,A),Bh.debug("light load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}));t.requests.loadLight=r},Xu.prototype.loadBones=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("arraybuffer"),i.load(n.bonesUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}));else{i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var a=i.load(n.bonesUrl(A),(function(A){t._parseBones(A),Bh.debug("bones load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}));t.requests.loadBones=a}},Xu.prototype.loadClips=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}));else{i.setResponseType("json"),i.setCacheViable(!this.offLine);var a=i.load(n.clipsUrl(A),(function(A){t._parseClips(A),Bh.debug("Clips load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}));t.requests.loadClips=a}},Xu.prototype.loadNodes=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}));else{i.setResponseType("json"),i.setCacheViable(!this.offLine);var a=i.load(n.nodesUrl(A),(function(A){t._parseNodes(A),Bh.debug("Nodes load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}));t.requests.loadNodes=a}},Xu.prototype.loadAttribute=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;if(vc.UseGeoWorker)i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}));else{i.setResponseType("json"),i.setCacheViable(!this.offLine);var a=i.load(n.attributeUrl(),(function(A){if(A instanceof String)try{A=JSON.parse(A)}catch(A){}o.attributes=A,Bh.debug("Attribute load from online")}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}));t.requests.loadAttribute=a}},Xu.prototype.loadGeopkOnDemand=function(A,e,t){this.loadTaskCount=0,this.maxLoadTaskCount=A.length,this._loadingOnDemand=!0,this.finishCallback=t;var i=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var o=this.url,n=[],r=0;A.length>r;r+=1)n.push(o.mpkUrl(A[r]));var a=this.model.getStorage();a&&a.getBatch(n,(function(A){for(var t=function(e){if(A[n[e]])if(!0===A[n[e]].split){var t=A[n[e]].list,o=new Uint8Array(A[n[e]].length);a.getBatch(t,(function(A){for(var r=0;t.length>r;r+=1)A[t[r]]?o.set(new Uint8Array(A[t[r]]),4e7*r):Bh.error("获取分割几何失败");var a=n[e].indexOf("fileKey=");i._parseGeometrie(o.buffer,n[e].slice(a+8)),Bh.debug("load geo from local"),i._onTaskFinished()}),(function(){Bh.error("获取分割几何失败")}))}else s=n[e].indexOf("fileKey="),i._parseGeometrie(A[n[e]],n[e].slice(s+8)),Bh.debug("load geo from local"),i._onTaskFinished();else{if(r=i.taskGeometrieManager,-1===(s=n[e].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(n[e].slice(s+8)),Bh.debug("load geo from net")}},o=0;n.length>o;o+=1){var r,s,l=t(o);if("object"===lc(l))return l.v}i.taskGeometrieManager.processTasks(i.loadGeometrie.bind(i),e)}),(function(){for(var t=i.taskGeometrieManager,o=0;A.length>o;o+=1)t.addTask(A[o]);t.processTasks(i.loadGeometrie.bind(i),e)}))}else{for(var s=this.taskGeometrieManager,l=0;A.length>l;l+=1)s.addTask(A[l]);s.processTasks(i.loadGeometrie.bind(i),e)}},Xu.prototype.loadAxisNet=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model;rp(t.dataVersion,"1")?i.setResponseType("json"):i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var r=i.load(o.axisNetUrl(A),(function(A){t._parseAxisNet(A),Bh.debug("axis net load from online"),e&&e()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_AXISNET_ERROR,modelKey:n.modelKey})}));t.requests.loadAxisNet=r},Xu.prototype.loadFloorInfo=function(A,e){var t=this;this._loadFloorInfoFromDB(A,(function(i){i&&i.data?(t._parseFloorInfo(i),e&&e(!0)):t._loadFloorInfoFromNet(A,(function(A){A?(t._parseFloorInfo(A),e&&e(!0)):e&&e(!1)}))}))},Xu.prototype._loadFloorInfoFromDB=function(A,e){if(vc.getDataFromIndexedDB&&!this.offLine){var t=this.url.floorInfoUrl(A),i=this.model.getStorage();i&&i.getBatch([t],(function(A){A[t]?(e(A[t]),Bh.debug("load floorinfo from local")):e()}),(function(){e()}))}else e()},Xu.prototype._loadFloorInfoFromNet=function(A,e){var t=new bu(this),i=this.url,o=this.model;this.model.accessToken&&t.setRequestHeader({Authorization:this.model.accessToken}),rp(this.dataVersion,"1")?t.setResponseType("json"):t.setResponseType("arraybuffer"),t.setCacheViable(!this.offLine);var n=t.load(i.floorInfoUrl(A),(function(A){Bh.debug("floor info load from online"),e&&e(A)}),void 0,(function(t){o.dispatchEventEx({type:Tc.LOAD_FLOORINFO_ERROR,modelKey:A}),e&&e()}));this.requests.loadFloorInfo=n},Xu.prototype._parseReuseNodes=function(A,e){if(A){vc.useGzip&&(A=JSON.parse(uh.ab2str(pako.ungzip(A))));var t=this.descriptor;t&&(t.referencedMeshCache.reuseNodes=A)}else Bh.error("没有数据")},Xu.prototype.loadReuseNode=function(A,e){var t=this,i=this.jsonLoader,o=this.model,n=this.url;i.setResponseType("json"),vc.useGzip&&i.setResponseType("arraybuffer"),i.setCacheViable(!0);i.load(n.mpkUrl(A),(function(A){t._parseReuseNodes(A),Bh.debug("component load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}))},Xu.prototype._parseFloorInfo=function(A){if(A.data&&0!==Object.keys(A.data).length){var e=new zu;e.floors=Yu.parseFloorInfos(A.data),e.modelKey=this.model.modelKey;var t=new Ju;t.floors=e.floors,e.floorExplosionInfo=t,e.modelType=this.model.getConfig().type,this.model.floorManager=e,e.model=this.model}};var _u={IfcRoof:{color:[.837255,.203922,.270588,1]},IfcSlab:{color:[.637255,.603922,.670588,1]},IfcWall:{color:[.537255,.337255,.237255,1]},IfcWallStandardCase:{color:[.537255,.337255,.237255,1]},IfcDoor:{color:[.637255,.603922,.670588,1]},IfcWindow:{color:[.137255,.403922,.870588,.4]},IfcOpeningElement:{color:[.137255,.403922,.870588,.1]},IfcRailing:{color:[.137255,.403922,.870588,1]},IfcColumn:{color:[.137255,.403922,.870588,1]},IfcBeam:{color:[.137255,.403922,.870588,1]},IfcFurnishingElement:{color:[.137255,.403922,.870588,1]},IfcCurtainWall:{color:[.137255,.403922,.870588,1]},IfcStair:{color:[.637255,.603922,.670588,1]},IfcStairFlight:{color:[.637255,.603922,.670588,1]},IfcBuildingElementProxy:{color:[.5,.5,.5,1]},IfcFlowSegment:{color:[.137255,.403922,.870588,1]},IfcFlowitting:{color:[.137255,.403922,.870588,1]},IfcFlowTerminal:{color:[.137255,.403922,.870588,1]},IfcProxy:{color:[.137255,.403922,.870588,1]},IfcSite:{color:[.137255,.403922,.870588,1]},IfcLightFixture:{color:[.8470588235,.8470588235,.870588,1]},IfcDuctSegment:{color:[.8470588235,.427450980392,0,1]},IfcDistributionFlowElement:{color:[.8470588235,.427450980392,0,1]},IfcDuctFitting:{color:[.8470588235,.427450980392,0,1]},IfcPlate:{color:[.137255,.403922,.870588,.5]},IfcAirTerminal:{color:[.8470588235,.427450980392,0,1]},IfcMember:{color:[.8470588235,.427450980392,0,1]},IfcCovering:{color:[.8470588235,.427450980392,0,1]},IfcTransportElement:{color:[.8470588235,.427450980392,0,1]},IfcFlowController:{color:[.8470588235,.427450980392,0,1]},IfcFlowFitting:{color:[.8470588235,.427450980392,0,1]},IfcRamp:{color:[.8470588235,.427450980392,0,1]},IfcFurniture:{color:[.8470588235,.427450980392,0,1]},IfcFooting:{color:[.8470588235,.427450980392,0,1]},IfcSystemFurnitureElement:{color:[.8470588235,.427450980392,0,1]},IfcSpace:{color:[.137255,.303922,.570588,.5]},DEFAULT:{color:[.8470588235,.427450980392,0,1]}},$u=function(A){this.symbolReader=null,this.userIdReader=null,this.userDataReader=null,this.mapSceneReader={},this.lightmap=!1,this.mapNodeInfoByCategory={},this.mapNodeInfoByUserId={},this.mapNodeInfoByNodeId={},this.mapNodeInfoByComponentKey={},this.mapNodeInfoByParameterizedDesc={},this.mapNodeInfoByGeometryId={},this.referencedMeshCache={},this.componentCount=0,this.borderLines={},this.octreeRootNode={inner:null,outer:null,layer:null},this.meshCache={},this.allBones={},this.model=A};$u.EnumNodeItemType={SYMBOL:0,MESH:1,TUBE:2,PIPE:3,BOX:4,BOX_M:5,PIPE_M:6,MESH_REF:7,LINE:8},$u.NodeInfoCategory={INSTANCED:0,STANDARD:1},$u.EnumDataType={NONE:0,MERGE_DATA:1,LAYER:2,LAYER_SCENE:3,ANIMATION:4},$u.EnumKeyframeTrackType={position:"position",scale:"scale",quaternion:"quaternion",weights:"weights"},$u.prototype.destroy=function(){this.destroyReader(),this.octreeRootNode=null,this.mapNodeInfoByCategory={},this.mapNodeInfoByUserId={},this.mapNodeInfoByNodeId={},this.mapNodeInfoByComponentKey={},this.mapNodeInfoByParameterizedDesc={},this.mapNodeInfoByGeometryId={},this.referencedMeshCache={},this.componentCount=0,this.borderLines={}},$u.prototype.destroyReader=function(){this.userIdReader={},this.userDataReader={},this.symbolReader={},this.mapSceneReader={}},$u.prototype.getSceneReaderMap=function(){return this.mapSceneReader},$u.prototype.isValidScene=function(){return!uh.isEmptyObject(this.getSceneReaderMap())||(Bh.log("model load not started!"),!1)},$u.prototype.parseItemData=function(A){var e=this.model;(ap(e.dataVersion,"2.0.0")||void 0===e.dataVersion)&&(Bh.time("升级几何结构"),this._updateV1ToV2(e),e.dataVersion="2.0.0",Bh.timeEnd("升级几何结构")),this._readMaterialBuffer(e),e.hasAnimation&&vc.EnableAnimation?(this._parseClips(),this._parseBones()):this._parseGeo();var t={},i=this.referencedMeshCache;for(var o in Bh.time("_readItemData"),i.bufferData&&Object.keys(i.bufferData).length>0||A&&A(),i.components)this._readItemData(t,o,o,void 0,0);e.hasAnimation&&vc.EnableAnimation&&this._parseNodes(),Bh.timeEnd("_readItemData"),t=null,A&&A()},$u.prototype.asyncParseItemData=function(A){for(var e=this.getSceneReaderMap(),t=Object.keys(e),i=t.length,o=0,n=this,r=0;i>r;r+=1){var a=e[t[r]];uh.asyncProcess(a,a.header.componentCount,100,(function(A,e){n._parseItemDataBy(A,e)}),(function(){(o+=1)===i&&A&&A()}))}},$u.prototype._parseItemDataBy=function(A,e){for(var t=A.getComponentInfo(e),i=t.itemIndex;t.itemCount>i;i+=1)this._readItemData(A,i,e)},$u.prototype.parseItemDataByComponentKey=function(A){var e=this.getSceneReaderMap();for(var t in e)this._parseItemDataBy(e[t],A)},$u.prototype._readItemData=function(A,e,t){var i=this.referencedMeshCache.components[e];void 0!==i&&-1!==i.geoId&&this._readMeshInfo(A,t,i,null)},$u.prototype._readSymbolInfo=function(A,e,t){var i=this.symbolReader;if(i){var o=i.header.symbolCount,n=t.toData,r=A.getMatrixInfo(t.matrixId).matrix.clone(),a={matrix:r,ItemId:t.ItemId,originalId:t.originalId,userDataId:t.userDataId,materialId:t.materialId};if(n>=0&&o>n)for(var s=i.getSymbolInfo(n),l=s.itemIndex;s.itemCount>l;l+=1){var c=i.getItemInfo(l);c.type!==$u.EnumNodeItemType.SYMBOL&&this._readMeshInfo(i,e,c,a)}r=null,a=null,i=null}},$u.prototype._readMeshInfo=function(A,e,t,i){var o=null,n=null;null===i?(t.userDataId,o=t.originalId,n=t.materials||t.matId):(i.userDataId,o=i.originalId,n=i.materialId>-1?i.materialId:t.materialId);var r=null;if(r=this._getMeshNodeAttr(A,t,i)){if(t.buildInCategory&&(r.buildInCategory=t.buildInCategory),r.userId=e,r.name=t.name,r.type=t.type,r.componentKey=e,r.originalId=o,r.materialId=n,r.state=Lc.Visible,r.material=null,r.originMId=n,r.userData=null,r.categoryId=0,r.familyName=t.familyName,r.familySymbol=t.familySymbol,this.lightmap){var a=t.ItemId;i&&(a=i.ItemId+"_"+t.ItemId),r.itemIdUV2=a}r.instanceOrNot=!1,this._classifyNodeInfo(r),r=null}},$u.prototype._getMeshNodeAttrOfPipe=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone();t&&i.multiplyMatrices(t.matrix,i);var o=e.boundingBox.clone();o.applyMatrix4(i);var n=A.getGeomPipeInfo(e.toData),r=n.startPt,a=n.endPt,s=new y;s.subVectors(a,r);var l=s.length();s.normalize();var c=n.radius;c>1||(c=100);var h=new y(0,1,0),d=new y(c,l,c),p=(new f).setFromUnitVectors(h,s),g=r.clone().addScaledVector(s,.5*l),u=(new M).compose(g,p,d);return i.multiply(u),n=null,{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_pipe",geometryId:"pipe",boundingBox:o,matrix:i}},$u.prototype._getMeshNodeAttrOfTube=function(A,e,t){var i=this._getMeshNodeAttrOfPipe(A,e,t);return i.nodeId+="_tube",i.geometryId="tube",i},$u.prototype._getMeshNodeAttrOfBox=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone();t&&i.multiplyMatrices(t.matrix,i);var o=e.boundingBox.clone();o.applyMatrix4(i);var n=e.boundingBox,r=n.getSize(),a=n.getCenter(),s=(new M).scale(new y(r.x,r.y,r.z));return s.setPosition(a),i.multiply(s),{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_box",geometryId:"box",boundingBox:o,matrix:i}},$u.prototype._getMeshNodeAttrOfBoxM=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone();t&&i.multiplyMatrices(t.matrix,i);var o=e.boundingBox.clone();return o.applyMatrix4(i),{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_boxM",geometryId:"boxM",boundingBox:o,matrix:i,uvArrayBuffer:A.getGeomBoxUvInfo(e.toData)}},$u.prototype._getMeshNodeAttrOfPipeM=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone();t&&i.multiplyMatrices(t.matrix,i);var o=e.boundingBox.clone();return o.applyMatrix4(i),{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_pipeM",geometryId:"pipeM",boundingBox:o,matrix:i,uvArrayBuffer:A.getGeomPipeUvInfo(e.toData)}},$u.prototype._getMeshNodeAttrOfMeshRef=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone();t&&i.multiplyMatrices(t.matrix,i);var o=e.boundingBox.clone();return o.applyMatrix4(i),{nodeId:"refMesh|"+(t?t.ItemId+"_"+e.ItemId:e.ItemId),geometryId:e.toData,boundingBox:o,matrix:i}},$u.prototype._getMeshNodeAttr=function(A,e,t,i){var o=new M;o.fromArray(e.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),vc.DataReduction&&o.scale(new y(1e3,1e3,1e3));var n=t?e.key+"_"+i:e.key,r=t?e.geoId+"_"+i:e.geoId;if(-1!==r){var a=new ph,s=this.getReferencedMeshBufferById(e.geoId);return s&&s.position?(a=Tu.getBoundingBoxByBuffer(s.position)).applyMatrix4(o):Bh.error("没有找到对应几何"),{nodeId:n,guid:e.guid,geometryId:r,originalGeometryId:e.geoId,matrix:o,boundingBox:a,model:this.model}}},$u.prototype._getComponentNodeAttr=function(A,e){var t=new M;t.fromArray(A.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),vc.DataReduction&&t.scale(new y(1e3,1e3,1e3)),e&&t.multiplyMatrices(e.matrix,t);var i=A.nodeId,o=A.geoId;if(-1!==o){var n=A.maxBoundary||e.maxBoundary,r=A.minBoundary||e.minBoundary,a=new ph;return a.set(r,n),{nodeId:i,guid:A.guid,geometryId:o,originalGeometryId:A.geoId,matrix:t,boundingBox:a,model:this.model}}},$u.prototype._getLineNodeAttr=function(A,e,t){var i=e.boundingBox.clone(),o=null;return-1!==e.matrixId?(o=A.getMatrixInfo(e.matrixId).matrix.clone(),t&&o.multiplyMatrices(t.matrix,o),i.applyMatrix4(o)):(o=new M,t&&i.applyMatrix4(t.matrix)),{nodeId:t?"line-"+t.ItemId+"-"+e.ItemId:"line-"+e.ItemId,geometryId:"line-"+e.toData,boundingBox:i,matrix:o}},$u.prototype._classifyNodeInfo=function(A){this._cacheNodeInfoByComponentKey(A),this._cacheNodeInfoByNodeId(A),this._cacheNodeInfoByUserId(A),this._cacheNodeInfoByCategory(A),this._cacheNodeInfoByParameterizedDesc(A)},$u.prototype._cacheNodeInfoByComponentKey=function(A){void 0===this.mapNodeInfoByComponentKey[A.componentKey]&&(this.mapNodeInfoByComponentKey[A.componentKey]=[]),this.mapNodeInfoByComponentKey[A.componentKey].push(A)},$u.prototype._cacheNodeInfoByUserId=function(A){void 0===this.mapNodeInfoByUserId[A.userId]&&(this.mapNodeInfoByUserId[A.userId]=[]),this.mapNodeInfoByUserId[A.userId].push(A)},$u.prototype._cacheNodeInfoByNodeId=function(A){this.mapNodeInfoByNodeId[A.nodeId]=A},$u.prototype._cacheNodeInfoByCategory=function(A){var e=null;void 0===this.mapNodeInfoByCategory[e=A.instanceOrNot?$u.NodeInfoCategory.INSTANCED:$u.NodeInfoCategory.STANDARD]&&(this.mapNodeInfoByCategory[e]={}),void 0===this.mapNodeInfoByCategory[e][A.userId]&&(this.mapNodeInfoByCategory[e][A.userId]=[]),this.mapNodeInfoByCategory[e][A.userId].push(A)},$u.prototype._cacheNodeInfoByParameterizedDesc=function(A){A.parameterizedDesc&&(void 0===this.mapNodeInfoByParameterizedDesc[A.type]&&(this.mapNodeInfoByParameterizedDesc[A.type]=[]),this.mapNodeInfoByParameterizedDesc[A.type].push(A))},$u.prototype._clearNodeInfoCacheWithParameterizedDesc=function(A){if(A)for(var e=0,t=A.length;t>e;e+=1)delete this.mapNodeInfoByParameterizedDesc[A[e]];else this.mapNodeInfoByParameterizedDesc={}},$u.prototype._clearNodeInfoCacheWithComponentKey=function(A){if(A)for(var e=0,t=A.length;t>e;e+=1)delete this.mapNodeInfoByComponentKey[A[e]];else this.mapNodeInfoByComponentKey={}},$u.prototype._clearNodeInfoCacheWithCategory=function(A){if(A)for(var e=this.mapNodeInfoByCategory[$u.NodeInfoCategory.INSTANCED],t=this.mapNodeInfoByCategory[$u.NodeInfoCategory.STANDARD],i=0,o=A.length;o>i;i+=1)e&&delete e[A[i]],t&&delete t[A[i]];else this.mapNodeInfoByCategory={}},$u.prototype.clearNodeInfoCacheByComponentsKey=function(A){this._clearNodeInfoCacheWithComponentKey(A),this._clearNodeInfoCacheWithUserId(A),this._clearNodeInfoCacheWithCategory(A)},$u.prototype._clearNodeInfoCacheWithUserId=function(A){if(A)for(var e=0,t=A.length;t>e;e+=1)delete this.mapNodeInfoByUserId[A[e]],delete this.mapNodeInfoByNodeId[A[e]];else this.mapNodeInfoByUserId={};this.mapNodeInfoByUserId={}},$u.prototype.clearNodeInfoCache=function(){this._clearNodeInfoCacheWithComponentKey(),this._clearNodeInfoCacheWithUserId(),this._clearNodeInfoCacheWithCategory()},$u.prototype.getNodeInfosByComponentKey=function(A){return this.mapNodeInfoByComponentKey[A]},$u.prototype.getNodeInfosWithComponentKey=function(){return this.mapNodeInfoByComponentKey},$u.prototype.getAllNodeInfos=function(){return this.mapNodeInfoByUserId},$u.prototype.getNodeInfosByUserId=function(A){return this.mapNodeInfoByUserId[A]},$u.prototype.getNodeInfosByNodeId=function(A){return this.mapNodeInfoByNodeId[A]},$u.prototype.getNodeInfosWithUserId=function(){return this.mapNodeInfoByUserId},$u.prototype.getStandardNodeInfos=function(){return this.mapNodeInfoByCategory[$u.NodeInfoCategory.STANDARD]},$u.prototype.getInstancedNodeInfos=function(){return this.mapNodeInfoByCategory[$u.NodeInfoCategory.INSTANCED]},$u.prototype.getStandardUserIds=function(){return this.getStandardNodeInfos()?Object.keys(this.getStandardNodeInfos()):[]},$u.prototype.getInstancedUserIds=function(){return this.getInstancedNodeInfos()?Object.keys(this.getInstancedNodeInfos()):[]},$u.prototype.getStandardNodeInfosById=function(A){var e=this.getStandardNodeInfos();return e?e[A]:null},$u.prototype.getInstancedNodeInfosById=function(A){var e=this.getInstancedNodeInfos();return e?e[A]:null},$u.prototype._getUserIdsByCategory=function(A,e){var t=[],i=null;if(i=e===$u.NodeInfoCategory.INSTANCED?this.getInstancedNodeInfos():this.getStandardNodeInfos())for(var o=0,n=A.length;n>o;o+=1)i[A[o]]&&t.push(A[o]);return t},$u.prototype.getInstancedUserIdsByCategory=function(A){return this._getUserIdsByCategory(A,$u.NodeInfoCategory.INSTANCED)},$u.prototype.getStandardUserIdsByCategory=function(A){return this._getUserIdsByCategory(A,$u.NodeInfoCategory.STANDARD)},$u.prototype._traverseNodeInfosByIds=function(A,e,t){for(var i=0,o=e.length;o>i;i+=1){var n=e[i];t(n,A[n])}},$u.prototype.traverseStandardNodeInfos=function(A,e){var t=this.getStandardNodeInfos();t&&(A=A||this.getStandardUserIds(),this._traverseNodeInfosByIds(t,A,e))},$u.prototype.traverseInstancedNodeInfos=function(A,e){var t=this.getInstancedNodeInfos();t&&(A=A||this.getInstancedUserIds(),this._traverseNodeInfosByIds(t,A,e))},$u.prototype.traverseNodeInfosByComponent=function(A){for(var e=Object.keys(this.mapNodeInfoByComponentKey),t=0,i=e.length;i>t;t+=1)for(var o=e[t],n=this.mapNodeInfoByComponentKey[o],r=0,a=n.length;a>r;r+=1)A(o,n[r])},$u.prototype.clearReferencedMeshCache=function(){if(!vc.DEBUG){for(var A in this.referencedMeshCache)delete this.referencedMeshCache[A];this.referencedMeshCache=null}},$u.prototype.cacheReferencedMeshBufferData=function(A,e){this.referencedMeshCache.bufferData||(this.referencedMeshCache.bufferData={}),this.referencedMeshCache.bufferData[A]=e},$u.prototype.cacheReferencedMeshComponentNodeData=function(A,e){this.referencedMeshCache.componentNode||(this.referencedMeshCache.componentNode={}),this.referencedMeshCache.componentNode[A]=e},$u.prototype.cacheReferencedMeshWireframeData=function(A,e){this.referencedMeshCache.wireframeData||(this.referencedMeshCache.wireframeData={}),this.referencedMeshCache.wireframeData[A]=e},$u.prototype.getReferencedMeshBufferData=function(){return this.referencedMeshCache.bufferData},$u.prototype.getReferencedMeshBufferById=function(A){return this.referencedMeshCache&&this.referencedMeshCache.bufferData?this.referencedMeshCache.bufferData[A]:null},$u.prototype.getReferencedMeshComponentNodeById=function(A){return this.referencedMeshCache&&this.referencedMeshCache.componentNode?this.referencedMeshCache.componentNode[A]:null},$u.prototype.getReferencedMeshWireframeDataById=function(A){return this.referencedMeshCache&&this.referencedMeshCache.wireframeData?this.referencedMeshCache.wireframeData[A]:null},$u.prototype.cacheReferencedMeshBoneBufferData=function(A,e){this.referencedMeshCache.bones||(this.referencedMeshCache.bones={}),this.referencedMeshCache.bones[A]=e},$u.prototype.cacheReferencedMeshClipsData=function(A){this.referencedMeshCache.clips=A},$u.prototype.cacheReferencedMeshNodesData=function(A){this.referencedMeshCache.nodes=A},$u.prototype.cacheReferencedMeshComponentData=function(A,e){this.referencedMeshCache.components||(this.referencedMeshCache.components={}),this.referencedMeshCache.components[A]=e},$u.prototype.cacheReferencedMeshMaterialData=function(A,e){this.referencedMeshCache.materials||(this.referencedMeshCache.materials={}),this.referencedMeshCache.materials[A]=e},$u.prototype.cacheReferencedMeshGeoIds=function(A,e){this.referencedMeshCache.mpkIds||(this.referencedMeshCache.mpkIds={}),this.referencedMeshCache.mpkIds[A]||(this.referencedMeshCache.mpkIds[A]=[]),this.referencedMeshCache.mpkIds[A].push(e)},$u.prototype.clearReferencedMeshCacheByGeopkIdxs=function(A,e){if(this.referencedMeshCache.mpkIds)for(var t=0,i=A.length;i>t;t+=1){var o=A[t],n=this.referencedMeshCache.mpkIds[o];if(n){for(var r=0,a=n.length;a>r;r+=1)e&&e(n[r]),delete this.referencedMeshCache[n[r]];delete this.referencedMeshCache.mpkIds[o]}}},$u.prototype.cacheBorderLine=function(A,e){var t=A?"shared":"unique";this.borderLines[t]||(this.borderLines[t]=[]),this.borderLines[t].push(e)},$u.prototype.getSharedBorderLineCache=function(){return this.borderLines.shared},$u.prototype.getUniqueBorderLineCache=function(){return this.borderLines.unique},$u.prototype._isRegularShape=function(A){return A.type===$u.EnumNodeItemType.TUBE||A.type===$u.EnumNodeItemType.PIPE||A.type===$u.EnumNodeItemType.BOX||A.type===$u.EnumNodeItemType.BOX_M||A.type===$u.EnumNodeItemType.PIPE_M},$u.prototype._isInstancedNode=function(A){return!!vc.Instance&&(A.type===$u.EnumNodeItemType.MESH_REF?!!vc.SharedMeshInstanceEnable:!!A.parameterizedDesc)},$u.prototype.getComponentCount=function(){return this.componentCount},$u.prototype.getOctreeRootNode=function(){return this.octreeRootNode},$u.prototype.isUseInnerAndOuterOctree=function(){return!0},$u.prototype.isOctreeOuter=function(A){var e=this.octreeRootNode.inner||this.octreeRootNode.outer;return!(e.min.x>A.x||A.x>e.max.x||e.min.y>A.y||A.y>e.max.y||e.min.z>A.z||A.z>e.max.z)},$u.prototype.getOctreeRoots=function(A){this.octreeRootNode.outer&&A.push(this.octreeRootNode.outer),this.octreeRootNode.inner&&A.push(this.octreeRootNode.inner)},$u.prototype.updateOctreeNodeBy=function(A,e){var t=new aA;function i(A,e){t.copy(A.boundingBoxWorld),t.applyMatrix4(e),A.min.copy(t.min),A.max.copy(t.max),A.center=t.getCenter(),A.size=t.getSize().lengthSq()}i(A,e),function A(e,t){for(var o=0,n=e.childOctants.length;n>o;o+=1){var r=e.childOctants[o];i(r,t),A(r,t)}}(A,e)},$u.prototype.updateOctreeNode=function(A){var e=this.getOctreeRootNode();e.outer&&this.updateOctreeNodeBy(e.outer,A),e.inner&&this.updateOctreeNodeBy(e.inner,A)},$u.prototype.removeFromSceneReaderMap=function(A){for(var e=0,t=A.length;t>e;e+=1)this.mapSceneReader[A[e]]&&delete this.mapSceneReader[A[e]]},$u.prototype.isUserIdExist=function(A){return!!this.getNodeInfosByUserId(A)},$u.prototype.addToNodeInfoMap=function(A){for(var e=0,t=A.length;t>e;e+=1)this._cacheNodeInfoByUserId(A[e])},$u.prototype.removeFromNodeInfoMap=function(A){for(var e=this.getAllNodeInfos(),t=0,i=A.length;i>t;t+=1){var o=A[t].userId;e[o]&&delete e[o]}},$u.prototype.cacheNodeInfosOnGeometryId=function(){var A=this.getStandardNodeInfos();for(var e in this.mapNodeInfoByGeometryId={},A)for(var t=A[e],i=0,o=t.length;o>i;i+=1)t[i].geometryId=this.convertGeometryId(t[i].geometryId),this.mapNodeInfoByGeometryId[t[i].geometryId]||(this.mapNodeInfoByGeometryId[t[i].geometryId]=[]),this.mapNodeInfoByGeometryId[t[i].geometryId].push(t[i])},$u.prototype.getNodeInfosOnGeometryId=function(){return this.mapNodeInfoByGeometryId||this.cacheNodeInfosOnGeometryId(),this.mapNodeInfoByGeometryId},$u.prototype.clearNodeInfosWithGeometryId=function(){this.mapNodeInfoByGeometryId={}},$u.prototype.convertGeometryId=function(A){return A},$u.prototype._readMaterialBuffer=function(A){var e=A.materialManager,t=e.materials,i=e.textures,o=this.referencedMeshCache.materials;for(var n in o){var r=o[n];if(!r)return null;var a=Kd.createMaterialByMaterialBufferAndTexture(r,i);a.refreshUniforms&&a.refreshUniforms(),t[n]=a,vc.EnableShadow&&A.manager.viewerImpl.rendererManager.csm&&A.manager.viewerImpl.rendererManager.csm.setupMaterial(a)}},$u.prototype._updateV1ToV2=function(){var A=this.referencedMeshCache.components,e=this.referencedMeshCache.bufferData,t=this.referencedMeshCache.materials;for(var i in A)if(A.hasOwnProperty(i)){var o=A[i],n=o.matId,r=e[o.geoId];if(o.materials)continue;if(o.materials=[],!r)continue;var a=t[n];if(!a)continue;var s=this._updateMaterialV1ToV2(n,a);if(s)for(var l in r.materialIndex=s.materialIndex,o.materials=s.materialId,s.materials)s.materials.hasOwnProperty(l)&&(this.referencedMeshCache.materials[l]=s.materials[l])}},$u.prototype._updateMaterialV1ToV2=function(A,e){var t={},i=[],o={};if(!e)return null;for(var n=e.color,r=e.colorIndex,a=e.texture,s=e.textureIndex,l=0;n.length>l;l+=4){var c={};c.color=[n[l],n[l+1],n[l+2]],c.opacity=Math.floor(100*n[l+3])/100,c.transparent=1>n[l+3];var h=(255*c.color[0]<<16^255*c.color[1]<<8^255*c.color[2]<<0)+"_"+c.opacity;o[h]=c,i.push(h)}if(0!==a.length&&r.length===s.length)for(var d=-1,p=0;s.length>p;p+=1)if(d!==r[p]&&(d=r[p],-1!==s[p])){var g=i[r[p]],u=a[s[p]];if(o[g].map=u,-1===g.indexOf(u)){var f=g+"_"+a[s[p]];o[f]=o[g],i.length>Object.keys(o).length-1||delete o[g],i[r[p]]=f}}return t.materials=o,t.materialId=i,t.materialIndex=r,t},$u.prototype._computeVertexNormalsFromFaceNormals=function(A,e,t){for(var i=new Float32Array(t),o=0,n=0,r=0,a=0,s=0,l=0,c=0;A.length>c;c+=3)s=A[c+1],l=A[c+2],n=3*e[c+1],r=3*e[c+2],i[o=3*e[c]]=a=A[c],i[o+1]=s,i[o+2]=l,i[n]=a,i[n+1]=s,i[n+2]=l,i[r]=a,i[r+1]=s,i[r+2]=l;return i},$u.prototype._computeVertexNormalsFromIndex=function(A,e,t){var i=new Float32Array(e.length);if(e){var o=0,n=0,r=0,a=new y,s=new y,l=new y,c=new y,h=new y;if(A)for(var d=A,p=0;d.length>p;p+=3)n=3*d[p+1],r=3*d[p+2],a.fromArray(e,o=3*d[p]),s.fromArray(e,n),l.fromArray(e,r),c.subVectors(l,s),h.subVectors(a,s),c.cross(h),i[o]+=c.x,i[o+1]+=c.y,i[o+2]+=c.z,i[n]+=c.x,i[n+1]+=c.y,i[n+2]+=c.z,i[r]+=c.x,i[r+1]+=c.y,i[r+2]+=c.z;else for(var g=0,u=e.length;u>g;g+=9)a.fromArray(e,g),s.fromArray(e,g+3),l.fromArray(e,g+6),c.subVectors(l,s),h.subVectors(a,s),c.cross(h),i[g]=c.x,i[g+1]=c.y,i[g+2]=c.z,i[g+3]=c.x,i[g+4]=c.y,i[g+5]=c.z,i[g+6]=c.x,i[g+7]=c.y,i[g+8]=c.z}return i},$u.prototype.addMeshToInfoMap=function(A,e,t,i,o){var n=this.getNodeInfosByComponentKey(A);Array.isArray(n)&&n.forEach((function(A){A.nodeId===e&&(A.mesh=t,A.index=i,A.uv=A.uv||o)}))},$u.prototype._parseGeo=function(){Bh.time("处理几何:计算法线");var A=this.referencedMeshCache;for(var e in A.bufferData){var t=A.bufferData[e];t.position.length!==t.normal.length&&(t.normal=t.normal.length===t.index.length?this._computeVertexNormalsFromFaceNormals(t.normal,t.index,t.position.length):this._computeVertexNormalsFromIndex(t.index,t.position))}Bh.timeEnd("处理几何:计算法线")},$u.prototype._parseBones=function(){var A=this.referencedMeshCache;for(var e in A._offsetMatrix||(A._offsetMatrix={}),A.bufferData){var t=A.bufferData[e];t.position.length!==t.normal.length&&(t.normal=t.normal.length===t.index.length?this._computeVertexNormalsFromFaceNormals(t.normal,t.index,t.position.length):this._computeVertexNormalsFromIndex(t.index,t.position));var i=A.bones[e];if(i){t.skinIndex=i.skinIndex,t.skinWeight=i.skinWeight;var o=i.name;i.offsetMatrix.length/16!==o.length&&Bh.debug("bones的name数量与Matrix数量不符");for(var n=0;o.length>n;n+=1)A._offsetMatrix[o[n]]=(new M).fromArray(i.offsetMatrix,16*n)}}},$u.prototype._parseClips=function(){for(var A=this.referencedMeshCache.clips,e=[],t=0,i=A.length;i>t;t+=1){for(var o=[],n=A[t],r=0,a=n.tracks.length;a>r;r+=1){var s=n.tracks[r],l=null;switch(s.type){case $u.EnumKeyframeTrackType.weights:l=Dr;break;case $u.EnumKeyframeTrackType.quaternion:l=Nr;break;case $u.EnumKeyframeTrackType.position:case $u.EnumKeyframeTrackType.scale:default:l=Vr}if(0===n.ticksPerSec){n.ticksPerSec=1e3;for(var c=0;s.times.length>c;c+=1)s.times[c]/=n.ticksPerSec}var h=new l(Fs.sanitizeNodeName(s.name)+"."+s.type,s.times,s.values,2301);o.push(h)}var d=new Gr(void 0!==n.name?n.name:"animation_"+t,n.duration/n.ticksPerSec,o);e.push(d)}this.model.animations=e},$u.prototype._parseNodes=function(){var A=this.referencedMeshCache;A.allBones=[],A.offsetMatrix=[];var e=function A(e,t){var i=null;"node"===e.type?i=new H:"bone"===e.type&&(i=new Uo,t.allBones[e.name]=i),i.name=Fs.sanitizeNodeName(e.name),i.matrix.fromArray(e.transformation||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),i.matrix.decompose(i.position,i.quaternion,i.scale);for(var o=0;e.children.length>o;o+=1){var n=A(e.children[o],t);n&&i.add(n)}for(var r=0;e.meshes.length>r;r+=1){var a=e.meshes[r];t.model._getHandler().defaultManager.meshManager._readBufferInfo(t.model,[t.model.modelKey+"_"+e.meshes[r]]);var s=t.model._getHandler().defaultManager.meshManager._makeSkinMesh(t.model,[t.model.modelKey+"_"+e.meshes[r]],(function(A){}));t.meshCache[a]=s,s.name=e.name,i.add(s)}return i}(A.nodes,this);for(var t in A.bufferData){var i=this.meshCache[t];if(i&&i.isSkinnedMesh){for(var o=[],n=[],r=0;A.bones[t].name.length>r;r+=1){var a=A.bones[t].name[r],s=A._offsetMatrix[a],l=this.allBones[a];s&&l&&(o.push(l),n.push(s))}var c=new bo(o,n);i.bind(c,i.matrixWorld)}}this.model.nodes=e,this.model.manager.getScene().onBeforeRender=function(A,e,t,i){e.updateMatrixWorld(!0)},this.model.group.add(e),(c=new _s(e)).visible=!1,this.model.skeleton=c,this.model.group.add(c),this.model.mixer=new Rs(e),this.model.actions=[];for(var h=0;this.model.animations.length>h;h+=1){var d=this.model.mixer.clipAction(this.model.animations[h]);this.model.actions.push(d)}};var Af=function(A){$u.call(this,A),this.instancedComponent={}};Object.assign(Af.prototype,$u.prototype),Af.prototype.parseItemData=function(A){var e=this.model;(ap(e.dataVersion,"2.0.0")||void 0===e.dataVersion)&&(Bh.time("升级几何结构"),this._updateV1ToV2(e),e.dataVersion="2.0.0",Bh.timeEnd("升级几何结构")),this._readMaterialBuffer(e),e.hasAnimation&&vc.EnableAnimation?(this._parseClips(),this._parseBones()):(this._parseGeo(),vc.Instance&&sp(e.dataVersion,"2.0.0")&&this._parseInstanced());var t={},i=this.referencedMeshCache;if(Bh.time("_readItemData"),!i.bufferData||0>=Object.keys(i.bufferData).length)return Bh.warn("缺少几何数据"),!0;for(var o in i.components)this._readItemData(t,o,o,void 0,0);Bh.timeEnd("_readItemData"),t=null,A&&A()},Af.prototype._readMeshInfo=function(A,e,t,i){var o=this.model.materialManager.materials,n=null,r=null,a=null,s=this.referencedMeshCache;if(t.nodes||t.nodeIds){r=t.originalId;var l=t,c=(new M).fromArray(l.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);l.matrix=c;var h=[];h=l.nodes?l.nodes:l.nodeIds;for(var d=0;h.length>d;d+=1){var p=h[d];if("object"!==lc(p)&&(p=this.getReferencedMeshComponentNodeById(p)),p){var g,u=null;if(a="",-1!==p.geoId)if(u=this._getComponentNodeAttr(p,l,d)){if(l.buildInCategory&&(u.buildInCategory=l.buildInCategory),!o[a=p.material]){var f=_u[l.type]?_u[l.type].color:void 0;f||(Bh.log("Material not found for type: ",l.type),f=_u.DEFAULT.color),f||(Bh.log("Default material not found for type: ",l.type),f=[1,1,1,1]);var m=new LA(f[0],f[1],f[2]),C=a||m.getHexString()+"_"+f[3],y=o[C];y||(Bh.warn("缺少材质 "+a),y=Kd.createStandardMaterial({color:m}),1>f[3]&&(y.transparent=!0,y.opacity=f[3]),y.side=2,o[C]=y),u.material=a=C}if(o[a].aoMap){var v=this.getReferencedMeshBufferById(u.geometryId);v&&(v.uv2=v.uv)}g=u.nodeId;var I=(K=this.userDataReader)?K.getUserData(n):null;u.type=l.type,u.userId=e,u.name=l.name,u.userDataId=n,u.originalId=r,u.materialId=a,u.originMId=a,u.userData=I,u.categoryId=0,u.componentKey=e,u.familyName=l.familyName,u.familySymbol=l.familySymbol;var E=vc.Instance,B=s.reuseNodes.hasOwnProperty(g);u.instanceOrNot=!(!E||!B),u.isBatched=!0,u.state=Lc.Visible,u.material=null,this._classifyNodeInfo(u),u=null}else Bh.debug("非法node")}}}else if(null===i?(n=t.userDataId,r=t.originalId,a=t.materialId||t.matId):(n=i.userDataId,r=i.originalId,a=i.materialId>-1?i.materialId:t.materialId),t.materials||(t.materials=[]),t.materials.length>0)for(d=0;t.materials.length>d;d+=1){var x=null;if(x=this._getMeshNodeAttr(A,t,t.materials.length>1,d),!o[a=t.materials[d]]){var S=_u[t.type]?_u[t.type].color:void 0;S||(Bh.log("Material not found for type: ",t.type),S=_u.DEFAULT.color),S||(Bh.log("Default material not found for type: ",t.type),S=[1,1,1,1]);var w=new LA(S[0],S[1],S[2]),b=a||w.getHexString()+"_"+S[3],U=o[b];U||(Bh.warn("缺少材质 "+a),U=Kd.createStandardMaterial({color:w}),1>S[3]&&(U.transparent=!0,U.opacity=S[3]),U.side=2,o[b]=U)}if(o[a].aoMap){var F=this.getReferencedMeshBufferById(x.geometryId);F&&(F.uv2=F.uv)}if(!x)return;var K;I=(K=this.userDataReader)?K.getUserData(n):null;x.type=t.type,x.userId=e,x.name=t.name,x.userDataId=n,x.originalId=r,x.materialId=a,x.originMId=a,x.userData=I,x.categoryId=0,x.componentKey=e,x.familyName=t.familyName,x.familySymbol=t.familySymbol,vc.Instance&&this.instancedComponent[e]?x.instanceOrNot=!0:(x.instanceOrNot=!1,this.instancedGeo[x.originalGeometryId].length>1&&(x.originalGeometryId="")),x.state=Lc.Visible,x.material=null,x.isBatched=!0,this._classifyNodeInfo(x),x=null}else{var Q=null,R=_u[t.type]?_u[t.type].color:void 0;R||(Bh.log("Material not found for type: ",t.type),R=_u.DEFAULT.color),R||(Bh.log("Default material not found for type: ",t.type),R=[1,1,1,1]);var T=new LA(R[0],R[1],R[2]),k=T.getHexString()+"_"+R[3],D=o[k];if(D||(D=Kd.createStandardMaterial({color:T}),1>R[3]&&(D.transparent=!0,D.opacity=R[3]),D.side=2,o[k]=D),t.materials.push(k),Q=this._getMeshNodeAttr(A,t,!1,0),a=t.materials[0],!Q)return;t.buildInCategory&&(Q.buildInCategory=t.buildInCategory);e=t.key;Q.type=t.type,Q.userId=e,Q.name=t.name,Q.originalId=r,Q.materialId=a,Q.originMId=a,Q.userData={},Q.categoryId=0,Q.componentKey=e,Q.familyName=t.familyName,Q.familySymbol=t.familySymbol,Q.instanceOrNot=!(!vc.Instance||!this.instancedComponent[e]),Q.isBatched=!0,Q.state=Lc.Visible,Q.material=null,this._classifyNodeInfo(Q),Q=null}},Af.prototype._parseGeo=function(){Bh.time("处理几何:按材质拆分构件");var A=this.referencedMeshCache;for(var e in A.bufferData){var t=A.bufferData[e];if(t.position.length!==t.normal.length&&(t.normal=t.normal.length===t.index.length?this._computeVertexNormalsFromFaceNormals(t.normal,t.index,t.position.length):this._computeVertexNormalsFromIndex(t.index,t.position)),void 0!==t.materialIndex){for(var i=void 0,o=[],n=null,r=0;t.materialIndex.length>r;r+=1){var a=t.materialIndex[r];a!==n&&(n=a,void 0!==i&&(i.count=3*r-i.start,o.push(i)),i={start:3*r,materialIndex:n})}if(void 0!==i&&(i.count=3*t.materialIndex.length-i.start,o.push(i)),1===o.length){A.bufferData[e+"_"+o[0].materialIndex]=t}else{for(var s={},l=0;o.length>l;l+=1){var c=o[l];void 0===s[c.materialIndex]&&(s[c.materialIndex]={index:[],count:0}),s[c.materialIndex].index.push({start:c.start,count:c.count}),s[c.materialIndex].count+=c.count}var h=function(){p={},g=s[d];for(var i=0,o=new Uint32Array(g.count),n=0;g.index.length>n;n+=1){var r=g.index[n],a=t.index.slice(r.start,r.start+r.count);o.set(a,i),i+=r.count}u={},o.forEach((function(A,e){u[A]||(u[A]=[]),u[A].push(e)}));var l=Object.keys(u).length;f=new Float32Array(3*l),m=new Float32Array(3*l),C=new Float32Array(2*l),y=0,v=0;var c=0;for(var h in u)if(u.hasOwnProperty(h)){h=Number(h);var I=t.position.slice(3*h,3*h+3),E=t.normal.slice(3*h,3*h+3);if(t.uv.length>0){var B=t.uv.slice(2*h,2*h+2);C.set(B,v),v+=2}f.set(I,y),m.set(E,y),y+=3,u[h].forEach((function(A){o[A]=c})),c+=1}p.index=o,p.position=f,p.normal=m,t.uv&&t.uv.length>0&&(p.uv=C),A.bufferData[e+"_"+d]=p};for(var d in s){var p,g,u,f,m,C,y,v;h()}}}}Bh.timeEnd("处理几何:按材质拆分构件")},Af.prototype._parseInstanced=function(){Bh.time("_parseInstanced"),this.instancedComponent={};var A={},e={},t=this.referencedMeshCache,i=this.model.materialManager.materials;for(var o in t.components)if(t.components.hasOwnProperty(o)){var n=t.components[o];if(n.nodeIds||n.nodes)continue;var r=n.geoId;if(-1===r){Bh.debug("实体没有几何");continue}if(void 0===A[r]&&(A[r]=[]),A[r].push(1),!n.materials||1>n.materials.length){n.materials=[];var a=_u[n.type]?_u[n.type].color:void 0;a||(Bh.log("Material not found for type: ",n.type),a=_u.DEFAULT.color),a||(Bh.log("Default material not found for type: ",n.type),a=[1,1,1,1]);var s=new LA(a[0],a[1],a[2]),l=s.getHexString()+"_"+a[3],c=i[l];c||(Bh.warn("缺少材质 "+l),c=Kd.createStandardMaterial({color:s}),1>a[3]&&(c.transparent=!0,c.opacity=a[3]),c.side=2,i[l]=c),n.materials.push(l)}for(var h=0,d=n.materials.length;d>h;h+=1){var p=n.materials[h]+"&"+r;void 0===e[p]&&(e[p]=[]),e[p].push({componentKey:o})}}for(var g in this.instancedGeo=A,e)if(e.hasOwnProperty(g))if(1<e[g].length)for(var u=0;e[g].length>u;u+=1)this.instancedComponent[e[g][u].componentKey]=!0;else delete e[g];Bh.timeEnd("_parseInstanced")};var ef=function(A){Xu.call(this,A),this.descriptor=new Af(A.model)};(ef.prototype=Object.assign(ef.prototype,Xu.prototype)).loadSceneAndGeos=function(A){var e=A.scene,t=this.model,i=e.geometries.length||0,o=[];if(this.map={},ap(this.dataVersion,"2.0.0"))for(var n=0;i>n;n+=1)e.geometries[n].fileKey?o.push(e.geometries[n].fileKey):t.dispatchEventEx({type:Tc.SCENE_NOT_CLOSE,modelKey:t.modelKey});else o=e.geometries;this.maxLoadTaskCount+=i,this._loadGeo(o)},ef.prototype.getSceneTaskCount=function(A){var e=A.scenes;return e+=A.lines,e+=A.mpks,vc.BorderLineDelayLoaded||(e+=this.getAllBorderlineCount()),e};var tf=function(A){this.model=A,this.defaultManager=null,this.instancedManager=null,this.model=A,this.loader=null,this.loaded=!1,this.dataReady=!1,this.borderlinesLoaded=!1,this.borderlinesGenerated=!1};tf.prototype.destroy=function(){this.model=null,this.defaultManager.destroy(),this.defaultManager=null,this.instancedManager.destroy(),this.instancedManager=null,this.loader&&(this.loader.destroy(),this.loader=null)},tf.prototype.load=function(A){var e=this,t=this.model;this.loader.setNotifyProgress(A),this.loader.load((function(){t.manager.dispatchEvent({type:Rc.ON_LOAD_START,modelKey:t.modelKey})}),(function(A){t.manager.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:A,modelKey:t.modelKey})}),(function(){e.prepareData((function(){e.processLoadCompleted((function(){t.manager.dispatchEvent({type:Rc.ON_LOAD_COMPLETE,modelKey:t.modelKey})}))}))}))},tf.prototype.processLoadCompleted=function(A){var e=this.model;e.materialManager._updateTextureMapping(),e.materialManager._updateIBL(e),e.setLoaded(!0);var t=e.manager.filter,i=e.manager.getNodeInfos();t.initFilterManager(i),requestAnimationFrame((function(){A&&A(),e.hasAnimation&&vc.EnableAnimation&&e.createPanel(),e.updateMeshNodes(),e.applyFilter(),e.debut(e)}))},tf.prototype.prepareData=function(A){if(!this.dataReady){var e=this;this.loader.getDescriptor().parseItemData((function(){e.dataReady=!0,e.settleData(A)}))}},tf.prototype.prepareWireframe=function(A,e){if(A.isActivateWireframe())if(vc.BorderLineDelayLoaded&&this.loader.getAllBorderlineCount())if(this.borderlinesLoaded)this.borderlinesGenerated&&(this.defaultManager.asyncGenerateWireframe(A),this.instancedManager.generateWireframe(A));else{this.borderlinesLoaded=!0;var t=this;this.loader.delayLoadBorderlines((function(){t.instancedManager.generateWireframe(A),t.defaultManager.asyncGenerateWireframe(A,(function(){t.borderlinesGenerated=!0,e&&e()}))}))}else this.defaultManager.generateWireframe(A),this.instancedManager.generateWireframe(A)},tf.prototype.prepare=function(A){},tf.prototype.needUpdate=function(){return!0},tf.prototype.updateNodes=function(){this.defaultManager.updateNodes(this.model),vc.Instance&&this.instancedManager.updateNodes(this.model)},tf.prototype.isLoaded=function(){return this.loaded},tf.prototype.isDataReady=function(){return this.loaded},tf.prototype.isAllReady=function(){return!0},tf.prototype.isHidden=function(){var A=this.model;return!A.visible&&(A.manager.scene.removeGroupByName(A._getWireframeGroupName()),!0)},tf.prototype.settleData=function(A){},tf.prototype.addNodeInfoToOctantMap=function(){},tf.prototype.applyFilter=function(){this.isLoaded()&&(this.defaultManager.applyFilter(this.model),vc.Instance&&this.instancedManager.applyFilter(this.model))},tf.prototype.applySelection=function(){this.isLoaded()&&(this.defaultManager.applySelection(this.model),vc.Instance&&this.instancedManager.applySelection(this.model))},tf.prototype.clearSelection=function(){this.isLoaded()&&(this.defaultManager.clearSelection(this.model),vc.Instance&&this.instancedManager.clearSelection(this.model))},tf.prototype.applyHover=function(){this.isLoaded()&&(this.defaultManager.applyHover(this.model),vc.Instance&&this.instancedManager.applyHover(this.model))},tf.prototype.clearHover=function(){this.isLoaded()&&(this.defaultManager.clearHover(this.model),vc.Instance&&this.instancedManager.clearHover(this.model))},tf.prototype.applyBlink=function(){this.isLoaded()&&(this.defaultManager.applyBlink(this.model),vc.Instance&&this.instancedManager.applyBlink(this.model))},tf.prototype.clearBlink=function(){this.isLoaded()&&(this.defaultManager.clearBlink(this.model),vc.Instance&&this.instancedManager.clearBlink(this.model))},tf.prototype.applyReplacement=function(){this.isLoaded()&&(this.defaultManager.applyReplacement(this.model),vc.Instance&&this.instancedManager.applyReplacement(this.model))},tf.prototype.getMeshesByUserIds=function(A){if(this.isLoaded()){var e=this.defaultManager.getMeshesByUserIds(this.model,A),t=[];return vc.Instance&&(t=this.instancedManager.getMeshesByUserId(this.model,A)),[].concat(e).concat(t)}},tf.prototype.rebuildIndicesforLightmap=function(){this.defaultManager.rebuildIndices(this.model)},tf.prototype.adjustVisibility=function(A){this.defaultManager.adjustVisibility(this.model,A)},tf.prototype.changeVisibilityOfSelectedObjects=function(A){this.defaultManager.changeVisibilityOfSelectedObjects(this.model,A)},tf.prototype.changeVisibilityOfNonSelectedObjects=function(A){this.defaultManager.changeVisibilityOfNonSelectedObjects(this.model,A)},tf.prototype.adjustInstanceVisibility=function(A){this.instancedManager.adjustVisibility(this.model,A)},tf.prototype.changeInstanceVisibilityOfSelectedObjects=function(A){this.instancedManager.changeVisibilityOfSelectedObjects(this.model,A)},tf.prototype.changeInstanceVisibilityOfNonSelectedObjects=function(A){this.instancedManager.changeVisibilityOfNonSelectedObjects(this.model,A)},tf.prototype.restoreVisibilityOfObjects=function(){this.defaultManager.restoreVisibilityOfObjects(),this.instancedManager.restoreVisibilityOfObjects()},tf.prototype.getBlinkMaterials=function(){var A=[],e=this.model.materialManager.instanceMaterials;for(var t in e)for(var i=e[t],o=0,n=i.length;n>o;o+=1)A.push(i[o]);return A=A.concat(this.defaultManager.meshManager.getBlinkMaterials())},tf.prototype.disposeBufferAfterVbo=function(){this.isLoaded()&&(this.defaultManager.disposeBufferAfterVbo(),this.instancedManager.disposeBufferAfterVbo())},tf.prototype.getGeometryBuffersByUserId=function(A){if(!this.isLoaded())return[];var e=[];return e=(e=e.concat(this.defaultManager.getGeometryBuffersByUserId(this.model,A))).concat(this.instancedManager.getGeometryBuffersByUserId(this.model,A))},tf.prototype.unloadComponents=function(A){},tf.prototype.explosion=function(A){this.isLoaded()&&(this.defaultManager.explosion(this.model,A),vc.Instance&&this.instancedManager.explosion(this.model,A))},tf.prototype.closeExplosion=function(){this.isLoaded()&&(this.defaultManager.closeExplosion(this.model),vc.Instance&&this.instancedManager.closeExplosion(this.model))},tf.prototype.componentsExplosion=function(A){this.isLoaded()&&(this.defaultManager.componentsExplosion(this.model,A),vc.Instance&&this.instancedManager.componentsExplosion(this.model,A))},tf.prototype.closeComponentsExplosion=function(A){this.isLoaded()&&(this.defaultManager.closeComponentsExplosion(this.model,A),vc.Instance&&this.instancedManager.closeComponentsExplosion(this.model,A))},tf.prototype.isHiddenNode=function(A){return this.defaultManager.isHiddenNode(A)||this.instancedManager.isHiddenNode(A)},tf.prototype.moveMeshfromInstancedToDefault=function(A){};var of=function(A){this.manager=A,this.pickingNodeMap=null,this.pickingNodeGroup=null,this.nodeGroupName="PickingNodeGroup"};of.prototype.destroy=function(){this.clearData(),this.pickingNodeGroup=null,this.manager=null},of.prototype.clearData=function(){this.clearAllFromPickingNodeGroup(),this.clearAllFromPickingNodeMap()},of.prototype.addToPickingNodeMap=function(A,e){this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[A]=e,this.addToPickingNodeGroup(e)},of.prototype.removeFromPickingNodeMap=function(A){this.pickingNodeMap&&this.pickingNodeMap[A]&&(this.removeFormPickingNodeGroup(A),this.disposePickingNodeById(A),delete this.pickingNodeMap[A])},of.prototype.addToPickingNodeGroup=function(A){this.pickingNodeGroup||(this.pickingNodeGroup=new Xi,this.pickingNodeGroup.name=this.nodeGroupName);for(var e=0,t=A.length;t>e;e+=1)this.pickingNodeGroup.add(A[e])},of.prototype.removeFormPickingNodeGroup=function(A){if(this.pickingNodeGroup)for(var e=this.pickingNodeMap[A],t=0,i=e.length;i>t;t+=1)this.pickingNodeGroup.remove(e[t])},of.prototype.disposePickingNodeById=function(A){for(var e=this.pickingNodeMap[A],t=0,i=e.length;i>t;t+=1)e[t].material=null,e[t].geometry.dispose(),e[t]=null},of.prototype.clearAllFromPickingNodeMap=function(){if(this.pickingNodeMap){for(var A=Object.keys(this.pickingNodeMap),e=0,t=A.length;t>e;e+=1)this.disposePickingNodeById(A[e]);this.pickingNodeMap=null}},of.prototype.clearAllFromPickingNodeGroup=function(){this.pickingNodeGroup&&(this.pickingNodeGroup.children.length=0)},of.prototype.isPickingMeshesGenerated=function(){return!!this.pickingNodeMap},of.prototype.generatePickingMeshes=function(){},of.prototype.updatePickingMeshesState=function(A,e,t){},of.prototype.resetPickingMeshesState=function(){},of.prototype.updatePickingMeshes=function(A,e,t){return this.isPickingMeshesGenerated()||(this.generatePickingMeshes(),this.isPickingMeshesGenerated())?(this.resetPickingMeshesState(),this.updatePickingMeshesState(A,e,t),this.getPickingNodeGroup()):null},of.prototype.getPickingNodeGroup=function(){return this.pickingNodeGroup};var nf=function(A){of.call(this,A),this.nodeGroupName="PickingBatchedMeshGroup"};Object.assign(nf.prototype,of.prototype),eu(nf,[{key:"disposePickingNodeById",value:function(A){for(var e=this.pickingNodeMap[A],t=0,i=e.length;i>t;t+=1)e[t]._indicesGroup=null,e[t].material=null,e[t].geometry.dispose(),e[t]=null}},{key:"generatePickingMeshes",value:function(){for(var A=this.manager,e=Object.keys(A.mapMaterialIdToMergedNode),t=0,i=e.length;i>t;t+=1){for(var o=e[t],n=A.getPropertyValueByMaterialKey(o),r=A.mapMaterialIdToMergedNode[o],a=[],s=0,l=r.length;l>s;s+=1){var c=r[s],h=c.geometry,d=c.indices,p=c.mesh,g=new he;g.setAttribute("position",h.getAttribute("position")),g.setIndex(h.getIndex());var u=new("lines"===n.type?jo:Ue)(g,Kd.DefaultMaterial);p.matrixWorld.decompose(u.position,u.quaternion,u.scale),u.name=o,u.frustumCulled=!1,u.renderOrder=0,u._indicesGroup=d,a.push(u)}this.addToPickingNodeMap(o,a)}}},{key:"_rebuildGeometryGroup",value:function(A,e,t){var i,o=this.manager.manager,n=0,r=0,a=0,s=A._indicesGroup,l=Object.keys(s),c=[],h={};e.length>l.length?(c=l,h=t):(c=e,h=s);var d=[];for(a=0,i=c.length;i>a;a+=1){var p=c[a];if(o.isPickableNode(p)&&h[p]){var g=s[p];if(g&&g.length>0)for(n=0,r=g.length;r>n;n+=1)d.push({indexStart:g[n].indexStart,indexCount:g[n].indexCount})}}A.visible=!0;var u=A.geometry;if(u.clearGroups(),0!==d.length)for(d.sort((function(A,e){return A.indexStart-e.indexStart})),n=0,r=d.length;r>n;n+=1){var f=d[n].indexStart,m=d[n].indexCount;if(0===n)u.addGroup(f,m,0);else f===d[n-1].indexStart+d[n-1].indexCount?u.groups[u.groups.length-1].count+=m:u.addGroup(f,m,0)}else A.visible=!1}},{key:"updatePickingMeshesState",value:function(A,e,t){for(var i=this.pickingNodeMap,o=Object.keys(i),n=0,r=o.length;r>n;n+=1)for(var a=i[o[n]],s=0,l=a.length;l>s;s+=1)a[s].material=[A],a[s].visible=!1,this._rebuildGeometryGroup(a[s],e,t)}}]);var rf=new aA,af=new M,sf=new CA,lf=new cA,cf=function(){jo.call(this),this.type="LineSegmentsEx"};cf.prototype.init=function(A){},cf.prototype.destroy=function(){},cf.prototype.intersectBoxWithDistance=function(A,e){var t=this.geometry,i=this.matrixWorld;return e&&(i=this.matrixWorld.clone()).multiplyMatrices(this.matrixWorld,e),t.boundingBox||t.computeBoundingBox(),rf.copy(t.boundingBox),rf.applyMatrix4(i),A.ray.intersectBoxWithDistance(rf)},cf.prototype.intersectBoxWithDistanceByIndices=function(A,e){var t=this.geometry.attributes.position.array,i=0,o=t.length;e&&e.indexCount>0&&(i=e.positionStart,o=e.positionStart+e.positionCount);var n=uh.box3FromArrayRange(t,i,o);return n.applyMatrix4(this.matrixWorld),A.ray.intersectBoxWithDistance(n)},cf.prototype.raycastByIndices=function(A,e,t,i){var o=A.linePrecision;A.linePrecision=vc.LineSelectRange||5;var n=A.linePrecision,r=n*n,a=null;i?(a=this.matrixWorld.clone()).multiplyMatrices(this.matrixWorld,i):a=this.matrixWorld;var s=this.geometry;if(null===s.boundingSphere&&s.computeBoundingSphere(),lf.copy(s.boundingSphere),lf.applyMatrix4(a),!1!==A.ray.intersectsSphere(lf)){af.getInverse(a),sf.copy(A.ray).applyMatrix4(af);var l=new y,c=new y,h=new y,d=new y,p=s.attributes.position.array,g=s.index.array,u=0,f=g.length;t&&t.indexCount>0&&(u=t.indexStart,f=t.indexStart+t.indexCount);for(var m=u;f-1>m;m+=2){var C=g[m+1];if(l.fromArray(p,3*g[m]),c.fromArray(p,3*C),r>=sf.distanceSqToSegment(l,c,d,h)){d.applyMatrix4(a);var v=A.ray.origin.distanceTo(d);A.near>v||v>A.far||e.push({distance:v,point:h.clone().applyMatrix4(a),index:m,face:null,faceIndex:null,object:this})}}A.linePrecision=o}};var hf=new M,df=new CA,pf=new cA,gf=new y,uf=new y,ff=new y,mf=new y,Cf=new y,yf=new y,vf=new y,If=new y,Ef=new y,Bf=new s,xf=new s,Sf=new s,wf=new y,Mf=new y;function bf(A,e,t,i,o,n,r,a){if(null===(Array.isArray(e)?i.intersectTriangle(o,n,r,!1,a):1===e.side?i.intersectTriangle(r,n,o,!0,a):i.intersectTriangle(o,n,r,2!==e.side,a)))return null;Mf.copy(a),Mf.applyMatrix4(A.matrixWorld);var s=t.ray.origin.distanceTo(Mf);return t.near>s||s>t.far?null:{distance:s,point:Mf.clone(),object:A}}function Uf(A,e,t,i,o,n,r,a,l,c,h,d){gf.fromBufferAttribute(o,c),uf.fromBufferAttribute(o,h),ff.fromBufferAttribute(o,d);var p=A.morphTargetInfluences;if(e.morphTargets&&n&&p){vf.set(0,0,0),If.set(0,0,0),Ef.set(0,0,0);for(var g=0,u=n.length;u>g;g+=1){var f=p[g],m=n[g];0!==f&&(mf.fromBufferAttribute(m,c),Cf.fromBufferAttribute(m,h),yf.fromBufferAttribute(m,d),r?(vf.addScaledVector(mf,f),If.addScaledVector(Cf,f),Ef.addScaledVector(yf,f)):(vf.addScaledVector(mf.sub(gf),f),If.addScaledVector(Cf.sub(uf),f),Ef.addScaledVector(yf.sub(ff),f)))}gf.add(vf),uf.add(If),ff.add(Ef)}var C=bf(A,e,t,i,gf,uf,ff,wf);if(C){a&&(Bf.fromBufferAttribute(a,c),xf.fromBufferAttribute(a,h),Sf.fromBufferAttribute(a,d),C.uv=RA.getUV(wf,gf,uf,ff,Bf,xf,Sf,new s)),l&&(Bf.fromBufferAttribute(l,c),xf.fromBufferAttribute(l,h),Sf.fromBufferAttribute(l,d),C.uv2=RA.getUV(wf,gf,uf,ff,Bf,xf,Sf,new s));var y=new GA(c,h,d);RA.getNormal(gf,uf,ff,y.normal),C.face=y}return C}var Ff,Kf=function(A,e){Ue.call(this),this.type="MeshEx",this.matrixAutoUpdate=!1,this.active=!1,this.guid="",this.key="",this.typeEx="",this.geometry=A||Tu.EmptyGeometry,this.material=e||Kd.DefaultMaterial,this.visible=!1,this.pickable=!0};(Kf.prototype=Object.create(Ue.prototype)).constructor=Kf,Kf.prototype.init=function(A){A&&A.parent&&A.parent.add(this)},Kf.prototype.destroy=function(){this.parent&&this.parent.remove(this),this.userData&&(this.userData=null),this.geometry=null,this.material=null},Kf.prototype.isVisible=function(){return this.visible&&this.active},Kf.prototype.spawn=function(A){void 0!==A.guid&&(this.guid=A.guid),void 0!==A.key&&(this.key=A.key),void 0!==A.name&&(this.name=A.name),void 0!==A.typeEx&&(this.typeEx=A.typeEx),A.geometry&&(this.geometry=A.geometry),A.material&&(this.material=A.material),A.matrix?(this.matrix.copy(A.matrix),this.updateMatrixWorld(!0)):(this.matrix.identity(),this.updateMatrixWorld(!0)),this.modelKey=A.modelKey?A.modelKey:"",A.userData?this.userData=A.userData:this.userData&&(this.userData=null),void 0!==A.visible&&(this.visible=A.visible),void 0!==A.isMesh&&(this.isMesh=A.isMesh),void 0!==A.isLine&&(this.isLine=A.isLine),void 0!==A.isLineSegments&&(this.isLineSegments=A.isLineSegments),this.pickable=void 0===A.pickable||A.pickable,this.renderOrder=A.renderOrder||0,this.active=!0,this.visible=!0,this.frustumCulled=!1,this.matChange=!1},Kf.prototype.clear=function(){this.geometry=Tu.EmptyGeometry,this.material=Kd.DefaultMaterial,this.active=!1,this.visible=!0,this.guid="",this.key="",this.typeEx="",this.frustumCulled=!0,this.material.visible=!1},Kf.prototype.intersectBoxWithDistance=(Ff=new aA,function(A,e){var t=this.geometry,i=this.material,o=this.matrixWorld;return e&&(o=new M).multiplyMatrices(this.matrixWorld,e),void 0===i?-1:(t.boundingBox||t.computeBoundingBox(),Ff.copy(t.boundingBox),Ff.applyMatrix4(o),A.ray.intersectBoxWithDistance(Ff))}),Kf.prototype.intersectBoxWithDistanceByIndices=function(A,e){var t=this.matrixWorld,i=this.computeBoundingBox(e);return i.applyMatrix4(t),A.ray.intersectBoxWithDistance(i)},Kf.prototype.intersectBoxWithClipPlane=function(A,e){var t=this.matrixWorld,i=this.computeBoundingBox(e);return i.applyMatrix4(t),i.intersectsPlane(A)},Kf.prototype.getIntersectionPoints=function(A,e,t,i){var o=new M;o.getInverse(this.matrixWorld);var n=A.clone();n.constant*=-1,n=n.applyMatrix4(o);function r(A,e){var i=e.intersectLine(A);i&&t.push(i.x,i.y,i.z)}for(var a,s,l,c=this.geometry.getIndex().array,h=this.geometry.getAttribute("position").array,d=i?0:e.indexStart,p=i?c.length:e.indexStart+e.indexCount,g=new y,u=new y,f=new y,m=new Hs,C=new Hs,v=new Hs,I=d,E=p;E>I;I+=3)s=3*c[I+1],l=3*c[I+2],g.set(h[a=3*c[I]],h[a+1],h[a+2]),u.set(h[s],h[s+1],h[s+2]),f.set(h[l],h[l+1],h[l+2]),i&&(g.applyMatrix4(e.matrix),u.applyMatrix4(e.matrix),f.applyMatrix4(e.matrix)),m.set(g,u),C.set(u,f),v.set(f,g),r(m,n),r(C,n),r(v,n)},Kf.prototype.raycastByIndices=function(){var A=new M,e=new CA,t=new cA,i=new y,o=new y,n=new y,r=new s,a=new s,l=new s,c=new y,h=new y,d=new y,p=new M;function g(A,e,t,s,g,u,f,m){i.fromBufferAttribute(s,u),o.fromBufferAttribute(s,f),n.fromBufferAttribute(s,m);var C=function(A,e,t,i,o,n,r){var a=A.material;if(null===(Array.isArray(a)?t.intersectTriangle(i,o,n,!1,r):1===a.side?t.intersectTriangle(n,o,i,!0,r):t.intersectTriangle(i,o,n,2!==a.side,r)))return null;d.copy(r),d.applyMatrix4(p);var s=e.ray.origin.distanceTo(d);return e.near>s||s>e.far?null:{distance:s,point:d.clone(),object:A}}(A,e,t,i,o,n,h);if(C){if(g&&g.array&&g.array.length&&(r.fromBufferAttribute(g,u),a.fromBufferAttribute(g,f),l.fromBufferAttribute(g,m),C.uv=function(A,e,t,i,o,n,r){return RA.getBarycoord(A,e,t,i,c),o.multiplyScalar(c.x),n.multiplyScalar(c.y),r.multiplyScalar(c.z),o.add(n).add(r),o.clone()}(h,i,o,n,r,a,l)),s.instanceMatrix){var v=i.clone().applyMatrix4(s.instanceMatrix),I=o.clone().applyMatrix4(s.instanceMatrix),E=n.clone().applyMatrix4(s.instanceMatrix);C.face=new GA(u,f,m,RA.getNormal(v,I,E,new y))}else C.face=new GA(u,f,m,RA.getNormal(i,o,n,new y));C.faceIndex=u}return C}return function(i,o,n,r){var a=this.geometry,s=this.material;if(r){a=this.geometry,s=this.material;if((p=new M).multiplyMatrices(this.matrixWorld,r),void 0===s)return;if(null===a.boundingSphere&&a.computeBoundingSphere(),t.copy(a.boundingSphere),t.applyMatrix4(p),!1===i.ray.intersectsSphere(t))return;if(A.getInverse(p),e.copy(i.ray).applyMatrix4(A),null!==a.boundingBox&&!1===e.intersectsBox(a.boundingBox))return;var l=null,c=null,h=null,d=null,u=a.index;(I=a.attributes.position).instanceMatrix=r;var f=a.attributes.uv,m=null,C=null;if(null!==u)for(m=0,C=u.count;C>m;m+=3)c=u.getX(m),h=u.getX(m+1),d=u.getX(m+2),(l=g(this,i,e,I,f,c,h,d))&&(l.faceIndex=Math.floor(m/3),o.push(l));else for(m=0,C=I.count;C>m;m+=3)(l=g(this,i,e,I,f,c=m,h=m+1,d=m+2))&&(l.index=c,o.push(l))}else{if(p=this.matrixWorld,void 0===s)return;if(t.copy(this.computeBoundingSphere(n)),t.applyMatrix4(p),!1===i.ray.intersectsSphere(t))return;A.getInverse(p),e.copy(i.ray).applyMatrix4(A);var y=this.computeBoundingBox(n);if(!1===e.intersectsBox(y))return;l=null,c=null,h=null,d=null;var v,I=a.attributes.position,E=(f=a.attributes.uv,m=null,n.indexStart),B=n.indexStart+n.indexCount,x=a.getIndex().array;for(m=E,v=B;v>m;m+=3)(l=g(this,i,e,I,f,c=x[m],h=x[m+1],d=x[m+2]))&&(l.faceIndex=Math.floor(m/3),o.push(l))}}}(),Kf.prototype.raycastByIndices2=function(){var A=new M,e=new CA,t=new cA,i=new y,o=new y,n=new y,r=new s,a=new s,l=new s,c=new y,h=new y,d=new y,p=new M;function g(A,e,t,s,g,u,f,m){i.fromBufferAttribute(s,u),o.fromBufferAttribute(s,f),n.fromBufferAttribute(s,m);var C=function(A,e,t,i,o,n,r){var a=A.material;if(null===(a instanceof Array?t.intersectTriangle(i,o,n,!1,r):1===a.side?t.intersectTriangle(n,o,i,!0,r):t.intersectTriangle(i,o,n,2!==a.side,r)))return null;d.copy(r),d.applyMatrix4(p);var s=e.ray.origin.distanceTo(d);return e.near>s||s>e.far?null:{distance:s,point:d.clone(),object:A}}(A,e,t,i,o,n,h);if(C){if(g&&g.array&&g.array.length&&(r.fromBufferAttribute(g,u),a.fromBufferAttribute(g,f),l.fromBufferAttribute(g,m),C.uv=function(A,e,t,i,o,n,r){return RA.barycoordFromPoint(A,e,t,i,c),o.multiplyScalar(c.x),n.multiplyScalar(c.y),r.multiplyScalar(c.z),o.add(n).add(r),o.clone()}(h,i,o,n,r,a,l)),s.instanceMatrix){var y=i.clone().applyMatrix4(s.instanceMatrix),v=o.clone().applyMatrix4(s.instanceMatrix),I=n.clone().applyMatrix4(s.instanceMatrix);C.face=new GA(u,f,m,RA.normal(y,v,I))}else C.face=new GA(u,f,m,RA.normal(i,o,n));C.faceIndex=u}return C}return function(i,o,n,r){var a=this.geometry,s=this.material;if(r=!!r,n.isInstanced){if(void 0===n.matrix)return;if(p.multiplyMatrices(this.matrixWorld,n.matrix),void 0===s)return;if(r&&(null===a.boundingSphere&&a.computeBoundingSphere(),t.copy(a.boundingSphere),t.applyMatrix4(p),!1===i.ray.intersectsSphere(t)))return;if(A.getInverse(p),e.copy(i.ray).applyMatrix4(A),r&&null!==a.boundingBox&&!1===e.intersectsBox(a.boundingBox))return;var l=a.index;(I=a.attributes.position).instanceMatrix=n.matrix;var c,h=a.attributes.uv;if(null!==l)for(y=0,c=l.count;c>y;y+=3)f=l.getX(y),m=l.getX(y+1),C=l.getX(y+2),(u=g(this,i,e,I,h,f,m,C))&&(u.faceIndex=Math.floor(y/3),o.push(u));else for(y=0,c=I.count;c>y;y+=3)(u=g(this,i,e,I,h,f=y,m=y+1,C=y+2))&&(u.index=f,o.push(u))}else if(n.matrix?p.multiplyMatrices(this.matrixWorld,n.matrix):p=this.matrixWorld,void 0!==s&&(!r||(t.copy(this.computeBoundingSphere(n)),t.applyMatrix4(p),!1!==i.ray.intersectsSphere(t)))){if(A.getInverse(p),e.copy(i.ray).applyMatrix4(A),r){var d=this.computeBoundingBox(n);if(!1===e.intersectsBox(d))return}var u,f,m,C,y,v,I=a.attributes.position,E=(h=a.attributes.uv,n.indexStart),B=n.indexStart+n.indexCount,x=a.getIndex().array;for(y=E,v=B;v>y;y+=3)(u=g(this,i,e,I,h,f=x[y],m=x[y+1],C=x[y+2]))&&(u.faceIndex=Math.floor(y/3),o.push(u))}}}(),Kf.prototype.computeBoundingBox=function(A){var e=new aA,t=this.geometry.attributes.position.array,i=null,o=null;return A?(i=A.positionStart,o=A.positionStart+A.positionCount):(i=0,o=t.length),this.setBoundingBoxFromArray(e,t,i,o),e},Kf.prototype.computeBoundingSphere=function(A){var e=new aA,t=new y,i=this.geometry.attributes.position.array,o=null,n=null;A?(o=A.positionStart,n=A.positionStart+A.positionCount):(o=0,n=i.length);var r=new cA,a=r.center;this.setBoundingBoxFromArray(e,i,o,n),e.getCenter(a);for(var s=0,l=o,c=n;c>l;l+=3)t.x=i[l],t.y=i[l+1],t.z=i[l+2],s=Math.max(s,a.distanceToSquared(t));return r.radius=Math.sqrt(s),r},Kf.prototype.setBoundingBoxFromArray=function(A,e,t,i){for(var o=Number(1/0),n=Number(1/0),r=Number(1/0),a=-1/0,s=-1/0,l=-1/0,c=t,h=i;h>c;c+=3){var d=e[c],p=e[c+1],g=e[c+2];o>d&&(o=d),n>p&&(n=p),r>g&&(r=g),d>a&&(a=d),p>s&&(s=p),g>l&&(l=g)}A.min.set(o,n,r),A.max.set(a,s,l)},Kf.prototype.raycast=function(A,e){var t=this.geometry,i=this.material,o=this.matrixWorld;if(void 0!==i&&(null===t.boundingSphere&&t.computeBoundingSphere(),pf.copy(t.boundingSphere),pf.applyMatrix4(o),!1!==A.ray.intersectsSphere(pf)&&(hf.getInverse(o),df.copy(A.ray).applyMatrix4(hf),null===t.boundingBox||!1!==df.intersectsBox(t.boundingBox)))){var n=null;if(t.isBufferGeometry){var r=null,a=null,l=null,c=t.index,h=t.attributes.position,d=t.morphAttributes.position,p=t.morphTargetsRelative,g=t.attributes.uv,u=t.attributes.uv2,f=t.groups,m=t.drawRange,C=null,y=null,v=null,I=null,E=null,B=null;if(null!==c)if(Array.isArray(i)){for(C=0,v=f.length;v>C;C+=1)if(B=i[(E=f[C]).materialIndex])for(y=Math.max(E.start,m.start),I=Math.min(E.start+E.count,m.start+m.count);I>y;y+=3)r=c.getX(y),a=c.getX(y+1),l=c.getX(y+2),(n=Uf(this,B,A,df,h,d,p,g,u,r,a,l))&&(n.faceIndex=Math.floor(y/3),n.face.materialIndex=E.materialIndex,e.push(n))}else for(C=Math.max(0,m.start),v=Math.min(c.count,m.start+m.count);v>C;C+=3)r=c.getX(C),a=c.getX(C+1),l=c.getX(C+2),(n=Uf(this,i,A,df,h,d,p,g,u,r,a,l))&&(n.faceIndex=Math.floor(C/3),e.push(n));else if(void 0!==h)if(Array.isArray(i)){for(C=0,v=f.length;v>C;C+=1)if(B=i[(E=f[C]).materialIndex])for(y=Math.max(E.start,m.start),I=Math.min(E.start+E.count,m.start+m.count);I>y;y+=3)(n=Uf(this,B,A,df,h,d,p,g,u,r=y,a=y+1,l=y+2))&&(n.faceIndex=Math.floor(y/3),n.face.materialIndex=E.materialIndex,e.push(n))}else for(C=Math.max(0,m.start),v=Math.min(h.count,m.start+m.count);v>C;C+=3)(n=Uf(this,i,A,df,h,d,p,g,u,r=C,a=C+1,l=C+2))&&(n.faceIndex=Math.floor(C/3),e.push(n))}else if(t.isGeometry){var x=null,S=null,w=null,M=Array.isArray(i),b=t.vertices,U=t.faces,F=null,K=t.faceVertexUvs[0];K.length>0&&(F=K);for(var Q=0,R=U.length;R>Q;Q+=1){var T=U[Q],k=M?i[T.materialIndex]:i;if(void 0!==k&&(n=bf(this,k,A,df,x=b[T.a],S=b[T.b],w=b[T.c],wf))){if(F&&F[Q]){var D=F[Q];Bf.copy(D[0]),xf.copy(D[1]),Sf.copy(D[2]),n.uv=RA.getUV(wf,x,S,w,Bf,xf,Sf,new s)}n.face=T,n.faceIndex=Q,e.push(n)}}}}};var Qf=function(A,e){this.model=e,this.loader=A,this.mapNodeInfoByCategory={},this.mapNodeInfoByUserId={},this.mapNodeInfoByComponentId={},this.referencedMeshCache={},this.nodeInfosOnGeometryId=null,this.componentCount=0,this.meshCache={},this.allBones={}};Qf.EnumNodeItemType={SYMBOL:0,MESH:1,TUBE:2,PIPE:3,BOX:4,BOX_M:5,PIPE_M:6,MESH_REF:7,LINE:8},Qf.NodeInfoCategory={INSTANCED:0,STANDARD:1},Qf.EnumDataType={NONE:0,MERGE_DATA:1,LAYER:2,LAYER_SCENE:3,ANIMATION:4},Qf.EnumKeyframeTrackType={position:"position",scale:"scale",quaternion:"quaternion",weights:"weights"},Qf.prototype.destroy=function(){this.mapNodeInfoByCategory=null,this.mapNodeInfoByUserId=null,this.mapNodeInfoByComponentId=null,this.referencedMeshCache=null,this.nodeInfosOnGeometryId=null},Qf.prototype.clearReferencedMeshCache=function(){if(!vc.DEBUG){for(var A in this.referencedMeshCache)delete this.referencedMeshCache[A];this.referencedMeshCache=null}},Qf.prototype.cacheReferencedMeshBufferData=function(A,e){this.referencedMeshCache.geometries||(this.referencedMeshCache.geometries={}),this.referencedMeshCache.geometries[A]=e},Qf.prototype.cacheReferencedMeshBoneBufferData=function(A,e){this.referencedMeshCache.bones||(this.referencedMeshCache.bones={}),this.referencedMeshCache.bones[A]=e},Qf.prototype.cacheReferencedMeshClipsData=function(A){this.referencedMeshCache.clips=A},Qf.prototype.cacheReferencedMeshNodesData=function(A){this.referencedMeshCache.nodes=A},Qf.prototype.cacheReferencedMeshComponentData=function(A,e){this.referencedMeshCache.components||(this.referencedMeshCache.components={}),this.referencedMeshCache.components[A]=e},Qf.prototype.cacheReferencedMeshMaterialData=function(A,e){this.referencedMeshCache.materials||(this.referencedMeshCache.materials={}),this.referencedMeshCache.materials[A]=e},Qf.prototype.getReferencedMeshBufferData=function(){return this.referencedMeshCache.geometries},Qf.prototype.getReferencedMeshBufferById=function(A){return this.referencedMeshCache.geometries?this.referencedMeshCache.geometries[A]:null},Qf.prototype.cacheReferencedMeshMpkIds=function(A,e){this.referencedMeshCache.mpkIds||(this.referencedMeshCache.mpkIds={}),this.referencedMeshCache.mpkIds[A]||(this.referencedMeshCache.mpkIds[A]=[]),this.referencedMeshCache.mpkIds[A].push(e)},Qf.prototype.clearReferencedMeshCacheByMpkIdxs=function(A,e){if(this.referencedMeshCache.mpkIds)for(var t=0,i=A.length;i>t;t+=1){var o=A[t],n=this.referencedMeshCache.mpkIds[o];if(n){for(var r=0,a=n.length;a>r;r+=1)e&&e(n[r]),delete this.referencedMeshCache[n[r]];delete this.referencedMeshCache.mpkIds[o]}}},Qf.prototype.parseItemData=function(A,e){(op(A.dataVersion,"1.0")||void 0===A.dataVersion)&&(Bh.time("升级几何结构"),this._updateV1ToV2(A),A.dataVersion="2.0",Bh.timeEnd("升级几何结构")),this._readMaterialBuffer222(A),A.hasAnimation&&vc.EnableAnimation?(this._parseClips(),this._parseBones()):(this._parseGeo(),this._parseInstanced());var t=this.loader.getSceneReaderArray();if(!t)return Bh.log("Empty scene"),!1;var i=this.referencedMeshCache;if(Bh.time("_readItemData"),!i.geometries||0>=Object.keys(i.geometries).length)return!0;if(e)for(var o=0,n=e.length;n>o;o+=1)i.components[e[o]]&&this._readItemData(t,e[o],e[o],void 0,0);else for(var r in i.components)this._readItemData(t,r,r,void 0,0);return A.hasAnimation&&vc.EnableAnimation&&this._parseNodes(),Bh.timeEnd("_readItemData"),t=null,!0},Qf.prototype._readItemData=function(A,e,t){var i=this.referencedMeshCache.components[e];void 0!==i&&-1!==i.geoId&&(this.model.merged?this._readMeshInfo(A,t,i,null):this._readMeshInfo2(A,t,i,null))},Qf.prototype._readSymbolInfo=function(A,e,t){var i=this.loader.getSymbolReader();if(i){var o=i.header.symbolCount,n=t.toData,r=A.getMatrixInfo(t.matrixId).matrix.clone(),a={matrix:r,ItemId:t.ItemId,originalId:t.originalId,userDataId:t.userDataId,materialId:t.materialId};if(n>=0&&o>n)for(var s=i.getSymbolInfo(n),l=s.itemIndex;s.itemCount>l;l+=1){var c=i.getItemInfo(l);c.type!==Qf.EnumNodeItemType.SYMBOL&&this._readMeshInfo(i,e,c,a)}r=null,a=null,i=null}},Qf.prototype._readMeshInfo=function(A,e,t,i){var o=this.loader,n=this.model.materialManager.materials,r=null,a=null,s=null;if(null===i?(r=t.userDataId,a=t.originalId,s=t.materialId||t.matId):(r=i.userDataId,a=i.originalId,s=i.materialId>-1?i.materialId:t.materialId),t.materials||(t.materials=[]),t.materials.length>0)for(var l=0;t.materials.length>l;l+=1){var c=null;if(c=this._getMeshNodeAttr(A,t,t.materials.length>1,l),!n[s=t.materials[l]]){var h=_u[t.type]?_u[t.type].color:void 0;h||(Bh.log("Material not found for type: ",t.type),h=_u.DEFAULT.color),h||(Bh.log("Default material not found for type: ",t.type),h=[1,1,1,1]);var d=new LA(h[0],h[1],h[2]),p=s||d.getHexString()+"_"+h[3],g=n[p];g||(Bh.warn("缺少材质 "+s),g=new xr({color:d}),1>h[3]&&(g.transparent=!0,g.opacity=h[3]),g.side=2,n[p]=g)}if(n[s].aoMap){var u=this.getReferencedMeshBufferById(c.geometryId);u&&(u.uv2=u.uv)}if(!c)return;var f=o.getUserDataReader(),m=f?f.getUserData(r):null,C=t.key;c.type=t.type,c.userId=C,c.name=t.name,c.userDataId=r,c.originalId=a,c.materialId=s,c.originMId=s,c.userData=m,c.categoryId=0,c.componentId=C,c.familyName=t.familyName,c.familySymbol=t.familySymbol,c.instanceOrNot=!(!vc.Instance||!this.instancedComponent[C]),c.state=Lc.Visible,c.material=null,this._classifyNodeInfo(c),c=null}else{var y=null,v=_u[t.type]?_u[t.type].color:void 0;v||(Bh.log("Material not found for type: ",t.type),v=_u.DEFAULT.color),v||(Bh.log("Default material not found for type: ",t.type),v=[1,1,1,1]);var I=new LA(v[0],v[1],v[2]),E=I.getHexString()+"_"+v[3],B=n[E];if(B||(B=new xr({color:I}),1>v[3]&&(B.transparent=!0,B.opacity=v[3]),B.side=2,n[E]=B),t.materials.push(E),y=this._getMeshNodeAttr(A,t,!1,0),s=t.materials[0],!y)return;var x=t.key;y.type=t.type,y.userId=x,y.name=t.name,y.originalId=a,y.materialId=s,y.originMId=s,y.userData={},y.categoryId=0,y.componentId=x,y.familyName=t.familyName,y.familySymbol=t.familySymbol,y.instanceOrNot=!(!vc.Instance||!this.instancedComponent[x]),y.state=Lc.Visible,y.material=null,this._classifyNodeInfo(y),y=null}},Qf.prototype._readMeshInfo2=function(A,e,t,i){var o=this.loader,n=null,r=null,a=null;null===i?(n=t.userDataId,r=t.originalId,a=t.materials||t.matId):(n=i.userDataId,r=i.originalId,a=i.materialId>-1?i.materialId:t.materialId);var s=null;if(s=this._getMeshNodeAttr(A,t,!1)){var l=o.getUserDataReader(),c=l?l.getUserData(n):null,h=t.key;s.type=t.type,s.userId=h,s.name=t.name,s.originalId=r,s.materialId=a,s.originMId=a,s.userData=c,s.categoryId=0,s.componentId=h,s.familyName=t.familyName,s.familySymbol=t.familySymbol,s.state=Lc.Visible,s.material=null,this._classifyNodeInfo(s),s=null}},Qf.prototype._getMeshNodeAttrOfPipe=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone(),o=uh.TemporaryMatrix;o.copy(i);var n=A.getGeomPipeInfo(e.toData),r=n.startPt,a=n.endPt,s=new y;s.subVectors(a,r);var l=s.length();s.normalize();var c=n.radius;c>1||(c=100);var h=new y(0,1,0),d=new y(c,l,c),p=(new f).setFromUnitVectors(h,s),g=r.clone().addScaledVector(s,.5*l),u=(new M).compose(g,p,d);return i.multiply(u),t&&(i.multiplyMatrices(t.matrix,i),o.multiplyMatrices(t.matrix,o)),n=null,{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_pipe",geometryId:"pipe",boundingBox:e.boundingBox.clone().applyMatrix4(o),matrix:i,finalState:!0}},Qf.prototype._getMeshNodeAttrOfTube=function(A,e,t){var i=this._getMeshNodeAttrOfPipe(A,e,t);return i.nodeId+="_tube",i.geometryId="tube",i},Qf.prototype._getMeshNodeAttrOfBox=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone(),o=uh.TemporaryMatrix;o.copy(i);var n=e.boundingBox,r=n.getSize(),a=n.getCenter(),s=(new M).scale(new y(r.x,r.y,r.z));return s.setPosition(a),i.multiply(s),t&&(i.multiplyMatrices(t.matrix,i),o.multiplyMatrices(t.matrix,o)),{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_box",geometryId:"box",boundingBox:e.boundingBox.clone().applyMatrix4(o),matrix:i,finalState:!0}},Qf.prototype._getMeshNodeAttrOfBoxM=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone();return t&&i.multiplyMatrices(t.matrix,i),{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_boxM",geometryId:"boxM",boundingBox:e.boundingBox.clone().applyMatrix4(i),matrix:i,uvArrayBuffer:A.getGeomBoxUvInfo(e.toData),finalState:!0}},Qf.prototype._getMeshNodeAttrOfPipeM=function(A,e,t){var i=A.getMatrixInfo(e.matrixId).matrix.clone();return t&&i.multiplyMatrices(t.matrix,i),{nodeId:(t?t.ItemId+"_"+e.ItemId:e.ItemId)+"_pipeM",geometryId:"pipeM",boundingBox:e.boundingBox.clone().applyMatrix4(i),matrix:i,uvArrayBuffer:A.getGeomPipeUvInfo(e.toData),finalState:!0}},Qf.prototype._getMeshNodeAttrOfMeshRef=function(A,e,t){return{nodeId:"refMesh|"+(t?t.ItemId+"_"+e.ItemId:e.ItemId),geometryId:e.toData,boundingBox:e.boundingBox.clone(),matrix:A.getMatrixInfo(e.matrixId).matrix.clone(),matrixParent:t?t.matrix:null,finalState:!1,transformed:!1,shared:!0}},Qf.prototype._getMeshNodeAttr=function(A,e,t,i){var o=new M;o.fromArray(e.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);var n=t?e.key+"_"+i:e.key,r=t?e.geoId+"_"+i:e.geoId;if(-1!==r){var a=new aA,s=this.getReferencedMeshBufferById(e.geoId);return s&&s.position?(a=Tu.getBoundingBoxByBuffer(s.position)).applyMatrix4(o):Bh.warn("no position "),{nodeId:n,guid:e.guid,geometryId:r,originalGeometryId:e.geoId,matrix:o,boundingBox:a,model:this.model}}},Qf.prototype._getLineNodeAttr=function(A,e,t){var i=null,o=null;return-1!==e.matrixId?(o=!1,i=A.getMatrixInfo(e.matrixId).matrix.clone()):(o=!0,i=new M),{nodeId:t?"line-"+t.ItemId+"-"+e.ItemId:"line-"+e.ItemId,geometryId:"line-"+e.toData,boundingBox:e.boundingBox.clone(),matrix:i,matrixParent:t?t.matrix:null,finalState:!1,transformed:o}},Qf.prototype._classifyNodeInfo=function(A){this._cacheNodeInfoByComponentId(A),this._cacheNodeInfoByUserId(A),this._cacheNodeInfoByCategory(A)},Qf.prototype._cacheNodeInfoByComponentId=function(A){void 0===this.mapNodeInfoByComponentId[A.componentId]&&(this.mapNodeInfoByComponentId[A.componentId]=[]),this.mapNodeInfoByComponentId[A.componentId].push(A)},Qf.prototype._clearNodeInfoCacheWithComponentId=function(A){if(A)for(var e=0,t=A.length;t>e;e+=1)delete this.mapNodeInfoByComponentId[A[e]];else this.mapNodeInfoByComponentId={}},Qf.prototype._clearNodeInfoCacheWithUserId=function(A){if(A)for(var e=0,t=A.length;t>e;e+=1)delete this.mapNodeInfoByUserId[A[e]];else this.mapNodeInfoByUserId={}},Qf.prototype._clearNodeInfoCacheWithCategory=function(A){if(A)for(var e=this.mapNodeInfoByCategory[Qf.NodeInfoCategory.INSTANCED],t=this.mapNodeInfoByCategory[Qf.NodeInfoCategory.STANDARD],i=0,o=A.length;o>i;i+=1)e&&delete e[A[i]],t&&delete t[A[i]];else this.mapNodeInfoByCategory={}},Qf.prototype.clearNodeInfoCache=function(){this._clearNodeInfoCacheWithComponentId(),this._clearNodeInfoCacheWithUserId(),this._clearNodeInfoCacheWithCategory()},Qf.prototype.clearNodeInfoCacheByComponentsKey=function(A){this._clearNodeInfoCacheWithComponentId(A),this._clearNodeInfoCacheWithUserId(A),this._clearNodeInfoCacheWithCategory(A)},Qf.prototype.getNodeInfosWithComponentId=function(){return this.mapNodeInfoByComponentId},Qf.prototype.getNodeInfosByComponentId=function(A){return this.mapNodeInfoByComponentId[A]},Qf.prototype._cacheNodeInfoByUserId=function(A){void 0===this.mapNodeInfoByUserId[A.userId]&&(this.mapNodeInfoByUserId[A.userId]=[]),this.mapNodeInfoByUserId[A.userId].push(A)},Qf.prototype.getNodeInfosByUserId=function(A){return this.mapNodeInfoByUserId[A]},Qf.prototype.getNodeInfosWithUserId=function(){return this.mapNodeInfoByUserId},Qf.prototype._cacheNodeInfoByCategory=function(A){var e=null;void 0===this.mapNodeInfoByCategory[e=A.instanceOrNot?Qf.NodeInfoCategory.INSTANCED:Qf.NodeInfoCategory.STANDARD]&&(this.mapNodeInfoByCategory[e]={}),void 0===this.mapNodeInfoByCategory[e][A.userId]&&(this.mapNodeInfoByCategory[e][A.userId]=[]),this.mapNodeInfoByCategory[e][A.userId].push(A)},Qf.prototype.getNodeInfosByCategory=function(A){return this.mapNodeInfoByCategory[A]},Qf.prototype.getStandardNodeInfos=function(){return this.getNodeInfosByCategory(Qf.NodeInfoCategory.STANDARD)},Qf.prototype.getInstancedNodeInfos=function(){return this.getNodeInfosByCategory(Qf.NodeInfoCategory.INSTANCED)},Qf.prototype.getStandardUserIds=function(){return this.getStandardNodeInfos()?Object.keys(this.getStandardNodeInfos()):null},Qf.prototype.getInstancedUserIds=function(){return this.getInstancedNodeInfos()?Object.keys(this.getInstancedNodeInfos()):null},Qf.prototype.traverseNodeInfos=function(A){if(A)for(var e in this.mapNodeInfoByComponentId)for(var t=this.mapNodeInfoByComponentId[e],i=0,o=t.length;o>i;i+=1)A(e,t[i])},Qf.prototype.getUserIdsByCategory=function(A,e){var t=[],i=null;if(i=e===Qf.NodeInfoCategory.INSTANCED?this.getInstancedNodeInfos():this.getStandardNodeInfos())for(var o=0,n=A.length;n>o;o+=1)i[A[o]]&&t.push(A[o]);return t},Qf.prototype.getInstancedUserIdsByCategory=function(A){return this.getUserIdsByCategory(A,Qf.NodeInfoCategory.INSTANCED)},Qf.prototype.getStandardUserIdsByCategory=function(A){return this.getUserIdsByCategory(A,Qf.NodeInfoCategory.STANDARD)},Qf.prototype.getNodeInfosOnBMpkGeometryId=function(){return this.nodeInfosOnGeometryId||this.cacheNodeInfosOnGeometryId(),this.nodeInfosOnGeometryId},Qf.prototype.cacheNodeInfosOnGeometryId=function(){var A=this.getStandardNodeInfos();for(var e in this.nodeInfosOnGeometryId={},A)for(var t=A[e],i=0,o=t.length;o>i;i+=1){var n=this.loader.convertToBMpkGeometryId(t[i].geometryId);void 0!==n&&(t[i].geometryId=n),this.nodeInfosOnGeometryId[t[i].geometryId]||(this.nodeInfosOnGeometryId[t[i].geometryId]=[]),this.nodeInfosOnGeometryId[t[i].geometryId].push(t[i])}},Qf.prototype.updateNodeInfosByIds=function(A){},Qf.prototype._isRegularShape=function(A){var e=A.type===Qf.EnumNodeItemType.TUBE||A.type===Qf.EnumNodeItemType.PIPE||A.type===Qf.EnumNodeItemType.BOX||A.type===Qf.EnumNodeItemType.BOX_M||A.type===Qf.EnumNodeItemType.PIPE_M;return vc.SharedMeshInstanceEnable&&(e=e||A.type===Qf.EnumNodeItemType.MESH_REF),e},Qf.prototype.getOctreeRoots=function(A){var e=this.loader,t=e.getOctreeRootNodeOuter();t&&A.push(t);var i=e.getOctreeRootNodeInner();i&&A.push(i)},Qf.prototype.getComponentCount=function(){return this.componentCount},Qf.prototype._parseInstanced=function(){this.instancedComponent={};var A={},e={},t=this.referencedMeshCache;for(var i in t.components)if(t.components.hasOwnProperty(i)){var o=t.components[i],n=o.geoId;if(-1===n){Bh.debug("实体没有几何");continue}if(void 0===A[n]&&(A[n]=[],e[n]={}),A[n].push({componentId:i}),!o.materials){o.materials=[];continue}for(var r=0;o.materials.length>r;r+=1){var a=o.materials[r];e[n][a]||(e[n][a]=[]),e[n][a].push({componentId:i,matrix:o.matrix})}}for(var s in A)if(A.hasOwnProperty(s))if(1<A[s].length)for(r=0;A[s].length>r;r+=1)this.instancedComponent[A[s][r].componentId]=!0;else delete A[s],delete e[s]},Qf.prototype._parseBones=function(){var A=this.referencedMeshCache;for(var e in A._offsetMatrix||(A._offsetMatrix={}),A.geometries){var t=A.geometries[e];t.position.length!==t.normal.length&&(t.normal=t.normal.length===t.index.length?this._computeVertexNormalsFromFaceNormals(t.normal,t.index,t.position.length):this._computeVertexNormalsFromIndex(t.index,t.position));var i=A.bones[e];if(i){t.skinIndex=i.skinIndex,t.skinWeight=i.skinWeight;var o=i.name;i.offsetMatrix.length/16!==o.length&&Bh.debug("bones的name数量与Matrix数量不符");for(var n=0;o.length>n;n+=1)A._offsetMatrix[o[n]]=(new M).fromArray(i.offsetMatrix,16*n)}}},Qf.prototype._parseClips=function(){for(var A=this.referencedMeshCache.clips,e=[],t=0,i=A.length;i>t;t+=1){for(var o=[],n=A[t],r=0,a=n.tracks.length;a>r;r+=1){var s=n.tracks[r],l=null;switch(s.type){case Qf.EnumKeyframeTrackType.weights:l=Dr;break;case Qf.EnumKeyframeTrackType.quaternion:l=Nr;break;case Qf.EnumKeyframeTrackType.position:case Qf.EnumKeyframeTrackType.scale:default:l=Vr}if(0===n.ticksPerSec){n.ticksPerSec=1e3;for(var c=0;s.times.length>c;c+=1)s.times[c]/=n.ticksPerSec}var h=new l(Fs.sanitizeNodeName(s.name)+"."+s.type,s.times,s.values,2301);o.push(h)}var d=new Gr(void 0!==n.name?n.name:"animation_"+t,n.duration/n.ticksPerSec,o);e.push(d)}this.model.animations=e},Qf.prototype._parseNodes=function(){var A=this.referencedMeshCache;A.allBones=[],A.offsetMatrix=[];var e=function A(e,t){var i=null;"node"===e.type?i=new H:"bone"===e.type&&(i=new Uo,t.allBones[e.name]=i),i.name=Fs.sanitizeNodeName(e.name),i.matrix.fromArray(e.transformation||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),i.matrix.decompose(i.position,i.quaternion,i.scale);for(var o=0;e.children.length>o;o+=1){var n=A(e.children[o],t);n&&i.add(n)}for(var r=0;e.meshes.length>r;r+=1){var a=e.meshes[r];t.model._getHandler().defaultManager.meshManager._readBufferInfo(t.model,[t.model.modelKey+"_"+e.meshes[r]]);var s=t.model._getHandler().defaultManager.meshManager._makeSkinMesh(t.model,[t.model.modelKey+"_"+e.meshes[r]],(function(A){}));t.meshCache[a]=s,s.name=e.name,i.add(s)}return i}(A.nodes,this);for(var t in A.geometries){var i=this.meshCache[t];if(i&&i.isSkinnedMesh){for(var o=[],n=[],r=0;A.bones[t].name.length>r;r+=1){var a=A.bones[t].name[r],s=A._offsetMatrix[a],l=this.allBones[a];s&&l&&(o.push(l),n.push(s))}var c=new bo(o,n);i.bind(c,i.matrixWorld)}}this.model.nodes=e,this.model.manager.getScene().onBeforeRender=function(A,e,t,i){e.updateMatrixWorld(!0)},this.model.group.add(e),(c=new _s(e)).visible=!1,this.model.skeleton=c,this.model.group.add(c),this.model.mixer=new Rs(e),this.model.actions=[];for(var h=0;this.model.animations.length>h;h+=1){var d=this.model.mixer.clipAction(this.model.animations[h]);this.model.actions.push(d)}},Qf.prototype._parseGeo=function(){Bh.time("处理几何:按材质拆分构件");var A=this.referencedMeshCache;for(var e in A.geometries){var t=A.geometries[e];if(t.position.length!==t.normal.length&&(t.normal=t.normal.length===t.index.length?this._computeVertexNormalsFromFaceNormals(t.normal,t.index,t.position.length):this._computeVertexNormalsFromIndex(t.index,t.position)),void 0!==t.materialIndex){for(var i=void 0,o=[],n=null,r=0;t.materialIndex.length>r;r+=1){var a=t.materialIndex[r];a!==n&&(n=a,void 0!==i&&(i.count=3*r-i.start,o.push(i)),i={start:3*r,materialIndex:n})}if(void 0!==i&&(i.count=3*t.materialIndex.length-i.start,o.push(i)),1===o.length){A.geometries[e+"_"+o[0].materialIndex]=t}else{for(var s={},l=0;o.length>l;l+=1){var c=o[l];void 0===s[c.materialIndex]&&(s[c.materialIndex]={index:[],count:0}),s[c.materialIndex].index.push({start:c.start,count:c.count}),s[c.materialIndex].count+=c.count}var h=function(){p={},g=s[d];for(var i=0,o=new Uint32Array(g.count),n=0;g.index.length>n;n+=1){var r=g.index[n],a=t.index.slice(r.start,r.start+r.count);o.set(a,i),i+=r.count}u={},o.forEach((function(A,e){u[A]||(u[A]=[]),u[A].push(e)}));var l=Object.keys(u).length;f=new Float32Array(3*l),m=new Float32Array(3*l),C=new Float32Array(2*l),y=0,v=0;var c=0;for(var h in u)if(u.hasOwnProperty(h)){h=Number(h);var I=t.position.slice(3*h,3*h+3),E=t.normal.slice(3*h,3*h+3);if(t.uv.length>0){var B=t.uv.slice(2*h,2*h+2);C.set(B,v),v+=2}f.set(I,y),m.set(E,y),y+=3,u[h].forEach((function(A){o[A]=c})),c+=1}p.index=o,p.position=f,p.normal=m,t.uv&&t.uv.length>0&&(p.uv=C),A.geometries[e+"_"+d]=p};for(var d in s){var p,g,u,f,m,C,y,v;h()}}}}Bh.timeEnd("处理几何:按材质拆分构件")},Qf.prototype._computeVertexNormalsFromFaceNormals=function(A,e,t){for(var i=new Float32Array(t),o=0,n=0,r=0,a=0,s=0,l=0,c=0;A.length>c;c+=3)s=A[c+1],l=A[c+2],n=3*e[c+1],r=3*e[c+2],i[o=3*e[c]]=a=A[c],i[o+1]=s,i[o+2]=l,i[n]=a,i[n+1]=s,i[n+2]=l,i[r]=a,i[r+1]=s,i[r+2]=l;return i},Qf.prototype._computeVertexNormalsFromIndex=function(A,e){var t=new Float32Array(e.length);if(e){var i=0,o=0,n=0,r=new y,a=new y,s=new y,l=new y,c=new y;if(A)for(var h=A,d=0;h.length>d;d+=3)o=3*h[d+1],n=3*h[d+2],r.fromArray(e,i=3*h[d]),a.fromArray(e,o),s.fromArray(e,n),l.subVectors(s,a),c.subVectors(r,a),l.cross(c),t[i]+=l.x,t[i+1]+=l.y,t[i+2]+=l.z,t[o]+=l.x,t[o+1]+=l.y,t[o+2]+=l.z,t[n]+=l.x,t[n+1]+=l.y,t[n+2]+=l.z;else for(var p=0,g=e.length;g>p;p+=9)r.fromArray(e,p),a.fromArray(e,p+3),s.fromArray(e,p+6),l.subVectors(s,a),c.subVectors(r,a),l.cross(c),t[p]=l.x,t[p+1]=l.y,t[p+2]=l.z,t[p+3]=l.x,t[p+4]=l.y,t[p+5]=l.z,t[p+6]=l.x,t[p+7]=l.y,t[p+8]=l.z}return t},Qf.prototype._readMaterialBuffer222=function(A){var e=A.materialManager,t=e.materials,i=e.textures,o=this.referencedMeshCache.materials;for(var n in o){var r=o[n];if(!r)return null;var a=new xr;if(a.name=r.name||n,a.key=n,r.emissive&&a.emissive&&(1===r.emissive[0]&&1===r.emissive[1]&&1===r.emissive[2]||a.emissive.setRGB(r.emissive[0],r.emissive[1],r.emissive[2])),r.color?a.color.setRGB(r.color[0],r.color[1],r.color[2]):a.color.setRGB(.72,.72,.72),r.tint&&a.color.setRGB(r.tint[0],r.tint[1],r.tint[2]),r.specular&&a.specular&&a.specular.setRGB(r.specular[0],r.specular[1],r.specular[2]),r.map)if(void 0!==r.mapOffsetY&&0!==r.mapOffsetY||void 0!==r.mapOffsetX&&0!==r.mapOfsfetX||void 0!==r.mapScaleX&&1!==r.mapScaleX||void 0!==r.mapScaleY&&1!==r.mapScaleY||void 0!==r.mapWAngle&&0!==r.mapWAngle){var s=r.mapOffsetX+"_"+r.mapOffsetY+"_"+r.mapScaleX+"_"+r.mapScaleY+"_"+r.mapWAngle+"_"+r.map;if(i[s])a.map=i[s];else(g=new d).wrapS=g.wrapT=1e3,g.image=i[r.map].image?i[r.map].image:null,g.needsUpdate=!0,g.image&&(g.offset.x=r.mapOffsetX?r.mapOffsetX:0,g.offset.y=r.mapOffsetY?r.mapOffsetY:0,g.repeat.x=r.mapScaleX?r.mapScaleX:1,g.repeat.y=r.mapScaleY?r.mapScaleY:1,g.rotation=r.mapWAngle?r.mapWAngle:0,i[s]=g,a.map=g)}else a.map=i[r.map]?i[r.map]:null;if(r.aoMap)if(void 0!==r.aoMapOffsetY&&0!==r.aoMapOffsetY||void 0!==r.aoMapOffsetX&&0!==r.aoMapOfsfetX||void 0!==r.aoMapScaleX&&1!==r.aoMapScaleX||void 0!==r.aoMapScaleY&&1!==r.aoMapScaleY||void 0!==r.aoMapWAngle&&0!==r.aoMapWAngle){var l=r.aoMapOffsetX+"_"+r.aoMapOffsetY+"_"+r.aoMapScaleX+"_"+r.aoMapScaleY+"_"+r.aoMapWAngle+"_"+r.aoMap;if(i[l])a.aoMap=i[l];else(g=new d).wrapS=g.wrapT=1e3,g.image=i[r.aoMap]&&i[r.aoMap].image?i[r.aoMap].image:null,g.needsUpdate=!0,g.image&&(g.offset.x=r.aoMapOffsetX?r.aoMapOffsetX:0,g.offset.y=r.aoMapOffsetY?r.aoMapOffsetY:0,g.repeat.x=r.aoMapScaleX?r.aoMapScaleX:1,g.repeat.y=r.aoMapScaleY?r.aoMapScaleY:1,g.rotation=r.aoMapWAngle?r.aoMapWAngle:0,i[l]=g,a.aoMap=g)}else a.aoMap=i[r.aoMap]?i[r.aoMap]:null;if(void 0!==r.aoMapIntensity&&(a.aoMapIntensity=r.aoMapIntensity),r.envMap)if(void 0!==r.envMapOffsetY&&0!==r.envMapOffsetY||void 0!==r.envMapOffsetX&&0!==r.envMapOfsfetX||void 0!==r.envMapScaleX&&1!==r.envMapScaleX||void 0!==r.envMapScaleY&&1!==r.envMapScaleY||void 0!==r.envMapWAngle&&0!==r.envMapWAngle){var c=r.envMapOffsetX+"_"+r.envMapOffsetY+"_"+r.envMapScaleX+"_"+r.envMapScaleY+"_"+r.envMapWAngle+"_"+r.envMap;if(i[c])a.envMap=i[c];else(g=new d).wrapS=g.wrapT=1e3,g.image=i[r.envMap].image?i[r.envMap].image:null,g.needsUpdate=!0,g.image&&(g.offset.x=r.envMapOffsetX?r.envMapOffsetX:0,g.offset.y=r.envMapOffsetY?r.envMapOffsetY:0,g.repeat.x=r.envMapScaleX?r.envMapScaleX:1,g.repeat.y=r.envMapScaleY?r.envMapScaleY:1,g.rotation=r.envMapWAngle?r.envMapWAngle:0,i[c]=g,a.envMap=g)}else a.envMap=i[r.envMap]?i[r.envMap]:null;if(r.lightMap)if(void 0!==r.lightMapOffsetY&&0!==r.lightMapOffsetY||void 0!==r.lightMapOffsetX&&0!==r.lightMapOfsfetX||void 0!==r.lightMapScaleX&&1!==r.lightMapScaleX||void 0!==r.lightMapScaleY&&1!==r.lightMapScaleY||void 0!==r.lightMapWAngle&&0!==r.lightMapWAngle){var h=r.lightMapOffsetX+"_"+r.lightMapOffsetY+"_"+r.lightMapScaleX+"_"+r.lightMapScaleY+"_"+r.lightMapWAngle+"_"+r.lightMap;if(i[h])a.lightMap=i[h];else(g=new d).wrapS=g.wrapT=1e3,g.image=i[r.lightMap].image?i[r.lightMap].image:null,g.needsUpdate=!0,g.image&&(g.offset.x=r.lightMapOffsetX?r.lightMapOffsetX:0,g.offset.y=r.lightMapOffsetY?r.lightMapOffsetY:0,g.repeat.x=r.lightMapScaleX?r.lightMapScaleX:1,g.repeat.y=r.lightMapScaleY?r.lightMapScaleY:1,g.rotation=r.lightMapWAngle?r.lightMapWAngle:0,i[h]=g,a.lightMap=g)}else a.lightMap=i[r.lightMap]?i[r.lightMap]:null;if(void 0!==r.lightMapIntensity&&(a.lightMapIntensity=r.lightMapIntensity),r.emissiveMap)if(void 0!==r.emissiveMapOffsetY&&0!==r.emissiveMapOffsetY||void 0!==r.emissiveMapOffsetX&&0!==r.emissiveMapOfsfetX||void 0!==r.emissiveMapScaleX&&1!==r.emissiveMapScaleX||void 0!==r.emissiveMapScaleY&&1!==r.emissiveMapScaleY||void 0!==r.emissiveMapWAngle&&0!==r.emissiveMapWAngle){var p=r.emissiveMapOffsetX+"_"+r.emissiveMapOffsetY+"_"+r.emissiveMapScaleX+"_"+r.emissiveMapScaleY+"_"+r.emissiveMapWAngle+"_"+r.emissiveMap;if(i[p])a.emissiveMap=i[p];else(g=new d).wrapS=g.wrapT=1e3,g.image=i[r.emissiveMap].image?i[r.emissiveMap].image:null,g.needsUpdate=!0,g.image&&(g.offset.x=r.emissiveMapOffsetX?r.emissiveMapOffsetX:0,g.offset.y=r.emissiveMapOffsetY?r.emissiveMapOffsetY:0,g.repeat.x=r.emissiveMapScaleX?r.emissiveMapScaleX:1,g.repeat.y=r.emissiveMapScaleY?r.emissiveMapScaleY:1,g.rotation=r.emissiveMapWAngle?r.emissiveMapWAngle:0,i[p]=g,a.emissiveMap=g)}else a.emissiveMap=i[r.emissiveMap]?i[r.emissiveMap]:null;if(void 0!==r.emissiveIntensity&&(a.emissiveIntensity=r.emissiveIntensity),r.specularMap)if(void 0!==r.specularMapOffsetY&&0!==r.specularMapOffsetY||void 0!==r.specularMapOffsetX&&0!==r.specularMapOfsfetX||void 0!==r.specularMapScaleX&&1!==r.specularMapScaleX||void 0!==r.specularMapScaleY&&1!==r.specularMapScaleY||void 0!==r.specularMapWAngle&&0!==r.specularMapWAngle){var g,u=r.specularMapOffsetX+"_"+r.specularMapOffsetY+"_"+r.specularMapScaleX+"_"+r.specularMapScaleY+"_"+r.specularMapWAngle+"_"+r.specularMap;if(i[u])a.specularMap=i[u];else(g=new d).wrapS=g.wrapT=1e3,g.image=i[r.specularMap].image?i[r.specularMap].image:null,g.needsUpdate=!0,g.image&&(g.offset.x=r.specularMapOffsetX?r.specularMapOffsetX:0,g.offset.y=r.specularMapOffsetY?r.specularMapOffsetY:0,g.repeat.x=r.specularMapScaleX?r.specularMapScaleX:1,g.repeat.y=r.specularMapScaleY?r.specularMapScaleY:1,g.rotation=r.specularMapWAngle?r.specularMapWAngle:0,i[u]=g,a.specularMap=g)}else a.specularMap=i[r.specularMap]?i[r.specularMap]:null;void 0!==r.shininess&&(a.shininess=r.shininess),void 0!==r.opacity&&(a.opacity=r.opacity,1>r.opacity&&(a.transparent=!0),r.opacity>0||(a.opacity=.1)),a.side=2,t[n]=a}},Qf.prototype._updateV1ToV2=function(A){var e=this.referencedMeshCache.components,t=this.referencedMeshCache.geometries,i=this.referencedMeshCache.materials;for(var o in e)if(e.hasOwnProperty(o)){var n=e[o],r=n.matId,a=t[n.geoId];if(n.materials)continue;if(n.materials=[],!a)continue;var s=i[r];if(!s)continue;var l=this._updateMaterialV1ToV2(r,s);if(l)for(var c in a.materialIndex=l.materialIndex,n.materials=l.materialId,l.materials)l.materials.hasOwnProperty(c)&&(this.referencedMeshCache.materials[c]=l.materials[c])}},Qf.prototype._updateMaterialV1ToV2=function(A,e){var t={},i=[],o={};if(!e)return null;for(var n=e.color,r=e.colorIndex,a=e.texture,s=e.textureIndex,l=0;n.length>l;l+=4){var c={};c.color=[n[l],n[l+1],n[l+2]],c.opacity=Math.floor(100*n[l+3])/100,c.transparent=1>n[l+3];var h=(255*c.color[0]<<16^255*c.color[1]<<8^255*c.color[2]<<0)+"_"+c.opacity;o[h]=c,i.push(h)}if(0!==a.length&&r.length===s.length)for(var d=-1,p=0;s.length>p;p+=1){if(d!==r[p])if(d=r[p],-1!==s[p])o[i[r[p]]].map=a[s[p]]}return t.materials=o,t.materialId=i,t.materialIndex=r,t},Qf.prototype.addMeshToInfoMap=function(A,e,t,i){var o=this.getNodeInfosByComponentId(A);Array.isArray(o)&&o.forEach((function(A){A.nodeId===e&&(A.mesh=t,A.index=i)}))};var Rf=function(){this.geometries={}};Rf.prototype.dispose=function(){this.disposeGeometries(),this.geometries={}},Rf.prototype.destory=function(){this.dispose()},Rf.prototype.disposeGeometries=function(){for(var A in this.geometries)this.disposeGeometry(A)},Rf.prototype.disposeGeometry=function(A){var e=this.geometries[A];if(e){if(Array.isArray(e))for(var t=0,i=e.length;i>t;t+=1)e[t].dispose();else e.dispose();delete this.geometries[A]}},Rf.prototype._hasGeometry=function(A){return!!this.geometries[A]},Rf.prototype._cacheGeometry=function(A,e){void 0===this.geometries[A]&&(this.geometries[A]=e)},Rf.prototype.getNodeIdxMapByUserId=function(A){},Rf.prototype.getGeometryById=function(A){return this.geometries[A]},Rf.prototype.getGeometryByNodeInfo=function(A,e){return this._hasGeometry(e.geometryId)?this.getGeometryById(e.geometryId):this._createGeometryByNodeInfo(A,e)},Rf.prototype._createGeometryByNodeInfo=function(A,e){return this._createGeometry(e.type,e.geometryId,A.getModelDescriptor().getReferencedMeshBufferById(e.geometryId))},Rf.prototype._createGeometry=function(A,e,t){if(this._hasGeometry(e))return this.getGeometryById(e);var i=this._createBufferGeometry(A,t);return i?(i.key=e,this._cacheGeometry(e,i),i):null},Rf.prototype._createBufferGeometry=function(A,e){var t=Qf.EnumNodeItemType,i=null;switch(1){case t.MESH:case t.MESH_REF:if(!e)return null;if((i=new he).setIndex(new YA(e.index,1)),i.setAttribute("position",new YA(e.position,3)),e.normal&&e.normal.length>0?i.setAttribute("normal",new YA(e.normal,3)):i.computeVertexNormals(),e.uv&&e.uv.length>0&&i.setAttribute("uv",new YA(e.uv,2)),e.uv2&&e.uv2.length>0&&i.setAttribute("uv2",new YA(e.uv2,2)),e.skinIndex&&e.skinIndex.length>0?i.setAttribute("skinIndex",new YA(e.skinIndex,4)):Bh.debug("skinIndex 长度为0"),e.skinWeight&&e.skinWeight.length>0?i.setAttribute("skinWeight",new YA(e.skinWeight,4)):Bh.debug("skinWeight 长度为0"),void 0!==e.materialIndex){for(var o=null,n=[],r=void 0,a=0;e.materialIndex.length>a;a+=1){var s=e.materialIndex[a];s!==r&&(r=s,null!=o&&(o.count=3*a-o.start,n.push(o)),o={start:3*a,materialIndex:r})}null!=o&&(o.count=3*e.materialIndex.length-o.start,n.push(o)),i.groups=n}break;case t.TUBE:case t.PIPE:i=Tu.UnitCylinderInstance;break;case t.BOX:i=Tu.UnitBoxInstance;break;case t.BOX_M:i=Tu.getUnitTextureBox();break;case t.PIPE_M:i=Tu.getUnitTextureCylinder();break;case t.LINE:if(!e)return null;(i=new he).setIndex(new YA(e.I,1)),i.setAttribute("position",new YA(e.P,3))}return i},Rf.prototype.createBufferByBufferDataWithUV2=function(A,e,t){var i=this.createBufferByBufferData(e,t);if(!i)return null;if(!A.lightmap)return i;var o=[],n=i.index,r=A.getLoader().getUV2ById(e.itemIdUV2,n.length);r&&(e.lightmapIdx=r.lightmapIdx,o=r.uv2);for(var a=i.position,s=i.normal,l=i.uv,c=[],h=[],d=[],p=0;n.length>p;p+=1){var g=n[p];c.push(a[3*g]),c.push(a[3*g+1]),c.push(a[3*g+2]),s&&(h.push(s[3*g]),h.push(s[3*g+1]),h.push(s[3*g+2])),l&&(d.push(l[2*g]),d.push(l[2*g+1])),n[p]=p}return a=null,s=null,l=null,i.uv2=o,i.position=c,i.normal=h,i.uv=d,i},Rf.prototype.createBufferByBufferData=function(A,e){this.cachedComponentGeoBuffer||(this.cachedComponentGeoBuffer={});var t=null,i=null,o=null,n=null,r=null,a=Qf.EnumNodeItemType,s=null;switch(1){case a.MESH:case a.MESH_REF:if(!e||!e.buffer)return Bh.debug("缺少几何buffer"),null;var c=e.buffer;if(i=c.index,A.geometryId===A.originalGeometryId?(t=c.position,o=c.normal,n=c.uv?c.uv:null,r=c.uv2?c.uv2:null):(t=Float32Array.from(c.position),o=Float32Array.from(c.normal),n=c.uv?Float32Array.from(c.uv):null,r=c.uv2?Float32Array.from(c.uv2):null),c=null,e.indexInfo){i=i.slice(e.indexInfo.indexStart,e.indexInfo.indexStart+e.indexInfo.indexCount),t=t.slice(e.indexInfo.positionStart,e.indexInfo.positionStart+e.indexInfo.positionCount),o=o.slice(e.indexInfo.positionStart,e.indexInfo.positionStart+e.indexInfo.positionCount),n=n?n.slice(e.indexInfo.uvStart,e.indexInfo.uvStart+e.indexInfo.uvCount):null,r=r?r.slice(e.indexInfo.uvStart,e.indexInfo.uvStart+e.indexInfo.uvCount):null;var h=e.indexInfo.positionStart/3;i.forEach((function(A,e,t){t[e]-=h}))}if(uh.isMirror(A.matrix.elements))for(var d=0,p=i.length;p>d;d+=3){var g=i[d+1];i[d+1]=i[d+2],i[d+2]=g}break;case a.BOX:case a.PIPE:s=Tu.UnitCylinderInstance,i=Uint32Array.from(s.index.array),t=Float32Array.from(s.attributes.position.array),o=Float32Array.from(s.attributes.normal.array),s=null;break;case a.TUBE:case a.BOX_M:case a.PIPE_M:s=A.type===a.BOX_M||A.type===a.BOX?Tu.getBoxMBuffer(A.uvArrayBuffer):Tu.getPipeMBuffer(A.uvArrayBuffer),i=Uint32Array.from(s.index),t=Float32Array.from(s.vertex),o=Float32Array.from(s.normal),s.uv&&(n=Float32Array.from(s.uv),delete s.uv),s=null;break;case a.LINE:if(!e||!e.buffer)return null;if(e.isDataView?(i=Uint32Array.from(e.buffer.I),t=Float32Array.from(e.buffer.P),o=null,n=null):(i=new Uint32Array(e.buffer.I),t=new Float32Array(e.buffer.P),o=null,n=null),e.indexInfo){i=i.slice(e.indexInfo.indexStart,e.indexInfo.indexStart+e.indexInfo.indexCount),t=t.slice(e.indexInfo.positionStart,e.indexInfo.positionStart+e.indexInfo.positionCount);h=e.indexInfo.positionStart/3;i.forEach((function(A,e,t){t[e]-=h}))}break;default:Bh.log("error data!")}if(!this.cachedComponentGeoBuffer[A.geometryId]||A.geometryId!==A.originalGeometryId){var u=A.matrix;if(Tu.applyMatrix4ToBuffer(u,t),o){var f=new l;f.getNormalMatrix(u),Tu.applyMatrix3ToBuffer(f,o),Tu.normalizeBuffer(o)}this.cachedComponentGeoBuffer[A.geometryId]=!0}return A.uv=!!n,{index:i,position:t,normal:o,uv:n,uv2:r}};var Tf=function(A){return Rf.call(this),this.manager=A,this._maxIndiceseNum=0,this._materialList=[],this.mapMaterialIdToMergedNode={},this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.blinkMaterials=[],this.mapDestroyedBufferKey={},this};function kf(A,e,t,i){for(var o=A.getAttribute("position").array,n=e;t>n;n+=3)o[n]+=i.x,o[n+1]+=i.y,o[n+2]+=i.z;A.getAttribute("position").needsUpdate=!0}(Tf.prototype=Object.create(Rf.prototype)).destroy=function(){this.dispose(),this.clearData(),this.mapMaterialIdToMergedNode={},this.manager=null,this._materialList=[],this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.blinkMaterials=[],this.mapDestroyedBufferKey={}},Tf.prototype.clearData=function(){this.bufferDestroyed=!1,this.clearAllNodeBuffer(),this._disposeMergedGeometries()},Tf.prototype.getMeshesByUserIds=function(A,e){var t=[];for(var i in this.mapMaterialIdToMergedNode)for(var o=this.mapMaterialIdToMergedNode[i],n=0,r=o.length;r>n;n+=1){var a=o[n],s=a.indices[e];if(s)for(var l=0,c=s.length;c>l;l+=1){var h={};h.mesh=a.mesh,h.indexInfo=s[l],h.matrix=A.getModelMatrix(),t.push(h)}}return t},Tf.prototype.rebuildIndices=function(A){this._materialList.length=0;var e=vc.EnableLightmap&&A.lightmap;this.clearSelectedObjectIds();var t=this.manager.getFilteredUserIds(),i=this.manager.getSelectedUserIds(),o=this.manager.getHoveredUserIds(),n=this.manager.getBlinkedUserIds(),r=(A.hasReplacedUserId(),A.manager.scene.fillClipPlane&&vc.ClippingCaps),a={};for(var s in this.mapMaterialIdToMergedNode){var l,c=this.getPropertyValueByMaterialKey(s).materialId,h=null,d=null,p=null,g=null,u=null,f=null,m=null,C=null,y=null;i&&i[c]&&(g=i[c]),o&&o[c]&&(u=o[c]),n&&n[c]&&(f=n[c]),t&&t[c]&&(h=t[c][zc.HIDDEN],d=t[c][zc.OVERRIDED],p=t[c][zc.TRANSPARENT]);var v=this.mapMaterialIdToMergedNode[s];for(y=0,l=v.length;l>y;y+=1){var I=v[y],E=I.indices,B=I.geometry;if(B.clearGroups(),B._visible=!0,e)for(var x=A.lightmapNum,S=0;x>S;S+=1){var w="lightmap|"+S;-1===this._materialList.indexOf(w)&&this._materialList.push(w)}if(g||h||d||u||p||vc.EnableLightmap||r||f){var M=[];for(var b in E)if(E.hasOwnProperty(b)){if(h&&h[b])continue;var U=E[b];if(U&&U.length>0){if(U.sort((function(A,e){return A.indexStart-e.indexStart})),p&&p[b]){for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.TRANSPARENT});continue}if(A.manager.isSelectPriority()){if(g&&g[b]){if(this.cacheSelectedObjectIds(b,s,y),vc.PickingEffect){if(d&&d[b]){var F=d[b],K=this._materialList.indexOf(F);for(-1===K&&(this._materialList.push(F),K=this._materialList.length-1),m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.OVERRIDED+K});continue}for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.NONE});continue}for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.SELECTED});continue}if(f&&f[b]){if(d&&d[b]){var Q="blink|"+d[b],R=this._materialList.indexOf(Q);for(-1===R&&(this._materialList.push(Q),R=this._materialList.length-1),m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.OVERRIDED+R});continue}for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.BLINK});continue}}else{if(f&&f[b]){if(d&&d[b]){var T="blink|"+d[b],k=this._materialList.indexOf(T);for(-1===k&&(this._materialList.push(T),k=this._materialList.length-1),m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.OVERRIDED+k});continue}for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.BLINK});continue}if(g&&g[b]){if(this.cacheSelectedObjectIds(b,s,y),vc.PickingEffect){if(d&&d[b]){var D=d[b],L=this._materialList.indexOf(D);for(-1===L&&(this._materialList.push(D),L=this._materialList.length-1),m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.OVERRIDED+L});continue}for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.NONE});continue}for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.SELECTED});continue}}if(p&&p[b]){for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.TRANSPARENT});continue}if(u&&u[b]){if(d&&d[b]){var N=this._materialList.indexOf(O="hover|"+d[b]);for(-1===N&&(this._materialList.push(O),N=this._materialList.length-1),m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.OVERRIDED+N});continue}for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.HOVER});continue}if(d&&d[b]){var O,V=this._materialList.indexOf(O=d[b]);for(-1===V&&(this._materialList.push(O),V=this._materialList.length-1),m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.OVERRIDED+V});continue}if(r&&a[b]){for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.CLIPPING});continue}if(vc.EnableLightmap)for(m=0,C=U.length;C>m;m+=1){var G=this._materialList.indexOf("lightmap|"+U[m].lightmapIdx);M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:zc.OVERRIDED+G})}else for(m=0,C=U.length;C>m;m+=1)M.push({indexStart:U[m].indexStart,indexCount:U[m].indexCount,state:0})}}if(M.length>0)for(M.sort((function(A,e){return A.state===e.state?A.indexStart-e.indexStart:A.state-e.state})),m=0,C=M.length;C>m;m+=1){var P=M[m].indexStart,q=M[m].indexCount,j=M[m].state;if(0===m)B.addGroup(P,q,j);else j===M[m-1].state&&P===M[m-1].indexStart+M[m-1].indexCount?B.groups[B.groups.length-1].count+=q:B.addGroup(P,q,j)}else B._visible=!1}}}},Tf.prototype.update=function(A,e){var t=A.manager.filter,i=A.materialManager.materials,o=A.selectedMaterial,n=A.manager.sceneState,r=null,a=null,s=null,l=null,c=null,h=null,d=vc.EnableLightmap&&A.lightmap;if(A.isOnlyWireframe())for(var p in this.mapMaterialIdToMergedNode){var g=this.mapMaterialIdToMergedNode[p];for(s=0,l=g.length;l>s;s+=1){var u=g[s].mesh;u&&(u.visible=!1)}}else{vc.TranslucentDepthDisabled&&(o.depthWrite=!o.transparent);var f=t._getMaterialByName("scene");vc.TranslucentDepthDisabled&&(f.depthWrite=!1);var m=[];this.blinkMaterials.length=0;var C={};if(!d)for(r=0,a=this._materialList.length;a>r;r+=1){var y=null,v=this._materialList[r],I=v.split("|");"hover"===I[0]?(y=t._getMaterialByName(I[1]),y=n.getHoverMaterial(y)):"blink"===I[0]?(y=t._getMaterialByName(I[1]),y=n.getBlinkMaterial(y),C[v]||this.blinkMaterials.push(y)):y=t._getMaterialByName(v)?t._getMaterialByName(v):this.manager.model.materialManager.getMaterialById(v),vc.TranslucentDepthDisabled&&(y.depthWrite=!y.transparent),m[r]=y}for(var E in this.mapMaterialIdToMergedNode){var B=this.getPropertyValueByMaterialKey(E).materialId,x=A.manager.getOverrideMaterialByName(B)||i[B]||Kd.getDefaultStandardMaterial();if(x){if(d)for(r=0,a=this._materialList.length;a>r;r+=1){var S=null,w=this._materialList[r].split("|");if("lightmap"===w[0])if(vc.IBL)S=x.clone();else{var M=Kd.getMaterialParameters(x);M.lights=!1,(S=Kd.createStandardMaterial(M)).lightMap=A.materialManager.lightmaps[w[1]],S.lightMapIntensity=vc.LightmapIntensity}vc.TranslucentDepthDisabled&&S&&(S.depthWrite=!S.transparent),m[r]=S}vc.TranslucentDepthDisabled&&(x.depthWrite=!x.transparent);var b=n.getHoverMaterial(i[B]);vc.TranslucentDepthDisabled&&(b.depthWrite=!b.transparent);var U=this.mapMaterialIdToMergedNode[E];for(s=0,l=U.length;l>s;s+=1){var F=U[s],K=F.geometry;if(null!==K){var Q=F.mesh;if(Q)if(K._visible){if(K.groups.length>0){var R=C[B];R||(R=C[B]=n.getBlinkMaterial(x),this.blinkMaterials.push(R));var T=[x,o,R,b,f];for(r=0,a=m.length;a>r;r+=1){if(!m[r].createByBos){if(m[r].materialId!==B&&!m[r].mapNodeIdToOrigMatId)continue;if(!Object.keys(m[r].mapNodeIdToOrigMatId).find((function(A){return m[r].mapNodeIdToOrigMatId[A]===B})))continue}for(var k in K.attributes.uv||(m[r].map=null),U[s].indices)if(this.manager.mapMaterialIdToUserIdsForFilter[B]&&this.manager.mapMaterialIdToUserIdsForFilter[B][zc.OVERRIDED])for(var D=Object.keys(this.manager.mapMaterialIdToUserIdsForFilter[B][zc.OVERRIDED]),L=0,N=D.length;N>L;L+=1)k===D[L]&&(T[5+r]=m[r])}if(e){var O=[];for(c=0,h=T.length;h>c;c+=1)O.push(e);T=O}Q.material=T}else Q.material=e||x;Q.visible=!0}else Q.visible=!1;else Bh.error("没有mesh对象")}}x=null}}}},Tf.prototype.explode=function(A,e,t){for(var i in this.mapMaterialIdToMergedNode)for(var o=this.mapMaterialIdToMergedNode[i],n=0,r=o.length;r>n;n+=1){var a=o[n],s=a.geometry;if(null!==s){var l=a.indices;for(var c in l){var h=A.manager.getComponentInfoByUserId(c).boundingBox,d=uh.computeExplodeTranslation(e,h,t),p=l[c];if(p)for(var g=0,u=p.length;u>g;g+=1){var f=p[g].positionStart;kf(s,f,f+p[g].positionCount,d)}}}}},Tf.prototype.explosion=function(A,e){var t=A.getModelDescriptor().getStandardUserIds();e.componentKey=t,this.componentsExplosion(A,e)},Tf.prototype.closeExplosion=function(A){this.explosion(A,{})},Tf.prototype.componentsExplosion=function(A,e){var t=e.coefficientX||1,i=e.coefficientY||1,o=e.coefficientZ||1,n=e.offsetX||0,r=e.offsetY||0,a=e.offsetZ||0,s=null;if(e.center)s=(new y).fromArray(e.center);else if(1!==t||1!==i||1!==o||0!==n||0!==r||0!==a)return;var l=Array.isArray(e.componentKey)?e.componentKey:[e.componentKey],c=new y,h=new aA,d=new y(0,0,0),p=new y(0,0,0),g=new y,u=new M,m=A.getModelMatrix();m&&s&&(u.getInverse(m),s.applyMatrix4(u));var C=A.manager,v=!1,I=new y,E=new f,B=new y(1,1,1);uh.isEmptyObject(A.subModel)||(v=!0);for(var x=0,S=l.length;S>x;x+=1){var w=l[x];if(w){var b=A.getModelDescriptor().getStandardNodeInfosById(w);if(b)for(var U=0,F=b.length;F>U;U+=1){var K=b[U];if(K){var Q=this._getMaterialKeyByNodeInfo(K),R=this.mapMaterialIdToMergedNode[Q];if(R)for(var T=0,k=R.length;k>T;T+=1){var D=R[T],L=D.geometry,N=D.mesh;if(L&&N){var O=D.indices;if(O){var V=O[w];if(V){h.copy(K.boundingBox),h.getCenter(c),K.userData||(K.userData={}),d.set(0,0,0),p.set(0,0,0);var G=new y(1,1,1);if(v&&(N.matrix.decompose(I,E,B),G.divide(B)),1!==t||1!==i||1!==o||K.userData.explosionFactor){K.userData.explosionFactor||(K.userData.explosionFactor=new y(1,1,1),K.userData.explosionBaseDifference=c.sub(s).clone().multiply(G));var P=K.userData.explosionFactor,q=K.userData.explosionBaseDifference;d.set((t-P.x)*q.x,(i-P.y)*q.y,(o-P.z)*q.z),1===t&&1===i&&1===o?(K.userData.explosionFactor=void 0,K.userData.explosionBaseDifference=void 0):P.set(t,i,o)}if(0!==n||0!==r||0!==a||K.userData.explosionOffset){K.userData.explosionOffset||(K.userData.explosionOffset=new y(0,0,0));var j=K.userData.explosionOffset;p.set(n*G.x-j.x,r*G.y-j.y,a*G.z-j.z),0===n&&0===r&&0===a?K.userData.explosionOffset=void 0:j.set(n*G.x,r*G.y,a*G.z)}if(g.set(d.x+p.x,d.y+p.y,d.z+p.z),0!==g.x||0!==g.y||0!==g.z){K.userData.explosionFactor||K.userData.explosionOffset?C.explosionList[w]||(C.explosionList[w]=!0):delete C.explosionList[w];var H=g.clone().multiply(B);u.makeTranslation(H.x,H.y,H.z),K.userData.changeOffset=g.clone(),K.transformation||(K.transformation=!0,K.transformationOriginalMatrix=K.matrix.clone(),K.applyMatrix=new M,K.transformationOriginalBoundingBox=K.boundingBox.clone()),K.matrix.premultiply(u),K.applyMatrix.premultiply(u),K.boundingBox.copy(K.transformationOriginalBoundingBox).applyMatrix4(K.applyMatrix);for(var Y=0,W=V.length;W>Y;Y+=1){var J=V[Y].positionStart;kf(L,J,J+V[Y].positionCount,g)}L.attributes.position.needsUpdate=!0}}}}}}}}}},Tf.prototype.closeComponentsExplosion=function(A,e){e=Array.isArray(e)?e:[e];this.componentsExplosion(A,{componentKey:e})},Tf.prototype._getNodeGroup=function(A){return A._getNodeGroup(gp.GEOMETRY,{globalSpace:!0})},Tf.prototype._hasNodeGroup=function(A){return A._hasNodeGroup(gp.GEOMETRY)},Tf.prototype._resetMaxIndicesNumberPerBathSegment=function(A){vc.SegmentedBatchMergeEnable&&this._maxIndiceseNum>vc.maxIndicesNumberPerBathSegment&&(Bh.log("adjust maxIndicesNumberPerBathSegment value from "+vc.maxIndicesNumberPerBathSegment+" to "+this._maxIndiceseNum+"!"),vc.maxIndicesNumberPerBathSegment=A)},Tf.prototype.asyncCreateMeshNodes=function(A,e,t){var i=this;e&&e.length?this._asyncMergeData(A,e,(function(){Bh.timeEnd("MergeData"),i._makeMeshNodes(A),t&&t()})):t&&t()},Tf.prototype.createBatchedMeshNodes=function(A,e){var t=this.mapMaterialIdToMergedNode,i=A.manager,o=A.modelKey,n=A._encodedDatabagId,r=this._getNodeGroup(A),a=A.materialManager,s=e.materialKey,l=this.getPropertyValueByMaterialKey(s),c=a.getMaterialById(l.materialId);if(!c){var h=Object.keys(e.componentInfo)[0],d=e.componentInfo[h][0].nodeId,p=A.getModelDescriptor().getNodeInfosByNodeId(d);if(!p)return;p.uv="1"===l.uvProp,s=this._getMaterialKeyByNodeInfo(p,A),l=this.getPropertyValueByMaterialKey(s),c=a.getMaterialById(l.materialId)}var g=new he;if(g._visible=!0,g.setIndex(new YA(e.index,1)),e.position&&e.position.length>0){g.setAttribute("position",new YA(e.position,3)),e.normal&&e.normal.length===e.position.length&&g.setAttribute("normal",new YA(e.normal,3));var u=!1;e.uv&&e.uv.length>0>0&&(g.setAttribute("uv",new YA(e.uv,2)),u=!0),c.aoMap&&g.setAttribute("uv2",new YA(e.uv,2)),g.getAttribute("normal")||g.computeVertexNormals();var f=e.componentInfo;t[s]||(t[s]=[]);var m=null;if("lines"===l.type)(m=new cf(g)).modelKey=o;else{var C={modelKey:o};(m=new Kf(g,c)).spawn(C)}if(t[s].push({geometry:g,indices:f,mesh:m}),m._indicesGroup=f,!uh.isEmptyObject(A.subModel)){var y=Object.keys(f)[0];if(y){var v=uh.getModelKeyFromComponentKey(y);A.subModel[v]&&m.matrix.copy(A.subModel[v])}}r.add(m),i.addMeshToOctantMap(n,s,new Eu(s,m));var I=function(e){f.hasOwnProperty(e)&&f[e].forEach((function(t){A.addMeshToInfoMap(e,t.nodeId,m,t,u)}))};for(var E in f)I(E);r.updateMatrixWorld(!0),f=null,m=null}},Tf.prototype._asyncMergeData=function(A,e,t){Bh.time("MergeData");var i={},o=this,n=A.getLoader().maxLoadTaskCount,r=A.progressPercentage.load,a=A.progressPercentage.collect,s=e.length,l=Math.ceil(s/A.progressFrequency),c=A.getModelDescriptor().getStandardNodeInfos();requestAnimationFrame(function h(d){var p=d;return function(){var d=null,g=null;for(g=p+l>s?s:p+l,d=p;g>d;d+=1){if(o._collectMergedNodeInfosById(A,e[d],c,i),d===g-1)if(g!==s)A.dispatchEventEx({type:Rc.ON_LOAD_PROGRESS,progress:{total:n,loaded:(d/s*a+r)*n,modelKey:A.modelKey}}),requestAnimationFrame(h(d+1));else A.dispatchEventEx({type:Rc.ON_LOAD_PROGRESS,progress:{total:n,loaded:(a+r)*n,modelKey:A.modelKey}}),o._asyncMergeGeometry(i,A,t)}}}(0))},Tf.prototype._asyncMergeGeometry=function(A,e,t){var i=[];for(var o in A)i.push(o);if(0!==i.length){this._resetMaxIndicesNumberPerBathSegment(this._maxIndiceseNum);var n=this,r=e.getLoader().maxLoadTaskCount,a=e.progressPercentage.load,s=e.progressPercentage.collect,l=e.progressPercentage.merge,c=i.length,h=Math.ceil(c/e.progressFrequency),d=this.mapMaterialIdToMergedNode;requestAnimationFrame(function o(p){var g=p;return function(){var p,u=null;for(u=g+h>c?c:g+h,p=g;u>p;p+=1){if(n._collectMergedGeometriesById(i[p],A,d),p===u-1)if(u!==i.length)e.dispatchEventEx({type:Rc.ON_LOAD_PROGRESS,progress:{total:r,loaded:(p/c*l+a+s)*r,modelKey:e.modelKey},modelKey:e.modelKey}),requestAnimationFrame(o(p+1));else t()}}}(0))}else t()},Tf.prototype._collectMergedNodeInfosById=function(A,e,t,i){for(var o=t[e],n=0,r=o.length;r>n;n+=1){var a=o[n];this._createNodeBuffer(A,a);var s=this._getNodeBufferBy(a.nodeId);if(s){var l=s.index;l&&l.length>this._maxIndiceseNum&&(this._maxIndiceseNum=l.length);var c=this._getMaterialKeyByNodeInfo(a,A);void 0===i[c]&&(i[c]=[]),i[c].push(a)}}},Tf.prototype._collectMergedGeometriesById=function(A,e,t){var i=e[A];void 0===t[A]&&(t[A]=[]);for(var o=[],n=Math.max(i.length/800,500),r=Math.floor(i.length/n),a=i.length,s=0;r>=s;s+=1){for(var l=0,c=0,h=0,d=0,p=0,g=null,u=!1,f=0,m=0,C=a>n?n:a;C>m;m+=1){var y=s*n,v=i[y+m];if(!v)break;(g=this._getNodeBufferBy(v.nodeId))?(c+=g.index.length,l+=g.position.length,g.normal&&(h+=g.normal.length),g.uv&&g.uv.length>0?(u=!0,d+=g.uv.length):d+=g.position.length/3*2,g.uv2&&(p+=g.uv2.length),vc.SegmentedBatchMergeEnable&&c>vc.maxIndicesNumberPerBathSegment?(g.normal&&(h-=g.normal.length),g.uv&&(d-=g.uv.length),g.uv2&&(p-=g.uv2.length),o.push({start:f,end:m,steps:y,arrayPositionLength:l-=g.position.length,arrayIndexLength:c-=g.index.length,arrayNormalLength:h,arrayUVLength:d,arrayUV2Length:p}),l=0,c=0,h=0,d=0,p=0,f=m,m-=1):m===C-1&&o.push({start:f,end:C,steps:y,arrayPositionLength:l,arrayIndexLength:c,arrayNormalLength:h,arrayUVLength:d,arrayUV2Length:p}),g=null):m===C-1&&o.push({start:f,end:C,steps:y,arrayPositionLength:l,arrayIndexLength:c,arrayNormalLength:h,arrayUVLength:d,arrayUV2Length:p})}a-=n}for(var I=0,E=o.length;E>I;I+=1){for(var B=o[I],x=new he,S={},w=new Float32Array(B.arrayPositionLength),M=new Uint32Array(B.arrayIndexLength),b=new Float32Array(B.arrayNormalLength),U=new Float32Array(B.arrayUVLength),F=new Float32Array(B.arrayUV2Length),K=0,Q=0,R=0,T=0,k=0,D=[],L=B.start,N=B.end;N>L;L+=1){var O=i[B.steps+L];if(g=this._getNodeBufferBy(O.nodeId)){D.push(O.nodeId);var V=g.index,G=g.position,P=g.normal,q=g.uv,j=g.uv2;w.set(G,K);for(var H=new Uint32Array(V),Y=0,W=H.length;W>Y;Y+=1)H[Y]+=K/3;M.set(H,Q),void 0===S[O.userId]&&(S[O.userId]=[]),S[O.userId].push({userId:O.userId,nodeId:O.nodeId,positionStart:K,positionCount:G.length,indexStart:Q,indexCount:V.length,lightmapIdx:O.lightmapIdx,boundingBox:O.boundingBox}),Q+=V.length,K+=G.length,P&&(b.set(P,R),R+=P.length),u&&(q?(U.set(q,T),T+=q.length):(U.set(new Float32Array(G.length/3*2),T),T+=q.length)),j&&(F.set(j,k),k+=j.length),V=null,G=null,P=null,q=null,j=null,g=null}}this.clearNodeBufferByNodeIds(D),x._visible=!0,x.setIndex(new YA(M,1)),x.setAttribute("position",new YA(w,3)),R>0&&x.setAttribute("normal",new YA(b,3)),T>0&&x.setAttribute("uv",new YA(U,2)),k>0&&x.setAttribute("uv2",new YA(F,2)),t[A].push({geometry:x,indices:S})}},Tf.prototype.clearAllNodeBuffer=function(){this.cachedNodeBuffer&&(this.cachedNodeBuffer={})},Tf.prototype.clearNodeBufferByNodeIds=function(A){if(this.cachedNodeBuffer)for(var e=0,t=A.length;t>e;e+=1)this.cachedNodeBuffer[A[e]]=null},Tf.prototype._getNodeBufferByNodeInfo=function(A,e){return this.cachedNodeBuffer||this._createNodeBuffer(A,e),this.cachedNodeBuffer[e.nodeId]},Tf.prototype._getNodeBufferBy=function(A){return this.cachedNodeBuffer?this.cachedNodeBuffer[A]:null},Tf.prototype._createNodeBufferForMergedBuffer=function(A,e,t){this.cachedNodeBuffer||(this.cachedNodeBuffer={}),this.cachedNodeBuffer[e.nodeId]||(this.cachedNodeBuffer[e.nodeId]=this.createBufferByBufferDataWithUV2(A,e,t))},Tf.prototype._createNodeBuffer=function(A,e){this._createNodeBufferForMergedBuffer(A,e,{buffer:A.getModelDescriptor().getReferencedMeshBufferById(e.geometryId),isDataView:!0})},Tf.prototype._createGeometries=function(A,e){var t=this,i=A.getModelDescriptor().getNodeInfosOnGeometryId(),o=A.getModelDescriptor().getReferencedMeshBufferData(),n=this._getClassifiedMeshes(i,o);this._dealDataMergedMeshs(A,n,o,i,(function(){t._dealDataMergeableMeshs(A,n,o,i,e)}))},Tf.prototype._getClassifiedMeshes=function(A,e){var t=[],i=[];for(var o in e){var n=e[o].IndexInfos,r=void 0;if(n){if(1>n.length)continue;for(var a=0,s=n.length;s>a;a+=1){if((l=A[n[a].meshId])&&l.length){r=n[a].meshId;break}}}else{var l;(l=A[o])&&l.length&&(r=o)}if(void 0!==r)(l=A[r])&&l.length&&(l[0].type===$u.EnumNodeItemType.LINE||!l[0].instanceOrNot&&l[0].shared?t.push(o):i.push(o))}if(!vc.Instance)for(var o in A)i[o]||t[o]||t.push(o);return{mergeableIdxs:t,mergedIdxs:i}},Tf.prototype._collectMergeableMeshesByIdxId=function(A,e,t,i,o){t[e]&&t[e].IndexInfos?this._collectSharedMeshesByIdxId(A,e,t,i,o):this._collectLineOrIntanceMeshesByIdxId(A,e,t,i,o)},Tf.prototype._collectLineOrIntanceMeshesByIdxId=function(A,e,t,i,o){for(var n=i[e],r={buffer:A.getModelDescriptor().getReferencedMeshBufferById(e)},a=0,s=n.length;s>a;a+=1){var l=n[a];this._createNodeBufferByGeoBufferData(A,l,r);var c=this._getMaterialKeyByNodeInfo(l);o[c]||(o[c]=[]),o[c].push(l)}},Tf.prototype._collectSharedMeshesByIdxId=function(A,e,t,i,o){for(var n=t[e].IndexInfos,r=0,a=n.length;a>r;r+=1){var s=i[n[r].meshId];if(s)for(var l={buffer:A.getModelDescriptor().getReferencedMeshBufferById(e),indexInfo:n[r]},c=0,h=s.length;h>c;c+=1){var d=s[c];this._createNodeBufferByGeoBufferData(A,d,l);var p=this._getMaterialKeyByNodeInfo(d);o[p]||(o[p]=[]),o[p].push(d)}}},Tf.prototype._mergeMergeableMeshes=function(A,e,t,i){var o=Object.keys(e);if(0!==o.length){var n=this,r=A.getLoader().maxLoadTaskCount,a=o.length,s=A.progressPercentage.load,l=A.progressPercentage.collect,c=A.progressPercentage.merge,h=Math.ceil(a/A.progressFrequency);requestAnimationFrame(function d(p){var g=p;return function(){var p=null,u=null;for(u=g+h>a?a:g+h,p=g;u>p;p+=1)n._collectMergedGeometriesById(o[p],e,t),p===u-1&&(u!==a?(A.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:{total:r,loaded:(p/a*c+s+l)*r,modelKey:A.modelKey}}),requestAnimationFrame(d(p+1))):n._makeMeshNodes(A,i))}}(0))}else this._makeMeshNodes(A,i)},Tf.prototype._dealDataMergeableMeshs=function(A,e,t,i,o){if(0!==e.mergeableIdxs.length){var n=this,r=this.mapMaterialIdToMergedNode,a={},s=e.mergedIdxs.length,l=e.mergeableIdxs.length,c=s+l,h=e.mergeableIdxs,d=A.getLoader().maxLoadTaskCount,p=A.progressPercentage.load,g=A.progressPercentage.collect,u=Math.ceil(l/A.progressFrequency);requestAnimationFrame(function e(f){var m=f;return function(){var f=null,C=null;for(C=m+u>l?l:m+u,f=m;C>f;f+=1)n._collectMergeableMeshesByIdxId(A,h[f],t,i,a),f===C-1&&(C!==l?(A.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:{total:d,loaded:((f+s)/c*g+p)*d,modelKey:A.modelKey}}),requestAnimationFrame(e(f+1))):(A.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:{total:d,loaded:(g+p)*d,modelKey:A.modelKey}}),n._mergeMergeableMeshes(A,a,r,o)))}}(0))}else this._makeMeshNodes(A,o)},Tf.prototype._collectDataMergedMeshesByIdxId=function(A,e,t,i,o){var n=e[A],r=n.IndexInfos;if(r&&0!==r.length){var a=!1;n.UV&&(n.UV.byteLength||n.UV.length)&&(a=!0),o.lightmap&&(n=this.getAttributeForLightmapWithDataMerged(n,o,A));for(var s=void 0,l=0,c=r.length;c>l;l+=1){var h=t[r[l].meshId];if(h&&0!==h.length){o.lightmap&&(r[l].lightmapIdx=n.lightmapIdx,r[l].positionStart=3*r[l].indexStart,r[l].positionCount=3*r[l].indexCount),s=r[l].meshId;for(var d=0,p=h.length;p>d;d+=1)h[d].uv=a}}if(void 0!==s){var g=t[s][0],u={},f=this._getMaterialKeyByNodeInfo(g);void 0===i[f]&&(i[f]=[]);for(var m=0,C=r.length;C>m;m+=1)t[r[m].meshId]&&(void 0===u[(g=t[r[m].meshId][0]).userId]&&(u[g.userId]=[]),r[m].userId=g.userId,r[m].nodeId=g.nodeId,r[m].boundingBox=g.boundingBox,u[g.name].push(r[m]));var y=new he;y._visible=!0,y.setIndex(new YA(new Uint32Array(n.I),1)),y.setAttribute("position",new YA(new Float32Array(n.P),3)),n.N&&(n.N.byteLength||n.N.length)&&y.setAttribute("normal",new YA(new Float32Array(n.N),3)),a&&y.setAttribute("uv",new YA(new Float32Array(n.UV),2)),n.UV2&&(y.setAttribute("uv2",new YA(new Float32Array(n.UV2),2)),y.lightmapIdx=n.lightmapIdx),i[f].push({geometry:y,indices:u})}}},Tf.prototype.getAttributeForLightmapWithDataMerged=function(A,e,t){var i=[],o=new Uint32Array(A.I),n=e.getLoader().getUV2ById("bmpk_"+t,o.length);if(n){var r=n.lightmapIdx;i=n.uv2}for(var a=new Float32Array(A.P),s=new Float32Array(A.N),l=new Float32Array(A.UV),c=[],h=[],d=[],p=0;o.length>p;p+=1){var g=o[p];c.push(a[3*g]),c.push(a[3*g+1]),c.push(a[3*g+2]),s.length>0&&(h.push(s[3*g]),h.push(s[3*g+1]),h.push(s[3*g+2])),l.length>0&&(d.push(l[2*g]),d.push(l[2*g+1])),o[p]=p}return a=null,s=null,l=null,{I:o,UV2:i,P:c,N:h,UV:d,lightmapIdx:r}},Tf.prototype._dealDataMergedMeshs=function(A,e,t,i,o){if(0!==e.mergedIdxs.length){var n=this,r=this.mapMaterialIdToMergedNode,a=e.mergedIdxs,s=a.length,l=e.mergedIdxs.length+e.mergeableIdxs.length,c=A.getLoader().maxLoadTaskCount,h=A.progressPercentage.load,d=A.progressPercentage.collect,p=Math.ceil(s/A.progressFrequency);requestAnimationFrame(function e(g){var u=g;return function(){var g=null,f=null;for(f=u+p>s?s:u+p,g=u;f>g;g+=1)n._collectDataMergedMeshesByIdxId(a[g],t,i,r),g===f-1&&(f!==s?(A.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:{total:c,loaded:(g/l*d+h)*c,modelKey:A.modelKey}}),requestAnimationFrame(e(g+1))):(A.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:{total:c,loaded:(g/l*d+h)*c,modelKey:A.modelKey}}),o&&o()))}}(0))}else o&&o()},Tf.prototype._dealUnsharedMeshs=function(A,e,t){for(var i=this.mapMaterialIdToMergedNode,o=0,n=A.length;n>o;o+=1){var r=t[A[o]],a=r.IndexInfos,s=e[a[0].meshId][0],l={},c=this._getMaterialKeyByNodeInfo(s);void 0===i[c]&&(i[c]=[]);for(var h=0,d=a.length;d>h;h+=1)void 0===l[(s=e[a[h].meshId][0]).userId]&&(l[s.userId]=[]),a[h].userId=s.userId,a[h].nodeId=s.nodeId,l[s.userId].push(a[h]);var p=new he;p._visible=!0,p.setIndex(new YA(new Uint32Array(r.index),1)),p.setAttribute("position",new YA(new Float32Array(r.position),3)),r.normal&&p.setAttribute("normal",new YA(new Float32Array(r.normal),3)),r.uv&&p.setAttribute("uv",new YA(new Float32Array(r.uv),2)),i[c].push({geometry:p,indices:l})}},Tf.prototype._makeMeshNodes=function(A,e){Bh.time("makeMesh");var t=A.manager,i=A.modelKey,o=A._encodedDatabagId,n=this._getNodeGroup(A),r=this.mapMaterialIdToMergedNode;for(var a in r)for(var s=this.getPropertyValueByMaterialKey(a),l=r[a],c=0,h=l.length;h>c;c+=1){var d=l[c].geometry,p=l[c].indices;if(!l[c].mesh){var g=null;if("lines"===s.type)(g=new cf(d)).modelKey=i;else{var u={modelKey:i};(g=new Kf(d)).spawn(u)}if(!uh.isEmptyObject(A.subModel)){var f=Object.keys(p)[0];if(f){var m=uh.getModelKeyFromComponentKey(f);A.subModel[m]&&g.matrix.copy(A.subModel[m])}}g._indicesGroup=p,n.add(g),l[c].mesh=g,t.addMeshToOctantMap(o,a,new Eu(a,g));var C=function(e){p.hasOwnProperty(e)&&p[e].forEach((function(t){A.addMeshToInfoMap(e,t.nodeId,g,t)}))};for(var y in p)C(y);p=null,g=null}}n.updateMatrixWorld(!0),A.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:{total:A.getLoader().maxLoadTaskCount,loaded:A.getLoader().maxLoadTaskCount,modelKey:A.modelKey}}),e&&e(),Bh.timeEnd("makeMesh")},Tf.prototype.createMeshNodes=function(A,e){A.getModelDescriptor().getStandardNodeInfos()?this._createGeometries(A,e):e&&e()},Tf.prototype.applySelection=function(A){},Tf.prototype.clearSelection=function(A){},Tf.prototype.applyHover=function(A){},Tf.prototype.clearHover=function(A){},Tf.prototype.getMeshNode=function(){return this.mapMaterialIdToMergedNode},Tf.prototype._disposeMergedGeometries=function(){for(var A in this.mapMaterialIdToMergedNode){for(var e=this.mapMaterialIdToMergedNode[A],t=0,i=e.length;i>t;t+=1){e[t].geometry.dispose(),delete e[t].geometry,delete e[t].indices,delete e[t].mesh}delete this.mapMaterialIdToMergedNode[A]}},Tf.prototype._getMaterialKeyByNodeInfo=function(A,e){if(e){var t=e.manager.getOverrideMaterialByNodeInfo(A);A.materialId=t?t.name:A.originMId}return uh.getCombinedKeyString([A.materialId,A.uv?"1":"0",A.type===$u.EnumNodeItemType.LINE?"lines":"meshes"])},Tf.prototype.getPropertyValueByMaterialKey=function(A){var e=uh.splitCombinedKeyString(A);return{materialId:e[0],uvProp:e[1],type:e[2]}},Tf.prototype.clearSelectedObjectIds=function(){this.selectedObjectIds.length=0},Tf.prototype.cacheSelectedObjectIds=function(A,e,t){this.selectedObjectIds.push({uid:A,mKey:e,idx:t})},Tf.prototype.adjustVisibility=function(A,e){var t=this._getNodeGroup(A),i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i},Tf.prototype.changeVisibilityOfSelectedObjects=function(A,e){if(e)for(var t=0,i=this.selectedMeshes.length;i>t;t+=1){var o=this.selectedMeshes[t].object,n=this.selectedMeshes[t].indices;if(o)for(var r=0,a=n.length;a>r;r+=1){var s=o.geometry.groups[n[r].idx];s.start=n[r].start,s.count=n[r].count}}else{this.selectedMeshes.length=0;for(var l={},c=0,h=this.selectedObjectIds.length;h>c;c+=1){var d=this.selectedObjectIds[c].mKey,p=this.selectedObjectIds[c].idx,g=uh.getCombinedKeyString([d,p]);if(!l[g]){l[g]=!0;var u=this.mapMaterialIdToMergedNode[d][p],f=u.mesh;if(f){for(var m=[],C=u.geometry.groups,y=0,v=C.length;v>y;y+=1){var I=C[y];I.materialIndex===zc.SELECTED&&(m.push({idx:y,start:I.start,count:I.count}),I.start=0,I.count=0)}m.length&&this.selectedMeshes.push({object:f,indices:m})}}}}},Tf.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){if(e)for(var t=0,i=this.nonSelectedMeshes.length;i>t;t+=1){var o=this.nonSelectedMeshes[t].object,n=this.nonSelectedMeshes[t].indices;if(n)for(var r=0,a=n.length;a>r;r+=1){var s=o.geometry.groups[n[r].idx];s.start=n[r].start,s.count=n[r].count}else o.visible=this.nonSelectedMeshes[t].visibility}else{this.nonSelectedMeshes.length=0;for(var l={},c=0,h=this.selectedObjectIds.length;h>c;c+=1){var d=this.selectedObjectIds[c];l[d.mKey]||(l[d.mKey]={}),l[d.mKey][d.idx]=!0}for(var p in this.mapMaterialIdToMergedNode){var g=this.mapMaterialIdToMergedNode[p];if(l[p])for(var u=0,f=g.length;f>u;u+=1){var m=g[u].mesh;if(m){if(!l[p][u]){this.nonSelectedMeshes.push({object:m,indices:null,visibility:m.visible}),m.visible=!1;continue}for(var C=[],y=m.geometry.groups,v=0,I=y.length;I>v;v+=1){var E=y[v];E.materialIndex!==zc.SELECTED&&(C.push({idx:v,start:E.start,count:E.count}),E.start=0,E.count=0)}C.length>0&&this.nonSelectedMeshes.push({object:m,indices:C})}}else for(var B=0,x=g.length;x>B;B+=1){var S=g[B].mesh;S&&(this.nonSelectedMeshes.push({object:S,indices:null,visibility:S.visible}),S.visible=!1)}}}},Tf.prototype.restoreVisibilityOfObjects=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0},Tf.prototype.getBlinkMaterials=function(){return this.blinkMaterials},Tf.prototype.disposeBufferAfterVbo=function(){if(!this.bufferDestroyed){var A=0;for(var e in this.mapMaterialIdToMergedNode){for(var t=this.mapMaterialIdToMergedNode[e],i=0,o=t.length;o>i;i+=1){var n=t[i],r=n.geometry;if(null!==r){A+=1;var a=e+"-"+i;this.mapDestroyedBufferKey[a]||n.mesh.visible&&(this.mapDestroyedBufferKey[a]=!0,Tu.disposeBufferFromGeometry(r,["normal","uv","uv2"]))}}Object.keys(this.mapDestroyedBufferKey).length===A&&(this.mapDestroyedBufferKey={},this.bufferDestroyed=!0)}}},Tf.prototype._traverseMeshNodeMap=function(A){for(var e in this.mapMaterialIdToMergedNode)for(var t=this.mapMaterialIdToMergedNode[e],i=0,o=t.length;o>i;i+=1)A&&A(e,t[i])},Tf.prototype.getGeometryBuffersByUserId=function(A,e){var t=[],i=A.getDatabagId();return this._traverseMeshNodeMap((function(A,o){var n=o.indices[e];if(n)for(var r=o.geometry,a=r.getIndex().array,s=r.getAttribute("position").array,l=0,c=n.length;c>l;l+=1){var h=n[l],d=h.indexStart,p=h.indexStart+h.indexCount,g=a.slice(d,p),u=s.slice(d=h.positionStart,p=h.positionStart+h.positionCount);d/=3,g.forEach((function(A,e,t){t[e]-=d})),t.push({databagId:i,nodeId:h.nodeId,position:u,index:g})}})),t},Tf.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new nf(this)),this.pickingNodeGenerator};var Df=function(A){of.call(this,A),this.nodeGroupName="PickingBatchedWireFrameGroup"};Object.assign(Df.prototype,of.prototype),eu(Df,[{key:"disposePickingNodeById",value:function(A){for(var e=this.pickingNodeMap[A],t=0,i=e.length;i>t;t+=1)e[t]._indicesGroup=null,e[t].material=null,e[t].geometry.dispose(),e[t]=null}},{key:"generatePickingMeshes",value:function(){var A=this.manager.getWireFrameLineSegments();A||(this.manager.generateWireframe(),A=this.manager.getWireFrameLineSegments());for(var e=0,t=A.length;t>e;e+=1){var i=A[e].geometry,o=new he;o.setAttribute("position",i.getAttribute("position")),o.setIndex(i.getIndex());var n=new jo(o,Kd.DefaultMaterial);(new M).copy(A[e].matrix).multiply(this.manager.model.getModelMatrix()).decompose(n.position,n.quaternion,n.scale),n._indicesGroup=A[e]._indicesGroup,n.frustumCulled=!1,n.renderOrder=1,this.addToPickingNodeMap(e,[n])}}},{key:"_rebuildGeometryGroup",value:function(A,e,t){var i,o=this.manager.manager,n=0,r=0,a=0,s=A._indicesGroup,l=Object.keys(s),c=[],h={};e.length>l.length?(c=l,h=t):(c=e,h=s);var d=[];for(a=0,i=c.length;i>a;a+=1){var p=c[a];if(o.isPickableNode(p)&&h[p]){var g=s[p];if(g&&g.length>0)for(n=0,r=g.length;r>n;n+=1)d.push({indexStart:g[n].indexStart,indexCount:g[n].indexCount})}}A.visible=!0;var u=A.geometry;if(u.clearGroups(),0!==d.length)for(d.sort((function(A,e){return A.indexStart-e.indexStart})),n=0,r=d.length;r>n;n+=1){var f=d[n].indexStart,m=d[n].indexCount;if(0===n)u.addGroup(f,m,0);else f===d[n-1].indexStart+d[n-1].indexCount?u.groups[u.groups.length-1].count+=m:u.addGroup(f,m,0)}else A.visible=!1}},{key:"updatePickingMeshesState",value:function(A,e,t){for(var i=this.pickingNodeMap,o=Object.keys(i),n=0,r=o.length;r>n;n+=1)for(var a=i[o[n]],s=0,l=a.length;l>s;s+=1)a[s].material=[A],a[s].visible=!1,this._rebuildGeometryGroup(a[s],e,t)}}]);var Lf=function(A){this.manager=A,this.model=A.model,this.generated=!1,this.wireframeLineSegment=null,this.wireframeGeometryMap=null,this.wireframeDataMap=null,this.userIdMapForNoWireFrame={}};function Nf(A,e,t,i){for(var o=A.getAttribute("position").array,n=e;t>n;n+=1)o[3*n]+=i.x,o[3*n+1]+=i.y,o[3*n+2]+=i.z;A.getAttribute("position").needsUpdate=!0}Lf.prototype.destroy=function(){this.clearData(),this.manager=null,this.userIdMapForNoWireFrame=null,this.pickingNodeGenerator&&(this.pickingNodeGenerator.destroy(),this.pickingNodeGenerator=null)},Lf.prototype.clearData=function(){this.generated=!1,this.bufferDestroyed=!1,this.wireframeLineSegment&&(this.wireframeLineSegment._indicesGroup=null,this.wireframeLineSegment.geometry.dispose(),this.wireframeLineSegment=null),this.pickingNodeGenerator&&this.pickingNodeGenerator.clearData(),this.wireframeGeometryMap=null,this.userIdMapForNoWireFrame={}},Lf.prototype._createWireframeGeometry=function(A,e){if(this.wireframeGeometryMap||(this.wireframeGeometryMap={}),this.wireframeDataMap||(this.wireframeDataMap={}),!this.wireframeGeometryMap[e.nodeId]){var t=this._getWireframeData(A,e),i=new he;i.setIndex(new $A(t.index,1)),i.setAttribute("position",new YA(t.buffer,3)),i._userId=e.userId,this.wireframeGeometryMap[e.nodeId]=i}},Lf.prototype._getWireframeData=function(A,e){this.wireframeDataMap||(this.wireframeDataMap={});var t={};if(!this.wireframeDataMap[e.nodeId]){for(var i=A.attributes.position.array.slice(e.positionStart,e.positionStart+e.positionCount),o=A.getIndex().array.slice(e.indexStart,e.indexStart+e.indexCount),n=0,r=o.length;r>n;n+=1)o[n]-=e.positionStart/3;var a=Up(i,o);return t=Tu.reducedGeometry(i,a),this.wireframeDataMap[e.nodeId]=t,t}return this.wireframeDataMap[e.nodeId]},Lf.prototype._createWireframeGeometries=function(A){A||(A=this.model);var e=A.manager.filter,t=A.getModelDescriptor().getStandardNodeInfos();function i(A){var i=t[A];return!(i&&e._hasRenderWithBoardlineFilter()&&!e._isRenderWithBoardline(i[0]))}var o=this.manager.getMeshNode();for(var n in Bh.time("createWireframeGeometry"),o){if("meshes"===this.manager.getPropertyValueByMaterialKey(n).type)for(var r=o[n],a=0,s=r.length;s>a;a+=1){var l,c=r[a];if(c.RenderTypeChange){for(var h=(l=c.geometry.clone()).attributes.position.array,d=[],p=new y,g=c.mesh.matrixWorld,u=0,f=h.length;f>u;u+=3)p.set(h[u],h[u+1],h[u+2]).applyMatrix4(g),d.push(p.x,p.y,p.z);l.setAttribute("position",new YA(new Float32Array(d),3))}else l=c.geometry;if(null!==l){var m=c.indices;for(var C in m){i(C)||(this.userIdMapForNoWireFrame[C]=!0);for(var v=m[C],I=0,E=v.length;E>I;I+=1)this._createWireframeGeometry(l,v[I])}}}}return Bh.timeEnd("createWireframeGeometry"),!0},Lf.prototype._makeWireframe=function(A){A||(A=this.model);var e={},t=A.getWireframeMaterial();for(var i in this.wireframeGeometryMap){var o=this.wireframeGeometryMap[i],n=o._userId,r=new jo(o,t);r.userId=n,r.nodeId=i,e[n]||(e[n]=[]),e[n].push(r),r=null}var a=[];for(var n in e)for(var s=e[n],l=0,c=s.length;c>l;l+=1)a.push(s[l]);if(a.length>0){var h={},d=Tu.mergeBufferGeometriesFromMeshs(a,h);if(d&&(this.wireframeLineSegment=new jo(d,A.getWireframeMaterial()),this.wireframeLineSegment.matrixAutoUpdate=!1,this.wireframeLineSegment._indicesGroup=h,!uh.isEmptyObject(A.subModel))){var p=Object.keys(h)[0];if(p){var g=uh.getModelKeyFromComponentKey(p);A.subModel[g]&&this.wireframeLineSegment.matrix.copy(A.subModel[g])}}}for(var n in a=null,e)delete e[n];e=null,this.wireframeGeometryMap=null},Lf.prototype.generateWireframe=function(A,e){A||(A=this.model),this.generated||(this._createWireframeGeometries(A),this._makeWireframe(A),this.generated=!0,e&&e())},Lf.prototype.update=function(A){if(this.manager.hasNodeInfo(A))if(A.isActivateWireframe()){if(this.generateWireframe(A),this.wireframeLineSegment){var e=this._getNodeGroup(A);e.clear(),e.add(this.wireframeLineSegment),e.updateMatrixWorld(!0)}}else A._hasNodeGroup(gp.WIREFRAME)&&A._removeNodeGroup(gp.WIREFRAME)},Lf.prototype.rebuildIndices=function(A){if(this.needDealWireframeLine(A)){this.wireframeLineSegment.visible=!0;var e=this.wireframeLineSegment._indicesGroup,t=this.wireframeLineSegment.geometry;t.clearGroups();var i=A.getWireframeMaterial();this.wireframeLineSegment.material=i;var o=this.manager.getFilteredUserIdsForWireFrame(),n=Boolean(o&&Object.keys(o).length);if(this._existHiddenUserId()||n){var r=[],a=0,s=0,l=[];for(var c in e)if(!this._isHiddenUserId(c)){var h=e[c];if(h&&h.length>0){if(o[c]){var d=o[c],p=l.indexOf(d);for(-1===p&&(l.push(d),p=l.length-1),a=0,s=h.length;s>a;a+=1)r.push({indexStart:h[a].indexStart,indexCount:h[a].indexCount,state:1+p});continue}for(a=0,s=h.length;s>a;a+=1)r.push({indexStart:h[a].indexStart,indexCount:h[a].indexCount,state:0})}}if(0!==r.length){for(r.sort((function(A,e){return A.indexStart-e.indexStart})),a=0,s=r.length;s>a;a+=1){var g=r[a].indexStart,u=r[a].indexCount,f=r[a].state;if(0===a)t.addGroup(g,u,f);else f===r[a-1].state&&g===r[a-1].indexStart+r[a-1].indexCount?t.groups[t.groups.length-1].count+=u:t.addGroup(g,u,f)}var m=A.getFilter(),C=[i];for(a=0,s=l.length;s>a;a+=1){var y=m._getMaterialByName(l[a]);C.push(y)}this.wireframeLineSegment.material=C}else this.wireframeLineSegment.visible=!1}}},Lf.prototype.explode=function(A,e,t){},Lf.prototype.explosion=function(A,e){if(this.wireframeLineSegment){var t=Object.keys(this.wireframeLineSegment._indicesGroup);e||(e={}),e.componentKey=t,this.componentsExplosion(A,e)}},Lf.prototype.closeExplosion=function(A){this.explosion(A)},Lf.prototype.componentsExplosion=function(A,e){if(this.wireframeLineSegment)for(var t=Array.isArray(e.componentKey)?e.componentKey:[e.componentKey],i=this.wireframeLineSegment._indicesGroup,o=this.wireframeLineSegment.geometry,n=0,r=t.length;r>n;n+=1){var a=t[n];if(a){var s=A.getModelDescriptor().getStandardNodeInfosById(a);if(s){var l=i[a];if(l){var c=s[0];if(!c||!c.userData||!c.userData.changeOffset)continue;for(var h=0,d=l.length;d>h;h+=1){var p=l[h].positionStart;Nf(o,p,p+l[h].positionCount,c.userData.changeOffset)}c.userData.changeOffset=void 0}}}}},Lf.prototype.closeComponentsExplosion=function(A,e){this.componentsExplosion(A,{componentKey:e})},Lf.prototype._getNodeGroup=function(A){return A._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})},Lf.prototype.needDealWireframeLine=function(A){return!(!A.isActivateWireframe()||!this.wireframeLineSegment)},Lf.prototype.adjustVisibility=function(A,e){if(this.needDealWireframeLine(A)){var t=this._getNodeGroup(A),i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i}},Lf.prototype.changeVisibilityOfSelectedObjects=function(A,e){},Lf.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){this.adjustVisibility(A,e)},Lf.prototype.restoreVisibilityOfObjects=function(){},Lf.prototype.disposeBufferAfterVbo=function(){this.generated&&!this.bufferDestroyed&&this.wireframeLineSegment&&this.wireframeLineSegment.visible&&(this.bufferDestroyed=!0,Tu.disposeBufferFromGeometry(this.wireframeLineSegment.geometry,["position","normal","uv","uv2"]))},Lf.prototype._existHiddenUserId=function(){var A=this.manager.getHiddenUserIds();return!!(this.userIdMapForNoWireFrame&&Object.keys(this.userIdMapForNoWireFrame).length||A&&Object.keys(A).length)},Lf.prototype._isHiddenUserId=function(A){if(this.userIdMapForNoWireFrame[A])return!0;var e=this.manager.getHiddenUserIds();return!(!e||!e[A])},Lf.prototype.getWireFrameLineSegments=function(){return this.wireframeLineSegment?[this.wireframeLineSegment]:null},Lf.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new Df(this)),this.pickingNodeGenerator};var Of=function(A,e){this.model=e,this.meshManager=new Tf(this),A||(this.wireframeManager=new Lf(this))};Of.prototype.destroy=function(){this.meshManager.destroy(),this.meshManager=null,this.wireframeManager.destroy(),this.wireframeManager=null,this._clearFilteredState(),this._clearSelectedState(),this._clearHoveredState(),this._clearBlinkedState()},Of.prototype.updateNodes=function(A){var e;e=this._collectModelFiltered(A),this.meshManager.update(A,e),this.wireframeManager.update(A)},Of.prototype.generateWireframe=function(A,e){this.wireframeManager.generateWireframe(A,e)},Of.prototype.asyncGenerateWireframe=function(A,e){this.wireframeManager.asyncGenerateWireframe(A,e)},Of.prototype.rebuildIndices=function(A){this._rebuildIndices(A)},Of.prototype.clearData=function(){this.meshManager.clearData(),this.wireframeManager.clearData(),this._clearFilteredState(),this._clearSelectedState(),this._clearHoveredState(),this._clearBlinkedState()},Of.prototype.createMeshNodes=function(A,e){this.meshManager.createMeshNodes(A,e)},Of.prototype.createBatchedMeshNodes=function(A,e){this.meshManager.createBatchedMeshNodes(A,e)},Of.prototype.asyncCreateMeshNodes=function(A,e,t){this.meshManager.asyncCreateMeshNodes(A,e,t)},Of.prototype.hasNodeInfo=function(A){return Boolean(A.getModelDescriptor().getStandardNodeInfos())},Of.prototype.disposeGeometry=function(A){this.meshManager.disposeGeometry(A)},Of.prototype.getMeshNode=function(){return this.meshManager.getMeshNode()},Of.prototype.getPropertyValueByMaterialKey=function(A){return this.meshManager.getPropertyValueByMaterialKey(A)},Of.prototype.getFilteredUserIds=function(){return this.mapMaterialIdToUserIdsForFilter},Of.prototype.getSelectedUserIds=function(){return this.mapMaterialIdToUserIdsForSelection},Of.prototype.getHoveredUserIds=function(){return this.mapMaterialIdToUserIdsForHover},Of.prototype.getBlinkedUserIds=function(){return this.mapBlinkUserIds},Of.prototype.getHiddenUserIds=function(){return this.hiddenUserIdSetObject},Of.prototype.getTransparentUserIds=function(){return this.transparentUserIdSetObject},Of.prototype.applyFilter=function(A,e){if(this.hasNodeInfo(A)){var t=null;t=e||A.getModelDescriptor().getStandardUserIds();var i=A.getModelDescriptor().getStandardNodeInfos();this._collectFilteredUserIds(A,t,i),this._collectFilteredUserIdsForWireFrame(A,t,i),this._collectSelectedUserIds(A.manager.sceneState.selectionSet,i),this._collectHoveredUserIds(A.manager.sceneState.hoverId,i),this._rebuildIndices(A),this.updateNodes(A)}},Of.prototype.applySelection=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getStandardNodeInfos();this._clearSelectedState(A),this._clearHoveredState(A),this._collectSelectedUserIds(A.manager.sceneState.selectionSet,e),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this._rebuildIndices(A),this.updateNodes(A)}},Of.prototype.clearSelection=function(A){this._clearSelectedState(A),this.applyHover(A)},Of.prototype.applyHover=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getStandardNodeInfos();this._clearHoveredState(A),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this._rebuildIndices(A),this.updateNodes(A)}},Of.prototype.clearHover=function(A){this._clearHoveredState(A),this._rebuildIndices(A),this.updateNodes(A)},Of.prototype.applyBlink=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getStandardNodeInfos();this._clearBlinkedState(A),this._clearHoveredState(A),this._collectBlinkedUserIds(A.manager.sceneState.getBlinkComponentsIdMap(),e),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this._rebuildIndices(A),this.updateNodes(A)}},Of.prototype.clearBlink=function(A){this._clearBlinkedState(A),this.applyHover(A)},Of.prototype.applyReplacement=function(A){this._rebuildIndices(A),this.updateNodes(A)},Of.prototype._collectFilteredUserIds=function(A,e,t){var i=A.manager.filter,o=i._hasHiddenFileIdFilter(),n=i._hasVisibleFilter(),r=i._hasOverrideMaterialFilter(),a=i._hasTransparentFilter(),s=A.hasReplacedUserId(),l=A.hasHiddenSourceObjectUserId(),c=this.mapMaterialIdToUserIdsForFilter={};if(this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={},o||n||r||a||s||l)for(var h=0;e.length>h;h+=1){var d=e[h],p=t[d];if(p&&p.length)for(var g=0,u=p.length;u>g;g+=1){var f=p[g];if(o&&i._isHiddenFileId(f)||n&&!1===i._isVisible(f)||A.isReplacedUserId(d)||A.isHiddenSourceObjectUserId(d))void 0===c[f.materialId]&&(c[f.materialId]={}),void 0===c[f.materialId][zc.HIDDEN]&&(c[f.materialId][zc.HIDDEN]={}),c[f.materialId][zc.HIDDEN][d]=!0,this.hiddenUserIdSetObject[d]=!0;else if(a&&i._isTransparent(f))void 0===c[f.materialId]&&(c[f.materialId]={}),void 0===c[f.materialId][zc.TRANSPARENT]&&(c[f.materialId][zc.TRANSPARENT]={}),c[f.materialId][zc.TRANSPARENT][d]=!0,this.transparentUserIdSetObject[d]=!0;else if(r&&i._hasOverrideMaterial(f)){var m=i._getOverrideMaterial(f);if(Array.isArray(m)){var C=g,y=m.find((function(A){return!!A.mapNodeIdToOrigMatId&&Object.keys(A.mapNodeIdToOrigMatId).includes(f.nodeId)})),v=y?y.mapNodeIdToOrigMatId[f.nodeId]:m[C].materialId,I=y?y.materialId:"";""!==I&&(void 0===c[v]&&(c[v]={}),void 0===c[v][zc.OVERRIDED]&&(c[v][zc.OVERRIDED]={})),c[v]||(c[v]={},c[v][zc.OVERRIDED]={}),c[v][zc.OVERRIDED][d]=I,this.overrideUserIdSetObject[d]||(this.overrideUserIdSetObject[d]=[]),this.overrideUserIdSetObject[d][C]=I}else{var E=null!==m?m.name:"";""!==E&&(void 0===c[f.materialId]&&(c[f.materialId]={}),void 0===c[f.materialId][zc.OVERRIDED]&&(c[f.materialId][zc.OVERRIDED]={}),c[f.materialId][zc.OVERRIDED][d]=E,this.overrideUserIdSetObject[d]=E)}}}}},Of.prototype._collectFilteredUserIdsForWireFrame=function(A,e,t){var i=A.getFilter(),o=i._hasOverrideMaterialFilterForWireFrame();if(this.mapFilteredUserIdsForWireFrame={},o)for(var n=0;e.length>n;n+=1){var r=e[n];if(!this.hiddenUserIdSetObject[r]){var a=t[r];if(a&&a.length)for(var s=0,l=a.length;l>s;s+=1){var c=a[s];if(i._hasOverrideMaterialForWireFrame(c)){var h=i._getOverrideMaterialForWireFrame(c),d=null!==h?h.name:"";""!==d&&(this.mapFilteredUserIdsForWireFrame[r]=d)}}}}},Of.prototype._collectModelFiltered=function(A){var e=A.manager.filter,t=A.modelKey,i=e._hasModelOverrideMaterialFilter(),o=e._hasModelTransparentFilter(),n=A.manager.modelState.selectionSet;return A.manager.modelState.hoverId===t?A.manager.modelState.getHoverMaterial():n.hasOwnProperty(A.modelKey)?A.manager.modelState.selectionMaterial:o&&e._isModelTransparent(t)?e._getMaterialByName("scene"):i&&e._hasModelOverrideMaterial(t)?e._getModelOverrideMaterial(t):null},Of.prototype._clearFilteredState=function(){this.mapMaterialIdToUserIdsForFilter=null},Of.prototype._collectSelectedUserIds=function(A,e){var t=this.mapMaterialIdToUserIdsForSelection={};for(var i in A)if(this.model.modelKey===i)for(var o in A[i]){var n=e[o];if(n&&n.length)for(var r=0,a=n.length;a>r;r+=1)void 0===t[n[r].materialId]&&(t[n[r].materialId]={}),void 0===t[n[r].materialId][o]&&(t[n[r].materialId][o]=!0)}},Of.prototype._clearSelectedState=function(){this.mapMaterialIdToUserIdsForSelection&&(this.mapMaterialIdToUserIdsForSelection=null)},Of.prototype._collectHoveredUserIds=function(A,e){var t=this.mapMaterialIdToUserIdsForHover={};if(A&&e[A])for(var i=e[A],o=0,n=i.length;n>o;o+=1)void 0===t[i[o].materialId]&&(t[i[o].materialId]={}),void 0===t[i[o].materialId][A]&&(t[i[o].materialId][A]=!0)},Of.prototype._clearHoveredState=function(){this.mapMaterialIdToUserIdsForHover&&(this.mapMaterialIdToUserIdsForHover=null)},Of.prototype._collectBlinkedUserIds=function(A,e){var t=this.mapBlinkUserIds={};for(var i in A){var o=e[i];if(o&&o.length)for(var n=0,r=o.length;r>n;n+=1)void 0===t[o[n].materialId]&&(t[o[n].materialId]={}),void 0===t[o[n].materialId][i]&&(t[o[n].materialId][i]=!0)}},Of.prototype.calculateClippingIds=function(A,e){this.meshManager.calculateClippingIds(A,e)},Of.prototype._clearBlinkedState=function(){this.mapBlinkUserIds&&(this.mapBlinkUserIds=null)},Of.prototype._rebuildIndices=function(A){this.meshManager.rebuildIndices(A),this.wireframeManager.rebuildIndices(A)},Of.prototype.clearCachedData=function(){this.meshManager.clearAllNodeBuffer()},Of.prototype.getMeshesByUserIds=function(A,e){return this.meshManager.getMeshesByUserIds(A,e)},Of.prototype.adjustVisibility=function(A,e){this.meshManager.adjustVisibility(A,e),this.wireframeManager.adjustVisibility(A,e)},Of.prototype.changeVisibilityOfSelectedObjects=function(A,e){this.meshManager.changeVisibilityOfSelectedObjects(A,e),this.wireframeManager.changeVisibilityOfSelectedObjects(A,e)},Of.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){this.meshManager.changeVisibilityOfNonSelectedObjects(A,e),this.wireframeManager.changeVisibilityOfNonSelectedObjects(A,e)},Of.prototype.restoreVisibilityOfObjects=function(){this.meshManager.restoreVisibilityOfObjects(),this.wireframeManager.restoreVisibilityOfObjects()},Of.prototype.disposeBufferAfterVbo=function(){this.meshManager.disposeBufferAfterVbo(),this.wireframeManager.disposeBufferAfterVbo()},Of.prototype.getGeometryBuffersByUserId=function(A,e){return this.meshManager.getGeometryBuffersByUserId(A,e)},Of.prototype.explosion=function(A,e){this.meshManager.explosion(A,e),this.wireframeManager.explosion(A,e)},Of.prototype.closeExplosion=function(A){this.meshManager.closeExplosion(A),this.wireframeManager.closeExplosion(A)},Of.prototype.componentsExplosion=function(A,e){this.meshManager.componentsExplosion(A,e),this.wireframeManager.componentsExplosion(A,e)},Of.prototype.closeComponentsExplosion=function(A,e){this.meshManager.closeComponentsExplosion(A,e),this.wireframeManager.closeComponentsExplosion(A,e)},Of.prototype.isPickableNode=function(A){var e=this.getHiddenUserIds();if(e&&e[A])return!1;var t=this.getTransparentUserIds();return!t||!t[A]},Of.prototype.isHiddenNode=function(A){var e=this.getHiddenUserIds();return!(!e||!e[A])},Of.prototype.getMeshManager=function(){return this.meshManager},Of.prototype.getWireFrameManager=function(){return this.wireframeManager},Of.prototype.getFilteredUserIdsForWireFrame=function(){return this.mapFilteredUserIdsForWireFrame};var Vf=function(A){of.call(this,A),this.nodeGroupName="PickingInstancedMeshGroup"};function Gf(A,e,t){for(var i=A.getAttribute("mcol3").array,o=0;e.length>o;o+=1){var n=e[o];i[3*n]+=t.x,i[3*n+1]+=t.y,i[3*n+2]+=t.z}A.getAttribute("mcol3").needsUpdate=!0}Object.assign(Vf.prototype,of.prototype),eu(Vf,[{key:"generatePickingMeshes",value:function(){var A=this,e=this.manager,t=e.cachedInstance,i=!vc.BatchMergeEnabled;e.traverseInstanceNodeMap(null,(function(e,o){for(var n=[],r=0,a=o.length;a>r;r+=1){var s=o[r].geometry,l=o[r],c=new Na;c.setAttribute("position",s.getAttribute("position")),c.setAttribute("mcol0",s.getAttribute("mcol0")),c.setAttribute("mcol1",s.getAttribute("mcol1")),c.setAttribute("mcol2",s.getAttribute("mcol2")),c.setAttribute("mcol3",s.getAttribute("mcol3")),c.setAttribute("vState",new Oa(new Float32Array(t.vState[e]),1,!1,1)),c.setIndex(s.getIndex());var h=new Ue(c,Kd.DefaultMaterial);l.matrixWorld.decompose(h.position,h.quaternion,h.scale),h.name=e,h.frustumCulled=!1,h.renderOrder=i?1:0,n.push(h)}A.addToPickingNodeMap(e,n)}))}},{key:"updatePickingMeshesState",value:function(A,e,t){if(this.pickingNodeMap)for(var i=this.manager.manager,o=this.pickingNodeMap,n=0,r=e.length;r>n;n+=1){var a=e[n];if(i.isPickableNode(a)){var s=i.getMeshManager().getNodeIdxMapByUserId(a);if(s)for(var l=Object.keys(s),c=0,h=l.length;h>c;c+=1){var d=l[c],p=o[d];if(p)for(var g=s[d],u=0,f=p.length;f>u;u+=1){var m=p[u];m.material=A,m.visible=!0;for(var C=m.geometry,y=C.getAttribute("vState").array,v=0,I=g.length;I>v;v+=1)y[g[v]]=Hc.NONE;C.getAttribute("vState").needsUpdate=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var A=this.pickingNodeMap,e=Object.keys(A),t=0,i=e.length;i>t;t+=1)for(var o=A[e[t]],n=0,r=o.length;r>n;n+=1)o[n].visible=!1,o[n].geometry.getAttribute("vState").array.fill(Hc.HIDDEN),o[n].geometry.getAttribute("vState").needsUpdate=!0}}]);var Pf=function(A){return Rf.call(this),this.manager=A,this.instanceGeometryMap={},this.bufferAttributeMap={},this.instanceNodeMap={},this.nodeIdxMapFromUserId={},this.matrixInfoMapFromUserId={},this.cachedInstance={vState:{},vState2:{},vColor:{},vMirror:{},mcol0:{},mcol1:{},mcol2:{},mcol3:{},muvCol0:{},muvCol1:{},muvCol2:{},userId:{},nodeId:{}},this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this};(Pf.prototype=Object.create(Rf.prototype)).destroy=function(){this.cachedInstance={},this.instanceNodeMap={},this.bufferAttributeMap={},this.nodeIdxMapFromUserId={},this.matrixInfoMapFromUserId={},this.disposeInstanceGeometries(),this.instanceGeometryMap={},this.manager=null,this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[]},Pf.prototype.clearData=function(){this.bufferDestroyed=!1,this.disposeGeometries(),this.disposeInstanceGeometries(),this.clearInstanceCache(),this.pickingNodeGenerator&&this.pickingNodeGenerator.clearData()},Pf.prototype.clearInstanceCache=function(){this.cachedInstance.vState={},this.cachedInstance.vState2={},this.cachedInstance.vColor={},this.cachedInstance.vMirror={},this.cachedInstance.mcol0={},this.cachedInstance.mcol1={},this.cachedInstance.mcol2={},this.cachedInstance.mcol3={},this.cachedInstance.muvCol0={},this.cachedInstance.muvCol1={},this.cachedInstance.muvCol2={},this.bufferAttributeMap={},this.nodeIdxMapFromUserId={},this.instanceNodeMap={},this.instanceGeometryMap={},this.matrixInfoMapFromUserId={},this.geometries={}},Pf.prototype.updateNodes=function(A){this._getNodeGroup(A).visible=!A.isOnlyWireframe()},Pf.prototype.createMeshNodes=function(A,e){this._createInstanceGeometries(A,e),this._makeInstanceNodes(A)},Pf.prototype.disposeInstanceGeometries=function(){this.traverseInstanceGeometryMap((function(A,e){for(var t=0,i=e.length;i>t;t+=1)e[t].dispose()}))},Pf.prototype._createInstanceGeometries=function(A,e){Bh.time("createInstanceGeometries");var t=this;A.getModelDescriptor().traverseInstancedNodeInfos(e,(function(e,i){for(var o=0,n=i.length;n>o;o+=1){var r=i[o],a=t.getGeometryByNodeInfo(A,r);if(a){var s=A.manager.getOverrideMaterialByNodeInfo(r);s&&(r.materialId=s.name);var l=t.getMeshIdByNodeInfo(r),c=t.cacheInstanceAttributeStateBy(A,l,a,r,s);t.cacheNodeIdxByUserId(r.userId,l,c),t.cacheMatrixInfoByUserId(r.userId,l,{matrix:r.matrix,boundingBox:r.boundingBox}),t.cacheInstanceGeometries(l,a)}}})),Bh.timeEnd("createInstanceGeometries")},Pf.prototype._createBatchedInstanceGeometries=function(A,e){var t=A.materialManager.getMaterialById(e.materialKey),i=A.getModelDescriptor();if(!t){var o=i.getNodeInfosByNodeId(e.nodeIdInfo[0]);if(!o)return;e.materialKey=o.materialId,t=A.materialManager.getMaterialById(e.materialKey),e.color=[];for(var n=0,r=e.nodeIdInfo.length;r>n;n+=1)e.color.push(t.color.r,t.color.g,t.color.b,t.opacity)}var a=!1;t.aoMap&&(a=!0),e.hasUV2=a;var s=uh.getCombinedKeyString([e.materialKey,e.geoId]),l=this.cachedInstance;if(e.nodeIdInfo.length<1)Bh.error("node 数量为 0 ");else if(l.vState[s])Bh.warn("实例化几何已存在:",s);else{l.vState[s]=new Float32Array(e.nodeIdInfo.length),l.vColor[s]=e.color,l.vMirror[s]=new Float32Array(e.nodeIdInfo.length),l.mcol0[s]=e.mcol0,l.mcol1[s]=e.mcol1,l.mcol2[s]=e.mcol2,l.mcol3[s]=e.mcol3,l.muvCol0[s]=[],l.muvCol1[s]=[],l.muvCol2[s]=[],l.userId[s]=[],l.nodeId[s]=[];for(var c=new M,h=[],d=0,p=e.nodeIdInfo.length;p>d;d+=1)h=[],l.userId[s].push(e.componentKeyInfo[d]),l.nodeId[s].push(e.nodeIdInfo[d]),h.push(e.mcol0[3*d]),h.push(e.mcol0[3*d+1]),h.push(e.mcol0[3*d+2]),h.push(0),h.push(e.mcol1[3*d]),h.push(e.mcol1[3*d+1]),h.push(e.mcol1[3*d+2]),h.push(0),h.push(e.mcol2[3*d]),h.push(e.mcol2[3*d+1]),h.push(e.mcol2[3*d+2]),h.push(0),h.push(e.mcol3[3*d]),h.push(e.mcol3[3*d+1]),h.push(e.mcol3[3*d+2]),h.push(1),c.fromArray(h),0>c.determinant()&&(l.vMirror[s][d]=-1);this.getBufferAttributesBy(s);this.cacheBatchedInstanceGeometries(s,e);for(var g in e.componentInfo)if(e.componentInfo.hasOwnProperty(g))for(var u=0,f=e.componentInfo[g].length;f>u;u+=1){var m=e.componentInfo[g][u];this.cacheNodeIdxByUserId(g,s,m);var C=i.getNodeInfosByNodeId(e.nodeIdInfo[m]);C&&this.cacheMatrixInfoByUserId(g,s,{matrix:C.matrix,boundingBox:C.boundingBox})}this._makeInstanceNodeById(A,s,this.instanceGeometryMap[s])}},Pf.prototype.getBufferAttributesBy=function(A){if(this.bufferAttributeMap[A])return this.bufferAttributeMap[A];var e=this.cachedInstance,t=new Oa(new Float32Array(e.mcol0[A]),3,!1,1),i=new Oa(new Float32Array(e.mcol1[A]),3,!1,1),o=new Oa(new Float32Array(e.mcol2[A]),3,!1,1),n=new Oa(new Float32Array(e.mcol3[A]),3,!1,1),r=[],a=[],s=[];if(e.muvCol0[A])for(var l=0,c=e.muvCol0[A].length;c>l;l+=1)r.push(new Oa(new Float32Array(e.muvCol0[A][l]),2,!1,1)),a.push(new Oa(new Float32Array(e.muvCol1[A][l]),2,!1,1)),s.push(new Oa(new Float32Array(e.muvCol2[A][l]),2,!1,1));return this.bufferAttributeMap[A]={attributeMcol0:t,attributeMcol1:i,attributeMcol2:o,attributeMcol3:n,attributeMuvCol0Array:r,attributeMuvCol1Array:a,attributeMuvCol2Array:s},this.bufferAttributeMap[A]},Pf.prototype._addInstanceNodeToScene=function(A,e,t){this._getNodeGroup(A).add(t),t.updateMatrixWorld(!0),A.manager.addMeshToOctantMap(A.modelKey,e,new Bu(e,t))},Pf.prototype.addAllInstanceNodeToScene=function(A){this.traverseInstanceNodeMap(null,(function(e,t){for(var i=0,o=t.length;o>i;i+=1)A.manager.addMeshToOctantMap(A._encodedDatabagId,e,new Bu(e,t[i]))}))},Pf.prototype._makeInstanceNodeById=function(A,e,t){var i=this.cachedInstance,o=A.materialManager,n=this.getMaterialIdByMeshId(e),r=this.getBufferAttributesBy(e),a=o.getInstanceMaterialById(n,A);this.instanceNodeMap[e]||(this.instanceNodeMap[e]=[]);for(var s=this.instanceNodeMap[e],l=0,c=t.length;c>l;l+=1){t[l].setAttribute("mcol0",r.attributeMcol0),t[l].setAttribute("mcol1",r.attributeMcol1),t[l].setAttribute("mcol2",r.attributeMcol2),t[l].setAttribute("mcol3",r.attributeMcol3),r.attributeMuvCol0Array.length>0&&(t[l].setAttribute("muvCol0",r.attributeMuvCol0Array[l]),t[l].setAttribute("muvCol1",r.attributeMuvCol1Array[l]),t[l].setAttribute("muvCol2",r.attributeMuvCol2Array[l])),t[l].setAttribute("aColor",new Oa(new Float32Array(i.vColor[e]),4,!1,1)),t[l].setAttribute("vState",new Oa(new Float32Array(i.vState[e]),1,!1,1)),t[l].setAttribute("vState2",new Oa(new Float32Array(i.vState[e]),1,!1,1)),t[l].setAttribute("vMirror",new Oa(new Float32Array(i.vMirror[e]),1,!1,1)),t[l].getAttribute("vState2").array.fill(Hc.HIDDEN);var h=t[l].index;t[l].addGroup(0,h.count,0),t[l].addGroup(0,h.count,1),a[1].visible=!1;var d=new Kf(t[l],a);if(d.visible=!0,d.modelKey=A.modelKey,d.frustumCulled=!1,s.push(d),!uh.isEmptyObject(A.subModel)){var p=i.userId[e][0];if(p){var g=uh.getModelKeyFromComponentKey(p);A.subModel[g]&&d.matrix.copy(A.subModel[g])}}this._addInstanceNodeToScene(A,e,d)}},Pf.prototype._makeInstanceNodes=function(A){Bh.time("makeInstanceNodes");var e=this;this.traverseInstanceGeometryMap((function(t,i){e._makeInstanceNodeById(A,t,i)})),Bh.timeEnd("makeInstanceNodes")},Pf.prototype.resetInstanceMaterial=function(A){var e=this,t=A.materialManager;this.traverseInstanceGeometryMap((function(i,o){var n=e.getMaterialIdByMeshId(i),r=t.getInstanceMaterialById(n,A);r[0].visible=!0,r[1].visible=!1,r.splice(2,1);for(var a=0,s=o.length;s>a;a+=1){if(o[a].getAttribute("vState").array.fill(Hc.NONE),o[0].removed)for(var l in o[0].removed)o[a].getAttribute("vState").array[l]=-1;o[a].getAttribute("vState").needsUpdate=!0,o[a].getAttribute("vState2").array.fill(Hc.HIDDEN),o[a].getAttribute("vState2").needsUpdate=!0,o[a].deleteAttribute("vState3"),o[a].groups.splice(2,1)}}))},Pf.prototype.clearInstanceStateByUserId=function(A){function e(A,e,t,i){for(var o=A.getAttribute("vState").array,n=A.getAttribute("vState2").array,r=0,a=e.length;a>r;r+=1){var s=e[r];o[s]=t,n[s]=i}A.getAttribute("vState").needsUpdate=!0,A.getAttribute("vState2").needsUpdate=!0}var t=this,i=Hc.NONE,o=Hc.HIDDEN;this.traverseNodeIdxMapByUserId(A,(function(A,n){var r=t.getInstanceGeometries(A);if(r)for(var a=0,s=r.length;s>a;a+=1)e(r[a],n,i,o)}))},Pf.prototype.updateInstanceStateByUserId=function(A,e,t,i){function o(A,e,t,i,o,n,r){var a=A.getAttribute("vState").array,s=A.getAttribute("vState2").array,l=A.getAttribute("aColor"),c=A.getAttribute("vState3"),h=null;null!==r&&(c?h=c.array:((h=(c=A.getAttribute("vState").clone()).array).fill(Hc.HIDDEN),A.setAttribute("vState3",c)));for(var d=l?l.array:null,p=0;e.length>p;p+=1){var g=e[p];a[g]=t,s[g]=i,h&&(h[g]=r),null!==d&&null!==o&&(d[4*g]=o[0],d[4*g+1]=o[1],d[4*g+2]=o[2],d[4*g+3]=o[3])}if(A.getAttribute("vState").needsUpdate=!0,A.getAttribute("vState2").needsUpdate=!0,c&&(c.needsUpdate=!0),l&&(l.needsUpdate=!0),n){var u=!1,f=!1;if(!n[0].visible)if(t!==Hc.HIDDEN)n[0].visible=!0;else{for(var m=0,C=a.length;C>m;m+=1)if(a[m]!==Hc.HIDDEN){u=!0;break}n[0].visible=u}if(!n[1].visible)if(i!==Hc.HIDDEN)n[1].visible=!0;else{for(var y=0,v=s.length;v>y;y+=1)if(s[y]!==Hc.HIDDEN){f=!0;break}n[1].visible=f}}}var n=A.materialManager,r=this;this.traverseNodeIdxMapByUserId(e,(function(a,s){var l=r.getInstanceGeometries(a);r.getInstanceNodesById(a);if(l){var c=null,h=null,d=null;if(t===Hc.HIDDEN){c=Hc.HIDDEN,h=Hc.HIDDEN;for(var p=0,g=l.length;g>p;p+=1)o(l[p],s,c,h,null,null)}else{var u=r.getMaterialIdByMeshId(a),f=r.getUsableMaterialColorParamsBy(A,u,t,i),m=f.rgbaColor,C=t;t===Hc.TRANSPARENT&&(C=Hc.OVERRIDED),t===Hc.SELECTED&&r.cacheSelectedObjectIds(e,a);var y=n.getInstanceMaterialById(u,A),v=y[0];if(v.transparent===f.transparent?(c=C,h=Hc.HIDDEN):(c=Hc.HIDDEN,h=C),!0===f.wireframe){var I=y[2]||Kd.createInstanceMaterial(Kd.getMaterialParameters(v));I.wireframe=!0,I.defines.INSTANCE_STATE_TERTIARY="",3>y.length&&y.push(I),c=Hc.HIDDEN,h=Hc.HIDDEN,d=C}C===Hc.BLINK&&v.setBlinkColor(A.manager.getBlinkColor());for(p=0,g=l.length;g>p;p+=1){if(!0===f.wireframe){var E=l[p].groups[0];l[p].groups[2]={start:E.start,count:E.count,materialIndex:2}}o(l[p],s,c,h,m,y,d)}}}}))},Pf.prototype.getUsableMaterialColorParamsBy=function(A,e,t,i){var o=A.selectedMaterial,n=A.manager.filter._getMaterialByName("scene"),r=A.materialManager,a=A.manager.getOverrideMaterialByName(e)||r.getMaterialById(e),s=null,l=null;switch(t){case Hc.HOVER:i?(s=A.manager.filter._getMaterialByName(i),l=A.manager.sceneState.getHoverColorByMaterial(s)):l=A.manager.sceneState.getHoverColorByMaterial(a);break;case Hc.SELECTED:l=Kd.getColorParamsByMaterial(o);break;case Hc.TRANSPARENT:l=Kd.getColorParamsByMaterial(n);break;case Hc.OVERRIDED:case Hc.BLINK:i?(s=A.manager.filter._getMaterialByName(i),l=Kd.getColorParamsByMaterial(s)):l=Kd.getColorParamsByMaterial(a)}return l},Pf.prototype.getInstanceNodesById=function(A){return this.instanceNodeMap[A]},Pf.prototype.traverseInstanceNodeMap=function(A,e){for(var t=this.instanceNodeMap,i=0,o=(A=A||Object.keys(this.instanceNodeMap)).length;o>i;i+=1){var n=A[i];e(n,t[n])}},Pf.prototype.getInstanceGeometries=function(A){return this.instanceGeometryMap[A]},Pf.prototype.cacheInstanceGeometries=function(A,e){if(!this.instanceGeometryMap[A]){var t=this.instanceGeometryMap[A]=[];e instanceof Array||(e=[e]);for(var i=0,o=e.length;o>i;i+=1)t[i]=new Na,t[i].setIndex(e[i].index),e[i].attributes.position&&t[i].setAttribute("position",e[i].attributes.position),e[i].attributes.normal&&t[i].setAttribute("normal",e[i].attributes.normal),e[i].attributes.uv&&t[i].setAttribute("uv",e[i].attributes.uv),e[i].attributes.uv2&&t[i].setAttribute("uv2",e[i].attributes.uv2)}},Pf.prototype.cacheBatchedInstanceGeometries=function(A,e){if(this.instanceGeometryMap[A])return this.instanceGeometryMap[A][0];var t=this.instanceGeometryMap[A]=[],i=new Na;return t[0]=i,i.setIndex(new YA(e.index,1)),e.position&&e.position.length>0&&i.setAttribute("position",new YA(e.position,3)),e.normal&&e.normal.length===e.position.length&&i.setAttribute("normal",new YA(e.normal,3)),e.uv&&e.uv.length>0&&i.setAttribute("uv",new YA(e.uv,2)),e.hasUV2&&i.getAttribute("uv")&&i.setAttribute("uv2",i.getAttribute("uv")),i.getAttribute("normal")||i.computeVertexNormals(),i},Pf.prototype.traverseInstanceGeometryMap=function(A){var e=this.instanceGeometryMap;for(var t in e)A(t,e[t])},Pf.prototype.disposeInstanceGeometries=function(){this.traverseInstanceGeometryMap((function(A,e){for(var t=0,i=e.length;i>t;t+=1)e[t].dispose()}))},Pf.prototype.cacheInstanceAttributeStateBy=function(A,e,t,i,o){var n=i.materialId;t instanceof Array||(t=[t]);var r=t.length,a=this.cachedInstance;if(!a.vState[e]){a.vState[e]=[],a.vColor[e]=[],a.vMirror[e]=[],a.mcol0[e]=[],a.mcol1[e]=[],a.mcol2[e]=[],a.mcol3[e]=[],a.muvCol0[e]=[],a.muvCol1[e]=[],a.muvCol2[e]=[],a.userId[e]=[],a.nodeId[e]=[];for(var s=0;r>s;s+=1)a.muvCol0[e][s]=[],a.muvCol1[e][s]=[],a.muvCol2[e][s]=[]}var l=o||A.materialManager.getMaterialById(n);a.userId[e].push(i.userId),a.nodeId[e].push(i.nodeId),a.vColor[e].push(l.color.r,l.color.g,l.color.b,l.opacity),a.vState[e].push(0);var c=i.matrix.elements;return a.mcol0[e].push(c[0],c[1],c[2]),a.mcol1[e].push(c[4],c[5],c[6]),a.mcol2[e].push(c[8],c[9],c[10]),a.mcol3[e].push(c[12],c[13],c[14]),0>i.matrix.determinant()?a.vMirror[e].push(-1):a.vMirror[e].push(0),a.vState[e].length-1},Pf.prototype.cacheNodeIdxByUserId=function(A,e,t){var i=this.nodeIdxMapFromUserId;i[A]||(i[A]={}),i[A][e]||(i[A][e]=[]),i[A][e].push(t)},Pf.prototype.getNodeIdxMapByUserId=function(A){return this.nodeIdxMapFromUserId[A]},Pf.prototype.traverseNodeIdxMapByUserId=function(A,e){var t=this.nodeIdxMapFromUserId[A];for(var i in t)e(i,t[i])},Pf.prototype.traverseNodeIdxMap=function(A,e){for(var t=Object.keys(this.nodeIdxMapFromUserId),i=0,o=t.length;o>i;i+=1){var n=t[i],r=this.nodeIdxMapFromUserId[n];if(!e||!e(n))for(var a in r)A(a,r[a])}},Pf.prototype.cacheMatrixInfoByUserId=function(A,e,t){var i=this.matrixInfoMapFromUserId;i[A]||(i[A]={}),i[A][e]||(i[A][e]=[]),i[A][e].push(t)},Pf.prototype.traverseMatrixInfoMapByUserId=function(A,e){var t=this.matrixInfoMapFromUserId[A];for(var i in t)e(i,t[i])},Pf.prototype.getMeshesByUserId=function(A,e){var t=this,i=[];return this.traverseMatrixInfoMapByUserId(e,(function(e,o){for(var n=t.getInstanceNodesById(e),r=0,a=o.length;a>r;r+=1)for(var s=0,l=n.length;l>s;s+=1){var c={};if(c.matrix=A.getModelMatrix().clone().multiply(o[r].matrix),c.mesh=n[s],1===l)c.boundingBox=o[r].boundingBox;else{var h=c.mesh.geometry.boundingBox;h?h=h.clone():(c.mesh.geometry.computeBoundingBox(),h=c.mesh.geometry.boundingBox.clone()),h.applyMatrix4(c.matrix),c.boundingBox=h}i.push(c)}})),i},Pf.prototype._getNodeGroup=function(A){return A._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})},Pf.prototype._hasNodeGroup=function(A){return A._hasNodeGroup(gp.INSTANCEGEOMETRY)},Pf.prototype.clearSelectedObjectIds=function(){this.selectedObjectIds.length=0},Pf.prototype.cacheSelectedObjectIds=function(A,e){this.selectedObjectIds.push({uid:A,mgId:e})},Pf.prototype.adjustVisibility=function(A,e){var t=this._getNodeGroup(A),i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i},Pf.prototype.changeVisibilityOfSelectedObjects=function(A,e){var t=null;if(e)for(var i=0,o=(t=this.selectedMeshes).length;o>i;i+=1){var n=t[i].object,r=t[i].indices;if(r){if(r.length){for(var a=n.geometry.getAttribute("vState").array,s=n.geometry.getAttribute("vState2").array,l=0,c=r.length;c>l;l+=1)r[l].state?a[r[l].idx]=r[l].state:r[l].state2&&(s[r[l].idx]=r[l].state2);n.geometry.getAttribute("vState").needsUpdate=!0,n.geometry.getAttribute("vState2").needsUpdate=!0}}else n.visible=t[i].visibility}else{this.selectedMeshes.length=0,t=this.selectedMeshes;for(var h={},d=0,p=this.selectedObjectIds.length;p>d;d+=1)h[this.selectedObjectIds[d].mgId]=!0;var g=Object.keys(h);this.traverseInstanceNodeMap(g,(function(A,e){for(var i=0,o=e.length;o>i;i+=1){for(var n=e[i],r=[],a=n.geometry.getAttribute("vState").array,s=n.geometry.getAttribute("vState2").array,l=0,c=a.length;c>l;l+=1)a[l]===Hc.SELECTED?(r.push({idx:l,state:a[l]}),a[l]=Hc.HIDDEN):s[l]===Hc.SELECTED&&(r.push({idx:l,state2:s[l]}),s[l]=Hc.HIDDEN);r.length?(n.geometry.getAttribute("vState").needsUpdate=!0,n.geometry.getAttribute("vState2").needsUpdate=!0,t.push({object:n,indices:r})):(t.push({object:n,indices:null,visibility:n.visible}),n.visible=!1)}}))}},Pf.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){var t=null;if(e)for(var i=0,o=(t=this.nonSelectedMeshes).length;o>i;i+=1){var n=t[i].object,r=t[i].indices;if(r){if(r.length){for(var a=n.geometry.getAttribute("vState").array,s=n.geometry.getAttribute("vState2").array,l=0,c=r.length;c>l;l+=1)void 0!==r[l].state?a[r[l].idx]=r[l].state:void 0!==r[l].state2&&(s[r[l].idx]=r[l].state2);n.geometry.getAttribute("vState").needsUpdate=!0}}else n.visible=t[i].visibility}else{this.nonSelectedMeshes.length=0,t=this.nonSelectedMeshes;for(var h={},d=0,p=this.selectedObjectIds.length;p>d;d+=1)h[this.selectedObjectIds[d].mgId]=!0;this.traverseInstanceNodeMap(null,(function(A,e){if(h[A])for(var i=0,o=e.length;o>i;i+=1){for(var n=[],r=(p=e[i]).geometry.getAttribute("vState").array,a=p.geometry.getAttribute("vState2").array,s=0,l=r.length;l>s;s+=1)r[s]!==Hc.SELECTED&&r[s]!==Hc.HIDDEN?(n.push({idx:s,state:r[s]}),r[s]=Hc.HIDDEN):a[s]!==Hc.SELECTED&&a[s]!==Hc.HIDDEN&&(n.push({idx:s,state2:a[s]}),a[s]=Hc.HIDDEN);n.length&&(p.geometry.getAttribute("vState").needsUpdate=!0,p.geometry.getAttribute("vState2").needsUpdate=!0,t.push({object:p,indices:n}))}else for(var c=0,d=e.length;d>c;c+=1){var p;t.push({object:p=e[c],indices:null,visibility:p.visible}),p.visible=!1}}))}},Pf.prototype.restoreVisibilityOfObjects=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0},Pf.prototype.getMeshIdByNodeInfo=function(A){return uh.getCombinedKeyString([A.materialId,A.geometryId])},Pf.prototype.getMaterialIdByMeshId=function(A){return uh.splitCombinedKeyString(A)[0]},Pf.prototype.getOriginalMaterialIdByMeshId=function(A){var e=uh.splitCombinedKeyString(A);return uh.splitCombinedKeyString(e[0],"_")[0]},Pf.prototype.disposeBufferAfterVbo=function(){if(!this.bufferDestroyed){this.bufferDestroyed=!0;var A=["muvCol0","muvCol1","muvCol2","mcol0","mcol1","mcol2","mcol3"];vc.EnableExplosion&&A.pop(),this.traverseInstanceGeometryMap((function(e,t){for(var i=0,o=t.length;o>i;i+=1)Tu.disposeBufferFromGeometry(t[i],A)}))}},Pf.prototype.getGeometryBuffersByUserId=function(A,e){var t=A.getModelDescriptor().getInstancedNodeInfosById(e);if(!t)return[];for(var i=[],o=A.getDatabagId(),n=0,r=t.length;r>n;n+=1){var a=t[n],s=this.getGeometryByNodeInfo(A,a),l=this._isLines(a);if(s instanceof Array)for(var c=0,h=s.length;h>c;c+=1)i.push({isLines:l,databagId:o,nodeId:a.nodeId,position:s[c].getAttribute("position").array,index:s[c].getIndex().array,matrix:a.matrix});else i.push({databagId:o,nodeId:a.nodeId,position:s.getAttribute("position").array,index:s.getIndex().array,matrix:a.matrix})}return i},Pf.prototype.explode=function(A,e,t){var i=this;for(var o in i.nodeIdxMapFromUserId)i.traverseNodeIdxMapByUserId(o,(function(n,r){var a=A.manager.getComponentInfoByUserId(o).boundingBox,s=uh.computeExplodeTranslation(e,a,t),l=i.getInstanceGeometries(n);l&&Gf(l[0],r,s)}))},Pf.prototype.explosion=function(A,e){var t=Object.keys(this.nodeIdxMapFromUserId);e.componentKey=t,this.componentsExplosion(A,e)},Pf.prototype.closeExplosion=function(A){this.explosion(A,{})},Pf.prototype.componentsExplosion=function(A,e){var t=e.coefficientX||1,i=e.coefficientY||1,o=e.coefficientZ||1,n=e.offsetX||0,r=e.offsetY||0,a=e.offsetZ||0,s=null;if(e.center)s=(new y).fromArray(e.center);else if(1!==t||1!==i||1!==o||0!==n||0!==r||0!==a)return;var l=Array.isArray(e.componentKey)?e.componentKey:[e.componentKey],c=new y,h=new aA,d=new y(0,0,0),p=new y(0,0,0),g=new y,u=new M,m=A.getModelMatrix();m&&s&&(u.getInverse(m),s.applyMatrix4(u));var C=A.manager,v=!1,I=new y,E=new f,B=new y(1,1,1);uh.isEmptyObject(A.subModel)||(v=!0);for(var x=0,S=l.length;S>x;x+=1){var w=l[x];if(w){var b=A.getModelDescriptor().getInstancedNodeInfosById(w);if(b)for(var U=this.nodeIdxMapFromUserId[w],F=0,K=b.length;K>F;F+=1){var Q=b[F];if(Q){var R=Q.materialId+"&"+Q.geometryId,T=new y(1,1,1);if(v)this.getInstanceNodesById(R)[0].matrix.decompose(I,E,B),T.divide(B);if(h.copy(Q.boundingBox),h.getCenter(c),Q.userData||(Q.userData={}),d.set(0,0,0),p.set(0,0,0),1!==t||1!==i||1!==o||Q.userData.explosionFactor){Q.userData.explosionFactor||(Q.userData.explosionFactor=new y(1,1,1),Q.userData.explosionBaseDifference=c.sub(s).clone().multiply(T));var k=Q.userData.explosionFactor,D=Q.userData.explosionBaseDifference;d.set((t-k.x)*D.x,(i-k.y)*D.y,(o-k.z)*D.z),1===t&&1===i&&1===o?(Q.userData.explosionFactor=void 0,Q.userData.explosionBaseDifference=void 0):k.set(t,i,o)}if(0!==n||0!==r||0!==a||Q.userData.explosionOffset){Q.userData.explosionOffset||(Q.userData.explosionOffset=new y(0,0,0));var L=Q.userData.explosionOffset;p.set(n*T.x-L.x,r*T.y-L.y,a*T.z-L.z),0===n&&0===r&&0===a?Q.userData.explosionOffset=void 0:L.set(n*T.x,r*T.y,a*T.z)}if(g.set(d.x+p.x,d.y+p.y,d.z+p.z),0!==g.x||0!==g.y||0!==g.z){Q.userData.explosionFactor||Q.userData.explosionOffset?C.explosionList[w]||(C.explosionList[w]=!0):delete C.explosionList[w];var N=g.clone().multiply(B),O=u;v&&(O=u.clone()).makeTranslation(g.x,g.y,g.z),u.makeTranslation(N.x,N.y,N.z),Q.transformation||(Q.transformation=!0,Q.transformationOriginalMatrix=Q.matrix.clone(),Q.applyMatrix=new M,Q.transformationOriginalBoundingBox=Q.boundingBox.clone()),Q.matrix.premultiply(O),Q.applyMatrix.premultiply(u),Q.boundingBox.copy(Q.transformationOriginalBoundingBox).applyMatrix4(Q.applyMatrix);var V=Q.matrix,G=U[R],P=this.getInstanceGeometries(R);if(P){var q=P[0],j=q.getAttribute("mcol0"),H=q.getAttribute("mcol1"),Y=q.getAttribute("mcol2"),W=q.getAttribute("mcol3"),J=G[0];j.array[3*J]=V.elements[0],j.array[3*J+1]=V.elements[1],j.array[3*J+2]=V.elements[2],j.needsUpdate=!0,H.array[3*J]=V.elements[4],H.array[3*J+1]=V.elements[5],H.array[3*J+2]=V.elements[6],H.needsUpdate=!0,Y.array[3*J]=V.elements[8],Y.array[3*J+1]=V.elements[9],Y.array[3*J+2]=V.elements[10],Y.needsUpdate=!0,W.array[3*J]=V.elements[12],W.array[3*J+1]=V.elements[13],W.array[3*J+2]=V.elements[14],W.needsUpdate=!0}}}}}}},Pf.prototype.closeComponentsExplosion=function(A,e){e=Array.isArray(e)?e:[e];this.componentsExplosion(A,{componentKey:e})},Pf.prototype._isLines=function(A){return A.type===$u.EnumNodeItemType.LINE},Pf.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new Vf(this)),this.pickingNodeGenerator},Pf.prototype.calculateClippingIds=function(A,e){var t=this;for(var i in t.nodeIdxMapFromUserId)this.traverseMatrixInfoMapByUserId(i,(function(i,o){for(var n=t.getInstanceNodesById(i),r=0,a=o.length;a>r;r+=1)for(var s=0,l=n.length;l>s;s+=1)n[s].intersectBoxWithClipPlane(A,o[r])&&n[s].getIntersectionPoints(A,o[r],e,!0)}))};var qf=function(A){of.call(this,A),this.nodeGroupName="PickingInstancedWireFrameGroup"};Object.assign(qf.prototype,of.prototype),eu(qf,[{key:"generatePickingMeshes",value:function(){this.manager.generateWireframe(),this.manager.updateNodes();var A=this,e=this.manager,t=e.manager.getCachedInstanceData(),i=!vc.BatchMergeEnabled;e._traverseWireframeGeometryMap((function(o,n){for(var r=[],a=e._getWireframeMeshById(o),s=0,l=n.length;l>s;s+=1){var c=n[s],h=new Na,d=a[s];h.setAttribute("position",c.getAttribute("position")),h.setAttribute("mcol0",c.getAttribute("mcol0")),h.setAttribute("mcol1",c.getAttribute("mcol1")),h.setAttribute("mcol2",c.getAttribute("mcol2")),h.setAttribute("mcol3",c.getAttribute("mcol3")),h.setAttribute("vState",new Oa(new Float32Array(t.vState[o]),1,!1,1)),h.setIndex(c.getIndex());var p=new jo(h,Kd.DefaultMaterial);d.matrixWorld.decompose(p.position,p.quaternion,p.scale),p.name=o,p.frustumCulled=!1,p.renderOrder=i?0:1,r.push(p)}A.addToPickingNodeMap(o,r)}))}},{key:"updatePickingMeshesState",value:function(A,e,t){if(this.pickingNodeMap)for(var i=this.manager.manager,o=this.pickingNodeMap,n=0,r=e.length;r>n;n+=1){var a=e[n];if(i.isPickableNode(a)){var s=i.getMeshManager().getNodeIdxMapByUserId(a);if(s)for(var l=Object.keys(s),c=0,h=l.length;h>c;c+=1){var d=l[c],p=o[d];if(p)for(var g=s[d],u=0,f=p.length;f>u;u+=1){var m=p[u];m.material=A,m.visible=!0;for(var C=m.geometry,y=C.getAttribute("vState").array,v=0,I=g.length;I>v;v+=1)y[g[v]]=Hc.NONE;C.getAttribute("vState").needsUpdate=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var A=this.pickingNodeMap,e=Object.keys(A),t=0,i=e.length;i>t;t+=1)for(var o=A[e[t]],n=0,r=o.length;r>n;n+=1)o[n].visible=!1,o[n].geometry.getAttribute("vState").array.fill(Hc.HIDDEN),o[n].geometry.getAttribute("vState").needsUpdate=!0}}]);var jf=function(A){this.manager=A,this.model=A.model,this.wireframeGeometryMap={},this.wireframeMeshMap={},this.noNeedWireframingIdMap={},this.generated=!1};jf.prototype.destroy=function(){this.disposeGeometries(),this.wireframeGeometryMap=null,this.noNeedWireframingIdMap=null,this.manager=null},jf.prototype.clearData=function(){this.generated=!1,this.bufferDestroyed=!1,this.wireframeMesh={},this.disposeGeometries(),this.wireframeGeometryMap={},this.noNeedWireframingIdMap={}},jf.prototype.disposeGeometries=function(){this._traverseWireframeGeometryMap((function(A,e){for(var t=0,i=e.length;i>t;t+=1)e[t].dispose()}))},jf.prototype.updateNodes=function(A){A||(A=this.model);var e=null;A.isActivateWireframe()?(this.generateWireframe(A),(e=this._getNodeGroup(A)).updateMatrixWorld(!0),e.visible=!0):this._hasNodeGroup(A)&&((e=this._getNodeGroup(A)).visible=!1)},jf.prototype.resetInstanceMaterial=function(){var A=Hc.NONE;this._traverseWireframeGeometryMap((function(e,t){for(var i=0,o=t.length;o>i;i+=1){for(var n=t[i].getAttribute("vState").array,r=0,a=n.length;a>r;r+=1)n[r]=A;t[i].getAttribute("vState").needsUpdate=!0}})),this._updateNoWireframingState()},jf.prototype.updateInstanceWireframeByUserId=function(A,e,t,i){if(t===Hc.HIDDEN||t===Hc.NONE||t===Hc.OVERRIDED){var o=null;if(i){var n=A.getFilter()._getMaterialByName(i),r=Kd.getColorParamsByMaterial(n);o=r.rgbaColor}var a=this;this.manager.traverseNodeIdxMapByUserId(e,(function(A,e){a._setInstanceWireframeState(A,e,t,o)}))}},jf.prototype._updateNoWireframingState=function(){var A=this,e=Hc.HIDDEN;this.manager.traverseNodeIdxMap((function(t,i){A._setInstanceWireframeState(t,i,e)}),(function(e){return A._isNeedWireframing(e)}))},jf.prototype._setInstanceWireframeState=function(A,e,t,i){var o=this._getWireframeGeometryById(A);if(o)for(var n=0,r=o.length;r>n;n+=1){var a=o[n].getAttribute("vState").array,s=null,l=null;i&&(l=(s=o[n].getAttribute("aColor"))?s.array:null);for(var c=0,h=e.length;h>c;c+=1){var d=e[c];a[d]=t,null!==l&&(l[4*d]=i[0],l[4*d+1]=i[1],l[4*d+2]=i[2],l[4*d+3]=i[3])}o[n].getAttribute("vState").needsUpdate=!0,s&&(s.needsUpdate=!0)}},jf.prototype._generateInstanceWireframe=function(A){A||(A=this.model),this._collectNoWireframingIds(A),this._createInstanceWireframeGeometries(A),this._makeInstanceWireframe(A),this._updateNoWireframingState()},jf.prototype.generateWireframe=function(A){A||(A=this.model),this.generated||(Bh.time("createInstancedWireframeGeometry"),this._generateInstanceWireframe(A),Bh.timeEnd("createInstancedWireframeGeometry"),this.generated=!0)},jf.prototype._collectNoWireframingIds=function(A){var e=this,t=A.manager.filter;A.getModelDescriptor().traverseInstancedNodeInfos(null,(function(A,i){i&&t._hasRenderWithBoardlineFilter()&&!t._isRenderWithBoardline(i[0])&&(e.noNeedWireframingIdMap[A]=!0)}))},jf.prototype._createInstanceWireframeGeometries=function(A){var e=this,t={};this.manager.traverseInstanceGeometryMap((function(A,i){for(var o=e._getWireframeBufferById(A,i,t),n=e.wireframeGeometryMap[A]=[],r=0,a=o.length;a>r;r+=1){var s=new Na;s.setIndex(o[r].index),s.setAttribute("position",o[r].position),n.push(s)}})),t=null},jf.prototype._makeInstanceWireframe=function(A){var e=this,t=this.manager,i=t.getCachedInstanceData(),o=this._getWireframeMaterial(A);this._traverseWireframeGeometryMap((function(n,r){for(var a=t.getBufferAttributesBy(n),s=e.wireframeMeshMap[n]=[],l=0,c=r.length;c>l;l+=1){r[l].setAttribute("vState",new Oa(new Float32Array(i.vState[n]),1,!1,1)),r[l].setAttribute("mcol0",a.attributeMcol0),r[l].setAttribute("mcol1",a.attributeMcol1),r[l].setAttribute("mcol2",a.attributeMcol2),r[l].setAttribute("mcol3",a.attributeMcol3);var h=new jo(r[l],o);if(h.matrixAutoUpdate=!1,h.frustumCulled=!1,!uh.isEmptyObject(A.subModel)){var d=i.userId[n][0];if(d){var p=uh.getModelKeyFromComponentKey(d);A.subModel[p]&&h.matrix.copy(A.subModel[p])}}s.push(h),e._addWireframeNodeToScene(A,h)}}))},jf.prototype._addWireframeNodeToScene=function(A,e){this._getNodeGroup(A).add(e),e.updateMatrixWorld(!0)},jf.prototype._isNeedWireframing=function(A){return!this.noNeedWireframingIdMap||!this.noNeedWireframingIdMap[A]},jf.prototype._getWireframeMaterial=function(A){return A.getInstanceWireframeMaterial()},jf.prototype._getWireframeBufferById=function(A,e,t){var i=this.getGeometryIdByMeshId(A);if(t[i])return t[i];t[i]=[];for(var o=0,n=e.length;n>o;o+=1){var r=e[o];t[i].push({index:Up(r.attributes.position.array,r.index.array),position:r.attributes.position})}return t[i]},jf.prototype._getWireframeGeometryById=function(A){return this.wireframeGeometryMap[A]},jf.prototype._getWireframeMeshById=function(A){return this.wireframeMeshMap[A]},jf.prototype._traverseWireframeGeometryMap=function(A){var e=this.wireframeGeometryMap;for(var t in e)A(t,e[t])},jf.prototype._getNodeGroup=function(A){return A._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})},jf.prototype._hasNodeGroup=function(A){return A._hasNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY)},jf.prototype.getGeometryIdByMeshId=function(A){return uh.splitCombinedKeyString(A)[1]},jf.prototype.adjustVisibility=function(A,e){if(A.isActivateWireframe()){var t=this._getNodeGroup(A),i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i}},jf.prototype.changeVisibilityOfSelectedObjects=function(A,e){},jf.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){this.adjustVisibility(A,e)},jf.prototype.restoreVisibilityOfObjects=function(){},jf.prototype.disposeBufferAfterVbo=function(){if(this.generated&&!this.bufferDestroyed){this.bufferDestroyed=!0;var A=["mcol0","mcol1","mcol2","mcol3"];vc.EnableExplosion&&A.pop(),this._traverseWireframeGeometryMap((function(e,t){for(var i=0,o=t.length;o>i;i+=1)Tu.disposeBufferFromGeometry(t[i],A)}))}},jf.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new qf(this)),this.pickingNodeGenerator};var Hf=function(A){this.model=A,this.meshManager=new Pf(this),this.wireframeManager=new jf(this)};Hf.prototype.destroy=function(){this.meshManager.destroy(),this.meshManager=null,this.wireframeManager.destroy(),this.wireframeManager=null},Hf.prototype.clearData=function(){this.meshManager.clearData(),this.wireframeManager.clearData()},Hf.prototype.getGeometryByNodeInfo=function(A,e){return this.meshManager.getGeometryByNodeInfo(A,e)},Hf.prototype.getInstanceGeometries=function(){return this.meshManager.instanceGeometryMap},Hf.prototype.traverseInstanceGeometryMap=function(A){this.meshManager.traverseInstanceGeometryMap(A)},Hf.prototype.getCachedInstanceData=function(){return this.meshManager.cachedInstance},Hf.prototype.getBufferAttributesBy=function(A){return this.meshManager.getBufferAttributesBy(A)},Hf.prototype.traverseNodeIdxMapByUserId=function(A,e){this.meshManager.traverseNodeIdxMapByUserId(A,e)},Hf.prototype.traverseNodeIdxMap=function(A,e){this.meshManager.traverseNodeIdxMap(A,e)},Hf.prototype.getMeshesByUserId=function(A,e){return this.meshManager.getMeshesByUserId(A,e)},Hf.prototype._updateInstanceMaterialByUserId=function(A,e,t,i){this.meshManager.updateInstanceStateByUserId(A,e,t,i)},Hf.prototype._updateInstanceMaterialForWireFrameByUserId=function(A,e,t,i){this.wireframeManager.updateInstanceWireframeByUserId(A,e,t,i)},Hf.prototype._updateInstanceMaterial=function(A){Bh.time("update instance material");var e=zc;for(var t in this.clearSelectedObjectIds(),this.filteredIds){var i=this.filteredIds[t];if(i[e.HIDDEN])this._updateInstanceMaterialByUserId(A,t,Hc.HIDDEN),this._updateInstanceMaterialForWireFrameByUserId(A,t,Hc.HIDDEN);else if(i[e.TRANSPARENT])this._updateInstanceMaterialByUserId(A,t,Hc.TRANSPARENT);else{if(A.manager.isSelectPriority()){if(i[e.SELECTED]){this._updateInstanceMaterialByUserId(A,t,Hc.SELECTED);continue}if(i[e.BLINK]){i[e.OVERRIDED]?this._updateInstanceMaterialByUserId(A,t,Hc.BLINK,i[e.OVERRIDED]):this._updateInstanceMaterialByUserId(A,t,Hc.BLINK);continue}}else{if(i[e.BLINK]){i[e.OVERRIDED]?this._updateInstanceMaterialByUserId(A,t,Hc.BLINK,i[e.OVERRIDED]):this._updateInstanceMaterialByUserId(A,t,Hc.BLINK);continue}if(i[e.SELECTED]){this._updateInstanceMaterialByUserId(A,t,Hc.SELECTED);continue}}i[e.HOVER]?i[e.OVERRIDED]?this._updateInstanceMaterialByUserId(A,t,Hc.HOVER,i[e.OVERRIDED]):this._updateInstanceMaterialByUserId(A,t,Hc.HOVER):i[e.OVERRIDED]&&this._updateInstanceMaterialByUserId(A,t,Hc.OVERRIDED,i[e.OVERRIDED])}}this._updateInstanceMaterialForWireFrame(A),Bh.timeEnd("update instance material")},Hf.prototype._updateInstanceMaterialForWireFrame=function(A){var e=this.mapFilteredUserIdsForWireFrame;if(e)for(var t=Object.keys(e),i=0,o=t.length;o>i;i+=1){var n=t[i];this.filteredIds&&this.filteredIds[n]&&this.filteredIds[n][zc.HIDDEN]||this._updateInstanceMaterialForWireFrameByUserId(A,n,Hc.OVERRIDED,e[n])}},Hf.prototype._resetInstanceMaterial=function(A){this.meshManager.resetInstanceMaterial(A),this.wireframeManager.resetInstanceMaterial()},Hf.prototype._collectFilteredUserIds=function(A,e,t){var i=A.manager.filter,o=i._hasHiddenFileIdFilter(),n=i._hasVisibleFilter(),r=i._hasOverrideMaterialFilter(),a=i._hasTransparentFilter(),s=A.hasReplacedUserId(),l=A.hasHiddenUserId(),c=this.filteredIds={};if(this.transparentUserIdSetObject={},o||n||r||a||s||l)for(var h=zc,d=0;e.length>d;d+=1){var p=e[d],g=t[p];if(g&&g.length){var u=g[0];if(o&&i._isHiddenFileId(u)||n&&!1===i._isVisible(u)||A.isReplacedUserId(p)||A.isHiddenSourceObjectUserId(p))c[p]||(c[p]={}),c[p][h.HIDDEN]=!0;else if(a&&i._isTransparent(u))c[p]||(c[p]={}),c[p][h.TRANSPARENT]=!0,this.transparentUserIdSetObject[p]=!0;else if(r&&i._hasOverrideMaterial(u)){var f=i._getOverrideMaterial(u),m=null;if(Array.isArray(f)){var C=u.nodeId.replace(u.componentKey+"_",""),y=parseInt(C,10);""===(m=null!==f[y]?f[y].name:"")&&(m=u.materialId),c[p]||(c[p]={}),c[p][h.OVERRIDED]||(c[p][h.OVERRIDED]=[]),c[p][h.OVERRIDED][y]=m}else""!==(m=null!==f?f.name:"")&&(c[p]||(c[p]={}),c[p][h.OVERRIDED]=m)}}}},Hf.prototype._collectModelFiltered=function(A){var e=A.manager.filter,t=A.modelKey,i=e._hasModelOverrideMaterialFilter(),o=e._hasModelTransparentFilter(),n=A.manager.modelState.selectionSet;return A.manager.modelState.hoverId===t?A.manager.modelState.getHoverMaterial():n.hasOwnProperty(A.modelKey)?A.manager.modelState.selectionMaterial:o&&e._isModelTransparent(t)?e._getMaterialByName("scene"):i&&e._hasModelOverrideMaterial(t)?e._getModelOverrideMaterial(t):null},Hf.prototype._collectFilteredUserIdsForWireFrame=function(A,e,t){var i=A.getFilter(),o=i._hasOverrideMaterialFilterForWireFrame();if(this.mapFilteredUserIdsForWireFrame={},o)for(var n=zc,r=0;e.length>r;r+=1){var a=e[r];if(!(this.filteredIds&&this.filteredIds[a]&&this.filteredIds[a][n.HIDDEN])){var s=t[a];if(s&&s.length){var l=s[0];if(i._hasOverrideMaterialForWireFrame(l)){var c=i._getOverrideMaterialForWireFrame(l),h=null!==c?c.name:"";""!==h&&(this.mapFilteredUserIdsForWireFrame[a]=h)}}}}},Hf.prototype._collectSelectedUserIds=function(A,e){var t=this.filteredIds=this.filteredIds||{},i=zc,o={};for(var n in A)if(this.model.modelKey===n)for(var r in A[n])e[r]&&(t[r]||(t[r]={}),t[r][i.SELECTED]=!0,o[r]=!0);this.selectedUserIds=Object.keys(o)},Hf.prototype._clearSelectedState=function(A){if(this.filteredIds&&this.selectedUserIds&&this.selectedUserIds.length){for(var e=0,t=this.selectedUserIds.length;t>e;e+=1){var i=this.selectedUserIds[e];this.filteredIds[i]&&(this.meshManager.clearInstanceStateByUserId(i),delete this.filteredIds[i][zc.SELECTED])}this.selectedUserIds=null}},Hf.prototype._collectHoveredUserIds=function(A,e){var t=this.filteredIds=this.filteredIds||{};this.hoverdUserId=void 0,A&&e[A]&&(t[A]||(t[A]={}),t[A][zc.HOVER]=!0,this.hoverdUserId=A)},Hf.prototype._clearHoveredState=function(A){this.filteredIds&&this.hoverdUserId&&this.filteredIds[this.hoverdUserId]&&(this.meshManager.clearInstanceStateByUserId(this.hoverdUserId),delete this.filteredIds[this.hoverdUserId][zc.HOVER],this.hoverdUserId=void 0)},Hf.prototype._collectBlinkedUserIds=function(A,e){var t=this.filteredIds=this.filteredIds||{},i=zc,o={};for(var n in A)e[n]&&(t[n]||(t[n]={}),t[n][i.BLINK]=!0,o[n]=!0);this.blinkUserIds=Object.keys(o)},Hf.prototype._clearBlinkedState=function(A){if(this.filteredIds&&this.blinkUserIds&&this.blinkUserIds.length){for(var e=0,t=this.blinkUserIds.length;t>e;e+=1){var i=this.blinkUserIds[e];this.filteredIds[i]&&(this.meshManager.clearInstanceStateByUserId(i),delete this.filteredIds[i][zc.BLINK])}this.blinkUserIds=null}},Hf.prototype.applyFilter=function(A,e){if(this.hasNodeInfo(A)){this.updateNodes(A),this._resetInstanceMaterial(A);var t=null;t=e||A.getModelDescriptor().getInstancedUserIds();var i=A.getModelDescriptor().getInstancedNodeInfos();this._collectFilteredUserIds(A,t,i),this._collectFilteredUserIdsForWireFrame(A,t,i),this._collectSelectedUserIds(A.manager.sceneState.selectionSet,i),this._collectBlinkedUserIds(A.manager.sceneState.getBlinkComponentsIdMap(),i),this._collectHoveredUserIds(A.manager.sceneState.hoverId,i),this._updateInstanceMaterial(A),this.updateNodes(A)}},Hf.prototype.applySelection=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getInstancedNodeInfos();this._clearSelectedState(A),this._clearHoveredState(A),this._collectSelectedUserIds(A.manager.sceneState.selectionSet,e),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this._updateInstanceMaterial(A),this.updateNodes(A)}},Hf.prototype.clearSelection=function(A){this._clearSelectedState(A),this.applyHover(A)},Hf.prototype.applyHover=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getInstancedNodeInfos();this._clearHoveredState(A),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this._updateInstanceMaterial(A),this.updateNodes(A)}},Hf.prototype.clearHover=function(A){this._clearHoveredState(A),this._updateInstanceMaterial(A),this.updateNodes(A)},Hf.prototype.applyBlink=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getInstancedNodeInfos();this._clearBlinkedState(A),this._clearHoveredState(A),this._collectBlinkedUserIds(A.manager.sceneState.getBlinkComponentsIdMap(),e),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this._updateInstanceMaterial(A),this.updateNodes(A)}},Hf.prototype.clearBlink=function(A){this._clearBlinkedState(A),this.applyHover(A)},Hf.prototype.applyReplacement=function(A){this._updateInstanceMaterial(A),this.updateNodes(A)},Hf.prototype.hasNodeInfo=function(A){return Boolean(A.getModelDescriptor().getInstancedNodeInfos())},Hf.prototype.updateNodes=function(A){if(this.hasNodeInfo(A)){var e;if(e=this._collectModelFiltered(A))for(var t=A.getModelDescriptor().getInstancedUserIds(),i=0;t.length>i;i+=1)this._updateInstanceMaterialByUserId(A,t[i],Hc.OVERRIDED,e);this.meshManager.updateNodes(A),this.wireframeManager.updateNodes(A)}},Hf.prototype.generateWireframe=function(A,e){this.wireframeManager.generateWireframe(A,e)},Hf.prototype.createMeshNodes=function(A,e){this.meshManager.createMeshNodes(A,e)},Hf.prototype.createInstancedMeshNodes=function(A,e){this.meshManager._createBatchedInstanceGeometries(A,e)},Hf.prototype.clearCachedData=function(){this.meshManager.disposeGeometries()},Hf.prototype.getMeshesByUserIds=function(A,e){this.meshManager.getMeshesByUserId(A,e)},Hf.prototype.clearSelectedObjectIds=function(){this.meshManager.clearSelectedObjectIds()},Hf.prototype.adjustVisibility=function(A,e){this.meshManager.adjustVisibility(A,e),this.wireframeManager.adjustVisibility(A,e)},Hf.prototype.changeVisibilityOfSelectedObjects=function(A,e){this.meshManager.changeVisibilityOfSelectedObjects(A,e),this.wireframeManager.changeVisibilityOfSelectedObjects(A,e)},Hf.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){this.meshManager.changeVisibilityOfNonSelectedObjects(A,e),this.wireframeManager.changeVisibilityOfNonSelectedObjects(A,e)},Hf.prototype.restoreVisibilityOfObjects=function(){this.meshManager.restoreVisibilityOfObjects(),this.wireframeManager.restoreVisibilityOfObjects()},Hf.prototype.disposeBufferAfterVbo=function(){this.meshManager.disposeBufferAfterVbo(),this.wireframeManager.disposeBufferAfterVbo()},Hf.prototype.addAllInstanceNodeToScene=function(A){this.meshManager.addAllInstanceNodeToScene(A)},Hf.prototype.getGeometryBuffersByUserId=function(A,e){return this.meshManager.getGeometryBuffersByUserId(A,e)},Hf.prototype.explode=function(A,e,t){this.meshManager.explode(A,e,t)},Hf.prototype.explosion=function(A,e){this.meshManager.explosion(A,e)},Hf.prototype.closeExplosion=function(A){this.meshManager.closeExplosion(A)},Hf.prototype.componentsExplosion=function(A,e){this.meshManager.componentsExplosion(A,e)},Hf.prototype.closeComponentsExplosion=function(A,e){this.meshManager.closeComponentsExplosion(A,e)},Hf.prototype.isPickableNode=function(A){if(!this.filteredIds||!this.filteredIds[A])return!0;var e=this.filteredIds[A];return!e[zc.HIDDEN]&&!e[zc.TRANSPARENT]},Hf.prototype.isHiddenNode=function(A){return!!(this.filteredIds&&this.filteredIds[A]&&this.filteredIds[A][zc.HIDDEN])},Hf.prototype.getMeshManager=function(){return this.meshManager},Hf.prototype.getWireFrameManager=function(){return this.wireframeManager},Hf.prototype.getTransparentUserIds=function(){return this.transparentUserIdSetObject};var Yf=function(A,e){tf.call(this,A),this.defaultManager=new Of(e,A),this.instancedManager=new Hf(A),this.loader=new ef(this)};function Wf(A,e){var t=A.__state.conversionName.toString(),i=Math.round(A.r),o=Math.round(A.g),n=Math.round(A.b),r=A.a,a=Math.round(A.h),s=A.s.toFixed(1),l=A.v.toFixed(1);if(e||"THREE_CHAR_HEX"===t||"SIX_CHAR_HEX"===t){for(var c=A.hex.toString(16);6>c.length;)c="0"+c;return"#"+c}return"CSS_RGB"===t?"rgb("+i+","+o+","+n+")":"CSS_RGBA"===t?"rgba("+i+","+o+","+n+","+r+")":"HEX"===t?"0x"+A.hex.toString(16):"RGB_ARRAY"===t?"["+i+","+o+","+n+"]":"RGBA_ARRAY"===t?"["+i+","+o+","+n+","+r+"]":"RGB_OBJ"===t?"{r:"+i+",g:"+o+",b:"+n+"}":"RGBA_OBJ"===t?"{r:"+i+",g:"+o+",b:"+n+",a:"+r+"}":"HSV_OBJ"===t?"{h:"+a+",s:"+s+",v:"+l+"}":"HSVA_OBJ"===t?"{h:"+a+",s:"+s+",v:"+l+",a:"+r+"}":"unknown format"}(Yf.prototype=Object.create(tf.prototype)).prepare=function(A,e){if(this.isLoaded()&&!this.isHidden()){this.prepareWireframe(this.model,e);this.model.getMaterialManager();this.model.getMaterialManager()._updateTextureMapping(),!this.model.lightmap||this.model.enableLightmap===vc.EnableLightmap&&this.model.lightmapIntensity===vc.LightmapIntensity||(this.model.enableLightmap=vc.EnableLightmap,this.model.lightmapIntensity=vc.LightmapIntensity,this.rebuildIndicesforLightmap(),this.updateNodes())}},Yf.prototype.settleData=function(A){this.addNodeInfoToOctantMap(),this.createMeshNodes(A)},Yf.prototype.addNodeInfoToOctantMap=function(){var A=this.model.manager,e=this.model.getEncodedDatabagId();this.loader.getDescriptor().traverseNodeInfosByComponent((function(t,i){A.addNodeInfoToOctantMap(e,t,i)}))},Yf.prototype.createMeshNodes=function(A){var e=this,t=this.model,i=this.loader.getDescriptor();this.instancedManager.createMeshNodes(t,i.getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(t,i.getStandardUserIds(),(function(){t.getMaterialManager()._updateTextureMapping(),e.clearCachedData(t),e.loaded=!0,A&&A()}))},Yf.prototype.clearCachedData=function(A){this.loader.getDescriptor().destroyReader(),this.loader.getDescriptor().clearReferencedMeshCache(),this.defaultManager.clearCachedData(),this.instancedManager.clearCachedData()};var Jf=Array.prototype.forEach,zf=Array.prototype.slice,Zf={BREAK:{},extend:function(A){return this.each(zf.call(arguments,1),(function(e){(this.isObject(e)?Object.keys(e):[]).forEach(function(t){this.isUndefined(e[t])||(A[t]=e[t])}.bind(this))}),this),A},defaults:function(A){return this.each(zf.call(arguments,1),(function(e){(this.isObject(e)?Object.keys(e):[]).forEach(function(t){this.isUndefined(A[t])&&(A[t]=e[t])}.bind(this))}),this),A},compose:function(){var A=zf.call(arguments);return function(){for(var e=zf.call(arguments),t=A.length-1;t>=0;t--)e=[A[t].apply(this,e)];return e[0]}},each:function(A,e,t){if(A)if(Jf&&A.forEach&&A.forEach===Jf)A.forEach(e,t);else if(A.length===A.length+0){var i,o=void 0;for(o=0,i=A.length;i>o;o++)if(o in A&&e.call(t,A[o],o)===this.BREAK)return}else for(var n in A)if(e.call(t,A[n],n)===this.BREAK)return},defer:function(A){setTimeout(A,0)},debounce:function(A,e,t){var i=void 0;return function(){var o=this,n=arguments;function r(){i=null,t||A.apply(o,n)}var a=t||!i;clearTimeout(i),i=setTimeout(r,e),a&&A.apply(o,n)}},toArray:function(A){return A.toArray?A.toArray():zf.call(A)},isUndefined:function(A){return void 0===A},isNull:function(A){return null===A},isNaN:function(A){function e(){return A.apply(this,arguments)}return e.toString=function(){return A.toString()},e}((function(A){return isNaN(A)})),isArray:Array.isArray||function(A){return A.constructor===Array},isObject:function(A){return A===Object(A)},isNumber:function(A){return A===A+0},isString:function(A){return A===A+""},isBoolean:function(A){return!1===A||!0===A},isFunction:function(A){return"[object Function]"===Object.prototype.toString.call(A)}},Xf=[{litmus:Zf.isString,conversions:{THREE_CHAR_HEX:{read:function(A){var e=A.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return null!==e&&{space:"HEX",hex:parseInt("0x"+e[1].toString()+e[1].toString()+e[2].toString()+e[2].toString()+e[3].toString()+e[3].toString(),0)}},write:Wf},SIX_CHAR_HEX:{read:function(A){var e=A.match(/^#([A-F0-9]{6})$/i);return null!==e&&{space:"HEX",hex:parseInt("0x"+e[1].toString(),0)}},write:Wf},CSS_RGB:{read:function(A){var e=A.match(/^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==e&&{space:"RGB",r:parseFloat(e[1]),g:parseFloat(e[2]),b:parseFloat(e[3])}},write:Wf},CSS_RGBA:{read:function(A){var e=A.match(/^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==e&&{space:"RGB",r:parseFloat(e[1]),g:parseFloat(e[2]),b:parseFloat(e[3]),a:parseFloat(e[4])}},write:Wf}}},{litmus:Zf.isNumber,conversions:{HEX:{read:function(A){return{space:"HEX",hex:A,conversionName:"HEX"}},write:function(A){return A.hex}}}},{litmus:Zf.isArray,conversions:{RGB_ARRAY:{read:function(A){return 3===A.length&&{space:"RGB",r:A[0],g:A[1],b:A[2]}},write:function(A){return[A.r,A.g,A.b]}},RGBA_ARRAY:{read:function(A){return 4===A.length&&{space:"RGB",r:A[0],g:A[1],b:A[2],a:A[3]}},write:function(A){return[A.r,A.g,A.b,A.a]}}}},{litmus:Zf.isObject,conversions:{RGBA_OBJ:{read:function(A){return!!(Zf.isNumber(A.r)&&Zf.isNumber(A.g)&&Zf.isNumber(A.b)&&Zf.isNumber(A.a))&&{space:"RGB",r:A.r,g:A.g,b:A.b,a:A.a}},write:function(A){return{r:A.r,g:A.g,b:A.b,a:A.a}}},RGB_OBJ:{read:function(A){return!!(Zf.isNumber(A.r)&&Zf.isNumber(A.g)&&Zf.isNumber(A.b))&&{space:"RGB",r:A.r,g:A.g,b:A.b}},write:function(A){return{r:A.r,g:A.g,b:A.b}}},HSVA_OBJ:{read:function(A){return!!(Zf.isNumber(A.h)&&Zf.isNumber(A.s)&&Zf.isNumber(A.v)&&Zf.isNumber(A.a))&&{space:"HSV",h:A.h,s:A.s,v:A.v,a:A.a}},write:function(A){return{h:A.h,s:A.s,v:A.v,a:A.a}}},HSV_OBJ:{read:function(A){return!!(Zf.isNumber(A.h)&&Zf.isNumber(A.s)&&Zf.isNumber(A.v))&&{space:"HSV",h:A.h,s:A.s,v:A.v}},write:function(A){return{h:A.h,s:A.s,v:A.v}}}}}],_f=void 0,$f=void 0,Am=function(){$f=!1;var A=arguments.length>1?Zf.toArray(arguments):arguments[0];return Zf.each(Xf,(function(e){if(e.litmus(A))return Zf.each(e.conversions,(function(e,t){if(_f=e.read(A),!1===$f&&!1!==_f)return $f=_f,_f.conversionName=t,_f.conversion=e,Zf.BREAK})),Zf.BREAK})),$f},em=void 0,tm={hsv_to_rgb:function(A,e,t){var i=Math.floor(A/60)%6,o=A/60-Math.floor(A/60),n=t*(1-e),r=t*(1-o*e),a=t*(1-(1-o)*e),s=[[t,a,n],[r,t,n],[n,t,a],[n,r,t],[a,n,t],[t,n,r]][i];return{r:255*s[0],g:255*s[1],b:255*s[2]}},rgb_to_hsv:function(A,e,t){var i=Math.min(A,e,t),o=Math.max(A,e,t),n=o-i,r=void 0;return 0===o?{h:NaN,s:0,v:0}:(r=A===o?(e-t)/n:e===o?2+(t-A)/n:4+(A-e)/n,0>(r/=6)&&(r+=1),{h:360*r,s:n/o,v:o/255})},rgb_to_hex:function(A,e,t){var i=this.hex_with_component(0,2,A);return i=this.hex_with_component(i,1,e),i=this.hex_with_component(i,0,t)},component_from_hex:function(A,e){return A>>8*e&255},hex_with_component:function(A,e,t){return t<<(em=8*e)|A&~(255<<em)}},im="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},om=function(A,e){if(!(A instanceof e))throw new TypeError("Cannot call a class as a function")},nm=function(){function A(A,e){for(var t=0;e.length>t;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(A,i.key,i)}}return function(e,t,i){return t&&A(e.prototype,t),i&&A(e,i),e}}(),rm=function A(e,t,i){null===e&&(e=Function.prototype);var o=Object.getOwnPropertyDescriptor(e,t);if(void 0===o){var n=Object.getPrototypeOf(e);return null===n?void 0:A(n,t,i)}if("value"in o)return o.value;var r=o.get;return void 0!==r?r.call(i):void 0},am=function(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);A.prototype=Object.create(e&&e.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(A,e):A.__proto__=e)},sm=function(A,e){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?A:e},lm=function(){function A(){if(om(this,A),this.__state=Am.apply(this,arguments),!1===this.__state)throw new Error("Failed to interpret color arguments");this.__state.a=this.__state.a||1}return nm(A,[{key:"toString",value:function(){return Wf(this)}},{key:"toHexString",value:function(){return Wf(this,!0)}},{key:"toOriginal",value:function(){return this.__state.conversion.write(this)}}]),A}();function cm(A,e,t){Object.defineProperty(A,e,{get:function(){return"RGB"===this.__state.space||lm.recalculateRGB(this,e,t),this.__state[e]},set:function(A){"RGB"!==this.__state.space&&(lm.recalculateRGB(this,e,t),this.__state.space="RGB"),this.__state[e]=A}})}function hm(A,e){Object.defineProperty(A,e,{get:function(){return"HSV"===this.__state.space||lm.recalculateHSV(this),this.__state[e]},set:function(A){"HSV"!==this.__state.space&&(lm.recalculateHSV(this),this.__state.space="HSV"),this.__state[e]=A}})}lm.recalculateRGB=function(A,e,t){if("HEX"===A.__state.space)A.__state[e]=tm.component_from_hex(A.__state.hex,t);else{if("HSV"!==A.__state.space)throw new Error("Corrupted color state");Zf.extend(A.__state,tm.hsv_to_rgb(A.__state.h,A.__state.s,A.__state.v))}},lm.recalculateHSV=function(A){var e=tm.rgb_to_hsv(A.r,A.g,A.b);Zf.extend(A.__state,{s:e.s,v:e.v}),Zf.isNaN(e.h)?Zf.isUndefined(A.__state.h)&&(A.__state.h=0):A.__state.h=e.h},lm.COMPONENTS=["r","g","b","h","s","v","hex","a"],cm(lm.prototype,"r",2),cm(lm.prototype,"g",1),cm(lm.prototype,"b",0),hm(lm.prototype,"h"),hm(lm.prototype,"s"),hm(lm.prototype,"v"),Object.defineProperty(lm.prototype,"a",{get:function(){return this.__state.a},set:function(A){this.__state.a=A}}),Object.defineProperty(lm.prototype,"hex",{get:function(){return"HEX"!==!this.__state.space&&(this.__state.hex=tm.rgb_to_hex(this.r,this.g,this.b)),this.__state.hex},set:function(A){this.__state.space="HEX",this.__state.hex=A}});var dm=function(){function A(e,t){om(this,A),this.initialValue=e[t],this.domElement=document.createElement("div"),this.object=e,this.property=t,this.__onChange=void 0,this.__onFinishChange=void 0}return nm(A,[{key:"onChange",value:function(A){return this.__onChange=A,this}},{key:"onFinishChange",value:function(A){return this.__onFinishChange=A,this}},{key:"setValue",value:function(A){return this.object[this.property]=A,this.__onChange&&this.__onChange.call(this,A),this.updateDisplay(),this}},{key:"getValue",value:function(){return this.object[this.property]}},{key:"updateDisplay",value:function(){return this}},{key:"isModified",value:function(){return this.initialValue!==this.getValue()}}]),A}(),pm={};Zf.each({HTMLEvents:["change"],MouseEvents:["click","mousemove","mousedown","mouseup","mouseover"],KeyboardEvents:["keydown"]},(function(A,e){Zf.each(A,(function(A){pm[A]=e}))}));var gm=/(\d+(\.\d+)?)px/;function um(A){if("0"===A||Zf.isUndefined(A))return 0;var e=A.match(gm);return Zf.isNull(e)?0:parseFloat(e[1])}var fm={makeSelectable:function(A,e){void 0!==A&&void 0!==A.style&&(A.onselectstart=e?function(){return!1}:function(){},A.style.MozUserSelect=e?"auto":"none",A.style.KhtmlUserSelect=e?"auto":"none",A.unselectable=e?"on":"off")},makeFullscreen:function(A,e,t){var i=t,o=e;Zf.isUndefined(o)&&(o=!0),Zf.isUndefined(i)&&(i=!0),A.style.position="absolute",o&&(A.style.left=0,A.style.right=0),i&&(A.style.top=0,A.style.bottom=0)},fakeEvent:function(A,e,t,i){var o=t||{},n=pm[e];if(!n)throw new Error("Event type "+e+" not supported.");var r=document.createEvent(n);switch(n){case"MouseEvents":r.initMouseEvent(e,o.bubbles||!1,o.cancelable||!0,window,o.clickCount||1,0,0,o.x||o.clientX||0,o.y||o.clientY||0,!1,!1,!1,!1,0,null);break;case"KeyboardEvents":var a=r.initKeyboardEvent||r.initKeyEvent;Zf.defaults(o,{cancelable:!0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,keyCode:void 0,charCode:void 0}),a(e,o.bubbles||!1,o.cancelable,window,o.ctrlKey,o.altKey,o.shiftKey,o.metaKey,o.keyCode,o.charCode);break;default:r.initEvent(e,o.bubbles||!1,o.cancelable||!0)}Zf.defaults(r,i),A.dispatchEvent(r)},bind:function(A,e,t,i){return A.addEventListener?A.addEventListener(e,t,i||!1):A.attachEvent&&A.attachEvent("on"+e,t),fm},unbind:function(A,e,t,i){return A.removeEventListener?A.removeEventListener(e,t,i||!1):A.detachEvent&&A.detachEvent("on"+e,t),fm},addClass:function(A,e){if(void 0===A.className)A.className=e;else if(A.className!==e){var t=A.className.split(/ +/);-1===t.indexOf(e)&&(t.push(e),A.className=t.join(" ").replace(/^\s+/,"").replace(/\s+$/,""))}return fm},removeClass:function(A,e){if(e)if(A.className===e)A.removeAttribute("class");else{var t=A.className.split(/ +/),i=t.indexOf(e);-1!==i&&(t.splice(i,1),A.className=t.join(" "))}else A.className=void 0;return fm},hasClass:function(A,e){return new RegExp("(?:^|\\s+)"+e+"(?:\\s+|$)").test(A.className)||!1},getWidth:function(A){var e=getComputedStyle(A);return um(e["border-left-width"])+um(e["border-right-width"])+um(e["padding-left"])+um(e["padding-right"])+um(e.width)},getHeight:function(A){var e=getComputedStyle(A);return um(e["border-top-width"])+um(e["border-bottom-width"])+um(e["padding-top"])+um(e["padding-bottom"])+um(e.height)},getOffset:function(A){var e=A,t={left:0,top:0};if(e.offsetParent)do{t.left+=e.offsetLeft,t.top+=e.offsetTop,e=e.offsetParent}while(e);return t},isActive:function(A){return A===document.activeElement&&(A.type||A.href)}},mm=function(A){function e(A,t){om(this,e);var i=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t)),o=i;return i.__prev=i.getValue(),i.__checkbox=document.createElement("input"),i.__checkbox.setAttribute("type","checkbox"),fm.bind(i.__checkbox,"change",(function(){o.setValue(!o.__prev)}),!1),i.domElement.appendChild(i.__checkbox),i.updateDisplay(),i}return am(e,A),nm(e,[{key:"setValue",value:function(A){var t=rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"setValue",this).call(this,A);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),this.__prev=this.getValue(),t}},{key:"updateDisplay",value:function(){return!0===this.getValue()?(this.__checkbox.setAttribute("checked","checked"),this.__checkbox.checked=!0,this.__prev=!0):(this.__checkbox.checked=!1,this.__prev=!1),rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"updateDisplay",this).call(this)}}]),e}(dm),Cm=function(A){function e(A,t,i){om(this,e);var o=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t)),n=i,r=o;if(o.__select=document.createElement("select"),Zf.isArray(n)){var a={};Zf.each(n,(function(A){a[A]=A})),n=a}return Zf.each(n,(function(A,e){var t=document.createElement("option");t.innerHTML=e,t.setAttribute("value",A),r.__select.appendChild(t)})),o.updateDisplay(),fm.bind(o.__select,"change",(function(){r.setValue(this.options[this.selectedIndex].value)})),o.domElement.appendChild(o.__select),o}return am(e,A),nm(e,[{key:"setValue",value:function(A){var t=rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"setValue",this).call(this,A);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),t}},{key:"updateDisplay",value:function(){return fm.isActive(this.__select)?this:(this.__select.value=this.getValue(),rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"updateDisplay",this).call(this))}}]),e}(dm),ym=function(A){function e(A,t){om(this,e);var i=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t)),o=i;function n(){o.setValue(o.__input.value)}return i.__input=document.createElement("input"),i.__input.setAttribute("type","text"),fm.bind(i.__input,"keyup",n),fm.bind(i.__input,"change",n),fm.bind(i.__input,"blur",(function(){o.__onFinishChange&&o.__onFinishChange.call(o,o.getValue())})),fm.bind(i.__input,"keydown",(function(A){13===A.keyCode&&this.blur()})),i.updateDisplay(),i.domElement.appendChild(i.__input),i}return am(e,A),nm(e,[{key:"updateDisplay",value:function(){return fm.isActive(this.__input)||(this.__input.value=this.getValue()),rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"updateDisplay",this).call(this)}}]),e}(dm);function vm(A){var e=A.toString();return e.indexOf(".")>-1?e.length-e.indexOf(".")-1:0}var Im=function(A){function e(A,t,i){om(this,e);var o=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t)),n=i||{};return o.__min=n.min,o.__max=n.max,o.__step=n.step,o.__impliedStep=Zf.isUndefined(o.__step)?0===o.initialValue?1:Math.pow(10,Math.floor(Math.log(Math.abs(o.initialValue))/Math.LN10))/10:o.__step,o.__precision=vm(o.__impliedStep),o}return am(e,A),nm(e,[{key:"setValue",value:function(A){var t=A;return void 0!==this.__min&&this.__min>t?t=this.__min:void 0!==this.__max&&t>this.__max&&(t=this.__max),void 0!==this.__step&&t%this.__step!=0&&(t=Math.round(t/this.__step)*this.__step),rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"setValue",this).call(this,t)}},{key:"min",value:function(A){return this.__min=A,this}},{key:"max",value:function(A){return this.__max=A,this}},{key:"step",value:function(A){return this.__step=A,this.__impliedStep=A,this.__precision=vm(A),this}}]),e}(dm);var Em=function(A){function e(A,t,i){om(this,e);var o=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t,i));o.__truncationSuspended=!1;var n=o,r=void 0;function a(){n.__onFinishChange&&n.__onFinishChange.call(n,n.getValue())}function s(A){var e=r-A.clientY;n.setValue(n.getValue()+e*n.__impliedStep),r=A.clientY}function l(){fm.unbind(window,"mousemove",s),fm.unbind(window,"mouseup",l),a()}return o.__input=document.createElement("input"),o.__input.setAttribute("type","text"),fm.bind(o.__input,"change",(function(){var A=parseFloat(n.__input.value);Zf.isNaN(A)||n.setValue(A)})),fm.bind(o.__input,"blur",(function(){a()})),fm.bind(o.__input,"mousedown",(function(A){fm.bind(window,"mousemove",s),fm.bind(window,"mouseup",l),r=A.clientY})),fm.bind(o.__input,"keydown",(function(A){13===A.keyCode&&(n.__truncationSuspended=!0,this.blur(),n.__truncationSuspended=!1,a())})),o.updateDisplay(),o.domElement.appendChild(o.__input),o}return am(e,A),nm(e,[{key:"updateDisplay",value:function(){var A,t;return this.__input.value=this.__truncationSuspended?this.getValue():(A=this.getValue(),t=Math.pow(10,this.__precision),Math.round(A*t)/t),rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"updateDisplay",this).call(this)}}]),e}(Im);function Bm(A,e,t,i,o){return i+(A-e)/(t-e)*(o-i)}var xm=function(A){function e(A,t,i,o,n){om(this,e);var r=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t,{min:i,max:o,step:n})),a=r;function s(A){A.preventDefault();var e=a.__background.getBoundingClientRect();return a.setValue(Bm(A.clientX,e.left,e.right,a.__min,a.__max)),!1}function l(){fm.unbind(window,"mousemove",s),fm.unbind(window,"mouseup",l),a.__onFinishChange&&a.__onFinishChange.call(a,a.getValue())}function c(A){var e=A.touches[0].clientX,t=a.__background.getBoundingClientRect();a.setValue(Bm(e,t.left,t.right,a.__min,a.__max))}function h(){fm.unbind(window,"touchmove",c),fm.unbind(window,"touchend",h),a.__onFinishChange&&a.__onFinishChange.call(a,a.getValue())}return r.__background=document.createElement("div"),r.__foreground=document.createElement("div"),fm.bind(r.__background,"mousedown",(function(A){document.activeElement.blur(),fm.bind(window,"mousemove",s),fm.bind(window,"mouseup",l),s(A)})),fm.bind(r.__background,"touchstart",(function(A){if(1!==A.touches.length)return;fm.bind(window,"touchmove",c),fm.bind(window,"touchend",h),c(A)})),fm.addClass(r.__background,"slider"),fm.addClass(r.__foreground,"slider-fg"),r.updateDisplay(),r.__background.appendChild(r.__foreground),r.domElement.appendChild(r.__background),r}return am(e,A),nm(e,[{key:"updateDisplay",value:function(){var A=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*A+"%",rm(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"updateDisplay",this).call(this)}}]),e}(Im),Sm=function(A){function e(A,t,i){om(this,e);var o=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t)),n=o;return o.__button=document.createElement("div"),o.__button.innerHTML=void 0===i?"Fire":i,fm.bind(o.__button,"click",(function(A){return A.preventDefault(),n.fire(),!1})),fm.addClass(o.__button,"button"),o.domElement.appendChild(o.__button),o}return am(e,A),nm(e,[{key:"fire",value:function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())}}]),e}(dm),wm=function(A){function e(A,t){om(this,e);var i=sm(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,A,t));i.__color=new lm(i.getValue()),i.__temp=new lm(0);var o=i;i.domElement=document.createElement("div"),fm.makeSelectable(i.domElement,!1),i.__selector=document.createElement("div"),i.__selector.className="selector",i.__saturation_field=document.createElement("div"),i.__saturation_field.className="saturation-field",i.__field_knob=document.createElement("div"),i.__field_knob.className="field-knob",i.__field_knob_border="2px solid ",i.__hue_knob=document.createElement("div"),i.__hue_knob.className="hue-knob",i.__hue_field=document.createElement("div"),i.__hue_field.className="hue-field",i.__input=document.createElement("input"),i.__input.type="text",i.__input_textShadow="0 1px 1px ",fm.bind(i.__input,"keydown",(function(A){13===A.keyCode&&h.call(this)})),fm.bind(i.__input,"blur",h),fm.bind(i.__selector,"mousedown",(function(){fm.addClass(this,"drag").bind(window,"mouseup",(function(){fm.removeClass(o.__selector,"drag")}))})),fm.bind(i.__selector,"touchstart",(function(){fm.addClass(this,"drag").bind(window,"touchend",(function(){fm.removeClass(o.__selector,"drag")}))}));var n,r=document.createElement("div");function a(A){p(A),fm.bind(window,"mousemove",p),fm.bind(window,"touchmove",p),fm.bind(window,"mouseup",l),fm.bind(window,"touchend",l)}function s(A){g(A),fm.bind(window,"mousemove",g),fm.bind(window,"touchmove",g),fm.bind(window,"mouseup",c),fm.bind(window,"touchend",c)}function l(){fm.unbind(window,"mousemove",p),fm.unbind(window,"touchmove",p),fm.unbind(window,"mouseup",l),fm.unbind(window,"touchend",l),d()}function c(){fm.unbind(window,"mousemove",g),fm.unbind(window,"touchmove",g),fm.unbind(window,"mouseup",c),fm.unbind(window,"touchend",c),d()}function h(){var A=Am(this.value);!1!==A?(o.__color.__state=A,o.setValue(o.__color.toOriginal())):this.value=o.__color.toString()}function d(){o.__onFinishChange&&o.__onFinishChange.call(o,o.__color.toOriginal())}function p(A){-1===A.type.indexOf("touch")&&A.preventDefault();var e=o.__saturation_field.getBoundingClientRect(),t=A.touches&&A.touches[0]||A,i=(t.clientX-e.left)/(e.right-e.left),n=1-(t.clientY-e.top)/(e.bottom-e.top);return n>1?n=1:0>n&&(n=0),i>1?i=1:0>i&&(i=0),o.__color.v=n,o.__color.s=i,o.setValue(o.__color.toOriginal()),!1}function g(A){-1===A.type.indexOf("touch")&&A.preventDefault();var e=o.__hue_field.getBoundingClientRect(),t=1-((A.touches&&A.touches[0]||A).clientY-e.top)/(e.bottom-e.top);return t>1?t=1:0>t&&(t=0),o.__color.h=360*t,o.setValue(o.__color.toOriginal()),!1}return Zf.extend(i.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}),Zf.extend(i.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:i.__field_knob_border+(.5>i.__color.v?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1}),Zf.extend(i.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1}),Zf.extend(i.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"}),Zf.extend(r.style,{width:"100%",height:"100%",background:"none"}),bm(r,"top","rgba(0,0,0,0)","#000"),Zf.extend(i.__hue_field.style,{width:"15px",height:"100px",border:"1px solid #555",cursor:"ns-resize",position:"absolute",top:"3px",right:"3px"}),(n=i.__hue_field).style.background="",n.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);",n.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",n.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",n.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",n.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",Zf.extend(i.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:i.__input_textShadow+"rgba(0,0,0,0.7)"}),fm.bind(i.__saturation_field,"mousedown",a),fm.bind(i.__saturation_field,"touchstart",a),fm.bind(i.__field_knob,"mousedown",a),fm.bind(i.__field_knob,"touchstart",a),fm.bind(i.__hue_field,"mousedown",s),fm.bind(i.__hue_field,"touchstart",s),i.__saturation_field.appendChild(r),i.__selector.appendChild(i.__field_knob),i.__selector.appendChild(i.__saturation_field),i.__selector.appendChild(i.__hue_field),i.__hue_field.appendChild(i.__hue_knob),i.domElement.appendChild(i.__input),i.domElement.appendChild(i.__selector),i.updateDisplay(),i}return am(e,A),nm(e,[{key:"updateDisplay",value:function(){var A=Am(this.getValue());if(!1!==A){var e=!1;Zf.each(lm.COMPONENTS,(function(t){if(!Zf.isUndefined(A[t])&&!Zf.isUndefined(this.__color.__state[t])&&A[t]!==this.__color.__state[t])return e=!0,{}}),this),e&&Zf.extend(this.__color.__state,A)}Zf.extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var t=.5>this.__color.v||this.__color.s>.5?255:0,i=255-t;Zf.extend(this.__field_knob.style,{marginLeft:100*this.__color.s-7+"px",marginTop:100*(1-this.__color.v)-7+"px",backgroundColor:this.__temp.toHexString(),border:this.__field_knob_border+"rgb("+t+","+t+","+t+")"}),this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px",this.__temp.s=1,this.__temp.v=1,bm(this.__saturation_field,"left","#fff",this.__temp.toHexString()),this.__input.value=this.__color.toString(),Zf.extend(this.__input.style,{backgroundColor:this.__color.toHexString(),color:"rgb("+t+","+t+","+t+")",textShadow:this.__input_textShadow+"rgba("+i+","+i+","+i+",.7)"})}}]),e}(dm),Mm=["-moz-","-o-","-webkit-","-ms-",""];function bm(A,e,t,i){A.style.background="",Zf.each(Mm,(function(o){A.style.cssText+="background: "+o+"linear-gradient("+e+", "+t+" 0%, "+i+" 100%); "}))}var Um=function(A,e){var t=e||document,i=document.createElement("style");i.type="text/css",i.innerHTML=A;var o=t.getElementsByTagName("head")[0];try{o.appendChild(i)}catch(A){}},Fm='<div id="dg-save" class="dg dialogue">\n\n Here\'s the new load parameter for your <code>GUI</code>\'s constructor:\n\n <textarea id="dg-new-constructor"></textarea>\n\n <div id="dg-save-locally">\n\n <input id="dg-local-storage" type="checkbox"/> Automatically save\n values to <code>localStorage</code> on exit.\n\n <div id="dg-local-explain">The values saved to <code>localStorage</code> will\n override those passed to <code>dat.GUI</code>\'s constructor. This makes it\n easier to work incrementally, but <code>localStorage</code> is fragile,\n and your friends may not see the same values you do.\n\n </div>\n\n </div>\n\n</div>',Km=function(A,e){var t=A[e];return Zf.isArray(arguments[2])||Zf.isObject(arguments[2])?new Cm(A,e,arguments[2]):Zf.isNumber(t)?Zf.isNumber(arguments[2])&&Zf.isNumber(arguments[3])?Zf.isNumber(arguments[4])?new xm(A,e,arguments[2],arguments[3],arguments[4]):new xm(A,e,arguments[2],arguments[3]):Zf.isNumber(arguments[4])?new Em(A,e,{min:arguments[2],max:arguments[3],step:arguments[4]}):new Em(A,e,{min:arguments[2],max:arguments[3]}):Zf.isString(t)?new ym(A,e):Zf.isFunction(t)?new Sm(A,e,""):Zf.isBoolean(t)?new mm(A,e):null};var Qm=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(A){setTimeout(A,1e3/60)},Rm=function(){function A(){om(this,A),this.backgroundElement=document.createElement("div"),Zf.extend(this.backgroundElement.style,{backgroundColor:"rgba(0,0,0,0.8)",top:0,left:0,display:"none",zIndex:"1000",opacity:0,WebkitTransition:"opacity 0.2s linear",transition:"opacity 0.2s linear"}),fm.makeFullscreen(this.backgroundElement),this.backgroundElement.style.position="fixed",this.domElement=document.createElement("div"),Zf.extend(this.domElement.style,{position:"fixed",display:"none",zIndex:"1001",opacity:0,WebkitTransition:"-webkit-transform 0.2s ease-out, opacity 0.2s linear",transition:"transform 0.2s ease-out, opacity 0.2s linear"}),document.body.appendChild(this.backgroundElement),document.body.appendChild(this.domElement);var e=this;fm.bind(this.backgroundElement,"click",(function(){e.hide()}))}return nm(A,[{key:"show",value:function(){var A=this;this.backgroundElement.style.display="block",this.domElement.style.display="block",this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)",this.layout(),Zf.defer((function(){A.backgroundElement.style.opacity=1,A.domElement.style.opacity=1,A.domElement.style.webkitTransform="scale(1)"}))}},{key:"hide",value:function(){var A=this,e=function e(){A.domElement.style.display="none",A.backgroundElement.style.display="none",fm.unbind(A.domElement,"webkitTransitionEnd",e),fm.unbind(A.domElement,"transitionend",e),fm.unbind(A.domElement,"oTransitionEnd",e)};fm.bind(this.domElement,"webkitTransitionEnd",e),fm.bind(this.domElement,"transitionend",e),fm.bind(this.domElement,"oTransitionEnd",e),this.backgroundElement.style.opacity=0,this.domElement.style.opacity=0,this.domElement.style.webkitTransform="scale(1.1)"}},{key:"layout",value:function(){this.domElement.style.left=window.innerWidth/2-fm.getWidth(this.domElement)/2+"px",this.domElement.style.top=window.innerHeight/2-fm.getHeight(this.domElement)/2+"px"}}]),A}();Um(function(A){if(A&&"undefined"!=typeof window){var e=document.createElement("style");return e.setAttribute("type","text/css"),e.innerHTML=A,document.head.appendChild(e),A}}(".dg ul{list-style:none;margin:0;padding:0;width:100%;clear:both}.dg.ac{position:fixed;top:0;left:0;right:0;height:0;z-index:0}.dg:not(.ac) .main{overflow:hidden}.dg.main{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear}.dg.main.taller-than-window{overflow-y:auto}.dg.main.taller-than-window .close-button{opacity:1;margin-top:-1px;border-top:1px solid #2c2c2c}.dg.main ul.closed .close-button{opacity:1 !important}.dg.main:hover .close-button,.dg.main .close-button.drag{opacity:1}.dg.main .close-button{-webkit-transition:opacity .1s linear;-o-transition:opacity .1s linear;-moz-transition:opacity .1s linear;transition:opacity .1s linear;border:0;line-height:19px;height:20px;cursor:pointer;text-align:center;background-color:#000}.dg.main .close-button.close-top{position:relative}.dg.main .close-button.close-bottom{position:absolute}.dg.main .close-button:hover{background-color:#111}.dg.a{float:right;margin-right:15px;overflow-y:visible}.dg.a.has-save>ul.close-top{margin-top:0}.dg.a.has-save>ul.close-bottom{margin-top:27px}.dg.a.has-save>ul.closed{margin-top:0}.dg.a .save-row{top:0;z-index:1002}.dg.a .save-row.close-top{position:relative}.dg.a .save-row.close-bottom{position:fixed}.dg li{-webkit-transition:height .1s ease-out;-o-transition:height .1s ease-out;-moz-transition:height .1s ease-out;transition:height .1s ease-out;-webkit-transition:overflow .1s linear;-o-transition:overflow .1s linear;-moz-transition:overflow .1s linear;transition:overflow .1s linear}.dg li:not(.folder){cursor:auto;height:27px;line-height:27px;padding:0 4px 0 5px}.dg li.folder{padding:0;border-left:4px solid rgba(0,0,0,0)}.dg li.title{cursor:pointer;margin-left:-4px}.dg .closed li:not(.title),.dg .closed ul li,.dg .closed ul li>*{height:0;overflow:hidden;border:0}.dg .cr{clear:both;padding-left:3px;height:27px;overflow:hidden}.dg .property-name{cursor:default;float:left;clear:left;width:40%;overflow:hidden;text-overflow:ellipsis}.dg .c{float:left;width:60%;position:relative}.dg .c input[type=text]{border:0;margin-top:4px;padding:3px;width:100%;float:right}.dg .has-slider input[type=text]{width:30%;margin-left:0}.dg .slider{float:left;width:66%;margin-left:-5px;margin-right:0;height:19px;margin-top:4px}.dg .slider-fg{height:100%}.dg .c input[type=checkbox]{margin-top:7px}.dg .c select{margin-top:5px}.dg .cr.function,.dg .cr.function .property-name,.dg .cr.function *,.dg .cr.boolean,.dg .cr.boolean *{cursor:pointer}.dg .cr.color{overflow:visible}.dg .selector{display:none;position:absolute;margin-left:-9px;margin-top:23px;z-index:10}.dg .c:hover .selector,.dg .selector.drag{display:block}.dg li.save-row{padding:0}.dg li.save-row .button{display:inline-block;padding:0px 6px}.dg.dialogue{background-color:#222;width:460px;padding:15px;font-size:13px;line-height:15px}#dg-new-constructor{padding:10px;color:#222;font-family:Monaco, monospace;font-size:10px;border:0;resize:none;box-shadow:inset 1px 1px 1px #888;word-wrap:break-word;margin:12px 0;display:block;width:440px;overflow-y:scroll;height:100px;position:relative}#dg-local-explain{display:none;font-size:11px;line-height:17px;border-radius:3px;background-color:#333;padding:8px;margin-top:10px}#dg-local-explain code{font-size:10px}#dat-gui-save-locally{display:none}.dg{color:#eee;font:11px 'Lucida Grande', sans-serif;text-shadow:0 -1px 0 #111}.dg.main::-webkit-scrollbar{width:5px;background:#1a1a1a}.dg.main::-webkit-scrollbar-corner{height:0;display:none}.dg.main::-webkit-scrollbar-thumb{border-radius:5px;background:#676767}.dg li:not(.folder){background:#1a1a1a;border-bottom:1px solid #2c2c2c}.dg li.save-row{line-height:25px;background:#dad5cb;border:0}.dg li.save-row select{margin-left:5px;width:108px}.dg li.save-row .button{margin-left:5px;margin-top:1px;border-radius:2px;font-size:9px;line-height:7px;padding:4px 4px 5px 4px;background:#c5bdad;color:#fff;text-shadow:0 1px 0 #b0a58f;box-shadow:0 -1px 0 #b0a58f;cursor:pointer}.dg li.save-row .button.gears{background:#c5bdad url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAYAAAB/9ZQ7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpiYKAU/P//PwGIC/ApCABiBSAW+I8AClAcgKxQ4T9hoMAEUrxx2QSGN6+egDX+/vWT4e7N82AMYoPAx/evwWoYoSYbACX2s7KxCxzcsezDh3evFoDEBYTEEqycggWAzA9AuUSQQgeYPa9fPv6/YWm/Acx5IPb7ty/fw+QZblw67vDs8R0YHyQhgObx+yAJkBqmG5dPPDh1aPOGR/eugW0G4vlIoTIfyFcA+QekhhHJhPdQxbiAIguMBTQZrPD7108M6roWYDFQiIAAv6Aow/1bFwXgis+f2LUAynwoIaNcz8XNx3Dl7MEJUDGQpx9gtQ8YCueB+D26OECAAQDadt7e46D42QAAAABJRU5ErkJggg==) 2px 1px no-repeat;height:7px;width:8px}.dg li.save-row .button:hover{background-color:#bab19e;box-shadow:0 -1px 0 #b0a58f}.dg li.folder{border-bottom:0}.dg li.title{padding-left:16px;background:#000 url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlI+hKgFxoCgAOw==) 6px 10px no-repeat;cursor:pointer;border-bottom:1px solid rgba(255,255,255,0.2)}.dg .closed li.title{background-image:url(data:image/gif;base64,R0lGODlhBQAFAJEAAP////Pz8////////yH5BAEAAAIALAAAAAAFAAUAAAIIlGIWqMCbWAEAOw==)}.dg .cr.boolean{border-left:3px solid #806787}.dg .cr.color{border-left:3px solid}.dg .cr.function{border-left:3px solid #e61d5f}.dg .cr.number{border-left:3px solid #2FA1D6}.dg .cr.number input[type=text]{color:#2FA1D6}.dg .cr.string{border-left:3px solid #1ed36f}.dg .cr.string input[type=text]{color:#1ed36f}.dg .cr.function:hover,.dg .cr.boolean:hover{background:#111}.dg .c input[type=text]{background:#303030;outline:none}.dg .c input[type=text]:hover{background:#3c3c3c}.dg .c input[type=text]:focus{background:#494949;color:#fff}.dg .c .slider{background:#303030;cursor:ew-resize}.dg .c .slider-fg{background:#2FA1D6;max-width:100%}.dg .c .slider:hover{background:#3c3c3c}.dg .c .slider:hover .slider-fg{background:#44abda}\n"));var Tm=function(){try{return!!window.localStorage}catch(A){return!1}}(),km=void 0,Dm=!0,Lm=void 0,Nm=!1,Om=[],Vm=function A(e){var t=this,i=e||{};this.domElement=document.createElement("div"),this.__ul=document.createElement("ul"),this.domElement.appendChild(this.__ul),fm.addClass(this.domElement,"dg"),this.__folders={},this.__controllers=[],this.__rememberedObjects=[],this.__rememberedObjectIndecesToControllers=[],this.__listening=[],i=Zf.defaults(i,{closeOnTop:!1,autoPlace:!0,width:A.DEFAULT_WIDTH}),i=Zf.defaults(i,{resizable:i.autoPlace,hideable:i.autoPlace}),Zf.isUndefined(i.load)?i.load={preset:"Default"}:i.preset&&(i.load.preset=i.preset),Zf.isUndefined(i.parent)&&i.hideable&&Om.push(this),i.resizable=Zf.isUndefined(i.parent)&&i.resizable,i.autoPlace&&Zf.isUndefined(i.scrollable)&&(i.scrollable=!0);var o=Tm&&"true"===localStorage.getItem(Ym(this,"isLocal")),n=void 0,r=void 0;if(Object.defineProperties(this,{parent:{get:function(){return i.parent}},scrollable:{get:function(){return i.scrollable}},autoPlace:{get:function(){return i.autoPlace}},closeOnTop:{get:function(){return i.closeOnTop}},preset:{get:function(){return t.parent?t.getRoot().preset:i.load.preset},set:function(A){t.parent?t.getRoot().preset=A:i.load.preset=A,function(A){for(var e=0;A.__preset_select.length>e;e++)A.__preset_select[e].value===A.preset&&(A.__preset_select.selectedIndex=e)}(this),t.revert()}},width:{get:function(){return i.width},set:function(A){i.width=A,Xm(t,A)}},name:{get:function(){return i.name},set:function(A){i.name=A,r&&(r.innerHTML=i.name)}},closed:{get:function(){return i.closed},set:function(e){i.closed=e,i.closed?fm.addClass(t.__ul,A.CLASS_CLOSED):fm.removeClass(t.__ul,A.CLASS_CLOSED),this.onResize(),t.__closeButton&&(t.__closeButton.innerHTML=e?A.TEXT_OPEN:A.TEXT_CLOSED)}},load:{get:function(){return i.load}},useLocalStorage:{get:function(){return o},set:function(A){Tm&&(o=A,A?fm.bind(window,"unload",n):fm.unbind(window,"unload",n),localStorage.setItem(Ym(t,"isLocal"),A))}}}),Zf.isUndefined(i.parent)){if(this.closed=i.closed||!1,fm.addClass(this.domElement,A.CLASS_MAIN),fm.makeSelectable(this.domElement,!1),Tm&&o){t.useLocalStorage=!0;var a=localStorage.getItem(Ym(this,"gui"));a&&(i.load=JSON.parse(a))}this.__closeButton=document.createElement("div"),this.__closeButton.innerHTML=A.TEXT_CLOSED,fm.addClass(this.__closeButton,A.CLASS_CLOSE_BUTTON),i.closeOnTop?(fm.addClass(this.__closeButton,A.CLASS_CLOSE_TOP),this.domElement.insertBefore(this.__closeButton,this.domElement.childNodes[0])):(fm.addClass(this.__closeButton,A.CLASS_CLOSE_BOTTOM),this.domElement.appendChild(this.__closeButton)),fm.bind(this.__closeButton,"click",(function(){t.closed=!t.closed}))}else{void 0===i.closed&&(i.closed=!0);var s=document.createTextNode(i.name);fm.addClass(s,"controller-name"),r=Gm(t,s);fm.addClass(this.__ul,A.CLASS_CLOSED),fm.addClass(r,"title"),fm.bind(r,"click",(function(A){return A.preventDefault(),t.closed=!t.closed,!1})),i.closed||(this.closed=!1)}i.autoPlace&&(Zf.isUndefined(i.parent)&&(Dm&&(Lm=document.createElement("div"),fm.addClass(Lm,"dg"),fm.addClass(Lm,A.CLASS_AUTO_PLACE_CONTAINER),document.body.appendChild(Lm),Dm=!1),Lm.appendChild(this.domElement),fm.addClass(this.domElement,A.CLASS_AUTO_PLACE)),this.parent||Xm(t,i.width)),this.__resizeHandler=function(){t.onResizeDebounced()},fm.bind(window,"resize",this.__resizeHandler),fm.bind(this.__ul,"webkitTransitionEnd",this.__resizeHandler),fm.bind(this.__ul,"transitionend",this.__resizeHandler),fm.bind(this.__ul,"oTransitionEnd",this.__resizeHandler),this.onResize(),i.resizable&&Zm(this),this.saveToLocalStorageIfPossible=n=function(){Tm&&"true"===localStorage.getItem(Ym(t,"isLocal"))&&localStorage.setItem(Ym(t,"gui"),JSON.stringify(t.getSaveObject()))},i.parent||function(){var A=t.getRoot();A.width+=1,Zf.defer((function(){A.width-=1}))}()};function Gm(A,e,t){var i=document.createElement("li");return e&&i.appendChild(e),t?A.__ul.insertBefore(i,t):A.__ul.appendChild(i),A.onResize(),i}function Pm(A){fm.unbind(window,"resize",A.__resizeHandler),A.saveToLocalStorageIfPossible&&fm.unbind(window,"unload",A.saveToLocalStorageIfPossible)}function qm(A,e){var t=A.__preset_select[A.__preset_select.selectedIndex];t.innerHTML=e?t.value+"*":t.value}function jm(A,e){var t=A.getRoot(),i=t.__rememberedObjects.indexOf(e.object);if(-1!==i){var o=t.__rememberedObjectIndecesToControllers[i];if(void 0===o&&(t.__rememberedObjectIndecesToControllers[i]=o={}),o[e.property]=e,t.load&&t.load.remembered){var n=t.load.remembered,r=void 0;if(n[A.preset])r=n[A.preset];else{if(!n.Default)return;r=n.Default}if(r[i]&&void 0!==r[i][e.property]){var a=r[i][e.property];e.initialValue=a,e.setValue(a)}}}}function Hm(A,e,t,i){if(void 0===e[t])throw new Error('Object "'+e+'" has no property "'+t+'"');var o=void 0;if(i.color)o=new wm(e,t);else{var n=[e,t].concat(i.factoryArgs);o=Km.apply(A,n)}i.before instanceof dm&&(i.before=i.before.__li),jm(A,o),fm.addClass(o.domElement,"c");var r=document.createElement("span");fm.addClass(r,"property-name"),r.innerHTML=o.property;var a=document.createElement("div");a.appendChild(r),a.appendChild(o.domElement);var s=Gm(A,a,i.before);return fm.addClass(s,Vm.CLASS_CONTROLLER_ROW),fm.addClass(s,o instanceof wm?"color":im(o.getValue())),function(A,e,t){if(t.__li=e,t.__gui=A,Zf.extend(t,{options:function(e){if(arguments.length>1){var i=t.__li.nextElementSibling;return t.remove(),Hm(A,t.object,t.property,{before:i,factoryArgs:[Zf.toArray(arguments)]})}if(Zf.isArray(e)||Zf.isObject(e)){var o=t.__li.nextElementSibling;return t.remove(),Hm(A,t.object,t.property,{before:o,factoryArgs:[e]})}},name:function(A){return t.__li.firstElementChild.firstElementChild.innerHTML=A,t},listen:function(){return t.__gui.listen(t),t},remove:function(){return t.__gui.remove(t),t}}),t instanceof xm){var i=new Em(t.object,t.property,{min:t.__min,max:t.__max,step:t.__step});Zf.each(["updateDisplay","onChange","onFinishChange","step","min","max"],(function(A){var e=t[A],o=i[A];t[A]=i[A]=function(){var A=Array.prototype.slice.call(arguments);return o.apply(i,A),e.apply(t,A)}})),fm.addClass(e,"has-slider"),t.domElement.insertBefore(i.domElement,t.domElement.firstElementChild)}else if(t instanceof Em){var o=function(e){if(Zf.isNumber(t.__min)&&Zf.isNumber(t.__max)){var i=t.__li.firstElementChild.firstElementChild.innerHTML,o=t.__gui.__listening.indexOf(t)>-1;t.remove();var n=Hm(A,t.object,t.property,{before:t.__li.nextElementSibling,factoryArgs:[t.__min,t.__max,t.__step]});return n.name(i),o&&n.listen(),n}return e};t.min=Zf.compose(o,t.min),t.max=Zf.compose(o,t.max)}else t instanceof mm?(fm.bind(e,"click",(function(){fm.fakeEvent(t.__checkbox,"click")})),fm.bind(t.__checkbox,"click",(function(A){A.stopPropagation()}))):t instanceof Sm?(fm.bind(e,"click",(function(){fm.fakeEvent(t.__button,"click")})),fm.bind(e,"mouseover",(function(){fm.addClass(t.__button,"hover")})),fm.bind(e,"mouseout",(function(){fm.removeClass(t.__button,"hover")}))):t instanceof wm&&(fm.addClass(e,"color"),t.updateDisplay=Zf.compose((function(A){return e.style.borderLeftColor=t.__color.toString(),A}),t.updateDisplay),t.updateDisplay());t.setValue=Zf.compose((function(e){return A.getRoot().__preset_select&&t.isModified()&&qm(A.getRoot(),!0),e}),t.setValue)}(A,s,o),A.__controllers.push(o),o}function Ym(A,e){return document.location.href+"."+e}function Wm(A,e,t){var i=document.createElement("option");i.innerHTML=e,i.value=e,A.__preset_select.appendChild(i),t&&(A.__preset_select.selectedIndex=A.__preset_select.length-1)}function Jm(A,e){e.style.display=A.useLocalStorage?"block":"none"}function zm(A){var e=A.__save_row=document.createElement("li");fm.addClass(A.domElement,"has-save"),A.__ul.insertBefore(e,A.__ul.firstChild),fm.addClass(e,"save-row");var t=document.createElement("span");t.innerHTML="&nbsp;",fm.addClass(t,"button gears");var i=document.createElement("span");i.innerHTML="Save",fm.addClass(i,"button"),fm.addClass(i,"save");var o=document.createElement("span");o.innerHTML="New",fm.addClass(o,"button"),fm.addClass(o,"save-as");var n=document.createElement("span");n.innerHTML="Revert",fm.addClass(n,"button"),fm.addClass(n,"revert");var r=A.__preset_select=document.createElement("select");if(A.load&&A.load.remembered?Zf.each(A.load.remembered,(function(e,t){Wm(A,t,t===A.preset)})):Wm(A,"Default",!1),fm.bind(r,"change",(function(){for(var e=0;A.__preset_select.length>e;e++)A.__preset_select[e].innerHTML=A.__preset_select[e].value;A.preset=this.value})),e.appendChild(r),e.appendChild(t),e.appendChild(i),e.appendChild(o),e.appendChild(n),Tm){var a=document.getElementById("dg-local-explain"),s=document.getElementById("dg-local-storage");document.getElementById("dg-save-locally").style.display="block","true"===localStorage.getItem(Ym(0,"isLocal"))&&s.setAttribute("checked","checked"),Jm(A,a),fm.bind(s,"change",(function(){A.useLocalStorage=!A.useLocalStorage,Jm(A,a)}))}var l=document.getElementById("dg-new-constructor");fm.bind(l,"keydown",(function(A){!A.metaKey||67!==A.which&&67!==A.keyCode||km.hide()})),fm.bind(t,"click",(function(){l.innerHTML=JSON.stringify(A.getSaveObject(),void 0,2),km.show(),l.focus(),l.select()})),fm.bind(i,"click",(function(){A.save()})),fm.bind(o,"click",(function(){var e=prompt("Enter a new preset name.");e&&A.saveAs(e)})),fm.bind(n,"click",(function(){A.revert()}))}function Zm(A){var e=void 0;function t(t){return t.preventDefault(),A.width+=e-t.clientX,A.onResize(),e=t.clientX,!1}function i(){fm.removeClass(A.__closeButton,Vm.CLASS_DRAG),fm.unbind(window,"mousemove",t),fm.unbind(window,"mouseup",i)}function o(o){return o.preventDefault(),e=o.clientX,fm.addClass(A.__closeButton,Vm.CLASS_DRAG),fm.bind(window,"mousemove",t),fm.bind(window,"mouseup",i),!1}A.__resize_handle=document.createElement("div"),Zf.extend(A.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"}),fm.bind(A.__resize_handle,"mousedown",o),fm.bind(A.__closeButton,"mousedown",o),A.domElement.insertBefore(A.__resize_handle,A.domElement.firstElementChild)}function Xm(A,e){A.domElement.style.width=e+"px",A.__save_row&&A.autoPlace&&(A.__save_row.style.width=e+"px"),A.__closeButton&&(A.__closeButton.style.width=e+"px")}function _m(A,e){var t={};return Zf.each(A.__rememberedObjects,(function(i,o){var n={};Zf.each(A.__rememberedObjectIndecesToControllers[o],(function(A,t){n[t]=e?A.initialValue:A.getValue()})),t[o]=n})),t}Vm.toggleHide=function(){Nm=!Nm,Zf.each(Om,(function(A){A.domElement.style.display=Nm?"none":""}))},Vm.CLASS_AUTO_PLACE="a",Vm.CLASS_AUTO_PLACE_CONTAINER="ac",Vm.CLASS_MAIN="main",Vm.CLASS_CONTROLLER_ROW="cr",Vm.CLASS_TOO_TALL="taller-than-window",Vm.CLASS_CLOSED="closed",Vm.CLASS_CLOSE_BUTTON="close-button",Vm.CLASS_CLOSE_TOP="close-top",Vm.CLASS_CLOSE_BOTTOM="close-bottom",Vm.CLASS_DRAG="drag",Vm.DEFAULT_WIDTH=245,Vm.TEXT_CLOSED="关闭控制器",Vm.TEXT_OPEN="打开控制器",Vm._keydownHandler=function(A){"text"===document.activeElement.type||72!==A.which&&72!==A.keyCode||Vm.toggleHide()},fm.bind(window,"keydown",Vm._keydownHandler,!1),Zf.extend(Vm.prototype,{add:function(A,e){return Hm(this,A,e,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(A,e){return Hm(this,A,e,{color:!0})},remove:function(A){this.__ul.removeChild(A.__li),this.__controllers.splice(this.__controllers.indexOf(A),1);var e=this;Zf.defer((function(){e.onResize()}))},destroy:function(){if(this.parent)throw new Error("Only the root GUI should be removed with .destroy(). For subfolders, use gui.removeFolder(folder) instead.");this.autoPlace&&Lm.removeChild(this.domElement);var A=this;Zf.each(this.__folders,(function(e){A.removeFolder(e)})),fm.unbind(window,"keydown",Vm._keydownHandler,!1),Pm(this)},addFolder:function(A){if(void 0!==this.__folders[A])throw new Error('You already have a folder in this GUI by the name "'+A+'"');var e={name:A,parent:this};e.autoPlace=this.autoPlace,this.load&&this.load.folders&&this.load.folders[A]&&(e.closed=this.load.folders[A].closed,e.load=this.load.folders[A]);var t=new Vm(e);this.__folders[A]=t;var i=Gm(this,t.domElement);return fm.addClass(i,"folder"),t},removeFolder:function(A){this.__ul.removeChild(A.domElement.parentElement),delete this.__folders[A.name],this.load&&this.load.folders&&this.load.folders[A.name]&&delete this.load.folders[A.name],Pm(A);var e=this;Zf.each(A.__folders,(function(e){A.removeFolder(e)})),Zf.defer((function(){e.onResize()}))},open:function(){this.closed=!1},close:function(){this.closed=!0},hide:function(){this.domElement.style.display="none"},show:function(){this.domElement.style.display=""},onResize:function(){var A=this.getRoot();if(A.scrollable){var e=fm.getOffset(A.__ul).top,t=0;Zf.each(A.__ul.childNodes,(function(e){A.autoPlace&&e===A.__save_row||(t+=fm.getHeight(e))})),window.innerHeight-e-20<t?(fm.addClass(A.domElement,Vm.CLASS_TOO_TALL),A.__ul.style.height=window.innerHeight-e-20+"px"):(fm.removeClass(A.domElement,Vm.CLASS_TOO_TALL),A.__ul.style.height="auto")}A.__resize_handle&&Zf.defer((function(){A.__resize_handle.style.height=A.__ul.offsetHeight+"px"})),A.__closeButton&&(A.__closeButton.style.width=A.width+"px")},onResizeDebounced:Zf.debounce((function(){this.onResize()}),50),remember:function(){if(Zf.isUndefined(km)&&((km=new Rm).domElement.innerHTML=Fm),this.parent)throw new Error("You can only call remember on a top level GUI.");var A=this;Zf.each(Array.prototype.slice.call(arguments),(function(e){0===A.__rememberedObjects.length&&zm(A),-1===A.__rememberedObjects.indexOf(e)&&A.__rememberedObjects.push(e)})),this.autoPlace&&Xm(this,this.width)},getRoot:function(){for(var A=this;A.parent;)A=A.parent;return A},getSaveObject:function(){var A=this.load;return A.closed=this.closed,this.__rememberedObjects.length>0&&(A.preset=this.preset,A.remembered||(A.remembered={}),A.remembered[this.preset]=_m(this)),A.folders={},Zf.each(this.__folders,(function(e,t){A.folders[t]=e.getSaveObject()})),A},save:function(){this.load.remembered||(this.load.remembered={}),this.load.remembered[this.preset]=_m(this),qm(this,!1),this.saveToLocalStorageIfPossible()},saveAs:function(A){this.load.remembered||(this.load.remembered={},this.load.remembered.Default=_m(this,!0)),this.load.remembered[A]=_m(this),this.preset=A,Wm(this,A,!0),this.saveToLocalStorageIfPossible()},revert:function(A){Zf.each(this.__controllers,(function(e){this.getRoot().load.remembered?jm(A||this.getRoot(),e):e.setValue(e.initialValue),e.__onFinishChange&&e.__onFinishChange.call(e,e.getValue())}),this),Zf.each(this.__folders,(function(A){A.revert(A)})),A||qm(this.getRoot(),!1)},listen:function(A){var e=0===this.__listening.length;this.__listening.push(A),e&&function A(e){0!==e.length&&Qm.call(window,(function(){A(e)}));Zf.each(e,(function(A){A.updateDisplay()}))}(this.__listening)},updateDisplay:function(){Zf.each(this.__controllers,(function(A){A.updateDisplay()})),Zf.each(this.__folders,(function(A){A.updateDisplay()}))}});var $m=Vm,AC=function(A){var e=this;this.indexedDB=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;window.IDBKeyRange||window;var t=uh.extend({},{dbName:"bos3d",store:"default",version:1,indexes:["id"],keyPath:"id"},A);this.IDBOpenDBRequest=null,this.dbName=t.dbName;var i=this.version=t.version;this.storeName=t.store;var o=t.keyPath,n=this.indexedDB.open(this.dbName,i);n.onupgradeneeded=function(A){Bh.log("DB version changed to "+i);var n=A.target.result,r=null;if(!1===n.objectStoreNames.contains(e.storeName)){r=n.createObjectStore(e.storeName,{keyPath:o});for(var a=0;t.indexes.length>a;a+=1){var s=t.indexes[a];r.createIndex(s,s,{unique:!1})}}},n.onsuccess=function(A){e.IDBOpenDBRequest=A.target.result,Bh.log("成功建立并打开数据库:"+e.IDBOpenDBRequest.name+" version "+i),e.dispatchEvent({type:Rc.ON_DATABASE_OPEN})},n.onerror=function(A){Bh.error("IndexedDB",A),e.dispatchEvent({type:Rc.ON_DATABASE_EEEOR})},n.onblocked=function(A){Bh.warn("Please close all other tabs with this site open!",A)}};Object.assign(AC.prototype,Ld.prototype),Object.assign(AC.prototype,{constructor:AC,get:function(A,e,t){if(this.IDBOpenDBRequest){var i=this.IDBOpenDBRequest.transaction([this.storeName]).objectStore(this.storeName).get(A);i.onsuccess=function(A){"function"==typeof e&&e(A.target.result?A.target.result.data:null)},i.onerror=function(A){Bh.error("getDataByKey error"),"function"==typeof t&&t(A)}}},getBatch:function(A,e,t){if(this.IDBOpenDBRequest){for(var i=this.IDBOpenDBRequest.transaction([this.storeName]).objectStore(this.storeName),o={},n=[],r=0;A.length>r;r+=1)n.push(new Promise((function(e,t){var o=A[r],n=i.index("id").get(o);n.onsuccess=function(A){e(A.target.result)},n.onerror=function(A){Bh.error(o,"failed",A),t(A)}})));Promise.all(n).then((function(A){for(var t=0;A.length>t;t+=1)A[t]&&(o[A[t].id]=A[t].data);e(o)})).catch((function(A){Bh.debug(A),A instanceof TypeError?Bh.error(A):e(o)}))}},setBatch:function(A,e,t){if(this.IDBOpenDBRequest)for(var i=this.IDBOpenDBRequest.transaction([this.storeName],"readwrite").objectStore(this.storeName),o=0;A.length>o;o+=1){i.put({id:A[o].key,data:A[o]}).onsuccess=function(A){}}},set:function(A,e,t,i){var o=performance.now();if(this.IDBOpenDBRequest){var n=this.IDBOpenDBRequest.transaction([this.storeName],"readwrite").objectStore(this.storeName).add([{id:A,data:e}]);n.onsuccess=function(A){"function"==typeof t&&t(A.target.result),Bh.debug("Saved state to IndexedDB. "+(performance.now()-o).toFixed(2)+"ms")},n.onerror=function(A){"function"==typeof i&&i(A)}}},put:function(A,e,t,i,o){if(this.IDBOpenDBRequest){var n=performance.now(),r=this.IDBOpenDBRequest.transaction([t],"readwrite").objectStore(t).put({id:A,data:e});r.onsuccess=function(A){"function"==typeof i&&i(A.target.result),Bh.debug("Saved state to IndexedDB. "+(performance.now()-n).toFixed(2)+"ms")},r.onerror=function(A){Bh.error("离线存储出错:",A.target.error.name,":",A.target.error.message),"function"==typeof o&&o(A)}}},delete:function(A,e,t){if(this.IDBOpenDBRequest){var i=this.IDBOpenDBRequest.transaction(this.storeName,"readwrite").objectStore(this.storeName).delete(A);i.onsuccess=function(A){Bh.debug("delete data form IndexedDB."),"function"==typeof e&&e(A.target.result)},i.onerror=function(A){Bh.error("IndexedDB",A),"function"==typeof t&&t(A)}}},clear:function(A,e){if(this.IDBOpenDBRequest){var t=this.IDBOpenDBRequest.transaction(this.storeName,"readwrite").objectStore(this.storeName).clear();t.onsuccess=function(e){Bh.debug("Cleared IndexedDB."),"function"==typeof A&&A(e.target.result)},t.onerror=function(A){Bh.error("IndexedDB",A),"function"==typeof e&&e(A)}}},deleteDatabase:function(A){indexedDB.deleteDatabase(this.dbName),Bh.debug(this.dbName+"数据库已删除"),"function"==typeof A&&A()},close:function(A){this.IDBOpenDBRequest&&(this.IDBOpenDBRequest.close(),Bh.debug("数据库已关闭"),"function"==typeof A&&A())},getIndex:function(A,e,t,i){var o=A.transaction(e,"readwrite").objectStore(e).index("id");o.openCursor().onsuccess=function(){var A=this.result;A&&(Bh.debug(A.value),A.continue())};var n=IDBKeyRange.only(2),r=o.openCursor(n);r.onsuccess=function(){var A=r.result;A&&Bh.info(A.value)}},destroy:function(){this.close(),this.IDBOpenDBRequest=null,this.dbName=null,this.storeName=null}});var eC=function(A){this.serverUrl=A.serverUrl,this.modelKey=A.modelKey,this.dbName=A.dbName,this.offLine=A.offLine,this.shareParameter=""!==A.share?"&share="+A.share:""};eC.prototype.projectUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/scene/scene.json":this.serverUrl+"/api/"+this.dbName+"/models?modelKey="+(A||this.modelKey)+this.shareParameter},eC.prototype.sceneUrl=function(A){return this.serverUrl+this.modelKey+"/scene/scene_"+(A=A||0)+vc.ZipResourcePostfix},eC.prototype.sceneIdUrl=function(){return this.serverUrl+this.modelKey+"/scene/scene_id"+vc.ZipResourcePostfix},eC.prototype.userIdUrl=function(){return this.serverUrl+this.modelKey+"/scene/user_id"+vc.ZipResourcePostfix},eC.prototype.octreeUrl=function(A){return this.serverUrl+this.modelKey+"/scene/octree_"+A+vc.ZipResourcePostfix},eC.prototype.symbolUrl=function(){return this.serverUrl+this.modelKey+"/symbol/symbol"+vc.ZipResourcePostfix},eC.prototype.mpkUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.texUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/Texture/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.bonesUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.nodesUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.clipsUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.kdTreeUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.lightUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.rootTilesUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/tileset.json":this.serverUrl+"/api/"+this.dbName+"/geomodels/"+this.modelKey+"/data/tileset.json"},eC.prototype.tilesUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/"+A:this.serverUrl+"/api/"+this.dbName+"/geomodels/"+this.modelKey+"/data/"+A},eC.prototype.b3dmUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/"+A:this.serverUrl+"/api/"+this.dbName+"/geomodels/"+this.modelKey+"/data/"+A},eC.prototype.attributeUrl=function(){if(this.offLine)return this.serverUrl+"/"+this.modelKey+"/resource/attribute/attribute.json"},eC.prototype.meshIdUrl=function(){return this.serverUrl+this.modelKey+"/mpk/mesh_id"+vc.ZipResourcePostfix},eC.prototype.materialUrl=function(){return this.serverUrl+this.modelKey+"/material/material"+vc.ZipResourcePostfix},eC.prototype.materialIdUrl=function(){return this.serverUrl+this.modelKey+"/material/material_id"+vc.ZipResourcePostfix},eC.prototype.userDataUrl=function(){return this.serverUrl+this.modelKey+"/userdata/userdata"+vc.ZipResourcePostfix},eC.prototype.textureUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A+this.shareParameter},eC.prototype.axisNetUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+A:np(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+A:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+A},eC.prototype.floorInfoUrl=function(A){return this.offLine?this.serverUrl+"/"+A+"/resource/floor/floorKey.json":this.serverUrl+"/api/"+this.dbName+"/components/floorkeys?modelKey="+A+this.shareParameter},eC.prototype.floorMapUrl=function(A){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/floor/map.json":this.serverUrl+"/api/"+this.dbName+"/models/maps?modelKey="+this.modelKey+this.shareParameter};var tC=function(A){$u.call(this,A),this.instancedComponent={}};Object.assign(tC.prototype,$u.prototype),tC.prototype.parseItemData=function(A){this._readMaterialBuffer(this.model);var e={},t=this.referencedMeshCache;for(var i in Bh.time("_readItemData"),t.components)t.components.hasOwnProperty(i)&&this._readItemData(e,i,i,void 0,0);Bh.timeEnd("_readItemData"),e=null,A&&A()},tC.prototype._readItemData=function(A,e,t){var i=this.referencedMeshCache.components[e];void 0!==i&&this._readMeshInfo(A,t,i,null)},tC.prototype._readMeshInfo=function(A,e,t,i){var o=this.referencedMeshCache,n=this.model.materialManager.materials,r=null;if(t.nodes||t.nodeIds){r=t.originalId;var a=(new M).fromArray(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);t.matrix=a;var s=[];s=t.nodes?t.nodes:t.nodeIds;for(var l=0;s.length>l;l+=1){var c=s[l];if("object"!==lc(c)&&(c=this.getReferencedMeshComponentNodeById(c)),c){var h,d=null,p="";if(-1!==c.geoId)if(d=this._getComponentNodeAttr(c,t,l)){if(t.buildInCategory&&(d.buildInCategory=t.buildInCategory),!n[p=c.material]){var g=_u[t.type]?_u[t.type].color:void 0;g||(Bh.log("Material not found for type: ",t.type),g=_u.DEFAULT.color),g||(Bh.log("Default material not found for type: ",t.type),g=[1,1,1,1]);var u=new LA(g[0],g[1],g[2]),f=p||u.getHexString()+"_"+g[3],m=n[f];m||(Bh.warn("缺少材质 "+p),m=Kd.createStandardMaterial({color:u}),1>g[3]&&(m.transparent=!0,m.opacity=g[3]),m.side=2,n[f]=m),d.material=p=f}if(n[p].aoMap){var C=this.getReferencedMeshBufferById(d.geometryId);C&&(C.uv2=C.uv)}h=d.nodeId;var y=this.userDataReader,v=y?y.getUserData(null):null;d.type=t.type,d.userId=e,d.name=t.name,d.userDataId=null,d.originalId=r,d.materialId=p,d.originMId=p,d.userData=v,d.categoryId=0,d.componentKey=e,d.familyName=t.familyName,d.familySymbol=t.familySymbol;var I=vc.Instance,E=o.reuseNodes.hasOwnProperty(h);d.instanceOrNot=!(!I||!E),d.isBatched=!0,d.state=Lc.Visible,d.material=null,this._classifyNodeInfo(d),d=null}else Bh.debug("非法node")}}}},tC.prototype._parseInstanced=function(){Bh.time("_parseInstanced"),this.instancedComponent={},this.instancedNode={};var A={},e=this.referencedMeshCache,t=e.componentNodes,i=this.model.materialManager.materials;for(var o in e.components)if(e.components.hasOwnProperty(o))for(var n=e.components[o],r=0,a=n.Nodes.length;a>r;r+=1){var s=n.Nodes[r],l=t[s],c=l.geometry,h=l.material;if(-1!==c){if(!h&&0!==h){var d=_u[n.type]?_u[n.type].color:void 0;d||(Bh.log("Material not found for type: ",n.type),d=_u.DEFAULT.color),d||(Bh.log("Default material not found for type: ",n.type),d=[1,1,1,1]);var p=new LA(d[0],d[1],d[2]),g=p.getHexString()+"_"+d[3],u=i[g];u||(Bh.warn("缺少材质 "+g),u=Kd.createStandardMaterial({color:p}),1>d[3]&&(u.transparent=!0,u.opacity=d[3]),u.side=2,i[g]=u),l.material=g,h=g}var f=h+"&"+c;void 0===A[f]&&(A[f]=[]),A[f].push({nodeId:s})}else Bh.debug("实体没有几何")}for(var m in A)if(A.hasOwnProperty(m))if(1<A[m].length)for(var C=0;A[m].length>C;C+=1)this.instancedComponent[A[m][C].nodeId]=!0;else delete A[m];Bh.timeEnd("_parseInstanced")};var iC=function(A){Xu.call(this,A),this.maxGeoLoadTaskCount=0,this.geoLoadTaskCount=0,this.taskInstancedGeometrieManager=new Ou(this,"geometrie"),this.descriptor=new tC(A.model)};(iC.prototype=Object.assign(iC.prototype,Xu.prototype))._parseMaterial=function(A,e){if(A){var t=this.descriptor;if(t)for(var i in A)t.cacheReferencedMeshMaterialData(i,A[i])}else Bh.error("没有数据")},iC.prototype.loadBatchedGeometrie=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model;i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var r=i.load(o.mpkUrl(A),(function(i){t._parseBatchedGeometrie(i,A),Bh.debug("geo load from online"),t._onGeoTaskFinished(),e()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_GEOMETRY_ERROR,modelKey:n.modelKey}),e(),t._onGeoTaskFinished()}));t.requests.loadGeometrie=r},iC.prototype.loadInstancedGeometrie=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model;i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var r=i.load(o.mpkUrl(A),(function(i){t._parseInstancedGeometrie(i,A),Bh.debug("geo load from online"),t._onGeoTaskFinished(),e()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_GEOMETRY_ERROR,modelKey:n.modelKey}),e(),t._onGeoTaskFinished()}));t.requests.loadGeometrie=r},iC.prototype._parseGeometrie=function(A,e){if(A){var t=this.descriptor;if(t)for(var i in A)A.hasOwnProperty(i)&&(A[i].position=new Float32Array(A[i].positions),delete A[i].positions,A[i].index=new Uint32Array(A[i].indices),delete A[i].indices,A[i].normal=new Float32Array(A[i].normals),A[i].uv=new Float32Array(A[i].uv),delete A[i].normals,t.cacheReferencedMeshBufferData(i,A[i]))}else Bh.error("没有数据")},iC.prototype._parseBatchedGeometrie=function(A,e){var t=new ku.BatchedGeometryReader(A,this.dataVersion),i=this.descriptor;if(i){var o=t.geoCount;Bh.time("createBatchedMeshNodes");for(var n=0;o>n;n+=1){var r=t.geomMap[n];void 0!==r.position&&void 0!==r.index&&void 0!==r.normal?(i.cacheReferencedMeshBufferData(r.geoId,r),this.handler.createBatchedMeshNodes(r)):Bh.error("Error Geometry!")}this.model.manager.viewerImpl.render(),Bh.timeEnd("createBatchedMeshNodes"),t=null}},iC.prototype._parseInstancedGeometrie=function(A,e){var t=new ku.InstancedGeometryReader(A,this.dataVersion),i=this.descriptor;if(i){var o=t.geoCount;Bh.time("createInstancedMeshNodes");for(var n=0;o>n;n+=1){var r=t.geomMap[n];void 0!==r.position&&void 0!==r.index&&void 0!==r.normal?(i.cacheReferencedMeshBufferData(r.geoId,r),this.handler.createInstancedMeshNodes(r)):Bh.error("Error Geometry!")}this.model.manager.viewerImpl.render(),t=null,Bh.timeEnd("createInstancedMeshNodes")}},iC.prototype.startLoadSceneAndGeos=function(A){Bh.time("几何数据加载时间");var e=A.scene,t=e.instancedGeometries.length||0,i=e.batchedGeometries,o=e.instancedGeometries;this.maxGeoLoadTaskCount+=e.batchedGeometries.length||0,this.maxGeoLoadTaskCount+=t,this._loadBatchedGeo(i),this._loadInstancedGeo(o)},iC.prototype._loadBatchedGeo=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();if(n)for(var r=function(){var t=i.splice(0,30);n.getBatch(t,(function(A){for(var i=function(i){if(A[t[i]])if(!0===A[t[i]].split){var o=A[t[i]].list,s=new Uint8Array(A[t[i]].length);n.getBatch(o,(function(A){for(var n=!0,r=0;o.length>r;r+=1)A[o[r]]?s.set(new Uint8Array(A[o[r]]),4e7*r):(n=!1,Bh.error("获取分割几何失败"));if(n){var a=t[i].indexOf("fileKey=");e._parseBatchedGeometrie(s.buffer,t[i].slice(a+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local")}else{var l=e.taskGeometrieManager,c=t[i].indexOf("fileKey=");if(-1===c)return void Bh.error("url is not has fileKey");l.addTask(t[i].slice(c+8)),Bh.debug("load geo from net"),e.taskGeometrieManager.processTasks(e.loadBatchedGeometrie.bind(e))}}),(function(){Bh.error("获取分割几何失败")}))}else a=t[i].indexOf("fileKey="),e._parseBatchedGeometrie(A[t[i]],t[i].slice(a+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local");else{if(r=e.taskGeometrieManager,-1===(a=t[i].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(t[i].slice(a+8)),Bh.debug("load geo from net")}},o=0;t.length>o;o+=1){var r,a,s=i(o);if("object"===lc(s))return s.v}e.taskGeometrieManager.processTasks(e.loadBatchedGeometrie.bind(e))}),(function(){for(var t=e.taskGeometrieManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadBatchedGeometrie.bind(e))}))};i.length>0;)r()}else{for(var a=this.taskGeometrieManager,s=0;A.length>s;s+=1)a.addTask(A[s]);a.processTasks(e.loadBatchedGeometrie.bind(e))}},iC.prototype._loadInstancedGeo=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();if(n)for(var r=function(){var t=i.splice(0,30);n.getBatch(t,(function(A){for(var i=function(i){if(A[t[i]])if(!0===A[t[i]].split){var o=A[t[i]].list,s=new Uint8Array(A[t[i]].length);n.getBatch(o,(function(A){for(var n=0;o.length>n;n+=1)A[o[n]]?s.set(new Uint8Array(A[o[n]]),4e7*n):Bh.error("获取分割几何失败");var r=t[i].indexOf("fileKey=");e._parseInstancedGeometrie(s.buffer,t[i].slice(r+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local")}),(function(){Bh.error("获取分割几何失败")}))}else a=t[i].indexOf("fileKey="),e._parseInstancedGeometrie(A[t[i]],t[i].slice(a+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local");else{if(r=e.taskInstancedGeometrieManager,-1===(a=t[i].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(t[i].slice(a+8)),Bh.debug("load geo from net")}},o=0;t.length>o;o+=1){var r,a,s=i(o);if("object"===lc(s))return s.v}e.taskInstancedGeometrieManager.processTasks(e.loadInstancedGeometrie.bind(e))}),(function(){for(var t=e.taskInstancedGeometrieManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadInstancedGeometrie.bind(e))}))};i.length>0;)r()}else{for(var a=this.taskInstancedGeometrieManager,s=0;A.length>s;s+=1)a.addTask(A[s]);a.processTasks(e.loadInstancedGeometrie.bind(e))}},iC.prototype._onGeoTaskFinished=function(){(this.geoLoadTaskCount+=1,this.notifyProgress)&&(this.progressCallback&&this.progressCallback({total:this.maxLoadTaskCount+this.maxGeoLoadTaskCount,loaded:.8*(this.loadTaskCount+this.geoLoadTaskCount),modelKey:this.model.modelKey}));this.maxGeoLoadTaskCount>this.geoLoadTaskCount||(this.dataLoaded=!0,Bh.timeEnd("几何数据加载时间"),this.geoFinishCallback&&this.geoFinishCallback())},iC.prototype.getSceneTaskCount=function(A){var e=A.scenes;return e+=A.lines,e+=A.mpks,vc.BorderLineDelayLoaded||(e+=this.getAllBorderlineCount()),e};var oC=function(A,e){tf.call(this,A),this.defaultManager=new Of(e,A),this.instancedManager=new Hf(A),this.loader=new iC(this)};(oC.prototype=Object.create(tf.prototype)).prepare=function(A,e){if(this.isLoaded()&&!this.isHidden()){this.prepareWireframe(this.model,e);this.model.getMaterialManager();this.model.getMaterialManager()._updateTextureMapping(),!this.model.lightmap||this.model.enableLightmap===vc.EnableLightmap&&this.model.lightmapIntensity===vc.LightmapIntensity||(this.model.enableLightmap=vc.EnableLightmap,this.model.lightmapIntensity=vc.LightmapIntensity,this.rebuildIndicesforLightmap(),this.updateNodes())}},oC.prototype.settleData=function(A){var e=this;this.addNodeInfoToOctantMap(),e.model.setLoaded(!0);this.loader.geoFinishCallback=function(){e.loaded=!0,e.model.getMaterialManager()._updateTextureMapping(),e.clearCachedData(e.model),A&&A()},this.loader.startLoadSceneAndGeos(this.model.getConfig())},oC.prototype.addNodeInfoToOctantMap=function(){var A=this.model.manager,e=this.model.getEncodedDatabagId();this.loader.getDescriptor().traverseNodeInfosByComponent((function(t,i){A.addNodeInfoToOctantMap(e,t,i)}))},oC.prototype.createMeshNodes=function(A){var e=this,t=this.model;vc.stepLoad&&t.setLoaded(!0);var i=this.loader.getDescriptor();this.instancedManager.createMeshNodes(t,i.getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(t,i.getStandardUserIds(),(function(){t.getMaterialManager()._updateTextureMapping(),e.clearCachedData(t),e.loaded=!0,A&&A()}))},oC.prototype.clearCachedData=function(A){this.loader.getDescriptor().destroyReader(),this.loader.getDescriptor().clearReferencedMeshCache(),this.defaultManager.clearCachedData(),this.instancedManager.clearCachedData()},oC.prototype.createBatchedMeshNodes=function(A){this.defaultManager.createBatchedMeshNodes(this.model,A)},oC.prototype.createInstancedMeshNodes=function(A){this.instancedManager.createInstancedMeshNodes(this.model,A)};var nC=function(A){Xu.call(this,A),this._loadingOnDemand=!1};(nC.prototype=Object.assign(nC.prototype,Xu.prototype)).loadGeopkOnDemand=function(A,e,t){this.loadTaskCount=0,this.maxLoadTaskCount=A.length,this._loadingOnDemand=!0,this.finishCallback=t;var i=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var o=this.url,n=[],r=0;A.length>r;r+=1)n.push(o.mpkUrl(A[r]));var a=this.model.getStorage();a&&a.getBatch(n,(function(A){for(var t=function(e){if(A[n[e]])if(!0===A[n[e]].split){var t=A[n[e]].list,o=new Uint8Array(A[n[e]].length);a.getBatch(t,(function(A){for(var r=0;t.length>r;r+=1)A[t[r]]?o.set(new Uint8Array(A[t[r]]),4e7*r):Bh.error("获取分割几何失败");var a=n[e].indexOf("fileKey=");i._parseGeometrie(o.buffer,n[e].slice(a+8)),Bh.debug("load geo from local"),i._onTaskFinished()}),(function(){Bh.error("获取分割几何失败")}))}else s=n[e].indexOf("fileKey="),i._parseGeometrie(A[n[e]],n[e].slice(s+8)),Bh.debug("load geo from local"),i._onTaskFinished();else{if(r=i.taskGeometrieManager,-1===(s=n[e].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(n[e].slice(s+8)),Bh.debug("load geo from net")}},o=0;n.length>o;o+=1){var r,s,l=t(o);if("object"===lc(l))return l.v}i.taskGeometrieManager.processTasks(i.loadGeometrie.bind(i),e)}),(function(){for(var t=i.taskGeometrieManager,o=0;A.length>o;o+=1)t.addTask(A[o]);t.processTasks(i.loadGeometrie.bind(i),e)}))}else{for(var s=this.taskGeometrieManager,l=0;A.length>l;l+=1)s.addTask(A[l]);s.processTasks(i.loadGeometrie.bind(i),e,t)}},nC.prototype.resetProcessState=function(A){this.loadTaskCount=0,this.maxLoadTaskCount=A,this._loadingOnDemand=!0},nC.prototype.dealProgressSegment=function(A,e){return vc.MergeComponent&&this._loadingOnDemand?e*A.progressPercentage.load:e},nC.prototype._loadLayerKey=function(){var A=this,e=this.fileLoader,t=this.url,i=this.model,o=this.handler.getLayerProvider();e.setResponseType(""),e.load(t.layerKeyUrl(),(function(e){var t=new LayerKeyReader(e),i=[],n=t.getData();o.cacheLayerKeys(n);for(var r=0,a=t.getCount();a>r;++r){var s=t.getLayerKey(r),l=o.formatLayerIds(s);i.push(l[0])}A._loadLayer(i)}),void 0,(function(e){i.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_MPK_ERROR,event:e}),A._onTaskFinished()}))},nC.prototype._loadLayer=function(A){var e=this,t=this.fileLoader,i=this.url,o=this.model,n=this.handler.getLayerProvider();t.setResponseType("arraybuffer"),t.load(i.layerUrl(),(function(t){for(var i=new LayerReader(t),o=0,r=i.getLayerCount();r>o;++o)if(void 0!==A[o]){for(var a=[],s=i.getLayerData(o),l=i.getGeopkList(o),c=0,h=l.length;h>c;c+=1)a.push(l[c]);n.cacheLayerData(A[o],{layerId:s.layer_id,boundingBox:s.boundingBox,mpkIdxs:a})}e._onTaskFinished()}),void 0,(function(A){o.dispatchEvent({type:Tc.LOAD_ERROR,errorType:Tc.LOAD_MPK_ERROR,event:A}),e._onTaskFinished()}))},nC.prototype.delayLoadResources=function(A){var e=this.model.getConfig().metadata;e&&0!==e.lines?(this.startCallback=null,this.progressCallback=null,this.finishCallback=A,this.loadTaskCount=0,this.maxLoadTaskCount=0,this.maxLoadTaskCount+=e.lines,e.lines&&this._loadLine()):A&&A()};var rC=function(A){Af.call(this,A)};(rC.prototype=Object.assign(rC.prototype,Af.prototype)).parseItemData=function(A,e){var t=this.model;(ap(t.dataVersion,"2.0.0")||void 0===t.dataVersion)&&(Bh.time("升级几何结构"),this._updateV1ToV2(t),t.dataVersion="2.0.0",Bh.timeEnd("升级几何结构")),this._readMaterialBuffer(t),t.hasAnimation&&vc.EnableAnimation?(this._parseClips(),this._parseBones()):(this._parseGeo(),vc.Instance&&sp(t.dataVersion,"2.0.0")&&this._parseInstanced());var i={};if(!i)return Bh.log("Empty scene"),!1;var o=this.referencedMeshCache;if(Bh.time("_readItemData"),!o.bufferData||0>=Object.keys(o.bufferData).length)return!0;if(A)for(var n=0,r=A.length;r>n;n+=1)o.components[A[n]]&&this._readItemData(i,A[n],A[n],void 0,0);else for(var a in o.components)this._readItemData(i,a,a,void 0,0);t.hasAnimation&&vc.EnableAnimation&&this._parseNodes(),Bh.timeEnd("_readItemData"),i=null,e&&e()};var aC=function(A){nC.call(this,A),this.descriptor=new rC(A.model)};(aC.prototype=Object.assign(aC.prototype,nC.prototype)).loadSceneAndMpks=function(A){this._loadScene(0),this._loadLayerKey(),vc.BorderLineDelayLoaded||this._loadAllBorderlines(A)},aC.prototype.getSceneTaskCount=function(A){var e=2;return vc.BorderLineDelayLoaded||(e+=this.getAllBorderlineCount()),e};var sC=function(A){tf.call(this,A),this.layerDataLoaded=!1,this.loadedUserIdsObject=null,this.loadedUserIds=null,this.layerProvider=null,this.firstToLoad=!1};(sC.prototype=Object.assign(sC.prototype,tf.prototype)).destroy=function(){sC.prototype.destroy.call(this),this.loadedUserIdsObject=null,this.loadedUserIds=null,this.layerProvider.destroy(),this.layerProvider=null},sC.prototype.getLayerProvider=function(){return this.layerProvider},sC.prototype.load=function(A){var e=this,t=this.model;this.loader.setNotifyProgress(A),this.loader.load((function(){t.manager.dispatchEvent({type:Rc.ON_LOAD_START})}),(function(A){t.manager.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:A})}),(function(){e.processLoadCompleted((function(){t.manager.dispatchEvent({type:Rc.ON_LOAD_COMPLETE,modelKey:e.model.modelKey})}))}))},sC.prototype.unload=function(A,e){},sC.prototype.loadGeopkOnDemand=function(A,e,t,i){var o=this,n=this.model,r=!A,a=function(A){n.manager.dispatchEvent({type:Rc.ON_LOAD_PROGRESS,progress:A})};this.firstToLoad?this.loader.delayLoadResources((function(){o.firstToLoad=!1,o.loader.finishCallback=null,o.prepareData((function(){o.loader.progressCallback=a,o.getLayerProvider().setConditionsOnDemandLoad(A),o._loadGeopkOnDemand(r,e,t,i)}))})):(o.loader.progressCallback=a,o.getLayerProvider().setConditionsOnDemandLoad(A),o._loadGeopkOnDemand(r,e,t,i))},sC.prototype._loadGeopkOnDemand=function(A,e,t,i){var o=this,n=this.model;this.layerDataLoaded=!1,e&&e(),n.manager.dispatchEvent({type:Rc.ON_LOAD_START}),this.getLayerProvider().loadGeopkOnDemand(A,(function(A){o.dealData(A)}),(function(A,e){}),t,(function(){o.layerDataLoaded=!0,n.manager.updateFilterManager(),Bh.log("load finish"),n.dispatchEventEx({type:Rc.ON_DEMAND_LOAD_COMPLETE,data:{boundingBox:n.manager.getLoadOnDemandDirector().getBoundingBoxForUsedComponent()},modelKey:o.model.modelKey}),i&&i()}))},sC.prototype.processLoadCompleted=function(A){var e=this.model;e.materialManager._updateTextureMapping(),e.materialManager._updateIBL(e),e.loaded=!0,e.updateOctreeNode(),requestAnimationFrame((function(){A&&A(),e.debut(e)}))},sC.prototype.isAllReady=function(){return!(!this.isLoaded()||this.isHidden()||!this.isLayerDataLoaded())},sC.prototype.applyFilter=function(){if(this.isLoaded()&&this.isLayerDataLoaded()){var A=this.model.getModelDescriptor().getStandardUserIdsByCategory(this.loadedUserIds);if(A.length&&this.defaultManager.applyFilter(this.model,A),vc.Instance){var e=this.model.getModelDescriptor().getInstancedUserIdsByCategory(this.loadedUserIds);e.length&&this.instancedManager.applyFilter(this.model,e)}}},sC.prototype.needUpdate=function(){return!!this.isLayerDataLoaded()},sC.prototype.clearData=function(){},sC.prototype.initData=function(A){},sC.prototype.dealMeshNodes=function(A){},sC.prototype.dealData=function(A){var e=this;this.initData((function(){e.model.manager.loadOverrideMaterialsByDemand((function(){e.dealMeshNodes(A)}),(function(){e.dealMeshNodes(A)}))}))},sC.prototype.getLoadedUserIdsObject=function(){return this.loadedUserIdsObject},sC.prototype.isLayerDataLoaded=function(){return this.layerDataLoaded},sC.prototype.clearLoadedState=function(){this.layerDataLoaded=!1,this.loadedUserIdsObject=null,this.loadedUserIds=null};var lC=function(A){this.model=A,this.conditionsChanged=!0,this.nodeInfosWithLayerKey={},this.cachedLayerData={},this.cacheAttributes=null,this.cacheSpecialtysLevels={},this.mapLayerKeys={},this.lastUsedGeopkIdxsObject=null,this.lastUsedLayerIdsObject=null,this.lastUsedLayerData=null,this.mapNeededConditions=null};lC.prototype.destroy=function(){this.cachedLayerData=null,this.nodeInfosWithLayerKey=null,this.cacheAttributes=null,this.cacheSpecialtysLevels=null,this.mapLayerKeys=null,this.lastUsedLayerData=null,this.lastUsedGeopkIdxsObject=null,this.lastUsedLayerIdsObject=null,this.mapNeededConditions=null},lC.prototype.clearData=function(){},lC.prototype.loadLayerDataByIdxs=function(A,e,t,i){},lC.prototype.dealLayerDataLoading=function(A,e,t,i,o){},lC.prototype.loadGeopkOnDemand=function(A,e,t,i,o){var n=A?this.getAllLayerIdxData():this.getUsedLayerIdxData();this.dealLayerDataLoading(this.getLayerIdxInfoByLayerData(n),e,t,i,o)},lC.prototype.getUsedIdxsInfoFrom=function(A,e){var t=null,i={},o={},n={},r={};if(A&&A.length)for(var a=0,s=A.length;s>a;a+=1)i[t=A[a]]=!0;if(e)if(uh.isEmptyObject(i))n=e;else{for(t in e)i[t]&&(r[t]=!0);if(uh.isEmptyObject(r))o=i,n=e;else{for(t in e)r[t]||(n[t]=!0);for(t in i)r[t]||(o[t]=!0)}}else uh.isEmptyObject(i)||(o=i);return{objCurrUsedIdxs:i,addIdxs:Object.keys(o),removeIdxs:Object.keys(n)}},lC.prototype.getLayerIdxInfoByLayerData=function(A){var e=null,t=null;A?(e=A.layerIds,t=A.mpkIdxs):(e=null,t=null);var i=this.getUsedIdxsInfoFrom(e,this.lastUsedLayerIdsObject);this.lastUsedLayerIdsObject=i.objCurrUsedIdxs;var o=this.getUsedIdxsInfoFrom(t,this.lastUsedGeopkIdxsObject);return this.lastUsedGeopkIdxsObject=o.objCurrUsedIdxs,{layerScene:i,mpk:o}},lC.prototype.getUsedLayerIdxData=function(){if(!this.isConditionsChanged()&&this.lastUsedLayerData)return this.lastUsedLayerData;this.setConditionsChanged(!1);var A=this.getConditionsOnDemand();if(!A)return this.lastUsedLayerData=null,null;this.getCachedLayerData();for(var e=[],t=A,i=this.model.getModelDescriptor().referencedMeshCache.components,o=this.model.getModelDescriptor(),n=0,r=t.length;r>n;n+=1){var a=t[n],s=i[a];if(s)if(s.nodes||s.nodeIds)for(var l=null,c=0,h=(l=s.nodes?s.nodes:s.nodeIds).length;h>c;c+=1){var d=l[c];if("object"!==lc(d)&&(d=o.getReferencedMeshComponentNodeById(d)),d){var p=this.getFileKeyByGeoId(d.geoId);p&&e.push(p)}}else{var g=this.getFileKeyByGeoId(i[a].geoId);g&&e.push(g)}}return this.lastUsedLayerData={layerIds:[],layerKeys:[],boundingBoxes:[],mpkIdxs:e},this.lastUsedLayerData},lC.prototype.getFileKeyByGeoId=function(A){for(var e in this.cachedLayerData)if(this.cachedLayerData.hasOwnProperty(e)){var t=this.cachedLayerData[e];if(A>=t[0]&&t[1]>=A)return e}return window.geoidToFileKeyMap?window.geoidToFileKeyMap[A]:null},lC.prototype.getAllLayerIdxData=function(){this.setConditionsChanged(!1);var A=this.getCachedLayerData();if(!A)return null;var e=[],t=[],i=[],o=[];for(var n in A){for(var r=A[n].mpkIdxs,a=0,s=r.length;s>a;a+=1)i.push(r[a]);e.push(n),t.push(A[n].layerId),o.push(A[n].boundingBox)}return{layerIds:t,layerKeys:e,boundingBoxes:o,mpkIdxs:i}},lC.prototype.getUserIdsOnDemand=function(){var A={},e=this.getConditionsOnDemand();if(e)for(var t in e)A[e[t]]=!0;return A},lC.prototype.cacheLayerData=function(A,e){this.cachedLayerData[A]=e},lC.prototype.getCachedLayerData=function(){return this.cachedLayerData},lC.prototype.clearNodeInfoCacheWithLayerKey=function(){this.nodeInfosWithLayerKey={}},lC.prototype.cacheNodeInfoByLayerKey=function(A,e){this.nodeInfosWithLayerKey[A]||(this.nodeInfosWithLayerKey[A]=[]),this.nodeInfosWithLayerKey[A].push(e)},lC.prototype.cacheNodeInfosWithLayerKey=function(){var A=this.model.getModelDescriptor().getAllNodeInfos();for(var e in A)for(var t=A[e],i=0,o=t.length;o>i;i+=1){var n=t[i],r=this.formatLayerIds(n.userData);this.cacheNodeInfoByLayerKey(r[0],n)}},lC.prototype.cacheLayerKeys=function(A){this.mapLayerKeys=A;var e={},t=this.getLayerKeyAttributes();for(var i in A){var o=A[i],n=o[t[0]],r=o[t[1]];e.hasOwnProperty(n)||(e[n]=[]),e.hasOwnProperty(r)||(e[r]=[]),e[n].push(r),e[r].push(n)}this.cacheSpecialtysLevels=e},lC.prototype.getLayerKeyAttributes=function(){if(this.cacheAttributes)return this.cacheAttributes;var A=[],e=Object.keys(this.mapLayerKeys),t=this.mapLayerKeys[e[0]];for(var i in t)t.hasOwnProperty(i)&&A.push(i);return this.cacheAttributes=A,this.cacheAttributes},lC.prototype.formatLayerIds=function(A){var e=[];if(!A)return e.push("unknown"),e;var t=this.getFileKeyByGeoId(A.originalGeometryId);return e.push(t||"unknown"),e},lC.prototype.getLevelsOrSpecialtys=function(A){return this.cacheSpecialtysLevels.hasOwnProperty(A)?this.cacheSpecialtysLevels[A]:(Bh.warn("Attribute "+A+"has no according levels or specialtys."),[])},lC.prototype.getUnionBoundingBoxOnDemand=function(){var A=this.getBoundingBoxesOnDemand();if(A&&A.length>0){for(var e=new aA,t=0,i=A.length;i>t;t+=1)e.union(A[t]);return e}return null},lC.prototype.getBoundingBoxesOnDemand=function(){var A=this.getUsedLayerIdxData();return A?A.boundingBoxes:null},lC.prototype.setConditionsOnDemandLoad=function(A){this.mapNeededConditions=A,this.setConditionsChanged(!0)},lC.prototype.setConditionsChanged=function(A){this.conditionsChanged=A},lC.prototype.getConditionsOnDemand=function(){return this.mapNeededConditions},lC.prototype.isConditionsChanged=function(){return this.conditionsChanged};var cC=function(A){lC.call(this,A)};(cC.prototype=Object.assign(cC.prototype,lC.prototype)).loadLayerDataByIdxs=function(A,e,t,i){this.model.getLoader().resetProcessState(e.length),this.model.getLoader().loadGeopkOnDemand(e,(function(A,e){t&&t(e-A,e)}),i)},cC.prototype.dealLayerDataLoading=function(A,e,t,i,o){var n=A.mpk;if(0!==n.addIdxs.length||0!==n.removeIdxs.length){var r=!1;n.removeIdxs.length>0&&(r=!0,t&&t(null,n.removeIdxs)),n.addIdxs.length>0?this.loadLayerDataByIdxs(null,n.addIdxs,i,(function(){e&&e(o)})):r?e&&e(o):o&&o()}else e&&e(o)};var hC=function(A){return sC.call(this,A),this.layerProvider=new cC(A),this};(hC.prototype=Object.assign(hC.prototype,sC.prototype)).settleData=function(A){this.addNodeInfoToOctantMap(),this.getLayerProvider().cacheNodeInfosWithLayerKey(),this.loaded=!0,A&&A()},hC.prototype.clearData=function(){this.model.clearNodeGroup(),this.model.clearMeshFromOctantMap(),this.getLayerProvider().clearData(),this.model.clearWireframeElementCount(),this.defaultManager.clearData(),this.instancedManager.clearData(),this.clearLoadedState()},hC.prototype.addNodeInfoToOctantMap=function(){var A=this.model.manager,e=this.model.getEncodedDatabagId();this.model.getModelDescriptor().traverseNodeInfosByComponent((function(t,i){A.addNodeInfoToOctantMap(e,t,i)}))},hC.prototype.initData=function(A){var e=this;e.model.getModelDescriptor().parseItemData(e.layerProvider.getConditionsOnDemand(),(function(){e.settleData(),e.loadedUserIdsObject=e.getLayerProvider().getUserIdsOnDemand(),e.loadedUserIds=Object.keys(e.loadedUserIdsObject),A&&A()}))},hC.prototype.unload=function(A,e){var t=this;this.model.getModelDescriptor().clearReferencedMeshCacheByGeopkIdxs(e,(function(A){t.defaultManager.disposeGeometry(A)}))};var dC=function(A,e){return hC.call(this,A,e),this.tag="layer",this.defaultManager=new Of(e,A),this.instancedManager=new Hf(A),this.loader=new aC(this),this};(dC.prototype=Object.assign(dC.prototype,hC.prototype)).prepare=function(A,e){this.isAllReady()&&(this.prepareWireframe(this.model,e),this.model.getMaterialManager()._updateTextureMapping(this.model))},dC.prototype.dealMeshNodes=function(A){delete this.model.manager.octantToObjectMap[this.model.modelKey],this.addNodeInfoToOctantMap();var e=this.model.getModelDescriptor().getInstancedUserIdsByCategory(this.loadedUserIds);this.model._removeNodeGroup(gp.INSTANCEGEOMETRY),this.model._removeNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY),this.instancedManager.meshManager.dispose(),this.instancedManager.meshManager.disposeInstanceGeometries(),e.length&&this.instancedManager.createMeshNodes(this.model,e);var t=this.model.getModelDescriptor().getStandardUserIdsByCategory(this.loadedUserIds);this.model._removeNodeGroup(gp.GEOMETRY),this.model._removeNodeGroup(gp.WIREFRAME),this.defaultManager.meshManager.dispose(),this.defaultManager.meshManager.clearData(),t.length?this.defaultManager.asyncCreateMeshNodes(this.model,t,A):A&&A()},dC.prototype.unloadComponents=function(A,e){for(var t=this.model.modelKey,i=0,o=A.length;o>i;i+=1)this.model.manager.removeBatchedMeshFromOctantMap(t,A[i]);this.model.getModelDescriptor().clearNodeInfoCacheByComponentsKey(A),this.dealMeshNodes(e)};var pC=function(A){$u.call(this,A)};(pC.prototype=Object.assign(pC.prototype,$u.prototype)).parseItemData=function(A,e){var t=this.model;(ap(t.dataVersion,"2.0.0")||void 0===t.dataVersion)&&(Bh.time("升级几何结构"),this._updateV1ToV2(t),t.dataVersion="2.0.0",Bh.timeEnd("升级几何结构")),this._readMaterialBuffer(t),t.hasAnimation&&vc.EnableAnimation?(this._parseClips(),this._parseBones()):this._parseGeo();var i={};if(!i)return Bh.log("Empty scene"),!1;var o=this.referencedMeshCache;if(Bh.time("_readItemData"),!o.bufferData||0>=Object.keys(o.bufferData).length)return!0;if(A)for(var n=0,r=A.length;r>n;n+=1)o.components[A[n]]&&this._readItemData(i,A[n],A[n],void 0,0);else for(var a in o.components)this._readItemData(i,a,a,void 0,0);t.hasAnimation&&vc.EnableAnimation&&this._parseNodes(),Bh.timeEnd("_readItemData"),i=null,e&&e()};var gC=function(A){nC.call(this,A),this.descriptor=new pC(A.model)};(gC.prototype=Object.assign(gC.prototype,nC.prototype)).loadSceneAndMpks=function(A){this._loadScene(0),this._loadLayerKey(),vc.BorderLineDelayLoaded||this._loadAllBorderlines(A)},gC.prototype.getSceneTaskCount=function(A){var e=2;return vc.BorderLineDelayLoaded||(e+=this.getAllBorderlineCount()),e};var uC=function(A){of.call(this,A),this.nodeGroupName="PickingMeshGroup"};Object.assign(uC.prototype,of.prototype),eu(uC,[{key:"disposePickingNodeById",value:function(A){for(var e=Object.keys(this.pickingNodeMap[A]),t=0,i=e.length;i>t;t+=1)for(var o=this.pickingNodeMap[A][e[t]],n=0,r=o.length;r>n;n+=1)o[n].material=null,o[n].geometry.dispose(),o[n]=null}},{key:"removeFormPickingNodeGroup",value:function(A){if(this.pickingNodeGroup)for(var e=Object.keys(this.pickingNodeMap[A]),t=0,i=e.length;i>t;t+=1)for(var o=this.pickingNodeMap[A][e[t]],n=0,r=o.length;r>n;n+=1)this.pickingNodeGroup.remove(o[n])}},{key:"addToPickingNodeMap",value:function(A,e,t){this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[A]||(this.pickingNodeMap[A]={}),this.pickingNodeMap[A][e]=t,this.addToPickingNodeGroup(t)}},{key:"generatePickingMeshes",value:function(A){var e=this;this.manager.traverseActiveMeshMap(A,(function(A,t,i){if(!e._isExistNode(A,t)){for(var o=[],n=0,r=i.length;r>n;n+=1){var a=i[n],s=new he;s.setAttribute("position",a.geometry.getAttribute("position")),s.setIndex(a.geometry.getIndex()),s._withDrawRange&&s.setDrawRange(a.geometry.drawRange.start,a.geometry.drawRange.count);var l=new(a.isLineSegments?jo:Ue)(s,Kd.DefaultMaterial);Tu.copyMeshProperties(l,a),l.renderOrder=1,o.push(l)}e.addToPickingNodeMap(A,t,o)}}))}},{key:"_isExistNode",value:function(A,e){return!!(this.pickingNodeMap&&this.pickingNodeMap[A]&&this.pickingNodeMap[A][e])}},{key:"updatePickingMeshesState",value:function(A,e,t){if(this.pickingNodeMap)for(var i=this.pickingNodeMap,o=this.manager,n=0,r=e.length;r>n;n+=1){var a=e[n];if(i[a]&&o.isPickableNode(a)){var s=o.getActiveMeshMapById(a);if(s)for(var l=Object.keys(i[a]),c=0,h=l.length;h>c;c+=1){var d=l[c];if(s[d]){var p=i[a][d];if(p)for(var g=0,u=p.length;u>g;g+=1)p[g].material=A,p[g].visible=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var A=this.pickingNodeMap,e=Object.keys(A),t=0,i=e.length;i>t;t+=1)for(var o=e[t],n=Object.keys(A[o]),r=0,a=n.length;a>r;r+=1)for(var s=A[o][n[r]],l=0,c=s.length;c>l;l+=1)s[l].visible=!1}},{key:"updatePickingMeshes",value:function(A,e,t){return this.generatePickingMeshes(e),this.resetPickingMeshesState(),this.updatePickingMeshesState(A,e,t),this.getPickingNodeGroup()}}]);var fC=function(A,e){So.call(this),this.type="SkinnedMeshEx",this.matrixAutoUpdate=!0,this.active=!1,this.guid="",this.key="",this.typeEx="",this.geometry=A||Tu.EmptyGeometry,this.material=e||Kd.DefaultMaterial,this.visible=!1,this.castShadow=vc.EnableShadow,this.receiveShadow=vc.EnableShadow};(fC.prototype=Object.create(So.prototype)).constructor=fC,fC.prototype.init=function(A){A&&A.parent&&A.parent.add(this)},fC.prototype.destroy=function(){this.parent&&this.parent.remove(this),this.userData&&(this.userData=null),this.geometry=null,this.material=null},fC.prototype.isVisible=function(){return this.visible&&this.active},fC.prototype.spawn=function(A){void 0!==A.guid&&(this.guid=A.guid),void 0!==A.key&&(this.key=A.key),void 0!==A.name&&(this.name=A.name),void 0!==A.typeEx&&(this.typeEx=A.typeEx),A.geometry&&(this.geometry=A.geometry),A.material&&(this.material=A.material),A.matrix?(this.matrix.copy(A.matrix),this.updateMatrixWorld(!0)):(this.matrix.identity(),this.updateMatrixWorld(!0)),this.modelKey=A.modelKey?A.modelKey:"",A.userData?this.userData=A.userData:this.userData&&(this.userData=null),void 0!==A.visible&&(this.visible=A.visible),this.renderOrder=A.renderOrder||0,this.active=!0,this.visible=!0,this.frustumCulled=!1,this.matChange=!1},fC.prototype.clear=function(){this.geometry=Tu.EmptyGeometry,this.material=Kd.DefaultMaterial,this.active=!1,this.visible=!0,this.guid="",this.key="",this.typeEx="",this.frustumCulled=!0,this.material.visible=!1},fC.prototype.intersectBoxWithDistance=function(){var A=new aA;return function(e,t){var i=this.geometry,o=this.material,n=this.matrixWorld;return t&&(n=new M).multiplyMatrices(this.matrixWorld,t),void 0===o?-1:(i.boundingBox||i.computeBoundingBox(),A.copy(i.boundingBox),A.applyMatrix4(n),e.ray.intersectBoxWithDistance(A))}}(),fC.prototype.intersectBoxWithDistanceByIndices=function(A,e){var t=this.matrixWorld,i=this.computeBoundingBox(e);return i.applyMatrix4(t),A.ray.intersectBoxWithDistance(i)},fC.prototype.intersectBoxWithClipPlane=function(A,e){var t=this.matrixWorld,i=this.computeBoundingBox(e);return i.applyMatrix4(t),i.intersectsPlane(A)},fC.prototype.raycastByIndices=function(){var A=new M,e=new CA,t=new cA,i=new y,o=new y,n=new y,r=new s,a=new s,l=new s,c=new y,h=new y,d=new y,p=new M;function g(A,e,t,s,g,u,f,m){i.fromBufferAttribute(s,u),o.fromBufferAttribute(s,f),n.fromBufferAttribute(s,m);var C=function(A,e,t,i,o,n,r){var a=A.material;if(null===(Array.isArray(a)?t.intersectTriangle(i,o,n,!1,r):1===a.side?t.intersectTriangle(n,o,i,!0,r):t.intersectTriangle(i,o,n,2!==a.side,r)))return null;d.copy(r),d.applyMatrix4(p);var s=e.ray.origin.distanceTo(d);return e.near>s||s>e.far?null:{distance:s,point:d.clone(),object:A}}(A,e,t,i,o,n,h);if(C){if(g&&g.array&&g.array.length&&(r.fromBufferAttribute(g,u),a.fromBufferAttribute(g,f),l.fromBufferAttribute(g,m),C.uv=function(A,e,t,i,o,n,r){return RA.getBarycoord(A,e,t,i,c),o.multiplyScalar(c.x),n.multiplyScalar(c.y),r.multiplyScalar(c.z),o.add(n).add(r),o.clone()}(h,i,o,n,r,a,l)),s.instanceMatrix){var v=i.clone().applyMatrix4(s.instanceMatrix),I=o.clone().applyMatrix4(s.instanceMatrix),E=n.clone().applyMatrix4(s.instanceMatrix);C.face=new GA(u,f,m,RA.getNormal(v,I,E,new y))}else C.face=new GA(u,f,m,RA.getNormal(i,o,n,new y));C.faceIndex=u}return C}return function(i,o,n,r){var a=this.geometry,s=this.material;if(r){a=this.geometry,s=this.material;if((p=new M).multiplyMatrices(this.matrixWorld,r),void 0===s)return;if(null===a.boundingSphere&&a.computeBoundingSphere(),t.copy(a.boundingSphere),t.applyMatrix4(p),!1===i.ray.intersectsSphere(t))return;if(A.getInverse(p),e.copy(i.ray).applyMatrix4(A),null!==a.boundingBox&&!1===e.intersectsBox(a.boundingBox))return;var l=null,c=null,h=null,d=null,u=a.index;(I=a.attributes.position).instanceMatrix=r;var f=a.attributes.uv,m=null,C=null;if(null!==u)for(m=0,C=u.count;C>m;m+=3)c=u.getX(m),h=u.getX(m+1),d=u.getX(m+2),(l=g(this,i,e,I,f,c,h,d))&&(l.faceIndex=Math.floor(m/3),o.push(l));else for(m=0,C=I.count;C>m;m+=3)(l=g(this,i,e,I,f,c=m,h=m+1,d=m+2))&&(l.index=c,o.push(l))}else{if(p=this.matrixWorld,void 0===s)return;if(t.copy(this.computeBoundingSphere(n)),t.applyMatrix4(p),!1===i.ray.intersectsSphere(t))return;A.getInverse(p),e.copy(i.ray).applyMatrix4(A);var y=this.computeBoundingBox(n);if(!1===e.intersectsBox(y))return;l=null,c=null,h=null,d=null;var v,I=a.attributes.position,E=(f=a.attributes.uv,m=null,n.indexStart),B=n.indexStart+n.indexCount,x=a.getIndex().array;for(m=E,v=B;v>m;m+=3)(l=g(this,i,e,I,f,c=x[m],h=x[m+1],d=x[m+2]))&&(l.faceIndex=Math.floor(m/3),o.push(l))}}}(),fC.prototype.minDistanceToTri=function(A,e,t){function i(A,e){return new y(A.x-e.x,A.y-e.y,A.z-e.z)}function o(A,e){return new y(A.x+e.x,A.y+e.y,A.z+e.z)}function n(A,e,t){return new y(A.x+e.x*t,A.y+e.y*t,A.z+e.z*t)}function r(A,e){return A.x*e.x+A.y*e.y+A.z*e.z}function a(A,e){return new y(A.y*e.z-A.z*e.y,A.z*e.x-A.x*e.z,A.x*e.y-A.y*e.x)}function s(A,e,t,s){var l,c=r(e,s),h=r(e,e),d=r(s,s),p=i(t,A),g=r(e,p),u=r(s,p),f=null;0>(f=(g*d-u*c)/(h*d-c*c))||isNaN(f)?f=0:f>1&&(f=1);var m=null,C=null,y=null,v=null;return 0>=(l=(f*c-u)/d)||isNaN(l)?(C=t,0>=(f=g/h)||isNaN(f)?(m=A,y=i(t,A)):1>f?(m=n(A,e,f),v=a(p,e),y=a(e,v)):y=i(t,m=o(A,e))):1>l?(C=n(t,s,l),0>=f||isNaN(f)?(m=A,v=a(p,s),y=a(s,v)):1>f?(m=n(A,e,f),0>r(y=a(e,s),p)&&y.multiplyScalar(-1)):(v=a(p=i(t,m=o(A,e)),s),y=a(s,v))):(C=o(t,s),0>=(f=(c+g)/h)||isNaN(f)?(m=A,y=i(C,A)):1>f?(m=n(A,e,f),v=a(p=i(C,A),e),y=a(e,v)):y=i(C,m=o(A,e))),{vec:y,closestP:m,closestQ:C}}function l(A,e){var t=null,o=null,l=[],c=[],h=null;l[0]=i(A[1],A[0]),l[1]=i(A[2],A[1]),l[2]=i(A[0],A[2]),c[0]=i(e[1],e[0]),c[1]=i(e[2],e[1]),c[2]=i(e[0],e[2]);for(var d=null,p=null,g=null,u=0,f=A[0].distanceToSquared(e[0])+1,m=0;3>m;m+=1)for(var C=0;3>C;C+=1){var y=s(A[m],l[m],e[C],c[C]);h=y.vec;var v=r(d=i(o=y.closestQ,t=y.closestP),d);if(f>=v){p=t.clone(),g=o.clone(),f=v;var I=r(i(A[(m+2)%3],t),h),E=r(i(e[(C+2)%3],o),h);if(0>=I&&E>=0)return{start:t.clone(),end:o.clone(),minDistance:Math.sqrt(v)};0>I&&(I=0),E>0&&(E=0),r(d,h)-I+E>0&&(u=1)}}var B=a(l[0],l[1]),x=r(B,B);if(x>1e-15){var S=[];d=i(A[0],e[0]),S[0]=r(d,B),d=i(A[0],e[1]),S[1]=r(d,B),d=i(A[0],e[2]),S[2]=r(d,B);var w=-1;if(S[0]>0&&S[1]>0&&S[2]>0?S[w=S[1]>S[0]?0:1]>S[2]&&(w=2):0>S[0]&&0>S[1]&&0>S[2]&&S[2]>S[w=S[0]>S[1]?0:1]&&(w=2),w>=0&&(u=1,r(d=i(e[w],A[0]),a(B,l[0]))>0&&r(d=i(e[w],A[1]),a(B,l[1]))>0&&r(d=i(e[w],A[2]),a(B,l[2]))>0))return t=n(e[w],B,S[w]/x),o=e[w].clone(),t.distanceTo(o)}var M=a(c[0],c[1]),b=r(M,M);if(b>1e-15){var U=[];d=i(e[0],A[0]),U[0]=r(d,M),d=i(e[0],A[1]),U[1]=r(d,M),d=i(e[0],A[2]),U[2]=r(d,M);w=-1;if(U[0]>0&&U[1]>0&&U[2]>0?U[w=U[1]>U[0]?0:1]>U[2]&&(w=2):0>U[0]&&0>U[1]&&0>U[2]&&U[2]>U[w=U[0]>U[1]?0:1]&&(w=2),w>=0&&(u=1,r(d=i(A[w],e[0]),a(M,c[0]))>0&&r(d=i(A[w],e[1]),a(M,c[1]))>0&&r(d=i(A[w],e[2]),a(M,c[2]))>0))return{start:t=A[w].clone(),end:(o=n(A[w],M,U[w]/b)).clone(),minDistance:t.distanceTo(o)}}return u?(t=p,o=g,{start:p.clone(),end:g.clone(),minDistance:Math.sqrt(f)}):{start:p.clone(),end:g.clone(),minDistance:0}}var c=new y,h=new y,d=new y;function p(A,e,t,i,o,n){c.fromBufferAttribute(e,t),h.fromBufferAttribute(e,i),d.fromBufferAttribute(e,o),n&&(c.applyMatrix4(n),h.applyMatrix4(n),d.applyMatrix4(n)),A.push(c),A.push(h),A.push(d)}for(var g={start:null,end:null,minDistance:Number.POSITIVE_INFINITY},u=this.geometry,f=u.attributes.position,m=e?e.indexStart:0,C=u.getIndex().array,v=m,I=e?e.indexStart+e.indexCount:C.length;I>v;v+=3){var E=[];p(E,f,C[v],C[v+1],C[v+2],t);var B=l(A,E);if(0>=B.minDistance)return g.minDistance=0,g;g.minDistance>B.minDistance&&(g.minDistance=B.minDistance,g.start=B.start.clone(),g.end=B.end.clone())}return g},fC.prototype.computeBoundingBox=function(A){var e=new aA,t=this.geometry.attributes.position.array,i=null,o=null;return A?(i=A.positionStart,o=A.positionStart+A.positionCount):(i=0,o=t.length),this.setBoundingBoxFromArray(e,t,i,o),e},fC.prototype.computeBoundingSphere=function(A){var e=new aA,t=new y,i=this.geometry.attributes.position.array,o=null,n=null;A?(o=A.positionStart,n=A.positionStart+A.positionCount):(o=0,n=i.length);var r=new cA,a=r.center;this.setBoundingBoxFromArray(e,i,o,n),e.getCenter(a);for(var s=0,l=o,c=n;c>l;l+=3)t.x=i[l],t.y=i[l+1],t.z=i[l+2],s=Math.max(s,a.distanceToSquared(t));return r.radius=Math.sqrt(s),r},fC.prototype.setBoundingBoxFromArray=function(A,e,t,i){for(var o=Number(1/0),n=Number(1/0),r=Number(1/0),a=-1/0,s=-1/0,l=-1/0,c=t,h=i;h>c;c+=3){var d=e[c],p=e[c+1],g=e[c+2];o>d&&(o=d),n>p&&(n=p),r>g&&(r=g),d>a&&(a=d),p>s&&(s=p),g>l&&(l=g)}A.min.set(o,n,r),A.max.set(a,s,l)};var mC=function(A){return Rf.call(this),this.manager=A,this.nodePriority={high:[],medium:[],low:[]},this.visibleOctant=[],this.occlusionVisibleOctant=[],this.usedNodeInfosObject={},this.lineNodes={},this.blinkMaterials=[],this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.activeMeshMap={},this};(mC.prototype=Object.create(Rf.prototype)).destroy=function(){this.dispose(),this.clearData(),this.pickingNodeGenerator&&(this.pickingNodeGenerator.destroy(),this.pickingNodeGenerator=null),this.activeMeshMap=null,this.manager=null,this.nodePriority=null,this.visibleOctant=null,this.occlusionVisibleOctant=null,this.nodePriority=null,this.lineNodes=null,this.blinkMaterials=null},mC.prototype.disposeLineNodes=function(){for(var A in this.lineNodes){var e=this.lineNodes[A];e.geometry.dispose(),e=null,delete this.lineNodes[A]}},mC.prototype.clearData=function(){this.pickingNodeGenerator&&this.pickingNodeGenerator.clearData(),this._clearActiveMeshMap(),this.disposeGeometries(),this.disposeLineNodes(),this._clearNodePriorityData(!0),this._clearUsedNodeInfosObject(),this.visibleOctant.length=0,this.occlusionVisibleOctant.length=0},mC.prototype.update=function(A,e,t){this._updateMeshNodes(A,e,t)},mC.prototype.cullNodes=function(A,e){this._clearNodePriorityData(!1),this._adjustLowNodePriorityLength(A);var t=0;return t=vc.EnableOctant?this._cullNodesWithOctant(A,e):this._cullNodesWithFull(A),this._calcPrioritizedNodeCount(A,t)},mC.prototype.getPriorityNodes=function(){return[this.nodePriority.high,this.nodePriority.medium,this.nodePriority.low]},mC.prototype._cullNodesWithOctant=function(A,e){var t=0,i=0,o=this.manager.getLoader(A).getOctreeRootNodeInner(),n=this.manager.getLoader(A).getOctreeRootNodeOuter();if(this.manager.getContainsCamera(A)||!n)return this.visibleOctant.length=0,o&&this._frustumCull(A,e,o),n&&this._frustumCull(A,e,n),(i=this.visibleOctant.length)>0&&(this._sortVisibleOctant(e),t=this._logicCull(A,!0,!0,t,i)),t;n&&(this.visibleOctant.length=0,this._frustumCull(A,e,n),(i=this.visibleOctant.length)>0&&(this._sortVisibleOctant(e),t=this._logicCull(A,!0,!1,t,i)));var r=this.manager.getFilter(A);(Object.keys(this.nodePriority.low).length+this.nodePriority.high.length+this.nodePriority.medium.length<this.manager.getRenderableCount(A)||r._hasRenderPromotionFilter())&&((o=this.manager.getLoader(A).getOctreeRootNodeInner())&&(this.visibleOctant.length=0,this._frustumCull(A,e,o),(i=this.visibleOctant.length)>0&&(this._sortVisibleOctant(A,e),t=this._logicCull(A,!0,!1,t,i))));return t},mC.prototype._cullNodesWithFull=function(A){var e=A.getModelDescriptor().getComponentCount();return 0===e?0:this._logicCullWithFull(A,e)},mC.prototype._calcPrioritizedNodeCount=function(A,e){var t=e+this.nodePriority.high.length+this.nodePriority.medium.length;return t>this.manager.getRenderableCount(A)&&(t=this.manager.getRenderableCount(A)),t},mC.prototype._updateMeshNodes=function(A,e,t){if(this.filter=A.getFilter(),A.isOnlyWireframe()){A._getNodeGroup(gp.GEOMETRY).visible=!1}else{var i=A.getModelDescriptor().getStandardNodeInfos();if(i){this.clearSelectedObjectIds(),A._getNodeGroup(gp.GEOMETRY).visible=!0;var o=A.manager.filter,n=A.selectedMaterial,r=A.manager.sceneState,a=A.manager;if(a.octantToObjectMap&&a.octantToObjectMap[A.modelKey]){var s=a.octantToObjectMap[A.modelKey].mesh,l=A.materialManager.materials,c=this.manager.hiddenUserIdSetObject,h=this.manager.overrideUserIdSetObject,d=this.manager.transparentUserIdSetObject,p=this.manager.selectedUserIdSetObject,g=this.manager.hoveredUserIdSetObject;this.blinkMaterials.length=0,e||(e=A.getModelDescriptor().getStandardUserIds()),vc.TranslucentDepthDisabled&&(n.depthWrite=!n.transparent);var u=o._getMaterialByName("scene");vc.TranslucentDepthDisabled&&(u.depthWrite=!1);for(var f=0;e.length>f;f+=1){var m=e[f];if(i[m]){var C=i[m][0];if(C)if(s[m]){var y=s[m][0];if(y instanceof vu&&(y=y.object),y)if(c&&c[m])y.visible=!1;else{y.visible=!0;var v=[];if(d&&d[m]&&!vc.EnableSelectionByTranslucent){for(var I=0;C.materialId.length>I;I+=1)v.push(t||u);y.material=v}else if(p&&p[m])if(this.cacheSelectedObjectIds(m),vc.PickingEffect)for(var E=o._getOverrideMaterial(C),B=0;C.materialId.length>B;B+=1)v.push(t||E);else{for(var x=0;C.materialId.length>x;x+=1)v.push(t||n);y.material=v}else if(g&&g[m]){for(var S=0;C.materialId.length>S;S+=1)if(h[m]){var w=o._getMaterialByName(h[m]),M=r.getHoverMaterial(t||w);v.push(M)}else{var b=r.getHoverMaterial(t||l[C.materialId[S]]);v.push(b)}y.material=v}else if(d&&d[m]){for(var U=0;C.materialId.length>U;U+=1)v.push(t||u);y.material=v}else if(h&&h[m]){for(var F=0;C.materialId.length>F;F+=1)if(Array.isArray(h[m])){(K=l[C.materialId[F]])||(K=o._getMaterialByName(h[m][F])),v.push(t||K)}else{var K=o._getMaterialByName(h[m]);v.push(t||K)}y.material=v}else{for(var Q=0;C.materialId.length>Q;Q+=1){K=l[C.materialId[Q]];v.push(t||K)}y.material=v}}}else Bh.error(m,"没有创建对应的mesh")}}}}}},mC.prototype._getUsableMaterial=function(A,e,t,i){var o=e.materialId,n=e.userId,r=A.materialManager.materials,a=A.manager.sceneState,s=A.manager.filter,l=null,c=a.isSelected(n);!0!==c||s._isPickable(e)||(c=!1),t?vc.PickingEffect?l=s._getOverrideMaterial(e):(l=s._getOverrideMaterial(e))&&!c||(l=t):i&&(l=s._getOverrideMaterial(e));var h=A.manager.getOverrideMaterialByNodeInfo(e);return l=l||h||r[o],vc.Hover&&!vc.EnableRenderPass&&a.hoverId===n&&!1===c&&(l=a.getHoverMaterial(l)),l},mC.prototype._dealMeshes=function(A,e,t,i,o){var n=this.getGeometryByNodeInfo(A,e),r=A.pool,a=0;if(Array.isArray(n))for(var s=0,l=n.length;l>s;s+=1){a=r.get({modelKey:A.modelKey,nodeId:e.nodeId,userId:e.userId,originalId:e.originalId,userData:e.userData,geometry:n[s],matrix:e.matrix,material:i,renderOrder:i.transparent?0:vc.MaximumDepth-e.cellDepth,visible:t}),null}else a=r.get({modelKey:A.modelKey,nodeId:e.nodeId,userId:e.userId,originalId:e.originalId,userData:e.userData,geometry:n,matrix:e.matrix,material:i,renderOrder:i.transparent?0:vc.MaximumDepth-e.cellDepth,visible:t});0>a||o.curOctantId!==e.octantId&&(a>0&&A.manager.addObjectRangeToOctantMap(o.curOctantId,o.octantStartIndex,a-1),o.octantStartIndex=a,o.curOctantId=e.octantId)},mC.prototype._dealLineSegments=function(A,e,t,i){var o=this.getGeometryByNodeInfo(A,e);if(o){var n=this._getLineSegmentsNodeGroup(A),r=this.lineNodes[e.nodeId];r||((r=new cf(o,i)).nodeId=e.nodeId,r.name=e.name,r.geometryId=e.geometryId,r.modelKey=A.modelKey,this.lineNodes[e.nodeId]=r),r.material=i,r.visible=t,n.add(r),r.updateMatrixWorld(!0),this._cacheActiveMesh(e.userId,e.nodeId,r)}},mC.prototype._frustumCull=function(A,e,t){var i=A.manager,o=e.getFrustum(),n=vc.OctantDepth,r=e.projScreenMatrix,a=new aA;function s(A,e,t,i,o){var n=null;if(e&&t>A.depth&&(a.set(A.min,A.max),n=e.intersectsBox(a)),n){if(i){var l=a.applyMatrix4(r),c=l.getSize().length(),h=l.getCenter().z;A.priority=c/(h=h>1e-6?h:1e-6),o.push(A)}else o.push(A);for(var d=0,p=A.childOctants.length;p>d;d+=1)s(A.childOctants[d],e,t,i,o)}}(vc.DEBUG&&i.showOctreeBox(t),s(t,o,n,!0,this.visibleOctant),vc.OcclusionTranslucentEnabled)&&s(t,this.manager.getFrustumFromOcclusionCamera(),n,!1,this.occlusionVisibleOctant);return!0},mC.prototype._logicCull=function(A,e,t,i,o){var n=A.manager,r=n.filter,a=r._hasHiddenFileIdFilter(),s=r._hasOverrideMaterialFilter(),l=n.sceneState.selectionSet,c=r._hasRenderPromotionFilter(),h=this.nodePriority.high,d=this.nodePriority.medium,p=this.nodePriority.low,g=this.nodePriority.low.length,u=A.getModelDescriptor().getNodeInfosWithComponentKey();function f(A,e){if(!(a&&r._isHiddenFileId(A)||!1===r._isVisible(A)))if(l.hasOwnProperty(A.userId)||s&&r._hasHighPriorityOverrideMaterial(A))h.push(A);else{var t=!1;if(c&&r._isRenderPromotion(A)&&(t=!0),e){var o=A.userData,n=o?o.categoryId:void 0;n&&e[n]&&(t=!0)}t?d.push(A):g>i&&(p[i]=A,i+=1)}}var m=n.getCategoriesFromHighPriority("outer");!0===t&&(m=n.getCategoriesFromHighPriority("inner"));for(var C=0,y=0,v=0;o>v;v+=1){var I=null,E=0;e?(I=this.visibleOctant[v].octantId,E=this.visibleOctant[v].depth):I=v;var B=u[I];if(B){var x=this._getUsedNodeInfosByComponentKey(I);if(!x){for(C=0,y=B.length;y>C;C+=1){(w=B[C]).octantId=I,w.cellDepth=E,this._isSatisfied(A,w)&&this._cacheUsedNodeInfosByComponentKey(I,w)}x=this._getUsedNodeInfosByComponentKey(I)}if(x){var S=x.default;for(C=0,y=S.length;y>C;C+=1){var w;f(w=S[C],m)}}}}return Bh.timeEnd("collectNodeInfo"),i},mC.prototype._clearUsedNodeInfosObject=function(){for(var A in this.usedNodeInfosObject)delete this.usedNodeInfosObject[A].default,delete this.usedNodeInfosObject[A].instance,delete this.usedNodeInfosObject[A];this.usedNodeInfosObject={}},mC.prototype._getUsedNodeInfosByComponentKey=function(A){return this.usedNodeInfosObject[A]},mC.prototype._cacheUsedNodeInfosByComponentKey=function(A,e){this.usedNodeInfosObject[A]||(this.usedNodeInfosObject[A]={},this.usedNodeInfosObject[A].default=[],this.usedNodeInfosObject[A].instance=[]),this.usedNodeInfosObject[A].default.push(e)},mC.prototype._isSatisfied=function(A,e){var t=A.getLoadedUserIdsObject();return!t||Boolean(t[e.userId])},mC.prototype._logicCullWithFull=function(A,e){return this._logicCull(A,!1,!0,0,e)},mC.prototype._sortVisibleOctant=function(A,e){},mC.prototype._applyOcclusionTranslucent=function(A){if(vc.OcclusionTranslucentEnabled){var e=A.pool.getObjects(),t=A.manager.octantToObjectMap,i=this.occlusionVisibleOctant.length;if(i>0)for(var o=A.manager.getFrustumFromOcclusionCamera(),n=0;i>n;n+=1){var r=t[this.occlusionVisibleOctant[n].octantId];if(r&&r.length>0)for(var a=0,s=r.length;s>a;a+=2)for(var l=r[a];r[a+1]>=l;l+=1){var c=e[l][0];Rd.intersectObjectWithFrustum(c,o)&&this._overrideOcclusionMaterial(c)}}}},mC.prototype._overrideOcclusionMaterial=function(A,e){var t=e.material;if(t&&!1===t.transparent){var i=A.manager.acquireMaterial(),o=i.material;t.color?o.color.copy(t.color):i.resetColor(),o.opacity=vc.OcclusionOpacity,e.material=o,e.material.needsUpdate=!0}},mC.prototype._clearNodePriorityData=function(A){var e=this.nodePriority;e.high.length=0,e.medium.length=0,A&&(e.low.length=0)},mC.prototype._adjustLowNodePriorityLength=function(A){0===this.nodePriority.low.length&&(this.nodePriority.low.length=this.manager.getRenderableCount(A))},mC.prototype._clearLineSegmentsNodeGroup=function(A){this._getLineSegmentsNodeGroup(A).clear()},mC.prototype._getLineSegmentsNodeGroup=function(A){return A._getNodeGroup(gp.LINESEGMENTS,{globalSpace:!0})},mC.prototype._isLineSegments=function(A){return A.type===Qf.EnumNodeItemType.LINE},mC.prototype.getBlinkMaterials=function(A){return this.blinkMaterials},mC.prototype._makeMesh=function(A,e,t){var i=A.modelKey,o=A.manager,n=A.getModelDescriptor().getStandardNodeInfos();if(n){e||(e=A.getModelDescriptor().getInstancedUserIds());for(var r=A.getModelDescriptor(),a=A._getNodeGroup(gp.GEOMETRY,{globalSpace:!0}),s=A.materialManager.materials,l=0,c=e.length;c>l;l+=1){var h=A.getModelDescriptor().getNodeInfosByComponentKey(e[l]);if(!h||!h[0].mesh)for(var d=n[e[l]],p=0,g=d.length;g>p;p+=1){var u=d[p];if(u){var f=u.geometryId,m=this.getGeometryById(f);if(m){var C=u.materialId||r.referencedMeshCache.components[e[l]].matId,y=null;if(y=[],op(A.dataVersion,"1.0")||void 0===A.dataVersion){var v=s[C];if(u.materialId=[],!v)continue;if(Array.isArray(v))if(v.length>1)for(p=0;v.length>p;p+=1)u.materialId.push(C+"_"+p),s[C+"_"+p]=v[p];else s[C]=v[0],u.materialId.push(C);else u.materialId.push(C);for(p=0;u.materialId.length>p;p+=1)y.push(s[u.materialId[p]])}else for(p=0;C.length>p;p+=1){var I=s[C[p]];I||(I=Kd.DefaultMaterial),y.push(I)}if(1>y.length){var E=_u[u.type]?_u[u.type].color:void 0;E||(Bh.log("Material not found for type: ",u.type),E=_u.DEFAULT.color),E||(Bh.log("Default material not found for type: ",u.type),E=[1,1,1,1]);var B=new LA(E[0],E[1],E[2]),x=B.getHexString()+"_"+E[3],S=s[x];S||(S=new xr({color:B}),1>E[3]&&(S.transparent=!0,S.opacity=E[3]),S.side=2,s[x]=S),m.groups=[{start:0,count:m.index.count,materialIndex:0}],u.materialId.push(x),y.push(S)}for(var w=0;y.length>w;w+=1)y[w].aoMap&&m.attributes.uv&&(m.attributes.uv2=m.attributes.uv);var M=new Kf(m,y),b={matrix:u.matrix,modelKey:i,name:u.name,key:u.componentKey,userData:{},typeEx:u.type};M.spawn(b),a.add(M),o.addMeshToOctantMap(i,u.componentKey,new Iu(u.componentKey,M));var U={indexCount:m.index.count,indexStart:0,lightmapIdx:void 0,nodeId:u.componentKey,positionCount:3*m.attributes.position.count,positionStart:0,userId:u.componentKey};M._indicesGroup={},M._indicesGroup[u.componentKey]=[U],A.addMeshToInfoMap(u.componentKey,u.componentKey,M,U),M.geometryId=u.geometryId,this._cacheActiveMesh(u.userId,u.nodeId,M),f=null,C=null,b=null,y=null,m=null,M=null}}}}a.updateMatrixWorld(!0),t&&t()}},mC.prototype._makeSkinMesh=function(A,e,t){var i=A.modelKey,o=A.manager,n=A.getModelDescriptor().getStandardNodeInfos();if(n){e||(e=A.getModelDescriptor().getInstancedUserIds());for(var r=A.getModelDescriptor(),a=A.materialManager.materials,s=0,l=e.length;l>s;s+=1)for(var c=n[e[s]],h=0,d=c.length;d>h;h+=1){var p=c[h];if(p){var g=p.geometryId,u=this.getGeometryById(g);if(u){var f=p.materialId||r.referencedMeshCache.components[e[s]].matId,m=null;m=[];for(h=0;f.length>h;h+=1){var C=a[f[h]];C||(C=Kd.DefaultMaterial),m.push(C)}if(1>m.length){var y=_u[p.type]?_u[p.type].color:void 0;y||(Bh.log("Material not found for type: ",p.type),y=_u.DEFAULT.color),y||(Bh.log("Default material not found for type: ",p.type),y=[1,1,1,1]);var v=new LA(y[0],y[1],y[2]),I=v.getHexString()+"_"+y[3],E=a[I];E||(E=new xr({color:v}),1>y[3]&&(E.transparent=!0,E.opacity=y[3]),E.side=2,a[I]=E),u.groups=[{start:0,count:u.index.count,materialIndex:0}],p.materialId.push(I),m.push(E)}for(var B=0;m.length>B;B+=1)m[B].aoMap&&(u.attributes.uv2=u.attributes.uv);var x=null;if("skinIndex"in u.attributes&&"skinWeight"in u.attributes){x=new fC(u,m);for(var S=0;m.length>S;S+=1)m[S].skinning=!0;console.log("SkinnedMesh 类型mesh")}else x=new Kf(u,m);var w={matrix:p.matrix,modelKey:i,name:p.name,key:p.componentKey,userData:{},typeEx:p.type};x.spawn(w),o.addMeshToOctantMap(i,p.componentKey,new Iu(p.componentKey,x));var M={indexCount:u.index.count,indexStart:0,lightmapIdx:void 0,nodeId:p.componentKey,positionCount:u.attributes.position.count,positionStart:0,userId:p.componentKey};return x._indicesGroup={},x._indicesGroup[p.componentKey]=[M],A.addMeshToInfoMap(p.componentKey,p.componentKey,x,M),x.geometryId=p.geometryId,this._cacheActiveMesh(p.userId,p.nodeId,x),g=null,f=null,w=null,m=null,u=null,x}}}}},mC.prototype._readBufferInfo=function(A,e){var t=A.getModelDescriptor().getStandardNodeInfos();if(t){e||(e=A.getModelDescriptor().getInstancedUserIds());for(var i=A.getModelDescriptor(),o=A.materialManager.materials,n=A.materialManager.textures,r=0,a=e.length;a>r;r+=1)for(var s=t[e[r]],l=0,c=s.length;c>l;l+=1){var h=i.referencedMeshCache.components[s[l].componentKey],d=h.type;if(-1!==h.geoId){var p=this.getGeometryById(h.geoId);if(p||(p=this.getGeometryByNodeInfo(A,s[l])))if(np(A.dataVersion,"2.0.0"));else{var g=o[h.matId];if(g){if(A.textureNeedsUpdate&&void 0!==A.dataVersion&&ap(A.dataVersion,"2.0.0")&&(A.textureNeedsUpdate=!1,g.textures.length>0))if(g.materials.length>1)for(l=0;g.UVgroup.length>l;l+=1)for(m=(f=g.UVgroup[l]).start,C=f.count,y=f.textureIndex,r=0;g.groups.length>r;r+=1){E=(v=g.groups[r]).count,B=v.materialIndex;if((m===(I=v.start)||m+C===I+E||I>m&&C>E)&&C>=E){S=g.materials[B];(x=n[g.textures[y]])&&S&&(S.map=x)}}else g.materials[0].map=n[g.textures[0]]}else if(g=this._readMaterialBuffer(h.matId,A)){if(0===g.materials.length){(v=_u[d]?_u[d].color:void 0)||(Bh.log("Material not found for type: ",d),v=_u.DEFAULT.color),v||Bh.log("Default material not found for type: ",d);var u=new xr({color:new LA(v[0],v[1],v[2])});1>v[3]&&(u.transparent=!0,u.opacity=v[3]),u.side=2,g.materials.push(u),g.groups.push({start:0,count:c=p.index.count,materialIndex:0})}if(g.textures.length>0)if(g.materials.length>1)for(var l=0;g.UVgroup.length>l;l+=1)for(var f,m=(f=g.UVgroup[l]).start,C=f.count,y=f.textureIndex,r=0;g.groups.length>r;r+=1){var v,I,E=(v=g.groups[r]).count,B=v.materialIndex;if((m===(I=v.start)||m+C===I+E||I>m&&C>E)&&C>=E){var x,S=g.materials[B];(x=n[g.textures[y]])&&S&&(S.map=x)}}else g.materials[0].map=n[g.textures[0]];p&&g&&(p.groups=g.groups),o[h.matId]=g.materials}}}else Bh.debug("实体没有几何")}}},mC.prototype.createMeshNodes=function(A,e){this._readBufferInfo(A,e),A.hasAnimation&&vc.EnableAnimation?this._makeSkinMesh(A):this._makeMesh(A)},mC.prototype.asyncCreateMeshNodes=function(A,e,t){this._readBufferInfo(A,e),A.hasAnimation&&vc.EnableAnimation?t&&t():this._makeMesh(A,e,t)},mC.prototype._readMaterialBuffer=function(A,e){var t=e.getModelDescriptor().referencedMeshCache.materials[A];if(!t)return null;var i=t.color,o=t.colorIndex,n=t.texture,r=t.textureIndex,a=[],s=[],l=[];new Aa;if(i.length>4){for(var c=0;i.length/4>c;c+=1){var h=new xr({color:new LA(i[4*c],i[4*c+1],i[4*c+2])});1>i[4*c+3]&&(h.transparent=!0,h.opacity=i[4*c+3]),h.side=2,a.push(h),h=null}for(var d=null,p=void 0,g=0;o.length>g;g+=1){var u=o[g];u!==p&&(p=u,null!=d&&(d.count=3*g-d.start,s.push(d)),d={start:3*g,materialIndex:p})}null!=d&&(d.count=3*o.length-d.start,s.push(d))}else if(4===i.length){var f=new xr({color:new LA(i[0],i[1],i[2])});1>i[3]&&(f.transparent=!0,f.opacity=i[3]),f.side=2,a.push(f),s.push({start:0,count:3*o.length,materialIndex:0})}for(var m=null,C=void 0,y=r,v=0;y.length>v;v+=1){var I=y[v];I!==C&&(C=I,null!=m&&(m.count=3*v-m.start,l.push(m)),m={start:3*v,textureIndex:C})}return null!=m&&(m.count=3*y.length-m.start,l.push(m)),{materials:a,groups:s,textures:n,UVgroup:l}},mC.prototype.clearSelectedObjectIds=function(){this.selectedObjectIds.length=0},mC.prototype.cacheSelectedObjectIds=function(A){this.selectedObjectIds.push(A)},mC.prototype.adjustVisibility=function(A,e){var t=this._getNodeGroup(A),i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i},mC.prototype.changeVisibilityOfSelectedObjects=function(A,e){var t=A.manager,i=t.octantToObjectMap[A.modelKey].mesh;this.selectedMeshes.length=0;for(var o=0,n=this.selectedObjectIds.length;n>o;o+=1){var r=this.selectedObjectIds[o],a=i[r][0];a&&(t.filter._isVisible({userId:r})&&(a.visible=e))}},mC.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){var t=A.manager,i=t.octantToObjectMap[A.modelKey].mesh;this.selectedMeshes.length=0;for(var o={},n=0,r=this.selectedObjectIds.length;r>n;n+=1){o[this.selectedObjectIds[n]]=!0}for(var a in i)if(i.hasOwnProperty(a)&&!o[a]){var s=i[a][0];if(!s)continue;if(!t.filter._isVisible({userId:a}))continue;s.visible=e}},mC.prototype.restoreVisibilityOfObjects=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0},mC.prototype._getNodeGroup=function(A){return A._getNodeGroup(gp.GEOMETRY,{globalSpace:!0})},mC.prototype.getMeshesByUserIds=function(A,e){var t=e,i=A.getModelDescriptor().getNodeInfosByComponentKey(t);if(i){for(var o=[],n=0,r=i.length;r>n;n+=1)for(var a=i[n],s=a.mesh,l=s._indicesGroup[t],c=0,h=l.length;h>c;c+=1){var d={};d.mesh=s,d.indexInfo=l[c],d.matrix=s.matrix.clone().multiply(A.getModelMatrix()),d.boundingBox=a.boundingBox.clone().applyMatrix4(d.matrix),o.push(d)}return o}return null},mC.prototype._getUsedGeometry=function(A,e){var t=null;if(!vc.Instance&&e.uvArrayBuffer){var i=e.geometryId+"|"+e.nodeId;if(t=this.getGeometryById(i))return t;var o=this._createGeometryByNodeInfo(A,e);o instanceof Array||(o=[o]),t=[];for(var n=new l,r=new y,a=e.uvArrayBuffer,s=0,c=o.length;c>s;s+=1){var h=new he;h.setIndex(o[s].index),h.addAttribute("position",o[s].attributes.position),h.addAttribute("normal",o[s].attributes.normal),n.set(a[6*s],a[6*s+2],a[6*s+4],a[6*s+1],a[6*s+3],a[6*s+5],0,0,1);for(var d=[],p=o[s].attributes.uv.array,g=0,u=p.length;u>g;g+=2)r.set(p[g],p[g+1],1),r.applyMatrix3(n),d.push(r.x),d.push(r.y);h.addAttribute("uv",new Ae(d,2)),t.push(h)}this._cacheGeometry(i,t)}else t=this.getGeometryByNodeInfo(A,e);return t},mC.prototype.getGeometryBuffersByUserId=function(A,e){var t=A.getModelDescriptor().getStandardNodeInfosById(e);if(!t)return[];for(var i=[],o=A.getDatabagId(),n=0,r=t.length;r>n;n+=1){var a=t[n],s=this.getGeometryByNodeInfo(A,a);if(s){var l=this._isLines(a);if(s instanceof Array)for(var c=0,h=s.length;h>c;c+=1)i.push({isLines:l,databagId:o,nodeId:a.nodeId,position:s[c].getAttribute("position").array,index:s[c].getIndex().array,matrix:a.matrix});else i.push({isLines:l,databagId:o,nodeId:a.nodeId,position:s.getAttribute("position").array,index:s.getIndex().array,matrix:a.matrix})}}return i},mC.prototype.traverseActiveMeshMap=function(A,e){for(var t=0,i=(A=A||Object.keys(this.activeMeshMap)).length;i>t;t+=1){var o=A[t];if(this.activeMeshMap[o])for(var n=Object.keys(this.activeMeshMap[o]),r=0,a=n.length;a>r;r+=1){var s=n[r];e(o,s,this.activeMeshMap[o][s])}}},mC.prototype.getActiveMeshMapById=function(A){return this.activeMeshMap[A]},mC.prototype._clearActiveMeshMap=function(){this.activeMeshMap={}},mC.prototype._cacheActiveMesh=function(A,e,t){this.activeMeshMap[A]||(this.activeMeshMap[A]={}),this.activeMeshMap[A][e]||(this.activeMeshMap[A][e]=[]),this.activeMeshMap[A][e].push(t)},mC.prototype._isLines=function(A){return A.type===$u.EnumNodeItemType.LINE},mC.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new uC(this)),this.pickingNodeGenerator},mC.prototype.isPickableNode=function(A){return!this.filter||this.filter._isPickable({userId:A})};var CC=function(A){of.call(this,A),this.nodeGroupName="PickingWireFrameGroup"};Object.assign(CC.prototype,of.prototype),eu(CC,[{key:"disposePickingNodeById",value:function(A){for(var e=Object.keys(this.pickingNodeMap[A]),t=0,i=e.length;i>t;t+=1)for(var o=this.pickingNodeMap[A][e[t]],n=0,r=o.length;r>n;n+=1)o[n].material=null,o[n].geometry.dispose(),o[n]=null}},{key:"addToPickingNodeMap",value:function(A,e,t){this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[A]||(this.pickingNodeMap[A]={}),this.pickingNodeMap[A][e]=t,this.addToPickingNodeGroup(t)}},{key:"removeFormPickingNodeGroup",value:function(A){if(this.pickingNodeGroup)for(var e=Object.keys(this.pickingNodeMap[A]),t=0,i=e.length;i>t;t+=1)for(var o=this.pickingNodeMap[A][e[t]],n=0,r=o.length;r>n;n+=1)this.pickingNodeGroup.remove(o[n])}},{key:"generatePickingMeshes",value:function(A){var e=this,t=this.manager;this.manager.manager.getMeshManager().traverseActiveMeshMap(A,(function(A,i,o){if(!(o&&o.length&&o[0].isLineSegments||e._isExistNode(A,i))){var n=0,r=0,a=o[0].geometryId,s=[];for(n=0,r=o.length;r>n;n+=1)s.push(o[n].geometry);var l=t._getWireframeGeometryById(a,s),c=[];for(n=0,r=l.length;r>n;n+=1){var h=new jo(l[n],Kd.DefaultMaterial);Tu.copyMeshProperties(h,o[n]),h.renderOrder=0,c.push(h)}e.addToPickingNodeMap(A,i,c)}}))}},{key:"_isExistNode",value:function(A,e){return!!(this.pickingNodeMap&&this.pickingNodeMap[A]&&this.pickingNodeMap[A][e])}},{key:"updatePickingMeshesState",value:function(A,e,t){if(this.pickingNodeMap)for(var i=this.pickingNodeMap,o=this.manager.manager.getMeshManager(),n=0,r=e.length;r>n;n+=1){var a=e[n];if(i[a]&&o.isPickableNode(a)){var s=o.getActiveMeshMapById(a);if(s)for(var l=Object.keys(i[a]),c=0,h=l.length;h>c;c+=1){var d=l[c];if(s[d]){var p=i[a][d];if(p)for(var g=0,u=p.length;u>g;g+=1)p[g].material=A,p[g].visible=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var A=this.pickingNodeMap,e=Object.keys(A),t=0,i=e.length;i>t;t+=1)for(var o=e[t],n=Object.keys(A[o]),r=0,a=n.length;a>r;r+=1)for(var s=A[o][n[r]],l=0,c=s.length;c>l;l+=1)s[l].visible=!1}},{key:"updatePickingMeshes",value:function(A,e,t){return this.generatePickingMeshes(e),this.resetPickingMeshesState(),this.updatePickingMeshesState(A,e,t),this.getPickingNodeGroup()}}]);var yC=function(A){this.manager=A,this.wireframeGeometries={},this.wireframeLineMeshes={}};yC.prototype._disposeGeometries=function(){for(var A in this.wireframeGeometries)this._disposeGeometry(A)},yC.prototype.destroy=function(){this.manager=null,this._clearWireframeLineMeshes(),this.wireframeLineMeshes=null,this._disposeGeometries(),this.wireframeGeometries=null},yC.prototype.clearData=function(){this._clearWireframeLineMeshes(),this._disposeGeometries()},yC.prototype.update=function(A,e){this.isActivateWireframe(A)?(this._clearWireframeGroupNode(A),this._generateWireframeNodes(A,e),this._getWireWireframeGroupNode(A).updateMatrixWorld(!0)):this._removeWireframeGroupNode(A)},yC.prototype._disposeGeometry=function(A){var e=this.wireframeGeometries[A];if(e){if(Array.isArray(e))for(var t=0,i=e.length;i>t;t+=1)e[t].dispose();else e.dispose();delete this.wireframeGeometries[A]}},yC.prototype._clearWireframeLineMeshes=function(){for(var A in this.wireframeLineMeshes)delete this.wireframeLineMeshes[A];this.wireframeLineMeshes={}},yC.prototype._clearWireframeGroupNode=function(A){this._getWireWireframeGroupNode(A).clear()},yC.prototype._removeWireframeGroupNode=function(A){A._removeNodeGroup(this._getWireframeGroupName(A))},yC.prototype.isActivateWireframe=function(A){return A.isActivateWireframe()},yC.prototype._getWireWireframeGroupNode=function(A){return A._getNodeGroup(this._getWireframeGroupName(A),{globalSpace:!0})},yC.prototype._getWireframeGeometryByNodeInfo=function(A,e){return this._getWireframeGeometryById(e.geometryId,this.manager.getGeometryByNodeInfo(A,e),A)},yC.prototype._getWireframeGeometryById=function(A,e,t){if(this.wireframeGeometries[A])return this.wireframeGeometries[A];var i=[],o=null,n=null;if(Array.isArray(e))for(var r=0,a=e.length;a>r;r+=1)n=Up(e[r].attributes.position.array,e[r].index.array),(o=new he).setIndex(new $A(n,1)),o.setAttribute("position",e[r].attributes.position,3),i.push(o);else n=Up(e.attributes.position.array,e.index.array),(o=new he).setIndex(new $A(n,1)),o.setAttribute("position",e.attributes.position,3),i.push(o);return this.wireframeGeometries[A]=i,this.wireframeGeometries[A]},yC.prototype._makeWireframeLineMeshes=function(A,e,t){var i=this.wireframeLineMeshes[e.nodeId];if(!i){i=this.wireframeLineMeshes[e.nodeId]=[];for(var o=this._getWireframeGeometryByNodeInfo(A,e),n=0,r=o.length;r>n;n+=1){var a=new jo(o[n],this._getWireframeMaterial(A));a.name=e.nodeId+"_"+n,a.applyMatrix4(e.matrix),a.matrixAutoUpdate=!1,i.push(a)}e.wireframeMeshs=i}for(var s=0,l=i.length;l>s;s+=1)t.add(i[s])},yC.prototype._generateWireframeNodes=function(A,e){var t=this._getWireWireframeGroupNode(A),i=A.getModelDescriptor().getStandardNodeInfos();e||(e=A.getModelDescriptor().getStandardUserIds());for(var o,n,r=this.manager.getHiddenUserIds(),a=0;e.length>a;a+=1){var s=e[a],l=i[s][0];r[s]||(o=l,n=this._getFilter(A),o.type===Qf.EnumNodeItemType.LINE||vc.Instance&&("box"===o.geometryId||"boxM"===o.geometryId)||n._hasRenderWithBoardlineFilter()&&!n._isRenderWithBoardline(o)||this._makeWireframeLineMeshes(A,l,t))}},yC.prototype._getWireframeGroupName=function(A){return A._getWireframeGroupName()},yC.prototype._getWireframeMaterial=function(A){return A.getWireframeMaterial()},yC.prototype._getFilter=function(A){return A.manager.filter},yC.prototype.adjustVisibility=function(A,e){if(A.isActivateWireframe()){var t=this._getWireWireframeGroupNode(A),i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i}},yC.prototype.changeVisibilityOfSelectedObjects=function(A,e){},yC.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){this.adjustVisibility(A,e)},yC.prototype.restoreVisibilityOfObjects=function(){},yC.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new CC(this)),this.pickingNodeGenerator};var vC=function(A){this.meshManager=new mC(this),this.model=A,this.wireframeManager=new yC(this)};vC.prototype.destroy=function(){this.meshManager.destroy(),this.meshManager=null,this.wireframeManager.destroy(),this.wireframeManager=null},vC.prototype.clearData=function(){this.meshManager.clearData(),this.wireframeManager.clearData()},vC.prototype.disposeGeometry=function(A){this.meshManager.disposeGeometry(A)},vC.prototype.cullNodes=function(A,e){this.hasNodeInfo(A)&&this.meshManager.cullNodes(A,e)},vC.prototype.updateNodes=function(A,e){if(this.hasNodeInfo(A)){var t;t=this._collectModelFiltered(A),this.meshManager.update(A,e,t),this.wireframeManager.update(A,e)}},vC.prototype.applyFilter=function(A,e){if(this.hasNodeInfo(A)){var t=null;t=e||A.getModelDescriptor().getStandardUserIds();var i=A.getModelDescriptor().getStandardNodeInfos();this._collectFilteredUserIds(A.manager.filter,t,i),this._collectSelectedUserIds(A.manager.sceneState.selectionSet,i),this._collectHoveredUserIds(A.manager.sceneState.hoverId,i),this.updateNodes(A,e)}},vC.prototype.applySelection=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getStandardNodeInfos();this._clearSelectedState(A),this._clearHoveredState(A),this._collectSelectedUserIds(A.manager.sceneState.selectionSet,e),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this.updateNodes(A)}},vC.prototype.clearSelection=function(A){this._clearSelectedState(A),this.applyHover(A)},vC.prototype.applyHover=function(A){if(this.hasNodeInfo(A)){var e=A.getModelDescriptor().getStandardNodeInfos();this._clearHoveredState(A),this._collectHoveredUserIds(A.manager.sceneState.hoverId,e),this.updateNodes(A)}},vC.prototype.clearHover=function(A){this._clearHoveredState(A),this.updateNodes(A)},vC.prototype.applyBlink=function(A){},vC.prototype.clearBlink=function(A){},vC.prototype.getPriorityNodes=function(){return this.meshManager.getPriorityNodes()},vC.prototype.getGeometryByNodeInfo=function(A,e){return this.meshManager.getGeometryByNodeInfo(A,e)},vC.prototype.getRenderableCount=function(A){return A.renderableCount},vC.prototype.getLoader=function(A){return A.loader},vC.prototype.getContainsCamera=function(A){return A.containsCamera},vC.prototype.getFilter=function(A){return A.manager.filter},vC.prototype.hasNodeInfo=function(A){return!!A.getModelDescriptor().getStandardNodeInfos()},vC.prototype.createMeshNodes=function(A){this.meshManager.createMeshNodes(A)},vC.prototype.asyncCreateMeshNodes=function(A,e,t){this.meshManager.asyncCreateMeshNodes(A,e,t)},vC.prototype._collectFilteredUserIds=function(A,e,t){var i=A._hasHiddenFileIdFilter(),o=A._hasVisibleFilter(),n=A._hasOverrideMaterialFilter(),r=A._hasTransparentFilter();this.mapMaterialIdToUserIdsForFilter={};if(this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={},i||o||n||r)for(var a=0;e.length>a;a+=1){var s=e[a],l=t[s];if(l&&l.length)for(var c=0,h=l.length;h>c;c+=1){var d=l[c];if(i&&A._isHiddenFileId(d)||o&&!1===A._isVisible(d))this.hiddenUserIdSetObject[s]=!0;else if(r&&A._isTransparent(d))this.transparentUserIdSetObject[s]=!0;else if(n&&A._hasOverrideMaterial(d)){var p=A._getOverrideMaterial(d);if(Array.isArray(p)){for(var g=[],u=0,f=p.length;f>u;u++){var m=null!==p[u]?p[u].name:"";""!==m&&g.push(m)}this.overrideUserIdSetObject[s]=g}else{var C=null!==p?p.name:"";""!==C&&(this.overrideUserIdSetObject[s]=C)}}}}},vC.prototype._collectModelFiltered=function(A){var e=A.manager.filter,t=A.modelKey,i=e._hasModelOverrideMaterialFilter(),o=e._hasModelTransparentFilter(),n=A.manager.modelState.selectionSet;return A.manager.modelState.hoverId===t?A.manager.modelState.getHoverMaterial():n.hasOwnProperty(A.modelKey)?A.manager.modelState.selectionMaterial:o&&e._isModelTransparent(t)?e._getMaterialByName("scene"):i&&e._hasModelOverrideMaterial(t)?e._getModelOverrideMaterial(t):null},vC.prototype._clearFilteredState=function(){this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={}},vC.prototype.getFilteredUserIds=function(){return this.mapMaterialIdToUserIdsForFilter},vC.prototype.getSelectedUserIds=function(){return this.mapMaterialIdToUserIdsForSelection},vC.prototype.getHoveredUserIds=function(){return this.mapMaterialIdToUserIdsForHover},vC.prototype.getBlinkedUserIds=function(){return this.mapBlinkUserIds},vC.prototype.getHiddenUserIds=function(){return this.hiddenUserIdSetObject},vC.prototype._collectSelectedUserIds=function(A,e){for(var t in this.selectedUserIdSetObject={},A)if(A.hasOwnProperty(t)){if(!e[t])continue;this.selectedUserIdSetObject[t]=!0}},vC.prototype._clearSelectedState=function(){this.selectedUserIdSetObject={}},vC.prototype._collectHoveredUserIds=function(A,e){if(this.hoveredUserIdSetObject={},A&&e[A]){var t=e[A];this.hoveredUserIdSetObject={},t&&(this.hoveredUserIdSetObject[A]=!0)}},vC.prototype._clearHoveredState=function(){this.hoveredUserIdSetObject={}},vC.prototype.getMeshesByUserIds=function(A,e){return this.meshManager.getMeshesByUserIds(A,e)},vC.prototype.adjustVisibility=function(A,e){this.meshManager.adjustVisibility(A,e),this.wireframeManager.adjustVisibility(A,e)},vC.prototype.changeVisibilityOfSelectedObjects=function(A,e){this.meshManager.changeVisibilityOfSelectedObjects(A,e),this.wireframeManager.changeVisibilityOfSelectedObjects(A,e)},vC.prototype.changeVisibilityOfNonSelectedObjects=function(A,e){this.meshManager.changeVisibilityOfNonSelectedObjects(A,e),this.wireframeManager.changeVisibilityOfNonSelectedObjects(A,e)},vC.prototype.restoreVisibilityOfObjects=function(){this.meshManager.restoreVisibilityOfObjects(),this.wireframeManager.restoreVisibilityOfObjects()},vC.prototype.isPickableNode=function(A){var e=this.getHiddenUserIds();if(e&&e[A])return!1;var t=this.getTransparentUserIds();return!t||!t[A]},vC.prototype.isHiddenNode=function(A){var e=this.getHiddenUserIds();return!(!e||!e[A])},vC.prototype.getMeshManager=function(){return this.meshManager},vC.prototype.getWireFrameManager=function(){return this.wireframeManager},vC.prototype.getTransparentUserIds=function(){return this.transparentUserIdSetObject};var IC=function(A){return hC.call(this,A),this.tag="layer",this.defaultManager=new vC,this.instancedManager=new Hf,this.loader=new gC(this),this};(IC.prototype=Object.assign(IC.prototype,hC.prototype)).destroy=function(){this.defaultManager.destroy(),this.defaultManager=null,this.instancedManager.destroy(),this.instancedManager=null},IC.prototype.prepareData=function(A){},IC.prototype.prepare=function(A){this.isAllReady()&&(this.model.getMaterialManager()._updateTextureMapping(),this.model.clearMeshFromOctantMap())},IC.prototype.updateNodes=function(){},IC.prototype.addNodeInfoToOctantMap=function(){},IC.prototype.dealMeshNodes=function(A){A&&A()},IC.prototype.disposeBufferAfterVbo=function(){},IC.prototype.dealMeshNodes=function(A){this.model.getModelDescriptor().getInstancedUserIdsByCategory(this._loadedUserIds);var e=this.model,t=this;this.defaultManager.asyncCreateMeshNodes(e,e.getModelDescriptor().getStandardUserIds(),(function(){t.updateNodes(),A&&A()}))},IC.prototype.unloadComponents=function(A,e){for(var t=this.model.modelKey,i=0,o=A.length;o>i;i+=1){var n=this.model.getModelDescriptor().getNodeInfosByComponentKey(A[i]);if(n){for(var r=0,a=n.length;a>r;r+=1){var s=n[r];if(s.mesh)this.defaultManager.meshManager.disposeGeometry(s.mesh.geometry.key),s.mesh.destroy()}this.model.manager.removeMeshFromOctantMap(t,A[i])}}this.model.getModelDescriptor().clearNodeInfoCacheByComponentsKey(A),e&&e()};var EC=function(A){Af.call(this,A),this.instancedComponent={}};Object.assign(EC.prototype,Af.prototype),EC.prototype.parseItemData=function(A){this._readMaterialBuffer(this.model),this._parseGeo(),vc.Instance&&this._parseInstanced();var e={},t=this.referencedMeshCache;for(var i in Bh.time("_readItemData"),t.components)t.components.hasOwnProperty(i)&&this._readItemData(e,i,i,void 0,0);Bh.timeEnd("_readItemData"),e=null,A&&A()},EC.prototype._readItemData=function(A,e,t){var i=this.referencedMeshCache.components[e];void 0!==i&&this._readMeshInfo(A,t,i,null)},EC.prototype._readMeshInfo=function(A,e,t,i){var o=this.referencedMeshCache,n=this.model.materialManager.materials,r=null,a=null,s=this.model.subModel[t.subModel];if(t.nodes||t.nodeIds){a=t.originalId;var l=(new M).fromArray(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);t.matrix=l;var c=[];c=t.nodes?t.nodes:t.nodeIds;for(var h=0;c.length>h;h+=1){var d=c[h];if("object"!==lc(d)&&(d=this.getReferencedMeshComponentNodeById(d)),d){var p,g=null,u="";if(-1!==d.geoId)if((g=this._getMeshNodeAttr(d,t,h)).boundingBox.applyMatrix4(s),g){if(t.buildInCategory&&(g.buildInCategory=t.buildInCategory),!n[u=d.material]){var f=_u[t.type]?_u[t.type].color:void 0;f||(Bh.log("Material not found for type: ",t.type),f=_u.DEFAULT.color),f||(Bh.log("Default material not found for type: ",t.type),f=[1,1,1,1]);var m=new LA(f[0],f[1],f[2]),C=u||m.getHexString()+"_"+f[3],y=n[C];y||(Bh.warn("缺少材质 "+u),y=Kd.createStandardMaterial({color:m}),1>f[3]&&(y.transparent=!0,y.opacity=f[3]),y.side=2,n[C]=y),g.material=u=C}if(n[u].aoMap){var v=this.getReferencedMeshBufferById(g.geometryId);v&&(v.uv2=v.uv)}p=g.nodeId;var I=(R=this.userDataReader)?R.getUserData(r):null;g.type=t.type,g.userId=e,g.name=t.name,g.userDataId=r,g.originalId=a,g.materialId=u,g.originMId=u,g.userData=I,g.categoryId=0,g.componentKey=e,g.familyName=t.familyName,g.familySymbol=t.familySymbol;var E=vc.Instance,B=o.reuseNodes.hasOwnProperty(p);g.instanceOrNot=!(!E||!B),g.isBatched=!0,g.state=Lc.Visible,g.material=null,this._classifyNodeInfo(g),g=null}else Bh.debug("非法node")}}}else{var x=t,S="";if(null===i?(r=x.userDataId,a=x.originalId,S=x.materialId||x.matId):(r=i.userDataId,a=i.originalId,S=i.materialId>-1?i.materialId:x.materialId),x.materials||(x.materials=[]),x.materials.length>0)for(h=0;x.materials.length>h;h+=1){var w=null;if(w=this._getOldMeshNodeAttr(A,x,x.materials.length>1,h)){if(x.buildInCategory&&(w.buildInCategory=x.buildInCategory),w.boundingBox.applyMatrix4(s),!n[S=x.materials[h]]){var b=_u[x.type]?_u[x.type].color:void 0;b||(Bh.log("Material not found for type: ",x.type),b=_u.DEFAULT.color),b||(Bh.log("Default material not found for type: ",x.type),b=[1,1,1,1]);var U=new LA(b[0],b[1],b[2]),F=S||U.getHexString()+"_"+b[3],K=n[F];K||(Bh.warn("缺少材质 "+S),K=Kd.createStandardMaterial({color:U}),1>b[3]&&(K.transparent=!0,K.opacity=b[3]),K.side=2,n[F]=K)}if(n[S].aoMap){var Q=this.getReferencedMeshBufferById(w.geometryId);Q&&(Q.uv2=Q.uv)}if(!w)return;var R;I=(R=this.userDataReader)?R.getUserData(r):null;w.type=x.type,w.userId=x.key,w.name=x.name,w.userDataId=r,w.originalId=a,w.materialId=S,w.originMId=S,w.userData=I,w.categoryId=0,w.componentKey=x.key,w.familyName=x.familyName,w.familySymbol=x.familySymbol,vc.Instance&&this.instancedComponent[x.key]?w.instanceOrNot=!0:(w.instanceOrNot=!1,this.instancedGeo[w.originalGeometryId].length>1&&(w.originalGeometryId="")),w.state=Lc.Visible,w.material=null,w.isBatched=!0,this._classifyNodeInfo(w),w=null}else Bh.debug("非法node")}else{var T=null,k=_u[x.type]?_u[x.type].color:void 0;k||(Bh.log("Material not found for type: ",x.type),k=_u.DEFAULT.color),k||(Bh.log("Default material not found for type: ",x.type),k=[1,1,1,1]);var D=new LA(k[0],k[1],k[2]),L=D.getHexString()+"_"+k[3],N=n[L];if(N||(N=Kd.createStandardMaterial({color:D}),1>k[3]&&(N.transparent=!0,N.opacity=k[3]),N.side=2,n[L]=N),x.materials.push(L),(T=this._getOldMeshNodeAttr(A,x,!1,0)).boundingBox.applyMatrix4(s),S=x.materials[0],!T)return;e=x.key;T.type=x.type,T.userId=e,T.name=x.name,T.originalId=a,T.materialId=S,T.originMId=S,T.userData={},T.categoryId=0,T.componentKey=e,T.familyName=x.familyName,T.familySymbol=x.familySymbol,T.instanceOrNot=!(!vc.Instance||!this.instancedComponent[e]),T.isBatched=!0,T.state=Lc.Visible,T.material=null,this._classifyNodeInfo(T),T=null}}},EC.prototype._getMeshNodeAttr=function(A,e,t){var i=new M;i.fromArray(A.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),vc.DataReduction&&i.scale(new y(1e3,1e3,1e3)),e&&i.multiplyMatrices(e.matrix,i),A.geoId=e.subModel+A.geoId;var o=A.nodeId,n=A.geoId;if(-1!==n){var r=A.maxBoundary||e.maxBoundary,a=A.minBoundary||e.minBoundary,s=new ph;return s.set(a,r),{nodeId:o,guid:A.guid,geometryId:n,originalGeometryId:A.geoId,matrix:i,boundingBox:s,model:this.model}}},EC.prototype._getOldMeshNodeAttr=function(A,e,t,i){var o=new M;o.fromArray(e.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),vc.DataReduction&&o.scale(new y(1e3,1e3,1e3));var n=t?e.key+"_"+i:e.key,r=t?e.geoId+"_"+i:e.geoId;if(-1!==r){var a=new ph,s=this.getReferencedMeshBufferById(e.geoId);return s&&s.position?(a=Tu.getBoundingBoxByBuffer(s.position)).applyMatrix4(o):Bh.warn("no position "),{nodeId:n,guid:e.guid,geometryId:r,originalGeometryId:e.geoId,matrix:o,boundingBox:a,model:this.model}}};var BC=function(A){Xu.call(this,A),this.maxGeoLoadTaskCount=0,this.geoLoadTaskCount=0,this.taskInstancedGeometrieManager=new Ou(this,"geometrie"),this.descriptor=new EC(A.model)};(BC.prototype=Object.assign(BC.prototype,Xu.prototype)).loadData=function(){for(var A=this,e=this,t=this.model,i=t.getConfig(),o=!1,n=0,r=0,a=0,s=0,l=[],c=[],h=[],d=[],p=[],g=[],u=[],f=[],m=[],C=function(C,y){var v=i.children[C];if(E=i.animation,!(I=i.scene[C])||!I.components||!I.geometries&&(!I.batchedGeometries&&!I.instancedGeometries||1>I.batchedGeometries.length&&1>I.instancedGeometries.length)||!I.materials||!I.textures)return Bh.error("scene is null,modelKey is ",t.modelKey),t.dispatchEventEx({type:Rc.ON_LOAD_EMPTY_SCENE,modelKey:t.modelKey}),"continue";if(o=!0,n+=I.components.length||0,I.components.forEach((function(A){e.fileKeyFromModelKey[A]=v})),r+=I.materials.length||0,a+=I.textures.length||0,s+=I.reuseNodes&&I.reuseNodes.length||0,u=u.concat(I.textures),A.map=A.map||[],2>Number(I.geo))return Bh.error("不支持1.0版本的几何结构和其他版本混合加载。"),{v:void 0};if(l=l.concat(I.components),h=h.concat(I.materials),m=m.concat(I.reuseNodes||[]),Array.isArray(I.nodes)&&(c=c.concat(I.nodes)),u=u.concat(I.textures),I.map&&A.map.push(I.map),I.trees.length>0)for(B=0;I.trees.length>B;B+=1)"partition"===(x=I.trees[B]).type&&(f.push(x.fileKey),e.fileKeyFromModelKey[x.fileKey]=v);I.lights&&I.lights.length>0&&(g=g.concat(I.lights)),E&&(E.bones.length,E.bones,d.push(E.clips),p.push(E.nodes))},y=0,v=i.scene.length;v>y;y+=1){var I,E,B,x,S=C(y);switch(S){case"continue":continue;default:if("object"===lc(S))return S.v}}if(t.setEmptyScene(!o),e.maxLoadTaskCount=0,e.maxLoadTaskCount+=n,e.maxLoadTaskCount+=r,e.maxLoadTaskCount+=f.length,e.maxLoadTaskCount+=s,e.maxLoadTaskCount+=c.length,e.maxLoadTaskCount+=g.length,1>e.maxLoadTaskCount)return Bh.info("Nothing to load ",t.modelKey),void t.dispatchEventEx({type:Tc.SCENE_NOTHING_TO_LOAD,modelKey:t.modelKey});e.progress.total+=e.maxLoadTaskCount,e.startCallback&&e.startCallback(),Bh.time("数据加载时间"),e._loadComponent(l),e._loadMaterial(h),e._loadComponentNode(c),e._loadReuseNode(m),vc.EnableTextureLoading&&a>0?(e.maxLoadTextureCount+=a,e._loadTextures(u)):e._onLoadTexture(),e._loadKDTree(f),g.length>0&&e._loadLights(g),e.offLine&&e.loadAttribute(),e.loadFloorInfo(e.model.modelKey),e.loadSceneAndGeos(i)},BC.prototype.loadReuseNode=function(A,e){var t=this,i=this.jsonLoader,o=this.model,n=this.url;i.setResponseType("json"),vc.useGzip&&i.setResponseType("arraybuffer"),i.setCacheViable(!0);i.load(n.mpkUrl(A),(function(A){t._parseReuseNodes(A),Bh.debug("component load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})}))},BC.prototype._parseComponent=function(A,e){var t=this.fileKeyFromModelKey[e]||"";if(A){var i=this.descriptor;if(i)for(var o in vc.useGzip&&(A=JSON.parse(uh.ab2str(pako.ungzip(A)))),A)if(A.hasOwnProperty(o)){var n=A[o];-1!==n.geoId&&(n.geoId=t+n.geoId,n.subModel=t),i.cacheReferencedMeshComponentData(A[o].key,A[o])}}else Bh.error("没有数据")},BC.prototype._parseMaterial=function(A,e){if(A){if(A instanceof ArrayBuffer)try{A=JSON.parse(uh.ab2str(A))}catch(A){Bh.error("处理材质出错")}var t=this.descriptor;if(t)for(var i in A)t.cacheReferencedMeshMaterialData(i,A[i])}else Bh.error("没有数据")},BC.prototype.loadBatchedGeometrie=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model;i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var r=i.load(o.mpkUrl(A),(function(i){t._parseBatchedGeometrie(i,A),Bh.debug("geo load from online"),t._onGeoTaskFinished(),e()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_GEOMETRY_ERROR,modelKey:n.modelKey}),e(),t._onGeoTaskFinished()}));t.requests.loadGeometrie=r},BC.prototype.loadInstancedGeometrie=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model;i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var r=i.load(o.mpkUrl(A),(function(i){t._parseInstancedGeometrie(i,A),Bh.debug("geo load from online"),t._onGeoTaskFinished(),e()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_GEOMETRY_ERROR,modelKey:n.modelKey}),e(),t._onGeoTaskFinished()}));t.requests.loadGeometrie=r},BC.prototype._parseBatchedGeometrie=function(A,e){var t=this.fileKeyFromModelKey[e]||"",i=new ku.BatchedGeometryReader(A,this.dataVersion),o=this.descriptor;if(o){for(var n=i.geoCount,r=0;n>r;r+=1){var a=i.geomMap[r];void 0!==a.position&&void 0!==a.index&&void 0!==a.normal?(a.geoId=t+a.geoId,o.cacheReferencedMeshBufferData(a.geoId,a),this.handler.createBatchedMeshNodes(a)):Bh.error("Error Geometry!")}this.model.manager.viewerImpl.render(),i=null}},BC.prototype._parseInstancedGeometrie=function(A,e){var t=this.fileKeyFromModelKey[e]||"",i=new ku.InstancedGeometryReader(A,this.dataVersion),o=this.descriptor;if(o){for(var n=i.geoCount,r=0;n>r;r+=1){var a=i.geomMap[r];void 0!==a.position&&void 0!==a.index&&void 0!==a.normal?(a.geoId=t+a.geoId,o.cacheReferencedMeshBufferData(a.geoId,a),this.handler.createInstancedMeshNodes(a)):Bh.error("Error Geometry!")}this.model.manager.viewerImpl.render(),i=null}},BC.prototype._parseReuseNodes=function(A,e){if(A){vc.useGzip&&(A=JSON.parse(uh.ab2str(pako.ungzip(A))));var t=this.descriptor;if(t)if(t.referencedMeshCache.reuseNodes)for(var i in A)t.referencedMeshCache.reuseNodes[i]=A[i];else t.referencedMeshCache.reuseNodes=A}else Bh.error("没有数据")},BC.prototype.startLoadSceneAndGeos=function(A){Bh.time("几何数据加载时间");for(var e=A.scene,t=this,i=0,o=0,n=[],r=[],a=function(a,s){var l=e[a],c=A.children[a];(l.batchedGeometries&&l.batchedGeometries.length>0||l.instancedGeometries&&l.instancedGeometries.length>0)&&(i+=l.batchedGeometries.length||0,o+=l.instancedGeometries.length||0,n=n.concat(l.batchedGeometries),r=r.concat(l.instancedGeometries),l.batchedGeometries.forEach((function(A){t.fileKeyFromModelKey[A]=c})),l.instancedGeometries.forEach((function(A){t.fileKeyFromModelKey[A]=c})))},s=0,l=e.length;l>s;s+=1)a(s);t.maxGeoLoadTaskCount+=i,t.maxGeoLoadTaskCount+=o,t.maxGeoLoadTaskCount>0||t._onGeoTaskFinished(),this._loadBatchedGeo(n),this._loadInstancedGeo(r)},BC.prototype.loadSceneAndGeos=function(A){for(var e=A.scene,t=this,i=0,o=[],n=function(n,r){var a=e[n],s=A.children[n];a.geometries&&a.geometries.length>0&&!(a.batchedGeometries&&a.batchedGeometries.length>0||a.instancedGeometries&&a.instancedGeometries.length>0)&&(i+=a.geometries.length||0,o=o.concat(a.geometries),a.geometries.forEach((function(A){t.fileKeyFromModelKey[A]=s})))},r=0,a=e.length;a>r;r+=1)n(r);t.maxLoadTaskCount+=i,this._loadGeo(o)},BC.prototype._loadBatchedGeo=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=function(t){if(A[i[t]])if(!0===A[i[t]].split){var o=A[i[t]].list,s=new Uint8Array(A[i[t]].length);n.getBatch(o,(function(A){for(var n=!0,r=0;o.length>r;r+=1)A[o[r]]?s.set(new Uint8Array(A[o[r]]),4e7*r):(n=!1,Bh.error("获取分割几何失败"));if(n){var a=i[t].indexOf("fileKey=");e._parseBatchedGeometrie(s.buffer,i[t].slice(a+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local")}else{var l=e.taskGeometrieManager,c=i[t].indexOf("fileKey=");if(-1===c)return void Bh.error("url is not has fileKey");l.addTask(i[t].slice(c+8)),Bh.debug("load geo from net"),e.taskGeometrieManager.processTasks(e.loadBatchedGeometrie.bind(e))}}),(function(){Bh.error("获取分割几何失败")}))}else a=i[t].indexOf("fileKey="),e._parseBatchedGeometrie(A[i[t]],i[t].slice(a+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local");else{if(r=e.taskGeometrieManager,-1===(a=i[t].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(i[t].slice(a+8)),Bh.debug("load geo from net")}},o=0;i.length>o;o+=1){var r,a,s=t(o);if("object"===lc(s))return s.v}e.taskGeometrieManager.processTasks(e.loadBatchedGeometrie.bind(e))}),(function(){for(var t=e.taskGeometrieManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadBatchedGeometrie.bind(e))}))}else{for(var r=this.taskGeometrieManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadBatchedGeometrie.bind(e))}},BC.prototype._loadInstancedGeo=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=function(t){if(A[i[t]])if(!0===A[i[t]].split){var o=A[i[t]].list,s=new Uint8Array(A[i[t]].length);n.getBatch(o,(function(A){for(var n=0;o.length>n;n+=1)A[o[n]]?s.set(new Uint8Array(A[o[n]]),4e7*n):Bh.error("获取分割几何失败");var r=i[t].indexOf("fileKey=");e._parseInstancedGeometrie(s.buffer,i[t].slice(r+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local")}),(function(){Bh.error("获取分割几何失败")}))}else a=i[t].indexOf("fileKey="),e._parseInstancedGeometrie(A[i[t]],i[t].slice(a+8)),e._onGeoTaskFinished(),Bh.debug("load geo from local");else{if(r=e.taskInstancedGeometrieManager,-1===(a=i[t].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(i[t].slice(a+8)),Bh.debug("load geo from net")}},o=0;i.length>o;o+=1){var r,a,s=t(o);if("object"===lc(s))return s.v}e.taskInstancedGeometrieManager.processTasks(e.loadInstancedGeometrie.bind(e))}),(function(){for(var t=e.taskInstancedGeometrieManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadInstancedGeometrie.bind(e))}))}else{for(var r=this.taskInstancedGeometrieManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadInstancedGeometrie.bind(e))}},BC.prototype._onGeoTaskFinished=function(){(this.geoLoadTaskCount+=1,this.notifyProgress)&&(this.progressCallback&&this.progressCallback({total:this.maxLoadTaskCount+this.maxGeoLoadTaskCount,loaded:.8*(this.loadTaskCount+this.geoLoadTaskCount),modelKey:this.model.modelKey}));this.maxGeoLoadTaskCount>this.geoLoadTaskCount||(this.dataLoaded=!0,Bh.timeEnd("几何数据加载时间"),this.geoFinishCallback&&this.geoFinishCallback())},BC.prototype.getSceneTaskCount=function(A){var e=A.scenes;return e+=A.lines,e+=A.mpks,vc.BorderLineDelayLoaded||(e+=this.getAllBorderlineCount()),e},BC.prototype._parseKDTree=function(A,e){var t={};t="string"==typeof A?JSON.parse(A):A,this.model.kdTreeNode=this.model.kdTreeNode||[];var i=this.fileKeyFromModelKey[e]||"";if(t){var o=new Zu;o.modelKey=i,o.init(t),this.model.kdTreeNode.push(o)}};var xC=function(A,e){tf.call(this,A),this.defaultManager=new Of(e,A),this.instancedManager=new Hf(A),this.loader=new BC(this)};(xC.prototype=Object.create(tf.prototype)).prepare=function(A,e){if(this.isLoaded()&&!this.isHidden()){this.prepareWireframe(this.model,e);this.model.getMaterialManager();this.model.getMaterialManager()._updateTextureMapping(),!this.model.lightmap||this.model.enableLightmap===vc.EnableLightmap&&this.model.lightmapIntensity===vc.LightmapIntensity||(this.model.enableLightmap=vc.EnableLightmap,this.model.lightmapIntensity=vc.LightmapIntensity,this.rebuildIndicesforLightmap(),this.updateNodes())}},xC.prototype.settleData=function(A){var e=this;this.addNodeInfoToOctantMap();var t=!1,i=!1;this.createMeshNodes((function(){t=!0,i&&(e.loaded=!0,e.model.getMaterialManager()._updateTextureMapping(),e.clearCachedData(e.model),A&&A())})),e.model.setLoaded(!0);this.loader.geoFinishCallback=function(){i=!0,t&&(e.loaded=!0,e.model.getMaterialManager()._updateTextureMapping(),e.clearCachedData(e.model),A&&A())},this.loader.startLoadSceneAndGeos(this.model.getConfig())},xC.prototype.addNodeInfoToOctantMap=function(){var A=this.model.manager,e=this.model.getEncodedDatabagId();this.loader.getDescriptor().traverseNodeInfosByComponent((function(t,i){A.addNodeInfoToOctantMap(e,t,i)}))},xC.prototype.createMeshNodes=function(A){var e=this,t=this.model;vc.stepLoad&&t.setLoaded(!0);var i=this.loader.getDescriptor();this.instancedManager.createMeshNodes(t,i.getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(t,i.getStandardUserIds(),(function(){t.getMaterialManager()._updateTextureMapping(),e.loaded=!0,A&&A()}))},xC.prototype.clearCachedData=function(A){this.loader.getDescriptor().destroyReader(),this.loader.getDescriptor().clearReferencedMeshCache(),this.defaultManager.clearCachedData(),this.instancedManager.clearCachedData()},xC.prototype.createBatchedMeshNodes=function(A){this.defaultManager.createBatchedMeshNodes(this.model,A)},xC.prototype.createInstancedMeshNodes=function(A){this.instancedManager.createInstancedMeshNodes(this.model,A)};var SC=function(A){$u.call(this,A)};Object.assign(SC.prototype,$u.prototype);var wC=function(A){Xu.call(this,A),this.descriptor=new SC(A.model)};(wC.prototype=Object.assign(wC.prototype,Xu.prototype)).loadSceneAndGeos=function(A){var e=A.scene,t=this.model,i=e.geometries.length||0,o=[];if(this.map={},ap(this.dataVersion,"2.0.0"))for(var n=0;i>n;n+=1)e.geometries[n].fileKey?o.push(e.geometries[n].fileKey):t.dispatchEventEx({type:Tc.SCENE_NOT_CLOSE,modelKey:t.modelKey});else o=e.geometries;this.maxLoadTaskCount+=i,this._loadGeo(o)},wC.prototype.getSceneTaskCount=function(A){var e=A.scenes;return e+=A.lines,e+=A.mpks,vc.BorderLineDelayLoaded||(e+=this.getAllBorderlineCount()),e};var MC=function(A,e){tf.call(this,A),this.defaultManager=new vC(e,A),this.instancedManager=new Hf(A),this.loader=new wC(this)};Object.assign(MC.prototype,tf.prototype),MC.prototype.prepare=function(A){this.isLoaded()&&!this.isHidden()&&(this.model.getMaterialManager()._updateTextureMapping(),this.model.clearMeshFromOctantMap(),this.instancedManager.addAllInstanceNodeToScene(this.model),this.defaultManager.cullNodes(this.model,A),this.prepareWireframe(this.model),this.updateNodes())},MC.prototype.prepareWireframe=function(A,e){A.isActivateWireframe()&&this.instancedManager.generateWireframe(A)},MC.prototype.settleData=function(A){this.addNodeInfoToOctantMap(),this.createMeshNodes(A)},MC.prototype.addNodeInfoToOctantMap=function(){var A=this.model.manager,e=this.model.getEncodedDatabagId();this.model.getModelDescriptor().traverseNodeInfosByComponent((function(t,i){A.addNodeInfoToOctantMap(e,t,i)}))},MC.prototype.createMeshNodes=function(A){var e=this.model,t=this;this.instancedManager.createMeshNodes(this.model,this.model.getModelDescriptor().getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(e,e.getModelDescriptor().getStandardUserIds(),(function(){e.getMaterialManager()._updateTextureMapping(),t.updateNodes(),e.getModelDescriptor().clearReferencedMeshCache(),t.loaded=!0,A&&A()}))},MC.prototype.disposeBufferAfterVbo=function(){},MC.prototype.explosion=function(A){if(this.isLoaded()){var e=this.model.getComponentlist();A.componentKey=e,this.componentsExplosion(A)}},MC.prototype.closeExplosion=function(){this.explosion({})},MC.prototype.componentsExplosion=function(A){if(this.isLoaded()){var e=A.coefficientX||1,t=A.coefficientY||1,i=A.coefficientZ||1,o=A.offsetX||0,n=A.offsetY||0,r=A.offsetZ||0,a=null;if(A.center)a=(new y).fromArray(A.center);else if(1!==e||1!==t||1!==i||0!==o||0!==n||0!==r)return;var s=this.model,l=s.manager,c=Array.isArray(A.componentKey)?A.componentKey:[A.componentKey],h=new y,d=new aA,p=new y(0,0,0),g=new y(0,0,0),u=new y,f=s.getModelMatrix(),m=new M;f&&a&&(m.getInverse(f),a.applyMatrix4(m));for(var C=0;c.length>C;C+=1){var v=c[C],I=s.getComponentInfo(v);if(I&&I.length>0)for(var E=0,B=I.length;B>E;E+=1){var x=I[E],S=x.mesh;if(S){if(d.copy(x.boundingBox),d.getCenter(h),x.userData||(x.userData={}),p.set(0,0,0),g.set(0,0,0),1!==e||1!==t||1!==i||x.userData.explosionFactor){x.userData.explosionFactor||(x.userData.explosionFactor=new y(1,1,1),x.userData.explosionBaseDifference=h.sub(a).clone());var w=x.userData.explosionFactor,b=x.userData.explosionBaseDifference;p.set((e-w.x)*b.x,(t-w.y)*b.y,(i-w.z)*b.z),1===e&&1===t&&1===i?(x.userData.explosionFactor=void 0,x.userData.explosionBaseDifference=void 0):w.set(e,t,i)}if(0!==o||0!==n||0!==r||x.userData.explosionOffset){x.userData.explosionOffset||(x.userData.explosionOffset=new y(0,0,0));var U=x.userData.explosionOffset;g.set(o-U.x,n-U.y,r-U.z),0===o&&0===n&&0===r?x.userData.explosionOffset=void 0:U.set(o,n,r)}if(u.set(p.x+g.x,p.y+g.y,p.z+g.z),0!==u.x||0!==u.y||0!==u.z){x.userData.explosionFactor||x.userData.explosionOffset?l.explosionList[v]||(l.explosionList[v]=!0):delete l.explosionList[v],m.makeTranslation(u.x,u.y,u.z),x.transformation||(x.transformation=!0,x.transformationOriginalMatrix=x.matrix.clone(),x.applyMatrix=new M,x.transformationOriginalBoundingBox=x.boundingBox.clone()),x.matrix.premultiply(m),x.applyMatrix.premultiply(m),x.boundingBox.copy(x.transformationOriginalBoundingBox).applyMatrix4(x.applyMatrix);var F=S.matrixAutoUpdate;S.matrixAutoUpdate=!1,S.applyMatrix4(m),S.updateMatrixWorld(!0),S.matrixAutoUpdate=F;var K=x.wireframeMeshs;if(K)for(var Q=0,R=K.length;R>Q;Q+=1){var T=K[Q];F=T.matrixAutoUpdate,T.matrixAutoUpdate=!1,T.matrix.copy(S.matrix),T.updateMatrixWorld(!0),T.matrixAutoUpdate=F}}}}}}},MC.prototype.closeComponentsExplosion=function(A){var e=Array.isArray(A)?A:[A];this.componentsExplosion({componentKey:e})};var bC=function(A){this.model=A,this.config=null,this.statistics={renderableCount:0,renderableTotal:vc.maxObjectNumInPool,renderableTotalForPool:vc.maxObjectNumInPool,numOfElements:0,numOfTriangles:0,memoeryInfo:null},this.transformInfos={octreeTransformed:!0,originalBoundingBox:null,boundingBox:null,position:new y,rotation:new f,scale:new y(1,1,1),transformMatrix:new M,originalMatrix:new M}};bC.prototype.destroy=function(){this.model=null,this.config=null,this.statistics=null,this.transformInfos=null},bC.prototype.load=function(A){var e=this,t=this.model,i=t.dataUrl,o=function(o){var n={};if("string"==typeof o)try{n=JSON.parse(o)}catch(A){return t.setEmptyScene(!0),void t.dispatchEventEx({type:Rc.ON_LOAD_INVALID_SCENE,modelKey:t.modelKey})}else n=o;if(n&&"SUCCESS"===n.code){if(vc.offLine)e.model.getStorage().put(i.projectUrl(),n,e.model.modelKey,(function(){}),(function(){}));if(-1===Number(n.data.status))return void t.dispatchEventEx({type:Tc.PARSEFAILE,modelKey:t.modelKey});if(3>Number(n.data.status))return void t.dispatchEventEx({type:Tc.PARSING,modelKey:t.modelKey});if(n.data.type===Zc.DWG)return t.dispatchEventEx({type:Tc.IS2D,modelKey:t.modelKey}),void Bh.error("模型 ",t.modelKey," 是图纸文件请使用EIMDRAWINGS库加载");!n.data.profiles||n.data.children&&n.data.children.length>1?(e.dataVersion="2.0.0",i.apiVersion="2.0.0",e.model.dataVersion=e.dataVersion):(e.dataVersion=n.data.profiles.geo||"1.0.0",i.apiVersion=n.data.profiles.api,e.model.dataVersion=e.dataVersion),e._parse(n.data),t.dispatchEventEx({type:Rc.ON_LOAD_CONFIG_FINISH,modelKey:t.modelKey}),A&&A()}else Bh.log(t.modelKey,"config load error! ",n.message),t.dispatchEventEx({type:Rc.ON_LOAD_ERROR,modelKey:t.modelKey,code:n.code,message:n.message}),t.manager.unload(t.modelKey)};if(vc.offLine){var n=this.model.getStorage();n&&n.getBatch([i.projectUrl()],(function(A){A[i.projectUrl()]?o(A[i.projectUrl()]):_d({type:"GET",url:i.projectUrl(),headers:{Authorization:t.accessToken},success:o,error:function(A){t.dispatchEventEx({type:Rc.ON_NETWORK_ERROR,modelKey:t.modelKey,data:A})}})}),(function(){}))}else _d({type:"GET",url:i.projectUrl(),headers:{Authorization:t.accessToken},success:o,error:function(A,e){switch(A){case 401:t.dispatchEventEx({type:Rc.ACCOUNT_NO_EXIST,modelKey:t.modelKey,data:e});break;case 403:t.dispatchEventEx({type:Rc.NO_PERMISSION,modelKey:t.modelKey,data:e});break;default:t.dispatchEventEx({type:Rc.ON_NETWORK_ERROR,modelKey:t.modelKey,data:A})}}})},bC.prototype._parse=function(A){this.config=A,A.lengthUnit&&(this.model.originalLengthUnit=A.lengthUnit),vc.AutoMergeComponent&&A.componentCount>vc.AutoMergeComponentCount&&(vc.MergeComponent=!0),this._toStatistics(A),this._setTransformInfos(A),this._chooseRendering(A),this._setHandler(A)},bC.prototype._getDataProvider=function(A){if(vc.DataProvider===Wc.MERGED&&void 0!==A.bmpks&&A.bmpks>0)return Bh.debug("data from: merged"),Wc.MERGED;if(vc.LoadComponentOnDemand&&A.scene&&A.scene.map){if(vc.DataProvider===Wc.LAYER_SCENE)return A.layers>1?(Bh.debug("data from: layer scene"),Wc.LAYER_SCENE):(Bh.debug("data from: layer"),Wc.LAYER);if(vc.DataProvider===Wc.LAYER)return Bh.debug("data from: layer"),Wc.LAYER}if(vc.DataProvider===Wc.AUTO){if(vc.LoadComponentOnDemand&&A.scene&&A.scene.map)return np(this.dataVersion,"2.0.0")&&(vc.MergeComponent=!0),Bh.debug("data from: layer"),Wc.LAYER;if(!vc.loadBatch&&A.scene.geometries&&A.scene.geometries.length>0)return rp(this.dataVersion,"2.0.0")&&(vc.MergeComponent=!0),Wc.DEFAULT;if(A.scene.batchedGeometries&&A.scene.batchedGeometries.length>0||A.scene.instancedGeometries&&A.scene.instancedGeometries.length>0)return vc.MergeComponent=!0,Wc.MERGED;if(vc.MergeComponent&&void 0!==A.bmpks&&A.bmpks>0)return Bh.debug("data from: merged"),Wc.MERGED}return Bh.debug("data from: default"),Wc.DEFAULT},bC.prototype._chooseRendering=function(A){this.model.manager.chooseRendering(this.statistics.memoeryInfo)},bC.prototype._setHandler=function(A){var e=this._getDataProvider(A),t=null,i=this.model;if(Array.isArray(A.scene)){for(var o=0,n=A.children.length;n>o;o+=1){var r=A.scene[o];r&&(i.subModel[A.children[o]]=(new M).fromArray(r.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]))}t=new xC(i,!1),i.merged=!0,vc.MergeComponent=!0}else if(i.hasAnimation&&vc.EnableAnimation)t=new MC(i);else if(vc.MergeComponent){switch(e){case Wc.LAYER:vc.HasLayerData=!0,vc.LoadGeoOnDemand=!0,(t=new dC(i,!1)).layerProvider.cachedLayerData=A.scene.map;break;case Wc.LAYER_SCENE:vc.HasLayerData=!0,vc.LoadGeoOnDemand=!0;break;case Wc.MERGED:t=new oC(i,!1);break;default:t=new Yf(i,!1)}i.merged=!0}else if(vc.OrganizeNodesByCameraView)switch(e){case Wc.LAYER:case Wc.LAYER_SCENE:vc.HasLayerData=!0,vc.LoadGeoOnDemand=!0}else switch(e){case Wc.LAYER:vc.HasLayerData=!0,vc.LoadGeoOnDemand=!0,(t=new IC(i)).layerProvider.cachedLayerData=A.scene.map;break;case Wc.LAYER_SCENE:vc.HasLayerData=!0,vc.LoadGeoOnDemand=!0;break;case Wc.MERGED:break;default:t=new MC(i)}i._handler=t},bC.prototype._setTransformInfos=function(A){if(this.model.hasAnimation=A.hasAnimation,this.transformInfos.octreeTransformed=!1,this.transformInfos.boundingBox&&this.transformInfos.boundingBox.isBox3||(this.transformInfos.boundingBox=new aA),this.transformInfos.boundingBox.expandByPoint(new y(A.minBoundary.x,A.minBoundary.y,A.minBoundary.z)),this.transformInfos.boundingBox.expandByPoint(new y(A.maxBoundary.x,A.maxBoundary.y,A.maxBoundary.z)),this.transformInfos.transformMatrix.compose(this.transformInfos.position,this.transformInfos.rotation,this.transformInfos.scale),this.transformInfos.transformMatrix.fromArray(A.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),A.transform&&Array.isArray(A.transform)){var e=(new M).fromArray(A.transform||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);this.transformInfos.transformMatrix.multiplyMatrices(this.transformInfos.transformMatrix,e)}this.transformInfos.originalMatrix.copy(this.transformInfos.transformMatrix),this.model.setModelMatrix(this.transformInfos.transformMatrix),this.model.manager.updateScene()},bC.prototype._toStatistics=function(A){A.count={},A.count.texture_pixels&&A.count.texture_pixels>vc.MaxTexturePixels&&(vc.EnableTextureLoading=!1),void 0!==A.count&&(void 0!==A.count.mesh_face&&(this.statistics.numOfTriangles+=A.count.mesh_face),this.statistics.renderableTotal=0,this.statistics.renderableTotalForPool=0,void 0!==A.count.geom_box&&void 0!==A.count.geom_pipe&&void 0!==A.count.geom_tube&&void 0!==A.count.mesh?(this.statistics.renderableTotal+=A.count.geom_box,this.statistics.renderableTotal+=A.count.geom_pipe,this.statistics.renderableTotal+=A.count.geom_tube,this.statistics.renderableTotal+=A.count.mesh,this.statistics.renderableTotalForPool+=6*A.count.geom_box,this.statistics.renderableTotalForPool+=3*A.count.geom_pipe,this.statistics.renderableTotalForPool+=A.count.geom_tube,this.statistics.renderableTotalForPool+=A.count.mesh,this.statistics.numOfTriangles+=12*A.count.geom_box,this.statistics.numOfTriangles+=32*A.count.geom_pipe,this.statistics.numOfTriangles+=32*A.count.geom_tube):void 0!==A.count.geom&&void 0!==A.count.mesh&&(this.statistics.renderableTotal+=A.count.geom,this.statistics.renderableTotal+=A.count.mesh,this.statistics.numOfTriangles+=12*A.count.geom,this.statistics.numOfElements=this.statistics.renderableTotal,this.statistics.renderableTotalForPool=this.statistics.renderableTotal),void 0!==A.count.item&&(this.statistics.numOfElements=A.count.item)),this.statistics.memoeryInfo=this._computeApproximateMemoerySize(A)},bC.prototype._computeApproximateMemoerySize=function(A){var e=0,t=0,i=A.count.mesh_vertex||0,o=A.count.mesh_face||0,n=A.count.geom_box||0,r=A.count.geom_pipe||0,a=A.count.texture_pixels||0;t+=8*i,t+=3*o,t+=0,t+=0,e+=6*i,e+=3*o,e+=0,e+=0;var s=0;if(s+=o,n>0&&(s+=12*n),r>0&&(s+=124*r),s+=0,vc.Instance){n>0&&(t+=192,t+=36,t+=24*n,e+=144,e+=36,e+=18*n),r>0&&(t+=1040,t+=372,t+=24*r,e+=780,e+=372,e+=18*r)}else n>0&&(t+=24*n*8,t+=12*n*3,e+=24*n*6,e+=12*n*3),r>0&&(t+=130*r*8,t+=124*r*3,e+=130*r*6,e+=124*r*3);return vc.EnableTextureLoading&&(t+=4*a,e+=4*a),t*=4,e*=4,t*=1/1048576,e*=1/1048576,{maxMemoerySize:t=Math.ceil(t),minMemoerySize:e=Math.ceil(e),triangleNumber:s,instanceEnabled:vc.Instance}},bC.prototype.getMemoeryInfo=function(){return this.statistics.memoeryInfo},bC.prototype.getStatistics=function(){return this.statistics},bC.prototype.getConfig=function(){return this.config},bC.prototype.getTransforms=function(){return this.transformInfos},bC.prototype.setRenderableCount=function(A){this.statistics.renderableCount=A};var UC=function(A){ef.call(this,A),this.descriptor=new Af(A.model),this.fileKeyFromModelKey={}};(UC.prototype=Object.assign(UC.prototype,ef.prototype)).loadData=function(){var A=this,e=this.model;this.modelDataVersion=e.configLoader.modelDataVersion;e.getConfig();var t=e.configLoader.scenes,i=[],o=[],n=[],r=[],a=[],s=[],l=[],c=[];A.maxLoadTaskCount=0,A.maxLoadTextureCount=0;for(var h=function(h){var d=t[h].scene,F=t[h].dataVersion,K=t[h].modelKey;if(!(d&&d.components&&d.geometries&&d.materials&&d.textures))return e.setEmptyScene(!0),Bh.error("scene is null,modelKey is ",K),e.dispatchEventEx({type:Rc.ON_LOAD_EMPTY_SCENE,modelKey:K}),{v:void 0};if(p=d.components.length||0,g=d.geometries.length||0,u=d.materials.length||0,f=d.textures.length||0,m=[],C=[],y=[],v=[],I=[],E=[],B=d.textures,x=[],op(F,"2.0.0"))m=d.components,C=d.geometries,y=d.materials;else{for(S=0;p>S;S+=1)d.components[S].fileKey?m.push(d.components[S].fileKey):e.dispatchEventEx({type:Tc.SCENE_NOT_CLOSE,modelKey:K});for(w=0;g>w;w+=1)d.geometries[w].fileKey?C.push(d.geometries[w].fileKey):e.dispatchEventEx({type:Tc.SCENE_NOT_CLOSE,modelKey:K});for(M=0;u>M;M+=1)d.materials[M].fileKey?y.push(d.materials[M].fileKey):e.dispatchEventEx({type:Tc.SCENE_NOT_CLOSE,modelKey:K})}if(d.trees.length>0)for(b=0;d.trees.length>b;b+=1)"partition"===(U=d.trees[b]).type&&x.push(U.fileKey);A.maxLoadTaskCount+=p,A.maxLoadTaskCount+=g,A.maxLoadTaskCount+=u,vc.EnableTextureLoading&&(A.maxLoadTextureCount+=f),A.maxLoadTaskCount+=0,A.maxLoadTaskCount+=0,A.maxLoadTaskCount+=0,A.maxLoadTaskCount+=x.length,m.forEach((function(e){A.fileKeyFromModelKey[e]=K})),C.forEach((function(e){A.fileKeyFromModelKey[e]=K})),y.forEach((function(e){A.fileKeyFromModelKey[e]=K})),v.forEach((function(e){A.fileKeyFromModelKey[e]=K})),I.forEach((function(e){A.fileKeyFromModelKey[e]=K})),E.forEach((function(e){A.fileKeyFromModelKey[e]=K})),B.forEach((function(e){A.fileKeyFromModelKey[e]=K})),x.forEach((function(e){A.fileKeyFromModelKey[e]=K})),i=i.concat(m),o=o.concat(C),n=n.concat(y),r=r.concat(v),a=a.concat(I),s=s.concat(E),l=l.concat(B),c=c.concat(x)},d=0;t.length>d;d+=1){var p,g,u,f,m,C,y,v,I,E,B,x,S,w,M,b,U,F=h(d);if("object"===lc(F))return F.v}if(A.progress.total+=A.maxLoadTaskCount,1>A.maxLoadTaskCount)return Bh.info("Nothing to load ",e.modelKey),void e.dispatchEventEx({type:Tc.SCENE_NOTHING_TO_LOAD,modelKey:e.modelKey});Bh.time("数据加载时间"),A._loadComponent(i),A._loadMaterial(n),vc.EnableTextureLoading&&A.maxLoadTextureCount.length>0?A._loadTextures(l):A._onLoadTexture(),A._loadTextures(l),A._loadKDTree(c),A._loadClips(a),A._loadBones(r),A._loadNodes(s),A.offLine&&A.loadAttribute(),A._loadGeo(o)},UC.prototype.loadSceneAndGeos=function(A){this._loadGeo(A)},UC.prototype._loadGeometrie=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){var t=this.url,i=[],o=[];i.push(o);for(var n=0,r=0;A.length>r;r+=1)50>n||(i.push(o=[]),n=0),n+=1,o.push(t.mpkUrl(A[r]));var a=this.model.getStorage();if(a)for(var s=function(t,o){var n=i[o];a.getBatch(n,(function(A){for(var t=function(t){if(-1===(o=n[t].indexOf("fileKey=")))return Bh.error("url is not has fileKey"),{v:void 0};var i=n[t].slice(o+8);if(A[n[t]])if(!0===A[n[t]].split){var s=A[n[t]].list,l=new Uint8Array(A[n[t]].length);a.getBatch(s,(function(A){for(var t=0;s.length>t;t+=1)A[s[t]]?l.set(new Uint8Array(A[s[t]]),4e7*t):Bh.error("获取分割几何失败");e._parseGeometrie(l.buffer,i),Bh.debug("load geo from local"),e._onTaskFinished()}),(function(){Bh.error("获取分割几何失败")}))}else e._parseGeometrie(A[n[t]],i),Bh.debug("load geo from local"),e._onTaskFinished();else{if(r=e.taskGeometrieManager,-1===n[t].indexOf("fileKey="))return Bh.error("url is not has fileKey"),{v:void 0};r.addTask(i),Bh.debug("load geo from net")}},i=0;n.length>i;i+=1){var o,r,s=t(i);if("object"===lc(s))return s.v}e.taskGeometrieManager.processTasks(e.loadGeometrie.bind(e))}),(function(){for(var t=e.taskGeometrieManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadGeometrie.bind(e))}))},l=0,c=i.length;c>l;l+=1)s(0,l)}else{for(var h=this.taskGeometrieManager,d=0;A.length>d;d+=1)h.addTask(A[d]);h.processTasks(e.loadGeometrie.bind(e))}},UC.prototype._loadKDTree=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){var t=this.url,i=[],o=[];i.push(o);for(var n=0,r=0;A.length>r;r+=1)50>n||(i.push(o=[]),n=0),n+=1,o.push(t.mpkUrl(A[r]));var a=this.model.getStorage();if(a)for(var s=function(t,o){var n=i[o];a.getBatch(n,(function(A){for(var t=0;n.length>t;t+=1){var i=n[t].indexOf("fileKey=");if(-1===i)return void Bh.error("url is not has fileKey");var o=n[t].slice(i+8);if(A[n[t]])e._parseKDTree(A[n[t]],o),Bh.debug("load kdtree from local"),e._onTaskFinished();else{var r=e.taskComponentManager;if(-1===n[t].indexOf("fileKey="))return void Bh.error("url is not has fileKey");r.addTask(o),r.processTasks(e.loadKDTree.bind(e)),Bh.debug("load kdtree from net")}}}),(function(){for(var t=e.taskComponentManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadKDTree.bind(e))}))},l=0,c=i.length;c>l;l+=1)s(0,l)}else{for(var h=this.taskComponentManager,d=0;A.length>d;d+=1)h.addTask(A[d]);h.processTasks(e.loadKDTree.bind(e))}},UC.prototype._loadBones=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.bonesUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1){var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");var n=i[t].slice(o+8);if(A[i[t]])e._parseBones(A[i[t]],n),Bh.debug("load Bones from local"),e._onTaskFinished();else{if(-1===i[t].indexOf("fileKey="))return void Bh.error("url is not has fileKey");e.loadBones(i[t].slice(o+8),(function(){})),Bh.debug("load Bones from net")}}}),(function(){for(var t=0;A.length>t;t+=1)e.loadBones(A[t],(function(){}))}))}else{for(var r=this.taskComponentManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadBones.bind(e))}},UC.prototype._loadClips=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.clipsUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1){var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");var n=i[t].slice(o+8);if(A[i[t]])e._parseClips(A[i[t]],n),Bh.debug("load Clips from local"),e._onTaskFinished();else{if(-1===i[t].indexOf("fileKey="))return void Bh.error("url is not has fileKey");e.loadClips(i[t].slice(o+8),(function(){})),Bh.debug("load Clips from net")}}}),(function(){for(var t=0;A.length>t;t+=1)e.loadClips(A[t],(function(){}))}))}else{for(var r=this.taskComponentManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadClips.bind(e))}},UC.prototype._loadNodes=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.nodesUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1){var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");var n=i[t].slice(o+8);if(A[i[t]])e._parseNodes(A[i[t]],n),Bh.debug("load Nodes from local"),e._onTaskFinished();else{if(-1===i[t].indexOf("fileKey="))return void Bh.error("url is not has fileKey");e.loadNodes(i[t].slice(o+8),(function(){})),Bh.debug("load Nodes from net")}}}),(function(){for(var t=0;A.length>t;t+=1)e.loadNodes(A[t],(function(){}))}))}else{for(var r=this.taskComponentManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadNodes.bind(e))}},UC.prototype._loadComponent=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){var t=this.url,i=[],o=[];i.push(o);for(var n=0,r=0;A.length>r;r+=1)50>n||(i.push(o=[]),n=0),n+=1,o.push(t.mpkUrl(A[r]));var a=this.model.getStorage();if(a)for(var s=function(t,o){var n=i[o];a.getBatch(n,(function(A){for(var t=0;n.length>t;t+=1){var i=n[t].indexOf("fileKey=");if(-1===i)return void Bh.error("url is not has fileKey");var o=n[t].slice(i+8);if(A[n[t]])e._parseComponent(A[n[t]],o),Bh.debug("load com from local"),e._onTaskFinished();else{var r=e.taskComponentManager;if(-1===n[t].indexOf("fileKey="))return void Bh.error("url is not has fileKey");r.addTask(o),r.processTasks(e.loadComponent.bind(e)),Bh.debug("load com from net")}}}),(function(){for(var t=e.taskComponentManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadComponent.bind(e))}))},l=0,c=i.length;c>l;l+=1)s(0,l)}else{for(var h=this.taskComponentManager,d=0;A.length>d;d+=1)h.addTask(A[d]);h.processTasks(e.loadComponent.bind(e))}},UC.prototype._loadMaterial=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var t=this.url,i=[],o=0;A.length>o;o+=1)i.push(t.mpkUrl(A[o]));var n=this.model.getStorage();n&&n.getBatch(i,(function(A){for(var t=0;i.length>t;t+=1){var o=i[t].indexOf("fileKey=");if(-1===o)return void Bh.error("url is not has fileKey");var n=i[t].slice(o+8);if(A[i[t]])e._parseMaterial(A[i[t]],n),Bh.debug("load mat from local"),e._onTaskFinished();else{var r=e.taskMaterialManager;if(-1===i[t].indexOf("fileKey="))return void Bh.error("url is not has fileKey");r.addTask(n),r.processTasks(e.loadMaterial.bind(e)),Bh.debug("load mat from net")}}}),(function(){for(var t=e.taskMaterialManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadMaterial.bind(e))}))}else{for(var r=this.taskMaterialManager,a=0;A.length>a;a+=1)r.addTask(A[a]);r.processTasks(e.loadMaterial.bind(e))}},UC.prototype._loadTextures=function(A){var e=this.model.materialManager.textures,t=this;if(vc.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,o=[],n=0;A.length>n;n+=1)o.push(i.mpkUrl(A[n]));var r=this.model.getStorage();r&&r.getBatch(o,(function(A){for(var i=0;o.length>i;i+=1)if(A[o[i]]){var n=o[i].indexOf("fileKey=");if(-1===n)return void Bh.error("url is not has fileKey");var r=o[i].slice(n+8),a=new d;Bh.debug("load tex from local"),e[r]=a;var s=document.createElement("img");a.wrapS=a.wrapT=1e3,s.onload=function(e){"string"!=typeof A[o[i]]&&window.URL.revokeObjectURL(s.src),t.model.textureNeedsUpdate=!0,t._onLoadTexture()},s.onerror=function(A){t.model.dispatchEventEx({type:Tc.LOAD_TEXTURE_ERROR})},s.src="string"==typeof A[o[i]]?A[o[i]]:window.URL.createObjectURL(A[o[i]]),a.image=s,a.needsUpdate=!0}else{var l=t.taskTexturesManager,c=o[i].indexOf("fileKey=");if(-1===c)return void Bh.error("url is not has fileKey");l.addTask(o[i].slice(c+8)),l.processTasks(t.loadTextures.bind(t)),Bh.debug("load tex from net")}}),(function(){for(var e=t.taskTexturesManager,i=0;A.length>i;i+=1)e.addTask(A[i]);e.processTasks(t.loadTextures.bind(t))}))}else{for(var a=this.taskTexturesManager,s=0;A.length>s;s+=1)a.addTask(A[s]);a.processTasks(t.loadTextures.bind(t))}},UC.prototype._parseGeometrie=function(A,e){var t=this.fileKeyFromModelKey[e]||"",i=new ku.GeometryReader(A,this.modelDataVersion[t]),o=this.descriptor;if(o){for(var n=i.geoCount,r=0;n>r;r+=1){var a=i.geomMap[r];void 0!==a.position&&void 0!==a.index&&void 0!==a.normal?o.cacheReferencedMeshBufferData(t+a.geoId,a):Bh.error("Error Geometry!")}i=null}},UC.prototype._parseMaterial=function(A,e){var t=this.descriptor;if(t){var i=new Du(A,this.modelDataVersion[this.fileKeyFromModelKey[e]||""]);if(Array.isArray(i.materialMap)){var o=i.materialCount;if(0>o)return;for(var n=0;o>n;n+=1){var r=i.materialMap[n];t.cacheReferencedMeshMaterialData(r.matId,r)}}else for(var a in i.materialMap)t.cacheReferencedMeshMaterialData(a,i.materialMap[a]);i=null}},UC.prototype._parseComponent=function(A,e){if(A){var t=new Uu(A),i=t.compArr.length,o=this.descriptor;if(o){for(var n=this.fileKeyFromModelKey[e]||"",r=0;i>r;r+=1){var a=t.compArr[r];-1!==a.geoId&&(a.geoId=n+a.geoId,-1!==a.matId&&(a.matId=n+a.matId),this.model.submodel[n]=this.model.submodel[n]||[],this.model.submodel[n].push(a.key)),o.cacheReferencedMeshComponentData(a.key,a)}t=null}}else Bh.error("没有数据")},UC.prototype._parseKDTree=function(A,e){var t={};if(t="string"==typeof A?JSON.parse(A):A,this.model.kdTreeNode=this.model.kdTreeNode||[],t){var i=new Zu;i.init(t),this.model.kdTreeNode.push(i)}},UC.prototype._parseNodes=function(A,e){var t=this.descriptor;if(t){var i={};i="string"==typeof A?JSON.parse(A):A,Bh.debug("nodes",i),t.cacheReferencedMeshNodesData(i)}},UC.prototype._parseClips=function(A,e){var t=this.descriptor;if(t){var i={};i="string"==typeof A?JSON.parse(A):A,Bh.debug("clips",i),t.cacheReferencedMeshClipsData(i)}},UC.prototype._parseBones=function(A,e){var t=new ku.BoneReader(A),i=this.descriptor;if(i){for(var o=t.boneCount,n=0;o>n;n+=1){var r=t.boneMap[n];Bh.debug("bones",r),i.cacheReferencedMeshBoneBufferData(r.geoId,r)}t=null}},UC.prototype._loadComponent=function(A){var e=this;if(vc.getDataFromIndexedDB&&!this.offLine){var t=this.url,i=[],o=[];i.push(o);for(var n=0,r=0;A.length>r;r+=1)50>n||(i.push(o=[]),n=0),n+=1,o.push(t.mpkUrl(A[r]));var a=this.model.getStorage();if(a)for(var s=function(t,o){var n=i[o];a.getBatch(n,(function(A){for(var t=0;n.length>t;t+=1){var i=n[t].indexOf("fileKey=");if(-1===i)return void Bh.error("url is not has fileKey");var o=n[t].slice(i+8);if(A[n[t]])e._parseComponent(A[n[t]],o),Bh.debug("load com from local"),e._onTaskFinished();else{var r=e.taskComponentManager;if(-1===n[t].indexOf("fileKey="))return void Bh.error("url is not has fileKey");r.addTask(o),r.processTasks(e.loadComponent.bind(e)),Bh.debug("load com from net")}}}),(function(){for(var t=e.taskComponentManager,i=0;A.length>i;i+=1)t.addTask(A[i]);t.processTasks(e.loadComponent.bind(e))}))},l=0,c=i.length;c>l;l+=1)s(0,l)}else{for(var h=this.taskComponentManager,d=0;A.length>d;d+=1)h.addTask(A[d]);h.processTasks(e.loadComponent.bind(e))}},UC.prototype.loadGeometrie=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model,r=vc.GeoWorkerUrl;vc.UseGeoWorker?(i.setResponseType("arraybuffer"),i.load(o.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}))):(i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine),i.load(o.mpkUrl(A),(function(i){t._parseGeometrie(i,A,A),Bh.debug("geo load from online"),e(),t._onTaskFinished()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_GEOMETRY_ERROR,modelKey:n.modelKey})})))},UC.prototype.loadMaterial=function(A,e){var t=this,i=this.loader,o=this.url,n=this.model,r=vc.GeoWorkerUrl;vc.UseGeoWorker?(i.setResponseType("arraybuffer"),i.load(o.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}))):(i.setResponseType(t.modelDataVersion[t.fileKeyFromModelKey[A]||""]>1?"json":"arraybuffer"),i.setCacheViable(!this.offLine),i.load(o.mpkUrl(A),(function(i){t._parseMaterial(i,A),Bh.debug("met load from online"),e(),t._onTaskFinished()}),void 0,(function(A){n.dispatchEventEx({type:Tc.LOAD_MATERIAL_ERROR,modelKey:n.modelKey})})))},UC.prototype.loadTextures=function(A,e){var t=this.model.materialManager.textures,i=this,o=this.Textureloader,n=this.url,r=this.model,a=vc.GeoWorkerUrl;vc.UseGeoWorker?o.load(n.mpkUrl(A),(function(A){var t=new Worker(a);t.onmessage=function(A){var t=A.data;for(var o in t)t.hasOwnProperty(o);e(),i._onTaskFinished()},t.postMessage({msg:A})})):(o.setResponseType("blob"),o.setMimeType("text/plain"),o.setCacheViable(!this.offLine),o.load(n.textureUrl(A),(function(o){Bh.debug("tex load from online");var n=new d;t[A]=n,n.wrapS=n.wrapT=1e3;var a=document.createElement("img");a.onload=function(A){"string"!=typeof o&&window.URL.revokeObjectURL(a.src),e(),i.model.textureNeedsUpdate=!0,i._onLoadTexture()},a.onerror=function(A){r.dispatchEventEx({type:Tc.LOAD_TEXTURE_ERROR,modelKey:r.modelKey})},a.src="string"==typeof o?o:window.URL.createObjectURL(o),n.image=a,n.needsUpdate=!0}),void 0,(function(A){r.dispatchEventEx({type:Tc.LOAD_TEXTURE_ERROR,modelKey:r.modelKey})})))},UC.prototype.loadComponent=function(A,e){var t=this,i=this.jsonLoader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;vc.UseGeoWorker?(i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}))):(i.setResponseType("json"),i.setCacheViable(!this.offLine),i.load(n.mpkUrl(A),(function(i){t._parseComponent(i,A),Bh.debug("component load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})})))},UC.prototype.loadKDTree=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;vc.UseGeoWorker?(i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}))):(i.setResponseType("json"),i.setCacheViable(!this.offLine),i.load(n.kdTreeUrl(A),(function(i){t._parseKDTree(i,A),Bh.debug("kdtree load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})})))},UC.prototype.loadBones=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;vc.UseGeoWorker?(i.setResponseType("arraybuffer"),i.load(n.bonesUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}))):(i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine),i.load(n.bonesUrl(A),(function(i){t._parseBones(i,A),Bh.debug("bones load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})})))},UC.prototype.loadClips=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;vc.UseGeoWorker?(i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}))):(i.setResponseType("json"),i.setCacheViable(!this.offLine),i.load(n.clipsUrl(A),(function(i){t._parseClips(i,A),Bh.debug("Clips load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})})))},UC.prototype.loadNodes=function(A,e){var t=this,i=this.loader,o=this.model,n=this.url,r=vc.GeoWorkerUrl;vc.UseGeoWorker?(i.setResponseType("json"),i.load(n.mpkUrl(A),(function(A){var i=new Worker(r);i.onmessage=function(A){var i=A.data;for(var o in i)i.hasOwnProperty(o);e(),t._onTaskFinished()},i.postMessage({msg:A})}),(function(A){}))):(i.setResponseType("json"),i.setCacheViable(!this.offLine),i.load(n.nodesUrl(A),(function(i){t._parseNodes(i,A),Bh.debug("Nodes load from online"),e(),t._onTaskFinished()}),void 0,(function(A){o.dispatchEventEx({type:Tc.LOAD_COMPONENT_ERROR,modelKey:o.modelKey})})))};var FC=function(A,e){tf.call(this,A),this.defaultManager=new Of(e,A),this.instancedManager=new Hf(A),this.loader=new UC(this)};FC.prototype=Object.create(Yf.prototype);var KC=function(A){bC.call(this,A),this.modelDataVersion={}};(KC.prototype=Object.assign(KC.prototype,bC.prototype)).load=function(A){var e=this,t=this.model;this.config={};var i=t.dataUrl,o=function(o){var n={};if("string"==typeof o)try{n=JSON.parse(o)}catch(A){return t.setEmptyScene(!0),void t.dispatchEventEx({type:Rc.ON_LOAD_INVALID_SCENE,modelKey:t.modelKey})}else n=o;if(n&&"SUCCESS"===n.code){if(vc.offLine)e.model.getStorage().put(i.projectUrl(),n,e.model.modelKey,(function(){}),(function(){}));if(-1===Number(n.data.status))return void t.dispatchEventEx({type:Tc.PARSEFAILE,modelKey:t.modelKey});if(3>Number(n.data.status))return void t.dispatchEventEx({type:Tc.PARSING,modelKey:t.modelKey});e.dataVersion=n.data.profiles.geo||"1.0.0",i.apiVersion=n.data.profiles.api,e.model.dataVersion=e.dataVersion,e._parse(n.data),t.dispatchEventEx({type:Rc.ON_LOAD_CONFIG_FINISH,modelKey:t.modelKey}),A&&A()}else Bh.log(t.modelKey,"config load error! ",n.message),t.dispatchEventEx({type:Rc.ON_LOAD_ERROR,modelKey:t.modelKey,code:n.code,message:n.message})};if(vc.offLine){var n=this.model.getStorage();n&&n.getBatch([i.projectUrl()],(function(A){A[i.projectUrl()]?o(A[i.projectUrl()]):_d({type:"GET",url:i.projectUrl(),headers:{Authorization:t.accessToken},success:o,error:function(A){t.dispatchEventEx({type:Rc.ON_NETWORK_ERROR,modelKey:t.modelKey,data:A})}})}),(function(){}))}else{for(var r=[],a=function(){var A=t.modelKeys[s];r.push(new Promise((function(e,o){_d({type:"GET",url:i.projectUrl(A),headers:{Authorization:t.accessToken},success:function(t){e({modelKey:A,data:t})},error:function(e,i){switch(e){case 401:t.dispatchEventEx({type:Rc.ACCOUNT_NO_EXIST,modelKey:A,data:i});break;case 403:t.dispatchEventEx({type:Rc.NO_PERMISSION,modelKey:A,data:i});break;default:t.dispatchEventEx({type:Rc.ON_NETWORK_ERROR,modelKey:A,data:e})}o(e,i)}})})))},s=0;t.modelKeys.length>s;s+=1)a();Promise.all(r).then((function(o){for(var n=[],r=0,a=0;o.length>a;a+=1)if(o[a]){var s=o[a].data,l=o[a].modelKey,c={};if("string"==typeof s)try{c=JSON.parse(s)}catch(A){return void t.dispatchEventEx({type:Rc.ON_LOAD_INVALID_SCENE,modelKey:l})}else c=s;if(c&&"SUCCESS"===c.code){if(vc.offLine)e.model.getStorage().put(i.projectUrl(),c,e.model.modelKey,(function(){}),(function(){}));var h=c.data.scene||null,d=c.data.profiles.geo||"1.0.0";if(i.apiVersion=c.data.profiles.api,n.push({scene:h,modelKey:c.data.key,dataVersion:d}),e.modelDataVersion[c.data.key]=d,r+=c.data.componentCount,-1===Number(c.data.status))return void t.dispatchEventEx({type:Tc.PARSEFAILE,modelKey:l});if(3>Number(c.data.status))return void t.dispatchEventEx({type:Tc.PARSING,modelKey:l});e.dataVersion=c.data.profiles.geo||"1.0.0",e.sceneReader=e.sceneReader||[],t.setConfig(c.data),e._parse(c.data)}else Bh.log(t.modelKey,"config load error! ",c.message),t.dispatchEventEx({type:Rc.ON_LOAD_ERROR,modelKey:l,code:c.code,message:c.message})}var p=new FC(t,!1);t._handler=p,e.model.componentCount=r,t.dispatchEventEx({type:Rc.ON_LOAD_CONFIG_FINISH,modelKey:t.modelKey}),e.scenes=n,A&&A()})).catch((function(A){console.log(A)}))}},KC.prototype._parse=function(A){this.config=A,A.lengthUnit&&(this.model.originalLengthUnit=A.lengthUnit),vc.MergeComponent=!0,this._toStatistics(A),this._setTransformInfos(A),this._chooseRendering(A)};var QC={};QC.brdf_vs=["varying vec2 vUV;","void main() {"," vUV = uv;"," gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);","}"].join("\n"),QC.brdf_fs=["varying vec2 vUV;","uniform sampler2D HammersleyTable;","const float PI = 3.14159265358979;","float GGX(float NdotV, float alpha)","{"," float alpha2 = pow(alpha, 2.0);"," return 2.0 * NdotV / (NdotV + sqrt(alpha2 + (1.0 - alpha2) * NdotV * NdotV));","}","float G_Smith(float NdotV, float NdotL, float roughness)","{"," float alpha = pow(roughness, 2.0);"," return GGX(NdotV, alpha) * GGX(NdotL, alpha);","}","vec3 ImportanceSampleGGX(vec2 Xi, vec3 N, float roughness)","{"," float a = roughness * roughness;"," float Phi = 2.0 * PI * Xi.x; "," float CosTheta = sqrt((1.0 - Xi.y) / (1.0 + (a * a - 1.0) * Xi.y)); "," float SinTheta = sqrt(1.0 - CosTheta * CosTheta);"," vec3 H;"," H.x = SinTheta * cos(Phi); "," H.y = SinTheta * sin(Phi); "," H.z = CosTheta;"," vec3 UpVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); "," vec3 TangentX = normalize(cross(UpVector, N)); "," vec3 TangentY = cross(N, TangentX);"," return normalize(TangentX * H.x + TangentY * H.y + N * H.z);","}","vec2 IntegrateBRDF(float NdotV, float roughness)","{"," vec3 N = vec3(0.0, 0.0, 1.0);"," vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV);"," vec2 result = vec2(0.0, 0.0);"," const int NumSamples = 1024;"," for (int i = 0; i < NumSamples; i++)"," {"," float u = float(i) / float(NumSamples);"," vec2 Xi = vec2(u, texture2D(HammersleyTable, vec2(u)).r);"," vec3 H = ImportanceSampleGGX(Xi, N, roughness);"," vec3 L = 2.0 * dot(V, H) * H - V;"," float NdotL = saturate(L.z);"," float NdotH = saturate(H.z);"," float VdotH = saturate(dot(V, H));"," float NdotV = saturate(dot(N, V));"," if (NdotL > 0.0)"," {"," float G = G_Smith(NdotV, NdotL, roughness);"," float G_Vis = G * VdotH / (NdotH * NdotV); "," float F = pow(1.0 - VdotH, 5.0);"," result.x += (1.0 - F) * G_Vis;"," result.y += F * G_Vis;"," }"," }"," return result / float(NumSamples);","}","void main()","{"," vec2 brdf = IntegrateBRDF(vUV.x, vUV.y);"," gl_FragColor = vec4(brdf, 0.0, 1.0);","}"].join("\n"),QC.BRDFMap=function(A,e){this.texture=null,this.resolution=e||512,this.brdfMaterial=new Pe({vertexShader:QC.brdf_vs,fragmentShader:QC.brdf_fs,uniforms:{HammersleyTable:{value:A}},lights:!1}),this.quad=new Ue(new et(window.innerWidth,window.innerHeight),this.brdfMaterial),this.quad.position.z=-100},QC.BRDFMap.prototype.constructor=QC.BRDFMap,QC.BRDFMap.prototype.generateMap=function(A){var e=new Y;e.add(this.quad);var t=new Ka(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,-1e4,1e4);t.position.z=100;var i=new g(this.resolution,this.resolution,{minFilter:1006,magFilter:1003,format:1022});A.setRenderTarget(i),A.clear(),A.render(e,t),this.texture=i.texture};var RC=function(){this.instanceMaterials={},this.materials={},this.textures={},this.lightmaps={},this.ensureImagePowerOfTwo=!1};RC.prototype.changeAllMaterials=function(A,e){},RC.prototype.destroy=function(){this.instanceMaterials={},this.materials={},this.textures={},this.lightmaps={}},RC.prototype.disposeInstanceMaterials=function(A){var e=this.instanceMaterials;for(var t in e){var i=e[t];if(Array.isArray(i))for(var o=0,n=i.length;n>o;o+=1)i[o].dispose();else i.dispose()}},RC.prototype.disposeMaterials=function(A){for(var e in this.materials)this.materials[e].dispose();this.disposeInstanceMaterials(A)},RC.prototype.updateMaterialsValue=function(A,e,t){var i=this.materials,o=this.instanceMaterials,n=null;for(var r in i)for(var r in(n=i[r])&&n[e]&&(n[e]=t,"function"==typeof n.refreshUniforms&&n.refreshUniforms(),n.needsUpdate=!0),o)if(n=o[r])if(Array.isArray(n))for(var a=0,s=n.length;s>a;a+=1)n[a][e]&&(n[a][e]=t,"function"==typeof n[a].refreshUniforms&&n[a].refreshUniforms(),n[a].needsUpdate=!0);else n[e]&&(n[e]=t,"function"==typeof n.refreshUniforms&&n.refreshUniforms(),n.needsUpdate=!0)},RC.prototype.enableColorWithoutLight=function(A){var e=this.materials,t=this.instanceMaterials,i=null;if(A){for(var o in e)(i=e[o])&&(i.defines.USE_COLORWITHOUTLIGHT="",i.needsUpdate=!0);for(var o in t)if(i=t[o])if(i instanceof Array)for(var n=0,r=i.length;r>n;n+=1)i[n].defines.USE_COLORWITHOUTLIGHT="",i[n].needsUpdate=!0;else i.defines.USE_COLORWITHOUTLIGHT="",i.needsUpdate=!0}else{for(var o in e)(i=e[o])&&(delete i.defines.USE_COLORWITHOUTLIGHT,i.needsUpdate=!0);for(var o in t)if(i=t[o])if(i instanceof Array)for(n=0,r=i.length;r>n;n+=1)delete i[n].defines.USE_COLORWITHOUTLIGHT,i[n].needsUpdate=!0;else delete i.defines.USE_COLORWITHOUTLIGHT,i.needsUpdate=!0}},RC.prototype._updateTextureMapping=function(A){var e=vc.EnableTextureMapping,t=this.ensureImagePowerOfTwo;function i(A,e){if(e){if(void 0===e.length)A.map=e;else for(var i=0;e.length>i;i+=1)t||(e[i].image=Kd.ensurePowerOfTwo(e[i].image)),"map"===e[i].texturetype?A.map=e[i]:"bumpMap"===e[i].texturetype?e[i].depth&&(A.bumpScale=e[i].depth):"specularMap"===e[i].texturetype?A.specularMap=e[i]:"alphaMap"===e[i].texturetype?(A.alphaMap=e[i],A.alphaTest=.01,A.map=e[i],A.transparent=!0):"emissiveMap"===e[i].texturetype?A.emissiveMap=e[i]:"environmentMap"===e[i].texturetype?A.envMap=e[i]:"normalMap"===e[i].texturetype?(A.normalMap=e[i],e[i].depth&&A.normalScale.set(e[i].depth,e[i].depth)):Bh.warn("This map type is not supported yet:",e[i].texturetype);vc.IBL&&A.refreshUniforms(),A.needsUpdate=!0}else A.textureColor&&A.color.setStyle(A.textureColor),A.needsUpdate=!0}if(this.lastTextureEnabled!==e){var o=this.textures,n=this.materials;if(A)var r=A.manager.getMaterialOverrideSet(),a=r?r.materialsByName:null,s=r?r.textures:null;var l=this.instanceMaterials,c=null,h=null;if(e){for(c in n){if(h=n[c])i(h,d=o[c])}for(c in l)if(h=l[c]){var d=o[c];if(s&&s[c]&&(d=s[c]),Array.isArray(h))for(var p=0,g=h.length;g>p;p+=1)i(h[p],d);else i(h,d)}for(c in a){if(h=a[c])i(h,d=s[c.split("#")[0]])}this.ensureImagePowerOfTwo=!0}else{if(!r)for(c in n)(h=n[c])&&(h.map=null,h.needsUpdate=!0);for(c in l)if(h=l[c])if(Array.isArray(h))for(p=0,g=h.length;g>p;p+=1)h[p].pureColor&&(h[p].color.setStyle(h[p].pureColor),h[p].map=null,h[p].needsUpdate=!0),r||(h[p].map=null,h[p].needsUpdate=!0);else h.pureColor&&(h.color.setStyle(h.pureColor),h.map=null,h.needsUpdate=!0),r||(h.map=null,h.needsUpdate=!0);for(c in a)(h=a[c])&&(h.map=null,h.needsUpdate=!0,h.pureColor&&h.color.setStyle(h.pureColor))}this.lastTextureEnabled=e}},RC.prototype.updateMaterials=function(A){var e=this.materials;for(var t in e)if(e.hasOwnProperty(t)){var i=e[t];i.IBLMaps=A.manager.scene.IBLMaps,i.refreshUniforms()}},RC.prototype._updateIBL=function(A){var e=A.manager.scene;if(vc.IBL&&null!==e.iblProbe&&e.iblProbe.isComputed){this.materialManager.updateMaterials(A);var t=e.IBLcfg,i=t[Object.keys(t)[e.IBLIndex]];for(var o in i)this.materialManager.updateMaterialsValue(A,o,i[o])}},RC.prototype.changeAllMaterials=function(A,e){var t=this.materials;for(var i in t)if(t.hasOwnProperty(i)){var o=Kd.getMaterialParameters(t[i]),n=null;e?(delete o.textureColor,delete o.pureColor,delete o.imageFade,o.lights=!0,(n=new QC.IBLMaterial(o)).type="IBL",n.refreshUniforms()):(delete o.iblProbe,(n=Kd.createStandardMaterial(o)).roughness=o.originRoughness,n.metalness=o.originMetalness,n.refreshUniforms()),n.name=i,t[i]=n,o=null}},RC.prototype.switchNewStyleMaterial=function(A,e){var t=this.materials;for(var i in t)if(t.hasOwnProperty(i)){var o=Kd.getMaterialParameters(t[i]),n=null;(n=e?Kd.createNewStyleMaterial(o):Kd.createStandardMaterial(o)).name=i,t[i]=n,o=null}},RC.prototype.getInstanceMaterialById=function(A,e){if(this.instanceMaterials[A])return this.instanceMaterials[A];var t=Kd.getMaterialParameters(e.manager.getOverrideMaterialByName(A)||this.materials[A]),i=t.transparent,o=Kd.createInstanceMaterial(t,!0);o.transparent=!1;var n=Kd.createInstanceMaterial(t,!0);return n.transparent=!0,vc.TranslucentDepthDisabled&&(n.depthWrite=!1),i===o.transparent?(this.instanceMaterials[A]=[o,n],n.defines.INSTANCE_STATE_SECONDARY=""):(this.instanceMaterials[A]=[n,o],o.defines.INSTANCE_STATE_SECONDARY=""),this.instanceMaterials[A]},RC.prototype.getMaterialById=function(A){return this.materials[A]};var TC=function(A,e,t,i){var o=this;this.manager=A,this.modelKey=e.modelKey,this.projectKey=e.dbName,this.offLine=e.offLine,this.accessToken=e.token||"",this.shareKey=e.share||"",this.dataVersion=null,this.debut=i,this.dataUrl=new eC(e),this.submodel={},this.loadingManager=new jr,this.loadingManager.model=this,this.fileLoader=new bu(this.loadingManager),this.configLoader=new bC(this),this.firstOctreeTransform=!0,this.numOfElements=0,this.numOfTriangles=0,this.singleStepMode=!1,this.sizeOfNextStep=0,this.needUpdate=!1,this.boundingBoxWorld=null,this.rotation=new f,this.position=new y,this.scale=new y(1,1,1),this.transformMatrix=new M,this.selectedMaterial=this.manager.sceneState.selectionMaterial,this.materialManager=new RC,this.wireframeManager=new au,this.axisNetManager=void 0,this.floorManager=void 0,this.containsCamera=!1,this.loaded=!1,this.visible=!0,this.emptyScene=!1,this.cameraList=[],this.index=0,this.modelConfig=null,this.kdTreeNode=null,this.parseCfgFinish=void 0,this.progressPercentage={load:.4,collect:.5,merge:.1},this.progressFrequency=10,this._encodedDatabagId=this.modelKey,this.groupName=gp.MODEL+"|"+this.modelKey,this.group=this.manager.scene.getOrCreateGroup(this.groupName,{pickableType:Qc.Geometry,globalSpace:!0}),this._handler=null,this.lightmap=!1,this.lightmapNum=0,this.enableLightmap=!1,this.lightmapIntensity=vc.LightmapIntensity,this.minDistanceObjects={},this.prioritizedNodeCount=0,this.plugins=[],this.merged=!1,e.modelKeys&&(this.modelGroup=!0,this.groupKey=e.modelKey,this.modelKeys=e.modelKeys,this.progressFrequency=100,this.merged=!0,this.configLoader=new KC(this)),this.subModel={},mh.isSupportIndexedDB()?(this.storage=new AC({store:this.modelKey,version:1,dbName:this.modelKey}),this.storage.addEventListener(Rc.ON_DATABASE_OPEN,(function(A){t&&t(o,!0)})),this.storage.addEventListener(Rc.ON_DATABASE_EEEOR,(function(A){o.storage=void 0,t&&t(o,!1)}))):(o.storage=void 0,t&&t(this,!1))};Object.assign(TC.prototype,Ld.prototype),TC.prototype.getStorage=function(){return this.storage},TC.prototype.destroy=function(){this.selectedMaterial=null,this.cameraList=null,this.occlusionCamera&&(this.occlusionCamera=null),this._removeMeshNodeGroup(),this.removeAllFromOctantMap(),this._handler&&(this._handler.destroy(),this._handler=null),this.wireframeManager.destroy(),this.wireframeManager=null,this.materialManager.disposeMaterials(this),this.materialManager.destroy(),this.materialManager=null,this.manager=null,this.plugins=null,this.dataUrl=null,this.fileLoader=null,this.configLoader.destroy(),this.configLoader=null},TC.prototype._getWireframeGroupName=function(){return gp.WIREFRAME+"|"+this.modelKey},TC.prototype.load=function(A){var e=this;this.configLoader.load((function(){e.parseCfgFinish&&e.parseCfgFinish(),e.manager.updateScene(),e._getHandler().load(A)}))},TC.prototype.setCrossOrigin=function(A){this.fileLoader.setCrossOrigin(A)},TC.prototype.prepare=function(A,e){var t=this._getHandler();t&&t.prepare(A,e)},TC.prototype.dispatchEventEx=function(A){A.modelKey=this.modelKey,this.manager.dispatchEvent(A)},TC.prototype.setLoaded=function(A){this.loaded=A},TC.prototype.isLoaded=function(){return this.loaded},TC.prototype.getTransformMatrix=function(){return this.transformMatrix},TC.prototype.isEmptyScene=function(){return this.emptyScene},TC.prototype.setEmptyScene=function(A){this.emptyScene=A},TC.prototype.isLayerData=function(){return!(!this._handler||"layer"!==this._handler.tag)},TC.prototype.setConfig=function(A){this.configLoader.config=A},TC.prototype.getConfig=function(){return this.configLoader.config},TC.prototype.isVisible=function(){return this.manager.filter._isModelVisible(this.modelKey)},TC.prototype.setVisible=function(A){A?this.manager.filter.showModelByIds([this.modelKey]):this.manager.filter.hideModelByIds([this.modelKey])},TC.prototype.calculateCameraModelRelation=function(A){this.containsCamera=this.getModelDescriptor().isOctreeOuter(A)},TC.prototype.addCamera=function(A){this.cameraList.push(A)},TC.prototype.getCameraNameList=function(){for(var A=[],e=this.cameraList.length-1;e>=0;e-=1)A.push(this.cameraList[e].name);return A},TC.prototype.getCamera=function(A){for(var e=this.cameraList.length-1;e>=0;e-=1)if(this.cameraList[e].name===A)return this.cameraList[e];return null},TC.prototype.updateOctreeNode=function(A){if(A||this.firstOctreeTransform){this.firstOctreeTransform&&(this.firstOctreeTransform=!1);var e=this.manager.scene.getMatrixGlobal();this.getModelDescriptor().updateOctreeNode(e)}},TC.prototype.isDataReady=function(){var A=this._handler;return!!A&&A.isDataReady()},TC.prototype.updateMeshNodes=function(A){var e=this._getHandler();if(e){if("layer"===e.tag&&!e.layerDataLoaded)return;e.updateNodes()}},TC.prototype._getHandler=function(A){return this._handler},TC.prototype.getMeshesByUserIds=function(A){if(A){var e=this._getHandler();return e?e.getMeshesByUserIds(A):void 0}},TC.prototype.applyFilter=function(){if(!1!==this.manager.filter._isModelVisible(this.modelKey)){for(var A=0,e=this.plugins.length;e>A;A+=1)this.plugins[A].applyFilter();this.group.visible=!0;var t=this._getHandler();t&&t.applyFilter()}else this.group.visible=!1},TC.prototype.applySelection=function(){for(var A=0,e=this.plugins.length;e>A;A+=1)this.plugins[A].applySelection();var t=this._getHandler();t&&t.applySelection()},TC.prototype.clearSelection=function(){for(var A=0,e=this.plugins.length;e>A;A+=1)this.plugins[A].clearSelection();var t=this._getHandler();t&&t.clearSelection()},TC.prototype.applyHover=function(){for(var A=0,e=this.plugins.length;e>A;A+=1)this.plugins[A].applyHover();var t=this._getHandler();t&&t.applyHover()},TC.prototype.clearHover=function(){for(var A=0,e=this.plugins.length;e>A;A+=1)this.plugins[A].clearHover();var t=this._getHandler();t&&t.clearHover()},TC.prototype.applyBlink=function(){var A=this._getHandler();A&&A.applyBlink()},TC.prototype.clearBlink=function(){var A=this._getHandler();A&&A.clearBlink()},TC.prototype.applyReplacement=function(){var A=this._getHandler();A&&A.applyReplacement()},TC.prototype._removeMeshNodeGroup=function(){this._removeNodeGroup(gp.GEOMETRY),this._removeNodeGroup(gp.INSTANCEGEOMETRY),this._removeNodeGroup(gp.WIREFRAME),this._removeNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY),this._removeNodeGroup(gp.AXISNET),this._removeSceneGroup(),this.group=null},TC.prototype._getNodeGroup=function(A,e){for(var t=this.group.children,i=0,o=t.length;o>i;i+=1)if(t[i].name===A)return t[i];var n=new ep(A,e);return this.group.add(n),n.globalSpace&&(n.matrixAutoUpdate=!1,n.updateMatrixWorld(!0)),n},TC.prototype._removeNodeGroup=function(A){this.group.removeByName(A)},TC.prototype._hasNodeGroup=function(A){return this.group.hasChild(A)},TC.prototype._removeSceneGroup=function(){this.manager.scene.removeGroupByName(this.groupName),this.manager.scene.removeGroupByName(this._getWireframeGroupName())},TC.prototype.removeAllFromOctantMap=function(){this.manager.removeAllFromOctantMap(this.modelKey)},TC.prototype.clearMeshFromOctantMap=function(){this.manager.removeMeshFromOctantMap(this.modelKey)},TC.prototype.getDatabagId=function(){return this.modelKey},TC.prototype.getEncodedDatabagId=function(){return this.modelKey},TC.prototype.getMaterialManager=function(){return this.materialManager},TC.prototype.clearWireframeElementCount=function(){this.wireframeElementCount=void 0},TC.prototype.getWireframeElementCount=function(){if(void 0!==this.wireframeElementCount)return this.wireframeElementCount;var A=this.getModelDescriptor().getAllNodeInfos(),e=this.manager.filter,t=0;for(var i in A){var o=A[i];e._hasRenderWithBoardlineFilter()&&!e._isRenderWithBoardline(o[0])||(t+=o.length)}return this.wireframeElementCount=t,t},TC.prototype.isActivateWireframe=function(){return this.manager.isDrawingBoardlineEnabled()},TC.prototype.isOnlyWireframe=function(){return this.manager.isOnlyWireframe()},TC.prototype.getLoadedUserIdsObject=function(){return this._handler&&this._handler.getLoadedUserIdsObject?this._handler.getLoadedUserIdsObject():null},TC.prototype.clearNodeGroup=function(){var A=this._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});A.clear(),(A=this._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).clear(),(A=this._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).clear(),(A=this._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).clear()},TC.prototype.getWireframeMaterial=function(){return this.wireframeManager.wireframeMaterial},TC.prototype.getInstanceWireframeMaterial=function(){return this.wireframeManager.instanceWireframeMaterial},TC.prototype.getMaterialByMaterialId=function(A){return this.materialManager.materials[A]},TC.prototype.adjustProgressPercentage=function(A,e,t){this.progressPercentage.load=A,this.progressPercentage.collect=e,this.progressPercentage.merge=t},TC.prototype.setReplacedUserIdMap=function(A){this.replacedUserIdMap=uh.isOwnEmptyObject(A)?null:A},TC.prototype.hasReplacedUserId=function(){return!uh.isEmptyObject(this.replacedUserIdMap)},TC.prototype.isReplacedUserId=function(A){return this.replacedUserIdMap&&this.replacedUserIdMap[A]},TC.prototype.registerPlugin=function(A){this.plugins.push(A)},TC.prototype.disposeBufferAfterVbo=function(){var A=this._getHandler();A&&A.disposeBufferAfterVbo()},TC.prototype.isHiddenUserId=function(A){var e=this._getHandler();return!!e&&e.isHiddenNode(A)},TC.prototype.hasHiddenUserId=function(){return this.manager.hasHiddenUserId()},TC.prototype.isHiddenSourceObjectUserId=function(A){return this.manager.isHiddenSourceObjectUserId(A)},TC.prototype.hasHiddenSourceObjectUserId=function(){return this.manager.hasHiddenSourceObjectUserId()},TC.prototype.getModelDescriptor=function(){return this._handler.loader.getDescriptor()},TC.prototype.getLoader=function(){return this._handler.loader},TC.prototype.getConfig=function(){return this.configLoader.getConfig()},TC.prototype.getTransforms=function(){return this.configLoader.getTransforms()},TC.prototype.getStatistics=function(){return this.configLoader.getStatistics()},TC.prototype.setRenderableCount=function(A){this.configLoader.setRenderableCount(A),this._handler&&this._handler.clearPriorityNodesSet&&this._handler.clearPriorityNodesSet(!0)},TC.prototype.getRenderableCount=function(){return this.configLoader.getStatistics().renderableCount},TC.prototype.getBoundingBoxWorld=function(){return this.configLoader.getTransforms().boundingBox},TC.prototype.calculateBoundingBox=function(){var A=this.getModelDescriptor().getAllNodeInfos(),e=new aA;for(var t in A)for(var i=A[t],o=0,n=i.length;n>o;o+=1){var r=i[o];r.boundingBox&&e.union(r.boundingBox)}var a=this.getModelMatrix();a&&e.applyMatrix4(a),this.configLoader.getTransforms().boundingBox.copy(e)},TC.prototype.calculateClippingIds=function(){var A=this._getHandler();A&&A.calculateClippingIds()},TC.prototype.explode=function(A){var e=this.getBoundingBoxWorld().getCenter(),t=this._getHandler();t&&t.explode(e,A)},TC.prototype.formatLayerIds=function(A){return this.getLayerProvider().formatLayerIds(A)},TC.prototype.getBoundingBoxOfGeometries=function(A){for(var e=!A,t=new aA,i=0;A.length>i;i+=1){var o=this.group.getObjectByProperty("guid",A[i]);if(o){var n=o.geometry;if(n){if(e||n){n.boundingBox||n.computeBoundingBox();var r=n.boundingBox;if(r){var a=r.clone();o.matrixWorld&&a.applyMatrix4(o.matrixWorld),t.expandByPoint(a.min),t.expandByPoint(a.max)}}}else Bh.log("empty geometry!")}}return t},TC.prototype.setModelMatrix=function(A){this.group.matrix.copy(A),this.group.updateMatrixWorld(!0);var e=this.configLoader.transformInfos;e&&e.boundingBox&&(e.transformMatrix.copy(A),e.originalBoundingBox?this.calculateBoundingBox():(e.originalBoundingBox=e.boundingBox.clone(),e.boundingBox.applyMatrix4(A))),this.manager.updateSceneBoundingBox()},TC.prototype.applyModelMatrix=function(A){var e=this.configLoader.transformInfos;e&&e.boundingBox&&(e.transformMatrix.premultiply(A),e.originalBoundingBox||(e.originalBoundingBox=e.boundingBox.clone()),e.boundingBox.applyMatrix4(A)),this.group.matrix.copy(e.transformMatrix),this.group.updateMatrixWorld(!0),this.manager.updateSceneBoundingBox()},TC.prototype.getModelMatrix=function(){var A=null;return this.group.matrix&&(A=this.group.matrix.clone()),A},TC.prototype.resetModelMatrix=function(){var A=this.configLoader.transformInfos.originalMatrix;A&&this.setModelMatrix(A)},TC.prototype.overturnYAndZaxis=function(){var A=(new M).makeRotationFromEuler(new F(Math.PI/2,0,0));this.group.matrix&&(A.multiply(this.group.matrix),this.setModelMatrix(A))},TC.prototype.hasComponent=function(A){return!!this.getModelDescriptor().getNodeInfosByUserId(A)},TC.prototype.getComponentInfo=function(A){return this.getModelDescriptor().getNodeInfosByComponentKey(A)},TC.prototype.getComponentlist=function(){var A=[],e=this.getModelDescriptor();for(var t in e.mapNodeInfoByComponentKey)e.mapNodeInfoByComponentKey.hasOwnProperty(t)&&A.push(t);return A},TC.prototype.addMeshToInfoMap=function(A,e,t,i,o){this.getModelDescriptor().addMeshToInfoMap(A,e,t,i,o)},TC.prototype.loadGeopkOnDemand=function(A,e,t){this._handler&&"layer"===this._handler.tag&&this._handler.loadGeopkOnDemand(A,e,t)},TC.prototype.unloadGeopkOnDemand=function(A,e){this._handler&&"layer"===this._handler.tag&&this._handler.unloadComponents(A,e)},TC.prototype.loadAllGeosOnDemand=function(A,e,t){this._handler&&"layer"===this._handler.tag&&this._handler.loadAllGeosOnDemand(A,e,t)},TC.prototype.getUnionBoundingBoxOnDemand=function(){return this.getLayerProvider().getUnionBoundingBoxOnDemand()},TC.prototype.setConditionsChangedOnDemand=function(A){this.getLayerProvider().setConditionsChanged(A)},TC.prototype.explosion=function(A){var e=this._getHandler();Bh.time("模型离散用时"),e&&(this.explosioning=!0,e.explosion(A)),Bh.timeEnd("模型离散用时"),this.calculateBoundingBox()},TC.prototype.closeExplosion=function(){Bh.time("取消模型离散用时");var A=this._getHandler();A&&(A.closeExplosion(),this.explosioning=!1),Bh.timeEnd("取消模型离散用时")},TC.prototype.componentsExplosion=function(A){var e=this._getHandler();if(1===(A.coefficientX||1)&&1===(A.coefficientY||1)&&1===(A.coefficientZ||1)&&0===(A.offsetX||0)&&0===(A.offsetY||0)&&0===(A.offsetZ||0))return this.explosioning=!1,this.closeComponentsExplosion(A.componentKey),void this.calculateBoundingBox();Bh.time("构件离散用时"),e&&(this.explosioning=!0,e.componentsExplosion(A),this.calculateBoundingBox()),Bh.timeEnd("构件离散用时")},TC.prototype.closeComponentsExplosion=function(A){Bh.time("取消构件离散用时");var e=this._getHandler();e&&(e.closeComponentsExplosion(A),this.explosioning=!1),Bh.timeEnd("取消构件离散用时")},TC.prototype.floorExplosion=function(A){if(this.floorManager){var e=this.floorManager.floorExplosionInfo;this.explosioning=!0;var t=this._getHandler();if(!t)return!1;if(!e.sortedFloors){for(var i=[],o=0,n=e.floors.length;n>o;o+=1){var r=e.floors[o],a=this.manager.getBoundingBoxByIds(r.componentkeys);if(!a.isEmpty()){r.box=a;var s=new y;r.box.getCenter(s),r.center=s,i.push(r)}}i.sort((function(A,e){return A.center.z-e.center.z})),e.sortedFloors=i;for(var l=0,c=1/0,h=0,d=0,p=i.length;p>d;d+=1){var g=Math.abs(i[d].center.z);c>g&&(l=d,c=g);var u=new y;i[d].box.getSize(u),h+=u.z}e.baseFloorIndex=l,e.averageHeight=h/i.length;var f=i[l].center.toArray();e.center=f}for(var m=(A-1)*e.averageHeight,C=0,v=e.sortedFloors.length;v>C;C+=1){if(C!==e.baseFloorIndex)t.componentsExplosion({offsetZ:(C-e.baseFloorIndex)*m,componentKey:e.sortedFloors[C].componentkeys,center:e.center})}return this.calculateBoundingBox(),!0}return!1},TC.prototype.closeFloorExplosion=function(){if(this.floorManager){var A=this.floorManager.floorExplosionInfo;if(A&&A.sortedFloors){var e=this._getHandler();if(e){for(var t=0,i=A.sortedFloors.length;i>t;t+=1){e.closeComponentsExplosion(A.sortedFloors[t].componentkeys)}this.calculateBoundingBox(),this.explosioning=!1}}}},TC.prototype.showModel=function(A){this.nodes.visible=A},TC.prototype.updateMaterials=function(){var A=this.materials;for(var e in A)if(A.hasOwnProperty(e)){var t=A[e];t.IBLMaps=this.manager.scene.IBLMaps,t.refreshUniforms()}},TC.prototype.updateMaterialsValue=function(A,e){var t=this.materials;for(var i in t)if(t.hasOwnProperty(i)){var o=t[i];o.hasOwnProperty(A)&&(o[A]=e,o.refreshUniforms(),o.needsUpdate=!0)}},TC.prototype.changeAllMaterials=function(A){var e=this.materials;for(var t in e)if(e.hasOwnProperty(t)){var i=Kd.getMaterialParameters(e[t]),o=null;A?(delete i.textureColor,delete i.pureColor,delete i.imageFade,i.lights=!0,(o=new QC.IBLMaterial(i)).type="IBL",o.refreshUniforms()):(delete i.iblProbe,(o=Kd.createStandardMaterial(i)).roughness=i.originRoughness,o.metalness=i.originMetalness,o.refreshUniforms()),o.name=t,e[t]=o,i=null}},TC.prototype.getAllComponents=function(){return this.getComponentlist()},TC.prototype.getComponentKeysByTypeFromList=function(A,e){for(var t=this.getModelDescriptor(),i=[],o=0;A.length>o;o+=1)t.mapNodeInfoByComponentKey.hasOwnProperty(A[o])&&t.mapNodeInfoByComponentKey[A[o]][0].type===e&&i.push(A[o]);return i},TC.prototype.getComponentKeysByType=function(A){var e=this.getModelDescriptor(),t=[];for(var i in e.mapNodeInfoByComponentKey)e.mapNodeInfoByComponentKey.hasOwnProperty(i)&&e.mapNodeInfoByComponentKey[i][0].type===A&&t.push(i);return t},TC.prototype.getAllComponentKeyType=function(){var A={},e=[],t=this.getModelDescriptor();for(var i in t.mapNodeInfoByComponentKey)if(t.mapNodeInfoByComponentKey.hasOwnProperty(i)){var o=t.mapNodeInfoByComponentKey[i][0].type;A[o]||(A[o]=!0,e.push(o))}return e},TC.prototype.getComponentKeysByName=function(A){var e=this.getModelDescriptor(),t=[];for(var i in e.mapNodeInfoByComponentKey)e.mapNodeInfoByComponentKey.hasOwnProperty(i)&&e.mapNodeInfoByComponentKey[i][0].name===A&&t.push(i);return t},TC.prototype.getComponentKeysByProperty=function(A,e){var t=this.getModelDescriptor(),i=[];for(var o in t.mapNodeInfoByComponentKey)t.mapNodeInfoByComponentKey.hasOwnProperty(o)&&t.mapNodeInfoByComponentKey[o][0][A]===e&&i.push(o);return i},TC.prototype._getLayerHandler=function(){return this._layerHandler},TC.prototype.prepareData=function(){var A=this;this.materialManager._updateTextureMapping(),this.materialManager._updateIBL(this);var e=this._getHandler();e&&e.prepareData((function(){A.loaded=!0,A.hasAnimation&&vc.EnableAnimation&&A.createPanel(),A.debut(A)}))},TC.prototype.isUserIdExist=function(A){return!!this.getModelDescriptor().getNodeInfosByUserId(A)},TC.prototype.getNodeInfosByUserId=function(A){return this.getModelDescriptor().getNodeInfosByUserId(A)},TC.prototype.getNodeInfos=function(){return this.getModelDescriptor().getNodeInfosWithUserId()},TC.prototype.getFilter=function(){return this.manager.filter},TC.prototype.getOctreeRoots=function(A){this.getModelDescriptor().getOctreeRoots(A)},TC.prototype.getPickingMeshes=function(A,e,t,i){this._dealNonInstancedNodesForPicking(A,e,t,i),this._dealInstancedNodesForPicking(A,e,t,i),this._dealPluginNodesForPicking(A,e,t,i)},TC.prototype._dealNonInstancedNodesForPicking=function(A,e,t,i){if(this._handler){var o=this._handler.defaultManager;if(o.hasNodeInfo(this)){var n=o.getMeshManager().getPickingNodeGenerator().updatePickingMeshes(A.selectedMaterial,t,i);n&&e.meshes.push(n);var r=o.getWireFrameManager().getPickingNodeGenerator().updatePickingMeshes(A.wireframeMaterial,t,i);r&&e.meshes.push(r)}}},TC.prototype._dealInstancedNodesForPicking=function(A,e,t,i){if(this._handler){var o=this._handler.instancedManager;if(o.hasNodeInfo(this)){var n=o.getMeshManager().getPickingNodeGenerator().updatePickingMeshes(A.instancedSelectedMaterial,t,i);n&&e.meshes.push(n);var r=o.getWireFrameManager().getPickingNodeGenerator().updatePickingMeshes(A.instancedWireFrameMaterial,t,i);r&&e.meshes.push(r)}}},TC.prototype._dealPluginNodesForPicking=function(A,e,t,i){if(this._handler)for(var o=this.plugins,n=0,r=o.length;r>n;n+=1){var a=o[n].getPickingNodeGenerator().updatePickingMeshes(A.selectedMaterial,t,i);a&&e.meshes.push(a)}},TC.prototype.onWSWorkerMessage=function(){},TC.prototype.onPDWorkerMessage=function(){},TC.prototype._overrideOcclusionMaterial=function(A){var e=A.material;if(e&&!1===e.transparent){var t=this.manager.acquireMaterial(),i=t.material;e.color?i.color.copy(e.color):t.resetColor(),i.opacity=vc.OcclusionOpacity,A.material=i,A.material.needsUpdate=!0}},TC.prototype.showSkeleton=function(A){this.skeleton.visible=A},TC.prototype.deactivateAllActions=function(){this.needUpdate=!1,this.actions.forEach((function(A){A.stop()}))},TC.prototype.activateAllActions=function(){this.needUpdate=!0;for(var A=0;this.actions.length>A;A+=1)this.setWeight(this.actions[A],0===A?1:0);this.actions.forEach((function(A){A.play()}))},TC.prototype.pauseAllActions=function(){this.needUpdate=!1,this.actions.forEach((function(A){A.paused=!0}))},TC.prototype.toSingleStepMode=function(){this.unPauseAllActions(),this.singleStepMode=!0,this.sizeOfNextStep=this.settings["调整步长"]},TC.prototype.pauseContinue=function(){this.singleStepMode?(this.singleStepMode=!1,this.unPauseAllActions()):this.paused?(this.paused=!1,this.unPauseAllActions()):(this.paused=!0,this.pauseAllActions())},TC.prototype.unPauseAllActions=function(){this.needUpdate=!0,this.actions.forEach((function(A){A.paused=!1}))},TC.prototype.setWeight=function(A,e){A.enabled=!0,A.setEffectiveTimeScale(1),A.setEffectiveWeight(e)},TC.prototype.modifyTimeScale=function(A){this.mixer.timeScale=A},TC.prototype.createPanel=function(){var A=this,e=new $m({width:300}).addFolder(this.modelKey),t=e.addFolder("可见性"),i=e.addFolder("激活/失活"),o=e.addFolder("暂停/步进"),n=e.addFolder("混合权重"),r=e.addFolder("综合速度");this.settings={"显示模型":!0,"显示骨骼":!1,"关闭全部动画":this.deactivateAllActions.bind(A),"激活所有动画":this.activateAllActions.bind(A),"暂停/继续":this.pauseContinue.bind(A),"单步动画":this.toSingleStepMode.bind(A),"调整步长":.05,"使用默认持续时间":!0,"设置自定义持续时间":3.5,"modify idle weight":0,"modify walk weight":1,"modify run weight":0,"修改时间尺度":1};var a=this.settings;t.add(a,"显示模型").onChange(this.showModel.bind(A)),t.add(a,"显示骨骼").onChange(this.showSkeleton.bind(A)),i.add(a,"关闭全部动画"),i.add(a,"激活所有动画"),o.add(a,"暂停/继续"),o.add(a,"单步动画"),o.add(a,"调整步长",.01,.1,.001);for(var s=this.actions,l=function(e){var t=s[e]._clip.name;a[t]=0===e?1:0,n.add(a,t,0,1,.01).listen().onChange((function(t){A.setWeight(s[e],t)}))},c=0;s.length>c;c+=1)l(c);r.add(a,"修改时间尺度",0,10,.01).onChange(this.modifyTimeScale.bind(A)),t.open(),i.open(),o.open(),n.open(),r.open()},TC.prototype.getTransformGroup=function(){return this.transformGroup||(this.transformGroup=this.manager.scene.getOrCreateGroup(gp.TRANSFORM),this.group.add(this.transformGroup),this.transformGroup.updateMatrixWorld(!0)),this.transformGroup},TC.prototype.getComponentKeysBySubmodelKey=function(A){return this.submodel[A]||[]},TC.prototype.getTrianglesCount=function(){var A=0,e=0,t=0,i=0,o={};return this.group.traverse((function(n){if(n.isMesh){var r=n.geometry,a=r.getAttribute("position").count,s=r.index.count/3,l=r.getAttribute("vState");o[r.id]||(t+=a,i+=s,o[r.id]=!0),l&&(a*=l.count,s*=l.count),A+=a,e+=s}})),o=null,{positionsCount:A,trianglesCount:e,realPositionCount:t,realTrianglesCount:i}},TC.prototype.addLights=function(A){this.lightGroup=this.lightGroup||new Xi,this.group.add(this.lightGroup),this.lightGroup.visible=!1;for(var e=0,t=A.length;t>e;e+=1)this.lightGroup.add(A[e]),A[e].updateMatrixWorld()},TC.prototype.hasLights=function(){return this.lightGroup&&this.lightGroup.children.length>0},TC.prototype.enabledLights=function(){this.lightGroup.visible=!0},TC.prototype.disabledLights=function(){this.lightGroup.visible=!1},Object.defineProperties(TC.prototype,{modelConfig:{get:function(){return Bh.warn("EIMMODEL.Model: .modelConfig 现在为 .getConfig()"),this.getConfig()},set:function(A){this.setConfig(A)}},loader:{get:function(){return this._getHandler().loader}}});var kC={getBoxFromTileBoundingVolumeBox:function(A){var e=new aA,t=(new y).fromArray(A,0),i=new y;return i.fromArray(A,3),i.add(t),e.expandByPoint(i),i.fromArray(A,6),i.add(t),e.expandByPoint(i),i.fromArray(A,9),i.add(t),e.expandByPoint(i),e},getSphereFromTileBoundingVolumeSphere:function(A){return new cA((new y).fromArray(A,0),A[3]||0)},getTransfrom:function(A){return Array.isArray(A)?(new M).fromArray(A):new M},getSSE:function(A){var e=this.getBoxByComponentsKey(A),t=this.viewerImpl.camera,i=e.getCenter(new y),o=e.getSize().length(),n=this.viewerImpl.getRenderer().domElement.width,r=t.fov;return o*n/(2*t.position.clone().sub(i).length()*Math.tan(r/2))}},DC=function(A){bC.call(this,A)};function LC(A,e,t){if(0>e)throw new Error("byteOffset cannot be negative.");if(0>t)throw new Error("byteLength cannot be negative.");if(e+t>A.byteLength)throw new Error("sub-region exceeds array bounds.");return A=A.subarray(e=e||0,e+(t=t||A.byteLength-e)),LC.decode(A)}function NC(A,e,t){return A>=e&&t>=A}(DC.prototype=Object.create(bC.prototype)).load=function(A){var e=this,t=this.model,i=t.dataUrl;_d({type:"GET",url:i.rootTilesUrl(),headers:{Authorization:t.accessToken},success:function(o){var n={};if("string"==typeof o)try{n=JSON.parse(o)}catch(A){return t.setEmptyScene(!0),void t.dispatchEventEx({type:Rc.ON_LOAD_INVALID_SCENE,modelKey:t.modelKey})}else n=o;if(n){if(vc.offLine)e.model.getStorage().put(i.projectUrl(),n,e.model.modelKey,(function(){}),(function(){}));e._parse(n),t.dispatchEventEx({type:Rc.ON_LOAD_CONFIG_FINISH,modelKey:t.modelKey}),A&&A()}else Bh.log(t.modelKey,"config load error! ",n.message),t.dispatchEventEx({type:Rc.ON_LOAD_ERROR,modelKey:t.modelKey,code:n.code,message:n.message})},error:function(A,e){switch(A){case 401:t.dispatchEventEx({type:Rc.ACCOUNT_NO_EXIST,modelKey:t.modelKey,data:e});break;case 403:t.dispatchEventEx({type:Rc.NO_PERMISSION,modelKey:t.modelKey,data:e});break;default:t.dispatchEventEx({type:Rc.ON_NETWORK_ERROR,modelKey:t.modelKey,data:A})}}})},DC.prototype._parse=function(A){this.config=A,A.lengthUnit&&(this.model.originalLengthUnit=A.lengthUnit||"m"),this._toStatistics(A),this._setTransformInfos(A),this._chooseRendering(A)},DC.prototype._setTransformInfos=function(A){this.model.hasAnimation=!1,this.transformInfos.octreeTransformed=!1,this.transformInfos.boundingBox&&this.transformInfos.boundingBox.isBox3||(this.transformInfos.boundingBox=kC.getBoxFromTileBoundingVolumeBox(A.root.boundingVolume.box)),this.transformInfos.transformMatrix.compose(this.transformInfos.position,this.transformInfos.rotation,this.transformInfos.scale),this.transformInfos.transformMatrix.fromArray(A.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this.model.setModelMatrix(this.transformInfos.transformMatrix),this.model.manager.updateScene()},LC.decodeWithTextDecoder=function(A){return new TextDecoder("utf-8").decode(A)},LC.decodeWithFromCharCode=function(A){for(var e="",t=function(A){for(var e=0,t=0,i=0,o=128,n=191,r=[],a=A.length,s=0;a>s;s+=1){var l=A[s];if(0===i){if(NC(l,0,127)){r.push(l);continue}if(NC(l,194,223)){i=1,e=31&l;continue}if(NC(l,224,239)){224===l&&(o=160),237===l&&(n=159),i=2,e=15&l;continue}if(NC(l,240,244)){240===l&&(o=144),244===l&&(n=143),i=3,e=7&l;continue}throw new Error("String decoding failed.")}NC(l,o,n)?(o=128,n=191,e=e<<6|63&l,(t+=1)===i&&(r.push(e),e=i=t=0)):(e=i=t=0,o=128,n=191,s-=1)}return r}(A),i=t.length,o=0;i>o;o+=1){var n=t[o];n>65535?(n-=65536,e+=String.fromCharCode(55296+(n>>10),56320+(1023&n))):e+=String.fromCharCode(n)}return e},LC.decode="undefined"!=typeof TextDecoder?LC.decodeWithTextDecoder:LC.decodeWithFromCharCode;var OC=function(){function A(A){Yr.call(this,A),this.dracoLoader=null,this.ddsLoader=null}function e(){var A={};return{get:function(e){return A[e]},add:function(e,t){A[e]=t},remove:function(e){delete A[e]},removeAll:function(){A={}}}}A.prototype=Object.assign(Object.create(Yr.prototype),{constructor:A,load:function(A,e,t,i){var o,n=this;o=""!==this.resourcePath?this.resourcePath:""!==this.path?this.path:La.extractUrlBase(A),n.manager.itemStart(A);var r=function(e){i?i(e):console.error(e),n.manager.itemError(A),n.manager.itemEnd(A)},a=new bu(n.manager);a.setPath(this.path),a.setResponseType("arraybuffer"),"use-credentials"===n.crossOrigin&&a.setWithCredentials(!0),a.load(A,(function(t){try{n.parse(t,o,(function(t){e(t),n.manager.itemEnd(A)}),r)}catch(A){r(A)}}),t,r)},setDRACOLoader:function(A){return this.dracoLoader=A,this},setDDSLoader:function(A){return this.ddsLoader=A,this},parse:function(A,e,a,s){var l,c={};if("string"==typeof A)l=A;else{var g=La.decodeText(new Uint8Array(A,0,4));if(g===r){try{c[t.KHR_BINARY_GLTF]=new h(A)}catch(A){return void(s&&s(A))}l=c[t.KHR_BINARY_GLTF].content}else if("b3dm"===g){try{c[t.KHR_BINARY_GLTF]=new h(function(A){var e=0;e=0;var t=Uint32Array.BYTES_PER_ELEMENT,i=new Uint8Array(A),o=new DataView(A),n=o.getUint32(e+=t,!0);if(1!==n)throw new Error("Only Batched 3D Model version 1 is supported. Version "+n+" is not.");var r,a=o.getUint32(e+=t,!0),s=o.getUint32(e+=t,!0),l=o.getUint32(e+=t,!0),c=o.getUint32(e+=t,!0),h=o.getUint32(e+=t,!0);if(e+=t,570425344>c?570425344>h||(e-=t,r=c,c=s,h=l,s=0,l=0):(e-=2*t,r=s,c=l,h=0,s=0,l=0),0===s)({BATCH_LENGTH:r||0});else{var d=LC(i,e,s);JSON.parse(d),e+=s}if(e+=l,c>0){var p=LC(i,e,c);JSON.parse(p),e+=c,h>0&&(e+=h)}var g=0+a-e;if(0===g)throw new Error("glTF byte length must be greater than 0.");var u=null;return e%4==0?(new Uint8Array(A,e,g),u=A.slice(e)):(new Uint8Array(i.subarray(e,e+g)),u=A.slice(e)),u}(A))}catch(A){return void(s&&s(A))}l=c[t.KHR_BINARY_GLTF].content}else l=La.decodeText(new Uint8Array(A))}var m=JSON.parse(l);if(void 0===m.asset||m.asset.version[0]<2)s&&s(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));else{if(m.extensionsUsed)for(var C=0;m.extensionsUsed.length>C;++C){var y=m.extensionsUsed[C],v=m.extensionsRequired||[];switch(y){case t.KHR_LIGHTS_PUNCTUAL:c[y]=new o(m);break;case t.KHR_MATERIALS_UNLIT:c[y]=new n;break;case t.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:c[y]=new u;break;case t.KHR_DRACO_MESH_COMPRESSION:c[y]=new d(m,this.dracoLoader);break;case t.MSFT_TEXTURE_DDS:c[y]=new i(this.ddsLoader);break;case t.KHR_TEXTURE_TRANSFORM:c[y]=new p;break;case t.KHR_MESH_QUANTIZATION:c[y]=new f;break;default:0>v.indexOf(y)||console.warn('THREE.GLTFLoader: Unknown extension "'+y+'".')}}new q(m,c,{path:e||this.resourcePath||"",crossOrigin:this.crossOrigin,manager:this.manager}).parse(a,s)}}});var t={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:"KHR_materials_pbrSpecularGlossiness",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",MSFT_TEXTURE_DDS:"MSFT_texture_dds"};function i(A){if(!A)throw new Error("THREE.GLTFLoader: Attempting to load .dds texture without importing DDSLoader");this.name=t.MSFT_TEXTURE_DDS,this.ddsLoader=A}function o(A){this.name=t.KHR_LIGHTS_PUNCTUAL,this.lightDefs=(A.extensions&&A.extensions[t.KHR_LIGHTS_PUNCTUAL]||{}).lights||[]}function n(){this.name=t.KHR_MATERIALS_UNLIT}o.prototype.loadLight=function(A){var e,t=this.lightDefs[A],i=new LA(16777215);void 0!==t.color&&i.fromArray(t.color);var o=void 0!==t.range?t.range:0;switch(t.type){case"directional":(e=new Ra(i)).target.position.set(0,0,-1),e.add(e.target);break;case"point":(e=new Fa(i)).distance=o;break;case"spot":(e=new ba(i)).distance=o,t.spot=t.spot||{},t.spot.innerConeAngle=void 0!==t.spot.innerConeAngle?t.spot.innerConeAngle:0,t.spot.outerConeAngle=void 0!==t.spot.outerConeAngle?t.spot.outerConeAngle:Math.PI/4,e.angle=t.spot.outerConeAngle,e.penumbra=1-t.spot.innerConeAngle/t.spot.outerConeAngle,e.target.position.set(0,0,-1),e.add(e.target);break;default:throw new Error('THREE.GLTFLoader: Unexpected light type, "'+t.type+'".')}return e.position.set(0,0,0),e.decay=2,void 0!==t.intensity&&(e.intensity=t.intensity),e.name=t.name||"light_"+A,Promise.resolve(e)},n.prototype.getMaterialType=function(){return jA},n.prototype.extendParams=function(A,e,t){var i=[];A.color=new LA(1,1,1),A.opacity=1;var o=e.pbrMetallicRoughness;if(o){if(Array.isArray(o.baseColorFactor)){var n=o.baseColorFactor;A.color.fromArray(n),A.opacity=n[3]}void 0!==o.baseColorTexture&&i.push(t.assignTexture(A,"map",o.baseColorTexture))}return Promise.all(i)};var r="glTF",l=1313821514,c=5130562;function h(A){this.name=t.KHR_BINARY_GLTF,this.content=null,this.body=null;var e=new DataView(A,0,12);if(this.header={magic:La.decodeText(new Uint8Array(A.slice(0,4))),version:e.getUint32(4,!0),length:e.getUint32(8,!0)},this.header.magic!==r)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(2>this.header.version)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");for(var i=new DataView(A,12),o=0;i.byteLength>o;){var n=i.getUint32(o,!0),a=i.getUint32(o+=4,!0);if(o+=4,a===l){var s=new Uint8Array(A,12+o,n);this.content=La.decodeText(s)}else if(a===c){var h=12+o;this.body=A.slice(h,h+n)}o+=n}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")}function d(A,e){if(!e)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=t.KHR_DRACO_MESH_COMPRESSION,this.json=A,this.dracoLoader=e,this.dracoLoader.preload()}function p(){this.name=t.KHR_TEXTURE_TRANSFORM}function g(A){yr.call(this),this.isGLTFSpecularGlossinessMaterial=!0;var e=["#ifdef USE_SPECULARMAP","\tuniform sampler2D specularMap;","#endif"].join("\n"),t=["#ifdef USE_GLOSSINESSMAP","\tuniform sampler2D glossinessMap;","#endif"].join("\n"),i=["vec3 specularFactor = specular;","#ifdef USE_SPECULARMAP","\tvec4 texelSpecular = texture2D( specularMap, vUv );","\ttexelSpecular = sRGBToLinear( texelSpecular );","\t// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture","\tspecularFactor *= texelSpecular.rgb;","#endif"].join("\n"),o=["float glossinessFactor = glossiness;","#ifdef USE_GLOSSINESSMAP","\tvec4 texelGlossiness = texture2D( glossinessMap, vUv );","\t// reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture","\tglossinessFactor *= texelGlossiness.a;","#endif"].join("\n"),n=["PhysicalMaterial material;","material.diffuseColor = diffuseColor.rgb;","vec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );","float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );","material.specularRoughness = max( 1.0 - glossinessFactor, 0.0525 );// 0.0525 corresponds to the base mip of a 256 cubemap.","material.specularRoughness += geometryRoughness;","material.specularRoughness = min( material.specularRoughness, 1.0 );","material.specularColor = specularFactor.rgb;"].join("\n"),r={specular:{value:(new LA).setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};this._extraUniforms=r,this.onBeforeCompile=function(A){for(var a in r)A.uniforms[a]=r[a];A.fragmentShader=A.fragmentShader.replace("uniform float roughness;","uniform vec3 specular;"),A.fragmentShader=A.fragmentShader.replace("uniform float metalness;","uniform float glossiness;"),A.fragmentShader=A.fragmentShader.replace("#include <roughnessmap_pars_fragment>",e),A.fragmentShader=A.fragmentShader.replace("#include <metalnessmap_pars_fragment>",t),A.fragmentShader=A.fragmentShader.replace("#include <roughnessmap_fragment>",i),A.fragmentShader=A.fragmentShader.replace("#include <metalnessmap_fragment>",o),A.fragmentShader=A.fragmentShader.replace("#include <lights_physical_fragment>",n)},Object.defineProperties(this,{specular:{get:function(){return r.specular.value},set:function(A){r.specular.value=A}},specularMap:{get:function(){return r.specularMap.value},set:function(A){r.specularMap.value=A}},glossiness:{get:function(){return r.glossiness.value},set:function(A){r.glossiness.value=A}},glossinessMap:{get:function(){return r.glossinessMap.value},set:function(A){r.glossinessMap.value=A,A?(this.defines.USE_GLOSSINESSMAP="",this.defines.USE_ROUGHNESSMAP=""):(delete this.defines.USE_ROUGHNESSMAP,delete this.defines.USE_GLOSSINESSMAP)}}}),delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this.setValues(A)}function u(){return{name:t.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS,specularGlossinessParams:["color","map","lightMap","lightMapIntensity","aoMap","aoMapIntensity","emissive","emissiveIntensity","emissiveMap","bumpMap","bumpScale","normalMap","normalMapType","displacementMap","displacementScale","displacementBias","specularMap","specular","glossinessMap","glossiness","alphaMap","envMap","envMapIntensity","refractionRatio"],getMaterialType:function(){return g},extendParams:function(A,e,t){var i=e.extensions[this.name];A.color=new LA(1,1,1),A.opacity=1;var o=[];if(Array.isArray(i.diffuseFactor)){var n=i.diffuseFactor;A.color.fromArray(n),A.opacity=n[3]}if(void 0!==i.diffuseTexture&&o.push(t.assignTexture(A,"map",i.diffuseTexture)),A.emissive=new LA(0,0,0),A.glossiness=void 0!==i.glossinessFactor?i.glossinessFactor:1,A.specular=new LA(1,1,1),Array.isArray(i.specularFactor)&&A.specular.fromArray(i.specularFactor),void 0!==i.specularGlossinessTexture){var r=i.specularGlossinessTexture;o.push(t.assignTexture(A,"glossinessMap",r)),o.push(t.assignTexture(A,"specularMap",r))}return Promise.all(o)},createMaterial:function(A){var e=new g(A);return e.fog=!0,e.color=A.color,e.map=void 0===A.map?null:A.map,e.lightMap=null,e.lightMapIntensity=1,e.aoMap=void 0===A.aoMap?null:A.aoMap,e.aoMapIntensity=1,e.emissive=A.emissive,e.emissiveIntensity=1,e.emissiveMap=void 0===A.emissiveMap?null:A.emissiveMap,e.bumpMap=void 0===A.bumpMap?null:A.bumpMap,e.bumpScale=1,e.normalMap=void 0===A.normalMap?null:A.normalMap,e.normalMapType=0,A.normalScale&&(e.normalScale=A.normalScale),e.displacementMap=null,e.displacementScale=1,e.displacementBias=0,e.specularMap=void 0===A.specularMap?null:A.specularMap,e.specular=A.specular,e.glossinessMap=void 0===A.glossinessMap?null:A.glossinessMap,e.glossiness=A.glossiness,e.alphaMap=null,e.envMap=void 0===A.envMap?null:A.envMap,e.envMapIntensity=1,e.refractionRatio=.98,e}}}function f(){this.name=t.KHR_MESH_QUANTIZATION}function m(A,e,t,i){Ur.call(this,A,e,t,i)}d.prototype.decodePrimitive=function(A,e){var t=this.json,i=this.dracoLoader,o=A.extensions[this.name].bufferView,n=A.extensions[this.name].attributes,r={},a={},s={};for(var l in n){var c=K[l]||l.toLowerCase();r[c]=n[l]}for(l in A.attributes){c=K[l]||l.toLowerCase();if(void 0!==n[l]){var h=t.accessors[A.attributes[l]];s[c]=w[h.componentType],a[c]=!0===h.normalized}}return e.getDependency("bufferView",o).then((function(A){return new Promise((function(e){i.decodeDracoFile(A,(function(A){for(var t in A.attributes){var i=a[t];void 0!==i&&(A.attributes[t].normalized=i)}e(A)}),r,s)}))}))},p.prototype.extendTexture=function(A,e){return A=A.clone(),void 0!==e.offset&&A.offset.fromArray(e.offset),void 0!==e.rotation&&(A.rotation=e.rotation),void 0!==e.scale&&A.repeat.fromArray(e.scale),void 0!==e.texCoord&&console.warn('THREE.GLTFLoader: Custom UV sets in "'+this.name+'" extension not yet supported.'),A.needsUpdate=!0,A},(g.prototype=Object.create(yr.prototype)).constructor=g,g.prototype.copy=function(A){return yr.prototype.copy.call(this,A),this.specularMap=A.specularMap,this.specular.copy(A.specular),this.glossinessMap=A.glossinessMap,this.glossiness=A.glossiness,delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this},(m.prototype=Object.create(Ur.prototype)).constructor=m,m.prototype.beforeStart_=m.prototype.copySampleValue_=function(A){for(var e=this.resultBuffer,t=this.sampleValues,i=this.valueSize,o=A*i*3+i,n=0;n!==i;n++)e[n]=t[o+n];return e},m.prototype.afterEnd_=m.prototype.copySampleValue_,m.prototype.interpolate_=function(A,e,t,i){for(var o=this.resultBuffer,n=this.sampleValues,r=this.valueSize,a=2*r,s=3*r,l=i-e,c=(t-e)/l,h=c*c,d=h*c,p=A*s,g=p-s,u=-2*d+3*h,f=d-h,m=1-u,C=f-h+c,y=0;y!==r;y++){o[y]=m*n[g+y+r]+C*(n[g+y+a]*l)+u*n[p+y+r]+f*(n[p+y]*l)}return o};var C=0,v=1,I=2,E=3,B=4,x=5,S=6,w={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},b={9728:1003,9729:1006,9984:1004,9985:1007,9986:1005,9987:1008},U={33071:1001,33648:1002,10497:1e3},F={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},K={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Q={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},R={CUBICSPLINE:void 0,LINEAR:2301,STEP:2300},T="OPAQUE",k="MASK",D="BLEND",L={"image/png":1023,"image/jpeg":1022};function N(A,e){return"string"!=typeof A||""===A?"":(/^https?:\/\//i.test(e)&&/^\//.test(A)&&(e=e.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(A)||/^data:.*,.*$/i.test(A)||/^blob:.*$/i.test(A)?A:e+A)}function O(A,e,t){for(var i in t.extensions)void 0===A[i]&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[i]=t.extensions[i])}function V(A,e){void 0!==e.extras&&("object"===lc(e.extras)?Object.assign(A.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function G(A,e){if(A.updateMorphTargets(),void 0!==e.weights)for(var t=0,i=e.weights.length;i>t;t++)A.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){var o=e.extras.targetNames;if(A.morphTargetInfluences.length===o.length){A.morphTargetDictionary={};for(t=0,i=o.length;i>t;t++)A.morphTargetDictionary[o[t]]=t}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function P(A){for(var e="",t=Object.keys(A).sort(),i=0,o=t.length;o>i;i++)e+=t[i]+":"+A[t[i]]+";";return e}function q(A,t,i){this.json=A||{},this.extensions=t||{},this.options=i||{},this.cache=new e,this.primitiveCache={},this.textureLoader=new Aa(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.fileLoader=new bu(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}function j(A,e,t){var i=e.attributes,o=[];function n(e,i){return t.getDependency("accessor",e).then((function(e){A.setAttribute(i,e)}))}for(var r in i){var a=K[r]||r.toLowerCase();a in A.attributes||o.push(n(i[r],a))}if(void 0!==e.indices&&!A.index){var s=t.getDependency("accessor",e.indices).then((function(e){A.setIndex(e)}));o.push(s)}return V(A,e),function(A,e,t){var i=e.attributes,o=new aA;if(void 0!==i.POSITION){var n=(h=t.json.accessors[i.POSITION]).max;if(void 0!==(d=h.min)&&void 0!==n){o.set(new y(d[0],d[1],d[2]),new y(n[0],n[1],n[2]));var r=e.targets;if(void 0!==r)for(var a=new y,s=0,l=r.length;l>s;s++){var c=r[s];if(void 0!==c.POSITION){var h,d;n=(h=t.json.accessors[c.POSITION]).max;void 0!==(d=h.min)&&void 0!==n?(a.setX(Math.max(Math.abs(d[0]),Math.abs(n[0]))),a.setY(Math.max(Math.abs(d[1]),Math.abs(n[1]))),a.setZ(Math.max(Math.abs(d[2]),Math.abs(n[2]))),o.expandByVector(a)):console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}A.boundingBox=o;var p=new cA;o.getCenter(p.center),p.radius=o.min.distanceTo(o.max)/2,A.boundingSphere=p}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}(A,e,t),Promise.all(o).then((function(){return void 0!==e.targets?function(A,e,t){for(var i=!1,o=!1,n=0,r=e.length;r>n;n++){if(void 0!==(l=e[n]).POSITION&&(i=!0),void 0!==l.NORMAL&&(o=!0),i&&o)break}if(!i&&!o)return Promise.resolve(A);var a=[],s=[];for(n=0,r=e.length;r>n;n++){var l=e[n];if(i){var c=void 0!==l.POSITION?t.getDependency("accessor",l.POSITION):A.attributes.position;a.push(c)}if(o){c=void 0!==l.NORMAL?t.getDependency("accessor",l.NORMAL):A.attributes.normal;s.push(c)}}return Promise.all([Promise.all(a),Promise.all(s)]).then((function(e){var t=e[1];return i&&(A.morphAttributes.position=e[0]),o&&(A.morphAttributes.normal=t),A.morphTargetsRelative=!0,A}))}(A,e.targets,t):A}))}function Y(A,e){var t=A.getIndex();if(null===t){var i=[],o=A.getAttribute("position");if(void 0===o)return console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),A;for(var n=0;o.count>n;n++)i.push(n);A.setIndex(i),t=A.getIndex()}var r=t.count-2,a=[];if(2===e)for(n=1;r>=n;n++)a.push(t.getX(0)),a.push(t.getX(n)),a.push(t.getX(n+1));else for(n=0;r>n;n++)n%2==0?(a.push(t.getX(n)),a.push(t.getX(n+1)),a.push(t.getX(n+2))):(a.push(t.getX(n+2)),a.push(t.getX(n+1)),a.push(t.getX(n)));a.length/3!==r&&console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");var s=A.clone();return s.setIndex(a),s}return q.prototype.parse=function(A,e){var t=this,i=this.json,o=this.extensions;this.cache.removeAll(),this.markDefs(),Promise.all([this.getDependencies("scene"),this.getDependencies("animation"),this.getDependencies("camera")]).then((function(e){var n={scene:e[0][i.scene||0],scenes:e[0],animations:e[1],cameras:e[2],asset:i.asset,parser:t,userData:{}};O(o,n,i),V(n,i),A(n)})).catch(e)},q.prototype.markDefs=function(){for(var A=this.json.nodes||[],e=this.json.skins||[],t=this.json.meshes||[],i={},o={},n=0,r=e.length;r>n;n++)for(var a=e[n].joints,s=0,l=a.length;l>s;s++)A[a[s]].isBone=!0;for(var c=0,h=A.length;h>c;c++){var d=A[c];void 0!==d.mesh&&(void 0===i[d.mesh]&&(i[d.mesh]=o[d.mesh]=0),i[d.mesh]++,void 0!==d.skin&&(t[d.mesh].isSkinnedMesh=!0))}this.json.meshReferences=i,this.json.meshUses=o},q.prototype.getDependency=function(A,e){var i=A+":"+e,o=this.cache.get(i);if(!o){switch(A){case"scene":o=this.loadScene(e);break;case"node":o=this.loadNode(e);break;case"mesh":o=this.loadMesh(e);break;case"accessor":o=this.loadAccessor(e);break;case"bufferView":o=this.loadBufferView(e);break;case"buffer":o=this.loadBuffer(e);break;case"material":o=this.loadMaterial(e);break;case"texture":o=this.loadTexture(e);break;case"skin":o=this.loadSkin(e);break;case"animation":o=this.loadAnimation(e);break;case"camera":o=this.loadCamera(e);break;case"light":o=this.extensions[t.KHR_LIGHTS_PUNCTUAL].loadLight(e);break;default:throw new Error("Unknown type: "+A)}this.cache.add(i,o)}return o},q.prototype.getDependencies=function(A){var e=this.cache.get(A);if(!e){var t=this;e=Promise.all((this.json[A+("mesh"===A?"es":"s")]||[]).map((function(e,i){return t.getDependency(A,i)}))),this.cache.add(A,e)}return e},q.prototype.loadBuffer=function(A){var e=this.json.buffers[A],i=this.fileLoader;if(e.type&&"arraybuffer"!==e.type)throw new Error("THREE.GLTFLoader: "+e.type+" buffer type is not supported.");if(void 0===e.uri&&0===A)return Promise.resolve(this.extensions[t.KHR_BINARY_GLTF].body);var o=this.options;return new Promise((function(A,t){i.load(N(e.uri,o.path),A,void 0,(function(){t(new Error('THREE.GLTFLoader: Failed to load buffer "'+e.uri+'".'))}))}))},q.prototype.loadBufferView=function(A){var e=this.json.bufferViews[A];return this.getDependency("buffer",e.buffer).then((function(A){var t=e.byteOffset||0;return A.slice(t,t+(e.byteLength||0))}))},q.prototype.loadAccessor=function(A){var e=this,t=this.json,i=this.json.accessors[A];if(void 0===i.bufferView&&void 0===i.sparse)return Promise.resolve(null);var o=[];return o.push(void 0!==i.bufferView?this.getDependency("bufferView",i.bufferView):null),void 0!==i.sparse&&(o.push(this.getDependency("bufferView",i.sparse.indices.bufferView)),o.push(this.getDependency("bufferView",i.sparse.values.bufferView))),Promise.all(o).then((function(A){var o,n=A[0],r=F[i.type],a=w[i.componentType],s=a.BYTES_PER_ELEMENT,l=i.byteOffset||0,c=void 0!==i.bufferView?t.bufferViews[i.bufferView].byteStride:void 0,h=!0===i.normalized;if(c&&c!==s*r){var d=Math.floor(l/c),p="InterleavedBuffer:"+i.bufferView+":"+i.componentType+":"+d+":"+i.count,g=e.cache.get(p);g||(g=new to(new a(n,d*c,i.count*c/s),c/s),e.cache.add(p,g)),o=new no(g,r,l%c/s,h)}else o=new YA(null===n?new a(i.count*r):new a(n,l,i.count*r),r,h);if(void 0!==i.sparse){var u=i.sparse.values.byteOffset||0,f=new(0,w[i.sparse.indices.componentType])(A[1],i.sparse.indices.byteOffset||0,i.sparse.count*F.SCALAR),m=new a(A[2],u,i.sparse.count*r);null!==n&&(o=new YA(o.array.slice(),o.itemSize,o.normalized));for(var C=0,y=f.length;y>C;C++){var v=f[C];if(o.setX(v,m[C*r]),2>r||o.setY(v,m[C*r+1]),3>r||o.setZ(v,m[C*r+2]),4>r||o.setW(v,m[C*r+3]),r>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return o}))},q.prototype.loadTexture=function(A){var e,i=this,o=this.json,n=this.options,r=this.textureLoader,a=window.URL||window.webkitURL,s=o.textures[A],l=s.extensions||{},c=(e=l[t.MSFT_TEXTURE_DDS]?o.images[l[t.MSFT_TEXTURE_DDS].source]:o.images[s.source]).uri,h=!1;return void 0!==e.bufferView&&(c=i.getDependency("bufferView",e.bufferView).then((function(A){h=!0;var t=new Blob([A],{type:e.mimeType});return c=a.createObjectURL(t)}))),Promise.resolve(c).then((function(A){var e=n.manager.getHandler(A);return e||(e=l[t.MSFT_TEXTURE_DDS]?i.extensions[t.MSFT_TEXTURE_DDS].ddsLoader:r),new Promise((function(t,i){e.load(N(A,n.path),t,void 0,i)}))})).then((function(A){!0===h&&a.revokeObjectURL(c),A.flipY=!1,s.name&&(A.name=s.name),e.mimeType in L&&(A.format=L[e.mimeType]);var t=(o.samplers||{})[s.sampler]||{};return A.magFilter=b[t.magFilter]||1006,A.minFilter=b[t.minFilter]||1008,A.wrapS=U[t.wrapS]||1e3,A.wrapT=U[t.wrapT]||1e3,A}))},q.prototype.assignTexture=function(A,e,i){var o=this;return this.getDependency("texture",i.index).then((function(n){if(!n.isCompressedTexture)switch(e){case"aoMap":case"emissiveMap":case"metalnessMap":case"normalMap":case"roughnessMap":n.format=1022}if(void 0===i.texCoord||0==i.texCoord||"aoMap"===e&&1==i.texCoord||console.warn("THREE.GLTFLoader: Custom UV set "+i.texCoord+" for texture "+e+" not yet supported."),o.extensions[t.KHR_TEXTURE_TRANSFORM]){var r=void 0!==i.extensions?i.extensions[t.KHR_TEXTURE_TRANSFORM]:void 0;r&&(n=o.extensions[t.KHR_TEXTURE_TRANSFORM].extendTexture(n,r))}A[e]=n}))},q.prototype.assignFinalMaterial=function(A){var e=A.geometry,t=A.material,i=void 0!==e.attributes.tangent,o=void 0!==e.attributes.color,n=void 0===e.attributes.normal,r=!0===A.isSkinnedMesh,a=Object.keys(e.morphAttributes).length>0,s=a&&void 0!==e.morphAttributes.normal;if(A.isPoints){var l=this.cache.get(h="PointsMaterial:"+t.uuid);l||(l=new Yo,qA.prototype.copy.call(l,t),l.color.copy(t.color),l.map=t.map,l.sizeAttenuation=!1,this.cache.add(h,l)),t=l}else if(A.isLine){var c=this.cache.get(h="LineBasicMaterial:"+t.uuid);c||(c=new ko,qA.prototype.copy.call(c,t),c.color.copy(t.color),this.cache.add(h,c)),t=c}if(i||o||n||r||a){var h="ClonedMaterial:"+t.uuid+":";t.isGLTFSpecularGlossinessMaterial&&(h+="specular-glossiness:"),r&&(h+="skinning:"),i&&(h+="vertex-tangents:"),o&&(h+="vertex-colors:"),n&&(h+="flat-shading:"),a&&(h+="morph-targets:"),s&&(h+="morph-normals:");var d=this.cache.get(h);d||(d=t.clone(),r&&(d.skinning=!0),i&&(d.vertexTangents=!0),o&&(d.vertexColors=!0),n&&(d.flatShading=!0),a&&(d.morphTargets=!0),s&&(d.morphNormals=!0),this.cache.add(h,d)),t=d}t.aoMap&&void 0===e.attributes.uv2&&void 0!==e.attributes.uv&&e.setAttribute("uv2",new YA(e.attributes.uv.array,2)),t.normalScale&&!i&&(t.normalScale.y=-t.normalScale.y),A.material=t},q.prototype.loadMaterial=function(A){var e,i=this.extensions,o=this.json.materials[A],n={},r=o.extensions||{},a=[];if(r[t.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){var l=i[t.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];e=l.getMaterialType(),a.push(l.extendParams(n,o,this))}else if(r[t.KHR_MATERIALS_UNLIT]){var c=i[t.KHR_MATERIALS_UNLIT];e=c.getMaterialType(),a.push(c.extendParams(n,o,this))}else{e=yr;var h=o.pbrMetallicRoughness||{};if(n.color=new LA(1,1,1),n.opacity=1,Array.isArray(h.baseColorFactor)){var d=h.baseColorFactor;n.color.fromArray(d),n.opacity=d[3]}void 0!==h.baseColorTexture&&a.push(this.assignTexture(n,"map",h.baseColorTexture)),n.metalness=void 0!==h.metallicFactor?h.metallicFactor:1,n.roughness=void 0!==h.roughnessFactor?h.roughnessFactor:1,void 0!==h.metallicRoughnessTexture&&(a.push(this.assignTexture(n,"metalnessMap",h.metallicRoughnessTexture)),a.push(this.assignTexture(n,"roughnessMap",h.metallicRoughnessTexture)))}!0===o.doubleSided&&(n.side=2);var p=o.alphaMode||T;return p===D?(n.transparent=!0,n.depthWrite=!1):(n.transparent=!1,p===k&&(n.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5)),void 0!==o.normalTexture&&e!==jA&&(a.push(this.assignTexture(n,"normalMap",o.normalTexture)),n.normalScale=new s(1,1),void 0!==o.normalTexture.scale&&n.normalScale.set(o.normalTexture.scale,o.normalTexture.scale)),void 0!==o.occlusionTexture&&e!==jA&&(a.push(this.assignTexture(n,"aoMap",o.occlusionTexture)),void 0!==o.occlusionTexture.strength&&(n.aoMapIntensity=o.occlusionTexture.strength)),void 0!==o.emissiveFactor&&e!==jA&&(n.emissive=(new LA).fromArray(o.emissiveFactor)),void 0!==o.emissiveTexture&&e!==jA&&a.push(this.assignTexture(n,"emissiveMap",o.emissiveTexture)),Promise.all(a).then((function(){var A;return A=e===g?i[t.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(n):new e(n),o.name&&(A.name=o.name),A.map&&(A.map.encoding=3001),A.emissiveMap&&(A.emissiveMap.encoding=3001),V(A,o),o.extensions&&O(i,A,o),A}))},q.prototype.loadGeometries=function(A){var e=this,i=this.extensions,o=this.primitiveCache;function n(A){return i[t.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(A,e).then((function(t){return j(t,A,e)}))}for(var r,a,s=[],l=0,c=A.length;c>l;l++){var h,d=A[l],p=(a=void 0,(a=(r=d).extensions&&r.extensions[t.KHR_DRACO_MESH_COMPRESSION])?"draco:"+a.bufferView+":"+a.indices+":"+P(a.attributes):r.indices+":"+P(r.attributes)+":"+r.mode),g=o[p];if(g)s.push(g.promise);else h=d.extensions&&d.extensions[t.KHR_DRACO_MESH_COMPRESSION]?n(d):j(new he,d,e),o[p]={primitive:d,promise:h},s.push(h)}return Promise.all(s)},q.prototype.loadMesh=function(A){for(var e,t=this,i=this.json.meshes[A],o=i.primitives,n=[],r=0,a=o.length;a>r;r++){var s=void 0===o[r].material?(void 0===(e=this.cache).DefaultMaterial&&(e.DefaultMaterial=new yr({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),e.DefaultMaterial):this.getDependency("material",o[r].material);n.push(s)}return n.push(t.loadGeometries(o)),Promise.all(n).then((function(e){for(var n=e.slice(0,e.length-1),r=e[e.length-1],a=[],s=0,l=r.length;l>s;s++){var c,h=r[s],d=o[s],p=n[s];if(d.mode===B||d.mode===x||d.mode===S||void 0===d.mode)!0!==(c=!0===i.isSkinnedMesh?new So(h,p):new Ue(h,p)).isSkinnedMesh||c.geometry.attributes.skinWeight.normalized||c.normalizeSkinWeights(),d.mode===x?c.geometry=Y(c.geometry,1):d.mode===S&&(c.geometry=Y(c.geometry,2));else if(d.mode===v)c=new jo(h,p);else if(d.mode===E)c=new Go(h,p);else if(d.mode===I)c=new Ho(h,p);else{if(d.mode!==C)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+d.mode);c=new Xo(h,p)}Object.keys(c.geometry.morphAttributes).length>0&&G(c,i),c.name=i.name||"mesh_"+A,r.length>1&&(c.name+="_"+s),V(c,i),t.assignFinalMaterial(c),a.push(c)}if(1===a.length)return a[0];var g=new Xi;for(s=0,l=a.length;l>s;s++)g.add(a[s]);return g}))},q.prototype.loadCamera=function(A){var e,t=this.json.cameras[A],i=t[t.type];if(i)return"perspective"===t.type?e=new je(a.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):"orthographic"===t.type&&(e=new Ka(i.xmag/-2,i.xmag/2,i.ymag/2,i.ymag/-2,i.znear,i.zfar)),t.name&&(e.name=t.name),V(e,t),Promise.resolve(e);console.warn("THREE.GLTFLoader: Missing camera parameters.")},q.prototype.loadSkin=function(A){var e=this.json.skins[A],t={joints:e.joints};return void 0===e.inverseBindMatrices?Promise.resolve(t):this.getDependency("accessor",e.inverseBindMatrices).then((function(A){return t.inverseBindMatrices=A,t}))},q.prototype.loadAnimation=function(A){for(var e=this.json.animations[A],t=[],i=[],o=[],n=[],r=[],a=0,s=e.channels.length;s>a;a++){var l=e.channels[a],c=e.samplers[l.sampler],h=l.target,d=void 0!==e.parameters?e.parameters[c.input]:c.input,p=void 0!==e.parameters?e.parameters[c.output]:c.output;t.push(this.getDependency("node",void 0!==h.node?h.node:h.id)),i.push(this.getDependency("accessor",d)),o.push(this.getDependency("accessor",p)),n.push(c),r.push(h)}return Promise.all([Promise.all(t),Promise.all(i),Promise.all(o),Promise.all(n),Promise.all(r)]).then((function(t){for(var i=t[0],o=t[1],n=t[2],r=t[3],a=t[4],s=[],l=0,c=i.length;c>l;l++){var h=i[l],d=o[l],p=n[l],g=r[l],u=a[l];if(void 0!==h){var f;switch(h.updateMatrix(),h.matrixAutoUpdate=!0,Q[u.path]){case Q.weights:f=Dr;break;case Q.rotation:f=Nr;break;case Q.position:case Q.scale:default:f=Vr}var C=h.name?h.name:h.uuid,y=void 0!==g.interpolation?R[g.interpolation]:2301,v=[];Q[u.path]===Q.weights?h.traverse((function(A){!0===A.isMesh&&A.morphTargetInfluences&&v.push(A.name?A.name:A.uuid)})):v.push(C);var I=p.array;if(p.normalized){var E;if(I.constructor===Int8Array)E=1/127;else if(I.constructor===Uint8Array)E=1/255;else if(I.constructor==Int16Array)E=1/32767;else{if(I.constructor!==Uint16Array)throw new Error("THREE.GLTFLoader: Unsupported output accessor component type.");E=1/65535}for(var B=new Float32Array(I.length),x=0,S=I.length;S>x;x++)B[x]=I[x]*E;I=B}for(x=0,S=v.length;S>x;x++){var w=new f(v[x]+"."+Q[u.path],d.array,I,y);"CUBICSPLINE"===g.interpolation&&(w.createInterpolant=function(A){return new m(this.times,this.values,this.getValueSize()/3,A)},w.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),s.push(w)}}}return new Gr(e.name?e.name:"animation_"+A,void 0,s)}))},q.prototype.loadNode=function(A){var e,i=this.json,o=this.extensions,n=this,r=i.meshReferences,a=i.meshUses,s=i.nodes[A];return(e=[],void 0!==s.mesh&&e.push(n.getDependency("mesh",s.mesh).then((function(A){var e;if(r[s.mesh]>1){var t=a[s.mesh]++;(e=A.clone()).name+="_instance_"+t}else e=A;return void 0!==s.weights&&e.traverse((function(A){if(A.isMesh)for(var e=0,t=s.weights.length;t>e;e++)A.morphTargetInfluences[e]=s.weights[e]})),e}))),void 0!==s.camera&&e.push(n.getDependency("camera",s.camera)),s.extensions&&s.extensions[t.KHR_LIGHTS_PUNCTUAL]&&void 0!==s.extensions[t.KHR_LIGHTS_PUNCTUAL].light&&e.push(n.getDependency("light",s.extensions[t.KHR_LIGHTS_PUNCTUAL].light)),Promise.all(e)).then((function(A){var e;if((e=!0===s.isBone?new Uo:A.length>1?new Xi:1===A.length?A[0]:new H)!==A[0])for(var t=0,i=A.length;i>t;t++)e.add(A[t]);if(s.name&&(e.userData.name=s.name,e.name=Fs.sanitizeNodeName(s.name)),V(e,s),s.extensions&&O(o,e,s),void 0!==s.matrix){var n=new M;n.fromArray(s.matrix),e.applyMatrix4(n)}else void 0!==s.translation&&e.position.fromArray(s.translation),void 0!==s.rotation&&e.quaternion.fromArray(s.rotation),void 0!==s.scale&&e.scale.fromArray(s.scale);return e}))},q.prototype.loadScene=function(){function A(e,t,i,o){var n=i.nodes[e];return o.getDependency("node",e).then((function(A){return void 0===n.skin?A:o.getDependency("skin",n.skin).then((function(A){for(var t=[],i=0,n=(e=A).joints.length;n>i;i++)t.push(o.getDependency("node",e.joints[i]));return Promise.all(t)})).then((function(t){return A.traverse((function(A){if(A.isMesh){for(var i=[],o=[],n=0,r=t.length;r>n;n++){var a=t[n];if(a){i.push(a);var s=new M;void 0!==e.inverseBindMatrices&&s.fromArray(e.inverseBindMatrices.array,16*n),o.push(s)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',e.joints[n])}A.bind(new bo(i,o),A.matrixWorld)}})),A}));var e})).then((function(e){t.add(e);var r=[];if(n.children)for(var a=n.children,s=0,l=a.length;l>s;s++){r.push(A(a[s],e,i,o))}return Promise.all(r)}))}return function(e){var t=this.json,i=this.extensions,o=this.json.scenes[e],n=new Xi;o.name&&(n.name=o.name),V(n,o),o.extensions&&O(i,n,o);for(var r=o.nodes||[],a=[],s=0,l=r.length;l>s;s++)a.push(A(r[s],n,t,this));return Promise.all(a).then((function(){return n}))}}(),A}(),VC="REPLACE",GC=function A(e,t,i,o){H.call(this);if(this.isRoot=o||!1,o||(this.matrix=kC.getTransfrom(i.transform)),this.refine=i.refine||VC,this.geometricError=i.geometricError||0,this.boundingBox=kC.getBoxFromTileBoundingVolumeBox(i.boundingVolume.box),this.scene=null,this.model=e,this.json=i,this.level=t&&t.level+1||0,this.matrixAutoUpdate=!1,this.hasB3DM=!1,i.content&&(i.content.url.endsWith("json")?this.loadContent(i.content.url):i.content.url.endsWith("b3dm")&&(this.hasB3DM=!0,this.model.tilesList[i.content.url]=this,t&&t.hasB3DM||(this.firstB3DM=!0,this.loadB3DM(i.content.url)))),i.children)for(var n=0,r=i.children.length;r>n;n+=1)this.add(new A(e,this,i.children[n]))};(GC.prototype=Object.create(H.prototype)).loadContent=function(A){var e=this,t=e.model,i=t.dataUrl.tilesUrl(A);function o(){var A=t.fileLoader;A.setResponseType("json"),A.setCacheViable(!0),A.setRequestHeader({Authorization:t.accessToken}),A.load(i,(function(A){var i={};if("string"==typeof A)try{i=JSON.parse(A)}catch(A){return void t.dispatchEventEx({type:Rc.ON_LOAD_INVALID_DATA,modelKey:t.modelKey})}else i=A;e.add(new GC(t,parent,i.root,parent.level+1,!0))}),(function(A,e){switch(A){case 401:t.dispatchEventEx({type:Rc.ACCOUNT_NO_EXIST,modelKey:t.modelKey,data:e});break;case 403:t.dispatchEventEx({type:Rc.NO_PERMISSION,modelKey:t.modelKey,data:e});break;default:t.dispatchEventEx({type:Rc.ON_NETWORK_ERROR,modelKey:t.modelKey,data:A})}}))}if(vc.getDataFromIndexedDB){var n=t.getStorage();n&&n.get(i,(function(A){if(A){var i={};if("string"==typeof A)try{i=JSON.parse(A)}catch(A){return void t.dispatchEventEx({type:Rc.ON_LOAD_INVALID_DATA,modelKey:t.modelKey})}else i=A;e.add(new GC(t,parent,i.root,!0))}else o()}),(function(){o()}))}else o()},GC.prototype.loadB3DM=function(A){var e=this,t=e.model;e.loaderManager=new wu,e.loaderManager.model=t;var i=new OC(e.loaderManager);function o(A){e.scene=A,e.loading=!1,e.loaded=!0,e.add(A.scene),t.tileLoadFinish()}e.loading=!0;var n=t.dataUrl.b3dmUrl(A||e.json.content.url);if(vc.getDataFromIndexedDB){var r=t.getStorage();r&&r.get(n,(function(t){t?i.parse(t,A||e.json.content.url,o):i.load(n,o)}),(function(){i.load(n,o)}))}else i.load(n,o)};var PC=function(A,e,t,i){TC.call(this,A,e,t,i),this.configLoader=new DC(this),this.tilesList={},this.isTilesModel=!0};(PC.prototype=Object.create(TC.prototype)).load=function(A){var e=this;this.configLoader.load((function(){e.parseCfgFinish&&e.parseCfgFinish(),e.manager.updateScene(),e.group.add(new GC(e,null,e.configLoader.config.root,!0)),e.loaded=!0}))},PC.prototype.tileLoadStart=function(){},PC.prototype.tileLoadFinish=function(){this.group.updateMatrixWorld(!0,!0),this.manager.viewerImpl.render()},PC.prototype.tileUnloadStart=function(){},PC.prototype.tileUnloadFinish=function(){},PC.prototype.checkTilesDataChanged=function(A){for(var e in Bh.time("checkTilesDataChanged"),this.tilesList)if(this.tilesList.hasOwnProperty(e)){var t=this.tilesList[e];this.tilesNeedLoad(t.boundingBox.getCenter((new y).applyMatrix4(t.parent.matrixWorld).applyMatrix4(t.matrix)),t.boundingBox.getSize(new y).length())||t.firstB3DM?t.scene||t.loading?t.visible=!0:t.loadB3DM():A?(t.remove(t.scene),t.scene=null):t.visible=!1}Bh.timeEnd("checkTilesDataChanged")},PC.prototype.tilesNeedLoad=function(A,e){var t,i=this.manager.cameraFov;return t=(e||0)*this.manager.domElementWidth/(2*this.manager.cameraPosition.clone().sub(A).length()*Math.tan(i/2)),Bh.debug("几何误差:",t),t>vc.geometricErrorThresholdValue};var qC=function(){this.size=0,this.counter=0,this.expansion=1,this._pool=null};qC.prototype.init=function(A,e){this.classType=A,this._pool=[],this._expand(e)},qC.prototype._expand=function(A){this.size+=A;for(var e=0;A>e;e+=1)this._pool.push(new this.classType)},qC.prototype.acquire=function(){return this.size>this.counter||(this.expansion=Math.round(1.2*this.expansion)+1,this._expand(this.expansion)),this._pool[this.counter++]},qC.prototype.clear=function(){this.counter=0},qC.prototype.destroy=function(){for(var A=0,e=this.size;e>A;A+=1)this._pool[A].destroy();this.counter=0,this.size=0,this.expansion=1,this._pool=null},qC.prototype.getObjects=function(){return this._pool};var jC=function(A){Pe.call(this),this.type="PhoneLightingMaterial",this.color=new LA(16777215),this.specular=new LA(1118481),this.shininess=30,this.emissive=new LA(0),this.map=null,this.shadowMapEnabled=!1,this.defines={},this.uniforms=Ge.merge([Xe.common,Xe.lights,{diffuse:{value:new LA(16711680)},opacity:{value:1},specular:{value:new LA(1118481)},shininess:{value:30},emissive:{value:new LA(0)}}]),this.vertexShader=["varying vec3 vViewPosition;","varying vec3 vNormal;","#include <uv_pars_vertex>","void main() {"," #include <uv_vertex>"," #include <begin_vertex>"," #include <project_vertex>"," #include <beginnormal_vertex>"," #include <defaultnormal_vertex>"," vNormal = normalize( transformedNormal );"," vViewPosition = - mvPosition.xyz;","}"].join("\n"),this.fragmentShader=["uniform vec3 diffuse;","uniform float opacity;","uniform vec3 specular;","uniform float shininess;","uniform vec3 emissive;","#include <common>","#include <uv_pars_fragment>","#include <map_pars_fragment>","#include <packing>","#include <bsdfs>","#include <lights_pars_begin>","#include <lights_phong_pars_fragment>","#include <specularmap_pars_fragment>","void main() {"," vec4 diffuseColor = vec4( diffuse, opacity );","#ifdef USE_MAP"," vec4 texelColor = texture2D( map, vUv );"," texelColor = mapTexelToLinear( texelColor );"," diffuseColor = vec4(texelColor.rgb, opacity);","#endif"," ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );"," vec3 totalEmissiveRadiance = emissive;"," float specularStrength = 1.0;"," #include <normal_flip>"," #include <normal_fragment>"," gl_FragColor = linearToOutputTexel( diffuseColor );","}"].join("\n"),this.lights=!1,this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},void 0!==A&&(void 0!==A.attributes&&console.error("PhoneLightingMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(A)),this.refreshUniforms()};(jC.prototype=Object.create(Pe.prototype)).constructor=jC,jC.prototype.isShaderMaterial=!0,jC.prototype.copy=function(A){return Pe.prototype.copy.call(this,A),this.color.copy(A.color),this.specular.copy(A.specular),this.shininess=A.shininess,this.emissive.copy(A.emissive),this},jC.prototype.refreshUniforms=function(){this.uniforms.diffuse.value.set(this.color),this.uniforms.opacity.value=this.opacity,this.uniforms.specular.value.set(this.specular),this.uniforms.shininess.value=this.shininess,this.uniforms.emissive.value.set(this.emissive),this.uniforms.map.value=this.map};var HC=function(A,e){ep.call(this,gp.CLIPPLANE,{priority:20});var t=[];t.push("clipPlane_right"),t.push("clipPlane_left"),t.push("clipPlane_back"),t.push("clipPlane_front"),t.push("clipPlane_top"),t.push("clipPlane_bottom"),this.cubeSize=A.clone(),this.center=e.clone(),this.visible=!1,this.rotatable=!1,this.selectIndex=null,this.planeOffset=new Array(6),this.planeRotate=[0,0,0],this.observer=null,this.uniforms={iClipPlane:{type:"i",value:0},vClipPlane:{type:"v4v",value:[new p,new p,new p,new p,new p,new p]}},this.clipplanes=null,this.calculation=!0,this.boundingBox=new aA,this.calculateClipBoundingBox=function(A){this.boundingBox.makeEmpty();for(var e=new y,t=0;A.length>t;t+=1){var i=A[t].coplanarPoint(e);0!==i.x&&(i.x>this.boundingBox.max.x?this.boundingBox.max.x=i.x:this.boundingBox.min.x>i.x&&(this.boundingBox.min.x=i.x)),0!==i.y&&(i.y>this.boundingBox.max.y?this.boundingBox.max.y=i.y:this.boundingBox.min.y>i.y&&(this.boundingBox.min.y=i.y)),0!==i.z&&(i.z>this.boundingBox.max.z?this.boundingBox.max.z=i.z:this.boundingBox.min.z>i.z&&(this.boundingBox.min.z=i.z))}},this.getClipBoundingBox=function(){return this.boundingBox},this.isVisible=function(){return this.visible},this.getPlaneNormal=function(A){var e=new p,t=Math.floor(A/2);return e.setComponent(t,Math.pow(-1,A%2)),e.w=.5*-this.cubeSize.getComponent(t),this.planeOffset[A]=0,e},this.planeMaterial=new jC({color:8158334,opacity:.3,transparent:!0,side:0,lights:!1}),this.planeHighLightMatrial=new jC({color:255,opacity:.3,transparent:!0,side:0,lights:!1}),this.initPlaneModel=function(A){var e=Math.floor(A/2),i=A%2,o=new Ue(new et(0===e?this.cubeSize.z:this.cubeSize.x,1===e?this.cubeSize.z:this.cubeSize.y),this.planeMaterial);switch(o.name=t[A],o.customTag=!0,o.position.setComponent(e,Math.pow(-1,i)*this.cubeSize.getComponent(e)*.5),A){case 0:o.rotation.y=.5*Math.PI;break;case 1:o.rotation.y=.5*-Math.PI;break;case 2:o.rotation.x=.5*-Math.PI;break;case 3:o.rotation.x=.5*Math.PI;break;case 4:break;case 5:o.rotation.x=Math.PI}o.renderOrder=90,this.add(o)},this.initCapsBox=function(){if(this.boxMesh)return this.boxMesh;var A=new Ne(this.cubeSize.x,this.cubeSize.y,this.cubeSize.z);A.groups=null;var e=new Ue(A,new jC({color:16776960,side:2,stencilWrite:!0,stencilFunc:515,stencilRef:1,stencilFuncMask:255,stencilFail:7680,stencilZFail:7680,stencilZPass:7680}));return e.matrixWorld=this.matrixWorld,e.matrix=this.matrix,e.name="capsBox",this.boxMesh=e,e},this.initWireframes=function(){var A=[.5*-this.cubeSize.x,.5*-this.cubeSize.y,.5*-this.cubeSize.z,.5*this.cubeSize.x,.5*-this.cubeSize.y,.5*-this.cubeSize.z,.5*this.cubeSize.x,.5*this.cubeSize.y,.5*-this.cubeSize.z,.5*-this.cubeSize.x,.5*this.cubeSize.y,.5*-this.cubeSize.z,.5*-this.cubeSize.x,.5*-this.cubeSize.y,.5*this.cubeSize.z,.5*this.cubeSize.x,.5*-this.cubeSize.y,.5*this.cubeSize.z,.5*this.cubeSize.x,.5*this.cubeSize.y,.5*this.cubeSize.z,.5*-this.cubeSize.x,.5*this.cubeSize.y,.5*this.cubeSize.z],e=new he,t=new jC({color:0,lights:!0});e.setIndex([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,3,7,1,5,2,6]),e.setAttribute("position",new Ae(A,3)),e.setAttribute("color",new Ae([1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],3)),e.computeBoundingSphere();var i=new jo(e,t);i.name="Wireframes",i.customTag=!0,this.add(i)},this.updateClippingParams=function(A){},this.enable=function(A,e){this.visible=e,this.uniforms.iClipPlane.value=A?6:0,this.updateClippingParams(this.uniforms),this.boxMesh&&(this.boxMesh.visible=e)},this.isEnabled=function(){return 0!==this.uniforms.iClipPlane.value};var i=function(A,e,t,i,o,n,r,a,s,l,c,h){this.enable=A,this.visible=e,this.rotatable=t,this.calculation=i,this.planeOffset=o.slice(0),this.planeRotate=n.slice(0),this.position=r,this.scale=a,this.quaternion=s,this.cubeSize=l,this.center=c,this.boundingBox=h};this.store=function(){return new i(!!this.uniforms.iClipPlane.value,this.visible,this.rotatable,this.calculation,this.planeOffset,this.planeRotate,this.position.clone(),this.scale.clone(),this.quaternion.clone(),this.cubeSize.clone(),this.center.clone(),this.boundingBox.clone())},this.restore=function(A){this.calculation=!0,this.calculationPlanes(A.cubeSize,A.center),this.enable(A.enable,A.visible),this.rotatable=A.rotatable,this.calculation=A.calculation;for(var e=0;6>e;e+=1)this.planeOffset[e]=A.planeOffset[e];for(var t=0;3>t;t+=1)this.planeRotate[t]=A.planeRotate[t];this.position.copy(A.position),this.scale.copy(A.scale),this.quaternion._w=A.quaternion._w,this.quaternion._x=A.quaternion._x,this.quaternion._y=A.quaternion._y,this.quaternion._z=A.quaternion._z,this.update()},this.reset=function(){this.calculation=!0;for(var A=0;6>A;A+=1)this.planeOffset[A]=0;for(A=0;3>A;A+=1)this.planeRotate[A]=0;this.position.copy(this.center),this.scale.copy(new y(1,1,1)),this.quaternion.copy(new f),this.update()},this.calculationPlanes=function(A,e,t){if(this.calculation||t){this.cubeSize.copy(A),this.center.copy(e);for(var i=this.children.length-1;i>=0;i-=1)this.remove(this.children[i]);for(i=0;6>i;i+=1)this.uniforms.vClipPlane.value[i]=this.getPlaneNormal(i),this.initPlaneModel(i);this.initWireframes(),this.clipplanes=this.uniforms.vClipPlane.value.slice(0),this.reset()}},this.update=function(){this.updateMatrixWorld();var A=new M;A.getInverse(this.matrix),A.transpose();for(var e=0;6>e;e+=1)this.uniforms.vClipPlane.value[e]=this.clipplanes[e].clone().applyMatrix4(A);this.updateClippingParams(this.uniforms),this.observer&&this.observer()},this.offset=function(A,e){this.calculation=!1;var t=Math.floor(A/2);this.cubeSize.getComponent(t);A%2==0&&this.planeOffset[A]+e>0&&(e=-this.planeOffset[A]),A%2==1&&0>this.planeOffset[A]+e&&(e=-this.planeOffset[A]),this.planeOffset[A]+=e;for(var i=new y,o=0;6>o;o+=1){var n=this.clipplanes[o].clone(),r=this.planeOffset[o],a=new y(n.x*r,n.y*r,n.z*r);i.add(a)}var s=1+i.getComponent(t)/this.cubeSize.getComponent(t);if((s=0===s?1e-5:s)>0){this.scale.setComponent(t,s);var l=this.uniforms.vClipPlane.value[A].clone(),c=new y(l.x,l.y,l.z);c.normalize();var h=new y(c.x*(a=e),c.y*a,c.z*a);A%2==1?this.position.sub(h.multiplyScalar(.5)):this.position.add(h.multiplyScalar(.5)),this.update()}else this.planeOffset[A]-=e};var o=new f,n=new y(1,0,0);this.rotX=function(A){this.calculation=!1,o.setFromAxisAngle(n,A),this.quaternion.multiply(o),this.update()};var r=new y(0,1,0);this.rotY=function(A){this.calculation=!1,o.setFromAxisAngle(r,A),this.quaternion.multiply(o),this.update()},this.setSectionBox=function(A,e){this.calculation=!0;var t=new y(e.x-A.x,e.y-A.y,e.z-A.z),i=new y(.5*(A.x+e.x),.5*(A.y+e.y),.5*(A.z+e.z));this.calculationPlanes(t,i)},this.calculateOffsetByBox=function(A,e){var t=e.x-this.center.x-.5*this.cubeSize.x;this.planeOffset[0]>t?(this.moveSectionPlane("left",this.center.x-.5*this.cubeSize.x-A.x),this.moveSectionPlane("right",t)):(this.moveSectionPlane("right",t),this.moveSectionPlane("left",this.center.x-.5*this.cubeSize.x-A.x));var i=e.y-this.center.y-.5*this.cubeSize.y;this.planeOffset[2]>i?(this.moveSectionPlane("bottom",this.center.y-.5*this.cubeSize.y-A.y),this.moveSectionPlane("top",i)):(this.moveSectionPlane("top",i),this.moveSectionPlane("bottom",this.center.y-.5*this.cubeSize.y-A.y));var o=e.z-this.center.z-.5*this.cubeSize.z;this.planeOffset[4]>o?(this.moveSectionPlane("back",this.center.z-.5*this.cubeSize.z-A.z),this.moveSectionPlane("front",o)):(this.moveSectionPlane("front",o),this.moveSectionPlane("back",this.center.z-.5*this.cubeSize.z-A.z))},this.getPlaneIndexByName=function(A){var e=-1;return"right"===A?e=0:"left"===A?e=1:"top"===A?e=2:"bottom"===A?e=3:"front"===A?e=4:"back"===A&&(e=5),e},this.moveSectionPlane=function(A,e){var t=this.getPlaneIndexByName(A);-1!==t&&(t%2!=0&&(e=-e),this.offset(t,e-this.planeOffset[t]))},this.recalculate=function(){return this.filter.getVisibleComponentsBbox()},this.setProcess=function(A,e){var t=this.getPlaneIndexByName(A),i=0;(2>t?i=this.cubeSize.x:4>t?i=this.cubeSize.y:6>t&&(i=this.cubeSize.z),e>1?e=1:0>e&&(e=0),-1!==t)&&(t%2!=1&&(e=-e),this.offset(t,e*i-this.planeOffset[t]))},this.getProcess=function(A){var e=this.getPlaneIndexByName(A);-1===e&&console.log("faceName is illegal");var t=0;2>e?t=this.cubeSize.x:4>e?t=this.cubeSize.y:6>e&&(t=this.cubeSize.z);var i=1;e%2!=1&&(i=-1);var o=i*this.planeOffset[e]/t;return o>1?o=1:0>o&&(o=0),o};var a=new y(0,0,1);this.rotateSectionBox=function(A,e){"x"===A?this.planeRotate[0]=e:"y"===A?this.planeRotate[1]=e:"z"===A&&(this.planeRotate[2]=e),this.calculation=!0;var t=new f;t.setFromAxisAngle(n,this.planeRotate[0]);var i=new f;i.setFromAxisAngle(r,this.planeRotate[1]);var o=new f;o.setFromAxisAngle(a,this.planeRotate[2]);var s=new f;s.multiply(t),s.multiply(i),s.multiply(o),this.quaternion.copy(s),this.update()},this.highLight=function(){null!==this.selectIndex&&(this.children[this.selectIndex].material=this.planeHighLightMatrial)},this.cancelHighLight=function(){null!==this.selectIndex&&(this.children[this.selectIndex].material=this.planeMaterial,this.selectIndex=null)}};(HC.prototype=Object.create(ep.prototype)).constructor=HC,HC.prototype.init=function(){this.calculationPlanes(this.cubeSize,this.center)},HC.prototype.hitTest=function(A){var e=null,t=null;if(this.raycast(A),null!==this.selectIndex){var i=A.ray,o=new EA,n=this.uniforms.vClipPlane.value[this.selectIndex];o.setComponents(n.x,n.y,n.z,n.w),e=i.distanceToPlane(o),t=0>i.direction.dot(o.normal)}return{sign:t,distance:e}},HC.prototype.raycast=function(A){if(this.visible){var e=[],t=null;this.selectIndex=null;for(var i=0;6>i;i+=1)if(this.children[i].raycast(A,e),e.length>0){var o=e.pop();t&&o.distance>=t.distance||(t=o,this.selectIndex=i),e=[]}}},Xe.line={linewidth:{value:1},resolution:{value:new s(1,1)},dashScale:{value:1},dashSize:{value:1},dashOffset:{value:0},gapSize:{value:1},opacity:{value:1}},it.line={uniforms:Ge.merge([Xe.common,Xe.fog,Xe.line]),vertexShader:"\n #include <common>\n #include <color_pars_vertex>\n #include <fog_pars_vertex>\n #include <logdepthbuf_pars_vertex>\n #include <clipping_planes_pars_vertex>\n\n uniform float linewidth;\n uniform vec2 resolution;\n\n attribute vec3 instanceStart;\n attribute vec3 instanceEnd;\n\n attribute vec3 instanceColorStart;\n attribute vec3 instanceColorEnd;\n\n varying vec2 vUv;\n\n #ifdef USE_DASH\n\n uniform float dashScale;\n attribute float instanceDistanceStart;\n attribute float instanceDistanceEnd;\n varying float vLineDistance;\n\n #endif\n\n void trimSegment( const in vec4 start, inout vec4 end ) {\n\n // trim end segment so it terminates between the camera plane and the near plane\n\n // conservative estimate of the near plane\n float a = projectionMatrix[ 2 ][ 2 ]; // 3nd entry in 3th column\n float b = projectionMatrix[ 3 ][ 2 ]; // 3nd entry in 4th column\n float nearEstimate = - 0.5 * b / a;\n\n float alpha = ( nearEstimate - start.z ) / ( end.z - start.z );\n\n end.xyz = mix( start.xyz, end.xyz, alpha );\n\n }\n\n void main() {\n\n #ifdef USE_COLOR\n\n vColor.xyz = ( position.y < 0.5 ) ? instanceColorStart : instanceColorEnd;\n\n #endif\n\n #ifdef USE_DASH\n\n vLineDistance = ( position.y < 0.5 ) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n\n #endif\n\n float aspect = resolution.x / resolution.y;\n\n vUv = uv;\n\n // camera space\n vec4 start = modelViewMatrix * vec4( instanceStart, 1.0 );\n vec4 end = modelViewMatrix * vec4( instanceEnd, 1.0 );\n\n // special case for perspective projection, and segments that terminate either in, or behind, the camera plane\n // clearly the gpu firmware has a way of addressing this issue when projecting into ndc space\n // but we need to perform ndc-space calculations in the shader, so we must address this issue directly\n // perhaps there is a more elegant solution -- WestLangley\n\n bool perspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 ); // 4th entry in the 3rd column\n\n if ( perspective ) {\n\n if ( start.z < 0.0 && end.z >= 0.0 ) {\n\n trimSegment( start, end );\n\n } else if ( end.z < 0.0 && start.z >= 0.0 ) {\n\n trimSegment( end, start );\n\n }\n\n }\n\n // clip space\n vec4 clipStart = projectionMatrix * start;\n vec4 clipEnd = projectionMatrix * end;\n\n // ndc space\n vec2 ndcStart = clipStart.xy / clipStart.w;\n vec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n // direction\n vec2 dir = ndcEnd - ndcStart;\n\n // account for clip-space aspect ratio\n dir.x *= aspect;\n dir = normalize( dir );\n\n // perpendicular to dir\n vec2 offset = vec2( dir.y, - dir.x );\n\n // undo aspect ratio adjustment\n dir.x /= aspect;\n offset.x /= aspect;\n\n // sign flip\n if ( position.x < 0.0 ) offset *= - 1.0;\n\n // endcaps\n if ( position.y < 0.0 ) {\n\n offset += - dir;\n\n } else if ( position.y > 1.0 ) {\n\n offset += dir;\n\n }\n\n // adjust for linewidth\n offset *= linewidth;\n\n // adjust for clip-space to screen-space conversion // maybe resolution should be based on viewport ...\n offset /= resolution.y;\n\n // select end\n vec4 clip = ( position.y < 0.5 ) ? clipStart : clipEnd;\n\n // back to clip space\n offset *= clip.w;\n\n clip.xy += offset;\n\n gl_Position = clip;\n\n vec4 mvPosition = ( position.y < 0.5 ) ? start : end; // this is an approximation\n\n #include <logdepthbuf_vertex>\n #include <clipping_planes_vertex>\n #include <fog_vertex>\n\n }\n ",fragmentShader:"\n uniform vec3 diffuse;\n uniform float opacity;\n\n #ifdef USE_DASH\n\n uniform float dashSize;\n uniform float dashOffset;\n uniform float gapSize;\n\n #endif\n\n varying float vLineDistance;\n\n #include <common>\n #include <color_pars_fragment>\n #include <fog_pars_fragment>\n #include <logdepthbuf_pars_fragment>\n #include <clipping_planes_pars_fragment>\n\n varying vec2 vUv;\n\n void main() {\n\n #include <clipping_planes_fragment>\n\n #ifdef USE_DASH\n\n if ( vUv.y < - 1.0 || vUv.y > 1.0 ) discard; // discard endcaps\n\n if ( mod( vLineDistance + dashOffset, dashSize + gapSize ) > dashSize ) discard; // todo - FIX\n\n #endif\n\n if ( abs( vUv.y ) > 1.0 ) {\n\n float a = vUv.x;\n float b = ( vUv.y > 0.0 ) ? vUv.y - 1.0 : vUv.y + 1.0;\n float len2 = a * a + b * b;\n\n if ( len2 > 1.0 ) discard;\n\n }\n\n vec4 diffuseColor = vec4( diffuse, opacity );\n\n #include <logdepthbuf_fragment>\n #include <color_fragment>\n\n gl_FragColor = vec4( diffuseColor.rgb, diffuseColor.a );\n\n #include <tonemapping_fragment>\n #include <encodings_fragment>\n #include <fog_fragment>\n #include <premultiplied_alpha_fragment>\n\n }\n "};var YC=function(A){Pe.call(this,{type:"LineMaterial",uniforms:Ge.clone(it.line.uniforms),vertexShader:it.line.vertexShader,fragmentShader:it.line.fragmentShader,clipping:!0}),this.dashed=!1,Object.defineProperties(this,{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(A){this.uniforms.diffuse.value=A}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(A){this.uniforms.linewidth.value=A}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(A){this.uniforms.dashScale.value=A}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(A){this.uniforms.dashSize.value=A}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(A){this.uniforms.dashOffset.value=A}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(A){this.uniforms.gapSize.value=A}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(A){this.uniforms.resolution.value.copy(A)}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(A){this.uniforms.opacity.value=A}}}),this.setValues(A)};(YC.prototype=Object.create(Pe.prototype)).constructor=YC,YC.prototype.isLineMaterial=!0;var WC,JC=function(){Na.call(this),this.type="LineSegmentsGeometry";this.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),this.setAttribute("position",new Ae([-1,2,0,1,2,0,-1,1,0,1,1,0,-1,0,0,1,0,0,-1,-1,0,1,-1,0],3)),this.setAttribute("uv",new Ae([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2))};JC.prototype=Object.assign(Object.create(Na.prototype),{constructor:JC,isLineSegmentsGeometry:!0,applyMatrix4:function(A){var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;return void 0!==e&&(e.applyMatrix4(A),t.applyMatrix4(A),e.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},setPositions:function(A){var e=null;A instanceof Float32Array?e=A:Array.isArray(A)&&(e=new Float32Array(A));var t=new ks(e,6,1);return this.setAttribute("instanceStart",new no(t,3,0)),this.setAttribute("instanceEnd",new no(t,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this},setColors:function(A){var e=null;A instanceof Float32Array?e=A:Array.isArray(A)&&(e=new Float32Array(A));var t=new ks(e,6,1);return this.setAttribute("instanceColorStart",new no(t,3,0)),this.setAttribute("instanceColorEnd",new no(t,3,3)),this},fromWireframeGeometry:function(A){return this.setPositions(A.attributes.position.array),this},fromEdgesGeometry:function(A){return this.setPositions(A.attributes.position.array),this},fromMesh:function(A){return this.fromWireframeGeometry(new on(A.geometry)),this},fromLineSegements:function(A){var e=A.geometry;return e.isGeometry?this.setPositions(e.vertices):e.isBufferGeometry&&this.setPositions(e.attributes.position.array),this},computeBoundingBox:function(){var A=new aA;return function(){null===this.boundingBox&&(this.boundingBox=new aA);var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;void 0!==e&&void 0!==t&&(this.boundingBox.setFromBufferAttribute(e),A.setFromBufferAttribute(t),this.boundingBox.union(A))}}(),computeBoundingSphere:(WC=new y,function(){null===this.boundingSphere&&(this.boundingSphere=new cA),null===this.boundingBox&&this.computeBoundingBox();var A=this.attributes.instanceStart,e=this.attributes.instanceEnd;if(void 0!==A&&void 0!==e){var t=this.boundingSphere.center;this.boundingBox.getCenter(t);for(var i=0,o=0,n=A.count;n>o;o+=1)WC.fromBufferAttribute(A,o),i=Math.max(i,t.distanceToSquared(WC)),WC.fromBufferAttribute(e,o),i=Math.max(i,t.distanceToSquared(WC));this.boundingSphere.radius=Math.sqrt(i),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}),toJSON:function(){},applyMatrix:function(A){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(A)}});var zC,ZC,XC=function(A,e){void 0===A&&(A=new JC),void 0===e&&(e=new YC({color:16777215*Math.random()})),Ue.call(this,A,e),this.type="LineSegments2"};XC.prototype=Object.assign(Object.create(Ue.prototype),{constructor:XC,isLineSegments2:!0,computeLineDistances:(zC=new y,ZC=new y,function(){for(var A=this.geometry,e=A.attributes.instanceStart,t=A.attributes.instanceEnd,i=new Float32Array(2*e.data.count),o=0,n=0,r=e.data.count;r>o;o+=1,n+=2)zC.fromBufferAttribute(e,o),ZC.fromBufferAttribute(t,o),i[n]=0===n?0:i[n-1],i[n+1]=i[n]+zC.distanceTo(ZC);var a=new ks(i,2,1);return A.setAttribute("instanceDistanceStart",new no(a,1,0)),A.setAttribute("instanceDistanceEnd",new no(a,1,1)),this}),raycast:function(){var A=new p,e=new p,t=new p,i=new y,o=new M,n=new Hs,r=new y;return function(s,l){null===s.camera&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var c=s.ray,h=s.camera,d=h.projectionMatrix,p=this.geometry,g=this.material,u=g.resolution,f=g.linewidth+(void 0!==s.params.Line2&&s.params.Line2.threshold||0),m=p.attributes.instanceStart,C=p.attributes.instanceEnd;c.at(1,t),t.w=1,t.applyMatrix4(h.matrixWorldInverse),t.applyMatrix4(d),t.multiplyScalar(1/t.w),t.x*=u.x/2,t.y*=u.y/2,t.z=0,i.copy(t);var v=this.matrixWorld;o.multiplyMatrices(h.matrixWorldInverse,v);for(var I=0,E=m.count;E>I;I+=1){if(A.fromBufferAttribute(m,I),e.fromBufferAttribute(C,I),A.w=1,e.w=1,A.applyMatrix4(o),e.applyMatrix4(o),A.applyMatrix4(d),e.applyMatrix4(d),A.multiplyScalar(1/A.w),e.multiplyScalar(1/e.w),!(-1>A.z&&-1>e.z)&&!(A.z>1&&e.z>1)){A.x*=u.x/2,A.y*=u.y/2,e.x*=u.x/2,e.y*=u.y/2,n.start.copy(A),n.start.z=0,n.end.copy(e),n.end.z=0;var B=n.closestPointToPointParameter(i,!0);n.at(B,r);var x=a.lerp(A.z,e.z,B),S=x>=-1&&1>=x,w=i.distanceTo(r)<.5*f;if(S&&w){n.start.fromBufferAttribute(m,I),n.end.fromBufferAttribute(C,I),n.start.applyMatrix4(v),n.end.applyMatrix4(v);var M=new y,b=new y;c.distanceSqToSegment(n.start,n.end,b,M),l.push({point:b,pointOnLine:M,distance:c.origin.distanceTo(b),object:this,face:null,faceIndex:I,uv:null,uv2:null})}}}}}()});var _C=function(A,e){ep.call(this,gp.FILLCLIPPLANE,{priority:20}),this.cubeSize=A.clone(),this.originBoundingBox=(new aA).setFromCenterAndSize(e,A),this.boundingBox=this.originBoundingBox.clone(),this.center=e.clone(),this.length=.8*this.originBoundingBox.getSize(new y).length(),this.planeOffset=0,this.normalIndex=3,this.visible=!1,this.rotatable=!1,this.hit=!1,this.clipplane=new p,this.observer=null,this.renderClipPlane=new EA,this.angleA=0,this.angleB=0,this.uniforms={iClipPlane:{value:0},vClipPlane:{value:new Array(new p)}},this.planeMaterial=new jC({color:6724044,opacity:.3,transparent:!0,side:2,lights:!0}),this.planeMaterial.visible=!1,this.planeHighLightMatrial=new jC({color:6724044,opacity:.3,transparent:!0,side:2,lights:!0}),this.initPlaneModel=function(){for(var A=this.children.length-1;A>=0;A-=1)this.remove(this.children[A]);this.planeOffset=0;var e=this.length,t=new Ue(new At(e,e),this.planeMaterial);t.name="fillClipPlane",t.customTag=!0,t.renderOrder=90,this.position.copy(this.center),this.clipplane.set(0,0,1,0),this.planeMesh=t,this.add(t)},this.initWireframes=function(){var A=.5*this.length,e=[-A,A,0,A,A,0,-A,-A,0,A,-A,0],t=new he,i=new jC({color:2003199,lights:!0});t.setIndex([0,1,1,3,3,2,2,0]),t.setAttribute("position",new Ae(e,3));var o=new jo(t,i);o.name="Wireframes",o.customTag=!0,this.wireframeMesh=o,this.add(o)},this.getCoordinate=function(){var A=.5*this.length,e=new y(-A,A,0);e.applyMatrix4(this.matrix);var t=new y(A,A,0);t.applyMatrix4(this.matrix);var i=new y(-A,-A,0);return i.applyMatrix4(this.matrix),{axisX:e.clone().sub(t).normalize(),axisY:e.clone().sub(i).normalize()}},this.initCapsPlane=function(){if(this.capPlane)return this.capPlane;this.planeMesh||this.initPlaneModel();var A=this.length,e=new Ue(new At(A,A),new jC({color:16776960,side:2,stencilWrite:!0,stencilFunc:515,stencilRef:1,stencilFuncMask:255,stencilFail:7680,stencilZFail:7680,stencilZPass:7680})),t=this.planeMesh;e.matrixWorld=t.matrixWorld,e.matrix=this.matrix;for(var i=.5*this.length,o=.01*this.length,n=[],r=i-o;r>-i;r-=o)n.push(r,i,0),n.push(i,r,0);for(r=-i+o;i>r;r+=o)n.push(-i,r,0),n.push(r,-i,0);var a=new YC({color:2236962,stencilWrite:!0,stencilFunc:515,stencilRef:1,stencilFuncMask:255,stencilFail:7680,stencilZFail:7680,stencilZPass:7680});a.linewidth=1,a.resolution.set(window.innerWidth,window.innerHeight),a.depthTest=!1;var s=new JC;s.setPositions(n);var l=new XC(s,a);return l.matrix=this.matrix,l.matrixWorld=t.matrixWorld,this.capPlane={planeMesh:e,lineMesh:l},this.capPlane},this.updateClippingParams=function(A){},this.getFillClipBoundingBox=function(){return this.boundingBox},this.calculateFillClipBoundingBox=function(A){this.boundingBox=this.originBoundingBox.clone(),0!==this.clipplane.x?1===this.clipplane.x?this.boundingBox.max.x=A.x:this.boundingBox.min.x=A.x:0!==this.clipplane.y?1===this.clipplane.y?this.boundingBox.max.y=A.y:this.boundingBox.min.y=A.y:0!==this.clipplane.z&&(1===this.clipplane.z?this.boundingBox.max.z=A.z:this.boundingBox.min.z=A.z)},this.enable=function(A,e){this.visible=e,this.uniforms.iClipPlane.value=A?1:0,this.capPlane&&(this.capPlane.lineMesh.visible=e,this.capPlane.planeMesh.visible=e),this.update()},this.isEnabled=function(){return 0!==this.uniforms.iClipPlane.value},this.update=function(){this.updateMatrixWorld();var A=new M;A.getInverse(this.matrix),A.transpose(),this.uniforms.vClipPlane.value[0]=this.clipplane.clone().applyMatrix4(A),this.updateClippingParams(this.uniforms),this.observer&&this.observer()},this.getClipPlane=function(){return this.clipplane.clone()},this.offset=function(A){var e=this.cubeSize.length();this.planeOffset+=A,Math.abs(this.planeOffset)>.5*e&&(this.planeOffset=this.planeOffset>0?.5*e:.5*-e);var t=this.uniforms.vClipPlane.value[0].clone(),i=new y(t.x,t.y,t.z);i.normalize();var o=new y(i.x*this.planeOffset,i.y*this.planeOffset,i.z*this.planeOffset);this.position.copy(this.center).add(o),this.update()},this.setOffset=function(A){var e=this.cubeSize.length();this.planeOffset=A,Math.abs(A)>.5*e&&(this.planeOffset=A>0?.5*e:.5*-e);var t=this.uniforms.vClipPlane.value[0].clone(),i=new y(t.x,t.y,t.z);i.normalize();var o=new y(i.x*this.planeOffset,i.y*this.planeOffset,i.z*this.planeOffset);this.position.copy(this.center).add(o),this.update()},this.changeNormal=function(A){this.quaternion.set(0,0,0,1),this.angleA=0,this.angleB=0,this.setNormal(A)},this.setNormal=function(A){var e=this.planeMesh,t=this.wireframeMesh;0===A?(this.clipplane.set(1,0,0,0),e.rotation.set(0,Math.PI/2,0),t.rotation.set(0,Math.PI/2,0)):1===A?(this.clipplane.set(-1,0,0,0),e.rotation.set(0,-Math.PI/2,0),t.rotation.set(0,-Math.PI/2,0)):2===A?(this.clipplane.set(0,0,1,0),e.rotation.set(Math.PI,0,0),t.rotation.set(Math.PI,0,0)):3===A?(this.clipplane.set(0,0,-1,0),e.rotation.set(0,0,0),t.rotation.set(0,0,0)):4===A?(this.clipplane.set(0,1,0,0),e.rotation.set(-Math.PI/2,0,0),t.rotation.set(-Math.PI/2,0,0)):5===A&&(this.clipplane.set(0,-1,0,0),e.rotation.set(Math.PI/2,0,0),t.rotation.set(Math.PI/2,0,0)),this.normalIndex=A,e.updateMatrixWorld(),t.updateMatrixWorld(),this.capPlane&&(this.capPlane.planeMesh.matrixWorld=e.matrixWorld,this.capPlane.lineMesh.matrixWorld=e.matrixWorld),this.update()};var t=new f,i=new y(1,0,0);this.rotX=function(A){t.setFromAxisAngle(i,A),this.quaternion.multiply(t),this.update()};var o=new y(0,1,0);this.rotY=function(A){t.setFromAxisAngle(o,A),this.quaternion.multiply(t),this.update()};var n=new y(0,0,1);this.rotateByAxis=function(A,e){t.setFromAxisAngle(A,e),this.quaternion.multiply(t)},this.rotateAngleOffset=function(A,e){var t=this.normalIndex;A=A%360/180*Math.PI,0===t||1===t?("y"===e&&this.rotateByAxis(n,A),"z"===e&&this.rotateByAxis(o,A)):2===t||3===t?("x"===e&&this.rotateByAxis(i,A),"z"===e&&this.rotateByAxis(o,A)):4!==t&&5!==t||("x"===e&&this.rotateByAxis(i,A),"y"===e&&this.rotateByAxis(n,A)),this.update()},this.setRotateAngle=function(A,e){this.quaternion.set(0,0,0,1);var t=this.normalIndex;e=0>(e=void 0===e?this.angleB:e%360)?360+e:e,this.angleA=A=0>(A=void 0===A?this.angleA:A%360)?360+A:A,this.angleB=e,A=A/180*Math.PI,e=e/180*Math.PI,0===t||1===t?(e=0===t?e:-e,this.rotateByAxis(n,A=0===t?-A:A),this.rotateByAxis(o,e)):2===t||3===t?(this.rotateByAxis(i,A),this.rotateByAxis(o,e)):4!==t&&5!==t||(e=3===t?e:-e,this.rotateByAxis(i,A=3===t?-A:A),this.rotateByAxis(n,e)),this.update()},this.getRotateAngle=function(){return{angleA:this.angleA,angleB:this.angleB}},this.highLight=function(){this.planeMesh.material=this.planeHighLightMatrial},this.cancelHighLight=function(){this.planeMesh.material=this.planeMaterial,this.hit=!1};var r=function(A,e,t,i,o,n,r,a,s){this.enable=A,this.visible=e,this.rotatable=t,this.planeOffset=i,this.position=o,this.scale=n,this.quaternion=r,this.cubeSize=a,this.center=s};this.store=function(){return new r(!!this.uniforms.iClipPlane.value,this.visible,this.rotatable,this.planeOffset,this.position.clone(),this.scale.clone(),this.quaternion.clone(),this.cubeSize.clone(),this.center.clone())},this.restore=function(A){this.enable(A.enable,A.visible),this.rotatable=A.rotatable,this.planeOffset=A.planeOffset,this.position.copy(A.position),this.scale.copy(A.scale),this.quaternion._w=A.quaternion._w,this.quaternion._x=A.quaternion._x,this.quaternion._y=A.quaternion._y,this.quaternion._z=A.quaternion._z,this.normalIndex=void 0===A.normalIndex?this.normalIndex:A.normalIndex,this.setNormal(this.normalIndex)},this.setProcess=function(A){var e=this.cubeSize.length();A>1?A=1:-1>A&&(A=-1),this.planeOffset=A*e*.5;var t=this.uniforms.vClipPlane.value[0].clone(),i=new y(t.x,t.y,t.z);i.normalize();var o=new y(i.x*this.planeOffset,i.y*this.planeOffset,i.z*this.planeOffset);this.position.copy(this.center).add(o),this.update()},this.restoreRotation=function(){this.quaternion.set(0,0,0,1),this.update()},this.getProcess=function(){var A=this.cubeSize.length();return this.planeOffset/A*2}};(_C.prototype=Object.create(ep.prototype)).constructor=_C,_C.prototype.init=function(){this.initPlaneModel(),this.initWireframes()},_C.prototype.hitTest=function(A){if(this.visible){var e=null,t=null;if(this.hit=this.raycast(A),this.hit){var i=A.ray,o=new EA,n=this.uniforms.vClipPlane.value[0];o.setComponents(n.x,n.y,n.z,n.w),e=i.distanceToPlane(o),t=0>i.direction.dot(o.normal)}return{sign:t,distance:e}}this.hit=!1},_C.prototype.raycast=function(A,e){var t=[];return this.planeMesh.raycast(A,t),t.length>0},_C.prototype.resize=function(A,e){var t=A.length()/this.length;this.scale.set(t,t,t),this.cubeSize.copy(A),e&&(this.center=e.clone(),this.position.copy(this.center)),this.offset(0),this.updateMatrixWorld()},_C.prototype.getSideLength=function(){return this.length*this.scale.x};var $C=function(A,e){this.cls=A,this.size=e,this._pool=[],this.counter=0};$C.prototype.init=function(A){for(var e=0,t=this.size;t>e;e+=1){var i=new this.cls;i.init(A),this._pool[e]=i}},$C.prototype.resize=function(A,e){this.size=A,this.collect(),this.init(e)},$C.prototype.get=function(A){return this.size>this.counter?(this._pool[this.counter].spawn(A),this.counter+=1,this.counter-1):(Bh.log("the pool is full"),-1)},$C.prototype.clear=function(){for(var A=0,e=this.size;e>A;A+=1)this._pool[A].clear();this.counter=0},$C.prototype.destroy=function(){this.collect()},$C.prototype.collect=function(){this._pool=[],this.counter=0},$C.prototype.getObjects=function(){return this._pool};var Ay=function(A,e){var t=new he;t.setAttribute("position",new YA(new Float32Array(72),3)),jo.call(this,t,new ko({color:e})),void 0!==A&&this.updateBBox(A)};(Ay.prototype=Object.create(jo.prototype)).constructor=Ay,Ay.prototype.unload=function(){},Ay.prototype.updateBBox=function(A){var e=A.min,t=A.max,i=this.geometry.attributes.position.array;i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=e.x,i[4]=t.y,i[5]=t.z,i[6]=e.x,i[7]=t.y,i[8]=t.z,i[9]=e.x,i[10]=e.y,i[11]=t.z,i[12]=e.x,i[13]=e.y,i[14]=t.z,i[15]=t.x,i[16]=e.y,i[17]=t.z,i[18]=t.x,i[19]=e.y,i[20]=t.z,i[21]=t.x,i[22]=t.y,i[23]=t.z,i[24]=t.x,i[25]=t.y,i[26]=e.z,i[27]=e.x,i[28]=t.y,i[29]=e.z,i[30]=e.x,i[31]=t.y,i[32]=e.z,i[33]=e.x,i[34]=e.y,i[35]=e.z,i[36]=e.x,i[37]=e.y,i[38]=e.z,i[39]=t.x,i[40]=e.y,i[41]=e.z,i[42]=t.x,i[43]=e.y,i[44]=e.z,i[45]=t.x,i[46]=t.y,i[47]=e.z,i[48]=t.x,i[49]=t.y,i[50]=t.z,i[51]=t.x,i[52]=t.y,i[53]=e.z,i[54]=e.x,i[55]=t.y,i[56]=t.z,i[57]=e.x,i[58]=t.y,i[59]=e.z,i[60]=e.x,i[61]=e.y,i[62]=t.z,i[63]=e.x,i[64]=e.y,i[65]=e.z,i[66]=t.x,i[67]=e.y,i[68]=t.z,i[69]=t.x,i[70]=e.y,i[71]=e.z,this.geometry.attributes.position.needsUpdate=!0,this.geometry.computeBoundingBox(),this.geometry.computeBoundingSphere(),this.matrixAutoUpdate=!1};var ey=function(){ep.call(this,gp.EXTERNALSCENEMANAGER,{pickableType:Qc.Geometry,priority:20}),this.globalSpace=!0};(ey.prototype=Object.create(ep.prototype)).constructor=ey,ey.prototype.getNode=function(A){for(var e=this.children,t=0,i=e.length;i>t;t+=1)if(e[t].name===A.toString())return e[t];return null},ey.prototype.removeNodeByName=function(A){var e=this.getNode(A);return!!e&&(this.remove(e),!0)},ey.prototype.clearNodes=function(){this.clear()},ey.prototype.setNodeVisibleByName=function(A,e){var t=this.getNode(A);return!!t&&(t.visible=e,!0)},ey.prototype.showAllNodes=function(){for(var A=this.children,e=0,t=A.length;t>e;e+=1)A[e].visible=!0},ey.prototype.hideAllNodes=function(){for(var A=this.children,e=0,t=A.length;t>e;e+=1)A[e].visible=!1};var ty=function(){ep.call(this,gp.EXTRUDEBODYMANAGER,{pickableType:Qc.Geometry,priority:20}),this.globalSpace=!0,this.mapColorToNodeId={},this.selectionIds={},this.selectionColor={red:50,green:224,blue:240,alpha:.3},this.selectionEdgeColor={red:50,green:224,blue:240,alpha:1}};function iy(A){this.scene=A,this.lightArray=void 0,this.lightHelperArray=void 0,this.lightHelper=!1,this._currentPreset=void 0,this._intensityFactor=vc.LightIntensityFactor,this.defaultShadowLightDir=new y(100,-100,-160),this.defaultLightDir=new y(100,-100,-160),this.shadowLightDir=new y(100,-100,-160),this.lightDir=new y(100,-100,-160),this._ambientLight=void 0,this.setLightPreset(vc.LightPreset)}(ty.prototype=Object.create(ep.prototype)).constructor=ty,ty.prototype.addNode=function(A,e,t,i,o,n){n=void 0===n||n;var r=this.getNode(A);if(r)return r.material=i,this.setColorInMap(r.name,i),void((r=this.getNode("wireframe_"+A))&&(r.material=o,this.setColorInMap(r.name,o)));var a=[],l=0;if(e.belong&&"user"===e.belong)a=e.roomBoundary,l=e.offsetZ;else{e.version&&"2.0"===e.version&&(e=e.loops&&e.loops.length>0?e.loops[0]:[]);for(var c=e.length,h=0;c>h;h+=1)for(var d=e[h],p=d.length,g=0;p-1>g;g+=1){var u=d[g];a.push(new s(u.x,u.y)),0===h&&0===g&&(l=u.z)}a.length>0&&a.push(a[0])}var f=new Jn(new Ba(a),{amount:t});i.depthTest=!n,f.boundingBox||f.computeBoundingBox();var m=new Ue(f,i);m.name=A.toString(),m.translateZ(l),this.setColorInMap(m.name,i),this.add(m),this.updateMatrixWorld(!0);var C=m.geometry.faces,y=[];for(h=0,p=C.length;p>h;h+=1)y.push(C[h].a),y.push(C[h].b),y.push(C[h].c);var v=m.geometry.vertices,I=[];for(h=0,p=v.length;p>h;h+=1)I.push(v[h].x),I.push(v[h].y),I.push(v[h].z);var E=Up(I,y,Math.PI/3.5),B=new he;B.setIndex(new $A(E,1)),B.setAttribute("position",new Ae(I,3)),o.depthTest=!n,o.transparent=!0;var x=new jo(B,o);x.translateZ(l),x.name="wireframe_"+A,this.setColorInMap(x.name,o),this.add(x),this.updateMatrixWorld(!0)},ty.prototype.setColorInMap=function(A,e){this.mapColorToNodeId[A]={red:255*e.color.r,green:255*e.color.g,blue:255*e.color.b,alpha:e.opacity}},ty.prototype.createMaterial=function(A){return Kd.createStandardMaterial(A)},ty.prototype.setNodeMaterial=function(A,e,t){var i=this.getNode(A);if(i){var o=i.material;for(var n in e){o.hasOwnProperty(r=n)&&(o[r]="color"===r?new LA(e[n]):e[n])}}if(i=this.getNode("wireframe_"+A)){o=i.material;for(var n in t){var r;o.hasOwnProperty(r=n)&&(o[r]="color"===r?new LA(t[n]):t[n])}}},ty.prototype.getNode=function(A){for(var e=this.children,t=0,i=e.length;i>t;t+=1)if(e[t].name===A.toString())return e[t];return null},ty.prototype.removeNodeById=function(A){var e=this.getNode(A);return e&&(delete this.mapColorToNodeId[e.name],this.remove(e)),!!(e=this.getNode("wireframe_"+A))&&(delete this.mapColorToNodeId[e.name],this.remove(e),!0)},ty.prototype.clearNodes=function(){this.clear(),this.mapColorToNodeId={}},ty.prototype.setNodeVisibleById=function(A,e){var t=this.getNode(A);return t&&(t.visible=e),!!(t=this.getNode("wireframe_"+A))&&(t.visible=e,!0)},ty.prototype.showAllNodes=function(){for(var A=this.children,e=0,t=A.length;t>e;e+=1)A[e].visible=!0},ty.prototype.hideAllNodes=function(){for(var A=this.children,e=0,t=A.length;t>e;e+=1)A[e].visible=!1},ty.prototype.setNodeColorById=function(A,e){var t=this.getNode(A);if(t){var i=t.material;return i.color=new LA(e.red/255,e.green/255,e.blue/255),i.opacity=e.alpha,e!==this.selectionColor&&e!==this.selectionEdgeColor&&this.setColorInMap(t.name,i),!0}return!1},ty.prototype.getNodeColorById=function(A){return this.mapColorToNodeId[A]},ty.prototype.setWireframeColorById=function(A,e){return this.setNodeColorById("wireframe_"+A,e)},ty.prototype.getWireframeColorById=function(A){return this.getNodeColorById("wireframe_"+A)},ty.prototype.applySelection=function(A){this.clearSelection();var e=this.selectionIds,t=this.mapColorToNodeId,i=A.sceneState.selectionSet;for(var o in i)t[o]&&(e[o]=!0,this.setNodeColorById(o,this.selectionColor),this.setWireframeColorById(o,this.selectionEdgeColor))},ty.prototype.clearSelection=function(){var A=this.mapColorToNodeId;if(this.selectionIds){for(var e=this.children,t=0,i=e.length;i>t;t+=1){var o=e[t],n=A[o.name];o.material.color=new LA(n.red/255,n.green/255,n.blue/255),o.material.opacity=n.alpha}this.selectionIds={}}},ty.prototype.applyHover=function(A){var e=A.sceneState;if(e.hoverId&&!e.isSelected(e.hoverId)){var t=this.getNode(e.hoverId);if(t){this.hoveredId=e.hoverId;var i=this.mapColorToNodeId[this.hoveredId],o=Kd.getHoverColorByColor({r:i.red/255,g:i.green/255,b:i.blue/255,a:i.alpha});t.material.color.setRGB(o.r,o.g,o.b),t.material.opacity=o.a}}},ty.prototype.clearHover=function(){var A=this.hoveredId;if(A)if(this.selectionIds[A])this.hoveredId=null;else{var e=this.getNode(A);if(e){var t=this.mapColorToNodeId[A];e.material.color.setRGB(t.red/255,t.green/255,t.blue/255),e.material.opacity=t.alpha,this.hoveredId=null}else this.hoveredId=null}},iy.prototype.destroy=function(){this.scene=void 0,this._clearLights(),this._clearLightHelpers()},iy.prototype.currentLights=function(){if(this.lightArray)return[].concat(this.lightArray)},iy.prototype.setLightPreset=function(A){this._currentPreset!==A&&(vc.LightPreset=A,this._currentPreset=A,this._clearLights(),this._clearLightHelpers(),this._createLights(),this.setIntensityFactor(this._intensityFactor),this.lightHelper&&this._createLightHelpers())},iy.prototype.getLightPreset=function(){return this._currentPreset},iy.prototype.updateLights=function(A){if(this.lightArray){var e=new y(0,0,1),t=Math.PI/4,i=A.position.clone();i.sub(A.target),i.normalize();var o=null;if(0===this._currentPreset){var n=this.lightArray[1];n.position.set(i.x,i.y,i.z),n.updateMatrixWorld(!0)}else if(1===this._currentPreset||3===this._currentPreset){var r=this.lightArray[2],a=this.lightArray[3];o=i.clone().applyAxisAngle(e,-1.2*t),r.position.copy(o).normalize(),r.position.multiplyScalar(1e3),r.position.z=600,r.updateMatrixWorld(),o=i.clone().applyAxisAngle(e,Number(t)),a.position.copy(o).normalize(),a.position.multiplyScalar(1e3),a.position.z=600,a.updateMatrixWorld()}else if(2===this._currentPreset){var s=this.lightArray[1],l=this.scene.getBoundingBox().getCenter(new y),c=new y(l.x-(o=this.lightDir).x,l.y-o.y,l.z-o.z);s.position.copy(c),s.target.position.set(l.x,l.y,l.z),s.target.updateMatrixWorld(!0),s.updateMatrixWorld(!0)}else{s=this.lightArray[1];o=i.clone().applyAxisAngle(e,-2*t),s.position.copy(o).normalize(),s.position.multiplyScalar(1e3),s.position.z=600,s.updateMatrixWorld()}this.lightHelperArray&&this.updateLightHelper()}},iy.prototype.updateLightHelper=function(){for(var A=0;this.lightHelperArray.length>A;A+=1){var e=this.lightHelperArray[A];e.update(),e.updateMatrixWorld(!0)}},iy.prototype.setIntensityFactor=function(A){if(!isNaN(A)){var e=Number(A);if(e>=0&&(this._intensityFactor=e,vc.LightIntensityFactor=this._intensityFactor,this.lightArray))for(var t=0,i=this.lightArray.length;i>t;t+=1){var o=this.lightArray[t];o.intensity=o.initIntensity*this._intensityFactor}}},iy.prototype.getIntensityFactor=function(){return this._intensityFactor},iy.prototype.setAmbientLightIntensity=function(A){if(this._ambientLight){if(isNaN(A))return;var e=Number(A);if(0>e)return;this._ambientLight.intensity=e}},iy.prototype.getAmbientLightIntensity=function(){if(this._ambientLight)return this._ambientLight.intensity},iy.prototype._createLights=function(){var A=null;switch(this._currentPreset){case 0:A=this._lightPreset0();break;case 1:A=this._lightPreset1();break;case 2:A=this._lightPreset2();break;case 3:A=this._lightPreset3();break;case 4:A=this._lightPreset4();break;default:(A=this._commonLights(.72))[1].color.setHex(16777215)}if(this.lightArray=A,this.scene&&this.lightArray)for(var e=0,t=this.lightArray.length;t>e;e+=1)this.scene.add(this.lightArray[e]),this.lightArray[e].updateMatrixWorld()},iy.prototype._clearLights=function(){if(this.lightArray){for(var A=0;this.lightArray.length>A;A+=1){var e=this.lightArray[A];e.parent&&e.parent.remove(e)}this.lightArray=void 0}this._ambientLight=void 0},iy.prototype._createLightHelpers=function(){if(this.lightArray)for(var A=0;this.lightArray.length>A;A+=1){var e=this.lightArray[A];if(e instanceof Ra){var t=new ll(e,6e3);this.lightHelperArray||(this.lightHelperArray=[]),this.lightHelperArray.push(t),this.scene&&this.scene.add(t)}}},iy.prototype._clearLightHelpers=function(){if(this.lightHelperArray){for(var A=0;this.lightHelperArray.length>A;A+=1){var e=this.lightHelperArray[A];e.parent&&e.parent.remove(e)}this.lightHelperArray=void 0}},iy.prototype._commonLights=function(A,e){var t=[],i=new Ta(16777215,.6);i.intensity=.3,i.initIntensity=i.intensity,t.push(i),this._ambientLight=i;var o=new Ra(16777215,1);return o.color.setHex(14800580),o.position.set(-100,100,160),o.intensity=.72,o.initIntensity=o.intensity,o.distance=300,o.updateMatrixWorld(),t.push(o),vc.EnableShadow&&(o.castShadow=!0,o.shadow.camera.near=0,o.shadow.camera.far=5e6,o.shadow.camera.left=-2e5,o.shadow.camera.right=2e5,o.shadow.camera.top=2e5,o.shadow.camera.bottom=-2e5,o.distance=1110,o.shadow.mapSize.height=1028,o.shadow.mapSize.width=1028),t},iy.prototype._lightPreset0=function(){var A=null;if(!vc.EnableLightmap){A=[];var e=.3,t=new Sa(16777215,16777215,e);A.push(t),t.initIntensity=e,t.position.set(0,0,500),t.updateMatrixWorld(!0);var i=new Ra(16777215,e=.7);A.push(i),i.initIntensity=e,i.color.setHSL(.1,.95,1),i.position.set(-1,1,.75),i.position.multiplyScalar(50)}return A},iy.prototype._lightPreset1=function(){var A=this._commonLights(.4,.56);A||(A=[]);var e=new Ra(16777215,1);A.push(e),e.color.setHex(16777215),e.position.set(100,100,100),e.intensity=.4,e.initIntensity=e.intensity,e.updateMatrixWorld();var t=new Ra(16777215,1);return A.push(t),t.color.setHex(16777215),t.position.set(-100,-100,100),t.intensity=.18,t.initIntensity=t.intensity,t.updateMatrixWorld(),A},iy.prototype._lightPreset2=function(){var A=this._commonLights();A||(A=[]);var e=new Ra(16777215,1);A.push(e),e.position.set(60,130,80),e.intensity=.28,e.initIntensity=e.intensity,e.updateMatrixWorld();var t=new Ra(16777215,1);A.push(t),t.color.setHex(8100788),t.position.set(100,-100,80),t.intensity=.22,t.initIntensity=t.intensity,t.updateMatrixWorld();var i=new Ra(16777215,1);return A.push(i),i.color.setHex(8100788),i.position.set(-140,-50,80),i.intensity=.18,i.initIntensity=i.intensity,i.updateMatrixWorld(),A},iy.prototype._lightPreset3=function(){var A=this._commonLights(.4,.56);A||(A=[]);var e=new Ra(16777215,1);A.push(e),e.color.setHex(16777215),e.position.set(100,100,100),e.intensity=.22,e.initIntensity=e.intensity,e.updateMatrixWorld();var t=new Ra(16777215,1);return A.push(t),t.color.setHex(16777215),t.position.set(-100,-100,100),t.intensity=.18,t.initIntensity=t.intensity,t.updateMatrixWorld(),A},iy.prototype._lightPreset4=function(){var A=this._commonLights(.4,.56);A||(A=[]);var e=new Ra(16777215,1);A.push(e),e.color.setHex(16777215),e.position.set(100,100,100),e.intensity=.4,e.initIntensity=e.intensity,e.updateMatrixWorld();var t=new Ra(16777215,1);return A.push(t),t.color.setHex(16777215),t.position.set(-100,-100,100),t.intensity=.1,t.initIntensity=t.intensity,t.updateMatrixWorld(),A[0].intensity=.3,A[1].intensity=.2,this.enableShadowLight(),A},iy.prototype.enableShadowLight=function(){this.lightCastShadow?this.lightCastShadow.visible=!0:(this.lightCastShadow=new Ra(16777215,.15),this.lightCastShadow.intensity=.5,this.lightCastShadow.initIntensity=.5,this.lightCastShadow.castShadow=!0,this.lightCastShadow.shadow.mapSize.width=1024,this.lightCastShadow.shadow.mapSize.height=1024,this.lightCastShadow.shadow.bias=-9e-4,this.scene.add(this.lightCastShadow)),this.lightCastShadow.updateMatrixWorld()},iy.prototype.getLightDirFromAltitudeAndAzimuth=function(A,e){var t=Math.sin(e),i=Math.cos(e);return e>0&&(i=-i),new y(t,i,Math.sin(A)/Math.cos(A)).multiplyScalar(-100)},iy.prototype.disableShadowLight=function(){this.lightCastShadow&&(this.lightCastShadow.visible=!1)},iy.prototype.updateShadowLight=function(){if(null!==this.scene.geometryGroup.boundingBox&&this.lightCastShadow&&this.lightCastShadow.visible){var A=this.scene.getBoundingBox().clone(),e=new y,t=A.getSize(e);t.multiplyScalar(.2),A.min.sub(t),A.max.add(t);var i=A.getCenter(new y),o=this.shadowLightDir,n=new y(i.x-o.x,i.y-o.y,i.z-o.z);this.lightCastShadow.position.set(n.x,n.y,n.z),this.lightCastShadow.target.position.set(i.x,i.y,i.z),this.lightCastShadow.target.updateMatrixWorld(!0),this.lightCastShadow.updateMatrixWorld(!0);var r=this.lightCastShadow.shadow.camera;r.position.set(n.x,n.y,n.z),r.lookAt(i),r.updateMatrixWorld(),r.matrixWorldInverse.getInverse(r.matrixWorld),t=A.getSize(new y),A.min.z=A.min.z-.05*t.z;var a=new EA(new y(0,0,1),-A.min.z),s=a.normal.dot(o),l=A.max.clone(),c=-(l.dot(a.normal)+a.constant)/s,h=new y;h.copy(o).multiplyScalar(c).add(l),A.expandByPoint(h),A.applyMatrix4(r.matrixWorldInverse),r.left=A.min.x,r.right=A.max.x,r.top=A.max.y,r.bottom=A.min.y,r.far=1.5*-A.min.z,r.near=-A.max.z,r.updateProjectionMatrix()}},iy.prototype.disableLights=function(){if(this.lightArray)for(var A=0,e=this.lightArray.length;e>A;A+=1)this.lightArray[A].visible=!1},iy.prototype.enableLights=function(){if(this.lightArray)for(var A=0,e=this.lightArray.length;e>A;A+=1)this.lightArray[A].visible=!0};var oy=function(){H.call(this),this.type="Scene",this.autoUpdate=!1,this.tempVector3=new y,this.objectGroups=new ep,this.add(this.objectGroups),this.geometryGroup=new ep(gp.GEOMETRY,{pickableType:Qc.Geometry,globalSpace:!0}),this.geometryGroup.boundingBox=new aA,this.pool=new $C(Kf,0),this.expandScalar=1.01,this.clipPlanes=null,this.fillClipPlane=null,this.areaNode=null,this.extrudeBodyManager=null,this.externalScene=null,this.externalComponentManager=null,this.customPlaneManager=null,this.axisGridManager=null,this.lightManager=new iy(this),this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedInstanceMeshes=[],this.nonSelectedInstanceMeshes=[],this.componentTransformControl=void 0};(oy.prototype=Object.create(H.prototype)).constructor=oy,oy.prototype.createCapStencilMaterials=function(){this.backMaterial||(this.backMaterial=Kd.createStandardMaterial({color:16711680,colorWrite:!1,depthWrite:!1,depthTest:!1,side:1,stencilWrite:!0,stencilFunc:519,stencilRef:1,stencilFuncMask:255,stencilFail:7680,stencilZFail:7680,stencilZPass:7682}),this.frontMaterial=Kd.createStandardMaterial({color:255,colorWrite:!1,depthWrite:!1,depthTest:!1,side:0,stencilWrite:!0,stencilFunc:519,stencilRef:1,stencilFuncMask:255,stencilFail:7680,stencilZFail:7680,stencilZPass:7683}),this.backInstanceMaterial=Kd.createStandardMaterial({color:16711680,colorWrite:!1,depthWrite:!1,depthTest:!1,side:1,stencilWrite:!0,stencilFunc:519,stencilRef:1,stencilFuncMask:255,stencilFail:7680,stencilZFail:7680,stencilZPass:7682}),this.backInstanceMaterial.defines.USE_INSTANCE="",this.backInstanceMaterial.defines.USE_INSTANCE_NORMAL="",this.frontInstanceMaterial=Kd.createStandardMaterial({color:255,colorWrite:!1,depthWrite:!1,depthTest:!1,side:0,stencilWrite:!0,stencilFunc:519,stencilRef:1,stencilFuncMask:255,stencilFail:7680,stencilZFail:7680,stencilZPass:7683}),this.frontInstanceMaterial.defines.USE_INSTANCE="",this.frontInstanceMaterial.defines.USE_INSTANCE_NORMAL="")},oy.prototype.destroy=function(){this.lightManager.destroy(),this.clearAll(),this.pool.destroy(),this.pool=null,this.geometryGroup=null,this.objectGroups=null,this.clipPlanes=null,this.fillClipPlane=null,this.areaNode=null,this.extrudeBodyManager=null,this.externalComponentManager=null,this.axisGridManager=null,this.IBLMaps=null,this.transformMatrix=null,this.selectedMeshes=null,this.nonSelectedMeshes=null,this.selectedInstanceMeshes=null,this.nonSelectedInstanceMeshes=null},oy.prototype.resizePool=function(A){vc.MergeComponent||(this.geometryGroup.clear(),this.pool.resize(A,{parent:this.geometryGroup}))},oy.prototype.clearAll=function(){this.pool.clear(),this.autoUpdate=!1},oy.prototype.getRootNode=function(){return this.geometryGroup},oy.prototype.getBoundingBox=function(){var A=this.getBoundingBoxWorld();return A.applyMatrix4(this.geometryGroup.matrix),A},oy.prototype.getGeometryBoundingBox=function(){var A=new aA;A.copy(this.geometryGroup.boundingBox);var e=new y,t=A.getSize(e);return t.multiplyScalar(this.expandScalar-1),A.min.sub(t),A.max.add(t),A.applyMatrix4(this.geometryGroup.matrix),A},oy.prototype.getBoundingBoxWorld=function(){var A=new aA,e=new y;return function(){A.copy(this.geometryGroup.boundingBox),this.componentTransformControl&&A.union(this.componentTransformControl.getBoundingBox());var t=A.getSize(e);return t.multiplyScalar(this.expandScalar-1),A.min.sub(t),A.max.add(t),this.fillClipPlane&&this.fillClipPlane.visible?A.expandByObject(this.fillClipPlane):this.clipPlanes&&this.clipPlanes.visible&&A.expandByObject(this.clipPlanes),A}}(),oy.prototype.setBoundingBoxWorld=function(A){this.geometryGroup.boundingBox?this.geometryGroup.boundingBox.copy(A):this.geometryGroup.boundingBox=A;var e=A.clone();if(this.clipPlanes&&this.clipPlanes.visible){var t=e.getSize(new y);t.multiplyScalar(this.expandScalar-1),e.min.sub(t),e.max.add(t),this.clipPlanes.setSectionBox(e.min,e.max)}if(this.fillClipPlane&&this.fillClipPlane.visible){var i=new y;e.getSize(i),i.multiplyScalar(.05),e.min.sub(i),e.max.add(i),this.fillClipPlane.resize(e.getSize(i),e.getCenter(new y))}},oy.prototype.expandBoundingBoxWorldBy=function(A){if(A){var e=A;A instanceof Array==!1&&(e=[A]);for(var t=0,i=e.length;i>t;t+=1){var o=e[t];(o instanceof Ue||o instanceof H)&&this.geometryGroup.boundingBox.expandByObject(o)}}},oy.prototype.getTransformMatrixGlobal=function(){return this.transformMatrix},oy.prototype.getMatrixGlobal=function(){return this.geometryGroup.matrix.clone()},oy.prototype.getGlobalScaleFactor=function(){return this.geometryGroup.matrix.elements[0]},oy.prototype.getMatrixWorldGlobal=function(){return this.geometryGroup.matrixWorld},oy.prototype.getRotationGlobal=function(){if(this.geometryGroup.matrix){var A=new M;A.extractRotation(this.geometryGroup.matrix);var e=new F;return e.setFromRotationMatrix(A),e}return null},oy.prototype.getTrackingPointFromBoundingBox=function(A,e){if(!this.geometryGroup.boundingBox)return null;var t=e.origin,i=this.getBoundingBox(),o=0,n=[new y,new y,new y,new y,new y,new y,new y,new y];n[0].set(i.min.x,i.min.y,i.min.z),n[1].set(i.min.x,i.min.y,i.max.z),n[2].set(i.min.x,i.max.y,i.min.z),n[3].set(i.min.x,i.max.y,i.max.z),n[4].set(i.max.x,i.min.y,i.min.z),n[5].set(i.max.x,i.min.y,i.max.z),n[6].set(i.max.x,i.max.y,i.min.z),n[7].set(i.max.x,i.max.y,i.max.z);for(var r=0;8>r;r+=1){var a=new y;a.subVectors(n[r],t);var s=a.dot(A);s>o&&(o=s)}var l=A.clone().multiplyScalar(o),c=t.clone().add(l),h=new EA;return h.setFromNormalAndCoplanarPoint(A,c),e.intersectPlane(h,new y)},oy.prototype.getNearDepthByRect=function(){var A=new aA,e=1/0,t=new M,i=new y;function o(A){i.setFromMatrixPosition(A.matrixWorld),i.applyProjection(t);var o=i.z;o>=e||0>o||o>1||(e=o)}return function(i,n){function r(e){if(e instanceof Kf){if(!function(e,t){if(!t.boundingBox||t instanceof Ue){var i=t.geometry;null===i.boundingBox&&i.computeBoundingBox(),A.copy(i.boundingBox),A.applyMatrix4(t.matrixWorld)}else A.copy(t.boundingBox),A.applyMatrix4(t.matrixWorld);return e.intersectsBox(A)}(i,e))return;o(e)}else if(e.worldBoundingBox){if(!i.intersectsBox(e.worldBoundingBox))return;o(e)}var t=e.children;if(t)for(var n=0,a=t.length;a>n;n+=1){var s=t[n];s.visible&&r(s)}}e=1/0,t.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);for(var a=this.geometryGroup.children,s=0,l=a.length;l>s;s+=1){var c=a[s];c.visible&&r(c)}return e}}(),oy.prototype.getExpandScalar=function(){return this.expandScalar},oy.prototype.hasClipPlanes=function(){return null!==this.clipPlanes},oy.prototype.getClipPlanes=function(A){var e=this.getBoundingBox(),t=e.getSize(new y),i=e.getCenter(this.tempVector3);return null===this.clipPlanes?(this.clipPlanes=new HC(t,i),this.objectGroups.add(this.clipPlanes)):A&&this.clipPlanes.setSectionBox(e.min,e.max),this.clipPlanes},oy.prototype.setClipPlanes=function(A){if(A){var e=this.getClipPlanes();A.setFromCenterAndSize(A.getCenter(new y),A.getSize(new y).multiplyScalar(this.expandScalar)),e.setSectionBox(A.min,A.max)}},oy.prototype.resetClipPlanes=function(){var A=this.getClipPlanes(),e=this.getBoundingBox();A.reset(),e.max.x!==-1/0&&e.max.y!==-1/0&&e.max.z!==-1/0&&e.min.x!==1/0&&e.min.y!==1/0&&e.min.z!==1/0?(e.setFromCenterAndSize(e.getCenter(new y),e.getSize(new y)),A.setSectionBox(e.min,e.max)):this.clipPlanes=null},oy.prototype.hasFillClipPlanes=function(){return null!=this.fillClipPlane},oy.prototype.getFillClipPlane=function(){var A=new aA;A.copy(this.geometryGroup.boundingBox),A.applyMatrix4(this.geometryGroup.matrix);var e=A.getSize(new y);e.multiplyScalar(.05),A.min.sub(e),A.max.add(e);var t=A.getSize(new y),i=A.getCenter(new y);return null===this.fillClipPlane?(this.fillClipPlane=new _C(t,i),this.objectGroups.add(this.fillClipPlane)):this.fillClipPlane.cubeSize.equals(t)||this.fillClipPlane.resize(t,i),this.fillClipPlane},oy.prototype.disableClipPlanes=function(){null!=this.clipPlanes&&(this.clipPlanes.enable(!1,!1),this.clipPlanes.update()),null!=this.fillClipPlane&&(this.fillClipPlane.enable(!1,!1),this.fillClipPlane.update())},oy.prototype.getAreaNode=function(){return this.areaNode},oy.prototype.getAxisGridManager=function(){return this.axisGridManager},oy.prototype.getExtrudeBodyManager=function(){return null===this.extrudeBodyManager&&(this.extrudeBodyManager=new ty,this.objectGroups.add(this.extrudeBodyManager),this.extrudeBodyManager.matrix.copy(this.geometryGroup.matrix),this.extrudeBodyManager.matrixAutoUpdate=!1,this.extrudeBodyManager.updateMatrixWorld(!0)),this.extrudeBodyManager},oy.prototype.getCustomPlaneManager=function(){return this.customPlaneManager},oy.prototype.getExternalScene=function(){return null===this.externalScene&&(this.externalScene=new ey,this.add(this.externalScene),this.externalScene.updateMatrixWorld(!0)),this.externalScene},oy.prototype.shrinkScopeByClipPlane=function(A,e){if(this.clipPlanes&&this.clipPlanes.isEnabled()){var t=this.clipPlanes.hitTest(A);if(null===t.distance&&void 0===t.distance)return;t.sign?t.distance>e.near&&(e.near=t.distance):e.far>t.distance&&(e.far=t.distance)}},oy.prototype.updateWorldMatrixByMatrix=function(A){for(var e=this.objectGroups.children,t=0,i=e.length;i>t;t+=1)e[t].globalSpace&&(e[t].matrix.copy(A),e[t].matrixAutoUpdate=!1,e[t].updateMatrixWorld(!0))},oy.prototype.currentLights=function(){return this.lightManager.currentLights()},oy.prototype.setLightPreset=function(A){this.lightManager.setLightPreset(A)},oy.prototype.getLightPreset=function(){return this.lightManager.getLightPreset()},oy.prototype.setLightIntensityFactor=function(A){this.lightManager.setIntensityFactor(A)},oy.prototype.updateLights=function(A){this.lightManager.updateLights(A)},oy.prototype.setAmbientLightIntensity=function(A){this.lightManager.setAmbientLightIntensity(A)},oy.prototype.getAmbientLightIntensity=function(){return this.lightManager.getAmbientLightIntensity()},oy.prototype.getOrCreateGroup=function(A,e){for(var t=this.objectGroups.children,i=0,o=t.length;o>i;i+=1)if(t[i].name===A)return t[i];var n=new ep(A,e);return n.isGlobalSpace()&&(n.matrix.copy(this.geometryGroup.matrix),n.matrixAutoUpdate=!1,n.updateMatrixWorld(!0)),this.objectGroups.add(n),n},oy.prototype.getGroup=function(A){for(var e=this.objectGroups.children,t=0,i=e.length;i>t;t+=1)if(e[t].name===A)return e[t];return null},oy.prototype.getGroupType=function(A){var e=A.split("|");return{groupType:e[0],modelKey:e.length>1?e[1]:void 0}},oy.prototype.getGroups=function(){return this.objectGroups.children},oy.prototype.removeGroup=function(A){this.objectGroups.remove(A)},oy.prototype.removeGroupByName=function(A){this.objectGroups.removeByName(A)},oy.prototype.hasGroup=function(A){return this.objectGroups.hasChild(A)},oy.prototype.prepareScene=function(){},oy.prototype.parseRootNode=function(A){var e=this.geometryGroup,t=uh.box3FromObject(A.minBoundary,A.maxBoundary);null===e.boundingBox||e.boundingBox.isEmpty()?e.boundingBox=t:(e.boundingBox.expandByPoint(t.min),e.boundingBox.expandByPoint(t.max)),e.updateMatrixWorld(!0)},oy.prototype.intersectToWorld=function(A,e){var t=this.getMatrixGlobal();A.worldPosition=Tu.getWorldPositionOfMesh(A.point,t);var i=e.getComponentInfoByUserId(A.userId);i&&(A.worldBoundingBox=i.boundingBox.clone())},oy.prototype.worldToDrawing=function(A){var e=this.getMatrixGlobal(),t=new y(A.x,A.y,A.z);return t.applyMatrix4(e),t},oy.prototype.drawingToWorld=function(A){var e=this.getMatrixGlobal(),t=new M;t.getInverse(e);var i=new y(A.x,A.y,A.z);return i.applyMatrix4(t),i},oy.prototype.getBoundingBoxWorldByMesh=function(A){var e=this.getMatrixGlobal(),t=A.boundingBox;t||(A.geometry.boundingBox||A.geometry.computeBoundingBox(),t=A.geometry.boundingBox);var i=t.clone();i.applyMatrix4(A.matrixWorld);var o=new M;return o.getInverse(e),i.applyMatrix4(o),i},oy.prototype.getObjectPool=function(){return this.pool},oy.prototype.getBoundingBoxOfGeometries=function(A){var e=new aA,t=[];if(Array.isArray(A))t=A;else for(var i in A)A.hasOwnProperty(i)&&t.push(i);for(var o=0,n=t.length;n>o;o+=1){var r=this.objectGroups.getObjectByProperty("key",t[o]);if(r){var a=r.geometry;if(a){a.boundingBox||a.computeBoundingBox();var s=a.boundingBox;if(s){var l=s.clone();r.matrixWorld&&l.applyMatrix4(r.matrixWorld),e.expandByPoint(l.min),e.expandByPoint(l.max)}}else Bh.log("empty geometry!")}}return e},oy.prototype.adjustInstanceVisibility=function(A){this.traverse((function(e){if((e instanceof Ue||e instanceof jo)&&e.geometry instanceof Na){var t=e.visible;A&&!e.bVisible||(e.visible=A),e.bVisible=t}}))},oy.prototype.adjustVisibility=function(A){this.traverse((function(e){if((e instanceof Ue||e instanceof jo)&&!(e.geometry instanceof Na)){var t=e.visible;A&&!e.bVisible||(e.visible=A),e.bVisible=t}}))},oy.prototype.changeVisibilityOfSelectedObjects=function(A){var e=this;A||(e.selectedMeshes.length=0,e.selectedInstanceMeshes.length=0);var t=e.selectedMeshes,i=e.selectedInstanceMeshes;this.traverse((function(o){(o instanceof Ue||o instanceof jo)&&(o.geometry instanceof Na?A?function(A){for(var t=0,i=e.selectedInstanceMeshes.length;i>t;t+=1){if(A===e.selectedInstanceMeshes[t].object){for(var o=e.selectedInstanceMeshes[t].indices,n=A.geometry.getAttribute("vState").array,r=0,a=o.length;a>r;r+=1)n[o[r]]=Hc.SELECTED;A.geometry.getAttribute("vState").needsUpdate=!0}}}(o):function(A){if(A.visible){for(var e=[],t=A.geometry.getAttribute("vState").array,o=0;t.length>o;o+=1)t[o]===Hc.SELECTED&&(e.push(o),t[o]=Hc.HIDDEN);e.length&&(A.geometry.getAttribute("vState").needsUpdate=!0,i.push({object:A,indices:e}))}}(o):A?function(A){for(var t=0,i=e.selectedMeshes.length;i>t;t+=1){if(A===e.selectedMeshes[t].object)for(var o=e.selectedMeshes[t].indices,n=0,r=o.length;r>n;n+=1){var a=o[n],s=A.geometry.groups[a.idx];s.start=a.start,s.count=a.count}}}(o):function(A){if(A._indicesGroup&&A.visible){var e=[],i=A.geometry.groups;if(i&&i.length){for(var o=0,n=i.length;n>o;o+=1){var r=i[o];r.materialIndex===zc.SELECTED&&(e.push({idx:o,start:r.start,count:r.count}),r.start=0,r.count=0)}e.length&&t.push({object:A,indices:e})}}}(o))}))},oy.prototype.changeVisibilityOfNonSelectedObjects=function(A){var e=this;A||(e.nonSelectedMeshes.length=0,e.nonSelectedInstanceMeshes.length=0);var t=e.nonSelectedMeshes,i=e.nonSelectedInstanceMeshes;this.traverse((function(o){(o instanceof Ue||o instanceof jo)&&(o.geometry instanceof Na?A?function(A){for(var t=0,i=e.nonSelectedInstanceMeshes.length;i>t;t+=1){if(A===e.nonSelectedInstanceMeshes[t].object){for(var o=e.nonSelectedInstanceMeshes[t].indices,n=A.geometry.getAttribute("vState").array,r=0,a=o.length;a>r;r+=1)n[o[r].idx]=o[r].state;A.geometry.getAttribute("vState").needsUpdate=!0}}}(o):function(A){if(A.visible){for(var e=[],t=A.geometry.getAttribute("vState").array,o=0,n=t.length;n>o;o+=1)t[o]!==Hc.SELECTED&&t[o]!==Hc.HIDDEN&&(e.push({idx:o,state:t[o]}),t[o]=Hc.HIDDEN);e.length&&(A.geometry.getAttribute("vState").needsUpdate=!0,i.push({object:A,indices:e}))}}(o):A?function(A){for(var t=0,i=e.nonSelectedMeshes.length;i>t;t+=1){if(A===e.nonSelectedMeshes[t].object){var o=e.nonSelectedMeshes[t].indices;if(null===o)A.visible=!0;else for(var n=0,r=o.length;r>n;n+=1){var a=o[n],s=A.geometry.groups[a.idx];s.start=a.start,s.count=a.count}}}}(o):function(A){if(A._indicesGroup&&A.visible){var e=[],i=A.geometry.groups;if(i&&i.length){for(var o=0,n=i.length;n>o;o+=1){var r=i[o];r.materialIndex!==zc.SELECTED&&(e.push({idx:o,start:r.start,count:r.count}),r.start=0,r.count=0)}e.length?t.push({object:A,indices:e}):(A.visible=!1,t.push({object:A,indices:null}))}else A.visible=!1,t.push({object:A,indices:null})}}(o))}))},oy.prototype.clearSelectedAndNonSelectedMeshes=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0,this.selectedInstanceMeshes.length=0,this.nonSelectedInstanceMeshes.length=0},oy.prototype.setSkyBox=function(A,e,t,i,o){var n=A,r=e||[Pd.skyBoxLeft,Pd.skyBoxRight,Pd.skyBoxBack,Pd.skyBoxFront,Pd.skyBoxUp,Pd.skyBoxDown],a=this;(new $r).setPath(n).load(r,(function(A){a.background=A,t&&t()}),i,o)},oy.prototype.drawBoundingBox=function(A){if(A){var e=this.getOrCreateGroup("BoundingBox",{pickable:0,priority:2}),t=this.getBoundingBox();void 0===this.boudingBoxNode?(this.boudingBoxNode=new Ay(t,16711680),e.add(this.boudingBoxNode)):this.boudingBoxNode.updateBBox(t),this.boudingBoxNode.updateMatrixWorld(!0)}else this.removeGroupByName("BoundingBox")},oy.prototype.calculateGisMapBox=function(A){var e=this.getGroup("ExternalComponentManager"),t=this.getBoundingBoxWorld(),i=t.clone();if(e){var o=A.position.clone(),n=this.getMatrixWorldGlobal(),r=(new M).getInverse(n);o.applyMatrix4(r);var a=6370856e3,s=o.z-t.min.z;s=Math.abs(s);var l=a*Math.acos(a/(a+s));i.min.x=o.x-l,i.max.x=o.x+l,i.min.y=o.y-l,i.max.y=o.y+l,i.min.z=t.min.z,i.max.z=t.max.z}return i},oy.prototype.getReceivingPlane=function(A){if(!this.receivingPlane){this.receivingPlane=this.getOrCreateGroup(gp.RECEIVESHADOWPLANE);var e=new mr;e.transparent=!0,e.opacity=.2,e.side=2;var t=new Ue(new et(1e6,1e6),e);t.receiveShadow=!0,this.receivingPlane.add(t),this.add(this.receivingPlane),this.receivingPlane.matrixAutoUpdate=!1,this.updateReceivingPlane()}return this.receivingPlane.visible=A,this.receivingPlane},oy.prototype.updateReceivingPlane=function(){var A=this.receivingPlane.children[0],e=this.getBoundingBoxWorld(),t=e.getCenter(new y),i=e.getSize(new y);A.position.z=e.min.z-.05*i.z,A.position.x=t.x,A.position.y=t.y,A.scale.x=i.x/1e4,A.scale.y=i.y/1e4,this.receivingPlane.updateMatrixWorld(!0)},Object.defineProperties(oy.prototype,{lightArray:{get:function(){return Bh.warn("EIMMODEL.Scene: .lightArray 现在为 .lightManager.lightArray"),this.lightManager.lightArray}},lightHelperArray:{get:function(){return Bh.warn("EIMMODEL.Scene: .lightHelperArray 现在为 .lightManager.lightHelperArray"),this.lightManager.lightHelperArray}}});var ny=function(A){this.selectionSet={},this.selectionMaterial=Kd.createHighlightMaterial(),this.selectionMaterial.colorState=Yc.SELECT,this.selectionMaterial.name="selection",this.selectionMaterial.refreshUniforms(),this.hoverId=void 0,this.hoverMaterialDefaultParams={color:14540253,opacity:.9,transparent:!0,side:2},this.hoverMaterial=Kd.createStandardMaterial(this.hoverMaterialDefaultParams),this.hoverMaterial.name="hover",this.boxMaterialDefaultParams={color:16776960,opacity:1,transparent:!1},this.boxMaterial=new ko(this.boxMaterialDefaultParams),this.boxMaterial.name="box",this.modelManager=A,this.blinkComponentIds={};var e=this;this.filter=A.filter,this.filter.observerForSceneState=function(t){e.removeSelection(t),e.clearBlinkComponentsById(t),A.viewerImpl.render()},this.phongHoverMaterial=new Ir(this.hoverMaterialDefaultParams),this.phongSelectionMaterial=new Ir(vc.SelectionColor)};ny.prototype={constructor:ny,destroy:function(){this.selectionSet=null,this.blinkComponentIds=null,this.modelManager=null,this.selectionMaterial.destroy(),this.selectionMaterial=null,this.hoverMaterial.destroy(),this.hoverMaterial=null,this.phongHoverMaterial.dispose(),this.phongHoverMaterial=null,this.phongSelectionMaterial.dispose(),this.phongSelectionMaterial=null},_dispatchChangeEvent:function(){var A=this.getSelection();if(vc.EnableSelectionBoundingBox){var e=this.modelManager.scene.getOrCreateGroup("BoundingBox");if(A&&A.length>0){var t=this.modelManager.viewerImpl.getBoundingBoxByIds(A);if(t.isEmpty())return void(e.visible=!1);e.visible=!0;var i=e.getObjectByName("Box");if(!i){var o=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]),n=new Float32Array(24),r=new he;r.setIndex(new YA(o,1)),r.setAttribute("position",new YA(n,3)),(i=new jo(r,this.boxMaterial)).name="Box",i.matrixAutoUpdate=!1,e.add(i)}var a=i.geometry.attributes.position,s=a.array,l=t.min,c=t.max;s[0]=c.x,s[1]=c.y,s[2]=c.z,s[3]=l.x,s[4]=c.y,s[5]=c.z,s[6]=l.x,s[7]=l.y,s[8]=c.z,s[9]=c.x,s[10]=l.y,s[11]=c.z,s[12]=c.x,s[13]=c.y,s[14]=l.z,s[15]=l.x,s[16]=c.y,s[17]=l.z,s[18]=l.x,s[19]=l.y,s[20]=l.z,s[21]=c.x,s[22]=l.y,s[23]=l.z,a.needsUpdate=!0}else e.visible=!1}else{var h=this.modelManager.scene.getObjectByName("BoundingBox");h&&(h.visible=!1)}this.modelManager.dispatchEvent({type:Rc.ON_SELECTION_CHANGED,selectionList:A})},clearSelection:function(A){var e,t=!1;if(void 0===A){var i=[];for(var o in this.selectionSet){for(var n in t=!1,e=this.getSelectionSet(o))if(e.hasOwnProperty(n)){t=!0;break}t&&i.push(o)}if(i.length){for(var r=0,a=i.length;a>r;r+=1)this.selectionSet[i[r]]={},this.modelManager.clearSelection(i[r]);this._dispatchChangeEvent()}}else{for(var n in e=this.getSelectionSet(A))if(e.hasOwnProperty(n)){t=!0;break}t&&(this.selectionSet[A]={},this.modelManager.clearSelection(A),this._dispatchChangeEvent())}},addSelection:function(A,e){if(A&&A.length>=1){var t,i=[],o=!1,n=this.modelManager,r=this.filter;if(void 0===e){for(var a={},s=n.getModelKeys(),l=[],c=0,h=s.length;h>c;c+=1){var d=s[c];t=this.getSelectionSet(d),o=!1;for(var p=A.length-1;p>=0;p-=1){n.isUserIdExist(f=A[p],d)&&(!t[f]&&r.isComponentActive(f,d)&&(t[f]=!0,o=!0),a[f]=!0)}o&&l.push(d)}for(p=A.length-1;p>=0;p-=1){a[f=A[p]]||i.push(f)}if(i.length>0&&n.dispatchEvent({type:Rc.ON_SELECTION_FAILED,failedId:i}),l.length){for(var g=0,u=l.length;u>g;g+=1)this.modelManager.applySelection(l[g]);this._dispatchChangeEvent()}}else{t=this.getSelectionSet(e);for(p=A.length-1;p>=0;p-=1){var f;n.isUserIdExist(f=A[p],e)?!t[f]&&r.isComponentActive(f,e)&&(t[f]=!0,o=!0):i.push(f)}i.length>0&&n.dispatchEvent({type:Rc.ON_SELECTION_FAILED,failedId:i}),o&&(this.modelManager.applySelection(e),this._dispatchChangeEvent())}}},setSelection:function(A,e){if(A&&A.length>=1)if(void 0===e){for(var t in this.selectionSet)delete this.selectionSet[t];this.addSelection(A)}else this.selectionSet[e]={},this.addSelection(A,e)},removeSelection:function(A,e){if(A&&A.length>=1){var t=!1;if(void 0===e){var i=[];for(var o in this.selectionSet){var n=this.getSelectionSet(o);t=!1;for(var r=0,a=A.length;a>r;r+=1){var s=A[r];n[s]&&(delete n[s],t=!0)}t&&i.push(o)}if(i.length){for(var l=0,c=i.length;c>l;l+=1)this.modelManager.applySelection(i[l]);this._dispatchChangeEvent()}}else{for(var h=this.getSelectionSet(e),d=0,p=A.length;p>d;d+=1){var g=A[d];h[g]&&(delete h[g],t=!0)}t&&(this.modelManager.applySelection(e),this._dispatchChangeEvent())}}},getSelection:function(A){var e={};if(void 0===A)for(var t in this.selectionSet)for(var i=this.getSelectionSet(t),o=Object.keys(i),n=0,r=o.length;r>n;n+=1)e[o[n]]=!0;else e=this.getSelectionSet(t);return Object.keys(e)},hasSelection:function(A){var e,t=!1;if(void 0===A)for(var i in this.selectionSet){for(var o in e=this.getSelectionSet(i))if(e.hasOwnProperty[o]){t=!0;break}if(t)break}else for(var o in e=this.getSelection(A))if(e.hasOwnProperty[o]){t=!0;break}return t},getSelectionSet:function(A){if(void 0===A){var e={};for(var t in this.selectionSet)for(var i=this.getSelectionSet(t),o=Object.keys(i),n=0,r=o.length;r>n;n+=1)e[o[n]]=!0;return e}return void 0===this.selectionSet[A]&&(this.selectionSet[A]={}),this.selectionSet[A]},isSelected:function(A,e){var t,i=!1;if(void 0===e){for(var o in this.selectionSet)if((t=this.selectionSet[o])&&t[A]){i=!0;break}}else(t=this.selectionSet[e])&&t[A]&&(i=!0);return i},setHoverId:function(A,e){this.hoverId=A,this.modelManager.applyHover(e)},clearHover:function(A){this.hoverId=void 0,this.modelManager.clearHover(A)},getHoverMaterial:function(A){var e=A&&A.isMeshPhongMaterial?this.phongHoverMaterial.clone():this.hoverMaterial.clone();if(A&&A.hasOwnProperty("color")){var t=A.color.clone(),i=Math.max(t.r,Math.max(t.g,t.b));0===i&&(i=.5),t.r+=0===t.r?.3*i:.2*t.r,t.g+=0===t.g?.3*i:.2*t.g,t.b+=0===t.b?.3*i:.2*t.b,t.r>1&&(t.r=1),t.g>1&&(t.g=1),t.b>1&&(t.b=1),1===t.r&&1===t.g&&1===t.b&&(t.r=.87,t.g=.87,t.b=.87),e.color.setHex(t.getHex()),e.opacity=void 0!==A.opacity?A.opacity:this.hoverMaterialDefaultParams.opacity,e.transparent=void 0!==A.transparent?A.transparent:this.hoverMaterialDefaultParams.transparent,e.side=void 0!==A.side?A.side:this.hoverMaterialDefaultParams.side,void 0!==A.metalness&&(e.metalness=A.metalness),void 0!==A.roughness&&(e.roughness=A.roughness),void 0!==A.bumpMap&&(e.bumpMap=A.bumpMap),void 0!==A.alphaMap&&(e.alphaMap=A.alphaMap),void 0!==A.emissiveMap&&(e.emissiveMap=A.emissiveMap),void 0!==A.envMap&&(e.envMap=A.envMap),void 0!==A.envMapIntensity&&(e.envMapIntensity=A.envMapIntensity),null!=A.map&&(e.map=A.map),e.opacity=Kd.getHoverOpacity(e.opacity),e.transparent=!0,e.needsUpdate=!0}return e},getHoverColorByMaterial:function(A){var e=void 0!==A.opacity?A.opacity:this.hoverMaterialDefaultParams.opacity;if(e=Kd.getHoverOpacity(e),!A.hasOwnProperty("color"))return{rgbaColor:[this.hoverMaterial.color.r,this.hoverMaterial.color.g,this.hoverMaterial.color.b,e],transparent:!0};var t=A.color.clone();return{rgbaColor:[t.r,t.g,t.b,e],transparent:!0}},setSelectionColor:function(A,e){var t=this.selectionMaterial.opacity;e=void 0===e?t:e,"0x"+this.selectionMaterial.color.getHexString()===A&&t===e||(this.selectionMaterial.color.setHex(A),e&&(this.selectionMaterial.opacity=e),this.selectionMaterial.needsUpdate=!0)},getSelectionColor:function(){var A=this.selectionMaterial.opacity;return new Xh(this.selectionMaterial.color.getHex(),A)},getSelectionMaterial:function(){return this.selectionMaterial.clone()},setBlinkComponentsById:function(A,e){if(this.blinkComponentIds={},A&&0!==A.length){for(var t=A.length-1;t>=0;t-=1){this.filter.isComponentActive(A[t],e)&&(this.blinkComponentIds[A[t]]=!0)}this.modelManager.applyBlink()}},addBlinkComponentsById:function(A,e){if(A&&A.length){for(var t=this.blinkComponentIds,i=!1,o=A.length-1;o>=0;o-=1){var n=A[o];!t[n]&&this.filter.isComponentActive(n)&&(t[n]=!0,i=!0)}i&&this.modelManager.applyBlink()}},clearBlinkComponentsById:function(A,e){if(A&&A.length){for(var t=!1,i=this.blinkComponentIds,o=0,n=A.length;n>o;o+=1){var r=A[o];i[r]&&(delete i[r],t=!0)}t&&this.modelManager.applyBlink()}},clearAllBlinkComponents:function(){var A=!1;uh.isOwnEmptyObject(this.blinkComponentIds)||(A=!0,this.blinkComponentIds={}),A&&this.modelManager.clearBlink()},getBlinkComponents:function(){return Object.keys(this.blinkComponentIds)},getBlinkComponentsIdMap:function(A){var e=this;if(this.modelManager.getBlinkEnabled()){if(A){var t=this.getBlinkComponents(),i={};return t.forEach((function(t){var o=e.modelManager.filterHelper.distributeId(t),n=o.modelKey,r=o.objectId;n&&n.toString()!==A.toString()||(i[r]=e.blinkComponentIds[t])})),i}return this.blinkComponentIds}return null},getBlinkMaterial:function(A){return Kd.getBlinkMaterial(A,this.modelManager.getBlinkColor())},getBoxMaterial:function(){return this.boxMaterial.clone()},setBoxColor:function(A,e){var t=this.boxMaterial.opacity;e=void 0===e?t:e,"0x"+this.boxMaterial.color.getHexString()===A&&t===e||(this.boxMaterial.color.setHex(A),e&&(this.boxMaterial.opacity=e),this.boxMaterial.needsUpdate=!0,this.boxMaterial.color.setHex(A),this.boxMaterial.needsUpdate=!0)}};var ry=function(){this.hiddenUserIdMap={}};ry.prototype.destroy=function(){this.hiddenUserIdMap=null},ry.prototype.hideByUserId=function(A,e){this.hiddenUserIdMap||(this.hiddenUserIdMap={}),this.hiddenUserIdMap[A]=!!e},ry.prototype.cancelHiddenByUserId=function(A){this.hiddenUserIdMap&&delete this.hiddenUserIdMap[A]},ry.prototype.cancelAllHidden=function(){this.hiddenUserIdMap=null},ry.prototype.isHidden=function(A){return!!this.hiddenUserIdMap[A]},ry.prototype.hasHidden=function(){return!uh.isEmptyObject(this.hiddenUserIdMap)};var ay=function(){this.materialDefaultParams={color:14540253,opacity:.5,transparent:!0,side:0},this.material=Kd.createPhongMaterial(this.materialDefaultParams)};ay.prototype.destroy=function(){this.material=null},ay.prototype.resetColor=function(){this.material.color.setHex(this.materialDefaultParams.color)},ay.prototype.resetOpacity=function(){this.material.opacity=this.materialDefaultParams.opacity},ay.prototype.reset=function(){this.material.color.setHex(this.materialDefaultParams.color),this.material.opacity=this.materialDefaultParams.opacity,this.material.transparent=this.materialDefaultParams.transparent,this.material.side=this.materialDefaultParams.side,this.material.needsUpdate=!0};var sy=function(A){this.manager=A,this.requestCount=0,this.maxRequestCount=1e5,this.loading=!1,this.delayIntervalTime=300};sy.prototype.destroy=function(){this.manager=null,this.currentConditions=null,this.delayLoadTimer&&(clearTimeout(this.delayLoadTimer),this.delayLoadTimer=null)},sy.prototype.isValidModel=function(A){return!(A.isEmptyScene()||!A.isLayerData())},sy.prototype.loadGeopkOnDemandByConditionsWithDelay=function(A,e,t,i){var o=this,n=this.delayIntervalTime;o.delayLoadTimer&&clearTimeout(o.delayLoadTimer),o.delayLoadTimer=setTimeout((function(){o.loadGeopkOnDemandByConditions(A,e,t,i)}),n)},sy.prototype.loadGeopkOnDemandByConditions=function(A,e,t,i){if(this.currentConditions=A,this.requestCount+=1,this.requestCount>this.maxRequestCount&&(this.requestCount=0),!this.loading){this.loading=!0;var o=this;requestAnimationFrame(function A(n){var r=n,a=o.currentConditions;return function(){o._loadGeopkOnDemandByConditions(a,e,t,(function(){r!==o.requestCount?requestAnimationFrame(A(o.requestCount)):(o.loading=!1,i&&i(a),a=null)}))}}(this.requestCount))}},sy.prototype._loadGeopkOnDemandByConditions=function(A,e,t,i){var o=this;this.manager.traverseModels((function(n){o.isValidModel(n)&&n._getHandler().loadGeopkOnDemand(A,e,t,i)}))},sy.prototype.getBoundingBoxOnDemand=function(){var A=new aA,e=this;return this.manager.traverseModels((function(t){if(e.isValidModel(t)){var i=t._getHandler().getLayerProvider().getUnionBoundingBoxOnDemand();i&&A.union(i)}})),A.isEmpty()?null:A},sy.prototype.isLoading=function(){return this.loading},sy.prototype.getBoundingBoxForUsedComponent=function(){var A=this.manager,e=new aA;return A.traverseModels((function(t){var i=t.getLoadedUserIdsObject();i&&e.union(A.getBoundingBoxByIds(i))})),e.isEmpty()?null:e};var ly=function(A,e){vc.UseWorker&&mh.isSupportWorker()&&(this.websocketWorker=new Worker("src/worker/WebsocketWorker.js"),this.prepareDataWorkers=new Worker("src/worker/PrepareDataWorker.js")),mh.isMobileDevice()&&(vc.maxObjectNumInPool=6e3,vc.maxDrawCacheNum=4e3),this.scene=new oy(this),this.filter=A,this.crossOrigin=!0,this.models={},this.viewerImpl=e,this.materialPool=null,this.occlusionCamera=null,this.containsCamera=!1,this.highPriorityCategories={inner:{},outer:{}},this.octantToObjectMap={},this.instanceGeometries={},this.sceneState=new ny(this),this.modelState=new ny(this),this.filter.setSceneStateHelper(this.sceneState),this.rotation=new f,this.boundingBox=new aA,this.explosionList={},this.IBLMaterial=!1,this.clippingCaps=!1,this.blinkStartTime=null,this.blinkEnabled=!1,this.blinkIntervalTime=600,this.blinkPermited=!1,this.defaultBlinkColor=(new LA).setHex(3330982),this.defaultBlinkAlpha=1,this.blinkColor=new p(this.defaultBlinkColor.r,this.defaultBlinkColor.g,this.defaultBlinkColor.b,this.defaultBlinkAlpha),this.selectPriority=!0,this.materialOverrideSet=null,this.plugins=[],this.cameraFov=0,this.cameraPosition=new y,this.domElementWidth=1,this.transformComponent={}};Object.assign(ly.prototype,Ld.prototype),ly.prototype.destroy=function(){for(var A in this.removeAllEventListener(),this.models)this.models[A].destroy();this.models=null,this.octantToObjectMap=null,this.materialPool&&(this.materialPool.destroy(),this.materialPool=null),this.occlusionCamera&&(this.occlusionCamera=null);for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].destroy();this.plugins=null,this.loadOnDemandDirector&&(this.loadOnDemandDirector.destroy(),this.loadOnDemandDirector=null),this.highPriorityCategories=null,this.rotation=null,this.boundingBox=null,this.scene.destroy(),this.scene=null,this.filter=null,this.sceneState.destroy(),this.sceneState=null,this.modelState.destroy(),this.modelState=null,this.blinkStartTime=null,this.defaultBlinkColor=null,this.blinkColor=null,this.floorExplosionList=null,this.explosionTranslation=null},ly.prototype.registerPlugin=function(A){this.plugins.push(A)},ly.prototype.removeAllEventListener=function(){this._listeners=void 0},ly.prototype.prepareCapScene=function(){this.capsScene?this.clippingCaps||(this.initCapPlane(),this.initCapBox()):(this.capsScene=new oy,this.clippingCaps||(this.initCapPlane(),this.initCapBox()),this.scene.createCapStencilMaterials())},ly.prototype.initCapPlane=function(){var A=this.scene.getFillClipPlane().initCapsPlane();this.capsScene.add(A.planeMesh),this.capsScene.add(A.lineMesh),this.clippingCaps=!0},ly.prototype.initCapBox=function(){var A=this.scene.getClipPlanes().initCapsBox();A.material.needsUpdate=!0,A.visible=!0,this.capsScene.add(A),this.clippingCaps=!0},ly.prototype.getAllComponents=function(){return this.scene.pool._pool},ly.prototype.getAllComponentsKey=function(){var A=[];for(var e in this.models)if(this.models.hasOwnProperty(e)){var t=this.models[e];if(t){var i=t.getComponentlist();A=A.concat(i)}}return A},ly.prototype.getComponentsKeyByModelKey=function(A){var e=[];if(this.models.hasOwnProperty(A)){var t=this.models[A];if(t)e=t.getComponentlist()}return e},ly.prototype.getComponent=function(A){for(var e in this.models)if(this.models.hasOwnProperty(e)){var t=this.models[e];if(t.isLoaded()&&t.getComponentInfo(A)){var i=t.getComponentInfo(A);if(i)return i}}for(var o=0,n=this.plugins.length;n>o;o+=1)if(this.plugins[o].getNodeInfosByUserId){var r=this.plugins[o].getNodeInfosByUserId(A);if(r)return r}},ly.prototype.getStorage=function(){return this.storage},ly.prototype.updateTransformComponentList=function(A){this.transformComponent[A]=!0},ly.prototype._updateOcclusionCamera=function(A){var e=A.near,t=A.distanceFromWorldToDrawing(this.getMatrixWorldGlobal(),vc.OcclusionDistanceToCamera);this.occlusionCamera?this.occlusionCamera.copy(A):this.occlusionCamera=A.clone(),this.occlusionCamera.setNearFar(e,t),this.occlusionCamera.updateMVP()},ly.prototype._clearMaterialPool=function(){this.materialPool&&this.materialPool.clear()},ly.prototype.acquireMaterial=function(){return this.materialPool?this.materialPool.acquire():null},ly.prototype.getObjectPool=function(){return this.scene.getObjectPool()},ly.prototype.getFrustumFromOcclusionCamera=function(){return this.occlusionCamera.getFrustum(!1)},ly.prototype.getOcclusionCamera=function(){return this.occlusionCamera},ly.prototype.prepareScene=function(A,e){var t=this.models;for(var i in vc.MergeComponent||(this.clearPool(),this.clearObjectRangeFromOctantMap()),vc.OcclusionTranslucentEnabled&&(null===this.materialPool&&(this.materialPool=new qC,this.materialPool.init(ay,50)),this._clearMaterialPool(),this._updateOcclusionCamera(A)),t)if(t.hasOwnProperty(i)){var o=t[i];!vc.RendererWhenLoad&&!o.isLoaded()||o.isEmptyScene()||o.prepare(A,e)}this.dealStateChanged()},ly.prototype.clearPool=function(){this.scene.getObjectPool().clear()},ly.prototype.clearObjectRangeFromOctantMap=function(){this.octantToObjectMap&&this.octantToObjectMap.pool&&(this.octantToObjectMap.pool={})},ly.prototype.setDrawableModel=function(A){this.isDrawableModel=A},ly.prototype.isDrawable=function(){return this.isDrawableModel},ly.prototype.load=function(A,e,t){var i=this.models,o=i[A.modelKey],n=this;if(this.setDrawableModel(!1),void 0!==o)return this.setDrawableModel(!0),o.isVisible()||(o.setVisible(!0),o.dispatchEventEx({type:Rc.ON_LOAD_COMPLETE})),o;var r=[];for(var a in i)i.hasOwnProperty(a)&&r.push(i[a].index);r.sort();for(var s=0;r.length>s&&r[s]===s;s+=1);return o=new("GIS"===A.type?PC:TC)(this,A,(function(e,t){if(vc.UseWorker){if(n.websocketWorker&&n.prepareDataWorkers){var i=JSON.parse(window.localStorage.getItem("bos_IndexedDB"));i||(i={version:1}),window.localStorage.setItem("bos_IndexedDB",JSON.stringify(i));var r=i.version;n.websocketWorker.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:o.modelKey,dbName:o.projectKey,version:r}}),n.websocketWorker.onmessage=o.onWSWorkerMessage,n.prepareDataWorkers.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:o.modelKey,dbName:o.projectKey,version:r}}),n.prepareDataWorkers.onmessage=o.onPDWorkerMessage}}else e.load(A.notifyProgress)}),t),this.filter.addModel(o.modelKey),this.models[A.modelKey]=o,o},ly.prototype.loadTiles=function(A,e,t){var i=this.models,o=i[A.modelKey],n=this;if(void 0!==o)return o.isVisible()||(o.setVisible(!0),o.dispatchEventEx({type:Rc.ON_LOAD_COMPLETE})),o;var r=[];for(var a in i)i.hasOwnProperty(a)&&r.push(i[a].index);r.sort();for(var s=0;r.length>s&&r[s]===s;s+=1);return o=new PC(this,A,(function(e,t){if(vc.UseWorker){if(n.websocketWorker&&n.prepareDataWorkers){var i=JSON.parse(window.localStorage.getItem("bos_IndexedDB"));i||(i={version:1}),window.localStorage.setItem("bos_IndexedDB",JSON.stringify(i));var r=i.version;n.websocketWorker.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:o.modelKey,dbName:o.projectKey,version:r}}),n.websocketWorker.onmessage=o.onWSWorkerMessage,n.prepareDataWorkers.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:o.modelKey,dbName:o.projectKey,version:r}}),n.prepareDataWorkers.onmessage=o.onPDWorkerMessage}}else e.load(A.notifyProgress)}),t),this.models[A.modelKey]=o,o},ly.prototype.loadModels=function(A){var e=this.models[A.modelKey],t=this;return void 0!==e?(e.isVisible()||(e.setVisible(!0),e.dispatchEventEx({type:Rc.ON_LOAD_COMPLETE})),e):(e=new TC(this,A,(function(){if(vc.UseWorker){if(t.websocketWorker&&t.prepareDataWorkers){var i=JSON.parse(window.localStorage.getItem("bos_IndexedDB"));i||(i={version:1}),window.localStorage.setItem("bos_IndexedDB",JSON.stringify(i));var o=i.version;t.websocketWorker.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:e.modelKey,dbName:e.projectKey,version:o}}),t.websocketWorker.onmessage=e.onWSWorkerMessage,t.prepareDataWorkers.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:e.modelKey,dbName:e.projectKey,version:o}}),t.prepareDataWorkers.onmessage=e.onPDWorkerMessage}}else e.load(A.notifyProgress)})),this.models[A.modelKey]=e,e)},ly.prototype.unload=function(A){var e=this.models[A];return!!e&&(e.destroy(),delete this.models[A],this.filter.removeModel(A),this.filter.reinitFilterManager(this.getNodeInfos()),this.updateScene(),this.updateFilterManager(),this.filter.getObjectInfoManager().calculateVisibleComponentsBbox(),!0)},ly.prototype.unloadAll=function(){for(var A=this.getModelKeys(),e=0,t=A.length;t>e;e+=1)this.unload(A[e]);this.clearPool(),this.models={}},ly.prototype.showModel=function(A){var e=this.models[A];return!!e&&(e.setVisible(!0),!0)},ly.prototype.hideModel=function(A){var e=this.models[A];return!!e&&(e.setVisible(!1),!0)},ly.prototype.getModelKeys=function(){var A=this.models,e=[];for(var t in A)A.hasOwnProperty(t)&&e.push(t);return e},ly.prototype.updateScene=function(){this.updateSceneBoundingBox()},ly.prototype.updateSceneBoundingBox=function(){var A=this.models,e=this.boundingBox;for(var t in e.makeEmpty(),A)if(A.hasOwnProperty(t)){var i=A[t];if(!i.isEmptyScene()){var o=i.getBoundingBoxWorld();if(!o||o.isEmpty())continue;e.isEmpty()?e.copy(o):(e.expandByPoint(o.min),e.expandByPoint(o.max))}}for(var n=0,r=this.plugins.length;r>n;n+=1){var a=this.plugins[n];if("function"==typeof a.getBoundingBoxWorld){var s=a.getBoundingBoxWorld();s&&e.union(s)}}this.scene.setBoundingBoxWorld(e)},ly.prototype.parseSceneRootNode=function(A){this.scene.parseRootNode(A),this.updateSceneBoundingBox()},ly.prototype.updateSceneRootMatrix=function(){var A=!1,e=new M,t=new M,i=new f,o=this.models;for(var n in this.models)if(o.hasOwnProperty(n)){var r=o[n];if(!r.isEmptyScene()){i.copy(r.getTransforms().rotation),e.copy(r.getTransforms().transformMatrix),A=r.getTransforms().transformed;break}}if(this.scene.setTransformMatrixGlobal(e),A)t.copy(e);else{var a=new y(1,1,1),s=vc.SceneSize,l=this.boundingBox.getSize(new y),c=Math.max(l.x,l.y,l.z);a.multiplyScalar(s/c),t.makeRotationFromQuaternion(i),t.scale(a)}this.scene.updateWorldMatrixByMatrix(t)},ly.prototype.updateSceneRenderable=function(){var A=this.models,e=vc.maxObjectNumInPool,t=[],i=0;for(var o in A){if(A.hasOwnProperty(o))(a=A[o]).isEmptyScene()||(i+=a.model.getStatistics().renderableTotalForPool,t.push(o))}for(var n=0,r=t.length;r>n;n+=1){var a=A[o=t[n]],s=Math.floor(a.getStatistics().renderableTotalForPool/i*e);s>a.getStatistics().renderableTotalForPool&&(s=a.getStatistics().renderableTotalForPool),a.setRenderableCount(s)}},ly.prototype.updateOctreeNode=function(){var A=this.models;for(var e in this.models)if(A.hasOwnProperty(e)){var t=A[e];t.isLoaded()&&!t.isEmptyScene()&&t.updateOctreeNode(!0)}},ly.prototype.updateMaterials=function(){var A=this.models;for(var e in this.models)if(A.hasOwnProperty(e)){var t=A[e];t.isLoaded()&&!t.isEmptyScene()&&t.materialManager.updateMaterials(t)}},ly.prototype.updateMaterialsValue=function(A,e){var t=this.models;for(var i in this.models)if(t.hasOwnProperty(i)){var o=t[i];o.isLoaded()&&!o.isEmptyScene()&&o.materialManager.updateMaterialsValue(o,A,e)}this.materialOverrideSet&&this.materialOverrideSet.updateMaterialsValue(A,e)},ly.prototype.enableColorWithoutLight=function(A){var e=this.models;for(var t in this.models)if(e.hasOwnProperty(t)){var i=e[t];i.isLoaded()&&i.isEmptyScene()}},ly.prototype.switchNewStyleMaterial=function(A){var e=this.models;for(var t in this.models)if(e.hasOwnProperty(t)){var i=e[t];i.isLoaded()&&!i.isEmptyScene()&&i.materialManager.switchNewStyleMaterial(i,A)}},ly.prototype.changeAllMaterials=function(A){if(this.IBLMaterial!==A){var e=this.models;for(var t in this.models)if(e.hasOwnProperty(t)){var i=e[t];i.isEmptyScene()||i.materialManager.changeAllMaterials(i,A)}this.IBLMaterial=A}},ly.prototype.setCrossOrigin=function(A){this.crossOrigin=A},ly.prototype.getMatrixWorldGlobal=function(){return this.scene.getMatrixWorldGlobal()},ly.prototype.hasModel=function(){var A=this.models;for(var e in A){if(A.hasOwnProperty(e))if(A[e].isLoaded())return!0}return!1},ly.prototype.isEmpty=function(){if(this.hasModel())return!1;for(var A=!1,e=0,t=this.plugins.length;t>e;e+=1){var i=this.plugins[e];if("function"==typeof i.isEmpty&&!i.isEmpty()){A=!0;break}}return!A},ly.prototype.hasModelDataReady=function(){var A=this.models,e=!1;for(var t in A){if(A.hasOwnProperty(t))if(e=!0,!A[t].isDataReady())return!1}return e},ly.prototype.isLayerData=function(){var A=this.models;for(var e in A){if(A.hasOwnProperty(e))if(A[e].isLayerData())return!0}return!1},ly.prototype.getModel=function(A){var e=this.models[A];return e||null},ly.prototype.getFirstModel=function(){var A=Object.keys(this.models)[0];return this.models[A]},ly.prototype.showOctreeBox=function(A){vc.ShowOctant||this.scene.removeGroupByName(gp.OCTREENODE)},ly.prototype.setCategoriesToHighPriority=function(A,e){var t=A.length;if(t>=1)for(var i=this.highPriorityCategories[e]={},o=0;t>o;o+=1)i[A[o]]=!0},ly.prototype.getCategoriesFromHighPriority=function(A){return this.highPriorityCategories[A]},ly.prototype.clearCategoriesFromHighPriority=function(A){this.highPriorityCategories[A]={}},ly.prototype.clearAllCategoriesFromHighPriority=function(){this.clearCategoriesFromHighPriority("inner"),this.clearCategoriesFromHighPriority("outer")},ly.prototype.calculateCameraModelRelation=function(A){var e=!1,t=this.models;for(var i in t)if(t.hasOwnProperty(i)){var o=t[i];o&&o.isLoaded()&&!o.isEmptyScene()&&(o.calculateCameraModelRelation(A),e=e||o.containsCamera)}this.containsCamera=e},ly.prototype.getCameraNameList=function(){var A=this.models,e=[];for(var t in A)if(A.hasOwnProperty(t)){var i=A[t];i.isEmptyScene()||(e=e.concat(i.getCameraNameList()))}return e},ly.prototype.getCamera=function(A){var e=this.models,t=null;for(var i in e)if(e.hasOwnProperty(i)){var o=e[i];if(!o.isEmptyScene()&&(t=o.getCamera(A)))break}return t},ly.prototype.getNumOfElements=function(){var A=this.models,e=0;for(var t in this.models)if(A.hasOwnProperty(t)){var i=A[t];i.isEmptyScene()||(e+=i.getStatistics().numOfElements)}return e},ly.prototype.getNumOfRenderables=function(){var A=this.models,e=0;for(var t in this.models)if(A.hasOwnProperty(t)){var i=A[t];i.isEmptyScene()||(e+=i.getStatistics().renderableTotal)}return e},ly.prototype.getNumOfTriangles=function(){var A=this.models,e=0;for(var t in this.models)if(A.hasOwnProperty(t)){var i=A[t];i.isEmptyScene()||(e+=i.getStatistics().numOfTriangles)}return e},ly.prototype.getScene=function(){return this.scene},ly.prototype.getOctreeRoots=function(){var A=this.models,e={};for(var t in A)if(A.hasOwnProperty(t)){var i=A[t];if(i.isLoaded()&&!i.isEmptyScene()){var o=i.getEncodedDatabagId();e[o]=[],i.getModelDescriptor().getOctreeRoots(e[o])}}return e},ly.prototype.getModelSnapshotPhoto=function(){return this.viewerImpl.render(),{imgURL:this.viewerImpl.getRenderer().domElement.toDataURL("image/png"),height:this.viewerImpl.domElement.offsetHeight,width:this.viewerImpl.domElement.offsetWidth}},ly.prototype.addMeshToOctantMap=function(A,e,t){var i=this.octantToObjectMap;i[A]||(i[A]={}),i[A].mesh||(i[A].mesh={}),i[A].mesh[e]||(i[A].mesh[e]=[]),i[A].mesh[e].push(t)},ly.prototype.addNodeInfoToOctantMap=function(A,e,t){var i=this.octantToObjectMap;i[A]||(i[A]={}),i[A].info||(i[A].info={}),i[A].info[e]||(i[A].info[e]=[]),i[A].info[e].push(t)},ly.prototype.removeNodeInfoFromOctantMap=function(A,e){var t=this.octantToObjectMap;if(t[A]&&t[A].info&&t[A].info[e.componentKey])for(var i=t[A].info[e.componentKey],o=i.length-1;o>=0;o-=1)if(e.nodeId===i[o].nodeId){i.splice(o);break}},ly.prototype.clearNodeInfosFromOctantMap=function(A){var e=this.octantToObjectMap;e[A]&&e[A].info&&(e[A]=null)},ly.prototype.removeAllFromOctantMap=function(A){var e=this.octantToObjectMap;e[A]&&delete e[A]},ly.prototype.clearMeshFromOctantMap=function(A){var e=this.octantToObjectMap;e[A]&&e[A].mesh&&delete e[A].mesh},ly.prototype.removeMeshFromOctantMap=function(A,e){var t=this.octantToObjectMap;if(t[A]&&t[A].mesh){var i=0,o=t[A].mesh[e];for(i=o.length-1;i>=0;i-=1)delete o[i];delete t[A].mesh[e]}},ly.prototype.removeBatchedMeshFromOctantMap=function(A,e){var t=this.octantToObjectMap;if(t[A]&&t[A].mesh&&t[A].info){var i=0,o=t[A].info[e];for(i=o.length-1;i>=0;i-=1)o.splice(i);delete t[A].info[e]}},ly.prototype.getOctantMap=function(){return this.octantToObjectMap},ly.prototype.isFilterApplied=function(){return this.filterApplied},ly.prototype.setFilterApplied=function(A){this.filterApplied=A},ly.prototype.applyFilter=function(){for(var A in Bh.time("applyFilter"),this.models){this.models[A].applyFilter()}for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].applyFilter();this.setFilterApplied(!0),Bh.timeEnd("applyFilter")},ly.prototype.applySelection=function(){for(var A in this.selectPriority=!0,this.models){this.models[A].applySelection()}this.scene.getExtrudeBodyManager().applySelection(this);for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].applySelection()},ly.prototype.clearSelection=function(){for(var A in this.selectPriority=!0,this.models){this.models[A].clearSelection()}this.scene.getExtrudeBodyManager().clearSelection();for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].clearSelection()},ly.prototype.applyHover=function(){if(vc.Hover&&!vc.EnableRenderPass)for(var A in this.models){this.models[A].applyHover()}this.scene.getExtrudeBodyManager().applyHover(this);for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].applyHover()},ly.prototype.clearHover=function(){if(vc.Hover&&!vc.EnableRenderPass)for(var A in this.models){this.models[A].clearHover()}this.scene.getExtrudeBodyManager().clearHover();for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].clearHover()},ly.prototype.chooseRendering=function(A){},ly.prototype.isUserIdExist=function(A){var e=!1;for(var t in this.models){if(this.models.hasOwnProperty(t))if(this.models[t].getModelDescriptor().isUserIdExist(A)){e=!0;break}}for(var i=0,o=this.plugins.length;o>i;i+=1)if(this.plugins[i].isUserIdExist&&this.plugins[i].isUserIdExist(A)){e=!0;break}return e},ly.prototype.getNodeInfosByUserId=function(A){var e=[];for(var t in this.models){var i=this.models[t];if(i&&i.isLoaded()){var o=this.models[t].getModelDescriptor().getNodeInfosByUserId(A);o&&(e=e.concat(o))}}for(var n=0,r=this.plugins.length;r>n;n+=1)if(this.plugins[n].getNodeInfosByUserId){var a=this.plugins[n].getNodeInfosByUserId(A);a&&(e=e.concat(a))}return e.length?e:null},ly.prototype.getNodeInfos=function(){var A={};for(var e in this.models)if(this.models[e].isLoaded()){var t=this.models[e].getModelDescriptor().getAllNodeInfos();t&&(A[e]=t)}var i=this.getNodeInfosInPlugins();return Object.assign(A,i),A},ly.prototype.getNodeInfosInPlugins=function(){for(var A={},e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].getAllNodeInfos&&this.plugins[e].getAllNodeInfos(A);return A},ly.prototype.getMaterialByNodeId=function(A,e,t){var i=this.models[A];if(!i)return null;for(var o=i.getModelDescriptor().getNodeInfosByUserId(e),n=-1,r=0,a=o.length;a>r;r+=1)if(o[r].nodeId===t){n=r;break}return-1!==n?i.getMaterialByMaterialId(o[n].materialId):null},ly.prototype.getNodeInfoByNodeId=function(A,e,t){var i=this.models[A];if(!i)return null;for(var o=i.getModelDescriptor().getNodeInfosByUserId(e),n=-1,r=0,a=o.length;a>r;r+=1)if(o[r].nodeId===t){n=r;break}return-1!==n?o[n]:null},ly.prototype.getComponentInfoByUserId=function(A){var e=this.getNodeInfosByUserId(A);if(e&&e.length>0){for(var t=new aA,i=[],o=0,n=e.length;n>o;o+=1)t.union(e[o].boundingBox),-1===i.indexOf(e[o].materialId)&&i.push(e[o].materialId);return{userId:A,state:0,materials:i,boundingBox:t,userData:e[0].userData}}return null},ly.prototype.getBoundingBoxByIds=function(A){var e=this.getScene(),t=new aA;for(var i in A)if(!this.isHiddenUserId(i)){Array.isArray(A)&&(i=A[i]);var o=this.getComponentInfoByUserId(i);if(o)t.union(o.boundingBox);else{var n=e.getExtrudeBodyManager().getNode(i);if(n){var r=n.geometry.boundingBox.clone();n.matrix&&r.applyMatrix4(n.matrix),t.union(r)}}}return t},ly.prototype.createMaterialOverrideSet=function(A,e){this.materialOverrideSet=new MaterialOverriderSet(A,e),vc.EnableTextureMapping=!0},ly.prototype.getMaterialOverrideSet=function(){return this.materialOverrideSet},ly.prototype.getOverrideMaterialByNodeInfo=function(A){return this.materialOverrideSet?this.materialOverrideSet.getOverrideMaterialByNodeInfo(A):null},ly.prototype.getOverrideMaterialByName=function(A){return this.materialOverrideSet?this.materialOverrideSet.getOverrideMaterialByName(A):null},ly.prototype.loadOverrideMaterialsByDemand=function(A,e){if(this.materialOverrideSet){var t=this.getConditions();this.materialOverrideSet.loadByDemand(t,A,e)}else e&&e()},ly.prototype.getConditions=function(){var A={},e={},t={};for(var i in this.models){var o=this.models[i].getModelDescriptor().getAllNodeInfos();if(o)for(var i in o)if(o.hasOwnProperty(i))for(var n=0,r=o[i].length;r>n;n+=1){var a=o[i][n].userData;e[o[i][n].userId]=!0,t[a.systemTypeId]=!0,A[a.familyId]=!0}}return{familyIds:A,elementIds:e,systemTypeIds:t}},ly.prototype.isHiddenUserId=function(A){var e=!1;for(var t in this.models){if(this.models.hasOwnProperty(t))if((t=this.models[t]).isHiddenUserId(A)){e=!0;break}}return e},ly.prototype.isHiddenSourceObjectUserId=function(A){return!!this.sourceObjectManager&&this.sourceObjectManager.isHidden(A)},ly.prototype.hasHiddenSourceObjectUserId=function(){return!!this.sourceObjectManager&&this.sourceObjectManager.hasHidden()},ly.prototype.updateMeshNodes=function(){for(var A in this.models){if(this.models.hasOwnProperty(A))(A=this.models[A]).updateMeshNodes()}},ly.prototype.getMinDistanceObjects=function(A,e){var t=this,i={};for(var o in this.models)if(this.models.hasOwnProperty(o)){(o=this.models[o]).minDistanceObjects={};var n=o.getMeshesByUserIds(A),r=o.getMeshesByUserIds(e);if(n&&n.length>0&&(i[A]=n),r&&r.length>0&&(i[e]=r),i[A]&&i[e])return i}var a=null,s=null,l=null,c=null,h=null,d=function(){var i={},o=function(A,e,t){var o={};o.mesh=A;var n=new M;t?n.multiplyMatrices(t,A.matrix):n=A.matrix,o.matrix=n;var r=A.geometry.boundingBox;r||(A.geometry.computeBoundingBox(),r=o.mesh.geometry.boundingBox);var a=r.clone().applyMatrix4(n);o.boundingBox=a,i[e]&&(i[e]=[]),i[e].push(o)};if(!(a=t.scene.getGroup("ExternalComponentManager")))return{v:void 0};for(l=0,c=(s=a.children).length;c>l;l+=1)(h=s[l]).name!==A&&h.name!==e||(uh.isGroupObject(h)?h.traverseVisible((function(A){uh.isMeshObject(A)&&o(A,h.name,h.matrix)})):o(h,h.name));return{v:i}}();return d&&d.v&&(d.v[A]&&d.v[A].length>0&&(i[A]=d.v[A]),d.v[e]&&d.v[e].length>0&&(i[e]=d.v[e]),i[A]&&i[e])||i[A]&&i[e]?i:null},ly.prototype.getMeshByUserId=function(A){for(var e in this.models)if(this.models.hasOwnProperty(e)){var t=(e=this.models[e]).getMeshesByUserIds(A);if(t)return t}return null},ly.prototype.adjustVisibility=function(A){for(var e in this.models)this.models[e]&&this.models[e]._getHandler().adjustVisibility(A);for(var t=0,i=this.plugins.length;i>t;t+=1){var o=this.plugins[t];o.adjustVisibility&&"function"==typeof o.adjustVisibility&&o.adjustVisibility(A)}this.otherAdjustVisibility&&this.otherAdjustVisibility(A)},ly.prototype.changeVisibilityOfSelectedObjects=function(A){for(var e in this.models)this.models[e]&&this.models[e]._getHandler().changeVisibilityOfSelectedObjects(A);for(var t=0,i=this.plugins.length;i>t;t+=1){var o=this.plugins[t];o.changeVisibilityOfSelectedObjects&&"function"==typeof o.changeVisibilityOfSelectedObjects&&o.changeVisibilityOfSelectedObjects(A)}},ly.prototype.changeVisibilityOfNonSelectedObjects=function(A){for(var e in this.models)this.models[e]&&this.models[e]._getHandler().changeVisibilityOfNonSelectedObjects(A);this.otherAdjustVisibility&&this.otherAdjustVisibility(A);for(var t=0,i=this.plugins.length;i>t;t+=1){var o=this.plugins[t];o.changeVisibilityOfNonSelectedObjects&&"function"==typeof o.changeVisibilityOfNonSelectedObjects&&o.changeVisibilityOfNonSelectedObjects(A)}},ly.prototype.adjustInstanceVisibility=function(A){for(var e in this.models)this.models[e]&&this.models[e].merged&&this.models[e]._getHandler().adjustInstanceVisibility(A)},ly.prototype.adjustVisibilityOfObjectsWithoutOutline=function(A){for(var e in this.models)if(this.models[e]){var t=this.models[e].axisNetManager;t&&t.visibleByUser&&(A?this.models[e].axisNetManager.privateShow():this.models[e].axisNetManager.privateHide())}for(var i=0,o=this.plugins.length;o>i;i+=1){var n=this.plugins[i];n.adjustVisibilityOfObjectsWithoutOutline&&"function"==typeof n.adjustVisibilityOfObjectsWithoutOutline&&n.adjustVisibilityOfObjectsWithoutOutline(A)}var r;this.scene.hasClipPlanes()&&((r=this.scene.getClipPlanes()).isEnabled()&&(!1===A&&r.visible?(r.visible=!1,r._hideByModelManager=!0):!0===A&&r._hideByModelManager&&(r.visible=!0,delete r._hideByModelManager)));this.scene.hasFillClipPlanes()&&((r=this.scene.getFillClipPlane()).isEnabled()&&(!1===A&&r.visible?(r.visible=!1,r._hideByModelManager=!0):!0===A&&r._hideByModelManager&&(r.visible=!0,delete r._hideByModelManager)));this.scene.receivingPlane&&(!1===A&&this.scene.receivingPlane.visible?(this.scene.receivingPlane.visible=!1,this.scene.receivingPlane._hideByModelManager=!0):!0===A&&this.scene.receivingPlane._hideByModelManager&&(this.scene.receivingPlane.visible=!0,delete this.scene.receivingPlane._hideByModelManager)),this.otherAdjustVisibility&&this.otherAdjustVisibility(A);for(var a=this.scene.children,s=(i=0,a.length);s>i;i+=1){var l=a[i];l!==this.scene.objectGroups&&!0!==l.isLight&&!0===l.isObject3D&&(l.visible=A)}},ly.prototype.changeInstanceVisibilityOfSelectedObjects=function(A){for(var e in this.models)this.models[e]&&this.models[e].merged&&this.models[e]._getHandler().changeInstanceVisibilityOfSelectedObjects(A)},ly.prototype.changeInstanceVisibilityOfNonSelectedObjects=function(A){for(var e in this.models)this.models[e]&&this.models[e].merged&&this.models[e]._getHandler().changeInstanceVisibilityOfNonSelectedObjects(A)},ly.prototype.restoreVisibilityOfObjects=function(){for(var A in this.models)this.models[A]&&this.models[A]._getHandler().restoreVisibilityOfObjects();this.otherAdjustVisibility&&this.otherAdjustVisibility(!0)},ly.prototype.getComponentKeysByTypeFromList=function(A,e){var t=[];for(var i in this.models){if(this.models.hasOwnProperty(i))if((i=this.models[i]).isLoaded()){var o=i.getComponentKeysByTypeFromList(A,e);o&&(t=t.concat(o))}}return t},ly.prototype.getComponentKeysByType=function(A){var e=[];for(var t in this.models){if(this.models.hasOwnProperty(t))if((t=this.models[t]).isLoaded()){var i=t.getComponentKeysByType(A);i&&(e=e.concat(i))}}return e},ly.prototype.getComponentKeysByName=function(A){var e=[];for(var t in this.models)if(this.models.hasOwnProperty(t)){var i=(t=this.models[t]).getComponentKeysByName(A);i&&(e=e.concat(i))}return e},ly.prototype.getComponentKeysByProperty=function(A,e){var t=[];for(var i in this.models)if(this.models.hasOwnProperty(i)){var o=(i=this.models[i]).getComponentKeysByProperty(A,e);o&&(t=t.concat(o))}return t},ly.prototype.getBlinkMaterials=function(){var A=[];for(var e in this.models)this.models[e]&&this.models[e]._getHandler().getBlinkMaterials&&(A=A.concat(this.models[e]._getHandler().getBlinkMaterials()));return A},ly.prototype.resetBlinkMaterial=function(){for(var A=this.getBlinkMaterials(),e=0,t=A.length;t>e;e+=1)A[e].resetBlinkUniformValue()},ly.prototype.updateBlinkMaterial=function(){if(null!==this.blinkStartTime){if(Date.now()-this.blinkStartTime>=this.blinkIntervalTime){this.blinkStartTime=Date.now(),this.indexSwitch=!this.indexSwitch;for(var A=this.indexSwitch?Yc.BLINK:Yc.NONE,e=this.getBlinkMaterials(),t=0,i=e.length;i>t;t+=1)e[t].updateBlinkUniformValue(A,this.blinkColor)}}else this.blinkStartTime=Date.now()},ly.prototype.getBlinkColor=function(){return this.blinkColor},ly.prototype.setBlinkColor=function(A,e){if(A){var t=uh.hexToRgb(A);this.blinkColor.fromArray([t.r,t.g,t.b,e||1])}else this.blinkColor.set(this.defaultBlinkColor.r,this.defaultBlinkColor.g,this.defaultBlinkColor.b,this.defaultBlinkAlpha)},ly.prototype.setBlinkIntervalTime=function(A){this.blinkIntervalTime>0&&(this.blinkIntervalTime=A)},ly.prototype.enableBlink=function(A){this.blinkEnabled=A,A?null===this.blinkStartTime&&(this.blinkStartTime=Date.now()):(this.blinkStartTime=null,this.resetBlinkMaterial()),this.applyBlink()},ly.prototype.getBlinkEnabled=function(){return!this.isBlinkPermited()&&this.blinkEnabled},ly.prototype.getBlinkComponentsIdMap=function(){return this.isBlinkPermited()?null:this.sceneState.getBlinkComponentsIdMap()},ly.prototype.applyBlink=function(){if(!this.isBlinkPermited())for(var A in this.selectPriority=!1,this.models){this.models[A].applyBlink()}},ly.prototype.clearBlink=function(){if(!this.isBlinkPermited())for(var A in this.selectPriority=!1,this.models){this.models[A].clearBlink()}},ly.prototype.permitBlink=function(A){this.blinkPermited=A},ly.prototype.isBlinkPermited=function(){return this.blinkPermited},ly.prototype.isSelectPriority=function(){return this.selectPriority},ly.prototype.getSceneState=function(){return this.sceneState},ly.prototype.getModelSceneState=function(){return this.modelState},ly.prototype.disposeBufferAfterVbo=function(){if(vc.EnableDisposeBufferAfterVbo)for(var A in this.models){this.models[A].disposeBufferAfterVbo()}},ly.prototype.getSourceObjectManager=function(){return this.sourceObjectManager||(this.sourceObjectManager=new ry),this.sourceObjectManager},ly.prototype.isHiddenUserId=function(A){return!!this.sourceObjectManager&&this.sourceObjectManager.isHidden(A)},ly.prototype.hasHiddenUserId=function(){return!!this.sourceObjectManager&&this.sourceObjectManager.hasHidden()},ly.prototype.traverseModels=function(A,e){for(var t in this.models){var i=this.models[t];if(e&&e(i))break;A&&A(i)}},ly.prototype.traverseLoadedModels=function(A){for(var e in this.models){var t=this.models[e];t&&t.isLoaded()&&A(t)}},ly.prototype.getStatisticsInfo=function(){var A=0,e=0,t=0,i=0;for(var o in this.models){var n=this.models[o];if(n&&n.isLoaded()){var r=n.getTrianglesCount();A+=r.positionsCount,e+=r.trianglesCount,t+=r.realPositionCount,i+=r.realTrianglesCount}}return{positionsCount:A,trianglesCount:e,realPositionCount:t,realTrianglesCount:i,componentCount:this.getAllComponentsKey().length}},ly.prototype.dealStateChanged=function(){this.hasModelDataReady()&&(this.isRenderStateChanged()||this.filter.isStateChanged())&&(this.isRenderStateChanged()&&this.setRenderStateChanged(!1),this.filter.isStateChanged()&&this.filter.disableStateChanged(),this.applyFilter())},ly.prototype.setRenderStateChanged=function(A){this._renderStateChanged=A},ly.prototype.isRenderStateChanged=function(){return this._renderStateChanged},ly.prototype.hasLoadOnDemandDirector=function(){return!!this.loadOnDemandDirector},ly.prototype.getLoadOnDemandDirector=function(){return this.loadOnDemandDirector||(this.loadOnDemandDirector=new sy(this)),this.loadOnDemandDirector},ly.prototype.checkLayerDataLoading=function(){return!!(this.isLayerData()&&this.hasLoadOnDemandDirector()&&this.getLoadOnDemandDirector().isLoading())&&(this.filter.isStateChanged()&&this.filter.disableStateChanged(),!0)},ly.prototype.updateFilterManager=function(){var A=this.getNodeInfos(),e=this.filter;e.clearFilterManager(),e.initFilterManager(A),e.isStateChanged()&&e.disableStateChanged(),this.updateMeshNodes(),this.applyFilter()},ly.prototype.isDrawingBoardlineEnabled=function(){return!(!vc.DrawingBoardlineEnabled||vc.DrawingStyle!==jc.BOARDLINE&&vc.DrawingStyle!==jc.SHADINGWITHLINE)},ly.prototype.isOnlyWireframe=function(){return vc.DrawingStyle===jc.BOARDLINE},ly.prototype.getExplosionExtent=function(){return this.explosionExtent},ly.prototype.setExplosionExtent=function(A){var e=A-this.explosionExtent;for(var t in this.models)this.models[t]&&this.models[t].explode(e);this.explosionExtent=A},ly.prototype.updateAnimation=function(){var A=this.viewerImpl.clock.getDelta();for(var e in this.models)if(this.models.hasOwnProperty(e)){var t=this.models[e];if(t.hasAnimation&&t.mixer){var i=t.mixer;t.singleStepMode?(i.update(t.sizeOfNextStep),t.sizeOfNextStep=0):i.update(A)}}},ly.prototype.needUpdateAnimation=function(){for(var A in this.models)if(this.models.hasOwnProperty(A)){var e=this.models[A];if(e.hasAnimation&&e.mixer&&e.needUpdate)return!0}return!1},ly.prototype.unloadGeopkOnDemand=function(A,e){var t=this.models;for(var i in t)if(t.hasOwnProperty(i)){var o=t[i];o.isLoaded()&&!o.isEmptyScene()&&o.isLayerData()&&o.unloadGeopkOnDemand(A,e)}},ly.prototype.loadGeopkOnDemand=function(A,e,t,i){this.getLoadOnDemandDirector().loadGeopkOnDemandByConditions(A,e,t,i)},ly.prototype.loadAllGeosOnDemand=function(A,e){var t=this.models;for(var i in t)if(t.hasOwnProperty(i)){var o=t[i];o.isLoaded()&&!o.isEmptyScene()&&o.isLayerData()&&o.loadAllGeosOnDemand(A,e)}},ly.prototype.getBoundingBoxOnDemand=function(){var A=this.models,e=new aA;for(var t in A)if(A.hasOwnProperty(t)){var i=A[t];if(i.isLoaded()&&!i.isEmptyScene()&&i.isLayerData()){var o=i.getUnionBoundingBoxOnDemand();o&&e.union(o)}}return e},ly.prototype.setConditionsOnDemandLoad=function(A){this.conditionsOnDemandLoad=A;var e=this.models;for(var t in e)if(e.hasOwnProperty(t)){var i=e[t];i.isLoaded()&&!i.isEmptyScene()&&i.isLayerData()&&i.setConditionsChangedOnDemand(!0)}},ly.prototype.getConditionsOnDemandLoad=function(){return this.conditionsOnDemandLoad},ly.prototype.componentsExplosion=function(A){var e=this.models;for(var t in e){if(e.hasOwnProperty(t))e[t].componentsExplosion(A)}},ly.prototype.closeComponentsExplosion=function(A){var e=this.models;for(var t in e){if(e.hasOwnProperty(t))e[t].closeComponentsExplosion(A)}},ly.prototype.canFloorExplosion=function(){var A=this.models,e=!1;for(var t in A){if(A.hasOwnProperty(t))A[t].floorManager&&(e=!0)}return e},ly.prototype.floorExplosion=function(A){var e=this.models,t=!1;for(var i in e){if(e.hasOwnProperty(i))e[i].floorExplosion(A)&&(this.updateSceneBoundingBox(),t=!0)}return t},ly.prototype.closeFloorExplosion=function(){var A=this.models;for(var e in A){if(A.hasOwnProperty(e))A[e].closeFloorExplosion()}},ly.prototype.checkTilesDataChanged=function(A,e){if(!this.cameraPosition.equals(A.position)||this.cameraFov!==A.fov||this.domElementWidth!==e.domElement.width){this.cameraFov=A.fov||45,this.cameraPosition=A.position.clone()||new y,this.domElementWidth=e.domElement.width||1e3;var t=!1,i=this.checkMemory();for(var o in i>vc.MaximumAvailableMemory&&(t=!0),this.models)if(this.models.hasOwnProperty(o)){var n=this.models[o];n.isTilesModel&&n.checkTilesDataChanged(t)}}},ly.prototype.checkMemory=function(){var A=0,e=this.viewerImpl.getRenderer().info;return A+=6*(e.render.triangles||0),A+=1024*(e.memory.textures||0)*1024/4,A+=1024*(e.render.calls||0)/4,A+=1024*(e.memory.geometries||0)/4,A*=1/1048576,A=Math.ceil(A)},ly.prototype.getMeshIdFromOctantMap=function(A){return A.single?A.nodeId:A.instanceOrNot?uh.getCombinedKeyString(A.uv2Info?[A.materialId,A.geometryId,A.uv2Info.byteOffset]:[A.materialId,A.geometryId]):vc.MergeComponent?uh.getCombinedKeyString([A.materialId,A.uv?"1":"0",A.type===$u.EnumNodeItemType.LINE?"lines":"meshes"]):A.nodeId};var cy,hy,dy,py={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 texel = texture2D( tDiffuse, vUv );","gl_FragColor = opacity * texel;","}"].join("\n")};function gy(){this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}Object.assign(gy.prototype,{setSize:function(){},render:function(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}),gy.FullScreenQuad=(cy=new Ka(-1,1,1,-1,0,1),hy=new et(2,2),dy=function(A){this._mesh=new Ue(hy,A)},Object.defineProperty(dy.prototype,"material",{get:function(){return this._mesh.material},set:function(A){this._mesh.material=A}}),Object.assign(dy.prototype,{render:function(A){A.render(this._mesh,cy)}}),dy);var uy=function(A,e){gy.call(this),this.textureID=void 0!==e?e:"tDiffuse",A instanceof Pe?(this.uniforms=A.uniforms,this.material=A):A&&(this.uniforms=Ge.clone(A.uniforms),this.material=new Pe({defines:Object.assign({},A.defines),uniforms:this.uniforms,vertexShader:A.vertexShader,fragmentShader:A.fragmentShader})),this.fsQuad=new gy.FullScreenQuad(this.material)};uy.prototype=Object.assign(Object.create(gy.prototype),{constructor:uy,render:function(A,e,t){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=t.texture),this.fsQuad.material=this.material,this.renderToScreen?(A.setRenderTarget(null),this.fsQuad.render(A)):(A.setRenderTarget(e),this.clear&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),this.fsQuad.render(A))}});var fy=function(A,e){gy.call(this),this.scene=A,this.camera=e,this.clear=!0,this.needsSwap=!1,this.inverse=!1};fy.prototype=Object.assign(Object.create(gy.prototype),{constructor:fy,render:function(A,e,t){var i=A.getContext(),o=A.state;o.buffers.color.setMask(!1),o.buffers.depth.setMask(!1),o.buffers.color.setLocked(!0),o.buffers.depth.setLocked(!0);var n=null,r=null;this.inverse?(r=0,n=1):(r=1,n=0),o.buffers.stencil.setTest(!0),o.buffers.stencil.setOp(i.REPLACE,i.REPLACE,i.REPLACE),o.buffers.stencil.setFunc(i.ALWAYS,r,4294967295),o.buffers.stencil.setClear(n),o.buffers.stencil.setLocked(!0),A.setRenderTarget(t),this.clear&&A.clear(),A.render(this.scene,this.camera),A.setRenderTarget(e),this.clear&&A.clear(),A.render(this.scene,this.camera),o.buffers.color.setLocked(!1),o.buffers.depth.setLocked(!1),o.buffers.stencil.setLocked(!1),o.buffers.stencil.setFunc(i.EQUAL,1,4294967295),o.buffers.stencil.setOp(i.KEEP,i.KEEP,i.KEEP),o.buffers.stencil.setLocked(!0)}});var my=function(){gy.call(this),this.needsSwap=!1};my.prototype=Object.create(gy.prototype),Object.assign(my.prototype,{render:function(A){A.state.buffers.stencil.setLocked(!1),A.state.buffers.stencil.setTest(!1)}});var Cy=function(A,e){if(this.renderer=A,void 0===e){var t={minFilter:1006,magFilter:1006,format:1023,stencilBuffer:!1},i=A.getSize(new s);this._pixelRatio=A.getPixelRatio(),this._width=i.width,this._height=i.height,(e=new g(this._width*this._pixelRatio,this._height*this._pixelRatio,t)).texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=e.width,this._height=e.height;this.renderTarget1=e,this.renderTarget2=e.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],void 0===py&&console.error("THREE.EffectComposer relies on CopyShader"),void 0===uy&&console.error("THREE.EffectComposer relies on ShaderPass"),this.copyPass=new uy(py),this.clock=new as};Object.assign(Cy.prototype,{swapBuffers:function(){var A=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=A},addPass:function(A){this.passes.push(A),A.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)},insertPass:function(A,e){this.passes.splice(e,0,A)},isLastEnabledPass:function(A){for(var e=A+1;this.passes.length>e;e+=1)if(this.passes[e].enabled)return!1;return!0},render:function(A){void 0===A&&(A=this.clock.getDelta());var e=this.renderer.getRenderTarget(),t=!1,i=null,o=null,n=this.passes.length;for(o=0;n>o;o+=1)if(!1!==(i=this.passes[o]).enabled){if(i.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(o),i.render(this.renderer,this.writeBuffer,this.readBuffer,A,t),i.needsSwap){if(t){var r=this.renderer.getContext(),a=this.renderer.state.buffers.stencil;a.setFunc(r.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,A),a.setFunc(r.EQUAL,1,4294967295)}this.swapBuffers()}void 0!==fy&&(i instanceof fy?t=!0:i instanceof my&&(t=!1))}this.renderer.setRenderTarget(e)},reset:function(A){if(void 0===A){var e=this.renderer.getSize(new s);this._pixelRatio=this.renderer.getPixelRatio(),this._width=e.width,this._height=e.height,(A=this.renderTarget1.clone()).setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=A,this.renderTarget2=A.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2},setSize:function(A,e){this._width=A,this._height=e;var t=this._width*this._pixelRatio,i=this._height*this._pixelRatio;this.renderTarget1.setSize(t,i),this.renderTarget2.setSize(t,i);for(var o=0;this.passes.length>o;o+=1)this.passes[o].setSize(t,i)},setPixelRatio:function(A){this._pixelRatio=A,this.setSize(this._width,this._height)}});var yy=function(){this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1};Object.assign(yy.prototype,{setSize:function(){},render:function(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}),yy.FullScreenQuad=function(){var A=new Ka(-1,1,1,-1,0,1),e=new et(2,2),t=function(A){this._mesh=new Ue(e,A)};return Object.defineProperty(t.prototype,"material",{get:function(){return this._mesh.material},set:function(A){this._mesh.material=A}}),Object.assign(t.prototype,{render:function(e){e.render(this._mesh,A)}}),t}();var vy={uniforms:{tDiffuse:{value:null},resolution:{value:new s(1/1024,1/512)}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["precision highp float;","","uniform sampler2D tDiffuse;","","uniform vec2 resolution;","","varying vec2 vUv;","","// FXAA 3.11 implementation by NVIDIA, ported to WebGL by Agost Biro (biro@archilogic.com)","","//----------------------------------------------------------------------------------","// File: es3-kepler FXAA assets shaders/FXAA_DefaultES.frag","// SDK Version: v3.00","// Email: gameworks@nvidia.com","// Site: http://developer.nvidia.com/","//","// Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.","//","// Redistribution and use in source and binary forms, with or without","// modification, are permitted provided that the following conditions","// are met:","// * Redistributions of source code must retain the above copyright","// notice, this list of conditions and the following disclaimer.","// * Redistributions in binary form must reproduce the above copyright","// notice, this list of conditions and the following disclaimer in the","// documentation and/or other materials provided with the distribution.","// * Neither the name of NVIDIA CORPORATION nor the names of its","// contributors may be used to endorse or promote products derived","// from this software without specific prior written permission.","//","// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY","// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE","// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR","// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR","// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,","// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,","// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR","// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY","// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT","// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE","// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.","//","//----------------------------------------------------------------------------------","","#define FXAA_PC 1","#define FXAA_GLSL_100 1","#define FXAA_QUALITY_PRESET 12","","#define FXAA_GREEN_AS_LUMA 1","","/*--------------------------------------------------------------------------*/","#ifndef FXAA_PC_CONSOLE"," //"," // The console algorithm for PC is included"," // for developers targeting really low spec machines."," // Likely better to just run FXAA_PC, and use a really low preset."," //"," #define FXAA_PC_CONSOLE 0","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_GLSL_120"," #define FXAA_GLSL_120 0","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_GLSL_130"," #define FXAA_GLSL_130 0","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_HLSL_3"," #define FXAA_HLSL_3 0","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_HLSL_4"," #define FXAA_HLSL_4 0","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_HLSL_5"," #define FXAA_HLSL_5 0","#endif","/*==========================================================================*/","#ifndef FXAA_GREEN_AS_LUMA"," //"," // For those using non-linear color,"," // and either not able to get luma in alpha, or not wanting to,"," // this enables FXAA to run using green as a proxy for luma."," // So with this enabled, no need to pack luma in alpha."," //"," // This will turn off AA on anything which lacks some amount of green."," // Pure red and blue or combination of only R and B, will get no AA."," //"," // Might want to lower the settings for both,"," // fxaaConsoleEdgeThresholdMin"," // fxaaQualityEdgeThresholdMin"," // In order to insure AA does not get turned off on colors"," // which contain a minor amount of green."," //"," // 1 = On."," // 0 = Off."," //"," #define FXAA_GREEN_AS_LUMA 0","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_EARLY_EXIT"," //"," // Controls algorithm's early exit path."," // On PS3 turning this ON adds 2 cycles to the shader."," // On 360 turning this OFF adds 10ths of a millisecond to the shader."," // Turning this off on console will result in a more blurry image."," // So this defaults to on."," //"," // 1 = On."," // 0 = Off."," //"," #define FXAA_EARLY_EXIT 1","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_DISCARD"," //"," // Only valid for PC OpenGL currently."," // Probably will not work when FXAA_GREEN_AS_LUMA = 1."," //"," // 1 = Use discard on pixels which don't need AA."," // For APIs which enable concurrent TEX+ROP from same surface."," // 0 = Return unchanged color on pixels which don't need AA."," //"," #define FXAA_DISCARD 0","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_FAST_PIXEL_OFFSET"," //"," // Used for GLSL 120 only."," //"," // 1 = GL API supports fast pixel offsets"," // 0 = do not use fast pixel offsets"," //"," #ifdef GL_EXT_gpu_shader4"," #define FXAA_FAST_PIXEL_OFFSET 1"," #endif"," #ifdef GL_NV_gpu_shader5"," #define FXAA_FAST_PIXEL_OFFSET 1"," #endif"," #ifdef GL_ARB_gpu_shader5"," #define FXAA_FAST_PIXEL_OFFSET 1"," #endif"," #ifndef FXAA_FAST_PIXEL_OFFSET"," #define FXAA_FAST_PIXEL_OFFSET 0"," #endif","#endif","/*--------------------------------------------------------------------------*/","#ifndef FXAA_GATHER4_ALPHA"," //"," // 1 = API supports gather4 on alpha channel."," // 0 = API does not support gather4 on alpha channel."," //"," #if (FXAA_HLSL_5 == 1)"," #define FXAA_GATHER4_ALPHA 1"," #endif"," #ifdef GL_ARB_gpu_shader5"," #define FXAA_GATHER4_ALPHA 1"," #endif"," #ifdef GL_NV_gpu_shader5"," #define FXAA_GATHER4_ALPHA 1"," #endif"," #ifndef FXAA_GATHER4_ALPHA"," #define FXAA_GATHER4_ALPHA 0"," #endif","#endif","","","/*============================================================================"," FXAA QUALITY - TUNING KNOBS","------------------------------------------------------------------------------","NOTE the other tuning knobs are now in the shader function inputs!","============================================================================*/","#ifndef FXAA_QUALITY_PRESET"," //"," // Choose the quality preset."," // This needs to be compiled into the shader as it effects code."," // Best option to include multiple presets is to"," // in each shader define the preset, then include this file."," //"," // OPTIONS"," // -----------------------------------------------------------------------"," // 10 to 15 - default medium dither (10=fastest, 15=highest quality)"," // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality)"," // 39 - no dither, very expensive"," //"," // NOTES"," // -----------------------------------------------------------------------"," // 12 = slightly faster then FXAA 3.9 and higher edge quality (default)"," // 13 = about same speed as FXAA 3.9 and better than 12"," // 23 = closest to FXAA 3.9 visually and performance wise"," // _ = the lowest digit is directly related to performance"," // _ = the highest digit is directly related to style"," //"," #define FXAA_QUALITY_PRESET 12","#endif","","","/*============================================================================",""," FXAA QUALITY - PRESETS","","============================================================================*/","","/*============================================================================"," FXAA QUALITY - MEDIUM DITHER PRESETS","============================================================================*/","#if (FXAA_QUALITY_PRESET == 10)"," #define FXAA_QUALITY_PS 3"," #define FXAA_QUALITY_P0 1.5"," #define FXAA_QUALITY_P1 3.0"," #define FXAA_QUALITY_P2 12.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 11)"," #define FXAA_QUALITY_PS 4"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 3.0"," #define FXAA_QUALITY_P3 12.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 12)"," #define FXAA_QUALITY_PS 5"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 4.0"," #define FXAA_QUALITY_P4 12.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 13)"," #define FXAA_QUALITY_PS 6"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 4.0"," #define FXAA_QUALITY_P5 12.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 14)"," #define FXAA_QUALITY_PS 7"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 4.0"," #define FXAA_QUALITY_P6 12.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 15)"," #define FXAA_QUALITY_PS 8"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 2.0"," #define FXAA_QUALITY_P6 4.0"," #define FXAA_QUALITY_P7 12.0","#endif","","/*============================================================================"," FXAA QUALITY - LOW DITHER PRESETS","============================================================================*/","#if (FXAA_QUALITY_PRESET == 20)"," #define FXAA_QUALITY_PS 3"," #define FXAA_QUALITY_P0 1.5"," #define FXAA_QUALITY_P1 2.0"," #define FXAA_QUALITY_P2 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 21)"," #define FXAA_QUALITY_PS 4"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 22)"," #define FXAA_QUALITY_PS 5"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 23)"," #define FXAA_QUALITY_PS 6"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 24)"," #define FXAA_QUALITY_PS 7"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 3.0"," #define FXAA_QUALITY_P6 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 25)"," #define FXAA_QUALITY_PS 8"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 2.0"," #define FXAA_QUALITY_P6 4.0"," #define FXAA_QUALITY_P7 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 26)"," #define FXAA_QUALITY_PS 9"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 2.0"," #define FXAA_QUALITY_P6 2.0"," #define FXAA_QUALITY_P7 4.0"," #define FXAA_QUALITY_P8 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 27)"," #define FXAA_QUALITY_PS 10"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 2.0"," #define FXAA_QUALITY_P6 2.0"," #define FXAA_QUALITY_P7 2.0"," #define FXAA_QUALITY_P8 4.0"," #define FXAA_QUALITY_P9 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 28)"," #define FXAA_QUALITY_PS 11"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 2.0"," #define FXAA_QUALITY_P6 2.0"," #define FXAA_QUALITY_P7 2.0"," #define FXAA_QUALITY_P8 2.0"," #define FXAA_QUALITY_P9 4.0"," #define FXAA_QUALITY_P10 8.0","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_QUALITY_PRESET == 29)"," #define FXAA_QUALITY_PS 12"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.5"," #define FXAA_QUALITY_P2 2.0"," #define FXAA_QUALITY_P3 2.0"," #define FXAA_QUALITY_P4 2.0"," #define FXAA_QUALITY_P5 2.0"," #define FXAA_QUALITY_P6 2.0"," #define FXAA_QUALITY_P7 2.0"," #define FXAA_QUALITY_P8 2.0"," #define FXAA_QUALITY_P9 2.0"," #define FXAA_QUALITY_P10 4.0"," #define FXAA_QUALITY_P11 8.0","#endif","","/*============================================================================"," FXAA QUALITY - EXTREME QUALITY","============================================================================*/","#if (FXAA_QUALITY_PRESET == 39)"," #define FXAA_QUALITY_PS 12"," #define FXAA_QUALITY_P0 1.0"," #define FXAA_QUALITY_P1 1.0"," #define FXAA_QUALITY_P2 1.0"," #define FXAA_QUALITY_P3 1.0"," #define FXAA_QUALITY_P4 1.0"," #define FXAA_QUALITY_P5 1.5"," #define FXAA_QUALITY_P6 2.0"," #define FXAA_QUALITY_P7 2.0"," #define FXAA_QUALITY_P8 2.0"," #define FXAA_QUALITY_P9 2.0"," #define FXAA_QUALITY_P10 4.0"," #define FXAA_QUALITY_P11 8.0","#endif","","","","/*============================================================================",""," API PORTING","","============================================================================*/","#if (FXAA_GLSL_100 == 1) || (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1)"," #define FxaaBool bool"," #define FxaaDiscard discard"," #define FxaaFloat float"," #define FxaaFloat2 vec2"," #define FxaaFloat3 vec3"," #define FxaaFloat4 vec4"," #define FxaaHalf float"," #define FxaaHalf2 vec2"," #define FxaaHalf3 vec3"," #define FxaaHalf4 vec4"," #define FxaaInt2 ivec2"," #define FxaaSat(x) clamp(x, 0.0, 1.0)"," #define FxaaTex sampler2D","#else"," #define FxaaBool bool"," #define FxaaDiscard clip(-1)"," #define FxaaFloat float"," #define FxaaFloat2 float2"," #define FxaaFloat3 float3"," #define FxaaFloat4 float4"," #define FxaaHalf half"," #define FxaaHalf2 half2"," #define FxaaHalf3 half3"," #define FxaaHalf4 half4"," #define FxaaSat(x) saturate(x)","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_GLSL_100 == 1)"," #define FxaaTexTop(t, p) texture2D(t, p, 0.0)"," #define FxaaTexOff(t, p, o, r) texture2D(t, p + (o * r), 0.0)","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_GLSL_120 == 1)"," // Requires,"," // #version 120"," // And at least,"," // #extension GL_EXT_gpu_shader4 : enable"," // (or set FXAA_FAST_PIXEL_OFFSET 1 to work like DX9)"," #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0)"," #if (FXAA_FAST_PIXEL_OFFSET == 1)"," #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o)"," #else"," #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0)"," #endif"," #if (FXAA_GATHER4_ALPHA == 1)"," // use #extension GL_ARB_gpu_shader5 : enable"," #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)"," #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)"," #define FxaaTexGreen4(t, p) textureGather(t, p, 1)"," #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)"," #endif","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_GLSL_130 == 1)",' // Requires "#version 130" or better'," #define FxaaTexTop(t, p) textureLod(t, p, 0.0)"," #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o)"," #if (FXAA_GATHER4_ALPHA == 1)"," // use #extension GL_ARB_gpu_shader5 : enable"," #define FxaaTexAlpha4(t, p) textureGather(t, p, 3)"," #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)"," #define FxaaTexGreen4(t, p) textureGather(t, p, 1)"," #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)"," #endif","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_HLSL_3 == 1)"," #define FxaaInt2 float2"," #define FxaaTex sampler2D"," #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0))"," #define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0))","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_HLSL_4 == 1)"," #define FxaaInt2 int2"," struct FxaaTex { SamplerState smpl; Texture2D tex; };"," #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)"," #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)","#endif","/*--------------------------------------------------------------------------*/","#if (FXAA_HLSL_5 == 1)"," #define FxaaInt2 int2"," struct FxaaTex { SamplerState smpl; Texture2D tex; };"," #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0)"," #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o)"," #define FxaaTexAlpha4(t, p) t.tex.GatherAlpha(t.smpl, p)"," #define FxaaTexOffAlpha4(t, p, o) t.tex.GatherAlpha(t.smpl, p, o)"," #define FxaaTexGreen4(t, p) t.tex.GatherGreen(t.smpl, p)"," #define FxaaTexOffGreen4(t, p, o) t.tex.GatherGreen(t.smpl, p, o)","#endif","","","/*============================================================================"," GREEN AS LUMA OPTION SUPPORT FUNCTION","============================================================================*/","#if (FXAA_GREEN_AS_LUMA == 0)"," FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; }","#else"," FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; }","#endif","","","","","/*============================================================================",""," FXAA3 QUALITY - PC","","============================================================================*/","#if (FXAA_PC == 1)","/*--------------------------------------------------------------------------*/","FxaaFloat4 FxaaPixelShader("," //"," // Use noperspective interpolation here (turn off perspective interpolation)."," // {xy} = center of pixel"," FxaaFloat2 pos,"," //"," // Used only for FXAA Console, and not used on the 360 version."," // Use noperspective interpolation here (turn off perspective interpolation)."," // {xy_} = upper left of pixel"," // {_zw} = lower right of pixel"," FxaaFloat4 fxaaConsolePosPos,"," //"," // Input color texture."," // {rgb_} = color in linear or perceptual color space"," // if (FXAA_GREEN_AS_LUMA == 0)"," // {__a} = luma in perceptual color space (not linear)"," FxaaTex tex,"," //"," // Only used on the optimized 360 version of FXAA Console.",' // For everything but 360, just use the same input here as for "tex".'," // For 360, same texture, just alias with a 2nd sampler."," // This sampler needs to have an exponent bias of -1."," FxaaTex fxaaConsole360TexExpBiasNegOne,"," //"," // Only used on the optimized 360 version of FXAA Console.",' // For everything but 360, just use the same input here as for "tex".'," // For 360, same texture, just alias with a 3nd sampler."," // This sampler needs to have an exponent bias of -2."," FxaaTex fxaaConsole360TexExpBiasNegTwo,"," //"," // Only used on FXAA Quality."," // This must be from a constant/uniform."," // {x_} = 1.0/screenWidthInPixels"," // {_y} = 1.0/screenHeightInPixels"," FxaaFloat2 fxaaQualityRcpFrame,"," //"," // Only used on FXAA Console."," // This must be from a constant/uniform."," // This effects sub-pixel AA quality and inversely sharpness."," // Where N ranges between,"," // N = 0.50 (default)"," // N = 0.33 (sharper)"," // {x__} = -N/screenWidthInPixels"," // {_y_} = -N/screenHeightInPixels"," // {_z_} = N/screenWidthInPixels"," // {__w} = N/screenHeightInPixels"," FxaaFloat4 fxaaConsoleRcpFrameOpt,"," //"," // Only used on FXAA Console."," // Not used on 360, but used on PS3 and PC."," // This must be from a constant/uniform."," // {x__} = -2.0/screenWidthInPixels"," // {_y_} = -2.0/screenHeightInPixels"," // {_z_} = 2.0/screenWidthInPixels"," // {__w} = 2.0/screenHeightInPixels"," FxaaFloat4 fxaaConsoleRcpFrameOpt2,"," //"," // Only used on FXAA Console."," // Only used on 360 in place of fxaaConsoleRcpFrameOpt2."," // This must be from a constant/uniform."," // {x__} = 8.0/screenWidthInPixels"," // {_y_} = 8.0/screenHeightInPixels"," // {_z_} = -4.0/screenWidthInPixels"," // {__w} = -4.0/screenHeightInPixels"," FxaaFloat4 fxaaConsole360RcpFrameOpt2,"," //"," // Only used on FXAA Quality."," // This used to be the FXAA_QUALITY_SUBPIX define."," // It is here now to allow easier tuning."," // Choose the amount of sub-pixel aliasing removal."," // This can effect sharpness."," // 1.00 - upper limit (softer)"," // 0.75 - default amount of filtering"," // 0.50 - lower limit (sharper, less sub-pixel aliasing removal)"," // 0.25 - almost off"," // 0.00 - completely off"," FxaaFloat fxaaQualitySubpix,"," //"," // Only used on FXAA Quality."," // This used to be the FXAA_QUALITY_EDGE_THRESHOLD define."," // It is here now to allow easier tuning."," // The minimum amount of local contrast required to apply algorithm."," // 0.333 - too little (faster)"," // 0.250 - low quality"," // 0.166 - default"," // 0.125 - high quality"," // 0.063 - overkill (slower)"," FxaaFloat fxaaQualityEdgeThreshold,"," //"," // Only used on FXAA Quality."," // This used to be the FXAA_QUALITY_EDGE_THRESHOLD_MIN define."," // It is here now to allow easier tuning."," // Trims the algorithm from processing darks."," // 0.0833 - upper limit (default, the start of visible unfiltered edges)"," // 0.0625 - high quality (faster)"," // 0.0312 - visible limit (slower)"," // Special notes when using FXAA_GREEN_AS_LUMA,"," // Likely want to set this to zero."," // As colors that are mostly not-green"," // will appear very dark in the green channel!"," // Tune by looking at mostly non-green content,"," // then start at zero and increase until aliasing is a problem."," FxaaFloat fxaaQualityEdgeThresholdMin,"," //"," // Only used on FXAA Console."," // This used to be the FXAA_CONSOLE_EDGE_SHARPNESS define."," // It is here now to allow easier tuning."," // This does not effect PS3, as this needs to be compiled in."," // Use FXAA_CONSOLE_PS3_EDGE_SHARPNESS for PS3."," // Due to the PS3 being ALU bound,"," // there are only three safe values here: 2 and 4 and 8."," // These options use the shaders ability to a free *|/ by 2|4|8."," // For all other platforms can be a non-power of two."," // 8.0 is sharper (default!!!)"," // 4.0 is softer"," // 2.0 is really soft (good only for vector graphics inputs)"," FxaaFloat fxaaConsoleEdgeSharpness,"," //"," // Only used on FXAA Console."," // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD define."," // It is here now to allow easier tuning."," // This does not effect PS3, as this needs to be compiled in."," // Use FXAA_CONSOLE_PS3_EDGE_THRESHOLD for PS3."," // Due to the PS3 being ALU bound,"," // there are only two safe values here: 1/4 and 1/8."," // These options use the shaders ability to a free *|/ by 2|4|8."," // The console setting has a different mapping than the quality setting."," // Other platforms can use other values."," // 0.125 leaves less aliasing, but is softer (default!!!)"," // 0.25 leaves more aliasing, and is sharper"," FxaaFloat fxaaConsoleEdgeThreshold,"," //"," // Only used on FXAA Console."," // This used to be the FXAA_CONSOLE_EDGE_THRESHOLD_MIN define."," // It is here now to allow easier tuning."," // Trims the algorithm from processing darks."," // The console setting has a different mapping than the quality setting."," // This only applies when FXAA_EARLY_EXIT is 1."," // This does not apply to PS3,"," // PS3 was simplified to avoid more shader instructions."," // 0.06 - faster but more aliasing in darks"," // 0.05 - default"," // 0.04 - slower and less aliasing in darks"," // Special notes when using FXAA_GREEN_AS_LUMA,"," // Likely want to set this to zero."," // As colors that are mostly not-green"," // will appear very dark in the green channel!"," // Tune by looking at mostly non-green content,"," // then start at zero and increase until aliasing is a problem."," FxaaFloat fxaaConsoleEdgeThresholdMin,"," //"," // Extra constants for 360 FXAA Console only."," // Use zeros or anything else for other platforms."," // These must be in physical constant registers and NOT immediates."," // Immediates will result in compiler un-optimizing."," // {xyzw} = float4(1.0, -1.0, 0.25, -0.25)"," FxaaFloat4 fxaaConsole360ConstDir",") {","/*--------------------------------------------------------------------------*/"," FxaaFloat2 posM;"," posM.x = pos.x;"," posM.y = pos.y;"," #if (FXAA_GATHER4_ALPHA == 1)"," #if (FXAA_DISCARD == 0)"," FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);"," #if (FXAA_GREEN_AS_LUMA == 0)"," #define lumaM rgbyM.w"," #else"," #define lumaM rgbyM.y"," #endif"," #endif"," #if (FXAA_GREEN_AS_LUMA == 0)"," FxaaFloat4 luma4A = FxaaTexAlpha4(tex, posM);"," FxaaFloat4 luma4B = FxaaTexOffAlpha4(tex, posM, FxaaInt2(-1, -1));"," #else"," FxaaFloat4 luma4A = FxaaTexGreen4(tex, posM);"," FxaaFloat4 luma4B = FxaaTexOffGreen4(tex, posM, FxaaInt2(-1, -1));"," #endif"," #if (FXAA_DISCARD == 1)"," #define lumaM luma4A.w"," #endif"," #define lumaE luma4A.z"," #define lumaS luma4A.x"," #define lumaSE luma4A.y"," #define lumaNW luma4B.w"," #define lumaN luma4B.z"," #define lumaW luma4B.x"," #else"," FxaaFloat4 rgbyM = FxaaTexTop(tex, posM);"," #if (FXAA_GREEN_AS_LUMA == 0)"," #define lumaM rgbyM.w"," #else"," #define lumaM rgbyM.y"," #endif"," #if (FXAA_GLSL_100 == 1)"," FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0, 1.0), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 0.0), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 0.0,-1.0), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 0.0), fxaaQualityRcpFrame.xy));"," #else"," FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy));"," #endif"," #endif","/*--------------------------------------------------------------------------*/"," FxaaFloat maxSM = max(lumaS, lumaM);"," FxaaFloat minSM = min(lumaS, lumaM);"," FxaaFloat maxESM = max(lumaE, maxSM);"," FxaaFloat minESM = min(lumaE, minSM);"," FxaaFloat maxWN = max(lumaN, lumaW);"," FxaaFloat minWN = min(lumaN, lumaW);"," FxaaFloat rangeMax = max(maxWN, maxESM);"," FxaaFloat rangeMin = min(minWN, minESM);"," FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;"," FxaaFloat range = rangeMax - rangeMin;"," FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);"," FxaaBool earlyExit = range < rangeMaxClamped;","/*--------------------------------------------------------------------------*/"," if(earlyExit)"," #if (FXAA_DISCARD == 1)"," FxaaDiscard;"," #else"," return rgbyM;"," #endif","/*--------------------------------------------------------------------------*/"," #if (FXAA_GATHER4_ALPHA == 0)"," #if (FXAA_GLSL_100 == 1)"," FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0,-1.0), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0, 1.0), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2( 1.0,-1.0), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaFloat2(-1.0, 1.0), fxaaQualityRcpFrame.xy));"," #else"," FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));"," #endif"," #else"," FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy));"," FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy));"," #endif","/*--------------------------------------------------------------------------*/"," FxaaFloat lumaNS = lumaN + lumaS;"," FxaaFloat lumaWE = lumaW + lumaE;"," FxaaFloat subpixRcpRange = 1.0/range;"," FxaaFloat subpixNSWE = lumaNS + lumaWE;"," FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;"," FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;","/*--------------------------------------------------------------------------*/"," FxaaFloat lumaNESE = lumaNE + lumaSE;"," FxaaFloat lumaNWNE = lumaNW + lumaNE;"," FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;"," FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;","/*--------------------------------------------------------------------------*/"," FxaaFloat lumaNWSW = lumaNW + lumaSW;"," FxaaFloat lumaSWSE = lumaSW + lumaSE;"," FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);"," FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);"," FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;"," FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;"," FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;"," FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;","/*--------------------------------------------------------------------------*/"," FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;"," FxaaFloat lengthSign = fxaaQualityRcpFrame.x;"," FxaaBool horzSpan = edgeHorz >= edgeVert;"," FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;","/*--------------------------------------------------------------------------*/"," if(!horzSpan) lumaN = lumaW;"," if(!horzSpan) lumaS = lumaE;"," if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;"," FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;","/*--------------------------------------------------------------------------*/"," FxaaFloat gradientN = lumaN - lumaM;"," FxaaFloat gradientS = lumaS - lumaM;"," FxaaFloat lumaNN = lumaN + lumaM;"," FxaaFloat lumaSS = lumaS + lumaM;"," FxaaBool pairN = abs(gradientN) >= abs(gradientS);"," FxaaFloat gradient = max(abs(gradientN), abs(gradientS));"," if(pairN) lengthSign = -lengthSign;"," FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);","/*--------------------------------------------------------------------------*/"," FxaaFloat2 posB;"," posB.x = posM.x;"," posB.y = posM.y;"," FxaaFloat2 offNP;"," offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;"," offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;"," if(!horzSpan) posB.x += lengthSign * 0.5;"," if( horzSpan) posB.y += lengthSign * 0.5;","/*--------------------------------------------------------------------------*/"," FxaaFloat2 posN;"," posN.x = posB.x - offNP.x * FXAA_QUALITY_P0;"," posN.y = posB.y - offNP.y * FXAA_QUALITY_P0;"," FxaaFloat2 posP;"," posP.x = posB.x + offNP.x * FXAA_QUALITY_P0;"," posP.y = posB.y + offNP.y * FXAA_QUALITY_P0;"," FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;"," FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));"," FxaaFloat subpixE = subpixC * subpixC;"," FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP));","/*--------------------------------------------------------------------------*/"," if(!pairN) lumaNN = lumaSS;"," FxaaFloat gradientScaled = gradient * 1.0/4.0;"," FxaaFloat lumaMM = lumaM - lumaNN * 0.5;"," FxaaFloat subpixF = subpixD * subpixE;"," FxaaBool lumaMLTZero = lumaMM < 0.0;","/*--------------------------------------------------------------------------*/"," lumaEndN -= lumaNN * 0.5;"," lumaEndP -= lumaNN * 0.5;"," FxaaBool doneN = abs(lumaEndN) >= gradientScaled;"," FxaaBool doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P1;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P1;"," FxaaBool doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P1;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P1;","/*--------------------------------------------------------------------------*/"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P2;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P2;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P2;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P2;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 3)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P3;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P3;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P3;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P3;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 4)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P4;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P4;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P4;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P4;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 5)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P5;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P5;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P5;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P5;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 6)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P6;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P6;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P6;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P6;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 7)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P7;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P7;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P7;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P7;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 8)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P8;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P8;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P8;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P8;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 9)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P9;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P9;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P9;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P9;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 10)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P10;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P10;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P10;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P10;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 11)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P11;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P11;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P11;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P11;","/*--------------------------------------------------------------------------*/"," #if (FXAA_QUALITY_PS > 12)"," if(doneNP) {"," if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));"," if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));"," if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;"," if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;"," doneN = abs(lumaEndN) >= gradientScaled;"," doneP = abs(lumaEndP) >= gradientScaled;"," if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_P12;"," if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_P12;"," doneNP = (!doneN) || (!doneP);"," if(!doneP) posP.x += offNP.x * FXAA_QUALITY_P12;"," if(!doneP) posP.y += offNP.y * FXAA_QUALITY_P12;","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }"," #endif","/*--------------------------------------------------------------------------*/"," }","/*--------------------------------------------------------------------------*/"," FxaaFloat dstN = posM.x - posN.x;"," FxaaFloat dstP = posP.x - posM.x;"," if(!horzSpan) dstN = posM.y - posN.y;"," if(!horzSpan) dstP = posP.y - posM.y;","/*--------------------------------------------------------------------------*/"," FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;"," FxaaFloat spanLength = (dstP + dstN);"," FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;"," FxaaFloat spanLengthRcp = 1.0/spanLength;","/*--------------------------------------------------------------------------*/"," FxaaBool directionN = dstN < dstP;"," FxaaFloat dst = min(dstN, dstP);"," FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;"," FxaaFloat subpixG = subpixF * subpixF;"," FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;"," FxaaFloat subpixH = subpixG * fxaaQualitySubpix;","/*--------------------------------------------------------------------------*/"," FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;"," FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);"," if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;"," if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;"," #if (FXAA_DISCARD == 1)"," return FxaaTexTop(tex, posM);"," #else"," return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);"," #endif","}","/*==========================================================================*/","#endif","","void main() {"," gl_FragColor = FxaaPixelShader("," vUv,"," vec4(0.0),"," tDiffuse,"," tDiffuse,"," tDiffuse,"," resolution,"," vec4(0.0),"," vec4(0.0),"," vec4(0.0),"," 0.75,"," 0.166,"," 0.0833,"," 0.0,"," 0.0,"," 0.0,"," vec4(0.0)"," );",""," // TODO avoid querying texture twice for same texel"," gl_FragColor.a = texture2D(tDiffuse, vUv).a;","}"].join("\n")},Iy=function(A,e,t,i,o){gy.call(this),this.scene=A,this.camera=e,this.overrideMaterial=t,this.clearColor=i,this.clearAlpha=void 0!==o?o:0,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1};Iy.prototype=Object.assign(Object.create(gy.prototype),{constructor:Iy,render:function(A,e,t){var i=A.autoClear;A.autoClear=!1,this.scene.overrideMaterial=this.overrideMaterial;var o=null,n=null;this.clearColor&&(n=A.getClearColor().getHex(),o=A.getClearAlpha(),A.setClearColor(this.clearColor,this.clearAlpha)),this.clearDepth&&A.clearDepth(),A.setRenderTarget(this.renderToScreen?null:t),this.clear&&A.clear(A.autoClearColor,A.autoClearDepth,A.autoClearStencil),A.render(this.scene,this.camera),this.clearColor&&A.setClearColor(n,o),this.scene.overrideMaterial=null,A.autoClear=i}});var Ey=function(A,e,t,i,o){gy.call(this),this.modelManager=e,this.renderScene=t,this.renderCamera=i,this.selectedObjectIds=void 0!==o?o:[],this.defaultEdgeColor=(new LA).setHex(4173056),this.defaultEdgeAlpha=.95,this.edgeColor=new p(this.defaultEdgeColor.r,this.defaultEdgeColor.g,this.defaultEdgeColor.b,this.defaultEdgeAlpha),this.edgeLength=2,this.resolution=void 0!==A?new s(A.x,A.y):new s(256,256);var n={minFilter:1006,magFilter:1006,format:1023};this.renderTargetDepthBuffer=new g(this.resolution.x,this.resolution.y,n),this.renderTargetDepthBuffer.texture.name="OutlinePass.depth",this.renderTargetDepthBuffer.texture.generateMipmaps=!1,this.renderTargetMaskBuffer=new g(this.resolution.x,this.resolution.y,n),this.renderTargetMaskBuffer.texture.name="OutlinePass.mask",this.renderTargetMaskBuffer.texture.generateMipmaps=!1,this.renderTargetMaskDownSampleBuffer=new g(this.resolution.x,this.resolution.y,n),this.renderTargetMaskDownSampleBuffer.texture.name="OutlinePass.depthDownSample",this.renderTargetMaskDownSampleBuffer.texture.generateMipmaps=!1,this.renderTargetEdgeBuffer=new g(this.resolution.x,this.resolution.y,n),this.renderTargetEdgeBuffer.texture.name="OutlinePass.edge",this.renderTargetEdgeBuffer.texture.generateMipmaps=!1,this.renderTargetColorBuffer=new g(this.resolution.x,this.resolution.y,n),this.renderTargetColorBuffer.texture.name="OutlinePass.color",this.renderTargetColorBuffer.texture.generateMipmaps=!1,this.depthMaterial=new ji,this.depthMaterial.side=2,this.depthMaterial.depthPacking=3201,this.depthMaterial.blending=0,this.InstancedDepthMaterial=new Su,this.InstancedDepthMaterial.side=2,this.InstancedDepthMaterial.depthPacking=3201,this.InstancedDepthMaterial.blending=0,this.prepareMaskMaterial=this.getPrepareMaskMaterial(),this.prepareMaskMaterial.side=2,this.prepareMaskInstancedMaterial=this.getPrepareMaskInstancedMaterial(),this.prepareMaskInstancedMaterial.side=2,this.edgeDetectionMaterial=this.getEdgeDetectionMaterial(),this.overlayMaterial=this.getOverlayMaterial(),void 0===py&&console.error("OutlinePass relies on THREE.CopyShader");var r=py;return this.copyUniforms=Ge.clone(r.uniforms),this.copyUniforms.opacity.value=1,this.materialCopy=new Pe({uniforms:this.copyUniforms,vertexShader:r.vertexShader,fragmentShader:r.fragmentShader,blending:0,depthTest:!1,depthWrite:!1,transparent:!0}),this.enabled=!0,this.needsSwap=!1,this.oldClearColor=new LA,this.oldClearAlpha=1,this.camera=new Ka(-1,1,1,-1,0,1),this.scene=new Y,this.quad=new Ue(new et(2,2),null),this.quad.frustumCulled=!1,this.scene.add(this.quad),this.textureMatrix=new M,this};Ey.prototype.dispose=function(){this.renderTargetDepthBuffer.dispose(),this.renderTargetMaskBuffer.dispose(),this.renderTargetMaskDownSampleBuffer.dispose(),this.renderTargetEdgeBuffer.dispose(),this.renderTargetColorBuffer.dispose()},Ey.prototype.setSize=function(A,e){this.renderTargetDepthBuffer.setSize(A,e),this.renderTargetMaskBuffer.setSize(A,e),this.renderTargetMaskDownSampleBuffer.setSize(A,e),this.renderTargetEdgeBuffer.setSize(A,e),this.renderTargetColorBuffer.setSize(A,e)},Ey.prototype.adjustVisibilityOfObjectsWithoutOutline=function(A){this.modelManager.adjustVisibilityOfObjectsWithoutOutline(A)},Ey.prototype.adjustVisibility=function(A){this.modelManager.adjustVisibility(A)},Ey.prototype.changeVisibilityOfSelectedObjects=function(A){this.modelManager.changeVisibilityOfSelectedObjects(A)},Ey.prototype.changeVisibilityOfNonSelectedObjects=function(A){this.modelManager.changeVisibilityOfNonSelectedObjects(A)},Ey.prototype.adjustInstanceVisibility=function(A){this.modelManager.adjustInstanceVisibility(A)},Ey.prototype.changeInstanceVisibilityOfSelectedObjects=function(A){this.modelManager.changeInstanceVisibilityOfSelectedObjects(A)},Ey.prototype.changeInstanceVisibilityOfNonSelectedObjects=function(A){this.modelManager.changeInstanceVisibilityOfNonSelectedObjects(A)},Ey.prototype.restoreVisibilityOfObjects=function(){this.modelManager.restoreVisibilityOfObjects()},Ey.prototype.updateTextureMatrix=function(){this.textureMatrix.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),this.textureMatrix.multiply(this.renderCamera.projectionMatrix),this.textureMatrix.multiply(this.renderCamera.matrixWorldInverse)},Ey.prototype.render=function(A,e,t,i,o){this.oldClearColor.copy(A.getClearColor()),this.oldClearAlpha=A.getClearAlpha();var n=A.autoClear;A.autoClear=!1,o&&A.state.buffers.stencil.setTest(!1),A.setClearColor(0,0),this.adjustVisibilityOfObjectsWithoutOutline(!1),this.adjustInstanceVisibility(!1),this.changeVisibilityOfSelectedObjects(!1),this.renderScene.overrideMaterial=this.depthMaterial,A.setRenderTarget(this.renderTargetDepthBuffer),A.clear(),A.render(this.renderScene,this.renderCamera),this.adjustInstanceVisibility(!0),this.changeVisibilityOfSelectedObjects(!0),this.adjustVisibility(!1),this.changeInstanceVisibilityOfSelectedObjects(!1),this.renderScene.overrideMaterial=this.InstancedDepthMaterial,A.setRenderTarget(this.renderTargetDepthBuffer),A.render(this.renderScene,this.renderCamera),this.adjustVisibility(!0),this.changeInstanceVisibilityOfSelectedObjects(!0),this.updateTextureMatrix(),this.adjustInstanceVisibility(!1),this.changeVisibilityOfNonSelectedObjects(!1),this.adjustVisibilityOfObjectsWithoutOutline(!1),this.renderScene.overrideMaterial=this.prepareMaskMaterial,this.prepareMaskMaterial.uniforms.cameraNearFar.value=new s(this.renderCamera.near,this.renderCamera.far),this.prepareMaskMaterial.uniforms.depthTexture.value=this.renderTargetDepthBuffer.texture,this.prepareMaskMaterial.uniforms.textureMatrix.value=this.textureMatrix,A.setRenderTarget(this.renderTargetMaskBuffer),A.clear(),A.render(this.renderScene,this.renderCamera),this.adjustInstanceVisibility(!0),this.changeVisibilityOfNonSelectedObjects(!0),this.adjustVisibility(!1),this.changeInstanceVisibilityOfNonSelectedObjects(!1),this.adjustVisibilityOfObjectsWithoutOutline(!1),this.renderScene.overrideMaterial=this.prepareMaskInstancedMaterial,this.prepareMaskInstancedMaterial.uniforms.cameraNearFar.value=new s(this.renderCamera.near,this.renderCamera.far),this.prepareMaskInstancedMaterial.uniforms.depthTexture.value=this.renderTargetDepthBuffer.texture,this.prepareMaskInstancedMaterial.uniforms.textureMatrix.value=this.textureMatrix,A.setRenderTarget(this.renderTargetMaskBuffer),A.render(this.renderScene,this.renderCamera),this.renderScene.overrideMaterial=null,this.adjustVisibility(!0),this.changeInstanceVisibilityOfNonSelectedObjects(!0),this.restoreVisibilityOfObjects(),this.quad.material=this.materialCopy,this.copyUniforms.tDiffuse.value=this.renderTargetMaskBuffer.texture,A.setRenderTarget(this.renderTargetMaskDownSampleBuffer),A.clear(),A.render(this.scene,this.camera),this.quad.material=this.edgeDetectionMaterial,this.edgeDetectionMaterial.uniforms.maskTexture.value=this.renderTargetMaskDownSampleBuffer.texture,this.edgeDetectionMaterial.uniforms.texSize.value=new s(this.renderTargetMaskDownSampleBuffer.width,this.renderTargetMaskDownSampleBuffer.height),this.edgeDetectionMaterial.uniforms.edgeColor.value=this.edgeColor,this.edgeDetectionMaterial.uniforms.edgeLength.value=this.edgeLength,A.setRenderTarget(this.renderTargetEdgeBuffer),A.clear(),A.render(this.scene,this.camera),this.quad.material=this.overlayMaterial,this.overlayMaterial.uniforms.colorTexture.value=t.texture,this.overlayMaterial.uniforms.outlineTexture.value=this.renderTargetEdgeBuffer.texture,A.setRenderTarget(this.renderTargetColorBuffer),A.clear(),A.render(this.scene,this.camera),this.quad.material=this.materialCopy,this.copyUniforms.tDiffuse.value=this.renderTargetColorBuffer.texture,o&&A.state.buffers.stencil.setTest(!0),A.setRenderTarget(t),A.clear(),this.adjustVisibilityOfObjectsWithoutOutline(!0),A.render(this.scene,this.camera),A.setClearColor(this.oldClearColor,this.oldClearAlpha),A.autoClear=n},Ey.prototype.getPrepareMaskMaterial=function(){return new Pe({uniforms:{depthTexture:{value:null},cameraNearFar:{value:new s(.5,.5)},textureMatrix:{value:new M}},vertexShader:"varying vec2 vUv;\n\t\t\t\tvarying vec4 projTexCoord;\n\t\t\t\tvarying vec4 vPosition;\n\t\t\t\tuniform mat4 textureMatrix;\n\t\t\t\tvoid main() {\n\t\t\t\t\tvUv = uv;\n\t\t\t\t\tvPosition = modelViewMatrix * vec4( position, 1.0 );\n\t\t\t\t\tvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n\t\t\t\t\tprojTexCoord = textureMatrix * worldPosition;\n\t\t\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\t\t\t\t}",fragmentShader:"\n #include <packing>\n\t\t\t\tvarying vec2 vUv;\n\t\t\t\tvarying vec4 vPosition;\n\t\t\t\tvarying vec4 projTexCoord;\n\t\t\t\tuniform sampler2D depthTexture;\n\t\t\t\tuniform vec2 cameraNearFar;\n\t\t\t\t\n\t\t\t\tfloat linearDepth(float depth)\n {\n float far = cameraNearFar.y;\n float near = cameraNearFar.x;\n return (2.0 * near) / (far + near - depth * (far - near));\n }\n\t\t\t\t\n\t\t\t\tvoid main() {\n\t\t\t\t\tfloat depth = unpackRGBAToDepth(texture2DProj( depthTexture, projTexCoord ));\t\t\t\t\t\n\t\t\t\t\tgl_FragColor = vec4(depth);\n\t\t\t\t}"})},Ey.prototype.getPrepareMaskInstancedMaterial=function(){return new Pe({uniforms:{depthTexture:{value:null},cameraNearFar:{value:new s(.5,.5)},textureMatrix:{value:new M}},vertexShader:"\n attribute float vState; \n attribute vec4 aColor; \n attribute vec3 mcol0;\n attribute vec3 mcol1;\n attribute vec3 mcol2;\n attribute vec3 mcol3;\n #if defined(USE_MAP)\n attribute vec2 muvCol0;\n attribute vec2 muvCol1;\n attribute vec2 muvCol2;\n #endif\n \n varying float vfState;\n varying vec2 vUv;\n\t\t\t\tvarying vec4 projTexCoord;\n\t\t\t\tvarying vec4 vPosition;\n\t\t\t\tuniform mat4 textureMatrix;\n\t\t\t\t\n\t\t\t\tvec3 getInstancePosition(vec3 position) {\n return vec3(mat4(vec4(mcol0, 0.0),\n vec4(mcol1, 0.0),\n vec4(mcol2, 0.0),\n vec4(mcol3, 1.0)) * vec4(position, 1.0));\n }\n \n vec2 getInstanceUV(vec2 uv) {\n \n #if defined(USE_MAP)\n return vec2(mat3(vec3(muvCol0, 0.0),\n vec3(muvCol1, 0.0), \n vec3(muvCol2, 1.0)) * vec3(uv, 1.0));\n #else\n return uv;\n #endif \n \n }\n \n\t\t\t\tvoid main() {\n\t\t\t\t vfState = vState;\n\t\t\t\t\tvUv = uv;\n\t\t\t\t\tvPosition = vec4(getInstancePosition(position), 1.0);\n\t\t\t\t\tvec4 worldPosition = modelMatrix * vPosition;\n\t\t\t\t\tprojTexCoord = textureMatrix * worldPosition;\n\t\t\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vPosition;\n\t\t\t\t}",fragmentShader:"#include <packing>\n varying float vfState;\n varying vec2 vUv;\n varying vec4 vPosition;\n varying vec4 projTexCoord;\n uniform sampler2D depthTexture;\n uniform vec2 cameraNearFar;\n \n float linearDepth(float depth)\n {\n float far = cameraNearFar.y;\n float near = cameraNearFar.x;\n return (2.0 * near) / (far + near - depth * (far - near));\n }\n \n void main() {\n if (vfState <= -0.99 && vfState >= -1.01) discard;\n float depth = unpackRGBAToDepth(texture2DProj( depthTexture, projTexCoord ));\n gl_FragColor = vec4(depth);\n }"})},Ey.prototype.getEdgeDetectionMaterial=function(){return new Pe({uniforms:{maskTexture:{value:null},texSize:{value:new s(.5,.5)},edgeColor:{value:new p(1,1,1,1)},edgeLength:{value:2}},vertexShader:"\n varying vec2 vUv;\n\t\t\t\tvoid main() {\n\t\t\t\t\tvUv = uv;\n\t\t\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\t\t\t\t}",fragmentShader:"\n varying vec2 vUv;\n\t\t\t\tuniform sampler2D maskTexture;\n\t\t\t\tuniform vec2 texSize;\n\t\t\t\tuniform vec4 edgeColor;\n uniform float edgeLength; \n \n void main(void)\n {\n float directions[3];\n directions[0] = -1.0;\n directions[1] = 0.0;\n directions[2] = 1.0;\n \n float scalars[3];\n scalars[0] = 3.0;\n scalars[1] = 10.0;\n scalars[2] = 3.0;\n \n float padx = 1.0 / texSize.x;\n float pady = 1.0 / texSize.y ; \n \n float edgeSize = 0.0; \n float horizEdge = 0.0;\n float vertEdge = 0.0; \n \n for (int i = 0; i < 3; ++i)\n {\n float dir = directions[i];\n float scale = scalars[i];\n \n horizEdge -= texture2D(maskTexture, vUv + vec2(-padx, dir * pady)).x * scale;\n horizEdge += texture2D(maskTexture, vUv + vec2(padx, dir * pady)).x * scale;\n \n vertEdge -= texture2D(maskTexture, vUv + vec2(dir * padx, -pady)).x * scale;\n vertEdge += texture2D(maskTexture, vUv + vec2(dir * padx, pady)).x * scale;\n } \n \n float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); \n float alpha = len > edgeLength ? edgeColor.a : (texture2D(maskTexture, vUv).w > 0.1 ? 0.1 : 0.0);\n gl_FragColor = vec4(edgeColor.rgb, alpha);\n }"})},Ey.prototype.getOverlayMaterial=function(){return new Pe({uniforms:{colorTexture:{value:null},outlineTexture:{value:null}},vertexShader:"varying vec2 vUv;\n\t\t\t\tvoid main() {\n\t\t\t\t\tvUv = uv;\n\t\t\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\t\t\t\t}",fragmentShader:"varying vec2 vUv;\n\t\t\t\tuniform sampler2D colorTexture;\n\t\t\t\tuniform sampler2D outlineTexture;\n\t\t\t\t\n\t\t\t\tvoid main() {\n\t\t\t\t\tvec4 outlineColor = texture2D(outlineTexture, vUv);\t\t\t\t\t\n\t\t\t\t\tgl_FragColor = mix(texture2D(colorTexture, vUv), outlineColor, outlineColor.a);\t\t\t\t\t\n\t\t\t\t}",blending:2,depthTest:!1,depthWrite:!1,transparent:!0})},Ey.prototype.setOutlineEdgeColor=function(A){this.edgeColor.fromArray([A.r,A.g,A.b,A.opacity?A.opacity:1])},Ey.prototype.getOutlineEdgeColor=function(A){return(new Xh).fromArray(this.edgeColor.toArray())};var By=function(A){this.renderer=A,this.composer=null,this.renderPass=null,this.outlinePass=null,this.effectFXAA=null,this.selectedObjectIds=[]};By.prototype.destroy=function(){this.renderer=null,this.composer=null,this.renderPass=null,this.outlinePass=null,this.effectFXAA=null,this.selectedObjectIds=null},By.prototype.init=function(A,e,t,i,o){this.composer=new Cy(this.renderer),this.renderPass=new Iy(e,t),this.composer.addPass(this.renderPass),this.outlinePass=new Ey(new s(i,o),A,e,t),this.composer.addPass(this.outlinePass),this.effectFXAA=new uy(vy),this.effectFXAA.uniforms.resolution.value.set(1/i,1/o),this.effectFXAA.renderToScreen=!0,this.composer.addPass(this.effectFXAA)},By.prototype.reinit=function(A,e,t,i,o,n){this.renderer=A,this.composer=new Cy(this.renderer),this.renderPass=this.renderPass||new Iy(t,i),this.composer.addPass(this.renderPass),this.outlinePass=this.outlinePass||new Ey(new s(o,n),e,t,i),this.composer.addPass(this.outlinePass),this.effectFXAA=this.effectFXAA||new uy(vy),this.effectFXAA.uniforms.resolution.value.set(1/o,1/n),this.effectFXAA.renderToScreen=!0,this.composer.addPass(this.effectFXAA)},By.prototype.render=function(){this.composer.render()},By.prototype.setSize=function(A,e){this.composer.setSize(A,e),this.effectFXAA.uniforms.resolution.value.set(1/A,1/e)},By.prototype.addSelectedId=function(A){this.selectedObjectIds.push(A)},By.prototype.clearSelectedIds=function(){this.selectedObjectIds.length=0},By.prototype.setSelectedIds=function(A){if(this.outlinePass){this.clearSelectedIds();for(var e=0,t=A.length;t>e;e+=1)this.addSelectedId(A[e]);this.outlinePass.selectedObjectIds=this.selectedObjectIds}},By.prototype.setOutlineEdgeColor=function(A){this.outlinePass.setOutlineEdgeColor(A)},By.prototype.getOutlineEdgeColor=function(){return this.outlinePass.getOutlineEdgeColor()};var xy=function(A){jA.call(this,A),this.type="InstancedMeshBasicMaterial",this.uniforms=it.basic.uniforms,this.vertexShader=function(A){return A.replace("#include <project_vertex>","\n vec4 mvPosition = modelViewMatrix * vec4(getInstancePosition(transformed), 1.0);\n gl_Position = projectionMatrix * mvPosition;\n ")}(it.basic.vertexShader.replace("void main() {","\n attribute float vState; \n attribute vec3 mcol0;\n attribute vec3 mcol1;\n attribute vec3 mcol2;\n attribute vec3 mcol3; \n varying float vfState;\n \n vec3 getInstancePosition(vec3 position) {\n return vec3(mat4(vec4(mcol0, 0.0),\n vec4(mcol1, 0.0),\n vec4(mcol2, 0.0),\n vec4(mcol3, 1.0)) * vec4(position, 1.0));\n }\n \n void main() {\n vfState = vState;\n ")),this.fragmentShader=it.basic.fragmentShader.replace("void main() {","\n varying float vfState; \n void main() {\n if (vfState <= -0.99 && vfState >= -1.01) discard;\n \n ")};(xy.prototype=Object.create(jA.prototype)).constructor=xy;var Sy=function(A){this.viewer=A;var e=vc.SelectionColor.color;this.wireframeMaterial=new jA({color:e,opacity:1,transparent:!0,blending:5,blendSrc:201,blendDst:200,blendEquation:100}),this.selectedMaterial=new jA({color:e,opacity:.3,transparent:!0}),this.skinningWireframeMaterial=new jA({color:e,opacity:1,transparent:!0,blending:5,blendSrc:201,blendDst:200,blendEquation:100,skinning:!0}),this.skinningSelectedMaterial=new jA({color:e,opacity:.3,transparent:!0,skinning:!0}),this.selectedLineMaterial=new YC({color:e,opacity:1,transparent:!0,linewidth:2,dashed:!1}),this.instancedWireFrameMaterial=new xy({color:e,opacity:1,transparent:!0,blending:5,blendSrc:201,blendDst:200,blendEquation:100}),this.instancedSelectedMaterial=new xy({color:e,opacity:.3,transparent:!0}),this.selectionScene=new Y,this.selectionScene.autoUpdate=!1,this.selectionObjectGroup=new ep,this.selectionObjectGroup.name="PickingObjectGroup",this.selectionObjectGroup.matrixAutoUpdate=!1,this.selectionScene.add(this.selectionObjectGroup),this.lastSelectedUserIdMap=null,this.lastSelectedUserIds=null};Sy.prototype.destroy=function(){this.wireframeMaterial.dispose(),this.wireframeMaterial=null,this.selectedMaterial.dispose(),this.selectedMaterial=null,this.skinningWireframeMaterial.dispose(),this.skinningWireframeMaterial=null,this.skinningSelectedMaterial.dispose(),this.skinningSelectedMaterial=null,this.selectedLineMaterial.dispose(),this.selectedLineMaterial=null,this.instancedWireFrameMaterial.dispose(),this.instancedWireFrameMaterial=null,this.instancedSelectedMaterial.dispose(),this.instancedSelectedMaterial=null,this.selectionObjectGroup.clear(),this.selectionObjectGroup=null,this.selectionScene=null,this.lastSelectedUserIdMap=null,this.lastSelectedUserIds=null,this.viewer=null},Sy.prototype.apply=function(A){var e=this.viewer,t=e.getSelection();if(!t||!t.length)return this._clearSelectedUserIdsCache(),void this._clearMeshesFromScene();(A||this._isSelectionsChanged())&&(this._cacheSelectedUserIds(t),this._updateScene(t)),this._render(e.rendererManager.getRenderer(),e.camera)},Sy.prototype._isSelectionsChanged=function(){var A=this.lastSelectedUserIds;if(!A)return!0;var e=this.viewer.getSelection(),t=e.length;if(t!==A.length)return!0;for(var i=!1,o=this.lastSelectedUserIdMap,n=t-1;n>=0;n-=1)if(!o[e[n]]){i=!0;break}return i},Sy.prototype._cacheSelectedUserIds=function(A){this.lastSelectedUserIds=A.slice(0),this.lastSelectedUserIdMap=uh.arrayToMap(A)},Sy.prototype._clearSelectedUserIdsCache=function(){this.lastSelectedUserIds=null,this.lastSelectedUserIdMap=null},Sy.prototype._render=function(A,e){var t=A.autoClearColor,i=A.autoClearDepth,o=A.autoClearStencil;A.autoClearColor=!1,A.autoClearDepth=!0,A.autoClearStencil=!1,A.render(this.selectionScene,e),A.autoClearColor=t,A.autoClearDepth=i,A.autoClearStencil=o},Sy.prototype._updateScene=function(A){this._clearMeshesFromScene(),this._addMeshesToScene(this._getSelectedMeshes(A)),this._updateMatrixWorldForScene(),this._updateSelectedLineMaterial()},Sy.prototype._clearMeshesFromScene=function(){this.selectionObjectGroup.clear()},Sy.prototype._addMeshesToScene=function(A){for(var e=0,t=A.length;t>e;e+=1)this.selectionObjectGroup.add(A[e])},Sy.prototype._updateMatrixWorldForScene=function(){this.selectionObjectGroup.matrix.copy(this.viewer.getScene().getMatrixGlobal()),this.selectionObjectGroup.updateMatrixWorld(!0)},Sy.prototype._getSelectedMeshes=function(A){var e={meshes:[]},t=this,i=uh.arrayToMap(A);return this.viewer.getModelManager().traverseLoadedModels((function(o){o.getPickingMeshes(t,e,A,i)})),e.meshes},Sy.prototype._updateSelectedLineMaterial=function(){vc.PickingLineWidthEnabled&&this.selectedLineMaterial.resolution.set(this.viewer.domElement.offsetWidth,this.viewer.domElement.offsetHeight)},Sy.prototype.setSelectionColor=function(A,e){var t=this.selectedMaterial.opacity;e=void 0===e?t:e,"0x"+this.selectedMaterial.color.getHexString()===A&&t===e||(this.selectedMaterial.color.setHex(A),this.skinningSelectedMaterial.color.setHex(A),this.instancedSelectedMaterial.color.setHex(A),void 0===e&&null===e||(this.selectedMaterial.opacity=e,this.skinningSelectedMaterial.opacity=e,this.instancedSelectedMaterial.opacity=e,1>e?(this.selectedMaterial.transparent=!0,this.skinningSelectedMaterial.transparent=!0,this.instancedSelectedMaterial.transparent=!0):(this.selectedMaterial.transparent=!1,this.skinningSelectedMaterial.transparent=!1,this.instancedSelectedMaterial.transparent=!1)),this.selectedMaterial.needsUpdate=!0,this.skinningSelectedMaterial.needsUpdate=!0,this.instancedSelectedMaterial.needsUpdate=!0)},Sy.prototype.getSelectionColor=function(A,e){var t=this.selectedMaterial.opacity;return new Xh(this.selectedMaterial.color.getHex(),t)},Sy.prototype.setLineSelectionColor=function(A,e){var t=this.wireframeMaterial.opacity;e=void 0===e?t:e,"0x"+this.wireframeMaterial.color.getHexString()===A&&t===e||(this.wireframeMaterial.color.setHex(A),this.skinningWireframeMaterial.color.setHex(A),this.selectedLineMaterial.color.setHex(A),this.instancedWireFrameMaterial.color.setHex(A),void 0===e&&null===e||(this.wireframeMaterial.opacity=e,this.skinningWireframeMaterial.opacity=e,this.selectedLineMaterial.opacity=e,this.instancedWireFrameMaterial.opacity=e,1>e?(this.wireframeMaterial.transparent=!0,this.skinningWireframeMaterial.transparent=!0,this.selectedLineMaterial.transparent=!0,this.instancedWireFrameMaterial.transparent=!0):(this.wireframeMaterial.transparent=!1,this.skinningWireframeMaterial.transparent=!1,this.selectedLineMaterial.transparent=!1,this.instancedWireFrameMaterial.transparent=!1)),this.wireframeMaterial.needsUpdate=!0,this.skinningWireframeMaterial.needsUpdate=!0,this.selectedLineMaterial.needsUpdate=!0,this.instancedWireFrameMaterial.needsUpdate=!0)},Sy.prototype.getLineSelectionColor=function(){var A=this.wireframeMaterial.opacity;return new Xh(this.wireframeMaterial.color.getHex(),A)};var wy=new M,My=function(){function A(e){cc(this,A),e=e||{},this.vertices={near:[new y,new y,new y,new y],far:[new y,new y,new y,new y]},void 0!==e.projectionMatrix&&this.setFromProjectionMatrix(e.projectionMatrix,e.maxFar||1e4)}return dc(A,[{key:"setFromProjectionMatrix",value:function(A,e){var t=0===A.elements[11];return wy.getInverse(A),this.vertices.near[0].set(1,1,-1),this.vertices.near[1].set(1,-1,-1),this.vertices.near[2].set(-1,-1,-1),this.vertices.near[3].set(-1,1,-1),this.vertices.near.forEach((function(A){A.applyMatrix4(wy)})),this.vertices.far[0].set(1,1,1),this.vertices.far[1].set(1,-1,1),this.vertices.far[2].set(-1,-1,1),this.vertices.far[3].set(-1,1,1),this.vertices.far.forEach((function(A){A.applyMatrix4(wy);var i=Math.abs(A.z);t?A.z*=Math.min(e/i,1):A.multiplyScalar(Math.min(e/i,1))})),this.vertices}},{key:"split",value:function(e,t){for(;e.length>t.length;)t.push(new A);t.length=e.length;for(var i=0;e.length>i;i+=1){var o=t[i];if(0===i)for(var n=0;4>n;n+=1)o.vertices.near[n].copy(this.vertices.near[n]);else for(var r=0;4>r;r+=1)o.vertices.near[r].lerpVectors(this.vertices.near[r],this.vertices.far[r],e[i-1]);if(i===e-1)for(var a=0;4>a;a+=1)o.vertices.far[a].copy(this.vertices.far[a]);else for(var s=0;4>s;s+=1)o.vertices.far[s].lerpVectors(this.vertices.near[s],this.vertices.far[s],e[i])}}},{key:"toSpace",value:function(A,e){for(var t=0;4>t;t+=1)e.vertices.near[t].copy(this.vertices.near[t]).applyMatrix4(A),e.vertices.far[t].copy(this.vertices.far[t]).applyMatrix4(A)}}]),A}(),by={lights_fragment_begin:"\nGeometricContext geometry;\n\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\n#ifdef CLEARCOAT\n\n\tgeometry.clearcoatNormal = clearcoatNormal;\n\n#endif\n\nIncidentLight directLight;\n\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\n\t\tpointLight = pointLights[ i ];\n\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\n#endif\n\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\n\t\tspotLight = spotLights[ i ];\n\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\n#endif\n\n#if ( NUM_DIR_LIGHTS > 0) && defined( RE_Direct ) && defined( USE_CSM ) && defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\tfloat linearDepth = (vViewPosition.z) / (shadowFar - cameraNear);\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#if defined( USE_SHADOWMAP ) && defined( CSM_FADE )\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\n\t\t// NOTE: Depth gets larger away from the camera.\n\t\t// cascade.x is closer, cascade.y is further\n\t\tvec2 cascade = CSM_cascades[ i ];\n\t\tfloat cascadeCenter = ( cascade.x + cascade.y ) / 2.0;\n\t\tfloat closestEdge = linearDepth < cascadeCenter ? cascade.x : cascade.y;\n\t\tfloat margin = 0.25 * pow( closestEdge, 2.0 );\n\t\tfloat csmx = cascade.x - margin / 2.0;\n\t\tfloat csmy = cascade.y + margin / 2.0;\n\t\tif( i < NUM_DIR_LIGHT_SHADOWS && linearDepth >= csmx && ( linearDepth < csmy || i == CSM_CASCADES - 1 ) ) {\n\n\t\t\tfloat dist = min( linearDepth - csmx, csmy - linearDepth );\n\t\t\tfloat ratio = clamp( dist / margin, 0.0, 1.0 );\n\t\t\tif( i < NUM_DIR_LIGHT_SHADOWS ) {\n\n\t\t\t\tvec3 prevColor = directLight.color;\n\t\t\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\t\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t\t\tbool shouldFadeLastCascade = i == CSM_CASCADES - 1 && linearDepth > cascadeCenter;\n\t\t\t\tdirectLight.color = mix( prevColor, directLight.color, shouldFadeLastCascade ? ratio : 1.0 );\n\n\t\t\t}\n\n\t\t\tReflectedLight prevLight = reflectedLight;\n\t\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t\t\tbool shouldBlend = i != CSM_CASCADES - 1 || i == CSM_CASCADES - 1 && linearDepth < cascadeCenter;\n\t\t\tfloat blendRatio = shouldBlend ? ratio : 1.0;\n\n\t\t\treflectedLight.directDiffuse = mix( prevLight.directDiffuse, reflectedLight.directDiffuse, blendRatio );\n\t\t\treflectedLight.directSpecular = mix( prevLight.directSpecular, reflectedLight.directSpecular, blendRatio );\n\t\t\treflectedLight.indirectDiffuse = mix( prevLight.indirectDiffuse, reflectedLight.indirectDiffuse, blendRatio );\n\t\t\treflectedLight.indirectSpecular = mix( prevLight.indirectSpecular, reflectedLight.indirectSpecular, blendRatio );\n\n\t\t}\n\n\t}\n\t#else\n\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y) directLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\n\t\t#endif\n\n\t\tif(linearDepth >= CSM_cascades[UNROLLED_LOOP_INDEX].x && (linearDepth < CSM_cascades[UNROLLED_LOOP_INDEX].y || UNROLLED_LOOP_INDEX == CSM_CASCADES - 1)) RE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\n\t#endif\n\n#endif\n\n\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) && !defined( USE_CSM ) && !defined( CSM_CASCADES )\n\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\n\t\tdirectionalLight = directionalLights[ i ];\n\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\n\t}\n\n#endif\n\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\n\tRectAreaLight rectAreaLight;\n\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\n\t}\n\n#endif\n\n#if defined( RE_IndirectDiffuse )\n\n\tvec3 iblIrradiance = vec3( 0.0 );\n\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\n\t\t}\n\n\t#endif\n\n#endif\n\n#if defined( RE_IndirectSpecular )\n\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n\n#endif\n",lights_pars_begin:"\n#if defined( USE_CSM ) && defined( CSM_CASCADES )\nuniform vec2 CSM_cascades[CSM_CASCADES];\nuniform float cameraNear;\nuniform float shadowFar;\n#endif\n\t"+tt.lights_pars_begin},Uy=new M,Fy=new My,Ky=new My,Qy=new y,Ry=new aA,Ty=[],ky=[],Dy=function(){function A(e){cc(this,A),this.camera=(e=e||{}).camera,this.parent=e.parent,this.cascades=e.cascades||3,this.maxFar=e.maxFar||1e5,this.mode=e.mode||"practical",this.shadowMapSize=e.shadowMapSize||2048,this.shadowBias=e.shadowBias||1e-6,this.lightDirection=e.lightDirection||new y(1,-1,1).normalize(),this.lightIntensity=e.lightIntensity||1,this.lightNear=e.lightNear||1,this.lightFar=e.lightFar||2e3,this.lightMargin=e.lightMargin||200,this.customSplitsCallback=e.customSplitsCallback,this.fade=!1,this.mainFrustum=new My,this.frustums=[],this.breaks=[],this.lights=[],this.shaders=new Map,this.createLights(),this.getBreaks(),this.initCascades(),this.injectInclude()}return dc(A,[{key:"createLights",value:function(){for(var A=0;this.cascades>A;A++){var e=new Ra(16777215,this.lightIntensity);e.castShadow=!0,e.intensity=.72,e.distance=300,e.color.setHex(14800580),e.position.set(-100,100,160),e.shadow.mapSize.width=this.shadowMapSize,e.shadow.mapSize.height=this.shadowMapSize,e.shadow.camera.near=this.lightNear,e.shadow.camera.far=this.lightFar,e.shadow.bias=this.shadowBias,e.updateMatrixWorld(),this.parent.add(e),this.parent.add(e.target),this.lights.push(e)}}},{key:"initCascades",value:function(){var A=this.camera;A.updateProjectionMatrix(),this.mainFrustum.setFromProjectionMatrix(A.projectionMatrix,this.maxFar),this.mainFrustum.split(this.breaks,this.frustums)}},{key:"getBreaks",value:function(){var A=this.camera,e=Math.min(A.far,this.maxFar);switch(this.breaks.length=0,this.mode){case"uniform":t(this.cascades,A.near,e,this.breaks);break;case"logarithmic":i(this.cascades,A.near,e,this.breaks);break;case"practical":!function(A,e,o,n,r){Ty.length=0,ky.length=0,i(A,e,o,ky),t(A,e,o,Ty);for(var s=1;A>s;s++)r.push(a.lerp(Ty[s-1],ky[s-1],n));r.push(1)}(this.cascades,A.near,e,.5,this.breaks);break;case"custom":void 0===this.customSplitsCallback&&console.error("CSM: Custom split scheme callback not defined."),this.customSplitsCallback(this.cascades,A.near,e,this.breaks)}function t(A,e,t,i){for(var o=1;A>o;o++)i.push((e+(t-e)*o/A)/t);i.push(1)}function i(A,e,t,i){for(var o=1;A>o;o++)i.push(e*(t/e)*(o/A)/t);i.push(1)}}},{key:"update",value:function(A){for(var e=this.frustums,t=0;e.length>t;t++){var i=this.lights[t];i.shadow.camera.updateMatrixWorld(!0),Uy.multiplyMatrices(i.shadow.camera.matrixWorldInverse,A),e[t].toSpace(Uy,Fy);var o=Fy.vertices.near,n=Fy.vertices.far,r=n[0],a=void 0;a=r.distanceTo(n[2])>r.distanceTo(o[2])?n[2]:o[2];var s=r.distanceTo(a);Ry.makeEmpty();for(var l=0;4>l;l++)Ry.expandByPoint(o[l]),Ry.expandByPoint(n[l]);if(this.fade){var c=this.camera,h=Math.max(c.far,this.maxFar);s+=.25*Math.pow(e[t].vertices.far[0].z/(h-c.near),2)*(h-c.near)}var d=s/this.shadowMapSize;Ry.getCenter(Qy),Qy.z=Ry.max.z+this.lightMargin,Qy.x=Math.floor(Qy.x/d)*d,Qy.y=Math.floor(Qy.y/d)*d,Qy.applyMatrix4(i.shadow.camera.matrixWorld),i.shadow.camera.left=-s/2,i.shadow.camera.right=s/2,i.shadow.camera.top=s/2,i.shadow.camera.bottom=-s/2,i.position.copy(Qy),i.target.position.copy(Qy),i.target.position.x+=this.lightDirection.x,i.target.position.y+=this.lightDirection.y,i.target.position.z+=this.lightDirection.z,i.shadow.camera.updateProjectionMatrix(),i.shadow.camera.updateMatrixWorld()}}},{key:"injectInclude",value:function(){tt.lights_fragment_begin=by.lights_fragment_begin,tt.lights_pars_begin=by.lights_pars_begin}},{key:"setupMaterial",value:function(A){A.defines=A.defines||{},A.defines.USE_CSM=1,A.defines.CSM_CASCADES=this.cascades,this.fade&&(A.defines.CSM_FADE="");var e=[],t=this,i=this.shaders;A.onBeforeCompile=function(o){var n=Math.min(t.camera.far,t.maxFar);t.getExtendedBreaks(e),console.log("www",e,e.length),o.uniforms.CSM_cascades={value:e},o.uniforms.cameraNear={value:t.camera.near},o.uniforms.shadowFar={value:n},i.set(A,o)},i.set(A,null)}},{key:"updateUniforms",value:function(){var A=Math.min(this.camera.far,this.maxFar);this.shaders.forEach((function(e,t){if(null!==e){var i=e.uniforms;this.getExtendedBreaks(i.CSM_cascades.value),i.cameraNear.value=this.camera.near,i.shadowFar.value=A}!this.fade&&"CSM_FADE"in t.defines?(delete t.defines.CSM_FADE,t.needsUpdate=!0):this.fade&&!("CSM_FADE"in t.defines)&&(t.defines.CSM_FADE="",t.needsUpdate=!0)}),this)}},{key:"getExtendedBreaks",value:function(A){for(;this.breaks.length>A.length;)A.push(new s);A.length=this.breaks.length;for(var e=0;this.cascades>e;e++){var t=this.breaks[e];A[e].x=this.breaks[e-1]||0,A[e].y=t}}},{key:"updateFrustums",value:function(){this.getBreaks(),this.initCascades(),this.updateUniforms()}},{key:"helper",value:function(A){for(var e,t,i=new ko({color:16777215}),o=new H,n=0;this.frustums.length>n;n++){this.frustums[n].toSpace(A,Ky),e=new he,t=[];for(var r=0;5>r;r++){var a=Ky.vertices.near[4===r?0:r];t.push(a.x,a.y,a.z)}e.setAttribute("position",new YA(new Float32Array(t),3)),o.add(new Go(e,i)),e=new he,t=[];for(var s=0;5>s;s++){var l=Ky.vertices.far[4===s?0:s];t.push(l.x,l.y,l.z)}e.setAttribute("position",new YA(new Float32Array(t),3)),o.add(new Go(e,i));for(var c=0;4>c;c++){e=new he;var h=Ky.vertices.near[c],d=Ky.vertices.far[c];(t=[]).push(h.x,h.y,h.z),t.push(d.x,d.y,d.z),e.setAttribute("position",new YA(new Float32Array(t),3)),o.add(new Go(e,i))}}return o}},{key:"remove",value:function(){for(var A=0;this.lights.length>A;A++)this.parent.remove(this.lights[A])}},{key:"dispose",value:function(){var A=this.shaders;A.forEach((function(A,e){delete e.onBeforeCompile,delete e.defines.USE_CSM,delete e.defines.CSM_CASCADES,delete e.defines.CSM_FADE,delete A.uniforms.CSM_cascades,delete A.uniforms.cameraNear,delete A.uniforms.shadowFar,e.needsUpdate=!0})),A.clear()}}]),A}(),Ly=function(A){this.viewer=A,this.renderer=null,this.countRenderRequest=0,this.maxCountRenderRequest=1e4,this.rendering=!1,this.incrementRenderHandle=0,this.composer=null,this.blinkHandle=0,this.transparentSort=function(A,e){return A.groupOrder!==e.groupOrder?A.groupOrder-e.groupOrder:A.renderOrder!==e.renderOrder?A.renderOrder-e.renderOrder:A.z!==e.z?e.z-A.z:A.id-e.id}};Ly.prototype.destroy=function(){this.incrementRenderHandle>0&&cancelAnimationFrame(this.incrementRenderHandle),this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),this.composer&&(this.composer.destroy(),this.composer=null),this.renderer&&(this.renderer.destroy&&this.orderedRenderer&&(this.renderer.destroy(),this.renderer.setRenderer&&this.renderer.setRenderer(null),this.orderedRenderer=null),this.renderer.dispose(),this.renderer.domElement.parentNode&&this.renderer.domElement.parentNode.removeChild(this.renderer.domElement)),this.renderer=null,this.pickingEffecter&&(this.pickingEffecter.destroy(),this.pickingEffecter=null),this.viewer=null},Ly.prototype.setupRenderer=function(A){if(!this.renderer){var e=this.viewer;this.renderer=new $i(A);var t=e.domElement.offsetWidth,i=e.domElement.offsetHeight;this.renderer.toneMapping=1,this.renderer.setTransparentSort(this.transparentSort),this.renderer.setClearColor(0,0),this.renderer.setPixelRatio(window.devicePixelRatio||1),this.renderer.setSize(t,i),this.renderer.sortObjects=!0,this.renderer.domElement.setAttribute("tabindex","0"),this.renderer.domElement.setAttribute("class","main-canvas"),e.domElement.appendChild(this.renderer.domElement),this.composer=new By(this.renderer),this.composer.init(e.modelManager,e.getScene(),e.camera,t,i),this.composer.setOutlineEdgeColor(new Xh(vc.SelectionColor.color,vc.SelectionColor.opacity))}},Ly.prototype.resetupRenderer=function(A){var e=this.viewer;A.context=this.renderer.getContext();var t=new $i(A);t.setClearColor(this.renderer.getClearColor(),this.renderer.getClearAlpha()),t.setPixelRatio(this.renderer.getPixelRatio());var i=this.renderer.getSize(new s);t.setSize(i.x,i.y),t.gammaFactor=this.renderer.gammaFactor,t.sortObjects=this.renderer.sortObjects,t.domElement=this.renderer.domElement,t.toneMapping=this.renderer.toneMapping,t.shadowMap.enabled=this.renderer.shadowMap.enabled,t.clippingPlanes=this.renderer.clippingPlanes,t.shadowMap.enabled=this.renderer.shadowMap.enabled,t.shadowMap.type=this.renderer.shadowMap.type,t.shadowMap.autoUpdate=this.renderer.shadowMap.autoUpdate,t.shadowMap.needsUpdate=this.renderer.shadowMap.needsUpdate,t.setTransparentSort(this.transparentSort),this.renderer=t,this.composer.reinit(this.renderer,e.modelManager,e.getScene(),e.camera,i.x,i.y)},Ly.prototype.setupShadowMap=function(A){var e=this.viewer,t=new Dy({maxFar:A.far,cascades:4,mode:A.mode,parent:e.getScene().getExternalScene(),shadowMapSize:1024,lightDirection:new y(A.lightX,A.lightY,A.lightZ).normalize(),camera:e.camera});this.csm=t;var i=new $m;i.add(A,"orthographic").onChange((function(A){})),i.add(A,"fade").onChange((function(A){t.fade=A,t.updateFrustums()})),i.add(A,"far",1,5e7).step(1).name("shadow far").onChange((function(A){t.maxFar=A,t.updateFrustums()})),i.add(A,"mode",["uniform","logarithmic","practical"]).name("frustum split mode").onChange((function(A){t.mode=A,t.updateFrustums()})),i.add(A,"lightX",-1,1).name("light direction x").onChange((function(A){t.lightDirection.x=A})),i.add(A,"lightY",-1,1).name("light direction y").onChange((function(A){t.lightDirection.y=A})),i.add(A,"lightZ",-1,1).name("light direction z").onChange((function(A){t.lightDirection.z=A})),i.add(A,"margin",0,2e6).name("light margin").onChange((function(A){t.lightMargin=A})),i.add(A,"lightNear",1,1e7).name("light near").onChange((function(A){for(var e=0;t.lights.length>e;e+=1)t.lights[e].shadow.camera.near=A,t.lights[e].shadow.camera.updateProjectionMatrix()})),i.add(A,"lightFar",1,1e8).name("light far").onChange((function(A){for(var e=0;t.lights.length>e;e+=1)t.lights[e].shadow.camera.far=A,t.lights[e].shadow.camera.updateProjectionMatrix()}))},Ly.prototype._applyPickingEffectForIncrement=function(){if(this.getPickingEffecter()){var A=this.viewer.modelManager.isFilterApplied();this.orderedRenderer.restart(),this.orderedRenderer.setNonBreakingRender(!0),this.pickingEffecter.apply(A),this.orderedRenderer.setNonBreakingRender(!1)}},Ly.prototype._applyPickingEffect=function(){if(this.getPickingEffecter()){var A=this.viewer.modelManager.isFilterApplied();this.pickingEffecter.apply(A)}},Ly.prototype._forceRenderOneFrame=function(){var A=this.viewer,e=A.camera,t=A.modelManager.getScene();this.orderedRenderer?(this.orderedRenderer.restart(),this.orderedRenderer.setNonBreakingRender(!0),this.renderer.render(t,e,null,!0),this.orderedRenderer.setNonBreakingRender(!1)):(this.renderer.setRenderTarget(null),this.renderer.clear(),this.renderer.render(t,e))},Ly.prototype.incrementRender=function(A){if(this.countRenderRequest+=1,this.countRenderRequest>this.maxCountRenderRequest&&(this.countRenderRequest=0),!this.rendering&&!this.pickingEffectRendering){this.rendering=!0;var e=this,t=this.viewer,i=t.camera,o=t.modelManager,n=t.editorManager,r=t.getScene(),a=this.renderer;o.calculateCameraModelRelation(i.position),t.cameraControl.updateCamera(),t.calculateNearFar(),r.updateLights(i);var s=n.isUpdateRenderList;a.resetIncrementRender(),a.setObjectListUpdateState(s),s&&o.prepareScene(i),this.incrementRenderHandle=requestAnimationFrame(function A(s,l){var c=s;return function(){a.autoClear=l,n.cameraChange?(a.resetIncrementRender(),a.autoClear=!0,n.cameraChange=!1):a.autoClear=l,a.render(r,i)||c!==e.countRenderRequest?(e.rendering=!1,c!==e.countRenderRequest?t.render():(e.pickingEffectRendering=!0,e._applyPickingEffectForIncrement(),o.setFilterApplied(!1),t.onRenderFinishedCallback(),o.disposeBufferAfterVbo(),e.pickingEffectRendering=!1)):e.incrementRenderHandle=requestAnimationFrame(A(c,!1))}}(e.countRenderRequest,!0)),t.onRenderCallback(),t.cameraControl.setCameraChanging(!1)}},Ly.prototype.fullRender=function(){var A=this,e=this.viewer,t=e.camera,i=e.modelManager,o=e.getScene(),n=this.renderer;this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function r(){e.cameraControl.updateCamera(),e.calculateNearFar(),o.updateLights(t),i.getBlinkEnabled()&&i.updateBlinkMaterial();var a=o.fillClipPlane&&o.fillClipPlane.visible,s=o.clipPlanes&&o.clipPlanes.visible&&vc.EnableBoxClippingCaps;if(vc.ClippingCaps&&(a||s)&&vc.EnableClippingCaps){if(a||s){var l=o.getFillClipPlane(),c=o.getClipPlanes(),h=e.modelManager.getModelKeys();i.prepareCapScene(),n.clear(),n.autoClear=!1,a?(l.capPlane.planeMesh.visible=!0,l.capPlane.lineMesh.visible=!0,c.boxMesh.visible=!1):(l.capPlane.planeMesh.visible=!1,l.capPlane.lineMesh.visible=!1,c.boxMesh.visible=!0),l.planeHighLightMatrial.visible=!1,c.planeHighLightMatrial.visible=!1,c.planeMaterial.visible=!1,o.overrideMaterial=o.backMaterial;for(var d={},p=0,g=h.length;g>p;p+=1){var u=h[p],f=e.modelManager.getModel(u);if(d[u]={},f){var m=f._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});d[u][gp.GEOMETRY]=m.visible,m=f._getNodeGroup(gp.WIREFRAME,{globalSpace:!0}),d[u][gp.WIREFRAME]=m.visible,m=f._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),d[u][gp.INSTANCEGEOMETRY]=m.visible,m.visible=!1,m=f._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),d[u][gp.INSTANCEWIREFRAMEGEOMETRY]=m.visible,m.visible=!1}}n.render(o,t),o.overrideMaterial=o.backInstanceMaterial;for(var C=0,y=h.length;y>C;C+=1){var v=h[C],I=e.modelManager.getModel(v);if(I){var E=I._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});E.visible=!1,(E=I._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(E=I._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[v][gp.INSTANCEGEOMETRY],(E=I._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[v][gp.INSTANCEWIREFRAMEGEOMETRY]}}n.render(o,t),o.overrideMaterial=o.frontMaterial;for(var B=0,x=h.length;x>B;B+=1){var S=h[B],w=e.modelManager.getModel(S);if(w){var M=w._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});M.visible=d[S][gp.GEOMETRY],(M=w._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=d[S][gp.WIREFRAME],M=w._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),d[S][gp.INSTANCEGEOMETRY]=M.visible,M.visible=!1,M=w._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),d[S][gp.INSTANCEWIREFRAMEGEOMETRY]=M.visible,M.visible=!1}}n.render(o,t),o.overrideMaterial=o.frontInstanceMaterial;for(var b=0,U=h.length;U>b;b+=1){var F=h[b],K=e.modelManager.getModel(F);if(K){var Q=K._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});Q.visible=!1,(Q=K._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(Q=K._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[F][gp.INSTANCEGEOMETRY],(Q=K._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[F][gp.INSTANCEWIREFRAMEGEOMETRY]}}n.render(o,t),n.render(i.capsScene,t),o.overrideMaterial=null,l.planeHighLightMatrial.visible=!0,c.planeHighLightMatrial.visible=!0,c.planeMaterial.visible=!0;for(var R=0,T=h.length;T>R;R+=1){var k=h[R],D=e.modelManager.getModel(k);if(D){var L=D._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});L.visible=d[k][gp.GEOMETRY],(L=D._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=d[k][gp.WIREFRAME],(L=D._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[k][gp.INSTANCEGEOMETRY],(L=D._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[k][gp.INSTANCEWIREFRAMEGEOMETRY]}}d=null,n.render(o,t)}}else!vc.PickingEffect&&vc.EnableSelectionOutline&&A.composer&&e.getSelection().length>0?A.composer.render():(n.setRenderTarget(null),n.clear(),n.render(o,t));A._applyPickingEffect(),i.setFilterApplied(!1),e.onRenderListener(),e.onRenderFinishedListener(),e.cameraControl.isCameraChanging()&&i.dispatchEvent({type:Rc.ON_CAMERA_CHANGED_AND_RENDERED}),e.cameraControl.setCameraChanging(!1),i.getBlinkEnabled()&&(A.blinkHandle=requestAnimationFrame(r)),i.disposeBufferAfterVbo()}()},Ly.prototype.fillCavityRender=function(A){var e=this.viewer,t=e.camera,i=e.modelManager,o=this.renderer,n=e.getScene();function r(A,e,t,i){var o=new Xi,n=new jA;n.depthWrite=!1,n.depthTest=!1,n.colorWrite=!1,n.stencilWrite=!0,n.stencilFunc=519;var r=n.clone();r.side=1,r.clippingPlanes=[e],r.stencilFail=34055,r.stencilZFail=34055,r.stencilZPass=34055;var a=new Ue(A,r);a.matrixWorld=i.matrixWorld,a.renderOrder=t,o.add(a);var s=n.clone();s.side=0,s.clippingPlanes=[e],s.stencilFail=34056,s.stencilZFail=34056,s.stencilZPass=34056;var l=new Ue(A,s);return l.renderOrder=t,l.matrixWorld=i.matrixWorld,o.add(l),o}this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function A(){e.cameraControl.updateCamera(),e.calculateNearFar(),n.updateLights(t),i.getBlinkEnabled()&&i.updateBlinkMaterial();var a=n.fillClipPlane&&n.fillClipPlane.visible,s=n.clipPlanes&&n.clipPlanes.visible,l=o.autoClear,c=o.sortObjects;if(vc.ClippingCaps&&(a||s)){if(a){var h=n.getFillClipPlane(),d=n.getClipPlanes(),p=e.modelManager.getModelKeys();i.prepareCapScene(),o.clear(),o.autoClear=!1,a?(h.capPlane.planeMesh.visible=!0,h.capPlane.lineMesh.visible=!0,d.boxMesh.visible=!1):(h.capPlane.planeMesh.visible=!1,h.capPlane.lineMesh.visible=!1,d.boxMesh.visible=!0),h.planeHighLightMatrial.visible=!1,d.planeHighLightMatrial.visible=!1,d.planeMaterial.visible=!1,n.overrideMaterial=n.backMaterial;for(var g={},u=0,f=p.length;f>u;u+=1){var m=p[u],C=e.modelManager.getModel(m);if(g[m]={},C){var y=C._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});g[m][gp.GEOMETRY]=y.visible,y=C._getNodeGroup(gp.WIREFRAME,{globalSpace:!0}),g[m][gp.WIREFRAME]=y.visible,y=C._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),g[m][gp.INSTANCEGEOMETRY]=y.visible,y.visible=!1,y=C._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),g[m][gp.INSTANCEWIREFRAMEGEOMETRY]=y.visible,y.visible=!1}}o.render(n,t),n.overrideMaterial=n.backInstanceMaterial;for(var v=0,I=p.length;I>v;v+=1){var E=p[v],B=e.modelManager.getModel(E);if(B){var x=B._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});x.visible=!1,(x=B._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(x=B._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=g[E][gp.INSTANCEGEOMETRY],(x=B._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=g[E][gp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(n,t),n.overrideMaterial=n.frontMaterial;for(var S=0,w=p.length;w>S;S+=1){var M=p[S],b=e.modelManager.getModel(M);if(b){var U=b._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});U.visible=g[M][gp.GEOMETRY],(U=b._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=g[M][gp.WIREFRAME],U=b._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),g[M][gp.INSTANCEGEOMETRY]=U.visible,U.visible=!1,U=b._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),g[M][gp.INSTANCEWIREFRAMEGEOMETRY]=U.visible,U.visible=!1}}o.render(n,t),n.overrideMaterial=n.frontInstanceMaterial;for(var F=0,K=p.length;K>F;F+=1){var Q=p[F],R=e.modelManager.getModel(Q);if(R){var T=R._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});T.visible=!1,(T=R._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(T=R._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=g[Q][gp.INSTANCEGEOMETRY],(T=R._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=g[Q][gp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(n,t),o.render(i.capsScene,t),n.overrideMaterial=null,a?h.planeHighLightMatrial.visible=!0:(d.planeHighLightMatrial.visible=!0,d.planeMaterial.visible=!0);for(var k=0,D=p.length;D>k;k+=1){var L=p[k],N=e.modelManager.getModel(L);if(N){var O=N._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});O.visible=g[L][gp.GEOMETRY],(O=N._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=g[L][gp.WIREFRAME],(O=N._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=g[L][gp.INSTANCEGEOMETRY],(O=N._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=g[L][gp.INSTANCEWIREFRAMEGEOMETRY]}}g=null,o.render(n,t)}if(s){o.clear(),o.autoClear=!1,o.sortObjects=!0,o.localClippingEnabled=!0;var V=e.modelManager.getModelKeys(),G=o.clippingPlanes;o.clippingPlanes=[];var P=n.getClipPlanes(),q=new Y;q.autoUpdate=!1;for(var j=0,H=n.lightArray.length;H>j;j+=1)q.add(n.lightArray[j].clone());for(var W=[],J=0;6>J;J+=1)W[J]=P.children[J].clone();for(var z=0,Z=V.length;Z>z;z+=1){var X=e.modelManager.getModel(V[z]);if(X)for(var _=X._getNodeGroup(gp.GEOMETRY,{globalSpace:!0}),$=0,AA=_.children.length;AA>$;$+=1){var eA=new Xi;eA.name="object";var tA=[],iA=[];q.add(eA);var oA=_.children[$];if(oA.visible){for(var nA=oA.geometry,rA=[],aA=0;6>aA;aA+=1)rA[aA]=G[aA].clone();for(var sA=function(A){(cA=new Xi).name="poGroup";var e=rA[A];(hA=r(nA,e,A+1,oA)).name="stencilGroup",dA=new yr({color:oA.material[0].color,metalness:.1,roughness:.75,clippingPlanes:rA.filter((function(A){return A!==e})),stencilWrite:!0,stencilRef:0,stencilFunc:517,stencilFail:7681,stencilZFail:7681,stencilZPass:7681});var t=W[A].clone();t.material=dA,t.testNumber=A,t.onAfterRender=function(){o.clearStencil()},t.renderOrder=A+1.1,eA.add(hA),cA.add(t),tA.push(t),q.add(cA),iA.push(cA)},lA=0;6>lA;lA+=1){var cA,hA,dA;sA(lA)}for(var pA=oA.clone(),gA=0,uA=pA.material.length;uA>gA;gA+=1)pA.material[gA].clippingPlanes=rA;pA.renderOrder=6,eA.add(pA),o.render(q,t),q.remove(eA);for(var fA=0,mA=iA.length;mA>fA;fA+=1)q.remove(iA[fA]);tA=null}}}o.sortObjects=c,o.clippingPlanes=G,o.autoClear=l,o.localClippingEnabled=!1}}else vc.EnableSelectionOutline&&e.composer&&e.getSelection().length>0?e.composer.render():(o.setRenderTarget(null),o.clear(),o.render(n,t));e.onRenderListener(),e.onRenderFinishedListener(),e.cameraControl.setCameraChanging(!1),i.getBlinkEnabled()&&(e.blinkHandle=requestAnimationFrame(A)),i.disposeBufferAfterVbo()}()},Ly.prototype.fillCavityRender2=function(A){var e=this.viewer,t=e.camera,i=e.modelManager,o=this.renderer,n=e.getScene();this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function A(){e.cameraControl.updateCamera(),e.calculateNearFar(),n.updateLights(t),i.getBlinkEnabled()&&i.updateBlinkMaterial();var r=n.fillClipPlane&&n.fillClipPlane.visible,a=n.clipPlanes&&n.clipPlanes.visible,s=o.autoClear;if(vc.ClippingCaps&&(r||a)){if(r){var l=n.getFillClipPlane(),c=n.getClipPlanes(),h=e.modelManager.getModelKeys();i.prepareCapScene(),o.clear(),o.autoClear=!1,r?(l.capPlane.planeMesh.visible=!0,l.capPlane.lineMesh.visible=!0,c.boxMesh.visible=!1):(l.capPlane.planeMesh.visible=!1,l.capPlane.lineMesh.visible=!1,c.boxMesh.visible=!0),l.planeHighLightMatrial.visible=!1,c.planeHighLightMatrial.visible=!1,c.planeMaterial.visible=!1,n.overrideMaterial=n.backMaterial;for(var d={},p=0,g=h.length;g>p;p+=1){var u=h[p],f=e.modelManager.getModel(u);if(d[u]={},f){var m=f._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});d[u][gp.GEOMETRY]=m.visible,m=f._getNodeGroup(gp.WIREFRAME,{globalSpace:!0}),d[u][gp.WIREFRAME]=m.visible,m=f._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),d[u][gp.INSTANCEGEOMETRY]=m.visible,m.visible=!1,m=f._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),d[u][gp.INSTANCEWIREFRAMEGEOMETRY]=m.visible,m.visible=!1}}o.render(n,t),n.overrideMaterial=n.backInstanceMaterial;for(var C=0,y=h.length;y>C;C+=1){var v=h[C],I=e.modelManager.getModel(v);if(I){var E=I._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});E.visible=!1,(E=I._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(E=I._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[v][gp.INSTANCEGEOMETRY],(E=I._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[v][gp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(n,t),n.overrideMaterial=n.frontMaterial;for(var B=0,x=h.length;x>B;B+=1){var S=h[B],w=e.modelManager.getModel(S);if(w){var M=w._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});M.visible=d[S][gp.GEOMETRY],(M=w._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=d[S][gp.WIREFRAME],M=w._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),d[S][gp.INSTANCEGEOMETRY]=M.visible,M.visible=!1,M=w._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),d[S][gp.INSTANCEWIREFRAMEGEOMETRY]=M.visible,M.visible=!1}}o.render(n,t),n.overrideMaterial=n.frontInstanceMaterial;for(var b=0,U=h.length;U>b;b+=1){var F=h[b],K=e.modelManager.getModel(F);if(K){var Q=K._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});Q.visible=!1,(Q=K._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(Q=K._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[F][gp.INSTANCEGEOMETRY],(Q=K._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[F][gp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(n,t),o.render(i.capsScene,t),n.overrideMaterial=null,r?l.planeHighLightMatrial.visible=!0:(c.planeHighLightMatrial.visible=!0,c.planeMaterial.visible=!0);for(var R=0,T=h.length;T>R;R+=1){var k=h[R],D=e.modelManager.getModel(k);if(D){var L=D._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});L.visible=d[k][gp.GEOMETRY],(L=D._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=d[k][gp.WIREFRAME],(L=D._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[k][gp.INSTANCEGEOMETRY],(L=D._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[k][gp.INSTANCEWIREFRAMEGEOMETRY]}}d=null,o.render(n,t)}if(a){o.clear(),o.autoClear=!1;for(var N=e.modelManager.getModelKeys(),O=o.clippingPlanes,V=o.tempPlanes||[],G=0;6>G;G+=1){if(V[G]){if(V[G].equals(O[G]))continue;V[G]=O[G].clone()}else V[G]=O[G].clone();for(var P=0,q=N.length;q>P;P+=1){var j=e.modelManager.getModel(N[P]);if(j){var H=j._getNodeGroup(gp.GEOMETRY,{globalSpace:!0}),Y=j._getNodeGroup("sectionFill_"+G);Y.clear();for(var W=0,J=H.children.length;J>W;W+=1){var z=H.children[W];if(z.visible){var Z=V[G].clone().applyMatrix4(z.matrixWorld),X=z.geometry;if(X.boundingBox||X.computeBoundingBox(),X.boundingBox.intersectsPlane(Z)){var _=Tu.getShapeGeometryFromGeometryAndPlane(X,Z);if(_){var $=new Ue(_,z.material[0]);Y.add($),$.matrixWorld.copy(z.matrixWorld)}}}}}}}o.tempPlanes=V,o.autoClear=s,o.setRenderTarget(null),o.clear(),o.render(n,t)}}else vc.EnableSelectionOutline&&e.composer&&e.getSelection().length>0?e.composer.render():(o.setRenderTarget(null),o.clear(),o.render(n,t));e.onRenderListener(),e.onRenderFinishedListener(),e.cameraControl.setCameraChanging(!1),i.getBlinkEnabled()&&(e.blinkHandle=requestAnimationFrame(A)),i.disposeBufferAfterVbo()}()},Ly.prototype.render=function(A){if(this.renderer){var e=this.viewer,t=e.modelManager;if(t.isEmpty())return Bh.log("model not loaded!"),void this._forceRenderOneFrame();if(!t.checkLayerDataLoading()){e._checkDataChanged();e.getScene();e.camera.updateMatrixWorld(),this.csm&&(this.csm.update(e.camera.matrixWorld),this.csm.updateFrustums()),vc.IncrementRender?this.incrementRender(A):vc.FillCavity?this.fillCavityRender2(A):this.fullRender(A)}}},Ly.prototype.getRenderer=function(){return this.renderer},Ly.prototype.setSize=function(A,e){this.renderer.setSize(A,e),this.composer&&this.composer.setSize(A,e)},Ly.prototype.getRendererSize=function(){return this.renderer?this.renderer.getSize():{width:0,height:0}},Ly.prototype.getPickingEffecter=function(){return vc.PickingEffect?(this.pickingEffecter||(this.pickingEffecter=new Sy(this.viewer)),this.pickingEffecter):null};var Ny=function(A,e){jo.call(this,A,e),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new M,this.bindMatrixInverse=new M;var t=new bo(this.initBones());this.bind(t,this.matrixWorld),this.normalizeSkinWeights()};Ny.prototype=Object.assign(Object.create(jo.prototype),{constructor:Ny,isSkinnedMesh:!0,initBones:function(){var A=[],e=null,t=null,i=null,o=null;if(this.geometry&&void 0!==this.geometry.bones){for(i=0,o=this.geometry.bones.length;o>i;i+=1)t=this.geometry.bones[i],e=new Uo,A.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(i=0,o=this.geometry.bones.length;o>i;i+=1)-1!==(t=this.geometry.bones[i]).parent&&null!==t.parent&&void 0!==A[t.parent]?A[t.parent].add(A[i]):this.add(A[i])}return this.updateMatrixWorld(!0),A},bind:function(A,e){this.skeleton=A,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.getInverse(e)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){var A=null,e=null;if(this.geometry&&this.geometry.isGeometry)for(e=0;this.geometry.skinWeights.length>e;e+=1){var t=this.geometry.skinWeights[e];(A=1/t.lengthManhattan())!==1/0?t.multiplyScalar(A):t.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){var i=new p,o=this.geometry.attributes.skinWeight;for(e=0;o.count>e;e+=1)i.x=o.getX(e),i.y=o.getY(e),i.z=o.getZ(e),i.w=o.getW(e),(A=1/i.lengthManhattan())!==1/0?i.multiplyScalar(A):i.set(1,0,0,0),o.setXYZW(e,i.x,i.y,i.z,i.w)}},updateMatrixWorld:function(A){jo.prototype.updateMatrixWorld.call(this,A),"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)}});var Oy=function(A){of.call(this,A),this.nodeGroupName="PickingExternalMeshGroup",this.pickingEffecter=this.manager.viewer.rendererManager.getPickingEffecter()};Object.assign(Oy.prototype,of.prototype),eu(Oy,[{key:"destroy",value:function(){this.pickingEffecter=null}},{key:"_disposeGeometryByNode",value:function(A){A.traverseVisible((function(e){e!==A&&(e.isMesh||e.isLine)&&(e.material=null,e.geometry.dispose())}))}},{key:"disposePickingNodeById",value:function(A){for(var e=this.pickingNodeMap[A],t=0,i=e.length;i>t;t+=1)this._disposeGeometryByNode(e[t]),e[t]=null}},{key:"updatePickingMeshes",value:function(A,e,t){if(this.pickingNodeMap){for(var i=Object.keys(this.pickingNodeMap),o=0,n=i.length;n>o;o+=1){var r=i[o],a=this.pickingNodeMap[r],s=0,l=0;if(t[r]&&this.manager.isPickableNode({userId:r,name:r}))for(s=0,l=a.length;l>s;s+=1)a[s].visible=!0;else for(s=0,l=a.length;l>s;s+=1)a[s].visible=!1}return this.getPickingNodeGroup()}}},{key:"addNode",value:function(A,e){this.addToPickingNodeMap(A,e)}},{key:"removeNodeById",value:function(A){this.removeFromPickingNodeMap(A)}},{key:"clearNodes",value:function(){this.clearData()}},{key:"addToPickingNodeMap",value:function(A,e){for(var t=[],i=!vc.BatchMergeEnabled,o=0,n=e.length;n>o;o+=1){var r=this._createPickingNodeBy(e[o],i);if(r)if(Array.isArray(r))for(var a=0,s=r.length;s>a;a+=1)r[a].name=A,t.push(r[a]);else r.name=A,t.push(r)}this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[A]=t,this.addToPickingNodeGroup(t)}},{key:"_createPickingNodeBy",value:function(A,e){var t=this,i={},o={};if("Object3D"===A.type||A instanceof Xi||A instanceof ep){var n=new Xi;n.copy(A,!1),A.animations&&(n.animations=A.animations),A.traverseVisible((function(n){if(n!==A){var r=null;if("Object3D"===n.type||n instanceof Xi||n instanceof ep||n instanceof Uo)(r=n instanceof Uo?new Uo:new Xi).copy(n,!1),i[n.uuid]={destination:r,source:n};else{if(!n.isMesh&&!n.isLine)return;(r=t._createPickingMeshesBy(n,e))&&(o[n.uuid]={destination:r,source:n})}r=null}}));var r=0,a=0,s=null,l=Object.keys(i);for(r=0,a=l.length;a>r;r+=1){var c=i[l[r]];c.source.parent!==A?i[s=c.source.parent.uuid].destination.add(c.destination):n.add(c.destination)}var h=Object.keys(o);for(r=0,a=h.length;a>r;r+=1){var d=o[h[r]],p=0,g=0;if(d.source.parent===A)if(Array.isArray(d.destination))for(p=0,g=d.destination.length;g>p;p+=1)n.add(d.destination[p]);else n.add(d.destination);else if(s=d.source.parent.uuid,Array.isArray(d.destination))for(p=0,g=d.destination.length;g>p;p+=1)i[s].destination.add(d.destination[p]);else i[s].destination.add(d.destination)}return n}return A.isMesh||A.isLine?t._createPickingMeshesBy(A,e):null}},{key:"_createLineMeshBy",value:function(A,e,t){var i=null,o=null,n=this.pickingEffecter;if(vc.PickingLineWidthEnabled){i=n.selectedLineMaterial;var r=new JC;A.isLineSegments?r.fromLineSegments(A):A.isLineLoop?r.fromLineLoop(A):r.fromLine(A),o=new XC(r,i),Tu.copyMeshProperties(o,A),o.renderOrder=t?1:0}else i=n.selectedMaterial,o=A.isLineSegments?new jo(e,i):A.isLineLoop?new Ho(e,i):new Go(e,i),Tu.copyMeshProperties(o,A),o.renderOrder=t?1:0;return o}},{key:"_createMeshBy",value:function(A,e,t){var i=new Ue(e,this.pickingEffecter.selectedMaterial);return Tu.copyMeshProperties(i,A),i.renderOrder=t?1:0,i}},{key:"_createSkinnedMeshBy",value:function(A,e,t){var i=new So(e,this.pickingEffecter.skinningSelectedMaterial);return Tu.copyMeshProperties(i,A),i.renderOrder=t?1:0,i.bindMatrix.copy(A.bindMatrix),i.bindMatrixInverse.copy(A.bindMatrixInverse),i.bindMode=A.bindMode,i.userData=A.userData,i.skeleton=A.skeleton,i}},{key:"_createSkinnedWireFrameBy",value:function(A,e,t){if(!e.index)return null;var i=this.pickingEffecter.skinningWireframeMaterial,o=Up(e.attributes.position.array,e.index.array),n=new he;n.setIndex(new $A(o,1)),n.setAttribute("position",e.getAttribute("position")),n.setAttribute("skinIndex",e.getAttribute("skinIndex")),n.setAttribute("skinWeight",e.getAttribute("skinWeight"));var r=new Ny(n,i);return Tu.copyMeshProperties(r,A),r.bindMatrix.copy(A.bindMatrix),r.bindMatrixInverse.copy(A.bindMatrixInverse),r.bindMode=A.bindMode,r.userData=A.userData,r.skeleton=A.skeleton,r.renderOrder=t?0:1,r}},{key:"_createWireFrameBy",value:function(A,e,t){if(!e.index)return null;var i=this.pickingEffecter.wireframeMaterial,o=Up(e.attributes.position.array,e.index.array),n=new he;n.setIndex(new $A(o,1)),n.setAttribute("position",e.getAttribute("position"));var r=new jo(n,i);return Tu.copyMeshProperties(r,A),r.renderOrder=t?0:1,r}},{key:"_createPickingMeshesBy",value:function(A,e){var t=Tu.createBufferGeometryWithPosAndSkin(A.geometry);if(!t)return null;if(A.isLineSegments)return this._createLineMeshBy(A,t,e);var i=null,o=null;return A.isSkinnedMesh?(i=this._createSkinnedMeshBy(A,t,e),o=this._createSkinnedWireFrameBy(A,t,e)):(i=this._createMeshBy(A,t,e),o=this._createWireFrameBy(A,t,e)),o?[i,o]:i}},{key:"setAccumulateTransform",value:function(A,e,t,i){if(this.pickingNodeMap&&this.pickingNodeMap[A])for(var o=this.pickingNodeMap[A],n=0,r=o.length;r>n;n+=1){var a=o[n];e&&(a.position.x+=e.x,a.position.y+=e.y,a.position.z+=e.z),t&&(a.scale.x*=t.x,a.scale.y*=t.y,a.scale.z*=t.z),i&&(a.rotation.x+=i.x,a.rotation.y+=i.y,a.rotation.z+=i.z),a.updateMatrixWorld()}}},{key:"setTransform",value:function(A,e,t,i,o){if(this.pickingNodeMap&&this.pickingNodeMap[A])for(var n=this.pickingNodeMap[A],r=0,a=n.length;a>r;r+=1){var s=n[r];o?this.manager.setTransformForClonedMesh(s,e,t,i):this.manager.setTransformForMesh(s,e,t,i)}}},{key:"rotateOnBasePoint",value:function(A,e,t,i){if(this.pickingNodeMap&&this.pickingNodeMap[A]){var o=this.pickingNodeMap[A];if(o)for(var n=0,r=o.length;r>n;n+=1){var a=o[n],s=(new f).setFromAxisAngle(t,i);a.quaternion.premultiply(s),a.position.sub(e),a.position.applyQuaternion(s),a.position.add(e),a.updateMatrixWorld()}}}},{key:"applyTransform",value:function(A,e,t,i){if(this.pickingNodeMap&&this.pickingNodeMap[A]){var o=this.manager.getTransformMatrix(e,t,i);this.applyTransformMatrix(A,o)}}},{key:"applyTransformMatrix",value:function(A,e){if(this.pickingNodeMap&&this.pickingNodeMap[A])for(var t=this.pickingNodeMap[A],i=0,o=t.length;o>i;i+=1)this.manager.updateMatrixWorldForMesh(t[i],e)}}]);var Vy=function(A){this.viewer=A,this.viewer.modelManager.registerPlugin(this),this.meshes={},this.customSelectMaterials={},this.databagId="ExternalComponent",this.objectIds=null,this.lastFilteredIds=null,this.firstAnimation=!0,this.animationIds={},this.animationLength=0,this.animationId=0,this.invalidObjectType=["invalidPlane"],this.floorExplosion=!1,this.boundingBoxWorld=void 0};Vy.prototype.destroy=function(){this.pickingNodeGenerator&&(this.pickingNodeGenerator.destroy(),this.pickingNodeGenerator=null),this._removeNodeGroup(),this.meshes=null,this.customSelectMaterials=null,this.objectIds=null,this.lastFilteredIds=null,this._cancelAnimate(),this.firstAnimation=null,this.animationIds=null,this.invalidObjectType=null,this.viewer=null},Vy.prototype.addExternalObject=function(A){if(A&&(A instanceof Xi||A instanceof Ue)){var e=uh.createUUID();this.meshes[e]=[A];var t={name:e,userId:e,nodeId:e,state:Lc.Visible,mesh:[A],isExternalComponent:!0,matrix:A.matrixWorld.clone()},i=new aA;return i.setFromObject(A),t.boundingBox=i,A.key=e,this._getNodeGroup().add(A),this._addToNodeInfoMap(t),this._cacheNodeMaterial(A),this.boundingBoxWorld?this.boundingBoxWorld.union(i):this.boundingBoxWorld=i.clone(),this.viewer.modelManager.updateSceneBoundingBox(),this._updateFilterManager(),this.objectIds=Object.keys(this.meshes),{nodeId:e}}},Vy.prototype.getObjectCenterAndMatrixByNodeId=function(A){var e=void 0,t=this.getNodeInfosByUserId(A);if(t&&t.length>0){e={matrix:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],center:[0,0,0]};var i=t[0];if(i.matrix&&(e.matrix=i.matrix.toArray()),i.boundingBox){var o=new y;i.boundingBox.getCenter(o),e.center=o.toArray()}}return e},Vy.prototype.addNode=function(A,e,t,i){if(this.meshes[A])Bh.error("Warning: name is already exist, please change name ");else if(-1===this.invalidObjectType.indexOf(e.type)){e instanceof Array||(e=[e]),this.meshes[A]=e,this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().addNode(A,e),void 0===t&&(t=!1),i&&(this.customSelectMaterials[A]=i);for(var o=new aA,n=0,r=e.length;r>n;n+=1){var a=new aA;a.setFromObject(e[n]),a.isEmpty()&&a.min.x===1/0&&e[n].position&&(a.min.copy(e[n].position),a.max.copy(e[n].position)),o.union(a),e[n].box=a,e[n].originBox=a.clone();var s=new M;s.getInverse(e[n].matrix),e[n].originBox.applyMatrix4(s),this._initializeAnimation(e[n],A);var l=e[n];l.key=A,this._getNodeGroup().add(l),l.updateMatrixWorld(!0),t||this._cacheNodeMaterial(l)}var c={name:A,userId:A,state:Lc.Visible,boundingBox:o,mesh:e,isExternalComponent:!0};1===e.length&&(c.matrix=e[0].matrixWorld.clone()),this._addToNodeInfoMap(c),this.boundingBoxWorld?this.boundingBoxWorld.union(o):this.boundingBoxWorld=o.clone(),this.viewer.modelManager.updateSceneBoundingBox(),this._updateFilterManager(),this.objectIds=Object.keys(this.meshes)}else Bh.error("Warning: the object is invalid")},Vy.prototype.getNodeById=function(A){var e=this.meshes[A];return e&&1===e.length?e[0]:e},Vy.prototype.removeNodeById=function(A){var e=this.meshes[A];if(!e)return!1;e[0].autoAnimation&&(delete this.animationIds[A],this.animationLength-=1,0===this.animationLength&&this._cancelAnimate()),delete this.meshes[A],this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().removeNodeById(A),this.customSelectMaterials[A]&&delete this.customSelectMaterials[A];for(var t=this._getNodeGroup(),i=0,o=e.length;o>i;i+=1)t.remove(e[i]);return this.filteredIds&&this.filteredIds[A]&&delete this.filteredIds[A],this.lastFilteredIds&&this.lastFilteredIds[A]&&delete this.lastFilteredIds[A],this.viewer.removeFromSelection([A]),this.viewer.cancelTransformComponentByKey(A),this._removeFromNodeInfoMap(A),this._updateFilterManager(),this.objectIds=Object.keys(this.meshes),!0},Vy.prototype.clearNodes=function(){this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().clearNodes(),this._getNodeGroup().clear(),this._clearNodeInfoMap(),this.meshes={},this.customSelectMaterials={},this.objectIds=null,this.animationIds={},this.animationLength=0,this._cancelAnimate()},Vy.prototype.getAllNodes=function(){return this.meshes},Vy.prototype.isEmpty=function(){return!this._hasNode()},Vy.prototype.setTransform=function(A,e,t,i,o){if(this.floorExplosion&&o)o();else{var n=this.meshes[A];if(n){for(var r=0,a=n.length;a>r;r+=1){var s=n[r];s.position.x=(e=e||s.position).x,s.position.y=e.y,s.position.z=e.z,s.scale.x=(t=t||s.scale).x,s.scale.y=t.y,s.scale.z=t.z,s.setRotationFromQuaternion(i=i||s.quaternion),s.updateMatrixWorld();var l=s.originBox.clone();s.box=l.applyMatrix4(s.matrix),s.levelName=null}this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().setTransform(A,e,t,i)}}},Vy.prototype.getTransform=function(A){var e=this.meshes[A];return e?{position:e[0].position,scale:e[0].scale,rotate:e[0].quaternion}:null},Vy.prototype.applyTransform=function(A,e,t,i){if(this.meshes[A]){e=e||new y,t=t||new y(1,1,1),i=i||new f;var o=new M;o.compose(e,i,t),this.applyTransformMatrix(A,o),this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().applyTransformMatrix(A,o)}},Vy.prototype.applyTransformMatrix=function(A,e){var t=this.meshes[A];if(t)for(var i=0,o=t.length;o>i;i+=1){var n=t[i];n._oriMatrix||(n._oriMatrix=n.matrix.clone()),n.matrix.multiplyMatrices(e,n._oriMatrix),n.updateMatrixWorld(!0);var r=n.originBox.clone();n.box=r.applyMatrix4(n.matrix)}},Vy.prototype.applyFilter=function(){this._hasNode()&&(this._collectFilteredIds(),this._collectSelectedIds(),this._collectHoveredIds(),this._updateNodes())},Vy.prototype.applySelection=function(){this._hasNode()&&(this._collectSelectedIds(),this._collectHoveredIds(),this._updateNodes())},Vy.prototype.clearSelection=function(){this._hasNode()&&(this._clearSelectedIds(),this.applyHover())},Vy.prototype.applyHover=function(){this._hasNode()&&(this._collectHoveredIds(),this._updateNodes())},Vy.prototype.clearHover=function(){this._hasNode()&&(this._clearHoveredIds(),this._updateNodes())},Vy.prototype.getNodeInfosByUserId=function(A){if(this.nodeInfoMap)return this.nodeInfoMap[A]},Vy.prototype.getAllNodeInfos=function(A){A[this.databagId]=this.nodeInfoMap||{}},Vy.prototype.calculateBoundingBox=function(){if(this.nodeInfoMap){var A=new aA,e=new aA;for(var t in this.nodeInfoMap)for(var i=this.nodeInfoMap[t],o=0,n=i.length;n>o;o+=1){var r=i[o],a=r.mesh,s=new aA;for(o=0,n=a.length;n>o;o+=1)e.makeEmpty(),e.setFromObject(a[o]),e.isEmpty()&&e.min.x===1/0&&a[o].position&&(e.min.copy(a[o].position),e.max.copy(a[o].position)),s.union(e);r.boundingBox.copy(s),A.union(r.boundingBox)}this.boundingBoxWorld?this.boundingBoxWorld.copy(A):this.boundingBoxWorld=A}},Vy.prototype.recalculateComponentBoundingbox=function(A){var e=this.getNodeInfosByUserId(A);if(e)for(var t=0,i=e.length;i>t;t+=1){var o=e[t],n=o.mesh,r=new aA,a=new aA;for(t=0,i=n.length;i>t;t+=1)a.setFromObject(n[t]),a.isEmpty()&&a.min.x===1/0&&n[t].position&&(a.min.copy(n[t].position),a.max.copy(n[t].position)),r.union(a);o.boundingBox.copy(r)}},Vy.prototype.getBoundingBoxWorld=function(){if(this.boundingBoxWorld)return this.boundingBoxWorld.clone()},Vy.prototype.adjustVisibility=function(A){this._getNodeGroup().visible=A},Vy.prototype.changeVisibilityOfSelectedObjects=function(A){if(this.selectedIds)for(var e=this.viewer.modelManager.filter,t=0,i=this.selectedIds.length;i>t;t+=1){var o=this.selectedIds[t],n=this.meshes[o];if(n&&e._isVisible({userId:o}))for(var r=0,a=n.length;a>r;r+=1)n[r].visible=A}},Vy.prototype.changeVisibilityOfNonSelectedObjects=function(A){if(this.objectIds){var e={};if(this.selectedIds)for(var t=0,i=this.selectedIds.length;i>t;t+=1)e[this.selectedIds[t]]=!0;for(var o=this.viewer.modelManager.filter,n=0,r=this.objectIds.length;r>n;n+=1){var a=this.objectIds[n];if(!e[a]&&o._isVisible({userId:a}))for(var s=this.meshes[a],l=0,c=s.length;c>l;l+=1)s[l].visible=A}}},Vy.prototype.adjustVisibilityOfObjectsWithoutOutline=function(A){if(this.objectIds)for(var e=this.viewer.modelManager.filter,t=0,i=this.objectIds.length;i>t;t+=1){var o=this.objectIds[t];if(e._isVisible({userId:o}))for(var n=this.meshes[o],r=0,a=n.length;a>r;r+=1)n[r].isSprite&&(n[r].visible=A)}},Vy.prototype._addToNodeInfoMap=function(A){this.nodeInfoMap||(this.nodeInfoMap={}),this.nodeInfoMap[A.userId]||(this.nodeInfoMap[A.userId]=[]),this.nodeInfoMap[A.userId].push(A)},Vy.prototype._removeFromNodeInfoMap=function(A){this.nodeInfoMap&&this.nodeInfoMap[A]&&delete this.nodeInfoMap[A]},Vy.prototype._clearNodeInfoMap=function(){this.nodeInfoMap=null},Vy.prototype._updateFilterManager=function(){var A=this.viewer.modelManager;A.filter.reinitFilterManager(A.getNodeInfos())},Vy.prototype._canBePick=function(A){return!!A._oriMaterial},Vy.prototype._getNodeGroup=function(){return this.viewer.modelManager.scene.getOrCreateGroup(gp.EXTERNALCOMPONENTMANAGER,{pickableType:Qc.Geometry,globalSpace:!0})},Vy.prototype._removeNodeGroup=function(){this.viewer.modelManager.scene.removeGroupByName(gp.EXTERNALCOMPONENTMANAGER)},Vy.prototype._cacheNodeMaterial=function(A){uh.isGroupObject(A)?A.traverse((function(A){if(uh.isMeshObject(A)&&!A._oriMaterial&&(A._oriMaterial=A.material,!A.geometry.index&&A.geometry.attributes&&A.geometry.attributes.position)){for(var e=[],t=0,i=A.geometry.attributes.position.array.length/3;i>t;t+=1)e.push(t);A.geometry.setIndex(new YA(new Uint32Array(e),1))}})):A._oriMaterial||(A._oriMaterial=A.material)},Vy.prototype._collectFilteredIds=function(){var A=this.filteredIds={},e=this.viewer.modelManager.filter,t=e._hasHiddenFileIdFilter(),i=e._hasVisibleFilter(),o=e._hasOverrideMaterialFilter(),n=e._hasTransparentFilter();if(t||i||o||n)for(var r=this.objectIds,a=zc,s=0,l=r.length;l>s;s+=1){var c=r[s],h={userId:c};if(i&&!1===e._isVisible(h))A[c]||(A[c]={}),A[c][a.HIDDEN]=!0;else if(n&&e._isTransparent(h))A[c]||(A[c]={}),A[c][a.TRANSPARENT]=!0;else if(o&&e._hasOverrideMaterial(h)){var d=e._getOverrideMaterial(h),p=d?d.name:"";A[c]||(A[c]={}),A[c][a.OVERRIDED]=p}}},Vy.prototype._collectSelectedIds=function(){var A=this.filteredIds=this.filteredIds||{},e=zc,t=this.viewer.modelManager.sceneState.getSelection(),i={};this._clearSelectedIds();for(var o=0,n=t.length;n>o;o+=1){var r=t[o];this.canBeSelectedId(r)&&(A[r]||(A[r]={}),A[r][e.SELECTED]=!0,i[r]=!0)}this.selectedIds=Object.keys(i)},Vy.prototype._clearSelectedIds=function(){if(this.filteredIds&&this.selectedIds&&this.selectedIds.length){for(var A=0,e=this.selectedIds.length;e>A;A+=1){var t=this.selectedIds[A];this.filteredIds[t]&&delete this.filteredIds[t][zc.SELECTED]}this.selectedIds=null}},Vy.prototype._collectHoveredIds=function(){var A=this.viewer.modelManager.sceneState.hoverId;if(A&&this._hasObjectId(A)){var e=this.filteredIds=this.filteredIds||{};this.hoveredId=A,e[A]||(e[A]={}),e[A][zc.HOVER]=!0}},Vy.prototype._clearHoveredIds=function(){this.filteredIds&&this.hoveredId&&this.filteredIds[this.hoveredId]&&(delete this.filteredIds[this.hoveredId][zc.HOVER],this.hoveredId=void 0)},Vy.prototype._hasObjectId=function(A){return!!this.meshes[A]},Vy.prototype.isUserIdExist=function(A){return this._hasObjectId(A)},Vy.prototype.canBeSelectedId=function(A){var e=this.meshes[A];return!(!e||e[0].disPickable)},Vy.prototype._hasNode=function(){return!(!this.objectIds||!this.objectIds.length)},Vy.prototype._traverseNodeById=function(A,e){if(this._hasObjectId(A))for(var t=this,i=this.meshes[A],o=0,n=i.length;n>o;o+=1){var r=i[o];uh.isGroupObject(r)?r.traverseVisible((function(A){uh.isMeshObject(A)&&t._canBePick(A)&&e&&e(A)})):(uh.isMeshObject(r)||r.isSprite)&&t._canBePick(r)&&e&&e(r)}},Vy.prototype._resetNodeMaterial=function(){var A=this.lastFilteredIds;if(A&&A.length)for(var e=0,t=A.length;t>e;e+=1)this._updateNodeVisible(A[e],!0),this._traverseNodeById(A[e],(function(A){A.material=A._oriMaterial}))},Vy.prototype._updateNodeVisible=function(A,e){if(this._hasObjectId(A))for(var t=this.meshes[A],i=0,o=t.length;o>i;i+=1)t[i].visible=e},Vy.prototype._updateNodeById=function(A,e){if(this._hasObjectId(A)){var t=this.viewer.modelManager.sceneState,i=zc,o=this.filteredIds[A];if(o)if(o[i.HIDDEN])this._updateNodeVisible(A,!1);else{var n=function(A,e){if(A._oriMaterial instanceof Array){for(var t=[],i=0,o=A._oriMaterial.length;o>i;i+=1){var n=A._oriMaterial[i];n instanceof ld?t.push(e):t.push=Kd.cloneMaterialBaseOnColor(n,e)}A.material=t}else A.material=A._oriMaterial instanceof ld?e:Kd.cloneMaterialBaseOnColor(A._oriMaterial,e)};if(o[i.TRANSPARENT]){var r=e._getMaterialByName("scene");this._traverseNodeById(A,(function(A){n(A,r)}))}else if(this._isPickingEffectEnabled()||!o[i.SELECTED]){if(o[i.HOVER])if(o[i.OVERRIDED]){var a=t.getHoverMaterial(e._getMaterialByName(o[i.OVERRIDED]));this._traverseNodeById(A,(function(A){n(A,a)}))}else this._traverseNodeById(A,(function(A){var e=t.getHoverMaterial(A._oriMaterial);n(A,e)}));else if(o[i.OVERRIDED]){var s=e._getMaterialByName(o[i.OVERRIDED]);this._traverseNodeById(A,(function(A){n(A,s)}))}}else{var l=t.selectionMaterial,c=this.customSelectMaterials[A];this._traverseNodeById(A,(function(A){c?A.material=c:A._oriMaterial.isMeshPhongMaterial?(A.material=t.phongSelectionMaterial,A.material.skinning=A._oriMaterial.skinning):n(A,l)}))}}}},Vy.prototype._updateNodes=function(){var A=this.viewer.modelManager.filter;if(this._resetNodeMaterial(),this.filteredIds){for(var e in this.filteredIds)this._updateNodeById(e,A);this.lastFilteredIds=Object.keys(this.filteredIds)}},Vy.prototype._initializeAnimation=function(A,e){if(A.autoAnimation){if("fire"===A.type){var t=vc.SceneSize,i=this.viewer.getBoundingBoxWorld().getSize(),o=Math.max(i.x,i.y,i.z);A._initializeSizetween(t/o/.01421)}this.firstAnimation&&(this._animate(),this.firstAnimation=!1),this.animationIds[e]=!0,this.animationLength+=1}},Vy.prototype._animate=function(){var A=this;!function e(){for(var t in A.animationId=requestAnimationFrame(e),A.animationIds)for(var i=A.meshes[t],o=0,n=i.length;n>o;o+=1)i[o].autoAnimation&&i[o].update&&i[o].update();A.viewer.render()}()},Vy.prototype._cancelAnimate=function(){this.firstAnimation=!0,cancelAnimationFrame(this.animationId),this.animationId=0},Vy.prototype.isPickableNode=function(A){if(!this.canBeSelectedId(A.userId))return!1;var e=this.viewer.modelManager.filter;return!e._isHiddenFileId(A)&&!1!==e._isVisible(A)&&!e._isTransparent(A)},Vy.prototype._isPickingEffectEnabled=function(){return!1},Vy.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new Oy(this)),this.pickingNodeGenerator},Vy.prototype.setCloneComponentMaterialsByKey=function(A,e,t){var i=this.meshes[A][0];if(!i)return{result:!1,message:"mesh isn`t exist",code:-1};if(!i.byClone)return{result:!1,message:"mesh isn`t qualified",code:-2};var o=0===t||Boolean(t);if(Array.isArray(e)||(e=[e]),o&&(Array.isArray(t)||(t=[t])),Array.isArray(i.material))if(o){var n=0,r=!0,a=!1,s=void 0;try{for(var l,c=t[Symbol.iterator]();!(r=(l=c.next()).done);r=!0){var h=l.value;if(!i.material[h]||!e[n])break;i.material[h]=e[n],n+=1}}catch(A){a=!0,s=A}finally{try{r||null==c.return||c.return()}finally{if(a)throw s}}}else{var d=0,p=!0,g=!1,u=void 0;try{for(var f,m=e[Symbol.iterator]();!(p=(f=m.next()).done);p=!0){var C=f.value;if(!i.material[d])break;i.material[d]=C,d+=1}}catch(A){g=!0,u=A}finally{try{p||null==m.return||m.return()}finally{if(g)throw u}}}else i.material=e[0]},Vy.prototype.getModelManager=function(){return this.viewer.modelManager};var Gy=function(){this.domElement=null,this.camera=null,this.highlightManager=null,this.controller=document.getElementById("viewerController"),this.countRenderRequest=0,this.maxCountRenderRequest=1e4,this.rendering=!1,this.incrementRenderHandle=0,this.callbacks={},this.tempBox=new aA,this.tempVector3=new y,this.enableCameraNearFar=!0,this.currentHomeView=Uc.Home,this.initialView=Uc.Home,this.filter=new xu,this.modelManager=new ly(this.filter,this),this.isRecalculationPlanes=!1,this.calculationPlanesBind=this.calculationPlanes.bind(this),this.addRenderFinishedListener(this.calculationPlanesBind),this.uuid="",this.transitionAnimationState=!0,this.animator=new dp,this._renderStateChanged=!1;var A=this;this._renderTimer=null,this.blinkHandle=0,this.needCheckTilesDataChange=!1,this.clock=new as,this.rendererManager=new Ly(this),this.cameraStateWithFrustum=!1,this.checkNeedRender=function(){(A.needRender||A.modelManager.needUpdateAnimation())&&(A.needRender=vc.continueRender||!1,A.modelManager.updateAnimation(),A._render()),A._renderTimer=requestAnimationFrame(A.checkNeedRender)},this.checkNeedApplyFilter=function(){A.needApplyFilter&&(A.needApplyFilter=!1,A.modelManager.applyFilter(),A.render()),A._applyFilterTimer=requestAnimationFrame(A.checkNeedApplyFilter)},this.blink={}};Object.assign(Gy.prototype,Ld.prototype),Object.assign(Gy.prototype,{constructor:Gy,addRenderListener:function(A){this.addEventListener("render",A)},removeRenderListener:function(A){this.removeEventListener("render",A)},onRenderListener:function(){this.dispatchEvent("render")},addRenderFinishedListener:function(A){this.addEventListener("renderFinished",A)},removeRenderFinishedListener:function(A){this.removeEventListener("renderFinished",A)},onRenderFinishedListener:function(){this.dispatchEvent("renderFinished")},removeAllListeners:function(){this.removeAllEventListener()},destroy:function(){if(this.stopRedner(),this.stopApplyFilter(),this.removeAllListeners(),this.controlManager.unregisterDomEventListeners(this.domElement),this.renderer){var A=document.getElementById(this.uuid);this.domElement.contains(this.getRenderer().domElement)&&this.domElement.removeChild(A)}this.domElement=null,this.renderSettings.canvas=null,this.renderSettings.context=null,this.renderSettings=null,this.rendererManager.destroy(),this.rendererManager=null,this.camera=null,this.defaultCamera=null,this.cameraControl.destroy(),this.cameraControl=null,this.controlManager.destroy(),this.modelManager.destroy(),this.modelManager=null,this.controlManager=null,this.tmpBox=null,this.filter=null,this.calculationPlanesBind=null,this.animator=null},init:function(A){var e=this;e.uuid=a.generateUUID(),this.domElement=A,this.resetBackgroundColor();var t={alpha:!0,preserveDrawingBuffer:!0,antialias:!0,depth:!0,maxDrawCacheNum:vc.maxDrawCacheNum,logarithmicDepthBuffer:!1,stencil:!0};vc.logarithmicDepthBuffer&&(t.logarithmicDepthBuffer=!0),vc.DisableAntialias&&(t.antialias=!1);var i=null;try{(i=document.createElement("canvas")).style.outline="none",i.getContext("webgl",t)||i.getContext("experimental-webgl",t)||(t.antialias=!1)}catch(A){return!1}Tu.initializeUnitInstances();var o=document.createElement("div");o.setAttribute("id",e.uuid),o.style.width="100%",o.style.height="100%",t.canvas=i,this.renderSettings=t,this.camera=this.defaultCamera=new cp(45,A.offsetWidth,A.offsetHeight,.1,200*vc.SceneSize),this.camera.up=new y(0,0,1),this.camera.realUp=new y(0,0,1),this.camera.lookAt(this.camera.target),this.cameraControl=new mp(this,this.camera,A,(function(A){e.render(A)})),this.controlManager=new Og,this.controlManager.setControlMode(this,"pick"),this.setOrbitButton("left"),this.setReverseWheelDirection(!1),this.registerDomEventListener(Rc.ON_CONTROL_END,(function(){e.needCheckTilesDataChange=!0})),this.registerDomEventListener(Rc.ON_CONTROL_ZOOM,(function(){e.needCheckTilesDataChange=!0})),e.rendererManager.setupRenderer(e.renderSettings),o.appendChild(this.getRenderer().domElement),this.domElement.appendChild(o),this.controlManager.registerDomEventListeners(o),this.startRender(),this.startApplyFilter()},getDomElement:function(){return this.domElement?this.domElement:null},getRendererDomElement:function(){return this.getRenderer()&&this.getRenderer().domElement?this.getRenderer().domElement:null},render:function(){this.needRender=!0},startRender:function(){this._renderTimer=requestAnimationFrame(this.checkNeedRender)},stopRedner:function(){cancelAnimationFrame(this._renderTimer)},startApplyFilter:function(){this._applyFilterTimer=requestAnimationFrame(this.checkNeedApplyFilter)},stopApplyFilter:function(){cancelAnimationFrame(this._applyFilterTimer)},_render:function(A){this.rendererManager.render(A)},incrementRender:function(A){var e=this,t=this.camera,i=this.modelManager,o=this.getRenderer(),n=this.getScene();if(this.countRenderRequest+=1,this.countRenderRequest>this.maxCountRenderRequest&&(this.countRenderRequest=0),!this.rendering){this.rendering=!0,i.calculateCameraModelRelation(t.position),this.ar(),this.cameraControl.updateCamera(),n.updateLights(t);var r=this.controlManager.isUpdateRenderList;o.resetIncrementRender(),o.setObjectListUpdateState(r),this.incrementRenderHandle=requestAnimationFrame(function A(i,r){var a=i;return function(){o.autoClear=r,e.controlManager.cameraChange?(o.resetIncrementRender(),o.autoClear=!0,e.controlManager.cameraChange=!1):o.autoClear=r,o.render(n,t)||a!==e.countRenderRequest?(e.rendering=!1,a!==e.countRenderRequest?e.render():e.onRenderFinishedListener()):e.incrementRenderHandle=requestAnimationFrame(A(a,!1))}}(e.countRenderRequest,!0)),r&&i.prepareScene(t),this.onRenderFinishedListener(),this.cameraControl.setCameraChanging(!1)}},fullRender:function(A){var e=this,t=this.camera,i=this.modelManager,o=this.getRenderer(),n=this.getScene();this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function A(){e.calculateNearFar(),e.cameraControl.updateCamera(),n.updateLights(t),i.getBlinkEnabled()&&i.updateBlinkMaterial();var r=n.fillClipPlane&&n.fillClipPlane.visible,a=n.clipPlanes&&n.clipPlanes.visible&&vc.EnableBoxClippingCaps;if(vc.ClippingCaps&&(r||a)&&vc.EnableClippingCaps){if(r||a){var s=n.getFillClipPlane(),l=n.getClipPlanes(),c=e.modelManager.getModelKeys();i.prepareCapScene(),o.clear(),o.autoClear=!1,r?(s.capPlane.planeMesh.visible=!0,s.capPlane.lineMesh.visible=!0,l.boxMesh.visible=!1):(s.capPlane.planeMesh.visible=!1,s.capPlane.lineMesh.visible=!1,l.boxMesh.visible=!0),s.planeHighLightMatrial.visible=!1,l.planeHighLightMatrial.visible=!1,l.planeMaterial.visible=!1,n.overrideMaterial=n.backMaterial;for(var h={},d=0,p=c.length;p>d;d+=1){var g=c[d],u=e.modelManager.getModel(g);if(h[g]={},u){var f=u._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});h[g][gp.GEOMETRY]=f.visible,f=u._getNodeGroup(gp.WIREFRAME,{globalSpace:!0}),h[g][gp.WIREFRAME]=f.visible,f=u._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),h[g][gp.INSTANCEGEOMETRY]=f.visible,f.visible=!1,f=u._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),h[g][gp.INSTANCEWIREFRAMEGEOMETRY]=f.visible,f.visible=!1}}o.render(n,t),n.overrideMaterial=n.backInstanceMaterial;for(var m=0,C=c.length;C>m;m+=1){var y=c[m],v=e.modelManager.getModel(y);if(v){var I=v._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});I.visible=!1,(I=v._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(I=v._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=h[y][gp.INSTANCEGEOMETRY],(I=v._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=h[y][gp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(n,t),n.overrideMaterial=n.frontMaterial;for(var E=0,B=c.length;B>E;E+=1){var x=c[E],S=e.modelManager.getModel(x);if(S){var w=S._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});w.visible=h[x][gp.GEOMETRY],(w=S._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=h[x][gp.WIREFRAME],w=S._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}),h[x][gp.INSTANCEGEOMETRY]=w.visible,w.visible=!1,w=S._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),h[x][gp.INSTANCEWIREFRAMEGEOMETRY]=w.visible,w.visible=!1}}o.render(n,t),n.overrideMaterial=n.frontInstanceMaterial;for(var M=0,b=c.length;b>M;M+=1){var U=c[M],F=e.modelManager.getModel(U);if(F){var K=F._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});K.visible=!1,(K=F._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=!1,(K=F._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=h[U][gp.INSTANCEGEOMETRY],(K=F._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=h[U][gp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(n,t),o.render(i.capsScene,t),n.overrideMaterial=null,s.planeHighLightMatrial.visible=!0,l.planeHighLightMatrial.visible=!0,l.planeMaterial.visible=!0;for(var Q=0,R=c.length;R>Q;Q+=1){var T=c[Q],k=e.modelManager.getModel(T);if(k){var D=k._getNodeGroup(gp.GEOMETRY,{globalSpace:!0});D.visible=h[T][gp.GEOMETRY],(D=k._getNodeGroup(gp.WIREFRAME,{globalSpace:!0})).visible=h[T][gp.WIREFRAME],(D=k._getNodeGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=h[T][gp.INSTANCEGEOMETRY],(D=k._getNodeGroup(gp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=h[T][gp.INSTANCEWIREFRAMEGEOMETRY]}}h=null,o.render(n,t)}}else vc.EnableSelectionOutline&&e.composer&&e.getSelection().length>0?e.composer.render():(o.setRenderTarget(null),o.clear(),o.render(n,t));e.onRenderListener(),e.onRenderFinishedListener(),e.cameraControl.setCameraChanging(!1),i.getBlinkEnabled()&&(e.blinkHandle=requestAnimationFrame(A)),i.disposeBufferAfterVbo()}()},resize:function(A,e){if(this.camera&&this.getRenderer()){var t=this.getDomElement();t&&(t.style.height=e+"px",t.style.width=A+"px"),this.camera.setSize(A,e),this.camera.updateProjectionMatrix(),this.rendererManager.setSize(A,e),this.dispatchEvent({type:"resize",data:{width:A,height:e}}),this.render()}},resizeByFrustum:function(A,e){this.camera&&this.getRenderer()&&(this.camera.updateProjectionMatrixByFrustum=!0,this.camera.setSizeByFrustum(A,e),this.render(),this.camera.updateProjectionMatrixByFrustum=!1)},calculateNearFar:function(){this.calculateNearFar2()},calculateNearFar2:function(){var A=this.getScene(),e=A.getBoundingBoxWorld(),t=this.getRenderer();if(this.enableCameraNearFar){var i=this.camera,o=i.position.clone().sub(A.getBoundingBoxWorld().getCenter(new y)).length(),n=A.getBoundingBoxWorld().getSize(new y).length();if(null!==e&&!e.isEmpty()){e.expandByScalar(1.1);e.applyMatrix4(i.matrixWorldInverse);var r=e.getSize(new y).length()/1e3,a=100;1e-4>r?a=.001:.001>r?a=.01:.01>r?a=.1:.1>r?a=1:1>r&&(a=10);var s=1,l=0;e.max.z>0&&0>e.min.z?(l=-e.min.z,s=Math.min(r/2,a/2)):(l=-e.min.z,s=Math.max(Math.min(r,a),-e.max.z)),t.shadowMap.enabled&&(l*=3,s/=3),l=Math.max(s+1,l),.1>(l=Math.min(l,o+n))-s&&(s/=2),i.setNearFar(s,l)}}},resetSelectionColor:function(A,e){this.modelManager.sceneState.setSelectionColor(A,e)},calculateMinDistance:function(A,e){if(Bh.time("计算最小距离"),A===e){var t=this.getBoundingBoxByIds([A]).getCenter(new y);return{start:t,end:t,minDistance:0}}function i(A,e){for(var t=0,i=0,o=0;3>o;o+=1){var n=A.min.getComponent(o),r=A.max.getComponent(o),a=e.min.getComponent(o),s=e.max.getComponent(o),l=0;n>s?l=n-s:a>r&&(l=a-r),t+=l*l;var c=Math.max(s,r)-Math.min(n,a);i+=c*c}return{minDis:Math.sqrt(t),maxDis:Math.sqrt(i)}}var o=new y,n=new y,r=new y;function a(A,e,t,i,o,n,r,a,s){r.fromBufferAttribute(e,t),a.fromBufferAttribute(e,i),s.fromBufferAttribute(e,o),n&&(r.applyMatrix4(n),a.applyMatrix4(n),s.applyMatrix4(n)),A.push(r),A.push(a),A.push(s)}function s(A,e,t){var i={start:null,end:null,minDistance:t},s=A.mesh,l=A.indexInfo,c=s.matrix.clone().multiply(A.matrix),h=s.geometry,d=h.attributes.position,p=l?l.indexStart:0,g=h.getIndex().array,u=l?l.indexStart+l.indexCount:g.length,f=e.mesh,m=e.indexInfo,C=f.matrix.clone().multiply(e.matrix),v=f.geometry,I=v.attributes.position,E=m?m.indexStart:0,B=v.getIndex().array,x=m?m.indexStart+m.indexCount:B.length,S=A.boundingBox,w=e.boundingBox;if(S.intersectsBox(w)){for(var M=p,b=u;b>M;M+=3){var U=[];a(U,d,g[M],g[M+1],g[M+2],c,o,n,r);var F=Tu.minDistanceBetweenTriToMesh(U,f,m,C);i.minDistance>F.minDistance&&(i.minDistance=F.minDistance,i.start=F.start,i.end=F.end)}return i}var K=S.getSize(new y),Q=w.getSize(new y),R=S.min.x-w.max.x,T=S.min.y-w.max.y,k=S.min.z-w.max.z,D=w.min.x-S.max.x,L=w.min.y-S.max.y,N=w.min.z-S.max.z,O=w.min.x>S.min.x?S.min.x:w.min.x,V=w.min.y>S.min.y?S.min.y:w.min.y,G=w.min.z>S.min.z?S.min.z:w.min.z,P=S.max.x>w.max.x?S.max.x:w.max.x,q=S.max.y>w.max.y?S.max.y:w.max.y,j=S.max.z>w.max.z?S.max.z:w.max.z,H=R;switch(T>H&&(H=T),k>H&&(H=k),D>H&&(H=D),L>H&&(H=L),N>H&&(H=N),H){case R:O+=Q.x/2,P-=K.x/2;break;case T:V+=Q.y/2,q-=K.y/2;break;case k:G+=Q.z/2,j-=K.z/2;break;case D:O+=K.x/2,P-=Q.x/2;break;case L:V+=K.y/2,q-=Q.y/2;break;case N:G+=K.z/2,j-=Q.z/2}for(var Y=new aA(new y(O,V,G),new y(P,q,j)),W=[],J=[],z=[],Z=[],X=p,_=u;_>X;X+=3){var $=[];a($,d,g[X],g[X+1],g[X+2],c,new y,new y,new y),z.push($);for(var AA=0,eA=$.length;eA>AA;AA+=1)if(Y.containsPoint($[AA])){W.push($);break}}for(var tA=E,iA=x;iA>tA;tA+=3){var oA=[];a(oA,I,B[tA],B[tA+1],B[tA+2],C,new y,new y,new y),Z.push(oA);for(var nA=0,rA=oA.length;rA>nA;nA+=1)if(Y.containsPoint(oA[nA])){J.push(oA);break}}W.length||(W=z),J.length||(J=Z);var sA=Tu.minDistanceBetweenTriToTri(W,J);return i.minDistance>sA.minDistance&&(i.minDistance=sA.minDistance,i.start=sA.start,i.end=sA.end),i}var l=this.modelManager.getMinDistanceObjects(A,e);if(!l)return-1;var c=[],h={start:null,end:null,minDistance:Number.POSITIVE_INFINITY};for(var d in l){if(!l[d].boundingBox){var p=this.getBoundingBoxByIds([d]);l[d].boundingBox=p}c.push(l[d])}if(1>c[0].length||1>c[1].length)return Bh.timeEnd("计算最小距离"),-1;var g=c[0],u=c[1],f=g.length,m=u.length,C=null,v=Number.POSITIVE_INFINITY;if(f>1||m>1){C={};for(var I=0;f>I;I+=1)for(var E=g[I],B=0;m>B;B+=1){var x=u[B];x.boundingBox=u.boundingBox,E.boundingBox=g.boundingBox;var S=i(E.boundingBox,x.boundingBox);v=S.maxDis>v?v:S.maxDis,C[I+"_"+B]=S}}for(var w=0;f>w;w+=1)for(var M=g[w],b=0;m>b;b+=1){if(C){var U=C[w+"_"+b].minDis;if(U>v||U>h.minDistance)continue}var F=u[b];F.boundingBox=u.boundingBox,M.boundingBox=g.boundingBox;var K=s(M,F,h.minDistance);if(h.minDistance>K.minDistance&&(h.minDistance=K.minDistance,h.start=K.start,h.end=K.end),0===h.minDistance)return Bh.timeEnd("计算最小距离"),h}return C=null,Bh.timeEnd("计算最小距离"),h},registerDomEventListeners:function(){this.domElement&&this.controlManager.registerDomEventListeners(this.domElement)},unregisterDomEventListeners:function(){this.domElement&&this.controlManager.unregisterDomEventListeners(this.domElement)},registerEventListener:function(A,e){this.modelManager.addEventListener(A,e)},unregisterEventListener:function(A,e){this.modelManager.removeEventListener(A,e)},registerCameraEventListener:function(A,e){this.cameraControl.addEventListener(A,e)},unregisterCameraEventListener:function(A,e){this.cameraControl.removeEventListener(A,e)},registerDomEventListener:function(A,e){this.controlManager.addEventListener(A,e)},unregisterDomEventListener:function(A,e){this.controlManager.removeEventListener(A,e)},load:function(A){var e=this;return this.modelManager.load(A,(function(){}),(function(A){Bh.time("Rendering: "),e.camera.dirty=!0,e.camera.dirty?e.render():(e.zoomAll(),e.goToInitialView()),Bh.timeEnd("Rendering: ")}))},loadWithType:function(){},loadTiles:function(A){var e=this;return this.modelManager.loadTiles(A,(function(){void 0===e._useBatchMerge&&(e._useBatchMerge=e.modelManager.shouldUseBatchRendering(),vc.MergeComponent=e._useBatchMerge,e._setupRenderer())}),(function(A){Bh.time("Rendering: "),e.camera.dirty=!0,e.camera.dirty?e.render():(e.zoomAll(),e.goToInitialView()),Bh.timeEnd("Rendering: ")}))},unload:function(A){var e=this.modelManager.unload(A);return e&&(vc.UserControlView||this.zoomAll(),this.render()),e},unloadAll:function(){this.modelManager.unloadAll(),this.render()},showModel:function(A){this.modelManager.showModel(A)&&this.render()},hideModel:function(A){this.modelManager.hideModel(A)&&this.render()},translateModel:function(A){var e=this._transformModelByKey(A);e&&e.switchToTranslateMode()},rotateModel:function(A){var e=this._transformModelByKey(A);e&&e.switchToRotateMode()},scaleModel:function(A){},showScene:function(A,e){A&&(A.setVisible(e),this.render())},clearAll:function(){this.getScene().clearAll()},restore:function(){this.getFilter().clear(),this.getScene().disableClipPlanes(),this.modelManager.dispatchEvent({type:Rc.ON_VIEWER_RESTORED})},getScene:function(){return this.modelManager.scene},getCapsScene:function(){return this.modelManager.capsScene},getControlManager:function(){return this.controlManager},getUserdataByUserId:function(A){var e=this.modelManager.getNodeInfosByUserId(A);return e&&e instanceof Array?e[0].userData:null},getFilter:function(){return this.filter},getCurrentControlName:function(){return this.controlManager.getCurrentControlName()},getCurrentControlMode:function(){return this.controlManager.getCurrentControlMode()},setControlMode:function(A){this.controlManager.setControlMode(this,A),this.render()},setControlDefault:function(){this.setControlMode(Gc.PICK)},getBoundingBoxWorld:function(){return this.getScene().getBoundingBoxWorld()},getBoundingBox:function(){return this.getScene().getBoundingBox()},getModel:function(A){return this.modelManager.getModel(A)},getModelManager:function(){return this.modelManager},setModelMatrix:function(A,e){var t=this.getModel(e);t&&t.setModelMatrix(A)},getModelMatrix:function(A){var e=null,t=this.getModel(A);return t&&(e=t.getModelMatrix()),e},overturnYAndZaxis:function(A){var e=this.getModel(A);e&&e.overturnYAndZaxis()},zoomIn:function(A){void 0===A&&(A=.1),0>A&&(A=0),this.cameraControl.zoom(A)},zoomOut:function(A){void 0===A&&(A=.1),A>0?A*=-1:A=0,this.cameraControl.zoom(A)},zoomAll:function(A,e,t){var i=this.getScene().getBoundingBox();this._zoomToLocalBox(i,A,e,t)},zoomToBuilding:function(A,e,t){this.zoomAll(A,e,t)},zoomToSelection:function(A,e,t){var i=this.getScene(),o=this.getBoundingBoxByIds(this.modelManager.sceneState.getSelection());o.isEmpty()&&(o=i.getBoundingBox()),!0===this.getTransitionAnimationState()?this.animator.setStandardView(Uc.Keep,this,o,A):this._zoomToLocalBox(o,A,e,t)},_zoomToLocalBox:function(A,e,t,i){this.camera.zoomToBox(A,e,t,i),this.cameraControl.update(!0,!0),this.cameraControl.dirtyCamera(!0)},zoomToBox:function(A,e,t,i){var o=new aA;A?(o.copy(A),o.applyMatrix4(this.getScene().getMatrixGlobal())):o.copy(this.getScene().getBoundingBox()),!0===this.getTransitionAnimationState()?this.animator.setStandardView(Uc.Keep,this,o,e):this._zoomToLocalBox(o,e,t,i)},zoomToBoxByDirection:function(A,e,t,i){if(e){if(e&&A){var o=A.clone(),n=o.getCenter(new y).clone().add(e);o.applyMatrix4(this.getScene().getMatrixGlobal()),n.applyMatrix4(this.getScene().getMatrixGlobal());var r=n.clone().sub(o.getCenter(new y));r.length()>1e-4?(r.normalize(),this.camera.realUp.copy(H.DefaultUp),this._zoomToLocalBox(o,t,i,r)):this._zoomToLocalBox(o,t,i)}}else this.zoomToBox(A,t,i)},zoomToBoxWithOuterBox:function(A,e,t,i){if(e){if(e&&A){var o=A.clone(),n=e.getCenter(new y);o.applyMatrix4(this.getScene().getMatrixGlobal()),n.applyMatrix4(this.getScene().getMatrixGlobal());var r=n.clone().sub(o.getCenter(new y));r.length()>1e-4?(r.normalize(),this.camera.realUp.copy(H.DefaultUp),this.controlManager.zoomToBox(this,o,t,i,r)):this.controlManager.zoomToBox(this,o,t,i)}}else this.zoomToBox(A,t,i)},getObjectsInBox:function(A,e){var t=new aA;return t.copy(A),t.applyMatrix4(this.getScene().getMatrixGlobal()),wg.getObjectsInBox(this.getScene(),t,this.modelManager,this,e)},setStandardView:function(A,e,t,i){var o=this.camera,n=this.getScene().getBoundingBox();if(this.transitionAnimationState)this.animator.setStandardView(A,this,n,e,t,i);else{o.setStandardView(A,n);this.camera.zoomToBox(n,e);this.cameraControl.update(!0,!0),i&&i()}},rotateCameraByViewCubeSide:function(A){this._viewCubeAnimator&&(this._viewCubeAnimator.cancelAnimation(),this._viewCubeAnimator=void 0);var e=this.camera,t=this.getScene().getGeometryBoundingBox(),i=new Cp,o=this;i.rotateCameraByViewCubeSide(e,t,A,(function(A,e,t,i){o.camera.position.copy(t);var n=new y(0,1,0);n.applyQuaternion(e),o.camera.up=n,o.camera.realUp=n.clone(),o.camera.lookAt(i),o.camera.target=i,1>A||o.camera.quaternion.copy(e),o.cameraControl.update(!0)})),this._viewCubeAnimator=i},cancelCurrentAnimationByViewCube:function(){this._viewCubeAnimator&&(this._viewCubeAnimator.cancelAnimation(),this._viewCubeAnimator=void 0)},getLineSelectRange:function(){return vc.LineSelectRange},setLineSelectRange:function(A){vc.LineSelectRange=A},_setStandardView:function(A,e){var t=this.camera,i=this.getScene().getBoundingBox();t.setStandardView(A,i),t.zoomToBox(i,e)},setStandardViewWithBox:function(A,e,t,i){if(e?e.applyMatrix4(this.getScene().getMatrixGlobal()):e=this.getScene().getBoundingBox(),this.transitionAnimationState)this.animator.setStandardView(A,this,e,t);else{var o=this.camera;o.setStandardView(A,e),o.zoomToBox(e,t,i),this.cameraControl.update(!0,!0)}},setTopView:function(A,e,t){this.setStandardViewWithBox(Uc.Top,A,e,t)},setInitialView:function(A){this.initialView=A,this._setStandardView(A)},goToInitialView:function(A){this.setStandardView(this.initialView,A,null)},setHomeView:function(A){this.currentHomeView=A,this._setStandardView(A)},getHomeView:function(){return this.currentHomeView},goToHomeView:function(A){this.setStandardView(this.currentHomeView,A,null)},rotateByAxis:function(A,e,t){var i=t||this.cameraControl.calculatePivot(kc.CENTER,null),o=2*Math.PI/60/60*A;if(e&&"x"!==e){if("y"!==e)return void Bh.warn("Illegal rotation axis for ViewerImpl.rotateByAxis().");this.cameraControl.handleRotation(0,-o,i)}else this.cameraControl.handleRotation(-o,0,i);this.cameraControl.update(!0)},lookAt:function(A,e,t){var i=new y;i.subVectors(e,A),this.camera.lookAtEx(e,i,t),this.cameraControl.updateCamera(e),this.render()},setImageResPath:function(A){vc.TextureResRoot=A},setLimitFrameTime:function(A){vc.IncrementRender&&(A>0||(A=30),vc.LimitFrameTime=A)},limitFrameRate:function(A){vc.IncrementRender&&(A>0||(A=4),vc.LimitFrameTime=1e3/A)},transformCamera:function(A){return Rd.transformCamera(A,this.modelManager.scene)},getCamera:function(){var A=this.getScene().getMatrixGlobal(),e=this.cameraControl.getCamera(),t=this.cameraControl.getCameraName(),i=new Qd(t,e.position,e.target,e.up);i=cp.drawingToWorld(i,A);var o={};if(this.cameraStateWithFrustum){var n=2*(e.near*Math.tan(.5*a.DEG2RAD*e.fov)/e.zoom);o=new Qd(t,i.position,i.target,i.up,e.fov,void 0,e.aspect*n,n)}else o=new Qd(t,i.position,i.target,i.up,e.fov,void 0);return JSON.stringify(o)},setCameraStateWithFrustum:function(A){this.cameraStateWithFrustum=A},setCamera:function(A,e,t){this.camera.dirty=!0;var i=this,o=Rd.parseCameraInfo(A);if(null===o)Bh.log("Invalid camera info string. Fail to set camera.");else if(this.switchToCamera(o.name)){var n=this.getScene().getMatrixGlobal(),r=cp.worldToDrawing(o,n);if(this.transitionAnimationState){var a={position:this.camera.position.clone(),target:this.camera.target.clone(),up:this.camera.realUp.clone()||this.camera.up.clone()};this.animator.active(a,r,this,(function(A){i.cameraControl.update(!0,!0)}),(function(){o.frustumWidth&&o.frustumHeight&&i.resizeByFrustum(o.frustumWidth,o.frustumHeight),t&&t()}))}else{var s=new y;s.subVectors(r.target,r.position),this.camera.lookAtEx(r.target,s,r.up),e&&this.cameraControl.updateCamera(),o.frustumWidth&&o.frustumHeight&&(i.cameraControl.update(!0,!0),i.resizeByFrustum(o.frustumWidth,o.frustumHeight)),t&&t()}}},getRenderBufferScreenShot:function(A,e,t,i){this._render();var o=this.getRenderer().domElement,n=o.toDataURL("image/png"),r=o.width,a=o.height,s=window.devicePixelRatio||1,l=e||r/s,c=t||a/s;if(!l||!c)return i?(i(n),null):n;var h,d=null,p=null,g=0,u=0;if(l>c||l/c>r/a?(d=l,u=c/2-(p=a/r*l)/2):(p=c,g=l/2-(d=r/a*c)/2),i)return(h=new Image).onload=function(){var e=document.createElement("canvas"),t=e.getContext("2d");e.width=l,e.height=c,A&&(t.fillStyle=A,t.fillRect(0,0,l,c)),t.drawImage(h,g,u,d,p);var o=e.toDataURL("image/png");i(o)},h.src=n,null;(h=new Image).src=n;var f=document.createElement("canvas"),m=f.getContext("2d");return f.width=l,f.height=c,A&&(m.fillStyle=A,m.fillRect(0,0,l,c)),m.drawImage(h,g,u,d,p),f.toDataURL("image/png")},screenShot:function(A,e,t){var i=this;return this._render(),function(){var o=i.getRenderer().domElement,n=o.toDataURL("image/png"),r=o.width,a=o.height,s=(window,A),l=e;if(!s||!l)return t?(t(n),null):n;var c=null,h=null,d=0,p=0;if(s>l||s/l>r/a?(c=s,p=l/2-(h=a/r*s)/2):(h=l,d=s/2-(c=r/a*l)/2),t){var g=new Image;return g.onload=function(){var A=document.createElement("canvas"),e=A.getContext("2d");A.width=s,A.height=l,e.drawImage(g,d,p,c,h);var i=A.toDataURL("image/png");t(i)},g.src=n,null}}()},canvas2image:function(A,e,t,i){var o=null,n=this;return i?(this.getRenderBufferScreenShot(A,e,t,(function(A){i(A),n.render()})),null):(o=this.getRenderBufferScreenShot(A,e,t),this.render(),o)},lockAxisZ:function(A,e){var t=this.cameraControl;if(t){var i=t.getZenith(),o=this.getBoundingBox().getCenter().clone();if(A&&void 0!==e||(e=null),e){var n=e[0],r=e[1];i>r?t.handleRotation(0,r-i,o):n>i&&t.handleRotation(0,n-i,o),this.render()}this.cameraControl.lockAxisZ(A),this.cameraControl.setLockAxisZRange(e)}},isLockedAxisZ:function(){return this.cameraControl.isLockedAxisZ()},enableTranslucentByDClick:function(A){vc.EnableDemolishByDClick=A},enableHitDetection:function(A){vc.EnableHitDetection=A},enableRotate:function(A){jh.NoRotate=!A},rotateCamera:function(A,e){this.cameraControl.processRotate(A,e),this.cameraControl.update()},getActiveCameraInfo:function(){var A={};A.up=new y,A.dir=new y;var e=this.camera,t=e.getWorldDirection(new y);return A.up.copy(e.realUp||e.up),A.dir.copy(t),A.quaternion=e.quaternion.clone(),A},calculationPlanes:function(){if(this.isRecalculationPlanes){this.isRecalculationPlanes=!1;var A=this.getScene(),e=this.getBoundingBoxByIds();e.isEmpty()&&(e=A.getBoundingBox()),A.getClipPlanes().calculationPlanes(e.getSize(new y),e.getCenter(new y)),this.render()}},recalculationPlanes:function(){this.isRecalculationPlanes=!0},setOctantDepth:function(A){vc.OctantDepth=A},resizePool:function(A){vc.maxObjectNumInPool=A,this.modelManager.updateSceneRenderable(),this.render()},setCategoriesToHighPriority:function(A,e){this.modelManager.setCategoriesToHighPriority(A,0===e?"inner":"outer")},clearCategoriesFromHighPriority:function(A){this.modelManager.clearCategoriesFromHighPriority(0===A?"inner":"outer")},clearAllCategoriesFromHighPriority:function(){this.modelManager.clearAllCategoriesFromHighPriority()},isolate:function(A,e){var t=this.getFilter();switch(e){case"hide":t.setIsolateConditions(A,Nc.HIDDEN_OTHERS);break;case"translucent":t.setIsolateConditions(A,Nc.TRANSLUCENT_OTHERS);break;default:Bh.warn("no this isolate state : "+e)}},setIsolateMaterial:function(A){this.getFilter().setIsolateMaterial(A)},resetIsolateMaterial:function(){this.getFilter().resetIsolateMaterial()},setOrbitButton:function(A){var e=this.controlManager._getControlByName(this,Gc.ORBIT),i=this.controlManager._getControlByName(this,Gc.PICK),o={};"left"===A?o={ORBIT:t.LEFT,PAN2:t.MIDDLE,PAN:t.RIGHT}:"right"===A&&(o={ORBIT:t.RIGHT,PAN2:t.MIDDLE,PAN:t.LEFT}),e&&e.updateButtons(o),i&&i.updateButtons(o)},showPickedInformation:function(A){},setOrbitEnabled:function(A){jh.NoRotate=!0!==A},getOrbitEnabled:function(){return!jh.NoRotate},setSelectPadCallback:function(A){var e=this.controlManager.getCurrentControlMode();e&&e.selectPad&&(e.selectPad.callback=A)},setDeviceMobile:function(A){vc.IsMobile=A||!1},setPointRotateMode:function(A){jh.RotatePivotMode=A},worldToDrawing:function(A){if(!this.cameraControl)return Bh.warn("camera is not initialized!!!"),null;var e=this.getScene().worldToDrawing(A);return{x:e.x,y:e.y,z:e.z}},drawingToWorld:function(A){if(!this.cameraControl)return Bh.warn("camera is not initialized!!!"),null;var e=this.getScene().drawingToWorld(A);return{x:e.x,y:e.y,z:e.z}},worldToCanvas:function(A){var e=this.cameraControl;if(!e)return Bh.warn("camera is not initialized!!!"),null;var t=e.getContainerDimensions();if(!t)return null;var i=e.getCamera(),o=this.getScene().worldToDrawing(A);return Rd.drawingToCanvas(i,o,t.width,t.height)},canvasToWorld:function(A){var e=this.cameraControl;if(!e)return Bh.warn("camera is not initialized!!!"),null;var t=e.getContainerDimensions();if(!t)return null;var i=e.getCamera(),o=this.getScene(),n=Rd.canvasToDrawing(i,A,t.width,t.height),r=o.drawingToWorld(n);return{x:r.x,y:r.y,z:r.z}},worldToClient:function(A){var e=this.cameraControl;if(!e)return Bh.warn("camera is not initialized!!!"),null;var t=e.getContainerDimensions();if(!t)return null;var i=e.getCamera(),o=this.getScene().worldToDrawing(A),n=Rd.drawingToCanvas(i,o,t.width,t.height);return n?(n.x+=t.left,n.y+=t.top,n):null},worldPointsToClient:function(A,e){var t=this.cameraControl;if(!t)return Bh.warn("camera is not initialized!!!"),null;var i=t.getContainerDimensions();if(!i)return null;var o=t.getCamera(),n=this.getScene(),r=n.worldToDrawing(A),a=n.worldToDrawing(e),s=Rd.drawingPointsToCanvas(o,r,a,i.width,i.height);return s?(s.start.x+=i.left,s.start.y+=i.top,s.end.x+=i.left,s.end.y+=i.top,s):null},clientToWorld:function(A){var e=this.cameraControl;if(!e)return Bh.warn("camera is not initialized!!!"),null;var t=e.getContainerDimensions();if(!t)return null;(n={x:A.x,y:A.y,z:A.z}).x-=t.left,n.y-=t.top;var i=e.getCamera(),o=this.getScene(),n=Rd.canvasToDrawing(i,n,t.width,t.height),r=o.drawingToWorld(n);return{x:r.x,y:r.y,z:r.z}},insideCamera:function(A){var e=this.cameraControl;if(!e)return Bh.warn("camera is not initialized!!!"),!1;var t=this.getScene().worldToDrawing(A);return e.getFrustum().containsPoint(t)},locateToPointWithParallelEye:function(A){var e=this.cameraControl;if(!e)return Bh.warn("camera is not initialized!!!"),!1;var t=this.getScene().worldToDrawing(A);e.flyToPointWithParallelEye(t)},locateToPoint:function(A){var e=this.cameraControl;if(!e)return Bh.warn("camera is not initialized!!!"),!1;var t=this.getScene().worldToDrawing(A);e.flyToPoint(t)},enableHover:function(A){vc.Hover=A},getObjectsByClientCoordinates:function(A){return new fp(this).getObjectsByClientCoordinates(A)},getIBLManager:function(){return this.IBLManager},loadEnvMap:function(A){for(var e=["posx.hdr","negx.hdr","posy.hdr","negy.hdr","posz.hdr","negz.hdr"],t=[],i=0;6>i;i+=1)t.push("/"+A+"/"+e[i]);var o=this;(new(void 0)).load(1015,t,(function(A){o.environmentCubeMap=A,o.modelManager.updateMaterialsValue("envMap",A),o.render()}))},setEnvMapIntensity:function(A){this.modelManager.updateMaterialsValue("envMapIntensity",A),this.setRenderStateChanged(!0),this.render()},closeEnvMap:function(){this.modelManager.updateMaterialsValue("envMap",null),this.render()},enableSSAO:function(A){return!vc.IncrementRender&&(vc.EnableRenderPass=A,vc.SSAO=A,this.setRenderStateChanged(!0),this.render(),!0)},switchNewStyleMaterial:function(A){this.modelManager.switchNewStyleMaterial(A),this.setRenderStateChanged(!0),this.render()},enableColorWithoutLight:function(A){this.modelManager.enableColorWithoutLight(A),this.setRenderStateChanged(!0),this.render()},addPlane:function(A,e,t,i){var o=new y;o.addVectors(new y(A.x,A.y,A.z),new y(e.x,e.y,e.z)),o.multiplyScalar(.5);var n=new Ue(new et(e.x-A.x,e.y-A.y),new jA({side:2,transparent:!0,depthTest:!0}));n.position.copy(o),n.renderOrder=10,this.getScene().getOrCreateGroup(gp.CUSTOMPLANE,{globalSpace:!0}).add(n),n.updateMatrixWorld(!0);var r=this;return(new Aa).load(t,(function(A){n.material.map=A,n.material.needsUpdate=!0,r.setRenderStateChanged(!0),i&&i()})),n},removePlane:function(A){var e=this.getScene().getGroup(gp.CUSTOMPLANE);e&&e.remove(A)},clearPlane:function(){var A=this.getScene().getGroup(gp.CUSTOMPLANE);A&&A.clear()},enableTextureMapping:function(A){vc.EnableTextureMapping=A},enableLightmap:function(A){vc.EnableLightmap!==A&&(vc.EnableLightmap=A)},setLightmapIntensity:function(A){vc.LightmapIntensity!==A&&(vc.LightmapIntensity=A)},setReverseWheelDirection:function(A){jh.ReverseWheelDirection=Boolean(A)},getReverseWheelDirection:function(){return jh.ReverseWheelDirection},setMovementSpeedRate:function(A){void 0!==A&&(jh.MovementSpeedRate=A)},getMovementSpeedRate:function(){return jh.MovementSpeedRate},moveTo:function(A,e,t){var i=this.controlManager.control;i&&i.moveTo(A,e,t)},rotateTo:function(A){var e=this.controlManager.control;e&&e.rotateTo(A)},enableOcclusionTranslucent:function(A){vc.OcclusionTranslucentEnabled=Boolean(A)},setOcclusionOpacity:function(A){vc.OcclusionOpacity=A},setOcclusionDistanceToCamera:function(A){vc.OcclusionDistanceToCamera=A},fitAndRotateBySelection:function(){this.cameraControl&&this.cameraControl.fitAndRotateBySelection()},setRoamingWalkHeight:function(A,e,t){if(Array.isArray(A)){var i=this.cameraControl;if(!i)return Bh.log("camera is not initialized!!!"),!1;if(e>0||(e=1750),void 0===t&&(t=!0),i.setCameraHeight(A,e),t){var o=this.controlManager.getCurrentControl();o&&o.name===Gc.WALK&&o.update&&i.flyOnWorld()}}else Bh.log("elevations is not arry")},setRoamingWalkAbsoluteHeight:function(A,e){var t=this.cameraControl;if(!t)return Bh.log("camera is not initialized!!!"),!1;if(void 0===e&&(e=!0),t.setCameraAbsoluteHeight(A),e){var i=this.controlManager.getCurrentControl();i&&i.name===Gc.WALK&&i.update&&t.flyOnWorld()}},cameraToWorld:function(A){return this.camera?cp.drawingToWorld(A,this.getScene().getMatrixGlobal()):null},cameraToDrawing:function(A){return this.camera?cp.worldToDrawing(A,this.getScene().getMatrixGlobal()):null},clearSelection:function(){this.modelManager.sceneState.clearSelection()},clearModelSelection:function(){this.modelManager.modelState.clearSelection()},addToSelection:function(A){this.modelManager.sceneState.addSelection(A)},addToModelSelection:function(A){this.modelManager.modelState.addSelection(A)},removeFromSelection:function(A){this.modelManager.sceneState.removeSelection(A)},removeFromModelSelection:function(A){this.modelManager.modelState.removeSelection(A)},setSelection:function(A){this.modelManager.sceneState.setSelection(A)},setModelSelection:function(A){this.modelManager.modelState.setSelection(A)},getSelection:function(){return this.modelManager.sceneState.getSelection()},getModelSelection:function(){return this.modelManager.modelState.getSelection()},setSelectionColor:function(A,e){var t=A,i=e;A instanceof Xh&&(t=A.getHex(),i=A.getAlpha()),this.modelManager.sceneState.setSelectionColor(t,i);var o=this.rendererManager.getPickingEffecter();o&&o.setSelectionColor(t,i)},getSelectionColor:function(){return this.modelManager.sceneState.getSelectionColor()},restoreSelectionColor:function(){this.setSelectionColor(new Xh(vc.SelectionColor.color,vc.SelectionColor.opacity))},setModelSelectionColor:function(A,e){this.modelManager.modelState.setSelectionColor(A,e)},getScreenCoordFromSceneCoordAndCheckCover:function(A){var e=void 0,t=!1;if("[object Array]"==Object.prototype.toString.call(A))e=new y(A[0],A[1],A[2]);else{if("[object Object]"!=Object.prototype.toString.call(A))return;e=new y(A.x,A.y,A.z)}if(e){var i=this.camera.position,o=i.distanceTo(e),n=new Ds(i,e.clone().sub(i).normalize()),r=this.cameraControl.getIntersectContext({x:100,y:100}),a=this.cameraControl.intersector.getIntersectByRay(r,n.ray);if(!a)return;t=o-300>i.distanceTo(a.point)}return{screenCoord:this.getScreenCoordFromSceneCoord(e),cover:t}},pickByPoint:function(A){var e=this.cameraControl;if(!1===e.enabled)return!1;var t=new s(A.x,A.y),i=e.getIntersectContext(t),o=e.intersector.pick(i),n=this.getScene();if(o){n.intersectToWorld(o,this);var r={};return r.faceIndex=o.faceIndex,r.componentKey=o.userId,r.worldPosition=o.worldPosition,r.worldBoundingBox=o.worldBoundingBox,r}return null},pickByPointWithNormal:function(A){var e=this.getScene(),t=this.cameraControl;if(!1===t.enabled)return null;var i=new s(A.x,A.y),o=t.getIntersectContext(i),n=t.intersector.pick(o);if(!n)return null;e.intersectToWorld(n,this),n.cx=i.x,n.cy=i.y;var r=[];r.push(n);var a=e.getMatrixGlobal(),l=n.face.normal.clone(),c=new CA(n.worldPosition.clone(),l);c.applyMatrix4(a);var h=t.intersector.getIntersectByRay(o,c);return h&&(e.intersectToWorld(h,this),r.push(h)),r},toDefaultOrthographicCamera:function(A){this.switchToCamera(Ec.ORTHOGRAPHIC),(A||void 0===A)&&this.render()},toDefaultPerspectiveCamera:function(A){this.switchToCamera(Ec.PERSPECTIVE),(A||void 0===A)&&this.render()},getCameraNameList:function(){return["pesp","orth"].concat(this.modelManager.getCameraNameList())},switchToCamera:function(A){var e=!0;if(A===Ec.PERSPECTIVE)this.camera=this.defaultCamera,this.camera.toPerspective();else if(A===Ec.ORTHOGRAPHIC)this.camera=this.defaultCamera,this.camera.toOrthographic();else{var t=this.modelManager.getCamera(A);t?this.camera=t:(Bh.log("Fail to switch because not found camera '"+A+"'"),e=!1)}return e&&this.cameraControl.setCamera(this.camera),this.render(),e},getNumOfElements:function(){return this.modelManager.getNumOfElements()},getNumOfRenderables:function(){return this.modelManager.getNumOfRenderables()},getNumOfTriangles:function(){return this.modelManager.getNumOfTriangles()},setLightPreset:function(A){this.getScene().setLightPreset(A),this.setRenderStateChanged(!0)},getLightPreset:function(){return this.getScene().getLightPreset()},setLightIntensityFactor:function(A){this.getScene().setLightIntensityFactor(A),this.render()},setAmbientLightIntensity:function(A){this.getScene().setAmbientLightIntensity(A),this.render()},getAmbientLightIntensity:function(){return this.getScene().getAmbientLightIntensity()},setWalkHeightLocked:function(A){var e=this.controlManager.getCurrentControl();e&&e.name===Gc.WALK&&e.setHeightLocked(A)},setWalkLookMousePressed:function(A){var e=this.controlManager.getCurrentControl();e&&e.name===Gc.WALK&&e.setDragLook(A)},setWalkSpeedRate:function(A){var e=this.controlManager.getCurrentControl();e&&e.name===Gc.WALK&&(jh.MovementSpeedRate=A)},getWalkSpeedRate:function(){return jh.WalkSpeedRate},setDrawingStyle:function(A){vc.DrawingStyle=A,this.modelManager.applyFilter(),this.setRenderStateChanged(!0)},getWireframeColor:function(A){var e=this.modelManager;if(A&&e.models[A])return e.models[A].wireframeManager.getWireframeColor();for(var t in e.models){return e.models[t].wireframeManager.getWireframeColor()}},setWireframeColor:function(A,e){var t=this.modelManager;if(e&&t.models[e])t.models[e].wireframeManager.setWireframeColor(new LA(A),A.a||1);else for(var i in t.models)t.models[i].wireframeManager.setWireframeColor(new LA(A),A.a||1);this.setRenderStateChanged(!0)},restoreWireframeColor:function(A){var e=this.modelManager;if(A&&e.models[A])e.models[A].wireframeManager.restoreWireframeColor();else for(var t in e.models)e.models[t].wireframeManager.restoreWireframeColor();this.setRenderStateChanged(!0)},setInstanceMode:function(A){!vc.Instance===A&&(vc.Instance=A,this.getScene().getOrCreateGroup(gp.INSTANCEGEOMETRY,{globalSpace:!0}).visible=!!A)},setTransitionAnimationState:function(A){this.transitionAnimationState=A},getTransitionAnimationState:function(){return this.transitionAnimationState},clipPoint:function(A){var e=this.getRenderer().clippingPlanes;if(e&&e.length>0)for(var t=0;e.length>t;t+=1){var i=e[t];if(A.dot(i.normal)<-i.constant)return!0}return!1},setExposureShift:function(A){vc.ToneMapping=1,this.modelManager.updateMaterialsValue("shift",A>0?-.4*A+.5:-4*A+.5),this.setRenderStateChanged(!0)},setRenderStateChanged:function(A){this.modelManager&&this.modelManager.setRenderStateChanged(A)},isRenderStateChanged:function(){return this.modelManager._renderStateChanged},getComponentInfoByUserId:function(A){return this.modelManager.getComponentInfoByUserId(A)},getBoundingBoxByIds:function(A){var e=new aA;if(Array.isArray(A)){for(var t=0;A.length>t;t+=1)if(!this.modelManager.isHiddenUserId(A[t])){var i=this.getModelByComponentKey(A[t]),o=this.getComponentInfoByUserId(A[t]);if(o)if(i){var n=o.boundingBox.clone().applyMatrix4(i.getModelMatrix());e.union(n)}else e.union(o.boundingBox)}}else for(var r in A)if(!this.modelManager.isHiddenUserId(r)){var a=this.getModelByComponentKey(r),s=this.getComponentInfoByUserId(r);if(s)if(a){var l=s.boundingBox.clone().applyMatrix4(a.getModelMatrix());e.union(l)}else e.union(s.boundingBox)}return e.isEmpty()||e.applyMatrix4(this.getScene().getMatrixGlobal()),e},setConditionsOnDemandLoad:function(A,e,t,i){e=e||!0,this.modelManager.setConditionsOnDemandLoad(A),e&&this.modelManager.loadGeopkOnDemand(t,i)},loadGeopkOnDemand:function(A,e,t,i){var o=this;this.modelManager.loadGeopkOnDemand(A,e,t,(function(){var A=o.modelManager.getNodeInfos();o.filter.reinitFilterManager(A),o.setRenderStateChanged(!0),o.render(),i&&i()}))},unloadGeopkOnDemand:function(A,e){var t=this;this.filter._hasVisibleFilter()&&(this.filter.showByIds(A),this.filter.removeFromIsolateList(A)),this.filter._hasOverrideMaterialFilter()&&(this.filter.addToOverrideListByColor(A,null),this.filter.addToWireframeByWireframe(A,null)),this.filter._hasTransparentFilter()&&this.filter.opaqueByIds(A),this.removeFromSelection(A);for(var i=0,o=A.length;o>i;i+=1);this.modelManager.unloadGeopkOnDemand(A,(function(){var A=t.modelManager.getNodeInfos();t.filter.reinitFilterManager(A),t.setRenderStateChanged(!0),t.render(),e&&e()}))},getBoundingBoxOnDemand:function(){return this.modelManager.getBoundingBoxOnDemand()},getScreenCoordFromSceneCoord:function(A){var e=[];if(A.isVector3){var t=A.clone();t.applyMatrix4(this.camera.matrixWorldInverse);var i=t.z>0;return t.applyMatrix4(this.camera.projectionMatrix),e[0]=(t.x+1)*this.domElement.clientWidth/2,e[1]=(1-t.y)*this.domElement.clientHeight/2,e[2]=i?1:0,e}if(Array.isArray(A)){var o=new y(A[0],A[1],A[2]);o.applyMatrix4(this.camera.matrixWorldInverse);i=o.z>0;return o.applyMatrix4(this.camera.projectionMatrix),e[0]=(o.x+1)*this.domElement.clientWidth/2,e[1]=(1-o.y)*this.domElement.clientHeight/2,e[2]=i?1:0,o=null,e}},_checkDataChanged:function(){var A=this.modelManager;A.hasModelDataReady()&&(this.getFilter().isStateChanged()||this.isRenderStateChanged())&&(this.isRenderStateChanged()&&this.setRenderStateChanged(!1),this.getFilter().isStateChanged()&&this.getFilter().disableStateChanged(),this.needApplyFilter=!0),this.needCheckTilesDataChange&&(this.needCheckTilesDataChange=!1,A.checkTilesDataChanged(this.camera,this.getRenderer()))},_checkLayerDataLoading:function(){return!(!this.modelManager.isLayerData()||!this._layerDataLoading)&&(this.getFilter().isStateChanged()&&this.getFilter().disableStateChanged(),!0)},setOutlineEdgeColor:function(A){this.rendererManager.composer&&this.rendererManager.composer.setOutlineEdgeColor(A);var e=this.rendererManager.getPickingEffecter();e&&e.setLineSelectionColor(A.getHex(),A.opacity)},getOutlineEdgeColor:function(){if(this.rendererManager.composer)return this.rendererManager.composer.getOutlineEdgeColor();var A=this.rendererManager.getPickingEffecter();return A?A.getLineSelectionColor():void 0},restoreOutlineEdgeColor:function(A){this.setOutlineEdgeColor(new Xh(vc.SelectionColor.color,vc.SelectionColor.opacity))},enableSelectedColorIsAffectedByLight:function(A){vc.InfluencedByLight=A,vc.InfluencedByLight?delete this.modelManager.getSceneState().selectionMaterial.defines.NOTAFFECTEDBYLIGHT:this.modelManager.getSceneState().selectionMaterial.defines.NOTAFFECTEDBYLIGHT=""},enableLogarithmicDepthBuffer:function(A){vc.logarithmicDepthBuffer!==A&&(vc.logarithmicDepthBuffer=A,this.renderSettings.logarithmicDepthBuffer=A,this.rendererManager.resetupRenderer(this.renderSettings||{}),this._render(),this.updateShadowLight())},enableBlinkComponents:function(A){this.modelManager.isBlinkPermited()||(this.modelManager.enableBlink(A),this.render())},setBlinkComponentsById:function(A){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.setBlinkComponentsById(A)},addBlinkComponentsById:function(A){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.addBlinkComponentsById(A)},clearBlinkComponentsById:function(A){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.clearBlinkComponentsById(A)},clearAllBlinkComponents:function(){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.clearAllBlinkComponents()},getBlinkComponents:function(){return this.modelManager.isBlinkPermited()?null:this.modelManager.sceneState.getBlinkComponents()},setBlinkColor:function(A){this.modelManager.isBlinkPermited()||this.modelManager.setBlinkColor(A.color,A.opacity)},setBlinkIntervalTime:function(A){this.modelManager.isBlinkPermited()||this.modelManager.setBlinkIntervalTime(A)},getModelByComponentKey:function(A){var e=null;for(var t in this.modelManager.models)if(this.modelManager.models.hasOwnProperty(t)&&(e=this.modelManager.getModel(t))&&e.isLoaded()&&e.hasComponent(A))return e},getSceneState:function(){return{state:this.getFilter().saveState(),camera:this.getCamera(),selection:this.getSelection(),modelSelection:this.getModelSelection()}},setSceneState:function(A){void 0!==A.camera&&"object"!==lc(A.camera)||(A.camera=JSON.stringify(A.camera)),this.setCamera(A.camera,!1),this.setSelection(A.selection),this.setModelSelection(A.modelSelection),this.getFilter().loadState(A.state)},setComponentPositionByKey:function(A,e){var t=(new y).fromArray(e),i=(this.getModelManager(),new M,this.modelManager.getComponent(A));if(i&&i.length>=1){for(var o=new aA,n=0,r=i.length;r>n;n+=1){o&&o.union(i[n].boundingBox)}var a=new y;o.getCenter(a);var s=this.getModelByComponentKey(A);if(s){var l=s.getModelMatrix();if(l){var c=new M;c.getInverse(l),t.applyMatrix4(c)}}t.sub(a);var h=(new M).makeTranslation(t.x,t.y,t.z);this.componentApplyMatrix2(A,h,!0),this.updateTransformControlIfBindingComKeyEqual(A)}},setBackgroundColor:function(A,e){if(e)this.setBackgroundColors([{color:A,stop:"0%"},{color:e,stop:"100%"}],"180deg");else{var t=this.getDomElement();t&&(t.style.background=A.getRGBA())}},setBackgroundColors:function(A,e){var t=this.getDomElement(),i=e||"0deg",o=[];if(A&&A.length>0){1===A.length&&this.setBackgroundColor(A[0].color||A[0]);for(var n=0;A.length>n;n+=1){var r=A[n].color.getRGBA()+" "+A[n].stop;o.push(r)}var a=i+", "+o.join(",");t&&(t.style.background="linear-gradient("+a+")")}},resetBackgroundColor:function(){this.getDomElement()&&(this.domElement.style.background="linear-gradient(rgb(135,206,250) 0%, rgb(245, 245, 245) 100%)")},getComponentLocalMatrixByKey:function(A){if(A){var e=this.modelManager.getComponent(A);if(e&&e.length>0&&e[0].matrix)return e[0].matrix.clone()}},getComponentWorldMatrixByKey:function(A){var e=this.getComponentLocalMatrixByKey(A);if(e){var t=this.getModelByComponentKey(A);if(t){var i=t.getModelMatrix();e.premultiply(i)}return e}},setComponentLocalMatrixByKey:function(A,e){if(A){var t=this.modelManager.getComponent(A);if(t&&t.length>0){var i=t[0].mesh;return i.matrix.fromArray(e),i.updateMatrixWorld(!0),this.render(),!0}}return!1},_transformComponentByKey:function(A,e,t){var i=this;if(A){var o=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);if(o&&o.bindingComponentKey===A)return o;var n=this.getModelByComponentKey(A),r=function(A){i.render()},a=function(t){"string"==typeof A&&t.matrix&&t.object&&(i.componentApplyMatrix2(A,t.matrix,!1),i.getScene().expandBoundingBoxWorldBy(t.object)),e&&e(A)};if("string"!=typeof A){if(A instanceof H){var s=A;return this.controlManager.enableTool(this,Pc.COMPONENT_TRANSFORM),(o=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM)).transformComponent(s,r,a),o.bindingComponentKey=void 0,o}return}var l=this.modelManager.getComponent(A);if(l&&l.length>0){var c=i.externalComponentManager;c&&c.getNodeInfosByUserId(A)&&c.recalculateComponentBoundingbox(A);for(var h=new aA,d=0,p=l.length;p>d;d+=1)h.union(l[d].transformationOriginalBoundingBox?l[d].transformationOriginalBoundingBox:l[d].boundingBox);var g=new Ue(Tu.getGeometryFromBox3(h));if(g.matrixAutoUpdate=!1,l[0].transformation&&g.matrix.copy(l[0].applyMatrix),n){var u=n.getModelMatrix();if(u){var f=new Xi;f.matrixAutoUpdate=!1,f.matrix.copy(u),f.updateMatrixWorld(!0),f.add(g)}}return g.updateMatrixWorld(!0),this.controlManager.enableTool(this,Pc.COMPONENT_TRANSFORM),(o=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM)).transformComponent(g,r,a,void 0,(function(e){if(n)n.calculateBoundingBox();else{var o=i.externalComponentManager;o&&o.getNodeInfosByUserId(A)&&o.calculateBoundingBox()}i.modelManager.updateSceneBoundingBox(),t&&t(A)})),o.bindingComponentKey=A,this.modelManager.updateTransformComponentList(A),o}}},_transformModelByKey:function(A){if(A&&"string"==typeof A){var e=this.getModel(A);if(e&&e.isLoaded()&&e.isVisible()){var t=this,i=e.getBoundingBoxWorld();if(i.isEmpty())return;var o=new Ue(Tu.getGeometryFromBox3(i));o.matrixAutoUpdate=!1,o.updateMatrixWorld(!0),this.controlManager.enableTool(this,Pc.COMPONENT_TRANSFORM);var n=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);return n.transformComponent(o,(function(A){t.render()}),(function(A){A&&A.matrix&&e.applyModelMatrix(A.matrix)})),n}}},translateComponentByKey:function(A,e,t){var i=this._transformComponentByKey(A,e,t);i&&i.switchToTranslateMode()},scaleComponentByKey:function(A,e,t){var i=this._transformComponentByKey(A,e,t);i&&i.switchToScaleMode()},rotateComponentByKey:function(A,e,t){var i=this._transformComponentByKey(A,e,t);i&&i.switchToRotateMode()},cancelTransformComponent:function(A){var e=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);e&&(A&&this.restoreComponentTransform(),e.cancelTransformComponent(),this.controlManager.disableTool(e.name))},cancelTransformComponentByKey:function(A){if(A&&"string"==typeof A){var e=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);e&&e.bindingComponentKey===A&&(e.cancelTransformComponent(),this.controlManager.disableTool(e.name))}},restoreComponentTransform:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&(A.bindingComponentKey?this.restoreComponentTransformByKey(A.bindingComponentKey):A.restoreComponentOriginalTransformState()&&this.render())},restoreComponentTransformByKey:function(A){A&&"string"==typeof A&&(this.resetComponentMatrix(A),this.updateTransformControlIfBindingComKeyEqual(A))},updateTransformControlIfBindingComKeyEqual:function(A){var e=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);e&&e.bindingComponentKey===A&&(e.cancelTransformComponent(),this._transformComponentByKey(A))},increaseComponentTransformControlSize:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&A.increaseTransformControlSize()&&this.render()},decreaseComponentTransformControlSize:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&A.decreaseTransformControlSize()&&this.render()},setComponentTransformSpaceToLocalSpace:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&A.setTransformSpaceToLocalSpace()&&this.render()},setComponentTransformSpaceToWorldSpace:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&A.setTransformSpaceToWorldSpace()&&this.render()},switchComponentTransformSpaceBetweenLocalAndWorld:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&A.switchTransformSpace()&&this.render()},showComponentTransformOnAxis:function(A){var e=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);e&&e.showTransformOnAxis(A)&&this.render()},hideComponentTransformOnAxis:function(A){var e=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);e&&e.hideTransformOnAxis(A)&&this.render()},disableComponentTransform:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&A.disableTransform()&&this.render()},enableComponentTransform:function(){var A=this.controlManager.getToolByName(Pc.COMPONENT_TRANSFORM);A&&A.enableTransform()&&this.render()},componentApplyMatrix:function(A,e){var t=this.getModelManager(),i=this.getModelByComponentKey(A);if(i){t.explosionList[A]||(t.explosionList[A]=!0);var o=i._getHandler();if(o instanceof MC){var n=this.modelManager.getComponent(A);if(n&&n[0]&&n[0].mesh){var r=n[0].mesh;if(r){r.userData.originalMatrix||(r.userData.originalMatrix=r.matrixWorld.clone());var a=new y(r.userData.originalMatrix.elements[12],r.userData.originalMatrix.elements[13],r.userData.originalMatrix.elements[14]),s=new M;s.setPosition(a);var l=new M;l.setPosition(a.multiplyScalar(-1)),r.matrixWorld.multiply(l).multiply(e).multiply(s)}}}else if(o instanceof Yf){var c=i.getModelDescriptor(),h=c.mapNodeInfoByCategory[1],d=c.mapNodeInfoByCategory[0];if(h.hasOwnProperty(A))for(var p=h[A],g=0;p.length>g;g+=1){var u=p[g],f=u.mesh;if(f){var m=u.index,C=f.geometry.attributes.position;Tu.applyMatrix4ToBuffer(e,C.array,m.positionStart,m.positionStart+m.positionCount),C.needsUpdate=!0}}if(d.hasOwnProperty(A))for(var v=d[A],I=o.instancedManager.meshManager,E=0;v.length>E;E+=1)for(var B=v[E],x=I.getMeshIdByNodeInfo(B),S=I.nodeIdxMapFromUserId[A][x],w=0,b=S.length;b>w;w+=1){var U=S[w],F=I.instanceGeometryMap[x][w],K=F.getAttribute("mcol0"),Q=F.getAttribute("mcol1"),R=F.getAttribute("mcol2"),T=F.getAttribute("mcol3");B.transformation||(B.transformation=!0,B.transformationOriginalMatrix=B.matrix.clone());var k=(new y).fromArray(B.transformationOriginalMatrix.elements,12),D=new M;D.setPosition(k);var L=new M;L.setPosition(k.multiplyScalar(-1));var N=new M;N.fromArray([K.array[3*U],K.array[3*U+1],K.array[3*U+2],0,Q.array[3*U],Q.array[3*U+1],Q.array[3*U+2],0,R.array[3*U],R.array[3*U+1],R.array[3*U+2],0,T.array[3*U],T.array[3*U+1],T.array[3*U+2],1],0),N.multiply(L).multiply(e).multiply(D),K.array[3*U]=N.elements[0],K.array[3*U+1]=N.elements[1],K.array[3*U+2]=N.elements[2],K.needsUpdate=!0,Q.array[3*U]=N.elements[4],Q.array[3*U+1]=N.elements[5],Q.array[3*U+2]=N.elements[6],Q.needsUpdate=!0,R.array[3*U]=N.elements[8],R.array[3*U+1]=N.elements[9],R.array[3*U+2]=N.elements[10],R.needsUpdate=!0,T.array[3*U]=N.elements[12],T.array[3*U+1]=N.elements[13],T.array[3*U+2]=N.elements[14],T.needsUpdate=!0,B.matrix=N}}else Bh.warn("当前模式下暂不支持构件变换")}this.render()},componentApplyMatrix2:function(A,e,t){var i=this.getModelByComponentKey(A),o=this.getModelManager().getComponent(A);if(o&&o.length>0){for(var n=0;o.length>n;n+=1){var r=o[n];if(r.matrix||(r.matrix=new M),r.transformation||(r.transformation=!0,r.transformationOriginalMatrix=r.matrix.clone(),r.applyMatrix=new M,r.boundingBox&&(r.transformationOriginalBoundingBox=r.boundingBox.clone())),r.matrix.premultiply(e),r.applyMatrix.premultiply(e),r.boundingBox&&r.boundingBox.copy(r.transformationOriginalBoundingBox).applyMatrix4(r.applyMatrix),r.isBatched){var a=i._getHandler();if(!0===r.instanceOrNot)for(var s=a.instancedManager.meshManager,l=s.getMeshIdByNodeInfo(r),c=s.nodeIdxMapFromUserId[A][l],h=0,d=c.length;d>h;h+=1){var p=c[h],g=s.instanceGeometryMap[l][h],u=g.getAttribute("mcol0"),f=g.getAttribute("mcol1"),m=g.getAttribute("mcol2"),C=g.getAttribute("mcol3"),y=r.matrix;u.array[3*p]=y.elements[0],u.array[3*p+1]=y.elements[1],u.array[3*p+2]=y.elements[2],u.needsUpdate=!0,f.array[3*p]=y.elements[4],f.array[3*p+1]=y.elements[5],f.array[3*p+2]=y.elements[6],f.needsUpdate=!0,m.array[3*p]=y.elements[8],m.array[3*p+1]=y.elements[9],m.array[3*p+2]=y.elements[10],m.needsUpdate=!0,C.array[3*p]=y.elements[12],C.array[3*p+1]=y.elements[13],C.array[3*p+2]=y.elements[14],C.needsUpdate=!0}else{var v=r.mesh;if(!v)continue;var I=r.index,E=v.geometry;v.geometry.boundingBox=null;var B=E.attributes.position;Tu.applyMatrix4ToBuffer(e,B.array,I.positionStart,I.positionStart+I.positionCount),B.needsUpdate=!0;var x=a.defaultManager.wireframeManager.wireframeLineSegment;if(x)for(var S=x._indicesGroup[A],w=0,b=S.length;b>w;w+=1){var U=S[w];if(S[w].nodeId===r.nodeId){var F=x.geometry.attributes.position;Tu.applyMatrix4ToBuffer(e,F.array,3*U.positionStart,3*(U.positionStart+U.positionCount)),F.needsUpdate=!0;break}}}}else{var K=null;if(r.mesh instanceof Array)K=r.mesh;else{if(!(r.mesh instanceof H))continue;K=[r.mesh]}for(var Q=0,R=K.length;R>Q;Q+=1){var T=K[Q];r.isExternalComponent&&(T.userData.originalMatrix||(T.userData.originalMatrix=T.matrix.clone()));var k=T.matrixAutoUpdate;T.matrixAutoUpdate=!1,T.applyMatrix4(e),T.matrixAutoUpdate=k,T.updateMatrixWorld(!0)}var D=r.wireframeMeshs;if(D)for(var L=0,N=D.length;N>L;L+=1){var O=D[L];k=O.matrixAutoUpdate,O.matrixAutoUpdate=!1,O.matrix.copy(r.matrix),O.updateMatrixWorld(!0),O.matrixAutoUpdate=k}}}if(void 0===t&&(t=!0),t){if(i)i.calculateBoundingBox();else{var V=this.externalComponentManager;V&&V.getNodeInfosByUserId(A)&&V.calculateBoundingBox()}this.modelManager.updateSceneBoundingBox()}}this.modelManager.updateTransformComponentList(A),this.render()},setComponentMatrix:function(A,e){this.setComponentMatrix2(A,e)},setComponentMatrix2:function(A,e,t){var i=this.getModelManager().getComponent(A);if(i&&i.length>0)for(var o=0;i.length>o;o+=1){var n=i[o];n.matrix||(n.matrix=new M);var r=null;n.transformation?r=(new M).getInverse(n.applyMatrix):(n.transformation=!0,n.transformationOriginalMatrix=n.matrix.clone(),n.applyMatrix=new M,n.boundingBox&&(n.transformationOriginalBoundingBox=n.boundingBox.clone())),n.matrix.copy(n.transformationOriginalMatrix).premultiply(e),n.applyMatrix.copy(e),n.boundingBox&&n.boundingBox.copy(n.transformationOriginalBoundingBox).applyMatrix4(n.applyMatrix);var a=this.getModelByComponentKey(A);if(n.isBatched){var s=a._getHandler();if(!0===n.instanceOrNot)for(var l=s.instancedManager.meshManager,c=l.getMeshIdByNodeInfo(n),h=l.nodeIdxMapFromUserId[A][c],d=0,p=h.length;p>d;d+=1){var g=h[d],u=l.instanceGeometryMap[c][d],f=u.getAttribute("mcol0"),m=u.getAttribute("mcol1"),C=u.getAttribute("mcol2"),y=u.getAttribute("mcol3"),v=n.matrix;f.array[3*g]=v.elements[0],f.array[3*g+1]=v.elements[1],f.array[3*g+2]=v.elements[2],f.needsUpdate=!0,m.array[3*g]=v.elements[4],m.array[3*g+1]=v.elements[5],m.array[3*g+2]=v.elements[6],m.needsUpdate=!0,C.array[3*g]=v.elements[8],C.array[3*g+1]=v.elements[9],C.array[3*g+2]=v.elements[10],C.needsUpdate=!0,y.array[3*g]=v.elements[12],y.array[3*g+1]=v.elements[13],y.array[3*g+2]=v.elements[14],y.needsUpdate=!0}else{var I=n.mesh;if(!I)continue;var E=n.index,B=I.geometry.attributes.position;r&&Tu.applyMatrix4ToBuffer(r,B.array,E.positionStart,E.positionStart+E.positionCount),Tu.applyMatrix4ToBuffer(n.applyMatrix,B.array,E.positionStart,E.positionStart+E.positionCount),B.needsUpdate=!0;var x=s.defaultManager.wireframeManager.wireframeLineSegment;if(x)for(var S=x._indicesGroup[A],w=0,b=S.length;b>w;w+=1){var U=S[w];if(S[w].nodeId===n.nodeId){var F=x.geometry.attributes.position;r&&Tu.applyMatrix4ToBuffer(r,F.array,3*U.positionStart,3*(U.positionStart+U.positionCount)),Tu.applyMatrix4ToBuffer(e,F.array,3*U.positionStart,3*(U.positionStart+U.positionCount)),F.needsUpdate=!0;break}}}}else{var K=null;if(n.mesh instanceof Array)K=n.mesh;else{if(!(n.mesh instanceof H))continue;K=[n.mesh]}for(var Q=0,R=K.length;R>Q;Q+=1){var T=K[o];n.isExternalComponent&&(T.userData.originalMatrix||(T.userData.originalMatrix=T.matrix.clone()));var k=T.matrixAutoUpdate;T.matrixAutoUpdate=!1,T.matrix.copy(n.matrix),T.applyMatrix4(new M),T.matrixAutoUpdate=k,T.updateMatrixWorld(!0)}var D=n.wireframeMeshs;if(D)for(var L=0,N=D.length;N>L;L+=1){var O=D[L];k=O.matrixAutoUpdate,O.matrixAutoUpdate=!1,O.matrix.copy(n.matrix),O.updateMatrixWorld(!0),O.matrixAutoUpdate=k}}if(void 0===t&&(t=!0),t){if(a)a.calculateBoundingBox();else{var V=this.externalComponentManager;V&&V.getNodeInfosByUserId(A)&&V.calculateBoundingBox()}this.modelManager.updateSceneBoundingBox()}}this.render()},resetComponentMatrix:function(A,e){var t=this.getModelManager().getComponent(A);if(t&&t.length>0)for(var i=0;t.length>i;i+=1){var o=t[i];if(o.transformation){o.matrix.copy(o.transformationOriginalMatrix),o.transformationOriginalBoundingBox&&(o.boundingBox=o.transformationOriginalBoundingBox.clone());var n=(new M).getInverse(o.applyMatrix),r=this.getModelByComponentKey(A);if(o.isBatched){var a=r._getHandler();if(!0===o.instanceOrNot)for(var s=a.instancedManager.meshManager,l=s.getMeshIdByNodeInfo(o),c=s.nodeIdxMapFromUserId[A][l],h=0,d=c.length;d>h;h+=1){var p=c[h],g=s.instanceGeometryMap[l][h],u=g.getAttribute("mcol0"),f=g.getAttribute("mcol1"),m=g.getAttribute("mcol2"),C=g.getAttribute("mcol3"),y=o.matrix;u.array[3*p]=y.elements[0],u.array[3*p+1]=y.elements[1],u.array[3*p+2]=y.elements[2],u.needsUpdate=!0,f.array[3*p]=y.elements[4],f.array[3*p+1]=y.elements[5],f.array[3*p+2]=y.elements[6],f.needsUpdate=!0,m.array[3*p]=y.elements[8],m.array[3*p+1]=y.elements[9],m.array[3*p+2]=y.elements[10],m.needsUpdate=!0,C.array[3*p]=y.elements[12],C.array[3*p+1]=y.elements[13],C.array[3*p+2]=y.elements[14],C.needsUpdate=!0}else{var v=o.mesh;if(!v)continue;var I=o.index,E=v.geometry.attributes.position;n&&(Tu.applyMatrix4ToBuffer(n,E.array,I.positionStart,I.positionStart+I.positionCount),E.needsUpdate=!0);var B=a.defaultManager.wireframeManager.wireframeLineSegment;if(B)for(var x=B._indicesGroup[A],S=0,w=x.length;w>S;S+=1){var b=x[S];if(x[S].nodeId===o.nodeId){var U=B.geometry.attributes.position;n&&(Tu.applyMatrix4ToBuffer(n,U.array,3*b.positionStart,3*(b.positionStart+b.positionCount)),U.needsUpdate=!0);break}}}}else{var F=null;if(o.mesh instanceof Array)F=o.mesh;else{if(!(o.mesh instanceof H))continue;F=[o.mesh]}for(var K=0,Q=F.length;Q>K;K+=1){var R=F[i],T=void 0;if(T=o.isExternalComponent?R.userData.originalMatrix:o.matrix){var k=R.matrixAutoUpdate;R.matrixAutoUpdate=!1,R.matrix.copy(T),R.applyMatrix4(new M),R.matrixAutoUpdate=k,R.updateMatrixWorld(!0),R.userData.originalMatrix=void 0}}var D=o.wireframeMeshs;if(D)for(var L=0,N=D.length;N>L;L+=1){var O=D[L];k=O.matrixAutoUpdate,O.matrixAutoUpdate=!1,O.matrix.copy(o.matrix),O.updateMatrixWorld(!0),O.matrixAutoUpdate=k}}if(void 0===e&&(e=!0),e){if(r)r.calculateBoundingBox();else{var V=this.externalComponentManager;V&&V.getNodeInfosByUserId(A)&&V.calculateBoundingBox()}this.modelManager.updateSceneBoundingBox()}o.transformationOriginalMatrix=void 0,o.transformationOriginalBoundingBox=void 0,o.applyMatrix=void 0,o.transformation=void 0}}this.render()},calculateComponentVolume:function(A){var e=this.modelManager.getComponent(A),t=this.modelManager.getMeshByUserId(A);if(e&&e.length>0){Bh.time("计算体积");for(var i=0,o=0,n=e.length;n>o;o+=1){var r=e[o];if(r.isExternalComponent)for(var a=r.mesh,s=0,l=a.length;l>s;s+=1){var c=a[s].geometry,h=Tu.calculateVolumeOfGeometry(c.attributes.position.array,c.index.array);h&&(i+=h)}else if(t){var d=r.mesh||t[o].mesh;if(d){var p=d.geometry,g=d._indicesGroup;if(g&&!r.instanceOrNot)for(var u=g[A],f=0,m=u.length;m>f;f+=1){var C=u[f],v=Tu.calculateVolumeOfGeometry(p.attributes.position.array,p.index.array,C.indexStart,C.indexCount);v&&(i+=v)}else{var I=Tu.calculateVolumeOfGeometry(p.attributes.position.array,p.index.array);I&&(i+=I)}}}}var E=this.getBoundingBoxByIds([A]),B=new y;return E.getCenter(B),Bh.timeEnd("计算体积"),{volume:i,position:B.toArray()}}},setAxisNetColor:function(A,e){var t=!1,i=this.modelManager;for(var o in i.models){var n=i.models[o];n.axisNetManager&&(n.axisNetManager.setupColor(A,e),t=!0)}t&&this.render(!0)},showAxisNet:function(){var A=!1,e=this.modelManager;for(var t in e.models){var i=e.models[t];i.axisNetManager&&(i.axisNetManager.show(),A=!0)}A&&this.render(!0)},hideAxisNet:function(){var A=!1,e=this.modelManager;for(var t in e.models){var i=e.models[t];i.axisNetManager&&(i.axisNetManager.hide(),A=!0)}A&&this.render(!0)},enableAxisNetStayInFront:function(){var A=!1,e=this.modelManager;for(var t in e.models){var i=e.models[t];i.axisNetManager&&(i.axisNetManager.enableStayInFront(),A=!0)}A&&this.render(!0)},disableAxisNetStayInFront:function(){var A=!1,e=this.modelManager;for(var t in e.models){var i=e.models[t];i.axisNetManager&&(i.axisNetManager.disableStayInFront(),A=!0)}A&&this.render(!0)},enableSnap:function(A){this.controlManager.getToolByName(Pc.PICK_BY_RECT).enableSnap(A)},pickToPoint:function(A,e){return this.controlManager.control.pickHelper.pickToPoint(A,e)},getViewportSize:function(){return this.rendererManager.getRendererSize()},getRenderer:function(){return this.rendererManager.getRenderer()},getExternalComponentManager:function(){return this.externalComponentManager||(this.externalComponentManager=new Vy(this)),this.externalComponentManager},addExternalObject:function(A,e,t,i){A=A||uh.createUUID();this.getExternalComponentManager().addNode(A,e,t,i),this.render()},addExternalObjects:function(A,e,t){for(var i=this.getExternalComponentManager(),o=[],n=0;A.length>n;n+=1){var r=uh.createUUID();i.addNode(r,A[n],e,t),o.push(r)}return this.render(),o},removeExternalObjectByName:function(A){this.getExternalComponentManager().removeNodeById(A),this.render()},clearExternalObjects:function(){this.getExternalComponentManager().clearNodes(),this.render()},getExternalObjectByName:function(A){return this.getExternalComponentManager().getNodeById(A)},getAllExternalObjects:function(){return Object.values(this.getExternalComponentManager().getAllNodes())},getModelFloorMapsByKey:function(A,e){var t=this.modelManager.models[A];if(t&&t.floorManager){if("function"!=typeof e)return t.floorManager.getMimiMaps();t.floorManager.getServerMimiMaps(e)}},getReceivingPlane:function(A){return this.getScene().getReceivingPlane(A)},enableShadow:function(A){this.getReceivingPlane(A),A?this.getScene().lightManager.enableShadowLight():this.getScene().lightManager.disableShadowLight();var e=this.getRenderer();e.shadowMap.enabled=A,e.shadowMap.type=2,e.shadowMap.autoUpdate=!1,e.shadowMap.needsUpdate=!0;for(var t=this.getScene().getGroups(),i=this.getScene(),o=0;t.length>o;o+=1){var n=i.getGroupType(t[o].name);n.groupType!==gp.IBLCUBE&&("ClipPlane"!==n.groupType&&this.traverseGroupEnableShadow(t[o],A))}this.updateShadowLight()},updateShadowLight:function(){this.getScene().lightManager.updateShadowLight(),this.getRenderer().shadowMap.needsUpdate=!0,this._render(),this.rendererManager.renderer.setClearColor(0,0),this._render()},traverseGroupEnableShadow:function(A,e){var t=this;this.getRenderer();!function(A){if(A instanceof Ue){var i=A.material;if(i instanceof Array){var o=null;if("PhoneLightingMaterial"===i[0].type)return;A.castShadow=e,A.receiveShadow=e;for(var n=0;i.length>n;n+=1)i[n].needsUpdate=!0,o=i[n].defines;A.customDepthMaterial=e&&o&&o.hasOwnProperty("USE_INSTANCE")?t.getInstanceDepthMaterial():void 0}else{if("PhoneLightingMaterial"===i.type)return;A.castShadow=e,A.receiveShadow=e,i.needsUpdate=!0;var r=i.defines;A.customDepthMaterial=e&&r&&r.hasOwnProperty("USE_INSTANCE")?t.getInstanceDepthMaterial():void 0,i.needsUpdate=!0}}}(A);for(var i=A.children,o=0,n=i.length;n>o;o+=1)this.traverseGroupEnableShadow(i[o],e)},getInstanceDepthMaterial:function(){if(this.instanceDepthMaterial)return this.instanceDepthMaterial;var A=new Su;return A.depthPacking=3201,this.instanceDepthMaterial=A,this.instanceDepthMaterial},updateShadowMap:function(){4===vc.LightPreset&&(this.getRenderer().shadowMap.needsUpdate=!0)},cloneComponent:function(A){function e(A){for(var e in A)A.hasOwnProperty(e)&&(A[e]instanceof d||A[e]instanceof ut)&&(A[e]=A[e].clone(),A[e].needsUpdate=!0)}var t,i=this.modelManager.getComponent(A),o=new he,n=i[0].model,r=n.materialManager,a=this.getExternalComponentManager(),s=[];if(i[0].isBatched&&!i[0].instanceOrNot)!function(){var A=[],n=[],l=[],c=[],h=[],d=0,p=0,g=[],u=0,f=!0,m=!1,C=void 0;try{for(var y,v=function(){var t,i,a,f,m=y.value,C=m.index,v=m.mesh.geometry,I=m.mesh.geometry.attributes,E=I.position.array.slice(C.positionStart,C.positionStart+C.positionCount),B=I.normal.array.slice(C.positionStart,C.positionStart+C.positionCount),x=void 0;if(I.uv)x=I.uv.array.slice(C.positionStart/3*2,(C.positionStart+C.positionCount)/3*2);else{var S=E.length/3*2;(x=new Array(S)).fill(0,0,S)}var w=void 0;if(I.uv2)w=I.uv2.array.slice(C.positionStart/3*2,(C.positionStart+C.positionCount)/3*2);else{var M=x.length;(w=new Array(M)).fill(0,0,M)}var b=C.positionStart/3,U=v.index.array,F=C.indexCount,K=m.originMId;s.push(K);var Q=Kd.getMaterialParameters(r.getMaterialById(K)),R=Kd.createStandardMaterial(Q);e(R),g.push(R),h.push.apply(h,yc(U.slice(C.indexStart,C.indexStart+C.indexCount).map((function(A){return A-b+p})))),A=(t=A).concat.apply(t,yc(E)),n=(i=n).concat.apply(i,yc(B)),l=(a=l).concat.apply(a,yc(x)),c=(f=c).concat.apply(f,yc(w)),o.groups.push({start:d,count:F,materialIndex:u}),d+=F,p+=C.positionCount/3,u+=1},I=i[Symbol.iterator]();!(f=(y=I.next()).done);f=!0)v()}catch(A){m=!0,C=A}finally{try{f||null==I.return||I.return()}finally{if(m)throw C}}o.setAttribute("position",new YA(new Float32Array(A),3)),o.setAttribute("uv",new YA(new Float32Array(l),2)),o.setAttribute("uv2",new YA(new Float32Array(c),2)),o.setAttribute("normal",new YA(new Float32Array(n),3)),o.setIndex(new YA(new Uint32Array(h),1)),t=new Ue(o,g),a.addExternalObject(t)}();else if(i[0].isBatched&&i[0].instanceOrNot)!function(){var i=n._handler.instancedManager.meshManager,r=i.getNodeIdxMapByUserId(A),l=[],c=[],h=[],d=[],p=i.matrixInfoMapFromUserId[A][Object.keys(i.matrixInfoMapFromUserId[A])[0]][0].matrix,g=0,u=0,f=0,m=[],C=0;for(var y in r){var v,I,E,B=i.getInstanceGeometries(y),x=B[0].index.array;if(u=B[0].index.count,l=(v=l).concat.apply(v,yc(B[0].attributes.position.array)),c=(I=c).concat.apply(I,yc(B[0].attributes.normal.array)),B[0].attributes.uv){var S;h=(S=h).concat.apply(S,yc(B[0].attributes.uv.array))}else{var w=2*u,M=new Array(w);M.fill(0,0,w),h=h.concat(M)}d=(E=d).concat.apply(E,yc(x.map((function(A){return A+g})))),g=l.length/3;var b=i.getMaterialIdByMeshId(y),U=i.manager.model.materialManager.getInstanceMaterialById(b)[0],F=Kd.getMaterialParameters(U),K=Kd.createStandardMaterial(F);s.push(b),e(K),m.push(K),o.groups.push({start:f,count:u,materialIndex:C}),f+=u,C+=1}o.setAttribute("position",new YA(new Float32Array(l),3)),o.setAttribute("uv",new YA(new Float32Array(h),2)),o.setAttribute("normal",new YA(new Float32Array(c),3)),o.setIndex(new YA(new Uint32Array(d),1)),(t=new Ue(o,m)).applyMatrix4(p),t.updateMatrixWorld(),a.addExternalObject(t)}();else{var l=n.getModelDescriptor().getNodeInfosByComponentKey(A)[0].originMId;if(s=l,t=i[0].mesh.clone(),Array.isArray(l))t.material=l.map((function(A){var t=r.getMaterialById(A),i=Kd.getMaterialParameters(t),o=Kd.createStandardMaterial(i);return e(o),o}));else{var c=r.getMaterialById(l),h=Kd.getMaterialParameters(c),p=Kd.createStandardMaterial(h);e(p),t.material=p}a.addExternalObject(t)}return t?(t.byClone=!0,t.originMId=s,t.originComponentKey=A,t):null},setComponentsBlink:function(){}}),Object.defineProperties(Gy.prototype,{renderer:{get:function(){return console.warn("EIMMODEL.ViewerImpl: .renderer 现在为 .getRenderer()"),this.getRenderer()}},composer:{get:function(){return console.warn("EIMMODEL.ViewerImpl: .composer 现在为 .rendererManager.composer"),this.rendererManager.composer}}});var Py=function(A){var e=window.performance.timing;Ch.PERFORMANCE>Bh.level||Bh.warn("页面加载时间:",e.domInteractive-e.navigationStart,"ms");var t=mh.detectWebGL();if(1===t){vc.language=mh.language(),H.DefaultUp.set(0,0,1);var i=uh.extend({},{host:"https://bos3d.bimwinner.com",viewport:""},A);this.host=i.host,this.viewerImpl=new Gy;var o=document.getElementById(i.viewport);o.style.position="relative";var n=this;this.getViewerImpl().init(o),vc.EnableViewController&&!mh.isMobileDevice()&&(this.viewController=new lp(this,(function(){return!0})),this.viewController.init(this.getViewerImpl().getDomElement()),this.viewController.render(),this.getViewerImpl().addRenderFinishedListener((function(){n.viewController.render()}))),this.filter=this.getViewerImpl().filter,this.SVGRect=new tp(this),this.SVGRect.creatSVG(),this.viewport=A.viewport,this.viewportDiv=document.getElementById(A.viewport),this.getViewerImpl().modelManager.addEventListener(Rc.ON_LOAD_CONFIG_FINISH,(function(A){Bh.time("模型".concat(A.modelKey,"加载时间"));var e=n.getViewerImpl().getBoundingBox(),t=n.getViewerImpl().getModel(A.modelKey),i=t.getConfig();i.type!==Zc.I_MODEL&&i.type!==Zc.OBJ||n.setLightIntensityFactor(1),op(t.dataVersion,"1.0");var o=e.getCenter(new y),r=e.getSize(new y),a=new y(o.x+r.x,o.y+r.y,o.z+r.z);n.originalView&&vc.UserControlView?n.viewerImpl.lookAt(n.originalView.position,n.originalView.target,n.originalView.up):(n.viewerImpl.lookAt(a,o,n.viewerImpl.camera.up),n.setOriginalView(a,o,n.viewerImpl.camera.up))})),this.getViewerImpl().modelManager.addEventListener(Rc.ON_LOAD_PROGRESS,(function(A){Bh.log(A.progress)})),this.getViewerImpl().modelManager.addEventListener(Rc.ON_LOAD_COMPLETE,(function(A){Bh.log(A.modelKey," is load "),Bh.timeEnd("模型".concat(A.modelKey,"加载时间"));var e=n.getViewerImpl().getModel(A.modelKey);for(var t in e.floorManager&&vc.EnableCreateMiniMap&&(Bh.time("小地图生成"),e.floorManager.generateMiniMap(n.getViewerImpl()),Bh.timeEnd("小地图生成")),e&&e.getConfig()&&n.getViewerImpl().cameraControl.setSceneUnit(e.getConfig().lengthUnit),bc)if(e&&bc.hasOwnProperty(t)&&!0===bc[t]){var i=t,o=e.getComponentKeysByType(i),r=e.getConfig(),a=[];!r||r.type!==Zc.RVT&&r.type!==Zc.MERGE||(a=e.getComponentKeysByProperty("buildInCategory",i)),n.deactivateComponentsByKey(o.concat(a))}n.getViewerImpl().getBoundingBox().isEmpty()&&(n.getViewerImpl().zoomAll(),n.getViewerImpl().goToInitialView())})),this.getViewerImpl().modelManager.addEventListener(Rc.ON_CLICK_PICK,(function(A){if(A.intersectInfo){Bh.log("构件key",A.intersectInfo.selectedObjectId);var e=A.intersectInfo.object;e&&Bh.log(e)}})),this.getViewerImpl().getControlManager().addEventListener(Rc.ON_CONTROL_EXIST,(function(A){if(A.name===Pc.CLIP_BY_BOX)for(var e=n.getViewerImpl().modelManager.getModelKeys(),t=0,i=e.length;i>t;t+=1){var o=n.getViewerImpl().modelManager.getModel(e[t]);if(o)for(var r=0;6>r;r+=1){o._getNodeGroup("sectionFill_"+r).clear()}}})),this.viewerImpl.modelManager.addEventListener(Rc.ON_CONTROL_UPDATEUI,(function(A){n.SVGRect.creatRect(A)}))}else mh.showWebGLMessage(t)};Object.assign(Py.prototype,Ld.prototype),Object.assign(Py.prototype,{constructor:Py,addView:function(A,e,t,i){this.getViewerImpl().load({serverUrl:this.host,modelKey:A,dbName:e,token:t,share:i||"",notifyProgress:!0,type:A.startsWith("G")?"GIS":""})},addViews:function(A,e,t,i){vc.AutoMergeComponent=!1,vc.MergeComponent=!0,this.getViewerImpl().load({serverUrl:this.host,modelKey:A,modelKeys:e,dbName:t,token:i,notifyProgress:!0})},addTilesView:function(A,e,t){this.getViewerImpl().loadTiles({serverUrl:this.host,modelKey:A,dbName:e,token:t,notifyProgress:!0})},addTilesViewFromLocal:function(A){this.getViewerImpl().loadTiles({serverUrl:".",modelKey:A,dbName:"",token:"",notifyProgress:!0,offLine:!0})},getSSE:function(A){var e=this.getBoxByComponentsKey(A),t=this.viewerImpl.camera,i=e.getCenter(new y),o=e.getSize().length(),n=this.viewerImpl.getRenderer().domElement.width,r=t.fov;return o*n/(2*t.position.clone().sub(i).length()*Math.tan(r/2))},removeView:function(A){return this.getViewerImpl().unload(A)},removeAllView:function(){this.getViewerImpl().unloadAll()},addViewFromLocal:function(A){this.getViewerImpl().load({serverUrl:".",modelKey:A,dbName:"",notifyProgress:!0,offLine:!0})},loadComponents:function(A,e,t,i){Array.isArray(A)||(A=[A]),this.getViewerImpl().loadGeopkOnDemand(A,e,t,i)},unloadCompomemts:function(A,e){Array.isArray(A)||(A=[A]),this.getViewerImpl().unloadGeopkOnDemand(A,e)},getOriginalView:function(){return this.originalView},setOriginalView:function(A,e,t){A&&e&&t?(this.originalView||(this.originalView={}),this.originalView.position=Array.isArray(A)?new y(A[0],A[1],A[2]):new y(A.x,A.y,A.z),this.originalView.target=Array.isArray(e)?new y(e[0],e[1],e[2]):new y(e.x,e.y,e.z),this.originalView.up=Array.isArray(t)?new y(t[0],t[1],t[2]):new y(t.x,t.y,t.z)):this.originalView=void 0},getViewerImpl:function(){return this.viewerImpl},getAllComponents:function(){return this.getViewerImpl().getModelManager().getAllComponents()},getAllComponentsKey:function(){return this.getViewerImpl().getModelManager().getAllComponentsKey()},getComponentsKeyByModelKey:function(A){return this.getViewerImpl().getModelManager().getComponentsKeyByModelKey(A)},getComponentKeysByName:function(A){return this.getViewerImpl().getModelManager().getComponentKeysByName(A)},getComponentKeysByType:function(A){return this.getViewerImpl().getModelManager().getComponentKeysByType(A)},getComponentKeysByProperty:function(A,e){return this.getViewerImpl().getModelManager().getComponentKeysByProperty(A,e)},getScreenCoordFromSceneCoordAndCheckCover:function(A){return this.getViewerImpl().getScreenCoordFromSceneCoordAndCheckCover(A)},pickByPoint:function(A){return this.getViewerImpl().pickByPoint(A)},calculateMinDistance:function(A,e){return this.getViewerImpl().calculateMinDistance(A,e)},otherObjectsInScene:function(A){},getComponentsByKey:function(A){Array.isArray(A)||(A=[A]);var e=[],t=this;return A.forEach((function(A){var i=t.getViewerImpl().modelManager.getComponent(A);if(i){var o={};o[A]=i,e.push(o)}})),e},getModelFloorMapsByKey:function(A,e){var t=this.getViewerImpl().getModel(A);if(!t)return{msg:"没有此模型"};var i=t.getConfig().type;return i!==Zc.RVT&&i!==Zc.IFC&&i!==Zc.MERGE?{msg:"该模型不支持小地图"}:t.floorManager?this.getViewerImpl().getModelFloorMapsByKey(A,e):{msg:"该模型不支持小地图"}},showComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().getFilter().showByIds(t),this.render()},showComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().showByIds(A),this.render()},hideComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.filter.hideByIds(t),this.render()},hideComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.filter.hideByIds(A),this.render()},activateComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.filter.activateByIds(A),this.render()},deactivateComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.filter.deactivateByIds(A),this.render()},hideAllComponents:function(){this.getViewerImpl().getFilter().hideAll(),this.render()},showAllComponents:function(){this.getViewerImpl().getFilter().showAll(),this.render()},highlightComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().setSelection(t),this.render()},highlightComponentsByKey:function(A,e){Array.isArray(A)||(A=[A]),this.getViewerImpl().setSelection(A);var t=e;"boolean"!=typeof e&&(t=!0),t&&this.render()},addHighlightComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().addToSelection(A),this.render()},closeHighlightComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().removeFromSelection(t),this.render()},closeHighlightComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().removeFromSelection(A),this.render()},getHighlightComponentsKey:function(){return this.getViewerImpl().getSelection()},clearHighlightList:function(){this.getViewerImpl().clearSelection(),this.render()},getHighlightComponents:function(){var A=this.getHighlightComponentsKey(),e=[],t=this;return A.forEach((function(A){var i=t.getViewerImpl().modelManager.getComponent(A);if(i){var o={};o[A]=i,e.push(o)}})),e},setComponentsOpacityState:function(A,e){Array.isArray(A)||(A=[A]),e===Oc.TRANSLUCENT?this.transparentComponentsByKey(A):e===Oc.OPAQUE&&this.closeTransparentComponentsByKey(A)},transparentComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().getFilter().makeTranslucentByIds(t),this.render()},transparentComponentsByKey:function(A,e){Array.isArray(A)||(A=[A]);var t=this.getViewerImpl().getFilter();if(e){var i=this.getComponentsByKey(A);if(Array.isArray(A)&&i.length!==A.length){i=[];var o=!0,n=!1,r=void 0;try{for(var a,s=A[Symbol.iterator]();!(o=(a=s.next()).done);o=!0){var l=this.getComponentsByKey(a.value);l.length>0&&i.push(l[0])}}catch(A){n=!0,r=A}finally{try{o||null==s.return||s.return()}finally{if(n)throw r}}}t.transparentComponentsByKey(this.getViewerImpl().getModelManager(),i,e)}else t.makeTranslucentByIds(A);this.render()},transparentOtherComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().makeTranslucentOthersByIds(A),this.render()},transparentAllComponents:function(){this.getViewerImpl().getFilter().makeTranslucentOthersByIds([]),this.render()},closeTransparentComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().getFilter().opaqueByIds(t),this.render()},closeTransparentComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().opaqueByIds(A),this.render()},clearTransparentList:function(){this.clearComponentTransparentList(),this.clearModelTransparentList()},clearComponentTransparentList:function(){var A=this.getViewerImpl().getFilter();A.opaqueAll(),A.opaqueByIds([]),this.render()},colorfulComponentsById:function(A,e,t,i){Array.isArray(A)||(A=[A]);for(var o=[],n=0;A.length>n;n+=1)o[n]=e+"_"+A[n];var r=this.getViewerImpl().getFilter(),a={};a.color=t,"number"==typeof i&&(a.opacity=i),r.addToOverrideListByColor(o,a),this.render()},colorfulComponentsByKey:function(A,e,t){Array.isArray(A)||(A=[A]);var i=this.getViewerImpl().getFilter(),o={};o.color=e,"number"==typeof t&&(o.opacity=t),i.addToOverrideListByColor(A,o),this.render()},setComponentsMaterialByKey:function(A,e,t,i){var o=this.getComponentsByKey(A);if(Array.isArray(e)){var n=0,r=!0,a=!1,s=void 0;try{for(var l,c=e[Symbol.iterator]();!(r=(l=c.next()).done);r=!0){var h=l.value;""===h.name&&(h.name="custMat_"+(new Date).getTime()+"_"+n,n+=1)}}catch(A){a=!0,s=A}finally{try{r||null==c.return||c.return()}finally{if(a)throw s}}}else""===e.name&&(e.name="custMat_"+(new Date).getTime());var d=this.getViewerImpl().getFilter().addToOverrideListByCustomerMaterial(this.getViewerImpl().getModelManager(),o,e,t,i);return this.render(),d},closeMaterialByKey:function(A){var e=this;Array.isArray(A)?A.forEach((function(A){var t=e.getComponentsByKey(A)[0][A][0];if(!t.isBatched&&!t.instanceOrNot&&!t.RenderTypeChange){var i=t.originMId;e.getComponentsByKey(A)[0][A][0].materialId=Array.isArray(i)?[].concat(i):i}e.closeColorfulComponentsByKey(A)})):this.closeColorfulComponentsByKey(A)},closeColorfulComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().getFilter().addToOverrideListByColor(t,null),this.render()},closeColorfulComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().addToOverrideListByColor(A,null),this.render()},clearColorfulList:function(){this.getViewerImpl().getFilter().clearAllOverrideList(),this.render()},wireFrameComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().getFilter().addToWireframeByWireframe(t,{wireframe:!0}),this.render()},wireFrameComponentsByKey:function(A){Array.isArray(A)||(A=[A]);this.getViewerImpl().getFilter().addToWireframeByWireframe(A,{wireframe:!0}),this.render()},closeWireFrameComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().getFilter().addToWireframeByWireframe(t,null),this.render()},closeWireFrameComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().addToWireframeByWireframe(A,null),this.render()},clearWireframeList:function(){this.getViewerImpl().getFilter().clearAllWireframeList(),this.render()},isolateComponentsById:function(A,e,t){Array.isArray(A)||(A=[A]);for(var i=[],o=0;A.length>o;o+=1)i[o]=e+"_"+A[o];this.getViewerImpl().getFilter().setIsolateList(i,!1!==t),this.render()},isolateComponentsByKey:function(A,e){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().setIsolateList(A,!1!==e),this.render()},closeIsolateComponentsById:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.getViewerImpl().getFilter().removeFromIsolateList(t),this.render()},closeIsolateComponentsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().removeFromIsolateList(A),this.render()},clearIsolation:function(){this.getViewerImpl().getFilter().clearIsolation()},showModelsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().showModelByIds(A),this.render()},hideModelsByKey:function(A){Array.isArray(A)||(A=[A]),this.filter.hideModelByIds(A),this.render()},hideAllModels:function(){this.getViewerImpl().getFilter().hideAllModel(),this.render()},showAllModels:function(){this.getViewerImpl().getFilter().showAllModel(),this.render()},highlightModelsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().setModelSelection(A),this.render()},addHighlightModelsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().addToModelSelection(A),this.render()},closeHighlightModelsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().removeFromModelSelection(A),this.render()},getHighlightModelsKey:function(){return this.getViewerImpl().getModelSelection()},clearModelHighlightList:function(){this.getViewerImpl().clearModelSelection(),this.render()},transparentModelsByKey:function(A,e,t){var i=this;Array.isArray(A)||(A=[A]),this.closeTransparentModelsByKey(A);var o=this.getViewerImpl().getFilter();e?A.forEach((function(A){o.transparentModelOrigMatByKey(i.getViewerImpl().getModelManager(),A,t)})):o.makeModelTranslucentByIds(A),this.render()},transparentOtherModelsByKey:function(A,e,t){Array.isArray(A)||(A=[A]);for(var i=Object.keys(this.viewerImpl.modelManager.models),o=[],n=0;i.length>n;n++){var r=i[n];A.includes(r)||o.push(r)}(this.closeTransparentModelsByKey(o),e)?this.transparentModelsByKey(o,e,t):this.getViewerImpl().getFilter().makeTranslucentOthersModelByIds(A);this.render()},transparentAllModels:function(A,e){if(this.clearModelTransparentList(),A){var t=Object.keys(this.viewerImpl.modelManager.models);this.transparentModelsByKey(t,A,e)}else{this.getViewerImpl().getFilter().makeTranslucentOthersModelByIds([])}this.render()},closeTransparentModelsByKey:function(A){var e=this,t=this.getViewerImpl().getFilter();Array.isArray(A)||(A=[A]),A.forEach((function(A){t.closeOrigMatModelTransparent(e.viewerImpl.modelManager,A)})),t.opaqueModelByIds(A),this.render()},clearModelTransparentList:function(){var A=this,e=this.getViewerImpl().getFilter();Object.keys(this.viewerImpl.modelManager.models).forEach((function(t){e.closeOrigMatModelTransparent(A.viewerImpl.modelManager,t)})),e.opaqueAllModel(),e.opaqueModelByIds([]),this.render()},colorfulModelsByKey:function(A,e,t){Array.isArray(A)||(A=[A]);var i=this.getViewerImpl().getFilter(),o={};o.color=e,"number"==typeof t&&(o.opacity=t),i.addToModelOverrideListByColor(A,o),this.render()},closeColorfulModelsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().addToModelOverrideListByColor(A,null),this.render()},clearModelColorfulList:function(){this.getViewerImpl().getFilter().clearModelAllOverrideList(),this.render()},isolateModelsByKey:function(A,e){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().setModelIsolateList(A,!1!==e),this.render()},closeIsolateModelsByKey:function(A){Array.isArray(A)||(A=[A]),this.getViewerImpl().getFilter().removeModelFromIsolateList(A),this.render()},clearModelIsolation:function(){this.getViewerImpl().getFilter().clearModelIsolation(),this.render()},setModelMatrix:function(A,e){this.getViewerImpl().setModelMatrix(e,A)},getModelMatrix:function(A){return this.getViewerImpl().getModelMatrix(A)},disableComponentsSelectionByKey:function(A){Array.isArray(A)||(A=[A]),this.filter.addToFrozenList(A)},enableComponentsSelectionByKey:function(A){Array.isArray(A)||(A=[A]),this.filter.removeFromFrozenList(A)},clearDisableSelectionList:function(){this.filter.clearFrozen()},overturnYAndZaxis:function(A){this.getViewerImpl().overturnYAndZaxis(A),this.render()},translateModel:function(A){this.getViewerImpl().translateModel(A)},rotateModel:function(A){this.getViewerImpl().rotateModel(A)},scaleModel:function(A){this.getViewerImpl().scaleModel(A)},modelsExplosion:function(A){for(var e={modelKey:[],coefficientX:1,coefficientY:1,coefficientZ:1,center:this.getViewerImpl().getScene().getBoundingBoxWorld().getCenter(new y).toArray()},t=uh.extend(!0,{},e,A),i=Array.isArray(t.modelKey)?t.modelKey:[t.modelKey],o=0;i.length>o;o+=1){var n=this.getViewerImpl().getModel(i[o]);n&&n.explosion(t)}this.getViewerImpl().getModelManager().updateSceneBoundingBox(),this.render()},closeModelsExplosion:function(A){var e=Array.isArray(A)?A:[A];this.modelsExplosion({modelKey:e}),this.render()},componentsExplosion:function(A){var e={componentKey:[],coefficientX:1,coefficientY:1,coefficientZ:1,offsetX:0,offsetY:0,offsetZ:0,center:this.getViewerImpl().getScene().getBoundingBoxWorld().getCenter(new y).toArray()},t=uh.extend(!0,{},e,A),i=this.getViewerImpl().getModelManager();i.componentsExplosion(t),i.updateSceneBoundingBox(),this.render()},closeComponentsExplosion:function(A){var e=Array.isArray(A)?A:[A];this.getViewerImpl().getModelManager().componentsExplosion({componentKey:e}),this.render()},canFloorExplosion:function(){return this.getViewerImpl().getModelManager().canFloorExplosion()},floorExplosion:function(A){return!!this.getViewerImpl().getModelManager().floorExplosion(A)&&(this.render(),!0)},closeFloorExplosion:function(){var A=this.getViewerImpl().getModelManager();A.closeFloorExplosion(),A.updateSceneBoundingBox(),this.render()},componentApplyMatrix:function(A,e){return!(!e||!e.isMatrix4)&&(this.getViewerImpl().componentApplyMatrix2(A,e),this.render(),!0)},getMatrix4FromEuler:function(A,e,t){var i=0,o=0,n=0;Array.isArray(A)?(i=A[0],o=A[1],n=A[2]):(i=A.x,o=A.y,n=A.z);var r=e||[0,0,0],a=0,s=0,l=0;Array.isArray(r)?(a=r[0],s=r[1],l=r[2]):(a=r.x,s=r.y,l=r.z);var c=new M;c.setPosition(-a,-s,-l);var h=new M,d=new F(i,o,n,t||"XYZ");h.makeRotationFromEuler(d);var p=new M;return p.setPosition(a,s,l),p.multiply(h).multiply(c),p},isolateComponentsByIdForJDS:function(A,e){Array.isArray(A)||(A=[A]);for(var t=[],i=0;A.length>i;i+=1)t[i]=e+"_"+A[i];this.filter.addToIsolateList(Nc.HIDDEN_OTHERS,t);for(var o=this.getViewerImpl().modelManager.getScene().pool._pool,n=0;o.length>n;n+=1){o[n].visible=!1;for(var r=0;t.length>r;r+=1)o[n].key===t[r]&&(o[n].visible=!0)}return this.render(),!0},sortComponentsById:function(A,e,t){Array.isArray(A)||(A=[A]);for(var i=this.getViewerImpl().getModel(e),o=[],n=0;A.length>n;n+=1)o[n]=e+"_"+A[n];return i?i.getComponentKeysByTypeFromList(o,t):[]},sortComponentsByKey:function(A,e){return Array.isArray(A)||(A=[A]),this.getViewerImpl().modelManager.getComponentKeysByTypeFromList(A,e)},conditionSortComponentsById:function(A,e,t,i,o){var n=this.filter.setConditions(A,e);Array.isArray(t)||(t=[t]);for(var r=[],a=0;t.length>a;a+=1)r[a]=i+"_"+t[a];var s=this.getComponentsByKey(r),l=[];if(null!==n)switch(A){case 0:for(var c=0;s.length>c;c+=1)n.match(s[c])&&l.push(s[c].key);this.isolateComponentsByKey(l);break;case 1:for(var h=0;s.length>h;h+=1)n.match(s[h])&&l.push(s[h].key);var d=this.otherObjectsInScene(l);this.transparentComponentsByKey(d,.5,!1);break;case 2:for(var p=0;s.length>p;p+=1)null!==n.getMatchItem(s[p])&&l.push(s[p].key);!0===o.highLight?this.highlightComponentsByKey(l):this.colorfulComponentsByKey(l,o.color)}return l},conditionSortComponentsByKey:function(A,e,t,i){var o=this.filter.setConditions(A,e);Array.isArray(t)||(t=[t]);var n=this.getComponentsByKey(t),r=[];if(null!==o)switch(A){case 0:for(var a=0;n.length>a;a+=1)o.match(n[a])&&r.push(n[a].key);this.isolateComponentsByKey(r);break;case 1:for(var s=0;n.length>s;s+=1)o.match(n[s])&&r.push(n[s].key);var l=this.otherObjectsInScene(r);this.transparentComponentsByKey(l,.5,!1);break;case 2:for(var c=0;n.length>c;c+=1)null!==o.getMatchItem(n[c])&&r.push(n[c].key);!0===i.highLight?this.highlightComponentsByKey(r):this.colorfulComponentsByKey(r,i.color)}return r},resetScene:function(A){if(A=A||{},this.getViewerImpl().getModelManager().dispatchEvent({type:Rc.BEFORE_RESETSCENE,data:A}),uh.isEmptyObject(A)){this.clearIsolation(),this.clearModelIsolation(),this.clearHighlightList(),this.clearModelHighlightList(),this.showAllComponents(),this.showAllModels(),this.clearWireframeList(),this.clearTransparentList(),this.clearModelTransparentList(),this.clearColorfulList(),this.clearModelColorfulList();var e=this.viewerImpl.modelManager.scene.getBoundingBox(),t=e.getCenter(new y),i=e.getSize(new y),o=new y(t.x+i.x,t.y+i.y,t.z+i.z);this.originalView?this.viewerImpl.lookAt(this.originalView.position,this.originalView.target,this.originalView.up):this.viewerImpl.lookAt(o,t,new y(0,0,1))}else if(A.visible&&(this.clearIsolation(),this.clearModelIsolation(),this.showAllComponents(),this.showAllModels()),A.selected&&(this.clearHighlightList(),this.clearModelHighlightList()),A.transparent&&(this.clearTransparentList(),this.clearModelTransparentList()),A.wireframed&&this.clearWireframeList(),A.colorfully&&(this.clearColorfulList(),this.clearModelColorfulList()),A.view)if(this.originalView)this.viewerImpl.lookAt(this.originalView.position,this.originalView.target,this.originalView.up);else{var n=this.viewerImpl.modelManager.scene.getBoundingBox(),r=n.getCenter(new y),a=n.getSize(new y),s=new y(r.x+a.x,r.y+a.y,r.z+a.z);this.viewerImpl.lookAt(s,r,new y(0,0,1))}this.getViewerImpl().getModelManager().dispatchEvent({type:Rc.AFTER_RESETSCENE,data:A}),this.render()},getScreenCoordFromSceneCoord:function(A){return this.getViewerImpl().getScreenCoordFromSceneCoord(A)},getWorldPositionFromLocalPositionByModelKey:function(A,e){var t=this.getModelMatrix(e);if(t){if(A.isVector3){var i=A.clone();return i.applyMatrix4(t),i.toArray()}if(Array.isArray(A)){var o=(new y).fromArray(A);return o.applyMatrix4(t),o.toArray()}}else Bh.error("模型key无效")},getLocalPositionFromWorldPositionByModelKey:function(A,e){var t=this.getModelMatrix(e);if(t){var i=(new M).getInverse(t);if(A.isVector3){var o=A.clone();return o.applyMatrix4(i),o.toArray()}if(Array.isArray(A)){var n=(new y).fromArray(A);return n.applyMatrix4(i),n.toArray()}}else Bh.error("模型key无效")},getWorldPositionListFromLocalPositionListByModelKey:function(A,e){var t=this.getModelMatrix(e);if(t){for(var i=[],o=0,n=A.length;n>o;o+=1){var r=A[o];if(r.isVector3){var a=r.clone();a.applyMatrix4(t),i.push(a.toArray())}else if(Array.isArray(r)){var s=(new y).fromArray(r);s.applyMatrix4(t),i.push(s.toArray())}}return i}Bh.error("模型key无效")},getLocalPositionListFromWorldPositionListByModelKey:function(A,e){var t=this.getModelMatrix(e);if(t){for(var i=(new M).getInverse(t),o=[],n=0,r=A.length;r>n;n+=1){var a=A[n];if(a.isVector3){var s=a.clone();s.applyMatrix4(i),o.push(s.toArray())}else if(Array.isArray(a)){var l=(new y).fromArray(a);l.applyMatrix4(i),o.push(l.toArray())}}return o}Bh.error("模型key无效")},getWorldPositionArrayFromLocalPositionArrayByModelKey:function(A,e){var t=this.getModelMatrix(e);if(t){for(var i=[],o=0,n=A.length;n>o;o+=3){var r=(new y).fromArray(A,o);r.applyMatrix4(t),i.push.apply(i,yc(r.toArray()))}return i}Bh.error("模型key无效")},getLocalPositionArrayFromWorldPositionArrayByModelKey:function(A,e){var t=this.getModelMatrix(e);if(t){for(var i=(new M).getInverse(t),o=[],n=0,r=A.length;r>n;n+=3){var a=(new y).fromArray(A,n);a.applyMatrix4(i),o.push.apply(o,yc(a.toArray()))}return o}Bh.error("模型key无效")},render:function(){this.getViewerImpl().render()},syncRender:function(){this.getViewerImpl()._render()},resize:function(A,e){this.getViewerImpl().resize(A,e)},autoResize:function(){this.getViewerImpl().resize(window.innerWidth-5,window.innerHeight-5)},setSceneBackGroundColor:function(A,e){this.getViewerImpl().setBackgroundColor(new Xh(A,e))},resetSceneBackgroundColor:function(){this.getViewerImpl().resetBackgroundColor()},getComponentsAttributeById:function(A,e,t){this.getComponentsAttributeByKey(e+"_"+A,t)},getComponentsAttributeByKey:function(A,e){var t=this.getViewerImpl().getModelByComponentKey(A);if(t){if(t.offLine){if(t.attributes&&t.attributes[A])return void e({attribute:t.attributes[A]});e(null)}_d({type:"GET",url:(t.loader.url.serverUrl||this.host)+"/api/"+t.projectKey+"/components?componentKey="+A+(""===t.shareKey?"":"&share="+t.shareKey),headers:{Authorization:t.accessToken},success:function(A){try{A=JSON.parse(A)}catch(A){Bh.log("解析属性失败")}e("SUCCESS"===A.code?A.data:null)},error:function(A){e(null)}})}else e(null)},mergeMesh:function(A,e){var t=this.getViewerImpl().modelManager.getModel(e);if(!t)return null;var i=new ep("mergeGroup");i.modelKey=e;for(var o=new he,n=[],r=[],a=[],s=[],l=[],c=[],h=t.cache,d=[],p=[],g=null,u=0,f=0;A.length>f;f+=1)if(t.cache.components.hasOwnProperty(A)){u+=1;var m={},C=r.length,y=n.length/3;m.start=C;var v=l.length,I=t.cache.components[A],E=h.geometries[I.geoId];if(!E)continue;var B=E.clone(),x=new M;x.fromArray(I.matrix);var S=B.attributes;B.applyMatrix(x);for(var w=0;S.position.array.length>w;w+=1)n.push(S.position.array[w]);for(var b=0;S.normal.array.length>b;b+=1)s.push(S.normal.array[b]);if(S.uv)for(var U=0;S.uv.array.length>U;U+=1)a.push(S.uv.array[U]);for(var F=0;B.index.array.length>F;F+=1)r.push(B.index.array[F]+y);if(B.groups.length>0)for(var K=0;B.groups.length>K;K+=1){var Q={};Q.start=B.groups[K].start+C,Q.count=B.groups[K].count,-1!==B.groups[K].materialIndex&&(Q.materialIndex=B.groups[K].materialIndex+v),c.push(Q)}else{var R={};R.start=C,R.count=B.index.count,R.materialIndex=v,c.push(R)}var T=h.materials[I.matId];if(!T)continue;for(F=0;T.materials.length>F;F+=1)l.push(T.materials[F]);if(m.end=r.length/3,m.guid=I.guid,u>vc.MaxMergeCount){if(u=0,o.setAttribute("position",new YA(new Float32Array(n),3)),o.setAttribute("normal",new YA(new Float32Array(s),3)),o.setAttribute("uv",new YA(new Float32Array(a),2)),d=[],Array.fill)d=Array(n.length).fill(1);else for(var k=0;n.length>k;k+=1)d.push(1);p=new Float32Array(d),o.setAttribute("color",new YA(p,3,!0)),o.setIndex(r),o.groups=c,g=new Ue(o,l),i.add(g),o=new he,n=[],r=[],a=[],s=[],l=[],c=[]}}if(o.setAttribute("position",new YA(new Float32Array(n),3)),o.setAttribute("normal",new YA(new Float32Array(s),3)),o.setAttribute("uv",new YA(new Float32Array(a),2)),d=[],Array.fill)d=Array(n.length).fill(1);else for(k=0;n.length>k;k+=1)d.push(1);return p=new Float32Array(d),o.setAttribute("color",new YA(p,3,!0)),o.setIndex(r),o.groups=c,g=new Ue(o,l),i.add(g),d=null,n=null,r=null,a=null,s=null,l=null,c=null,i},setComponentPositionByKey:function(A,e){this.getViewerImpl().setComponentPositionByKey(A,e),this.render()},setComponentPositionById:function(A,e,t){},getBoxByComponentsKey:function(A){return Array.isArray(A)||(A=[A]),this.getViewerImpl().getBoundingBoxByIds(A)},getAttributeByComponentKey:function(){},zoomToBox:function(A,e,t){this.getViewerImpl().zoomToBox(A,e,t)},zoomIn:function(A,e,t){this.getViewerImpl().zoomIn(A,e,t)},zoomOut:function(A,e,t){this.getViewerImpl().zoomOut(A,e,t)},flyToStandardView:function(A,e,t,i){this.getViewerImpl().setStandardView(A,e,t,i)},setStandardViewWithBox:function(A,e,t,i){this.getViewerImpl().setStandardViewWithBox(A,e,t,i)},adaptiveSize:function(){this.getViewerImpl().zoomToSelection()},adaptiveSizeByKey:function(A){Array.isArray(A)||(A=[A]);var e=this.getViewerImpl().getBoundingBoxByIds(A);e&&!e.isEmpty()&&this.getViewerImpl().zoomToBox(e)},flyTo:function(A,e){var t=this;this.getViewerImpl().animator.slerpFlyTo(A,this.viewerImpl,(function(A){t.viewerImpl.cameraControl.update(!0,!0)}),e)},linearFlyTo:function(A,e){var t=this;this.getViewerImpl().animator.linearFlyTo(A,this.viewerImpl,(function(A){t.viewerImpl.cameraControl.update(!0,!0)}),e)},slerpFlyTo:function(A,e){var t=this;this.getViewerImpl().animator.slerpFlyTo(A,this.viewerImpl,(function(A){t.viewerImpl.cameraControl.update(!0,!0)}),e)},setAnimatorDuration:function(A){var e=this.getViewerImpl().animator;return!(!e||"number"!=typeof A)&&(e.setDuration(A),!0)},getAnimatorDuration:function(){var A=this.getViewerImpl().animator;if(A)return A.getDuration()},enableViewController:function(){var A=this;return this.viewController?(this.viewController.enable(),!0):(this.viewController=new lp(this.viewerImpl,(function(){return!0})),this.viewController.init(this.getViewerImpl().getDomElement()),this.viewController.render(),this.getViewerImpl().addRenderFinishedListener((function(){A.viewController.render()})),!0)},disableViewController:function(){return!!this.viewController&&(this.viewController.disable(),!0)},enabledCameraRotateOfVerticalPolarAngle:function(A){this.getViewerImpl().cameraControl.enabledPolar(A),Bh.warn("请改用 lockAxisZ 方法")},lockAxisZ:function(A,e){this.getViewerImpl().lockAxisZ(A,e)},setMinPolarAngle:function(A){this.getViewerImpl().cameraControl.setMinPolarAngle(A),Bh.warn("请改用 lockAxisZ 方法")},setMaxPolarAngle:function(A){this.getViewerImpl().cameraControl.setMaxPolarAngle(A),Bh.warn("请改用 lockAxisZ 方法")},getMinPolarAngle:function(){return this.getViewerImpl().cameraControl.getMinPolarAngle()},getMaxPolarAngle:function(){return this.getViewerImpl().cameraControl.getMaxPolarAngle()},enableRotate:function(A){return jh.NoRotate=!A,!jh.NoRotate},enablePan:function(A){return jh.NoPan=!A,!jh.NoPan},enableZoom:function(A){return jh.NoZoom=!A,!jh.NoZoom},setPointRotateMode:function(A){return this.getViewerImpl().setPointRotateMode(A),jh.RotatePivotMode},rotateCamera:function(A,e){var t=new s,i=new y;Array.isArray(A)?t.set(A[0],A[1]):t.set(A.x,A.y),e?Array.isArray(e)?i.fromArray(e):i.set(e.x,e.y,e.z):i=this.getViewerImpl().getScene().getBoundingBoxWorld().getCenter(i),this.getViewerImpl().rotateCamera(t,i)},requestPointerLock:function(){this.getViewerImpl().getControlManager().requestPointerLock()},translateComponentByKey:function(A,e,t){this.getViewerImpl().translateComponentByKey(A,e,t)},scaleComponentByKey:function(A,e,t){this.getViewerImpl().scaleComponentByKey(A,e,t)},rotateComponentByKey:function(A,e,t){this.getViewerImpl().rotateComponentByKey(A,e,t)},cancelTransformComponent:function(A){this.getViewerImpl().cancelTransformComponent(A)},restoreComponentTransform:function(){this.getViewerImpl().restoreComponentTransform()},getComponentLocalMatrixByKey:function(A){return this.getViewerImpl().getComponentLocalMatrixByKey(A)},getComponentWorldMatrixByKey:function(A){return this.getViewerImpl().getComponentWorldMatrixByKey(A)},setComponentLocalMatrixByKey:function(A,e){return this.getViewerImpl().setComponentLocalMatrixByKey(A,e)},resetComponentMatrix:function(A,e){return this.getViewerImpl().resetComponentMatrix(A,e)},increaseComponentTransformControlSize:function(){this.getViewerImpl().increaseComponentTransformControlSize()},decreaseComponentTransformControlSize:function(){this.getViewerImpl().decreaseComponentTransformControlSize()},setComponentTransformSpaceToLocalSpace:function(){this.getViewerImpl().setComponentTransformSpaceToLocalSpace()},setComponentTransformSpaceToWorldSpace:function(){this.getViewerImpl().setComponentTransformSpaceToWorldSpace()},switchComponentTransformSpaceBetweenLocalAndWorld:function(){this.getViewerImpl().switchComponentTransformSpaceBetweenLocalAndWorld()},showComponentTransformOnAxis:function(A){this.getViewerImpl().showComponentTransformOnAxis(A)},hideComponentTransformOnAxis:function(A){this.getViewerImpl().hideComponentTransformOnAxis(A)},disableComponentTransform:function(){this.getViewerImpl().disableComponentTransform()},enableComponentTransform:function(){this.getViewerImpl().enableComponentTransform()},enableSectionBox:function(){var A=this.getViewerImpl();A.controlManager.enableTool(A,Pc.CLIP_BY_BOX),this._sectionTool=new Ap(A),this._sectionTool.toggle(!0,!0),this._sectionTool.setVisible(!0),this._sectionTool.reset(),this._isSection=!0,this.render()},disableSectionBox:function(){this.getViewerImpl().controlManager.disableTool(Pc.CLIP_BY_BOX),this._isSection=!1,this.render()},resetSectionBox:function(){this._isSection?(this.showSectionBox(),this.setSectionBoxMode(),this._sectionTool.reset("Rotate")):Bh.log(fh[vc.language].SectionBoxLockHint)},setSectionBoxMode:function(A){this._isSection?this._sectionTool.setRotatable("Rotate"===A):Bh.log(fh[vc.language].SectionBoxLockHint)},showSectionBox:function(){this._isSection?(this._sectionTool.setVisible(!0),this.render()):Bh.log(fh[vc.language].SectionBoxLockHint)},hideSectionBox:function(){this._isSection?(this._sectionTool.setVisible(!1),this.render()):Bh.log(fh[vc.language].SectionBoxLockHint)},setSectionBox:function(A){var e=this.getViewerImpl(),t=e.getScene().getClipPlanes(),i=e.worldToDrawing(A.min),o=e.worldToDrawing(A.max);this.enableSectionBox(),t.setSectionBox(i,o),this.hideSectionBox()},getSectionBoxState:function(){if(this._isSection)return this._sectionTool.saveState();Bh.log(fh[vc.language].SectionBoxLockHint)},setSectionBoxState:function(A){this._isSection?(this._sectionTool.loadState(A),this.render()):Bh.log(fh[vc.language].SectionBoxLockHint)},getSceneState:function(){return this.getViewerImpl().getSceneState()},setSceneState:function(A){this.getViewerImpl().setSceneState(A)},getScreenShot:function(A){var e,t,i,o;return A.color&&A.color instanceof Xh&&(e=A.color.getRGBA()),A.width>0&&A.height>0&&(i=A.width,o=A.height),"function"==typeof A.callback&&(t=A.callback),this.getViewerImpl().canvas2image(e,i,o,t)},registerModelEventListener:function(A,e){this.getViewerImpl().registerEventListener(A,e)},unregisterModelEventListener:function(A,e){this.getViewerImpl().unregisterEventListener(A,e)},registerControlEventListener:function(A,e){this.getViewerImpl().registerDomEventListener(A,e)},unregisterControlEventListener:function(A,e){this.getViewerImpl().unregisterDomEventListener(A,e)},registerCameraEventListener:function(A,e){this.getViewerImpl().registerCameraEventListener(A,e)},unregisterCameraEventListener:function(A,e){this.getViewerImpl().unregisterCameraEventListener(A,e)},enableLogarithmicDepthBuffer:function(A){this.getViewerImpl().enableLogarithmicDepthBuffer(A)},setSkyBox:function(A,e,t,i){var o=this.getRootScene();o&&(A?o.setSkyBox(void 0,A,e,t,i):o.background=null)},setDrawingStyle:function(A){this.getViewerImpl().setDrawingStyle(A),this.render()},setExposure:function(A){this.getViewerImpl().setExposureShift(A),this.render()},getBoardlineColor:function(A){var e=this.getViewerImpl().getWireframeColor(A);return new Xh(e,e.opacity)},setBoardlineColor:function(A,e){var t=null;t=A instanceof Xh?A:new Xh(A),this.getViewerImpl().setWireframeColor(t,e)},restoreBoardlineColor:function(A){this.getViewerImpl().restoreWireframeColor(A)},getSelectionBoardlineColor:function(){return this.getViewerImpl().getOutlineEdgeColor()||new Xh},setSelectionBoardlineColor:function(A){var e=null;e=A instanceof Xh?A:new Xh(A),this.getViewerImpl().setOutlineEdgeColor(e)},restoreSelectionBoardlineColor:function(){this.getViewerImpl().restoreOutlineEdgeColor()},getSelectionColor:function(){return this.getViewerImpl().getSelectionColor()},setSelectionColor:function(A){var e=null;e=A instanceof Xh?A:new Xh(A),this.getViewerImpl().setSelectionColor(e)},restoreSelectionColor:function(){this.getViewerImpl().restoreSelectionColor()},setAxisNetColor:function(A,e){this.viewerImpl.setAxisNetColor(A,e)},showAxisNet:function(){this.viewerImpl.showAxisNet()},hideAxisNet:function(){this.viewerImpl.hideAxisNet()},enableAxisNetStayInFront:function(){this.viewerImpl.enableAxisNetStayInFront()},disableAxisNetStayInFront:function(){this.viewerImpl.disableAxisNetStayInFront()},getScene:function(){return this.getViewerImpl().getScene().getExternalScene()},getRootScene:function(){return this.getViewerImpl().getScene()},updateSceneBoundingBox:function(){this.getExternalComponentManager().calculateBoundingBox(),this.getViewerImpl().modelManager.updateSceneBoundingBox()},getCurrentControlName:function(){return this.getViewerImpl().getCurrentControlName()},setControlMode:function(A){this.getViewerImpl().setControlMode(A),this.render()},setControlDefault:function(){this.setControlMode(Gc.PICK)},setZoomSpeed:function(A){this.getViewerImpl().cameraControl.setZoomSpeed(A)},getZoomSpeed:function(){return this.getViewerImpl().cameraControl.getZoomSpeed()},setZoomOutLimitRate:function(A){this.getViewerImpl().cameraControl.setZoomOutLimitRate(A)},getZoomOutLimitRate:function(){return this.getViewerImpl().cameraControl.getZoomOutLimitRate()},setLightIntensityFactor:function(A){this.getViewerImpl().setLightIntensityFactor(A)},enableShadow:function(A){this.getViewerImpl().enableShadow(A)},updateShadowLight:function(){this.getViewerImpl().updateShadowLight()},setShadowLightDir:function(A){var e;A?(e=Array.isArray(A)?(new y).fromArray(A):A.isVector3?A:new y(A.x,A.y,A.z),this.getViewerImpl().getScene().lightManager.shadowLightDir=e):Bh.error("无效参数")},getShadowLightDir:function(){return this.getViewerImpl().getScene().lightManager.shadowLightDir.clone()},getLightDirFromAltitudeAndAzimuth:function(A,e){if(void 0!==A&&void 0!==e)return this.getViewerImpl().getScene().lightManager.getLightDirFromAltitudeAndAzimuth(A,e);Bh.error("参数不合法")},getExternalComponentManager:function(){return this.getViewerImpl().getExternalComponentManager()},addExternalObject:function(A,e,t,i){this.getViewerImpl().addExternalObject(A,e,t,i)},addExternalObjects:function(A,e,t){return this.getViewerImpl().addExternalObjects(A,e,t)},removeExternalObjectByName:function(A){this.getViewerImpl().removeExternalObjectByName(A)},clearExternalObjects:function(){this.getViewerImpl().clearExternalObjects()},getExternalObjectByName:function(A){return this.getViewerImpl().getExternalObjectByName(A)},getAllExternalObjects:function(){return this.getViewerImpl().getAllExternalObjects()},showFPS:function(){this.fpsStats=new $d;var A=this;this.viewportDiv.appendChild(this.fpsStats.dom),this.fpsStats.listener=function(){A.fpsStats.update()},this.getViewerImpl().addRenderListener(this.fpsStats.listener)},hideFPS:function(){this.fpsStats&&(this.viewportDiv.removeChild(this.fpsStats.dom),this.getViewerImpl().removeRenderListener(this.fpsStats.listener)),this.fpsStats=null},cloneComponentByKey:function(A,e){var t=this.getViewerImpl().cloneComponent(A);return"translate"===e?this.translateComponentByKey(t.key):"scale"===e?this.scaleComponentByKey(t.key):"rotate"===e&&this.rotateComponentByKey(t.key),null!==t?{mesh:t,key:t.key}:null},setCloneComponentMaterialsByKey:function(A,e,t){return this.getViewerImpl().getExternalComponentManager().setCloneComponentMaterialsByKey(A,e,t)},createSmoothCurve:function(A){return this.getViewerImpl().catmullRomCurve(A)},destroy:function(){this.getViewerImpl().destroy(),this.viewController&&(this.viewController.destroy(),this.viewController=null)}});var qy,jy,Hy,Yy,Wy=function(A){var e=A.lobibox,t=A.toolId,i=A.Flag,o=document.createElement("div");return o.className="tab-body",o.id="tab-compare-"+t,e.window({title:("old"===t?"新-旧":"旧-新")+"模型对比结果",width:334,height:705,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){var A=document.getElementById("modelCompares"+t);i.modelCompares=!1,A&&(A.style.backgroundColor="",A.querySelector(".yj-icon").className="yj-icon modelCompares-icon")},afterWindowShow:function(){var A=document.getElementById("modelCompares"+t);i.modelCompares=!0,A&&(A.style.backgroundColor="#1f89de",A.querySelector(".yj-icon").className="yj-icon modelCompares-icon active")},content:o})},Jy=function(A){var e=A.lobibox,t=A.toolId,i=document.createElement("div");i.className="tab-body",i.id="tab-compare-properties-"+t;var o=document.createElement("table");o.classList.add("sx-table"),o.classList.add("table-no-top"),i.appendChild(o);var n=document.createElement("thead");o.appendChild(n);var r=document.createElement("tbody");o.appendChild(r);var a=document.createElement("tr");a.className="noprop",r.appendChild(a);var s=document.createElement("td");return s.innerText="尚未选择构件",a.appendChild(s),e.window({title:"属性对比详情",width:500,height:400,closeOnEsc:!1,closeButton:!0,afterWindowHide:function(){},content:i})},zy={AGGREGATION:"AGGREGATION",SEPARATION:"SEPARATION",MULTIWINDOW:"MULTIWINDOW"},Zy={added:"added",deleted:"deleted",changed:"changed",noChanged:"noChanged",oldChanged:"oldChanged",newChanged:"newChanged",oldNoChanged:"oldNoChanged",newNoChanged:"newNoChanged"},Xy={addedColor:{color:32768,opacity:1},deletedColor:{color:16711680,opacity:1},changedColor:{color:16753920,opacity:1}},_y={ACCOUNT_NO_EXIST:"ACCOUNT_NO_EXIST",NO_PERMISSION:"NO_PERMISSION",ON_NETWORK_ERROR:"ON_NETWORK_ERROR",ON_LOAD_INVALID_COMPARES:"ON_LOAD_INVALID_COMPARES",ON_LOAD_INVALID_CONTRASTDETAILS:"ON_LOAD_INVALID_CONTRASTDETAILS",ON_LOAD_INVALID_STATE:"ON_LOAD_INVALID_STATE",ON_LOAD_ERROR:"ON_LOAD_ERROR"},$y=function(A,e){var t=this,i=uh.extend({},{host:"https://bos3d.bimwinner.com",viewport:"",toolbar:!0,coloringImmediately:!1,showPanel:!1},A);this.host=i.host,this.coloringImmediately=i.coloringImmediately,this.domElement=document.getElementById(i.viewport),this.domElement.style.position="relative",this.oldModelKey="",this.newModelKey="",this.displayModel=e||zy.SEPARATION,t.oldNoChangedList=[],t.newNoChangedList=[],t.oldChangedList=[],t.newChangedList=[],t.deletedList=[],t.addedList=[],this.useNewUI=Boolean(window.EIMMODELUI);var o={modelCompares:i.showPanel},n={modelCompares:i.showPanel};switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:if(this.firstViewer=new Py(A),this.secondViewer=this.firstViewer,t.oldLobibox=new bh,t.oldLobibox.viewport=document.querySelector("#"+t.firstViewer.viewport),t.newLobibox=t.oldLobibox,i.toolbar){this.useNewUI?this.firstTool=new window.EIMMODELUI({viewer3D:this.firstViewer,EIM:window.EIM,EIMMODEL:window.EIMMODEL}):(this.firstTool=new Xd(this.firstViewer),this.firstTool.createTool()),this.secondTool=this.firstTool,this.oldCompareWindow=Wy({toolId:"old",lobibox:t.oldLobibox,Flag:o}),this.newCompareWindow=this.oldCompareWindow,this.oldContrastDetailsWindow=Jy({toolId:"old",lobibox:t.oldLobibox}),this.newContrastDetailsWindow=this.oldContrastDetailsWindow,this.oldCompareWindow.setPosition({left:"",right:5,top:60}),this.oldContrastDetailsWindow.setPosition({left:t.domElement.offsetWidth/2+t.domElement.offsetLeft/2-250,top:200}),t.oldContrastDetailsWindow.windowHide();var r=document.createElement("div");r.className="yj-group",this.useNewUI?this.firstTool.plugin.addIcon("topRight",r):this.firstTool.toolbarTop.appendChild(r);var a=document.createElement("button");a.className="yj-but",a.title="模型对比结果",a.id="modelComparesold";var s=document.createElement("div");s.classList.add("yj-icon"),s.classList.add("modelCompares-icon"),a.appendChild(s),r.appendChild(a),a.addEventListener("click",(function(A){o.modelCompares?t.oldCompareWindow.windowHide():(o.modelCompares=!o.modelCompares,t.oldCompareWindow.windowShow())}))}break;case zy.MULTIWINDOW:var l=document.createElement("div");l.setAttribute("id","firstViewer"),l.style.width="50%",l.style.height="100%",l.style.float="left",this.domElement.appendChild(l);var c=document.createElement("div");if(c.setAttribute("id","secondViewer"),c.style.width="50%",c.style.height="100%",c.style.float="left",this.domElement.appendChild(l),this.domElement.appendChild(c),this.firstViewer=new Py({host:this.host,viewport:"firstViewer"}),this.secondViewer=new Py({host:this.host,viewport:"secondViewer"}),t.oldLobibox=new bh,t.oldLobibox.viewport=document.querySelector("#"+t.firstViewer.viewport),t.newLobibox=new bh,t.newLobibox.viewport=document.querySelector("#"+t.secondViewer.viewport),i.toolbar){this.useNewUI?(this.firstTool=new window.EIMMODELUI({viewer3D:this.firstViewer,EIM:window.EIM,EIMMODEL:window.EIMMODEL}),this.secondTool=new window.EIMMODELUI({viewer3D:this.secondViewer,EIM:window.EIM,EIMMODEL:window.EIMMODEL})):(this.firstTool=new Xd(this.firstViewer),this.firstTool.createTool(),this.secondTool=new Xd(this.secondViewer),this.secondTool.createTool()),this.oldCompareWindow=Wy({toolId:"old",lobibox:t.oldLobibox,Flag:o}),this.newCompareWindow=Wy({toolId:"new",lobibox:t.newLobibox,Flag:n}),this.oldContrastDetailsWindow=Jy({toolId:"old",lobibox:t.oldLobibox}),this.newContrastDetailsWindow=Jy({toolId:"new",lobibox:t.newLobibox}),t.oldContrastDetailsWindow.windowHide(),t.newContrastDetailsWindow.windowHide(),this.oldContrastDetailsWindow.setTitle("旧-新属性对比详情"),this.newContrastDetailsWindow.setTitle("新-旧属性对比详情"),this.oldCompareWindow.setPosition({left:"",right:5+t.domElement.offsetWidth/2+t.domElement.offsetLeft/2,top:60}),this.oldContrastDetailsWindow.setPosition({left:t.domElement.offsetWidth/4+t.domElement.offsetLeft/4-250,top:200}),this.newCompareWindow.setPosition({left:"",right:5,top:60}),this.newContrastDetailsWindow.setPosition({left:t.domElement.offsetWidth/4*3+t.domElement.offsetLeft/4*3-250,top:200});var h=document.createElement("div");h.className="yj-group",this.useNewUI?this.firstTool.plugin.addIcon("topRight",h):this.firstTool.toolbarTop.appendChild(h);var d=document.createElement("button");d.className="yj-but",d.title="模型对比结果",d.id="modelComparesold";var p=document.createElement("div");p.classList.add("yj-icon"),p.classList.add("modelCompares-icon"),d.appendChild(p),h.appendChild(d),d.addEventListener("click",(function(A){o.modelCompares?t.oldCompareWindow.windowHide():(o.modelCompares=!o.modelCompares,t.oldCompareWindow.windowShow())}));var g=document.createElement("div");g.className="yj-group",this.useNewUI?this.secondTool.plugin.addIcon("topRight",g):this.secondTool.toolbarTop.appendChild(g);var u=document.createElement("button");u.className="yj-but",u.title="模型对比结果",u.id="modelComparesnew";var f=document.createElement("div");f.classList.add("yj-icon"),f.classList.add("modelCompares-icon"),u.appendChild(f),g.appendChild(u),u.addEventListener("click",(function(A){n.modelCompares?t.newCompareWindow.windowHide():(n.modelCompares=!n.modelCompares,t.newCompareWindow.windowShow())}))}break;default:Bh.error("无效的显示模式!")}i.showPanel||(t.newCompareWindow&&t.newCompareWindow.windowHide(),t.oldCompareWindow&&t.oldCompareWindow.windowHide()),this.firstViewer.getViewerImpl().modelManager.addEventListener(Rc.ON_LOAD_COMPLETE,(function(A){A.modelKey===t.oldModelKey&&(t.oldModelLoaded=!0,t._applyCompareData(),t._initCompareResultPlane(t.compareData))})),this.secondViewer.getViewerImpl().modelManager.addEventListener(Rc.ON_LOAD_COMPLETE,(function(A){A.modelKey===t.newModelKey&&(t.newModelLoaded=!0,t._applyCompareData(),t._initCompareResultPlane(t.compareData))}))};Object.assign($y.prototype,Ld.prototype),Object.assign($y.prototype,{resize:function(A,e){switch(this.domElement&&(this.domElement.style.height=e+"px",this.domElement.style.width=A+"px"),this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.resize(A,e);break;case zy.MULTIWINDOW:this.firstViewer.resize(A/2,e),this.secondViewer.resize(A/2,e);break;default:this.firstViewer.resize(A,e)}},autoResize:function(){this.resize(this.getClientWidth(),this.getClientHeight())},getClientHeight:function(){return xh.getClientHeight()},getClientWidth:function(){return xh.getClientWidth()},resetOldScene:function(A){this.firstViewer.resetScene(A)},resetNewScene:function(A){this.secondViewer.resetScene(A)},resetScene:function(A){this.firstViewer.resetScene(A),this.secondViewer.resetScene(A),this._applyCompareData()},transparentComponentsByType:function(A){var e=this._getDataByType(A);this.firstViewer.transparentComponentsByKey(e.oldList),this.secondViewer.transparentComponentsByKey(e.newList)},transparentOtherComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.transparentOtherComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.transparentOtherComponentsByKey(e.oldList),this.secondViewer.transparentOtherComponentsByKey(e.newList)}},closeTransparentComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.closeTransparentComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.closeTransparentComponentsByKey(e.oldList),this.secondViewer.closeTransparentComponentsByKey(e.newList)}},clearComponentTransparentList:function(){switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.clearComponentTransparentList();break;case zy.MULTIWINDOW:this.firstViewer.clearComponentTransparentList(),this.secondViewer.clearComponentTransparentList()}},showComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.showComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.showComponentsByKey(e.oldList),this.secondViewer.showComponentsByKey(e.newList)}},hideComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.hideComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.hideComponentsByKey(e.oldList),this.secondViewer.hideComponentsByKey(e.newList)}},highlightComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.highlightComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.highlightComponentsByKey(e.oldList),this.secondViewer.highlightComponentsByKey(e.newList)}},addHighlightComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.addHighlightComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.addHighlightComponentsByKey(e.oldList),this.secondViewer.addHighlightComponentsByKey(e.newList)}},closeHighlightComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.closeHighlightComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.closeHighlightComponentsByKey(e.oldList),this.secondViewer.closeHighlightComponentsByKey(e.newList)}},getHighlightComponentsKey:function(){switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:return this.firstViewer.getHighlightComponentsKey();case zy.MULTIWINDOW:return[].concat(this.firstViewer.getHighlightComponentsKey()).concat(this.secondViewer.getHighlightComponentsKey());default:return[]}},clearHighlightList:function(){switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.clearHighlightList();break;case zy.MULTIWINDOW:this.firstViewer.clearHighlightList(),this.secondViewer.clearHighlightList()}},getHighlightComponents:function(){switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:return this.firstViewer.getHighlightComponents();case zy.MULTIWINDOW:return[].concat(this.firstViewer.getHighlightComponents()).concat(this.secondViewer.getHighlightComponents());default:return[]}},colorfulComponentsByType:function(A,e,t){var i=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.colorfulComponentsByKey([].concat(i.oldList).concat(i.newList),e,t);break;case zy.MULTIWINDOW:this.firstViewer.colorfulComponentsByKey(i.oldList,e,t),this.secondViewer.colorfulComponentsByKey(i.newList,e,t)}},closeColorfulComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.closeColorfulComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.closeColorfulComponentsByKey(e.oldList),this.secondViewer.closeColorfulComponentsByKey(e.newList)}},clearColorfulList:function(){switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.clearColorfulList();break;case zy.MULTIWINDOW:this.firstViewer.clearColorfulList(),this.secondViewer.clearColorfulList()}},wireFrameComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.wireFrameComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.wireFrameComponentsByKey(e.oldList),this.secondViewer.wireFrameComponentsByKey(e.newList)}},closeWireFrameComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.closeWireFrameComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.closeWireFrameComponentsByKey(e.oldList),this.secondViewer.closeWireFrameComponentsByKey(e.newList)}},clearWireframeList:function(){switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.clearWireframeList();break;case zy.MULTIWINDOW:this.firstViewer.clearWireframeList(),this.secondViewer.clearWireframeList()}},isolateComponentsByType:function(A,e){var t=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.isolateComponentsByKey([].concat(t.oldList).concat(t.newList),e);break;case zy.MULTIWINDOW:this.firstViewer.isolateComponentsByKey(t.oldList,e),this.secondViewer.isolateComponentsByKey(t.newList,e)}},closeIsolateComponentsByType:function(A){var e=this._getDataByType(A);switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.closeIsolateComponentsByKey([].concat(e.oldList).concat(e.newList));break;case zy.MULTIWINDOW:this.firstViewer.closeIsolateComponentsByKey(e.oldList),this.secondViewer.closeIsolateComponentsByKey(e.newList)}},clearIsolation:function(){switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.clearIsolation();break;case zy.MULTIWINDOW:this.firstViewer.clearIsolation(),this.secondViewer.clearIsolation()}},getAddedList:function(){return this.addedList},getDeletedList:function(){return this.deletedList},getChangedList:function(){return[].concat(this.oldChangedList).concat(this.newChangedList)},getNoChangedList:function(){return[].concat(this.oldNoChangedList).concat(this.newNoChangedList)},getNewChangedList:function(){return this.newChangedList},getOldChangedList:function(){return this.oldChangedList},getNewNoChangedList:function(){return this.newNoChangedList},getOldNoChangedList:function(){return this.oldNoChangedList},setAddedColor:function(A,e){Xy.addedColor.color=A,Xy.addedColor.opacity=e},setChangedColor:function(A,e){Xy.changedColor.color=A,Xy.changedColor.opacity=e},setDeletedColor:function(A,e){Xy.deletedColor.color=A,Xy.deletedColor.opacity=e},getAddedColor:function(){return Xy.addedColor},getChangedColor:function(){return Xy.changedColor},getDeletedColor:function(){return Xy.deletedColor},getOldViewer:function(){return this.firstViewer},getNewViewer:function(){return this.secondViewer},getOldToolbar:function(){return this.firstTool},getNewToolbar:function(){return this.secondTool},getComponentAttribute:function(A,e){var t=this.firstViewer.viewerImpl.getModelByComponentKey(A),i=this.secondViewer.viewerImpl.getModelByComponentKey(A);t?this.firstViewer.getComponentsAttributeByKey(A,(function(A){A&&e(A.attribute)})):i&&this.secondViewer.getComponentsAttributeByKey(A,(function(A){A&&e(A.attribute)}))},getContrastDetails:function(A,e,t){var i=this;_d({type:"GET",url:this.host+"/api/"+this.projectKey+"/compares/changes?compareKey="+this.compareKey+"&newComponentKey="+e+"&oldComponentKey="+A,headers:{Authorization:this.accessToken},success:function(A){var e={};if("string"==typeof A)try{e=JSON.parse(A)}catch(A){return void i.dispatchEvent({type:_y.ON_LOAD_INVALID_CONTRASTDETAILS,compareKey:i.compareKey})}else e=A;e&&"SUCCESS"===e.code?t&&t(e.data):(Bh.log(i.compareKey,"获取对比详情出错! ",e.message),i.dispatchEvent({type:_y.ON_LOAD_ERROR,compareKey:i.compareKey,code:e.code,message:e.message}))},error:function(A,e){switch(A){case 401:i.dispatchEvent({type:_y.ACCOUNT_NO_EXIST,compareKey:i.compareKey,data:e});break;case 403:i.dispatchEvent({type:_y.NO_PERMISSION,compareKey:i.compareKey,data:e});break;default:i.dispatchEvent({type:_y.ON_NETWORK_ERROR,compareKey:i.compareKey,data:A})}}})},showOldContrastDetails:(qy="",jy=document.getElementById("tab-compare-properties-old"),Hy=function(A,e,t,i,o){var n=document.createElement("tr");i.parentNode.appendChild(n),n.classList.add(o);var r=document.createElement("td");r.innerText=A||"",n.appendChild(r);var a=document.createElement("td");a.innerText=e||"",n.appendChild(a);var s=document.createElement("td");s.innerText=t||"",n.appendChild(s)},Yy=function(A,e,t,i){var o=document.createElement("tr");o.className="sx-active",jy.querySelector("table tbody").appendChild(o);var n=document.createElement("td");for(var r in n.colSpan=2,n.style.fontSize="14px",o.appendChild(n),n.appendChild(document.createElement("b")),n.firstElementChild.innerHTML=A,e)if(e.hasOwnProperty(r)){if(!(t&&t[r]||i&&i[r])){Hy(r,e[r],e[r],o,"compares_noChanged");continue}if(t&&t[r]&&i&&i[r]){Hy(r,e[r],i[r],o,"compares_changed"),delete i[r];continue}if((!t||!t[r])&&i&&i[r]){Hy(r,"",i[r],o,"compares_added"),delete i[r];continue}!t||!t[r]||i&&i[r]||Hy(r,e[r],"",o,"compares_deleted")}for(var a in i)i.hasOwnProperty(a)&&(void 0!==e[a]?Hy(a,e[a],i[a],o,"compares_changed"):Hy(a,"",i[a],o,"compares_added"))},function(A){var e=this;if((jy=document.querySelector("#tab-compare-properties-old"))&&(e.showOldContrastDetailsWindow(),A!==qy)){if(void 0===A){var t=jy.querySelectorAll("table tbody tr");jy.querySelector("table tbody").removeChild(t[0]),jy.querySelector("table tbody").innerHTML="";var i=document.createElement("tr");i.className="noprop";var o=document.createElement("td");return o.setAttribute("colspan","2"),o.innerHTML="未选中构件",i.appendChild(o),jy.querySelector("table tbody").appendChild(i),void(qy=A)}qy=A;var n=jy.querySelectorAll("table tbody tr");jy.querySelector("table tbody").removeChild(n[0]),e.getComponentAttribute(qy,(function(A){if(jy.querySelector("table tbody").innerHTML="",null===A){var t=document.createElement("tr");t.className="noprop";var i=document.createElement("td");return i.innerHTML="没有属性",t.appendChild(i),void jy.querySelector("table tbody").appendChild(t)}if(void 0===A){var o=document.createElement("tr");o.className="noprop";var n=document.createElement("td");return n.innerHTML="属性加载失败",o.appendChild(n),void jy.querySelector("table tbody").appendChild(o)}var r=qy.indexOf("_");if(-1!==r){var a=e.newModelKey+qy.slice(r);e.getContrastDetails(qy,a,(function(e){var t=e.old.attribute,i=e.new.attribute,o=document.createElement("tr");o.className="noprop";var n=document.createElement("th");o.appendChild(n);var r=document.createElement("span");r.classList.add("value"),r.classList.add("nonEditable"),r.innerHTML="属性名",n.appendChild(r);var a=document.createElement("th");o.appendChild(a);var s=document.createElement("span");s.classList.add("value"),s.classList.add("nonEditable"),s.innerHTML="修改前",a.appendChild(s);var l=document.createElement("th");o.appendChild(l);var c=document.createElement("span");c.classList.add("value"),c.classList.add("nonEditable"),c.innerHTML="修改后",l.appendChild(c),jy.querySelector("table tbody").appendChild(o);var h=A;for(var d in h)"object"===lc(h[d])?(Yy(d,h[d],t[d],i[d]),delete i[d]):"string"==typeof h[d]&&Hy(d,h[d],i[d],o);for(var p in i)"object"===lc(h[p])?Yy(p,h[p],t[p],i[p]):"string"==typeof h[p]&&Hy(p,h[p],i[p],o)}))}}))}}),showNewContrastDetails:function(){var A="",e=document.getElementById("tab-compare-properties-new"),t=function(A,e,t,i,o){var n=document.createElement("tr");i.parentNode.appendChild(n),n.classList.add(o);var r=document.createElement("td");r.innerText=A||"",n.appendChild(r);var a=document.createElement("td");a.innerText=e||"",n.appendChild(a);var s=document.createElement("td");s.innerText=t||"",n.appendChild(s)},i=function(A,i,o,n){var r=document.createElement("tr");r.className="sx-active",e.querySelector("table tbody").appendChild(r);var a=document.createElement("td");for(var s in a.colSpan=2,a.style.fontSize="14px",r.appendChild(a),a.appendChild(document.createElement("b")),a.firstElementChild.innerHTML=A,i)if(i.hasOwnProperty(s)){if(!(o&&o[s]||n&&n[s])){t(s,i[s],i[s],r,"compares_noChanged");continue}if(o&&o[s]&&n&&n[s]){t(s,i[s],n[s],r,"compares_changed"),delete n[s];continue}if((!o||!o[s])&&n&&n[s]){t(s,"",n[s],r,"compares_added"),delete n[s];continue}!o||!o[s]||n&&n[s]||t(s,i[s],"",r,"compares_deleted")}for(var l in n)n.hasOwnProperty(l)&&(void 0!==i[l]?t(l,i[l],n[l],r,"compares_changed"):t(l,"",n[l],r,"compares_added"))};return function(o){var n=this;if((e=document.querySelector("#tab-compare-properties-new"))&&(n.showNewContrastDetailsWindow(),o!==A)){if(void 0===o){var r=e.querySelectorAll("table tbody tr");e.querySelector("table tbody").removeChild(r[0]),e.querySelector("table tbody").innerHTML="";var a=document.createElement("tr");a.className="noprop";var s=document.createElement("td");return s.setAttribute("colspan","2"),s.innerHTML="未选中构件",a.appendChild(s),e.querySelector("table tbody").appendChild(a),void(A=o)}A=o;var l=e.querySelectorAll("table tbody tr");e.querySelector("table tbody").removeChild(l[0]),n.getComponentAttribute(A,(function(o){if(e.querySelector("table tbody").innerHTML="",null===o){var r=document.createElement("tr");r.className="noprop";var a=document.createElement("td");return a.innerHTML="没有属性",r.appendChild(a),void e.querySelector("table tbody").appendChild(r)}if(void 0===o){var s=document.createElement("tr");s.className="noprop";var l=document.createElement("td");return l.innerHTML="属性加载失败",s.appendChild(l),void e.querySelector("table tbody").appendChild(s)}var c=A.indexOf("_");if(-1!==c){var h=n.oldModelKey+A.slice(c);n.getContrastDetails(h,A,(function(A){var n=A.new.attribute,r=A.old.attribute,a=document.createElement("tr");a.className="noprop";var s=document.createElement("th");a.appendChild(s);var l=document.createElement("span");l.classList.add("value"),l.classList.add("nonEditable"),l.innerHTML="属性名",s.appendChild(l);var c=document.createElement("th");a.appendChild(c);var h=document.createElement("span");h.classList.add("value"),h.classList.add("nonEditable"),h.innerHTML="修改前",c.appendChild(h);var d=document.createElement("th");a.appendChild(d);var p=document.createElement("span");p.classList.add("value"),p.classList.add("nonEditable"),p.innerHTML="修改后",d.appendChild(p),e.querySelector("table tbody").appendChild(a);var g=o;for(var u in g)"object"===lc(g[u])?(i(u,g[u],n[u],r[u]),delete r[u]):"string"==typeof g[u]&&t(u,g[u],r[u],a);for(var f in r)"object"===lc(g[f])?i(f,g[f],n[f],r[f]):"string"==typeof g[f]&&t(f,g[f],r[f],a)}))}}))}}}(),showOldContrastDetailsWindow:function(){this.oldContrastDetailsWindow&&this.oldContrastDetailsWindow.windowShow&&this.oldContrastDetailsWindow.windowShow()},showNewContrastDetailsWindow:function(){this.newContrastDetailsWindow&&this.newContrastDetailsWindow.windowShow&&this.newContrastDetailsWindow.windowShow()},hideOldContrastDetailsWindow:function(){this.oldContrastDetailsWindow&&this.oldContrastDetailsWindow.windowHide&&this.oldContrastDetailsWindow.windowHide()},hideNewContrastDetailsWindow:function(){this.newContrastDetailsWindow&&this.newContrastDetailsWindow.windowHide()&&this.newContrastDetailsWindow.windowHide()},showContrastDetailsWindow:function(){this.showOldContrastDetailsWindow(),this.showNewContrastDetailsWindow()},hideContrastDetailsWindow:function(){this.hideOldContrastDetailsWindow(),this.hideNewContrastDetailsWindow()},showOldCompareWindow:function(){this.oldCompareWindow&&this.oldCompareWindow.windowShow&&this.oldCompareWindow.windowShow()},showNewCompareWindow:function(){this.newCompareWindow&&this.newCompareWindow.windowShow&&this.newCompareWindow.windowShow()},hideOldCompareWindow:function(){this.oldCompareWindow&&this.oldCompareWindow.windowHide&&this.oldCompareWindow.windowHide()},hideNewCompareWindow:function(){this.newCompareWindow&&this.newCompareWindow.windowHide()&&this.newCompareWindow.windowHide()},showCompareWindow:function(){this.showOldCompareWindow(),this.showNewCompareWindow()},hideCompareWindow:function(){this.hideOldCompareWindow(),this.hideNewCompareWindow()}}),$y.prototype.addView=function(A,e,t){var i=this;this.compareKey=A,this.projectKey=e,this.accessToken=t||"",_d({type:"GET",url:this.host+"/api/"+e+"/compares/status?compareKey="+A,headers:{Authorization:this.accessToken},success:i._loadSuccess.bind(i),error:function(e,t){switch(e){case 401:i.dispatchEvent({type:_y.ACCOUNT_NO_EXIST,compareKey:A,data:t});break;case 403:i.dispatchEvent({type:_y.NO_PERMISSION,compareKey:A,data:t});break;default:i.dispatchEvent({type:_y.ON_NETWORK_ERROR,compareKey:A,data:e})}}}),i._loadCompares()},$y.prototype._loadCompares=function(){var A=this;_d({type:"GET",url:this.host+"/api/"+this.projectKey+"/compares?compareKey="+this.compareKey,headers:{Authorization:this.accessToken},success:A._loadComparesSuccess.bind(A),error:function(e,t){switch(e){case 401:A.dispatchEvent({type:_y.ACCOUNT_NO_EXIST,compareKey:A.compareKey,data:t});break;case 403:A.dispatchEvent({type:_y.NO_PERMISSION,compareKey:A.compareKey,data:t});break;default:A.dispatchEvent({type:_y.ON_NETWORK_ERROR,compareKey:A.compareKey,data:e})}}})},$y.prototype._loadComparesSuccess=function(A){var e={};if("string"==typeof A)try{e=JSON.parse(A)}catch(A){return void this.dispatchEvent({type:_y.ON_LOAD_INVALID_COMPARES,compareKey:this.compareKey})}else e=A;if(e&&"SUCCESS"===e.code){this.compareData=e.data,this.compareDataLoaded=!0;for(var t=[],i=[],o=[],n=[],r=null,a=0,s=this.compareData.changed.categories.length;s>a;a+=1)for(var l=0,c=this.compareData.changed.categories[a].elements.length;c>l;l+=1)t.push((r=this.compareData.changed.categories[a].elements[l]).oldComponentKey),i.push(r.newComponentKey);for(var h=0,d=this.compareData.added.categories.length;d>h;h+=1)for(var p=0,g=this.compareData.added.categories[h].elements.length;g>p;p+=1)o.push((r=this.compareData.added.categories[h].elements[p]).componentKey);for(var u=0,f=this.compareData.deleted.categories.length;f>u;u+=1)for(var m=0,C=this.compareData.deleted.categories[u].elements.length;C>m;m+=1)n.push((r=this.compareData.deleted.categories[u].elements[m]).componentKey);this.oldChangedList=t,this.newChangedList=i,this.deletedList=n,this.addedList=o,this._initCompareResultPlane(e.data),this._applyCompareData()}else Bh.log(this.compareKey,"config load error! ",e.message),this.dispatchEvent({type:_y.ON_LOAD_ERROR,compareKey:this.compareKey,code:e.code,message:e.message})},$y.prototype._loadSuccess=function(A){var e={};if("string"==typeof A)try{e=JSON.parse(A)}catch(A){return void this.dispatchEvent({type:_y.ON_LOAD_INVALID_STATE,compareKey:this.compareKey})}else e=A;if(e&&"SUCCESS"===e.code)if("1"!==e.data.status);else switch(this.oldModelKey=e.data.old,this.newModelKey=e.data.new,this.name=e.data.name,this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:this.firstViewer.addView(this.oldModelKey,this.projectKey,this.accessToken),this.firstViewer.addView(this.newModelKey,this.projectKey,this.accessToken);break;case zy.MULTIWINDOW:this.firstViewer.addView(this.oldModelKey,this.projectKey,this.accessToken),this.secondViewer.addView(this.newModelKey,this.projectKey,this.accessToken);break;default:this.firstViewer.addView(this.oldModelKey,this.projectKey,this.accessToken),this.firstViewer.addView(this.newModelKey,this.projectKey,this.accessToken)}else Bh.log(this.compareKey,"config load error! ",e.message),this.dispatchEvent({type:_y.ON_LOAD_ERROR,compareKey:this.compareKey,code:e.code,message:e.message})},$y.prototype._applyCompareData=function(){if(this.oldModelLoaded&&this.newModelLoaded&&this.compareDataLoaded){var A=this.firstViewer.getViewerImpl().getModel(this.oldModelKey),e=null,t=null;if(A){var i=A.getComponentlist();e=this.firstViewer.getBoxByComponentsKey(i);for(var o=0,n=this.deletedList.length;n>o;o+=1)i.remove(this.deletedList[o]);for(var r=0,a=this.oldChangedList.length;a>r;r+=1)i.remove(this.oldChangedList[r]);this.oldNoChangedList=i}var s=this.secondViewer.getViewerImpl().getModel(this.newModelKey);if(s){var l=s.getComponentlist();t=this.firstViewer.getBoxByComponentsKey(l);for(var c=0,h=this.addedList.length;h>c;c+=1)l.remove(this.addedList[c]);for(var d=0,p=this.newChangedList.length;p>d;d+=1)l.remove(this.newChangedList[d]);this.newNoChangedList=l}if(this.displayModel===zy.SEPARATION&&!e.isEmpty()&&!t.isEmpty()){var g=e.getSize(),u=t.getSize(),f=1,m=1,C=0;f=u.x>g.x?g.x:u.x,m=u.y>g.y?g.y:u.y;var y=s.getModelMatrix(),v=this.firstViewer.viewerImpl.modelManager.scene.getBoundingBoxWorld();f>m?(y.elements[14]+=C=1.5*m,v.min.y-=C/2,v.max.y+=C/2):(y.elements[13]+=C=1.5*f,v.min.x-=C/2,v.max.x+=C/2),s.setModelMatrix(y),this.firstViewer.viewerImpl.modelManager.scene.setBoundingBoxWorld(v),this.firstViewer.adaptiveSize()}this.coloringImmediately&&(this.firstViewer.colorfulComponentsByKey(this.deletedList,Xy.deletedColor.color,Xy.deletedColor.opacity),this.secondViewer.colorfulComponentsByKey(this.addedList,Xy.addedColor.color,Xy.addedColor.opacity),this.firstViewer.colorfulComponentsByKey(this.oldChangedList,Xy.changedColor.color,Xy.changedColor.opacity),this.secondViewer.colorfulComponentsByKey(this.newChangedList,Xy.changedColor.color,Xy.changedColor.opacity))}},$y.prototype._getDataByType=function(A){var e=[],t=[];switch(A){case Zy.added:t=this.addedList;break;case Zy.deleted:e=this.deletedList;break;case Zy.changed:e=this.oldChangedList,t=this.newChangedList;break;case Zy.noChanged:e=this.oldNoChangedList,t=this.newNoChangedList;break;case Zy.oldChanged:e=this.oldChangedList;break;case Zy.newChanged:t=this.newChangedList;break;case Zy.oldNoChanged:e=this.oldNoChangedList;break;case Zy.newNoChanged:t=this.newNoChangedList}return{oldList:e,newList:t}},$y.prototype._addProperty=function(A,e,t){var i=this,o=document.createElement("tr");o.classList.add("compares_list_tr");var n=document.createElement("td");n.innerText=A||"",o.appendChild(n);var r=document.createElement("td");if(r.innerText=e||"",o.appendChild(r),void 0!==t){var a=document.createElement("td"),s=document.createElement("a");s.classList.add("showDetails"),t?(s.innerHTML="查看详情",s.addEventListener("click",(function(A){A.stopPropagation();for(var e=A.target.parentNode.parentNode.oldKey,t=A.target.parentNode.parentNode.newKey,o=0,n=A.path.length;n>o;o+=1){if("tab-compare-old"===A.path[o].id){i.showOldContrastDetails(e);break}if("tab-compare-new"===A.path[o].id){i.showNewContrastDetails(t);break}}}))):s.innerHTML="无",a.appendChild(s),o.appendChild(a)}return o},$y.prototype._initCompareResultPlane=function(A){if(this.oldModelLoaded&&this.newModelLoaded&&this.compareDataLoaded)switch(this.displayModel){case zy.AGGREGATION:case zy.SEPARATION:var e=document.getElementById("tab-compare-old");if(!e)return;this._createPanel(e,A);break;case zy.MULTIWINDOW:var t=document.getElementById("tab-compare-old");if(!t)return;this._createInversionPanel(t,A);var i=document.getElementById("tab-compare-new");if(!i)return;this._createPanel(i,A)}},$y.prototype._createPanel=function(A,e){var t=this;if(A){var i=document.createElement("div");i.classList.add("compares_list_body"),A.appendChild(i);var o=document.createElement("div");o.classList.add("compares_list_title"),o.innerText="新增构件列表("+t.addedList.length+")",o.addEventListener("click",(function(A){for(var e=A.target.parentNode.querySelectorAll("tr"),i=[],o=0,n=e.length;n>o;o+=1)e[o].newKey&&i.push(e[o].newKey);t.secondViewer.adaptiveSizeByKey(i),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i),t.secondViewer.colorfulComponentsByKey(i,Xy.addedColor.color,Xy.addedColor.opacity)})),i.appendChild(o);var n=document.createElement("table");n.classList.add("sx-table"),n.classList.add("compares_list_table"),n.classList.add("table-no-top"),i.appendChild(n);var r=document.createElement("thead");n.appendChild(r);var a=document.createElement("tbody");n.appendChild(a);var s=document.createElement("tr");s.style.backgroundColor="rgba(0, 128, 0, 0.8)",s.className="noprop";var l=document.createElement("th");s.appendChild(l);var c=document.createElement("span");c.classList.add("value"),c.classList.add("nonEditable"),c.innerHTML="名称",l.appendChild(c);var h=document.createElement("th");s.appendChild(h);var d=document.createElement("span");d.classList.add("value"),d.classList.add("nonEditable"),d.innerHTML="类型",h.appendChild(d),r.appendChild(s);for(var p=0,g=t.addedList.length;g>p;p+=1){var u=t.secondViewer.getComponentsByKey(t.addedList[p]);if(u&&u[0]&&u[0][t.addedList[p]]&&u[0][t.addedList[p]][0]){var f=t._addProperty(u[0][t.addedList[p]][0].name,u[0][t.addedList[p]][0].type);f.oldKey="",f.newKey=t.addedList[p],f.addEventListener("click",(function(A){var e=A.target.parentNode.newKey;e&&(t.secondViewer.adaptiveSizeByKey(e),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(e),t.secondViewer.colorfulComponentsByKey(e,Xy.addedColor.color,Xy.addedColor.opacity))})),a.appendChild(f)}}var m=t.oldChangedList,C=t.newChangedList,y=document.createElement("div");y.classList.add("compares_list_body"),A.appendChild(y);var v=document.createElement("div");v.classList.add("compares_list_title"),v.innerText="变更构件列表("+m.length+")",v.addEventListener("click",(function(A){for(var e=A.target.parentNode.querySelectorAll("tr"),i=[],o=[],n=0,r=e.length;r>n;n+=1)e[n].oldKey&&o.push(e[n].oldKey),e[n].newKey&&i.push(e[n].newKey);switch(t.displayModel){case zy.AGGREGATION:case zy.SEPARATION:t.secondViewer.adaptiveSizeByKey(i.concat(o)),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i.concat(o)),t.secondViewer.colorfulComponentsByKey(i.concat(o),Xy.changedColor.color,Xy.changedColor.opacity);break;case zy.MULTIWINDOW:t.firstViewer.adaptiveSizeByKey(o),t.firstViewer.clearColorfulList(),t.firstViewer.clearTransparentList(),t.firstViewer.transparentOtherComponentsByKey(o),t.firstViewer.colorfulComponentsByKey(o,Xy.changedColor.color,Xy.changedColor.opacity),t.secondViewer.adaptiveSizeByKey(i),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i),t.secondViewer.colorfulComponentsByKey(i,Xy.changedColor.color,Xy.changedColor.opacity)}})),y.appendChild(v);var I=document.createElement("table");I.classList.add("sx-table"),I.classList.add("compares_list_table"),I.classList.add("table-no-top"),y.appendChild(I);var E=document.createElement("thead");I.appendChild(E);var B=document.createElement("tbody");I.appendChild(B);var x=document.createElement("tr");x.style.backgroundColor="rgba(255, 165, 0, 0.8)",x.className="noprop";var S=document.createElement("th");x.appendChild(S);var w=document.createElement("span");w.classList.add("value"),w.classList.add("nonEditable"),w.innerHTML="名称",S.appendChild(w);var M=document.createElement("th");x.appendChild(M);var b=document.createElement("span");b.classList.add("value"),b.classList.add("nonEditable"),b.innerHTML="类型",M.appendChild(b);var U=document.createElement("th");x.appendChild(U);var F=document.createElement("span");F.classList.add("value"),F.classList.add("nonEditable"),F.innerHTML="操作",U.appendChild(F),E.appendChild(x);for(var K=0,Q=C.length;Q>K;K+=1){var R=t.secondViewer.getComponentsByKey(C[K]);if(R&&R[0]&&R[0][C[K]]&&R[0][C[K]][0]){var T=t._addProperty(R[0][C[K]][0].name,R[0][C[K]][0].type,"geometry"!==C[K].type);T.oldKey=m[K],T.newKey=C[K],T.addEventListener("click",(function(A){var e=A.target.parentNode.oldKey,i=A.target.parentNode.newKey;if(e&&i)switch(t.displayModel){case zy.AGGREGATION:case zy.SEPARATION:t.secondViewer.adaptiveSizeByKey([e,i]),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey([e,i]),t.secondViewer.colorfulComponentsByKey([e,i],Xy.changedColor.color,Xy.changedColor.opacity);break;case zy.MULTIWINDOW:t.firstViewer.adaptiveSizeByKey(e),t.firstViewer.clearColorfulList(),t.firstViewer.clearTransparentList(),t.firstViewer.transparentOtherComponentsByKey(e),t.firstViewer.colorfulComponentsByKey(e,Xy.changedColor.color,Xy.changedColor.opacity),t.secondViewer.adaptiveSizeByKey(i),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i),t.secondViewer.colorfulComponentsByKey(i,Xy.changedColor.color,Xy.changedColor.opacity)}})),B.appendChild(T)}}var k=document.createElement("div");k.classList.add("compares_list_body"),A.appendChild(k);var D=document.createElement("div");D.classList.add("compares_list_title"),D.innerText="移除构件列表("+t.deletedList.length+")",D.addEventListener("click",(function(A){for(var e=A.target.parentNode.querySelectorAll("tr"),i=[],o=0,n=e.length;n>o;o+=1)e[o].oldKey&&i.push(e[o].oldKey);t.secondViewer.adaptiveSizeByKey(i),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i),t.secondViewer.colorfulComponentsByKey(i,Xy.deletedColor.color,Xy.deletedColor.opacity)})),k.appendChild(D);var L=document.createElement("table");L.classList.add("sx-table"),L.classList.add("compares_list_table"),L.classList.add("table-no-top"),k.appendChild(L);var N=document.createElement("thead");L.appendChild(N);var O=document.createElement("tbody");L.appendChild(O);var V=document.createElement("tr");V.style.backgroundColor="rgba(255, 0, 0, 0.8)",V.className="noprop";var G=document.createElement("th");V.appendChild(G);var P=document.createElement("span");P.classList.add("value"),P.classList.add("nonEditable"),P.innerHTML="名称",G.appendChild(P);var q=document.createElement("th");V.appendChild(q);var j=document.createElement("span");j.classList.add("value"),j.classList.add("nonEditable"),j.innerHTML="类型",q.appendChild(j),N.appendChild(V);for(var H=0,Y=t.deletedList.length;Y>H;H+=1){var W=t.firstViewer.getComponentsByKey(t.deletedList[H]);if(W&&W[0]&&W[0][t.deletedList[H]]&&W[0][t.deletedList[H]][0]){var J=t._addProperty(W[0][t.deletedList[H]][0].name,W[0][t.deletedList[H]][0].type);J.oldKey=t.deletedList[H],J.newKey="",J.addEventListener("click",(function(A){var e=A.target.parentNode.oldKey;e&&(t.firstViewer.adaptiveSizeByKey(e),t.firstViewer.clearColorfulList(),t.firstViewer.clearTransparentList(),t.firstViewer.transparentOtherComponentsByKey(e),t.firstViewer.colorfulComponentsByKey(e,Xy.deletedColor.color,Xy.deletedColor.opacity))})),O.appendChild(J)}}}},$y.prototype._createInversionPanel=function(A,e){var t=this;if(A){var i=t.deletedList,o=t.addedList,n=document.createElement("div");n.classList.add("compares_list_body"),A.appendChild(n);var r=document.createElement("div");r.classList.add("compares_list_title"),r.innerText="新增构件列表("+i.length+")",r.addEventListener("click",(function(A){for(var e=A.target.parentNode.querySelectorAll("tr"),i=[],o=0,n=e.length;n>o;o+=1)e[o].newKey&&i.push(e[o].newKey);t.firstViewer.adaptiveSizeByKey(i),t.firstViewer.clearColorfulList(),t.firstViewer.clearTransparentList(),t.firstViewer.transparentOtherComponentsByKey(i),t.firstViewer.colorfulComponentsByKey(i,Xy.addedColor.color,Xy.addedColor.opacity)})),n.appendChild(r);var a=document.createElement("table");a.classList.add("sx-table"),a.classList.add("compares_list_table"),a.classList.add("table-no-top"),n.appendChild(a);var s=document.createElement("thead");a.appendChild(s);var l=document.createElement("tbody");a.appendChild(l);var c=document.createElement("tr");c.style.backgroundColor="rgba(0, 128, 0, 0.8)",c.className="noprop";var h=document.createElement("th");c.appendChild(h);var d=document.createElement("span");d.classList.add("value"),d.classList.add("nonEditable"),d.innerHTML="名称",h.appendChild(d);var p=document.createElement("th");c.appendChild(p);var g=document.createElement("span");g.classList.add("value"),g.classList.add("nonEditable"),g.innerHTML="类型",p.appendChild(g),s.appendChild(c);for(var u=0,f=i.length;f>u;u+=1){var m=t.firstViewer.getComponentsByKey(i[u]);if(m&&m[0]&&m[0][i[u]]&&m[0][i[u]][0]){var C=t._addProperty(m[0][i[u]][0].name,m[0][i[u]][0].type);C.oldKey="",C.newKey=i[u],C.addEventListener("click",(function(A){var e=A.target.parentNode.newKey;e&&(t.firstViewer.adaptiveSizeByKey(e),t.firstViewer.clearColorfulList(),t.firstViewer.clearTransparentList(),t.firstViewer.transparentOtherComponentsByKey(e),t.firstViewer.colorfulComponentsByKey(e,Xy.addedColor.color,Xy.addedColor.opacity))})),l.appendChild(C)}}var y=t.oldChangedList,v=t.newChangedList,I=document.createElement("div");I.classList.add("compares_list_body"),A.appendChild(I);var E=document.createElement("div");E.classList.add("compares_list_title"),E.innerText="变更构件列表("+y.length+")",E.addEventListener("click",(function(A){for(var e=A.target.parentNode.querySelectorAll("tr"),i=[],o=[],n=0,r=e.length;r>n;n+=1)e[n].oldKey&&o.push(e[n].oldKey),e[n].newKey&&i.push(e[n].newKey);switch(t.displayModel){case zy.AGGREGATION:case zy.SEPARATION:t.secondViewer.adaptiveSizeByKey(i.concat(o)),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i.concat(o)),t.secondViewer.colorfulComponentsByKey(i.concat(o),Xy.changedColor.color,Xy.changedColor.opacity);break;case zy.MULTIWINDOW:t.firstViewer.adaptiveSizeByKey(o),t.firstViewer.clearColorfulList(),t.firstViewer.clearTransparentList(),t.firstViewer.transparentOtherComponentsByKey(o),t.firstViewer.colorfulComponentsByKey(o,Xy.changedColor.color,Xy.changedColor.opacity),t.secondViewer.adaptiveSizeByKey(i),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i),t.secondViewer.colorfulComponentsByKey(i,Xy.changedColor.color,Xy.changedColor.opacity)}})),I.appendChild(E);var B=document.createElement("table");B.classList.add("sx-table"),B.classList.add("compares_list_table"),B.classList.add("table-no-top"),I.appendChild(B);var x=document.createElement("thead");B.appendChild(x);var S=document.createElement("tbody");B.appendChild(S);var w=document.createElement("tr");w.style.backgroundColor="rgba(255, 165, 0, 0.8)",w.className="noprop";var M=document.createElement("th");w.appendChild(M);var b=document.createElement("span");b.classList.add("value"),b.classList.add("nonEditable"),b.innerHTML="名称",M.appendChild(b);var U=document.createElement("th");w.appendChild(U);var F=document.createElement("span");F.classList.add("value"),F.classList.add("nonEditable"),F.innerHTML="类型",U.appendChild(F);var K=document.createElement("th");w.appendChild(K);var Q=document.createElement("span");Q.classList.add("value"),Q.classList.add("nonEditable"),Q.innerHTML="操作",K.appendChild(Q),x.appendChild(w);for(var R=0,T=v.length;T>R;R+=1){var k=t.secondViewer.getComponentsByKey(v[R]);if(k&&k[0]&&k[0][v[R]]&&k[0][v[R]][0]){var D=t._addProperty(k[0][v[R]][0].name,k[0][v[R]][0].type,"geometry"!==v[R].type);D.oldKey=y[R],D.newKey=v[R],D.addEventListener("click",(function(A){var e=A.target.parentNode.oldKey,i=A.target.parentNode.newKey;if(e&&i)switch(t.displayModel){case zy.AGGREGATION:case zy.SEPARATION:t.secondViewer.adaptiveSizeByKey([e,i]),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey([e,i]),t.secondViewer.colorfulComponentsByKey([e,i],Xy.changedColor.color,Xy.changedColor.opacity);break;case zy.MULTIWINDOW:t.firstViewer.adaptiveSizeByKey(e),t.firstViewer.clearColorfulList(),t.firstViewer.clearTransparentList(),t.firstViewer.transparentOtherComponentsByKey(e),t.firstViewer.colorfulComponentsByKey(e,Xy.changedColor.color,Xy.changedColor.opacity),t.secondViewer.adaptiveSizeByKey(i),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i),t.secondViewer.colorfulComponentsByKey(i,Xy.changedColor.color,Xy.changedColor.opacity)}})),S.appendChild(D)}}var L=document.createElement("div");L.classList.add("compares_list_body"),A.appendChild(L);var N=document.createElement("div");N.classList.add("compares_list_title"),N.innerText="移除构件列表("+o.length+")",N.addEventListener("click",(function(A){for(var e=A.target.parentNode.querySelectorAll("tr"),i=[],o=0,n=e.length;n>o;o+=1)e[o].oldKey&&i.push(e[o].oldKey);t.secondViewer.adaptiveSizeByKey(i),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(i),t.secondViewer.colorfulComponentsByKey(i,Xy.deletedColor.color,Xy.deletedColor.opacity)})),L.appendChild(N);var O=document.createElement("table");O.classList.add("sx-table"),O.classList.add("compares_list_table"),O.classList.add("table-no-top"),L.appendChild(O);var V=document.createElement("thead");O.appendChild(V);var G=document.createElement("tbody");O.appendChild(G);var P=document.createElement("tr");P.style.backgroundColor="rgba(255, 0, 0, 0.8)",P.className="noprop";var q=document.createElement("th");P.appendChild(q);var j=document.createElement("span");j.classList.add("value"),j.classList.add("nonEditable"),j.innerHTML="名称",q.appendChild(j);var H=document.createElement("th");P.appendChild(H);var Y=document.createElement("span");Y.classList.add("value"),Y.classList.add("nonEditable"),Y.innerHTML="类型",H.appendChild(Y),V.appendChild(P);for(var W=0,J=o.length;J>W;W+=1){var z=t.secondViewer.getComponentsByKey(o[W]);if(z&&z[0]&&z[0][o[W]]&&z[0][o[W]][0]){var Z=t._addProperty(z[0][o[W]][0].name,z[0][o[W]][0].type);Z.oldKey=o[W],Z.newKey="",Z.addEventListener("click",(function(A){var e=A.target.parentNode.oldKey;e&&(t.secondViewer.adaptiveSizeByKey(e),t.secondViewer.clearColorfulList(),t.secondViewer.clearTransparentList(),t.secondViewer.transparentOtherComponentsByKey(e),t.secondViewer.colorfulComponentsByKey(e,Xy.deletedColor.color,Xy.deletedColor.opacity))})),G.appendChild(Z)}}}};var Av="ON_VIEWER3D_CAMERA_CHANGE",ev=function(A,e){this.viewer2D=e,this.viewer3D=A,this.enableFocus(),this.show3DCameraOn2DViewer()};ev.prototype.enableFocus=function(){var A=this.viewer2D,e=this.viewer3D;e&&A&&(A.setOnSelectComponentCallback((function(A){A&&A.length>0?(e.highlightComponentsByKey(A),e.adaptiveSizeByKey(A)):e.clearHighlightList()})),e.registerModelEventListener(Rc.ON_CLICK_PICK,(function(e){e.intersectInfo&&e.intersectInfo.selectedObjectId&&A.focusOnComponentByKey(e.intersectInfo.selectedObjectId,!0)})))},ev.prototype.enableMove2DCamera=function(){this.viewer2D.getViewerImpl().controlManager.enableTool(this.viewer2D.getViewerImpl(),"viewer3DCameraControl")},ev.prototype.disableMove2DCamera=function(){this.viewer2D.getViewerImpl().controlManager.disableTool("viewer3DCameraControl")},ev.prototype.show3DCameraOn2DViewer=function(){var A=this.viewer2D,e=this.viewer3D;if(e&&A){var t=e.getViewerImpl();e.registerCameraEventListener(Rc.ON_CAMERA_CHANGE,(function(e){var t=e.camera,i=t.getWorldPosition(new y),o=t.getWorldDirection(new y);A.show3DCamera([i.x,i.y],[o.x,o.y])})),A.getViewerImpl().cameraControl.addEventListener(Av,(function(A){var e=A.position;t.locateToPoint({x:e[0],y:e[1],z:t.camera.position.z})}))}};var tv=function A(e,t){Ue.call(this,e),this.type="Reflector";var i=this,o=new LA(void 0!==(t=t||{}).color?t.color:16777215),n=t.textureWidth||512,r=t.textureHeight||512,s=t.clipBias||0,l=t.shader||A.ReflectorShader,c=void 0!==t.recursion?t.recursion:0,h=new EA,d=new y,u=new y,f=new y,m=new M,C=new y(0,0,-1),v=new p,I=new y,E=new y,B=new p,x=new M,S=new je,w=new g(n,r,{minFilter:1006,magFilter:1006,format:1022,stencilBuffer:!1});a.isPowerOfTwo(n)&&a.isPowerOfTwo(r)||(w.texture.generateMipmaps=!1);var b=new Pe({uniforms:Ge.clone(l.uniforms),fragmentShader:l.fragmentShader,vertexShader:l.vertexShader});b.uniforms.tDiffuse.value=w.texture,b.uniforms.color.value=o,b.uniforms.textureMatrix.value=x,this.material=b,this.onBeforeRender=function(A,e,t){if("recursion"in t.userData){if(t.userData.recursion===c)return;t.userData.recursion+=1}if(u.setFromMatrixPosition(i.matrixWorld),f.setFromMatrixPosition(t.matrixWorld),m.extractRotation(i.matrixWorld),d.set(0,0,1),d.applyMatrix4(m),I.subVectors(u,f),0>=I.dot(d)){I.reflect(d).negate(),I.add(u),m.extractRotation(t.matrixWorld),C.set(0,0,-1),C.applyMatrix4(m),C.add(f),E.subVectors(u,C),E.reflect(d).negate(),E.add(u),S.position.copy(I),S.up.set(0,1,0),S.up.applyMatrix4(m),S.up.reflect(d),S.lookAt(E),S.far=t.far,S.updateMatrixWorld(),S.matrixWorldInverse.getInverse(S.matrixWorld),S.projectionMatrix.copy(t.projectionMatrix),S.userData.recursion=0,x.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),x.multiply(S.projectionMatrix),x.multiply(S.matrixWorldInverse),x.multiply(i.matrixWorld),h.setFromNormalAndCoplanarPoint(d,u),h.applyMatrix4(S.matrixWorldInverse),v.set(h.normal.x,h.normal.y,h.normal.z,h.constant);var o=S.projectionMatrix;B.x=(Math.sign(v.x)+o.elements[8])/o.elements[0],B.y=(Math.sign(v.y)+o.elements[9])/o.elements[5],B.z=-1,B.w=(1+o.elements[10])/o.elements[14],v.multiplyScalar(2/v.dot(B)),o.elements[2]=v.x,o.elements[6]=v.y,o.elements[10]=v.z+1-s,o.elements[14]=v.w,w.texture.encoding=A.outputEncoding,i.visible=!1;var n=A.getRenderTarget(),r=A.xr.enabled,a=A.shadowMap.autoUpdate;A.xr.enabled=!1,A.shadowMap.autoUpdate=!1,A.setRenderTarget(w),A.state.buffers.depth.setMask(!0),!1===A.autoClear&&A.clear(),A.render(e,S),A.xr.enabled=r,A.shadowMap.autoUpdate=a,A.setRenderTarget(n);var l=t.viewport;void 0!==l&&A.state.viewport(l),i.visible=!0}},this.getRenderTarget=function(){return w}};(tv.prototype=Object.create(Ue.prototype)).constructor=tv,tv.ReflectorShader={uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:["uniform mat4 textureMatrix;","varying vec4 vUv;","void main() {"," vUv = textureMatrix * vec4( position, 1.0 );"," gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform vec3 color;","uniform sampler2D tDiffuse;","varying vec4 vUv;","float blendOverlay( float base, float blend ) {"," return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) );","}","vec3 blendOverlay( vec3 base, vec3 blend ) {"," return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) );","}","void main() {"," vec4 base = texture2DProj( tDiffuse, vUv );"," gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );","}"].join("\n")};var iv=function A(e,t){Ue.call(this,e),this.type="Refractor";var i=this,o=new LA(void 0!==(t=t||{}).color?t.color:8355711),n=t.textureWidth||512,r=t.textureHeight||512,s=t.clipBias||0,l=t.shader||A.RefractorShader,c=new je;c.matrixAutoUpdate=!1,c.userData.refractor=!0;var h=new EA,d=new M,u=new g(n,r,{minFilter:1006,magFilter:1006,format:1022,stencilBuffer:!1});a.isPowerOfTwo(n)&&a.isPowerOfTwo(r)||(u.texture.generateMipmaps=!1),this.material=new Pe({uniforms:Ge.clone(l.uniforms),vertexShader:l.vertexShader,fragmentShader:l.fragmentShader,transparent:!0}),this.material.uniforms.color.value=o,this.material.uniforms.tDiffuse.value=u.texture,this.material.uniforms.textureMatrix.value=d;var m,C,v,I=function(){var A=new y,e=new y,t=new M,o=new y,n=new y;return function(r){return A.setFromMatrixPosition(i.matrixWorld),e.setFromMatrixPosition(r.matrixWorld),o.subVectors(A,e),t.extractRotation(i.matrixWorld),n.set(0,0,1),n.applyMatrix4(t),0>o.dot(n)}}(),E=function(){var A=new y,e=new y,t=new f,o=new y;return function(){i.matrixWorld.decompose(e,t,o),A.set(0,0,1).applyQuaternion(t).normalize(),A.negate(),h.setFromNormalAndCoplanarPoint(A,e)}}(),B=(m=new EA,C=new p,v=new p,function(A){c.matrixWorld.copy(A.matrixWorld),c.matrixWorldInverse.getInverse(c.matrixWorld),c.projectionMatrix.copy(A.projectionMatrix),c.far=A.far,m.copy(h),m.applyMatrix4(c.matrixWorldInverse),C.set(m.normal.x,m.normal.y,m.normal.z,m.constant);var e=c.projectionMatrix;v.x=(Math.sign(C.x)+e.elements[8])/e.elements[0],v.y=(Math.sign(C.y)+e.elements[9])/e.elements[5],v.z=-1,v.w=(1+e.elements[10])/e.elements[14],C.multiplyScalar(2/C.dot(v)),e.elements[2]=C.x,e.elements[6]=C.y,e.elements[10]=C.z+1-s,e.elements[14]=C.w});this.onBeforeRender=function(A,e,t){u.texture.encoding=A.outputEncoding,!0!==t.userData.refractor&&!0!=!I(t)&&(E(),function(A){d.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),d.multiply(A.projectionMatrix),d.multiply(A.matrixWorldInverse),d.multiply(i.matrixWorld)}(t),B(t),function(A,e,t){i.visible=!1;var o=A.getRenderTarget(),n=A.xr.enabled,r=A.shadowMap.autoUpdate;A.xr.enabled=!1,A.shadowMap.autoUpdate=!1,A.setRenderTarget(u),!1===A.autoClear&&A.clear(),A.render(e,c),A.xr.enabled=n,A.shadowMap.autoUpdate=r,A.setRenderTarget(o);var a=t.viewport;void 0!==a&&A.state.viewport(a),i.visible=!0}(A,e,t))},this.getRenderTarget=function(){return u}};(iv.prototype=Object.create(Ue.prototype)).constructor=iv,iv.RefractorShader={uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:["uniform mat4 textureMatrix;","varying vec4 vUv;","void main() {"," vUv = textureMatrix * vec4( position, 1.0 );"," gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform vec3 color;","uniform sampler2D tDiffuse;","varying vec4 vUv;","float blendOverlay( float base, float blend ) {"," return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) );","}","vec3 blendOverlay( vec3 base, vec3 blend ) {"," return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) );","}","void main() {"," vec4 base = texture2DProj( tDiffuse, vUv );"," gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 );","}"].join("\n")};var ov=function(A){return he.call(this),this.points=A,this.handlePoints=[],this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.invalid=!1,this._createPlaneGeometry(),this};(ov.prototype=Object.create(he.prototype)).constructor=he,ov.prototype._createPlaneGeometry=function(){if(this._RemoveDuplicatePoints(this.points))this.invalid=!0;else{if(3>this.handlePoints.length)return Bh.warn("Failed to create plane, the number of the points must be more than three."),void(this.invalid=!0);if(3===this.handlePoints.length&&0===this._area(this.handlePoints[0],this.handlePoints[1],this.handlePoints[2]))return Bh.warn("Failed to create plane, points are collinear."),void(this.invalid=!0);if(this._checkIntersect())return Bh.warn("Failed to create plane, the plane border is self-intersecting."),void(this.invalid=!0);this.handlePoints.push(new s(this.points[0].x,this.points[0].y));var A=new ar(new Ba(this.handlePoints)),e=new Float32Array(this._updateUv(A));A.setAttribute("uv",new YA(e,2)),this.attributes=A.attributes,this.groups=A.groups,this.index=A.index}},ov.prototype._updateUv=function(A){for(var e=[],t=A.attributes.position.array,i=0;t.length>i;i+=3){var o=(t[i+1]-this.minY)/(this.maxY-this.minY);e.push((t[i]-this.minX)/(this.maxX-this.minX)),e.push(o)}return e},ov.prototype._RemoveDuplicatePoints=function(A){var e=new s(A[0].x,A[0].y);this.handlePoints.push(e),this.minX=e.x,this.maxX=e.x,this.minY=e.y,this.maxY=e.y;for(var t=1;A.length>t;t+=1){var i=!1;if(void 0===A[t].x||void 0===A[t].y)return Bh.log("Failed to create plane, the format of plane is not right, please follow [{x:,y:},...]"),!0;for(var o=0;this.handlePoints.length>o;o+=1)if(A[t].x===this.handlePoints[o].x&&A[t].y===this.handlePoints[o].y){i=!0;break}if(!1===i){e=new s(A[t].x,A[t].y);this.handlePoints.push(e),this.minX>e.x&&(this.minX=e.x),this.minY>e.y&&(this.minY=e.y),e.x>this.maxX&&(this.maxX=e.x),e.y>this.maxY&&(this.maxY=e.y)}}return!1},ov.prototype._checkIntersect=function(){for(var A=null,e=null,t=this.handlePoints.length,i=0;t>i;i+=1){A=this.handlePoints[i],e=this.handlePoints[i===t-1?0:i+1];for(var o=i+2;t>o;o+=1)if((0!==i||o!==t-1)&&this._intersectSegments(A,e,this.handlePoints[o],this.handlePoints[o===t-1?0:o+1]))return!0}return!1},ov.prototype._area=function(A,e,t){return(e.x-A.x)*(t.y-A.y)-(t.x-A.x)*(e.y-A.y)},ov.prototype._collinearIntersectCheck=function(A,e,t,i){return(Math.min(A.x,e.x)>t.x||t.x>Math.max(A.x,e.x)||Math.min(A.y,e.y)>t.y||t.y>Math.max(A.y,e.y))&&(Math.min(A.x,e.x)>i.x||i.x>Math.max(A.x,e.x)||Math.min(A.y,e.y)>i.y||i.y>Math.max(A.y,e.y))},ov.prototype._intersectSegments=function(A,e,t,i){var o=this._area(A,e,t)*this._area(A,e,i),n=this._area(t,i,A)*this._area(t,i,e);return 0>=o&&(0>=n&&(0!==o||0!==n||!this._collinearIntersectCheck(A,e,t,i)))};var nv="data:image/jpeg;base64,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",rv="data:image/jpeg;base64,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",av=function A(e,t){Ue.call(this,e),this.type="Water";var i=this,o=t||{},n=void 0!==o.color?o.color:new p(1,1,1,1),r=o.textureWidth||512,a=o.textureHeight||512,l=o.clipBias||0,c=o.flowDirection||new s(1,0),h=o.flowSpeed||.03,d=o.reflectivity||1,g=o.scale||1,u=o.shader||A.WaterShader;this.reflectorTexturePosition=o.reflectorTexturePosition,this.refractorTexturePosition=o.refractorTexturePosition;var f=new Aa,m=o.flowMap||void 0,C=o.normalMap0||f.load(nv),y=o.normalMap1||f.load(rv),v=new M,I=new as;if(void 0!==tv)if(void 0!==iv){var E=new tv(e,{textureWidth:r,textureHeight:a,clipBias:l});E.position.copy(this.reflectorTexturePosition),E.updateMatrixWorld(!0);var B=new iv(e,{textureWidth:r,textureHeight:a,clipBias:l});B.position.copy(this.refractorTexturePosition),B.updateMatrixWorld(!0),this.material=new Pe({uniforms:Ge.merge([u.uniforms]),vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,transparent:!0}),this.material.clipping=!0,this.material.side=2,void 0!==m?(this.material.defines.USE_FLOWMAP="",this.material.uniforms.tFlowMap={type:"t",value:m}):this.material.uniforms.flowDirection={type:"v2",value:c},C.wrapS=1e3,C.wrapT=1e3,y.wrapS=1e3,y.wrapT=1e3,this.material.uniforms.tReflectionMap.value=E.getRenderTarget().texture,this.material.uniforms.tRefractionMap.value=B.getRenderTarget().texture,this.material.uniforms.tNormalMap0.value=C,this.material.uniforms.tNormalMap1.value=y,this.material.uniforms.color.value=n,this.material.uniforms.reflectivity.value=d,this.material.uniforms.textureMatrix.value=v,this.material.uniforms.config.value.x=0,this.material.uniforms.config.value.y=.075,this.material.uniforms.config.value.z=.075,this.material.uniforms.config.value.w=g,this.onBeforeRender=function(A,e,t){var o,n;!function(A){v.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),v.multiply(A.projectionMatrix),v.multiply(A.matrixWorldInverse),v.multiply(i.matrixWorld)}(t),o=I.getDelta(),(n=i.material.uniforms.config).value.x+=h*o,n.value.y=n.value.x+.075,.15>n.value.x?.15>n.value.y||(n.value.y=n.value.y-.15):(n.value.x=0,n.value.y=.075),i.visible=!1,E.position.equals(this.reflectorTexturePosition)||(E.position.copy(this.reflectorTexturePosition),E.updateMatrixWorld(!0)),B.position.equals(this.refractorTexturePosition)||(B.position.copy(this.refractorTexturePosition),B.updateMatrixWorld(!0)),i.cameraProjectionMatrix||(i.cameraProjectionMatrix=t.projectionMatrix.clone()),t.projectionMatrix.equals(i.cameraProjectionMatrix)||(i.needUpdate=!0),i.waterMatrixWorld||(i.waterMatrixWorld=i.matrixWorld.clone()),i.matrixWorld.equals(i.waterMatrixWorld)||(i.needUpdate=!0),i.needUpdate&&(E.onBeforeRender(A,e,t),B.onBeforeRender(A,e,t),i.needUpdate=!1),i.material.uniforms.tReflectionMap.value=E.getRenderTarget().texture,i.material.uniforms.tRefractionMap.value=B.getRenderTarget().texture,i.visible=!0}}else Bh.error("THREE.Water: Required component THREE.Refractor not found.");else Bh.error("THREE.Water: Required component THREE.Reflector not found.")};(av.prototype=Object.create(Ue.prototype)).constructor=av,av.WaterShader={uniforms:{color:{type:"v4",value:null},reflectivity:{type:"f",value:0},tReflectionMap:{type:"t",value:null},tRefractionMap:{type:"t",value:null},tNormalMap0:{type:"t",value:null},tNormalMap1:{type:"t",value:null},textureMatrix:{type:"m4",value:null},config:{type:"v4",value:new p}},vertexShader:["#include <fog_pars_vertex>","uniform mat4 textureMatrix;","varying vec4 vCoord;","varying vec2 vUv;","varying vec3 vToEye;","#include <clipping_planes_pars_vertex>","void main() {"," vUv = uv;"," vCoord = textureMatrix * vec4( position, 1.0 );"," vec4 worldPosition = modelMatrix * vec4( position, 1.0 );"," vToEye = cameraPosition - worldPosition.xyz;"," vec4 mvPosition = viewMatrix * worldPosition;"," gl_Position = projectionMatrix * mvPosition;"," #include <clipping_planes_vertex>"," #include <fog_vertex>","}"].join("\n"),fragmentShader:["#include <common>","#include <fog_pars_fragment>","uniform sampler2D tReflectionMap;","uniform sampler2D tRefractionMap;","uniform sampler2D tNormalMap0;","uniform sampler2D tNormalMap1;","#ifdef USE_FLOWMAP"," uniform sampler2D tFlowMap;","#else"," uniform vec2 flowDirection;","#endif","uniform vec4 color;","uniform float reflectivity;","uniform vec4 config;","#include <clipping_planes_pars_fragment>","varying vec4 vCoord;","varying vec2 vUv;","varying vec3 vToEye;","void main() {"," #include <clipping_planes_fragment>"," float flowMapOffset0 = config.x;"," float flowMapOffset1 = config.y;"," float halfCycle = config.z;"," float scale = config.w;"," vec3 toEye = normalize( vToEye );"," vec2 flow;"," #ifdef USE_FLOWMAP"," flow = texture2D( tFlowMap, vUv ).rg * 2.0 - 1.0;"," #else"," flow = flowDirection;"," #endif"," flow.x *= - 1.0;"," vec4 normalColor0 = texture2D( tNormalMap0, ( vUv * scale ) + flow * flowMapOffset0 );"," vec4 normalColor1 = texture2D( tNormalMap1, ( vUv * scale ) + flow * flowMapOffset1 );"," float flowLerp = abs( halfCycle - flowMapOffset0 ) / halfCycle;"," vec4 normalColor = mix( normalColor0, normalColor1, flowLerp );"," vec3 normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );"," float theta = max( dot( toEye, normal ), 0.0 );"," float reflectance = reflectivity + ( 1.0 - reflectivity ) * pow( ( 1.0 - theta ), 5.0 );"," vec3 coord = vCoord.xyz / vCoord.w;"," vec2 uv = coord.xy + coord.z * normal.xz * 0.05;"," vec4 reflectColor = texture2D( tReflectionMap, vec2( 1.0 - uv.x, uv.y ) );"," vec4 refractColor = texture2D( tRefractionMap, uv );"," gl_FragColor = color * mix( refractColor, reflectColor, reflectance );"," #include <tonemapping_fragment>"," #include <encodings_fragment>"," #include <fog_fragment>","}"].join("\n")};var sv=function(A){A?(this.boundary=A.boundary,this.color=A.color,this.viewer=A.viewer,this.scale=A.scale,this.xDirection=A.xDirection,this.yDirection=A.yDirection,this.reflectivity=A.reflectivity,A.reflectorTexturePosition?"number"==typeof A.reflectorTexturePosition.x?"number"==typeof A.reflectorTexturePosition.y?"number"==typeof A.reflectorTexturePosition.z?(this.reflectorTexturePosition=(new y).copy(A.reflectorTexturePosition),A.refractorTexturePosition?"number"==typeof A.refractorTexturePosition.x?"number"==typeof A.refractorTexturePosition.y?"number"==typeof A.refractorTexturePosition.z?(this.refractorTexturePosition=(new y).copy(A.refractorTexturePosition),this.viewer&&this.viewer instanceof Gy?(A.geometry||0!==this.boundary.length)&&(this.geometry=A.geometry||new ov(this.boundary),this.water=new av(this.geometry,{color:new p(this.color.r,this.color.g,this.color.b,this.color.a),scale:this.scale,reflectivity:this.reflectivity,flowDirection:new s(this.xDirection,this.yDirection),textureWidth:1024,textureHeight:1024,reflectorTexturePosition:this.reflectorTexturePosition,refractorTexturePosition:this.refractorTexturePosition}),this.height=A.height,this.water.translateZ(this.height),this.water.renderOrder=-1,this.water.disPickable=!0,this.id=uh.createUUID(),this.water.name=this.id,this.water.autoAnimation=!0,this.viewer.addExternalObject(this.id,this.water)):Bh.log("ERROR::viewer must not support.")):Bh.error("缺少参数 reflectorTexturePosition.z"):Bh.error("缺少参数 reflectorTexturePosition.y"):Bh.error("缺少参数 reflectorTexturePosition.x"):Bh.error("缺少参数 reflectorTexturePosition")):Bh.error("缺少参数 reflectorTexturePosition.z"):Bh.error("缺少参数 reflectorTexturePosition.y"):Bh.error("缺少参数 reflectorTexturePosition.x"):Bh.error("缺少参数 reflectorTexturePosition")):Bh.error("ERROR::waterEffectConfig 不能为空.")};sv.prototype.getBoundary=function(){return this.boundary},sv.prototype.getColor=function(){return this.color},sv.prototype.getScale=function(){return this.scale},sv.prototype.getXDirection=function(){return this.xDirection},sv.prototype.getYDirection=function(){return this.yDirection},sv.prototype.setColor=function(A){A instanceof Xh?(this.color=A,this.water.material.uniforms.color.value.set(this.color.r,this.color.g,this.color.b,this.color.a)):Bh.log("ERROR::color should be instance of EIMMODEL.Color")},sv.prototype.setScale=function(A){this.scale=A,this.water.material.uniforms.config.value.w=A},sv.prototype.setReflectivity=function(A){this.reflectivity=A,this.water.material.uniforms.reflectivity.value=A},sv.prototype.getReflectivity=function(){return this.reflectivity},sv.prototype.getReflectorTexturePosition=function(){return this.reflectorTexturePosition.clone()},sv.prototype.getRefractorTexturePosition=function(){return this.refractorTexturePosition.clone()},sv.prototype.setReflectorTexturePosition=function(A){A?"number"==typeof A.x?"number"==typeof A.y?"number"==typeof A.z?(this.reflectorTexturePosition=new y(A.x,A.y,A.z),this.water.reflectorTexturePosition=this.reflectorTexturePosition):Bh.error("缺少参数 position.z"):Bh.error("缺少参数 position.y"):Bh.error("缺少参数 position.x"):Bh.error("缺少参数 position")},sv.prototype.setRefractorTexturePosition=function(A){A?"number"==typeof A.x?"number"==typeof A.y?"number"==typeof A.z?(this.refractorTexturePosition=new y(A.x,A.y,A.z),this.water.refractorTexturePosition=this.refractorTexturePosition):Bh.error("缺少参数 position.z"):Bh.error("缺少参数 position.y"):Bh.error("缺少参数 position.x"):Bh.error("缺少参数 position")},sv.prototype.setXDirection=function(A){this.xDirection=A,this.water.material.uniforms.flowDirection.value.x=A},sv.prototype.setYDirection=function(A){this.yDirection=A,this.water.material.uniforms.flowDirection.value.y=A},sv.prototype.remove=function(){this.viewer.removeExternalObjectByName(this.id)},sv.prototype.setHeight=function(A){this.height=A,this.water.translateZ(A),this.water.updateMatrixWorld(!0)},sv.prototype.getHeight=function(){return this.height},sv.prototype.setGeometry=function(A){A.isGeometry||A.isBufferGeometry?(this.geometry=A,this.water.geometry=A):Bh.log("ERROR::geometry type not support")},sv.prototype.getGeometry=function(){return this.geometry},sv.prototype.getWaterObject=function(){return this.water};var lv=Symbol("_flowing"),cv=function(){function A(e){cc(this,A),this.viewer=e.viewer3D;var t=e.opt;this.arrowParameters=t,this.arrowParameters.speed=this.arrowParameters.speed||5,this.arrowParameters.spacing=this.arrowParameters.spacing||100,this.arrowArray=[],this.pathNumb=0,this.totalLength=0,this.path=[],!0===t.customizeMesh?this.geometricModelLength=t.meshLength:t.arrowShape?(t.arrowShape.rectangleLength=t.arrowShape.rectangleLength||500,t.arrowShape.triangleBottomHeight=t.arrowShape.triangleBottomHeight||260,this.geometricModelLength=t.arrowShape.rectangleLength+t.arrowShape.triangleBottomHeight?t.arrowShape.triangleBottomHeight:260):this.geometricModelLength=760,this.intervalLength=this.geometricModelLength+t.spacing,this.materialObject={},this.materialsInit=this.arrowParameters.materialsInit||"default",this.materialsUpdate=this.arrowParameters.materialsUpdate||"fixed",this.isFlowing=!1,t.callback&&(t.callback.enter&&(this.callbackEnter=t.callback.enter),t.callback.out&&(this.callbackOut=t.callback.out)),this.meshGroupId=(new Date).getTime(),this.meshGroup?this.meshGroup.children=[]:this.meshGroup=new Xi}return dc(A,[{key:"calculationPathOffset",value:function(){for(var A=this.path,e=0;A.length>e;e+=1){var t=(new y).copy(A[e].startingPoint),i=new f,o=new f,n=new y(1,1,1);if(A[e].offset){var r=(new y).copy(A[e].offset.pathDepthAxis).applyQuaternion(i);t.add(r.multiplyScalar(A[e].offset.depth)),o.setFromAxisAngle(A[e].startPoint2EndPointAxis,A[e].angle),i.premultiply(o),o.setFromAxisAngle(A[e].vectorNormalize,A[e].offset.angle),i.premultiply(o)}else o.setFromAxisAngle(A[e].startPoint2EndPointAxis,A[e].angle),i.premultiply(o);A[e].rotationComponent={},A[e].rotationComponent.position=t,A[e].rotationComponent.quaternion=i,A[e].rotationComponent.scale=n}}},{key:"translationPath",value:function(){var A=new y(1,0,0),e=this.arrowParameters.points,t=e.length-1,i=[];this.totalLength=0;for(var o=0;t>o;o+=1){var n={};if(n.startingPoint=new y(e[o].x,e[o].y,e[o].z),n.endingPoint=new y(e[o+1].x,e[o+1].y,e[o+1].z),n.length=n.startingPoint.distanceTo(n.endingPoint),n.vector=(new y).subVectors(n.endingPoint,n.startingPoint),n.vectorNormalize=(new y).subVectors(n.endingPoint,n.startingPoint).normalize(),n.startPoint2EndPointAxis=(new y).crossVectors(A,n.vectorNormalize).normalize(),n.numb=o,n.angle=A.angleTo(n.vectorNormalize),this.arrowParameters.offset&&this.arrowParameters.offset[o+1]){var r={},a=this.arrowParameters.offset[o+1],s=a.depth,l=a.angle,c=void 0===l?0:l;r.depth=void 0===s?0:s,r.angle=Math.PI/180*c,r.pathDepthAxis=new y(0,1,0).applyAxisAngle(n.startPoint2EndPointAxis,n.angle),r.pathDepthAxis.applyAxisAngle(n.vectorNormalize,r.angle).normalize(),n.offset=r}this.totalLength+=n.length,i.push(n)}this.path=i,this.pathNumb=this.path.length}},{key:"calculationArrowAmount",value:function(){var A=this.arrowParameters,e=0;if(A.createMode&&"number"===A.createMode&&A.arrowAmount&&A.arrowAmount>0)if(A.intervalMode&&"strict"===A.intervalMode){if(e=Math.floor(this.totalLength/this.intervalLength),A.arrowAmount>e)return{code:"001",message:"Too many arrows,over the length of the path"};this.arrowAmount=A.arrowAmount,this.CreateMode="number",this.IntervalMode="strict"}else{if(e=Math.floor(this.totalLength/this.geometricModelLength),A.arrowAmount>e)return{code:"001",message:"Too many arrows,over the length of the path"};this.arrowAmount=A.arrowAmount,this.CreateMode="number";var t=Math.floor(100*(this.totalLength-this.intervalLength*A.arrowAmount)/A.arrowAmount)/100;this.intervalLength+=t,this.IntervalMode="free"}else{if(A.createMode&&"number"===A.createMode&&A.arrowAmount&&1>A.arrowAmount)return{code:"002",message:"the number is error"};if(e=Math.floor(this.totalLength/this.intervalLength),A.intervalMode&&"strict"===A.intervalMode)this.IntervalMode="strict";else{var i=Math.floor(100*(this.totalLength%this.intervalLength)/e)/100;this.intervalLength+=i,this.IntervalMode="free"}this.arrowAmount=e,this.CreateMode="space"}}},{key:"createArrowArray",value:function(){var A=this.arrowAmount;if(!0===this.arrowParameters.customizeMesh)for(var e=0;A>e;e+=1){var t=this.arrowParameters.mesh.clone();t.material=this.materialObject.default,this.arrowArray.push(t),this.meshGroup.add(t)}else for(var i=this.arrowParameters.arrowShape,o=void 0===i?{}:i,n=o.triangleBottomLength||400,r=o.triangleBottomHeight||260,a=o.rectangleWidth||180,s=o.rectangleLength||500,l=o.arrowHeight||80,c=new Float32Array([r+s,l,0,s,l,n/2,s,l,-n/2,r+s,0,0,s,0,n/2,s,0,-n/2,s,l,-a/2,s,l,a/2,0,l,a/2,0,l,-a/2,s,0,-a/2,s,0,a/2,0,0,a/2,0,0,-a/2]),h=[2,1,0,3,4,5,0,1,4,0,4,3,1,2,4,4,2,5,5,2,0,3,5,0,8,7,6,9,8,6,13,9,6,10,13,6,12,8,9,9,13,12,12,13,10,12,10,11,7,8,12,11,7,12],d=0;A>d;d+=1){var p=this.createArrowMesh(c,h);p.arrowID=d,this.arrowArray.push(p),this.meshGroup.add(p)}}},{key:"createArrowMesh",value:function(A,e){var t=new he;t.setIndex(e);var i=new YA(A,3);return t.attributes.position=i,new Ue(t,this.materialObject.default)}},{key:"createMaterialArray",value:function(){for(var A=this.arrowParameters.colors,e=this.arrowParameters.materials,t=this.path.length,i=1;t>=i;i+=1)e&&e[i]?this.materialObject[i]=e[i]:A&&A[i]&&(this.materialObject[i]=new jA({color:A[i]}));e&&e.default?this.materialObject.default=e.default:A&&A.default?this.materialObject.default=new jA({color:A.default}):(this.materialObject.default=new jA({color:10606038}),this.materialObject.default.transparent=!0,this.materialObject.default.opacity=.8)}},{key:"initPostition",value:function(){var A=this.arrowArray,e=this.path,t=A.length,i=0,o=this.intervalLength,n=0,r=new f;if(this.arrowParameters.enterSceMod&&"progressive"===this.arrowParameters.enterSceMod)for(var a=0;t>a;a+=1){var s=A[a];s.quaternion.copy(r),s.position.x=e[i].startingPoint.x,s.position.y=e[i].startingPoint.y,s.position.z=e[i].startingPoint.z,s.pathOrder=i,e[i].offset?(s.translateOnAxis(e[i].vectorNormalize,-o*n),s.translateOnAxis(e[i].offset.pathDepthAxis,e[i].offset.depth),s.rotateOnWorldAxis(e[i].startPoint2EndPointAxis,e[i].angle),s.rotateOnWorldAxis(e[i].vectorNormalize,e[i].offset.angle)):(s.translateOnAxis(e[i].vectorNormalize,-o*n),s.rotateOnWorldAxis(e[i].startPoint2EndPointAxis,e[i].angle)),s.visible=!1,s.userData.BosArrowExt={},s.userData.BosArrowExt.enterState="unenter","path"===this.materialsInit&&this.materialObject[i+1]&&(s.material=this.materialObject[i+1]),s.updateMatrixWorld(),n+=1}else for(var l=0,c=0;t>c;c+=1){var h=A[c];h.quaternion.copy(r);var d=e[i];d.offset?(h.position.x=d.startingPoint.x,h.position.y=d.startingPoint.y,h.position.z=d.startingPoint.z,h.translateOnAxis(d.vectorNormalize,o*n+l),h.translateOnAxis(d.offset.pathDepthAxis,d.offset.depth),h.rotateOnWorldAxis(d.startPoint2EndPointAxis,d.angle),h.rotateOnWorldAxis(d.vectorNormalize,d.offset.angle)):(h.position.x=d.startingPoint.x,h.position.y=d.startingPoint.y,h.position.z=d.startingPoint.z,h.translateOnAxis(d.vectorNormalize,o*n+l),h.rotateOnWorldAxis(d.startPoint2EndPointAxis,d.angle)),h.pathOrder=i,"path"===this.materialsInit&&this.materialObject[i+1]&&(h.material=this.materialObject[i+1]),d.length-l>o*(n+1)||(l=o*(n+1)-d.length+l,i+=1,n=-1),h.updateMatrixWorld(),n+=1}this.viewer.removeExternalObjectByName(this.meshGroupId),this.viewer.addExternalObject(this.meshGroupId,this.meshGroup)}},{key:"setSpeed",value:function(A){this.isFlowing?(this.stopFlow(),this.arrowParameters.speed=A,this.startFlow()):this.arrowParameters.speed=A}},{key:"init",value:function(){this.translationPath(),this.calculationPathOffset(),this.calculationArrowAmount(),this.createMaterialArray(),this.createArrowArray(),this.initPostition()}},{key:"updatePosition",value:function(){var A=this,e=this.path,t=this.arrowParameters.speed;this.arrowArray.forEach((function(i){if(!i.lockPosUpDate||!0!==i.lockPosUpDate){var o=0;if(i.userData.BosArrowExt&&i.userData.BosArrowExt.enterState&&"unenter"===i.userData.BosArrowExt.enterState){var n=i.position.distanceTo(e[0].endingPoint);return e[0].length>n&&("fixed"!==A.materialsUpdate&&A.materialObject[0]?i.material=A.materialObject[0]:"fixed"===A.materialsUpdate||A.materialObject[0]||(i.material=A.materialObject.default),A.callbackEnter&&"function"==typeof A.callbackEnter&&A.callbackEnter(i,e[0]),i.visible=!0,i.userData.BosArrowExt.enterState="enter","fixed"!==A.materialsUpdate&&A.materialObject[1]?i.material=A.materialObject[1]:"fixed"===A.materialsUpdate||A.materialObject[1]||(i.material=A.materialObject.default)),i.translateX(t+o),void i.updateMatrixWorld()}var r=i.position.distanceTo(e[i.pathOrder].startingPoint);r>e[i.pathOrder].length-A.geometricModelLength&&!1!==i.visible&&(i.visible=!1,A.callbackOut&&"function"==typeof A.callbackOut&&A.callbackOut(i,e[i.pathOrder])),!1===i.visible&&(i.pathOrder+1===A.pathNumb?e[i.pathOrder].length>r||(o=r-e[i.pathOrder].length,i.pathOrder=0,i.position.copy(e[i.pathOrder].rotationComponent.position),i.scale.copy(e[i.pathOrder].rotationComponent.scale),i.setRotationFromQuaternion(e[i.pathOrder].rotationComponent.quaternion),"fixed"!==A.materialsUpdate&&A.materialObject[1]?i.material=A.materialObject[1]:"fixed"===A.materialsUpdate||A.materialObject[1]||(i.material=A.materialObject.default),A.callbackEnter&&"function"==typeof A.callbackEnter&&A.callbackEnter(i,e[i.pathOrder]),i.visible=!0):e[i.pathOrder].length>r||(o=r-e[i.pathOrder].length,i.pathOrder+=1,i.position.copy(e[i.pathOrder].rotationComponent.position),i.scale.copy(e[i.pathOrder].rotationComponent.scale),i.setRotationFromQuaternion(e[i.pathOrder].rotationComponent.quaternion),"fixed"!==A.materialsUpdate&&A.materialObject[i.pathOrder+1]?i.material=A.materialObject[i.pathOrder+1]:"fixed"===A.materialsUpdate||A.materialObject[i.pathOrder+1]||(i.material=A.materialObject.default),i.visible=!0,A.callbackEnter&&"function"==typeof A.callbackEnter&&A.callbackEnter(i,e[i.pathOrder]))),i.translateX(t+o),i.updateMatrixWorld()}})),this.viewer.render()}},{key:lv,value:function(){this.requestAnimationFrameID=requestAnimationFrame(this[lv].bind(this)),this.updatePosition()}},{key:"startFlow",value:function(){if(this.isFlowing)return{code:"003",message:"Do not open repeatedly"};this.isFlowing=!0,this.requestAnimationFrameID=requestAnimationFrame(this[lv].bind(this))}},{key:"stopFlow",value:function(){cancelAnimationFrame(this.requestAnimationFrameID),this.isFlowing=!1}},{key:"hide",value:function(){this.viewer.removeExternalObjectByName(this.meshGroupId)}},{key:"show",value:function(){this.hide(),this.viewer.addExternalObject(this.meshGroupId,this.meshGroup)}},{key:"clear",value:function(){this.hide(),this.meshGroup.children=[],this.arrowArray=[]}}]),A}();function hv(A,e){return A===e||A!=A&&e!=e}function dv(A,e){for(var t=A.length;t--;)if(hv(A[t][0],e))return t;return-1}var pv=Array.prototype.splice;function gv(A){var e=-1,t=null==A?0:A.length;for(this.clear();++e<t;){var i=A[e];this.set(i[0],i[1])}}gv.prototype.clear=function(){this.__data__=[],this.size=0},gv.prototype.delete=function(A){var e=this.__data__,t=dv(e,A);return t>=0&&(t==e.length-1?e.pop():pv.call(e,t,1),--this.size,!0)},gv.prototype.get=function(A){var e=this.__data__,t=dv(e,A);return 0>t?void 0:e[t][1]},gv.prototype.has=function(A){return dv(this.__data__,A)>-1},gv.prototype.set=function(A,e){var t=this.__data__,i=dv(t,A);return 0>i?(++this.size,t.push([A,e])):t[i][1]=e,this};var uv="object"==typeof global&&global&&global.Object===Object&&global,fv="object"==typeof self&&self&&self.Object===Object&&self,mv=uv||fv||Function("return this")(),Cv=mv.Symbol,yv=Object.prototype,vv=yv.hasOwnProperty,Iv=yv.toString,Ev=Cv?Cv.toStringTag:void 0;var Bv=Object.prototype.toString;var xv=Cv?Cv.toStringTag:void 0;function Sv(A){return null==A?void 0===A?"[object Undefined]":"[object Null]":xv&&xv in Object(A)?function(A){var e=vv.call(A,Ev),t=A[Ev];try{A[Ev]=void 0;var i=!0}catch(A){}var o=Iv.call(A);return i&&(e?A[Ev]=t:delete A[Ev]),o}(A):function(A){return Bv.call(A)}(A)}function wv(A){var e=typeof A;return null!=A&&("object"==e||"function"==e)}function Mv(A){if(!wv(A))return!1;var e=Sv(A);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var bv,Uv=mv["__core-js_shared__"],Fv=(bv=/[^.]+$/.exec(Uv&&Uv.keys&&Uv.keys.IE_PROTO||""))?"Symbol(src)_1."+bv:"";var Kv=Function.prototype.toString;function Qv(A){if(null!=A){try{return Kv.call(A)}catch(A){}try{return A+""}catch(A){}}return""}var Rv=/^\[object .+?Constructor\]$/,Tv=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function kv(A){return!(!wv(A)||(e=A,Fv&&Fv in e))&&(Mv(A)?Tv:Rv).test(Qv(A));var e}function Dv(A,e){var t=function(A,e){return null==A?void 0:A[e]}(A,e);return kv(t)?t:void 0}var Lv=Dv(mv,"Map"),Nv=Dv(Object,"create");var Ov=Object.prototype.hasOwnProperty;var Vv=Object.prototype.hasOwnProperty;function Gv(A){var e=-1,t=null==A?0:A.length;for(this.clear();++e<t;){var i=A[e];this.set(i[0],i[1])}}function Pv(A,e){var t,i,o=A.__data__;return("string"==(i=typeof(t=e))||"number"==i||"symbol"==i||"boolean"==i?"__proto__"!==t:null===t)?o["string"==typeof e?"string":"hash"]:o.map}function qv(A){var e=-1,t=null==A?0:A.length;for(this.clear();++e<t;){var i=A[e];this.set(i[0],i[1])}}Gv.prototype.clear=function(){this.__data__=Nv?Nv(null):{},this.size=0},Gv.prototype.delete=function(A){var e=this.has(A)&&delete this.__data__[A];return this.size-=e?1:0,e},Gv.prototype.get=function(A){var e=this.__data__;if(Nv){var t=e[A];return"__lodash_hash_undefined__"===t?void 0:t}return Ov.call(e,A)?e[A]:void 0},Gv.prototype.has=function(A){var e=this.__data__;return Nv?void 0!==e[A]:Vv.call(e,A)},Gv.prototype.set=function(A,e){var t=this.__data__;return this.size+=this.has(A)?0:1,t[A]=Nv&&void 0===e?"__lodash_hash_undefined__":e,this},qv.prototype.clear=function(){this.size=0,this.__data__={hash:new Gv,map:new(Lv||gv),string:new Gv}},qv.prototype.delete=function(A){var e=Pv(this,A).delete(A);return this.size-=e?1:0,e},qv.prototype.get=function(A){return Pv(this,A).get(A)},qv.prototype.has=function(A){return Pv(this,A).has(A)},qv.prototype.set=function(A,e){var t=Pv(this,A),i=t.size;return t.set(A,e),this.size+=t.size==i?0:1,this};function jv(A){var e=this.__data__=new gv(A);this.size=e.size}jv.prototype.clear=function(){this.__data__=new gv,this.size=0},jv.prototype.delete=function(A){var e=this.__data__,t=e.delete(A);return this.size=e.size,t},jv.prototype.get=function(A){return this.__data__.get(A)},jv.prototype.has=function(A){return this.__data__.has(A)},jv.prototype.set=function(A,e){var t=this.__data__;if(t instanceof gv){var i=t.__data__;if(!Lv||199>i.length)return i.push([A,e]),this.size=++t.size,this;t=this.__data__=new qv(i)}return t.set(A,e),this.size=t.size,this};var Hv=function(){try{var A=Dv(Object,"defineProperty");return A({},"",{}),A}catch(A){}}();function Yv(A,e,t){"__proto__"==e&&Hv?Hv(A,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):A[e]=t}var Wv=Object.prototype.hasOwnProperty;function Jv(A,e,t){var i=A[e];Wv.call(A,e)&&hv(i,t)&&(void 0!==t||e in A)||Yv(A,e,t)}function zv(A,e,t,i){var o=!t;t||(t={});for(var n=-1,r=e.length;++n<r;){var a=e[n],s=i?i(t[a],A[a],a,t,A):void 0;void 0===s&&(s=A[a]),o?Yv(t,a,s):Jv(t,a,s)}return t}function Zv(A){return null!=A&&"object"==typeof A}function Xv(A){return Zv(A)&&"[object Arguments]"==Sv(A)}var _v=Object.prototype,$v=_v.hasOwnProperty,AI=_v.propertyIsEnumerable,eI=Xv(function(){return arguments}())?Xv:function(A){return Zv(A)&&$v.call(A,"callee")&&!AI.call(A,"callee")},tI=Array.isArray;var iI="object"==typeof A&&A&&!A.nodeType&&A,oI=iI&&"object"==typeof module&&module&&!module.nodeType&&module,nI=oI&&oI.exports===iI?mv.Buffer:void 0,rI=(nI?nI.isBuffer:void 0)||function(){return!1},aI=/^(?:0|[1-9]\d*)$/;function sI(A,e){var t=typeof A;return!!(e=null==e?9007199254740991:e)&&("number"==t||"symbol"!=t&&aI.test(A))&&A>-1&&A%1==0&&e>A}function lI(A){return"number"==typeof A&&A>-1&&A%1==0&&9007199254740991>=A}var cI={};function hI(A){return function(e){return A(e)}}cI["[object Float32Array]"]=cI["[object Float64Array]"]=cI["[object Int8Array]"]=cI["[object Int16Array]"]=cI["[object Int32Array]"]=cI["[object Uint8Array]"]=cI["[object Uint8ClampedArray]"]=cI["[object Uint16Array]"]=cI["[object Uint32Array]"]=!0,cI["[object Arguments]"]=cI["[object Array]"]=cI["[object ArrayBuffer]"]=cI["[object Boolean]"]=cI["[object DataView]"]=cI["[object Date]"]=cI["[object Error]"]=cI["[object Function]"]=cI["[object Map]"]=cI["[object Number]"]=cI["[object Object]"]=cI["[object RegExp]"]=cI["[object Set]"]=cI["[object String]"]=cI["[object WeakMap]"]=!1;var dI="object"==typeof A&&A&&!A.nodeType&&A,pI=dI&&"object"==typeof module&&module&&!module.nodeType&&module,gI=pI&&pI.exports===dI&&uv.process,uI=function(){try{var A=pI&&pI.require&&pI.require("util").types;return A||gI&&gI.binding&&gI.binding("util")}catch(A){}}(),fI=uI&&uI.isTypedArray,mI=fI?hI(fI):function(A){return Zv(A)&&lI(A.length)&&!!cI[Sv(A)]},CI=Object.prototype.hasOwnProperty;function yI(A,e){var t=tI(A),i=!t&&eI(A),o=!t&&!i&&rI(A),n=!t&&!i&&!o&&mI(A),r=t||i||o||n,a=r?function(A,e){for(var t=-1,i=Array(A);++t<A;)i[t]=e(t);return i}(A.length,String):[],s=a.length;for(var l in A)!e&&!CI.call(A,l)||r&&("length"==l||o&&("offset"==l||"parent"==l)||n&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||sI(l,s))||a.push(l);return a}var vI=Object.prototype;function II(A){var e=A&&A.constructor;return A===("function"==typeof e&&e.prototype||vI)}function EI(A,e){return function(t){return A(e(t))}}var BI=EI(Object.keys,Object),xI=Object.prototype.hasOwnProperty;function SI(A){return null!=A&&lI(A.length)&&!Mv(A)}function wI(A){return SI(A)?yI(A):function(A){if(!II(A))return BI(A);var e=[];for(var t in Object(A))xI.call(A,t)&&"constructor"!=t&&e.push(t);return e}(A)}var MI=Object.prototype.hasOwnProperty;function bI(A){if(!wv(A))return function(A){var e=[];if(null!=A)for(var t in Object(A))e.push(t);return e}(A);var e=II(A),t=[];for(var i in A)("constructor"!=i||!e&&MI.call(A,i))&&t.push(i);return t}function UI(A){return SI(A)?yI(A,!0):bI(A)}var FI="object"==typeof A&&A&&!A.nodeType&&A,KI=FI&&"object"==typeof module&&module&&!module.nodeType&&module,QI=KI&&KI.exports===FI?mv.Buffer:void 0,RI=QI?QI.allocUnsafe:void 0;function TI(){return[]}var kI=Object.prototype.propertyIsEnumerable,DI=Object.getOwnPropertySymbols,LI=DI?function(A){return null==A?[]:(A=Object(A),function(A,e){for(var t=-1,i=null==A?0:A.length,o=0,n=[];++t<i;){var r=A[t];e(r,t,A)&&(n[o++]=r)}return n}(DI(A),(function(e){return kI.call(A,e)})))}:TI;function NI(A,e){for(var t=-1,i=e.length,o=A.length;++t<i;)A[o+t]=e[t];return A}var OI=EI(Object.getPrototypeOf,Object),VI=Object.getOwnPropertySymbols?function(A){for(var e=[];A;)NI(e,LI(A)),A=OI(A);return e}:TI;function GI(A,e,t){var i=e(A);return tI(A)?i:NI(i,t(A))}function PI(A){return GI(A,wI,LI)}function qI(A){return GI(A,UI,VI)}var jI=Dv(mv,"DataView"),HI=Dv(mv,"Promise"),YI=Dv(mv,"Set"),WI=Dv(mv,"WeakMap"),JI=Qv(jI),zI=Qv(Lv),ZI=Qv(HI),XI=Qv(YI),_I=Qv(WI),$I=Sv;(jI&&"[object DataView]"!=$I(new jI(new ArrayBuffer(1)))||Lv&&"[object Map]"!=$I(new Lv)||HI&&"[object Promise]"!=$I(HI.resolve())||YI&&"[object Set]"!=$I(new YI)||WI&&"[object WeakMap]"!=$I(new WI))&&($I=function(A){var e=Sv(A),t="[object Object]"==e?A.constructor:void 0,i=t?Qv(t):"";if(i)switch(i){case JI:return"[object DataView]";case zI:return"[object Map]";case ZI:return"[object Promise]";case XI:return"[object Set]";case _I:return"[object WeakMap]"}return e});var AE=$I,eE=Object.prototype.hasOwnProperty;var tE=mv.Uint8Array;function iE(A){var e=new A.constructor(A.byteLength);return new tE(e).set(new tE(A)),e}var oE=/\w*$/;var nE=Cv?Cv.prototype:void 0,rE=nE?nE.valueOf:void 0;function aE(A,e,t){var i,o=A.constructor;switch(e){case"[object ArrayBuffer]":return iE(A);case"[object Boolean]":case"[object Date]":return new o(+A);case"[object DataView]":return function(A,e){var t=e?iE(A.buffer):A.buffer;return new A.constructor(t,A.byteOffset,A.byteLength)}(A,t);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(A,e){var t=e?iE(A.buffer):A.buffer;return new A.constructor(t,A.byteOffset,A.length)}(A,t);case"[object Map]":return new o;case"[object Number]":case"[object String]":return new o(A);case"[object RegExp]":return function(A){var e=new A.constructor(A.source,oE.exec(A));return e.lastIndex=A.lastIndex,e}(A);case"[object Set]":return new o;case"[object Symbol]":return i=A,rE?Object(rE.call(i)):{}}}var sE=Object.create,lE=function(){function A(){}return function(e){if(!wv(e))return{};if(sE)return sE(e);A.prototype=e;var t=new A;return A.prototype=void 0,t}}();var cE=uI&&uI.isMap,hE=cE?hI(cE):function(A){return Zv(A)&&"[object Map]"==AE(A)};var dE=uI&&uI.isSet,pE=dE?hI(dE):function(A){return Zv(A)&&"[object Set]"==AE(A)},gE={};function uE(A,e,t,i,o,n){var r,a=1&e,s=2&e,l=4&e;if(t&&(r=o?t(A,i,o,n):t(A)),void 0!==r)return r;if(!wv(A))return A;var c=tI(A);if(c){if(r=function(A){var e=A.length,t=new A.constructor(e);return e&&"string"==typeof A[0]&&eE.call(A,"index")&&(t.index=A.index,t.input=A.input),t}(A),!a)return function(A,e){var t=-1,i=A.length;for(e||(e=Array(i));++t<i;)e[t]=A[t];return e}(A,r)}else{var h=AE(A),d="[object Function]"==h||"[object GeneratorFunction]"==h;if(rI(A))return function(A,e){if(e)return A.slice();var t=A.length,i=RI?RI(t):new A.constructor(t);return A.copy(i),i}(A,a);if("[object Object]"==h||"[object Arguments]"==h||d&&!o){if(r=s||d?{}:function(A){return"function"!=typeof A.constructor||II(A)?{}:lE(OI(A))}(A),!a)return s?function(A,e){return zv(A,VI(A),e)}(A,function(A,e){return A&&zv(e,UI(e),A)}(r,A)):function(A,e){return zv(A,LI(A),e)}(A,function(A,e){return A&&zv(e,wI(e),A)}(r,A))}else{if(!gE[h])return o?A:{};r=aE(A,h,a)}}n||(n=new jv);var p=n.get(A);if(p)return p;n.set(A,r),pE(A)?A.forEach((function(i){r.add(uE(i,e,t,i,A,n))})):hE(A)&&A.forEach((function(i,o){r.set(o,uE(i,e,t,o,A,n))}));var g=l?s?qI:PI:s?keysIn:wI,u=c?void 0:g(A);return function(A,e){for(var t=-1,i=null==A?0:A.length;++t<i&&!1!==e(A[t],t,A););}(u||A,(function(i,o){u&&(i=A[o=i]),Jv(r,o,uE(i,e,t,o,A,n))})),r}gE["[object Arguments]"]=gE["[object Array]"]=gE["[object ArrayBuffer]"]=gE["[object DataView]"]=gE["[object Boolean]"]=gE["[object Date]"]=gE["[object Float32Array]"]=gE["[object Float64Array]"]=gE["[object Int8Array]"]=gE["[object Int16Array]"]=gE["[object Int32Array]"]=gE["[object Map]"]=gE["[object Number]"]=gE["[object Object]"]=gE["[object RegExp]"]=gE["[object Set]"]=gE["[object String]"]=gE["[object Symbol]"]=gE["[object Uint8Array]"]=gE["[object Uint8ClampedArray]"]=gE["[object Uint16Array]"]=gE["[object Uint32Array]"]=!0,gE["[object Error]"]=gE["[object Function]"]=gE["[object WeakMap]"]=!1;function fE(A){return uE(A,5)}var mE=function(){var A,e={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},t=function(){var A=function(A){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=A.xField||A.defaultXField,this._yField=A.yField||A.defaultYField,this._valueField=A.valueField||A.defaultValueField,A.radius&&(this._cfgRadius=A.radius)},t=e.defaultRadius;return A.prototype={_organiseData:function(A,e){var i=A[this._xField],o=A[this._yField],n=this._radi,r=this._data,a=this._max,s=this._min,l=A[this._valueField]||1,c=A.radius||this._cfgRadius||t;r[i]||(r[i]=[],n[i]=[]),r[i][o]?r[i][o]+=l:(r[i][o]=l,n[i][o]=c);var h=r[i][o];return h>a?(e?this.setDataMax(h):this._max=h,!1):s>h?(e?this.setDataMin(h):this._min=h,!1):{x:i,y:o,value:l,radius:c,min:s,max:a}},_unOrganizeData:function(){var A=[],e=this._data,t=this._radi;for(var i in e)for(var o in e[i])A.push({x:i,y:o,radius:t[i][o],value:e[i][o]});return{min:this._min,max:this._max,data:A}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var A=arguments[0],e=A.length;e--;)this.addData.call(this,A[e]);else{var t=this._organiseData(arguments[0],!0);t&&(0===this._data.length&&(this._min=this._max=t.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[t]}))}return this},setData:function(A){var e=A.data,t=e.length;this._data=[],this._radi=[];for(var i=0;t>i;i++)this._organiseData(e[i],!1);return this._max=A.max,this._min=A.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(A){return this._max=A,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(A){return this._min=A,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(A){this._coordinator=A},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},A}(),i=function(){var A=function(A){var e=A.gradient||A.defaultGradient,t=document.createElement("canvas"),i=t.getContext("2d");t.width=256,t.height=1;var o=i.createLinearGradient(0,0,256,1);for(var n in e)o.addColorStop(n,e[n]);return i.fillStyle=o,i.fillRect(0,0,256,1),i.getImageData(0,0,256,1).data},e=function(A,e){var t=document.createElement("canvas"),i=t.getContext("2d"),o=A,n=A;if(t.width=t.height=2*A,1==e)i.beginPath(),i.arc(o,n,A,0,2*Math.PI,!1),i.fillStyle="rgba(0,0,0,1)",i.fill();else{var r=i.createRadialGradient(o,n,A*e,o,n,A);r.addColorStop(0,"rgba(0,0,0,1)"),r.addColorStop(1,"rgba(0,0,0,0)"),i.fillStyle=r,i.fillRect(0,0,2*A,2*A)}return t};function t(e){var t=e.container,i=this.shadowCanvas=document.createElement("canvas"),o=this.canvas=e.canvas||document.createElement("canvas"),n=(this._renderBoundaries=[1e4,1e4,0,0],getComputedStyle(e.container)||{});o.className="heatmap-canvas",this._width=o.width=i.width=e.width||+n.width.replace(/px/,""),this._height=o.height=i.height=e.height||+n.height.replace(/px/,""),this.shadowCtx=i.getContext("2d"),this.ctx=o.getContext("2d"),o.style.cssText=i.style.cssText="position:absolute;left:0;top:0;",t.style.position="relative",t.appendChild(o),this._palette=A(e),this._templates={},this._setStyles(e)}return t.prototype={renderPartial:function(A){A.data.length>0&&(this._drawAlpha(A),this._colorize())},renderAll:function(A){this._clear(),A.data.length>0&&(this._drawAlpha(function(A){for(var e=[],t=A.min,i=A.max,o=A.radi,n=(A=A.data,Object.keys(A)),r=n.length;r--;)for(var a=n[r],s=Object.keys(A[a]),l=s.length;l--;){var c=s[l];e.push({x:a,y:c,value:A[a][c],radius:o[a][c]})}return{min:t,max:i,data:e}}(A)),this._colorize())},_updateGradient:function(e){this._palette=A(e)},updateConfig:function(A){A.gradient&&this._updateGradient(A),this._setStyles(A)},setDimensions:function(A,e){this._width=A,this._height=e,this.canvas.width=this.shadowCanvas.width=A,this.canvas.height=this.shadowCanvas.height=e},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(A){this._blur=0==A.blur?0:A.blur||A.defaultBlur,A.backgroundColor&&(this.canvas.style.backgroundColor=A.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=A.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=A.height||this._height,this._opacity=255*(A.opacity||0),this._maxOpacity=255*(A.maxOpacity||A.defaultMaxOpacity),this._minOpacity=255*(A.minOpacity||A.defaultMinOpacity),this._useGradientOpacity=!!A.useGradientOpacity},_drawAlpha:function(A){for(var t=this._min=A.min,i=this._max=A.max,o=(A=A.data||[]).length,n=1-this._blur;o--;){var r,a=A[o],s=a.x,l=a.y,c=a.radius,h=Math.min(a.value,i),d=s-c,p=l-c,g=this.shadowCtx;this._templates[c]?r=this._templates[c]:this._templates[c]=r=e(c,n);var u=(h-t)/(i-t);g.globalAlpha=.01>u?.01:u,g.drawImage(r,d,p),this._renderBoundaries[0]>d&&(this._renderBoundaries[0]=d),this._renderBoundaries[1]>p&&(this._renderBoundaries[1]=p),d+2*c>this._renderBoundaries[2]&&(this._renderBoundaries[2]=d+2*c),p+2*c>this._renderBoundaries[3]&&(this._renderBoundaries[3]=p+2*c)}},_colorize:function(){var A=this._renderBoundaries[0],e=this._renderBoundaries[1],t=this._renderBoundaries[2]-A,i=this._renderBoundaries[3]-e,o=this._width,n=this._height,r=this._opacity,a=this._maxOpacity,s=this._minOpacity,l=this._useGradientOpacity;0>A&&(A=0),0>e&&(e=0),A+t>o&&(t=o-A),e+i>n&&(i=n-e);for(var c=this.shadowCtx.getImageData(A,e,t,i),h=c.data,d=h.length,p=this._palette,g=3;d>g;g+=4){var u,f=h[g],m=4*f;if(m)u=r>0?r:a>f?s>f?s:f:a,h[g-3]=p[m],h[g-2]=p[m+1],h[g-1]=p[m+2],h[g]=l?p[m+3]:u}this.shadowCtx.putImageData(c,A,e),this.ctx.putImageData(c,A,e),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(A){var e=this.shadowCtx.getImageData(A.x,A.y,1,1).data[3];return Math.abs(this._max-this._min)*(e/255)>>0},getDataURL:function(){return this.canvas.toDataURL()}},t}(),o=(A=!1,"canvas2d"===e.defaultRenderer&&(A=i),A),n=function(){for(var A={},e=arguments.length,t=0;e>t;t++){var i=arguments[t];for(var o in i)A[o]=i[o]}return A},r=function(){var A=function(){function A(){this.cStore={}}return A.prototype={on:function(A,e,t){var i=this.cStore;i[A]||(i[A]=[]),i[A].push((function(A){return e.call(t,A)}))},emit:function(A,e){var t=this.cStore;if(t[A])for(var i=t[A].length,o=0;i>o;o++){(0,t[A][o])(e)}}},A}(),i=function(A){var e=A._renderer,t=A._coordinator,i=A._store;t.on("renderpartial",e.renderPartial,e),t.on("renderall",e.renderAll,e),t.on("extremachange",(function(e){A._config.onExtremaChange&&A._config.onExtremaChange({min:e.min,max:e.max,gradient:A._config.gradient||A._config.defaultGradient})})),i.setCoordinator(t)};function r(){var r=this._config=n(e,arguments[0]||{});if(this._coordinator=new A,r.plugin){var a=r.plugin;if(!e.plugins[a])throw new Error("Plugin '"+a+"' not found. Maybe it was not registered.");var s=e.plugins[a];this._renderer=new s.renderer(r),this._store=new s.store(r)}else this._renderer=new o(r),this._store=new t(r);i(this)}return r.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(A){return this._config=n(this._config,A),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(A){return this._store.getValueAt?this._store.getValueAt(A):this._renderer.getValueAt?this._renderer.getValueAt(A):null}},r}();return{create:function(A){return new r(A)},register:function(A,t){e.plugins[A]=t}}}(),CE=function(){function A(e){cc(this,A),this.viewer=e.viewer3D,this.id=e.id,this.boundary=[],this.quaternion=new f,this.xMin=1/0,this.yMax=-1/0,this.zoomRate=.05}return dc(A,[{key:"createInstance",value:function(A,e){var t=document.createElement("div");t.id="heatmap-"+this.id||(new Date).getTime(),t.style.width="10px",t.style.height="10px",t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.zIndex="-10",t.style.overflow="scroll";var i=document.createElement("div");i.style.width=A+"px",i.style.height=e+"px",t.appendChild(i),this.viewer.viewportDiv.appendChild(t),this.container=t,this.heatmap=mE.create({container:i})}},{key:"getHeatmap",value:function(){return this.heatmap}},{key:"isPlane",value:function(A){if(3>A.length)return!1;if(3===A.length)return!0;for(var e=!0,t=(new y).subVectors(A[0],A[1]),i=(new y).subVectors(A[1],A[2]),o=t.cross(i).normalize(),n=3;A.length>n;n++){var r=(new y).subVectors(A[n-1],A[n]).cross(i).normalize(),a=.001;if(Math.abs(Math.abs(o.x)-Math.abs(r.x))>a||Math.abs(Math.abs(o.y)-Math.abs(r.y))>a||Math.abs(Math.abs(o.z)-Math.abs(r.z))>a){e=!1;break}}return e}},{key:"addHeatmap",value:function(A,e){var t=fE(e.boundary);if(e.data.data.forEach((function(A){t.push(A.point)})),this.isPlane(t)){this.boundary=fE(e.boundary);var i=new f,o=(new y).subVectors(e.boundary[1],e.boundary[0]).cross((new y).subVectors(e.boundary[2],e.boundary[1]));i.setFromUnitVectors(o.normalize(),new y(0,0,1));var n=fE(e.boundary).map((function(A){return A.applyQuaternion(i)}));this.quaternion=i.clone();var r=1/0,a=-1/0,s=1/0,l=-1/0;n.forEach((function(A){r>A.x&&(r=A.x),A.x>a&&(a=A.x),s>A.y&&(s=A.y),A.y>l&&(l=A.y)}));var c=a-r,h=l-s;this.xMin=r,this.yMax=l;var d=e.quality||.05;this.zoomRate=d,this.createInstance(Math.round(c*d),Math.round(h*d));var p=e.data.data.map((function(A){return A.point.applyQuaternion(i)})),g=[];e.data.data.forEach((function(A,e){var t=p[e];g.push({x:Math.round((t.x-r)*d),y:Math.round((l-t.y)*d),value:A.value,radius:(A.radius||1e3)*d})})),this.heatmap.setData({min:e.data.min,max:e.data.max,data:g});var u=new ov(n),m=new jA({map:new en(this.container.querySelector("canvas")),side:2,transparent:!0,polygonOffset:!0,polygonOffsetFactor:-1,polygonOffsetUnits:-1}),C=new Kf(u,m);C.visible=!0;var v=new M;v.elements[14]=n[0].z;var I=new M;return I.makeRotationFromQuaternion(i.inverse()),C.applyMatrix4(I.multiply(v)),this.viewer.addExternalObject(A,C),C.disPickable=!0,this.viewer.disableComponentsSelectionByKey(A),!0}return!1}},{key:"updateHeatmap",value:function(A){var e=this,t=fE(this.boundary);if(A.data.data.forEach((function(A){t.push(A.point)})),this.isPlane(t)){var i=[],o=A.data.data.map((function(A){return new y(A.point.x,A.point.y,A.point.z).applyQuaternion(e.quaternion)})),n=this.zoomRate;return A.data.data.forEach((function(A,t){var r=o[t];i.push({x:Math.round((r.x-e.xMin)*n),y:Math.round((e.yMax-r.y)*n),value:A.value,radius:(A.radius||1e3)*n})})),this.heatmap.setData({min:A.data.min,max:A.data.max,data:i}),this.viewer.getExternalObjectByName(A.id).material.map.needsUpdate=!0,this.viewer.render(),!0}return!1}},{key:"removeHeatmap",value:function(A){this.viewer.removeExternalObjectByName(A),this.viewer.viewportDiv.removeChild(this.container)}}]),A}(),yE=function(A){this.maxEdgeLength=A};yE.prototype.modify=function(A){for(var e,t=[],i=[],o=this.maxEdgeLength*this.maxEdgeLength,n=0,r=A.faceVertexUvs.length;r>n;n++)i[n]=[];for(n=0,r=A.faces.length;r>n;n++){var a=A.faces[n];if(a instanceof GA){var s=a.a,l=a.b,c=a.c,h=A.vertices[s],d=A.vertices[l],p=A.vertices[c],g=h.distanceToSquared(d),u=d.distanceToSquared(p),f=h.distanceToSquared(p);if(g>o||u>o||f>o){var m=A.vertices.length,C=a.clone(),y=a.clone();if(g<u||g<f)if(u<g||u<f){if((v=h.clone()).lerp(p,.5),C.a=s,C.b=l,C.c=m,y.a=m,y.b=l,y.c=c,3===a.vertexNormals.length)(I=a.vertexNormals[0].clone()).lerp(a.vertexNormals[2],.5),C.vertexNormals[2].copy(I),y.vertexNormals[0].copy(I);if(3===a.vertexColors.length)(E=a.vertexColors[0].clone()).lerp(a.vertexColors[2],.5),C.vertexColors[2].copy(E),y.vertexColors[0].copy(E);e=2}else{if((v=d.clone()).lerp(p,.5),C.a=s,C.b=l,C.c=m,y.a=m,y.b=c,y.c=s,3===a.vertexNormals.length)(I=a.vertexNormals[1].clone()).lerp(a.vertexNormals[2],.5),C.vertexNormals[2].copy(I),y.vertexNormals[0].copy(I),y.vertexNormals[1].copy(a.vertexNormals[2]),y.vertexNormals[2].copy(a.vertexNormals[0]);if(3===a.vertexColors.length)(E=a.vertexColors[1].clone()).lerp(a.vertexColors[2],.5),C.vertexColors[2].copy(E),y.vertexColors[0].copy(E),y.vertexColors[1].copy(a.vertexColors[2]),y.vertexColors[2].copy(a.vertexColors[0]);e=1}else{var v,I,E;if((v=h.clone()).lerp(d,.5),C.a=s,C.b=m,C.c=c,y.a=m,y.b=l,y.c=c,3===a.vertexNormals.length)(I=a.vertexNormals[0].clone()).lerp(a.vertexNormals[1],.5),C.vertexNormals[1].copy(I),y.vertexNormals[0].copy(I);if(3===a.vertexColors.length)(E=a.vertexColors[0].clone()).lerp(a.vertexColors[1],.5),C.vertexColors[1].copy(E),y.vertexColors[0].copy(E);e=0}t.push(C,y),A.vertices.push(v);for(var B=0,x=A.faceVertexUvs.length;x>B;B++)if(A.faceVertexUvs[B].length){var S=A.faceVertexUvs[B][n],w=S[0],M=S[1],b=S[2];if(0===e){(K=w.clone()).lerp(M,.5);var U=[w.clone(),K.clone(),b.clone()],F=[K.clone(),M.clone(),b.clone()]}else if(1===e){(K=M.clone()).lerp(b,.5);U=[w.clone(),M.clone(),K.clone()],F=[K.clone(),b.clone(),w.clone()]}else{var K;(K=w.clone()).lerp(b,.5);U=[w.clone(),M.clone(),K.clone()],F=[K.clone(),M.clone(),b.clone()]}i[B].push(U,F)}}else{t.push(a);for(B=0,x=A.faceVertexUvs.length;x>B;B++)i[B].push(A.faceVertexUvs[B][n])}}}A.faces=t,A.faceVertexUvs=i};var vE=function(){function A(e){cc(this,A),this.viewer=e.viewer3D,this.id=e.id,this.boundary=[],this.quaternion=new f,this.xMin=1/0,this.yMax=-1/0,this.zoomRate=.05,this._canvasSize=new s,this.detailFactor=.5,this._offsetToNagZ=!1,this._mesh=void 0,this._originalGeo=void 0,this._currentGeo=void 0}return dc(A,[{key:"createInstance",value:function(A,e){var t=document.createElement("div");t.id="heatmap-"+this.id||(new Date).getTime(),t.style.width="10px",t.style.height="10px",t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.zIndex="-10",t.style.overflow="scroll";var i=document.createElement("div");i.style.width=A+"px",i.style.height=e+"px",this._canvas=i,t.appendChild(i),this.viewer.viewportDiv.appendChild(t),this.container=t,this.heatmap=mE.create({container:i}),this._canvasSize.set(A,e)}},{key:"getHeatmap",value:function(){return this.heatmap}},{key:"isPlane",value:function(A){if(3>A.length)return!1;if(3===A.length)return!0;for(var e=!0,t=(new y).subVectors(A[0],A[1]),i=(new y).subVectors(A[1],A[2]),o=t.cross(i).normalize(),n=3;A.length>n;n+=1){var r=(new y).subVectors(A[n-1],A[n]).cross(i).normalize(),a=.001;if(Math.abs(Math.abs(o.x)-Math.abs(r.x))>a||Math.abs(Math.abs(o.y)-Math.abs(r.y))>a||Math.abs(Math.abs(o.z)-Math.abs(r.z))>a){e=!1;break}}return e}},{key:"addHeatmap",value:function(A,e){var t=fE(e.boundary);if(e.data.data.forEach((function(A){t.push(A.point)})),this.isPlane(t)){this.boundary=fE(e.boundary);var i=new f,o=(new y).subVectors(e.boundary[1],e.boundary[0]).cross((new y).subVectors(e.boundary[2],e.boundary[1]));i.setFromUnitVectors(o.normalize(),new y(0,0,1)),2*o.angleTo(new y(0,0,1))>Math.PI&&(this._offsetToNagZ=!0);var n=fE(e.boundary).map((function(A){return A.applyQuaternion(i)}));this.quaternion=i.clone();var r=1/0,a=-1/0,s=1/0,l=-1/0;n.forEach((function(A){r>A.x&&(r=A.x),A.x>a&&(a=A.x),s>A.y&&(s=A.y),A.y>l&&(l=A.y)}));var c=a-r,h=l-s;this.xMin=r,this.yMax=l;var d=e.quality||.05;this.zoomRate=d,this.createInstance(Math.round(c*d),Math.round(h*d));var p=e.data.data.map((function(A){return A.point.applyQuaternion(i)})),g=[];e.data.data.forEach((function(A,e){var t=p[e];g.push({x:Math.round((t.x-r)*d),y:Math.round((l-t.y)*d),value:A.value,radius:(A.radius||1e3)*d})})),this.heatmap.setData({min:e.data.min,max:e.data.max,data:g});var u=new ov(n),m=new De;m.fromBufferGeometry(u),this._originalGeo=m.clone();var C=this._tessellateGeometry(m);u=(new he).fromGeometry(C),this._offsetZ(u);var v=new jA({map:new en(this.container.querySelector("canvas")),transparent:!0,side:2,polygonOffset:!0,polygonOffsetFactor:-1,polygonOffsetUnits:-1,wireframe:!1}),I=new Kf(u,v);I.visible=!0;var E=new M;E.elements[14]=n[0].z;var B=new M;return B.makeRotationFromQuaternion(i.inverse()),I.applyMatrix4(B.multiply(E)),this.viewer.addExternalObject(A,I),I.disPickable=!0,this.viewer.disableComponentsSelectionByKey(A),this._mesh=I,!0}return!1}},{key:"updateHeatmap",value:function(A){var e=this,t=fE(this.boundary);if(A.data.data.forEach((function(A){t.push(A.point)})),this.isPlane(t)){var i=[],o=A.data.data.map((function(A){return new y(A.point.x,A.point.y,A.point.z).applyQuaternion(e.quaternion)})),n=this.zoomRate;A.data.data.forEach((function(A,t){var r=o[t];i.push({x:Math.round((r.x-e.xMin)*n),y:Math.round((e.yMax-r.y)*n),value:A.value,radius:(A.radius||1e3)*n})})),this.heatmap.setData({min:A.data.min,max:A.data.max,data:i});var r=this.viewer.getExternalObjectByName(A.id);if(r)return r.material.map.needsUpdate=!0,this.viewer.render(),!0}return!1}},{key:"removeHeatmap",value:function(A){this.viewer.removeExternalObjectByName(A),this.viewer.viewportDiv.removeChild(this.container)}},{key:"setDetailFactor",value:function(A){if(this.detailFactor!==A&&(this.detailFactor=A,this._originalGeo&&this._mesh)){var e=this._originalGeo.clone(),t=this._tessellateGeometry(e),i=(new he).fromGeometry(t);this._offsetZ(i),this._mesh.geometry=i}}},{key:"_tessellateGeometry",value:function(A){for(var e=new yE(100),t=10+Math.round(10*this.detailFactor),i=0;t>i;i+=1)e.modify(A);return A}},{key:"_easeInOutQuad",value:function(A){return 1-(1-A)*(1-A)}},{key:"_offsetZ",value:function(A){for(var e=A.getAttribute("uv").array,t=A.getAttribute("position").array,i=this.heatmap.getData(),o=0,n=e.length;n>o;o+=2){var r=(this.heatmap.getValueAt({x:e[o]*this._canvasSize.x,y:(1-e[o+1])*this._canvasSize.y})-i.min)/(i.max-i.min);r=this._easeInOutQuad(r),t[o/2*3+2]=1e3*r*(this._offsetToNagZ?-1:1)}A.getAttribute("position").needsUpdate=!0}}]),A}(),IE=function(){function A(e,t){cc(this,A),this.viewer=t,this.maxHeatValue=1/0,this.minHeatValue=-1/0,this._init(e)}return dc(A,[{key:"show",value:function(A){var e=this;function t(A){if(0===A.uniforms.heatmapPoints.value.length)A.fragmentShader="#define HEATMAPPOINTSCOUNT "+e.shaderData.heatmapPoints.length+"\n"+A.fragmentShader,A.vertexShader="#define HEATMAPPOINTSCOUNT "+e.shaderData.heatmapPoints.length+"\n"+A.vertexShader;else{var t="#define HEATMAPPOINTSCOUNT "+A.uniforms.heatmapPoints.value.length;A.fragmentShader=A.fragmentShader.replace(t,"#define HEATMAPPOINTSCOUNT "+e.shaderData.heatmapPoints.length),A.vertexShader=A.vertexShader.replace(t,"#define HEATMAPPOINTSCOUNT "+e.shaderData.heatmapPoints.length)}A.uniforms.heatmapPoints.value=e.shaderData.heatmapPoints,A.uniforms.heatmapTexture.value=e.shaderData.heatmapTexture,A.needsUpdate=!0}if(A){if(!this.viewer.getViewerImpl().getModelByComponentKey(A))return;var i=this.viewer.getViewerImpl().modelManager.getComponent(A);if(i&&i.length>0)for(var o=i[0].mesh.material,n=0,r=o.length;r>n;n+=1)o[n]=o[n].clone(),t(o[n])}else this.shaderData.heatmapPoints&&this.shaderData.heatmapTexture&&(this.viewer.getViewerImpl().getModelManager().traverseModels((function(A){var e=A.materialManager.materials;for(var i in e){t(e[i])}})),this.viewer.syncRender())}},{key:"hide",value:function(){var A=this;this.shaderData.heatmapPoints&&this.shaderData.heatmapTexture&&(this.viewer.getViewerImpl().getModelManager().traverseModels((function(e){var t=e.materialManager.materials;for(var i in t){var o=t[i];if(o.uniforms.heatmapPoints.value.length>0){o.uniforms.heatmapPoints.value=[],o.uniforms.heatmapTexture.value=null;var n="#define HEATMAPPOINTSCOUNT "+A.shaderData.heatmapPoints.length;o.fragmentShader=o.fragmentShader.replace(n,""),o.vertexShader=o.vertexShader.replace(n,""),o.needsUpdate=!0}}})),this.viewer.render())}},{key:"removeHeatmap",value:function(){this.hide(),this.shaderData.heatmapPoints&&delete this.shaderData.heatmapPoints,this.shaderData.heatmapTexture&&delete this.shaderData.heatmapTexture}},{key:"updateHeatmap",value:function(A){var e=A.data;this.maxHeatValue=e.max?e.max:1/0,this.minHeatValue=e.min?e.min:-1/0,this.shaderData.heatmapPoints=this._createHeatmapBuffer(A.data),this.show()}},{key:"_init",value:function(A){var e=A.data;this.maxHeatValue=e.max?e.max:1/0,this.minHeatValue=e.min?e.min:-1/0,this.shaderData={heatmapPoints:this._createHeatmapBuffer(e),heatmapTexture:this._createHeatmapTexture()}}},{key:"_createHeatmapBuffer",value:function(A){if(A.data&&0!==A.data.length){if(this.maxHeatValue===1/0||this.minHeatValue===-1/0)for(var e=0,t=A.data.length;t>e;e+=1){var i=A.data[e];i.value>this.maxHeatValue&&(this.maxHeatValue=i.value),this.minHeatValue>i.value&&(this.minHeatValue=i.value)}for(var o=[],n=0,r=A.data.length;r>n;n+=1){var a=A.data[n],s=Math.max(this.minHeatValue,Math.min(a.value,this.maxHeatValue));o.push(a.point.x,a.point.y,a.point.z,(s-this.minHeatValue)/(this.maxHeatValue-this.minHeatValue),a.radius?a.radius:1e3)}return new Float32Array(o)}}},{key:"_createHeatmapTexture",value:function(){var A=document.createElement("canvas");A.width=256,A.height=1;var e=A.getContext("2d"),t=e.createLinearGradient(0,0,256,1),i={0:"#44f",.1:"#0ff",.2:"#0f0",.4:"#ff0",1:"#f00"};for(var o in i)t.addColorStop(o,i[o]);return e.fillStyle=t,e.fillRect(0,0,256,1),new en(A)}}]),A}(),EE=function(){function A(e,t){cc(this,A),this.heatSpheres=[],this.viewer=t,this.maxHeatValue=1/0,this.minHeatValue=-1/0,this._animating=!1,this._lastAnimateTime=void 0,this._localTime=0,this._duration=2e3,this._init(e)}return dc(A,[{key:"getColorIndexAndValueOfHeatValue",value:function(e){A.colorBoard||(A.colorBoard=this._createColorBoard());var t=(Math.max(this.minHeatValue,Math.min(e,this.maxHeatValue))-this.minHeatValue)/(this.maxHeatValue-this.minHeatValue)*255,i=4*(t=Math.round(t));return{color:new LA(A.colorBoard[i]/255,A.colorBoard[i+1]/255,A.colorBoard[i+2]/255),index:t}}},{key:"updateHeatmap",value:function(A){this.removeHeatmap(),this._init(A),this.startAnimation(this._duration)}},{key:"startAnimation",value:function(A){var e=this;this._animating||(this._animating=!0,A&&(this._duration=A),requestAnimationFrame((function(A){return e._animate(A)})))}},{key:"stopAnimation",value:function(){this._animating=!1,this._lastAnimateTime=void 0,this._localTime=0}},{key:"removeHeatmap",value:function(){var A=this;this.stopAnimation(),this.heatSpheres.forEach((function(e){A.viewer.removeExternalObjectByName(e.uuid)}))}},{key:"_animate",value:function(e){var t=this,i=this._lastAnimateTime?e-this._lastAnimateTime:0;if(!this._lastAnimateTime||i>100){this._localTime+=i/this._duration,1>this._localTime||(this._localTime=0);var o=this._easeOutSine(this._localTime);this.heatSpheres.forEach((function(e){e.scale.set(o,o,o),e.updateMatrixWorld(!0);var i=e.userData._heatColorIndex;i=4*Math.round(i*(1-t._localTime)),e.material.color.setRGB(A.colorBoard[i]/255,A.colorBoard[i+1]/255,A.colorBoard[i+2]/255),e.material.needsUpdate=!0})),this.viewer.render(),this._lastAnimateTime=e}this._animating&&requestAnimationFrame((function(A){return t._animate(A)}))}},{key:"_init",value:function(A){var e=A.data;if(this.maxHeatValue=e.max?e.max:1/0,this.minHeatValue=e.min?e.min:-1/0,this._sphereOpacity=e.alpha?e.alpha:.7,this.maxHeatValue===1/0||this.minHeatValue===-1/0)for(var t=0,i=e.data.length;i>t;t+=1){var o=e.data[t];o.value>this.maxHeatValue&&(this.maxHeatValue=o.value),this.minHeatValue>o.value&&(this.minHeatValue=o.value)}for(var n=0,r=e.data.length;r>n;n+=1)this._addHeatPoint(e.data[n])}},{key:"_addHeatPoint",value:function(A){var e=A,t=e.radius?e.radius:1e3,i=10*Math.log10(t),o=new er(t,i,i),n=this.getColorIndexAndValueOfHeatValue(e.value),r=n.index,a=new Ue(o,new xr({color:n.color,depthTest:!0,transparent:!0,opacity:this._sphereOpacity}));a.position.set(e.point.x,e.point.y,e.point.z),a.updateMatrixWorld(!0),a.userData._heatValue=e.value,a.userData._heatColorIndex=r,a.disPickable=!0,this.viewer.disableComponentsSelectionByKey(a.uuid),this.heatSpheres.push(a),this.viewer.addExternalObject(a.uuid,a)}},{key:"_createColorBoard",value:function(){var A=document.createElement("canvas");A.width=256,A.height=1;var e=A.getContext("2d"),t=e.createLinearGradient(0,0,256,1),i={0:"#44f",.1:"#0ff",.2:"#0f0",.4:"#ff0",1:"#f00"};for(var o in i)t.addColorStop(o,i[o]);return e.fillStyle=t,e.fillRect(0,0,256,1),e.getImageData(0,0,256,1).data}},{key:"_easeOutCubic",value:function(A){return 1-Math.pow(1-A,3)}},{key:"_easeOutSine",value:function(A){return Math.sin(A*Math.PI/2)}},{key:"_easeInCubic",value:function(A){return A*A*A}}]),A}(),BE=function(){function A(e){cc(this,A),this.viewer=e.viewer3D,this.mapCollection={}}return dc(A,[{key:"createHeatmap",value:function(A){var e=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),t=new CE({viewer3D:this.viewer,id:e}),i=fE(A);return i.data.data.forEach((function(A){A.point=new y(A.point.x,A.point.y,A.point.z)})),i.boundary=i.boundary.map((function(A){return new y(A.x,A.y,A.z)})),t.addHeatmap(e,i)?(this.mapCollection[e]=t,{code:"success",id:e}):{code:"error",message:"输入的点不共面"}}},{key:"updateHeatmap",value:function(A){var e=this.mapCollection[A.id];if(e&&e.updateHeatmap)return e.updateHeatmap(A)}},{key:"removeHeatmap",value:function(A){return!!this.mapCollection[A]&&(this.mapCollection[A].removeHeatmap(A),delete this.mapCollection[A],!0)}},{key:"createHeatmap3D",value:function(A){var e=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),t=new vE({viewer3D:this.viewer,id:e}),i=fE(A);return i.data.data.forEach((function(A){A.point=new y(A.point.x,A.point.y,A.point.z)})),i.boundary=i.boundary.map((function(A){return new y(A.x,A.y,A.z)})),t.addHeatmap(e,i)?(this.mapCollection[e]=t,{code:"success",id:e,map:t}):{code:"error",message:"输入的点不共面"}}},{key:"createSphereHeatmap",value:function(A){if(A.data&&A.data.data){var e=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),t=new EE(A,this.viewer);return t.startAnimation(5e3),this.mapCollection[e]=t,{code:"success",id:e,map:t}}return{code:"error",message:"参数错误"}}},{key:"createSphereColorOverrideHeatmap",value:function(A){if(A.data&&A.data.data){if(A.data.data.length>150)return{code:"error",message:"热力源个数不能超过150"};var e=new IE(A,this.viewer),t=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8);return this.mapCollection[t]=e,e.show(),{code:"success",id:t,map:e}}return{code:"error",message:"参数错误"}}}]),A}(),xE=function(A,e){Xo.call(this,A,e),this.pointIds=[]};(xE.prototype=Object.create(Xo.prototype)).constructor=xE,xE.prototype.raycast=function(){var A=new M,e=new CA,t=new cA;return function(i,o){var n=this,r=this.geometry,a=this.matrixWorld,s=this.size,l=i.camera||i._camera,c=i.viewportSize.height,h=this.pointIds;function d(e,t){var i=e.clone();return i.applyMatrix4(a),i.project(l),i.y+=t/c,i.unproject(l),i.applyMatrix4(A),i}A.getInverse(a),null===r.boundingSphere&&r.computeBoundingSphere(),t.copy(r.boundingSphere);var p=t.center,g=d(p,s),u=g.distanceToSquared(p);if(t.radius+=u,t.center.copy(g),t.applyMatrix4(a),!1!==i.ray.intersectsSphere(t)){e.copy(i.ray).applyMatrix4(A);var f=new y,m=s;if(r.isBufferGeometry){var C=r.index,v=r.attributes,I=v.position.array,E=!1,B=null;if(v.attrSize&&(E=!0,B=v.attrSize.array),null!==C)for(var x=C.array,S=0,w=x.length;w>S;S+=1){var M=x[S];f.fromArray(I,3*M),E&&(m=B[M]),F(f,m,M)}else{S=0;for(var b=I.length/3;b>S;S+=1)f.fromArray(I,3*S),E&&(m=B[S]),F(f,m,S)}}else{var U=r.vertices;for(S=0,b=U.length;b>S;S+=1)F(U[S],m,S)}}function F(A,t,r){var s=d(A,t),l=s.distanceToSquared(A),c=e.distanceSqToPoint(s);if(l>c){var p=e.closestPointToPoint(s);p.applyMatrix4(a);var g=i.ray.origin.distanceTo(p);if(i.near>g||g>i.far)return;o.push({id:h[r],distance:g,distanceToRay:Math.sqrt(c),point:p.clone(),index:r,face:null,object:n})}}}}(),xE.prototype.setAttributeSize=function(A,e){var t=this.geometry.attributes;t.attrSize&&(t.attrSize.array[A]=e,t.attrSize.needsUpdate=!0)},xE.prototype.getAttributeSize=function(A){var e=this.geometry.attributes,t=this.size;return e.attrSize&&(t=e.attrSize.array[A]),t};var SE=["attribute vec3 customColor;","attribute float customOpacity;","attribute float customSize;","attribute float customAngle;","attribute float customVisible;","varying vec4 vColor;","varying float vAngle;","void main()","{","if ( customVisible > 0.5 )","vColor = vec4( customColor, customOpacity );","else","vColor = vec4(0.0, 0.0, 0.0, 0.0);","vAngle = customAngle;","vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );","gl_PointSize = customSize * ( 3000.0 / length( mvPosition.xyz ) );","gl_Position = projectionMatrix * mvPosition;","}"].join("\n"),wE=["uniform sampler2D texture;","varying vec4 vColor;","varying float vAngle;","void main()","{","gl_FragColor = vColor;","float c = cos(vAngle);","float s = sin(vAngle);","vec2 rotatedUV = vec2(c * (gl_PointCoord.x - 0.5) + s * (gl_PointCoord.y - 0.5) + 0.5,","c * (gl_PointCoord.y - 0.5) - s * (gl_PointCoord.x - 0.5) + 0.5);","vec4 rotatedTexture = texture2D( texture, rotatedUV );","gl_FragColor = gl_FragColor * rotatedTexture;","}"].join("\n");function ME(A,e){this.times=A||[],this.values=e||[]}function bE(){this.position=new y,this.velocity=new y,this.acceleration=new y,this.angle=0,this.angleVelocity=0,this.angleAcceleration=0,this.size=16,this.color=new LA,this.opacity=1,this.age=0,this.alive=0}function UE(){this.positionStyle=1,this.positionBase=new y,this.positionSpread=new y,this.positionRadius=0,this.velocityStyle=1,this.velocityBase=new y,this.velocitySpread=new y,this.speedBase=0,this.speedSpread=0,this.accelerationBase=new y,this.accelerationSpread=new y,this.angleBase=0,this.angleSpread=0,this.angleVelocityBase=0,this.angleVelocitySpread=0,this.angleAccelerationBase=0,this.angleAccelerationSpread=0,this.sizeBase=0,this.sizeSpread=0,this.sizeTween=new ME,this.colorBase=new y(0,1,.5),this.colorSpread=new y(0,0,0),this.colorTween=new ME,this.opacityBase=1,this.opacitySpread=0,this.opacityTween=new ME,this.blendStyle=1,this.particleArray=[],this.particlesPerSecond=100,this.particleDeathAge=1,this.emitterAge=0,this.emitterAlive=!0,this.emitterDeathAge=60,this.particleCount=this.particlesPerSecond*Math.min(this.particleDeathAge,this.emitterDeathAge)}ME.prototype.lerp=function(A){for(var e=0,t=this.times.length;t>e&&A>this.times[e];)e+=1;if(0===e)return this.values[0];if(e===t)return this.values[t-1];var i=(A-this.times[e-1])/(this.times[e]-this.times[e-1]);return this.values[0]instanceof y?this.values[e-1].clone().lerp(this.values[e],i):this.values[e-1]+i*(this.values[e]-this.values[e-1])},bE.prototype.update=function(A){if(this.position.add(this.velocity.clone().multiplyScalar(A)),this.velocity.add(this.acceleration.clone().multiplyScalar(A)),this.angle+=.01745329251*this.angleVelocity*A,this.angleVelocity+=.01745329251*this.angleAcceleration*A,this.age+=A,this.sizeTween.times.length>0&&(this.size=this.sizeTween.lerp(this.age)),this.colorTween.times.length>0){var e=this.colorTween.lerp(this.age);this.color=(new LA).setHSL(e.x,e.y,e.z)}this.opacityTween.times.length>0&&(this.opacity=this.opacityTween.lerp(this.age))},UE.prototype.setValues=function(A){if(void 0!==A){for(var e in this.sizeTween=new ME,this.colorTween=new ME,this.opacityTween=new ME,A)this[e]=A[e];this.particleArray=[],this.emitterAlive=!0,this.particleCount=this.particlesPerSecond*Math.min(this.particleDeathAge,this.emitterDeathAge),this.particleGeometry=new he,this.particleMaterial=new Pe({uniforms:{texture:{value:this.particleTexture}},vertexShader:SE,fragmentShader:wE,transparent:!0,blending:1,depthWrite:!1}),this.particleMesh=new xE}},UE.prototype.randomValue=function(A,e){return A+e*(Math.random()-.5)},UE.prototype.randomVector3=function(A,e){var t=new y(Math.random()-.5,Math.random()-.5,Math.random()-.5);return(new y).addVectors(A,t.multiplyVectors(e,t))},UE.prototype.updateVector3=function(A,e,t){var i=new y(Math.random()-.5,Math.random()-.5,Math.random()-.5);A.set(0,0,0),A.addVectors(e,i.multiplyVectors(t,i))},UE.prototype.createParticle=function(){var A=new bE;if(1===this.positionStyle&&(A.position=this.randomVector3(this.positionBase,this.positionSpread)),2===this.positionStyle){var e=2*Math.random()-1,t=6.2832*Math.random(),i=Math.sqrt(1-e*e),o=new y(i*Math.cos(t),i*Math.sin(t),e);A.position=(new y).addVectors(this.positionBase,o.multiplyScalar(this.positionRadius))}if(1===this.velocityStyle&&(A.velocity=this.randomVector3(this.velocityBase,this.velocitySpread)),2===this.velocityStyle){var n=(new y).subVectors(A.position,this.positionBase),r=this.randomValue(this.speedBase,this.speedSpread);A.velocity=n.normalize().multiplyScalar(r)}A.acceleration=this.randomVector3(this.accelerationBase,this.accelerationSpread),A.angle=this.randomValue(this.angleBase,this.angleSpread),A.angleVelocity=this.randomValue(this.angleVelocityBase,this.angleVelocitySpread),A.angleAcceleration=this.randomValue(this.angleAccelerationBase,this.angleAccelerationSpread),A.size=this.randomValue(this.sizeBase,this.sizeSpread);var a=this.randomVector3(this.colorBase,this.colorSpread);return A.color=(new LA).setHSL(a.x,a.y,a.z),A.opacity=this.randomValue(this.opacityBase,this.opacitySpread),A.age=0,A.alive=0,A.sizeTween=this.sizeTween,A.colorTween=this.colorTween,A.opacityTween=this.opacityTween,A},UE.prototype.updateParticle=function(A){if(1===this.positionStyle&&this.updateVector3(A.position,this.positionBase,this.positionSpread),2===this.positionStyle){var e=2*Math.random()-1,t=6.2832*Math.random(),i=Math.sqrt(1-e*e),o=new y(i*Math.cos(t),i*Math.sin(t),e);A.position=(new y).addVectors(this.positionBase,o.multiplyScalar(this.positionRadius))}if(1===this.velocityStyle&&this.updateVector3(A.velocity,this.velocityBase,this.velocitySpread),2===this.velocityStyle){var n=(new y).subVectors(A.position,this.positionBase),r=this.randomValue(this.speedBase,this.speedSpread);A.velocity=n.normalize().multiplyScalar(r)}this.updateVector3(A.acceleration,this.accelerationBase,this.accelerationSpread),A.angle=this.randomValue(this.angleBase,this.angleSpread),A.angleVelocity=this.randomValue(this.angleVelocityBase,this.angleVelocitySpread),A.angleAcceleration=this.randomValue(this.angleAccelerationBase,this.angleAccelerationSpread),A.size=this.randomValue(this.sizeBase,this.sizeSpread);var a=this.randomVector3(this.colorBase,this.colorSpread);A.color=A.color.setHSL(a.x,a.y,a.z),A.opacity=this.randomValue(this.opacityBase,this.opacitySpread),A.age=0,A.alive=0},UE.prototype.initialize=function(){this.sortArray=[],this.positions=new Float32Array(3*this.particleCount),this.customVisible=new Float32Array(this.particleCount),this.customSize=new Float32Array(this.particleCount),this.customColor=new Float32Array(3*this.particleCount),this.customOpacity=new Float32Array(this.particleCount),this.maxSize=200;for(var A=0;this.particleCount>A;A+=1)this.particleArray[A]=this.createParticle(),this.positions[3*A]=this.particleArray[A].position.x,this.positions[3*A+1]=this.particleArray[A].position.y,this.positions[3*A+2]=this.particleArray[A].position.z,this.customVisible[A]=this.particleArray[A].alive,this.customColor[3*A]=this.particleArray[A].color.r,this.customColor[3*A+1]=this.particleArray[A].color.g,this.customColor[3*A+2]=this.particleArray[A].color.b,this.customOpacity[A]=this.particleArray[A].opacity,this.customSize[A]=this.particleArray[A].size,this.maxSize=this.maxSize>this.customSize[A]?this.maxSize:this.customSize[A];this.particleMaterial.blending=this.blendStyle,this.particleGeometry.setAttribute("position",new YA(this.positions,3)),this.particleGeometry.setAttribute("customColor",new YA(this.customColor,3)),this.particleGeometry.setAttribute("customVisible",new YA(this.customVisible,1)),this.particleGeometry.setAttribute("customSize",new YA(this.customSize,1)),this.particleGeometry.setAttribute("customOpacity",new YA(this.customOpacity,1)),this.particleMesh=new xE(this.particleGeometry,this.particleMaterial),this.particleMesh.dynamic=!0,this.particleMesh.size=this.maxSize,this.particleMesh.renderOrder=-1},UE.prototype.update=function(A){A=void 0===A?.015:A;for(var e=[],t=0;this.particleCount>t;t+=1)this.particleArray[t].alive&&(this.particleArray[t].update(A),this.particleArray[t].age>this.particleDeathAge&&(this.particleArray[t].alive=0,e.push(t)),this.customVisible[t]=this.particleArray[t].alive,this.customOpacity[t]=this.particleArray[t].opacity,this.customSize[t]=this.particleArray[t].size,this.customColor[3*t]=this.particleArray[t].color.r,this.customColor[3*t+1]=this.particleArray[t].color.g,this.customColor[3*t+2]=this.particleArray[t].color.b,this.positions[3*t]=this.particleArray[t].position.x,this.positions[3*t+1]=this.particleArray[t].position.y,this.positions[3*t+2]=this.particleArray[t].position.z,this.maxSize=this.maxSize>this.customSize[t]?this.maxSize:this.customSize[t]);if(this.particleGeometry.getAttribute("customVisible").needsUpdate=!0,this.particleGeometry.getAttribute("customOpacity").needsUpdate=!0,this.particleGeometry.getAttribute("customSize").needsUpdate=!0,this.particleGeometry.getAttribute("customColor").needsUpdate=!0,this.particleGeometry.getAttribute("position").needsUpdate=!0,this.emitterAlive){var i=Math.round(this.particlesPerSecond*(this.emitterAge+0)),o=Math.round(this.particlesPerSecond*(this.emitterAge+A));o>this.particleCount&&(o=this.particleCount);for(t=i;o>t;t+=1)this.particleArray[t].alive=1;for(var n=0;e.length>n;n+=1){this.updateParticle(this.particleArray[t=e[n]]),this.particleArray[t].alive=1,this.positions[3*t]=this.particleArray[t].position.x,this.positions[3*t+1]=this.particleArray[t].position.y,this.positions[3*t+2]=this.particleArray[t].position.z}this.emitterAge+=A}},UE.prototype.setScale=function(A){for(var e=0,t=this.sizeTween.values.length;t>e;e+=1)this.sizeTween.values[e]=this.sizeTween.values[e]*A;this.maxSize*=A},UE.prototype.initializeSizetween=function(A){for(var e=0,t=this.sizeTween.values.length;t>e;e+=1)this.sizeTween.values[e]=this.sizeTween.values[e]*A;for(e=0;this.particleCount>e;e+=1)this.particleArray[e].size*=A,this.customSize[e]=this.particleArray[e].size,this.maxSize=this.maxSize>this.customSize[e]?this.maxSize:this.customSize[e];this.particleGeometry.getAttribute("customSize").needsUpdate=!0},UE.prototype.destroy=function(){};var FE=function(){return Xi.call(this),this.firePosition={x:0,y:0,z:0},this.position.set(this.firePosition.x,this.firePosition.y,this.firePosition.z),this.fireScale=1,this.type="fire",this.disPickable=!0,this.autoAnimation=!0,this._loadTexture(),this._initialize(),this};(FE.prototype=Object.create(Xi.prototype)).constructor=Xi.prototype,FE.prototype._initialize=function(){this.fire=new UE,this.fire.setValues({positionStyle:1,positionBase:new y(0,0,600),positionSpread:new y(1500,1500,600),velocityStyle:1,velocityBase:new y(0,0,4600),velocitySpread:new y(1e3,1e3,4600),accelerationBase:new y(0,0,2600),particleTexture:this.fireParticle,sizeTween:new ME([0,.1],[32,200]),opacityTween:new ME([.7,1],[.8,0]),colorBase:new y(.04,1,.4),blendStyle:2,particlesPerSecond:80,particleDeathAge:1.5}),this.fire.initialize(),this.smoke=new UE,this.smoke.setValues({positionStyle:1,positionBase:new y(0,0,2600),positionSpread:new y(1500,1500,600),velocityStyle:1,velocityBase:new y(0,0,3600),velocitySpread:new y(1800,1800,1100),accelerationBase:new y(0,0,2600),particleTexture:this.smokeParticle,sizeTween:new ME([0,1],[32,200]),opacityTween:new ME([.5,1,1.7],[0,.3,0]),colorTween:new ME([.4,1],[new y(0,0,0),new y(0,0,.2)]),blendStyle:1,particlesPerSecond:40,particleDeathAge:2}),this.smoke.initialize(),this.add(this.fire.particleMesh),this.add(this.smoke.particleMesh)},FE.prototype._initializeSizetween=function(A){this.fire.initializeSizetween(A),this.smoke.initializeSizetween(A)},FE.prototype.update=function(){this.fire.update(),this.smoke.update()},FE.prototype.getPosition=function(){return this.firePosition},FE.prototype.setPosition=function(A){if(A)if("number"==typeof A.x)if("number"==typeof A.y)if("number"==typeof A.z){if(this.firePosition=A,this.position.set(this.firePosition.x,this.firePosition.y,this.firePosition.z),this.updateMatrixWorld(),this.originBox){var e=this.originBox.clone();this.box=e.applyMatrix4(this.matrix),this.levelName=null}}else Bh.error("缺少参数 position.z");else Bh.error("缺少参数 position.y");else Bh.error("缺少参数 position.x");else Bh.error("缺少参数 position")},FE.prototype.getScale=function(){return this.fireScale},FE.prototype.setScale=function(A){this.scale.set(A,A,A),this.updateMatrixWorld(),this.fire.setScale(A/this.fireScale),this.smoke.setScale(A/this.fireScale),this.fireScale=A},FE.prototype._loadTexture=function(){var A=new Aa;this.fireParticle=A.load("data:image/png;base64,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"),this.smokeParticle=A.load("data:image/png;base64,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")};var KE=function(){JC.call(this),this.type="LineGeometry"};KE.prototype=Object.assign(Object.create(JC.prototype),{constructor:KE,isLineGeometry:!0,setPositions:function(A){for(var e=A.length-3,t=new Float32Array(2*e),i=0;e>i;i+=3)t[2*i]=A[i],t[2*i+1]=A[i+1],t[2*i+2]=A[i+2],t[2*i+3]=A[i+3],t[2*i+4]=A[i+4],t[2*i+5]=A[i+5];return JC.prototype.setPositions.call(this,t),this},setColors:function(A){for(var e=A.length-3,t=new Float32Array(2*e),i=0;e>i;i+=3)t[2*i]=A[i],t[2*i+1]=A[i+1],t[2*i+2]=A[i+2],t[2*i+3]=A[i+3],t[2*i+4]=A[i+4],t[2*i+5]=A[i+5];return JC.prototype.setColors.call(this,t),this},fromLine:function(A){var e=A.geometry;return e.isGeometry?this.setPositions(e.vertices):e.isBufferGeometry&&this.setPositions(e.position.array),this},copy:function(){return this}});var QE=function(A,e){XC.call(this),this.type="Line2",this.geometry=void 0!==A?A:new KE,this.material=void 0!==e?e:new YC({color:16777215*Math.random()})};QE.prototype=Object.assign(Object.create(XC.prototype),{constructor:QE,isLine2:!0,copy:function(){return this}});function RE(A){return"symbol"==typeof A||Zv(A)&&"[object Symbol]"==Sv(A)}var TE=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,kE=/^\w*$/;function DE(A,e){if("function"!=typeof A||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var t=function(){var i=arguments,o=e?e.apply(this,i):i[0],n=t.cache;if(n.has(o))return n.get(o);var r=A.apply(this,i);return t.cache=n.set(o,r)||n,r};return t.cache=new(DE.Cache||qv),t}DE.Cache=qv;var LE=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,NE=/\\(\\)?/g,OE=function(A){var e=DE(A,(function(A){return 500===t.size&&t.clear(),A})),t=e.cache;return e}((function(A){var e=[];return 46===A.charCodeAt(0)&&e.push(""),A.replace(LE,(function(A,t,i,o){e.push(i?o.replace(NE,"$1"):t||A)})),e}));var VE=Cv?Cv.prototype:void 0,GE=VE?VE.toString:void 0;function PE(A){if("string"==typeof A)return A;if(tI(A))return function(A,e){for(var t=-1,i=null==A?0:A.length,o=Array(i);++t<i;)o[t]=e(A[t],t,A);return o}(A,PE)+"";if(RE(A))return GE?GE.call(A):"";var e=A+"";return"0"==e&&1/A==-1/0?"-0":e}function qE(A,e){return tI(A)?A:function(A,e){if(tI(A))return!1;var t=typeof A;return!("number"!=t&&"symbol"!=t&&"boolean"!=t&&null!=A&&!RE(A))||(kE.test(A)||!TE.test(A)||null!=e&&A in Object(e))}(A,e)?[A]:OE(function(A){return null==A?"":PE(A)}(A))}function jE(A){if("string"==typeof A||RE(A))return A;var e=A+"";return"0"==e&&1/A==-1/0?"-0":e}function HE(A,e,t){var i=null==A?void 0:function(A,e){for(var t=0,i=(e=qE(e,A)).length;null!=A&&i>t;)A=A[jE(e[t++])];return t&&t==i?A:void 0}(A,e);return void 0===i?t:i}var YE={height:0,speed:1e3,frameTime:14},WE=new hp,JE=function(){function A(e){cc(this,A),this.roadnet={},this.shortestPathLineMap={},this.roadNetLineMap={},this.roadNetPointMap={},this.roadNetInfoMap={},this.roadNetEdgeMap={},this.roadNetPointMap={},this.mapRoadNetListByModelKey={},this.mapModelKeyByRoadNetKey={},this.modelInfo={},this.viewer3D=e}return dc(A,[{key:"_getRoadNetListByModelKey",value:function(A){var e=this,t=this;return new Promise((function(i,o){(function(A){var e=A.viewer3D.getViewerImpl().getModel(A.modelKey),t=HE(e,["loader","url","serverUrl"])||HE(A,["viewer3D","host"],""),i=e.projectKey,o=e.accessToken,n="";e.share&&(n="&share="+e.share);var r={url:"".concat(t,"/").concat(A.apiVersion||"api","/").concat(i,"/routes/list?modelKey=").concat(A.modelKey).concat(n)};return o&&(r.headers={Authorization:o}),_d(r)})({viewer3D:e.viewer3D,modelKey:A}).then((function(e){var n,r=t.viewer3D.getViewerImpl().getModel(A);if(!r)return Bh.error(A+"模型不存在"),void o(A+"模型不存在");if(t.modelInfo[A]=r,"SUCCESS"===(n="string"==typeof e?JSON.parse(e):e).code){var a=t.mapRoadNetListByModelKey;a[A]={};for(var s=0,l=n.data.length;l>s;s+=1){var c=n.data[s],h=c.key;a[A][h]=c,t.roadNetInfoMap[h]=c,t.mapModelKeyByRoadNetKey[h]=A}i()}else o(n.message)})).catch((function(){Bh.error("获取模型路网列表失败"),o("获取模型路网列表失败")}))}))}},{key:"_getRoadNetDataByRouteKey",value:function(A,e,t){var i=this,o=this,n=[],r=this.mapModelKeyByRoadNetKey[A];if(r)return n.push(new Promise((function(e,t){(function(A){var e=A.viewer3D.getViewerImpl().getModel(A.modelKey),t=HE(e,["loader","url","serverUrl"])||HE(A,["viewer3D","host"],""),i=e.projectKey,o=e.accessToken,n="";e.share&&(n="&share="+e.share);var r={url:"".concat(t,"/").concat(A.apiVersion||"api","/").concat(i,"/routes/points?routeKey=").concat(A.routeKey).concat(n)};return o&&(r.headers={Authorization:o}),_d(r)})({viewer3D:i.viewer3D,routeKey:A,modelKey:r}).then((function(i){var n;if("SUCCESS"===(n="string"==typeof i?JSON.parse(i):i).code){var r=o.roadNetPointMap;r[A]={};for(var a=0,s=n.data.length;s>a;a+=1){var l=n.data[a];r[A][l.key]=l}e()}else t(n.message)})).catch((function(){Bh.error("获取模型路网列表失败"),t("获取模型路网列表失败")}))}))),n.push(new Promise((function(e,t){(function(A){var e=A.viewer3D.getViewerImpl().getModel(A.modelKey),t=HE(e,["loader","url","serverUrl"])||HE(A,["viewer3D","host"],""),i=e.projectKey,o=e.accessToken,n="";e.share&&(n="&share="+e.share);var r={url:"".concat(t,"/").concat(A.apiVersion||"api","/").concat(i,"/routes/edges?routeKey=").concat(A.routeKey).concat(n)};return o&&(r.headers={Authorization:o}),_d(r)})({viewer3D:i.viewer3D,routeKey:A,modelKey:r}).then((function(i){var n;"SUCCESS"===(n="string"==typeof i?JSON.parse(i):i).code?(o.roadNetEdgeMap[A]=n.data,e()):t(n.message)})).catch((function(){Bh.error("获取模型路网列表失败"),t("获取模型路网列表失败")}))}))),Promise.all(n);Bh.error("模型路网未初始化")}},{key:"initRoadNetByModelKey",value:function(A){var e=this;return new Promise((function(t,i){e._getRoadNetListByModelKey(A).then(t).catch(i)}))}},{key:"getRoadNetInfoListByModelKey",value:function(A){return this.mapRoadNetListByModelKey[A]}},{key:"addRoadNetByKey",value:function(A,e){var t=this,i=this,o=e.color,n=e.width,r=void 0===n?1:n,a=e.block,s=void 0===a||a;return new Promise((function(e,n){return o instanceof Xh?"number"!=typeof r?(Bh.error("width 参数非法"),void n("width 参数非法")):void(i.roadNetLineMap[A]?e():t._getRoadNetDataByRouteKey(A).then((function(){for(var t=i.roadNetEdgeMap[A],a=i.roadNetPointMap[A],l=[],c=0,h=t.length;h>c;c+=1){var d=t[c],p=d._from.split("/")[1],g=d._to.split("/")[1],u=a[p].xyz;u||(Bh.error("点",p,"不存在"),n("点"+p+"不存在")),l.push.apply(l,yc(u));var f=a[g].xyz;f||(Bh.error("点",g,"不存在"),n("点"+g+"不存在")),l.push.apply(l,yc(f))}var m=new JC;m.setPositions(l);var C=new YC({color:o.getHex(),linewidth:r/1e3});s||(C.depthTest=!1,C.transparent=!0);var y=new XC(m,C);y.matrixAutoUpdate=!1;var v=i.mapModelKeyByRoadNetKey[A];if(!v)return Bh.error("模型路网未初始化"),void n("模型路网未初始化");var I=i.viewer3D.getModelMatrix(v);y.matrix.copy(I),i.viewer3D.getScene().add(y),y.updateMatrixWorld(!0),i.roadNetLineMap[A]=y,i.viewer3D.render(),e()})).catch((function(A){n(A)}))):(Bh.error("color 参数非法"),void n("color 参数非法"))}))}},{key:"removeRoadNetByKey",value:function(A){this.roadNetLineMap[A]?(this.viewer3D.getScene().remove(this.roadNetLineMap[A]),delete this.roadNetLineMap[A],this.viewer3D.render()):Bh.warn("路网",A,"不存在")}},{key:"showRoadNetByKey",value:function(A){this.roadNetLineMap[A]?(this.roadNetLineMap[A].visible=!0,this.viewer3D.render()):Bh.warn("路网",A,"不存在")}},{key:"hideRoadNetByKey",value:function(A){this.roadNetLineMap[A]?(this.roadNetLineMap[A].visible=!1,this.viewer3D.render()):Bh.warn("路网",A,"不存在")}},{key:"setRoadNetColorByKey",value:function(A,e){if(this.roadNetLineMap[A]){if(!(e instanceof Xh))return void Bh.warn("color 参数非法");this.roadNetLineMap[A].material.color=e.getHex(),this.viewer3D.render()}else Bh.warn("路网",A,"不存在")}},{key:"setRoadNetBlockByKey",value:function(A,e){this.roadNetLineMap[A]?(e?(this.roadNetLineMap[A].material.depthTest=!0,this.roadNetLineMap[A].material.transparent=!1):(this.roadNetLineMap[A].material.depthTest=!1,this.roadNetLineMap[A].material.transparent=!0),this.viewer3D.render()):Bh.warn("路网",A,"不存在")}},{key:"setRoadNetLineWidthByKey",value:function(A,e){this.roadNetLineMap[A]?(this.roadNetLineMap[A].material.linewidth=e/1e3,this.viewer3D.render()):Bh.warn("路网",A,"不存在")}},{key:"update",value:function(){for(var A in this.roadNetLineMap)if(this.roadNetLineMap.hasOwnProperty(A)){var e=this.roadNetLineMap[A],t=this.viewer3D.getModelMatrix(this.mapModelKeyByRoadNetKey[A]);e.matrix.copy(t),e.updateMatrixWorld(!0)}for(var i in this.shortestPathLineMap)if(this.shortestPathLineMap.hasOwnProperty(i)){var o=this.shortestPathLineMap[i],n=this.viewer3D.getModelMatrix(o.userData.modelKey);o.matrix.copy(n),o.updateMatrixWorld(!0)}this.viewer3D.render()}},{key:"getShortestPath",value:function(A,e,t,i){var o=this,n=this;return new Promise((function(i,r){o.roadNetInfoMap[A]||r({code:"error",detail:"路网".concat(A,"未初始化"),start:e,end:t});var a=o.mapModelKeyByRoadNetKey[A];if(!a)return Bh.error("模型路网未初始化"),void r("模型路网未初始化");(function(A){var e=A.viewer3D.getViewerImpl().getModel(A.modelKey),t=HE(e,["loader","url","serverUrl"])||HE(A,["viewer3D","host"],""),i=e.projectKey,o=e.accessToken,n="";e.share&&(n="&share="+e.share);var r={url:"".concat(t,"/").concat(A.apiVersion||"api","/").concat(i,"/routes/shortestPath?routeKey=").concat(A.routeKey,"&start=").concat(A.start.toString(),"&end=").concat(A.end.toString()).concat(n)};return o&&(r.headers={Authorization:o}),_d(r)})({modelKey:a,viewer3D:n.viewer3D,routeKey:A,start:e,end:t}).then((function(o){var n;"SUCCESS"===(n="string"==typeof o?JSON.parse(o):o).code&&i({code:"success",data:{routeKey:A,points:n.data},start:e,end:t})})).catch((function(A){r({code:"error",detail:A,start:e,end:t})}))}))}},{key:"addShortestPathByPoints",value:function(A,e){var t=this,i=e.color,o=e.width,n=void 0===o?1:o,r=e.block,a=void 0===r||r;return new Promise((function(e,o){if(!A.routeKey)return Bh.error("缺少参数routeKey"),void o("缺少参数routeKey");if(!A.points)return Bh.error("缺少参数points"),void o("缺少参数points");if(!(i instanceof Xh))return Bh.error("color 参数非法"),void o("color 参数非法");if("number"!=typeof n)return Bh.error("width 参数非法"),void o("width 参数非法");A.key||(A.key=uh.createUUID());for(var r=[],s=0,l=A.points.length;l>s;s+=1)r.push.apply(r,yc(A.points[s]));var c=new KE;c.setPositions(r);var h=new YC({color:i.getHex(),linewidth:n/1e3});a||(h.depthTest=!1,h.transparent=!0);var d=new QE(c,h);d.matrixAutoUpdate=!1;var p=t.mapModelKeyByRoadNetKey[A.routeKey];if(!p)return Bh.error("模型路网未初始化"),void o("模型路网未初始化");var g=t.viewer3D.getModelMatrix(p);d.matrix.copy(g),d.userData.modelKey=p,d.userData.routeKey=A.routeKey,t.viewer3D.getScene().add(d),d.updateMatrixWorld(!0),t.shortestPathLineMap[A.key]=d,t.viewer3D.render(),e(A)}))}},{key:"showShortestPathByKey",value:function(A){this.shortestPathLineMap[A]?(this.shortestPathLineMap[A].visible=!0,this.viewer3D.render()):Bh.warn("最短路径",A,"不存在")}},{key:"hideShortestPathByKey",value:function(A){this.shortestPathLineMap[A]?(this.shortestPathLineMap[A].visible=!1,this.viewer3D.render()):Bh.warn("最短路径",A,"不存在")}},{key:"removeShortestPathByKey",value:function(A){this.shortestPathLineMap[A]?(this.viewer3D.getScene().remove(this.shortestPathLineMap[A]),delete this.shortestPathLineMap[A],this.viewer3D.render()):Bh.warn("最短路径",A,"不存在")}},{key:"setShortestPathColorByKey",value:function(A,e){if(this.shortestPathLineMap[A]){if(!(e instanceof Xh))return void Bh.warn("color 参数非法");this.shortestPathLineMap[A].material.color=e.getHex(),this.viewer3D.render()}else Bh.warn("最短路径",A,"不存在")}},{key:"setShortestPathBlockByKey",value:function(A,e){this.shortestPathLineMap[A]?(e?(this.shortestPathLineMap[A].material.depthTest=!0,this.shortestPathLineMap[A].material.transparent=!1):(this.shortestPathLineMap[A].material.depthTest=!1,this.shortestPathLineMap[A].material.transparent=!0),this.viewer3D.render()):Bh.warn("最短路径",A,"不存在")}},{key:"setShortestPathLineWidthByKey",value:function(A,e){this.shortestPathLineMap[A]?(this.shortestPathLineMap[A].material.linewidth=e/1e3,this.viewer3D.render()):Bh.warn("最短路径",A,"不存在")}},{key:"roamByShortestPathData",value:function(A,e){var t=this,i=uh.extend({},YE,e);if(A.routeKey)if(A.points)if(i.speed){var o=t.viewer3D.getModelMatrix(t.mapModelKeyByRoadNetKey[A.routeKey]);if(o){var n=this.viewer3D.getViewerImpl().camera;!function A(e,r){if(e.length-1>r){var a,s=new y(e[r][0],e[r][1],e[r][2]+i.height).applyMatrix4(o),l=new y(e[r+1][0],e[r+1][1],e[r+1][2]+i.height).applyMatrix4(o),c=new y(e[r+1][0],e[r+1][1],e[r+1][2]+i.height).applyMatrix4(o);if(r>e.length-3||(a=new y(e[r+2][0],e[r+2][1],e[r+2][2]+i.height).applyMatrix4(o)),r===e.length-2){var h=new y(e[r+1][0],e[r+1][1],e[r+1][2]+i.height).sub(new y(e[r][0],e[r][1],e[r][2]+i.height)).setLength(.1);a=new y(e[r+1][0],e[r+1][1],e[r+1][2]+i.height).add(h).applyMatrix4(o)}var d=s.distanceTo(c)/i.speed*1e3;t.viewer3D.getViewerImpl().getControlManager().setInteractiveState(!1),WE.from({animPosition:s,animTarget:l,animUp:n.up}).to({animPosition:c,animTarget:a,animUp:n.up},d).onUpdate((function(A){var e=A.animPosition;n.lookAtEXForTargetPositionUp(A.animTarget,e,n.up),t.viewer3D.getViewerImpl().cameraControl.update(!0,!0),i.callbackProcess&&i.callbackProcess(e)})).onComplete((function(){n.lookAtEXForTargetPositionUp(a,c,n.up),t.viewer3D.getViewerImpl().cameraControl.update(!0,!0),i.callbackProcess&&i.callbackProcess(c),i.callbackFinish&&i.callbackFinish(),t.viewer3D.getViewerImpl().getControlManager().setInteractiveState(!0),A(e,r+=1)})).start(i.frameTime,!0)}else i.callbackAllFinish&&i.callbackAllFinish()}(A.points,0)}else Bh.error("无法获取路径对应的模型矩阵")}else Bh.error("speed参数非法");else Bh.error("缺少参数points");else Bh.error("缺少参数routeKey")}}]),A}(),zE={fontSize:100,color:"#ff0000",opacity:1,side:2,transparent:!0},ZE=function(){function A(){cc(this,A)}return dc(A,[{key:"createMesh",value:function(A,e){var t=Object.assign({},zE,e),i=A.generateShapes(t.text,t.fontSize),o=new jA(t),n=new Ue(new ar(i),o);return t.position&&this.setPos(n,t.position),t.rotation&&this.setRotation(n,t.rotation),t.matrix&&this.setMat(n,t.matrix),n}},{key:"setPos",value:function(A,e){var t;(t=A.position).set.apply(t,yc(e)),A.updateMatrixWorld(!0)}},{key:"setMat",value:function(A,e){A.applyMatrix4(e),A.updateMatrixWorld(!0)}},{key:"setRotation",value:function(A,e){var t;(t=A.rotation).set.apply(t,yc(e)),A.updateMatrixWorld(!0)}}]),A}(),XE=function(){function A(e){cc(this,A),this.fonts={},this.host=e.host}return dc(A,[{key:"loadFont",value:function(A,e){var t=this;return new Promise((function(i,o){_d({type:"POST",url:"".concat(t.host,"/api/fonts"),headers:{"Content-type":"application/json;charset=UTF-8"},data:JSON.stringify({font:A,text:e}),responseType:"json",success:function(e){"success"===e.code.toLowerCase()?(t.fonts[A]?Object.assign(t.fonts[A].data.glyphs,e.data.glyphs):(t.fonts[A]={},t.fonts[A].data=e.data),t.fonts[A].font=new za(t.fonts[A].data),i(t.fonts[A].font)):o(e)},error:function(A,e){o(e)}})}))}},{key:"getFont",value:function(A,e){var t=this;return new Promise((function(i,o){if(t.fonts[A]){for(var n=e.length,r="",a=0;n>a;a+=1)t.fonts[A].data.glyphs[e[a]]||(r+=e[a]);r?t.loadFont(A,r).then(i).catch(o):i(t.fonts[A].font)}else t.loadFont(A,e).then(i).catch(o)}))}}]),A}(),_E=function(){function A(e){cc(this,A),this.viewer=e.viewer.getViewerImpl(),this.meshes={},this.fontLib=new XE({host:e.viewer.host}),this.text=new ZE,this.draggingId=""}return dc(A,[{key:"addText",value:function(A){var e=this;return this.fontLib.getFont(A.fontName,A.text).then((function(t){var i=e.text.createMesh(t,A),o=uh.createUUID();return e.meshes[o]=i,e.viewer.getScene().add(i),e.viewer.render(),{code:"success",id:o}})).catch((function(A){return{code:"error",err:A}}))}},{key:"removeText",value:function(A){if(this.draggingId!==A){var e=this.meshes[A];e&&(this.viewer.getScene().remove(e),delete this.meshes[A],this.viewer.render())}}},{key:"setPosition",value:function(A,e){if(this.draggingId!==A){var t=this.meshes[A];t&&(this.text.setPos(t,e),this.viewer.render())}}},{key:"setMatrix",value:function(A,e){if(this.draggingId!==A){var t=this.meshes[A];t&&(this.text.setMat(t,e),this.viewer.render())}}},{key:"setRotation",value:function(A,e){if(this.draggingId!==A){var t=this.meshes[A];t&&(this.text.setRotation(t,e),this.viewer.render())}}},{key:"getTextIDs",value:function(){return Object.keys(this.meshes)}},{key:"dragText",value:function(A){if(""===this.draggingId){var e=this.meshes[A];e&&(this.viewer.translateComponentByKey(e),this.draggingId=A)}}},{key:"saveDragText",value:function(){""!==this.draggingId&&(this.viewer.cancelTransformComponent(!1),this.draggingId="")}}]),A}(),$E=function(){function A(e){cc(this,A),this.curves={},this.viewer=e.viewer3D,this.modelKey=e.modelKey}return dc(A,[{key:"getId",value:function(A){return Bd(JSON.stringify(A)).slice(0,8)}},{key:"getCurve",value:function(A){return this.curves[A]}},{key:"_setCurve",value:function(A,e){this.curves[A]=e}},{key:"_rmCurve",value:function(A){delete this.curves[A]}},{key:"genTHREELine",value:function(A){var e=A.num,t=void 0===e?100:e,i=A.debug,o=void 0!==i&&i,n=new la(A.points,A.closed,A.curveType,A.tension),r=this.getId(A),a=new De;a.vertices=n.getSpacedPoints(t);var s=new Go(a,new ko({color:A.color||16777215*Math.random(),linewidth:6.18,depthTest:!0,transparent:!1}));o&&(this.viewer.getViewerImpl().modelManager.getModel(this.modelKey).group.add(s),s.updateMatrixWorld(),this.viewer.render());return this._setCurve(r,{curve:n,num:t,line:s}),r}},{key:"rmCurve",value:function(A){var e=this.getCurve(A).line;this.viewer.getViewerImpl().modelManager.getModel(this.modelKey).group.remove(e),e.updateMatrixWorld(),this.viewer.render(),this._rmCurve(A)}}]),A}(),AB=function(){function A(e){cc(this,A),this.trackSet={},this.lineManager=new $E(e),this.viewer=e.viewer3D}return dc(A,[{key:"_genLine",value:function(A){return this.lineManager.genTHREELine(A)}},{key:"addTrack",value:function(A){var e=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),t=this._genLine(A);return this.trackSet[e]={componentKey:A.componentKey,lineId:[t]},e}},{key:"appendTrack",value:function(A){var e=this.trackSet[A.trackId];if(e){var t=this._genLine(A);e.lineId.push(t)}}},{key:"removeTrack",value:function(A){var e=this,t=this.trackSet[A];t&&(t.lineId.forEach((function(A){e.lineManager.rmCurve(A)})),delete this.trackSet[A])}},{key:"startMove",value:function(A){var e=this,t=A.trackId,i=A.startDir,o=A.pointFn;return new Promise((function(A,n){var r=e.trackSet[t];if(r){var a=r.lineId,s=r.componentKey,l=new M,c=a.length,h=e.lineManager.getCurve(a[0]).curve.getPoint(0),d=e.viewer.getBoxByComponentsKey(s),p=d.min,g=d.max,u=(new y).addVectors(p,g).divideScalar(2);l.elements[12]=h.x-u.x,l.elements[13]=h.y-u.y,l.elements[14]=h.z-u.z,e.viewer.componentApplyMatrix(s,l);var m=0,C=new M,v=i.clone().normalize(),I=function i(n){var r=e.lineManager.getCurve(a[Math.trunc(m)]).curve.getPoint(m-Math.trunc(m)),h=c>n?e.lineManager.getCurve(a[Math.trunc(n)]).curve.getPoint(n-Math.trunc(n)):e.lineManager.getCurve(a[c-1]).curve.getPoint(1),d=new M;d.elements[12]=-r.x,d.elements[13]=-r.y,d.elements[14]=-r.z;var p=new f,g=new y(h.x-r.x,h.y-r.y,h.z-r.z).normalize();p.setFromUnitVectors(v,g),v.applyQuaternion(p);var u=(new M).makeRotationFromQuaternion(p),I=new M;I.elements[12]=h.x,I.elements[13]=h.y,I.elements[14]=h.z,l.elements=C.elements,e.viewer.componentApplyMatrix(s,I.multiply(u).multiply(d)),m=n,c>n?"function"==typeof o?requestAnimationFrame((function(){i(o(t,n,h))})):requestAnimationFrame((function(){return i(parseFloat((n+.01).toFixed(2)))})):A({code:"success",trackId:t})};"function"==typeof o?requestAnimationFrame((function(){I(o(t,0,h))})):requestAnimationFrame((function(){return I(.01)}))}else n({code:"error",message:"找不到指定轨迹"})}))}}]),A}(),eB=function(A,e){Ue.call(this,A);var t=this,i=void 0!==(e=e||{}).textureWidth?e.textureWidth:512,o=void 0!==e.textureHeight?e.textureHeight:512,n=void 0!==e.clipBias?e.clipBias:0,r=void 0!==e.alpha?e.alpha:1,s=void 0!==e.time?e.time:0,l=void 0!==e.waterNormals?e.waterNormals:null,c=void 0!==e.sunDirection?e.sunDirection:new y(.70707,.70707,0),h=new LA(void 0!==e.sunColor?e.sunColor:16777215),d=new LA(void 0!==e.waterColor?e.waterColor:8355711),u=void 0!==e.eye?e.eye:new y(0,0,0),f=void 0!==e.distortionScale?e.distortionScale:20,m=void 0!==e.side?e.side:0,C=void 0!==e.fog&&e.fog,v=new EA,I=new y,E=new y,B=new y,x=new M,S=new y(0,0,-1),w=new p,b=new y,U=new y,F=new p,K=new M,Q=new je,R=new g(i,o,{minFilter:1006,magFilter:1006,format:1022,stencilBuffer:!1});a.isPowerOfTwo(i)&&a.isPowerOfTwo(o)||(R.texture.generateMipmaps=!1);var T={uniforms:Ge.merge([Xe.fog,Xe.lights,{normalSampler:{value:null},mirrorSampler:{value:null},alpha:{value:1},time:{value:0},size:{value:1},distortionScale:{value:20},textureMatrix:{value:new M},sunColor:{value:new LA(8355711)},sunDirection:{value:new y(.70707,.70707,0)},eye:{value:new y},waterColor:{value:new LA(5592405)}}]),vertexShader:["uniform mat4 textureMatrix;","uniform float time;","varying vec4 mirrorCoord;","varying vec4 worldPosition;",tt.fog_pars_vertex,tt.shadowmap_pars_vertex,"void main() {"," mirrorCoord = modelMatrix * vec4( position, 1.0 );"," worldPosition = mirrorCoord.xyzw;"," mirrorCoord = textureMatrix * mirrorCoord;"," vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );"," gl_Position = projectionMatrix * mvPosition;",tt.fog_vertex,tt.shadowmap_vertex,"}"].join("\n"),fragmentShader:["uniform sampler2D mirrorSampler;","uniform float alpha;","uniform float time;","uniform float size;","uniform float distortionScale;","uniform sampler2D normalSampler;","uniform vec3 sunColor;","uniform vec3 sunDirection;","uniform vec3 eye;","uniform vec3 waterColor;","varying vec4 mirrorCoord;","varying vec4 worldPosition;","vec4 getNoise( vec2 uv ) {"," vec2 uv0 = ( uv / 103.0 ) + vec2(time / 17.0, time / 29.0);"," vec2 uv1 = uv / 107.0-vec2( time / -19.0, time / 31.0 );"," vec2 uv2 = uv / vec2( 8907.0, 9803.0 ) + vec2( time / 101.0, time / 97.0 );"," vec2 uv3 = uv / vec2( 1091.0, 1027.0 ) - vec2( time / 109.0, time / -113.0 );"," vec4 noise = texture2D( normalSampler, uv0 ) +"," texture2D( normalSampler, uv1 ) +"," texture2D( normalSampler, uv2 ) +"," texture2D( normalSampler, uv3 );"," return noise * 0.5 - 1.0;","}","void sunLight( const vec3 surfaceNormal, const vec3 eyeDirection, float shiny, float spec, float diffuse, inout vec3 diffuseColor, inout vec3 specularColor ) {"," vec3 reflection = normalize( reflect( -sunDirection, surfaceNormal ) );"," float direction = max( 0.0, dot( eyeDirection, reflection ) );"," specularColor += pow( direction, shiny ) * sunColor * spec;"," diffuseColor += max( dot( sunDirection, surfaceNormal ), 0.0 ) * sunColor * diffuse;","}",tt.common,tt.packing,tt.bsdfs,tt.fog_pars_fragment,tt.lights_pars_begin,tt.shadowmap_pars_fragment,tt.shadowmask_pars_fragment,"void main() {"," vec4 noise = getNoise( worldPosition.xz * size );"," vec3 surfaceNormal = normalize( noise.xzy * vec3( 1.5, 1.0, 1.5 ) );"," vec3 diffuseLight = vec3(0.0);"," vec3 specularLight = vec3(0.0);"," vec3 worldToEye = eye-worldPosition.xyz;"," vec3 eyeDirection = normalize( worldToEye );"," sunLight( surfaceNormal, eyeDirection, 100.0, 2.0, 0.5, diffuseLight, specularLight );"," float distance = length(worldToEye);"," vec2 distortion = surfaceNormal.xz * ( 0.001 + 1.0 / distance ) * distortionScale;"," vec3 reflectionSample = vec3( texture2D( mirrorSampler, mirrorCoord.xy / mirrorCoord.w + distortion ) );"," float theta = max( dot( eyeDirection, surfaceNormal ), 0.0 );"," float rf0 = 0.3;"," float reflectance = rf0 + ( 1.0 - rf0 ) * pow( ( 1.0 - theta ), 5.0 );"," vec3 scatter = max( 0.0, dot( surfaceNormal, eyeDirection ) ) * waterColor;"," vec3 albedo = mix( ( sunColor * diffuseLight * 0.3 + scatter ) * getShadowMask(), ( vec3( 0.1 ) + reflectionSample * 0.9 + reflectionSample * specularLight ), reflectance);"," vec3 outgoingLight = albedo;"," gl_FragColor = vec4( outgoingLight, alpha );",tt.tonemapping_fragment,tt.fog_fragment,"}"].join("\n")},k=new Pe({fragmentShader:T.fragmentShader,vertexShader:T.vertexShader,uniforms:Ge.clone(T.uniforms),transparent:1>r,lights:!0,side:m,fog:C});k.uniforms.mirrorSampler.value=R.texture,k.uniforms.textureMatrix.value=K,k.uniforms.alpha.value=r,k.uniforms.time.value=s,k.uniforms.normalSampler.value=l,k.uniforms.sunColor.value=h,k.uniforms.waterColor.value=d,k.uniforms.sunDirection.value=c,k.uniforms.distortionScale.value=f,k.uniforms.eye.value=u,t.material=k,t.onBeforeRender=function(A,e,i){if(E.setFromMatrixPosition(t.matrixWorld),B.setFromMatrixPosition(i.matrixWorld),x.extractRotation(t.matrixWorld),I.set(0,0,1),I.applyMatrix4(x),b.subVectors(E,B),0>=b.dot(I)){b.reflect(I).negate(),b.add(E),x.extractRotation(i.matrixWorld),S.set(0,0,-1),S.applyMatrix4(x),S.add(B),U.subVectors(E,S),U.reflect(I).negate(),U.add(E),Q.position.copy(b),Q.up.set(0,1,0),Q.up.applyMatrix4(x),Q.up.reflect(I),Q.lookAt(U),Q.far=i.far,Q.updateMatrixWorld(),Q.projectionMatrix.copy(i.projectionMatrix),K.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),K.multiply(Q.projectionMatrix),K.multiply(Q.matrixWorldInverse),v.setFromNormalAndCoplanarPoint(I,E),v.applyMatrix4(Q.matrixWorldInverse),w.set(v.normal.x,v.normal.y,v.normal.z,v.constant);var o=Q.projectionMatrix;F.x=(Math.sign(w.x)+o.elements[8])/o.elements[0],F.y=(Math.sign(w.y)+o.elements[9])/o.elements[5],F.z=-1,F.w=(1+o.elements[10])/o.elements[14],w.multiplyScalar(2/w.dot(F)),o.elements[2]=w.x,o.elements[6]=w.y,o.elements[10]=w.z+1-n,o.elements[14]=w.w,u.setFromMatrixPosition(i.matrixWorld);var r=A.getRenderTarget(),a=A.xr.enabled,s=A.shadowMap.autoUpdate;t.visible=!1,A.xr.enabled=!1,A.shadowMap.autoUpdate=!1,A.setRenderTarget(R),A.clear(),A.render(e,Q),t.visible=!0,A.xr.enabled=a,A.shadowMap.autoUpdate=s,A.setRenderTarget(r)}}};(eB.prototype=Object.create(Ue.prototype)).constructor=eB;var tB=function(A){this.name=A.name||"",this.id=A.id||"",this.keyFrameList=[],this.roamTime=5,this.interpolateType=1,this.fps=50,this.parts=100,this.rotateSpeed=Math.PI/this.roamTime/this.fps/4,this.parameters={segments:this.roamTime*this.fps*this.parts,closed:!1,curveType:"centripetal",tension:.25},this.modificationId=0,this.mapDeltaAngle={},this.mapDeltaOffset={},this.allocateSegmentList=null,this.positionCurve=void 0,this.init(A)};tB.prototype.init=function(A){this.setKeyFrameList(A.keyFrameList),this.setParameters(A.parameters),this.setInterpolateType(A.type),this.setFps(A.fps),this.setRoamTime(A.roamTime)},tB.prototype.addKeyFrame=function(A){var e=new y(A.position.x,A.position.y,A.position.z),t=new y(A.target.x,A.target.y,A.target.z),i=new y(A.up.x,A.up.y,A.up.z),o=null;if(A.quaternion)o=new f(A.quaternion.x,A.quaternion.y,A.quaternion.z,A.quaternion.w);else{var n=new M;n.lookAt(e,t,i),o=(new f).setFromRotationMatrix(n)}this.keyFrameList.push({position:e,target:t,up:i,id:A.id,quaternion:o,curve:A.curve}),this.modificationId+=1},tB.prototype.setKeyFrameList=function(A){this.keyFrameList=[];for(var e=0,t=A.length;t>e;e+=1)this.addKeyFrame(A[e]);this.calRotateSpeed()},tB.prototype.removeKeyFrame=function(A){A>=0&&this.keyFrameList.length>A&&(this.keyFrameList.splice(A,1),this.modificationId+=1)},tB.prototype.getKeyFrames=function(){return this.keyFrameList},tB.prototype.getKeyFrameCount=function(){return this.keyFrameList.length},tB.prototype.clearFrames=function(){this.keyFrameList=[]},tB.prototype.getJumpCounts=function(A){var e=A/(1e3/this.fps)*this.parts;return e=parseInt(e,0)},tB.prototype.setRoamTime=function(A){this.roamTime=A,this.setSegments(A*this.fps*this.parts),this.calRotateSpeed()},tB.prototype.calRotateSpeed=function(){var A=this.getKeyFrames().length;A>1&&(this.rotateSpeed=Math.PI*(A-1)/this.roamTime/this.fps/4)},tB.prototype.setInterpolateType=function(A){this.interpolateType=A||1,1===this.interpolateType&&this.setSplineTension(0)},tB.prototype.getInterpolateType=function(){return this.interpolateType},tB.prototype.setName=function(A){this.name=A},tB.prototype.getName=function(){return this.name},tB.prototype.getId=function(){return this.id},tB.prototype.getKeyFramePositions=function(){for(var A=[],e=0,t=this.keyFrameList.length;t>e;e+=1){A.push(this.keyFrameList[e].position)}return A},tB.prototype.getKeyFramePosition=function(A){return this.keyFrameList[A].position},tB.prototype.getKeyFrameDirection=function(A){var e=this.keyFrameList[A];return e.target.clone().sub(e.position)},tB.prototype.getKeyFrameTarget=function(A){return this.keyFrameList[A].target},tB.prototype.getKeyFrameUp=function(A){return this.keyFrameList[A].up},tB.prototype.allocateSegments=function(){for(var A=[],e=0,t=this.keyFrameList.length;t-1>e;e+=1){var i=this.keyFrameList[e].position;A.push(this.keyFrameList[e+1].position.clone().sub(i).length())}for(var o=0,n=0,r=A.length;r>n;n+=1)o+=A[n];for(var a=this.getSegments(),s=0,l=A.length;0!==o&&l>s;s+=1)A[s]/=o,A[s]*=this.getSegments(),A[s]=Math.floor(A[s]),a-=A[s];for(var c=0;a>c;c+=1)A[c]>0&&(A[c]+=1);this.allocateSegmentList=A},tB.prototype.getAllocateSegmentCount=function(A){return null===this.allocateSegmentList&&this.allocateSegments(),this.allocateSegmentList[A]},tB.prototype.getSplineParam=function(A,e){return null===this.allocateSegmentList&&this.allocateSegments(),(A+e/this.allocateSegmentList[A])/this.allocateSegmentList.length},tB.prototype.getDeltaAngle=function(A){return this.mapDeltaAngle[A]},tB.prototype.calculateDeltaAngle=function(){for(var A=this.allocateSegmentList,e=0;A.length>e;e+=1){var t=0;if(this.keyFrameList[e].quaternion&&this.keyFrameList[e+1].quaternion){var i=this.keyFrameList[e].quaternion,o=this.keyFrameList[e+1].quaternion,n=(new f).multiplyQuaternions(o,i.clone().inverse());n.normalize(),t=2*Math.acos(n.w)}else{var r=this.getKeyFrameDirection(e),a=this.getKeyFrameDirection(e+1);t=r.angleTo(a)}var s=A[e];if(0===s){var l=Math.floor(t/this.rotateSpeed)*this.parts;A[e]=l,this.mapDeltaAngle[e]=t/l}else this.mapDeltaAngle[e]=t/s}},tB.prototype.getRotateAxis=function(A){var e=this.keyFrameList[A].quaternion,t=this.keyFrameList[A+1].quaternion;if(e&&t){var i=(new f).multiplyQuaternions(t,e.clone().inverse());return i.normalize(),new y(i.x,i.y,i.z).normalize()}var o=this.getKeyFrameDirection(A),n=this.getKeyFrameDirection(A+1);return o.clone().cross(n.clone()).normalize()},tB.prototype.getDeltaOffset=function(A){return this.mapDeltaOffset[A]},tB.prototype.getPositionAtCurve=function(A,e){var t=this.keyFrameList[A+1];if(t&&t.curve)return t.curve.getPointAt(e)},tB.prototype.getPositionAtCurve=function(A,e){var t=this.keyFrameList[A+1];if(t&&t.curve)return t.curve.getPointAt(e)},tB.prototype.getLatestPositionAtCurve=function(A){var e=this.keyFrameList[A];if(e&&e.curve)return e.position},tB.prototype.calculateDeltaOffset=function(){for(var A=this.allocateSegmentList,e=this.getKeyFramePositions(),t=0;A.length>t;t+=1){var i=e[t],o=e[t+1],n=this.allocateSegmentList[t];this.mapDeltaOffset[t]=0===n?new y:o.clone().sub(i).divideScalar(n)}},tB.prototype.setSplineTension=function(A){0>A||A>1||(this.parameters.tension=A,this.modificationId+=1)},tB.prototype.setSegments=function(A){this.parameters.segments=A,this.modificationId+=1},tB.prototype.getSegments=function(){return this.parameters.segments},tB.prototype.setParameters=function(A){A&&(this.parameters=A,this.modificationId+=1)},tB.prototype.getParameters=function(){return this.parameters},tB.prototype.setFps=function(A){this.fps=A||50,this.calRotateSpeed(),this.modificationId+=1},tB.prototype.getFps=function(){return this.fps},tB.prototype.getModificationId=function(){return this.modificationId},tB.prototype.export=function(){return{name:this.name,id:this.id,fps:this.fps,roamTime:this.roamTime,type:this.interpolateType,keyFrameList:this.keyFrameList}};var iB=function(A){this.viewer=A.viewer,this.roam=null,this.bPause=!1,this.bContinue=!1,this.spline=null,this.reqid=0,this.playBinded=this._play.bind(this),this.recordId=-1,this.keyFrameIdx=0,this.count=-1,this.camera=this.viewer.cameraControl.camera,this.pausePlayCallback=[],this.stopPlayCallback=[],this.keyFrameCallback=[],this.timeRecorder={last:0,pause:0,deltaTime:0},this.setRoam(A.roamData)};iB.prototype.setRoam=function(A){this.roam=A,this.bPause=!1,this.recordId=-1,this.spline=null,this.keyFrameIdx=0,this.count=-1},iB.prototype.updateCamera=function(A,e,t){this.camera.position.add(A),this.camera.target.addVectors(this.camera.position,e),this.camera.up.copy(t)},iB.prototype.updateCameraToFrame=function(A){var e=this.roam.getKeyFramePosition(A),t=this.roam.getKeyFrameTarget(A),i=this.roam.getKeyFrameUp(A);this.camera.position.copy(e),this.camera.target.copy(t),this.camera.up.copy(i)},iB.prototype.reAllocate=function(){this.recordId!==this.roam.getModificationId()&&(this.roam.allocateSegments(),this.roam.calculateDeltaOffset(),this.roam.calculateDeltaAngle(),this.recordId=this.roam.getModificationId())},iB.prototype._play=function(){var A=new f,e=new f,t=new y,i=new y(0,1,0),o=new y;return function(){this.reqid=setTimeout(this.playBinded,this.roam.getFps()),!1===this.bContinue?(this.bContinue=!0,this.timeRecorder.deltaTime=this.timeRecorder.pause-this.timeRecorder.last):this.timeRecorder.deltaTime=performance.now()-this.timeRecorder.last,this.timeRecorder.last=performance.now();var n=this.roam.getJumpCounts(this.timeRecorder.deltaTime);if(this.reAllocate(),this.bPause)return this.timeRecorder.pause=performance.now(),clearTimeout(this.reqid),this.triggerPausePlayCallback(),this.bPause=!1,void(this.bContinue=!1);var r=this.roam.getKeyFrameCount(),a=this.roam.getAllocateSegmentCount(this.keyFrameIdx);if(0===a)this.keyFrameIdx+=1,this.triggerKeyFrameCallback(this.keyFrameIdx),this.count=-1;else if(this.keyFrameIdx===r-1)this.updateCameraToFrame(this.keyFrameIdx),this.stop();else if(-1===this.count)this.timeStart=performance.now(),0===this.keyFrameIdx&&this.triggerKeyFrameCallback(0),this.updateCameraToFrame(this.keyFrameIdx),this.count=0;else if(a>this.count){this.count+n>a&&(n=a-this.count);var s=this.count/a,l=this.roam.keyFrameList[this.keyFrameIdx].quaternion,c=this.roam.keyFrameList[this.keyFrameIdx+1].quaternion;A.copy(c),l.equals(c)||f.slerp(l,c,A,s);var h=this.roam.keyFrameList[this.keyFrameIdx];t.subVectors(h.target,h.position),t.applyQuaternion(e.copy(l).inverse()),t.applyQuaternion(A),i.set(0,1,0),i.applyQuaternion(A);var d=this.roam.getPositionAtCurve(this.keyFrameIdx,s);if(d)this.camera.position.copy(d);else{var p=this.roam.getDeltaOffset(this.keyFrameIdx);o.copy(p).multiplyScalar(n),this.camera.position.add(o)}if(this.camera.target.addVectors(this.camera.position,t),this.camera.up.copy(i),a>this.count+n)this.count+=n;else{this.keyFrameIdx+=1;var g=this.roam.getLatestPositionAtCurve(this.keyFrameIdx);g&&this.camera.position.copy(g),this.triggerKeyFrameCallback(this.keyFrameIdx),this.count=0}}this.viewer.render()}}(),iB.prototype.play=function(){this.bPause=!1,this._play()},iB.prototype.pause=function(){this.bPause=!0},iB.prototype.continue=function(){this.bContinue=!0,this.bPause=!1,this._play()},iB.prototype.stop=function(){this.bPause=!1,this.keyFrameIdx=0,this.count=-1,clearTimeout(this.reqid),this.triggerStopPlayCallback()},iB.prototype.startFrom=function(A){for(var e=this.roam,t=e.getKeyFrameCount(),i=e.getKeyFrames(),o=0;t>o;o+=1)if(i[o].id===A)return this.keyFrameIdx=o,void(this.count=-1)},iB.prototype.addKeyFrameCallback=function(A){this.keyFrameCallback.push(A)},iB.prototype.addPausePlayCallback=function(A){this.pausePlayCallback.push(A)},iB.prototype.addStopPlayCallback=function(A){this.stopPlayCallback.push(A)},iB.prototype.triggerKeyFrameCallback=function(A){this.keyFrameCallback.forEach((function(e){e(A)}))},iB.prototype.triggerPausePlayCallback=function(){this.pausePlayCallback.forEach((function(A){A()}))},iB.prototype.triggerStopPlayCallback=function(){this.stopPlayCallback.forEach((function(A){A()}))},iB.prototype.updataSpline=function(){var A=this.roam.getKeyFramePositions(),e=this.roam.getParameters();this.spline=new la(A,e.closed,e.curveType,e.tension)};var oB=function(){this.roamList=[]};oB.prototype.clear=function(){this.roamList=[]},oB.prototype.add=function(A){this.roamList.push(A)},oB.prototype.remove=function(A){for(var e=0,t=this.roamList.length;t>e;e+=1){if(this.roamList[e].getName()===A)return void this.roamList.splice(e,1)}},oB.prototype.save=function(){return JSON.stringify(this.roamList)},oB.prototype.load=function(A){this.clear();for(var e=JSON.parse(A),t=0,i=e.length;i>t;t+=1){var o=new tB({name:e[t].name,keyFrameList:e[t].keyFrameList,parameters:e[t].parameters,roamTime:e[t].roamTime,type:e[t].type,fps:e[t].fps});this.add(o)}return this.roamList};var nB=function(A,e){this.coordinateSystem=A,this.viewer=A.viewer,this.drawingImpl=e,this.viewportOffset=this.viewer.domElement.getBoundingClientRect(),this.cameraControl=this.viewer.cameraControl,this.fillClipPlane=this.viewer.getScene().getFillClipPlane(),this.initialize()};nB.prototype.initialize=function(){this.arrowMouseDown=!1,this.circleXMouseDown=!1,this.circleYMouseDown=!1,this.firstClickDown=!0,this.firstRotate=!0,this.lineOut=!0,this.arrowOut=!0,this.translateStartPt=new s,this.translateEndPt=new s,this.rotateAngleA=0,this.rotateAngleB=0,this.config=this.coordinateSystem.config},nB.prototype.registerArrowEvents=function(){var A=this.drawingImpl.getDrawable("axisZ"),e=this,t=this.config.colors;A.onmouseover=function(){!0!==e.circleXMouseDown&&!0!==e.circleYMouseDown&&(e.drawingImpl.setColor("axisZ",t.highLight),e.drawingImpl.fill("arrow",t.highLight),e.drawingImpl.setColor("tipArcX",t.default),e.drawingImpl.fill("cubeX",t.default),e.drawingImpl.setColor("tipArcY",t.default),e.drawingImpl.fill("cubeY",t.default),e.lineOut=!1)},A.onmouseout=function(){!0!==e.circleXMouseDown&&!0!==e.circleYMouseDown&&!1===e.arrowMouseDown&&!0===e.arrowOut&&(e.drawingImpl.setColor("axisZ",t.arrow),e.drawingImpl.fill("arrow",t.arrow),e.drawingImpl.setColor("tipArcX",t.tipArcX),e.drawingImpl.fill("cubeX",t.cubeX),e.drawingImpl.setColor("tipArcY",t.tipArcY),e.drawingImpl.fill("cubeY",t.cubeY),e.lineOut=!0)},A.onmousedown=function(A){e.arrowMouseDown=!0,e.lineOut=!1;var t=e.config.colors;e.drawingImpl.setColor("axisZ",t.highLight),e.drawingImpl.fill("arrow",t.highLight),e.coordinateSystem.colorUpdate=!1,e.translateStartPt.set(A.clientX,A.clientY)};var i=this.drawingImpl.getDrawable("arrow");i.onmouseover=function(){if(!0!==e.circleXMouseDown&&!0!==e.circleYMouseDown){e.arrowOut=!1;var A=e.config.colors;e.drawingImpl.fill("arrow",A.highLight),e.drawingImpl.setColor("axisZ",A.highLight),e.drawingImpl.setColor("tipArcX",A.default),e.drawingImpl.fill("cubeX",A.default),e.drawingImpl.setColor("tipArcY",A.default),e.drawingImpl.fill("cubeY",A.default)}},i.onmouseout=function(){if(!0!==e.circleXMouseDown&&!0!==e.circleYMouseDown&&!1===e.arrowMouseDown&&!0===e.lineOut){e.arrowOut=!0;var A=e.config.colors;e.drawingImpl.setColor("axisZ",A.arrow),e.drawingImpl.fill("arrow",A.arrow),e.drawingImpl.setColor("tipArcX",A.tipArcX),e.drawingImpl.fill("cubeX",A.cubeX),e.drawingImpl.setColor("tipArcY",A.tipArcY),e.drawingImpl.fill("cubeY",A.cubeY)}},i.onmousedown=function(A){e.arrowMouseDown=!0,e.arrowOut=!1;var t=e.config.colors;e.drawingImpl.setColor("axisZ",t.highLight),e.drawingImpl.fill("arrow",t.highLight),e.translateStartPt.set(A.clientX,A.clientY)},document.onmousemove=function(A){if(!0===e.arrowMouseDown){if(!(A.clientX===e.translateStartPt.x&&A.clientY===e.translateStartPt.y)){var t=e.fillClipPlane.renderClipPlane,i=t.normal.clone();i.w=t.constant;var o=e.cameraControl.movePlane(i,A,e.translateStartPt,!1,e.fillClipPlane.position.clone());null!==o&&e.fillClipPlane.offset(o),e.translateStartPt.set(A.clientX,A.clientY),e.cameraControl.update(!0)}e.coordinateSystem.update();var n=e.config.colors;e.drawingImpl.setColor("axisZ",n.highLight),e.drawingImpl.fill("arrow",n.highLight),e.drawingImpl.setColor("tipArcX",n.default),e.drawingImpl.fill("cubeX",n.default),e.drawingImpl.setColor("tipArcY",n.default),e.drawingImpl.fill("cubeY",n.default),A.preventDefault(),A.stopPropagation()}},document.onmouseup=function(){if(!1!==e.arrowMouseDown){e.arrowMouseDown=!1,e.coordinateSystem.colorUpdate=!0;var A=e.config.colors;e.drawingImpl.setColor("axisZ",A.arrow),e.drawingImpl.fill("arrow",A.arrow),e.drawingImpl.setColor("tipArcX",A.tipArcX),e.drawingImpl.fill("cubeX",A.cubeX),e.drawingImpl.setColor("tipArcY",A.tipArcY),e.drawingImpl.fill("cubeY",A.cubeY),vc.ClippingCaps=!0,e.viewer.render()}}},nB.prototype.registerCircleXEvents=function(){var A=this,e=this.config.colors,t=this.drawingImpl.getDrawable("tipArcX");t.onmousedown=function(){A.circleXMouseDown=!0,A.drawingImpl.setColor("axisZ",e.default),A.drawingImpl.fill("arrow",e.default),A.enableCircleXMovement()},t.onmouseout=function(){!1===A.circleXMouseDown&&(A.drawingImpl.setColor("axisZ",e.arrow),A.drawingImpl.fill("arrow",e.arrow),A.drawingImpl.setColor("tipArcY",e.tipArcY),A.drawingImpl.fill("cubeY",e.cubeY),A.coordinateSystem.circleToArc("tipArcX"))},document.addEventListener("mouseup",(function(){!0===A.circleXMouseDown&&(vc.ClippingCaps=!0,A.viewer.render()),A.circleXMouseDown=!1,A.firstClickDown=!0,A.firstRotate=!1,A.lastRotateX=0,A.lastRotateY=0,A.drawingImpl.show("tipArcY",!0),A.drawingImpl.show("axisY",!0),A.drawingImpl.show("axisZ",!0),A.drawingImpl.show("cubeY",!0),A.coordinateSystem.update(),A.drawingImpl.show("dashLineX",!1),A.drawingImpl.setColor("axisZ",e.arrow),A.drawingImpl.fill("arrow",e.arrow)}))},nB.prototype.registerCircleYEvents=function(){var A=this,e=this.config.colors,t=this.drawingImpl.getDrawable("tipArcY");t.onmousedown=function(){A.circleYMouseDown=!0,A.drawingImpl.setColor("axisZ",e.default),A.drawingImpl.fill("arrow",e.default),A.enableCircleYMovement()},t.onmouseout=function(){!1===A.circleYMouseDown&&(A.drawingImpl.setColor("axisZ",e.arrow),A.drawingImpl.fill("arrow",e.arrow),A.coordinateSystem.circleToArc("tipArcY"),A.drawingImpl.setColor("tipArcX",e.tipArcX),A.drawingImpl.fill("cubeX",e.cubeX))},document.addEventListener("mouseup",(function(){!0===A.circleYMouseDown&&(vc.ClippingCaps=!0,A.viewer.render()),A.circleYMouseDown=!1,A.drawingImpl.show("tipArcX",!0),A.drawingImpl.show("cubeX",!0),A.coordinateSystem.update(),A.drawingImpl.show("dashLineY",!1),A.drawingImpl.setColor("axisZ",e.arrow),A.drawingImpl.fill("arrow",e.arrow)}))},nB.prototype.enableCircleXMovement=function(){var A=this,e=this.config.colors;document.addEventListener("mousemove",(function(t){if(!0===A.circleXMouseDown){A.drawingImpl.show("dashLineX",!0),A.drawingImpl.setColor("axisZ",e.default),A.drawingImpl.fill("arrow",e.default),vc.ClippingCaps=!1;var i=A.fillClipPlane.normalIndex,o=A.viewportOffset,n=new s(t.clientX-o.left,t.clientY-o.top),r=A.calcRotateAngleIndex(n,A.coordinateSystem.discretePointsX);!0===A.firstClickDown&&(A.lastIndex=r);var a=2*(r-A.lastIndex);i>3&&(a=-a),A.drawingImpl.show("tipArcY",!1),A.coordinateSystem.updateAxisZ();var l=A.fillClipPlane.renderClipPlane.normal.clone(),c=A.coordinateSystem.getCoordinateAxis(),h=A.config.styles;A.coordinateSystem.drawClipPlaneCircle("tipArcZ",c.start.clone(),h.auxCircleRadius,A.coordinateSystem.dirX,l);var d=A.coordinateSystem.drawingToCanvas(c.start.clone()),p=A.coordinateSystem.drawingToCanvas(c.endY.clone());A.coordinateSystem.drawAxisY(d,p,e.highLight),A.coordinateSystem.drawCubeX("cubeX",p,h.cubeRadius),A.drawingImpl.show("cubeY",!1);var g="x";2>i&&(g="y"),A.fillClipPlane.rotateAngleOffset(a,g),A.coordinateSystem.backwardCoordinate(),!0===A.firstClickDown?A.firstClickDown=!1:A.lastIndex=r,A.translateStartPt.set(t.clientX,t.clientY),A.viewer.render(),t.preventDefault(),t.stopPropagation()}}))},nB.prototype.enableCircleYMovement=function(){var A=this,e=this.config.colors;document.addEventListener("mousemove",(function(t){if(!0===A.circleYMouseDown){A.drawingImpl.show("dashLineY",!0),A.drawingImpl.setColor("axisZ",e.default),A.drawingImpl.fill("arrow",e.default),vc.ClippingCaps=!1;var i=A.fillClipPlane.normalIndex,o=A.viewportOffset,n=new s(t.clientX-o.left,t.clientY-o.top),r=A.calcRotateAngleIndex(n,A.coordinateSystem.discretePointsY);!0===A.firstClickDown&&(A.lastIndex=r);var a=2*(r-A.lastIndex);i>3&&(a=-a),A.drawingImpl.show("tipArcX",!1),A.coordinateSystem.updateAxisZ();var l=A.fillClipPlane.renderClipPlane.normal.clone(),c=A.coordinateSystem.getCoordinateAxis(),h=A.config.styles;A.coordinateSystem.drawClipPlaneCircle("tipArcZ",c.start.clone(),h.auxCircleRadius,A.coordinateSystem.dirX.clone(),l.clone());var d=A.coordinateSystem.drawingToCanvas(c.start.clone()),p=A.coordinateSystem.drawingToCanvas(c.endX.clone());A.coordinateSystem.drawAxisX(d,p,e.highLight),A.coordinateSystem.drawCubeY("cubeY",p,h.cubeRadius),A.drawingImpl.show("cubeX",!1);var g="z";i>3&&(g="y"),A.fillClipPlane.rotateAngleOffset(a,g),A.coordinateSystem.backwardCoordinate(),!0===A.firstClickDown?A.firstClickDown=!1:A.lastIndex=r,A.translateStartPt.set(t.clientX,t.clientY),A.viewer.render(),t.preventDefault(),t.stopPropagation()}}))},nB.prototype.registerTipArcXEvents=function(){var A=this,e=this.config.colors,t=this.drawingImpl.getDrawable("tipArcX");t.onmouseover=function(){!1===A.circleYMouseDown&&(A.coordinateSystem.arcToCircle("tipArcX"),A.drawingImpl.setColor("tipArcY",e.default),A.drawingImpl.fill("cubeY",e.default),A.drawingImpl.setColor("axisZ",e.default),A.drawingImpl.fill("arrow",e.default),A.registerCircleXEvents())},t.onmouseout=function(){!1===A.circleXMouseDown&&A.coordinateSystem.circleToArc("tipArcX")}},nB.prototype.registerTipArcYEvents=function(){var A=this,e=this.config.colors,t=this.drawingImpl.getDrawable("tipArcY");t.onmouseover=function(){!1===A.circleXMouseDown&&(A.coordinateSystem.arcToCircle("tipArcY"),A.drawingImpl.setColor("tipArcX",e.default),A.drawingImpl.fill("cubeX",e.default),A.drawingImpl.setColor("axisZ",e.default),A.drawingImpl.fill("arrow",e.default),A.registerCircleYEvents())},t.onmouseout=function(){!1===A.circleYMouseDown&&A.coordinateSystem.circleToArc("tipArcY")}},nB.prototype.calcRotateAngleIndex=function(A,e){for(var t=this.createLine(A,this.coordinateSystem.cOrigin),i=-1,o=Number.POSITIVE_INFINITY,n=0;90>n;n+=1){var r=e[n].clone(),a=this.disPointToLine(r,t);o>a&&(o=a,i=n)}var s=90+i,l=e[i].clone().distanceTo(A);return e[s].clone().distanceTo(A)>l?i:s},nB.prototype.createLine=function(A,e){var t={};if(A.x===e.x)t.A=1,t.B=0,t.C=-A.x;else{var i=(e.y-A.y)/(e.x-A.x),o=e.y-i*e.x;t.A=i,t.B=-1,t.C=o}return t},nB.prototype.disPointToLine=function(A,e){return Math.abs(e.A*A.x+e.B*A.y+e.C)/Math.sqrt(e.A*e.A+e.B*e.B)};var rB=function(){return{colors:{tipArcX:"#0000FF",cubeX:"#0000FF",tipArcY:"#FF0000",cubeY:"#FF0000",highLight:"#FFFF00",tipLine:"#4dc0ff",arrow:"#4dc0ff",default:"#A9A9A9"},styles:{dashArray:"10 8",originRadius:5,auxCircleRadius:.1,tipLineLength:.1,cubeRadius:5,axisXWidth:2,axisYWidth:2,axisZWidth:3,axisXLength:.1,axisYLength:.1,axisZLength:.14,segments:180,tipArcLeftCounts:45,tipArcRightCounts:45}}},aB=function(A,e){this.coordinateSystem=A,this.viewer=e,this.container=this.viewer.domElement.querySelector("div:first-child"),this.mapDrawables={},this.initialize()};aB.prototype.initialize=function(){this.xmlns="http://www.w3.org/2000/svg";var A=document.createElement("div");A.style.left="0px",A.style.top="0px",A.style.width=this.container.offsetWidth+"px",A.style.height=this.container.offsetHeight+"px",A.style.position="absolute",this.group=document.createElementNS(this.xmlns,"svg"),this.group.setAttribute("width",String(this.container.offsetWidth)),this.group.setAttribute("height",String(this.container.offsetHeight)),A.appendChild(this.group),this.container.appendChild(A)},aB.prototype.makeCircle=function(A,e){var t=this.mapDrawables;void 0===t[A]&&(t[A]=document.createElementNS(this.xmlns,"circle"),this.group.appendChild(t[A]));var i=t[A];i.style.fill=e.color||"#FF0000",i.setAttribute("r",String(e.radius)),i.setAttribute("transform","translate("+e.center.x+","+e.center.y+")")},aB.prototype.show=function(A,e){var t=this.getDrawable(A);t&&(t.style.display=e?"block":"none")},aB.prototype.fill=function(A,e){this.getDrawable(A).style.fill=e?"block":"none"},aB.prototype.makeLine=function(A,e){var t=this.mapDrawables;void 0===t[A]&&(t[A]=document.createElementNS(this.xmlns,"line"),this.group.appendChild(t[A]));var i=t[A];i.setAttribute("stroke",e.color||"#000000"),i.setAttribute("stroke-width",e.width||3),i.setAttribute("x1",String(e.start.x)),i.setAttribute("y1",String(e.start.y)),i.setAttribute("x2",String(e.end.x)),i.setAttribute("y2",String(e.end.y))},aB.prototype.makeDashLine=function(A,e){this.makeLine(A,e),this.mapDrawables[A].setAttribute("stroke-dasharray",e.dashArray)},aB.prototype.makePolyline=function(A,e){var t=null,i=this.mapDrawables;void 0===i[A]&&(i[A]=document.createElementNS(this.xmlns,"polyline"),this.group.appendChild(i[A])),(t=i[A]).setAttribute("stroke",e.color||"#A9A9A9"),t.setAttribute("stroke-width",e.width||3),t.style.fill="none",t.setAttribute("points",e.points)},aB.prototype.makeDefs=function(A){var e=this.mapDrawables;void 0===e[A]&&(e[A]=document.createElementNS(this.xmlns,"defs"),void 0===e.marker&&(e.marker=this.makeMarker(),e[A].appendChild(e.marker)),this.group.appendChild(e[A]))},aB.prototype.makeMarker=function(){var A=document.createElementNS(this.xmlns,"marker");A.setAttribute("id","arrow"),A.setAttribute("viewBox","0 0 10 10"),A.setAttribute("refX","5"),A.setAttribute("refY","5"),A.setAttribute("markerWidth","6"),A.setAttribute("markerHeight","6"),A.setAttribute("orient","auto-start-reverse");var e=document.createElementNS(this.xmlns,"path");return e.setAttribute("d","M 0 0 L 10 5 L 0 10 z"),e.style.fill="#11DAB7",this.mapDrawables.arrow=e,A.appendChild(e),A},aB.prototype.getDrawable=function(A){return this.mapDrawables[A]},aB.prototype.attach=function(){this.getDrawable("axisZ").setAttribute("marker-end","url(#arrow)")},aB.prototype.setColor=function(A,e){this.getDrawable(A).setAttribute("stroke",e)},aB.prototype.fill=function(A,e){this.getDrawable(A).style.fill=e},aB.prototype.hideAll=function(A){this.group.style.display=!0===A?"none":"block"},aB.prototype.destroy=function(){for(var A=this.group.children,e=0;A.length>e;e+=1)this.group.removeChild(A[e]);this.group.parentNode.removeChild(this.group)};var sB=function(A){this.viewer=A,this.enable=!0,this.cameraControl=A.cameraControl,this.fillClipPlane=A.getScene().getFillClipPlane(),this.container=A.domElement.querySelector("div:first-child"),this.config=new rB,this.drawingImpl=new aB(this,A),this.coordinateAction=new nB(this,this.drawingImpl),this.initialize()};sB.prototype.initialize=function(){this.enable=!0,this.boundingBox=new Ps,this.bRegisterArrowEvent=!1,this.bRegisterAuxCircleEvent=!1,this.mapDrawableName={ORIGIN:"origin",AXISX:"axisX",AXISY:"axisY",CUBEX:"cubeX",CUBEY:"cubeY",AXISZ:"axisZ",ARROW:"arrow",DASHLINE:"dashLine",TIPARC_X:"tipArcX",TIPARC_Y:"tipArcY",TIPARC_Z:"tipArcZ",DASHLINE_X:"dashLineX",DASHLINE_Y:"dashLineY"}},sB.prototype.saveTransform=function(A){this.savedCamera=A.clone()},sB.prototype.drawingToCanvas=function(A){var e=Rd.drawingToCanvas(this.cameraControl.camera,A,this.container.offsetWidth,this.container.offsetHeight);return new s(e.x,e.y)},sB.prototype.getCoordinateAxis=function(){var A=this.fillClipPlane.renderClipPlane.normal.clone(),e=this.fillClipPlane.getCoordinate(),t=e.axisY.clone(),i=A.clone().cross(t.clone());this.fillClipPlane.normalIndex>3&&(t=(i=e.axisX.clone()).clone().cross(A.clone()));var o=this.config.styles,n=this.fillClipPlane.position.clone(),r=this.cameraControl.getCamera().position.clone().sub(n).length(),a=n.clone().add(i.clone().multiplyScalar(o.axisXLength*r)),s=n.clone().add(t.clone().multiplyScalar(o.axisYLength*r)),l=n.clone().add(A.clone().multiplyScalar(o.axisZLength*r));return this.dirX=i,this.dirY=t,{start:n,endX:a,endY:s,endZ:l}},sB.prototype.drawOrigin=function(A,e){this.drawingImpl.makeCircle(this.mapDrawableName.ORIGIN,{center:A,radius:e,color:this.config.colors.default})},sB.prototype.drawAxisX=function(A,e,t){this.drawingImpl.makeLine(this.mapDrawableName.AXISX,{start:A,end:e,width:this.config.styles.axisXWidth,color:t||this.config.colors.default})},sB.prototype.drawAxisY=function(A,e,t){var i=this.config;this.drawingImpl.makeLine(this.mapDrawableName.AXISY,{start:A,end:e,width:i.styles.axisYWidth,color:t||i.colors.default})},sB.prototype.drawAxisZ=function(A,e){var t=this.config;this.drawingImpl.makeLine(this.mapDrawableName.AXISZ,{start:A,end:e,width:t.styles.axisZWidth,color:t.colors.arrow}),this.drawingImpl.attach(),!1===this.bRegisterArrowEvent&&(this.coordinateAction.registerArrowEvents(),this.bRegisterArrowEvent=!0)},sB.prototype.updateAxisZ=function(){var A=this.getCoordinateAxis(),e=this.drawingToCanvas(A.start.clone()),t=this.drawingToCanvas(A.endZ.clone());this.drawingImpl.makeLine(this.mapDrawableName.AXISZ,{start:e,end:t,color:this.config.colors.default})},sB.prototype.drawArrow=function(A,e){var t=this.mapDrawableName;this.drawingImpl.makeLine(t.AXISZ,{start:A,end:e}),this.drawingImpl.attach(),this.drawingImpl.setColor(t.AXISZ,this.config.colors.default),!1===this.bRegisterArrowEvent&&(this.coordinateAction.registerArrowEvents(),this.bRegisterArrowEvent=!0)},sB.prototype.drawClipPlaneCircle=function(A,e,t,i,o){for(var n={center:e.clone(),radius:t,normal:i.clone(),rotateAxis:o.clone()},r=this.config.styles.segments,a=this.discreteCircle(n,r),s="",l=0;r>l;l+=1)s+=a[l].x+","+a[l].y,s+=" ";s+=a[0].x+","+a[0].y,this.drawingImpl.makePolyline(A,{points:s+=" ",color:this.config.colors.default,width:2})},sB.prototype.drawTipArc=function(A,e,t,i,o){var n={center:e.clone(),radius:t,normal:i.clone(),rotateAxis:o.clone()},r=this.config.styles,a=r.tipArcRightCounts,s=r.tipArcLeftCounts,l=r.segments,c=this.discreteCircle(n,l);A===this.mapDrawableName.TIPARC_X?(this.discretePointsX=c,a=r.tipArcLeftCounts,s=r.tipArcRightCounts):this.discretePointsY=c;for(var h="",d=l-a-1;l>d;d+=1)h+=c[d].x+","+c[d].y,h+=" ";for(var p=0;s>=p;p+=1)h+=c[p].x+","+c[p].y,h+=" ";var g={points:h,color:this.config.colors.tipArcX};A===this.mapDrawableName.TIPARC_X?(this.drawingImpl.makePolyline(A,g),this.coordinateAction.registerTipArcXEvents()):A===this.mapDrawableName.TIPARC_Y&&(g.color=this.config.colors.tipArcY,this.drawingImpl.makePolyline(A,g),this.coordinateAction.registerTipArcYEvents())},sB.prototype.drawTipLine=function(A,e,t){var i=this.drawingToCanvas(e.clone()),o=this.drawingToCanvas(t.clone()),n=this.config;this.drawingImpl.makeDashLine(A,{start:i,end:o,color:n.colors.tipLine,dashArray:n.styles.dashArray}),this.drawingImpl.show(A,!1)},sB.prototype.drawCubeX=function(A,e,t){this.drawingImpl.makeCircle(A,{center:e,radius:t,color:this.config.colors.cubeX})},sB.prototype.drawCubeY=function(A,e,t,i){this.drawingImpl.makeCircle(A,{center:e,radius:t,color:i||this.config.colors.cubeY})},sB.prototype.discreteCircle=function(A,e){for(var t=A.center.clone(),i=A.radius,o=A.rotateAxis.clone(),n=A.normal.clone(),r=[],a=0;e>a;a+=1){n.applyAxisAngle(o,2*Math.PI/e);var s=t.clone().add(n.clone().multiplyScalar(i)),l=this.drawingToCanvas(s.clone());r.push(l)}return r},sB.prototype.arcToCircle=function(A){var e="",t=this.discretePointsX;A===this.mapDrawableName.TIPARC_Y&&(t=this.discretePointsY);for(var i=0,o=t.length;o>i;i+=1)e+=t[i].x+","+t[i].y,e+=" ";e+=t[0].x+","+t[0].y,this.drawingImpl.makePolyline(A,{points:e+=" ",color:this.config.colors.highLight})},sB.prototype.circleToArc=function(A){var e=this.config.styles,t=e.tipArcLeftCounts,i=e.tipArcRightCounts,o=e.segments,n=this.discretePointsX,r={color:this.config.colors.tipArcX};A===this.mapDrawableName.TIPARC_Y&&(n=this.discretePointsY,r.color=this.config.colors.tipArcY,t=e.tipArcRightCounts,i=e.tipArcLeftCounts);for(var a="",s=o-t-1;o>s;s+=1)a+=n[s].x+","+n[s].y,a+=" ";for(var l=0;i>=l;l+=1)a+=n[l].x+","+n[l].y,a+=" ";r.points=a,this.drawingImpl.makePolyline(A,r)},sB.prototype.update=function(){if(this.enable){var A=this.fillClipPlane.position.clone(),e=this.cameraControl.getCamera().position.clone().sub(A).length(),t=this.getCoordinateAxis(),i=this.drawingToCanvas(t.start.clone()),o=this.drawingToCanvas(t.endX.clone()),n=this.drawingToCanvas(t.endY.clone()),r=this.drawingToCanvas(t.endZ.clone());void 0===this.createRefs&&(this.drawingImpl.makeDefs("refs"),this.createRefs=!0),this.cOrigin=i.clone(),this.drawAxisZ(i,r),this.drawAxisX(i,o),this.drawAxisY(i,n);var a=this.config.styles,s=this.mapDrawableName,l=this.fillClipPlane.renderClipPlane.normal.clone();this.drawClipPlaneCircle(s.TIPARC_Z,t.start.clone(),a.auxCircleRadius*e,this.dirX,l),this.drawTipArc(s.TIPARC_X,t.start.clone(),a.auxCircleRadius*e,l,this.dirX),this.drawTipArc(s.TIPARC_Y,t.start.clone(),a.auxCircleRadius*e,l,this.dirY);var c=t.start.clone().add(this.dirX.clone().multiplyScalar(a.tipLineLength*e)),h=t.start.clone().sub(this.dirX.clone().multiplyScalar(a.tipLineLength*e));this.drawTipLine(s.DASHLINE_X,c,h);var d=t.start.clone().add(this.dirY.clone().multiplyScalar(a.tipLineLength*e)),p=t.start.clone().sub(this.dirY.clone().multiplyScalar(a.tipLineLength*e));this.drawTipLine(s.DASHLINE_Y,d,p),this.drawOrigin(i,a.originRadius);var g=this.discretePointsX[44].clone();this.drawCubeX(s.CUBEX,g,a.cubeRadius);var u=this.discretePointsY[134].clone();this.drawCubeY(s.CUBEY,u,a.cubeRadius),this.updateBbox()}else this.hide(!0)},sB.prototype.hide=function(A){this.drawingImpl.hideAll(A)},sB.prototype.enabled=function(A){this.enable=A},sB.prototype.destroy=function(){this.drawingImpl.destroy()},sB.prototype.updateBbox=function(){this.boundingBox.makeEmpty();for(var A=0;this.discretePointsX.length>A;A+=1){var e=this.discretePointsX[A].clone();this.boundingBox.expandByPoint(e)}for(A=0;this.discretePointsY.length>A;A+=1){e=this.discretePointsY[A].clone();this.boundingBox.expandByPoint(e)}var t=this.getCoordinateAxis(),i=this.drawingToCanvas(t.start.clone()),o=this.drawingToCanvas(t.endZ.clone());this.boundingBox.expandByPoint(i),this.boundingBox.expandByPoint(o),this.boundingBox.expandByScalar(5)},sB.prototype.insideBoundingBox=function(A){return this.boundingBox.containsPoint(A.clone())},sB.prototype.backwardCoordinate=function(){var A=this.cameraControl.camera.position,e=this.cameraControl.camera.target.clone().sub(A.clone()).normalize(),t=this.fillClipPlane.renderClipPlane.normal.clone();e.angleTo(t);Math};var lB={Forward:0,Reverse:1},cB={X:0,Y:4,Z:2},hB=function(A){var e=A.viewer;if(e){if(e._sectionBox&&e._sectionBox.exit(),e._sectionPlane)return e._sectionPlane;e._sectionPlane=this,this.id=A.id,this._opt=A,this.mode=A.mode,this._plane=A.plane,this._direction=A.direction,this._progress=A.progress,this.init(),this.setPlane(A.plane)}else Bh.log("domElement must not be empty.")};hB.prototype={init:function(){this.enableCoordinate=!0;var A=this._opt.viewer.getViewerImpl();this.coordinateSystem=new sB(A),A.controlManager.enableTool(A,Pc.CLIP_FILL),this._sectionTool=A.getScene().getFillClipPlane(),this._sectionTool.enable(!0,!0),this.hookEvens()},hookEvens:function(){var A=this,e=this.coordinateSystem,t=this._opt.viewer.getViewerImpl();t.getDomElement();t.registerEventListener(Rc.ON_CLIP_HOVER,(function(t){if(!1!==A.enableCoordinate)if(t.onClipPlane)e.enable&&(e.update(),e.hide(!1));else{var i=new s(t.event.clientX,t.event.clientY);e.insideBoundingBox(i)?e.hide(!1):e.hide(!0)}})),t.registerEventListener(Rc.ON_CLIP_MOUSE_DOWN,(function(A){})),t.registerEventListener(Rc.ON_CLIP_MOUSE_MOVE,(function(A){e.update()})),t.registerDomEventListener(Rc.ON_CONTROL_ZOOM,(function(A){e.update()}))},exit:function(){var A=this._opt.viewer.getViewerImpl(),e=A.getScene().getFillClipPlane();A.controlManager.disableTool(Pc.CLIP_FILL),e.enable(!1,!1),this.coordinateSystem.destroy(),this._sectionTool=null,this._opt.viewer._sectionPlane=null},setProgress:function(A){var e=1-A/50;this._progress=A,this._sectionTool.setProcess(e)},getProgress:function(){return 50*(1-this._sectionTool.getProcess())},setPlane:function(A){var e=lB[this._direction]+cB[A];this._plane=A,this._sectionTool.changeNormal(e),this.setProgress(this._opt.progress)},getPlane:function(){return this._plane},setDirection:function(A){var e=lB[A]+cB[this._plane];this._direction=A,this._sectionTool.changeNormal(e),this.setProgress(this._opt.progress)},getDirection:function(){return this._direction},setRotateAngle:function(A,e){this._sectionTool.setRotateAngle(A,e)},getRotateAngle:function(){return this._sectionTool.getRotateAngle()},hidePlane:function(){this._sectionTool.visible=!1,this.enableCoordinate=!1,this.coordinateSystem.hide(!0)},showPlane:function(){this._sectionTool.visible=!0,this.enableCoordinate=!0},reset:function(){this.setPlane(this._opt.plane),this.setDirection(this._opt.direction),this.setProgress(this._opt.progress)},getState:function(){return this._sectionTool.store()},setState:function(A){this._sectionTool.restore(A)}};var dB=function(A){var e=this,t=A;"function"==typeof A.getViewerImpl&&(t=A.getViewerImpl()),this.marks={},this.SelectedMark={},this.components={},this.allOids=[];var i={id:"",name:"mark",scale:20,alwaysVisible:!1,color:[99,99,99],wordColor:[0,0,0],position:[0,0,0]},o=new s,n=0,r=0;function a(A){var e=[0,0];if(A){for(var t=A.target,i=0,o=0;t.offsetParent;)i+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;e[0]=A.pageX-i,e[1]=A.pageY-o}else A=window.event,e.x=A.x,e.y=A.y;return e}function l(A){var i=new Dd,n=new y(o.x/t.domElement.clientWidth*2-1,-o.y/t.domElement.clientHeight*2+1,.5);i.setFromCamera(n,t.camera),i.camera=t.camera,i._camera=t.camera;var r=Object.values(e.components),a=i.intersectObjects(r);a&&a.length>0&&e.SelectedMark!==a[0].object?(e.SelectedMark=a[0].object,e.dispatchEvent("updated",{added:{objects:e.SelectedMark}})):(e.SelectedMark={},e.dispatchEvent("updated",{removed:{objects:e.SelectedMark}}))}function c(A){var e=a(A);o.x=n=e[0],o.y=r=e[1]}function h(A){var e=a(A);(e[0]>n?5>e[0]-n:5>n-e[0])&&(e[1]>r?5>e[1]-r:5>r-e[1])&&(o.x=n=e[0],o.y=r=e[1],l())}function p(A){o.x=n=A.changedTouches[0].clientX,o.y=r=A.changedTouches[0].clientY}function g(A){(A.changedTouches[0].clientX>n?5>A.changedTouches[0].clientX-n:5>n-A.changedTouches[0].clientX)&&(A.changedTouches[0].clientY>r?5>A.changedTouches[0].clientY-r:5>r-A.changedTouches[0].clientY)&&(o.x=n=A.changedTouches[0].clientX,o.y=r=A.changedTouches[0].clientY,l())}this.active=!0,e.domElement=t.domElement,this.enabled=function(){this.mousedown=t.domElement.addEventListener("mousedown",c,!1),this.mouseup=t.domElement.addEventListener("mouseup",h,!1)},this.disabled=function(){this.mousedown=t.domElement.removeEventListener("mousedown",c,!1),this.mouseup=t.domElement.removeEventListener("mouseup",h,!1)},this.touchEnabled=function(){this.touchstart=t.domElement.addEventListener("touchstart",p,!1),this.touchend=t.domElement.addEventListener("touchend",g,!1)},this.touchDisabled=function(){this.touchstart=t.domElement.removeEventListener("touchstart",p,!1),this.touchend=t.domElement.removeEventListener("touchend",g,!1)},this.enabled(),this.add=function(A,t){var o=Object.assign({},i,A);if(""!==o.id)for(var n=0;e.allOids.length>n;n+=1)if(o.id===e.allOids[n])return{data:"标签id重复"};(o.position.isVector3||(o.position=new y(o.position[0],o.position[1],o.position[2])),Array.isArray(o.color))&&(o.color="rgb("+o.color[0]+","+o.color[1]+","+o.color[2]+")");Array.isArray(o.wordColor)&&(o.wordColor="rgb("+o.wordColor[0]+","+o.wordColor[1]+","+o.wordColor[2]+")");var r=document.createElement("canvas");r.width=28*o.name.length,r.height=150;var a=r.getContext("2d");a.fillStyle="rgba(255, 255, 255, 0)",a.lineWidth=2,a.strokeStyle=o.color,a.strokeRect(5,0,r.width-5,30),a.moveTo(5,141),a.lineTo(5,30),a.stroke(),a.fillStyle=o.color,a.beginPath(),a.arc(5,145,4,0,2*Math.PI),a.fill(),a.fillRect(10,5,r.width-15,20),a.font="bold 18px Arial",a.fillStyle=o.wordColor,a.textAlign="center",a.fillText(o.name,r.width/2,20);var s=new d(r);s.needsUpdate=!0;var l=new ro({map:s,color:16777215,depthTest:o.alwaysVisible}),c=new vo(l);c.center.x=0,c.center.y=0,c.scale.set(o.scale*l.map.image.width,o.scale*l.map.image.height,1),c.position.copy(o.position),c.updateMatrixWorld(),c.key=""!==o.id?o.id:c.uuid,e.addObjectToScene(o,c),"function"==typeof t&&t(c.key)},this.addObjectToScene=function(A,e){A&&A.id&&e&&(this.components[A.id]=e,this.allOids.push(A.id),this.marks[A.id]=A,t.addExternalObject(A.id,e))},this.updateMark=function(A,i){if(e.marks[A]){var o=Object.assign({},e.marks[A],i),n=this.components[A];if(n){if(o.position.isVector3||(o.position=new y(o.position[0],o.position[1],o.position[2])),Array.isArray(o.color))o.color="rgb("+o.color[0]+","+o.color[1]+","+o.color[2]+")";if(Array.isArray(o.wordColor))o.wordColor="rgb("+o.color[0]+","+o.color[1]+","+o.color[2]+")";var r=document.createElement("canvas");r.width=28*o.name.length,r.height=150;var a=r.getContext("2d");a.fillStyle="rgba(255, 255, 255, 0)",a.lineWidth=2,a.strokeStyle=o.color,a.strokeRect(5,0,r.width-5,30),a.moveTo(5,141),a.lineTo(5,30),a.stroke(),a.fillStyle=o.color,a.beginPath(),a.arc(5,145,4,0,2*Math.PI),a.fill(),a.fillRect(10,5,r.width-15,20),a.font="bold 18px Arial",a.fillStyle=o.wordColor,a.textAlign="center",a.fillText(o.name,r.width/2,20);var s=new d(r);s.needsUpdate=!0;var l=new ro({map:s,color:16777215,depthTest:o.alwaysVisible});n.material=l,n.scale.set(o.scale*n.material.map.image.width,o.scale*n.material.map.image.height,1),n.position.copy(o.position),n.updateMatrixWorld(),t.render(),e.marks[A]=o}}},this.remove=function(A){if(null==A)return{data:"未选中mark"};Array.isArray(A)||(A=[A]);for(var i=0;A.length>i;i+=1){var o=e.allOids.indexOf(A[i]);e.allOids.splice(o,1),delete e.components[A[i]],t.removeExternalObjectByName(A[i])}},this.hide=function(A){if(null==A)return{data:"未选中mark"};Array.isArray(A)||(A=[A]);for(var e=null,t=0;A.length>t;t+=1)(e=this.components[A[t]])&&(e.visible=!1)},this.show=function(A){var t=null;if(A){Array.isArray(A)||(A=[A]);for(var i=0;A.length>i;i+=1)(t=this.components[A[i]])&&(t.visible=!0)}else for(var o in e.components)(t=e.components[o])&&(t.visible=!0)},this.isolation=function(A){if(null==A)return{data:"未选中mark"};if(e.show(),e.allOids.length>0){var t=e.allOids.concat();Array.isArray(A)||(A=[A]);for(var i=0;A.length>i;i+=1){var o=A[i];if(-1===e.allOids.indexOf(o))return{data:"mark不存在"};for(var n=0;t.length>n;n+=1)if(o===t[n]){t.splice(n,1);break}}var r=null;for(n=0;t.length>n;n+=1)(r=e.components[t[n]])&&(r.visible=!1)}},this.listentoSelectMarks=function(A){e.addEventListener("updated",(function(){e.SelectedMark!=={}?A(e.SelectedMark.key?e.SelectedMark.key:e.SelectedMark.uuid,e.SelectedMark):A(null,null)}))}};Object.assign(dB.prototype,Ld.prototype);var pB=function(A){var e=this;this.Marks=new H,A.modelManager.scene.add(e.Marks),this.SelectedMark={},this.components={},this.allOids=[];var t={id:"",name:"mark",scale:20,width:1,height:1,alwaysVisible:!1,useImageSize:!0,color:"#000000",position:[0,0,0]},i=new s,o=0,n=0;function r(A){var e=[0,0];if(A){for(var t=A.target,i=0,o=0;t.offsetParent;)i+=t.offsetLeft,o+=t.offsetTop,t=t.offsetParent;e[0]=A.pageX-i,e[1]=A.pageY-o}else A=window.event,e.x=A.x,e.y=A.y;return e}function a(t){var o=new Dd,n=new y(i.x/A.domElement.clientWidth*2-1,-i.y/A.domElement.clientHeight*2+1,.5);o.setFromCamera(n,A.camera);var r=o.intersectObjects(e.Marks.children);r&&r.length>0&&e.SelectedMark!==r[0].object?(e.SelectedMark=r[0].object,e.dispatchEvent("updated",{added:{objects:e.SelectedMark}})):(e.SelectedMark={},e.dispatchEvent("updated",{removed:{objects:e.SelectedMark}}))}function l(A){var e=r(A);i.x=o=e[0],i.y=n=e[1]}function c(A){var e=r(A);(e[0]>o?5>e[0]-o:5>o-e[0])&&(e[1]>n?5>e[1]-n:5>n-e[1])&&(i.x=o=e[0],i.y=n=e[1],a())}function h(A){i.x=o=A.changedTouches[0].clientX,i.y=n=A.changedTouches[0].clientY}function p(A){(A.changedTouches[0].clientX>o?5>A.changedTouches[0].clientX-o:5>o-A.changedTouches[0].clientX)&&(A.changedTouches[0].clientY>n?5>A.changedTouches[0].clientY-n:5>n-A.changedTouches[0].clientY)&&(i.x=o=A.changedTouches[0].clientX,i.y=n=A.changedTouches[0].clientY,a())}this.active=!0,e.domElement=A.domElement,this.enabled=function(){this.mousedown=A.domElement.addEventListener("mousedown",l,!1),this.mouseup=A.domElement.addEventListener("mouseup",c,!1)},this.disabled=function(){this.mousedown=A.domElement.removeEventListener("mousedown",l,!1),this.mouseup=A.domElement.removeEventListener("mouseup",c,!1)},this.touchEnabled=function(){this.touchstart=A.domElement.addEventListener("touchstart",h,!1),this.touchend=A.domElement.addEventListener("touchend",p,!1)},this.touchDisabled=function(){this.touchstart=A.domElement.removeEventListener("touchstart",h,!1),this.touchend=A.domElement.removeEventListener("touchend",p,!1)},this.enabled(),this.add=function(i,o){var n=Object.assign({},t,i);if(""!==n.id)for(var r=0;e.allOids.length>r;r+=1)if(n.id===e.allOids[r])return{data:"标签id重复"};var a=document.createElement("canvas");a.width=24*n.name.length,a.height=32;var s=a.getContext("2d");s.lineWidth=3,s.strokeStyle="#0000FF",s.strokeRect(0,0,a.width,32),s.fillStyle="#FFFFFF",s.fillRect(3,3,a.width-6,26),s.font=" bold 24px Arial",s.fillStyle=n.color,s.textAlign="center",s.fillText(n.name,a.width/2,26),console.log(a.width);var l=new d(a);l.needsUpdate=!0;var c=new ro({map:l,color:16777215,depthTest:n.alwaysVisible}),h=new vo(c);h.scale.set(n.scale*c.map.image.width,n.scale*c.map.image.height,1),n.position.isVector3?h.position.copy(n.position):h.position.set(n.position[0],n.position[1],n.position[2]),h.updateMatrixWorld(),e.Marks.add(h),A.render(),""!==n.id?(h.key=n.id,e.components[n.id]=h,e.allOids.push(n.id)):(h.key=h.uuid,e.components[h.uuid]=h,e.allOids.push(h.uuid)),"function"==typeof o&&o(h.key)},this.updateMark=function(i,o){var n=Object.assign({},t,o),r=null;if(e.components[i]){r=e.components[i];var a=document.createElement("canvas");a.width=24*n.name.length,a.height=32;var s=a.getContext("2d");s.lineWidth=3,s.strokeStyle="#0000FF",s.strokeRect(0,0,a.width,32),s.fillStyle="#FFFFFF",s.fillRect(3,3,a.width-6,26),s.font=" bold 24px Arial",s.fillStyle=n.color,s.textAlign="center",s.fillText(n.name,a.width/2,26);var l=new d(a);l.needsUpdate=!0;var c=new ro({map:l,color:16777215,depthTest:n.alwaysVisible});r.material=c,r.scale.set(n.scale*r.material.map.image.width,n.scale*r.material.map.image.height,1),n.position.isVector3?r.position.copy(n.position):r.position.set(n.position[0],n.position[1],n.position[2]),r.updateMatrixWorld(),A.render()}},this.remove=function(A){if(null==A)return{data:"未选中mark"};Array.isArray(A)||(A=[A]);for(var t=null,i=0;A.length>i;i+=1){t=e.components[A[i]];var o=e.allOids.indexOf(A[i]);e.allOids.splice(o,1),e.Marks.remove(t)}},this.hide=function(A){if(null==A)return{data:"未选中mark"};Array.isArray(A)||(A=[A]);for(var t=null,i=0;A.length>i;i+=1)(t=e.components[A[i]])&&(t.visible=!1)},this.show=function(A){var t=null;if(A){Array.isArray(A)||(A=[A]);for(var i=0;A.length>i;i+=1)(t=e.components[A[i]])&&(t.visible=!0)}else for(var o in e.components)(t=e.components[o])&&(t.visible=!0)},this.isolation=function(A){if(null==A)return{data:"未选中mark"};if(e.show(),e.allOids.length>0){var t=e.allOids.concat();Array.isArray(A)||(A=[A]);for(var i=0;A.length>i;i+=1){var o=A[i];if(-1===e.allOids.indexOf(o))return{data:"mark不存在"};for(var n=0;t.length>n;n+=1)if(o===t[n]){t.splice(n,1);break}}var r=null;for(n=0;t.length>n;n+=1)(r=e.components[t[n]])&&(r.visible=!1)}},this.listentoSelectMarks=function(A){e.addEventListener("updated",(function(){e.SelectedMark!=={}?A(e.SelectedMark.key?e.SelectedMark.key:e.SelectedMark.uuid,e.SelectedMark):A(null,null)}))}};Object.assign(pB.prototype,Ld.prototype);var gB=function A(){cc(this,A),this.type="circle",this.lineHeight=2,this.color="#ff0000",this.titleColor="#000000",this.titleBackgroundColor="#ff0000",this.lineTitleBackgroundColor="#ffffff"},uB=function(){function A(e,t,i,o,n,r){cc(this,A),this.lineTitle=t,this.icon=o,this.title=i,this.type=e.type,this.lineHeight=e.lineHeight,this.color=e.color,this.titleBackgroundColor=e.titleBackgroundColor,this.titleColor=e.titleColor,this.lineTitleBackgroundColor=e.lineTitleBackgroundColor,this.id=n,this.scenePoint=r,this.rootDiv=void 0,this.lineTitleDiv=void 0,this.contentDiv=void 0,this.lineStartPosition={x:0,y:0},this.lineEndPosition={x:100,y:100},this._iconSize=30,this._marginLeft=10,this._dragStart=this._dragStart.bind(this),this._dragMove=this._dragMove.bind(this),this._dragEnd=this._dragEnd.bind(this),this._lastDragPoint=void 0,this._init()}return dc(A,[{key:"_init",value:function(){this.rootDiv=document.createElement("div"),this.rootDiv.style.cssText="position:absolute; left: 0px; top: 0px;-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; -khtml-user-select: none; user-select: none;";var A=document.createElementNS("http://www.w3.org/2000/svg","svg");A.setAttribute("xmlns","http://www.w3.org/2000/svg"),A.style.overflow="visible",this.svg=A;var e=document.createElementNS("http://www.w3.org/2000/svg","path");e.style.fill=this.color,this.arrow=e,this.svg.appendChild(e),this.rootDiv.appendChild(A);var t=document.createElement("div");t.style.position="absolute",t.style.backgroundColor="#ffffff",t.style.color=this.titleColor,t.innerText=this.lineTitle,this.lineTitleDiv=t,this.rootDiv.appendChild(t);var i=document.createElement("div");this.contentDiv=i,this.contentDiv.addEventListener("mousedown",this._dragStart);var o=document.createElement("div");if(this.titleDiv=o,o.style.display="inline-block",o.style.color=this.titleColor,o.style.whiteSpace="nowrap",o.style.overflow="hidden",o.style.textOverflow="ellipsis",o.style.maxWidth="150px",o.style.position="absolute",o.style.top="50%",this.icon?"circle"===this.type?(o.style.left="50%",o.style.transform="translate(-50%, 5px)"):(o.style.left="".concat(this._marginLeft+this._iconSize+5,"px"),o.style.transform="translate(0px, -50%)"):(o.style.left="50%",o.style.transform="translate(-50%, -50%)"),o.innerText=this.title,this.contentDiv.appendChild(o),this.icon){var n=document.createElement("img");n.style.width="".concat(this._iconSize,"px"),n.style.height="".concat(this._iconSize,"px"),n.style.position="absolute",n.style.pointerEvents="none","circle"===this.type?(n.style.left="50%",n.style.top="50%",n.style.transform="translate(-50%, -100%)"):(n.style.left="".concat(this._marginLeft,"px"),n.style.top="50%",n.style.transform="translate(0px, -50%)"),n.src=this.icon,this.contentDiv.appendChild(n)}this.rootDiv.appendChild(i)}},{key:"setLineStartPosition",value:function(A,e){this.lineStartPosition.x=A,this.lineStartPosition.y=e,this.update()}},{key:"setLineEndPosition",value:function(A,e){this.lineEndPosition.x=A,this.lineEndPosition.y=e,this.update()}},{key:"setLineStartAndEndPoint",value:function(A,e,t,i){this.lineStartPosition.x=A,this.lineStartPosition.y=e,this.lineEndPosition.x=t,this.lineEndPosition.y=i,this.update()}},{key:"update",value:function(){var A=this.titleDiv.getBoundingClientRect();A.width+=2*this._marginLeft,"rectangle"===this.type&&(this.icon&&(A.width+=this._iconSize,A.width+=5),A.height=40);var e=this.lineEndPosition.x-this.lineStartPosition.x,t=this.lineEndPosition.y-this.lineStartPosition.y,i=Math.atan2(t,e);i>0||(i+=2*Math.PI);var o=i/Math.PI*180,n=Math.sqrt(e*e+t*t);if("circle"===this.type)n-=A.width/2;else{var r=Math.tan(i);Math.abs(r)>A.height/A.width?n-=A.height/2/Math.abs(Math.sin(i)):n-=A.width/2/Math.abs(Math.cos(i))}n=Math.max(15,n);var a=0,s=0,l="M".concat(a," ").concat(s);l+="L".concat(a," ").concat(s-this.lineHeight/2),l+="L".concat(a+n-10," ").concat(s-this.lineHeight/2),l+="A".concat(20," ").concat(20," 0 0 0 ").concat(a+n-15," ").concat(s-this.lineHeight/2-10),l+="L".concat(a+n," ").concat(s),l+="L".concat(a+n-15," ").concat(s+this.lineHeight/2+10),l+="A".concat(20," ").concat(20," 0 0 0 ").concat(a+n-10," ").concat(s+this.lineHeight/2),l+="L".concat(a," ").concat(s+this.lineHeight/2,"Z"),this.arrow.setAttributeNS(null,"d",l);var c="translate(".concat(this.lineStartPosition.x,", ").concat(this.lineStartPosition.y,") rotate(").concat(o,")");this.arrow.setAttributeNS(null,"transform",c);var h=(this.lineStartPosition.y+this.lineEndPosition.y)/2,d="\n left:".concat((this.lineStartPosition.x+this.lineEndPosition.x)/2,"px;top:").concat(h,"px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width:150px;\n position:absolute;\n transform:translate(-50%, -50%);\n background-color: ").concat(this.lineTitleBackgroundColor,";\n ");this.lineTitleDiv.style.cssText=d;var p=this.lineEndPosition.x,g=this.lineEndPosition.y;d="\n background-color:".concat(this.titleBackgroundColor,";\n position: absolute;\n left:").concat(p,"px;\n top:").concat(g,"px;\n transform:translate(-50%,-50%);\n width:").concat(A.width,"px;\n cursor: move;\n "),d+="circle"===this.type?"\n height:".concat(A.width,"px;\n border-radius:").concat(A.width,"px;\n "):"\n height:".concat(A.height,"px;\n border-radius:4px;\n "),this.contentDiv.style.cssText=d}},{key:"_dragStart",value:function(A){0===A.button&&(document.addEventListener("mousemove",this._dragMove),document.addEventListener("mouseup",this._dragEnd),this._lastDragPoint={x:A.clientX,y:A.clientY})}},{key:"_dragMove",value:function(A){if(this._lastDragPoint){var e=A.clientY-this._lastDragPoint.y;this.lineEndPosition.x+=A.clientX-this._lastDragPoint.x,this.lineEndPosition.y+=e,this.update(),this._lastDragPoint.x=A.clientX,this._lastDragPoint.y=A.clientY}else this._lastDragPoint={x:A.clientX,y:A.clientY}}},{key:"_dragEnd",value:function(A){this._lastDragPoint=void 0,document.removeEventListener("mousemove",this._dragMove),document.removeEventListener("mouseup",this._dragEnd)}}]),A}(),fB=function(){function A(e,t){cc(this,A),this.viewer3D=e,this.EIMMODEL=t,this.THREE=t.THREE,this.marks={},this.arrowConfig=new gB,this.flag=1,this.update=this.update.bind(this),e.registerCameraEventListener(this.EIMMODEL.EVENTS.ON_CAMERA_CHANGE,this.update)}return dc(A,[{key:"testData",value:function(){return[{lineTitle:"测试1",title:"测试1胜利大街发",icon:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAoCAYAAACIC2hQAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKqADAAQAAAABAAAAKAAAAACu2vZrAAAFXElEQVRYCe1YX0ybVRQvMB1ghyImq7CMxITyH8nmNPAwfDFb4iRj7mU+7GFbgEIIYMiWaaIsDpSwPQCJMDCYAZkvgEENGSEwQdbZEalCZjeB8bBRDIaAyYCFUurvfLmnu7RfW5AWXnaSH+fcc8495/Te+91zg0bznPy7AkH+DOdwOFIRLxmIFnGt4PeCgoLGxHjnGIrTAp8BDwFPRDby0e5IpUh8HPgb2CiR7/FtLRYJLwJrUoWPIF8F3gfeFCCZdGRjojkXt6VYJMrlrOArwAVgt6fkZBM+5MuU68nfL3pkSQc44RPIh+XAGMcAOcARWU8ydFkAzSGiGOmuPn4bI3gvZRGUw4Ex3gN8A9DWUjHvsU3m0NOPYOqVbX6TEf0QZwDv5MCQo4BJyXaFbcxhC5HkTsn3EOu98WBvRhXbCUn3pSTXQn5DGj+WZBY/QnH7xOArVoLLMSX1FkQkMomVmAZXmgX4QaGT2S3XNDDeBK6RHjwIoBhEJlffLY8R1KqExjnlYBjTF69GN6DMAN4GWoSDRZrHZ32add74Lm9GFVuU0M1JNtZJKkU8hb8EmfQoOAQt1Q4lx3hNdvAkb/aM/iMCycXdF7qn4COAQ4zV2L+iSLJxDI6p5u/UbbZQs5iZhJXhB81vQvcuijgIudoZ3V1QjoyYmyTMHNPdW9JsttAfxVx6HSnXCor7A/L3wIvCxlwMnWwJ0qdiRHP5hfWD08NfAlaCLvV5gEi+R1/HeAqwAGpkh/Ic1wGZ71GKtYf1fuUIfBlgkjtTJJTfsUHi9yFncBGQ5c70Bev9zpGI3p+PASK1Xr8f+hPAKeAtgM8y3Z+HAe71FCOw71MkOAkw0ePi/7yeTvp9FdUCorjrXKng9Oa8Ari+R0knv0fJ/bpazIDokIyOwF+UdZNEcwK75a6/GAkTgYVNFEq+ia5xNjJ2HnRPzqWlpa8uLS3pyB4cHLzLbrdbGhsbbeyPxEch/wQ4n3Fsc+HUNo/h3r3J+qKiot2IRz+W5kYCj+rr6x+wXeZee31hYWFUZmbmjZSUlAMhIAR9OjAw0J2bm2vgYikxEhkQtFEOrCIb5CLJHh0d/W12dvZRrVZLV5vGZDJNRkREfFhVVUVNZOPU1NT0ydzcHGI8o87Ozj8LCgrctg8e5595uUnnXbMWFxfvbWtrM8qei4uLjtbW1mvl5eUb75jYln2Dg4O/UyCbzebo7+8f6+3t/aWysrLCNSmP4VohJxayR/+KioozKOxWe3v7rzhe1L0cIyMjD7GTeo7pkzc0NHw8Ozur5BoaGrqXl5cXhy33+STDBLlzXfaVqKys7CXE3d/T03N7bW3NMT8/72hubr7ka55ix9bq+vr67lKVVCwOuNvWeQuEaZcI3nxcbTU1NedmZmaUVcV3YM7Pz4+RfVTPQlJSUk5ycjK1P83o6OjdsbGxFnmSLxkfzecEX36yfWJiogu57lDOhISE9LS0tA9ku5tM24ttUA759PS0rba29oybU4AUdXV1Z61Wq52OQHd3988lJSWvcCq3FU1MTDyWmpr6Dq4ijdlsHrBYLPTW3BbCznUBdygZdjRDp9NlqSY2GAyR9EvoF01NTS1VV1c7n3GqEwKgpB3Eqq7STdPR0dGFqyqU0qy78OPi4o5gNTNpNY1G4wNcxDp8/fkBqMdjyOXlZe3w8PAkGoEetWThujoAZ+O6QuPj40/HxMS8gA9BA8f0lZWVrz1GDKAhLCxMiR4bG/uyXq+nf6atL3RhYWEvrSZRaGioAmWwA39WV1c1OIIaXFlKF1y3ouPj4xdaWlpOh4eH70Bp7ilxTp+ghV91tzzXbH0F/gPRY0VbSFn/swAAAABJRU5ErkJggg==",type:"rectangle"},{lineTitle:"测试2",title:"测试2胜利大街发",icon:void 0,type:"rectangle"},{lineTitle:"测试3",title:"测试3胜利大街发",icon:void 0,type:"rectangle"},{lineTitle:"测试4",title:"测试4胜利大街发",icon:"data:image/png;base64,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",type:"circle"},{lineTitle:"测试5",title:"测试5胜利大街发",icon:void 0,type:"rectangle"},{lineTitle:"测试6",title:"测试6胜利大街发",icon:void 0,type:"circle"},{lineTitle:"测试7",title:"测试7胜利大街发",icon:"data:image/png;base64,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",type:"rectangle"}]}},{key:"addMarksAtComponent",value:function(A,e,t){var i=this.viewer3D.getBoxByComponentsKey(A),o=new this.THREE.Vector3;i.getCenter(o);var n=o.toArray(),r=this.viewer3D.getViewerImpl().domElement,a=r.getBoundingClientRect(),s=this.viewer3D.getScreenCoordFromSceneCoord(o),l=e||this.arrowConfig,c=l.type,h=0,d=[s[0]+250,s[1]],p=250,g=0,u=0;this.marks[A]||(this.marks[A]=[]);for(var f=0,m=t.length;m>f;f+=1){var C=t[f];l.type=C.type||c;var y=new uB(l,C.lineTitle,C.title,C.icon,this.flag,n);r.appendChild(y.rootDiv),y.setLineStartAndEndPoint(s[0],s[1],d[0],d[1]);var v=y.contentDiv.getBoundingClientRect();if(f>0){u+=2*Math.asin((v.height/2+h/2)/2/250),u+=.1;var I=Math.cos(u),E=Math.sin(u),B=p*I+g*-E+s[0],x=p*E+g*I+s[1];0>B?B=v.width/2:B>a.width&&(B=a.width-v.width/2),0>x?x=v.height/2:x>a.height&&(x=a.height-v.height/2),y.setLineEndPosition(B,x)}h=v.height,this.flag+=1,this.marks[A].push(y)}}},{key:"addMarkAt",value:function(A,e,t,i,o){var n=parseInt(A.x,10).toString()+"_"+parseInt(A.y,10).toString()+"_"+parseInt(A.z,10).toString(),r=new uB(o||this.arrowConfig,e,t,i,this.flag,A),a=this.viewer3D.getViewerImpl().domElement;a.appendChild(r.rootDiv);var s=a.getBoundingClientRect(),l=this.viewer3D.getScreenCoordFromSceneCoord(A),c=[l[0],l[1]];return l.x>s.width/2?c[0]-=250:c[0]+=250,r.setLineStartAndEndPoint(l[0],l[1],c[0],c[1]),this.flag+=1,this.marks[n]||(this.marks[n]=[]),this.marks[n].push(r),r}},{key:"update",value:function(){var A=this,e=(new Date).getTime();this._lastTime&&e-this._lastTime<25||(this._lastTime=e,Object.keys(this.marks).forEach((function(e){var t=A.marks[e],i=A.viewer3D.getScreenCoordFromSceneCoord(t[0].scenePoint);t.forEach((function(A){A.setLineStartPosition(i[0],i[1])}))})))}},{key:"destroy",value:function(){this.viewer3D.unregisterCameraEventListener(this.EIMMODEL.EVENTS.ON_CAMERA_CHANGE,this.update)}}]),A}(),mB=function(A){this.Measurement={pointMove:new y,pointPick:[],pointPickToScreen:[],pointAssist:[],pointAssistToScreen:[],needUpdatedObjects:[],pickLineP1:new y,pickLineP2:new y,planeSquare:{},planeVolume:{},measureWindow:{}},this.renderer=A.viewerImpl.modelManager.renderer,this.scene=A.viewerImpl.modelManager.scene,this.camera=A.viewerImpl.camera.cameraPerspective,this.cameraControl=A.viewerImpl.cameraControl,this.intersect=null,this.domElement=A.viewerImpl.domElement,this.viewer=A.viewerImpl,this.SVG=document.getElementById("svgid"+A.getViewerImpl().uuid),this.SVGRect=A.SVGRect;var e=this;function t(){e.updatePos()}function i(){var t=A.getScreenCoordFromSceneCoord(e.Measurement.pickLineP1),i=A.getScreenCoordFromSceneCoord(e.Measurement.pickLineP2),o=new s(t[0],t[1]),n=new s(i[0],i[1]);e.SVGRect.createMoveLine(o,n)}this.movePoint=function(t){if(t.pickLine||t.pickPlane||t.pickPoint){e.SVGRect.deleteCircle();var i=A.viewerImpl.cameraControl.screenToCanvas(t.event.clientX,t.event.clientY);e.SVGRect.creatMoveCircle(i);var o=e.cameraControl.getIntersectContext(new s(t.event.clientX,t.event.clientY));if(e.cameraControl.intersector.pick(o,(function(t){for(var o=t.object.geometry,n=o.attributes.position.array,r=o.attributes.position.count,a=0;r>a;a+=1){var s=new y(n[3*a],n[3*a+1],n[3*a+2]);s.applyMatrix4(t.object.matrixWorld);var l=A.getScreenCoordFromSceneCoord(s);15>Math.sqrt((l[0]-i.x)*(l[0]-i.x)+(l[1]-i.y)*(l[1]-i.y))&&(e.Measurement.pointMove=s,e.SVGRect.changeMoveCircleStyle(l))}})),t.pickLine){e.Measurement.pickLineP1=t.pickLine[0],e.Measurement.pickLineP2=t.pickLine[1];var n=A.getScreenCoordFromSceneCoord(t.pickLine[0].clone()),r=A.getScreenCoordFromSceneCoord(t.pickLine[1].clone()),a=new s(n[0],n[1]),l=new s(r[0],r[1]);e.SVGRect.createMoveLine(a,l)}}},this.pickPoint=function(t){if(t.pickLine||t.pickPlane||t.pickPoint){1>e.Measurement.needUpdatedObjects.length||(e.SVGRect.deleteCircle(),e.SVGRect.deleteMoveLine(),e.SVGRect.deleteLineAndCircle(),e.Measurement.pointPick=[],e.Measurement.pointPickToScreen=[],e.Measurement.pointAssist=[],e.Measurement.pointAssistToScreen=[],e.Measurement.needUpdatedObjects=[],e.updatePos());new y,new y,new y,new y;var i=null,o=t.pickPoint,n=(new s).fromArray(A.getScreenCoordFromSceneCoord(o));e.Measurement.pointPick.push(o),e.Measurement.pointPickToScreen.push(n);var r=e.Measurement.pointPickToScreen.length;if(e.SVGRect.creatPickCircle(n,r-1),r%2==0&&r>0){var a=new y(e.Measurement.pointPick[r-1].x,e.Measurement.pointPick[r-2].y,e.Measurement.pointPick[r-2].z),l=new y(e.Measurement.pointPick[r-1].x,e.Measurement.pointPick[r-2].y,e.Measurement.pointPick[r-1].z);e.Measurement.pointAssist.push(a),e.Measurement.pointAssist.push(l);var c=A.getScreenCoordFromSceneCoord(a),h=A.getScreenCoordFromSceneCoord(l),d=new s(c[0],c[1]),p=new s(h[0],h[1]);e.SVGRect.creatLine(e.Measurement.pointPickToScreen[r-2],d,"red","red"+(r-1)),e.SVGRect.creatLine(p,e.Measurement.pointPickToScreen[r-1],"green","green"+(r-1)),e.SVGRect.creatLine(d,p,"blue","blue"+(r-1)),e.SVGRect.creatLine(e.Measurement.pointPickToScreen[r-1],e.Measurement.pointPickToScreen[r-2],"yellow","yellow"+(r-1)),e.Measurement.needUpdatedObjects.push({point1:e.Measurement.pointPick[r-2],point2:e.Measurement.pointPick[r-1],asPot1:e.Measurement.pointAssist[r-2],asPot2:e.Measurement.pointAssist[r-1]});var g=Math.abs(e.Measurement.pointPick[r-1].x-e.Measurement.pointPick[r-2].x),u=Math.abs(e.Measurement.pointPick[r-1].y-e.Measurement.pointPick[r-2].y),f=Math.abs(e.Measurement.pointPick[r-1].z-e.Measurement.pointPick[r-2].z),m=e.Measurement.pointPick[r-1].distanceTo(e.Measurement.pointPick[r-2]);i={dx:g.toFixed(3),dy:u.toFixed(3),dz:f.toFixed(3),dis:m.toFixed(3)}}return i}},this.clear=function(){e.SVGRect.deleteCircle(),e.SVGRect.deleteMoveLine(),e.SVGRect.deleteLineAndCircle(),e.Measurement.pointPick=[],e.Measurement.pointPickToScreen=[],e.Measurement.pointAssist=[],e.Measurement.pointAssistToScreen=[],e.Measurement.needUpdatedObjects=[],e.cameraControl.removeEventListener(Rc.ON_CAMERA_CHANGE,t),e.cameraControl.removeEventListener(Rc.ON_CAMERA_CHANGE,i)},this.updatePos=function(){var t=e.Measurement.pointPick.length,i=e.Measurement.pointAssist.length,o=e.Measurement.needUpdatedObjects;if(i)for(var n=0;o.length>n;n+=1){var r=2*n,a=A.getScreenCoordFromSceneCoord(o[n].point1),l=A.getScreenCoordFromSceneCoord(o[n].point2),c=new s(a[0],a[1]),h=new s(l[0],l[1]);e.Measurement.pointPickToScreen[r]=c,e.Measurement.pointPickToScreen[r+1]=h;var d=A.getScreenCoordFromSceneCoord(o[n].asPot1),p=A.getScreenCoordFromSceneCoord(o[n].asPot2),g=new s(d[0],d[1]),u=new s(p[0],p[1]);e.Measurement.pointAssistToScreen[r]=g,e.Measurement.pointAssistToScreen[r+1]=u;var f=e.Measurement.pointPickToScreen[r].x,m=e.Measurement.pointPickToScreen[r].y,C=e.Measurement.pointPickToScreen[r+1].x,y=e.Measurement.pointPickToScreen[r+1].y,v=e.Measurement.pointAssistToScreen[r].x,I=e.Measurement.pointAssistToScreen[r].y,E=e.Measurement.pointAssistToScreen[r+1].x,B=e.Measurement.pointAssistToScreen[r+1].y,x=document.getElementById("circlePick"+A.getViewerImpl().uuid+r),S=document.getElementById("circlePick"+A.getViewerImpl().uuid+(r+1));x.setAttribute("cx",f),x.setAttribute("cy",m),S.setAttribute("cx",C),S.setAttribute("cy",y);var w=document.getElementById("pickline"+A.getViewerImpl().uuid+"red"+(r+1)),M=document.getElementById("pickline"+A.getViewerImpl().uuid+"green"+(r+1)),b=document.getElementById("pickline"+A.getViewerImpl().uuid+"blue"+(r+1)),U=document.getElementById("pickline"+A.getViewerImpl().uuid+"yellow"+(r+1));w.setAttribute("x1",f),w.setAttribute("y1",m),w.setAttribute("x2",v),w.setAttribute("y2",I),M.setAttribute("x1",E),M.setAttribute("y1",B),M.setAttribute("x2",C),M.setAttribute("y2",y),b.setAttribute("x1",v),b.setAttribute("y1",I),b.setAttribute("x2",E),b.setAttribute("y2",B),U.setAttribute("x1",f),U.setAttribute("y1",m),U.setAttribute("x2",C),U.setAttribute("y2",y)}if(t%2==1&&t!==i){var F=A.getScreenCoordFromSceneCoord(e.Measurement.pointPick[t-1]),K=new s(F[0],F[1]);e.Measurement.pointPickToScreen[t-1]=K;f=K.x,m=K.y;(x=document.getElementById("circlePick"+A.getViewerImpl().uuid+(t-1))).setAttribute("cx",f),x.setAttribute("cy",m)}},this.addEventListener=function(){e.cameraControl.addEventListener(Rc.ON_CAMERA_CHANGE,t),e.cameraControl.addEventListener(Rc.ON_CAMERA_CHANGE,i)}};Object.assign(mB.prototype,Ld.prototype);var CB=function(){function A(e){cc(this,A),this.coef=e.coef||.5,this.controlPoints=e.controlPoints||[],this.pointCountRecord=e.pointCountRecord,this.formatConPoints=[],this.matrix=[],this.update=!0,this.points=[],this.controlPointsIndex=[],this.straightLineDistance=0,this.curveLength=0,this.updateCurveLength=!0,this.updateList=[],this.setCoef(this.coef),this._forMatConPoints()}return dc(A,[{key:"setControlPoints",value:function(A){this.controlPoints=A,this._forMatConPoints(),this.update=!0,this.updateList.push("controlPoints"),this.updateStraightLineDistance=!0}},{key:"getPoints",value:function(){return this.update&&this._createPoints(this.pointCountRecord),this.points}},{key:"setPointsCount",value:function(A){this.updateList.push("count"),this.update=!0,this.pointCountRecord=A}},{key:"getCurveLength",value:function(){return this.update?{info:"参数已修改,请先更新曲线",code:-1,updateList:this.updateList}:(this.updateCurveLength&&function(){var A=this.points,e=A.length;this.curveLength=A.reduce((function(A,t,i,o){return e>i+1&&(A+=o[i].distanceTo(o[i+1])),A}),0),this.updateCurveLength=!1}.bind(this)(),this.curveLength)}},{key:"getStraightLineDistance",value:function(){return this.updateStraightLineDistance&&function(){var A=this.controlPoints,e=A.length;this.straightLineDistance=A.reduce((function(A,t,i,o){return e>i+1&&(A+=o[i].distanceTo(o[i+1])),A}),0),this.updateStraightLineDistance=!1}.bind(this)(),this.straightLineDistance}},{key:"setCoef",value:function(A){this.updateList.push("coef"),this.update=!0,this.matrix=[[-A,2-A,A-2,A],[2*A,A-3,3-2*A,-A],[-A,0,A,0],[0,1,0,0]]}},{key:"updateCurve",value:function(){return this.getPoints()}},{key:"getPointsInfo",value:function(){return this.update?{info:"参数已修改,请先更新曲线",code:-1,updateList:this.updateList}:{points:this.getPoints(),controlPointsIndex:this.controlPointsIndex,curveLength:this.getCurveLength(),straightLineDistance:this.getStraightLineDistance()}}},{key:"_forMatConPoints",value:function(){var A=this.controlPoints;this.formatConPoints=[];for(var e=0,t=A.length;t>e;e+=1)0===e?this.formatConPoints.push(A[e].clone(),A[e].clone()):t>e+1?this.formatConPoints.push(A[e].clone()):this.formatConPoints.push(A[e].clone(),A[e].clone())}},{key:"_createPoints",value:function(A){var e=[],t=this.matrix;function i(A){e[0]=new y,e[1]=new y,e[2]=new y,e[3]=new y;var i=[];i[0]=[],i[1]=[],i[2]=[],i[3]=[],i[0][0]=A[0].clone().multiplyScalar(t[0][0]),i[0][1]=A[1].clone().multiplyScalar(t[0][1]),i[0][2]=A[2].clone().multiplyScalar(t[0][2]),i[0][3]=A[3].clone().multiplyScalar(t[0][3]),i[1][0]=A[0].clone().multiplyScalar(t[1][0]),i[1][1]=A[1].clone().multiplyScalar(t[1][1]),i[1][2]=A[2].clone().multiplyScalar(t[1][2]),i[1][3]=A[3].clone().multiplyScalar(t[1][3]),i[2][0]=A[0].clone().multiplyScalar(t[2][0]),i[2][1]=A[1].clone().multiplyScalar(t[2][1]),i[2][2]=A[2].clone().multiplyScalar(t[2][2]),i[2][3]=A[3].clone().multiplyScalar(t[2][3]),i[3][0]=A[0].clone().multiplyScalar(t[3][0]),i[3][1]=A[1].clone().multiplyScalar(t[3][1]),i[3][2]=A[2].clone().multiplyScalar(t[3][2]),i[3][3]=A[3].clone().multiplyScalar(t[3][3]);for(var o=0;4>o;o+=1)for(var n=0;4>n;n+=1)e[o].add(i[o][n])}function o(A){var t=A*A,i=t*A;return e[0].clone().multiplyScalar(i).add(e[1].clone().multiplyScalar(t)).add(e[2].clone().multiplyScalar(A)).add(e[3].clone())}var n=this.formatConPoints,r=this.points=[],a=this.controlPointsIndex=[],s=this.controlPoints;if(A){for(var l=this.getStraightLineDistance(),c=1/A,h=0,d=0,p=0,g=s.length-1;g>p;p+=1){h+=s[p].distanceTo(s[p+1]);var u=Math.floor(h/l/c)-d;i([n[p],n[p+1],n[p+2],n[p+3]]);for(var f=1/u,m=0;u>m;m+=1){r.push(o(f*m))}d+=u}r.push(s[s.length-1])}else for(var C=0,v=n.length;v>C;C+=1){var I=0===C?0:1;if(C+3>=v){r.push(n[C+2]),a.push({j:n[C+1],order:-1});break}r.push(n[C+1]),a.push({j:n[C+1],order:100*C+I}),i([n[C],n[C+1],n[C+2],n[C+3]]);for(var E=1;100>E;E+=1)r.push(o(E/100))}this.update=!1,this.updateCurveLength=!0,this.updateList=[]}}]),A}(),yB=function(){function A(e){cc(this,A),this.coef=e.coef||.5,this.points=e.controlPoints||[],this.pointCountRecord=e.pointCountRecord,this.formatConPoints=[],this.matrix=[],this._points=[],this.controlPointsIndex=[],this.straightLineDistance=0,this.count=0,this.setCoef(this.coef),this._forMatConPoints(),this._calCount(),this.update=!0}return dc(A,[{key:"setControlPoints",value:function(A){this.points=A,this._forMatConPoints(),this._calCount(),this._createPoints(),this.update=!0}},{key:"getPointAt",value:function(A){this.update&&this.getPoints();var e=Math.ceil(A*this.count);return this._points[e>this.count?this.count:e]}},{key:"getPoints",value:function(){return this.update&&this._createPoints(this.pointCountRecord),this._points}},{key:"setCoef",value:function(A){this.update=!0,this.matrix=[[-A,2-A,A-2,A],[2*A,A-3,3-2*A,-A],[-A,0,A,0],[0,1,0,0]]}},{key:"getPointsInfo",value:function(){return{points:this.getPoints(),controlPointsIndex:this.controlPointsIndex}}},{key:"_forMatConPoints",value:function(){var A=this.points;this.formatConPoints=[];for(var e=0,t=A.length;t>e;e+=1)0===e?this.formatConPoints.push(A[e].clone(),A[e].clone()):t>e+1?this.formatConPoints.push(A[e].clone()):this.formatConPoints.push(A[e].clone(),A[e].clone())}},{key:"_calCount",value:function(){var A,e,t=this,i=1/0;e=(A=t.points).length,t.straightLineDistance=A.reduce((function(A,t,o,n){if(e>o+1){var r=n[o].distanceTo(n[o+1]);i=r>i?i:r,A+=r}return A}),0),t.updateStraightLineDistance=!1;var o=Math.ceil(t.straightLineDistance/i);this.count=o>100?o:100}},{key:"_createPoints",value:function(){var A=[],e=this.matrix;function t(t){A[0]=new y,A[1]=new y,A[2]=new y,A[3]=new y;var i=[];i[0]=[],i[1]=[],i[2]=[],i[3]=[],i[0][0]=t[0].clone().multiplyScalar(e[0][0]),i[0][1]=t[1].clone().multiplyScalar(e[0][1]),i[0][2]=t[2].clone().multiplyScalar(e[0][2]),i[0][3]=t[3].clone().multiplyScalar(e[0][3]),i[1][0]=t[0].clone().multiplyScalar(e[1][0]),i[1][1]=t[1].clone().multiplyScalar(e[1][1]),i[1][2]=t[2].clone().multiplyScalar(e[1][2]),i[1][3]=t[3].clone().multiplyScalar(e[1][3]),i[2][0]=t[0].clone().multiplyScalar(e[2][0]),i[2][1]=t[1].clone().multiplyScalar(e[2][1]),i[2][2]=t[2].clone().multiplyScalar(e[2][2]),i[2][3]=t[3].clone().multiplyScalar(e[2][3]),i[3][0]=t[0].clone().multiplyScalar(e[3][0]),i[3][1]=t[1].clone().multiplyScalar(e[3][1]),i[3][2]=t[2].clone().multiplyScalar(e[3][2]),i[3][3]=t[3].clone().multiplyScalar(e[3][3]);for(var o=0;4>o;o+=1)for(var n=0;4>n;n+=1)A[o].add(i[o][n])}for(var i,o,n,r=this.formatConPoints,a=this._points=[],s=this.controlPointsIndex=[],l=this.points,c=this.straightLineDistance,h=0,d=0,p=0,g=l.length-1;g>p;p+=1){var u=(h+=l[p].distanceTo(l[p+1]))/c*this.count-d;t([r[p],r[p+1],r[p+2],r[p+3]]),a.push(r[p+1]),s.push({j:r[p+1],order:d}),d+=1;for(var f=1;u>f;f+=1)a.push((o=void 0,n=void 0,n=(o=(i=f/u)*i)*i,A[0].clone().multiplyScalar(n).add(A[1].clone().multiplyScalar(o)).add(A[2].clone().multiplyScalar(i)).add(A[3].clone()))),d+=1}a.push(l[l.length-1]),s.push({to:r[l.length-1],order:-1}),this.update=!1}}]),A}(),vB=function(){function A(e){return cc(this,A),A.shareInstance||(A.shareInstance=this,this.maxRequestCount=e||300,this.currentPendingCount=0,this._requests=[],this._requestDidLoad=this._requestDidLoad.bind(this),this._requestDidError=this._requestDidError.bind(this),this._requestDidAbort=this._requestDidAbort.bind(this),this._requestDidTimeout=this._requestDidTimeout.bind(this)),A.shareInstance}return dc(A,[{key:"addRequest",value:function(A,e){A.addEventListener("load",this._requestDidLoad),A.addEventListener("error",this._requestDidError),A.addEventListener("abort",this._requestDidAbort),A.addEventListener("timeout",this._requestDidTimeout),this.maxRequestCount>this.currentPendingCount?(A.send(e),this.currentPendingCount+=1):this._requests.push({request:A,dataToSend:e})}},{key:"_sendNextRequest",value:function(){if(this._requests.length>0){var A=this._requests.shift();A.request.send(A.dataToSend),this.currentPendingCount+=1}}},{key:"_requestDidLoad",value:function(){this.currentPendingCount-=1,this._sendNextRequest()}},{key:"_requestDidError",value:function(){this.currentPendingCount-=1,this._sendNextRequest()}},{key:"_requestDidAbort",value:function(){this.currentPendingCount-=1,this._sendNextRequest()}},{key:"_requestDidTimeout",value:function(){this.currentPendingCount-=1,this._sendNextRequest()}}]),A}(),IB={group:"group",model:"model",component:"component",components:"components"},EB=function A(){cc(this,A),this.type=void 0,this.nodeId=void 0,this.matrix=void 0,this.center=void 0,this.modelKey=void 0,this.componentKey=void 0,this.componentsKey=void 0,this.children=void 0},BB=function(){function A(e,t,i,o){cc(this,A),this.host=e,this.projectUrl=t,this.accessToken=i,this._cachedComponents={},this._cachedMaterials={},this._cachedGeometries={},this._cachedFile={},this._requestQueue=new vB(o)}return dc(A,[{key:"destroy",value:function(){delete this._cachedComponents,delete this._cachedMaterials,delete this._cachedGeometries,delete this._cachedFile}},{key:"getExternalObjectByModelKey",value:function(A){var e=this;return"string"!=typeof A?Promise.reject("参数不合法"):this._loadModelInfo(A).then((function(){return e._loadComponentsListIn(A)})).then((function(A){return e.getExternalObjectByComponentsKey(A)}))}},{key:"getExternalObjectByComponentKey",value:function(A){var e=this;if("string"!=typeof A)return Promise.reject("参数不合法");var t=this._cachedComponents[A];return t?Promise.resolve(this._createMesh(t,!0)):this._loadComponentsInfo([A]).then((function(A){return e._generateMeshByComponentInfo(A[0])})).then((function(A){return A}))}},{key:"getExternalObjectByComponentsKeyBackup",value:function(A){var e=this;if(A instanceof Array==!1)return Promise.reject("参数不合法");for(var t=[],i=[],o={},n=function(n,r){var a=e.getExternalObjectByComponentKey(A[n]).then((function(A){i.push(A)})).catch((function(e){o[A[n]]=e}));t.push(a)},r=0,a=A.length;a>r;r+=1)n(r);return Promise.all(t).then((function(){if(i.length>0){i.length!==A.length&&Bh.error(o);for(var e=new Xi,t=0,n=i.length;n>t;t+=1)e.add(i[t]);return e}return Promise.reject(o)}))}},{key:"getExternalObjectByComponentsKey",value:function(A){var e=this;if(A instanceof Array==!1)return Promise.reject("参数不合法");for(var t=[],i={},o=[],n=0,r=A.length;r>n;n+=1){var a=A[n],s=this._cachedComponents[a];s?t.push(this._createMesh(s,!0)):o.push(a)}if(o.length>0)return this._loadComponentsInfo(o).then((function(o){for(var n=[],r=0,a=o.length;a>r;r+=1){var s=e._generateMeshByComponentInfo(o[r]).then((function(A){t.push(A)})).catch((function(A){i[A.componentKey]=A.message}));n.push(s)}return Promise.all(n).then((function(){if(t.length>0){t.length!==A.length&&Bh.error(i);for(var e=new Xi,o=0,n=t.length;n>o;o+=1)e.add(t[o]);return e}return Promise.reject(i)}))}));for(var l=new Xi,c=0,h=t.length;h>c;c+=1)l.add(t[c]);return Promise.resolve(l)}},{key:"testData",value:function(){var A=new EB;A.type=IB.group;var e=new EB;e.type=IB.component,e.componentKey="M1577676674083_265272";var t=new EB;t.type=IB.component,t.componentKey="M1577676674083_265916";var i=new EB;i.type=IB.component,i.componentKey="M1577676674083_244449";var o=(new M).makeTranslation(0,0,5e3);i.matrix=o.toArray();var n=new EB;n.type=IB.group;var r=new EB;r.type=IB.component,r.componentKey="M1577676674083_246705";var a=new EB;a.type=IB.component,a.componentKey="M1577676674083_247372",a.matrix=o.makeTranslation(0,0,7e3).toArray();var s=new EB;return s.type=IB.component,s.componentKey="M1577676674083_244910",A.children=[e,t,i,n],n.children=[r,a,s],A}},{key:"getExternalObjectByNodeInfo",value:function(A){var e=this,t=void 0;return A.type===IB.component&&A.componentKey?t=this.getExternalObjectByComponentKey(A.componentKey):A.type===IB.components&&A.componentsKey&&A.componentsKey instanceof Array&&A.componentsKey.length>0?t=this.getExternalObjectByComponentsKey(A.componentsKey):A.type===IB.model&&A.modelKey?t=this.getExternalObjectByModelKey(A.modelKey):A.type===IB.group&&A.children&&A.children.length>0?function(){for(var i=new Xi,o=[],n=function(t,n){var r=A.children[t],a=e.getExternalObjectByNodeInfo(r).then((function(A){i.add(A)})).catch((function(A){return Bh.error(r,A),A}));o.push(a)},r=0,a=A.children.length;a>r;r+=1)n(r);t=Promise.all(o).then((function(){return i}))}():t=Promise.reject("参数不合法"),t.then((function(e){if(A.matrix){var t=(new M).fromArray(A.matrix);e.matrix.identity(),e.applyMatrix4(t),e.updateMatrixWorld(!0)}if(A.center){var i=(new aA).setFromObject(e),o=new y;if(i.getCenter(o),parseInt(A.center[0],10)!==parseInt(o.x,10)||parseInt(A.center[1],10)!==parseInt(o.y,10)||parseInt(A.center[2],10)!==parseInt(o.z,10)){var n=(new y).fromArray(A.center).sub(o),r=(new M).makeTranslation(n.x,n.y,n.z);e.applyMatrix4(r),e.updateMatrixWorld(!0)}}return e}))}},{key:"exportNodeInfoByComponents",value:function(A,e){if(e){var t=new EB;return 1===e.length?(t.type=IB.component,t.componentKey=e[0]):(t.type=IB.components,t.componentsKey=e),t.nodeId=A,t}}},{key:"exportNodeInfoByModelKey",value:function(A,e){if(e){var t=new EB;return t.type=IB.model,t.modelKey=e,t.nodeId=A,t}}},{key:"_loadModelInfo",value:function(A){return this._httpGet(this.host+"/api/"+this.projectUrl+"/models?modelKey="+A)}},{key:"_loadComponentsListIn",value:function(A){return this._httpGet(this.host+"/api/"+this.projectUrl+"/components/keys?modelKey="+A)}},{key:"_loadComponentsInfo",value:function(A,e,t){return this._httpPost(this.host+"/api/"+this.projectUrl+"/components/geometry",{components:A})}},{key:"_generateMeshByComponentInfo",value:function(A){var e=this;if(!A.geometry)return Promise.reject({componentKey:A.component,message:"几何为空"});var t={};if(t.componentKey=A.component,A.matrix){var i=(new M).fromArray(A.matrix);t.matrix=i}var o=A.materials,n=[],r=[];if(A.materials.length>0)for(var a=function(t,i){n.push(e._loadMaterial(o[t]).then((function(A){r[t]=A})).catch((function(i){Bh.error(i,"用默认材质代替"),r[t]=e._loadMaterialByType(A.type)})))},s=0,l=o.length;l>s;s+=1)a(s);else{var c=this._loadMaterialByType(A.type);r.push(c),n.push(Promise.resolve(c))}return Promise.all(n).then((function(){return t.materials=r,e._loadGeometry(A.geometry)})).then((function(A){t.geometry=A;for(var i=0,o=t.materials.length;o>i;i+=1){var n=t.materials[i];if(n.aoMap||n.lightMap){t.geometry.setAttribute("uv2",new YA(t.geometry.attributes.uv.array,2));break}}return e._cachedComponents[t.componentKey]=t,e._createMesh(t,!1)}))}},{key:"_loadMaterial",value:function(A){var e=this,t=this._cachedMaterials[A.key];if(t)return Promise.resolve(t.clone());var i=A.data;return this._loadAllTextures(i).then((function(t){var o=e._createMaterial(i,t);return e._cachedMaterials[A.key]=o,o}))}},{key:"_loadMaterialByType",value:function(A){var e=_u[A]?_u[A].color:void 0;e||(e=_u.DEFAULT.color);var t=new LA(e[0],e[1],e[2]),i=t.getHexString()+"_"+e[3],o=this._cachedMaterials[i];return o||((o=Kd.createStandardMaterial({color:t})).side=2,this._cachedMaterials[i]=o),o}},{key:"_loadGeometry",value:function(A){var e=this,t=this._cachedGeometries[A];return t?Promise.resolve(t):this._loadFile(A).then((function(t){try{var i=new TextDecoder("utf-8").decode(t),o=JSON.parse(i),n=e._createGeometry(o);return n?(e._cachedGeometries[A]=n,n):Promise.reject("几何为空")}catch(A){return Promise.reject(A.message)}}))}},{key:"_loadAllTextures",value:function(A){for(var e=this,t=[],i=this._getAllTextureFileKey(A),o={},n=function(A,n){var r=i[A];t.push(e._loadFile(r).then((function(A){var t=e._createTexture(A);o[r]=t})).catch((function(A){Bh.error(A)})))},r=0,a=i.length;a>r;r+=1)n(r);return t.length>0?new Promise((function(A,e){Promise.all(t).then((function(){Object.keys(o).length>0?A(o):e("加载纹理失败")}))})):Promise.resolve(o)}},{key:"_getAllTextureFileKey",value:function(A){var e={};return A.map&&(e[A.map]=!0),A.aoMap&&(e[A.aoMap]=!0),A.alphaMap&&(e[A.alphaMap]=!0),A.envMap&&(e[A.envMap]=!0),A.lightMap&&(e[A.lightMap]=!0),A.emissiveMap&&(e[A.emissiveMap]=!0),A.specularMap&&(e[A.specularMap]=!0),A.specularMap&&(e[A.specularMap]=!0),Object.keys(e)}},{key:"_createTexture",value:function(A){var e=new d,t=document.createElement("img");e.wrapS=e.wrapT=1e3,t.onerror=function(A){Bh.error("加载纹理出错")},t.onload=function(i){"string"!=typeof A&&window.URL.revokeObjectURL(t.src),e.image=t,e.needsUpdate=!0};var i=new Blob([A]);return t.src=window.URL.createObjectURL(i),e}},{key:"_createGeometry",value:function(A){if(A.positions&&0!==A.positions.length){var e=null;e=new he;var t=new Float32Array(A.positions);e.setAttribute("position",new YA(t,3));var i=new Uint32Array(A.indices);if(e.setIndex(new YA(i,1)),A.normals&&A.normals.length>0){var o=new Float32Array(A.normals);e.setAttribute("normal",new YA(o,3))}else e.computeVertexNormals();if(A.uv&&A.uv.length>0){var n=new Float32Array(A.uv);e.setAttribute("uv",new YA(n,2))}if(void 0!==A.materialIndices){for(var r=null,a=[],s=void 0,l=0;A.materialIndices.length>l;l+=1){var c=A.materialIndices[l];c!==s&&(s=c,null!=r&&(r.count=3*l-r.start,a.push(r)),r={start:3*l,materialIndex:s})}null!=r&&(r.count=3*A.materialIndices.length-r.start,a.push(r)),e.groups=a}return e}}},{key:"_createMaterial",value:function(A,e){return Kd.createMaterialByMaterialBufferAndTexture(A,e)}},{key:"_createMesh",value:function(A,e){var t=null;if(e){t=[];for(var i=0,o=A.materials.length;o>i;i+=1)t.push(A.materials[i].clone())}else t=A.materials;var n=new Kf(A.geometry,t);return n.visible=!0,n.key=A.componentKey,A.matrix&&(n.applyMatrix4(A.matrix),n.updateMatrixWorld(!0)),n}},{key:"_loadFile",value:function(A){var e=this._cachedFile[A];return e?Promise.resolve(e):this._http("GET",this.host+"/api/"+this.projectUrl+"/files?fileKey="+A,"arraybuffer").then((function(A){return A}))}},{key:"_httpGet",value:function(A){return this._http("GET",A)}},{key:"_httpPost",value:function(A,e){return this._http("POST",A,void 0,e)}},{key:"_http",value:function(A,e,t,i){var o=this;return new Promise((function(n,r){var a={};"POST"===A&&(a["Content-type"]="application/json;charset=UTF-8"),o.accessToken&&(a.Authorization=o.accessToken),_d({type:A,url:e,headers:a,data:JSON.stringify(i),responseType:t||"json",requestQueue:o._requestQueue,success:function(A){if(A)try{t&&"json"!==t?n(A):A.data?n(A.data):"success"!==A.code.toLowerCase()&&r(A.message?A.message:"未知错误")}catch(A){r(A.message)}else r("数据为空")},error:function(A,e){r(e)}})}))}}]),A}(),xB={};xB.ToolBar=Xd;var SB={};SB.ModelCompares=$y,SB.DISPLAYMODEL=zy,SB.CompareGlobalData=Xy,SB.CompareComponentType=Zy,SB.COMPAREEVENTS=_y,SB.ViewerConnector=ev,SB.RoadNetManager=JE,SB.TextLoader=_E,SB.TrackSimulator=AB,SB.Heatmap=BE,SB.Fire=FE,SB.Water=eB,SB.WaterEffect=sv,SB.WaterEffectConfig=function(){this.boundary=[],this.color=new Xh("#80FDFF",.8),this.scale=4,this.viewer=null,this.xDirection=1,this.yDirection=1,this.reflectivity=1,this.reflectorTexturePosition=new y,this.refractorTexturePosition=new y,this.height=0,this.geometry=null},SB.ArrowManager=cv;var wB={};wB.Line2=QE,wB.LineMaterial=YC,wB.LineGeometry=KE;for(var MB={},bB=Object.keys(sc),UB=0;bB.length>UB;UB+=1){var FB=bB[UB];Object.defineProperty(MB,FB,{value:sc[FB],enumerable:!0,configurable:!0,writable:!1})}A.Animation=hp,A.ArrowDomMark=uB,A.ArrowDomMarkManager=fB,A.BOSCatmullRomCurve3=CB,A.BOSCatmullRomCurve3ForFrameEdit=yB,A.BaseControl=Fg,A.CAMERATYPE=Ec,A.Camera=cp,A.CameraAnimator=dp,A.CameraControl=mp,A.CameraInfo=Qd,A.CameraUtil=Rd,A.ClipPlaneService=Ap,A.ClipPlanes=HC,A.ClipPlanesTool=vp,A.CollisionDetection=function(A){this.cameraControl=A,this.intersector=A.intersector;var e=new Dd,t=new Dd,i=new Dd,o=new Dd,n=new Dd,r=new Dd;this.run=function(a,s){var l={},c=this.cameraControl.getIntersectContext(null);e.set(a,new y(0,0,1)),t.set(a,new y(0,0,-1)),n.set(a,s),r.set(a,new y(-s.x,-s.y,-s.z)),i.set(a,new y(-s.y,s.x,s.z)),o.set(a,new y(s.y,-s.x,s.z)),l.top=this.intersector.getIntersectByRay(c,e.ray),l.down=this.intersector.getIntersectByRay(c,t.ray),l.front=this.intersector.getIntersectByRay(c,n.ray),l.back=this.intersector.getIntersectByRay(c,r.ray),l.left=this.intersector.getIntersectByRay(c,i.ray),l.right=this.intersector.getIntersectByRay(c,o.ray);var h=new y(a.x,a.y,a.z-.8*A.manHeight),d=new Dd;d.set(h,s);var p=new Dd;p.set(h,new y(-s.x,-s.y,-s.z));var g=new Dd;g.set(h,new y(-s.y,s.x,s.z));var u=new Dd;return u.set(h,new y(s.y,-s.x,s.z)),l.frontMiddle=this.intersector.getIntersectByRay(c,d.ray),l.backMiddle=this.intersector.getIntersectByRay(c,p.ray),l.leftMiddle=this.intersector.getIntersectByRay(c,g.ray),l.rightMiddle=this.intersector.getIntersectByRay(c,u.ray),l}},A.Color=Xh,A.ColorPicker=Hh,A.ControlConfig=jh,A.ControlManager=Og,A.ControlMode=Gc,A.DOMMark=Od,A.DefaultInvisibleComponentType=bc,A.DefaultMaterial=_u,A.DeviceTest=mh,A.DomUtil=xh,A.DrawingStyle=jc,A.EIMMODELMaterial=ld,A.EVENTS=Rc,A.Edge=wp,A.EnumCesiumImageryLayerType={AUTO:0,BAIDU:1,GAODE:2,MAPBOX:3,ARCGIS:4,GOOGLE:5},A.EnumConditionType={HIDDEN_OTHERS:0,TRANSLUCENT_OTHERS:1,OVERRIDE:2,BORDERLINE:3},A.EnumDataProvider=Wc,A.EnumFilterState=zc,A.EnumIdBasedType=Dc,A.EnumInstanceState=Hc,A.EnumIsolateState=Nc,A.EnumObjectState=Lc,A.EnumRenderType={RENDER:0,RENDER_FINISHED:1,RESIZE:2},A.EnumRendererType={AUTO:0,FULL:1,INCREMENT:2},A.EnumSceneState=Vc,A.EnumShaderColorState=Yc,A.EnumTransparentState=Oc,A.EnumUserType={HIDDEN_DATA:0,OVERRIDE_DATA:1,WITH_BOARDLINE:2},A.EventDispatcher=Ld,A.ExternalObjectConverter=BB,A.ExternalObjectNodeInfo=EB,A.ExternalObjectNodeInfoType=IB,A.ExternalScene=ey,A.FillClipPlane=_C,A.FillClipPlaneTool=Sp,A.FilterResultMode=Jc,A.FullScreen=Wh,A.GLTFLoader=OC,A.GeomUtil=Tu,A.GlobalData=vc,A.Group=ep,A.IDENTITYMATRIX3=xc,A.IDENTITYMATRIX4=Bc,A.ImageResources=Pd,A.IntersectHelper=fp,A.KDNode=Zu,A.LOADERROREVENTS=Tc,A.LightType=Fc,A.LineSegmentsEx=cf,A.Lobibox=bh,A.LogLevels=Ch,A.MarkObject=Hd,A.MaterialEx=ay,A.MaterialUtil=Kd,A.MeasureTool=Eg,A.MeasurementManager=mB,A.MeshEx=Kf,A.ModelType=Zc,A.MoveDirection=qc,A.NodeItemType={SYMBOL:0,MESH:1,TUBE:2,PIPE:3,BOX:4,BOX_M:5,PIPE_M:6,MESH_REF:7,LINE:8},A.NoiseTextureType=xd,A.NormalControl=Qg,A.OPSELECTIONTYPE=Kc,A.OrbitControl=Rg,A.PICKABLETYPE=Qc,A.PhongLightingMaterial=jC,A.PickControl=kg,A.PickHelper=kp,A.PickUtil=wg,A.PlaneMark=Vd,A.Plugins=SB,A.PostilObject=Jd,A.PrimitiveCount={vertexCount:0,triangleCount:0},A.Raycaster=Dd,A.RectOpTool=Mg,A.RectPickTool=bg,A.RectZoomTool=Ug,A.Roam=tB,A.RoamManager=oB,A.RoamPlayer=iB,A.RotatePivotMode=kc,A.RotationOrders=Ic,A.SVGRect=tp,A.Scene=oy,A.SceneStateHelper=ny,A.SectionPlane=hB,A.SelectPad=Dg,A.Snapshot=Zd,A.SpriteMark=Gd,A.StorageCache=AC,A.THREE=MB,A.THREEEX=wB,A.ThreeMark=dB,A.Tool=yp,A.ToolBar=Xd,A.ToolMode=Pc,A.UI=xB,A.Utils=uh,A.Version="4.18.0",A.ViewController=lp,A.Viewer=Py,A.ViewerImpl=Gy,A.WalkControl=Lg,A.WordPlaneMark=pB,A.ajax=_d,A.buildEdge=Up,A.createNoiseTexture=Fd,A.getFaceIndex=Fp,A.getScript=function(A,e){var t={};if(t[A])e&&e();else{var i=document.createElement("script");i.type="text/javascript",i.src=A,document.head.appendChild(i),t[A]=!0,i.readyState?i.onreadystatechange=function(){"loaded"!==i.readyState&&"complete"!==i.readyState||(i.onreadystatechange=null,e&&e())}:i.onload=function(){e&&e()}}},A.i18nMessage=fh,A.logger=Bh,A.message=jd,A.removeDuplicateIndex=Mp,A.removeDuplicateVertex=bp,A.standardView=Uc,Object.defineProperty(A,"__esModule",{value:!0})}));
//# sourceMappingURL=EIMMODEL.min.js.map