zhgdyun/public/js/bos3D/BOS3D.min.js
2022-06-08 14:51:11 +08:00

68 lines
4.8 MiB
Raw 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.

/*!!**
* @license
* BOS3D V5.0.0
* A WebGL-based 3D Viewer for threejs,it is modified for BosWinner
* http://bos3d.bimwinner.com
* Built on 2021/9/4 下午7:19:57
* commitHash 99809cde
* Copyright 2021, 盈嘉互联(北京)科技有限公司
***/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).BOS3D={})}(this,(function(e){"use strict";console.log("BOS3D Version: 5.0.0");var t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(e,t){e(t={exports:{}},t.exports)}((function(e){!function(t,i){var n=function(){function e(e){return"[object Array]"===Object.prototype.toString.call(e)}function t(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])}function i(e){if(!(this instanceof i))throw new TypeError(this+"is not a promise");if("function"!=typeof e)throw new TypeError("Promise resolver "+e+" is not a function");var t=new n;this._resolver=t;try{e((function(e){t.resolve(e)}),(function(e){t.reject(e)}))}catch(e){t.reject(e)}}function n(){this._callbacks=[],this._errbacks=[],this._status="pending",this._result=null}return t(i.prototype,{then:function(e,t){var n,r,o=new this.constructor((function(e,t){n=e,r=t}));return this._resolver._addCallbacks("function"==typeof e?i._makeCallback(o,n,r,e):n,"function"==typeof t?i._makeCallback(o,n,r,t):r),o},catch:function(e){return this.then(void 0,e)}}),i._makeCallback=function(e,t,i,n){return function(r){var o;try{o=n(r)}catch(e){return void i(e)}o!==e?t(o):i(new TypeError("Cannot resolve a promise with itself"))}},i.resolve=function(e){return e&&e.constructor===this?e:new this((function(t){t(e)}))},i.reject=function(e){var t=new this((function(){}));return t._resolver._result=e,t._resolver._status="rejected",t},i.all=function(t){var i=this;return new i((function(n,r){if(e(t)){var o=t.length,a=0,s=t.length,l=[];if(1>s)return n(l);for(;s>a;a++)i.resolve(t[a]).then(c(a),r)}else r(new TypeError("Promise.all expects an array of values or promises"));function c(e){return function(t){l[e]=t,--o||n(l)}}}))},i.race=function(t){var i=this;return new i((function(n,r){if(e(t))for(var o=0,a=t.length;a>o;o++)i.resolve(t[o]).then(n,r);else r(new TypeError("Promise.race expects an array of values or promises"))}))},i.async="undefined"!=typeof setImmediate?function(e){setImmediate(e)}:"undefined"!=typeof process&&process.nextTick?process.nextTick:function(e){setTimeout(e,0)},t(n.prototype,{fulfill:function(e){var t=this._status;"pending"!==t&&"accepted"!==t||(this._result=e,this._status="fulfilled"),"fulfilled"===this._status&&(this._notify(this._callbacks,this._result),this._callbacks=[],this._errbacks=null)},reject:function(e){var t=this._status;"pending"!==t&&"accepted"!==t||(this._result=e,this._status="rejected"),"rejected"===this._status&&(this._notify(this._errbacks,this._result),this._callbacks=null,this._errbacks=[])},resolve:function(e){"pending"===this._status&&(this._status="accepted",this._value=e,(this._callbacks&&this._callbacks.length||this._errbacks&&this._errbacks.length)&&this._unwrap(this._value))},_unwrap:function(e){var t,i=this,n=!1;if(!e||"object"!=typeof e&&"function"!=typeof e)i.fulfill(e);else try{"function"==typeof(t=e.then)?t.call(e,(function(e){n||(n=!0,i._unwrap(e))}),(function(e){n||(n=!0,i.reject(e))})):i.fulfill(e)}catch(e){n||i.reject(e)}},_addCallbacks:function(e,t){var i=this._callbacks,n=this._errbacks;switch(i&&i.push(e),n&&n.push(t),this._status){case"accepted":this._unwrap(this._value);break;case"fulfilled":this.fulfill(this._result);break;case"rejected":this.reject(this._result)}},_notify:function(e,t){e.length&&i.async((function(){var i,n;for(i=0,n=e.length;n>i;++i)e[i](t)}))}}),i.Resolver=n,i}();e&&(e.exports=n),(t=t||self).PromisePolyfill=n,t.Promise||(t.Promise=n)}(t)}));
/**
* @license
* Copyright 2010-2021 Three.js Authors
* SPDX-License-Identifier: MIT
*/
const i="129",n={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},r=100,o=200,a=201,s=300,l=301,c=302,h=303,d=304,u=306,p=307,g=1e3,f=1001,m=1002,A=1003,y=1004,v=1005,C=1006,I=1007,x=1008,w=1009,M=1012,E=1014,B=1015,S=1016,b=1020,k=1022,D=1023,T=1026,R=1027,U=33776,F=33777,Q=33778,L=33779,O=35840,N=35841,P=35842,G=35843,K=37492,V=37496,Y=2300,H=2301,j=2302,W=2400,J=2401,z=2402,q=2500,Z=2501,X=3e3,_=3001,$=3007,ee=3002,te=3004,ie=3005,ne=3006,re=3201,oe=7680,ae=7681,se=7682,le=7683,ce=34055,he=34056,de=515,ue=519,pe=35044,ge=35048,fe="300 es";class me{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const i=this._listeners;void 0===i[e]&&(i[e]=[]),-1===i[e].indexOf(t)&&i[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;const i=this._listeners;return void 0!==i[e]&&-1!==i[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const i=this._listeners[e];if(void 0!==i){const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners[e.type];if(void 0!==t){e.target=this;const i=t.slice(0);for(let t=0,n=i.length;n>t;t++)i[t].call(this,e);e.target=null}}}const Ae=[];for(let e=0;256>e;e++)Ae[e]=(16>e?"0":"")+e.toString(16);let ye=1234567;const ve=Math.PI/180,Ce=180/Math.PI;function Ie(){const e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0;return(Ae[255&e]+Ae[e>>8&255]+Ae[e>>16&255]+Ae[e>>24&255]+"-"+Ae[255&t]+Ae[t>>8&255]+"-"+Ae[t>>16&15|64]+Ae[t>>24&255]+"-"+Ae[63&i|128]+Ae[i>>8&255]+"-"+Ae[i>>16&255]+Ae[i>>24&255]+Ae[255&n]+Ae[n>>8&255]+Ae[n>>16&255]+Ae[n>>24&255]).toUpperCase()}function xe(e,t,i){return Math.max(t,Math.min(i,e))}function we(e,t){return(e%t+t)%t}function Me(e,t,i){return(1-i)*e+i*t}function Ee(e){return 0==(e&e-1)&&0!==e}function Be(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function Se(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}var be=Object.freeze({__proto__:null,DEG2RAD:ve,RAD2DEG:Ce,generateUUID:Ie,clamp:xe,euclideanModulo:we,mapLinear:function(e,t,i,n,r){return n+(e-t)*(r-n)/(i-t)},inverseLerp:function(e,t,i){return e!==t?(i-e)/(t-e):0},lerp:Me,damp:function(e,t,i,n){return Me(e,t,1-Math.exp(-i*n))},pingpong:function(e,t=1){return t-Math.abs(we(e,2*t)-t)},smoothstep:function(e,t,i){return e>t?i>e?(e=(e-t)/(i-t))*e*(3-2*e):1:0},smootherstep:function(e,t,i){return e>t?i>e?(e=(e-t)/(i-t))*e*e*(e*(6*e-15)+10):1:0},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},seededRandom:function(e){return void 0!==e&&(ye=e%2147483647),ye=16807*ye%2147483647,(ye-1)/2147483646},degToRad:function(e){return e*ve},radToDeg:function(e){return e*Ce},isPowerOfTwo:Ee,ceilPowerOfTwo:Be,floorPowerOfTwo:Se,setQuaternionFromProperEuler:function(e,t,i,n,r){const o=Math.cos,a=Math.sin,s=o(i/2),l=a(i/2),c=o((t+n)/2),h=a((t+n)/2),d=o((t-n)/2),u=a((t-n)/2),p=o((n-t)/2),g=a((n-t)/2);switch(r){case"XYX":e.set(s*h,l*d,l*u,s*c);break;case"YZY":e.set(l*u,s*h,l*d,s*c);break;case"ZXZ":e.set(l*d,l*u,s*h,s*c);break;case"XZX":e.set(s*h,l*g,l*p,s*c);break;case"YXY":e.set(l*p,s*h,l*g,s*c);break;case"ZYZ":e.set(l*g,l*p,s*h,s*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}});class ke{constructor(e=0,t=0){this.x=e,this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e,t){return void 0!==t?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e,t){return void 0!==t?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,i=this.y,n=e.elements;return this.x=n[0]*t+n[3]*i+n[6],this.y=n[1]*t+n[4]*i+n[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y;return t*t+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t,i){return void 0!==i&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const i=Math.cos(t),n=Math.sin(t),r=this.x-e.x,o=this.y-e.y;return this.x=r*i-o*n+e.x,this.y=r*n+o*i+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}}ke.prototype.isVector2=!0;class De{constructor(){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.")}set(e,t,i,n,r,o,a,s,l){const c=this.elements;return c[0]=e,c[1]=n,c[2]=a,c[3]=t,c[4]=r,c[5]=s,c[6]=i,c[7]=o,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],this}extractBasis(e,t,i){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),i.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,n=t.elements,r=this.elements,o=i[0],a=i[3],s=i[6],l=i[1],c=i[4],h=i[7],d=i[2],u=i[5],p=i[8],g=n[0],f=n[3],m=n[6],A=n[1],y=n[4],v=n[7],C=n[2],I=n[5],x=n[8];return r[0]=o*g+a*A+s*C,r[3]=o*f+a*y+s*I,r[6]=o*m+a*v+s*x,r[1]=l*g+c*A+h*C,r[4]=l*f+c*y+h*I,r[7]=l*m+c*v+h*x,r[2]=d*g+u*A+p*C,r[5]=d*f+u*y+p*I,r[8]=d*m+u*v+p*x,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[3]*=e,t[6]*=e,t[1]*=e,t[4]*=e,t[7]*=e,t[2]*=e,t[5]*=e,t[8]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[1],n=e[2],r=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8];return t*o*c-t*a*l-i*r*c+i*a*s+n*r*l-n*o*s}invert(){const e=this.elements,t=e[0],i=e[1],n=e[2],r=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8],h=c*o-a*l,d=a*s-c*r,u=l*r-o*s,p=t*h+i*d+n*u;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const g=1/p;return e[0]=h*g,e[1]=(n*l-c*i)*g,e[2]=(a*i-n*o)*g,e[3]=d*g,e[4]=(c*t-n*s)*g,e[5]=(n*r-a*t)*g,e[6]=u*g,e[7]=(i*s-l*t)*g,e[8]=(o*t-i*r)*g,this}transpose(){let e;const t=this.elements;return e=t[1],t[1]=t[3],t[3]=e,e=t[2],t[2]=t[6],t[6]=e,e=t[5],t[5]=t[7],t[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8],this}setUvTransform(e,t,i,n,r,o,a){const s=Math.cos(r),l=Math.sin(r);return this.set(i*s,i*l,-i*(s*o+l*a)+o+e,-n*l,n*s,-n*(-l*o+s*a)+a+t,0,0,1),this}scale(e,t){const i=this.elements;return i[0]*=e,i[3]*=e,i[6]*=e,i[1]*=t,i[4]*=t,i[7]*=t,this}rotate(e){const t=Math.cos(e),i=Math.sin(e),n=this.elements,r=n[0],o=n[3],a=n[6],s=n[1],l=n[4],c=n[7];return n[0]=t*r+i*s,n[3]=t*o+i*l,n[6]=t*a+i*c,n[1]=-i*r+t*s,n[4]=-i*o+t*l,n[7]=-i*a+t*c,this}translate(e,t){const i=this.elements;return i[0]+=e*i[2],i[3]+=e*i[5],i[6]+=e*i[8],i[1]+=t*i[2],i[4]+=t*i[5],i[7]+=t*i[8],this}equals(e){const t=this.elements,i=e.elements;for(let e=0;9>e;e++)if(t[e]!==i[e])return!1;return!0}fromArray(e,t=0){for(let i=0;9>i;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e}clone(){return(new this.constructor).fromArray(this.elements)}}let Te;De.prototype.isMatrix3=!0;class Re{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if("undefined"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===Te&&(Te=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),Te.width=e.width,Te.height=e.height;const i=Te.getContext("2d");e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0,e.width,e.height),t=Te}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}}let Ue=0;class Fe extends me{constructor(e=Fe.DEFAULT_IMAGE,t=Fe.DEFAULT_MAPPING,i=1001,n=1001,r=1006,o=1008,a=1023,s=1009,l=1,c=3e3){super(),Object.defineProperty(this,"id",{value:Ue++}),this.uuid=Ie(),this.name="",this.image=e,this.mipmaps=[],this.mapping=t,this.wrapS=i,this.wrapT=n,this.magFilter=r,this.minFilter=o,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=s,this.offset=new ke(0,0),this.repeat=new ke(1,1),this.center=new ke(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new De,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.version=0,this.onUpdate=null}set needsUpdate(e){!0===e&&this.version++}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(e){return this.name=e.name,this.image=e.image,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this}toJSON(e){const t=void 0===e||"string"==typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];const i={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const n=this.image;if(void 0===n.uuid&&(n.uuid=Ie()),!t&&void 0===e.images[n.uuid]){let t;if(Array.isArray(n)){t=[];for(let e=0,i=n.length;i>e;e++)t.push(Qe(n[e].isDataTexture?n[e].image:n[e]))}else t=Qe(n);e.images[n.uuid]={uuid:n.uuid,url:t}}i.image=n.uuid}return t||(e.textures[this.uuid]=i),i}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==s)return e;if(e.applyMatrix3(this.matrix),0>e.x||e.x>1)switch(this.wrapS){case g:e.x=e.x-Math.floor(e.x);break;case f:e.x=0>e.x?0:1;break;case m:e.x=1===Math.abs(Math.floor(e.x)%2)?Math.ceil(e.x)-e.x:e.x-Math.floor(e.x)}if(0>e.y||e.y>1)switch(this.wrapT){case g:e.y=e.y-Math.floor(e.y);break;case f:e.y=0>e.y?0:1;break;case m:e.y=1===Math.abs(Math.floor(e.y)%2)?Math.ceil(e.y)-e.y:e.y-Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}}function Qe(e){return"undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap?Re.getDataURL(e):e.data?{data:Array.prototype.slice.call(e.data),width:e.width,height:e.height,type:e.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}Fe.DEFAULT_IMAGE=void 0,Fe.DEFAULT_MAPPING=s,Fe.prototype.isTexture=!0;class Le{constructor(e=0,t=0,i=0,n=1){this.x=e,this.y=t,this.z=i,this.w=n}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,i,n){return this.x=e,this.y=t,this.z=i,this.w=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this}add(e,t){return void 0!==t?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e,t){return void 0!==t?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,i=this.y,n=this.z,r=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*n+o[12]*r,this.y=o[1]*t+o[5]*i+o[9]*n+o[13]*r,this.z=o[2]*t+o[6]*i+o[10]*n+o[14]*r,this.w=o[3]*t+o[7]*i+o[11]*n+o[15]*r,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);return 1e-4>t?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,i,n,r;const o=.01,a=.1,s=e.elements,l=s[0],c=s[4],h=s[8],d=s[1],u=s[5],p=s[9],g=s[2],f=s[6],m=s[10];if(Math.abs(c-d)<o&&Math.abs(h-g)<o&&Math.abs(p-f)<o){if(Math.abs(c+d)<a&&Math.abs(h+g)<a&&Math.abs(p+f)<a&&Math.abs(l+u+m-3)<a)return this.set(1,0,0,0),this;t=Math.PI;const e=(l+1)/2,s=(u+1)/2,A=(m+1)/2,y=(c+d)/4,v=(h+g)/4,C=(p+f)/4;return e>s&&e>A?o>e?(i=0,n=.707106781,r=.707106781):(i=Math.sqrt(e),n=y/i,r=v/i):s>A?o>s?(i=.707106781,n=0,r=.707106781):(n=Math.sqrt(s),i=y/n,r=C/n):o>A?(i=.707106781,n=.707106781,r=0):(r=Math.sqrt(A),i=v/r,n=C/r),this.set(i,n,r,t),this}let A=Math.sqrt((f-p)*(f-p)+(h-g)*(h-g)+(d-c)*(d-c));return.001>Math.abs(A)&&(A=1),this.x=(f-p)/A,this.y=(h-g)/A,this.z=(d-c)/A,this.w=Math.acos((l+u+m-1)/2),this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){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(){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(){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(){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(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t,i){return void 0!==i&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}}Le.prototype.isVector4=!0;class Oe extends me{constructor(e,t,i){super(),this.width=e,this.height=t,this.depth=1,this.scissor=new Le(0,0,e,t),this.scissorTest=!1,this.viewport=new Le(0,0,e,t),this.texture=new Fe(void 0,(i=i||{}).mapping,i.wrapS,i.wrapT,i.magFilter,i.minFilter,i.format,i.type,i.anisotropy,i.encoding),this.texture.image={},this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=1,this.texture.generateMipmaps=void 0!==i.generateMipmaps&&i.generateMipmaps,this.texture.minFilter=void 0!==i.minFilter?i.minFilter:C,this.depthBuffer=void 0===i.depthBuffer||i.depthBuffer,this.stencilBuffer=void 0!==i.stencilBuffer&&i.stencilBuffer,this.depthTexture=void 0!==i.depthTexture?i.depthTexture:null}setTexture(e){e.image={width:this.width,height:this.height,depth:this.depth},this.texture=e}setSize(e,t,i=1){this.width===e&&this.height===t&&this.depth===i||(this.width=e,this.height=t,this.depth=i,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=i,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return(new this.constructor).copy(this)}copy(e){return this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.image={...this.texture.image},this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this}dispose(){this.dispatchEvent({type:"dispose"})}}Oe.prototype.isWebGLRenderTarget=!0;class Ne extends Oe{constructor(e,t,i){super(e,t);const n=this.texture;this.texture=[];for(let e=0;i>e;e++)this.texture[e]=n.clone()}setSize(e,t,i=1){if(this.width!==e||this.height!==t||this.depth!==i){this.width=e,this.height=t,this.depth=i;for(let n=0,r=this.texture.length;r>n;n++)this.texture[n].image.width=e,this.texture[n].image.height=t,this.texture[n].image.depth=i;this.dispose()}return this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t),this}copy(e){this.dispose(),this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.depthTexture=e.depthTexture,this.texture.length=0;for(let t=0,i=e.texture.length;i>t;t++)this.texture[t]=e.texture[t].clone();return this}}Ne.prototype.isWebGLMultipleRenderTargets=!0;class Pe extends Oe{constructor(e,t,i){super(e,t,i),this.samples=4}copy(e){return super.copy.call(this,e),this.samples=e.samples,this}}Pe.prototype.isWebGLMultisampleRenderTarget=!0;class Ge{constructor(e=0,t=0,i=0,n=1){this._x=e,this._y=t,this._z=i,this._w=n}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}static slerp(e,t,i,n){return console.warn("THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead."),i.slerpQuaternions(e,t,n)}static slerpFlat(e,t,i,n,r,o,a){let s=i[n+0],l=i[n+1],c=i[n+2],h=i[n+3];const d=r[o+0],u=r[o+1],p=r[o+2],g=r[o+3];if(0===a)return e[t+0]=s,e[t+1]=l,e[t+2]=c,void(e[t+3]=h);if(1===a)return e[t+0]=d,e[t+1]=u,e[t+2]=p,void(e[t+3]=g);if(h!==g||s!==d||l!==u||c!==p){let e=1-a;const t=s*d+l*u+c*p+h*g,i=0>t?-1:1,n=1-t*t;if(n>Number.EPSILON){const r=Math.sqrt(n),o=Math.atan2(r,t*i);e=Math.sin(e*o)/r,a=Math.sin(a*o)/r}const r=a*i;if(s=s*e+d*r,l=l*e+u*r,c=c*e+p*r,h=h*e+g*r,e===1-a){const e=1/Math.sqrt(s*s+l*l+c*c+h*h);s*=e,l*=e,c*=e,h*=e}}e[t]=s,e[t+1]=l,e[t+2]=c,e[t+3]=h}static multiplyQuaternionsFlat(e,t,i,n,r,o){const a=i[n],s=i[n+1],l=i[n+2],c=i[n+3],h=r[o],d=r[o+1],u=r[o+2],p=r[o+3];return e[t]=a*p+c*h+s*u-l*d,e[t+1]=s*p+c*d+l*h-a*u,e[t+2]=l*p+c*u+a*d-s*h,e[t+3]=c*p-a*h-s*d-l*u,e}set(e,t,i,n){return this._x=e,this._y=t,this._z=i,this._w=n,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t){if(!e||!e.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const i=e._x,n=e._y,r=e._z,o=e._order,a=Math.cos,s=Math.sin,l=a(i/2),c=a(n/2),h=a(r/2),d=s(i/2),u=s(n/2),p=s(r/2);switch(o){case"XYZ":this._x=d*c*h+l*u*p,this._y=l*u*h-d*c*p,this._z=l*c*p+d*u*h,this._w=l*c*h-d*u*p;break;case"YXZ":this._x=d*c*h+l*u*p,this._y=l*u*h-d*c*p,this._z=l*c*p-d*u*h,this._w=l*c*h+d*u*p;break;case"ZXY":this._x=d*c*h-l*u*p,this._y=l*u*h+d*c*p,this._z=l*c*p+d*u*h,this._w=l*c*h-d*u*p;break;case"ZYX":this._x=d*c*h-l*u*p,this._y=l*u*h+d*c*p,this._z=l*c*p-d*u*h,this._w=l*c*h+d*u*p;break;case"YZX":this._x=d*c*h+l*u*p,this._y=l*u*h+d*c*p,this._z=l*c*p-d*u*h,this._w=l*c*h-d*u*p;break;case"XZY":this._x=d*c*h-l*u*p,this._y=l*u*h-d*c*p,this._z=l*c*p+d*u*h,this._w=l*c*h+d*u*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const i=t/2,n=Math.sin(i);return this._x=e.x*n,this._y=e.y*n,this._z=e.z*n,this._w=Math.cos(i),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,i=t[0],n=t[4],r=t[8],o=t[1],a=t[5],s=t[9],l=t[2],c=t[6],h=t[10],d=i+a+h;if(d>0){const e=.5/Math.sqrt(d+1);this._w=.25/e,this._x=(c-s)*e,this._y=(r-l)*e,this._z=(o-n)*e}else if(i>a&&i>h){const e=2*Math.sqrt(1+i-a-h);this._w=(c-s)/e,this._x=.25*e,this._y=(n+o)/e,this._z=(r+l)/e}else if(a>h){const e=2*Math.sqrt(1+a-i-h);this._w=(r-l)/e,this._x=(n+o)/e,this._y=.25*e,this._z=(s+c)/e}else{const e=2*Math.sqrt(1+h-i-a);this._w=(o-n)/e,this._x=(r+l)/e,this._y=(s+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let i=e.dot(t)+1;return Number.EPSILON>i?(i=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(xe(this.dot(e),-1,1)))}rotateTowards(e,t){const i=this.angleTo(e);if(0===i)return this;const n=Math.min(1,t/i);return this.slerp(e,n),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e,t){return void 0!==t?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const i=e._x,n=e._y,r=e._z,o=e._w,a=t._x,s=t._y,l=t._z,c=t._w;return this._x=i*c+o*a+n*l-r*s,this._y=n*c+o*s+r*a-i*l,this._z=r*c+o*l+i*s-n*a,this._w=o*c-i*a-n*s-r*l,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const i=this._x,n=this._y,r=this._z,o=this._w;let a=o*e._w+i*e._x+n*e._y+r*e._z;if(0>a?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=n,this._z=r,this;const s=1-a*a;if(Number.EPSILON>=s){const e=1-t;return this._w=e*o+t*this._w,this._x=e*i+t*this._x,this._y=e*n+t*this._y,this._z=e*r+t*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(s),c=Math.atan2(l,a),h=Math.sin((1-t)*c)/l,d=Math.sin(t*c)/l;return this._w=o*h+this._w*d,this._x=i*h+this._x*d,this._y=n*h+this._y*d,this._z=r*h+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,i){this.copy(e).slerp(t,i)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}}Ge.prototype.isQuaternion=!0;class Ke{constructor(e=0,t=0,i=0){this.x=e,this.y=t,this.z=i}set(e,t,i){return void 0===i&&(i=this.z),this.x=e,this.y=t,this.z=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e,t){return void 0!==t?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e,t){return void 0!==t?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e,t){return void 0!==t?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(Ye.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Ye.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,i=this.y,n=this.z,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6]*n,this.y=r[1]*t+r[4]*i+r[7]*n,this.z=r[2]*t+r[5]*i+r[8]*n,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,i=this.y,n=this.z,r=e.elements,o=1/(r[3]*t+r[7]*i+r[11]*n+r[15]);return this.x=(r[0]*t+r[4]*i+r[8]*n+r[12])*o,this.y=(r[1]*t+r[5]*i+r[9]*n+r[13])*o,this.z=(r[2]*t+r[6]*i+r[10]*n+r[14])*o,this}applyQuaternion(e){const t=this.x,i=this.y,n=this.z,r=e.x,o=e.y,a=e.z,s=e.w,l=s*t+o*n-a*i,c=s*i+a*t-r*n,h=s*n+r*i-o*t,d=-r*t-o*i-a*n;return this.x=l*s+d*-r+c*-a-h*-o,this.y=c*s+d*-o+h*-r-l*-a,this.z=h*s+d*-a+l*-o-c*-r,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,i=this.y,n=this.z,r=e.elements;return this.x=r[0]*t+r[4]*i+r[8]*n,this.y=r[1]*t+r[5]*i+r[9]*n,this.z=r[2]*t+r[6]*i+r[10]*n,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){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(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}cross(e,t){return void 0!==t?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}crossVectors(e,t){const i=e.x,n=e.y,r=e.z,o=t.x,a=t.y,s=t.z;return this.x=n*s-r*a,this.y=r*o-i*s,this.z=i*a-n*o,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}projectOnPlane(e){return Ve.copy(this).projectOnVector(e),this.sub(Ve)}reflect(e){return this.sub(Ve.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const i=this.dot(e)/t;return Math.acos(xe(i,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,i=this.y-e.y,n=this.z-e.z;return t*t+i*i+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,i){const n=Math.sin(t)*e;return this.x=n*Math.sin(i),this.y=Math.cos(t)*e,this.z=n*Math.cos(i),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),n=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=n,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t,i){return void 0!==i&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}Ke.prototype.isVector3=!0;const Ve=new Ke,Ye=new Ge;class He{constructor(e=new Ke(1/0,1/0,1/0),t=new Ke(-1/0,-1/0,-1/0)){this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){let t=1/0,i=1/0,n=1/0,r=-1/0,o=-1/0,a=-1/0;for(let s=0,l=e.length;l>s;s+=3){const l=e[s],c=e[s+1],h=e[s+2];t>l&&(t=l),i>c&&(i=c),n>h&&(n=h),l>r&&(r=l),c>o&&(o=c),h>a&&(a=h)}return this.min.set(t,i,n),this.max.set(r,o,a),this}setFromBufferAttribute(e){let t=1/0,i=1/0,n=1/0,r=-1/0,o=-1/0,a=-1/0;for(let s=0,l=e.count;l>s;s++){const l=e.getX(s),c=e.getY(s),h=e.getZ(s);t>l&&(t=l),i>c&&(i=c),n>h&&(n=h),l>r&&(r=l),c>o&&(o=c),h>a&&(a=h)}return this.min.set(t,i,n),this.max.set(r,o,a),this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;i>t;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const i=We.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}setFromObject(e){return this.makeEmpty(),this.expandByObject(e)}clone(){return(new this.constructor).copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){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(){return this.min.x>this.max.x||this.min.y>this.max.y||this.min.z>this.max.z}getCenter(e){return void 0===e&&(console.warn("THREE.Box3: .getCenter() target is now required"),e=new Ke),this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return void 0===e&&(console.warn("THREE.Box3: .getSize() target is now required"),e=new Ke),this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e){e.updateWorldMatrix(!1,!1);const t=e.geometry;void 0!==t&&(null===t.boundingBox&&t.computeBoundingBox(),Je.copy(t.boundingBox),Je.applyMatrix4(e.matrixWorld),this.union(Je));const i=e.children;for(let e=0,t=i.length;t>e;e++)this.expandByObject(i[e]);return this}containsPoint(e){return!(this.min.x>e.x||e.x>this.max.x||this.min.y>e.y||e.y>this.max.y||this.min.z>e.z||e.z>this.max.z)}containsBox(e){return!(this.min.x>e.min.x||e.max.x>this.max.x||this.min.y>e.min.y||e.max.y>this.max.y||this.min.z>e.min.z||e.max.z>this.max.z)}getParameter(e,t){return void 0===t&&(console.warn("THREE.Box3: .getParameter() target is now required"),t=new Ke),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(this.min.x>e.max.x||e.min.x>this.max.x||this.min.y>e.max.y||e.min.y>this.max.y||this.min.z>e.max.z||e.min.z>this.max.z)}intersectsSphere(e){return this.clampPoint(e.center,We),We.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),-e.constant>=t&&i>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(et),tt.subVectors(this.max,et),ze.subVectors(e.a,et),qe.subVectors(e.b,et),Ze.subVectors(e.c,et),Xe.subVectors(qe,ze),_e.subVectors(Ze,qe),$e.subVectors(ze,Ze);let t=[0,-Xe.z,Xe.y,0,-_e.z,_e.y,0,-$e.z,$e.y,Xe.z,0,-Xe.x,_e.z,0,-_e.x,$e.z,0,-$e.x,-Xe.y,Xe.x,0,-_e.y,_e.x,0,-$e.y,$e.x,0];return!!rt(t,ze,qe,Ze,tt)&&(t=[1,0,0,0,1,0,0,0,1],!!rt(t,ze,qe,Ze,tt)&&(it.crossVectors(Xe,_e),t=[it.x,it.y,it.z],rt(t,ze,qe,Ze,tt)))}clampPoint(e,t){return void 0===t&&(console.warn("THREE.Box3: .clampPoint() target is now required"),t=new Ke),t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return We.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return void 0===e&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(e.center),e.radius=.5*this.getSize(We).length(),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()||(je[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),je[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),je[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),je[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),je[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),je[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),je[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),je[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(je)),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}He.prototype.isBox3=!0;const je=[new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke],We=new Ke,Je=new He,ze=new Ke,qe=new Ke,Ze=new Ke,Xe=new Ke,_e=new Ke,$e=new Ke,et=new Ke,tt=new Ke,it=new Ke,nt=new Ke;function rt(e,t,i,n,r){for(let o=0,a=e.length-3;a>=o;o+=3){nt.fromArray(e,o);const a=r.x*Math.abs(nt.x)+r.y*Math.abs(nt.y)+r.z*Math.abs(nt.z),s=t.dot(nt),l=i.dot(nt),c=n.dot(nt);if(Math.max(-Math.max(s,l,c),Math.min(s,l,c))>a)return!1}return!0}const ot=new He,at=new Ke,st=new Ke,lt=new Ke;class ct{constructor(e=new Ke,t=-1){this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const i=this.center;void 0!==t?i.copy(t):ot.setFromPoints(e).getCenter(i);let n=0;for(let t=0,r=e.length;r>t;t++)n=Math.max(n,i.distanceToSquared(e[t]));return this.radius=Math.sqrt(n),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return 0>this.radius}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const i=this.center.distanceToSquared(e);return void 0===t&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),t=new Ke),t.copy(e),i>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return void 0===e&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),e=new He),this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){lt.subVectors(e,this.center);const t=lt.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t),i=.5*(e-this.radius);this.center.add(lt.multiplyScalar(i/e)),this.radius+=i}return this}union(e){return st.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius),this.expandByPoint(at.copy(e.center).add(st)),this.expandByPoint(at.copy(e.center).sub(st)),this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const ht=new Ke,dt=new Ke,ut=new Ke,pt=new Ke,gt=new Ke,ft=new Ke,mt=new Ke;class At{constructor(e=new Ke,t=new Ke(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return void 0===t&&(console.warn("THREE.Ray: .at() target is now required"),t=new Ke),t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,ht)),this}closestPointToPoint(e,t){void 0===t&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),t=new Ke),t.subVectors(e,this.origin);const i=t.dot(this.direction);return 0>i?t.copy(this.origin):t.copy(this.direction).multiplyScalar(i).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=ht.subVectors(e,this.origin).dot(this.direction);return 0>t?this.origin.distanceToSquared(e):(ht.copy(this.direction).multiplyScalar(t).add(this.origin),ht.distanceToSquared(e))}distanceSqToSegment(e,t,i,n){dt.copy(e).add(t).multiplyScalar(.5),ut.copy(t).sub(e).normalize(),pt.copy(this.origin).sub(dt);const r=.5*e.distanceTo(t),o=-this.direction.dot(ut),a=pt.dot(this.direction),s=-pt.dot(ut),l=pt.lengthSq(),c=Math.abs(1-o*o);let h,d,u,p;if(c>0)if(h=o*s-a,d=o*a-s,p=r*c,0>h)d>-p?d>p?(h=Math.max(0,-(o*r+a)),d=h>0?r:Math.min(Math.max(-r,-s),r),u=-h*h+d*(d+2*s)+l):(h=0,d=Math.min(Math.max(-r,-s),r),u=d*(d+2*s)+l):(h=Math.max(0,-(-o*r+a)),d=h>0?-r:Math.min(Math.max(-r,-s),r),u=-h*h+d*(d+2*s)+l);else if(d<-p)d=-r,h=Math.max(0,-(o*d+a)),u=-h*h+d*(d+2*s)+l;else if(p<d)d=r,h=Math.max(0,-(o*d+a)),u=-h*h+d*(d+2*s)+l;else{const e=1/c;h*=e,d*=e,u=h*(h+o*d+2*a)+d*(o*h+d+2*s)+l}else d=o>0?-r:r,h=Math.max(0,-(o*d+a)),u=-h*h+d*(d+2*s)+l;return i&&i.copy(this.direction).multiplyScalar(h).add(this.origin),n&&n.copy(ut).multiplyScalar(d).add(dt),u}intersectSphere(e,t){ht.subVectors(e.center,this.origin);const i=ht.dot(this.direction),n=ht.dot(ht)-i*i,r=e.radius*e.radius;if(n>r)return null;const o=Math.sqrt(r-n),a=i-o,s=i+o;return 0>a&&0>s?null:this.at(0>a?s:a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const i=-(this.origin.dot(e.normal)+e.constant)/t;return 0>i?null:i}intersectPlane(e,t){const i=this.distanceToPlane(e);return null===i?null:this.at(i,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);if(0===t)return!0;return 0>e.normal.dot(this.direction)*t}intersectBox(e,t){let i,n,r,o,a,s;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,d=this.origin;return 0>l?(i=(e.max.x-d.x)*l,n=(e.min.x-d.x)*l):(i=(e.min.x-d.x)*l,n=(e.max.x-d.x)*l),0>c?(r=(e.max.y-d.y)*c,o=(e.min.y-d.y)*c):(r=(e.min.y-d.y)*c,o=(e.max.y-d.y)*c),i>o||r>n?null:((r>i||i!=i)&&(i=r),(n>o||n!=n)&&(n=o),0>h?(a=(e.max.z-d.z)*h,s=(e.min.z-d.z)*h):(a=(e.min.z-d.z)*h,s=(e.max.z-d.z)*h),i>s||a>n?null:((a>i||i!=i)&&(i=a),(n>s||n!=n)&&(n=s),0>n?null:this.at(0>i?n:i,t)))}intersectsBox(e){return null!==this.intersectBox(e,ht)}intersectTriangle(e,t,i,n,r){gt.subVectors(t,e),ft.subVectors(i,e),mt.crossVectors(gt,ft);let o,a=this.direction.dot(mt);if(a>0){if(n)return null;o=1}else{if(a>=0)return null;o=-1,a=-a}pt.subVectors(this.origin,e);const s=o*this.direction.dot(ft.crossVectors(pt,ft));if(0>s)return null;const l=o*this.direction.dot(gt.cross(pt));if(0>l)return null;if(s+l>a)return null;const c=-o*pt.dot(mt);return 0>c?null:this.at(c/a,r)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class yt{constructor(){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.")}set(e,t,i,n,r,o,a,s,l,c,h,d,u,p,g,f){const m=this.elements;return m[0]=e,m[4]=t,m[8]=i,m[12]=n,m[1]=r,m[5]=o,m[9]=a,m[13]=s,m[2]=l,m[6]=c,m[10]=h,m[14]=d,m[3]=u,m[7]=p,m[11]=g,m[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new yt).fromArray(this.elements)}copy(e){const t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}copyPosition(e){const t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}setFromMatrix3(e){const t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}extractBasis(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}makeBasis(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}extractRotation(e){const t=this.elements,i=e.elements,n=1/vt.setFromMatrixColumn(e,0).length(),r=1/vt.setFromMatrixColumn(e,1).length(),o=1/vt.setFromMatrixColumn(e,2).length();return t[0]=i[0]*n,t[1]=i[1]*n,t[2]=i[2]*n,t[3]=0,t[4]=i[4]*r,t[5]=i[5]*r,t[6]=i[6]*r,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const t=this.elements,i=e.x,n=e.y,r=e.z,o=Math.cos(i),a=Math.sin(i),s=Math.cos(n),l=Math.sin(n),c=Math.cos(r),h=Math.sin(r);if("XYZ"===e.order){const e=o*c,i=o*h,n=a*c,r=a*h;t[0]=s*c,t[4]=-s*h,t[8]=l,t[1]=i+n*l,t[5]=e-r*l,t[9]=-a*s,t[2]=r-e*l,t[6]=n+i*l,t[10]=o*s}else if("YXZ"===e.order){const e=s*c,i=s*h,n=l*c,r=l*h;t[0]=e+r*a,t[4]=n*a-i,t[8]=o*l,t[1]=o*h,t[5]=o*c,t[9]=-a,t[2]=i*a-n,t[6]=r+e*a,t[10]=o*s}else if("ZXY"===e.order){const e=s*c,i=s*h,n=l*c,r=l*h;t[0]=e-r*a,t[4]=-o*h,t[8]=n+i*a,t[1]=i+n*a,t[5]=o*c,t[9]=r-e*a,t[2]=-o*l,t[6]=a,t[10]=o*s}else if("ZYX"===e.order){const e=o*c,i=o*h,n=a*c,r=a*h;t[0]=s*c,t[4]=n*l-i,t[8]=e*l+r,t[1]=s*h,t[5]=r*l+e,t[9]=i*l-n,t[2]=-l,t[6]=a*s,t[10]=o*s}else if("YZX"===e.order){const e=o*s,i=o*l,n=a*s,r=a*l;t[0]=s*c,t[4]=r-e*h,t[8]=n*h+i,t[1]=h,t[5]=o*c,t[9]=-a*c,t[2]=-l*c,t[6]=i*h+n,t[10]=e-r*h}else if("XZY"===e.order){const e=o*s,i=o*l,n=a*s,r=a*l;t[0]=s*c,t[4]=-h,t[8]=l*c,t[1]=e*h+r,t[5]=o*c,t[9]=i*h-n,t[2]=n*h-i,t[6]=a*c,t[10]=r*h+e}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(It,e,xt)}lookAt(e,t,i){const n=this.elements;return Et.subVectors(e,t),0===Et.lengthSq()&&(Et.z=1),Et.normalize(),wt.crossVectors(i,Et),0===wt.lengthSq()&&(1===Math.abs(i.z)?Et.x+=1e-4:Et.z+=1e-4,Et.normalize(),wt.crossVectors(i,Et)),wt.normalize(),Mt.crossVectors(Et,wt),n[0]=wt.x,n[4]=Mt.x,n[8]=Et.x,n[1]=wt.y,n[5]=Mt.y,n[9]=Et.y,n[2]=wt.z,n[6]=Mt.z,n[10]=Et.z,this}multiply(e,t){return void 0!==t?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const i=e.elements,n=t.elements,r=this.elements,o=i[0],a=i[4],s=i[8],l=i[12],c=i[1],h=i[5],d=i[9],u=i[13],p=i[2],g=i[6],f=i[10],m=i[14],A=i[3],y=i[7],v=i[11],C=i[15],I=n[0],x=n[4],w=n[8],M=n[12],E=n[1],B=n[5],S=n[9],b=n[13],k=n[2],D=n[6],T=n[10],R=n[14],U=n[3],F=n[7],Q=n[11],L=n[15];return r[0]=o*I+a*E+s*k+l*U,r[4]=o*x+a*B+s*D+l*F,r[8]=o*w+a*S+s*T+l*Q,r[12]=o*M+a*b+s*R+l*L,r[1]=c*I+h*E+d*k+u*U,r[5]=c*x+h*B+d*D+u*F,r[9]=c*w+h*S+d*T+u*Q,r[13]=c*M+h*b+d*R+u*L,r[2]=p*I+g*E+f*k+m*U,r[6]=p*x+g*B+f*D+m*F,r[10]=p*w+g*S+f*T+m*Q,r[14]=p*M+g*b+f*R+m*L,r[3]=A*I+y*E+v*k+C*U,r[7]=A*x+y*B+v*D+C*F,r[11]=A*w+y*S+v*T+C*Q,r[15]=A*M+y*b+v*R+C*L,this}multiplyScalar(e){const t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}determinant(){const e=this.elements,t=e[0],i=e[4],n=e[8],r=e[12],o=e[1],a=e[5],s=e[9],l=e[13],c=e[2],h=e[6],d=e[10],u=e[14];return e[3]*(+r*s*h-n*l*h-r*a*d+i*l*d+n*a*u-i*s*u)+e[7]*(+t*s*u-t*l*d+r*o*d-n*o*u+n*l*c-r*s*c)+e[11]*(+t*l*h-t*a*u-r*o*h+i*o*u+r*a*c-i*l*c)+e[15]*(-n*a*c-t*s*h+t*a*d+n*o*h-i*o*d+i*s*c)}transpose(){const e=this.elements;let t;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this}setPosition(e,t,i){const n=this.elements;return e.isVector3?(n[12]=e.x,n[13]=e.y,n[14]=e.z):(n[12]=e,n[13]=t,n[14]=i),this}invert(){const e=this.elements,t=e[0],i=e[1],n=e[2],r=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8],h=e[9],d=e[10],u=e[11],p=e[12],g=e[13],f=e[14],m=e[15],A=h*f*l-g*d*l+g*s*u-a*f*u-h*s*m+a*d*m,y=p*d*l-c*f*l-p*s*u+o*f*u+c*s*m-o*d*m,v=c*g*l-p*h*l+p*a*u-o*g*u-c*a*m+o*h*m,C=p*h*s-c*g*s-p*a*d+o*g*d+c*a*f-o*h*f,I=t*A+i*y+n*v+r*C;if(0===I)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const x=1/I;return e[0]=A*x,e[1]=(g*d*r-h*f*r-g*n*u+i*f*u+h*n*m-i*d*m)*x,e[2]=(a*f*r-g*s*r+g*n*l-i*f*l-a*n*m+i*s*m)*x,e[3]=(h*s*r-a*d*r-h*n*l+i*d*l+a*n*u-i*s*u)*x,e[4]=y*x,e[5]=(c*f*r-p*d*r+p*n*u-t*f*u-c*n*m+t*d*m)*x,e[6]=(p*s*r-o*f*r-p*n*l+t*f*l+o*n*m-t*s*m)*x,e[7]=(o*d*r-c*s*r+c*n*l-t*d*l-o*n*u+t*s*u)*x,e[8]=v*x,e[9]=(p*h*r-c*g*r-p*i*u+t*g*u+c*i*m-t*h*m)*x,e[10]=(o*g*r-p*a*r+p*i*l-t*g*l-o*i*m+t*a*m)*x,e[11]=(c*a*r-o*h*r-c*i*l+t*h*l+o*i*u-t*a*u)*x,e[12]=C*x,e[13]=(c*g*n-p*h*n+p*i*d-t*g*d-c*i*f+t*h*f)*x,e[14]=(p*a*n-o*g*n-p*i*s+t*g*s+o*i*f-t*a*f)*x,e[15]=(o*h*n-c*a*n+c*i*s-t*h*s-o*i*d+t*a*d)*x,this}scale(e){const t=this.elements,i=e.x,n=e.y,r=e.z;return t[0]*=i,t[4]*=n,t[8]*=r,t[1]*=i,t[5]*=n,t[9]*=r,t[2]*=i,t[6]*=n,t[10]*=r,t[3]*=i,t[7]*=n,t[11]*=r,this}getMaxScaleOnAxis(){const e=this.elements;return Math.sqrt(Math.max(e[0]*e[0]+e[1]*e[1]+e[2]*e[2],e[4]*e[4]+e[5]*e[5]+e[6]*e[6],e[8]*e[8]+e[9]*e[9]+e[10]*e[10]))}makeTranslation(e,t,i){return this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const i=Math.cos(t),n=Math.sin(t),r=1-i,o=e.x,a=e.y,s=e.z,l=r*o,c=r*a;return this.set(l*o+i,l*a-n*s,l*s+n*a,0,l*a+n*s,c*a+i,c*s-n*o,0,l*s-n*a,c*s+n*o,r*s*s+i,0,0,0,0,1),this}makeScale(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}makeShear(e,t,i,n,r,o){return this.set(1,i,r,0,e,1,o,0,t,n,1,0,0,0,0,1),this}compose(e,t,i){const n=this.elements,r=t._x,o=t._y,a=t._z,s=t._w,l=r+r,c=o+o,h=a+a,d=r*l,u=r*c,p=r*h,g=o*c,f=o*h,m=a*h,A=s*l,y=s*c,v=s*h,C=i.x,I=i.y,x=i.z;return n[0]=(1-(g+m))*C,n[1]=(u+v)*C,n[2]=(p-y)*C,n[3]=0,n[4]=(u-v)*I,n[5]=(1-(d+m))*I,n[6]=(f+A)*I,n[7]=0,n[8]=(p+y)*x,n[9]=(f-A)*x,n[10]=(1-(d+g))*x,n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,this}decompose(e,t,i){const n=this.elements;let r=vt.set(n[0],n[1],n[2]).length();const o=vt.set(n[4],n[5],n[6]).length(),a=vt.set(n[8],n[9],n[10]).length();0>this.determinant()&&(r=-r),e.x=n[12],e.y=n[13],e.z=n[14],Ct.copy(this);const s=1/r,l=1/o,c=1/a;return Ct.elements[0]*=s,Ct.elements[1]*=s,Ct.elements[2]*=s,Ct.elements[4]*=l,Ct.elements[5]*=l,Ct.elements[6]*=l,Ct.elements[8]*=c,Ct.elements[9]*=c,Ct.elements[10]*=c,t.setFromRotationMatrix(Ct),i.x=r,i.y=o,i.z=a,this}makePerspective(e,t,i,n,r,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,s=2*r/(i-n),l=(t+e)/(t-e),c=(i+n)/(i-n),h=-(o+r)/(o-r),d=-2*o*r/(o-r);return a[0]=2*r/(t-e),a[4]=0,a[8]=l,a[12]=0,a[1]=0,a[5]=s,a[9]=c,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(e,t,i,n,r,o){const a=this.elements,s=1/(t-e),l=1/(i-n),c=1/(o-r),h=(t+e)*s,d=(i+n)*l,u=(o+r)*c;return a[0]=2*s,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-d,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-u,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(e){const t=this.elements,i=e.elements;for(let e=0;16>e;e++)if(t[e]!==i[e])return!1;return!0}fromArray(e,t=0){for(let i=0;16>i;i++)this.elements[i]=e[i+t];return this}toArray(e=[],t=0){const i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}yt.prototype.isMatrix4=!0;const vt=new Ke,Ct=new yt,It=new Ke(0,0,0),xt=new Ke(1,1,1),wt=new Ke,Mt=new Ke,Et=new Ke,Bt=new yt,St=new Ge;class bt{constructor(e=0,t=0,i=0,n=bt.DefaultOrder){this._x=e,this._y=t,this._z=i,this._order=n}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,i,n){return this._x=e,this._y=t,this._z=i,this._order=n||this._order,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t,i){const n=e.elements,r=n[0],o=n[4],a=n[8],s=n[1],l=n[5],c=n[9],h=n[2],d=n[6],u=n[10];switch(t=t||this._order){case"XYZ":this._y=Math.asin(xe(a,-1,1)),.9999999>Math.abs(a)?(this._x=Math.atan2(-c,u),this._z=Math.atan2(-o,r)):(this._x=Math.atan2(d,l),this._z=0);break;case"YXZ":this._x=Math.asin(-xe(c,-1,1)),.9999999>Math.abs(c)?(this._y=Math.atan2(a,u),this._z=Math.atan2(s,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(xe(d,-1,1)),.9999999>Math.abs(d)?(this._y=Math.atan2(-h,u),this._z=Math.atan2(-o,l)):(this._y=0,this._z=Math.atan2(s,r));break;case"ZYX":this._y=Math.asin(-xe(h,-1,1)),.9999999>Math.abs(h)?(this._x=Math.atan2(d,u),this._z=Math.atan2(s,r)):(this._x=0,this._z=Math.atan2(-o,l));break;case"YZX":this._z=Math.asin(xe(s,-1,1)),.9999999>Math.abs(s)?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,u));break;case"XZY":this._z=Math.asin(-xe(o,-1,1)),.9999999>Math.abs(o)?(this._x=Math.atan2(d,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,u),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!1!==i&&this._onChangeCallback(),this}setFromQuaternion(e,t,i){return Bt.makeRotationFromQuaternion(e),this.setFromRotationMatrix(Bt,t,i)}setFromVector3(e,t){return this.set(e.x,e.y,e.z,t||this._order)}reorder(e){return St.setFromEuler(this),this.setFromQuaternion(St,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}toVector3(e){return e?e.set(this._x,this._y,this._z):new Ke(this._x,this._y,this._z)}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}}bt.prototype.isEuler=!0,bt.DefaultOrder="XYZ",bt.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class kt{constructor(){this.mask=1}set(e){this.mask=1<<e|0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return 0!=(this.mask&e.mask)}}let Dt=0;const Tt=new Ke,Rt=new Ge,Ut=new yt,Ft=new Ke,Qt=new Ke,Lt=new Ke,Ot=new Ge,Nt=new Ke(1,0,0),Pt=new Ke(0,1,0),Gt=new Ke(0,0,1),Kt={type:"added"},Vt={type:"removed"};class Yt extends me{constructor(){super(),Object.defineProperty(this,"id",{value:Dt++}),this.uuid=Ie(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=Yt.DefaultUp.clone();const e=new Ke,t=new bt,i=new Ge,n=new Ke(1,1,1);t._onChange((function(){i.setFromEuler(t,!1)})),i._onChange((function(){t.setFromQuaternion(i,void 0,!1)})),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:i},scale:{configurable:!0,enumerable:!0,value:n},modelViewMatrix:{value:new yt},normalMatrix:{value:new De}}),this.matrix=new yt,this.matrixWorld=new yt,this.matrixAutoUpdate=Yt.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new kt,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return Rt.setFromAxisAngle(e,t),this.quaternion.multiply(Rt),this}rotateOnWorldAxis(e,t){return Rt.setFromAxisAngle(e,t),this.quaternion.premultiply(Rt),this}rotateX(e){return this.rotateOnAxis(Nt,e)}rotateY(e){return this.rotateOnAxis(Pt,e)}rotateZ(e){return this.rotateOnAxis(Gt,e)}translateOnAxis(e,t){return Tt.copy(e).applyQuaternion(this.quaternion),this.position.add(Tt.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(Nt,e)}translateY(e){return this.translateOnAxis(Pt,e)}translateZ(e){return this.translateOnAxis(Gt,e)}localToWorld(e){return e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return e.applyMatrix4(Ut.copy(this.matrixWorld).invert())}lookAt(e,t,i){e.isVector3?Ft.copy(e):Ft.set(e,t,i);const n=this.parent;this.updateWorldMatrix(!0,!1),Qt.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Ut.lookAt(Qt,Ft,this.up):Ut.lookAt(Ft,Qt,this.up),this.quaternion.setFromRotationMatrix(Ut),n&&(Ut.extractRotation(n.matrixWorld),Rt.setFromRotationMatrix(Ut),this.quaternion.premultiply(Rt.invert()))}add(e){if(arguments.length>1){for(let e=0;arguments.length>e;e++)this.add(arguments[e]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(null!==e.parent&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(Kt)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let e=0;arguments.length>e;e++)this.remove(arguments[e]);return this}const t=this.children.indexOf(e);return-1!==t&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(Vt)),this}removeFromParent(){const e=this.parent;return null!==e&&e.remove(this),this}clear(){for(let e=0;this.children.length>e;e++){const t=this.children[e];t.parent=null,t.dispatchEvent(Vt)}return this.children.length=0,this}attach(e){return this.updateWorldMatrix(!0,!1),Ut.copy(this.matrixWorld).invert(),null!==e.parent&&(e.parent.updateWorldMatrix(!0,!1),Ut.multiply(e.parent.matrixWorld)),e.applyMatrix4(Ut),this.add(e),e.updateWorldMatrix(!1,!0),this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let i=0,n=this.children.length;n>i;i++){const n=this.children[i].getObjectByProperty(e,t);if(void 0!==n)return n}}getWorldPosition(e){return void 0===e&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),e=new Ke),this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return void 0===e&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),e=new Ge),this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Qt,e,Lt),e}getWorldScale(e){return void 0===e&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),e=new Ke),this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(Qt,Ot,e),e}getWorldDirection(e){void 0===e&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),e=new Ke),this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let i=0,n=t.length;n>i;i++)t[i].traverse(e)}traverseVisible(e){if(!1===this.visible)return;e(this);const t=this.children;for(let i=0,n=t.length;n>i;i++)t[i].traverseVisible(e)}traverseAncestors(e){const t=this.parent;null!==t&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let i=0,n=t.length;n>i;i++)t[i].updateMatrixWorld(e)}updateWorldMatrix(e,t){const i=this.parent;if(!0===e&&null!==i&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===t){const e=this.children;for(let t=0,i=e.length;i>t;t++)e[t].updateWorldMatrix(!1,!0)}}toJSON(e){const t=void 0===e||"string"==typeof e,i={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{}},i.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});const n={};function r(t,i){return void 0===t[i.uuid]&&(t[i.uuid]=i.toJSON(e)),i.uuid}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),!0===this.castShadow&&(n.castShadow=!0),!0===this.receiveShadow&&(n.receiveShadow=!0),!1===this.visible&&(n.visible=!1),!1===this.frustumCulled&&(n.frustumCulled=!1),0!==this.renderOrder&&(n.renderOrder=this.renderOrder),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),n.layers=this.layers.mask,n.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(n.matrixAutoUpdate=!1),this.isInstancedMesh&&(n.type="InstancedMesh",n.count=this.count,n.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(n.instanceColor=this.instanceColor.toJSON())),this.isMesh||this.isLine||this.isPoints){n.geometry=r(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const i=t.shapes;if(Array.isArray(i))for(let t=0,n=i.length;n>t;t++){r(e.shapes,i[t])}else r(e.shapes,i)}}if(this.isSkinnedMesh&&(n.bindMode=this.bindMode,n.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(r(e.skeletons,this.skeleton),n.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const t=[];for(let i=0,n=this.material.length;n>i;i++)t.push(r(e.materials,this.material[i]));n.material=t}else n.material=r(e.materials,this.material);if(this.children.length>0){n.children=[];for(let t=0;this.children.length>t;t++)n.children.push(this.children[t].toJSON(e).object)}if(this.animations.length>0){n.animations=[];for(let t=0;this.animations.length>t;t++){n.animations.push(r(e.animations,this.animations[t]))}}if(t){const t=o(e.geometries),n=o(e.materials),r=o(e.textures),a=o(e.images),s=o(e.shapes),l=o(e.skeletons),c=o(e.animations);t.length>0&&(i.geometries=t),n.length>0&&(i.materials=n),r.length>0&&(i.textures=r),a.length>0&&(i.images=a),s.length>0&&(i.shapes=s),l.length>0&&(i.skeletons=l),c.length>0&&(i.animations=c)}return i.object=n,i;function o(e){const t=[];for(const i in e){const n=e[i];delete n.metadata,t.push(n)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(let t=0;e.children.length>t;t++){this.add(e.children[t].clone())}return this}}Yt.DefaultUp=new Ke(0,1,0),Yt.DefaultMatrixAutoUpdate=!0,Yt.prototype.isObject3D=!0;const Ht=new Ke,jt=new Ke,Wt=new De;class Jt{constructor(e=new Ke(1,0,0),t=0){this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,i,n){return this.normal.set(e,t,i),this.constant=n,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}setFromCoplanarPoints(e,t,i){const n=Ht.subVectors(i,t).cross(jt.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(n,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return void 0===t&&(console.warn("THREE.Plane: .projectPoint() target is now required"),t=new Ke),t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){void 0===t&&(console.warn("THREE.Plane: .intersectLine() target is now required"),t=new Ke);const i=e.delta(Ht),n=this.normal.dot(i);if(0===n)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const r=-(e.start.dot(this.normal)+this.constant)/n;return 0>r||r>1?null:t.copy(i).multiplyScalar(r).add(e.start)}intersectsLine(e){const t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return 0>t&&i>0||0>i&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return void 0===e&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),e=new Ke),e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const i=t||Wt.getNormalMatrix(e),n=this.coplanarPoint(Ht).applyMatrix4(e),r=this.normal.applyMatrix3(i).normalize();return this.constant=-n.dot(r),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Jt.prototype.isPlane=!0;const zt=new Ke,qt=new Ke,Zt=new Ke,Xt=new Ke,_t=new Ke,$t=new Ke,ei=new Ke,ti=new Ke,ii=new Ke,ni=new Ke;class ri{constructor(e=new Ke,t=new Ke,i=new Ke){this.a=e,this.b=t,this.c=i}static getNormal(e,t,i,n){void 0===n&&(console.warn("THREE.Triangle: .getNormal() target is now required"),n=new Ke),n.subVectors(i,t),zt.subVectors(e,t),n.cross(zt);const r=n.lengthSq();return r>0?n.multiplyScalar(1/Math.sqrt(r)):n.set(0,0,0)}static getBarycoord(e,t,i,n,r){zt.subVectors(n,t),qt.subVectors(i,t),Zt.subVectors(e,t);const o=zt.dot(zt),a=zt.dot(qt),s=zt.dot(Zt),l=qt.dot(qt),c=qt.dot(Zt),h=o*l-a*a;if(void 0===r&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),r=new Ke),0===h)return r.set(-2,-1,-1);const d=1/h,u=(l*s-a*c)*d,p=(o*c-a*s)*d;return r.set(1-u-p,p,u)}static containsPoint(e,t,i,n){return this.getBarycoord(e,t,i,n,Xt),Xt.x>=0&&Xt.y>=0&&1>=Xt.x+Xt.y}static getUV(e,t,i,n,r,o,a,s){return this.getBarycoord(e,t,i,n,Xt),s.set(0,0),s.addScaledVector(r,Xt.x),s.addScaledVector(o,Xt.y),s.addScaledVector(a,Xt.z),s}static isFrontFacing(e,t,i,n){return zt.subVectors(i,t),qt.subVectors(e,t),0>zt.cross(qt).dot(n)}set(e,t,i){return this.a.copy(e),this.b.copy(t),this.c.copy(i),this}setFromPointsAndIndices(e,t,i,n){return this.a.copy(e[t]),this.b.copy(e[i]),this.c.copy(e[n]),this}clone(){return(new this.constructor).copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return zt.subVectors(this.c,this.b),qt.subVectors(this.a,this.b),.5*zt.cross(qt).length()}getMidpoint(e){return void 0===e&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),e=new Ke),e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return ri.getNormal(this.a,this.b,this.c,e)}getPlane(e){return void 0===e&&(console.warn("THREE.Triangle: .getPlane() target is now required"),e=new Jt),e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return ri.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,i,n,r){return ri.getUV(e,this.a,this.b,this.c,t,i,n,r)}containsPoint(e){return ri.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return ri.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){void 0===t&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),t=new Ke);const i=this.a,n=this.b,r=this.c;let o,a;_t.subVectors(n,i),$t.subVectors(r,i),ti.subVectors(e,i);const s=_t.dot(ti),l=$t.dot(ti);if(0>=s&&0>=l)return t.copy(i);ii.subVectors(e,n);const c=_t.dot(ii),h=$t.dot(ii);if(c>=0&&c>=h)return t.copy(n);const d=s*h-c*l;if(0>=d&&s>=0&&0>=c)return o=s/(s-c),t.copy(i).addScaledVector(_t,o);ni.subVectors(e,r);const u=_t.dot(ni),p=$t.dot(ni);if(p>=0&&p>=u)return t.copy(r);const g=u*l-s*p;if(0>=g&&l>=0&&0>=p)return a=l/(l-p),t.copy(i).addScaledVector($t,a);const f=c*p-u*h;if(0>=f&&h-c>=0&&u-p>=0)return ei.subVectors(r,n),a=(h-c)/(h-c+(u-p)),t.copy(n).addScaledVector(ei,a);const m=1/(f+g+d);return o=g*m,a=d*m,t.copy(i).addScaledVector(_t,o).addScaledVector($t,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let oi=0;class ai extends me{constructor(){super(),Object.defineProperty(this,"id",{value:oi++}),this.uuid=Ie(),this.name="",this.type="Material",this.fog=!0,this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=r,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=ue,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=oe,this.stencilZFail=oe,this.stencilZPass=oe,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.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}set needsUpdate(e){!0===e&&this.version++}onBuild(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const i=e[t];if(void 0===i){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}if("shading"===t){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===i;continue}const n=this[t];void 0!==n?n&&n.isColor?n.set(i):n&&n.isVector3&&i&&i.isVector3?n.copy(i):this[t]=i:console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.")}}toJSON(e){const t=void 0===e||"string"==typeof e;t&&(e={textures:{},images:{}});const i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function n(e){const t=[];for(const i in e){const n=e[i];delete n.metadata,t.push(n)}return t}if(i.uuid=this.uuid,i.type=this.type,""!==this.name&&(i.name=this.name),this.color&&this.color.isColor&&(i.color=this.color.getHex()),void 0!==this.roughness&&(i.roughness=this.roughness),void 0!==this.metalness&&(i.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(i.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(i.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(i.specular=this.specular.getHex()),void 0!==this.shininess&&(i.shininess=this.shininess),void 0!==this.clearcoat&&(i.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(i.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(i.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(i.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(i.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,i.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(i.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(i.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(i.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(i.lightMap=this.lightMap.toJSON(e).uuid,i.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(i.aoMap=this.aoMap.toJSON(e).uuid,i.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(i.bumpMap=this.bumpMap.toJSON(e).uuid,i.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(i.normalMap=this.normalMap.toJSON(e).uuid,i.normalMapType=this.normalMapType,i.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(i.displacementMap=this.displacementMap.toJSON(e).uuid,i.displacementScale=this.displacementScale,i.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(i.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(i.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(i.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(i.specularMap=this.specularMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(e).uuid,void 0!==this.combine&&(i.combine=this.combine)),void 0!==this.envMapIntensity&&(i.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(i.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(i.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(i.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(i.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(i.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(i.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&(i.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(i.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(i.size=this.size),null!==this.shadowSide&&(i.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(i.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(i.blending=this.blending),0!==this.side&&(i.side=this.side),this.vertexColors&&(i.vertexColors=!0),1>this.opacity&&(i.opacity=this.opacity),!0===this.transparent&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,i.colorWrite=this.colorWrite,i.stencilWrite=this.stencilWrite,i.stencilWriteMask=this.stencilWriteMask,i.stencilFunc=this.stencilFunc,i.stencilRef=this.stencilRef,i.stencilFuncMask=this.stencilFuncMask,i.stencilFail=this.stencilFail,i.stencilZFail=this.stencilZFail,i.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(i.rotation=this.rotation),!0===this.polygonOffset&&(i.polygonOffset=!0),0!==this.polygonOffsetFactor&&(i.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(i.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(i.linewidth=this.linewidth),void 0!==this.dashSize&&(i.dashSize=this.dashSize),void 0!==this.gapSize&&(i.gapSize=this.gapSize),void 0!==this.scale&&(i.scale=this.scale),!0===this.dithering&&(i.dithering=!0),this.alphaTest>0&&(i.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(i.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(i.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(i.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(i.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(i.morphTargets=!0),!0===this.morphNormals&&(i.morphNormals=!0),!0===this.flatShading&&(i.flatShading=this.flatShading),!1===this.visible&&(i.visible=!1),!1===this.toneMapped&&(i.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),t){const t=n(e.textures),r=n(e.images);t.length>0&&(i.textures=t),r.length>0&&(i.images=r)}return i}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name,this.fog=e.fog,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let i=null;if(null!==t){const e=t.length;i=new Array(e);for(let n=0;n!==e;++n)i[n]=t[n].clone()}return this.clippingPlanes=i,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}}ai.prototype.isMaterial=!0;const si={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},li={h:0,s:0,l:0},ci={h:0,s:0,l:0};function hi(e,t,i){return 0>i&&(i+=1),i>1&&(i-=1),1/6>i?e+6*(t-e)*i:.5>i?t:2/3>i?e+6*(t-e)*(2/3-i):e}function di(e){return.04045>e?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function ui(e){return.0031308>e?12.92*e:1.055*Math.pow(e,.41666)-.055}class pi{constructor(e,t,i){return void 0===t&&void 0===i?this.set(e):this.setRGB(e,t,i)}set(e){return e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this}setRGB(e,t,i){return this.r=e,this.g=t,this.b=i,this}setHSL(e,t,i){if(e=we(e,1),t=xe(t,0,1),i=xe(i,0,1),0===t)this.r=this.g=this.b=i;else{const n=i>.5?i+t-i*t:i*(1+t),r=2*i-n;this.r=hi(r,n,e+1/3),this.g=hi(r,n,e),this.b=hi(r,n,e-1/3)}return this}setStyle(e){function t(t){void 0!==t&&1>parseFloat(t)&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let e;const n=i[2];switch(i[1]){case"rgb":case"rgba":if(e=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(n))return this.r=Math.min(255,parseInt(e[1],10))/255,this.g=Math.min(255,parseInt(e[2],10))/255,this.b=Math.min(255,parseInt(e[3],10))/255,t(e[4]),this;if(e=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(n))return this.r=Math.min(100,parseInt(e[1],10))/100,this.g=Math.min(100,parseInt(e[2],10))/100,this.b=Math.min(100,parseInt(e[3],10))/100,t(e[4]),this;break;case"hsl":case"hsla":if(e=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(n)){const i=parseFloat(e[1])/360,n=parseInt(e[2],10)/100,r=parseInt(e[3],10)/100;return t(e[4]),this.setHSL(i,n,r)}}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const e=i[1],t=e.length;if(3===t)return this.r=parseInt(e.charAt(0)+e.charAt(0),16)/255,this.g=parseInt(e.charAt(1)+e.charAt(1),16)/255,this.b=parseInt(e.charAt(2)+e.charAt(2),16)/255,this;if(6===t)return this.r=parseInt(e.charAt(0)+e.charAt(1),16)/255,this.g=parseInt(e.charAt(2)+e.charAt(3),16)/255,this.b=parseInt(e.charAt(4)+e.charAt(5),16)/255,this}return e&&e.length>0?this.setColorName(e):this}setColorName(e){const t=si[e.toLowerCase()];return void 0!==t?this.setHex(t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copyGammaToLinear(e,t=2){return this.r=Math.pow(e.r,t),this.g=Math.pow(e.g,t),this.b=Math.pow(e.b,t),this}copyLinearToGamma(e,t=2){const i=t>0?1/t:1;return this.r=Math.pow(e.r,i),this.g=Math.pow(e.g,i),this.b=Math.pow(e.b,i),this}convertGammaToLinear(e){return this.copyGammaToLinear(this,e),this}convertLinearToGamma(e){return this.copyLinearToGamma(this,e),this}copySRGBToLinear(e){return this.r=di(e.r),this.g=di(e.g),this.b=di(e.b),this}copyLinearToSRGB(e){return this.r=ui(e.r),this.g=ui(e.g),this.b=ui(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(e){void 0===e&&(console.warn("THREE.Color: .getHSL() target is now required"),e={h:0,s:0,l:0});const t=this.r,i=this.g,n=this.b,r=Math.max(t,i,n),o=Math.min(t,i,n);let a,s;const l=(o+r)/2;if(o===r)a=0,s=0;else{const e=r-o;switch(s=l>.5?e/(2-r-o):e/(r+o),r){case t:a=(i-n)/e+(n>i?6:0);break;case i:a=(n-t)/e+2;break;case n:a=(t-i)/e+4}a/=6}return e.h=a,e.s=s,e.l=l,e}getStyle(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"}offsetHSL(e,t,i){return this.getHSL(li),li.h+=e,li.s+=t,li.l+=i,this.setHSL(li.h,li.s,li.l),this}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return this.r=Math.max(0,this.r-e.r),this.g=Math.max(0,this.g-e.g),this.b=Math.max(0,this.b-e.b),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,i){return this.r=e.r+(t.r-e.r)*i,this.g=e.g+(t.g-e.g)*i,this.b=e.b+(t.b-e.b)*i,this}lerpHSL(e,t){this.getHSL(li),e.getHSL(ci);const i=Me(li.h,ci.h,t),n=Me(li.s,ci.s,t),r=Me(li.l,ci.l,t);return this.setHSL(i,n,r),this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),!0===e.normalized&&(this.r/=255,this.g/=255,this.b/=255),this}toJSON(){return this.getHex()}}pi.NAMES=si,pi.prototype.isColor=!0,pi.prototype.r=1,pi.prototype.g=1,pi.prototype.b=1;class gi extends ai{constructor(e){super(),this.type="MeshBasicMaterial",this.color=new pi(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.morphTargets=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this}}gi.prototype.isMeshBasicMaterial=!0;const fi=new Ke,mi=new ke;class Ai{constructor(e,t,i){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=e,this.itemSize=t,this.count=void 0!==e?e.length/t:0,this.normalized=!0===i,this.usage=pe,this.updateRange={offset:0,count:-1},this.version=0}set needsUpdate(e){!0===e&&this.version++}onUploadCallback(){}setUsage(e){return this.usage=e,this}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this}copyAt(e,t,i){e*=this.itemSize,i*=t.itemSize;for(let n=0,r=this.itemSize;r>n;n++)this.array[e+n]=t.array[i+n];return this}copyArray(e){return this.array.set(e),this}copyColorsArray(e){const t=this.array;let i=0;for(let n=0,r=e.length;r>n;n++){let r=e[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",n),r=new pi),t[i++]=r.r,t[i++]=r.g,t[i++]=r.b}return this}copyVector2sArray(e){const t=this.array;let i=0;for(let n=0,r=e.length;r>n;n++){let r=e[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",n),r=new ke),t[i++]=r.x,t[i++]=r.y}return this}copyVector3sArray(e){const t=this.array;let i=0;for(let n=0,r=e.length;r>n;n++){let r=e[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",n),r=new Ke),t[i++]=r.x,t[i++]=r.y,t[i++]=r.z}return this}copyVector4sArray(e){const t=this.array;let i=0;for(let n=0,r=e.length;r>n;n++){let r=e[n];void 0===r&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",n),r=new Le),t[i++]=r.x,t[i++]=r.y,t[i++]=r.z,t[i++]=r.w}return this}applyMatrix3(e){if(2===this.itemSize)for(let t=0,i=this.count;i>t;t++)mi.fromBufferAttribute(this,t),mi.applyMatrix3(e),this.setXY(t,mi.x,mi.y);else if(3===this.itemSize)for(let t=0,i=this.count;i>t;t++)fi.fromBufferAttribute(this,t),fi.applyMatrix3(e),this.setXYZ(t,fi.x,fi.y,fi.z);return this}applyMatrix4(e){for(let t=0,i=this.count;i>t;t++)fi.x=this.getX(t),fi.y=this.getY(t),fi.z=this.getZ(t),fi.applyMatrix4(e),this.setXYZ(t,fi.x,fi.y,fi.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;i>t;t++)fi.x=this.getX(t),fi.y=this.getY(t),fi.z=this.getZ(t),fi.applyNormalMatrix(e),this.setXYZ(t,fi.x,fi.y,fi.z);return this}transformDirection(e){for(let t=0,i=this.count;i>t;t++)fi.x=this.getX(t),fi.y=this.getY(t),fi.z=this.getZ(t),fi.transformDirection(e),this.setXYZ(t,fi.x,fi.y,fi.z);return this}set(e,t=0){return this.array.set(e,t),this}getX(e){return this.array[e*this.itemSize]}setX(e,t){return this.array[e*this.itemSize]=t,this}getY(e){return this.array[e*this.itemSize+1]}setY(e,t){return this.array[e*this.itemSize+1]=t,this}getZ(e){return this.array[e*this.itemSize+2]}setZ(e,t){return this.array[e*this.itemSize+2]=t,this}getW(e){return this.array[e*this.itemSize+3]}setW(e,t){return this.array[e*this.itemSize+3]=t,this}setXY(e,t,i){return this.array[(e*=this.itemSize)+0]=t,this.array[e+1]=i,this}setXYZ(e,t,i,n){return this.array[(e*=this.itemSize)+0]=t,this.array[e+1]=i,this.array[e+2]=n,this}setXYZW(e,t,i,n,r){return this.array[(e*=this.itemSize)+0]=t,this.array[e+1]=i,this.array[e+2]=n,this.array[e+3]=r,this}onUpload(e){return this.onUploadCallback=e,this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized};return""!==this.name&&(e.name=this.name),this.usage!==pe&&(e.usage=this.usage),0===this.updateRange.offset&&-1===this.updateRange.count||(e.updateRange=this.updateRange),e}}Ai.prototype.isBufferAttribute=!0;class yi extends Ai{constructor(e,t,i){super(new Int8Array(e),t,i)}}class vi extends Ai{constructor(e,t,i){super(new Uint8Array(e),t,i)}}class Ci extends Ai{constructor(e,t,i){super(new Uint8ClampedArray(e),t,i)}}class Ii extends Ai{constructor(e,t,i){super(new Int16Array(e),t,i)}}class xi extends Ai{constructor(e,t,i){super(new Uint16Array(e),t,i)}}class wi extends Ai{constructor(e,t,i){super(new Int32Array(e),t,i)}}class Mi extends Ai{constructor(e,t,i){super(new Uint32Array(e),t,i)}}class Ei extends Ai{constructor(e,t,i){super(new Uint16Array(e),t,i)}}Ei.prototype.isFloat16BufferAttribute=!0;class Bi extends Ai{constructor(e,t,i){super(new Float32Array(e),t,i)}}class Si extends Ai{constructor(e,t,i){super(new Float64Array(e),t,i)}}function bi(e){if(0===e.length)return-1/0;let t=e[0];for(let i=1,n=e.length;n>i;++i)e[i]>t&&(t=e[i]);return t}const ki={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Di(e,t){return new ki[e](t)}let Ti=0;const Ri=new yt,Ui=new Yt,Fi=new Ke,Qi=new He,Li=new He,Oi=new Ke;class Ni extends me{constructor(){super(),Object.defineProperty(this,"id",{value:Ti++}),this.uuid=Ie(),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={}}getIndex(){return this.index}setIndex(e){return this.index=Array.isArray(e)?new(bi(e)>65535?Mi:xi)(e,1):e,this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return void 0!==this.attributes[e]}addGroup(e,t,i=0){this.groups.push({start:e,count:t,materialIndex:i})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e,this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;void 0!==t&&(t.applyMatrix4(e),t.needsUpdate=!0);const i=this.attributes.normal;if(void 0!==i){const t=(new De).getNormalMatrix(e);i.applyNormalMatrix(t),i.needsUpdate=!0}const n=this.attributes.tangent;return void 0!==n&&(n.transformDirection(e),n.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(e){return Ri.makeRotationFromQuaternion(e),this.applyMatrix4(Ri),this}rotateX(e){return Ri.makeRotationX(e),this.applyMatrix4(Ri),this}rotateY(e){return Ri.makeRotationY(e),this.applyMatrix4(Ri),this}rotateZ(e){return Ri.makeRotationZ(e),this.applyMatrix4(Ri),this}translate(e,t,i){return Ri.makeTranslation(e,t,i),this.applyMatrix4(Ri),this}scale(e,t,i){return Ri.makeScale(e,t,i),this.applyMatrix4(Ri),this}lookAt(e){return Ui.lookAt(e),Ui.updateMatrix(),this.applyMatrix4(Ui.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Fi).negate(),this.translate(Fi.x,Fi.y,Fi.z),this}setFromPoints(e){const t=[];for(let i=0,n=e.length;n>i;i++){const n=e[i];t.push(n.x,n.y,n.z||0)}return this.setAttribute("position",new Bi(t,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new He);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingBox.set(new Ke(-1/0,-1/0,-1/0),new Ke(1/0,1/0,1/0));if(void 0!==e){if(this.boundingBox.setFromBufferAttribute(e),t)for(let e=0,i=t.length;i>e;e++){Qi.setFromBufferAttribute(t[e]),this.morphTargetsRelative?(Oi.addVectors(this.boundingBox.min,Qi.min),this.boundingBox.expandByPoint(Oi),Oi.addVectors(this.boundingBox.max,Qi.max),this.boundingBox.expandByPoint(Oi)):(this.boundingBox.expandByPoint(Qi.min),this.boundingBox.expandByPoint(Qi.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(){null===this.boundingSphere&&(this.boundingSphere=new ct);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".',this),void this.boundingSphere.set(new Ke,1/0);if(e){const i=this.boundingSphere.center;if(Qi.setFromBufferAttribute(e),t)for(let e=0,i=t.length;i>e;e++){Li.setFromBufferAttribute(t[e]),this.morphTargetsRelative?(Oi.addVectors(Qi.min,Li.min),Qi.expandByPoint(Oi),Oi.addVectors(Qi.max,Li.max),Qi.expandByPoint(Oi)):(Qi.expandByPoint(Li.min),Qi.expandByPoint(Li.max))}Qi.getCenter(i);let n=0;for(let t=0,r=e.count;r>t;t++)Oi.fromBufferAttribute(e,t),n=Math.max(n,i.distanceToSquared(Oi));if(t)for(let r=0,o=t.length;o>r;r++){const o=t[r],a=this.morphTargetsRelative;for(let t=0,r=o.count;r>t;t++)Oi.fromBufferAttribute(o,t),a&&(Fi.fromBufferAttribute(e,t),Oi.add(Fi)),n=Math.max(n,i.distanceToSquared(Oi))}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(){}computeTangents(){const e=this.index,t=this.attributes;if(null===e||void 0===t.position||void 0===t.normal||void 0===t.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");const i=e.array,n=t.position.array,r=t.normal.array,o=t.uv.array,a=n.length/3;void 0===t.tangent&&this.setAttribute("tangent",new Ai(new Float32Array(4*a),4));const s=t.tangent.array,l=[],c=[];for(let e=0;a>e;e++)l[e]=new Ke,c[e]=new Ke;const h=new Ke,d=new Ke,u=new Ke,p=new ke,g=new ke,f=new ke,m=new Ke,A=new Ke;function y(e,t,i){h.fromArray(n,3*e),d.fromArray(n,3*t),u.fromArray(n,3*i),p.fromArray(o,2*e),g.fromArray(o,2*t),f.fromArray(o,2*i),d.sub(h),u.sub(h),g.sub(p),f.sub(p);const r=1/(g.x*f.y-f.x*g.y);isFinite(r)&&(m.copy(d).multiplyScalar(f.y).addScaledVector(u,-g.y).multiplyScalar(r),A.copy(u).multiplyScalar(g.x).addScaledVector(d,-f.x).multiplyScalar(r),l[e].add(m),l[t].add(m),l[i].add(m),c[e].add(A),c[t].add(A),c[i].add(A))}let v=this.groups;0===v.length&&(v=[{start:0,count:i.length}]);for(let e=0,t=v.length;t>e;++e){const t=v[e],n=t.start;for(let e=n,r=n+t.count;r>e;e+=3)y(i[e+0],i[e+1],i[e+2])}const C=new Ke,I=new Ke,x=new Ke,w=new Ke;function M(e){x.fromArray(r,3*e),w.copy(x);const t=l[e];C.copy(t),C.sub(x.multiplyScalar(x.dot(t))).normalize(),I.crossVectors(w,t);const i=0>I.dot(c[e])?-1:1;s[4*e]=C.x,s[4*e+1]=C.y,s[4*e+2]=C.z,s[4*e+3]=i}for(let e=0,t=v.length;t>e;++e){const t=v[e],n=t.start;for(let e=n,r=n+t.count;r>e;e+=3)M(i[e+0]),M(i[e+1]),M(i[e+2])}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(void 0!==t){let i=this.getAttribute("normal");if(void 0===i)i=new Ai(new Float32Array(3*t.count),3),this.setAttribute("normal",i);else for(let e=0,t=i.count;t>e;e++)i.setXYZ(e,0,0,0);const n=new Ke,r=new Ke,o=new Ke,a=new Ke,s=new Ke,l=new Ke,c=new Ke,h=new Ke;if(e)for(let d=0,u=e.count;u>d;d+=3){const u=e.getX(d+0),p=e.getX(d+1),g=e.getX(d+2);n.fromBufferAttribute(t,u),r.fromBufferAttribute(t,p),o.fromBufferAttribute(t,g),c.subVectors(o,r),h.subVectors(n,r),c.cross(h),a.fromBufferAttribute(i,u),s.fromBufferAttribute(i,p),l.fromBufferAttribute(i,g),a.add(c),s.add(c),l.add(c),i.setXYZ(u,a.x,a.y,a.z),i.setXYZ(p,s.x,s.y,s.z),i.setXYZ(g,l.x,l.y,l.z)}else for(let e=0,a=t.count;a>e;e+=3)n.fromBufferAttribute(t,e+0),r.fromBufferAttribute(t,e+1),o.fromBufferAttribute(t,e+2),c.subVectors(o,r),h.subVectors(n,r),c.cross(h),i.setXYZ(e+0,c.x,c.y,c.z),i.setXYZ(e+1,c.x,c.y,c.z),i.setXYZ(e+2,c.x,c.y,c.z);this.normalizeNormals(),i.needsUpdate=!0}}merge(e,t){if(!e||!e.isBufferGeometry)return void console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",e);void 0===t&&(t=0,console.warn("THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge."));const i=this.attributes;for(const n in i){if(void 0===e.attributes[n])continue;const r=i[n].array,o=e.attributes[n],a=o.array,s=o.itemSize*t,l=Math.min(a.length,r.length-s);for(let e=0,t=s;l>e;e++,t++)r[t]=a[e]}return this}normalizeNormals(){const e=this.attributes.normal;for(let t=0,i=e.count;i>t;t++)Oi.fromBufferAttribute(e,t),Oi.normalize(),e.setXYZ(t,Oi.x,Oi.y,Oi.z)}toNonIndexed(){function e(e,t){const i=e.array,n=e.itemSize,r=e.normalized,o=new i.constructor(t.length*n);let a=0,s=0;for(let e=0,r=t.length;r>e;e++){a=t[e]*n;for(let e=0;n>e;e++)o[s++]=i[a++]}return new Ai(o,n,r)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new Ni,i=this.index.array,n=this.attributes;for(const r in n){const o=e(n[r],i);t.setAttribute(r,o)}const r=this.morphAttributes;for(const n in r){const o=[],a=r[n];for(let t=0,n=a.length;n>t;t++){const n=e(a[t],i);o.push(n)}t.morphAttributes[n]=o}t.morphTargetsRelative=this.morphTargetsRelative;const o=this.groups;for(let e=0,i=o.length;i>e;e++){const i=o[e];t.addGroup(i.start,i.count,i.materialIndex)}return t}toJSON(){const e={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const i in t)void 0!==t[i]&&(e[i]=t[i]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const i=this.attributes;for(const t in i){e.data.attributes[t]=i[t].toJSON(e.data)}const n={};let r=!1;for(const t in this.morphAttributes){const i=this.morphAttributes[t],o=[];for(let t=0,n=i.length;n>t;t++){o.push(i[t].toJSON(e.data))}o.length>0&&(n[t]=o,r=!0)}r&&(e.data.morphAttributes=n,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return null!==a&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return(new Ni).copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const t={};this.name=e.name;const i=e.index;null!==i&&this.setIndex(i.clone(t));const n=e.attributes;for(const e in n){this.setAttribute(e,n[e].clone(t))}const r=e.morphAttributes;for(const e in r){const i=[],n=r[e];for(let e=0,r=n.length;r>e;e++)i.push(n[e].clone(t));this.morphAttributes[e]=i}this.morphTargetsRelative=e.morphTargetsRelative;const o=e.groups;for(let e=0,t=o.length;t>e;e++){const t=o[e];this.addGroup(t.start,t.count,t.materialIndex)}const a=e.boundingBox;null!==a&&(this.boundingBox=a.clone());const s=e.boundingSphere;return null!==s&&(this.boundingSphere=s.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}Ni.prototype.isBufferGeometry=!0;const Pi=new yt,Gi=new At,Ki=new ct,Vi=new Ke,Yi=new Ke,Hi=new Ke,ji=new Ke,Wi=new Ke,Ji=new Ke,zi=new Ke,qi=new Ke,Zi=new Ke,Xi=new ke,_i=new ke,$i=new ke,en=new Ke,tn=new Ke;class nn extends Yt{constructor(e=new Ni,t=new gi){super(),this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes,i=Object.keys(t);if(i.length>0){const e=t[i[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,i=e.length;i>t;t++){const i=e[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[i]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(e,t){const i=this.geometry,n=this.material,r=this.matrixWorld;if(void 0===n)return;if(null===i.boundingSphere&&i.computeBoundingSphere(),Ki.copy(i.boundingSphere),Ki.applyMatrix4(r),!1===e.ray.intersectsSphere(Ki))return;if(Pi.copy(r).invert(),Gi.copy(e.ray).applyMatrix4(Pi),null!==i.boundingBox&&!1===Gi.intersectsBox(i.boundingBox))return;let o;if(i.isBufferGeometry){const r=i.index,a=i.attributes.position,s=i.morphAttributes.position,l=i.morphTargetsRelative,c=i.attributes.uv,h=i.attributes.uv2,d=i.groups,u=i.drawRange;if(null!==r)if(Array.isArray(n))for(let i=0,p=d.length;p>i;i++){const p=d[i],g=n[p.materialIndex];for(let i=Math.max(p.start,u.start),n=Math.min(p.start+p.count,u.start+u.count);n>i;i+=3){const n=r.getX(i),d=r.getX(i+1),u=r.getX(i+2);o=rn(this,g,e,Gi,a,s,l,c,h,n,d,u),o&&(o.faceIndex=Math.floor(i/3),o.face.materialIndex=p.materialIndex,t.push(o))}}else{for(let i=Math.max(0,u.start),d=Math.min(r.count,u.start+u.count);d>i;i+=3){const d=r.getX(i),u=r.getX(i+1),p=r.getX(i+2);o=rn(this,n,e,Gi,a,s,l,c,h,d,u,p),o&&(o.faceIndex=Math.floor(i/3),t.push(o))}}else if(void 0!==a)if(Array.isArray(n))for(let i=0,r=d.length;r>i;i++){const r=d[i],p=n[r.materialIndex];for(let i=Math.max(r.start,u.start),n=Math.min(r.start+r.count,u.start+u.count);n>i;i+=3){o=rn(this,p,e,Gi,a,s,l,c,h,i,i+1,i+2),o&&(o.faceIndex=Math.floor(i/3),o.face.materialIndex=r.materialIndex,t.push(o))}}else{for(let i=Math.max(0,u.start),r=Math.min(a.count,u.start+u.count);r>i;i+=3){o=rn(this,n,e,Gi,a,s,l,c,h,i,i+1,i+2),o&&(o.faceIndex=Math.floor(i/3),t.push(o))}}}else i.isGeometry&&console.error("THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}function rn(e,t,i,n,r,o,a,s,l,c,h,d){Vi.fromBufferAttribute(r,c),Yi.fromBufferAttribute(r,h),Hi.fromBufferAttribute(r,d);const u=e.morphTargetInfluences;if(t.morphTargets&&o&&u){zi.set(0,0,0),qi.set(0,0,0),Zi.set(0,0,0);for(let e=0,t=o.length;t>e;e++){const t=u[e],i=o[e];0!==t&&(ji.fromBufferAttribute(i,c),Wi.fromBufferAttribute(i,h),Ji.fromBufferAttribute(i,d),a?(zi.addScaledVector(ji,t),qi.addScaledVector(Wi,t),Zi.addScaledVector(Ji,t)):(zi.addScaledVector(ji.sub(Vi),t),qi.addScaledVector(Wi.sub(Yi),t),Zi.addScaledVector(Ji.sub(Hi),t)))}Vi.add(zi),Yi.add(qi),Hi.add(Zi)}e.isSkinnedMesh&&(e.boneTransform(c,Vi),e.boneTransform(h,Yi),e.boneTransform(d,Hi));const p=function(e,t,i,n,r,o,a,s){let l;if(l=1===t.side?n.intersectTriangle(a,o,r,!0,s):n.intersectTriangle(r,o,a,2!==t.side,s),null===l)return null;tn.copy(s),tn.applyMatrix4(e.matrixWorld);const c=i.ray.origin.distanceTo(tn);return i.near>c||c>i.far?null:{distance:c,point:tn.clone(),object:e}}(e,t,i,n,Vi,Yi,Hi,en);if(p){s&&(Xi.fromBufferAttribute(s,c),_i.fromBufferAttribute(s,h),$i.fromBufferAttribute(s,d),p.uv=ri.getUV(en,Vi,Yi,Hi,Xi,_i,$i,new ke)),l&&(Xi.fromBufferAttribute(l,c),_i.fromBufferAttribute(l,h),$i.fromBufferAttribute(l,d),p.uv2=ri.getUV(en,Vi,Yi,Hi,Xi,_i,$i,new ke));const e={a:c,b:h,c:d,normal:new Ke,materialIndex:0};ri.getNormal(Vi,Yi,Hi,e.normal),p.face=e}return p}nn.prototype.isMesh=!0;class on extends Ni{constructor(e=1,t=1,i=1,n=1,r=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:i,widthSegments:n,heightSegments:r,depthSegments:o};const a=this;n=Math.floor(n),r=Math.floor(r),o=Math.floor(o);const s=[],l=[],c=[],h=[];let d=0,u=0;function p(e,t,i,n,r,o,p,g,f,m,A){const y=o/f,v=p/m,C=o/2,I=p/2,x=g/2,w=f+1,M=m+1;let E=0,B=0;const S=new Ke;for(let o=0;M>o;o++){const a=o*v-I;for(let s=0;w>s;s++){S[e]=(s*y-C)*n,S[t]=a*r,S[i]=x,l.push(S.x,S.y,S.z),S[e]=0,S[t]=0,S[i]=g>0?1:-1,c.push(S.x,S.y,S.z),h.push(s/f),h.push(1-o/m),E+=1}}for(let e=0;m>e;e++)for(let t=0;f>t;t++){const i=d+t+w*(e+1),n=d+(t+1)+w*(e+1),r=d+(t+1)+w*e;s.push(d+t+w*e,i,r),s.push(i,n,r),B+=6}a.addGroup(u,B,A),u+=B,d+=E}p("z","y","x",-1,-1,i,t,e,o,r,0),p("z","y","x",1,-1,i,t,-e,o,r,1),p("x","z","y",1,1,e,i,t,n,o,2),p("x","z","y",1,-1,e,i,-t,n,o,3),p("x","y","z",1,-1,e,t,i,n,r,4),p("x","y","z",-1,-1,e,t,-i,n,r,5),this.setIndex(s),this.setAttribute("position",new Bi(l,3)),this.setAttribute("normal",new Bi(c,3)),this.setAttribute("uv",new Bi(h,2))}}function an(e){const t={};for(const i in e){t[i]={};for(const n in e[i]){const r=e[i][n];t[i][n]=r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture||r.isQuaternion)?r.clone():Array.isArray(r)?r.slice():r}}return t}function sn(e){const t={};for(let i=0;e.length>i;i++){const n=an(e[i]);for(const e in n)t[e]=n[e]}return t}const ln={clone:an,merge:sn};class cn extends ai{constructor(e){super(),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.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,this.glslVersion=null,void 0!==e&&(void 0!==e.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(e))}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=an(e.uniforms),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.lights=e.lights,this.clipping=e.clipping,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const i in this.uniforms){const n=this.uniforms[i].value;t.uniforms[i]=n&&n.isTexture?{type:"t",value:n.toJSON(e).uuid}:n&&n.isColor?{type:"c",value:n.getHex()}:n&&n.isVector2?{type:"v2",value:n.toArray()}:n&&n.isVector3?{type:"v3",value:n.toArray()}:n&&n.isVector4?{type:"v4",value:n.toArray()}:n&&n.isMatrix3?{type:"m3",value:n.toArray()}:n&&n.isMatrix4?{type:"m4",value:n.toArray()}:{value:n}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;const i={};for(const e in this.extensions)!0===this.extensions[e]&&(i[e]=!0);return Object.keys(i).length>0&&(t.extensions=i),t}}cn.prototype.isShaderMaterial=!0;class hn extends Yt{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new yt,this.projectionMatrix=new yt,this.projectionMatrixInverse=new yt}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){void 0===e&&(console.warn("THREE.Camera: .getWorldDirection() target is now required"),e=new Ke),this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}hn.prototype.isCamera=!0;class dn extends hn{constructor(e=50,t=1,i=.1,n=2e3){super(),this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=i,this.far=n,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*Ce*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*ve*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*Ce*Math.atan(Math.tan(.5*ve*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,i,n,r,o){this.aspect=e/t,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=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=n,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*ve*this.fov)/this.zoom,i=2*t,n=this.aspect*i,r=-.5*n;const o=this.view;if(null!==this.view&&this.view.enabled){const e=o.fullWidth,a=o.fullHeight;r+=o.offsetX*n/e,t-=o.offsetY*i/a,n*=o.width/e,i*=o.height/a}const a=this.filmOffset;0!==a&&(r+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+n,t,t-i,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.fov=this.fov,t.object.zoom=this.zoom,t.object.near=this.near,t.object.far=this.far,t.object.focus=this.focus,t.object.aspect=this.aspect,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}dn.prototype.isPerspectiveCamera=!0;const un=90;class pn extends Yt{constructor(e,t,i){if(super(),this.type="CubeCamera",!0!==i.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=i;const n=new dn(un,1,e,t);n.layers=this.layers,n.up.set(0,-1,0),n.lookAt(new Ke(1,0,0)),this.add(n);const r=new dn(un,1,e,t);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new Ke(-1,0,0)),this.add(r);const o=new dn(un,1,e,t);o.layers=this.layers,o.up.set(0,0,1),o.lookAt(new Ke(0,1,0)),this.add(o);const a=new dn(un,1,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new Ke(0,-1,0)),this.add(a);const s=new dn(un,1,e,t);s.layers=this.layers,s.up.set(0,-1,0),s.lookAt(new Ke(0,0,1)),this.add(s);const l=new dn(un,1,e,t);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new Ke(0,0,-1)),this.add(l)}update(e,t){null===this.parent&&this.updateMatrixWorld();const i=this.renderTarget,[n,r,o,a,s,l]=this.children,c=e.xr.enabled,h=e.getRenderTarget();e.xr.enabled=!1;const d=i.texture.generateMipmaps;i.texture.generateMipmaps=!1,e.setRenderTarget(i,0),e.render(t,n),e.setRenderTarget(i,1),e.render(t,r),e.setRenderTarget(i,2),e.render(t,o),e.setRenderTarget(i,3),e.render(t,a),e.setRenderTarget(i,4),e.render(t,s),i.texture.generateMipmaps=d,e.setRenderTarget(i,5),e.render(t,l),e.setRenderTarget(h),e.xr.enabled=c}}class gn extends Fe{constructor(e,t,i,n,r,o,a,s,c,h){super(e=void 0!==e?e:[],t=void 0!==t?t:l,i,n,r,o,a=void 0!==a?a:k,s,c,h),this._needsFlipEnvMap=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}gn.prototype.isCubeTexture=!0;class fn extends Oe{constructor(e,t,i){Number.isInteger(t)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),t=i),super(e,e,t),this.texture=new gn(void 0,(t=t||{}).mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:C,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.format=D,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const i={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},n=new on(5,5,5),r=new cn({name:"CubemapFromEquirect",uniforms:an(i.uniforms),vertexShader:i.vertexShader,fragmentShader:i.fragmentShader,side:1,blending:0});r.uniforms.tEquirect.value=t;const o=new nn(n,r),a=t.minFilter;t.minFilter===x&&(t.minFilter=C);return new pn(1,10,this).update(e,o),t.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,i,n){const r=e.getRenderTarget();for(let r=0;6>r;r++)e.setRenderTarget(this,r),e.clear(t,i,n);e.setRenderTarget(r)}}fn.prototype.isWebGLCubeRenderTarget=!0;const mn=new ct,An=new Ke;class yn{constructor(e=new Jt,t=new Jt,i=new Jt,n=new Jt,r=new Jt,o=new Jt){this.planes=[e,t,i,n,r,o]}set(e,t,i,n,r,o){const a=this.planes;return a[0].copy(e),a[1].copy(t),a[2].copy(i),a[3].copy(n),a[4].copy(r),a[5].copy(o),this}copy(e){const t=this.planes;for(let i=0;6>i;i++)t[i].copy(e.planes[i]);return this}setFromProjectionMatrix(e){const t=this.planes,i=e.elements,n=i[0],r=i[1],o=i[2],a=i[3],s=i[4],l=i[5],c=i[6],h=i[7],d=i[8],u=i[9],p=i[10],g=i[11],f=i[12],m=i[13],A=i[14],y=i[15];return t[0].setComponents(a-n,h-s,g-d,y-f).normalize(),t[1].setComponents(a+n,h+s,g+d,y+f).normalize(),t[2].setComponents(a+r,h+l,g+u,y+m).normalize(),t[3].setComponents(a-r,h-l,g-u,y-m).normalize(),t[4].setComponents(a-o,h-c,g-p,y-A).normalize(),t[5].setComponents(a+o,h+c,g+p,y+A).normalize(),this}intersectsObject(e){const t=e.geometry;return null===t.boundingSphere&&t.computeBoundingSphere(),mn.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(mn)}intersectsSprite(e){return mn.center.set(0,0,0),mn.radius=.7071067811865476,mn.applyMatrix4(e.matrixWorld),this.intersectsSphere(mn)}intersectsSphere(e){const t=this.planes,i=e.center,n=-e.radius;for(let e=0;6>e;e++){if(n>t[e].distanceToPoint(i))return!1}return!0}intersectsBox(e){const t=this.planes;for(let i=0;6>i;i++){const n=t[i];if(An.x=n.normal.x>0?e.max.x:e.min.x,An.y=n.normal.y>0?e.max.y:e.min.y,An.z=n.normal.z>0?e.max.z:e.min.z,0>n.distanceToPoint(An))return!1}return!0}containsPoint(e){const t=this.planes;for(let i=0;6>i;i++)if(0>t[i].distanceToPoint(e))return!1;return!0}clone(){return(new this.constructor).copy(this)}}function vn(){let e=null,t=!1,i=null,n=null;function r(t,o){i(t,o),n=e.requestAnimationFrame(r)}return{start:function(){!0!==t&&null!==i&&(n=e.requestAnimationFrame(r),t=!0)},stop:function(){e.cancelAnimationFrame(n),t=!1},setAnimationLoop:function(e){i=e},setContext:function(t){e=t}}}function Cn(e,t){const i=t.isWebGL2,n=new WeakMap;return{get:function(e){if(e)return e.isInterleavedBufferAttribute&&(e=e.data),n.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);const i=n.get(t);i&&(e.deleteBuffer(i.buffer),n.delete(t))},update:function(t,r){if(t.isGLBufferAttribute){const e=n.get(t);return void(e&&e.version>=t.version||n.set(t,{buffer:t.buffer,type:t.type,bytesPerElement:t.elementSize,version:t.version}))}t.isInterleavedBufferAttribute&&(t=t.data);const o=n.get(t);void 0===o?n.set(t,function(t,n){const r=t.array,o=t.usage,a=e.createBuffer();e.bindBuffer(n,a),e.bufferData(n,r,o),t.onUploadCallback();let s=5126;return r instanceof Float32Array?s=5126:r instanceof Float64Array?console.warn("THREE.WebGLAttributes: Unsupported data buffer format: Float64Array."):r instanceof Uint16Array?t.isFloat16BufferAttribute?i?s=5131:console.warn("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2."):s=5123:r instanceof Int16Array?s=5122:r instanceof Uint32Array?s=5125:r instanceof Int32Array?s=5124:r instanceof Int8Array?s=5120:(r instanceof Uint8Array||r instanceof Uint8ClampedArray)&&(s=5121),{buffer:a,type:s,bytesPerElement:r.BYTES_PER_ELEMENT,version:t.version}}(t,r)):t.version>o.version&&(!function(t,n,r){const o=n.array,a=n.updateRange;e.bindBuffer(r,t),-1===a.count?e.bufferSubData(r,0,o):(i?e.bufferSubData(r,a.offset*o.BYTES_PER_ELEMENT,o,a.offset,a.count):e.bufferSubData(r,a.offset*o.BYTES_PER_ELEMENT,o.subarray(a.offset,a.offset+a.count)),a.count=-1)}(o.buffer,t,r),o.version=t.version)}}}class In extends Ni{constructor(e=1,t=1,i=1,n=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:i,heightSegments:n};const r=e/2,o=t/2,a=Math.floor(i),s=Math.floor(n),l=a+1,c=s+1,h=e/a,d=t/s,u=[],p=[],g=[],f=[];for(let e=0;c>e;e++){const t=e*d-o;for(let i=0;l>i;i++){p.push(i*h-r,-t,0),g.push(0,0,1),f.push(i/a),f.push(1-e/s)}}for(let e=0;s>e;e++)for(let t=0;a>t;t++){const i=t+l*(e+1),n=t+1+l*(e+1),r=t+1+l*e;u.push(t+l*e,i,r),u.push(i,n,r)}this.setIndex(u),this.setAttribute("position",new Bi(p,3)),this.setAttribute("normal",new Bi(g,3)),this.setAttribute("uv",new Bi(f,2))}}const xn={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, float faceDirection ) {\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 ) * faceDirection;\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:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\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\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\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\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#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\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 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#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;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\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\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\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\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;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\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}\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 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\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 ) ), rawDiffuseColor, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), rawDiffuseColor, 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 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\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\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\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\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#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 * faceDirection;\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 * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\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 * faceDirection;\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, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );\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, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\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, faceDirection );\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\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\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\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\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\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\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\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\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\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\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\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\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\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\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\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\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\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#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\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\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\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\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\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\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\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;\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}\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 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttotalTransmission *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSNMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition.xyz / vWorldPosition.w;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n\tfloat ior = ( 1.0 + 0.4 * reflectivity ) / ( 1.0 - 0.4 * reflectivity );\n\tvec3 f0 = vec3( pow( ior - 1.0, 2.0 ) / pow( ior + 1.0, 2.0 ) );\n\tvec3 f90 = vec3( 1.0 );\n\tvec3 f_transmission = totalTransmission * getIBLVolumeRefraction(\n\t\tnormal, v, viewDir, roughnessFactor, diffuseColor.rgb, f0, f90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance);\n\tdiffuseColor.rgb = mix( diffuseColor.rgb, f_transmission, totalTransmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec4 vWorldPosition;\n\tvec3 getVolumeTransmissionRay(vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix) {\n\t\tvec3 refractionVector = refract(-v, normalize(n), 1.0 / ior);\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length(vec3(modelMatrix[0].xyz));\n\t\tmodelScale.y = length(vec3(modelMatrix[1].xyz));\n\t\tmodelScale.z = length(vec3(modelMatrix[2].xyz));\n\t\treturn normalize(refractionVector) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness(float roughness, float ior) {\n\t\treturn roughness * clamp(ior * 2.0 - 2.0, 0.0, 1.0);\n\t}\n\tvec3 getTransmissionSample(vec2 fragCoord, float roughness, float ior) {\n\t\tfloat framebufferLod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness, ior);\n\t\treturn texture2DLodEXT(transmissionSamplerMap, fragCoord.xy, framebufferLod).rgb;\n\t}\n\tvec3 applyVolumeAttenuation(vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance) {\n\t\tif (attenuationDistance == 0.0) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log(attenuationColor) / attenuationDistance;\n\t\t\tvec3 transmittance = exp(-attenuationCoefficient * transmissionDistance);\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec3 getIBLVolumeRefraction(vec3 n, vec3 v, vec3 viewDir, float perceptualRoughness, vec3 baseColor, vec3 f0, vec3 f90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness, vec3 attenuationColor, float attenuationDistance) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay(n, v, thickness, ior, modelMatrix);\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4(refractedRayExit, 1.0);\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec3 transmittedLight = getTransmissionSample(refractionCoords, perceptualRoughness, ior);\n\t\tvec3 attenuatedColor = applyVolumeAttenuation(transmittedLight, length(transmissionRay), attenuationColor, attenuationDistance);\n\t\tfloat NdotV = saturate(dot(n, viewDir));\n\t\tvec2 brdf = integrateSpecularBRDF(NdotV, perceptualRoughness);\n\t\tvec3 specularColor = f0 * brdf.x + f90 * brdf.y;\n\t\treturn (1.0 - specularColor) * attenuatedColor * baseColor;\n\t}\n#endif",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 ) || defined ( USE_TRANSMISSION )\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 = equirectUv( direction );\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 <morphtarget_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 <morphtarget_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 <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 <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\t#include <dithering_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\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 <dithering_pars_fragment>\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\t#include <dithering_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 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 <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 <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 + 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#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform vec3 attenuationColor;\n\tuniform float attenuationDistance;\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 <transmission_pars_fragment>\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#ifdef USE_TRANSMISSION\n\t\tfloat totalTransmission = transmission;\n\t\tfloat thicknessFactor = thickness;\n\t#endif\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\tvec3 rawDiffuseColor = diffuseColor.rgb;\n\t#include <transmission_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\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#ifdef USE_TRANSMISSION\n\tvarying vec4 vWorldPosition;\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#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition;\n#endif\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 <common>\n#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 <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 <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}"},wn={common:{diffuse:{value:new pi(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new De},uv2Transform:{value:new De},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 ke(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 pi(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new pi(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new De}},sprite:{diffuse:{value:new pi(16777215)},opacity:{value:1},center:{value:new ke(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new De}}},Mn={basic:{uniforms:sn([wn.common,wn.specularmap,wn.envmap,wn.aomap,wn.lightmap,wn.fog]),vertexShader:xn.meshbasic_vert,fragmentShader:xn.meshbasic_frag},lambert:{uniforms:sn([wn.common,wn.specularmap,wn.envmap,wn.aomap,wn.lightmap,wn.emissivemap,wn.fog,wn.lights,{emissive:{value:new pi(0)}}]),vertexShader:xn.meshlambert_vert,fragmentShader:xn.meshlambert_frag},phong:{uniforms:sn([wn.common,wn.specularmap,wn.envmap,wn.aomap,wn.lightmap,wn.emissivemap,wn.bumpmap,wn.normalmap,wn.displacementmap,wn.fog,wn.lights,{emissive:{value:new pi(0)},specular:{value:new pi(1118481)},shininess:{value:30}}]),vertexShader:xn.meshphong_vert,fragmentShader:xn.meshphong_frag},standard:{uniforms:sn([wn.common,wn.envmap,wn.aomap,wn.lightmap,wn.emissivemap,wn.bumpmap,wn.normalmap,wn.displacementmap,wn.roughnessmap,wn.metalnessmap,wn.fog,wn.lights,{emissive:{value:new pi(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:xn.meshphysical_vert,fragmentShader:xn.meshphysical_frag},toon:{uniforms:sn([wn.common,wn.aomap,wn.lightmap,wn.emissivemap,wn.bumpmap,wn.normalmap,wn.displacementmap,wn.gradientmap,wn.fog,wn.lights,{emissive:{value:new pi(0)}}]),vertexShader:xn.meshtoon_vert,fragmentShader:xn.meshtoon_frag},matcap:{uniforms:sn([wn.common,wn.bumpmap,wn.normalmap,wn.displacementmap,wn.fog,{matcap:{value:null}}]),vertexShader:xn.meshmatcap_vert,fragmentShader:xn.meshmatcap_frag},points:{uniforms:sn([wn.points,wn.fog]),vertexShader:xn.points_vert,fragmentShader:xn.points_frag},dashed:{uniforms:sn([wn.common,wn.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:xn.linedashed_vert,fragmentShader:xn.linedashed_frag},depth:{uniforms:sn([wn.common,wn.displacementmap]),vertexShader:xn.depth_vert,fragmentShader:xn.depth_frag},normal:{uniforms:sn([wn.common,wn.bumpmap,wn.normalmap,wn.displacementmap,{opacity:{value:1}}]),vertexShader:xn.normal_vert,fragmentShader:xn.normal_frag},sprite:{uniforms:sn([wn.sprite,wn.fog]),vertexShader:xn.sprite_vert,fragmentShader:xn.sprite_frag},background:{uniforms:{uvTransform:{value:new De},t2D:{value:null}},vertexShader:xn.background_vert,fragmentShader:xn.background_frag},cube:{uniforms:sn([wn.envmap,{opacity:{value:1}}]),vertexShader:xn.cube_vert,fragmentShader:xn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:xn.equirect_vert,fragmentShader:xn.equirect_frag},distanceRGBA:{uniforms:sn([wn.common,wn.displacementmap,{referencePosition:{value:new Ke},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:xn.distanceRGBA_vert,fragmentShader:xn.distanceRGBA_frag},shadow:{uniforms:sn([wn.lights,wn.fog,{color:{value:new pi(0)},opacity:{value:1}}]),vertexShader:xn.shadow_vert,fragmentShader:xn.shadow_frag}};function En(e,t,i,n,r){const o=new pi(0);let a,s,l=0,c=null,h=0,d=null;function p(e,t){i.buffers.color.setClear(e.r,e.g,e.b,t,r)}return{getClearColor:function(){return o},setClearColor:function(e,t=1){o.set(e),l=t,p(o,l)},getClearAlpha:function(){return l},setClearAlpha:function(e){l=e,p(o,l)},render:function(i,r){let g=!1,f=!0===r.isScene?r.background:null;f&&f.isTexture&&(f=t.get(f));const m=e.xr,A=m.getSession&&m.getSession();A&&"additive"===A.environmentBlendMode&&(f=null),null===f?p(o,l):f&&f.isColor&&(p(f,1),g=!0),(e.autoClear||g)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),f&&(f.isCubeTexture||f.mapping===u)?(void 0===s&&(s=new nn(new on(1,1,1),new cn({name:"BackgroundCubeMaterial",uniforms:an(Mn.cube.uniforms),vertexShader:Mn.cube.vertexShader,fragmentShader:Mn.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),s.geometry.deleteAttribute("normal"),s.geometry.deleteAttribute("uv"),s.onBeforeRender=function(e,t,i){this.matrixWorld.copyPosition(i.matrixWorld)},Object.defineProperty(s.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),n.update(s)),s.material.uniforms.envMap.value=f,s.material.uniforms.flipEnvMap.value=f.isCubeTexture&&f._needsFlipEnvMap?-1:1,c===f&&h===f.version&&d===e.toneMapping||(s.material.needsUpdate=!0,c=f,h=f.version,d=e.toneMapping),i.unshift(s,s.geometry,s.material,0,0,null)):f&&f.isTexture&&(void 0===a&&(a=new nn(new In(2,2),new cn({name:"BackgroundMaterial",uniforms:an(Mn.background.uniforms),vertexShader:Mn.background.vertexShader,fragmentShader:Mn.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),n.update(a)),a.material.uniforms.t2D.value=f,!0===f.matrixAutoUpdate&&f.updateMatrix(),a.material.uniforms.uvTransform.value.copy(f.matrix),c===f&&h===f.version&&d===e.toneMapping||(a.material.needsUpdate=!0,c=f,h=f.version,d=e.toneMapping),i.unshift(a,a.geometry,a.material,0,0,null))}}}function Bn(e,t,i,n){const r=e.getParameter(34921),o=n.isWebGL2?null:t.get("OES_vertex_array_object"),a=n.isWebGL2||null!==o,s={},l=u(null);let c=l;function h(t){return n.isWebGL2?e.bindVertexArray(t):o.bindVertexArrayOES(t)}function d(t){return n.isWebGL2?e.deleteVertexArray(t):o.deleteVertexArrayOES(t)}function u(e){const t=[],i=[],n=[];for(let e=0;r>e;e++)t[e]=0,i[e]=0,n[e]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:t,enabledAttributes:i,attributeDivisors:n,object:e,attributes:{},index:null}}function p(){const e=c.newAttributes;for(let t=0,i=e.length;i>t;t++)e[t]=0}function g(e){f(e,0)}function f(i,r){const o=c.enabledAttributes,a=c.attributeDivisors;if(c.newAttributes[i]=1,0===o[i]&&(e.enableVertexAttribArray(i),o[i]=1),a[i]!==r){(n.isWebGL2?e:t.get("ANGLE_instanced_arrays"))[n.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](i,r),a[i]=r}}function m(){const t=c.newAttributes,i=c.enabledAttributes;for(let n=0,r=i.length;r>n;n++)i[n]!==t[n]&&(e.disableVertexAttribArray(n),i[n]=0)}function A(t,i,r,o,a,s){!0!==n.isWebGL2||5124!==r&&5125!==r?e.vertexAttribPointer(t,i,r,o,a,s):e.vertexAttribIPointer(t,i,r,a,s)}function y(){v(),c!==l&&(c=l,h(c.object))}function v(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(r,l,d,y,v){let C=!1;if(a){const t=function(t,i,r){const a=!0===r.wireframe;let l=s[t.id];void 0===l&&(l={},s[t.id]=l);let c=l[i.id];void 0===c&&(c={},l[i.id]=c);let h=c[a];void 0===h&&(h=u(function(){if(n.isWebGL2)return e.createVertexArray();return o.createVertexArrayOES()}()),c[a]=h);return h}(y,d,l);c!==t&&(c=t,h(c.object)),C=function(e,t){const i=c.attributes,n=e.attributes;let r=0;for(const e in n){const t=i[e],o=n[e];if(void 0===t)return!0;if(t.attribute!==o)return!0;if(t.data!==o.data)return!0;r++}if(c.attributesNum!==r)return!0;if(c.index!==t)return!0;return!1}(y,v),C&&function(e,t){const i={},n=e.attributes;let r=0;for(const e in n){const t=n[e],o={};o.attribute=t,t.data&&(o.data=t.data),i[e]=o,r++}c.attributes=i,c.attributesNum=r,c.index=t}(y,v)}else{const e=!0===l.wireframe;c.geometry===y.id&&c.program===d.id&&c.wireframe===e||(c.geometry=y.id,c.program=d.id,c.wireframe=e,C=!0)}!0===r.isInstancedMesh&&(C=!0),null!==v&&i.update(v,34963),C&&(!function(r,o,a,s){if(!1===n.isWebGL2&&(r.isInstancedMesh||s.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;p();const l=s.attributes,c=a.getAttributes(),h=o.defaultAttributeValues;for(const t in c){const n=c[t];if(n>=0){const o=l[t];if(void 0!==o){const t=o.normalized,r=o.itemSize,a=i.get(o);if(void 0===a)continue;const l=a.buffer,c=a.type,h=a.bytesPerElement;if(o.isInterleavedBufferAttribute){const i=o.data,a=i.stride,d=o.offset;i&&i.isInstancedInterleavedBuffer?(f(n,i.meshPerAttribute),void 0===s._maxInstanceCount&&(s._maxInstanceCount=i.meshPerAttribute*i.count)):g(n),e.bindBuffer(34962,l),A(n,r,c,t,a*h,d*h)}else o.isInstancedBufferAttribute?(f(n,o.meshPerAttribute),void 0===s._maxInstanceCount&&(s._maxInstanceCount=o.meshPerAttribute*o.count)):g(n),e.bindBuffer(34962,l),A(n,r,c,t,0,0)}else if("instanceMatrix"===t){const t=i.get(r.instanceMatrix);if(void 0===t)continue;const o=t.buffer,a=t.type;f(n+0,1),f(n+1,1),f(n+2,1),f(n+3,1),e.bindBuffer(34962,o),e.vertexAttribPointer(n+0,4,a,!1,64,0),e.vertexAttribPointer(n+1,4,a,!1,64,16),e.vertexAttribPointer(n+2,4,a,!1,64,32),e.vertexAttribPointer(n+3,4,a,!1,64,48)}else if("instanceColor"===t){const t=i.get(r.instanceColor);if(void 0===t)continue;const o=t.buffer,a=t.type;f(n,1),e.bindBuffer(34962,o),e.vertexAttribPointer(n,3,a,!1,12,0)}else if(void 0!==h){const i=h[t];if(void 0!==i)switch(i.length){case 2:e.vertexAttrib2fv(n,i);break;case 3:e.vertexAttrib3fv(n,i);break;case 4:e.vertexAttrib4fv(n,i);break;default:e.vertexAttrib1fv(n,i)}}}}m()}(r,l,d,y),null!==v&&e.bindBuffer(34963,i.get(v).buffer))},reset:y,resetDefaultState:v,dispose:function(){y();for(const e in s){const t=s[e];for(const e in t){const i=t[e];for(const e in i)d(i[e].object),delete i[e];delete t[e]}delete s[e]}},releaseStatesOfGeometry:function(e){if(void 0===s[e.id])return;const t=s[e.id];for(const e in t){const i=t[e];for(const e in i)d(i[e].object),delete i[e];delete t[e]}delete s[e.id]},releaseStatesOfProgram:function(e){for(const t in s){const i=s[t];if(void 0===i[e.id])continue;const n=i[e.id];for(const e in n)d(n[e].object),delete n[e];delete i[e.id]}},initAttributes:p,enableAttribute:g,disableUnusedAttributes:m}}function Sn(e,t,i,n){const r=e.getParameter(34921),o=n.isWebGL2?null:t.get("OES_vertex_array_object"),a=n.isWebGL2||null!==o,s={},l=u(null);let c=l;function h(t){return n.isWebGL2?e.bindVertexArray(t):o.bindVertexArrayOES(t)}function d(t){return n.isWebGL2?e.deleteVertexArray(t):o.deleteVertexArrayOES(t)}function u(e){const t=[],i=[],n=[];for(let e=0;r>e;e++)t[e]=0,i[e]=0,n[e]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:t,enabledAttributes:i,attributeDivisors:n,object:e,attributes:{},index:null}}function p(){const e=c.newAttributes;for(let t=0,i=e.length;i>t;t++)e[t]=0}function g(e){f(e,0)}function f(i,r){const o=c.enabledAttributes,a=c.attributeDivisors;if(c.newAttributes[i]=1,0===o[i]&&(e.enableVertexAttribArray(i),o[i]=1),a[i]!==r){(n.isWebGL2?e:t.get("ANGLE_instanced_arrays"))[n.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](i,r),a[i]=r}}function m(){const t=c.newAttributes,i=c.enabledAttributes;for(let n=0,r=i.length;r>n;n++)i[n]!==t[n]&&(e.disableVertexAttribArray(n),i[n]=0)}function A(t,i,r,o,a,s){!0!==n.isWebGL2||5124!==r&&5125!==r?e.vertexAttribPointer(t,i,r,o,a,s):e.vertexAttribIPointer(t,i,r,a,s)}function y(){v(),c!==l&&(c=l,h(c.object))}function v(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(r,l,d,y,v,C){let I=!1;if(a){const t=function(t,i,r){const a=!0===r.wireframe;let l=s[t.id];void 0===l&&(l={},s[t.id]=l);let c=l[i.id];void 0===c&&(c={},l[i.id]=c);let h=c[a];void 0===h&&(h=u(function(){if(n.isWebGL2)return e.createVertexArray();return o.createVertexArrayOES()}()),c[a]=h);return h}(y,d,l);c!==t&&(c=t,h(c.object)),I=function(e,t){const i=c.attributes,n=e.attributes;let r=0;for(const e in n){const t=i[e],o=n[e];if(void 0===t)return!0;if(t.attribute!==o)return!0;if(t.data!==o.data)return!0;r++}if(c.attributesNum!==r)return!0;if(c.index!==t)return!0;return!1}(y,v),I&&function(e,t){const i={},n=e.attributes;let r=0;for(const e in n){const t=n[e],o={};o.attribute=t,t.data&&(o.data=t.data),i[e]=o,r++}c.attributes=i,c.attributesNum=r,c.index=t}(y,v)}else{const e=!0===l.wireframe;c.geometry===y.id&&c.program===d.id&&c.wireframe===e||(c.geometry=y.id,c.program=d.id,c.wireframe=e,I=!0)}!0===r.isInstancedMesh&&(I=!0),null!==v&&i.update(v,34963),I&&(!function(r,o,a,s,l){if(!1===n.isWebGL2&&(r.isInstancedMesh||s.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;p();const c=s.attributes,h=a.getAttributes(),d=o.defaultAttributeValues;for(const t in h){const n=h[t];if(n>=0){const o=c[t];if(void 0!==o){const t=o.normalized,r=o.itemSize,a=i.get(o);if(void 0===a)continue;const l=a.buffer,c=a.type,h=a.bytesPerElement;if(o.isInterleavedBufferAttribute){const i=o.data,a=i.stride,d=o.offset;i&&i.isInstancedInterleavedBuffer?(f(n,i.meshPerAttribute),void 0===s._maxInstanceCount&&(s._maxInstanceCount=i.meshPerAttribute*i.count)):g(n),e.bindBuffer(34962,l),A(n,r,c,t,a*h,d*h)}else o.isInstancedBufferAttribute?(f(n,o.meshPerAttribute),void 0===s._maxInstanceCount&&(s._maxInstanceCount=o.meshPerAttribute*o.count)):g(n),e.bindBuffer(34962,l),A(n,r,c,t,0,0)}else if("instanceMatrix"===t){if(void 0===(u=i.get(null!=l?r.instanceMatrices[l]:r.instanceMatrix)))continue;const t=u.buffer,o=u.type;f(n+0,1),f(n+1,1),f(n+2,1),f(n+3,1),e.bindBuffer(34962,t),e.vertexAttribPointer(n+0,4,o,!1,64,0),e.vertexAttribPointer(n+1,4,o,!1,64,16),e.vertexAttribPointer(n+2,4,o,!1,64,32),e.vertexAttribPointer(n+3,4,o,!1,64,48)}else if("instanceColor"===t){if(void 0===(u=i.get(null!=l?r.instanceColors[l]:r.instanceColor)))continue;const t=u.buffer,o=u.type;f(n,1),e.bindBuffer(34962,t),e.vertexAttribPointer(n,4,o,!1,16,0)}else if("instanceShows"===t||"instanceDiffuses"===t){var u;if(void 0===(u=i.get(null!=l?r[t][l]:r[t])))continue;const o=u.buffer,a=u.type;f(n,1),e.bindBuffer(34962,o),e.vertexAttribPointer(n,4,a,!1,16,0)}else if(void 0!==d){const i=d[t];if(void 0!==i)switch(i.length){case 2:e.vertexAttrib2fv(n,i);break;case 3:e.vertexAttrib3fv(n,i);break;case 4:e.vertexAttrib4fv(n,i);break;default:e.vertexAttrib1fv(n,i)}}}}m()}(r,l,d,y,null!==C?C.instanceIndex:null),null!==v&&e.bindBuffer(34963,i.get(v).buffer))},reset:y,resetDefaultState:v,dispose:function(){y();for(const e in s){const t=s[e];for(const e in t){const i=t[e];for(const e in i)d(i[e].object),delete i[e];delete t[e]}delete s[e]}},releaseStatesOfGeometry:function(e){if(void 0===s[e.id])return;const t=s[e.id];for(const e in t){const i=t[e];for(const e in i)d(i[e].object),delete i[e];delete t[e]}delete s[e.id]},releaseStatesOfProgram:function(e){for(const t in s){const i=s[t];if(void 0===i[e.id])continue;const n=i[e.id];for(const e in n)d(n[e].object),delete n[e];delete i[e.id]}},initAttributes:p,enableAttribute:g,disableUnusedAttributes:m}}function bn(e,t,i,n){const r=n.isWebGL2;let o;this.setMode=function(e){o=e},this.render=function(t,n){e.drawArrays(o,t,n),i.update(n,o,1)},this.renderInstances=function(n,a,s){if(0===s)return;let l,c;if(r)l=e,c="drawArraysInstanced";else if(l=t.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](o,n,a,s),i.update(a,o,s)}}function kn(e,t,i){let n;function r(t){if("highp"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const o="undefined"!=typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&e instanceof WebGL2ComputeRenderingContext;let a=void 0!==i.precision?i.precision:"highp";const s=r(a);s!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",s,"instead."),a=s);const l=o||t.has("WEBGL_draw_buffers"),c=!0===i.logarithmicDepthBuffer,h=e.getParameter(34930),d=e.getParameter(35660),u=e.getParameter(3379),p=e.getParameter(34076),g=e.getParameter(34921),f=e.getParameter(36347),m=e.getParameter(36348),A=e.getParameter(36349),y=d>0,v=o||t.has("OES_texture_float");return{isWebGL2:o,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==n)return n;if(!0===t.has("EXT_texture_filter_anisotropic")){const i=t.get("EXT_texture_filter_anisotropic");n=e.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else n=0;return n},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:d,maxTextureSize:u,maxCubemapSize:p,maxAttributes:g,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:A,vertexTextures:y,floatFragmentTextures:v,floatVertexTextures:y&&v,maxSamples:o?e.getParameter(36183):0}}function Dn(e){const t=this;let i=null,n=0,r=!1,o=!1;const a=new Jt,s=new De,l={value:null,needsUpdate:!1};function c(){l.value!==i&&(l.value=i,l.needsUpdate=n>0),t.numPlanes=n,t.numIntersection=0}function h(e,i,n,r){const o=null!==e?e.length:0;let c=null;if(0!==o){if(c=l.value,!0!==r||null===c){const t=n+4*o,r=i.matrixWorldInverse;s.getNormalMatrix(r),(null===c||t>c.length)&&(c=new Float32Array(t));for(let t=0,i=n;t!==o;++t,i+=4)a.copy(e[t]).applyMatrix4(r,s),a.normal.toArray(c,i),c[i+3]=a.constant}l.value=c,l.needsUpdate=!0}return t.numPlanes=o,t.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t,o){const a=0!==e.length||t||0!==n||r;return r=t,i=h(e,o,0),n=e.length,a},this.beginShadows=function(){o=!0,h(null)},this.endShadows=function(){o=!1,c()},this.setState=function(t,a,s){const d=t.clippingPlanes,u=t.clipIntersection,p=t.clipShadows,g=e.get(t);if(!r||null===d||0===d.length||o&&!p)o?h(null):c();else{const e=o?0:n,t=4*e;let r=g.clippingState||null;l.value=r,r=h(d,a,t,s);for(let e=0;e!==t;++e)r[e]=i[e];g.clippingState=r,this.numIntersection=u?this.numPlanes:0,this.numPlanes+=e}}}function Tn(e){let t=new WeakMap;function i(e,t){return t===h?e.mapping=l:t===d&&(e.mapping=c),e}function n(e){const i=e.target;i.removeEventListener("dispose",n);const r=t.get(i);void 0!==r&&(t.delete(i),r.dispose())}return{get:function(r){if(r&&r.isTexture){const o=r.mapping;if(o===h||o===d){if(t.has(r)){return i(t.get(r).texture,r.mapping)}{const o=r.image;if(o&&o.height>0){const a=e.getRenderTarget(),s=new fn(o.height/2);return s.fromEquirectangularTexture(e,r),t.set(r,s),e.setRenderTarget(a),r.addEventListener("dispose",n),i(s.texture,r.mapping)}return null}}}return r},dispose:function(){t=new WeakMap}}}function Rn(e){const t={};function i(i){if(void 0!==t[i])return t[i];let n;switch(i){case"WEBGL_depth_texture":n=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=e.getExtension(i)}return t[i]=n,n}return{has:function(e){return null!==i(e)},init:function(e){e.isWebGL2?i("EXT_color_buffer_float"):(i("WEBGL_depth_texture"),i("OES_texture_float"),i("OES_texture_half_float"),i("OES_texture_half_float_linear"),i("OES_standard_derivatives"),i("OES_element_index_uint"),i("OES_vertex_array_object"),i("ANGLE_instanced_arrays")),i("OES_texture_float_linear"),i("EXT_color_buffer_half_float")},get:function(e){const t=i(e);return null===t&&console.warn("THREE.WebGLRenderer: "+e+" extension not supported."),t}}}function Un(e,t,i,n){const r={},o=new WeakMap;function a(e){const s=e.target;null!==s.index&&t.remove(s.index);for(const e in s.attributes)t.remove(s.attributes[e]);s.removeEventListener("dispose",a),delete r[s.id];const l=o.get(s);l&&(t.remove(l),o.delete(s)),n.releaseStatesOfGeometry(s),!0===s.isInstancedBufferGeometry&&delete s._maxInstanceCount,i.memory.geometries--}function s(e){const i=[],n=e.index,r=e.attributes.position;let a=0;if(null!==n){const e=n.array;a=n.version;for(let t=0,n=e.length;n>t;t+=3){const n=e[t+0],r=e[t+1],o=e[t+2];i.push(n,r,r,o,o,n)}}else{a=r.version;for(let e=0,t=r.array.length/3-1;t>e;e+=3){const t=e+0,n=e+1,r=e+2;i.push(t,n,n,r,r,t)}}const s=new(bi(i)>65535?Mi:xi)(i,1);s.version=a;const l=o.get(e);l&&t.remove(l),o.set(e,s)}return{get:function(e,t){return!0===r[t.id]||(t.addEventListener("dispose",a),r[t.id]=!0,i.memory.geometries++),t},update:function(e){const i=e.attributes;for(const e in i)t.update(i[e],34962);const n=e.morphAttributes;for(const e in n){const i=n[e];for(let e=0,n=i.length;n>e;e++)t.update(i[e],34962)}},getWireframeAttribute:function(e){const t=o.get(e);if(t){const i=e.index;null!==i&&i.version>t.version&&s(e)}else s(e);return o.get(e)}}}function Fn(e,t,i,n){const r=n.isWebGL2;let o,a,s;this.setMode=function(e){o=e},this.setIndex=function(e){a=e.type,s=e.bytesPerElement},this.render=function(t,n){e.drawElements(o,n,a,t*s),i.update(n,o,1)},this.renderInstances=function(n,l,c){if(0===c)return;let h,d;if(r)h=e,d="drawElementsInstanced";else if(h=t.get("ANGLE_instanced_arrays"),d="drawElementsInstancedANGLE",null===h)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");h[d](o,l,a,n*s,c),i.update(l,o,c)}}function Qn(e){const t={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:t,programs:null,autoReset:!0,reset:function(){t.frame++,t.calls=0,t.triangles=0,t.points=0,t.lines=0},update:function(e,i,n){switch(t.calls++,i){case 4:t.triangles+=n*(e/3);break;case 1:t.lines+=n*(e/2);break;case 3:t.lines+=n*(e-1);break;case 2:t.lines+=n*e;break;case 0:t.points+=n*e;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",i)}}}}function Ln(e,t){return e[0]-t[0]}function On(e,t){return Math.abs(t[1])-Math.abs(e[1])}function Nn(e){const t={},i=new Float32Array(8),n=[];for(let e=0;8>e;e++)n[e]=[e,0];return{update:function(r,o,a,s){const l=r.morphTargetInfluences,c=void 0===l?0:l.length;let h=t[o.id];if(void 0===h){h=[];for(let e=0;c>e;e++)h[e]=[e,0];t[o.id]=h}for(let e=0;c>e;e++){const t=h[e];t[0]=e,t[1]=l[e]}h.sort(On);for(let e=0;8>e;e++)c>e&&h[e][1]?(n[e][0]=h[e][0],n[e][1]=h[e][1]):(n[e][0]=Number.MAX_SAFE_INTEGER,n[e][1]=0);n.sort(Ln);const d=a.morphTargets&&o.morphAttributes.position,u=a.morphNormals&&o.morphAttributes.normal;let p=0;for(let e=0;8>e;e++){const t=n[e],r=t[0],a=t[1];r!==Number.MAX_SAFE_INTEGER&&a?(d&&o.getAttribute("morphTarget"+e)!==d[r]&&o.setAttribute("morphTarget"+e,d[r]),u&&o.getAttribute("morphNormal"+e)!==u[r]&&o.setAttribute("morphNormal"+e,u[r]),i[e]=a,p+=a):(d&&!0===o.hasAttribute("morphTarget"+e)&&o.deleteAttribute("morphTarget"+e),u&&!0===o.hasAttribute("morphNormal"+e)&&o.deleteAttribute("morphNormal"+e),i[e]=0)}const g=o.morphTargetsRelative?1:1-p;s.getUniforms().setValue(e,"morphTargetBaseInfluence",g),s.getUniforms().setValue(e,"morphTargetInfluences",i)}}}function Pn(e,t,i,n){let r=new WeakMap;function o(e){const t=e.target;t.removeEventListener("dispose",o),i.remove(t.instanceMatrix),null!==t.instanceColor&&i.remove(t.instanceColor)}return{update:function(e){const a=n.render.frame,s=t.get(e,e.geometry);return r.get(s)!==a&&(t.update(s),r.set(s,a)),e.isInstancedMesh&&(!1===e.hasEventListener("dispose",o)&&e.addEventListener("dispose",o),i.update(e.instanceMatrix,34962),null!==e.instanceColor&&i.update(e.instanceColor,34962)),s},dispose:function(){r=new WeakMap}}}function Gn(e,t,i,n){let r=new WeakMap;function o(e){const t=e.target;t.removeEventListener("dispose",o),i.remove(t.instanceMatrix),null!==t.instanceColor&&i.remove(t.instanceColor)}return{update:function(e){const a=n.render.frame,s=t.get(e,e.geometry);if(r.get(s)!==a&&(t.update(s),r.set(s,a)),e.isInstancedMesh){if(!1===e.hasEventListener("dispose",o)&&e.addEventListener("dispose",o),i.update(e.instanceMatrix,34962),null!==e.instanceColor&&i.update(e.instanceColor,34962),e.instanceMatrices)for(var l=0;e.instanceMatrices.length>l;++l)i.update(e.instanceMatrices[l],34962);if(e.instanceColors)for(l=0;e.instanceColors.length>l;++l)i.update(e.instanceColors[l],34962);if(e.instanceShows)for(l=0;e.instanceShows.length>l;++l)i.update(e.instanceShows[l],34962);if(e.instanceDiffuses)for(l=0;e.instanceDiffuses.length>l;++l)i.update(e.instanceDiffuses[l],34962)}return s},dispose:function(){r=new WeakMap}}}Mn.physical={uniforms:sn([Mn.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new ke(1,1)},clearcoatNormalMap:{value:null},sheen:{value:new pi(0)},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new ke},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new pi(0)}}]),vertexShader:xn.meshphysical_vert,fragmentShader:xn.meshphysical_frag};class Kn extends Fe{constructor(e=null,t=1,i=1,n=1){super(null),this.image={data:e,width:t,height:i,depth:n},this.magFilter=A,this.minFilter=A,this.wrapR=f,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}Kn.prototype.isDataTexture2DArray=!0;class Vn extends Fe{constructor(e=null,t=1,i=1,n=1){super(null),this.image={data:e,width:t,height:i,depth:n},this.magFilter=A,this.minFilter=A,this.wrapR=f,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}Vn.prototype.isDataTexture3D=!0;const Yn=new Fe,Hn=new Kn,jn=new Vn,Wn=new gn,Jn=[],zn=[],qn=new Float32Array(16),Zn=new Float32Array(9),Xn=new Float32Array(4);function _n(e,t,i){const n=e[0];if(0>=n||n>0)return e;const r=t*i;let o=Jn[r];if(void 0===o&&(o=new Float32Array(r),Jn[r]=o),0!==t){n.toArray(o,0);for(let n=1,r=0;n!==t;++n)r+=i,e[n].toArray(o,r)}return o}function $n(e,t){if(e.length!==t.length)return!1;for(let i=0,n=e.length;n>i;i++)if(e[i]!==t[i])return!1;return!0}function er(e,t){for(let i=0,n=t.length;n>i;i++)e[i]=t[i]}function tr(e,t){let i=zn[t];void 0===i&&(i=new Int32Array(t),zn[t]=i);for(let n=0;n!==t;++n)i[n]=e.allocateTextureUnit();return i}function ir(e,t){const i=this.cache;i[0]!==t&&(e.uniform1f(this.addr,t),i[0]=t)}function nr(e,t){const i=this.cache;if(void 0!==t.x)i[0]===t.x&&i[1]===t.y||(e.uniform2f(this.addr,t.x,t.y),i[0]=t.x,i[1]=t.y);else{if($n(i,t))return;e.uniform2fv(this.addr,t),er(i,t)}}function rr(e,t){const i=this.cache;if(void 0!==t.x)i[0]===t.x&&i[1]===t.y&&i[2]===t.z||(e.uniform3f(this.addr,t.x,t.y,t.z),i[0]=t.x,i[1]=t.y,i[2]=t.z);else if(void 0!==t.r)i[0]===t.r&&i[1]===t.g&&i[2]===t.b||(e.uniform3f(this.addr,t.r,t.g,t.b),i[0]=t.r,i[1]=t.g,i[2]=t.b);else{if($n(i,t))return;e.uniform3fv(this.addr,t),er(i,t)}}function or(e,t){const i=this.cache;if(void 0!==t.x)i[0]===t.x&&i[1]===t.y&&i[2]===t.z&&i[3]===t.w||(e.uniform4f(this.addr,t.x,t.y,t.z,t.w),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=t.w);else{if($n(i,t))return;e.uniform4fv(this.addr,t),er(i,t)}}function ar(e,t){const i=this.cache,n=t.elements;if(void 0===n){if($n(i,t))return;e.uniformMatrix2fv(this.addr,!1,t),er(i,t)}else{if($n(i,n))return;Xn.set(n),e.uniformMatrix2fv(this.addr,!1,Xn),er(i,n)}}function sr(e,t){const i=this.cache,n=t.elements;if(void 0===n){if($n(i,t))return;e.uniformMatrix3fv(this.addr,!1,t),er(i,t)}else{if($n(i,n))return;Zn.set(n),e.uniformMatrix3fv(this.addr,!1,Zn),er(i,n)}}function lr(e,t){const i=this.cache,n=t.elements;if(void 0===n){if($n(i,t))return;e.uniformMatrix4fv(this.addr,!1,t),er(i,t)}else{if($n(i,n))return;qn.set(n),e.uniformMatrix4fv(this.addr,!1,qn),er(i,n)}}function cr(e,t){const i=this.cache;i[0]!==t&&(e.uniform1i(this.addr,t),i[0]=t)}function hr(e,t){const i=this.cache;$n(i,t)||(e.uniform2iv(this.addr,t),er(i,t))}function dr(e,t){const i=this.cache;$n(i,t)||(e.uniform3iv(this.addr,t),er(i,t))}function ur(e,t){const i=this.cache;$n(i,t)||(e.uniform4iv(this.addr,t),er(i,t))}function pr(e,t){const i=this.cache;i[0]!==t&&(e.uniform1ui(this.addr,t),i[0]=t)}function gr(e,t){const i=this.cache;$n(i,t)||(e.uniform2uiv(this.addr,t),er(i,t))}function fr(e,t){const i=this.cache;$n(i,t)||(e.uniform3uiv(this.addr,t),er(i,t))}function mr(e,t){const i=this.cache;$n(i,t)||(e.uniform4uiv(this.addr,t),er(i,t))}function Ar(e,t,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(e.uniform1i(this.addr,r),n[0]=r),i.safeSetTexture2D(t||Yn,r)}function yr(e,t,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(e.uniform1i(this.addr,r),n[0]=r),i.setTexture3D(t||jn,r)}function vr(e,t,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(e.uniform1i(this.addr,r),n[0]=r),i.safeSetTextureCube(t||Wn,r)}function Cr(e,t,i){const n=this.cache,r=i.allocateTextureUnit();n[0]!==r&&(e.uniform1i(this.addr,r),n[0]=r),i.setTexture2DArray(t||Hn,r)}function Ir(e,t){e.uniform1fv(this.addr,t)}function xr(e,t){const i=_n(t,this.size,2);e.uniform2fv(this.addr,i)}function wr(e,t){const i=_n(t,this.size,3);e.uniform3fv(this.addr,i)}function Mr(e,t){const i=_n(t,this.size,4);e.uniform4fv(this.addr,i)}function Er(e,t){const i=_n(t,this.size,4);e.uniformMatrix2fv(this.addr,!1,i)}function Br(e,t){const i=_n(t,this.size,9);e.uniformMatrix3fv(this.addr,!1,i)}function Sr(e,t){const i=_n(t,this.size,16);e.uniformMatrix4fv(this.addr,!1,i)}function br(e,t){e.uniform1iv(this.addr,t)}function kr(e,t){e.uniform2iv(this.addr,t)}function Dr(e,t){e.uniform3iv(this.addr,t)}function Tr(e,t){e.uniform4iv(this.addr,t)}function Rr(e,t){e.uniform1uiv(this.addr,t)}function Ur(e,t){e.uniform2uiv(this.addr,t)}function Fr(e,t){e.uniform3uiv(this.addr,t)}function Qr(e,t){e.uniform4uiv(this.addr,t)}function Lr(e,t,i){const n=t.length,r=tr(i,n);e.uniform1iv(this.addr,r);for(let e=0;e!==n;++e)i.safeSetTexture2D(t[e]||Yn,r[e])}function Or(e,t,i){const n=t.length,r=tr(i,n);e.uniform1iv(this.addr,r);for(let e=0;e!==n;++e)i.safeSetTextureCube(t[e]||Wn,r[e])}function Nr(e,t,i){this.id=e,this.addr=i,this.cache=[],this.setValue=function(e){switch(e){case 5126:return ir;case 35664:return nr;case 35665:return rr;case 35666:return or;case 35674:return ar;case 35675:return sr;case 35676:return lr;case 5124:case 35670:return cr;case 35667:case 35671:return hr;case 35668:case 35672:return dr;case 35669:case 35673:return ur;case 5125:return pr;case 36294:return gr;case 36295:return fr;case 36296:return mr;case 35678:case 36198:case 36298:case 36306:case 35682:return Ar;case 35679:case 36299:case 36307:return yr;case 35680:case 36300:case 36308:case 36293:return vr;case 36289:case 36303:case 36311:case 36292:return Cr}}(t.type)}function Pr(e,t,i){this.id=e,this.addr=i,this.cache=[],this.size=t.size,this.setValue=function(e){switch(e){case 5126:return Ir;case 35664:return xr;case 35665:return wr;case 35666:return Mr;case 35674:return Er;case 35675:return Br;case 35676:return Sr;case 5124:case 35670:return br;case 35667:case 35671:return kr;case 35668:case 35672:return Dr;case 35669:case 35673:return Tr;case 5125:return Rr;case 36294:return Ur;case 36295:return Fr;case 36296:return Qr;case 35678:case 36198:case 36298:case 36306:case 35682:return Lr;case 35680:case 36300:case 36308:case 36293:return Or}}(t.type)}function Gr(e){this.id=e,this.seq=[],this.map={}}Pr.prototype.updateCache=function(e){const t=this.cache;e instanceof Float32Array&&t.length!==e.length&&(this.cache=new Float32Array(e.length)),er(t,e)},Gr.prototype.setValue=function(e,t,i){const n=this.seq;for(let r=0,o=n.length;r!==o;++r){const o=n[r];o.setValue(e,t[o.id],i)}};const Kr=/(\w+)(\])?(\[|\.)?/g;function Vr(e,t){e.seq.push(t),e.map[t.id]=t}function Yr(e,t,i){const n=e.name,r=n.length;for(Kr.lastIndex=0;;){const o=Kr.exec(n),a=Kr.lastIndex;let s=o[1];const l=o[3];if("]"===o[2]&&(s|=0),void 0===l||"["===l&&a+2===r){Vr(i,void 0===l?new Nr(s,e,t):new Pr(s,e,t));break}{let e=i.map[s];void 0===e&&(e=new Gr(s),Vr(i,e)),i=e}}}function Hr(e,t){this.seq=[],this.map={};const i=e.getProgramParameter(t,35718);for(let n=0;i>n;++n){const i=e.getActiveUniform(t,n);Yr(i,e.getUniformLocation(t,i.name),this)}}function jr(e,t,i){const n=e.createShader(t);return e.shaderSource(n,i),e.compileShader(n),n}Hr.prototype.setValue=function(e,t,i,n){const r=this.map[t];void 0!==r&&r.setValue(e,i,n)},Hr.prototype.setOptional=function(e,t,i){const n=t[i];void 0!==n&&this.setValue(e,i,n)},Hr.upload=function(e,t,i,n){for(let r=0,o=t.length;r!==o;++r){const o=t[r],a=i[o.id];!1!==a.needsUpdate&&o.setValue(e,a.value,n)}},Hr.seqWithValue=function(e,t){const i=[];for(let n=0,r=e.length;n!==r;++n){const r=e[n];r.id in t&&i.push(r)}return i};let Wr=0;function Jr(e){switch(e){case X:return["Linear","( value )"];case _:return["sRGB","( value )"];case ee:return["RGBE","( value )"];case te:return["RGBM","( value, 7.0 )"];case ie:return["RGBM","( value, 16.0 )"];case ne:return["RGBD","( value, 256.0 )"];case $:return["Gamma","( value, float( GAMMA_FACTOR ) )"];case 3003:return["LogLuv","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",e),["Linear","( value )"]}}function zr(e,t,i){const n=e.getShaderParameter(t,35713),r=e.getShaderInfoLog(t).trim();if(n&&""===r)return"";return"THREE.WebGLShader: gl.getShaderInfoLog() "+i+"\n"+r+function(e){const t=e.split("\n");for(let e=0;t.length>e;e++)t[e]=e+1+": "+t[e];return t.join("\n")}(e.getShaderSource(t))}function qr(e,t){const i=Jr(t);return"vec4 "+e+"( vec4 value ) { return "+i[0]+"ToLinear"+i[1]+"; }"}function Zr(e,t){const i=Jr(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+i[0]+i[1]+"; }"}function Xr(e,t){let i;switch(t){case 1:i="Linear";break;case 2:i="Reinhard";break;case 3:i="OptimizedCineon";break;case 4:i="ACESFilmic";break;case 5:i="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),i="Linear"}return"vec3 "+e+"( vec3 color ) { return "+i+"ToneMapping( color ); }"}function _r(e){return""!==e}function $r(e,t){return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function eo(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const to=/^[ \t]*#include +<([\w\d./]+)>/gm;function io(e){return e.replace(to,no)}function no(e,t){const i=xn[t];if(void 0===i)throw new Error("Can not resolve #include <"+t+">");return io(i)}const ro=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,oo=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function ao(e){return e.replace(oo,lo).replace(ro,so)}function so(e,t,i,n){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),lo(e,t,i,n)}function lo(e,t,i,n){let r="";for(let e=parseInt(t);e<parseInt(i);e++)r+=n.replace(/\[\s*i\s*\]/g,"[ "+e+" ]").replace(/UNROLLED_LOOP_INDEX/g,e);return r}function co(e){let t="precision "+e.precision+" float;\nprecision "+e.precision+" int;";return"highp"===e.precision?t+="\n#define HIGH_PRECISION":"mediump"===e.precision?t+="\n#define MEDIUM_PRECISION":"lowp"===e.precision&&(t+="\n#define LOW_PRECISION"),t}function ho(e,t,i,n){const r=e.getContext(),o=i.defines;let a=i.vertexShader,s=i.fragmentShader;const h=function(e){let t="SHADOWMAP_TYPE_BASIC";return 1===e.shadowMapType?t="SHADOWMAP_TYPE_PCF":2===e.shadowMapType?t="SHADOWMAP_TYPE_PCF_SOFT":3===e.shadowMapType&&(t="SHADOWMAP_TYPE_VSM"),t}(i),d=function(e){let t="ENVMAP_TYPE_CUBE";if(e.envMap)switch(e.envMapMode){case l:case c:t="ENVMAP_TYPE_CUBE";break;case u:case p:t="ENVMAP_TYPE_CUBE_UV"}return t}(i),g=function(e){let t="ENVMAP_MODE_REFLECTION";if(e.envMap)switch(e.envMapMode){case c:case p:t="ENVMAP_MODE_REFRACTION"}return t}(i),f=function(e){let t="ENVMAP_BLENDING_NONE";if(e.envMap)switch(e.combine){case 0:t="ENVMAP_BLENDING_MULTIPLY";break;case 1:t="ENVMAP_BLENDING_MIX";break;case 2:t="ENVMAP_BLENDING_ADD"}return t}(i),m=e.gammaFactor>0?e.gammaFactor:1,A=i.isWebGL2?"":function(e){return[e.extensionDerivatives||e.envMapCubeUV||e.bumpMap||e.tangentSpaceNormalMap||e.clearcoatNormalMap||e.flatShading||"physical"===e.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(e.extensionShaderTextureLOD||e.envMap||e.transmission>0)&&e.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(_r).join("\n")}(i),y=function(e){const t=[];for(const i in e){const n=e[i];!1!==n&&t.push("#define "+i+" "+n)}return t.join("\n")}(o),v=r.createProgram();let C,I,x=i.glslVersion?"#version "+i.glslVersion+"\n":"";i.isRawShaderMaterial?(C=[y].filter(_r).join("\n"),C.length>0&&(C+="\n"),I=[A,y].filter(_r).join("\n"),I.length>0&&(I+="\n")):(C=[co(i),"#define SHADER_NAME "+i.shaderName,y,i.instancing?"#define USE_INSTANCING":"",i.instancingColor?"#define USE_INSTANCING_COLOR":"",i.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+m,"#define MAX_BONES "+i.maxBones,i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp2?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+g:"",i.lightMap?"#define USE_LIGHTMAP":"",i.aoMap?"#define USE_AOMAP":"",i.emissiveMap?"#define USE_EMISSIVEMAP":"",i.bumpMap?"#define USE_BUMPMAP":"",i.normalMap?"#define USE_NORMALMAP":"",i.normalMap&&i.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",i.normalMap&&i.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",i.clearcoatMap?"#define USE_CLEARCOATMAP":"",i.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",i.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",i.displacementMap&&i.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",i.specularMap?"#define USE_SPECULARMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alphaMap?"#define USE_ALPHAMAP":"",i.transmission?"#define USE_TRANSMISSION":"",i.transmissionMap?"#define USE_TRANSMISSIONMAP":"",i.thicknessMap?"#define USE_THICKNESSMAP":"",i.vertexTangents?"#define USE_TANGENT":"",i.vertexColors?"#define USE_COLOR":"",i.vertexAlphas?"#define USE_COLOR_ALPHA":"",i.vertexUvs?"#define USE_UV":"",i.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",i.flatShading?"#define FLAT_SHADED":"",i.skinning?"#define USE_SKINNING":"",i.useVertexTexture?"#define BONE_TEXTURE":"",i.morphTargets?"#define USE_MORPHTARGETS":"",i.morphNormals&&!1===i.flatShading?"#define USE_MORPHNORMALS":"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"",i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+h:"",i.sizeAttenuation?"#define USE_SIZEATTENUATION":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&i.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","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( 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(_r).join("\n"),I=[A,co(i),"#define SHADER_NAME "+i.shaderName,y,i.alphaTest?"#define ALPHATEST "+i.alphaTest+(i.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+m,i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp2?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.matcap?"#define USE_MATCAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+d:"",i.envMap?"#define "+g:"",i.envMap?"#define "+f:"",i.lightMap?"#define USE_LIGHTMAP":"",i.aoMap?"#define USE_AOMAP":"",i.emissiveMap?"#define USE_EMISSIVEMAP":"",i.bumpMap?"#define USE_BUMPMAP":"",i.normalMap?"#define USE_NORMALMAP":"",i.normalMap&&i.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",i.normalMap&&i.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",i.clearcoatMap?"#define USE_CLEARCOATMAP":"",i.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",i.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",i.specularMap?"#define USE_SPECULARMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alphaMap?"#define USE_ALPHAMAP":"",i.sheen?"#define USE_SHEEN":"",i.transmission?"#define USE_TRANSMISSION":"",i.transmissionMap?"#define USE_TRANSMISSIONMAP":"",i.thicknessMap?"#define USE_THICKNESSMAP":"",i.vertexTangents?"#define USE_TANGENT":"",i.vertexColors||i.instancingColor?"#define USE_COLOR":"",i.vertexAlphas?"#define USE_COLOR_ALPHA":"",i.vertexUvs?"#define USE_UV":"",i.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",i.gradientMap?"#define USE_GRADIENTMAP":"",i.flatShading?"#define FLAT_SHADED":"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"",i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+h:"",i.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",i.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&i.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(i.extensionShaderTextureLOD||i.envMap)&&i.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",0!==i.toneMapping?"#define TONE_MAPPING":"",0!==i.toneMapping?xn.tonemapping_pars_fragment:"",0!==i.toneMapping?Xr("toneMapping",i.toneMapping):"",i.dithering?"#define DITHERING":"",xn.encodings_pars_fragment,i.map?qr("mapTexelToLinear",i.mapEncoding):"",i.matcap?qr("matcapTexelToLinear",i.matcapEncoding):"",i.envMap?qr("envMapTexelToLinear",i.envMapEncoding):"",i.emissiveMap?qr("emissiveMapTexelToLinear",i.emissiveMapEncoding):"",i.lightMap?qr("lightMapTexelToLinear",i.lightMapEncoding):"",Zr("linearToOutputTexel",i.outputEncoding),i.depthPacking?"#define DEPTH_PACKING "+i.depthPacking:"","\n"].filter(_r).join("\n")),a=io(a),a=$r(a,i),a=eo(a,i),s=io(s),s=$r(s,i),s=eo(s,i),a=ao(a),s=ao(s),i.isWebGL2&&!0!==i.isRawShaderMaterial&&(x="#version 300 es\n",C=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+C,I=["#define varying in",i.glslVersion===fe?"":"out highp vec4 pc_fragColor;",i.glslVersion===fe?"":"#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"+I);const w=x+I+s,M=jr(r,35633,x+C+a),E=jr(r,35632,w);if(r.attachShader(v,M),r.attachShader(v,E),void 0!==i.index0AttributeName?r.bindAttribLocation(v,0,i.index0AttributeName):!0===i.morphTargets&&r.bindAttribLocation(v,0,"position"),r.linkProgram(v),e.debug.checkShaderErrors){const e=r.getProgramInfoLog(v).trim(),t=r.getShaderInfoLog(M).trim(),i=r.getShaderInfoLog(E).trim();let n=!0,o=!0;if(!1===r.getProgramParameter(v,35714)){n=!1;const t=zr(r,M,"vertex"),i=zr(r,E,"fragment");console.error("THREE.WebGLProgram: shader error: ",r.getError(),"35715",r.getProgramParameter(v,35715),"gl.getProgramInfoLog",e,t,i)}else""!==e?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",e):""!==t&&""!==i||(o=!1);o&&(this.diagnostics={runnable:n,programLog:e,vertexShader:{log:t,prefix:C},fragmentShader:{log:i,prefix:I}})}let B,S;return r.deleteShader(M),r.deleteShader(E),this.getUniforms=function(){return void 0===B&&(B=new Hr(r,v)),B},this.getAttributes=function(){return void 0===S&&(S=function(e,t){const i={},n=e.getProgramParameter(t,35721);for(let r=0;n>r;r++){const n=e.getActiveAttrib(t,r).name;i[n]=e.getAttribLocation(t,n)}return i}(r,v)),S},this.destroy=function(){n.releaseStatesOfProgram(this),r.deleteProgram(v),this.program=void 0},this.name=i.shaderName,this.id=Wr++,this.cacheKey=t,this.usedTimes=1,this.program=v,this.vertexShader=M,this.fragmentShader=E,this}function uo(e,t,i,n,r,o){const a=[],s=n.isWebGL2,l=n.logarithmicDepthBuffer,c=n.floatVertexTextures,h=n.maxVertexUniforms,d=n.vertexTextures;let g=n.precision;const f={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"},m=["precision","isWebGL2","supportsVertexTextures","outputEncoding","instancing","instancingColor","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","vertexAlphas","vertexTangents","vertexUvs","uvsVertexOnly","fog","useFog","fogExp2","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","numDirLightShadows","numPointLightShadows","numSpotLightShadows","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering","sheen","transmission","transmissionMap","thicknessMap"];function A(e){let t;return e&&e.isTexture?t=e.encoding:e&&e.isWebGLRenderTarget?(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),t=e.texture.encoding):t=X,t}return{getParameters:function(r,a,m,y,v){const C=y.fog,I=t.get(r.envMap||(r.isMeshStandardMaterial?y.environment:null)),x=f[r.type],w=v.isSkinnedMesh?function(e){const t=e.skeleton.bones;if(c)return 1024;{const e=Math.floor((h-20)/4),i=Math.min(e,t.length);return t.length>i?(console.warn("THREE.WebGLRenderer: Skeleton has "+t.length+" bones. This GPU supports "+i+"."),0):i}}(v):0;let M,E;if(null!==r.precision&&(g=n.getMaxPrecision(r.precision),g!==r.precision&&console.warn("THREE.WebGLProgram.getParameters:",r.precision,"not supported, using",g,"instead.")),x){const e=Mn[x];M=e.vertexShader,E=e.fragmentShader}else M=r.vertexShader,E=r.fragmentShader;const B=e.getRenderTarget();return{isWebGL2:s,shaderID:x,shaderName:r.type,vertexShader:M,fragmentShader:E,defines:r.defines,isRawShaderMaterial:!0===r.isRawShaderMaterial,glslVersion:r.glslVersion,precision:g,instancing:!0===v.isInstancedMesh,instancingColor:!0===v.isInstancedMesh&&null!==v.instanceColor,supportsVertexTextures:d,outputEncoding:null!==B?A(B.texture):e.outputEncoding,map:!!r.map,mapEncoding:A(r.map),matcap:!!r.matcap,matcapEncoding:A(r.matcap),envMap:!!I,envMapMode:I&&I.mapping,envMapEncoding:A(I),envMapCubeUV:!!I&&(I.mapping===u||I.mapping===p),lightMap:!!r.lightMap,lightMapEncoding:A(r.lightMap),aoMap:!!r.aoMap,emissiveMap:!!r.emissiveMap,emissiveMapEncoding:A(r.emissiveMap),bumpMap:!!r.bumpMap,normalMap:!!r.normalMap,objectSpaceNormalMap:1===r.normalMapType,tangentSpaceNormalMap:0===r.normalMapType,clearcoatMap:!!r.clearcoatMap,clearcoatRoughnessMap:!!r.clearcoatRoughnessMap,clearcoatNormalMap:!!r.clearcoatNormalMap,displacementMap:!!r.displacementMap,roughnessMap:!!r.roughnessMap,metalnessMap:!!r.metalnessMap,specularMap:!!r.specularMap,alphaMap:!!r.alphaMap,gradientMap:!!r.gradientMap,sheen:!!r.sheen,transmission:!!r.transmission,transmissionMap:!!r.transmissionMap,thicknessMap:!!r.thicknessMap,combine:r.combine,vertexTangents:r.normalMap&&r.vertexTangents,vertexColors:r.vertexColors,vertexAlphas:!0===r.vertexColors&&v.geometry&&v.geometry.attributes.color&&4===v.geometry.attributes.color.itemSize,vertexUvs:!!(r.map||r.bumpMap||r.normalMap||r.specularMap||r.alphaMap||r.emissiveMap||r.roughnessMap||r.metalnessMap||r.clearcoatMap||r.clearcoatRoughnessMap||r.clearcoatNormalMap||r.displacementMap||r.transmission||r.transmissionMap||r.thicknessMap),uvsVertexOnly:!(r.map||r.bumpMap||r.normalMap||r.specularMap||r.alphaMap||r.emissiveMap||r.roughnessMap||r.metalnessMap||r.clearcoatNormalMap||r.transmission||r.transmissionMap||r.thicknessMap||!r.displacementMap),fog:!!C,useFog:r.fog,fogExp2:C&&C.isFogExp2,flatShading:!!r.flatShading,sizeAttenuation:r.sizeAttenuation,logarithmicDepthBuffer:l,skinning:!0===v.isSkinnedMesh&&w>0,maxBones:w,useVertexTexture:c,morphTargets:r.morphTargets,morphNormals:r.morphNormals,numDirLights:a.directional.length,numPointLights:a.point.length,numSpotLights:a.spot.length,numRectAreaLights:a.rectArea.length,numHemiLights:a.hemi.length,numDirLightShadows:a.directionalShadowMap.length,numPointLightShadows:a.pointShadowMap.length,numSpotLightShadows:a.spotShadowMap.length,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:r.dithering,shadowMapEnabled:e.shadowMap.enabled&&m.length>0,shadowMapType:e.shadowMap.type,toneMapping:r.toneMapped?e.toneMapping:0,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:2===r.side,flipSided:1===r.side,depthPacking:void 0!==r.depthPacking&&r.depthPacking,index0AttributeName:r.index0AttributeName,extensionDerivatives:r.extensions&&r.extensions.derivatives,extensionFragDepth:r.extensions&&r.extensions.fragDepth,extensionDrawBuffers:r.extensions&&r.extensions.drawBuffers,extensionShaderTextureLOD:r.extensions&&r.extensions.shaderTextureLOD,rendererExtensionFragDepth:s||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:s||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:s||i.has("EXT_shader_texture_lod"),customProgramCacheKey:r.customProgramCacheKey()}},getProgramCacheKey:function(t){const i=[];if(t.shaderID?i.push(t.shaderID):(i.push(t.fragmentShader),i.push(t.vertexShader)),void 0!==t.defines)for(const e in t.defines)i.push(e),i.push(t.defines[e]);if(!1===t.isRawShaderMaterial){for(let e=0;m.length>e;e++)i.push(t[m[e]]);i.push(e.outputEncoding),i.push(e.gammaFactor)}return i.push(t.customProgramCacheKey),i.join()},getUniforms:function(e){const t=f[e.type];let i;if(t){i=ln.clone(Mn[t].uniforms)}else i=e.uniforms;return i},acquireProgram:function(t,i){let n;for(let e=0,t=a.length;t>e;e++){const t=a[e];if(t.cacheKey===i){n=t,++n.usedTimes;break}}return void 0===n&&(n=new ho(e,i,t,r),a.push(n)),n},releaseProgram:function(e){if(0==--e.usedTimes){const t=a.indexOf(e);a[t]=a[a.length-1],a.pop(),e.destroy()}},programs:a}}function po(){let e=new WeakMap;return{get:function(t){let i=e.get(t);return void 0===i&&(i={},e.set(t,i)),i},remove:function(t){e.delete(t)},update:function(t,i,n){e.get(t)[i]=n},dispose:function(){e=new WeakMap}}}function go(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.program!==t.program?e.program.id-t.program.id:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function fo(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function mo(e){const t=[];let i=0;const n=[],r=[],o=[],a={id:-1};function s(n,r,o,s,l,c){let h=t[i];const d=e.get(o);return void 0===h?(h={id:n.id,object:n,geometry:r,material:o,program:d.program||a,groupOrder:s,renderOrder:n.renderOrder,z:l,group:c},t[i]=h):(h.id=n.id,h.object=n,h.geometry=r,h.material=o,h.program=d.program||a,h.groupOrder=s,h.renderOrder=n.renderOrder,h.z=l,h.group=c),i++,h}return{opaque:n,transmissive:r,transparent:o,init:function(){i=0,n.length=0,r.length=0,o.length=0},push:function(e,t,i,a,l,c){const h=s(e,t,i,a,l,c);i.transmission>0?r.push(h):!0===i.transparent?o.push(h):n.push(h)},unshift:function(e,t,i,a,l,c){const h=s(e,t,i,a,l,c);i.transmission>0?r.unshift(h):!0===i.transparent?o.unshift(h):n.unshift(h)},finish:function(){for(let e=i,n=t.length;n>e;e++){const i=t[e];if(null===i.id)break;i.id=null,i.object=null,i.geometry=null,i.material=null,i.program=null,i.group=null}},sort:function(e,t){n.length>1&&n.sort(e||go),r.length>1&&r.sort(t||fo),o.length>1&&o.sort(t||fo)}}}function Ao(e){let t=new WeakMap;return{get:function(i,n){let r;return!1===t.has(i)?(r=new mo(e),t.set(i,[r])):n<t.get(i).length?r=t.get(i)[n]:(r=new mo(e),t.get(i).push(r)),r},dispose:function(){t=new WeakMap}}}function yo(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let i;switch(t.type){case"DirectionalLight":i={direction:new Ke,color:new pi};break;case"SpotLight":i={position:new Ke,direction:new Ke,color:new pi,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":i={position:new Ke,color:new pi,distance:0,decay:0};break;case"HemisphereLight":i={direction:new Ke,skyColor:new pi,groundColor:new pi};break;case"RectAreaLight":i={color:new pi,position:new Ke,halfWidth:new Ke,halfHeight:new Ke}}return e[t.id]=i,i}}}let vo=0;function Co(e,t){return(t.castShadow?1:0)-(e.castShadow?1:0)}function Io(e,t){const i=new yo,n=function(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let i;switch(t.type){case"DirectionalLight":case"SpotLight":i={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ke};break;case"PointLight":i={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ke,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=i,i}}}(),r={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:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let e=0;9>e;e++)r.probe.push(new Ke);const o=new Ke,a=new yt,s=new yt;return{setup:function(o){let a=0,s=0,l=0;for(let e=0;9>e;e++)r.probe[e].set(0,0,0);let c=0,h=0,d=0,u=0,p=0,g=0,f=0,m=0;o.sort(Co);for(let e=0,t=o.length;t>e;e++){const t=o[e],A=t.color,y=t.intensity,v=t.distance,C=t.shadow&&t.shadow.map?t.shadow.map.texture:null;if(t.isAmbientLight)a+=A.r*y,s+=A.g*y,l+=A.b*y;else if(t.isLightProbe)for(let e=0;9>e;e++)r.probe[e].addScaledVector(t.sh.coefficients[e],y);else if(t.isDirectionalLight){const e=i.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity),t.castShadow){const e=t.shadow,i=n.get(t);i.shadowBias=e.bias,i.shadowNormalBias=e.normalBias,i.shadowRadius=e.radius,i.shadowMapSize=e.mapSize,r.directionalShadow[c]=i,r.directionalShadowMap[c]=C,r.directionalShadowMatrix[c]=t.shadow.matrix,g++}r.directional[c]=e,c++}else if(t.isSpotLight){const e=i.get(t);if(e.position.setFromMatrixPosition(t.matrixWorld),e.color.copy(A).multiplyScalar(y),e.distance=v,e.coneCos=Math.cos(t.angle),e.penumbraCos=Math.cos(t.angle*(1-t.penumbra)),e.decay=t.decay,t.castShadow){const e=t.shadow,i=n.get(t);i.shadowBias=e.bias,i.shadowNormalBias=e.normalBias,i.shadowRadius=e.radius,i.shadowMapSize=e.mapSize,r.spotShadow[d]=i,r.spotShadowMap[d]=C,r.spotShadowMatrix[d]=t.shadow.matrix,m++}r.spot[d]=e,d++}else if(t.isRectAreaLight){const e=i.get(t);e.color.copy(A).multiplyScalar(y),e.halfWidth.set(.5*t.width,0,0),e.halfHeight.set(0,.5*t.height,0),r.rectArea[u]=e,u++}else if(t.isPointLight){const e=i.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity),e.distance=t.distance,e.decay=t.decay,t.castShadow){const e=t.shadow,i=n.get(t);i.shadowBias=e.bias,i.shadowNormalBias=e.normalBias,i.shadowRadius=e.radius,i.shadowMapSize=e.mapSize,i.shadowCameraNear=e.camera.near,i.shadowCameraFar=e.camera.far,r.pointShadow[h]=i,r.pointShadowMap[h]=C,r.pointShadowMatrix[h]=t.shadow.matrix,f++}r.point[h]=e,h++}else if(t.isHemisphereLight){const e=i.get(t);e.skyColor.copy(t.color).multiplyScalar(y),e.groundColor.copy(t.groundColor).multiplyScalar(y),r.hemi[p]=e,p++}}u>0&&(t.isWebGL2||!0===e.has("OES_texture_float_linear")?(r.rectAreaLTC1=wn.LTC_FLOAT_1,r.rectAreaLTC2=wn.LTC_FLOAT_2):!0===e.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=wn.LTC_HALF_1,r.rectAreaLTC2=wn.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=a,r.ambient[1]=s,r.ambient[2]=l;const A=r.hash;A.directionalLength===c&&A.pointLength===h&&A.spotLength===d&&A.rectAreaLength===u&&A.hemiLength===p&&A.numDirectionalShadows===g&&A.numPointShadows===f&&A.numSpotShadows===m||(r.directional.length=c,r.spot.length=d,r.rectArea.length=u,r.point.length=h,r.hemi.length=p,r.directionalShadow.length=g,r.directionalShadowMap.length=g,r.pointShadow.length=f,r.pointShadowMap.length=f,r.spotShadow.length=m,r.spotShadowMap.length=m,r.directionalShadowMatrix.length=g,r.pointShadowMatrix.length=f,r.spotShadowMatrix.length=m,A.directionalLength=c,A.pointLength=h,A.spotLength=d,A.rectAreaLength=u,A.hemiLength=p,A.numDirectionalShadows=g,A.numPointShadows=f,A.numSpotShadows=m,r.version=vo++)},setupView:function(e,t){let i=0,n=0,l=0,c=0,h=0;const d=t.matrixWorldInverse;for(let t=0,u=e.length;u>t;t++){const u=e[t];if(u.isDirectionalLight){const e=r.directional[i];e.direction.setFromMatrixPosition(u.matrixWorld),o.setFromMatrixPosition(u.target.matrixWorld),e.direction.sub(o),e.direction.transformDirection(d),i++}else if(u.isSpotLight){const e=r.spot[l];e.position.setFromMatrixPosition(u.matrixWorld),e.position.applyMatrix4(d),e.direction.setFromMatrixPosition(u.matrixWorld),o.setFromMatrixPosition(u.target.matrixWorld),e.direction.sub(o),e.direction.transformDirection(d),l++}else if(u.isRectAreaLight){const e=r.rectArea[c];e.position.setFromMatrixPosition(u.matrixWorld),e.position.applyMatrix4(d),s.identity(),a.copy(u.matrixWorld),a.premultiply(d),s.extractRotation(a),e.halfWidth.set(.5*u.width,0,0),e.halfHeight.set(0,.5*u.height,0),e.halfWidth.applyMatrix4(s),e.halfHeight.applyMatrix4(s),c++}else if(u.isPointLight){const e=r.point[n];e.position.setFromMatrixPosition(u.matrixWorld),e.position.applyMatrix4(d),n++}else if(u.isHemisphereLight){const e=r.hemi[h];e.direction.setFromMatrixPosition(u.matrixWorld),e.direction.transformDirection(d),e.direction.normalize(),h++}}},state:r}}function xo(e,t){const i=new Io(e,t),n=[],r=[];return{init:function(){n.length=0,r.length=0},state:{lightsArray:n,shadowsArray:r,lights:i},setupLights:function(){i.setup(n)},setupLightsView:function(e){i.setupView(n,e)},pushLight:function(e){n.push(e)},pushShadow:function(e){r.push(e)}}}function wo(e,t){let i=new WeakMap;return{get:function(n,r=0){let o;return!1===i.has(n)?(o=new xo(e,t),i.set(n,[o])):r<i.get(n).length?o=i.get(n)[r]:(o=new xo(e,t),i.get(n).push(o)),o},dispose:function(){i=new WeakMap}}}class Mo extends ai{constructor(e){super(),this.type="MeshDepthMaterial",this.depthPacking=3200,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(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}Mo.prototype.isMeshDepthMaterial=!0;class Eo extends ai{constructor(e){super(),this.type="MeshDistanceMaterial",this.referencePosition=new Ke,this.nearDistance=1,this.farDistance=1e3,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(e)}copy(e){return super.copy(e),this.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.morphTargets=e.morphTargets,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}Eo.prototype.isMeshDistanceMaterial=!0;function Bo(e,t,i){let n=new yn;const r=new ke,o=new ke,a=new Le,s=[],l=[],c={},h=i.maxTextureSize,d={0:1,1:0,2:2},u=new cn({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new ke},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\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),p=u.clone();p.defines.HORIZONTAL_PASS=1;const g=new Ni;g.setAttribute("position",new Ai(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const f=new nn(g,u),m=this;function y(i,n){const r=t.update(f);u.uniforms.shadow_pass.value=i.map.texture,u.uniforms.resolution.value=i.mapSize,u.uniforms.radius.value=i.radius,e.setRenderTarget(i.mapPass),e.clear(),e.renderBufferDirect(n,null,r,u,f,null),p.uniforms.shadow_pass.value=i.mapPass.texture,p.uniforms.resolution.value=i.mapSize,p.uniforms.radius.value=i.radius,e.setRenderTarget(i.map),e.clear(),e.renderBufferDirect(n,null,r,p,f,null)}function v(e){const t=e<<0;let i=s[t];return void 0===i&&(i=new Mo({depthPacking:re,morphTargets:e}),s[t]=i),i}function I(e){const t=e<<0;let i=l[t];return void 0===i&&(i=new Eo({morphTargets:e}),l[t]=i),i}function x(t,i,n,r,o,a,s){let l=null,h=v,u=t.customDepthMaterial;if(!0===r.isPointLight&&(h=I,u=t.customDistanceMaterial),void 0===u){let e=!1;!0===n.morphTargets&&(e=i.morphAttributes&&i.morphAttributes.position&&i.morphAttributes.position.length>0),l=h(e)}else l=u;if(e.localClippingEnabled&&!0===n.clipShadows&&0!==n.clippingPlanes.length){const e=l.uuid,t=n.uuid;let i=c[e];void 0===i&&(i={},c[e]=i);let r=i[t];void 0===r&&(r=l.clone(),i[t]=r),l=r}return l.visible=n.visible,l.wireframe=n.wireframe,l.side=3===s?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:d[n.side],l.clipShadows=n.clipShadows,l.clippingPlanes=n.clippingPlanes,l.clipIntersection=n.clipIntersection,l.wireframeLinewidth=n.wireframeLinewidth,l.linewidth=n.linewidth,!0===r.isPointLight&&!0===l.isMeshDistanceMaterial&&(l.referencePosition.setFromMatrixPosition(r.matrixWorld),l.nearDistance=o,l.farDistance=a),l}function w(i,r,o,a,s){if(!1===i.visible)return;if(i.layers.test(r.layers)&&(i.isMesh||i.isLine||i.isPoints)&&(i.castShadow||i.receiveShadow&&3===s)&&(!i.frustumCulled||n.intersectsObject(i))){i.modelViewMatrix.multiplyMatrices(o.matrixWorldInverse,i.matrixWorld);const n=t.update(i),r=i.material;if(Array.isArray(r)){const t=n.groups;for(let l=0,c=t.length;c>l;l++){const c=t[l],h=r[c.materialIndex];if(h&&h.visible){const t=x(i,n,h,a,o.near,o.far,s);e.renderBufferDirect(o,null,n,t,i,c)}}}else if(r.visible){const t=x(i,n,r,a,o.near,o.far,s);e.renderBufferDirect(o,null,n,t,i,null)}}const l=i.children;for(let e=0,t=l.length;t>e;e++)w(l[e],r,o,a,s)}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=1,this.render=function(t,i,s){if(!1===m.enabled)return;if(!1===m.autoUpdate&&!1===m.needsUpdate)return;if(0===t.length)return;const l=e.getRenderTarget(),c=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),u=e.state;u.setBlending(0),u.buffers.color.setClear(1,1,1,1),u.buffers.depth.setTest(!0),u.setScissorTest(!1);for(let l=0,c=t.length;c>l;l++){const c=t[l],d=c.shadow;if(void 0===d){console.warn("THREE.WebGLShadowMap:",c,"has no shadow.");continue}if(!1===d.autoUpdate&&!1===d.needsUpdate)continue;r.copy(d.mapSize);const p=d.getFrameExtents();if(r.multiply(p),o.copy(d.mapSize),(r.x>h||r.y>h)&&(r.x>h&&(o.x=Math.floor(h/p.x),r.x=o.x*p.x,d.mapSize.x=o.x),r.y>h&&(o.y=Math.floor(h/p.y),r.y=o.y*p.y,d.mapSize.y=o.y)),null===d.map&&!d.isPointLightShadow&&3===this.type){const e={minFilter:C,magFilter:C,format:D};d.map=new Oe(r.x,r.y,e),d.map.texture.name=c.name+".shadowMap",d.mapPass=new Oe(r.x,r.y,e),d.camera.updateProjectionMatrix()}if(null===d.map){d.map=new Oe(r.x,r.y,{minFilter:A,magFilter:A,format:D}),d.map.texture.name=c.name+".shadowMap",d.camera.updateProjectionMatrix()}e.setRenderTarget(d.map),e.clear();const g=d.getViewportCount();for(let e=0;g>e;e++){const t=d.getViewport(e);a.set(o.x*t.x,o.y*t.y,o.x*t.z,o.y*t.w),u.viewport(a),d.updateMatrices(c,e),n=d.getFrustum(),w(i,s,d.camera,c,this.type)}d.isPointLightShadow||3!==this.type||y(d,s),d.needsUpdate=!1}m.needsUpdate=!1,e.setRenderTarget(l,c,d)}}function So(e,t,i){const n=i.isWebGL2;const s=new function(){let t=!1;const i=new Le;let n=null;const r=new Le(0,0,0,0);return{setMask:function(i){n===i||t||(e.colorMask(i,i,i,i),n=i)},setLocked:function(e){t=e},setClear:function(t,n,o,a,s){!0===s&&(t*=a,n*=a,o*=a),i.set(t,n,o,a),!1===r.equals(i)&&(e.clearColor(t,n,o,a),r.copy(i))},reset:function(){t=!1,n=null,r.set(-1,0,0,0)}}},l=new function(){let t=!1,i=null,n=null,r=null;return{setTest:function(e){e?G(2929):K(2929)},setMask:function(n){i===n||t||(e.depthMask(n),i=n)},setFunc:function(t){if(n!==t){if(t)switch(t){case 0:e.depthFunc(512);break;case 1:e.depthFunc(519);break;case 2:e.depthFunc(513);break;case 3:e.depthFunc(515);break;case 4:e.depthFunc(514);break;case 5:e.depthFunc(518);break;case 6:e.depthFunc(516);break;case 7:e.depthFunc(517);break;default:e.depthFunc(515)}else e.depthFunc(515);n=t}},setLocked:function(e){t=e},setClear:function(t){r!==t&&(e.clearDepth(t),r=t)},reset:function(){t=!1,i=null,n=null,r=null}}},c=new function(){let t=!1,i=null,n=null,r=null,o=null,a=null,s=null,l=null,c=null;return{setTest:function(e){t||(e?G(2960):K(2960))},setMask:function(n){i===n||t||(e.stencilMask(n),i=n)},setFunc:function(t,i,a){n===t&&r===i&&o===a||(e.stencilFunc(t,i,a),n=t,r=i,o=a)},setOp:function(t,i,n){a===t&&s===i&&l===n||(e.stencilOp(t,i,n),a=t,s=i,l=n)},setLocked:function(e){t=e},setClear:function(t){c!==t&&(e.clearStencil(t),c=t)},reset:function(){t=!1,i=null,n=null,r=null,o=null,a=null,s=null,l=null,c=null}}};let h={},d=null,u={},p=null,g=!1,f=null,m=null,A=null,y=null,v=null,C=null,I=null,x=!1,w=null,M=null,E=null,B=null,S=null;const b=e.getParameter(35661);let k=!1,D=0;const T=e.getParameter(7938);-1!==T.indexOf("WebGL")?(D=parseFloat(/^WebGL (\d)/.exec(T)[1]),k=D>=1):-1!==T.indexOf("OpenGL ES")&&(D=parseFloat(/^OpenGL ES (\d)/.exec(T)[1]),k=D>=2);let R=null,U={};const F=e.getParameter(3088),Q=e.getParameter(2978),L=(new Le).fromArray(F),O=(new Le).fromArray(Q);function N(t,i,n){const r=new Uint8Array(4),o=e.createTexture();e.bindTexture(t,o),e.texParameteri(t,10241,9728),e.texParameteri(t,10240,9728);for(let t=0;n>t;t++)e.texImage2D(i+t,0,6408,1,1,0,6408,5121,r);return o}const P={};function G(t){!0!==h[t]&&(e.enable(t),h[t]=!0)}function K(t){!1!==h[t]&&(e.disable(t),h[t]=!1)}P[3553]=N(3553,3553,1),P[34067]=N(34067,34069,6),s.setClear(0,0,0,1),l.setClear(1),c.setClear(0),G(2929),l.setFunc(3),j(!1),W(1),G(2884),H(0);const V={[r]:32774,101:32778,102:32779};if(n)V[103]=32775,V[104]=32776;else{const e=t.get("EXT_blend_minmax");null!==e&&(V[103]=e.MIN_EXT,V[104]=e.MAX_EXT)}const Y={[o]:0,[a]:1,202:768,204:770,210:776,208:774,206:772,203:769,205:771,209:775,207:773};function H(t,i,n,o,a,s,l,c){if(0!==t){if(!1===g&&(G(3042),g=!0),5===t)a=a||i,s=s||n,l=l||o,i===m&&a===v||(e.blendEquationSeparate(V[i],V[a]),m=i,v=a),n===A&&o===y&&s===C&&l===I||(e.blendFuncSeparate(Y[n],Y[o],Y[s],Y[l]),A=n,y=o,C=s,I=l),f=t,x=null;else if(t!==f||c!==x){if(m===r&&v===r||(e.blendEquation(32774),m=r,v=r),c)switch(t){case 1:e.blendFuncSeparate(1,771,1,771);break;case 2:e.blendFunc(1,1);break;case 3:e.blendFuncSeparate(0,0,769,771);break;case 4:e.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}else switch(t){case 1:e.blendFuncSeparate(770,771,1,771);break;case 2:e.blendFunc(770,1);break;case 3:e.blendFunc(0,769);break;case 4:e.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}A=null,y=null,C=null,I=null,f=t,x=c}}else!0===g&&(K(3042),g=!1)}function j(t){w!==t&&(e.frontFace(t?2304:2305),w=t)}function W(t){0!==t?(G(2884),t!==M&&e.cullFace(1===t?1029:2===t?1028:1032)):K(2884),M=t}function J(t,i,n){t?(G(32823),B===i&&S===n||(e.polygonOffset(i,n),B=i,S=n)):K(32823)}function z(t){void 0===t&&(t=33984+b-1),R!==t&&(e.activeTexture(t),R=t)}return{buffers:{color:s,depth:l,stencil:c},enable:G,disable:K,bindFramebuffer:function(t,i){return null===i&&null!==d&&(i=d),u[t]!==i&&(e.bindFramebuffer(t,i),u[t]=i,n&&(36009===t&&(u[36160]=i),36160===t&&(u[36009]=i)),!0)},bindXRFramebuffer:function(t){t!==d&&(e.bindFramebuffer(36160,t),d=t)},useProgram:function(t){return p!==t&&(e.useProgram(t),p=t,!0)},setBlending:H,setMaterial:function(e,t){2===e.side?K(2884):G(2884);let i=1===e.side;t&&(i=!i),j(i),1===e.blending&&!1===e.transparent?H(0):H(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha),l.setFunc(e.depthFunc),l.setTest(e.depthTest),l.setMask(e.depthWrite),s.setMask(e.colorWrite);const n=e.stencilWrite;c.setTest(n),n&&(c.setMask(e.stencilWriteMask),c.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask),c.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)),J(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits),!0===e.alphaToCoverage?G(32926):K(32926)},setFlipSided:j,setCullFace:W,setLineWidth:function(t){t!==E&&(k&&e.lineWidth(t),E=t)},setPolygonOffset:J,setScissorTest:function(e){e?G(3089):K(3089)},activeTexture:z,bindTexture:function(t,i){null===R&&z();let n=U[R];void 0===n&&(n={type:void 0,texture:void 0},U[R]=n),n.type===t&&n.texture===i||(e.bindTexture(t,i||P[t]),n.type=t,n.texture=i)},unbindTexture:function(){const t=U[R];void 0!==t&&void 0!==t.type&&(e.bindTexture(t.type,null),t.type=void 0,t.texture=void 0)},compressedTexImage2D:function(){try{e.compressedTexImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage2D:function(){try{e.texImage2D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},texImage3D:function(){try{e.texImage3D.apply(e,arguments)}catch(e){console.error("THREE.WebGLState:",e)}},scissor:function(t){!1===L.equals(t)&&(e.scissor(t.x,t.y,t.z,t.w),L.copy(t))},viewport:function(t){!1===O.equals(t)&&(e.viewport(t.x,t.y,t.z,t.w),O.copy(t))},reset:function(){e.disable(3042),e.disable(2884),e.disable(2929),e.disable(32823),e.disable(3089),e.disable(2960),e.disable(32926),e.blendEquation(32774),e.blendFunc(1,0),e.blendFuncSeparate(1,0,1,0),e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.depthMask(!0),e.depthFunc(513),e.clearDepth(1),e.stencilMask(4294967295),e.stencilFunc(519,0,4294967295),e.stencilOp(7680,7680,7680),e.clearStencil(0),e.cullFace(1029),e.frontFace(2305),e.polygonOffset(0,0),e.activeTexture(33984),e.bindFramebuffer(36160,null),!0===n&&(e.bindFramebuffer(36009,null),e.bindFramebuffer(36008,null)),e.useProgram(null),e.lineWidth(1),e.scissor(0,0,e.canvas.width,e.canvas.height),e.viewport(0,0,e.canvas.width,e.canvas.height),h={},R=null,U={},d=null,u={},p=null,g=!1,f=null,m=null,A=null,y=null,v=null,C=null,I=null,x=!1,w=null,M=null,E=null,B=null,S=null,L.set(0,0,e.canvas.width,e.canvas.height),O.set(0,0,e.canvas.width,e.canvas.height),s.reset(),l.reset(),c.reset()}}}function bo(e,t,i,n,r,o,a){const s=r.isWebGL2,l=r.maxTextures,c=r.maxCubemapSize,h=r.maxTextureSize,d=r.maxSamples,u=new WeakMap;let p,w=!1;try{w="undefined"!=typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(e){}function U(e,t){return w?new OffscreenCanvas(e,t):document.createElementNS("http://www.w3.org/1999/xhtml","canvas")}function F(e,t,i,n){let r=1;if((e.width>n||e.height>n)&&(r=n/Math.max(e.width,e.height)),1>r||!0===t){if("undefined"!=typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap){const n=t?Se:Math.floor,o=n(r*e.width),a=n(r*e.height);void 0===p&&(p=U(o,a));const s=i?U(o,a):p;s.width=o,s.height=a;return s.getContext("2d").drawImage(e,0,0,o,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+o+"x"+a+")."),s}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function Q(e){return Ee(e.width)&&Ee(e.height)}function L(e,t){return e.generateMipmaps&&t&&e.minFilter!==A&&e.minFilter!==C}function O(t,i,r,o){e.generateMipmap(t);n.get(i).__maxMipLevel=Math.log2(Math.max(r,o))}function N(i,n,r){if(!1===s)return n;if(null!==i){if(void 0!==e[i])return e[i];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+i+"'")}let o=n;return 6403===n&&(5126===r&&(o=33326),5131===r&&(o=33325),5121===r&&(o=33321)),6407===n&&(5126===r&&(o=34837),5131===r&&(o=34843),5121===r&&(o=32849)),6408===n&&(5126===r&&(o=34836),5131===r&&(o=34842),5121===r&&(o=32856)),33325!==o&&33326!==o&&34842!==o&&34836!==o||t.get("EXT_color_buffer_float"),o}function P(e){return e===A||e===y||e===v?9728:9729}function G(t){const i=t.target;i.removeEventListener("dispose",G),function(t){const i=n.get(t);if(void 0===i.__webglInit)return;e.deleteTexture(i.__webglTexture),n.remove(t)}(i),i.isVideoTexture&&u.delete(i),a.memory.textures--}function K(t){const i=t.target;i.removeEventListener("dispose",K),function(t){const i=t.texture,r=n.get(t),o=n.get(i);if(!t)return;void 0!==o.__webglTexture&&(e.deleteTexture(o.__webglTexture),a.memory.textures--);t.depthTexture&&t.depthTexture.dispose();if(t.isWebGLCubeRenderTarget)for(let t=0;6>t;t++)e.deleteFramebuffer(r.__webglFramebuffer[t]),r.__webglDepthbuffer&&e.deleteRenderbuffer(r.__webglDepthbuffer[t]);else e.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&e.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&e.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer&&e.deleteRenderbuffer(r.__webglColorRenderbuffer),r.__webglDepthRenderbuffer&&e.deleteRenderbuffer(r.__webglDepthRenderbuffer);if(t.isWebGLMultipleRenderTargets)for(let t=0,r=i.length;r>t;t++){const r=n.get(i[t]);r.__webglTexture&&(e.deleteTexture(r.__webglTexture),a.memory.textures--),n.remove(i[t])}n.remove(i),n.remove(t)}(i)}let V=0;function Y(e,t){const r=n.get(e);if(e.isVideoTexture&&function(e){const t=a.render.frame;u.get(e)!==t&&(u.set(e,t),e.update())}(e),e.version>0&&r.__version!==e.version){const i=e.image;if(void 0===i)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==i.complete)return void q(r,e,t);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}i.activeTexture(33984+t),i.bindTexture(3553,r.__webglTexture)}function H(t,r){const a=n.get(t);t.version>0&&a.__version!==t.version?function(t,n,r){if(6!==n.image.length)return;z(t,n),i.activeTexture(33984+r),i.bindTexture(34067,t.__webglTexture),e.pixelStorei(37440,n.flipY),e.pixelStorei(37441,n.premultiplyAlpha),e.pixelStorei(3317,n.unpackAlignment),e.pixelStorei(37443,0);const a=n&&(n.isCompressedTexture||n.image[0].isCompressedTexture),l=n.image[0]&&n.image[0].isDataTexture,h=[];for(let e=0;6>e;e++)h[e]=a||l?l?n.image[e].image:n.image[e]:F(n.image[e],!1,!0,c);const d=h[0],u=Q(d)||s,p=o.convert(n.format),g=o.convert(n.type),f=N(n.internalFormat,p,g);let m;if(J(34067,n,u),a){for(let e=0;6>e;e++){m=h[e].mipmaps;for(let t=0;m.length>t;t++){const r=m[t];n.format!==D&&n.format!==k?null!==p?i.compressedTexImage2D(34069+e,t,f,r.width,r.height,0,r.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):i.texImage2D(34069+e,t,f,r.width,r.height,0,p,g,r.data)}}t.__maxMipLevel=m.length-1}else{m=n.mipmaps;for(let e=0;6>e;e++)if(l){i.texImage2D(34069+e,0,f,h[e].width,h[e].height,0,p,g,h[e].data);for(let t=0;m.length>t;t++){const n=m[t].image[e].image;i.texImage2D(34069+e,t+1,f,n.width,n.height,0,p,g,n.data)}}else{i.texImage2D(34069+e,0,f,p,g,h[e]);for(let t=0;m.length>t;t++){i.texImage2D(34069+e,t+1,f,p,g,m[t].image[e])}}t.__maxMipLevel=m.length}L(n,u)&&O(34067,n,d.width,d.height);t.__version=n.version,n.onUpdate&&n.onUpdate(n)}(a,t,r):(i.activeTexture(33984+r),i.bindTexture(34067,a.__webglTexture))}const j={[g]:10497,[f]:33071,[m]:33648},W={[A]:9728,[y]:9984,[v]:9986,[C]:9729,[I]:9985,[x]:9987};function J(i,o,a){if(a?(e.texParameteri(i,10242,j[o.wrapS]),e.texParameteri(i,10243,j[o.wrapT]),32879!==i&&35866!==i||e.texParameteri(i,32882,j[o.wrapR]),e.texParameteri(i,10240,W[o.magFilter]),e.texParameteri(i,10241,W[o.minFilter])):(e.texParameteri(i,10242,33071),e.texParameteri(i,10243,33071),32879!==i&&35866!==i||e.texParameteri(i,32882,33071),o.wrapS===f&&o.wrapT===f||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(i,10240,P(o.magFilter)),e.texParameteri(i,10241,P(o.minFilter)),o.minFilter!==A&&o.minFilter!==C&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===t.has("EXT_texture_filter_anisotropic")){const a=t.get("EXT_texture_filter_anisotropic");if(o.type===B&&!1===t.has("OES_texture_float_linear"))return;if(!1===s&&o.type===S&&!1===t.has("OES_texture_half_float_linear"))return;(o.anisotropy>1||n.get(o).__currentAnisotropy)&&(e.texParameterf(i,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(o.anisotropy,r.getMaxAnisotropy())),n.get(o).__currentAnisotropy=o.anisotropy)}}function z(t,i){void 0===t.__webglInit&&(t.__webglInit=!0,i.addEventListener("dispose",G),t.__webglTexture=e.createTexture(),a.memory.textures++)}function q(t,n,r){let a=3553;n.isDataTexture2DArray&&(a=35866),n.isDataTexture3D&&(a=32879),z(t,n),i.activeTexture(33984+r),i.bindTexture(a,t.__webglTexture),e.pixelStorei(37440,n.flipY),e.pixelStorei(37441,n.premultiplyAlpha),e.pixelStorei(3317,n.unpackAlignment),e.pixelStorei(37443,0);const l=function(e){return!s&&(e.wrapS!==f||e.wrapT!==f||e.minFilter!==A&&e.minFilter!==C)}(n)&&!1===Q(n.image),c=F(n.image,l,!1,h),d=Q(c)||s,u=o.convert(n.format);let p,g=o.convert(n.type),m=N(n.internalFormat,u,g);J(a,n,d);const y=n.mipmaps;if(n.isDepthTexture)m=6402,s?m=n.type===B?36012:n.type===E?33190:n.type===b?35056:33189:n.type===B&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),n.format===T&&6402===m&&n.type!==M&&n.type!==E&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),n.type=M,g=o.convert(n.type)),n.format===R&&6402===m&&(m=34041,n.type!==b&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),n.type=b,g=o.convert(n.type))),i.texImage2D(3553,0,m,c.width,c.height,0,u,g,null);else if(n.isDataTexture)if(y.length>0&&d){for(let e=0,t=y.length;t>e;e++)p=y[e],i.texImage2D(3553,e,m,p.width,p.height,0,u,g,p.data);n.generateMipmaps=!1,t.__maxMipLevel=y.length-1}else i.texImage2D(3553,0,m,c.width,c.height,0,u,g,c.data),t.__maxMipLevel=0;else if(n.isCompressedTexture){for(let e=0,t=y.length;t>e;e++)p=y[e],n.format!==D&&n.format!==k?null!==u?i.compressedTexImage2D(3553,e,m,p.width,p.height,0,p.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):i.texImage2D(3553,e,m,p.width,p.height,0,u,g,p.data);t.__maxMipLevel=y.length-1}else if(n.isDataTexture2DArray)i.texImage3D(35866,0,m,c.width,c.height,c.depth,0,u,g,c.data),t.__maxMipLevel=0;else if(n.isDataTexture3D)i.texImage3D(32879,0,m,c.width,c.height,c.depth,0,u,g,c.data),t.__maxMipLevel=0;else if(y.length>0&&d){for(let e=0,t=y.length;t>e;e++)p=y[e],i.texImage2D(3553,e,m,u,g,p);n.generateMipmaps=!1,t.__maxMipLevel=y.length-1}else i.texImage2D(3553,0,m,u,g,c),t.__maxMipLevel=0;L(n,d)&&O(a,n,c.width,c.height),t.__version=n.version,n.onUpdate&&n.onUpdate(n)}function Z(t,r,a,s,l){const c=o.convert(a.format),h=o.convert(a.type),d=N(a.internalFormat,c,h);32879===l||35866===l?i.texImage3D(l,0,d,r.width,r.height,r.depth,0,c,h,null):i.texImage2D(l,0,d,r.width,r.height,0,c,h,null),i.bindFramebuffer(36160,t),e.framebufferTexture2D(36160,s,l,n.get(a).__webglTexture,0),i.bindFramebuffer(36160,null)}function X(t,i,n){if(e.bindRenderbuffer(36161,t),i.depthBuffer&&!i.stencilBuffer){let r=33189;if(n){const t=i.depthTexture;t&&t.isDepthTexture&&(t.type===B?r=36012:t.type===E&&(r=33190));const n=$(i);e.renderbufferStorageMultisample(36161,n,r,i.width,i.height)}else e.renderbufferStorage(36161,r,i.width,i.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(i.depthBuffer&&i.stencilBuffer){if(n){const t=$(i);e.renderbufferStorageMultisample(36161,t,35056,i.width,i.height)}else e.renderbufferStorage(36161,34041,i.width,i.height);e.framebufferRenderbuffer(36160,33306,36161,t)}else{const t=!0===i.isWebGLMultipleRenderTargets?i.texture[0]:i.texture,r=o.convert(t.format),a=o.convert(t.type),s=N(t.internalFormat,r,a);if(n){const t=$(i);e.renderbufferStorageMultisample(36161,t,s,i.width,i.height)}else e.renderbufferStorage(36161,s,i.width,i.height)}e.bindRenderbuffer(36161,null)}function _(t){const r=n.get(t),o=!0===t.isWebGLCubeRenderTarget;if(t.depthTexture){if(o)throw new Error("target.depthTexture not supported in Cube render targets");!function(t,r){if(r&&r.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(i.bindFramebuffer(36160,t),!r.depthTexture||!r.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");n.get(r.depthTexture).__webglTexture&&r.depthTexture.image.width===r.width&&r.depthTexture.image.height===r.height||(r.depthTexture.image.width=r.width,r.depthTexture.image.height=r.height,r.depthTexture.needsUpdate=!0),Y(r.depthTexture,0);const o=n.get(r.depthTexture).__webglTexture;if(r.depthTexture.format===T)e.framebufferTexture2D(36160,36096,3553,o,0);else{if(r.depthTexture.format!==R)throw new Error("Unknown depthTexture format");e.framebufferTexture2D(36160,33306,3553,o,0)}}(r.__webglFramebuffer,t)}else if(o){r.__webglDepthbuffer=[];for(let n=0;6>n;n++)i.bindFramebuffer(36160,r.__webglFramebuffer[n]),r.__webglDepthbuffer[n]=e.createRenderbuffer(),X(r.__webglDepthbuffer[n],t,!1)}else i.bindFramebuffer(36160,r.__webglFramebuffer),r.__webglDepthbuffer=e.createRenderbuffer(),X(r.__webglDepthbuffer,t,!1);i.bindFramebuffer(36160,null)}function $(e){return s&&e.isWebGLMultisampleRenderTarget?Math.min(d,e.samples):0}let ee=!1,te=!1;this.allocateTextureUnit=function(){const e=V;return l>e||console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+l),V+=1,e},this.resetTextureUnits=function(){V=0},this.setTexture2D=Y,this.setTexture2DArray=function(e,t){const r=n.get(e);e.version>0&&r.__version!==e.version?q(r,e,t):(i.activeTexture(33984+t),i.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(e,t){const r=n.get(e);e.version>0&&r.__version!==e.version?q(r,e,t):(i.activeTexture(33984+t),i.bindTexture(32879,r.__webglTexture))},this.setTextureCube=H,this.setupRenderTarget=function(t){const l=t.texture,c=n.get(t),h=n.get(l);t.addEventListener("dispose",K),!0!==t.isWebGLMultipleRenderTargets&&(h.__webglTexture=e.createTexture(),h.__version=l.version,a.memory.textures++);const d=!0===t.isWebGLCubeRenderTarget,u=!0===t.isWebGLMultipleRenderTargets,p=!0===t.isWebGLMultisampleRenderTarget,g=l.isDataTexture3D||l.isDataTexture2DArray,f=Q(t)||s;if(!s||l.format!==k||l.type!==B&&l.type!==S||(l.format=D,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),d){c.__webglFramebuffer=[];for(let t=0;6>t;t++)c.__webglFramebuffer[t]=e.createFramebuffer()}else if(c.__webglFramebuffer=e.createFramebuffer(),u)if(r.drawBuffers){const i=t.texture;for(let t=0,r=i.length;r>t;t++){const r=n.get(i[t]);void 0===r.__webglTexture&&(r.__webglTexture=e.createTexture(),a.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");else if(p)if(s){c.__webglMultisampledFramebuffer=e.createFramebuffer(),c.__webglColorRenderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(36161,c.__webglColorRenderbuffer);const n=o.convert(l.format),r=o.convert(l.type),a=N(l.internalFormat,n,r),s=$(t);e.renderbufferStorageMultisample(36161,s,a,t.width,t.height),i.bindFramebuffer(36160,c.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(36160,36064,36161,c.__webglColorRenderbuffer),e.bindRenderbuffer(36161,null),t.depthBuffer&&(c.__webglDepthRenderbuffer=e.createRenderbuffer(),X(c.__webglDepthRenderbuffer,t,!0)),i.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(d){i.bindTexture(34067,h.__webglTexture),J(34067,l,f);for(let e=0;6>e;e++)Z(c.__webglFramebuffer[e],t,l,36064,34069+e);L(l,f)&&O(34067,l,t.width,t.height),i.bindTexture(34067,null)}else if(u){const e=t.texture;for(let r=0,o=e.length;o>r;r++){const o=e[r],a=n.get(o);i.bindTexture(3553,a.__webglTexture),J(3553,o,f),Z(c.__webglFramebuffer,t,o,36064+r,3553),L(o,f)&&O(3553,o,t.width,t.height)}i.bindTexture(3553,null)}else{let e=3553;if(g)if(s){e=l.isDataTexture3D?32879:35866}else console.warn("THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.");i.bindTexture(e,h.__webglTexture),J(e,l,f),Z(c.__webglFramebuffer,t,l,36064,e),L(l,f)&&O(3553,l,t.width,t.height),i.bindTexture(3553,null)}t.depthBuffer&&_(t)},this.updateRenderTargetMipmap=function(e){const t=Q(e)||s,r=!0===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let o=0,a=r.length;a>o;o++){const a=r[o];if(L(a,t)){const t=e.isWebGLCubeRenderTarget?34067:3553,r=n.get(a).__webglTexture;i.bindTexture(t,r),O(t,a,e.width,e.height),i.bindTexture(t,null)}}},this.updateMultisampleRenderTarget=function(t){if(t.isWebGLMultisampleRenderTarget)if(s){const r=t.width,o=t.height;let a=16384;t.depthBuffer&&(a|=256),t.stencilBuffer&&(a|=1024);const s=n.get(t);i.bindFramebuffer(36008,s.__webglMultisampledFramebuffer),i.bindFramebuffer(36009,s.__webglFramebuffer),e.blitFramebuffer(0,0,r,o,0,0,r,o,a,9728),i.bindFramebuffer(36008,null),i.bindFramebuffer(36009,s.__webglMultisampledFramebuffer)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")},this.safeSetTexture2D=function(e,t){e&&e.isWebGLRenderTarget&&(!1===ee&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."),ee=!0),e=e.texture),Y(e,t)},this.safeSetTextureCube=function(e,t){e&&e.isWebGLCubeRenderTarget&&(!1===te&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),te=!0),e=e.texture),H(e,t)}}function ko(e,t,i){const n=i.isWebGL2;return{convert:function(e){let i;if(e===w)return 5121;if(1017===e)return 32819;if(1018===e)return 32820;if(1019===e)return 33635;if(1010===e)return 5120;if(1011===e)return 5122;if(e===M)return 5123;if(1013===e)return 5124;if(e===E)return 5125;if(e===B)return 5126;if(e===S)return n?5131:(i=t.get("OES_texture_half_float"),null!==i?i.HALF_FLOAT_OES:null);if(1021===e)return 6406;if(e===k)return 6407;if(e===D)return 6408;if(1024===e)return 6409;if(1025===e)return 6410;if(e===T)return 6402;if(e===R)return 34041;if(1028===e)return 6403;if(1029===e)return 36244;if(1030===e)return 33319;if(1031===e)return 33320;if(1032===e)return 36248;if(1033===e)return 36249;if(e===U||e===F||e===Q||e===L){if(i=t.get("WEBGL_compressed_texture_s3tc"),null===i)return null;if(e===U)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===F)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===Q)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===L)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(e===O||e===N||e===P||e===G){if(i=t.get("WEBGL_compressed_texture_pvrtc"),null===i)return null;if(e===O)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===N)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===P)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===G)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===e)return i=t.get("WEBGL_compressed_texture_etc1"),null!==i?i.COMPRESSED_RGB_ETC1_WEBGL:null;if((e===K||e===V)&&(i=t.get("WEBGL_compressed_texture_etc"),null!==i)){if(e===K)return i.COMPRESSED_RGB8_ETC2;if(e===V)return i.COMPRESSED_RGBA8_ETC2_EAC}return 37808===e||37809===e||37810===e||37811===e||37812===e||37813===e||37814===e||37815===e||37816===e||37817===e||37818===e||37819===e||37820===e||37821===e||37840===e||37841===e||37842===e||37843===e||37844===e||37845===e||37846===e||37847===e||37848===e||37849===e||37850===e||37851===e||37852===e||37853===e?(i=t.get("WEBGL_compressed_texture_astc"),null!==i?e:null):36492===e?(i=t.get("EXT_texture_compression_bptc"),null!==i?e:null):e===b?n?34042:(i=t.get("WEBGL_depth_texture"),null!==i?i.UNSIGNED_INT_24_8_WEBGL:null):void 0}}}class Do extends dn{constructor(e=[]){super(),this.cameras=e}}Do.prototype.isArrayCamera=!0;class To extends Yt{constructor(){super(),this.type="Group"}}To.prototype.isGroup=!0;const Ro={type:"move"};class Uo{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new To,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new To,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new Ke,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new Ke),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new To,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new Ke,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new Ke),this._grip}dispatchEvent(e){return null!==this._targetRay&&this._targetRay.dispatchEvent(e),null!==this._grip&&this._grip.dispatchEvent(e),null!==this._hand&&this._hand.dispatchEvent(e),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(e,t,i){let n=null,r=null,o=null;const a=this._targetRay,s=this._grip,l=this._hand;if(e&&"visible-blurred"!==t.session.visibilityState)if(null!==a&&(n=t.getPose(e.targetRaySpace,i),null!==n&&(a.matrix.fromArray(n.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),n.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(n.linearVelocity)):a.hasLinearVelocity=!1,n.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(n.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Ro))),l&&e.hand){o=!0;for(const n of e.hand.values()){const e=t.getJointPose(n,i);if(void 0===l.joints[n.jointName]){const e=new To;e.matrixAutoUpdate=!1,e.visible=!1,l.joints[n.jointName]=e,l.add(e)}const r=l.joints[n.jointName];null!==e&&(r.matrix.fromArray(e.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.jointRadius=e.radius),r.visible=null!==e}const n=l.joints["index-finger-tip"].position.distanceTo(l.joints["thumb-tip"].position),r=.02,a=.005;l.inputState.pinching&&n>r+a?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):l.inputState.pinching||n>r-a||(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==s&&e.gripSpace&&(r=t.getPose(e.gripSpace,i),null!==r&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1));return null!==a&&(a.visible=null!==n),null!==s&&(s.visible=null!==r),null!==l&&(l.visible=null!==o),this}}class Fo extends me{constructor(e,t){super();const i=this,n=e.state;let r=null,o=1,a=null,s="local-floor",l=null;const c=[],h=new Map,d=new dn;d.layers.enable(1),d.viewport=new Le;const u=new dn;u.layers.enable(2),u.viewport=new Le;const p=[d,u],g=new Do;g.layers.enable(1),g.layers.enable(2);let f=null,m=null;function A(e){const t=h.get(e.inputSource);t&&t.dispatchEvent({type:e.type,data:e.inputSource})}function y(){h.forEach((function(e,t){e.disconnect(t)})),h.clear(),f=null,m=null,n.bindXRFramebuffer(null),e.setRenderTarget(e.getRenderTarget()),M.stop(),i.isPresenting=!1,i.dispatchEvent({type:"sessionend"})}function v(e){const t=r.inputSources;for(let e=0;c.length>e;e++)h.set(t[e],c[e]);for(let t=0;e.removed.length>t;t++){const i=e.removed[t],n=h.get(i);n&&(n.dispatchEvent({type:"disconnected",data:i}),h.delete(i))}for(let t=0;e.added.length>t;t++){const i=e.added[t],n=h.get(i);n&&n.dispatchEvent({type:"connected",data:i})}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=c[e];return void 0===t&&(t=new Uo,c[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=c[e];return void 0===t&&(t=new Uo,c[e]=t),t.getGripSpace()},this.getHand=function(e){let t=c[e];return void 0===t&&(t=new Uo,c[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){o=e,!0===i.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(e){s=e,!0===i.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return a},this.getSession=function(){return r},this.setSession=async function(e){if(r=e,null!==r){r.addEventListener("select",A),r.addEventListener("selectstart",A),r.addEventListener("selectend",A),r.addEventListener("squeeze",A),r.addEventListener("squeezestart",A),r.addEventListener("squeezeend",A),r.addEventListener("end",y),r.addEventListener("inputsourceschange",v);const e=t.getContextAttributes();!0!==e.xrCompatible&&await t.makeXRCompatible();const n=new XRWebGLLayer(r,t,{antialias:e.antialias,alpha:e.alpha,depth:e.depth,stencil:e.stencil,framebufferScaleFactor:o});r.updateRenderState({baseLayer:n}),a=await r.requestReferenceSpace(s),M.setContext(r),M.start(),i.isPresenting=!0,i.dispatchEvent({type:"sessionstart"})}};const C=new Ke,I=new Ke;function x(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===r)return;g.near=u.near=d.near=e.near,g.far=u.far=d.far=e.far,f===g.near&&m===g.far||(r.updateRenderState({depthNear:g.near,depthFar:g.far}),f=g.near,m=g.far);const t=e.parent,i=g.cameras;x(g,t);for(let e=0;i.length>e;e++)x(i[e],t);e.matrixWorld.copy(g.matrixWorld),e.matrix.copy(g.matrix),e.matrix.decompose(e.position,e.quaternion,e.scale);const n=e.children;for(let e=0,t=n.length;t>e;e++)n[e].updateMatrixWorld(!0);2===i.length?function(e,t,i){C.setFromMatrixPosition(t.matrixWorld),I.setFromMatrixPosition(i.matrixWorld);const n=C.distanceTo(I),r=t.projectionMatrix.elements,o=i.projectionMatrix.elements,a=r[14]/(r[10]-1),s=r[14]/(r[10]+1),l=(r[9]+1)/r[5],c=(r[9]-1)/r[5],h=(r[8]-1)/r[0],d=(o[8]+1)/o[0],u=a*h,p=a*d,g=n/(-h+d),f=g*-h;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(f),e.translateZ(g),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert();const m=a+g,A=s+g;e.projectionMatrix.makePerspective(u-f,p+(n-f),l*s/A*m,c*s/A*m,m,A)}(g,d,u):g.projectionMatrix.copy(d.projectionMatrix)},this.getCamera=function(){return g};let w=null;const M=new vn;M.setAnimationLoop((function(e,t){if(l=t.getViewerPose(a),null!==l){const e=l.views,t=r.renderState.baseLayer;n.bindXRFramebuffer(t.framebuffer);let i=!1;e.length!==g.cameras.length&&(g.cameras.length=0,i=!0);for(let n=0;e.length>n;n++){const r=e[n],o=t.getViewport(r),a=p[n];a.matrix.fromArray(r.transform.matrix),a.projectionMatrix.fromArray(r.projectionMatrix),a.viewport.set(o.x,o.y,o.width,o.height),0===n&&g.matrix.copy(a.matrix),!0===i&&g.cameras.push(a)}}const i=r.inputSources;for(let e=0;c.length>e;e++){c[e].update(i[e],t,a)}w&&w(e,t)})),this.setAnimationLoop=function(e){w=e},this.dispose=function(){}}}function Qo(e){function t(t,i){t.opacity.value=i.opacity,i.color&&t.diffuse.value.copy(i.color),i.emissive&&t.emissive.value.copy(i.emissive).multiplyScalar(i.emissiveIntensity),i.map&&(t.map.value=i.map),i.alphaMap&&(t.alphaMap.value=i.alphaMap),i.specularMap&&(t.specularMap.value=i.specularMap);const n=e.get(i).envMap;if(n){t.envMap.value=n,t.flipEnvMap.value=n.isCubeTexture&&n._needsFlipEnvMap?-1:1,t.reflectivity.value=i.reflectivity,t.refractionRatio.value=i.refractionRatio;const r=e.get(n).__maxMipLevel;void 0!==r&&(t.maxMipLevel.value=r)}let r,o;i.lightMap&&(t.lightMap.value=i.lightMap,t.lightMapIntensity.value=i.lightMapIntensity),i.aoMap&&(t.aoMap.value=i.aoMap,t.aoMapIntensity.value=i.aoMapIntensity),i.map?r=i.map:i.specularMap?r=i.specularMap:i.displacementMap?r=i.displacementMap:i.normalMap?r=i.normalMap:i.bumpMap?r=i.bumpMap:i.roughnessMap?r=i.roughnessMap:i.metalnessMap?r=i.metalnessMap:i.alphaMap?r=i.alphaMap:i.emissiveMap?r=i.emissiveMap:i.clearcoatMap?r=i.clearcoatMap:i.clearcoatNormalMap?r=i.clearcoatNormalMap:i.clearcoatRoughnessMap&&(r=i.clearcoatRoughnessMap),void 0!==r&&(r.isWebGLRenderTarget&&(r=r.texture),!0===r.matrixAutoUpdate&&r.updateMatrix(),t.uvTransform.value.copy(r.matrix)),i.aoMap?o=i.aoMap:i.lightMap&&(o=i.lightMap),void 0!==o&&(o.isWebGLRenderTarget&&(o=o.texture),!0===o.matrixAutoUpdate&&o.updateMatrix(),t.uv2Transform.value.copy(o.matrix))}function i(t,i){t.roughness.value=i.roughness,t.metalness.value=i.metalness,i.roughnessMap&&(t.roughnessMap.value=i.roughnessMap),i.metalnessMap&&(t.metalnessMap.value=i.metalnessMap),i.emissiveMap&&(t.emissiveMap.value=i.emissiveMap),i.bumpMap&&(t.bumpMap.value=i.bumpMap,t.bumpScale.value=i.bumpScale,1===i.side&&(t.bumpScale.value*=-1)),i.normalMap&&(t.normalMap.value=i.normalMap,t.normalScale.value.copy(i.normalScale),1===i.side&&t.normalScale.value.negate()),i.displacementMap&&(t.displacementMap.value=i.displacementMap,t.displacementScale.value=i.displacementScale,t.displacementBias.value=i.displacementBias);e.get(i).envMap&&(t.envMapIntensity.value=i.envMapIntensity)}return{refreshFogUniforms:function(e,t){e.fogColor.value.copy(t.color),t.isFog?(e.fogNear.value=t.near,e.fogFar.value=t.far):t.isFogExp2&&(e.fogDensity.value=t.density)},refreshMaterialUniforms:function(e,n,r,o,a){n.isMeshBasicMaterial?t(e,n):n.isMeshLambertMaterial?(t(e,n),function(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}(e,n)):n.isMeshToonMaterial?(t(e,n),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap);t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,1===t.side&&(e.bumpScale.value*=-1));t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),1===t.side&&e.normalScale.value.negate());t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(e,n)):n.isMeshPhongMaterial?(t(e,n),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4),t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,1===t.side&&(e.bumpScale.value*=-1));t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),1===t.side&&e.normalScale.value.negate());t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(e,n)):n.isMeshStandardMaterial?(t(e,n),n.isMeshPhysicalMaterial?function(e,t,n){i(e,t),e.reflectivity.value=t.reflectivity,e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.sheen&&e.sheen.value.copy(t.sheen);t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap);t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap);t.clearcoatNormalMap&&(e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),e.clearcoatNormalMap.value=t.clearcoatNormalMap,1===t.side&&e.clearcoatNormalScale.value.negate());e.transmission.value=t.transmission,t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap);t.transmission>0&&(e.transmissionSamplerMap.value=n.texture,e.transmissionSamplerSize.value.set(n.width,n.height));e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap);e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor)}(e,n,a):i(e,n)):n.isMeshMatcapMaterial?(t(e,n),function(e,t){t.matcap&&(e.matcap.value=t.matcap);t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,1===t.side&&(e.bumpScale.value*=-1));t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),1===t.side&&e.normalScale.value.negate());t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(e,n)):n.isMeshDepthMaterial?(t(e,n),function(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(e,n)):n.isMeshDistanceMaterial?(t(e,n),function(e,t){t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias);e.referencePosition.value.copy(t.referencePosition),e.nearDistance.value=t.nearDistance,e.farDistance.value=t.farDistance}(e,n)):n.isMeshNormalMaterial?(t(e,n),function(e,t){t.bumpMap&&(e.bumpMap.value=t.bumpMap,e.bumpScale.value=t.bumpScale,1===t.side&&(e.bumpScale.value*=-1));t.normalMap&&(e.normalMap.value=t.normalMap,e.normalScale.value.copy(t.normalScale),1===t.side&&e.normalScale.value.negate());t.displacementMap&&(e.displacementMap.value=t.displacementMap,e.displacementScale.value=t.displacementScale,e.displacementBias.value=t.displacementBias)}(e,n)):n.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity}(e,n),n.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize+t.gapSize,e.scale.value=t.scale}(e,n)):n.isPointsMaterial?function(e,t,i,n){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*i,e.scale.value=.5*n,t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);let r;t.map?r=t.map:t.alphaMap&&(r=t.alphaMap);void 0!==r&&(!0===r.matrixAutoUpdate&&r.updateMatrix(),e.uvTransform.value.copy(r.matrix))}(e,n,r,o):n.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);let i;t.map?i=t.map:t.alphaMap&&(i=t.alphaMap);void 0!==i&&(!0===i.matrixAutoUpdate&&i.updateMatrix(),e.uvTransform.value.copy(i.matrix))}(e,n):n.isShadowMaterial?(e.color.value.copy(n.color),e.opacity.value=n.opacity):n.isShaderMaterial&&(n.uniformsNeedUpdate=!1)}}}function Lo(){const e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return e.style.display="block",e}function Oo(e){const t=void 0!==(e=e||{}).canvas?e.canvas:Lo(),i=void 0!==e.context?e.context:null,n=void 0!==e.alpha&&e.alpha,r=void 0===e.depth||e.depth,o=void 0===e.stencil||e.stencil,a=void 0!==e.antialias&&e.antialias,s=void 0===e.premultipliedAlpha||e.premultipliedAlpha,l=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,c=void 0!==e.powerPreference?e.powerPreference:"default",h=void 0!==e.failIfMajorPerformanceCaveat&&e.failIfMajorPerformanceCaveat;let d=null,u=null;const p=[],g=[];this.domElement=t,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=X,this.physicallyCorrectLights=!1,this.toneMapping=0,this.toneMappingExposure=1;const m=this;let y=!1,v=0,C=0,I=null,M=-1,E=null;const b=new Le,k=new Le;let T=null,R=t.width,U=t.height,F=1,Q=null,L=null;const O=new Le(0,0,R,U),N=new Le(0,0,R,U);let P=!1;const G=[],K=new yn;let V=!1,Y=!1,H=null;const j=new yt,W=new Ke,J={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function z(){return null===I?F:1}let q,Z,_,$,ee,te,ie,ne,re,oe,ae,se,le,ce,he,de,ue,pe,ge,fe,me,Ae,ye=i;function ve(e,i){for(let n=0;e.length>n;n++){const r=t.getContext(e[n],i);if(null!==r)return r}return null}try{const e={alpha:n,depth:r,stencil:o,antialias:a,premultipliedAlpha:s,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:h};if(t.addEventListener("webglcontextlost",xe,!1),t.addEventListener("webglcontextrestored",we,!1),null===ye){const t=["webgl2","webgl","experimental-webgl"];if(!0===m.isWebGL1Renderer&&t.shift(),ye=ve(t,e),null===ye)throw ve(t)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===ye.getShaderPrecisionFormat&&(ye.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(e){throw console.error("THREE.WebGLRenderer: "+e.message),e}function Ce(){q=new Rn(ye),Z=new kn(ye,q,e),q.init(Z),me=new ko(ye,q,Z),_=new So(ye,q,Z),G[0]=1029,$=new Qn(ye),ee=new po,te=new bo(ye,q,_,ee,Z,me,$),ie=new Tn(m),ne=new Cn(ye,Z),Ae=new Bn(ye,q,ne,Z),re=new Un(ye,ne,$,Ae),oe=new Pn(ye,re,ne,$),pe=new Nn(ye),he=new Dn(ee),ae=new uo(m,ie,q,Z,Ae,he),se=new Qo(ee),le=new Ao(ee),ce=new wo(q,Z),ue=new En(m,ie,_,oe,s),de=new Bo(m,oe,Z),ge=new bn(ye,q,$,Z),fe=new Fn(ye,q,$,Z),$.programs=ae.programs,m.capabilities=Z,m.extensions=q,m.properties=ee,m.renderLists=le,m.shadowMap=de,m.state=_,m.info=$}Ce();const Ie=new Fo(m,ye);function xe(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),y=!0}function we(){console.log("THREE.WebGLRenderer: Context Restored."),y=!1;const e=$.autoReset,t=de.enabled,i=de.autoUpdate,n=de.needsUpdate,r=de.type;Ce(),$.autoReset=e,de.enabled=t,de.autoUpdate=i,de.needsUpdate=n,de.type=r}function Me(e){const t=e.target;t.removeEventListener("dispose",Me),function(e){(function(e){const t=ee.get(e).programs;void 0!==t&&t.forEach((function(e){ae.releaseProgram(e)}))})(e),ee.remove(e)}(t)}this.xr=Ie,this.getContext=function(){return ye},this.getContextAttributes=function(){return ye.getContextAttributes()},this.forceContextLoss=function(){const e=q.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){const e=q.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return F},this.setPixelRatio=function(e){void 0!==e&&(F=e,this.setSize(R,U,!1))},this.getSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),e=new ke),e.set(R,U)},this.setSize=function(e,i,n){Ie.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(R=e,U=i,t.width=Math.floor(e*F),t.height=Math.floor(i*F),!1!==n&&(t.style.width=e+"px",t.style.height=i+"px"),this.setViewport(0,0,e,i))},this.getDrawingBufferSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),e=new ke),e.set(R*F,U*F).floor()},this.setDrawingBufferSize=function(e,i,n){R=e,U=i,F=n,t.width=Math.floor(e*n),t.height=Math.floor(i*n),this.setViewport(0,0,e,i)},this.getCurrentViewport=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),e=new Le),e.copy(b)},this.getViewport=function(e){return e.copy(O)},this.setViewport=function(e,t,i,n){e.isVector4?O.set(e.x,e.y,e.z,e.w):O.set(e,t,i,n),_.viewport(b.copy(O).multiplyScalar(F).floor())},this.getScissor=function(e){return e.copy(N)},this.setScissor=function(e,t,i,n){e.isVector4?N.set(e.x,e.y,e.z,e.w):N.set(e,t,i,n),_.scissor(k.copy(N).multiplyScalar(F).floor())},this.getScissorTest=function(){return P},this.setScissorTest=function(e){_.setScissorTest(P=e)},this.setOpaqueSort=function(e){Q=e},this.setTransparentSort=function(e){L=e},this.getOpaqueSort=function(){return Q},this.getTransparentSort=function(){return L},this.getClearColor=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getClearColor() now requires a Color as an argument"),e=new pi),e.copy(ue.getClearColor())},this.setClearColor=function(){ue.setClearColor.apply(ue,arguments)},this.getClearAlpha=function(){return ue.getClearAlpha()},this.setClearAlpha=function(){ue.setClearAlpha.apply(ue,arguments)},this.clear=function(e,t,i){let n=0;(void 0===e||e)&&(n|=16384),(void 0===t||t)&&(n|=256),(void 0===i||i)&&(n|=1024),ye.clear(n)},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(){t.removeEventListener("webglcontextlost",xe,!1),t.removeEventListener("webglcontextrestored",we,!1),le.dispose(),ce.dispose(),ee.dispose(),ie.dispose(),oe.dispose(),Ae.dispose(),Ie.dispose(),Ie.removeEventListener("sessionstart",Be),Ie.removeEventListener("sessionend",Se),H&&(H.dispose(),H=null),be.stop()},this.renderBufferImmediate=function(e,t){Ae.initAttributes();const i=ee.get(e);e.hasPositions&&!i.position&&(i.position=ye.createBuffer()),e.hasNormals&&!i.normal&&(i.normal=ye.createBuffer()),e.hasUvs&&!i.uv&&(i.uv=ye.createBuffer()),e.hasColors&&!i.color&&(i.color=ye.createBuffer());const n=t.getAttributes();e.hasPositions&&(ye.bindBuffer(34962,i.position),ye.bufferData(34962,e.positionArray,35048),Ae.enableAttribute(n.position),ye.vertexAttribPointer(n.position,3,5126,!1,0,0)),e.hasNormals&&(ye.bindBuffer(34962,i.normal),ye.bufferData(34962,e.normalArray,35048),Ae.enableAttribute(n.normal),ye.vertexAttribPointer(n.normal,3,5126,!1,0,0)),e.hasUvs&&(ye.bindBuffer(34962,i.uv),ye.bufferData(34962,e.uvArray,35048),Ae.enableAttribute(n.uv),ye.vertexAttribPointer(n.uv,2,5126,!1,0,0)),e.hasColors&&(ye.bindBuffer(34962,i.color),ye.bufferData(34962,e.colorArray,35048),Ae.enableAttribute(n.color),ye.vertexAttribPointer(n.color,3,5126,!1,0,0)),Ae.disableUnusedAttributes(),ye.drawArrays(4,0,e.count),e.count=0},this.renderBufferDirect=function(e,t,i,n,r,o){null===t&&(t=J);const a=r.isMesh&&0>r.matrixWorld.determinant(),s=Qe(e,t,n,r);_.setMaterial(n,a);let l=i.index;const c=i.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;let h,d=1;!0===n.wireframe&&(l=re.getWireframeAttribute(i),d=2),(n.morphTargets||n.morphNormals)&&pe.update(r,i,n,s),Ae.setup(r,n,s,i,l);let u=ge;null!==l&&(h=ne.get(l),u=fe,u.setIndex(h));const p=null!==l?l.count:c.count,g=i.drawRange.start*d,f=i.drawRange.count*d,m=null!==o?o.start*d:0,A=null!==o?o.count*d:1/0,y=Math.max(g,m),v=Math.min(p,g+f,m+A)-1,C=Math.max(0,v-y+1);if(0!==C){if(r.isMesh)!0===n.wireframe?(_.setLineWidth(n.wireframeLinewidth*z()),u.setMode(1)):u.setMode(4);else if(r.isLine){let e=n.linewidth;void 0===e&&(e=1),_.setLineWidth(e*z()),u.setMode(r.isLineSegments?1:r.isLineLoop?2:3)}else r.isPoints?u.setMode(0):r.isSprite&&u.setMode(4);if(r.isInstancedMesh)u.renderInstances(y,C,r.count);else if(i.isInstancedBufferGeometry){const e=Math.min(i.instanceCount,i._maxInstanceCount);u.renderInstances(y,C,e)}else u.render(y,C)}},this.compile=function(e,t){u=ce.get(e),u.init(),e.traverseVisible((function(e){e.isLight&&e.layers.test(t.layers)&&(u.pushLight(e),e.castShadow&&u.pushShadow(e))})),u.setupLights(),e.traverse((function(t){const i=t.material;if(i)if(Array.isArray(i))for(let n=0;i.length>n;n++){Ue(i[n],e,t)}else Ue(i,e,t)}))};let Ee=null;function Be(){be.stop()}function Se(){be.start()}const be=new vn;function De(e,t,i,n){if(!1===e.visible)return;if(e.layers.test(t.layers))if(e.isGroup)i=e.renderOrder;else if(e.isLOD)!0===e.autoUpdate&&e.update(t);else if(e.isLight)u.pushLight(e),e.castShadow&&u.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||K.intersectsSprite(e)){n&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(j);const t=oe.update(e),r=e.material;r.visible&&d.push(e,t,r,i,W.z,null)}}else if(e.isImmediateRenderObject)n&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(j),d.push(e,null,e.material,i,W.z,null);else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.frame!==$.render.frame&&(e.skeleton.update(),e.skeleton.frame=$.render.frame),!e.frustumCulled||K.intersectsObject(e))){n&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(j);const t=oe.update(e),r=e.material;if(Array.isArray(r)){const n=t.groups;for(let o=0,a=n.length;a>o;o++){const a=n[o],s=r[a.materialIndex];s&&s.visible&&d.push(e,t,s,i,W.z,a)}}else r.visible&&d.push(e,t,r,i,W.z,null)}const r=e.children;for(let e=0,o=r.length;o>e;e++)De(r[e],t,i,n)}function Te(e,t,i){const n=!0===t.isScene?t.overrideMaterial:null;for(let r=0,o=e.length;o>r;r++){const o=e[r],a=o.object,s=o.geometry,l=null===n?o.material:n,c=o.group;if(i.isArrayCamera){const e=i.cameras;for(let i=0,n=e.length;n>i;i++){const n=e[i];a.layers.test(n.layers)&&(_.viewport(b.copy(n.viewport)),u.setupLightsView(n),Re(a,t,n,s,l,c))}}else Re(a,t,i,s,l,c)}}function Re(e,t,i,n,r,o){if(e.onBeforeRender(m,t,i,n,r,o),e.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),e.isImmediateRenderObject){const n=Qe(i,t,r,e);_.setMaterial(r),Ae.reset(),function(e,t){e.render((function(e){m.renderBufferImmediate(e,t)}))}(e,n)}else m.renderBufferDirect(i,t,n,r,e,o);e.onAfterRender(m,t,i,n,r,o)}function Ue(e,t,i){!0!==t.isScene&&(t=J);const n=ee.get(e),r=u.state.lights,o=r.state.version,a=ae.getParameters(e,r.state,u.state.shadowsArray,t,i),s=ae.getProgramCacheKey(a);let l=n.programs;n.environment=e.isMeshStandardMaterial?t.environment:null,n.fog=t.fog,n.envMap=ie.get(e.envMap||n.environment),void 0===l&&(e.addEventListener("dispose",Me),l=new Map,n.programs=l);let c=l.get(s);if(void 0!==c){if(n.currentProgram===c&&n.lightsStateVersion===o)return Fe(e,a),c}else a.uniforms=ae.getUniforms(e),e.onBuild(a,m),e.onBeforeCompile(a,m),c=ae.acquireProgram(a,s),l.set(s,c),n.uniforms=a.uniforms;const h=n.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(h.clippingPlanes=he.uniform),Fe(e,a),n.needsLights=function(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&!0===e.lights}(e),n.lightsStateVersion=o,n.needsLights&&(h.ambientLightColor.value=r.state.ambient,h.lightProbe.value=r.state.probe,h.directionalLights.value=r.state.directional,h.directionalLightShadows.value=r.state.directionalShadow,h.spotLights.value=r.state.spot,h.spotLightShadows.value=r.state.spotShadow,h.rectAreaLights.value=r.state.rectArea,h.ltc_1.value=r.state.rectAreaLTC1,h.ltc_2.value=r.state.rectAreaLTC2,h.pointLights.value=r.state.point,h.pointLightShadows.value=r.state.pointShadow,h.hemisphereLights.value=r.state.hemi,h.directionalShadowMap.value=r.state.directionalShadowMap,h.directionalShadowMatrix.value=r.state.directionalShadowMatrix,h.spotShadowMap.value=r.state.spotShadowMap,h.spotShadowMatrix.value=r.state.spotShadowMatrix,h.pointShadowMap.value=r.state.pointShadowMap,h.pointShadowMatrix.value=r.state.pointShadowMatrix);const d=c.getUniforms(),p=Hr.seqWithValue(d.seq,h);return n.currentProgram=c,n.uniformsList=p,c}function Fe(e,t){const i=ee.get(e);i.outputEncoding=t.outputEncoding,i.instancing=t.instancing,i.skinning=t.skinning,i.numClippingPlanes=t.numClippingPlanes,i.numIntersection=t.numClipIntersection,i.vertexAlphas=t.vertexAlphas}function Qe(e,t,i,n){!0!==t.isScene&&(t=J),te.resetTextureUnits();const r=t.fog,o=null===I?m.outputEncoding:I.texture.encoding,a=ie.get(i.envMap||(i.isMeshStandardMaterial?t.environment:null)),s=!0===i.vertexColors&&n.geometry&&n.geometry.attributes.color&&4===n.geometry.attributes.color.itemSize,l=ee.get(i),c=u.state.lights;if(!0===V&&(!0===Y||e!==E)){he.setState(i,e,e===E&&i.id===M)}let h=!1;i.version===l.__version?l.needsLights&&l.lightsStateVersion!==c.state.version||l.outputEncoding!==o||n.isInstancedMesh&&!1===l.instancing?h=!0:n.isInstancedMesh||!0!==l.instancing?n.isSkinnedMesh&&!1===l.skinning?h=!0:n.isSkinnedMesh||!0!==l.skinning?l.envMap!==a||i.fog&&l.fog!==r?h=!0:void 0===l.numClippingPlanes||l.numClippingPlanes===he.numPlanes&&l.numIntersection===he.numIntersection?l.vertexAlphas!==s&&(h=!0):h=!0:h=!0:h=!0:(h=!0,l.__version=i.version);let d=l.currentProgram;!0===h&&(d=Ue(i,t,n));let p=!1,g=!1,f=!1;const A=d.getUniforms(),y=l.uniforms;if(_.useProgram(d.program)&&(p=!0,g=!0,f=!0),i.id!==M&&(M=i.id,g=!0),p||E!==e){if(A.setValue(ye,"projectionMatrix",e.projectionMatrix),Z.logarithmicDepthBuffer&&A.setValue(ye,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),E!==e&&(E=e,g=!0,f=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshStandardMaterial||i.envMap){const t=A.map.cameraPosition;void 0!==t&&t.setValue(ye,W.setFromMatrixPosition(e.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&A.setValue(ye,"isOrthographic",!0===e.isOrthographicCamera),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.isShadowMaterial||n.isSkinnedMesh)&&A.setValue(ye,"viewMatrix",e.matrixWorldInverse)}if(n.isSkinnedMesh){A.setOptional(ye,n,"bindMatrix"),A.setOptional(ye,n,"bindMatrixInverse");const e=n.skeleton;e&&(Z.floatVertexTextures?(null===e.boneTexture&&e.computeBoneTexture(),A.setValue(ye,"boneTexture",e.boneTexture,te),A.setValue(ye,"boneTextureSize",e.boneTextureSize)):A.setOptional(ye,e,"boneMatrices"))}return(g||l.receiveShadow!==n.receiveShadow)&&(l.receiveShadow=n.receiveShadow,A.setValue(ye,"receiveShadow",n.receiveShadow)),g&&(A.setValue(ye,"toneMappingExposure",m.toneMappingExposure),l.needsLights&&function(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}(y,f),r&&i.fog&&se.refreshFogUniforms(y,r),se.refreshMaterialUniforms(y,i,F,U,H),Hr.upload(ye,l.uniformsList,y,te)),i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(Hr.upload(ye,l.uniformsList,y,te),i.uniformsNeedUpdate=!1),i.isSpriteMaterial&&A.setValue(ye,"center",n.center),A.setValue(ye,"modelViewMatrix",n.modelViewMatrix),A.setValue(ye,"normalMatrix",n.normalMatrix),A.setValue(ye,"modelMatrix",n.matrixWorld),d}be.setAnimationLoop((function(e){Ee&&Ee(e)})),"undefined"!=typeof window&&be.setContext(window),this.setAnimationLoop=function(e){Ee=e,Ie.setAnimationLoop(e),null===e?be.stop():be.start()},Ie.addEventListener("sessionstart",Be),Ie.addEventListener("sessionend",Se),this.render=function(e,t){if(void 0!==t&&!0!==t.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===y)return;!0===e.autoUpdate&&e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),!0===Ie.enabled&&!0===Ie.isPresenting&&(!0===Ie.cameraAutoUpdate&&Ie.updateCamera(t),t=Ie.getCamera()),!0===e.isScene&&e.onBeforeRender(m,e,t,I),u=ce.get(e,g.length),u.init(),g.push(u),j.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),K.setFromProjectionMatrix(j),Y=this.localClippingEnabled,V=he.init(this.clippingPlanes,Y,t),d=le.get(e,p.length),d.init(),p.push(d),De(e,t,0,m.sortObjects),d.finish(),!0===m.sortObjects&&d.sort(Q,L),!0===V&&he.beginShadows();de.render(u.state.shadowsArray,e,t),u.setupLights(),u.setupLightsView(t),!0===V&&he.endShadows(),!0===this.info.autoReset&&this.info.reset(),ue.render(d,e);const i=d.opaque,n=d.transmissive,r=d.transparent;i.length>0&&Te(i,e,t),n.length>0&&function(e,t,i,n){null===H&&(H=new Oe(1024,1024,{generateMipmaps:!0,minFilter:x,magFilter:A,wrapS:f,wrapT:f}));const r=m.getRenderTarget();m.setRenderTarget(H),m.clear(),Te(e,i,n),te.updateRenderTargetMipmap(H),m.setRenderTarget(r),Te(t,i,n)}(i,n,e,t),r.length>0&&Te(r,e,t),null!==I&&(te.updateRenderTargetMipmap(I),te.updateMultisampleRenderTarget(I)),!0===e.isScene&&e.onAfterRender(m,e,t),_.buffers.depth.setTest(!0),_.buffers.depth.setMask(!0),_.buffers.color.setMask(!0),_.setPolygonOffset(!1),Ae.resetDefaultState(),M=-1,E=null,g.pop(),u=g.length>0?g[g.length-1]:null,p.pop(),d=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return v},this.getActiveMipmapLevel=function(){return C},this.getRenderTarget=function(){return I},this.setRenderTarget=function(e,t=0,i=0){I=e,v=t,C=i,e&&void 0===ee.get(e).__webglFramebuffer&&te.setupRenderTarget(e);let n=null,r=!1,o=!1;if(e){const i=e.texture;(i.isDataTexture3D||i.isDataTexture2DArray)&&(o=!0);const a=ee.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(n=a[t],r=!0):n=e.isWebGLMultisampleRenderTarget?ee.get(e).__webglMultisampledFramebuffer:a,b.copy(e.viewport),k.copy(e.scissor),T=e.scissorTest}else b.copy(O).multiplyScalar(F).floor(),k.copy(N).multiplyScalar(F).floor(),T=P;if(_.bindFramebuffer(36160,n)&&Z.drawBuffers){let t=!1;if(e)if(e.isWebGLMultipleRenderTargets){const i=e.texture;if(G.length!==i.length||36064!==G[0]){for(let e=0,t=i.length;t>e;e++)G[e]=36064+e;G.length=i.length,t=!0}}else 1===G.length&&36064===G[0]||(G[0]=36064,G.length=1,t=!0);else 1===G.length&&1029===G[0]||(G[0]=1029,G.length=1,t=!0);t&&(Z.isWebGL2?ye.drawBuffers(G):q.get("WEBGL_draw_buffers").drawBuffersWEBGL(G))}if(_.viewport(b),_.scissor(k),_.setScissorTest(T),r){const n=ee.get(e.texture);ye.framebufferTexture2D(36160,36064,34069+t,n.__webglTexture,i)}else if(o){const n=ee.get(e.texture);ye.framebufferTextureLayer(36160,36064,n.__webglTexture,i||0,t||0)}},this.readRenderTargetPixels=function(e,t,i,n,r,o,a){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let s=ee.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==a&&(s=s[a]),s){_.bindFramebuffer(36160,s);try{const a=e.texture,s=a.format,l=a.type;if(s!==D&&me.convert(s)!==ye.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===S&&(q.has("EXT_color_buffer_half_float")||Z.isWebGL2&&q.has("EXT_color_buffer_float"));if(!(l===w||me.convert(l)===ye.getParameter(35738)||l===B&&(Z.isWebGL2||q.has("OES_texture_float")||q.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===ye.checkFramebufferStatus(36160)?0>t||t>e.width-n||0>i||i>e.height-r||ye.readPixels(t,i,n,r,me.convert(s),me.convert(l),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const e=null!==I?ee.get(I).__webglFramebuffer:null;_.bindFramebuffer(36160,e)}}},this.copyFramebufferToTexture=function(e,t,i=0){const n=Math.pow(2,-i),r=Math.floor(t.image.width*n),o=Math.floor(t.image.height*n);let a=me.convert(t.format);Z.isWebGL2&&(6407===a&&(a=32849),6408===a&&(a=32856)),te.setTexture2D(t,0),ye.copyTexImage2D(3553,i,a,e.x,e.y,r,o,0),_.unbindTexture()},this.copyTextureToTexture=function(e,t,i,n=0){const r=t.image.width,o=t.image.height,a=me.convert(i.format),s=me.convert(i.type);te.setTexture2D(i,0),ye.pixelStorei(37440,i.flipY),ye.pixelStorei(37441,i.premultiplyAlpha),ye.pixelStorei(3317,i.unpackAlignment),t.isDataTexture?ye.texSubImage2D(3553,n,e.x,e.y,r,o,a,s,t.image.data):t.isCompressedTexture?ye.compressedTexSubImage2D(3553,n,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,a,t.mipmaps[0].data):ye.texSubImage2D(3553,n,e.x,e.y,a,s,t.image),0===n&&i.generateMipmaps&&ye.generateMipmap(3553),_.unbindTexture()},this.copyTextureToTexture3D=function(e,t,i,n,r=0){if(m.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const{width:o,height:a,data:s}=i.image,l=me.convert(n.format),c=me.convert(n.type);let h;if(n.isDataTexture3D)te.setTexture3D(n,0),h=32879;else{if(!n.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");te.setTexture2DArray(n,0),h=35866}ye.pixelStorei(37440,n.flipY),ye.pixelStorei(37441,n.premultiplyAlpha),ye.pixelStorei(3317,n.unpackAlignment);const d=ye.getParameter(3314),u=ye.getParameter(32878),p=ye.getParameter(3316),g=ye.getParameter(3315),f=ye.getParameter(32877);ye.pixelStorei(3314,o),ye.pixelStorei(32878,a),ye.pixelStorei(3316,e.min.x),ye.pixelStorei(3315,e.min.y),ye.pixelStorei(32877,e.min.z),ye.texSubImage3D(h,r,t.x,t.y,t.z,e.max.x-e.min.x+1,e.max.y-e.min.y+1,e.max.z-e.min.z+1,l,c,s),ye.pixelStorei(3314,d),ye.pixelStorei(32878,u),ye.pixelStorei(3316,p),ye.pixelStorei(3315,g),ye.pixelStorei(32877,f),0===r&&n.generateMipmaps&&ye.generateMipmap(h),_.unbindTexture()},this.initTexture=function(e){te.setTexture2D(e,0),_.unbindTexture()},this.resetState=function(){v=0,C=0,I=null,_.reset(),Ae.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class No extends Oo{}function Po(e){const t=void 0!==(e=e||{}).canvas?e.canvas:Lo(),i=void 0!==e.context?e.context:null,n=void 0!==e.alpha&&e.alpha,r=void 0===e.depth||e.depth,o=void 0===e.stencil||e.stencil,a=void 0!==e.antialias&&e.antialias,s=void 0===e.premultipliedAlpha||e.premultipliedAlpha,l=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,c=void 0!==e.powerPreference?e.powerPreference:"default",h=void 0!==e.failIfMajorPerformanceCaveat&&e.failIfMajorPerformanceCaveat;let d=null,u=null;const p=[],g=[];this.domElement=t,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=X,this.physicallyCorrectLights=!1,this.toneMapping=0,this.toneMappingExposure=1;const m=this;let y=!1,v=0,C=0,I=null,M=-1,E=null;const b=new Le,k=new Le;let T=null,R=t.width,U=t.height,F=1,Q=null,L=null;const O=new Le(0,0,R,U),N=new Le(0,0,R,U);let P=!1;const G=[],K=new yn;let V=!1,Y=!1,H=null;const j=new yt,W=new Ke,J={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function z(){return null===I?F:1}let q,Z,_,$,ee,te,ie,ne,re,oe,ae,se,le,ce,he,de,ue,pe,ge,fe,me,Ae,ye=i;function ve(e,i){for(let n=0;e.length>n;n++){const r=t.getContext(e[n],i);if(null!==r)return r}return null}try{const e={alpha:n,depth:r,stencil:o,antialias:a,premultipliedAlpha:s,preserveDrawingBuffer:l,powerPreference:c,failIfMajorPerformanceCaveat:h};if(t.addEventListener("webglcontextlost",xe,!1),t.addEventListener("webglcontextrestored",we,!1),null===ye){const t=["webgl2","webgl","experimental-webgl"];if(!0===m.isWebGL1Renderer&&t.shift(),ye=ve(t,e),null===ye)throw ve(t)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===ye.getShaderPrecisionFormat&&(ye.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(e){throw console.error("THREE.WebGLRenderer: "+e.message),e}function Ce(){q=new Rn(ye),Z=new kn(ye,q,e),q.init(Z),me=new ko(ye,q,Z),_=new So(ye,q,Z),G[0]=1029,$=new Qn(ye),ee=new po,te=new bo(ye,q,_,ee,Z,me,$),ie=new Tn(m),ne=new Cn(ye,Z),Ae=new Sn(ye,q,ne,Z),re=new Un(ye,ne,$,Ae),oe=new Gn(ye,re,ne,$),pe=new Nn(ye),he=new Dn(ee),ae=new uo(m,ie,q,Z,Ae,he),se=new Qo(ee),le=new Ao(ee),ce=new wo(q,Z),ue=new En(m,ie,_,oe,s),de=new Bo(m,oe,Z),ge=new bn(ye,q,$,Z),fe=new Fn(ye,q,$,Z),$.programs=ae.programs,m.capabilities=Z,m.extensions=q,m.properties=ee,m.renderLists=le,m.shadowMap=de,m.state=_,m.info=$}Ce();const Ie=new Fo(m,ye);function xe(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),y=!0}function we(){console.log("THREE.WebGLRenderer: Context Restored."),y=!1;const e=$.autoReset,t=de.enabled,i=de.autoUpdate,n=de.needsUpdate,r=de.type;Ce(),$.autoReset=e,de.enabled=t,de.autoUpdate=i,de.needsUpdate=n,de.type=r}function Me(e){const t=e.target;t.removeEventListener("dispose",Me),function(e){(function(e){const t=ee.get(e).programs;void 0!==t&&t.forEach((function(e){ae.releaseProgram(e)}))})(e),ee.remove(e)}(t)}this.xr=Ie,this.getContext=function(){return ye},this.getContextAttributes=function(){return ye.getContextAttributes()},this.forceContextLoss=function(){const e=q.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){const e=q.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return F},this.setPixelRatio=function(e){void 0!==e&&(F=e,this.setSize(R,U,!1))},this.getSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getsize() now requires a Vector2 as an argument"),e=new ke),e.set(R,U)},this.setSize=function(e,i,n){Ie.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(R=e,U=i,t.width=Math.floor(e*F),t.height=Math.floor(i*F),!1!==n&&(t.style.width=e+"px",t.style.height=i+"px"),this.setViewport(0,0,e,i))},this.getDrawingBufferSize=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument"),e=new ke),e.set(R*F,U*F).floor()},this.setDrawingBufferSize=function(e,i,n){R=e,U=i,F=n,t.width=Math.floor(e*n),t.height=Math.floor(i*n),this.setViewport(0,0,e,i)},this.getCurrentViewport=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument"),e=new Le),e.copy(b)},this.getViewport=function(e){return e.copy(O)},this.setViewport=function(e,t,i,n){e.isVector4?O.set(e.x,e.y,e.z,e.w):O.set(e,t,i,n),_.viewport(b.copy(O).multiplyScalar(F).floor())},this.getScissor=function(e){return e.copy(N)},this.setScissor=function(e,t,i,n){e.isVector4?N.set(e.x,e.y,e.z,e.w):N.set(e,t,i,n),_.scissor(k.copy(N).multiplyScalar(F).floor())},this.getScissorTest=function(){return P},this.setScissorTest=function(e){_.setScissorTest(P=e)},this.setOpaqueSort=function(e){Q=e},this.setTransparentSort=function(e){L=e},this.getOpaqueSort=function(){return Q},this.getTransparentSort=function(){return L},this.getClearColor=function(e){return void 0===e&&(console.warn("WebGLRenderer: .getClearColor() now requires a Color as an argument"),e=new pi),e.copy(ue.getClearColor())},this.setClearColor=function(){ue.setClearColor.apply(ue,arguments)},this.getClearAlpha=function(){return ue.getClearAlpha()},this.setClearAlpha=function(){ue.setClearAlpha.apply(ue,arguments)},this.clear=function(e,t,i){let n=0;(void 0===e||e)&&(n|=16384),(void 0===t||t)&&(n|=256),(void 0===i||i)&&(n|=1024),ye.clear(n)},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(){t.removeEventListener("webglcontextlost",xe,!1),t.removeEventListener("webglcontextrestored",we,!1),le.dispose(),ce.dispose(),ee.dispose(),ie.dispose(),oe.dispose(),Ae.dispose(),Ie.dispose(),Ie.removeEventListener("sessionstart",Be),Ie.removeEventListener("sessionend",Se),H&&(H.dispose(),H=null),be.stop()},this.renderBufferImmediate=function(e,t){Ae.initAttributes();const i=ee.get(e);e.hasPositions&&!i.position&&(i.position=ye.createBuffer()),e.hasNormals&&!i.normal&&(i.normal=ye.createBuffer()),e.hasUvs&&!i.uv&&(i.uv=ye.createBuffer()),e.hasColors&&!i.color&&(i.color=ye.createBuffer());const n=t.getAttributes();e.hasPositions&&(ye.bindBuffer(34962,i.position),ye.bufferData(34962,e.positionArray,35048),Ae.enableAttribute(n.position),ye.vertexAttribPointer(n.position,3,5126,!1,0,0)),e.hasNormals&&(ye.bindBuffer(34962,i.normal),ye.bufferData(34962,e.normalArray,35048),Ae.enableAttribute(n.normal),ye.vertexAttribPointer(n.normal,3,5126,!1,0,0)),e.hasUvs&&(ye.bindBuffer(34962,i.uv),ye.bufferData(34962,e.uvArray,35048),Ae.enableAttribute(n.uv),ye.vertexAttribPointer(n.uv,2,5126,!1,0,0)),e.hasColors&&(ye.bindBuffer(34962,i.color),ye.bufferData(34962,e.colorArray,35048),Ae.enableAttribute(n.color),ye.vertexAttribPointer(n.color,3,5126,!1,0,0)),Ae.disableUnusedAttributes(),ye.drawArrays(4,0,e.count),e.count=0},this.renderBufferDirect=function(e,t,i,n,r,o){null===t&&(t=J);const a=r.isMesh&&0>r.matrixWorld.determinant(),s=Qe(e,t,n,r);_.setMaterial(n,a);let l=i.index;const c=i.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;let h,d=1;!0===n.wireframe&&(l=re.getWireframeAttribute(i),d=2),(n.morphTargets||n.morphNormals)&&pe.update(r,i,n,s),Ae.setup(r,n,s,i,l,o);let u=ge;null!==l&&(h=ne.get(l),u=fe,u.setIndex(h));const p=null!==l?l.count:c.count,g=i.drawRange.start*d,f=i.drawRange.count*d,m=null!==o?o.start*d:0,A=null!==o?o.count*d:1/0,y=Math.max(g,m),v=Math.min(p,g+f,m+A)-1,C=Math.max(0,v-y+1);if(0!==C){if(r.isMesh)!0===n.wireframe?(_.setLineWidth(n.wireframeLinewidth*z()),u.setMode(1)):u.setMode(4);else if(r.isLine){let e=n.linewidth;void 0===e&&(e=1),_.setLineWidth(e*z()),u.setMode(r.isLineSegments?1:r.isLineLoop?2:3)}else r.isPoints?u.setMode(0):r.isSprite&&u.setMode(4);if(r.isInstancedMesh)u.renderInstances(y,C,r.multiCounts&&null!==o&&null!==o.instanceIndex?r.multiCounts[o.instanceIndex]:r.count);else if(i.isInstancedBufferGeometry){const e=Math.min(i.instanceCount,i._maxInstanceCount);u.renderInstances(y,C,e)}else u.render(y,C)}},this.compile=function(e,t){u=ce.get(e),u.init(),e.traverseVisible((function(e){e.isLight&&e.layers.test(t.layers)&&(u.pushLight(e),e.castShadow&&u.pushShadow(e))})),u.setupLights(),e.traverse((function(t){const i=t.material;if(i)if(Array.isArray(i))for(let n=0;i.length>n;n++){Ue(i[n],e,t)}else Ue(i,e,t)}))};let Ee=null;function Be(){be.stop()}function Se(){be.start()}const be=new vn;function De(e,t,i,n){if(!1===e.visible)return;if(e.layers.test(t.layers))if(e.isGroup)i=e.renderOrder;else if(e.isLOD)!0===e.autoUpdate&&e.update(t);else if(e.isLight)u.pushLight(e),e.castShadow&&u.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||K.intersectsSprite(e)){n&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(j);const t=oe.update(e),r=e.material;r.visible&&d.push(e,t,r,i,W.z,null)}}else if(e.isImmediateRenderObject)n&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(j),d.push(e,null,e.material,i,W.z,null);else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.frame!==$.render.frame&&(e.skeleton.update(),e.skeleton.frame=$.render.frame),!e.frustumCulled||K.intersectsObject(e))){n&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(j);const t=oe.update(e),r=e.material;if(Array.isArray(r)){const n=t.groups;for(let o=0,a=n.length;a>o;o++){const a=n[o],s=r[a.materialIndex];s&&s.visible&&d.push(e,t,s,i,W.z,a)}}else r.visible&&d.push(e,t,r,i,W.z,null)}const r=e.children;for(let e=0,o=r.length;o>e;e++)De(r[e],t,i,n)}function Te(e,t,i){const n=!0===t.isScene?t.overrideMaterial:null;for(let r=0,o=e.length;o>r;r++){const o=e[r],a=o.object,s=o.geometry,l=null===n?o.material:n,c=o.group;if(i.isArrayCamera){const e=i.cameras;for(let i=0,n=e.length;n>i;i++){const n=e[i];a.layers.test(n.layers)&&(_.viewport(b.copy(n.viewport)),u.setupLightsView(n),Re(a,t,n,s,l,c))}}else Re(a,t,i,s,l,c)}}function Re(e,t,i,n,r,o){if(e.onBeforeRender(m,t,i,n,r,o),e.modelViewMatrix.multiplyMatrices(i.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),e.isImmediateRenderObject){const n=Qe(i,t,r,e);_.setMaterial(r),Ae.reset(),function(e,t){e.render((function(e){m.renderBufferImmediate(e,t)}))}(e,n)}else m.renderBufferDirect(i,t,n,r,e,o);e.onAfterRender(m,t,i,n,r,o)}function Ue(e,t,i){!0!==t.isScene&&(t=J);const n=ee.get(e),r=u.state.lights,o=r.state.version,a=ae.getParameters(e,r.state,u.state.shadowsArray,t,i),s=ae.getProgramCacheKey(a);let l=n.programs;n.environment=e.isMeshStandardMaterial?t.environment:null,n.fog=t.fog,n.envMap=ie.get(e.envMap||n.environment),void 0===l&&(e.addEventListener("dispose",Me),l=new Map,n.programs=l);let c=l.get(s);if(void 0!==c){if(n.currentProgram===c&&n.lightsStateVersion===o)return Fe(e,a),c}else a.uniforms=ae.getUniforms(e),e.onBuild(a,m),e.onBeforeCompile(a,m),c=ae.acquireProgram(a,s),l.set(s,c),n.uniforms=a.uniforms;const h=n.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(h.clippingPlanes=he.uniform),Fe(e,a),n.needsLights=function(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&!0===e.lights}(e),n.lightsStateVersion=o,n.needsLights&&(h.ambientLightColor.value=r.state.ambient,h.lightProbe.value=r.state.probe,h.directionalLights.value=r.state.directional,h.directionalLightShadows.value=r.state.directionalShadow,h.spotLights.value=r.state.spot,h.spotLightShadows.value=r.state.spotShadow,h.rectAreaLights.value=r.state.rectArea,h.ltc_1.value=r.state.rectAreaLTC1,h.ltc_2.value=r.state.rectAreaLTC2,h.pointLights.value=r.state.point,h.pointLightShadows.value=r.state.pointShadow,h.hemisphereLights.value=r.state.hemi,h.directionalShadowMap.value=r.state.directionalShadowMap,h.directionalShadowMatrix.value=r.state.directionalShadowMatrix,h.spotShadowMap.value=r.state.spotShadowMap,h.spotShadowMatrix.value=r.state.spotShadowMatrix,h.pointShadowMap.value=r.state.pointShadowMap,h.pointShadowMatrix.value=r.state.pointShadowMatrix);const d=c.getUniforms(),p=Hr.seqWithValue(d.seq,h);return n.currentProgram=c,n.uniformsList=p,c}function Fe(e,t){const i=ee.get(e);i.outputEncoding=t.outputEncoding,i.instancing=t.instancing,i.skinning=t.skinning,i.numClippingPlanes=t.numClippingPlanes,i.numIntersection=t.numClipIntersection,i.vertexAlphas=t.vertexAlphas}function Qe(e,t,i,n){!0!==t.isScene&&(t=J),te.resetTextureUnits();const r=t.fog,o=null===I?m.outputEncoding:I.texture.encoding,a=ie.get(i.envMap||(i.isMeshStandardMaterial?t.environment:null)),s=!0===i.vertexColors&&n.geometry&&n.geometry.attributes.color&&4===n.geometry.attributes.color.itemSize,l=ee.get(i),c=u.state.lights;if(!0===V&&(!0===Y||e!==E)){he.setState(i,e,e===E&&i.id===M)}let h=!1;i.version===l.__version?l.needsLights&&l.lightsStateVersion!==c.state.version||l.outputEncoding!==o||n.isInstancedMesh&&!1===l.instancing?h=!0:n.isInstancedMesh||!0!==l.instancing?n.isSkinnedMesh&&!1===l.skinning?h=!0:n.isSkinnedMesh||!0!==l.skinning?l.envMap!==a||i.fog&&l.fog!==r?h=!0:void 0===l.numClippingPlanes||l.numClippingPlanes===he.numPlanes&&l.numIntersection===he.numIntersection?l.vertexAlphas!==s&&(h=!0):h=!0:h=!0:h=!0:(h=!0,l.__version=i.version);let d=l.currentProgram;!0===h&&(d=Ue(i,t,n));let p=!1,g=!1,f=!1;const A=d.getUniforms(),y=l.uniforms;if(_.useProgram(d.program)&&(p=!0,g=!0,f=!0),i.id!==M&&(M=i.id,g=!0),p||E!==e){if(A.setValue(ye,"projectionMatrix",e.projectionMatrix),Z.logarithmicDepthBuffer&&A.setValue(ye,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),E!==e&&(E=e,g=!0,f=!0),i.isShaderMaterial||i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshStandardMaterial||i.envMap){const t=A.map.cameraPosition;void 0!==t&&t.setValue(ye,W.setFromMatrixPosition(e.matrixWorld))}(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&A.setValue(ye,"isOrthographic",!0===e.isOrthographicCamera),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial||i.isShadowMaterial||n.isSkinnedMesh)&&A.setValue(ye,"viewMatrix",e.matrixWorldInverse)}if(n.isSkinnedMesh){A.setOptional(ye,n,"bindMatrix"),A.setOptional(ye,n,"bindMatrixInverse");const e=n.skeleton;e&&(Z.floatVertexTextures?(null===e.boneTexture&&e.computeBoneTexture(),A.setValue(ye,"boneTexture",e.boneTexture,te),A.setValue(ye,"boneTextureSize",e.boneTextureSize)):A.setOptional(ye,e,"boneMatrices"))}return(g||l.receiveShadow!==n.receiveShadow)&&(l.receiveShadow=n.receiveShadow,A.setValue(ye,"receiveShadow",n.receiveShadow)),g&&(A.setValue(ye,"toneMappingExposure",m.toneMappingExposure),l.needsLights&&function(e,t){e.ambientLightColor.needsUpdate=t,e.lightProbe.needsUpdate=t,e.directionalLights.needsUpdate=t,e.directionalLightShadows.needsUpdate=t,e.pointLights.needsUpdate=t,e.pointLightShadows.needsUpdate=t,e.spotLights.needsUpdate=t,e.spotLightShadows.needsUpdate=t,e.rectAreaLights.needsUpdate=t,e.hemisphereLights.needsUpdate=t}(y,f),r&&i.fog&&se.refreshFogUniforms(y,r),se.refreshMaterialUniforms(y,i,F,U,H),Hr.upload(ye,l.uniformsList,y,te)),i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(Hr.upload(ye,l.uniformsList,y,te),i.uniformsNeedUpdate=!1),i.isSpriteMaterial&&A.setValue(ye,"center",n.center),A.setValue(ye,"modelViewMatrix",n.modelViewMatrix),A.setValue(ye,"normalMatrix",n.normalMatrix),A.setValue(ye,"modelMatrix",n.matrixWorld),d}be.setAnimationLoop((function(e){Ee&&Ee(e)})),"undefined"!=typeof window&&be.setContext(window),this.setAnimationLoop=function(e){Ee=e,Ie.setAnimationLoop(e),null===e?be.stop():be.start()},Ie.addEventListener("sessionstart",Be),Ie.addEventListener("sessionend",Se),this.render=function(e,t){if(void 0!==t&&!0!==t.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===y)return;!0===e.autoUpdate&&e.updateMatrixWorld(),null===t.parent&&t.updateMatrixWorld(),!0===Ie.enabled&&!0===Ie.isPresenting&&(!0===Ie.cameraAutoUpdate&&Ie.updateCamera(t),t=Ie.getCamera()),!0===e.isScene&&e.onBeforeRender(m,e,t,I),u=ce.get(e,g.length),u.init(),g.push(u),j.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),K.setFromProjectionMatrix(j),Y=this.localClippingEnabled,V=he.init(this.clippingPlanes,Y,t),d=le.get(e,p.length),d.init(),p.push(d),De(e,t,0,m.sortObjects),d.finish(),!0===m.sortObjects&&d.sort(Q,L),!0===V&&he.beginShadows();de.render(u.state.shadowsArray,e,t),u.setupLights(),u.setupLightsView(t),!0===V&&he.endShadows(),!0===this.info.autoReset&&this.info.reset(),ue.render(d,e);const i=d.opaque,n=d.transmissive,r=d.transparent;i.length>0&&Te(i,e,t),n.length>0&&function(e,t,i,n){null===H&&(H=new Oe(1024,1024,{generateMipmaps:!0,minFilter:x,magFilter:A,wrapS:f,wrapT:f}));const r=m.getRenderTarget();m.setRenderTarget(H),m.clear(),Te(e,i,n),te.updateRenderTargetMipmap(H),m.setRenderTarget(r),Te(t,i,n)}(i,n,e,t),r.length>0&&Te(r,e,t),null!==I&&(te.updateRenderTargetMipmap(I),te.updateMultisampleRenderTarget(I)),!0===e.isScene&&e.onAfterRender(m,e,t),_.buffers.depth.setTest(!0),_.buffers.depth.setMask(!0),_.buffers.color.setMask(!0),_.setPolygonOffset(!1),Ae.resetDefaultState(),M=-1,E=null,g.pop(),u=g.length>0?g[g.length-1]:null,p.pop(),d=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return v},this.getActiveMipmapLevel=function(){return C},this.getRenderTarget=function(){return I},this.setRenderTarget=function(e,t=0,i=0){I=e,v=t,C=i,e&&void 0===ee.get(e).__webglFramebuffer&&te.setupRenderTarget(e);let n=null,r=!1,o=!1;if(e){const i=e.texture;(i.isDataTexture3D||i.isDataTexture2DArray)&&(o=!0);const a=ee.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(n=a[t],r=!0):n=e.isWebGLMultisampleRenderTarget?ee.get(e).__webglMultisampledFramebuffer:a,b.copy(e.viewport),k.copy(e.scissor),T=e.scissorTest}else b.copy(O).multiplyScalar(F).floor(),k.copy(N).multiplyScalar(F).floor(),T=P;if(_.bindFramebuffer(36160,n)&&Z.drawBuffers){let t=!1;if(e)if(e.isWebGLMultipleRenderTargets){const i=e.texture;if(G.length!==i.length||36064!==G[0]){for(let e=0,t=i.length;t>e;e++)G[e]=36064+e;G.length=i.length,t=!0}}else 1===G.length&&36064===G[0]||(G[0]=36064,G.length=1,t=!0);else 1===G.length&&1029===G[0]||(G[0]=1029,G.length=1,t=!0);t&&(Z.isWebGL2?ye.drawBuffers(G):q.get("WEBGL_draw_buffers").drawBuffersWEBGL(G))}if(_.viewport(b),_.scissor(k),_.setScissorTest(T),r){const n=ee.get(e.texture);ye.framebufferTexture2D(36160,36064,34069+t,n.__webglTexture,i)}else if(o){const n=ee.get(e.texture);ye.framebufferTextureLayer(36160,36064,n.__webglTexture,i||0,t||0)}},this.readRenderTargetPixels=function(e,t,i,n,r,o,a){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let s=ee.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==a&&(s=s[a]),s){_.bindFramebuffer(36160,s);try{const a=e.texture,s=a.format,l=a.type;if(s!==D&&me.convert(s)!==ye.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===S&&(q.has("EXT_color_buffer_half_float")||Z.isWebGL2&&q.has("EXT_color_buffer_float"));if(!(l===w||me.convert(l)===ye.getParameter(35738)||l===B&&(Z.isWebGL2||q.has("OES_texture_float")||q.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");36053===ye.checkFramebufferStatus(36160)?0>t||t>e.width-n||0>i||i>e.height-r||ye.readPixels(t,i,n,r,me.convert(s),me.convert(l),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const e=null!==I?ee.get(I).__webglFramebuffer:null;_.bindFramebuffer(36160,e)}}},this.copyFramebufferToTexture=function(e,t,i=0){const n=Math.pow(2,-i),r=Math.floor(t.image.width*n),o=Math.floor(t.image.height*n);let a=me.convert(t.format);Z.isWebGL2&&(6407===a&&(a=32849),6408===a&&(a=32856)),te.setTexture2D(t,0),ye.copyTexImage2D(3553,i,a,e.x,e.y,r,o,0),_.unbindTexture()},this.copyTextureToTexture=function(e,t,i,n=0){const r=t.image.width,o=t.image.height,a=me.convert(i.format),s=me.convert(i.type);te.setTexture2D(i,0),ye.pixelStorei(37440,i.flipY),ye.pixelStorei(37441,i.premultiplyAlpha),ye.pixelStorei(3317,i.unpackAlignment),t.isDataTexture?ye.texSubImage2D(3553,n,e.x,e.y,r,o,a,s,t.image.data):t.isCompressedTexture?ye.compressedTexSubImage2D(3553,n,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,a,t.mipmaps[0].data):ye.texSubImage2D(3553,n,e.x,e.y,a,s,t.image),0===n&&i.generateMipmaps&&ye.generateMipmap(3553),_.unbindTexture()},this.copyTextureToTexture3D=function(e,t,i,n,r=0){if(m.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const{width:o,height:a,data:s}=i.image,l=me.convert(n.format),c=me.convert(n.type);let h;if(n.isDataTexture3D)te.setTexture3D(n,0),h=32879;else{if(!n.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");te.setTexture2DArray(n,0),h=35866}ye.pixelStorei(37440,n.flipY),ye.pixelStorei(37441,n.premultiplyAlpha),ye.pixelStorei(3317,n.unpackAlignment);const d=ye.getParameter(3314),u=ye.getParameter(32878),p=ye.getParameter(3316),g=ye.getParameter(3315),f=ye.getParameter(32877);ye.pixelStorei(3314,o),ye.pixelStorei(32878,a),ye.pixelStorei(3316,e.min.x),ye.pixelStorei(3315,e.min.y),ye.pixelStorei(32877,e.min.z),ye.texSubImage3D(h,r,t.x,t.y,t.z,e.max.x-e.min.x+1,e.max.y-e.min.y+1,e.max.z-e.min.z+1,l,c,s),ye.pixelStorei(3314,d),ye.pixelStorei(32878,u),ye.pixelStorei(3316,p),ye.pixelStorei(3315,g),ye.pixelStorei(32877,f),0===r&&n.generateMipmaps&&ye.generateMipmap(h),_.unbindTexture()},this.initTexture=function(e){te.setTexture2D(e,0),_.unbindTexture()},this.resetState=function(){v=0,C=0,I=null,_.reset(),Ae.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}No.prototype.isWebGL1Renderer=!0;class Go{constructor(e,t=25e-5){this.name="",this.color=new pi(e),this.density=t}clone(){return new Go(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}Go.prototype.isFogExp2=!0;class Ko{constructor(e,t=1,i=1e3){this.name="",this.color=new pi(e),this.near=t,this.far=i}clone(){return new Ko(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Ko.prototype.isFog=!0;class Vo extends Yt{constructor(){super(),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}))}copy(e,t){return super.copy(e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.autoUpdate=e.autoUpdate,this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return null!==this.background&&(t.object.background=this.background.toJSON(e)),null!==this.environment&&(t.object.environment=this.environment.toJSON(e)),null!==this.fog&&(t.object.fog=this.fog.toJSON()),t}}Vo.prototype.isScene=!0;class Yo{constructor(e,t){this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.usage=pe,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Ie()}set needsUpdate(e){!0===e&&this.version++}onUploadCallback(){}setUsage(e){return this.usage=e,this}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,i){e*=this.stride,i*=t.stride;for(let n=0,r=this.stride;r>n;n++)this.array[e+n]=t.array[i+n];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Ie()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),i=new this.constructor(t,this.stride);return i.setUsage(this.usage),i}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Ie()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=Array.prototype.slice.call(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}Yo.prototype.isInterleavedBuffer=!0;const Ho=new Ke;class jo{constructor(e,t,i,n){this.name="",this.data=e,this.itemSize=t,this.offset=i,this.normalized=!0===n}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,i=this.data.count;i>t;t++)Ho.x=this.getX(t),Ho.y=this.getY(t),Ho.z=this.getZ(t),Ho.applyMatrix4(e),this.setXYZ(t,Ho.x,Ho.y,Ho.z);return this}applyNormalMatrix(e){for(let t=0,i=this.count;i>t;t++)Ho.x=this.getX(t),Ho.y=this.getY(t),Ho.z=this.getZ(t),Ho.applyNormalMatrix(e),this.setXYZ(t,Ho.x,Ho.y,Ho.z);return this}transformDirection(e){for(let t=0,i=this.count;i>t;t++)Ho.x=this.getX(t),Ho.y=this.getY(t),Ho.z=this.getZ(t),Ho.transformDirection(e),this.setXYZ(t,Ho.x,Ho.y,Ho.z);return this}setX(e,t){return this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){return this.data.array[e*this.data.stride+this.offset]}getY(e){return this.data.array[e*this.data.stride+this.offset+1]}getZ(e){return this.data.array[e*this.data.stride+this.offset+2]}getW(e){return this.data.array[e*this.data.stride+this.offset+3]}setXY(e,t,i){return this.data.array[(e=e*this.data.stride+this.offset)+0]=t,this.data.array[e+1]=i,this}setXYZ(e,t,i,n){return this.data.array[(e=e*this.data.stride+this.offset)+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=n,this}setXYZW(e,t,i,n,r){return this.data.array[(e=e*this.data.stride+this.offset)+0]=t,this.data.array[e+1]=i,this.data.array[e+2]=n,this.data.array[e+3]=r,this}clone(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.");const e=[];for(let t=0;this.count>t;t++){const i=t*this.data.stride+this.offset;for(let t=0;this.itemSize>t;t++)e.push(this.data.array[i+t])}return new Ai(new this.array.constructor(e),this.itemSize,this.normalized)}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new jo(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.");const e=[];for(let t=0;this.count>t;t++){const i=t*this.data.stride+this.offset;for(let t=0;this.itemSize>t;t++)e.push(this.data.array[i+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}jo.prototype.isInterleavedBufferAttribute=!0;class Wo extends ai{constructor(e){super(),this.type="SpriteMaterial",this.color=new pi(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this}}let Jo;Wo.prototype.isSpriteMaterial=!0;const zo=new Ke,qo=new Ke,Zo=new Ke,Xo=new ke,_o=new ke,$o=new yt,ea=new Ke,ta=new Ke,ia=new Ke,na=new ke,ra=new ke,oa=new ke;class aa extends Yt{constructor(e){if(super(),this.type="Sprite",void 0===Jo){Jo=new Ni;const e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),t=new Yo(e,5);Jo.setIndex([0,1,2,0,2,3]),Jo.setAttribute("position",new jo(t,3,0,!1)),Jo.setAttribute("uv",new jo(t,2,3,!1))}this.geometry=Jo,this.material=void 0!==e?e:new Wo,this.center=new ke(.5,.5)}raycast(e,t){null===e.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),qo.setFromMatrixScale(this.matrixWorld),$o.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),Zo.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&qo.multiplyScalar(-Zo.z);const i=this.material.rotation;let n,r;0!==i&&(r=Math.cos(i),n=Math.sin(i));const o=this.center;sa(ea.set(-.5,-.5,0),Zo,o,qo,n,r),sa(ta.set(.5,-.5,0),Zo,o,qo,n,r),sa(ia.set(.5,.5,0),Zo,o,qo,n,r),na.set(0,0),ra.set(1,0),oa.set(1,1);let a=e.ray.intersectTriangle(ea,ta,ia,!1,zo);if(null===a&&(sa(ta.set(-.5,.5,0),Zo,o,qo,n,r),ra.set(0,1),a=e.ray.intersectTriangle(ea,ia,ta,!1,zo),null===a))return;const s=e.ray.origin.distanceTo(zo);e.near>s||s>e.far||t.push({distance:s,point:zo.clone(),uv:ri.getUV(zo,ea,ta,ia,na,ra,oa,new ke),face:null,object:this})}copy(e){return super.copy(e),void 0!==e.center&&this.center.copy(e.center),this.material=e.material,this}}function sa(e,t,i,n,r,o){Xo.subVectors(e,i).addScalar(.5).multiply(n),void 0!==r?(_o.x=o*Xo.x-r*Xo.y,_o.y=r*Xo.x+o*Xo.y):_o.copy(Xo),e.copy(t),e.x+=_o.x,e.y+=_o.y,e.applyMatrix4($o)}aa.prototype.isSprite=!0;const la=new Ke,ca=new Ke;class ha extends Yt{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let e=0,i=t.length;i>e;e++){const i=t[e];this.addLevel(i.object.clone(),i.distance)}return this.autoUpdate=e.autoUpdate,this}addLevel(e,t=0){t=Math.abs(t);const i=this.levels;let n;for(n=0;i.length>n&&i[n].distance<=t;n++);return i.splice(n,0,{distance:t,object:e}),this.add(e),this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){const t=this.levels;if(t.length>0){let i,n;for(i=1,n=t.length;n>i&&t[i].distance<=e;i++);return t[i-1].object}return null}raycast(e,t){if(this.levels.length>0){la.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(la);this.getObjectForDistance(i).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){la.setFromMatrixPosition(e.matrixWorld),ca.setFromMatrixPosition(this.matrixWorld);const i=la.distanceTo(ca)/e.zoom;let n,r;for(t[0].object.visible=!0,n=1,r=t.length;r>n&&t[n].distance<=i;n++)t[n-1].object.visible=!1,t[n].object.visible=!0;for(this._currentLevel=n-1;r>n;n++)t[n].object.visible=!1}}toJSON(e){const t=super.toJSON(e);!1===this.autoUpdate&&(t.object.autoUpdate=!1),t.object.levels=[];const i=this.levels;for(let e=0,n=i.length;n>e;e++){const n=i[e];t.object.levels.push({object:n.object.uuid,distance:n.distance})}return t}}const da=new Ke,ua=new Le,pa=new Le,ga=new Ke,fa=new yt;class ma extends nn{constructor(e,t){super(e,t),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new yt,this.bindMatrixInverse=new yt}copy(e){return super.copy(e),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,this}bind(e,t){this.skeleton=e,void 0===t&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new Le,t=this.geometry.attributes.skinWeight;for(let i=0,n=t.count;n>i;i++){e.x=t.getX(i),e.y=t.getY(i),e.z=t.getZ(i),e.w=t.getW(i);const n=1/e.manhattanLength();n!==1/0?e.multiplyScalar(n):e.set(1,0,0,0),t.setXYZW(i,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}boneTransform(e,t){const i=this.skeleton,n=this.geometry;ua.fromBufferAttribute(n.attributes.skinIndex,e),pa.fromBufferAttribute(n.attributes.skinWeight,e),da.fromBufferAttribute(n.attributes.position,e).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let e=0;4>e;e++){const n=pa.getComponent(e);if(0!==n){const r=ua.getComponent(e);fa.multiplyMatrices(i.bones[r].matrixWorld,i.boneInverses[r]),t.addScaledVector(ga.copy(da).applyMatrix4(fa),n)}}return t.applyMatrix4(this.bindMatrixInverse)}}ma.prototype.isSkinnedMesh=!0;class Aa extends Yt{constructor(){super(),this.type="Bone"}}Aa.prototype.isBone=!0;class ya extends Fe{constructor(e,t,i,n,r,o,a,s,l,c,h,d){super(null,o,a,s,l,c,n,r,h,d),this.image={data:e||null,width:t||1,height:i||1},this.magFilter=void 0!==l?l:A,this.minFilter=void 0!==c?c:A,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.needsUpdate=!0}}ya.prototype.isDataTexture=!0;const va=new yt,Ca=new yt;class Ia{constructor(e=[],t=[]){this.uuid=Ie(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(16*e.length),0===t.length)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let e=0,t=this.bones.length;t>e;e++)this.boneInverses.push(new yt)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;t>e;e++){const t=new yt;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;t>e;e++){const t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;t>e;e++){const t=this.bones[e];t&&(t.parent&&t.parent.isBone?(t.matrix.copy(t.parent.matrixWorld).invert(),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))}}update(){const e=this.bones,t=this.boneInverses,i=this.boneMatrices,n=this.boneTexture;for(let n=0,r=e.length;r>n;n++){va.multiplyMatrices(e[n]?e[n].matrixWorld:Ca,t[n]),va.toArray(i,16*n)}null!==n&&(n.needsUpdate=!0)}clone(){return new Ia(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(4*this.bones.length);e=Be(e),e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const i=new ya(t,e,e,D,B);return this.boneMatrices=t,this.boneTexture=i,this.boneTextureSize=e,this}getBoneByName(e){for(let t=0,i=this.bones.length;i>t;t++){const i=this.bones[t];if(i.name===e)return i}}dispose(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let i=0,n=e.bones.length;n>i;i++){const n=e.bones[i];let r=t[n];void 0===r&&(console.warn("THREE.Skeleton: No bone found with UUID:",n),r=new Aa),this.bones.push(r),this.boneInverses.push((new yt).fromArray(e.boneInverses[i]))}return this.init(),this}toJSON(){const e={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,i=this.boneInverses;for(let n=0,r=t.length;r>n;n++){e.bones.push(t[n].uuid);e.boneInverses.push(i[n].toArray())}return e}}const xa=new yt,wa=new yt,Ma=[],Ea=new nn;class Ba extends nn{constructor(e,t,i){super(e,t),this.instanceMatrix=new Ai(new Float32Array(16*i),16),this.instanceColor=null,this.count=i,this.frustumCulled=!1}copy(e){return super.copy(e),this.instanceMatrix.copy(e.instanceMatrix),null!==e.instanceColor&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,this}getColorAt(e,t){t.fromArray(this.instanceColor.array,3*e)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,16*e)}raycast(e,t){const i=this.matrixWorld,n=this.count;if(Ea.geometry=this.geometry,Ea.material=this.material,void 0!==Ea.material)for(let r=0;n>r;r++){this.getMatrixAt(r,xa),wa.multiplyMatrices(i,xa),Ea.matrixWorld=wa,Ea.raycast(e,Ma);for(let e=0,i=Ma.length;i>e;e++){const i=Ma[e];i.instanceId=r,i.object=this,t.push(i)}Ma.length=0}}setColorAt(e,t){null===this.instanceColor&&(this.instanceColor=new Ai(new Float32Array(3*this.count),3)),t.toArray(this.instanceColor.array,3*e)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,16*e)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}Ba.prototype.isInstancedMesh=!0;class Sa extends ai{constructor(e){super(),this.type="LineBasicMaterial",this.color=new pi(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.morphTargets=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.morphTargets=e.morphTargets,this}}Sa.prototype.isLineBasicMaterial=!0;const ba=new Ke,ka=new Ke,Da=new yt,Ta=new At,Ra=new ct;class Ua extends Yt{constructor(e=new Ni,t=new Sa){super(),this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),this.material=e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position,i=[0];for(let e=1,n=t.count;n>e;e++)ba.fromBufferAttribute(t,e-1),ka.fromBufferAttribute(t,e),i[e]=i[e-1],i[e]+=ba.distanceTo(ka);e.setAttribute("lineDistance",new Bi(i,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else e.isGeometry&&console.error("THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this}raycast(e,t){const i=this.geometry,n=this.matrixWorld,r=e.params.Line.threshold,o=i.drawRange;if(null===i.boundingSphere&&i.computeBoundingSphere(),Ra.copy(i.boundingSphere),Ra.applyMatrix4(n),Ra.radius+=r,!1===e.ray.intersectsSphere(Ra))return;Da.copy(n).invert(),Ta.copy(e.ray).applyMatrix4(Da);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),s=a*a,l=new Ke,c=new Ke,h=new Ke,d=new Ke,u=this.isLineSegments?2:1;if(i.isBufferGeometry){const n=i.index,r=i.attributes.position;if(null!==n){for(let i=Math.max(0,o.start),a=Math.min(n.count,o.start+o.count)-1;a>i;i+=u){const o=n.getX(i),a=n.getX(i+1);l.fromBufferAttribute(r,o),c.fromBufferAttribute(r,a);if(Ta.distanceSqToSegment(l,c,d,h)>s)continue;d.applyMatrix4(this.matrixWorld);const u=e.ray.origin.distanceTo(d);u<e.near||e.far<u||t.push({distance:u,point:h.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}else{for(let i=Math.max(0,o.start),n=Math.min(r.count,o.start+o.count)-1;n>i;i+=u){l.fromBufferAttribute(r,i),c.fromBufferAttribute(r,i+1);if(Ta.distanceSqToSegment(l,c,d,h)>s)continue;d.applyMatrix4(this.matrixWorld);const n=e.ray.origin.distanceTo(d);n<e.near||e.far<n||t.push({distance:n,point:h.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}}else i.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes,i=Object.keys(t);if(i.length>0){const e=t[i[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,i=e.length;i>t;t++){const i=e[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[i]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}Ua.prototype.isLine=!0;const Fa=new Ke,Qa=new Ke;class La extends Ua{constructor(e,t){super(e,t),this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position,i=[];for(let e=0,n=t.count;n>e;e+=2)Fa.fromBufferAttribute(t,e),Qa.fromBufferAttribute(t,e+1),i[e]=0===e?0:i[e-1],i[e+1]=i[e]+Fa.distanceTo(Qa);e.setAttribute("lineDistance",new Bi(i,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");else e.isGeometry&&console.error("THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");return this}}La.prototype.isLineSegments=!0;class Oa extends Ua{constructor(e,t){super(e,t),this.type="LineLoop"}}Oa.prototype.isLineLoop=!0;class Na extends ai{constructor(e){super(),this.type="PointsMaterial",this.color=new pi(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.morphTargets=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.morphTargets=e.morphTargets,this}}Na.prototype.isPointsMaterial=!0;const Pa=new yt,Ga=new At,Ka=new ct,Va=new Ke;class Ya extends Yt{constructor(e=new Ni,t=new Na){super(),this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e){return super.copy(e),this.material=e.material,this.geometry=e.geometry,this}raycast(e,t){const i=this.geometry,n=this.matrixWorld,r=e.params.Points.threshold,o=i.drawRange;if(null===i.boundingSphere&&i.computeBoundingSphere(),Ka.copy(i.boundingSphere),Ka.applyMatrix4(n),Ka.radius+=r,!1===e.ray.intersectsSphere(Ka))return;Pa.copy(n).invert(),Ga.copy(e.ray).applyMatrix4(Pa);const a=r/((this.scale.x+this.scale.y+this.scale.z)/3),s=a*a;if(i.isBufferGeometry){const r=i.index,a=i.attributes.position;if(null!==r){for(let i=Math.max(0,o.start),l=Math.min(r.count,o.start+o.count);l>i;i++){const o=r.getX(i);Va.fromBufferAttribute(a,o),Ha(Va,o,s,n,e,t,this)}}else{for(let i=Math.max(0,o.start),r=Math.min(a.count,o.start+o.count);r>i;i++)Va.fromBufferAttribute(a,i),Ha(Va,i,s,n,e,t,this)}}else console.error("THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes,i=Object.keys(t);if(i.length>0){const e=t[i[0]];if(void 0!==e){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,i=e.length;i>t;t++){const i=e[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[i]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function Ha(e,t,i,n,r,o,a){const s=Ga.distanceSqToPoint(e);if(i>s){const i=new Ke;Ga.closestPointToPoint(e,i),i.applyMatrix4(n);const l=r.ray.origin.distanceTo(i);if(r.near>l||l>r.far)return;o.push({distance:l,distanceToRay:Math.sqrt(s),point:i,index:t,face:null,object:a})}}Ya.prototype.isPoints=!0;class ja extends Fe{constructor(e,t,i,n,r,o,a,s,l){super(e,t,i,n,r,o,a,s,l),this.format=void 0!==a?a:k,this.minFilter=void 0!==o?o:C,this.magFilter=void 0!==r?r:C,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback((function t(){c.needsUpdate=!0,e.requestVideoFrameCallback(t)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;!1!=="requestVideoFrameCallback"in e||e.HAVE_CURRENT_DATA>e.readyState||(this.needsUpdate=!0)}}ja.prototype.isVideoTexture=!0;class Wa extends Fe{constructor(e,t,i,n,r,o,a,s,l,c,h,d){super(null,o,a,s,l,c,n,r,h,d),this.image={width:t,height:i},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}Wa.prototype.isCompressedTexture=!0;class Ja extends Fe{constructor(e,t,i,n,r,o,a,s,l){super(e,t,i,n,r,o,a,s,l),this.needsUpdate=!0}}Ja.prototype.isCanvasTexture=!0;class za extends Fe{constructor(e,t,i,n,r,o,a,s,l,c){if((c=void 0!==c?c:T)!==T&&c!==R)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===i&&c===T&&(i=M),void 0===i&&c===R&&(i=b),super(null,n,r,o,a,s,c,i,l),this.image={width:e,height:t},this.magFilter=void 0!==a?a:A,this.minFilter=void 0!==s?s:A,this.flipY=!1,this.generateMipmaps=!1}}za.prototype.isDepthTexture=!0;class qa extends Ni{constructor(e=1,t=8,i=0,n=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:i,thetaLength:n},t=Math.max(3,t);const r=[],o=[],a=[],s=[],l=new Ke,c=new ke;o.push(0,0,0),a.push(0,0,1),s.push(.5,.5);for(let r=0,h=3;t>=r;r++,h+=3){const d=i+r/t*n;l.x=e*Math.cos(d),l.y=e*Math.sin(d),o.push(l.x,l.y,l.z),a.push(0,0,1),c.x=(o[h]/e+1)/2,c.y=(o[h+1]/e+1)/2,s.push(c.x,c.y)}for(let e=1;t>=e;e++)r.push(e,e+1,0);this.setIndex(r),this.setAttribute("position",new Bi(o,3)),this.setAttribute("normal",new Bi(a,3)),this.setAttribute("uv",new Bi(s,2))}}class Za extends Ni{constructor(e=1,t=1,i=1,n=8,r=1,o=!1,a=0,s=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:i,radialSegments:n,heightSegments:r,openEnded:o,thetaStart:a,thetaLength:s};const l=this;n=Math.floor(n),r=Math.floor(r);const c=[],h=[],d=[],u=[];let p=0;const g=[],f=i/2;let m=0;function A(i){const r=p,o=new ke,g=new Ke;let A=0;const y=!0===i?e:t,v=!0===i?1:-1;for(let e=1;n>=e;e++)h.push(0,f*v,0),d.push(0,v,0),u.push(.5,.5),p++;const C=p;for(let e=0;n>=e;e++){const t=e/n*s+a,i=Math.cos(t),r=Math.sin(t);g.x=y*r,g.y=f*v,g.z=y*i,h.push(g.x,g.y,g.z),d.push(0,v,0),o.x=.5*i+.5,o.y=.5*r*v+.5,u.push(o.x,o.y),p++}for(let e=0;n>e;e++){const t=r+e,n=C+e;!0===i?c.push(n,n+1,t):c.push(n+1,n,t),A+=3}l.addGroup(m,A,!0===i?1:2),m+=A}!function(){const o=new Ke,A=new Ke;let y=0;const v=(t-e)/i;for(let l=0;r>=l;l++){const c=[],m=l/r,y=m*(t-e)+e;for(let e=0;n>=e;e++){const t=e/n,r=t*s+a,l=Math.sin(r),g=Math.cos(r);A.x=y*l,A.y=-m*i+f,A.z=y*g,h.push(A.x,A.y,A.z),o.set(l,v,g).normalize(),d.push(o.x,o.y,o.z),u.push(t,1-m),c.push(p++)}g.push(c)}for(let e=0;n>e;e++)for(let t=0;r>t;t++){const i=g[t+1][e],n=g[t+1][e+1],r=g[t][e+1];c.push(g[t][e],i,r),c.push(i,n,r),y+=6}l.addGroup(m,y,0),m+=y}(),!1===o&&(e>0&&A(!0),t>0&&A(!1)),this.setIndex(c),this.setAttribute("position",new Bi(h,3)),this.setAttribute("normal",new Bi(d,3)),this.setAttribute("uv",new Bi(u,2))}}class Xa extends Za{constructor(e=1,t=1,i=8,n=1,r=!1,o=0,a=2*Math.PI){super(0,e,t,i,n,r,o,a),this.type="ConeGeometry",this.parameters={radius:e,height:t,radialSegments:i,heightSegments:n,openEnded:r,thetaStart:o,thetaLength:a}}}class _a extends Ni{constructor(e,t,i=1,n=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:i,detail:n};const r=[],o=[];function a(e,t,i,n){const r=n+1,o=[];for(let n=0;r>=n;n++){o[n]=[];const a=e.clone().lerp(i,n/r),s=t.clone().lerp(i,n/r),l=r-n;for(let e=0;l>=e;e++)o[n][e]=0===e&&n===r?a:a.clone().lerp(s,e/l)}for(let e=0;r>e;e++)for(let t=0;2*(r-e)-1>t;t++){const i=Math.floor(t/2);t%2==0?(s(o[e][i+1]),s(o[e+1][i]),s(o[e][i])):(s(o[e][i+1]),s(o[e+1][i+1]),s(o[e+1][i]))}}function s(e){r.push(e.x,e.y,e.z)}function l(t,i){const n=3*t;i.x=e[n+0],i.y=e[n+1],i.z=e[n+2]}function c(e,t,i,n){0>n&&1===e.x&&(o[t]=e.x-1),0===i.x&&0===i.z&&(o[t]=n/2/Math.PI+.5)}function h(e){return Math.atan2(e.z,-e.x)}!function(e){const i=new Ke,n=new Ke,r=new Ke;for(let o=0;t.length>o;o+=3)l(t[o+0],i),l(t[o+1],n),l(t[o+2],r),a(i,n,r,e)}(n),function(e){const t=new Ke;for(let i=0;r.length>i;i+=3)t.x=r[i+0],t.y=r[i+1],t.z=r[i+2],t.normalize().multiplyScalar(e),r[i+0]=t.x,r[i+1]=t.y,r[i+2]=t.z}(i),function(){const e=new Ke;for(let i=0;r.length>i;i+=3){e.x=r[i+0],e.y=r[i+1],e.z=r[i+2];const n=h(e)/2/Math.PI+.5,a=(t=e,Math.atan2(-t.y,Math.sqrt(t.x*t.x+t.z*t.z))/Math.PI+.5);o.push(n,1-a)}var t;(function(){const e=new Ke,t=new Ke,i=new Ke,n=new Ke,a=new ke,s=new ke,l=new ke;for(let d=0,u=0;r.length>d;d+=9,u+=6){e.set(r[d+0],r[d+1],r[d+2]),t.set(r[d+3],r[d+4],r[d+5]),i.set(r[d+6],r[d+7],r[d+8]),a.set(o[u+0],o[u+1]),s.set(o[u+2],o[u+3]),l.set(o[u+4],o[u+5]),n.copy(e).add(t).add(i).divideScalar(3);const p=h(n);c(a,u+0,e,p),c(s,u+2,t,p),c(l,u+4,i,p)}})(),function(){for(let e=0;o.length>e;e+=6){const t=o[e+0],i=o[e+2],n=o[e+4],r=Math.max(t,i,n),a=Math.min(t,i,n);r>.9&&.1>a&&(.2>t&&(o[e+0]+=1),.2>i&&(o[e+2]+=1),.2>n&&(o[e+4]+=1))}}()}(),this.setAttribute("position",new Bi(r,3)),this.setAttribute("normal",new Bi(r.slice(),3)),this.setAttribute("uv",new Bi(o,2)),0===n?this.computeVertexNormals():this.normalizeNormals()}}class $a extends _a{constructor(e=1,t=0){const i=(1+Math.sqrt(5))/2,n=1/i;super([-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,-n,-i,0,-n,i,0,n,-i,0,n,i,-n,-i,0,-n,i,0,n,-i,0,n,i,0,-i,0,-n,i,0,-n,-i,0,n,i,0,n],[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],e,t),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t}}}const es=new Ke,ts=new Ke,is=new Ke,ns=new ri;class rs extends Ni{constructor(e,t){if(super(),this.type="EdgesGeometry",this.parameters={thresholdAngle:t},t=void 0!==t?t:1,!0===e.isGeometry)return void console.error("THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");const i=Math.pow(10,4),n=Math.cos(ve*t),r=e.getIndex(),o=e.getAttribute("position"),a=r?r.count:o.count,s=[0,0,0],l=["a","b","c"],c=new Array(3),h={},d=[];for(let e=0;a>e;e+=3){r?(s[0]=r.getX(e),s[1]=r.getX(e+1),s[2]=r.getX(e+2)):(s[0]=e,s[1]=e+1,s[2]=e+2);const{a:t,b:a,c:u}=ns;if(t.fromBufferAttribute(o,s[0]),a.fromBufferAttribute(o,s[1]),u.fromBufferAttribute(o,s[2]),ns.getNormal(is),c[0]=`${Math.round(t.x*i)},${Math.round(t.y*i)},${Math.round(t.z*i)}`,c[1]=`${Math.round(a.x*i)},${Math.round(a.y*i)},${Math.round(a.z*i)}`,c[2]=`${Math.round(u.x*i)},${Math.round(u.y*i)},${Math.round(u.z*i)}`,c[0]!==c[1]&&c[1]!==c[2]&&c[2]!==c[0])for(let e=0;3>e;e++){const t=(e+1)%3,i=c[e],r=c[t],o=ns[l[e]],a=ns[l[t]],u=`${i}_${r}`,p=`${r}_${i}`;p in h&&h[p]?(is.dot(h[p].normal)>n||(d.push(o.x,o.y,o.z),d.push(a.x,a.y,a.z)),h[p]=null):u in h||(h[u]={index0:s[e],index1:s[t],normal:is.clone()})}}for(const e in h)if(h[e]){const{index0:t,index1:i}=h[e];es.fromBufferAttribute(o,t),ts.fromBufferAttribute(o,i),d.push(es.x,es.y,es.z),d.push(ts.x,ts.y,ts.z)}this.setAttribute("position",new Bi(d,3))}}const os=function(e,t,i){i=i||2;const n=t&&t.length,r=n?t[0]*i:e.length;let o=as(e,0,r,i,!0);const a=[];if(!o||o.next===o.prev)return a;let s,l,c,h,d,u,p;if(n&&(o=function(e,t,i,n){const r=[];let o,a,s,l,c;for(o=0,a=t.length;a>o;o++)s=t[o]*n,l=a-1>o?t[o+1]*n:e.length,c=as(e,s,l,n,!1),c===c.next&&(c.steiner=!0),r.push(As(c));for(r.sort(ps),o=0;r.length>o;o++)gs(r[o],i),i=ss(i,i.next);return i}(e,t,o,i)),e.length>80*i){s=c=e[0],l=h=e[1];for(let t=i;r>t;t+=i)d=e[t],u=e[t+1],s>d&&(s=d),l>u&&(l=u),d>c&&(c=d),u>h&&(h=u);p=Math.max(c-s,h-l),p=0!==p?1/p:0}return ls(o,a,i,s,l,p),a};function as(e,t,i,n,r){let o,a;if(r===function(e,t,i,n){let r=0;for(let o=t,a=i-n;i>o;o+=n)r+=(e[a]-e[o])*(e[o+1]+e[a+1]),a=o;return r}(e,t,i,n)>0)for(o=t;i>o;o+=n)a=Ss(o,e[o],e[o+1],a);else for(o=i-n;o>=t;o-=n)a=Ss(o,e[o],e[o+1],a);return a&&Is(a,a.next)&&(bs(a),a=a.next),a}function ss(e,t){if(!e)return e;t||(t=e);let i,n=e;do{if(i=!1,n.steiner||!Is(n,n.next)&&0!==Cs(n.prev,n,n.next))n=n.next;else{if(bs(n),n=t=n.prev,n===n.next)break;i=!0}}while(i||n!==t);return t}function ls(e,t,i,n,r,o,a){if(!e)return;!a&&o&&function(e,t,i,n){let r=e;do{null===r.z&&(r.z=ms(r.x,r.y,t,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==e);r.prevZ.nextZ=null,r.prevZ=null,function(e){let t,i,n,r,o,a,s,l,c=1;do{for(i=e,e=null,o=null,a=0;i;){for(a++,n=i,s=0,t=0;c>t&&(s++,n=n.nextZ,n);t++);for(l=c;s>0||l>0&&n;)0===s||0!==l&&n&&i.z>n.z?(r=n,n=n.nextZ,l--):(r=i,i=i.nextZ,s--),o?o.nextZ=r:e=r,r.prevZ=o,o=r;i=n}o.nextZ=null,c*=2}while(a>1)}(r)}(e,n,r,o);let s,l,c=e;for(;e.prev!==e.next;)if(s=e.prev,l=e.next,o?hs(e,n,r,o):cs(e))t.push(s.i/i),t.push(e.i/i),t.push(l.i/i),bs(e),e=l.next,c=l.next;else if((e=l)===c){a?1===a?ls(e=ds(ss(e),t,i),t,i,n,r,o,2):2===a&&us(e,t,i,n,r,o):ls(ss(e),t,i,n,r,o,1);break}}function cs(e){const t=e.prev,i=e,n=e.next;if(Cs(t,i,n)>=0)return!1;let r=e.next.next;for(;r!==e.prev;){if(ys(t.x,t.y,i.x,i.y,n.x,n.y,r.x,r.y)&&Cs(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function hs(e,t,i,n){const r=e.prev,o=e,a=e.next;if(Cs(r,o,a)>=0)return!1;const s=r.x>o.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,l=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,c=ms(o.x>r.x?a.x>r.x?r.x:a.x:a.x>o.x?o.x:a.x,o.y>r.y?a.y>r.y?r.y:a.y:a.y>o.y?o.y:a.y,t,i,n),h=ms(s,l,t,i,n);let d=e.prevZ,u=e.nextZ;for(;d&&d.z>=c&&u&&h>=u.z;){if(d!==e.prev&&d!==e.next&&ys(r.x,r.y,o.x,o.y,a.x,a.y,d.x,d.y)&&Cs(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,u!==e.prev&&u!==e.next&&ys(r.x,r.y,o.x,o.y,a.x,a.y,u.x,u.y)&&Cs(u.prev,u,u.next)>=0)return!1;u=u.nextZ}for(;d&&d.z>=c;){if(d!==e.prev&&d!==e.next&&ys(r.x,r.y,o.x,o.y,a.x,a.y,d.x,d.y)&&Cs(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;u&&h>=u.z;){if(u!==e.prev&&u!==e.next&&ys(r.x,r.y,o.x,o.y,a.x,a.y,u.x,u.y)&&Cs(u.prev,u,u.next)>=0)return!1;u=u.nextZ}return!0}function ds(e,t,i){let n=e;do{const r=n.prev,o=n.next.next;!Is(r,o)&&xs(r,n,n.next,o)&&Es(r,o)&&Es(o,r)&&(t.push(r.i/i),t.push(n.i/i),t.push(o.i/i),bs(n),bs(n.next),n=e=o),n=n.next}while(n!==e);return ss(n)}function us(e,t,i,n,r,o){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&vs(a,e)){let s=Bs(a,e);return a=ss(a,a.next),s=ss(s,s.next),ls(a,t,i,n,r,o),void ls(s,t,i,n,r,o)}e=e.next}a=a.next}while(a!==e)}function ps(e,t){return e.x-t.x}function gs(e,t){if(t=function(e,t){let i=t;const n=e.x,r=e.y;let o,a=-1/0;do{if(i.y>=r&&r>=i.next.y&&i.next.y!==i.y){const e=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(n>=e&&e>a){if(a=e,e===n){if(r===i.y)return i;if(r===i.next.y)return i.next}o=i.next.x>i.x?i:i.next}}i=i.next}while(i!==t);if(!o)return null;if(n===a)return o;const s=o,l=o.x,c=o.y;let h,d=1/0;i=o;do{i.x>n||l>i.x||n===i.x||!ys(c>r?n:a,r,l,c,c>r?a:n,r,i.x,i.y)||(h=Math.abs(r-i.y)/(n-i.x),Es(i,e)&&(d>h||h===d&&(i.x>o.x||i.x===o.x&&fs(o,i)))&&(o=i,d=h)),i=i.next}while(i!==s);return o}(e,t)){const i=Bs(t,e);ss(t,t.next),ss(i,i.next)}}function fs(e,t){return 0>Cs(e.prev,e,t.prev)&&0>Cs(t.next,e,e.next)}function ms(e,t,i,n,r){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function As(e){let t=e,i=e;do{(i.x>t.x||t.x===i.x&&i.y>t.y)&&(i=t),t=t.next}while(t!==e);return i}function ys(e,t,i,n,r,o,a,s){return(r-a)*(t-s)-(e-a)*(o-s)>=0&&(e-a)*(n-s)-(i-a)*(t-s)>=0&&(i-a)*(o-s)-(r-a)*(n-s)>=0}function vs(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let i=e;do{if(i.i!==e.i&&i.next.i!==e.i&&i.i!==t.i&&i.next.i!==t.i&&xs(i,i.next,e,t))return!0;i=i.next}while(i!==e);return!1}(e,t)&&(Es(e,t)&&Es(t,e)&&function(e,t){let i=e,n=!1;const r=(e.x+t.x)/2,o=(e.y+t.y)/2;do{i.y>o!=i.next.y>o&&i.next.y!==i.y&&(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x>r&&(n=!n),i=i.next}while(i!==e);return n}(e,t)&&(Cs(e.prev,e,t.prev)||Cs(e,t.prev,t))||Is(e,t)&&Cs(e.prev,e,e.next)>0&&Cs(t.prev,t,t.next)>0)}function Cs(e,t,i){return(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y)}function Is(e,t){return e.x===t.x&&e.y===t.y}function xs(e,t,i,n){const r=Ms(Cs(e,t,i)),o=Ms(Cs(e,t,n)),a=Ms(Cs(i,n,e)),s=Ms(Cs(i,n,t));return r!==o&&a!==s||(!(0!==r||!ws(e,i,t))||(!(0!==o||!ws(e,n,t))||(!(0!==a||!ws(i,e,n))||!(0!==s||!ws(i,t,n)))))}function ws(e,t,i){return!(t.x>Math.max(e.x,i.x)||t.x<Math.min(e.x,i.x)||t.y>Math.max(e.y,i.y)||t.y<Math.min(e.y,i.y))}function Ms(e){return e>0?1:0>e?-1:0}function Es(e,t){return 0>Cs(e.prev,e,e.next)?Cs(e,t,e.next)>=0&&Cs(e,e.prev,t)>=0:0>Cs(e,t,e.prev)||0>Cs(e,e.next,t)}function Bs(e,t){const i=new ks(e.i,e.x,e.y),n=new ks(t.i,t.x,t.y),r=e.next,o=t.prev;return e.next=t,t.prev=e,i.next=r,r.prev=i,n.next=i,i.prev=n,o.next=n,n.prev=o,n}function Ss(e,t,i,n){const r=new ks(e,t,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function bs(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function ks(e,t,i){this.i=e,this.x=t,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Ds{static area(e){const t=e.length;let i=0;for(let n=t-1,r=0;t>r;n=r++)i+=e[n].x*e[r].y-e[r].x*e[n].y;return.5*i}static isClockWise(e){return 0>Ds.area(e)}static triangulateShape(e,t){const i=[],n=[],r=[];Ts(e),Rs(i,e);let o=e.length;t.forEach(Ts);for(let e=0;t.length>e;e++)n.push(o),o+=t[e].length,Rs(i,t[e]);const a=os(i,n);for(let e=0;a.length>e;e+=3)r.push(a.slice(e,e+3));return r}}function Ts(e){const t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function Rs(e,t){for(let i=0;t.length>i;i++)e.push(t[i].x),e.push(t[i].y)}class Us extends Ni{constructor(e,t){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];const i=this,n=[],r=[];for(let t=0,i=e.length;i>t;t++){o(e[t])}function o(e){const o=[],a=void 0!==t.curveSegments?t.curveSegments:12,s=void 0!==t.steps?t.steps:1;let l=void 0!==t.depth?t.depth:100,c=void 0===t.bevelEnabled||t.bevelEnabled,h=void 0!==t.bevelThickness?t.bevelThickness:6,d=void 0!==t.bevelSize?t.bevelSize:h-2,u=void 0!==t.bevelOffset?t.bevelOffset:0,p=void 0!==t.bevelSegments?t.bevelSegments:3;const g=t.extrudePath,f=void 0!==t.UVGenerator?t.UVGenerator:Fs;void 0!==t.amount&&(console.warn("THREE.ExtrudeBufferGeometry: amount has been renamed to depth."),l=t.amount);let m,A,y,v,C,I=!1;g&&(m=g.getSpacedPoints(s),I=!0,c=!1,A=g.computeFrenetFrames(s,!1),y=new Ke,v=new Ke,C=new Ke),c||(p=0,h=0,d=0,u=0);const x=e.extractPoints(a);let w=x.shape;const M=x.holes;if(!Ds.isClockWise(w)){w=w.reverse();for(let e=0,t=M.length;t>e;e++){const t=M[e];Ds.isClockWise(t)&&(M[e]=t.reverse())}}const E=Ds.triangulateShape(w,M),B=w;for(let e=0,t=M.length;t>e;e++){w=w.concat(M[e])}function S(e,t,i){return t||console.error("THREE.ExtrudeGeometry: vec does not exist"),t.clone().multiplyScalar(i).add(e)}const b=w.length,k=E.length;function D(e,t,i){let n,r,o;const a=e.x-t.x,s=e.y-t.y,l=i.x-e.x,c=i.y-e.y,h=a*a+s*s;if(Math.abs(a*c-s*l)>Number.EPSILON){const d=Math.sqrt(h),u=Math.sqrt(l*l+c*c),p=t.x-s/d,g=t.y+a/d,f=((i.x-c/u-p)*c-(i.y+l/u-g)*l)/(a*c-s*l);n=p+a*f-e.x,r=g+s*f-e.y;const m=n*n+r*r;if(2>=m)return new ke(n,r);o=Math.sqrt(m/2)}else{let e=!1;a>Number.EPSILON?l>Number.EPSILON&&(e=!0):-Number.EPSILON>a?-Number.EPSILON>l&&(e=!0):Math.sign(s)===Math.sign(c)&&(e=!0),e?(n=-s,r=a,o=Math.sqrt(h)):(n=a,r=s,o=Math.sqrt(h/2))}return new ke(n/o,r/o)}const T=[];for(let e=0,t=B.length,i=t-1,n=e+1;t>e;e++,i++,n++)i===t&&(i=0),n===t&&(n=0),T[e]=D(B[e],B[i],B[n]);const R=[];let U,F=T.concat();for(let e=0,t=M.length;t>e;e++){const t=M[e];U=[];for(let e=0,i=t.length,n=i-1,r=e+1;i>e;e++,n++,r++)n===i&&(n=0),r===i&&(r=0),U[e]=D(t[e],t[n],t[r]);R.push(U),F=F.concat(U)}for(let e=0;p>e;e++){const t=e/p,i=h*Math.cos(t*Math.PI/2),n=d*Math.sin(t*Math.PI/2)+u;for(let e=0,t=B.length;t>e;e++){const t=S(B[e],T[e],n);O(t.x,t.y,-i)}for(let e=0,t=M.length;t>e;e++){const t=M[e];U=R[e];for(let e=0,r=t.length;r>e;e++){const r=S(t[e],U[e],n);O(r.x,r.y,-i)}}}const Q=d+u;for(let e=0;b>e;e++){const t=c?S(w[e],F[e],Q):w[e];I?(v.copy(A.normals[0]).multiplyScalar(t.x),y.copy(A.binormals[0]).multiplyScalar(t.y),C.copy(m[0]).add(v).add(y),O(C.x,C.y,C.z)):O(t.x,t.y,0)}for(let e=1;s>=e;e++)for(let t=0;b>t;t++){const i=c?S(w[t],F[t],Q):w[t];I?(v.copy(A.normals[e]).multiplyScalar(i.x),y.copy(A.binormals[e]).multiplyScalar(i.y),C.copy(m[e]).add(v).add(y),O(C.x,C.y,C.z)):O(i.x,i.y,l/s*e)}for(let e=p-1;e>=0;e--){const t=e/p,i=h*Math.cos(t*Math.PI/2),n=d*Math.sin(t*Math.PI/2)+u;for(let e=0,t=B.length;t>e;e++){const t=S(B[e],T[e],n);O(t.x,t.y,l+i)}for(let e=0,t=M.length;t>e;e++){const t=M[e];U=R[e];for(let e=0,r=t.length;r>e;e++){const r=S(t[e],U[e],n);I?O(r.x,r.y+m[s-1].y,m[s-1].x+i):O(r.x,r.y,l+i)}}}function L(e,t){let i=e.length;for(;--i>=0;){const n=i;let r=i-1;0>r&&(r=e.length-1);for(let e=0,i=s+2*p;i>e;e++){const i=b*e,o=b*(e+1);P(t+n+i,t+r+i,t+r+o,t+n+o)}}}function O(e,t,i){o.push(e),o.push(t),o.push(i)}function N(e,t,r){G(e),G(t),G(r);const o=n.length/3,a=f.generateTopUV(i,n,o-3,o-2,o-1);K(a[0]),K(a[1]),K(a[2])}function P(e,t,r,o){G(e),G(t),G(o),G(t),G(r),G(o);const a=n.length/3,s=f.generateSideWallUV(i,n,a-6,a-3,a-2,a-1);K(s[0]),K(s[1]),K(s[3]),K(s[1]),K(s[2]),K(s[3])}function G(e){n.push(o[3*e+0]),n.push(o[3*e+1]),n.push(o[3*e+2])}function K(e){r.push(e.x),r.push(e.y)}!function(){const e=n.length/3;if(c){let e=0,t=b*e;for(let e=0;k>e;e++){const i=E[e];N(i[2]+t,i[1]+t,i[0]+t)}e=s+2*p,t=b*e;for(let e=0;k>e;e++){const i=E[e];N(i[0]+t,i[1]+t,i[2]+t)}}else{for(let e=0;k>e;e++){const t=E[e];N(t[2],t[1],t[0])}for(let e=0;k>e;e++){const t=E[e];N(t[0]+b*s,t[1]+b*s,t[2]+b*s)}}i.addGroup(e,n.length/3-e,0)}(),function(){const e=n.length/3;let t=0;L(B,t),t+=B.length;for(let e=0,i=M.length;i>e;e++){const i=M[e];L(i,t),t+=i.length}i.addGroup(e,n.length/3-e,1)}()}this.setAttribute("position",new Bi(n,3)),this.setAttribute("uv",new Bi(r,2)),this.computeVertexNormals()}toJSON(){const e=super.toJSON();return function(e,t,i){if(i.shapes=[],Array.isArray(e))for(let t=0,n=e.length;n>t;t++){i.shapes.push(e[t].uuid)}else i.shapes.push(e.uuid);void 0!==t.extrudePath&&(i.options.extrudePath=t.extrudePath.toJSON());return i}(this.parameters.shapes,this.parameters.options,e)}}const Fs={generateTopUV:function(e,t,i,n,r){const o=t[3*n],a=t[3*n+1],s=t[3*r],l=t[3*r+1];return[new ke(t[3*i],t[3*i+1]),new ke(o,a),new ke(s,l)]},generateSideWallUV:function(e,t,i,n,r,o){const a=t[3*i],s=t[3*i+1],l=t[3*i+2],c=t[3*n],h=t[3*n+1],d=t[3*n+2],u=t[3*r],p=t[3*r+1],g=t[3*r+2],f=t[3*o],m=t[3*o+1],A=t[3*o+2];return Math.abs(s-h)<Math.abs(a-c)?[new ke(a,1-l),new ke(c,1-d),new ke(u,1-g),new ke(f,1-A)]:[new ke(s,1-l),new ke(h,1-d),new ke(p,1-g),new ke(m,1-A)]}};class Qs extends _a{constructor(e=1,t=0){const i=(1+Math.sqrt(5))/2;super([-1,i,0,1,i,0,-1,-i,0,1,-i,0,0,-1,i,0,1,i,0,-1,-i,0,1,-i,i,0,-1,i,0,1,-i,0,-1,-i,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],e,t),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t}}}class Ls extends Ni{constructor(e,t=12,i=0,n=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:i,phiLength:n},t=Math.floor(t),n=xe(n,0,2*Math.PI);const r=[],o=[],a=[],s=1/t,l=new Ke,c=new ke;for(let r=0;t>=r;r++){const h=i+r*s*n,d=Math.sin(h),u=Math.cos(h);for(let i=0;e.length-1>=i;i++)l.x=e[i].x*d,l.y=e[i].y,l.z=e[i].x*u,o.push(l.x,l.y,l.z),c.x=r/t,c.y=i/(e.length-1),a.push(c.x,c.y)}for(let i=0;t>i;i++)for(let t=0;e.length-1>t;t++){const n=t+i*e.length,o=n+e.length,a=n+e.length+1,s=n+1;r.push(n,o,s),r.push(o,a,s)}if(this.setIndex(r),this.setAttribute("position",new Bi(o,3)),this.setAttribute("uv",new Bi(a,2)),this.computeVertexNormals(),n===2*Math.PI){const i=this.attributes.normal.array,n=new Ke,r=new Ke,o=new Ke,a=t*e.length*3;for(let t=0,s=0;e.length>t;t++,s+=3)n.x=i[s+0],n.y=i[s+1],n.z=i[s+2],r.x=i[a+s+0],r.y=i[a+s+1],r.z=i[a+s+2],o.addVectors(n,r).normalize(),i[s+0]=i[a+s+0]=o.x,i[s+1]=i[a+s+1]=o.y,i[s+2]=i[a+s+2]=o.z}}}class Os extends _a{constructor(e=1,t=0){super([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],e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}}class Ns extends Ni{constructor(e,t,i){super(),this.type="ParametricGeometry",this.parameters={func:e,slices:t,stacks:i};const n=[],r=[],o=[],a=[],s=1e-5,l=new Ke,c=new Ke,h=new Ke,d=new Ke,u=new Ke;3>e.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");const p=t+1;for(let n=0;i>=n;n++){const p=n/i;for(let i=0;t>=i;i++){const n=i/t;e(n,p,c),r.push(c.x,c.y,c.z),0>n-s?(e(n+s,p,h),d.subVectors(h,c)):(e(n-s,p,h),d.subVectors(c,h)),0>p-s?(e(n,p+s,h),u.subVectors(h,c)):(e(n,p-s,h),u.subVectors(c,h)),l.crossVectors(d,u).normalize(),o.push(l.x,l.y,l.z),a.push(n,p)}}for(let e=0;i>e;e++)for(let i=0;t>i;i++){const t=e*p+i+1,r=(e+1)*p+i+1,o=(e+1)*p+i;n.push(e*p+i,t,o),n.push(t,r,o)}this.setIndex(n),this.setAttribute("position",new Bi(r,3)),this.setAttribute("normal",new Bi(o,3)),this.setAttribute("uv",new Bi(a,2))}}class Ps extends Ni{constructor(e=.5,t=1,i=8,n=1,r=0,o=2*Math.PI){super(),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:i,phiSegments:n,thetaStart:r,thetaLength:o},i=Math.max(3,i);const a=[],s=[],l=[],c=[];let h=e;const d=(t-e)/(n=Math.max(1,n)),u=new Ke,p=new ke;for(let e=0;n>=e;e++){for(let e=0;i>=e;e++){const n=r+e/i*o;u.x=h*Math.cos(n),u.y=h*Math.sin(n),s.push(u.x,u.y,u.z),l.push(0,0,1),p.x=(u.x/t+1)/2,p.y=(u.y/t+1)/2,c.push(p.x,p.y)}h+=d}for(let e=0;n>e;e++){const t=e*(i+1);for(let e=0;i>e;e++){const n=e+t,r=n+i+1,o=n+i+2,s=n+1;a.push(n,r,s),a.push(r,o,s)}}this.setIndex(a),this.setAttribute("position",new Bi(s,3)),this.setAttribute("normal",new Bi(l,3)),this.setAttribute("uv",new Bi(c,2))}}class Gs extends Ni{constructor(e,t=12){super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};const i=[],n=[],r=[],o=[];let a=0,s=0;if(!1===Array.isArray(e))l(e);else for(let t=0;e.length>t;t++)l(e[t]),this.addGroup(a,s,t),a+=s,s=0;function l(e){const a=n.length/3,l=e.extractPoints(t);let c=l.shape;const h=l.holes;!1===Ds.isClockWise(c)&&(c=c.reverse());for(let e=0,t=h.length;t>e;e++){const t=h[e];!0===Ds.isClockWise(t)&&(h[e]=t.reverse())}const d=Ds.triangulateShape(c,h);for(let e=0,t=h.length;t>e;e++){c=c.concat(h[e])}for(let e=0,t=c.length;t>e;e++){const t=c[e];n.push(t.x,t.y,0),r.push(0,0,1),o.push(t.x,t.y)}for(let e=0,t=d.length;t>e;e++){const t=d[e];i.push(t[0]+a,t[1]+a,t[2]+a),s+=3}}this.setIndex(i),this.setAttribute("position",new Bi(n,3)),this.setAttribute("normal",new Bi(r,3)),this.setAttribute("uv",new Bi(o,2))}toJSON(){const e=super.toJSON();return function(e,t){if(t.shapes=[],Array.isArray(e))for(let i=0,n=e.length;n>i;i++){t.shapes.push(e[i].uuid)}else t.shapes.push(e.uuid);return t}(this.parameters.shapes,e)}}class Ks extends Ni{constructor(e=1,t=8,i=6,n=0,r=2*Math.PI,o=0,a=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:i,phiStart:n,phiLength:r,thetaStart:o,thetaLength:a},t=Math.max(3,Math.floor(t)),i=Math.max(2,Math.floor(i));const s=Math.min(o+a,Math.PI);let l=0;const c=[],h=new Ke,d=new Ke,u=[],p=[],g=[],f=[];for(let u=0;i>=u;u++){const m=[],A=u/i;let y=0;0==u&&0==o?y=.5/t:u==i&&s==Math.PI&&(y=-.5/t);for(let i=0;t>=i;i++){const s=i/t;h.x=-e*Math.cos(n+s*r)*Math.sin(o+A*a),h.y=e*Math.cos(o+A*a),h.z=e*Math.sin(n+s*r)*Math.sin(o+A*a),p.push(h.x,h.y,h.z),d.copy(h).normalize(),g.push(d.x,d.y,d.z),f.push(s+y,1-A),m.push(l++)}c.push(m)}for(let e=0;i>e;e++)for(let n=0;t>n;n++){const t=c[e][n+1],r=c[e][n],a=c[e+1][n],l=c[e+1][n+1];(0!==e||o>0)&&u.push(t,r,l),(e!==i-1||s<Math.PI)&&u.push(r,a,l)}this.setIndex(u),this.setAttribute("position",new Bi(p,3)),this.setAttribute("normal",new Bi(g,3)),this.setAttribute("uv",new Bi(f,2))}}class Vs extends _a{constructor(e=1,t=0){super([1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],e,t),this.type="TetrahedronGeometry",this.parameters={radius:e,detail:t}}}class Ys extends Us{constructor(e,t={}){const i=t.font;if(!i||!i.isFont)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new Ni;const n=i.generateShapes(e,t.size);t.depth=void 0!==t.height?t.height:50,void 0===t.bevelThickness&&(t.bevelThickness=10),void 0===t.bevelSize&&(t.bevelSize=8),void 0===t.bevelEnabled&&(t.bevelEnabled=!1),super(n,t),this.type="TextGeometry"}}class Hs extends Ni{constructor(e=1,t=.4,i=8,n=6,r=2*Math.PI){super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:i,tubularSegments:n,arc:r},i=Math.floor(i),n=Math.floor(n);const o=[],a=[],s=[],l=[],c=new Ke,h=new Ke,d=new Ke;for(let o=0;i>=o;o++)for(let u=0;n>=u;u++){const p=u/n*r,g=o/i*Math.PI*2;h.x=(e+t*Math.cos(g))*Math.cos(p),h.y=(e+t*Math.cos(g))*Math.sin(p),h.z=t*Math.sin(g),a.push(h.x,h.y,h.z),c.x=e*Math.cos(p),c.y=e*Math.sin(p),d.subVectors(h,c).normalize(),s.push(d.x,d.y,d.z),l.push(u/n),l.push(o/i)}for(let e=1;i>=e;e++)for(let t=1;n>=t;t++){const i=(n+1)*(e-1)+t-1,r=(n+1)*(e-1)+t,a=(n+1)*e+t;o.push((n+1)*e+t-1,i,a),o.push(i,r,a)}this.setIndex(o),this.setAttribute("position",new Bi(a,3)),this.setAttribute("normal",new Bi(s,3)),this.setAttribute("uv",new Bi(l,2))}}class js extends Ni{constructor(e=1,t=.4,i=64,n=8,r=2,o=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:i,radialSegments:n,p:r,q:o},i=Math.floor(i),n=Math.floor(n);const a=[],s=[],l=[],c=[],h=new Ke,d=new Ke,u=new Ke,p=new Ke,g=new Ke,f=new Ke,m=new Ke;for(let a=0;i>=a;++a){const y=a/i*r*Math.PI*2;A(y,r,o,e,u),A(y+.01,r,o,e,p),f.subVectors(p,u),m.addVectors(p,u),g.crossVectors(f,m),m.crossVectors(g,f),g.normalize(),m.normalize();for(let e=0;n>=e;++e){const r=e/n*Math.PI*2,o=-t*Math.cos(r),p=t*Math.sin(r);h.x=u.x+(o*m.x+p*g.x),h.y=u.y+(o*m.y+p*g.y),h.z=u.z+(o*m.z+p*g.z),s.push(h.x,h.y,h.z),d.subVectors(h,u).normalize(),l.push(d.x,d.y,d.z),c.push(a/i),c.push(e/n)}}for(let e=1;i>=e;e++)for(let t=1;n>=t;t++){const i=(n+1)*e+(t-1),r=(n+1)*e+t,o=(n+1)*(e-1)+t;a.push((n+1)*(e-1)+(t-1),i,o),a.push(i,r,o)}function A(e,t,i,n,r){const o=Math.cos(e),a=Math.sin(e),s=i/t*e,l=Math.cos(s);r.x=n*(2+l)*.5*o,r.y=n*(2+l)*a*.5,r.z=n*Math.sin(s)*.5}this.setIndex(a),this.setAttribute("position",new Bi(s,3)),this.setAttribute("normal",new Bi(l,3)),this.setAttribute("uv",new Bi(c,2))}}class Ws extends Ni{constructor(e,t=64,i=1,n=8,r=!1){super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:i,radialSegments:n,closed:r};const o=e.computeFrenetFrames(t,r);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals;const a=new Ke,s=new Ke,l=new ke;let c=new Ke;const h=[],d=[],u=[],p=[];function g(r){c=e.getPointAt(r/t,c);const l=o.normals[r],u=o.binormals[r];for(let e=0;n>=e;e++){const t=e/n*Math.PI*2,r=Math.sin(t),o=-Math.cos(t);s.x=o*l.x+r*u.x,s.y=o*l.y+r*u.y,s.z=o*l.z+r*u.z,s.normalize(),d.push(s.x,s.y,s.z),a.x=c.x+i*s.x,a.y=c.y+i*s.y,a.z=c.z+i*s.z,h.push(a.x,a.y,a.z)}}!function(){for(let e=0;t>e;e++)g(e);g(!1===r?t:0),function(){for(let e=0;t>=e;e++)for(let i=0;n>=i;i++)l.x=e/t,l.y=i/n,u.push(l.x,l.y)}(),function(){for(let e=1;t>=e;e++)for(let t=1;n>=t;t++){const i=(n+1)*e+(t-1),r=(n+1)*e+t,o=(n+1)*(e-1)+t;p.push((n+1)*(e-1)+(t-1),i,o),p.push(i,r,o)}}()}(),this.setIndex(p),this.setAttribute("position",new Bi(h,3)),this.setAttribute("normal",new Bi(d,3)),this.setAttribute("uv",new Bi(u,2))}toJSON(){const e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}}class Js extends Ni{constructor(e){if(super(),this.type="WireframeGeometry",!0===e.isGeometry)return void console.error("THREE.WireframeGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");const t=[],i=[0,0],n={},r=new Ke;if(null!==e.index){const o=e.attributes.position,a=e.index;let s=e.groups;0===s.length&&(s=[{start:0,count:a.count,materialIndex:0}]);for(let e=0,t=s.length;t>e;++e){const t=s[e],r=t.start;for(let e=r,o=r+t.count;o>e;e+=3)for(let t=0;3>t;t++){const r=a.getX(e+t),o=a.getX(e+(t+1)%3);i[0]=Math.min(r,o),i[1]=Math.max(r,o);const s=i[0]+","+i[1];void 0===n[s]&&(n[s]={index1:i[0],index2:i[1]})}}for(const e in n){const i=n[e];r.fromBufferAttribute(o,i.index1),t.push(r.x,r.y,r.z),r.fromBufferAttribute(o,i.index2),t.push(r.x,r.y,r.z)}}else{const i=e.attributes.position;for(let e=0,n=i.count/3;n>e;e++)for(let n=0;3>n;n++){r.fromBufferAttribute(i,3*e+n),t.push(r.x,r.y,r.z);r.fromBufferAttribute(i,3*e+(n+1)%3),t.push(r.x,r.y,r.z)}}this.setAttribute("position",new Bi(t,3))}}var zs=Object.freeze({__proto__:null,BoxGeometry:on,BoxBufferGeometry:on,CircleGeometry:qa,CircleBufferGeometry:qa,ConeGeometry:Xa,ConeBufferGeometry:Xa,CylinderGeometry:Za,CylinderBufferGeometry:Za,DodecahedronGeometry:$a,DodecahedronBufferGeometry:$a,EdgesGeometry:rs,ExtrudeGeometry:Us,ExtrudeBufferGeometry:Us,IcosahedronGeometry:Qs,IcosahedronBufferGeometry:Qs,LatheGeometry:Ls,LatheBufferGeometry:Ls,OctahedronGeometry:Os,OctahedronBufferGeometry:Os,ParametricGeometry:Ns,ParametricBufferGeometry:Ns,PlaneGeometry:In,PlaneBufferGeometry:In,PolyhedronGeometry:_a,PolyhedronBufferGeometry:_a,RingGeometry:Ps,RingBufferGeometry:Ps,ShapeGeometry:Gs,ShapeBufferGeometry:Gs,SphereGeometry:Ks,SphereBufferGeometry:Ks,TetrahedronGeometry:Vs,TetrahedronBufferGeometry:Vs,TextGeometry:Ys,TextBufferGeometry:Ys,TorusGeometry:Hs,TorusBufferGeometry:Hs,TorusKnotGeometry:js,TorusKnotBufferGeometry:js,TubeGeometry:Ws,TubeBufferGeometry:Ws,WireframeGeometry:Js});class qs extends ai{constructor(e){super(),this.type="ShadowMaterial",this.color=new pi(0),this.transparent=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this}}qs.prototype.isShadowMaterial=!0;class Zs extends cn{constructor(e){super(e),this.type="RawShaderMaterial"}}Zs.prototype.isRawShaderMaterial=!0;class Xs extends ai{constructor(e){super(),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new pi(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 pi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ke(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.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.vertexTangents=!1,this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:""},this.color.copy(e.color),this.roughness=e.roughness,this.metalness=e.metalness,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.roughnessMap=e.roughnessMap,this.metalnessMap=e.metalnessMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapIntensity=e.envMapIntensity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this.vertexTangents=e.vertexTangents,this}}Xs.prototype.isMeshStandardMaterial=!0;class _s extends Xs{constructor(e){super(),this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoat=0,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new ke(1,1),this.clearcoatNormalMap=null,this.reflectivity=.5,Object.defineProperty(this,"ior",{get:function(){return(1+.4*this.reflectivity)/(1-.4*this.reflectivity)},set:function(e){this.reflectivity=xe(2.5*(e-1)/(e+1),0,1)}}),this.sheen=null,this.transmission=0,this.transmissionMap=null,this.thickness=.01,this.thicknessMap=null,this.attenuationDistance=0,this.attenuationColor=new pi(1,1,1),this.setValues(e)}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.reflectivity=e.reflectivity,this.sheen=e.sheen?(this.sheen||new pi).copy(e.sheen):null,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this}}_s.prototype.isMeshPhysicalMaterial=!0;class $s extends ai{constructor(e){super(),this.type="MeshPhongMaterial",this.color=new pi(16777215),this.specular=new pi(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new pi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ke(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.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this}}$s.prototype.isMeshPhongMaterial=!0;class el extends ai{constructor(e){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new pi(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new pi(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ke(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this}}el.prototype.isMeshToonMaterial=!0;class tl extends ai{constructor(e){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ke(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this}}tl.prototype.isMeshNormalMaterial=!0;class il extends ai{constructor(e){super(),this.type="MeshLambertMaterial",this.color=new pi(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new pi(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.morphTargets=!1,this.morphNormals=!1,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this}}il.prototype.isMeshLambertMaterial=!0;class nl extends ai{constructor(e){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new pi(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ke(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.morphTargets=!1,this.morphNormals=!1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.morphTargets=e.morphTargets,this.morphNormals=e.morphNormals,this.flatShading=e.flatShading,this}}nl.prototype.isMeshMatcapMaterial=!0;class rl extends Sa{constructor(e){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}rl.prototype.isLineDashedMaterial=!0;var ol=Object.freeze({__proto__:null,ShadowMaterial:qs,SpriteMaterial:Wo,RawShaderMaterial:Zs,ShaderMaterial:cn,PointsMaterial:Na,MeshPhysicalMaterial:_s,MeshStandardMaterial:Xs,MeshPhongMaterial:$s,MeshToonMaterial:el,MeshNormalMaterial:tl,MeshLambertMaterial:il,MeshDepthMaterial:Mo,MeshDistanceMaterial:Eo,MeshBasicMaterial:gi,MeshMatcapMaterial:nl,LineDashedMaterial:rl,LineBasicMaterial:Sa,Material:ai});const al={arraySlice:function(e,t,i){return al.isTypedArray(e)?new e.constructor(e.subarray(t,void 0!==i?i:e.length)):e.slice(t,i)},convertArray:function(e,t,i){return!e||!i&&e.constructor===t?e:"number"==typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){const t=e.length,i=new Array(t);for(let e=0;e!==t;++e)i[e]=e;return i.sort((function(t,i){return e[t]-e[i]})),i},sortedArray:function(e,t,i){const n=e.length,r=new e.constructor(n);for(let o=0,a=0;a!==n;++o){const n=i[o]*t;for(let i=0;i!==t;++i)r[a++]=e[n+i]}return r},flattenJSON:function(e,t,i,n){let r=1,o=e[0];for(;void 0!==o&&void 0===o[n];)o=e[r++];if(void 0===o)return;let a=o[n];if(void 0!==a)if(Array.isArray(a))do{a=o[n],void 0!==a&&(t.push(o.time),i.push.apply(i,a)),o=e[r++]}while(void 0!==o);else if(void 0!==a.toArray)do{a=o[n],void 0!==a&&(t.push(o.time),a.toArray(i,i.length)),o=e[r++]}while(void 0!==o);else do{a=o[n],void 0!==a&&(t.push(o.time),i.push(a)),o=e[r++]}while(void 0!==o)},subclip:function(e,t,i,n,r=30){const o=e.clone();o.name=t;const a=[];for(let e=0;o.tracks.length>e;++e){const t=o.tracks[e],s=t.getValueSize(),l=[],c=[];for(let e=0;t.times.length>e;++e){const o=t.times[e]*r;if(o>=i&&n>o){l.push(t.times[e]);for(let i=0;s>i;++i)c.push(t.values[e*s+i])}}0!==l.length&&(t.times=al.convertArray(l,t.times.constructor),t.values=al.convertArray(c,t.values.constructor),a.push(t))}o.tracks=a;let s=1/0;for(let e=0;o.tracks.length>e;++e)s>o.tracks[e].times[0]&&(s=o.tracks[e].times[0]);for(let e=0;o.tracks.length>e;++e)o.tracks[e].shift(-1*s);return o.resetDuration(),o},makeClipAdditive:function(e,t=0,i=e,n=30){n>0||(n=30);const r=i.tracks.length,o=t/n;for(let t=0;r>t;++t){const n=i.tracks[t],r=n.ValueTypeName;if("bool"===r||"string"===r)continue;const a=e.tracks.find((function(e){return e.name===n.name&&e.ValueTypeName===r}));if(void 0===a)continue;let s=0;const l=n.getValueSize();n.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(s=l/3);let c=0;const h=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=h/3);const d=n.times.length-1;let u;if(n.times[0]<o)if(o<n.times[d]){const e=n.createInterpolant(),t=s,i=l-s;e.evaluate(o),u=al.arraySlice(e.resultBuffer,t,i)}else{const e=d*l+s;u=al.arraySlice(n.values,e,e+l-s)}else{u=al.arraySlice(n.values,s,l-s)}if("quaternion"===r){(new Ge).fromArray(u).normalize().conjugate().toArray(u)}const p=a.times.length;for(let e=0;p>e;++e){const t=e*h+c;if("quaternion"===r)Ge.multiplyQuaternionsFlat(a.values,t,u,0,a.values,t);else{const e=h-2*c;for(let i=0;e>i;++i)a.values[t+i]-=u[i]}}}return e.blendMode=Z,e}};class sl{constructor(e,t,i,n){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==n?n:new t.constructor(i),this.sampleValues=t,this.valueSize=i,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let i=this._cachedIndex,n=t[i],r=t[i-1];e:{t:{let o;i:{n:if(n<=e){for(let o=i+2;;){if(void 0===n){if(r>e)break n;return i=t.length,this._cachedIndex=i,this.afterEnd_(i-1,e,r)}if(i===o)break;if(r=n,n=t[++i],n>e)break t}o=t.length;break i}if(e>=r)break e;{const a=t[1];a>e&&(i=2,r=a);for(let o=i-2;;){if(void 0===r)return this._cachedIndex=0,this.beforeStart_(0,e,n);if(i===o)break;if(n=r,r=t[--i-1],e>=r)break t}o=i,i=0}}for(;o>i;){const n=i+o>>>1;t[n]>e?o=n:i=n+1}if(n=t[i],r=t[i-1],void 0===r)return this._cachedIndex=0,this.beforeStart_(0,e,n);if(void 0===n)return i=t.length,this._cachedIndex=i,this.afterEnd_(i-1,r,e)}this._cachedIndex=i,this.intervalChanged_(i,r,n)}return this.interpolate_(i,r,e,n)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,i=this.sampleValues,n=this.valueSize,r=e*n;for(let e=0;e!==n;++e)t[e]=i[r+e];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}sl.prototype.beforeStart_=sl.prototype.copySampleValue_,sl.prototype.afterEnd_=sl.prototype.copySampleValue_;class ll extends sl{constructor(e,t,i,n){super(e,t,i,n),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:W,endingEnd:W}}intervalChanged_(e,t,i){const n=this.parameterPositions;let r=e-2,o=e+1,a=n[r],s=n[o];if(void 0===a)switch(this.getSettings_().endingStart){case J:r=e,a=2*t-i;break;case z:r=n.length-2,a=t+n[r]-n[r+1];break;default:r=e,a=i}if(void 0===s)switch(this.getSettings_().endingEnd){case J:o=e,s=2*i-t;break;case z:o=1,s=i+n[1]-n[0];break;default:o=e-1,s=t}const l=.5*(i-t),c=this.valueSize;this._weightPrev=l/(t-a),this._weightNext=l/(s-i),this._offsetPrev=r*c,this._offsetNext=o*c}interpolate_(e,t,i,n){const r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=s-a,c=this._offsetPrev,h=this._offsetNext,d=this._weightPrev,u=this._weightNext,p=(i-t)/(n-t),g=p*p,f=g*p,m=-d*f+2*d*g-d*p,A=(1+d)*f+(-1.5-2*d)*g+(-.5+d)*p+1,y=(-1-u)*f+(1.5+u)*g+.5*p,v=u*f-u*g;for(let e=0;e!==a;++e)r[e]=m*o[c+e]+A*o[l+e]+y*o[s+e]+v*o[h+e];return r}}class cl extends sl{constructor(e,t,i,n){super(e,t,i,n)}interpolate_(e,t,i,n){const r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=e*a,l=s-a,c=(i-t)/(n-t),h=1-c;for(let e=0;e!==a;++e)r[e]=o[l+e]*h+o[s+e]*c;return r}}class hl extends sl{constructor(e,t,i,n){super(e,t,i,n)}interpolate_(e){return this.copySampleValue_(e-1)}}class dl{constructor(e,t,i,n){if(void 0===e)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===t||0===t.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=al.convertArray(t,this.TimeBufferType),this.values=al.convertArray(i,this.ValueBufferType),this.setInterpolation(n||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let i;if(t.toJSON!==this.toJSON)i=t.toJSON(e);else{i={name:e.name,times:al.convertArray(e.times,Array),values:al.convertArray(e.values,Array)};const t=e.getInterpolation();t!==e.DefaultInterpolation&&(i.interpolation=t)}return i.type=e.ValueTypeName,i}InterpolantFactoryMethodDiscrete(e){return new hl(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new cl(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new ll(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Y:t=this.InterpolantFactoryMethodDiscrete;break;case H:t=this.InterpolantFactoryMethodLinear;break;case j:t=this.InterpolantFactoryMethodSmooth}if(void 0===t){const t="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",t),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Y;case this.InterpolantFactoryMethodLinear:return H;case this.InterpolantFactoryMethodSmooth:return j}}getValueSize(){return this.values.length/this.times.length}shift(e){if(0!==e){const t=this.times;for(let i=0,n=t.length;i!==n;++i)t[i]+=e}return this}scale(e){if(1!==e){const t=this.times;for(let i=0,n=t.length;i!==n;++i)t[i]*=e}return this}trim(e,t){const i=this.times,n=i.length;let r=0,o=n-1;for(;r!==n&&e>i[r];)++r;for(;-1!==o&&i[o]>t;)--o;if(++o,0!==r||o!==n){o>r||(o=Math.max(o,1),r=o-1);const e=this.getValueSize();this.times=al.arraySlice(i,r,o),this.values=al.arraySlice(this.values,r*e,o*e)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const i=this.times,n=this.values,r=i.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let t=0;t!==r;t++){const n=i[t];if("number"==typeof n&&isNaN(n)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,t,n),e=!1;break}if(null!==o&&o>n){console.error("THREE.KeyframeTrack: Out of order keys.",this,t,n,o),e=!1;break}o=n}if(void 0!==n&&al.isTypedArray(n))for(let t=0,i=n.length;t!==i;++t){const i=n[t];if(isNaN(i)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,t,i),e=!1;break}}return e}optimize(){const e=al.arraySlice(this.times),t=al.arraySlice(this.values),i=this.getValueSize(),n=this.getInterpolation()===j,r=e.length-1;let o=1;for(let a=1;r>a;++a){let r=!1;const s=e[a];if(s!==e[a+1]&&(1!==a||s!==e[0]))if(n)r=!0;else{const e=a*i,n=e-i,o=e+i;for(let a=0;a!==i;++a){const i=t[e+a];if(i!==t[n+a]||i!==t[o+a]){r=!0;break}}}if(r){if(a!==o){e[o]=e[a];const n=a*i,r=o*i;for(let e=0;e!==i;++e)t[r+e]=t[n+e]}++o}}if(r>0){e[o]=e[r];for(let e=r*i,n=o*i,a=0;a!==i;++a)t[n+a]=t[e+a];++o}return o!==e.length?(this.times=al.arraySlice(e,0,o),this.values=al.arraySlice(t,0,o*i)):(this.times=e,this.values=t),this}clone(){const e=al.arraySlice(this.times,0),t=al.arraySlice(this.values,0),i=new(0,this.constructor)(this.name,e,t);return i.createInterpolant=this.createInterpolant,i}}dl.prototype.TimeBufferType=Float32Array,dl.prototype.ValueBufferType=Float32Array,dl.prototype.DefaultInterpolation=H;class ul extends dl{}ul.prototype.ValueTypeName="bool",ul.prototype.ValueBufferType=Array,ul.prototype.DefaultInterpolation=Y,ul.prototype.InterpolantFactoryMethodLinear=void 0,ul.prototype.InterpolantFactoryMethodSmooth=void 0;class pl extends dl{}pl.prototype.ValueTypeName="color";class gl extends dl{}gl.prototype.ValueTypeName="number";class fl extends sl{constructor(e,t,i,n){super(e,t,i,n)}interpolate_(e,t,i,n){const r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=(i-t)/(n-t);let l=e*a;for(let e=l+a;l!==e;l+=4)Ge.slerpFlat(r,0,o,l-a,o,l,s);return r}}class ml extends dl{InterpolantFactoryMethodLinear(e){return new fl(this.times,this.values,this.getValueSize(),e)}}ml.prototype.ValueTypeName="quaternion",ml.prototype.DefaultInterpolation=H,ml.prototype.InterpolantFactoryMethodSmooth=void 0;class Al extends dl{}Al.prototype.ValueTypeName="string",Al.prototype.ValueBufferType=Array,Al.prototype.DefaultInterpolation=Y,Al.prototype.InterpolantFactoryMethodLinear=void 0,Al.prototype.InterpolantFactoryMethodSmooth=void 0;class yl extends dl{}yl.prototype.ValueTypeName="vector";class vl{constructor(e,t=-1,i,n=2500){this.name=e,this.tracks=i,this.duration=t,this.blendMode=n,this.uuid=Ie(),0>this.duration&&this.resetDuration()}static parse(e){const t=[],i=e.tracks,n=1/(e.fps||1);for(let e=0,r=i.length;e!==r;++e)t.push(Cl(i[e]).scale(n));const r=new this(e.name,e.duration,t,e.blendMode);return r.uuid=e.uuid,r}static toJSON(e){const t=[],i=e.tracks,n={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,n=i.length;e!==n;++e)t.push(dl.toJSON(i[e]));return n}static CreateFromMorphTargetSequence(e,t,i,n){const r=t.length,o=[];for(let e=0;r>e;e++){let a=[],s=[];a.push((e+r-1)%r,e,(e+1)%r),s.push(0,1,0);const l=al.getKeyframeOrder(a);a=al.sortedArray(a,1,l),s=al.sortedArray(s,1,l),n||0!==a[0]||(a.push(r),s.push(s[0])),o.push(new gl(".morphTargetInfluences["+t[e].name+"]",a,s).scale(1/i))}return new this(e,-1,o)}static findByName(e,t){let i=e;if(!Array.isArray(e)){const t=e;i=t.geometry&&t.geometry.animations||t.animations}for(let e=0;i.length>e;e++)if(i[e].name===t)return i[e];return null}static CreateClipsFromMorphTargetSequences(e,t,i){const n={},r=/^([\w-]*?)([\d]+)$/;for(let t=0,i=e.length;i>t;t++){const i=e[t],o=i.name.match(r);if(o&&o.length>1){const e=o[1];let t=n[e];t||(n[e]=t=[]),t.push(i)}}const o=[];for(const e in n)o.push(this.CreateFromMorphTargetSequence(e,n[e],t,i));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const i=function(e,t,i,n,r){if(0!==i.length){const o=[],a=[];al.flattenJSON(i,o,a,n),0!==o.length&&r.push(new e(t,o,a))}},n=[],r=e.name||"default",o=e.fps||30,a=e.blendMode;let s=e.length||-1;const l=e.hierarchy||[];for(let e=0;l.length>e;e++){const r=l[e].keys;if(r&&0!==r.length)if(r[0].morphTargets){const e={};let t;for(t=0;r.length>t;t++)if(r[t].morphTargets)for(let i=0;r[t].morphTargets.length>i;i++)e[r[t].morphTargets[i]]=-1;for(const i in e){const e=[],o=[];for(let n=0;n!==r[t].morphTargets.length;++n){const n=r[t];e.push(n.time),o.push(n.morphTarget===i?1:0)}n.push(new gl(".morphTargetInfluence["+i+"]",e,o))}s=e.length*(o||1)}else{const o=".bones["+t[e].name+"]";i(yl,o+".position",r,"pos",n),i(ml,o+".quaternion",r,"rot",n),i(yl,o+".scale",r,"scl",n)}}if(0===n.length)return null;return new this(r,s,n,a)}resetDuration(){let e=0;for(let t=0,i=this.tracks.length;t!==i;++t){const i=this.tracks[t];e=Math.max(e,i.times[i.times.length-1])}return this.duration=e,this}trim(){for(let e=0;this.tracks.length>e;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;for(let t=0;this.tracks.length>t;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;this.tracks.length>e;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;this.tracks.length>t;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function Cl(e){if(void 0===e.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const t=function(e){switch(e.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return gl;case"vector":case"vector2":case"vector3":case"vector4":return yl;case"color":return pl;case"quaternion":return ml;case"bool":case"boolean":return ul;case"string":return Al}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+e)}(e.type);if(void 0===e.times){const t=[],i=[];al.flattenJSON(e.keys,t,i,"value"),e.times=t,e.values=i}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}const Il={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class xl{constructor(e,t,i){const n=this;let r,o=!1,a=0,s=0;const l=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=i,this.itemStart=function(e){s++,!1===o&&void 0!==n.onStart&&n.onStart(e,a,s),o=!0},this.itemEnd=function(e){a++,void 0!==n.onProgress&&n.onProgress(e,a,s),a===s&&(o=!1,void 0!==n.onLoad&&n.onLoad())},this.itemError=function(e){void 0!==n.onError&&n.onError(e)},this.resolveURL=function(e){return r?r(e):e},this.setURLModifier=function(e){return r=e,this},this.addHandler=function(e,t){return l.push(e,t),this},this.removeHandler=function(e){const t=l.indexOf(e);return-1!==t&&l.splice(t,2),this},this.getHandler=function(e){for(let t=0,i=l.length;i>t;t+=2){const i=l[t],n=l[t+1];if(i.global&&(i.lastIndex=0),i.test(e))return n}return null}}}const wl=new xl;class Ml{constructor(e){this.manager=void 0!==e?e:wl,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const i=this;return new Promise((function(n,r){i.load(e,n,t,r)}))}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}const El={};class Bl extends Ml{constructor(e){super(e)}load(e,t,i,n){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,o=Il.get(e);if(void 0!==o)return r.manager.itemStart(e),setTimeout((function(){t&&t(o),r.manager.itemEnd(e)}),0),o;if(void 0!==El[e])return void El[e].push({onLoad:t,onProgress:i,onError:n});const a=e.match(/^data:(.*?)(;base64)?,(.*)$/);let s;if(a){const i=a[1],o=!!a[2];let s=a[3];s=decodeURIComponent(s),o&&(s=atob(s));try{let n;const o=(this.responseType||"").toLowerCase();switch(o){case"arraybuffer":case"blob":const e=new Uint8Array(s.length);for(let t=0;s.length>t;t++)e[t]=s.charCodeAt(t);n="blob"===o?new Blob([e.buffer],{type:i}):e.buffer;break;case"document":const t=new DOMParser;n=t.parseFromString(s,i);break;case"json":n=JSON.parse(s);break;default:n=s}setTimeout((function(){t&&t(n),r.manager.itemEnd(e)}),0)}catch(t){setTimeout((function(){n&&n(t),r.manager.itemError(e),r.manager.itemEnd(e)}),0)}}else{El[e]=[],El[e].push({onLoad:t,onProgress:i,onError:n}),s=new XMLHttpRequest,s.open("GET",e,!0),s.addEventListener("load",(function(t){const i=this.response,n=El[e];if(delete El[e],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),Il.add(e,i);for(let e=0,t=n.length;t>e;e++){const t=n[e];t.onLoad&&t.onLoad(i)}r.manager.itemEnd(e)}else{for(let e=0,i=n.length;i>e;e++){const i=n[e];i.onError&&i.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}}),!1),s.addEventListener("progress",(function(t){const i=El[e];for(let e=0,n=i.length;n>e;e++){const n=i[e];n.onProgress&&n.onProgress(t)}}),!1),s.addEventListener("error",(function(t){const i=El[e];delete El[e];for(let e=0,n=i.length;n>e;e++){const n=i[e];n.onError&&n.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}),!1),s.addEventListener("abort",(function(t){const i=El[e];delete El[e];for(let e=0,n=i.length;n>e;e++){const n=i[e];n.onError&&n.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}),!1),void 0!==this.responseType&&(s.responseType=this.responseType),void 0!==this.withCredentials&&(s.withCredentials=this.withCredentials),s.overrideMimeType&&s.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain");for(const e in this.requestHeader)s.setRequestHeader(e,this.requestHeader[e]);s.send(null)}return r.manager.itemStart(e),s}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Sl extends Ml{constructor(e){super(e)}load(e,t,i,n){void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,o=Il.get(e);if(void 0!==o)return r.manager.itemStart(e),setTimeout((function(){t&&t(o),r.manager.itemEnd(e)}),0),o;const a=document.createElementNS("http://www.w3.org/1999/xhtml","img");function s(){a.removeEventListener("load",s,!1),a.removeEventListener("error",l,!1),Il.add(e,this),t&&t(this),r.manager.itemEnd(e)}function l(t){a.removeEventListener("load",s,!1),a.removeEventListener("error",l,!1),n&&n(t),r.manager.itemError(e),r.manager.itemEnd(e)}return a.addEventListener("load",s,!1),a.addEventListener("error",l,!1),"data:"!==e.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(e),a.src=e,a}}class bl extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=new gn,o=new Sl(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);let a=0;function s(i){o.load(e[i],(function(e){r.images[i]=e,a++,6===a&&(r.needsUpdate=!0,t&&t(r))}),void 0,n)}for(let t=0;e.length>t;++t)s(t);return r}}class kl extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=this,o=new ya,a=new Bl(this.manager);return a.setResponseType("arraybuffer"),a.setRequestHeader(this.requestHeader),a.setPath(this.path),a.setWithCredentials(r.withCredentials),a.load(e,(function(e){const i=r.parse(e);i&&(void 0!==i.image?o.image=i.image:void 0!==i.data&&(o.image.width=i.width,o.image.height=i.height,o.image.data=i.data),o.wrapS=void 0!==i.wrapS?i.wrapS:f,o.wrapT=void 0!==i.wrapT?i.wrapT:f,o.magFilter=void 0!==i.magFilter?i.magFilter:C,o.minFilter=void 0!==i.minFilter?i.minFilter:C,o.anisotropy=void 0!==i.anisotropy?i.anisotropy:1,void 0!==i.encoding&&(o.encoding=i.encoding),void 0!==i.flipY&&(o.flipY=i.flipY),void 0!==i.format&&(o.format=i.format),void 0!==i.type&&(o.type=i.type),void 0!==i.mipmaps&&(o.mipmaps=i.mipmaps,o.minFilter=x),1===i.mipmapCount&&(o.minFilter=C),void 0!==i.generateMipmaps&&(o.generateMipmaps=i.generateMipmaps),o.needsUpdate=!0,t&&t(o,i))}),i,n),o}}class Dl extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=new Fe,o=new Sl(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,(function(i){r.image=i;const n=e.search(/\.jpe?g($|\?)/i)>0||0===e.search(/^data\:image\/jpeg/);r.format=n?k:D,r.needsUpdate=!0,void 0!==t&&t(r)}),i,n),r}}class Tl{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,t){const i=this.getUtoTmapping(e);return this.getPoint(i,t)}getPoints(e=5){const t=[];for(let i=0;e>=i;i++)t.push(this.getPoint(i/e));return t}getSpacedPoints(e=5){const t=[];for(let i=0;e>=i;i++)t.push(this.getPointAt(i/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let i,n=this.getPoint(0),r=0;t.push(0);for(let o=1;e>=o;o++)i=this.getPoint(o/e),r+=i.distanceTo(n),t.push(r),n=i;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const i=this.getLengths();let n=0;const r=i.length;let o;o=t||e*i[r-1];let a,s=0,l=r-1;for(;l>=s;)if(n=Math.floor(s+(l-s)/2),a=i[n]-o,0>a)s=n+1;else{if(0>=a){l=n;break}l=n-1}if(n=l,i[n]===o)return n/(r-1);const c=i[n];return(n+(o-c)/(i[n+1]-c))/(r-1)}getTangent(e,t){const i=1e-4;let n=e-i,r=e+i;0>n&&(n=0),r>1&&(r=1);const o=this.getPoint(n),a=this.getPoint(r),s=t||(o.isVector2?new ke:new Ke);return s.copy(a).sub(o).normalize(),s}getTangentAt(e,t){const i=this.getUtoTmapping(e);return this.getTangent(i,t)}computeFrenetFrames(e,t){const i=new Ke,n=[],r=[],o=[],a=new Ke,s=new yt;for(let t=0;e>=t;t++){n[t]=this.getTangentAt(t/e,new Ke),n[t].normalize()}r[0]=new Ke,o[0]=new Ke;let l=Number.MAX_VALUE;const c=Math.abs(n[0].x),h=Math.abs(n[0].y),d=Math.abs(n[0].z);c>l||(l=c,i.set(1,0,0)),h>l||(l=h,i.set(0,1,0)),d>l||i.set(0,0,1),a.crossVectors(n[0],i).normalize(),r[0].crossVectors(n[0],a),o[0].crossVectors(n[0],r[0]);for(let t=1;e>=t;t++){if(r[t]=r[t-1].clone(),o[t]=o[t-1].clone(),a.crossVectors(n[t-1],n[t]),a.length()>Number.EPSILON){a.normalize();const e=Math.acos(xe(n[t-1].dot(n[t]),-1,1));r[t].applyMatrix4(s.makeRotationAxis(a,e))}o[t].crossVectors(n[t],r[t])}if(!0===t){let t=Math.acos(xe(r[0].dot(r[e]),-1,1));t/=e,n[0].dot(a.crossVectors(r[0],r[e]))>0&&(t=-t);for(let i=1;e>=i;i++)r[i].applyMatrix4(s.makeRotationAxis(n[i],t*i)),o[i].crossVectors(n[i],r[i])}return{tangents:n,normals:r,binormals:o}}clone(){return(new this.constructor).copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Rl extends Tl{constructor(e=0,t=0,i=1,n=1,r=0,o=2*Math.PI,a=!1,s=0){super(),this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=i,this.yRadius=n,this.aStartAngle=r,this.aEndAngle=o,this.aClockwise=a,this.aRotation=s}getPoint(e,t){const i=t||new ke,n=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const o=Math.abs(r)<Number.EPSILON;for(;0>r;)r+=n;for(;r>n;)r-=n;Number.EPSILON>r&&(r=o?0:n),!0!==this.aClockwise||o||(r===n?r=-n:r-=n);const a=this.aStartAngle+e*r;let s=this.aX+this.xRadius*Math.cos(a),l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const e=Math.cos(this.aRotation),t=Math.sin(this.aRotation),i=s-this.aX,n=l-this.aY;s=i*e-n*t+this.aX,l=i*t+n*e+this.aY}return i.set(s,l)}copy(e){return super.copy(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}toJSON(){const e=super.toJSON();return e.aX=this.aX,e.aY=this.aY,e.xRadius=this.xRadius,e.yRadius=this.yRadius,e.aStartAngle=this.aStartAngle,e.aEndAngle=this.aEndAngle,e.aClockwise=this.aClockwise,e.aRotation=this.aRotation,e}fromJSON(e){return super.fromJSON(e),this.aX=e.aX,this.aY=e.aY,this.xRadius=e.xRadius,this.yRadius=e.yRadius,this.aStartAngle=e.aStartAngle,this.aEndAngle=e.aEndAngle,this.aClockwise=e.aClockwise,this.aRotation=e.aRotation,this}}Rl.prototype.isEllipseCurve=!0;class Ul extends Rl{constructor(e,t,i,n,r,o){super(e,t,i,i,n,r,o),this.type="ArcCurve"}}function Fl(){let e=0,t=0,i=0,n=0;function r(r,o,a,s){e=r,t=a,i=-3*r+3*o-2*a-s,n=2*r-2*o+a+s}return{initCatmullRom:function(e,t,i,n,o){r(t,i,o*(i-e),o*(n-t))},initNonuniformCatmullRom:function(e,t,i,n,o,a,s){let l=(t-e)/o-(i-e)/(o+a)+(i-t)/a,c=(i-t)/a-(n-t)/(a+s)+(n-i)/s;l*=a,c*=a,r(t,i,l,c)},calc:function(r){const o=r*r;return e+t*r+i*o+n*(o*r)}}}Ul.prototype.isArcCurve=!0;const Ql=new Ke,Ll=new Fl,Ol=new Fl,Nl=new Fl;class Pl extends Tl{constructor(e=[],t=!1,i="centripetal",n=.5){super(),this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=i,this.tension=n}getPoint(e,t=new Ke){const i=t,n=this.points,r=n.length,o=(r-(this.closed?0:1))*e;let a,s,l=Math.floor(o),c=o-l;this.closed?l+=l>0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=n[(l-1)%r]:(Ql.subVectors(n[0],n[1]).add(n[0]),a=Ql);const h=n[l%r],d=n[(l+1)%r];if(this.closed||r>l+2?s=n[(l+2)%r]:(Ql.subVectors(n[r-1],n[r-2]).add(n[r-1]),s=Ql),"centripetal"===this.curveType||"chordal"===this.curveType){const e="chordal"===this.curveType?.5:.25;let t=Math.pow(a.distanceToSquared(h),e),i=Math.pow(h.distanceToSquared(d),e),n=Math.pow(d.distanceToSquared(s),e);1e-4>i&&(i=1),1e-4>t&&(t=i),1e-4>n&&(n=i),Ll.initNonuniformCatmullRom(a.x,h.x,d.x,s.x,t,i,n),Ol.initNonuniformCatmullRom(a.y,h.y,d.y,s.y,t,i,n),Nl.initNonuniformCatmullRom(a.z,h.z,d.z,s.z,t,i,n)}else"catmullrom"===this.curveType&&(Ll.initCatmullRom(a.x,h.x,d.x,s.x,this.tension),Ol.initCatmullRom(a.y,h.y,d.y,s.y,this.tension),Nl.initCatmullRom(a.z,h.z,d.z,s.z,this.tension));return i.set(Ll.calc(c),Ol.calc(c),Nl.calc(c)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;i>t;t++){this.points.push(e.points[t].clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;i>t;t++){e.points.push(this.points[t].toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;i>t;t++){const i=e.points[t];this.points.push((new Ke).fromArray(i))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}}function Gl(e,t,i,n,r){const o=.5*(n-t),a=.5*(r-i),s=e*e;return(2*i-2*n+o+a)*(e*s)+(-3*i+3*n-2*o-a)*s+o*e+i}function Kl(e,t,i,n){return function(e,t){const i=1-e;return i*i*t}(e,t)+function(e,t){return 2*(1-e)*e*t}(e,i)+function(e,t){return e*e*t}(e,n)}function Vl(e,t,i,n,r){return function(e,t){const i=1-e;return i*i*i*t}(e,t)+function(e,t){const i=1-e;return 3*i*i*e*t}(e,i)+function(e,t){return 3*(1-e)*e*e*t}(e,n)+function(e,t){return e*e*e*t}(e,r)}Pl.prototype.isCatmullRomCurve3=!0;class Yl extends Tl{constructor(e=new ke,t=new ke,i=new ke,n=new ke){super(),this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=i,this.v3=n}getPoint(e,t=new ke){const i=t,n=this.v0,r=this.v1,o=this.v2,a=this.v3;return i.set(Vl(e,n.x,r.x,o.x,a.x),Vl(e,n.y,r.y,o.y,a.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}Yl.prototype.isCubicBezierCurve=!0;class Hl extends Tl{constructor(e=new Ke,t=new Ke,i=new Ke,n=new Ke){super(),this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=i,this.v3=n}getPoint(e,t=new Ke){const i=t,n=this.v0,r=this.v1,o=this.v2,a=this.v3;return i.set(Vl(e,n.x,r.x,o.x,a.x),Vl(e,n.y,r.y,o.y,a.y),Vl(e,n.z,r.z,o.z,a.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}Hl.prototype.isCubicBezierCurve3=!0;class jl extends Tl{constructor(e=new ke,t=new ke){super(),this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new ke){const i=t;return 1===e?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t){const i=t||new ke;return i.copy(this.v2).sub(this.v1).normalize(),i}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}jl.prototype.isLineCurve=!0;class Wl extends Tl{constructor(e=new Ke,t=new Ke){super(),this.type="LineCurve3",this.isLineCurve3=!0,this.v1=e,this.v2=t}getPoint(e,t=new Ke){const i=t;return 1===e?i.copy(this.v2):(i.copy(this.v2).sub(this.v1),i.multiplyScalar(e).add(this.v1)),i}getPointAt(e,t){return this.getPoint(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class Jl extends Tl{constructor(e=new ke,t=new ke,i=new ke){super(),this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new ke){const i=t,n=this.v0,r=this.v1,o=this.v2;return i.set(Kl(e,n.x,r.x,o.x),Kl(e,n.y,r.y,o.y)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}Jl.prototype.isQuadraticBezierCurve=!0;class zl extends Tl{constructor(e=new Ke,t=new Ke,i=new Ke){super(),this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=i}getPoint(e,t=new Ke){const i=t,n=this.v0,r=this.v1,o=this.v2;return i.set(Kl(e,n.x,r.x,o.x),Kl(e,n.y,r.y,o.y),Kl(e,n.z,r.z,o.z)),i}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}zl.prototype.isQuadraticBezierCurve3=!0;class ql extends Tl{constructor(e=[]){super(),this.type="SplineCurve",this.points=e}getPoint(e,t=new ke){const i=t,n=this.points,r=(n.length-1)*e,o=Math.floor(r),a=r-o,s=n[0===o?o:o-1],l=n[o],c=n[o>n.length-2?n.length-1:o+1],h=n[o>n.length-3?n.length-1:o+2];return i.set(Gl(a,s.x,l.x,c.x,h.x),Gl(a,s.y,l.y,c.y,h.y)),i}copy(e){super.copy(e),this.points=[];for(let t=0,i=e.points.length;i>t;t++){this.points.push(e.points[t].clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,i=this.points.length;i>t;t++){e.points.push(this.points[t].toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,i=e.points.length;i>t;t++){const i=e.points[t];this.points.push((new ke).fromArray(i))}return this}}ql.prototype.isSplineCurve=!0;var Zl=Object.freeze({__proto__:null,ArcCurve:Ul,CatmullRomCurve3:Pl,CubicBezierCurve:Yl,CubicBezierCurve3:Hl,EllipseCurve:Rl,LineCurve:jl,LineCurve3:Wl,QuadraticBezierCurve:Jl,QuadraticBezierCurve3:zl,SplineCurve:ql});class Xl extends Tl{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new jl(t,e))}getPoint(e){const t=e*this.getLength(),i=this.getCurveLengths();let n=0;for(;i.length>n;){if(i[n]>=t){const e=i[n]-t,r=this.curves[n],o=r.getLength();return r.getPointAt(0===o?0:1-e/o)}n++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let i=0,n=this.curves.length;n>i;i++)t+=this.curves[i].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){const t=[];for(let i=0;e>=i;i++)t.push(this.getPoint(i/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){const t=[];let i;for(let n=0,r=this.curves;r.length>n;n++){const o=r[n],a=o.getPoints(o&&o.isEllipseCurve?2*e:o&&(o.isLineCurve||o.isLineCurve3)?1:o&&o.isSplineCurve?e*o.points.length:e);for(let e=0;a.length>e;e++){const n=a[e];i&&i.equals(n)||(t.push(n),i=n)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,i=e.curves.length;i>t;t++){this.curves.push(e.curves[t].clone())}return this.autoClose=e.autoClose,this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,i=this.curves.length;i>t;t++){e.curves.push(this.curves[t].toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,i=e.curves.length;i>t;t++){const i=e.curves[t];this.curves.push((new Zl[i.type]).fromJSON(i))}return this}}class _l extends Xl{constructor(e){super(),this.type="Path",this.currentPoint=new ke,e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,i=e.length;i>t;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){return this.currentPoint.set(e,t),this}lineTo(e,t){const i=new jl(this.currentPoint.clone(),new ke(e,t));return this.curves.push(i),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,i,n){const r=new Jl(this.currentPoint.clone(),new ke(e,t),new ke(i,n));return this.curves.push(r),this.currentPoint.set(i,n),this}bezierCurveTo(e,t,i,n,r,o){const a=new Yl(this.currentPoint.clone(),new ke(e,t),new ke(i,n),new ke(r,o));return this.curves.push(a),this.currentPoint.set(r,o),this}splineThru(e){const t=[this.currentPoint.clone()].concat(e),i=new ql(t);return this.curves.push(i),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,i,n,r,o){return this.absarc(e+this.currentPoint.x,t+this.currentPoint.y,i,n,r,o),this}absarc(e,t,i,n,r,o){return this.absellipse(e,t,i,i,n,r,o),this}ellipse(e,t,i,n,r,o,a,s){return this.absellipse(e+this.currentPoint.x,t+this.currentPoint.y,i,n,r,o,a,s),this}absellipse(e,t,i,n,r,o,a,s){const l=new Rl(e,t,i,n,r,o,a,s);if(this.curves.length>0){const e=l.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class $l extends _l{constructor(e){super(e),this.uuid=Ie(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let i=0,n=this.holes.length;n>i;i++)t[i]=this.holes[i].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,i=e.holes.length;i>t;t++){this.holes.push(e.holes[t].clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,i=this.holes.length;i>t;t++){e.holes.push(this.holes[t].toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,i=e.holes.length;i>t;t++){const i=e.holes[t];this.holes.push((new _l).fromJSON(i))}return this}}class ec extends Yt{constructor(e,t=1){super(),this.type="Light",this.color=new pi(e),this.intensity=t}dispose(){}copy(e){return super.copy(e),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}ec.prototype.isLight=!0;class tc extends ec{constructor(e,t,i){super(e,i),this.type="HemisphereLight",this.position.copy(Yt.DefaultUp),this.updateMatrix(),this.groundColor=new pi(t)}copy(e){return ec.prototype.copy.call(this,e),this.groundColor.copy(e.groundColor),this}}tc.prototype.isHemisphereLight=!0;const ic=new yt,nc=new Ke,rc=new Ke;class oc{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.mapSize=new ke(512,512),this.map=null,this.mapPass=null,this.matrix=new yt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new yn,this._frameExtents=new ke(1,1),this._viewportCount=1,this._viewports=[new Le(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,i=this.matrix;nc.setFromMatrixPosition(e.matrixWorld),t.position.copy(nc),rc.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(rc),t.updateMatrixWorld(),ic.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(ic),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(t.projectionMatrix),i.multiply(t.matrixWorldInverse)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return(new this.constructor).copy(this)}toJSON(){const e={};return 0!==this.bias&&(e.bias=this.bias),0!==this.normalBias&&(e.normalBias=this.normalBias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class ac extends oc{constructor(){super(new dn(50,1,.5,500)),this.focus=1}updateMatrices(e){const t=this.camera,i=2*Ce*e.angle*this.focus,n=this.mapSize.width/this.mapSize.height,r=e.distance||t.far;i===t.fov&&n===t.aspect&&r===t.far||(t.fov=i,t.aspect=n,t.far=r,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}ac.prototype.isSpotLightShadow=!0;class sc extends ec{constructor(e,t,i=0,n=Math.PI/3,r=0,o=1){super(e,t),this.type="SpotLight",this.position.copy(Yt.DefaultUp),this.updateMatrix(),this.target=new Yt,this.distance=i,this.angle=n,this.penumbra=r,this.decay=o,this.shadow=new ac}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.distance=e.distance,this.angle=e.angle,this.penumbra=e.penumbra,this.decay=e.decay,this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}sc.prototype.isSpotLight=!0;const lc=new yt,cc=new Ke,hc=new Ke;class dc extends oc{constructor(){super(new dn(90,1,.5,500)),this._frameExtents=new ke(4,2),this._viewportCount=6,this._viewports=[new Le(2,1,1,1),new Le(0,1,1,1),new Le(3,1,1,1),new Le(1,1,1,1),new Le(3,0,1,1),new Le(1,0,1,1)],this._cubeDirections=[new Ke(1,0,0),new Ke(-1,0,0),new Ke(0,0,1),new Ke(0,0,-1),new Ke(0,1,0),new Ke(0,-1,0)],this._cubeUps=[new Ke(0,1,0),new Ke(0,1,0),new Ke(0,1,0),new Ke(0,1,0),new Ke(0,0,1),new Ke(0,0,-1)]}updateMatrices(e,t=0){const i=this.camera,n=this.matrix,r=e.distance||i.far;r!==i.far&&(i.far=r,i.updateProjectionMatrix()),cc.setFromMatrixPosition(e.matrixWorld),i.position.copy(cc),hc.copy(i.position),hc.add(this._cubeDirections[t]),i.up.copy(this._cubeUps[t]),i.lookAt(hc),i.updateMatrixWorld(),n.makeTranslation(-cc.x,-cc.y,-cc.z),lc.multiplyMatrices(i.projectionMatrix,i.matrixWorldInverse),this._frustum.setFromProjectionMatrix(lc)}}dc.prototype.isPointLightShadow=!0;class uc extends ec{constructor(e,t,i=0,n=1){super(e,t),this.type="PointLight",this.distance=i,this.decay=n,this.shadow=new dc}get power(){return 4*this.intensity*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}uc.prototype.isPointLight=!0;class pc extends hn{constructor(e=-1,t=1,i=1,n=-1,r=.1,o=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=i,this.bottom=n,this.near=r,this.far=o,this.updateProjectionMatrix()}copy(e,t){return super.copy(e,t),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,i,n,r,o){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=e,this.view.fullHeight=t,this.view.offsetX=i,this.view.offsetY=n,this.view.width=r,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,n=(this.top+this.bottom)/2;let r=i-e,o=i+e,a=n+t,s=n-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=e*this.view.offsetX,o=r+e*this.view.width,a-=t*this.view.offsetY,s=a-t*this.view.height}this.projectionMatrix.makeOrthographic(r,o,a,s,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return t.object.zoom=this.zoom,t.object.left=this.left,t.object.right=this.right,t.object.top=this.top,t.object.bottom=this.bottom,t.object.near=this.near,t.object.far=this.far,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}pc.prototype.isOrthographicCamera=!0;class gc extends oc{constructor(){super(new pc(-5,5,5,-5,.5,500))}}gc.prototype.isDirectionalLightShadow=!0;class fc extends ec{constructor(e,t){super(e,t),this.type="DirectionalLight",this.position.copy(Yt.DefaultUp),this.updateMatrix(),this.target=new Yt,this.shadow=new gc}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}fc.prototype.isDirectionalLight=!0;class mc extends ec{constructor(e,t){super(e,t),this.type="AmbientLight"}}mc.prototype.isAmbientLight=!0;class Ac extends ec{constructor(e,t,i=10,n=10){super(e,t),this.type="RectAreaLight",this.width=i,this.height=n}copy(e){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){const t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}}Ac.prototype.isRectAreaLight=!0;class yc{constructor(){this.coefficients=[];for(let e=0;9>e;e++)this.coefficients.push(new Ke)}static getBasisAt(e,t){const i=e.x,n=e.y,r=e.z;t[0]=.282095,t[1]=.488603*n,t[2]=.488603*r,t[3]=.488603*i,t[4]=1.092548*i*n,t[5]=1.092548*n*r,t[6]=.315392*(3*r*r-1),t[7]=1.092548*i*r,t[8]=.546274*(i*i-n*n)}set(e){for(let t=0;9>t;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;9>e;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){const i=e.x,n=e.y,r=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.282095),t.addScaledVector(o[1],.488603*n),t.addScaledVector(o[2],.488603*r),t.addScaledVector(o[3],.488603*i),t.addScaledVector(o[4],i*n*1.092548),t.addScaledVector(o[5],n*r*1.092548),t.addScaledVector(o[6],.315392*(3*r*r-1)),t.addScaledVector(o[7],i*r*1.092548),t.addScaledVector(o[8],.546274*(i*i-n*n)),t}getIrradianceAt(e,t){const i=e.x,n=e.y,r=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.886227),t.addScaledVector(o[1],1.023328*n),t.addScaledVector(o[2],1.023328*r),t.addScaledVector(o[3],1.023328*i),t.addScaledVector(o[4],.858086*i*n),t.addScaledVector(o[5],.858086*n*r),t.addScaledVector(o[6],.743125*r*r-.247708),t.addScaledVector(o[7],.858086*i*r),t.addScaledVector(o[8],.429043*(i*i-n*n)),t}add(e){for(let t=0;9>t;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let i=0;9>i;i++)this.coefficients[i].addScaledVector(e.coefficients[i],t);return this}scale(e){for(let t=0;9>t;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let i=0;9>i;i++)this.coefficients[i].lerp(e.coefficients[i],t);return this}equals(e){for(let t=0;9>t;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return!1;return!0}copy(e){return this.set(e.coefficients)}clone(){return(new this.constructor).copy(this)}fromArray(e,t=0){const i=this.coefficients;for(let n=0;9>n;n++)i[n].fromArray(e,t+3*n);return this}toArray(e=[],t=0){const i=this.coefficients;for(let n=0;9>n;n++)i[n].toArray(e,t+3*n);return e}}yc.prototype.isSphericalHarmonics3=!0;class vc extends ec{constructor(e=new yc,t=1){super(void 0,t),this.sh=e}copy(e){return super.copy(e),this.sh.copy(e.sh),this}fromJSON(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this}toJSON(e){const t=super.toJSON(e);return t.object.sh=this.sh.toArray(),t}}vc.prototype.isLightProbe=!0;class Cc extends Ml{constructor(e){super(e),this.textures={}}load(e,t,i,n){const r=this,o=new Bl(r.manager);o.setPath(r.path),o.setRequestHeader(r.requestHeader),o.setWithCredentials(r.withCredentials),o.load(e,(function(i){try{t(r.parse(JSON.parse(i)))}catch(t){n?n(t):console.error(t),r.manager.itemError(e)}}),i,n)}parse(e){const t=this.textures;function i(e){return void 0===t[e]&&console.warn("THREE.MaterialLoader: Undefined texture",e),t[e]}const n=new ol[e.type];if(void 0!==e.uuid&&(n.uuid=e.uuid),void 0!==e.name&&(n.name=e.name),void 0!==e.color&&void 0!==n.color&&n.color.setHex(e.color),void 0!==e.roughness&&(n.roughness=e.roughness),void 0!==e.metalness&&(n.metalness=e.metalness),void 0!==e.sheen&&(n.sheen=(new pi).setHex(e.sheen)),void 0!==e.emissive&&void 0!==n.emissive&&n.emissive.setHex(e.emissive),void 0!==e.specular&&void 0!==n.specular&&n.specular.setHex(e.specular),void 0!==e.shininess&&(n.shininess=e.shininess),void 0!==e.clearcoat&&(n.clearcoat=e.clearcoat),void 0!==e.clearcoatRoughness&&(n.clearcoatRoughness=e.clearcoatRoughness),void 0!==e.transmission&&(n.transmission=e.transmission),void 0!==e.thickness&&(n.thickness=e.thickness),void 0!==e.attenuationDistance&&(n.attenuationDistance=e.attenuationDistance),void 0!==e.attenuationColor&&void 0!==n.attenuationColor&&n.attenuationColor.setHex(e.attenuationColor),void 0!==e.fog&&(n.fog=e.fog),void 0!==e.flatShading&&(n.flatShading=e.flatShading),void 0!==e.blending&&(n.blending=e.blending),void 0!==e.combine&&(n.combine=e.combine),void 0!==e.side&&(n.side=e.side),void 0!==e.shadowSide&&(n.shadowSide=e.shadowSide),void 0!==e.opacity&&(n.opacity=e.opacity),void 0!==e.transparent&&(n.transparent=e.transparent),void 0!==e.alphaTest&&(n.alphaTest=e.alphaTest),void 0!==e.depthTest&&(n.depthTest=e.depthTest),void 0!==e.depthWrite&&(n.depthWrite=e.depthWrite),void 0!==e.colorWrite&&(n.colorWrite=e.colorWrite),void 0!==e.stencilWrite&&(n.stencilWrite=e.stencilWrite),void 0!==e.stencilWriteMask&&(n.stencilWriteMask=e.stencilWriteMask),void 0!==e.stencilFunc&&(n.stencilFunc=e.stencilFunc),void 0!==e.stencilRef&&(n.stencilRef=e.stencilRef),void 0!==e.stencilFuncMask&&(n.stencilFuncMask=e.stencilFuncMask),void 0!==e.stencilFail&&(n.stencilFail=e.stencilFail),void 0!==e.stencilZFail&&(n.stencilZFail=e.stencilZFail),void 0!==e.stencilZPass&&(n.stencilZPass=e.stencilZPass),void 0!==e.wireframe&&(n.wireframe=e.wireframe),void 0!==e.wireframeLinewidth&&(n.wireframeLinewidth=e.wireframeLinewidth),void 0!==e.wireframeLinecap&&(n.wireframeLinecap=e.wireframeLinecap),void 0!==e.wireframeLinejoin&&(n.wireframeLinejoin=e.wireframeLinejoin),void 0!==e.rotation&&(n.rotation=e.rotation),1!==e.linewidth&&(n.linewidth=e.linewidth),void 0!==e.dashSize&&(n.dashSize=e.dashSize),void 0!==e.gapSize&&(n.gapSize=e.gapSize),void 0!==e.scale&&(n.scale=e.scale),void 0!==e.polygonOffset&&(n.polygonOffset=e.polygonOffset),void 0!==e.polygonOffsetFactor&&(n.polygonOffsetFactor=e.polygonOffsetFactor),void 0!==e.polygonOffsetUnits&&(n.polygonOffsetUnits=e.polygonOffsetUnits),void 0!==e.morphTargets&&(n.morphTargets=e.morphTargets),void 0!==e.morphNormals&&(n.morphNormals=e.morphNormals),void 0!==e.dithering&&(n.dithering=e.dithering),void 0!==e.alphaToCoverage&&(n.alphaToCoverage=e.alphaToCoverage),void 0!==e.premultipliedAlpha&&(n.premultipliedAlpha=e.premultipliedAlpha),void 0!==e.vertexTangents&&(n.vertexTangents=e.vertexTangents),void 0!==e.visible&&(n.visible=e.visible),void 0!==e.toneMapped&&(n.toneMapped=e.toneMapped),void 0!==e.userData&&(n.userData=e.userData),void 0!==e.vertexColors&&(n.vertexColors="number"==typeof e.vertexColors?e.vertexColors>0:e.vertexColors),void 0!==e.uniforms)for(const t in e.uniforms){const r=e.uniforms[t];switch(n.uniforms[t]={},r.type){case"t":n.uniforms[t].value=i(r.value);break;case"c":n.uniforms[t].value=(new pi).setHex(r.value);break;case"v2":n.uniforms[t].value=(new ke).fromArray(r.value);break;case"v3":n.uniforms[t].value=(new Ke).fromArray(r.value);break;case"v4":n.uniforms[t].value=(new Le).fromArray(r.value);break;case"m3":n.uniforms[t].value=(new De).fromArray(r.value);break;case"m4":n.uniforms[t].value=(new yt).fromArray(r.value);break;default:n.uniforms[t].value=r.value}}if(void 0!==e.defines&&(n.defines=e.defines),void 0!==e.vertexShader&&(n.vertexShader=e.vertexShader),void 0!==e.fragmentShader&&(n.fragmentShader=e.fragmentShader),void 0!==e.extensions)for(const t in e.extensions)n.extensions[t]=e.extensions[t];if(void 0!==e.shading&&(n.flatShading=1===e.shading),void 0!==e.size&&(n.size=e.size),void 0!==e.sizeAttenuation&&(n.sizeAttenuation=e.sizeAttenuation),void 0!==e.map&&(n.map=i(e.map)),void 0!==e.matcap&&(n.matcap=i(e.matcap)),void 0!==e.alphaMap&&(n.alphaMap=i(e.alphaMap)),void 0!==e.bumpMap&&(n.bumpMap=i(e.bumpMap)),void 0!==e.bumpScale&&(n.bumpScale=e.bumpScale),void 0!==e.normalMap&&(n.normalMap=i(e.normalMap)),void 0!==e.normalMapType&&(n.normalMapType=e.normalMapType),void 0!==e.normalScale){let t=e.normalScale;!1===Array.isArray(t)&&(t=[t,t]),n.normalScale=(new ke).fromArray(t)}return void 0!==e.displacementMap&&(n.displacementMap=i(e.displacementMap)),void 0!==e.displacementScale&&(n.displacementScale=e.displacementScale),void 0!==e.displacementBias&&(n.displacementBias=e.displacementBias),void 0!==e.roughnessMap&&(n.roughnessMap=i(e.roughnessMap)),void 0!==e.metalnessMap&&(n.metalnessMap=i(e.metalnessMap)),void 0!==e.emissiveMap&&(n.emissiveMap=i(e.emissiveMap)),void 0!==e.emissiveIntensity&&(n.emissiveIntensity=e.emissiveIntensity),void 0!==e.specularMap&&(n.specularMap=i(e.specularMap)),void 0!==e.envMap&&(n.envMap=i(e.envMap)),void 0!==e.envMapIntensity&&(n.envMapIntensity=e.envMapIntensity),void 0!==e.reflectivity&&(n.reflectivity=e.reflectivity),void 0!==e.refractionRatio&&(n.refractionRatio=e.refractionRatio),void 0!==e.lightMap&&(n.lightMap=i(e.lightMap)),void 0!==e.lightMapIntensity&&(n.lightMapIntensity=e.lightMapIntensity),void 0!==e.aoMap&&(n.aoMap=i(e.aoMap)),void 0!==e.aoMapIntensity&&(n.aoMapIntensity=e.aoMapIntensity),void 0!==e.gradientMap&&(n.gradientMap=i(e.gradientMap)),void 0!==e.clearcoatMap&&(n.clearcoatMap=i(e.clearcoatMap)),void 0!==e.clearcoatRoughnessMap&&(n.clearcoatRoughnessMap=i(e.clearcoatRoughnessMap)),void 0!==e.clearcoatNormalMap&&(n.clearcoatNormalMap=i(e.clearcoatNormalMap)),void 0!==e.clearcoatNormalScale&&(n.clearcoatNormalScale=(new ke).fromArray(e.clearcoatNormalScale)),void 0!==e.transmissionMap&&(n.transmissionMap=i(e.transmissionMap)),void 0!==e.thicknessMap&&(n.thicknessMap=i(e.thicknessMap)),n}setTextures(e){return this.textures=e,this}}class Ic{static decodeText(e){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);let t="";for(let i=0,n=e.length;n>i;i++)t+=String.fromCharCode(e[i]);try{return decodeURIComponent(escape(t))}catch(e){return t}}static extractUrlBase(e){const t=e.lastIndexOf("/");return-1===t?"./":e.substr(0,t+1)}}class xc extends Ni{constructor(){super(),this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}clone(){return(new this.constructor).copy(this)}toJSON(){const e=super.toJSON(this);return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}xc.prototype.isInstancedBufferGeometry=!0;class wc extends Ai{constructor(e,t,i,n){"number"==typeof i&&(n=i,i=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")),super(e,t,i),this.meshPerAttribute=n||1}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}wc.prototype.isInstancedBufferAttribute=!0;class Mc extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=this,o=new Bl(r.manager);o.setPath(r.path),o.setRequestHeader(r.requestHeader),o.setWithCredentials(r.withCredentials),o.load(e,(function(i){try{t(r.parse(JSON.parse(i)))}catch(t){n?n(t):console.error(t),r.manager.itemError(e)}}),i,n)}parse(e){const t={},i={};function n(e,n){if(void 0!==t[n])return t[n];const r=e.interleavedBuffers[n],o=function(e,t){if(void 0!==i[t])return i[t];const n=new Uint32Array(e.arrayBuffers[t]).buffer;return i[t]=n,n}(e,r.buffer),a=Di(r.type,o),s=new Yo(a,r.stride);return s.uuid=r.uuid,t[n]=s,s}const r=e.isInstancedBufferGeometry?new xc:new Ni,o=e.data.index;if(void 0!==o){const e=Di(o.type,o.array);r.setIndex(new Ai(e,1))}const a=e.data.attributes;for(const t in a){const i=a[t];let o;if(i.isInterleavedBufferAttribute){const t=n(e.data,i.data);o=new jo(t,i.itemSize,i.offset,i.normalized)}else{const e=Di(i.type,i.array);o=new(i.isInstancedBufferAttribute?wc:Ai)(e,i.itemSize,i.normalized)}void 0!==i.name&&(o.name=i.name),void 0!==i.usage&&o.setUsage(i.usage),void 0!==i.updateRange&&(o.updateRange.offset=i.updateRange.offset,o.updateRange.count=i.updateRange.count),r.setAttribute(t,o)}const s=e.data.morphAttributes;if(s)for(const t in s){const i=s[t],o=[];for(let t=0,r=i.length;r>t;t++){const r=i[t];let a;if(r.isInterleavedBufferAttribute){const t=n(e.data,r.data);a=new jo(t,r.itemSize,r.offset,r.normalized)}else{const e=Di(r.type,r.array);a=new Ai(e,r.itemSize,r.normalized)}void 0!==r.name&&(a.name=r.name),o.push(a)}r.morphAttributes[t]=o}e.data.morphTargetsRelative&&(r.morphTargetsRelative=!0);const l=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==l)for(let e=0,t=l.length;e!==t;++e){const t=l[e];r.addGroup(t.start,t.count,t.materialIndex)}const c=e.data.boundingSphere;if(void 0!==c){const e=new Ke;void 0!==c.center&&e.fromArray(c.center),r.boundingSphere=new ct(e,c.radius)}return e.name&&(r.name=e.name),e.userData&&(r.userData=e.userData),r}}const Ec={UVMapping:s,CubeReflectionMapping:l,CubeRefractionMapping:c,EquirectangularReflectionMapping:h,EquirectangularRefractionMapping:d,CubeUVReflectionMapping:u,CubeUVRefractionMapping:p},Bc={RepeatWrapping:g,ClampToEdgeWrapping:f,MirroredRepeatWrapping:m},Sc={NearestFilter:A,NearestMipmapNearestFilter:y,NearestMipmapLinearFilter:v,LinearFilter:C,LinearMipmapNearestFilter:I,LinearMipmapLinearFilter:x};class bc extends Ml{constructor(e){super(e),"undefined"==typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"==typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,i,n){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);const r=this,o=Il.get(e);if(void 0!==o)return r.manager.itemStart(e),setTimeout((function(){t&&t(o),r.manager.itemEnd(e)}),0),o;const a={};a.credentials="anonymous"===this.crossOrigin?"same-origin":"include",a.headers=this.requestHeader,fetch(e,a).then((function(e){return e.blob()})).then((function(e){return createImageBitmap(e,Object.assign(r.options,{colorSpaceConversion:"none"}))})).then((function(i){Il.add(e,i),t&&t(i),r.manager.itemEnd(e)})).catch((function(t){n&&n(t),r.manager.itemError(e),r.manager.itemEnd(e)})),r.manager.itemStart(e)}}bc.prototype.isImageBitmapLoader=!0;class kc{constructor(){this.type="ShapePath",this.color=new pi,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new _l,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,i,n){return this.currentPath.quadraticCurveTo(e,t,i,n),this}bezierCurveTo(e,t,i,n,r,o){return this.currentPath.bezierCurveTo(e,t,i,n,r,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e,t){function i(e){const t=[];for(let i=0,n=e.length;n>i;i++){const n=e[i],r=new $l;r.curves=n.curves,t.push(r)}return t}function n(e,t){const i=t.length;let n=!1;for(let r=i-1,o=0;i>o;r=o++){let i=t[r],a=t[o],s=a.x-i.x,l=a.y-i.y;if(Math.abs(l)>Number.EPSILON){if(0>l&&(i=t[o],s=-s,a=t[r],l=-l),i.y>e.y||e.y>a.y)continue;if(e.y===i.y){if(e.x===i.x)return!0}else{const t=l*(e.x-i.x)-s*(e.y-i.y);if(0===t)return!0;if(0>t)continue;n=!n}}else{if(e.y!==i.y)continue;if(e.x>=a.x&&i.x>=e.x||e.x>=i.x&&a.x>=e.x)return!0}}return n}const r=Ds.isClockWise,o=this.subPaths;if(0===o.length)return[];if(!0===t)return i(o);let a,s,l;const c=[];if(1===o.length)return s=o[0],l=new $l,l.curves=s.curves,c.push(l),c;let h=!r(o[0].getPoints());h=e?!h:h;const d=[],u=[];let p,g,f=[],m=0;u[m]=void 0,f[m]=[];for(let t=0,i=o.length;i>t;t++)s=o[t],p=s.getPoints(),a=r(p),a=e?!a:a,a?(!h&&u[m]&&m++,u[m]={s:new $l,p:p},u[m].s.curves=s.curves,h&&m++,f[m]=[]):f[m].push({h:s,p:p[0]});if(!u[0])return i(o);if(u.length>1){let e=!1;const t=[];for(let e=0,t=u.length;t>e;e++)d[e]=[];for(let i=0,r=u.length;r>i;i++){const r=f[i];for(let o=0;r.length>o;o++){const a=r[o];let s=!0;for(let r=0;u.length>r;r++)n(a.p,u[r].p)&&(i!==r&&t.push({froms:i,tos:r,hole:o}),s?(s=!1,d[r].push(a)):e=!0);s&&d[i].push(a)}}t.length>0&&(e||(f=d))}for(let e=0,t=u.length;t>e;e++){l=u[e].s,c.push(l),g=f[e];for(let e=0,t=g.length;t>e;e++)l.holes.push(g[e].h)}return c}}class Dc{constructor(e){this.type="Font",this.data=e}generateShapes(e,t=100){const i=[],n=function(e,t,i){const n=Array.from(e),r=t/i.resolution,o=(i.boundingBox.yMax-i.boundingBox.yMin+i.underlineThickness)*r,a=[];let s=0,l=0;for(let e=0;n.length>e;e++){const t=n[e];if("\n"===t)s=0,l-=o;else{const e=Tc(t,r,s,l,i);s+=e.offsetX,a.push(e.path)}}return a}(e,t,this.data);for(let e=0,t=n.length;t>e;e++)Array.prototype.push.apply(i,n[e].toShapes());return i}}function Tc(e,t,i,n,r){const o=r.glyphs[e]||r.glyphs["?"];if(!o)return void console.error('THREE.Font: character "'+e+'" does not exists in font family '+r.familyName+".");const a=new kc;let s,l,c,h,d,u,p,g;if(o.o){const e=o._cachedOutline||(o._cachedOutline=o.o.split(" "));for(let r=0,o=e.length;o>r;){switch(e[r++]){case"m":s=e[r++]*t+i,l=e[r++]*t+n,a.moveTo(s,l);break;case"l":s=e[r++]*t+i,l=e[r++]*t+n,a.lineTo(s,l);break;case"q":c=e[r++]*t+i,h=e[r++]*t+n,d=e[r++]*t+i,u=e[r++]*t+n,a.quadraticCurveTo(d,u,c,h);break;case"b":c=e[r++]*t+i,h=e[r++]*t+n,d=e[r++]*t+i,u=e[r++]*t+n,p=e[r++]*t+i,g=e[r++]*t+n,a.bezierCurveTo(d,u,p,g,c,h)}}}return{offsetX:o.ha*t,path:a}}Dc.prototype.isFont=!0;let Rc;const Uc={getContext:function(){return void 0===Rc&&(Rc=new(window.AudioContext||window.webkitAudioContext)),Rc},setContext:function(e){Rc=e}};class Fc extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=this,o=new Bl(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,(function(i){try{const e=i.slice(0);Uc.getContext().decodeAudioData(e,(function(e){t(e)}))}catch(t){n?n(t):console.error(t),r.manager.itemError(e)}}),i,n)}}class Qc extends vc{constructor(e,t,i=1){super(void 0,i);const n=(new pi).set(e),r=(new pi).set(t),o=new Ke(n.r,n.g,n.b),a=new Ke(r.r,r.g,r.b),s=Math.sqrt(Math.PI),l=s*Math.sqrt(.75);this.sh.coefficients[0].copy(o).add(a).multiplyScalar(s),this.sh.coefficients[1].copy(o).sub(a).multiplyScalar(l)}}Qc.prototype.isHemisphereLightProbe=!0;class Lc extends vc{constructor(e,t=1){super(void 0,t);const i=(new pi).set(e);this.sh.coefficients[0].set(i.r,i.g,i.b).multiplyScalar(2*Math.sqrt(Math.PI))}}Lc.prototype.isAmbientLightProbe=!0;const Oc=new yt,Nc=new yt;class Pc{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Gc(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=Gc();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function Gc(){return("undefined"==typeof performance?Date:performance).now()}const Kc=new Ke,Vc=new Ge,Yc=new Ke,Hc=new Ke;class jc extends Yt{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.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.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.loopStart=this.loopStart,t.loopEnd=this.loopEnd,t.onended=this.onEnded.bind(this),t.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;t>e;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;t>e;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}getFilters(){return this.filters}setFilters(e){return e||(e=[]),!0===this._connected?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this}setDetune(e){if(this.detune=e,void 0!==this.source.detune)return!0===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(!1!==this.hasPlaybackControl)return this.playbackRate=e,!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(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(e){if(!1!==this.hasPlaybackControl)return this.loop=e,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")}setLoopStart(e){return this.loopStart=e,this}setLoopEnd(e){return this.loopEnd=e,this}getVolume(){return this.gain.gain.value}setVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}}const Wc=new Ke,Jc=new Ge,zc=new Ke,qc=new Ke;class Zc{constructor(e,t=2048){this.analyser=e.context.createAnalyser(),this.analyser.fftSize=t,this.data=new Uint8Array(this.analyser.frequencyBinCount),e.getOutput().connect(this.analyser)}getFrequencyData(){return this.analyser.getByteFrequencyData(this.data),this.data}getAverageFrequency(){let e=0;const t=this.getFrequencyData();for(let i=0;t.length>i;i++)e+=t[i];return e/t.length}}class Xc{constructor(e,t,i){let n,r,o;switch(this.binding=e,this.valueSize=i,t){case"quaternion":n=this._slerp,r=this._slerpAdditive,o=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*i),this._workIndex=5;break;case"string":case"bool":n=this._select,r=this._select,o=this._setAdditiveIdentityOther,this.buffer=new Array(5*i);break;default:n=this._lerp,r=this._lerpAdditive,o=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*i)}this._mixBufferRegion=n,this._mixBufferRegionAdditive=r,this._setIdentity=o,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(e,t){const i=this.buffer,n=this.valueSize,r=e*n+n;let o=this.cumulativeWeight;if(0===o){for(let e=0;e!==n;++e)i[r+e]=i[e];o=t}else{o+=t;this._mixBufferRegion(i,r,0,t/o,n)}this.cumulativeWeight=o}accumulateAdditive(e){const t=this.buffer,i=this.valueSize,n=i*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(t,n,0,e,i),this.cumulativeWeightAdditive+=e}apply(e){const t=this.valueSize,i=this.buffer,n=e*t+t,r=this.cumulativeWeight,o=this.cumulativeWeightAdditive,a=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,1>r){this._mixBufferRegion(i,n,t*this._origIndex,1-r,t)}o>0&&this._mixBufferRegionAdditive(i,n,this._addIndex*t,1,t);for(let e=t,r=t+t;e!==r;++e)if(i[e]!==i[e+t]){a.setValue(i,n);break}}saveOriginalState(){const e=this.buffer,t=this.valueSize,i=t*this._origIndex;this.binding.getValue(e,i);for(let n=t,r=i;n!==r;++n)e[n]=e[i+n%t];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){this.binding.setValue(this.buffer,3*this.valueSize)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,t=e+this.valueSize;for(let i=e;t>i;i++)this.buffer[i]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric(),this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const e=this._origIndex*this.valueSize,t=this._addIndex*this.valueSize;for(let i=0;this.valueSize>i;i++)this.buffer[t+i]=this.buffer[e+i]}_select(e,t,i,n,r){if(n>=.5)for(let n=0;n!==r;++n)e[t+n]=e[i+n]}_slerp(e,t,i,n){Ge.slerpFlat(e,t,e,t,e,i,n)}_slerpAdditive(e,t,i,n,r){const o=this._workIndex*r;Ge.multiplyQuaternionsFlat(e,o,e,t,e,i),Ge.slerpFlat(e,t,e,t,e,o,n)}_lerp(e,t,i,n,r){const o=1-n;for(let a=0;a!==r;++a){const r=t+a;e[r]=e[r]*o+e[i+a]*n}}_lerpAdditive(e,t,i,n,r){for(let o=0;o!==r;++o){const r=t+o;e[r]=e[r]+e[i+o]*n}}}const _c="\\[\\]\\.:\\/",$c=new RegExp("[\\[\\]\\.:\\/]","g"),eh="[^\\[\\]\\.:\\/]",th="[^"+_c.replace("\\.","")+"]",ih=/((?:WC+[\/:])*)/.source.replace("WC",eh),nh=/(WCOD+)?/.source.replace("WCOD",th),rh=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",eh),oh=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",eh),ah=new RegExp("^"+ih+nh+rh+oh+"$"),sh=["material","materials","bones"];class lh{constructor(e,t,i){this.path=t,this.parsedPath=i||lh.parseTrackName(t),this.node=lh.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,i){return e&&e.isAnimationObjectGroup?new lh.Composite(e,t,i):new lh(e,t,i)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace($c,"")}static parseTrackName(e){const t=ah.exec(e);if(!t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const i={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},n=i.nodeName&&i.nodeName.lastIndexOf(".");if(void 0!==n&&-1!==n){const e=i.nodeName.substring(n+1);-1!==sh.indexOf(e)&&(i.nodeName=i.nodeName.substring(0,n),i.objectName=e)}if(null===i.propertyName||0===i.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return i}static findNode(e,t){if(!t||""===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const i=e.skeleton.getBoneByName(t);if(void 0!==i)return i}if(e.children){const i=function(e){for(let n=0;e.length>n;n++){const r=e[n];if(r.name===t||r.uuid===t)return r;const o=i(r.children);if(o)return o}return null},n=i(e.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.node[this.propertyName]}_getValue_array(e,t){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)e[t++]=i[n]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)i[n]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)i[n]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const i=this.resolvedProperty;for(let n=0,r=i.length;n!==r;++n)i[n]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_getValue_unbound(e,t){this.bind(),this.getValue(e,t)}_setValue_unbound(e,t){this.bind(),this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath,i=t.objectName,n=t.propertyName;let r=t.propertyIndex;if(e||(e=lh.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(i){let n=t.objectIndex;switch(i){case"materials":if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!e.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);e=e.material.materials;break;case"bones":if(!e.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);e=e.skeleton.bones;for(let t=0;e.length>t;t++)if(e[t].name===n){n=t;break}break;default:if(void 0===e[i])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);e=e[i]}if(void 0!==n){if(void 0===e[n])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);e=e[n]}}const o=e[n];if(void 0===o){return void console.error("THREE.PropertyBinding: Trying to update property for track: "+t.nodeName+"."+n+" but it wasn't found.",e)}let a=this.Versioning.None;this.targetObject=e,void 0!==e.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let s=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===n){if(!e.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!e.geometry.isBufferGeometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.",this);if(!e.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==e.morphTargetDictionary[r]&&(r=e.morphTargetDictionary[r])}s=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=r}else void 0!==o.fromArray&&void 0!==o.toArray?(s=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(s=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=n;this.getValue=this.GetterByBindingType[s],this.setValue=this.SetterByBindingTypeAndVersioning[s][a]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}lh.Composite=class{constructor(e,t,i){const n=i||lh.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,n)}getValue(e,t){this.bind();const i=this._bindings[this._targetGroup.nCachedObjects_];void 0!==i&&i.getValue(e,t)}setValue(e,t){const i=this._bindings;for(let n=this._targetGroup.nCachedObjects_,r=i.length;n!==r;++n)i[n].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,i=e.length;t!==i;++t)e[t].unbind()}},lh.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},lh.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},lh.prototype.GetterByBindingType=[lh.prototype._getValue_direct,lh.prototype._getValue_array,lh.prototype._getValue_arrayElement,lh.prototype._getValue_toArray],lh.prototype.SetterByBindingTypeAndVersioning=[[lh.prototype._setValue_direct,lh.prototype._setValue_direct_setNeedsUpdate,lh.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[lh.prototype._setValue_array,lh.prototype._setValue_array_setNeedsUpdate,lh.prototype._setValue_array_setMatrixWorldNeedsUpdate],[lh.prototype._setValue_arrayElement,lh.prototype._setValue_arrayElement_setNeedsUpdate,lh.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[lh.prototype._setValue_fromArray,lh.prototype._setValue_fromArray_setNeedsUpdate,lh.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class ch{constructor(){this.uuid=Ie(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const e={};this._indicesByUUID=e;for(let t=0,i=arguments.length;t!==i;++t)e[arguments[t].uuid]=t;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};const t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){const e=this._objects,t=this._indicesByUUID,i=this._paths,n=this._parsedPaths,r=this._bindings,o=r.length;let a,s=e.length,l=this.nCachedObjects_;for(let c=0,h=arguments.length;c!==h;++c){const h=arguments[c],d=h.uuid;let u=t[d];if(void 0===u){u=s++,t[d]=u,e.push(h);for(let e=0,t=o;e!==t;++e)r[e].push(new lh(h,i[e],n[e]))}else if(l>u){a=e[u];const s=--l,c=e[s];t[c.uuid]=u,e[u]=c,t[d]=s,e[s]=h;for(let e=0,t=o;e!==t;++e){const t=r[e];let o=t[u];t[u]=t[s],void 0===o&&(o=new lh(h,i[e],n[e])),t[s]=o}}else e[u]!==a&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.")}this.nCachedObjects_=l}remove(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,n=i.length;let r=this.nCachedObjects_;for(let o=0,a=arguments.length;o!==a;++o){const a=arguments[o],s=a.uuid,l=t[s];if(void 0!==l&&l>=r){const o=r++,c=e[o];t[c.uuid]=l,e[l]=c,t[s]=o,e[o]=a;for(let e=0,t=n;e!==t;++e){const t=i[e],n=t[l];t[l]=t[o],t[o]=n}}}this.nCachedObjects_=r}uncache(){const e=this._objects,t=this._indicesByUUID,i=this._bindings,n=i.length;let r=this.nCachedObjects_,o=e.length;for(let a=0,s=arguments.length;a!==s;++a){const s=arguments[a].uuid,l=t[s];if(void 0!==l)if(delete t[s],r>l){const a=--r,s=e[a],c=--o,h=e[c];t[s.uuid]=l,e[l]=s,t[h.uuid]=a,e[a]=h,e.pop();for(let e=0,t=n;e!==t;++e){const t=i[e],n=t[c];t[l]=t[a],t[a]=n,t.pop()}}else{const r=--o,a=e[r];r>0&&(t[a.uuid]=l),e[l]=a,e.pop();for(let e=0,t=n;e!==t;++e){const t=i[e];t[l]=t[r],t.pop()}}}this.nCachedObjects_=r}subscribe_(e,t){const i=this._bindingsIndicesByPath;let n=i[e];const r=this._bindings;if(void 0!==n)return r[n];const o=this._paths,a=this._parsedPaths,s=this._objects,l=this.nCachedObjects_,c=new Array(s.length);n=r.length,i[e]=n,o.push(e),a.push(t),r.push(c);for(let i=l,n=s.length;i!==n;++i){c[i]=new lh(s[i],e,t)}return c}unsubscribe_(e){const t=this._bindingsIndicesByPath,i=t[e];if(void 0!==i){const n=this._paths,r=this._parsedPaths,o=this._bindings,a=o.length-1,s=o[a];t[e[a]]=i,o[i]=s,o.pop(),r[i]=r[a],r.pop(),n[i]=n[a],n.pop()}}}ch.prototype.isAnimationObjectGroup=!0;class hh{constructor(e,t,i=null,n=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=i,this.blendMode=n;const r=t.tracks,o=r.length,a=new Array(o),s={endingStart:W,endingEnd:W};for(let e=0;e!==o;++e){const t=r[e].createInterpolant(null);a[e]=t,t.settings=s}this._interpolantSettings=s,this._interpolants=a,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}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,i){if(e.fadeOut(t),this.fadeIn(t),i){const i=this._clip.duration,n=e._clip.duration,r=i/n;e.warp(1,n/i,t),this.warp(r,1,t)}return this}crossFadeTo(e,t,i){return e.crossFadeFrom(this,t,i)}stopFading(){const e=this._weightInterpolant;return null!==e&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,i){const n=this._mixer,r=n.time,o=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=n._lendControlInterpolant(),this._timeScaleInterpolant=a);const s=a.parameterPositions,l=a.sampleValues;return s[0]=r,s[1]=r+i,l[0]=e/o,l[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return null!==e&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,i,n){if(!this.enabled)return void this._updateWeight(e);const r=this._startTime;if(null!==r){const n=(e-r)*i;if(0>n||0===i)return;this._startTime=null,t=i*n}t*=this._updateTimeScale(e);const o=this._updateTime(t),a=this._updateWeight(e);if(a>0){const e=this._interpolants,t=this._propertyBindings;switch(this.blendMode){case Z:for(let i=0,n=e.length;i!==n;++i)e[i].evaluate(o),t[i].accumulateAdditive(a);break;case q:default:for(let i=0,r=e.length;i!==r;++i)e[i].evaluate(o),t[i].accumulate(n,a)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const i=this._weightInterpolant;if(null!==i){const n=i.evaluate(e)[0];t*=n,e>i.parameterPositions[1]&&(this.stopFading(),0===n&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const i=this._timeScaleInterpolant;if(null!==i){t*=i.evaluate(e)[0],e>i.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,i=this.loop;let n=this.time+e,r=this._loopCount;const o=2202===i;if(0===e)return-1===r?n:o&&1==(1&r)?t-n:n;if(2200===i){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(n<t){if(n>=0){this.time=n;break e}n=0}else n=t;this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=n,this._mixer.dispatchEvent({type:"finished",action:this,direction:0>e?-1:1})}}else{if(-1===r&&(0>e?this._setEndings(0===this.repetitions,!0,o):(r=0,this._setEndings(!0,0===this.repetitions,o))),n>=t||0>n){const i=Math.floor(n/t);n-=t*i,r+=Math.abs(i);const a=this.repetitions-r;if(0<a){if(1===a){const t=0>e;this._setEndings(t,!t,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this.time=n,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:i})}else this.clampWhenFinished?this.paused=!0:this.enabled=!1,n=e>0?t:0,this.time=n,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1})}else this.time=n;if(o&&1==(1&r))return t-n}return n}_setEndings(e,t,i){const n=this._interpolantSettings;i?(n.endingStart=J,n.endingEnd=J):(n.endingStart=e?this.zeroSlopeAtStart?J:W:z,n.endingEnd=t?this.zeroSlopeAtEnd?J:W:z)}_scheduleFading(e,t,i){const n=this._mixer,r=n.time;let o=this._weightInterpolant;null===o&&(o=n._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,s=o.sampleValues;return a[0]=r,s[0]=t,a[1]=r+e,s[1]=i,this}}class dh extends me{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const i=e._localRoot||this._root,n=e._clip.tracks,r=n.length,o=e._propertyBindings,a=e._interpolants,s=i.uuid,l=this._bindingsByRootAndName;let c=l[s];void 0===c&&(c={},l[s]=c);for(let e=0;e!==r;++e){const r=n[e],l=r.name;let h=c[l];if(void 0!==h)o[e]=h;else{if(h=o[e],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,s,l));continue}h=new Xc(lh.create(i,l,t&&t._propertyBindings[e].binding.parsedPath),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,s,l),o[e]=h}a[e].resultBuffer=h.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){const t=(e._localRoot||this._root).uuid,i=e._clip.uuid,n=this._actionsByClip[i];this._bindAction(e,n&&n.knownActions[0]),this._addInactiveAction(e,i,t)}const t=e._propertyBindings;for(let e=0,i=t.length;e!==i;++e){const i=t[e];0==i.useCount++&&(this._lendBinding(i),i.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let e=0,i=t.length;e!==i;++e){const i=t[e];0==--i.useCount&&(i.restoreOriginalState(),this._takeBackBinding(i))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return null!==t&&this._nActiveActions>t}_addInactiveAction(e,t,i){const n=this._actions,r=this._actionsByClip;let o=r[t];if(void 0===o)o={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,r[t]=o;else{const t=o.knownActions;e._byClipCacheIndex=t.length,t.push(e)}e._cacheIndex=n.length,n.push(e),o.actionByRoot[i]=e}_removeInactiveAction(e){const t=this._actions,i=t[t.length-1],n=e._cacheIndex;i._cacheIndex=n,t[n]=i,t.pop(),e._cacheIndex=null;const r=e._clip.uuid,o=this._actionsByClip,a=o[r],s=a.knownActions,l=s[s.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c,s[c]=l,s.pop(),e._byClipCacheIndex=null;delete a.actionByRoot[(e._localRoot||this._root).uuid],0===s.length&&delete o[r],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){const t=e._propertyBindings;for(let e=0,i=t.length;e!==i;++e){const i=t[e];0==--i.referenceCount&&this._removeInactiveBinding(i)}}_lendAction(e){const t=this._actions,i=e._cacheIndex,n=this._nActiveActions++,r=t[n];e._cacheIndex=n,t[n]=e,r._cacheIndex=i,t[i]=r}_takeBackAction(e){const t=this._actions,i=e._cacheIndex,n=--this._nActiveActions,r=t[n];e._cacheIndex=n,t[n]=e,r._cacheIndex=i,t[i]=r}_addInactiveBinding(e,t,i){const n=this._bindingsByRootAndName,r=this._bindings;let o=n[t];void 0===o&&(o={},n[t]=o),o[i]=e,e._cacheIndex=r.length,r.push(e)}_removeInactiveBinding(e){const t=this._bindings,i=e.binding,n=i.rootNode.uuid,r=i.path,o=this._bindingsByRootAndName,a=o[n],s=t[t.length-1],l=e._cacheIndex;s._cacheIndex=l,t[l]=s,t.pop(),delete a[r],0===Object.keys(a).length&&delete o[n]}_lendBinding(e){const t=this._bindings,i=e._cacheIndex,n=this._nActiveBindings++,r=t[n];e._cacheIndex=n,t[n]=e,r._cacheIndex=i,t[i]=r}_takeBackBinding(e){const t=this._bindings,i=e._cacheIndex,n=--this._nActiveBindings,r=t[n];e._cacheIndex=n,t[n]=e,r._cacheIndex=i,t[i]=r}_lendControlInterpolant(){const e=this._controlInterpolants,t=this._nActiveControlInterpolants++;let i=e[t];return void 0===i&&(i=new cl(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),i.__cacheIndex=t,e[t]=i),i}_takeBackControlInterpolant(e){const t=this._controlInterpolants,i=e.__cacheIndex,n=--this._nActiveControlInterpolants,r=t[n];e.__cacheIndex=n,t[n]=e,r.__cacheIndex=i,t[i]=r}clipAction(e,t,i){const n=t||this._root,r=n.uuid;let o="string"==typeof e?vl.findByName(n,e):e;const a=null!==o?o.uuid:e,s=this._actionsByClip[a];let l=null;if(void 0===i&&(i=null!==o?o.blendMode:q),void 0!==s){const e=s.actionByRoot[r];if(void 0!==e&&e.blendMode===i)return e;l=s.knownActions[0],null===o&&(o=l._clip)}if(null===o)return null;const c=new hh(this,o,t,i);return this._bindAction(c,l),this._addInactiveAction(c,a,r),c}existingAction(e,t){const i=t||this._root,n=i.uuid,r="string"==typeof e?vl.findByName(i,e):e,o=this._actionsByClip[r?r.uuid:e];return void 0!==o&&o.actionByRoot[n]||null}stopAllAction(){const e=this._actions;for(let t=this._nActiveActions-1;t>=0;--t)e[t].stop();return this}update(e){const t=this._actions,i=this._nActiveActions,n=this.time+=e*=this.timeScale,r=Math.sign(e),o=this._accuIndex^=1;for(let a=0;a!==i;++a){t[a]._update(n,e,r,o)}const a=this._bindings,s=this._nActiveBindings;for(let e=0;e!==s;++e)a[e].apply(o);return this}setTime(e){this.time=0;for(let e=0;this._actions.length>e;e++)this._actions[e].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){const t=this._actions,i=e.uuid,n=this._actionsByClip,r=n[i];if(void 0!==r){const e=r.knownActions;for(let i=0,n=e.length;i!==n;++i){const n=e[i];this._deactivateAction(n);const r=n._cacheIndex,o=t[t.length-1];n._cacheIndex=null,n._byClipCacheIndex=null,o._cacheIndex=r,t[r]=o,t.pop(),this._removeInactiveBindingsForAction(n)}delete n[i]}}uncacheRoot(e){const t=e.uuid,i=this._actionsByClip;for(const e in i){const n=i[e].actionByRoot[t];void 0!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}const n=this._bindingsByRootAndName[t];if(void 0!==n)for(const e in n){const t=n[e];t.restoreOriginalState(),this._removeInactiveBinding(t)}}uncacheAction(e,t){const i=this.existingAction(e,t);null!==i&&(this._deactivateAction(i),this._removeInactiveAction(i))}}dh.prototype._controlInterpolantsResultBuffer=new Float32Array(1);class uh{constructor(e){"string"==typeof e&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),e=arguments[1]),this.value=e}clone(){return new uh(void 0===this.value.clone?this.value:this.value.clone())}}class ph extends Yo{constructor(e,t,i=1){super(e,t),this.meshPerAttribute=i||1}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}ph.prototype.isInstancedInterleavedBuffer=!0;class gh{constructor(e,t,i,n,r){this.buffer=e,this.type=t,this.itemSize=i,this.elementSize=n,this.count=r,this.version=0}set needsUpdate(e){!0===e&&this.version++}setBuffer(e){return this.buffer=e,this}setType(e,t){return this.type=e,this.elementSize=t,this}setItemSize(e){return this.itemSize=e,this}setCount(e){return this.count=e,this}}gh.prototype.isGLBufferAttribute=!0;function fh(e,t){return e.distance-t.distance}function mh(e,t,i,n){if(e.layers.test(t.layers)&&e.raycast(t,i),!0===n){const n=e.children;for(let e=0,r=n.length;r>e;e++)mh(n[e],t,i,!0)}}class Ah{constructor(e=1,t=0,i=0){return this.radius=e,this.phi=t,this.theta=i,this}set(e,t,i){return this.radius=e,this.phi=t,this.theta=i,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){const e=1e-6;return this.phi=Math.max(e,Math.min(Math.PI-e,this.phi)),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,i){return this.radius=Math.sqrt(e*e+t*t+i*i),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,i),this.phi=Math.acos(xe(t/this.radius,-1,1))),this}clone(){return(new this.constructor).copy(this)}}const yh=new ke;class vh{constructor(e=new ke(1/0,1/0),t=new ke(-1/0,-1/0)){this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromPoints(e){this.makeEmpty();for(let t=0,i=e.length;i>t;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const i=yh.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}clone(){return(new this.constructor).copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this}isEmpty(){return this.min.x>this.max.x||this.min.y>this.max.y}getCenter(e){return void 0===e&&(console.warn("THREE.Box2: .getCenter() target is now required"),e=new ke),this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return void 0===e&&(console.warn("THREE.Box2: .getSize() target is now required"),e=new ke),this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}containsPoint(e){return!(this.min.x>e.x||e.x>this.max.x||this.min.y>e.y||e.y>this.max.y)}containsBox(e){return!(this.min.x>e.min.x||e.max.x>this.max.x||this.min.y>e.min.y||e.max.y>this.max.y)}getParameter(e,t){return void 0===t&&(console.warn("THREE.Box2: .getParameter() target is now required"),t=new ke),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(this.min.x>e.max.x||e.min.x>this.max.x||this.min.y>e.max.y||e.min.y>this.max.y)}clampPoint(e,t){return void 0===t&&(console.warn("THREE.Box2: .clampPoint() target is now required"),t=new ke),t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return yh.copy(e).clamp(this.min,this.max).sub(e).length()}intersect(e){return this.min.max(e.min),this.max.min(e.max),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}vh.prototype.isBox2=!0;const Ch=new Ke,Ih=new Ke;class xh{constructor(e=new Ke,t=new Ke){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return void 0===e&&(console.warn("THREE.Line3: .getCenter() target is now required"),e=new Ke),e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return void 0===e&&(console.warn("THREE.Line3: .delta() target is now required"),e=new Ke),e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return void 0===t&&(console.warn("THREE.Line3: .at() target is now required"),t=new Ke),this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){Ch.subVectors(e,this.start),Ih.subVectors(this.end,this.start);const i=Ih.dot(Ih);let n=Ih.dot(Ch)/i;return t&&(n=xe(n,0,1)),n}closestPointToPoint(e,t,i){const n=this.closestPointToPointParameter(e,t);return void 0===i&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),i=new Ke),this.delta(i).multiplyScalar(n).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}class wh extends Yt{constructor(e){super(),this.material=e,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}}wh.prototype.isImmediateRenderObject=!0;const Mh=new Ke;const Eh=new Ke,Bh=new yt,Sh=new yt;class bh extends La{constructor(e){const t=kh(e),i=new Ni,n=[],r=[],o=new pi(0,0,1),a=new pi(0,1,0);for(let e=0;t.length>e;e++){const i=t[e];i.parent&&i.parent.isBone&&(n.push(0,0,0),n.push(0,0,0),r.push(o.r,o.g,o.b),r.push(a.r,a.g,a.b))}i.setAttribute("position",new Bi(n,3)),i.setAttribute("color",new Bi(r,3));super(i,new Sa({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0})),this.type="SkeletonHelper",this.isSkeletonHelper=!0,this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(e){const t=this.bones,i=this.geometry,n=i.getAttribute("position");Sh.copy(this.root.matrixWorld).invert();for(let e=0,i=0;t.length>e;e++){const r=t[e];r.parent&&r.parent.isBone&&(Bh.multiplyMatrices(Sh,r.matrixWorld),Eh.setFromMatrixPosition(Bh),n.setXYZ(i,Eh.x,Eh.y,Eh.z),Bh.multiplyMatrices(Sh,r.parent.matrixWorld),Eh.setFromMatrixPosition(Bh),n.setXYZ(i+1,Eh.x,Eh.y,Eh.z),i+=2)}i.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(e)}}function kh(e){const t=[];e&&e.isBone&&t.push(e);for(let i=0;e.children.length>i;i++)t.push.apply(t,kh(e.children[i]));return t}const Dh=new Ke,Th=new pi,Rh=new pi;class Uh extends La{constructor(e=10,t=10,i=4473924,n=8947848){i=new pi(i),n=new pi(n);const r=t/2,o=e/t,a=e/2,s=[],l=[];for(let e=0,c=0,h=-a;t>=e;e++,h+=o){s.push(-a,0,h,a,0,h),s.push(h,0,-a,h,0,a);const t=e===r?i:n;t.toArray(l,c),c+=3,t.toArray(l,c),c+=3,t.toArray(l,c),c+=3,t.toArray(l,c),c+=3}const c=new Ni;c.setAttribute("position",new Bi(s,3)),c.setAttribute("color",new Bi(l,3));super(c,new Sa({vertexColors:!0,toneMapped:!1})),this.type="GridHelper"}}const Fh=new Ke,Qh=new Ke,Lh=new Ke;class Oh extends Yt{constructor(e,t,i){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=i,void 0===t&&(t=1);let n=new Ni;n.setAttribute("position",new Bi([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const r=new Sa({fog:!1,toneMapped:!1});this.lightPlane=new Ua(n,r),this.add(this.lightPlane),n=new Ni,n.setAttribute("position",new Bi([0,0,0,0,0,1],3)),this.targetLine=new Ua(n,r),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){Fh.setFromMatrixPosition(this.light.matrixWorld),Qh.setFromMatrixPosition(this.light.target.matrixWorld),Lh.subVectors(Qh,Fh),this.lightPlane.lookAt(Qh),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(Qh),this.targetLine.scale.z=Lh.length()}}const Nh=new Ke,Ph=new hn;function Gh(e,t,i,n,r,o,a){Nh.set(r,o,a).unproject(n);const s=t[e];if(void 0!==s){const e=i.getAttribute("position");for(let t=0,i=s.length;i>t;t++)e.setXYZ(s[t],Nh.x,Nh.y,Nh.z)}}const Kh=new He;class Vh extends La{constructor(e,t=16776960){const i=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 Ni;r.setIndex(new Ai(i,1)),r.setAttribute("position",new Ai(n,3)),super(r,new Sa({color:t,toneMapped:!1})),this.object=e,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(e){if(void 0!==e&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&Kh.setFromObject(this.object),Kh.isEmpty())return;const t=Kh.min,i=Kh.max,n=this.geometry.attributes.position,r=n.array;r[0]=i.x,r[1]=i.y,r[2]=i.z,r[3]=t.x,r[4]=i.y,r[5]=i.z,r[6]=t.x,r[7]=t.y,r[8]=i.z,r[9]=i.x,r[10]=t.y,r[11]=i.z,r[12]=i.x,r[13]=i.y,r[14]=t.z,r[15]=t.x,r[16]=i.y,r[17]=t.z,r[18]=t.x,r[19]=t.y,r[20]=t.z,r[21]=i.x,r[22]=t.y,r[23]=t.z,n.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(e){return this.object=e,this.update(),this}copy(e){return La.prototype.copy.call(this,e),this.object=e.object,this}}const Yh=new Ke;let Hh,jh;class Wh extends La{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],i=new Ni;i.setAttribute("position",new Bi(t,3)),i.setAttribute("color",new Bi([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(i,new Sa({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}const Jh=new Float32Array(1),zh=new Int32Array(Jh.buffer);const qh=Math.pow(2,8),Zh=[.125,.215,.35,.446,.526,.582],Xh=5+Zh.length,_h=20,$h={[X]:0,[_]:1,[ee]:2,[te]:3,[ie]:4,[ne]:5,[$]:6},ed=new gi({side:1,depthWrite:!1,depthTest:!1}),td=new nn(new on,ed),id=new pc,{_lodPlanes:nd,_sizeLods:rd,_sigmas:od}=pd(),ad=new pi;let sd=null;const ld=(1+Math.sqrt(5))/2,cd=1/ld,hd=[new Ke(1,1,1),new Ke(-1,1,1),new Ke(1,1,-1),new Ke(-1,1,-1),new Ke(0,ld,cd),new Ke(0,ld,-cd),new Ke(cd,0,ld),new Ke(-cd,0,ld),new Ke(ld,cd,0),new Ke(-ld,cd,0)];function dd(e){const t=Math.max(e.r,e.g,e.b),i=Math.min(Math.max(Math.ceil(Math.log2(t)),-128),127);e.multiplyScalar(Math.pow(2,-i));return(i+128)/255}function ud(e){return void 0!==e&&e.type===w&&(e.encoding===X||e.encoding===_||e.encoding===$)}function pd(){const e=[],t=[],i=[];let n=8;for(let r=0;Xh>r;r++){const o=Math.pow(2,n);t.push(o);let a=1/o;r>4?a=Zh[r-8+4-1]:0==r&&(a=0),i.push(a);const s=1/(o-1),l=-s/2,c=1+s/2,h=[l,l,c,l,c,c,l,l,c,c,l,c],d=6,u=6,p=3,g=2,f=1,m=new Float32Array(p*u*d),A=new Float32Array(g*u*d),y=new Float32Array(f*u*d);for(let e=0;d>e;e++){const t=e%3*2/3-1,i=e>2?0:-1;m.set([t,i,0,t+2/3,i,0,t+2/3,i+1,0,t,i,0,t+2/3,i+1,0,t,i+1,0],p*u*e),A.set(h,g*u*e);y.set([e,e,e,e,e,e],f*u*e)}const v=new Ni;v.setAttribute("position",new Ai(m,p)),v.setAttribute("uv",new Ai(A,g)),v.setAttribute("faceIndex",new Ai(y,f)),e.push(v),n>4&&n--}return{_lodPlanes:e,_sizeLods:t,_sigmas:i}}function gd(e){const t=new Oe(3*qh,3*qh,e);return t.texture.mapping=u,t.texture.name="PMREM.cubeUv",t.scissorTest=!0,t}function fd(e,t,i,n,r){e.viewport.set(t,i,n,r),e.scissor.set(t,i,n,r)}function md(){const e=new ke(1,1);return new Zs({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:e},inputEncoding:{value:$h[3e3]},outputEncoding:{value:$h[3e3]}},vertexShader:yd(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t${vd()}\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}function Ad(){return new Zs({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:$h[3e3]},outputEncoding:{value:$h[3e3]}},vertexShader:yd(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t${vd()}\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}function yd(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function vd(){return"\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include <encodings_pars_fragment>\n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t"}Tl.create=function(e,t){return console.log("THREE.Curve.create() has been deprecated"),e.prototype=Object.create(Tl.prototype),e.prototype.constructor=e,e.prototype.getPoint=t,e},_l.prototype.fromPoints=function(e){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(e)},Uh.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},bh.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Ml.prototype.extractUrlBase=function(e){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),Ic.extractUrlBase(e)},Ml.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.")}},vh.prototype.center=function(e){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(e)},vh.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},vh.prototype.isIntersectionBox=function(e){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},vh.prototype.size=function(e){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(e)},He.prototype.center=function(e){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(e)},He.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},He.prototype.isIntersectionBox=function(e){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},He.prototype.isIntersectionSphere=function(e){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)},He.prototype.size=function(e){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(e)},ct.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},yn.prototype.setFromMatrix=function(e){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(e)},xh.prototype.center=function(e){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(e)},De.prototype.flattenToArrayOffset=function(e,t){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},De.prototype.multiplyVector3=function(e){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),e.applyMatrix3(this)},De.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},De.prototype.applyToBufferAttribute=function(e){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),e.applyMatrix3(this)},De.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},De.prototype.getInverse=function(e){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(e).invert()},yt.prototype.extractPosition=function(e){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(e)},yt.prototype.flattenToArrayOffset=function(e,t){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(e,t)},yt.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new Ke).setFromMatrixColumn(this,3)},yt.prototype.setRotationFromQuaternion=function(e){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(e)},yt.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},yt.prototype.multiplyVector3=function(e){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},yt.prototype.multiplyVector4=function(e){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},yt.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},yt.prototype.rotateAxis=function(e){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),e.transformDirection(this)},yt.prototype.crossVector=function(e){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},yt.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},yt.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},yt.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},yt.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},yt.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},yt.prototype.applyToBufferAttribute=function(e){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),e.applyMatrix4(this)},yt.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},yt.prototype.makeFrustum=function(e,t,i,n,r,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(e,t,n,i,r,o)},yt.prototype.getInverse=function(e){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(e).invert()},Jt.prototype.isIntersectionLine=function(e){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(e)},Ge.prototype.multiplyVector3=function(e){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),e.applyQuaternion(this)},Ge.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},At.prototype.isIntersectionBox=function(e){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(e)},At.prototype.isIntersectionPlane=function(e){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(e)},At.prototype.isIntersectionSphere=function(e){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(e)},ri.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},ri.prototype.barycoordFromPoint=function(e,t){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(e,t)},ri.prototype.midpoint=function(e){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(e)},ri.prototypenormal=function(e){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(e)},ri.prototype.plane=function(e){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(e)},ri.barycoordFromPoint=function(e,t,i,n,r){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),ri.getBarycoord(e,t,i,n,r)},ri.normal=function(e,t,i,n){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),ri.getNormal(e,t,i,n)},$l.prototype.extractAllPoints=function(e){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(e)},$l.prototype.extrude=function(e){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new Us(this,e)},$l.prototype.makeGeometry=function(e){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new Gs(this,e)},ke.prototype.fromAttribute=function(e,t,i){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,i)},ke.prototype.distanceToManhattan=function(e){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(e)},ke.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Ke.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},Ke.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},Ke.prototype.getPositionFromMatrix=function(e){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(e)},Ke.prototype.getScaleFromMatrix=function(e){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(e)},Ke.prototype.getColumnFromMatrix=function(e,t){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(t,e)},Ke.prototype.applyProjection=function(e){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(e)},Ke.prototype.fromAttribute=function(e,t,i){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,i)},Ke.prototype.distanceToManhattan=function(e){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(e)},Ke.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Le.prototype.fromAttribute=function(e,t,i){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(e,t,i)},Le.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Yt.prototype.getChildByName=function(e){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(e)},Yt.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},Yt.prototype.translate=function(e,t){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(t,e)},Yt.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},Yt.prototype.applyMatrix=function(e){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(e)},Object.defineProperties(Yt.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(e){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=e}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),nn.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(nn.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.")}}}),ma.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},dn.prototype.setLens=function(e,t){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==t&&(this.filmGauge=t),this.setFocalLength(e)},Object.defineProperties(ec.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(e){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(e){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(e){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=e}}}),Object.defineProperties(Ai.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."),this.usage===ge},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(ge)}}}),Ai.prototype.setDynamic=function(e){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===e?ge:pe),this},Ai.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},Ai.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Ni.prototype.addIndex=function(e){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(e)},Ni.prototype.addAttribute=function(e,t){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),t&&t.isBufferAttribute||t&&t.isInterleavedBufferAttribute?"index"===e?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(t),this):this.setAttribute(e,t):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(e,new Ai(arguments[1],arguments[2])))},Ni.prototype.addDrawCall=function(e,t,i){void 0!==i&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(e,t)},Ni.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},Ni.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},Ni.prototype.removeAttribute=function(e){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(e)},Ni.prototype.applyMatrix=function(e){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(e)},Object.defineProperties(Ni.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}}}),Yo.prototype.setDynamic=function(e){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===e?ge:pe),this},Yo.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},Us.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},Us.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},Us.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},Vo.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},uh.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(ai.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 pi}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===e}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(e){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=e}}}),Object.defineProperties(cn.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(e){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=e}}}),Oo.prototype.clearTarget=function(e,t,i,n){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(e),this.clear(t,i,n)},Oo.prototype.animate=function(e){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(e)},Oo.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},Oo.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},Oo.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},Oo.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},Oo.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},Oo.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},Oo.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},Oo.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},Oo.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},Oo.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},Oo.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},Oo.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},Oo.prototype.enableScissorTest=function(e){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(e)},Oo.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},Oo.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},Oo.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},Oo.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},Oo.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},Oo.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},Oo.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},Oo.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},Oo.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},Oo.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(Oo.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=e}},shadowMapCullFace:{get:function(){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(e){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===e?_:X}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}}),Object.defineProperties(Bo.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(Oe.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=e}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(e){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=e}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=e}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(e){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=e}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(e){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=e}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(e){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=e}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(e){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=e}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(e){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=e}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(e){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=e}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(e){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=e}}}),jc.prototype.load=function(e){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const t=this;return(new Fc).load(e,(function(e){t.setBuffer(e)})),this},Zc.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},pn.prototype.updateCubeMap=function(e,t){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(e,t)},pn.prototype.clear=function(e,t,i,n){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(e,t,i,n)},Re.crossOrigin=void 0,Re.loadTexture=function(e,t,i,n){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const r=new Dl;r.setCrossOrigin(this.crossOrigin);const o=r.load(e,i,void 0,n);return t&&(o.mapping=t),o},Re.loadTextureCube=function(e,t,i,n){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const r=new bl;r.setCrossOrigin(this.crossOrigin);const o=r.load(e,i,void 0,n);return t&&(o.mapping=t),o},Re.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},Re.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const Cd={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:i}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=i);var Id=Object.freeze({__proto__:null,ACESFilmicToneMapping:4,AddEquation:r,AddOperation:2,AdditiveAnimationBlendMode:Z,AdditiveBlending:2,AlphaFormat:1021,AlwaysDepth:1,AlwaysStencilFunc:ue,AmbientLight:mc,AmbientLightProbe:Lc,AnimationClip:vl,AnimationLoader:class extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=this,o=new Bl(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,(function(i){try{t(r.parse(JSON.parse(i)))}catch(t){n?n(t):console.error(t),r.manager.itemError(e)}}),i,n)}parse(e){const t=[];for(let i=0;e.length>i;i++){const n=vl.parse(e[i]);t.push(n)}return t}},AnimationMixer:dh,AnimationObjectGroup:ch,AnimationUtils:al,ArcCurve:Ul,ArrayCamera:Do,ArrowHelper:class extends Yt{constructor(e=new Ke(0,0,1),t=new Ke(0,0,0),i=1,n=16776960,r=.2*i,o=.2*r){super(),this.type="ArrowHelper",void 0===Hh&&(Hh=new Ni,Hh.setAttribute("position",new Bi([0,0,0,0,1,0],3)),jh=new Za(0,.5,1,5,1),jh.translate(0,-.5,0)),this.position.copy(t),this.line=new Ua(Hh,new Sa({color:n,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new nn(jh,new gi({color:n,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(i,r,o)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(-.99999>e.y)this.quaternion.set(1,0,0,0);else{Yh.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Yh,t)}}setLength(e,t=.2*e,i=.2*t){this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(i,t,i),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}},Audio:jc,AudioAnalyser:Zc,AudioContext:Uc,AudioListener:class extends Yt{constructor(){super(),this.type="AudioListener",this.context=Uc.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Pc}getInput(){return this.gain}removeFilter(){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(){return this.filter}setFilter(e){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,i=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Kc,Vc,Yc),Hc.set(0,0,-1).applyQuaternion(Vc),t.positionX){const e=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Kc.x,e),t.positionY.linearRampToValueAtTime(Kc.y,e),t.positionZ.linearRampToValueAtTime(Kc.z,e),t.forwardX.linearRampToValueAtTime(Hc.x,e),t.forwardY.linearRampToValueAtTime(Hc.y,e),t.forwardZ.linearRampToValueAtTime(Hc.z,e),t.upX.linearRampToValueAtTime(i.x,e),t.upY.linearRampToValueAtTime(i.y,e),t.upZ.linearRampToValueAtTime(i.z,e)}else t.setPosition(Kc.x,Kc.y,Kc.z),t.setOrientation(Hc.x,Hc.y,Hc.z,i.x,i.y,i.z)}},AudioLoader:Fc,AxesHelper:Wh,AxisHelper:function(e){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new Wh(e)},BackSide:1,BasicDepthPacking:3200,BasicShadowMap:0,BinaryTextureLoader:function(e){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new kl(e)},Bone:Aa,BooleanKeyframeTrack:ul,BoundingBoxHelper:function(e,t){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Vh(e,t)},Box2:vh,Box3:He,Box3Helper:class extends La{constructor(e,t=16776960){const i=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 Ni;n.setIndex(new Ai(i,1)),n.setAttribute("position",new Bi([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)),super(n,new Sa({color:t,toneMapped:!1})),this.box=e,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}},BoxBufferGeometry:on,BoxGeometry:on,BoxHelper:Vh,BufferAttribute:Ai,BufferGeometry:Ni,BufferGeometryLoader:Mc,ByteType:1010,Cache:Il,Camera:hn,CameraHelper:class extends La{constructor(e){const t=new Ni,i=new Sa({color:16777215,vertexColors:!0,toneMapped:!1}),n=[],r=[],o={},a=new pi(16755200),s=new pi(16711680),l=new pi(43775),c=new pi(16777215),h=new pi(3355443);function d(e,t,i){u(e,i),u(t,i)}function u(e,t){n.push(0,0,0),r.push(t.r,t.g,t.b),void 0===o[e]&&(o[e]=[]),o[e].push(n.length/3-1)}d("n1","n2",a),d("n2","n4",a),d("n4","n3",a),d("n3","n1",a),d("f1","f2",a),d("f2","f4",a),d("f4","f3",a),d("f3","f1",a),d("n1","f1",a),d("n2","f2",a),d("n3","f3",a),d("n4","f4",a),d("p","n1",s),d("p","n2",s),d("p","n3",s),d("p","n4",s),d("u1","u2",l),d("u2","u3",l),d("u3","u1",l),d("c","t",c),d("p","c",h),d("cn1","cn2",h),d("cn3","cn4",h),d("cf1","cf2",h),d("cf3","cf4",h),t.setAttribute("position",new Bi(n,3)),t.setAttribute("color",new Bi(r,3)),super(t,i),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update()}update(){const e=this.geometry,t=this.pointMap;Ph.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),Gh("c",t,e,Ph,0,0,-1),Gh("t",t,e,Ph,0,0,1),Gh("n1",t,e,Ph,-1,-1,-1),Gh("n2",t,e,Ph,1,-1,-1),Gh("n3",t,e,Ph,-1,1,-1),Gh("n4",t,e,Ph,1,1,-1),Gh("f1",t,e,Ph,-1,-1,1),Gh("f2",t,e,Ph,1,-1,1),Gh("f3",t,e,Ph,-1,1,1),Gh("f4",t,e,Ph,1,1,1),Gh("u1",t,e,Ph,.7,1.1,-1),Gh("u2",t,e,Ph,-.7,1.1,-1),Gh("u3",t,e,Ph,0,2,-1),Gh("cf1",t,e,Ph,-1,0,1),Gh("cf2",t,e,Ph,1,0,1),Gh("cf3",t,e,Ph,0,-1,1),Gh("cf4",t,e,Ph,0,1,1),Gh("cn1",t,e,Ph,-1,0,-1),Gh("cn2",t,e,Ph,1,0,-1),Gh("cn3",t,e,Ph,0,-1,-1),Gh("cn4",t,e,Ph,0,1,-1),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},CanvasRenderer:function(){console.error("THREE.CanvasRenderer has been removed")},CanvasTexture:Ja,CatmullRomCurve3:Pl,CineonToneMapping:3,CircleBufferGeometry:qa,CircleGeometry:qa,ClampToEdgeWrapping:f,Clock:Pc,Color:pi,ColorKeyframeTrack:pl,CompressedTexture:Wa,CompressedTextureLoader:class extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=this,o=[],a=new Wa,s=new Bl(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(r.withCredentials);let l=0;function c(c){s.load(e[c],(function(e){const i=r.parse(e,!0);o[c]={width:i.width,height:i.height,format:i.format,mipmaps:i.mipmaps},l+=1,6===l&&(1===i.mipmapCount&&(a.minFilter=C),a.image=o,a.format=i.format,a.needsUpdate=!0,t&&t(a))}),i,n)}if(Array.isArray(e))for(let t=0,i=e.length;i>t;++t)c(t);else s.load(e,(function(e){const i=r.parse(e,!0);if(i.isCubemap){const e=i.mipmaps.length/i.mipmapCount;for(let t=0;e>t;t++){o[t]={mipmaps:[]};for(let e=0;i.mipmapCount>e;e++)o[t].mipmaps.push(i.mipmaps[t*i.mipmapCount+e]),o[t].format=i.format,o[t].width=i.width,o[t].height=i.height}a.image=o}else a.image.width=i.width,a.image.height=i.height,a.mipmaps=i.mipmaps;1===i.mipmapCount&&(a.minFilter=C),a.format=i.format,a.needsUpdate=!0,t&&t(a)}),i,n);return a}},ConeBufferGeometry:Xa,ConeGeometry:Xa,CubeCamera:pn,CubeReflectionMapping:l,CubeRefractionMapping:c,CubeTexture:gn,CubeTextureLoader:bl,CubeUVReflectionMapping:u,CubeUVRefractionMapping:p,CubicBezierCurve:Yl,CubicBezierCurve3:Hl,CubicInterpolant:ll,CullFaceBack:1,CullFaceFront:2,CullFaceFrontBack:3,CullFaceNone:0,Curve:Tl,CurvePath:Xl,CustomBlending:5,CustomToneMapping:5,CylinderBufferGeometry:Za,CylinderGeometry:Za,Cylindrical:class{constructor(e=1,t=0,i=0){return this.radius=e,this.theta=t,this.y=i,this}set(e,t,i){return this.radius=e,this.theta=t,this.y=i,this}copy(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,i){return this.radius=Math.sqrt(e*e+i*i),this.theta=Math.atan2(e,i),this.y=t,this}clone(){return(new this.constructor).copy(this)}},DataTexture:ya,DataTexture2DArray:Kn,DataTexture3D:Vn,DataTextureLoader:kl,DataUtils:class{static toHalfFloat(e){Jh[0]=e;const t=zh[0];let i=t>>16&32768,n=t>>12&2047;const r=t>>23&255;return 103>r?i:r>142?(i|=31744,i|=(255==r?0:1)&&8388607&t,i):113>r?(n|=2048,i|=(n>>114-r)+(n>>113-r&1),i):(i|=r-112<<10|n>>1,i+=1&n,i)}},DecrementStencilOp:le,DecrementWrapStencilOp:he,DefaultLoadingManager:wl,DepthFormat:T,DepthStencilFormat:R,DepthTexture:za,DirectionalLight:fc,DirectionalLightHelper:Oh,DiscreteInterpolant:hl,DodecahedronBufferGeometry:$a,DodecahedronGeometry:$a,DoubleSide:2,DstAlphaFactor:206,DstColorFactor:208,DynamicBufferAttribute:function(e,t){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new Ai(e,t).setUsage(ge)},DynamicCopyUsage:35050,DynamicDrawUsage:ge,DynamicReadUsage:35049,EdgesGeometry:rs,EdgesHelper:function(e,t){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new La(new rs(e.geometry),new Sa({color:void 0!==t?t:16777215}))},EllipseCurve:Rl,EqualDepth:4,EqualStencilFunc:514,EquirectangularReflectionMapping:h,EquirectangularRefractionMapping:d,Euler:bt,EventDispatcher:me,ExtrudeBufferGeometry:Us,ExtrudeGeometry:Us,FaceColors:1,FileLoader:Bl,FlatShading:1,Float16BufferAttribute:Ei,Float32Attribute:function(e,t){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Bi(e,t)},Float32BufferAttribute:Bi,Float64Attribute:function(e,t){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Si(e,t)},Float64BufferAttribute:Si,FloatType:B,Fog:Ko,FogExp2:Go,Font:Dc,FontLoader:class extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=this,o=new Bl(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(r.withCredentials),o.load(e,(function(e){let i;try{i=JSON.parse(e)}catch(t){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),i=JSON.parse(e.substring(65,e.length-2))}const n=r.parse(i);t&&t(n)}),i,n)}parse(e){return new Dc(e)}},FrontSide:0,Frustum:yn,GLBufferAttribute:gh,GLSL1:"100",GLSL3:fe,GammaEncoding:$,GreaterDepth:6,GreaterEqualDepth:5,GreaterEqualStencilFunc:518,GreaterStencilFunc:516,GridHelper:Uh,Group:To,HalfFloatType:S,HemisphereLight:tc,HemisphereLightHelper:class extends Yt{constructor(e,t,i){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=i;const n=new Os(t);n.rotateY(.5*Math.PI),this.material=new gi({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const r=n.getAttribute("position"),o=new Float32Array(3*r.count);n.setAttribute("color",new Ai(o,3)),this.add(new nn(n,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const e=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const t=e.geometry.getAttribute("color");Th.copy(this.light.color),Rh.copy(this.light.groundColor);for(let e=0,i=t.count;i>e;e++){const n=i/2>e?Th:Rh;t.setXYZ(e,n.r,n.g,n.b)}t.needsUpdate=!0}e.lookAt(Dh.setFromMatrixPosition(this.light.matrixWorld).negate())}},HemisphereLightProbe:Qc,IcosahedronBufferGeometry:Qs,IcosahedronGeometry:Qs,ImageBitmapLoader:bc,ImageLoader:Sl,ImageUtils:Re,ImmediateRenderObject:wh,IncrementStencilOp:se,IncrementWrapStencilOp:ce,InstancedBufferAttribute:wc,InstancedBufferGeometry:xc,InstancedInterleavedBuffer:ph,InstancedMesh:Ba,Int16Attribute:function(e,t){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Ii(e,t)},Int16BufferAttribute:Ii,Int32Attribute:function(e,t){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new wi(e,t)},Int32BufferAttribute:wi,Int8Attribute:function(e,t){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new yi(e,t)},Int8BufferAttribute:yi,IntType:1013,InterleavedBuffer:Yo,InterleavedBufferAttribute:jo,Interpolant:sl,InterpolateDiscrete:Y,InterpolateLinear:H,InterpolateSmooth:j,InvertStencilOp:5386,JSONLoader:function(){console.error("THREE.JSONLoader has been removed.")},KeepStencilOp:oe,KeyframeTrack:dl,LOD:ha,LatheBufferGeometry:Ls,LatheGeometry:Ls,Layers:kt,LensFlare:function(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")},LessDepth:2,LessEqualDepth:3,LessEqualStencilFunc:de,LessStencilFunc:513,Light:ec,LightProbe:vc,Line:Ua,Line3:xh,LineBasicMaterial:Sa,LineCurve:jl,LineCurve3:Wl,LineDashedMaterial:rl,LineLoop:Oa,LinePieces:1,LineSegments:La,LineStrip:0,LinearEncoding:X,LinearFilter:C,LinearInterpolant:cl,LinearMipMapLinearFilter:1008,LinearMipMapNearestFilter:1007,LinearMipmapLinearFilter:x,LinearMipmapNearestFilter:I,LinearToneMapping:1,Loader:Ml,LoaderUtils:Ic,LoadingManager:xl,LogLuvEncoding:3003,LoopOnce:2200,LoopPingPong:2202,LoopRepeat:2201,LuminanceAlphaFormat:1025,LuminanceFormat:1024,MOUSE:n,Material:ai,MaterialLoader:Cc,Math:be,MathUtils:be,Matrix3:De,Matrix4:yt,MaxEquation:104,Mesh:nn,MeshBasicMaterial:gi,MeshDepthMaterial:Mo,MeshDistanceMaterial:Eo,MeshFaceMaterial:function(e){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),e},MeshLambertMaterial:il,MeshMatcapMaterial:nl,MeshNormalMaterial:tl,MeshPhongMaterial:$s,MeshPhysicalMaterial:_s,MeshStandardMaterial:Xs,MeshToonMaterial:el,MinEquation:103,MirroredRepeatWrapping:m,MixOperation:1,MultiMaterial:function(e=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),e.isMultiMaterial=!0,e.materials=e,e.clone=function(){return e.slice()},e},MultiplyBlending:4,MultiplyOperation:0,NearestFilter:A,NearestMipMapLinearFilter:1005,NearestMipMapNearestFilter:1004,NearestMipmapLinearFilter:v,NearestMipmapNearestFilter:y,NeverDepth:0,NeverStencilFunc:512,NoBlending:0,NoColors:0,NoToneMapping:0,NormalAnimationBlendMode:q,NormalBlending:1,NotEqualDepth:7,NotEqualStencilFunc:517,NumberKeyframeTrack:gl,Object3D:Yt,ObjectLoader:class extends Ml{constructor(e){super(e)}load(e,t,i,n){const r=this,o=""===this.path?Ic.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||o;const a=new Bl(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,(function(i){let o=null;try{o=JSON.parse(i)}catch(t){return void 0!==n&&n(t),void console.error("THREE:ObjectLoader: Can't parse "+e+".",t.message)}const a=o.metadata;void 0!==a&&void 0!==a.type&&"geometry"!==a.type.toLowerCase()?r.parse(o,t):console.error("THREE.ObjectLoader: Can't load "+e)}),i,n)}parse(e,t){const i=this.parseAnimations(e.animations),n=this.parseShapes(e.shapes),r=this.parseGeometries(e.geometries,n),o=this.parseImages(e.images,(function(){void 0!==t&&t(l)})),a=this.parseTextures(e.textures,o),s=this.parseMaterials(e.materials,a),l=this.parseObject(e.object,r,s,i),c=this.parseSkeletons(e.skeletons,l);if(this.bindSkeletons(l,c),void 0!==t){let e=!1;for(const t in o)if(o[t]instanceof HTMLImageElement){e=!0;break}!1===e&&t(l)}return l}parseShapes(e){const t={};if(void 0!==e)for(let i=0,n=e.length;n>i;i++){const n=(new $l).fromJSON(e[i]);t[n.uuid]=n}return t}parseSkeletons(e,t){const i={},n={};if(t.traverse((function(e){e.isBone&&(n[e.uuid]=e)})),void 0!==e)for(let t=0,r=e.length;r>t;t++){const r=(new Ia).fromJSON(e[t],n);i[r.uuid]=r}return i}parseGeometries(e,t){const i={};let n;if(void 0!==e){const r=new Mc;for(let o=0,a=e.length;a>o;o++){let a;const s=e[o];switch(s.type){case"PlaneGeometry":case"PlaneBufferGeometry":a=new zs[s.type](s.width,s.height,s.widthSegments,s.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":a=new zs[s.type](s.width,s.height,s.depth,s.widthSegments,s.heightSegments,s.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":a=new zs[s.type](s.radius,s.segments,s.thetaStart,s.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":a=new zs[s.type](s.radiusTop,s.radiusBottom,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":a=new zs[s.type](s.radius,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":a=new zs[s.type](s.radius,s.widthSegments,s.heightSegments,s.phiStart,s.phiLength,s.thetaStart,s.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":a=new zs[s.type](s.radius,s.detail);break;case"RingGeometry":case"RingBufferGeometry":a=new zs[s.type](s.innerRadius,s.outerRadius,s.thetaSegments,s.phiSegments,s.thetaStart,s.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":a=new zs[s.type](s.radius,s.tube,s.radialSegments,s.tubularSegments,s.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":a=new zs[s.type](s.radius,s.tube,s.tubularSegments,s.radialSegments,s.p,s.q);break;case"TubeGeometry":case"TubeBufferGeometry":a=new zs[s.type]((new Zl[s.path.type]).fromJSON(s.path),s.tubularSegments,s.radius,s.radialSegments,s.closed);break;case"LatheGeometry":case"LatheBufferGeometry":a=new zs[s.type](s.points,s.segments,s.phiStart,s.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":a=new zs[s.type](s.vertices,s.indices,s.radius,s.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":n=[];for(let e=0,i=s.shapes.length;i>e;e++){n.push(t[s.shapes[e]])}a=new zs[s.type](n,s.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":n=[];for(let e=0,i=s.shapes.length;i>e;e++){n.push(t[s.shapes[e]])}const e=s.options.extrudePath;void 0!==e&&(s.options.extrudePath=(new Zl[e.type]).fromJSON(e)),a=new zs[s.type](n,s.options);break;case"BufferGeometry":case"InstancedBufferGeometry":a=r.parse(s);break;case"Geometry":console.error('THREE.ObjectLoader: Loading "Geometry" is not supported anymore.');break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+s.type+'"');continue}a.uuid=s.uuid,void 0!==s.name&&(a.name=s.name),!0===a.isBufferGeometry&&void 0!==s.userData&&(a.userData=s.userData),i[s.uuid]=a}}return i}parseMaterials(e,t){const i={},n={};if(void 0!==e){const r=new Cc;r.setTextures(t);for(let t=0,o=e.length;o>t;t++){const o=e[t];if("MultiMaterial"===o.type){const e=[];for(let t=0;o.materials.length>t;t++){const n=o.materials[t];void 0===i[n.uuid]&&(i[n.uuid]=r.parse(n)),e.push(i[n.uuid])}n[o.uuid]=e}else void 0===i[o.uuid]&&(i[o.uuid]=r.parse(o)),n[o.uuid]=i[o.uuid]}}return n}parseAnimations(e){const t={};if(void 0!==e)for(let i=0;e.length>i;i++){const n=vl.parse(e[i]);t[n.uuid]=n}return t}parseImages(e,t){const i=this,n={};let r;function o(e){if("string"==typeof e){const t=e;return function(e){return i.manager.itemStart(e),r.load(e,(function(){i.manager.itemEnd(e)}),void 0,(function(){i.manager.itemError(e),i.manager.itemEnd(e)}))}(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(t)?t:i.resourcePath+t)}return e.data?{data:Di(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){const i=new xl(t);r=new Sl(i),r.setCrossOrigin(this.crossOrigin);for(let t=0,i=e.length;i>t;t++){const i=e[t],r=i.url;if(Array.isArray(r)){n[i.uuid]=[];for(let e=0,t=r.length;t>e;e++){const t=o(r[e]);null!==t&&(t instanceof HTMLImageElement?n[i.uuid].push(t):n[i.uuid].push(new ya(t.data,t.width,t.height)))}}else{const e=o(i.url);null!==e&&(n[i.uuid]=e)}}}return n}parseTextures(e,t){function i(e,t){return"number"==typeof e?e:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",e),t[e])}const n={};if(void 0!==e)for(let r=0,o=e.length;o>r;r++){const o=e[r];let a;void 0===o.image&&console.warn('THREE.ObjectLoader: No "image" specified for',o.uuid),void 0===t[o.image]&&console.warn("THREE.ObjectLoader: Undefined image",o.image);const s=t[o.image];Array.isArray(s)?(a=new gn(s),6===s.length&&(a.needsUpdate=!0)):(a=s&&s.data?new ya(s.data,s.width,s.height):new Fe(s),s&&(a.needsUpdate=!0)),a.uuid=o.uuid,void 0!==o.name&&(a.name=o.name),void 0!==o.mapping&&(a.mapping=i(o.mapping,Ec)),void 0!==o.offset&&a.offset.fromArray(o.offset),void 0!==o.repeat&&a.repeat.fromArray(o.repeat),void 0!==o.center&&a.center.fromArray(o.center),void 0!==o.rotation&&(a.rotation=o.rotation),void 0!==o.wrap&&(a.wrapS=i(o.wrap[0],Bc),a.wrapT=i(o.wrap[1],Bc)),void 0!==o.format&&(a.format=o.format),void 0!==o.type&&(a.type=o.type),void 0!==o.encoding&&(a.encoding=o.encoding),void 0!==o.minFilter&&(a.minFilter=i(o.minFilter,Sc)),void 0!==o.magFilter&&(a.magFilter=i(o.magFilter,Sc)),void 0!==o.anisotropy&&(a.anisotropy=o.anisotropy),void 0!==o.flipY&&(a.flipY=o.flipY),void 0!==o.premultiplyAlpha&&(a.premultiplyAlpha=o.premultiplyAlpha),void 0!==o.unpackAlignment&&(a.unpackAlignment=o.unpackAlignment),n[o.uuid]=a}return n}parseObject(e,t,i,n){let r,o,a;function s(e){return void 0===t[e]&&console.warn("THREE.ObjectLoader: Undefined geometry",e),t[e]}function l(e){if(void 0!==e){if(Array.isArray(e)){const t=[];for(let n=0,r=e.length;r>n;n++){const r=e[n];void 0===i[r]&&console.warn("THREE.ObjectLoader: Undefined material",r),t.push(i[r])}return t}return void 0===i[e]&&console.warn("THREE.ObjectLoader: Undefined material",e),i[e]}}switch(e.type){case"Scene":r=new Vo,void 0!==e.background&&Number.isInteger(e.background)&&(r.background=new pi(e.background)),void 0!==e.fog&&("Fog"===e.fog.type?r.fog=new Ko(e.fog.color,e.fog.near,e.fog.far):"FogExp2"===e.fog.type&&(r.fog=new Go(e.fog.color,e.fog.density)));break;case"PerspectiveCamera":r=new dn(e.fov,e.aspect,e.near,e.far),void 0!==e.focus&&(r.focus=e.focus),void 0!==e.zoom&&(r.zoom=e.zoom),void 0!==e.filmGauge&&(r.filmGauge=e.filmGauge),void 0!==e.filmOffset&&(r.filmOffset=e.filmOffset),void 0!==e.view&&(r.view=Object.assign({},e.view));break;case"OrthographicCamera":r=new pc(e.left,e.right,e.top,e.bottom,e.near,e.far),void 0!==e.zoom&&(r.zoom=e.zoom),void 0!==e.view&&(r.view=Object.assign({},e.view));break;case"AmbientLight":r=new mc(e.color,e.intensity);break;case"DirectionalLight":r=new fc(e.color,e.intensity);break;case"PointLight":r=new uc(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":r=new Ac(e.color,e.intensity,e.width,e.height);break;case"SpotLight":r=new sc(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case"HemisphereLight":r=new tc(e.color,e.groundColor,e.intensity);break;case"LightProbe":r=(new vc).fromJSON(e);break;case"SkinnedMesh":o=s(e.geometry),a=l(e.material),r=new ma(o,a),void 0!==e.bindMode&&(r.bindMode=e.bindMode),void 0!==e.bindMatrix&&r.bindMatrix.fromArray(e.bindMatrix),void 0!==e.skeleton&&(r.skeleton=e.skeleton);break;case"Mesh":o=s(e.geometry),a=l(e.material),r=new nn(o,a);break;case"InstancedMesh":o=s(e.geometry),a=l(e.material);const t=e.instanceMatrix,i=e.instanceColor;r=new Ba(o,a,e.count),r.instanceMatrix=new Ai(new Float32Array(t.array),16),void 0!==i&&(r.instanceColor=new Ai(new Float32Array(i.array),i.itemSize));break;case"LOD":r=new ha;break;case"Line":r=new Ua(s(e.geometry),l(e.material));break;case"LineLoop":r=new Oa(s(e.geometry),l(e.material));break;case"LineSegments":r=new La(s(e.geometry),l(e.material));break;case"PointCloud":case"Points":r=new Ya(s(e.geometry),l(e.material));break;case"Sprite":r=new aa(l(e.material));break;case"Group":r=new To;break;case"Bone":r=new Aa;break;default:r=new Yt}if(r.uuid=e.uuid,void 0!==e.name&&(r.name=e.name),void 0!==e.matrix?(r.matrix.fromArray(e.matrix),void 0!==e.matrixAutoUpdate&&(r.matrixAutoUpdate=e.matrixAutoUpdate),r.matrixAutoUpdate&&r.matrix.decompose(r.position,r.quaternion,r.scale)):(void 0!==e.position&&r.position.fromArray(e.position),void 0!==e.rotation&&r.rotation.fromArray(e.rotation),void 0!==e.quaternion&&r.quaternion.fromArray(e.quaternion),void 0!==e.scale&&r.scale.fromArray(e.scale)),void 0!==e.castShadow&&(r.castShadow=e.castShadow),void 0!==e.receiveShadow&&(r.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(r.shadow.bias=e.shadow.bias),void 0!==e.shadow.normalBias&&(r.shadow.normalBias=e.shadow.normalBias),void 0!==e.shadow.radius&&(r.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&r.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(r.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(r.visible=e.visible),void 0!==e.frustumCulled&&(r.frustumCulled=e.frustumCulled),void 0!==e.renderOrder&&(r.renderOrder=e.renderOrder),void 0!==e.userData&&(r.userData=e.userData),void 0!==e.layers&&(r.layers.mask=e.layers),void 0!==e.children){const o=e.children;for(let e=0;o.length>e;e++)r.add(this.parseObject(o[e],t,i,n))}if(void 0!==e.animations){const t=e.animations;for(let e=0;t.length>e;e++){r.animations.push(n[t[e]])}}if("LOD"===e.type){void 0!==e.autoUpdate&&(r.autoUpdate=e.autoUpdate);const t=e.levels;for(let e=0;t.length>e;e++){const i=t[e],n=r.getObjectByProperty("uuid",i.object);void 0!==n&&r.addLevel(n,i.distance)}}return r}bindSkeletons(e,t){0!==Object.keys(t).length&&e.traverse((function(e){if(!0===e.isSkinnedMesh&&void 0!==e.skeleton){const i=t[e.skeleton];void 0===i?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",e.skeleton):e.bind(i,e.bindMatrix)}}))}setTexturePath(e){return console.warn("THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath()."),this.setResourcePath(e)}},ObjectSpaceNormalMap:1,OctahedronBufferGeometry:Os,OctahedronGeometry:Os,OneFactor:a,OneMinusDstAlphaFactor:207,OneMinusDstColorFactor:209,OneMinusSrcAlphaFactor:205,OneMinusSrcColorFactor:203,OrthographicCamera:pc,PCFShadowMap:1,PCFSoftShadowMap:2,PMREMGenerator:class{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._blurMaterial=function(e){const t=new Float32Array(e),i=new Ke(0,1,0);return new Zs({name:"SphericalGaussianBlur",defines:{n:e},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:t},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i},inputEncoding:{value:$h[3e3]},outputEncoding:{value:$h[3e3]}},vertexShader:yd(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t${vd()}\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}(_h),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,i=.1,n=100){sd=this._renderer.getRenderTarget();const r=this._allocateTargets();return this._sceneToCubeUV(e,i,n,r),t>0&&this._blur(r,0,0,t),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(e){return this._fromTexture(e)}fromCubemap(e){return this._fromTexture(e)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=Ad(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=md(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let e=0;nd.length>e;e++)nd[e].dispose()}_cleanup(e){this._pingPongRenderTarget.dispose(),this._renderer.setRenderTarget(sd),e.scissorTest=!1,fd(e,0,0,e.width,e.height)}_fromTexture(e){sd=this._renderer.getRenderTarget();const t=this._allocateTargets(e);return this._textureToCubeUV(e,t),this._applyPMREM(t),this._cleanup(t),t}_allocateTargets(e){const t={magFilter:A,minFilter:A,generateMipmaps:!1,type:w,format:1023,encoding:ud(e)?e.encoding:ee,depthBuffer:!1},i=gd(t);return i.depthBuffer=!e,this._pingPongRenderTarget=gd(t),i}_compileMaterial(e){const t=new nn(nd[0],e);this._renderer.compile(t,id)}_sceneToCubeUV(e,t,i,n){const r=new dn(90,1,t,i),o=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],s=this._renderer,l=s.autoClear,c=s.outputEncoding,h=s.toneMapping;s.getClearColor(ad),s.toneMapping=0,s.outputEncoding=X,s.autoClear=!1;let d=!1;const u=e.background;if(u){if(u.isColor){ed.color.copy(u).convertSRGBToLinear(),e.background=null;const t=dd(ed.color);ed.opacity=t,d=!0}}else{ed.color.copy(ad).convertSRGBToLinear();const e=dd(ed.color);ed.opacity=e,d=!0}for(let t=0;6>t;t++){const i=t%3;0==i?(r.up.set(0,o[t],0),r.lookAt(a[t],0,0)):1==i?(r.up.set(0,0,o[t]),r.lookAt(0,a[t],0)):(r.up.set(0,o[t],0),r.lookAt(0,0,a[t])),fd(n,i*qh,t>2?qh:0,qh,qh),s.setRenderTarget(n),d&&s.render(td,r),s.render(e,r)}s.toneMapping=h,s.outputEncoding=c,s.autoClear=l}_textureToCubeUV(e,t){const i=this._renderer;e.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=Ad()):null==this._equirectShader&&(this._equirectShader=md());const n=e.isCubeTexture?this._cubemapShader:this._equirectShader,r=new nn(nd[0],n),o=n.uniforms;o.envMap.value=e,e.isCubeTexture||o.texelSize.value.set(1/e.image.width,1/e.image.height),o.inputEncoding.value=$h[e.encoding],o.outputEncoding.value=$h[t.texture.encoding],fd(t,0,0,3*qh,2*qh),i.setRenderTarget(t),i.render(r,id)}_applyPMREM(e){const t=this._renderer,i=t.autoClear;t.autoClear=!1;for(let t=1;Xh>t;t++){const i=Math.sqrt(od[t]*od[t]-od[t-1]*od[t-1]);this._blur(e,t-1,t,i,hd[(t-1)%hd.length])}t.autoClear=i}_blur(e,t,i,n,r){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,i,n,"latitudinal",r),this._halfBlur(o,e,i,i,n,"longitudinal",r)}_halfBlur(e,t,i,n,r,o,a){const s=this._renderer,l=this._blurMaterial;"latitudinal"!==o&&"longitudinal"!==o&&console.error("blur direction must be either latitudinal or longitudinal!");const c=new nn(nd[n],l),h=l.uniforms,d=rd[i]-1,u=isFinite(r)?Math.PI/(2*d):2*Math.PI/39,p=r/u,g=isFinite(r)?1+Math.floor(3*p):_h;g>_h&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${g} samples when the maximum is set to 20`);const f=[];let m=0;for(let e=0;_h>e;++e){const t=e/p,i=Math.exp(-t*t/2);f.push(i),0==e?m+=i:g>e&&(m+=2*i)}for(let e=0;f.length>e;e++)f[e]=f[e]/m;h.envMap.value=e.texture,h.samples.value=g,h.weights.value=f,h.latitudinal.value="latitudinal"===o,a&&(h.poleAxis.value=a),h.dTheta.value=u,h.mipInt.value=8-i,h.inputEncoding.value=$h[e.texture.encoding],h.outputEncoding.value=$h[e.texture.encoding];const A=rd[n];fd(t,3*Math.max(0,qh-2*A),(0===n?0:2*qh)+2*A*(n>4?n-8+4:0),3*A,2*A),s.setRenderTarget(t),s.render(c,id)}},ParametricBufferGeometry:Ns,ParametricGeometry:Ns,Particle:function(e){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new aa(e)},ParticleBasicMaterial:function(e){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Na(e)},ParticleSystem:function(e,t){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Ya(e,t)},ParticleSystemMaterial:function(e){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Na(e)},Path:_l,PerspectiveCamera:dn,Plane:Jt,PlaneBufferGeometry:In,PlaneGeometry:In,PlaneHelper:class extends Ua{constructor(e,t=1,i=16776960){const n=i,r=new Ni;r.setAttribute("position",new Bi([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)),r.computeBoundingSphere(),super(r,new Sa({color:n,toneMapped:!1})),this.type="PlaneHelper",this.plane=e,this.size=t;const o=new Ni;o.setAttribute("position",new Bi([1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1],3)),o.computeBoundingSphere(),this.add(new nn(o,new gi({color:n,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(e){let t=-this.plane.constant;1e-8>Math.abs(t)&&(t=1e-8),this.scale.set(.5*this.size,.5*this.size,t),this.children[0].material.side=0>t?1:0,this.lookAt(this.plane.normal),super.updateMatrixWorld(e)}},PointCloud:function(e,t){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Ya(e,t)},PointCloudMaterial:function(e){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Na(e)},PointLight:uc,PointLightHelper:class extends nn{constructor(e,t,i){super(new Ks(t,4,2),new gi({wireframe:!0,fog:!1,toneMapped:!1})),this.light=e,this.light.updateMatrixWorld(),this.color=i,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}},Points:Ya,PointsMaterial:Na,PolarGridHelper:class extends La{constructor(e=10,t=16,i=8,n=64,r=4473924,o=8947848){r=new pi(r),o=new pi(o);const a=[],s=[];for(let i=0;t>=i;i++){const n=i/t*(2*Math.PI),l=Math.sin(n)*e,c=Math.cos(n)*e;a.push(0,0,0),a.push(l,0,c);const h=1&i?r:o;s.push(h.r,h.g,h.b),s.push(h.r,h.g,h.b)}for(let t=0;i>=t;t++){const l=1&t?r:o,c=e-e/i*t;for(let e=0;n>e;e++){let t=e/n*(2*Math.PI),i=Math.sin(t)*c,r=Math.cos(t)*c;a.push(i,0,r),s.push(l.r,l.g,l.b),t=(e+1)/n*(2*Math.PI),i=Math.sin(t)*c,r=Math.cos(t)*c,a.push(i,0,r),s.push(l.r,l.g,l.b)}}const l=new Ni;l.setAttribute("position",new Bi(a,3)),l.setAttribute("color",new Bi(s,3));super(l,new Sa({vertexColors:!0,toneMapped:!1})),this.type="PolarGridHelper"}},PolyhedronBufferGeometry:_a,PolyhedronGeometry:_a,PositionalAudio:class extends jc{constructor(e){super(e),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){return this.panner.refDistance=e,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){return this.panner.rolloffFactor=e,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){return this.panner.distanceModel=e,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){return this.panner.maxDistance=e,this}setDirectionalCone(e,t,i){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=i,this}updateMatrixWorld(e){if(super.updateMatrixWorld(e),!0===this.hasPlaybackControl&&!1===this.isPlaying)return;this.matrixWorld.decompose(Wc,Jc,zc),qc.set(0,0,1).applyQuaternion(Jc);const t=this.panner;if(t.positionX){const e=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(Wc.x,e),t.positionY.linearRampToValueAtTime(Wc.y,e),t.positionZ.linearRampToValueAtTime(Wc.z,e),t.orientationX.linearRampToValueAtTime(qc.x,e),t.orientationY.linearRampToValueAtTime(qc.y,e),t.orientationZ.linearRampToValueAtTime(qc.z,e)}else t.setPosition(Wc.x,Wc.y,Wc.z),t.setOrientation(qc.x,qc.y,qc.z)}},PropertyBinding:lh,PropertyMixer:Xc,QuadraticBezierCurve:Jl,QuadraticBezierCurve3:zl,Quaternion:Ge,QuaternionKeyframeTrack:ml,QuaternionLinearInterpolant:fl,REVISION:i,RGBADepthPacking:re,RGBAFormat:D,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:V,RGBA_PVRTC_2BPPV1_Format:G,RGBA_PVRTC_4BPPV1_Format:P,RGBA_S3TC_DXT1_Format:F,RGBA_S3TC_DXT3_Format:Q,RGBA_S3TC_DXT5_Format:L,RGBDEncoding:ne,RGBEEncoding:ee,RGBEFormat:1023,RGBFormat:k,RGBIntegerFormat:1032,RGBM16Encoding:ie,RGBM7Encoding:te,RGB_ETC1_Format:36196,RGB_ETC2_Format:K,RGB_PVRTC_2BPPV1_Format:N,RGB_PVRTC_4BPPV1_Format:O,RGB_S3TC_DXT1_Format:U,RGFormat:1030,RGIntegerFormat:1031,RawShaderMaterial:Zs,Ray:At,Raycaster:class{constructor(e,t,i=0,n=1/0){this.ray=new At(e,t),this.near=i,this.far=n,this.camera=null,this.layers=new kt,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){t&&t.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(t.matrixWorld),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize(),this.camera=t):t&&t.isOrthographicCamera?(this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld),this.camera=t):console.error("THREE.Raycaster: Unsupported camera type: "+t.type)}intersectObject(e,t=!1,i=[]){return mh(e,this,i,t),i.sort(fh),i}intersectObjects(e,t=!1,i=[]){for(let n=0,r=e.length;r>n;n++)mh(e[n],this,i,t);return i.sort(fh),i}},RectAreaLight:Ac,RedFormat:1028,RedIntegerFormat:1029,ReinhardToneMapping:2,RepeatWrapping:g,ReplaceStencilOp:ae,ReverseSubtractEquation:102,RingBufferGeometry:Ps,RingGeometry:Ps,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:Vo,SceneUtils:Cd,ShaderChunk:xn,ShaderLib:Mn,ShaderMaterial:cn,ShadowMaterial:qs,Shape:$l,ShapeBufferGeometry:Gs,ShapeGeometry:Gs,ShapePath:kc,ShapeUtils:Ds,ShortType:1011,Skeleton:Ia,SkeletonHelper:bh,SkinnedMesh:ma,SmoothShading:2,Sphere:ct,SphereBufferGeometry:Ks,SphereGeometry:Ks,Spherical:Ah,SphericalHarmonics3:yc,SplineCurve:ql,SpotLight:sc,SpotLightHelper:class extends Yt{constructor(e,t){super(),this.light=e,this.light.updateMatrixWorld(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t;const i=new Ni,n=[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];for(let e=0,t=1,i=32;i>e;e++,t++){const r=e/i*Math.PI*2,o=t/i*Math.PI*2;n.push(Math.cos(r),Math.sin(r),1,Math.cos(o),Math.sin(o),1)}i.setAttribute("position",new Bi(n,3));const r=new Sa({fog:!1,toneMapped:!1});this.cone=new La(i,r),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateMatrixWorld();const e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),Mh.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(Mh),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}},Sprite:aa,SpriteMaterial:Wo,SrcAlphaFactor:204,SrcAlphaSaturateFactor:210,SrcColorFactor:202,StaticCopyUsage:35046,StaticDrawUsage:pe,StaticReadUsage:35045,StereoCamera:class{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new dn,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new dn,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}}update(e){const t=this._cache;if(t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep){t.focus=e.focus,t.fov=e.fov,t.aspect=e.aspect*this.aspect,t.near=e.near,t.far=e.far,t.zoom=e.zoom,t.eyeSep=this.eyeSep;const i=e.projectionMatrix.clone(),n=t.eyeSep/2,r=n*t.near/t.focus,o=t.near*Math.tan(ve*t.fov*.5)/t.zoom;let a,s;Nc.elements[12]=-n,Oc.elements[12]=n,a=-o*t.aspect+r,s=o*t.aspect+r,i.elements[0]=2*t.near/(s-a),i.elements[8]=(s+a)/(s-a),this.cameraL.projectionMatrix.copy(i),a=-o*t.aspect-r,s=o*t.aspect-r,i.elements[0]=2*t.near/(s-a),i.elements[8]=(s+a)/(s-a),this.cameraR.projectionMatrix.copy(i)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Nc),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Oc)}},StreamCopyUsage:35042,StreamDrawUsage:35040,StreamReadUsage:35041,StringKeyframeTrack:Al,SubtractEquation:101,SubtractiveBlending:3,TOUCH:{ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},TangentSpaceNormalMap:0,TetrahedronBufferGeometry:Vs,TetrahedronGeometry:Vs,TextBufferGeometry:Ys,TextGeometry:Ys,Texture:Fe,TextureLoader:Dl,TorusBufferGeometry:Hs,TorusGeometry:Hs,TorusKnotBufferGeometry:js,TorusKnotGeometry:js,Triangle:ri,TriangleFanDrawMode:2,TriangleStripDrawMode:1,TrianglesDrawMode:0,TubeBufferGeometry:Ws,TubeGeometry:Ws,UVMapping:s,Uint16Attribute:function(e,t){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new xi(e,t)},Uint16BufferAttribute:xi,Uint32Attribute:function(e,t){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Mi(e,t)},Uint32BufferAttribute:Mi,Uint8Attribute:function(e,t){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new vi(e,t)},Uint8BufferAttribute:vi,Uint8ClampedAttribute:function(e,t){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new Ci(e,t)},Uint8ClampedBufferAttribute:Ci,Uniform:uh,UniformsLib:wn,UniformsUtils:ln,UnsignedByteType:w,UnsignedInt248Type:b,UnsignedIntType:E,UnsignedShort4444Type:1017,UnsignedShort5551Type:1018,UnsignedShort565Type:1019,UnsignedShortType:M,VSMShadowMap:3,Vector2:ke,Vector3:Ke,Vector4:Le,VectorKeyframeTrack:yl,Vertex:function(e,t,i){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new Ke(e,t,i)},VertexColors:2,VideoTexture:ja,WebGL1Renderer:No,WebGLCubeRenderTarget:fn,WebGLMultipleRenderTargets:Ne,WebGLMultisampleRenderTarget:Pe,WebGLRenderTarget:Oe,WebGLRenderTargetCube:function(e,t,i){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new fn(e,i)},WebGLRenderer:Oo,WebGLRendererEx:Po,WebGLUtils:ko,WireframeGeometry:Js,WireframeHelper:function(e,t){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new La(new Js(e.geometry),new Sa({color:void 0!==t?t:16777215}))},WrapAroundEnding:z,XHRLoader:function(e){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Bl(e)},ZeroCurvatureEnding:W,ZeroFactor:o,ZeroSlopeEnding:J,ZeroStencilOp:0,sRGBEncoding:_}),xd={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,EnableZoomToComponentByDClick:!0,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,EnableLogarithmicDepthBuffer:!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,UseReaderWorker:!1,ContinueRender:!1,KeepViewState:!1,usePack:!1};Object.defineProperties(xd,{logarithmicDepthBuffer:{set:function(e){this.EnableLogarithmicDepthBuffer=e},get:function(){return this.EnableLogarithmicDepthBuffer}}});var wd=bt.RotationOrders,Md={ORTHOGRAPHIC:"orth",PERSPECTIVE:"persp"},Ed={elements:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},Bd={elements:[1,0,0,0,1,0,0,0,1]},Sd={IfcOpeningElement:!0,IfcSpace:!0,OST_Rooms:!0,"房间":!0};Object.defineProperties(Sd,{"房间":{get:function(){return Sd.OST_Rooms},set:function(e){Sd.OST_Rooms=e}}});var bd=new(Proxy||function(e){return e})(Sd,{deleteProperty:function(e,t){t in e&&("房间"===t&&delete e.OST_Rooms,delete e[t])}}),kd={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},Dd={DirectionalLight:"directional",AmbientLight:"ambient",PointLight:"point",SpotLight:"spot"},Td={Clear:0,Add:1,Remove:2},Rd={Geometry:1,Marker3d:2,Room:3,ExternalComponent:4,UnPickable:0},Ud=0,Fd={ON_LOAD_START:Ud+=1,ON_LOAD_PROGRESS:Ud+=1,ON_LOAD_COMPLETE:Ud+=1,ON_DEMAND_LOAD_COMPLETE:Ud+=1,ON_LOAD_EMPTY_SCENE:Ud+=1,ON_LOAD_CONFIG_FINISH:Ud+=1,ON_LOAD_INVALID_SCENE:Ud+=1,ON_LOAD_INVALID_DATA:Ud+=1,ON_NETWORK_ERROR:Ud+=1,ACCOUNT_NO_EXIST:Ud+=1,NO_PERMISSION:Ud+=1,ON_LOAD_ERROR:Ud+=1,ON_SELECTION_CHANGED:Ud+=1,ON_RECTPICK_ADD:Ud+=1,ON_RECTPICK_REMOVE:Ud+=1,ON_CLICK_PICK:Ud+=1,ON_AXIS_GRID_HOVER:Ud+=1,ON_HOVER_PICK:Ud+=1,ON_MEASURE_PICK:Ud+=1,ON_SELECTION_FAILED:Ud+=1,ON_CLIP_HOVER:Ud+=1,ON_HOVER_SNAP:Ud+=1,ON_CLIP_MOUSE_MOVE:Ud+=1,ON_CLIP_MOUSE_DOWN:Ud+=1,ON_TOOL_END:Ud+=1,ON_VERSION_NO_MATCH:Ud+=1,ON_VIEWER_RESTORED:Ud+=1,ON_CAMERA_HEIGHT_CHANGED:Ud+=1,ON_CAMERA_CHANGED_AND_RENDERED:Ud+=1,ON_DATABASE_OPEN:Ud+=1,ON_DATABASE_CLOSE:Ud+=1,ON_DATABASE_ADD:Ud+=1,ON_DATABASE_DELETE:Ud+=1,ON_DATABASE_CLERA:Ud+=1,ON_DATABASE_EEEOR:Ud+=1,BEFORE_RESETSCENE:Ud+=1,AFTER_RESETSCENE:Ud+=1,ON_CAMERA_CHANGE:Ud+=1,ON_CONTROL_ENTER:Ud+=1,ON_CONTROL_EXIST:Ud+=1,ON_POINTERLOCK_EXIST:Ud+=1,ON_CONTROL_BEGIN:Ud+=1,ON_CONTROL_END:Ud+=1,ON_CONTROL_MOUSEMOVE:Ud+=1,ON_CONTROL_ZOOM:Ud+=1,ON_CONTROL_UPDATEUI:Ud+=1,ON_CONTROL_KEYDOWN:Ud+=1,ON_CONTROL_KEYUP:Ud+=1,ON_CONTROL_PANING:Ud+=1,ON_CONTROL_ROTATING:Ud+=1,ON_CONTROL_WALKING:Ud+=1,ON_CAMERA_ANIMATION_UPDATE:Ud+=1,ON_MOUSE_DRAGGED:Ud+=1,ON_EARTH_ANIMATION_COMPLETE:Ud+=1},Qd={LOAD_COMPONENT_ERROR:Ud+=1,LOAD_MATERIAL_ERROR:Ud+=1,LOAD_GEOMETRY_ERROR:Ud+=1,LOAD_COMPONENTNODE_ERROR:Ud+=1,LOAD_TEXTURE_ERROR:Ud+=1,LOAD_AXISNET_ERROR:Ud+=1,LOAD_FLOORINFO_ERROR:Ud+=1,PARSEFAILE:Ud+=1,PARSING:Ud+=1,IS2D:Ud+=1,LOAD_ERROR:Ud+=1,SCENE_NOT_CLOSE:Ud+=1,SCENE_NOTHING_TO_LOAD:Ud+=1,LOAD_SCENE_ERROR:Ud+=1,LOAD_SYMBOL_ERROR:Ud+=1,LOAD_OCTREEINNER_ERROR:Ud+=1,LOAD_OCTREEOUTER_ERROR:Ud+=1,LOAD_USERID_ERROR:Ud+=1,LOAD_USERDATA_ERROR:Ud+=1,LOAD_CAMERA_ERROR:Ud+=1,LOAD_MPK_ERROR:Ud+=1,LOAD_IBLCONFIG_ERROR:Ud+=1},Ld={MOUSEPOINT:0,SELECTION:1,CENTER:2,CAMERA:3},Od={FILE_VISIBLE:0,FILE_HIDDEN:1,SELECTED:2,VISIBLE:3,HIDDEN:4,TRANSLUCENT:5,TRANSLUCENT_OTHERS:6,WIREFRAME:7,COLORFUL:8},Nd={Visible:1,HideByIsolate:2,Transparent:4,TransparentByIsolate:8},Pd={HIDDEN:0,HIDDEN_OTHERS:1,TRANSLUCENT:2,TRANSLUCENT_OTHERS:3},Gd={TRANSLUCENT:"TRANSLUCENT",OPAQUE:"OPAQUE"},Kd={DISABLED:0,TRANSLUCENT:1,HIDDEN:2},Vd={ORBIT:"orbit",PICK:"pick",PAN:"pan",ZOOM:"zoom",FLY:"fly",WALK:"walk",THIRDPERSONWALK:"thirdpersonwalk"},Yd={PICK_BY_RECT:"pickByRect",ZOOM_BY_RECT:"zoomByRect",CLIP_BY_BOX:"clipByBox",CLIP_FILL:"fillClip",PICK_BY_MEASURE:"pickByMeasure",COMPONENT_TRANSFORM:"componentTransform"},Hd={NONE:0,UP:1,DOWN:2,LEFT:4,RIGHT:8,FORWARD:16,BACK:32},jd={SHADING:0,BOARDLINE:1,SHADINGWITHLINE:2},Wd={HIDDEN:-1,NONE:0,HOVER:1,SELECTED:2,OVERRIDED:3,TRANSPARENT:4,BLINK:5},Jd={NONE:0,BLINK:1,SELECT:2},zd={AUTO:0,DEFAULT:1,MERGED:2,LAYER:3,LAYER_SCENE:4},qd={MATCH_RETURN_TRUE:0,MATCH_RETURN_FALSE:1,NOMATCH_RETURN_TRUE:2,NOMATCH_RETURN_FALSE:3},Zd={CLIPPING:-2,HIDDEN:-1,NONE:0,SELECTED:1,BLINK:2,HOVER:3,TRANSPARENT:4,OVERRIDED:5,NEWBLINK:6},Xd={RVT:"RVT",IFC:"IFC",I_MODEL:"I-MODEL",THREE_DS:"3DS",MERGE:"MERGE",DAE:"DAE",DWG:"DWG",OBJ:"OBJ",FBX:"FBX",SCENE:"SCENE",ARRAY:"ARRAY"},_d=Object.freeze({Meter:"Meter",Millimeter:"Millimeter"}),$d="ON_VIEWER3D_CAMERA_CHANGE",eu=function(e,t){this.viewer2D=t,this.viewer3D=e,this.enableFocus(),this.show3DCameraOn2DViewer()};function tu(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function iu(e){for(var t=1;arguments.length>t;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?tu(Object(i),!0).forEach((function(t){su(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):tu(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function nu(e){return(nu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ru(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ou(e,t){for(var i=0;t.length>i;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function au(e,t,i){return t&&ou(e.prototype,t),i&&ou(e,i),e}function su(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function lu(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&hu(e,t)}function cu(e){return(cu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function hu(e,t){return(hu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function du(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function uu(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return du(e)}function pu(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var i,n=cu(e);if(t){var r=cu(this).constructor;i=Reflect.construct(n,arguments,r)}else i=n.apply(this,arguments);return uu(this,i)}}function gu(e,t,i){return(gu="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,i){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=cu(e)););return e}(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(i):r.value}})(e,t,i||e)}function fu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==i)return;var n,r,o=[],a=!0,s=!1;try{for(i=i.call(e);!(a=(n=i.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){s=!0,r=e}finally{try{a||null==i.return||i.return()}finally{if(s)throw r}}return o}(e,t)||Au(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mu(e){return function(e){if(Array.isArray(e))return yu(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Au(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Au(e,t){if(e){if("string"==typeof e)return yu(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?yu(e,t):void 0}}function yu(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);t>i;i++)n[i]=e[i];return n}function vu(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=Au(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,r=function(){};return{s:r,n:function(){return e.length>n?{done:!1,value:e[n++]}:{done:!0}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==i.return||i.return()}finally{if(s)throw o}}}}eu.prototype.enableFocus=function(){var e=this.viewer2D,t=this.viewer3D;t&&e&&(e.setOnSelectComponentCallback((function(e){e&&e.length>0?(t.highlightComponentsByKey(e),t.adaptiveSizeByKey(e)):t.clearHighlightList()})),t.registerModelEventListener(Fd.ON_CLICK_PICK,(function(t){t.intersectInfo&&t.intersectInfo.selectedObjectId&&e.focusOnComponentByKey(t.intersectInfo.selectedObjectId,!0)})))},eu.prototype.enableMove2DCamera=function(){this.viewer2D.getViewerImpl().controlManager.enableTool(this.viewer2D.getViewerImpl(),"viewer3DCameraControl")},eu.prototype.disableMove2DCamera=function(){this.viewer2D.getViewerImpl().controlManager.disableTool("viewer3DCameraControl")},eu.prototype.show3DCameraOn2DViewer=function(){var e=this.viewer2D,t=this.viewer3D;if(t&&e){var i=t.getViewerImpl();t.registerCameraEventListener(Fd.ON_CAMERA_CHANGE,(function(t){var i=t.camera,n=i.getWorldPosition(new Ke),r=i.getWorldDirection(new Ke);e.show3DCamera([n.x,n.y],[r.x,r.y])})),e.getViewerImpl().cameraControl.addEventListener($d,(function(e){var t=e.position;i.locateToPoint({x:t[0],y:t[1],z:i.camera.position.z})}))}};var Cu={clamp:function(e,t,i){return Math.max(t,Math.min(i,e))},euclideanModulo:function(e,t){return(e%t+t)%t}},Iu={DEBUG:6,PERFORMANCE:5,LOG:4,INFO:3,WARNING:2,ERROR:1,NONE:0},xu={},wu=function(e){xu[e]?console.warn("[BOS3D Time]:","Timer '"+e+"' already exists"):xu[e]=Date.now()},Mu=function(e){xu[e]?(console.warn("[BOS3D Time]:",e+":",Date.now()-xu[e],"ms"),delete xu[e]):console.warn("[BOS3D Time]:","Timer '"+e+"' does not exist")};function Eu(){this.level=-1,this.setLevel(Iu.LOG)}Eu.prototype.setLevel=function(e){if(this.level!==e){this.level=e;var t=function(){},i=Iu,n=this;this.debug=i.DEBUG>e?t:function(){var e=["[BOS3D Debug]:"].concat(Array.prototype.slice.call(arguments));console.debug.apply(console,e)},this.trace=i.DEBUG>e?t:function(){var e=["[BOS3D Trace]:"].concat(Array.prototype.slice.call(arguments));console.trace.apply(console,e)},this.assert=i.DEBUG>e?t:function(){var e=["[BOS3D Assert]:"].concat(Array.prototype.slice.call(arguments));console.assert.apply(console,e)},this.count=i.DEBUG>e?t:function(){var e=["[BOS3D Count]:"].concat(Array.prototype.slice.call(arguments));console.count.apply(console,e)},this.dir=i.DEBUG>e?t:function(){var e=["[BOS3D Dir]:"].concat(Array.prototype.slice.call(arguments));console.dir.apply(console,e)},this.time=i.PERFORMANCE>e?t:wu,this.timeEnd=i.PERFORMANCE>e?t:Mu,this.log=i.LOG>e?t:function(){var e=["[BOS3D Log]:"].concat(Array.prototype.slice.call(arguments));console.log.apply(console,e)},this.info=i.INFO>e?t:console.info.bind(console),this.warn=i.WARNING>e?t:function(){var e=["[BOS3D Warn]:"].concat(Array.prototype.slice.call(arguments));console.warn.apply(console,e)},this.error=i.ERROR>e?t:function(){if(n.callback){var e=Array.prototype.slice.call(arguments).join(" ");n.callback({category:"error",message:e},{adp:!1})}var t=["[BOS3D Error]:"].concat(Array.prototype.slice.call(arguments));console.error.apply(console,t)}}};var Bu=new Eu,Su={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 bu(e,t,i){return 0>i&&(i+=1),i>1&&(i-=1),1/6>i?e+6*(t-e)*i:.5>i?t:2/3>i?e+6*(t-e)*(2/3-i):e}var ku,Du=function(e,t,i,n){return void 0===n&&void 0===i?this.set(e,t):this.setRGB(e,t,i,n)};Object.assign(Du.prototype,{isColor:!0,r:1,g:1,b:1,a:1,set:function(e,t){return"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e),void 0!==t&&this.setAlpha(t),this},setHex:function(e,t){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,this.setAlpha(t),this},setAlpha:function(e){return"number"==typeof e?(e>1&&(e=1),0>e&&(e=0),this.a=e):isNaN(parseFloat(e))?this.a=1:((e=parseFloat(e))>1&&(e=1),0>e&&(e=0),this.a=e),this},setRGB:function(e,t,i,n){return this.r=e>1?Math.min(255,parseInt(e,10))/255:e,this.g=t>1?Math.min(255,parseInt(t,10))/255:t,this.b=i>1?Math.min(255,parseInt(i,10))/255:i,this.setAlpha(n),this},setHSL:function(e,t,i,n){if(e=Cu.euclideanModulo(e,1),t=Cu.clamp(t,0,1),i=Cu.clamp(i,0,1),0===t)this.r=this.g=this.b=i;else{var r=i>.5?i+t-i*t:i*(1+t),o=2*i-r;this.r=bu(o,r,e+1/3),this.g=bu(o,r,e),this.b=bu(o,r,e-1/3)}return this.a=n,this},setStyle:function(e){var t=null;if(t=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(e)){var i=null,n=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(n))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,this.setAlpha(i[5]),this;if(i=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(n))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,this.setAlpha(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(n)){var r=parseFloat(i[1])/360,o=parseInt(i[2],10)/100,a=parseInt(i[3],10)/100;return this.setAlpha(i[5]),this.setHSL(r,o,a)}}}else if(t=/^\#([A-Fa-f0-9]+)$/.exec(e)){var s,l=(s=t[1]).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}e&&e.length>0&&(void 0!==(s=Su[e])?this.setHex(s):Bu.warn("Color: Unknown color "+e));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 e={h:0,s:0,l:0,a:1},t=this.r,i=this.g,n=this.b,r=Math.max(t,i,n),o=Math.min(t,i,n),a=0,s=0,l=(o+r)/2;if(o===r)a=0,s=0;else{var c=r-o;switch(s=l>.5?c/(2-r-o):c/(r+o),r){case t:a=(i-n)/c+(n>i?6:0);break;case i:a=(n-t)/c+2;break;case n:a=(t-i)/c+4}a/=6}return e.h=a,e.s=s,e.l=l,e.a=this.a,e},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:(ku={},function(e,t,i){return this.getHSL(ku),ku.h+=e,ku.s+=t,ku.l+=i,this.setHSL(ku.h,ku.s,ku.l),this}),fromArray:function(e,t){return void 0===t&&(t=0),this.r=e[t],this.g=e[t+1],this.b=e[t+2],this.a=e[t+3]||1,this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e[t+3]=this.a,e},toRGBArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=255*this.r,e[t+1]=255*this.g,e[t+2]=255*this.b,e[t+3]=255*this.a,e},toJSON:function(){return this.getHex()}}),Object.defineProperties(Du.prototype,{red:{get:function(){return this.r},set:function(e){this.r=e}},green:{get:function(){return this.g},set:function(e){this.g=e}},blue:{get:function(){return this.b},set:function(e){this.b=e}},alpha:{get:function(){return this.a},set:function(e){this.a=e}},opacity:{get:function(){return this.a},set:function(e){this.a=e}}});var Tu=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;ru(this,i),(r=t.call(this,e)).type="Reflector";var o=du(r),a=new pi(void 0!==(n=n||{}).color?n.color:16777215),s=n.textureWidth||512,l=n.textureHeight||512,c=n.clipBias||0,h=n.shader||i.ReflectorShader,d=void 0!==n.recursion?n.recursion:0,u=new Jt,p=new Ke,g=new Ke,f=new Ke,m=new yt,A=new Ke(0,0,-1),y=new Le,v=new Ke,I=new Ke,x=new Le,w=new yt,M=new dn,E=new Oe(s,l,{minFilter:C,magFilter:C,format:k,stencilBuffer:!1});be.isPowerOfTwo(s)&&be.isPowerOfTwo(l)||(E.texture.generateMipmaps=!1);var B=new cn({uniforms:ln.clone(h.uniforms),fragmentShader:h.fragmentShader,vertexShader:h.vertexShader});return B.uniforms.tDiffuse.value=E.texture,B.uniforms.color.value=a,B.uniforms.textureMatrix.value=w,r.material=B,r.onBeforeRender=function(e,t,i){if("recursion"in i.userData){if(i.userData.recursion===d)return;i.userData.recursion+=1}if(g.setFromMatrixPosition(o.matrixWorld),f.setFromMatrixPosition(i.matrixWorld),m.extractRotation(o.matrixWorld),p.set(0,0,1),p.applyMatrix4(m),v.subVectors(g,f),0>=v.dot(p)){v.reflect(p).negate(),v.add(g),m.extractRotation(i.matrixWorld),A.set(0,0,-1),A.applyMatrix4(m),A.add(f),I.subVectors(g,A),I.reflect(p).negate(),I.add(g),M.position.copy(v),M.up.set(0,1,0),M.up.applyMatrix4(m),M.up.reflect(p),M.lookAt(I),M.far=i.far,M.updateMatrixWorld(),M.matrixWorldInverse.copy(M.matrixWorld).invert(),M.projectionMatrix.copy(i.projectionMatrix),M.userData.recursion=0,w.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),w.multiply(M.projectionMatrix),w.multiply(M.matrixWorldInverse),w.multiply(o.matrixWorld),u.setFromNormalAndCoplanarPoint(p,g),u.applyMatrix4(M.matrixWorldInverse),y.set(u.normal.x,u.normal.y,u.normal.z,u.constant);var n=M.projectionMatrix;x.x=(Math.sign(y.x)+n.elements[8])/n.elements[0],x.y=(Math.sign(y.y)+n.elements[9])/n.elements[5],x.z=-1,x.w=(1+n.elements[10])/n.elements[14],y.multiplyScalar(2/y.dot(x)),n.elements[2]=y.x,n.elements[6]=y.y,n.elements[10]=y.z+1-c,n.elements[14]=y.w,E.texture.encoding=e.outputEncoding,o.visible=!1;var r=e.getRenderTarget(),a=e.xr.enabled,s=e.shadowMap.autoUpdate;e.xr.enabled=!1,e.shadowMap.autoUpdate=!1,e.setRenderTarget(E),e.state.buffers.depth.setMask(!0),!1===e.autoClear&&e.clear(),e.render(t,M),e.xr.enabled=a,e.shadowMap.autoUpdate=s,e.setRenderTarget(r);var l=i.viewport;void 0!==l&&e.state.viewport(l),o.visible=!0}},r.getRenderTarget=function(){return E},r}return i}(nn);Tu.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 Ru=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;ru(this,i),(r=t.call(this,e)).type="Refractor";var o=du(r),a=new pi(void 0!==(n=n||{}).color?n.color:8355711),s=n.textureWidth||512,l=n.textureHeight||512,c=n.clipBias||0,h=n.shader||i.RefractorShader,d=new dn;d.matrixAutoUpdate=!1,d.userData.refractor=!0;var u=new Jt,p=new yt,g=new Oe(s,l,{minFilter:C,magFilter:C,format:k,stencilBuffer:!1});be.isPowerOfTwo(s)&&be.isPowerOfTwo(l)||(g.texture.generateMipmaps=!1),r.material=new cn({uniforms:ln.clone(h.uniforms),vertexShader:h.vertexShader,fragmentShader:h.fragmentShader,transparent:!0}),r.material.uniforms.color.value=a,r.material.uniforms.tDiffuse.value=g.texture,r.material.uniforms.textureMatrix.value=p;var f,m,A,y,v,I=(f=new Ke,m=new Ke,A=new yt,y=new Ke,v=new Ke,function(e){return f.setFromMatrixPosition(o.matrixWorld),m.setFromMatrixPosition(e.matrixWorld),y.subVectors(f,m),A.extractRotation(o.matrixWorld),v.set(0,0,1),v.applyMatrix4(A),0>y.dot(v)}),x=function(){var e=new Ke,t=new Ke,i=new Ge,n=new Ke;return function(){o.matrixWorld.decompose(t,i,n),e.set(0,0,1).applyQuaternion(i).normalize(),e.negate(),u.setFromNormalAndCoplanarPoint(e,t)}}(),w=function(){var e=new Jt,t=new Le,i=new Le;return function(n){d.matrixWorld.copy(n.matrixWorld),d.matrixWorldInverse.copy(d.matrixWorld).invert(),d.projectionMatrix.copy(n.projectionMatrix),d.far=n.far,e.copy(u),e.applyMatrix4(d.matrixWorldInverse),t.set(e.normal.x,e.normal.y,e.normal.z,e.constant);var r=d.projectionMatrix;i.x=(Math.sign(t.x)+r.elements[8])/r.elements[0],i.y=(Math.sign(t.y)+r.elements[9])/r.elements[5],i.z=-1,i.w=(1+r.elements[10])/r.elements[14],t.multiplyScalar(2/t.dot(i)),r.elements[2]=t.x,r.elements[6]=t.y,r.elements[10]=t.z+1-c,r.elements[14]=t.w}}();return r.onBeforeRender=function(e,t,i){g.texture.encoding=e.outputEncoding,!0!==i.userData.refractor&&!0!=!I(i)&&(x(),function(e){p.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),p.multiply(e.projectionMatrix),p.multiply(e.matrixWorldInverse),p.multiply(o.matrixWorld)}(i),w(i),function(e,t,i){o.visible=!1;var n=e.getRenderTarget(),r=e.xr.enabled,a=e.shadowMap.autoUpdate;e.xr.enabled=!1,e.shadowMap.autoUpdate=!1,e.setRenderTarget(g),!1===e.autoClear&&e.clear(),e.render(t,d),e.xr.enabled=r,e.shadowMap.autoUpdate=a,e.setRenderTarget(n);var s=i.viewport;void 0!==s&&e.state.viewport(s),o.visible=!0}(e,t,i))},r.getRenderTarget=function(){return g},r}return i}(nn);Ru.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 Uu=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this)).points=e,n.handlePoints=[],n.minX=0,n.minY=0,n.maxX=0,n.maxY=0,n.invalid=!1,n._createPlaneGeometry(),n}return i}(Ni);Uu.prototype._createPlaneGeometry=function(){var e=this;if(e._RemoveDuplicatePoints(e.points))this.invalid=!0;else{if(3>e.handlePoints.length)return Bu.warn("Failed to create plane, the number of the points must be more than three."),void(this.invalid=!0);if(3===e.handlePoints.length&&0===e._area(e.handlePoints[0],e.handlePoints[1],e.handlePoints[2]))return Bu.warn("Failed to create plane, points are collinear."),void(this.invalid=!0);if(e._checkIntersect())return Bu.warn("Failed to create plane, the plane border is self-intersecting."),void(this.invalid=!0);e.handlePoints.push(new ke(e.points[0].x,e.points[0].y));var t=new $l(e.handlePoints),i=new Gs(t),n=new Float32Array(e._updateUv(i));i.setAttribute("uv",new Ai(n,2)),this.attributes=i.attributes,this.groups=i.groups,this.index=i.index}},Uu.prototype._updateUv=function(e){for(var t=this,i=[],n=e.attributes.position.array,r=0;n.length>r;r+=3){var o=(n[r+1]-t.minY)/(t.maxY-t.minY);i.push((n[r]-t.minX)/(t.maxX-t.minX)),i.push(o)}return i},Uu.prototype._RemoveDuplicatePoints=function(e){var t=this,i=new ke(e[0].x,e[0].y);t.handlePoints.push(i),t.minX=i.x,t.maxX=i.x,t.minY=i.y,t.maxY=i.y;for(var n=1;e.length>n;n+=1){var r=!1;if(void 0===e[n].x||void 0===e[n].y)return Bu.log("Failed to create plane, the format of plane is not right, please follow [{x:,y:},...]"),!0;for(var o=0;t.handlePoints.length>o;o+=1)if(e[n].x===t.handlePoints[o].x&&e[n].y===t.handlePoints[o].y){r=!0;break}if(!1===r){i=new ke(e[n].x,e[n].y);t.handlePoints.push(i),t.minX>i.x&&(t.minX=i.x),t.minY>i.y&&(t.minY=i.y),i.x>t.maxX&&(t.maxX=i.x),i.y>t.maxY&&(t.maxY=i.y)}}return!1},Uu.prototype._checkIntersect=function(){for(var e=this,t=null,i=null,n=e.handlePoints.length,r=0;n>r;r+=1){t=e.handlePoints[r],i=e.handlePoints[r===n-1?0:r+1];for(var o=r+2;n>o;o+=1)if((0!==r||o!==n-1)&&e._intersectSegments(t,i,e.handlePoints[o],e.handlePoints[o===n-1?0:o+1]))return!0}return!1},Uu.prototype._area=function(e,t,i){return(t.x-e.x)*(i.y-e.y)-(i.x-e.x)*(t.y-e.y)},Uu.prototype._collinearIntersectCheck=function(e,t,i,n){return(Math.min(e.x,t.x)>i.x||i.x>Math.max(e.x,t.x)||Math.min(e.y,t.y)>i.y||i.y>Math.max(e.y,t.y))&&(Math.min(e.x,t.x)>n.x||n.x>Math.max(e.x,t.x)||Math.min(e.y,t.y)>n.y||n.y>Math.max(e.y,t.y))},Uu.prototype._intersectSegments=function(e,t,i,n){var r=this._area(e,t,i)*this._area(e,t,n),o=this._area(i,n,e)*this._area(i,n,t);return 0>=r&&(0>=o&&(0!==r||0!==o||!this._collinearIntersectCheck(e,t,i,n)))};var Fu=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;ru(this,e),this._x=t,this._y=i,this._z=n,this._w=r}return au(e,[{key:"x",get:function(){return this._x},set:function(e){this._x=e,this._onChangeCallback()}},{key:"y",get:function(){return this._y},set:function(e){this._y=e,this._onChangeCallback()}},{key:"z",get:function(){return this._z},set:function(e){this._z=e,this._onChangeCallback()}},{key:"w",get:function(){return this._w},set:function(e){this._w=e,this._onChangeCallback()}},{key:"set",value:function(e,t,i,n){return this._x=e,this._y=t,this._z=i,this._w=n,this._onChangeCallback(),this}},{key:"clone",value:function(){return new this.constructor(this._x,this._y,this._z,this._w)}},{key:"copy",value:function(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}},{key:"setFromEuler",value:function(e,t){if(!e||!e.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var i=e._x,n=e._y,r=e._z,o=e._order,a=Math.cos,s=Math.sin,l=a(i/2),c=a(n/2),h=a(r/2),d=s(i/2),u=s(n/2),p=s(r/2);switch(o){case"XYZ":this._x=d*c*h+l*u*p,this._y=l*u*h-d*c*p,this._z=l*c*p+d*u*h,this._w=l*c*h-d*u*p;break;case"YXZ":this._x=d*c*h+l*u*p,this._y=l*u*h-d*c*p,this._z=l*c*p-d*u*h,this._w=l*c*h+d*u*p;break;case"ZXY":this._x=d*c*h-l*u*p,this._y=l*u*h+d*c*p,this._z=l*c*p+d*u*h,this._w=l*c*h-d*u*p;break;case"ZYX":this._x=d*c*h-l*u*p,this._y=l*u*h+d*c*p,this._z=l*c*p-d*u*h,this._w=l*c*h+d*u*p;break;case"YZX":this._x=d*c*h+l*u*p,this._y=l*u*h+d*c*p,this._z=l*c*p-d*u*h,this._w=l*c*h-d*u*p;break;case"XZY":this._x=d*c*h-l*u*p,this._y=l*u*h-d*c*p,this._z=l*c*p+d*u*h,this._w=l*c*h+d*u*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return!1!==t&&this._onChangeCallback(),this}},{key:"setFromAxisAngle",value:function(e,t){var i=t/2,n=Math.sin(i);return this._x=e.x*n,this._y=e.y*n,this._z=e.z*n,this._w=Math.cos(i),this._onChangeCallback(),this}},{key:"setFromRotationMatrix",value:function(e){var t=e.elements,i=t[0],n=t[4],r=t[8],o=t[1],a=t[5],s=t[9],l=t[2],c=t[6],h=t[10],d=i+a+h;if(d>0){var u=.5/Math.sqrt(d+1);this._w=.25/u,this._x=(c-s)*u,this._y=(r-l)*u,this._z=(o-n)*u}else if(i>a&&i>h){var p=2*Math.sqrt(1+i-a-h);this._w=(c-s)/p,this._x=.25*p,this._y=(n+o)/p,this._z=(r+l)/p}else if(a>h){var g=2*Math.sqrt(1+a-i-h);this._w=(r-l)/g,this._x=(n+o)/g,this._y=.25*g,this._z=(s+c)/g}else{var f=2*Math.sqrt(1+h-i-a);this._w=(o-n)/f,this._x=(r+l)/f,this._y=(s+c)/f,this._z=.25*f}return this._onChangeCallback(),this}},{key:"setFromUnitVectors",value:function(e,t){var i=e.dot(t)+1;return Number.EPSILON>i?(i=0,Math.abs(e.x)>Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=i):(this._x=0,this._y=-e.z,this._z=e.y,this._w=i)):(this._x=e.y*t.z-e.z*t.y,this._y=e.z*t.x-e.x*t.z,this._z=e.x*t.y-e.y*t.x,this._w=i),this.normalize()}},{key:"angleTo",value:function(e){return 2*Math.acos(Math.abs(Cu.clamp(this.dot(e),-1,1)))}},{key:"rotateTowards",value:function(e,t){var i=this.angleTo(e);if(0===i)return this;var n=Math.min(1,t/i);return this.slerp(e,n),this}},{key:"identity",value:function(){return this.set(0,0,0,1)}},{key:"invert",value:function(){return this.conjugate()}},{key:"conjugate",value:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}},{key:"dot",value:function(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}},{key:"lengthSq",value:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}},{key:"length",value:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}},{key:"normalize",value:function(){var e=this.length();return 0===e?(this._x=0,this._y=0,this._z=0,this._w=1):(this._x=this._x*(e=1/e),this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}},{key:"multiply",value:function(e,t){return void 0!==t?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(e,t)):this.multiplyQuaternions(this,e)}},{key:"premultiply",value:function(e){return this.multiplyQuaternions(e,this)}},{key:"multiplyQuaternions",value:function(e,t){var i=e._x,n=e._y,r=e._z,o=e._w,a=t._x,s=t._y,l=t._z,c=t._w;return this._x=i*c+o*a+n*l-r*s,this._y=n*c+o*s+r*a-i*l,this._z=r*c+o*l+i*s-n*a,this._w=o*c-i*a-n*s-r*l,this._onChangeCallback(),this}},{key:"slerp",value:function(e,t){if(0===t)return this;if(1===t)return this.copy(e);var i=this._x,n=this._y,r=this._z,o=this._w,a=o*e._w+i*e._x+n*e._y+r*e._z;if(0>a?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=i,this._y=n,this._z=r,this;var s=1-a*a;if(Number.EPSILON>=s){var l=1-t;return this._w=l*o+t*this._w,this._x=l*i+t*this._x,this._y=l*n+t*this._y,this._z=l*r+t*this._z,this.normalize(),this._onChangeCallback(),this}var c=Math.sqrt(s),h=Math.atan2(c,a),d=Math.sin((1-t)*h)/c,u=Math.sin(t*h)/c;return this._w=o*d+this._w*u,this._x=i*d+this._x*u,this._y=n*d+this._y*u,this._z=r*d+this._z*u,this._onChangeCallback(),this}},{key:"slerpQuaternions",value:function(e,t,i){this.copy(e).slerp(t,i)}},{key:"equals",value:function(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}},{key:"fromBufferAttribute",value:function(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this}},{key:"_onChange",value:function(e){return this._onChangeCallback=e,this}},{key:"_onChangeCallback",value:function(){}}],[{key:"slerp",value:function(e,t,i,n){return console.warn("THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead."),i.slerpQuaternions(e,t,n)}},{key:"slerpFlat",value:function(e,t,i,n,r,o,a){var s=i[n+0],l=i[n+1],c=i[n+2],h=i[n+3],d=r[o+0],u=r[o+1],p=r[o+2],g=r[o+3];if(0===a)return e[t+0]=s,e[t+1]=l,e[t+2]=c,void(e[t+3]=h);if(1===a)return e[t+0]=d,e[t+1]=u,e[t+2]=p,void(e[t+3]=g);if(h!==g||s!==d||l!==u||c!==p){var f=1-a,m=s*d+l*u+c*p+h*g,A=0>m?-1:1,y=1-m*m;if(y>Number.EPSILON){var v=Math.sqrt(y),C=Math.atan2(v,m*A);f=Math.sin(f*C)/v,a=Math.sin(a*C)/v}var I=a*A;if(s=s*f+d*I,l=l*f+u*I,c=c*f+p*I,h=h*f+g*I,f===1-a){var x=1/Math.sqrt(s*s+l*l+c*c+h*h);s*=x,l*=x,c*=x,h*=x}}e[t]=s,e[t+1]=l,e[t+2]=c,e[t+3]=h}},{key:"multiplyQuaternionsFlat",value:function(e,t,i,n,r,o){var a=i[n],s=i[n+1],l=i[n+2],c=i[n+3],h=r[o],d=r[o+1],u=r[o+2],p=r[o+3];return e[t]=a*p+c*h+s*u-l*d,e[t+1]=s*p+c*d+l*h-a*u,e[t+2]=l*p+c*u+a*d-s*h,e[t+3]=c*p-a*h-s*d-l*u,e}}]),e}();Fu.prototype.isQuaternion=!0;var Qu=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;ru(this,e),this.x=t,this.y=i,this.z=n}return au(e,[{key:"set",value:function(e,t,i){return void 0===i&&(i=this.z),this.x=e,this.y=t,this.z=i,this}},{key:"setScalar",value:function(e){return this.x=e,this.y=e,this.z=e,this}},{key:"setX",value:function(e){return this.x=e,this}},{key:"setY",value:function(e){return this.y=e,this}},{key:"setZ",value:function(e){return this.z=e,this}},{key:"setComponent",value:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error("index is out of range: "+e)}return this}},{key:"getComponent",value:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y,this.z)}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}},{key:"add",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this)}},{key:"addScalar",value:function(e){return this.x+=e,this.y+=e,this.z+=e,this}},{key:"addVectors",value:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}},{key:"addScaledVector",value:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}},{key:"sub",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this)}},{key:"subScalar",value:function(e){return this.x-=e,this.y-=e,this.z-=e,this}},{key:"subVectors",value:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}},{key:"multiply",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(e,t)):(this.x*=e.x,this.y*=e.y,this.z*=e.z,this)}},{key:"multiplyScalar",value:function(e){return this.x*=e,this.y*=e,this.z*=e,this}},{key:"multiplyVectors",value:function(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}},{key:"applyEuler",value:function(e){return e&&e.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(Ou.setFromEuler(e))}},{key:"applyAxisAngle",value:function(e,t){return this.applyQuaternion(Ou.setFromAxisAngle(e,t))}},{key:"applyMatrix3",value:function(e){var t=this.x,i=this.y,n=this.z,r=e.elements;return this.x=r[0]*t+r[3]*i+r[6]*n,this.y=r[1]*t+r[4]*i+r[7]*n,this.z=r[2]*t+r[5]*i+r[8]*n,this}},{key:"applyNormalMatrix",value:function(e){return this.applyMatrix3(e).normalize()}},{key:"applyMatrix4",value:function(e){var t=this.x,i=this.y,n=this.z,r=e.elements,o=1/(r[3]*t+r[7]*i+r[11]*n+r[15]);return this.x=(r[0]*t+r[4]*i+r[8]*n+r[12])*o,this.y=(r[1]*t+r[5]*i+r[9]*n+r[13])*o,this.z=(r[2]*t+r[6]*i+r[10]*n+r[14])*o,this}},{key:"applyQuaternion",value:function(e){var t=this.x,i=this.y,n=this.z,r=e.x,o=e.y,a=e.z,s=e.w,l=s*t+o*n-a*i,c=s*i+a*t-r*n,h=s*n+r*i-o*t,d=-r*t-o*i-a*n;return this.x=l*s+d*-r+c*-a-h*-o,this.y=c*s+d*-o+h*-r-l*-a,this.z=h*s+d*-a+l*-o-c*-r,this}},{key:"project",value:function(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}},{key:"unproject",value:function(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}},{key:"transformDirection",value:function(e){var t=this.x,i=this.y,n=this.z,r=e.elements;return this.x=r[0]*t+r[4]*i+r[8]*n,this.y=r[1]*t+r[5]*i+r[9]*n,this.z=r[2]*t+r[6]*i+r[10]*n,this.normalize()}},{key:"divide",value:function(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}},{key:"divideScalar",value:function(e){return this.multiplyScalar(1/e)}},{key:"min",value:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}},{key:"max",value:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}},{key:"clamp",value:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}},{key:"clampScalar",value:function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}},{key:"clampLength",value:function(e,t){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}},{key:"roundToZero",value: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}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}},{key:"dot",value:function(e){return this.x*e.x+this.y*e.y+this.z*e.z}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y+this.z*this.z}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"setLength",value:function(e){return this.normalize().multiplyScalar(e)}},{key:"lerp",value:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}},{key:"lerpVectors",value:function(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this}},{key:"cross",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(e,t)):this.crossVectors(this,e)}},{key:"crossVectors",value:function(e,t){var i=e.x,n=e.y,r=e.z,o=t.x,a=t.y,s=t.z;return this.x=n*s-r*a,this.y=r*o-i*s,this.z=i*a-n*o,this}},{key:"projectOnVector",value:function(e){var t=e.lengthSq();if(0===t)return this.set(0,0,0);var i=e.dot(this)/t;return this.copy(e).multiplyScalar(i)}},{key:"projectOnPlane",value:function(e){return Lu.copy(this).projectOnVector(e),this.sub(Lu)}},{key:"reflect",value:function(e){return this.sub(Lu.copy(e).multiplyScalar(2*this.dot(e)))}},{key:"angleTo",value:function(e){var t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;var i=this.dot(e)/t;return Math.acos(Cu.clamp(i,-1,1))}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceToSquared(e))}},{key:"distanceToSquared",value:function(e){var t=this.x-e.x,i=this.y-e.y,n=this.z-e.z;return t*t+i*i+n*n}},{key:"manhattanDistanceTo",value:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}},{key:"setFromSpherical",value:function(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}},{key:"setFromSphericalCoords",value:function(e,t,i){var n=Math.sin(t)*e;return this.x=n*Math.sin(i),this.y=Math.cos(t)*e,this.z=n*Math.cos(i),this}},{key:"setFromCylindrical",value:function(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}},{key:"setFromCylindricalCoords",value:function(e,t,i){return this.x=e*Math.sin(t),this.y=i,this.z=e*Math.cos(t),this}},{key:"setFromMatrixPosition",value:function(e){var t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}},{key:"setFromMatrixScale",value:function(e){var t=this.setFromMatrixColumn(e,0).length(),i=this.setFromMatrixColumn(e,1).length(),n=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=i,this.z=n,this}},{key:"setFromMatrixColumn",value:function(e,t){return this.fromArray(e.elements,4*t)}},{key:"setFromMatrix3Column",value:function(e,t){return this.fromArray(e.elements,3*t)}},{key:"equals",value:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}},{key:"fromBufferAttribute",value:function(e,t,i){return void 0!==i&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}]),e}();Qu.prototype.isVector3=!0;var Lu=new Qu,Ou=new Fu,Nu=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Qu(1/0,1/0,1/0),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Qu(-1/0,-1/0,-1/0);ru(this,e),this.min=t,this.max=i}return au(e,[{key:"set",value:function(e,t){return this.min.copy(e),this.max.copy(t),this}},{key:"setFromArray",value:function(e){for(var t=1/0,i=1/0,n=1/0,r=-1/0,o=-1/0,a=-1/0,s=0,l=e.length;l>s;s+=3){var c=e[s],h=e[s+1],d=e[s+2];t>c&&(t=c),i>h&&(i=h),n>d&&(n=d),c>r&&(r=c),h>o&&(o=h),d>a&&(a=d)}return this.min.set(t,i,n),this.max.set(r,o,a),this}},{key:"setFromBufferAttribute",value:function(e){for(var t=1/0,i=1/0,n=1/0,r=-1/0,o=-1/0,a=-1/0,s=0,l=e.count;l>s;s++){var c=e.getX(s),h=e.getY(s),d=e.getZ(s);t>c&&(t=c),i>h&&(i=h),n>d&&(n=d),c>r&&(r=c),h>o&&(o=h),d>a&&(a=d)}return this.min.set(t,i,n),this.max.set(r,o,a),this}},{key:"setFromPoints",value:function(e){this.makeEmpty();for(var t=0,i=e.length;i>t;t++)this.expandByPoint(e[t]);return this}},{key:"setFromCenterAndSize",value:function(e,t){var i=Gu.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}},{key:"setFromObject",value:function(e){return this.makeEmpty(),this.expandByObject(e)}},{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"copy",value:function(e){return this.min.copy(e.min),this.max.copy(e.max),this}},{key:"makeEmpty",value: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}},{key:"isEmpty",value:function(){return this.min.x>this.max.x||this.min.y>this.max.y||this.min.z>this.max.z}},{key:"getCenter",value:function(e){return void 0===e&&(console.warn("THREE.Box3: .getCenter() target is now required"),e=new Qu),this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}},{key:"getSize",value:function(e){return void 0===e&&(console.warn("THREE.Box3: .getSize() target is now required"),e=new Qu),this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}},{key:"expandByPoint",value:function(e){return this.min.min(e),this.max.max(e),this}},{key:"expandByVector",value:function(e){return this.min.sub(e),this.max.add(e),this}},{key:"expandByScalar",value:function(e){return this.min.addScalar(-e),this.max.addScalar(e),this}},{key:"expandByObject",value:function(e){e.updateWorldMatrix(!1,!1);var t=e.geometry;void 0!==t&&(null===t.boundingBox&&t.computeBoundingBox(),Ku.copy(t.boundingBox),Ku.applyMatrix4(e.matrixWorld),this.union(Ku));for(var i=e.children,n=0,r=i.length;r>n;n++)this.expandByObject(i[n]);return this}},{key:"containsPoint",value:function(e){return!(this.min.x>e.x||e.x>this.max.x||this.min.y>e.y||e.y>this.max.y||this.min.z>e.z||e.z>this.max.z)}},{key:"containsBox",value:function(e){return!(this.min.x>e.min.x||e.max.x>this.max.x||this.min.y>e.min.y||e.max.y>this.max.y||this.min.z>e.min.z||e.max.z>this.max.z)}},{key:"getParameter",value:function(e,t){return void 0===t&&(console.warn("THREE.Box3: .getParameter() target is now required"),t=new Qu),t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}},{key:"intersectsBox",value:function(e){return!(this.min.x>e.max.x||e.min.x>this.max.x||this.min.y>e.max.y||e.min.y>this.max.y||this.min.z>e.max.z||e.min.z>this.max.z)}},{key:"intersectsSphere",value:function(e){return this.clampPoint(e.center,Gu),Gu.distanceToSquared(e.center)<=e.radius*e.radius}},{key:"intersectsPlane",value:function(e){var t,i;return e.normal.x>0?(t=e.normal.x*this.min.x,i=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,i=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,i+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,i+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,i+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,i+=e.normal.z*this.min.z),-e.constant>=t&&i>=-e.constant}},{key:"intersectsTriangle",value:function(e){if(this.isEmpty())return!1;this.getCenter(zu),qu.subVectors(this.max,zu),Vu.subVectors(e.a,zu),Yu.subVectors(e.b,zu),Hu.subVectors(e.c,zu),ju.subVectors(Yu,Vu),Wu.subVectors(Hu,Yu),Ju.subVectors(Vu,Hu);var t=[0,-ju.z,ju.y,0,-Wu.z,Wu.y,0,-Ju.z,Ju.y,ju.z,0,-ju.x,Wu.z,0,-Wu.x,Ju.z,0,-Ju.x,-ju.y,ju.x,0,-Wu.y,Wu.x,0,-Ju.y,Ju.x,0];return!!_u(t,Vu,Yu,Hu,qu)&&(!!_u(t=[1,0,0,0,1,0,0,0,1],Vu,Yu,Hu,qu)&&(Zu.crossVectors(ju,Wu),_u(t=[Zu.x,Zu.y,Zu.z],Vu,Yu,Hu,qu)))}},{key:"clampPoint",value:function(e,t){return void 0===t&&(console.warn("THREE.Box3: .clampPoint() target is now required"),t=new Qu),t.copy(e).clamp(this.min,this.max)}},{key:"distanceToPoint",value:function(e){return Gu.copy(e).clamp(this.min,this.max).sub(e).length()}},{key:"getBoundingSphere",value:function(e){return void 0===e&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(e.center),e.radius=.5*this.getSize(Gu).length(),e}},{key:"intersect",value:function(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}},{key:"union",value:function(e){return this.min.min(e.min),this.max.max(e.max),this}},{key:"applyMatrix4",value:function(e){return this.isEmpty()||(Pu[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Pu[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Pu[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Pu[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Pu[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Pu[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Pu[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Pu[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Pu)),this}},{key:"translate",value:function(e){return this.min.add(e),this.max.add(e),this}},{key:"equals",value:function(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}]),e}();Nu.prototype.isBox3=!0;var Pu=[new Qu,new Qu,new Qu,new Qu,new Qu,new Qu,new Qu,new Qu],Gu=new Qu,Ku=new Nu,Vu=new Qu,Yu=new Qu,Hu=new Qu,ju=new Qu,Wu=new Qu,Ju=new Qu,zu=new Qu,qu=new Qu,Zu=new Qu,Xu=new Qu;function _u(e,t,i,n,r){for(var o=0,a=e.length-3;a>=o;o+=3){Xu.fromArray(e,o);var s=r.x*Math.abs(Xu.x)+r.y*Math.abs(Xu.y)+r.z*Math.abs(Xu.z),l=t.dot(Xu),c=i.dot(Xu),h=n.dot(Xu);if(Math.max(-Math.max(l,c,h),Math.min(l,c,h))>s)return!1}return!0}var $u=function(){function e(){ru(this,e),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.")}return au(e,[{key:"set",value:function(e,t,i,n,r,o,a,s,l,c,h,d,u,p,g,f){var m=this.elements;return m[0]=e,m[4]=t,m[8]=i,m[12]=n,m[1]=r,m[5]=o,m[9]=a,m[13]=s,m[2]=l,m[6]=c,m[10]=h,m[14]=d,m[3]=u,m[7]=p,m[11]=g,m[15]=f,this}},{key:"identity",value:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}},{key:"clone",value:function(){return(new e).fromArray(this.elements)}},{key:"copy",value:function(e){var t=this.elements,i=e.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],this}},{key:"copyPosition",value:function(e){var t=this.elements,i=e.elements;return t[12]=i[12],t[13]=i[13],t[14]=i[14],this}},{key:"setFromMatrix3",value:function(e){var t=e.elements;return this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1),this}},{key:"extractBasis",value:function(e,t,i){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),i.setFromMatrixColumn(this,2),this}},{key:"makeBasis",value:function(e,t,i){return this.set(e.x,t.x,i.x,0,e.y,t.y,i.y,0,e.z,t.z,i.z,0,0,0,0,1),this}},{key:"extractRotation",value:function(e){var t=this.elements,i=e.elements,n=1/ep.setFromMatrixColumn(e,0).length(),r=1/ep.setFromMatrixColumn(e,1).length(),o=1/ep.setFromMatrixColumn(e,2).length();return t[0]=i[0]*n,t[1]=i[1]*n,t[2]=i[2]*n,t[3]=0,t[4]=i[4]*r,t[5]=i[5]*r,t[6]=i[6]*r,t[7]=0,t[8]=i[8]*o,t[9]=i[9]*o,t[10]=i[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}},{key:"makeRotationFromEuler",value:function(e){e&&e.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var t=this.elements,i=e.x,n=e.y,r=e.z,o=Math.cos(i),a=Math.sin(i),s=Math.cos(n),l=Math.sin(n),c=Math.cos(r),h=Math.sin(r);if("XYZ"===e.order){var d=o*c,u=o*h,p=a*c,g=a*h;t[0]=s*c,t[4]=-s*h,t[8]=l,t[1]=u+p*l,t[5]=d-g*l,t[9]=-a*s,t[2]=g-d*l,t[6]=p+u*l,t[10]=o*s}else if("YXZ"===e.order){var f=s*c,m=s*h,A=l*c,y=l*h;t[0]=f+y*a,t[4]=A*a-m,t[8]=o*l,t[1]=o*h,t[5]=o*c,t[9]=-a,t[2]=m*a-A,t[6]=y+f*a,t[10]=o*s}else if("ZXY"===e.order){var v=s*c,C=s*h,I=l*c,x=l*h;t[0]=v-x*a,t[4]=-o*h,t[8]=I+C*a,t[1]=C+I*a,t[5]=o*c,t[9]=x-v*a,t[2]=-o*l,t[6]=a,t[10]=o*s}else if("ZYX"===e.order){var w=o*c,M=o*h,E=a*c,B=a*h;t[0]=s*c,t[4]=E*l-M,t[8]=w*l+B,t[1]=s*h,t[5]=B*l+w,t[9]=M*l-E,t[2]=-l,t[6]=a*s,t[10]=o*s}else if("YZX"===e.order){var S=o*s,b=o*l,k=a*s,D=a*l;t[0]=s*c,t[4]=D-S*h,t[8]=k*h+b,t[1]=h,t[5]=o*c,t[9]=-a*c,t[2]=-l*c,t[6]=b*h+k,t[10]=S-D*h}else if("XZY"===e.order){var T=o*s,R=o*l,U=a*s,F=a*l;t[0]=s*c,t[4]=-h,t[8]=l*c,t[1]=T*h+F,t[5]=o*c,t[9]=R*h-U,t[2]=U*h-R,t[6]=a*c,t[10]=F*h+T}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}},{key:"makeRotationFromQuaternion",value:function(e){return this.compose(ip,e,np)}},{key:"lookAt",value:function(e,t,i){var n=this.elements;return ap.subVectors(e,t),0===ap.lengthSq()&&(ap.z=1),ap.normalize(),rp.crossVectors(i,ap),0===rp.lengthSq()&&(1===Math.abs(i.z)?ap.x+=1e-4:ap.z+=1e-4,ap.normalize(),rp.crossVectors(i,ap)),rp.normalize(),op.crossVectors(ap,rp),n[0]=rp.x,n[4]=op.x,n[8]=ap.x,n[1]=rp.y,n[5]=op.y,n[9]=ap.y,n[2]=rp.z,n[6]=op.z,n[10]=ap.z,this}},{key:"multiply",value:function(e,t){return void 0!==t?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(e,t)):this.multiplyMatrices(this,e)}},{key:"premultiply",value:function(e){return this.multiplyMatrices(e,this)}},{key:"multiplyMatrices",value:function(e,t){var i=e.elements,n=t.elements,r=this.elements,o=i[0],a=i[4],s=i[8],l=i[12],c=i[1],h=i[5],d=i[9],u=i[13],p=i[2],g=i[6],f=i[10],m=i[14],A=i[3],y=i[7],v=i[11],C=i[15],I=n[0],x=n[4],w=n[8],M=n[12],E=n[1],B=n[5],S=n[9],b=n[13],k=n[2],D=n[6],T=n[10],R=n[14],U=n[3],F=n[7],Q=n[11],L=n[15];return r[0]=o*I+a*E+s*k+l*U,r[4]=o*x+a*B+s*D+l*F,r[8]=o*w+a*S+s*T+l*Q,r[12]=o*M+a*b+s*R+l*L,r[1]=c*I+h*E+d*k+u*U,r[5]=c*x+h*B+d*D+u*F,r[9]=c*w+h*S+d*T+u*Q,r[13]=c*M+h*b+d*R+u*L,r[2]=p*I+g*E+f*k+m*U,r[6]=p*x+g*B+f*D+m*F,r[10]=p*w+g*S+f*T+m*Q,r[14]=p*M+g*b+f*R+m*L,r[3]=A*I+y*E+v*k+C*U,r[7]=A*x+y*B+v*D+C*F,r[11]=A*w+y*S+v*T+C*Q,r[15]=A*M+y*b+v*R+C*L,this}},{key:"multiplyScalar",value:function(e){var t=this.elements;return t[0]*=e,t[4]*=e,t[8]*=e,t[12]*=e,t[1]*=e,t[5]*=e,t[9]*=e,t[13]*=e,t[2]*=e,t[6]*=e,t[10]*=e,t[14]*=e,t[3]*=e,t[7]*=e,t[11]*=e,t[15]*=e,this}},{key:"determinant",value:function(){var e=this.elements,t=e[0],i=e[4],n=e[8],r=e[12],o=e[1],a=e[5],s=e[9],l=e[13],c=e[2],h=e[6],d=e[10],u=e[14];return e[3]*(+r*s*h-n*l*h-r*a*d+i*l*d+n*a*u-i*s*u)+e[7]*(+t*s*u-t*l*d+r*o*d-n*o*u+n*l*c-r*s*c)+e[11]*(+t*l*h-t*a*u-r*o*h+i*o*u+r*a*c-i*l*c)+e[15]*(-n*a*c-t*s*h+t*a*d+n*o*h-i*o*d+i*s*c)}},{key:"transpose",value:function(){var e,t=this.elements;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}},{key:"setPosition",value:function(e,t,i){var n=this.elements;return e.isVector3?(n[12]=e.x,n[13]=e.y,n[14]=e.z):(n[12]=e,n[13]=t,n[14]=i),this}},{key:"invert",value:function(){var e=this.elements,t=e[0],i=e[1],n=e[2],r=e[3],o=e[4],a=e[5],s=e[6],l=e[7],c=e[8],h=e[9],d=e[10],u=e[11],p=e[12],g=e[13],f=e[14],m=e[15],A=h*f*l-g*d*l+g*s*u-a*f*u-h*s*m+a*d*m,y=p*d*l-c*f*l-p*s*u+o*f*u+c*s*m-o*d*m,v=c*g*l-p*h*l+p*a*u-o*g*u-c*a*m+o*h*m,C=p*h*s-c*g*s-p*a*d+o*g*d+c*a*f-o*h*f,I=t*A+i*y+n*v+r*C;if(0===I)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var x=1/I;return e[0]=A*x,e[1]=(g*d*r-h*f*r-g*n*u+i*f*u+h*n*m-i*d*m)*x,e[2]=(a*f*r-g*s*r+g*n*l-i*f*l-a*n*m+i*s*m)*x,e[3]=(h*s*r-a*d*r-h*n*l+i*d*l+a*n*u-i*s*u)*x,e[4]=y*x,e[5]=(c*f*r-p*d*r+p*n*u-t*f*u-c*n*m+t*d*m)*x,e[6]=(p*s*r-o*f*r-p*n*l+t*f*l+o*n*m-t*s*m)*x,e[7]=(o*d*r-c*s*r+c*n*l-t*d*l-o*n*u+t*s*u)*x,e[8]=v*x,e[9]=(p*h*r-c*g*r-p*i*u+t*g*u+c*i*m-t*h*m)*x,e[10]=(o*g*r-p*a*r+p*i*l-t*g*l-o*i*m+t*a*m)*x,e[11]=(c*a*r-o*h*r-c*i*l+t*h*l+o*i*u-t*a*u)*x,e[12]=C*x,e[13]=(c*g*n-p*h*n+p*i*d-t*g*d-c*i*f+t*h*f)*x,e[14]=(p*a*n-o*g*n-p*i*s+t*g*s+o*i*f-t*a*f)*x,e[15]=(o*h*n-c*a*n+c*i*s-t*h*s-o*i*d+t*a*d)*x,this}},{key:"scale",value:function(e){var t=this.elements,i=e.x,n=e.y,r=e.z;return t[0]*=i,t[4]*=n,t[8]*=r,t[1]*=i,t[5]*=n,t[9]*=r,t[2]*=i,t[6]*=n,t[10]*=r,t[3]*=i,t[7]*=n,t[11]*=r,this}},{key:"getMaxScaleOnAxis",value:function(){var e=this.elements;return Math.sqrt(Math.max(e[0]*e[0]+e[1]*e[1]+e[2]*e[2],e[4]*e[4]+e[5]*e[5]+e[6]*e[6],e[8]*e[8]+e[9]*e[9]+e[10]*e[10]))}},{key:"makeTranslation",value:function(e,t,i){return this.set(1,0,0,e,0,1,0,t,0,0,1,i,0,0,0,1),this}},{key:"makeRotationX",value:function(e){var t=Math.cos(e),i=Math.sin(e);return this.set(1,0,0,0,0,t,-i,0,0,i,t,0,0,0,0,1),this}},{key:"makeRotationY",value:function(e){var t=Math.cos(e),i=Math.sin(e);return this.set(t,0,i,0,0,1,0,0,-i,0,t,0,0,0,0,1),this}},{key:"makeRotationZ",value:function(e){var t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,0,i,t,0,0,0,0,1,0,0,0,0,1),this}},{key:"makeRotationAxis",value:function(e,t){var i=Math.cos(t),n=Math.sin(t),r=1-i,o=e.x,a=e.y,s=e.z,l=r*o,c=r*a;return this.set(l*o+i,l*a-n*s,l*s+n*a,0,l*a+n*s,c*a+i,c*s-n*o,0,l*s-n*a,c*s+n*o,r*s*s+i,0,0,0,0,1),this}},{key:"makeScale",value:function(e,t,i){return this.set(e,0,0,0,0,t,0,0,0,0,i,0,0,0,0,1),this}},{key:"makeShear",value:function(e,t,i,n,r,o){return this.set(1,i,r,0,e,1,o,0,t,n,1,0,0,0,0,1),this}},{key:"compose",value:function(e,t,i){var n=this.elements,r=t._x,o=t._y,a=t._z,s=t._w,l=r+r,c=o+o,h=a+a,d=r*l,u=r*c,p=r*h,g=o*c,f=o*h,m=a*h,A=s*l,y=s*c,v=s*h,C=i.x,I=i.y,x=i.z;return n[0]=(1-(g+m))*C,n[1]=(u+v)*C,n[2]=(p-y)*C,n[3]=0,n[4]=(u-v)*I,n[5]=(1-(d+m))*I,n[6]=(f+A)*I,n[7]=0,n[8]=(p+y)*x,n[9]=(f-A)*x,n[10]=(1-(d+g))*x,n[11]=0,n[12]=e.x,n[13]=e.y,n[14]=e.z,n[15]=1,this}},{key:"decompose",value:function(e,t,i){var n=this.elements,r=ep.set(n[0],n[1],n[2]).length(),o=ep.set(n[4],n[5],n[6]).length(),a=ep.set(n[8],n[9],n[10]).length();0>this.determinant()&&(r=-r),e.x=n[12],e.y=n[13],e.z=n[14],tp.copy(this);var s=1/r,l=1/o,c=1/a;return tp.elements[0]*=s,tp.elements[1]*=s,tp.elements[2]*=s,tp.elements[4]*=l,tp.elements[5]*=l,tp.elements[6]*=l,tp.elements[8]*=c,tp.elements[9]*=c,tp.elements[10]*=c,t.setFromRotationMatrix(tp),i.x=r,i.y=o,i.z=a,this}},{key:"makePerspective",value:function(e,t,i,n,r,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var a=this.elements,s=2*r/(i-n),l=(t+e)/(t-e),c=(i+n)/(i-n),h=-(o+r)/(o-r),d=-2*o*r/(o-r);return a[0]=2*r/(t-e),a[4]=0,a[8]=l,a[12]=0,a[1]=0,a[5]=s,a[9]=c,a[13]=0,a[2]=0,a[6]=0,a[10]=h,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}},{key:"makeOrthographic",value:function(e,t,i,n,r,o){var a=this.elements,s=1/(t-e),l=1/(i-n),c=1/(o-r),h=(t+e)*s,d=(i+n)*l,u=(o+r)*c;return a[0]=2*s,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-d,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-u,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}},{key:"equals",value:function(e){for(var t=this.elements,i=e.elements,n=0;16>n;n++)if(t[n]!==i[n])return!1;return!0}},{key:"fromArray",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=0;16>i;i++)this.elements[i]=e[i+t];return this}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=this.elements;return e[t]=i[0],e[t+1]=i[1],e[t+2]=i[2],e[t+3]=i[3],e[t+4]=i[4],e[t+5]=i[5],e[t+6]=i[6],e[t+7]=i[7],e[t+8]=i[8],e[t+9]=i[9],e[t+10]=i[10],e[t+11]=i[11],e[t+12]=i[12],e[t+13]=i[13],e[t+14]=i[14],e[t+15]=i[15],e}}]),e}();$u.prototype.isMatrix4=!0;var ep=new Qu,tp=new $u,ip=new Qu(0,0,0),np=new Qu(1,1,1),rp=new Qu,op=new Qu,ap=new Qu,sp=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;ru(this,e),this.x=t,this.y=i}return au(e,[{key:"width",get:function(){return this.x},set:function(e){this.x=e}},{key:"height",get:function(){return this.y},set:function(e){this.y=e}},{key:"set",value:function(e,t){return this.x=e,this.y=t,this}},{key:"setScalar",value:function(e){return this.x=e,this.y=e,this}},{key:"setX",value:function(e){return this.x=e,this}},{key:"setY",value:function(e){return this.y=e,this}},{key:"setComponent",value:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this}},{key:"getComponent",value:function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y)}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this}},{key:"add",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)}},{key:"addScalar",value:function(e){return this.x+=e,this.y+=e,this}},{key:"addVectors",value:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}},{key:"addScaledVector",value:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}},{key:"sub",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)}},{key:"subScalar",value:function(e){return this.x-=e,this.y-=e,this}},{key:"subVectors",value:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}},{key:"multiply",value:function(e){return this.x*=e.x,this.y*=e.y,this}},{key:"multiplyScalar",value:function(e){return this.x*=e,this.y*=e,this}},{key:"divide",value:function(e){return this.x/=e.x,this.y/=e.y,this}},{key:"divideScalar",value:function(e){return this.multiplyScalar(1/e)}},{key:"applyMatrix3",value:function(e){var t=this.x,i=this.y,n=e.elements;return this.x=n[0]*t+n[3]*i+n[6],this.y=n[1]*t+n[4]*i+n[7],this}},{key:"min",value:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}},{key:"max",value:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}},{key:"clamp",value:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}},{key:"clampScalar",value:function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}},{key:"clampLength",value:function(e,t){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},{key:"roundToZero",value: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}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this}},{key:"dot",value:function(e){return this.x*e.x+this.y*e.y}},{key:"cross",value:function(e){return this.x*e.y-this.y*e.x}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"angle",value:function(){var e=Math.atan2(-this.y,-this.x)+Math.PI;return e}},{key:"distanceTo",value:function(e){return Math.sqrt(this.distanceToSquared(e))}},{key:"distanceToSquared",value:function(e){var t=this.x-e.x,i=this.y-e.y;return t*t+i*i}},{key:"manhattanDistanceTo",value:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}},{key:"setLength",value:function(e){return this.normalize().multiplyScalar(e)}},{key:"lerp",value:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}},{key:"lerpVectors",value:function(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this}},{key:"equals",value:function(e){return e.x===this.x&&e.y===this.y}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this.x,e[t+1]=this.y,e}},{key:"fromBufferAttribute",value:function(e,t,i){return void 0!==i&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this}},{key:"rotateAround",value:function(e,t){var i=Math.cos(t),n=Math.sin(t),r=this.x-e.x,o=this.y-e.y;return this.x=r*i-o*n+e.x,this.y=r*n+o*i+e.y,this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this}}]),e}();sp.prototype.isVector2=!0;var lp=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;ru(this,e),this.x=t,this.y=i,this.z=n,this.w=r}return au(e,[{key:"width",get:function(){return this.z},set:function(e){this.z=e}},{key:"height",get:function(){return this.w},set:function(e){this.w=e}},{key:"set",value:function(e,t,i,n){return this.x=e,this.y=t,this.z=i,this.w=n,this}},{key:"setScalar",value:function(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}},{key:"setX",value:function(e){return this.x=e,this}},{key:"setY",value:function(e){return this.y=e,this}},{key:"setZ",value:function(e){return this.z=e,this}},{key:"setW",value:function(e){return this.w=e,this}},{key:"setComponent",value:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error("index is out of range: "+e)}return this}},{key:"getComponent",value:function(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y,this.z,this.w)}},{key:"copy",value:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=void 0!==e.w?e.w:1,this}},{key:"add",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this)}},{key:"addScalar",value:function(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}},{key:"addVectors",value:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}},{key:"addScaledVector",value:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}},{key:"sub",value:function(e,t){return void 0!==t?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this)}},{key:"subScalar",value:function(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}},{key:"subVectors",value:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}},{key:"multiply",value:function(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}},{key:"multiplyScalar",value:function(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}},{key:"applyMatrix4",value:function(e){var t=this.x,i=this.y,n=this.z,r=this.w,o=e.elements;return this.x=o[0]*t+o[4]*i+o[8]*n+o[12]*r,this.y=o[1]*t+o[5]*i+o[9]*n+o[13]*r,this.z=o[2]*t+o[6]*i+o[10]*n+o[14]*r,this.w=o[3]*t+o[7]*i+o[11]*n+o[15]*r,this}},{key:"divideScalar",value:function(e){return this.multiplyScalar(1/e)}},{key:"setAxisAngleFromQuaternion",value:function(e){this.w=2*Math.acos(e.w);var t=Math.sqrt(1-e.w*e.w);return 1e-4>t?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}},{key:"setAxisAngleFromRotationMatrix",value:function(e){var t,i,n,r,o=.01,a=.1,s=e.elements,l=s[0],c=s[4],h=s[8],d=s[1],u=s[5],p=s[9],g=s[2],f=s[6],m=s[10];if(Math.abs(c-d)<o&&Math.abs(h-g)<o&&Math.abs(p-f)<o){if(Math.abs(c+d)<a&&Math.abs(h+g)<a&&Math.abs(p+f)<a&&Math.abs(l+u+m-3)<a)return this.set(1,0,0,0),this;t=Math.PI;var A=(l+1)/2,y=(u+1)/2,v=(m+1)/2,C=(c+d)/4,I=(h+g)/4,x=(p+f)/4;return A>y&&A>v?o>A?(i=0,n=.707106781,r=.707106781):(n=C/(i=Math.sqrt(A)),r=I/i):y>v?o>y?(i=.707106781,n=0,r=.707106781):(i=C/(n=Math.sqrt(y)),r=x/n):o>v?(i=.707106781,n=.707106781,r=0):(i=I/(r=Math.sqrt(v)),n=x/r),this.set(i,n,r,t),this}var w=Math.sqrt((f-p)*(f-p)+(h-g)*(h-g)+(d-c)*(d-c));return.001>Math.abs(w)&&(w=1),this.x=(f-p)/w,this.y=(h-g)/w,this.z=(d-c)/w,this.w=Math.acos((l+u+m-1)/2),this}},{key:"min",value:function(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}},{key:"max",value:function(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}},{key:"clamp",value:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}},{key:"clampScalar",value:function(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}},{key:"clampLength",value:function(e,t){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))}},{key:"floor",value: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}},{key:"ceil",value: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}},{key:"round",value: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}},{key:"roundToZero",value: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}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}},{key:"dot",value:function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"setLength",value:function(e){return this.normalize().multiplyScalar(e)}},{key:"lerp",value:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this.w+=(e.w-this.w)*t,this}},{key:"lerpVectors",value:function(e,t,i){return this.x=e.x+(t.x-e.x)*i,this.y=e.y+(t.y-e.y)*i,this.z=e.z+(t.z-e.z)*i,this.w=e.w+(t.w-e.w)*i,this}},{key:"equals",value:function(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}},{key:"fromArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}},{key:"toArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}},{key:"fromBufferAttribute",value:function(e,t,i){return void 0!==i&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}}]),e}();function cp(e,t){var i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}function hp(e,t,i,n,r,o){return cp((a=cp(cp(t,e),cp(n,o)))<<(s=r)|a>>>32-s,i);var a,s}function dp(e,t,i,n,r,o,a){return hp(t&i|~t&n,e,t,r,o,a)}function up(e,t,i,n,r,o,a){return hp(t&n|i&~n,e,t,r,o,a)}function pp(e,t,i,n,r,o,a){return hp(t^i^n,e,t,r,o,a)}function gp(e,t,i,n,r,o,a){return hp(i^(t|~n),e,t,r,o,a)}function fp(e,t){var i,n,r,o,a;e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;var s=1732584193,l=-271733879,c=-1732584194,h=271733878;for(i=0;e.length>i;i+=16)n=s,r=l,o=c,a=h,s=dp(s,l,c,h,e[i],7,-680876936),h=dp(h,s,l,c,e[i+1],12,-389564586),c=dp(c,h,s,l,e[i+2],17,606105819),l=dp(l,c,h,s,e[i+3],22,-1044525330),s=dp(s,l,c,h,e[i+4],7,-176418897),h=dp(h,s,l,c,e[i+5],12,1200080426),c=dp(c,h,s,l,e[i+6],17,-1473231341),l=dp(l,c,h,s,e[i+7],22,-45705983),s=dp(s,l,c,h,e[i+8],7,1770035416),h=dp(h,s,l,c,e[i+9],12,-1958414417),c=dp(c,h,s,l,e[i+10],17,-42063),l=dp(l,c,h,s,e[i+11],22,-1990404162),s=dp(s,l,c,h,e[i+12],7,1804603682),h=dp(h,s,l,c,e[i+13],12,-40341101),c=dp(c,h,s,l,e[i+14],17,-1502002290),s=up(s,l=dp(l,c,h,s,e[i+15],22,1236535329),c,h,e[i+1],5,-165796510),h=up(h,s,l,c,e[i+6],9,-1069501632),c=up(c,h,s,l,e[i+11],14,643717713),l=up(l,c,h,s,e[i],20,-373897302),s=up(s,l,c,h,e[i+5],5,-701558691),h=up(h,s,l,c,e[i+10],9,38016083),c=up(c,h,s,l,e[i+15],14,-660478335),l=up(l,c,h,s,e[i+4],20,-405537848),s=up(s,l,c,h,e[i+9],5,568446438),h=up(h,s,l,c,e[i+14],9,-1019803690),c=up(c,h,s,l,e[i+3],14,-187363961),l=up(l,c,h,s,e[i+8],20,1163531501),s=up(s,l,c,h,e[i+13],5,-1444681467),h=up(h,s,l,c,e[i+2],9,-51403784),c=up(c,h,s,l,e[i+7],14,1735328473),s=pp(s,l=up(l,c,h,s,e[i+12],20,-1926607734),c,h,e[i+5],4,-378558),h=pp(h,s,l,c,e[i+8],11,-2022574463),c=pp(c,h,s,l,e[i+11],16,1839030562),l=pp(l,c,h,s,e[i+14],23,-35309556),s=pp(s,l,c,h,e[i+1],4,-1530992060),h=pp(h,s,l,c,e[i+4],11,1272893353),c=pp(c,h,s,l,e[i+7],16,-155497632),l=pp(l,c,h,s,e[i+10],23,-1094730640),s=pp(s,l,c,h,e[i+13],4,681279174),h=pp(h,s,l,c,e[i],11,-358537222),c=pp(c,h,s,l,e[i+3],16,-722521979),l=pp(l,c,h,s,e[i+6],23,76029189),s=pp(s,l,c,h,e[i+9],4,-640364487),h=pp(h,s,l,c,e[i+12],11,-421815835),c=pp(c,h,s,l,e[i+15],16,530742520),s=gp(s,l=pp(l,c,h,s,e[i+2],23,-995338651),c,h,e[i],6,-198630844),h=gp(h,s,l,c,e[i+7],10,1126891415),c=gp(c,h,s,l,e[i+14],15,-1416354905),l=gp(l,c,h,s,e[i+5],21,-57434055),s=gp(s,l,c,h,e[i+12],6,1700485571),h=gp(h,s,l,c,e[i+3],10,-1894986606),c=gp(c,h,s,l,e[i+10],15,-1051523),l=gp(l,c,h,s,e[i+1],21,-2054922799),s=gp(s,l,c,h,e[i+8],6,1873313359),h=gp(h,s,l,c,e[i+15],10,-30611744),c=gp(c,h,s,l,e[i+6],15,-1560198380),l=gp(l,c,h,s,e[i+13],21,1309151649),s=gp(s,l,c,h,e[i+4],6,-145523070),h=gp(h,s,l,c,e[i+11],10,-1120210379),c=gp(c,h,s,l,e[i+2],15,718787259),l=gp(l,c,h,s,e[i+9],21,-343485551),s=cp(s,n),l=cp(l,r),c=cp(c,o),h=cp(h,a);return[s,l,c,h]}function mp(e){var t,i="",n=32*e.length;for(t=0;n>t;t+=8)i+=String.fromCharCode(e[t>>5]>>>t%32&255);return i}function Ap(e){var t,i=[];for(i[(e.length>>2)-1]=void 0,t=0;i.length>t;t+=1)i[t]=0;var n=8*e.length;for(t=0;n>t;t+=8)i[t>>5]|=(255&e.charCodeAt(t/8))<<t%32;return i}function yp(e){var t,i,n="0123456789abcdef",r="";for(i=0;e.length>i;i+=1)t=e.charCodeAt(i),r+=n.charAt(t>>>4&15)+n.charAt(15&t);return r}function vp(e){return unescape(encodeURIComponent(e))}function Cp(e){return function(e){return mp(fp(Ap(e),8*e.length))}(vp(e))}function Ip(e,t){return function(e,t){var i,n,r=Ap(e),o=[],a=[];for(o[15]=a[15]=void 0,r.length>16&&(r=fp(r,8*e.length)),i=0;16>i;i+=1)o[i]=909522486^r[i],a[i]=1549556828^r[i];return n=fp(o.concat(Ap(t)),512+8*t.length),mp(fp(a.concat(n),640))}(vp(e),vp(t))}function xp(e,t,i){return t?i?Ip(t,e):function(e,t){return yp(Ip(e,t))}(t,e):i?Cp(e):yp(Cp(e))}lp.prototype.isVector4=!0;var wp={scratchVector_1:new Qu,scratchVector_2:new Qu,scratchVector_3:new Qu,scratchMatrix4_1:new $u,scratchMatrix4_2:new $u,scratchQuaternion_1:new Fu,TemporaryMatrix:new $u,MinusEpsilon:-1e-6,MatrixFromMillimeterToMeter:(new $u).makeScale(.001,.001,.001),MatrixFromMeterToMillimeter:(new $u).makeScale(1e3,1e3,1e3),isDefined:function(e){return null!=e},supportWorker:function(){return"undefined"!=typeof Worker||(console.log("Web Worker is not supported."),!1)},box3FromArray:function(e,t){if(Array.isArray(e)){var i=t||new Nu;return i.min.fromArray(e,0),i.max.fromArray(e,3),i}return null},box3FromSize:function(e,t,i){return wp.isDefined(i)||(i=new Nu),i.min.set(-t.x/2,-t.y/2,-t.z/2),i.max.set(t.x/2,t.y/2,t.z/2),i.translate(e),i},box3FromArrayRange:function(e,t,i){for(var n=new Nu,r=Number(1/0),o=Number(1/0),a=Number(1/0),s=-1/0,l=-1/0,c=-1/0,h=t,d=i;d>h;h+=3){var u=e[h],p=e[h+1],g=e[h+2];r>u&&(r=u),o>p&&(o=p),a>g&&(a=g),u>s&&(s=u),p>l&&(l=p),g>c&&(c=g)}return n.min.set(r,o,a),n.max.set(s,l,c),n},box3FromObject:function(e,t,i){if(void 0!==e&&void 0!==t&&void 0!==e.x&&void 0!==e.y&&void 0!==e.z&&void 0!==t.x&&void 0!==t.y&&void 0!==t.z){var n=i||new Nu;return n.min.set(e.x,e.y,e.z),n.max.set(t.x,t.y,t.z),n}return null},computeBBox:function(e){for(var t=new Nu,i=new Qu,n=0,r=e.length;r>n;n+=1)i.fromArray(e[n],0),t.expandByPoint(i);return t},mergeBBox:function(e){if(1>e.length)return null;for(var t=new Nu,i=new Qu,n=new Qu,r=new Nu,o=0,a=e.length;a>o;o+=1)i.set(e[o].max.x,e[o].max.y,e[o].max.z),n.set(e[o].min.x,e[o].min.y,e[o].min.z),r.set(n,i),t.union(r);return t},parseTransform:function(e,t,i){var n=!1;if(t.rotation&&(e.rotation.fromArray(t.rotation),n=!0),t.position&&(e.position.fromArray(t.position),n=!0),t.scale&&(e.scale.fromArray(t.scale),n=!0),t.quaternion&&(e.quaternion.fromArray(t.quaternion),n=!0),n&&e.updateMatrix(),t.matrix&&e.matrix.fromArray(t.matrix),i){var r=e.matrix.clone();r.multiplyMatrices(i,e.matrix),e.matrix=r}e.matrixAutoUpdate=!1,void 0!==e.boundingBox&&(e.boundingBox=wp.box3FromArray(t.bbox))},isEmptyObject:function(e){if(!e)return!0;if(e.length>0)return!1;if(0===e.length)return!0;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},isEmptyObjectSimple:function(e){for(var t in e)return!1;return!0},isOwnEmptyObject:function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},hexStrToRgb:function(e){var t=e.replace("#",""),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return i?{r:parseInt(i[1],16)/255,g:parseInt(i[2],16)/255,b:parseInt(i[3],16)/255}:null},hexToRgb:function(e){var t={};return t.r=(e>>16&255)/255,t.g=(e>>8&255)/255,t.b=(255&e)/255,t},getMin:function(e){for(var t=e.length,i=1/0;(t-=1)>=0;)i=i>e[t]?e[t]:i;return i},getMax:function(e){for(var t=e.length,i=-1/0;(t-=1)>=0;)i=e[t]>i?e[t]:i;return i},findRange:function(e,t){if(t<Math.min.apply(null,e))return 0;if(t>Math.max.apply(null,e))return e.length-1;for(var i=0,n=0,r=e.length;r>n;n+=1)if(e[n]>t){i=n-1;break}return i},stringToByte:function(e){for(var t=[],i=e.length,n=null,r=0;i>r;r+=1)65536>(n=e.charCodeAt(r))||n>1114111?2048>n||n>65535?128>n||n>2047?t.push(255&n):(t.push(n>>6&31|192),t.push(63&n|128)):(t.push(n>>12&15|224),t.push(n>>6&63|128),t.push(63&n|128)):(t.push(n>>18&7|240),t.push(n>>12&63|128),t.push(n>>6&63|128),t.push(63&n|128));return t},byteToString:function(e){if("string"==typeof e)return e;for(var t="",i=e,n=0;i.length>n;n+=1){var r=i[n].toString(2),o=r.match(/^1+?(?=0)/);if(o&&8===r.length){for(var a=o[0].length,s=i[n].toString(2).slice(7-a),l=1;a>l;l+=1)s+=i[l+n].toString(2).slice(2);t+=String.fromCharCode(parseInt(s,2)),n+=a-1}else t+=String.fromCharCode(i[n])}return t},strToBinary:function(e){for(var t=[],i=e.split(""),n=0;i.length>n;n+=1){0!==n&&t.push(" ");var r=i[n].charCodeAt().toString(2);t.push(r)}return t.join("")},binaryToStr:function(e){for(var t=[],i=e.split(" "),n=0;i.length>n;n+=1){var r=parseInt(i[n],2),o=String.fromCharCode(r);t.push(o)}return t.join("")},byteArr2Int:function(e){return(255&e[0])<<24|(255&e[1])<<16|(255&e[2])<<8|(255&e[3])<<0},int2ByteArr:function(e){var t=[];return t[0]=e>>24,t[1]=e>>16,t[2]=e>>8,t[3]=e>>0,t},isPlainObject:function(e){var t,i;return!(!e||"[object Object]"!==Object.prototype.toString.call(e))&&(!(t=Object.getPrototypeOf(e))||"function"==typeof(i=Object.hasOwnProperty.call(t,"constructor")&&t.constructor)&&Object.hasOwnProperty.toString.call(i)===Object.hasOwnProperty.toString.call(Object))},extend:function(){var e=null,t=null,i=null,n=null,r=null,o=null,a=arguments[0]||{},s=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[s]||{},s+=1),"object"!==nu(a)&&"function"===!nu(a)&&(a={}),s===l&&(a=this,s-=1);l>s;s+=1)if(null!==(e=arguments[s])&&void 0!==(e=arguments[s]))for(t in e)i=a[t],a!==(n=e[t])&&(c&&n&&(wp.isPlainObject(n)||(r=Array.isArray(n)))?(r?(r=!1,o=i&&Array.isArray(i)?i:[]):o=i&&wp.isPlainObject(i)?i:{},a[t]=wp.extend(c,o,n)):null!=n&&(a[t]=n));return a},isMirror:function(e){var t=new Qu(e[0],e[1],e[2]),i=new Qu(e[4],e[5],e[6]),n=new Qu(e[8],e[9],e[10]);return 0>(new Qu).crossVectors(t,i).dot(n)},decodeUTF8:function(e){for(var t="",i=0;e.length>i;i+=1)t+=String.fromCharCode(e[i]);return decodeURIComponent(escape(t))},unique:function(e){for(var t,i=[],n={},r=0;null!==(t=e[r])&&void 0!==(t=e[r]);r+=1)n[t]||(i.push(t),n[t]=!0);return n=null,i},getValue:function(e,t){var i=t.split("."),n=e;return i.map((function(e,t){n=n[e]})),n},sortByName:function(e,t,i){i=i||"asc";var n=!1;t?t.indexOf(".")>-1&&(n=!0):t="name",e=e.sort((function(e,r){if(n){var o=wp.getValue(e,t),a=wp.getValue(r,t);return"asc"===i?o.localeCompare(a):a.localeCompare(o)}return"asc"===i?e[t].localeCompare(r[t]):r[t].localeCompare(e[t])}));var r=[],o=[],a=[],s=[];return e.map((function(e,i){var l=null;l=n?wp.getValue(e,t):e[t],/^[a-zA-Z]*$/.test(l.slice(0,1))?r.push(e):/^[\u4e00-\u9fa5]*$/.test(l.slice(0,1))?o.push(e):/^\d+(\.\d+)?$/.test(l.slice(0,1))?a.push(e):s.push(e)})),s.concat(a,r,o)},PointToLineDistance:function(e,t,i,n,r,o){var a=void 0,s=void 0,l=void 0,c=void 0,h=Math.sqrt((i-e)*(i-e)+(n-t)*(n-t));if(0===h)return[0,{x:i,y:n}];var d=Math.sqrt((r-e)*(r-e)+(o-t)*(o-t));if(0===d)return[0,{x:r,y:o}];var u=Math.sqrt((i-r)*(i-r)+(n-o)*(n-o));if(0===u)return[h,{x:i,y:n}];if(d>h){if(n===o?a=r>i?0:Math.PI:((c=(r-i)/u)-1>1e-5&&(c=1),a=Math.acos(c),n>o&&(a=2*Math.PI-a)),(c=(e-i)/h)-1>1e-5&&(c=1),s=Math.acos(c),n>t&&(s=2*Math.PI-s),0>(l=s-a)&&(l=-l),l>Math.PI&&(l=2*Math.PI-l),l>Math.PI/2)return[h,{x:i,y:n}];if(i===r)return[d*Math.sin(l),{x:i,y:t}];if(n===o)return[d*Math.sin(l),{x:e,y:n}];var p,g,f=(o-n)/r-i,m=-1/f,A=t-e*m;return g=m*(p=(o-r*f-A)/(m-f))+A,[h*Math.sin(l),{x:p,y:g}]}if(n===o?a=r>i?Math.PI:0:((c=(i-r)/u)-1>1e-5&&(c=1),a=Math.acos(c),o>n&&(a=2*Math.PI-a)),(c=(e-r)/d)-1>1e-5&&(c=1),s=Math.acos(c),o>t&&(s=2*Math.PI-s),0>(l=s-a)&&(l=-l),l>Math.PI&&(l=2*Math.PI-l),l>Math.PI/2)return[d,{x:r,y:o}];if(i===r)return[d*Math.sin(l),{x:i,y:t}];if(n===o)return[d*Math.sin(l),{x:e,y:n}];var y,v,C=(o-n)/r-i,I=-1/C,x=t-e*I;return v=I*(y=(o-r*C-x)/(I-C))+x,[d*Math.sin(l),{x:y,y:v}]},freezeObject:function(e){return Object.freeze?Object.freeze(e):e},getEncodedId:function(e){return xp(e)},arrayToMap:function(e,t){t=t||{};for(var i=0,n=e.length;n>i;i+=1)t[e[i]]=!0;return t},getDifferentialIdxs:function(e,t){var i=null,n={},r={},o={};if(t)if(this.isEmptyObject(e))r=t;else{for(i in t)e[i]&&(o[i]=!0);if(this.isEmptyObject(o))n=e,r=t;else{for(i in t)o[i]||(r[i]=!0);for(i in e)o[i]||(n[i]=!0)}}else this.isEmptyObject(e)||(n=e);return{objCurrUsedIdxs:e,addIdxs:Object.keys(n),removeIdxs:Object.keys(r)}},getCombinedKeyString:function(e,t){return e.join(t=t||"&")},splitCombinedKeyString:function(e,t){return e.split(t=t||"&")},getModelKeyFromComponentKey:function(e){return e.split("_")[0]},isGroupObject:function(e){return!(!e.children||!e.children.length)},isMeshObject:function(e){return!!(e.isMesh||e.isLine||e.isPoints)},extendObject:function(e,t,i){if(i)for(var n in t)"object"===nu(t[n])?wp.extendObject(e[n],t[n],!0):e[n]=t[n];else for(var n in t)null!=e[n]?"object"===nu(t[n])&&wp.extendObject(e[n],t[n],!1):e[n]=t[n];return e},computeExplodeTranslation:function(e,t,i){var n=new Qu,r=t.getCenter(n),o=i*e.distanceTo(r),a=new Qu;return a.subVectors(r,e),0!=a.length()&&a.normalize(),a.multiplyScalar(o),a},minDistanceBetweenTriToMesh:function(e,t,i,n){function r(e,t){return new Qu(e.x-t.x,e.y-t.y,e.z-t.z)}function o(e,t){return new Qu(e.x+t.x,e.y+t.y,e.z+t.z)}function a(e,t,i){return new Qu(e.x+t.x*i,e.y+t.y*i,e.z+t.z*i)}function s(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function l(e,t){return new Qu(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)}function c(e,t,i,n){var c,h,d,u,p,g,f=s(t,n),m=s(t,t),A=s(n,n),y=r(i,e),v=s(t,y),C=s(n,y);return 0>(c=(v*A-C*f)/(m*A-f*f))||isNaN(c)?c=0:c>1&&(c=1),0>=(h=(c*f-C)/A)||isNaN(h)?(u=i,0>=(c=v/m)||isNaN(c)?(d=e,p=r(i,e)):1>c?(d=a(e,t,c),g=l(y,t),p=l(t,g)):p=r(i,d=o(e,t))):1>h?(u=a(i,n,h),0>=c||isNaN(c)?(d=e,g=l(y,n),p=l(n,g)):1>c?(d=a(e,t,c),0>s(p=l(t,n),y)&&p.multiplyScalar(-1)):(g=l(y=r(i,d=o(e,t)),n),p=l(n,g))):(u=o(i,n),0>=(c=(f+v)/m)||isNaN(c)?(d=e,p=r(u,e)):1>c?(d=a(e,t,c),g=l(y=r(u,e),t),p=l(t,g)):p=r(u,d=o(e,t))),{vec:p,closestP:d,closestQ:u}}function h(e,t){var i,n,o,h,d,u,p=[],g=[];p[0]=r(e[1],e[0]),p[1]=r(e[2],e[1]),p[2]=r(e[0],e[2]),g[0]=r(t[1],t[0]),g[1]=r(t[2],t[1]),g[2]=r(t[0],t[2]);for(var f=0,m=e[0].distanceToSquared(t[0])+1,A=0;3>A;A+=1)for(var y=0;3>y;y+=1){var v=c(e[A],p[A],t[y],g[y]);o=v.vec;var C=s(h=r(n=v.closestQ,i=v.closestP),h);if(m>=C){d=i.clone(),u=n.clone(),m=C;var I=s(r(e[(A+2)%3],i),o),x=s(r(t[(y+2)%3],n),o);if(0>=I&&x>=0)return{start:i.clone(),end:n.clone(),minDistance:Math.sqrt(C)};0>I&&(I=0),x>0&&(x=0),s(h,o)-I+x>0&&(f=1)}}var w=l(p[0],p[1]),M=s(w,w);if(M>1e-15){var E=[];h=r(e[0],t[0]),E[0]=s(h,w),h=r(e[0],t[1]),E[1]=s(h,w),h=r(e[0],t[2]),E[2]=s(h,w);var B=-1;if(E[0]>0&&E[1]>0&&E[2]>0?E[B=E[1]>E[0]?0:1]>E[2]&&(B=2):0>E[0]&&0>E[1]&&0>E[2]&&E[2]>E[B=E[0]>E[1]?0:1]&&(B=2),B>=0&&(f=1,s(h=r(t[B],e[0]),l(w,p[0]))>0&&s(h=r(t[B],e[1]),l(w,p[1]))>0&&s(h=r(t[B],e[2]),l(w,p[2]))>0))return i=a(t[B],w,E[B]/M),n=t[B].clone(),{start:i.clone(),end:n,minDistance:i.distanceTo(n)}}var S=l(g[0],g[1]),b=s(S,S);if(b>1e-15){var k=[];h=r(t[0],e[0]),k[0]=s(h,S),h=r(t[0],e[1]),k[1]=s(h,S),h=r(t[0],e[2]),k[2]=s(h,S);B=-1;if(k[0]>0&&k[1]>0&&k[2]>0?k[B=k[1]>k[0]?0:1]>k[2]&&(B=2):0>k[0]&&0>k[1]&&0>k[2]&&k[2]>k[B=k[0]>k[1]?0:1]&&(B=2),B>=0&&(f=1,s(h=r(e[B],t[0]),l(S,g[0]))>0&&s(h=r(e[B],t[1]),l(S,g[1]))>0&&s(h=r(e[B],t[2]),l(S,g[2]))>0))return{start:i=e[B].clone(),end:(n=a(e[B],S,k[B]/b)).clone(),minDistance:i.distanceTo(n)}}return f?(i=d,n=u,{start:d.clone(),end:u.clone(),minDistance:Math.sqrt(m)}):{start:d.clone(),end:u.clone(),minDistance:0}}var d=new Qu,u=new Qu,p=new Qu;function g(e,t,i,n,r,o){d.fromBufferAttribute(t,i),u.fromBufferAttribute(t,n),p.fromBufferAttribute(t,r),o&&(d.applyMatrix4(o),u.applyMatrix4(o),p.applyMatrix4(o)),e.push(d),e.push(u),e.push(p)}for(var f={start:null,end:null,minDistance:Number.POSITIVE_INFINITY},m=t.geometry,A=m.attributes.position,y=i?i.indexStart:0,v=m.getIndex().array,C=y,I=i?i.indexStart+i.indexCount:v.length;I>C;C+=3){var x=[];g(x,A,v[C],v[C+1],v[C+2],n);var w=h(e,x);if(f.minDistance>w.minDistance&&(f.minDistance=w.minDistance,f.start=w.start.clone(),f.end=w.end.clone()),0>=w.minDistance)return f}return f},asyncProcess:function(e,t,i,n,r){requestAnimationFrame(function o(a){var s=a;return function(){var a=null,l=null;for(l=s+i>t?t:s+i,a=s;l>a;a+=1){n&&n(e,a),a===l-1&&(l!==t?requestAnimationFrame(o(a+1)):r&&r(e))}}}(0))},hasSimilarProperty:function(e,t){if(!(e instanceof Object&&t instanceof Object))return!1;for(var i in e)if(e.hasOwnProperty(i)&&!t.hasOwnProperty(i))return!1;return!0},equalsWithEpsilon:function(e,t){var i=1e-7,n=Math.abs(e.x-t.x),r=Math.abs(e.y-t.y),o=Math.abs(e.z-t.z);return i>=n&&i>=r&&i>=o},arrayMax:function(e){if(0===e.length)return-1/0;for(var t=e[0],i=1,n=e.length;n>i;i+=1)e[i]>t&&(t=e[i]);return t},arrayMin:function(e){if(0===e.length)return 1/0;for(var t=e[0],i=1,n=e.length;n>i;i+=1)t>e[i]&&(t=e[i]);return t},ab2str:function(e){return(new TextDecoder).decode(new Uint8Array(e))},str2ab:function(e){return(new TextEncoder).encode(e).buffer},getEncodedString:function(e){return xp(e)},toMemoryString:function(e){var t=e/1048576;return 1>t?t.toLocaleString(void 0,{maximumFractionDigits:3}):Math.round(t).toLocaleString()},defined:function(e){return null!=e},defaultValue:function(e,t){return null!=e?e:t},clone:function(e,t){if(null===e||"object"!==nu(e))return e;t=wp.defaultValue(t,!1);var i=new e.constructor;for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];t&&(r=wp.clone(r,t)),i[n]=r}return i},binarySearch:function(e,t,i){for(var n,r,o=0,a=e.length-1;a>=o;)if(0>(r=i(e[n=~~((o+a)/2)],t)))o=n+1;else{if(0>=r)return n;a=n-1}return~(a+1)},unpackRGBAToDepth:function(e){if(!wp.UnpackFactors){var t=255/256,i=new Qu(16777216,65536,256);wp.UnpackFactors=new lp(t/i.x,t/i.y,t/i.z,t)}return e.dot(wp.UnpackFactors)},computeViewportTransformation:function(e,t,i,n){var r=wp.defaultValue(e.x,0),o=wp.defaultValue(e.y,0),a=wp.defaultValue(e.width,0),s=wp.defaultValue(e.height,0);t=wp.defaultValue(t,0);var l=.5*a,c=.5*s,h=.5*((i=wp.defaultValue(i,1))-t),d=l,u=c,p=h,g=r+l,f=o+c,m=t+h;return wp.defined(n)||(n=new $u),n.elements[0]=d,n.elements[1]=0,n.elements[2]=0,n.elements[3]=0,n.elements[4]=0,n.elements[5]=u,n.elements[6]=0,n.elements[7]=0,n.elements[8]=0,n.elements[9]=0,n.elements[10]=p,n.elements[11]=0,n.elements[12]=g,n.elements[13]=f,n.elements[14]=m,n.elements[15]=1,n},computeView:function(e,t,i,n,r){return wp.defined(r)||(r=new $u),r.elements[0]=n.x,r.elements[1]=i.x,r.elements[2]=-t.x,r.elements[3]=0,r.elements[4]=n.y,r.elements[5]=i.y,r.elements[6]=-t.y,r.elements[7]=0,r.elements[8]=n.z,r.elements[9]=i.z,r.elements[10]=-t.z,r.elements[11]=0,r.elements[12]=-n.dot(e),r.elements[13]=-i.dot(e),r.elements[14]=t.dot(e),r.elements[15]=1,r},getTranslationFromMatrix4:function(e,t){return wp.defined(t)||(t=new Qu),t.x=e.elements[12],t.y=e.elements[13],t.z=e.elements[14],t},pointInPolygon:function(e,t){for(var i=e.x,n=e.y,r=!1,o=0,a=t.length-1;t.length>o;a=o+=1){var s=t[o].x,l=t[o].y,c=t[a].y;l>n!=c>n&&(t[a].x-s)*(n-l)/(c-l)+s>i&&(r=!r)}return r},area:function(e){for(var t=e.length,i=0,n=t-1,r=0;t>r;n=r+=1)i+=e[n].x*e[r].y-e[r].x*e[n].y;return.5*i},isClockWise:function(e){return 0>wp.area(e)},lineLineIntersection:function(e,t,i,n){var r=(n.y-i.y)*(t.x-e.x)-(n.x-i.x)*(t.y-e.y),o=(n.x-i.x)*(e.y-i.y)-(n.y-i.y)*(e.x-i.x),a=(t.x-e.x)*(e.y-i.y)-(t.y-e.y)*(e.x-i.x);if(0!=r){var s=o/r,l=a/r;return 0>s||s>1||0>l||l>1?void 0:new sp(e.x+s*(t.x-e.x),e.y+s*(t.y-e.y))}},lineStartScratch:new sp,lineEndScratch:new sp,linePolygonIntersection:function(e,t,i){for(var n,r=0;i.length>r;r+=1)if(wp.lineStartScratch.set(i[r].x,i[r].y),wp.lineEndScratch.set(i[(r+1)%i.length].x,i[(r+1)%i.length].y),n=wp.lineLineIntersection(e,t,wp.lineStartScratch,wp.lineEndScratch))return n},linePolygonIntersection2:function(e,t,i){for(var n,r=0;i.length>r;r+=1)if(wp.lineStartScratch.set(i[r].x,i[r].y),wp.lineEndScratch.set(i[(r+1)%i.length].x,i[(r+1)%i.length].y),n=wp.lineLineIntersection(e,t,wp.lineStartScratch,wp.lineEndScratch))return n.index=r,n}};wp.createUUID=function(){for(var e=[],t="0123456789abcdef",i=0;36>i;i+=1)e[i]=t.substr(Math.floor(16*Math.random()),1);return e[14]="4",e[19]=t.substr(3&e[19]|8,1),e[8]=e[13]=e[18]=e[23]="-",e.join("")};var Mp=function(e){lu(i,e);var t=pu(i);function i(e,n,r,o){var a;return ru(this,i),(a=t.call(this,e,n,r,o)).projectOnWidth=!1,a}return au(i,[{key:"updateProjectionMatrixByFrustum",value:function(e,t){var i=this.near,n=null,r=null,o=null,a=null;this.projectOnWidth?(r=-.5*(o=e),n=.5*(a=this.aspect*o)):(n=.5*(a=t),r=-.5*(o=this.aspect*a));var s=this.view;if(null!==s){var l=s.fullWidth,c=s.fullHeight;r+=s.offsetX*o/l,n-=s.offsetY*a/c,o*=s.width/l,a*=s.height/c}var h=this.filmOffset;0!==h&&(r+=i*h/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+o,n,n-a,i,this.far)}},{key:"setProjectOnWidth",value:function(e){this.projectOnWidth=e}}]),i}(dn),Ep=function(e){lu(i,e);var t=pu(i);function i(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ru(this,i),(n=t.call(this)).cameraType=e||Md.PERSPECTIVE,n.target=new Ke,n.name=r.name||"",n.near=r.near||.1,n.far=r.far||2e3,n.fov=r.fov||45,n.cameraType===Md.PERSPECTIVE?(r.width&&r.height&&(n.aspect=r.width/r.height,n.left=-r.width/2,n.right=r.width/2,n.top=r.height/2,n.bottom=-r.height/2),n.perspectiveCamera=new Mp(n.fov,n.aspect,n.near,n.far),n.orthoCamera=null,n.toPerspective()):(n.left=r.left,n.right=r.right,n.top=r.top,n.bottom=r.bottom,void 0!==r.left&&void 0!==r.right&&void 0!==r.top&&void 0!==r.bottom&&(n.aspect=(n.right-n.left)/(n.top-n.bottom)),n.orthoCamera=new pc(n.left,n.right,n.top,n.bottom,n.near,n.far),n.perspectiveCamera=null,n.orthoCamera.updateProjectionMatrix(),n.projectionMatrix=n.orthoCamera.projectionMatrix,n.isPerspective=!1),n.zoom=r.zoom||1,n.updateProjectionMatrixByFrustum=!1,n}return au(i,[{key:"toPerspective",value: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):Bu.log("Can not convert to perspective camera because the camera original type is orthographic.")}},{key:"toOrthographic",value:function(){null===this.orthoCamera&&(this.orthoCamera=new pc(this.left,this.right,this.top,this.bottom,this.near,this.far));var e=this.fov,t=this.target.clone().sub(this.position).length(),i=Math.tan(e*Math.PI/180/2)*t,n=i*this.aspect;i/=this.zoom,this.left=this.orthoCamera.left=-(n/=this.zoom),this.right=this.orthoCamera.right=n,this.top=this.orthoCamera.top=i,this.bottom=this.orthoCamera.bottom=-i,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}},{key:"setSize",value:function(e,t){this.perspectiveCamera.aspect=e/t,this.left=-e/2,this.right=e/2,this.top=t/2,this.bottom=-t/2,this.aspect=e/t,this.dirty=!0}},{key:"setSizeByFrustum",value:function(e,t){var i,n=2*this.right,r=2*this.top;this.aspect=n/r,e/t>n/r?(i=r/n,this.perspectiveCamera.setProjectOnWidth(!0)):(i=n/r,this.perspectiveCamera.setProjectOnWidth(!1)),this.dirty=!0,this.isPerspective&&(this.perspectiveCamera.aspect=i,this.perspectiveCamera.near=this.near,this.perspectiveCamera.far=this.far,this.perspectiveCamera.fov=this.fov,this.perspectiveCamera.updateProjectionMatrixByFrustum(e,t),this.projectionMatrix=this.perspectiveCamera.projectionMatrix,this.isPerspective=!0,this.dirty=!0)}},{key:"setFov",value:function(e){this.fov=e,this.dirty=!0,this.updateProjectionMatrix()}},{key:"setNearFar",value:function(e,t){this.near=e,this.far=t,this.dirty=!0,this.updateProjectionMatrix()}},{key:"updateProjectionMatrix",value:function(){this.isPerspective?this.toPerspective():this.toOrthographic()}},{key:"setLens",value:function(e,t){void 0===t&&(t=24);var i=2*be.radToDeg(Math.atan(t/(2*e)));return this.setFov(i),this.dirty=!0,i}},{key:"setZoom",value:function(e){this.zoom=e,this.dirty=!0,this.updateProjectionMatrix()}},{key:"copy",value:function(e){return gu(cu(i.prototype),"copy",this).call(this,e),this.cameraType=e.cameraType,this.target.copy(e.target),this.aspect=e.aspect,this.fov=e.fov,this.near=e.near,this.far=e.far,this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.zoom=e.zoom,this.isPerspective=e.isPerspective,this.updateProjectionMatrixByFrustum=e.updateProjectionMatrixByFrustum,this.orthoCamera&&e.orthoCamera&&this.orthoCamera.copy(e.orthoCamera),this.perspectiveCamera&&e.perspectiveCamera&&this.perspectiveCamera.copy(e.perspectiveCamera),this}},{key:"clone",value:function(){return new this.constructor(this.cameraType).copy(this)}},{key:"isDirty",value:function(){return this.dirty}},{key:"toFrontView",value:function(){this.rotation.x=0,this.rotation.y=0,this.rotation.z=0}},{key:"toBackView",value:function(){this.rotation.x=0,this.rotation.y=Math.PI,this.rotation.z=0}},{key:"toLeftView",value:function(){this.rotation.x=0,this.rotation.y=-Math.PI/2,this.rotation.z=0}},{key:"toRightView",value:function(){this.rotation.x=0,this.rotation.y=Math.PI/2,this.rotation.z=0}},{key:"toTopView",value:function(){this.rotation.x=-Math.PI/2,this.rotation.y=0,this.rotation.z=0}},{key:"toBottomView",value:function(){this.rotation.x=Math.PI/2,this.rotation.y=0,this.rotation.z=0}}]),i}(hn),Bp=new yt,Sp=new Ke,bp=new Ke,kp=new Ke,Dp=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;return ru(this,i),(r=t.call(this,e,n)).realUp=r.up.clone(),r.target=new Ke,r.dirty=!1,r.orthoScale=1,r.positionPlane=new Jt,r.projScreenMatrix=new yt,r.viewProjInverse=new yt,r.frustum=new yn,r.frustumHeightFactor=r.computeFrustumHeightFactor(),r.minimumElevation=null,r._statusInitialized=!1,r._direction=null,r.statusChange=!1,r}return au(i,[{key:"statusInitialized",get:function(){return this._statusInitialized}},{key:"direction",value:function(e){return this._direction||(this._direction=new Ke),this._direction.subVectors(this.target,this.position),wp.isDefined(e)||(e=new Ke),e.copy(this._direction)}},{key:"_updatePositionPlane",value:function(){this.positionPlane.setFromNormalAndCoplanarPoint(this.getWorldDirection(Sp),this.position)}},{key:"_updateFrustum",value:function(){this.frustum.setFromProjectionMatrix(this.projScreenMatrix)}},{key:"updateMVP",value:function(){this.dirty&&(this._statusInitialized||(this._statusInitialized=!0),null===this.parent&&this.updateMatrixWorld(),this.matrixWorldInverse.copy(this.matrixWorld).invert(),this.projScreenMatrix.multiplyMatrices(this.projectionMatrix,this.matrixWorldInverse),this.viewProjInverse.copy(this.projScreenMatrix).invert(),this._updateFrustum(),this._updatePositionPlane(),this.frustumHeightFactor=this.computeFrustumHeightFactor(),this.dirty=!1)}},{key:"computeFrustumHeightFactor",value:function(){return 2*Math.tan(.5*be.degToRad(this.fov))}},{key:"getFrustum",value:function(){return this.dirty&&this.updateMVP(),this.frustum}},{key:"lookAtEx",value:function(e,t,i,n){var r=new Ke;r.copy(t),void 0!==n&&"number"==typeof n&&r.setLength(n),this.position.subVectors(e,r),this.up.copy(i),this.lookAt(e),this.realUp.copy(i),this.target.copy(e),this.dirty=!0}},{key:"lookAtEXForTargetPositionUp",value:function(e,t,i){this.position.copy(t),this.up=i,this.lookAt(e),this.realUp=i.clone(),this.target=e.clone(),this.dirty=!0}},{key:"copy",value:function(e){return gu(cu(i.prototype),"copy",this).call(this,e),this.realUp.copy(e.realUp),this.orthoScale=e.orthoScale,this.dirty=e.dirty,this.positionPlane.copy(e.positionPlane),this.projScreenMatrix.copy(e.projScreenMatrix),this.viewProjInverse.copy(e.viewProjInverse),this.frustum.copy(e.frustum),this}},{key:"setStandardView",value:function(e,t){var i=null,n=null;t?(i=t.getCenter(Sp),n=t.getSize(Sp)):i=new Ke(0,0,0);var r=xd.SceneSize,o=r/2;switch(n||(n=o),e){case kd.ISO:var a=new Ke(-r,r,r),s=new Ke,l=new Ke(0,0,0);s.subVectors(l,a),this.lookAtEx(i,s,Yt.DefaultUp);break;case kd.Top:this.lookAtEx(i,new Ke(0,0,-1),new Ke(0,1,0),n?n.x:o);break;case kd.Bottom:this.lookAtEx(i,new Ke(0,0,1),new Ke(0,1,0),n?n.x:o);break;case kd.Front:this.lookAtEx(i,new Ke(0,1,0),new Ke(0,0,1),n?n.z:o);break;case kd.Back:this.lookAtEx(i,new Ke(0,-1,0),new Ke(0,0,1),n?n.z:o);break;case kd.Right:this.lookAtEx(i,new Ke(-1,0,0),new Ke(0,0,1),n?n.y:o);break;case kd.Left:this.lookAtEx(i,new Ke(1,0,0),new Ke(0,0,1),n?n.y:o);break;case kd.FrontRight:this.lookAtEx(i,new Ke(-1,1,0),new Ke(0,0,1),n?n.x+n.y:o);break;case kd.FrontLeft:this.lookAtEx(i,new Ke(1,1,0),new Ke(0,0,1),n?n.x+n.y:o);break;case kd.BackLeft:this.lookAtEx(i,new Ke(1,-1,0),new Ke(0,0,1),n?n.x+n.y:o);break;case kd.BackRight:this.lookAtEx(i,new Ke(-1,-1,0),new Ke(0,0,1),n?n.x+n.y:o);break;case kd.BottomFront:this.lookAtEx(i,new Ke(0,1,1),new Ke(0,0,1),n?n.x+n.z:o);break;case kd.BottomBack:this.lookAtEx(i,new Ke(0,-1,1),new Ke(0,0,1),n?n.x+n.z:o);break;case kd.BottomRight:this.lookAtEx(i,new Ke(-1,0,1),new Ke(0,0,1),n?n.y+n.z:o);break;case kd.BottomLeft:this.lookAtEx(i,new Ke(1,0,1),new Ke(0,0,1),n?n.y+n.z:o);break;case kd.BottomFrontRight:this.lookAtEx(i,new Ke(-1,1,1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.BottomFrontLeft:this.lookAtEx(i,new Ke(1,1,1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.BottomBackLeft:this.lookAtEx(i,new Ke(1,-1,1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.BottomBackRight:this.lookAtEx(i,new Ke(-1,-1,1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.TopFront:this.lookAtEx(i,new Ke(0,1,-1),new Ke(0,0,1),n?n.x+n.z:o);break;case kd.TopBack:this.lookAtEx(i,new Ke(0,-1,-1),new Ke(0,0,1),n?n.x+n.z:o);break;case kd.TopRight:this.lookAtEx(i,new Ke(-1,0,-1),new Ke(0,0,1),n?n.y+n.z:o);break;case kd.TopLeft:this.lookAtEx(i,new Ke(1,0,-1),new Ke(0,0,1),n?n.y+n.z:o);break;case kd.TopFrontRight:this.lookAtEx(i,new Ke(-1,1,-1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.TopFrontLeft:this.lookAtEx(i,new Ke(1,1,-1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.TopBackLeft:this.lookAtEx(i,new Ke(1,-1,-1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.TopBackRight:this.lookAtEx(i,new Ke(-1,-1,-1),new Ke(0,0,1),n?n.x+n.y+n.z:o);break;case kd.TopToRight:this.lookAtEx(i,new Ke(0,1,0),new Ke(-1,0,0),o);break;case kd.TopToBack:this.lookAtEx(i,new Ke(0,1,0),new Ke(0,0,1),o);break;case kd.TopToLeft:this.lookAtEx(i,new Ke(0,1,0),new Ke(1,0,0),o);break;case kd.TopToFront:this.lookAtEx(i,new Ke(0,1,0),new Ke(0,0,-1),o);break;case kd.BottomToRight:this.lookAtEx(i,new Ke(0,-1,0),new Ke(-1,0,0),o);break;case kd.BottomToBack:this.lookAtEx(i,new Ke(0,-1,0),new Ke(0,0,-1),o);break;case kd.BottomToFront:this.lookAtEx(i,new Ke(0,-1,0),new Ke(0,0,1),o);break;case kd.BottomToLeft:this.lookAtEx(i,new Ke(0,-1,0),new Ke(1,0,0),o);break;case kd.FrontToTop:this.lookAtEx(i,new Ke(0,0,-1),new Ke(0,-1,0),o);break;case kd.FrontToBottom:this.lookAtEx(i,new Ke(0,0,-1),new Ke(0,1,0),o);break;case kd.FrontToLeft:this.lookAtEx(i,new Ke(0,0,-1),new Ke(1,0,0),o);break;case kd.FrontToRight:this.lookAtEx(i,new Ke(0,0,-1),new Ke(-1,0,0),o);break;case kd.RightToTop:this.lookAtEx(i,new Ke(-1,0,0),new Ke(0,-1,0),o);break;case kd.RightToBottom:this.lookAtEx(i,new Ke(-1,0,0),new Ke(0,1,0),o);break;case kd.RightToFront:this.lookAtEx(i,new Ke(-1,0,0),new Ke(0,0,-1),o);break;case kd.RightToBack:this.lookAtEx(i,new Ke(-1,0,0),new Ke(0,0,1),o);break;case kd.BackToTop:this.lookAtEx(i,new Ke(0,0,1),new Ke(0,-1,0),o);break;case kd.BackToBottom:this.lookAtEx(i,new Ke(0,0,1),new Ke(0,1,0),o);break;case kd.BackToLeft:this.lookAtEx(i,new Ke(0,0,1),new Ke(-1,0,0),o);break;case kd.BackToRight:this.lookAtEx(i,new Ke(0,0,1),new Ke(1,0,0),o);break;case kd.LeftToTop:this.lookAtEx(i,new Ke(1,0,0),new Ke(0,0,-1),o);break;case kd.LeftTopBottom:this.lookAtEx(i,new Ke(1,0,0),new Ke(0,1,0),o);break;case kd.LeftTopBack:this.lookAtEx(i,new Ke(1,0,0),new Ke(0,0,1),o);break;case kd.LeftTopFront:this.lookAtEx(i,new Ke(1,0,0),new Ke(0,0,-1),o);break;case kd.Keep:break;default:this.lookAtEx(i,new Ke(-1,-1,-1),new Ke(0,0,1),o)}return this.updateProjectionMatrix(),i}},{key:"zoomToBox",value:function(e,t,i,n){i=i||1,t=-1>(t=t||0)?-1:t;var r=new He;if(r.copy(e),0!==t){var o=.5*e.getSize(Sp).length(),a=new Ke;a.subVectors(r.max,r.min).normalize(),a.multiplyScalar(o*t),r.expandByVector(a)}var s=n||this.getWorldDirection(Sp),l=this.up,c=this.aspect,h=be.degToRad(.5*this.fov),d=r.getSize(bp),u=r.getCenter(kp),p=.5*d.length()/Math.sin(h)*i,g=new Ke;g.copy(s),g.setLength(p);var f=new Ke;f.subVectors(u,g);var m=new Ke;m.crossVectors(s,l),m.normalize();var A=new Ke;A.crossVectors(s,m),A.normalize();var y=new Jt;y.setFromNormalAndCoplanarPoint(m,f);var v=new Jt;v.setFromNormalAndCoplanarPoint(A,f);var C=0,I=0,x=0,w=0,M=0,E=[new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke];E[0].set(r.min.x,r.min.y,r.min.z),E[1].set(r.min.x,r.min.y,r.max.z),E[2].set(r.min.x,r.max.y,r.min.z),E[3].set(r.min.x,r.max.y,r.max.z),E[4].set(r.max.x,r.min.y,r.min.z),E[5].set(r.max.x,r.min.y,r.max.z),E[6].set(r.max.x,r.max.y,r.min.z),E[7].set(r.max.x,r.max.y,r.max.z);for(var B=0;8>B;B+=1){var S=new Ke;S.subVectors(E[B],f);var b=Math.abs(S.dot(s)),k=Math.abs(v.distanceToPoint(E[B])),D=k*c,T=Math.abs(y.distanceToPoint(E[B])),R=Math.max(k,T/c),U=Math.max(D,T);R>C&&(C=R),I&&x&&I*b/x>=R||(I=R,x=b),w&&M&&w*b/M>=U||(w=U,M=b)}var F=w/Math.tan(h)+(p-M),Q=I/Math.tan(h)+(p-x),L=0;if(L=1>c?Math.max(F,Q):Math.min(F,Q),this.near>L){this.near=(L*L+.001*L)/16777.216}if(g.copy(s).normalize().setLength(L),f.subVectors(u,g),this.position.copy(f),this.lookAt(u),this.target.copy(u),!this.isPerspective){var O=Math.tan(this.fov*Math.PI/180/2)*L;this.orthoScale=O/C,this.zoom=this.orthoScale}return this.updateProjectionMatrix(),this.dirty=!0,u}},{key:"calculateNearFar",value:function(e,t){var i=e,n=[new Ke(i.min.x,i.min.y,i.min.z),new Ke(i.min.x,i.min.y,i.max.z),new Ke(i.min.x,i.max.y,i.min.z),new Ke(i.min.x,i.max.y,i.max.z),new Ke(i.max.x,i.min.y,i.min.z),new Ke(i.max.x,i.min.y,i.max.z),new Ke(i.max.x,i.max.y,i.min.z),new Ke(i.max.x,i.max.y,i.max.z)],r=this.getWorldDirection(Sp),o=(new Jt).setFromNormalAndCoplanarPoint(r,this.position),a=-1/0,s=1/0;n.forEach((function(e){var t=o.distanceToPoint(e);s>t-10&&(s=t-10),t+10>a&&(a=t+10)}));var l=s>0?s:.1,c=a>0?a:2e3;this.isPerspective?void 0!==t&&(l=t):l=-c,this.setNearFar(l,c)}},{key:"calculateNearFar2",value:function(e,t,i){var n,r,o=e,a=o.getCenter(Sp),s=this.position.clone().sub(a).length(),l=o.getSize(bp).length();if(t){var c=.5*l;if(r=s+c,this.isPerspective){n=(s*s+.001*s)/16777.216,c>s||i?n=.1:n+c>s&&(n=s-c)}else n=-r}else r=s,n=this.isPerspective?.1:-r;this.setNearFar(n,r)}},{key:"computeRay",value:function(e,t,i){var n=new ke;if(void 0===i)n.x=window.innerWidth,n.y=window.innerHeight;else{var r=i===document?i.body:i;n.x=r.offsetWidth,n.y=r.offsetHeight}var o=new ke;o.x=e/n.x*2-1,o.y=-t/n.y*2+1;var a=new At;return this.isPerspective?(a.origin.copy(this.position),a.direction.set(o.x,o.y,.5).unproject(this).sub(this.position).normalize()):(a.origin.set(o.x,o.y,-1).unproject(this),a.direction.set(0,0,-1).transformDirection(this.matrixWorld)),a}},{key:"screenToWorld",value:function(e,t,i,n){var r=this.computeRay(e,t,i),o=this.getWorldDirection(Sp).normalize(),a=new Jt(o);return a.setFromNormalAndCoplanarPoint(o,n),r.intersectPlane(a,n)}},{key:"getWorldFrustum",value:function(e){var t=new yn,i=this.clone(),n=this.target,r=n.clone().sub(this.position).length();Bp.copy(e).invert();var o=new yt;o.extractRotation(e);var a=new Ge;a.setFromRotationMatrix(o),a.invert(),i.position.applyMatrix4(Bp);var s=n.clone();s.applyMatrix4(Bp);var l=s.clone().sub(i.position),c=l.length();return l.normalize(),i.far=this.far*(c/r),i.up.applyQuaternion(a).normalize(),i.realUp.applyQuaternion(a).normalize(),i.updateProjectionMatrix(),i.updateMatrixWorld(),Bp.copy(i.matrixWorld).invert(),t.setFromProjectionMatrix((new yt).multiplyMatrices(i.projectionMatrix,Bp)),i=null,t}},{key:"distanceFromWorldToDrawing",value:function(e,t){var i=this.position.clone(),n=this.target.clone();return n.subVectors(this.target,this.position),n.normalize(),Bp.copy(e).invert(),n.add(i).applyMatrix4(Bp),i.applyMatrix4(Bp),n.sub(i),n.normalize().multiplyScalar(t),n.add(i).applyMatrix4(e),n.sub(this.position),n.length()}},{key:"getPositionByDis",value:function(e,t,i,n){var r=i||this.position,o=n||this.target;r=r.clone(),o=o.clone(),(Bp=new yt).copy(t).invert(),r.applyMatrix4(Bp),o.applyMatrix4(Bp);var a=e/r.distanceTo(o),s=new Ke;return s.subVectors(r,o),s.multiplyScalar(a),s.subVectors(r,s),s}},{key:"getDistanceByPos",value:function(e,t){var i=this.position.clone();return(Bp=new yt).copy(t).invert(),i.applyMatrix4(Bp),i.distanceTo(e)}},{key:"flyTo",value:function(){}}],[{key:"nearFarDrawingToWorld",value:function(e,t){var i=e.position.clone(),n=e.target.clone().sub(i);n.normalize(),(Bp=new yt).copy(t).invert();var r=function(e,t,i,n){var r=i.clone().multiplyScalar(e);r.add(t).applyMatrix4(n);var o=t.clone().applyMatrix4(n);return r.sub(o),e>0?r.length():-r.length()};return e.near&&e.far&&(e.near=r(e.near,i,n,Bp),e.far=r(e.far,i,n,Bp)),e.left&&e.right&&e.top&&e.bottom&&(e.left=r(e.left,i,n,Bp),e.right=r(e.right,i,n,Bp),e.top=r(e.top,i,n,Bp),e.bottom=r(e.bottom,i,n,Bp)),e}},{key:"drawingToWorld",value:function(e,t){var i=e.position.clone(),n=e.target.clone(),r=e.up.clone();return(Bp=new yt).copy(t).invert(),r.add(i),r.applyMatrix4(Bp),i.applyMatrix4(Bp),n.applyMatrix4(Bp),r.sub(i),r.normalize(),{position:i,target:n,up:r}}},{key:"worldToDrawing",value:function(e,t){var i=e.position.clone(),n=e.target.clone(),r=e.up.clone();return r.add(i),r.applyMatrix4(t),i.applyMatrix4(t),n.applyMatrix4(t),r.sub(i),r.normalize(),{position:i,target:n,up:r}}}]),i}(Ep),Tp=function(){var e=this,t=null,i={},n={},r=1e3,o=null,a=null,s=.9995,l=null,c=!1,h=null,d=null,u=null;this.from=function(e){for(var n in t=e)t.hasOwnProperty(n)&&(i[n]=t[n]);return this},this.to=function(e,t){return void 0!==t&&(r=t),n=e,this},this.onStart=function(e){return h=e,this},this.onUpdate=function(e){return d=e,this},this.onComplete=function(e){return u=e,this},this.start=function(e,s){c=!1,a&&cancelAnimationFrame(a),o=Date.now(),l=s?this.linearInterpolateForTargetPostionUp:this.interpolate,a=requestAnimationFrame((function s(){var p=i,g=n,f=Date.now();!1===c&&(null!==h&&h.call(t),c=!0);var m=(f-o)/r;t=l(p,g,m=m>1?1:m),1===m?(cancelAnimationFrame(a),null!==u&&u.call(t)):(requestAnimationFrame(s,e),null!==d&&d.call(t,m))}),e)},this.isAngleGreaterThanPi=function(e,t,i){var n=new Ke;return n.crossVectors(e,t),0>n.dot(i)},this.conicInterpolate=function(e,t,i,n){var r=-t.angleTo(e)*n,o=new Ke;o.crossVectors(t,e).normalize();var a=new Ge;a.setFromAxisAngle(o,r),i.copy(e),i.applyQuaternion(a)},this.quaternionInterpolate=function(e,t,i,n,r){var o=new Ge(e.x,e.y,e.z,1).normalize(),a=new Ge(t.x,t.y,t.z,1).normalize(),s=new Ge(0,0,0,1),l=new Ge(0,0,0,1),c=new Ke;c.crossVectors(e,i).normalize(),s.set(c.x,c.y,c.z,1).normalize();.5>r?(Ge.slerp(o,s,l,2*r),n.set(l.x,l.y,l.z)):(Ge.slerp(s,a,l,2*(r-.5)),n.set(l.x,l.y,l.z))},this.slerpInterpolate=function(e,t,i,n,r,o){var a=e.dot(t);a>o?n.copy(t):o<Math.abs(a)?this.quaternionInterpolate(e,t,i,n,r):this.conicInterpolate(e,t,n,r),n.normalize()},this.linearInterpolate=function(e,t,i,n,r){if(e.equals(t))i.copy(t);else{var o=new Ke(1,0,0),a=new Ke(0,0,1),s=new Ke,l=e.dot(t);l>r?i.copy(t):-l>r?(r>Math.abs(e.dot(a))?s.crossVectors(e,a).normalize():s.crossVectors(e,o).normalize(),.5>n?i.lerpVectors(e,s,2*n):i.lerpVectors(s,t,2*(n-.5))):i.lerpVectors(e,t,n),i.normalize()}},this.linearInterpolatePosition=function(e,t,i,n){i.lerpVectors(e,t,n)},this.sphericalInterpolate=function(e,t,i,n,r,o){var a=e.clone().sub(t),s=i.clone().sub(n),l=new Ah;l.setFromVector3(a);var c=new Ah;c.setFromVector3(s);var h=c.theta-l.theta;Math.abs(h)>Math.PI&&(h=h>0?-(2*Math.PI-Math.abs(h)):2*Math.PI-Math.abs(h));var d=l.theta+h*o,u=l.phi+(c.phi-l.phi)*o,p=a.length(),g=new Ah;g.set(p,u,d);var f=new Ke;f.setFromSpherical(g),r.copy(f).multiplyScalar(-1)},this.interpolate=function(t,i,n){var r=new Ke,o=new Ke,a=new Ke,l=new Ke,c=new Ke,h=t.animTarget,d=t.animUp,u=t.animFocal,p=t.zoom,g=i.animTarget,f=i.animUp,m=i.animFocal,A=i.zoom;return e.sphericalInterpolate(t.animPos,h,i.animPos,g,r,n),e.linearInterpolate(d,f,o,n,s),e.linearInterpolatePosition(h,g,a,n),e.linearInterpolatePosition(u,m,l,n),e.linearInterpolatePosition(p,A,c,n),{animDir:r,animUp:o,animTarget:a,animFocal:l,zoomScale:c}},this.linearInterpolateForTargetPostionUp=function(t,i,n){var r=new Ke,o=new Ke,a=new Ke,l=t.animTarget,c=t.animPos,h=i.animTarget,d=i.animPos;return e.linearInterpolate(t.animUp,i.animUp,o,n,s),e.linearInterpolatePosition(l,h,a,n),e.linearInterpolatePosition(c,d,r,n),{animPos:r,animUp:o,animTarget:a}}},Rp=800,Up=13,Fp=new Tp,Qp=new Ke,Lp=new Ke,Op=function(){function e(){ru(this,e),this.flyTo=this.slerpFlyTo}return au(e,[{key:"setDuration",value:function(e){Rp=e}},{key:"getDuration",value:function(){return Rp}},{key:"setFrameTime",value:function(e){Up=e}},{key:"setStandardView",value:function(e,t,i,n,r,o){var a=t.camera,s=a.position.clone(),l=a.target.clone(),c=a.getWorldDirection(Qp);c.normalize();var h=new Ke;h.copy(a.realUp||a.up),h.normalize();var d=new Ke(a.position.clone().sub(l).length(),0,0),u=t.camera.clone();u.setStandardView(e,i);var p=u.zoomToBox(i,n),g=u.position.clone(),f=u.getWorldDirection(Lp);f.normalize();var m=new Ke;m.copy(u.realUp||u.up),m.normalize();var A=new Ke(u.position.clone().sub(p).length(),0,0);c.equals(f)&&h.equals(m)&&l.equals(p)&&d.equals(A)?o&&o():(t.getControlManager().setInteractiveState(!1),Fp.from({animPos:s,animDir:c,animUp:h,animTarget:l,animFocal:d,zoom:1}).to({animPos:g,animDir:f,animUp:m,animTarget:p,animFocal:A,zoom:1},Rp).onUpdate((function(){t.camera.lookAtEx(this.animTarget,this.animDir,this.animUp,this.animFocal.x),t.cameraControl.update(!0,!0),t.controlManager.dispatchEvent({type:Fd.ON_CAMERA_ANIMATION_UPDATE}),r&&r()})).onComplete((function(){t.camera.lookAtEx(p,f,m,A.x),t.cameraControl.update(!0,!0),o&&o(),t.getControlManager().setInteractiveState(!0)})).start(Up))}},{key:"active",value:function(e,t,i,n,r){var o=i.camera,a=new Ke(e.position.x,e.position.y,e.position.z),s=new Ke(e.target.x,e.target.y,e.target.z),l=new Ke(s.distanceTo(a),0,0),c=s.clone().sub(a).normalize(),h=new Ke(e.up.x,e.up.y,e.up.z);h.normalize();var d=new Ke(e.zoom),u=new Ke(t.position.x,t.position.y,t.position.z),p=new Ke(t.target.x,t.target.y,t.target.z),g=new Ke(p.distanceTo(u),0,0),f=p.clone().sub(u).normalize(),m=new Ke(t.up.x,t.up.y,t.up.z);m.normalize();var A,y,v,C,I=new Ke(t.zoom,0,0);if(0==(A=.01,y=u.clone().sub(a).length()<A,v=f.clone().sub(c).length()<A,C=m.clone().sub(h).length()<A,!(y&&v&&C)))return Bu.log("Current camera status is equal with before."),void(r&&r());i.getControlManager().setInteractiveState(!1),Fp.from({animPos:a,animDir:c,animUp:h,animTarget:s,animFocal:l,zoom:d}).to({animPos:u,animDir:f,animUp:m,animTarget:p,animFocal:g,zoom:I},Rp).onUpdate((function(){var e=this.animTarget,t=this.animDir,r=this.animUp,a=this.animFocal.x;o.setZoom(this.zoomScale.x),o.lookAtEx(e,t,r,a),i.controlManager.dispatchEvent({type:Fd.ON_CAMERA_ANIMATION_UPDATE}),n&&n(e)})).onComplete((function(){o.setZoom(I.x),o.lookAtEx(p,f,m,g.x),n&&n(p),r&&r(),i.getControlManager().setInteractiveState(!0)})).start(Up)}},{key:"slerpFlyTo",value:function(e,t,i,n){var r=t.camera,o=r.position.clone(),a=r.getWorldDirection(new Ke),s=new Ke;s.copy(r.realUp||r.up),s.normalize();var l=r.target.clone(),c=new Ke(r.position.clone().sub(l).length(),0,0),h=new Ke(r.zoom),d=new Ke(e.position.x,e.position.y,e.position.z),u=new Ke(e.target.x,e.target.y,e.target.z),p=new Ke(u.distanceTo(d),0,0),g=u.clone().sub(d).normalize(),f=new Ke(e.up.x,e.up.y,e.up.z);f.normalize();var m,A,y,v,C=new Ke(e.zoom,0,0);if(0==(m=.01,A=d.clone().sub(o).length()<m,y=g.clone().sub(a).length()<m,v=f.clone().sub(s).length()<m,!(A&&y&&v)))return Bu.log("Current camera status is equal with before."),void(n&&n());t.getControlManager().setInteractiveState(!1),Fp.from({animPos:o,animDir:a,animUp:s,animTarget:l,animFocal:c,zoom:h}).to({animPos:d,animDir:g,animUp:f,animTarget:u,animFocal:p,zoom:C},Rp).onUpdate((function(){var e=this.animTarget,n=this.animDir,o=this.animUp,a=this.animFocal.x;r.setZoom(this.zoomScale.x),r.lookAtEx(e,n,o,a),t.controlManager.dispatchEvent({type:Fd.ON_CAMERA_ANIMATION_UPDATE}),i&&i(e)})).onComplete((function(){r.setZoom(C.x),r.lookAtEx(u,g,f,p.x),i&&i(u),n&&n(),t.getControlManager().setInteractiveState(!0)})).start(Up)}},{key:"linearFlyTo",value:function(e,t,i,n){var r=t.camera,o=r.getWorldDirection(new Ke),a=new Ke(r.zoom),s=new Ke;s.copy(r.realUp||r.up),s.normalize();var l=r.target.clone(),c=r.position.clone(),h=new Ke(r.position.clone().sub(l).length(),0,0),d=(new Ke).set(e.position.x,e.position.y,e.position.z),u=(new Ke).set(e.target.x,e.target.y,e.target.z),p=new Ke(u.distanceTo(d),0,0),g=u.clone().sub(d).normalize(),f=new Ke(e.up.x,e.up.y,e.up.z);f.normalize();var m,A,y,v,C=new Ke(e.zoom,0,0);if(0==(m=.01,A=d.clone().sub(c).length()<m,y=g.clone().sub(o).length()<m,v=f.clone().sub(s).length()<m,!(A&&y&&v)))return Bu.log("Current camera status is equal with before."),void(n&&n());t.getControlManager().setInteractiveState(!1),Fp.from({animPos:c,animDir:o,animUp:s,animTarget:l,animFocal:h,zoom:a}).to({animPos:d,animDir:g,animUp:f,animTarget:u,animFocal:p,zoom:C},Rp).onUpdate((function(e){var n=this.animTarget;r.lookAtEXForTargetPositionUp(n,this.animPos,this.animUp),t.controlManager.dispatchEvent({type:Fd.ON_CAMERA_ANIMATION_UPDATE}),i&&i(n)})).onComplete((function(){r.lookAtEXForTargetPositionUp(u,d,f),i&&i(u),n&&n(),t.getControlManager().setInteractiveState(!0)})).start(Up,!0)}},{key:"linearActive",value:function(e,t,i,n,r){var o=i.camera,a=(new Ke).set(e.position.x,e.position.y,e.position.z),s=(new Ke).set(e.target.x,e.target.y,e.target.z),l=(new Ke).set(e.up.x,e.up.y,e.up.z);l.normalize();var c=(new Ke).set(t.position.x,t.position.y,t.position.z),h=(new Ke).set(t.target.x,t.target.y,t.target.z),d=(new Ke).set(t.up.x,t.up.y,t.up.z).normalize();a.equals(c)&&l.equals(d)&&s.equals(h)?r&&r():Fp.from({animPosition:a,animUp:l,animTarget:s}).to({animPosition:c,animUp:d,animTarget:h},Rp).onUpdate((function(e){var t=this.animTarget;o.lookAtEXForTargetPositionUp(t,this.animPosition,this.animUp),n&&n(t)})).onComplete((function(){o.lookAtEXForTargetPositionUp(h,c,d),n&&n(h),r&&r(),i.getControlManager().setInteractiveState(!0)})).start(Up,!0)}}]),e}(),Np=function(){this.condition=[{type:"IfcWall"},{type:"IfcRoof"},{type:"IfcWallStandardCase"},{type:"IfcDoor"},{type:"墙"},{type:"门"}],this.distance=150,this.factor=1};Np.prototype.setCondition=function(e){Array.isArray(e)&&(this.condition=e)},Np.prototype.getCondition=function(){return this.condition},Np.prototype.getDistance=function(){return this.distance},Np.prototype.getFactor=function(){return this.factor},Np.prototype.setDistance=function(e){"number"==typeof e&&(this.distance=e)},Np.prototype.setFactor=function(e){"number"==typeof e&&(this.factor=e)},Np.prototype.matchConditions=function(e){var t=this.condition;if(0===t.length)return!1;for(var i=!0,n=0,r=t.length;r>n;n+=1){var o=t[n];for(var a in o)if(!e.hasOwnProperty(a)||e[a]!==o[a]){i=!1;break}if(!0===i)break;t.length-1>n&&(i=!0)}return i},Np.prototype.hasCollision=function(e,t){return!!e&&(this.matchConditions(e)&&this.distance*this.factor>=t)};var Pp,Gp={ALT:18,CTRL:17,SHIFTLEFT:16,BACKSPACE:8,LEFT:37,UP:38,RIGHT:39,DOWN:40,A:65,D:68,E:69,Q:81,S:83,W:87,Z:90,PLUS:187,SUB:189,ZERO:48,ESC:27,TAB:9,NUMPADADD:107,NUMPADSUBTRACT:109,NUMPAD0:96},Kp={ReverseWheelDirection:!1,MovementSpeedRate:1,WalkSpeedRate:1,RotatePivotMode:Ld.SELECTION,NoPan:!1,NoRotate:!1,NoZoom:!1,NoKey:!1,LockAxisZ:!1,LockAxisZRange:null},Vp={MODEL:"Model",GEOMETRY:"Geometry",SLM:"SLM",LINESEGMENTS:"LineSegments",INSTANCEGEOMETRY:"InstanceGeometry",INSTANCEWIREFRAMEGEOMETRY:"InstanceWireframeGeometry",WIREFRAME:"Wireframe",MARKER3D:"Marker3D",CLIPPLANE:"ClipPlane",FILLCLIPPLANE:"FillClipPlane",CLIPREGION:"ClipRegion",CAPSWIREFRAME:"CapsWireframe",IBLCUBE:"IBLCube",CUSTOMPLANE:"CustomPlane",PIVOTBALL:"PivotBall",MEASUREPICKPOINT:"MeasurePickPoint",MEASUREPICKLINE:"MeasurePickLine",MEASUREPLANE:"MeasurePlane",MEASURELINE:"MeasureLine",OCTREENODE:"OctreeNode",BOUNDARYEDGEMANAGER:"BoundaryEdgeManager",AREANODE:"AreaNode",AXISNET:"AxisNet",AXISGRIDMANAGER:"AxisGridManager",EXTRUDEBODYMANAGER:"ExtrudeBodyManager",EXTRUDEBODYMANAGERTEST:"EXTRUDEBODYMANAGERTEST",EXTERNALSCENEMANAGER:"ExternalSceneManager",EXTERNALCOMPONENTMANAGER:"ExternalComponentManager",BIMTILESGROUP:"BimTilesGroup",TILEGROUP:"TileGroup",ROADNETWORK:"RoadNetworkGroup",GEOJSONGROUP:"GEOJSONGROUP",TRANSFORM:"TRANSFORM",RECEIVESHADOWPLANE:"ReceiveShadowPlane",VIEWSHED:"Viewshed",DEFAULTLIGHTS:"DefaultLights",EXTERNALSPOTLIGHTS:"ExternalSpotLights",EXTERNALDIRLIGHTS:"ExternalDirLights",LIGHTHELPER:"LightHelper",GLOBALEARTH:"GlobelEarth"},Yp={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,EPSILON21:1e-21,ONE_Megabytes:1048576,ONE_GIGABYTES:1073741824,TWO_PI:2*Math.PI,PI_OVER_TWO:Math.PI/2,RADIANS_PER_DEGREE:Math.PI/180,RADIANS_PER_ARCSECOND:Math.PI/180/3600,mod:function(e,t){return(e%t+t)%t},clamp:function(e,t,i){return t>e?t:e>i?i:e},normalize:function(e,t,i){return 0===(i=Math.max(i-t,0))?0:Math.clamp((e-t)/i,0,1)},isolateDigits:function(e,t,i){return parseInt(e*Math.pow(10,t),0)*Math.pow(10,i)},lessThan:function(e,t,i){return-i>e-t},lessThanOrEquals:function(e,t,i){return i>e-t},greaterThan:function(e,t,i){return e-t>i},greaterThanOrEquals:function(e,t,i){return e-t>-i},equalsEpsilonVec3:function(e,t,i){return Math.equalsEpsilon(e.x,t.x,i)&&Math.equalsEpsilon(e.y,t.y,i)&&Math.equalsEpsilon(e.z,t.z,i)},equalsEpsilonMatrix4:function(e,t,i){i=i||0;for(var n=e.elements,r=t.elements,o=0;16>o;o+=1)if(!Yp.equalsEpsilon(n[o],r[o],i))return!1;return!0},equalsEpsilonQuaternion:function(e,t,i){return Yp.equalsEpsilon(e._x,t._x,i=i||0)&&Yp.equalsEpsilon(e._y,t._y,i)&&Yp.equalsEpsilon(e._z,t._z,i)&&Yp.equalsEpsilon(e._w,t._w,i)},equalsEpsilonFrustum:function(e,t,i){i=i||0;for(var n=e.planes,r=t.planes,o=0;6>o;o+=1)if(!Yp.equalsEpsilonVec3(n[o].normal,r[o].normal,i)||!Yp.equalsEpsilon(n[o].constant,r[o].constant,i))return!1;return!0},incrementWrap:function(e,t,i){return i=void 0!==i?i:0,++e>t&&(e=i),e},isPowerOfTwo:function(e){return 0!==e&&0==(e&e-1)},nextPowerOfTwo:function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},maxComponent:function(e,t){var i=Math.max(Math.abs(e.x),Math.abs(t.x)),n=Math.max(Math.abs(e.y),Math.abs(t.y)),r=Math.max(Math.abs(e.z),Math.abs(t.z));return Math.max(Math.max(i,n),r)},getMatrix3:function(e){var t=e.elements,i=new De;return i.elements[0]=t[0],i.elements[1]=t[1],i.elements[2]=t[2],i.elements[3]=t[4],i.elements[4]=t[5],i.elements[5]=t[6],i.elements[6]=t[8],i.elements[7]=t[9],i.elements[8]=t[10],i},bezierCurveFn:function(e,t,i,n){return n>1&&(n=1),(1-n)*(1-n)*e+2*n*(1-n)*t+n*n*i},tweens:function(e,t,i,n){var r=i%n/n;return 0>r&&(r*=-1),r>1&&(r=1),Yp.linear([e,t],r)},breatheTweens:function(e,t,i,n){var r=i%n/(.5*n)-1;return 0>r&&(r*=-1),r>1&&(r=1),Yp.linear([e,t],r)},linear:function(e,t){var i=Yp,n=e.length-1,r=n*t,o=Math.floor(r);return 0>t?i.linearFn(e[0],e[1],r):t>1?i.linearFn(e[n],e[n-1],n-r):i.linearFn(e[o],e[o+1>n?n:o+1],r-o)},linearFn:function(e,t,i){return(t-e)*i+e},negativePiToPi:function(e){if(!wp.defined(e))throw new Error("angle is required.");return Yp.zeroToTwoPi(e+Math.PI)-Math.PI},zeroToTwoPi:function(e){if(!wp.defined(e))throw new Error("angle is required.");var t=Yp.mod(e,Yp.TWO_PI);return Math.abs(t)<this.EPSILON14&&Math.abs(e)>this.EPSILON14?Yp.TWO_PI:t},equalsEpsilon:function(e,t,i,n){if(!wp.defined(e))throw new Error("left is required.");if(!wp.defined(t))throw new Error("right is required.");i=wp.defaultValue(i,0),n=wp.defaultValue(n,i);var r=Math.abs(e-t);return n>=r||r<=i*Math.max(Math.abs(e),Math.abs(t))},equalsEpsilonVector3:function(e,t,i,n){return e===t||wp.defined(e)&&wp.defined(t)&&this.equalsEpsilon(e.x,t.x,i,n)&&this.equalsEpsilon(e.y,t.y,i,n)&&this.equalsEpsilon(e.z,t.z,i,n)},isMirror:function(e){var t=wp.scratchVector_2,i=wp.scratchVector_3,n=e.elements,r=wp.scratchVector_1.set(n[0],n[1],n[2]),o=t.set(n[4],n[5],n[6]),a=i.set(n[8],n[9],n[10]);return 0>r.cross(o).dot(a)}},Hp=function(e,t,i,n,r,o,a,s,l,c){this.name=e,this.position=t,this.target=i,this.up=n,this.near=r,this.far=o,this.zoom=a,this.frustumWidth=l,this.frustumHeight=c,this.version=void 0===s?1:s},jp=function(e,t,i,n,r,o,a,s,l,c,h){Hp.call(this,Md.PERSPECTIVE,e,t,i,o,a,s,l,c,h),this.fov=n,this.aspect=r},Wp=function(e,t,i,n,r,o,a,s,l,c,h,d,u){Hp.call(this,Md.ORTHOGRAPHIC,e,t,i,s,l,c,h,d,u),this.left=n,this.right=r,this.top=o,this.bottom=a},Jp=new Ke,zp=new Ke,qp=new yt,Zp={createCameraInfo:function(e){var t=e.camera,i=new Hp(e.getCameraName(),t.position,t.target,t.up);return JSON.stringify(i)},transformCamera:function(e,t){var i=new Ke,n=function(e){return[parseFloat(e[0]),parseFloat(e[1]),parseFloat(e[2])]};i.fromArray(n(e.position.split(",")));var r=new Ke;r.fromArray(n(e.direction.split(",")));var o=new Ke;o.fromArray(n(e.up.split(",")));var a=new Ke;a.addVectors(i,r),i.applyMatrix4(t.rootNode.matrix),a.applyMatrix4(t.rootNode.matrix);var s=new yt;return s.makeRotationFromEuler(t.rootNode.rotation),o.applyMatrix4(s),o.normalize(),new Hp(e.name,i,a,o)},parseCameraInfo:function(e){if(!e)return null;var t=JSON.parse(e);if(!t.hasOwnProperty("position")||!t.hasOwnProperty("target")||!t.hasOwnProperty("up"))return null;var i=t.name||Md.PERSPECTIVE,n=new Ke;n.x=t.position.x,n.y=t.position.y,n.z=t.position.z;var r=new Ke;r.x=t.target.x,r.y=t.target.y,r.z=t.target.z;var o=new Ke;o.x=t.up.x,o.y=t.up.y,o.z=t.up.z;var a=void 0===t.version?0:t.version,s=t.frustumWidth,l=t.frustumHeight;return i===Md.PERSPECTIVE?new jp(n,r,o,t.fov,t.aspect,t.near,t.far,t.zoom,a,s,l):new Wp(n,r,o,t.left,t.right,t.top,t.bottom,t.near,t.far,t.zoom,a,s,l)},canvasToNormalized:function(e,t,i){var n={x:0,y:0,z:0};return n.x=e.x/t*2-1,n.y=-e.y/i*2+1,n.z=e.z||0,n},normalizedToCanvas:function(e,t,i){var n={x:0,y:0,z:0};return n.x=Math.floor(.5*(e.x+1)*t+.5),n.y=Math.floor(-.5*(e.y-1)*i+.5),n.z=e.z||0,n},drawingToCanvas:function(e,t,i,n){var r=new Ke(t.x,t.y,t.z);return r.project(e),this.normalizedToCanvas(r,i,n)},drawingPointsToCanvas:function(e,t,i,n,r){var o={};qp.copy(e.matrixWorld).invert();var a=new Ke(t.x,t.y,t.z);a.applyMatrix4(qp);var s=new Ke(i.x,i.y,i.z);if(s.applyMatrix4(qp),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+e.near)/l.z));else if(s.z>0){s.sub(l.multiplyScalar((s.z+e.near)/l.z))}return a.applyMatrix4(e.projectionMatrix),s.applyMatrix4(e.projectionMatrix),o.start=this.normalizedToCanvas(a,n,r),o.end=this.normalizedToCanvas(s,n,r),o},lineIntersectWithRect:function(e,t){if(e&&e.start.x===e.end.x&&e.start.y===e.end.y)return Bu.log("Invalid line."),null;var i,n=0;e.start.x!==e.end.x&&(n=(e.start.y-e.end.y)/(e.start.x-e.end.x));var r=[],o=t.min,a=t.max;return o.y>n*o.x+(i=e.start.y-n*e.start.x)||n*o.x+i>a.y||r.push(new ke(o.x,n*o.x+i)),o.y>n*a.x+i||n*a.x+i>a.y||r.push(new ke(a.x,n*a.x+i)),0===n&&(r.push(new ke(o.x,i)),r.push(new ke(a.x,i))),(o.y-i)/n>o.x&&a.x>(o.y-i)/n&&r.push(new ke((o.y-i)/n,o.y)),(a.y-i)/n>o.x&&a.x>(a.y-i)/n&&r.push(new ke((a.y-i)/n,a.y)),r},canvasToDrawing:function(e,t,i,n){var r=this.canvasToNormalized(t,i,n),o=new Ke(r.x,r.y,r.z);return o.unproject(e),{x:o.x,y:o.y,z:o.z}},intersectBoxByRay:function(e,t){var i=0,n=0,r=0,o=0,a=0,s=0,l=1/e.direction.x,c=1/e.direction.y,h=1/e.direction.z,d=e.origin;return 0>l?(i=(t.max.x-d.x)*l,n=(t.min.x-d.x)*l):(i=(t.min.x-d.x)*l,n=(t.max.x-d.x)*l),0>c?(r=(t.max.y-d.y)*c,o=(t.min.y-d.y)*c):(r=(t.min.y-d.y)*c,o=(t.max.y-d.y)*c),i>o||r>n?null:((r>i||isNaN(i))&&(i=r),(n>o||isNaN(n))&&(n=o),0>h?(a=(t.max.z-d.z)*h,s=(t.min.z-d.z)*h):(a=(t.min.z-d.z)*h,s=(t.max.z-d.z)*h),i>s||a>n?null:((a>i||isNaN(i))&&(i=a),(n>s||isNaN(n))&&(n=s),0>n?null:0>i?n:i))},intersectObject:function(e,t,i,n,r){if((!r||e.visible)&&(e.raycast(t,i),!0===n&&e.children))for(var o=e.children,a=0,s=o.length;s>a;a+=1)Zp.intersectObject(o[a],t,i,!0,r)},intersectObjectWithFrustum:(Pp=new He,function(e,t){if(!e.boundingBox||e instanceof nn){var i=e.geometry;null===i.boundingBox&&i.computeBoundingBox(),Pp.copy(i.boundingBox)}else Pp.copy(e.boundingBox);return Pp.applyMatrix4(e.matrixWorld),t.intersectsBox(Pp)}),equalsCamera:function(e,t){var i=Yp.EPSILON15;return Yp.equalsEpsilonVec3(e.position,t.position,i)&&Yp.equalsEpsilonVec3(e.up,t.up,i)&&Yp.equalsEpsilonVec3(e.realUp,t.realUp,i)&&Yp.equalsEpsilonVec3(e.getWorldDirection(Jp),t.getWorldDirection(zp),i)&&Yp.equalsEpsilonFrustum(e.frustum,t.frustum,i)}},Xp=function(e,t,i,n){this.ray=new At(e,t),this.near=i||0,this.far=n||1/0,this.params={Sprite:{},Mesh:{},Points:{threshold:1},LOD:{},Line:{}}};Xp.prototype={constructor:Xp,precision:1e-4,linePrecision:1,descSort:function(e,t){return e.distance-t.distance},set:function(e,t){this.ray.set(e,t)},setFromCamera:function(e,t){t instanceof Ep?t.isPerspective?(this.ray.origin.copy(t.position),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(t.position).normalize()):(this.ray.origin.set(e.x,e.y,-1).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld)):t instanceof dn?(this.ray.origin.copy(t.position),this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(t.position).normalize()):t instanceof pc?(this.ray.origin.set(e.x,e.y,-1).unproject(t),this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld)):Bu.error("Raycaster: Unsupported camera type.")},intersectObject:function(e,t){var i=[];return Zp.intersectObject(e,this,i,t),i.sort(this.descSort),i.length>0?i[0]:null},intersectObjects:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=2>=arguments.length||void 0===arguments[2]||arguments[2],n=[],r=0,o=e.length;o>r;r+=1)Zp.intersectObject(e[r],this,n,t,i);return n.sort(this.descSort),n.length>0?n[0]:null},intersectOctantForNode:function(e,t){var i=this,n=new He;!function e(r){var o=null,a=null;if(n.set(r.min,r.max),i.ray.intersectBox(n)&&(t.push(r),r.childOctants))for(o=0,a=r.childOctants.length;a>o;o+=1)e(r.childOctants[o])}(e)}},At.prototype.intersectBoxWithDistance=function(e){var t=null,i=null,n=null,r=null,o=null,a=null,s=1/this.direction.x,l=1/this.direction.y,c=1/this.direction.z,h=this.origin;if(0>s?(i=(e.max.x-h.x)*s,t=(e.min.x-h.x)*s):(i=(e.min.x-h.x)*s,t=(e.max.x-h.x)*s),0>l?(r=(e.max.y-h.y)*l,n=(e.min.y-h.y)*l):(r=(e.min.y-h.y)*l,n=(e.max.y-h.y)*l),i>n||r>t)return-1;if((r>i||isNaN(i))&&(i=r),(t>n||isNaN(t))&&(t=n),0>c?(a=(e.max.z-h.z)*c,o=(e.min.z-h.z)*c):(a=(e.min.z-h.z)*c,o=(e.max.z-h.z)*c),i>o||a>t)return-1;if((a>i||isNaN(i))&&(i=a),(t>o||isNaN(t))&&(t=o),0>t)return-1;if(0>i)return 0;var d=new Ke;this.at(0>i?t:i,d);var u=d.x-h.x,p=d.y-h.y,g=d.z-h.z;return Math.sqrt(u*u+p*p+g*g)};var _p=function(){function e(){ru(this,e)}return au(e,null,[{key:"getBox",value:function(e,t){var i=new He;if(Array.isArray(e)&&6===e.length&&i.setFromArray(e),e.region){var n=e.region;i.set(be.radToDeg(n[0]),be.radToDeg(n[2]),be.radToDeg(n[1]),be.radToDeg(n[3]))}if(e.box){var r=e.box,o=new Ke(r[0],r[1],r[2]),a=o.x-Math.abs(r[3]),s=o.x+Math.abs(r[3]),l=o.y-Math.abs(r[7]),c=o.y+Math.abs(r[7]),h=o.z-Math.abs(r[11]),d=o.z+Math.abs(r[11]);i.set(new Ke(a,l,h),new Ke(s,c,d))}if(e.sphere){var u=new ct(new Ke(e.sphere[0],e.sphere[1],e.sphere[2]),e.sphere[3]);i.copy(u.getBoundingBox())}return t&&i.applyMatrix4(t),i}},{key:"getDracoLibUrl",value:function(){return xd.DracoLibUrl?xd.DracoLibUrl:window.LoaderConfig&&window.LoaderConfig.fullStaticHost?(xd.DracoLibUrl=window.LoaderConfig.fullStaticHost+"/lib/draco/",xd.DracoLibUrl):(xd.DracoLibUrl="../../lib/draco/",xd.DracoLibUrl)}},{key:"getDracoLoader",value:function(){return void 0===this.dracoLoader&&(this.dracoLoader=new(void 0),this.dracoLoader.setDecoderPath(e.getDracoLibUrl())),this.dracoLoader}},{key:"praseUserData",value:function(e){if(void 0!==e){var t={};return e.map((function(e){t[e[0]]=e[1]})),t}}},{key:"getDebugColor",value:function(e,t){if(-1===e)return Debug.DebugColor.BLACK;if(!t)return Debug.DebugColor.GRAY;var i=Debug.DebugColorArray;return i[e%i.length]}},{key:"nodeIndexGroupsSort",value:function(e){var t=[];for(var i in e)for(var n=e[i],r=0,o=n.length;o>r;++r)t.push({userId:i,indexGroup:n[r]});return t.sort((function(e,t){return e.indexGroup.indexStart-t.indexGroup.indexStart})),t}},{key:"matchLineCategory",value:function(e,t){if(!(t instanceof Object))return!0;var i=t.key;return e[i]&&!0===t.value[e[i]]}},{key:"isNodeInVisible",value:function(e){return!(e&&!1!==e.visible&&(!e.parent||!1!==e.parent.visible))}},{key:"isInstanceNodeInVisible",value:function(e){return!e||!1===e.visible}}]),e}();_p.max_uncompressed_blob_size=8388608,_p.TILE_DATA_INDEX="INDEX",_p.TILE_DATA_USERDATA="USERDATA",_p.TILE_DATA_MATERIAL="MATERIAL",_p.TILE_TEXTURE_NONE="TEXTURENONE",_p.TILE_TEXTURE_LOADING="TEXTURE_LOADING",_p.TILE_TEXTURE_LOADED="TEXTURELOADED",_p.TWO_ACCURACY=.01,_p.SIX_ACCURACY=1e-7,_p.BMD_GEOMETRIC_ERROR_COEFFICIENT=1,_p.OP_GEOMETRIC_ERROR_COEFFICIENT=.25,_p.Minimum_Setting_SSEHold=.001,_p.MODEL_SSE_Threshold_MAP={"3dtiles":_p.OP_GEOMETRIC_ERROR_COEFFICIENT,osgb:_p.OP_GEOMETRIC_ERROR_COEFFICIENT,shp:_p.OP_GEOMETRIC_ERROR_COEFFICIENT,bim:_p.BMD_GEOMETRIC_ERROR_COEFFICIENT},_p.PICK_EFFECT_MODEL_TYPE={bim:!0,shp:!0,kml:!0,citygml:!0};var $p=new yt,eg=function e(){ru(this,e),this.scene=null,this.camera=null,this.octreeRoots=null,this.octantMap=null,this.mouse=new ke,this.canvasMouse=new ke},tg=function(){function e(t){ru(this,e),this.viewer=t,this.filter=t.getFilter(),this.raycaster=new Xp,this.recursive=!0,this.lastIntersect=null,this.highPriorities=[Vp.EXTRUDEBODYMANAGER],this._ground=null,this._pickedLocalPos=null,this._pickedWorldPos=null}return au(e,[{key:"destroy",value:function(){this.viewer=null,this.filter=null,this.raycaster=null,this.lastIntersect=null,this.highPriorities=null,this._ground=null,this._pickedLocalPos=null,this._pickedWorldPos=null}},{key:"defaultIntersect",value:function(e,t,i,n,r){if(e.visible||r){var o=[];e.raycast(this.raycaster,o);var a=[];if(o.length>0)for(var s=0;o.length>s;s++)o[s].distance>i.far||i.near>o[s].distance||e.name!=xd.TilePlaneGroupName&&this.viewer.clipPoint(o[s].point)||null==o[s]||a.push(o[s]);return n?a:(a.sort((function(e,t){return e.distance-t.distance})),a.length>0?a[0]:null)}}},{key:"intersectMeshesWithDistance",value:function(e,t,i,n,r,o,a,s){if(!t||!t.mesh)return null;var l=0,c=wp.MinusEpsilon,h=this.raycaster,d=[],u=this.filter,p=u._hasVisibleFilter(),g=u._hasPickableFilter(),f=this.viewer.modelManager,m=function(e,t){var i=f.isHiddenSourceObjectUserId(e.userId);if(t){if(p&&!u._isVisible(e)||g&&!u._isPickable(e)||i)return!0}else if(p&&!u._isVisible(e)||i)return!0;return!1};!0===this.byGravity?n.near=0:n.near+=c;var A=t.info,y=t.mesh,v=[];if(Bu.time("kdNode Pick"),r&&o&&!o.explosioning){var C=[],I=new yt;I.copy(o.getModelMatrix()).invert();var x=h.ray.clone().applyMatrix4(I);if(Array.isArray(r))for(var w=new yt,M=0;r.length>M;M+=1){var E=r[M],B=E.modelKey,S=x;if(B)w.copy(o.subModel[B]).invert(),S=x.clone().applyMatrix4(w);E.intersect(S,C)}else r.intersect(x,C);v=wp.unique(C)}else v=o.getComponentlist();Bu.timeEnd("kdNode Pick");var b=Object.keys(o.manager.explosionList);if(o&&o.manager&&b.length>0&&(v=v.concat(b),v=wp.unique(v)),Object.keys(f.transformComponent).length>0){for(var k in f.transformComponent)v.push(k);v=wp.unique(v)}var D=this.viewer.modelManager.getMatrixWorldGlobal();Bu.time("Box Pick");for(var T=0,R=v.length;R>T;T+=1){var U=A[v[T]];if(U){var F=U[0];if(F){var Q=F.boundingBox.clone();if(Q.applyMatrix4(o.getModelMatrix()).applyMatrix4(D),(l=h.ray.intersectBoxWithDistance(Q))>=n.near&&n.far>=l)for(var L=0,O=U.length;O>L;L+=1){var N=U[L];if(!m(N,i)){var P=y[this.viewer.modelManager.getMeshIdFromOctantMap(N)];if(P)for(var G=0,K=P.length;K>G;G+=1)d.push({object:P[G],distance:l,nodeInfo:N})}}}}}Bu.timeEnd("Box Pick"),Bu.time("Ending Pick"),d.sort((function(e,t){return e.distance-t.distance}));for(var V=[],Y=0;d.length>Y;Y+=1)d[Y].distance>n.far||n.near>d[Y].distance||d[Y].object.raycast(h,d[Y].nodeInfo,n,this.viewer,V,s);return V.sort((function(e,t){return e.distance-t.distance})),s?V:(Bu.timeEnd("Ending Pick"),V.length>0?V[0]:null)}},{key:"intersectMeshesWithRender",value:function(e,t,i,n,r,o,a,s){if(!t||!t.mesh)return null;var l=wp.MinusEpsilon,c=this.raycaster,h=this.filter;h._hasVisibleFilter(),h._hasPickableFilter(),!0===this.byGravity?n.near=0:n.near+=l;var d=t.mesh;this.viewer.modelManager.getMatrixWorldGlobal();var u=[],p=o.picker.getPickedIdByMouseEx(this.raycaster.canvasMouse.x,this.raycaster.canvasMouse.y,null,i),g=o.getModelDescriptor().getNodeInfosByElementId(p.pickedId);if(g)if(i){var f={indexStart:3*g.group.start,indexCount:3*g.group.count,matrix:(new yt).multiplyMatrices(g.matrix,o.getModelDescriptor().rootGroupNodeMatrix),userId:g.componentKey,nodeId:g.nodeId,isMixNode:!0},m=d[g.mesh.uuid];if(!m)return null;for(var A=0,y=m.length;y>A;A+=1)m[A].raycast(c,f,n,this.viewer,u,s)}else u.push({userId:g.componentKey,object:g.mesh,point:p.point,distance:p.distance,modelKey:o.modelKey,nodeInfo:g});return u.sort((function(e,t){return e.distance-t.distance})),s?u:(Bu.timeEnd("Ending Pick"),u.length>0?u[0]:null)}},{key:"intersect",value:function(e,t,i,n){var r=this.raycaster;null===t?r.setFromCamera(e.mouse,e.camera):r.set(t.origin,t.direction);Bu.time("intersect time"),r.camera=e.camera,r._camera=e.camera,r.viewportSize=e.viewportSize,r.canvasMouse=e.canvasMouse;var o=new Ke;e.camera.getWorldDirection(o);var a=o.dot(r.ray.direction),s={near:e.camera.near/Math.abs(a),far:e.camera.far/Math.abs(a)},l=[],c=e.scene.getGroups(),h=this.viewer.terrainOperationManager,d=new ke;this.viewer.cameraControl.mapViewportToWindow(e.mouse.x,e.mouse.y,d);for(var u=0;c.length>u;u+=1)if(c[u].isPickable()&&0!==c[u].children.length&&(c[u].name!=xd.TilePlaneGroupName||!h.pickExcavation(d))){var p=null,g=e.scene.getGroupType(c[u].name),f=g.modelKey;if(-1<this.highPriorities.indexOf(g.groupType))p=this.defaultIntersect(c[u],i,s,void 0,!0),p&&(p.objectType=c[u].pickableType,p.hoverEnabled=c[u].hoverEnabled,l.push(p));else{var m=this.viewer.modelManager.getModel(g.modelKey),A=m?m.getTransformMatrix():new yt;if(this.filter._isModelPickable(f))switch(g.groupType){case Vp.MODEL:m&&m.isDataReady()&&m.isVisible()&&(p=m.picker&&e.canvasMouse?this.intersectMeshesWithRender([],e.octantMap[f],i,s,m.kdTreeNode,m):this.intersectMeshesWithDistance([],e.octantMap[f],!1,s,m.kdTreeNode,m),p&&(p.modelKey=m.modelKey,p.objectType=c[u].pickableType,p.hoverEnabled=c[u].hoverEnabled,l.push(p)));break;case Vp.GEOMETRY:for(var f in e.octreeRoots)p=this.intersectMeshesWithDistance([],e.octantMap[f],i,s,false,!1,A,f),p&&(p.objectType=c[u].pickableType,p.hoverEnabled=c[u].hoverEnabled,l.push(p));break;case Vp.EXTERNALCOMPONENTMANAGER:p=this.intersectExternalComponent(c[u],i,s),p&&(p.objectType=c[u].pickableType,p.hoverEnabled=c[u].hoverEnabled,l.push(p));break;case Vp.BIMTILESGROUP:if(m)if(p=!0===_p.PICK_EFFECT_MODEL_TYPE[m.config.metadata.content]||m.config.metadata.enableSelect?this.intersectBimTile(m,i,s,false,!1,A):this.defaultIntersect(c[u],i,s),p){var y=m.tilesLoader.tileReader.getUserIdByIndex(p.userId);p.userId=y,p.objectType=c[u].pickableType,p.hoverEnabled=c[u].hoverEnabled,l.push(p)}break;default:p=this.defaultIntersect(c[u],i,s),p&&(p.objectType=c[u].pickableType,p.hoverEnabled=c[u].hoverEnabled,l.push(p))}}}l.sort((function(e,t){return e.distance-t.distance})),Bu.timeEnd("intersect time");var v=l.length;if(v>0)for(var C=null,I=0;v>I;I+=1){p=l[I];var x=p.object;if(x.geometry){if(p.objectType===Rd.Marker3d?p.userId=p.id:void 0===p.userId&&(p.userId=x.userId||x.key||x.name),p.modelKey=x.modelKey,p.fileId=x.fileId,C)return C.intersectWithoutMap=p,C;if(this.lastIntersect={intersect:p,pickable:i},p.objectType!==Rd.Map||I>=v-1)return p;C=p}}return this.lastIntersect=null,null}},{key:"_intersectOctantForNodeByBox",value:function(e,t,i){var n=new He;!function t(r){var o,a;if(n.set(r.min,r.max),e.intersectsBox(n)&&(i.push(r),r.childOctants))for(o=0,a=r.childOctants.length;a>o;o++)t(r.childOctants[o])}(t)}},{key:"intersectMeshByBox",value:function(e,t,i,n,r){if(!t||!t.mesh)return null;var o=[],a=this.filter,s=a._hasVisibleFilter();a._hasPickableFilter();var l=this.viewer.modelManager,c=function(e){var t=l.isHiddenSourceObjectUserId(e.userId);return!!(s&&!a._isVisible(e)||t)},h=t.info,d=t.mesh,u=[],p=this.viewer.modelManager.getMatrixWorldGlobal();if(i)for(var g=function e(t,i){if(i.push(t),t.childOctants)for(var n=0,r=t.childOctants.length;r>n;n++)e(t.childOctants[n],i)},f=0,m=e.length;m>f;f++)g(e[f],u);else for(var A=r.clone().applyMatrix4(p),y=0,v=e.length;v>y;y++)this._intersectOctantForNodeByBox(A,e[y],u);for(var C=0,I=u.length;I>C;C++){var x=h[u[C].octantId];if(x)for(var w=0,M=x.length;M>w;w++){var E=x[w];if(!c(E)){var B=E.boundingBox.clone();if(B.applyMatrix4(n),r.intersectsBox(B)){var S=d[this.viewer.modelManager.getMeshIdFromOctantMap(E)];if(S)for(var b=0,k=S.length;k>b;b++)S[b].intersectByBox(r,o,E)&&(o[o.length-1].userId=E.userId)}}}}return o}},{key:"intersectByBox",value:function(e,t){var i=this,n={},r=e.scene.getObjectGroups(),o=this.viewer.terrainOperationManager,a=new ke;this.viewer.cameraControl.mapViewportToWindow(e.mouse.x,e.mouse.y,a);for(var s=0;r.length>s;s++)if(r[s].isPickable()&&0!==r[s].children.length&&(r[s].name!=xd.TilePlaneGroupName||!o.pickExcavation(a))){var l=null,c=e.scene.getGroupType(r[s].name),h=this.viewer.modelManager,d=h.getModel(c.modelKey),u=d?d.getTransformMatrix():new yt,p=!1;switch(p=!!(d&&d.id&&h.explosionManager.isExploded(d.id)),c.groupType){case Vp.MODEL:e.octreeRoots[g=c.modelKey]&&e.octantMap[g]&&(l=this.intersectMeshByBox(e.octreeRoots[g],e.octantMap[g],p,u,t)).forEach((function(e){n[e.userId]=!0}));break;case Vp.GEOMETRY:for(var g in e.octreeRoots)(l=this.intersectMeshByBox(e.octreeRoots[g],e.octantMap[g],p,u,t)).forEach((function(e){n[e.userId]=!0}));break;case Vp.BIMTILESGROUP:d&&function(){(!0===_p.PICK_EFFECT_MODEL_TYPE[d.config.metadata.content]||d.config.metadata.enableSelect)&&(l=i.intersectBimTile(d,!1,{near:0,far:1/0},p,!0,u,t));var e=d.tilesLoader.tileReader;l.forEach((function(t){var i=e.getUserIdByIndex(t.userId);n[i]=!0}))}()}}return Object.keys(n)}},{key:"getObjectsByClientCoordinates",value:function(e){var t=this.viewer.cameraControl.getIntersectContext(e),i=this.raycaster;return i.setFromCamera(t.mouse,t.camera),i.camera=t.camera,i.viewportSize=t.viewportSize,this.getObjectsByRaycaster(t,i)}},{key:"getObjectsByRaycaster",value:function(e,t,i){var n=this;this.raycaster=t;for(var r={near:i?0:e.camera.near,far:Infinity},o=[],a=e.scene.getGroups(),s=function(){if(!a[l].isPickable()||0===a[l].children.length)return"continue";c=[],h=e.scene.getGroupType(a[l].name);var t=n.viewer.modelManager.getModel(d=h.modelKey),i=t?t.getTransformMatrix():new yt;switch(h.groupType){case Vp.MODEL:if(d=h.modelKey,t&&t.isDataReady()&&t.isVisible()){var s=n.intersectMeshesWithDistance([],e.octantMap[d],!1,r,t.kdTreeNode,t);s&&(s.objectType=a[l].pickableType,s.hoverEnabled=a[l].hoverEnabled,c.push(s))}break;case Vp.GEOMETRY:for(d in e.octreeRoots)null!=(c=n.intersectMeshesWithDistance(e.octreeRoots[d],e.octantMap[d],!1,r,false,!0,i,d))&&(o=o.concat(c));break;case Vp.BIMTILESGROUP:if(!0===_p.PICK_EFFECT_MODEL_TYPE[t.config.metadata.content])for(var u=(c=n.intersectBimTile(t,!0,r,false,!0,i)).length,p=0;u>p;++p){var g=c[p],f=t.tilesLoader.tileReader.getUserIdByIndex(g.userId);g.userId=f}else c=n.defaultIntersect(a[l],!1,r,!0);null!=c&&(c.forEach((function(e){return e.modelKey=t.id})),o=o.concat(c));break;default:null!=(c=n.defaultIntersect(a[l],!1,r,!0))&&(o=o.concat(c))}},l=0;a.length>l;l++){var c,h,d;s()}o.sort((function(e,t){return e.distance-t.distance}));var u,p=new Map,g=vu(o);try{for(g.s();!(u=g.n()).done;){var f=u.value;p.has(f.userId)||p.set(f.userId,f)}}catch(e){g.e(e)}finally{g.f()}return o=mu(p.values())}},{key:"hitTest",value:function(e){var t=this.intersect(e,null,!1);return null!==t?t.point:null}},{key:"pick",value:function(e,t){var i=this.intersect(e,null,!0);return t&&t(i),i}},{key:"pickGlobe",value:function(e,t){var i=this.raycaster,n=e.scene.getObjectGroup(xd.TilePlaneGroupName);if(!n||!n.visible)return null;i.setFromCamera(e.mouse,e.camera),i.camera=e.camera,i.viewportSize=e.viewportSize,e.scene.shrinkScopeByClipPlane(i,{near:0,far:1/0});var r=[];n.raycast(this.raycaster,r),r.sort((function(e,t){return e.distance-t.distance}));var o=r.length>0?r[0]:null;return o&&(o.objectType=n.pickableType,o.hoverEnabled=n.hoverEnabled),o}},{key:"pickGround",value:function(e,t){var i=e.viewer.ground;if(!i)return console.log("there is no ground in current viewer"),null;if(!e.camera)return console.log("camera have not been initialized"),null;var n,r=this.raycaster;r.setFromCamera(e.mouse,e.camera),r.camera=e.camera,r.viewportSize=e.viewportSize;var o=i.intersect(r.ray);if(o){var a=e.scene.getMatrixGlobal();this._pickedWorldPos||(this._pickedWorldPos=new Ke),$p.copy(a).invert(),this._pickedWorldPos.setX(o.x),this._pickedWorldPos.setY(o.y),this._pickedWorldPos.setZ(o.z),this._pickedWorldPos.applyMatrix4($p),n={point:o,worldPosition:this._pickedWorldPos.setZ(i.elevation),pickFromReferencePlane:!0}}return t&&t(n),n}},{key:"getIntersectByRay",value:function(e,t){return this.intersect(e,t,!0)}},{key:"intersectBimTile",value:function(e,t,i,n,r,o,a){var s=this.raycaster,l=e.getAllNodeInfos(),c=this.viewer.modelManager.getMatrixWorldGlobal(),h=e.tilesLoader.tileReader.getSearchTreeBuffer(),d=this.viewer.modelManager,u=e.getFilter(),p=u._hasVisibleFilter(),g=u._hasPickableFilter(),f=a?function(e,t,i){var n=e.clone();return n.applyMatrix4(t),a.intersectsBox(n)?1:-1}:function(e,t,i){var n=e.clone();return n.applyMatrix4(t),n.applyMatrix4(i),s.ray.intersectBoxWithDistance(n)},m=function(e){return!e||!e.parent||!1===e.visible||!1===e.parent.visible};function A(e,t){var i=d.isHiddenSourceObjectUserId(e.userId);if(t){if(p&&!u._isVisible(e)||g&&!u._isPickable(e)||i)return!0}else if(p&&!u._isVisible(e)||i)return!0;return!1}for(var y in h){var v=h[y].searchTreeBlob,C=f(h[y].box,o,c);!n&&C<0||(v.getNodeIdsList(),v.getOctreeList(),v.getOctreeList())}var I=[];for(var x in{}){var w=l[x];if(w)for(var M=0,E=w.length;E>M;M++){var B=w[M];if(!A(B,t)){var S=f(B.boundingBox,o,c);if(S>=i.near&&i.far>=S){var b=B.parent||B.nodeId;if(B.instanceOrNot){var k=e.tilesLoader.getInstanceMeshNodeById(b);if(!k)continue;if(void 0===B.matrix)continue;for(var D in k){var T=k[D].matrix,R=k[D].mesh;if(!m(R)){var U=Object.create(B),F=U.matrix.clone();F=F.multiply(T),U.matrix=F,I.push({meshNode:R,distance:S,nodeInfo:U,meshId:b})}}}else{var Q=e.tilesLoader.getMeshNodeById(b);if(!m(Q)){var L=Q.indexGroups;for(var O in L)for(var N=L[O],P=0,G=N.length;G>P;++P){var K=N[P];K.meshId===B.nodeId&&(K.userId=O,I.push({meshNode:Q,distance:S,nodeInfo:K,meshId:b}))}}}}}}}I.sort((function(e,t){return e.distance-t.distance}));for(var V=[],Y=this,H=a?function(e,t,i,n){e.intersectByBox(a,t,i,n)}:function(e,t,i,n){e.raycastByIndices(s,t,i,n),(t=t.filter((function(e){return!Y.viewer.clipPoint(e.point)&&e}))).sort((function(e,t){return e.distance-t.distance}))},j=0;I.length>j;j++){var W=[],J=I[j].nodeInfo,z=null;J.instanceOrNot&&(z=J.matrix),H(I[j].meshNode,W,J,z),0!==W.length&&(W[0].userId=J.userId,W[0].indexInfo=J,W[0].meshId=I[j].meshId,V.push(W[0]))}return V.sort((function(e,t){return e.distance-t.distance})),r?V:V[0]}},{key:"intersectExternalComponent",value:function(e,t,i,n,r){if(e.visible||r){for(var o=this.raycaster,a=this.filter,s=function e(t){var i=t,n=[];if(i.isGroup)for(var r=0,s=i.children.length;s>r;r+=1){var l=e(i.children[r]);n=n.concat(l)}else a._isPickable({userId:i.key})&&i.raycast(o,n);return n},l={},c=0,h=e.children.length;h>c;c+=1){var d=e.children[c],u=s(d);if(u.length>0){u.sort((function(e,t){return e.distance-t.distance})),u[0].userId=d.key;var p=l[d.key];p?p.distance>u[0].distance&&(l[d.key]=u[0]):l[d.key]=u[0]}}var g=[],f=Object.values(l);if(f.length>0)for(var m=0;f.length>m;m+=1)f[m].distance>i.far||i.near>f[m].distance||this.viewer.clipPoint(f[m].point)||g.push(f[m]);return n?g:(g.sort((function(e,t){return e.distance-t.distance})),g.length>0?g[0]:null)}}}]),e}(),ig=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this)).type="PhongLightingMaterial",n.color=new pi(16777215),n.specular=new pi(1118481),n.shininess=30,n.emissive=new pi(0),n.isShaderMaterial=!0,n.map=null,n.shadowMapEnabled=!1,n.defines={},n.uniforms=ln.merge([wn.common,wn.lights,{diffuse:{value:new pi(16711680)},opacity:{value:1},specular:{value:new pi(1118481)},shininess:{value:30},emissive:{value:new pi(0)}}]),n.vertexShader=["varying vec3 vViewPosition;","varying vec3 vNormal;","#include <uv_pars_vertex>","#include <common>","#include <logdepthbuf_pars_vertex>","#include <shadowmap_pars_vertex>","void main() {"," #include <uv_vertex>"," #include <begin_vertex>"," #include <project_vertex>"," #include <logdepthbuf_vertex>"," #include <beginnormal_vertex>"," #include <defaultnormal_vertex>"," vNormal = normalize( transformedNormal );"," vViewPosition = - mvPosition.xyz;","}"].join("\n"),n.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>","#include <shadowmap_pars_fragment>","#include <logdepthbuf_pars_fragment>","void main() {"," #include <logdepthbuf_fragment>"," 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_fragment_begin>"," #include <normal_fragment_maps>"," #include <lights_phong_fragment>"," #include <lights_template>"," vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;"," gl_FragColor = vec4( outgoingLight, diffuseColor.a );"," #if defined( TONE_MAPPING )"," gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );"," #endif"," gl_FragColor = linearToOutputTexel( gl_FragColor );","}"].join("\n"),n.lights=!0,n.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},void 0!==e&&(void 0!==e.attributes&&console.error("PhongLightingMaterial: attributes should now be defined in THREE.BufferGeometry instead."),n.setValues(e)),n.refreshUniforms(),n}return au(i,[{key:"copy",value:function(e){return gu(cu(i.prototype),"copy",this).call(this,e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.emissive.copy(e.emissive),this}},{key:"refreshUniforms",value: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}}]),i}(cn),ng=function(){function e(t){ru(this,e),t=wp.defaultValue(t,{}),this._referencePlane=new Jt,this._elevation=wp.defaultValue(t.elevation,0);var i=wp.defaultValue(t.position,new Ke(0,0,0));i.y=this._elevation,this._position=i,this._direction=wp.defaultValue(t.direction,new Ke(0,1,0)),this._referencePlane.setFromNormalAndCoplanarPoint(this._direction,this._position),this._scratchInsertPoint=null}return au(e,[{key:"elevation",get:function(){return this._elevation}},{key:"show",value:function(){}},{key:"hide",value:function(){}},{key:"remove",value:function(){this._referencePlane=null}},{key:"update",value:function(){}},{key:"setColor",value:function(){}},{key:"setElevation",value:function(e){this._position.y=e,this._elevation=e,this._referencePlane.setFromNormalAndCoplanarPoint(this._direction,this._position)}},{key:"getElevation",value:function(){return this._elevation}},{key:"intersect",value:function(e){return this._scratchInsertPoint||(this._scratchInsertPoint=new Ke),e.intersectPlane(this._referencePlane,this._scratchInsertPoint)}}]),e}(),rg={"zh-cn":{YourGraphicsCardDoesNotSeemToSupportWebGL:"您的显卡似乎不支持WebGL",YourBrowserDoesNotSeemToSupportWebGL:"您的浏览器似乎不支持WebGL",YourBrowserDoesNotSeemToSupportPath2D:"您的浏览器或者浏览器内核似乎不支持Path2D",YourBrowserDoesNotSeemToSupportPath2DMethod:"您的浏览器或者浏览器内核不支持Path2D的一些方法您仍然可以查看图纸但是性能会下降",FindOutHowToGetItHere:"您可以在这里查看相关信息",SectionBoxLockHint:"请在使用此方法之前调用enableSectionBox。",APIAxisLockHint:"The API supports AxisOption.Z only for now.",Close:"关闭提示"},en:{YourGraphicsCardDoesNotSeemToSupportWebGL:"Your graphics card does not seem to support WebGL",YourBrowserDoesNotSeemToSupportWebGL:"Your browser does not seem to support WebGL",YourBrowserDoesNotSeemToSupportPath2D:"Your browser or Rendering Engine does not seem to support Path2D",YourBrowserDoesNotSeemToSupportPath2DMethod:"Your browser does not support some of Paht2D's methods, and you can still view the drawings, but the performance will degrade",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.",Close:"Close the tip"}},og={getAndroidVersion:function(e){var t=(e=e||navigator.userAgent).match(/Android\s([0-9.]*)/);return!!t&&t[1]},isTouchDevice:function(){return"undefined"!=typeof window&&"ontouchstart"in window},isBrowser:function(){return"undefined"!=typeof navigator},isIE11:function(){return og.isBrowser()&&Boolean(navigator.userAgent.match(/Edge|Trident\/7\./))},isIOSDevice:function(){return!!og.isBrowser()&&/ip(ad|hone|od)/.test(navigator.userAgent.toLowerCase())},isAndroidDevice:function(){return!!og.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("android")},isMobileDevice:function(){return!!og.isBrowser()&&(og.isIOSDevice()||og.isAndroidDevice())},isSafari:function(){if(!og.isBrowser())return!1;var e=navigator.userAgent.toLowerCase();return-1!==e.indexOf("safari")&&-1===e.indexOf("chrome")},isFirefox:function(){return!!og.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("firefox")},isChrome:function(){return!!og.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("chrome")},isMac:function(){return!!og.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("mac os")},isLinux:function(){return!!og.isBrowser()&&-1!==navigator.userAgent.toLowerCase().indexOf("linux x86_64")},isWindows:function(){if(!og.isBrowser())return!1;var e=navigator.userAgent.toLowerCase();return-1!==e.indexOf("win32")||-1!==e.indexOf("windows")},isWindowsPhone:function(){var e=navigator.userAgent.toLowerCase();return/(?:Windows Phone)/.test(e)},isSymbian:function(){var e=navigator.userAgent.toLowerCase();return/(?:SymbianOS)/.test(e)||og.isWindowsPhone()},isTablet:function(){var e=navigator.userAgent.toLowerCase();return/(?:iPad|PlayBook)/.test(e)||og.isAndroidDevice()&&!/(?:Mobile)/.test(e)||og.isFirefox()&&/(?:Tablet)/.test(e)},isPc:function(){return!og.isMobileDevice()&&!og.isTablet()&&!og.isSymbian()},isOpera:function(){return navigator.userAgent.indexOf("Opera")>-1}};og.isSafari(),og.detectWebGL=function(){if(window.WebGLRenderingContext){for(var e=document.createElement("canvas"),t=["webgl","experimental-webgl"],i=!1,n=0;t.length>n;n+=1)try{if((i=e.getContext(t[n]))&&"function"==typeof i.getParameter)return 1}catch(e){}return 0}return-1},og.detectWebGL2=function(){if(window.WebGL2RenderingContext){for(var e=document.createElement("canvas"),t=["webgl2"],i=!1,n=0;t.length>n;n+=1)try{if((i=e.getContext(t[n]))&&"function"==typeof i.getParameter)return 1}catch(e){}return 0}return-1},og.detectPath2D=function(){if(window.Path2D){var e;try{e=new Path2D("M100,100 L200,200")}catch(e){return-1}return e&&e.addPath?1:0}return-1},og.showWebGLMessage=function(e,t,i){var n,r=null,o=null;r=void 0!==(i=i||{}).parent?i.parent:document.body,n=void 0!==i.id?i.id:"oldie",(o=og.getWebGLErrorMessage(e,t)).id=n,r.appendChild(o)},og.showPath2DMessage=function(e,t,i){var n,r=null,o=null;r=void 0!==(i=i||{}).parent?i.parent:document.body,n=void 0!==i.id?i.id:"oldie",(o=og.getPath2DErrorMessage(e,t)).id=n,r.appendChild(o)},og.language=function(){return(navigator.browserLanguage||navigator.language).toLowerCase()},og.getWebGLErrorMessage=function(e,t){var i=document.createElement("div");i.id="webgl-error-message",i.style.fontSize="16px",i.style.fontWeight="normal",i.style.textAlign="center",i.style.background="#f4c8c8",i.style.color="#000",i.style.padding="1.5em",i.style.width="400px",i.style.position="absolute",i.style.left=document.body.clientWidth/2-224+"px";var n=document.body.clientHeight/2-45;return 0>n&&(n=0),i.style.top=n+"px",t||(t="zh-cn"),0===e?i.innerHTML=[' <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">'+rg[t].YourGraphicsCardDoesNotSeemToSupportWebGL+"</a>.<br />",' <a href="http://get.webgl.org/" style="color:#000">'+rg[t].FindOutHowToGetItHere+"</a>."].join("\n"):-1===e&&(i.innerHTML=['<a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#000">'+rg[t].YourBrowserDoesNotSeemToSupportWebGL+"</a>.<br/>",'<a href="http://get.webgl.org/" style="color:#000">'+rg[t].FindOutHowToGetItHere+"</a>."].join("\n")),i},og.getPath2DErrorMessage=function(e,t){var i=document.createElement("div");i.id="webgl-error-message",i.style.fontSize="16px",i.style.fontWeight="normal",i.style.textAlign="center",i.style.background="#f4c8c8",i.style.color="#000",i.style.padding="1.5em",i.style.width="400px",i.style.position="absolute",i.style.left=document.body.clientWidth/2-224+"px";var n=document.body.clientHeight/2-45;if(0>n&&(n=0),i.style.top=n+"px",t||(t="zh-cn"),-1===e)i.innerHTML='<a href="https://developer.mozilla.org/zh-CN/docs/Web/API/Path2D" style="color:#000">'+rg[t].YourBrowserDoesNotSeemToSupportPath2D+"</a>.<br/>";else{var r=document.createElement("button");r.innerText=rg[t].Close,r.onclick=function(){i.style.display="none"},i.innerHTML='<a href="https://developer.mozilla.org/zh-CN/docs/Web/API/Path2D" style="color:#000">'+rg[t].YourBrowserDoesNotSeemToSupportPath2DMethod+"</a>.<br/>",i.appendChild(r)}return i},og.isSupportIndexedDB=function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},og.isSupportWorker=function(){return window.Worker};var ag={splitStr:function(e){return e.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(e){var t,i=null;if(e!==document){var n=(t=e).getBoundingClientRect?function(e){var t=e.getBoundingClientRect(),i=document.body,n=document.documentElement,r=t.left-(n.clientLeft||i.clientLeft);return{top:Math.round(t.top-(n.clientTop||i.clientTop)),left:Math.round(r)}}(t):function(e){for(var t=0,i=0;e;)t+=e.offsetTop,i+=e.offsetLeft,e=e.offsetParent;var n=document.body,r=document.documentElement;return{top:t-=window.pageYOffset||r.scrollTop||n.scrollTop,left:i-=window.pageXOffset||r.scrollLeft||n.scrollLeft}}(t);i={width:e.offsetWidth,height:e.offsetHeight,left:n.left,top:n.top}}else i={width:window.innerWidth,height:window.innerHeight,left:0,top:0};return i},getContainerOffsetToClient:function(e){return ag.getDomOffsetToClient(e)},setClassName:function(e,t){var i=document.getElementById(e);i&&(i.className=t)},addClassName:function(e,t){var i=null,n=null,r=null,o=null,a=null,s=document.getElementById(e);if(s&&(n=s,t&&"string"==typeof t&&(i=t.split(/\s+/),1===n.nodeType)))if(n.className||1!==i.length){for(r=" "+n.className+" ",o=0,a=i.length;a>o;o+=1)0>r.indexOf(" "+i[o]+" ")&&(r+=i[0]+" ");n.className=String.trim(r)}else n.className=t},removeClassName:function(e,t){var i=null,n=null,r=null,o=null,a=null,s=document.getElementById(e);if(s&&(r=s,t&&"string"==typeof t&&(i=(t||"").split(/\s+/),1===r.nodeType&&r.className))){for(n=(" "+r.className+" ").replace(0," "),o=0,a=i.length;a>o;o+=1)for(;n.indexOf(" "+i[o]+" ")>=0;)n=n.replace(" "+i[o]+" "," ");r.className=t?String.trim(n):""}},showOrHideElement:function(e,t){var i=document.getElementById(e);i&&(i.style.display=t?"":"none")},getStyleString:function(e){var t=[];for(var i in e){var n=e[i];t.push(i),t.push(":"),t.push(n),t.push("; ")}return t.join("")},cloneStyle:function(e){var t={};for(var i in e)t[i]=e[i];return t},removeStyleAttribute:function(e,t){Array.isArray(t)||(t=[t]),t.forEach((function(t){t in e&&delete e[t]}))},trimRight:function(e){if(0===e.length)return"";for(var t=e.length-1,i=t;i>=0;i-=1)if(" "!==e.charAt(i)){t=i;break}return e.substr(0,t+1)},trimLeft:function(e){if(0===e.length)return"";for(var t=0,i=0;e.length>i;i+=1)if(" "!==e.charAt(i)){t=i;break}return e.substr(t)},trim:function(e){return e.replace(/(^\s*)|(\s*$)/g,"")},matchesSelector:function(e,t){if(e.matches)return e.matches(t);if(e.matchesSelector)return e.matchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.mozMatchesSelector)return e.mozMatchesSelector(t);if(e.oMatchesSelector)return e.oMatchesSelector(t);if(e.querySelectorAll){for(var i=(e.document||e.ownerDocument).querySelectorAll(t),n=0;i[n]&&void 0!==i[n];)n+=1;return!!i[n]}return!1},toTranslate3d:function(e,t){return"translate3d("+e+"px,"+t+"px,0)"},setCursorStyle:function(e,t){var i=null;switch(t){case"n":case"s":i="ns-resize";break;case"w":case"e":i="ew-resize";break;case"ne":case"sw":i="nesw-resize";break;case"nw":case"se":i="nwse-resize"}e.style.cursor=i},css:function(e,t){for(var i=e.getAttribute("style")||"",n=Object.keys(t),r=i.split(";"),o=[],a=0,s=r.length;s>a;a+=1){""!==(l=r[a])?o.push(l.replace(/:.+/,"")):r.splice(a,1)}for(a=0,s=n.length;s>a;a+=1){var l=n[a],c=-1;r.map((function(e,t){return e.indexOf(l)>-1&&(c=t),null})),c>-1?r[c]=l+":"+t[l]:r.push(l+":"+t[l])}var h=r.join(";");e.setAttribute("style",h+";")},append:function(e,t){if("string"==typeof t){var i=document.createElement("div");i.innerHTML=t;for(var n=document.createDocumentFragment();i.firstChild;)n.appendChild(i.firstChild);e.appendChild(n)}else e.appendChild(t)},scrollTop:function(e,t){var i=e.scrollTop;if(i>t)var n=setInterval((function(){var i=e.scrollTop,r=Math.floor(-i/6);e.scrollTop=i=r+i,e.scrollTop>t||(e.scrollTop=e.scrollTop=t,clearTimeout(n))}),20);else if(0===i)var r=setInterval((function(){var n=e.scrollTop,o=Math.floor(70);e.scrollTop=n=o+n,i>e.scrollTop&&(e.scrollTop=t,clearTimeout(r))}),20);else if(t>i)var o=setInterval((function(){var n=e.scrollTop,r=Math.floor(n/6);e.scrollTop=n=r+n,i>e.scrollTop&&(e.scrollTop=t,clearTimeout(o))}),20);else if(t===i)return!1},closest:function(e,t){if(!e)return null;for(var i=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;e&&!i.call(e,t);)e=e.parentElement;return e},addEventListener:function(e,t,i){if(e)if(e.length)for(var n=0;e.length>n;n+=1)e[n].addEventListener(t,(function(e){i&&"function"==typeof i&&i(e)}));else e.addEventListener(t,(function(e){i&&"function"==typeof i&&i(e)}))},remove:function(e){if(e)if(e.removeNode=[],void 0!==e.length){for(var t=e.length,i=0;t>i;i+=1)e.removeNode.push({parent:e[i].parentNode,inner:e[i].outerHTML,next:e[i].nextSibling});for(i=0;t>i;i+=1)e[0].parentNode.removeChild(e[0])}else e.removeNode.push({parent:e.parentNode,inner:e.outerHTML,next:e.nextSibling}),e.parentNode.removeChild(e)},getStyleValue:function(e,t){var i=e.ownerDocument.defaultView;return i&&i.opener||(i=window),e.currentStyle?e.currentStyle[t]:i.getComputedStyle(e)[t]},isShow:function(e){return"none"!==this.getStyleValue(e,"display")},getHeight:function(e){if(null!=e){if(this.isShow(e)){if(null!=e.style.height&&e.style.height.length>0)return parseFloat(e.style.height);if(parseFloat(this.getStyleValue(e,"height"))>0)return parseFloat(this.getStyleValue(e,"height"));if(e.offsetHeight>0){var t=this.getStyleValue(e,"borderTopWidth"),i=this.getStyleValue(e,"borderBottomWidth"),n=this.getStyleValue(e,"paddingTop"),r=this.getStyleValue(e,"paddingBottom"),o=parseFloat(e.offsetHeight)-parseFloat(t)-parseFloat(i)-parseFloat(n)-parseFloat(r);return parseFloat(o)}return 0}var a=e.getAttribute("style")||"";e.setAttribute("style",a+"visibility:hidden;display:block !important;");var s=this.getHeight(e);return e.setAttribute("style",a),Math.ceil(s)}},getWidth:function(e){if(null!=e){if(this.isShow(e)){if(null!=e.style.width&&e.style.width.length>0)return parseFloat(e.style.width);if(parseFloat(this.getStyleValue(e,"width"))>0)return parseFloat(this.getStyleValue(e,"width"));if(e.offsetWidth>0){var t=this.getStyleValue(e,"borderLeftWidth"),i=this.getStyleValue(e,"borderRightWidth"),n=this.getStyleValue(e,"paddingLeft"),r=this.getStyleValue(e,"paddingRight"),o=parseFloat(e.offsetWidth)-parseFloat(t)-parseFloat(i)-parseFloat(n)-parseFloat(r);return parseFloat(o)}return 0}var a=e.getAttribute("style")||"";e.setAttribute("style",a+"visibility:hidden;display:inline-block !important;");var s=this.getWidth(e);return e.setAttribute("style",a),Math.ceil(s)}},outerHeight:function(e,t){var i=e.offsetHeight;if(t){var n=e.currentStyle||getComputedStyle(e);i+=parseInt(n.marginTop,0)+parseInt(n.marginBottom,0)}return i},outerWidth:function(e,t){var i=e.offsetWidth;if(t){var n=e.currentStyle||getComputedStyle(e);i+=parseInt(n.marginLeft,0)+parseInt(n.marginRight,0)}return i},isEmptyObject:function(e){var t=null;for(t in e)return!1;return!0},hasClass:function(e,t){if(e){var i=e.className.match&&e.className.match(new RegExp("(\\s|^)"+t+"(\\s|$)"));return Boolean(i)}return!1},addClass:function(e,t){e&&(this.hasClass(e,t)||(e.className+=" "+t))},removeClass:function(e,t){if(this.hasClass(e,t)){var i=new RegExp("(\\s|^)"+t+"(\\s|$)");e.className=e.className.replace(i," ")}},toggleClass:function(e,t){this.hasClass(e,t)?this.removeClass(e,t):this.addClass(e,t)},simulateEvent:function(e,t){var i=document.createEvent("Event");i.initEvent(t,!0,!0),e.dispatchEvent(i)},bind:function(e,t,i){e&&(e.addEventListener?e.addEventListener(t,i,!1):e.attachEvent?e.attachEvent("on"+t,i):e["on"+t]=i)},delegate:function(e,t,i,n){if(e)if(e.length)for(var r=0;e.length>r;r+=1)this.delegateFn(e[r],t,i,n);else this.delegateFn(e,t,i,n)},delegateFn:function(e,t,i,n){var r=this;function o(e){var o=(e=e||window.event).target||e.srcElement;r.matchSelector(o,t)&&n&&("mouseenter"===i||"mouseleave"===i?r.fixedMouse(e,o)&&n.call(o,e):n.call(o,e))}i=i.toLowerCase(),e.addEventListener?e.addEventListener("mouseenter"===i?"mouseover":"mouseleave"===i?"mouseout":i,o):e.attachEvent("mouseenter"===i?"onmouseover":"mouseleave"===i?"onmouseout":"on"+i,o)},matchSelector:function(e,t){return"#"===t.charAt(0)?e.id===t.slice(1):"."===t.charAt(0)?-1!==(" "+e.className+" ").indexOf(" "+t.slice(1)+" "):e.tagName.toLowerCase()===t.toLowerCase()},contains:function(e,t){return e.contains?e!==t&&e.contains(t):Boolean(16&e.compareDocumentPosition(t))},fixedMouse:function(e,t){var i=null,n=e.type.toLowerCase();if("mouseover"===n)i=e.relatedTarget||e.fromElement;else{if("mouseout"!==n)return!0;i=e.relatedTarget||e.toElement}return i&&"xul"!==i.prefix&&!this.contains(t,i)&&i!==t},fireEvent:function(e,t){var i=null;if(e.ownerDocument)i=e.ownerDocument;else{if(9!==e.nodeType)throw new Error("Invalid node passed to fireEvent: "+e.id);i=e}if(e.dispatchEvent){var n="";switch(t){case"click":case"mousedown":case"mouseup":n="MouseEvents";break;case"focus":case"change":case"blur":case"select":n="HTMLEvents";break;default:Bu.error("fireEvent: Couldn't find an event class for event '"+t+"'.")}(r=i.createEvent(n)).initEvent(t,"change"!==t,!0),r.synthetic=!0,e.dispatchEvent(r,!0)}else if(e.fireEvent){var r;(r=i.createEventObject()).synthetic=!0,e.fireEvent("on"+t,r)}}};ag.create=function(e,t){var i=document.createElement(e);return i.setAttribute("class",t),i};ag.createNS=function(e,t){var i=document.createElementNS("http://www.w3.org/2000/svg",e);return i.setAttribute("class",t),i};ag.select=function(e){return e.indexof("#")?document.getElementById(e.replace("#","")):e.indexof(".")?document.getElementsByClassName(e.replace(".","")):document.getElementsByTagName(e)};var sg=function(e){if(""===e)return 0;if("string"==typeof e){if(-1===e.indexOf("px")){var t=Number(e);return isNaN(t)?0:t}var i=e.split("px"),n=Number(i[0]);return isNaN(n)?0:n}return 0};ag.drag=function(e){var t=og.isPc(),i=Object.assign({element:null,handle:null,axis:"all",cursor:"move",distance:0,start:null,move:null,stop:null},e),n=i.element;if(!n)return!1;var r=i.handle||n,o=void 0,a=!1,s=function(e){if(t)var r={x:e.clientX,y:e.clientY};else r={x:e.touches[0].clientX,y:e.touches[0].clientY};var s={x:r.x-o.x,y:r.y-o.y};a?(i.move&&i.move(o,r,s),o=r,function(e){var t=n.offsetLeft,r=n.offsetTop,o=sg(getComputedStyle(n).marginLeft),a=sg(getComputedStyle(n).marginTop),s=0>(t-=o)+e.x?0:t+e.x,l=0>(r-=a)+e.y?0:r+e.y;switch(i.axis){case"x":n.style.left=s+"px";break;case"y":n.style.top=l+"px";break;case"all":default:n.style.left=s+"px",n.style.top=l+"px"}}(s)):a=function(e){return Math.pow(e.x,2)+Math.pow(e.y,2)>Math.pow(i.distance,2)&&(i.start&&i.start(o),!0)}(s)},l=function(e){var n,a,l=e;if(t){if(n=l.button,!((a=navigator.userAgent).indexOf("compatible")>-1&&a.indexOf("MSIE")>-1&&!og.isOpera()?1===n:0===n))return;o={x:l.clientX,y:l.clientY},document.addEventListener("mousemove",s)}else o={x:l.touches[0].clientX,y:l.touches[0].clientY},r.addEventListener("touchmove",s);i.start&&i.start(o)},c=function(){a&&i.end&&i.end(o),a=!1,document.removeEventListener("mousemove",s),r.removeEventListener("touchmove",s)};t?(r.style.cursor=i.cursor,r.style.userSelect="none",r.addEventListener("mousedown",l),document.addEventListener("mouseup",c)):(r.addEventListener("touchend",c),r.addEventListener("touchstart",l))};ag.sizable=function(e){var t=Object.assign({element:null,axis:"all",minWidth:100,minHeight:100,distance:0,start:null,sizable:null,stop:null},e),i=t.element;if(!i)return!1;var n=void 0,r=!1,o=ag.create("div","yj-resize"),a=void 0,s=void 0,l=function(e){var o={x:e.clientX,y:e.clientY},l={x:o.x-n.x,y:o.y-n.y};r?(t.sizable&&t.sizable(n,o,l),function(e){var n=i.offsetLeft,r=i.offsetTop,o=t.minWidth>a+e.x?t.minWidth:a+e.x,l=t.minHeight>s+e.y?t.minHeight:s+e.y;switch(t.resize&&t.resize(o,l),i.style.left=n+"px",i.style.top=r+"px",t.axis){case"x":i.style.width=o+"px";break;case"y":i.style.height=l+"px";break;case"all":default:i.style.width=o+"px",i.style.height=l+"px"}}(l)):r=function(e){return Math.pow(e.x,2)+Math.pow(e.y,2)>Math.pow(t.distance,2)&&(t.start&&t.start(n),!0)}(l)},c=function(e){a=i.clientWidth,s=i.clientHeight;var t,r,o=e;(t=o.button,(r=navigator.userAgent).indexOf("compatible")>-1&&r.indexOf("MSIE")>-1&&!og.isOpera()?1===t:0===t)&&(n={x:o.clientX,y:o.clientY},document.addEventListener("mousemove",l),document.addEventListener("touchmove",l))},h=function(){r&&t.end&&t.end(n),r=!1,document.removeEventListener("mousemove",l),document.removeEventListener("touchmove",l)};ag.addClass(i,"yj-sizable"),i.appendChild(o),o.addEventListener("mousedown",c),o.addEventListener("touchstart",c),document.addEventListener("mouseup",h),document.addEventListener("touchend",h)};var lg=function(e){var t=this,i=Object.assign({element:null,min:0,max:100,cur:50,step:1,isShowProgress:!0,input:null,change:null,currentColor:"#11dab7",defaultColor:"#999"},e);this._opt=i;var n=ag.create("div","yj-range"),r=ag.create("input","yj-input-range");t.input=r,r.setAttribute("type","range"),r.setAttribute("step",i.step),r.setAttribute("min",i.min),r.setAttribute("max",i.max),r.setAttribute("value",i.cur);var o=ag.create("span","yj-range-min");o.innerText=i.min;var a=ag.create("span","yj-range-cur");t.cur=a,a.innerText=i.cur;var s=ag.create("span","yj-range-max");s.innerText=i.max;var l=ag.create("span","yj-range-progress");n.appendChild(r),i.isShowProgress&&(n.appendChild(o),n.appendChild(a),n.appendChild(s)),n.appendChild(l),i.element.appendChild(n),t.setProgress(i.cur),r.addEventListener("input",(function(){t.setProgress(this.value),i.input&&i.input(this.value)})),r.addEventListener("change",(function(){t.setProgress(this.value),i.change&&i.change(this.value)}))};lg.prototype.setProgress=function(e){var t=this._opt,i=this.input,n=this.cur,r=(e-t.min)/(t.max-t.min)*100;i.value=e,i.style.background="linear-gradient(to right,"+t.currentColor+" 0%,"+t.currentColor+" "+r+"%,"+t.defaultColor+" "+r+"%, "+t.defaultColor+" 100%)",n.innerText=e},lg.prototype.reset=function(){this.setProgress(this._opt.cur)},ag.range=lg;var cg=function(e){this._opt=Object.assign({element:null,min:0,max:100,from:null,to:null,step:1,currentColor:"#11dab7",defaultColor:"#999",change:null},e),this._opt.from=this._opt.from||this._opt.min,this._opt.to=this._opt.to||this._opt.max,this.init()};cg.prototype={init:function(){var e=ag.create("div","yj-multiple-range"),t=ag.create("div","yj-range-track"),i=ag.create("span","yj-slider yj-slider-min");i.id="minSlider",i.type="minimum";var n=ag.create("span","yj-slider yj-slider-max");n.id="maxSlider",n.type="maximum",this._state={from:this._opt.from,to:this._opt.to},t.style.backgroundColor=this._opt.currentColor,e.style.backgroundColor=this._opt.defaultColor,e.appendChild(t),e.appendChild(i),e.appendChild(n),this._opt.element.appendChild(e),this._track=t,this._sliders={min:i,max:n},this._element=e,this.bindEvent(),this.update(!1)},bindEvent:function(){var e=this,t=!1,i=null,n=null,r=function(e){e=e||event;n=e.screenX,i=this,t=!0};this._sliders.min.addEventListener("mousedown",r),this._sliders.max.addEventListener("mousedown",r),document.addEventListener("mousemove",(function(r){if(t){r=r||event;var o=Math.round((r.screenX-n)/e._pix/e._opt.step)*e._opt.step;0!==o&&(n=o*e._pix+n,"minimum"===i.type?e._state.from+=o:e._state.to+=o,e.recalculate(i),e.update(!0))}})),document.addEventListener("mouseup",(function(){i=null,t=!1}))},update:function(e){var t=this._sliders.min.offsetWidth,i=this._sliders.max.offsetWidth;this._pix||(this._pix=(this._element.offsetWidth-t-i)/(this._opt.max-this._opt.min));var n=(this._state.from-this._opt.min)*this._pix,r=(this._state.to-this._opt.min)*this._pix+t+i;this._track.style.left=n+t/2+"px",this._track.style.width=r-n-t/2-i/2+"px",this._sliders.min.style.left=n+"px",this._sliders.max.style.left=r+"px",this._opt.change&&e&&this._opt.change(this._state)},recalculate:function(e){this._opt.max>this._state.to||(this._state.to=this._opt.max),this._state.from>this._opt.min||(this._state.from=this._opt.min),e&&("maximum"===e.type&&(this._state.to>this._state.from||(this._state.to=this._state.from)),"minimum"===e.type&&(this._state.to>this._state.from||(this._state.from=this._state.to)))},getProgress:function(){return this._state},setProgress:function(e){this._state=e,this.recalculate(),this.update(!1)}},ag.multipleRange=cg;var hg=function(){};hg.prototype={constructor:hg,apply:function(e){e.addEventListener=hg.prototype.addEventListener,e.hasEventListener=hg.prototype.hasEventListener,e.removeEventListener=hg.prototype.removeEventListener,e.fireEvent=hg.prototype.dispatchEvent,e.dispatchEvent=hg.prototype.dispatchEvent},addEventListener:function(e,t){e&&(void 0===this._listeners&&(this._listeners={}),void 0===this._listeners[e]&&(this._listeners[e]=[]),this._listeners[e].push(t))},hasEventListener:function(e,t){if(!e)return!1;if(void 0===this._listeners)return!1;var i=this._listeners;return void 0!==i[e]&&-1!==i[e].indexOf(t)},removeEventListener:function(e,t){if(e&&(void 0===this._listeners&&(this._listeners={}),Array.isArray(this._listeners[e])))for(var i=this._listeners[e],n=0,r=i.length;r>n;n+=1)if(i[n]===t){i.splice(n,1);break}},removeAllEventListenerByType:function(e){e&&(void 0===this._listeners&&(this._listeners={}),Array.isArray(this._listeners[e])&&this._listeners[e]&&(this._listeners[e]=void 0))},removeAllEventListener:function(){for(var e in void 0===this._listeners&&(this._listeners={}),this._listeners)if(this._listeners.hasOwnProperty(e))for(var t=this._listeners[e],i=0,n=t.length;n>i;i+=1)t.splice(i,1);this._listeners={}},dispatchEvent:function(e){if(void 0===this._listeners&&(this._listeners={}),"string"!=typeof e&&"number"!=typeof e||(e={type:e}),!e.target)try{e.target=this}catch(e){}if(null==e.type)throw Bu.trace("事件类型未知."),new Error("事件类型未知.");if(Array.isArray(this._listeners[e.type]))for(var t=this._listeners[e.type].slice(),i=0;t.length>i;i+=1)t[i].call(this,e)},fireEvent:function(e){this.dispatchEvent(e)}};var dg=new Ke,ug=new Ke,pg=new ke,gg=new Ke,fg=new Ke,mg=new Jt,Ag=new Ke,yg=new Ke,vg=new Ke,Cg=new Ke,Ig=new yt,xg=function(){function e(t,i){ru(this,e),this.camera=t.camera,this.cameraControl=t,this.domElement=i,this.intersectContext=new eg,this.rayCaster=new Xp,this._lastTrackingPoint=new Ke,this.viewer=t.viewer,this._rotatePivot=new Ke,this.pivot=null,this._assistGroundPlane=new ng,this.boundaryLimitFactor=2,this._planIntersect=new Ke,this.intersectHelper=t.intersector,this._minObjectOffset=.5}return au(e,[{key:"getWorldDimension",value:function(e,t,i){var n=this.camera.position,r=this.camera.direction(fg).normalize(),o=this.getTrackingPoint(e,t),a=dg.subVectors(o,n),s=Math.abs(r.dot(a)),l=ag.getContainerOffsetToClient(this.domElement),c=l.width/l.height,h=2*s*Math.tan(be.degToRad(.5*this.camera.fov)),d=h*c;return wp.isDefined(i)||(console.warn("result is needed for function getWorldDimension()"),i=new ke),i.set(d,h),i}},{key:"getWorldPointFromNearPlane",value:function(e,t){var i=new Ke(e,t,0);return i.unproject(this.camera),i}},{key:"getTrackingPoint",value:function(e,t){dg.set(e,t),this.getIntersectContext(dg);var i=this.intersectHelper.hitTest(this.intersectContext),n=this.camera.position;if(i)n.equals(i)&&(i=null),i&&(this._lastTrackingPoint.copy(i),!0);else{var r=this.intersectContext.mouse,o=this.getWorldPointFromNearPlane(r.x,r.y),a=this.getRayCaster(e,t).ray,s=this.camera.direction(fg).normalize();if(mg.setFromNormalAndCoplanarPoint(s,this._lastTrackingPoint),i=a.intersectPlane(mg,this._planIntersect)){var l=i.distanceTo(n);Yp.EPSILON1>l&&(i=this._getTrackingPointFromScene(a),!1)}else i=this._getTrackingPointFromScene(a),!1;i||(Bu.log("tracking point is default!"),i=o)}return i}},{key:"getRotatePivot",value:function(e,t){var i=null,n=this.viewer.getRotationCenter();if(wp.isDefined(n))return n;switch(e){case Ld.SELECTION:i=this._getRotatePivotFromSelection(t,this._rotatePivot);break;case Ld.CENTER:i=this.viewer.getScene().getBoundingBox().getCenter(dg);break;case Ld.CAMERA:i=null;break;default:i=this._getRotatePivotFromIntersect(t)}return this.cameraControl.dirtyCamera(!0),this.cameraControl.setCameraChanging(!0),this.pivot=i,i}},{key:"getPanOffset",value:function(e,t,i,n){var r=ag.getContainerOffsetToClient(this.domElement),o=e.x-r.left,a=e.y-r.top;Ag.x=o/r.width,Ag.y=a/r.height,a=t.y-r.top,yg.x=(o=t.x-r.left)/r.width,yg.y=a/r.height,vg.subVectors(yg,Ag);var s=-vg.x*i.x,l=vg.y*i.y,c=this.cameraControl.getWorldRight().multiplyScalar(s),h=this.cameraControl.getWorldUp().multiplyScalar(l);return this.cameraControl.dirtyCamera(!0),this.cameraControl.setCameraChanging(!0),n.addVectors(c,h),n}},{key:"adjustCameraForPan",value:function(e){if(!this.lockPan){var t=this.camera;if(dg.copy(t.position),dg.add(e),null==t.minimumElevation||e.y>=0||dg.y>=t.minimumElevation){if(this._limitWorldScalar&&this.cameraControl._checkZoomNearBoundary(dg,-1)){if(0>dg.x&&0>e.x||0>dg.z&&0>e.z)return;if(dg.x>0&&e.x>0||dg.z>0&&e.z>0)return}this.cameraControl.dirtyCamera(!0),this.cameraControl.setCameraChanging(!0),t.target.add(e),t.position.add(e)}}}},{key:"adjustCameraForZoom",value:function(e,t){if(Math.abs(e)<Yp.EPSILON6)return!1;var i=this.camera;e*=this.cameraControl.zoomSpeed;var n=i.position,r=i.direction(fg);if(t?ug.subVectors(t,n):ug.copy(r),dg.copy(ug),ug.multiplyScalar(e),i.isPerspective){var o=dg.length()*(1-e),a=this.cameraControl.sceneLengthUnitFactor,s=this.viewer.getScene().getMatrixGlobal();Ig.copy(s).invert(),dg.applyMatrix4(Ig);var l=dg.length()*(1-e)*a;this._minObjectOffset>l&&ug.normalize().multiplyScalar(o+.1)}else i.orthoScale*=e+1,i.setZoom(i.orthoScale);ug.add(n),wp.isDefined(i.minimumElevation)&&i.minimumElevation>ug.y||(this._checkCameraLimitBoundary(i,ug,e)?this.cameraControl.resetCameraToMaximumRange():(i.position.copy(ug),i.target.copy(r.add(ug)),this.cameraControl.dirtyCamera(!0),this.cameraControl.setCameraChanging(!0)))}},{key:"clientToViewport",value:function(e,t,i){var n=ag.getContainerOffsetToClient(this.domElement),r=i||new ke;return r.x=(e-n.left)/n.width*2-1,r.y=-(t-n.top)/n.height*2+1,r}},{key:"clientToCanvas",value:function(e,t,i){var n=ag.getContainerOffsetToClient(this.domElement),r=i||new ke;return r.x=(e-n.left)/n.width,r.y=(t-n.top)/n.height,r}},{key:"viewportToClient",value:function(e,t,i){var n=ag.getContainerOffsetToClient(this.domElement),r=i||new ke;return r.x=(e+1)/2*n.width+n.left,r.y=(1-t)/2*n.height+n.top,r}},{key:"getIntersectContext",value:function(e){return this.intersectContext.scene=this.viewer.getScene(),this.intersectContext.camera=this.camera,wp.isDefined(e)&&(this.clientToViewport(e.x,e.y,this.intersectContext.mouse),this.clientToCanvas(e.x,e.y,this.intersectContext.canvasMouse)),this.intersectContext.viewportSize=this.viewer.getRenderer().getSize(new ke),this.intersectContext.octantMap=this.viewer.modelManager.octantToObjectMap,this.intersectContext}},{key:"getRayCaster",value:function(e,t){return this.clientToViewport(e,t,pg),this.rayCaster.setFromCamera(pg,this.camera),this.rayCaster}},{key:"_getTrackingPointFromScene",value:function(e){var t=1/0,i=e.origin,n=this.viewer.getScene().getBoundingBox();dg.set(0,0,-1),mg.setFromNormalAndCoplanarPoint(dg,n.max);var r=0;return e.intersectPlane(mg,this._planIntersect)&&t>(r=i.distanceTo(this._planIntersect))&&(t=r,gg.copy(this._planIntersect)),dg.set(0,-1,0),mg.setFromNormalAndCoplanarPoint(dg,n.max),e.intersectPlane(mg,this._planIntersect)&&t>(r=i.distanceTo(this._planIntersect))&&(t=r,gg.copy(this._planIntersect)),dg.set(-1,0,0),mg.setFromNormalAndCoplanarPoint(dg,n.max),e.intersectPlane(mg,this._planIntersect)&&t>(r=i.distanceTo(this._planIntersect))&&(t=r,gg.copy(this._planIntersect)),dg.set(0,0,-1),mg.setFromNormalAndCoplanarPoint(dg,n.min),e.intersectPlane(mg,this._planIntersect)&&t>(r=i.distanceTo(this._planIntersect))&&(t=r,gg.copy(this._planIntersect)),dg.set(0,-1,0),mg.setFromNormalAndCoplanarPoint(dg,n.min),e.intersectPlane(mg,this._planIntersect)&&t>(r=i.distanceTo(this._planIntersect))&&(t=r,gg.copy(this._planIntersect)),dg.set(0,0,-1),mg.setFromNormalAndCoplanarPoint(dg,n.min),e.intersectPlane(mg,this._planIntersect)&&t>(r=i.distanceTo(this._planIntersect))&&(t=r,gg.copy(this._planIntersect)),gg}},{key:"_getRotatePivotFromIntersect",value:function(e){var t=this.getIntersectContext(e),i=this.intersectHelper.hitTest(t);return e&&i?i:this.viewer.getScene().getBoundingBox().getCenter(Cg)}},{key:"_getRotatePivotFromSelection",value:function(e,t){var i,n=this.viewer,r=n.getScene();if(r.hasClipPlanes()){var o=r.getClipPlanes();if(o.isEnabled()&&(i=o.getClipBoundingBox(),wp.isDefined(i)&&!i.isEmpty()&&o.isVisible()))return t.copy(i.getCenter(Cg)),t}var a=n.getFilter().getVisibleComponentSet(n.modelManager.sceneState.getSelectionSet()),s=n.getBoundingBoxByIds(a);if(!s||s.isEmpty())t.copy(this._getRotatePivotFromIntersect(e));else{if(wp.isDefined(i))s.intersect(i);else if(r.hasFillClipPlanes()){var l=r.getFillClipPlane();if(l.isEnabled()){var c=l.getFillClipBoundingBox();wp.isDefined(c)&&s.intersect(c)}}t.copy(s.getCenter(dg))}return t}},{key:"_checkCameraLimitBoundary",value:function(e,t,i){if(!e.isPerspective||!xd.ConstraintZoom)return!1;var n=this.viewer.getScene().getBoundingBox();if(wp.isDefined(i)&&i>0)return!e.getFrustum().intersectsBox(n);var r=.5*n.getSize(dg).length()/Math.tan(be.degToRad(.5*e.fov))*this.boundaryLimitFactor,o=n.getCenter(dg);return t.distanceTo(o)>=r}}]),e}(),wg=new Ke(0,0,1),Mg=new Ke(0,1,0),Eg=new Ke,Bg=new Ge,Sg=!1,bg=new yt,kg=new Ke,Dg=new Ge,Tg=new Ke,Rg=new Ke,Ug=new Ke,Fg=new yt,Qg=new yt,Lg=new He,Og=new Ke;function Ng(e){if(e.viewer.getRotationCenter())return e.viewer.getRotationCenter();var t=e.viewer.modelManager.sceneState;if(t.hasSelection()){var i=e.viewer.getFilter().getVisibleComponentSet(t.getSelectionSet()),n=e.viewer.getBoundingBoxByIds(i);if(n&&!n.isEmpty())return n.getCenter(Rg)}return e.pivot?e.pivot:e.scene.getBoundingBox().getCenter(Rg)}function Pg(e,t,i,n){if(null==n||void 0===n)return!0;var r=n[0],o=n[1];if(r>=o)return!1;var a=e.position;e.getWorldDirection(Tg);var s=e.realUp||e.up;i||(i=a.clone());var l=Tg.clone().cross(s).normalize(),c=(new Ge).setFromAxisAngle(l,t);a.clone().sub(i).normalize();var h=Tg.clone().negate(),d=Math.PI-h.angleTo(wg.clone()),u=h.clone().projectOnPlane(wg.clone()),p=u.angleTo(wg.clone());0>u.x&&(p=2*Math.PI-p),Tg.applyQuaternion(c).normalize();var g=Tg.clone().negate(),f=Math.PI-g.angleTo(wg.clone()),m=g.clone().projectOnPlane(wg.clone()),A=m.angleTo(wg.clone());if(0>m.x&&(A=2*Math.PI-A),Math.abs(A-p)>.001)return!1;if(d>r&&o>d){if(f>o||r>f)return!1}else if((d>o?f-d:d-f)>0)return!1;return!0}function Gg(e,t,i,n){bg.copy(t).invert();var r=new Ke(e.position.x,e.position.y,e.position.z),o=r.clone();o.applyMatrix4(bg);var a=new Ke(i.x,i.y,i.z);a.add(r),a.applyMatrix4(bg),a.sub(o).normalize().multiplyScalar(n);var s=a.clone();return a.add(o),a.applyMatrix4(t),a.sub(r),{stepDiffWorld:s,stepDiffDrawing:a}}var Kg=function(e){lu(i,e);var t=pu(i);function i(e,n,r,o,a,s){var l;return ru(this,i),(l=t.call(this)).viewer=e,l.camera=r,l.domElement=o,l.scene=n,l.intersector=new tg(e),l._ground=new ng,l.collisionManager=new Np,l.pivotBallGroup=null,l.minDollyDistance=5,l.gravity=0,l.zoomSpeed=1,l.farFactor=2,l.maxPitch=void 0,l.minPitch=void 0,s=wp.defaultValue(s,{}),l._enableDamping=wp.defaultValue(s.enableDamping,!1),l._dynamicDampingFactor=wp.defaultValue(s.dynamicDampingFactor,.1),l._limitWorldScalar=!0,l.lockPan=!1,l.userInputWorking=!1,l._changeCallBack=a,l._planIntersect=new Ke,l.userInputHelper=new xg(du(l),o),l._realManHeight=1650,l.sceneLengthUnitFactor=1,l}return au(i,[{key:"destroy",value: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}},{key:"enableDamping",value:function(){this._enableDamping=!0;var e=this.viewer.controlManager.userInputControl;wp.isDefined(e)&&e.resetDynamicMoving()}},{key:"disableDamping",value:function(){this._enableDamping=!1;var e=this.viewer.controlManager.userInputControl;wp.isDefined(e)&&e.resetDynamicMoving()}},{key:"isEnableDamping",value:function(){return this._enableDamping}},{key:"dynamicDampingFactor",value:function(e){return wp.isDefined(e)&&(this._dynamicDampingFactor=e),this._dynamicDampingFactor}},{key:"enableLimitWorldScalar",value:function(e){this._limitWorldScalar=e}},{key:"isCameraChanging",value:function(){return Sg}},{key:"setCameraChanging",value:function(e){Sg=e,this.camera.dirty=e}},{key:"setCamera",value:function(e){this.camera=e}},{key:"getCamera",value:function(){return this.camera.updateMVP(),this.camera}},{key:"dirtyCamera",value:function(e){this.camera.dirty=e}},{key:"getFrustum",value:function(){return this.camera.getFrustum()}},{key:"lockAxisZ",value:function(e){Kp.LockAxisZ=e}},{key:"isLockedAxisZ",value:function(){return Kp.LockAxisZ}},{key:"setLockAxisZRange",value:function(e){Kp.LockAxisZRange=e}},{key:"getLockAxisZRange",value:function(){return Kp.LockAxisZRange}},{key:"getClientSize",value:function(){var e=this.domElement===document?this.domElement.body:this.domElement;return new ke(e.clientWidth,e.clientHeight)}},{key:"delayHandle",value:function(){var e=this;this.timeoutId&&clearTimeout(this.timeoutId),this.timeoutId=setTimeout((function(){e.update(!0,!0)}),200),this.needUpdateRenderList(!1)}},{key:"updateMaxPitch",value:function(e){this.maxPitch=e}},{key:"updateMinPitch",value:function(e){this.minPitch=e}},{key:"enabledPolar",value:function(e){Kp.LockAxisZ=e}},{key:"setMinPolarAngle",value:function(e){"number"==typeof e&&(Array.isArray(Kp.LockAxisZRange)||(Kp.LockAxisZRange=[]),Kp.LockAxisZRange[0]=e)}},{key:"setMaxPolarAngle",value:function(e){"number"==typeof e&&(Array.isArray(Kp.LockAxisZRange)||(Kp.LockAxisZRange=[]),Kp.LockAxisZRange[1]=e)}},{key:"getMinPolarAngle",value:function(){return Kp.LockAxisZRange?Kp.LockAxisZRange[0]:null}},{key:"getMaxPolarAngle",value:function(){return Kp.LockAxisZRange?Kp.LockAxisZRange[1]:null}},{key:"processRotate",value:function(e,t){var i=this.viewer.getClientSize(),n=-2*Math.PI*e.x/i.x,r=-2*Math.PI*e.y/i.y;this.handleRotation(n,r,t)}},{key:"getRotatePivot",value:function(e,t){return this.userInputHelper.getRotatePivot(e,t)}},{key:"handleRotation",value:function(e,t,i){var n=this.camera,r=n.position,o=n.target.clone(),a=n.getWorldDirection(o),s=o.clone().sub(r).length(),l=null,c=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=null,l=null,c=null,h=new Ke;if(i){if(l=(o=r.clone().sub(i)).length(),o.normalize(),c=o.clone().applyQuaternion(e).normalize(),t&&null!=n.minimumElevation){var d=r.clone();if(d.copy(i).add(c.clone().multiplyScalar(l)),n.minimumElevation>d.z)return!1}n.position.copy(i).add(c.multiplyScalar(l)),a.applyQuaternion(e).normalize(),h.copy(r).add(a.multiplyScalar(s)),n.target.copy(h)}else a.applyQuaternion(e).normalize(),h.copy(r).add(a.multiplyScalar(s)),n.target.copy(h);return!0},h=n.realUp||n.up,d=a.clone().cross(h).normalize().clone().cross(a).normalize();n.realUp.copy(d);var u=null;if(Kp.LockAxisZ){if(Math.abs(e)>Math.abs(t))u=wg,c(l=(new Ge).setFromAxisAngle(u,e)),n.realUp.applyQuaternion(l).normalize(),this.adjustCameraUp();else if(null!=Kp.LockAxisZRange&&Math.abs(t)>1e-4){Pg(n,t,i,Kp.LockAxisZRange)&&(u=a.clone().cross(h).normalize(),c(l=(new Ge).setFromAxisAngle(u,t)),n.realUp.applyQuaternion(l).normalize(),this.adjustCameraUp())}}else if(Math.abs(e)<Math.abs(t)){if(Math.abs(t)>1e-4){if(null!=this.maxPitch&&null!=this.minPitch){var p=n.target.clone().sub(n.position),g=new ke(Math.sqrt(p.x*p.x+p.y*p.y)*(n.realUp.z>0?1:-1),p.z).angle();if(g-Math.PI>0&&(g-=2*Math.PI),g=-g,0>t){if(g+t*(n.realUp.z>0?1:-1)>=this.maxPitch)return}else if(null!=n.minimumElevation&&n.minimumElevation>n.position.z||this.minPitch>=g-t)return}if(u=a.clone().cross(n.realUp).normalize(),!c(l=(new Ge).setFromAxisAngle(u,t),t>0))return;n.realUp.applyQuaternion(l).normalize(),this.adjustCameraUp()}}else(1e-4>Math.abs(a.z+1)||1e-4>Math.abs(a.z-1))&&(u=a.clone().cross(n.realUp).normalize(),c(l=(new Ge).setFromAxisAngle(u,.1)),n.realUp.applyQuaternion(l).normalize(),this.adjustCameraUp()),u=new Ke(0,0,a.z>0&&0>n.realUp.z?-1:1),c(l=(new Ge).setFromAxisAngle(u,e)),n.realUp.applyQuaternion(l).normalize();this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"updateCamera",value:function(){var e=this.camera;e.dirty&&(e.lookAt(e.target),e.updateMVP(),this.adjustCameraUp(),this.dispatchEvent({type:Fd.ON_CAMERA_CHANGE,camera:this.camera}))}},{key:"update",value:function(e,t){this.updateCamera(),this.dispatchEvent({type:Fd.ON_CAMERA_CHANGE,camera:this.camera});var i=this.camera;e?(void 0!==t&&this.needUpdateRenderList(t),this._changeCallBack(),Eg.copy(i.position),Bg.copy(i.quaternion)):(Eg.distanceToSquared(i.position)>Yp.EPSILON6||8*(1-Bg.dot(i.quaternion))>Yp.EPSILON6)&&(this._changeCallBack(),Eg.copy(i.position),Bg.copy(i.quaternion))}},{key:"updateView",value:function(e){this.dispatchEvent({type:Fd.ON_CAMERA_CHANGE,camera:this.camera}),this._changeCallBack()}},{key:"updateHighlight",value:function(){this.dispatchEvent({type:Fd.ON_CAMERA_CHANGE,camera:this.camera}),this._changeCallBack(!0)}},{key:"needUpdateRenderList",value:function(e){this.viewer.controlManager.isUpdateRenderList=e}},{key:"pan",value:function(e,t){var i=this.domElement===document?this.domElement.body:this.domElement,n=new Ke,r=this;function o(e){var t=r.camera.matrix.elements;n.set(t[0],t[1],t[2]),n.multiplyScalar(-e),r.camera.target.add(n),r.camera.position.add(n)}function a(e){var t=r.camera.matrix.elements;n.set(t[4],t[5],t[6]),n.multiplyScalar(e),r.camera.target.add(n),r.camera.position.add(n)}if(this.camera.isPerspective){var s=this.camera.position.clone().sub(this.camera.target).length();o(2*e*(s*=Math.tan(this.camera.fov/2*Math.PI/180))/i.clientHeight),a(2*t*s/i.clientHeight)}else void 0!==this.camera.top?(o(e*(this.camera.right-this.camera.left)/i.clientWidth),a(t*(this.camera.top-this.camera.bottom)/i.clientHeight)):Bu.warn("WARNING: CloudPickControl.js encountered an unknown camera type - pan disabled.");this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"_checkZoomNearBoundary",value:function(e,t){if(0>t){Rg.copy(e);var i=this.scene.getOriginalBoundingBoxWorld(),n=.5*i.getSize(Rg).length()/Math.tan(be.degToRad(.5*this.camera.fov)),r=this.scene.getMatrixWorldGlobal();bg.copy(r).invert(),Rg.applyMatrix4(bg);var o=20*n,a=i.getCenter(Rg);if(Rg.distanceTo(a)>o)return!0}return!1}},{key:"endOperation",value:function(){this.intersector.lastIntersect=null}},{key:"onUserInputFinished",value:function(){this.userInputWorking=!1,this.viewer.modelManager.setRenderStateChanged(!0),this.viewer.render()}},{key:"zoom",value:function(e,t,i){var n=null;wp.isDefined(t)&&wp.isDefined(i)&&(n=this.userInputHelper.getTrackingPoint(t,i)),this.userInputHelper.adjustCameraForZoom(e,n),this.update()}},{key:"touchDolly",value:function(e,t,i){var n=.5*i,r=new ke(e,t),o=this.getIntersectContext(r),a=this.intersector.hitTest(o);this.userInputHelper.adjustCameraForZoom(n,null!=a?a:null)}},{key:"zoomWithCenter",value:function(e,t){this.userInputHelper.adjustCameraForZoom(e>0?e/(1-e):e,this.scene.worldToDrawing(t)),this.update()}},{key:"getContainerDimensions",value:function(){return ag.getDomOffsetToClient(this.domElement)}},{key:"screenToCanvas",value:function(e,t){var i=this.getContainerDimensions();return{x:e-i.left,y:t-i.top}}},{key:"calculatePivot",value:function(e,t){return this.userInputHelper.getRotatePivot(e,t)}},{key:"mapWindowToViewport",value:function(e,t,i){var n=this.getContainerDimensions(),r=i||new ke;return r.x=(e-n.left)/n.width*2-1,r.y=-(t-n.top)/n.height*2+1,r}},{key:"mapViewportToWindow",value:function(e,t,i){var n=this.getContainerDimensions(),r=i||new ke;return r.x=(e+1)/2*n.width+n.left,r.y=(1-t)/2*n.height+n.top,r}},{key:"computeFrustum",value:function(e,t,i,n,r,o){var a=this,s=this.camera,l=s.near*Math.tan(be.degToRad(.5*s.fov)),c=l*s.aspect,h=(e-o.left)/o.width*2-1,d=(t-o.left)/o.width*2-1,u=-(i-o.top)/o.height*2+1,p=-(n-o.top)/o.height*2+1;if(s.isPerspective?Fg.makePerspective(h*c,d*c,u*l,p*l,s.near,s.far):Fg.makeOrthographic(h*c,d*c,u*l,p*l,s.near,s.far),s.updateMatrixWorld(),s.matrixWorldInverse.copy(s.matrixWorld).invert(),Qg.multiplyMatrices(Fg,s.matrixWorldInverse),r.setFromProjectionMatrix(Qg),!s.isPerspective){var g=function(e,t,i,n,o){var s,l=[a.viewer.worldToDrawing(a.viewer.clientToWorld({x:t,y:i,z:0})),a.viewer.worldToDrawing(a.viewer.clientToWorld({x:n,y:o,z:0})),a.viewer.worldToDrawing(a.viewer.clientToWorld({x:n,y:o,z:1}))];(s=r.planes[e]).setFromCoplanarPoints.apply(s,l)};g(0,e,i,e,n),g(1,t,n,t,i),g(2,e,n,t,n),g(3,t,i,e,i)}}},{key:"getCameraName",value:function(){return this.camera===this.viewer.defaultCamera?this.camera.isPerspective?Md.PERSPECTIVE:Md.ORTHOGRAPHIC:this.camera.name}},{key:"getCameraInfo",value:function(){var e=new Hp(this.getCameraName(),this.camera.position,this.camera.target,this.camera.up);return JSON.stringify(e)}},{key:"adjustCameraUp",value:function(){this.camera.realUp.z>0?this.camera.up.set(0,0,1):0>this.camera.realUp.z?this.camera.up.set(0,0,-1):this.camera.realUp.x>0?this.camera.up.set(1,0,0):0>this.camera.realUp.x?this.camera.up.set(-1,0,0):this.camera.realUp.y>0?this.camera.up.set(0,1,0):0>this.camera.realUp.y&&this.camera.up.set(0,-1,0)}},{key:"getWorldRight",value:function(){var e=new Ke,t=this.camera.up,i=this.camera.direction(Ug);return e.crossVectors(i,t),0===e.lengthSq()&&(t.y>t.z?i.z-=1e-4:i.y+=1e-4,e.crossVectors(i,t)),e.normalize()}},{key:"getWorldEye",value:function(){return this.camera.direction(Ug)}},{key:"getWorldRightByRealUp",value:function(){var e=new Ke,t=this.camera.realUp,i=this.camera.direction(Ug);return e.crossVectors(i,t),0===e.lengthSq()&&(t.y>t.z?i.z-=1e-4:i.y+=1e-4,e.crossVectors(i,t)),e.normalize()}},{key:"getWorldUp",value:function(){var e=this.getWorldRight(),t=this.camera.direction(Ug);return e.cross(t).normalize()}},{key:"getWorldPointFromNearPlane",value:function(e,t){var i=new Ke(e,t,0);return i.unproject(this.camera),i}},{key:"setCameraPosition",value:function(e){var t=this.camera,i=this.camera.direction(),n=i.length(),r=i.clone();r.normalize(),r.setLength(n),t.position.copy(e),t.target.addVectors(t.position,r),this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"moveStraight",value:function(e,t){var i=this.camera.position,n=this.camera.target;if(t){var r=new Ke(n.x-i.x,0,n.z-i.z),o=e/r.length(),a=new Ke(r.x*o,0,r.z*o);i.add(a),n.add(a)}else{var s=n.clone().sub(i);this.camera.translateZ(-e),n.addVectors(i,s)}this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"getIntersectContext",value:function(e){return this.userInputHelper.getIntersectContext(e)}},{key:"getLastIntersect",value:function(){return this.intersector.lastIntersect}},{key:"touchUpdateRotationInPersonView",value:function(e,t){this.dirtyCamera(!0),this.setCameraChanging(!0);var i=this,n=this.camera.position,r=this.camera.target.clone().sub(n).length();this.camera.getWorldDirection(Tg);var o=this.camera.realUp||this.camera.up,a=Tg.clone().cross(o).normalize(),s=a.clone().cross(Tg).normalize();this.camera.realUp.copy(s);var l=Kp.LockAxisZRange,c=null,h=null;if(Math.abs(e)>Math.abs(t))c=wg,h=e;else{if(Kp.LockAxisZ&&!Pg(this.camera,t,this.camera.target,l))return;c=a;var d=new Ke(0,0,1).clone().cross(o),u=d.dot(a),p=Math.asin(d.length());0>u&&(p=-p),p+t>Math.PI/4-Yp.EPSILON6?t=Math.PI/4-Yp.EPSILON6-p:p+t<-Math.PI/4+Yp.EPSILON6&&(t=-Math.PI/4+Yp.EPSILON6-p),h=t}var g,f,m=(new Ge).setFromAxisAngle(c,h);g=m,f=new Ke,Tg.applyQuaternion(g).normalize(),f.copy(n).add(Tg.multiplyScalar(r)),i.camera.target.copy(f),this.camera.realUp.applyQuaternion(m).normalize()}},{key:"touchUpdateRotationInModelView",value:function(e,t,i){this.dirtyCamera(!0),this.setCameraChanging(!0);var n=i||this.scene.getBoundingBox().getCenter(Rg),r=this.camera.position,o=this.camera.target.clone().sub(r).length(),a=r.clone().sub(n),s=a.length(),l=null;this.camera.getWorldDirection(Tg),a.normalize();var c=this,h=function(e){var t=new Ke,i=a.clone().applyQuaternion(e).normalize();r.copy(n).add(i.multiplyScalar(s)),Tg.applyQuaternion(e).normalize(),t.copy(r).add(Tg.multiplyScalar(o)),c.camera.target.copy(t)},d=this.camera.up,u=Tg.clone().cross(d).normalize(),p=u.clone().cross(Tg).normalize();this.camera.realUp.copy(p);var g=null;if(Kp.LockAxisZ){if(Math.abs(e)>Math.abs(t))g=wg,h(l=(new Ge).setFromAxisAngle(g,e)),this.camera.realUp.applyQuaternion(l).normalize();else if(null!=Kp.LockAxisZRange&&Math.abs(t)>1e-4){Pg(this.camera,t,n,Kp.LockAxisZRange)&&(g=Tg.clone().cross(d).normalize(),h(l=(new Ge).setFromAxisAngle(g,t)),this.camera.realUp.applyQuaternion(l).normalize(),this.adjustCameraUp())}}else if(Math.abs(e)>Math.abs(t))(1e-4>Math.abs(Tg.z+1)||1e-4>Math.abs(Tg.z-1))&&(g=Tg.clone().cross(this.camera.realUp).normalize(),h(l=(new Ge).setFromAxisAngle(g,.1)),this.camera.realUp.applyQuaternion(l).normalize(),this.adjustCameraUp()),g=new Ke(0,0,Tg.z>0&&0>this.camera.realUp.z?-1:1),h(l=(new Ge).setFromAxisAngle(g,e)),this.camera.realUp.applyQuaternion(l).normalize();else if(Math.abs(t)>.01){g=Tg.clone().cross(this.camera.realUp).normalize();var f=new Ke(0,0,1).clone().cross(d),m=f.dot(u),A=Math.asin(f.length());0>m&&(A=-A),A+t>Math.PI/2-Yp.EPSILON6?t=Math.PI/2-Yp.EPSILON6-A:A+t<-Math.PI/2+Yp.EPSILON6&&(t=-Math.PI/2+Yp.EPSILON6-A),h(l=(new Ge).setFromAxisAngle(g,t)),this.camera.realUp.applyQuaternion(l).normalize(),this.adjustCameraUp()}this.pivotBallGroup||function(e){e.pivotBallGroup=e.scene.getOrCreateGroup(Vp.PIVOTBALL,{priority:10,globalSpace:!1});var t=new Ks(15,64,64),i=new nn(t,new ig({color:16777215,depthTest:!1,opacity:.5,transparent:!0,side:2}));t=new Ks(1,64,64);var n=new nn(t,new ig({color:16711680,depthTest:!1,opacity:.5,transparent:!0,side:2}));e.pivotBallGroup.add(i),e.pivotBallGroup.add(n)}(this),this.pivotBallGroup.visible=!0;for(var y=function(e){var t=e.camera,i=t.position,n=e.camera.target.clone().sub(i);n.normalize();var r=new Jt;r.setFromNormalAndCoplanarPoint(n.clone().negate(),Ng(e)),r.normalize();var o=r.distanceToPoint(i)*Math.tan(.5*t.fov),a=e.getContainerDimensions();return 2*o/(a.height-a.top)}(this),v=Ng(this),C=0;this.pivotBallGroup.children.length>C;C+=1){var I=this.pivotBallGroup.children[C];I.position.copy(v),I.scale.set(y,y,y),I.updateMatrixWorld()}}},{key:"touchUpdateRotation",value:function(e,t){var i=this.camera.position;this.scene.getBoundingBox().containsPoint(i)?this.touchUpdateRotationInPersonView(e,t):this.touchUpdateRotationInModelView(e,t,Ng(this))}},{key:"clearTouchRotateState",value:function(){this.pivotBallGroup&&(this.pivotBallGroup.visible=!1)}},{key:"touchEndHandler",value:function(){this.viewer.controlManager.cameraChange=!1,this.clearTouchRotateState(),this.touchUpdate()}},{key:"touchUpdate",value:function(){var e=new Ke;e.copy(this.camera.up),this.camera.up.copy(this.camera.realUp),this.camera.lookAt(this.camera.target),this.camera.up.copy(e),this.camera.updateMVP(),(kg.distanceToSquared(this.camera.position)>Yp.EPSILON6||8*(1-Dg.dot(this.camera.quaternion))>Yp.EPSILON6)&&(this.dispatchEvent({type:Fd.ON_CAMERA_CHANGE,camera:this.camera}),this._changeCallBack(),this.dirtyCamera(!1),kg.copy(this.camera.position),Dg.copy(this.camera.quaternion))}},{key:"goTurnForWalk",value:function(e){var t=this.getCamera(),i=t.position,n=t.target,r=new Ke(n.x-i.x,n.y-i.y,0),o=Math.cos(e),a=Math.sin(e),s=new Ke(r.x*o-r.y*a,r.x*a+r.y*o,0);n.x=i.x+s.x,n.y=i.y+s.y,this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"goPitchForWalk",value:function(e){var t=this.getCamera(),i=t.position,n=t.target,r=n.x-i.x,o=n.y-i.y,a=Math.sqrt(r*r+o*o),s=new Ke(a,0,n.z-i.z),l=Math.cos(e),c=Math.sin(e),h=new Ke(s.x*l-s.z*c,0,s.x*c+s.z*l);n.z=i.z+h.z,this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"goUpDownForWalk",value:function(e,t){var i=this.getCamera(),n=i.position,r=i.target,o=new Ke(0,0,1),a=Gg(i,this.scene.getMatrixGlobal(),o,e);t&&(t.position.y+=a.stepDiffWorld.y),n.z+=a.stepDiffDrawing.z,r.z+=a.stepDiffDrawing.z,this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"stepCameraForWalk",value:function(e,t,i){var n,r=this.getCamera(),o=r.position,a=r.target,s=new Ke(a.x-o.x,a.y-o.y,0).normalize(),l=new Ke(0,0,1),c=s.clone().cross(l),h=this.scene.getMatrixGlobal();switch(e){case Hd.FORWARD:n=Gg(r,h,s,t);break;case Hd.BACK:s.multiplyScalar(-1),n=Gg(r,h,s,t);break;case Hd.LEFT:c.multiplyScalar(-1),n=Gg(r,h,c,t);break;case Hd.RIGHT:n=Gg(r,h,c,t)}if(n.stepDiffDrawing.z=0,n.stepDiffWorld.y=0,i)return n;o.add(n.stepDiffDrawing),a.add(n.stepDiffDrawing),this.dirtyCamera(!0),this.setCameraChanging(!0)}},{key:"hitTestWithGround",value:function(e){var t=this.getCamera(),i=t.up.clone().multiplyScalar(-1);e&&(e.box.getCenter(Rg),Rg.z=e.box.max.z);var n=e?this.scene.worldToDrawing(Rg):t.position.clone(),r=new At(n,i),o=this.getIntersectContext(null),a=this.intersector.byGravity;this.intersector.byGravity=!0;var s=this.intersector.intersect(o,r,!1);return this.intersector.byGravity=a,s}},{key:"hitTestForward",value:function(e,t){var i=this.getCamera(),n=this.camera.direction();n.normalize(),n=n.multiplyScalar(e);var r,o=[],a=this.getIntersectContext(null);if(a.camera.near=-1,t)o=this.intersector.intersectByBox(a,t);else{r=i.position.clone();var s=new At(r,n),l=this.intersector.intersect(a,s,!1);l&&o.push(l)}return o}},{key:"hitTestRight",value:function(e,t){var i=this.getCamera(),n=this.camera.direction();n.normalize();var r,o=n.cross(i.up).normalize();o=o.multiplyScalar(e);var a=[],s=this.getIntersectContext(null);if(s.camera.near=-1,t)a=this.intersector.intersectByBox(s,t);else{r=i.position.clone();var l=new At(r,o),c=this.intersector.intersect(s,l,!1);c&&a.push(c)}return a}},{key:"setRealManHeight",value:function(e){e!==this._realManHeight&&(this._realManHeight=e,this.manHeight=void 0)}},{key:"getRealManHeight",value:function(){return this._realManHeight}},{key:"computeGravity",value:function(e){this.gravity=0;var t=this.hitTestWithGround(e);if(null==t){var i=this.scene.getMatrixGlobal();bg.copy(i).invert();var n=this.camera.position.clone();n.applyMatrix4(bg),n.z=this.scene.getBoundingBoxWorld().min.z||0,n.applyMatrix4(i),this.distanceToGround=Math.abs(this.camera.position.z-n.z)}if(void 0===this.manHeight)this.computeManHeight(e);else{var r=t?t.distance-this.manHeight:this.distanceToGround-this.manHeight;if(r/=this.scene.getGlobalScaleFactor(),.1>Math.abs(r))return 0;this.gravity=r}}},{key:"computeManHeight",value:function(e){var t;if(t=this.sceneLengthUnitFactor,!this.manHeight){var i=this.hitTestWithGround(e),n=e?.94*e.box.getSize(Rg).z:this._realManHeight*t,r=this.scene.getMatrixGlobal();if(bg.copy(r).invert(),null!=i){var o=i.point.clone();o.applyMatrix4(bg),o.z+=n,o.applyMatrix4(r),this.manHeight=Math.abs(i.point.z-o.z)}else{var a=e?e.box.min.clone():this.camera.position.clone();a.applyMatrix4(bg),a.z=0;var s=a.clone();s.z+=n,a.applyMatrix4(r),s.applyMatrix4(r),this.manHeight=Math.abs(s.z-a.z)}}}},{key:"walkWithParallelEye",value:function(){var e=this.camera,t=this.camera.direction().length(),i=this.scene.getBoundingBox().getCenter(Rg),n=new Ke;n.subVectors(i,e.position);var r=n.length();n.y=0,n.normalize(),n.multiplyScalar(r),e.position.subVectors(i,n),e.target.addVectors(e.position,n.normalize().multiplyScalar(t));var o=new Ke(0,0,1);e.up.copy(o),e.realUp.copy(o),this.dirtyCamera(!0),this.setCameraChanging(!0),this.update(!0)}},{key:"updateFlyMove",value:function(e,t){var i=this.camera;this.dirtyCamera(!0),this.setCameraChanging(!0);var n=Hd;e&n.FORWARD&&i.translateY(-t),e&n.BACK&&i.translateY(t),e&n.LEFT&&i.translateX(-t),e&n.RIGHT&&i.translateX(t),e&n.UP&&i.translateZ(t),e&n.DOWN&&i.translateZ(-t),this.flyOnWorld()}},{key:"flyOnWorld",value:function(e){var t=this.camera,i=t.up.clone();(e=!1!==e)&&t.realUp&&(t.up.copy(t.realUp),t.lookAt(t.target),t.up.copy(i)),this.updateCamera(),this._changeCallBack(),this.dirtyCamera(!1),Eg.copy(t.position),Bg.copy(t.quaternion)}},{key:"rotateForFly",value:function(e,t,i,n){var r=this.camera,o=r.position,a=r.target,s=a.clone().sub(o),l=new Ke(0,0,1),c=r.realUp||r.up,h=s.clone().cross(c).normalize();if(this.dirtyCamera(!0),this.setCameraChanging(!0),Kp.LockAxisZ&&(t=0),0!=t){var d=(new Ge).setFromAxisAngle(h,-t),u=s.clone();u.applyQuaternion(d);var p=u.angleTo(l);i>(p-=.5*Math.PI)||p>n||s.applyQuaternion(d)}if(0!=e){var g=(new Ge).setFromAxisAngle(l,-e);s.applyQuaternion(g)}a.addVectors(o,s),this.flyOnWorld()}},{key:"fitAndRotateBySelection",value:function(){this.viewer.zoomToSelection()}},{key:"flyToPointWithParallelEye",value:function(e){var t=this.camera.direction(),i=t.length(),n=t.clone();n.z=0,n.normalize(),n.setLength(i);var r=new Ke(0,0,1);this.camera.up=r,this.camera.realUp=r.clone(),this.camera.position.copy(e),this.camera.target.addVectors(this.camera.position,n),this.update(!0)}},{key:"flyToPoint",value:function(e){var t=this.camera.direction();this.camera.position.copy(e),this.camera.target.addVectors(this.camera.position,t),this.update(!0)}},{key:"setCameraHeight",value:function(e,t){this.cameraAbsoluteHeightEnabled=!1,this.cameraRelativeHeight=t,void 0===this.cameraConstraintHeights?this.cameraConstraintHeights=[]:this.cameraConstraintHeights.length=0;for(var i=0,n=e.length;n>i;i+=1)this.cameraConstraintHeights[i]=e[i]}},{key:"updateCameraHeight",value:function(){var e=this.scene,t=this.getCamera(),i=e.drawingToWorld(t.position),n=i.z,r=null,o=null;if(this.cameraAbsoluteHeightEnabled)void 0===this.cameraAbsoluteHeight&&(this.cameraAbsoluteHeight=n),r=this.cameraAbsoluteHeight;else if(void 0===this.cameraConstraintHeights)r=n;else{var a=wp.findRange(this.cameraConstraintHeights,n);if(r=this.cameraConstraintHeights[a],r+=this.cameraRelativeHeight,this.cameraConstraintHeights.length-1>a){var s=this.cameraConstraintHeights[a+1];r>s&&(r=s)}}r!==n&&(o=e.worldToDrawing({x:i.x,y:i.y,z:r}),this.setCameraPosition(o))}},{key:"getRaycaster",value:function(e,t){var i=new Xp,n=new ke;return this.userInputHelper.clientToViewport(e,t,n),i.setFromCamera(n,this.camera),i}},{key:"translateCameraForWalk",value:function(e,t){var i=this.collisionManager;if(0!==e.x){if(!1===xd.EnableHitDetection)return void this.stepCameraForWalk(Hd.RIGHT,e.x*t);var n=1;0>e.x&&(n=-1);var r=this.hitTestRight(n)[0];if(r){var o=this.viewer.modelManager.getNodeInfosByUserId(r.userId);if(!i.hasCollision({type:o?o[0].type:null},r.distance)){var a=t;Math.abs(t)>r.distance&&(a=t>0?r.distance-i.distance*i.factor-.1*this.sceneLengthUnitFactor:i.distance*i.factor-r.distance+.1*this.sceneLengthUnitFactor),this.stepCameraForWalk(Hd.RIGHT,e.x*a)}}else this.stepCameraForWalk(Hd.RIGHT,e.x*t)}if(0!==e.z)this.goUpDownForWalk(e.z*t*.5);else if(xd.WalkingWithGravity){var s=t;if(0!=this.gravity){var l=Math.abs(this.gravity);s=l>s?.2*l:l}this.gravity>0?this.goUpDownForWalk(-s):0>this.gravity&&this.goUpDownForWalk(s)}if(0!==e.y){if(!1===xd.EnableHitDetection)return void this.stepCameraForWalk(Hd.BACK,e.y*t);n=1;e.y>0&&(n=-1);var c=this.hitTestForward(n)[0];if(c){var h=this.viewer.modelManager.getNodeInfosByUserId(c.userId);if(!i.hasCollision({type:h?h[0].type:null},c.distance)){var d=t;Math.abs(t)>c.distance&&(d=t>0?c.distance-i.distance*i.factor-.1*this.sceneLengthUnitFactor:i.distance*i.factor-c.distance+.1*this.sceneLengthUnitFactor),this.stepCameraForWalk(Hd.BACK,e.y*d)}}else this.stepCameraForWalk(Hd.BACK,e.y*t)}}},{key:"translateCameraForThirdpersonWalk",value:function(e,t,i){var n=this.collisionManager;if(i.box.getSize(Og),Lg.set(i.box.min,i.box.max),Lg.min.z+=.5*Og.z,Lg.max.z-=.2*Og.z,0!==e.x){var r=this.stepCameraForWalk(Hd.RIGHT,e.x*t,i);if(Lg.min.add(r.stepDiffWorld),Lg.max.add(r.stepDiffWorld),!1===xd.EnableHitDetection)return void this.stepObjectForWalk(r,i,Lg);var o=1;0>e.x&&(o=-1);for(var a=this.hitTestRight(o,Lg),s=!1,l=0;a.length>l;l++){var c=this.viewer.modelManager.getNodeInfosByUserId(a[l]);if(s=n.hasCollision(c?c[0].userData:null,0))break}s||this.stepObjectForWalk(r,i,Lg)}if(0!==e.z)this.goUpDownForWalk(e.z*t*.5,i);else if(xd.WalkingWithGravity){var h=t;if(0!=this.gravity){var d=Math.abs(this.gravity);h=d>h?.2*d:d}this.gravity>0?this.goUpDownForWalk(-h,i):0>this.gravity&&this.goUpDownForWalk(h,i)}if(0!==e.y){var u=this.stepCameraForWalk(Hd.BACK,e.y*t,i);if(Lg.min.add(u.stepDiffWorld),Lg.max.add(u.stepDiffWorld),!1===xd.EnableHitDetection)return void this.stepObjectForWalk(u,i,Lg);o=1;e.y>0&&(o=-1);for(var p=this.hitTestForward(o,Lg),g=!1,f=0;p.length>f;f+=1){c=this.viewer.modelManager.getNodeInfosByUserId(p[f]);if(g=n.hasCollision(c?c[0].userData:null,0))break}g||this.stepObjectForWalk(u,i,Lg)}}},{key:"stepObjectForWalk",value:function(e,t,i){function n(e,t){return!(e.min.x>t.x||t.x>e.max.x||e.min.y>t.y||t.y>e.max.y)}var r=this.scene.getBoundingBoxWorld();if(n(r,i.min)&&n(r,i.max)){t.box.min.add(e.stepDiffWorld),t.box.max.add(e.stepDiffWorld),t.position.add(e.stepDiffWorld);var o=this.getCamera(),a=o.target;o.position.add(e.stepDiffDrawing),a.add(e.stepDiffDrawing),this.dirtyCamera(!0),this.setCameraChanging(!0)}}},{key:"rotateCameraForWalk",value:function(e,t){0!==e.y&&(this.goTurnForWalk(e.y*Math.PI*t),e.y=0),0!==e.x&&(this.goPitchForWalk(e.x*Math.PI),e.x=0)}},{key:"movePlane",value:function(e,t,i,n,r){if(null==r){var o=new Jt;o.setComponents(e.x,e.y,e.z,e.w),r=new Ke,o.coplanarPoint(r)}var a=new Ke(e.x,e.y,e.z),s=this.camera.getWorldDirection(Rg),l=new Jt;l.setFromNormalAndCoplanarPoint(s,r);var c=this.getRaycaster(t.clientX,t.clientY),h=new Ke,d=this.getRaycaster(i.x,i.y),u=new Ke;if(c.ray.intersectPlane(l,h)&&d.ray.intersectPlane(l,u)){h.subVectors(h,u),h.projectOnVector(a);var p=h.length();if(0>h.dot(a)&&(p=-p),0!=p)return n&&(a.multiplyScalar(p),p=a.x+a.y+a.z),p}return null}},{key:"getZenith",value:function(){var e=this.camera.position,t=this.viewer.getBoundingBox().getCenter(Rg);return e.clone().sub(t.clone()).clone().angleTo(wg.clone())}},{key:"getAzimuth",value:function(){var e=this.camera.position,t=this.viewer.getBoundingBox().getCenter(Rg),i=e.clone().sub(t.clone()).clone().projectOnPlane(Mg.clone()),n=i.angleTo(wg.clone());return 0>i.x&&(n=360-n),n}},{key:"getCurrentRangeofCamera",value:function(){var e=this.camera,t=this.viewer.getBoundingBox(),i=e.position,n=.5*t.getSize(Rg).length()/Math.tan(be.degToRad(.5*e.fov));return t.getCenter(Rg).distanceTo(i)/n}},{key:"setMaximalRangeofCamera",value:function(e){this.farFactor=e||2}},{key:"getMaximalRangeofCamera",value:function(){return this.farFactor}},{key:"cameraWithinMaximumRange",value:function(e){var t=e||this.farFactor;return this.getCurrentRangeofCamera()<=t}},{key:"resetCameraToMaximumRange",value:function(e){var t=this.camera,i=this.viewer.getBoundingBox(),n=t.position,r=e||this.farFactor,o=.5*i.getSize(Rg).length()/Math.tan(be.degToRad(.5*t.fov)),a=i.getCenter(Rg),s=(new Ke).subVectors(a,n);s.setLength(r*o);var l=a.clone().sub(s),c=this.camera.direction();this.camera.position.copy(l),this.camera.target.copy(c.add(l)),this.updateView(!0)}},{key:"setSceneUnit",value:function(e){var t=1;switch(e){case"m":t=.001;break;case"mm":t=1;break;case"km":t=1e-6;break;default:t=1}this.collisionManager.setFactor(t),this.sceneLengthUnitFactor=t}},{key:"projectPositionToBottom",value:function(e){var t=void 0;if(e instanceof Array)t=new Ke(e[0],e[1],e[2]);else{if(!(e instanceof Ke))return;t=e}this.getCamera();var i=new Ke(0,0,-t.z).normalize(),n=new At(t,i),r=this.getIntersectContext(null),o=this.intersector.byGravity;this.intersector.byGravity=!0;var a=this.intersector.intersect(r,n,!1);if(this.intersector.byGravity=o,a)return a.point}},{key:"setZoomSpeed",value:function(e){"number"==typeof e&&e>0&&(this.zoomSpeed=e)}},{key:"getZoomSpeed",value:function(){return this.zoomSpeed}},{key:"setZoomOutLimitRate",value:function(e){"number"==typeof e&&e>0&&(this.farFactor=e)}},{key:"getZoomOutLimitRate",value:function(){return this.farFactor}},{key:"zoomCameraForWalk",value:function(e){this.this.userInputHelper.adjustCameraForZoom(e,null)}},{key:"computeRotation",value:function(){var e=new yt;e.lookAt(this.camera.position,this.camera.target,this.camera.up);var t=new Ge;t.setFromRotationMatrix(e);var i=new bt;return i.setFromQuaternion(t,void 0,!1),i}},{key:"isKeepZoom",value:function(e,t,i){this.dirtyCamera(!0),this.setCameraChanging(!0),void 0===t&&(t=this.minDistance),void 0===i&&(i=this.maxDistance);var n=this.camera.position,r=this.camera.target,o=new Ke;o.copy(n).sub(r);var a=o.length()*(2-e);return!(t>a||a>i)}}]),i}(hg),Vg=function(){this.duration=500,this._state=null};Vg.prototype.rotateCameraByViewCubeSide=function(e,t,i,n){var r=e.target.clone(),o=t.getCenter(new Ke),a=e.quaternion.clone(),s=e.position.clone(),l=this._calculateDistanceAndEuler(i,t),c=(new Ge).setFromEuler(l.euler).invert(),h=new yt;h.makeRotationFromQuaternion(c);var d=h.elements,u=new Ke(-d[8],-d[9],-d[10]).normalize();u.setLength(l.distance);var p=o.clone().sub(u);if(!s.equals(p)||!a.equals(c)){var g=this._calculatePositionRotateInfo(a,c,s,p);this._state&&this._state.timerID&&(cancelAnimationFrame(this._state.timerID),this._state.timerID=void 0),this._state={startTime:Date.now(),startQuaternion:a,endQuaternion:c,startPosition:s,endPosition:p,startTarget:r,endTarget:o,positionRotateInfo:g,onUpdate:n},this._state.timerID=requestAnimationFrame(this._animate.bind(this))}},Vg.prototype.cancelAnimation=function(){this._state&&this._state.timerID&&(cancelAnimationFrame(this._state.timerID),this._state=void 0)},Vg.prototype._animate=function(){if(this._state){var e=Date.now(),t=this._state,i=t.startTarget,n=t.endTarget,r=t.startQuaternion,o=t.endQuaternion,a=t.startPosition,s=t.endPosition,l=t.positionRotateInfo,c=Math.min((e-t.startTime)/this.duration,1);c=this._easyOut(c);var h=o.clone();r.equals(o)||Ge.slerp(r,o,h,c);var d=s;a.equals(s)||(d=l?this._rotatePositionAroundCenter(l,a,s,c):a.clone().lerp(s,c));var u=n.clone();i.equals(n)||(u=u.lerpVectors(i,n,c)),"function"==typeof this._state.onUpdate&&this._state.onUpdate(c,h,d,u),1===c?(cancelAnimationFrame(this._state.timerID),this._state=null):this._state.timerID=requestAnimationFrame(this._animate.bind(this))}},Vg.prototype._calculateDistanceAndEuler=function(e,t){var i=-45,n=0,r=-135,o=0,a=t?t.getSize(new Ke):{x:0,y:0,z:0};switch(e){case kd.Home:break;case kd.Front:i=-90,n=0,r=0;break;case kd.Right:i=-90,n=0,r=-90;break;case kd.Back:i=-90,n=0,r=-180;break;case kd.Left:i=-90,n=0,r=-270;break;case kd.Top:i=0,n=0,r=0;break;case kd.Bottom:i=-180,n=0,r=-180;break;case kd.TopFront:i=-45,n=0,r=-90;break;case kd.TopRight:i=-45,n=0,r=-180;break;case kd.TopBack:i=-45,n=0,r=90;break;case kd.TopLeft:i=-45,n=0,r=0;break;case kd.BottomFront:i=-135,n=0,r=270;break;case kd.BottomRight:i=-135,n=0,r=-180;break;case kd.BottomBack:i=-135,n=0,r=90;break;case kd.BottomLeft:i=-135,n=0,r=0;break;case kd.FrontRight:i=-90,n=0,r=-135;break;case kd.BackRight:i=-90,n=0,r=-225;break;case kd.BackLeft:i=-90,n=0,r=45;break;case kd.FrontLeft:i=-90,n=0,r=-45;break;case kd.TopFrontRight:i=-45,n=-0,r=-135;break;case kd.TopBackRight:i=-45,n=0,r=-225;break;case kd.TopBackLeft:i=-45,n=0,r=-315;break;case kd.TopFrontLeft:i=-45,n=0,r=-45;break;case kd.BottomFrontRight:i=-135,n=0,r=-135;break;case kd.BottomBackRight:i=-135,n=0,r=-225;break;case kd.BottomBackLeft:i=-135,n=0,r=45;break;case kd.BottomFrontLeft:i=-135,n=0,r=-45}var s=Math.PI/180,l=new bt(i*s,n*s,r*s);return 0===(o=a.x+a.y+a.z)&&(o=xd.SceneSize/2),{euler:l,distance:o}},Vg.prototype._easyOut=function(e){return e*(2-e)},Vg.prototype._calculatePositionRotateInfo=function(e,t,i,n){var r=(new Ge).multiplyQuaternions(t,e.clone().invert());r.normalize();var o=new Ke(r.x,r.y,r.z).normalize(),a=2*Math.acos(r.w);if(0!==a){var s=null;if(a===Math.PI)s=(new Ke).addVectors(i,n).divideScalar(2);else{var l=(new Ke).addVectors(i,n),c=(new Ke).subVectors(n,i),h=o.clone().cross(c).normalize(),d=.5*c.length()/Math.tan(a/2);h.setLength(d),s=(new Ke).addVectors(l.multiplyScalar(.5),h)}var u=null,p=null,g=(new Ke).subVectors(i,s),f=g.length(),m=(new Ke).subVectors(n,i);if(a===Math.PI)p=-1,u=(new Ke).crossVectors(m,o);else{var A=(new Ke).subVectors(n,s);p=Math.cos(a),p=Math.max(-1,Math.min(1,p)),u=A.clone().sub(g.clone().multiplyScalar(p))}return{center:s,dot:p,vec:u,start:g,radiusLength:f}}},Vg.prototype._rotatePositionAroundCenter=function(e,t,i,n){if(0===n)return t;if(n>=1)return i;var r=Math.acos(e.dot)*n,o=e.start.clone(),a=e.vec.clone().normalize(),s=o.multiplyScalar(Math.cos(r)),l=a.multiplyScalar(Math.sin(r)*e.radiusLength),c=s.add(l);return c.add(e.center),c};var Yg=function(e){this.name=e,this._mousePressed=!1};Yg.prototype.getName=function(){return this.name},Yg.prototype.onExit=function(){},Yg.prototype.destroy=function(){},Yg.prototype.processMouseDown=function(e){return!1},Yg.prototype.processMouseMove=function(e){return!1},Yg.prototype.processMouseUp=function(e){return!1},Yg.prototype.processMouseWheel=function(e){return!1},Yg.prototype.processMouseDoubleClick=function(e){return!1},Yg.prototype.processKeyDown=function(e){return!1},Yg.prototype.processKeyUp=function(e){switch(e.keyCode){case Gp.ESC:this._mousePressed=!1}return!1},Yg.prototype.processTouchstart=function(e){return!1},Yg.prototype.processTouchmove=function(e){return!1},Yg.prototype.processTouchend=function(e){return!1},Yg.prototype.processHover=function(e){return!1},Yg.prototype.onEvent=function(e){var t=!1;switch(e.type){case"touchmove":t=this.processTouchmove(e);break;case"touchstart":t=this.processTouchstart(e);break;case"touchend":t=this.processTouchend(e);break;case"keydown":t=this.processKeyDown(e);break;case"keyup":t=this.processKeyUp(e);break;case"mousewheel":case"DOMMouseScroll":t=this.processMouseWheel(e);break;case"mousedown":this._mousePressed=!0,t=this.processMouseDown(e);break;case"mousemove":t=this._mousePressed?this.processMouseMove(e):this.processHover(e);break;case"mouseup":this._mousePressed=!1,t=this.processMouseUp(e);break;case"dblclick":t=this.processMouseDoubleClick(e)}return t};var Hg=function(e){Yg.call(this,Yd.CLIP_BY_BOX),this.viewer=e,this.scene=e.getScene(),this.enablePick=!1,this.cameraControl=e.cameraControl,this.clipStartPoint=new Ke,this.startPt=new ke,this.onClipBox=!1,this.mapLockedBoxFaces={},this.mapBoxFaceIndex={0:"right",1:"left",2:"top",3:"bottom",4:"front",5:"back"};for(var t=[],i=0;6>i;i+=1)t.push(new Jt);var n=this.scene.getClipPlanes(!0);n.updateClippingParams=function(i){if(0===i.iClipPlane.value)e.getRenderer().clippingPlanes=Object.freeze([]);else{for(var n=0,r=i.iClipPlane.value;r>n;n+=1){var o=i.vClipPlane.value[n],a=t[n];a.setComponents(-o.x,-o.y,-o.z,-o.w),a.normalize()}e.getRenderer().clippingPlanes=t,this.calculateClipBoundingBox(t)}},n.init(),this.selectIndex=null,this.planeDistance=0,this.offsetSpeed=.02,this.toggle=function(e,t){n.enable(e,t)},this.visible=function(e){n.visible=e},this.rotatable=function(e){n.rotatable=e},this.store=function(){return n.store()},this.restore=function(e){n.restore(e)},this.reset=function(){n.reset()},this.pointToScreen=function(e){var t=this.cameraControl.camera,i=new yt;i.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);var n=new Le(e.x,e.y,e.z,1);n.applyMatrix4(i);var r=new ke;r.x=(n.x/n.w+1)/2,r.y=1-(n.y/n.w+1)/2;var o=this.cameraControl.getContainerDimensions();return r.x=r.x*o.width+o.left,r.y=r.y*o.height+o.top,r},this.getPlaneDistanceInScreen=function(){if(null===this.selectIndex)return null;if(2>this.selectIndex){var e=n.center.clone(),t=n.center.clone();e.x-=n.cubeSize.x,t.x+=n.cubeSize.x;var i=this.pointToScreen(e),r=this.pointToScreen(t);return i.x-r.x}var o=n.center.clone(),a=n.center.clone();a.y-=n.cubeSize.y,o.y+=n.cubeSize.y;var s=this.pointToScreen(a),l=this.pointToScreen(o);return s.y-l.y},this.getPickPoint=function(e,t){var i=this.cameraControl.camera,n=this.cameraControl.getContainerDimensions(),r=(e-n.left)/n.width*2-1,o=(n.height-(t-n.top))/n.height*2-1,a=new Xp;return a.setFromCamera(new ke(r,o),i),a.ray.intersectPlane(this.plane)},this.getSelectIndex=function(){return n.selectIndex},this._isVisible=function(){return n.visible},this.isRotate=function(){return n.rotatable},this.offset=function(e){var t=Math.floor(this.selectIndex/2);n.offset(this.selectIndex,this.selectIndex>3?this.selectIndex%2==1?-e*n.cubeSize.getComponent(t)*2:e*n.cubeSize.getComponent(t)*2:-e*n.cubeSize.getComponent(t)*2)},this.setSectionBox=function(e,t){var i=new He(new Ke(e.x,e.y,e.z),new Ke(t.x,t.y,t.z));i.applyMatrix4(this.scene.getMatrixGlobal()),n.setSectionBox(i.min,i.max)},this.calculateOffsetByBox=function(e,t){var i=new He(new Ke(e.x,e.y,e.z),new Ke(t.x,t.y,t.z));i.applyMatrix4(this.scene.getMatrixGlobal()),i.setFromCenterAndSize(i.getCenter(),i.getSize().multiplyScalar(this.scene.getExpandScalar())),n.calculateOffsetByBox(i.min,i.max)},this.moveSectionPlane=function(e,t){n.moveSectionPlane(e,t)},this.rotateSectionBox=function(e,t){n.rotateSectionBox(e,t)},this.rotate=function(e,t){2===this.selectIndex||3===this.selectIndex?n.rotX(t/180*Math.PI*.1):n.rotY(e/180*Math.PI*.1)},this.update=function(e){n.update(e)},this.cancelHighLight=function(){n.cancelHighLight()},this.highLight=function(){n.highLight()},this.lockBoxFaces=function(e){var t=!0;try{for(var i,n=e[Symbol.iterator]();!(t=(i=n.next()).done);t=!0){this.mapLockedBoxFaces[i.value]=!0}}catch(e){}finally{try{!t&&n.return&&n.return()}catch(e){}}},this.unlockBox=function(){this.mapLockedBoxFaces={}},this.setProcess=function(e,t){this.mapLockedBoxFaces[e]||n.setProcess(e,t)},this.getProcess=function(e){return n.getProcess(e)}};function jg(e){return null!=e}function Wg(e,t){return null!=e?e:t}(Hg.prototype=Object.create(Yg.prototype)).constructor=Hg,Hg.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},Hg.prototype.onExit=function(){this.toggle(!1,!1)},Hg.prototype.processMouseDown=function(e){if(this.startPt.set(e.clientX,e.clientY),!this.enablePick&&e.button===n.LEFT){var t=this.cameraControl.getRaycaster(e.clientX,e.clientY),i=this.scene.getClipPlanes().hitTest(t),r=this.cameraControl.getIntersectContext(new ke(e.clientX,e.clientY)),o=this.cameraControl.intersector.intersect(r,null,!0);if(null!==o&&i.distance>=o.distance)return Yg.prototype.processMouseDown(this,e);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=t.ray.at(i.distance,this.clipStartPoint),!0}return Yg.prototype.processMouseDown(this,e)},Hg.prototype.processHover=function(e){if(!this.enablePick){var t=!1,i=this.cameraControl.getRaycaster(e.clientX,e.clientY),n=this.scene.getClipPlanes(),r=this.getSelectIndex();if(null!==r&&this.cancelHighLight(),n.hitTest(i),this.selectIndex=this.getSelectIndex(),null!==this.selectIndex){if(this.highLight(),!this.onClipBox)this.onClipBox=!0,this.cameraControl.viewer.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipBox:!0,event:e});t=!0}else if(this.onClipBox){this.onClipBox=!1,this.cameraControl.viewer.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipBox:!1,event:e})}return this.selectIndex!==r&&(this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0)),t}return Yg.prototype.processHover(this,e)},Hg.prototype.processMouseUp=function(e){if(e.button===n.LEFT){var t=this.cameraControl.getRaycaster(e.clientX,e.clientY),i=this.scene.getClipPlanes();if(null!==this.getSelectIndex()&&(this.cancelHighLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0)),i.hitTest(t),this.selectIndex=this.getSelectIndex(),xd.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:Fd.ON_CLIP_HOVER,onClipBox:!0,event:e})}else if(this.onClipBox){this.onClipBox=!1,this.cameraControl.viewer.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipBox:!1,event:e})}if(this.enablePick)return this.planeDistance=0,this.enablePick=!1,!0}return Yg.prototype.processMouseUp(this,e)},Hg.prototype.processMouseMove=function(e){if(this.enablePick){if(this.isRotate())this.rotate(e.clientX-this.startPt.x,e.clientY-this.startPt.y),this.startPt.set(e.clientX,e.clientY);else{var t=this.mapBoxFaceIndex[this.selectIndex];if(this.mapLockedBoxFaces[t])return!0;if(!(e.clientX===this.startPt.x&&e.clientY===this.startPt.y)){xd.ClippingCaps=!1;var i=this.scene.getClipPlanes(),n=this.cameraControl.movePlane(i.clipplanes[this.selectIndex],e,this.startPt,!0,this.clipStartPoint);null!==n&&i.offset(this.selectIndex,n),this.startPt.set(e.clientX,e.clientY)}this.cameraControl.viewer.modelManager.dispatchEvent({type:Fd.ON_CLIP_MOUSE_MOVE,draggedFaceName:t})}return this.cameraControl.update(!0),!0}return Yg.prototype.processMouseMove(this,e)},Hg.prototype.processTouchstart=function(e){if(this.startPt.set(e.touches[0].clientX,e.touches[0].clientY),this.enablePick)return Yg.prototype.processTouchstart(this,e);var t=this.cameraControl.getRaycaster(e.touches[0].clientX,e.touches[0].clientY);return this.scene.getClipPlanes().hitTest(t),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},Hg.prototype.processTouchmove=function(e){if(null!==this.selectIndex){if(this.isRotate())this.rotate(e.touches[0].clientX-this.startPt.x,e.touches[0].clientY-this.startPt.y),this.startPt.set(e.touches[0].clientX,e.touches[0].clientY);else{this.offset((2>this.selectIndex?e.touches[0].clientX-this.startPt.x:e.touches[0].clientY-this.startPt.y)/this.planeDistance),this.startPt.set(e.touches[0].clientX,e.touches[0].clientY)}return this.cameraControl.update(!0),this.update(),!0}return Yg.prototype.processTouchmove(this,e)},Hg.prototype.processTouchend=function(e){return this.selectIndex=null,this.planeDistance=0,this.enablePick&&(this.onUpdateUI({visible:!1}),this.startPt.x===e.touches[0].clientX&&this.startPt.y===e.touches[0].clientY&&this.pickHelper.click(e)),this.cameraControl.needUpdateRenderList(!0),this.cancelHighLight(),this.cameraControl.update(!0),this.update(),Yg.prototype.processTouchend(this,e)},Wg.EMPTY_OBJECT=Object.freeze({}),new Ke;var Jg=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ru(this,i),(e=t.call(this)).destroyMeshs=Wg(n.destroyMeshs,!0),e.boundingBox=new He,e}return au(i,[{key:"getBoundingBoxCenter",value:function(e){return jg(e)||(e=new Ke),this.boundingBox.getCenter(e)}}]),i}(Yt),zg={LOCAL:0,WORLD:1},qg=function(e,t,i){Yg.call(this,Yd.COMPONENT_TRANSFORM),this._callbackWrapper=void 0,this._objectCallbackWrapper=void 0,this._cancelCallback=void 0,this.transformControl=new Zg(e,t,i),this.bindingComponentKey=void 0,this.transformObject=new Jg};(qg.prototype=Object.create(Yg.prototype)).constructor=qg,qg.prototype.destroy=function(){this.transformControl.destory()},qg.prototype.update=function(){this.transformControl.updateMatrixWorld()},qg.prototype.transformComponent=function(e,t,i,n,r){if(e){e instanceof Jg&&(e=this.transformObject);var o=this.transformControl;if(o.object&&e!==o.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),t&&(this._callbackWrapper=function(e){t(e)},this.transformControl.addEventListener("change",this._callbackWrapper)),i){this._objectCallbackWrapper=function(e){i(e)},this.transformControl.addEventListener("objectChange",this._objectCallbackWrapper);var a=this.transformControl._listeners.objectChange,s=a.splice(a.length-1,1)[0];a.unshift(s)}n&&(this._cancelCallback=n),r&&(this._pauseCallbackWrapper=function(e){r(e)},this.transformControl.addEventListener("mouseUp",this._pauseCallbackWrapper)),this._saveComponentOriginalTransformState(e),!0!==o.showX&&(o.showX=!0),!0!==o.showY&&(o.showY=!0),!0!==o.showZ&&(o.showZ=!0),!0!==o.enabled&&(o.enabled=!0),o.attach(e)}},qg.prototype.cancelTransformComponent=function(){var e=this.transformControl.object;if(e)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,e},qg.prototype.switchToTranslateMode=function(){this.transformControl.setMode("translate")},qg.prototype.switchToRotateMode=function(){this.transformControl.setMode("rotate")},qg.prototype.switchToScaleMode=function(){this.transformControl.setMode("scale")},qg.prototype._saveComponentOriginalTransformState=function(e){var t;if(e instanceof Array)t=e;else{if(!(e instanceof Yt))return;t=[e]}for(var i=0,n=t.length;n>i;i+=1){var r=t[i];if(!r.userData._originalTransformState){var o=r.position.clone(),a=r.quaternion.clone(),s=r.scale.clone(),l=r.matrix.clone(),c=r.matrixWorld.clone();r.userData._originalTransformState={position:o,quaternion:a,scale:s,matrix:l,matrixWorld:c}}}},qg.prototype.restoreComponentOriginalTransformState=function(){if(!this.transformControl.object)return!1;var e,t=this.transformControl.object;if(t instanceof Array)e=t;else{if(!(t instanceof Yt))return!1;e=[t]}for(var i=!1,n=0,r=e.length;r>n;n+=1){var o=e[n],a=o.userData._originalTransformState;a&&(o.position.copy(a.position),o.quaternion.copy(a.quaternion),o.scale.copy(a.scale),o.matrix.copy(a.matrix),o.matrixWorld.copy(a.matrixWorld),this.transformControl.updateMatrixWorld(),this.transformControl.dispatchEvent({type:"objectChange"}),i=!0)}return i},qg.prototype.increaseTransformControlSize=function(){var e=this.transformControl;if(e.object&&e.visible){var t=e.size;if(3>t)return e.setSize(t+.1),!0}return!1},qg.prototype.decreaseTransformControlSize=function(){var e=this.transformControl;if(e.object&&e.visible){var t=e.size;if(t>.5)return e.setSize(t-.1),!0}return!1},qg.prototype.setTransformControlSize=function(e){var t=this.transformControl;return!(!t.object||!t.visible)&&(t.setSize(e),!0)},qg.prototype.getTransformControlSize=function(){return this.transformControl.size},qg.prototype.setTransformSpaceToLocalSpace=function(){console.log("不再支持")},qg.prototype.setTransformSpaceToWorldSpace=function(){console.log("不再支持")},qg.prototype.switchTransformSpace=function(){console.log("不再支持")},qg.prototype.showTransformOnAxis=function(e){var t=this.transformControl;if(t.object&&t.visible){var i=!1;switch(e){case"x":case"X":!0!==t.showX&&(i=!0,t.showX=!0);break;case"y":case"Y":!0!==t.showY&&(i=!0,t.showY=!0);break;case"z":case"Z":!0!==t.showZ&&(i=!0,t.showZ=!0)}return i}return!1},qg.prototype.hideTransformOnAxis=function(e){var t=this.transformControl;if(t.object&&t.visible){var i=!1;switch(e){case"x":case"X":!1!==t.showX&&(i=!0,t.showX=!1);break;case"y":case"Y":!1!==t.showY&&(i=!0,t.showY=!1);break;case"z":case"Z":!1!==t.showZ&&(i=!0,t.showZ=!1)}return i}return!1},qg.prototype.disableTransform=function(){var e=this.transformControl;return!(!e.object||!e.visible||!1===e.enabled)&&(e.enabled=!1,!0)},qg.prototype.enableTransform=function(){var e=this.transformControl;return!(!e.object||!e.visible||!0===e.enabled)&&(e.enabled=!0,!0)},qg.prototype.processMouseDown=function(e){return!!this.transformControl.enabled&&(!!this.transformControl.mouseHover(e)&&this.transformControl.mouseDown(e))},qg.prototype.processMouseMove=function(e){return!!this.transformControl.enabled&&this.transformControl.mouseMove(e)},qg.prototype.processMouseUp=function(e){return!!this.transformControl.enabled&&this.transformControl.mouseUp(e)},qg.prototype.processHover=function(e){return!!this.transformControl.enabled&&this.transformControl.mouseHover(e)},qg.onExit=function(){this.destroy()};var Zg=function(e){lu(i,e);var t=pu(i);function i(e,n,r){var o;ru(this,i),(o=t.call(this)).isTransformControls=!0,r=void 0!==r?r:document,o.scene=e,o.visible=!1;var a=new Xg;o.add(a);var s=new _g;o.add(s);var l=du(o);N("camera",n),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 c={type:"change"},h={type:"mouseDown"},d={type:"mouseUp",mode:l.mode},u={type:"objectChange"};o.objectChangeEvent=u,o.rotateSpace=zg.WORLD;var p=new Xp,g=new Ke,f=new Ke,m=new Ge,A={X:new Ke(1,0,0),Y:new Ke(0,1,0),Z:new Ke(0,0,1)};new Ge,new Ke;var y=new Ke,v=new Ke,C=new Ke,I=new Ke,x=new Ke,w=new Ke,M=0,E=new Ke,B=new Ge,S=new Ke,b=new Ke,k=new Ge,D=new Ge,T=new Ke(1,1,1),R=new Ke,U=new Ke;new Ke;var F=new Ge,Q=new Ge,L=new Ke,O=new Ke;function N(e,t){var i=t;Object.defineProperty(l,e,{get:function(){return void 0!==i?i:t},set:function(t){i!==t&&(i=t,s[e]=t,a[e]=t,l.dispatchEvent({type:e+"-changed",value:t}),l.dispatchEvent(c))}}),l[e]=t,s[e]=t,a[e]=t}function P(e){var t=e.changedTouches?e.changedTouches[0]:e,i=r.getBoundingClientRect();return{x:(t.clientX-i.left)/i.width*2-1,y:-(t.clientY-i.top)/i.height*2+1,button:e.button}}return N("worldPosition",U),N("worldPositionStart",R),N("worldQuaternion",F),N("cameraPosition",E),N("cameraQuaternion",B),N("pointStart",y),N("pointEnd",v),N("rotationAxis",I),N("rotationAngle",M),N("eye",O),o.attach=function(t){t&&(this.object!==t&&(this.scene.add(this),e.componentTransformControl=this,this.object=t,c.object=t,u.object=t,this.updateMatrixWorld()),this.visible=!0)},o.detach=function(){this.object&&(this.object=void 0,c.object=void 0),this.parent&&this.parent.remove(this),this.scene.componentTransformControl=void 0},o.destory=function(){this.scene.componentTransformControl=void 0,this.scene=void 0,this.axis=void 0,this.camera=void 0},o.updateMatrixWorld=function(){if(void 0!==this.object){var e,t=new He;if(this.object instanceof Array)e=this.object;else{if(!(this.object instanceof Yt))return;e=[this.object]}for(var i=0,n=e.length;n>i;i+=1){var r=e[i];if(r.geometry)t.expandByObject(e[i]);else{var o=new Ke;r.getWorldPosition(o),t.expandByPoint(o)}}e[0].parent&&e[0].parent.matrixWorld.decompose(b,k,T),e[0].matrixWorld.decompose(U,F,L),t.getCenter(U),D.copy(k).invert(),Q.copy(F).invert()}this.camera.updateMatrixWorld(),this.camera.matrixWorld.decompose(E,B,S),this.camera instanceof dn?O.copy(E).sub(U).normalize():this.camera instanceof pc?O.copy(E).normalize():this.camera instanceof Ep&&(this.camera.isPerspective?O.copy(E).sub(U).normalize():O.copy(E).normalize()),Yt.prototype.updateMatrixWorld.call(this)},o.mouseHover=function(e){var t=P(e);if(void 0===this.object||!0===this.dragging||void 0!==t.button&&0!==t.button)return!1;p.setFromCamera(t,this.camera);var i,n=p.intersectObjects(a.picker[this.mode].children,!0)||!1;return n?(this.axis=n.object.name,i=!0):(this.axis=null,i=!1),this.updateMatrixWorld(),i},o.mouseDown=function(e){var t=P(e);if(void 0===this.object||!0===this.dragging||void 0!==t.button&&0!==t.button)return!1;if((0===t.button||void 0===t.button)&&null!==this.axis){p.setFromCamera(t,this.camera);var i=p.intersectObjects([s],!0)||!1;return!1!==i&&(i&&(R.copy(U),y.copy(i.point).sub(R)),this.dragging=!0,h.mode=this.mode,this.dispatchEvent(h),!0)}},o.mouseMove=function(e){var t=P(e),i=this.axis,n=this.mode,r=void 0;if(void 0===this.object||null===i||!1===this.dragging||void 0!==t.button&&0!==t.button)return!1;p.setFromCamera(t,this.camera);var o=p.intersectObjects([s],!0)||!1;if(!1===o)return!1;if(v.copy(o.point).sub(R),"translate"===n)C.copy(v).sub(y),-1===i.indexOf("X")&&(C.x=0),-1===i.indexOf("Y")&&(C.y=0),-1===i.indexOf("Z")&&(C.z=0),C.applyQuaternion(D).divide(T),0===C.x&&0===C.y&&0===C.z||(r=this._translateCurrentObject(C));else if("scale"===n){if(-1!==i.search("XYZ")){var a=v.length()/y.length();0>v.dot(y)&&(a*=-1),f.set(a,a,a)}else g.copy(y),f.copy(v),g.applyQuaternion(Q),f.applyQuaternion(Q),f.divide(g),-1===i.search("X")&&(f.x=1),-1===i.search("Y")&&(f.y=1),-1===i.search("Z")&&(f.z=1);1===f.x&&1===f.y&&1===f.z||(r=this._scaleCurrentObject(f))}else if("rotate"===n){C.copy(v).sub(y);var l=20/U.distanceTo(g.setFromMatrixPosition(this.camera.matrixWorld));if("E"===i?(I.copy(O),M=v.angleTo(y),x.copy(y).normalize(),w.copy(v).normalize(),M*=0>w.cross(x).dot(O)?1:-1):"XYZE"===i?(I.copy(C).cross(O).normalize(),M=C.dot(g.copy(I).cross(this.eye))*l):"X"!==i&&"Y"!==i&&"Z"!==i||(I.copy(A[i]),g.copy(A[i]),M=C.dot(g.cross(O).normalize())*l),this.rotationAngle=M,0!==M){var h=new Ge;I.applyQuaternion(D),h.copy(m.setFromAxisAngle(I,M)),h.normalize(),r=this._rotateCurrentObject(h)}}return r?(this.updateMatrixWorld(),this.dispatchEvent(c),u.matrix=r.clone(),u.mode=n,u.rotateSpace=this.rotateSpace,this.dispatchEvent(u),y.copy(v),!0):void 0},o.mouseUp=function(e){var t=P(e);return(void 0===t.button||0===t.button)&&(this.dragging&&null!==this.axis&&(d.mode=this.mode,this.dispatchEvent(d)),this.dragging=!1,void 0===t.button&&(this.axis=null),!0)},o.getMode=function(){return l.mode},o.setMode=function(e){l.mode=e,this.updateMatrixWorld()},o.setTranslationSnap=function(e){l.translationSnap=e},o.setRotationSnap=function(e){l.rotationSnap=e},o.setSize=function(e){l.size=e},o.setSpace=function(e){l.space=e},o.getBoundingBox=function(){return a.getBoundingBox()},o._scaleCurrentObject=function(){var e=new yt,t=new yt,i=new yt,n=new yt,r=new Ke;return function(o){var a;if(this.object instanceof Array)a=this.object;else{if(!(this.object instanceof Yt))return;a=[this.object]}for(var s=0,l=a.length;l>s;s+=1){var c=a[s];c.geometry?(c.geometry.boundingBox||c.geometry.computeBoundingBox(),c.geometry.boundingBox.getCenter(r),r.applyMatrix4(c.matrix)):r.copy(c.position),t.makeTranslation(-r.x,-r.y,-r.z),i.makeScale(o.x,o.y,o.z),n.makeTranslation(r.x,r.y,r.z),e.identity(),e.multiply(n),e.multiply(i),e.multiply(t);var h=c.matrixAutoUpdate;c.matrixAutoUpdate=!1,c.applyMatrix4(e),c.updateMatrixWorld(!0),c.matrixAutoUpdate=h}return e}}(),o._rotateCurrentObject=function(){var e=new yt,t=new yt,i=new yt,n=new yt,r=new Ke;return function(o){var a;if(this.object instanceof Array)a=this.object;else{if(!(this.object instanceof Yt))return;a=[this.object]}for(var s=0,l=a.length;l>s;s+=1){var c=a[s];c.geometry?(c.geometry.boundingBox||c.geometry.computeBoundingBox(),c.geometry.boundingBox.getCenter(r),r.applyMatrix4(c.matrix)):r.copy(c.position),e.makeTranslation(-r.x,-r.y,-r.z),t.makeRotationFromQuaternion(o),i.makeTranslation(r.x,r.y,r.z),n.identity(),n.multiply(i),n.multiply(t),n.multiply(e);var h=c.matrixAutoUpdate;c.matrixAutoUpdate=!1,c.applyMatrix4(n),c.matrixAutoUpdate=h,c.updateMatrixWorld(!0)}return n}}(),o._translateCurrentObject=function(){var e=new yt;return function(t){var i;if(this.object instanceof Array)i=this.object;else{if(!(this.object instanceof Yt))return;i=[this.object]}e.makeTranslation(t.x,t.y,t.z);for(var n=0,r=i.length;r>n;n+=1){var o=i[n],a=o.matrixAutoUpdate;o.matrixAutoUpdate=!1,o.applyMatrix4(e),o.matrixAutoUpdate=a,o.updateMatrixWorld(!0)}return e}}(),o.removeTranslateXYZ=function(){var e=a.gizmo.translate.getObjectByName("XYZ"),t=a.picker.translate.getObjectByName("XYZ");jg(e)&&e.parent.remove(e),jg(t)&&t.parent.remove(t)},o}return i}(Yt),Xg=function(e){lu(i,e);var t=pu(i);function i(){var e;ru(this,i),(e=t.call(this)).type="TransformControlsGizmo",e.isTransformControlsGizmo=!0;var n=new gi({depthTest:!1,depthWrite:!1,transparent:!0,side:2,fog:!1}),r=new Sa({depthTest:!1,depthWrite:!1,transparent:!0,linewidth:1,fog:!1}),o=n.clone();o.opacity=.15;var a=n.clone();a.opacity=.33;var s=n.clone();s.color.set(16711680);var l=n.clone();l.color.set(65280);var c=n.clone();c.color.set(255);var h=n.clone();h.opacity=.25;var d=h.clone();d.color.set(16776960);var u=h.clone();u.color.set(65535);var p=h.clone();p.color.set(16711935),n.clone().color.set(16776960);var g=r.clone();g.color.set(16711680);var f=r.clone();f.color.set(65280);var m=r.clone();m.color.set(255);var A=r.clone();A.color.set(65535);var y=r.clone();y.color.set(16711935);var v=r.clone();v.color.set(16776960);var C=r.clone();C.color.set(7895160);var I=v.clone();I.opacity=.25;var x=new Za(0,.05,.2,12,1,!1),w=new on(.125,.125,.125),M=new Ni;M.setAttribute("position",new Bi([0,0,0,1,0,0],3));var E,B=function(e,t){for(var i=new Ni,n=[],r=0;64*t>=r;++r)n.push(0,Math.cos(r/32*Math.PI)*e,Math.sin(r/32*Math.PI)*e);return i.setAttribute("position",new Bi(n,3)),i},S={X:[[new nn(x,s),[1,0,0],[0,0,-Math.PI/2],null,"fwd"],[new nn(x,s),[1,0,0],[0,0,Math.PI/2],null,"bwd"],[new Ua(M,g)]],Y:[[new nn(x,l),[0,1,0],null,null,"fwd"],[new nn(x,l),[0,1,0],[Math.PI,0,0],null,"bwd"],[new Ua(M,f),null,[0,0,Math.PI/2]]],Z:[[new nn(x,c),[0,0,1],[Math.PI/2,0,0],null,"fwd"],[new nn(x,c),[0,0,1],[-Math.PI/2,0,0],null,"bwd"],[new Ua(M,m),null,[0,-Math.PI/2,0]]],XYZ:[[new nn(new Os(.1,0),h),[0,0,0],[0,0,0]]],XY:[[new nn(new In(.295,.295),d),[.15,.15,0]],[new Ua(M,v),[.18,.3,0],null,[.125,1,1]],[new Ua(M,v),[.3,.18,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new nn(new In(.295,.295),u),[0,.15,.15],[0,Math.PI/2,0]],[new Ua(M,A),[0,.18,.3],[0,0,Math.PI/2],[.125,1,1]],[new Ua(M,A),[0,.3,.18],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new nn(new In(.295,.295),p),[.15,0,.15],[-Math.PI/2,0,0]],[new Ua(M,y),[.18,0,.3],null,[.125,1,1]],[new Ua(M,y),[.3,0,.18],[0,-Math.PI/2,0],[.125,1,1]]]},b={X:[[new nn(new Za(.2,0,1,4,1,!1),o),[.6,0,0],[0,0,-Math.PI/2]]],Y:[[new nn(new Za(.2,0,1,4,1,!1),o),[0,.6,0]]],Z:[[new nn(new Za(.2,0,1,4,1,!1),o),[0,0,.6],[Math.PI/2,0,0]]],XYZ:[[new nn(new Os(.2,0),o)]],XY:[[new nn(new In(.4,.4),o),[.2,.2,0]]],YZ:[[new nn(new In(.4,.4),o),[0,.2,.2],[0,Math.PI/2,0]]],XZ:[[new nn(new In(.4,.4),o),[.2,0,.2],[-Math.PI/2,0,0]]]},k={START:[[new nn(new Os(.01,2),a),null,null,null,"helper"]],END:[[new nn(new Os(.01,2),a),null,null,null,"helper"]],DELTA:[[new Ua((E=new Ni,E.setAttribute("position",new Bi([0,0,0,1,1,1],3)),E),a),null,null,null,"helper"]],X:[[new Ua(M,a.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Ua(M,a.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Ua(M,a.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},D={X:[[new Ua(B(1,.5),g)],[new nn(new Os(.04,0),s),[0,0,.99],null,[1,3,1]]],Y:[[new Ua(B(1,.5),f),null,[0,0,-Math.PI/2]],[new nn(new Os(.04,0),l),[0,0,.99],null,[3,1,1]]],Z:[[new Ua(B(1,.5),m),null,[0,Math.PI/2,0]],[new nn(new Os(.04,0),c),[.99,0,0],null,[1,3,1]]],E:[[new Ua(B(1.25,1),I),null,[0,Math.PI/2,0]],[new nn(new Za(.03,0,.15,4,1,!1),I),[1.17,0,0],[0,0,-Math.PI/2],[1,1,.001]],[new nn(new Za(.03,0,.15,4,1,!1),I),[-1.17,0,0],[0,0,Math.PI/2],[1,1,.001]],[new nn(new Za(.03,0,.15,4,1,!1),I),[0,-1.17,0],[Math.PI,0,0],[1,1,.001]],[new nn(new Za(.03,0,.15,4,1,!1),I),[0,1.17,0],[0,0,0],[1,1,.001]]],XYZE:[[new Ua(B(1,1),C),null,[0,Math.PI/2,0]]]},T={AXIS:[[new Ua(M,a.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]]},R={X:[[new nn(new Hs(1,.1,4,24),o),[0,0,0],[0,-Math.PI/2,-Math.PI/2]]],Y:[[new nn(new Hs(1,.1,4,24),o),[0,0,0],[Math.PI/2,0,0]]],Z:[[new nn(new Hs(1,.1,4,24),o),[0,0,0],[0,0,-Math.PI/2]]],E:[[new nn(new Hs(1.25,.1,2,24),o)]],XYZE:[[new nn(new Ks(.7,10,8),o)]]},U={X:[[new nn(w,s),[.8,0,0],[0,0,-Math.PI/2]],[new Ua(M,g),null,null,[.8,1,1]]],Y:[[new nn(w,l),[0,.8,0]],[new Ua(M,f),null,[0,0,Math.PI/2],[.8,1,1]]],Z:[[new nn(w,c),[0,0,.8],[Math.PI/2,0,0]],[new Ua(M,m),null,[0,-Math.PI/2,0],[.8,1,1]]],XY:[[new nn(w,d),[.85,.85,0],null,[2,2,.2]],[new Ua(M,v),[.855,.98,0],null,[.125,1,1]],[new Ua(M,v),[.98,.855,0],[0,0,Math.PI/2],[.125,1,1]]],YZ:[[new nn(w,u),[0,.85,.85],null,[.2,2,2]],[new Ua(M,A),[0,.855,.98],[0,0,Math.PI/2],[.125,1,1]],[new Ua(M,A),[0,.98,.855],[0,-Math.PI/2,0],[.125,1,1]]],XZ:[[new nn(w,p),[.85,0,.85],null,[2,.2,2]],[new Ua(M,y),[.855,0,.98],null,[.125,1,1]],[new Ua(M,y),[.98,0,.855],[0,-Math.PI/2,0],[.125,1,1]]],XYZX:[[new nn(new on(.125,.125,.125),h),[1.1,0,0]]],XYZY:[[new nn(new on(.125,.125,.125),h),[0,1.1,0]]],XYZZ:[[new nn(new on(.125,.125,.125),h),[0,0,1.1]]]},F={X:[[new nn(new Za(.2,0,.8,4,1,!1),o),[.5,0,0],[0,0,-Math.PI/2]]],Y:[[new nn(new Za(.2,0,.8,4,1,!1),o),[0,.5,0]]],Z:[[new nn(new Za(.2,0,.8,4,1,!1),o),[0,0,.5],[Math.PI/2,0,0]]],XY:[[new nn(w,o),[.85,.85,0],null,[3,3,.2]]],YZ:[[new nn(w,o),[0,.85,.85],null,[.2,3,3]]],XZ:[[new nn(w,o),[.85,0,.85],null,[3,.2,3]]],XYZX:[[new nn(new on(.2,.2,.2),o),[1.1,0,0]]],XYZY:[[new nn(new on(.2,.2,.2),o),[0,1.1,0]]],XYZZ:[[new nn(new on(.2,.2,.2),o),[0,0,1.1]]]},Q={X:[[new Ua(M,a.clone()),[-1e3,0,0],null,[1e6,1,1],"helper"]],Y:[[new Ua(M,a.clone()),[0,-1e3,0],[0,0,Math.PI/2],[1e6,1,1],"helper"]],Z:[[new Ua(M,a.clone()),[0,0,-1e3],[0,-Math.PI/2,0],[1e6,1,1],"helper"]]},L=function(e){var t=new Yt;for(var i in e)for(var n=e[i].length;n--;){var r=e[i][n][0].clone(),o=e[i][n][1],a=e[i][n][2],s=e[i][n][3],l=e[i][n][4];r.name=i,r.tag=l,o&&r.position.set(o[0],o[1],o[2]),a&&r.rotation.set(a[0],a[1],a[2]),s&&r.scale.set(s[0],s[1],s[2]),r.updateMatrix();var c=r.geometry.clone();c.applyMatrix4(r.matrix),r.geometry=c,r.renderOrder=1/0,r.position.set(0,0,0),r.rotation.set(0,0,0),r.scale.set(1,1,1),t.add(r)}return t};new Ke(0,0,0);var O=new bt,N=new Ke(0,1,0),P=new Ke(0,0,0),G=new yt,K=new Ge,V=new Ge,Y=new Ge,H=new Ke(1,0,0),j=new Ke(0,1,0),W=new Ke(0,0,1);return e.gizmo={},e.picker={},e.helper={},e.add(e.gizmo.translate=L(S)),e.add(e.gizmo.rotate=L(D)),e.add(e.gizmo.scale=L(U)),e.add(e.picker.translate=L(b)),e.add(e.picker.rotate=L(R)),e.add(e.picker.scale=L(F)),e.add(e.helper.translate=L(k)),e.add(e.helper.rotate=L(T)),e.add(e.helper.scale=L(Q)),e.picker.translate.visible=!1,e.picker.rotate.visible=!1,e.picker.scale.visible=!1,e.updateMatrixWorld=function(){var e=this.space;"scale"===this.mode&&(e="local");var t="local"===e?this.worldQuaternion:Y;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 i=[];i=(i=(i=i.concat(this.picker[this.mode].children)).concat(this.gizmo[this.mode].children)).concat(this.helper[this.mode].children);for(var n=this.boundingBox?this.boundingBox.makeEmpty():new He,r=0;i.length>r;r++){var o=i[r];o.visible=!0,o.rotation.set(0,0,0),o.position.copy(this.worldPosition);var a=this.worldPosition.distanceTo(this.cameraPosition);if(o.scale.set(1,1,1).multiplyScalar(a*this.size/7),"helper"!==o.tag){if(o.quaternion.copy(t),"translate"===this.mode||"scale"===this.mode){var s=.99;"X"!==o.name&&"XYZX"!==o.name||Math.abs(N.copy(H).applyQuaternion(t).dot(this.eye))>s&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"Y"!==o.name&&"XYZY"!==o.name||Math.abs(N.copy(j).applyQuaternion(t).dot(this.eye))>s&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"Z"!==o.name&&"XYZZ"!==o.name||Math.abs(N.copy(W).applyQuaternion(t).dot(this.eye))>s&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"XY"===o.name&&.2>Math.abs(N.copy(W).applyQuaternion(t).dot(this.eye))&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"YZ"===o.name&&.2>Math.abs(N.copy(H).applyQuaternion(t).dot(this.eye))&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),"XZ"===o.name&&.2>Math.abs(N.copy(j).applyQuaternion(t).dot(this.eye))&&(o.scale.set(1e-10,1e-10,1e-10),o.visible=!1),-1!==o.name.search("X")&&(0>N.copy(H).applyQuaternion(t).dot(this.eye)?"fwd"===o.tag?o.visible=!1:o.scale.x*=-1:"bwd"===o.tag&&(o.visible=!1)),-1!==o.name.search("Y")&&(0>N.copy(j).applyQuaternion(t).dot(this.eye)?"fwd"===o.tag?o.visible=!1:o.scale.y*=-1:"bwd"===o.tag&&(o.visible=!1)),-1!==o.name.search("Z")&&(0>N.copy(W).applyQuaternion(t).dot(this.eye)?"fwd"===o.tag?o.visible=!1:o.scale.z*=-1:"bwd"===o.tag&&(o.visible=!1))}else"rotate"===this.mode&&(V.copy(t),N.copy(this.eye).applyQuaternion(K.copy(t).invert()),-1!==o.name.search("E")&&o.quaternion.setFromRotationMatrix(G.lookAt(this.eye,P,j)),"X"===o.name&&(K.setFromAxisAngle(H,Math.atan2(-N.y,N.z)),K.multiplyQuaternions(V,K),o.quaternion.copy(K)),"Y"===o.name&&(K.setFromAxisAngle(j,Math.atan2(N.x,N.z)),K.multiplyQuaternions(V,K),o.quaternion.copy(K)),"Z"===o.name&&(K.setFromAxisAngle(W,Math.atan2(N.y,N.x)),K.multiplyQuaternions(V,K),o.quaternion.copy(K)));o.visible=o.visible&&(-1===o.name.indexOf("X")||this.showX),o.visible=o.visible&&(-1===o.name.indexOf("Y")||this.showY),o.visible=o.visible&&(-1===o.name.indexOf("Z")||this.showZ),o.visible=o.visible&&(-1===o.name.indexOf("E")||this.showX&&this.showY&&this.showZ),o.material._opacity=o.material._opacity||o.material.opacity,o.material._color=o.material._color||o.material.color.clone(),o.material.color.copy(o.material._color),o.material.opacity=o.material._opacity,this.enabled?this.axis&&(o.name===this.axis||this.axis.split("").some((function(e){return o.name===e}))?(o.material.opacity=1,o.material.color.lerp(new pi(1,1,1),.5)):(o.material.opacity*=.25,o.material.color.lerp(new pi(1,1,1),.5))):(o.material.opacity*=.5,o.material.color.lerp(new pi(1,1,1),.5)),n.expandByObject(o)}else if(o.visible=!1,"AXIS"===o.name)o.position.copy(this.worldPositionStart),o.visible=!!this.axis,"X"===this.axis&&(K.setFromEuler(O.set(0,0,0)),o.quaternion.copy(t).multiply(K),Math.abs(N.copy(H).applyQuaternion(t).dot(this.eye))>.9&&(o.visible=!1)),"Y"===this.axis&&(K.setFromEuler(O.set(0,0,Math.PI/2)),o.quaternion.copy(t).multiply(K),Math.abs(N.copy(j).applyQuaternion(t).dot(this.eye))>.9&&(o.visible=!1)),"Z"===this.axis&&(K.setFromEuler(O.set(0,Math.PI/2,0)),o.quaternion.copy(t).multiply(K),Math.abs(N.copy(W).applyQuaternion(t).dot(this.eye))>.9&&(o.visible=!1)),"XYZE"===this.axis&&(K.setFromEuler(O.set(0,Math.PI/2,0)),N.copy(this.rotationAxis),o.quaternion.setFromRotationMatrix(G.lookAt(P,N,j)),o.quaternion.multiply(K),o.visible=this.dragging),"E"===this.axis&&(o.visible=!1);else if("START"===o.name)o.position.copy(this.worldPositionStart),o.visible=this.dragging;else if("END"===o.name)o.position.copy(this.worldPosition),o.visible=this.dragging;else if("DELTA"===o.name){o.position.set(0,0,0),o.scale.set(1,1,1);var l=o.geometry.getAttribute("position");l.setXYZ(0,this.worldPositionStart.x,this.worldPositionStart.y,this.worldPositionStart.z),l.setXYZ(1,this.worldPosition.x,this.worldPosition.y,this.worldPosition.z),l.needsUpdate=!0,o.visible=this.dragging}else o.quaternion.copy(t),o.position.copy(this.dragging?this.worldPositionStart:this.worldPosition),this.axis&&(o.visible=-1!==this.axis.search(o.name))}this.boundingBox=n,Yt.prototype.updateMatrixWorld.call(this)},e.getBoundingBox=function(){return this.boundingBox||this.updateMatrixWorld(),this.boundingBox},e}return i}(Yt),_g=function(e){lu(i,e);var t=pu(i);function i(){var e;ru(this,i),(e=t.call(this,new In(4,4,2,2),new gi({visible:!1,wireframe:!0,side:2,transparent:!0,opacity:.1}))).type="TransformControlsPlane",e.isTransformControlsPlane=!0;var n=new Ke(1,0,0),r=new Ke(0,1,0),o=new Ke(0,0,1),a=new Ke,s=new Ke,l=new Ke,c=new yt,h=new Ge;return e.updateMatrixWorld=function(){var e=this.space;switch(this.position.copy(this.worldPosition),"scale"===this.mode&&(e="local"),n.set(1,0,0).applyQuaternion("local"===e?this.worldQuaternion:h),r.set(0,1,0).applyQuaternion("local"===e?this.worldQuaternion:h),o.set(0,0,1).applyQuaternion("local"===e?this.worldQuaternion:h),l.copy(r),this.mode){case"translate":case"scale":switch(this.axis){case"X":l.copy(this.eye).cross(n),s.copy(n).cross(l);break;case"Y":l.copy(this.eye).cross(r),s.copy(r).cross(l);break;case"Z":l.copy(this.eye).cross(o),s.copy(o).cross(l);break;case"XY":s.copy(o);break;case"YZ":s.copy(n);break;case"XZ":l.copy(o),s.copy(r);break;case"XYZ":case"E":s.set(0,0,0)}break;case"rotate":default:s.set(0,0,0)}0===s.length()?this.quaternion.copy(this.cameraQuaternion):(c.lookAt(a.set(0,0,0),s,l),this.quaternion.setFromRotationMatrix(c));var t=this.worldPosition.distanceTo(this.cameraPosition);this.scale.set(1,1,1).multiplyScalar(t*this.size/7),Yt.prototype.updateMatrixWorld.call(this)},e}return i}(nn),$g=[new Jt],ef=new Ke,tf=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,Yd.CLIP_FILL)).viewer=e,n.scene=e.getScene(),n.enablePick=!1,n.rotX=!0,n.onClipPlane=!1,n.cameraControl=e.cameraControl,n.startPt=new ke,n.endPt=new ke,n.frustum=new yn,n.modelManager=n.cameraControl.viewer.modelManager,n.planeDistance=0,n.offsetSpeed=.02,du(n),n._planIntersect=new Ke,n.fillClipPlane=n.scene.getFillClipPlane(),n.fillClipPlane.updateClippingParams=function(t){if(0===t.iClipPlane.value)e.getRenderer().localClippingEnabled=!1,e.getRenderer().clippingPlanes=Object.freeze([]);else{var i=t.vClipPlane.value[0],n=$g[0];n.setComponents(-i.x,-i.y,-i.z,-i.w),n.normalize(),e.getRenderer().clippingPlanes=$g,this.renderClipPlane=new Jt,this.renderClipPlane.setComponents(i.x,i.y,i.z,i.w),this.renderClipPlane.normalize(),this.calculateFillClipBoundingBox(n.coplanarPoint(ef)),e.updateShadowMap()}},n.fillClipPlane.calculateClippingIds=function(){e.modelManager.calculateClippingIds()},n.fillClipPlane.init(),n}return au(i,[{key:"toggle",value:function(e,t){this.fillClipPlane.enable(e,t),this.fillClipPlane.update(),this.viewer.updateShadowMap()}},{key:"visible",value:function(e){this.fillClipPlane.visible=e,this.fillClipPlane.update()}},{key:"rotatable",value:function(e){this.fillClipPlane.rotatable=e,this.fillClipPlane.update()}},{key:"hit",value:function(){return this.fillClipPlane.hit}},{key:"pointToScreen",value:function(e){var t=this.cameraControl.camera,i=new yt;i.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);var n=new Le(e.x,e.y,e.z,1);n.applyMatrix4(i);var r=new ke;r.x=(n.x/n.w+1)/2,r.y=1-(n.y/n.w+1)/2;var o=this.cameraControl.getContainerDimensions();return r.x=r.x*o.width+o.left,r.y=r.y*o.height+o.top,r}},{key:"getPlaneDistanceInScreen",value:function(){if(null===this.selectIndex)return null;if(2>this.selectIndex){var e=this.fillClipPlane.clipPlanes.center.clone(),t=this.fillClipPlane.clipPlanes.center.clone();e.x-=this.fillClipPlane.clipPlanes.cubeSize.x,t.x+=this.fillClipPlane.clipPlanes.cubeSize.x;var i=this.pointToScreen(e),n=this.pointToScreen(t);return i.x-n.x}var r=this.fillClipPlane.clipPlanes.center.clone(),o=this.fillClipPlane.clipPlanes.center.clone();o.y-=this.fillClipPlane.clipPlanes.cubeSize.y,r.y+=this.fillClipPlane.clipPlanes.cubeSize.y;var a=this.pointToScreen(o),s=this.pointToScreen(r);return a.y-s.y}},{key:"getPickPoint",value:function(e,t){var i=this.cameraControl.camera,n=this.cameraControl.getContainerDimensions(),r=(e-n.left)/n.width*2-1,o=(n.height-(t-n.top))/n.height*2-1,a=new Xp;return a.setFromCamera(new ke(r,o),i),a.ray.intersectPlane(this.plane,this._planIntersect)}},{key:"_isVisible",value:function(){return this.fillClipPlane.visible}},{key:"isRotate",value:function(){return this.fillClipPlane.rotatable}},{key:"offset",value:function(e){this.fillClipPlane.offset(e)}},{key:"setOffset",value:function(e){this.fillClipPlane.setOffset(e)}},{key:"rotate",value:function(e,t){this.rotX?this.fillClipPlane.rotX(t/180*Math.PI*.1):this.fillClipPlane.rotY(e/180*Math.PI*.1)}},{key:"rotateAngleOffset",value:function(e,t){this.fillClipPlane.rotateAngleOffset(e,t)}},{key:"setRotateAngle",value:function(e,t){this.fillClipPlane.setRotateAngle(e,t)}},{key:"getRotateAngle",value:function(){return this.fillClipPlane.getRotateAngle()}},{key:"changeNormal",value:function(e){this.fillClipPlane.changeNormal(e)}},{key:"update",value:function(e){this.fillClipPlane.update(e)}},{key:"cancelHighLight",value:function(){this.fillClipPlane.cancelHighLight()}},{key:"highLight",value:function(){this.fillClipPlane.highLight()}},{key:"store",value:function(){return this.fillClipPlane.store()}},{key:"restore",value:function(e){this.fillClipPlane.restore(e)}},{key:"setProcess",value:function(e){isNaN(e)?Bu.error("非法参数"):this.fillClipPlane.setProcess(e)}},{key:"getProcess",value:function(){return this.fillClipPlane.getProcess()}},{key:"destroy",value:function(){this.cameraControl=null,this.normal=null,this.plane=null,this.pickHelper=null,this.scene=null,this.viewer=null}},{key:"onExit",value:function(){this.toggle(!1,!1)}},{key:"processMouseDown",value:function(e){if(this.startPt.set(e.clientX,e.clientY),!this.enablePick&&e.button===n.LEFT){var t=this.cameraControl.getRaycaster(e.clientX,e.clientY);if(this.scene.getFillClipPlane().hitTest(t),this.hit())return this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),!0}return Yg.prototype.processMouseDown(this,e)}},{key:"processMouseUp",value:function(e){this.planeDistance=0;var t=!1;if(this.enablePick&&e.button===n.LEFT)if(this.startPt.x==e.clientX&&this.startPt.y==e.clientY)this.pickHelper.click(e);else if(e.shiftKey||e.ctrlKey||e.altKey){this.endPt.set(e.clientX,e.clientY);var i=Td.Clear;e.ctrlKey?i=Td.Add:e.altKey&&(i=Td.Remove);var r=this;this.scene.pickByRect(this.frustum,i,(function(){r.pickHelper.notifySelectionChanged(null,0,e)})),this.cameraControl.updateView(!0),t=!0}var o=this.cameraControl.getRaycaster(e.clientX,e.clientY);return this.scene.getFillClipPlane().hitTest(o),this.hit()?(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane||(this.onClipPlane=!0,this.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipPlane:!0,event:e})),t=!0):(this.cancelHighLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane&&(this.onClipPlane=!1,this.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipPlane:!1,event:e}))),this.modelManager.dispatchEvent({type:Fd.ON_TOOL_END}),t}},{key:"processMouseMove",value:function(e){return this.modelManager.dispatchEvent({type:Fd.ON_CLIP_MOUSE_MOVE,event:e}),Yg.prototype.processMouseMove(this,e)}},{key:"processTouchstart",value:function(e){if(this.startPt.set(e.touches[0].clientX,e.touches[0].clientY),!this.enablePick){var t=this.cameraControl.getRaycaster(e.touches[0].clientX,e.touches[0].clientY);this.scene.getFillClipPlane().hitTest(t)}return this.hit()?(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),!0):Yg.prototype.processTouchstart(this,e)}},{key:"processTouchmove",value:function(e){if(this.hit()){if(this.isRotate())this.rotate(e.touches[0].clientX-this.startPt.x,e.touches[0].clientY-this.startPt.y),this.startPt.set(e.touches[0].clientX,e.touches[0].clientY);else{this.offset(Number(e.touches[0].clientX-this.startPt.x)),this.startPt.set(e.touches[0].clientX,e.touches[0].clientY)}return this.cameraControl.update(!0),!0}return Yg.prototype.processTouchmove(this,e)}},{key:"processTouchend",value:function(e){return this.enablePick&&(this.onUpdateUI({visible:!1}),this.startPt.x===e.touches[0].clientX&&this.startPt.y===e.touches[0].clientY&&this.pickHelper.click(e)),this.cameraControl.needUpdateRenderList(!0),this.cancelHighLight(),this.cameraControl.update(!0),Yg.prototype.processTouchmove(this,e)}},{key:"processHover",value:function(e){if(!this.enablePick){var t=!1,i=this.cameraControl.getRaycaster(e.clientX,e.clientY);return this.scene.getFillClipPlane().hitTest(i),this.hit()?(this.onClipPlane||(this.highLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane=!0,this.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipPlane:!0,event:e})),t=!0):this.onClipPlane?(this.cancelHighLight(),this.cameraControl.needUpdateRenderList(!0),this.cameraControl.update(!0),this.onClipPlane=!1,this.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipPlane:!1,event:e})):this.modelManager.dispatchEvent({type:Fd.ON_CLIP_HOVER,onClipPlane:!1,event:e}),t}return Yg.prototype.processHover(this,e)}}]),i}(Yg),nf=function(){this.vertexIndex=new Array(2),this.faceIndex=new Array(2)},rf=function(e,t){var i=e.length/3,n=new Array(i),r=new Array(i);function o(e,t){var i=n[e],r=n[t];return i.x!==r.x?i.x-r.x:i.y!==r.y?i.y-r.y:i.z-r.z}for(var a=0;i>a;a+=1)n[a]=new Ke(e[3*a],e[3*a+1],e[3*a+2]),r[a]=a;r.sort((function(e,t){var i=o(e,t);return 0===i?e-t:i}));var s={},l=r[0];for(a=1;i>a;a+=1)0===o(l,r[a])?s[r[a]]=l:l=r[a];var c=new Array(t.length);for(a=0;t.length>a;a+=1)c[a]=s.hasOwnProperty(t[a])?s[t[a]]:t[a];return c},of=function(e,t){function i(e,t){return e-t}var n=rf(e,t);n.sort(i);var r=[],o=n[0];r.push(o);for(var a=1;n.length>a;a+=1)n[a]!==o&&r.push(o=n[a]);return r.sort(i)},af=function(e,t,i){i=void 0===i?Math.PI/4:i;var n=rf(e,t),r=n.length,o=e.length/3,a=new Array(o+r),s=o,l=n.length/3;parseInt(l,0)!==l&&(Bu.error("triangleCount 不是整数"),l=parseInt(l,0));for(var c=0;o>c;c+=1)a[c]=-1;var h=new Array(r),d=0;for(c=0;l>c;c+=1)for(var u=n[3*c+2],p=0;3>p;p+=1){var g=!1,f=n[3*c+p];if(u>f){g=!0;var m=u;u=f,f=m}var A=new nf;A.vertexIndex[0]=u,A.vertexIndex[1]=f,A.faceIndex[0]=c,A.faceIndex[1]=c;var y=a[u];if(-1===y)a[u]=d,h[d]=A,a[s+d]=-1,d+=1;else for(;;){if((I=h[y]).vertexIndex[1]===f){I.faceIndex[1]=c;break}var v=a[s+y];if(-1===v){a[s+y]=d,h[d]=A,a[s+d]=-1,d+=1;break}y=v}g||(u=f)}var C=[];for(c=0;d>c;c+=1){var I;if((I=h[c]).faceIndex[0]===I.faceIndex[1])C.push(I.vertexIndex[0]),C.push(I.vertexIndex[1]);else{var x=I.faceIndex[0],w=n[3*x],M=n[3*x+1],E=n[3*x+2],B=new Ke(e[3*w],e[3*w+1],e[3*w+2]),S=new Ke(e[3*M],e[3*M+1],e[3*M+2]),b=new Ke(e[3*E],e[3*E+1],e[3*E+2]),k=B.sub(S),D=S.sub(b),T=k.cross(D);T.normalize();var R=I.faceIndex[1];M=n[3*R+1],E=n[3*R+2],B=new Ke(e[3*(w=n[3*R])],e[3*w+1],e[3*w+2]),S=new Ke(e[3*M],e[3*M+1],e[3*M+2]),b=new Ke(e[3*E],e[3*E+1],e[3*E+2]),k=B.sub(S),D=S.sub(b);var U=k.cross(D);U.normalize(),Math.abs(T.dot(U))<i&&(C.push(I.vertexIndex[0]),C.push(I.vertexIndex[1]))}}return C},sf=function(e,t,i,n,r){for(var o=i.length/3,a=[],s=0;o>s;s+=1){var l=i[3*s],c=new Ke(t[3*l],t[3*l+1],t[3*l+2]),h=c.dot(r);if(.001>Math.abs(h-1)){var d=-new Ke(e[3*l],e[3*l+1],e[3*l+2]).dot(c),u=Math.abs(n.dot(c)+d);3>Math.abs(u)&&a.push(i[3*s],i[3*s+1],i[3*s+2])}}return a},lf=new yt,cf=new Ke,hf=new Ke,df=new Ke,uf=new Ke,pf=function(){function e(t){ru(this,e),this.cameraControl=t,this.scene=t.scene,this.timerId=null,this.lastIntersected=null,this._pickObjectByHover=!1}return au(e,[{key:"destroy",value:function(){this.cameraControl=null,this.scene=null,this.lastIntersected=null,this.timerId&&(clearTimeout(this.timerId),this.timerId=null)}},{key:"click",value:function(e,t){var i=this;function r(){t&&!1===t.pickable&&(t=null),i.handleMousePick(e,!1,t)}e.button!==n.RIGHT?(this.timerId&&clearTimeout(this.timerId),this.timerId=setTimeout(r,500)):r()}},{key:"doubleClick",value:function(e){e.preventDefault(),this.timerId&&clearTimeout(this.timerId),this.handleMousePick(e,!0,null)}},{key:"handleMousePick",value:function(e,t,i){var r=this,o=this.cameraControl,a=o.viewer.modelManager.sceneState,s=new ke(e.clientX,e.clientY),l=o.screenToCanvas(e.clientX,e.clientY),c=o.viewer.modelManager;function h(i,n){var r=null;if(i&&i.objectType==Rd.Room){var o=i.face.contourIndex,a=i.object.geometry.contour;r=o?{startPoint:a[o.st],endPoint:a[o.ed]}:null}var s=function(e){return e?{selectedObjectId:wp.isDefined(i.userId)?i.userId:null,objectType:wp.isDefined(i.objectType)?i.objectType:null,selectable:wp.isDefined(i.selectable)?n:null,modelKey:wp.isDefined(i.modelKey)?i.modelKey:null,fileId:wp.isDefined(i.fileId)?i.fileId:null,unit:wp.isDefined(i.unit)?i.unit:null,worldPosition:wp.isDefined(i.worldPosition)?i.worldPosition:null,worldBoundingBox:wp.isDefined(i.worldBoundingBox)?i.worldBoundingBox:null,point:wp.isDefined(i.point)?i.point:null,index:wp.isDefined(i.index)?i.index:null,innnerDebugging:wp.isDefined(i.innnerDebugging)?i.innnerDebugging:null,object:wp.isDefined(i.object)?i.object:null,normal:wp.isDefined(i.face)&&wp.isDefined(i.face.normal)?i.face.normal:null,boundaryPoints:wp.isDefined(i.boundaryPoints)?r:null}:null};c.dispatchEvent({type:i&&i.objectType===Rd.Marker3d?Fd.ON_CLICK_MARKER3D_PICK:Fd.ON_CLICK_PICK,event:e,doubleClick:t,canvasPos:{x:l.x,y:l.y},intersectInfo:s(i),intersectInfoWithoutMap:i&&s(i.intersectWithoutMap)})}var d=null;if(e.button!==n.RIGHT){if(i)i.pickable&&(d=i.intersect);else{var u=o.getIntersectContext(s);d=o.intersector.pick(u,null)}if(d){var p=d.userId;if(og.isMobileDevice()&&(o.pivot=d.point),r.scene.intersectToWorld(d,o.viewer),d.intersectWithoutMap&&r.scene.intersectToWorld(d.intersectWithoutMap,o.viewer),d.innnerDebugging=e.altKey,d.cx=s.x,d.cy=s.y,r.lastPickedUserId=p,d.face&&d.face.normal){var g=d.face.normal;for(var f in g)g[f]=g[f]==-g[f]?Math.abs(g[f]):g[f]}if(e.button!==n.RIGHT)if(t)xd.EnableZoomToComponentByDClick?(a.setSelection([p],d.modelKey),o.fitAndRotateBySelection(),h(d,!0)):(a.setSelection([p],d.modelKey),h(d,!0),o.updateView(!0));else{var m=a.getSelection();if(!!xd.MultipleSelectComponents&&e.ctrlKey){var A=m.indexOf(p);-1===A?a.addSelection([p]):(m.splice(A,1),a.setSelection(m))}else-1===m.indexOf(p)?a.setSelection([p]):a.clearSelection();r.setSelectedIdsForOutline(a.getSelection()),h(d,!0),o.updateView(!0)}else h(d,!1)}else{var y=a.getSelection();if(e.ctrlKey)return;if(e.button!=n.RIGHT&&y.length>0&&(a.clearSelection(),o.updateView(!0)),i&&!i.pickable)(d=i.intersect).cx=s.x,d.cy=s.y,h(d,!1);else{var v=o.getIntersectContext(s);o.viewer.ground?(v.viewer=o.viewer,h(d=o.intersector.pickGround(v))):h(null)}}}else h(d,!1)}},{key:"handleMouseMeasure",value:function(e,t,i,n){var r=null,o=this.cameraControl,a=o.scene,s=n||Fd.ON_MEASURE_PICK,l=this.pickToPoint({x:e.clientX,y:e.clientY},5);function c(i,n,a,l,c,h,d,u){var p=o.viewer.modelManager;if(null!=i){var g=o.scene.drawingToWorld(i);i.copy(g)}if(null!=a){var f=o.scene.drawingToWorld(a[0]),m=o.scene.drawingToWorld(a[1]);a[0].copy(f),a[1].copy(m)}(l||t||a||i)&&p.dispatchEvent(r={type:s,event:e,pick:t,pickPoint:i,isAbsorbPoint:n,pickLine:a,pickPlane:l,normal:c,userId:h,measureUnit:u,modelKey:d})}return null!=l?(t&&i.copy(l.pickPoint),c(l.pickPoint,l.isAbsorbPoint,l.pickLine,l.pickPlane,l.face.normal,l.userId,l.modelKey,l.measureUnit)):(a.hasGroup(Vp.MEASUREPICKPLANE)&&a.removeGroupByName(Vp.MEASUREPICKPLANE),c(null,!1,null,!1)),r}},{key:"handleMouseMovePick",value:function(e){if(xd.MouseMovePick&&this._canPick()){var t=this.cameraControl,i=t.screenToCanvas(e.clientX,e.clientY),n=this,r=new ke(e.clientX,e.clientY),o=t.getIntersectContext(r);if(o.viewer=t.viewer,this._pickObjectByHover)if(this.lastIntersected)a(this.lastIntersected,!0,!1);else a(t.intersector.pickGround(o),!1,!0);else t.intersector.pick(o,(function(e){e?(n.scene.intersectToWorld(e,t.viewer),a(e,!0,!1)):a(t.intersector.pickGround(o),!1,!0)}));this._pickObjectByHover=!1}function a(n,r,o){if(null!=n){var a=t.viewer.modelManager,s={type:Fd.ON_MOUSE_MOVE_PICK,event:e,selectable:r,canvasPos:{x:i.x,y:i.y},intersectInfo:{}};s.intersectInfo.pickFromReferencePlane=o,void 0!==n.userId&&(s.intersectInfo.selectedObjectId=n.userId),void 0!==n.objectType&&(s.intersectInfo.objectType=n.objectType),void 0!==n.modelKey&&(s.intersectInfo.modelKey=n.modelKey),void 0!==n.worldPosition&&(s.intersectInfo.worldPosition=n.worldPosition),void 0!==n.worldBoundingBox&&(s.intersectInfo.worldBoundingBox=n.worldBoundingBox),void 0!==n.point&&(s.intersectInfo.point=n.point),void 0!==n.innnerDebugging&&(s.intersectInfo.innnerDebugging=n.innnerDebugging),s.intersectInfo.fileId=wp.isDefined(n.fileId)?n.fileId:null,s.intersectInfo.unit=wp.isDefined(n.unit)?n.unit:null,a.dispatchEvent(s)}}}},{key:"handleMouseHover",value:function(e){var t=this.cameraControl,i=t.viewer.modelManager.sceneState,n=this;if(function(){if(!1===n.scene.hasGroup(Vp.AXISGRIDMANAGER))return!1;var e=0,t=n.scene.axisGridEnableHover;if(t){for(var i in n.scene.axisGridManagerMap){e+=AxisGridManager.getInstance(n.scene,i).getElements().length}0===e&&(t=!1)}return t}()){var r=this.scene.getMatrixGlobal(),o=new ke(e.clientX,e.clientY),a=t.getRaycaster(o.x,o.y),s=[];for(var l in this.scene.axisGridManagerMap){var c=AxisGridManager.getInstance(this.scene,l),h=c.getIntersectPoints(a,r);c.snapOnFloors(h).forEach((function(e){e.modelKey=l,s.push(e)}))}t.viewer.modelManager.dispatchEvent({type:Fd.ON_AXIS_GRID_HOVER,snaps:s})}if(xd.Hover||(d=!1,n.scene.children[0].children.some((function(e){if(e.name&&e.name.indexOf(Vp.MARKER3D)>=0&&e.children.length>0)return d=!0})),d)){var d,u=t.screenToCanvas(e.clientX,e.clientY),p=new ke(e.clientX,e.clientY),g=t.getIntersectContext(p);t.intersector.pick(g,(function(e){function r(e){switch(e.objectType){case Rd.Marker3d:e.object.setAttributeSize(e.index,e.currentSize);break;default:i.clearHover()}}if(n._pickObjectByHover=!0,e){var o=xd.Hover||e.hoverEnabled;n.lastIntersected&&(n.lastIntersected.userId!=e.userId&&r(n.lastIntersected),n.lastIntersected.hoverEnabled&&f(null)),o?(n.lastIntersected&&n.lastIntersected.userId==e.userId||(!function(t){switch(t.objectType){case Rd.Marker3d:var n=t.object;t.currentSize=n.getAttributeSize(t.index),n.initSize=n.initSize||t.currentSize,n.getAttributeHoverAnimation(t.index)&&t.currentSize===n.initSize&&n.setAttributeSize(e.index,Math.floor(1.5*t.currentSize));break;default:i.setHoverId(t.userId)}}(e),n.lastIntersected=e),f(e,!0)):n.lastIntersected=e,t.updateHighlight()}else n.lastIntersected&&(r(n.lastIntersected),n.lastIntersected=null,f(null),t.updateHighlight())}))}function f(i,r){var o=t.viewer.modelManager;null!==i&&n.scene.intersectToWorld(i,t.viewer),o.dispatchEvent({type:Fd.ON_HOVER_PICK,event:e,canvasPos:{x:u.x,y:u.y},intersectInfo:i?{selectedObjectId:i.userId,objectType:i.objectType,selectable:r,modelKey:i.modelKey,fileId:i.fileId,unit:i.unit,worldPosition:i.worldPosition,worldBoundingBox:i.worldBoundingBox,point:i.point,innnerDebugging:i.innnerDebugging,object:i.object}:null})}}},{key:"_canPick",value:function(){return!!this.cameraControl.viewer.modelManager.hasModelDataReady()}},{key:"setSelectedIdsForOutline",value:function(e){this.cameraControl.viewer.rendererManager.composer&&this.cameraControl.viewer.rendererManager.composer.setSelectedIds(e)}},{key:"pickToPoint",value:function(e,t){wp.defaultValue(t,5);var i=t*t,n=this.cameraControl,r=n.scene,o=new ke(e.x,e.y),a=n.getIntersectContext(o),s=n.intersector.pick(a);if(s){var l="",c=s.modelKey,h=null;c&&(h=n.viewer.modelManager.getModel(c))&&h.originalLengthUnit&&(l=h.originalLengthUnit);var d=s.point,u=s.object.geometry,p=(new yt).extractRotation(s.object.matrix.clone()),g=s.object.matrixWorld.clone(),f=n.camera.projScreenMatrix,m=a.mouse,A=a.viewportSize,y=null;if(null!=s.indexInfo&&(y=s.indexInfo),!u.attributes&&!u._bufferGeometry)return null;s.unit=l;var v=u.attributes?u:u._bufferGeometry;if("MeshLineGeometry"===v.type){var C={};return lf.copy(p).invert(),(H=new Ke(d.x,d.y,d.z)).applyMatrix4(lf),C.pickPoint=H,C.pickLine=s.object,C.pickPlane=null,C.type="Line",C.face=s.face,C.userId=s.userId,C.modelKey=s.modelKey,C.fileId=s.fileId,C.unit=s.unit,C}var I,x=d.clone(),w=!1,M=null,E=!1,B=[],S=0,b=0;if(!v.index)return null;if(s.indexInfo&&s.indexInfo.isMixNode)I=v.attributes.position,B=v.index.array,S=y.indexStart,b=y.indexStart+y.indexCount,g.multiply(y.matrix);else{if(!v.index||void 0===v.attributes.normal)return null;I=v.attributes.position,y?(B=v.index.array,S=y.indexStart,b=y.indexStart+y.indexCount):h&&h.merged&&g.multiply(s.matrix)}var k=1/0,D=(e=new Ke,[]),T=new Ke,R=new Ke;wp.getMin(B.slice(S,b));var U=T.fromBufferAttribute(I,s.face.a);U.applyMatrix4(g);var F=R.copy(U);F.applyMatrix4(f);var Q=.5*(F.x-m.x)*A.width,L=.5*(F.y-m.y)*A.height,O=Q*Q+L*L;if(k>O&&(k=O,e.copy(U)),(U=T.fromBufferAttribute(I,s.face.b)).applyMatrix4(g),(F=R.copy(U)).applyMatrix4(f),k>(O=(Q=.5*(F.x-m.x)*A.width)*Q+(L=.5*(F.y-m.y)*A.height)*L)&&(k=O,e.copy(U)),(U=T.fromBufferAttribute(I,s.face.c)).applyMatrix4(g),(F=R.copy(U)).applyMatrix4(f),k>(O=(Q=.5*(F.x-m.x)*A.width)*Q+(L=.5*(F.y-m.y)*A.height)*L)&&(k=O,e.copy(U)),i>k)r.hasGroup(Vp.MEASUREPICKPLANE)&&r.removeGroupByName(Vp.MEASUREPICKPLANE),x=e.clone(),w=!0;else{k=1/0;var N=new Ke,P=new Ke;e=new Ke;var G,K=this._getEegeData(s);if(!K)return Bu.error("no edge data"),null;D=K.positionsArray,G=K.edgeIndex;for(var V=0;G.length>V;V+=2){df.set(D[3*G[V]],D[3*G[V]+1],D[3*G[V]+2]),df.applyMatrix4(g),uf.set(D[3*G[V+1]],D[3*G[V+1]+1],D[3*G[V+1]+2]),uf.applyMatrix4(g);var Y=this._pointToLine(df,uf,d);(F=Y.clone()).applyMatrix4(f),k>(O=(Q=.5*(F.x-m.x)*A.width)*Q+(L=.5*(F.y-m.y)*A.height)*L)&&(k=O,N.copy(df),P.copy(uf),e.copy(Y))}if(D=null,i>k)r.hasGroup(Vp.MEASUREPICKPLANE)&&r.removeGroupByName(Vp.MEASUREPICKPLANE),(M=[]).push(N),M.push(P),x=e.clone();else{if(xd.MeasureHighlightPlane){var H;B=v.index.array,lf.copy(p).invert(),(H=new Ke(d.x,d.y,d.z)).applyMatrix4(lf);var j=sf(I,normals,B,H,s.face.normal),W=new Ni;W.setIndex(j),W.setAttribute("position",v.attributes.position,3),W.setAttribute("normal",v.attributes.normal,3);var J=af(I,j),z=new Ni;z.setIndex(J),z.setAttribute("position",v.attributes.position,3),r.hasGroup(Vp.MEASUREPICKPLANE)&&r.removeGroupByName(Vp.MEASUREPICKPLANE);var q=r.getOrCreateGroup(Vp.MEASUREPICKPLANE,{priority:1,globalSpace:!0}),Z=new nn(W,new gi({color:1170103,opacity:.1,transparent:!0}));Z.applyMatrix4(s.object.matrix),q.add(Z);var X=new La(z,new Sa({color:1170103}));X.applyMatrix4(s.object.matrix),q.add(X),q.updateMatrixWorld(!0),n.updateHighlight()}E=!0}}var _=null;return E?_="Plane":M?_="Line":x&&(_="Point"),(C={}).pickPoint=x,C.isAbsorbPoint=w,C.measureUnit=l,C.pickLine=M,C.pickPlane=E,C.type=_,C.face=s.face,C.userId=s.userId,C.modelKey=s.modelKey,C.fileId=s.fileId,C.unit=s.unit,C}return null}},{key:"handleTabs",value:function(e){null!=e&&null!=e.userId&&this.cameraControl.viewer.modelManager.sceneState.setSelection([e.userId],e.modelKey)}},{key:"pickAllObjectsByPosition",value:function(e){var t=new ke(e.clientX,e.clientY);return this.cameraControl.intersector.getObjectsByClientCoordinates(t)}},{key:"_getEegeData",value:function(e){var t=e.object.geometry;this.edgeDataMap||(this.edgeDataMap={});var i=null;null!=e.indexInfo&&(i=e.indexInfo);var n=t.attributes?t:t._bufferGeometry,r=n.attributes.position.data||n.attributes.position.array,o=e.nodeId||e.userId;return this.edgeDataMap[n.id]?this.edgeDataMap[n.id].version!==r.version?(delete this.edgeDataMap[n.id].data,this.edgeDataMap[n.id].data[o]=this._getPositionArrayAndEdgeIndex(n,i)):this.edgeDataMap[n.id].data[o]||(this.edgeDataMap[n.id].data[o]=this._getPositionArrayAndEdgeIndex(n,i)):(this.edgeDataMap[n.id]={},this.edgeDataMap[n.id].version=r.version,this.edgeDataMap[n.id].data={},this.edgeDataMap[n.id].data[o]=this._getPositionArrayAndEdgeIndex(n,i)),this.edgeDataMap[n.id].data[o]}},{key:"_getPositionArrayAndEdgeIndex",value:function(e,t){var i=[],n=0,r=0,o=[],a=[],s=e.attributes.position.data||e.attributes.position,l=[];if(t)if(t.isMixNode){i=e.index.array,n=t.indexStart,r=t.indexStart+t.indexCount;for(var c=[],h=0;t.indexCount/3>h;++h){var d=i[n+3*h+0],u=i[n+3*h+1],p=i[n+3*h+2];c.push(3*h),c.push(3*h+1),c.push(3*h+2);var g=s.stride;o.push(s.array[d*g+0]),o.push(s.array[d*g+1]),o.push(s.array[d*g+2]),o.push(s.array[u*g+0]),o.push(s.array[u*g+1]),o.push(s.array[u*g+2]),o.push(s.array[p*g+0]),o.push(s.array[p*g+1]),o.push(s.array[p*g+2])}l=af(o,c)}else{for(var f=wp.getMin((i=e.index.array).slice(n=t.indexStart,r=t.indexStart+t.indexCount)),m=n;r>m;m+=1)a.push(i[m]-f);o=s.array.slice(t.positionStart,t.positionStart+t.positionCount),l=af(o,a)}else r=(i=of(e.attributes.position.array,e.index.array)).length,o=s.array,l=af(e.attributes.position.array,e.index.array);return{positionsArray:o,edgeIndex:l}}},{key:"_pointToLine",value:function(e,t,i){cf.subVectors(t,e),hf.subVectors(i,e);var n=cf.dot(hf);if(0>n)return e;var r=cf.dot(cf);if(n>r)return t;n/=r;var o=e.clone();return o.addScaledVector(cf,n),o}}]),e}(),gf="http://www.w3.org/2000/svg",ff=function(){var e=document.createElementNS(gf,"svg"),t=function(e,t,i,n){var r=document.createElementNS(gf,"defs"),o=document.createElementNS(gf,"filter");o.id=e,o.setAttributeNS(null,"x","-30%"),o.setAttributeNS(null,"y","-30%"),o.setAttributeNS(null,"width","200%"),o.setAttributeNS(null,"height","200%");var a=document.createElementNS(gf,"feGaussianBlur");a.setAttributeNS(null,"in","SourceAlpha"),a.setAttributeNS(null,"stdDeviation","4");var s=document.createElementNS(gf,"feOffset");s.setAttributeNS(null,"result","offsetblur");var l=document.createElementNS(gf,"feMerge"),c=document.createElementNS(gf,"feMergeNode"),h=document.createElementNS(gf,"feMergeNode");return h.setAttributeNS(null,"in","SourceGraphic"),l.appendChild(c),l.appendChild(h),o.appendChild(a),o.appendChild(s),o.appendChild(l),r.appendChild(o),r}("drop-shadow");return e.appendChild(t),e},mf=function(){return document.createElementNS(gf,"line")},Af=function(){return document.createElementNS(gf,"path")},yf=function(e){var t=document.createElementNS(gf,"circle");return t.setAttributeNS(null,"r",e||0),t.setAttributeNS(null,"fill","none"),t},vf=function(){return document.createElementNS(gf,"text")},Cf=function(){return document.createElementNS(gf,"g")},If=function(e,t){var i=Math.pow(e[0]-t[0],2),n=Math.pow(e[1]-t[1],2),r=0;return 3===e.length&&3===t.length&&(r=Math.pow(e[2]-t[2],2)),Math.sqrt(i+n+r)},xf=function(e){var t=Math.pow(e[0],2),i=Math.pow(e[1],2),n=0;e.length>2&&(n=Math.pow(e[2],2));var r=Math.sqrt(t+i+n),o=[e[0]/r,e[1]/r];return e.length>2&&o.push(e[2]/r),o},wf=function(e,t){var i=0;return e.length>2&&t.length>2&&(i=e[2]*t[2]),e[0]*t[0]+e[1]*t[1]+i},Mf=function(e,t){var i=e[0],n=e[1],r=e[2],o=t[0],a=t[1],s=t[2];return[n*s-r*a,r*o-i*s,i*a-n*o]},Ef=function(e){return"mm"===e?1:"cm"===e?10:"m"===e?1e3:1},Bf=function(e,t,i,n){var r=Ef(e);2===n?r*=r:3===n&&(r*=r*r);var o=Ef(t);return 2===n?o*=o:3===n&&(o*=o*o),i*r/o},Sf=function(e,t){return!(t.x>e.x+e.width||e.x>t.x+t.width||t.y>e.y+e.height||e.y>t.y+t.height)},bf=function(){return"undefined"!=typeof window&&"ontouchstart"in window},kf=function(e){this.svg=e,this.maxPointsNeed=0,this.pickedPoints=[],this.svgGroup=Cf(),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};kf.prototype.addPickedPoint=function(e,t,i){return!this.isDone()&&(!!e&&(this.pickedPoints.push(e),t&&(this.unitOfModel=this.unitOfModel&&this.unitOfModel!==t?void 0:t),!0))},kf.prototype.getAllPickedPoint=function(){return this.pickedPoints},kf.prototype.draw=function(e,t){},kf.prototype.adjustWithOption=function(e){this.adjustOption=e,e&&this.updateTexts()},kf.prototype.unAdjustWithOption=function(e){this.adjustOption=void 0,this.updateTexts()},kf.prototype.changeUnit=function(e){e&&(this.unitOnUI=e,this.updateTexts())},kf.prototype.changePrecision=function(e){this.precision=e,e&&this.updateTexts()},kf.prototype.updateTexts=function(){},kf.prototype.isVisible=function(){return!!(this.svg&&this.svgGroup&&this.svgGroup.parentNode)},kf.prototype.remove=function(){this.svg&&this.svgGroup&&this.svgGroup.parentNode&&(this.svg.removeChild(this.svgGroup),this.onclickCallback=void 0)},kf.prototype.add=function(){this.svg&&this.svgGroup&&this.svg.appendChild(this.svgGroup)},kf.prototype.isDone=function(){return this.pickedPoints.length===this.maxPointsNeed},kf.prototype.setClickCallback=function(e){this.onclickCallback=e},kf.prototype.measureResult=function(){},kf.prototype.createCircle=function(){var e=yf(5);return e.setAttributeNS(null,"fill","#ff9800"),e.setAttributeNS(null,"stroke","#ffffff"),e.setAttributeNS(null,"stroke-width",2),e.style.display="none",e},kf.prototype.createLine=function(){var e=mf();return e.setAttributeNS(null,"stroke-width",2),e.setAttributeNS(null,"stroke","#ffff00"),e.style.display="none",e},kf.prototype.createText=function(){var e=vf();return e.style.fontSize="14",e.style.display="none",e.style.textAnchor="middle",e.setAttributeNS(null,"fill","#ffffff"),e},kf.prototype.createPath=function(){var e=Af();return e.style.display="none",e.setAttributeNS(null,"fill","none"),e.setAttributeNS(null,"stroke","#0aea06"),e},kf.prototype.resultToDisplayOfLength=function(e){var t=e,i=this.unitOfModel;return this.adjustOption&&(t=this.adjustOption.adjustLength(e),i=this.adjustOption.unit),this.unitOnUI&&(i&&(t=Bf(i,this.unitOnUI,t,0)),i=this.unitOnUI),i||(i=""),t=t.toFixed(this.precision),{value:Number(t),unit:i,text:t+i}},kf.prototype.setSelected=function(e){return this.isSelected!==e&&(this.isSelected=e,!0)};var Df=function(){this.group=Cf(),this.group.style.display="none";var e=Af();this.textBackground=e,this.group.appendChild(e),e=Af(),this.prefixTextBackground=e,this.prefixTextBackground.style.display="none",this.group.appendChild(e);var t=vf();t.style.fontSize="12",t.style.textAnchor="middle",t.style.dominantBaseline="central",t.style.cursor="default",t.setAttributeNS(null,"fill","#ffffff"),this.group.appendChild(t),this.text=t,(t=vf()).style.fontSize="12",t.style.textAnchor="middle",t.style.dominantBaseline="central",t.style.display="none",t.setAttributeNS(null,"fill","#ffffff"),this.group.appendChild(t),this.prefixText=t,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)};Df.prototype.draw=function(e){if(this.textContent&&this.textContent.length){this.group.style.display="",this.text.textContent=this.textContent;var t=null;this.prefixTextContent?(this.prefixText.textContent=this.prefixTextContent,this.prefixText.style.display="",t=this.prefixText.getBBox()):(this.prefixText.style.display="none",t={width:0,height:0});var i=this.text.getBBox(),n=5+i.width+5;this.prefixTextContent&&this.prefixTextContent.length>0&&(n=n+5+t.width+5),e&&(n=Math.max(e,n));var r=this.textPosition.x-n/2,o=this.textPosition.y-(5+i.height+5)/2,a=function(e,t,i,n,r){return"M"+e+","+(t+r)+"a"+r+","+r+" 0 0 1 "+r+","+-r+"h"+(i-2*r)+"a"+r+","+r+" 0 0 1 "+r+","+r+"v"+(n-2*r)+"a"+r+","+r+" 0 0 1 "+-r+","+r+"h"+(2*r-i)+"a"+r+","+r+" 0 0 1 "+-r+","+-r+"v"+(2*r-n)+"z"}(r,o,n,i.height+10,5);this.textBackground.setAttributeNS(null,"d",a),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?(a=function(e,t,i,n,r){return"M"+e+","+(t+r)+"a"+r+","+r+" 0 0 1 "+r+","+-r+"h"+(i-r)+"v"+n+"h"+(r-i)+"a"+r+","+r+" 0 0 1 "+-r+","+-r+"v"+(2*r-n)+"z"}(r,o,t.width+10,t.height+10,5),this.prefixTextBackground.setAttributeNS(null,"d",a),this.prefixTextBackground.setAttributeNS(null,"fill",this.prefixTextBackgroundColor),this.prefixTextBackground.style.display="",this.prefixText.setAttributeNS(null,"x",r+5+t.width/2),this.prefixText.setAttributeNS(null,"y",o+5+t.height/2),r=r+(10+t.width)/2+n/2):r+=n/2,this.text.setAttributeNS(null,"x",r),this.text.setAttributeNS(null,"y",o+5+i.height/2),this.text.setAttributeNS(null,"fill",this.textColor),this.prefixText.setAttributeNS(null,"fill",this.prefixTextColor)}},Df.prototype.setText=function(e,t){this.textContent=e,this.prefixTextContent=t},Df.prototype.setPosition=function(e,t){this.textPosition={x:e,y:t}},Df.prototype.hide=function(){this.group.style.display="none"},Df.prototype.show=function(){this.group.style.display=""},Df.prototype.setClickCallback=function(e){this.onclickCallback=e,e?(this.group.style.cursor="pointer",this.text.style.cursor="pointer",bf()?(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",bf()?(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)))},Df.prototype._onMouseMove=function(e){e.stopPropagation(),e.preventDefault()},Df.prototype._onMouseDown=function(e){e.stopPropagation(),e.preventDefault()},Df.prototype._onMouseUp=function(e){e.stopPropagation(),e.preventDefault(),this.onclickCallback&&this.onclickCallback()};var Tf=function(e){kf.call(this,e),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 Df,this.text.textBackgroundColor="#ffffff",this.text.textColor="#000000",this.svgGroup.appendChild(this.text.group),this._distance=void 0};(Tf.prototype=Object.assign(Object.create(kf.prototype),{constructor:Tf})).addPickedPoint=function(e,t,i){kf.prototype.addPickedPoint.call(this,e,t,i)&&this.isDone()&&(this._enableSelect(),this._distance=If(this.pickedPoints[0],this.pickedPoints[1]))},Tf.prototype.draw=function(e,t){if(this.svgGroup.parentNode){var i=this.pickedPoints;if(i.length>0){e&&!this.isDone()&&(i=i.concat([e]));var n=i;if(t){for(var r=[],o=0,a=i.length;a>o;o+=1)r[o]=t(i[o]);n=r}var s=n[0],l=n.length>1?n[1]:s;if(this.startCircle.setAttributeNS(null,"cx",s[0]),this.startCircle.setAttributeNS(null,"cy",s[1]),this.startCircle.style.display="",this.line.setAttributeNS(null,"x1",s[0]),this.line.setAttributeNS(null,"y1",s[1]),this.line.setAttributeNS(null,"x2",l[0]),this.line.setAttributeNS(null,"y2",l[1]),this.line.style.display="",this.text.setPosition((s[0]+l[0])/2,(s[1]+l[1])/2),i.length>1){var c=If(i[0],i[1]);this._distance=c}2===this.pickedPoints.length?(this.endCircle.setAttributeNS(null,"cx",l[0]),this.endCircle.setAttributeNS(null,"cy",l[1]),this.endCircle.style.display=""):this.endCircle.style.display="none",this._updateText()}}},Tf.prototype.measureResult=function(){if(this.isDone()){var e={};if(e.distance=this._distance,this.adjustOption){var t=this.resultToDisplayOfLength(this._distance);e.unit=t.unit,e.value=t.value}return e}},Tf.prototype.adjustWithOption=function(e){kf.prototype.adjustWithOption.call(this,e),this._updateText(),this._disableSelect()},Tf.prototype.changeUnit=function(e){kf.prototype.changeUnit.call(this,e),e&&this._updateText()},Tf.prototype.changePrecision=function(e){kf.prototype.changePrecision.call(this,e),e&&this._updateText()},Tf.prototype._enableSelect=function(){var e=this;this.startCircle.onmousedown=function(t){e.isDone()&&(e.pickedPoints=e.pickedPoints.slice(1),t.stopPropagation(),e._disableSelect())},this.endCircle.onmousedown=function(t){e.isDone()&&(e.pickedPoints=e.pickedPoints.slice(0,1),t.stopPropagation(),e._disableSelect())}},Tf.prototype._disableSelect=function(){this.startCircle.onmousedown=void 0,this.endCircle.onmousedown=void 0},Tf.prototype._updateText=function(){this.isDone()&&this._distance&&this.adjustOption&&(this.text.setText(this.resultToDisplayOfLength(this._distance).text),this.text.draw())};var Rf=function(){this.unit=void 0,this.valueBeforeAdjust=void 0,this.valueAfterAdjust=void 0};Rf.prototype.adjustLength=function(e){return this.valueAfterAdjust&&this.valueBeforeAdjust?e*this.valueAfterAdjust/this.valueBeforeAdjust:e},Rf.prototype.adjustArea=function(e){return this.valueAfterAdjust&&this.valueBeforeAdjust?e*Math.pow(this.valueAfterAdjust/this.valueBeforeAdjust,2):e},Rf.prototype.adjustVolume=function(e){return this.valueAfterAdjust&&this.valueBeforeAdjust?e*Math.pow(this.valueAfterAdjust/this.valueBeforeAdjust,3):e};var Uf=function(e){kf.call(this,e),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 Df,this.angleText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.angleText.group);var t=this;this.angleText.setClickCallback((function(){t.onclickCallback&&t.onclickCallback(t)}))};(Uf.prototype=Object.assign(Object.create(kf.prototype),{constructor:Uf})).addPickedPoint=function(e,t,i){if(kf.prototype.addPickedPoint.call(this,e,t,i)&&this.isDone()){var n=this.pickedPoints[0],r=this.pickedPoints[1],o=this.pickedPoints[2],a=function(e,t){var i=xf(e),n=xf(t),r=wf(i,n);return Math.acos(r)/Math.PI*180}([n[0]-r[0],n[1]-r[1],n[2]-r[2]],[o[0]-r[0],o[1]-r[1],o[2]-r[2]]);this._angle=a}},Uf.prototype.draw=function(e,t){if(this.svgGroup.parentNode){var i=this.pickedPoints;if(i.length>0){e&&!this.isDone()&&(i=i.concat([e]));var n=i,r=!0;if(t){for(var o=!0,a=[],s=0,l=i.length;l>s;s+=1)a[s]=t(i[s]),r&&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)&&(r=!1),void 0!==a[s][2]&&0!==a[s][2]||(o=!1);n=a,o&&(r=!0)}if(this.pickedPoints.length>=1){var c=n[0],h=n[1];this.circle1.setAttributeNS(null,"cx",c[0]),this.circle1.setAttributeNS(null,"cy",c[1]),this.circle1.style.display="",(e||this.pickedPoints.length>1)&&(this.line1.setAttributeNS(null,"x1",c[0]),this.line1.setAttributeNS(null,"y1",c[1]),this.line1.setAttributeNS(null,"x2",h[0]),this.line1.setAttributeNS(null,"y2",h[1]),this.line1.style.display="")}if(this.pickedPoints.length>=2){var d=n[1],u=n[2];this.circle2.setAttributeNS(null,"cx",d[0]),this.circle2.setAttributeNS(null,"cy",d[1]),this.circle2.style.display="",(e||this.pickedPoints.length>2)&&(this.line2.setAttributeNS(null,"x1",d[0]),this.line2.setAttributeNS(null,"y1",d[1]),this.line2.setAttributeNS(null,"x2",u[0]),this.line2.setAttributeNS(null,"y2",u[1]),this.line2.style.display="")}if(3===this.pickedPoints.length){if(r)return void(this.svgGroup.style.display="none");this.svgGroup.style.display="";var p=n[2];this.circle3.setAttributeNS(null,"cx",p[0]),this.circle3.setAttributeNS(null,"cy",p[1]),this.circle3.style.display="";var g=n[0].slice(0,2),f=n[1].slice(0,2),m=n[2].slice(0,2),A=If(g,f),y=If(f,m),v=Math.min(Math.min(A,y),30),C=xf([g[0]-f[0],g[1]-f[1]]),I=[f[0]+C[0]*v,f[1]+C[1]*v],x=xf([m[0]-f[0],m[1]-f[1]]),w=[f[0]+x[0]*v,f[1]+x[1]*v],M=[(I[0]+w[0])/2,(I[1]+w[1])/2],E=[M[0]-f[0],M[1]-f[1]],B=[f[0]+(E=[1.5*E[0],1.5*E[1]])[0],f[1]+E[1]],S="M"+I[0]+","+I[1];S+="Q"+B[0]+","+B[1],this.arc.setAttributeNS(null,"d",S+=" "+w[0]+","+w[1]),this.arc.style.display="",this.angleText.setText(this._angle.toFixed(this.precision)+"°"),this.angleText.setPosition(B[0],B[1]),this.angleText.draw()}}}},Uf.prototype.setSelected=function(e){kf.prototype.setSelected.call(this,e)&&(e?(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()))},Uf.prototype.measureResult=function(){return this._angle},Uf.prototype.updateTexts=function(){this.isDone()&&(this.angleText.setText(this._angle.toFixed(this.precision)+"°"),this.angleText.draw())};var Ff=function(e){kf.call(this,e),this.path=Af(),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 Df,this.resultText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.resultText.group);var t=this;this.resultText.setClickCallback((function(){t.onclickCallback&&t.onclickCallback(t)}))};(Ff.prototype=Object.assign(Object.create(kf.prototype),{constructor:Ff})).addPickedPoint=function(e,t,i){if(this._pointCanClosePath(e,i))this._isDone=!0,this._area=this.is3DMode?this._calculateArea3D():this._calculateArea2D();else if(kf.prototype.addPickedPoint.call(this,e,t,i)){var n=this.createCircle();this.svgGroup.appendChild(n),this._circles.push(n)}},Ff.prototype.isDone=function(){return this._isDone},Ff.prototype.draw=function(e,t){if(this.svgGroup.parentNode){var i=this.pickedPoints;if(i.length>0){if(e&&!this.isDone()){if(this._pointCanClosePath(e,t)){var n=this.pickedPoints[0];e=[n[0],n[1],n[2]]}i=i.concat([e])}var r=i,o=!0;if(t){for(var a=!0,s=[],l=0,c=i.length;c>l;l+=1)s[l]=t(i[l]),o&&s[l][0]>0&&s[l][0]<parseInt(this.svg.style.width,10)&&s[l][1]>0&&s[l][1]<parseInt(this.svg.style.height,10)&&(o=!1),void 0!==s[l][2]&&0!==s[l][2]||(a=!1);r=s,a&&(o=!0)}var h=this._pathString(r);if(this.path.setAttributeNS(null,"d",h),this.isDone()){if(o)return void(this.svgGroup.style.display="none");this.svgGroup.style.display="",this.path.setAttributeNS(null,"fill","rgba(69,195,69,0.5)");var d=this._getPointsCenter(this.pickedPoints);t&&(d=t(d)),this.resultText.setPosition(d[0],d[1]),this.updateTexts()}for(var u=0,p=this._circles.length;p>u;u+=1){var g=this._circles[u],f=r[u];g.setAttributeNS(null,"cx",f[0]),g.setAttributeNS(null,"cy",f[1]),g.style.display=""}}}},Ff.prototype.measureResult=function(){return this._area},Ff.prototype.updateTexts=function(){this.isDone()&&(this.resultText.setText(this.resultToDisplayOfArea(this._area).text),this.resultText.draw())},Ff.prototype.setSelected=function(e){kf.prototype.setSelected.call(this,e)&&(e?(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()))},Ff.prototype.resultToDisplayOfArea=function(e){var t=e,i=this.unitOfModel;return this.adjustOption&&(t=this.adjustOption.adjustArea(e),i=this.adjustOption.unit),this.unitOnUI&&(i&&(t=Bf(i,this.unitOnUI,t,2)),i=this.unitOnUI),i||(i=""),t=t.toFixed(this.precision),"mm"===i?i="mm²":"m"===i?i="m²":"cm"===i&&(i="cm²"),{value:Number(t),unit:i,text:t+i}},Ff.prototype._pointCanClosePath=function(e,t){if(this.pickedPoints.length>0){var i=this.pickedPoints[0];t&&(i=t(i),e=t(e));var n=e[0]-i[0],r=e[1]-i[1];if(200>=n*n+r*r+0)return!0}return!1},Ff.prototype._pathString=function(e){if(!e||0===e.length)return"";for(var t="M"+e[0][0]+" "+e[0][1],i=1,n=e.length;n>i;i+=1)t=t+"L"+e[i][0]+" "+e[i][1];return this.isDone()&&(t+="Z"),t},Ff.prototype._calculateArea2D=function(){if(this.isDone()&&this.pickedPoints.length>=3){for(var e=this.pickedPoints,t=this.pickedPoints[0],i=[],n=1,r=e.length;r>n;n+=1)i.push([e[n][0]-t[0],e[n][1]-t[1]]);for(var o=0,a=0,s=i.length;s-1>a;a+=1){var l=i[a],c=i[a+1];o+=l[0]*c[1]-l[1]*c[0]}return Math.abs(o/2)}return 0},Ff.prototype._calculateArea3D=function(){if(this.isDone()&&this.pickedPoints.length>=3){for(var e=this.pickedPoints,t=this.pickedPoints[0],i=xf(Mf([this.pickedPoints[1][0]-t[0],this.pickedPoints[1][1]-t[1],this.pickedPoints[1][2]-t[2]],[this.pickedPoints[2][0]-t[0],this.pickedPoints[2][1]-t[1],this.pickedPoints[2][2]-t[2]])),n=0,r=1,o=e.length;o>r;r+=1){n+=wf(Mf([this.pickedPoints[r-1][0]-t[0],this.pickedPoints[r-1][1]-t[1],this.pickedPoints[r-1][2]-t[2]],[this.pickedPoints[r][0]-t[0],this.pickedPoints[r][1]-t[1],this.pickedPoints[r][2]-t[2]]),i)}return Math.abs(n/2)}return 0},Ff.prototype._getPointsCenter=function(e){var t=e.length;return[e.reduce((function(e,t){return e+t[0]}),0)/t,e.reduce((function(e,t){return e+t[1]}),0)/t,e.reduce((function(e,t){return e+t[2]}),0)/t]},Ff.prototype._crossProduct=function(e,t){var i=e[0],n=e[1],r=e[2],o=t[0],a=t[1],s=t[2];return[n*s-r*a,r*o-i*s,i*a-n*o]};var Qf=function(e,t,i){kf.call(this,e),this.maxPointsNeed=2,this.isMobile=t,this.number=i,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 Df,this.deltaXText.textColor="#ec4545",this.deltaXText.prefixTextBackgroundColor="#ec4545",this.svgGroup.appendChild(this.deltaXText.group),this.deltaYText=new Df,this.deltaYText.textColor="#45c345",this.deltaYText.prefixTextBackgroundColor="#45c345",this.svgGroup.appendChild(this.deltaYText.group),this.deltaZText=new Df,this.deltaZText.textColor="#5757da",this.deltaZText.prefixTextBackgroundColor="#5757da",this.svgGroup.appendChild(this.deltaZText.group),this.distanceText=new Df,this.distanceText.textBackgroundColor="#009bff";var n=this;this.distanceText.setClickCallback((function(){n.onclickCallback&&n.onclickCallback(n)})),this.svgGroup.appendChild(this.distanceText.group),this._distance=void 0,this._deltaXDistance=void 0,this._deltaYDistance=void 0,this._deltaZDistance=void 0};(Qf.prototype=Object.assign(Object.create(kf.prototype),{constructor:Qf})).addPickedPoint=function(e,t,i){if(kf.prototype.addPickedPoint.call(this,e,t,i)&&(this._drawPoints.push(e),this.isDone())){if(3===e.length){var n=[];n[0]=this.pickedPoints[1][0],n[1]=this.pickedPoints[0][1],n[2]=this.pickedPoints[1][2];var r=[];r[0]=this.pickedPoints[1][0],r[1]=this.pickedPoints[0][1],r[2]=this.pickedPoints[0][2],this._drawPoints.push(n),this._drawPoints.push(r)}this._distance=If(this._drawPoints[0],this._drawPoints[1]),this._deltaYDistance=If(this._drawPoints[1],this._drawPoints[2]),this._deltaZDistance=If(this._drawPoints[2],this._drawPoints[3]),this._deltaXDistance=If(this._drawPoints[3],this._drawPoints[0]),this.updateTexts()}},Qf.prototype.draw=function(e,t){if(this.svgGroup.parentNode){var i=this._drawPoints;if(i.length>0){e&&!this.isDone()&&(i=i.concat([e]));var n=i,r=!0;if(t){for(var o=!0,a=[],s=0,l=i.length;l>s;s+=1)a[s]=t(i[s]),r&&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)&&(r=!1),void 0!==a[s][2]&&0!==a[s][2]||(o=!1);n=a,o&&(r=!0)}var c=n[0],h=n.length>1?n[1]:c;if(this.startCircle.setAttributeNS(null,"cx",c[0]),this.startCircle.setAttributeNS(null,"cy",c[1]),this.startCircle.style.display="",this.distanceLine.setAttributeNS(null,"x1",c[0]),this.distanceLine.setAttributeNS(null,"y1",c[1]),this.distanceLine.setAttributeNS(null,"x2",h[0]),this.distanceLine.setAttributeNS(null,"y2",h[1]),this.distanceLine.style.display="",2>i.length)return;if(this.distanceText.setPosition((c[0]+h[0])/2,(c[1]+h[1])/2),!this.isDone()){var d=If(i[0],i[1]);this._distance=d}if(4===i.length){if(r)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",h[0]),this.endCircle.setAttributeNS(null,"cy",h[1]);var u=n[2],p=n[3];this.deltaYLine.setAttributeNS(null,"x1",h[0]),this.deltaYLine.setAttributeNS(null,"y1",h[1]),this.deltaYLine.setAttributeNS(null,"x2",u[0]),this.deltaYLine.setAttributeNS(null,"y2",u[1]),this.deltaYText.setPosition((u[0]+h[0])/2,(u[1]+h[1])/2),this.deltaZLine.setAttributeNS(null,"x1",u[0]),this.deltaZLine.setAttributeNS(null,"y1",u[1]),this.deltaZLine.setAttributeNS(null,"x2",p[0]),this.deltaZLine.setAttributeNS(null,"y2",p[1]),this.deltaZText.setPosition((u[0]+p[0])/2,(u[1]+p[1])/2),this.deltaXLine.setAttributeNS(null,"x1",p[0]),this.deltaXLine.setAttributeNS(null,"y1",p[1]),this.deltaXLine.setAttributeNS(null,"x2",c[0]),this.deltaXLine.setAttributeNS(null,"y2",c[1]),this.deltaXText.setPosition((p[0]+c[0])/2,(p[1]+c[1])/2),this.isSelected&&(this.isMobile||(this.deltaXText.draw(),this.deltaYText.draw(),this.deltaZText.draw()),this.layoutResultText())}}}},Qf.prototype.layoutResultText=function(){for(var e=this.distanceText.group.getBBox(),t=this.deltaXText.group.getBBox(),i=this.deltaYText.group.getBBox(),n=this.deltaZText.group.getBBox(),r=[t,i,n],o=!1,a=0;r.length>a;a+=1)if(Sf(e,r[a])){o=!0;break}if(o||(o=Sf(t,i)),o||(o=Sf(t,n)),o||(o=Sf(i,n)),o){var s=Math.max(e.width,t.width,i.width,n.width),l=e.x+e.width/2,c=e.y+e.height+8;return this.deltaXText.setPosition(l,c+t.height/2),this.deltaYText.setPosition(l,(c+=t.height)+i.height/2),this.deltaZText.setPosition(l,(c+=i.height)+n.height/2),this.isMobile||(this.deltaXText.draw(s),this.deltaYText.draw(s),this.deltaZText.draw(s)),this.distanceText.draw(s),o}},Qf.prototype.measureResult=function(){if(this._distance)return[this._distance,this._deltaXDistance,this._deltaYDistance,this._deltaZDistance]},Qf.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())))},Qf.prototype.setSelected=function(e){kf.prototype.setSelected.call(this,e)&&(e?(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 Lf=function(e){kf.call(this,e),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 Df,this.distanceText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.distanceText.group);var t=this;this.distanceText.setClickCallback((function(){t.onclickCallback&&t.onclickCallback(t)})),this.pickedComponentKeys=[],this._distance=void 0};(Lf.prototype=Object.assign(Object.create(kf.prototype),{constructor:Lf})).setData=function(e,t,i){this.pickedPoints=e,this._distance=t,i&&(this.unitOfModel=this.unitOfModel&&this.unitOfModel!==i?void 0:i)},Lf.prototype.draw=function(e,t){if(this.svgGroup.parentNode&&this.isDone()){var i=this.pickedPoints;if(t){for(var n=[],r=0,o=i.length;o>r;r+=1)n[r]=t(i[r]);i=n}var a=i[0],s=i[1];this.startCircle.setAttributeNS(null,"cx",a[0]),this.startCircle.setAttributeNS(null,"cy",a[1]),this.startCircle.style.display="",this.endCircle.setAttributeNS(null,"cx",s[0]),this.endCircle.setAttributeNS(null,"cy",s[1]),this.endCircle.style.display="",this.distanceLine.setAttributeNS(null,"x1",a[0]),this.distanceLine.setAttributeNS(null,"y1",a[1]),this.distanceLine.setAttributeNS(null,"x2",s[0]),this.distanceLine.setAttributeNS(null,"y2",s[1]),this.distanceLine.style.display="",this.distanceText.setPosition((a[0]+s[0])/2,(a[1]+s[1])/2),this.updateTexts()}},Lf.prototype.measureResult=function(){if(void 0!==this._distance)return this._distance},Lf.prototype.updateTexts=function(){void 0!==this._distance&&(this.distanceText.setText(this.resultToDisplayOfLength(this._distance).text,void 0),this.distanceText.draw())},Lf.prototype.setSelected=function(e){kf.prototype.setSelected.call(this,e)&&(e?(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 Of=function(e){kf.call(this,e),this.maxPointsNeed=2;var t=mf();t.setAttributeNS(null,"stroke-width","2"),t.setAttributeNS(null,"stroke","#0aea06"),this.svgGroup.appendChild(t),this._line=t,this.distanceText=new Df,this.distanceText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.distanceText.group)};(Of.prototype=Object.assign(Object.create(kf.prototype),{constructor:Of})).setData=function(e,t){e&&t&&(this._points=[e,t])},Of.prototype.draw=function(e,t){if(2===this._points.length){var i=t(this._points[0]),n=t(this._points[1]);this._line.setAttributeNS(null,"x1",i[0]),this._line.setAttributeNS(null,"y1",i[1]),this._line.setAttributeNS(null,"x2",n[0]),this._line.setAttributeNS(null,"y2",n[1]),this.distanceText.setPosition((i[0]+n[0])/2,(i[1]+n[1])/2);var r=If(this._points[0],this._points[1]);this.distanceText.setText(this.resultToDisplayOfLength(r).text,void 0),this.distanceText.draw()}};var Nf,Pf,Gf=function(e,t){this.x=e||0,this.y=t||0};Object.defineProperties(Gf.prototype,{width:{get:function(){return this.x},set:function(e){this.x=e}},height:{get:function(){return this.y},set:function(e){this.y=e}}}),Object.assign(Gf.prototype,{isVector2:!0,set:function(e,t){return this.x=e,this.y=t,this},setScalar:function(e){return this.x=e,this.y=e,this},setX:function(e){return this.x=e,this},setY:function(e){return this.y=e,this},setComponent:function(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error("index is out of range: "+e)}return this},getComponent:function(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(e){return this.x=e.x,this.y=e.y,this},add:function(e,t){return void 0!==t?(console.warn("Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(e,t)):(this.x+=e.x,this.y+=e.y,this)},addScalar:function(e){return this.x+=e,this.y+=e,this},addVectors:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this},addScaledVector:function(e,t){return this.x+=e.x*t,this.y+=e.y*t,this},sub:function(e,t){return void 0!==t?(console.warn("Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(e,t)):(this.x-=e.x,this.y-=e.y,this)},subScalar:function(e){return this.x-=e,this.y-=e,this},subVectors:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this},multiply:function(e){return this.x*=e.x,this.y*=e.y,this},multiplyScalar:function(e){return this.x*=e,this.y*=e,this},divide:function(e){return this.x/=e.x,this.y/=e.y,this},divideScalar:function(e){return this.multiplyScalar(1/e)},applyMatrix3:function(e){var t=this.x,i=this.y,n=e.elements;return this.x=n[0]*t+n[3]*i+n[6],this.y=n[1]*t+n[4]*i+n[7],this},min:function(e){return this.x>e.x&&(this.x=e.x),this.y>e.y&&(this.y=e.y),this},max:function(e){return e.x>this.x&&(this.x=e.x),e.y>this.y&&(this.y=e.y),this},clamp:function(e,t){return this.x=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this},clampScalar:(Nf=new Gf,Pf=new Gf,function(e,t){return Nf.set(e,e),Pf.set(t,t),this.clamp(Nf,Pf)}),clampLength:function(e,t){var i=this.length();return this.divideScalar(i||1).multiplyScalar(Math.max(e,Math.min(t,i)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=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(e){return this.x*e.x+this.y*e.y},cross:function(e){return this.x*e.y-this.y*e.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 e=Math.atan2(this.y,this.x);return 0>e&&(e+=2*Math.PI),e},distanceTo:function(e){return Math.sqrt(this.distanceToSquared(e))},distanceToSquared:function(e){var t=this.x-e.x,i=this.y-e.y;return t*t+i*i},manhattanDistanceTo:function(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)},setLength:function(e){return this.normalize().multiplyScalar(e)},lerp:function(e,t){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this},lerpVectors:function(e,t,i){return this.subVectors(t,e).multiplyScalar(i).add(e)},equals:function(e){return e.x===this.x&&e.y===this.y},fromArray:function(e,t){return void 0===t&&(t=0),this.x=e[t],this.y=e[t+1],this},toArray:function(e,t){return void 0===e&&(e=[]),void 0===t&&(t=0),e[t]=this.x,e[t+1]=this.y,e},rotateAround:function(e,t){var i=Math.cos(t),n=Math.sin(t),r=this.x-e.x,o=this.y-e.y;return this.x=r*i-o*n+e.x,this.y=r*n+o*i+e.y,this}});var Kf=function(){this.elements=[1,0,0,0,1,0,0,0,1]};function Vf(e,t){this.normal=void 0!==e?e:new Qu(1,0,0),this.constant=void 0!==t?t:0}Kf.prototype.clear=function(){return this.elements=[1,0,0,0,1,0,0,0,1],this},Kf.prototype.set=function(e,t,i,n,r,o,a,s,l){var c=this.elements;return c[0]=e,c[1]=n,c[2]=a,c[3]=t,c[4]=r,c[5]=s,c[6]=i,c[7]=o,c[8]=l,this},Kf.prototype.clone=function(){return(new this.constructor).fromArray(this.elements)},Kf.prototype.fromArray=function(e,t){void 0===t&&(t=0);for(var i=0;9>i;i+=1)this.elements[i]=e[i+t];return this},Kf.prototype.multiply=function(e){return this.multiplyMatrices(this,e)},Kf.prototype.multiplyMatrices=function(e,t){var i=e.elements,n=t.elements,r=this.elements,o=i[0],a=i[3],s=i[6],l=i[1],c=i[4],h=i[7],d=i[2],u=i[5],p=i[8],g=n[0],f=n[3],m=n[6],A=n[1],y=n[4],v=n[7],C=n[2],I=n[5],x=n[8];return r[0]=o*g+a*A+s*C,r[3]=o*f+a*y+s*I,r[6]=o*m+a*v+s*x,r[1]=l*g+c*A+h*C,r[4]=l*f+c*y+h*I,r[7]=l*m+c*v+h*x,r[2]=d*g+u*A+p*C,r[5]=d*f+u*y+p*I,r[8]=d*m+u*v+p*x,this},Kf.prototype.scale=function(e,t){var i=this.elements;return i[0]*=e,i[3]*=e,i[6]*=e,i[1]*=t,i[4]*=t,i[7]*=t,this},Kf.prototype.rotate=function(e){var t=Math.cos(e),i=Math.sin(e),n=this.elements,r=n[0],o=n[3],a=n[6],s=n[1],l=n[4],c=n[7];return n[0]=t*r+i*s,n[3]=t*o+i*l,n[6]=t*a+i*c,n[1]=-i*r+t*s,n[4]=-i*o+t*l,n[7]=-i*a+t*c,this},Kf.prototype.makeRotate=function(e){var t=Math.cos(e),i=Math.sin(e);return this.set(t,-i,0,i,t,0,0,0,1),this},Kf.prototype.translate=function(e,t){var i=this.elements;return i[0]+=e*i[2],i[3]+=e*i[5],i[6]+=e*i[8],i[1]+=t*i[2],i[4]+=t*i[5],i[7]+=t*i[8],this},Kf.prototype.makeShear=function(e,t){return this.set(1,t,0,e,1,0,0,0,1),this},Kf.prototype.fromCanvasTransform=function(e,t,i,n,r,o){return this.set(e,i,r,t,n,o,0,0,1),this},Kf.prototype.toCanvasTransform=function(){var e=this.elements;return[e[0],e[3],e[1],e[4],e[6],e[7]]},Kf.prototype.getInverse=function(e,t){e&&e.isMatrix4&&console.error("THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument.");var i=e.elements,n=this.elements,r=i[0],o=i[1],a=i[2],s=i[3],l=i[4],c=i[5],h=i[6],d=i[7],u=i[8],p=u*l-c*d,g=c*h-u*s,f=d*s-l*h,m=r*p+o*g+a*f;if(0===m){var A="THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0";if(!0===t)throw new Error(A);return console.warn(A),this.identity()}var y=1/m;return n[0]=p*y,n[1]=(a*d-u*o)*y,n[2]=(c*o-a*l)*y,n[3]=g*y,n[4]=(u*r-a*h)*y,n[5]=(a*s-c*r)*y,n[6]=f*y,n[7]=(o*h-d*r)*y,n[8]=(l*r-o*s)*y,this},Object.assign(Vf.prototype,{isPlane:!0,set:function(e,t){return this.normal.copy(e),this.constant=t,this},setComponents:function(e,t,i,n){return this.normal.set(e,t,i),this.constant=n,this},setFromNormalAndCoplanarPoint:function(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this},setFromCoplanarPoints:function(){var e=new Qu,t=new Qu;return function(i,n,r){var o=e.subVectors(r,n).cross(t.subVectors(i,n)).normalize();return this.setFromNormalAndCoplanarPoint(o,i),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(e){return this.normal.copy(e.normal),this.constant=e.constant,this},normalize:function(){var e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(e){return this.normal.dot(e)+this.constant},distanceToSphere:function(e){return this.distanceToPoint(e.center)-e.radius},projectPoint:function(e,t){return void 0===t&&(console.warn("THREE.Plane: .projectPoint() target is now required"),t=new Qu),t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)},intersectLine:function(){var e=new Qu;return function(t,i){void 0===i&&(console.warn("THREE.Plane: .intersectLine() target is now required"),i=new Qu);var n=t.delta(e),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(t.start)?i.copy(t.start):void 0;var o=-(t.start.dot(this.normal)+this.constant)/r;return 0>o||o>1?void 0:i.copy(n).multiplyScalar(o).add(t.start)}}(),intersectsLine:function(e){var t=this.distanceToPoint(e.start),i=this.distanceToPoint(e.end);return 0>t&&i>0||0>i&&t>0},intersectsBox:function(e){return e.intersectsPlane(this)},intersectsSphere:function(e){return e.intersectsPlane(this)},coplanarPoint:function(e){return void 0===e&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),e=new Qu),e.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var e=new Qu,t=new Kf;return function(i,n){var r=n||t.getNormalMatrix(i),o=this.coplanarPoint(e).applyMatrix4(i),a=this.normal.applyMatrix3(r).normalize();return this.constant=-o.dot(a),this}}(),translate:function(e){return this.constant-=e.dot(this.normal),this},equals:function(e){return e.normal.equals(this.normal)&&e.constant===this.constant}});var Yf=function(e,t){this._point=void 0,this._normal=void 0,this.viewer=t,this.svg=e;var i=document.createElementNS(gf,"polygon");i.setAttribute("fill","rgba(10,234,6,0.2)"),i.setAttribute("stroke","#0aea06"),i.setAttribute("stroke-width",1),i.style.pointerEvents="none",this._panel=i,this.hoverPanelSize={width:20,height:20}};Yf.prototype.setupWithPoint=function(e,t){this._point=e,this._normal=t},Yf.prototype.remove=function(){this.svg&&this._panel.parentNode&&this.svg.removeChild(this._panel)},Yf.prototype.add=function(){this.svg&&this._panel&&this.svg.appendChild(this._panel)},Yf.prototype.isVisible=function(){return!!this._panel.parentNode},Yf.prototype.stretchOnDirection=function(e,t,i){var n=e.clone().add(t).multiplyScalar(.5),r=t.clone().sub(e).normalize();return[n.clone().sub(r.clone().multiplyScalar(i/2)),n.clone().add(r.clone().multiplyScalar(i/2))]},Yf.prototype.draw=function(){var e=this.viewer.getScene().worldToDrawing(this._normal);e.normalize();var t=this.viewer.worldToClient(this._point),i=this.viewer.getScene().worldToDrawing(this._point),n=this.viewer.cameraControl,r=new Vf;r.setFromNormalAndCoplanarPoint(e,i);var o=new Gf(t.x-10,t.y-10),a=new Gf(t.x+10,t.y-10),s=i,l=n.getRaycaster(o.x,o.y),c=new Qu,h=new Qu;if(l.ray.intersectPlane(r,c),(l=n.getRaycaster(a.x,a.y)).ray.intersectPlane(r,h),null!==c&&null!==h){var d=new Qu(1,0,0),u=new Qu(0,0,1),p=new Qu(0,1,0),g=.0025>=Math.abs(e.clone().dot(d)),f=.0025>=Math.abs(e.clone().dot(p));if(g&&f)var m=d.clone(),A=p.clone();else m=u.clone().cross(e).normalize(),A=e.clone().cross(m).normalize();var y=c.distanceTo(h)/2,v=m.clone().multiplyScalar(y),C=A.clone().multiplyScalar(y),I=s.clone().sub(v).add(C),x=s.clone().add(v).add(C),w=s.clone().sub(v).sub(C),M=s.clone().add(v).sub(C),E=[];E.push(I,x,M,w);for(var B=[],S=n.getContainerDimensions(),b=0;E.length>b;b+=1){var k=new Qu(E[b].x,E[b].y,E[b].z);k.project(n.camera);var D={x:0,y:0,z:0};D.x=Math.floor(.5*(k.x+1)*S.width+.5),D.y=Math.floor(-.5*(k.y-1)*S.height+.5),D.z=k.z||0,B.push(new Qu(D.x,D.y,0))}var T=this.hoverPanelSize,R=B[0].distanceTo(B[1]),U=B[0].distanceTo(B[3])/T.height;if(1!==R/T.width){var F=this.stretchOnDirection(B[0],B[1],T.width),Q=this.stretchOnDirection(B[2],B[3],T.width);B=F.concat(Q)}if(1!==U){F=this.stretchOnDirection(B[0],B[3],T.height),Q=this.stretchOnDirection(B[1],B[2],T.height);B=[F[0],Q[0],Q[1],F[1]]}for(var L="",O=0;B.length>O;O+=1)L+=B[O].x+",",L+=B[O].y+" ";this._panel.setAttribute("points",L)}};var Hf=function(e){this._point=void 0,this.svg=e;var t=yf(5);t.setAttributeNS(null,"fill","#00ff00"),this._circle=t};Hf.prototype.setupWithPoint=function(e){e&&(this._point=e)},Hf.prototype.remove=function(){this.svg&&this._circle.parentNode&&this.svg.removeChild(this._circle)},Hf.prototype.add=function(){this.svg&&this._circle&&this.svg.appendChild(this._circle)},Hf.prototype.isVisible=function(){return!!this._circle.parentNode},Hf.prototype.draw=function(e){if(this._point){var t=e(this._point);this._circle.setAttributeNS(null,"cx",t[0]),this._circle.setAttributeNS(null,"cy",t[1])}};var jf=function(e){kf.call(this,e),this.volumeText=new Df,this.volumeText.textBackgroundColor="#009bff",this.svgGroup.appendChild(this.volumeText.group);var t=this;this.volumeText.setClickCallback((function(){t.onclickCallback&&t.onclickCallback(t)})),this.pickedComponentKeys=[],this._position=void 0,this._volume=void 0};(jf.prototype=Object.assign(Object.create(kf.prototype),{constructor:jf})).setData=function(e,t,i){this._position=e,this._volume=t,i&&(this.unitOfModel=this.unitOfModel&&this.unitOfModel!==i?void 0:i)},jf.prototype.isDone=function(){return this.pickedComponentKeys[0]&&this._position},jf.prototype.draw=function(e,t){if(this.svgGroup.parentNode&&this.isDone()){var i=this._position;t&&(i=t(i)),this.volumeText.setPosition(i[0],i[1]),this.updateTexts()}},jf.prototype.measureResult=function(){if(this._volume)return this._volume},jf.prototype.resultToDisplayOfVolume=function(e){var t=e,i=this.unitOfModel;return this.adjustOption&&(t=this.adjustOption.adjustVolume(e),i=this.adjustOption.unit),this.unitOnUI&&(i&&(t=Bf(i,this.unitOnUI,t,3)),i=this.unitOnUI),i||(i=""),t=t.toFixed(this.precision),"mm"===i?i="mm³":"m"===i?i="m³":"cm"===i&&(i="cm³"),{value:Number(t),unit:i,text:t+i}},jf.prototype.updateTexts=function(){this._volume&&(this.volumeText.setText(this.resultToDisplayOfVolume(this._volume).text,void 0),this.volumeText.draw())},jf.prototype.setSelected=function(e){kf.prototype.setSelected.call(this,e)&&(e?(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 Wf=function(){this.pointTransformer=void 0,this.parentDom=void 0,this.viewer=void 0,this.is3DMode=!1,this.isMobile=!1},Jf="Distance",zf="Angle",qf="Adjust",Zf="Area",Xf="MinDistance",_f="Volume",$f=function(e){this.config=e,this.config.viewer.measure=this,this.svg=this._createSVG(e.parentDom.clientWidth,e.parentDom.clientHeight),e.parentDom.appendChild(this.svg),this._resize=this._resize.bind(this),this.config.viewer.addEventListener("resize",this._resize),this.setCurrentMode(Jf),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()};$f.prototype.supportUnits=function(){return[{unit:"mm",title:"毫米"},{unit:"cm",title:"厘米"},{unit:"m",title:"米"}]},$f.prototype.open=function(){this.isOpen||(this.isOpen=!0,this._handleKeyUp=this._handleKeyUp.bind(this),document.addEventListener("keyup",this._handleKeyUp))},$f.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)},$f.prototype.setCurrentMode=function(e){if(this.config.is3DMode||e!==_f&&e!==Xf)if(this._currentMode!==e&&(this._currentMode=e,this._currentMeasureItem&&(this._currentMeasureItem instanceof Lf&&this.config.is3DMode&&(this.config.viewer.clearSelection(),this.config.viewer.render()),this._currentMeasureItem.remove(),this._currentMeasureItem=void 0)),this._currentMode===qf){var t=this._adjustItem?this._adjustItem:this._currentMeasureItem;(t||t instanceof Tf)&&t.isDone()&&(t.add(),t.draw(void 0,this.config.pointTransformer),this.didEndMeasureCallback&&this.didEndMeasureCallback(t.measureResult()))}else this._adjustItem&&this._adjustItem.remove()},$f.prototype.getCurrentMode=function(){return this._currentMode},$f.prototype.getCurrentUnit=function(){return this._unitSetByUser},$f.prototype.setUnit=function(e){if(e&&this._unitSetByUser!==e){this._unitSetByUser=e;for(var t=0,i=this._items.length;i>t;t+=1){this._items[t].changeUnit(e)}this._adjustOption&&(this._adjustOption.valueAfterAdjust=Bf(this._adjustOption.unit,e,this._adjustOption.valueAfterAdjust,0),this._adjustOption.unit=e)}},$f.prototype.getCurrentPrecision=function(){return this._precision},$f.prototype.setPrecision=function(e){if(e&&this._precision!==e){this._precision=e;for(var t=0,i=this._items.length;i>t;t+=1){this._items[t].changePrecision(e)}this._adjustItem&&this._adjustItem.changePrecision(e)}},$f.prototype.clearAllMeasure=function(){for(var e=0,t=this._items.length;t>e;e+=1){this._items[e].remove()}this._items=[],this._selectedItem=void 0},$f.prototype.removeSelectedMeasure=function(){if(this._selectedItem){for(var e=0,t=this._items.length;t>e;e+=1)if(this._items[e]===this._selectedItem){this._selectedItem.remove(),this._items.splice(e,1);break}(this._selectedItem instanceof jf||this._selectedItem instanceof Lf)&&this.config.is3DMode&&(this.config.viewer.removeFromSelection(this._selectedItem.pickedComponentKeys||[]),this.config.viewer.render()),this._selectedItem=void 0,this._items.length>0&&(this._selectedItem=this._items[this._items.length-1],this._selectedItem.setSelected(!0))}},$f.prototype.setAdjustForCurrentAdjustItem=function(e,t){if(e&&t&&this._currentMode===qf&&(this._currentMeasureItem&&this._currentMeasureItem instanceof Tf&&this._currentMeasureItem.isDone()&&(this._adjustItem&&this._adjustItem.remove(),this._adjustItem=this._currentMeasureItem,this._currentMeasureItem=void 0),this._adjustItem&&this._adjustItem.isDone())){var i=new Rf;i.unit=e,i.valueBeforeAdjust=this._adjustItem.measureResult().distance,i.valueAfterAdjust=t,this._adjustOption=i;for(var n=0,r=this._items.length;r>n;n+=1){this._items[n].adjustWithOption(this._adjustOption)}this._adjustItem.adjustWithOption(this._adjustOption)}},$f.prototype.cancelCurrentAdjust=function(){if(this._adjustItem&&(this._adjustItem.remove(),this._adjustItem=void 0),this._currentMeasureItem instanceof Tf&&(this._currentMeasureItem.remove(),this._currentMeasureItem=void 0),this._adjustOption){for(var e=0,t=this._items.length;t>e;e+=1){this._items[e].unAdjustWithOption(this._adjustOption)}this._adjustOption=void 0}},$f.prototype.cancelCurrentMeasure=function(){!this._currentMeasureItem||this._currentMeasureItem instanceof Tf||(this._currentMeasureItem.remove(),this._currentMeasureItem=void 0)},$f.prototype.processIntersect=function(e){if(this.isOpen){if(!e)return this._hidePickedLine(),void this._hidePickedPoint();if(e.pickPoint){var t=[e.pickPoint.x,e.pickPoint.y,void 0===e.pickPoint.z?0:e.pickPoint.z],i=t;if(e.pick){if(this._currentMode===qf&&this._currentMeasureItem&&this._currentMeasureItem.isDone()&&(this._currentMeasureItem.remove(),this._currentMeasureItem=void 0),this._currentMeasureItem||this._createNewItem(),!this._currentMeasureItem)return;if(this._currentMeasureItem instanceof Lf){var n=this._currentMeasureItem.pickedComponentKeys;if(n.push(e.userId),2===n.length){var r=this.config.viewer.calculateMinDistance(n[0],n[1]);if(r&&r.start&&r.end)this._currentMeasureItem.setData([[r.start.x,r.start.y,r.start.z],[r.end.x,r.end.y,r.end.z]],r.minDistance,e.measureUnit),this._currentMeasureItem.draw(void 0,this.config.pointTransformer);else this._currentMeasureItem=void 0}this.config.viewer.addToSelection(n),this.config.viewer.render()}else if(this._currentMeasureItem instanceof jf){var o=this._currentMeasureItem.pickedComponentKeys;if(0===o.length){o.push(e.userId);var a=this.config.viewer.calculateComponentVolume(o[0]);a&&(this._currentMeasureItem.setData(a.position,a.volume,e.measureUnit),this._currentMeasureItem.draw(void 0,this.config.pointTransformer)),this.config.viewer.addToSelection(o),this.config.viewer.render()}}else i=void 0,this._currentMeasureItem.addPickedPoint(t,e.measureUnit,this.config.pointTransformer),this._currentMeasureItem.draw(i,this.config.pointTransformer);if(this._currentMeasureItem&&this._currentMeasureItem.isDone()){this._currentMeasureItem instanceof Tf||!this._adjustOption||this._currentMeasureItem.adjustWithOption(this._adjustOption);var s=this._currentMeasureItem.measureResult();this._currentMeasureItem instanceof Tf||(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(s)}}else this._currentMeasureItem&&this._currentMeasureItem.draw(i,this.config.pointTransformer)}this._currentMode!==Xf&&this._currentMode!==_f&&(e.pickPoint&&e.isAbsorbPoint?this._showPickedPoint(e.pickPoint):this._hidePickedPoint(),e.pickPlane?this._showPickedPanel(e.pickPoint,e.normal):this._hidePickedPanel(),e.pickLine?this._showPickedLine(e.pickLine[0],e.pickLine[1],e.measureUnit):this._hidePickedLine())}},$f.prototype.update=function(){if(this.isOpen){for(var e=0,t=this._items.length;t>e;e+=1){this._items[e].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)}},$f.prototype.changeSelect=function(){for(var e=0,t=this._items.length;t>e;e+=1){var i=this._items[e];i.setSelected(this._selectedItem===i)}},$f.prototype._resize=function(){this.svg.style.width=this.config.parentDom.clientWidth,this.svg.style.height=this.config.parentDom.clientHeight},$f.prototype._createNewItem=function(){switch(this._currentMode){case Jf:this._currentMeasureItem=new Qf(this.svg,this.config.isMobile,this._items.length+1);break;case zf:this._currentMeasureItem=new Uf(this.svg);break;case qf:this._currentMeasureItem=new Tf(this.svg);break;case Zf:this._currentMeasureItem=new Ff(this.svg);break;case Xf:this._currentMeasureItem=new Lf(this.svg);break;case _f:this._currentMeasureItem=new jf(this.svg)}if(this._currentMeasureItem){this._currentMeasureItem.is3DMode=this.config.is3DMode,this._currentMeasureItem instanceof Tf||(this._adjustOption&&this._currentMeasureItem.adjustWithOption(this._adjustOption),this._unitSetByUser&&this._currentMeasureItem.changeUnit(this._unitSetByUser)),this._currentMeasureItem.changePrecision(this._precision);var e=this;this._currentMeasureItem.setClickCallback((function(t){t.isDone()&&(e._selectedItem=t,e.changeSelect())}))}},$f.prototype._showPickedLine=function(e,t,i){var n=[e.x,e.y,void 0===e.z?0:e.z],r=[t.x,t.y,void 0===t.z?0:t.z];this._pickedLine||(this._pickedLine=new Of(this.svg),this._pickedLine.unitOfModel=i),this._adjustOption&&this._pickedLine.adjustWithOption(this._adjustOption),this._pickedLine.changeUnit(this._unitSetByUser?this._unitSetByUser:i),this._pickedLine.changePrecision(this._precision),this._pickedLine.add(),this._pickedLine.setData(n,r),this._pickedLine.draw(void 0,this.config.pointTransformer)},$f.prototype._hidePickedLine=function(){this._pickedLine&&this._pickedLine.remove()},$f.prototype._showPickedPoint=function(e){this._pickedPoint||(this._pickedPoint=new Hf(this.svg)),this._pickedPoint.add(),this._pickedPoint.setupWithPoint(e),this._pickedPoint.draw(this.config.pointTransformer)},$f.prototype._hidePickedPoint=function(){this._pickedPoint&&this._pickedPoint.remove()},$f.prototype._showPickedPanel=function(e,t){this._pickedPanel||(this._pickedPanel=new Yf(this.svg,this.config.viewer)),this._pickedPanel.add(),this._pickedPanel.setupWithPoint(e,t),this._pickedPanel.draw(this.config.pointTransformer)},$f.prototype._hidePickedPanel=function(){this._pickedPanel&&this._pickedPanel.remove()},$f.prototype._createSVG=function(e,t){var i=ff();return i.style.width=e+"px",i.style.height=t+"px",i.style.position="absolute",i.style.left="0",i.style.top="0",i},$f.prototype._handleKeyUp=function(e){var t=e.keyCode;27===t?this.cancelCurrentMeasure():46===t&&this.removeSelectedMeasure()};var em=function(e){Yg.call(this,Yd.PICK_BY_MEASURE),this.controlManager=e.controlManager,this.pickHelper=new pf(e.cameraControl),this.mouseDown=new ke,this.lastEvent=null,this.pick=!1,this.pickPoint=new Ke;var t=e.getRenderer().domElement.parentElement,i=new Wf;i.parentDom=t,i.pointTransformer=e.getScreenCoordFromSceneCoord.bind(e),i.viewer=e,i.is3DMode=!0,this.measure=new $f(i);var n=this;e.cameraControl.addEventListener(Fd.ON_CAMERA_CHANGE,(function(){n.measure.update()})),e.clearSelection()};(em.prototype=Object.create(Yg.prototype)).constructor=em,em.prototype.destroy=function(){Yg.prototype.destroy.call(this),this.controlManager=null,this.mouseDown=null,this.lastEvent=null,this.pickPoint=null,this.pickHelper.destroy(),this.pickHelper=null},em.prototype.processMouseDown=function(e){return!!og.isMobileDevice()||(e.button===n.LEFT?(this.mouseDown.x=e.clientX,this.mouseDown.y=e.clientY,!1):Yg.prototype.processMouseDown.call(this,e))},em.prototype.processMouseMove=function(e){return!1},em.prototype.processMouseUp=function(e){if(og.isMobileDevice())return!0;if(e.button===n.LEFT){if(2>=new ke(e.clientX,e.clientY).distanceTo(this.mouseDown)){var t=this.pickPoint.clone(),i=void 0;return i=e.shiftKey?this.pickHelper.handleShiftMeasure(e,!0,t):this.pickHelper.handleMouseMeasure(e,!0,t),this.measure.processIntersect(i),t.equals(this.pickPoint)||(this.pick=!this.pick,this.pickPoint.copy(t)),this.controlManager.isUpdateRenderList=!0,!0}return!0}return Yg.prototype.processMouseUp.call(this,e)},em.prototype.processKeyDown=function(e){return 16===e.keyCode||Yg.prototype.processKeyDown.call(this,e)},em.prototype.processHover=function(e){if(og.isMobileDevice())return!0;var t=void 0;return t=e.shiftKey?this.pickHelper.handleShiftMeasure(e,!1,this.pickPoint):this.pickHelper.handleMouseMeasure(e,!1,this.pickPoint),this.measure.processIntersect(t),!0},em.prototype.processTouchstart=function(e){return this.mouseDown.x=e.touches[0].clientX,this.mouseDown.y=e.touches[0].clientY,e.clientX=e.touches[0].clientX,e.clientY=e.touches[0].clientY,this.lastEvent=e,Yg.prototype.processTouchstart.call(this,e)},em.prototype.processTouchmove=function(e){return this.lastEvent=null,Yg.prototype.processTouchmove.call(this,e)},em.prototype.processTouchend=function(e){if(null!==this.lastEvent){var t=this.pickHelper.handleMouseMeasure(this.lastEvent,!0,this.pickPoint);this.measure.processIntersect(t),this.controlManager.isUpdateRenderList=!0}return Yg.prototype.processTouchend.call(this,e)},em.prototype.touchPointMove=function(e){this.measure.processIntersect(this.pickHelper.handleMouseMeasure(e,!1,this.pickPoint))},em.prototype.touchPointEnd=function(e){var t=this.pickPoint.clone(),i=this.pickHelper.handleMouseMeasure(e,!0,t);return this.measure.processIntersect(i),t.equals(this.pickPoint)||(this.pick=!this.pick,this.pickPoint.copy(t)),this.controlManager.isUpdateRenderList=!0,!0},em.prototype.onExit=function(e){this.measure.close();var t=this.pickHelper.scene;t.hasGroup(Vp.MEASUREPICKPLANE)&&t.removeGroupByName(Vp.MEASUREPICKPLANE)};var tm,im,nm,rm={pickByRect:function(e,t,i,n,r,o){var a=[],s=n.octantToObjectMap;e.getMatrixGlobal();var l=n.sceneState,c=new He;function h(e,i,n){e&&e.frustumIntersect(t,i,n)}var d=n.filter,u=d._hasVisibleFilter(),p=d._hasPickableFilter();if(i!==Td.Clear){var g,f,m=null,A=[];for(var y in s)if(s.hasOwnProperty(y)){var v=n.getModel(y);m=s[y];var C=v&&v.kdTreeNode,I=[];if(Array.isArray(C))for(var x=0,w=C.length;w>x;x+=1){var M=C[x],E=M.modelKey,B=(new yt).copy(v.getModelMatrix());E&&B.multiply(v.subModel[E]),h(M,I,B)}else C?h(C,I,v.getModelMatrix()):I=Object.keys(m.info);var S=Object.keys(v.manager.explosionList);v&&v.manager&&S.length>0&&(I=I.concat(S));for(var b=0,k=(A=wp.unique(I)).length;k>b;b+=1){var D=m.info[A[b]];if(D)for(var T=0,R=D.length;R>T;T+=1){var U=D[T];(f=void 0,f=n.isHiddenSourceObjectUserId((g=U).userId),u&&!d._isVisible(g)||p&&!d._isPickable(g)||f)||(c.copy(U.boundingBox),c.applyMatrix4(v.getModelMatrix()),this._intersectBox(t,c,o)&&!this._clipBox(r,c)&&a.push(U.userId))}}}return(a=a.concat(this.pickNonModelObjectsByRect(r,n,t,o))).length>0&&(Td.Remove===i?(l.removeSelection(a),n.dispatchEvent({type:Fd.ON_RECTPICK_REMOVE,list:a})):Td.Add===i&&(l.addSelection(a),n.dispatchEvent({type:Fd.ON_RECTPICK_ADD,list:a}))),a}l.clearSelection()},getObjectsInBox:function(e,t,i,n,r){var o={},a=i.octantToObjectMap;e.getMatrixGlobal();var s=new He;function l(e){for(var t=new Ke,i=0;8>i;i+=1)if(t.x=4>i?e.min.x:e.max.x,t.y=2>i/2?e.min.y:e.max.y,t.z=i%2==0?e.min.z:e.max.z,!n.clipPoint(t))return!1;return!0}function c(e){return r?!(t.min.x>e.min.x||e.max.x>t.max.x||t.min.y>e.min.y||e.max.y>t.max.y||t.min.z>e.min.z||e.max.z>t.max.z):!(t.min.x>e.max.x||e.min.x>t.max.x||t.min.y>e.max.y||e.min.y>t.max.y||t.min.z>e.max.z||e.min.z>t.max.z)}function h(e){return Boolean(!(t.max.x>e.max.x||e.min.x>t.min.x||t.max.y>e.max.y||e.min.y>t.min.y||t.max.z>e.max.z||e.min.z>t.min.z))}var d=i.filter,u=d._hasVisibleFilter(),p=d._hasPickableFilter();var g,f,m=null;for(var A in a)if(a.hasOwnProperty(A)){var y=i.getModel(A);for(var v in(m=a[A]).info)if(m.info.hasOwnProperty(v)){var C=m.info[v];if(!C)continue;for(var I=0,x=C.length;x>I;I+=1){var w=C[I];(f=void 0,f=i.isHiddenSourceObjectUserId((g=w).userId),u&&!d._isVisible(g)||p&&!d._isPickable(g)||f)||(s.copy(w.boundingBox),s.applyMatrix4(y.getModelMatrix()),!c(s)||h(s)||l(s)||(o[w.userId]=!0))}}}var M=[];for(var E in o)M.push(E);return M},pickNonModelObjectsByRect:function(e,t,i,n){var r=[],o=t.getNodeInfosInPlugins(),a=new He;for(var s in o)if(o.hasOwnProperty(s)){var l=o[s];for(var s in l)if(l.hasOwnProperty(s)){var c=l[s][0].mesh;if(c){c instanceof Array||(c=[c]),a.empty();for(var h=0,d=c.length;d>h;h+=1){var u=c[h];u instanceof Yt&&a.expandByObject(u)}this._intersectBox(i,a,n)&&!this._clipBox(e,a)&&r.push(s)}}}return r},_intersectBox:(im=new Ke,nm=new Ke,function(e,t,i){for(var n=0,r=e.planes,o=0;6>o;o+=1){var a=r[o];im.x=a.normal.x>0?t.min.x:t.max.x,nm.x=a.normal.x>0?t.max.x:t.min.x,im.y=a.normal.y>0?t.min.y:t.max.y,nm.y=a.normal.y>0?t.max.y:t.min.y,im.z=a.normal.z>0?t.min.z:t.max.z,nm.z=a.normal.z>0?t.max.z:t.min.z;var s=a.distanceToPoint(im),l=a.distanceToPoint(nm);if(0>s&&0>l)return!1;0>s*l||(n+=1)}return i?n>=2:6===n}),_clipBox:(tm=new Ke,function(e,t){for(var i=0;8>i;i+=1)if(tm.x=4>i?t.min.x:t.max.x,tm.y=2>i/2?t.min.y:t.max.y,tm.z=i%2==0?t.min.z:t.max.z,!e.clipPoint(tm))return!1;return!0})},om=function(e,t,i){Yg.call(this,e),this.cameraControl=t,this.frustum=new yn,this.startPt=new ke,this.endPt=new ke,this.eventDispatcher=i};(om.prototype=Object.create(Yg.prototype)).constructor=om,om.prototype.destroy=function(e){Yg.prototype.destroy.call(this),this.cameraControl=null,this.frustum=null,this.startPt=null,this.endPt=null,this.eventDispatcher=null},om.prototype.onUpdateUI=function(e){this.eventDispatcher.dispatchEvent({type:Fd.ON_CONTROL_UPDATEUI,data:e,control:this.name})},om.prototype.updateFrustum=function(e,t){var i=this.startPt.x,n=this.endPt.x,r=this.startPt.y,o=this.endPt.y;if(i>n){var a=i;i=n,n=a}if(r>o){var s=r;r=o,o=s}if(n-i==0||o-r==0)return!1;var l=this.cameraControl,c=l.getContainerDimensions();return e&&l.computeFrustum(i,n,r,o,this.frustum,c),t&&this.onUpdateUI({visible:!0,dir:this.endPt.x>this.startPt.x,left:i-c.left,top:r-c.top,width:n-i,height:o-r}),!0};var am=function(e){om.call(this,Yd.PICK_BY_RECT,e.cameraControl,e.modelManager),this.viewer=e,this.scene=e.getScene(),this.pickHelper=new pf(this.cameraControl),this.activatePick=!1,this.pressKey="",this.pickPoint=new Ke,this.snapIsEnabled=!1};(am.prototype=Object.create(om.prototype)).constructor=am,am.prototype.destroy=function(){om.prototype.destroy.call(this),this.pickHelper.destroy(),this.pickHelper=null,this.viewer=null,this.scene=null,this.pickPoint=null},am.prototype.setPressKey=function(e){this.pressKey=e},am.prototype.processMouseDown=function(e){return e.preventDefault(),this.activatePick=e.ctrlKey||e.altKey,this.activatePick&&e.button===n.LEFT?(this.startPt.set(e.clientX,e.clientY),!0):om.prototype.processMouseDown(this,e)},am.prototype.processMouseMove=function(e){return this.activatePick&&e.button===n.LEFT?(this.endPt.set(e.clientX,e.clientY),this.updateFrustum(!1,!0),!0):om.prototype.processMouseMove(this,e)},am.prototype.processMouseUp=function(e){if(this.onUpdateUI({visible:!1}),this.activatePick&&e.button===n.LEFT){if(this.activatePick=!1,2>Math.abs(this.startPt.x-e.clientX)&&2>Math.abs(this.startPt.y-e.clientY))return this.pickHelper.click(e,null),!0;if(this.endPt.set(e.clientX,e.clientY),!this.updateFrustum(!0,!1))return this.pickHelper.click(e),!0;var t=Td.Clear,i=this.pressKey||e.ctrlKey&&"ctrl"||e.altKey&&"alt"||"";return"ctrl"===i?t=Td.Add:"alt"===i&&(t=Td.Remove),rm.pickByRect(this.scene,this.frustum,t,this.cameraControl.viewer.modelManager,this.viewer,this.startPt.x>this.endPt.x),this.pickHelper.lastPickedUserId="",this.cameraControl.updateView(!0),!0}return om.prototype.processMouseUp(this,e)},am.prototype.processTouchstart=function(e){return e.preventDefault(),this.pressKey?(this.startPt.set(e.changedTouches[0].pageX,e.changedTouches[0].pageY),!0):om.prototype.processTouchstart(this,e)},am.prototype.processTouchmove=function(e){return this.pressKey?(this.endPt.set(e.changedTouches[0].pageX,e.changedTouches[0].pageY),this.updateFrustum(!1,!0),!0):om.prototype.processMouseMove(this,e)},am.prototype.processTouchend=function(e){this.onUpdateUI({visible:!1});var t=e.changedTouches[0].pageX,i=e.changedTouches[0].pageY;if(this.pressKey){if(2>Math.abs(this.startPt.x-t)&&2>Math.abs(this.startPt.y-i))return this.pickHelper.click(e,null),!0;if(this.endPt.set(t,i),!this.updateFrustum(!0,!1))return this.pickHelper.click(e),!0;var n=Td.Clear,r=this.pressKey;return"ctrl"===r?n=Td.Add:"alt"===r&&(n=Td.Remove),rm.pickByRect(this.scene,this.frustum,n,this.cameraControl.viewer.modelManager,this.viewer,this.startPt.x>this.endPt.x),this.pickHelper.lastPickedUserId="",this.cameraControl.updateView(!0),!0}return om.prototype.processTouchend(this,e)},am.prototype.processHover=function(e){if(this.snapIsEnabled)return xd.IsMobile||this.pickHelper.handleMouseMeasure(e,!1,this.pickPoint,Fd.ON_HOVER_SNAP),!0},am.prototype.enableSnap=function(e){this.snapIsEnabled=e};var sm=function(e){om.call(this,Yd.ZOOM_BY_RECT,e.cameraControl,e.modelManager),this.scene=e.getScene(),this.activateZoom=!1};function lm(e,t){var i,n=vu(Reflect.ownKeys(t));try{for(n.s();!(i=n.n()).done;){var r=i.value;if("constructor"!==r&&"prototype"!==r&&"name"!==r){var o=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,o)}}}catch(e){n.e(e)}finally{n.f()}}(sm.prototype=Object.create(om.prototype)).constructor=sm,sm.prototype.destroy=function(){om.prototype.destroy.call(this),this.scene=null},sm.prototype.processMouseDown=function(e){return e.button===n.LEFT?(this.startPt.set(e.clientX,e.clientY),this.activateZoom=!0,!0):om.prototype.processMouseDown.call(this,e)},sm.prototype.processMouseMove=function(e){return this.activateZoom?(this.endPt.set(e.clientX,e.clientY),this.updateFrustum(!1,!0),!0):om.prototype.processMouseMove.call(this,e)},sm.prototype.processMouseUp=function(e){return this.activateZoom?(this.activateZoom=!1,this.onUpdateUI({visible:!1}),this.endPt.set(e.clientX,e.clientY),this.updateFrustum(!0,!1)&&this.zoomToRectangle(),!0):om.prototype.processMouseUp.call(this,e)},sm.prototype.zoomToRectangle=function(){var e=this.cameraControl.camera,t=this.cameraControl.camera.target,i=this.cameraControl.getContainerDimensions(),n=this.startPt.x,r=this.startPt.y,o=this.endPt.x,a=this.endPt.y,s=Math.abs(o-n),l=Math.abs(r-a);if(0!==s&&0!==l){var c=new ke((n+o)/2,(r+a)/2),h=e.position.clone(),d=t.clone().sub(h),u=d.length(),p=0,g=this.cameraControl.getIntersectContext(c),f=this.cameraControl.intersector.hitTest(g);if(f){var m=s/l>i.width/i.height?s/i.width:l/i.height,A=f.distanceTo(h)*m;d.normalize(),p=d.clone().negate().multiplyScalar(A)}else{var y={};y.left=Math.min(n,o),y.top=Math.min(r,a),y.right=Math.max(n,o),y.bottom=Math.max(r,a);var v=this.scene.getNearDepthByRect(this.frustum,e);if(v===1/0)return;var C=new Ke((n+o)/2,(r+a)/2,v),I=new Ke(y.left,y.top,v),x=this.clientToWorld(C),w=this.clientToWorld(I),M=x.clone().sub(w).length();f=x.clone(),d.normalize(),p=d.clone().negate().multiplyScalar(M)}h=f.clone().add(p),e.position.copy(h),t.copy(h).sub(p.clone().normalize().multiplyScalar(u)),this.cameraControl.updateView(!0)}},sm.prototype.worldToClient=function(e){var t=this.cameraControl.camera,i=new Ke(e.x,e.y,e.z);return i.project(t),i},sm.prototype.clientToWorld=function(e){var t=this.cameraControl.getContainerDimensions(),i=this.cameraControl.camera,n=new Ke;return n.x=e.x/t.width*2-1,n.y=-e.y/t.height*2+1,n.z=e.z,n.unproject(i),n};var cm=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;ru(this,i),r=t.call(this);var o={priority:5,pickableType:Rd.UnPickable,globalSpace:!1,hoverEnabled:!1};r.name=e;var a=wp.extend({},o,n);return r.priority=a.priority,r.pickableType=a.pickableType,r.globalSpace=a.globalSpace,r.boundingBox=null,r.hoverEnabled=a.hoverEnabled,r}return au(i,[{key:"removeByName",value:function(e){for(var t=this.children,i=0,n=t.length;n>i;i+=1)if(t[i].name===e){t.splice(i,1);break}}},{key:"clear",value:function(){this.children.length=0}},{key:"isGlobalSpace",value:function(){return this.globalSpace}},{key:"hasChild",value:function(e){for(var t=0,i=this.children.length;i>t;t+=1)if(this.children[t].name===e)return!0;return!1}},{key:"isPickable",value:function(){return this.pickableType!==Rd.UnPickable}}]),i}(function(){for(var e=arguments.length,t=new Array(e),i=0;e>i;i++)t[i]=arguments[i];for(var n=function(){function e(){ru(this,e);for(var i=arguments.length,n=new Array(i),r=0;i>r;r++)n[r]=arguments[r];var o,a=vu(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;lm(this,new s(n))}}catch(e){a.e(e)}finally{a.f()}}return au(e,[{key:"updateFixedFrame",value:function(e,t){for(var i=this.children,n=i.length,r=0;n>r;r+=1){var o=i[r];jg(o.updateFixedFrame)&&o.updateFixedFrame(e,t)}}}]),e}(),r=0,o=t;o.length>r;r++){var a=o[r];lm(n,a),lm(n.prototype,a.prototype)}return n}(Yt,hg)),hm=function(e){lu(i,e);var t=pu(i);function i(e){var n;ru(this,i),e=e||{},(n=t.call(this,Vp.VIEWSHED,{priority:20}))._position=new Ke(0,0,0),n._direction=new Ke(0,0,-1),n._visibleAreaColor=new Le(0,255,0,.8),n._hiddenAreaColor=new Le(255,0,0,.8),n._distance=null!=e.distance?e.distance:200,n._horizontalFov=null!=e.horizontalFov?e.horizontalFov:2*Math.PI/3,n._verticalFov=null!=e.verticalFov?e.verticalFov:Math.PI/2,n._up=new Ke(0,1,0),n._right=new Ke(1,0,0),n._unitAngle=5,n._cornerLeftTop=new Ke,n._cornerRightTop=new Ke,n._cornerLeftBottom=new Ke,n._cornerRightBottom=new Ke,n._viewer=null,n._lineGeometry=new Ni,n._lineMaterial=new Sa({color:16777215}),n._lineMesh=new La(n._lineGeometry,n._lineMaterial),n.camera=new dn,n.viewMatrix=new yt,n.viewProjMatrix=new yt,n.depthRenderTarget=new Oe(1024,1024,{minFilter:C,magFilter:C});var r=new Ke;n.updateViewMatrix=function(){r.copy(this._position),r.add(this._direction),this.camera.position.copy(this._position),this.camera.lookAt(r),this.camera.updateMatrixWorld(!0),this.viewMatrix.copy(this.camera.matrixWorld).invert()};var o=new Ke;n.updateProjMatrix=function(){var e=Math.cos(this._horizontalFov/2),t=Math.tan(this._verticalFov/2),i=Math.atan(e*t),n=this._distance*Math.cos(i)*Math.cos(this._horizontalFov/2);o.copy(this._position),o.addScaledVector(this._direction,n);var r=n*Math.tan(this._horizontalFov/2),a=n*Math.tan(this._verticalFov/2);this._cornerLeftTop.copy(o),this._cornerLeftTop.addScaledVector(this._right,-r),this._cornerLeftTop.addScaledVector(this._up,a),this._cornerRightTop.copy(o),this._cornerRightTop.addScaledVector(this._right,r),this._cornerRightTop.addScaledVector(this._up,a),this._cornerLeftBottom.copy(o),this._cornerLeftBottom.addScaledVector(this._right,-r),this._cornerLeftBottom.addScaledVector(this._up,-a),this._cornerRightBottom.copy(o),this._cornerRightBottom.addScaledVector(this._right,r),this._cornerRightBottom.addScaledVector(this._up,-a);var s=Math.tan(.5*this._horizontalFov)/Math.tan(.5*this._verticalFov);this.camera.fov=be.radToDeg(this._verticalFov),this.camera.aspect=s,this.camera.near=.01,this.camera.far=this._distance,this.camera.updateProjectionMatrix()},n.getViewProjMatrix=function(){return this.viewProjMatrix.multiplyMatrices(this.camera.projectionMatrix,this.viewMatrix),this.viewProjMatrix},n.createSideLines=function(){for(var e=[],t=[this._cornerLeftBottom,this._cornerRightBottom,this._cornerRightTop,this._cornerLeftTop],i=0;t.length>i;i+=1)e.push(this._position.x,this._position.y,this._position.z),e.push(t[i].x,t[i].y,t[i].z);return e};var a=new Ke,s=new Ke,l=new Ke,c=new Ke,h=[],d=du(n);n.createTopSideLines=function(){var e=[];function t(e,t,i){var n=[];if(i){for(var r=e;t>r;)if(n.push(r),(r+=d._unitAngle)>=t){n.push(t);break}}else for(r=t;r>e;)if(n.push(r),e>=(r-=d._unitAngle)){n.push(e);break}return n}a.copy(this._cornerLeftTop),a.sub(this._position),s.copy(this._cornerRightTop),s.sub(this._position),l.copy(this._cornerRightBottom),l.sub(this._position);var i,n,r=be.radToDeg(s.angleTo(l)),o=be.radToDeg(a.angleTo(s)),u=[{axis:"up",outerAngle:-this._horizontalFov/2,innerAngles:t(-r/2,r/2,!0)},{axis:"right",outerAngle:this._verticalFov/2,innerAngles:t(-o/2,o/2,!0)},{axis:"up",outerAngle:this._horizontalFov/2,innerAngles:t(-r/2,r/2,!1)},{axis:"right",outerAngle:-this._verticalFov/2,innerAngles:t(-o/2,o/2,!1)}];h=[];for(var p=0;u.length>p;p+=1){"up"==u[p].axis?(i=this._up,n=this._right):"right"==u[p].axis&&(i=this._right,n=this._up);for(var g=[],f=0;u[p].innerAngles.length>f;f+=1){c.copy(this._direction),c.applyAxisAngle(n,be.degToRad(u[p].innerAngles[f])),c.applyAxisAngle(i,u[p].outerAngle),c.multiplyScalar(this._distance);var m=new Ke;m.copy(this._position),m.add(c),g.push(m),h.push(m)}for(f=0;g.length-1>f;f+=1)e.push(g[f].x,g[f].y,g[f].z),e.push(g[f+1].x,g[f+1].y,g[f+1].z)}return e};var u=new Ke,p=new Ke,g=new Ke,f=new Ke,m=new Ge;n.createTopLines=function(){var e=[];u.copy(this._position),u.addScaledVector(this._direction,this._distance),p.copy(u),p.sub(this._position),p.normalize();for(var t=[],i=0,n=0;h.length>n;n+=1){f.copy(h[n]),f.sub(this._position),f.normalize(),g.copy(p),g.cross(f),g.normalize();for(var r=be.radToDeg(p.angleTo(f)),o=[],a=0;;a+=this._unitAngle){r>a||(a=r),m.setFromAxisAngle(g,be.degToRad(a)),c.copy(p),c.applyQuaternion(m);var s=new Ke;if(s.copy(this._position),s.addScaledVector(c,this._distance),o.push(s),a>=r)break}i=Math.max(i,o.length),t.push(o)}for(n=0;t.length>n;n+=1)for(a=0;t[n].length-1>a;a+=1)e.push(t[n][a].x,t[n][a].y,t[n][a].z),e.push(t[n][a+1].x,t[n][a+1].y,t[n][a+1].z);for(n=1;i>n;n+=1)for(a=0;t.length-1>a;a+=1)t[a][n]&&t[a+1][n]&&(e.push(t[a][n].x,t[a][n].y,t[a][n].z),e.push(t[a+1][n].x,t[a+1][n].y,t[a+1][n].z));return e},n.updateMeshGeometry=function(){this.updateViewMatrix(),this.updateProjMatrix();var e=[];return e=(e=(e=e.concat(this.createSideLines())).concat(this.createTopSideLines())).concat(this.createTopLines()),this._lineGeometry.deleteAttribute("position"),this._lineGeometry.setAttribute("position",new Ai(new Float32Array(e),3)),this._lineGeometry},n.initPrimitive=function(){this.updateMeshGeometry(),this._lineMesh.geometry=this._lineGeometry,this.add(this._lineMesh)},n.updatePrimitive=function(){this.updateMeshGeometry(),this._lineMesh.geometry=this._lineGeometry},i.prototype.getId=function(){return this.uuid};var A={x:0,y:0,z:0};i.prototype.getPositon=function(){return A.x=this._position.x,A.y=this._position.y,A.z=this._position.z,A};var y=new Ke;i.prototype.setPosition=function(e){y.x=e.x,y.y=e.y,y.z=e.z,this._position!=y&&(this._position.copy(y),this.updatePrimitive())};var v={x:0,y:0,z:0};i.prototype.getDirection=function(){return v.x=this._direction.x,v.y=this._direction.y,v.z=this._direction.z,v};var I=new Ke(0,1,0),x=new Ke;i.prototype.setDirection=function(e){x.x=e.x,x.y=e.y,x.z=e.z,x.normalize(),this._direction!==x&&(0!==x.lengthSq()?(this._direction.copy(x),this._right.crossVectors(I,x),0===this._right.lengthSq()&&(1===Math.abs(I.z)?x.x+=1e-4:x.z+=1e-4,x.normalize(),this._right.crossVectors(I,x)),this._right.normalize(),this._up.crossVectors(x,this._right),this.updatePrimitive()):Bu.warn("WARNING: Invalid direction when Viewshed.prototype.setDirection()"))};var w={x:0,y:0,z:0,w:0};i.prototype.getVisibleAreaColor=function(){return w.x=this._visibleAreaColor.x,w.y=this._visibleAreaColor.y,w.z=this._visibleAreaColor.z,w.w=this._visibleAreaColor.w,w};var M=new Le;i.prototype.setVisibleAreaColor=function(e){M.x=e.red||e.x?e.red||e.x:0,M.y=e.green||e.y?e.green||e.y:0,M.z=e.blue||e.z?e.blue||e.z:0,M.w=e.alpha||e.w?e.alpha||e.w:0,this._visibleAreaColor!=M&&(this._visibleAreaColor.copy(M),this.updatePrimitive())};var E={x:0,y:0,z:0,w:0};i.prototype.getHiddenAreaColor=function(){return E.x=this._hiddenAreaColor.x,E.y=this._hiddenAreaColor.y,E.z=this._hiddenAreaColor.z,E.w=this._hiddenAreaColor.w,E};var B=new Le;return i.prototype.setHiddenAreaColor=function(e){B.x=e.red||e.x?e.red||e.x:0,B.y=e.green||e.y?e.green||e.y:0,B.z=e.blue||e.z?e.blue||e.z:0,B.w=e.alpha||e.w?e.alpha||e.w:0,this._hiddenAreaColor!=B&&(this._hiddenAreaColor.copy(B),this.updatePrimitive())},i.prototype.getDistance=function(){return this._distance},i.prototype.setDistance=function(e){this._distance!=e&&(this._distance=e,this.updatePrimitive())},i.prototype.getHorizontalFov=function(){return this._horizontalFov},i.prototype.setHorizontalFov=function(e){this._horizontalFov!=e&&(this._horizontalFov=e,this.updatePrimitive())},i.prototype.getVerticalFov=function(){return this._verticalFov},i.prototype.setVerticalFov=function(e){this._verticalFov!=e&&(this._verticalFov=e,this.updatePrimitive())},i.prototype.show=function(){this.visible=!0,this._viewer&&this._viewer.viewshedManager.update()},i.prototype.hide=function(){this.visible=!1,this._viewer&&this._viewer.viewshedManager.update()},n.setPosition(null!=e.position?e.position:n._position),n.setDirection(null!=e.direction?e.direction:n._direction),n.setVisibleAreaColor(null!=e.visibleAreaColor?e.visibleAreaColor:n._visibleAreaColor),n.setHiddenAreaColor(null!=e.hiddenAreaColor?e.hiddenAreaColor:n._hiddenAreaColor),n.initPrimitive(),n}return i}(cm),dm=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,Yd.VIEW_SHED_ANALYSIS)).viewer=e,n.scene=e.getScene(),n.viewshed=new hm({position:new Ke(0,0,0),direction:new Ke(0,0,-1),distance:500,horizontalFov:2*Math.PI/3,verticalFov:Math.PI/2}),n.viewshed.show(),n.scene.objectGroups.add(n.viewshed),n}return au(i,[{key:"enable",value:function(e){e?this.viewshed.show():this.viewshed.hide()}},{key:"destroy",value:function(){}},{key:"onEnter",value:function(){this.enable(!0)}},{key:"onExit",value:function(){this.enable(!1)}},{key:"processMouseDown",value:function(e){}},{key:"processHover",value:function(e){}},{key:"processMouseUp",value:function(e){}},{key:"processMouseMove",value:function(e){}},{key:"processTouchstart",value:function(e){}},{key:"processTouchmove",value:function(e){}},{key:"processTouchend",value:function(e){}}]),i}(Yg),um=function(){function e(t,i){ru(this,e),this.name=t,this.cameraControl=i,this.mouseButtons={ORBIT:n.LEFT,PAN2:n.MIDDLE,PAN:n.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*xd.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}return au(e,[{key:"getName",value:function(){return this.name}},{key:"destroy",value:function(){this.scene=null,this.cameraControl=null,this.mouseButtons=null,this.StateType=null}},{key:"onExit",value:function(){}},{key:"onEnter",value:function(){}},{key:"processMouseDown",value:function(e){}},{key:"processMouseMove",value:function(e){}},{key:"processMouseUp",value:function(e){}},{key:"processMouseWheel",value:function(e){}},{key:"processMouseDoubleClick",value:function(e){}},{key:"processKeyDown",value:function(e){}},{key:"processKeyUp",value:function(e){}},{key:"processTouchstart",value:function(e){}},{key:"processTouchmove",value:function(e){}},{key:"processTouchend",value:function(e){}},{key:"processHover",value:function(e){}},{key:"processMovement",value:function(e){}},{key:"processPointerLockEnter",value:function(e){}},{key:"processPointerLockExit",value:function(e){}},{key:"update",value:function(){}},{key:"moveTo",value:function(e,t,i){}},{key:"rotateTo",value:function(e){}},{key:"dispatchEvent",value:function(e){this.cameraControl.viewer.getControlManager().dispatchEvent(e)}},{key:"getDomElement",value:function(){return this.domElement}},{key:"getRendererDomElement",value:function(){return this.rendererDomElement}},{key:"updateButtons",value:function(e){void 0!==e.ORBIT&&(this.mouseButtons.ORBIT=e.ORBIT),void 0!==e.PAN&&(this.mouseButtons.PAN=e.PAN),void 0!==e.PAN2&&(this.mouseButtons.PAN2=e.PAN2),void 0!==e.ZOOM&&(this.mouseButtons.ZOOM=e.ZOOM)}},{key:"isUserInputControl",value:function(){return this.name===Vd.PAN||this.name===Vd.ZOOM||this.name===Vd.ORBIT}}]),e}(),pm=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,Vd.FLY,e)).lookSpeed=.001,n.constrainPitch=!0,n.pitchMin=be.degToRad(5)-.5*Math.PI,n.pitchMax=.5*Math.PI-n.pitchMin,n.pitchDeltaTotal=0,n.moveState=Hd.NONE,n.rotateStart=new ke,n.rotateEnd=new ke,n.rotateDelta=new ke,n._panStart=new ke,n._panEnd=new ke,n._panDelta=new ke,n._pan=new Ke,n._worldDimension=new ke,n.lastMousePoint=new ke,n.isLockHeight=!1,n.lockedHeight=0,n.pickHelper=new pf(e),n.intersectOfMouseDown=null,n}return au(i,[{key:"destroy",value:function(){gu(cu(i.prototype),"destroy",this).call(this),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}},{key:"processMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.lastMousePoint.set(e.clientX,e.clientY);var t=this.cameraControl;if(this.intersectOfMouseDown=null,e.button===this.mouseButtons.ORBIT){if(Kp.NoRotate)return;this.rotateStart.set(e.clientX,e.clientY),this.state=this.StateType.ROTATE,this.dispatchEvent({type:Fd.ON_CONTROL_BEGIN,name:"look",control:this.name})}else if(e.button===this.mouseButtons.PAN||e.button===this.mouseButtons.PAN2){if(Kp.NoPan)return;this._panStart.set(e.clientX,e.clientY),t.userInputHelper.getWorldDimension(e.clientX,e.clientY,this._worldDimension),this.intersectOfMouseDown=t.getLastIntersect(),this.state=this.StateType.PAN,this.isLockHeight&&(this.lockedHeight=e.clientY)}}},{key:"doPan",value:function(e,t){var i=this.cameraControl;this._panEnd.set(e,this.isLockHeight?this.lockedHeight:t),this._panDelta.subVectors(this._panEnd,this._panStart),0===this._panDelta.x&&0===this._panDelta.y||(i.userInputHelper.getPanOffset(this._panStart,this._panEnd,this._worldDimension,this._pan),i.userInputHelper.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd),i.update(!0))}},{key:"processMouseMove",value:function(e){var t=this.cameraControl;(e.preventDefault(),this.state===this.StateType.ROTATE)?(this.rotateEnd.set(e.clientX,e.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart),this.rotateStart.copy(this.rotateEnd),(0!=this.rotateDelta.x||0!=this.rotateDelta.y)&&t.rotateForFly(this.rotateDelta.x*this.lookSpeed,this.rotateDelta.y*this.lookSpeed,this.pitchMin,this.pitchMax)):this.state===this.StateType.PAN&&this.doPan(e.clientX,e.clientY)}},{key:"processMouseUp",value:function(e){if(e.preventDefault(),e.stopPropagation(),e.button!==n.LEFT||this.lastMousePoint.x!==e.clientX||this.lastMousePoint.y!==e.clientY){this.intersectOfMouseDown=null;var t=this.cameraControl;switch(this.state){case this.StateType.ROTATE:this.rotateDelta.set(0,0);t.rotateForFly(0,0,this.pitchMin,this.pitchMax),this.dispatchEvent({type:Fd.ON_CONTROL_END,name:"look",control:this.name});break;case this.StateType.PAN:this.doPan(e.clientX,e.clientY)}t.endOperation(),this.state=this.StateType.NONE}else this.pickHelper.click(e,this.intersectOfMouseDown)}},{key:"processHover",value:function(e){this.pickHelper.handleMouseHover(e)}},{key:"processMouseWheel",value:function(e){e.preventDefault(),e.stopPropagation();var t=this.cameraControl;if(!Kp.NoZoom){var i=e.wheelDelta||e.detail;i=Math.abs(i)>10?i:40*-i,i*=5e-4,Kp.ReverseWheelDirection&&(i*=-1);var n=t.getContainerDimensions();t.zoom(i,n.left+.5*n.width,n.top+.5*n.height)}}},{key:"processKeyDown",value:function(e){if(!Kp.NoKey&&!e.altKey){var t=Hd,i=t.NONE;switch(e.keyCode){case Gp.ZERO:this.movementSpeed=this.defaultMovementSpeed;break;case Gp.PLUS:this.movementSpeed*=1.1;break;case Gp.SUB:this.movementSpeed*=.9,this.minMovementSpeed>this.movementSpeed&&(this.movementSpeed=this.minMovementSpeed);break;case Gp.UP:case Gp.W:i=t.FORWARD;break;case Gp.DOWN:case Gp.S:i=t.BACK;break;case Gp.LEFT:case Gp.A:i=t.LEFT;break;case Gp.RIGHT:case Gp.D:i=t.RIGHT;break;case Gp.Q:i=t.UP;break;case Gp.E:i=t.DOWN}i!==t.NONE&&(this.moveState|=i,this.dispatchEvent({type:Fd.ON_CONTROL_KEYDOWN,event:e,state:i,direction:t,control:this.name}),this.cameraControl.updateFlyMove(this.moveState,this.movementSpeed*Kp.MovementSpeedRate))}}},{key:"processKeyUp",value:function(e){if(!Kp.NoKey){var t=Hd,i=t.NONE;switch(e.keyCode){case Gp.UP:case Gp.W:i=t.FORWARD;break;case Gp.DOWN:case Gp.S:i=t.BACK;break;case Gp.LEFT:case Gp.A:i=t.LEFT;break;case Gp.RIGHT:case Gp.D:i=t.RIGHT;break;case Gp.Q:i=t.UP;break;case Gp.E:i=t.DOWN}i!==t.NONE&&(this.dispatchEvent({type:Fd.ON_CONTROL_KEYUP,event:e,state:i,direction:t,control:this.name}),this.moveState&=~i)}}},{key:"moveTo",value:function(e){this.cameraControl.updateFlyMove(e,this.movementSpeed*Kp.MovementSpeedRate)}}]),i}(um),gm=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;return ru(this,i),(r=t.call(this,e,n)).oldMouseX=-1,r.oldMouseY=-1,r.zoomSpeed=Math.pow(.95,.2),r.touchZoomSpeed=.24,r.modelManager=n.viewer.modelManager,r._worldDimension=new ke,r._rotateStart=new ke,r._rotateEnd=new ke,r._rotateDelta=new ke,r.pickHelper=new pf(n),r.longTapFlag=!1,r.selectPad=(og.isMobileDevice(),null),r.startPt=new ke,r.viewer=n.viewer,r}return au(i,[{key:"destroy",value:function(){gu(cu(i.prototype),"destroy",this).call(this),this.modelManager=null,this._worldDimension=null,this.startPt=null,this.pickHelper.destroy(),this.pickHelper=null,this.selectPad&&(this.selectPad.destroy(),this.selectPad=null),this.viewer=null}},{key:"longTap",value:function(){this.longTapFlag=!0,this.selectPad&&this.selectPad.showOverlay(this.startPt)}},{key:"beginPan",value:function(e,t){this._panStart.set(e,t),this.cameraControl.userInputHelper.getWorldDimension(e,t,this._worldDimension)}},{key:"moveTo",value:function(e){if(void 0!==e){var t=this.cameraControl;if(!Kp.NoKey&&!Kp.NoPan){var i=this.movementSpeed*Kp.MovementSpeedRate,n=this.keyPanSpeed*Kp.MovementSpeedRate,r=Hd;switch(e){case r.FORWARD:t.moveForward(i,!0);break;case r.BACK:t.moveBackward(i,!0);break;case r.LEFT:t.pan(n,0);break;case r.RIGHT:t.pan(-n,0);break;case r.UP:t.pan(0,n);break;case r.DOWN:t.pan(0,-n);break;default:e=r.NONE}e!==r.NONE&&t.update(!0,!0)}}}},{key:"onExit",value:function(){xd.MergeComponent&&this.animationStarted&&(this._stop(),this.animationStarted=!1)}},{key:"resetMobileParamsByBox",value:function(e){var t=new Ke;e.getSize(t);var i=this.cameraControl.viewer.modelManager.isMeterUnit()?100:1e5;(t.x>i||t.y>i)&&(this.touchZoomSpeed=.3)}}]),i}(um),fm=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,Vd.PICK,e)).tabIndex=0,n.intersectOfMouseDown=null,n.pickObjects=[],n}return au(i,[{key:"destroy",value:function(){gu(cu(i.prototype),"destroy",this).call(this),this.pickObjects=null}},{key:"processMouseDown",value:function(e){this.intersectOfMouseDown=null,e.preventDefault(),1>=Math.abs(this.oldMouseX-e.clientX)&&1>=Math.abs(this.oldMouseY-e.clientY)&&(this.intersectOfMouseDown=this.cameraControl.getLastIntersect()),this.oldMouseX=e.clientX,this.oldMouseY=e.clientY}},{key:"processMouseUp",value:function(e){e.preventDefault();var t=1>=Math.abs(this.oldMouseX-e.clientX)&&1>=Math.abs(this.oldMouseY-e.clientY),i=t;return e.button!==n.LEFT&&e.button!==n.RIGHT||!t?(this.intersectOfMouseDown=null,this.oldMouseX=e.clientX,this.oldMouseY=e.clientY,!1):(this.pickObjects=this.pickHelper.pickAllObjectsByPosition(e),this.pickHelper.click(e,this.intersectOfMouseDown),this.cameraControl.update(!0),this.intersectOfMouseDown=null,i)}},{key:"processMouseDoubleClick",value:function(e){e.button===n.LEFT&&this.pickHelper.doubleClick(e)}},{key:"processMouseMove",value:function(){this.pickObjects=[]}},{key:"processMouseWheel",value:function(){this.pickObjects=[]}},{key:"processKeyDown",value:function(e){if(gu(cu(i.prototype),"processKeyDown",this).call(this,e),this.state=this.StateType.NONE,!Kp.NoKey&&this.pickObjects.length>0){switch(e.keyCode){case Gp.TAB:e.shiftKey?(--this.tabIndex,0>this.tabIndex?(this.tabIndex=this.pickObjects.length+this.tabIndex,this.pickHelper.handleTabs(this.pickObjects[this.tabIndex])):this.pickHelper.handleTabs(this.pickObjects[this.tabIndex])):(++this.tabIndex,this.pickObjects.length>this.tabIndex||(this.tabIndex=0),this.pickHelper.handleTabs(this.pickObjects[this.tabIndex]))}this.cameraControl.update(!0)}}},{key:"processKeyUp",value:function(e){switch(e.keyCode){case Gp.ESC:this.cameraControl.viewer.clearSelection(),this.pickHelper.lastPickedUserId=void 0,this.cameraControl.updateView(!0)}}},{key:"processHover",value:function(e){this.pickHelper.handleMouseHover(e),this.pickHelper.handleMouseMovePick(e)}}]),i}(gm),mm=function(e){lu(i,e);var t=pu(i);function i(e){var r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vd.ORBIT;return ru(this,i),(r=t.call(this,o,e)).mouseButtons={ORBIT:n.LEFT,PAN2:n.MIDDLE,PAN:n.RIGHT},r._rotateStart=new ke,r._rotateEnd=new ke,r._rotateDelta=new ke,r._lastDampingOffset=new ke,r._curDampingOffset=new ke,r.rotatePivot=null,r.enable=!0,r.rotateSpeed=1,r}return au(i,[{key:"processMouseDown",value:function(e){(e.preventDefault(),e.button===this.mouseButtons.ORBIT&&!Kp.NoRotate&&this.enable)&&(this.oldMouseX=e.clientX,this.oldMouseY=e.clientY,this.rotatePivot=this.cameraControl.userInputHelper.getRotatePivot(Kp.RotatePivotMode,{x:e.clientX,y:e.clientY}),this._rotateStart.set(e.clientX,e.clientY),this._rotateEnd.set(e.clientX,e.clientY),this.resetDynamicRotate(),this.dispatchEvent({type:Fd.ON_CONTROL_BEGIN,name:Vd.ORBIT,control:this.name,startPt:this._rotateStart}),this.state=this.StateType.ROTATE)}},{key:"processMouseMove",value:function(e){if(this.state!==this.StateType.ROTATE)return!1;var t=this.cameraControl;if(e.preventDefault(),t.userInputWorking||(t.userInputWorking=!0),this._rotateEnd.set(e.clientX,e.clientY),!this.cameraControl.isEnableDamping()){if(this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart),Math.abs(this._rotateDelta.x)<Yp.EPSILON2&&Math.abs(this._rotateDelta.y)<Yp.EPSILON2)return;this._rotateStart.copy(this._rotateEnd),this._processRotate(this._rotateDelta,this.rotatePivot)}this.cameraControl.update(!0),this.dispatchEvent({type:Fd.ON_CONTROL_ROTATING,control:this.name}),this.dispatchEvent({type:Fd.ON_CONTROL_MOUSEMOVE,name:Vd.ORBIT,control:this.name,event:e})}},{key:"processMouseUp",value:function(e){if(this.state!==this.StateType.ROTATE)return!1;var t=this.cameraControl;return(Math.abs(this.oldMouseX-e.clientX)>Yp.EPSILON2||Math.abs(this.oldMouseY-e.clientY)>Yp.EPSILON2)&&this.cameraControl.update(!0),this.state=this.StateType.NONE,t.endOperation(),t.onUserInputFinished(),this.dispatchEvent({type:Fd.ON_CONTROL_END,name:Vd.ORBIT,control:this.name}),!0}},{key:"processTouchstart",value:function(e){if(1===e.touches.length){if(Kp.NoRotate)return;this.rotatePivot=this.cameraControl.userInputHelper.getRotatePivot(Kp.RotatePivotMode,{x:e.clientX,y:e.clientY}),this._rotateStart.set(e.touches[0].clientX,e.touches[0].clientY),this.state=this.StateType.ROTATE}}},{key:"processTouchmove",value:function(e){if(this.state!==this.StateType.ROTATE)return!1;var t=this.cameraControl;if(e.preventDefault(),1===e.touches.length){this._rotateEnd.set(e.touches[0].clientX,e.touches[0].clientY),this._rotateDelta.subVectors(this._rotateStart,this._rotateEnd);var i=this.viewer.getClientSize(),n=2*Math.PI*this._rotateDelta.x/i.x*this.rotateSpeed,r=2*Math.PI*this._rotateDelta.y/i.y*this.rotateSpeed;t.touchUpdateRotation(n,r),this._rotateStart.copy(this._rotateEnd),this.dispatchEvent({type:Fd.ON_CONTROL_ROTATING,control:this.name})}t.touchUpdate()}},{key:"processTouchend",value:function(e){if(this.state!==this.StateType.ROTATE)return!1;var t=this.cameraControl;switch(e.touches.length){case 0:this.state=this.StateType.NONE,t.touchEndHandler(e);break;case 1:if(Kp.NoRotate)return;this._rotateStart.set(e.touches[0].clientX,e.touches[0].clientY),this.state=this.StateType.ROTATE}}},{key:"dynamicRotate",value:function(){this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart);var e=!1;if((Math.abs(this._rotateDelta.x)>Yp.EPSILON4||Math.abs(this._rotateDelta.y)>Yp.EPSILON4)&&(e=!0),this._lastDampingOffset.length()>Yp.EPSILON4&&(e=!0),e){var t=this.viewer.getClientSize(),i=-2*Math.PI*this._rotateDelta.x/t.x,n=-2*Math.PI*this._rotateDelta.y/t.y;this._lastDampingOffset.add(new ke(i,n)),this._curDampingOffset.copy(this._lastDampingOffset);var r=this._curDampingOffset.multiplyScalar(this.cameraControl.dynamicDampingFactor());this.cameraControl.handleRotation(r.x,r.y,this.rotatePivot),this._rotateStart.copy(this._rotateEnd),this._lastDampingOffset.multiplyScalar(1-this.cameraControl.dynamicDampingFactor()),this.cameraControl.viewer.render()}}},{key:"resetDynamicRotate",value:function(){this._lastDampingOffset.set(0,0),this._curDampingOffset.set(0,0)}},{key:"_processRotate",value:function(e,t){var i=this.viewer.getClientSize(),n=-2*Math.PI*e.x/i.x,r=-2*Math.PI*e.y/i.y;this.cameraControl.handleRotation(n,r,t)}}]),i}(gm),Am=function(e){lu(i,e);var t=pu(i);function i(e){var r;return ru(this,i),(r=t.call(this,Vd.PAN,e)).mouseButtons={ORBIT:n.LEFT,PAN2:n.MIDDLE,PAN:n.RIGHT},r._panStart=new Ke,r._panEnd=new Ke,r._panDelta=new Ke,r._panOffset=new Ke,r._lastDampingOffset=new Ke,r._curDampingOffset=new Ke,r._worldDimension=new Ke,r.enable=!0,r._moving=!1,r}return au(i,[{key:"destroy",value:function(){gu(cu(i.prototype),"destroy",this).call(this),this.mouseButtons=null,this._panStart=null,this._panEnd=null,this._panDelta=null,this._panOffset=null,this._lastDampingOffset=null,this._curDampingOffset=null,this._worldDimension=null}},{key:"processMouseDown",value:function(e){if(!(e.button!==this.mouseButtons.PAN&&e.button!==this.mouseButtons.PAN2||Kp.NoPan)&&this.enable){var t=this.cameraControl;t.userInputWorking||(t.userInputWorking=!0),this.oldMouseX=e.clientX,this.oldMouseY=e.clientY,this._panStart.set(e.clientX,e.clientY),this._panEnd.set(e.clientX,e.clientY),this._panOffset.set(0,0,0),this.resetDynamicPan();var i=this._panStart;t.userInputHelper.getWorldDimension(e.clientX,e.clientY,this._worldDimension),this.dispatchEvent({type:Fd.ON_CONTROL_BEGIN,name:Vd.PAN,control:this.name,startPt:i}),this.state=this.StateType.PAN}}},{key:"processMouseUp",value:function(e){return this.state===this.StateType.PAN&&((Math.abs(this.oldMouseX-e.clientX)>Yp.EPSILON4||Math.abs(this.oldMouseY-e.clientY)>Yp.EPSILON4)&&this.cameraControl.update(!0),this.cameraControl.endOperation(),this.cameraControl.onUserInputFinished(),this.dispatchEvent({type:Fd.ON_CONTROL_END,name:Vd.PAN,control:this.name}),this.state=this.StateType.NONE,!0)}},{key:"processMouseMove",value:function(e){if(this.state!==this.StateType.PAN)return!1;if(this._panEnd.set(e.clientX,e.clientY),!this.cameraControl.isEnableDamping()){if(this._panDelta.subVectors(this._panEnd,this._panStart),Math.abs(this._panDelta.x)<Yp.EPSILON2&&Math.abs(this._panDelta.y)<Yp.EPSILON2)return;this.cameraControl.userInputHelper.getPanOffset(this._panStart,this._panEnd,this._worldDimension,this._panOffset),this.cameraControl.userInputHelper.adjustCameraForPan(this._panOffset),this._panStart.copy(this._panEnd),this.cameraControl.update(!0)}this.dispatchEvent({type:Fd.ON_CONTROL_PANING,name:Vd.PAN,control:this.name}),this.dispatchEvent({type:Fd.ON_CONTROL_MOUSEMOVE,name:Vd.PAN,control:this.name,event:e})}},{key:"processKeyDown",value:function(e){if(!Kp.NoKey&&!Kp.NoPan){var t=this.cameraControl;this._moving=!0;var i=!1,n=this.movementSpeed*Kp.MovementSpeedRate,r=this.keyPanSpeed*Kp.MovementSpeedRate;switch(e.keyCode){case Gp.ZERO:this.keyPanSpeed=t.defaultKeyPanSpeed,this.movementSpeed=t.defaultMovementSpeed;break;case Gp.PLUS:this.keyPanSpeed*=1.1,this.movementSpeed*=1.1;break;case Gp.SUB:this.keyPanSpeed*=.9,this.keyPanSpeed=this.minKeyPanSpeed>this.keyPanSpeed?this.minKeyPanSpeed:this.keyPanSpeed,this.movementSpeed*=.9,this.movementSpeed=this.minMovementSpeed>this.movementSpeed?this.minMovementSpeed:this.movementSpeed;break;case Gp.Q:t.pan(0,r),i=!0;break;case Gp.E:t.pan(0,-r),i=!0;break;case Gp.LEFT:case Gp.A:t.pan(r,0),i=!0;break;case Gp.RIGHT:case Gp.D:t.pan(-r,0),i=!0;break;case Gp.UP:case Gp.W:t.moveStraight(n,!e.shiftKey),i=!0;break;case Gp.DOWN:case Gp.S:t.moveStraight(-n,!e.shiftKey),i=!0}i&&(t.update(!0),this.cameraControl.userInputWorking||(this.cameraControl.userInputWorking=!0))}}},{key:"processKeyUp",value:function(e){if(!Kp.NoKey&&!Kp.NoPan)switch(e.keyCode){case Gp.Q:case Gp.E:case Gp.LEFT:case Gp.A:case Gp.RIGHT:case Gp.D:case Gp.UP:case Gp.W:case Gp.DOWN:case Gp.S:this.cameraControl.onUserInputFinished()}}},{key:"processTouchstart",value:function(e){(this.startPt.set(e.touches[0].clientX,e.touches[0].clientY),this.timeId&&clearTimeout(this.timeId),this.timeId=setTimeout(this.longTap,400),this.selectPad&&this.selectPad.hideOverlay(),2===e.touches.length)&&(Kp.NoPan||(this._panStart.set(.5*(e.touches[0].clientX+e.touches[1].clientX),.5*(e.touches[0].clientY+e.touches[1].clientY)),this.state=this.StateType.PAN))}},{key:"processTouchmove",value:function(e){if(this.state!==this.StateType.PAN)return!1;this.timeId&&clearTimeout(this.timeId);var t=this.cameraControl;if(e.preventDefault(),2===e.touches.length){var i=.5*(e.touches[0].clientX+e.touches[1].clientX),n=.5*(e.touches[0].clientY+e.touches[1].clientY);if(this._panEnd.set(i,n),this._panDelta.subVectors(this._panEnd,this._panStart),3>Math.abs(this._panDelta.x)&&3>Math.abs(this._panDelta.y))return!1;t.userInputHelper.getWorldDimension(i,n,this._worldDimension),t.userInputHelper.getPanOffset(this._panStart,this._panEnd,this._worldDimension,this._panOffset),t.userInputHelper.adjustCameraForPan(this._panOffset),this._panStart.copy(this._panEnd),this.state=this.StateType.PAN,this.modelManager.dispatchEvent({type:Fd.ON_CONTROL_PANING})}t.touchUpdate()}},{key:"processTouchend",value:function(e){if(this.state!==this.StateType.PAN)return!1;this.timeId&&clearTimeout(this.timeId),this.longTapFlag&&(this.longTapFlag=!1,e.preventDefault());var t=this.cameraControl;switch(e.touches.length){case 0:this.state=this.StateType.NONE,t.touchEndHandler(e);break;case 1:if(Kp.NoRotate)return;this._rotateStart.set(e.touches[0].clientX,e.touches[0].clientY),this.state=this.StateType.ROTATE}}},{key:"dynamicPan",value:function(){this._panDelta.subVectors(this._panEnd,this._panStart);var e=!1;if((Math.abs(this._panDelta.x)>Yp.EPSILON2||Math.abs(this._panDelta.y)>Yp.EPSILON2)&&(e=!0),this._lastDampingOffset.length()>Yp.EPSILON2&&(e=!0),e){this._lastDampingOffset.add(this._panOffset),this._curDampingOffset.copy(this._lastDampingOffset);var t=this._curDampingOffset.multiplyScalar(this.cameraControl.dynamicDampingFactor());this.cameraControl.userInputHelper.adjustCameraForPan(t),this.cameraControl.userInputHelper.getPanOffset(this._panStart,this._panEnd,this._worldDimension,this._panOffset),this._panStart.copy(this._panEnd),this._lastDampingOffset.multiplyScalar(1-this.cameraControl.dynamicDampingFactor()),this.cameraControl.viewer.render()}}},{key:"resetDynamicPan",value:function(){this._lastDampingOffset.set(0,0,0),this._curDampingOffset.set(0,0,0)}}]),i}(gm),ym=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,Vd.ZOOM,e)).mouseButtons={},n.enable=!0,n._dollyStart=new ke,n._dollyEnd=new ke,n._dollyDelta=new ke,n.zoomSpeed=Math.pow(.95,.2),n._curZoomFactor={},n}return au(i,[{key:"destroy",value:function(){gu(cu(i.prototype),"destroy",this).call(this),this.mouseButtons=null,this._dollyStart=null,this._dollyEnd=null,this._dollyDelta=null,this._curZoomFactor=null}},{key:"processMouseWheel",value:function(e){if(!Kp.NoZoom&&this.enable){e.preventDefault(),e.stopPropagation();var t=0;e.wheelDelta?t=e.wheelDelta:e.detail&&(t=40*-e.detail),Math.abs(t)>720&&(t=t>0?720:-720),t*=this.wheelZoomFactor,this._curZoomFactor.scale=t=Kp.ReverseWheelDirection?-t:t,this._curZoomFactor.clientX=e.clientX,this._curZoomFactor.clientY=e.clientY,this.cameraControl.isEnableDamping()||this._zoom(t)}}},{key:"processMouseDown",value:function(e){e.preventDefault(),this.state=this.StateType.NONE,e.button!==this.mouseButtons.ZOOM||Kp.NoZoom||(this.state=this.StateType.DOLLY,this._dollyStart.set(e.clientX,e.clientY),this._dollyEnd.set(e.clientX,e.clientY),this.dispatchEvent({type:Fd.ON_CONTROL_BEGIN,name:Vd.ZOOM,control:this.name,startPt:this._dollyStart}))}},{key:"processMouseMove",value:function(e){if(this.state===this.StateType.DOLLY){var t=this.cameraControl;if(e.preventDefault(),t.userInputWorking||(t.userInputWorking=!0),this._dollyEnd.set(e.clientX,e.clientY),!this.cameraControl.isEnableDamping()){if(this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),Math.abs(this._dollyDelta.x)<Yp.EPSILON2&&Math.abs(this._dollyDelta.y)<Yp.EPSILON2)return;this._zoom((this._dollyDelta.y>0?this.zoomSpeed:1/this.zoomSpeed)-1),this._dollyStart.copy(this._dollyEnd)}this.cameraControl.update(!0),this.dispatchEvent({type:Fd.ON_CONTROL_ZOOM,control:this.name})}}},{key:"processMouseUp",value:function(){if(this.state===this.StateType.DOLLY){var e=this.cameraControl;return this.state=this.StateType.NONE,e.onUserInputFinished(),this.dispatchEvent({type:Fd.ON_CONTROL_END,name:Vd.ZOOM,control:this.name}),!0}}},{key:"processTouchstart",value:function(e){if(2===e.touches.length&&!Kp.NoZoom){var t=e.touches[0].clientX-e.touches[1].clientX,i=e.touches[0].clientY-e.touches[1].clientY;this._dollyStart.set(0,Math.sqrt(t*t+i*i)),this.state=this.StateType.DOLLY}}},{key:"processTouchmove",value:function(e){if(this.state===this.StateType.DOLLY){var t=this.cameraControl;if(e.preventDefault(),2===e.touches.length){var i=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY,r=Math.sqrt(i*i+n*n);if(this._dollyEnd.set(0,r),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),Math.abs(this._dollyDelta.y)>3){var o=(.01*this.touchZoomSpeed+1e-4)*this._dollyDelta.y;this._dollyStart.copy(this._dollyEnd),t.touchDolly(.5*(e.touches[0].clientX+e.touches[1].clientX),.5*(e.touches[0].clientY+e.touches[1].clientY),o),this.state=this.StateType.DOLLY,this.modelManager.dispatchEvent({type:Fd.ON_CONTROL_ZOOM})}}t.touchUpdate()}}},{key:"dynamicZoom",value:function(){var e=!1;Math.abs(this._curZoomFactor.scale)>Yp.EPSILON2?e=!0:this._curZoomFactor.scale=0,e&&(this._curZoomFactor.scale*=1-this.cameraControl.dynamicDampingFactor(),this._zoom(this._curZoomFactor.scale),this.cameraControl.viewer.render())}},{key:"resetDynamicZoom",value:function(){this._curZoomFactor.scale=0}},{key:"_zoom",value:function(e){var t=this.cameraControl;this.cameraControl.dispatchEvent({type:Fd.ON_CONTROL_ZOOM}),t.zoom(e,this._curZoomFactor.clientX,this._curZoomFactor.clientY)}}]),i}(gm),vm=function(){function e(t){ru(this,e),this.viewer=t,this.cameraControl=t.cameraControl,this.panControl=new Am(this.cameraControl),this.orbitControl=new mm(this.cameraControl),this.zoomControl=new ym(this.cameraControl),this.enable=!0,this.currentMouseMode="left"}return au(e,[{key:"setDefaultControlMode",value:function(){this.enable=!0,this.panControl.enable=!0,this.orbitControl.enable=!0,this.zoomControl.enable=!0,this.switchHandMode(this.currentMouseMode)}},{key:"setPanControlMode",value:function(){this.enable=!0,this.panControl.enable=!0,this.orbitControl.enable=!1,this.zoomControl.enable=!0,this.panControl.mouseButtons={PAN2:n.RIGHT,PAN:n.LEFT},this.zoomControl.mouseButtons={}}},{key:"setOrbitControlMode",value:function(){this.enable=!0,this.panControl.enable=!0,this.orbitControl.enable=!0,this.zoomControl.enable=!0,this.setDefaultControlMode()}},{key:"setZoomControlMode",value:function(){this.enable=!0,this.panControl.enable=!0,this.orbitControl.enable=!1,this.zoomControl.enable=!0,this.panControl.mouseButtons={PAN2:n.MIDDLE,PAN:n.RIGHT},this.zoomControl.mouseButtons={ZOOM:n.LEFT}}},{key:"switchHandMode",value:function(e){this.currentMouseMode=e,"left"===e?(this.panControl.mouseButtons={PAN2:n.MIDDLE,PAN:n.RIGHT},this.orbitControl.mouseButtons={ORBIT:n.LEFT}):"right"===e&&(this.panControl.mouseButtons={PAN2:n.MIDDLE,PAN:n.LEFT},this.orbitControl.mouseButtons={ORBIT:n.RIGHT})}},{key:"update",value:function(){this.cameraControl.isEnableDamping()&&this.enable&&(this.panControl.dynamicPan(),this.orbitControl.dynamicRotate(),this.zoomControl.dynamicZoom())}},{key:"processMouseDown",value:function(e){this.enable&&(this.cameraControl.isEnableDamping()&&this.resetDynamicMoving(),this.panControl.processMouseDown(e),this.orbitControl.processMouseDown(e),this.zoomControl.processMouseDown(e))}},{key:"processMouseMove",value:function(e){this.enable&&(this.panControl.processMouseMove(e),this.orbitControl.processMouseMove(e),this.zoomControl.processMouseMove(e))}},{key:"processMouseUp",value:function(e){this.enable&&(this.panControl.processMouseUp(e),this.orbitControl.processMouseUp(e),this.zoomControl.processMouseUp(e))}},{key:"processMouseWheel",value:function(e){this.enable&&(this.cameraControl.isEnableDamping()&&this.resetDynamicMoving(),this.zoomControl.processMouseWheel(e))}},{key:"processKeyDown",value:function(e){this.enable&&this.panControl.processKeyDown(e)}},{key:"processTouchmove",value:function(e){this.enable&&(this.panControl.processTouchmove(e),this.orbitControl.processTouchmove(e),this.zoomControl.processTouchmove(e))}},{key:"processTouchstart",value:function(e){this.enable&&(this.panControl.processTouchstart(e),this.orbitControl.processTouchstart(e),this.zoomControl.processTouchstart(e))}},{key:"processTouchend",value:function(e){this.enable&&(this.panControl.processTouchend(e),this.orbitControl.processTouchend(e),this.zoomControl.processTouchend(e))}},{key:"processKeyUp",value:function(e){this.enable&&this.panControl.processKeyUp(e)}},{key:"resetDynamicMoving",value:function(){this.enable&&(this.orbitControl.resetDynamicRotate(),this.panControl.resetDynamicPan(),this.zoomControl.resetDynamicZoom())}}]),e}(),Cm=function(e){lu(i,e);var t=pu(i);function i(e){var r;ru(this,i),(r=t.call(this,Vd.WALK,e)).mouseButtons={ORBIT:n.LEFT,PAN2:n.MIDDLE,PAN:n.RIGHT},r.pickHelper=new pf(e),r.lastMousePoint=new ke,r._reqid=0,r._animateBinded=r._animate.bind(du(r)),r._clock=new Pc,r.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},r.startPt=new ke,r.timeId=null,r.rotateSpeed=1,r._rotateStart=new ke,r._rotateEnd=new ke,r._rotateDelta=new ke,r._dollyStart=new ke,r._dollyEnd=new ke,r._dollyDelta=new ke,r._dollyCenter=new ke,r.zoomSpeed=Math.pow(.95,.2),r._panStart=new ke,r._panEnd=new ke,r._panDelta=new ke,r._pan=new Ke,r._worldDimension=new ke,r.selectPad=(og.isMobileDevice(),null),r.moveVector=new Ke(0,0,0),r.rotationVector=new Ke(0,0,0),r.zoomDelta=0,r.rotateStart=new ke,r.rotateEnd=new ke,r.rotateDelta=new ke,r.firstRotate=!0,r.dragLook=!0,r.lockHeightEnabled=!1,r.isLockHeight=!1,r.lockedHeight=0,r.pickEnabled=!0,r.mouseType=null;var o=e.viewer.getScene().getBoundingBoxWorld();return r.defaultMovementSpeed=o?o.getSize(new Ke(0,0,0)).length()/10:1500,r.movementSpeed=r.defaultMovementSpeed,r.shiftSpeedup=!1,r}return au(i,[{key:"setFocuse",value:function(){var e=document.querySelector(".main-canvas");e&&e.focus&&e.focus()}},{key:"destroy",value:function(){gu(cu(i.prototype),"destroy",this).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._worldDimension=null,this.moveVector=null,this.rotationVector=null,this.rotateStart=null,this.rotateEnd=null,this.rotateDelta=null}},{key:"_animate",value:function(){this._reqid=requestAnimationFrame(this._animateBinded),this.updateWalkMove()}},{key:"_start",value: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()}},{key:"_stop",value:function(){cancelAnimationFrame(this._reqid)}},{key:"_updateMovement",value: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}},{key:"_updateRotation",value:function(){this.rotationVector.x=Kp.LockAxisZ?0:-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft}},{key:"_doRotate",value:function(e){xd.WalkingWithViewLock&&(e.y=0);var t=this.cameraControl.getContainerDimensions(),i=t.height/2;this.moveState.yawLeft=-e.x/(t.width/2),this.moveState.pitchDown=e.y/i,this._updateRotation()}},{key:"processMouseDown",value:function(e){if(this.oldMouseX=e.clientX,this.oldMouseY=e.clientY,e.preventDefault(),e.stopPropagation(),this.mouseType=e.button,this.lastMousePoint.set(e.clientX,e.clientY),this.firstRotate=!1,e.button===this.mouseButtons.ORBIT){if(Kp.NoRotate)return;this.rotateStart.set(e.clientX,e.clientY),this.state=this.StateType.ROTATE,this.dispatchEvent({type:Fd.ON_CONTROL_BEGIN,name:"look",control:this.name})}else if(e.button===this.mouseButtons.PAN||e.button===this.mouseButtons.PAN2){if(Kp.NoPan)return;this._panStart.set(e.clientX,e.clientY),this._worldDimension=this.cameraControl.userInputHelper.getWorldDimension(e.clientX,e.clientY,this._worldDimension),this.state=this.StateType.PAN,this.dispatchEvent({type:Fd.ON_CONTROL_BEGIN,name:Vd.PAN,control:this.name})}}},{key:"processMouseUp",value:function(e){return e.preventDefault(),e.stopPropagation(),e.button===this.mouseButtons.PAN&&this.setFocuse(),this.mouseType=null,this.pickEnabled&&(e.button===n.LEFT||e.button===n.RIGHT)&&2>Math.abs(this.lastMousePoint.x-e.clientX)&&2>Math.abs(this.lastMousePoint.y-e.clientY)?(this.state=this.StateType.NONE,void this.pickHelper.click(e)):(this.state===this.StateType.ROTATE&&(this.moveState.yawLeft=this.moveState.pitchDown=0,this.dispatchEvent({type:Fd.ON_CONTROL_END,name:"look",control:this.name})),this.state=this.StateType.NONE,!0)}},{key:"processMouseMove",value:function(e){if(e.preventDefault(),this.dragLook&&this.state===this.StateType.ROTATE&&0===this.mouseType){if(this.rotateEnd.set(e.clientX,e.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(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),0===this._dollyDelta.x&&0===this._dollyDelta.y)return;this.cameraControl.zoom(this._dollyDelta.y>0?this.zoomSpeed:1/this.zoomSpeed,null),this._dollyStart.copy(this._dollyEnd);break;case this.StateType.PAN:if(this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart),0===this._panDelta.x&&0===this._panDelta.y)return;this.cameraControl.userInputHelper.getPanOffset(this._panStart,this._panEnd,this._worldDimension,this._pan),this.cameraControl.userInputHelper.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd)}this.state!==this.StateType.NONE&&this.cameraControl.update(!0)}}},{key:"processTouchstart",value:function(e){this.startPt.set(e.touches[0].clientX,e.touches[0].clientY),this.timeId&&clearTimeout(this.timeId);switch(this.timeId=setTimeout(this.longTap,400),this.selectPad&&this.selectPad.hideOverlay(),e.touches.length){case 1:if(Kp.NoRotate)return;this._rotateStart.set(e.touches[0].clientX,e.touches[0].clientY),this.state=this.StateType.ROTATE,console.log(this._rotateStart);break;case 2:if(!Kp.NoPan)this._panStart.set(.5*(e.touches[0].clientX+e.touches[1].clientX),.5*(e.touches[0].clientY+e.touches[1].clientY));break;default:this.state=this.StateType.NONE}}},{key:"processTouchmove",value:function(e){this.timeId&&clearTimeout(this.timeId);var t=this.cameraControl;switch(e.preventDefault(),e.touches.length){case 1:this.dragLook&&this.state===this.StateType.ROTATE&&(this._rotateEnd.set(e.touches[0].clientX,e.touches[0].clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart),this._rotateStart.copy(this._rotateEnd),this._doRotate(this._rotateDelta));break;case 2:if(t.clearTouchRotateState(),!Kp.NoPan){var i=.5*(e.touches[0].clientX+e.touches[1].clientX),n=.5*(e.touches[0].clientY+e.touches[1].clientY);if(this._panEnd.set(i,n),this._panDelta.subVectors(this._panEnd,this._panStart),3>Math.abs(this._panDelta.x)&&3>Math.abs(this._panDelta.y))return;t.userInputHelper.getWorldDimension(i,n,this._worldDimension),t.userInputHelper.getPanOffset(this._panStart,this._panEnd,this._worldDimension,this._pan),t.userInputHelper.adjustCameraForPan(this._pan),this._panStart.copy(this._panEnd),this.state=this.StateType.PAN}}t.touchUpdate()}},{key:"processTouchend",value:function(e){this.timeId&&clearTimeout(this.timeId),this.longTapFlag&&(this.longTapFlag=!1,e.preventDefault());var t=this.cameraControl;switch(e.touches.length){case 0:this.state=this.StateType.NONE,t.touchEndHandler(e);break;case 1:if(Kp.NoRotate)return;this._rotateStart.set(e.touches[0].clientX,e.touches[0].clientY),this.state=this.StateType.ROTATE}}},{key:"processHover",value:function(e){this.dragLook||(this.firstRotate&&(this.firstRotate=!1,this.rotateStart.set(e.clientX,e.clientY)),this.rotateEnd.set(e.clientX,e.clientY),this.rotateDelta.subVectors(this.rotateEnd,this.rotateStart),this.rotateStart.copy(this.rotateEnd),this._doRotate(this.rotateDelta))}},{key:"processMouseWheel",value:function(e){var t=this.cameraControl;if(e.preventDefault(),e.stopPropagation(),!Kp.NoZoom){var i=0;e.wheelDelta?i=e.wheelDelta:e.deltaY&&(i=40*-e.deltaY),Math.abs(i)>720&&(i=i>0?720:-720),i*=this.wheelZoomFactor,Kp.ReverseWheelDirection&&(i*=-1),t.zoom(i,e.clientX,e.clientY),t.delayHandle(),this.dispatchEvent({type:Fd.ON_CONTROL_ZOOM}),this.zoomDelta=i}}},{key:"processKeyDown",value:function(e){if(!Kp.NoKey&&!e.altKey){var t=Hd.NONE;switch(e.keyCode){case Gp.ZERO:this.movementSpeed=this.defaultMovementSpeed;break;case Gp.PLUS:case Gp.NUMPADADD:this.movementSpeed*=1.1;break;case Gp.NUMPADSUBTRACT:case Gp.SUB:this.movementSpeed*=.9,this.minMovementSpeed>this.movementSpeed&&(this.movementSpeed=this.minMovementSpeed);break;case Gp.UP:case Gp.W:t=Hd.FORWARD,this.moveState.forward=1;break;case Gp.DOWN:case Gp.S:t=Hd.BACK,this.moveState.back=1;break;case Gp.LEFT:case Gp.A:t=Hd.LEFT,this.moveState.left=1;break;case Gp.RIGHT:case Gp.D:t=Hd.RIGHT,this.moveState.right=1;break;case Gp.Q:t=Hd.UP,this.moveState.up=1;break;case Gp.E:t=Hd.DOWN,this.moveState.down=1;break;case Gp.SHIFTLEFT:this.shiftSpeedup||(this.movementSpeed+=this.defaultMovementSpeed,this.shiftSpeedup=!0);break;case Gp.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);default:return}this._updateMovement(),this._updateRotation(),t!==Hd.NONE&&this.dispatchEvent({type:Fd.ON_CONTROL_KEYDOWN,event:e,direction:t,control:this.name})}}},{key:"processKeyUp",value:function(e){if(!Kp.NoKey){var t=Hd.NONE;switch(e.keyCode){case Gp.UP:case Gp.W:t=Hd.FORWARD,this.moveState.forward=0;break;case Gp.DOWN:case Gp.S:t=Hd.BACK,this.moveState.back=0;break;case Gp.LEFT:case Gp.A:t=Hd.LEFT,this.moveState.left=0;break;case Gp.RIGHT:case Gp.D:t=Hd.RIGHT,this.moveState.right=0;break;case Gp.Q:t=Hd.UP,this.moveState.up=0;break;case Gp.E:t=Hd.DOWN,this.moveState.down=0;break;case Gp.SHIFTLEFT:this.shiftSpeedup&&(this.movementSpeed-=this.defaultMovementSpeed,this.shiftSpeedup=!1);break;default:return void(t=Hd.NONE)}this._updateMovement(),this._updateRotation(),t!==Hd.NONE&&this.dispatchEvent({type:Fd.ON_CONTROL_KEYUP,event:e,direction:t,control:this.name})}}},{key:"updateWalkMove",value:function(){var e=this._clock.getDelta(),t=this.cameraControl,i=t.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||0!==t.gravity){var n=this.movementSpeed*Kp.WalkSpeedRate*e;if(1==xd.WalkingWithGravity&&(this.moveVector.z=0,t.computeManHeight(),t.computeGravity()),t.dirtyCamera(!0),0!==this.zoomDelta)t.userInputHelper.adjustCameraForZoom(this.zoomDelta*e),this.zoomDelta=0;0!==n&&t.translateCameraForWalk(this.moveVector,n),t.rotateCameraForWalk(this.rotationVector,this.dragLook?1:2),t.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,i!==t.camera.position.z&&t.viewer.modelManager.dispatchEvent({type:Fd.ON_CAMERA_HEIGHT_CHANGED,cameraPosition:t.camera.position.clone()}),t.dispatchEvent({type:Fd.ON_CONTROL_WALKING})}}},{key:"onEnter",value:function(){var e=this.cameraControl.getCamera();e.isPerspective||(console.log("Current camera is Orthographic"),e.toPerspective()),this._start()}},{key:"onExit",value:function(){this._stop(),this.moveVector=new Ke(0,0,0),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}}},{key:"rotateTo",value:function(e){this._doRotate(e)}},{key:"moveTo",value:function(e,t,i){if(void 0===i&&(i=!0),void 0===t&&(t=1),i)switch(e){case Hd.FORWARD:this.moveState.forward=t;break;case Hd.BACK:this.moveState.back=t;break;case Hd.LEFT:this.moveState.left=t;break;case Hd.RIGHT:this.moveState.right=t;break;case Hd.UP:this.moveState.up=t;break;case Hd.DOWN:this.moveState.down=t}else switch(e){case Hd.FORWARD:this.moveState.forward=0;break;case Hd.BACK:this.moveState.back=0;break;case Hd.LEFT:this.moveState.left=0;break;case Hd.RIGHT:this.moveState.right=0;break;case Hd.UP:this.moveState.up=0;break;case Hd.DOWN:this.moveState.down=0}this._updateMovement()}},{key:"setHeightLocked",value:function(e){this.lockHeightEnabled&&this.isLockHeight!==e&&(this.isLockHeight=e)}},{key:"setDragLook",value:function(e){this.dragLook!==e&&(this.firstRotate=!0,this.dragLook=e)}},{key:"processPointerLockEnter",value:function(){this.pointerLock=!0}},{key:"processPointerLockExit",value:function(){this.pointerLock=!1}},{key:"processMovement",value:function(e){this.rotateDelta.set(e.movementX||e.mozMovementX||e.webkitMovementX||0,e.movementY||e.mozMovementY||e.webkitMovementY||0),this._doRotate(this.rotateDelta)}}]),i}(um),Im=function(){this.control=null,this.controls={},this.tools=[],this.domElement=null,this.enabled=!0,this.isUpdateRenderList=!0;var e=!1;this.userInputControl=null;var t=this;function i(i){if(t.enabled){for(var n=t.tools,r=n.length-1;r>=0;r-=1)if(n[r].onEvent(i)){switch(i.type){case"mouseup":t.userInputControl.processMouseUp(i),e=!1}return}switch(i.type){case"touchmove":!function(e){t.control.isUserInputControl()||t.control.processTouchmove(e),t.userInputControl.processTouchmove(e)}(i);break;case"touchstart":!function(e){t.control.isUserInputControl()||t.control.processTouchstart(e),t.userInputControl.processTouchstart(e)}(i);break;case"touchend":!function(e){t.control.isUserInputControl()||t.control.processTouchend(e),t.userInputControl.processTouchend(e)}(i);break;case"keydown":!function(e){t.control.isUserInputControl()||t.control.processKeyDown(e),t.userInputControl.processKeyDown(e)}(i);break;case"keyup":!function(e){t.control.isUserInputControl()||t.control.processKeyUp(e),t.userInputControl.processKeyUp(e)}(i);break;case"wheel":case"mousewheel":case"DOMMouseScroll":!function(e){t.cameraChange=!0,t.control.isUserInputControl()||t.control.processMouseWheel(e),t.userInputControl.processMouseWheel(e)}(i);break;case"mousedown":!function(i){t.setFocuse(),e=!0,t.isUpdateRenderList=!1,t.control?(t.control.isUserInputControl()||t.control.processMouseDown(i),t.userInputControl.processMouseDown(i)):Bu.warn("control is null")}(i);break;case"mousemove":!function(i){t.control.name==Vd.THIRDPERSONWALK&&t.setFocuse(),t.pointerLock?t.control.processMovement(i):e?(t.isUpdateRenderList=!1,t.cameraChange=!0,t.control.isUserInputControl()||t.control.processMouseMove(i),t.userInputControl.processMouseMove(i)):t.control.processHover(i)}(i);break;case"mouseup":!function(i){t.isUpdateRenderList=!0,e&&(t.control.isUserInputControl()||t.control.processMouseUp(i),t.userInputControl.processMouseUp(i),e=!1)}(i);break;case"dblclick":t.control.processMouseDoubleClick(i)}}else t.cameraChange=!1}function n(e){e.preventDefault()}function r(e){document.pointerLockElement===t.domElement||document.mozPointerLockElement===t.domElement||document.webkitPointerLockElement===t.domElement?(t.pointerLock=!0,t.control.processPointerLockEnter(e)):(t.pointerLock=!1,t.control.processPointerLockExit(e),t.domElement.focus(),t.control.dispatchEvent({type:Fd.ON_POINTERLOCK_EXIST,name:t.control.getName()}))}function o(e){t.pointerLock=!1,t.control.processPointerLockExit(e),t.control.dispatchEvent({type:Fd.ON_POINTERLOCK_EXIST,name:t.control.getName()})}this._componentTransformTool=void 0,this.setFocuse=function(){if(t.domElement){var e=t.domElement.querySelector(".main-canvas");e&&e.focus&&e.focus()}},this.setFocus=this.setFocuse,this.getCameraControl=function(){return this.cameraControl},this.registerDomEventListeners=function(e){this.domElement=e,e.addEventListener("contextmenu",n,!1),e.addEventListener("mousedown",i,!1),e.addEventListener("mousewheel",i,!1),e.addEventListener("DOMMouseScroll",i,!1),e.addEventListener("wheel",i,!1),e.addEventListener("dblclick",i,!1),window.addEventListener("mousemove",i,!1),window.addEventListener("mouseup",i,!1),e.addEventListener("touchstart",i,!1),e.addEventListener("touchend",i,!1),e.addEventListener("touchmove",i,!1),window.addEventListener("touchmove",(function(e){}),!1),e.addEventListener("keydown",i,!1),window.addEventListener("keyup",i,!1),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("pointerlockerror",o,!1),document.addEventListener("mozpointerlockerror",o,!1),document.addEventListener("webkitpointerlockerror",o,!1),this.setFocuse()},this.unregisterDomEventListeners=function(e){e.removeEventListener("contextmenu",n,!1),e.removeEventListener("mousedown",i,!1),e.removeEventListener("mousewheel",i,!1),e.removeEventListener("DOMMouseScroll",i,!1),e.removeEventListener("dblclick",i,!1),window.removeEventListener("mousemove",i,!1),window.removeEventListener("mouseup",i,!1),e.removeEventListener("touchstart",i,!1),e.removeEventListener("touchend",i,!1),e.removeEventListener("touchmove",i,!1),e.removeEventListener("keydown",i,!1),window.removeEventListener("keyup",i,!1),document.removeEventListener("pointerlockchange",r,!1),document.removeEventListener("mozpointerlockchange",r,!1),document.removeEventListener("webkitpointerlockchange",r,!1),document.removeEventListener("pointerlockerror",o,!1),document.removeEventListener("mozpointerlockerror",o,!1),document.removeEventListener("webkitpointerlockerror",o,!1)}};Im.prototype={constructor:Im,destroy:function(){for(var e in this.control=null,this.controls){this.controls[e].destroy()}this.controls={};for(var t=0,i=this.tools.length;i>t;t+=1)this.tools[t].destroy();this.tools=null,this.unregisterDomEventListeners(this.domElement),this.domElement=null},getCurrentControlName:function(){return this.control?this.control.name:""},_getControlByName:function(e,t){var i=this.controls[t],n=Vd;this.viewer=e,this.cameraControl=e.cameraControl;var r=e.cameraControl;switch(t){case n.ORBIT:this.userInputControl.setOrbitControlMode(),i=this.userInputControl.orbitControl;break;case n.PICK:this.userInputControl.setDefaultControlMode(),i=wp.isDefined(i)?i:new fm(r);break;case n.PAN:this.userInputControl.setPanControlMode(),i=this.userInputControl.panControl;break;case n.FLY:this.userInputControl.enable=!1,i=wp.isDefined(i)?i:new pm(r);break;case n.WALK:this.userInputControl.enable=!1,i=wp.isDefined(i)?i:new Cm(r);break;case n.ZOOM:this.userInputControl.setZoomControlMode(),i=this.userInputControl.zoomControl;break;default:i=null,Bu.error("invalid control name")}return i&&(i.name=t,this.controls[t]=i),i},getCurrentControlMode:function(){return this.control},setupUserInputControl:function(e){this.userInputControl=new vm(e)},getCurrentControl:function(){return this.control},setControlMode:function(e,t){var i=this._getControlByName(e,t);i&&this.control!==i&&(null!==this.control&&(this.control.dispatchEvent({type:Fd.ON_CONTROL_EXIST,name:this.control.getName()}),this.control.onExit()),this.control=i,this.control.onEnter(),this.control.dispatchEvent({type:Fd.ON_CONTROL_ENTER,name:this.control.getName()}))},getToolByName:function(e){for(var t=this.tools.length,i=0;t>i;i+=1)if(this.tools[i].name===e)return this.tools[i]},enableTool:function(e,t){for(var i=Yd,n=this.tools,r=0,o=n.length;o>r;r+=1)if(n[r].name===t)return;var a=null;switch(t){case i.PICK_BY_RECT:a=new am(e);break;case i.ZOOM_BY_RECT:a=new sm(e);break;case i.CLIP_BY_BOX:a=new Hg(e);break;case i.CLIP_FILL:a=new tf(e);break;case i.PICK_BY_MEASURE:a=new em(e);break;case i.VIEW_SHED_ANALYSIS:a=new dm(e);break;case i.COMPONENT_TRANSFORM:a=new qg(e.getScene(),e.camera,e.domElement),jg(this._componentTransformTool)&&(a.transformControl._listeners=this._componentTransformTool.transformControl._listeners),this._componentTransformTool=a}a&&n.push(a)},disableTool:function(e){for(var t=this.tools,i=0,n=t.length;n>i;i+=1)if(t[i].name===e){t[i].onExit(),this.dispatchEvent({type:Fd.ON_CONTROL_EXIST,name:e}),t.splice(i,1);break}},setInteractiveState:function(e){this.enabled=e},requestPointerLock:function(){this.control instanceof Cm&&(this.domElement.requestPointerLock=this.domElement.requestPointerLock||this.domElement.mozRequestPointerLock||this.domElement.webkitRequestPointerLock,this.domElement.requestPointerLock())}},Object.assign(Im.prototype,hg.prototype),Object.defineProperties(Im.prototype,{componentTransformTool:{get:function(){var e=this._componentTransformTool;return jg(e)||console.error("TransformTool控件未初始化可以使用viewer3D.controlManager.enableTool方法初始化控件"),e}}});var xm=function(){function e(t,i){ru(this,e),this.id=t,this.object=i}return au(e,[{key:"destroy",value:function(){this.object=null}},{key:"_inDistanceRange",value:function(e,t){return e>=t.near&&t.far>=e}},{key:"raycast",value:function(e,t,i,n,r){}}]),e}();xm.prototype.destroy=function(){};var wm=function(e){lu(i,e);var t=pu(i);function i(e,n){return ru(this,i),t.call(this,e,n)}return au(i,[{key:"raycast",value:function(e,t,i,n,r,o){var a=[];if(this.object.raycast(e,a),a.length>0){a.sort((function(e,t){return e.distance-t.distance}));for(var s=0,l=a.length;l>s;s+=1){var c=a[s];if(this._inDistanceRange(c.distance,i)&&!n.clipPoint(c.point)){o||(i.far=c.distance-wp.MinusEpsilon),r.push(c);break}}}}}]),i}(xm),Mm=function(e){lu(i,e);var t=pu(i);function i(e,n){return ru(this,i),t.call(this,e,n)}return au(i,[{key:"raycast",value:function(e,t,i,n,r,o){var a=this.object,s=a._indicesGroup;if(s){var l=s[t.userId];if(l){for(var c,h=!1,d=0,u=l.length;u>d;d+=1)if(l[d].nodeId===t.nodeId){c=l[d],h=!0;break}if(h){var p=[];if(a.raycastByIndices(e,p,c),p.length>0){p.sort((function(e,t){return e.distance-t.distance}));for(var g=0,f=p.length;f>g;g+=1){var m=p[g];if(this._inDistanceRange(m.distance,i)&&!n.clipPoint(m.point)){o||(i.far=m.distance-wp.MinusEpsilon),m.userId=c.userId,m.indexInfo=c,r.push(m);break}}}}}}}}]),i}(xm),Em=function(e){lu(i,e);var t=pu(i);function i(e,n){return ru(this,i),t.call(this,e,n)}return au(i,[{key:"raycast",value:function(e,t,i,n,r,o){var a=[];if(this.object.raycastByIndices(e,a,null,t.matrix),a.length>0){a.sort((function(e,t){return e.distance-t.distance}));for(var s=0,l=a.length;l>s;s+=1){var c=a[s];if(this._inDistanceRange(c.distance,i)&&!n.clipPoint(c.point)){o||(i.far=c.distance-wp.MinusEpsilon),c.userId=t.userId,c.matrix=t.matrix,r.push(c);break}}}}}]),i}(xm),Bm=function(e){lu(i,e);var t=pu(i);function i(e,n){return ru(this,i),t.call(this,e,n)}return au(i,[{key:"raycast",value:function(e,t,i,n,r,o){var a=[];if(this.object.raycastByIndices(e,a,t,t.matrix),a.length>0){a.sort((function(e,t){return e.distance-t.distance}));for(var s=0,l=a.length;l>s;s+=1){var c=a[s];if(this._inDistanceRange(c.distance,i)&&!n.clipPoint(c.point)){o||(i.far=c.distance-wp.MinusEpsilon),c.userId=t.userId,c.nodeId=t.nodeId,c.matrix=t.matrix,c.indexInfo=t,r.push(c);break}}}}}]),i}(xm),Sm="\n #ifdef HEIGHT_LIMIT_READ\n uniform mat4 heightLimitOrthoMatrix;\n varying vec3 v_HeightLimitOrthoPosition;\n varying float heightWorld;\n #endif\n",bm="\n #ifdef HEIGHT_LIMIT_READ\n vec4 othPostion = heightLimitOrthoMatrix * modelMatrix * vec4( transformed, 1.0 );//???\n othPostion /= othPostion.w;\n v_HeightLimitOrthoPosition = othPostion.xyz;\n heightWorld = (modelMatrix * vec4( transformed, 1.0 )).y;\n #endif\n",km="\n #ifdef HEIGHT_LIMIT_READ\n varying vec3 v_HeightLimitOrthoPosition;\n uniform sampler2D heightLimitSampler;\n uniform sampler2D heightColorSampler;\n varying float heightWorld;\n\n vec2 postProjToScreen(vec2 position)\n {\n vec2 screenPos = position;\n \n return 0.5 *(vec2(screenPos.x, screenPos.y) + 1.0);\n }\n\n float decode_float(vec4 v) {\n vec4 bits = v * 255.0;\n float sign = mix(-1.0, 1.0, step(bits[3], 128.0));\n float expo = floor(mod(bits[3] + 0.1, 128.0)) * 2.0 + floor((bits[2] + 0.1) / 128.0) - 127.0;\n float sig = bits[0] + bits[1] * 256.0 + floor(mod(bits[2] + 0.1, 128.0)) * 256.0 * 256.0;\n return sign * (1.0 + sig / 8388607.0) * pow(2.0, expo);\n }\n\n #endif\n\n #ifdef HEIGHT_LIMIT_WRITE\n uniform float heightLimit;\n uniform bool useHeightLimit;\n\n #define FLOAT_MAX 1.70141184e38\n #define FLOAT_MIN 1.17549435e-38\n lowp vec4 encode_float(highp float v) {\n highp float av = abs(v);\n \n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n \n highp vec4 c = vec4(0,0,0,0);\n \n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp float m = av * pow(2.0, -e) - 1.0;\n \n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n \n //Unpack exponent\n highp float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n \n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n \n //Scale back to range\n return c / 255.0;\n }\n #endif\n",Dm="\n #ifdef HEIGHT_LIMIT_READ\n vec2 heightLimitUV = postProjToScreen(v_HeightLimitOrthoPosition.xy);\n if(heightLimitUV.x >= 0.0 && heightLimitUV.x <= 1.0 && heightLimitUV.y >= 0.0 && heightLimitUV.y <= 1.0)\n {\n vec4 color = texture2D(heightColorSampler, heightLimitUV);\n \n vec4 heightColor = texture2D(heightLimitSampler, heightLimitUV);\n float heightLimit0 = decode_float(heightColor);//unpackRGBAToDepth\n if(color.a > 0.01 &&heightWorld > heightLimit0 && (heightColor != vec4(0.0,0.0,0.0,0.0))) // edge\n {\n gl_FragColor = color;//a?\n }\n }\n #endif\n #ifdef HEIGHT_LIMIT_WRITE\n if(useHeightLimit){\n gl_FragColor = encode_float(heightLimit).abgr;//packDepthToRGBA(heightLimit);//(0-1)\n }\n #endif\n\n",Tm="\n #define PHONG\n varying vec3 vViewPosition;\n #ifndef FLAT_SHADED\n varying 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 #ifdef USE_CLIPPING\n #include <clipping_planes_pars_vertex>\n #endif\n\n uniform mat4 u_CullOrthoMatrix;\n varying vec3 v_CullOrthoPosition;\n\n void main()\n {\n vec4 othPos = u_CullOrthoMatrix * (modelMatrix * vec4(position, 1.0));\n othPos /= othPos.w;\n v_CullOrthoPosition = othPos.xyz;\n\n #include <uv_vertex>\n #include <uv2_vertex>\n #include <color_vertex>\n #include <beginnormal_vertex>\n #include <morphnormal_vertex>\n #include <skinbase_vertex>\n #include <skinnormal_vertex>\n #include <defaultnormal_vertex>\n #ifndef FLAT_SHADED\n vNormal = normalize( transformedNormal );\n #endif\n #include <begin_vertex>\n #include <displacementmap_vertex>\n #include <morphtarget_vertex>\n #include <skinning_vertex>\n\n #ifdef USE_SKINNING\n vec4 wPosition = modelMatrix * skinned;\n #else\n vec4 wPosition = modelMatrix * vec4( transformed, 1.0 );\n #endif\n\n vec4 mvPosition = viewMatrix * wPosition;\n gl_Position = projectionMatrix * mvPosition;\n \n #include <logdepthbuf_vertex>\n vViewPosition = - mvPosition.xyz;\n #ifdef USE_CLIPPING\n #include <clipping_planes_vertex>\n #endif\n #include <worldpos_vertex>\n #include <envmap_vertex>\n #include <shadowmap_vertex>\n #include <fog_vertex>\n }",Rm="\n #define PHONG\n uniform vec3 diffuse;\n uniform vec3 emissive;\n uniform vec3 specular;\n uniform float shininess;\n uniform float opacity;\n #include <common>\n #include <packing>\n #include <dithering_pars_fragment>\n #include <color_pars_fragment>\n #include <uv_pars_fragment>\n #include <uv2_pars_fragment>\n #include <map_pars_fragment>\n #include <alphamap_pars_fragment>\n #include <aomap_pars_fragment>\n #include <lightmap_pars_fragment>\n #include <emissivemap_pars_fragment>\n #include <envmap_pars_fragment>\n #include <gradientmap_pars_fragment>\n #include <fog_pars_fragment>\n #include <bsdfs>\n #include <lights_pars_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 <csm_fragment>\n #ifdef USE_CLIPPING\n #include <clipping_planes_pars_fragment>\n #endif\n\n uniform float brightness;\n uniform float contrast;\n uniform float saturation;\n uniform float hue;\n uniform float gamma;\n uniform vec4 customColor;\n uniform float useCustomColor;\n\n varying vec3 v_CullOrthoPosition;\n uniform sampler2D u_SamplerExcavation;\n \n vec2 postProjToScreen(vec2 position)\n {\n vec2 screenPos = position;\n \n return 0.5 *(vec2(screenPos.x, screenPos.y) + 1.0);\n }\n\n vec4 depthColor(vec4 color)\n {\n color.r = color.r * color.r * color.r;\n color.g = color.g * color.g * color.g;\n color.b = color.b * color.b;\n return color;\n }\n\n vec3 computeContrast(vec3 rgb, float contrast)\n {\n vec3 color = mix(vec3(0.5), rgb, contrast);\n color = clamp(color, 0.0, 1.0);\n return color;\n }\n\n vec3 computeHue(vec3 rgb, float adjustment)\n {\n const mat3 toYIQ = mat3(0.299, 0.587, 0.114, 0.595716, -0.274453, -0.321263, 0.211456, -0.522591, 0.311135);\n const mat3 toRGB = mat3(1.0, 0.9563, 0.6210, 1.0, -0.2721, -0.6474, 1.0, -1.107, 1.7046);\n vec3 yiq = toYIQ * rgb;\n float hue = atan(yiq.z, yiq.y) + adjustment;\n float chroma = sqrt(yiq.z * yiq.z + yiq.y * yiq.y);\n vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue));\n vec3 final = toRGB * color;\n final = clamp(final, 0.0, 1.0);\n return final;\n }\n\n vec3 computeSaturation(vec3 rgb, float adjustment)\n {\n const vec3 W = vec3(0.2125, 0.7154, 0.0721);\n vec3 intensity = vec3(dot(rgb, W));\n vec3 color = mix(intensity, rgb, adjustment);\n color = clamp(color, 0.0, 1.0);\n return color;\n }\n\n vec4 sampleAndBlend(float useCustom, vec4 customColor, vec4 earthColor, float brightness, float contrast, float hue, float saturation, float gamma)\n {\n vec4 value = earthColor;\n if (useCustom == 1.0) {\n value = depthColor(value);\n value.rgb *= customColor.rgb;\n }\n vec3 color = value.rgb;\n float alpha = value.a;\n \n //brightness\n color = mix(vec3(0.0, 0.0, 0.0), color, brightness);\n \n //contrast\n color = computeContrast(color, contrast);\n\n //hue\n color = computeHue(color, hue);\n\n //saturation\n color = computeSaturation(color, saturation);\n\n //gamma\n color = pow(color, vec3(gamma));\n\n return vec4(color, alpha);\n }\n\n void main()\n {\n vec2 uv = postProjToScreen(v_CullOrthoPosition.xy);\n if(uv.x >= 0.0 && uv.x <= 1.0 && uv.y >= 0.0 && uv.y <= 1.0)\n {\n vec4 color = texture2D(u_SamplerExcavation, uv);\n if(color.r > 0.0001)\n {\n discard;\n }\n }\n \n #ifdef USE_CLIPPING\n #include <clipping_planes_fragment>\n #endif\n\n vec4 diffuseColor = vec4( diffuse, opacity );\n ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n vec3 totalEmissiveRadiance = emissive;\n #include <logdepthbuf_fragment>\n #include <map_fragment>\n #include <color_fragment>\n #include <alphamap_fragment>\n #include <alphatest_fragment>\n #include <specularmap_fragment>\n #include <normal_fragment_maps>\n #include <normal_fragment_begin>\n #include <emissivemap_fragment>\n #include <lights_phong_fragment>\n \n GeometricContext geometry;\n geometry.position = - vViewPosition;\n geometry.normal = normal;\n geometry.viewDir = normalize( vViewPosition );\n IncidentLight directLight;\n #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) && defined( USE_CSM )\n DirectionalLight directionalLight;\n float shadowValue = calcShadowFactor(geometry.normal);\n shadowValue = max(shadowValue, 0.1);\n #ifdef USE_SHADOWMAP\n if(opacity > 0.9)\n diffuseColor.rgb *= shadowValue;\n #endif\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 4; i < NUM_DIR_LIGHTS; i ++ ) {\n directionalLight = directionalLights[ i ];\n getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n #if defined( USE_SHADOWMAP ) && (NUM_DIR_LIGHT_SHADOWS > 0) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[i - 4];\n if(opacity > 0.9)\n diffuseColor.rgb *= all( bvec2(receiveShadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i - 4 ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i - 4 ] ) : 1.0;\n #endif\n }\n #pragma unroll_loop_end\n #endif\n\n #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) && !defined( USE_CSM )\n DirectionalLight directionalLight;\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n directionalLight = directionalLights[ i ];\n getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n #if defined( USE_SHADOWMAP ) && (NUM_DIR_LIGHT_SHADOWS > 0) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[ i ];\n if(opacity > 0.9)\n diffuseColor.rgb *= all( bvec2( receiveShadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n #endif\n }\n #pragma unroll_loop_end\n #endif\n \n vec3 outgoingLight = diffuseColor.rgb;\n #include <envmap_fragment>\n vec4 resultColor = vec4( outgoingLight, diffuseColor.a );\n gl_FragColor = sampleAndBlend(useCustomColor, customColor, resultColor, brightness, contrast, hue, saturation, gamma);\n\n #include <tonemapping_fragment>\n #include <encodings_fragment>\n #include <fog_fragment>\n #include <premultiplied_alpha_fragment>\n #include <dithering_fragment>\n }",Um="\n #ifdef USE_ATTRIBUTE_SIZE\n attribute float attrSize;\n #endif\n uniform float size;\n uniform float scale;\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 void main() {\n #include <color_vertex>\n #include <begin_vertex>\n #include <project_vertex>\n #ifdef USE_ATTRIBUTE_SIZE\n gl_PointSize = attrSize;\n #else\n #ifdef USE_SIZEATTENUATION\n gl_PointSize = size * ( scale / - mvPosition.z );\n #else\n gl_PointSize = size;\n #endif\n #endif\n #ifdef USE_POSITION_OFFSET\n float yPos = gl_Position.y;\n float w = gl_Position.w;\n yPos /= w;\n yPos += 0.5 * gl_PointSize / scale;\n yPos *= w;\n gl_Position.y = yPos;\n #endif\n #include <logdepthbuf_vertex>\n #include <clipping_planes_vertex>\n #include <worldpos_vertex>\n #include <fog_vertex>\n }",Fm="\n uniform vec3 diffuse;\n uniform float opacity;\n #include <common>\n #include <packing>\n #include <color_pars_fragment>\n #include <map_particle_pars_fragment>\n #include <fog_pars_fragment>\n #include <shadowmap_pars_fragment>\n #include <logdepthbuf_pars_fragment>\n #include <clipping_planes_pars_fragment>\n void main() {\n #include <clipping_planes_fragment>\n vec3 outgoingLight = vec3( 0.0 );\n vec4 diffuseColor = vec4( diffuse, opacity );\n #include <logdepthbuf_fragment>\n #include <map_particle_fragment>\n #include <color_fragment>\n #include <alphatest_fragment>\n outgoingLight = diffuseColor.rgb;\n gl_FragColor = vec4( outgoingLight, diffuseColor.a );\n #include <premultiplied_alpha_fragment>\n #include <tonemapping_fragment>\n #include <encodings_fragment>\n #include <fog_fragment>\n }",Qm="\n #ifdef VIDEO_CAST_MODE\n const int MAX_VIDEO_CAST_COUNT = 4;\n uniform int videoCastCount;\n struct VideoCastContent {\n mat4 viewProjMatrix;\n mat4 viewMatrix;\n float logDepthBufFC;\n };\n\n uniform VideoCastContent videoCastContents[ MAX_VIDEO_CAST_COUNT ];\n varying float videoCastFragDepth[MAX_VIDEO_CAST_COUNT];\n varying vec3 videoCastWorldPosition;\n #endif\n",Lm="\n #ifdef VIDEO_CAST_MODE\n const int MAX_VIDEO_CAST_COUNT = 4;\n uniform int videoCastCount;\n uniform sampler2D videoCastDepthMaps[ MAX_VIDEO_CAST_COUNT ];\n uniform sampler2D videoCastProjectorMaps[ MAX_VIDEO_CAST_COUNT];\n\n struct VideoCastContent {\n mat4 viewProjMatrix;\n mat4 viewMatrix;\n float logDepthBufFC;\n };\n\n uniform VideoCastContent videoCastContents[ MAX_VIDEO_CAST_COUNT ];\n varying float videoCastFragDepth[MAX_VIDEO_CAST_COUNT];\n varying vec3 videoCastWorldPosition;\n \n float toLinearDepth(float fragCoordZ, float near, float far)\n {\n float viewZ = perspectiveDepthToViewZ( fragCoordZ, near, far );\n return viewZToOrthographicDepth( viewZ, near, far );\n }\n\n float sampleDepthMap(sampler2D depthMap, vec2 uv){\n vec4 depthColor = texture2D(depthMap, uv);\n return unpackRGBAToDepth(depthColor);\n }\n\n float videoCastDepthCompare(sampler2D depthMap, vec2 uv, float depth){\n return step(depth, sampleDepthMap(depthMap, uv));\n }\n\n float videoCastVisibility(sampler2D depthMap, vec2 uv, float depth, float depthBias){\n depth -= depthBias;\n vec2 texelStepSize = 1.0 / vec2(1024.0, 1024.0);\n float radius = 1.0;\n float dx0 = -texelStepSize.x * radius;\n float dy0 = -texelStepSize.y * radius;\n float dx1 = texelStepSize.x * radius;\n float dy1 = texelStepSize.y * radius;\n float visibility =\n (\n videoCastDepthCompare(depthMap, uv, depth) +\n videoCastDepthCompare(depthMap, uv + vec2(dx0, dy0), depth) +\n videoCastDepthCompare(depthMap, uv + vec2(0.0, dy0), depth) +\n videoCastDepthCompare(depthMap, uv + vec2(dx1, dy0), depth) +\n videoCastDepthCompare(depthMap, uv + vec2(dx0, 0.0), depth) +\n videoCastDepthCompare(depthMap, uv + vec2(dx1, 0.0), depth) +\n videoCastDepthCompare(depthMap, uv + vec2(dx0, dy1), depth) +\n videoCastDepthCompare(depthMap, uv + vec2(0.0, dy1), depth) +\n videoCastDepthCompare(depthMap, uv + vec2(dx1, dy1), depth)\n ) * (1.0 / 9.0)\n ;\n return visibility;\n }\n #endif\n",Om="\n #ifdef VIDEO_CAST_MODE\n for (int i=0; i<MAX_VIDEO_CAST_COUNT; i++)\n {\n if (i >= videoCastCount)\n {\n break;\n }\n vec4 videoCastProjPosition = videoCastContents[i].viewProjMatrix * vec4(vsWorldPosition.xyz, 1.0);\n float fragDepth = 1.0 + videoCastProjPosition.w;\n videoCastFragDepth[i] = fragDepth;\n }\n videoCastWorldPosition = vsWorldPosition.xyz;\n #endif\n",Nm="\n #ifdef VIDEO_CAST_MODE\n vec3 resultColor = gl_FragColor.rgb;\n for (int i=0; i<MAX_VIDEO_CAST_COUNT; i++)\n {\n if (i >= videoCastCount)\n {\n break;\n }\n vec4 videoCastViewPosition = videoCastContents[i].viewMatrix * vec4(videoCastWorldPosition, 1.0);\n vec4 videoCastClipPosition = videoCastContents[i].viewProjMatrix * vec4(videoCastWorldPosition, 1.0);\n videoCastClipPosition = videoCastClipPosition / videoCastClipPosition.w;\n vec3 videoCastUV = videoCastClipPosition.xyz * 0.5 + 0.5;\n\n vec4 textureColor = texture2D(videoCastProjectorMaps[i], videoCastUV.xy);\n \n float fragDistance = length(videoCastViewPosition.xyz);\n if(videoCastUV.x >= 0.0 && videoCastUV.x <= 1.0 &&\n videoCastUV.y >=0.0 && videoCastUV.y <= 1.0 &&\n videoCastUV.z >=0.0 && videoCastUV.z <= 1.0)\n {\n float fragZ = log2( videoCastFragDepth[i] ) * videoCastContents[i].logDepthBufFC * 0.5;\n vec4 depthColor = texture2D(videoCastDepthMaps[i], videoCastUV.xy);\n float closetDepth = unpackRGBAToDepth(depthColor);\n float depthBias = 0.002 + smoothstep(100.0, 1000.0, fragDistance) * 0.058;\n \n if (fragZ - depthBias < closetDepth)\n {\n resultColor = textureColor.rgb;\n }\n }\n }\n\n gl_FragColor.rgb = resultColor;\n #endif\n",Pm="\n #ifdef VIEW_SHED_MODE\n const int MAX_VIEWSHED_COUNT = 4;\n uniform int viewshedCount;\n struct ViewshedContent {\n mat4 viewshedViewProjMatrix;\n mat4 viewshedViewMatrix;\n vec4 viewshedVisibleColor;\n vec4 viewshedHiddenColor;\n vec2 viewshedMinMax;\n float viewshedLogDepthBufFC;\n\t\t};\n uniform ViewshedContent viewshedContents[ MAX_VIEWSHED_COUNT ];\n varying float viewshedFragDepth[MAX_VIEWSHED_COUNT];\n varying vec3 viewshedWorldPosition;\n #endif\n",Gm="\n #ifdef VIEW_SHED_MODE\n const int MAX_VIEWSHED_COUNT = 4;\n uniform int viewshedCount;\n uniform sampler2D viewshedDepthMaps[ MAX_VIEWSHED_COUNT ];\n\n struct ViewshedContent {\n mat4 viewshedViewProjMatrix;\n mat4 viewshedViewMatrix;\n vec4 viewshedVisibleColor;\n vec4 viewshedHiddenColor;\n vec2 viewshedMinMax;\n float viewshedLogDepthBufFC;\n\t\t};\n\n uniform ViewshedContent viewshedContents[ MAX_VIEWSHED_COUNT ];\n varying float viewshedFragDepth[MAX_VIEWSHED_COUNT];\n varying vec3 viewshedWorldPosition;\n \n float toLinearDepth(float fragCoordZ, float near, float far)\n {\n float viewZ = perspectiveDepthToViewZ( fragCoordZ, near, far );\n\t\t\treturn viewZToOrthographicDepth( viewZ, near, far );\n }\n\n float sampleDepthMap(sampler2D depthMap, vec2 uv){\n vec4 depthColor = texture2D(depthMap, uv);\n return unpackRGBAToDepth(depthColor);\n }\n\n float viewshedDepthCompare(sampler2D depthMap, vec2 uv, float depth){\n return step(depth, sampleDepthMap(depthMap, uv));\n }\n\n float viewshedVisibility(sampler2D depthMap, vec2 uv, float depth, float depthBias){\n depth -= depthBias;\n vec2 texelStepSize = 1.0 / vec2(1024.0, 1024.0);\n float radius = 1.0;\n float dx0 = -texelStepSize.x * radius;\n float dy0 = -texelStepSize.y * radius;\n float dx1 = texelStepSize.x * radius;\n float dy1 = texelStepSize.y * radius;\n float visibility =\n (\n viewshedDepthCompare(depthMap, uv, depth) +\n viewshedDepthCompare(depthMap, uv + vec2(dx0, dy0), depth) +\n viewshedDepthCompare(depthMap, uv + vec2(0.0, dy0), depth) +\n viewshedDepthCompare(depthMap, uv + vec2(dx1, dy0), depth) +\n viewshedDepthCompare(depthMap, uv + vec2(dx0, 0.0), depth) +\n viewshedDepthCompare(depthMap, uv + vec2(dx1, 0.0), depth) +\n viewshedDepthCompare(depthMap, uv + vec2(dx0, dy1), depth) +\n viewshedDepthCompare(depthMap, uv + vec2(0.0, dy1), depth) +\n viewshedDepthCompare(depthMap, uv + vec2(dx1, dy1), depth)\n ) * (1.0 / 9.0)\n ;\n return visibility;\n }\n #endif\n",Km="\n #ifdef VIEW_SHED_MODE\n for (int i=0; i<MAX_VIEWSHED_COUNT; i++)\n {\n if (i >= viewshedCount)\n {\n break;\n }\n vec4 viewshedProjPosition = viewshedContents[i].viewshedViewProjMatrix * vec4(vsWorldPosition.xyz, 1.0);\n float fragDepth = 1.0 + viewshedProjPosition.w;\n viewshedFragDepth[i] = fragDepth;\n }\n viewshedWorldPosition = vsWorldPosition.xyz;\n #endif\n",Vm="\n #ifdef VIEW_SHED_MODE\n vec3 resultColor = gl_FragColor.rgb;\n for (int i=0; i<MAX_VIEWSHED_COUNT; i++)\n {\n if (i >= viewshedCount)\n {\n break;\n }\n vec4 visibleColor = viewshedContents[i].viewshedVisibleColor;\n vec4 hiddenColor = viewshedContents[i].viewshedHiddenColor;\n vec4 viewshedViewPosition = viewshedContents[i].viewshedViewMatrix * vec4(viewshedWorldPosition, 1.0);\n vec4 viewshedClipPosition = viewshedContents[i].viewshedViewProjMatrix * vec4(viewshedWorldPosition, 1.0);\n viewshedClipPosition = viewshedClipPosition / viewshedClipPosition.w;\n vec3 viewshedUV = viewshedClipPosition.xyz * 0.5 + 0.5;\n\n vec2 minMax = viewshedContents[i].viewshedMinMax;\n float fragDistance = length(viewshedViewPosition.xyz);\n if(fragDistance <= minMax.y &&\n viewshedUV.x >= 0.0 && viewshedUV.x <= 1.0 &&\n viewshedUV.y >=0.0 && viewshedUV.y <= 1.0 &&\n viewshedUV.z >=0.0 && viewshedUV.z <= 1.0)\n {\n float fragZ = log2( viewshedFragDepth[i] ) * viewshedContents[i].viewshedLogDepthBufFC * 0.5;\n vec4 depthColor = texture2D(viewshedDepthMaps[i], viewshedUV.xy);\n float closetDepth = unpackRGBAToDepth(depthColor);\n float depthBias = 0.002 + smoothstep(100.0, 1000.0, fragDistance) * 0.058;\n \n // float visibility = viewshedVisibility(viewshedDepthMaps[i], viewshedUV.xy, fragZ, depthBias);\n // if (visibility == 1.0)\n if (fragZ - depthBias < closetDepth)\n {\n resultColor = mix(visibleColor.rgb, resultColor, 1.0 - visibleColor.a);\n }\n else\n {\n resultColor = mix(hiddenColor.rgb, resultColor, 1.0 - hiddenColor.a);\n }\n }\n }\n\n gl_FragColor.rgb = resultColor;\n #endif\n",Ym="//投影灯光的数量\n#if NUM_PROJECTOR_LIGHTS > 0\n struct ProjectorLight {\n vec3 position;\n mat4 projectorMatrix;\n vec3 color;\n float distance;\n float near;\n float alpha;\n vec4 farPlane;\n int shadow;\n float shadowBias;\n };\n\n uniform ProjectorLight projectorLights[NUM_PROJECTOR_LIGHTS];\n uniform sampler2D projectorTextures[NUM_PROJECTOR_LIGHTS];\n uniform sampler2D projectorAlphaTextures[NUM_PROJECTOR_LIGHTS];\n\n\n void getProjectorDirectLightIrradiance(\n const in ProjectorLight projectorLight,\n const in sampler2D projectorTexture,\n const in sampler2D projectorAlphaTexture,\n const in GeometricContext geometry,\n out IncidentLight directLight)\n {\n vec4 farPlane = projectorLight.farPlane;\n vec3 lVector = projectorLight.position - geometry.position;\n float lightDistance = length( lVector );\n directLight.direction = normalize( lVector );\n vec4 projected = projectorLight.projectorMatrix * vec4(geometry.position, 1.0);\n vec2 projectorUv = 0.5 * (projected.xy / projected.w) + vec2(0.5);\n\n directLight.visible = all(bvec3(\n all(lessThanEqual(projectorUv.xy, vec2(1.0))),\n all(greaterThanEqual(projectorUv.xy, vec2(0.0))),\n projected.z >= 0.0\n ));\n\n if(dot( farPlane.xyz, vWorldPosition) + farPlane.w < 0.0){\n directLight.visible = false;\n }\n\n if (directLight.visible) {\n\n directLight.color = texture2D(projectorTexture, projectorUv).rgb * projectorLight.color;\n directLight.alpha = 1.0;\n \n #if defined(USE_PROJECTORALPHAMAP)\n directLight.alpha = texture2D(projectorAlphaTexture, projectorUv).a;\n #endif\n\n\n } else {\n directLight.color = vec3( 0.0 );\n }\n }\n\n\n \n#endif\n\n",Hm="\n//如果投影灯光的数量大于0\n #if ( NUM_PROJECTOR_LIGHTS > 0 ) && defined( RE_Direct )\n ProjectorLight projectorLight;\n \n //保存模型的原始颜色\n vec3 resColor = gl_FragColor.rgb;\n\n #ifdef USE_PROJECTOR_SHADOWMAP\n // resColor = vec3(1.0);\n #endif\n\n for ( int i = 0; i < NUM_PROJECTOR_LIGHTS; i ++ ) {\n \n projectorLight = projectorLights[ i ];\n \n getProjectorDirectLightIrradiance(projectorLight, projectorTextures[ i], projectorAlphaTextures[ i ], geometry, directLight);\n \n vec3 currentColor = mix(resColor, directLight.color, directLight.alpha);\n \n //不处于阴影\n float isShadow = 1.0;\n\n #ifdef USE_PROJECTOR_SHADOWMAP\n\n isShadow = getShadow2(\n projectorShadowMap[ i ],\n projectorLight.shadowBias,\n vProjectorShadowCoord[ i ]\n ) * directLight.alpha;\n\n float alpha = all( bvec2( projectorLight.shadow, directLight.visible ) )\n ? isShadow : 0.0;\n\n //如果阴影开启\n if(projectorLight.shadow == 1){\n resColor = mix(resColor, directLight.color, alpha * projectorLight.alpha);\n } else if(directLight.visible){\n resColor = mix(gl_FragColor.rgb, currentColor, projectorLight.alpha);\n }\n\n #else\n\n //如果当前处于灯光范围内\n if(directLight.visible){\n resColor = mix(gl_FragColor.rgb, currentColor, projectorLight.alpha);\n }\n\n #endif\n\n RE_Direct( directLight, geometry, material, reflectedLight );\n\n }\n\n gl_FragColor.rgb = resColor;\n\n\n \n \n #endif";xn.projector_lights_pars_begin=Ym,xn.projectorLight_fragment=Hm,xn.projectorLight_pars_vertex="#ifdef USE_PROJECTOR_SHADOWMAP\n #if NUM_PROJECTOR_LIGHTS > 0\n uniform mat4 projectorShadowMatrix[ NUM_PROJECTOR_LIGHTS ];\n varying vec4 vProjectorShadowCoord[ NUM_PROJECTOR_LIGHTS ];\n #endif\n#endif",xn.projectorLight_shadowmap_vertex="#ifdef USE_PROJECTOR_SHADOWMAP\n #if NUM_PROJECTOR_LIGHTS > 0\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_PROJECTOR_LIGHTS; i ++ ) {\n vProjectorShadowCoord[ i ] = projectorShadowMatrix[ i ] * worldPosition;\n }\n #pragma unroll_loop_end\n #endif\n#endif\n",xn.projectorLight_pars_fragment="#ifdef USE_PROJECTOR_SHADOWMAP\n #if NUM_PROJECTOR_LIGHTS > 0\n uniform sampler2D projectorShadowMap[ NUM_PROJECTOR_LIGHTS ];\n varying vec4 vProjectorShadowCoord[ NUM_PROJECTOR_LIGHTS ];\n #endif\n\n float texture2DCompare2( sampler2D depths, vec2 uv, float compare ) {\n\n return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\n }\n\n float getShadow2( sampler2D shadowMap, float shadowBias, vec4 shadowCoord ) {\n \n float shadow = 1.0;\n\n shadowCoord.xyz /= shadowCoord.w;\n shadowCoord.z += shadowBias * 0.00001;\n\n bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n bool inFrustum = all( inFrustumVec );\n\n bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n bool frustumTest = all( frustumTestVec );\n \n if ( frustumTest ) {\n // shadow = step( shadowCoord.z, unpackRGBAToDepth( texture2D( shadowMap, shadowCoord.xy ) ) );\n\n \n vec2 shadowMapSize = vec2(1024.0, 1024.0);\n\n vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n float dx = texelSize.x;\n float dy = texelSize.y;\n\n vec2 uv = shadowCoord.xy;\n vec2 f = fract( uv * shadowMapSize + 0.5 );\n uv -= f * texelSize;\n\n shadow = (\n texture2DCompare2( shadowMap, uv, shadowCoord.z ) +\n texture2DCompare2( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n texture2DCompare2( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n texture2DCompare2( shadowMap, uv + texelSize, shadowCoord.z ) +\n mix( texture2DCompare2( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n texture2DCompare2( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare2( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n texture2DCompare2( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n f.x ) +\n mix( texture2DCompare2( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n texture2DCompare2( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( texture2DCompare2( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n texture2DCompare2( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n f.y ) +\n mix( mix( texture2DCompare2( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n texture2DCompare2( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n f.x ),\n mix( texture2DCompare2( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n texture2DCompare2( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n f.x ),\n f.y )\n ) * ( 1.0 / 9.0 );\n\n\n }\n\n return shadow;\n }\n#endif";var jm=["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"),Wm=["#ifdef DOUBLE_SIDED"," float flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );","#else"," float flipNormal = 1.0;","#endif\n"].join("\n"),Jm=["#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"),zm=["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"),qm=["#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_begin>","#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>","#include <lights_physical_pars_fragment>","#include <envmap_common_pars_fragment>","#include <envmap_physical_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_begin>"," #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 <premultiplied_alpha_fragment>"," #include <dithering_fragment>"," #include <fog_fragment>","}"].join("\n"),Zm=["#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"),Xm=["#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"),_m=["#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_begin>","#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_begin>","#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 <premultiplied_alpha_fragment>","#include <dithering_fragment>","#include <fog_fragment>","}"].join("\n"),$m=["#define BOS3DPHYSICAL","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 vClipping;"," varying float fClipping;"," attribute float vMirror;"," attribute vec4 aColor;"," varying vec4 vaColor;"," attribute vec3 mcol0;"," attribute vec3 mcol1;"," attribute vec3 mcol2;"," attribute vec3 mcol3;"," #if defined(USE_LIGHTMAP)"," attribute vec4 uv2OffsetRepeat;"," #endif","#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>",xn.projectorLight_pars_vertex,"#include <logdepthbuf_pars_vertex>","#include <clipping_planes_pars_vertex>","#include <view_shed_pars_vertex>","#include <video_cast_pars_vertex>","varying vec4 wPositionForInnerClipping;","#ifdef USE_FILLPATTERN"," varying vec4 vClipPosition;","#endif","#include <heightLimit_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>","#include <uv2_vertex>"," #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;","fClipping = vClipping;"," #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 = transposeMat3(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;","#ifdef USE_FILLPATTERN"," vClipPosition = gl_Position;","#endif","wPositionForInnerClipping = modelMatrix * vec4( transformed, 1.0 );","#include <heightLimit_vertex>"," // 热力图"," #if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )|| defined(HEATMAPPOINTSCOUNT) || defined(PROJECTORLIGHT)"," vec4 worldPosition = vec4( transformed, 1.0 );"," #ifdef USE_INSTANCING"," worldPosition = instanceMatrix * worldPosition;"," #endif"," worldPosition = modelMatrix * worldPosition;"," vWorldPosition = vec3(worldPosition.xyz);"," #endif"," #include <shadowmap_vertex>",xn.projectorLight_shadowmap_vertex," #include <fog_vertex>","#ifdef USE_INSTANCE"," if (vMirror <= - 0.01){"," vNormal = vNormal * - 1.0;}","#endif","vec3 vsWorldPosition = vec3(modelMatrix * vec4(transformed, 1.0));","#include <view_shed_vertex>","#include <video_cast_vertex>","}"].join("\n"),eA=["#define BOS3DPHYSICAL","#ifdef PHYSICAL"," #define REFLECTIVITY"," #define CLEARCOAT","#endif","uniform vec3 diffuse;","uniform vec3 emissive;","uniform float roughness;","uniform float metalness;","uniform float opacity;","uniform float imageFade;","#ifndef STANDARD","uniform float clearCoat;","uniform float clearCoatRoughness;","#endif","#ifdef USE_TRANSMISSION"," uniform float transmission;"," uniform float thickness;"," uniform vec3 attenuationColor;"," uniform float attenuationDistance;","#endif","#ifdef REFLECTIVITY"," uniform float reflectivity;","#endif","#ifdef CLEARCOAT"," uniform float clearcoat;"," uniform float clearcoatRoughness;","#endif","#ifdef USE_SHEEN"," uniform vec3 sheen;","#endif","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;"," varying float fClipping;","#endif","#ifdef USE_FILLPATTERN"," uniform vec2 viewportSize;"," uniform sampler2D fillMap;"," varying vec4 vClipPosition;","#endif","varying vec4 wPositionForInnerClipping;","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 blinkCoefficient;","uniform float colorState;","uniform int localClipping;","uniform int innerClipping;","uniform mat4 orthoViewProjMatrix;","#include <heightLimit_pars_fragment>","#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 <transmission_pars_fragment>","#include <cube_uv_reflection_fragment>","#include <envmap_common_pars_fragment>","#include <envmap_physical_pars_fragment>","#include <fog_pars_fragment>","#include <lights_pars_begin>",xn.projector_lights_pars_begin,"#include <lights_physical_pars_fragment>","#include <shadowmap_pars_fragment>",xn.projectorLight_pars_fragment,"#include <bumpmap_pars_fragment>","#include <normalmap_pars_fragment>","#include <clearcoat_pars_fragment>","#include <roughnessmap_pars_fragment>","#include <metalnessmap_pars_fragment>","#include <logdepthbuf_pars_fragment>","#include <csm_fragment>","#include <clipping_planes_pars_fragment>","#include <view_shed_pars_fragment>","#include <video_cast_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>","#ifdef USE_FILLPATTERN"," vec4 clipPosition = vClipPosition;"," clipPosition.xyz /= clipPosition.w; "," clipPosition.xyz = clipPosition.xyz * 0.5 + 0.5; "," vec2 screenPosition = vec2(clipPosition.x * viewportSize.x, clipPosition.y * viewportSize.y);"," float flag = texture2D(fillMap, vec2(screenPosition.x/32.0, screenPosition.y/32.0)).r;"," if(flag == 0.0)"," {"," discard;"," }","#endif"," 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;","#ifndef USE_LIGHTMAP","#endif"," ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );"," vec3 totalEmissiveRadiance = emissive;","#ifdef USE_TRANSMISSION"," float totalTransmission = transmission;"," float thicknessFactor = thickness;","#endif"," #include <logdepthbuf_fragment>","vec4 gamaColor = diffuseColor ;"," #ifdef USE_MAP"," vec4 texelColor = texture2D( map, vUv );"," texelColor = mapTexelToLinear( texelColor );"," float map_opacity=1.0;"," #ifdef USE_MAP_ALPHA"," map_opacity=texelColor.a;"," #endif"," diffuseColor = vec4( mix(diffuseColor.rgb , texelColor.rgb, imageFade),map_opacity * opacity);"," #ifdef USE_INSTANCE"," if (floatNotEqual(fState, 0.0)) "," diffuseColor = vaColor;"," if (floatEqual(fState, 3.0))"," diffuseColor = gamaColor;"," #endif"," #endif"," #include <color_fragment>","#include <alphamap_fragment_override>"," #include <alphatest_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>","vec3 rawDiffuseColor = diffuseColor.rgb;","#ifdef USE_INSTANCE"," if (floatEqual(fState, 3.0)){"," roughnessFactor = 1.0;"," metalnessFactor = 0.0;"," }","#endif"," #include <transmission_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","#if defined( TONE_MAPPING )"," #if defined(USE_LIGHTMAP)"," #else"," gl_FragColor.rgb = toneMapCanonFilmic( gl_FragColor.rgb );"," #endif","#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","#ifdef USE_INSTANCE"," if (floatEqual(fState, 5.0) && floatEqual(colorState, 1.0)){"," gl_FragColor = mix(gl_FragColor, blinkColor, blinkCoefficient);"," }","#else"," if (floatEqual(colorState, 1.0))"," gl_FragColor = mix(gl_FragColor, blinkColor, blinkCoefficient);"," #ifdef NOTAFFECTEDBYLIGHT"," if (floatEqual(colorState, 2.0))"," gl_FragColor = selectedColor;"," #endif","#endif","#include <view_shed_fragment>","#include <video_cast_fragment>","#ifndef USE_LIGHTMAP"," #include <encodings_fragment>","#endif","#include <heightLimit_fragment>","#include <premultiplied_alpha_fragment>","#include <dithering_fragment>","#include <fog_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",xn.projectorLight_fragment,"}"].join("\n"),tA=function(e,t,i){return e.replace(t,i)};xn.lights_pars=jm,xn.meshphong_id_vert=Zm,xn.lights_fillFace_template=zm,xn.lights_template="\n GeometricContext geometry;\n\n geometry.position = - vViewPosition;\n geometry.normal = normal;\n geometry.viewDir = normalize( vViewPosition );\n \n IncidentLight directLight;\n \n #if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n \n PointLight pointLight;\n #if defined( USE_SHADOWMAP ) && (NUM_POINT_LIGHT_SHADOWS > 0)\n PointLightShadow pointLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n \n pointLight = pointLights[ i ];\n getPointDirectLightIrradiance( pointLight, geometry, directLight );\n \n #if defined( USE_SHADOWMAP ) && (NUM_POINT_LIGHT_SHADOWS > 0) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n pointLightShadow = pointLightShadows[ i ];;\n directLight.color *= all( bvec2( receiveShadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\n #endif\n \n RE_Direct( directLight, geometry, material, reflectedLight );\n \n }\n #pragma unroll_loop_end\n \n #endif\n \n #if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n \n SpotLight spotLight;\n\n #if defined( USE_SHADOWMAP ) && (NUM_SPOT_LIGHT_SHADOWS > 0)\n SpotLightShadow spotLightShadow;\n #endif\n \n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n \n spotLight = spotLights[ i ];\n getSpotDirectLightIrradiance( spotLight, geometry, directLight );\n \n #if defined( USE_SHADOWMAP ) && (NUM_SPOT_LIGHT_SHADOWS > 0) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n spotLightShadow = spotLightShadows[ i ];\n directLight.color *= all( bvec2( receiveShadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n #endif\n \n RE_Direct( directLight, geometry, material, reflectedLight );\n \n }\n #pragma unroll_loop_end\n \n #endif\n \n #if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n \n DirectionalLight directionalLight;\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n #pragma unroll_loop_start\n for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n \n directionalLight = directionalLights[ i ];\n getDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n \n #if defined( USE_SHADOWMAP ) && (NUM_DIR_LIGHT_SHADOWS > 0) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n directionalLightShadow = directionalLightShadows[ i ];\n directLight.color *= all( bvec2( receiveShadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n #endif\n \n RE_Direct( directLight, geometry, material, reflectedLight );\n \n }\n #pragma unroll_loop_end\n \n #endif\n \n #if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n \n RectAreaLight rectAreaLight;\n \n for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n \n rectAreaLight = rectAreaLights[ i ];\n RE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n \n }\n \n #endif\n \n #if defined( RE_IndirectDiffuse )\n \n vec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n \n #ifdef USE_LIGHTMAP\n \n vec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n \n #ifndef PHYSICALLY_CORRECT_LIGHTS\n \n lightMapIrradiance *= PI; // factor of PI should not be present; included here to prevent breakage\n \n #endif\n \n irradiance += lightMapIrradiance;\n \n #endif\n \n #if ( NUM_HEMI_LIGHTS > 0 )\n \n for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n \n irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n \n }\n \n #endif\n \n #if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n \n // TODO, replace 8 with the real maxMIPLevel\n irradiance += getLightProbeIndirectIrradiance( /*lightProbe,*/ geometry, 8 );\n \n #endif\n \n RE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n \n #endif\n \n #if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\n // TODO, replace 8 with the real maxMIPLevel\n vec3 radiance = getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, 8 );\n \n #ifndef STANDARD\n vec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, 8 );\n #else\n vec3 clearCoatRadiance = vec3( 0.0 );\n #endif\n \n RE_IndirectSpecular( radiance, irradiance, clearCoatRadiance, geometry, material, reflectedLight );\n \n #endif\n ",xn.fillFaceFragment=qm,xn.normal_flip=Wm,xn.normal_fragment=Jm,xn.bos3dStandardVertex=$m,xn.bos3dStandardFragment=eA,xn.newStyleVertex=Xm,xn.newStyleFragment=_m,xn.view_shed_pars_vertex=Pm,xn.view_shed_pars_fragment=Gm,xn.view_shed_vertex=Km,xn.view_shed_fragment=Vm,xn.video_cast_pars_vertex=Qm,xn.video_cast_pars_fragment=Lm,xn.video_cast_vertex=Om,xn.video_cast_fragment=Nm,xn.heightLimit_pars_vertex=Sm,xn.heightLimit_vertex=bm,xn.heightLimit_pars_fragment=km,xn.heightLimit_fragment=Dm,xn.map_tile_vertex=Tm,xn.map_tile_fragment=Rm,xn.points_vertex=Um,xn.points_fragment=Fm,xn.depth_parse_fragment="\n uniform float cameraNear;\n uniform float cameraFar;\n uniform mat4 cameraProjection;\n uniform mat4 inverseProjection;\n uniform vec4 viewport;\n\n float getViewZ( const in float depth ) {\n #if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n float near = cameraNear;\n float far = cameraFar;\n float log2Depth = depth * 2.0 / logDepthBufFC;\n float depthFromCamera = pow(2.0, log2Depth) - 1.0;\n float a = far * (1.0 - near / depthFromCamera) / (far - near);\n float viewZ = perspectiveDepthToViewZ( a, cameraNear, cameraFar );\n if (depth == 0.0)\n {\n viewZ = perspectiveDepthToViewZ( 1.0, cameraNear, cameraFar );\n }\n #else\n float viewZ = perspectiveDepthToViewZ( depth, cameraNear, cameraFar );\n #endif\n return viewZ;\n }\n\n vec3 getViewPosition( const in float depth ) {\n #if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n float near = cameraNear;\n float far = cameraFar;\n float log2Depth = depth * 2.0 / logDepthBufFC;\n float depthFromCamera = pow(2.0, log2Depth) - 1.0;\n float x = 2.0 * (gl_FragCoord.x - viewport.x) / viewport.z - 1.0;\n float y = 2.0 * (gl_FragCoord.y - viewport.y) / viewport.w - 1.0;\n float z = 2.0 * (depthFromCamera - near) / (far-near) - 1.0;\n vec4 viewPosition = vec4(x, y, z, 1.0);\n viewPosition *= depthFromCamera;\n viewPosition = inverseProjection * viewPosition;\n #else\n float viewZ = getViewZ(depth);\n float clipW = cameraProjection[2][3] * viewZ + cameraProjection[3][3];\n vec4 clipPosition = vec4( ( vec3( gl_FragCoord.xy / viewport.zw, depth ) - 0.5 ) * 2.0, 1.0 );\n clipPosition *= clipW; //unprojection\n vec4 viewPosition = inverseProjection * clipPosition;\n #endif\n\n return viewPosition.xyz;\n }\n ",xn.csm_fragment="\n uniform vec2 csmCascades[4];\n float calcShadowFactor(vec3 normal)\n {\n float shadowFactor = 1.0;\n #ifdef USE_CSM\n #if ( NUM_DIR_LIGHTS > 0 )\n #ifdef USE_SHADOWMAP\n float viewDepth = vViewPosition.z;\n DirectionalLight directionalLight;\n directionalLight = directionalLights[ 0 ];\n #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n DirectionalLightShadow directionalLightShadow;\n #endif\n directionalLightShadow = directionalLightShadows[ 0 ];\n\n float bias = cos(80.0);\n float biasFactor = 0.8;\n if (viewDepth >= csmCascades[0].x && viewDepth < csmCascades[0].y) {\n shadowFactor = getShadow( directionalShadowMap[ 0 ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ 0 ] );\n float dotNL = dot( normal, directionalLight.direction );\n if (dotNL < bias) {\n shadowFactor = biasFactor;\n }\n }\n\n #if ( NUM_DIR_LIGHTS > 1 )\n directionalLight = directionalLights[ 1 ];\n directionalLightShadow = directionalLightShadows[ 1 ];\n if (viewDepth >= csmCascades[1].x && viewDepth < csmCascades[1].y) {\n shadowFactor = getShadow( directionalShadowMap[ 1 ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ 1 ] );\n float dotNL = dot( normal, directionalLight.direction );\n if (dotNL < bias) {\n shadowFactor = biasFactor;\n }\n }\n #endif\n\n #if ( NUM_DIR_LIGHTS > 2 )\n directionalLight = directionalLights[ 2 ];\n directionalLightShadow = directionalLightShadows[ 2 ];\n if (viewDepth >= csmCascades[2].x && viewDepth < csmCascades[2].y) {\n shadowFactor = getShadow( directionalShadowMap[ 2 ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ 2 ] );\n float dotNL = dot( normal, directionalLight.direction );\n if (dotNL < bias) {\n shadowFactor = biasFactor;\n }\n }\n #endif\n\n #if ( NUM_DIR_LIGHTS > 3 )\n directionalLight = directionalLights[ 3 ];\n directionalLightShadow = directionalLightShadows[ 3 ];\n if (viewDepth >= csmCascades[3].x && viewDepth < csmCascades[3].y) {\n shadowFactor = getShadow( directionalShadowMap[ 3 ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ 3 ] );\n float dotNL = dot( normal, directionalLight.direction );\n if (dotNL < bias) {\n shadowFactor = biasFactor;\n }\n }\n #endif\n #endif\n #endif\n #endif\n shadowFactor = max(shadowFactor, 0.0);\n return shadowFactor;\n }\n ",xn.alphamap_fragment_override="#if !defined(USE_MAP_ALPHA)&&defined(USE_ALPHAMAP)\n diffuseColor.a *= texture2D( map, vUv ).a;\n #endif\n",xn.shadowmap_pars_fragment="\n#ifdef USE_SHADOWMAP\n\n #if NUM_DIR_LIGHT_SHADOWS > 0\n\n uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\n struct DirectionalLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n\n uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\n #endif\n\n #if NUM_SPOT_LIGHT_SHADOWS > 0\n\n uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n varying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\n struct SpotLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n };\n\n uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\n #endif\n\n #if NUM_POINT_LIGHT_SHADOWS > 0\n\n uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\n struct PointLightShadow {\n float shadowBias;\n float shadowNormalBias;\n float shadowRadius;\n vec2 shadowMapSize;\n float shadowCameraNear;\n float shadowCameraFar;\n };\n\n uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\n #endif\n\n /*\n #if NUM_RECT_AREA_LIGHTS > 0\n\n // TODO (abelnation): create uniforms for area light shadows\n\n #endif\n */\n\n float texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\n return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\n }\n\n vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\n return unpackRGBATo2Half( texture2D( shadow, uv ) );\n\n }\n\n float VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\n float occlusion = 1.0;\n\n vec2 distribution = texture2DDistribution( shadow, uv );\n\n float hard_shadow = step( compare , distribution.x ); // Hard Shadow\n\n if (hard_shadow != 1.0 ) {\n\n float distance = compare - distribution.x ;\n float variance = max( 0.00000, distribution.y * distribution.y );\n float softness_probability = variance / (variance + distance * distance ); // Chebeyshevs inequality\n softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); // 0.3 reduces light bleed\n occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\n }\n return occlusion;\n\n }\n\n float texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n const vec2 offset = vec2( 0.0, 1.0 );\n vec2 texelSize = vec2( 1.0 ) / size;\n vec2 centroidUV = floor( uv * size + 0.5 ) / size;\n float lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n float lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n float rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n float rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n vec2 f = fract( uv * size + 0.5 );\n float a = mix( lb, lt, f.y );\n float b = mix( rb, rt, f.y );\n float c = mix( a, b, f.x );\n return c;\n }\n \n float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\n float shadow = 1.0;\n\n shadowCoord.xyz /= shadowCoord.w;\n shadowCoord.z += shadowBias;\n\n // if ( something && something ) breaks ATI OpenGL shader compiler\n // if ( all( something, something ) ) using this instead\n\n bvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n bool inFrustum = all( inFrustumVec );\n\n bvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\n bool frustumTest = all( frustumTestVec );\n\n if ( frustumTest ) {\n\n #if defined( SHADOWMAP_TYPE_PCF )\n\n vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\n float dx0 = - texelSize.x * shadowRadius;\n float dy0 = - texelSize.y * shadowRadius;\n float dx1 = + texelSize.x * shadowRadius;\n float dy1 = + texelSize.y * shadowRadius;\n float dx2 = dx0 / 2.0;\n float dy2 = dy0 / 2.0;\n float dx3 = dx1 / 2.0;\n float dy3 = dy1 / 2.0;\n\n shadow = (\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n ) * ( 1.0 / 17.0 );\n\n #elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n vec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n float dx0 = - texelSize.x * shadowRadius;\n float dy0 = - texelSize.y * shadowRadius;\n float dx1 = + texelSize.x * shadowRadius;\n float dy1 = + texelSize.y * shadowRadius;\n return (\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n texture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n ) * ( 1.0 / 9.0 );\n\n #elif defined( SHADOWMAP_TYPE_VSM )\n\n shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\n #else // no percentage-closer filtering:\n\n shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\n #endif\n\n }\n\n return shadow;\n\n }\n\n // cubeToUV() maps a 3D direction vector suitable for cube texture mapping to a 2D\n // vector suitable for 2D texture mapping. This code uses the following layout for the\n // 2D texture:\n //\n // xzXZ\n // y Y\n //\n // Y - Positive y direction\n // y - Negative y direction\n // X - Positive x direction\n // x - Negative x direction\n // Z - Positive z direction\n // z - Negative z direction\n //\n // Source and test bed:\n // https://gist.github.com/tschw/da10c43c467ce8afd0c4\n\n vec2 cubeToUV( vec3 v, float texelSizeY ) {\n\n // Number of texels to avoid at the edge of each square\n\n vec3 absV = abs( v );\n\n // Intersect unit cube\n\n float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n absV *= scaleToCube;\n\n // Apply scale to avoid seams\n\n // two texels less per square (one texel will do for NEAREST)\n v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\n // Unwrap\n\n // space: -1 ... 1 range for each square\n //\n // #X## dim := ( 4 , 2 )\n // # # center := ( 1 , 1 )\n\n vec2 planar = v.xy;\n\n float almostATexel = 1.5 * texelSizeY;\n float almostOne = 1.0 - almostATexel;\n\n if ( absV.z >= almostOne ) {\n\n if ( v.z > 0.0 )\n planar.x = 4.0 - v.x;\n\n } else if ( absV.x >= almostOne ) {\n\n float signX = sign( v.x );\n planar.x = v.z * signX + 2.0 * signX;\n\n } else if ( absV.y >= almostOne ) {\n\n float signY = sign( v.y );\n planar.x = v.x + 2.0 * signY + 2.0;\n planar.y = v.z * signY - 2.0;\n\n }\n\n // Transform to UV space\n\n // scale := 0.5 / dim\n // translate := ( center + 0.5 ) / dim\n return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\n }\n\n float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\n vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\n // for point lights, the uniform @vShadowCoord is re-purposed to hold\n // the vector from the light to the world-space position of the fragment.\n vec3 lightToPosition = shadowCoord.xyz;\n\n // dp = normalized distance from light to fragment position\n float dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); // need to clamp?\n dp += shadowBias;\n\n // bd3D = base direction 3D\n vec3 bd3D = normalize( lightToPosition );\n\n #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\n vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\n return (\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n ) * ( 1.0 / 9.0 );\n\n #else // no percentage-closer filtering\n\n return texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\n #endif\n\n }\n\n#endif\n",xn.depth_frag="\n #if DEPTH_PACKING == 3200\n\n uniform float opacity;\n\n#endif\n\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>\n\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n\n #include <clipping_planes_fragment>\n\n vec4 diffuseColor = vec4( 1.0 );\n\n #if DEPTH_PACKING == 3200\n\n diffuseColor.a = opacity;\n\n #endif\n\n #include <map_fragment>\n #include <alphamap_fragment>\n #include <alphatest_fragment>\n\n #include <logdepthbuf_fragment>\n\n // Higher precision equivalent of gl_FragCoord.z. This assumes depthRange has been left to its default values.\n float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\n #if DEPTH_PACKING == 3200\n\n gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\n #elif DEPTH_PACKING == 3201\n\n gl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\n #endif\n\n}\n",xn.bos3d_mesh_physical_frag=tA(xn.meshphysical_frag,"#include <alphamap_fragment>","#include <alphamap_fragment_override>"),xn.bos3d_mesh_basic_frag=tA(xn.meshbasic_frag,"#include <alphamap_fragment>","#include <alphamap_fragment_override>"),Mn.background={uniforms:{uvTransform:{value:new De},t2D:{value:null}},vertexShader:"\n varying vec2 vUv;\n uniform mat3 uvTransform;\n #include <clipping_planes_pars_vertex>\n \n void main() {\n \n vUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n #include <begin_vertex>\n #include <project_vertex>\n #include <clipping_planes_vertex>\n \n gl_Position = vec4( position.xy, 1.0, 1.0 );\n \n }\n ",fragmentShader:"\n uniform sampler2D t2D;\n \n varying vec2 vUv;\n #include <clipping_planes_pars_fragment>\n void main() {\n #include <clipping_planes_fragment>\n \n vec4 texColor = texture2D( t2D, vUv );\n \n gl_FragColor = mapTexelToLinear( texColor );\n \n #include <tonemapping_fragment>\n #include <encodings_fragment>\n \n }\n "},Mn.fillFacePhong={uniforms:ln.merge([wn.common,wn.aomap,wn.lightmap,wn.emissivemap,wn.bumpmap,wn.normalmap,wn.displacementmap,wn.gradientmap,wn.fog,wn.lights,{emissive:{value:new pi(0)},specular:{value:new pi(1118481)},shininess:{value:30}}]),vertexShader:xn.meshphong_id_vert,fragmentShader:xn.fillFaceFragment},Mn.newStyle={vertexShader:xn.newStyleVertex,fragmentShader:xn.newStyleFragment},Mn.bos3dStandard={vertexShader:xn.bos3dStandardVertex,fragmentShader:xn.bos3dStandardFragment};var iA=function(e){lu(i,e);var t=pu(i);function i(e){var n;ru(this,i),(n=t.call(this,e)).type="bos3dStandard",n.roughness=1,n.metalness=0,n.originRoughness=1,n.originMetalness=0,n.pureColor=0,n.textureColor=0,n.imageFade=1,n.transparentEx=!1,n._referenceCount=1,n._imageByteSize=0,n.shift=.5,n.A=.64,n.B=.03,n.C=.02,n.D=.54,n.E=0,n.F=.81,n.scale=.92,n.shininess=30,n.receiveIBL=!0;var r=(new pi).setHex(3330982),o=[r.r,r.g,r.b,1];return n.colorState=Jd.NONE,n.blinkColor=(new Le).fromArray(o),n.blinkCoefficient=0,n.fillMap=null,n.viewportSize=new ke(0,0),n.tag=null,n.viewshedCount=-1,n.viewshedContents=[],n.viewshedDepthMaps=[],n.videoCastCount=-1,n.videoCastContents=[],n.videoCastDepthMaps=[],n.videoCastProjectorMaps=[],n.localClipping=-1,n.innerClipping=-1,n.orthoViewProjMatrix=new yt,n.heightLimitSampler=null,n.heightColorSampler=null,n.heightLimitOrthoMatrix=new yt,n.heightLimit=0,n.useHeightLimit=!1,n.useCSM=xd.EnableCSM,n.useMapAlpha=!1,n.uniforms=ln.merge([Mn.standard.uniforms,wn.specularmap,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new ke(1,1)},clearcoatNormalMap:{value:null},sheen:{value:new pi(0)},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new ke},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new pi(0)}},{emissive:{value:new pi(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 Le).fromArray(o)},blinkCoefficient:{value:0},imageFade:{value:1},heatmapPoints:{value:[]},heatmapTexture:{value:null},frustumPlanes:{value:[]}},{viewportSize:{value:new ke(0,0)},fillMap:{value:null}},{viewshedCount:{value:-1},viewshedContents:{value:[]},viewshedDepthMaps:{value:[]}},{videoCastCount:{value:-1},videoCastContents:{value:[]},videoCastDepthMaps:{value:[]},videoCastProjectorMaps:{value:[]}},{localClipping:{value:-1},innerClipping:{value:n.innerClipping},orthoViewProjMatrix:{value:n.orthoViewProjMatrix}},{heightLimitSampler:{value:null},heightColorSampler:{value:null},heightLimitOrthoMatrix:{value:new yt},heightLimit:{value:0},useHeightLimit:{value:!1}},{csmCascades:{value:null}}]),n.vertexShader=xn.bos3dStandardVertex,n.fragmentShader=xn.bos3dStandardFragment,n.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},void 0!==e&&(void 0!==e.attributes&&Bu.error("IBLMaterial: attributes should now be defined in THREE.BufferGeometry instead."),null!=e.doubleSide&&e.doubleSide&&(n.side=2),n.setValues(e)),n.lights=!0,n.lights&&(n.uniforms=ln.merge([n.uniforms,wn.lights])),n.useCSM?n.defines.USE_CSM="":delete n.defines.USE_CSM,n.useMapAlpha?n.defines.USE_MAP_ALPHA="":delete n.defines.USE_MAP_ALPHA,n.refreshUniforms&&n.refreshUniforms(),du(n),n._proLectorLightNum=0,n.onBeforeCompile=function(e,t){var i=t._scene.projectorLightCollection;i.activeLightNum>0&&(e.vertexShader="#define PROJECTORLIGHT\n"+e.vertexShader,e.fragmentShader="#define USE_PROJECTORALPHAMAP\n"+e.fragmentShader),i.activeShadowLightNum>0&&(e.vertexShader="#define USE_PROJECTOR_SHADOWMAP\n"+e.vertexShader,e.fragmentShader="#define USE_PROJECTOR_SHADOWMAP\n"+e.fragmentShader),e.fragmentShader=e.fragmentShader.replace(/NUM_PROJECTOR_LIGHTS/g,i.activeLightNum),e.vertexShader=e.vertexShader.replace(/NUM_PROJECTOR_LIGHTS/g,i.activeLightNum)},n}return i}(_s);iA.prototype.update=function(e,t){var i=e.projectorLightCollection;0!==i.activeLightNum&&((i.activeLightNum!==this._proLectorLightNum||i.needsUpdate)&&(this.needsUpdate=!0,this._proLectorLightNum=i.length),e.projectorLightCollection.updateLights(e),this.updateUniforms(e,t))},iA.prototype.updateUniforms=function(e,t){this.updateProjectorLightUniform(e.projectorLightCollection)},iA.prototype.updateProjectorLightUniform=function(e){var t=e.length;this.uniforms.projectorLights.value=[],this.uniforms.projectorTextures.value=[],this.uniforms.projectorShadowMap.value=[],this.uniforms.projectorAlphaTextures.value=[],this.uniforms.farPlanes.value=[],this.uniforms.projectorShadowMatrix.value=[];for(var i=0;t>i;i+=1){var n=e.get(i);this.uniforms.projectorLights.value.push(n.uniforms),this.uniforms.projectorTextures.value.push(n.map),jg(n.shadow.renderTarget)&&(this.uniforms.projectorShadowMap.value.push(n.shadow.renderTarget.texture),this.uniforms.projectorShadowMatrix.value.push(n.uniforms.projectorShadowMatrix)),jg(n.alphaMap)&&this.uniforms.projectorAlphaTextures.value.push(n.alphaMap)}},iA.prototype.destroy=function(){Xs.prototype.dispose.call(this),this.blinkColor=null,this.uniforms=null,this.defaultAttributeValues=null,this.lights=null},iA.prototype.setValues=function(e){if(void 0!==e)for(var t in e){var i=e[t];if(void 0!==i){var n=this[t];void 0!==n&&(n&&n.isColor?n.set(i):n&&n.isVector3&&i&&i.isVector3?n.copy(i):this[t]="overdraw"===t?Number(i):i)}else console.warn("THREE.Material: '"+t+"' parameter is undefined.")}},iA.prototype.copy=function(e){return Xs.prototype.copy.call(this,e),void 0!==e.shift&&(this.shift=e.shift),void 0!==e.A&&(this.A=e.A),void 0!==e.B&&(this.B=e.B),void 0!==e.C&&(this.C=e.C),void 0!==e.D&&(this.D=e.D),void 0!==e.E&&(this.E=e.E),void 0!==e.F&&(this.F=e.F),void 0!==e.scale&&(this.scale=e.scale),void 0!==e.colorState&&(this.colorState=e.colorState),void 0!==e.blinkColor&&this.blinkColor.copy(e.blinkColor),void 0!==e.blinkCoefficient&&(this.blinkCoefficient=e.blinkCoefficient),void 0!==e.imageFade&&(this.imageFade=e.imageFade),void 0!==e.fillMap&&(this.fillMap=e.fillMap),void 0!==e.viewportSize&&this.viewportSize.copy(e.viewportSize),void 0!==e.localClipping&&(this.localClipping=e.localClipping),void 0!==e.innerClipping&&(this.innerClipping=e.innerClipping),void 0!==e.orthoViewProjMatrix&&this.orthoViewProjMatrix.copy(e.orthoViewProjMatrix),void 0!==e.viewshedCount&&(this.viewshedCount=e.viewshedCount),void 0!==e.viewshedContents&&(this.viewshedContents=e.viewshedContents),void 0!==e.viewshedDepthMaps&&(this.viewshedDepthMaps=e.viewshedDepthMaps),void 0!==e.videoCastCount&&(this.videoCastCount=e.videoCastCount),void 0!==e.videoCastContents&&(this.videoCastContents=e.videoCastContents),void 0!==e.videoCastDepthMaps&&(this.videoCastDepthMaps=e.videoCastDepthMaps),void 0!==e.videoCastProjectorMaps&&(this.videoCastProjectorMaps=e.videoCastProjectorMaps),void 0!==e.heightLimitSampler&&(this.heightLimitSampler=e.heightLimitSampler),void 0!==e.heightColorSampler&&(this.heightColorSampler=e.heightColorSampler),void 0!==e.heightLimitOrthoMatrix&&(this.heightLimitOrthoMatrix=e.heightLimitOrthoMatrix),void 0!==e.heightLimit&&(this.heightLimit=e.heightLimit),void 0!==e.useHeightLimit&&(this.useHeightLimit=e.useHeightLimit),void 0!==e.useCSM&&(this.useCSM=e.useCSM),this.opacity>0||(this.opacity=.1),e.onBeforeCompile2&&(this.onBeforeCompile2=e.onBeforeCompile2),Object.assign(this.defines,e.defines),this},iA.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.blinkCoefficient.value=this.blinkCoefficient,this.uniforms.colorState.value=this.colorState,this.uniforms.imageFade.value=this.imageFade,this.uniforms.fillMap.value=this.fillMap,this.uniforms.viewportSize.value=this.viewportSize,this.uniforms.localClipping.value=this.localClipping,this.uniforms.innerClipping.value=this.innerClipping,this.uniforms.orthoViewProjMatrix.value.copy(this.orthoViewProjMatrix),this.uniforms.viewshedCount.value=this.viewshedCount,this.uniforms.viewshedContents.value=this.viewshedContents,this.uniforms.viewshedDepthMaps.value=this.viewshedDepthMaps,this.uniforms.videoCastCount.value=this.videoCastCount,this.uniforms.videoCastContents.value=this.videoCastContents,this.uniforms.videoCastDepthMaps.value=this.videoCastDepthMaps,this.uniforms.videoCastProjectorMaps.value=this.videoCastProjectorMaps,this.viewshedCount>0?this.defines.VIEW_SHED_MODE="":delete this.defines.VIEW_SHED_MODE,this.videoCastCount>0?this.defines.VIDEO_CAST_MODE="":delete this.defines.VIDEO_CAST_MODE,this.heightLimitSampler?this.defines.HEIGHT_LIMIT_READ="":delete this.defines.HEIGHT_LIMIT_READ,this.uniforms.heightLimitOrthoMatrix.value=this.heightLimitOrthoMatrix,this.uniforms.heightLimitSampler.value=this.heightLimitSampler,this.uniforms.heightColorSampler.value=this.heightColorSampler,this.uniforms.heightLimit.value=this.heightLimit,this.uniforms.useHeightLimit.value=this.useHeightLimit,this.useCSM?this.defines.USE_CSM="":delete this.defines.USE_CSM,this.useAlphaMap?this.defines.USE_ALPHAMAP="":delete this.defines.USE_ALPHAMAP},iA.prototype.setBlinkColor=function(e){this.blinkColor.fromArray(e.toArray()),this.uniforms.blinkColor.value.copy(this.blinkColor),this.uniforms.blinkCoefficient.value=this.blinkCoefficient,this.uniforms.colorState.value=Jd.BLINK},iA.prototype.updateBlinkUniformValue=function(e,t,i){this.uniforms.colorState.value=e,this.uniforms.blinkColor.value.copy(t),this.uniforms.blinkCoefficient.value=i},iA.prototype.resetBlinkUniformValue=function(){this.uniforms.colorState.value=this.colorState,this.uniforms.blinkColor.value.copy(this.blinkColor),this.uniforms.blinkCoefficient.value=this.blinkCoefficient},Object.defineProperties(iA.prototype,{transparent:{set:function(e){this.transparentEx=e,xd.notDepthWriteByTransparent&&(this.depthWrite=!e)},get:function(){return this.transparentEx}}});var nA={REGULAR:0,FRACTAL:1,DISORDER:2},rA={type:nA.REGULAR,color1:new Du(0,0,0,1),color2:new Du(255,255,255,1),size:10,level:1,phase:1,width:32,height:32,thresholdLow:0,thresholdHigh:1};function oA(){this.m=2147483647,this.a=16807,this.q=127773,this.r=2836,this.seed=1,this.setSeed=function(e){e>0||(e=-e%(this.m-1)+1),e>this.m-1&&(e=this.m-1),this.seed=e},this.nextLong=function(){var e=this.a*(this.seed%this.q)-this.r*Math.floor(this.seed/this.q);return e>0||(e+=this.m),this.seed=e,e},this.next=function(){return this.nextLong()/this.m}}function aA(e,t,i){this.width=e,this.height=t,this.randseed=i,this.gradients=new Array(e*t*2);var n=new oA;n.setSeed(i);for(var r=0;this.gradients.length>r;r+=2){var o,a,s=n.next()*Math.PI*2;o=Math.sin(s),a=Math.cos(s),this.gradients[r]=o,this.gradients[r+1]=a}this.dot=function(e,t,i,n){var r=2*(e+t*this.width);return this.gradients[r]*i+this.gradients[r+1]*n},this.lerp=function(e,t,i){return e+i*(t-e)},this.sCurve=function(e){return e*e*(3-2*e)},this.getValue=function(e,t,i,n){var r=Math.floor(e),o=Math.floor(t),a=e-r,s=t-o,l=r,c=o,h=r===this.width-1?0:r+1,d=o===this.height-1?0:o+1,u=this.dot(l,c,a,s),p=this.dot(h,c,a-1,s),g=this.dot(l,d,a,s-1),f=this.dot(h,d,a-1,s-1),m=this.lerp(u,p,this.sCurve(a)),A=this.lerp(g,f,this.sCurve(a));return this.lerp(m,A,this.sCurve(s))}}var sA,lA=function(e){var t=Object.assign({},rA,e);switch(t.type){case nA.REGULAR:return function(e){var t=10*e.width,i=10*e.height;if(!(e.color1 instanceof Du))return Bu.warn("color1 不合法"),null;if(!(e.color2 instanceof Du))return Bu.warn("color2 不合法"),null;var n=e.color1.toRGBArray(),r=e.color2.toRGBArray(),o=e.thresholdLow,a=e.thresholdHigh,s=10*e.size,l=e.phase;1===s&&(s=1.1);for(var c=new Array(t*i*4),h=new aA(Math.ceil(t/s),Math.ceil(i/s),l),d=0,u=0,p=0,g=0,f=0,m=0,A=0;i>A;A+=1)for(var y=0;t>y;y+=1){var v=(h.getValue(y/s,A/s)+1)/2;if(v>a)d=r[0],u=r[1],p=r[2];else if(o>v)d=n[0],u=n[1],p=n[2];else if(v>=o&&a>=v||o===a){var C=(v-o)/(a-o||1);g=r[0]*C,f=r[1]*C,m=r[2]*C,d=n[0]*(C=1-C)+g,u=n[1]*C+f,p=n[2]*C+m}var I=4*(A*t+y);c[I]=d,c[I+1]=u,c[I+2]=p,c[I+3]=255}var x=document.createElement("canvas");x.width=t,x.height=i;for(var w=x.getContext("2d"),M=w.createImageData(t,i),E=0,B=t*i*4;B>E;E+=1)M.data[E]=c[E];return w.putImageData(M,0,0),x.toDataURL()}(t);case nA.FRACTAL:return function(e){var t=10*e.width,i=10*e.height;if(!(e.color1 instanceof Du))return Bu.warn("color1 不合法"),null;if(!(e.color2 instanceof Du))return Bu.warn("color2 不合法"),null;var n=e.color1.toRGBArray(),r=e.color2.toRGBArray(),o=e.thresholdLow,a=e.thresholdHigh,s=10*e.size,l=e.phase,c=e.level;1===s&&(s=1.1);for(var h=new Array(t*i*4),d=[],u=s,p=0,g=c;g>p;p+=1){var f=new aA(Math.ceil(t/u),Math.ceil(i/u),l);u/=2,d.push(f)}for(var m=0,A=0,y=0,v=0,C=0,I=0,x=0;i>x;x+=1)for(var w=0;t>w;w+=1){for(var M=0,E=s,B=0,S=c;S>B;B+=1)M+=d[B].getValue(w/E,x/E,l)*(c-B),E/=2;var b=(1+(M/=c))/2;if(b>a)m=r[0],A=r[1],y=r[2];else if(o>b)m=n[0],A=n[1],y=n[2];else if(b>=o&&a>=b||o===a){var k=(b-o)/(a-o||1);v=r[0]*k,C=r[1]*k,I=r[2]*k,m=n[0]*(k=1-k)+v,A=n[1]*k+C,y=n[2]*k+I}var D=4*(x*t+w);h[D]=m,h[D+1]=A,h[D+2]=y,h[D+3]=255}var T=document.createElement("canvas");T.width=t,T.height=i;for(var R=T.getContext("2d"),U=R.createImageData(t,i),F=0,Q=t*i*4;Q>F;F+=1)U.data[F]=h[F];return R.putImageData(U,0,0),T.toDataURL()}(t);case nA.DISORDER:return function(e){var t=10*e.width,i=10*e.height;if(!(e.color1 instanceof Du))return Bu.warn("color1 不合法"),null;if(!(e.color2 instanceof Du))return Bu.warn("color2 不合法"),null;var n=e.color1.toRGBArray(),r=e.color2.toRGBArray(),o=e.thresholdLow,a=e.thresholdHigh,s=10*e.size,l=e.phase,c=e.level;1===s&&(s=1.1);for(var h=new Array(t*i*4),d=[],u=s,p=0,g=c;g>p;p+=1){var f=new aA(Math.ceil(t/u),Math.ceil(i/u),l);u/=2,d.push(f)}for(var m=0,A=0,y=0,v=0,C=0,I=0,x=0;i>x;x+=1)for(var w=0;t>w;w+=1){for(var M=0,E=s,B=0,S=c;S>B;B+=1)M+=d[B].getValue(w/E,x/E,l)*(c-B),E/=2;M/=c;var b=Math.abs(M)+.05;if(b>a)m=r[0],A=r[1],y=r[2];else if(o>b)m=n[0],A=n[1],y=n[2];else if(b>=o&&a>=b||o===a){var k=(b-o)/(a-o||1);v=r[0]*k,C=r[1]*k,I=r[2]*k,m=n[0]*(k=1-k)+v,A=n[1]*k+C,y=n[2]*k+I}var D=4*(x*t+w);h[D]=m,h[D+1]=A,h[D+2]=y,h[D+3]=255}var T=document.createElement("canvas");T.width=t,T.height=i;for(var R=T.getContext("2d"),U=R.createImageData(t,i),F=0,Q=t*i*4;Q>F;F+=1)U.data[F]=h[F];return R.putImageData(U,0,0),T.toDataURL()}(t);default:return Bu.warn("不支持的噪波类型"),null}},cA={DefaultMaterial:new $s({color:255,side:2}),DefaultWireframeColor:{color:new pi(0,0,0),opacity:.4},getDefaultStandardMaterial:(sA=null,function(){return sA||(sA=new iA({color:0,side:2})),sA}),createInstancePhongMaterial:function(e){return e.clone()},updateBasicMaterial:function(e,t){e.needsUpdate=!0},setMatrixUniform:function(e){},createPhongMaterial:function(e){var t=new $s(e);return t.type="FillFacePhong",t.uniforms=ln.merge([Mn.fillFacePhong.uniforms]),t.vertexShader=Mn.fillFacePhong.vertexShader,t.fragmentShader=Mn.fillFacePhong.fragmentShader,t.side=2,t},createStandardMaterial:function(e){var t=new iA(e);return xd.EnableTransformAoMap&&(t.defines.USE_TRANSFORM_AOMAP=""),t},createInstanceMaterial:function(e,t){var i=cA.createStandardMaterial(e);return i.defines.USE_INSTANCE="",t&&(i.defines.USE_INSTANCE_NORMAL=""),i.colorState=Jd.BLINK,xd.InfluencedByLight||(i.defines.NOTAFFECTEDBYLIGHT=""),i.refreshUniforms(),i},createMaterialByMaterialBufferAndTexture:function(e,t){var i,n,r,o,a,s,l,c,h=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,d=cA.createStandardMaterial();if((d.name=e.name||e.id,d.key=e.id,e.emissive&&d.emissive&&(1===e.emissive[0]&&1===e.emissive[1]&&1===e.emissive[2]||d.emissive.setRGB(e.emissive[0],e.emissive[1],e.emissive[2])),e.specular&&d.specular&&d.specular.setRGB(e.specular[0],e.specular[1],e.specular[2]),e.color?d.color.setRGB(e.color[0],e.color[1],e.color[2]):e.emissive&&d.emissive?d.color.setRGB(0,0,0):d.color.setRGB(.72,.72,.72),e.tint&&(d.imageFade=void 0===e.imageFade||0>e.imageFade||e.imageFade>10?.5:e.imageFade,d.color.setRGB(e.tint[0],e.tint[1],e.tint[2])),e.map&&xd.EnableTextureLoading)&&("string"==typeof e.map?void 0!==e.mapOffsetY&&0!==e.mapOffsetY||void 0!==e.mapOffsetX&&0!==e.mapOfsfetX||void 0!==e.mapScaleX&&1!==e.mapScaleX||void 0!==e.mapScaleY&&1!==e.mapScaleY||void 0!==e.mapWAngle&&0!==e.mapWAngle?i=e.mapOffsetX+"_"+e.mapOffsetY+"_"+e.mapScaleX+"_"+e.mapScaleY+"_"+e.mapWAngle+"_"+e.map:t[e.map]?d.map=t[e.map]:Bu.warn(d.name," 中map贴图未找到",e.map):i=xp(JSON.stringify(e.map)),i))if(t[i])d.map=t[i];else{var u=new Fe;if(u.wrapS=u.wrapT=g,"string"==typeof e.map)u.image=t[e.map]&&t[e.map].image?t[e.map].image:null;else{var p=e.map,f=document.createElement("img"),m=lA({type:Number(p.noise_Type),color1:(new Du).fromArray(p.noise_Color1),color2:(new Du).fromArray(p.noise_Color2),size:p.noise_Size,level:p.noise_Levels,phase:p.noise_Phase,width:32,height:32,thresholdLow:p.noise_ThresholdLow,thresholdHigh:p.noise_ThresholdHigh});m&&(f.src=m,u.image=f)}u.needsUpdate=!0,u.image&&(u.offset.x=e.mapOffsetX?e.mapOffsetX:0,u.offset.y=e.mapOffsetY?e.mapOffsetY:0,u.repeat.x=e.mapScaleX?e.mapScaleX:1,u.repeat.y=e.mapScaleY?e.mapScaleY:1,u.rotation=e.mapWAngle?e.mapWAngle:0,t[i]=u,d.map=u)}if(e.bumpMap&&xd.EnableTextureLoading&&(e.bumpScale=Number(e.bumpScale||1)*h,"string"==typeof e.bumpMap?void 0!==e.bumpMapOffsetY&&0!==e.bumpMapOffsetY||void 0!==e.bumpMapOffsetX&&0!==e.bumpMapOfsfetX||void 0!==e.bumpMapScaleX&&1!==e.bumpMapScaleX||void 0!==e.bumpMapScaleY&&1!==e.bumpMapScaleY||void 0!==e.bumpMapWAngle&&0!==e.bumpMapWAngle?n=e.bumpMapOffsetX+"_"+e.bumpMapOffsetY+"_"+e.bumpMapScaleX+"_"+e.bumpMapScaleY+"_"+e.bumpMapWAngle+"_"+e.bumpMap:t[e.bumpMap]?d.bumpMap=t[e.bumpMap]:Bu.warn(d.name," 中bumpMap贴图未找到",e.bumpMap):n=xp(JSON.stringify(e.bumpMap)),n))if(t[n])d.bumpMap=t[n];else{var A=new Fe;if(A.wrapS=A.wrapT=g,"string"==typeof e.bumpMap)A.image=t[e.bumpMap]&&t[e.bumpMap].image?t[e.bumpMap].image:null;else{var y=e.bumpMap,v=document.createElement("img"),C=lA({type:Number(y.noise_Type),color1:(new Du).fromArray(y.noise_Color1),color2:(new Du).fromArray(y.noise_Color2),size:y.noise_Size,level:y.noise_Levels,phase:y.noise_Phase,width:32,height:32,thresholdLow:y.noise_ThresholdLow,thresholdHigh:y.noise_ThresholdHigh});C&&(v.src=C,A.image=v)}A.needsUpdate=!0,A.image&&(A.offset.x=e.bumpMapOffsetX?e.bumpMapOffsetX:0,A.offset.y=e.bumpMapOffsetY?e.bumpMapOffsetY:0,A.repeat.x=e.bumpMapScaleX?e.bumpMapScaleX:1,A.repeat.y=e.bumpMapScaleY?e.bumpMapScaleY:1,A.rotation=e.bumpMapWAngle?e.bumpMapWAngle:0,t[n]=A,d.bumpMap=A)}if((void 0!==e.bumpScale&&(d.bumpScale=e.bumpScale),e.aoMap&&xd.EnableTextureLoading)&&(e.aoMapIntensity=Number(e.aoMapIntensity||1)*h,"string"==typeof e.aoMap?void 0!==e.aoMapOffsetY&&0!==e.aoMapOffsetY||void 0!==e.aoMapOffsetX&&0!==e.aoMapOfsfetX||void 0!==e.aoMapScaleX&&1!==e.aoMapScaleX||void 0!==e.aoMapScaleY&&1!==e.aoMapScaleY||void 0!==e.aoMapWAngle&&0!==e.aoMapWAngle?r=e.aoMapOffsetX+"_"+e.aoMapOffsetY+"_"+e.aoMapScaleX+"_"+e.aoMapScaleY+"_"+e.aoMapWAngle+"_"+e.aoMap:t[e.aoMap]?d.aoMap=t[e.aoMap]:Bu.warn(d.name," 中aoMap贴图未找到",e.aoMap):r=xp(JSON.stringify(e.aoMap)),r))if(t[r])d.aoMap=t[r];else{var I=new Fe;if(I.wrapS=I.wrapT=g,"string"==typeof e.aoMap)I.image=t[e.aoMap]&&t[e.aoMap].image?t[e.aoMap].image:null;else{var x=e.aoMap,w=document.createElement("img"),M=lA({type:Number(x.noise_Type),color1:(new Du).fromArray(x.noise_Color1),color2:(new Du).fromArray(x.noise_Color2),size:x.noise_Size,level:x.noise_Levels,phase:x.noise_Phase,width:32,height:32,thresholdLow:x.noise_ThresholdLow,thresholdHigh:x.noise_ThresholdHigh});M&&(w.src=M,I.image=w)}I.needsUpdate=!0,I.image&&(I.offset.x=e.aoMapOffsetX?e.aoMapOffsetX:0,I.offset.y=e.aoMapOffsetY?e.aoMapOffsetY:0,I.repeat.x=e.aoMapScaleX?e.aoMapScaleX:1,I.repeat.y=e.aoMapScaleY?e.aoMapScaleY:1,I.rotation=e.aoMapWAngle?e.aoMapWAngle:0,t[r]=I,d.aoMap=I)}if((void 0!==e.aoMapIntensity&&(d.aoMapIntensity=e.aoMapIntensity),e.normalMap&&xd.EnableTextureLoading)&&("string"==typeof e.normalMap?void 0!==e.normalMapOffsetY&&0!==e.normalMapOffsetY||void 0!==e.normalMapOffsetX&&0!==e.normalMapOfsfetX||void 0!==e.normalMapScaleX&&1!==e.normalMapScaleX||void 0!==e.normalMapScaleY&&1!==e.normalMapScaleY||void 0!==e.normalMapWAngle&&0!==e.normalMapWAngle?o=e.normalMapOffsetX+"_"+e.normalMapOffsetY+"_"+e.normalMapScaleX+"_"+e.normalMapScaleY+"_"+e.normalMapWAngle+"_"+e.normalMap:t[e.normalMap]?d.normalMap=t[e.normalMap]:Bu.warn(d.name," 中normalMap贴图未找到",e.normalMap):o=xp(JSON.stringify(e.normalMap)),o))if(t[o])d.normalMap=t[o];else{var E=new Fe;if(E.wrapS=E.wrapT=g,"string"==typeof e.normalMap)E.image=t[e.normalMap]&&t[e.normalMap].image?t[e.normalMap].image:null;else{var B=e.normalMap,S=document.createElement("img"),b=lA({type:Number(B.noise_Type),color1:(new Du).fromArray(B.noise_Color1),color2:(new Du).fromArray(B.noise_Color2),size:B.noise_Size,level:B.noise_Levels,phase:B.noise_Phase,width:32,height:32,thresholdLow:B.noise_ThresholdLow,thresholdHigh:B.noise_ThresholdHigh});b&&(S.src=b,E.image=S)}E.needsUpdate=!0,E.image&&(E.offset.x=e.normalMapOffsetX?e.normalMapOffsetX:0,E.offset.y=e.normalMapOffsetY?e.normalMapOffsetY:0,E.repeat.x=e.normalMapScaleX?e.normalMapScaleX:1,E.repeat.y=e.normalMapScaleY?e.normalMapScaleY:1,E.rotation=e.normalMapWAngle?e.normalMapWAngle:0,t[o]=E,d.normalMap=E)}if(void 0!==e.normalScale&&(d.normalScale=(new ke).fromArray(e.normalScale)),e.alphaMap&&xd.EnableTextureLoading){var k;if("string"==typeof e.alphaMap?void 0!==e.alphaMapOffsetY&&0!==e.alphaMapOffsetY||void 0!==e.alphaMapOffsetX&&0!==e.alphaMapOfsfetX||void 0!==e.alphaMapScaleX&&1!==e.alphaMapScaleX||void 0!==e.alphaMapScaleY&&1!==e.alphaMapScaleY||void 0!==e.alphaMapWAngle&&0!==e.alphaMapWAngle?k=e.alphaMapOffsetX+"_"+e.alphaMapOffsetY+"_"+e.alphaMapScaleX+"_"+e.alphaMapScaleY+"_"+e.alphaMapWAngle+"_"+e.alphaMap:t[e.alphaMap]?d.alphaMap=t[e.alphaMap]:Bu.warn(d.name," 中alphaMap贴图未找到",e.alphaMap):k=xp(JSON.stringify(e.alphaMap)),k)if(t[k])d.alphaMap=t[k];else{var D=new Fe;if(D.wrapS=D.wrapT=g,"string"==typeof e.alphaMap)D.image=t[e.alphaMap]&&t[e.alphaMap].image?t[e.alphaMap].image:null;else{var T=e.alphaMap,R=document.createElement("img"),U=lA({type:Number(T.noise_Type),color1:(new Du).fromArray(T.noise_Color1),color2:(new Du).fromArray(T.noise_Color2),size:T.noise_Size,level:T.noise_Levels,phase:T.noise_Phase,width:32,height:32,thresholdLow:T.noise_ThresholdLow,thresholdHigh:T.noise_ThresholdHigh});U&&(R.src=U,D.image=R)}D.needsUpdate=!0,D.image&&(D.offset.x=e.alphaMapOffsetX?e.alphaMapOffsetX:0,D.offset.y=e.alphaMapOffsetY?e.alphaMapOffsetY:0,D.repeat.x=e.alphaMapScaleX?e.alphaMapScaleX:1,D.repeat.y=e.alphaMapScaleY?e.alphaMapScaleY:1,D.rotation=e.alphaMapWAngle?e.alphaMapWAngle:0,t[k]=D,d.alphaMap=D)}d.transparent=!0,d.alphaTest=Number.isNaN(xd.alphaTest)?.5:xd.alphaTest}if(e.envMap&&xd.EnableTextureLoading&&("string"==typeof e.envMap?void 0!==e.envMapOffsetY&&0!==e.envMapOffsetY||void 0!==e.envMapOffsetX&&0!==e.envMapOfsfetX||void 0!==e.envMapScaleX&&1!==e.envMapScaleX||void 0!==e.envMapScaleY&&1!==e.envMapScaleY||void 0!==e.envMapWAngle&&0!==e.envMapWAngle?a=e.envMapOffsetX+"_"+e.envMapOffsetY+"_"+e.envMapScaleX+"_"+e.envMapScaleY+"_"+e.envMapWAngle+"_"+e.envMap:t[e.envMap]?d.envMap=t[e.envMap]:Bu.warn(d.name," 中envMap贴图未找到",e.envMap):a=xp(JSON.stringify(e.envMap)),a))if(t[a])d.envMap=t[a];else{var F=new Fe;if(F.wrapS=F.wrapT=g,"string"==typeof e.envMap)F.image=t[e.envMap]&&t[e.envMap].image?t[e.envMap].image:null;else{var Q=e.envMap,L=document.createElement("img"),O=lA({type:Number(Q.noise_Type),color1:(new Du).fromArray(Q.noise_Color1),color2:(new Du).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});O&&(L.src=O,F.image=L)}F.needsUpdate=!0,F.image&&(F.offset.x=e.envMapOffsetX?e.envMapOffsetX:0,F.offset.y=e.envMapOffsetY?e.envMapOffsetY:0,F.repeat.x=e.envMapScaleX?e.envMapScaleX:1,F.repeat.y=e.envMapScaleY?e.envMapScaleY:1,F.rotation=e.envMapWAngle?e.envMapWAngle:0,t[a]=F,d.envMap=F)}if(e.lightMap&&xd.EnableTextureLoading&&(e.lightMapIntensity=Number(e.lightMapIntensity||1)*h,"string"==typeof e.lightMap?void 0!==e.lightMapOffsetY&&0!==e.lightMapOffsetY||void 0!==e.lightMapOffsetX&&0!==e.lightMapOfsfetX||void 0!==e.lightMapScaleX&&1!==e.lightMapScaleX||void 0!==e.lightMapScaleY&&1!==e.lightMapScaleY||void 0!==e.lightMapWAngle&&0!==e.lightMapWAngle?s=e.lightMapOffsetX+"_"+e.lightMapOffsetY+"_"+e.lightMapScaleX+"_"+e.lightMapScaleY+"_"+e.lightMapWAngle+"_"+e.lightMap:t[e.lightMap]?d.lightMap=t[e.lightMap]:Bu.warn(d.name," 中lightMap贴图未找到",e.lightMap):s=xp(JSON.stringify(e.lightMap)),s))if(t[s])d.lightMap=t[s];else{var N=new Fe;if(N.wrapS=N.wrapT=g,"string"==typeof e.lightMap)N.image=t[e.lightMap]&&t[e.lightMap].image?t[e.lightMap].image:null;else{var P=e.lightMap,G=document.createElement("img"),K=lA({type:Number(P.noise_Type),color1:(new Du).fromArray(P.noise_Color1),color2:(new Du).fromArray(P.noise_Color2),size:P.noise_Size,level:P.noise_Levels,phase:P.noise_Phase,width:32,height:32,thresholdLow:P.noise_ThresholdLow,thresholdHigh:P.noise_ThresholdHigh});K&&(G.src=K,N.image=G)}N.needsUpdate=!0,N.image&&(N.offset.x=e.lightMapOffsetX?e.lightMapOffsetX:0,N.offset.y=e.lightMapOffsetY?e.lightMapOffsetY:0,N.repeat.x=e.lightMapScaleX?e.lightMapScaleX:1,N.repeat.y=e.lightMapScaleY?e.lightMapScaleY:1,N.rotation=e.lightMapWAngle?e.lightMapWAngle:0,t[s]=N,d.lightMap=N)}if((void 0!==e.lightMapIntensity&&(d.lightMapIntensity=e.lightMapIntensity),e.emissiveMap&&xd.EnableTextureLoading)&&(e.emissiveIntensity=Number(e.emissiveIntensity||1)*h,"string"==typeof e.emissiveMap?void 0!==e.emissiveMapOffsetY&&0!==e.emissiveMapOffsetY||void 0!==e.emissiveMapOffsetX&&0!==e.emissiveMapOfsfetX||void 0!==e.emissiveMapScaleX&&1!==e.emissiveMapScaleX||void 0!==e.emissiveMapScaleY&&1!==e.emissiveMapScaleY||void 0!==e.emissiveMapWAngle&&0!==e.emissiveMapWAngle?l=e.emissiveMapOffsetX+"_"+e.emissiveMapOffsetY+"_"+e.emissiveMapScaleX+"_"+e.emissiveMapScaleY+"_"+e.emissiveMapWAngle+"_"+e.emissiveMap:t[e.emissiveMap]?d.emissiveMap=t[e.emissiveMap]:Bu.warn(d.name," 中emissiveMap贴图未找到",e.emissiveMap):l=xp(JSON.stringify(e.emissiveMap)),l))if(t[l])d.emissiveMap=t[l];else{var V=new Fe;if(V.wrapS=V.wrapT=g,"string"==typeof e.emissiveMap)V.image=t[e.emissiveMap]&&t[e.emissiveMap].image?t[e.emissiveMap].image:null;else{var Y=e.emissiveMap,H=document.createElement("img"),j=lA({type:Number(Y.noise_Type),color1:(new Du).fromArray(Y.noise_Color1),color2:(new Du).fromArray(Y.noise_Color2),size:Y.noise_Size,level:Y.noise_Levels,phase:Y.noise_Phase,width:32,height:32,thresholdLow:Y.noise_ThresholdLow,thresholdHigh:Y.noise_ThresholdHigh});j&&(H.src=j,V.image=H)}V.needsUpdate=!0,V.image&&(V.offset.x=e.emissiveMapOffsetX?e.emissiveMapOffsetX:0,V.offset.y=e.emissiveMapOffsetY?e.emissiveMapOffsetY:0,V.repeat.x=e.emissiveMapScaleX?e.emissiveMapScaleX:1,V.repeat.y=e.emissiveMapScaleY?e.emissiveMapScaleY:1,V.rotation=e.emissiveMapWAngle?e.emissiveMapWAngle:0,t[l]=V,d.emissiveMap=V)}if((void 0!==e.emissiveIntensity&&(d.emissiveIntensity=e.emissiveIntensity),e.specularMap&&xd.EnableTextureLoading)&&("string"==typeof e.specularMap?void 0!==e.specularMapOffsetY&&0!==e.specularMapOffsetY||void 0!==e.specularMapOffsetX&&0!==e.specularMapOfsfetX||void 0!==e.specularMapScaleX&&1!==e.specularMapScaleX||void 0!==e.specularMapScaleY&&1!==e.specularMapScaleY||void 0!==e.specularMapWAngle&&0!==e.specularMapWAngle?c=e.specularMapOffsetX+"_"+e.specularMapOffsetY+"_"+e.specularMapScaleX+"_"+e.specularMapScaleY+"_"+e.specularMapWAngle+"_"+e.specularMap:t[e.specularMap]?d.specularMap=t[e.specularMap]:Bu.warn(d.name," 中specularMap贴图未找到",e.specularMap):c=xp(JSON.stringify(e.specularMap)),c))if(t[c])d.specularMap=t[c];else{var W=new Fe;if(W.wrapS=W.wrapT=g,"string"==typeof e.specularMap)W.image=t[e.specularMap]&&t[e.specularMap].image?t[e.specularMap].image:null;else{var J=e.specularMap,z=document.createElement("img"),q=lA({type:Number(J.noise_Type),color1:(new Du).fromArray(J.noise_Color1),color2:(new Du).fromArray(J.noise_Color2),size:J.noise_Size,level:J.noise_Levels,phase:J.noise_Phase,width:32,height:32,thresholdLow:J.noise_ThresholdLow,thresholdHigh:J.noise_ThresholdHigh});q&&(z.src=q,W.image=z)}W.needsUpdate=!0,W.image&&(W.offset.x=e.specularMapOffsetX?e.specularMapOffsetX:0,W.offset.y=e.specularMapOffsetY?e.specularMapOffsetY:0,W.repeat.x=e.specularMapScaleX?e.specularMapScaleX:1,W.repeat.y=e.specularMapScaleY?e.specularMapScaleY:1,W.rotation=e.specularMapWAngle?e.specularMapWAngle:0,t[c]=W,d.specularMap=W)}return void 0!==e.shininess&&(d.shininess=e.shininess),void 0!==e.opacity&&(d.opacity=e.opacity,1>e.opacity&&(d.transparent=!0),e.opacity>0||(d.opacity=.1)),d.side=2,d.refreshUniforms&&d.refreshUniforms(),d},createNewStyleMaterial:function(e){var t=new Xs(e);return t.type="NewStyle",t.uniforms=ln.merge([Mn.standard.uniforms]),t.vertexShader=Mn.newStyle.vertexShader,t.fragmentShader=Mn.newStyle.fragmentShader,t.metalness=0,t},createHighlightMaterial:function(){var e=this.createStandardMaterial(xd.SelectionColor);return xd.InfluencedByLight||(e.defines.NOTAFFECTEDBYLIGHT=""),e},getBlinkMaterial:function(e,t){var i=cA.getMaterialParameters(e),n=cA.createStandardMaterial(i);return n.blinkColor.copy(t),n.colorState=Jd.BLINK,n.refreshUniforms(),n},getMaterialParameters:function(e){var t={};return e.hasOwnProperty("color")&&(t.color=e.color),t.opacity=1,t.transparent=!1,e.hasOwnProperty("opacity")&&(t.opacity=e.opacity,1>e.opacity&&(t.transparent=!0)),e.hasOwnProperty("side")&&(t.side=e.side),e.hasOwnProperty("name")&&(t.name=e.name||""),e.hasOwnProperty("emissive")&&(t.emissive=e.emissive),e.hasOwnProperty("emissiveIntensity")&&(t.emissive=e.emissiveIntensity),e.hasOwnProperty("specular")&&(t.specular=e.specular),e.hasOwnProperty("shininess")&&(t.shininess=e.shininess),e.hasOwnProperty("map")&&(t.map=e.map),e.hasOwnProperty("aoMap")&&(t.aoMap=e.aoMap),e.hasOwnProperty("aoMapIntensity")&&(t.aoMapIntensity=e.aoMapIntensity),e.hasOwnProperty("bumpMap")&&(t.bumpMap=e.bumpMap),e.hasOwnProperty("bumpScale")&&(t.bumpScale=e.bumpScale),e.hasOwnProperty("normalMap")&&(t.normalMap=e.normalMap),e.hasOwnProperty("normalScale")&&(t.normalScale=e.normalScale),e.hasOwnProperty("alphaMap")&&(t.alphaMap=e.alphaMap),e.hasOwnProperty("alphaTest")&&(t.alphaTest=e.alphaTest),e.hasOwnProperty("transparent")&&(t.transparent=e.transparent),e.hasOwnProperty("emissiveMap")&&(t.emissiveMap=e.emissiveMap),e.hasOwnProperty("envMap")&&(t.envMap=e.envMap),e.hasOwnProperty("envMapIntensity")&&(t.envMapIntensity=e.envMapIntensity),e.hasOwnProperty("roughness")&&(t.roughness=e.roughness),e.hasOwnProperty("metalness")&&(t.metalness=e.metalness),e.hasOwnProperty("originRoughness")&&(t.originRoughness=e.originRoughness),e.hasOwnProperty("originMetalness")&&(t.originMetalness=e.originMetalness),e.hasOwnProperty("iblProbe")&&(t.iblProbe=e.iblProbe),e.hasOwnProperty("shift")&&(t.shift=e.shift),e.hasOwnProperty("wireframe")&&(t.wireframe=e.wireframe),e.hasOwnProperty("pureColor")&&(t.pureColor=e.pureColor),e.hasOwnProperty("textureColor")&&(t.textureColor=e.textureColor),e.hasOwnProperty("imageFade")&&(t.imageFade=e.imageFade),"bos3d"===e.type&&e.hasOwnProperty("lights")&&(t.lights=e.lights),e.hasOwnProperty("lightMap")&&(t.lightMap=e.lightMap),e.hasOwnProperty("lightMapIntensity")&&(t.lightMapIntensity=e.lightMapIntensity),e.hasOwnProperty("viewportSize")&&(t.viewportSize=e.viewportSize),e.hasOwnProperty("fillMap")&&(t.fillMap=e.fillMap),t},nextHighestPowerOfTwo:function(e){e-=1;for(var t=1;32>t;t<<=1)e|=e>>t;return e+1},ensurePowerOfTwo:function(e){return e},ensureQuadrate:function(e){var t=e.width,i=e.height;if(0===t||0===i||be.isPowerOfTwo(t)&&be.isPowerOfTwo(i)&&t===i)return e;be.isPowerOfTwo(t)||(t=cA.nextHighestPowerOfTwo(t)),be.isPowerOfTwo(i)||(i=cA.nextHighestPowerOfTwo(i));var n=0,r=0;i>t?n=.5*(i-t):r=.5*(t-i);var o=document.createElement("canvas");return o.width=o.height=Math.max(t,i),o.getContext("2d").drawImage(e,0,0,e.width,e.height,n,r,t,i),o},getRGBAFromColorArray:function(e){var t=e[0],i=e[1],n=e[2],r=e[3];return void 0!==r?"rgba("+t+","+i+","+n+","+r+")":"rgb("+t+","+i+","+n+")"},getRGBAFromArray:function(e){var t=255*e[0],i=255*e[1],n=255*e[2],r=255*e[3];return void 0!==r?"rgba("+t+","+i+","+n+","+r+")":"rgb("+t+","+i+","+n+")"},getArrayFromRGBA:function(e){var t=e.split(","),i=parseInt(t[0].split("(")[1],0)/255,n=parseInt(t[1],0)/255,r=parseInt(t[2].split(")")[0],0)/255;return void 0!==t[3]?[i,n,r,parseFloat(t[3].split(")")[0])]:[i,n,r]},getColorArrayFromRGBA:function(e){var t=e.split(","),i=parseInt(t[0].split("(")[1],0),n=parseInt(t[1],0),r=parseInt(t[2].split(")")[0],0);return void 0!==t[3]?[i,n,r,parseFloat(t[3].split(")")[0])]:[i,n,r]},getHexStringFromRGB:function(e){return"#"+("000000"+cA.getHex(cA.getArrayFromRGBA(e)).toString(16)).slice(-6)},getArrayFromColorArray:function(e){return[e[0]/255,e[1]/255,e[2]/255]},getHexStringFromColorArray:function(e){return"#"+("000000"+cA.getHex(cA.getArrayFromColorArray(e)).toString(16)).slice(-6)},getHexStringFromArray:function(e){return"#"+("000000"+cA.getHex(e).toString(16)).slice(-6)},getHex:function(e){return 255*e[0]<<16^255*e[1]<<8^255*e[2]<<0},getColorParamsByMaterial:function(e){return{rgbaColor:[e.color.r,e.color.g,e.color.b,e.opacity],transparent:e.transparent,wireframe:e.wireframe}},getHoverColorByColor:function(e){var t={};return t.r=e.r,t.g=e.g,t.b=e.b,t.a=cA.getHoverOpacity(e.a),t},getHoverOpacity:function(e){return.4>e?e+.3:e-.3},cloneMaterialBaseOnColor:function(e,t){if(!e.color&&!e.diffuse)return e;var i=e.clone();return i.wireframe=t.wireframe,i.opacity=t.opacity,i.transparent=t.transparent,i.color&&i.color.isColor&&t.color&&t.color.isColor&&i.color.copy(t.color),i.diffuse&&i.diffuse.isColor&&t.diffuse&&t.diffuse.isColor&&i.diffuse.copy(t.diffuse),i}};function hA(){var e,t,i=!1,n=new Map,r={},o={},a=new Map,s={},l={},c={},h=new Set,d={};function u(e){var t=1!==e.getAlpha(),i="blink_"+e.getHex().toString()+"_"+parseFloat(e.getAlpha()).toString(),n=o[i];if(!n){var r=new pi(e.r,e.g,e.b);n=new Xs({color:r}),t&&(n.transparent=t,n.opacity=e.getAlpha()),n.name=i,n.createByBos=!0,n._color=e,o[i]=n}return i}function p(t,i){delete r[t];var u=s[t],p=!1,g=n.get(u);if(u&&g){var f=g.componentKeys;f.remove(t),f.length>0||(!function(e){var t=e.model.modelKeysKey+String(e.materialName)+String(e.interval);delete d[t]}(u),n.delete(u),a.delete(u),l[u.materialName].remove(u),c[u.model.modelKey].remove(u)),l[u.materialName].length>0||delete o[u.materialName],c[u.model.modelKey].length>0||(h.delete(i),i.isUpdateBlink=!1,p=!0),delete s[t],i&&(i.blinkMapComponentKeyToRenderState&&i.blinkMapComponentKeyToRenderState[t]&&(delete i.blinkMapComponentKeyToRenderState[t],p=!0),i.blinkMapComponentKeyToMaterialName&&i.blinkMapComponentKeyToMaterialName[t]&&(delete i.blinkMapComponentKeyToMaterialName[t],p=!0),p&&(e.needApplyFilter=!0))}}function g(e,t,i,r,g){e.forEach((function(e,f){var m=e,A=[],y=function(e,t,i){var n=i.modelKey+String(e)+String(t);if(d[n])return d[n];var r={model:i,interval:t,materialName:e};return d[n]=r,r}(t,i,f);m.forEach((function(e){p(e,f),A.push(e),s[e]=y})),u(g);var v,C=a.get(y);C?(v=C).push.apply(v,A):a.set(y,C=A);h.add(f);var I=l[t];I?I.hasValue(y)||I.push(y):l[t]=[y];var x=c[f.modelKey];x?x.hasValue(y)||x.push(y):c[f.modelKey]=[y],n.set(y,{componentKeys:C,materialName:t,interval:i,model:f,material:o[t],lastBlinkTime:(new Date).getTime(),callback:r})}))}function f(){var o,a,s,l=!1,c=(new Date).getTime(),d={};if(0===n.size)return cancelAnimationFrame(t),void(i=!1);h.forEach((function(e){o=e.blinkMapComponentKeyToMaterialName||{},a=e.blinkMapComponentKeyToRenderState||{},s=e.blinkMapMaterialNameToMaterial||{},e.blinkMapComponentKeyToMaterialName={},e.blinkMapComponentKeyToRenderState={},e.blinkMapMaterialNameToMaterial={}}));var u,p=vu(n.keys());try{for(p.s();!(u=p.n()).done;){var g=u.value,m=n.get(g);if(c-m.lastBlinkTime<m.interval){var A,y=vu(m.componentKeys);try{for(y.s();!(A=y.n()).done;){var v=A.value;a[v]&&(m.model.blinkMapComponentKeyToMaterialName[v]=o[v],m.model.blinkMapComponentKeyToRenderState[v]=a[v],m.model.blinkMapMaterialNameToMaterial[m.materialName]=s[m.materialName],d[v]=m.model.blinkMapComponentKeyToRenderState[v])}}catch(e){y.e(e)}finally{y.f()}}else{m.lastBlinkTime=c;var C,I=vu(m.componentKeys);try{for(I.s();!(C=I.n()).done;){var x=C.value;m.model.blinkMapComponentKeyToMaterialName[x]=m.materialName,m.model.blinkMapComponentKeyToRenderState[x]=!r[x]||!r[x],d[x]=m.model.blinkMapComponentKeyToRenderState[x],m.model.blinkMapMaterialNameToMaterial[m.materialName]=m.material,m.model.isUpdateBlink=!0,m.callback&&"function"==typeof m.callback&&m.callback(g,m.model.blinkMapComponentKeyToRenderState[x])}}catch(e){I.e(e)}finally{I.f()}l=!0}}}catch(e){p.e(e)}finally{p.f()}l&&(e.needApplyFilter=!0,r=d,e.render()),t=requestAnimationFrame(f)}this.setComponentBlinkByComponentKeys=function(t,n,r,o,a){e=o,g(t,u(n),r,a,n),i||(f(),i=!0)},this.closeComponentBlinkByComponentKeys=function(e){e.forEach((function(e,t){e.forEach((function(e){p(e,t)}))}))},this.clearBlinkList=function(){h.forEach((function(e){delete e.blinkMapComponentKeyToMaterialName,delete e.blinkMapComponentKeyToRenderState,delete e.blinkMapMaterialNameToMaterial,e.isUpdateBlink=!1})),n=new Map,r={},o={},a=new Map,s={},l={},c={},h=new Set,d={},e.needApplyFilter=!0,e.render()}}var dA=function(){this.className="FilterAction"};dA.prototype.getClassName=function(){return this.className},dA.prototype.applyFilter=function(e){};var uA=function(){dA.call(this),this.className="IdsFilterAction",this.ids=[]};(uA.prototype=Object.create(dA.prototype)).arrayToMap=function(e){for(var t={},i=0;e.length>i;i+=1){var n=e[i];t[n]=n}return t},uA.prototype.constructor=uA,uA.prototype.setIds=function(e){this.ids=e};var pA=function(e,t){uA.call(this),this.className="VisibleIdsFA",this.flag=e,this.isVisible=t};(pA.prototype=Object.create(uA.prototype)).constructor=pA,pA.prototype.applyFilter=function(e){Array.isArray(this.ids)?(e.setVisible(this.ids,this.isVisible,this.flag),e.calculateVisibleComponentsBbox()):Bu.warn("Ids should be type of array.")};var gA=function(e,t){uA.call(this),this.className="OverrideIdsFA",this.flag=e,this.material=t};(gA.prototype=Object.create(uA.prototype)).constructor=gA,gA.prototype.applyFilter=function(e){Array.isArray(this.ids)?e.setMaterial(this.ids,this.material,this.flag):Bu.warn("Ids should be type of array.")};var fA=function(e,t){uA.call(this),this.className="WireframeIdsFA",this.flag=e,this.material=t};(fA.prototype=Object.create(uA.prototype)).constructor=fA,fA.prototype.applyFilter=function(e){Array.isArray(this.ids)?e.setMaterial(this.ids,this.material,this.flag):Bu.warn("Ids should be type of array.")};var mA=function(e){uA.call(this),this.className="IsolateIdsFA",this.isolateHide=e};(mA.prototype=Object.create(uA.prototype)).constructor=mA,mA.prototype.applyFilter=function(e){Array.isArray(this.ids)?(e.clearIsolates(),this.isolateHide?(e.setIsolateHide(this.ids,!0,!1),e.calculateVisibleComponentsBbox()):e.setIsolateTransparent(this.ids,!0,!1)):Bu.warn("Ids should be type of array.")};var AA=function(e,t){uA.call(this),this.className="TransparentIdsFA",this.flag=e,this.isOpaque=t};(AA.prototype=Object.create(uA.prototype)).constructor=AA,AA.prototype.applyFilter=function(e){Array.isArray(this.ids)?e.setTransparent(this.ids,!this.isOpaque,this.flag):Bu.warn("Ids should be type of array.")};var yA=function(){dA.call(this),this.className="ConditionFilterAction",this.conditions=null};(yA.prototype=Object.create(dA.prototype)).constructor=yA;var vA=function(e,t){yA.call(this),this.className="VisibleConditionFA",this.flag=e,this.isVisible=t};(vA.prototype=Object.create(yA.prototype)).constructor=vA,vA.prototype.applyFilter=function(e){var t=this;Array.isArray(this.conditions)?(e.matchConditions(this.conditions,(function(i,n){t.flag===n&&(e.setVisible(i,t.isVisible),i=null)})),e.calculateVisibleComponentsBbox()):Bu.warn("Conditions should be type of array.")};var CA=function(e,t){yA.call(this),this.className="OverrideConditionFA",this.flag=e,this.material=t};(CA.prototype=Object.create(yA.prototype)).constructor=CA,CA.prototype.applyFilter=function(e,t){var i=this;Array.isArray(this.conditions)?e.matchConditions(this.conditions,(function(t,n){i.flag===n&&(e.setMaterial(t,i.material),t=null)})):Bu.warn("Conditions should be type of array.")};var IA=function(e,t){yA.call(this),this.className="TransparentConditionFA",this.flag=e,this.isOpaque=t};(IA.prototype=Object.create(yA.prototype)).constructor=IA,IA.prototype.applyFilter=function(e){var t=this;Array.isArray(this.conditions)?e.matchConditions(this.conditions,(function(i,n){t.flag===n&&(e.setTransparent(i,!t.isOpaque),i=null)})):Bu.warn("Conditions should be type of array.")};var xA=function(e){yA.call(this),this.className="IsolateConditionFA",this.isolateHide=e};(xA.prototype=Object.create(yA.prototype)).constructor=xA,xA.prototype.applyFilter=function(e){e.clearIsolates();var t=this.isolateHide;Array.isArray(this.conditions)?e.matchConditions(this.conditions,(function(i,n){!0!==n?(t?(e.setIsolateHide(i,!n),e.calculateVisibleComponentsBbox()):e.setIsolateTransparent(i,!n),i=null):i=null})):Bu.warn("Conditions should be type of array.")};var wA=function(e){this._activeFilterList=[],this._filterResultModes={},this._defaultReturnValue=e,this._filterPriority=null};wA.prototype.setFilterMode=function(e){this._filterResultModes=e},wA.prototype.setFilterPriority=function(e){this._filterPriority=e},wA.prototype.addBaseFilter=function(e){var t=this._activeFilterList,i=t.indexOf(e);if(null===this._filterPriority)-1===i?t.push(e):i!==t.length-1&&(t.splice(i,1),t.push(e));else if(0===t.length)t.push(e);else{-1!==i&&i!==t.length-1&&t.splice(i,1);for(var n=this._filterPriority[e.getType()],r=0,o=t.length;o>r;r+=1)if(this._filterPriority[t[r].getType()]>n){t.splice(r,0,e);break}r===o&&t.push(e)}},wA.prototype.removeBaseFilter=function(e){var t=this._activeFilterList.indexOf(e);-1!==t&&this._activeFilterList.splice(t,1)},wA.prototype.isEmpty=function(){return 0===this._activeFilterList.length},wA.prototype.hasFilterNotIn=function(e){for(var t=this._activeFilterList,i=t.length-1;i>=0;i-=1){if(void 0===e._filterResultModes[t[i].getType()])return!0}return!1},wA.prototype.apply=function(e){for(var t=this,i=qd,n=null,r=t._activeFilterList.length-1;r>=0;r-=1)switch(t._filterResultModes[(n=t._activeFilterList[r]).getType()]){case i.MATCH_RETURN_TRUE:if(n.match(e))return!0;break;case i.MATCH_RETURN_FALSE:if(n.match(e))return!1;break;case i.NOMATCH_RETURN_TRUE:if(!n.match(e))return!0;break;case i.NOMATCH_RETURN_FALSE:if(!n.match(e))return!1;break;default:return!1}return t._defaultReturnValue},wA.prototype.getApplyFilterId=function(e){for(var t=this,i=qd,n=null,r=t._activeFilterList.length-1;r>=0;r-=1)switch(t._filterResultModes[(n=t._activeFilterList[r]).getType()]){case i.MATCH_RETURN_TRUE:case i.MATCH_RETURN_FALSE:if(n.match(e))return n.getType();break;case i.NOMATCH_RETURN_TRUE:case i.NOMATCH_RETURN_FALSE:if(!n.match(e))return n.getType();break;default:return-1}return-1},Math.log2=Math.log2||function(e){return Math.log(e)/Math.LN2},"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(e){return this.slice(0,e.length)===e}),Array.prototype.remove||Object.defineProperty(Array.prototype,"remove",{enumerable:!1,value:function(e){var t=this.indexOf(e);t>-1&&this.splice(t,1)}}),"undefined"!=typeof window&&og.isIE11()&&function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),i}e.prototype=window.CustomEvent.prototype,window.CustomEvent=e}(),"function"!=typeof String.prototype.startsWith&&(String.prototype.startsWith=function(e){return this.slice(0,e.length)===e}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(e){return-1!==this.indexOf(e,this.length-e.length)}),"undefined"!=typeof window&&(window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder),Number.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},String.prototype.repeat=String.prototype.repeat||function(e){if(1>e)return"";for(var t="",i=this.valueOf();e>1;)1&e&&(t+=i),e>>=1,i+=i;return t+i},Array.prototype.fill||Object.defineProperty(Array.prototype,"fill",{enumerable:!1,value:function(e,t,i){i=void 0===i?this.length:i;for(var n=t=void 0===t?0:t;i>n;n+=1)this[n]=e}}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{enumerable:!1,value:function(e,t){for(var i=this.length,n=0;i>n;n+=1){var r=this[n];if(e.call(t,r,n,this))return r}}}),Array.prototype.hasValue||Object.defineProperty(Array.prototype,"hasValue",{enumerable:!1,value:function(e){return this.indexOf(e)>-1}}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(e,t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(e),n=1;arguments.length>n;n+=1){var r=arguments[n];if(null!=r)for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(i[o]=r[o])}return i},writable:!0,configurable:!0}),ArrayBuffer.prototype.slice||(ArrayBuffer.prototype.slice=function(e,t){if(!t||t>this.byteLength?t=this.byteLength:0>t&&0>(t=this.byteLength+t)&&(t=0),0>e&&0>(e=this.byteLength+e)&&(e=0),e>=t)return new ArrayBuffer;for(var i=t-e,n=new Uint8Array(this,e,i),r=new Uint8Array(i),o=0;i>o;o+=1)r[o]=n[o];return r.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 MA="function"==typeof Symbol&&"symbol"===nu(Symbol.iterator)?function(e){return nu(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":nu(e)};function EA(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var BA,SA=function(){function e(e,t){for(var i=0;t.length>i;i+=1){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();HTMLElement.prototype.tap=function(e){var t=0;this.addEventListener("touchstart",(function(e){t=Date.now()})),this.addEventListener("touchend",(function(i){200>Date.now()-t&&e(i)}))},(Boolean(window.ActiveXObject)||"ActiveXObject"in window)&&(HTMLElement.prototype.remove=function(){var e=this.parentNode||this.parentElement;e&&e.removeChild(this)},window.Element&&((BA=Element.prototype).matches=BA.matches||BA.matchesSelector||BA.webkitMatchesSelector||BA.msMatchesSelector||function(e){for(var t=this,i=(t.parentNode||t.document).querySelectorAll(e),n=-1;i[n+=1]&&i[n]!==t;);return Boolean(i[n])}),window.Element&&function(e){e.closest=e.closest||function(e){for(var t=this;t.matches&&!t.matches(e);)t=t.parentNode;return t.matches?t:null}}(Element.prototype)),SVGElement.prototype.getClass=HTMLElement.prototype.getClass=function(e){return this.getAttribute("class")},SVGElement.prototype.hasClass=HTMLElement.prototype.hasClass=function(e){var t=this.getClass();return!!t&&(t&&t.split(" ")).indexOf(e)>-1},SVGElement.prototype.addClass=HTMLElement.prototype.addClass=function(e){var t=this.getClass(),i=t&&t.split(" ");return t?-1===i.indexOf(e)&&(i.push(e),t=i.join(" "),this.setAttribute("class",String(t))):this.setAttribute("class",String(e)),this},SVGElement.prototype.removeClass=HTMLElement.prototype.removeClass=function(e){if(!this.hasClass(e))return this;var t=this.getClass().replace(e,"").trim();return t?this.setAttribute("class",String(t)):this.removeAttribute("class"),this},SVGElement.prototype.toggleClass=HTMLElement.prototype.toggleClass=function(e,t){this.getClass();var i=this.hasClass(e);return null!=t?(t&&!i&&this.addClass(e),t||this.removeClass(e)):i?this.removeClass(e):this.addClass(e),!i},Array.prototype.getObjectByAttribute||Object.defineProperty(Array.prototype,"getObjectByAttribute",{enumerable:!1,value:function(e,t){for(var i=this,n=i.length,r=0;n>r;r+=1)if(i[r][e]===t)return i[r];return!1}}),Array.prototype.removeObjectByAttribute||Object.defineProperty(Array.prototype,"removeObjectByAttribute",{enumerable:!1,value:function(e,t){for(var i=this,n=i.length,r=0;n>r;r+=1)if(i[r][e]===t)return i=i.splice(r,1);return!1}}),Array.prototype.getAllObjectByAttribute||Object.defineProperty(Array.prototype,"getAllObjectByAttribute",{enumerable:!1,value:function(e,t){for(var i=this,n=i.length,r=0,o=[];n>r;r+=1)i[r][e]===t&&o.push(i[r]);return o}}),Array.prototype.removeByValue||Object.defineProperty(Array.prototype,"removeByValue",{enumerable:!1,value:function(e){for(var t=this,i=t.length-1;i>=0;i-=1)t[i]===e&&t.splice(i,1);return t}}),Array.prototype.insert||Object.defineProperty(Array.prototype,"insert",{enumerable:!1,value:function(e,t){return this.splice(e,0,t),this}}),SVGElement.prototype.setCss=HTMLElement.prototype.setCss=function(e){if(e)for(var t in e)this.style[t]=e[t]},SVGElement.prototype.getCss=HTMLElement.prototype.getCss=function(){return this.style};var bA=function(e,t){this._type=e,this._name=t,this._enabled=!1,this._items={},this._relatedCompoundFilterList=[]};bA.prototype.getType=function(){return this._type},bA.prototype.getName=function(){return this._name},bA.prototype.get=function(){return this._items},bA.prototype.getAll=function(){return this._items},bA.prototype.clearAll=function(){var e=this;e._items={},e._enabled&&(e._enabled=!1,e.enableStateChanged())},bA.prototype.clear=function(){this.clearAll()},bA.prototype.isEmpty=function(){return!this._enabled},bA.prototype.forceEnable=function(){this._enabled||(this._enabled=!0,this.enableStateChanged())},bA.prototype.setByData=function(e){var t=this;!function(e){if(null===e)return!0;if("object"!==(void 0===e?"undefined":MA(e)))return!0;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)?(t._items=e,t._enabled||(t._enabled=!0,t.enableStateChanged())):(t._items={},t._enabled&&(t._enabled=!1,t.enableStateChanged()))},bA.prototype.match=function(e){return!1},bA.prototype.registerToCompoundFilter=function(e){this._relatedCompoundFilterList.push(e)},bA.prototype.enableStateChanged=function(){for(var e=this,t=0,i=e._relatedCompoundFilterList.length;i>t;t+=1)e._enabled?e._relatedCompoundFilterList[t].addBaseFilter(e):e._relatedCompoundFilterList[t].removeBaseFilter(e)};var kA=function(e,t){bA.call(this,e,t)};(kA.prototype=Object.create(bA.prototype)).constructor=kA,kA.prototype.match=function(e){var t=e.userData;return!t||function(e,t){for(var i=!1,n=0,r=e.length;r>n;n+=1){i=!0;var o=e[n];for(var a in o){if(!Array.isArray(o[a])&&t[a]!==o[a]){i=!1;break}if(Array.isArray(o[a])&&-1===o[a].indexOf(t[a])){i=!1;break}}if(i)return!0}return!1}(this._items,t)};var DA=function(e,t){bA.call(this,e,t)};(DA.prototype=Object.create(bA.prototype)).constructor=DA,DA.prototype.add=function(e){var t=this,i=t._items;if(e&&e.length>0){for(var n=0,r=e.length;r>n;n+=1)i[e[n]]=!0;t._enabled||(t._enabled=!0,t.enableStateChanged())}},DA.prototype.remove=function(e){var t=this,i=t._items;if(e&&e.length>0){for(var n=0,r=e.length;r>n;n+=1){var o=e[n];i.hasOwnProperty(o)&&delete i[o]}0===Object.keys(i).length&&t._enabled&&(t._enabled=!1,t.enableStateChanged())}};var TA=function(e,t){DA.call(this,e,t)};(TA.prototype=Object.create(DA.prototype)).constructor=TA,TA.prototype.match=function(e){var t=e.name;if(t){var i=t.indexOf(".");if(-1!==i){var n=t.substring(0,i);return!!this._items[n]}}var r=e.userData;if(r&&(n=r.sceneId))return!!this._items[n];return!1};var RA=function(e,t){DA.call(this,e,t)};(RA.prototype=Object.create(DA.prototype)).constructor=RA,RA.prototype.match=function(e){return!!this._items[e.name]};var UA=function(){this.defaultWireframeColor={color:new pi(0,0,0),opacity:.4},this.wireframeMaterial=new gi(this.defaultWireframeColor),!1===xd.TranslucentDepthDisabled&&(this.wireframeMaterial.transparent=!0),this.instanceWireframeMaterial=cA.createInstanceMaterial(cA.getMaterialParameters(this.wireframeMaterial)),!1===xd.TranslucentDepthDisabled&&(this.instanceWireframeMaterial.transparent=!0),this.wireframeGeometryMap={}};UA.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},UA.prototype.setWireframeColor=function(e,t){this.wireframeMaterial.color=e,this.wireframeMaterial.opacity=t,this.wireframeMaterial.transparent=1!==t,this.instanceWireframeMaterial.color=e,this.instanceWireframeMaterial.opacity=t,this.instanceWireframeMaterial.transparent=1!==t},UA.prototype.getWireframeColor=function(){var e=this.wireframeMaterial.color.clone();return e.opacity=this.wireframeMaterial.opacity,e},UA.prototype.restoreWireframeColor=function(){var e=this.defaultWireframeColor;this.setWireframeColor(e.color,e.opacity)};var FA=function(){new UA;var e=[{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}}],t={};t.selection=cA.createHighlightMaterial(),t.selection.name="selection";for(var i=0,n=e.length;n>i;i+=1){var r=e[i],o=r.name;t[o]=cA.createStandardMaterial(r.param),t[o].createByBos=!0}t.red=t.delete,t.green=t.add,t.yellow=t.beforeEdit,t.blue=t.selection;var a={color:8947848,opacity:.2,transparent:!0,side:2},s=cA.createStandardMaterial(a);s.name="isolate";var l={color:8947848,opacity:.2,transparent:!0,side:2},c=cA.createStandardMaterial(l);c.name="looming";var h={color:0,opacity:1,transparent:!1,wireframe:!0,side:2},d=cA.createStandardMaterial(h);d.name="wireframe",t.wireframe=d;var u={color:15293,side:2},p=cA.createStandardMaterial(u);for(var g in p.name="selected",this.getDefaultMaterialName=function(){return"lightBlue"},this.get=function(e){return t[e]},this.getAll=function(){return t},this.add=function(e){var i,n=null,r={};return e&&e.hasOwnProperty("color")&&(r.color=e.color,r.side=2,e.hasOwnProperty("opacity")&&(r.opacity=e.opacity,r.transparent=1!==e.opacity)),i=this._getMaterialName(e),(n=t[i])||(r.name=i,n=cA.createStandardMaterial(r),t[i]=n,t[i].createByBos=!0),i},this.remove=function(e){var i;i=this._getMaterialName(e),t[i]&&delete t[i]},this.has=function(e){return Boolean(t[e])},this.getMaterialNameByColor=function(e){var i;return i=this._getMaterialName(e),t[i]?i:this.add(e)},this.getMaterialNameByWireframe=function(e){var i;return(i=this._getMaterialName(e))&&!t[i]?this.add(e):i},this.addOverrideMaterial=function(e){if(e){var i=e.name;t[i]||(t[i]=e)}},this.updateOverrideMaterial=function(e){e&&(t[e.name]=e)},this.getMaterialParamsFromName=function(e){var t={},i=e.split("_");return"mat"===i[0]?(t.color=parseInt(i[1],0),t.opacity=1):(t.color=parseInt(i[0],0),t.opacity=parseFloat(i[1],0)),t},this._getMaterialName=function(e){var t=null;return e&&e.hasOwnProperty("color")?t=e.hasOwnProperty("opacity")?e.color+"_"+e.opacity:"mat_"+e.color:e&&e.hasOwnProperty("wireframe")?e.wireframe&&(t="wireframe"):t="mat_"+e,t},this.setWireframeMaterial=function(e){t.wireframe.color.setHex(void 0!==e.color?e.color:h.color),t.wireframe.opacity=void 0!==e.opacity?e.opacity:h.opacity,t.wireframe.transparent=void 0!==e.transparent?e.transparent:h.transparent,t.wireframe.side=void 0!==e.side?e.side:h.side,t.wireframe.needsUpdate=!0},this.getWireframeMaterial=function(){return t.wireframe},this.setFrozonMaterial=function(e){c.color.setHex(void 0!==e.color?e.color:l.color),c.opacity=void 0!==e.opacity?e.opacity:l.opacity,c.transparent=void 0!==e.transparent?e.transparent:l.transparent,c.side=void 0!==e.side?e.side:l.side,c.needsUpdate=!0},this.getFrozonMaterial=function(){return c},this.setSelectedMaterial=function(e){p.color.setHex(void 0!==e.color?e.color:u.color),p.opacity=void 0!==e.opacity?e.opacity:u.opacity,p.transparent=void 0!==e.transparent?e.transparent:u.transparent,p.side=void 0!==e.side?e.side:u.side,p.needsUpdate=!0},this.getSelectedMaterial=function(){return p},this.setIsolateMaterial=function(e){s.color.setHex(void 0!==e.color?e.color:a.color),s.opacity=void 0!==e.opacity?e.opacity:a.opacity,s.transparent=void 0!==e.transparent?e.transparent:a.transparent,s.side=void 0!==e.side?e.side:a.side,s.needsUpdate=!0},this.getIsolateMaterial=function(){return s},this.resetIsolateMaterial=function(){s.color.setHex(a.color),s.opacity=a.opacity,s.transparent=a.transparent,s.side=a.side,s.needsUpdate=!0},t)t[g].createByBos=!0},QA=function(e,t){bA.call(this,e,t)};(QA.prototype=Object.create(bA.prototype)).constructor=QA,QA.prototype.match=function(e){return null!==this.getMatchItem(e)},QA.prototype.getMatchItem=function(e){var t=this._items,i=e.userData,n=!1;if(i)for(var r=t.length,o=0;r>o;o+=1){var a=t[o],s=a.condition;for(var l in n=!0,s)if(s[l]!==i[l]){n=!1;break}if(n)return a}return null};var LA=function(e,t){bA.call(this,e,t)};(LA.prototype=Object.create(bA.prototype)).constructor=LA,LA.prototype.remove=function(e,t){var i=this,n=i._items[e];if(n&&t&&t.length>0){for(var r=0,o=t.length;o>r;r+=1){var a=t[r];n.hasOwnProperty(a)&&delete n[a]}wp.isEmptyObject(i._items)&&i._enabled&&(i._enabled=!1,i.enableStateChanged())}},LA.prototype.add=function(e,t,i){var n=this,r=n._items,o=r[e];if(t&&t.length>0){void 0===i&&(i=!0),o||(o=r[e]={});for(var a=0,s=t.length;s>a;a+=1)o[t[a]]=i;n._enabled||(n._enabled=!0,n.enableStateChanged())}},LA.prototype.clear=function(e){var t=this,i=t._items;i.hasOwnProperty(e)&&(delete i[e],wp.isEmptyObject(i)&&t._enabled&&(t._enabled=!1,t.enableStateChanged()))};var OA=function(e,t){bA.call(this,e,t)};(OA.prototype=Object.create(LA.prototype)).constructor=OA,OA.prototype.match=function(e){return null!==this.getMatchItem(e)},OA.prototype.getMatchItem=function(e){var t=this._items,i=e.name;for(var n in t){var r=t[n];if(r[i])return r[i]}return null};var NA=function(e,t){bA.call(this,e,t)};(NA.prototype=Object.create(LA.prototype)).constructor=NA,NA.prototype.match=function(e){return null!==this.getMatchItem(e)},NA.prototype.getMatchItem=function(e){var t=this._items,i=e.userData;if(i)for(var n in t){var r=t[n],o=i[n];if(o&&void 0!==r[o])return r[o]}return null};var PA=function(){var e=qd,t={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},i=new wA(!0),n=new wA(!0),r=new wA(!1),o=new wA(!0),a=new wA(!1),s=new wA(!1),l=new wA(!1),c=[],h=null,d=null,u=Kd.DISABLED,p=new FA;!function(){c[t.FILE_VISIBLE]=new TA(t.FILE_VISIBLE,"FILE_VISIBLE"),c[t.FILE_HIDDEN]=new TA(t.FILE_HIDDEN,"FILE_HIDDEN"),c[t.VISIBLE]=new RA(t.VISIBLE,"VISIBLE"),c[t.HIDDEN]=new RA(t.HIDDEN,"HIDDEN"),c[t.TRANSLUCENT]=new RA(t.TRANSLUCENT,"TRANSLUCENT"),c[t.TRANSLUCENT_OTHERS]=new RA(t.TRANSLUCENT_OTHERS,"TRANSLUCENT_OTHERS"),c[t.RENDER_PROMOTION]=new RA(t.RENDER_PROMOTION,"RENDER_PROMOTION"),c[t.WIREFRAME]=new RA(t.WIREFRAME,"WIREFRAME"),c[t.COLORFUL]=new RA(t.COLORFUL,"COLORFUL"),c[t.ISOLATE_HIDDEN]=new RA(t.ISOLATE_HIDDEN,"ISOLATE_HIDDEN"),c[t.ISOLATE_HIDDEN_OTHERS]=new RA(t.ISOLATE_HIDDEN_OTHERS,"ISOLATE_HIDDEN_OTHERS"),c[t.ISOLATE_TRANSLUCENT]=new RA(t.ISOLATE_TRANSLUCENT,"ISOLATE_TRANSLUCENT"),c[t.ISOLATE_TRANSLUCENT_OTHERS]=new RA(t.ISOLATE_TRANSLUCENT_OTHERS,"ISOLATE_TRANSLUCENT_OTHERS"),c[t.USER_HIDDEN]=new NA(t.USER_HIDDEN,"USER_HIDDEN"),c[t.USER_OVERRIDE]=new NA(t.USER_OVERRIDE,"USER_OVERRIDE"),c[t.CONDITION_BORDERLINE]=new kA(t.CONDITION_BORDERLINE,"CONDITION_BORDERLINE"),c[t.CONDITION_HIDDEN_OTHERS]=new kA(t.CONDITION_HIDDEN_OTHERS,"CONDITION_HIDDEN_OTHERS"),c[t.CONDITION_TRANSLUCENT_OTHERS]=new kA(t.CONDITION_TRANSLUCENT_OTHERS,"CONDITION_TRANSLUCENT_OTHERS"),c[t.CONDITION_OVERRIDE]=new QA(t.CONDITION_OVERRIDE,"CONDITION_OVERRIDE"),c[t.ISOLATE_CONDITION_HIDDEN]=new kA(t.ISOLATE_CONDITION_HIDDEN,"ISOLATE_CONDITION_HIDDEN"),c[t.ISOLATE_CONDITION_HIDDEN_OTHERS]=new kA(t.ISOLATE_CONDITION_HIDDEN_OTHERS,"ISOLATE_CONDITION_HIDDEN_OTHERS"),c[t.ISOLATE_CONDITION_TRANSLUCENT]=new kA(t.ISOLATE_CONDITION_TRANSLUCENT,"ISOLATE_CONDITION_TRANSLUCENT"),c[t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=new kA(t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS,"ISOLATE_CONDITION_TRANSLUCENT_OTHERS"),d=new RA(t.FROZENFILTER,"FROZENFILTER"),c[t.FROZENCONDITIONFILTER]=new kA(t.FROZENCONDITIONFILTER,"FROZENCONDITIONFILTER"),c[t.FROZENFILTER]=d,h=new OA(t.OVERRIDEFILTER,"OVERRIDEFILTER"),c[t.OVERRIDEFILTER]=h;var u=null,p={};for(u in p[t.HIDDEN]=e.MATCH_RETURN_FALSE,p[t.VISIBLE]=e.NOMATCH_RETURN_FALSE,p[t.USER_HIDDEN]=e.MATCH_RETURN_FALSE,p[t.CONDITION_HIDDEN_OTHERS]=e.NOMATCH_RETURN_FALSE,p[t.ISOLATE_HIDDEN]=e.MATCH_RETURN_FALSE,p[t.ISOLATE_HIDDEN_OTHERS]=e.NOMATCH_RETURN_FALSE,p[t.ISOLATE_CONDITION_HIDDEN_OTHERS]=e.NOMATCH_RETURN_FALSE,i.setFilterMode(p),p)c[u].registerToCompoundFilter(i);var g={};for(u in g[t.FROZENFILTER]=e.MATCH_RETURN_FALSE,g[t.FROZENCONDITIONFILTER]=e.MATCH_RETURN_FALSE,g[t.TRANSLUCENT]=e.MATCH_RETURN_FALSE,g[t.TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_FALSE,g[t.CONDITION_TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_FALSE,g[t.ISOLATE_TRANSLUCENT]=e.MATCH_RETURN_FALSE,g[t.ISOLATE_TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_FALSE,g[t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_FALSE,o.setFilterMode(g),g)c[u].registerToCompoundFilter(o);var f={};f[t.ISOLATE_TRANSLUCENT]=e.MATCH_RETURN_TRUE,f[t.ISOLATE_TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_TRUE,f[t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_TRUE,f[t.CONDITION_TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_TRUE,f[t.TRANSLUCENT]=e.MATCH_RETURN_TRUE,f[t.TRANSLUCENT_OTHERS]=e.NOMATCH_RETURN_TRUE,f[t.OVERRIDEFILTER]=e.MATCH_RETURN_TRUE,f[t.USER_OVERRIDE]=e.MATCH_RETURN_TRUE,f[t.CONDITION_OVERRIDE]=e.MATCH_RETURN_TRUE,f[t.FROZENFILTER]=e.MATCH_RETURN_TRUE,f[t.FROZENCONDITIONFILTER]=e.MATCH_RETURN_TRUE;var m={};for(u in m[t.ISOLATE_TRANSLUCENT]=5,m[t.ISOLATE_TRANSLUCENT_OTHERS]=5,m[t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=5,m[t.CONDITION_TRANSLUCENT_OTHERS]=5,m[t.TRANSLUCENT]=5,m[t.TRANSLUCENT_OTHERS]=5,m[t.OVERRIDEFILTER]=0,m[t.USER_OVERRIDE]=0,m[t.CONDITION_OVERRIDE]=0,m[t.FROZENFILTER]=3,m[t.FROZENCONDITIONFILTER]=3,n.setFilterMode(f),n.setFilterPriority(m),f)c[u].registerToCompoundFilter(n);var A={};for(u in A[t.OVERRIDEFILTER]=e.MATCH_RETURN_TRUE,A[t.USER_OVERRIDE]=e.MATCH_RETURN_TRUE,A[t.CONDITION_OVERRIDE]=e.MATCH_RETURN_TRUE,A[t.CONDITION_TRANSLUCENT_OTHERS]=e.MATCH_RETURN_TRUE,r.setFilterMode(A),A)c[u].registerToCompoundFilter(r);var y={};for(u in y[t.FILE_VISIBLE]=e.NOMATCH_RETURN_TRUE,y[t.FILE_HIDDEN]=e.MATCH_RETURN_TRUE,a.setFilterMode(y),y)c[u].registerToCompoundFilter(a);var v={};for(u in v[t.RENDER_PROMOTION]=e.MATCH_RETURN_TRUE,v[t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS]=e.MATCH_RETURN_TRUE,s.setFilterMode(v),v)c[u].registerToCompoundFilter(s);var C={};for(u in C[t.CONDITION_BORDERLINE]=e.MATCH_RETURN_TRUE,l.setFilterMode(C),C)c[u].registerToCompoundFilter(l)}(),this.getMaterialSelector=function(){return p},this.getBasicFilterList=function(){return c},this.getFilterType=function(){return t},this.saveState=function(){for(var e={},t=null,i=0,n=c.length;n>i;i+=1)e[(t=c[i]).getName()]=t.getAll();return e.sceneState=this.getSceneState(),e.version="1.0",e},this.loadState=function(e){if(this.clearAll(),e.hasOwnProperty("version")){if("1.0"===e.version){for(var i={},n=0,r=c.length;r>n;n+=1)i[c[n].getName()]=n;for(var o in e)"sceneState"!==o&&"version"!==o&&(i.hasOwnProperty(o)?c[i[o]].setByData(e[o]):Bu.warn("Warning: Not supported filter '"+o+"'"))}}else for(var a in e)"sceneState"!==a&&(2>a?c[a].setByData(e[a]):a>2?t.BASICFILTER_COUNT+2>a&&c[a-1].setByData(e[a]):2!==a&&"2"!==a||Bu.warn("Warning: Old version filter data! The selection state is out of the filter, can not restore it."));this.setSceneState(e.sceneState)},this.clear=function(){for(var e=0,i=c.length;i>e;e+=1){var n=c[e].getType();n!==t.FROZENFILTER&&n!==t.CONDITION_BORDERLINE&&c[e].clearAll()}this.setSceneState(Kd.DISABLED)},this.clearAll=function(){for(var e=0,t=c.length;t>e;e+=1)c[e].clearAll();this.setSceneState(Kd.DISABLED)},this.clearIsolate=function(){this.clearAllIsolateList(),this.clearAllIsolateConditions()},this.clearFrozenList=function(){d.clearAll()},this.addToFrozenList=function(e){d.add(e)},this.removeFromFrozenList=function(e){d.remove(e)},this.setFrozenList=function(e){this.clearFrozenList(),this.addToFrozenList(e)},this.setFrozenConditions=function(e){c[t.FROZENCONDITIONFILTER].setByData(e)},this.getFrozenConditions=function(){return c[t.FROZENCONDITIONFILTER].getAll()},this.clearFrozenConditions=function(){c[t.FROZENCONDITIONFILTER].clear()},this.clearFrozen=function(){this.clearFrozenList(),this.clearFrozenConditions()},this.clearAllIdList=function(){var e=null;for(e=t.IDFILTER_OFFSET;t.IDFILTER_ENDOFFSET>=e;e+=1)c[e].clearAll()},this.clearIdList=function(e){var i=t.IDFILTER_OFFSET+e;t.IDFILTER_OFFSET>i||i>t.IDFILTER_ENDOFFSET||c[i].clear()},this.addToIdList=function(e,i){var n=t.IDFILTER_OFFSET+e;t.IDFILTER_OFFSET>n||n>t.IDFILTER_ENDOFFSET||c[n].add(i)},this.removeFromIdList=function(e,i){var n=t.IDFILTER_OFFSET+e;t.IDFILTER_OFFSET>n||n>t.IDFILTER_ENDOFFSET||c[n].remove(i)},this.setIdList=function(e,t){this.clearIdList(e),this.addToIdList(e,t)},this.clearAllOverrideList=function(){h.clearAll()},this.clearOverrideList=function(e){h.clear(e)},this.addToOverrideList=function(e,t,i){t&&t.length>0&&(p.has(i)||(i=p.getDefaultMaterialName()),h.add(e,t,i))},this.removeFromOverrideList=function(e,t){h.remove(e,t)},this.setOverrideList=function(e,t,i){this.clearOverrideList(e),this.addToOverrideList(e,t,i)},this.addToOverrideListByColor=function(e,t,i){var n=p.add(i);h.add(e,t,n)},this.setOverrideListByColor=function(e,t,i){this.clearOverrideList(e),this.addToOverrideListByColor(e,t,i)},this.clearAllUserList=function(){var e=null;for(e=t.USERFILTER_OFFSET;t.USERFILTER_ENDOFFSET>=e;e+=1)c[e].clearAll()},this.clearUserListByType=function(e){var i=t.USERFILTER_OFFSET+e;t.USERFILTER_OFFSET>i||i>t.USERFILTER_ENDOFFSET||c[i].clearAll()},this.clearUserList=function(e,i){var n=t.USERFILTER_OFFSET+e;t.USERFILTER_OFFSET>n||n>t.USERFILTER_ENDOFFSET||c[n].clear(i)},this.addToUserList=function(e,i,n,r){var o=t.USERFILTER_OFFSET+e;t.USERFILTER_OFFSET>o||o>t.USERFILTER_ENDOFFSET||c[o].add(i,n,r)},this.removeFromUserList=function(e,i,n){var r=t.USERFILTER_OFFSET+e;t.USERFILTER_OFFSET>r||r>t.USERFILTER_ENDOFFSET||c[r].remove(i,n)},this.setUserList=function(e,t,i,n){this.clearUserList(e,t),this.addToUserList(e,t,i,n)},this.isIsolate=function(){var e=null;for(e=t.ISOLATEFILTER_OFFSET;t.ISOLATEFILTER_ENDOFFSET>=e;e+=1)if(!c[e].isEmpty())return!0;return!1},this.isFiltering=function(){return!!this.isIsolate()||!(c[t.HIDDEN].isEmpty()&&c[t.VISIBLE].isEmpty()&&c[t.TRANSLUCENT].isEmpty()&&c[t.TRANSLUCENT_OTHERS].isEmpty()&&this.getSceneState()===Kd.DISABLED)},this.setFrozonMaterial=function(e){p.setFrozonMaterial(e)},this.getFrozonMaterial=function(){return p.getFrozonMaterial()},this.setSelectedMaterial=function(e){p.setSelectedMaterial(e)},this.getSelectedMaterial=function(){return p.getSelectedMaterial()},this.setIsolateMaterial=function(e){p.setIsolateMaterial(e)},this.getIsolateMaterial=function(){return p.getIsolateMaterial()},this.resetIsolateMaterial=function(){p.resetIsolateMaterial()},this.clearAllIsolateList=function(){var e=null;for(e=t.ISOLATEFILTER_OFFSET;t.ISOLATEFILTER_ENDOFFSET>=e;e+=1)c[e].clear()},this.clearIsolateList=function(e){var i=t.ISOLATEFILTER_OFFSET+e;t.ISOLATEFILTER_OFFSET>i||i>t.ISOLATEFILTER_ENDOFFSET||c[i].clear()},this.addToIsolateList=function(e,i){var n=t.ISOLATEFILTER_OFFSET+e;t.ISOLATEFILTER_OFFSET>n||n>t.ISOLATEFILTER_ENDOFFSET||c[n].add(i)},this.removeFromIsolateList=function(e,i){var n=t.ISOLATEFILTER_OFFSET+e;t.ISOLATEFILTER_OFFSET>n||n>t.ISOLATEFILTER_ENDOFFSET||c[n].remove(i)},this.setIsolateList=function(e,t){this.clearIsolateList(e),this.addToIsolateList(e,t)},this.setIsolateConditions=function(e,i){var n=t.ISOLATECONDITIONFILTER_OFFSET+i;t.ISOLATECONDITIONFILTER_OFFSET>n||n>t.ISOLATECONDITIONFILTER_ENDOFFSET||c[n].setByData(e)},this.getIsolateConditions=function(e){var i=null,n=t.ISOLATECONDITIONFILTER_OFFSET+e;return t.ISOLATECONDITIONFILTER_OFFSET>n||n>t.ISOLATECONDITIONFILTER_ENDOFFSET||(i=c[n].getAll()),i},this.clearIsolateConditions=function(e){var i=t.ISOLATECONDITIONFILTER_OFFSET+e;t.ISOLATECONDITIONFILTER_OFFSET>i||i>t.ISOLATECONDITIONFILTER_ENDOFFSET||c[i].clear()},this.clearAllIsolateConditions=function(){var e=null;for(e=t.ISOLATECONDITIONFILTER_OFFSET;t.ISOLATECONDITIONFILTER_ENDOFFSET>=e;e+=1)c[e].clearAll()},this.setConditions=function(e,i){var n=t.CONDITIONFILTER_OFFSET+e;t.CONDITIONFILTER_OFFSET>n||n>t.CONDITIONFILTER_ENDOFFSET||c[n].setByData(i)},this.getConditions=function(e){var i=null,n=t.CONDITIONFILTER_OFFSET+e;return t.CONDITIONFILTER_OFFSET>n||n>t.CONDITIONFILTER_ENDOFFSET||(i=c[n].get()),i},this.clearConditions=function(e){var i=t.CONDITIONFILTER_OFFSET+e;t.CONDITIONFILTER_OFFSET>i||i>t.CONDITIONFILTER_ENDOFFSET||c[i].clearAll()},this.clearAllConditions=function(){var e=null;for(e=t.CONDITIONFILTER_OFFSET;t.CONDITIONFILTER_ENDOFFSET>=e;e+=1)c[e].clear()},this.makeSceneTranslucent=function(){this.setSceneState(Kd.TRANSLUCENT)},this.cancelSceneTranslucent=function(){this.setSceneState(Kd.DISABLED)},this.hideScene=function(){this.setSceneState(Kd.HIDDEN)},this.showScene=function(){this.setSceneState(Kd.DISABLED)},this.setSceneState=function(e){u=e},this.getSceneState=function(){return u},this.cancelTranslucent=function(){this.clearIdList(Od.TRANSLUCENT),this.clearIdList(Od.TRANSLUCENT_OTHERS)},this._addIdsToFilter=function(e,i){var n=t.IDFILTER_OFFSET+e;t.IDFILTER_OFFSET>n||n>t.IDFILTER_ENDOFFSET||c[n].add(i)},this.hideByIds=function(e){this._addIdsToFilter(Od.HIDDEN,e)},this.showByIds=function(e){this._addIdsToFilter(Od.VISIBLE,e)},this.makeTranslucentByIds=function(e){this._addIdsToFilter(Od.TRANSLUCENT,e)},this.makeTranslucentOthersByIds=function(e){this._addIdsToFilter(Od.TRANSLUCENT_OTHERS,e)},this._isVisible=function(e){return this.getSceneState()!==Kd.HIDDEN&&i.apply(e)},this._isSelectable=function(e){return this.getSceneState()!==Kd.TRANSLUCENT&&o.apply(e,this.getSceneState())},this._isSelectableById=function(e){return!d.get()[e]},this.getMaterialNameByColor=function(e){return p.getMaterialNameByColor(e)},this.getMaterialNameByWireframe=function(e){return p.getMaterialNameByWireframe(e)},this.addOverrideMaterial=function(e){p.addOverrideMaterial(e)},this.updateOverrideMaterial=function(e){p.updateOverrideMaterial(e)},this.getMaterialByName=function(e){return p.get(e)},this._getOverrideMaterial=function(e){if(this.getSceneState()===Kd.TRANSLUCENT)return p.get("scene");var i=n.getApplyFilterId(e),r=null,o="";switch(i){case t.ISOLATE_TRANSLUCENT:case t.ISOLATE_TRANSLUCENT_OTHERS:case t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS:r=this.getIsolateMaterial();break;case t.CONDITION_TRANSLUCENT_OTHERS:case t.TRANSLUCENT:case t.TRANSLUCENT_OTHERS:r=p.get("scene");break;case t.FROZENFILTER:case t.FROZENCONDITIONFILTER:break;case t.OVERRIDEFILTER:case t.USER_OVERRIDE:case t.CONDITION_OVERRIDE:var a=c[i].getMatchItem(e);o=a.hasOwnProperty("color")?p.getMaterialNameByColor(a.color):a.material?a.material:a}return r||""===o||(p.has(o)||(o=p.getDefaultMaterialName()),r=p.get(o)),r},this._getMaterialName=function(e){if(this.getSceneState()===Kd.TRANSLUCENT)return"scene";var i=n.getApplyFilterId(e),r="";switch(i){case t.ISOLATE_TRANSLUCENT:case t.ISOLATE_TRANSLUCENT_OTHERS:case t.ISOLATE_CONDITION_TRANSLUCENT_OTHERS:r=this.getIsolateMaterial().name;break;case t.CONDITION_TRANSLUCENT_OTHERS:case t.TRANSLUCENT:case t.TRANSLUCENT_OTHERS:r="scene";break;case t.FROZENFILTER:case t.FROZENCONDITIONFILTER:break;case t.OVERRIDEFILTER:case t.USER_OVERRIDE:case t.CONDITION_OVERRIDE:var o=c[i].getMatchItem(e);r=o.hasOwnProperty("color")?p.getMaterialNameByColor(o.color):o.material?o.material:o}return r},this._getMaterialByName=function(e){return e instanceof ai?e:"isolate"===e?p.getIsolateMaterial():"looming"===e||"scene"===e?p.getFrozonMaterial():"selected"===e?p.getSelectedMaterial():p.get(e)},this._hasHighPriorityOverrideMaterial=function(e){return this.getSceneState()===Kd.TRANSLUCENT||r.apply(e)},this._hasOverrideMaterial=function(e){return this.getSceneState()===Kd.TRANSLUCENT||r.apply(e)||n.apply(e)},this._isHiddenFileId=function(e){return a.apply(e)},this._hasHiddenFileIdFilter=function(){return!a.isEmpty()},this._hasVisibleFilter=function(){return this.getSceneState()===Kd.HIDDEN||!i.isEmpty()},this._hasPickableFilter=function(){return this.getSceneState()===Kd.TRANSLUCENT||!o.isEmpty()},this._hasOverrideMaterialFilter=function(){return this.getSceneState()===Kd.TRANSLUCENT||!n.isEmpty()},this._hasLowPriorityOverride=function(){return n.hasFilterNotIn(r)},this._isRenderPromotion=function(e){return s.apply(e)},this._hasRenderPromotionFilter=function(){return!s.isEmpty()},this._isRenderWithBoardline=function(e){return l.apply(e)},this._hasRenderWithBoardlineFilter=function(){return!l.isEmpty()},this._getFilterObjectsKeys=function(e){var t=c[e].get(),i=[];for(var n in t)i.push(n);return i}},GA=function(e){this.materialSelector=e;var t=function(e){var t=[];for(var i in e)!0===e[i]&&t.push(i);return t};this.saveState=function(e){var t=e.getIsolateFilterAction(),i=e.getModelIsolateFilterAction(),n=e.getFilterActionList(),r={isolateAction:t,modelIsolateAction:i,modelActions:e.getModelFilterActionList(),actions:n,sceneState:e.getSceneState(),version:"1.0"};return JSON.stringify(r)},this.createAction=function(e){var t=e.className,i=null;switch(t){case"IsolateIdsFA":(i=new mA(e.isolateHide)).ids=e.ids;break;case"VisibleIdsFA":(i=new pA(e.flag,e.isVisible)).ids=e.ids;break;case"OverrideIdsFA":if(r=e.material){var n=this.materialSelector.getMaterialNameByColor({opacity:e.material.opacity,color:e.material.color});r=this.materialSelector.get(n)}(i=new gA(e.flag,r)).ids=e.ids;break;case"TransparentIdsFA":(i=new AA(e.flag,e.isOpaque)).ids=e.ids;break;case"VisibleConditionFA":(i=new vA(e.flag,e.isVisible)).conditions=e.conditions;break;case"OverrideConditionFA":var r;if(r=e.material){n=this.materialSelector.getMaterialNameByColor({opacity:r.opacity,color:r.color});r=this.materialSelector.get(n)}(i=new CA(e.flag,r)).conditions=e.conditions;break;case"TransparentConditionFA":(i=new IA(e.flag,e.isOpaque)).conditions=e.conditions;break;case"IsolateConditionFA":(i=new xA(e.isolateHide)).conditions=e.conditions;break;default:Bu.warn("Warning: Not supported filterAction '"+t+"'")}return i},this.createActionByOldFilter=function(e,i){var n=[];switch(e){case"CONDITION_OVERRIDE":for(var r=[],o=0;i.length>o;o+=1){var a=i[o];r.push(a.condition)}var s=this.materialSelector.add(p=a.color),l=this.materialSelector.get(s);(g=new CA(!0,l)).conditions=r,n.push(g);break;case"CONDITION_TRANSLUCENT_OTHERS":(g=new IA(!1,!1)).conditions=i,n.push(g);break;case"ISOLATE_CONDITION_HIDEEN_OTHERS":(g=new xA(!0)).conditions=i,n.push(g);break;case"ISOLATE_CONDITION_TRANSLUCENT_OTHERS":(g=new xA(!1)).conditions=i,n.push(g);break;case"ISOLATE_HIDDEN_OTHERS":(g=new mA(!0)).ids=t(i),n.push(g);break;case"ISOLATE_TRANSLUCENT_OTHERS":(g=new mA(!1)).ids=t(i),n.push(g);break;case"OVERRIDEFILTER":for(var c in i)if(i.hasOwnProperty(c)){var h=[],d=i[c];for(var u in d)h.push(u);var p=this.materialSelector.getMaterialParamsFromName(d[u]);s=this.materialSelector.add(p),l=this.materialSelector.get(s);(g=new gA(!0,l)).ids=h,n.push(g)}break;case"TRANSLUCENT":(g=new AA(!0,!1)).ids=t(i),n.push(g);break;case"TRANSLUCTANT_OTHERS":(g=new AA(!1,!1)).ids=t(i),n.push(g);break;case"VISIBLE":var g;(g=new pA(!0,!0)).ids=t(i),n.push(g);break;default:Bu.warn("Warning: Not supported filter '"+e+"'")}return n},this.loadState=function(e,t){t.clearFilterActionList(),t.clearModelFilterActionList(),t.getObjectInfoManager().resetAll(),t.getModelInfoManager().resetAll();var i=JSON.parse(e);if(i.hasOwnProperty("version")&&"1.0"===i.version){var n=i.isolateAction;if(n){var r=this.createAction(n);t.pushBack(r)}for(var o=i.actions,a=0;o.length>a;a+=1){r=this.createAction(o[a]);t.pushBack(r)}var s=i.modelIsolateAction;if(s){r=this.createAction(s);t.pushModelBack(r)}for(var l=i.modelActions,c=0;l.length>c;c+=1){r=this.createAction(l[c]);t.pushModelBack(r)}}t.setSceneState(i.sceneState)}},KA=function(){var e={},t=[],i=!1,n=!1,r=!1,o=!1,a=!1,s=new He;this.init=function(e){},this.clearData=function(){},this.getObjectsMap=function(){},this.add=function(i){e[i]={state:Nd.Visible,modelKey:i,material:null},t=Object.keys(e)},this.remove=function(i){delete e[i],t=Object.keys(e)},this.calculateVisibleComponentsBbox=function(){},this.getVisibleComponentsBbox=function(){return s.isEmpty()&&this.calculateVisibleComponentsBbox(),s},this.arrayToMap=function(e){for(var t={},i=0;e.length>i;i+=1){var n=e[i];t[n]=n}return t},this.isMatchConditions=function(e,t){for(var i=!0,n=0,r=t.length;r>n;n+=1){var o=t[n];for(var a in o){if(!Array.isArray(o[a])&&e[a]!==o[a]){i=!1;break}if(Array.isArray(o[a])&&-1===o[a].indexOf(e[a])){i=!1;break}}if(!0===i)break;t.length-1>n&&(i=!0)}return i},this.matchConditions=function(e,t){},this.setVisible=function(i,r,o){var a=function(e){r?e.state=Nd.Visible:(n=!0,e.state&=~Nd.Visible)};if(void 0===o||!0===o)for(var s=0,l=i.length;l>s;s+=1)e.hasOwnProperty(i[s])&&a(e[i[s]]);else for(var c=this.arrayToMap(i),h=0,d=t.length;d>h;h+=1)c.hasOwnProperty(t[h])||a(e[t[h]])},this.isVisible=function(t){if(e.hasOwnProperty(t))return e[t].state&Nd.Visible>0},this.clearVisible=function(){for(var t in n=!1,e){if(e.hasOwnProperty(t))e[t].state=Nd.Visible}},this.hideAll=function(){for(var t in n=!0,e){if(e.hasOwnProperty(t))e[t].state&=~Nd.Visible}},this.setTransparent=function(n,r,a){var s=function(e){r?(e.state|=Nd.Transparent,i=!0,o=!0):e.state&=~Nd.Transparent};if(void 0===a||!0===a)for(var l=0,c=n.length;c>l;l+=1)e.hasOwnProperty(n[l])&&s(e[n[l]]);else for(var h=this.arrayToMap(n),d=0,u=t.length;u>d;d+=1)h.hasOwnProperty(t[d])||s(e[t[d]])},this.isTransparent=function(t){if(e.hasOwnProperty(t)){var i=e[t],n=(i.state&Nd.Transparent)>0;return n=n||(i.state&Nd.TransparentByIsolate)>0}},this.clearTransparent=function(){for(var t in o=!1,e){if(e.hasOwnProperty(t))e[t].state&=~Nd.Transparent}},this.setMaterial=function(n,r,o){if(void 0===o||!0===o)for(var a=0,s=n.length;s>a;a+=1){if(e.hasOwnProperty(n[a]))e[n[a]].material=r,i=!0}else for(var l=this.arrayToMap(n),c=0,h=t.length;h>c;c+=1){if(!l.hasOwnProperty(t[c]))e[t[c]].material=r,i=!0}},this.getMaterial=function(t){if(e.hasOwnProperty(t))return e[t].material},this.clearMaterial=function(){for(var t in e){e[t].material=null}},this.setIsolateHide=function(i,n,o){var a=function(e){n?(r=!0,e.state|=Nd.HideByIsolate):e.state&=~Nd.HideByIsolate};if(void 0===o||!0===o)for(var s=0,l=i.length;l>s;s+=1)e.hasOwnProperty(i[s])&&a(e[i[s]]);else for(var c=this.arrayToMap(i),h=0,d=t.length;d>h;h+=1)c.hasOwnProperty(t[h])||a(e[t[h]])},this.isIsolateHide=function(t){if(e.hasOwnProperty(t))return(e[t].state&Nd.HideByIsolate)>0},this.setIsolateTransparent=function(n,r,o){var s=function(e){r?(e.state|=Nd.TransparentByIsolate,i=!0,a=!0):e.state&=~Nd.TransparentByIsolate};if(void 0===o||!0===o)for(var l=0,c=n.length;c>l;l+=1)e.hasOwnProperty(n[l])&&s(e[n[l]]);else for(var h=this.arrayToMap(n),d=0,u=t.length;u>d;d+=1)h.hasOwnProperty(t[d])||s(e[t[d]])},this.isIsolateTransparent=function(t){if(e.hasOwnProperty(t))return(e[t].state&Nd.TransparentByIsolate)>0},this.clearIsolateHide=function(){r=!1;var t=Object.keys(e);t.length>0&&this.setIsolateHide(t,!1)},this.clearIsolates=function(){a=!1,r=!1;var t=Object.keys(e);t.length>0&&(this.setIsolateHide(t,!1),this.setIsolateTransparent(t,!1))},this.clearTransparentByIsolate=function(){for(var t in a=!1,e){if(e.hasOwnProperty(t))e[t].state&=~Nd.TransparentByIsolate}},this.isHidden=function(t){if(e.hasOwnProperty(t)){var i=e[t],n=0==(i.state&Nd.Visible);return n=n||(i.state&Nd.HideByIsolate)>0}},this.isFrozen=function(t){if(e.hasOwnProperty(t)){var i=e[t],n=(i.state&Nd.Transparent)>0;return n=n||(i.state&Nd.TransparentByIsolate)>0}},this.resetAll=function(){for(var t in e)e.hasOwnProperty(t)&&(e[t].state=Nd.Visible,e[t].material=null);i=!1,n=r=!1,o=a=!1},this.hasOverrideMaterial=function(t){return void 0===t?i:e.hasOwnProperty(t)?null!==e[t].material||this.isTransparent(t):void 0},this.hasObjectHidden=function(){return n||r},this.hasObjectCantSelected=function(){return n||o||a},this.hasObjectTransparent=function(){return o||a}},VA=new yt,YA=new At;new ct;var HA=new Ke,jA=new Ke,WA=new Ke,JA=new ke,zA=new ke,qA=new ke,ZA=new Ke,XA=new Ke,_A=new Ke,$A=new yt,ey=new Le,ty=new Le,iy=new Le(1,1,1,1);function ny(e,t,i,n,r,o,a,s){HA.fromBufferAttribute(n,o),jA.fromBufferAttribute(n,a),WA.fromBufferAttribute(n,s);var l=function(e,t,i,n,r,o,a){var s=e.material;if(null===(Array.isArray(s)?i.intersectTriangle(n,r,o,!1,a):1===s.side?i.intersectTriangle(o,r,n,!0,a):i.intersectTriangle(n,r,o,2!==s.side,a)))return null;_A.copy(a),_A.applyMatrix4($A);var l=t.ray.origin.distanceTo(_A);return t.near>l||l>t.far?null:{distance:l,point:_A.clone(),object:e}}(e,t,i,HA,jA,WA,XA);if(l){if(r&&r.array&&r.array.length&&(JA.fromBufferAttribute(r,o),zA.fromBufferAttribute(r,a),qA.fromBufferAttribute(r,s),l.uv=function(e,t,i,n,r,o,a){return ri.getBarycoord(e,t,i,n,ZA),r.multiplyScalar(ZA.x),o.multiplyScalar(ZA.y),a.multiplyScalar(ZA.z),r.add(o).add(a),r.clone()}(XA,HA,jA,WA,JA,zA,qA)),n.instanceMatrix){var c=HA.clone().applyMatrix4(n.instanceMatrix),h=jA.clone().applyMatrix4(n.instanceMatrix),d=WA.clone().applyMatrix4(n.instanceMatrix),u={a:o,b:a,c:s,normal:ri.getNormal(c,h,d,new Ke),materialIndex:0};l.face=u}else{var p={a:o,b:a,c:s,normal:ri.getNormal(HA,jA,WA,new Ke),materialIndex:0};l.face=p}l.faceIndex=o}return l}new Le(1,1,1,1);var ry=function(e){lu(i,e);var t=pu(i);function i(e,n,r,o){var a;if(ru(this,i),a=t.call(this,e,n,r),o){a.instanceMatrices=[],a.instanceColors=[],a.instanceShows=[],a.instanceDiffuses=[],a.multiCounts=[];for(var s=0;o.length>s;++s)a.instanceMatrices.push(new Ai(new Float32Array(16*o[s]),16)),a.instanceColors.push(new Ai(new Float32Array(4*o[s]),4)),a.instanceShows.push(new Ai(new Float32Array(new Array(4*o[s]).fill(1)),4)),a.instanceDiffuses.push(new Ai(new Float32Array(new Array(4*o[s]).fill(1)),4)),a.multiCounts.push(o[s])}return a}return au(i,[{key:"setInstanceMatrixAt",value:function(e,t,i){this.instanceMatrices&&this.instanceMatrices.length>e&&(i.toArray(this.instanceMatrices[e].array,16*t),this.instanceMatrices[e].needsUpdate=!0)}},{key:"getInstanceMatrixAt",value:function(e,t){return jg(t)||(t=new yt),t.fromArray(this.instanceMatrices[e].array),t}},{key:"setInstanceColorAt",value:function(e,t,i){this.instanceColors&&this.instanceColors.length>e&&(i.toArray(this.instanceColors[e].array,4*t),this.instanceColors[e].needsUpdate=!0)}},{key:"getInstanceColorAt",value:function(e){return ey.fromArray(this.instanceColors[e].array,0)}},{key:"setInstanceDiffuseAt",value:function(e,t,i){this.instanceDiffuses&&this.instanceDiffuses.length>e&&(i.toArray(this.instanceDiffuses[e].array,4*t),this.instanceDiffuses[e].needsUpdate=!0)}},{key:"getInstanceDiffuseAt",value:function(e){return ty.fromArray(this.instanceDiffuses[e].array,0)}},{key:"setInstanceShowAt",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.instanceShows&&this.instanceShows.length>e&&(this.instanceShows[e].array[0]=Number(t),this.instanceShows[e].needsUpdate=!0)}},{key:"getInstanceShowAt",value:function(e){return Boolean(this.instanceShows[e].array[0])}},{key:"raycastByIndices",value:function(e,t,i,n){if(n){var r=this.geometry,o=this.material;if(($A=new yt).multiplyMatrices(this.matrixWorld,n),void 0===o)return;VA.copy($A).invert(),YA.copy(e.ray).applyMatrix4(VA);var a,s=null,l=r.attributes.position,c=r.attributes.uv,h=null,d=i.indexStart,u=i.indexStart+i.indexCount,p=r.getIndex().array;for(h=d,a=u;a>h;h+=3)(s=ny(this,e,YA,l,c,p[h],p[h+1],p[h+2]))&&(s.faceIndex=Math.floor(h/3),t.push(s))}}}]),i}(Ba);ry.prototype.isInstancedMeshEx=!0;var oy=function(){var e={},t={};this.init=function(i){for(var n in e=i)t.hasOwnProperty(n)&&!wp.isEmptyObject(t[n])||wp.isEmptyObject(e[n])||(t[n]=Object.keys(e[n]))},this.reinit=function(i){for(var n in t={},e=i)t[n]=Object.keys(i[n])},this.clear=function(){e={},t={}},this.getObjectsMap=function(){return e},this.getObjectIds=function(e){return t.hasOwnProperty(e)?t[e]:[]}},ay=new Le,sy=function(){var e=new oy,t=!1,i=!1,n=!1,r=!1,o=!1,a=!1,s=new He,l=!1;this.inactivatedIdMap={},this.inactivatedIds=[],this.bIsInactivateAll=!1,this.init=function(t){e.init(t)},this.reinit=function(t){e.reinit(t)},this.clearData=function(){e.clear()},this.getObjectsMap=function(){return e.getObjectsMap()},this.calculateVisibleComponentsBbox=function(){s.makeEmpty();var t=e.getObjectsMap();for(var i in t)for(var n=t[i],r=e.getObjectIds(i),o=null,a=0,c=r.length;c>a;a+=1){var h=r[a];if(!this.isHidden(h)){var d=n[h][0];if(d.boundingBox){!o&&d.model&&(o=d.model.getModelMatrix());var u=d.boundingBox.clone();o&&u.applyMatrix4(o),u.isEmpty()||(s.expandByPoint(u.min),s.expandByPoint(u.max))}}}l=!1},this.getVisibleComponentsBbox=function(){return(l||s.isEmpty())&&this.calculateVisibleComponentsBbox(),s},this.needUpdateBoxAfterExplode=function(){l=!0},this.arrayToMap=function(e){for(var t={},i=0;e.length>i;i+=1){var n=e[i];t[n]=n}return t},this.isMatchConditions=function(e,t){for(var i=!0,n=0,r=t.length;r>n;n+=1){var o=t[n];for(var a in o){if(!Array.isArray(o[a])&&e[a]!==o[a]){i=!1;break}if(Array.isArray(o[a])&&-1===o[a].indexOf(e[a])){i=!1;break}}if(!0===i)break;t.length-1>n&&(i=!0)}return i},this.matchConditions=function(t,i){var n=e.getObjectsMap();for(var r in n)for(var o=[],a=[],s=n[r],l=e.getObjectIds(r),c=0,h=l.length;h>c;c+=1){var d=l[c],u=s[d][0].userData||{};u.elementId=s[d][0].userId,this.isMatchConditions(u,t)?o.push(d):a.push(d)}i&&i(o,!0),i&&i(a,!1)},this.getMatchIds=function(t){var i=e.getObjectsMap(),n=[];for(var r in i)for(var o=i[r],a=e.getObjectIds(r),s=0,l=a.length;l>s;s+=1){var c=a[s],h=o[c][0].userData||{};h.elementId=o[c][0].userId,!0===this.isMatchConditions(h,t)&&n.push(c)}return n},this.setVisible=function(t,i,r){var o=function(e,t){if(i?e.state=Nd.Visible:(n=!0,e.state&=~Nd.Visible),e.isMixNode){var r,o=vu(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;a.mesh.setInstanceShowAt(a.groupIndex,i)}}catch(e){o.e(e)}finally{o.f()}}},a=e.getObjectsMap();for(var s in a){var l=a[s];if(void 0===r||!0===r)for(var c=0,h=t.length;h>c;c+=1){if(l.hasOwnProperty(m=t[c])&&this.isActive(m)){var d=l[m][0];o(d,l[m])}}else{for(var u=this.arrayToMap(t),p=e.getObjectIds(s),g=0,f=p.length;f>g;g+=1){var m;!u.hasOwnProperty(m=p[g])&&this.isActive(m)&&o(d=l[m][0])}u=null}}},this.isVisible=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t))return r[t][0].state&Nd.Visible>0}},this.getInvisibleComponentList=function(){var t=[],i=e.getObjectsMap();for(var n in i){var r=i[n];for(var o in r)r.hasOwnProperty(o)&&this.isHidden(o)&&!this.inactivatedIdMap[o]&&t.push(o)}return t},this.getInactivatedComponentList=function(){return[].concat(this.inactivatedIds)},this.clearVisible=function(){var t=e.getObjectsMap();for(var i in n=!1,this.inactivatedIds.length>0&&(n=!0),t)for(var r=t[i],o=e.getObjectIds(i),a=0,s=o.length;s>a;a+=1){var l=o[a],c=r[l][0];this.isActive(l)&&(c.state=Nd.Visible)}},this.hideAll=function(){var t=e.getObjectsMap();for(var i in n=!0,t)for(var r=t[i],o=e.getObjectIds(i),a=0,s=o.length;s>a;a+=1){r[o[a]][0].state&=~Nd.Visible}},this.setTransparent=function(i,n,r){var a=function(e){n?(e.state|=Nd.Transparent,t=!0,o=!0):e.state&=~Nd.Transparent},s=e.getObjectsMap();for(var l in s){var c=s[l];if(void 0===r||!0===r)for(var h=0,d=i.length;d>h;h+=1){if(this.isActive(A=i[h])&&c.hasOwnProperty(A)){var u=c[A][0];a(u)}}else{for(var p=this.arrayToMap(i),g=e.getObjectIds(l),f=0,m=g.length;m>f;f+=1){var A;this.isActive(A=g[f])&&!p.hasOwnProperty(A)&&a(u=c[A][0])}p=null}}},this.isTransparent=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t)&&this.isActive(t)){var o=r[t][0],a=(o.state&Nd.Transparent)>0;return a=a||(o.state&Nd.TransparentByIsolate)>0}}},this.getTransparentComponentList=function(){var t=[],i=e.getObjectsMap();for(var n in i){var r=i[n];for(var o in r)if(r.hasOwnProperty(o)&&this.isActive(o)){var a=r[o][0],s=(a.state&Nd.Transparent)>0;(s=s||(a.state&Nd.TransparentByIsolate)>0)&&t.push(o)}}return t},this.clearTransparent=function(){var t=e.getObjectsMap();for(var i in o=!1,t)for(var n=t[i],r=e.getObjectIds(i),a=0,s=r.length;s>a;a+=1){var l=r[a];if(this.isActive(l))n[l][0].state&=~Nd.Transparent}},this.setMaterial=function(i,n,r){var o=e.getObjectsMap();for(var a in o){var s=o[a];if(void 0===r||!0===r)for(var l=0,c=i.length;c>l;l+=1){if(this.isActive(m=i[l])&&s.hasOwnProperty(m)){var h=s[m][0];if(h.material=n,t=!0,h.isMixNode){if(jg(n)){var d=n.color;ay.set(d.r,d.g,d.b,n.opacity)}else ay.copy(iy);h.mesh.setInstanceDiffuseAt(h.groupIndex,h.subInstanceIndex,ay)}}}else{for(var u=this.arrayToMap(i),p=e.getObjectIds(a),g=0,f=p.length;f>g;g+=1){var m;this.isActive(m=p[g])&&!u.hasOwnProperty(m)&&((h=s[m][0]).material=n,t=!0)}u=null}}},this.getMaterial=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t))return r[t][0].material}},this.clearMaterial=function(){var t=e.getObjectsMap();for(var i in t){var n=t[i];for(var r in n)this.isActive(r)&&(n[r][0].material=null)}},this.setWireFrameMaterial=function(t,n,r){var o=e.getObjectsMap();for(var a in o){var s=o[a];if(void 0===r||!0===r)for(var l=0,c=t.length;c>l;l+=1){if(s.hasOwnProperty(f=t[l])){var h=s[f][0];h.wireFrameMaterial=n,i=!0}}else{for(var d=this.arrayToMap(t),u=e.getObjectIds(a),p=0,g=u.length;g>p;p+=1){var f;d.hasOwnProperty(f=u[p])||((h=s[f][0]).wireFrameMaterial=n,i=!0)}d=null}}},this.getWireFrameMaterial=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t))return r[t][0].wireFrameMaterial}},this.clearWireFrameMaterial=function(){var t=e.getObjectsMap();for(var i in t){var n=t[i];for(var r in n)n[r][0].wireFrameMaterial=null}},this.clearMaterialByKey=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];for(var o in r)-1!==t.indexOf(o)&&(r[o][0].material=null)}},this.setIsolateHide=function(t,i,n){var o=function(e,t){if(i?(r=!0,e.state|=Nd.HideByIsolate):e.state&=~Nd.HideByIsolate,e.isMixNode)for(var n=0,o=t.length;o>n;n++)t[n].mesh.setInstanceShowAt(t[n].groupIndex,!i)},a=e.getObjectsMap();for(var s in a){var l=a[s];if(void 0===n||!0===n)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];o(d,l[m])}}else{for(var u=this.arrayToMap(t),p=e.getObjectIds(s),g=0,f=p.length;f>g;g+=1){var m;this.isActive(m=p[g])&&!u.hasOwnProperty(m)&&o(d=l[m][0],l[m])}u=null}}},this.isIsolateHide=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t))return(r[t][0].state&Nd.HideByIsolate)>0}},this.setIsolateTransparent=function(i,n,r){var o=function(e){n?(e.state|=Nd.TransparentByIsolate,t=!0,a=!0):e.state&=~Nd.TransparentByIsolate},s=e.getObjectsMap();for(var l in s){var c=s[l];if(void 0===r||!0===r)for(var h=0,d=i.length;d>h;h+=1){if(c.hasOwnProperty(A=i[h])){var u=c[A][0];o(u)}}else{for(var p=this.arrayToMap(i),g=e.getObjectIds(l),f=0,m=g.length;m>f;f+=1){var A;!p.hasOwnProperty(A=g[f])&&this.isActive(A)&&o(u=c[A][0])}p=null}}},this.isIsolateTransparent=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t)&&this.isActive(t))return(r[t][0].state&Nd.TransparentByIsolate)>0}},this.clearIsolateHide=function(){var t=e.getObjectsMap();for(var i in r=!1,t){var n=e.getObjectIds(i);n.length>0&&this.setIsolateHide(n,!1)}},this.clearIsolates=function(){var t=e.getObjectsMap();for(var i in a=!1,r=!1,t){var n=e.getObjectIds(i);n.length>0&&(this.setIsolateHide(n,!1),this.setIsolateTransparent(n,!1))}},this.clearTransparentByIsolate=function(){var t=e.getObjectsMap();for(var i in a=!1,t)for(var n=t[i],r=e.getObjectIds(i),o=0,s=r.length;s>o;o+=1){var l=r[o];if(this.isActive(l))n[l][0].state&=~Nd.TransparentByIsolate}},this.isHidden=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t)){var o=r[t][0],a=0==(o.state&Nd.Visible);return a=a||(o.state&Nd.HideByIsolate)>0}}},this.isFrozen=function(t){var i=e.getObjectsMap();for(var n in i){var r=i[n];if(r.hasOwnProperty(t)){var o=r[t][0],a=(o.state&Nd.Transparent)>0;return a=a||(o.state&Nd.TransparentByIsolate)>0}}},this.resetAll=function(){var i=e.getObjectsMap();for(var s in i)for(var l=i[s],c=e.getObjectIds(s),h=0,d=c.length;d>h;h+=1){var u=c[h];l[u][0].state=Nd.Visible,this.isActive(u)&&(l[u][0].material=null)}t=!1,n=r=!1,o=a=!1,this.inactivatedIds.length>0&&(n=!0)},this.hasOverrideMaterial=function(i){var n=e.getObjectsMap();if(void 0===i)return t;for(var r in n){var o=n[r];if(o.hasOwnProperty(i))return null!==o[i][0].material||this.isTransparent(i)}},this.hasOverrideMaterialForWireFrame=function(t){var n=e.getObjectsMap();if(null==t)return i;for(var r in n){var o=n[r];if(o.hasOwnProperty(t))return null!==o[t][0].wireFrameMaterial}},this.hasObjectInactivated=function(){return this.inactivatedIds.length>0},this.hasObjectHidden=function(){return n||r},this.hasObjectCantSelected=function(){return this.hasObjectHidden()||this.hasObjectTransparent()||this.hasObjectInactivated()},this.hasObjectTransparent=function(){return o||a},this.deactivateByIds=function(t){var i=!0,r=!1,o=void 0,a=e.getObjectsMap();try{for(var s,l=t[Symbol.iterator]();!(i=(s=l.next()).done);i=!0){var c=s.value;for(var h in a){var d=a[h];if(d.hasOwnProperty(c)){var u=d[c][0];if(u.state&=~Nd.Visible,u.isMixNode)for(var p=d[c],g=0,f=p.length;f>g;g++)p[g].mesh.setInstanceShowAt(p[g].groupIndex,Boolean(u.state))}}this.inactivatedIdMap[c]=!0}}catch(e){r=!0,o=e}finally{try{!i&&l.return&&l.return()}finally{if(r)throw o}}n=!0,this.inactivatedIds=Object.keys(this.inactivatedIdMap)},this.activateByIds=function(t){for(var i=e.getObjectsMap(),r=0,o=t.length;o>r;r+=1){var a=t[r];for(var s in delete this.inactivatedIdMap[a],i){var l=i[s];if(l.hasOwnProperty(a)){var c=l[a][0];if(c.state=Nd.Visible,c.isMixNode)for(var h=l[a],d=0,u=h.length;u>d;d++)h[d].mesh.setInstanceShowAt(h[d].groupIndex,Boolean(c.state))}}}this.inactivatedIds=Object.keys(this.inactivatedIdMap),this.inactivatedIds.length>0&&(n=!0)},this.clearInactivatedIdMap=function(){this.inactivatedIdMap={},this.inactivatedIds=[]},this.isActive=function(e){return!1===this.bIsInactivateAll&&!(!0===this.inactivatedIdMap[e])},this.deactivateAll=function(){this.bIsInactivateAll=!0},this.activateAll=function(){this.bIsInactivateAll=!1},this.getInactivatedIdMap=function(){return this.inactivatedIdMap}},ly=function(e,t){yA.call(this),this.className="OverrideConditionForWireFrameFA",this.flag=e,this.material=t};(ly.prototype=Object.create(yA.prototype)).constructor=ly,ly.prototype.applyFilter=function(e,t){var i=this;this.conditions instanceof Array?e.matchConditions(this.conditions,(function(t,n){i.flag===n&&(e.setWireFrameMaterial(t,i.material),t=null)})):Bu.warn("Conditions should be type of array.")};var cy=function(e,t){uA.call(this),this.className="OverrideIdsForWireFrameFA",this.flag=e,this.material=t};(cy.prototype=Object.create(uA.prototype)).constructor=cy,cy.prototype.applyFilter=function(e){this.ids instanceof Array?e.setWireFrameMaterial(this.ids,this.material,this.flag):Bu.warn("Ids should be type of array.")};var hy=function(){this._filterImpl=new PA;var e=[],t=[],i=null,n=null,r=this._filterImpl.getMaterialSelector(),o=new sy,a=new KA,s=new GA(r),l=new hA;this.observerForSceneState=null,this.setObserverForSceneState=function(e){this.observerForSceneState=e},this.setSceneStateHelper=function(e){},this.getFilterActionList=function(){return e},this.getModelFilterActionList=function(){return t},this.addModel=function(e){a.add(e)},this.removeModel=function(e){a.remove(e)},this.clearFilterActionList=function(){e=[],i=null},this.clearModelFilterActionList=function(){t=[],n=null},this.initFilterManager=function(e){o.init(e)},this.reinitFilterManager=function(e){o.reinit(e)},this.clearFilterManager=function(){o.clearData()};var c=!1;this.isStateChanged=function(){return c},this.enableStateChanged=function(){c=!0},this.disableStateChanged=function(){c=!1},this.getIsolateFilterAction=function(){return i},this.getModelIsolateFilterAction=function(){return n},this.setIsolateAction=function(e){(i=e).apply()},this.getVisibleComponentsBbox=function(){return o.getVisibleComponentsBbox()},this.pushBack=function(t){var n=t.getClassName();"IsolateIdsFA"===n||"IsolateConditionFA"===n?i=t:e.push(t),c=!0,t.applyFilter(o)},this.pushModelBack=function(e){var i=e.getClassName();"IsolateIdsFA"===i||"IsolateConditionFA"===i?n=e:t.push(e),c=!0,e.applyFilter(a)};var h=function(t){for(var i=[],n=0;e.length>n;){var r=e[n];t===r.getClassName()?(i=i.concat(r.ids),e.splice(n,1)):n+=1}return i},d=function(e){for(var i=0;t.length>i;){e===t[i].getClassName()?t.splice(i,1):i+=1}};function u(e,t){var i=t||"";return e.map((function(e){var t=e.clone();for(var n in t.name+="_"+i,e)e.hasOwnProperty(n)&&(e[n]instanceof Fe||e[n]instanceof gn)&&(t[n]=e[n].clone(),t[n].needsUpdate=!0);return t}))}function p(e,t,i,n,r,o,a){var s=Boolean(a||0===a),l=[];s&&!Array.isArray(a)&&(a=[a]);var c,h=vu(r);try{for(h.s();!(c=h.n()).done;){var d=c.value;e._filterImpl.getMaterialByName(d.name)||e._filterImpl.addOverrideMaterial(d)}}catch(e){h.e(e)}finally{h.f()}var u=i[0],p=u.materialId;if(u.originMId===p&&(u.originMId=[].concat(p)),null===u.material)for(var g=0,f=p.length;f>g;g+=1)l[g]=t.models[u.model.modelKey].materialManager.getMaterialById(p[g]);else l=u.material;for(var m=null,A=null,y=0,v=l.length;v>y;y+=1){if(s){if(!a[y])break;m=a[y].compMatOrder,A=a[y].replMatOrder}else m=A=y;if(!r[A]||m>=r.length){r[A]?console.log('构件材质数组越界,越界位置:{"componentKey":'.concat(n,',"order":').concat(m,"}")):console.log('替换材质数组越界,越界位置:{"componentKey":'.concat(n,',"order":').concat(A,"}"));break}l[m]=r[A],p[m]=r[A].name}var C=new gA(!0,l);C.ids=[u.componentKey],o[u.componentKey]=l,e.pushBack(C)}function g(e,t,i,n,r,o,a){var s,l=[];(s=Boolean(a||0===a))&&!Array.isArray(a)&&(a=[a]);var c,h=vu(r);try{for(h.s();!(c=h.n()).done;){e._filterImpl.updateOverrideMaterial(c.value)}}catch(e){h.e(e)}finally{h.f()}for(var d=0,u=i.length;u>d;d+=1){var p=i[d],g=i[0].material;if(null===g)l[d]=t.models[p.model.modelKey].materialManager.getMaterialById(p.materialId),l[d].materialId=p.materialId;else if(Array.isArray(g)){l[d]=g[d]}else l[d]=g}for(var f=null,m=null,A=0,y=l.length;y>A;A+=1){if(s){if(!a[A])break;f=a[A].compMatOrder,m=a[A].replMatOrder}else f=m=A;if(!r[m]||f>=i.length){r[m]?console.log('构件材质数组越界,越界位置:{"componentKey":'.concat(n,',"order":').concat(f,"}")):console.log('替换材质数组越界,越界位置:{"componentKey":'.concat(n,',"order":').concat(m,"}"));break}var v=i[f].nodeId,C=l[f].mapNodeIdToOrigMatId&&l[f].mapNodeIdToOrigMatId[v]?l[f].mapNodeIdToOrigMatId[v]:l[f].materialId;i[f].mesh.geometry.getAttribute("uv")||null===r[m].map&&null===r[m].aoMap?(l[f]=r[m],l[f].mapNodeIdToOrigMatId||(l[f].mapNodeIdToOrigMatId={}),l[f].materialId=r[m].name,l[f].mapNodeIdToOrigMatId[v]=C):console.log('构件node缺少uv:{"componentKey":'.concat(n,',"order":').concat(m,",nodeId").concat(i[f].nodeId,"}"))}var I=new gA(!0,l);I.ids=[n],o&&(o[n]=l),e.pushBack(I)}function f(e,t,i){var n=e.models[t],r=n._handler.defaultManager.meshManager,o=n._handler.instancedManager.meshManager,a=n.loader.getDescriptor(),s=o.getNodeIdxMapByUserId(i),l=n.group.children.find((function(e){return"Geometry"===e.name}));l||((l=new To).name="Geometry",n.group.add(l));var c=new To,h=[];l.add(c);var d=a.mapNodeInfoByComponentKey[i],u=function(a){var l=s[a][0],u=o.getInstanceGeometries(a);u[0].attributes.vState.array[l]=-1,u[0].attributes.vState.needsUpdate=!0;var p=new Ni;u[0].removed||(u[0].removed={}),u[0].removed[l]=!0;for(var g=u[0].attributes.position.array,f=[],m=new Ke,A=o.matrixInfoMapFromUserId[i][a][0].matrix,y=0,v=g.length;v>y;y+=3)m.set(g[y],g[y+1],g[y+2]).applyMatrix4(A),f.push(m.x,m.y,m.z);u[0].attributes.uv&&p.setAttribute("uv",u[0].attributes.uv.clone()),u[0].attributes.uv2&&p.setAttribute("uv2",u[0].attributes.uv2.clone()),u[0].attributes.normal&&p.setAttribute("normal",u[0].attributes.normal.clone());var C=u[0].index.clone();p.setAttribute("position",new Ai(new Float32Array(f),3)),p.setIndex(C);var I,x=o.getMaterialIdByMeshId(a),w=o.manager.model.materialManager.getInstanceMaterialById(x)[0],M=cA.getMaterialParameters(w),E=cA.createStandardMaterial(M),B=new nn(p,E),S=a.split("&")[1],b=i+x+"_"+l+"_cm",k="",D=vu(d);try{for(D.s();!(I=D.n()).done;){var T=I.value;T.geometryId!==S&&T.geometryId.toString()!==S||(k=T.nodeId,T.instanceOrNot=!1,T.isBatched=!1,T.mesh=B,T.instancedRenderOrder=l,T.RenderTypeChange=!0,T.materialId=b,T.uv=!0,h.push(T))}}catch(e){D.e(e)}finally{D.f()}var R=b+"&1&meshes";c.add(B),B.geometry.computeBoundingBox(),B.modelKey=t;var U=su({},i,[{boundingBox:B.geometry.boundingBox,indexCount:C.count,indexStart:0,lightmapIdx:void 0,nodeId:k,positionCount:3*p.attributes.position.count,positionStart:0,userId:i}]);r.mapMaterialIdToMergedNode[R]=[{geometry:p,indices:U,mesh:B,RenderTypeChange:!0}],B._indicesGroup=U,B.computeBoundingBox=function(){var e=this.matrixWorld,t=new He;return t.copy(this.geometry.boundingBox),t.applyMatrix4(e),t},B.intersectBoxWithDistanceByIndices=function(e){return e.ray.intersectBoxWithDistance(this.computeBoundingBox())},B.raycastByIndices=function(e,t){B.raycast(e,t)},n.materialManager.materials[b]=E,e.addMeshToOctantMap(t,R,new Mm(R,B))};for(var p in s)u(p);return e.octantToObjectMap[t].info[i]=h,a.mapNodeInfoByCategory[1]||(a.mapNodeInfoByCategory[1]={}),a.mapNodeInfoByCategory[1][i]=h,delete a.instancedComponent[i],delete a.mapNodeInfoByCategory[0][i],delete o.nodeIdxMapFromUserId[i],r.getPickingNodeGenerator().clearData(),c}this.showAll=function(){this.opaqueAll(),h("VisibleIdsFA"),h("VisibleConditionFA"),o.clearVisible(),o.calculateVisibleComponentsBbox(),this.enableStateChanged()},this.showAllModel=function(){d("VisibleIdsFA"),a.clearVisible(),this.enableStateChanged()},this.hideAll=function(){var e=new pA(!1,!1);e.ids=[],this.pushBack(e)},this.hideAllModel=function(){var e=new pA(!1,!1);e.ids=[],this.pushModelBack(e)},this.getObjectInfoManager=function(){return o},this.getModelInfoManager=function(){return a},this.getMatchIds=function(e){return o.getMatchIds(e)},this._isVisible=function(e){return!o.isHidden(e.userId)},this._isModelVisible=function(e){return!a.isHidden(e)},this._isTransparent=function(e){return o.isTransparent(e.userId)},this.getTransparentComponentList=function(){return o.getTransparentComponentList()},this.getInvisibleComponentList=function(){return o.getInvisibleComponentList()},this.getInactivatedComponentList=function(){return o.getInactivatedComponentList()},this._isModelTransparent=function(e){return a.isTransparent(e)},this._isModelPickable=function(e){return!a.isFrozen(e)||xd.EnableSelectionByTranslucent},this._isSelectable=function(e){if(xd.EnableSelectionByTranslucent)return!0;var t=e.userId;return!o.isFrozen(t)&&this._filterImpl._isSelectableById(t)},this._isPickable=function(e){var t=e.userId;return this.isComponentActive(t)&&this._filterImpl._isSelectableById(t)&&(!o.isFrozen(t)||xd.EnableSelectionByTranslucent)},this._isSelectableById=function(e){return!!xd.EnableSelectionByTranslucent||!o.isFrozen(e)&&this._filterImpl._isSelectableById(e)},this._getOverrideMaterial=function(e){var t=e.userId;return o.isFrozen(t)?this._filterImpl.getFrozonMaterial():o.getMaterial(t)},this._getModelOverrideMaterial=function(e){return a.isFrozen(e)?this._filterImpl.getFrozonMaterial():a.getMaterial(e)},this._getMaterialName=function(e){return this._filterImpl._getMaterialName(e)},this._getMaterialByName=function(e){return this._filterImpl._getMaterialByName(e)},this._hasOverrideMaterial=function(e){return o.hasOverrideMaterial(e.userId)},this._hasModelOverrideMaterial=function(e){return a.hasOverrideMaterial(e)},this._hasHighPriorityOverrideMaterial=function(e){return this._filterImpl._hasHighPriorityOverrideMaterial(e)},this._isHiddenFileId=function(e){return this._filterImpl._isHiddenFileId(e)},this._isRenderPromotion=function(e){return this._filterImpl._isRenderPromotion(e)},this._isRenderWithBoardline=function(e){return this._filterImpl._isRenderWithBoardline(e)},this._hasHiddenFileIdFilter=function(){return this._filterImpl._hasHiddenFileIdFilter()},this._hasVisibleFilter=function(){return o.hasObjectHidden()},this._hasPickableFilter=function(){return o.hasObjectCantSelected()||this._filterImpl._hasPickableFilter()},this._hasTransparentFilter=function(){return o.hasObjectTransparent()},this._hasOverrideMaterialFilter=function(){return o.hasOverrideMaterial()},this._hasModelVisibleFilter=function(){return a.hasObjectHidden()},this._hasModelSelectableFilter=function(){return a.hasObjectCantSelected()},this._hasModelTransparentFilter=function(){return a.hasObjectTransparent()},this._hasModelOverrideMaterialFilter=function(){return a.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 s.saveState(this)},this.loadState=function(e){s.loadState(e,this)},this.clear=function(){o.resetAll(),c=!0},this.clearAll=function(){return this.enableStateChanged(),this._filterImpl.clearAll()},this.clearIsolate=function(){o.clearIsolates()},this.clearFrozenList=function(){return this.enableStateChanged(),this._filterImpl.clearFrozenList()},this.addToFrozenList=function(e){return this.enableStateChanged(),this._filterImpl.addToFrozenList(e)},this.removeFromFrozenList=function(e){return this.enableStateChanged(),this._filterImpl.removeFromFrozenList(e)},this.setFrozenList=function(e){return this.enableStateChanged(),this._filterImpl.setFrozenList(e)},this.setFrozenConditions=function(e){this.enableStateChanged(),this._filterImpl.setFrozenConditions(e)},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(e){return this.enableStateChanged(),this._filterImpl.clearIdList(e)},this.addToIdList=function(e,t){return this.enableStateChanged(),this._filterImpl.addToIdList(e,t)},this.removeFromIdList=function(e,t){return this.enableStateChanged(),this._filterImpl.removeFromIdList(e,t)},this.setIdList=function(e,t){return this.enableStateChanged(),this._filterImpl.setIdList(e,t)},this.clearAllOverrideList=function(){h("OverrideIdsFA"),h("OverrideConditionFA"),o.clearMaterial();for(var t=0,i=e.length;i>t;t+=1){var n=e[t];"WireframeIdsFA"===n.getClassName()&&n.applyFilter(o)}this.enableStateChanged()},this.clearModelAllOverrideList=function(){d("OverrideIdsFA"),a.clearMaterial(),this.enableStateChanged()},this.clearOverrideList=function(e){return this.enableStateChanged(),this._filterImpl.clearOverrideList(e)},this.addToOverrideList=function(e,t,i){return this.enableStateChanged(),this._filterImpl.addToOverrideList(e,t,i)},this.removeFromOverrideList=function(e,t){return this.enableStateChanged(),this._filterImpl.removeFromOverrideList(e,t)},this.setOverrideList=function(e,t,i){return this.enableStateChanged(),this._filterImpl.setOverrideList(e,t,i)},this.addToOverrideListByColor=function(e,t){var i=null;if(t){var n=this._filterImpl.getMaterialNameByColor(t);i=this._filterImpl.getMaterialByName(n)}var r=new gA(!0,i);r.ids=e,this.pushBack(r)},this.addToOverrideListByCustomerMaterial=function(e,t,i,n,r){var o=this,a={};Array.isArray(i)||(i=[i]);var s=i;return t.forEach((function(t){for(var l in t)n||(s=u(i,l)),t[l][0].isBatched||t[l][0].instanceOrNot||t[l][0].RenderTypeChange?!t[l][0].instanceOrNot&&t[l][0].isBatched||t[l][0].RenderTypeChange?g(o,e,t[l],l,s,a,r):t[l][0].instanceOrNot&&t[l][0].isBatched&&(f(e,t[l][0].model.modelKey,l),g(o,e,t[l],l,s,a,r)):p(o,e,t[l],l,s,a,r)})),a},this.addToModelOverrideListByColor=function(e,t){var i=null;if(t){var n=this._filterImpl.getMaterialNameByColor(t);i=this._filterImpl.getMaterialByName(n)}var r=new gA(!0,i);r.ids=e,this.pushModelBack(r)},this.addToOverrideListByConditions=function(e,t){var i=null;if(t){var n=this._filterImpl.getMaterialNameByColor(t);i=this._filterImpl.getMaterialByName(n)}var r=new CA(!0,i);r.conditions=e,this.pushBack(r)},this.addToOverrideListByConditions=function(e,t){var i=null;if(t){var n=this._filterImpl.getMaterialNameByColor(t);i=this._filterImpl.getMaterialByName(n)}var r=new CA(!0,i);r.conditions=e,this.pushBack(r)},this.addToOverrideListByMaterial=function(e,t){this._filterImpl.addOverrideMaterial(t);var i=new CA(!0,t);i.conditions=e,this.pushBack(i)},this.setOverrideListByColor=function(e,t,i){for(var n=0;t.length>n;n+=1){var r=this._filterImpl.getMaterialNameByColor(i),a=this._filterImpl.getMaterialByName(r);o.setMaterial(t[n],a)}},this.getVisibleComponentSet=function(e){for(var t={},i=Object.keys(e),n=0;i.length>n;n+=1)this._isVisible({userId:i[n]})&&(t[i[n]]=!0);return t},this.clearAllWireframeList=function(){o.clearMaterialByKey(h("WireframeIdsFA")),this.enableStateChanged()},this.addToWireframeByWireframe=function(e,t){var i=null;if(t){var n=this._filterImpl.getMaterialNameByWireframe(t);i=this._filterImpl.getMaterialByName(n)}var r=new fA(!0,i);r.ids=e,this.pushBack(r)},this.clearAllUserList=function(){return this.enableStateChanged(),this._filterImpl.clearAllUserList()},this.clearUserListByType=function(e){return this.enableStateChanged(),this._filterImpl.clearUserListByType(e)},this.clearUserList=function(e,t){return this.enableStateChanged(),this._filterImpl.clearUserList(e,t)},this.addToUserList=function(e,t,i,n){return this.enableStateChanged(),this._filterImpl.addToUserList(e,t,i,n)},this.removeFromUserList=function(e,t,i){this.enableStateChanged(),this._filterImpl.removeFromUserList(e,t,i)},this.setUserList=function(e,t,i,n){this.enableStateChanged(),this._filterImpl.setUserList(e,t,i,n)},this.isIsolate=function(){var e=o.getObjectsMap();for(var t in e){if(e.hasOwnProperty(t))var i=e[t];for(var n in i){var r=o.isIsolateHide(n);if(r|=o.isIsolateTransparent(n))return!0}}return!1},this.isFiltering=function(){var e=this.filterActionList.length>0;return this.isIsolate()||e},this.getFrozonMaterial=function(){return this._filterImpl.getFrozonMaterial()},this.setIsolateMaterial=function(e){this.enableStateChanged(),this._filterImpl.setIsolateMaterial(e)},this.getIsolateMaterial=function(){return this._filterImpl.getIsolateMaterial()},this.resetIsolateMaterial=function(){this.enableStateChanged(),this._filterImpl.resetIsolateMaterial()},this.clearAllIsolateList=function(){o.clearIsolates()},this.clearIsolation=function(){o.clearIsolates(),i=null,c=!0},this.clearModelIsolation=function(){a.clearIsolates(),n=null,c=!0},this.addToIsolateList=function(e,t){var i=new mA("HideOthers"===t);i.ids=e.concat(),this.pushBack(i),this.clearFilterActionList()},this.removeFromIsolateList=function(e){i&&Array.isArray(e)&&(e.forEach((function(e){i.ids.remove(e)})),1>i.ids.length?(o.clearIsolates(),i=null):i.applyFilter(o),this.enableStateChanged())},this.removeModelFromIsolateList=function(e){n&&Array.isArray(e)&&(e.forEach((function(e){n.ids.remove(e)})),1>n.ids.length?(a.clearIsolates(),n=null):n.applyFilter(a),this.enableStateChanged())},this.setIsolateList=function(e,t){var i=new mA(t);i.ids=e.concat(),this.pushBack(i)},this.setModelIsolateList=function(e,t){var i=new mA(t);i.ids=e.concat(),this.pushModelBack(i)},this.setIsolateConditions=function(e,t){var i=new xA(t===Pd.HIDDEN_OTHERS);i.conditions=e,this.pushBack(i),this.clearFilterActionList()},this.getIsolateConditions=function(e){return this._filterImpl.getIsolateConditions(e)},this.clearIsolateConditions=function(e){this.enableStateChanged(),this._filterImpl.clearIsolateConditions(e)},this.clearAllIsolateConditions=function(){this.enableStateChanged(),this._filterImpl.clearAllIsolateConditions()},this.setConditions=function(e,t){if(0===e){o.hideAll();var i=new vA(!0,!0);i.conditions=t,this.pushBack(i)}3===e&&this._filterImpl.setConditions(e,t)},this.getConditions=function(e){return this._filterImpl.getConditions(e)},this.clearConditions=function(e){this.enableStateChanged(),this._filterImpl.clearConditions(e)},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(e){this.enableStateChanged(),this._filterImpl.setSceneState(e)},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(e){var t=new pA(!0,!1);t.ids=e,this.pushBack(t)},this.hideModelByIds=function(e){var t=new pA(!0,!1);t.ids=e,this.pushModelBack(t)},this.hideByConditions=function(e){var t=new vA(!0,!1);t.conditions=e,this.pushBack(t)},this.hideOthersByConditions=function(e){var t=new vA(!1,!1);t.conditions=e,this.pushBack(t)},this.showByIds=function(e){var t=new pA(!0,!0);t.ids=e,this.pushBack(t)},this.showModelByIds=function(e){var t=new pA(!0,!0);t.ids=e,this.pushModelBack(t)},this.showByConditions=function(e){var t=new vA(!0,!0);t.conditions=e,this.pushBack(t)},this.makeTranslucentByIds=function(e){var t=new AA(!0,!1);t.ids=e,this.pushBack(t)},this.makeModelTranslucentByIds=function(e){var t=new AA(!0,!1);t.ids=e,this.pushModelBack(t)},this.makeTranslucentByConditions=function(e){var t=new IA(!0,!1);t.conditions=e,this.pushBack(t)},this.opaqueByIds=function(e){var t=new AA(!0,!0);t.ids=e,this.pushBack(t)},this.opaqueModelByIds=function(e){var t=new AA(!0,!0);t.ids=e,this.pushModelBack(t)},this.opaqueByConditions=function(e){var t=new IA(!0,!0);t.conditions=e,this.pushBack(t)},this.setFrozonMaterial=function(e){this._filterImpl.setFrozonMaterial(e)},this.makeTranslucentOthersByIds=function(e){var t=new AA(!1,!1);t.ids=e,this.pushBack(t)},this.makeTranslucentOthersModelByIds=function(e){var t=new AA(!1,!1);t.ids=e,this.pushModelBack(t)},this.opaqueAll=function(){h("TransparentIdsFA"),h("TransparentConditionFA"),o.clearTransparent(),this.enableStateChanged()},this.opaqueAllModel=function(){d("TransparentIdsFA"),d("TransparentConditionFA"),a.clearTransparent(),this.enableStateChanged()},this.deactivateByIds=function(e){o.deactivateByIds(e),this.observerForSceneState&&this.observerForSceneState(e),this.enableStateChanged()},this.activateByIds=function(e){o.activateByIds(e),this.enableStateChanged()},this.clearInactivatedIdMap=function(){o.clearInactivatedIdMap()},this.getInactivatedIdMap=function(){return o.getInactivatedIdMap()},this.deactivateAll=function(){o.deactivateAll()},this.activateAll=function(){o.activateAll()},this.isComponentActive=function(e){return o.isActive(e)},this.getFilterType=function(){return this._filterImpl._getFilterType()},this._hasOverrideMaterialForWireFrame=function(e){return o.hasOverrideMaterialForWireFrame(e.name)},this._hasOverrideMaterialFilterForWireFrame=function(){return o.hasOverrideMaterialForWireFrame()},this._getOverrideMaterialForWireFrame=function(e){return o.getWireFrameMaterial(e.name)},this._getOverrideWireFrameMaterial=function(e){return o.getWireFrameMaterial(e.name)},this.addToOverrideListForWireFrameByColor=function(e,t){var i=null;if(t){var n=this._filterImpl.getMaterialNameByColor(t);i=this._filterImpl.getMaterialByName(n)}var r=new cy(!0,i);r.ids=e,this.pushBack(r)},this.addToOverrideListForWireFrameByConditions=function(e,t){var i=null;if(t){var n=this._filterImpl.getMaterialNameByColor(t);i=this._filterImpl.getMaterialByName(n)}var r=new ly(!0,i);r.conditions=e,this.pushBack(r)},this._getFilterObjectsKeys=function(e){return this._filterImpl._getFilterObjectsKeys(e)},this.transparentComponentsByKey=function(e,t,i){},this.closeOrigMatModelTransparent=function(e,t){var i=e.models[t].materialManager.materials;for(var n in i){var r=i[n];void 0!==r._origTransparent&&(r.transparent=r._origTransparent,r.needsUpdate=!0),void 0!==r._origOpacity&&(r.opacity=r._origOpacity,r.needsUpdate=!0)}var o=e.models[t].materialManager.instanceMaterials;for(var a in o)o[a].forEach((function(e){void 0!==e._origTransparent&&(e.transparent=e._origTransparent,e.needsUpdate=!0),void 0!==e._origOpacity&&(e.opacity=e._origOpacity,e.needsUpdate=!0)}))},this.transparentModelOrigMatByKey=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.5,n=e.models[t].materialManager.materials;for(var r in n){var o=n[r];void 0===o._origTransparent&&(o._origTransparent=o.transparent),void 0===o._origOpacity&&(o._origOpacity=o.opacity),o.transparent=!0,o.opacity=i,o.needsUpdate=!0}var a=e.models[t].materialManager.instanceMaterials;for(var s in a)a[s].forEach((function(e){void 0===e._origTransparent&&(e._origTransparent=e.transparent),void 0===e._origOpacity&&(e._origOpacity=e.opacity),e.transparent=!0,e.opacity=i,e.needsUpdate=!0}))},this.setComponentBlinkByComponentKeys=function(e,t,i,n,r){l.setComponentBlinkByComponentKeys(e,t,i,n,r)},this.closeComponentBlinkByComponentKeys=function(e){l.closeComponentBlinkByComponentKeys(e)},this.clearBlinkList=function(){l.clearBlinkList()}};var dy=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this)).type="InstancedDepthMaterial",n.uniforms=Mn.depth.uniforms,n.vertexShader=function(e){return e.replace("#include <project_vertex>","\n vec4 mvPosition = modelViewMatrix * vec4(getInstancePosition(transformed), 1.0);\n gl_Position = projectionMatrix * mvPosition;\n ")}(function(e){return e.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 ")}(Mn.depth.vertexShader)),n.fragmentShader=function(e){return e.replace("void main() {","\n varying float vfState; \n void main() {\n if (vfState <= -0.99 && vfState >= -1.01) discard;\n \n ")}(Mn.depth.fragmentShader),void 0!==e&&n.setValues(e),n}return i}(Mo);function uy(e,t){var i=e||0,n=t||0;return i===n?0:i>n?1:-1}function py(e,t){var i=e.split(".").map((function(e){return Number(e)||0})),n=t.split(".").map((function(e){return Number(e)||0}));return 0===(uy(i[0],n[0])||uy(i[1],n[1])||uy(i[2],n[2]))}function gy(e,t){var i=e.split(".").map((function(e){return Number(e)||0})),n=t.split(".").map((function(e){return Number(e)||0}));return(uy(i[0],n[0])||uy(i[1],n[1])||uy(i[2],n[2]))>=0}function fy(e,t){var i=e.split(".").map((function(e){return Number(e)||0})),n=t.split(".").map((function(e){return Number(e)||0}));return(uy(i[0],n[0])||uy(i[1],n[1])||uy(i[2],n[2]))>0}function my(e,t){return!gy(e,t)}function Ay(e,t){return!fy(e,t)}dy.prototype.constructor=dy;var yy={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},vy=function e(t,i,n){ru(this,e);var r=this,o=!1,a=0,s=0,l=void 0,c=[];this.onStart=void 0,this.onLoad=t,this.onProgress=i,this.onError=n,this.itemStart=function(e){s+=1,!1===o&&void 0!==r.onStart&&r.onStart(e,a,s),o=!0},this.itemEnd=function(e){a+=1,void 0!==r.onProgress&&r.onProgress(e,a,s),a===s&&(o=!1,void 0!==r.onLoad&&r.onLoad())},this.itemError=function(e){void 0!==r.onError&&r.onError(e)},this.resolveURL=function(e){return l?l(e):e},this.setURLModifier=function(e){return l=e,this},this.addHandler=function(e,t){return c.push(e,t),this},this.removeHandler=function(e){var t=c.indexOf(e);return-1!==t&&c.splice(t,2),this},this.getHandler=function(e){for(var t=0,i=c.length;i>t;t+=2){var n=c[t],r=c[t+1];if(n.global&&(n.lastIndex=0),n.test(e))return r}return null}},Cy=new vy,Iy={},xy=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).model=e.model,n.cacheViable=!0,n.modelKey=e.model.modelKey,n}return au(i,[{key:"load",value:function(e,t,i,n){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);var r=this,o=yy.get(e);if(void 0!==o)return r.manager.itemStart(e),setTimeout((function(){t&&t(o),r.manager.itemEnd(e)}),0),o;if(void 0===Iy[e]){var a=e.match(/^data:(.*?)(;base64)?,(.*)$/),s=null;if(a){var l=a[1],c=Boolean(a[2]),h=a[3];h=decodeURIComponent(h),c&&(h=atob(h));try{var d,u=(this.responseType||"").toLowerCase();switch(u){case"arraybuffer":case"blob":for(var p=new Uint8Array(h.length),g=0;h.length>g;g++)p[g]=h.charCodeAt(g);d="blob"===u?new Blob([p.buffer],{type:l}):p.buffer;break;case"document":var f=new DOMParser;d=f.parseFromString(h,l);break;case"json":d=JSON.parse(h);break;default:d=h}setTimeout((function(){t&&t(d),r.manager.itemEnd(e)}),0)}catch(t){setTimeout((function(){n&&n(t),r.manager.itemError(e),r.manager.itemEnd(e)}),0)}}else{for(var m in Iy[e]=[],Iy[e].push({onLoad:t,onProgress:i,onError:n}),(s=new XMLHttpRequest).open("GET",e,!0),s.addEventListener("load",(function(t){var i=this.response,n=Iy[e];if(delete Iy[e],200===this.status||0===this.status){0===this.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),yy.add(e,i);var o=r.model.getStorage();if(null==i){for(var a=0,s=n.length;s>a;a++){var l=n[a];l.onError&&l.onError(t)}return r.manager.itemEnd(e),r.manager.itemError(e),void Bu.error(e,"response 为 null")}if(!(i instanceof ArrayBuffer||i instanceof Array||i instanceof Blob||i instanceof Object))try{JSON.parse(i),function(e){throw new TypeError('"'+e+'" is read-only')}("response")}catch(e){}if(i instanceof Blob&&og.isIOSDevice()){var c=new FileReader;c.readAsDataURL(i),c.onloadend=function(t){o&&r.cacheViable&&o.put(e,t.target.result,r.modelKey,(function(){r.manager.progress.loaded+=1}),(function(){Bu.warn(e,"缓存失败"),r.manager.progress.failed+=1}));for(var a=0,s=n.length;s>a;a++){var l=n[a];l.onLoad&&l.onLoad(i)}}}else{if(o&&r.cacheViable)if(i.byteLength&&i.byteLength>12e7){for(var h=[],d=4e7,u=Math.floor(i.byteLength/d),p=0;u>=p;p+=1){r.manager.progress.total+=1;var g=null;g=p===u?i.slice(p*d):i.slice(p*d,(p+1)*d);var f=e+"_"+p;h.push(f),o.put(f,g,r.modelKey,(function(){r.manager.progress.loaded+=1}),(function(){r.manager.progress.failed+=1}))}o.put(e,{split:!0,list:h,length:i.byteLength},r.modelKey,(function(){}),(function(){Bu.warn(e,"缓存失败")}))}else o.put(e,i,r.modelKey,(function(){r.manager.progress&&(r.manager.progress.loaded+=1)}),(function(){r.manager.progress&&(Bu.warn(e,"缓存失败"),r.manager.progress.failed+=1)}));for(var m=0,A=n.length;A>m;m++){var y=n[m];y.onLoad&&y.onLoad(i)}}r.manager.itemEnd(e)}else{for(var v=0,C=n.length;C>v;v++){var I=n[v];I.onError&&I.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}}),!1),s.addEventListener("progress",(function(t){for(var i=Iy[e],n=0,r=i.length;r>n;n++){var o=i[n];o.onProgress&&o.onProgress(t)}}),!1),s.addEventListener("error",(function(t){var i=Iy[e];delete Iy[e];for(var n=0,o=i.length;o>n;n++){var a=i[n];a.onError&&a.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}),!1),s.addEventListener("abort",(function(t){var i=Iy[e];delete Iy[e];for(var n=0,o=i.length;o>n;n++){var a=i[n];a.onError&&a.onError(t)}r.manager.itemError(e),r.manager.itemEnd(e)}),!1),void 0!==this.responseType&&(s.responseType=this.responseType),void 0!==this.withCredentials&&(s.withCredentials=this.withCredentials),s.overrideMimeType&&s.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain"),this.requestHeader)s.setRequestHeader(m,this.requestHeader[m]);s.send(null)}return r.manager.itemStart(e),s}Iy[e].push({onLoad:t,onProgress:i,onError:n})}},{key:"setResponseType",value:function(e){return this.responseType=e,this}},{key:"setMimeType",value:function(e){return this.mimeType=e,this}},{key:"setCacheViable",value:function(e){return this.cacheViable=e,this}}]),i}(function(){function e(t){ru(this,e),this.manager=void 0!==t?t:Cy,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}return au(e,[{key:"load",value:function(){}},{key:"loadAsync",value:function(e,t){var i=this;return new Promise((function(n,r){i.load(e,n,t,r)}))}},{key:"parse",value:function(){}},{key:"setCrossOrigin",value:function(e){return this.crossOrigin=e,this}},{key:"setWithCredentials",value:function(e){return this.withCredentials=e,this}},{key:"setPath",value:function(e){return this.path=e,this}},{key:"setResourcePath",value:function(e){return this.resourcePath=e,this}},{key:"setRequestHeader",value:function(e){return this.requestHeader=e,this}}]),e}()),wy=function(e){this.compArr=[],this.compArr=e,Bu.debug(this.compArr)};wy.prototype={constructor:wy,getComponent:function(e){}};var My,Ey,By,Sy,by={EmptyGeometry:new Ni,UnitCylinderInstance:new Za(1,1,1,8,1,!1),UnitBoxInstance:new on(1,1,1),UnitTextureCylinder:null,UnitTextureBox:null,initializeUnitInstances:function(){by.UnitCylinderInstance.boundingBox||by.UnitCylinderInstance.computeBoundingBox(),by.UnitBoxInstance.boundingBox||by.UnitBoxInstance.computeBoundingBox()},destroyUnitInstances:function(){by.UnitCylinderInstance.dispose(),by.UnitBoxInstance.dispose()},getBoxData:function(e){for(var t=[[],[],[],[],[],[]],i=0;4>i;i+=1)t[0].push(-1,0,0);for(i=0;4>i;i+=1)t[1].push(0,-1,0);for(i=0;4>i;i+=1)t[2].push(0,0,-1);for(i=0;4>i;i+=1)t[3].push(0,0,1);for(i=0;4>i;i+=1)t[4].push(0,1,0);for(i=0;4>i;i+=1)t[5].push(1,0,0);var n=[[],[],[],[],[],[]];return n[0]=n[2]=n[4]=[-.5,-.5,-.5,.5,.5,-.5,.5,.5],n[1]=n[3]=n[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]][e],normal:t[e],uv:n[e],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]][e]}},getPipeData2:(My=[.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],Ey=[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],By=[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],Sy=[-.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:My,normal:By,uv:Sy,index:Ey}}),getPipeData:function(e){(void 0===e||8>e)&&(e=8),e>256&&(e=256);var t=.5,i=4*e+2,n=3*(4*e-4),r=e+1,o=1/e,a=6.28318530714/e,s=null,l=null,c=[];for(s=0;e>s;s+=1)c.push(t*Math.cos(s*a)),c.push(t*Math.sin(s*a));c.push(t),c.push(0);var h=[];for(l=2*r,s=0;l>s;s+=2)h.push(c[s]),h.push(c[s+1]),h.push(t);for(s=0;l>s;s+=2)h.push(c[s]),h.push(c[s+1]),h.push(-.5);for(l=2*e,s=0;l>s;s+=2)h.push(c[s]),h.push(c[s+1]),h.push(t);for(s=l;s>0;s-=2)h.push(c[s]),h.push(c[s+1]),h.push(-.5);var d=[],u=e+1;for(s=0;e>s;s+=1)d.push(s),d.push(s+u),d.push(s+1),d.push(s+1),d.push(s+u),d.push(s+u+1);var p=2*r;for(s=1;e-1>s;s+=1)d.push(p),d.push(p+s),d.push(p+s+1);for(p+=e,s=1;e-1>s;s+=1)d.push(p),d.push(p+s),d.push(p+s+1);var g=[];for(s=e;s>=0;s-=1)g.push(s*o-t),g.push(-.5);for(s=e;s>=0;s-=1)g.push(s*o-t),g.push(t);for(l=2*e,s=0;l>s;s+=2)g.push(c[s]),g.push(c[s+1]);for(s=l;s>0;s-=2)g.push(c[s]),g.push(c[s+1]);l=3*i;var f=[];for(s=0;l>s;s+=1)f.push(0);var m=null,A=null,y=null,v=new Ke,C=new Ke,I=new Ke,x=new Ke,w=new Ke;for(s=0;n>s;s+=3)A=3*d[s+1],y=3*d[s+2],v.fromArray(h,m=3*d[s]),C.fromArray(h,A),I.fromArray(h,y),x.subVectors(I,C),w.subVectors(v,C),x.cross(w),f[m]+=x.x,f[m+1]+=x.y,f[m+2]+=x.z,f[A]+=x.x,f[A+1]+=x.y,f[A+2]+=x.z,f[y]+=x.x,f[y+1]+=x.y,f[y+2]+=x.z;var M=new Ke;for(l=3*i,s=0;l>s;s+=3)M.fromArray(f,s),M.normalize(),f[s]=M.x,f[s+1]=M.y,f[s+2]=M.z;return{vertex:h,normal:f,uv:g,index:d,edges:e}},getInstancePipeData:function(e,t){var i=this.getPipeData(e);(void 0===e||8>e)&&(e=8),e>256&&(e=256);var n=2*(e+1),r=n+e,o=4*e+2,a=[[],[],[]];a[0]=i.vertex.slice(0,3*n),a[1]=i.vertex.slice(3*n,3*r),a[2]=i.vertex.slice(3*r,3*o);var s=[[],[],[]],l=e+1,c=0;for(c=0;e>c;c+=1)s[0].push(c),s[0].push(c+l),s[0].push(c+1),s[0].push(c+1),s[0].push(c+l),s[0].push(c+l+1);for(c=1;e-1>c;c+=1)s[1].push(0),s[1].push(c),s[1].push(c+1);for(c=1;e-1>c;c+=1)s[2].push(0),s[2].push(c),s[2].push(c+1);var h=[[],[],[]];h[0]=i.uv.slice(0,2*n),h[1]=i.uv.slice(2*n,2*r),h[2]=i.uv.slice(2*r,2*o);var d=[[],[],[]];return d[0]=i.normal.slice(0,3*n),d[1]=i.normal.slice(3*n,3*r),d[2]=i.normal.slice(3*r,3*o),{vertex:a[t],normal:d[t],uv:h[t],index:s[t]}},getUnitTextureCylinder:function(){if(null===by.UnitTextureCylinder){by.UnitTextureCylinder=new Array(3);for(var e=0;3>e;e+=1){var t=by.getInstancePipeData(32,e);by.UnitTextureCylinder[e]=new Ni,by.UnitTextureCylinder[e].setIndex(t.index),by.UnitTextureCylinder[e].setAttribute("position",new Bi(t.vertex,3)),by.UnitTextureCylinder[e].setAttribute("normal",new Bi(t.normal,3)),by.UnitTextureCylinder[e].setAttribute("uv",new Bi(t.uv,2))}}return by.UnitTextureCylinder},getUnitTextureBox:function(){if(null===by.UnitTextureBox){by.UnitTextureBox=new Array(6);for(var e=0;6>e;e+=1){var t=by.getBoxData(e);by.UnitTextureBox[e]=new Ni,by.UnitTextureBox[e].setIndex(t.index),by.UnitTextureBox[e].setAttribute("position",new Bi(t.vertex,3)),by.UnitTextureBox[e].setAttribute("normal",new Bi(t.normal,3)),by.UnitTextureBox[e].setAttribute("uv",new Bi(t.uv,2))}}return by.UnitTextureBox},getBoxBufferGeometryWithUvMatrices:function(e){for(var t=[],i=null,n=new De,r=new Ke,o=!!e,a=0;6>a;a+=1){i=new Ni;var s=by.getBoxData(a);if(o){var l=[];n.set(e[6*a],e[6*a+2],e[6*a+4],e[6*a+1],e[6*a+3],e[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),l.push(r.x),l.push(r.y);i.setAttribute("uv",new Bi(l,2))}i.setIndex(new Ai(Uint32Array.from(s.index),1)),i.setAttribute("position",new Bi(s.vertex,3)),i.setAttribute("normal",new Bi(s.normal,3)),t.push(i)}return by.mergeBufferGeometries2(t)},getPipeBufferGeometryWithUvMatrices:function(e){var t=by.getPipeData(32),i=t.edges,n=!(!e||18!==e.length),r=new Ni;if(n){for(var o=[],a=0,s=e.length;s>a;a+=6){var l=new De;l.set(e[6*a],e[6*a+2],e[6*a+4],e[6*a+1],e[6*a+3],e[6*a+5],0,0,1),o.push(l)}for(var c=[],h=new Ke,d=4*(i+1),u=d+2*i,p=0,g=t.uv.length;g>p;p+=2)h.set(t.uv[p],t.uv[p+1],1),h.applyMatrix3(d>p?o[0]:u>p?o[1]:o[2]),c.push(h.x),c.push(h.y);r.setAttribute("uv",new Bi(c,2))}return r.setIndex(new Mi(t.index,1)),r.setAttribute("position",new Bi(t.vertex,3)),r.setAttribute("normal",new Bi(t.normal,3)),r},getGeometryFromBox3:function(e){var t=new Ni,i=[],n=[],r=e.min,o=e.max,a=r.x,s=r.y,l=r.z,c=o.x,h=o.y,d=o.z;return i.push(a,s,l),i.push(c,s,l),i.push(a,s,d),i.push(c,s,d),i.push(a,h,l),i.push(c,h,l),i.push(a,h,d),i.push(c,h,d),n.push(0,1,3),n.push(0,3,2),n.push(1,5,7),n.push(1,7,3),n.push(5,4,6),n.push(5,6,7),n.push(4,2,6),n.push(4,0,2),n.push(0,4,5),n.push(0,5,1),n.push(2,3,7),n.push(2,7,6),t.setIndex(new Ai(new Uint32Array(n),1)),t.setAttribute("position",new Ai(new Float32Array(i),3)),t},getWorldMatrixOfMesh:function(e){for(var t=[],i=e.parent;i;)t.push(i.matrix),i=i.parent;var n=new yt;if(t.length>0){n=t[t.length-1];for(var r=t.length-2;r>=0;r-=1)n.multiply(t[r])}var o=new yt;return o.multiplyMatrices(n,e.matrix),o},getWorldPositionOfMesh:function(e,t){t||(t=new yt);var i=new yt;i.copy(t).invert();var n=e.clone();return n.applyMatrix4(i),n},getBoundingBoxWorldOfMesh:function(e,t){var i=e.boundingBox;i||(e.geometry.boundingBox||e.geometry.computeBoundingBox(),i=e.geometry.boundingBox);var n=i.clone();n.applyMatrix4(e.matrixWorld);var r=new yt;return r.copy(t).invert(),n.applyMatrix4(r),n},getBoundingBoxByBuffer:function(e){for(var t=1/0,i=1/0,n=1/0,r=-1/0,o=-1/0,a=-1/0,s=new Nu,l=0,c=e.length;c>l;l+=3){var h=e[l],d=e[l+1],u=e[l+2];t>h&&(t=h),i>d&&(i=d),n>u&&(n=u),h>r&&(r=h),d>o&&(o=d),u>a&&(a=u)}return s.min.set(t,i,n),s.max.set(r,o,a),s},mergeBufferGeometriesFromMeshs:function(e,t){for(var i=null!==e[0].geometry.index,n=new Set(Object.keys(e[0].geometry.attributes)),r=new Set(Object.keys(e[0].geometry.morphAttributes)),o={},a={},s=new Ni,l=0;e.length>l;l+=1){var c=e[l].geometry;if(i!==(null!==c.index))return null;for(var h in c.attributes){if(!n.has(h))return console.log("attributes not Used: ",h),null;void 0===o[h]&&(o[h]=[]),o[h].push(c.attributes[h])}for(var h in c.morphAttributes){if(!r.has(h))return null;void 0===a[h]&&(a[h]=[]),a[h].push(c.morphAttributes[h])}null!=c.userData&&(s.userData=s.userData||{},s.userData.mergedUserData=s.userData.mergedUserData||[],s.userData.mergedUserData.push(c.userData))}if(i){var d=0,u=[],p=0,g=0;for(l=0;e.length>l;l+=1){var f=e[l].geometry.index;if(d>0){f=f.clone();for(var m=0;f.count>m;m+=1)f.setX(m,f.getX(m)+d)}u.push(f),d+=e[l].geometry.attributes.position.count,void 0===t[e[l].userId]&&(t[e[l].userId]=[]),t[e[l].userId].push({nodeId:e[l].nodeId,indexStart:p,indexCount:f.count,positionStart:g,positionCount:e[l].geometry.attributes.position.count}),g+=e[l].geometry.attributes.position.count,p+=f.count}var A=this.mergeBufferAttributes(u);if(!A)return null;s.index=A}for(var h in o){var y=this.mergeBufferAttributes(o[h]);if(!y)return null;s.setAttribute(h,y)}for(var h in a){var v=a[h][0].length;if(0===v)break;s.morphAttributes=s.morphAttributes||{},s.morphAttributes[h]=[];for(l=0;v>l;l+=1){var C=[];for(m=0;a[h].length>m;m+=1)C.push(a[h][m][l]);var I=this.mergeBufferAttributes(C);if(!I)return null;s.morphAttributes[h].push(I)}}return s},mergeBufferGeometries:function(e,t){for(var i=null!==e[0].index,n=new Set(Object.keys(e[0].attributes)),r={},o=new Ni,a=0;e.length>a;a+=1){var s=e[a];if(i!==(null!==s.index))return null;for(var l in s.attributes){if(!n.has(l))return null;void 0===r[l]&&(r[l]=[]),r[l].push(s.attributes[l])}}if(i){var c=0,h=[];for(a=0;e.length>a;a+=1){var d=e[a].index;if(c>0){d=d.clone();for(var u=0;d.count>u;u+=1)d.setX(u,d.getX(u)+c)}h.push(d),c+=e[a].attributes.position.count}var p=this.mergeBufferAttributes(h);if(!p)return null;o.index=p}for(var l in r){var g=this.mergeBufferAttributes(r[l],t);if(!g)return null;o.setAttribute(l,g)}return o},reducedGeometry:function(e,t){for(var i={},n=0,r=t.length;r>n;n+=1){var o=t[n];i[o]||(i[o]=[]),i[o].push(n)}var a=0,s=new Float32Array(3*Object.keys(i).length);for(var l in i){for(var c=i[l],h=0,d=c.length;d>h;h+=1)t[c[h]]=a,s[3*a]=e[3*l],s[3*a+1]=e[3*l+1],s[3*a+2]=e[3*l+2];a+=1}return{buffer:s,index:t}},mergeBufferAttributes:function(e,t){for(var i=null,n=null,r=null,o=0,a=0;e.length>a;a+=1){var s=e[a];if(s.isInterleavedBufferAttribute)return null;if(null===i&&(i=s.array.constructor),i!==s.array.constructor)return null;if(null===n&&(n=s.itemSize),n!==s.itemSize)return null;if(null===r&&(r=s.normalized),r!==s.normalized)return null;o+=s.array.length}for(var l=new i(o),c=0,h=!1,d=0;e.length>d;d+=1){if(t&&!t[d].equals(Ed)&&("position"===e[d].name||"normal"===e[d].name)){if("position"===e[d].name&&t[d].applyToBufferAttribute(e[d]),"normal"===e[d].name)(new De).getNormalMatrix(t[d]).applyToBufferAttribute(e[d]);h=!0}if(l.set(e[d].array,c),c+=e[d].array.length,h){var u=(new yt).copy(t[d]).invert();if("position"===e[d].name&&u.applyToBufferAttribute(e[d]),"normal"===e[d].name)(new De).getNormalMatrix(u).applyToBufferAttribute(e[d]);h=!1}}return new Ai(l,n,r)},applyMatrix3ToBuffer:function(){var e=new Ke;return function(t,i,n,r){if(t.equals(Bd))return i;for(var o=n||0,a=r||i.length;a>o;o+=3)e.x=i[o+0],e.y=i[o+1],e.z=i[o+2],e.applyMatrix3(t),i[o+0]=e.x,i[o+1]=e.y,i[o+2]=e.z;return i}}(),applyMatrix4ToBuffer:function(){var e=new Ke;return function(t,i,n,r){if(t.equals(Ed))return i;for(var o=n||0,a=r||i.length;a>o;o+=3)e.x=i[o+0],e.y=i[o+1],e.z=i[o+2],e.applyMatrix4(t),i[o+0]=e.x,i[o+1]=e.y,i[o+2]=e.z;return i}}(),normalizeBuffer:function(e){for(var t=null,i=null,n=null,r=null,o=0,a=e.length;a>o;o+=3)t=e[o],i=e[o+1],n=e[o+2],r=1/Math.sqrt(t*t+i*i+n*n),e[o]=t*r,e[o+1]=i*r,e[o+2]=n*r},disposeBufferFromGeometry:function(e,t){for(var i=0,n=t.length;n>i;i+=1){var r=e.getAttribute(t[i]);r&&(r.array=null)}},disposeIndexBufferFromGeometry:function(e){e.index&&(e.index.array=null)},copyMeshProperties:function(e,t){e.name=t.name,e.up.copy(t.up),e.position.copy(t.position),e.quaternion.copy(t.quaternion),e.scale.copy(t.scale),e.matrix.copy(t.matrix),e.matrixWorld.copy(t.matrixWorld),e.matrixAutoUpdate=t.matrixAutoUpdate,e.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate},createBufferGeometryWithPosAndSkin:function(e){var t=new Ni;if(e.isBufferGeometry||e._bufferGeometry){var i=e.isBufferGeometry?e:e._bufferGeometry;t.setAttribute("position",i.getAttribute("position"),3),i.getAttribute("skinIndex")&&t.setAttribute("skinIndex",i.getAttribute("skinIndex"),4),i.getAttribute("skinWeight")&&t.setAttribute("skinWeight",i.getAttribute("skinWeight"),4);var n=i.getIndex();n&&t.setIndex(n)}else if(e.isGeometry){var r=new Bi(3*e.vertices.length,3);if(t.setAttribute("position",r.copyVector3sArray(e.vertices),3),e.skinIndices.length>0){var o=new Bi(4*e.skinIndices.length,4);t.setAttribute("skinIndex",o.copyVector4sArray(e.skinIndices),4)}if(e.skinWeights.length>0){var a=new Bi(4*e.skinWeights.length,4);this.setAttribute("skinWeight",a.copyVector4sArray(e.skinWeights),4)}if(e.faces.length){for(var s=e.faces,l=[],c=0;s.length>c;c+=1){var h=s[c];l.push(h.a,h.b,h.c)}var d=new(wp.arrayMax(l)>65535?Uint32Array:Uint16Array)(3*l.length);t.setIndex(new Ai(d,1).copyIndicesArray(l))}}return t},calculateVolumeOfGeometry:function(e,t,i,n){if(e&&t){var r=0,o=new Ke,a=new Ke,s=new Ke;i||(i=0),n||(n=t.length);for(var l=0,c=0,h=0,d=i,u=i+n;u>d;d+=3){c=t[d+1],h=t[d+2],o.set(e[3*(l=t[d])],e[3*l+1],e[3*l+2]),a.set(e[3*c],e[3*c+1],e[3*c+2]),s.set(e[3*h],e[3*h+1],e[3*h+2]),r+=o.clone().cross(a).dot(s)/6}return r}},minDistanceBetweenTriToMesh:function(e,t,i,n){function r(e,t){return new Ke(e.x-t.x,e.y-t.y,e.z-t.z)}function o(e,t){return new Ke(e.x+t.x,e.y+t.y,e.z+t.z)}function a(e,t,i){return new Ke(e.x+t.x*i,e.y+t.y*i,e.z+t.z*i)}function s(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function l(e,t){return new Ke(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)}function c(e,t,i,n){var c,h=s(t,n),d=s(t,t),u=s(n,n),p=r(i,e),g=s(t,p),f=s(n,p),m=null;0>(m=(g*u-f*h)/(d*u-h*h))||isNaN(m)?m=0:m>1&&(m=1);var A=null,y=null,v=null,C=null;return 0>=(c=(m*h-f)/u)||isNaN(c)?(y=i,0>=(m=g/d)||isNaN(m)?(A=e,v=r(i,e)):1>m?(A=a(e,t,m),C=l(p,t),v=l(t,C)):v=r(i,A=o(e,t))):1>c?(y=a(i,n,c),0>=m||isNaN(m)?(A=e,C=l(p,n),v=l(n,C)):1>m?(A=a(e,t,m),0>s(v=l(t,n),p)&&v.multiplyScalar(-1)):(C=l(p=r(i,A=o(e,t)),n),v=l(n,C))):(y=o(i,n),0>=(m=(h+g)/d)||isNaN(m)?(A=e,v=r(y,e)):1>m?(A=a(e,t,m),C=l(p=r(y,e),t),v=l(t,C)):v=r(y,A=o(e,t))),{vec:v,closestP:A,closestQ:y}}function h(e,t){var i=null,n=null,o=[],h=[],d=null;o[0]=r(e[1],e[0]),o[1]=r(e[2],e[1]),o[2]=r(e[0],e[2]),h[0]=r(t[1],t[0]),h[1]=r(t[2],t[1]),h[2]=r(t[0],t[2]);for(var u=null,p=null,g=null,f=0,m=e[0].distanceToSquared(t[0])+1,A=0;3>A;A+=1)for(var y=0;3>y;y+=1){var v=c(e[A],o[A],t[y],h[y]);d=v.vec;var C=s(u=r(n=v.closestQ,i=v.closestP),u);if(m>=C){p=i.clone(),g=n.clone(),m=C;var I=s(r(e[(A+2)%3],i),d),x=s(r(t[(y+2)%3],n),d);if(0>=I&&x>=0)return{start:i.clone(),end:n.clone(),minDistance:Math.sqrt(C)};0>I&&(I=0),x>0&&(x=0),s(u,d)-I+x>0&&(f=1)}}var w=l(o[0],o[1]),M=s(w,w);if(M>1e-15){var E=[];u=r(e[0],t[0]),E[0]=s(u,w),u=r(e[0],t[1]),E[1]=s(u,w),u=r(e[0],t[2]),E[2]=s(u,w);var B=-1;if(E[0]>0&&E[1]>0&&E[2]>0?E[B=E[1]>E[0]?0:1]>E[2]&&(B=2):0>E[0]&&0>E[1]&&0>E[2]&&E[2]>E[B=E[0]>E[1]?0:1]&&(B=2),B>=0&&(f=1,s(u=r(t[B],e[0]),l(w,o[0]))>0&&s(u=r(t[B],e[1]),l(w,o[1]))>0&&s(u=r(t[B],e[2]),l(w,o[2]))>0))return i=a(t[B],w,E[B]/M),n=t[B].clone(),{start:i.clone(),end:n,minDistance:i.distanceTo(n)}}var S=l(h[0],h[1]),b=s(S,S);if(b>1e-15){var k=[];u=r(t[0],e[0]),k[0]=s(u,S),u=r(t[0],e[1]),k[1]=s(u,S),u=r(t[0],e[2]),k[2]=s(u,S);B=-1;if(k[0]>0&&k[1]>0&&k[2]>0?k[B=k[1]>k[0]?0:1]>k[2]&&(B=2):0>k[0]&&0>k[1]&&0>k[2]&&k[2]>k[B=k[0]>k[1]?0:1]&&(B=2),B>=0&&(f=1,s(u=r(e[B],t[0]),l(S,h[0]))>0&&s(u=r(e[B],t[1]),l(S,h[1]))>0&&s(u=r(e[B],t[2]),l(S,h[2]))>0))return{start:i=e[B].clone(),end:(n=a(e[B],S,k[B]/b)).clone(),minDistance:i.distanceTo(n)}}return f?(i=p,n=g,{start:p.clone(),end:g.clone(),minDistance:Math.sqrt(m)}):{start:p.clone(),end:g.clone(),minDistance:0}}var d=new Ke,u=new Ke,p=new Ke;function g(e,t,i,n,r,o){d.fromBufferAttribute(t,i),u.fromBufferAttribute(t,n),p.fromBufferAttribute(t,r),o&&(d.applyMatrix4(o),u.applyMatrix4(o),p.applyMatrix4(o)),e.push(d),e.push(u),e.push(p)}for(var f={start:null,end:null,minDistance:Number.POSITIVE_INFINITY},m=t.geometry,A=m.attributes.position,y=i?i.indexStart:0,v=m.getIndex().array,C=y,I=i?i.indexStart+i.indexCount:v.length;I>C;C+=3){var x=[];g(x,A,v[C],v[C+1],v[C+2],n);var w=h(e,x);if(0>=w.minDistance)return f.minDistance=0,f.start=w.start.clone(),f.end=w.end.clone(),f;f.minDistance>w.minDistance&&(f.minDistance=w.minDistance,f.start=w.start.clone(),f.end=w.end.clone())}return f},minDistanceBetweenTriToTri:function(e,t){function i(e,t){return new Ke(e.x-t.x,e.y-t.y,e.z-t.z)}function n(e,t){return new Ke(e.x+t.x,e.y+t.y,e.z+t.z)}function r(e,t,i){return new Ke(e.x+t.x*i,e.y+t.y*i,e.z+t.z*i)}function o(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function a(e,t){return new Ke(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)}function s(e,t,s,l){var c,h=o(t,l),d=o(t,t),u=o(l,l),p=i(s,e),g=o(t,p),f=o(l,p),m=null;0>(m=(g*u-f*h)/(d*u-h*h))||isNaN(m)?m=0:m>1&&(m=1);var A=null,y=null,v=null,C=null;return 0>=(c=(m*h-f)/u)||isNaN(c)?(y=s,0>=(m=g/d)||isNaN(m)?(A=e,v=i(s,e)):1>m?(A=r(e,t,m),C=a(p,t),v=a(t,C)):v=i(s,A=n(e,t))):1>c?(y=r(s,l,c),0>=m||isNaN(m)?(A=e,C=a(p,l),v=a(l,C)):1>m?(A=r(e,t,m),0>o(v=a(t,l),p)&&v.multiplyScalar(-1)):(C=a(p=i(s,A=n(e,t)),l),v=a(l,C))):(y=n(s,l),0>=(m=(h+g)/d)||isNaN(m)?(A=e,v=i(y,e)):1>m?(A=r(e,t,m),C=a(p=i(y,e),t),v=a(t,C)):v=i(y,A=n(e,t))),{vec:v,closestP:A,closestQ:y}}function l(e,t){var n=null,l=null,c=[],h=[],d=null;c[0]=i(e[1],e[0]),c[1]=i(e[2],e[1]),c[2]=i(e[0],e[2]),h[0]=i(t[1],t[0]),h[1]=i(t[2],t[1]),h[2]=i(t[0],t[2]);for(var u=null,p=null,g=null,f=0,m=e[0].distanceToSquared(t[0])+1,A=0;3>A;A+=1)for(var y=0;3>y;y+=1){var v=s(e[A],c[A],t[y],h[y]);d=v.vec;var C=o(u=i(l=v.closestQ,n=v.closestP),u);if(m>=C){p=n.clone(),g=l.clone(),m=C;var I=o(i(e[(A+2)%3],n),d),x=o(i(t[(y+2)%3],l),d);if(0>=I&&x>=0)return{start:n.clone(),end:l.clone(),minDistance:Math.sqrt(C)};0>I&&(I=0),x>0&&(x=0),o(u,d)-I+x>0&&(f=1)}}var w=a(c[0],c[1]),M=o(w,w);if(M>1e-15){var E=[];u=i(e[0],t[0]),E[0]=o(u,w),u=i(e[0],t[1]),E[1]=o(u,w),u=i(e[0],t[2]),E[2]=o(u,w);var B=-1;if(E[0]>0&&E[1]>0&&E[2]>0?E[B=E[1]>E[0]?0:1]>E[2]&&(B=2):0>E[0]&&0>E[1]&&0>E[2]&&E[2]>E[B=E[0]>E[1]?0:1]&&(B=2),B>=0&&(f=1,o(u=i(t[B],e[0]),a(w,c[0]))>0&&o(u=i(t[B],e[1]),a(w,c[1]))>0&&o(u=i(t[B],e[2]),a(w,c[2]))>0))return n=r(t[B],w,E[B]/M),l=t[B].clone(),{start:n.clone(),end:l,minDistance:n.distanceTo(l)}}var S=a(h[0],h[1]),b=o(S,S);if(b>1e-15){var k=[];u=i(t[0],e[0]),k[0]=o(u,S),u=i(t[0],e[1]),k[1]=o(u,S),u=i(t[0],e[2]),k[2]=o(u,S);B=-1;if(k[0]>0&&k[1]>0&&k[2]>0?k[B=k[1]>k[0]?0:1]>k[2]&&(B=2):0>k[0]&&0>k[1]&&0>k[2]&&k[2]>k[B=k[0]>k[1]?0:1]&&(B=2),B>=0&&(f=1,o(u=i(e[B],t[0]),a(S,h[0]))>0&&o(u=i(e[B],t[1]),a(S,h[1]))>0&&o(u=i(e[B],t[2]),a(S,h[2]))>0))return{start:n=e[B].clone(),end:(l=r(e[B],S,k[B]/b)).clone(),minDistance:n.distanceTo(l)}}return f?(n=p,l=g,{start:p.clone(),end:g.clone(),minDistance:Math.sqrt(m)}):{start:p.clone(),end:g.clone(),minDistance:0}}new Ke,new Ke,new Ke;for(var c={start:null,end:null,minDistance:Number.POSITIVE_INFINITY},h=0,d=e.length;d>h;h+=1)for(var u=0,p=t.length;p>u;u+=1){var g=l(e[h],t[u]);if(0>=g.minDistance)return c.minDistance=0,c.start=g.start.clone(),c.end=g.end.clone(),c;c.minDistance>g.minDistance&&(c.minDistance=g.minDistance,c.start=g.start.clone(),c.end=g.end.clone())}return c},calculateTheIntersectionOfGeometryAndPlane:function(e,t){var i=e.getIndex().array,n=e.attributes.position,r=i.length,o=t.clone(),a=0;function s(e,t,i,n,r,o,a,s){o.fromBufferAttribute(t,i),a.fromBufferAttribute(t,n),s.fromBufferAttribute(t,r),e.push(o),e.push(a),e.push(s)}-1===o.normal.x?a=0:1===o.normal.x?(o.normal.x=-1,o.constant*=-1,a=1):-1===o.normal.y?a=2:1===o.normal.y?(o.normal.y=-1,o.constant*=-1,a=3):-1===o.normal.z?a=4:1===o.normal.z&&(o.normal.z=-1,o.constant*=-1,a=5);for(var l=[],c=new xh,h=0,d=r;d>h;h+=3){var u=[];s(u,n,i[h],i[h+1],i[h+2],new Ke,new Ke,new Ke);var p=u[0],g=u[1],f=u[2],m=!1,A=!1,y=!1;switch(a){case 0:case 1:m=o.constant>p.x,A=o.constant>g.x,y=o.constant>f.x;break;case 2:case 3:m=o.constant>p.y,A=o.constant>g.y,y=o.constant>f.y;break;case 4:case 5:m=o.constant>p.z,A=o.constant>g.z,y=o.constant>f.z}var v=null,C=null;m?A?y||(c.set(f,g),(v=o.intersectLine(c,new Ke))&&l.push(v),c.set(f,p),(C=o.intersectLine(c,new Ke))&&l.push(C)):y?(c.set(g,f),(v=o.intersectLine(c,new Ke))&&l.push(v),c.set(g,p),(C=o.intersectLine(c,new Ke))&&l.push(C)):(c.set(g,p),(v=o.intersectLine(c,new Ke))&&l.push(v),c.set(f,p),(C=o.intersectLine(c,new Ke))&&l.push(C)):A?y?(c.set(p,g),(v=o.intersectLine(c,new Ke))&&l.push(v),c.set(p,f),(C=o.intersectLine(c,new Ke))&&l.push(C)):(c.set(p,g),(v=o.intersectLine(c,new Ke))&&l.push(v),c.set(f,g),(C=o.intersectLine(c,new Ke))&&l.push(C)):y&&(c.set(p,f),(v=o.intersectLine(c,new Ke))&&l.push(v),c.set(g,f),(C=o.intersectLine(c,new Ke))&&l.push(C))}if(l.length>=1){for(var I={},x=[],w=[],M=0,E=l.length;E>M;M+=1){var B=l[M].toArray(x).toString();I[B]||(I[B]=[]),2>I[B].length||(B=B+"_"+Math.floor(I[B].length/2+.6),I[B]||(I[B]=[])),I[B].push(M),w.push(B)}var S=[],b=w[0];return S.push(l[0],l[1]),function e(t,i){var n=I[w[t]],r=n[0]===t?n[1]:n[0],o=r%2?r-1:r+1;if(i.push(l[o]),w[o]!==b){if(isNaN(o))return void(S=null);e(o,i)}}(1,S),S}},getShapeGeometryFromGeometryAndPlane:function(e,t){var i=by.calculateTheIntersectionOfGeometryAndPlane(e,t);if(i){var n=0;-1===t.normal.x?n=0:1===t.normal.x?n=1:-1===t.normal.y?n=2:1===t.normal.y?n=3:-1===t.normal.z?n=4:1===t.normal.z&&(n=5);var r=[],o=[],a=[],s=[],l=[];e.boundingBox||e.computeBoundingBox();for(var c=e.boundingBox.getSize(new Ke),h=t.normal.x*c.x*1e-4,d=t.normal.y*c.y*1e-4,u=t.normal.z*c.z*1e-4,p=0,g=i.length;g>p;p+=1){var f=i[p],m=new ke;switch(o.push(f.x+h,f.y+d,f.z+u),n){case 0:case 1:a.push(1,0,0),s.push(f.y,f.z),m.set(f.y,f.z);break;case 2:case 3:a.push(0,1,0),s.push(f.x,f.z),m.set(f.x,f.z);break;case 4:case 5:a.push(0,0,1),s.push(f.x,f.y),m.set(f.x,f.y)}l.push(m)}for(var A=Ds.triangulateShape(l,[]),y=0,v=A.length;v>y;y+=1){var C=A[y];r.push(C[0],C[1],C[2])}var I=new Ni;return I.setIndex(r),I.setAttribute("position",new Bi(o,3)),I.setAttribute("normal",new Bi(a,3)),I.setAttribute("uv",new Bi(s,2)),I}}};by.getBoxMBuffer=function(){for(var e=null,t=null,i=[],n=[],r=[],o=0,a=0;6>a;a+=1){var s=by.getBoxData(a);for(e=0,t=s.vertex.length;t>e;e+=1)i.push(s.vertex[e]);for(e=0,t=s.index.length;t>e;e+=1)r.push(s.index[e]+o);for(o+=s.vertex.length/3,e=0,t=s.normal.length;t>e;e+=1)n.push(s.normal[e])}return function(e){var t=null;if(e){var o=new De,a=new Ke;t=[];for(var s=0;6>s;s+=1){var l=by.getBoxData(s);o.set(e[6*s],e[6*s+2],e[6*s+4],e[6*s+1],e[6*s+3],e[6*s+5],0,0,1);for(var c=0,h=l.uv.length;h>c;c+=2)a.set(l.uv[c],l.uv[c+1],1),a.applyMatrix3(o),t.push(a.x),t.push(a.y)}}return{vertex:i,normal:n,uv:t,index:r}}}(),by.getPipeMBuffer=function(){var e=by.getPipeData(32),t=e.edges,i=e.vertex,n=e.normal,r=e.index;return function(e){var o=null;if(!(!e||18!==e.length)){o=[];for(var a=[],s=0,l=e.length/6;l>s;s+=1){var c=new De;c.set(e[6*s],e[6*s+2],e[6*s+4],e[6*s+1],e[6*s+3],e[6*s+5],0,0,1),a.push(c)}for(var h=by.getPipeData(32),d=4*(t+1),u=d+2*t,p=new Ke,g=0,f=h.uv.length;f>g;g+=2)p.set(h.uv[g],h.uv[g+1],1),p.applyMatrix3(d>g?a[0]:u>g?a[1]:a[2]),o.push(p.x),o.push(p.y)}return{vertex:i,normal:n,uv:o,index:r}}}();var ky={geoHeader:function(e){var t=new Int32Array(e);this.geoCount=t[0],this.headerBuffer=t.slice(1,4*this.geoCount+1)},GeometryReader:function(e,t){Bu.time("GeometryReader"),this.geomMap=[],this.geoCount=new Uint32Array(e,0,1)[0];var i=this.geoCount,n=[],r=0,o=null,a=null,s=null,l=null,c=null,h=null,d=null,u=0,p=null,g=0,f=null,m=0,A=null,y=0,v=null,C=0,I=null;if(gy(t,"2"))for(var x=0;i>x;x+=1){if(n={},r=4*(1+7*i),a=(o=new Uint32Array(e,4*(1+7*x),7))[0],s=o[2],l=o[3],c=o[4],h=o[5],d=o[6],u=r+o[1],p=new Float32Array(e.slice(u,4*s+u)),g=4*s+u,f=new Float32Array(e.slice(g,g+4*l)),m=g+4*l,A=new Uint32Array(e.slice(m,m+4*c)),y=m+4*c,v=new Float32Array(e.slice(y,y+4*h)),C=y+4*h,I=new Int16Array(e.slice(C,C+2*d)),xd.DataReduction){var w=(new yt).makeScale(.001,.001,.001);by.applyMatrix4ToBuffer(w,p)}n.position=p,n.normal=f,n.index=A,n.uv=v,n.materialIndex=I,n.geoId=a,this.geomMap.push(n)}else for(var M=0;i>M;M+=1)n={},r=4*(1+6*i),a=(o=new Uint32Array(e,4*(1+6*M),6))[0],s=o[2],l=o[3],c=o[4],h=o[5],u=r+o[1],p=new Float32Array(e.slice(u,4*s+u)),g=4*s+u,f=new Float32Array(e.slice(g,g+4*l)),m=g+4*l,A=new Uint32Array(e.slice(m,m+4*c)),y=m+4*c,v=new Float32Array(e.slice(y,y+4*h)),n.position=p,n.normal=f,n.index=A,n.uv=v,n.geoId=a,this.geomMap.push(n);Bu.debug(this.geomMap),Bu.timeEnd("GeometryReader")},BatchedGeometryReader:function(e,t){Bu.time("BatchedGeometryReader"),this.geomMap=[],this.geoCount=new Uint32Array(e,0,1)[0];for(var i=this.geoCount,n=0,r=0,o=0,a=[],s=4,l=0;i>l;l+=1){var c={};a.push(c);var h=new Uint32Array(e,s,7);c.geoId=h[0],c.offset=h[1],c.vertexLength=h[2],c.normalLength=h[5],c.indicesLength=h[3],c.uvLength=h[4],c.componentCount=r=h[6],c.nodeInfo=[],s+=28;for(var d=0;r>d;d+=1){var u=new Uint32Array(e,s,1)[0];s+=4;for(var p=0;u>p;p+=1){var g=new Uint32Array(e,s,3);s+=12,c.nodeInfo.push(g)}}c.materialKeyLength=new Uint32Array(e,s,1)[0],s+=4}for(var f=0;i>f;f+=1){var m=a[f],A=m.normalLength,y=m.indicesLength,v=m.uvLength;n=s+m.offset,o=4*m.vertexLength;var C=new Float32Array(e.slice(n,n+o));n+=o,o=4*y;var I=new Uint32Array(e.slice(n,n+o));n+=o,o=4*v;var x=new Float32Array(e.slice(n,n+o));n+=o,o=4*A;var w=new Float32Array(e.slice(n,n+o));n+=o,r=m.componentCount;for(var M={},E=0,B=m.nodeInfo.length;B>E;E+=1){var S=m.nodeInfo[E];o=2*S[0];var b=wp.ab2str(new Int16Array(e.slice(n,n+o)));n+=o,o=2*S[1];var k=wp.ab2str(new Int16Array(e.slice(n,n+o)));n+=o;var D=new Uint32Array(e.slice(n,n+4))[0];n+=4;var T=new Uint32Array(e.slice(n,n+4))[0];n+=4;var R=new Uint32Array(e.slice(n,n+4))[0];n+=4;var U=new Uint32Array(e.slice(n,n+4))[0];n+=4;var F={};F.userId=b,F.nodeId=k,F.positionStart=D,F.positionCount=T,F.indexStart=R,F.indexCount=U,M[b]||(M[b]=[]),M[b].push(F)}o=2*m.materialKeyLength;var Q=wp.ab2str(new Int16Array(e.slice(n,n+o)));if(xd.DataReduction){var L=(new yt).makeScale(.001,.001,.001);by.applyMatrix4ToBuffer(L,C)}var O={};O.position=C,O.normal=w,O.index=I,O.uv=x,O.materialIndex=null,O.geoId=m.geoId,O.materialKey=Q,O.componentInfo=M,this.geomMap.push(O)}Bu.debug(this.geomMap),Bu.timeEnd("BatchedGeometryReader")},NodesReader:function(e,t){Bu.time("NodesReader"),this.geomMap=[],this.nodeCount=new Uint32Array(e,0,1)[0];for(var i=this.nodeCount,n=0,r=0,o=[],a=4,s=0;i>s;s+=1){var l={};o.push(l);var c=new Uint32Array(e,a,5);l.geoId=c[0],l.offset=c[1],l.nodeIdLength=c[2],l.materialKeyLength=c[3],l.matrixLength=c[4],a+=20}for(var h=0;i>h;h+=1){var d=o[h],u=d.materialKeyLength,p=d.matrixLength,g=wp.ab2str(e.slice(n=a+d.offset,n+(r=d.nodeIdLength))),f=wp.ab2str(e.slice(n+=r,n+(r=u)));n+=r,r=8*p;var m=new Float64Array(e.slice(n,n+r));n+=r;var A={};A.nodeId=g,A.geoId=d.geoId,A.material=f,A.matrix=m,this.geomMap.push(A)}Bu.debug(this.geomMap),Bu.timeEnd("NodesReader")},InstancedGeometryReader:function(e,t){Bu.time("InstancedGeometryReader"),this.geomMap=[],this.geoCount=new Uint32Array(e,0,1)[0];for(var i=this.geoCount,n=null,r=0,o=0,a=0,s=[],l=4,c=0;i>c;c+=1){var h={};s.push(h),n=new Uint32Array(e,l,7),h.geoId=n[0],h.offset=n[1],h.vertexLength=n[2],h.normalLength=n[5],h.indicesLength=n[3],h.uvLength=n[4],h.componentCount=o=n[6],h.nodeInfo={},l+=28;var d=[];h.componentKeyLength=d,h.matrixArrayLength=[];for(var u=0;o>u;u+=1){d.push(new Uint32Array(e,l,1)[0]),l+=4;var p=new Uint32Array(e,l,1)[0];l+=4,h.nodeInfo[u]=[];for(var g=0;p>g;g+=1){var f=new Uint32Array(e,l,1)[0];l+=4,h.nodeInfo[u].push(f)}}h.matrixArrayLength=new Uint32Array(e,l,1)[0],l+=4,h.materialKeyLength=new Uint32Array(e,l,1)[0],l+=4}for(var m=0;i>m;m+=1){var A=s[m],y=A.normalLength,v=A.indicesLength,C=A.uvLength;r=l+A.offset,a=4*A.vertexLength;var I=new Float32Array(e.slice(r,r+a));r+=a,a=4*v;var x=new Uint32Array(e.slice(r,r+a));r+=a,a=4*C;var w=new Float32Array(e.slice(r,r+a));r+=a,a=4*y;var M=new Float32Array(e.slice(r,r+a));r+=a;for(var E={},B=[],S=[],b=0,k=0,D=o=A.componentCount;D>k;k+=1){var T=wp.ab2str(e.slice(r,r+(a=A.componentKeyLength[k])));r+=a,S.push(T),E[T]||(E[T]=[]);for(var R=A.nodeInfo[k],U=0,F=R.length;F>U;U+=1){var Q=wp.ab2str(e.slice(r,r+(a=R[U])));r+=a,E[T].push(b),B.push(Q),b+=1}}a=8*A.matrixArrayLength;var L=new Float64Array(e.slice(r,r+a));r+=a;var O=new Float64Array(e.slice(r,r+a));r+=a;var N=new Float64Array(e.slice(r,r+a));r+=a;var P=new Float64Array(e.slice(r,r+a)),G=wp.ab2str(e.slice(r+=a,r+(a=A.materialKeyLength)));r+=a,a=4*B.length*4;var K=new Float32Array(e.slice(r,r+a));if(r+=a,xd.DataReduction){var V=(new yt).makeScale(.001,.001,.001);by.applyMatrix4ToBuffer(V,I)}var Y={};Y.position=I,Y.normal=M,Y.index=x,Y.uv=w,Y.materialIndex=null,Y.geoId=A.geoId,Y.materialKey=G,Y.componentInfo=E,Y.mcol0=L,Y.mcol1=O,Y.mcol2=N,Y.mcol3=P,Y.color=K,Y.nodeIdInfo=B,Y.componentKeyInfo=S,this.geomMap.push(Y)}Bu.debug(this.geomMap),Bu.timeEnd("InstancedGeometryReader")},BoneReader:function(e,t){Bu.time("BoneReader"),this.boneMap=[],this.boneCount=new Uint32Array(e,0,1)[0];for(var i=this.boneCount,n=[],r=0,o=null,a=null,s=null,l=null,c=null,h=null,d=0,u=null,p=0,g=null,f=0,m=null,A=0,y=[],v="[]",C=0;i>C;C+=1){n={},r=4*(1+5*i),a=(o=new Uint32Array(e,4*(1+5*C),5))[0],s=o[2],l=o[3],c=o[3],h=o[4],d=r+o[1],u=new Float32Array(e.slice(d,4*s+d)),p=4*s+d,g=new Uint16Array(e.slice(p,p+2*l)),f=p+2*l,m=new Float32Array(e.slice(f,f+4*c)),A=f+4*c;var I=new Uint8Array(e.slice(A,A+h));v=og.isIE11()?wp.decodeUTF8(I):new TextDecoder("utf-8").decode(I);try{y=JSON.parse(v)}catch(e){Bu.error("解析name出错",e)}n.offsetMatrix=u,n.skinIndex=g,n.skinWeight=m,n.name=y,n.geoId=a,this.boneMap.push(n)}Bu.debug(this.boneMap),Bu.time("BoneReader")}};ky.GeometryReader.prototype={constructor:ky.GeometryReader,getPositionBuffer:function(e){return this.geos[e].position},getIndexBuffer:function(e){return this.geos[e].index},getNormalBuffer:function(e){return this.geos[e].normal},getUVBuffer:function(e){return[]}};var Dy=function(e,t){if(this.materialMap=[],gy(t,"2"))this.materialMap=e;else for(var i=this.materialCount=new Uint32Array(e,0,1)[0],n=4*(1+6*i),r=0;i>r;r+=1){var o=new Uint32Array(e,4*(1+6*r),6),a=o[0],s=o[1],l=o[2],c=o[3],h=o[4],d=o[5],u=new Float32Array(e.slice(n+s,4*l+n+s)),p=new Int16Array(e.slice(4*l+n+s,4*l+n+s+2*c)),g=new Uint8Array(e.slice(4*l+n+s+2*c,4*l+n+s+2*c+h)),f=4*l+n+s+2*c+h,m=new Int16Array(e.slice(f,f+2*d)),A="[]";A=og.isIE11()?wp.decodeUTF8(g):new TextDecoder("utf-8").decode(g);var y=[];try{y=JSON.parse(A)}catch(e){Bu.error("解析纹理出错:",e)}var v={};v.matId=a,v.color=u,v.colorIndex=p,v.texture=y,v.textureIndex=m,this.materialMap.push(v)}Bu.debug(this.materialMap)},Ty={geoHeader:function(e){var t=new Int32Array(e);this.geoCount=t[0],this.headerBuffer=t.slice(1,4*this.geoCount+1)},GeometryReader:function(e,t){this.geomMap=[],this.geoCount=new Uint32Array(e,0,1)[0];for(var i=this.geoCount,n=[],r=0,o=null,a=null,s=null,l=null,c=0,h=null,d=null,u=0,p=0;i>p;p+=1)n={},r=4*(1+4*i),a=(o=new Uint32Array(e,4*(1+4*p),4))[0],s=o[3],l=o[2],c=r+o[1],d=new Uint32Array(e.slice(c,c+4*l)),u=c+4*l,h=new Float32Array(e.slice(u,4*s+u)),n.position=h,n.index=d,n.geoId=a,this.geomMap.push(n);Bu.debug(this.geomMap)},BoneReader:function(e,t){this.boneMap=[],this.boneCount=new Uint32Array(e,0,1)[0];for(var i=this.boneCount,n=[],r=0,o=null,a=null,s=null,l=null,c=null,h=null,d=0,u=null,p=0,g=null,f=0,m=null,A=0,y=[],v="[]",C=0;i>C;C+=1){n={},r=4*(1+5*i),a=(o=new Uint32Array(e,4*(1+5*C),5))[0],s=o[2],l=o[3],c=o[3],h=o[4],d=r+o[1],u=new Float32Array(e.slice(d,4*s+d)),p=4*s+d,g=new Uint16Array(e.slice(p,p+2*l)),f=p+2*l,m=new Float32Array(e.slice(f,f+4*c)),A=f+4*c;var I=new Uint8Array(e.slice(A,A+h));v=og.isIE11()?wp.decodeUTF8(I):new TextDecoder("utf-8").decode(I);try{y=JSON.parse(v)}catch(e){Bu.error("解析name出错",e)}n.offsetMatrix=u,n.skinIndex=g,n.skinWeight=m,n.name=y,n.geoId=a,this.boneMap.push(n)}Bu.debug(this.boneMap)}};Ty.GeometryReader.prototype={constructor:Ty.GeometryReader,getPositionBuffer:function(e){return this.geos[e].position},getIndexBuffer:function(e){return this.geos[e].index},getNormalBuffer:function(e){return this.geos[e].normal},getUVBuffer:function(e){return[]}};var Ry=function(e){this.MaxThreadCount=e||8,this.todoList=[],this.doingCount=0,this.addItem=function(e){void 0!==e&&this.todoList.push(e)},this.run=function(e,t,i){if(0>=this.doingCount)if(0!==this.todoList.length){var n=this.todoList,r=n.length;this.todoList=[],this.doingCount=r;for(var o=Math.min(this.MaxThreadCount,xd.ConcurrencyRequestCount,r),a=this,s=0;o>s;s+=1)l(s)}else i();function l(s){r>s?(t(a.doingCount,r),e(n[s],s+o,l)):1>a.doingCount&&(a.run(e,t,i),t(a.doingCount,r),i())}}},Uy=function(e,t){this.type=t,this.manager=e,this.worker=new Ry(4),this.working=!0};function Fy(e,t,i,n){for(var r=function(e,t){var i=void 0;i="Line"===t||"LineSegments"===t?new $l:new kc;for(var n=new ke,r=new ke,o=new ke,a=!0,s=!1,l=e.match(/[a-df-z][^a-df-z]*/gi),c=0,h=l.length;h>c;c++){var d=l[c],u=(t=d.charAt(0),d.substr(1).trim());switch(!0===a&&(s=!0,a=!1),t){case"M":for(var p=0,g=(y=Qy(u)).length;g>p;p+=2)n.x=y[p+0],n.y=y[p+1],r.x=n.x,r.y=n.y,0===p?i.moveTo(n.x,n.y):i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"H":for(p=0,g=(y=Qy(u)).length;g>p;p++)n.x=y[p],r.x=n.x,r.y=n.y,i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"V":for(p=0,g=(y=Qy(u)).length;g>p;p++)n.y=y[p],r.x=n.x,r.y=n.y,i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"L":for(p=0,g=(y=Qy(u)).length;g>p;p+=2)n.x=y[p+0],n.y=y[p+1],r.x=n.x,r.y=n.y,i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"C":for(p=0,g=(y=Qy(u)).length;g>p;p+=6)i.bezierCurveTo(y[p+0],y[p+1],y[p+2],y[p+3],y[p+4],y[p+5]),r.x=y[p+2],r.y=y[p+3],n.x=y[p+4],n.y=y[p+5],0===p&&!0===s&&o.copy(n);break;case"S":for(p=0,g=(y=Qy(u)).length;g>p;p+=4)i.bezierCurveTo(Ly(n.x,r.x),Ly(n.y,r.y),y[p+0],y[p+1],y[p+2],y[p+3]),r.x=y[p+0],r.y=y[p+1],n.x=y[p+2],n.y=y[p+3],0===p&&!0===s&&o.copy(n);break;case"Q":for(p=0,g=(y=Qy(u)).length;g>p;p+=4)i.quadraticCurveTo(y[p+0],y[p+1],y[p+2],y[p+3]),r.x=y[p+0],r.y=y[p+1],n.x=y[p+2],n.y=y[p+3],0===p&&!0===s&&o.copy(n);break;case"T":for(p=0,g=(y=Qy(u)).length;g>p;p+=2){var f=Ly(n.x,r.x),m=Ly(n.y,r.y);i.quadraticCurveTo(f,m,y[p+0],y[p+1]),r.x=f,r.y=m,n.x=y[p+0],n.y=y[p+1],0===p&&!0===s&&o.copy(n)}break;case"A":for(p=0,g=(y=Qy(u)).length;g>p;p+=7){var A=n.clone();n.x=y[p+5],n.y=y[p+6],r.x=n.x,r.y=n.y,Oy(i,y[p],y[p+1],y[p+2],y[p+3],y[p+4],A,n),0===p&&!0===s&&o.copy(n)}break;case"m":for(p=0,g=(y=Qy(u)).length;g>p;p+=2)n.x+=y[p+0],n.y+=y[p+1],r.x=n.x,r.y=n.y,0===p?i.moveTo(n.x,n.y):i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"h":for(p=0,g=(y=Qy(u)).length;g>p;p++)n.x+=y[p],r.x=n.x,r.y=n.y,i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"v":for(p=0,g=(y=Qy(u)).length;g>p;p++)n.y+=y[p],r.x=n.x,r.y=n.y,i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"l":for(p=0,g=(y=Qy(u)).length;g>p;p+=2)n.x+=y[p+0],n.y+=y[p+1],r.x=n.x,r.y=n.y,i.lineTo(n.x,n.y),0===p&&!0===s&&o.copy(n);break;case"c":for(p=0,g=(y=Qy(u)).length;g>p;p+=6)i.bezierCurveTo(n.x+y[p+0],n.y+y[p+1],n.x+y[p+2],n.y+y[p+3],n.x+y[p+4],n.y+y[p+5]),r.x=n.x+y[p+2],r.y=n.y+y[p+3],n.x+=y[p+4],n.y+=y[p+5],0===p&&!0===s&&o.copy(n);break;case"s":for(p=0,g=(y=Qy(u)).length;g>p;p+=4)i.bezierCurveTo(Ly(n.x,r.x),Ly(n.y,r.y),n.x+y[p+0],n.y+y[p+1],n.x+y[p+2],n.y+y[p+3]),r.x=n.x+y[p+0],r.y=n.y+y[p+1],n.x+=y[p+2],n.y+=y[p+3],0===p&&!0===s&&o.copy(n);break;case"q":for(p=0,g=(y=Qy(u)).length;g>p;p+=4)i.quadraticCurveTo(n.x+y[p+0],n.y+y[p+1],n.x+y[p+2],n.y+y[p+3]),r.x=n.x+y[p+0],r.y=n.y+y[p+1],n.x+=y[p+2],n.y+=y[p+3],0===p&&!0===s&&o.copy(n);break;case"t":for(p=0,g=(y=Qy(u)).length;g>p;p+=2){f=Ly(n.x,r.x),m=Ly(n.y,r.y);i.quadraticCurveTo(f,m,n.x+y[p+0],n.y+y[p+1]),r.x=f,r.y=m,n.x=n.x+y[p+0],n.y=n.y+y[p+1],0===p&&!0===s&&o.copy(n)}break;case"a":var y;for(p=0,g=(y=Qy(u)).length;g>p;p+=7){A=n.clone();n.x+=y[p+5],n.y+=y[p+6],r.x=n.x,r.y=n.y,Oy(i,y[p],y[p+1],y[p+2],y[p+3],y[p+4],A,n),0===p&&!0===s&&o.copy(n)}break;case"Z":case"z":i.currentPath.autoClose=!0,i.currentPath.curves.length>0&&(n.copy(o),i.currentPath.currentPoint.copy(n),a=!0);break;default:console.warn(d)}s=!1}return i}(e),o="Shape"===r.type?[r]:r.toShapes(!0),a=new Yt,s=0;o.length>s;s++){var l=o[s];if("Line"===t||"LineSegments"===t){for(var c=l.getPoints(),h=0;c.length>h;h+=1){var d=c[h];d.y=-d.y,n&&(d.z=n)}if("LineSegments"===t){var u=(new Ni).setFromPoints(c),p=new La(u,i);a.add(p)}else if("Line"===t){var g=(new Ni).setFromPoints(c),f=new Ua(g,i);a.add(f)}}else if("Mesh"===t){for(var m=new Gs(l),A=m.getAttribute("position"),y=A.array,v=0,C=y.length;C>v;v+=3)y[v+1]=-y[v+1],y[v+2]=n;A.needsUpdate=!0;var I=new nn(m,i);a.add(I)}}return a}function Qy(e){for(var t=e.split(/[\s,]+|(?=\s?[+\-])/),i=0;t.length>i;i+=1){var n=t[i];if(n.indexOf(".")!==n.lastIndexOf("."))for(var r=n.split("."),o=2;r.length>o;o+=1)t.splice(i+o-1,0,"0."+r[o]);t[i]=parseFloat(n)}return t}function Ly(e,t){return e-(t-e)}function Oy(e,t,i,n,r,o,a,s){n=n*Math.PI/180,t=Math.abs(t),i=Math.abs(i);var l=(a.x-s.x)/2,c=(a.y-s.y)/2,h=Math.cos(n)*l+Math.sin(n)*c,d=-Math.sin(n)*l+Math.cos(n)*c,u=t*t,p=i*i,g=h*h,f=d*d,m=g/u+f/p;if(m>1){var A=Math.sqrt(m);u=(t*=A)*t,p=(i*=A)*i}var y=u*f+p*g,v=Math.sqrt(Math.max(0,(u*p-y)/y));r===o&&(v=-v);var C=v*t*d/i,I=-v*i*h/t,x=Math.cos(n)*C-Math.sin(n)*I+(a.x+s.x)/2,w=Math.sin(n)*C+Math.cos(n)*I+(a.y+s.y)/2,M=svgAngle(1,0,(h-C)/t,(d-I)/i),E=svgAngle((h-C)/t,(d-I)/i,(-h-C)/t,(-d-I)/i)%(2*Math.PI);e.currentPath.absellipse(x,w,t,i,M,M+E,0===o,n)}function Ny(e){this.group=e;var t=new pi(16711680);this._lineMaterial=new Sa({color:t,side:2}),this._meshMaterial=new gi({color:t,side:2})}function Py(){this.axisNet=void 0,this.visibleByUser=!1}Uy.prototype={constructor:Uy,addTask:function(e){this.worker.addItem(e)},processTasks:function(e,t,i){var n=this,r=this.worker;this.worker.run((function(t,i,o){n.working&&e(t,(function(){r.doingCount-=1,o(i)}))}),t=t||function(){},i=i||function(){})},stop:function(){this.working=!1},start:function(){this.working=!0}},Ny.prototype.fromJSON=function(e,t){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];for(var r in n)if(n.hasOwnProperty(r)){var o=n[r],a=o.G.Path;if(a&&a.length>0){var s=o.P.matrix||[0,0];if(o.P.Type&&"LINE"===o.P.Type){for(var l="",c=0,h=a.length;h>c;c+=1)l+=a[c];var d=Fy(l,"LineSegments",this._lineMaterial,t);d.position.setX(s[0]),d.position.setY(-s[1]),this.group.add(d),d.updateMatrixWorld(!0)}else for(var u=0,p=a.length;p>u;u+=1){var g=void 0,f=Fy(a[u],g=o.G.Fill&&o.G.Fill.length===p&&0!==o.G.Fill[u].length?"Mesh":"Line","Line"===g?this._lineMaterial:this._meshMaterial,t);f.position.setX(s[0]),f.position.setY(-s[1]),this.group.add(f),f.updateMatrixWorld(!0)}}}}},Ny.prototype.setColor=function(e,t){if(e){var i=new pi(e);this._lineMaterial.color=i,t&&(this._lineMaterial.opacity=t,this._lineMaterial.transparent=1!==t),this._meshMaterial.color=i,t&&(this._meshMaterial.opacity=t,this._meshMaterial.transparent=1!==t),this._lineMaterial.needsUpdate=!0,this._meshMaterial.needsUpdate=!0}},Ny.prototype.enableStayInFront=function(){this._lineMaterial.transparent=!0,this._meshMaterial.transparent=!0,this._lineMaterial.depthTest=!1,this._meshMaterial.depthTest=!1},Ny.prototype.disableStayInFront=function(){this._lineMaterial.transparent=!1,this._meshMaterial.transparent=!1,this._lineMaterial.depthTest=!0,this._meshMaterial.depthTest=!0},Py.prototype.setupColor=function(e,t){e&&this.axisNet.setColor(e,t)},Py.prototype.hide=function(){this.axisNet&&(this.visibleByUser=!1,this.axisNet.group.visible=!1)},Py.prototype.show=function(){this.axisNet&&(this.visibleByUser=!0,this.axisNet.group.visible=!0)},Py.prototype.privateShow=function(){this.axisNet&&(this.axisNet.group.visible=!0)},Py.prototype.privateHide=function(){this.axisNet&&(this.axisNet.group.visible=!1)},Py.prototype.enableStayInFront=function(){this.axisNet.enableStayInFront()},Py.prototype.disableStayInFront=function(){this.axisNet.disableStayInFront()};var Gy=function(){this.name="",this.componentkeys=[],this.box=void 0,this.center=void 0,this.map=void 0},Ky=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};Ky.prototype.clone=function(){var e=new Ky;return e.name=this.name,e.image=this.image,e.width=this.width,e.height=this.height,e.sceneWidth=this.sceneWidth,e.sceneHeight=this.sceneHeight,e.box=Object.assign({},this.box),e.componentKeys=this.componentKeys?[].concat(this.componentKeys):void 0,e},Gy.parseFloorInfos=function(e){for(var t=[],i=Object.keys(e),n=0,r=i.length;r>n;n+=1){var o=e[i[n]];if(o.length>0){var a=new Gy;a.componentkeys=o,a.name=i[n],t.push(a)}}if(t.length>0)return t};var Vy=function(){this.floors=void 0,this.sortedFloors=void 0,this.factor=1,this.baseFloorIndex=-1,this.averageHeight=0,this.center=void 0},Yy=function(e){return new Promise((function(t,i){var n=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},e),r=null;for(var o in(r=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")).onreadystatechange=function(){if(4===r.readyState||"4"===r.readyState){var e=r.status;e>=200&&300>e||0===e?(n.success&&n.success(r.response||r.responseText,""===r.responseType||"document"===r.responseType&&r.responseXML),t(r.response||r.responseText,""===r.responseType||"document"===r.responseType&&r.responseXML)):(n.error&&n.error(e,r.response||r.responseText,""===r.responseType||"document"===r.responseType&&r.responseXML),i(e,r.response||r.responseText,""===r.responseType||"document"===r.responseType&&r.responseXML))}},r.open(n.type,n.url,n.async),n.headers)r.setRequestHeader(o,n.headers[o]);n.responseType&&(r.responseType=n.responseType),n.requestQueue?n.requestQueue.addRequest(r,n.data):n.beforeSend?n.beforeSend(r,(function(){r.send(n.data)})):r.send(n.data)}))},Hy=function(){function e(){ru(this,e),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 au(e,[{key:"generateMiniMap",value:function(e){var t=this;if(this.floors&&this.floors.length>0){var i=xd.MiniMapSize,n=i,r=e.rendererManager.renderer,o=new ke(i,n),a=new Oe(o.x,o.y,{stencilBuffer:!1});r.setRenderTarget(a);var s=new Le,l=r.getPixelRatio();r.getViewport(s),r.setPixelRatio(1),r.setViewport(0,0,o.width,o.height);var c=e.getScene(),h=new Ke,d=new Ke,u=e.getModel(this.modelKey).getBoundingBoxWorld();u.getCenter(h),u.getSize(d);var p=Math.ceil(Math.max(d.x,d.y)),g=p/2,f=new Ke(p,p,d.z);u.setFromCenterAndSize(h,f);var m=new pc;m.up.set(0,1,0),m.position.set(h.x,h.y,u.max.z),m.lookAt(h.x,h.y,u.min.z),m.left=-g,m.right=g,m.top=g,m.bottom=-g,m.near=1,m.far=d.z,m.updateMatrixWorld(!0),m.updateProjectionMatrix();var A=document.createElement("canvas");A.width=o.width,A.height=o.height;var y=A.getContext("2d"),v=new Uint8Array(o.width*o.height*4),C=e.getFilter();this.floors.forEach((function(s){var l=t.findSpecificKeys(s.componentkeys,e);0===l.length&&(l=s.componentkeys);var g=e.getBoundingBoxByIds(l);g.getCenter(h),g.getSize(d);var f=new Ky;f.box.x1=g.min.x,f.box.y1=g.min.y,f.box.z1=g.min.z,f.box.x2=g.max.x,f.box.y2=g.max.y,f.box.z2=g.max.z,f.box.offsetX=g.min.x-u.min.x,f.box.offsetY=g.min.y-u.min.y,f.width=i,f.height=n,f.sceneWidth=p,f.sceneHeight=p,f.name=s.name,f.componentKeys=l,s.map=f,C.setIsolateList(l,!0),e.modelManager.applyFilter(),r.render(c,m),r.readRenderTargetPixels(a,0,0,o.width,o.height,v);for(var I=n/2,x=4*i,w=new Uint8Array(4*i),M=0;I>M;M+=1){var E=M*x,B=(n-M-1)*x;w.set(v.subarray(E,E+x)),v.copyWithin(E,B,B+x),v.set(w,B)}var S=new Uint8ClampedArray(v.buffer),b=new ImageData(S,o.width,o.height);y.putImageData(b,0,0),f.image=A.toDataURL()})),C.clearIsolation(),r.setRenderTarget(null),r.setPixelRatio(l),r.setViewport(s.x,s.y,s.width,s.height)}}},{key:"findSpecificKeys",value:function(e,t){for(var i=[],n=0,r=e.length;r>n;n+=1){var o=t.modelManager.getComponent(e[n]);if(o&&o.length>0){var a=o[0],s=a.buildInCategory,l=a.type;(s&&this.revitFilter[s]||l&&this.ifcFilter[l])&&i.push(e[n])}}return i}},{key:"getMimiMaps",value:function(){if(this.serverMapData)return{msg:"success",data:this.serverMapData.data};if(this.floors&&this.floors.length>0){for(var e=[],t=0,i=this.floors.length;i>t;t+=1){var n=this.floors[t].map;n&&e.push(n.clone())}if(e.length>0)return{msg:"success",data:e}}return{msg:"该模型不支持小地图"}}},{key:"getServerMimiMaps",value:function(e){var t=this.model.dataUrl.floorMapUrl(),i=this.model.accessToken,n=this;if(this.floors&&this.floors.length>0)if(this.serverMapData)e({msg:"success",data:n.serverMapData.data});else{var r={url:t,success:function(t){var i;"SUCCESS"===(i="string"==typeof t?JSON.parse(t):t).code?(n.serverMapData=i,e({msg:"success",data:i.data})):"FAILURE"===i.code?setTimeout((function(){n.getServerMimiMaps(e)}),3e3):e("MAP_NOT_SUPPORTED"===i.code?{msg:"该模型不支持小地图"}:{msg:"获取模型小地图出错"})},error:function(){e({msg:"该模型不支持小地图"})}};i&&(r.headers={Authorization:i}),Yy(r)}}}]),e}(),jy=function(){this.leftChild=null,this.rightChild=null,this.boundingBox=null,this.level=-1,this.components=[]};jy.prototype.init=function(e){if(e&&(void 0!==e.axis&&(this.level=e.axis),e.left&&(this.leftChild=new jy,this.leftChild.init(e.left[0]?e.left[0]:e.left)),e.right&&(this.rightChild=new jy,this.rightChild.init(e.right[0]?e.right[0]:e.right)),e.box&&!e.items&&(this.boundingBox=new He((new Ke).fromArray(e.box.min),(new Ke).fromArray(e.box.max))),e.items))for(var t=0;e.items.length>t;t+=1)this.components.push(e.items[t].key)},jy.prototype.intersect=function(e,t){if(this.boundingBox){if(!1===e.intersectsBox(this.boundingBox))return;this.leftChild&&this.leftChild.intersect(e,t),this.rightChild&&this.rightChild.intersect(e,t);for(var i=0;this.components.length>i;i+=1)t.push(this.components[i])}else for(var n=0;this.components.length>n;n+=1)t.push(this.components[n])},jy.prototype.frustumIntersect=function(e,t,i){if(this.boundingBox){var n=this.boundingBox;if(i&&!i.equals(Ed)&&(n=this.boundingBox.clone()).applyMatrix4(i),!1===e.intersectsBox(n))return;this.leftChild&&this.leftChild.frustumIntersect(e,t,i),this.rightChild&&this.rightChild.frustumIntersect(e,t,i);for(var r=0;this.components.length>r;r+=1)t.push(this.components[r])}else for(var o=0;this.components.length>o;o+=1)t.push(this.components[o])},jy.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 Wy=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this)).handler=e,n.model=e.model,n.dataVersion=n.model.dataVersion,n.storage=n.model.getStorage(),n.url=e.model.dataUrl,n.offLine=e.model.offLine,n.fileLoader=e.model.fileLoader,n.descriptor=null,n.loader=new xy(du(n)),n.Textureloader=new xy(du(n)),n.jsonLoader=new xy(du(n)),n.loadTaskCount=0,n.maxLoadTaskCount=0,n.loadTextureCount=0,n.maxLoadTextureCount=0,n.textruesLoaded=!1,n.dataLoaded=!1,n.taskComponentManager=new Uy(du(n),"component"),n.taskReuseNodeManager=new Uy(du(n),"component"),n.taskGeometrieManager=new Uy(du(n),"geometrie"),n.taskComponentNodeManager=new Uy(du(n),"nodes"),n.taskMaterialManager=new Uy(du(n),"material"),n.taskTexturesManager=new Uy(du(n),"textures"),n.fileKeyFromModelKey={},n.enableCompressedTexture=!1,n.enableSmallTexture=!1,n.startCallback=null,n.progressCallback=null,n.finishCallback=null,n.progress={total:0,loaded:0,failed:0},n.requests={},n}return i}(xl);Wy.prototype.destroy=function(){for(var e in this.requests)this.requests.hasOwnProperty(e)&&(this.requests[e].abort&&this.requests[e].abort(),delete this.requests[e]);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()},Wy.prototype.getStorage=function(){return this.storage},Wy.prototype.getDescriptor=function(){return this.descriptor},Wy.prototype.setNotifyProgress=function(e){this.notifyProgress=e},Wy.prototype.load=function(e,t,i){this.startCallback=e,this.progressCallback=t,this.finishCallback=i,this.loadData()},Wy.prototype.loadData=function(){var e=this,t=this.model,i=t.getConfig(),n=i.scene,r=i.animation;if(!n||!n.components||!n.geometries&&(!n.batchedGeometries&&!n.instancedGeometries||1>n.batchedGeometries.length&&1>n.instancedGeometries.length)||!n.materials||!n.textures)return t.setEmptyScene(!0),Bu.error("scene is null,modelKey is ",t.modelKey),void t.dispatchEventEx({type:Fd.ON_LOAD_EMPTY_SCENE,modelKey:t.modelKey});var o=0,a=0,s=0,l=n.components.length||0,c=n.materials.length||0,h=n.textures.length||0,d=n.lights&&n.lights.length||0,u=n.reuseNodes&&n.reuseNodes.length||0,p=[],g=[],f=[],m=[],A=[],y=[],v=[],C=n.textures,I=[],x=[];if(this.map={},my(e.dataVersion,"2.0.0")){for(var w=0;l>w;w+=1)n.components[w].fileKey?p.push(n.components[w].fileKey):t.dispatchEventEx({type:Qd.SCENE_NOT_CLOSE,modelKey:t.modelKey});for(var M=0;c>M;M+=1)n.materials[M].fileKey?g.push(n.materials[M].fileKey):t.dispatchEventEx({type:Qd.SCENE_NOT_CLOSE,modelKey:t.modelKey})}else p=n.components,g=n.materials,Array.isArray(n.nodes)&&(v=n.nodes),x=n.reuseNodes||[];if(n.map&&(this.map=n.map),n.lights&&n.lights.length>0&&(y=n.lights),n.trees.length>0)for(var E=0;n.trees.length>E;E+=1){var B=n.trees[E];"partition"===B.type&&I.push(B.fileKey)}if(r&&i.hasAnimation&&(o=r.bones.length,a=1,s=1,f=r.bones,m.push(r.clips),A.push(r.nodes)),e.maxLoadTaskCount=0,e.maxLoadTaskCount+=l,e.maxLoadTaskCount+=c,e.maxLoadTaskCount+=o,e.maxLoadTaskCount+=a,e.maxLoadTaskCount+=s,e.maxLoadTaskCount+=d,e.maxLoadTaskCount+=I.length,e.maxLoadTaskCount+=u,e.maxLoadTaskCount+=v.length,1>e.maxLoadTaskCount)return Bu.info("Nothing to load ",t.modelKey),void t.dispatchEventEx({type:Qd.SCENE_NOTHING_TO_LOAD,modelKey:t.modelKey});e.progress.total+=e.maxLoadTaskCount,e.startCallback&&e.startCallback(),Bu.time("数据加载时间"),e._loadComponent(p),e._loadMaterial(g),e._loadComponentNode(v),e._loadReuseNode(x),xd.EnableTextureLoading&&h>0?(e.maxLoadTextureCount+=h,e._loadTextures(C)):e._onLoadTexture(),e._loadKDTree(I),e._loadClips(m),e._loadBones(f),e._loadNodes(A),d&&e._loadLights(y),e.offLine&&e.loadAttribute(),i.axis&&e._loadAxisNet(i.axis),e.maxLoadTaskCount+=1,e.loadFloorInfo(e.model.modelKey,(function(){e._onTaskFinished()})),e.loadSceneAndGeos(i)},Wy.prototype.loadSceneAndGeos=function(e){},Wy.prototype.getSceneTaskCount=function(e){return 0},Wy.prototype._loadLightmapConfig=function(e,t){var i=this.model,n=this.descriptor;n&&this.fileLoader.load(e,(function(e){var r;try{r=JSON.parse(e)}catch(e){return void console.log("Lightmap config data exceptions!")}void 0!==r.count.lightmapNum&&r.count.lightmapNum>0&&(i.lightmapNum=r.count.lightmapNum,i.lightmap=!0,n.lightmap=!0,xd.Instance=!1,xd.EnableLightmap=!0),t&&t()}))},Wy.prototype._onTaskFinished=function(){var e=this.model;this.loadTaskCount+=1;var t=this.dealProgressSegment(e,this.loadTaskCount);this.notifyProgress&&(this.progressCallback&&this.progressCallback({total:this.maxLoadTaskCount,loaded:t,modelKey:this.model.modelKey}));this.maxLoadTaskCount>this.loadTaskCount||(this.dataLoaded=!0,this.textruesLoaded&&(Bu.timeEnd("数据加载时间"),this.finishCallback&&this.finishCallback()))},Wy.prototype._onLoadTexture=function(){this.loadTextureCount+=1,this.maxLoadTextureCount>this.loadTextureCount||(this.textruesLoaded=!0,this.dataLoaded&&(Bu.timeEnd("数据加载时间"),this.finishCallback&&this.finishCallback()))},Wy.prototype._loadScene=function(e){var t=this,i=this.model,n=this.url,r=this.fileLoader;r.setResponseType("arraybuffer"),r.load(n.sceneUrl(e),(function(i){t._parseScene(i,e),t._onTaskFinished()}),void 0,(function(e){i.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_SCENE_ERROR,event:e}),t._onTaskFinished()}))},Wy.prototype._parseScene=function(e,t){var i=new Loader.SceneReader(e);this.descriptor.mapSceneReader[t]=i,i=null},Wy.prototype._loadLine=function(){var e=this,t=this.model,i=this.url,n=this.fileLoader;n.setResponseType("arraybuffer"),n.load(i.lineUrl(),(function(t){e._parseLine(t),e._onTaskFinished()}),void 0,(function(i){t.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_MATERIAL_ERROR,event:i}),e._onTaskFinished()}))},Wy.prototype._parseLine=function(e){for(var t=new Loader.LineReader(e),i=0,n=t.header.lineCount;n>i;++i){var r=t.getPtBuffer(i),o=t.getIdxBuffer(i);if(void 0!==r&&void 0!==o){var a=t.getLineData(i);if(0===a.lineType){for(var s=[],l=1,c=o.length;c>l;l++)s.push(o[l-1]),s.push(o[l]);s.length&&(o=s)}this.descriptor.cacheReferencedMeshBufferData("line-"+a.line_id,{P:r,I:o})}else Bu.log("Error Geometry!")}t=null},Wy.prototype._parseMaterialBinary=function(e){var t,i=this.url,n=this.model.materialManager,r=n.materials,o=n.textures,a=new Loader.MaterialReader(e),s=a.materialCount,l=this,c=[];if(s>=0){var h=this.model.manager.scene;for(t=0;s>t;++t){var d,u={},p=a.getMaterial(t);if(void 0!==p.color&&(u.color=p.color),void 0!==p.opacity&&(u.opacity=p.opacity,1>p.opacity&&(u.transparent=!0)),void 0!==p.side&&p.side&&(u.side=2),void 0!==p.emissive&&(u.emissive=p.emissive),void 0!==p.environment&&(u.envMapIntensity=p.environment),void 0!==p.roughness&&(u.roughness=p.roughness,u.originRoughness=p.roughness),void 0!==p.metalness&&(u.metalness=p.metalness,u.originMetalness=p.metalness),xd.IBL?(u.iblProbe=h.iblProbe,(d=new ImageBasedLighting.IBLMaterial(u)).type="IBL"):d=cA.createStandardMaterial(u),d.name=t,r[t]=d,u=null,xd.EnableTextureLoading){var g=null;p.texture_n>0&&(g=a.getTexture(p.texture_id[0])),g&&c.push({id:t,data:g})}}if(c.length>0){for(s=this.maxLoadTextureCount=c.length,t=0;s>t;t+=1)this._parseTexture(i,c[t],o);c=null}else l._onLoadTexture();if(this.model.lightmap){var f=this.model.lightmapNum;for(this.maxLoadTextureCount+=f,t=0;f>t;t+=1){var m=this._loadTexture(i.textureUrl("lightmap-rgbm"+t+".png"),(function(){l._onLoadTexture()}),void 0,(function(){l._onLoadTexture()}));n.lightmaps[t]=m}}a=null}},Wy.prototype._parseMaterialJson=function(e){var t,i=this.url,n=this.model.materialManager,r=n.materials,o=n.textures,a=new Loader.MaterialReaderJson(e),s=a.count,l=this,c=[];if(s>=0){var h=this.model.manager.scene;for(t=0;s>t;++t){var d,u={},p=a.getMaterial(t),g=p.parameters;if(void 0!==g.color&&(u.color=g.color),void 0!==g.opacity&&(u.opacity=g.opacity,1>g.opacity&&(u.transparent=!0)),void 0!==g.side&&"double"===g.side&&(u.side=2),void 0!==g.emissive&&(u.emissive=g.emissive),void 0!==g.environment&&(u.envMapIntensity=g.environment),void 0!==g.roughness&&(u.roughness=g.roughness,u.originRoughness=g.roughness),void 0!==g.metalness&&(u.metalness=g.metalness,u.originMetalness=g.metalness),void 0!==g.refractionRatio&&(u.refractionRatio=g.refractionRatio),void 0!==g.imageFade&&(u.imageFade=g.imageFade),this.model.lightmap&&(u.lights=!1),xd.IBL?(u.iblProbe=h.iblProbe,(d=new ImageBasedLighting.IBLMaterial(u)).type="IBL"):(d=cA.createStandardMaterial(u)).refreshUniforms(),d.name=t,r[t]=d,u=null,xd.EnableTextureLoading){var f=[],m=p.textures;for(var A in m){"reliefMap"==A&&m.bumpMap||f.push({type:A,data:m[A]})}f.length>0&&c.push({id:t,dataArray:f})}}if(c.length>0){for(s=c.length,t=0;s>t;t+=1){this.maxLoadTextureCount+=(f=c[t].dataArray).length}for(t=0;s>t;t+=1){for(var y=c[t].id,v=[],C=0,I=(f=c[t].dataArray).length;I>C;C++)this._parseTextureJson(i,f[C],v);o[y]=v}c=null}else l._onLoadTexture();if(this.model.lightmap){var x=this.model.lightmapNum;for(this.maxLoadTextureCount+=x,t=0;x>t;t+=1){var w=this._loadTexture(i.lightmapTexUrl("lightmap-rgbm"+t+".png"),(function(){l._onLoadTexture()}),void 0,(function(){l._onLoadTexture()}));n.lightmaps[t]=w}}a=null}},Wy.prototype._loadTexture=function(e,t,i,n){var r,o=Ml.Handlers.get(e),a=this;return null!==o?r=o.load(e,t):(r=new Fe,(o=new Sl).setCrossOrigin("anonymous"),o.load(e,(function(e){r.image=cA.ensurePowerOfTwo(e),r.needsUpdate=!0,t&&t(r)}),i,(function(e){void 0!==n&&n(e),a.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_TEXTURE_ERROR,event:e})}))),r},Wy.prototype._loadCompressedTexture=function(e,t,i,n){},Wy.prototype._loadTextureByCrypto=function(e,t,i,n){var r,o=Ml.Handlers.get(e),a=this;return null!==o?r=o.load(e,t):(r=new Fe,(o=new TEST.CryptoResourceLoader).loadURL(e,(function(e){var i=new Blob([e],{type:"jpeg"}),o=new Image;o.onload=function(){r.image=cA.ensurePowerOfTwo(o),r.needsUpdate=!0,t&&t(r)},o.onerror=function(e){n&&n(e),a.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_TEXTURE_ERROR,event:e})},o.src=URL.createObjectURL(i)}),(function(e){void 0!==n&&n(e),a.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_TEXTURE_ERROR,event:e})}))),r},Wy.prototype._parseTexture=function(e,t,i){var n=window.TEST||{},r=t.id,o=t.data,a=o.id+o.file_name_ext;this.textureLoader=this.enableCompressedTexture&&o.dds?this._loadCompressedTexture:n.CryptoResourceLoader?this._loadTextureByCrypto:this._loadTexture;var s=this;this.textureLoader(e.textureUrl(a),(function(e){e.repeat.fromArray([o.scale_u,o.scale_v]),e.offset.fromArray([o.offset_u,o.offset_v]),e.setRotateAngle&&e.setRotateAngle(o.angle),o.repeat_u&&(e.wrapS=g),o.repeat_v&&(e.wrapT=g),e&&(i[r]=e),s._onLoadTexture()}),void 0,(function(){s._onLoadTexture()}))},Wy.prototype._parseTextureJson=function(e,t,i){var n=window.TEST||{},r=t.type,o=t.data,a=e.textureUrl(o.sourceFile),s=this.enableSmallTexture&&o.texture_small;if(!s&&this.enableCompressedTexture&&o.dds)this.textureLoader=this._loadCompressedTexture;else if(this.textureLoader=n.CryptoResourceLoader?this._loadTextureByCrypto:this._loadTexture,s){var l=a.lastIndexOf(".");a=a.substring(0,l)+"_s"+a.substring(l)}var c=this;this.textureLoader(a,(function(e){e.repeat.fromArray([o.scale[0],o.scale[1]]),e.offset.fromArray([o.offset[0],o.offset[1]]),e.setRotateAngle&&e.setRotateAngle(o.angle),o.repeatU&&(e.wrapS=g),o.repeatV&&(e.wrapT=g),e.texturetype=r,"reliefMap"==r&&(e.texturetype="bumpMap"),o.dataType&&"NormalMap"==o.dataType&&(e.texturetype="normalMap"),o.alpha&&(e.texturetype="alphaMap"),o.depth&&(e.depth=o.depth),e&&i.push(e),c._onLoadTexture()}),void 0,(function(){c._onLoadTexture()}))},Wy.prototype._loadUV2=function(){var e=this,t=this.url,i=this.fileLoader;i.setResponseType("arraybuffer"),i.load(t.uv2Url(),(function(t){e.uv2Buffer=new Uint16Array(t),e._onTaskFinished()}),void 0,(function(t){e._onTaskFinished()})),i.setResponseType(""),i.load(t.uv2MapItemUrl(),(function(t){e.uv2MapItem=JSON.parse(t),e._onTaskFinished()}),void 0,(function(t){e._onTaskFinished()}))},Wy.prototype.getUV2ById=function(e,t){if(this.uv2MapItem&&t){var i=this.uv2MapItem[e];if(i){var n=i.uv1Scale,r=i.uv1Translation,o=i.uv1ByteOffset/2,a=2*t;if(this.uv2Buffer){for(var s=this.uv2Buffer.slice(o,o+a),l=[],c=0;a>c;c+=2)l.push(n[0]*(s[c]/65535)+r[0]),l.push(n[1]*(s[c+1]/65535)+r[1]);return{lightmapIdx:i.lightmapIdx,uv2:l}}}}},Wy.prototype._loadSymbol=function(){var e=this,t=this.url,i=this.fileLoader;i.setResponseType("arraybuffer"),i.load(t.symbolUrl(),(function(t){e.parseSymbol(t),e._onTaskFinished()}),void 0,(function(t){e.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_SYMBOL_ERROR,event:t}),e._onTaskFinished()}))},Wy.prototype.parseSymbol=function(e){this.descriptor.symbolReader=new Loader.SymbolReader(e)},Wy.prototype._loadOctree=function(e,t){var i=null,n=this.model.configLoader.transformInfos.transformMatrix;this.model.configLoader.transformInfos.octreeTransformed&&(i=new yt).copy(n).invert(),e&&this._loadOctreeBy(i,!1),t&&this._loadOctreeBy(i,!0)},Wy.prototype._loadOctreeBy=function(e,t){var i,n=this,r=this.url,o=this.fileLoader;i=r.octreeUrl(t?"i":"o"),o.setResponseType("arraybuffer"),o.load(i,(function(i){n._parseOctree(i,e,t),n._onTaskFinished()}),void 0,(function(e){n.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_OCTREEINNER_ERROR,event:e}),n._onTaskFinished()}))},Wy.prototype._parseOctree=function(e,t,i){this.descriptor.octreeRootNode[i?"inner":"outer"]=this._getOctreeRootNode(e,t)},Wy.prototype._getOctreeRootNode=function(e,t){function i(e,i){t&&i.boundingBox.applyMatrix4(t),e.boundingBoxWorld=i.boundingBox.clone(),e.min=i.boundingBox.min,e.max=i.boundingBox.max,e.center=i.boundingBox.getCenter(),e.size=i.boundingBox.getSize().lengthSq(),e.childStart=i.child_s,e.childEnd=i.child_e}function n(e,t){e.octType=0,t.center.x>e.center.x&&(e.octType+=1),t.center.y>e.center.y&&(e.octType+=2),t.center.z>e.center.z&&(e.octType+=4)}var r=null,o=new Loader.OctreeReader(e);if(o.getCount()>0){var a=o.getNode(0);i(r=new Loader.OctreeNode(a.cell_id,0),a),function e(t,r){for(var o=t.childEnd,a=t.childStart;o>a;++a){var s=r.getNode(a),l=new Loader.OctreeNode(s.cell_id,t.depth);i(l,s),t.add(l),n(l,t),l.updateMaxDepth(),e(l,r)}}(r,o)}return o=null,r},Wy.prototype._loadUserId=function(){var e=this,t=this.url,i=this.fileLoader;i.setResponseType("arraybuffer"),i.load(t.userIdUrl(),(function(t){e._parseUserId(t),e._onTaskFinished()}),void 0,(function(t){e.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_USERID_ERROR,event:t}),e._onTaskFinished()}))},Wy.prototype._parseUserId=function(e){this.descriptor.userIdReader=new Loader.IdReader(e)},Wy.prototype._loadUserData=function(){var e=this,t=this.url,i=this.fileLoader;i.setResponseType(""),i.load(t.userDataUrl(),(function(t){e._parseUserData(t),e._onTaskFinished()}),void 0,(function(t){e.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_USERDATA_ERROR,event:t}),e._onTaskFinished()}))},Wy.prototype._parseUserData=function(e){this.descriptor.userDataReader=new Loader.UserDataReader(e)},Wy.prototype._loadCamera=function(){var e=this,t=this.url,i=this.fileLoader;i.setResponseType(""),i.load(t.cameraUrl(),(function(t){e._parseCamera(t),e._onTaskFinished()}),void 0,(function(t){e.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_CAMERA_ERROR,event:t}),e._onTaskFinished()}))},Wy.prototype._parseCamera=function(e){var t=this.model.configLoader.transformInfos.transformMatrix;new Loader.CameraReader(e).parse(this.model,t)},Wy.prototype._parseGeo=function(e,t){for(var i=new Loader.MPKReader(e),n=new yt,r=0,o=i.header.meshCount;o>r;++r){var a=i.getPtBuffer(r),s=i.getIdxBuffer(r),l=i.getNormalBuffer(r),c=i.getMeshData(r),h=i.getUVBuffer(r);null!=a&&null!=s?(0!==c.baseScale&&(a=new Float32Array(a),n.identity(),n.setPosition(new Ke(c.baseX,c.baseY,c.baseZ)),n.scale(new Ke(c.baseScale,c.baseScale,c.baseScale)),GeomUtil.applyMatrix4ToBuffer(n,a)),this.descriptor.cacheReferencedMeshBufferData(c.mesh_id,{P:a,I:s,N:l,UV:h}),this.descriptor.cacheReferencedMeshGeoIds(t,c.mesh_id)):Logger.log("Error Geometry!")}i=null},Wy.prototype._loadBorderline=function(e){var t=this,i=this.url,n=this.fileLoader,r=i.borderLineUrl(e?1:0);n.setResponseType("arraybuffer"),n.load(r,(function(i){t._parseBorderLine(i,e),t._onTaskFinished()}),void 0,(function(e){t.model.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_MATERIAL_ERROR,event:e}),t._onTaskFinished()}))},Wy.prototype._parseBorderLine=function(e,t){for(var i=new Loader.LineReader(e),n=[],r=0,o=i.header.lineCount;o>r;++r){var a=i.getLineData(r);n.push({meshId:a.line_id,positionStart:a.ptOffset/4,positionCount:3*a.ptCount,indexStart:a.idxOffset/4,indexCount:a.idxCount})}this.descriptor.cacheBorderLine(t,{P:i.ptBuffer,I:i.idxBuffer,IndexInfos:n}),i=null},Wy.prototype._isLoadGeoBorderlines=function(){var e=this.model.getConfig().metadata;return!(!xd.BorderLineBatched||!e.outline_mpk)},Wy.prototype.getAllBorderlineCount=function(){var e=this.model.getConfig().metadata;return this._isLoadGeoBorderlines()?e.outline_mpk:e.outline_0+e.outline_1},Wy.prototype._loadAllBorderlines=function(e){this._isLoadGeoBorderlines()?e.outline_mpk&&this._loadAllGeoBorderLines(e.outline_mpk):(e.outline_0&&this._loadBorderline(!1),e.outline_1&&this._loadBorderline(!0))},Wy.prototype.delayLoadBorderlines=function(e){this.model.getConfig(),this._isLoadGeoBorderlines()?this._delayLoadGeoBorderlines(e):this._delayLoadTogetherBorderlines(e)},Wy.prototype._delayLoadGeoBorderlines=function(e){var t=this.model.getConfig().metadata;this.startCallback=null,this.progressCallback=null,this.finishCallback=e,this.loadTaskCount=0,this.maxLoadTaskCount=t.outline_mpk,t.outline_mpk&&this._loadAllGeoBorderLines(t.outline_mpk)},Wy.prototype._delayLoadTogetherBorderlines=function(e){var t=this.model.getConfig().metadata;this.startCallback=null,this.progressCallback=null,this.finishCallback=e,this.loadTaskCount=0,this.maxLoadTaskCount=t.outline_0+t.outline_1,t.outline_0&&this._loadBorderline(!1),t.outline_1&&this._loadBorderline(!0)},Wy.prototype._loadAllGeoBorderLines=function(e){this.mpkBorderLineTaskManager||(this.mpkBorderLineTaskManager=new Uy);for(var t=0;e>t;++t)this.mpkBorderLineTaskManager.addTask(t);this.mpkBorderLineTaskManager.processTasks(this._loadGeoBorderLine.bind(this))},Wy.prototype._loadGeoBorderLine=function(e,t){var i=this,n=this.fileLoader,r=this.url,o=e>=this.model.getConfig().metadata.mpk_shared_index;n.setResponseType("arraybuffer"),n.load(r.mpkBorderLineUrl(e),(function(e){i._parseGeoBorderLine(e,o),t(),i._onTaskFinished()}),void 0,(function(e){i._onTaskFinished()}))},Wy.prototype._parseGeoBorderLine=function(e,t){for(var i=new Loader.LineReader(e),n=[],r=0,o=i.header.lineCount;o>r;++r){var a=i.getLineData(r);n.push({meshId:a.line_id,positionStart:a.ptOffset/4,positionCount:3*a.ptCount,indexStart:a.idxOffset/4,indexCount:a.idxCount})}this.descriptor.cacheBorderLine(t,{P:i.ptBuffer,I:i.idxBuffer,IndexInfos:n}),i=null},Wy.prototype.dealProgressSegment=function(e,t){return xd.MergeComponent?t*e.progressPercentage.load:t},Wy.prototype._loadWireframe=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=function(i){if(e[n[i]])if(!0===e[n[i]].split){var r=e[n[i]].list,l=new Uint8Array(e[n[i]].length);o.getBatch(r,(function(e){for(var o=!0,a=0;r.length>a;a+=1)e[r[a]]?l.set(new Uint8Array(e[r[a]]),4e7*a):(o=!1,Bu.error("获取分割几何失败"));if(o){var s=n[i].indexOf("fileKey=");t._parseWireframe(l.buffer,n[i].slice(s+8)),Bu.debug("load geo from local"),t._onTaskFinished()}else{var c=t.taskGeometrieManager;if(-1===(s=n[i].indexOf("fileKey=")))return void Bu.error("url is not has fileKey");c.addTask(n[i].slice(s+8)),Bu.debug("load geo from net"),t.taskGeometrieManager.processTasks(t.loadWireframe.bind(t))}}),(function(){Bu.error("获取分割几何失败")}))}else s=n[i].indexOf("fileKey="),t._parseWireframe(e[n[i]],n[i].slice(s+8)),Bu.debug("load geo from local"),t._onTaskFinished();else{if(a=t.taskGeometrieManager,-1===(s=n[i].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(n[i].slice(s+8)),Bu.debug("load geo from net")}},r=0;n.length>r;r+=1){var a,s,l=i(r);if("object"===nu(l))return l.v}t.taskGeometrieManager.processTasks(t.loadWireframe.bind(t))}),(function(){for(var i=t.taskGeometrieManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadWireframe.bind(t))}))}else{for(var a=this.taskGeometrieManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadWireframe.bind(t))}},Wy.prototype._loadGeo=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=function(i){if(e[n[i]])if(!0===e[n[i]].split){var r=e[n[i]].list,l=new Uint8Array(e[n[i]].length);o.getBatch(r,(function(e){for(var o=0;r.length>o;o+=1)e[r[o]]?l.set(new Uint8Array(e[r[o]]),4e7*o):Bu.error("获取分割几何失败");var a=n[i].indexOf("fileKey=");t._parseGeometrie(l.buffer,n[i].slice(a+8)),Bu.debug("load geo from local"),t._onTaskFinished()}),(function(){Bu.error("获取分割几何失败")}))}else s=n[i].indexOf("fileKey="),t._parseGeometrie(e[n[i]],n[i].slice(s+8)),Bu.debug("load geo from local"),t._onTaskFinished();else{if(a=t.taskGeometrieManager,-1===(s=n[i].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(n[i].slice(s+8)),Bu.debug("load geo from net")}},r=0;n.length>r;r+=1){var a,s,l=i(r);if("object"===nu(l))return l.v}t.taskGeometrieManager.processTasks(t.loadGeometrie.bind(t))}),(function(){for(var i=t.taskGeometrieManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadGeometrie.bind(t))}))}else{for(var a=this.taskGeometrieManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadGeometrie.bind(t))}},Wy.prototype._loadComponentNode=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=function(i){if(e[n[i]])if(!0===e[n[i]].split){var r=e[n[i]].list,l=new Uint8Array(e[n[i]].length);o.getBatch(r,(function(e){for(var o=0;r.length>o;o+=1)e[r[o]]?l.set(new Uint8Array(e[r[o]]),4e7*o):Bu.error("获取分割node失败");var a=n[i].indexOf("fileKey=");t._parseComponentNode(l.buffer,n[i].slice(a+8)),Bu.debug("load geo from local"),t._onTaskFinished()}),(function(){Bu.error("获取分割node失败")}))}else s=n[i].indexOf("fileKey="),t._parseComponentNode(e[n[i]],n[i].slice(s+8)),Bu.debug("load geo from local"),t._onTaskFinished();else{if(a=t.taskComponentNodeManager,-1===(s=n[i].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(n[i].slice(s+8)),Bu.debug("load component.node from net")}},r=0;n.length>r;r+=1){var a,s,l=i(r);if("object"===nu(l))return l.v}t.taskComponentNodeManager.processTasks(t.loadComponentNode.bind(t))}),(function(){for(var i=t.taskComponentNodeManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadComponentNode.bind(t))}))}else{for(var a=this.taskComponentNodeManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadComponentNode.bind(t))}},Wy.prototype._loadKDTree=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.kdTreeUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1){var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");var o=n[i].slice(r+8);e[n[i]]?(t._parseKDTree(e[n[i]],o),Bu.debug("load kdTree from local"),t._onTaskFinished()):(t.loadKDTree(o,(function(){})),Bu.debug("load kdtree from net"))}}),(function(){for(var i=0;e.length>i;i+=1)t.loadKDTree(e[i],(function(){}))}))}else for(var a=0;e.length>a;a+=1)t.loadKDTree(e[a],(function(){}))},Wy.prototype._loadLights=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.lightUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1){var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");var o=n[i].slice(r+8);e[n[i]]?(t._parseLight(e[n[i]],o),Bu.debug("load light from local"),t._onTaskFinished()):(t.loadLight(o,(function(){})),Bu.debug("load kdtree from net"))}}),(function(){for(var i=0;e.length>i;i+=1)t.loadLight(e[i],(function(){}))}))}else for(var a=0;e.length>a;a+=1)t.loadLight(e[a],(function(){}))},Wy.prototype._loadBones=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.bonesUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1)if(e[n[i]])t._parseBones(e[n[i]]),Bu.debug("load Bones from local"),t._onTaskFinished();else{var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");t.loadBones(n[i].slice(r+8),(function(){})),Bu.debug("load Bones from net")}}),(function(){for(var i=0;e.length>i;i+=1)t.loadBones(e[i],(function(){}))}))}else{for(var a=this.taskComponentManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadBones.bind(t))}},Wy.prototype._loadClips=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.clipsUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1)if(e[n[i]])t._parseClips(e[n[i]]),Bu.debug("load Clips from local"),t._onTaskFinished();else{var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");t.loadClips(n[i].slice(r+8),(function(){})),Bu.debug("load Clips from net")}}),(function(){for(var i=0;e.length>i;i+=1)t.loadClips(e[i],(function(){}))}))}else{for(var a=this.taskComponentManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadClips.bind(t))}},Wy.prototype._loadNodes=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.nodesUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1)if(e[n[i]])t._parseNodes(e[n[i]]),Bu.debug("load Nodes from local"),t._onTaskFinished();else{var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");t.loadNodes(n[i].slice(r+8),(function(){})),Bu.debug("load Nodes from net")}}),(function(){for(var i=0;e.length>i;i+=1)t.loadNodes(e[i],(function(){}))}))}else{for(var a=this.taskComponentManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadNodes.bind(t))}},Wy.prototype._loadComponent=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1){if(-1===(a=n[i].indexOf("fileKey="))&&!t.offLine)return void Bu.error("url is not has fileKey");var r=n[i].slice(a+8);if(e[n[i]])t._parseComponent(e[n[i]],r),Bu.debug("load com from local"),t._onTaskFinished();else{var o=t.taskComponentManager;if(t.offLine){var a;if(-1===(a=n[i].indexOf("data/")))return void Bu.error("url is not has data/");o.addTask(n[i].slice(a+5))}else o.addTask(r);o.processTasks(t.loadComponent.bind(t)),Bu.debug("load com from net")}}}),(function(){for(var i=t.taskComponentManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadComponent.bind(t))}))}else{for(var a=this.taskComponentManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadComponent.bind(t))}},Wy.prototype._loadReuseNode=function(e){var t=this;if(xd.getDataFromIndexedDB){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1)if(e[n[i]])t._parseReuseNodes(e[n[i]]),Bu.debug("load com from local"),t._onTaskFinished();else{var r=t.taskReuseNodeManager;if(t.offLine){if(-1===(o=n[i].indexOf("data/")))return void Bu.error("url is not has data/");r.addTask(n[i].slice(o+5))}else{var o;if(-1===(o=n[i].indexOf("fileKey=")))return void Bu.error("url is not has fileKey");r.addTask(n[i].slice(o+8))}r.processTasks(t.loadReuseNode.bind(t)),Bu.debug("load com from net")}}),(function(){for(var i=t.taskReuseNodeManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadReuseNode.bind(t))}))}else{for(var a=this.taskReuseNodeManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadReuseNode.bind(t))}},Wy.prototype._loadMaterial=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1)if(e[n[i]])t._parseMaterial(e[n[i]]),Bu.debug("load mat from local"),t._onTaskFinished();else{var r=t.taskMaterialManager,o=n[i].indexOf("fileKey=");if(-1===o)return void Bu.error("url is not has fileKey");r.addTask(n[i].slice(o+8)),r.processTasks(t.loadMaterial.bind(t)),Bu.debug("load mat from net")}}),(function(){for(var i=t.taskMaterialManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadMaterial.bind(t))}))}else{for(var a=this.taskMaterialManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadMaterial.bind(t))}},Wy.prototype._loadTextures=function(e){var t=this.model.materialManager.textures,i=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var n=this.url,r=[],o=0;e.length>o;o+=1)r.push(n.mpkUrl(e[o]));var a=this.model.getStorage();a&&a.getBatch(r,(function(e){for(var n=0;r.length>n;n+=1)if(e[r[n]]){var o,a=function(){if(-1===(o=r[n].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};var a=e[r[n]];e[r[n]]instanceof Blob||(a=new Blob([e[r[n]]],{type:"image/png"}));var s=r[n].slice(o+8),l=new Fe;Bu.debug("load tex from local"),t[s]=l;var c=document.createElementNS("http://www.w3.org/1999/xhtml","img");l.wrapS=l.wrapT=g,c.onload=function(t){"string"!=typeof e[r[n]]&&window.URL.revokeObjectURL(c.src),i.model.textureNeedsUpdate=!0,l.image=cA.ensurePowerOfTwo(c),i._onLoadTexture()},c.onerror=function(e){i.model.dispatchEventEx({type:Qd.LOAD_TEXTURE_ERROR}),i._onLoadTexture()},c.src="string"==typeof e[r[n]]?e[r[n]]:window.URL.createObjectURL(a),l.image=c,l.needsUpdate=!0}();if("object"===nu(a))return a.v}else{var s=i.taskTexturesManager,l=r[n].indexOf("fileKey=");if(-1===l)return void Bu.error("url is not has fileKey");s.addTask(r[n].slice(l+8)),s.processTasks(i.loadTextures.bind(i)),Bu.debug("load tex from net")}}),(function(){for(var t=i.taskTexturesManager,n=0;e.length>n;n+=1)t.addTask(e[n]);t.processTasks(i.loadTextures.bind(i))}))}else{for(var s=this.taskTexturesManager,l=0;e.length>l;l+=1)s.addTask(e[l]);s.processTasks(i.loadTextures.bind(i))}},Wy.prototype._loadAxisNet=function(e){if(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){var i=this.url.axisNetUrl(e),n=this.model.getStorage();n&&n.getBatch([i],(function(n){if(n[i])t._parseAxisNet(n[i]),Bu.debug("load axisnet from local");else{if(-1===i.indexOf("fileKey="))return void Bu.error("url is not has fileKey");t.loadAxisNet(e),Bu.debug("load axisnet from net")}}),(function(){t.loadAxisNet(e)}))}else t.loadAxisNet(e)}},Wy.prototype._parseWireframe=function(e,t){var i=new Ty.GeometryReader(e,this.dataVersion),n=this.descriptor;if(n){for(var r=i.geoCount,o=0;r>o;o+=1){var a=i.geomMap[o];void 0!==a.position&&void 0!==a.index?n.cacheReferencedMeshWireframeData(a.geoId,a):Bu.error("Error Geometry!")}i=null}},Wy.prototype._parseGeometrie=function(e,t){var i=this.fileKeyFromModelKey[t]||"",n=new ky.GeometryReader(e,this.dataVersion),r=this.descriptor;if(r){for(var o=n.geoCount,a=0;o>a;a+=1){var s=n.geomMap[a];void 0!==s.position&&void 0!==s.index&&void 0!==s.normal?(xd.DEBUG&&window.geoidToFileKeyMap&&(window.geoidToFileKeyMap[s.geoId]=t),r.cacheReferencedMeshBufferData(i+s.geoId,s)):Bu.error("Error Geometry!")}n=null}},Wy.prototype._parseComponentNode=function(e,t){var i=this.fileKeyFromModelKey[t]||"",n=new ky.NodesReader(e,this.dataVersion),r=this.descriptor;if(r){for(var o=n.nodeCount,a=0;o>a;a+=1){var s=n.geomMap[a];void 0!==s.matrix&&void 0!==s.material&&void 0!==s.nodeId?r.cacheReferencedMeshComponentNodeData(i+s.nodeId,s):Bu.error("Error Node!")}n=null}},Wy.prototype._parseMaterial=function(e,t){var i=this.descriptor;if(i){var n=new Dy(e,this.dataVersion);if(Array.isArray(n.materialMap)){var r=n.materialCount;if(0>r)return;for(var o=0;r>o;o+=1){var a=n.materialMap[o];i.cacheReferencedMeshMaterialData(a.matId,a)}}else for(var s in n.materialMap)i.cacheReferencedMeshMaterialData(s,n.materialMap[s]);n=null}},Wy.prototype._parseComponent=function(e,t){if(e){var i=new wy(e),n=i.compArr.length,r=this.descriptor;if(r){for(var o=0;n>o;o+=1){var a=i.compArr[o];r.cacheReferencedMeshComponentData(a.key,a)}i=null}}else Bu.error("没有数据")},Wy.prototype._parseKDTree=function(e,t){var i={};i="string"==typeof e?JSON.parse(e):e,!this.model.kdTreeNode&&i&&(this.model.kdTreeNode=new jy,this.model.kdTreeNode.init(i))},Wy.prototype._parseLight=function(e,t){var i,n=[];if(i="string"==typeof e?JSON.parse(e):e)for(var r=0,o=i.length;o>r;r+=1){var a=i[r],s=void 0,l=a.pos||[0,0,0],c=void 0;switch(a.type){case Dd.DirectionalLight:(s=new fc((new pi).fromArray(a.diffuse),.5)).position.set(l[0]-a.lookat[0],l[1]-a.lookat[1],l[2]-a.lookat[2]),s.name=a.parent,0===a.ambient[0]&&0===a.ambient[1]&&0===a.ambient[2]||(c=new mc((new pi).fromArray(a.ambient),.5));break;case Dd.PointLight:(s=new uc((new pi).fromArray(a.diffuse))).position.set(l[0],l[1],l[2]),s.name=a.parent,0===a.ambient[0]&&0===a.ambient[1]&&0===a.ambient[2]||(c=new mc((new pi).fromArray(a.ambient),.5));break;case Dd.SpotLight:(s=new sc((new pi).fromArray(a.diffuse),.5)).position.set(l[0]-a.lookat[0],l[1]-a.lookat[1],l[2]-a.lookat[2]),s.angle=a.cone_inn||Math.PI/2,s.name=a.parent,0===a.ambient[0]&&0===a.ambient[1]&&0===a.ambient[2]||(c=new mc((new pi).fromArray(a.ambient),.5))}s&&n.push(s),c&&n.push(c)}this.model.addLights(n)},Wy.prototype._parseNodes=function(e,t){var i=this.descriptor;if(i){var n={};n="string"==typeof e?JSON.parse(e):e,Bu.debug("nodes",n),i.cacheReferencedMeshNodesData(n)}},Wy.prototype._parseClips=function(e,t){var i=this.descriptor;if(i){var n={};n="string"==typeof e?JSON.parse(e):e,Bu.debug("clips",n),i.cacheReferencedMeshClipsData(n)}},Wy.prototype._parseBones=function(e,t){var i=new ky.BoneReader(e),n=this.descriptor;if(n){for(var r=i.boneCount,o=0;r>o;o+=1){var a=i.boneMap[o];Bu.debug("bones",a),n.cacheReferencedMeshBoneBufferData(a.geoId,a)}i=null}},Wy.prototype._parseAxisNet=function(e){var t=this.model.getBoundingBoxWorld(),i=0;t&&(i=t.min.z);var n=this.model._getNodeGroup(Vp.AXISNET);n.visible=!1;var r=new Ny(n);r.fromJSON(e,i);var o=new Py;o.axisNet=r,this.model.axisNetManager=o},Wy.prototype.loadWireframe=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("arraybuffer"),n.load(r.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}));else{n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var s=n.load(r.mpkUrl(e),(function(n){i._parseWireframe(n,e),Bu.debug("geo load from online"),t(),i._onTaskFinished()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_GEOMETRY_ERROR,modelKey:o.modelKey})}));i.requests.loadGeometrie=s}},Wy.prototype.loadGeometrie=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model;n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var a=n.load(r.mpkUrl(e),(function(n){i._parseGeometrie(n,e),Bu.debug("geo load from online"),t(),i._onTaskFinished()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_GEOMETRY_ERROR,modelKey:o.modelKey}),t(),i._onTaskFinished()}));i.requests.loadGeometrie=a},Wy.prototype.loadComponentNode=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model;n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var a=n.load(r.mpkUrl(e),(function(n){i._parseComponentNode(n,e),Bu.debug("geo load from online"),t(),i._onTaskFinished()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_COMPONENTNODE_ERROR,modelKey:o.modelKey}),t(),i._onTaskFinished()}));i.requests.loadComponentNode=a},Wy.prototype.loadMaterial=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("arraybuffer"),n.load(r.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}));else{fy(i.dataVersion,"1")?n.setResponseType("json"):n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var s=n.load(r.mpkUrl(e),(function(e){i._parseMaterial(e),Bu.debug("met load from online"),t(),i._onTaskFinished()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_MATERIAL_ERROR,modelKey:o.modelKey})}));i.requests.loadMaterial=s}},Wy.prototype.loadTextures=function(e,t){var i=this.model.materialManager.textures,n=this,r=this.Textureloader,o=this.url,a=this.model,s=xd.GeoWorkerUrl;if(xd.UseGeoWorker)r.load(o.mpkUrl(e),(function(e){var i=new Worker(s);i.onmessage=function(e){var i=e.data;for(var r in i)i.hasOwnProperty(r);t(),n._onTaskFinished()},i.postMessage({msg:e})}));else{r.setResponseType("arraybuffer"),r.setCacheViable(!this.offLine);var l=r.load(o.textureUrl(e),(function(r){var o=r;r instanceof Blob||(o=new Blob([r],{type:"image/png"})),Bu.debug("tex load from online");var s=new Fe;i[e]=s,s.wrapS=s.wrapT=g;var l=document.createElementNS("http://www.w3.org/1999/xhtml","img");l.onload=function(e){"string"!=typeof o&&window.URL.revokeObjectURL(l.src),s.image=cA.ensurePowerOfTwo(l),n._onLoadTexture(),t(),n.model.textureNeedsUpdate=!0},l.onerror=function(e){a.dispatchEventEx({type:Qd.LOAD_TEXTURE_ERROR,modelKey:a.modelKey}),n._onLoadTexture(),t()},l.src="string"==typeof o?o:window.URL.createObjectURL(o),s.image=l,s.needsUpdate=!0}),void 0,(function(e){a.dispatchEventEx({type:Qd.LOAD_TEXTURE_ERROR,modelKey:a.modelKey}),n._onLoadTexture(),t()}));n.requests.loadTextures=l}},Wy.prototype.loadComponent=function(e,t){var i=this,n=this.jsonLoader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}));else{n.setResponseType("json"),xd.useGzip&&n.setResponseType("arraybuffer"),n.setCacheViable(!0);var s=n.load(o.mpkUrl(e),(function(n){i._parseComponent(n,e),Bu.debug("component load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadComponent=s}},Wy.prototype.loadKDTree=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}));else{n.setResponseType("json"),n.setCacheViable(!this.offLine);var s=n.load(o.kdTreeUrl(e),(function(n){i._parseKDTree(n,e),Bu.debug("kdtree load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadKDTree=s}},Wy.prototype.loadLight=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url;n.setResponseType("json"),n.setCacheViable(!this.offLine);var a=n.load(o.lightUrl(e),(function(n){i._parseLight(n,e),Bu.debug("light load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadLight=a},Wy.prototype.loadBones=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("arraybuffer"),n.load(o.bonesUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}));else{n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var s=n.load(o.bonesUrl(e),(function(e){i._parseBones(e),Bu.debug("bones load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadBones=s}},Wy.prototype.loadClips=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}));else{n.setResponseType("json"),n.setCacheViable(!this.offLine);var s=n.load(o.clipsUrl(e),(function(e){i._parseClips(e),Bu.debug("Clips load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadClips=s}},Wy.prototype.loadNodes=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}));else{n.setResponseType("json"),n.setCacheViable(!this.offLine);var s=n.load(o.nodesUrl(e),(function(e){i._parseNodes(e),Bu.debug("Nodes load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadNodes=s}},Wy.prototype.loadAttribute=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;if(xd.UseGeoWorker)n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}));else{n.setResponseType("json"),n.setCacheViable(!this.offLine);var s=n.load(o.attributeUrl(),(function(e){if(e instanceof String)try{e=JSON.parse(e)}catch(e){}r.attributes=e,Bu.debug("Attribute load from online")}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadAttribute=s}},Wy.prototype.loadGeopkOnDemand=function(e,t,i){this.loadTaskCount=0,this.maxLoadTaskCount=e.length,this._loadingOnDemand=!0,this.finishCallback=i;var n=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var r=this.url,o=[],a=0;e.length>a;a+=1)o.push(r.mpkUrl(e[a]));var s=this.model.getStorage();s&&s.getBatch(o,(function(e){for(var i=function(t){if(e[o[t]])if(!0===e[o[t]].split){var i=e[o[t]].list,r=new Uint8Array(e[o[t]].length);s.getBatch(i,(function(e){for(var a=0;i.length>a;a+=1)e[i[a]]?r.set(new Uint8Array(e[i[a]]),4e7*a):Bu.error("获取分割几何失败");var s=o[t].indexOf("fileKey=");n._parseGeometrie(r.buffer,o[t].slice(s+8)),Bu.debug("load geo from local"),n._onTaskFinished()}),(function(){Bu.error("获取分割几何失败")}))}else l=o[t].indexOf("fileKey="),n._parseGeometrie(e[o[t]],o[t].slice(l+8)),Bu.debug("load geo from local"),n._onTaskFinished();else{if(a=n.taskGeometrieManager,-1===(l=o[t].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(o[t].slice(l+8)),Bu.debug("load geo from net")}},r=0;o.length>r;r+=1){var a,l,c=i(r);if("object"===nu(c))return c.v}n.taskGeometrieManager.processTasks(n.loadGeometrie.bind(n),t)}),(function(){for(var i=n.taskGeometrieManager,r=0;e.length>r;r+=1)i.addTask(e[r]);i.processTasks(n.loadGeometrie.bind(n),t)}))}else{for(var l=this.taskGeometrieManager,c=0;e.length>c;c+=1)l.addTask(e[c]);l.processTasks(n.loadGeometrie.bind(n),t)}},Wy.prototype.loadAxisNet=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model;fy(i.dataVersion,"1")?n.setResponseType("json"):n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var a=n.load(r.axisNetUrl(e),(function(e){i._parseAxisNet(e),Bu.debug("axis net load from online"),t&&t()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_AXISNET_ERROR,modelKey:o.modelKey})}));i.requests.loadAxisNet=a},Wy.prototype.loadFloorInfo=function(e,t){var i=this;this._loadFloorInfoFromDB(e,(function(n){n&&n.data?(i._parseFloorInfo(n),t&&t(!0)):i._loadFloorInfoFromNet(e,(function(e){e?(i._parseFloorInfo(e),t&&t(!0)):t&&t(!1)}))}))},Wy.prototype._loadFloorInfoFromDB=function(e,t){if(xd.getDataFromIndexedDB&&!this.offLine){var i=this.url.floorInfoUrl(e),n=this.model.getStorage();n&&n.getBatch([i],(function(e){e[i]?(t(e[i]),Bu.debug("load floorinfo from local")):t()}),(function(){t()}))}else t()},Wy.prototype._loadFloorInfoFromNet=function(e,t){var i=new xy(this),n=this.url,r=this.model;this.model.accessToken&&i.setRequestHeader({Authorization:this.model.accessToken}),fy(this.dataVersion,"1")?i.setResponseType("json"):i.setResponseType("arraybuffer"),i.setCacheViable(!this.offLine);var o=i.load(n.floorInfoUrl(e),(function(e){Bu.debug("floor info load from online"),t&&t(e)}),void 0,(function(i){r.dispatchEventEx({type:Qd.LOAD_FLOORINFO_ERROR,modelKey:e}),t&&t()}));this.requests.loadFloorInfo=o},Wy.prototype._parseReuseNodes=function(e,t){if(e){xd.useGzip&&(e=JSON.parse(wp.ab2str(pako.ungzip(e))));var i=this.descriptor;i&&(i.referencedMeshCache.reuseNodes=e)}else Bu.error("没有数据")},Wy.prototype.loadReuseNode=function(e,t){var i=this,n=this.jsonLoader,r=this.model,o=this.url;n.setResponseType("json"),xd.useGzip&&n.setResponseType("arraybuffer"),n.setCacheViable(!0),n.load(o.mpkUrl(e),(function(e){i._parseReuseNodes(e),Bu.debug("component load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}))},Wy.prototype._parseFloorInfo=function(e){if(e.data&&0!==Object.keys(e.data).length){var t=new Hy;t.floors=Gy.parseFloorInfos(e.data),t.modelKey=this.model.modelKey;var i=new Vy;i.floors=t.floors,t.floorExplosionInfo=i,t.modelType=this.model.getConfig().type,this.model.floorManager=t,t.model=this.model}};var Jy={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]}},zy=function(e){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=e};function qy(e,t){var i=null;"node"===e.type?i=new Yt:"bone"===e.type&&(i=new Aa,t.allBones[e.name]=i),i.name=lh.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 n=0;e.children.length>n;n+=1){var r=qy(e.children[n],t);r&&i.add(r)}for(var o=0;e.meshes.length>o;o+=1){var a=e.meshes[o];t.model._getHandler().defaultManager.meshManager._readBufferInfo(t.model,[t.model.modelKey+"_"+e.meshes[o]]);var s=t.model._getHandler().defaultManager.meshManager._makeSkinMesh(t.model,[t.model.modelKey+"_"+e.meshes[o]],(function(e){}));t.meshCache[a]=s,s.name=e.name,i.add(s)}return i}zy.EnumNodeItemType={SYMBOL:0,MESH:1,TUBE:2,PIPE:3,BOX:4,BOX_M:5,PIPE_M:6,MESH_REF:7,LINE:8},zy.NodeInfoCategory={INSTANCED:0,STANDARD:1,MIX:2},zy.EnumDataType={NONE:0,MERGE_DATA:1,LAYER:2,LAYER_SCENE:3,ANIMATION:4},zy.EnumKeyframeTrackType={position:"position",scale:"scale",quaternion:"quaternion",weights:"weights"},zy.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={}},zy.prototype.destroyReader=function(){this.userIdReader={},this.userDataReader={},this.symbolReader={},this.mapSceneReader={}},zy.prototype.getSceneReaderMap=function(){return this.mapSceneReader},zy.prototype.isValidScene=function(){return!wp.isEmptyObject(this.getSceneReaderMap())||(Bu.log("model load not started!"),!1)},zy.prototype.parseItemData=function(e){var t=this.model;(my(t.dataVersion,"2.0.0")||void 0===t.dataVersion)&&(Bu.time("升级几何结构"),this._updateV1ToV2(t),t.dataVersion="2.0.0",Bu.timeEnd("升级几何结构")),this._readMaterialBuffer(t),t.hasAnimation&&xd.EnableAnimation?(this._parseClips(),this._parseBones()):this._parseGeo();var i={},n=this.referencedMeshCache;for(var r in Bu.time("_readItemData"),n.bufferData&&Object.keys(n.bufferData).length>0||e&&e(),n.components)this._readItemData(i,r,r,void 0,0);t.hasAnimation&&xd.EnableAnimation&&this._parseNodes(),Bu.timeEnd("_readItemData"),i=null,e&&e()},zy.prototype.asyncParseItemData=function(e){for(var t=this.getSceneReaderMap(),i=Object.keys(t),n=i.length,r=0,o=this,a=0;n>a;a+=1){var s=t[i[a]];wp.asyncProcess(s,s.header.componentCount,100,(function(e,t){o._parseItemDataBy(e,t)}),(function(){(r+=1)===n&&e&&e()}))}},zy.prototype._parseItemDataBy=function(e,t){for(var i=e.getComponentInfo(t),n=i.itemIndex;i.itemCount>n;n+=1)this._readItemData(e,n,t)},zy.prototype.parseItemDataByComponentKey=function(e){var t=this.getSceneReaderMap();for(var i in t)this._parseItemDataBy(t[i],e)},zy.prototype._readItemData=function(e,t,i){var n=this.referencedMeshCache.components[t];void 0!==n&&-1!==n.geoId&&this._readMeshInfo(e,i,n,null)},zy.prototype._readSymbolInfo=function(e,t,i){var n=this.symbolReader;if(n){var r=n.header.symbolCount,o=i.toData,a=e.getMatrixInfo(i.matrixId).matrix.clone(),s={matrix:a,ItemId:i.ItemId,originalId:i.originalId,userDataId:i.userDataId,materialId:i.materialId};if(o>=0&&r>o)for(var l=n.getSymbolInfo(o),c=l.itemIndex;l.itemCount>c;c+=1){var h=n.getItemInfo(c);h.type!==zy.EnumNodeItemType.SYMBOL&&this._readMeshInfo(n,t,h,s)}a=null,s=null,n=null}},zy.prototype._readMeshInfo=function(e,t,i,n){var r=null,o=null;null===n?(r=i.originalId,o=i.materials||i.matId):(r=n.originalId,o=n.materialId>-1?n.materialId:i.materialId);var a=null;if(a=this._getMeshNodeAttr(e,i,n)){if(i.buildInCategory&&(a.buildInCategory=i.buildInCategory),a.userId=t,a.name=i.name,a.type=i.type,a.componentKey=t,a.originalId=r,a.materialId=o,a.state=Nd.Visible,a.material=null,a.originMId=o,a.userData=null,a.categoryId=0,a.familyName=i.familyName,a.familySymbol=i.familySymbol,this.lightmap){var s=i.ItemId;n&&(s=n.ItemId+"_"+i.ItemId),a.itemIdUV2=s}a.instanceOrNot=!1,this._classifyNodeInfo(a),a=null}},zy.prototype._getMeshNodeAttrOfPipe=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone();i&&n.multiplyMatrices(i.matrix,n);var r=t.boundingBox.clone();r.applyMatrix4(n);var o=e.getGeomPipeInfo(t.toData),a=o.startPt,s=o.endPt,l=new Ke;l.subVectors(s,a);var c=l.length();l.normalize();var h=o.radius;h>1||(h=100);var d=new Ke(0,1,0),u=new Ke(h,c,h),p=(new Ge).setFromUnitVectors(d,l),g=a.clone().addScaledVector(l,.5*c),f=(new yt).compose(g,p,u);return n.multiply(f),o=null,{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_pipe",geometryId:"pipe",boundingBox:r,matrix:n}},zy.prototype._getMeshNodeAttrOfTube=function(e,t,i){var n=this._getMeshNodeAttrOfPipe(e,t,i);return n.nodeId+="_tube",n.geometryId="tube",n},zy.prototype._getMeshNodeAttrOfBox=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone();i&&n.multiplyMatrices(i.matrix,n);var r=t.boundingBox.clone();r.applyMatrix4(n);var o=t.boundingBox,a=o.getSize(),s=o.getCenter(),l=(new yt).scale(new Ke(a.x,a.y,a.z));return l.setPosition(s),n.multiply(l),{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_box",geometryId:"box",boundingBox:r,matrix:n}},zy.prototype._getMeshNodeAttrOfBoxM=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone();i&&n.multiplyMatrices(i.matrix,n);var r=t.boundingBox.clone();return r.applyMatrix4(n),{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_boxM",geometryId:"boxM",boundingBox:r,matrix:n,uvArrayBuffer:e.getGeomBoxUvInfo(t.toData)}},zy.prototype._getMeshNodeAttrOfPipeM=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone();i&&n.multiplyMatrices(i.matrix,n);var r=t.boundingBox.clone();return r.applyMatrix4(n),{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_pipeM",geometryId:"pipeM",boundingBox:r,matrix:n,uvArrayBuffer:e.getGeomPipeUvInfo(t.toData)}},zy.prototype._getMeshNodeAttrOfMeshRef=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone();i&&n.multiplyMatrices(i.matrix,n);var r=t.boundingBox.clone();return r.applyMatrix4(n),{nodeId:"refMesh|"+(i?i.ItemId+"_"+t.ItemId:t.ItemId),geometryId:t.toData,boundingBox:r,matrix:n}},zy.prototype._getMeshNodeAttr=function(e,t,i,n){var r=new yt;r.fromArray(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),xd.DataReduction&&r.scale(new Ke(1e3,1e3,1e3));var o=i?t.key+"_"+n:t.key,a=i?t.geoId+"_"+n:t.geoId;if(-1!==a){var s=new Nu,l=this.getReferencedMeshBufferById(t.geoId);return l&&l.position?(s=by.getBoundingBoxByBuffer(l.position)).applyMatrix4(r):Bu.error("没有找到对应几何"),{nodeId:o,guid:t.guid,geometryId:a,originalGeometryId:t.geoId,matrix:r,boundingBox:s,model:this.model}}},zy.prototype._getComponentNodeAttr=function(e,t){var i=new yt;i.fromArray(e.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),xd.DataReduction&&i.scale(new Ke(1e3,1e3,1e3)),t&&i.multiplyMatrices(t.matrix,i);var n=e.nodeId,r=e.geoId;if(-1!==r){var o=e.maxBoundary||t.maxBoundary,a=e.minBoundary||t.minBoundary,s=new Nu;return s.set(a,o),{nodeId:n,guid:e.guid,geometryId:r,originalGeometryId:e.geoId,matrix:i,boundingBox:s,model:this.model}}},zy.prototype._getLineNodeAttr=function(e,t,i){var n=t.boundingBox.clone(),r=null;return-1!==t.matrixId?(r=e.getMatrixInfo(t.matrixId).matrix.clone(),i&&r.multiplyMatrices(i.matrix,r),n.applyMatrix4(r)):(r=new yt,i&&n.applyMatrix4(i.matrix)),{nodeId:i?"line-"+i.ItemId+"-"+t.ItemId:"line-"+t.ItemId,geometryId:"line-"+t.toData,boundingBox:n,matrix:r}},zy.prototype._classifyNodeInfo=function(e){this._cacheNodeInfoByComponentKey(e),this._cacheNodeInfoByNodeId(e),this._cacheNodeInfoByUserId(e),this._cacheNodeInfoByCategory(e),this._cacheNodeInfoByParameterizedDesc(e)},zy.prototype._cacheNodeInfoByComponentKey=function(e){void 0===this.mapNodeInfoByComponentKey[e.componentKey]&&(this.mapNodeInfoByComponentKey[e.componentKey]=[]),this.mapNodeInfoByComponentKey[e.componentKey].push(e)},zy.prototype._cacheNodeInfoByUserId=function(e){void 0===this.mapNodeInfoByUserId[e.userId]&&(this.mapNodeInfoByUserId[e.userId]=[]),this.mapNodeInfoByUserId[e.userId].push(e)},zy.prototype._cacheNodeInfoByNodeId=function(e){this.mapNodeInfoByNodeId[e.nodeId]=e},zy.prototype._cacheNodeInfoByCategory=function(e){var t=null;void 0===this.mapNodeInfoByCategory[t=e.instanceOrNot?zy.NodeInfoCategory.INSTANCED:zy.NodeInfoCategory.STANDARD]&&(this.mapNodeInfoByCategory[t]={}),void 0===this.mapNodeInfoByCategory[t][e.userId]&&(this.mapNodeInfoByCategory[t][e.userId]=[]),this.mapNodeInfoByCategory[t][e.userId].push(e)},zy.prototype._cacheNodeInfoByParameterizedDesc=function(e){e.parameterizedDesc&&(void 0===this.mapNodeInfoByParameterizedDesc[e.type]&&(this.mapNodeInfoByParameterizedDesc[e.type]=[]),this.mapNodeInfoByParameterizedDesc[e.type].push(e))},zy.prototype._clearNodeInfoCacheWithParameterizedDesc=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByParameterizedDesc[e[t]];else this.mapNodeInfoByParameterizedDesc={}},zy.prototype._clearNodeInfoCacheWithComponentKey=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByComponentKey[e[t]];else this.mapNodeInfoByComponentKey={}},zy.prototype._clearNodeInfoCacheWithCategory=function(e){if(e)for(var t=this.mapNodeInfoByCategory[zy.NodeInfoCategory.INSTANCED],i=this.mapNodeInfoByCategory[zy.NodeInfoCategory.STANDARD],n=0,r=e.length;r>n;n+=1)t&&delete t[e[n]],i&&delete i[e[n]];else this.mapNodeInfoByCategory={}},zy.prototype.clearNodeInfoCacheByComponentsKey=function(e){this._clearNodeInfoCacheWithComponentKey(e),this._clearNodeInfoCacheWithUserId(e),this._clearNodeInfoCacheWithCategory(e)},zy.prototype._clearNodeInfoCacheWithUserId=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByUserId[e[t]],delete this.mapNodeInfoByNodeId[e[t]];else this.mapNodeInfoByUserId={};this.mapNodeInfoByUserId={}},zy.prototype.clearNodeInfoCache=function(){this._clearNodeInfoCacheWithComponentKey(),this._clearNodeInfoCacheWithUserId(),this._clearNodeInfoCacheWithCategory()},zy.prototype.getNodeInfosByComponentKey=function(e){return this.mapNodeInfoByComponentKey[e]},zy.prototype.getNodeInfosWithComponentKey=function(){return this.mapNodeInfoByComponentKey},zy.prototype.getAllNodeInfos=function(){return this.mapNodeInfoByUserId},zy.prototype.getNodeInfosByUserId=function(e){return this.mapNodeInfoByUserId[e]},zy.prototype.getNodeInfosByNodeId=function(e){return this.mapNodeInfoByNodeId[e]},zy.prototype.getNodeInfosWithUserId=function(){return this.mapNodeInfoByUserId},zy.prototype.getStandardNodeInfos=function(){return this.mapNodeInfoByCategory[zy.NodeInfoCategory.STANDARD]},zy.prototype.getInstancedNodeInfos=function(){return this.mapNodeInfoByCategory[zy.NodeInfoCategory.INSTANCED]},zy.prototype.getStandardUserIds=function(){return this.getStandardNodeInfos()?Object.keys(this.getStandardNodeInfos()):[]},zy.prototype.getInstancedUserIds=function(){return this.getInstancedNodeInfos()?Object.keys(this.getInstancedNodeInfos()):[]},zy.prototype.getStandardNodeInfosById=function(e){var t=this.getStandardNodeInfos();return t?t[e]:null},zy.prototype.getInstancedNodeInfosById=function(e){var t=this.getInstancedNodeInfos();return t?t[e]:null},zy.prototype._getUserIdsByCategory=function(e,t){var i=[],n=null;if(n=t===zy.NodeInfoCategory.INSTANCED?this.getInstancedNodeInfos():this.getStandardNodeInfos())for(var r=0,o=e.length;o>r;r+=1)n[e[r]]&&i.push(e[r]);return i},zy.prototype.getInstancedUserIdsByCategory=function(e){return this._getUserIdsByCategory(e,zy.NodeInfoCategory.INSTANCED)},zy.prototype.getStandardUserIdsByCategory=function(e){return this._getUserIdsByCategory(e,zy.NodeInfoCategory.STANDARD)},zy.prototype._traverseNodeInfosByIds=function(e,t,i){for(var n=0,r=t.length;r>n;n+=1){var o=t[n];i(o,e[o])}},zy.prototype.traverseStandardNodeInfos=function(e,t){var i=this.getStandardNodeInfos();i&&(e=e||this.getStandardUserIds(),this._traverseNodeInfosByIds(i,e,t))},zy.prototype.traverseInstancedNodeInfos=function(e,t){var i=this.getInstancedNodeInfos();i&&(e=e||this.getInstancedUserIds(),this._traverseNodeInfosByIds(i,e,t))},zy.prototype.traverseNodeInfosByComponent=function(e){for(var t=Object.keys(this.mapNodeInfoByComponentKey),i=0,n=t.length;n>i;i+=1)for(var r=t[i],o=this.mapNodeInfoByComponentKey[r],a=0,s=o.length;s>a;a+=1)e(r,o[a])},zy.prototype.clearReferencedMeshCache=function(){if(!xd.DEBUG){for(var e in this.referencedMeshCache)delete this.referencedMeshCache[e];this.referencedMeshCache=null}},zy.prototype.cacheReferencedMeshBufferData=function(e,t){this.referencedMeshCache.bufferData||(this.referencedMeshCache.bufferData={}),this.referencedMeshCache.bufferData[e]=t},zy.prototype.cacheReferencedMeshComponentNodeData=function(e,t){this.referencedMeshCache.componentNode||(this.referencedMeshCache.componentNode={}),this.referencedMeshCache.componentNode[e]=t},zy.prototype.cacheReferencedMeshWireframeData=function(e,t){this.referencedMeshCache.wireframeData||(this.referencedMeshCache.wireframeData={}),this.referencedMeshCache.wireframeData[e]=t},zy.prototype.getReferencedMeshBufferData=function(){return this.referencedMeshCache.bufferData},zy.prototype.getReferencedMeshBufferById=function(e){return this.referencedMeshCache&&this.referencedMeshCache.bufferData?this.referencedMeshCache.bufferData[e]:null},zy.prototype.getReferencedMeshComponentNodeById=function(e){return this.referencedMeshCache&&this.referencedMeshCache.componentNode?this.referencedMeshCache.componentNode[e]:null},zy.prototype.getReferencedMeshWireframeDataById=function(e){return this.referencedMeshCache&&this.referencedMeshCache.wireframeData?this.referencedMeshCache.wireframeData[e]:null},zy.prototype.cacheReferencedMeshBoneBufferData=function(e,t){this.referencedMeshCache.bones||(this.referencedMeshCache.bones={}),this.referencedMeshCache.bones[e]=t},zy.prototype.cacheReferencedMeshClipsData=function(e){this.referencedMeshCache.clips=e},zy.prototype.cacheReferencedMeshNodesData=function(e){this.referencedMeshCache.nodes=e},zy.prototype.cacheReferencedMeshComponentData=function(e,t){this.referencedMeshCache.components||(this.referencedMeshCache.components={}),this.referencedMeshCache.components[e]=t},zy.prototype.cacheReferencedMeshMaterialData=function(e,t){this.referencedMeshCache.materials||(this.referencedMeshCache.materials={}),this.referencedMeshCache.materials[e]=t},zy.prototype.cacheReferencedMeshGeoIds=function(e,t){this.referencedMeshCache.mpkIds||(this.referencedMeshCache.mpkIds={}),this.referencedMeshCache.mpkIds[e]||(this.referencedMeshCache.mpkIds[e]=[]),this.referencedMeshCache.mpkIds[e].push(t)},zy.prototype.clearReferencedMeshCacheByGeopkIdxs=function(e,t){if(this.referencedMeshCache.mpkIds)for(var i=0,n=e.length;n>i;i+=1){var r=e[i],o=this.referencedMeshCache.mpkIds[r];if(o){for(var a=0,s=o.length;s>a;a+=1)t&&t(o[a]),delete this.referencedMeshCache[o[a]];delete this.referencedMeshCache.mpkIds[r]}}},zy.prototype.cacheBorderLine=function(e,t){var i=e?"shared":"unique";this.borderLines[i]||(this.borderLines[i]=[]),this.borderLines[i].push(t)},zy.prototype.getSharedBorderLineCache=function(){return this.borderLines.shared},zy.prototype.getUniqueBorderLineCache=function(){return this.borderLines.unique},zy.prototype._isRegularShape=function(e){return e.type===zy.EnumNodeItemType.TUBE||e.type===zy.EnumNodeItemType.PIPE||e.type===zy.EnumNodeItemType.BOX||e.type===zy.EnumNodeItemType.BOX_M||e.type===zy.EnumNodeItemType.PIPE_M},zy.prototype._isInstancedNode=function(e){return!!xd.Instance&&(e.type===zy.EnumNodeItemType.MESH_REF?!!xd.SharedMeshInstanceEnable:!!e.parameterizedDesc)},zy.prototype.getComponentCount=function(){return this.componentCount},zy.prototype.getOctreeRootNode=function(){return this.octreeRootNode},zy.prototype.isUseInnerAndOuterOctree=function(){return!0},zy.prototype.isOctreeOuter=function(e){var t=this.octreeRootNode.inner||this.octreeRootNode.outer;return!(t.min.x>e.x||e.x>t.max.x||t.min.y>e.y||e.y>t.max.y||t.min.z>e.z||e.z>t.max.z)},zy.prototype.getOctreeRoots=function(e){this.octreeRootNode.outer&&e.push(this.octreeRootNode.outer),this.octreeRootNode.inner&&e.push(this.octreeRootNode.inner)},zy.prototype.updateOctreeNodeBy=function(e,t){var i=new He;function n(e,t){i.copy(e.boundingBoxWorld),i.applyMatrix4(t),e.min.copy(i.min),e.max.copy(i.max),e.center=i.getCenter(),e.size=i.getSize().lengthSq()}n(e,t),function e(t,i){for(var r=0,o=t.childOctants.length;o>r;r+=1){var a=t.childOctants[r];n(a,i),e(a,i)}}(e,t)},zy.prototype.updateOctreeNode=function(e){var t=this.getOctreeRootNode();t.outer&&this.updateOctreeNodeBy(t.outer,e),t.inner&&this.updateOctreeNodeBy(t.inner,e)},zy.prototype.removeFromSceneReaderMap=function(e){for(var t=0,i=e.length;i>t;t+=1)this.mapSceneReader[e[t]]&&delete this.mapSceneReader[e[t]]},zy.prototype.isUserIdExist=function(e){return!!this.getNodeInfosByUserId(e)},zy.prototype.addToNodeInfoMap=function(e){for(var t=0,i=e.length;i>t;t+=1)this._cacheNodeInfoByUserId(e[t])},zy.prototype.removeFromNodeInfoMap=function(e){for(var t=this.getAllNodeInfos(),i=0,n=e.length;n>i;i+=1){var r=e[i].userId;t[r]&&delete t[r]}},zy.prototype.cacheNodeInfosOnGeometryId=function(){var e=this.getStandardNodeInfos();for(var t in this.mapNodeInfoByGeometryId={},e)for(var i=e[t],n=0,r=i.length;r>n;n+=1)i[n].geometryId=this.convertGeometryId(i[n].geometryId),this.mapNodeInfoByGeometryId[i[n].geometryId]||(this.mapNodeInfoByGeometryId[i[n].geometryId]=[]),this.mapNodeInfoByGeometryId[i[n].geometryId].push(i[n])},zy.prototype.getNodeInfosOnGeometryId=function(){return this.mapNodeInfoByGeometryId||this.cacheNodeInfosOnGeometryId(),this.mapNodeInfoByGeometryId},zy.prototype.clearNodeInfosWithGeometryId=function(){this.mapNodeInfoByGeometryId={}},zy.prototype.convertGeometryId=function(e){return e},zy.prototype._readMaterialBuffer=function(e){var t=e.materialManager,i=t.materials,n=t.textures,r=this.referencedMeshCache.materials,o=1;for(var a in wp.isEmptyObject(e.subModel)||(o=.001),r){var s=r[a];if(!s)return null;var l=cA.createMaterialByMaterialBufferAndTexture(s,n,o);l.refreshUniforms&&l.refreshUniforms(),i[a]=l,xd.EnableShadow&&e.manager.viewerImpl.rendererManager.csm&&e.manager.viewerImpl.rendererManager.csm.setupMaterial(l)}},zy.prototype._updateV1ToV2=function(){var e=this.referencedMeshCache.components,t=this.referencedMeshCache.bufferData,i=this.referencedMeshCache.materials;for(var n in e)if(e.hasOwnProperty(n)){var r=e[n],o=r.matId,a=t[r.geoId];if(r.materials)continue;if(r.materials=[],!a)continue;var s=i[o];if(!s)continue;var l=this._updateMaterialV1ToV2(o,s);if(l)for(var c in a.materialIndex=l.materialIndex,r.materials=l.materialId,l.materials)l.materials.hasOwnProperty(c)&&(this.referencedMeshCache.materials[c]=l.materials[c])}},zy.prototype._updateMaterialV1ToV2=function(e,t){var i={},n=[],r={};if(!t)return null;for(var o=t.color,a=t.colorIndex,s=t.texture,l=t.textureIndex,c=0;o.length>c;c+=4){var h={};h.color=[o[c],o[c+1],o[c+2]],h.opacity=Math.floor(100*o[c+3])/100,h.transparent=1>o[c+3];var d=(255*h.color[0]<<16^255*h.color[1]<<8^255*h.color[2]<<0)+"_"+h.opacity;r[d]=h,n.push(d)}if(0!==s.length&&a.length===l.length)for(var u=-1,p=0;l.length>p;p+=1)if(u!==a[p]&&(u=a[p],-1!==l[p])){var g=n[a[p]],f=s[l[p]];if(r[g].map=f,-1===g.indexOf(f)){var m=g+"_"+s[l[p]];r[m]=r[g],n.length>Object.keys(r).length-1||delete r[g],n[a[p]]=m}}return i.materials=r,i.materialId=n,i.materialIndex=a,i},zy.prototype._computeVertexNormalsFromFaceNormals=function(e,t,i){for(var n=new Float32Array(i),r=0,o=0,a=0,s=0,l=0,c=0,h=0;e.length>h;h+=3)l=e[h+1],c=e[h+2],o=3*t[h+1],a=3*t[h+2],n[r=3*t[h]]=s=e[h],n[r+1]=l,n[r+2]=c,n[o]=s,n[o+1]=l,n[o+2]=c,n[a]=s,n[a+1]=l,n[a+2]=c;return n},zy.prototype._computeVertexNormalsFromIndex=function(e,t,i){var n=new Float32Array(t.length);if(t){var r=0,o=0,a=0,s=new Ke,l=new Ke,c=new Ke,h=new Ke,d=new Ke;if(e)for(var u=e,p=0;u.length>p;p+=3)o=3*u[p+1],a=3*u[p+2],s.fromArray(t,r=3*u[p]),l.fromArray(t,o),c.fromArray(t,a),h.subVectors(c,l),d.subVectors(s,l),h.cross(d),n[r]+=h.x,n[r+1]+=h.y,n[r+2]+=h.z,n[o]+=h.x,n[o+1]+=h.y,n[o+2]+=h.z,n[a]+=h.x,n[a+1]+=h.y,n[a+2]+=h.z;else for(var g=0,f=t.length;f>g;g+=9)s.fromArray(t,g),l.fromArray(t,g+3),c.fromArray(t,g+6),h.subVectors(c,l),d.subVectors(s,l),h.cross(d),n[g]=h.x,n[g+1]=h.y,n[g+2]=h.z,n[g+3]=h.x,n[g+4]=h.y,n[g+5]=h.z,n[g+6]=h.x,n[g+7]=h.y,n[g+8]=h.z}return n},zy.prototype.addMeshToInfoMap=function(e,t,i,n,r){var o=this.getNodeInfosByComponentKey(e);Array.isArray(o)&&o.forEach((function(e){e.nodeId===t&&(e.mesh=i,e.index=n,e.uv=e.uv||r)}))},zy.prototype._parseGeo=function(){Bu.time("处理几何:计算法线");var e=this.referencedMeshCache;for(var t in e.bufferData){var i=e.bufferData[t];i.position.length!==i.normal.length&&(i.normal=i.normal.length===i.index.length?this._computeVertexNormalsFromFaceNormals(i.normal,i.index,i.position.length):this._computeVertexNormalsFromIndex(i.index,i.position))}Bu.timeEnd("处理几何:计算法线")},zy.prototype._parseBones=function(){var e=this.referencedMeshCache;for(var t in e._offsetMatrix||(e._offsetMatrix={}),e.bufferData){var i=e.bufferData[t];i.position.length!==i.normal.length&&(i.normal=i.normal.length===i.index.length?this._computeVertexNormalsFromFaceNormals(i.normal,i.index,i.position.length):this._computeVertexNormalsFromIndex(i.index,i.position));var n=e.bones[t];if(n){i.skinIndex=n.skinIndex,i.skinWeight=n.skinWeight;var r=n.name;n.offsetMatrix.length/16!==r.length&&Bu.debug("bones的name数量与Matrix数量不符");for(var o=0;r.length>o;o+=1)e._offsetMatrix[r[o]]=(new yt).fromArray(n.offsetMatrix,16*o)}}},zy.prototype._parseClips=function(){for(var e=this.referencedMeshCache.clips,t=[],i=0,n=e.length;n>i;i+=1){for(var r=[],o=e[i],a=0,s=o.tracks.length;s>a;a+=1){var l=o.tracks[a],c=null;switch(l.type){case zy.EnumKeyframeTrackType.weights:c=gl;break;case zy.EnumKeyframeTrackType.quaternion:c=ml;break;case zy.EnumKeyframeTrackType.position:case zy.EnumKeyframeTrackType.scale:default:c=yl}if(0===o.ticksPerSec){o.ticksPerSec=1e3;for(var h=0;l.times.length>h;h+=1)l.times[h]/=o.ticksPerSec}var d=new c(lh.sanitizeNodeName(l.name)+"."+l.type,l.times,l.values,2301);r.push(d)}var u=new vl(void 0!==o.name?o.name:"animation_"+i,o.duration/o.ticksPerSec,r);t.push(u)}this.model.animations=t},zy.prototype._parseNodes=function(){var e=this.referencedMeshCache;e.allBones=[],e.offsetMatrix=[];var t=qy(e.nodes,this);for(var i in e.bufferData){var n=this.meshCache[i];if(n&&n.isSkinnedMesh){for(var r=[],o=[],a=0;e.bones[i].name.length>a;a+=1){var s=e.bones[i].name[a],l=e._offsetMatrix[s],c=this.allBones[s];l&&c&&(r.push(c),o.push(l))}var h=new Ia(r,o);n.bind(h,n.matrixWorld)}}this.model.nodes=t,this.model.manager.getScene().onBeforeRender=function(e,t,i,n){t.updateMatrixWorld(!0)},this.model.group.add(t),(h=new bh(t)).visible=!1,this.model.skeleton=h,this.model.group.add(h),this.model.mixer=new dh(t),this.model.actions=[];for(var d=0;this.model.animations.length>d;d+=1){var u=this.model.mixer.clipAction(this.model.animations[d]);this.model.actions.push(u)}};var Zy=function(e){zy.call(this,e),this.instancedComponent={}};Object.assign(Zy.prototype,zy.prototype),Zy.prototype.parseItemData=function(e){var t=this.model;(my(t.dataVersion,"2.0.0")||void 0===t.dataVersion)&&(Bu.time("升级几何结构"),this._updateV1ToV2(t),t.dataVersion="2.0.0",Bu.timeEnd("升级几何结构")),this._readMaterialBuffer(t),t.hasAnimation&&xd.EnableAnimation?(this._parseClips(),this._parseBones()):(this._parseGeo(),xd.Instance&&Ay(t.dataVersion,"2.0.0")&&this._parseInstanced());var i={},n=this.referencedMeshCache;if(Bu.time("_readItemData"),!n.bufferData||0>=Object.keys(n.bufferData).length)return Bu.warn("缺少几何数据"),!0;for(var r in n.components)this._readItemData(i,r,r,void 0,0);Bu.timeEnd("_readItemData"),i=null,e&&e()},Zy.prototype._readMeshInfo=function(e,t,i,n){var r=this.model.materialManager.materials,o=null,a=null,s=null,l=this.referencedMeshCache;if((i.nodes||i.nodeIds)&&fy(this.model.dataVersion,"2.0.0")){a=i.originalId;var c=i,h=(new yt).fromArray(c.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);c.matrix=h;var d=[];d=c.nodes?c.nodes:c.nodeIds;for(var u=0;d.length>u;u+=1){var p=d[u];if("object"!==nu(p)&&(p=this.getReferencedMeshComponentNodeById(p)),p){var g,f=null;if(s="",-1!==p.geoId)if(f=this._getComponentNodeAttr(p,c,u)){if(c.buildInCategory&&(f.buildInCategory=c.buildInCategory),!r[s=p.material]){var m=Jy[c.type]?Jy[c.type].color:void 0;m||(Bu.log("Material not found for type: ",c.type),m=Jy.DEFAULT.color),m||(Bu.log("Default material not found for type: ",c.type),m=[1,1,1,1]);var A=new pi(m[0],m[1],m[2]),y=s||A.getHexString()+"_"+m[3],v=r[y];v||(Bu.warn("缺少材质 "+s),v=cA.createStandardMaterial({color:A}),1>m[3]&&(v.transparent=!0,v.opacity=m[3]),v.side=2,r[y]=v),f.material=s=y}if(r[s].aoMap){var C=this.getReferencedMeshBufferById(f.geometryId);C&&(C.uv2=C.uv)}g=f.nodeId;var I=(D=this.userDataReader)?D.getUserData(o):null;f.type=c.type,f.userId=t,f.name=c.name,f.userDataId=o,f.originalId=a,f.materialId=s,f.originMId=s,f.userData=I,f.categoryId=0,f.componentKey=t,f.familyName=c.familyName,f.familySymbol=c.familySymbol;var x=xd.Instance,w=l.reuseNodes.hasOwnProperty(g);f.instanceOrNot=!(!x||!w),f.isBatched=!0,f.state=Nd.Visible,f.material=null,this._classifyNodeInfo(f),f=null}else Bu.debug("非法node")}}}else if(null===n?(o=i.userDataId,a=i.originalId,s=i.materialId||i.matId):(o=n.userDataId,a=n.originalId,s=n.materialId>-1?n.materialId:i.materialId),i.materials||(i.materials=[]),i.materials.length>0)for(u=0;i.materials.length>u;u+=1){var M=null;if(M=this._getMeshNodeAttr(e,i,i.materials.length>1,u),!r[s=i.materials[u]]){var E=Jy[i.type]?Jy[i.type].color:void 0;E||(Bu.log("Material not found for type: ",i.type),E=Jy.DEFAULT.color),E||(Bu.log("Default material not found for type: ",i.type),E=[1,1,1,1]);var B=new pi(E[0],E[1],E[2]),S=s||B.getHexString()+"_"+E[3],b=r[S];b||(Bu.warn("缺少材质 "+s),b=cA.createStandardMaterial({color:B}),1>E[3]&&(b.transparent=!0,b.opacity=E[3]),b.side=2,r[S]=b)}if(r[s].aoMap){var k=this.getReferencedMeshBufferById(M.geometryId);k&&(k.uv2=k.uv)}if(!M)return;var D;I=(D=this.userDataReader)?D.getUserData(o):null;M.type=i.type,M.userId=t,M.name=i.name,M.userDataId=o,M.originalId=a,M.materialId=s,M.originMId=s,M.userData=I,M.categoryId=0,M.componentKey=t,M.familyName=i.familyName,M.familySymbol=i.familySymbol,xd.Instance&&this.instancedComponent[t]?M.instanceOrNot=!0:(M.instanceOrNot=!1,this.instancedGeo[M.originalGeometryId].length>1&&(M.originalGeometryId="")),M.state=Nd.Visible,M.material=null,M.isBatched=!0,this._classifyNodeInfo(M),M=null}else{var T=null,R=Jy[i.type]?Jy[i.type].color:void 0;R||(Bu.log("Material not found for type: ",i.type),R=Jy.DEFAULT.color),R||(Bu.log("Default material not found for type: ",i.type),R=[1,1,1,1]);var U=new pi(R[0],R[1],R[2]),F=U.getHexString()+"_"+R[3],Q=r[F];if(Q||(Q=cA.createStandardMaterial({color:U}),1>R[3]&&(Q.transparent=!0,Q.opacity=R[3]),Q.side=2,r[F]=Q),i.materials.push(F),T=this._getMeshNodeAttr(e,i,!1,0),s=i.materials[0],!T)return;i.buildInCategory&&(T.buildInCategory=i.buildInCategory);t=i.key;T.type=i.type,T.userId=t,T.name=i.name,T.originalId=a,T.materialId=s,T.originMId=s,T.userData={},T.categoryId=0,T.componentKey=t,T.familyName=i.familyName,T.familySymbol=i.familySymbol,T.instanceOrNot=!(!xd.Instance||!this.instancedComponent[t]),T.isBatched=!0,T.state=Nd.Visible,T.material=null,this._classifyNodeInfo(T),T=null}},Zy.prototype._parseGeo=function(){Bu.time("处理几何:按材质拆分构件");var e=this.referencedMeshCache;for(var t in e.bufferData){var i=e.bufferData[t];if(i.position.length!==i.normal.length&&(i.normal=i.normal.length===i.index.length?this._computeVertexNormalsFromFaceNormals(i.normal,i.index,i.position.length):this._computeVertexNormalsFromIndex(i.index,i.position)),void 0!==i.materialIndex){for(var n=void 0,r=[],o=null,a=0;i.materialIndex.length>a;a+=1){var s=i.materialIndex[a];s!==o&&(o=s,void 0!==n&&(n.count=3*a-n.start,r.push(n)),n={start:3*a,materialIndex:o})}if(void 0!==n&&(n.count=3*i.materialIndex.length-n.start,r.push(n)),1===r.length){e.bufferData[t+"_"+r[0].materialIndex]=i}else{for(var l={},c=0;r.length>c;c+=1){var h=r[c];void 0===l[h.materialIndex]&&(l[h.materialIndex]={index:[],count:0}),l[h.materialIndex].index.push({start:h.start,count:h.count}),l[h.materialIndex].count+=h.count}var d=function(){p={},g=l[u];for(var n=0,r=new Uint32Array(g.count),o=0;g.index.length>o;o+=1){var a=g.index[o],s=i.index.slice(a.start,a.start+a.count);r.set(s,n),n+=a.count}f={},r.forEach((function(e,t){f[e]||(f[e]=[]),f[e].push(t)}));var c=Object.keys(f).length;m=new Float32Array(3*c),A=new Float32Array(3*c),y=new Float32Array(2*c),v=0,C=0;var h=0;for(var d in f)if(f.hasOwnProperty(d)){d=Number(d);var I=i.position.slice(3*d,3*d+3),x=i.normal.slice(3*d,3*d+3);if(i.uv.length>0){var w=i.uv.slice(2*d,2*d+2);y.set(w,C),C+=2}m.set(I,v),A.set(x,v),v+=3,f[d].forEach((function(e){r[e]=h})),h+=1}p.index=r,p.position=m,p.normal=A,i.uv&&i.uv.length>0&&(p.uv=y),e.bufferData[t+"_"+u]=p};for(var u in l){var p,g,f,m,A,y,v,C;d()}}}}Bu.timeEnd("处理几何:按材质拆分构件")},Zy.prototype._parseInstanced=function(){Bu.time("_parseInstanced"),this.instancedComponent={};var e={},t={},i=this.referencedMeshCache,n=this.model.materialManager.materials;for(var r in i.components)if(i.components.hasOwnProperty(r)){var o=i.components[r];if((o.nodeIds||o.nodes)&&fy(this.model.dataVersion,"2.0.0"))continue;var a=o.geoId;if(-1===a){Bu.debug("实体没有几何");continue}if(void 0===e[a]&&(e[a]=[]),e[a].push(1),!o.materials||1>o.materials.length){o.materials=[];var s=Jy[o.type]?Jy[o.type].color:void 0;s||(Bu.log("Material not found for type: ",o.type),s=Jy.DEFAULT.color),s||(Bu.log("Default material not found for type: ",o.type),s=[1,1,1,1]);var l=new pi(s[0],s[1],s[2]),c=l.getHexString()+"_"+s[3],h=n[c];h||(Bu.warn("缺少材质 "+c),h=cA.createStandardMaterial({color:l}),1>s[3]&&(h.transparent=!0,h.opacity=s[3]),h.side=2,n[c]=h),o.materials.push(c)}for(var d=0,u=o.materials.length;u>d;d+=1){var p=o.materials[d]+"&"+a;void 0===t[p]&&(t[p]=[]),t[p].push({componentKey:r})}}for(var g in this.instancedGeo=e,t)if(t.hasOwnProperty(g))if(1<t[g].length)for(var f=0;t[g].length>f;f+=1)this.instancedComponent[t[g][f].componentKey]=!0;else delete t[g];Bu.timeEnd("_parseInstanced")};var Xy=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).descriptor=new Zy(e.model),n}return i}(Wy);Xy.prototype.loadSceneAndGeos=function(e){var t=e.scene,i=this.model,n=t.geometries.length||0,r=[];if(this.map={},my(this.dataVersion,"2.0.0"))for(var o=0;n>o;o+=1)t.geometries[o].fileKey?r.push(t.geometries[o].fileKey):i.dispatchEventEx({type:Qd.SCENE_NOT_CLOSE,modelKey:i.modelKey});else r=t.geometries;this.maxLoadTaskCount+=n,this._loadGeo(r)},Xy.prototype.getSceneTaskCount=function(e){var t=e.scenes;return t+=e.lines,t+=e.mpks,xd.BorderLineDelayLoaded||(t+=this.getAllBorderlineCount()),t};var _y=function(e){this.model=e,this.defaultManager=null,this.instancedManager=null,this.model=e,this.loader=null,this.loaded=!1,this.dataReady=!1,this.borderlinesLoaded=!1,this.borderlinesGenerated=!1};_y.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)},_y.prototype.load=function(e){var t=this,i=this.model;this.loader.setNotifyProgress(e),this.loader.load((function(){i.manager.dispatchEvent({type:Fd.ON_LOAD_START,modelKey:i.modelKey})}),(function(e){i.manager.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:e,modelKey:i.modelKey})}),(function(){t.prepareData((function(){t.processLoadCompleted((function(){i.manager.dispatchEvent({type:Fd.ON_LOAD_COMPLETE,modelKey:i.modelKey})}))}))}))},_y.prototype.processLoadCompleted=function(e){var t=this.model;t.materialManager._updateTextureMapping(),t.materialManager._updateIBL(t),t.setLoaded(!0);var i=t.manager.filter,n=t.manager.getNodeInfos();i.initFilterManager(n),requestAnimationFrame((function(){e&&e(),t.hasAnimation&&xd.EnableAnimation&&t.createPanel(),t.updateMeshNodes(),t.applyFilter(),t.debut(t)}))},_y.prototype.prepareData=function(e){if(!this.dataReady){var t=this;this.loader.getDescriptor().parseItemData((function(){t.dataReady=!0,t.settleData(e)}))}},_y.prototype.prepareWireframe=function(e,t){if(e.isActivateWireframe())if(xd.BorderLineDelayLoaded&&this.loader.getAllBorderlineCount())if(this.borderlinesLoaded)this.borderlinesGenerated&&(this.defaultManager.asyncGenerateWireframe(e),this.instancedManager.generateWireframe(e));else{this.borderlinesLoaded=!0;var i=this;this.loader.delayLoadBorderlines((function(){i.instancedManager.generateWireframe(e),i.defaultManager.asyncGenerateWireframe(e,(function(){i.borderlinesGenerated=!0,t&&t()}))}))}else this.defaultManager.generateWireframe(e),this.instancedManager.generateWireframe(e)},_y.prototype.prepare=function(e){},_y.prototype.needUpdate=function(){return!0},_y.prototype.updateNodes=function(){this.defaultManager.updateNodes(this.model),xd.Instance&&this.instancedManager.updateNodes(this.model)},_y.prototype.isLoaded=function(){return this.loaded},_y.prototype.isDataReady=function(){return this.loaded},_y.prototype.isAllReady=function(){return!0},_y.prototype.isHidden=function(){var e=this.model;return!e.visible&&(e.manager.scene.removeGroupByName(e._getWireframeGroupName()),!0)},_y.prototype.settleData=function(e){},_y.prototype.addNodeInfoToOctantMap=function(){},_y.prototype.applyFilter=function(){this.isLoaded()&&(this.defaultManager.applyFilter(this.model),xd.Instance&&this.instancedManager.applyFilter(this.model))},_y.prototype.applySelection=function(){this.isLoaded()&&(this.defaultManager.applySelection(this.model),xd.Instance&&this.instancedManager.applySelection(this.model))},_y.prototype.clearSelection=function(){this.isLoaded()&&(this.defaultManager.clearSelection(this.model),xd.Instance&&this.instancedManager.clearSelection(this.model))},_y.prototype.applyHover=function(){this.isLoaded()&&(this.defaultManager.applyHover(this.model),xd.Instance&&this.instancedManager.applyHover(this.model))},_y.prototype.clearHover=function(){this.isLoaded()&&(this.defaultManager.clearHover(this.model),xd.Instance&&this.instancedManager.clearHover(this.model))},_y.prototype.applyBlink=function(){this.isLoaded()&&(this.defaultManager.applyBlink(this.model),xd.Instance&&this.instancedManager.applyBlink(this.model))},_y.prototype.clearBlink=function(){this.isLoaded()&&(this.defaultManager.clearBlink(this.model),xd.Instance&&this.instancedManager.clearBlink(this.model))},_y.prototype.applyReplacement=function(){this.isLoaded()&&(this.defaultManager.applyReplacement(this.model),xd.Instance&&this.instancedManager.applyReplacement(this.model))},_y.prototype.getMeshesByUserIds=function(e){if(this.isLoaded()){var t=this.defaultManager.getMeshesByUserIds(this.model,e),i=[];return xd.Instance&&(i=this.instancedManager.getMeshesByUserId(this.model,e)),[].concat(t).concat(i)}},_y.prototype.rebuildIndicesforLightmap=function(){this.defaultManager.rebuildIndices(this.model)},_y.prototype.adjustVisibility=function(e){this.defaultManager.adjustVisibility(this.model,e)},_y.prototype.changeVisibilityOfSelectedObjects=function(e){this.defaultManager.changeVisibilityOfSelectedObjects(this.model,e)},_y.prototype.changeVisibilityOfNonSelectedObjects=function(e){this.defaultManager.changeVisibilityOfNonSelectedObjects(this.model,e)},_y.prototype.adjustInstanceVisibility=function(e){this.instancedManager.adjustVisibility(this.model,e)},_y.prototype.changeInstanceVisibilityOfSelectedObjects=function(e){this.instancedManager.changeVisibilityOfSelectedObjects(this.model,e)},_y.prototype.changeInstanceVisibilityOfNonSelectedObjects=function(e){this.instancedManager.changeVisibilityOfNonSelectedObjects(this.model,e)},_y.prototype.restoreVisibilityOfObjects=function(){this.defaultManager.restoreVisibilityOfObjects(),this.instancedManager.restoreVisibilityOfObjects()},_y.prototype.getBlinkMaterials=function(){var e=[],t=this.model.materialManager.instanceMaterials;for(var i in t)for(var n=t[i],r=0,o=n.length;o>r;r+=1)e.push(n[r]);return e=e.concat(this.defaultManager.meshManager.getBlinkMaterials())},_y.prototype.disposeBufferAfterVbo=function(){this.isLoaded()&&(this.defaultManager.disposeBufferAfterVbo(),this.instancedManager.disposeBufferAfterVbo())},_y.prototype.getGeometryBuffersByUserId=function(e){if(!this.isLoaded())return[];var t=[];return t=(t=t.concat(this.defaultManager.getGeometryBuffersByUserId(this.model,e))).concat(this.instancedManager.getGeometryBuffersByUserId(this.model,e))},_y.prototype.unloadComponents=function(e){},_y.prototype.explosion=function(e){this.isLoaded()&&(this.defaultManager.explosion(this.model,e),xd.Instance&&this.instancedManager.explosion(this.model,e))},_y.prototype.closeExplosion=function(){this.isLoaded()&&(this.defaultManager.closeExplosion(this.model),xd.Instance&&this.instancedManager.closeExplosion(this.model))},_y.prototype.componentsExplosion=function(e){this.isLoaded()&&(this.defaultManager.componentsExplosion(this.model,e),xd.Instance&&this.instancedManager.componentsExplosion(this.model,e))},_y.prototype.closeComponentsExplosion=function(e){this.isLoaded()&&(this.defaultManager.closeComponentsExplosion(this.model,e),xd.Instance&&this.instancedManager.closeComponentsExplosion(this.model,e))},_y.prototype.isHiddenNode=function(e){return this.defaultManager.isHiddenNode(e)||this.instancedManager.isHiddenNode(e)},_y.prototype.moveMeshfromInstancedToDefault=function(e){},_y.prototype.componentApplyMatrix=function(e,t){if(this.loader&&this.loader.descriptor){var i=this.loader.descriptor.getNodeInfosByComponentKey(e);if(i&&i.length>0)for(var n=0;i.length>n;n+=1){var r=i[n];if(r.matrix||(r.matrix=new yt),r.transformation||(r.transformation=!0,r.transformationOriginalMatrix=r.matrix.clone(),r.applyMatrix=new yt,r.boundingBox&&(r.transformationOriginalBoundingBox=r.boundingBox.clone())),r.matrix.premultiply(t),r.applyMatrix.premultiply(t),r.boundingBox&&r.boundingBox.copy(r.transformationOriginalBoundingBox).applyMatrix4(r.applyMatrix),r.isBatched){if(!0===r.instanceOrNot)for(var o=this.instancedManager.meshManager,a=o.getMeshIdByNodeInfo(r),s=o.nodeIdxMapFromUserId[e][a],l=0,c=s.length;c>l;l+=1){var h=s[l];if(r.instanceGeometryIndex===h){var d=o.instanceGeometryMap[a][0];if(!d)continue;var u=d.getAttribute("mcol0"),p=d.getAttribute("mcol1"),g=d.getAttribute("mcol2"),f=d.getAttribute("mcol3"),m=r.matrix;u.array[3*h]=m.elements[0],u.array[3*h+1]=m.elements[1],u.array[3*h+2]=m.elements[2],u.needsUpdate=!0,p.array[3*h]=m.elements[4],p.array[3*h+1]=m.elements[5],p.array[3*h+2]=m.elements[6],p.needsUpdate=!0,g.array[3*h]=m.elements[8],g.array[3*h+1]=m.elements[9],g.array[3*h+2]=m.elements[10],g.needsUpdate=!0,f.array[3*h]=m.elements[12],f.array[3*h+1]=m.elements[13],f.array[3*h+2]=m.elements[14],f.needsUpdate=!0}}else{var A=r.mesh;if(!A)continue;var y=r.index,v=A.geometry;A.geometry.boundingBox=null;var C=v.attributes.position;by.applyMatrix4ToBuffer(t,C.array,y.positionStart,y.positionStart+y.positionCount),C.needsUpdate=!0;var I=this.defaultManager.wireframeManager.getWireFrameLineSegments();if(I)if(Array.isArray(I))for(var x=0,w=I.length;w>x;x+=1)for(var M=I[x]._indicesGroup[e],E=0,B=M.length;B>E;E+=1){var S=M[E];if(M[E].nodeId===r.nodeId){var b=I[x].geometry.attributes.position;by.applyMatrix4ToBuffer(t,b.array,3*S.positionStart,3*(S.positionStart+S.positionCount)),b.needsUpdate=!0;break}}else for(var k=I._indicesGroup[e],D=0,T=k.length;T>D;D+=1){var R=k[D];if(k[D].nodeId===r.nodeId){var U=I.geometry.attributes.position;by.applyMatrix4ToBuffer(t,U.array,3*R.positionStart,3*(R.positionStart+R.positionCount)),U.needsUpdate=!0;break}}}}else{var F=null;if(r.mesh instanceof Array)F=r.mesh;else{if(!(r.mesh instanceof Yt))continue;F=[r.mesh]}for(var Q=0,L=F.length;L>Q;Q+=1){var O=F[Q];r.isExternalComponent&&(O.userData.originalMatrix||(O.userData.originalMatrix=O.matrix.clone()));var N=O.matrixAutoUpdate;O.matrixAutoUpdate=!1,O.applyMatrix4(t),O.matrixAutoUpdate=N,O.updateMatrixWorld(!0)}var P=r.wireframeMeshs;if(P)for(var G=0,K=P.length;K>G;G+=1){var V=P[G];N=V.matrixAutoUpdate,V.matrixAutoUpdate=!1,V.matrix.copy(r.matrix),V.updateMatrixWorld(!0),V.matrixAutoUpdate=N}}}}},_y.prototype.setComponentMatrix=function(e,t){if(this.loader&&this.loader.descriptor){var i=this.loader.descriptor.getNodeInfosByComponentKey(e);if(i&&i.length>0)for(var n=0;i.length>n;n+=1){var r=i[n];r.matrix||(r.matrix=new yt);var o=null;if(r.transformation?o=(new yt).copy(r.applyMatrix).invert():(r.transformation=!0,r.transformationOriginalMatrix=r.matrix.clone(),r.applyMatrix=new yt,r.boundingBox&&(r.transformationOriginalBoundingBox=r.boundingBox.clone())),r.matrix.copy(r.transformationOriginalMatrix).premultiply(t),r.applyMatrix.copy(t),r.boundingBox&&r.boundingBox.copy(r.transformationOriginalBoundingBox).applyMatrix4(r.applyMatrix),r.isBatched){if(!0===r.instanceOrNot)for(var a=this.instancedManager.meshManager,s=a.getMeshIdByNodeInfo(r),l=a.nodeIdxMapFromUserId[e][s],c=0,h=l.length;h>c;c+=1){var d=l[c],u=a.instanceGeometryMap[s][c],p=u.getAttribute("mcol0"),g=u.getAttribute("mcol1"),f=u.getAttribute("mcol2"),m=u.getAttribute("mcol3"),A=r.matrix;p.array[3*d]=A.elements[0],p.array[3*d+1]=A.elements[1],p.array[3*d+2]=A.elements[2],p.needsUpdate=!0,g.array[3*d]=A.elements[4],g.array[3*d+1]=A.elements[5],g.array[3*d+2]=A.elements[6],g.needsUpdate=!0,f.array[3*d]=A.elements[8],f.array[3*d+1]=A.elements[9],f.array[3*d+2]=A.elements[10],f.needsUpdate=!0,m.array[3*d]=A.elements[12],m.array[3*d+1]=A.elements[13],m.array[3*d+2]=A.elements[14],m.needsUpdate=!0}else{var y=r.mesh;if(!y)continue;var v=r.index,C=y.geometry.attributes.position;o&&by.applyMatrix4ToBuffer(o,C.array,v.positionStart,v.positionStart+v.positionCount),by.applyMatrix4ToBuffer(r.applyMatrix,C.array,v.positionStart,v.positionStart+v.positionCount),C.needsUpdate=!0;var I=this.defaultManager.wireframeManager.getWireFrameLineSegments();if(I)if(Array.isArray(I))for(var x=0,w=I.length;w>x;x+=1)for(var M=I[x]._indicesGroup[e],E=0,B=M.length;B>E;E+=1){var S=M[E];if(M[E].nodeId===r.nodeId){var b=I[x].geometry.attributes.position;o&&by.applyMatrix4ToBuffer(o,b.array,3*S.positionStart,3*(S.positionStart+S.positionCount)),by.applyMatrix4ToBuffer(t,b.array,3*S.positionStart,3*(S.positionStart+S.positionCount)),b.needsUpdate=!0;break}}else for(var k=I._indicesGroup[e],D=0,T=k.length;T>D;D+=1){var R=k[D];if(k[D].nodeId===r.nodeId){var U=I.geometry.attributes.position;o&&by.applyMatrix4ToBuffer(o,U.array,3*R.positionStart,3*(R.positionStart+R.positionCount)),by.applyMatrix4ToBuffer(t,U.array,3*R.positionStart,3*(R.positionStart+R.positionCount)),U.needsUpdate=!0;break}}}}else{var F=null;if(r.mesh instanceof Array)F=r.mesh;else{if(!(r.mesh instanceof Yt))continue;F=[r.mesh]}for(var Q=0,L=F.length;L>Q;Q+=1){var O=F[n];r.isExternalComponent&&(O.userData.originalMatrix||(O.userData.originalMatrix=O.matrix.clone()));var N=O.matrixAutoUpdate;O.matrixAutoUpdate=!1,O.matrix.copy(r.matrix),O.applyMatrix4(new yt),O.matrixAutoUpdate=N,O.updateMatrixWorld(!0)}var P=r.wireframeMeshs;if(P)for(var G=0,K=P.length;K>G;G+=1){var V=P[G];N=V.matrixAutoUpdate,V.matrixAutoUpdate=!1,V.matrix.copy(r.matrix),V.updateMatrixWorld(!0),V.matrixAutoUpdate=N}}}}},_y.prototype.resetComponentMatrix=function(e){if(this.loader&&this.loader.descriptor){var t=this.loader.descriptor.getNodeInfosByComponentKey(e);if(t&&t.length>0)for(var i=0;t.length>i;i+=1){var n=t[i];if(n.transformation){n.matrix.copy(n.transformationOriginalMatrix),n.transformationOriginalBoundingBox&&(n.boundingBox=n.transformationOriginalBoundingBox.clone());var r=(new yt).copy(n.applyMatrix).invert();if(n.isBatched){if(!0===n.instanceOrNot)for(var o=this.instancedManager.meshManager,a=o.getMeshIdByNodeInfo(n),s=o.nodeIdxMapFromUserId[e][a],l=0,c=s.length;c>l;l+=1){var h=s[l],d=o.instanceGeometryMap[a][l],u=d.getAttribute("mcol0"),p=d.getAttribute("mcol1"),g=d.getAttribute("mcol2"),f=d.getAttribute("mcol3"),m=n.matrix;u.array[3*h]=m.elements[0],u.array[3*h+1]=m.elements[1],u.array[3*h+2]=m.elements[2],u.needsUpdate=!0,p.array[3*h]=m.elements[4],p.array[3*h+1]=m.elements[5],p.array[3*h+2]=m.elements[6],p.needsUpdate=!0,g.array[3*h]=m.elements[8],g.array[3*h+1]=m.elements[9],g.array[3*h+2]=m.elements[10],g.needsUpdate=!0,f.array[3*h]=m.elements[12],f.array[3*h+1]=m.elements[13],f.array[3*h+2]=m.elements[14],f.needsUpdate=!0}else{var A=n.mesh;if(!A)continue;var y=n.index,v=A.geometry.attributes.position;r&&(by.applyMatrix4ToBuffer(r,v.array,y.positionStart,y.positionStart+y.positionCount),v.needsUpdate=!0);var C=this.defaultManager.wireframeManager.getWireFrameLineSegments();if(C)if(Array.isArray(C))for(var I=0,x=C.length;x>I;I+=1)for(var w=C[I]._indicesGroup[e],M=0,E=w.length;E>M;M+=1){var B=w[M];if(w[M].nodeId===n.nodeId){var S=C[I].geometry.attributes.position;r&&(by.applyMatrix4ToBuffer(r,S.array,3*B.positionStart,3*(B.positionStart+B.positionCount)),by.applyMatrix4ToBuffer(r,S.array,3*B.positionStart,3*(B.positionStart+B.positionCount)),S.needsUpdate=!0);break}}else for(var b=C._indicesGroup[e],k=0,D=b.length;D>k;k+=1){var T=b[k];if(b[k].nodeId===n.nodeId){var R=C.geometry.attributes.position;r&&(by.applyMatrix4ToBuffer(r,R.array,3*T.positionStart,3*(T.positionStart+T.positionCount)),by.applyMatrix4ToBuffer(r,R.array,3*T.positionStart,3*(T.positionStart+T.positionCount)),R.needsUpdate=!0);break}}}}else{var U=null;if(n.mesh instanceof Array)U=n.mesh;else{if(!(n.mesh instanceof Yt))continue;U=[n.mesh]}for(var F=0,Q=U.length;Q>F;F+=1){var L=U[i],O=void 0;if(O=n.isExternalComponent?L.userData.originalMatrix:n.matrix){var N=L.matrixAutoUpdate;L.matrixAutoUpdate=!1,L.matrix.copy(O),L.applyMatrix4(new yt),L.matrixAutoUpdate=N,L.updateMatrixWorld(!0),L.userData.originalMatrix=void 0}}var P=n.wireframeMeshs;if(P)for(var G=0,K=P.length;K>G;G+=1){var V=P[G];N=V.matrixAutoUpdate,V.matrixAutoUpdate=!1,V.matrix.copy(n.matrix),V.updateMatrixWorld(!0),V.matrixAutoUpdate=N}}n.transformationOriginalMatrix=void 0,n.transformationOriginalBoundingBox=void 0,n.applyMatrix=void 0,n.transformation=void 0}}}};var $y=function(e){this.manager=e,this.pickingNodeMap=null,this.pickingNodeGroup=null,this.nodeGroupName="PickingNodeGroup"};$y.prototype.destroy=function(){this.clearData(),this.pickingNodeGroup=null,this.manager=null},$y.prototype.clearData=function(){this.clearAllFromPickingNodeGroup(),this.clearAllFromPickingNodeMap()},$y.prototype.addToPickingNodeMap=function(e,t){this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[e]=t,this.addToPickingNodeGroup(t)},$y.prototype.removeFromPickingNodeMap=function(e){this.pickingNodeMap&&this.pickingNodeMap[e]&&(this.removeFormPickingNodeGroup(e),this.disposePickingNodeById(e),delete this.pickingNodeMap[e])},$y.prototype.addToPickingNodeGroup=function(e){this.pickingNodeGroup||(this.pickingNodeGroup=new To,this.pickingNodeGroup.name=this.nodeGroupName);for(var t=0,i=e.length;i>t;t+=1)this.pickingNodeGroup.add(e[t])},$y.prototype.removeFormPickingNodeGroup=function(e){if(this.pickingNodeGroup)for(var t=this.pickingNodeMap[e],i=0,n=t.length;n>i;i+=1)this.pickingNodeGroup.remove(t[i])},$y.prototype.disposePickingNodeById=function(e){for(var t=this.pickingNodeMap[e],i=0,n=t.length;n>i;i+=1)t[i].material=null,t[i].geometry.dispose(),t[i]=null},$y.prototype.clearAllFromPickingNodeMap=function(){if(this.pickingNodeMap){for(var e=Object.keys(this.pickingNodeMap),t=0,i=e.length;i>t;t+=1)this.disposePickingNodeById(e[t]);this.pickingNodeMap=null}},$y.prototype.clearAllFromPickingNodeGroup=function(){this.pickingNodeGroup&&(this.pickingNodeGroup.children.length=0)},$y.prototype.isPickingMeshesGenerated=function(){return!!this.pickingNodeMap},$y.prototype.generatePickingMeshes=function(){},$y.prototype.updatePickingMeshesState=function(e,t,i){},$y.prototype.resetPickingMeshesState=function(){},$y.prototype.updatePickingMeshes=function(e,t,i){return this.isPickingMeshesGenerated()||(this.generatePickingMeshes(),this.isPickingMeshesGenerated())?(this.resetPickingMeshesState(),this.updatePickingMeshesState(e,t,i),this.getPickingNodeGroup()):null},$y.prototype.getPickingNodeGroup=function(){return this.pickingNodeGroup};var ev=function(e){$y.call(this,e),this.nodeGroupName="PickingBatchedMeshGroup"};Object.assign(ev.prototype,$y.prototype),SA(ev,[{key:"disposePickingNodeById",value:function(e){for(var t=this.pickingNodeMap[e],i=0,n=t.length;n>i;i+=1)t[i]._indicesGroup=null,t[i].material=null,t[i].geometry.dispose(),t[i]=null}},{key:"generatePickingMeshes",value:function(){for(var e=this.manager,t=Object.keys(e.mapMaterialIdToMergedNode),i=0,n=t.length;n>i;i+=1){for(var r=t[i],o=e.getPropertyValueByMaterialKey(r),a=e.mapMaterialIdToMergedNode[r],s=[],l=0,c=a.length;c>l;l+=1){var h=a[l],d=h.geometry,u=h.indices,p=h.mesh,g=new Ni;g.setAttribute("position",d.getAttribute("position")),g.setIndex(d.getIndex());var f=new("lines"===o.type?La:nn)(g,cA.DefaultMaterial);p.matrixWorld.decompose(f.position,f.quaternion,f.scale),f.name=r,f.frustumCulled=!1,f.renderOrder=1,f._indicesGroup=u,s.push(f)}this.addToPickingNodeMap(r,s)}}},{key:"_rebuildGeometryGroup",value:function(e,t,i){var n,r=this.manager.manager,o=0,a=0,s=0,l=e._indicesGroup,c=Object.keys(l),h=[],d={};t.length>c.length?(h=c,d=i):(h=t,d=l);var u=[];for(s=0,n=h.length;n>s;s+=1){var p=h[s];if(r.isPickableNode(p)&&d[p]){var g=l[p];if(g&&g.length>0)for(o=0,a=g.length;a>o;o+=1)u.push({indexStart:g[o].indexStart,indexCount:g[o].indexCount})}}e.visible=!0;var f=e.geometry;if(f.clearGroups(),0!==u.length)for(u.sort((function(e,t){return e.indexStart-t.indexStart})),o=0,a=u.length;a>o;o+=1){var m=u[o].indexStart,A=u[o].indexCount;if(0===o)f.addGroup(m,A,0);else m===u[o-1].indexStart+u[o-1].indexCount?f.groups[f.groups.length-1].count+=A:f.addGroup(m,A,0)}else e.visible=!1}},{key:"updatePickingMeshesState",value:function(e,t,i){for(var n=this.pickingNodeMap,r=Object.keys(n),o=0,a=r.length;a>o;o+=1)for(var s=n[r[o]],l=0,c=s.length;c>l;l+=1)s[l].material=[e],s[l].visible=!1,this._rebuildGeometryGroup(s[l],t,i)}}]);var tv=new He,iv=new yt,nv=new At,rv=new ct,ov=function(e){lu(i,e);var t=pu(i);function i(){var e;return ru(this,i),(e=t.call(this)).type="LineSegmentsEx",e}return i}(La);ov.prototype.init=function(e){},ov.prototype.destroy=function(){},ov.prototype.intersectBoxWithDistance=function(e,t){var i=this.geometry,n=this.matrixWorld;return t&&(n=this.matrixWorld.clone()).multiplyMatrices(this.matrixWorld,t),i.boundingBox||i.computeBoundingBox(),tv.copy(i.boundingBox),tv.applyMatrix4(n),e.ray.intersectBoxWithDistance(tv)},ov.prototype.intersectBoxWithDistanceByIndices=function(e,t){var i=this.geometry.attributes.position.array,n=0,r=i.length;t&&t.indexCount>0&&(n=t.positionStart,r=t.positionStart+t.positionCount);var o=wp.box3FromArrayRange(i,n,r);return o.applyMatrix4(this.matrixWorld),e.ray.intersectBoxWithDistance(o)},ov.prototype.raycastByIndices=function(e,t,i,n){var r=e.linePrecision;e.linePrecision=xd.LineSelectRange||5;var o=e.linePrecision,a=o*o,s=null;n?(s=this.matrixWorld.clone()).multiplyMatrices(this.matrixWorld,n):s=this.matrixWorld;var l=this.geometry;if(null===l.boundingSphere&&l.computeBoundingSphere(),rv.copy(l.boundingSphere),rv.applyMatrix4(s),!1!==e.ray.intersectsSphere(rv)){iv.copy(s).invert(),nv.copy(e.ray).applyMatrix4(iv);var c=new Ke,h=new Ke,d=new Ke,u=new Ke,p=l.attributes.position.array,g=l.index.array,f=0,m=g.length;i&&i.indexCount>0&&(f=i.indexStart,m=i.indexStart+i.indexCount);for(var A=f;m-1>A;A+=2){var y=g[A+1];if(c.fromArray(p,3*g[A]),h.fromArray(p,3*y),a>=nv.distanceSqToSegment(c,h,u,d)){u.applyMatrix4(s);var v=e.ray.origin.distanceTo(u);e.near>v||v>e.far||t.push({distance:v,point:d.clone().applyMatrix4(s),index:A,face:null,faceIndex:null,object:this})}}e.linePrecision=r}};var av=new yt,sv=new At,lv=new ct,cv=new Ke,hv=new Ke,dv=new Ke,uv=new Ke,pv=new Ke,gv=new Ke,fv=new Ke,mv=new Ke,Av=new Ke,yv=new ke,vv=new ke,Cv=new ke,Iv=new Ke,xv=new Ke;function wv(e,t,i,n,r,o,a,s){if(null===(Array.isArray(t)?n.intersectTriangle(r,o,a,!1,s):1===t.side?n.intersectTriangle(a,o,r,!0,s):n.intersectTriangle(r,o,a,2!==t.side,s)))return null;xv.copy(s),xv.applyMatrix4(e.matrixWorld);var l=i.ray.origin.distanceTo(xv);return i.near>l||l>i.far?null:{distance:l,point:xv.clone(),object:e}}function Mv(e,t,i,n,r,o,a,s,l,c,h,d){cv.fromBufferAttribute(r,c),hv.fromBufferAttribute(r,h),dv.fromBufferAttribute(r,d);var u=e.morphTargetInfluences;if(t.morphTargets&&o&&u){fv.set(0,0,0),mv.set(0,0,0),Av.set(0,0,0);for(var p=0,g=o.length;g>p;p+=1){var f=u[p],m=o[p];0!==f&&(uv.fromBufferAttribute(m,c),pv.fromBufferAttribute(m,h),gv.fromBufferAttribute(m,d),a?(fv.addScaledVector(uv,f),mv.addScaledVector(pv,f),Av.addScaledVector(gv,f)):(fv.addScaledVector(uv.sub(cv),f),mv.addScaledVector(pv.sub(hv),f),Av.addScaledVector(gv.sub(dv),f)))}cv.add(fv),hv.add(mv),dv.add(Av)}e.isSkinnedMesh&&(e.boneTransform(c,cv),e.boneTransform(h,hv),e.boneTransform(d,dv));var A=wv(e,t,i,n,cv,hv,dv,Iv);if(A){s&&(yv.fromBufferAttribute(s,c),vv.fromBufferAttribute(s,h),Cv.fromBufferAttribute(s,d),A.uv=ri.getUV(Iv,cv,hv,dv,yv,vv,Cv,new ke)),l&&(yv.fromBufferAttribute(l,c),vv.fromBufferAttribute(l,h),Cv.fromBufferAttribute(l,d),A.uv2=ri.getUV(Iv,cv,hv,dv,yv,vv,Cv,new ke));var y={a:c,b:h,c:d,normal:new Ke,materialIndex:0};ri.getNormal(cv,hv,dv,y.normal),A.face=y}return A}var Ev,Bv=function(e){lu(i,e);var t=pu(i);function i(e,n){var r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return ru(this,i),(r=t.call(this)).type="MeshEx",r.matrixAutoUpdate=!1,r.active=!1,r.guid="",r.key="",r.typeEx="",r.geometry=e||by.EmptyGeometry,r.material=n||cA.DefaultMaterial,r.visible=!1,r.pickable=!0,r.info=o,r.isMeshEx=!0,r}return i}(nn);Bv.prototype.init=function(e){e&&e.parent&&e.parent.add(this)},Bv.prototype.destroy=function(){this.parent&&this.parent.remove(this),this.userData&&(this.userData=null),this.geometry=null,this.material=null},Bv.prototype.isVisible=function(){return this.visible&&this.active},Bv.prototype.spawn=function(e){void 0!==e.guid&&(this.guid=e.guid),void 0!==e.key&&(this.key=e.key),void 0!==e.name&&(this.name=e.name),void 0!==e.typeEx&&(this.typeEx=e.typeEx),e.geometry&&(this.geometry=e.geometry),e.material&&(this.material=e.material),e.matrix?(this.matrix.copy(e.matrix),this.updateMatrixWorld(!0)):(this.matrix.identity(),this.updateMatrixWorld(!0)),this.modelKey=e.modelKey?e.modelKey:"",e.userData?this.userData=e.userData:this.userData&&(this.userData=null),void 0!==e.visible&&(this.visible=e.visible),void 0!==e.isMesh&&(this.isMesh=e.isMesh),void 0!==e.isLine&&(this.isLine=e.isLine),void 0!==e.isLineSegments&&(this.isLineSegments=e.isLineSegments),this.pickable=void 0===e.pickable||e.pickable,this.renderOrder=e.renderOrder||0,this.active=!0,this.visible=!0,this.frustumCulled=!1,this.matChange=!1},Bv.prototype.clear=function(){this.geometry=by.EmptyGeometry,this.material=cA.DefaultMaterial,this.active=!1,this.visible=!0,this.guid="",this.key="",this.typeEx="",this.frustumCulled=!0,this.material.visible=!1},Bv.prototype.intersectBoxWithDistance=(Ev=new He,function(e,t){var i=this.geometry,n=this.material,r=this.matrixWorld;return t&&(r=new yt).multiplyMatrices(this.matrixWorld,t),void 0===n?-1:(i.boundingBox||i.computeBoundingBox(),Ev.copy(i.boundingBox),Ev.applyMatrix4(r),e.ray.intersectBoxWithDistance(Ev))}),Bv.prototype.intersectBoxWithDistanceByIndices=function(e,t){var i=this.matrixWorld,n=this.computeBoundingBox(t);return n.applyMatrix4(i),e.ray.intersectBoxWithDistance(n)},Bv.prototype.intersectBoxWithClipPlane=function(e,t){var i=this.matrixWorld,n=this.computeBoundingBox(t);return n.applyMatrix4(i),n.intersectsPlane(e)},Bv.prototype.getIntersectionPoints=function(e,t,i,n){var r=new yt;r.copy(this.matrixWorld).invert();var o=e.clone();function a(e,t){var n=t.intersectLine(e);n&&i.push(n.x,n.y,n.z)}o.constant*=-1,o=o.applyMatrix4(r);for(var s,l,c,h=this.geometry.getIndex().array,d=this.geometry.getAttribute("position").array,u=n?0:t.indexStart,p=n?h.length:t.indexStart+t.indexCount,g=new Ke,f=new Ke,m=new Ke,A=new xh,y=new xh,v=new xh,C=u,I=p;I>C;C+=3)l=3*h[C+1],c=3*h[C+2],g.set(d[s=3*h[C]],d[s+1],d[s+2]),f.set(d[l],d[l+1],d[l+2]),m.set(d[c],d[c+1],d[c+2]),n&&(g.applyMatrix4(t.matrix),f.applyMatrix4(t.matrix),m.applyMatrix4(t.matrix)),A.set(g,f),y.set(f,m),v.set(m,g),a(A,o),a(y,o),a(v,o)},Bv.prototype.raycastByIndices=function(){var e=new yt,t=new At,i=new ct,n=new Ke,r=new Ke,o=new Ke,a=new ke,s=new ke,l=new ke,c=new Ke,h=new Ke,d=new Ke,u=new yt;function p(e,t,i,p,g,f,m,A){n.fromBufferAttribute(p,f),r.fromBufferAttribute(p,m),o.fromBufferAttribute(p,A);var y=function(e,t,i,n,r,o,a){var s=e.material;if(null===(Array.isArray(s)?i.intersectTriangle(n,r,o,!1,a):1===s.side?i.intersectTriangle(o,r,n,!0,a):i.intersectTriangle(n,r,o,2!==s.side,a)))return null;d.copy(a),d.applyMatrix4(u);var l=t.ray.origin.distanceTo(d);return t.near>l||l>t.far?null:{distance:l,point:d.clone(),object:e}}(e,t,i,n,r,o,h);if(y){if(g&&g.array&&g.array.length&&(a.fromBufferAttribute(g,f),s.fromBufferAttribute(g,m),l.fromBufferAttribute(g,A),y.uv=function(e,t,i,n,r,o,a){return ri.getBarycoord(e,t,i,n,c),r.multiplyScalar(c.x),o.multiplyScalar(c.y),a.multiplyScalar(c.z),r.add(o).add(a),r.clone()}(h,n,r,o,a,s,l)),p.instanceMatrix){var v=n.clone().applyMatrix4(p.instanceMatrix),C=r.clone().applyMatrix4(p.instanceMatrix),I=o.clone().applyMatrix4(p.instanceMatrix),x={a:f,b:m,c:A,normal:ri.getNormal(v,C,I,new Ke),materialIndex:0};y.face=x}else{var w={a:f,b:m,c:A,normal:ri.getNormal(n,r,o,new Ke),materialIndex:0};y.face=w}y.faceIndex=f}return y}return function(n,r,o,a){var s=this.geometry,l=this.material;if(a){s=this.geometry,l=this.material;if((u=new yt).multiplyMatrices(this.matrixWorld,a),void 0===l)return;if(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(u),!1===n.ray.intersectsSphere(i))return;if(e.copy(u).invert(),t.copy(n.ray).applyMatrix4(e),null!==s.boundingBox&&!1===t.intersectsBox(s.boundingBox))return;var c=null,h=null,d=null,g=null,f=s.index;(I=s.attributes.position).instanceMatrix=a;var m=s.attributes.uv,A=null,y=null;if(null!==f)for(A=0,y=f.count;y>A;A+=3)h=f.getX(A),d=f.getX(A+1),g=f.getX(A+2),(c=p(this,n,t,I,m,h,d,g))&&(c.faceIndex=Math.floor(A/3),r.push(c));else for(A=0,y=I.count;y>A;A+=3)(c=p(this,n,t,I,m,h=A,d=A+1,g=A+2))&&(c.index=h,r.push(c))}else{if(u=this.matrixWorld,void 0===l)return;if(i.copy(this.computeBoundingSphere(o)),i.applyMatrix4(u),!1===n.ray.intersectsSphere(i))return;e.copy(u).invert(),t.copy(n.ray).applyMatrix4(e);var v=this.computeBoundingBox(o);if(!1===t.intersectsBox(v))return;c=null,h=null,d=null,g=null;var C,I=s.attributes.position,x=(m=s.attributes.uv,A=null,o.indexStart),w=o.indexStart+o.indexCount,M=s.getIndex().array;for(A=x,C=w;C>A;A+=3)(c=p(this,n,t,I,m,h=M[A],d=M[A+1],g=M[A+2]))&&(c.faceIndex=Math.floor(A/3),r.push(c))}}}(),Bv.prototype.raycastByIndices2=function(){var e=new yt,t=new At,i=new ct,n=new Ke,r=new Ke,o=new Ke,a=new ke,s=new ke,l=new ke,c=new Ke,h=new Ke,d=new Ke,u=new yt;function p(e,t,i,p,g,f,m,A){n.fromBufferAttribute(p,f),r.fromBufferAttribute(p,m),o.fromBufferAttribute(p,A);var y=function(e,t,i,n,r,o,a){var s=e.material;if(null===(s instanceof Array?i.intersectTriangle(n,r,o,!1,a):1===s.side?i.intersectTriangle(o,r,n,!0,a):i.intersectTriangle(n,r,o,2!==s.side,a)))return null;d.copy(a),d.applyMatrix4(u);var l=t.ray.origin.distanceTo(d);return t.near>l||l>t.far?null:{distance:l,point:d.clone(),object:e}}(e,t,i,n,r,o,h);if(y){if(g&&g.array&&g.array.length&&(a.fromBufferAttribute(g,f),s.fromBufferAttribute(g,m),l.fromBufferAttribute(g,A),y.uv=function(e,t,i,n,r,o,a){return ri.barycoordFromPoint(e,t,i,n,c),r.multiplyScalar(c.x),o.multiplyScalar(c.y),a.multiplyScalar(c.z),r.add(o).add(a),r.clone()}(h,n,r,o,a,s,l)),p.instanceMatrix){var v=n.clone().applyMatrix4(p.instanceMatrix),C=r.clone().applyMatrix4(p.instanceMatrix),I=o.clone().applyMatrix4(p.instanceMatrix),x={a:f,b:m,c:A,normal:ri.getNormal(v,C,I,new Ke),materialIndex:0};y.face=x}else{var w={a:f,b:m,c:A,normal:ri.getNormal(n,r,o,new Ke),materialIndex:0};y.face=w}y.faceIndex=f}return y}return function(n,r,o,a){var s=this.geometry,l=this.material;if(a=Boolean(a),o.isInstanced){if(void 0===o.matrix)return;if(u.multiplyMatrices(this.matrixWorld,o.matrix),void 0===l)return;if(a&&(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(u),!1===n.ray.intersectsSphere(i)))return;if(e.copy(u).invert(),t.copy(n.ray).applyMatrix4(e),a&&null!==s.boundingBox&&!1===t.intersectsBox(s.boundingBox))return;var c=s.index;(I=s.attributes.position).instanceMatrix=o.matrix;var h,d=s.attributes.uv;if(null!==c)for(v=0,h=c.count;h>v;v+=3)m=c.getX(v),A=c.getX(v+1),y=c.getX(v+2),(f=p(this,n,t,I,d,m,A,y))&&(f.faceIndex=Math.floor(v/3),r.push(f));else for(v=0,h=I.count;h>v;v+=3)(f=p(this,n,t,I,d,m=v,A=v+1,y=v+2))&&(f.index=m,r.push(f))}else if(o.matrix?u.multiplyMatrices(this.matrixWorld,o.matrix):u=this.matrixWorld,void 0!==l&&(!a||(i.copy(this.computeBoundingSphere(o)),i.applyMatrix4(u),!1!==n.ray.intersectsSphere(i)))){if(e.copy(u).invert(),t.copy(n.ray).applyMatrix4(e),a){var g=this.computeBoundingBox(o);if(!1===t.intersectsBox(g))return}var f,m,A,y,v,C,I=s.attributes.position,x=(d=s.attributes.uv,o.indexStart),w=o.indexStart+o.indexCount,M=s.getIndex().array;for(v=x,C=w;C>v;v+=3)(f=p(this,n,t,I,d,m=M[v],A=M[v+1],y=M[v+2]))&&(f.faceIndex=Math.floor(v/3),r.push(f))}}}(),Bv.prototype.computeBoundingBox=function(e){var t=new He,i=this.geometry.attributes.position.array,n=null,r=null;return e?(n=e.positionStart,r=e.positionStart+e.positionCount):(n=0,r=i.length),this.setBoundingBoxFromArray(t,i,n,r),t},Bv.prototype.computeBoundingSphere=function(e){var t=new He,i=new Ke,n=this.geometry.attributes.position.array,r=null,o=null;e?(r=e.positionStart,o=e.positionStart+e.positionCount):(r=0,o=n.length);var a=new ct,s=a.center;this.setBoundingBoxFromArray(t,n,r,o),t.getCenter(s);for(var l=0,c=r,h=o;h>c;c+=3)i.x=n[c],i.y=n[c+1],i.z=n[c+2],l=Math.max(l,s.distanceToSquared(i));return a.radius=Math.sqrt(l),a},Bv.prototype.setBoundingBoxFromArray=function(e,t,i,n){for(var r=Number(1/0),o=Number(1/0),a=Number(1/0),s=-1/0,l=-1/0,c=-1/0,h=i,d=n;d>h;h+=3){var u=t[h],p=t[h+1],g=t[h+2];r>u&&(r=u),o>p&&(o=p),a>g&&(a=g),u>s&&(s=u),p>l&&(l=p),g>c&&(c=g)}e.min.set(r,o,a),e.max.set(s,l,c)},Bv.prototype.raycast=function(e,t){var i=this.geometry,n=this.material,r=this.matrixWorld;if(void 0!==n&&(null===i.boundingSphere&&i.computeBoundingSphere(),lv.copy(i.boundingSphere),lv.applyMatrix4(r),!1!==e.ray.intersectsSphere(lv)&&(av.copy(r).invert(),sv.copy(e.ray).applyMatrix4(av),null===i.boundingBox||!1!==sv.intersectsBox(i.boundingBox)))){var o=null;if(i.isBufferGeometry){var a=null,s=null,l=null,c=i.index,h=i.attributes.position,d=i.morphAttributes.position,u=i.morphTargetsRelative,p=i.attributes.uv,g=i.attributes.uv2,f=i.groups,m=i.drawRange,A=null,y=null,v=null,C=null,I=null,x=null;if(null!==c)if(Array.isArray(n)){for(A=0,v=f.length;v>A;A+=1)if(x=n[(I=f[A]).materialIndex])for(y=Math.max(I.start,m.start),C=Math.min(I.start+I.count,m.start+m.count);C>y;y+=3)a=c.getX(y),s=c.getX(y+1),l=c.getX(y+2),(o=Mv(this,x,e,sv,h,d,u,p,g,a,s,l))&&(o.faceIndex=Math.floor(y/3),o.face.materialIndex=I.materialIndex,t.push(o))}else for(A=Math.max(0,m.start),v=Math.min(c.count,m.start+m.count);v>A;A+=3)a=c.getX(A),s=c.getX(A+1),l=c.getX(A+2),(o=Mv(this,n,e,sv,h,d,u,p,g,a,s,l))&&(o.faceIndex=Math.floor(A/3),t.push(o));else if(void 0!==h)if(Array.isArray(n)){for(A=0,v=f.length;v>A;A+=1)if(x=n[(I=f[A]).materialIndex])for(y=Math.max(I.start,m.start),C=Math.min(I.start+I.count,m.start+m.count);C>y;y+=3)(o=Mv(this,x,e,sv,h,d,u,p,g,a=y,s=y+1,l=y+2))&&(o.faceIndex=Math.floor(y/3),o.face.materialIndex=I.materialIndex,t.push(o))}else for(A=Math.max(0,m.start),v=Math.min(h.count,m.start+m.count);v>A;A+=3)(o=Mv(this,n,e,sv,h,d,u,p,g,a=A,s=A+1,l=A+2))&&(o.faceIndex=Math.floor(A/3),t.push(o))}else if(i.isGeometry){var w=null,M=null,E=null,B=Array.isArray(n),S=i.vertices,b=i.faces,k=null,D=i.faceVertexUvs[0];D.length>0&&(k=D);for(var T=0,R=b.length;R>T;T+=1){var U=b[T],F=B?n[U.materialIndex]:n;if(void 0!==F&&(o=wv(this,F,e,sv,w=S[U.a],M=S[U.b],E=S[U.c],Iv))){if(k&&k[T]){var Q=k[T];yv.copy(Q[0]),vv.copy(Q[1]),Cv.copy(Q[2]),o.uv=ri.getUV(Iv,w,M,E,yv,vv,Cv,new ke)}o.face=U,o.faceIndex=T,t.push(o)}}}}},Bv.prototype.updateFixedFrame=function(e,t){var i,n=[].concat(this.material),r=e.scene,o=vu(n);try{for(o.s();!(i=o.n()).done;){var a=i.value;a&&"bos3dStandard"===a.type&&a.update(r,t)}}catch(e){o.e(e)}finally{o.f()}};var Sv=function(e,t){this.model=t,this.loader=e,this.mapNodeInfoByCategory={},this.mapNodeInfoByUserId={},this.mapNodeInfoByComponentId={},this.referencedMeshCache={},this.nodeInfosOnGeometryId=null,this.componentCount=0,this.meshCache={},this.allBones={}};function bv(e,t){var i=null;"node"===e.type?i=new Yt:"bone"===e.type&&(i=new Aa,t.allBones[e.name]=i),i.name=lh.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 n=0;e.children.length>n;n+=1){var r=bv(e.children[n],t);r&&i.add(r)}for(var o=0;e.meshes.length>o;o+=1){var a=e.meshes[o];t.model._getHandler().defaultManager.meshManager._readBufferInfo(t.model,[t.model.modelKey+"_"+e.meshes[o]]);var s=t.model._getHandler().defaultManager.meshManager._makeSkinMesh(t.model,[t.model.modelKey+"_"+e.meshes[o]],(function(e){}));t.meshCache[a]=s,s.name=e.name,i.add(s)}return i}Sv.EnumNodeItemType={SYMBOL:0,MESH:1,TUBE:2,PIPE:3,BOX:4,BOX_M:5,PIPE_M:6,MESH_REF:7,LINE:8},Sv.NodeInfoCategory={INSTANCED:0,STANDARD:1},Sv.EnumDataType={NONE:0,MERGE_DATA:1,LAYER:2,LAYER_SCENE:3,ANIMATION:4},Sv.EnumKeyframeTrackType={position:"position",scale:"scale",quaternion:"quaternion",weights:"weights"},Sv.prototype.destroy=function(){this.mapNodeInfoByCategory=null,this.mapNodeInfoByUserId=null,this.mapNodeInfoByComponentId=null,this.referencedMeshCache=null,this.nodeInfosOnGeometryId=null},Sv.prototype.clearReferencedMeshCache=function(){if(!xd.DEBUG){for(var e in this.referencedMeshCache)delete this.referencedMeshCache[e];this.referencedMeshCache=null}},Sv.prototype.cacheReferencedMeshBufferData=function(e,t){this.referencedMeshCache.geometries||(this.referencedMeshCache.geometries={}),this.referencedMeshCache.geometries[e]=t},Sv.prototype.cacheReferencedMeshBoneBufferData=function(e,t){this.referencedMeshCache.bones||(this.referencedMeshCache.bones={}),this.referencedMeshCache.bones[e]=t},Sv.prototype.cacheReferencedMeshClipsData=function(e){this.referencedMeshCache.clips=e},Sv.prototype.cacheReferencedMeshNodesData=function(e){this.referencedMeshCache.nodes=e},Sv.prototype.cacheReferencedMeshComponentData=function(e,t){this.referencedMeshCache.components||(this.referencedMeshCache.components={}),this.referencedMeshCache.components[e]=t},Sv.prototype.cacheReferencedMeshMaterialData=function(e,t){this.referencedMeshCache.materials||(this.referencedMeshCache.materials={}),this.referencedMeshCache.materials[e]=t},Sv.prototype.getReferencedMeshBufferData=function(){return this.referencedMeshCache.geometries},Sv.prototype.getReferencedMeshBufferById=function(e){return this.referencedMeshCache.geometries?this.referencedMeshCache.geometries[e]:null},Sv.prototype.cacheReferencedMeshMpkIds=function(e,t){this.referencedMeshCache.mpkIds||(this.referencedMeshCache.mpkIds={}),this.referencedMeshCache.mpkIds[e]||(this.referencedMeshCache.mpkIds[e]=[]),this.referencedMeshCache.mpkIds[e].push(t)},Sv.prototype.clearReferencedMeshCacheByMpkIdxs=function(e,t){if(this.referencedMeshCache.mpkIds)for(var i=0,n=e.length;n>i;i+=1){var r=e[i],o=this.referencedMeshCache.mpkIds[r];if(o){for(var a=0,s=o.length;s>a;a+=1)t&&t(o[a]),delete this.referencedMeshCache[o[a]];delete this.referencedMeshCache.mpkIds[r]}}},Sv.prototype.parseItemData=function(e,t){(py(e.dataVersion,"1.0")||void 0===e.dataVersion)&&(Bu.time("升级几何结构"),this._updateV1ToV2(e),e.dataVersion="2.0",Bu.timeEnd("升级几何结构")),this._readMaterialBuffer222(e),e.hasAnimation&&xd.EnableAnimation?(this._parseClips(),this._parseBones()):(this._parseGeo(),this._parseInstanced());var i=this.loader.getSceneReaderArray();if(!i)return Bu.log("Empty scene"),!1;var n=this.referencedMeshCache;if(Bu.time("_readItemData"),!n.geometries||0>=Object.keys(n.geometries).length)return!0;if(t)for(var r=0,o=t.length;o>r;r+=1)n.components[t[r]]&&this._readItemData(i,t[r],t[r],void 0,0);else for(var a in n.components)this._readItemData(i,a,a,void 0,0);return e.hasAnimation&&xd.EnableAnimation&&this._parseNodes(),Bu.timeEnd("_readItemData"),i=null,!0},Sv.prototype._readItemData=function(e,t,i){var n=this.referencedMeshCache.components[t];void 0!==n&&-1!==n.geoId&&(this.model.merged?this._readMeshInfo(e,i,n,null):this._readMeshInfo2(e,i,n,null))},Sv.prototype._readSymbolInfo=function(e,t,i){var n=this.loader.getSymbolReader();if(n){var r=n.header.symbolCount,o=i.toData,a=e.getMatrixInfo(i.matrixId).matrix.clone(),s={matrix:a,ItemId:i.ItemId,originalId:i.originalId,userDataId:i.userDataId,materialId:i.materialId};if(o>=0&&r>o)for(var l=n.getSymbolInfo(o),c=l.itemIndex;l.itemCount>c;c+=1){var h=n.getItemInfo(c);h.type!==Sv.EnumNodeItemType.SYMBOL&&this._readMeshInfo(n,t,h,s)}a=null,s=null,n=null}},Sv.prototype._readMeshInfo=function(e,t,i,n){var r=this.loader,o=this.model.materialManager.materials,a=null,s=null,l=null;if(null===n?(a=i.userDataId,s=i.originalId,l=i.materialId||i.matId):(a=n.userDataId,s=n.originalId,l=n.materialId>-1?n.materialId:i.materialId),i.materials||(i.materials=[]),i.materials.length>0)for(var c=0;i.materials.length>c;c+=1){var h=null;if(h=this._getMeshNodeAttr(e,i,i.materials.length>1,c),!o[l=i.materials[c]]){var d=Jy[i.type]?Jy[i.type].color:void 0;d||(Bu.log("Material not found for type: ",i.type),d=Jy.DEFAULT.color),d||(Bu.log("Default material not found for type: ",i.type),d=[1,1,1,1]);var u=new pi(d[0],d[1],d[2]),p=l||u.getHexString()+"_"+d[3],g=o[p];g||(Bu.warn("缺少材质 "+l),g=new il({color:u}),1>d[3]&&(g.transparent=!0,g.opacity=d[3]),g.side=2,o[p]=g)}if(o[l].aoMap){var f=this.getReferencedMeshBufferById(h.geometryId);f&&(f.uv2=f.uv)}if(!h)return;var m=r.getUserDataReader(),A=m?m.getUserData(a):null,y=i.key;h.type=i.type,h.userId=y,h.name=i.name,h.userDataId=a,h.originalId=s,h.materialId=l,h.originMId=l,h.userData=A,h.categoryId=0,h.componentId=y,h.familyName=i.familyName,h.familySymbol=i.familySymbol,h.instanceOrNot=!(!xd.Instance||!this.instancedComponent[y]),h.state=Nd.Visible,h.material=null,this._classifyNodeInfo(h),h=null}else{var v=null,C=Jy[i.type]?Jy[i.type].color:void 0;C||(Bu.log("Material not found for type: ",i.type),C=Jy.DEFAULT.color),C||(Bu.log("Default material not found for type: ",i.type),C=[1,1,1,1]);var I=new pi(C[0],C[1],C[2]),x=I.getHexString()+"_"+C[3],w=o[x];if(w||(w=new il({color:I}),1>C[3]&&(w.transparent=!0,w.opacity=C[3]),w.side=2,o[x]=w),i.materials.push(x),v=this._getMeshNodeAttr(e,i,!1,0),l=i.materials[0],!v)return;var M=i.key;v.type=i.type,v.userId=M,v.name=i.name,v.originalId=s,v.materialId=l,v.originMId=l,v.userData={},v.categoryId=0,v.componentId=M,v.familyName=i.familyName,v.familySymbol=i.familySymbol,v.instanceOrNot=!(!xd.Instance||!this.instancedComponent[M]),v.state=Nd.Visible,v.material=null,this._classifyNodeInfo(v),v=null}},Sv.prototype._readMeshInfo2=function(e,t,i,n){var r=this.loader,o=null,a=null,s=null;null===n?(o=i.userDataId,a=i.originalId,s=i.materials||i.matId):(o=n.userDataId,a=n.originalId,s=n.materialId>-1?n.materialId:i.materialId);var l=null;if(l=this._getMeshNodeAttr(e,i,!1)){var c=r.getUserDataReader(),h=c?c.getUserData(o):null,d=i.key;l.type=i.type,l.userId=d,l.name=i.name,l.originalId=a,l.materialId=s,l.originMId=s,l.userData=h,l.categoryId=0,l.componentId=d,l.familyName=i.familyName,l.familySymbol=i.familySymbol,l.state=Nd.Visible,l.material=null,this._classifyNodeInfo(l),l=null}},Sv.prototype._getMeshNodeAttrOfPipe=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone(),r=wp.TemporaryMatrix;r.copy(n);var o=e.getGeomPipeInfo(t.toData),a=o.startPt,s=o.endPt,l=new Ke;l.subVectors(s,a);var c=l.length();l.normalize();var h=o.radius;h>1||(h=100);var d=new Ke(0,1,0),u=new Ke(h,c,h),p=(new Ge).setFromUnitVectors(d,l),g=a.clone().addScaledVector(l,.5*c),f=(new yt).compose(g,p,u);return n.multiply(f),i&&(n.multiplyMatrices(i.matrix,n),r.multiplyMatrices(i.matrix,r)),o=null,{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_pipe",geometryId:"pipe",boundingBox:t.boundingBox.clone().applyMatrix4(r),matrix:n,finalState:!0}},Sv.prototype._getMeshNodeAttrOfTube=function(e,t,i){var n=this._getMeshNodeAttrOfPipe(e,t,i);return n.nodeId+="_tube",n.geometryId="tube",n},Sv.prototype._getMeshNodeAttrOfBox=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone(),r=wp.TemporaryMatrix;r.copy(n);var o=t.boundingBox,a=o.getSize(),s=o.getCenter(),l=(new yt).scale(new Ke(a.x,a.y,a.z));return l.setPosition(s),n.multiply(l),i&&(n.multiplyMatrices(i.matrix,n),r.multiplyMatrices(i.matrix,r)),{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_box",geometryId:"box",boundingBox:t.boundingBox.clone().applyMatrix4(r),matrix:n,finalState:!0}},Sv.prototype._getMeshNodeAttrOfBoxM=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone();return i&&n.multiplyMatrices(i.matrix,n),{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_boxM",geometryId:"boxM",boundingBox:t.boundingBox.clone().applyMatrix4(n),matrix:n,uvArrayBuffer:e.getGeomBoxUvInfo(t.toData),finalState:!0}},Sv.prototype._getMeshNodeAttrOfPipeM=function(e,t,i){var n=e.getMatrixInfo(t.matrixId).matrix.clone();return i&&n.multiplyMatrices(i.matrix,n),{nodeId:(i?i.ItemId+"_"+t.ItemId:t.ItemId)+"_pipeM",geometryId:"pipeM",boundingBox:t.boundingBox.clone().applyMatrix4(n),matrix:n,uvArrayBuffer:e.getGeomPipeUvInfo(t.toData),finalState:!0}},Sv.prototype._getMeshNodeAttrOfMeshRef=function(e,t,i){return{nodeId:"refMesh|"+(i?i.ItemId+"_"+t.ItemId:t.ItemId),geometryId:t.toData,boundingBox:t.boundingBox.clone(),matrix:e.getMatrixInfo(t.matrixId).matrix.clone(),matrixParent:i?i.matrix:null,finalState:!1,transformed:!1,shared:!0}},Sv.prototype._getMeshNodeAttr=function(e,t,i,n){var r=new yt;r.fromArray(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);var o=i?t.key+"_"+n:t.key,a=i?t.geoId+"_"+n:t.geoId;if(-1!==a){var s=new He,l=this.getReferencedMeshBufferById(t.geoId);return l&&l.position?(s=by.getBoundingBoxByBuffer(l.position)).applyMatrix4(r):Bu.warn("no position "),{nodeId:o,guid:t.guid,geometryId:a,originalGeometryId:t.geoId,matrix:r,boundingBox:s,model:this.model}}},Sv.prototype._getLineNodeAttr=function(e,t,i){var n=null,r=null;return-1!==t.matrixId?(r=!1,n=e.getMatrixInfo(t.matrixId).matrix.clone()):(r=!0,n=new yt),{nodeId:i?"line-"+i.ItemId+"-"+t.ItemId:"line-"+t.ItemId,geometryId:"line-"+t.toData,boundingBox:t.boundingBox.clone(),matrix:n,matrixParent:i?i.matrix:null,finalState:!1,transformed:r}},Sv.prototype._classifyNodeInfo=function(e){this._cacheNodeInfoByComponentId(e),this._cacheNodeInfoByUserId(e),this._cacheNodeInfoByCategory(e)},Sv.prototype._cacheNodeInfoByComponentId=function(e){void 0===this.mapNodeInfoByComponentId[e.componentId]&&(this.mapNodeInfoByComponentId[e.componentId]=[]),this.mapNodeInfoByComponentId[e.componentId].push(e)},Sv.prototype._clearNodeInfoCacheWithComponentId=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByComponentId[e[t]];else this.mapNodeInfoByComponentId={}},Sv.prototype._clearNodeInfoCacheWithUserId=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByUserId[e[t]];else this.mapNodeInfoByUserId={}},Sv.prototype._clearNodeInfoCacheWithCategory=function(e){if(e)for(var t=this.mapNodeInfoByCategory[Sv.NodeInfoCategory.INSTANCED],i=this.mapNodeInfoByCategory[Sv.NodeInfoCategory.STANDARD],n=0,r=e.length;r>n;n+=1)t&&delete t[e[n]],i&&delete i[e[n]];else this.mapNodeInfoByCategory={}},Sv.prototype.clearNodeInfoCache=function(){this._clearNodeInfoCacheWithComponentId(),this._clearNodeInfoCacheWithUserId(),this._clearNodeInfoCacheWithCategory()},Sv.prototype.clearNodeInfoCacheByComponentsKey=function(e){this._clearNodeInfoCacheWithComponentId(e),this._clearNodeInfoCacheWithUserId(e),this._clearNodeInfoCacheWithCategory(e)},Sv.prototype.getNodeInfosWithComponentId=function(){return this.mapNodeInfoByComponentId},Sv.prototype.getNodeInfosByComponentId=function(e){return this.mapNodeInfoByComponentId[e]},Sv.prototype._cacheNodeInfoByUserId=function(e){void 0===this.mapNodeInfoByUserId[e.userId]&&(this.mapNodeInfoByUserId[e.userId]=[]),this.mapNodeInfoByUserId[e.userId].push(e)},Sv.prototype.getNodeInfosByUserId=function(e){return this.mapNodeInfoByUserId[e]},Sv.prototype.getNodeInfosWithUserId=function(){return this.mapNodeInfoByUserId},Sv.prototype._cacheNodeInfoByCategory=function(e){var t=null;void 0===this.mapNodeInfoByCategory[t=e.instanceOrNot?Sv.NodeInfoCategory.INSTANCED:Sv.NodeInfoCategory.STANDARD]&&(this.mapNodeInfoByCategory[t]={}),void 0===this.mapNodeInfoByCategory[t][e.userId]&&(this.mapNodeInfoByCategory[t][e.userId]=[]),this.mapNodeInfoByCategory[t][e.userId].push(e)},Sv.prototype.getNodeInfosByCategory=function(e){return this.mapNodeInfoByCategory[e]},Sv.prototype.getStandardNodeInfos=function(){return this.getNodeInfosByCategory(Sv.NodeInfoCategory.STANDARD)},Sv.prototype.getInstancedNodeInfos=function(){return this.getNodeInfosByCategory(Sv.NodeInfoCategory.INSTANCED)},Sv.prototype.getStandardUserIds=function(){return this.getStandardNodeInfos()?Object.keys(this.getStandardNodeInfos()):null},Sv.prototype.getInstancedUserIds=function(){return this.getInstancedNodeInfos()?Object.keys(this.getInstancedNodeInfos()):null},Sv.prototype.traverseNodeInfos=function(e){if(e)for(var t in this.mapNodeInfoByComponentId)for(var i=this.mapNodeInfoByComponentId[t],n=0,r=i.length;r>n;n+=1)e(t,i[n])},Sv.prototype.getUserIdsByCategory=function(e,t){var i=[],n=null;if(n=t===Sv.NodeInfoCategory.INSTANCED?this.getInstancedNodeInfos():this.getStandardNodeInfos())for(var r=0,o=e.length;o>r;r+=1)n[e[r]]&&i.push(e[r]);return i},Sv.prototype.getInstancedUserIdsByCategory=function(e){return this.getUserIdsByCategory(e,Sv.NodeInfoCategory.INSTANCED)},Sv.prototype.getStandardUserIdsByCategory=function(e){return this.getUserIdsByCategory(e,Sv.NodeInfoCategory.STANDARD)},Sv.prototype.getNodeInfosOnBMpkGeometryId=function(){return this.nodeInfosOnGeometryId||this.cacheNodeInfosOnGeometryId(),this.nodeInfosOnGeometryId},Sv.prototype.cacheNodeInfosOnGeometryId=function(){var e=this.getStandardNodeInfos();for(var t in this.nodeInfosOnGeometryId={},e)for(var i=e[t],n=0,r=i.length;r>n;n+=1){var o=this.loader.convertToBMpkGeometryId(i[n].geometryId);void 0!==o&&(i[n].geometryId=o),this.nodeInfosOnGeometryId[i[n].geometryId]||(this.nodeInfosOnGeometryId[i[n].geometryId]=[]),this.nodeInfosOnGeometryId[i[n].geometryId].push(i[n])}},Sv.prototype.updateNodeInfosByIds=function(e){},Sv.prototype._isRegularShape=function(e){var t=e.type===Sv.EnumNodeItemType.TUBE||e.type===Sv.EnumNodeItemType.PIPE||e.type===Sv.EnumNodeItemType.BOX||e.type===Sv.EnumNodeItemType.BOX_M||e.type===Sv.EnumNodeItemType.PIPE_M;return xd.SharedMeshInstanceEnable&&(t=t||e.type===Sv.EnumNodeItemType.MESH_REF),t},Sv.prototype.getOctreeRoots=function(e){var t=this.loader,i=t.getOctreeRootNodeOuter();i&&e.push(i);var n=t.getOctreeRootNodeInner();n&&e.push(n)},Sv.prototype.getComponentCount=function(){return this.componentCount},Sv.prototype._parseInstanced=function(){this.instancedComponent={};var e={},t={},i=this.referencedMeshCache;for(var n in i.components)if(i.components.hasOwnProperty(n)){var r=i.components[n],o=r.geoId;if(-1===o){Bu.debug("实体没有几何");continue}if(void 0===e[o]&&(e[o]=[],t[o]={}),e[o].push({componentId:n}),!r.materials){r.materials=[];continue}for(var a=0;r.materials.length>a;a+=1){var s=r.materials[a];t[o][s]||(t[o][s]=[]),t[o][s].push({componentId:n,matrix:r.matrix})}}for(var l in e)if(e.hasOwnProperty(l))if(1<e[l].length)for(a=0;e[l].length>a;a+=1)this.instancedComponent[e[l][a].componentId]=!0;else delete e[l],delete t[l]},Sv.prototype._parseBones=function(){var e=this.referencedMeshCache;for(var t in e._offsetMatrix||(e._offsetMatrix={}),e.geometries){var i=e.geometries[t];i.position.length!==i.normal.length&&(i.normal=i.normal.length===i.index.length?this._computeVertexNormalsFromFaceNormals(i.normal,i.index,i.position.length):this._computeVertexNormalsFromIndex(i.index,i.position));var n=e.bones[t];if(n){i.skinIndex=n.skinIndex,i.skinWeight=n.skinWeight;var r=n.name;n.offsetMatrix.length/16!==r.length&&Bu.debug("bones的name数量与Matrix数量不符");for(var o=0;r.length>o;o+=1)e._offsetMatrix[r[o]]=(new yt).fromArray(n.offsetMatrix,16*o)}}},Sv.prototype._parseClips=function(){for(var e=this.referencedMeshCache.clips,t=[],i=0,n=e.length;n>i;i+=1){for(var r=[],o=e[i],a=0,s=o.tracks.length;s>a;a+=1){var l=o.tracks[a],c=null;switch(l.type){case Sv.EnumKeyframeTrackType.weights:c=gl;break;case Sv.EnumKeyframeTrackType.quaternion:c=ml;break;case Sv.EnumKeyframeTrackType.position:case Sv.EnumKeyframeTrackType.scale:default:c=yl}if(0===o.ticksPerSec){o.ticksPerSec=1e3;for(var h=0;l.times.length>h;h+=1)l.times[h]/=o.ticksPerSec}var d=new c(lh.sanitizeNodeName(l.name)+"."+l.type,l.times,l.values,2301);r.push(d)}var u=new vl(void 0!==o.name?o.name:"animation_"+i,o.duration/o.ticksPerSec,r);t.push(u)}this.model.animations=t},Sv.prototype._parseNodes=function(){var e=this.referencedMeshCache;e.allBones=[],e.offsetMatrix=[];var t=bv(e.nodes,this);for(var i in e.geometries){var n=this.meshCache[i];if(n&&n.isSkinnedMesh){for(var r=[],o=[],a=0;e.bones[i].name.length>a;a+=1){var s=e.bones[i].name[a],l=e._offsetMatrix[s],c=this.allBones[s];l&&c&&(r.push(c),o.push(l))}var h=new Ia(r,o);n.bind(h,n.matrixWorld)}}this.model.nodes=t,this.model.manager.getScene().onBeforeRender=function(e,t,i,n){t.updateMatrixWorld(!0)},this.model.group.add(t),(h=new bh(t)).visible=!1,this.model.skeleton=h,this.model.group.add(h),this.model.mixer=new dh(t),this.model.actions=[];for(var d=0;this.model.animations.length>d;d+=1){var u=this.model.mixer.clipAction(this.model.animations[d]);this.model.actions.push(u)}},Sv.prototype._parseGeo=function(){Bu.time("处理几何:按材质拆分构件");var e=this.referencedMeshCache;for(var t in e.geometries){var i=e.geometries[t];if(i.position.length!==i.normal.length&&(i.normal=i.normal.length===i.index.length?this._computeVertexNormalsFromFaceNormals(i.normal,i.index,i.position.length):this._computeVertexNormalsFromIndex(i.index,i.position)),void 0!==i.materialIndex){for(var n=void 0,r=[],o=null,a=0;i.materialIndex.length>a;a+=1){var s=i.materialIndex[a];s!==o&&(o=s,void 0!==n&&(n.count=3*a-n.start,r.push(n)),n={start:3*a,materialIndex:o})}if(void 0!==n&&(n.count=3*i.materialIndex.length-n.start,r.push(n)),1===r.length){e.geometries[t+"_"+r[0].materialIndex]=i}else{for(var l={},c=0;r.length>c;c+=1){var h=r[c];void 0===l[h.materialIndex]&&(l[h.materialIndex]={index:[],count:0}),l[h.materialIndex].index.push({start:h.start,count:h.count}),l[h.materialIndex].count+=h.count}var d=function(){p={},g=l[u];for(var n=0,r=new Uint32Array(g.count),o=0;g.index.length>o;o+=1){var a=g.index[o],s=i.index.slice(a.start,a.start+a.count);r.set(s,n),n+=a.count}f={},r.forEach((function(e,t){f[e]||(f[e]=[]),f[e].push(t)}));var c=Object.keys(f).length;m=new Float32Array(3*c),A=new Float32Array(3*c),y=new Float32Array(2*c),v=0,C=0;var h=0;for(var d in f)if(f.hasOwnProperty(d)){d=Number(d);var I=i.position.slice(3*d,3*d+3),x=i.normal.slice(3*d,3*d+3);if(i.uv.length>0){var w=i.uv.slice(2*d,2*d+2);y.set(w,C),C+=2}m.set(I,v),A.set(x,v),v+=3,f[d].forEach((function(e){r[e]=h})),h+=1}p.index=r,p.position=m,p.normal=A,i.uv&&i.uv.length>0&&(p.uv=y),e.geometries[t+"_"+u]=p};for(var u in l){var p,g,f,m,A,y,v,C;d()}}}}Bu.timeEnd("处理几何:按材质拆分构件")},Sv.prototype._computeVertexNormalsFromFaceNormals=function(e,t,i){for(var n=new Float32Array(i),r=0,o=0,a=0,s=0,l=0,c=0,h=0;e.length>h;h+=3)l=e[h+1],c=e[h+2],o=3*t[h+1],a=3*t[h+2],n[r=3*t[h]]=s=e[h],n[r+1]=l,n[r+2]=c,n[o]=s,n[o+1]=l,n[o+2]=c,n[a]=s,n[a+1]=l,n[a+2]=c;return n},Sv.prototype._computeVertexNormalsFromIndex=function(e,t){var i=new Float32Array(t.length);if(t){var n=0,r=0,o=0,a=new Ke,s=new Ke,l=new Ke,c=new Ke,h=new Ke;if(e)for(var d=e,u=0;d.length>u;u+=3)r=3*d[u+1],o=3*d[u+2],a.fromArray(t,n=3*d[u]),s.fromArray(t,r),l.fromArray(t,o),c.subVectors(l,s),h.subVectors(a,s),c.cross(h),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,i[o]+=c.x,i[o+1]+=c.y,i[o+2]+=c.z;else for(var p=0,g=t.length;g>p;p+=9)a.fromArray(t,p),s.fromArray(t,p+3),l.fromArray(t,p+6),c.subVectors(l,s),h.subVectors(a,s),c.cross(h),i[p]=c.x,i[p+1]=c.y,i[p+2]=c.z,i[p+3]=c.x,i[p+4]=c.y,i[p+5]=c.z,i[p+6]=c.x,i[p+7]=c.y,i[p+8]=c.z}return i},Sv.prototype._readMaterialBuffer222=function(e){var t=e.materialManager,i=t.materials,n=t.textures,r=this.referencedMeshCache.materials;for(var o in r){var a=r[o];if(!a)return null;var s=new il;if(s.name=a.name||o,s.key=o,a.emissive&&s.emissive&&(1===a.emissive[0]&&1===a.emissive[1]&&1===a.emissive[2]||s.emissive.setRGB(a.emissive[0],a.emissive[1],a.emissive[2])),a.color?s.color.setRGB(a.color[0],a.color[1],a.color[2]):s.color.setRGB(.72,.72,.72),a.tint&&s.color.setRGB(a.tint[0],a.tint[1],a.tint[2]),a.specular&&s.specular&&s.specular.setRGB(a.specular[0],a.specular[1],a.specular[2]),a.map)if(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){var l=a.mapOffsetX+"_"+a.mapOffsetY+"_"+a.mapScaleX+"_"+a.mapScaleY+"_"+a.mapWAngle+"_"+a.map;if(n[l])s.map=n[l];else(p=new Fe).wrapS=p.wrapT=g,p.image=n[a.map].image?n[a.map].image:null,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,n[l]=p,s.map=p)}else s.map=n[a.map]?n[a.map]:null;if(a.aoMap)if(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){var c=a.aoMapOffsetX+"_"+a.aoMapOffsetY+"_"+a.aoMapScaleX+"_"+a.aoMapScaleY+"_"+a.aoMapWAngle+"_"+a.aoMap;if(n[c])s.aoMap=n[c];else(p=new Fe).wrapS=p.wrapT=g,p.image=n[a.aoMap]&&n[a.aoMap].image?n[a.aoMap].image:null,p.needsUpdate=!0,p.image&&(p.offset.x=a.aoMapOffsetX?a.aoMapOffsetX:0,p.offset.y=a.aoMapOffsetY?a.aoMapOffsetY:0,p.repeat.x=a.aoMapScaleX?a.aoMapScaleX:1,p.repeat.y=a.aoMapScaleY?a.aoMapScaleY:1,p.rotation=a.aoMapWAngle?a.aoMapWAngle:0,n[c]=p,s.aoMap=p)}else s.aoMap=n[a.aoMap]?n[a.aoMap]:null;if(void 0!==a.aoMapIntensity&&(s.aoMapIntensity=a.aoMapIntensity),a.envMap)if(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){var h=a.envMapOffsetX+"_"+a.envMapOffsetY+"_"+a.envMapScaleX+"_"+a.envMapScaleY+"_"+a.envMapWAngle+"_"+a.envMap;if(n[h])s.envMap=n[h];else(p=new Fe).wrapS=p.wrapT=g,p.image=n[a.envMap].image?n[a.envMap].image:null,p.needsUpdate=!0,p.image&&(p.offset.x=a.envMapOffsetX?a.envMapOffsetX:0,p.offset.y=a.envMapOffsetY?a.envMapOffsetY:0,p.repeat.x=a.envMapScaleX?a.envMapScaleX:1,p.repeat.y=a.envMapScaleY?a.envMapScaleY:1,p.rotation=a.envMapWAngle?a.envMapWAngle:0,n[h]=p,s.envMap=p)}else s.envMap=n[a.envMap]?n[a.envMap]:null;if(a.lightMap)if(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){var d=a.lightMapOffsetX+"_"+a.lightMapOffsetY+"_"+a.lightMapScaleX+"_"+a.lightMapScaleY+"_"+a.lightMapWAngle+"_"+a.lightMap;if(n[d])s.lightMap=n[d];else(p=new Fe).wrapS=p.wrapT=g,p.image=n[a.lightMap].image?n[a.lightMap].image:null,p.needsUpdate=!0,p.image&&(p.offset.x=a.lightMapOffsetX?a.lightMapOffsetX:0,p.offset.y=a.lightMapOffsetY?a.lightMapOffsetY:0,p.repeat.x=a.lightMapScaleX?a.lightMapScaleX:1,p.repeat.y=a.lightMapScaleY?a.lightMapScaleY:1,p.rotation=a.lightMapWAngle?a.lightMapWAngle:0,n[d]=p,s.lightMap=p)}else s.lightMap=n[a.lightMap]?n[a.lightMap]:null;if(void 0!==a.lightMapIntensity&&(s.lightMapIntensity=a.lightMapIntensity),a.emissiveMap)if(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){var u=a.emissiveMapOffsetX+"_"+a.emissiveMapOffsetY+"_"+a.emissiveMapScaleX+"_"+a.emissiveMapScaleY+"_"+a.emissiveMapWAngle+"_"+a.emissiveMap;if(n[u])s.emissiveMap=n[u];else(p=new Fe).wrapS=p.wrapT=g,p.image=n[a.emissiveMap].image?n[a.emissiveMap].image:null,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,n[u]=p,s.emissiveMap=p)}else s.emissiveMap=n[a.emissiveMap]?n[a.emissiveMap]:null;if(void 0!==a.emissiveIntensity&&(s.emissiveIntensity=a.emissiveIntensity),a.specularMap)if(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){var p,f=a.specularMapOffsetX+"_"+a.specularMapOffsetY+"_"+a.specularMapScaleX+"_"+a.specularMapScaleY+"_"+a.specularMapWAngle+"_"+a.specularMap;if(n[f])s.specularMap=n[f];else(p=new Fe).wrapS=p.wrapT=g,p.image=n[a.specularMap].image?n[a.specularMap].image:null,p.needsUpdate=!0,p.image&&(p.offset.x=a.specularMapOffsetX?a.specularMapOffsetX:0,p.offset.y=a.specularMapOffsetY?a.specularMapOffsetY:0,p.repeat.x=a.specularMapScaleX?a.specularMapScaleX:1,p.repeat.y=a.specularMapScaleY?a.specularMapScaleY:1,p.rotation=a.specularMapWAngle?a.specularMapWAngle:0,n[f]=p,s.specularMap=p)}else s.specularMap=n[a.specularMap]?n[a.specularMap]:null;void 0!==a.shininess&&(s.shininess=a.shininess),void 0!==a.opacity&&(s.opacity=a.opacity,1>a.opacity&&(s.transparent=!0),a.opacity>0||(s.opacity=.1)),s.side=2,i[o]=s}},Sv.prototype._updateV1ToV2=function(e){var t=this.referencedMeshCache.components,i=this.referencedMeshCache.geometries,n=this.referencedMeshCache.materials;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r],a=o.matId,s=i[o.geoId];if(o.materials)continue;if(o.materials=[],!s)continue;var l=n[a];if(!l)continue;var c=this._updateMaterialV1ToV2(a,l);if(c)for(var h in s.materialIndex=c.materialIndex,o.materials=c.materialId,c.materials)c.materials.hasOwnProperty(h)&&(this.referencedMeshCache.materials[h]=c.materials[h])}},Sv.prototype._updateMaterialV1ToV2=function(e,t){var i={},n=[],r={};if(!t)return null;for(var o=t.color,a=t.colorIndex,s=t.texture,l=t.textureIndex,c=0;o.length>c;c+=4){var h={};h.color=[o[c],o[c+1],o[c+2]],h.opacity=Math.floor(100*o[c+3])/100,h.transparent=1>o[c+3];var d=(255*h.color[0]<<16^255*h.color[1]<<8^255*h.color[2]<<0)+"_"+h.opacity;r[d]=h,n.push(d)}if(0!==s.length&&a.length===l.length)for(var u=-1,p=0;l.length>p;p+=1){if(u!==a[p])if(u=a[p],-1!==l[p])r[n[a[p]]].map=s[l[p]]}return i.materials=r,i.materialId=n,i.materialIndex=a,i},Sv.prototype.addMeshToInfoMap=function(e,t,i,n){var r=this.getNodeInfosByComponentId(e);Array.isArray(r)&&r.forEach((function(e){e.nodeId===t&&(e.mesh=i,e.index=n)}))};var kv=function(){this.geometries={}};kv.prototype.dispose=function(){this.disposeGeometries(),this.geometries={}},kv.prototype.destory=function(){this.dispose()},kv.prototype.disposeGeometries=function(){for(var e in this.geometries)this.disposeGeometry(e)},kv.prototype.disposeGeometry=function(e){var t=this.geometries[e];if(t){if(Array.isArray(t))for(var i=0,n=t.length;n>i;i+=1)t[i].dispose();else t.dispose();delete this.geometries[e]}},kv.prototype._hasGeometry=function(e){return!!this.geometries[e]},kv.prototype._cacheGeometry=function(e,t){void 0===this.geometries[e]&&(this.geometries[e]=t)},kv.prototype.getNodeIdxMapByUserId=function(e){},kv.prototype.getGeometryById=function(e){return this.geometries[e]},kv.prototype.getGeometryByNodeInfo=function(e,t){return this._hasGeometry(t.geometryId)?this.getGeometryById(t.geometryId):this._createGeometryByNodeInfo(e,t)},kv.prototype._createGeometryByNodeInfo=function(e,t){return this._createGeometry(t.type,t.geometryId,e.getModelDescriptor().getReferencedMeshBufferById(t.geometryId))},kv.prototype._createGeometry=function(e,t,i){if(this._hasGeometry(t))return this.getGeometryById(t);var n=this._createBufferGeometry(e,i);return n?(n.key=t,this._cacheGeometry(t,n),n):null},kv.prototype._createBufferGeometry=function(e,t){var i=Sv.EnumNodeItemType,n=null;switch(1){case i.MESH:case i.MESH_REF:if(!t)return null;if((n=new Ni).setIndex(new Ai(t.index,1)),n.setAttribute("position",new Ai(t.position,3)),t.normal&&t.normal.length>0?n.setAttribute("normal",new Ai(t.normal,3)):n.computeVertexNormals(),t.uv&&t.uv.length>0&&n.setAttribute("uv",new Ai(t.uv,2)),t.uv2&&t.uv2.length>0&&n.setAttribute("uv2",new Ai(t.uv2,2)),t.skinIndex&&t.skinIndex.length>0?n.setAttribute("skinIndex",new Ai(t.skinIndex,4)):Bu.debug("skinIndex 长度为0"),t.skinWeight&&t.skinWeight.length>0?n.setAttribute("skinWeight",new Ai(t.skinWeight,4)):Bu.debug("skinWeight 长度为0"),void 0!==t.materialIndex){for(var r=null,o=[],a=void 0,s=0;t.materialIndex.length>s;s+=1){var l=t.materialIndex[s];l!==a&&(a=l,null!=r&&(r.count=3*s-r.start,o.push(r)),r={start:3*s,materialIndex:a})}null!=r&&(r.count=3*t.materialIndex.length-r.start,o.push(r)),n.groups=o}break;case i.TUBE:case i.PIPE:n=by.UnitCylinderInstance;break;case i.BOX:n=by.UnitBoxInstance;break;case i.BOX_M:n=by.getUnitTextureBox();break;case i.PIPE_M:n=by.getUnitTextureCylinder();break;case i.LINE:if(!t)return null;(n=new Ni).setIndex(new Ai(t.I,1)),n.setAttribute("position",new Ai(t.P,3))}return n},kv.prototype.createBufferByBufferDataWithUV2=function(e,t,i){var n=this.createBufferByBufferData(t,i);if(!n)return null;if(!e.lightmap)return n;var r=[],o=n.index,a=e.getLoader().getUV2ById(t.itemIdUV2,o.length);a&&(t.lightmapIdx=a.lightmapIdx,r=a.uv2);for(var s=n.position,l=n.normal,c=n.uv,h=[],d=[],u=[],p=0;o.length>p;p+=1){var g=o[p];h.push(s[3*g]),h.push(s[3*g+1]),h.push(s[3*g+2]),l&&(d.push(l[3*g]),d.push(l[3*g+1]),d.push(l[3*g+2])),c&&(u.push(c[2*g]),u.push(c[2*g+1])),o[p]=p}return s=null,l=null,c=null,n.uv2=r,n.position=h,n.normal=d,n.uv=u,n},kv.prototype.createBufferByBufferData=function(e,t){this.cachedComponentGeoBuffer||(this.cachedComponentGeoBuffer={});var i=null,n=null,r=null,o=null,a=null,s=Sv.EnumNodeItemType,l=null;switch(1){case s.MESH:case s.MESH_REF:if(!t||!t.buffer)return Bu.debug("缺少几何buffer"),null;var c=t.buffer;if(n=c.index,e.geometryId===e.originalGeometryId?(i=c.position,r=c.normal,o=c.uv?c.uv:null,a=c.uv2?c.uv2:null):(i=Float32Array.from(c.position),r=Float32Array.from(c.normal),o=c.uv?Float32Array.from(c.uv):null,a=c.uv2?Float32Array.from(c.uv2):null),c=null,t.indexInfo){n=n.slice(t.indexInfo.indexStart,t.indexInfo.indexStart+t.indexInfo.indexCount),i=i.slice(t.indexInfo.positionStart,t.indexInfo.positionStart+t.indexInfo.positionCount),r=r.slice(t.indexInfo.positionStart,t.indexInfo.positionStart+t.indexInfo.positionCount),o=o?o.slice(t.indexInfo.uvStart,t.indexInfo.uvStart+t.indexInfo.uvCount):null,a=a?a.slice(t.indexInfo.uvStart,t.indexInfo.uvStart+t.indexInfo.uvCount):null;var h=t.indexInfo.positionStart/3;n.forEach((function(e,t,i){i[t]-=h}))}if(wp.isMirror(e.matrix.elements))for(var d=0,u=n.length;u>d;d+=3){var p=n[d+1];n[d+1]=n[d+2],n[d+2]=p}break;case s.BOX:case s.PIPE:l=by.UnitCylinderInstance,n=Uint32Array.from(l.index.array),i=Float32Array.from(l.attributes.position.array),r=Float32Array.from(l.attributes.normal.array),l=null;break;case s.TUBE:case s.BOX_M:case s.PIPE_M:l=e.type===s.BOX_M||e.type===s.BOX?by.getBoxMBuffer(e.uvArrayBuffer):by.getPipeMBuffer(e.uvArrayBuffer),n=Uint32Array.from(l.index),i=Float32Array.from(l.vertex),r=Float32Array.from(l.normal),l.uv&&(o=Float32Array.from(l.uv),delete l.uv),l=null;break;case s.LINE:if(!t||!t.buffer)return null;if(t.isDataView?(n=Uint32Array.from(t.buffer.I),i=Float32Array.from(t.buffer.P),r=null,o=null):(n=new Uint32Array(t.buffer.I),i=new Float32Array(t.buffer.P),r=null,o=null),t.indexInfo){n=n.slice(t.indexInfo.indexStart,t.indexInfo.indexStart+t.indexInfo.indexCount),i=i.slice(t.indexInfo.positionStart,t.indexInfo.positionStart+t.indexInfo.positionCount);h=t.indexInfo.positionStart/3;n.forEach((function(e,t,i){i[t]-=h}))}break;default:Bu.log("error data!")}if(!this.cachedComponentGeoBuffer[e.geometryId]||e.geometryId!==e.originalGeometryId){var g=e.matrix;if(by.applyMatrix4ToBuffer(g,i),r){var f=new De;f.getNormalMatrix(g),by.applyMatrix3ToBuffer(f,r),by.normalizeBuffer(r)}this.cachedComponentGeoBuffer[e.geometryId]=!0}return e.uv=!!o,{index:n,position:i,normal:r,uv:o,uv2:a}};var Dv=function(e){return kv.call(this),this.manager=e,this._maxIndiceseNum=0,this._materialList=[],this.mapMaterialIdToMergedNode={},this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.blinkMaterials=[],this.mapDestroyedBufferKey={},this};function Tv(e,t,i,n){for(var r=e.getAttribute("position").array,o=t;i>o;o+=3)r[o]+=n.x,r[o+1]+=n.y,r[o+2]+=n.z;e.getAttribute("position").needsUpdate=!0}(Dv.prototype=Object.create(kv.prototype)).destroy=function(){this.dispose(),this.clearData(),this.mapMaterialIdToMergedNode={},this.manager=null,this._materialList=[],this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.blinkMaterials=[],this.mapDestroyedBufferKey={}},Dv.prototype.clearData=function(){this.bufferDestroyed=!1,this.clearAllNodeBuffer(),this._disposeMergedGeometries()},Dv.prototype.getMeshesByUserIds=function(e,t){var i=[];for(var n in this.mapMaterialIdToMergedNode)for(var r=this.mapMaterialIdToMergedNode[n],o=0,a=r.length;a>o;o+=1){var s=r[o],l=s.indices[t];if(l)for(var c=0,h=l.length;h>c;c+=1){var d={};d.mesh=s.mesh,d.indexInfo=l[c],d.matrix=e.getModelMatrix(),i.push(d)}}return i},Dv.prototype.rebuildIndices=function(e){this._materialList.length=0;var t=xd.EnableLightmap&&e.lightmap;this.clearSelectedObjectIds();var i=this.manager.getFilteredUserIds(),n=this.manager.getSelectedUserIds(),r=this.manager.getHoveredUserIds(),o=this.manager.getBlinkedUserIds();e.hasReplacedUserId();var a=e.manager.scene.fillClipPlane&&xd.ClippingCaps,s={};for(var l in this.mapMaterialIdToMergedNode){var c,h=this.getPropertyValueByMaterialKey(l).materialId,d=null,u=null,p=null,g=null,f=null,m=null,A=null,y=null,v=null;n&&n[h]&&(g=n[h]),r&&r[h]&&(f=r[h]),o&&o[h]&&(m=o[h]),i&&i[h]&&(d=i[h][Zd.HIDDEN],u=i[h][Zd.OVERRIDED],p=i[h][Zd.TRANSPARENT]);var C=this.mapMaterialIdToMergedNode[l];for(v=0,c=C.length;c>v;v+=1){var I=C[v],x=I.indices,w=I.geometry;if(w.clearGroups(),w._visible=!0,t)for(var M=e.lightmapNum,E=0;M>E;E+=1){var B="lightmap|"+E;-1===this._materialList.indexOf(B)&&this._materialList.push(B)}if(g||d||u||f||p||xd.EnableLightmap||a||m||e.isUpdateBlink){var S=[];for(var b in x)if(x.hasOwnProperty(b)){if(d&&d[b])continue;var k=x[b];if(k&&k.length>0){if(k.sort((function(e,t){return e.indexStart-t.indexStart})),p&&p[b]){for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.TRANSPARENT});continue}if(e.manager.isSelectPriority()){if(g&&g[b]){if(this.cacheSelectedObjectIds(b,l,v),xd.PickingEffect){if(u&&u[b]){var D=u[b],T=this._materialList.indexOf(D);for(-1===T&&(this._materialList.push(D),T=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+T});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.NONE});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.SELECTED});continue}if(m&&m[b]){if(u&&u[b]){var R="blink|"+u[b],U=this._materialList.indexOf(R);for(-1===U&&(this._materialList.push(R),U=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+U});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.BLINK});continue}}else{if(m&&m[b]){if(u&&u[b]){var F="blink|"+u[b],Q=this._materialList.indexOf(F);for(-1===Q&&(this._materialList.push(F),Q=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+Q});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.BLINK});continue}if(g&&g[b]){if(this.cacheSelectedObjectIds(b,l,v),xd.PickingEffect){if(u&&u[b]){var L=u[b],O=this._materialList.indexOf(L);for(-1===O&&(this._materialList.push(L),O=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+O});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.NONE});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.SELECTED});continue}}if(e.blinkMapComponentKeyToMaterialName&&e.blinkMapComponentKeyToRenderState[b]){var N=e.blinkMapComponentKeyToMaterialName[b],P=this._materialList.indexOf(N);for(-1===P&&(this._materialList.push(N),P=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+P});continue}if(f&&f[b]){if(u&&u[b]){var G=this._materialList.indexOf(K="hover|"+u[b]);for(-1===G&&(this._materialList.push(K),G=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+G});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.HOVER});continue}if(u&&u[b]){var K,V=this._materialList.indexOf(K=u[b]);for(-1===V&&(this._materialList.push(K),V=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+V});continue}if(a&&s[b]){for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.CLIPPING});continue}if(xd.EnableLightmap)for(A=0,y=k.length;y>A;A+=1){var Y=this._materialList.indexOf("lightmap|"+k[A].lightmapIdx);S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+Y})}else for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:0})}}if(S.length>0)for(S.sort((function(e,t){return e.state===t.state?e.indexStart-t.indexStart:e.state-t.state})),A=0,y=S.length;y>A;A+=1){var H=S[A].indexStart,j=S[A].indexCount,W=S[A].state;if(0===A)w.addGroup(H,j,W);else W===S[A-1].state&&H===S[A-1].indexStart+S[A-1].indexCount?w.groups[w.groups.length-1].count+=j:w.addGroup(H,j,W)}else w._visible=!1}}}},Dv.prototype.update=function(e,t){var i=e.manager.filter,n=e.materialManager.materials,r=e.selectedMaterial,o=e.manager.sceneState,a=null,s=null,l=null,c=null,h=null,d=null,u=xd.EnableLightmap&&e.lightmap;if(e.isOnlyWireframe())for(var p in this.mapMaterialIdToMergedNode){var g=this.mapMaterialIdToMergedNode[p];for(l=0,c=g.length;c>l;l+=1){var f=g[l].mesh;f&&(f.visible=!1)}}else{xd.TranslucentDepthDisabled&&(r.depthWrite=!r.transparent);var m=i._getMaterialByName("scene");xd.TranslucentDepthDisabled&&(m.depthWrite=!1);var A=[];this.blinkMaterials.length=0;var y={};if(!u)for(a=0,s=this._materialList.length;s>a;a+=1){var v=null,C=this._materialList[a],I=C.split("|");"blink"===C.split("_")[0]?v=e.blinkMapMaterialNameToMaterial[C]:"hover"===I[0]?(v=i._getMaterialByName(I[1]),v=o.getHoverMaterial(v)):"blink"===I[0]?(v=i._getMaterialByName(I[1]),v=o.getBlinkMaterial(v),y[C]||this.blinkMaterials.push(v)):v=i._getMaterialByName(C)?i._getMaterialByName(C):this.manager.model.materialManager.getMaterialById(C),xd.TranslucentDepthDisabled&&(v.depthWrite=!v.transparent),A[a]=v}for(var x in this.mapMaterialIdToMergedNode){var w=this.getPropertyValueByMaterialKey(x).materialId,M=e.manager.getOverrideMaterialByName(w)||n[w]||cA.getDefaultStandardMaterial();if(M){if(u)for(a=0,s=this._materialList.length;s>a;a+=1){var E=null,B=this._materialList[a].split("|");if("lightmap"===B[0])if(xd.IBL)E=M.clone();else{var S=cA.getMaterialParameters(M);S.lights=!1,(E=cA.createStandardMaterial(S)).lightMap=e.materialManager.lightmaps[B[1]],E.lightMapIntensity=xd.LightmapIntensity}xd.TranslucentDepthDisabled&&E&&(E.depthWrite=!E.transparent),A[a]=E}xd.TranslucentDepthDisabled&&(M.depthWrite=!M.transparent);var b=o.getHoverMaterial(n[w]);xd.TranslucentDepthDisabled&&(b.depthWrite=!b.transparent);var k=this.mapMaterialIdToMergedNode[x];for(l=0,c=k.length;c>l;l+=1){var D=k[l],T=D.geometry;if(null!==T){var R=D.mesh;if(R)if(T._visible){if(T.groups.length>0){var U=y[w];U||(U=y[w]=o.getBlinkMaterial(M),this.blinkMaterials.push(U));var F=[M,r,U,b,m];for(a=0,s=A.length;s>a;a+=1){if(!A[a].createByBos){if(A[a].materialId!==w&&!A[a].mapNodeIdToOrigMatId)continue;if(!Object.keys(A[a].mapNodeIdToOrigMatId).find((function(e){return A[a].mapNodeIdToOrigMatId[e]===w})))continue}for(var Q in T.attributes.uv||(A[a].map=null),k[l].indices){if(e.blinkMapComponentKeyToMaterialName&&e.blinkMapComponentKeyToRenderState[Q])A[a].name&&A[a].name===e.blinkMapComponentKeyToMaterialName[Q]&&(F[5+a]=A[a]);else if(this.manager.mapMaterialIdToUserIdsForFilter[w]&&this.manager.mapMaterialIdToUserIdsForFilter[w][Zd.OVERRIDED])for(var L=Object.keys(this.manager.mapMaterialIdToUserIdsForFilter[w][Zd.OVERRIDED]),O=0,N=L.length;N>O;O+=1)Q===L[O]&&(F[5+a]=A[a])}}if(t){var P=[];for(h=0,d=F.length;d>h;h+=1)P.push(t);F=P}R.material=F}else R.material=t||M;R.visible=!0}else R.visible=!1;else Bu.error("没有mesh对象")}}M=null}}e.isUpdateBlink=!1}},Dv.prototype.explode=function(e,t,i){for(var n in this.mapMaterialIdToMergedNode)for(var r=this.mapMaterialIdToMergedNode[n],o=0,a=r.length;a>o;o+=1){var s=r[o],l=s.geometry;if(null!==l){var c=s.indices;for(var h in c){var d=e.manager.getComponentInfoByUserId(h).boundingBox,u=wp.computeExplodeTranslation(t,d,i),p=c[h];if(p)for(var g=0,f=p.length;f>g;g+=1){var m=p[g].positionStart;Tv(l,m,m+p[g].positionCount,u)}}}}},Dv.prototype.explosion=function(e,t){var i=e.getModelDescriptor().getStandardUserIds();t.componentKey=i,this.componentsExplosion(e,t)},Dv.prototype.closeExplosion=function(e){this.explosion(e,{})},Dv.prototype.componentsExplosion=function(e,t){var i=t.coefficientX||1,n=t.coefficientY||1,r=t.coefficientZ||1,o=t.offsetX||0,a=t.offsetY||0,s=t.offsetZ||0,l=null;if(t.center)l=(new Ke).fromArray(t.center);else if(1!==i||1!==n||1!==r||0!==o||0!==a||0!==s)return;var c=Array.isArray(t.componentKey)?t.componentKey:[t.componentKey],h=new Ke,d=new He,u=new Ke(0,0,0),p=new Ke(0,0,0),g=new Ke,f=new yt,m=e.getModelMatrix();m&&l&&(f.copy(m).invert(),l.applyMatrix4(f));var A=e.manager,y=!1,v=new Ke,C=new Ge,I=new Ke(1,1,1);wp.isEmptyObject(e.subModel)||(y=!0);for(var x=0,w=c.length;w>x;x+=1){var M=c[x];if(M){var E=e.getModelDescriptor().getStandardNodeInfosById(M);if(E)for(var B=0,S=E.length;S>B;B+=1){var b=E[B];if(b){var k=this._getMaterialKeyByNodeInfo(b),D=this.mapMaterialIdToMergedNode[k];if(D)for(var T=0,R=D.length;R>T;T+=1){var U=D[T],F=U.geometry,Q=U.mesh;if(F&&Q){var L=U.indices;if(L){var O=L[M];if(O){d.copy(b.boundingBox),d.getCenter(h),b.userData||(b.userData={}),u.set(0,0,0),p.set(0,0,0);var N=new Ke(1,1,1);if(y&&(Q.matrix.decompose(v,C,I),N.divide(I)),1!==i||1!==n||1!==r||b.userData.explosionFactor){b.userData.explosionFactor||(b.userData.explosionFactor=new Ke(1,1,1),b.userData.explosionBaseDifference=h.sub(l).clone().multiply(N));var P=b.userData.explosionFactor,G=b.userData.explosionBaseDifference;u.set((i-P.x)*G.x,(n-P.y)*G.y,(r-P.z)*G.z),1===i&&1===n&&1===r?(b.userData.explosionFactor=void 0,b.userData.explosionBaseDifference=void 0):P.set(i,n,r)}if(0!==o||0!==a||0!==s||b.userData.explosionOffset){b.userData.explosionOffset||(b.userData.explosionOffset=new Ke(0,0,0));var K=b.userData.explosionOffset;p.set(o*N.x-K.x,a*N.y-K.y,s*N.z-K.z),0===o&&0===a&&0===s?b.userData.explosionOffset=void 0:K.set(o*N.x,a*N.y,s*N.z)}if(g.set(u.x+p.x,u.y+p.y,u.z+p.z),0!==g.x||0!==g.y||0!==g.z){b.userData.explosionFactor||b.userData.explosionOffset?A.explosionList[M]||(A.explosionList[M]=!0):delete A.explosionList[M];var V=g.clone().multiply(I);f.makeTranslation(V.x,V.y,V.z),b.userData.changeOffset=g.clone(),b.transformation||(b.transformation=!0,b.transformationOriginalMatrix=b.matrix.clone(),b.applyMatrix=new yt,b.transformationOriginalBoundingBox=b.boundingBox.clone()),b.matrix.premultiply(f),b.applyMatrix.premultiply(f),b.boundingBox.copy(b.transformationOriginalBoundingBox).applyMatrix4(b.applyMatrix);for(var Y=0,H=O.length;H>Y;Y+=1){var j=O[Y].positionStart;Tv(F,j,j+O[Y].positionCount,g)}F.attributes.position.needsUpdate=!0}}}}}}}}}},Dv.prototype.closeComponentsExplosion=function(e,t){t=Array.isArray(t)?t:[t];this.componentsExplosion(e,{componentKey:t})},Dv.prototype._getNodeGroup=function(e){return e._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0})},Dv.prototype._hasNodeGroup=function(e){return e._hasNodeGroup(Vp.GEOMETRY)},Dv.prototype._resetMaxIndicesNumberPerBathSegment=function(e){xd.SegmentedBatchMergeEnable&&this._maxIndiceseNum>xd.maxIndicesNumberPerBathSegment&&(Bu.log("adjust maxIndicesNumberPerBathSegment value from "+xd.maxIndicesNumberPerBathSegment+" to "+this._maxIndiceseNum+"!"),xd.maxIndicesNumberPerBathSegment=e)},Dv.prototype.asyncCreateMeshNodes=function(e,t,i){var n=this;t&&t.length?this._asyncMergeData(e,t,(function(){Bu.timeEnd("MergeData"),n._makeMeshNodes(e),i&&i()})):i&&i()},Dv.prototype.createBatchedMeshNodes=function(e,t){var i=this,n=this.mapMaterialIdToMergedNode,r=e.manager,o=e.modelKey,a=e._encodedDatabagId,s=this._getNodeGroup(e),l=e.materialManager,c=t.materialKey,h=i.getPropertyValueByMaterialKey(c),d=l.getMaterialById(h.materialId);if(!d){var u=Object.keys(t.componentInfo)[0],p=t.componentInfo[u][0].nodeId,g=e.getModelDescriptor().getNodeInfosByNodeId(p);if(!g)return;g.uv="1"===h.uvProp,c=i._getMaterialKeyByNodeInfo(g,e),h=i.getPropertyValueByMaterialKey(c),d=l.getMaterialById(h.materialId)}var f=new Ni;if(f._visible=!0,f.setIndex(new Ai(t.index,1)),t.position&&t.position.length>0){f.setAttribute("position",new Ai(t.position,3)),t.normal&&t.normal.length===t.position.length&&f.setAttribute("normal",new Ai(t.normal,3));var m=!1;t.uv&&t.uv.length>0>0&&(f.setAttribute("uv",new Ai(t.uv,2)),m=!0),d.aoMap&&f.setAttribute("uv2",new Ai(t.uv,2)),f.getAttribute("normal")||f.computeVertexNormals();var A=t.componentInfo;n[c]||(n[c]=[]);var y=null;if("lines"===h.type)(y=new ov(f)).modelKey=o;else{var v={modelKey:o};(y=new Bv(f,d)).spawn(v)}if(n[c].push({geometry:f,indices:A,mesh:y}),y._indicesGroup=A,!wp.isEmptyObject(e.subModel)){var C=Object.keys(A)[0];if(C){var I=wp.getModelKeyFromComponentKey(C);e.subModel[I]&&y.matrix.copy(e.subModel[I])}}s.add(y),r.addMeshToOctantMap(a,c,new Mm(c,y));var x=function(t){A.hasOwnProperty(t)&&A[t].forEach((function(i){e.addMeshToInfoMap(t,i.nodeId,y,i,m)}))};for(var w in A)x(w);s.updateMatrixWorld(!0),e.manager.viewerImpl.render(),A=null,y=null}},Dv.prototype._asyncMergeData=function(e,t,i){Bu.time("MergeData");var n={},r=this,o=e.getLoader().maxLoadTaskCount,a=e.progressPercentage.load,s=e.progressPercentage.collect,l=t.length,c=Math.ceil(l/e.progressFrequency),h=e.getModelDescriptor().getStandardNodeInfos();requestAnimationFrame(function d(u){var p=u;return function(){var u=null,g=null;for(g=p+c>l?l:p+c,u=p;g>u;u+=1){if(r._collectMergedNodeInfosById(e,t[u],h,n),u===g-1)if(g!==l)e.dispatchEventEx({type:Fd.ON_LOAD_PROGRESS,progress:{total:o,loaded:(u/l*s+a)*o,modelKey:e.modelKey}}),requestAnimationFrame(d(u+1));else e.dispatchEventEx({type:Fd.ON_LOAD_PROGRESS,progress:{total:o,loaded:(s+a)*o,modelKey:e.modelKey}}),r._asyncMergeGeometry(n,e,i)}}}(0))},Dv.prototype._asyncMergeGeometry=function(e,t,i){var n=[];for(var r in e)n.push(r);if(0!==n.length){this._resetMaxIndicesNumberPerBathSegment(this._maxIndiceseNum);var o=this,a=t.getLoader().maxLoadTaskCount,s=t.progressPercentage.load,l=t.progressPercentage.collect,c=t.progressPercentage.merge,h=n.length,d=Math.ceil(h/t.progressFrequency),u=this.mapMaterialIdToMergedNode;requestAnimationFrame(function r(p){var g=p;return function(){var p,f=null;for(f=g+d>h?h:g+d,p=g;f>p;p+=1){if(o._collectMergedGeometriesById(n[p],e,u),p===f-1)if(f!==n.length)t.dispatchEventEx({type:Fd.ON_LOAD_PROGRESS,progress:{total:a,loaded:(p/h*c+s+l)*a,modelKey:t.modelKey},modelKey:t.modelKey}),requestAnimationFrame(r(p+1));else i()}}}(0))}else i()},Dv.prototype._collectMergedNodeInfosById=function(e,t,i,n){for(var r=i[t],o=0,a=r.length;a>o;o+=1){var s=r[o];this._createNodeBuffer(e,s);var l=this._getNodeBufferBy(s.nodeId);if(l){var c=l.index;c&&c.length>this._maxIndiceseNum&&(this._maxIndiceseNum=c.length);var h=this._getMaterialKeyByNodeInfo(s,e);void 0===n[h]&&(n[h]=[]),n[h].push(s)}}},Dv.prototype._collectMergedGeometriesById=function(e,t,i){var n=t[e];void 0===i[e]&&(i[e]=[]);for(var r=[],o=Math.max(n.length/800,500),a=Math.floor(n.length/o),s=n.length,l=0;a>=l;l+=1){for(var c=0,h=0,d=0,u=0,p=0,g=null,f=!1,m=0,A=0,y=s>o?o:s;y>A;A+=1){var v=l*o,C=n[v+A];if(!C)break;(g=this._getNodeBufferBy(C.nodeId))?(h+=g.index.length,c+=g.position.length,g.normal&&(d+=g.normal.length),g.uv&&g.uv.length>0?(f=!0,u+=g.uv.length):u+=g.position.length/3*2,g.uv2&&(p+=g.uv2.length),xd.SegmentedBatchMergeEnable&&h>xd.maxIndicesNumberPerBathSegment?(g.normal&&(d-=g.normal.length),g.uv&&(u-=g.uv.length),g.uv2&&(p-=g.uv2.length),r.push({start:m,end:A,steps:v,arrayPositionLength:c-=g.position.length,arrayIndexLength:h-=g.index.length,arrayNormalLength:d,arrayUVLength:u,arrayUV2Length:p}),c=0,h=0,d=0,u=0,p=0,m=A,A-=1):A===y-1&&r.push({start:m,end:y,steps:v,arrayPositionLength:c,arrayIndexLength:h,arrayNormalLength:d,arrayUVLength:u,arrayUV2Length:p}),g=null):A===y-1&&r.push({start:m,end:y,steps:v,arrayPositionLength:c,arrayIndexLength:h,arrayNormalLength:d,arrayUVLength:u,arrayUV2Length:p})}s-=o}for(var I=0,x=r.length;x>I;I+=1){for(var w=r[I],M=new Ni,E={},B=new Float32Array(w.arrayPositionLength),S=new Uint32Array(w.arrayIndexLength),b=new Float32Array(w.arrayNormalLength),k=new Float32Array(w.arrayUVLength),D=new Float32Array(w.arrayUV2Length),T=0,R=0,U=0,F=0,Q=0,L=[],O=w.start,N=w.end;N>O;O+=1){var P=n[w.steps+O];if(g=this._getNodeBufferBy(P.nodeId)){L.push(P.nodeId);var G=g.index,K=g.position,V=g.normal,Y=g.uv,H=g.uv2;B.set(K,T);for(var j=new Uint32Array(G),W=0,J=j.length;J>W;W+=1)j[W]+=T/3;S.set(j,R),void 0===E[P.userId]&&(E[P.userId]=[]),E[P.userId].push({userId:P.userId,nodeId:P.nodeId,positionStart:T,positionCount:K.length,indexStart:R,indexCount:G.length,lightmapIdx:P.lightmapIdx,boundingBox:P.boundingBox}),R+=G.length,T+=K.length,V&&(b.set(V,U),U+=V.length),f&&(Y?(k.set(Y,F),F+=Y.length):(k.set(new Float32Array(K.length/3*2),F),F+=Y.length)),H&&(D.set(H,Q),Q+=H.length),G=null,K=null,V=null,Y=null,H=null,g=null}}this.clearNodeBufferByNodeIds(L),M._visible=!0,M.setIndex(new Ai(S,1)),M.setAttribute("position",new Ai(B,3)),U>0&&M.setAttribute("normal",new Ai(b,3)),F>0&&M.setAttribute("uv",new Ai(k,2)),Q>0&&M.setAttribute("uv2",new Ai(D,2)),i[e].push({geometry:M,indices:E})}},Dv.prototype.clearAllNodeBuffer=function(){this.cachedNodeBuffer&&(this.cachedNodeBuffer={})},Dv.prototype.clearNodeBufferByNodeIds=function(e){if(this.cachedNodeBuffer)for(var t=0,i=e.length;i>t;t+=1)this.cachedNodeBuffer[e[t]]=null},Dv.prototype._getNodeBufferByNodeInfo=function(e,t){return this.cachedNodeBuffer||this._createNodeBuffer(e,t),this.cachedNodeBuffer[t.nodeId]},Dv.prototype._getNodeBufferBy=function(e){return this.cachedNodeBuffer?this.cachedNodeBuffer[e]:null},Dv.prototype._createNodeBufferForMergedBuffer=function(e,t,i){this.cachedNodeBuffer||(this.cachedNodeBuffer={}),this.cachedNodeBuffer[t.nodeId]||(this.cachedNodeBuffer[t.nodeId]=this.createBufferByBufferDataWithUV2(e,t,i))},Dv.prototype._createNodeBuffer=function(e,t){this._createNodeBufferForMergedBuffer(e,t,{buffer:e.getModelDescriptor().getReferencedMeshBufferById(t.geometryId),isDataView:!0})},Dv.prototype._createGeometries=function(e,t){var i=this,n=e.getModelDescriptor().getNodeInfosOnGeometryId(),r=e.getModelDescriptor().getReferencedMeshBufferData(),o=this._getClassifiedMeshes(n,r);this._dealDataMergedMeshs(e,o,r,n,(function(){i._dealDataMergeableMeshs(e,o,r,n,t)}))},Dv.prototype._getClassifiedMeshes=function(e,t){var i=[],n=[];for(var r in t){var o=t[r].IndexInfos,a=void 0;if(o){if(1>o.length)continue;for(var s=0,l=o.length;l>s;s+=1){if((c=e[o[s].meshId])&&c.length){a=o[s].meshId;break}}}else{var c;(c=e[r])&&c.length&&(a=r)}if(void 0!==a)(c=e[a])&&c.length&&(c[0].type===zy.EnumNodeItemType.LINE||!c[0].instanceOrNot&&c[0].shared?i.push(r):n.push(r))}if(!xd.Instance)for(var r in e)n[r]||i[r]||i.push(r);return{mergeableIdxs:i,mergedIdxs:n}},Dv.prototype._collectMergeableMeshesByIdxId=function(e,t,i,n,r){i[t]&&i[t].IndexInfos?this._collectSharedMeshesByIdxId(e,t,i,n,r):this._collectLineOrIntanceMeshesByIdxId(e,t,i,n,r)},Dv.prototype._collectLineOrIntanceMeshesByIdxId=function(e,t,i,n,r){for(var o=n[t],a={buffer:e.getModelDescriptor().getReferencedMeshBufferById(t)},s=0,l=o.length;l>s;s+=1){var c=o[s];this._createNodeBufferByGeoBufferData(e,c,a);var h=this._getMaterialKeyByNodeInfo(c);r[h]||(r[h]=[]),r[h].push(c)}},Dv.prototype._collectSharedMeshesByIdxId=function(e,t,i,n,r){for(var o=i[t].IndexInfos,a=0,s=o.length;s>a;a+=1){var l=n[o[a].meshId];if(l)for(var c={buffer:e.getModelDescriptor().getReferencedMeshBufferById(t),indexInfo:o[a]},h=0,d=l.length;d>h;h+=1){var u=l[h];this._createNodeBufferByGeoBufferData(e,u,c);var p=this._getMaterialKeyByNodeInfo(u);r[p]||(r[p]=[]),r[p].push(u)}}},Dv.prototype._mergeMergeableMeshes=function(e,t,i,n){var r=Object.keys(t);if(0!==r.length){var o=this,a=e.getLoader().maxLoadTaskCount,s=r.length,l=e.progressPercentage.load,c=e.progressPercentage.collect,h=e.progressPercentage.merge,d=Math.ceil(s/e.progressFrequency);requestAnimationFrame(function u(p){var g=p;return function(){var p=null,f=null;for(f=g+d>s?s:g+d,p=g;f>p;p+=1)o._collectMergedGeometriesById(r[p],t,i),p===f-1&&(f!==s?(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:a,loaded:(p/s*h+l+c)*a,modelKey:e.modelKey}}),requestAnimationFrame(u(p+1))):o._makeMeshNodes(e,n))}}(0))}else this._makeMeshNodes(e,n)},Dv.prototype._dealDataMergeableMeshs=function(e,t,i,n,r){if(0!==t.mergeableIdxs.length){var o=this,a=this.mapMaterialIdToMergedNode,s={},l=t.mergedIdxs.length,c=t.mergeableIdxs.length,h=l+c,d=t.mergeableIdxs,u=e.getLoader().maxLoadTaskCount,p=e.progressPercentage.load,g=e.progressPercentage.collect,f=Math.ceil(c/e.progressFrequency);requestAnimationFrame(function t(m){var A=m;return function(){var m=null,y=null;for(y=A+f>c?c:A+f,m=A;y>m;m+=1)o._collectMergeableMeshesByIdxId(e,d[m],i,n,s),m===y-1&&(y!==c?(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:u,loaded:((m+l)/h*g+p)*u,modelKey:e.modelKey}}),requestAnimationFrame(t(m+1))):(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:u,loaded:(g+p)*u,modelKey:e.modelKey}}),o._mergeMergeableMeshes(e,s,a,r)))}}(0))}else this._makeMeshNodes(e,r)},Dv.prototype._collectDataMergedMeshesByIdxId=function(e,t,i,n,r){var o=t[e],a=o.IndexInfos;if(a&&0!==a.length){var s=!1;o.UV&&(o.UV.byteLength||o.UV.length)&&(s=!0),r.lightmap&&(o=this.getAttributeForLightmapWithDataMerged(o,r,e));for(var l=void 0,c=0,h=a.length;h>c;c+=1){var d=i[a[c].meshId];if(d&&0!==d.length){r.lightmap&&(a[c].lightmapIdx=o.lightmapIdx,a[c].positionStart=3*a[c].indexStart,a[c].positionCount=3*a[c].indexCount),l=a[c].meshId;for(var u=0,p=d.length;p>u;u+=1)d[u].uv=s}}if(void 0!==l){var g=i[l][0],f={},m=this._getMaterialKeyByNodeInfo(g);void 0===n[m]&&(n[m]=[]);for(var A=0,y=a.length;y>A;A+=1)i[a[A].meshId]&&(void 0===f[(g=i[a[A].meshId][0]).userId]&&(f[g.userId]=[]),a[A].userId=g.userId,a[A].nodeId=g.nodeId,a[A].boundingBox=g.boundingBox,f[g.name].push(a[A]));var v=new Ni;v._visible=!0,v.setIndex(new Ai(new Uint32Array(o.I),1)),v.setAttribute("position",new Ai(new Float32Array(o.P),3)),o.N&&(o.N.byteLength||o.N.length)&&v.setAttribute("normal",new Ai(new Float32Array(o.N),3)),s&&v.setAttribute("uv",new Ai(new Float32Array(o.UV),2)),o.UV2&&(v.setAttribute("uv2",new Ai(new Float32Array(o.UV2),2)),v.lightmapIdx=o.lightmapIdx),n[m].push({geometry:v,indices:f})}}},Dv.prototype.getAttributeForLightmapWithDataMerged=function(e,t,i){var n=[],r=new Uint32Array(e.I),o=t.getLoader().getUV2ById("bmpk_"+i,r.length);if(o){var a=o.lightmapIdx;n=o.uv2}for(var s=new Float32Array(e.P),l=new Float32Array(e.N),c=new Float32Array(e.UV),h=[],d=[],u=[],p=0;r.length>p;p+=1){var g=r[p];h.push(s[3*g]),h.push(s[3*g+1]),h.push(s[3*g+2]),l.length>0&&(d.push(l[3*g]),d.push(l[3*g+1]),d.push(l[3*g+2])),c.length>0&&(u.push(c[2*g]),u.push(c[2*g+1])),r[p]=p}return s=null,l=null,c=null,{I:r,UV2:n,P:h,N:d,UV:u,lightmapIdx:a}},Dv.prototype._dealDataMergedMeshs=function(e,t,i,n,r){if(0!==t.mergedIdxs.length){var o=this,a=this.mapMaterialIdToMergedNode,s=t.mergedIdxs,l=s.length,c=t.mergedIdxs.length+t.mergeableIdxs.length,h=e.getLoader().maxLoadTaskCount,d=e.progressPercentage.load,u=e.progressPercentage.collect,p=Math.ceil(l/e.progressFrequency);requestAnimationFrame(function t(g){var f=g;return function(){var g=null,m=null;for(m=f+p>l?l:f+p,g=f;m>g;g+=1)o._collectDataMergedMeshesByIdxId(s[g],i,n,a),g===m-1&&(m!==l?(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:h,loaded:(g/c*u+d)*h,modelKey:e.modelKey}}),requestAnimationFrame(t(g+1))):(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:h,loaded:(g/c*u+d)*h,modelKey:e.modelKey}}),r&&r()))}}(0))}else r&&r()},Dv.prototype._dealUnsharedMeshs=function(e,t,i){for(var n=this.mapMaterialIdToMergedNode,r=0,o=e.length;o>r;r+=1){var a=i[e[r]],s=a.IndexInfos,l=t[s[0].meshId][0],c={},h=this._getMaterialKeyByNodeInfo(l);void 0===n[h]&&(n[h]=[]);for(var d=0,u=s.length;u>d;d+=1)void 0===c[(l=t[s[d].meshId][0]).userId]&&(c[l.userId]=[]),s[d].userId=l.userId,s[d].nodeId=l.nodeId,c[l.userId].push(s[d]);var p=new Ni;p._visible=!0,p.setIndex(new Ai(new Uint32Array(a.index),1)),p.setAttribute("position",new Ai(new Float32Array(a.position),3)),a.normal&&p.setAttribute("normal",new Ai(new Float32Array(a.normal),3)),a.uv&&p.setAttribute("uv",new Ai(new Float32Array(a.uv),2)),n[h].push({geometry:p,indices:c})}},Dv.prototype._makeMeshNodes=function(e,t){Bu.time("makeMesh");var i=e.manager,n=e.modelKey,r=e._encodedDatabagId,o=this._getNodeGroup(e),a=this.mapMaterialIdToMergedNode;for(var s in a)for(var l=this.getPropertyValueByMaterialKey(s),c=a[s],h=0,d=c.length;d>h;h+=1){var u=c[h].geometry,p=c[h].indices;if(!c[h].mesh){var g=null;if("lines"===l.type)(g=new ov(u)).modelKey=n;else{var f={modelKey:n};(g=new Bv(u)).spawn(f)}if(!wp.isEmptyObject(e.subModel)){var m=Object.keys(p)[0];if(m){var A=wp.getModelKeyFromComponentKey(m);e.subModel[A]&&g.matrix.copy(e.subModel[A])}}g._indicesGroup=p,o.add(g),c[h].mesh=g,i.addMeshToOctantMap(r,s,new Mm(s,g));var y=function(t){p.hasOwnProperty(t)&&p[t].forEach((function(i){e.addMeshToInfoMap(t,i.nodeId,g,i)}))};for(var v in p)y(v);p=null,g=null}}o.updateMatrixWorld(!0),e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:e.getLoader().maxLoadTaskCount,loaded:e.getLoader().maxLoadTaskCount,modelKey:e.modelKey}}),t&&t(),Bu.timeEnd("makeMesh")},Dv.prototype.createMeshNodes=function(e,t){e.getModelDescriptor().getStandardNodeInfos()?this._createGeometries(e,t):t&&t()},Dv.prototype.applySelection=function(e){},Dv.prototype.clearSelection=function(e){},Dv.prototype.applyHover=function(e){},Dv.prototype.clearHover=function(e){},Dv.prototype.getMeshNode=function(){return this.mapMaterialIdToMergedNode},Dv.prototype._disposeMergedGeometries=function(){for(var e in this.mapMaterialIdToMergedNode){for(var t=this.mapMaterialIdToMergedNode[e],i=0,n=t.length;n>i;i+=1){t[i].geometry.dispose(),delete t[i].geometry,delete t[i].indices,delete t[i].mesh}delete this.mapMaterialIdToMergedNode[e]}},Dv.prototype._getMaterialKeyByNodeInfo=function(e,t){if(t){var i=t.manager.getOverrideMaterialByNodeInfo(e);e.materialId=i?i.name:e.originMId}return wp.getCombinedKeyString([e.materialId,e.uv?"1":"0",e.type===zy.EnumNodeItemType.LINE?"lines":"meshes"])},Dv.prototype.getPropertyValueByMaterialKey=function(e){var t=wp.splitCombinedKeyString(e);return{materialId:t[0],uvProp:t[1],type:t[2]}},Dv.prototype.clearSelectedObjectIds=function(){this.selectedObjectIds.length=0},Dv.prototype.cacheSelectedObjectIds=function(e,t,i){this.selectedObjectIds.push({uid:e,mKey:t,idx:i})},Dv.prototype.adjustVisibility=function(e,t){var i=this._getNodeGroup(e),n=i.visible;t&&!i.bVisible||(i.visible=t),i.bVisible=n},Dv.prototype.changeVisibilityOfSelectedObjects=function(e,t){if(t)for(var i=0,n=this.selectedMeshes.length;n>i;i+=1){var r=this.selectedMeshes[i].object,o=this.selectedMeshes[i].indices;if(r)for(var a=0,s=o.length;s>a;a+=1){var l=r.geometry.groups[o[a].idx];l.start=o[a].start,l.count=o[a].count}}else{this.selectedMeshes.length=0;for(var c={},h=0,d=this.selectedObjectIds.length;d>h;h+=1){var u=this.selectedObjectIds[h].mKey,p=this.selectedObjectIds[h].idx,g=wp.getCombinedKeyString([u,p]);if(!c[g]){c[g]=!0;var f=this.mapMaterialIdToMergedNode[u][p],m=f.mesh;if(m){for(var A=[],y=f.geometry.groups,v=0,C=y.length;C>v;v+=1){var I=y[v];I.materialIndex===Zd.SELECTED&&(A.push({idx:v,start:I.start,count:I.count}),I.start=0,I.count=0)}A.length&&this.selectedMeshes.push({object:m,indices:A})}}}}},Dv.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){if(t)for(var i=0,n=this.nonSelectedMeshes.length;n>i;i+=1){var r=this.nonSelectedMeshes[i].object,o=this.nonSelectedMeshes[i].indices;if(o)for(var a=0,s=o.length;s>a;a+=1){var l=r.geometry.groups[o[a].idx];l.start=o[a].start,l.count=o[a].count}else r.visible=this.nonSelectedMeshes[i].visibility}else{this.nonSelectedMeshes.length=0;for(var c={},h=0,d=this.selectedObjectIds.length;d>h;h+=1){var u=this.selectedObjectIds[h];c[u.mKey]||(c[u.mKey]={}),c[u.mKey][u.idx]=!0}for(var p in this.mapMaterialIdToMergedNode){var g=this.mapMaterialIdToMergedNode[p];if(c[p])for(var f=0,m=g.length;m>f;f+=1){var A=g[f].mesh;if(A){if(!c[p][f]){this.nonSelectedMeshes.push({object:A,indices:null,visibility:A.visible}),A.visible=!1;continue}for(var y=[],v=A.geometry.groups,C=0,I=v.length;I>C;C+=1){var x=v[C];x.materialIndex!==Zd.SELECTED&&(y.push({idx:C,start:x.start,count:x.count}),x.start=0,x.count=0)}y.length>0&&this.nonSelectedMeshes.push({object:A,indices:y})}}else for(var w=0,M=g.length;M>w;w+=1){var E=g[w].mesh;E&&(this.nonSelectedMeshes.push({object:E,indices:null,visibility:E.visible}),E.visible=!1)}}}},Dv.prototype.restoreVisibilityOfObjects=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0},Dv.prototype.getBlinkMaterials=function(){return this.blinkMaterials},Dv.prototype.disposeBufferAfterVbo=function(){if(!this.bufferDestroyed){var e=0;for(var t in this.mapMaterialIdToMergedNode){for(var i=this.mapMaterialIdToMergedNode[t],n=0,r=i.length;r>n;n+=1){var o=i[n],a=o.geometry;if(null!==a){e+=1;var s=t+"-"+n;this.mapDestroyedBufferKey[s]||o.mesh.visible&&(this.mapDestroyedBufferKey[s]=!0,by.disposeBufferFromGeometry(a,["normal","uv","uv2"]))}}Object.keys(this.mapDestroyedBufferKey).length===e&&(this.mapDestroyedBufferKey={},this.bufferDestroyed=!0)}}},Dv.prototype._traverseMeshNodeMap=function(e){for(var t in this.mapMaterialIdToMergedNode)for(var i=this.mapMaterialIdToMergedNode[t],n=0,r=i.length;r>n;n+=1)e&&e(t,i[n])},Dv.prototype.getGeometryBuffersByUserId=function(e,t){var i=[],n=e.getDatabagId();return this._traverseMeshNodeMap((function(e,r){var o=r.indices[t];if(o)for(var a=r.geometry,s=a.getIndex().array,l=a.getAttribute("position").array,c=0,h=o.length;h>c;c+=1){var d=o[c],u=d.indexStart,p=d.indexStart+d.indexCount,g=s.slice(u,p),f=l.slice(u=d.positionStart,p=d.positionStart+d.positionCount);u/=3,g.forEach((function(e,t,i){i[t]-=u})),i.push({modelKey:n,nodeId:d.nodeId,position:f,index:g})}})),i},Dv.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new ev(this)),this.pickingNodeGenerator};var Rv=function(e){$y.call(this,e),this.nodeGroupName="PickingBatchedWireFrameGroup"};Object.assign(Rv.prototype,$y.prototype),SA(Rv,[{key:"disposePickingNodeById",value:function(e){for(var t=this.pickingNodeMap[e],i=0,n=t.length;n>i;i+=1)t[i]._indicesGroup=null,t[i].material=null,t[i].geometry.dispose(),t[i]=null}},{key:"generatePickingMeshes",value:function(){var e=this.manager.getWireFrameLineSegments();1>e.length&&(this.manager.generateWireframe(),e=this.manager.getWireFrameLineSegments());for(var t=0,i=e.length;i>t;t+=1){var n=e[t].geometry,r=new Ni;r.setAttribute("position",n.getAttribute("position")),r.setIndex(n.getIndex());var o=new La(r,cA.DefaultMaterial);(new yt).copy(e[t].matrix).multiply(this.manager.model.getModelMatrix()).decompose(o.position,o.quaternion,o.scale),o._indicesGroup=e[t]._indicesGroup,o.frustumCulled=!1,o.renderOrder=2,this.addToPickingNodeMap(t,[o])}}},{key:"_rebuildGeometryGroup",value:function(e,t,i){var n,r=this.manager.manager,o=0,a=0,s=0,l=e._indicesGroup,c=Object.keys(l),h=[],d={};t.length>c.length?(h=c,d=i):(h=t,d=l);var u=[];for(s=0,n=h.length;n>s;s+=1){var p=h[s];if(r.isPickableNode(p)&&d[p]){var g=l[p];if(g&&g.length>0)for(o=0,a=g.length;a>o;o+=1)u.push({indexStart:g[o].indexStart,indexCount:g[o].indexCount})}}e.visible=!0;var f=e.geometry;if(f.clearGroups(),0!==u.length)for(u.sort((function(e,t){return e.indexStart-t.indexStart})),o=0,a=u.length;a>o;o+=1){var m=u[o].indexStart,A=u[o].indexCount;if(0===o)f.addGroup(m,A,0);else m===u[o-1].indexStart+u[o-1].indexCount?f.groups[f.groups.length-1].count+=A:f.addGroup(m,A,0)}else e.visible=!1}},{key:"updatePickingMeshesState",value:function(e,t,i){for(var n=this.pickingNodeMap,r=Object.keys(n),o=0,a=r.length;a>o;o+=1)for(var s=n[r[o]],l=0,c=s.length;c>l;l+=1)s[l].material=[e],s[l].visible=!1,this._rebuildGeometryGroup(s[l],t,i)}}]);var Uv=function(e){this.manager=e,this.model=e.model,this.generated=!1,this.wireframeLineSegments=[],this.wireframeLineSegment=null,this.wireframeGeometryMap=null,this.wireframeDataMap=null,this.userIdMapForNoWireFrame={}};function Fv(e,t,i,n){for(var r=e.getAttribute("position").array,o=t;i>o;o+=1)r[3*o]+=n.x,r[3*o+1]+=n.y,r[3*o+2]+=n.z;e.getAttribute("position").needsUpdate=!0}Uv.prototype.destroy=function(){this.clearData(),this.manager=null,this.userIdMapForNoWireFrame=null,this.pickingNodeGenerator&&(this.pickingNodeGenerator.destroy(),this.pickingNodeGenerator=null)},Uv.prototype.clearData=function(){if(this.generated=!1,this.bufferDestroyed=!1,this.wireframeLineSegments){for(var e=0,t=this.wireframeLineSegments.length;t>e;e+=1)this.wireframeLineSegments[e]._indicesGroup=null,this.wireframeLineSegments[e].geometry.dispose(),this.wireframeLineSegments[e]=null;this.wireframeLineSegments=[]}this.pickingNodeGenerator&&this.pickingNodeGenerator.clearData(),this.wireframeGeometryMap=null,this.userIdMapForNoWireFrame={}},Uv.prototype._createWireframeGeometry=function(e,t){if(this.wireframeGeometryMap||(this.wireframeGeometryMap={}),this.wireframeDataMap||(this.wireframeDataMap={}),!this.wireframeGeometryMap[t.nodeId]){var i=this._getWireframeData(e,t),n=new Ni;n.setIndex(new Mi(i.index,1)),n.setAttribute("position",new Ai(i.buffer,3)),n._userId=t.userId,this.wireframeGeometryMap[t.nodeId]=n}},Uv.prototype._getWireframeData=function(e,t){this.wireframeDataMap||(this.wireframeDataMap={});var i={};if(!this.wireframeDataMap[t.nodeId]){for(var n=e.attributes.position.array.slice(t.positionStart,t.positionStart+t.positionCount),r=e.getIndex().array.slice(t.indexStart,t.indexStart+t.indexCount),o=0,a=r.length;a>o;o+=1)r[o]-=t.positionStart/3;var s=af(n,r);return i=by.reducedGeometry(n,s),this.wireframeDataMap[t.nodeId]=i,i}return this.wireframeDataMap[t.nodeId]},Uv.prototype._createWireframeGeometries=function(e){e||(e=this.model);var t=e.manager.filter,i=e.getModelDescriptor().getStandardNodeInfos();function n(e){var n=i[e];return!(n&&t._hasRenderWithBoardlineFilter()&&!t._isRenderWithBoardline(n[0]))}var r=this.manager.getMeshNode();for(var o in Bu.time("createWireframeGeometry"),r){if("meshes"===this.manager.getPropertyValueByMaterialKey(o).type)for(var a=r[o],s=0,l=a.length;l>s;s+=1){var c,h=a[s];if(h.RenderTypeChange){for(var d=(c=h.geometry.clone()).attributes.position.array,u=[],p=new Ke,g=h.mesh.matrixWorld,f=0,m=d.length;m>f;f+=3)p.set(d[f],d[f+1],d[f+2]).applyMatrix4(g),u.push(p.x,p.y,p.z);c.setAttribute("position",new Ai(new Float32Array(u),3))}else c=h.geometry;if(null!==c){var A=h.indices;for(var y in A){n(y)||(this.userIdMapForNoWireFrame[y]=!0);for(var v=A[y],C=0,I=v.length;I>C;C+=1)this._createWireframeGeometry(c,v[C])}}}}return Bu.timeEnd("createWireframeGeometry"),!0},Uv.prototype._makeWireframe=function(e){e||(e=this.model);var t={},i=e.getWireframeMaterial();for(var n in this.wireframeGeometryMap){var r=this.wireframeGeometryMap[n],o=r._userId,a=new La(r,i);a.userId=o,a.nodeId=n,t[o]||(t[o]=[]),t[o].push(a),a=null}var s={};for(var o in t)if(wp.isEmptyObject(e.subModel)){s[e.modelKey]||(s[e.modelKey]=[]);var l=t[o];for(d=0,u=l.length;u>d;d+=1)s[e.modelKey].push(l[d])}else{var c=wp.getModelKeyFromComponentKey(o);s[c]||(s[c]=[]);for(var h=t[o],d=0,u=h.length;u>d;d+=1)s[c].push(h[d])}if(!wp.isEmptyObject(s))for(var p in s)if(s.hasOwnProperty(p)){var g=s[p];if(g.length>0){var f={},m=by.mergeBufferGeometriesFromMeshs(g,f);if(m){var A=new La(m,e.getWireframeMaterial());if(A.matrixAutoUpdate=!1,A._indicesGroup=f,!wp.isEmptyObject(e.subModel)){var y=Object.keys(f)[0];if(y){var v=wp.getModelKeyFromComponentKey(y);e.subModel[v]&&A.matrix.copy(e.subModel[v])}}this.wireframeLineSegments.push(A)}}}for(var o in t)delete t[o];t=null,this.wireframeGeometryMap=null},Uv.prototype.generateWireframe=function(e,t){e||(e=this.model),this.generated||(this._createWireframeGeometries(e),this._makeWireframe(e),this.generated=!0,t&&t())},Uv.prototype.update=function(e){if(this.manager.hasNodeInfo(e))if(e.isActivateWireframe()){if(this.generateWireframe(e),this.wireframeLineSegments){var t=this._getNodeGroup(e);t.clear();for(var i=0,n=this.wireframeLineSegments.length;n>i;i+=1)t.add(this.wireframeLineSegments[i]);t.updateMatrixWorld(!0)}}else e._hasNodeGroup(Vp.WIREFRAME)&&e._removeNodeGroup(Vp.WIREFRAME)},Uv.prototype.rebuildIndices=function(e){if(this.needDealWireframeLine(e))for(var t=0,i=this.wireframeLineSegments.length;i>t;t+=1){var n=this.wireframeLineSegments[t];n.visible=!0;var r=n._indicesGroup,o=n.geometry;o.clearGroups();var a=e.getWireframeMaterial();n.material=a;var s=this.manager.getFilteredUserIdsForWireFrame(),l=Boolean(s&&Object.keys(s).length);if(!this._existHiddenUserId()&&!l)return;var c=[],h=0,d=0,u=[];for(var p in r)if(!this._isHiddenUserId(p)){var g=r[p];if(g&&g.length>0){if(s[p]){var f=s[p],m=u.indexOf(f);for(-1===m&&(u.push(f),m=u.length-1),h=0,d=g.length;d>h;h+=1)c.push({indexStart:g[h].indexStart,indexCount:g[h].indexCount,state:1+m});continue}for(h=0,d=g.length;d>h;h+=1)c.push({indexStart:g[h].indexStart,indexCount:g[h].indexCount,state:0})}}if(0===c.length)return void(n.visible=!1);for(c.sort((function(e,t){return e.indexStart-t.indexStart})),h=0,d=c.length;d>h;h+=1){var A=c[h].indexStart,y=c[h].indexCount,v=c[h].state;if(0===h)o.addGroup(A,y,v);else v===c[h-1].state&&A===c[h-1].indexStart+c[h-1].indexCount?o.groups[o.groups.length-1].count+=y:o.addGroup(A,y,v)}var C=e.getFilter(),I=[a];for(h=0,d=u.length;d>h;h+=1){var x=C._getMaterialByName(u[h]);I.push(x)}n.material=I}},Uv.prototype.explode=function(e,t,i){},Uv.prototype.explosion=function(e,t){if(this.wireframeLineSegments)for(var i=0,n=this.wireframeLineSegments.length;n>i;i+=1){var r=Object.keys(this.wireframeLineSegments[i]._indicesGroup);t||(t={}),t.componentKey=r,this.componentsExplosion(e,t)}},Uv.prototype.closeExplosion=function(e){this.explosion(e)},Uv.prototype.componentsExplosion=function(e,t){if(this.wireframeLineSegments)for(var i=Array.isArray(t.componentKey)?t.componentKey:[t.componentKey],n=0,r=this.wireframeLineSegments.length;r>n;n+=1)for(var o=this.wireframeLineSegments[n]._indicesGroup,a=this.wireframeLineSegments[n].geometry,s=0,l=i.length;l>s;s+=1){var c=i[s];if(c){var h=e.getModelDescriptor().getStandardNodeInfosById(c);if(h){var d=o[c];if(d){var u=h[0];if(!u||!u.userData||!u.userData.changeOffset)continue;for(var p=0,g=d.length;g>p;p+=1){var f=d[p].positionStart;Fv(a,f,f+d[p].positionCount,u.userData.changeOffset)}u.userData.changeOffset=void 0}}}}},Uv.prototype.closeComponentsExplosion=function(e,t){this.componentsExplosion(e,{componentKey:t})},Uv.prototype._getNodeGroup=function(e){return e._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})},Uv.prototype.needDealWireframeLine=function(e){return!(!e.isActivateWireframe()||!this.wireframeLineSegments)},Uv.prototype.adjustVisibility=function(e,t){if(this.needDealWireframeLine(e)){var i=this._getNodeGroup(e),n=i.visible;t&&!i.bVisible||(i.visible=t),i.bVisible=n}},Uv.prototype.changeVisibilityOfSelectedObjects=function(e,t){},Uv.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){this.adjustVisibility(e,t)},Uv.prototype.restoreVisibilityOfObjects=function(){},Uv.prototype.disposeBufferAfterVbo=function(){if(this.generated&&!this.bufferDestroyed&&this.wireframeLineSegments)for(var e=0,t=this.wireframeLineSegments.length;t>e;e+=1)this.wireframeLineSegments[e].visible&&(this.bufferDestroyed=!0,by.disposeBufferFromGeometry(this.wireframeLineSegments[e].geometry,["position","normal","uv","uv2"]))},Uv.prototype._existHiddenUserId=function(){var e=this.manager.getHiddenUserIds();return!!(this.userIdMapForNoWireFrame&&Object.keys(this.userIdMapForNoWireFrame).length||e&&Object.keys(e).length)},Uv.prototype._isHiddenUserId=function(e){if(this.userIdMapForNoWireFrame[e])return!0;var t=this.manager.getHiddenUserIds();return!(!t||!t[e])},Uv.prototype.getWireFrameLineSegments=function(){return this.wireframeLineSegments?this.wireframeLineSegments:null},Uv.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new Rv(this)),this.pickingNodeGenerator};var Qv=function(e,t){this.model=t,this.meshManager=new Dv(this),e||(this.wireframeManager=new Uv(this))};Qv.prototype.destroy=function(){this.meshManager.destroy(),this.meshManager=null,this.wireframeManager.destroy(),this.wireframeManager=null,this._clearFilteredState(),this._clearSelectedState(),this._clearHoveredState(),this._clearBlinkedState()},Qv.prototype.updateNodes=function(e){var t;t=this._collectModelFiltered(e),this.meshManager.update(e,t),this.wireframeManager.update(e)},Qv.prototype.generateWireframe=function(e,t){this.wireframeManager.generateWireframe(e,t)},Qv.prototype.asyncGenerateWireframe=function(e,t){this.wireframeManager.asyncGenerateWireframe(e,t)},Qv.prototype.rebuildIndices=function(e){this._rebuildIndices(e)},Qv.prototype.clearData=function(){this.meshManager.clearData(),this.wireframeManager.clearData(),this._clearFilteredState(),this._clearSelectedState(),this._clearHoveredState(),this._clearBlinkedState()},Qv.prototype.createMeshNodes=function(e,t){this.meshManager.createMeshNodes(e,t)},Qv.prototype.createBatchedMeshNodes=function(e,t){this.meshManager.createBatchedMeshNodes(e,t)},Qv.prototype.asyncCreateMeshNodes=function(e,t,i){this.meshManager.asyncCreateMeshNodes(e,t,i)},Qv.prototype.hasNodeInfo=function(e){return Boolean(e.getModelDescriptor().getStandardNodeInfos())},Qv.prototype.disposeGeometry=function(e){this.meshManager.disposeGeometry(e)},Qv.prototype.getMeshNode=function(){return this.meshManager.getMeshNode()},Qv.prototype.getPropertyValueByMaterialKey=function(e){return this.meshManager.getPropertyValueByMaterialKey(e)},Qv.prototype.getFilteredUserIds=function(){return this.mapMaterialIdToUserIdsForFilter},Qv.prototype.getSelectedUserIds=function(){return this.mapMaterialIdToUserIdsForSelection},Qv.prototype.getHoveredUserIds=function(){return this.mapMaterialIdToUserIdsForHover},Qv.prototype.getBlinkedUserIds=function(){return this.mapBlinkUserIds},Qv.prototype.getHiddenUserIds=function(){return this.hiddenUserIdSetObject},Qv.prototype.getTransparentUserIds=function(){return this.transparentUserIdSetObject},Qv.prototype.applyFilter=function(e,t){if(this.hasNodeInfo(e)){var i=null;i=t||e.getModelDescriptor().getStandardUserIds();var n=e.getModelDescriptor().getStandardNodeInfos();this._collectFilteredUserIds(e,i,n),this._collectFilteredUserIdsForWireFrame(e,i,n),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,n),this._collectHoveredUserIds(e.manager.sceneState.hoverId,n),this._rebuildIndices(e),this.updateNodes(e)}},Qv.prototype.applySelection=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getStandardNodeInfos();this._clearSelectedState(e),this._clearHoveredState(e),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,t),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this._rebuildIndices(e),this.updateNodes(e)}},Qv.prototype.clearSelection=function(e){this._clearSelectedState(e),this.applyHover(e)},Qv.prototype.applyHover=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getStandardNodeInfos();this._clearHoveredState(e),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this._rebuildIndices(e),this.updateNodes(e)}},Qv.prototype.clearHover=function(e){this._clearHoveredState(e),this._rebuildIndices(e),this.updateNodes(e)},Qv.prototype.applyBlink=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getStandardNodeInfos();this._clearBlinkedState(e),this._clearHoveredState(e),this._collectBlinkedUserIds(e.manager.sceneState.getBlinkComponentsIdMap(),t),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this._rebuildIndices(e),this.updateNodes(e)}},Qv.prototype.clearBlink=function(e){this._clearBlinkedState(e),this.applyHover(e)},Qv.prototype.applyReplacement=function(e){this._rebuildIndices(e),this.updateNodes(e)},Qv.prototype._collectFilteredUserIds=function(e,t,i){var n=e.manager.filter,r=n._hasHiddenFileIdFilter(),o=n._hasVisibleFilter(),a=n._hasOverrideMaterialFilter(),s=n._hasTransparentFilter(),l=e.hasReplacedUserId(),c=e.hasHiddenSourceObjectUserId(),h=this.mapMaterialIdToUserIdsForFilter={};if(this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={},r||o||a||s||l||c)for(var d=0;t.length>d;d+=1){var u=t[d],p=i[u];if(p&&p.length)for(var g=0,f=p.length;f>g;g+=1){var m=p[g];if(r&&n._isHiddenFileId(m)||o&&!1===n._isVisible(m)||e.isReplacedUserId(u)||e.isHiddenSourceObjectUserId(u))void 0===h[m.materialId]&&(h[m.materialId]={}),void 0===h[m.materialId][Zd.HIDDEN]&&(h[m.materialId][Zd.HIDDEN]={}),h[m.materialId][Zd.HIDDEN][u]=!0,this.hiddenUserIdSetObject[u]=!0;else if(s&&n._isTransparent(m))void 0===h[m.materialId]&&(h[m.materialId]={}),void 0===h[m.materialId][Zd.TRANSPARENT]&&(h[m.materialId][Zd.TRANSPARENT]={}),h[m.materialId][Zd.TRANSPARENT][u]=!0,this.transparentUserIdSetObject[u]=!0;else if(a&&n._hasOverrideMaterial(m)){var A=n._getOverrideMaterial(m);if(Array.isArray(A)){var y=g,v=A.find((function(e){return!!e.mapNodeIdToOrigMatId&&Object.keys(e.mapNodeIdToOrigMatId).includes(m.nodeId)})),C=v?v.mapNodeIdToOrigMatId[m.nodeId]:A[y].materialId,I=v?v.materialId:"";""!==I&&(void 0===h[C]&&(h[C]={}),void 0===h[C][Zd.OVERRIDED]&&(h[C][Zd.OVERRIDED]={})),h[C]||(h[C]={},h[C][Zd.OVERRIDED]={}),h[C][Zd.OVERRIDED][u]=I,this.overrideUserIdSetObject[u]||(this.overrideUserIdSetObject[u]=[]),this.overrideUserIdSetObject[u][y]=I}else{var x=null!==A?A.name:"";""!==x&&(void 0===h[m.materialId]&&(h[m.materialId]={}),void 0===h[m.materialId][Zd.OVERRIDED]&&(h[m.materialId][Zd.OVERRIDED]={}),h[m.materialId][Zd.OVERRIDED][u]=x,this.overrideUserIdSetObject[u]=x)}}}}},Qv.prototype._collectFilteredUserIdsForWireFrame=function(e,t,i){var n=e.getFilter(),r=n._hasOverrideMaterialFilterForWireFrame();if(this.mapFilteredUserIdsForWireFrame={},r)for(var o=0;t.length>o;o+=1){var a=t[o];if(!this.hiddenUserIdSetObject[a]){var s=i[a];if(s&&s.length)for(var l=0,c=s.length;c>l;l+=1){var h=s[l];if(n._hasOverrideMaterialForWireFrame(h)){var d=n._getOverrideMaterialForWireFrame(h),u=null!==d?d.name:"";""!==u&&(this.mapFilteredUserIdsForWireFrame[a]=u)}}}}},Qv.prototype._collectModelFiltered=function(e){var t=e.manager.filter,i=e.modelKey,n=t._hasModelOverrideMaterialFilter(),r=t._hasModelTransparentFilter(),o=e.manager.modelState.modelSelectionSet;return e.manager.modelState.hoverId===i?e.manager.modelState.getHoverMaterial():o.hasOwnProperty(e.modelKey)?e.manager.modelState.selectionMaterial:r&&t._isModelTransparent(i)?t._getMaterialByName("scene"):n&&t._hasModelOverrideMaterial(i)?t._getModelOverrideMaterial(i):null},Qv.prototype._clearFilteredState=function(){this.mapMaterialIdToUserIdsForFilter=null},Qv.prototype._collectSelectedUserIds=function(e,t){var i=this.mapMaterialIdToUserIdsForSelection={};for(var n in e)if(this.model.modelKey===n)for(var r in e[n]){var o=t[r];if(o&&o.length)for(var a=0,s=o.length;s>a;a+=1)void 0===i[o[a].materialId]&&(i[o[a].materialId]={}),void 0===i[o[a].materialId][r]&&(i[o[a].materialId][r]=!0)}},Qv.prototype._clearSelectedState=function(){this.mapMaterialIdToUserIdsForSelection&&(this.mapMaterialIdToUserIdsForSelection=null)},Qv.prototype._collectHoveredUserIds=function(e,t){var i=this.mapMaterialIdToUserIdsForHover={};if(e&&t[e])for(var n=t[e],r=0,o=n.length;o>r;r+=1)void 0===i[n[r].materialId]&&(i[n[r].materialId]={}),void 0===i[n[r].materialId][e]&&(i[n[r].materialId][e]=!0)},Qv.prototype._clearHoveredState=function(){this.mapMaterialIdToUserIdsForHover&&(this.mapMaterialIdToUserIdsForHover=null)},Qv.prototype._collectBlinkedUserIds=function(e,t){var i=this.mapBlinkUserIds={};for(var n in e){var r=t[n];if(r&&r.length)for(var o=0,a=r.length;a>o;o+=1)void 0===i[r[o].materialId]&&(i[r[o].materialId]={}),void 0===i[r[o].materialId][n]&&(i[r[o].materialId][n]=!0)}},Qv.prototype.calculateClippingIds=function(e,t){this.meshManager.calculateClippingIds(e,t)},Qv.prototype._clearBlinkedState=function(){this.mapBlinkUserIds&&(this.mapBlinkUserIds=null)},Qv.prototype._rebuildIndices=function(e){this.meshManager.rebuildIndices(e),this.wireframeManager.rebuildIndices(e)},Qv.prototype.clearCachedData=function(){this.meshManager.clearAllNodeBuffer()},Qv.prototype.getMeshesByUserIds=function(e,t){return this.meshManager.getMeshesByUserIds(e,t)},Qv.prototype.adjustVisibility=function(e,t){this.meshManager.adjustVisibility(e,t),this.wireframeManager.adjustVisibility(e,t)},Qv.prototype.changeVisibilityOfSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfSelectedObjects(e,t)},Qv.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfNonSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfNonSelectedObjects(e,t)},Qv.prototype.restoreVisibilityOfObjects=function(){this.meshManager.restoreVisibilityOfObjects(),this.wireframeManager.restoreVisibilityOfObjects()},Qv.prototype.disposeBufferAfterVbo=function(){this.meshManager.disposeBufferAfterVbo(),this.wireframeManager.disposeBufferAfterVbo()},Qv.prototype.getGeometryBuffersByUserId=function(e,t){return this.meshManager.getGeometryBuffersByUserId(e,t)},Qv.prototype.explosion=function(e,t){this.meshManager.explosion(e,t),this.wireframeManager.explosion(e,t)},Qv.prototype.closeExplosion=function(e){this.meshManager.closeExplosion(e),this.wireframeManager.closeExplosion(e)},Qv.prototype.componentsExplosion=function(e,t){this.meshManager.componentsExplosion(e,t),this.wireframeManager.componentsExplosion(e,t)},Qv.prototype.closeComponentsExplosion=function(e,t){this.meshManager.closeComponentsExplosion(e,t),this.wireframeManager.closeComponentsExplosion(e,t)},Qv.prototype.isPickableNode=function(e){var t=this.getHiddenUserIds();if(t&&t[e])return!1;var i=this.getTransparentUserIds();return!(i&&i[e]&&!xd.EnableSelectionByTranslucent)},Qv.prototype.isHiddenNode=function(e){var t=this.getHiddenUserIds();return!(!t||!t[e])},Qv.prototype.getMeshManager=function(){return this.meshManager},Qv.prototype.getWireFrameManager=function(){return this.wireframeManager},Qv.prototype.getFilteredUserIdsForWireFrame=function(){return this.mapFilteredUserIdsForWireFrame};var Lv=function(e){$y.call(this,e),this.nodeGroupName="PickingInstancedMeshGroup"};function Ov(e,t,i){for(var n=e.getAttribute("mcol3").array,r=0;t.length>r;r+=1){var o=t[r];n[3*o]+=i.x,n[3*o+1]+=i.y,n[3*o+2]+=i.z}e.getAttribute("mcol3").needsUpdate=!0}Object.assign(Lv.prototype,$y.prototype),SA(Lv,[{key:"generatePickingMeshes",value:function(){var e=this,t=this.manager,i=t.cachedInstance;t.traverseInstanceNodeMap(null,(function(t,n){for(var r=[],o=0,a=n.length;a>o;o+=1){var s=n[o].geometry,l=n[o],c=new xc;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 wc(new Float32Array(i.vState[t]),1,!1,1)),c.setIndex(s.getIndex());var h=new nn(c,cA.DefaultMaterial);l.matrixWorld.decompose(h.position,h.quaternion,h.scale),h.name=t,h.frustumCulled=!1,h.renderOrder=1,r.push(h)}e.addToPickingNodeMap(t,r)}))}},{key:"updatePickingMeshesState",value:function(e,t,i){if(this.pickingNodeMap)for(var n=this.manager.manager,r=this.pickingNodeMap,o=0,a=t.length;a>o;o+=1){var s=t[o];if(n.isPickableNode(s)){var l=n.getMeshManager().getNodeIdxMapByUserId(s);if(l)for(var c=Object.keys(l),h=0,d=c.length;d>h;h+=1){var u=c[h],p=r[u];if(p)for(var g=l[u],f=0,m=p.length;m>f;f+=1){var A=p[f];A.material=e,A.visible=!0;for(var y=A.geometry,v=y.getAttribute("vState").array,C=0,I=g.length;I>C;C+=1)v[g[C]]=Wd.NONE;y.getAttribute("vState").needsUpdate=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var e=this.pickingNodeMap,t=Object.keys(e),i=0,n=t.length;n>i;i+=1)for(var r=e[t[i]],o=0,a=r.length;a>o;o+=1)r[o].visible=!1,r[o].geometry.getAttribute("vState").array.fill(Wd.HIDDEN),r[o].geometry.getAttribute("vState").needsUpdate=!0}}]);var Nv=function(e){return kv.call(this),this.manager=e,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};(Nv.prototype=Object.create(kv.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=[]},Nv.prototype.clearData=function(){this.bufferDestroyed=!1,this.disposeGeometries(),this.disposeInstanceGeometries(),this.clearInstanceCache(),this.pickingNodeGenerator&&this.pickingNodeGenerator.clearData()},Nv.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={}},Nv.prototype.updateNodes=function(e){this._getNodeGroup(e).visible=!e.isOnlyWireframe()},Nv.prototype.createMeshNodes=function(e,t){this._createInstanceGeometries(e,t),this._makeInstanceNodes(e)},Nv.prototype.disposeInstanceGeometries=function(){this.traverseInstanceGeometryMap((function(e,t){for(var i=0,n=t.length;n>i;i+=1)t[i].dispose()}))},Nv.prototype._createInstanceGeometries=function(e,t){Bu.time("createInstanceGeometries");var i=this;e.getModelDescriptor().traverseInstancedNodeInfos(t,(function(t,n){for(var r=0,o=n.length;o>r;r+=1){var a=n[r],s=i.getGeometryByNodeInfo(e,a);if(s){var l=e.manager.getOverrideMaterialByNodeInfo(a);l&&(a.materialId=l.name);var c=i.getMeshIdByNodeInfo(a),h=i.cacheInstanceAttributeStateBy(e,c,s,a,l);i.cacheNodeIdxByUserId(a.userId,c,h),a.instanceGeometryIndex=h,i.cacheMatrixInfoByUserId(a.userId,c,{matrix:a.matrix,boundingBox:a.boundingBox}),i.cacheInstanceGeometries(c,s)}}})),Bu.timeEnd("createInstanceGeometries")},Nv.prototype._createBatchedInstanceGeometries=function(e,t){var i=this,n=e.materialManager.getMaterialById(t.materialKey),r=e.getModelDescriptor();if(!n){var o=r.getNodeInfosByNodeId(t.nodeIdInfo[0]);if(!o)return;t.materialKey=o.materialId,n=e.materialManager.getMaterialById(t.materialKey),t.color=[];for(var a=0,s=t.nodeIdInfo.length;s>a;a+=1)t.color.push(n.color.r,n.color.g,n.color.b,n.opacity)}var l=!1;n.aoMap&&(l=!0),t.hasUV2=l;var c=wp.getCombinedKeyString([t.materialKey,t.geoId]),h=this.cachedInstance;if(t.nodeIdInfo.length<1)Bu.error("node 数量为 0 ");else if(h.vState[c])Bu.warn("实例化几何已存在:",c);else{h.vState[c]=new Float32Array(t.nodeIdInfo.length),h.vColor[c]=t.color,h.vMirror[c]=new Float32Array(t.nodeIdInfo.length),h.mcol0[c]=t.mcol0,h.mcol1[c]=t.mcol1,h.mcol2[c]=t.mcol2,h.mcol3[c]=t.mcol3,h.muvCol0[c]=[],h.muvCol1[c]=[],h.muvCol2[c]=[],h.userId[c]=[],h.nodeId[c]=[];for(var d=new yt,u=[],p=0,g=t.nodeIdInfo.length;g>p;p+=1)u=[],h.userId[c].push(t.componentKeyInfo[p]),h.nodeId[c].push(t.nodeIdInfo[p]),u.push(t.mcol0[3*p]),u.push(t.mcol0[3*p+1]),u.push(t.mcol0[3*p+2]),u.push(0),u.push(t.mcol1[3*p]),u.push(t.mcol1[3*p+1]),u.push(t.mcol1[3*p+2]),u.push(0),u.push(t.mcol2[3*p]),u.push(t.mcol2[3*p+1]),u.push(t.mcol2[3*p+2]),u.push(0),u.push(t.mcol3[3*p]),u.push(t.mcol3[3*p+1]),u.push(t.mcol3[3*p+2]),u.push(1),d.fromArray(u),0>d.determinant()&&(h.vMirror[c][p]=-1);for(var f in i.getBufferAttributesBy(c),i.cacheBatchedInstanceGeometries(c,t),t.componentInfo)if(t.componentInfo.hasOwnProperty(f))for(var m=0,A=t.componentInfo[f].length;A>m;m+=1){var y=t.componentInfo[f][m];i.cacheNodeIdxByUserId(f,c,y);var v=r.getNodeInfosByNodeId(t.nodeIdInfo[y]);v&&(v.instanceGeometryIndex=y,i.cacheMatrixInfoByUserId(f,c,{matrix:v.matrix,boundingBox:v.boundingBox}))}i._makeInstanceNodeById(e,c,this.instanceGeometryMap[c])}},Nv.prototype.getBufferAttributesBy=function(e){if(this.bufferAttributeMap[e])return this.bufferAttributeMap[e];var t=this.cachedInstance,i=new wc(new Float32Array(t.mcol0[e]),3,!1,1),n=new wc(new Float32Array(t.mcol1[e]),3,!1,1),r=new wc(new Float32Array(t.mcol2[e]),3,!1,1),o=new wc(new Float32Array(t.mcol3[e]),3,!1,1),a=[],s=[],l=[];if(t.muvCol0[e])for(var c=0,h=t.muvCol0[e].length;h>c;c+=1)a.push(new wc(new Float32Array(t.muvCol0[e][c]),2,!1,1)),s.push(new wc(new Float32Array(t.muvCol1[e][c]),2,!1,1)),l.push(new wc(new Float32Array(t.muvCol2[e][c]),2,!1,1));return this.bufferAttributeMap[e]={attributeMcol0:i,attributeMcol1:n,attributeMcol2:r,attributeMcol3:o,attributeMuvCol0Array:a,attributeMuvCol1Array:s,attributeMuvCol2Array:l},this.bufferAttributeMap[e]},Nv.prototype._addInstanceNodeToScene=function(e,t,i){this._getNodeGroup(e).add(i),i.updateMatrixWorld(!0),e.manager.addMeshToOctantMap(e.modelKey,t,new Em(t,i))},Nv.prototype.addAllInstanceNodeToScene=function(e){this.traverseInstanceNodeMap(null,(function(t,i){for(var n=0,r=i.length;r>n;n+=1)e.manager.addMeshToOctantMap(e._encodedDatabagId,t,new Em(t,i[n]))}))},Nv.prototype._makeInstanceNodeById=function(e,t,i){var n=this.cachedInstance,r=e.materialManager,o=this.getMaterialIdByMeshId(t),a=this.getBufferAttributesBy(t),s=r.getInstanceMaterialById(o,e);this.instanceNodeMap[t]||(this.instanceNodeMap[t]=[]);for(var l=this.instanceNodeMap[t],c=0,h=i.length;h>c;c+=1){i[c].setAttribute("mcol0",a.attributeMcol0),i[c].setAttribute("mcol1",a.attributeMcol1),i[c].setAttribute("mcol2",a.attributeMcol2),i[c].setAttribute("mcol3",a.attributeMcol3),a.attributeMuvCol0Array.length>0&&(i[c].setAttribute("muvCol0",a.attributeMuvCol0Array[c]),i[c].setAttribute("muvCol1",a.attributeMuvCol1Array[c]),i[c].setAttribute("muvCol2",a.attributeMuvCol2Array[c])),i[c].setAttribute("aColor",new wc(new Float32Array(n.vColor[t]),4,!1,1)),i[c].setAttribute("vState",new wc(new Float32Array(n.vState[t]),1,!1,1)),i[c].setAttribute("vState2",new wc(new Float32Array(n.vState[t]),1,!1,1)),i[c].setAttribute("vMirror",new wc(new Float32Array(n.vMirror[t]),1,!1,1)),i[c].getAttribute("vState2").array.fill(Wd.HIDDEN);var d=i[c].index;i[c].addGroup(0,d.count,0),i[c].addGroup(0,d.count,1),s[1].visible=!1;var u=new Bv(i[c],s);if(u.visible=!0,u.modelKey=e.modelKey,u.frustumCulled=!1,l.push(u),!wp.isEmptyObject(e.subModel)){var p=n.userId[t][0];if(p){var g=wp.getModelKeyFromComponentKey(p);e.subModel[g]&&u.matrix.copy(e.subModel[g])}}this._addInstanceNodeToScene(e,t,u)}},Nv.prototype._makeInstanceNodes=function(e){Bu.time("makeInstanceNodes");var t=this;this.traverseInstanceGeometryMap((function(i,n){t._makeInstanceNodeById(e,i,n)})),Bu.timeEnd("makeInstanceNodes")},Nv.prototype.resetInstanceMaterial=function(e){var t=this,i=e.materialManager;this.traverseInstanceGeometryMap((function(n,r){var o=t.getMaterialIdByMeshId(n),a=i.getInstanceMaterialById(o,e);a[0].visible=!0,a[1].visible=!1,a.splice(2,1);for(var s=0,l=r.length;l>s;s+=1){if(r[s].getAttribute("vState").array.fill(Wd.NONE),r[0].removed)for(var c in r[0].removed)r[s].getAttribute("vState").array[c]=-1;r[s].getAttribute("vState").needsUpdate=!0,r[s].getAttribute("vState2").array.fill(Wd.HIDDEN),r[s].getAttribute("vState2").needsUpdate=!0,r[s].deleteAttribute("vState3"),r[s].groups.splice(2,1)}}))},Nv.prototype.clearInstanceStateByUserId=function(e){function t(e,t,i,n){for(var r=e.getAttribute("vState").array,o=e.getAttribute("vState2").array,a=0,s=t.length;s>a;a+=1){var l=t[a];r[l]=i,o[l]=n}e.getAttribute("vState").needsUpdate=!0,e.getAttribute("vState2").needsUpdate=!0}var i=this,n=Wd.NONE,r=Wd.HIDDEN;this.traverseNodeIdxMapByUserId(e,(function(e,o){var a=i.getInstanceGeometries(e);if(a)for(var s=0,l=a.length;l>s;s+=1)t(a[s],o,n,r)}))},Nv.prototype.updateInstanceStateByUserId=function(e,t,i,n){function r(e,t,i,n,r,o,a){var s=e.getAttribute("vState").array,l=e.getAttribute("vState2").array,c=e.getAttribute("aColor"),h=e.getAttribute("vState3"),d=null;null!==a&&(h?d=h.array:((d=(h=e.getAttribute("vState").clone()).array).fill(Wd.HIDDEN),e.setAttribute("vState3",h)));for(var u=c?c.array:null,p=0;t.length>p;p+=1){var g=t[p];s[g]=i,l[g]=n,d&&(d[g]=a),null!==u&&null!==r&&(u[4*g]=r[0],u[4*g+1]=r[1],u[4*g+2]=r[2],u[4*g+3]=r[3])}if(e.getAttribute("vState").needsUpdate=!0,e.getAttribute("vState2").needsUpdate=!0,h&&(h.needsUpdate=!0),c&&(c.needsUpdate=!0),o){var f=!1,m=!1;if(!o[0].visible)if(i!==Wd.HIDDEN)o[0].visible=!0;else{for(var A=0,y=s.length;y>A;A+=1)if(s[A]!==Wd.HIDDEN){f=!0;break}o[0].visible=f}if(!o[1].visible)if(n!==Wd.HIDDEN)o[1].visible=!0;else{for(var v=0,C=l.length;C>v;v+=1)if(l[v]!==Wd.HIDDEN){m=!0;break}o[1].visible=m}}}var o=e.materialManager,a=this;this.traverseNodeIdxMapByUserId(t,(function(s,l){var c=a.getInstanceGeometries(s);if(a.getInstanceNodesById(s),c){var h=null,d=null,u=null;if(i===Wd.HIDDEN){h=Wd.HIDDEN,d=Wd.HIDDEN;for(var p=0,g=c.length;g>p;p+=1)r(c[p],l,h,d,null,null)}else{var f=a.getMaterialIdByMeshId(s),m={};if("string"==typeof n&&"blink"===n.split("_")[0]){m.rgbaColor=[];var A=e.blinkMapMaterialNameToMaterial[n];m.rgbaColor.push(A.color.r,A.color.g,A.color.b,A.opacity),m.transparent=A.transparent,m.wireframe=!1}else m=a.getUsableMaterialColorParamsBy(e,f,i,n);var y=m.rgbaColor,v=i;i===Wd.TRANSPARENT&&(v=Wd.OVERRIDED),i===Wd.SELECTED&&a.cacheSelectedObjectIds(t,s);var C=o.getInstanceMaterialById(f,e),I=C[0];if(I.transparent===m.transparent?(h=v,d=Wd.HIDDEN):(h=Wd.HIDDEN,d=v),!0===m.wireframe){var x=C[2]||cA.createInstanceMaterial(cA.getMaterialParameters(I));x.wireframe=!0,x.defines.INSTANCE_STATE_TERTIARY="",3>C.length&&C.push(x),h=Wd.HIDDEN,d=Wd.HIDDEN,u=v}v===Wd.BLINK&&I.setBlinkColor(e.manager.getBlinkColor());for(p=0,g=c.length;g>p;p+=1){if(!0===m.wireframe){var w=c[p].groups[0];c[p].groups[2]={start:w.start,count:w.count,materialIndex:2}}r(c[p],l,h,d,y,C,u)}}}}))},Nv.prototype.getUsableMaterialColorParamsBy=function(e,t,i,n){var r=e.selectedMaterial,o=e.manager.filter._getMaterialByName("scene"),a=e.materialManager,s=e.manager.getOverrideMaterialByName(t)||a.getMaterialById(t),l=null,c=null;switch(i){case Wd.HOVER:n?(l=e.manager.filter._getMaterialByName(n),c=e.manager.sceneState.getHoverColorByMaterial(l)):c=e.manager.sceneState.getHoverColorByMaterial(s);break;case Wd.SELECTED:c=cA.getColorParamsByMaterial(r);break;case Wd.TRANSPARENT:c=cA.getColorParamsByMaterial(o);break;case Wd.OVERRIDED:case Wd.BLINK:n?(l=e.manager.filter._getMaterialByName(n),c=cA.getColorParamsByMaterial(l)):c=cA.getColorParamsByMaterial(s)}return c},Nv.prototype.getInstanceNodesById=function(e){return this.instanceNodeMap[e]},Nv.prototype.traverseInstanceNodeMap=function(e,t){for(var i=this.instanceNodeMap,n=0,r=(e=e||Object.keys(this.instanceNodeMap)).length;r>n;n+=1){var o=e[n];t(o,i[o])}},Nv.prototype.getInstanceGeometries=function(e){return this.instanceGeometryMap[e]},Nv.prototype.cacheInstanceGeometries=function(e,t){if(!this.instanceGeometryMap[e]){var i=this.instanceGeometryMap[e]=[];t instanceof Array||(t=[t]);for(var n=0,r=t.length;r>n;n+=1)i[n]=new xc,i[n].setIndex(t[n].index),t[n].attributes.position&&i[n].setAttribute("position",t[n].attributes.position),t[n].attributes.normal&&i[n].setAttribute("normal",t[n].attributes.normal),t[n].attributes.uv&&i[n].setAttribute("uv",t[n].attributes.uv),t[n].attributes.uv2&&i[n].setAttribute("uv2",t[n].attributes.uv2)}},Nv.prototype.cacheBatchedInstanceGeometries=function(e,t){if(this.instanceGeometryMap[e])return this.instanceGeometryMap[e][0];var i=this.instanceGeometryMap[e]=[],n=new xc;return i[0]=n,n.setIndex(new Ai(t.index,1)),t.position&&t.position.length>0&&n.setAttribute("position",new Ai(t.position,3)),t.normal&&t.normal.length===t.position.length&&n.setAttribute("normal",new Ai(t.normal,3)),t.uv&&t.uv.length>0&&n.setAttribute("uv",new Ai(t.uv,2)),t.hasUV2&&n.getAttribute("uv")&&n.setAttribute("uv2",n.getAttribute("uv")),n.getAttribute("normal")||n.computeVertexNormals(),n},Nv.prototype.traverseInstanceGeometryMap=function(e){var t=this.instanceGeometryMap;for(var i in t)e(i,t[i])},Nv.prototype.disposeInstanceGeometries=function(){this.traverseInstanceGeometryMap((function(e,t){for(var i=0,n=t.length;n>i;i+=1)t[i].dispose()}))},Nv.prototype.cacheInstanceAttributeStateBy=function(e,t,i,n,r){var o=n.materialId;i instanceof Array||(i=[i]);var a=i.length,s=this.cachedInstance;if(!s.vState[t]){s.vState[t]=[],s.vColor[t]=[],s.vMirror[t]=[],s.mcol0[t]=[],s.mcol1[t]=[],s.mcol2[t]=[],s.mcol3[t]=[],s.muvCol0[t]=[],s.muvCol1[t]=[],s.muvCol2[t]=[],s.userId[t]=[],s.nodeId[t]=[];for(var l=0;a>l;l+=1)s.muvCol0[t][l]=[],s.muvCol1[t][l]=[],s.muvCol2[t][l]=[]}var c=r||e.materialManager.getMaterialById(o);s.userId[t].push(n.userId),s.nodeId[t].push(n.nodeId),s.vColor[t].push(c.color.r,c.color.g,c.color.b,c.opacity),s.vState[t].push(0);var h=n.matrix.elements;return s.mcol0[t].push(h[0],h[1],h[2]),s.mcol1[t].push(h[4],h[5],h[6]),s.mcol2[t].push(h[8],h[9],h[10]),s.mcol3[t].push(h[12],h[13],h[14]),0>n.matrix.determinant()?s.vMirror[t].push(-1):s.vMirror[t].push(0),s.vState[t].length-1},Nv.prototype.cacheNodeIdxByUserId=function(e,t,i){var n=this.nodeIdxMapFromUserId;n[e]||(n[e]={}),n[e][t]||(n[e][t]=[]),n[e][t].push(i)},Nv.prototype.getNodeIdxMapByUserId=function(e){return this.nodeIdxMapFromUserId[e]},Nv.prototype.traverseNodeIdxMapByUserId=function(e,t){var i=this.nodeIdxMapFromUserId[e];for(var n in i)t(n,i[n])},Nv.prototype.traverseNodeIdxMap=function(e,t){for(var i=Object.keys(this.nodeIdxMapFromUserId),n=0,r=i.length;r>n;n+=1){var o=i[n],a=this.nodeIdxMapFromUserId[o];if(!t||!t(o))for(var s in a)e(s,a[s])}},Nv.prototype.cacheMatrixInfoByUserId=function(e,t,i){var n=this.matrixInfoMapFromUserId;n[e]||(n[e]={}),n[e][t]||(n[e][t]=[]),n[e][t].push(i)},Nv.prototype.traverseMatrixInfoMapByUserId=function(e,t){var i=this.matrixInfoMapFromUserId[e];for(var n in i)t(n,i[n])},Nv.prototype.getMeshesByUserId=function(e,t){var i=this,n=[];return this.traverseMatrixInfoMapByUserId(t,(function(t,r){for(var o=i.getInstanceNodesById(t),a=0,s=r.length;s>a;a+=1)for(var l=0,c=o.length;c>l;l+=1){var h={};if(h.matrix=e.getModelMatrix().clone().multiply(r[a].matrix),h.mesh=o[l],1===c)h.boundingBox=r[a].boundingBox;else{var d=h.mesh.geometry.boundingBox;d?d=d.clone():(h.mesh.geometry.computeBoundingBox(),d=h.mesh.geometry.boundingBox.clone()),d.applyMatrix4(h.matrix),h.boundingBox=d}n.push(h)}})),n},Nv.prototype._getNodeGroup=function(e){return e._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})},Nv.prototype._hasNodeGroup=function(e){return e._hasNodeGroup(Vp.INSTANCEGEOMETRY)},Nv.prototype.clearSelectedObjectIds=function(){this.selectedObjectIds.length=0},Nv.prototype.cacheSelectedObjectIds=function(e,t){this.selectedObjectIds.push({uid:e,mgId:t})},Nv.prototype.adjustVisibility=function(e,t){var i=this._getNodeGroup(e),n=i.visible;t&&!i.bVisible||(i.visible=t),i.bVisible=n},Nv.prototype.changeVisibilityOfSelectedObjects=function(e,t){var i=null;if(t)for(var n=0,r=(i=this.selectedMeshes).length;r>n;n+=1){var o=i[n].object,a=i[n].indices;if(a){if(a.length){for(var s=o.geometry.getAttribute("vState").array,l=o.geometry.getAttribute("vState2").array,c=0,h=a.length;h>c;c+=1)a[c].state?s[a[c].idx]=a[c].state:a[c].state2&&(l[a[c].idx]=a[c].state2);o.geometry.getAttribute("vState").needsUpdate=!0,o.geometry.getAttribute("vState2").needsUpdate=!0}}else o.visible=i[n].visibility}else{this.selectedMeshes.length=0,i=this.selectedMeshes;for(var d={},u=0,p=this.selectedObjectIds.length;p>u;u+=1)d[this.selectedObjectIds[u].mgId]=!0;var g=Object.keys(d);this.traverseInstanceNodeMap(g,(function(e,t){for(var n=0,r=t.length;r>n;n+=1){for(var o=t[n],a=[],s=o.geometry.getAttribute("vState").array,l=o.geometry.getAttribute("vState2").array,c=0,h=s.length;h>c;c+=1)s[c]===Wd.SELECTED?(a.push({idx:c,state:s[c]}),s[c]=Wd.HIDDEN):l[c]===Wd.SELECTED&&(a.push({idx:c,state2:l[c]}),l[c]=Wd.HIDDEN);a.length?(o.geometry.getAttribute("vState").needsUpdate=!0,o.geometry.getAttribute("vState2").needsUpdate=!0,i.push({object:o,indices:a})):(i.push({object:o,indices:null,visibility:o.visible}),o.visible=!1)}}))}},Nv.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){var i=null;if(t)for(var n=0,r=(i=this.nonSelectedMeshes).length;r>n;n+=1){var o=i[n].object,a=i[n].indices;if(a){if(a.length){for(var s=o.geometry.getAttribute("vState").array,l=o.geometry.getAttribute("vState2").array,c=0,h=a.length;h>c;c+=1)void 0!==a[c].state?s[a[c].idx]=a[c].state:void 0!==a[c].state2&&(l[a[c].idx]=a[c].state2);o.geometry.getAttribute("vState").needsUpdate=!0}}else o.visible=i[n].visibility}else{this.nonSelectedMeshes.length=0,i=this.nonSelectedMeshes;for(var d={},u=0,p=this.selectedObjectIds.length;p>u;u+=1)d[this.selectedObjectIds[u].mgId]=!0;this.traverseInstanceNodeMap(null,(function(e,t){if(d[e])for(var n=0,r=t.length;r>n;n+=1){for(var o=[],a=(p=t[n]).geometry.getAttribute("vState").array,s=p.geometry.getAttribute("vState2").array,l=0,c=a.length;c>l;l+=1)a[l]!==Wd.SELECTED&&a[l]!==Wd.HIDDEN?(o.push({idx:l,state:a[l]}),a[l]=Wd.HIDDEN):s[l]!==Wd.SELECTED&&s[l]!==Wd.HIDDEN&&(o.push({idx:l,state2:s[l]}),s[l]=Wd.HIDDEN);o.length&&(p.geometry.getAttribute("vState").needsUpdate=!0,p.geometry.getAttribute("vState2").needsUpdate=!0,i.push({object:p,indices:o}))}else for(var h=0,u=t.length;u>h;h+=1){var p;i.push({object:p=t[h],indices:null,visibility:p.visible}),p.visible=!1}}))}},Nv.prototype.restoreVisibilityOfObjects=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0},Nv.prototype.getMeshIdByNodeInfo=function(e){return wp.getCombinedKeyString([e.materialId,e.geometryId])},Nv.prototype.getMaterialIdByMeshId=function(e){return wp.splitCombinedKeyString(e)[0]},Nv.prototype.getOriginalMaterialIdByMeshId=function(e){var t=wp.splitCombinedKeyString(e);return wp.splitCombinedKeyString(t[0],"_")[0]},Nv.prototype.disposeBufferAfterVbo=function(){if(!this.bufferDestroyed){this.bufferDestroyed=!0;var e=["muvCol0","muvCol1","muvCol2","mcol0","mcol1","mcol2","mcol3"];xd.EnableExplosion&&e.pop(),this.traverseInstanceGeometryMap((function(t,i){for(var n=0,r=i.length;r>n;n+=1)by.disposeBufferFromGeometry(i[n],e)}))}},Nv.prototype.getGeometryBuffersByUserId=function(e,t){var i=e.getModelDescriptor().getInstancedNodeInfosById(t);if(!i)return[];for(var n=[],r=e.getDatabagId(),o=0,a=i.length;a>o;o+=1){var s=i[o],l=this.getGeometryByNodeInfo(e,s),c=this._isLines(s);if(l instanceof Array)for(var h=0,d=l.length;d>h;h+=1)n.push({isLines:c,modelKey:r,nodeId:s.nodeId,position:l[h].getAttribute("position").array,index:l[h].getIndex().array,matrix:s.matrix});else n.push({modelKey:r,nodeId:s.nodeId,position:l.getAttribute("position").array,index:l.getIndex().array,matrix:s.matrix})}return n},Nv.prototype.explode=function(e,t,i){var n=this;for(var r in n.nodeIdxMapFromUserId)n.traverseNodeIdxMapByUserId(r,(function(o,a){var s=e.manager.getComponentInfoByUserId(r).boundingBox,l=wp.computeExplodeTranslation(t,s,i),c=n.getInstanceGeometries(o);c&&Ov(c[0],a,l)}))},Nv.prototype.explosion=function(e,t){var i=Object.keys(this.nodeIdxMapFromUserId);t.componentKey=i,this.componentsExplosion(e,t)},Nv.prototype.closeExplosion=function(e){this.explosion(e,{})},Nv.prototype.componentsExplosion=function(e,t){var i=t.coefficientX||1,n=t.coefficientY||1,r=t.coefficientZ||1,o=t.offsetX||0,a=t.offsetY||0,s=t.offsetZ||0,l=null;if(t.center)l=(new Ke).fromArray(t.center);else if(1!==i||1!==n||1!==r||0!==o||0!==a||0!==s)return;var c=Array.isArray(t.componentKey)?t.componentKey:[t.componentKey],h=new Ke,d=new He,u=new Ke(0,0,0),p=new Ke(0,0,0),g=new Ke,f=new yt,m=e.getModelMatrix();m&&l&&(f.copy(m).invert(),l.applyMatrix4(f));var A=e.manager,y=!1,v=new Ke,C=new Ge,I=new Ke(1,1,1);wp.isEmptyObject(e.subModel)||(y=!0);for(var x=0,w=c.length;w>x;x+=1){var M=c[x];if(M){var E=e.getModelDescriptor().getInstancedNodeInfosById(M);if(E)for(var B=this.nodeIdxMapFromUserId[M],S=0,b=E.length;b>S;S+=1){var k=E[S];if(k){var D=k.materialId+"&"+k.geometryId,T=new Ke(1,1,1);if(y)this.getInstanceNodesById(D)[0].matrix.decompose(v,C,I),T.divide(I);if(d.copy(k.boundingBox),d.getCenter(h),k.userData||(k.userData={}),u.set(0,0,0),p.set(0,0,0),1!==i||1!==n||1!==r||k.userData.explosionFactor){k.userData.explosionFactor||(k.userData.explosionFactor=new Ke(1,1,1),k.userData.explosionBaseDifference=h.sub(l).clone().multiply(T));var R=k.userData.explosionFactor,U=k.userData.explosionBaseDifference;u.set((i-R.x)*U.x,(n-R.y)*U.y,(r-R.z)*U.z),1===i&&1===n&&1===r?(k.userData.explosionFactor=void 0,k.userData.explosionBaseDifference=void 0):R.set(i,n,r)}if(0!==o||0!==a||0!==s||k.userData.explosionOffset){k.userData.explosionOffset||(k.userData.explosionOffset=new Ke(0,0,0));var F=k.userData.explosionOffset;p.set(o*T.x-F.x,a*T.y-F.y,s*T.z-F.z),0===o&&0===a&&0===s?k.userData.explosionOffset=void 0:F.set(o*T.x,a*T.y,s*T.z)}if(g.set(u.x+p.x,u.y+p.y,u.z+p.z),0!==g.x||0!==g.y||0!==g.z){k.userData.explosionFactor||k.userData.explosionOffset?A.explosionList[M]||(A.explosionList[M]=!0):delete A.explosionList[M];var Q=g.clone().multiply(I),L=f;y&&(L=f.clone()).makeTranslation(g.x,g.y,g.z),f.makeTranslation(Q.x,Q.y,Q.z),k.transformation||(k.transformation=!0,k.transformationOriginalMatrix=k.matrix.clone(),k.applyMatrix=new yt,k.transformationOriginalBoundingBox=k.boundingBox.clone()),k.matrix.premultiply(L),k.applyMatrix.premultiply(f),k.boundingBox.copy(k.transformationOriginalBoundingBox).applyMatrix4(k.applyMatrix);var O=k.matrix,N=B[D];if(N)for(var P=0,G=N.length;G>P;P+=1){var K=N[P];if(k.instanceGeometryIndex===K){var V=this.getInstanceGeometries(D);if(!V)continue;var Y=V[0],H=Y.getAttribute("mcol0"),j=Y.getAttribute("mcol1"),W=Y.getAttribute("mcol2"),J=Y.getAttribute("mcol3");H.array[3*K]=O.elements[0],H.array[3*K+1]=O.elements[1],H.array[3*K+2]=O.elements[2],H.needsUpdate=!0,j.array[3*K]=O.elements[4],j.array[3*K+1]=O.elements[5],j.array[3*K+2]=O.elements[6],j.needsUpdate=!0,W.array[3*K]=O.elements[8],W.array[3*K+1]=O.elements[9],W.array[3*K+2]=O.elements[10],W.needsUpdate=!0,J.array[3*K]=O.elements[12],J.array[3*K+1]=O.elements[13],J.array[3*K+2]=O.elements[14],J.needsUpdate=!0}}}}}}}},Nv.prototype.closeComponentsExplosion=function(e,t){t=Array.isArray(t)?t:[t];this.componentsExplosion(e,{componentKey:t})},Nv.prototype._isLines=function(e){return e.type===zy.EnumNodeItemType.LINE},Nv.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new Lv(this)),this.pickingNodeGenerator},Nv.prototype.calculateClippingIds=function(e,t){var i=this;for(var n in i.nodeIdxMapFromUserId)this.traverseMatrixInfoMapByUserId(n,(function(n,r){for(var o=i.getInstanceNodesById(n),a=0,s=r.length;s>a;a+=1)for(var l=0,c=o.length;c>l;l+=1)o[l].intersectBoxWithClipPlane(e,r[a])&&o[l].getIntersectionPoints(e,r[a],t,!0)}))};var Pv=function(e){$y.call(this,e),this.nodeGroupName="PickingInstancedWireFrameGroup"};Object.assign(Pv.prototype,$y.prototype),SA(Pv,[{key:"generatePickingMeshes",value:function(){this.manager.generateWireframe(),this.manager.updateNodes();var e=this,t=this.manager,i=t.manager.getCachedInstanceData();t._traverseWireframeGeometryMap((function(n,r){for(var o=[],a=t._getWireframeMeshById(n),s=0,l=r.length;l>s;s+=1){var c=r[s],h=new xc,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 wc(new Float32Array(i.vState[n]),1,!1,1)),h.setIndex(c.getIndex());var u=new La(h,cA.DefaultMaterial);d.matrixWorld.decompose(u.position,u.quaternion,u.scale),u.name=n,u.frustumCulled=!1,u.renderOrder=2,o.push(u)}e.addToPickingNodeMap(n,o)}))}},{key:"updatePickingMeshesState",value:function(e,t,i){if(this.pickingNodeMap)for(var n=this.manager.manager,r=this.pickingNodeMap,o=0,a=t.length;a>o;o+=1){var s=t[o];if(n.isPickableNode(s)){var l=n.getMeshManager().getNodeIdxMapByUserId(s);if(l)for(var c=Object.keys(l),h=0,d=c.length;d>h;h+=1){var u=c[h],p=r[u];if(p)for(var g=l[u],f=0,m=p.length;m>f;f+=1){var A=p[f];A.material=e,A.visible=!0;for(var y=A.geometry,v=y.getAttribute("vState").array,C=0,I=g.length;I>C;C+=1)v[g[C]]=Wd.NONE;y.getAttribute("vState").needsUpdate=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var e=this.pickingNodeMap,t=Object.keys(e),i=0,n=t.length;n>i;i+=1)for(var r=e[t[i]],o=0,a=r.length;a>o;o+=1)r[o].visible=!1,r[o].geometry.getAttribute("vState").array.fill(Wd.HIDDEN),r[o].geometry.getAttribute("vState").needsUpdate=!0}}]);var Gv=function(e){this.manager=e,this.model=e.model,this.wireframeGeometryMap={},this.wireframeMeshMap={},this.noNeedWireframingIdMap={},this.generated=!1};Gv.prototype.destroy=function(){this.disposeGeometries(),this.wireframeGeometryMap=null,this.noNeedWireframingIdMap=null,this.manager=null},Gv.prototype.clearData=function(){this.generated=!1,this.bufferDestroyed=!1,this.wireframeMesh={},this.disposeGeometries(),this.pickingNodeGenerator&&this.pickingNodeGenerator.clearData(),this.wireframeGeometryMap={},this.noNeedWireframingIdMap={}},Gv.prototype.disposeGeometries=function(){this._traverseWireframeGeometryMap((function(e,t){for(var i=0,n=t.length;n>i;i+=1)t[i].dispose()}))},Gv.prototype.updateNodes=function(e){e||(e=this.model);var t=null;e.isActivateWireframe()?(this.generateWireframe(e),(t=this._getNodeGroup(e)).updateMatrixWorld(!0),t.visible=!0):this._hasNodeGroup(e)&&((t=this._getNodeGroup(e)).visible=!1)},Gv.prototype.resetInstanceMaterial=function(){var e=Wd.NONE;this._traverseWireframeGeometryMap((function(t,i){for(var n=0,r=i.length;r>n;n+=1){for(var o=i[n].getAttribute("vState").array,a=0,s=o.length;s>a;a+=1)o[a]=e;i[n].getAttribute("vState").needsUpdate=!0}})),this._updateNoWireframingState()},Gv.prototype.updateInstanceWireframeByUserId=function(e,t,i,n){if(i===Wd.HIDDEN||i===Wd.NONE||i===Wd.OVERRIDED){var r=null;if(n){var o=e.getFilter()._getMaterialByName(n),a=cA.getColorParamsByMaterial(o);r=a.rgbaColor}var s=this;this.manager.traverseNodeIdxMapByUserId(t,(function(e,t){s._setInstanceWireframeState(e,t,i,r)}))}},Gv.prototype._updateNoWireframingState=function(){var e=this,t=Wd.HIDDEN;this.manager.traverseNodeIdxMap((function(i,n){e._setInstanceWireframeState(i,n,t)}),(function(t){return e._isNeedWireframing(t)}))},Gv.prototype._setInstanceWireframeState=function(e,t,i,n){var r=this._getWireframeGeometryById(e);if(r)for(var o=0,a=r.length;a>o;o+=1){var s=r[o].getAttribute("vState").array,l=null,c=null;n&&(c=(l=r[o].getAttribute("aColor"))?l.array:null);for(var h=0,d=t.length;d>h;h+=1){var u=t[h];s[u]=i,null!==c&&(c[4*u]=n[0],c[4*u+1]=n[1],c[4*u+2]=n[2],c[4*u+3]=n[3])}r[o].getAttribute("vState").needsUpdate=!0,l&&(l.needsUpdate=!0)}},Gv.prototype._generateInstanceWireframe=function(e){e||(e=this.model),this._collectNoWireframingIds(e),this._createInstanceWireframeGeometries(e),this._makeInstanceWireframe(e),this._updateNoWireframingState()},Gv.prototype.generateWireframe=function(e,t){e||(e=this.model),this.generated||(Bu.time("createInstancedWireframeGeometry"),this._generateInstanceWireframe(e),Bu.timeEnd("createInstancedWireframeGeometry"),this.generated=!0)},Gv.prototype._collectNoWireframingIds=function(e){var t=this,i=e.manager.filter;e.getModelDescriptor().traverseInstancedNodeInfos(null,(function(e,n){n&&i._hasRenderWithBoardlineFilter()&&!i._isRenderWithBoardline(n[0])&&(t.noNeedWireframingIdMap[e]=!0)}))},Gv.prototype._createInstanceWireframeGeometries=function(e){var t=this,i={};this.manager.traverseInstanceGeometryMap((function(e,n){for(var r=t._getWireframeBufferById(e,n,i),o=t.wireframeGeometryMap[e]=[],a=0,s=r.length;s>a;a+=1){var l=new xc;l.setIndex(r[a].index),l.setAttribute("position",r[a].position),o.push(l)}})),i=null},Gv.prototype._makeInstanceWireframe=function(e){var t=this,i=this.manager,n=i.getCachedInstanceData(),r=this._getWireframeMaterial(e);this._traverseWireframeGeometryMap((function(o,a){for(var s=i.getBufferAttributesBy(o),l=t.wireframeMeshMap[o]=[],c=0,h=a.length;h>c;c+=1){a[c].setAttribute("vState",new wc(new Float32Array(n.vState[o]),1,!1,1)),a[c].setAttribute("mcol0",s.attributeMcol0),a[c].setAttribute("mcol1",s.attributeMcol1),a[c].setAttribute("mcol2",s.attributeMcol2),a[c].setAttribute("mcol3",s.attributeMcol3);var d=new La(a[c],r);if(d.matrixAutoUpdate=!1,d.frustumCulled=!1,!wp.isEmptyObject(e.subModel)){var u=n.userId[o][0];if(u){var p=wp.getModelKeyFromComponentKey(u);e.subModel[p]&&d.matrix.copy(e.subModel[p])}}l.push(d),t._addWireframeNodeToScene(e,d)}}))},Gv.prototype._addWireframeNodeToScene=function(e,t){this._getNodeGroup(e).add(t),t.updateMatrixWorld(!0)},Gv.prototype._isNeedWireframing=function(e){return!this.noNeedWireframingIdMap||!this.noNeedWireframingIdMap[e]},Gv.prototype._getWireframeMaterial=function(e){return e.getInstanceWireframeMaterial()},Gv.prototype._getWireframeBufferById=function(e,t,i){var n=this.getGeometryIdByMeshId(e);if(i[n])return i[n];i[n]=[];for(var r=0,o=t.length;o>r;r+=1){var a=t[r];i[n].push({index:af(a.attributes.position.array,a.index.array),position:a.attributes.position})}return i[n]},Gv.prototype._getWireframeGeometryById=function(e){return this.wireframeGeometryMap[e]},Gv.prototype._getWireframeMeshById=function(e){return this.wireframeMeshMap[e]},Gv.prototype._traverseWireframeGeometryMap=function(e){var t=this.wireframeGeometryMap;for(var i in t)e(i,t[i])},Gv.prototype._getNodeGroup=function(e){return e._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})},Gv.prototype._hasNodeGroup=function(e){return e._hasNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY)},Gv.prototype.getGeometryIdByMeshId=function(e){return wp.splitCombinedKeyString(e)[1]},Gv.prototype.adjustVisibility=function(e,t){if(e.isActivateWireframe()){var i=this._getNodeGroup(e),n=i.visible;t&&!i.bVisible||(i.visible=t),i.bVisible=n}},Gv.prototype.changeVisibilityOfSelectedObjects=function(e,t){},Gv.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){this.adjustVisibility(e,t)},Gv.prototype.restoreVisibilityOfObjects=function(){},Gv.prototype.disposeBufferAfterVbo=function(){if(this.generated&&!this.bufferDestroyed){this.bufferDestroyed=!0;var e=["mcol0","mcol1","mcol2","mcol3"];xd.EnableExplosion&&e.pop(),this._traverseWireframeGeometryMap((function(t,i){for(var n=0,r=i.length;r>n;n+=1)by.disposeBufferFromGeometry(i[n],e)}))}},Gv.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new Pv(this)),this.pickingNodeGenerator};var Kv=function(e){this.model=e,this.meshManager=new Nv(this),this.wireframeManager=new Gv(this)};Kv.prototype.destroy=function(){this.meshManager.destroy(),this.meshManager=null,this.wireframeManager.destroy(),this.wireframeManager=null},Kv.prototype.clearData=function(){this.meshManager.clearData(),this.wireframeManager.clearData()},Kv.prototype.getGeometryByNodeInfo=function(e,t){return this.meshManager.getGeometryByNodeInfo(e,t)},Kv.prototype.getInstanceGeometries=function(){return this.meshManager.instanceGeometryMap},Kv.prototype.traverseInstanceGeometryMap=function(e){this.meshManager.traverseInstanceGeometryMap(e)},Kv.prototype.getCachedInstanceData=function(){return this.meshManager.cachedInstance},Kv.prototype.getBufferAttributesBy=function(e){return this.meshManager.getBufferAttributesBy(e)},Kv.prototype.traverseNodeIdxMapByUserId=function(e,t){this.meshManager.traverseNodeIdxMapByUserId(e,t)},Kv.prototype.traverseNodeIdxMap=function(e,t){this.meshManager.traverseNodeIdxMap(e,t)},Kv.prototype.getMeshesByUserId=function(e,t){return this.meshManager.getMeshesByUserId(e,t)},Kv.prototype._updateInstanceMaterialByUserId=function(e,t,i,n){this.meshManager.updateInstanceStateByUserId(e,t,i,n)},Kv.prototype._updateInstanceMaterialForWireFrameByUserId=function(e,t,i,n){this.wireframeManager.updateInstanceWireframeByUserId(e,t,i,n)},Kv.prototype._updateInstanceMaterial=function(e){Bu.time("update instance material");var t=Zd;for(var i in this.clearSelectedObjectIds(),this.filteredIds){var n=this.filteredIds[i];if(n[t.HIDDEN])this._updateInstanceMaterialByUserId(e,i,Wd.HIDDEN),this._updateInstanceMaterialForWireFrameByUserId(e,i,Wd.HIDDEN);else if(n[t.NEWBLINK]&&this._updateInstanceMaterialByUserId(e,i,Wd.OVERRIDED,n[t.NEWBLINK]),n[t.TRANSPARENT])this._updateInstanceMaterialByUserId(e,i,Wd.TRANSPARENT);else{if(e.manager.isSelectPriority()){if(n[t.SELECTED]){this._updateInstanceMaterialByUserId(e,i,Wd.SELECTED);continue}if(n[t.BLINK]){n[t.OVERRIDED]?this._updateInstanceMaterialByUserId(e,i,Wd.BLINK,n[t.OVERRIDED]):this._updateInstanceMaterialByUserId(e,i,Wd.BLINK);continue}}else{if(n[t.BLINK]){n[t.OVERRIDED]?this._updateInstanceMaterialByUserId(e,i,Wd.BLINK,n[t.OVERRIDED]):this._updateInstanceMaterialByUserId(e,i,Wd.BLINK);continue}if(n[t.SELECTED]){this._updateInstanceMaterialByUserId(e,i,Wd.SELECTED);continue}}n[t.HOVER]?n[t.OVERRIDED]?this._updateInstanceMaterialByUserId(e,i,Wd.HOVER,n[t.OVERRIDED]):this._updateInstanceMaterialByUserId(e,i,Wd.HOVER):n[t.OVERRIDED]&&this._updateInstanceMaterialByUserId(e,i,Wd.OVERRIDED,n[t.OVERRIDED])}}this._updateInstanceMaterialForWireFrame(e),Bu.timeEnd("update instance material")},Kv.prototype._updateInstanceMaterialForWireFrame=function(e){var t=this.mapFilteredUserIdsForWireFrame;if(t)for(var i=Object.keys(t),n=0,r=i.length;r>n;n+=1){var o=i[n];this.filteredIds&&this.filteredIds[o]&&this.filteredIds[o][Zd.HIDDEN]||this._updateInstanceMaterialForWireFrameByUserId(e,o,Wd.OVERRIDED,t[o])}},Kv.prototype._resetInstanceMaterial=function(e){this.meshManager.resetInstanceMaterial(e),this.wireframeManager.resetInstanceMaterial()},Kv.prototype._collectFilteredUserIds=function(e,t,i){var n=e.manager.filter,r=n._hasHiddenFileIdFilter(),o=n._hasVisibleFilter(),a=n._hasOverrideMaterialFilter(),s=n._hasTransparentFilter(),l=e.hasReplacedUserId(),c=e.hasHiddenUserId(),h=this.filteredIds={};if(this.transparentUserIdSetObject={},r||o||a||s||l||c)for(var d=Zd,u=0;t.length>u;u+=1){var p=t[u],g=i[p];if(g&&g.length){var f=g[0];if(r&&n._isHiddenFileId(f)||o&&!1===n._isVisible(f)||e.isReplacedUserId(p)||e.isHiddenSourceObjectUserId(p))h[p]||(h[p]={}),h[p][d.HIDDEN]=!0;else if(e.blinkMapComponentKeyToMaterialName&&e.blinkMapComponentKeyToMaterialName[p]&&e.blinkMapComponentKeyToRenderState[p])h[p]||(h[p]={}),h[p][d.NEWBLINK]=e.blinkMapComponentKeyToMaterialName[p];else if(s&&n._isTransparent(f))h[p]||(h[p]={}),h[p][d.TRANSPARENT]=!0,this.transparentUserIdSetObject[p]=!0;else if(a&&n._hasOverrideMaterial(f)){var m=n._getOverrideMaterial(f),A=null;if(Array.isArray(m)){var y=f.nodeId.replace(f.componentKey+"_",""),v=parseInt(y,10);""===(A=null!==m[v]?m[v].name:"")&&(A=f.materialId),h[p]||(h[p]={}),h[p][d.OVERRIDED]||(h[p][d.OVERRIDED]=[]),h[p][d.OVERRIDED][v]=A}else""!==(A=null!==m?m.name:"")&&(h[p]||(h[p]={}),h[p][d.OVERRIDED]=A)}else;}}},Kv.prototype._collectModelFiltered=function(e){var t=e.manager.filter,i=e.modelKey,n=t._hasModelOverrideMaterialFilter(),r=t._hasModelTransparentFilter(),o=e.manager.modelState.modelSelectionSet;return e.manager.modelState.hoverId===i?e.manager.modelState.getHoverMaterial():o.hasOwnProperty(e.modelKey)?e.manager.modelState.selectionMaterial:r&&t._isModelTransparent(i)?t._getMaterialByName("scene"):n&&t._hasModelOverrideMaterial(i)?t._getModelOverrideMaterial(i):null},Kv.prototype._collectFilteredUserIdsForWireFrame=function(e,t,i){var n=e.getFilter(),r=n._hasOverrideMaterialFilterForWireFrame();if(this.mapFilteredUserIdsForWireFrame={},r)for(var o=Zd,a=0;t.length>a;a+=1){var s=t[a];if(!(this.filteredIds&&this.filteredIds[s]&&this.filteredIds[s][o.HIDDEN])){var l=i[s];if(l&&l.length){var c=l[0];if(n._hasOverrideMaterialForWireFrame(c)){var h=n._getOverrideMaterialForWireFrame(c),d=null!==h?h.name:"";""!==d&&(this.mapFilteredUserIdsForWireFrame[s]=d)}}}}},Kv.prototype._collectSelectedUserIds=function(e,t){var i=this.filteredIds=this.filteredIds||{},n=Zd,r={};for(var o in e)if(this.model.modelKey===o)for(var a in e[o])t[a]&&(i[a]||(i[a]={}),i[a][n.SELECTED]=!0,r[a]=!0);this.selectedUserIds=Object.keys(r)},Kv.prototype._clearSelectedState=function(e){if(this.filteredIds&&this.selectedUserIds&&this.selectedUserIds.length){for(var t=0,i=this.selectedUserIds.length;i>t;t+=1){var n=this.selectedUserIds[t];this.filteredIds[n]&&(this.meshManager.clearInstanceStateByUserId(n),delete this.filteredIds[n][Zd.SELECTED])}this.selectedUserIds=null}},Kv.prototype._collectHoveredUserIds=function(e,t){var i=this.filteredIds=this.filteredIds||{};this.hoverdUserId=void 0,e&&t[e]&&(i[e]||(i[e]={}),i[e][Zd.HOVER]=!0,this.hoverdUserId=e)},Kv.prototype._clearHoveredState=function(e){this.filteredIds&&this.hoverdUserId&&this.filteredIds[this.hoverdUserId]&&(this.meshManager.clearInstanceStateByUserId(this.hoverdUserId),delete this.filteredIds[this.hoverdUserId][Zd.HOVER],this.hoverdUserId=void 0)},Kv.prototype._collectBlinkedUserIds=function(e,t){var i=this.filteredIds=this.filteredIds||{},n=Zd,r={};for(var o in e)t[o]&&(i[o]||(i[o]={}),i[o][n.BLINK]=!0,r[o]=!0);this.blinkUserIds=Object.keys(r)},Kv.prototype._clearBlinkedState=function(e){if(this.filteredIds&&this.blinkUserIds&&this.blinkUserIds.length){for(var t=0,i=this.blinkUserIds.length;i>t;t+=1){var n=this.blinkUserIds[t];this.filteredIds[n]&&(this.meshManager.clearInstanceStateByUserId(n),delete this.filteredIds[n][Zd.BLINK])}this.blinkUserIds=null}},Kv.prototype.applyFilter=function(e,t){if(this.hasNodeInfo(e)){this.updateNodes(e),this._resetInstanceMaterial(e);var i=null;i=t||e.getModelDescriptor().getInstancedUserIds();var n=e.getModelDescriptor().getInstancedNodeInfos();this._collectFilteredUserIds(e,i,n),this._collectFilteredUserIdsForWireFrame(e,i,n),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,n),this._collectBlinkedUserIds(e.manager.sceneState.getBlinkComponentsIdMap(),n),this._collectHoveredUserIds(e.manager.sceneState.hoverId,n),this._updateInstanceMaterial(e),this.updateNodes(e)}},Kv.prototype.applySelection=function(e){if(this.hasNodeInfo(e)){this._resetInstanceMaterial(e);var t=e.getModelDescriptor().getInstancedNodeInfos();this._clearSelectedState(e),this._clearHoveredState(e),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,t),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this._updateInstanceMaterial(e),this.updateNodes(e)}},Kv.prototype.clearSelection=function(e){this._clearSelectedState(e),this.applyHover(e)},Kv.prototype.applyHover=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getInstancedNodeInfos();this._clearHoveredState(e),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this._updateInstanceMaterial(e),this.updateNodes(e)}},Kv.prototype.clearHover=function(e){this._clearHoveredState(e),this._updateInstanceMaterial(e),this.updateNodes(e)},Kv.prototype.applyBlink=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getInstancedNodeInfos();this._clearBlinkedState(e),this._clearHoveredState(e),this._collectBlinkedUserIds(e.manager.sceneState.getBlinkComponentsIdMap(),t),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this._updateInstanceMaterial(e),this.updateNodes(e)}},Kv.prototype.clearBlink=function(e){this._clearBlinkedState(e),this.applyHover(e)},Kv.prototype.applyReplacement=function(e){this._updateInstanceMaterial(e),this.updateNodes(e)},Kv.prototype.hasNodeInfo=function(e){return Boolean(e.getModelDescriptor().getInstancedNodeInfos())},Kv.prototype.updateNodes=function(e){if(this.hasNodeInfo(e)){var t;if(t=this._collectModelFiltered(e))for(var i=e.getModelDescriptor().getInstancedUserIds(),n=0;i.length>n;n+=1)this._updateInstanceMaterialByUserId(e,i[n],Wd.OVERRIDED,t);this.meshManager.updateNodes(e),this.wireframeManager.updateNodes(e)}},Kv.prototype.generateWireframe=function(e,t){this.wireframeManager.generateWireframe(e,t)},Kv.prototype.createMeshNodes=function(e,t){this.meshManager.createMeshNodes(e,t)},Kv.prototype.createInstancedMeshNodes=function(e,t){this.meshManager._createBatchedInstanceGeometries(e,t)},Kv.prototype.clearCachedData=function(){this.meshManager.disposeGeometries()},Kv.prototype.getMeshesByUserIds=function(e,t){this.meshManager.getMeshesByUserId(e,t)},Kv.prototype.clearSelectedObjectIds=function(){this.meshManager.clearSelectedObjectIds()},Kv.prototype.adjustVisibility=function(e,t){this.meshManager.adjustVisibility(e,t),this.wireframeManager.adjustVisibility(e,t)},Kv.prototype.changeVisibilityOfSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfSelectedObjects(e,t)},Kv.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfNonSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfNonSelectedObjects(e,t)},Kv.prototype.restoreVisibilityOfObjects=function(){this.meshManager.restoreVisibilityOfObjects(),this.wireframeManager.restoreVisibilityOfObjects()},Kv.prototype.disposeBufferAfterVbo=function(){this.meshManager.disposeBufferAfterVbo(),this.wireframeManager.disposeBufferAfterVbo()},Kv.prototype.addAllInstanceNodeToScene=function(e){this.meshManager.addAllInstanceNodeToScene(e)},Kv.prototype.getGeometryBuffersByUserId=function(e,t){return this.meshManager.getGeometryBuffersByUserId(e,t)},Kv.prototype.explode=function(e,t,i){this.meshManager.explode(e,t,i)},Kv.prototype.explosion=function(e,t){this.meshManager.explosion(e,t)},Kv.prototype.closeExplosion=function(e){this.meshManager.closeExplosion(e)},Kv.prototype.componentsExplosion=function(e,t){this.meshManager.componentsExplosion(e,t)},Kv.prototype.closeComponentsExplosion=function(e,t){this.meshManager.closeComponentsExplosion(e,t)},Kv.prototype.isPickableNode=function(e){if(!this.filteredIds||!this.filteredIds[e])return!0;var t=this.filteredIds[e];return!(t[Zd.HIDDEN]||t[Zd.TRANSPARENT]&&!xd.EnableSelectionByTranslucent)},Kv.prototype.isHiddenNode=function(e){return!!(this.filteredIds&&this.filteredIds[e]&&this.filteredIds[e][Zd.HIDDEN])},Kv.prototype.getMeshManager=function(){return this.meshManager},Kv.prototype.getWireFrameManager=function(){return this.wireframeManager},Kv.prototype.getTransparentUserIds=function(){return this.transparentUserIdSetObject};var Vv=function(e,t){_y.call(this,e),this.defaultManager=new Qv(t,e),this.instancedManager=new Kv(e),this.loader=new Xy(this)};function Yv(e,t){var i=e.__state.conversionName.toString(),n=Math.round(e.r),r=Math.round(e.g),o=Math.round(e.b),a=e.a,s=Math.round(e.h),l=e.s.toFixed(1),c=e.v.toFixed(1);if(t||"THREE_CHAR_HEX"===i||"SIX_CHAR_HEX"===i){for(var h=e.hex.toString(16);6>h.length;)h="0"+h;return"#"+h}return"CSS_RGB"===i?"rgb("+n+","+r+","+o+")":"CSS_RGBA"===i?"rgba("+n+","+r+","+o+","+a+")":"HEX"===i?"0x"+e.hex.toString(16):"RGB_ARRAY"===i?"["+n+","+r+","+o+"]":"RGBA_ARRAY"===i?"["+n+","+r+","+o+","+a+"]":"RGB_OBJ"===i?"{r:"+n+",g:"+r+",b:"+o+"}":"RGBA_OBJ"===i?"{r:"+n+",g:"+r+",b:"+o+",a:"+a+"}":"HSV_OBJ"===i?"{h:"+s+",s:"+l+",v:"+c+"}":"HSVA_OBJ"===i?"{h:"+s+",s:"+l+",v:"+c+",a:"+a+"}":"unknown format"}(Vv.prototype=Object.create(_y.prototype)).prepare=function(e,t){this.isLoaded()&&!this.isHidden()&&(this.prepareWireframe(this.model,t),this.model.getMaterialManager(),this.model.getMaterialManager()._updateTextureMapping(),!this.model.lightmap||this.model.enableLightmap===xd.EnableLightmap&&this.model.lightmapIntensity===xd.LightmapIntensity||(this.model.enableLightmap=xd.EnableLightmap,this.model.lightmapIntensity=xd.LightmapIntensity,this.rebuildIndicesforLightmap(),this.updateNodes()))},Vv.prototype.settleData=function(e){this.addNodeInfoToOctantMap(),this.createMeshNodes(e)},Vv.prototype.addNodeInfoToOctantMap=function(){var e=this.model.manager,t=this.model.getEncodedDatabagId();this.loader.getDescriptor().traverseNodeInfosByComponent((function(i,n){e.addNodeInfoToOctantMap(t,i,n)}))},Vv.prototype.createMeshNodes=function(e){var t=this,i=this.model,n=this.loader.getDescriptor();this.instancedManager.createMeshNodes(i,n.getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(i,n.getStandardUserIds(),(function(){i.getMaterialManager()._updateTextureMapping(),t.clearCachedData(i),t.loaded=!0,e&&e()}))},Vv.prototype.clearCachedData=function(e){this.loader.getDescriptor().destroyReader(),this.loader.getDescriptor().clearReferencedMeshCache(),this.defaultManager.clearCachedData(),this.instancedManager.clearCachedData()};var Hv=Array.prototype.forEach,jv=Array.prototype.slice,Wv={BREAK:{},extend:function(e){return this.each(jv.call(arguments,1),(function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(i){this.isUndefined(t[i])||(e[i]=t[i])}.bind(this))}),this),e},defaults:function(e){return this.each(jv.call(arguments,1),(function(t){(this.isObject(t)?Object.keys(t):[]).forEach(function(i){this.isUndefined(e[i])&&(e[i]=t[i])}.bind(this))}),this),e},compose:function(){var e=jv.call(arguments);return function(){for(var t=jv.call(arguments),i=e.length-1;i>=0;i--)t=[e[i].apply(this,t)];return t[0]}},each:function(e,t,i){if(e)if(Hv&&e.forEach&&e.forEach===Hv)e.forEach(t,i);else if(e.length===e.length+0){var n,r=void 0;for(r=0,n=e.length;n>r;r++)if(r in e&&t.call(i,e[r],r)===this.BREAK)return}else for(var o in e)if(t.call(i,e[o],o)===this.BREAK)return},defer:function(e){setTimeout(e,0)},debounce:function(e,t,i){var n=void 0;return function(){var r=this,o=arguments;function a(){n=null,i||e.apply(r,o)}var s=i||!n;clearTimeout(n),n=setTimeout(a,t),s&&e.apply(r,o)}},toArray:function(e){return e.toArray?e.toArray():jv.call(e)},isUndefined:function(e){return void 0===e},isNull:function(e){return null===e},isNaN:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return isNaN(e)})),isArray:Array.isArray||function(e){return e.constructor===Array},isObject:function(e){return e===Object(e)},isNumber:function(e){return e===e+0},isString:function(e){return e===e+""},isBoolean:function(e){return!1===e||!0===e},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)}},Jv=[{litmus:Wv.isString,conversions:{THREE_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9])([A-F0-9])([A-F0-9])$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString()+t[1].toString()+t[2].toString()+t[2].toString()+t[3].toString()+t[3].toString(),0)}},write:Yv},SIX_CHAR_HEX:{read:function(e){var t=e.match(/^#([A-F0-9]{6})$/i);return null!==t&&{space:"HEX",hex:parseInt("0x"+t[1].toString(),0)}},write:Yv},CSS_RGB:{read:function(e){var t=e.match(/^rgb\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3])}},write:Yv},CSS_RGBA:{read:function(e){var t=e.match(/^rgba\(\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*,\s*(.+)\s*\)/);return null!==t&&{space:"RGB",r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3]),a:parseFloat(t[4])}},write:Yv}}},{litmus:Wv.isNumber,conversions:{HEX:{read:function(e){return{space:"HEX",hex:e,conversionName:"HEX"}},write:function(e){return e.hex}}}},{litmus:Wv.isArray,conversions:{RGB_ARRAY:{read:function(e){return 3===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2]}},write:function(e){return[e.r,e.g,e.b]}},RGBA_ARRAY:{read:function(e){return 4===e.length&&{space:"RGB",r:e[0],g:e[1],b:e[2],a:e[3]}},write:function(e){return[e.r,e.g,e.b,e.a]}}}},{litmus:Wv.isObject,conversions:{RGBA_OBJ:{read:function(e){return!!(Wv.isNumber(e.r)&&Wv.isNumber(e.g)&&Wv.isNumber(e.b)&&Wv.isNumber(e.a))&&{space:"RGB",r:e.r,g:e.g,b:e.b,a:e.a}},write:function(e){return{r:e.r,g:e.g,b:e.b,a:e.a}}},RGB_OBJ:{read:function(e){return!!(Wv.isNumber(e.r)&&Wv.isNumber(e.g)&&Wv.isNumber(e.b))&&{space:"RGB",r:e.r,g:e.g,b:e.b}},write:function(e){return{r:e.r,g:e.g,b:e.b}}},HSVA_OBJ:{read:function(e){return!!(Wv.isNumber(e.h)&&Wv.isNumber(e.s)&&Wv.isNumber(e.v)&&Wv.isNumber(e.a))&&{space:"HSV",h:e.h,s:e.s,v:e.v,a:e.a}},write:function(e){return{h:e.h,s:e.s,v:e.v,a:e.a}}},HSV_OBJ:{read:function(e){return!!(Wv.isNumber(e.h)&&Wv.isNumber(e.s)&&Wv.isNumber(e.v))&&{space:"HSV",h:e.h,s:e.s,v:e.v}},write:function(e){return{h:e.h,s:e.s,v:e.v}}}}}],zv=void 0,qv=void 0,Zv=function(){qv=!1;var e=arguments.length>1?Wv.toArray(arguments):arguments[0];return Wv.each(Jv,(function(t){if(t.litmus(e))return Wv.each(t.conversions,(function(t,i){if(zv=t.read(e),!1===qv&&!1!==zv)return qv=zv,zv.conversionName=i,zv.conversion=t,Wv.BREAK})),Wv.BREAK})),qv},Xv=void 0,_v={hsv_to_rgb:function(e,t,i){var n=Math.floor(e/60)%6,r=e/60-Math.floor(e/60),o=i*(1-t),a=i*(1-r*t),s=i*(1-(1-r)*t),l=[[i,s,o],[a,i,o],[o,i,s],[o,a,i],[s,o,i],[i,o,a]][n];return{r:255*l[0],g:255*l[1],b:255*l[2]}},rgb_to_hsv:function(e,t,i){var n=Math.min(e,t,i),r=Math.max(e,t,i),o=r-n,a=void 0;return 0===r?{h:NaN,s:0,v:0}:(a=e===r?(t-i)/o:t===r?2+(i-e)/o:4+(e-t)/o,0>(a/=6)&&(a+=1),{h:360*a,s:o/r,v:r/255})},rgb_to_hex:function(e,t,i){var n=this.hex_with_component(0,2,e);return n=this.hex_with_component(n,1,t),n=this.hex_with_component(n,0,i)},component_from_hex:function(e,t){return e>>8*t&255},hex_with_component:function(e,t,i){return i<<(Xv=8*t)|e&~(255<<Xv)}},$v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},eC=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},tC=function(){function e(e,t){for(var i=0;t.length>i;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),iC=function e(t,i,n){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,i);if(void 0===r){var o=Object.getPrototypeOf(t);return null===o?void 0:e(o,i,n)}if("value"in r)return r.value;var a=r.get;return void 0!==a?a.call(n):void 0},nC=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},rC=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},oC=function(){function e(){if(eC(this,e),this.__state=Zv.apply(this,arguments),!1===this.__state)throw new Error("Failed to interpret color arguments");this.__state.a=this.__state.a||1}return tC(e,[{key:"toString",value:function(){return Yv(this)}},{key:"toHexString",value:function(){return Yv(this,!0)}},{key:"toOriginal",value:function(){return this.__state.conversion.write(this)}}]),e}();function aC(e,t,i){Object.defineProperty(e,t,{get:function(){return"RGB"===this.__state.space||oC.recalculateRGB(this,t,i),this.__state[t]},set:function(e){"RGB"!==this.__state.space&&(oC.recalculateRGB(this,t,i),this.__state.space="RGB"),this.__state[t]=e}})}function sC(e,t){Object.defineProperty(e,t,{get:function(){return"HSV"===this.__state.space||oC.recalculateHSV(this),this.__state[t]},set:function(e){"HSV"!==this.__state.space&&(oC.recalculateHSV(this),this.__state.space="HSV"),this.__state[t]=e}})}oC.recalculateRGB=function(e,t,i){if("HEX"===e.__state.space)e.__state[t]=_v.component_from_hex(e.__state.hex,i);else{if("HSV"!==e.__state.space)throw new Error("Corrupted color state");Wv.extend(e.__state,_v.hsv_to_rgb(e.__state.h,e.__state.s,e.__state.v))}},oC.recalculateHSV=function(e){var t=_v.rgb_to_hsv(e.r,e.g,e.b);Wv.extend(e.__state,{s:t.s,v:t.v}),Wv.isNaN(t.h)?Wv.isUndefined(e.__state.h)&&(e.__state.h=0):e.__state.h=t.h},oC.COMPONENTS=["r","g","b","h","s","v","hex","a"],aC(oC.prototype,"r",2),aC(oC.prototype,"g",1),aC(oC.prototype,"b",0),sC(oC.prototype,"h"),sC(oC.prototype,"s"),sC(oC.prototype,"v"),Object.defineProperty(oC.prototype,"a",{get:function(){return this.__state.a},set:function(e){this.__state.a=e}}),Object.defineProperty(oC.prototype,"hex",{get:function(){return"HEX"!==!this.__state.space&&(this.__state.hex=_v.rgb_to_hex(this.r,this.g,this.b)),this.__state.hex},set:function(e){this.__state.space="HEX",this.__state.hex=e}});var lC=function(){function e(t,i){eC(this,e),this.initialValue=t[i],this.domElement=document.createElement("div"),this.object=t,this.property=i,this.__onChange=void 0,this.__onFinishChange=void 0}return tC(e,[{key:"onChange",value:function(e){return this.__onChange=e,this}},{key:"onFinishChange",value:function(e){return this.__onFinishChange=e,this}},{key:"setValue",value:function(e){return this.object[this.property]=e,this.__onChange&&this.__onChange.call(this,e),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()}}]),e}(),cC={};Wv.each({HTMLEvents:["change"],MouseEvents:["click","mousemove","mousedown","mouseup","mouseover"],KeyboardEvents:["keydown"]},(function(e,t){Wv.each(e,(function(e){cC[e]=t}))}));var hC=/(\d+(\.\d+)?)px/;function dC(e){if("0"===e||Wv.isUndefined(e))return 0;var t=e.match(hC);return Wv.isNull(t)?0:parseFloat(t[1])}var uC={makeSelectable:function(e,t){void 0!==e&&void 0!==e.style&&(e.onselectstart=t?function(){return!1}:function(){},e.style.MozUserSelect=t?"auto":"none",e.style.KhtmlUserSelect=t?"auto":"none",e.unselectable=t?"on":"off")},makeFullscreen:function(e,t,i){var n=i,r=t;Wv.isUndefined(r)&&(r=!0),Wv.isUndefined(n)&&(n=!0),e.style.position="absolute",r&&(e.style.left=0,e.style.right=0),n&&(e.style.top=0,e.style.bottom=0)},fakeEvent:function(e,t,i,n){var r=i||{},o=cC[t];if(!o)throw new Error("Event type "+t+" not supported.");var a=document.createEvent(o);switch(o){case"MouseEvents":a.initMouseEvent(t,r.bubbles||!1,r.cancelable||!0,window,r.clickCount||1,0,0,r.x||r.clientX||0,r.y||r.clientY||0,!1,!1,!1,!1,0,null);break;case"KeyboardEvents":var s=a.initKeyboardEvent||a.initKeyEvent;Wv.defaults(r,{cancelable:!0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,keyCode:void 0,charCode:void 0}),s(t,r.bubbles||!1,r.cancelable,window,r.ctrlKey,r.altKey,r.shiftKey,r.metaKey,r.keyCode,r.charCode);break;default:a.initEvent(t,r.bubbles||!1,r.cancelable||!0)}Wv.defaults(a,n),e.dispatchEvent(a)},bind:function(e,t,i,n){return e.addEventListener?e.addEventListener(t,i,n||!1):e.attachEvent&&e.attachEvent("on"+t,i),uC},unbind:function(e,t,i,n){return e.removeEventListener?e.removeEventListener(t,i,n||!1):e.detachEvent&&e.detachEvent("on"+t,i),uC},addClass:function(e,t){if(void 0===e.className)e.className=t;else if(e.className!==t){var i=e.className.split(/ +/);-1===i.indexOf(t)&&(i.push(t),e.className=i.join(" ").replace(/^\s+/,"").replace(/\s+$/,""))}return uC},removeClass:function(e,t){if(t)if(e.className===t)e.removeAttribute("class");else{var i=e.className.split(/ +/),n=i.indexOf(t);-1!==n&&(i.splice(n,1),e.className=i.join(" "))}else e.className=void 0;return uC},hasClass:function(e,t){return new RegExp("(?:^|\\s+)"+t+"(?:\\s+|$)").test(e.className)||!1},getWidth:function(e){var t=getComputedStyle(e);return dC(t["border-left-width"])+dC(t["border-right-width"])+dC(t["padding-left"])+dC(t["padding-right"])+dC(t.width)},getHeight:function(e){var t=getComputedStyle(e);return dC(t["border-top-width"])+dC(t["border-bottom-width"])+dC(t["padding-top"])+dC(t["padding-bottom"])+dC(t.height)},getOffset:function(e){var t=e,i={left:0,top:0};if(t.offsetParent)do{i.left+=t.offsetLeft,i.top+=t.offsetTop,t=t.offsetParent}while(t);return i},isActive:function(e){return e===document.activeElement&&(e.type||e.href)}},pC=function(e){function t(e,i){eC(this,t);var n=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i)),r=n;return n.__prev=n.getValue(),n.__checkbox=document.createElement("input"),n.__checkbox.setAttribute("type","checkbox"),uC.bind(n.__checkbox,"change",(function(){r.setValue(!r.__prev)}),!1),n.domElement.appendChild(n.__checkbox),n.updateDisplay(),n}return nC(t,e),tC(t,[{key:"setValue",value:function(e){var i=iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,e);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),this.__prev=this.getValue(),i}},{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),iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(lC),gC=function(e){function t(e,i,n){eC(this,t);var r=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i)),o=n,a=r;if(r.__select=document.createElement("select"),Wv.isArray(o)){var s={};Wv.each(o,(function(e){s[e]=e})),o=s}return Wv.each(o,(function(e,t){var i=document.createElement("option");i.innerHTML=t,i.setAttribute("value",e),a.__select.appendChild(i)})),r.updateDisplay(),uC.bind(r.__select,"change",(function(){a.setValue(this.options[this.selectedIndex].value)})),r.domElement.appendChild(r.__select),r}return nC(t,e),tC(t,[{key:"setValue",value:function(e){var i=iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,e);return this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue()),i}},{key:"updateDisplay",value:function(){return uC.isActive(this.__select)?this:(this.__select.value=this.getValue(),iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this))}}]),t}(lC),fC=function(e){function t(e,i){eC(this,t);var n=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i)),r=n;function o(){r.setValue(r.__input.value)}return n.__input=document.createElement("input"),n.__input.setAttribute("type","text"),uC.bind(n.__input,"keyup",o),uC.bind(n.__input,"change",o),uC.bind(n.__input,"blur",(function(){r.__onFinishChange&&r.__onFinishChange.call(r,r.getValue())})),uC.bind(n.__input,"keydown",(function(e){13===e.keyCode&&this.blur()})),n.updateDisplay(),n.domElement.appendChild(n.__input),n}return nC(t,e),tC(t,[{key:"updateDisplay",value:function(){return uC.isActive(this.__input)||(this.__input.value=this.getValue()),iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(lC);function mC(e){var t=e.toString();return t.indexOf(".")>-1?t.length-t.indexOf(".")-1:0}var AC=function(e){function t(e,i,n){eC(this,t);var r=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i)),o=n||{};return r.__min=o.min,r.__max=o.max,r.__step=o.step,r.__impliedStep=Wv.isUndefined(r.__step)?0===r.initialValue?1:Math.pow(10,Math.floor(Math.log(Math.abs(r.initialValue))/Math.LN10))/10:r.__step,r.__precision=mC(r.__impliedStep),r}return nC(t,e),tC(t,[{key:"setValue",value:function(e){var i=e;return void 0!==this.__min&&this.__min>i?i=this.__min:void 0!==this.__max&&i>this.__max&&(i=this.__max),void 0!==this.__step&&i%this.__step!=0&&(i=Math.round(i/this.__step)*this.__step),iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"setValue",this).call(this,i)}},{key:"min",value:function(e){return this.__min=e,this}},{key:"max",value:function(e){return this.__max=e,this}},{key:"step",value:function(e){return this.__step=e,this.__impliedStep=e,this.__precision=mC(e),this}}]),t}(lC);var yC=function(e){function t(e,i,n){eC(this,t);var r=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i,n));r.__truncationSuspended=!1;var o=r,a=void 0;function s(){o.__onFinishChange&&o.__onFinishChange.call(o,o.getValue())}function l(e){var t=a-e.clientY;o.setValue(o.getValue()+t*o.__impliedStep),a=e.clientY}function c(){uC.unbind(window,"mousemove",l),uC.unbind(window,"mouseup",c),s()}return r.__input=document.createElement("input"),r.__input.setAttribute("type","text"),uC.bind(r.__input,"change",(function(){var e=parseFloat(o.__input.value);Wv.isNaN(e)||o.setValue(e)})),uC.bind(r.__input,"blur",(function(){s()})),uC.bind(r.__input,"mousedown",(function(e){uC.bind(window,"mousemove",l),uC.bind(window,"mouseup",c),a=e.clientY})),uC.bind(r.__input,"keydown",(function(e){13===e.keyCode&&(o.__truncationSuspended=!0,this.blur(),o.__truncationSuspended=!1,s())})),r.updateDisplay(),r.domElement.appendChild(r.__input),r}return nC(t,e),tC(t,[{key:"updateDisplay",value:function(){return this.__input.value=this.__truncationSuspended?this.getValue():function(e,t){var i=Math.pow(10,t);return Math.round(e*i)/i}(this.getValue(),this.__precision),iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(AC);function vC(e,t,i,n,r){return n+(e-t)/(i-t)*(r-n)}var CC=function(e){function t(e,i,n,r,o){eC(this,t);var a=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i,{min:n,max:r,step:o})),s=a;function l(e){e.preventDefault();var t=s.__background.getBoundingClientRect();return s.setValue(vC(e.clientX,t.left,t.right,s.__min,s.__max)),!1}function c(){uC.unbind(window,"mousemove",l),uC.unbind(window,"mouseup",c),s.__onFinishChange&&s.__onFinishChange.call(s,s.getValue())}function h(e){var t=e.touches[0].clientX,i=s.__background.getBoundingClientRect();s.setValue(vC(t,i.left,i.right,s.__min,s.__max))}function d(){uC.unbind(window,"touchmove",h),uC.unbind(window,"touchend",d),s.__onFinishChange&&s.__onFinishChange.call(s,s.getValue())}return a.__background=document.createElement("div"),a.__foreground=document.createElement("div"),uC.bind(a.__background,"mousedown",(function(e){document.activeElement.blur(),uC.bind(window,"mousemove",l),uC.bind(window,"mouseup",c),l(e)})),uC.bind(a.__background,"touchstart",(function(e){if(1!==e.touches.length)return;uC.bind(window,"touchmove",h),uC.bind(window,"touchend",d),h(e)})),uC.addClass(a.__background,"slider"),uC.addClass(a.__foreground,"slider-fg"),a.updateDisplay(),a.__background.appendChild(a.__foreground),a.domElement.appendChild(a.__background),a}return nC(t,e),tC(t,[{key:"updateDisplay",value:function(){var e=(this.getValue()-this.__min)/(this.__max-this.__min);return this.__foreground.style.width=100*e+"%",iC(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateDisplay",this).call(this)}}]),t}(AC),IC=function(e){function t(e,i,n){eC(this,t);var r=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i)),o=r;return r.__button=document.createElement("div"),r.__button.innerHTML=void 0===n?"Fire":n,uC.bind(r.__button,"click",(function(e){return e.preventDefault(),o.fire(),!1})),uC.addClass(r.__button,"button"),r.domElement.appendChild(r.__button),r}return nC(t,e),tC(t,[{key:"fire",value:function(){this.__onChange&&this.__onChange.call(this),this.getValue().call(this.object),this.__onFinishChange&&this.__onFinishChange.call(this,this.getValue())}}]),t}(lC),xC=function(e){function t(e,i){eC(this,t);var n=rC(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,i));n.__color=new oC(n.getValue()),n.__temp=new oC(0);var r=n;n.domElement=document.createElement("div"),uC.makeSelectable(n.domElement,!1),n.__selector=document.createElement("div"),n.__selector.className="selector",n.__saturation_field=document.createElement("div"),n.__saturation_field.className="saturation-field",n.__field_knob=document.createElement("div"),n.__field_knob.className="field-knob",n.__field_knob_border="2px solid ",n.__hue_knob=document.createElement("div"),n.__hue_knob.className="hue-knob",n.__hue_field=document.createElement("div"),n.__hue_field.className="hue-field",n.__input=document.createElement("input"),n.__input.type="text",n.__input_textShadow="0 1px 1px ",uC.bind(n.__input,"keydown",(function(e){13===e.keyCode&&d.call(this)})),uC.bind(n.__input,"blur",d),uC.bind(n.__selector,"mousedown",(function(){uC.addClass(this,"drag").bind(window,"mouseup",(function(){uC.removeClass(r.__selector,"drag")}))})),uC.bind(n.__selector,"touchstart",(function(){uC.addClass(this,"drag").bind(window,"touchend",(function(){uC.removeClass(r.__selector,"drag")}))}));var o,a=document.createElement("div");function s(e){p(e),uC.bind(window,"mousemove",p),uC.bind(window,"touchmove",p),uC.bind(window,"mouseup",c),uC.bind(window,"touchend",c)}function l(e){g(e),uC.bind(window,"mousemove",g),uC.bind(window,"touchmove",g),uC.bind(window,"mouseup",h),uC.bind(window,"touchend",h)}function c(){uC.unbind(window,"mousemove",p),uC.unbind(window,"touchmove",p),uC.unbind(window,"mouseup",c),uC.unbind(window,"touchend",c),u()}function h(){uC.unbind(window,"mousemove",g),uC.unbind(window,"touchmove",g),uC.unbind(window,"mouseup",h),uC.unbind(window,"touchend",h),u()}function d(){var e=Zv(this.value);!1!==e?(r.__color.__state=e,r.setValue(r.__color.toOriginal())):this.value=r.__color.toString()}function u(){r.__onFinishChange&&r.__onFinishChange.call(r,r.__color.toOriginal())}function p(e){-1===e.type.indexOf("touch")&&e.preventDefault();var t=r.__saturation_field.getBoundingClientRect(),i=e.touches&&e.touches[0]||e,n=(i.clientX-t.left)/(t.right-t.left),o=1-(i.clientY-t.top)/(t.bottom-t.top);return o>1?o=1:0>o&&(o=0),n>1?n=1:0>n&&(n=0),r.__color.v=o,r.__color.s=n,r.setValue(r.__color.toOriginal()),!1}function g(e){-1===e.type.indexOf("touch")&&e.preventDefault();var t=r.__hue_field.getBoundingClientRect(),i=1-((e.touches&&e.touches[0]||e).clientY-t.top)/(t.bottom-t.top);return i>1?i=1:0>i&&(i=0),r.__color.h=360*i,r.setValue(r.__color.toOriginal()),!1}return Wv.extend(n.__selector.style,{width:"122px",height:"102px",padding:"3px",backgroundColor:"#222",boxShadow:"0px 1px 3px rgba(0,0,0,0.3)"}),Wv.extend(n.__field_knob.style,{position:"absolute",width:"12px",height:"12px",border:n.__field_knob_border+(.5>n.__color.v?"#fff":"#000"),boxShadow:"0px 1px 3px rgba(0,0,0,0.5)",borderRadius:"12px",zIndex:1}),Wv.extend(n.__hue_knob.style,{position:"absolute",width:"15px",height:"2px",borderRight:"4px solid #fff",zIndex:1}),Wv.extend(n.__saturation_field.style,{width:"100px",height:"100px",border:"1px solid #555",marginRight:"3px",display:"inline-block",cursor:"pointer"}),Wv.extend(a.style,{width:"100%",height:"100%",background:"none"}),MC(a,"top","rgba(0,0,0,0)","#000"),Wv.extend(n.__hue_field.style,{width:"15px",height:"100px",border:"1px solid #555",cursor:"ns-resize",position:"absolute",top:"3px",right:"3px"}),(o=n.__hue_field).style.background="",o.style.cssText+="background: -moz-linear-gradient(top, #ff0000 0%, #ff00ff 17%, #0000ff 34%, #00ffff 50%, #00ff00 67%, #ffff00 84%, #ff0000 100%);",o.style.cssText+="background: -webkit-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",o.style.cssText+="background: -o-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",o.style.cssText+="background: -ms-linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",o.style.cssText+="background: linear-gradient(top, #ff0000 0%,#ff00ff 17%,#0000ff 34%,#00ffff 50%,#00ff00 67%,#ffff00 84%,#ff0000 100%);",Wv.extend(n.__input.style,{outline:"none",textAlign:"center",color:"#fff",border:0,fontWeight:"bold",textShadow:n.__input_textShadow+"rgba(0,0,0,0.7)"}),uC.bind(n.__saturation_field,"mousedown",s),uC.bind(n.__saturation_field,"touchstart",s),uC.bind(n.__field_knob,"mousedown",s),uC.bind(n.__field_knob,"touchstart",s),uC.bind(n.__hue_field,"mousedown",l),uC.bind(n.__hue_field,"touchstart",l),n.__saturation_field.appendChild(a),n.__selector.appendChild(n.__field_knob),n.__selector.appendChild(n.__saturation_field),n.__selector.appendChild(n.__hue_field),n.__hue_field.appendChild(n.__hue_knob),n.domElement.appendChild(n.__input),n.domElement.appendChild(n.__selector),n.updateDisplay(),n}return nC(t,e),tC(t,[{key:"updateDisplay",value:function(){var e=Zv(this.getValue());if(!1!==e){var t=!1;Wv.each(oC.COMPONENTS,(function(i){if(!Wv.isUndefined(e[i])&&!Wv.isUndefined(this.__color.__state[i])&&e[i]!==this.__color.__state[i])return t=!0,{}}),this),t&&Wv.extend(this.__color.__state,e)}Wv.extend(this.__temp.__state,this.__color.__state),this.__temp.a=1;var i=.5>this.__color.v||this.__color.s>.5?255:0,n=255-i;Wv.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("+i+","+i+","+i+")"}),this.__hue_knob.style.marginTop=100*(1-this.__color.h/360)+"px",this.__temp.s=1,this.__temp.v=1,MC(this.__saturation_field,"left","#fff",this.__temp.toHexString()),this.__input.value=this.__color.toString(),Wv.extend(this.__input.style,{backgroundColor:this.__color.toHexString(),color:"rgb("+i+","+i+","+i+")",textShadow:this.__input_textShadow+"rgba("+n+","+n+","+n+",.7)"})}}]),t}(lC),wC=["-moz-","-o-","-webkit-","-ms-",""];function MC(e,t,i,n){e.style.background="",Wv.each(wC,(function(r){e.style.cssText+="background: "+r+"linear-gradient("+t+", "+i+" 0%, "+n+" 100%); "}))}var EC=function(e,t){var i=t||document,n=document.createElement("style");n.type="text/css",n.innerHTML=e;var r=i.getElementsByTagName("head")[0];try{r.appendChild(n)}catch(e){}},BC='<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>',SC=function(e,t){var i=e[t];return Wv.isArray(arguments[2])||Wv.isObject(arguments[2])?new gC(e,t,arguments[2]):Wv.isNumber(i)?Wv.isNumber(arguments[2])&&Wv.isNumber(arguments[3])?Wv.isNumber(arguments[4])?new CC(e,t,arguments[2],arguments[3],arguments[4]):new CC(e,t,arguments[2],arguments[3]):Wv.isNumber(arguments[4])?new yC(e,t,{min:arguments[2],max:arguments[3],step:arguments[4]}):new yC(e,t,{min:arguments[2],max:arguments[3]}):Wv.isString(i)?new fC(e,t):Wv.isFunction(i)?new IC(e,t,""):Wv.isBoolean(i)?new pC(e,t):null};var bC=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)},kC=function(){function e(){eC(this,e),this.backgroundElement=document.createElement("div"),Wv.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"}),uC.makeFullscreen(this.backgroundElement),this.backgroundElement.style.position="fixed",this.domElement=document.createElement("div"),Wv.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 t=this;uC.bind(this.backgroundElement,"click",(function(){t.hide()}))}return tC(e,[{key:"show",value:function(){var e=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(),Wv.defer((function(){e.backgroundElement.style.opacity=1,e.domElement.style.opacity=1,e.domElement.style.webkitTransform="scale(1)"}))}},{key:"hide",value:function(){var e=this,t=function t(){e.domElement.style.display="none",e.backgroundElement.style.display="none",uC.unbind(e.domElement,"webkitTransitionEnd",t),uC.unbind(e.domElement,"transitionend",t),uC.unbind(e.domElement,"oTransitionEnd",t)};uC.bind(this.domElement,"webkitTransitionEnd",t),uC.bind(this.domElement,"transitionend",t),uC.bind(this.domElement,"oTransitionEnd",t),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-uC.getWidth(this.domElement)/2+"px",this.domElement.style.top=window.innerHeight/2-uC.getHeight(this.domElement)/2+"px"}}]),e}();EC(function(e){if(e&&"undefined"!=typeof window){var t=document.createElement("style");return t.setAttribute("type","text/css"),t.innerHTML=e,document.head.appendChild(t),e}}(".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 DC="Default",TC=function(){try{return!!window.localStorage}catch(e){return!1}}(),RC=void 0,UC=!0,FC=void 0,QC=!1,LC=[],OC=function e(t){var i=this,n=t||{};this.domElement=document.createElement("div"),this.__ul=document.createElement("ul"),this.domElement.appendChild(this.__ul),uC.addClass(this.domElement,"dg"),this.__folders={},this.__controllers=[],this.__rememberedObjects=[],this.__rememberedObjectIndecesToControllers=[],this.__listening=[],n=Wv.defaults(n,{closeOnTop:!1,autoPlace:!0,width:e.DEFAULT_WIDTH}),n=Wv.defaults(n,{resizable:n.autoPlace,hideable:n.autoPlace}),Wv.isUndefined(n.load)?n.load={preset:DC}:n.preset&&(n.load.preset=n.preset),Wv.isUndefined(n.parent)&&n.hideable&&LC.push(this),n.resizable=Wv.isUndefined(n.parent)&&n.resizable,n.autoPlace&&Wv.isUndefined(n.scrollable)&&(n.scrollable=!0);var r=TC&&"true"===localStorage.getItem(YC(this,"isLocal")),o=void 0,a=void 0;if(Object.defineProperties(this,{parent:{get:function(){return n.parent}},scrollable:{get:function(){return n.scrollable}},autoPlace:{get:function(){return n.autoPlace}},closeOnTop:{get:function(){return n.closeOnTop}},preset:{get:function(){return i.parent?i.getRoot().preset:n.load.preset},set:function(e){i.parent?i.getRoot().preset=e:n.load.preset=e,function(e){for(var t=0;e.__preset_select.length>t;t++)e.__preset_select[t].value===e.preset&&(e.__preset_select.selectedIndex=t)}(this),i.revert()}},width:{get:function(){return n.width},set:function(e){n.width=e,zC(i,e)}},name:{get:function(){return n.name},set:function(e){n.name=e,a&&(a.innerHTML=n.name)}},closed:{get:function(){return n.closed},set:function(t){n.closed=t,n.closed?uC.addClass(i.__ul,e.CLASS_CLOSED):uC.removeClass(i.__ul,e.CLASS_CLOSED),this.onResize(),i.__closeButton&&(i.__closeButton.innerHTML=t?e.TEXT_OPEN:e.TEXT_CLOSED)}},load:{get:function(){return n.load}},useLocalStorage:{get:function(){return r},set:function(e){TC&&(r=e,e?uC.bind(window,"unload",o):uC.unbind(window,"unload",o),localStorage.setItem(YC(i,"isLocal"),e))}}}),Wv.isUndefined(n.parent)){if(this.closed=n.closed||!1,uC.addClass(this.domElement,e.CLASS_MAIN),uC.makeSelectable(this.domElement,!1),TC&&r){i.useLocalStorage=!0;var s=localStorage.getItem(YC(this,"gui"));s&&(n.load=JSON.parse(s))}this.__closeButton=document.createElement("div"),this.__closeButton.innerHTML=e.TEXT_CLOSED,uC.addClass(this.__closeButton,e.CLASS_CLOSE_BUTTON),n.closeOnTop?(uC.addClass(this.__closeButton,e.CLASS_CLOSE_TOP),this.domElement.insertBefore(this.__closeButton,this.domElement.childNodes[0])):(uC.addClass(this.__closeButton,e.CLASS_CLOSE_BOTTOM),this.domElement.appendChild(this.__closeButton)),uC.bind(this.__closeButton,"click",(function(){i.closed=!i.closed}))}else{void 0===n.closed&&(n.closed=!0);var l=document.createTextNode(n.name);uC.addClass(l,"controller-name"),a=NC(i,l);uC.addClass(this.__ul,e.CLASS_CLOSED),uC.addClass(a,"title"),uC.bind(a,"click",(function(e){return e.preventDefault(),i.closed=!i.closed,!1})),n.closed||(this.closed=!1)}n.autoPlace&&(Wv.isUndefined(n.parent)&&(UC&&(FC=document.createElement("div"),uC.addClass(FC,"dg"),uC.addClass(FC,e.CLASS_AUTO_PLACE_CONTAINER),document.body.appendChild(FC),UC=!1),FC.appendChild(this.domElement),uC.addClass(this.domElement,e.CLASS_AUTO_PLACE)),this.parent||zC(i,n.width)),this.__resizeHandler=function(){i.onResizeDebounced()},uC.bind(window,"resize",this.__resizeHandler),uC.bind(this.__ul,"webkitTransitionEnd",this.__resizeHandler),uC.bind(this.__ul,"transitionend",this.__resizeHandler),uC.bind(this.__ul,"oTransitionEnd",this.__resizeHandler),this.onResize(),n.resizable&&JC(this),this.saveToLocalStorageIfPossible=o=function(){TC&&"true"===localStorage.getItem(YC(i,"isLocal"))&&localStorage.setItem(YC(i,"gui"),JSON.stringify(i.getSaveObject()))},n.parent||function(){var e=i.getRoot();e.width+=1,Wv.defer((function(){e.width-=1}))}()};function NC(e,t,i){var n=document.createElement("li");return t&&n.appendChild(t),i?e.__ul.insertBefore(n,i):e.__ul.appendChild(n),e.onResize(),n}function PC(e){uC.unbind(window,"resize",e.__resizeHandler),e.saveToLocalStorageIfPossible&&uC.unbind(window,"unload",e.saveToLocalStorageIfPossible)}function GC(e,t){var i=e.__preset_select[e.__preset_select.selectedIndex];i.innerHTML=t?i.value+"*":i.value}function KC(e,t){var i=e.getRoot(),n=i.__rememberedObjects.indexOf(t.object);if(-1!==n){var r=i.__rememberedObjectIndecesToControllers[n];if(void 0===r&&(i.__rememberedObjectIndecesToControllers[n]=r={}),r[t.property]=t,i.load&&i.load.remembered){var o=i.load.remembered,a=void 0;if(o[e.preset])a=o[e.preset];else{if(!o.Default)return;a=o.Default}if(a[n]&&void 0!==a[n][t.property]){var s=a[n][t.property];t.initialValue=s,t.setValue(s)}}}}function VC(e,t,i,n){if(void 0===t[i])throw new Error('Object "'+t+'" has no property "'+i+'"');var r=void 0;if(n.color)r=new xC(t,i);else{var o=[t,i].concat(n.factoryArgs);r=SC.apply(e,o)}n.before instanceof lC&&(n.before=n.before.__li),KC(e,r),uC.addClass(r.domElement,"c");var a=document.createElement("span");uC.addClass(a,"property-name"),a.innerHTML=r.property;var s=document.createElement("div");s.appendChild(a),s.appendChild(r.domElement);var l=NC(e,s,n.before);return uC.addClass(l,OC.CLASS_CONTROLLER_ROW),uC.addClass(l,r instanceof xC?"color":$v(r.getValue())),function(e,t,i){if(i.__li=t,i.__gui=e,Wv.extend(i,{options:function(t){if(arguments.length>1){var n=i.__li.nextElementSibling;return i.remove(),VC(e,i.object,i.property,{before:n,factoryArgs:[Wv.toArray(arguments)]})}if(Wv.isArray(t)||Wv.isObject(t)){var r=i.__li.nextElementSibling;return i.remove(),VC(e,i.object,i.property,{before:r,factoryArgs:[t]})}},name:function(e){return i.__li.firstElementChild.firstElementChild.innerHTML=e,i},listen:function(){return i.__gui.listen(i),i},remove:function(){return i.__gui.remove(i),i}}),i instanceof CC){var n=new yC(i.object,i.property,{min:i.__min,max:i.__max,step:i.__step});Wv.each(["updateDisplay","onChange","onFinishChange","step","min","max"],(function(e){var t=i[e],r=n[e];i[e]=n[e]=function(){var e=Array.prototype.slice.call(arguments);return r.apply(n,e),t.apply(i,e)}})),uC.addClass(t,"has-slider"),i.domElement.insertBefore(n.domElement,i.domElement.firstElementChild)}else if(i instanceof yC){var r=function(t){if(Wv.isNumber(i.__min)&&Wv.isNumber(i.__max)){var n=i.__li.firstElementChild.firstElementChild.innerHTML,r=i.__gui.__listening.indexOf(i)>-1;i.remove();var o=VC(e,i.object,i.property,{before:i.__li.nextElementSibling,factoryArgs:[i.__min,i.__max,i.__step]});return o.name(n),r&&o.listen(),o}return t};i.min=Wv.compose(r,i.min),i.max=Wv.compose(r,i.max)}else i instanceof pC?(uC.bind(t,"click",(function(){uC.fakeEvent(i.__checkbox,"click")})),uC.bind(i.__checkbox,"click",(function(e){e.stopPropagation()}))):i instanceof IC?(uC.bind(t,"click",(function(){uC.fakeEvent(i.__button,"click")})),uC.bind(t,"mouseover",(function(){uC.addClass(i.__button,"hover")})),uC.bind(t,"mouseout",(function(){uC.removeClass(i.__button,"hover")}))):i instanceof xC&&(uC.addClass(t,"color"),i.updateDisplay=Wv.compose((function(e){return t.style.borderLeftColor=i.__color.toString(),e}),i.updateDisplay),i.updateDisplay());i.setValue=Wv.compose((function(t){return e.getRoot().__preset_select&&i.isModified()&&GC(e.getRoot(),!0),t}),i.setValue)}(e,l,r),e.__controllers.push(r),r}function YC(e,t){return document.location.href+"."+t}function HC(e,t,i){var n=document.createElement("option");n.innerHTML=t,n.value=t,e.__preset_select.appendChild(n),i&&(e.__preset_select.selectedIndex=e.__preset_select.length-1)}function jC(e,t){t.style.display=e.useLocalStorage?"block":"none"}function WC(e){var t=e.__save_row=document.createElement("li");uC.addClass(e.domElement,"has-save"),e.__ul.insertBefore(t,e.__ul.firstChild),uC.addClass(t,"save-row");var i=document.createElement("span");i.innerHTML="&nbsp;",uC.addClass(i,"button gears");var n=document.createElement("span");n.innerHTML="Save",uC.addClass(n,"button"),uC.addClass(n,"save");var r=document.createElement("span");r.innerHTML="New",uC.addClass(r,"button"),uC.addClass(r,"save-as");var o=document.createElement("span");o.innerHTML="Revert",uC.addClass(o,"button"),uC.addClass(o,"revert");var a=e.__preset_select=document.createElement("select");if(e.load&&e.load.remembered?Wv.each(e.load.remembered,(function(t,i){HC(e,i,i===e.preset)})):HC(e,DC,!1),uC.bind(a,"change",(function(){for(var t=0;e.__preset_select.length>t;t++)e.__preset_select[t].innerHTML=e.__preset_select[t].value;e.preset=this.value})),t.appendChild(a),t.appendChild(i),t.appendChild(n),t.appendChild(r),t.appendChild(o),TC){var s=document.getElementById("dg-local-explain"),l=document.getElementById("dg-local-storage");document.getElementById("dg-save-locally").style.display="block","true"===localStorage.getItem(YC(0,"isLocal"))&&l.setAttribute("checked","checked"),jC(e,s),uC.bind(l,"change",(function(){e.useLocalStorage=!e.useLocalStorage,jC(e,s)}))}var c=document.getElementById("dg-new-constructor");uC.bind(c,"keydown",(function(e){!e.metaKey||67!==e.which&&67!==e.keyCode||RC.hide()})),uC.bind(i,"click",(function(){c.innerHTML=JSON.stringify(e.getSaveObject(),void 0,2),RC.show(),c.focus(),c.select()})),uC.bind(n,"click",(function(){e.save()})),uC.bind(r,"click",(function(){var t=prompt("Enter a new preset name.");t&&e.saveAs(t)})),uC.bind(o,"click",(function(){e.revert()}))}function JC(e){var t=void 0;function i(i){return i.preventDefault(),e.width+=t-i.clientX,e.onResize(),t=i.clientX,!1}function n(){uC.removeClass(e.__closeButton,OC.CLASS_DRAG),uC.unbind(window,"mousemove",i),uC.unbind(window,"mouseup",n)}function r(r){return r.preventDefault(),t=r.clientX,uC.addClass(e.__closeButton,OC.CLASS_DRAG),uC.bind(window,"mousemove",i),uC.bind(window,"mouseup",n),!1}e.__resize_handle=document.createElement("div"),Wv.extend(e.__resize_handle.style,{width:"6px",marginLeft:"-3px",height:"200px",cursor:"ew-resize",position:"absolute"}),uC.bind(e.__resize_handle,"mousedown",r),uC.bind(e.__closeButton,"mousedown",r),e.domElement.insertBefore(e.__resize_handle,e.domElement.firstElementChild)}function zC(e,t){e.domElement.style.width=t+"px",e.__save_row&&e.autoPlace&&(e.__save_row.style.width=t+"px"),e.__closeButton&&(e.__closeButton.style.width=t+"px")}function qC(e,t){var i={};return Wv.each(e.__rememberedObjects,(function(n,r){var o={};Wv.each(e.__rememberedObjectIndecesToControllers[r],(function(e,i){o[i]=t?e.initialValue:e.getValue()})),i[r]=o})),i}function ZC(e){0!==e.length&&bC.call(window,(function(){ZC(e)})),Wv.each(e,(function(e){e.updateDisplay()}))}OC.toggleHide=function(){QC=!QC,Wv.each(LC,(function(e){e.domElement.style.display=QC?"none":""}))},OC.CLASS_AUTO_PLACE="a",OC.CLASS_AUTO_PLACE_CONTAINER="ac",OC.CLASS_MAIN="main",OC.CLASS_CONTROLLER_ROW="cr",OC.CLASS_TOO_TALL="taller-than-window",OC.CLASS_CLOSED="closed",OC.CLASS_CLOSE_BUTTON="close-button",OC.CLASS_CLOSE_TOP="close-top",OC.CLASS_CLOSE_BOTTOM="close-bottom",OC.CLASS_DRAG="drag",OC.DEFAULT_WIDTH=245,OC.TEXT_CLOSED="关闭控制器",OC.TEXT_OPEN="打开控制器",OC._keydownHandler=function(e){"text"===document.activeElement.type||72!==e.which&&72!==e.keyCode||OC.toggleHide()},uC.bind(window,"keydown",OC._keydownHandler,!1),Wv.extend(OC.prototype,{add:function(e,t){return VC(this,e,t,{factoryArgs:Array.prototype.slice.call(arguments,2)})},addColor:function(e,t){return VC(this,e,t,{color:!0})},remove:function(e){this.__ul.removeChild(e.__li),this.__controllers.splice(this.__controllers.indexOf(e),1);var t=this;Wv.defer((function(){t.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&&FC.removeChild(this.domElement);var e=this;Wv.each(this.__folders,(function(t){e.removeFolder(t)})),uC.unbind(window,"keydown",OC._keydownHandler,!1),PC(this)},addFolder:function(e){if(void 0!==this.__folders[e])throw new Error('You already have a folder in this GUI by the name "'+e+'"');var t={name:e,parent:this};t.autoPlace=this.autoPlace,this.load&&this.load.folders&&this.load.folders[e]&&(t.closed=this.load.folders[e].closed,t.load=this.load.folders[e]);var i=new OC(t);this.__folders[e]=i;var n=NC(this,i.domElement);return uC.addClass(n,"folder"),i},removeFolder:function(e){this.__ul.removeChild(e.domElement.parentElement),delete this.__folders[e.name],this.load&&this.load.folders&&this.load.folders[e.name]&&delete this.load.folders[e.name],PC(e);var t=this;Wv.each(e.__folders,(function(t){e.removeFolder(t)})),Wv.defer((function(){t.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 e=this.getRoot();if(e.scrollable){var t=uC.getOffset(e.__ul).top,i=0;Wv.each(e.__ul.childNodes,(function(t){e.autoPlace&&t===e.__save_row||(i+=uC.getHeight(t))})),window.innerHeight-t-20<i?(uC.addClass(e.domElement,OC.CLASS_TOO_TALL),e.__ul.style.height=window.innerHeight-t-20+"px"):(uC.removeClass(e.domElement,OC.CLASS_TOO_TALL),e.__ul.style.height="auto")}e.__resize_handle&&Wv.defer((function(){e.__resize_handle.style.height=e.__ul.offsetHeight+"px"})),e.__closeButton&&(e.__closeButton.style.width=e.width+"px")},onResizeDebounced:Wv.debounce((function(){this.onResize()}),50),remember:function(){if(Wv.isUndefined(RC)&&((RC=new kC).domElement.innerHTML=BC),this.parent)throw new Error("You can only call remember on a top level GUI.");var e=this;Wv.each(Array.prototype.slice.call(arguments),(function(t){0===e.__rememberedObjects.length&&WC(e),-1===e.__rememberedObjects.indexOf(t)&&e.__rememberedObjects.push(t)})),this.autoPlace&&zC(this,this.width)},getRoot:function(){for(var e=this;e.parent;)e=e.parent;return e},getSaveObject:function(){var e=this.load;return e.closed=this.closed,this.__rememberedObjects.length>0&&(e.preset=this.preset,e.remembered||(e.remembered={}),e.remembered[this.preset]=qC(this)),e.folders={},Wv.each(this.__folders,(function(t,i){e.folders[i]=t.getSaveObject()})),e},save:function(){this.load.remembered||(this.load.remembered={}),this.load.remembered[this.preset]=qC(this),GC(this,!1),this.saveToLocalStorageIfPossible()},saveAs:function(e){this.load.remembered||(this.load.remembered={},this.load.remembered.Default=qC(this,!0)),this.load.remembered[e]=qC(this),this.preset=e,HC(this,e,!0),this.saveToLocalStorageIfPossible()},revert:function(e){Wv.each(this.__controllers,(function(t){this.getRoot().load.remembered?KC(e||this.getRoot(),t):t.setValue(t.initialValue),t.__onFinishChange&&t.__onFinishChange.call(t,t.getValue())}),this),Wv.each(this.__folders,(function(e){e.revert(e)})),e||GC(this.getRoot(),!1)},listen:function(e){var t=0===this.__listening.length;this.__listening.push(e),t&&ZC(this.__listening)},updateDisplay:function(){Wv.each(this.__controllers,(function(e){e.updateDisplay()})),Wv.each(this.__folders,(function(e){e.updateDisplay()}))}});var XC=OC,_C=function(e){var t=this;this.indexedDB=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;var i=wp.extend({},{dbName:"bos3d",store:"default",version:1,indexes:["id"],keyPath:"id"},e);this.IDBOpenDBRequest=null,this.dbName=i.dbName;var n=this.version=i.version;this.storeName=i.store;var r=i.keyPath,o=this.indexedDB.open(this.dbName,n);o.onupgradeneeded=function(e){Bu.log("DB version changed to "+n);var o=e.target.result,a=null;if(!1===o.objectStoreNames.contains(t.storeName)){a=o.createObjectStore(t.storeName,{keyPath:r});for(var s=0;i.indexes.length>s;s+=1){var l=i.indexes[s];a.createIndex(l,l,{unique:!1})}}},o.onsuccess=function(e){t.IDBOpenDBRequest=e.target.result,Bu.log("成功建立并打开数据库:"+t.IDBOpenDBRequest.name+" version "+n),t.dispatchEvent({type:Fd.ON_DATABASE_OPEN})},o.onerror=function(e){Bu.error("IndexedDB",e),t.dispatchEvent({type:Fd.ON_DATABASE_EEEOR})},o.onblocked=function(e){Bu.warn("Please close all other tabs with this site open!",e)}};Object.assign(_C.prototype,hg.prototype),Object.assign(_C.prototype,{constructor:_C,get:function(e,t,i){if(this.IDBOpenDBRequest){var n=this.IDBOpenDBRequest.transaction([this.storeName]).objectStore(this.storeName).get(e);n.onsuccess=function(e){"function"==typeof t&&t(e.target.result?e.target.result.data:null)},n.onerror=function(e){Bu.error("getDataByKey error"),"function"==typeof i&&i(e)}}},getBatch:function(e,t,i){if(this.IDBOpenDBRequest){for(var n=this.IDBOpenDBRequest.transaction([this.storeName]).objectStore(this.storeName),r={},o=[],a=0;e.length>a;a+=1)o.push(new Promise((function(t,i){var r=e[a],o=n.index("id").get(r);o.onsuccess=function(e){t(e.target.result)},o.onerror=function(e){Bu.error(r,"failed",e),i(e)}})));Promise.all(o).then((function(e){for(var i=0;e.length>i;i+=1)e[i]&&(r[e[i].id]=e[i].data);t(r)})).catch((function(e){Bu.debug(e),e instanceof TypeError?Bu.error(e):t(r)}))}},setBatch:function(e,t,i){if(this.IDBOpenDBRequest)for(var n=this.IDBOpenDBRequest.transaction([this.storeName],"readwrite").objectStore(this.storeName),r=0;e.length>r;r+=1){n.put({id:e[r].key,data:e[r]}).onsuccess=function(e){}}},set:function(e,t,i,n){var r=performance.now();if(this.IDBOpenDBRequest){var o=this.IDBOpenDBRequest.transaction([this.storeName],"readwrite").objectStore(this.storeName).add([{id:e,data:t}]);o.onsuccess=function(e){"function"==typeof i&&i(e.target.result),Bu.debug("Saved state to IndexedDB. "+(performance.now()-r).toFixed(2)+"ms")},o.onerror=function(e){"function"==typeof n&&n(e)}}},put:function(e,t,i,n,r){if(this.IDBOpenDBRequest){var o=performance.now(),a=this.IDBOpenDBRequest.transaction([i],"readwrite").objectStore(i).put({id:e,data:t});a.onsuccess=function(e){"function"==typeof n&&n(e.target.result),Bu.debug("Saved state to IndexedDB. "+(performance.now()-o).toFixed(2)+"ms")},a.onerror=function(e){Bu.error("离线存储出错:",e.target.error.name,":",e.target.error.message),"function"==typeof r&&r(e)}}},delete:function(e,t,i){if(this.IDBOpenDBRequest){var n=this.IDBOpenDBRequest.transaction(this.storeName,"readwrite").objectStore(this.storeName).delete(e);n.onsuccess=function(e){Bu.debug("delete data form IndexedDB."),"function"==typeof t&&t(e.target.result)},n.onerror=function(e){Bu.error("IndexedDB",e),"function"==typeof i&&i(e)}}},clear:function(e,t){if(this.IDBOpenDBRequest){var i=this.IDBOpenDBRequest.transaction(this.storeName,"readwrite").objectStore(this.storeName).clear();i.onsuccess=function(t){Bu.debug("Cleared IndexedDB."),"function"==typeof e&&e(t.target.result)},i.onerror=function(e){Bu.error("IndexedDB",e),"function"==typeof t&&t(e)}}},deleteDatabase:function(e){indexedDB.deleteDatabase(this.dbName),Bu.debug(this.dbName+"数据库已删除"),"function"==typeof e&&e()},close:function(e){this.IDBOpenDBRequest&&(this.IDBOpenDBRequest.close(),Bu.debug("数据库已关闭"),"function"==typeof e&&e())},getIndex:function(e,t,i,n){var r=e.transaction(t,"readwrite").objectStore(t).index("id");r.openCursor().onsuccess=function(){var e=this.result;e&&(Bu.debug(e.value),e.continue())};var o=IDBKeyRange.only(2),a=r.openCursor(o);a.onsuccess=function(){var e=a.result;e&&Bu.info(e.value)}},destroy:function(){this.close(),this.IDBOpenDBRequest=null,this.dbName=null,this.storeName=null}});var $C=function(e){this.serverUrl=e.serverUrl,this.modelKey=e.modelKey,this.dbName=e.dbName,this.offLine=e.offLine,this.shareParameter=""!==e.share?"&share="+e.share:""};$C.prototype.projectUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/scene/scene.json":this.serverUrl+"/api/"+this.dbName+"/models?modelKey="+(e||this.modelKey)+this.shareParameter},$C.prototype.sceneUrl=function(e){return this.serverUrl+this.modelKey+"/scene/scene_"+(e=e||0)+xd.ZipResourcePostfix},$C.prototype.sceneIdUrl=function(){return this.serverUrl+this.modelKey+"/scene/scene_id"+xd.ZipResourcePostfix},$C.prototype.userIdUrl=function(){return this.serverUrl+this.modelKey+"/scene/user_id"+xd.ZipResourcePostfix},$C.prototype.octreeUrl=function(e){return this.serverUrl+this.modelKey+"/scene/octree_"+e+xd.ZipResourcePostfix},$C.prototype.symbolUrl=function(){return this.serverUrl+this.modelKey+"/symbol/symbol"+xd.ZipResourcePostfix},$C.prototype.mpkUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.texUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/Texture/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.bonesUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.nodesUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.clipsUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.kdTreeUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.lightUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.rootTilesUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/tileset.json":this.serverUrl+"/api/"+this.dbName+"/geomodels/"+this.modelKey+"/data/tileset.json"},$C.prototype.tilesUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/"+e:this.serverUrl+"/api/"+this.dbName+"/geomodels/"+this.modelKey+"/data/"+e},$C.prototype.b3dmUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/"+e:this.serverUrl+"/api/"+this.dbName+"/geomodels/"+this.modelKey+"/data/"+e},$C.prototype.attributeUrl=function(){if(this.offLine)return this.serverUrl+"/"+this.modelKey+"/resource/attribute/attribute.json"},$C.prototype.meshIdUrl=function(){return this.serverUrl+this.modelKey+"/mpk/mesh_id"+xd.ZipResourcePostfix},$C.prototype.materialUrl=function(){return this.serverUrl+this.modelKey+"/material/material"+xd.ZipResourcePostfix},$C.prototype.materialIdUrl=function(){return this.serverUrl+this.modelKey+"/material/material_id"+xd.ZipResourcePostfix},$C.prototype.userDataUrl=function(){return this.serverUrl+this.modelKey+"/userdata/userdata"+xd.ZipResourcePostfix},$C.prototype.textureUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e+this.shareParameter},$C.prototype.axisNetUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/data/"+e:gy(this.apiVersion,"1.6.0")?this.serverUrl+"/data?fileKey="+e:this.serverUrl+"/api/"+this.dbName+"/files?fileKey="+e},$C.prototype.floorInfoUrl=function(e){return this.offLine?this.serverUrl+"/"+e+"/resource/floor/floorKey.json":this.serverUrl+"/api/"+this.dbName+"/components/floorkeys?modelKey="+e+this.shareParameter},$C.prototype.floorMapUrl=function(e){return this.offLine?this.serverUrl+"/"+this.modelKey+"/resource/floor/map.json":this.serverUrl+"/api/"+this.dbName+"/models/maps?modelKey="+this.modelKey+this.shareParameter};var eI,tI={};tI.getBatchedGeometryReaderWorker=(eI=window.URL.createObjectURL(new Blob(["var Utils={};\nvar Reader={}; function ab2str (buf) {\n return new TextDecoder().decode(new Uint8Array(buf));\n }\n \n function str2ab (str) {\n return new TextEncoder().encode(str).buffer;\n }\n \n Utils.ab2str = ab2str;\n Utils.str2ab = str2ab;Reader['batchedGeometryReader']=function(hzpE1){let geomMap=[];var YeTR2=new self['Uint32Array'](hzpE1,0,1)[0];var EU3=0;var gnhKnB4=null;var KYSfPtPo5=0;var TyGSj_hd6=0;var I7=[];var wYD8=4;for(let n=0;n<YeTR2;n+=1){let geomInfo={};I7['push'](geomInfo);let infors=new self['Uint32Array'](hzpE1,wYD8,7);geomInfo['geoId']=infors[0];geomInfo['offset']=infors[1];geomInfo['vertexLength']=infors[2];geomInfo['normalLength']=infors[5];geomInfo['indicesLength']=infors[3];geomInfo['uvLength']=infors[4];KYSfPtPo5=infors[6];geomInfo['componentCount']=KYSfPtPo5;geomInfo['nodeInfo']=[];wYD8+=7*4;for(let m=0;m<KYSfPtPo5;m+=1){let nodeCount=new self['Uint32Array'](hzpE1,wYD8,1)[0];wYD8+=4;for(let k=0;k<nodeCount;k+=1){let node=new self['Uint32Array'](hzpE1,wYD8,3);wYD8+=12;geomInfo['nodeInfo']['push'](node)}}geomInfo['materialKeyLength']=new self['Uint32Array'](hzpE1,wYD8,1)[0];wYD8+=4}for(var sCNoi$b$9=0;sCNoi$b$9<YeTR2;sCNoi$b$9+=1){let geoInfo=I7[sCNoi$b$9];let vertexLength=geoInfo['vertexLength'];let normalLength=geoInfo['normalLength'];let IndicesLength=geoInfo['indicesLength'];let uvLength=geoInfo['uvLength'];EU3=wYD8+geoInfo['offset'];TyGSj_hd6=vertexLength*4;let verticesData=new self['Float32Array'](hzpE1['slice'](EU3,EU3+TyGSj_hd6));EU3+=TyGSj_hd6;TyGSj_hd6=IndicesLength*4;let indicesData=new self['Uint32Array'](hzpE1['slice'](EU3,EU3+TyGSj_hd6));EU3+=TyGSj_hd6;TyGSj_hd6=uvLength*4;let uvData=new self['Float32Array'](hzpE1['slice'](EU3,EU3+TyGSj_hd6));EU3+=TyGSj_hd6;TyGSj_hd6=normalLength*4;let normalsData=new self['Float32Array'](hzpE1['slice'](EU3,EU3+TyGSj_hd6));EU3+=TyGSj_hd6;KYSfPtPo5=geoInfo['componentCount'];let componentInfo={};for(let m=0,mLen=geoInfo['nodeInfo']['length'];m<mLen;m+=1){let nodeInfo=geoInfo['nodeInfo'][m];TyGSj_hd6=nodeInfo[0]*2;let userId=Utils['ab2str'](new self['Int16Array'](hzpE1['slice'](EU3,EU3+TyGSj_hd6)));EU3+=TyGSj_hd6;TyGSj_hd6=nodeInfo[1]*2;let nodeId=Utils['ab2str'](new self['Int16Array'](hzpE1['slice'](EU3,EU3+TyGSj_hd6)));EU3+=TyGSj_hd6;let positionStart=new self['Uint32Array'](hzpE1['slice'](EU3,EU3+4))[0];EU3+=4;let positionCount=new self['Uint32Array'](hzpE1['slice'](EU3,EU3+4))[0];EU3+=4;let indexStart=new self['Uint32Array'](hzpE1['slice'](EU3,EU3+4))[0];EU3+=4;let indexCount=new self['Uint32Array'](hzpE1['slice'](EU3,EU3+4))[0];EU3+=4;let node={};node['userId']=userId;node['nodeId']=nodeId;node['positionStart']=positionStart;node['positionCount']=positionCount;node['indexStart']=indexStart;node['indexCount']=indexCount;if(!componentInfo[userId]){componentInfo[userId]=[]}componentInfo[userId]['push'](node)}TyGSj_hd6=geoInfo['materialKeyLength']*2;let materialKey=Utils['ab2str'](new self['Int16Array'](hzpE1['slice'](EU3,EU3+TyGSj_hd6)));let geom={};geom['position']=self['Array']['prototype']['slice']['call'](verticesData);geom['normal']=self['Array']['prototype']['slice']['call'](normalsData);geom['index']=self['Array']['prototype']['slice']['call'](indicesData);geom['uv']=self['Array']['prototype']['slice']['call'](uvData);geom['materialIndex']=gnhKnB4;geom['geoId']=geoInfo['geoId'];geom['materialKey']=materialKey;geom['componentInfo']=componentInfo;geomMap['push'](geom)}return{geos:Utils['str2ab'](JSON['stringify'](geomMap))}};self.addEventListener(\"message\", function (event) {\n \n var data = event.data;\n \n //console.time('read BG_worker');\n var result = Reader.batchedGeometryReader(data.bufferData);\n //console.timeEnd('read BG_worker');\n \n self.postMessage(result, [result.geos]);\n self.close();\n \n}, false);"])),function(){return new Worker(eI)}),tI.getInstancedGeometryReaderWorker=function(){var e=window.URL.createObjectURL(new Blob(["var Utils={};\nvar Reader={}; function ab2str (buf) {\n return new TextDecoder().decode(new Uint8Array(buf));\n }\n \n function str2ab (str) {\n return new TextEncoder().encode(str).buffer;\n }\n \n Utils.ab2str = ab2str;\n Utils.str2ab = str2ab;Reader['instancedGeometryReader']=function(s1){let geomMap=[];var UQ2=new self['Uint32Array'](s1,0,1)[0];var ELsmdM3=null;var CngC4=0;var Ese5=null;var kbelbnlV6=0;var zY7=0;var kNtCk_n8=[];var yrM9=4;for(let n=0;n<UQ2;n+=1){let geomInfo={};kNtCk_n8['push'](geomInfo);ELsmdM3=new self['Uint32Array'](s1,yrM9,7);geomInfo['geoId']=ELsmdM3[0];geomInfo['offset']=ELsmdM3[1];geomInfo['vertexLength']=ELsmdM3[2];geomInfo['normalLength']=ELsmdM3[5];geomInfo['indicesLength']=ELsmdM3[3];geomInfo['uvLength']=ELsmdM3[4];kbelbnlV6=ELsmdM3[6];geomInfo['componentCount']=kbelbnlV6;geomInfo['nodeInfo']={};yrM9+=7*4;let componentKeyLength=[];let matrixArrayLength=[];geomInfo['componentKeyLength']=componentKeyLength;geomInfo['matrixArrayLength']=matrixArrayLength;for(let m=0;m<kbelbnlV6;m+=1){componentKeyLength['push'](new self['Uint32Array'](s1,yrM9,1)[0]);yrM9+=4;let nodeCount=new self['Uint32Array'](s1,yrM9,1)[0];yrM9+=4;geomInfo['nodeInfo'][m]=[];for(let k=0;k<nodeCount;k+=1){let nodeIdLength=new self['Uint32Array'](s1,yrM9,1)[0];yrM9+=4;geomInfo['nodeInfo'][m]['push'](nodeIdLength)}}geomInfo['matrixArrayLength']=new self['Uint32Array'](s1,yrM9,1)[0];yrM9+=4;geomInfo['materialKeyLength']=new self['Uint32Array'](s1,yrM9,1)[0];yrM9+=4}for(var m10=0;m10<UQ2;m10+=1){let geoInfo=kNtCk_n8[m10];let vertexLength=geoInfo['vertexLength'];let normalLength=geoInfo['normalLength'];let IndicesLength=geoInfo['indicesLength'];let uvLength=geoInfo['uvLength'];CngC4=yrM9+geoInfo['offset'];zY7=vertexLength*4;let verticesData=new self['Float32Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;zY7=IndicesLength*4;let indicesData=new self['Uint32Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;zY7=uvLength*4;let uvData=new self['Float32Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;zY7=normalLength*4;let normalsData=new self['Float32Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;kbelbnlV6=geoInfo['componentCount'];let componentInfo={};let nodeIdInfo=[];let componentKeyInfo=[];let nodeIndex=0;for(let i=0,iLen=kbelbnlV6;i<iLen;i+=1){let componentKeyLength=geoInfo['componentKeyLength'][i];zY7=componentKeyLength;let componentKey=Utils['ab2str'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;componentKeyInfo['push'](componentKey);if(!componentInfo[componentKey]){componentInfo[componentKey]=[]}let nodeInfo=geoInfo['nodeInfo'][i];for(let j=0,jLen=nodeInfo['length'];j<jLen;j+=1){let nodeIdLength=nodeInfo[j];zY7=nodeIdLength;let nodeId=Utils['ab2str'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;componentInfo[componentKey]['push'](nodeIndex);nodeIdInfo['push'](nodeId);nodeIndex+=1}}zY7=geoInfo['matrixArrayLength']*8;let mcol0=new self['Float64Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;let mcol1=new self['Float64Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;let mcol2=new self['Float64Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;let mcol3=new self['Float64Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;zY7=geoInfo['materialKeyLength'];let materialKey=Utils['ab2str'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;zY7=nodeIdInfo['length']*4*4;let color=new self['Float32Array'](s1['slice'](CngC4,CngC4+zY7));CngC4+=zY7;let geom={};geom['position']=self['Array']['prototype']['slice']['call'](verticesData);geom['normal']=self['Array']['prototype']['slice']['call'](normalsData);geom['index']=self['Array']['prototype']['slice']['call'](indicesData);geom['uv']=self['Array']['prototype']['slice']['call'](uvData);geom['materialIndex']=Ese5;geom['geoId']=geoInfo['geoId'];geom['materialKey']=materialKey;geom['componentInfo']=componentInfo;geom['mcol0']=self['Array']['prototype']['slice']['call'](mcol0);geom['mcol1']=self['Array']['prototype']['slice']['call'](mcol1);geom['mcol2']=self['Array']['prototype']['slice']['call'](mcol2);geom['mcol3']=self['Array']['prototype']['slice']['call'](mcol3);geom['color']=self['Array']['prototype']['slice']['call'](color);geom['nodeIdInfo']=nodeIdInfo;geom['componentKeyInfo']=componentKeyInfo;geomMap['push'](geom)}return{geos:Utils['str2ab'](JSON['stringify'](geomMap))}};self.addEventListener(\"message\", function (event) {\n\n var data = event.data;\n\n //console.time('read BG_worker');\n var result = Reader.instancedGeometryReader(data.bufferData);\n //console.timeEnd('read BG_worker');\n\n self.postMessage(result, [result.geos]);\n self.close();\n\n}, false);"]));return function(){return new Worker(e)}}();var iI=function(e){zy.call(this,e),this.instancedComponent={}};Object.assign(iI.prototype,zy.prototype),iI.prototype.parseItemData=function(e){this._readMaterialBuffer(this.model);var t={},i=this.referencedMeshCache;for(var n in Bu.time("_readItemData"),i.components)i.components.hasOwnProperty(n)&&this._readItemData(t,n,n,void 0,0);Bu.timeEnd("_readItemData"),t=null,e&&e()},iI.prototype._readItemData=function(e,t,i){var n=this.referencedMeshCache.components[t];void 0!==n&&this._readMeshInfo(e,i,n,null)},iI.prototype._readMeshInfo=function(e,t,i,n){var r=this.referencedMeshCache,o=this.model.materialManager.materials,a=null;if(i.nodes||i.nodeIds){a=i.originalId;var s=(new yt).fromArray(i.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);i.matrix=s;var l=[];l=i.nodes?i.nodes:i.nodeIds;for(var c=0;l.length>c;c+=1){var h=l[c];if("object"!==nu(h)&&(h=this.getReferencedMeshComponentNodeById(h)),h){var d,u=null,p="";if(-1!==h.geoId)if(u=this._getComponentNodeAttr(h,i,c)){if(i.buildInCategory&&(u.buildInCategory=i.buildInCategory),!o[p=h.material]){var g=Jy[i.type]?Jy[i.type].color:void 0;g||(Bu.log("Material not found for type: ",i.type),g=Jy.DEFAULT.color),g||(Bu.log("Default material not found for type: ",i.type),g=[1,1,1,1]);var f=new pi(g[0],g[1],g[2]),m=p||f.getHexString()+"_"+g[3],A=o[m];A||(Bu.warn("缺少材质 "+p),A=cA.createStandardMaterial({color:f}),1>g[3]&&(A.transparent=!0,A.opacity=g[3]),A.side=2,o[m]=A),u.material=p=m}if(o[p].aoMap){var y=this.getReferencedMeshBufferById(u.geometryId);y&&(y.uv2=y.uv)}d=u.nodeId;var v=this.userDataReader,C=v?v.getUserData(null):null;u.type=i.type,u.userId=t,u.name=i.name,u.userDataId=null,u.originalId=a,u.materialId=p,u.originMId=p,u.userData=C,u.categoryId=0,u.componentKey=t,u.familyName=i.familyName,u.familySymbol=i.familySymbol;var I=xd.Instance,x=r.reuseNodes.hasOwnProperty(d);u.instanceOrNot=!(!I||!x),u.isBatched=!0,u.state=Nd.Visible,u.material=null,this._classifyNodeInfo(u),u=null}else Bu.debug("非法node")}}}},iI.prototype._parseInstanced=function(){Bu.time("_parseInstanced"),this.instancedComponent={},this.instancedNode={};var e={},t=this.referencedMeshCache,i=t.componentNodes,n=this.model.materialManager.materials;for(var r in t.components)if(t.components.hasOwnProperty(r))for(var o=t.components[r],a=0,s=o.Nodes.length;s>a;a+=1){var l=o.Nodes[a],c=i[l],h=c.geometry,d=c.material;if(-1!==h){if(!d&&0!==d){var u=Jy[o.type]?Jy[o.type].color:void 0;u||(Bu.log("Material not found for type: ",o.type),u=Jy.DEFAULT.color),u||(Bu.log("Default material not found for type: ",o.type),u=[1,1,1,1]);var p=new pi(u[0],u[1],u[2]),g=p.getHexString()+"_"+u[3],f=n[g];f||(Bu.warn("缺少材质 "+g),f=cA.createStandardMaterial({color:p}),1>u[3]&&(f.transparent=!0,f.opacity=u[3]),f.side=2,n[g]=f),c.material=g,d=g}var m=d+"&"+h;void 0===e[m]&&(e[m]=[]),e[m].push({nodeId:l})}else Bu.debug("实体没有几何")}for(var A in e)if(e.hasOwnProperty(A))if(1<e[A].length)for(var y=0;e[A].length>y;y+=1)this.instancedComponent[e[A][y].nodeId]=!0;else delete e[A];Bu.timeEnd("_parseInstanced")};var nI=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).maxGeoLoadTaskCount=0,n.geoLoadTaskCount=0,n.taskInstancedGeometrieManager=new Uy(du(n),"geometrie"),n.descriptor=new iI(e.model),n}return i}(Wy);nI.prototype._parseMaterial=function(e,t){if(e){var i=this.descriptor;if(i)for(var n in e)i.cacheReferencedMeshMaterialData(n,e[n])}else Bu.error("没有数据")},nI.prototype.loadBatchedGeometrie=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model;n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var a=n.load(r.mpkUrl(e),(function(n){i._parseBatchedGeometrie(n,e,(function(){i._onGeoTaskFinished()})),Bu.debug("geo load from online"),t()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_GEOMETRY_ERROR,modelKey:o.modelKey}),t(),i._onGeoTaskFinished()}));i.requests.loadGeometrie=a},nI.prototype.loadInstancedGeometrie=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model;n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var a=n.load(r.mpkUrl(e),(function(n){i._parseInstancedGeometrie(n,e,(function(){Bu.debug("geo load from online"),i._onGeoTaskFinished()})),t()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_GEOMETRY_ERROR,modelKey:o.modelKey}),t(),i._onGeoTaskFinished()}));i.requests.loadGeometrie=a},nI.prototype._parseGeometrie=function(e,t){if(e){var i=this.descriptor;if(i)for(var n in e)e.hasOwnProperty(n)&&(e[n].position=new Float32Array(e[n].positions),delete e[n].positions,e[n].index=new Uint32Array(e[n].indices),delete e[n].indices,e[n].normal=new Float32Array(e[n].normals),e[n].uv=new Float32Array(e[n].uv),delete e[n].normals,i.cacheReferencedMeshBufferData(n,e[n]))}else Bu.error("没有数据")},nI.prototype._parseBatchedGeometrie=function(e,t,i){var n=this,r=new ky.BatchedGeometryReader(e,this.dataVersion),o=this.descriptor;if(o)if(xd.UseReaderWorker){var a=tI.getBatchedGeometryReaderWorker();a.addEventListener("message",(function(e){var t=JSON.parse(wp.ab2str(e.data.geos));Bu.time("createBatchedMeshNodes");for(var r=function(){var e=t[s];if(void 0===e.position||void 0===e.index||void 0===e.normal)return Bu.error("Error Geometry!"),"continue";e.position=new Float32Array(e.position),e.uv=new Float32Array(e.uv),e.normal=new Float32Array(e.normal),e.index=new Uint32Array(e.index),o.cacheReferencedMeshBufferData(e.geoId,e),requestAnimationFrame((function(){n.handler.createBatchedMeshNodes(e)}))},s=0;t.length>s;s+=1)r();n.model.manager.viewerImpl.render(),Bu.timeEnd("createBatchedMeshNodes"),a.terminate(),i&&i()}),!1),a.postMessage({bufferData:e},e)}else{var s=r.geoCount;Bu.time("createBatchedMeshNodes");for(var l=0;s>l;l+=1){var c=r.geomMap[l];void 0!==c.position&&void 0!==c.index&&void 0!==c.normal?(o.cacheReferencedMeshBufferData(c.geoId,c),this.handler.createBatchedMeshNodes(c)):Bu.error("Error Geometry!")}this.model.manager.viewerImpl.render(),Bu.timeEnd("createBatchedMeshNodes"),r=null,i&&i()}},nI.prototype._parseInstancedGeometrie=function(e,t,i){var n=this,r=this.descriptor;if(r)if(xd.UseReaderWorker){var o=tI.getInstancedGeometryReaderWorker();o.addEventListener("message",(function(e){var t=JSON.parse(wp.ab2str(e.data.geos));Bu.time("createInstancedMeshNodes");for(var a=function(){var e=t[s];if(void 0===e.position||void 0===e.index||void 0===e.normal)return Bu.error("Error Geometry!"),"continue";e.position=new Float32Array(e.position),e.uv=new Float32Array(e.uv),e.normal=new Float32Array(e.normal),e.index=new Uint32Array(e.index),e.mcol0=new Float64Array(e.mcol0),e.mcol1=new Float64Array(e.mcol1),e.mcol2=new Float64Array(e.mcol2),e.mcol3=new Float64Array(e.mcol3),e.color=new Float32Array(e.color),r.cacheReferencedMeshBufferData(e.geoId,e),requestAnimationFrame((function(){n.handler.createInstancedMeshNodes(e)}))},s=0;t.length>s;s+=1)a();n.model.manager.viewerImpl.render(),Bu.timeEnd("createInstancedMeshNodes"),o.terminate(),i&&i()}),!1),o.postMessage({bufferData:e},e)}else{var a=new ky.InstancedGeometryReader(e,this.dataVersion),s=a.geoCount;Bu.time("createInstancedMeshNodes");for(var l=0;s>l;l+=1){var c=a.geomMap[l];void 0!==c.position&&void 0!==c.index&&void 0!==c.normal?(r.cacheReferencedMeshBufferData(c.geoId,c),this.handler.createInstancedMeshNodes(c)):Bu.error("Error Geometry!")}this.model.manager.viewerImpl.render(),a=null,Bu.timeEnd("createInstancedMeshNodes"),i&&i()}},nI.prototype.startLoadSceneAndGeos=function(e){Bu.time("几何数据加载时间");var t=e.scene,i=t.instancedGeometries.length||0,n=t.batchedGeometries,r=t.instancedGeometries;this.maxGeoLoadTaskCount+=t.batchedGeometries.length||0,this.maxGeoLoadTaskCount+=i,this._loadBatchedGeo(n),this._loadInstancedGeo(r)},nI.prototype._loadBatchedGeo=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();if(o)for(var a=function(){var i=n.splice(0,30);o.getBatch(i,(function(e){for(var n=function(n){if(e[i[n]])if(!0===e[i[n]].split){var r=e[i[n]].list,l=new Uint8Array(e[i[n]].length);o.getBatch(r,(function(e){for(var o=!0,a=0;r.length>a;a+=1)e[r[a]]?l.set(new Uint8Array(e[r[a]]),4e7*a):(o=!1,Bu.error("获取分割几何失败"));if(o){var s=i[n].indexOf("fileKey=");t._parseBatchedGeometrie(l.buffer,i[n].slice(s+8),(function(){t._onGeoTaskFinished()})),Bu.debug("load geo from local")}else{var c=t.taskGeometrieManager,h=i[n].indexOf("fileKey=");if(-1===h)return void Bu.error("url is not has fileKey");c.addTask(i[n].slice(h+8)),Bu.debug("load geo from net"),t.taskGeometrieManager.processTasks(t.loadBatchedGeometrie.bind(t))}}),(function(){Bu.error("获取分割几何失败")}))}else s=i[n].indexOf("fileKey="),t._parseBatchedGeometrie(e[i[n]],i[n].slice(s+8),(function(){t._onGeoTaskFinished()})),Bu.debug("load geo from local");else{if(a=t.taskGeometrieManager,-1===(s=i[n].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(i[n].slice(s+8)),Bu.debug("load geo from net")}},r=0;i.length>r;r+=1){var a,s,l=n(r);if("object"===nu(l))return l.v}t.taskGeometrieManager.processTasks(t.loadBatchedGeometrie.bind(t))}),(function(){for(var i=t.taskGeometrieManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadBatchedGeometrie.bind(t))}))};n.length>0;)a()}else{for(var s=this.taskGeometrieManager,l=0;e.length>l;l+=1)s.addTask(e[l]);s.processTasks(t.loadBatchedGeometrie.bind(t))}},nI.prototype._loadInstancedGeo=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();if(o)for(var a=function(){var i=n.splice(0,30);o.getBatch(i,(function(e){for(var n=function(n){if(e[i[n]])if(!0===e[i[n]].split){var r=e[i[n]].list,l=new Uint8Array(e[i[n]].length);o.getBatch(r,(function(e){for(var o=0;r.length>o;o+=1)e[r[o]]?l.set(new Uint8Array(e[r[o]]),4e7*o):Bu.error("获取分割几何失败");var a=i[n].indexOf("fileKey=");t._parseInstancedGeometrie(l.buffer,i[n].slice(a+8),(function(){t._onGeoTaskFinished()})),Bu.debug("load geo from local")}),(function(){Bu.error("获取分割几何失败")}))}else s=i[n].indexOf("fileKey="),t._parseInstancedGeometrie(e[i[n]],i[n].slice(s+8),(function(){t._onGeoTaskFinished()})),Bu.debug("load geo from local");else{if(a=t.taskInstancedGeometrieManager,-1===(s=i[n].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(i[n].slice(s+8)),Bu.debug("load geo from net")}},r=0;i.length>r;r+=1){var a,s,l=n(r);if("object"===nu(l))return l.v}t.taskInstancedGeometrieManager.processTasks(t.loadInstancedGeometrie.bind(t))}),(function(){for(var i=t.taskInstancedGeometrieManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadInstancedGeometrie.bind(t))}))};n.length>0;)a()}else{for(var s=this.taskInstancedGeometrieManager,l=0;e.length>l;l+=1)s.addTask(e[l]);s.processTasks(t.loadInstancedGeometrie.bind(t))}},nI.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,Bu.timeEnd("几何数据加载时间"),this.geoFinishCallback&&this.geoFinishCallback())},nI.prototype.getSceneTaskCount=function(e){var t=e.scenes;return t+=e.lines,t+=e.mpks,xd.BorderLineDelayLoaded||(t+=this.getAllBorderlineCount()),t};var rI=function(e,t){_y.call(this,e),this.defaultManager=new Qv(t,e),this.instancedManager=new Kv(e),this.loader=new nI(this)};(rI.prototype=Object.create(_y.prototype)).prepare=function(e,t){this.isLoaded()&&!this.isHidden()&&(this.prepareWireframe(this.model,t),this.model.getMaterialManager(),this.model.getMaterialManager()._updateTextureMapping(),!this.model.lightmap||this.model.enableLightmap===xd.EnableLightmap&&this.model.lightmapIntensity===xd.LightmapIntensity||(this.model.enableLightmap=xd.EnableLightmap,this.model.lightmapIntensity=xd.LightmapIntensity,this.rebuildIndicesforLightmap(),this.updateNodes()))},rI.prototype.settleData=function(e){var t=this;this.addNodeInfoToOctantMap(),t.model.setLoaded(!0);this.loader.geoFinishCallback=function(){t.loaded=!0,t.model.getMaterialManager()._updateTextureMapping(),t.clearCachedData(t.model),e&&e()},this.loader.startLoadSceneAndGeos(this.model.getConfig())},rI.prototype.addNodeInfoToOctantMap=function(){var e=this.model.manager,t=this.model.getEncodedDatabagId();this.loader.getDescriptor().traverseNodeInfosByComponent((function(i,n){e.addNodeInfoToOctantMap(t,i,n)}))},rI.prototype.createMeshNodes=function(e){var t=this,i=this.model;xd.stepLoad&&i.setLoaded(!0);var n=this.loader.getDescriptor();this.instancedManager.createMeshNodes(i,n.getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(i,n.getStandardUserIds(),(function(){i.getMaterialManager()._updateTextureMapping(),t.clearCachedData(i),t.loaded=!0,e&&e()}))},rI.prototype.clearCachedData=function(e){this.loader.getDescriptor().destroyReader(),this.loader.getDescriptor().clearReferencedMeshCache(),this.defaultManager.clearCachedData(),this.instancedManager.clearCachedData()},rI.prototype.createBatchedMeshNodes=function(e){this.defaultManager.createBatchedMeshNodes(this.model,e)},rI.prototype.createInstancedMeshNodes=function(e){this.instancedManager.createInstancedMeshNodes(this.model,e)};var oI=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e))._loadingOnDemand=!1,n}return i}(Wy);oI.prototype.loadGeopkOnDemand=function(e,t,i){this.loadTaskCount=0,this.maxLoadTaskCount=e.length,this._loadingOnDemand=!0,this.finishCallback=i;var n=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var r=this.url,o=[],a=0;e.length>a;a+=1)o.push(r.mpkUrl(e[a]));var s=this.model.getStorage();s&&s.getBatch(o,(function(e){for(var i=function(t){if(e[o[t]])if(!0===e[o[t]].split){var i=e[o[t]].list,r=new Uint8Array(e[o[t]].length);s.getBatch(i,(function(e){for(var a=0;i.length>a;a+=1)e[i[a]]?r.set(new Uint8Array(e[i[a]]),4e7*a):Bu.error("获取分割几何失败");var s=o[t].indexOf("fileKey=");n._parseGeometrie(r.buffer,o[t].slice(s+8)),Bu.debug("load geo from local"),n._onTaskFinished()}),(function(){Bu.error("获取分割几何失败")}))}else l=o[t].indexOf("fileKey="),n._parseGeometrie(e[o[t]],o[t].slice(l+8)),Bu.debug("load geo from local"),n._onTaskFinished();else{if(a=n.taskGeometrieManager,-1===(l=o[t].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(o[t].slice(l+8)),Bu.debug("load geo from net")}},r=0;o.length>r;r+=1){var a,l,c=i(r);if("object"===nu(c))return c.v}n.taskGeometrieManager.processTasks(n.loadGeometrie.bind(n),t)}),(function(){for(var i=n.taskGeometrieManager,r=0;e.length>r;r+=1)i.addTask(e[r]);i.processTasks(n.loadGeometrie.bind(n),t)}))}else{for(var l=this.taskGeometrieManager,c=0;e.length>c;c+=1)l.addTask(e[c]);l.processTasks(n.loadGeometrie.bind(n),t,i)}},oI.prototype.resetProcessState=function(e){this.loadTaskCount=0,this.maxLoadTaskCount=e,this._loadingOnDemand=!0},oI.prototype.dealProgressSegment=function(e,t){return xd.MergeComponent&&this._loadingOnDemand?t*e.progressPercentage.load:t},oI.prototype._loadLayerKey=function(){var e=this,t=this.fileLoader,i=this.url,n=this.model,r=this.handler.getLayerProvider();t.setResponseType(""),t.load(i.layerKeyUrl(),(function(t){var i=new LayerKeyReader(t),n=[],o=i.getData();r.cacheLayerKeys(o);for(var a=0,s=i.getCount();s>a;++a){var l=i.getLayerKey(a),c=r.formatLayerIds(l);n.push(c[0])}e._loadLayer(n)}),void 0,(function(t){n.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_MPK_ERROR,event:t}),e._onTaskFinished()}))},oI.prototype._loadLayer=function(e){var t=this,i=this.fileLoader,n=this.url,r=this.model,o=this.handler.getLayerProvider();i.setResponseType("arraybuffer"),i.load(n.layerUrl(),(function(i){for(var n=new LayerReader(i),r=0,a=n.getLayerCount();a>r;++r)if(void 0!==e[r]){for(var s=[],l=n.getLayerData(r),c=n.getGeopkList(r),h=0,d=c.length;d>h;h+=1)s.push(c[h]);o.cacheLayerData(e[r],{layerId:l.layer_id,boundingBox:l.boundingBox,mpkIdxs:s})}t._onTaskFinished()}),void 0,(function(e){r.dispatchEvent({type:Qd.LOAD_ERROR,errorType:Qd.LOAD_MPK_ERROR,event:e}),t._onTaskFinished()}))},oI.prototype.delayLoadResources=function(e){var t=this.model.getConfig().metadata;t&&0!==t.lines?(this.startCallback=null,this.progressCallback=null,this.finishCallback=e,this.loadTaskCount=0,this.maxLoadTaskCount=0,this.maxLoadTaskCount+=t.lines,t.lines&&this._loadLine()):e&&e()};var aI=function(e){Zy.call(this,e)};(aI.prototype=Object.assign(aI.prototype,Zy.prototype)).parseItemData=function(e,t){var i=this.model;(my(i.dataVersion,"2.0.0")||void 0===i.dataVersion)&&(Bu.time("升级几何结构"),this._updateV1ToV2(i),i.dataVersion="2.0.0",Bu.timeEnd("升级几何结构")),this._readMaterialBuffer(i),i.hasAnimation&&xd.EnableAnimation?(this._parseClips(),this._parseBones()):(this._parseGeo(),xd.Instance&&Ay(i.dataVersion,"2.0.0")&&this._parseInstanced());var n={};if(!n)return Bu.log("Empty scene"),!1;var r=this.referencedMeshCache;if(Bu.time("_readItemData"),!r.bufferData||0>=Object.keys(r.bufferData).length)return!0;if(e)for(var o=0,a=e.length;a>o;o+=1)r.components[e[o]]&&this._readItemData(n,e[o],e[o],void 0,0);else for(var s in r.components)this._readItemData(n,s,s,void 0,0);i.hasAnimation&&xd.EnableAnimation&&this._parseNodes(),Bu.timeEnd("_readItemData"),n=null,t&&t()};var sI=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).descriptor=new aI(e.model),n}return i}(oI);sI.prototype.loadSceneAndMpks=function(e){this._loadScene(0),this._loadLayerKey(),xd.BorderLineDelayLoaded||this._loadAllBorderlines(e)},sI.prototype.getSceneTaskCount=function(e){var t=2;return xd.BorderLineDelayLoaded||(t+=this.getAllBorderlineCount()),t};var lI=function(e){_y.call(this,e),this.layerDataLoaded=!1,this.loadedUserIdsObject=null,this.loadedUserIds=null,this.layerProvider=null,this.firstToLoad=!1};(lI.prototype=Object.assign(lI.prototype,_y.prototype)).destroy=function(){lI.prototype.destroy.call(this),this.loadedUserIdsObject=null,this.loadedUserIds=null,this.layerProvider.destroy(),this.layerProvider=null},lI.prototype.getLayerProvider=function(){return this.layerProvider},lI.prototype.load=function(e){var t=this,i=this.model;this.loader.setNotifyProgress(e),this.loader.load((function(){i.manager.dispatchEvent({type:Fd.ON_LOAD_START})}),(function(e){i.manager.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:e})}),(function(){t.processLoadCompleted((function(){i.manager.dispatchEvent({type:Fd.ON_LOAD_COMPLETE,modelKey:t.model.modelKey})}))}))},lI.prototype.unload=function(e,t){},lI.prototype.loadGeopkOnDemand=function(e,t,i,n){var r=this,o=this.model,a=!e,s=function(e){o.manager.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:e})};this.firstToLoad?this.loader.delayLoadResources((function(){r.firstToLoad=!1,r.loader.finishCallback=null,r.prepareData((function(){r.loader.progressCallback=s,r.getLayerProvider().setConditionsOnDemandLoad(e),r._loadGeopkOnDemand(a,t,i,n)}))})):(r.loader.progressCallback=s,r.getLayerProvider().setConditionsOnDemandLoad(e),r._loadGeopkOnDemand(a,t,i,n))},lI.prototype._loadGeopkOnDemand=function(e,t,i,n){var r=this,o=this.model;this.layerDataLoaded=!1,t&&t(),o.manager.dispatchEvent({type:Fd.ON_LOAD_START}),this.getLayerProvider().loadGeopkOnDemand(e,(function(e){r.dealData(e)}),(function(e,t){}),i,(function(){r.layerDataLoaded=!0,o.manager.updateFilterManager(),Bu.log("load finish"),o.dispatchEventEx({type:Fd.ON_DEMAND_LOAD_COMPLETE,data:{boundingBox:o.manager.getLoadOnDemandDirector().getBoundingBoxForUsedComponent()},modelKey:r.model.modelKey}),n&&n()}))},lI.prototype.processLoadCompleted=function(e){var t=this.model;t.materialManager._updateTextureMapping(),t.materialManager._updateIBL(t),t.loaded=!0,t.updateOctreeNode(),requestAnimationFrame((function(){e&&e(),t.debut(t)}))},lI.prototype.isAllReady=function(){return!(!this.isLoaded()||this.isHidden()||!this.isLayerDataLoaded())},lI.prototype.applyFilter=function(){if(this.isLoaded()&&this.isLayerDataLoaded()){var e=this.model.getModelDescriptor().getStandardUserIdsByCategory(this.loadedUserIds);if(e.length&&this.defaultManager.applyFilter(this.model,e),xd.Instance){var t=this.model.getModelDescriptor().getInstancedUserIdsByCategory(this.loadedUserIds);t.length&&this.instancedManager.applyFilter(this.model,t)}}},lI.prototype.needUpdate=function(){return!!this.isLayerDataLoaded()},lI.prototype.clearData=function(){},lI.prototype.initData=function(e){},lI.prototype.dealMeshNodes=function(e){},lI.prototype.dealData=function(e){var t=this;this.initData((function(){t.model.manager.loadOverrideMaterialsByDemand((function(){t.dealMeshNodes(e)}),(function(){t.dealMeshNodes(e)}))}))},lI.prototype.getLoadedUserIdsObject=function(){return this.loadedUserIdsObject},lI.prototype.isLayerDataLoaded=function(){return this.layerDataLoaded},lI.prototype.clearLoadedState=function(){this.layerDataLoaded=!1,this.loadedUserIdsObject=null,this.loadedUserIds=null};var cI=function(e){this.model=e,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};cI.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},cI.prototype.clearData=function(){},cI.prototype.loadLayerDataByIdxs=function(e,t,i,n){},cI.prototype.dealLayerDataLoading=function(e,t,i,n,r){},cI.prototype.loadGeopkOnDemand=function(e,t,i,n,r){var o=e?this.getAllLayerIdxData():this.getUsedLayerIdxData();this.dealLayerDataLoading(this.getLayerIdxInfoByLayerData(o),t,i,n,r)},cI.prototype.getUsedIdxsInfoFrom=function(e,t){var i=null,n={},r={},o={},a={};if(e&&e.length)for(var s=0,l=e.length;l>s;s+=1)n[i=e[s]]=!0;if(t)if(wp.isEmptyObject(n))o=t;else{for(i in t)n[i]&&(a[i]=!0);if(wp.isEmptyObject(a))r=n,o=t;else{for(i in t)a[i]||(o[i]=!0);for(i in n)a[i]||(r[i]=!0)}}else wp.isEmptyObject(n)||(r=n);return{objCurrUsedIdxs:n,addIdxs:Object.keys(r),removeIdxs:Object.keys(o)}},cI.prototype.getLayerIdxInfoByLayerData=function(e){var t=null,i=null;e?(t=e.layerIds,i=e.mpkIdxs):(t=null,i=null);var n=this.getUsedIdxsInfoFrom(t,this.lastUsedLayerIdsObject);this.lastUsedLayerIdsObject=n.objCurrUsedIdxs;var r=this.getUsedIdxsInfoFrom(i,this.lastUsedGeopkIdxsObject);return this.lastUsedGeopkIdxsObject=r.objCurrUsedIdxs,{layerScene:n,mpk:r}},cI.prototype.getUsedLayerIdxData=function(){if(!this.isConditionsChanged()&&this.lastUsedLayerData)return this.lastUsedLayerData;this.setConditionsChanged(!1);var e=this.getConditionsOnDemand();if(!e)return this.lastUsedLayerData=null,null;this.getCachedLayerData();for(var t=[],i=e,n=this.model.getModelDescriptor().referencedMeshCache.components,r=this.model,o=r.getModelDescriptor(),a=0,s=i.length;s>a;a+=1){var l=i[a],c=n[l];if(c)if((c.nodes||c.nodeIds)&&fy(r.dataVersion,"2.0.0"))for(var h=null,d=0,u=(h=c.nodes?c.nodes:c.nodeIds).length;u>d;d+=1){var p=h[d];if("object"!==nu(p)&&(p=o.getReferencedMeshComponentNodeById(p)),p){var g=this.getFileKeyByGeoId(p.geoId);g&&t.push(g)}}else{var f=this.getFileKeyByGeoId(n[l].geoId);f&&t.push(f)}}return this.lastUsedLayerData={layerIds:[],layerKeys:[],boundingBoxes:[],mpkIdxs:t},this.lastUsedLayerData},cI.prototype.getFileKeyByGeoId=function(e){for(var t in this.cachedLayerData)if(this.cachedLayerData.hasOwnProperty(t)){var i=this.cachedLayerData[t];if(e>=i[0]&&i[1]>=e)return t}return window.geoidToFileKeyMap?window.geoidToFileKeyMap[e]:null},cI.prototype.getAllLayerIdxData=function(){this.setConditionsChanged(!1);var e=this.getCachedLayerData();if(!e)return null;var t=[],i=[],n=[],r=[];for(var o in e){for(var a=e[o].mpkIdxs,s=0,l=a.length;l>s;s+=1)n.push(a[s]);t.push(o),i.push(e[o].layerId),r.push(e[o].boundingBox)}return{layerIds:i,layerKeys:t,boundingBoxes:r,mpkIdxs:n}},cI.prototype.getUserIdsOnDemand=function(){var e={},t=this.getConditionsOnDemand();if(t)for(var i in t)e[t[i]]=!0;return e},cI.prototype.cacheLayerData=function(e,t){this.cachedLayerData[e]=t},cI.prototype.getCachedLayerData=function(){return this.cachedLayerData},cI.prototype.clearNodeInfoCacheWithLayerKey=function(){this.nodeInfosWithLayerKey={}},cI.prototype.cacheNodeInfoByLayerKey=function(e,t){this.nodeInfosWithLayerKey[e]||(this.nodeInfosWithLayerKey[e]=[]),this.nodeInfosWithLayerKey[e].push(t)},cI.prototype.cacheNodeInfosWithLayerKey=function(){var e=this.model.getModelDescriptor().getAllNodeInfos();for(var t in e)for(var i=e[t],n=0,r=i.length;r>n;n+=1){var o=i[n],a=this.formatLayerIds(o.userData);this.cacheNodeInfoByLayerKey(a[0],o)}},cI.prototype.cacheLayerKeys=function(e){this.mapLayerKeys=e;var t={},i=this.getLayerKeyAttributes();for(var n in e){var r=e[n],o=r[i[0]],a=r[i[1]];t.hasOwnProperty(o)||(t[o]=[]),t.hasOwnProperty(a)||(t[a]=[]),t[o].push(a),t[a].push(o)}this.cacheSpecialtysLevels=t},cI.prototype.getLayerKeyAttributes=function(){if(this.cacheAttributes)return this.cacheAttributes;var e=[],t=Object.keys(this.mapLayerKeys),i=this.mapLayerKeys[t[0]];for(var n in i)i.hasOwnProperty(n)&&e.push(n);return this.cacheAttributes=e,this.cacheAttributes},cI.prototype.formatLayerIds=function(e){var t=[];if(!e)return t.push("unknown"),t;var i=this.getFileKeyByGeoId(e.originalGeometryId);return t.push(i||"unknown"),t},cI.prototype.getLevelsOrSpecialtys=function(e){return this.cacheSpecialtysLevels.hasOwnProperty(e)?this.cacheSpecialtysLevels[e]:(Bu.warn("Attribute "+e+"has no according levels or specialtys."),[])},cI.prototype.getUnionBoundingBoxOnDemand=function(){var e=this.getBoundingBoxesOnDemand();if(e&&e.length>0){for(var t=new He,i=0,n=e.length;n>i;i+=1)t.union(e[i]);return t}return null},cI.prototype.getBoundingBoxesOnDemand=function(){var e=this.getUsedLayerIdxData();return e?e.boundingBoxes:null},cI.prototype.setConditionsOnDemandLoad=function(e){this.mapNeededConditions=e,this.setConditionsChanged(!0)},cI.prototype.setConditionsChanged=function(e){this.conditionsChanged=e},cI.prototype.getConditionsOnDemand=function(){return this.mapNeededConditions},cI.prototype.isConditionsChanged=function(){return this.conditionsChanged};var hI=function(e){cI.call(this,e)};(hI.prototype=Object.assign(hI.prototype,cI.prototype)).loadLayerDataByIdxs=function(e,t,i,n){this.model.getLoader().resetProcessState(t.length),this.model.getLoader().loadGeopkOnDemand(t,(function(e,t){i&&i(t-e,t)}),n)},hI.prototype.dealLayerDataLoading=function(e,t,i,n,r){var o=e.mpk;if(0!==o.addIdxs.length||0!==o.removeIdxs.length){var a=!1;o.removeIdxs.length>0&&(a=!0,i&&i(null,o.removeIdxs)),o.addIdxs.length>0?this.loadLayerDataByIdxs(null,o.addIdxs,n,(function(){t&&t(r)})):a?t&&t(r):r&&r()}else t&&t(r)};var dI=function(e){return lI.call(this,e),this.layerProvider=new hI(e),this};(dI.prototype=Object.assign(dI.prototype,lI.prototype)).settleData=function(e){this.addNodeInfoToOctantMap(),this.getLayerProvider().cacheNodeInfosWithLayerKey(),this.loaded=!0,e&&e()},dI.prototype.clearData=function(){this.model.clearNodeGroup(),this.model.clearMeshFromOctantMap(),this.getLayerProvider().clearData(),this.model.clearWireframeElementCount(),this.defaultManager.clearData(),this.instancedManager.clearData(),this.clearLoadedState()},dI.prototype.addNodeInfoToOctantMap=function(){var e=this.model.manager,t=this.model.getEncodedDatabagId();this.model.getModelDescriptor().traverseNodeInfosByComponent((function(i,n){e.addNodeInfoToOctantMap(t,i,n)}))},dI.prototype.initData=function(e){var t=this;t.model.getModelDescriptor().parseItemData(t.layerProvider.getConditionsOnDemand(),(function(){t.settleData(),t.loadedUserIdsObject=t.getLayerProvider().getUserIdsOnDemand(),t.loadedUserIds=Object.keys(t.loadedUserIdsObject),e&&e()}))},dI.prototype.unload=function(e,t){var i=this;this.model.getModelDescriptor().clearReferencedMeshCacheByGeopkIdxs(t,(function(e){i.defaultManager.disposeGeometry(e)}))};var uI=function(e,t){return dI.call(this,e,t),this.tag="layer",this.defaultManager=new Qv(t,e),this.instancedManager=new Kv(e),this.loader=new sI(this),this};(uI.prototype=Object.assign(uI.prototype,dI.prototype)).prepare=function(e,t){this.isAllReady()&&(this.prepareWireframe(this.model,t),this.model.getMaterialManager()._updateTextureMapping(this.model))},uI.prototype.dealMeshNodes=function(e){delete this.model.manager.octantToObjectMap[this.model.modelKey],this.addNodeInfoToOctantMap();var t=this.model.getModelDescriptor().getInstancedUserIdsByCategory(this.loadedUserIds);this.model._removeNodeGroup(Vp.INSTANCEGEOMETRY),this.model._removeNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY),this.instancedManager.meshManager.dispose(),this.instancedManager.meshManager.clearData(),this.instancedManager.wireframeManager.clearData(),this.instancedManager.meshManager.disposeInstanceGeometries(),t.length&&this.instancedManager.createMeshNodes(this.model,t);var i=this.model.getModelDescriptor().getStandardUserIdsByCategory(this.loadedUserIds);this.model._removeNodeGroup(Vp.GEOMETRY),this.model._removeNodeGroup(Vp.WIREFRAME),this.defaultManager.meshManager.dispose(),this.defaultManager.meshManager.clearData(),this.defaultManager.wireframeManager.clearData(),i.length?this.defaultManager.asyncCreateMeshNodes(this.model,i,e):e&&e()},uI.prototype.unloadComponents=function(e,t){for(var i=this.model.modelKey,n=0,r=e.length;r>n;n+=1)this.model.manager.removeBatchedMeshFromOctantMap(i,e[n]);this.model.getModelDescriptor().clearNodeInfoCacheByComponentsKey(e),this.dealMeshNodes(t)};var pI=function(e){zy.call(this,e)};(pI.prototype=Object.assign(pI.prototype,zy.prototype)).parseItemData=function(e,t){var i=this.model;(my(i.dataVersion,"2.0.0")||void 0===i.dataVersion)&&(Bu.time("升级几何结构"),this._updateV1ToV2(i),i.dataVersion="2.0.0",Bu.timeEnd("升级几何结构")),this._readMaterialBuffer(i),i.hasAnimation&&xd.EnableAnimation?(this._parseClips(),this._parseBones()):this._parseGeo();var n={};if(!n)return Bu.log("Empty scene"),!1;var r=this.referencedMeshCache;if(Bu.time("_readItemData"),!r.bufferData||0>=Object.keys(r.bufferData).length)return!0;if(e)for(var o=0,a=e.length;a>o;o+=1)r.components[e[o]]&&this._readItemData(n,e[o],e[o],void 0,0);else for(var s in r.components)this._readItemData(n,s,s,void 0,0);i.hasAnimation&&xd.EnableAnimation&&this._parseNodes(),Bu.timeEnd("_readItemData"),n=null,t&&t()};var gI=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).descriptor=new pI(e.model),n}return i}(oI);gI.prototype.loadSceneAndMpks=function(e){this._loadScene(0),this._loadLayerKey(),xd.BorderLineDelayLoaded||this._loadAllBorderlines(e)},gI.prototype.getSceneTaskCount=function(e){var t=2;return xd.BorderLineDelayLoaded||(t+=this.getAllBorderlineCount()),t};var fI=function(e){$y.call(this,e),this.nodeGroupName="PickingMeshGroup"};Object.assign(fI.prototype,$y.prototype),SA(fI,[{key:"disposePickingNodeById",value:function(e){for(var t=Object.keys(this.pickingNodeMap[e]),i=0,n=t.length;n>i;i+=1)for(var r=this.pickingNodeMap[e][t[i]],o=0,a=r.length;a>o;o+=1)r[o].material=null,r[o].geometry.dispose(),r[o]=null}},{key:"removeFormPickingNodeGroup",value:function(e){if(this.pickingNodeGroup)for(var t=Object.keys(this.pickingNodeMap[e]),i=0,n=t.length;n>i;i+=1)for(var r=this.pickingNodeMap[e][t[i]],o=0,a=r.length;a>o;o+=1)this.pickingNodeGroup.remove(r[o])}},{key:"addToPickingNodeMap",value:function(e,t,i){this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[e]||(this.pickingNodeMap[e]={}),this.pickingNodeMap[e][t]=i,this.addToPickingNodeGroup(i)}},{key:"generatePickingMeshes",value:function(e){var t=this;this.manager.traverseActiveMeshMap(e,(function(e,i,n){if(!t._isExistNode(e,i)){for(var r=[],o=0,a=n.length;a>o;o+=1){var s=n[o],l=new Ni;l.setAttribute("position",s.geometry.getAttribute("position")),l.setIndex(s.geometry.getIndex()),l._withDrawRange&&l.setDrawRange(s.geometry.drawRange.start,s.geometry.drawRange.count);var c=new(s.isLineSegments?La:nn)(l,cA.DefaultMaterial);by.copyMeshProperties(c,s),c.renderOrder=c.isMesh?1:2,r.push(c)}t.addToPickingNodeMap(e,i,r)}}))}},{key:"_isExistNode",value:function(e,t){return!!(this.pickingNodeMap&&this.pickingNodeMap[e]&&this.pickingNodeMap[e][t])}},{key:"updatePickingMeshesState",value:function(e,t,i){if(this.pickingNodeMap)for(var n=this.pickingNodeMap,r=this.manager,o=0,a=t.length;a>o;o+=1){var s=t[o];if(n[s]&&r.isPickableNode(s)){var l=r.getActiveMeshMapById(s);if(l)for(var c=Object.keys(n[s]),h=0,d=c.length;d>h;h+=1){var u=c[h];if(l[u]){var p=n[s][u];if(p)for(var g=0,f=p.length;f>g;g+=1)p[g].material=e,p[g].visible=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var e=this.pickingNodeMap,t=Object.keys(e),i=0,n=t.length;n>i;i+=1)for(var r=t[i],o=Object.keys(e[r]),a=0,s=o.length;s>a;a+=1)for(var l=e[r][o[a]],c=0,h=l.length;h>c;c+=1)l[c].visible=!1}},{key:"updatePickingMeshes",value:function(e,t,i){return this.generatePickingMeshes(t),this.resetPickingMeshesState(),this.updatePickingMeshesState(e,t,i),this.getPickingNodeGroup()}}]);var mI=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;return ru(this,i),(r=t.call(this)).type="SkinnedMeshEx",r.matrixAutoUpdate=!0,r.active=!1,r.guid="",r.key="",r.typeEx="",r.geometry=e||by.EmptyGeometry,r.material=n||cA.DefaultMaterial,r.visible=!1,r.castShadow=xd.EnableShadow,r.receiveShadow=xd.EnableShadow,r}return i}(ma);mI.prototype.init=function(e){e&&e.parent&&e.parent.add(this)},mI.prototype.destroy=function(){this.parent&&this.parent.remove(this),this.userData&&(this.userData=null),this.geometry=null,this.material=null},mI.prototype.isVisible=function(){return this.visible&&this.active},mI.prototype.spawn=function(e){void 0!==e.guid&&(this.guid=e.guid),void 0!==e.key&&(this.key=e.key),void 0!==e.name&&(this.name=e.name),void 0!==e.typeEx&&(this.typeEx=e.typeEx),e.geometry&&(this.geometry=e.geometry),e.material&&(this.material=e.material),e.matrix?(this.matrix.copy(e.matrix),this.updateMatrixWorld(!0)):(this.matrix.identity(),this.updateMatrixWorld(!0)),this.modelKey=e.modelKey?e.modelKey:"",e.userData?this.userData=e.userData:this.userData&&(this.userData=null),void 0!==e.visible&&(this.visible=e.visible),this.renderOrder=e.renderOrder||0,this.active=!0,this.visible=!0,this.frustumCulled=!1,this.matChange=!1},mI.prototype.clear=function(){this.geometry=by.EmptyGeometry,this.material=cA.DefaultMaterial,this.active=!1,this.visible=!0,this.guid="",this.key="",this.typeEx="",this.frustumCulled=!0,this.material.visible=!1},mI.prototype.intersectBoxWithDistance=function(){var e=new He;return function(t,i){var n=this.geometry,r=this.material,o=this.matrixWorld;return i&&(o=new yt).multiplyMatrices(this.matrixWorld,i),void 0===r?-1:(n.boundingBox||n.computeBoundingBox(),e.copy(n.boundingBox),e.applyMatrix4(o),t.ray.intersectBoxWithDistance(e))}}(),mI.prototype.intersectBoxWithDistanceByIndices=function(e,t){var i=this.matrixWorld,n=this.computeBoundingBox(t);return n.applyMatrix4(i),e.ray.intersectBoxWithDistance(n)},mI.prototype.intersectBoxWithClipPlane=function(e,t){var i=this.matrixWorld,n=this.computeBoundingBox(t);return n.applyMatrix4(i),n.intersectsPlane(e)},mI.prototype.raycastByIndices=function(){var e=new yt,t=new At,i=new ct,n=new Ke,r=new Ke,o=new Ke,a=new ke,s=new ke,l=new ke,c=new Ke,h=new Ke,d=new Ke,u=new yt;function p(e,t,i,p,g,f,m,A){n.fromBufferAttribute(p,f),r.fromBufferAttribute(p,m),o.fromBufferAttribute(p,A);var y=function(e,t,i,n,r,o,a){var s=e.material;if(null===(Array.isArray(s)?i.intersectTriangle(n,r,o,!1,a):1===s.side?i.intersectTriangle(o,r,n,!0,a):i.intersectTriangle(n,r,o,2!==s.side,a)))return null;d.copy(a),d.applyMatrix4(u);var l=t.ray.origin.distanceTo(d);return t.near>l||l>t.far?null:{distance:l,point:d.clone(),object:e}}(e,t,i,n,r,o,h);if(y){if(g&&g.array&&g.array.length&&(a.fromBufferAttribute(g,f),s.fromBufferAttribute(g,m),l.fromBufferAttribute(g,A),y.uv=function(e,t,i,n,r,o,a){return ri.getBarycoord(e,t,i,n,c),r.multiplyScalar(c.x),o.multiplyScalar(c.y),a.multiplyScalar(c.z),r.add(o).add(a),r.clone()}(h,n,r,o,a,s,l)),p.instanceMatrix){var v=n.clone().applyMatrix4(p.instanceMatrix),C=r.clone().applyMatrix4(p.instanceMatrix),I=o.clone().applyMatrix4(p.instanceMatrix),x={a:f,b:m,c:A,normal:ri.getNormal(v,C,I,new Ke),materialIndex:0};y.face=x}else{var w={a:f,b:m,c:A,normal:ri.getNormal(n,r,o,new Ke),materialIndex:0};y.face=w}y.faceIndex=f}return y}return function(n,r,o,a){var s=this.geometry,l=this.material;if(a){s=this.geometry,l=this.material;if((u=new yt).multiplyMatrices(this.matrixWorld,a),void 0===l)return;if(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(u),!1===n.ray.intersectsSphere(i))return;if(e.copy(u).invert(),t.copy(n.ray).applyMatrix4(e),null!==s.boundingBox&&!1===t.intersectsBox(s.boundingBox))return;var c=null,h=null,d=null,g=null,f=s.index;(I=s.attributes.position).instanceMatrix=a;var m=s.attributes.uv,A=null,y=null;if(null!==f)for(A=0,y=f.count;y>A;A+=3)h=f.getX(A),d=f.getX(A+1),g=f.getX(A+2),(c=p(this,n,t,I,m,h,d,g))&&(c.faceIndex=Math.floor(A/3),r.push(c));else for(A=0,y=I.count;y>A;A+=3)(c=p(this,n,t,I,m,h=A,d=A+1,g=A+2))&&(c.index=h,r.push(c))}else{if(u=this.matrixWorld,void 0===l)return;if(i.copy(this.computeBoundingSphere(o)),i.applyMatrix4(u),!1===n.ray.intersectsSphere(i))return;e.copy(u).invert(),t.copy(n.ray).applyMatrix4(e);var v=this.computeBoundingBox(o);if(!1===t.intersectsBox(v))return;c=null,h=null,d=null,g=null;var C,I=s.attributes.position,x=(m=s.attributes.uv,A=null,o.indexStart),w=o.indexStart+o.indexCount,M=s.getIndex().array;for(A=x,C=w;C>A;A+=3)(c=p(this,n,t,I,m,h=M[A],d=M[A+1],g=M[A+2]))&&(c.faceIndex=Math.floor(A/3),r.push(c))}}}(),mI.prototype.minDistanceToTri=function(e,t,i){function n(e,t){return new Ke(e.x-t.x,e.y-t.y,e.z-t.z)}function r(e,t){return new Ke(e.x+t.x,e.y+t.y,e.z+t.z)}function o(e,t,i){return new Ke(e.x+t.x*i,e.y+t.y*i,e.z+t.z*i)}function a(e,t){return e.x*t.x+e.y*t.y+e.z*t.z}function s(e,t){return new Ke(e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x)}function l(e,t,i,l){var c,h=a(t,l),d=a(t,t),u=a(l,l),p=n(i,e),g=a(t,p),f=a(l,p),m=null;0>(m=(g*u-f*h)/(d*u-h*h))||isNaN(m)?m=0:m>1&&(m=1);var A=null,y=null,v=null,C=null;return 0>=(c=(m*h-f)/u)||isNaN(c)?(y=i,0>=(m=g/d)||isNaN(m)?(A=e,v=n(i,e)):1>m?(A=o(e,t,m),C=s(p,t),v=s(t,C)):v=n(i,A=r(e,t))):1>c?(y=o(i,l,c),0>=m||isNaN(m)?(A=e,C=s(p,l),v=s(l,C)):1>m?(A=o(e,t,m),0>a(v=s(t,l),p)&&v.multiplyScalar(-1)):(C=s(p=n(i,A=r(e,t)),l),v=s(l,C))):(y=r(i,l),0>=(m=(h+g)/d)||isNaN(m)?(A=e,v=n(y,e)):1>m?(A=o(e,t,m),C=s(p=n(y,e),t),v=s(t,C)):v=n(y,A=r(e,t))),{vec:v,closestP:A,closestQ:y}}function c(e,t){var i=null,r=null,c=[],h=[],d=null;c[0]=n(e[1],e[0]),c[1]=n(e[2],e[1]),c[2]=n(e[0],e[2]),h[0]=n(t[1],t[0]),h[1]=n(t[2],t[1]),h[2]=n(t[0],t[2]);for(var u=null,p=null,g=null,f=0,m=e[0].distanceToSquared(t[0])+1,A=0;3>A;A+=1)for(var y=0;3>y;y+=1){var v=l(e[A],c[A],t[y],h[y]);d=v.vec;var C=a(u=n(r=v.closestQ,i=v.closestP),u);if(m>=C){p=i.clone(),g=r.clone(),m=C;var I=a(n(e[(A+2)%3],i),d),x=a(n(t[(y+2)%3],r),d);if(0>=I&&x>=0)return{start:i.clone(),end:r.clone(),minDistance:Math.sqrt(C)};0>I&&(I=0),x>0&&(x=0),a(u,d)-I+x>0&&(f=1)}}var w=s(c[0],c[1]),M=a(w,w);if(M>1e-15){var E=[];u=n(e[0],t[0]),E[0]=a(u,w),u=n(e[0],t[1]),E[1]=a(u,w),u=n(e[0],t[2]),E[2]=a(u,w);var B=-1;if(E[0]>0&&E[1]>0&&E[2]>0?E[B=E[1]>E[0]?0:1]>E[2]&&(B=2):0>E[0]&&0>E[1]&&0>E[2]&&E[2]>E[B=E[0]>E[1]?0:1]&&(B=2),B>=0&&(f=1,a(u=n(t[B],e[0]),s(w,c[0]))>0&&a(u=n(t[B],e[1]),s(w,c[1]))>0&&a(u=n(t[B],e[2]),s(w,c[2]))>0))return i=o(t[B],w,E[B]/M),r=t[B].clone(),i.distanceTo(r)}var S=s(h[0],h[1]),b=a(S,S);if(b>1e-15){var k=[];u=n(t[0],e[0]),k[0]=a(u,S),u=n(t[0],e[1]),k[1]=a(u,S),u=n(t[0],e[2]),k[2]=a(u,S);B=-1;if(k[0]>0&&k[1]>0&&k[2]>0?k[B=k[1]>k[0]?0:1]>k[2]&&(B=2):0>k[0]&&0>k[1]&&0>k[2]&&k[2]>k[B=k[0]>k[1]?0:1]&&(B=2),B>=0&&(f=1,a(u=n(e[B],t[0]),s(S,h[0]))>0&&a(u=n(e[B],t[1]),s(S,h[1]))>0&&a(u=n(e[B],t[2]),s(S,h[2]))>0))return{start:i=e[B].clone(),end:(r=o(e[B],S,k[B]/b)).clone(),minDistance:i.distanceTo(r)}}return f?(i=p,r=g,{start:p.clone(),end:g.clone(),minDistance:Math.sqrt(m)}):{start:p.clone(),end:g.clone(),minDistance:0}}var h=new Ke,d=new Ke,u=new Ke;function p(e,t,i,n,r,o){h.fromBufferAttribute(t,i),d.fromBufferAttribute(t,n),u.fromBufferAttribute(t,r),o&&(h.applyMatrix4(o),d.applyMatrix4(o),u.applyMatrix4(o)),e.push(h),e.push(d),e.push(u)}for(var g={start:null,end:null,minDistance:Number.POSITIVE_INFINITY},f=this.geometry,m=f.attributes.position,A=t?t.indexStart:0,y=f.getIndex().array,v=A,C=t?t.indexStart+t.indexCount:y.length;C>v;v+=3){var I=[];p(I,m,y[v],y[v+1],y[v+2],i);var x=c(e,I);if(0>=x.minDistance)return g.minDistance=0,g;g.minDistance>x.minDistance&&(g.minDistance=x.minDistance,g.start=x.start.clone(),g.end=x.end.clone())}return g},mI.prototype.computeBoundingBox=function(e){var t=new He,i=this.geometry.attributes.position.array,n=null,r=null;return e?(n=e.positionStart,r=e.positionStart+e.positionCount):(n=0,r=i.length),this.setBoundingBoxFromArray(t,i,n,r),t},mI.prototype.computeBoundingSphere=function(e){var t=new He,i=new Ke,n=this.geometry.attributes.position.array,r=null,o=null;e?(r=e.positionStart,o=e.positionStart+e.positionCount):(r=0,o=n.length);var a=new ct,s=a.center;this.setBoundingBoxFromArray(t,n,r,o),t.getCenter(s);for(var l=0,c=r,h=o;h>c;c+=3)i.x=n[c],i.y=n[c+1],i.z=n[c+2],l=Math.max(l,s.distanceToSquared(i));return a.radius=Math.sqrt(l),a},mI.prototype.setBoundingBoxFromArray=function(e,t,i,n){for(var r=Number(1/0),o=Number(1/0),a=Number(1/0),s=-1/0,l=-1/0,c=-1/0,h=i,d=n;d>h;h+=3){var u=t[h],p=t[h+1],g=t[h+2];r>u&&(r=u),o>p&&(o=p),a>g&&(a=g),u>s&&(s=u),p>l&&(l=p),g>c&&(c=g)}e.min.set(r,o,a),e.max.set(s,l,c)};var AI=function(e){return kv.call(this),this.manager=e,this.nodePriority={high:[],medium:[],low:[]},this.visibleOctant=[],this.occlusionVisibleOctant=[],this.usedNodeInfosObject={},this.lineNodes={},this.blinkMaterials=[],this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.activeMeshMap={},this};(AI.prototype=Object.create(kv.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},AI.prototype.disposeLineNodes=function(){for(var e in this.lineNodes){var t=this.lineNodes[e];t.geometry.dispose(),t=null,delete this.lineNodes[e]}},AI.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},AI.prototype.update=function(e,t,i){this._updateMeshNodes(e,t,i)},AI.prototype.cullNodes=function(e,t){this._clearNodePriorityData(!1),this._adjustLowNodePriorityLength(e);var i=0;return i=xd.EnableOctant?this._cullNodesWithOctant(e,t):this._cullNodesWithFull(e),this._calcPrioritizedNodeCount(e,i)},AI.prototype.getPriorityNodes=function(){return[this.nodePriority.high,this.nodePriority.medium,this.nodePriority.low]},AI.prototype._cullNodesWithOctant=function(e,t){var i=0,n=0,r=this.manager.getLoader(e).getOctreeRootNodeInner(),o=this.manager.getLoader(e).getOctreeRootNodeOuter();if(this.manager.getContainsCamera(e)||!o)return this.visibleOctant.length=0,r&&this._frustumCull(e,t,r),o&&this._frustumCull(e,t,o),(n=this.visibleOctant.length)>0&&(this._sortVisibleOctant(t),i=this._logicCull(e,!0,!0,i,n)),i;o&&(this.visibleOctant.length=0,this._frustumCull(e,t,o),(n=this.visibleOctant.length)>0&&(this._sortVisibleOctant(t),i=this._logicCull(e,!0,!1,i,n)));var a=this.manager.getFilter(e);(Object.keys(this.nodePriority.low).length+this.nodePriority.high.length+this.nodePriority.medium.length<this.manager.getRenderableCount(e)||a._hasRenderPromotionFilter())&&((r=this.manager.getLoader(e).getOctreeRootNodeInner())&&(this.visibleOctant.length=0,this._frustumCull(e,t,r),(n=this.visibleOctant.length)>0&&(this._sortVisibleOctant(e,t),i=this._logicCull(e,!0,!1,i,n))));return i},AI.prototype._cullNodesWithFull=function(e){var t=e.getModelDescriptor().getComponentCount();return 0===t?0:this._logicCullWithFull(e,t)},AI.prototype._calcPrioritizedNodeCount=function(e,t){var i=t+this.nodePriority.high.length+this.nodePriority.medium.length;return i>this.manager.getRenderableCount(e)&&(i=this.manager.getRenderableCount(e)),i},AI.prototype._updateMeshNodes=function(e,t,i){if(this.filter=e.getFilter(),e.isOnlyWireframe()){e._getNodeGroup(Vp.GEOMETRY).visible=!1}else{var n=e.getModelDescriptor().getStandardNodeInfos();if(n){this.clearSelectedObjectIds(),e._getNodeGroup(Vp.GEOMETRY).visible=!0;var r=e.manager.filter,o=e.selectedMaterial,a=e.manager.sceneState,s=e.manager;if(s.octantToObjectMap&&s.octantToObjectMap[e.modelKey]){var l=s.octantToObjectMap[e.modelKey].mesh,c=e.materialManager.materials,h=this.manager.hiddenUserIdSetObject,d=this.manager.overrideUserIdSetObject,u=this.manager.transparentUserIdSetObject,p=this.manager.selectedUserIdSetObject,g=this.manager.hoveredUserIdSetObject;this.blinkMaterials.length=0,t||(t=e.getModelDescriptor().getStandardUserIds()),xd.TranslucentDepthDisabled&&(o.depthWrite=!o.transparent);var f=r._getMaterialByName("scene");xd.TranslucentDepthDisabled&&(f.depthWrite=!1);for(var m=0;t.length>m;m+=1){var A=t[m];if(n[A]){var y=n[A][0];if(y)if(l[A]){var v=l[A][0];if(v instanceof xm&&(v=v.object),v)if(h&&h[A])v.visible=!1;else{v.visible=!0;var C=[];if(u&&u[A]&&!xd.EnableSelectionByTranslucent){for(var I=0;y.materialId.length>I;I+=1)C.push(i||f);v.material=C}else if(p&&p[A])if(this.cacheSelectedObjectIds(A),xd.PickingEffect)for(var x=r._getOverrideMaterial(y),w=0;y.materialId.length>w;w+=1)C.push(i||x);else{for(var M=0;y.materialId.length>M;M+=1)C.push(i||o);v.material=C}else if(e.blinkMapComponentKeyToRenderState&&e.blinkMapComponentKeyToRenderState[A])Array.isArray(v.material)?v.material.fill(e.blinkMapMaterialNameToMaterial[e.blinkMapComponentKeyToMaterialName[A]]):v.material=e.blinkMapMaterialNameToMaterial[e.blinkMapComponentKeyToMaterialName[A]];else if(g&&g[A]){for(var E=0;y.materialId.length>E;E+=1)if(d[A]){var B=r._getMaterialByName(d[A]),S=a.getHoverMaterial(i||B);C.push(S)}else{var b=a.getHoverMaterial(i||c[y.materialId[E]]);C.push(b)}v.material=C}else if(u&&u[A]){for(var k=0;y.materialId.length>k;k+=1)C.push(i||f);v.material=C}else if(d&&d[A]){for(var D=0;y.materialId.length>D;D+=1)if(Array.isArray(d[A])){(T=c[y.materialId[D]])||(T=r._getMaterialByName(d[A][D])),C.push(i||T)}else{var T=r._getMaterialByName(d[A]);C.push(i||T)}v.material=C}else{for(var R=0;y.materialId.length>R;R+=1){T=c[y.materialId[R]];C.push(i||T)}v.material=C}}}else Bu.error(A,"没有创建对应的mesh")}}}}}},AI.prototype._getUsableMaterial=function(e,t,i,n){var r=t.materialId,o=t.userId,a=e.materialManager.materials,s=e.manager.sceneState,l=e.manager.filter,c=null,h=s.isSelected(o);!0!==h||l._isPickable(t)||(h=!1),i?xd.PickingEffect?c=l._getOverrideMaterial(t):(c=l._getOverrideMaterial(t))&&!h||(c=i):n&&(c=l._getOverrideMaterial(t));var d=e.manager.getOverrideMaterialByNodeInfo(t);return c=c||d||a[r],xd.Hover&&!xd.EnableRenderPass&&s.hoverId===o&&!1===h&&(c=s.getHoverMaterial(c)),c},AI.prototype._dealMeshes=function(e,t,i,n,r){var o=this.getGeometryByNodeInfo(e,t),a=e.pool,s=0;if(Array.isArray(o))for(var l=0,c=o.length;c>l;l+=1){s=a.get({modelKey:e.modelKey,nodeId:t.nodeId,userId:t.userId,originalId:t.originalId,userData:t.userData,geometry:o[l],matrix:t.matrix,material:n,renderOrder:n.transparent?0:xd.MaximumDepth-t.cellDepth,visible:i}),null}else s=a.get({modelKey:e.modelKey,nodeId:t.nodeId,userId:t.userId,originalId:t.originalId,userData:t.userData,geometry:o,matrix:t.matrix,material:n,renderOrder:n.transparent?0:xd.MaximumDepth-t.cellDepth,visible:i});0>s||r.curOctantId!==t.octantId&&(s>0&&e.manager.addObjectRangeToOctantMap(r.curOctantId,r.octantStartIndex,s-1),r.octantStartIndex=s,r.curOctantId=t.octantId)},AI.prototype._dealLineSegments=function(e,t,i,n){var r=this.getGeometryByNodeInfo(e,t);if(r){var o=this._getLineSegmentsNodeGroup(e),a=this.lineNodes[t.nodeId];a||((a=new ov(r,n)).nodeId=t.nodeId,a.name=t.name,a.geometryId=t.geometryId,a.modelKey=e.modelKey,this.lineNodes[t.nodeId]=a),a.material=n,a.visible=i,o.add(a),a.updateMatrixWorld(!0),this._cacheActiveMesh(t.userId,t.nodeId,a)}},AI.prototype._frustumCull=function(e,t,i){var n=e.manager,r=t.getFrustum(),o=xd.OctantDepth,a=t.projScreenMatrix,s=new He;function l(e,t,i,n,r){var o=null;if(t&&i>e.depth&&(s.set(e.min,e.max),o=t.intersectsBox(s)),o){if(n){var c=s.applyMatrix4(a),h=c.getSize().length(),d=c.getCenter().z;e.priority=h/(d=d>1e-6?d:1e-6),r.push(e)}else r.push(e);for(var u=0,p=e.childOctants.length;p>u;u+=1)l(e.childOctants[u],t,i,n,r)}}(xd.DEBUG&&n.showOctreeBox(i),l(i,r,o,!0,this.visibleOctant),xd.OcclusionTranslucentEnabled)&&l(i,this.manager.getFrustumFromOcclusionCamera(),o,!1,this.occlusionVisibleOctant);return!0},AI.prototype._logicCull=function(e,t,i,n,r){var o=e.manager,a=o.filter,s=a._hasHiddenFileIdFilter(),l=a._hasOverrideMaterialFilter(),c=o.sceneState.selectionSet,h=a._hasRenderPromotionFilter(),d=this.nodePriority.high,u=this.nodePriority.medium,p=this.nodePriority.low,g=this.nodePriority.low.length,f=e.getModelDescriptor().getNodeInfosWithComponentKey();function m(e,t){if(!(s&&a._isHiddenFileId(e)||!1===a._isVisible(e)))if(c.hasOwnProperty(e.userId)||l&&a._hasHighPriorityOverrideMaterial(e))d.push(e);else{var i=!1;if(h&&a._isRenderPromotion(e)&&(i=!0),t){var r=e.userData,o=r?r.categoryId:void 0;o&&t[o]&&(i=!0)}i?u.push(e):g>n&&(p[n]=e,n+=1)}}var A=o.getCategoriesFromHighPriority("outer");!0===i&&(A=o.getCategoriesFromHighPriority("inner"));for(var y=0,v=0,C=0;r>C;C+=1){var I=null,x=0;t?(I=this.visibleOctant[C].octantId,x=this.visibleOctant[C].depth):I=C;var w=f[I];if(w){var M=this._getUsedNodeInfosByComponentKey(I);if(!M){for(y=0,v=w.length;v>y;y+=1){(B=w[y]).octantId=I,B.cellDepth=x,this._isSatisfied(e,B)&&this._cacheUsedNodeInfosByComponentKey(I,B)}M=this._getUsedNodeInfosByComponentKey(I)}if(M){var E=M.default;for(y=0,v=E.length;v>y;y+=1){var B;m(B=E[y],A)}}}}return Bu.timeEnd("collectNodeInfo"),n},AI.prototype._clearUsedNodeInfosObject=function(){for(var e in this.usedNodeInfosObject)delete this.usedNodeInfosObject[e].default,delete this.usedNodeInfosObject[e].instance,delete this.usedNodeInfosObject[e];this.usedNodeInfosObject={}},AI.prototype._getUsedNodeInfosByComponentKey=function(e){return this.usedNodeInfosObject[e]},AI.prototype._cacheUsedNodeInfosByComponentKey=function(e,t){this.usedNodeInfosObject[e]||(this.usedNodeInfosObject[e]={},this.usedNodeInfosObject[e].default=[],this.usedNodeInfosObject[e].instance=[]),this.usedNodeInfosObject[e].default.push(t)},AI.prototype._isSatisfied=function(e,t){var i=e.getLoadedUserIdsObject();return!i||Boolean(i[t.userId])},AI.prototype._logicCullWithFull=function(e,t){return this._logicCull(e,!1,!0,0,t)},AI.prototype._sortVisibleOctant=function(e,t){},AI.prototype._applyOcclusionTranslucent=function(e){if(xd.OcclusionTranslucentEnabled){var t=e.pool.getObjects(),i=e.manager.octantToObjectMap,n=this.occlusionVisibleOctant.length;if(n>0)for(var r=e.manager.getFrustumFromOcclusionCamera(),o=0;n>o;o+=1){var a=i[this.occlusionVisibleOctant[o].octantId];if(a&&a.length>0)for(var s=0,l=a.length;l>s;s+=2)for(var c=a[s];a[s+1]>=c;c+=1){var h=t[c][0];Zp.intersectObjectWithFrustum(h,r)&&this._overrideOcclusionMaterial(h)}}}},AI.prototype._overrideOcclusionMaterial=function(e,t){var i=t.material;if(i&&!1===i.transparent){var n=e.manager.acquireMaterial(),r=n.material;i.color?r.color.copy(i.color):n.resetColor(),r.opacity=xd.OcclusionOpacity,t.material=r,t.material.needsUpdate=!0}},AI.prototype._clearNodePriorityData=function(e){var t=this.nodePriority;t.high.length=0,t.medium.length=0,e&&(t.low.length=0)},AI.prototype._adjustLowNodePriorityLength=function(e){0===this.nodePriority.low.length&&(this.nodePriority.low.length=this.manager.getRenderableCount(e))},AI.prototype._clearLineSegmentsNodeGroup=function(e){this._getLineSegmentsNodeGroup(e).clear()},AI.prototype._getLineSegmentsNodeGroup=function(e){return e._getNodeGroup(Vp.LINESEGMENTS,{globalSpace:!0})},AI.prototype._isLineSegments=function(e){return e.type===Sv.EnumNodeItemType.LINE},AI.prototype.getBlinkMaterials=function(e){return this.blinkMaterials},AI.prototype._makeMesh=function(e,t,i){var n=e.modelKey,r=e.manager,o=e.getModelDescriptor().getStandardNodeInfos();if(o){t||(t=e.getModelDescriptor().getInstancedUserIds());for(var a=e.getModelDescriptor(),s=e._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0}),l=e.materialManager.materials,c=0,h=t.length;h>c;c+=1){var d=e.getModelDescriptor().getNodeInfosByComponentKey(t[c]);if(!d||!d[0].mesh)for(var u=o[t[c]],p=0,g=u.length;g>p;p+=1){var f=u[p];if(f){var m=f.geometryId,A=this.getGeometryById(m);if(A){var y=f.materialId||a.referencedMeshCache.components[t[c]].matId,v=null;if(v=[],py(e.dataVersion,"1.0")||void 0===e.dataVersion){var C=l[y];if(f.materialId=[],!C)continue;if(Array.isArray(C))if(C.length>1)for(p=0;C.length>p;p+=1)f.materialId.push(y+"_"+p),l[y+"_"+p]=C[p];else l[y]=C[0],f.materialId.push(y);else f.materialId.push(y);for(p=0;f.materialId.length>p;p+=1)v.push(l[f.materialId[p]])}else for(p=0;y.length>p;p+=1){var I=l[y[p]];I||(I=cA.DefaultMaterial),v.push(I)}if(1>v.length){var x=Jy[f.type]?Jy[f.type].color:void 0;x||(Bu.log("Material not found for type: ",f.type),x=Jy.DEFAULT.color),x||(Bu.log("Default material not found for type: ",f.type),x=[1,1,1,1]);var w=new pi(x[0],x[1],x[2]),M=w.getHexString()+"_"+x[3],E=l[M];E||(E=new il({color:w}),1>x[3]&&(E.transparent=!0,E.opacity=x[3]),E.side=2,l[M]=E),A.groups=[{start:0,count:A.index.count,materialIndex:0}],f.materialId.push(M),v.push(E)}for(var B=0;v.length>B;B+=1)v[B].aoMap&&A.attributes.uv&&(A.attributes.uv2=A.attributes.uv);var S=new Bv(A,v),b={matrix:f.matrix,modelKey:n,name:f.name,key:f.componentKey,userData:{},typeEx:f.type};S.spawn(b),s.add(S),r.addMeshToOctantMap(n,f.componentKey,new wm(f.componentKey,S));var k={indexCount:A.index.count,indexStart:0,lightmapIdx:void 0,nodeId:f.componentKey,positionCount:3*A.attributes.position.count,positionStart:0,userId:f.componentKey};S._indicesGroup={},S._indicesGroup[f.componentKey]=[k],e.addMeshToInfoMap(f.componentKey,f.componentKey,S,k),S.geometryId=f.geometryId,this._cacheActiveMesh(f.userId,f.nodeId,S),m=null,y=null,b=null,v=null,A=null,S=null}}}}s.updateMatrixWorld(!0),i&&i()}},AI.prototype._makeSkinMesh=function(e,t,i){var n=e.modelKey,r=e.manager,o=e.getModelDescriptor().getStandardNodeInfos();if(o){t||(t=e.getModelDescriptor().getInstancedUserIds());for(var a=e.getModelDescriptor(),s=e.materialManager.materials,l=0,c=t.length;c>l;l+=1)for(var h=o[t[l]],d=0,u=h.length;u>d;d+=1){var p=h[d];if(p){var g=p.geometryId,f=this.getGeometryById(g);if(f){var m=p.materialId||a.referencedMeshCache.components[t[l]].matId,A=null;A=[];for(d=0;m.length>d;d+=1){var y=s[m[d]];y||(y=cA.DefaultMaterial),A.push(y)}if(1>A.length){var v=Jy[p.type]?Jy[p.type].color:void 0;v||(Bu.log("Material not found for type: ",p.type),v=Jy.DEFAULT.color),v||(Bu.log("Default material not found for type: ",p.type),v=[1,1,1,1]);var C=new pi(v[0],v[1],v[2]),I=C.getHexString()+"_"+v[3],x=s[I];x||(x=new il({color:C}),1>v[3]&&(x.transparent=!0,x.opacity=v[3]),x.side=2,s[I]=x),f.groups=[{start:0,count:f.index.count,materialIndex:0}],p.materialId.push(I),A.push(x)}for(var w=0;A.length>w;w+=1)A[w].aoMap&&(f.attributes.uv2=f.attributes.uv);var M=null;if("skinIndex"in f.attributes&&"skinWeight"in f.attributes){M=new mI(f,A);for(var E=0;A.length>E;E+=1)A[E].skinning=!0;console.log("SkinnedMesh 类型mesh")}else M=new Bv(f,A);var B={matrix:p.matrix,modelKey:n,name:p.name,key:p.componentKey,userData:{},typeEx:p.type};M.spawn(B),r.addMeshToOctantMap(n,p.componentKey,new wm(p.componentKey,M));var S={indexCount:f.index.count,indexStart:0,lightmapIdx:void 0,nodeId:p.componentKey,positionCount:f.attributes.position.count,positionStart:0,userId:p.componentKey};return M._indicesGroup={},M._indicesGroup[p.componentKey]=[S],e.addMeshToInfoMap(p.componentKey,p.componentKey,M,S),M.geometryId=p.geometryId,this._cacheActiveMesh(p.userId,p.nodeId,M),g=null,m=null,B=null,A=null,f=null,M}}}}},AI.prototype._readBufferInfo=function(e,t){var i=e.getModelDescriptor().getStandardNodeInfos();if(i){t||(t=e.getModelDescriptor().getInstancedUserIds());for(var n=e.getModelDescriptor(),r=e.materialManager.materials,o=e.materialManager.textures,a=0,s=t.length;s>a;a+=1)for(var l=i[t[a]],c=0,h=l.length;h>c;c+=1){var d=n.referencedMeshCache.components[l[c].componentKey],u=d.type;if(-1!==d.geoId){var p=this.getGeometryById(d.geoId);if(p||(p=this.getGeometryByNodeInfo(e,l[c])))if(gy(e.dataVersion,"2.0.0"));else{var g=r[d.matId];if(g){if(e.textureNeedsUpdate&&void 0!==e.dataVersion&&my(e.dataVersion,"2.0.0")&&(e.textureNeedsUpdate=!1,g.textures.length>0))if(g.materials.length>1)for(c=0;g.UVgroup.length>c;c+=1)for(A=(m=g.UVgroup[c]).start,y=m.count,v=m.textureIndex,a=0;g.groups.length>a;a+=1){x=(C=g.groups[a]).count,w=C.materialIndex;if((A===(I=C.start)||A+y===I+x||I>A&&y>x)&&y>=x){E=g.materials[w];(M=o[g.textures[v]])&&E&&(E.map=M)}}else g.materials[0].map=o[g.textures[0]]}else if(g=this._readMaterialBuffer(d.matId,e)){if(0===g.materials.length){(C=Jy[u]?Jy[u].color:void 0)||(Bu.log("Material not found for type: ",u),C=Jy.DEFAULT.color),C||Bu.log("Default material not found for type: ",u);var f=new il({color:new pi(C[0],C[1],C[2])});1>C[3]&&(f.transparent=!0,f.opacity=C[3]),f.side=2,g.materials.push(f),g.groups.push({start:0,count:h=p.index.count,materialIndex:0})}if(g.textures.length>0)if(g.materials.length>1)for(var c=0;g.UVgroup.length>c;c+=1)for(var m,A=(m=g.UVgroup[c]).start,y=m.count,v=m.textureIndex,a=0;g.groups.length>a;a+=1){var C,I,x=(C=g.groups[a]).count,w=C.materialIndex;if((A===(I=C.start)||A+y===I+x||I>A&&y>x)&&y>=x){var M,E=g.materials[w];(M=o[g.textures[v]])&&E&&(E.map=M)}}else g.materials[0].map=o[g.textures[0]];p&&g&&(p.groups=g.groups),r[d.matId]=g.materials}}}else Bu.debug("实体没有几何")}}},AI.prototype.createMeshNodes=function(e,t){this._readBufferInfo(e,t),e.hasAnimation&&xd.EnableAnimation?this._makeSkinMesh(e):this._makeMesh(e)},AI.prototype.asyncCreateMeshNodes=function(e,t,i){this._readBufferInfo(e,t),e.hasAnimation&&xd.EnableAnimation?i&&i():this._makeMesh(e,t,i)},AI.prototype._readMaterialBuffer=function(e,t){var i=t.getModelDescriptor().referencedMeshCache.materials[e];if(!i)return null;var n=i.color,r=i.colorIndex,o=i.texture,a=i.textureIndex,s=[],l=[],c=[];if(new Dl,n.length>4){for(var h=0;n.length/4>h;h+=1){var d=new il({color:new pi(n[4*h],n[4*h+1],n[4*h+2])});1>n[4*h+3]&&(d.transparent=!0,d.opacity=n[4*h+3]),d.side=2,s.push(d),d=null}for(var u=null,p=void 0,g=0;r.length>g;g+=1){var f=r[g];f!==p&&(p=f,null!=u&&(u.count=3*g-u.start,l.push(u)),u={start:3*g,materialIndex:p})}null!=u&&(u.count=3*r.length-u.start,l.push(u))}else if(4===n.length){var m=new il({color:new pi(n[0],n[1],n[2])});1>n[3]&&(m.transparent=!0,m.opacity=n[3]),m.side=2,s.push(m),l.push({start:0,count:3*r.length,materialIndex:0})}for(var A=null,y=void 0,v=a,C=0;v.length>C;C+=1){var I=v[C];I!==y&&(y=I,null!=A&&(A.count=3*C-A.start,c.push(A)),A={start:3*C,textureIndex:y})}return null!=A&&(A.count=3*v.length-A.start,c.push(A)),{materials:s,groups:l,textures:o,UVgroup:c}},AI.prototype.clearSelectedObjectIds=function(){this.selectedObjectIds.length=0},AI.prototype.cacheSelectedObjectIds=function(e){this.selectedObjectIds.push(e)},AI.prototype.adjustVisibility=function(e,t){var i=this._getNodeGroup(e),n=i.visible;t&&!i.bVisible||(i.visible=t),i.bVisible=n},AI.prototype.changeVisibilityOfSelectedObjects=function(e,t){var i=e.manager,n=i.octantToObjectMap[e.modelKey].mesh;this.selectedMeshes.length=0;for(var r=0,o=this.selectedObjectIds.length;o>r;r+=1){var a=this.selectedObjectIds[r],s=n[a][0];s&&(i.filter._isVisible({userId:a})&&(s.visible=t))}},AI.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){var i=e.manager,n=i.octantToObjectMap[e.modelKey].mesh;this.selectedMeshes.length=0;for(var r={},o=0,a=this.selectedObjectIds.length;a>o;o+=1){r[this.selectedObjectIds[o]]=!0}for(var s in n)if(n.hasOwnProperty(s)&&!r[s]){var l=n[s][0];if(!l)continue;if(!i.filter._isVisible({userId:s}))continue;l.visible=t}},AI.prototype.restoreVisibilityOfObjects=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0},AI.prototype._getNodeGroup=function(e){return e._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0})},AI.prototype.getMeshesByUserIds=function(e,t){var i=t,n=e.getModelDescriptor().getNodeInfosByComponentKey(i);if(n){for(var r=[],o=0,a=n.length;a>o;o+=1)for(var s=n[o],l=s.mesh,c=l._indicesGroup[i],h=0,d=c.length;d>h;h+=1){var u={};u.mesh=l,u.indexInfo=c[h],u.matrix=l.matrix.clone().multiply(e.getModelMatrix()),u.boundingBox=s.boundingBox.clone().applyMatrix4(u.matrix),r.push(u)}return r}return null},AI.prototype._getUsedGeometry=function(e,t){var i=null;if(!xd.Instance&&t.uvArrayBuffer){var n=t.geometryId+"|"+t.nodeId;if(i=this.getGeometryById(n))return i;var r=this._createGeometryByNodeInfo(e,t);r instanceof Array||(r=[r]),i=[];for(var o=new De,a=new Ke,s=t.uvArrayBuffer,l=0,c=r.length;c>l;l+=1){var h=new Ni;h.setIndex(r[l].index),h.setAttribute("position",r[l].attributes.position,3),h.setAttribute("normal",r[l].attributes.normal,3),o.set(s[6*l],s[6*l+2],s[6*l+4],s[6*l+1],s[6*l+3],s[6*l+5],0,0,1);for(var d=[],u=r[l].attributes.uv.array,p=0,g=u.length;g>p;p+=2)a.set(u[p],u[p+1],1),a.applyMatrix3(o),d.push(a.x),d.push(a.y);h.setAttribute("uv",new Bi(d,2)),i.push(h)}this._cacheGeometry(n,i)}else i=this.getGeometryByNodeInfo(e,t);return i},AI.prototype.getGeometryBuffersByUserId=function(e,t){var i=e.getModelDescriptor().getStandardNodeInfosById(t);if(!i)return[];for(var n=[],r=e.getDatabagId(),o=0,a=i.length;a>o;o+=1){var s=i[o],l=this.getGeometryByNodeInfo(e,s);if(l){var c=this._isLines(s);if(l instanceof Array)for(var h=0,d=l.length;d>h;h+=1)n.push({isLines:c,modelKey:r,nodeId:s.nodeId,position:l[h].getAttribute("position").array,index:l[h].getIndex().array,matrix:s.matrix});else n.push({isLines:c,modelKey:r,nodeId:s.nodeId,position:l.getAttribute("position").array,index:l.getIndex().array,matrix:s.matrix})}}return n},AI.prototype.traverseActiveMeshMap=function(e,t){for(var i=0,n=(e=e||Object.keys(this.activeMeshMap)).length;n>i;i+=1){var r=e[i];if(this.activeMeshMap[r])for(var o=Object.keys(this.activeMeshMap[r]),a=0,s=o.length;s>a;a+=1){var l=o[a];t(r,l,this.activeMeshMap[r][l])}}},AI.prototype.getActiveMeshMapById=function(e){return this.activeMeshMap[e]},AI.prototype._clearActiveMeshMap=function(){this.activeMeshMap={}},AI.prototype._cacheActiveMesh=function(e,t,i){this.activeMeshMap[e]||(this.activeMeshMap[e]={}),this.activeMeshMap[e][t]||(this.activeMeshMap[e][t]=[]),this.activeMeshMap[e][t].push(i)},AI.prototype._isLines=function(e){return e.type===zy.EnumNodeItemType.LINE},AI.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new fI(this)),this.pickingNodeGenerator},AI.prototype.isPickableNode=function(e){return!this.filter||this.filter._isPickable({userId:e})};var yI=function(e){$y.call(this,e),this.nodeGroupName="PickingWireFrameGroup"};Object.assign(yI.prototype,$y.prototype),SA(yI,[{key:"disposePickingNodeById",value:function(e){for(var t=Object.keys(this.pickingNodeMap[e]),i=0,n=t.length;n>i;i+=1)for(var r=this.pickingNodeMap[e][t[i]],o=0,a=r.length;a>o;o+=1)r[o].material=null,r[o].geometry.dispose(),r[o]=null}},{key:"addToPickingNodeMap",value:function(e,t,i){this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[e]||(this.pickingNodeMap[e]={}),this.pickingNodeMap[e][t]=i,this.addToPickingNodeGroup(i)}},{key:"removeFormPickingNodeGroup",value:function(e){if(this.pickingNodeGroup)for(var t=Object.keys(this.pickingNodeMap[e]),i=0,n=t.length;n>i;i+=1)for(var r=this.pickingNodeMap[e][t[i]],o=0,a=r.length;a>o;o+=1)this.pickingNodeGroup.remove(r[o])}},{key:"generatePickingMeshes",value:function(e){var t=this,i=this.manager;this.manager.manager.getMeshManager().traverseActiveMeshMap(e,(function(e,n,r){if(!(r&&r.length&&r[0].isLineSegments||t._isExistNode(e,n))){var o=0,a=0,s=r[0].geometryId,l=[];for(o=0,a=r.length;a>o;o+=1)l.push(r[o].geometry);var c=i._getWireframeGeometryById(s,l),h=[];for(o=0,a=c.length;a>o;o+=1){var d=new La(c[o],cA.DefaultMaterial);by.copyMeshProperties(d,r[o]),d.renderOrder=2,h.push(d)}t.addToPickingNodeMap(e,n,h)}}))}},{key:"_isExistNode",value:function(e,t){return!!(this.pickingNodeMap&&this.pickingNodeMap[e]&&this.pickingNodeMap[e][t])}},{key:"updatePickingMeshesState",value:function(e,t,i){if(this.pickingNodeMap)for(var n=this.pickingNodeMap,r=this.manager.manager.getMeshManager(),o=0,a=t.length;a>o;o+=1){var s=t[o];if(n[s]&&r.isPickableNode(s)){var l=r.getActiveMeshMapById(s);if(l)for(var c=Object.keys(n[s]),h=0,d=c.length;d>h;h+=1){var u=c[h];if(l[u]){var p=n[s][u];if(p)for(var g=0,f=p.length;f>g;g+=1)p[g].material=e,p[g].visible=!0}}}}}},{key:"resetPickingMeshesState",value:function(){if(this.pickingNodeMap)for(var e=this.pickingNodeMap,t=Object.keys(e),i=0,n=t.length;n>i;i+=1)for(var r=t[i],o=Object.keys(e[r]),a=0,s=o.length;s>a;a+=1)for(var l=e[r][o[a]],c=0,h=l.length;h>c;c+=1)l[c].visible=!1}},{key:"updatePickingMeshes",value:function(e,t,i){return this.generatePickingMeshes(t),this.resetPickingMeshesState(),this.updatePickingMeshesState(e,t,i),this.getPickingNodeGroup()}}]);var vI=function(e){this.manager=e,this.wireframeGeometries={},this.wireframeLineMeshes={}};vI.prototype._disposeGeometries=function(){for(var e in this.wireframeGeometries)this._disposeGeometry(e)},vI.prototype.destroy=function(){this.manager=null,this._clearWireframeLineMeshes(),this.wireframeLineMeshes=null,this._disposeGeometries(),this.wireframeGeometries=null},vI.prototype.clearData=function(){this._clearWireframeLineMeshes(),this._disposeGeometries()},vI.prototype.update=function(e,t){this.isActivateWireframe(e)?(this._clearWireframeGroupNode(e),this._generateWireframeNodes(e,t),this._getWireWireframeGroupNode(e).updateMatrixWorld(!0)):this._removeWireframeGroupNode(e)},vI.prototype._disposeGeometry=function(e){var t=this.wireframeGeometries[e];if(t){if(Array.isArray(t))for(var i=0,n=t.length;n>i;i+=1)t[i].dispose();else t.dispose();delete this.wireframeGeometries[e]}},vI.prototype._clearWireframeLineMeshes=function(){for(var e in this.wireframeLineMeshes)delete this.wireframeLineMeshes[e];this.wireframeLineMeshes={}},vI.prototype._clearWireframeGroupNode=function(e){this._getWireWireframeGroupNode(e).clear()},vI.prototype._removeWireframeGroupNode=function(e){e._removeNodeGroup(this._getWireframeGroupName(e))},vI.prototype.isActivateWireframe=function(e){return e.isActivateWireframe()},vI.prototype._getWireWireframeGroupNode=function(e){return e._getNodeGroup(this._getWireframeGroupName(e),{globalSpace:!0})},vI.prototype._getWireframeGeometryByNodeInfo=function(e,t){return this._getWireframeGeometryById(t.geometryId,this.manager.getGeometryByNodeInfo(e,t),e)},vI.prototype._getWireframeGeometryById=function(e,t,i){if(this.wireframeGeometries[e])return this.wireframeGeometries[e];var n=[],r=null,o=null;if(Array.isArray(t))for(var a=0,s=t.length;s>a;a+=1)o=af(t[a].attributes.position.array,t[a].index.array),(r=new Ni).setIndex(new Mi(o,1)),r.setAttribute("position",t[a].attributes.position,3),n.push(r);else o=af(t.attributes.position.array,t.index.array),(r=new Ni).setIndex(new Mi(o,1)),r.setAttribute("position",t.attributes.position,3),n.push(r);return this.wireframeGeometries[e]=n,this.wireframeGeometries[e]},vI.prototype._makeWireframeLineMeshes=function(e,t,i){var n=this.wireframeLineMeshes[t.nodeId];if(!n){n=this.wireframeLineMeshes[t.nodeId]=[];for(var r=this._getWireframeGeometryByNodeInfo(e,t),o=0,a=r.length;a>o;o+=1){var s=new La(r[o],this._getWireframeMaterial(e));s.name=t.nodeId+"_"+o,s.applyMatrix4(t.matrix),s.matrixAutoUpdate=!1,n.push(s)}t.wireframeMeshs=n}for(var l=0,c=n.length;c>l;l+=1)i.add(n[l])},vI.prototype._generateWireframeNodes=function(e,t){var i=this._getWireWireframeGroupNode(e),n=e.getModelDescriptor().getStandardNodeInfos();t||(t=e.getModelDescriptor().getStandardUserIds());for(var r,o,a=this.manager.getHiddenUserIds(),s=0;t.length>s;s+=1){var l=t[s],c=n[l][0];a[l]||(r=c,o=this._getFilter(e),r.type===Sv.EnumNodeItemType.LINE||xd.Instance&&("box"===r.geometryId||"boxM"===r.geometryId)||o._hasRenderWithBoardlineFilter()&&!o._isRenderWithBoardline(r)||this._makeWireframeLineMeshes(e,c,i))}},vI.prototype._getWireframeGroupName=function(e){return e._getWireframeGroupName()},vI.prototype._getWireframeMaterial=function(e){return e.getWireframeMaterial()},vI.prototype._getFilter=function(e){return e.manager.filter},vI.prototype.adjustVisibility=function(e,t){if(e.isActivateWireframe()){var i=this._getWireWireframeGroupNode(e),n=i.visible;t&&!i.bVisible||(i.visible=t),i.bVisible=n}},vI.prototype.changeVisibilityOfSelectedObjects=function(e,t){},vI.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){this.adjustVisibility(e,t)},vI.prototype.restoreVisibilityOfObjects=function(){},vI.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new yI(this)),this.pickingNodeGenerator};var CI=function(e){this.meshManager=new AI(this),this.model=e,this.wireframeManager=new vI(this)};CI.prototype.destroy=function(){this.meshManager.destroy(),this.meshManager=null,this.wireframeManager.destroy(),this.wireframeManager=null},CI.prototype.clearData=function(){this.meshManager.clearData(),this.wireframeManager.clearData()},CI.prototype.disposeGeometry=function(e){this.meshManager.disposeGeometry(e)},CI.prototype.cullNodes=function(e,t){this.hasNodeInfo(e)&&this.meshManager.cullNodes(e,t)},CI.prototype.updateNodes=function(e,t){if(this.hasNodeInfo(e)){var i;i=this._collectModelFiltered(e),this.meshManager.update(e,t,i),this.wireframeManager.update(e,t)}},CI.prototype.applyFilter=function(e,t){if(this.hasNodeInfo(e)){var i=null;i=t||e.getModelDescriptor().getStandardUserIds();var n=e.getModelDescriptor().getStandardNodeInfos();this._collectFilteredUserIds(e.manager.filter,i,n),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,n),this._collectHoveredUserIds(e.manager.sceneState.hoverId,n),this.updateNodes(e,t)}},CI.prototype.applySelection=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getStandardNodeInfos();this._clearSelectedState(e),this._clearHoveredState(e),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,t),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this.updateNodes(e)}},CI.prototype.clearSelection=function(e){this._clearSelectedState(e),this.applyHover(e)},CI.prototype.applyHover=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getStandardNodeInfos();this._clearHoveredState(e),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this.updateNodes(e)}},CI.prototype.clearHover=function(e){this._clearHoveredState(e),this.updateNodes(e)},CI.prototype.applyBlink=function(e){},CI.prototype.clearBlink=function(e){},CI.prototype.getPriorityNodes=function(){return this.meshManager.getPriorityNodes()},CI.prototype.getGeometryByNodeInfo=function(e,t){return this.meshManager.getGeometryByNodeInfo(e,t)},CI.prototype.getRenderableCount=function(e){return e.renderableCount},CI.prototype.getLoader=function(e){return e.loader},CI.prototype.getContainsCamera=function(e){return e.containsCamera},CI.prototype.getFilter=function(e){return e.manager.filter},CI.prototype.hasNodeInfo=function(e){return!!e.getModelDescriptor().getStandardNodeInfos()},CI.prototype.createMeshNodes=function(e){this.meshManager.createMeshNodes(e)},CI.prototype.asyncCreateMeshNodes=function(e,t,i){this.meshManager.asyncCreateMeshNodes(e,t,i)},CI.prototype._collectFilteredUserIds=function(e,t,i){var n=e._hasHiddenFileIdFilter(),r=e._hasVisibleFilter(),o=e._hasOverrideMaterialFilter(),a=e._hasTransparentFilter();if(this.mapMaterialIdToUserIdsForFilter={},this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={},n||r||o||a)for(var s=0;t.length>s;s+=1){var l=t[s],c=i[l];if(c&&c.length)for(var h=0,d=c.length;d>h;h+=1){var u=c[h];if(n&&e._isHiddenFileId(u)||r&&!1===e._isVisible(u))this.hiddenUserIdSetObject[l]=!0;else if(a&&e._isTransparent(u))this.transparentUserIdSetObject[l]=!0;else if(o&&e._hasOverrideMaterial(u)){var p=e._getOverrideMaterial(u);if(Array.isArray(p)){for(var g=[],f=0,m=p.length;m>f;f++){var A=null!==p[f]?p[f].name:"";""!==A&&g.push(A)}this.overrideUserIdSetObject[l]=g}else{var y=null!==p?p.name:"";""!==y&&(this.overrideUserIdSetObject[l]=y)}}}}},CI.prototype._collectModelFiltered=function(e){var t=e.manager.filter,i=e.modelKey,n=t._hasModelOverrideMaterialFilter(),r=t._hasModelTransparentFilter(),o=e.manager.modelState.modelSelectionSet;return e.manager.modelState.hoverId===i?e.manager.modelState.getHoverMaterial():o.hasOwnProperty(e.modelKey)?e.manager.modelState.selectionMaterial:r&&t._isModelTransparent(i)?t._getMaterialByName("scene"):n&&t._hasModelOverrideMaterial(i)?t._getModelOverrideMaterial(i):null},CI.prototype._clearFilteredState=function(){this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={}},CI.prototype.getFilteredUserIds=function(){return this.mapMaterialIdToUserIdsForFilter},CI.prototype.getSelectedUserIds=function(){return this.mapMaterialIdToUserIdsForSelection},CI.prototype.getHoveredUserIds=function(){return this.mapMaterialIdToUserIdsForHover},CI.prototype.getBlinkedUserIds=function(){return this.mapBlinkUserIds},CI.prototype.getHiddenUserIds=function(){return this.hiddenUserIdSetObject},CI.prototype._collectSelectedUserIds=function(e,t){for(var i in this.selectedUserIdSetObject={},e)if(e.hasOwnProperty(i)){if(!t[i])continue;this.selectedUserIdSetObject[i]=!0}},CI.prototype._clearSelectedState=function(){this.selectedUserIdSetObject={}},CI.prototype._collectHoveredUserIds=function(e,t){if(this.hoveredUserIdSetObject={},e&&t[e]){var i=t[e];this.hoveredUserIdSetObject={},i&&(this.hoveredUserIdSetObject[e]=!0)}},CI.prototype._clearHoveredState=function(){this.hoveredUserIdSetObject={}},CI.prototype.getMeshesByUserIds=function(e,t){return this.meshManager.getMeshesByUserIds(e,t)},CI.prototype.adjustVisibility=function(e,t){this.meshManager.adjustVisibility(e,t),this.wireframeManager.adjustVisibility(e,t)},CI.prototype.changeVisibilityOfSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfSelectedObjects(e,t)},CI.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfNonSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfNonSelectedObjects(e,t)},CI.prototype.restoreVisibilityOfObjects=function(){this.meshManager.restoreVisibilityOfObjects(),this.wireframeManager.restoreVisibilityOfObjects()},CI.prototype.isPickableNode=function(e){var t=this.getHiddenUserIds();if(t&&t[e])return!1;var i=this.getTransparentUserIds();return!(i&&i[e]&&!xd.EnableSelectionByTranslucent)},CI.prototype.isHiddenNode=function(e){var t=this.getHiddenUserIds();return!(!t||!t[e])},CI.prototype.getMeshManager=function(){return this.meshManager},CI.prototype.getWireFrameManager=function(){return this.wireframeManager},CI.prototype.getTransparentUserIds=function(){return this.transparentUserIdSetObject};var II=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).tag="layer",n.defaultManager=new CI,n.instancedManager=new Kv,n.loader=new gI(du(n)),n}return i}(dI);II.prototype.destroy=function(){this.defaultManager.destroy(),this.defaultManager=null,this.instancedManager.destroy(),this.instancedManager=null},II.prototype.prepareData=function(e){},II.prototype.prepare=function(e){this.isAllReady()&&(this.model.getMaterialManager()._updateTextureMapping(),this.model.clearMeshFromOctantMap())},II.prototype.updateNodes=function(){},II.prototype.addNodeInfoToOctantMap=function(){},II.prototype.dealMeshNodes=function(e){e&&e()},II.prototype.disposeBufferAfterVbo=function(){},II.prototype.dealMeshNodes=function(e){this.model.getModelDescriptor().getInstancedUserIdsByCategory(this._loadedUserIds);var t=this.model,i=this;this.defaultManager.asyncCreateMeshNodes(t,t.getModelDescriptor().getStandardUserIds(),(function(){i.updateNodes(),e&&e()}))},II.prototype.unloadComponents=function(e,t){for(var i=this.model.modelKey,n=0,r=e.length;r>n;n+=1){var o=this.model.getModelDescriptor().getNodeInfosByComponentKey(e[n]);if(o){for(var a=0,s=o.length;s>a;a+=1){var l=o[a];if(l.mesh)this.defaultManager.meshManager.disposeGeometry(l.mesh.geometry.key),l.mesh.destroy()}this.model.manager.removeMeshFromOctantMap(i,e[n])}}this.model.getModelDescriptor().clearNodeInfoCacheByComponentsKey(e),t&&t()};var xI=function(e){Zy.call(this,e),this.instancedComponent={}};Object.assign(xI.prototype,Zy.prototype),xI.prototype.parseItemData=function(e){this._readMaterialBuffer(this.model),this._parseGeo(),xd.Instance&&this._parseInstanced();var t={},i=this.referencedMeshCache;for(var n in Bu.time("_readItemData"),i.components)i.components.hasOwnProperty(n)&&this._readItemData(t,n,n,void 0,0);Bu.timeEnd("_readItemData"),t=null,e&&e()},xI.prototype._readItemData=function(e,t,i){var n=this.referencedMeshCache.components[t];void 0!==n&&this._readMeshInfo(e,i,n,null)},xI.prototype._readMeshInfo=function(e,t,i,n){var r=this.referencedMeshCache,o=this.model.materialManager.materials,a=null,s=null,l=this.model.subModel[i.subModel];if(i.nodes||i.nodeIds){s=i.originalId;var c=(new yt).fromArray(i.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);i.matrix=c;var h=[];h=i.nodes?i.nodes:i.nodeIds;for(var d=0;h.length>d;d+=1){var u=h[d];if("object"!==nu(u)&&(u=this.getReferencedMeshComponentNodeById(u)),u){var p,g=null,f="";if(-1!==u.geoId)if((g=this._getMeshNodeAttr(u,i,d)).boundingBox.applyMatrix4(l),g){if(i.buildInCategory&&(g.buildInCategory=i.buildInCategory),!o[f=u.material]){var m=Jy[i.type]?Jy[i.type].color:void 0;m||(Bu.log("Material not found for type: ",i.type),m=Jy.DEFAULT.color),m||(Bu.log("Default material not found for type: ",i.type),m=[1,1,1,1]);var A=new pi(m[0],m[1],m[2]),y=f||A.getHexString()+"_"+m[3],v=o[y];v||(Bu.warn("缺少材质 "+f),v=cA.createStandardMaterial({color:A}),1>m[3]&&(v.transparent=!0,v.opacity=m[3]),v.side=2,o[y]=v),g.material=f=y}if(o[f].aoMap){var C=this.getReferencedMeshBufferById(g.geometryId);C&&(C.uv2=C.uv)}p=g.nodeId;var I=(R=this.userDataReader)?R.getUserData(a):null;g.type=i.type,g.userId=t,g.name=i.name,g.userDataId=a,g.originalId=s,g.materialId=f,g.originMId=f,g.userData=I,g.categoryId=0,g.componentKey=t,g.familyName=i.familyName,g.familySymbol=i.familySymbol;var x=xd.Instance,w=r.reuseNodes.hasOwnProperty(p);g.instanceOrNot=!(!x||!w),g.isBatched=!0,g.state=Nd.Visible,g.material=null,this._classifyNodeInfo(g),g=null}else Bu.debug("非法node")}}}else{var M=i,E="";if(null===n?(a=M.userDataId,s=M.originalId,E=M.materialId||M.matId):(a=n.userDataId,s=n.originalId,E=n.materialId>-1?n.materialId:M.materialId),M.materials||(M.materials=[]),M.materials.length>0)for(d=0;M.materials.length>d;d+=1){var B=null;if(B=this._getOldMeshNodeAttr(e,M,M.materials.length>1,d)){if(M.buildInCategory&&(B.buildInCategory=M.buildInCategory),B.boundingBox.applyMatrix4(l),!o[E=M.materials[d]]){var S=Jy[M.type]?Jy[M.type].color:void 0;S||(Bu.log("Material not found for type: ",M.type),S=Jy.DEFAULT.color),S||(Bu.log("Default material not found for type: ",M.type),S=[1,1,1,1]);var b=new pi(S[0],S[1],S[2]),k=E||b.getHexString()+"_"+S[3],D=o[k];D||(Bu.warn("缺少材质 "+E),D=cA.createStandardMaterial({color:b}),1>S[3]&&(D.transparent=!0,D.opacity=S[3]),D.side=2,o[k]=D)}if(o[E].aoMap){var T=this.getReferencedMeshBufferById(B.geometryId);T&&(T.uv2=T.uv)}if(!B)return;var R;I=(R=this.userDataReader)?R.getUserData(a):null;B.type=M.type,B.userId=M.key,B.name=M.name,B.userDataId=a,B.originalId=s,B.materialId=E,B.originMId=E,B.userData=I,B.categoryId=0,B.componentKey=M.key,B.familyName=M.familyName,B.familySymbol=M.familySymbol,xd.Instance&&this.instancedComponent[M.key]?B.instanceOrNot=!0:(B.instanceOrNot=!1,this.instancedGeo[B.originalGeometryId].length>1&&(B.originalGeometryId="")),B.state=Nd.Visible,B.material=null,B.isBatched=!0,this._classifyNodeInfo(B),B=null}else Bu.debug("非法node")}else{var U=null,F=Jy[M.type]?Jy[M.type].color:void 0;F||(Bu.log("Material not found for type: ",M.type),F=Jy.DEFAULT.color),F||(Bu.log("Default material not found for type: ",M.type),F=[1,1,1,1]);var Q=new pi(F[0],F[1],F[2]),L=Q.getHexString()+"_"+F[3],O=o[L];if(O||(O=cA.createStandardMaterial({color:Q}),1>F[3]&&(O.transparent=!0,O.opacity=F[3]),O.side=2,o[L]=O),M.materials.push(L),(U=this._getOldMeshNodeAttr(e,M,!1,0)).boundingBox.applyMatrix4(l),E=M.materials[0],!U)return;t=M.key;U.type=M.type,U.userId=t,U.name=M.name,U.originalId=s,U.materialId=E,U.originMId=E,U.userData={},U.categoryId=0,U.componentKey=t,U.familyName=M.familyName,U.familySymbol=M.familySymbol,U.instanceOrNot=!(!xd.Instance||!this.instancedComponent[t]),U.isBatched=!0,U.state=Nd.Visible,U.material=null,this._classifyNodeInfo(U),U=null}}},xI.prototype._getMeshNodeAttr=function(e,t,i){var n=new yt;n.fromArray(e.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),xd.DataReduction&&n.scale(new Ke(1e3,1e3,1e3)),t&&n.multiplyMatrices(t.matrix,n),e.geoId=t.subModel+e.geoId;var r=e.nodeId,o=e.geoId;if(-1!==o){var a=e.maxBoundary||t.maxBoundary,s=e.minBoundary||t.minBoundary,l=new Nu;return l.set(s,a),{nodeId:r,guid:e.guid,geometryId:o,originalGeometryId:e.geoId,matrix:n,boundingBox:l,model:this.model}}},xI.prototype._getOldMeshNodeAttr=function(e,t,i,n){var r=new yt;r.fromArray(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),xd.DataReduction&&r.scale(new Ke(1e3,1e3,1e3));var o=i?t.key+"_"+n:t.key,a=i?t.geoId+"_"+n:t.geoId;if(-1!==a){var s=new Nu,l=this.getReferencedMeshBufferById(t.geoId);return l&&l.position?(s=by.getBoundingBoxByBuffer(l.position)).applyMatrix4(r):Bu.warn("no position "),{nodeId:o,guid:t.guid,geometryId:a,originalGeometryId:t.geoId,matrix:r,boundingBox:s,model:this.model}}};var wI=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).maxGeoLoadTaskCount=0,n.geoLoadTaskCount=0,n.taskInstancedGeometrieManager=new Uy(du(n),"geometrie"),n.descriptor=new xI(e.model),n}return i}(Wy);wI.prototype.loadData=function(){for(var e=this,t=this,i=this.model,n=i.getConfig(),r=!1,o=0,a=0,s=0,l=0,c=[],h=[],d=[],u=[],p=[],g=[],f=[],m=[],A=[],y=function(y,v){var C=n.children[y];if(x=n.animation,!(I=n.scene[y])||!I.components||!I.geometries&&(!I.batchedGeometries&&!I.instancedGeometries||1>I.batchedGeometries.length&&1>I.instancedGeometries.length)||!I.materials||!I.textures)return Bu.error("scene is null,modelKey is ",i.modelKey),i.dispatchEventEx({type:Fd.ON_LOAD_EMPTY_SCENE,modelKey:i.modelKey}),"continue";if(r=!0,o+=I.components.length||0,I.components.forEach((function(e){t.fileKeyFromModelKey[e]=C})),a+=I.materials.length||0,s+=I.textures.length||0,l+=I.reuseNodes&&I.reuseNodes.length||0,f=f.concat(I.textures),e.map=e.map||[],2>Number(I.geo))return Bu.error("不支持1.0版本的几何结构和其他版本混合加载。"),{v:void 0};if(c=c.concat(I.components),d=d.concat(I.materials),A=A.concat(I.reuseNodes||[]),Array.isArray(I.nodes)&&(h=h.concat(I.nodes)),f=f.concat(I.textures),I.map&&e.map.push(I.map),I.trees.length>0)for(w=0;I.trees.length>w;w+=1)"partition"===(M=I.trees[w]).type&&(m.push(M.fileKey),t.fileKeyFromModelKey[M.fileKey]=C);I.lights&&I.lights.length>0&&(g=g.concat(I.lights)),x&&(u.push(x.clips),p.push(x.nodes))},v=0,C=n.scene.length;C>v;v+=1){var I,x,w,M,E=y(v);if("continue"!==E&&"object"===nu(E))return E.v}if(i.setEmptyScene(!r),t.maxLoadTaskCount=0,t.maxLoadTaskCount+=o,t.maxLoadTaskCount+=a,t.maxLoadTaskCount+=m.length,t.maxLoadTaskCount+=l,t.maxLoadTaskCount+=h.length,t.maxLoadTaskCount+=g.length,1>t.maxLoadTaskCount)return Bu.info("Nothing to load ",i.modelKey),void i.dispatchEventEx({type:Qd.SCENE_NOTHING_TO_LOAD,modelKey:i.modelKey});t.progress.total+=t.maxLoadTaskCount,t.startCallback&&t.startCallback(),Bu.time("数据加载时间"),t._loadComponent(c),t._loadMaterial(d),t._loadComponentNode(h),t._loadReuseNode(A),xd.EnableTextureLoading&&s>0?(t.maxLoadTextureCount+=s,t._loadTextures(f)):t._onLoadTexture(),t._loadKDTree(m),g.length>0&&t._loadLights(g),t.offLine&&t.loadAttribute(),t.maxLoadTaskCount+=1,t.loadFloorInfo(t.model.modelKey,(function(){t._onTaskFinished()})),t.loadSceneAndGeos(n)},wI.prototype.loadReuseNode=function(e,t){var i=this,n=this.jsonLoader,r=this.model,o=this.url;n.setResponseType("json"),xd.useGzip&&n.setResponseType("arraybuffer"),n.setCacheViable(!0),n.load(o.mpkUrl(e),(function(e){i._parseReuseNodes(e),Bu.debug("component load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}))},wI.prototype._parseComponent=function(e,t){var i=this.fileKeyFromModelKey[t]||"";if(e){var n=this.descriptor;if(n)for(var r in xd.useGzip&&(e=JSON.parse(wp.ab2str(pako.ungzip(e)))),e)if(e.hasOwnProperty(r)){var o=e[r];-1!==o.geoId&&(o.geoId=i+o.geoId,o.subModel=i),n.cacheReferencedMeshComponentData(e[r].key,e[r])}}else Bu.error("没有数据")},wI.prototype._parseMaterial=function(e,t){if(e){if(e instanceof ArrayBuffer)try{e=JSON.parse(wp.ab2str(e))}catch(e){Bu.error("处理材质出错")}var i=this.descriptor;if(i)for(var n in e)i.cacheReferencedMeshMaterialData(n,e[n])}else Bu.error("没有数据")},wI.prototype.loadBatchedGeometrie=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model;n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var a=n.load(r.mpkUrl(e),(function(n){i._parseBatchedGeometrie(n,e),Bu.debug("geo load from online"),i._onGeoTaskFinished(),t()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_GEOMETRY_ERROR,modelKey:o.modelKey}),t(),i._onGeoTaskFinished()}));i.requests.loadGeometrie=a},wI.prototype.loadInstancedGeometrie=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model;n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine);var a=n.load(r.mpkUrl(e),(function(n){i._parseInstancedGeometrie(n,e),Bu.debug("geo load from online"),i._onGeoTaskFinished(),t()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_GEOMETRY_ERROR,modelKey:o.modelKey}),t(),i._onGeoTaskFinished()}));i.requests.loadGeometrie=a},wI.prototype._parseBatchedGeometrie=function(e,t){var i=this.fileKeyFromModelKey[t]||"",n=new ky.BatchedGeometryReader(e,this.dataVersion),r=this.descriptor;if(r){for(var o=n.geoCount,a=0;o>a;a+=1){var s=n.geomMap[a];void 0!==s.position&&void 0!==s.index&&void 0!==s.normal?(s.geoId=i+s.geoId,r.cacheReferencedMeshBufferData(s.geoId,s),this.handler.createBatchedMeshNodes(s)):Bu.error("Error Geometry!")}this.model.manager.viewerImpl.render(),n=null}},wI.prototype._parseInstancedGeometrie=function(e,t){var i=this.fileKeyFromModelKey[t]||"",n=new ky.InstancedGeometryReader(e,this.dataVersion),r=this.descriptor;if(r){for(var o=n.geoCount,a=0;o>a;a+=1){var s=n.geomMap[a];void 0!==s.position&&void 0!==s.index&&void 0!==s.normal?(s.geoId=i+s.geoId,r.cacheReferencedMeshBufferData(s.geoId,s),this.handler.createInstancedMeshNodes(s)):Bu.error("Error Geometry!")}this.model.manager.viewerImpl.render(),n=null}},wI.prototype._parseReuseNodes=function(e,t){if(e){xd.useGzip&&(e=JSON.parse(wp.ab2str(pako.ungzip(e))));var i=this.descriptor;if(i)if(i.referencedMeshCache.reuseNodes)for(var n in e)i.referencedMeshCache.reuseNodes[n]=e[n];else i.referencedMeshCache.reuseNodes=e}else Bu.error("没有数据")},wI.prototype.startLoadSceneAndGeos=function(e){Bu.time("几何数据加载时间");for(var t=e.scene,i=this,n=0,r=0,o=[],a=[],s=function(s,l){var c=t[s],h=e.children[s];(c.batchedGeometries&&c.batchedGeometries.length>0||c.instancedGeometries&&c.instancedGeometries.length>0)&&(n+=c.batchedGeometries.length||0,r+=c.instancedGeometries.length||0,o=o.concat(c.batchedGeometries),a=a.concat(c.instancedGeometries),c.batchedGeometries.forEach((function(e){i.fileKeyFromModelKey[e]=h})),c.instancedGeometries.forEach((function(e){i.fileKeyFromModelKey[e]=h})))},l=0,c=t.length;c>l;l+=1)s(l);i.maxGeoLoadTaskCount+=n,i.maxGeoLoadTaskCount+=r,i.maxGeoLoadTaskCount>0||i._onGeoTaskFinished(),this._loadBatchedGeo(o),this._loadInstancedGeo(a)},wI.prototype.loadSceneAndGeos=function(e){for(var t=e.scene,i=this,n=0,r=[],o=function(o,a){var s=t[o],l=e.children[o];s.geometries&&s.geometries.length>0&&!(s.batchedGeometries&&s.batchedGeometries.length>0||s.instancedGeometries&&s.instancedGeometries.length>0)&&(n+=s.geometries.length||0,r=r.concat(s.geometries),s.geometries.forEach((function(e){i.fileKeyFromModelKey[e]=l})))},a=0,s=t.length;s>a;a+=1)o(a);i.maxLoadTaskCount+=n,this._loadGeo(r)},wI.prototype._loadBatchedGeo=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=function(i){if(e[n[i]])if(!0===e[n[i]].split){var r=e[n[i]].list,l=new Uint8Array(e[n[i]].length);o.getBatch(r,(function(e){for(var o=!0,a=0;r.length>a;a+=1)e[r[a]]?l.set(new Uint8Array(e[r[a]]),4e7*a):(o=!1,Bu.error("获取分割几何失败"));if(o){var s=n[i].indexOf("fileKey=");t._parseBatchedGeometrie(l.buffer,n[i].slice(s+8)),t._onGeoTaskFinished(),Bu.debug("load geo from local")}else{var c=t.taskGeometrieManager,h=n[i].indexOf("fileKey=");if(-1===h)return void Bu.error("url is not has fileKey");c.addTask(n[i].slice(h+8)),Bu.debug("load geo from net"),t.taskGeometrieManager.processTasks(t.loadBatchedGeometrie.bind(t))}}),(function(){Bu.error("获取分割几何失败")}))}else s=n[i].indexOf("fileKey="),t._parseBatchedGeometrie(e[n[i]],n[i].slice(s+8)),t._onGeoTaskFinished(),Bu.debug("load geo from local");else{if(a=t.taskGeometrieManager,-1===(s=n[i].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(n[i].slice(s+8)),Bu.debug("load geo from net")}},r=0;n.length>r;r+=1){var a,s,l=i(r);if("object"===nu(l))return l.v}t.taskGeometrieManager.processTasks(t.loadBatchedGeometrie.bind(t))}),(function(){for(var i=t.taskGeometrieManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadBatchedGeometrie.bind(t))}))}else{for(var a=this.taskGeometrieManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadBatchedGeometrie.bind(t))}},wI.prototype._loadInstancedGeo=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=function(i){if(e[n[i]])if(!0===e[n[i]].split){var r=e[n[i]].list,l=new Uint8Array(e[n[i]].length);o.getBatch(r,(function(e){for(var o=0;r.length>o;o+=1)e[r[o]]?l.set(new Uint8Array(e[r[o]]),4e7*o):Bu.error("获取分割几何失败");var a=n[i].indexOf("fileKey=");t._parseInstancedGeometrie(l.buffer,n[i].slice(a+8)),t._onGeoTaskFinished(),Bu.debug("load geo from local")}),(function(){Bu.error("获取分割几何失败")}))}else s=n[i].indexOf("fileKey="),t._parseInstancedGeometrie(e[n[i]],n[i].slice(s+8)),t._onGeoTaskFinished(),Bu.debug("load geo from local");else{if(a=t.taskInstancedGeometrieManager,-1===(s=n[i].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(n[i].slice(s+8)),Bu.debug("load geo from net")}},r=0;n.length>r;r+=1){var a,s,l=i(r);if("object"===nu(l))return l.v}t.taskInstancedGeometrieManager.processTasks(t.loadInstancedGeometrie.bind(t))}),(function(){for(var i=t.taskInstancedGeometrieManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadInstancedGeometrie.bind(t))}))}else{for(var a=this.taskInstancedGeometrieManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadInstancedGeometrie.bind(t))}},wI.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,Bu.timeEnd("几何数据加载时间"),this.geoFinishCallback&&this.geoFinishCallback())},wI.prototype.getSceneTaskCount=function(e){var t=e.scenes;return t+=e.lines,t+=e.mpks,xd.BorderLineDelayLoaded||(t+=this.getAllBorderlineCount()),t},wI.prototype._parseKDTree=function(e,t){var i={};i="string"==typeof e?JSON.parse(e):e,this.model.kdTreeNode=this.model.kdTreeNode||[];var n=this.fileKeyFromModelKey[t]||"";if(i){var r=new jy;r.modelKey=n,r.init(i),this.model.kdTreeNode.push(r)}};var MI=function(e,t){_y.call(this,e),this.defaultManager=new Qv(t,e),this.instancedManager=new Kv(e),this.loader=new wI(this)};(MI.prototype=Object.create(_y.prototype)).prepare=function(e,t){this.isLoaded()&&!this.isHidden()&&(this.prepareWireframe(this.model,t),this.model.getMaterialManager(),this.model.getMaterialManager()._updateTextureMapping(),!this.model.lightmap||this.model.enableLightmap===xd.EnableLightmap&&this.model.lightmapIntensity===xd.LightmapIntensity||(this.model.enableLightmap=xd.EnableLightmap,this.model.lightmapIntensity=xd.LightmapIntensity,this.rebuildIndicesforLightmap(),this.updateNodes()))},MI.prototype.settleData=function(e){var t=this;this.addNodeInfoToOctantMap();var i=!1,n=!1;this.createMeshNodes((function(){i=!0,n&&(t.loaded=!0,t.model.getMaterialManager()._updateTextureMapping(),t.clearCachedData(t.model),e&&e())})),t.model.setLoaded(!0);this.loader.geoFinishCallback=function(){n=!0,i&&(t.loaded=!0,t.model.getMaterialManager()._updateTextureMapping(),t.clearCachedData(t.model),e&&e())},this.loader.startLoadSceneAndGeos(this.model.getConfig())},MI.prototype.addNodeInfoToOctantMap=function(){var e=this.model.manager,t=this.model.getEncodedDatabagId();this.loader.getDescriptor().traverseNodeInfosByComponent((function(i,n){e.addNodeInfoToOctantMap(t,i,n)}))},MI.prototype.createMeshNodes=function(e){var t=this,i=this.model;xd.stepLoad&&i.setLoaded(!0);var n=this.loader.getDescriptor();this.instancedManager.createMeshNodes(i,n.getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(i,n.getStandardUserIds(),(function(){i.getMaterialManager()._updateTextureMapping(),t.loaded=!0,e&&e()}))},MI.prototype.clearCachedData=function(e){this.loader.getDescriptor().destroyReader(),this.loader.getDescriptor().clearReferencedMeshCache(),this.defaultManager.clearCachedData(),this.instancedManager.clearCachedData()},MI.prototype.createBatchedMeshNodes=function(e){this.defaultManager.createBatchedMeshNodes(this.model,e)},MI.prototype.createInstancedMeshNodes=function(e){this.instancedManager.createInstancedMeshNodes(this.model,e)};var EI=function(e){zy.call(this,e)};Object.assign(EI.prototype,zy.prototype);var BI=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).descriptor=new EI(e.model),n}return i}(Wy);BI.prototype.loadSceneAndGeos=function(e){var t=e.scene,i=this.model,n=t.geometries.length||0,r=[];if(this.map={},my(this.dataVersion,"2.0.0"))for(var o=0;n>o;o+=1)t.geometries[o].fileKey?r.push(t.geometries[o].fileKey):i.dispatchEventEx({type:Qd.SCENE_NOT_CLOSE,modelKey:i.modelKey});else r=t.geometries;this.maxLoadTaskCount+=n,this._loadGeo(r)},BI.prototype.getSceneTaskCount=function(e){var t=e.scenes;return t+=e.lines,t+=e.mpks,xd.BorderLineDelayLoaded||(t+=this.getAllBorderlineCount()),t};var SI=function(e,t){_y.call(this,e),this.defaultManager=new CI(t,e),this.instancedManager=new Kv(e),this.loader=new BI(this)};Object.assign(SI.prototype,_y.prototype),SI.prototype.prepare=function(e){this.isLoaded()&&!this.isHidden()&&(this.model.getMaterialManager()._updateTextureMapping(),this.model.clearMeshFromOctantMap(),this.instancedManager.addAllInstanceNodeToScene(this.model),this.defaultManager.cullNodes(this.model,e),this.prepareWireframe(this.model),this.updateNodes())},SI.prototype.prepareWireframe=function(e,t){e.isActivateWireframe()&&this.instancedManager.generateWireframe(e)},SI.prototype.settleData=function(e){this.addNodeInfoToOctantMap(),this.createMeshNodes(e)},SI.prototype.addNodeInfoToOctantMap=function(){var e=this.model.manager,t=this.model.getEncodedDatabagId();this.model.getModelDescriptor().traverseNodeInfosByComponent((function(i,n){e.addNodeInfoToOctantMap(t,i,n)}))},SI.prototype.createMeshNodes=function(e){var t=this.model,i=this;this.instancedManager.createMeshNodes(this.model,this.model.getModelDescriptor().getInstancedUserIds()),this.defaultManager.asyncCreateMeshNodes(t,t.getModelDescriptor().getStandardUserIds(),(function(){t.getMaterialManager()._updateTextureMapping(),i.updateNodes(),t.getModelDescriptor().clearReferencedMeshCache(),i.loaded=!0,e&&e()}))},SI.prototype.disposeBufferAfterVbo=function(){},SI.prototype.explosion=function(e){if(this.isLoaded()){var t=this.model.getComponentlist();e.componentKey=t,this.componentsExplosion(e)}},SI.prototype.closeExplosion=function(){this.explosion({})},SI.prototype.componentsExplosion=function(e){if(this.isLoaded()){var t=e.coefficientX||1,i=e.coefficientY||1,n=e.coefficientZ||1,r=e.offsetX||0,o=e.offsetY||0,a=e.offsetZ||0,s=null;if(e.center)s=(new Ke).fromArray(e.center);else if(1!==t||1!==i||1!==n||0!==r||0!==o||0!==a)return;var l=this.model,c=l.manager,h=Array.isArray(e.componentKey)?e.componentKey:[e.componentKey],d=new Ke,u=new He,p=new Ke(0,0,0),g=new Ke(0,0,0),f=new Ke,m=l.getModelMatrix(),A=new yt;m&&s&&(A.copy(m).invert(),s.applyMatrix4(A));for(var y=0;h.length>y;y+=1){var v=h[y],C=l.getComponentInfo(v);if(C&&C.length>0)for(var I=0,x=C.length;x>I;I+=1){var w=C[I],M=w.mesh;if(M){if(u.copy(w.boundingBox),u.getCenter(d),w.userData||(w.userData={}),p.set(0,0,0),g.set(0,0,0),1!==t||1!==i||1!==n||w.userData.explosionFactor){w.userData.explosionFactor||(w.userData.explosionFactor=new Ke(1,1,1),w.userData.explosionBaseDifference=d.sub(s).clone());var E=w.userData.explosionFactor,B=w.userData.explosionBaseDifference;p.set((t-E.x)*B.x,(i-E.y)*B.y,(n-E.z)*B.z),1===t&&1===i&&1===n?(w.userData.explosionFactor=void 0,w.userData.explosionBaseDifference=void 0):E.set(t,i,n)}if(0!==r||0!==o||0!==a||w.userData.explosionOffset){w.userData.explosionOffset||(w.userData.explosionOffset=new Ke(0,0,0));var S=w.userData.explosionOffset;g.set(r-S.x,o-S.y,a-S.z),0===r&&0===o&&0===a?w.userData.explosionOffset=void 0:S.set(r,o,a)}if(f.set(p.x+g.x,p.y+g.y,p.z+g.z),0!==f.x||0!==f.y||0!==f.z){w.userData.explosionFactor||w.userData.explosionOffset?c.explosionList[v]||(c.explosionList[v]=!0):delete c.explosionList[v],A.makeTranslation(f.x,f.y,f.z),w.transformation||(w.transformation=!0,w.transformationOriginalMatrix=w.matrix.clone(),w.applyMatrix=new yt,w.transformationOriginalBoundingBox=w.boundingBox.clone()),w.matrix.premultiply(A),w.applyMatrix.premultiply(A),w.boundingBox.copy(w.transformationOriginalBoundingBox).applyMatrix4(w.applyMatrix);var b=M.matrixAutoUpdate;M.matrixAutoUpdate=!1,M.applyMatrix4(A),M.updateMatrixWorld(!0),M.matrixAutoUpdate=b;var k=w.wireframeMeshs;if(k)for(var D=0,T=k.length;T>D;D+=1){var R=k[D];b=R.matrixAutoUpdate,R.matrixAutoUpdate=!1,R.matrix.copy(M.matrix),R.updateMatrixWorld(!0),R.matrixAutoUpdate=b}}}}}}},SI.prototype.closeComponentsExplosion=function(e){var t=Array.isArray(e)?e:[e];this.componentsExplosion({componentKey:t})};const bI={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},kI=Object.assign({},bI);function DI(){return kI}function TI(e){if(void 0!==e.chunkSize&&(kI.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(kI.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(kI.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(kI.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(kI.Deflate=e.Deflate),void 0!==e.Inflate&&(kI.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");kI.workerScripts||(kI.workerScripts={}),kI.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");kI.workerScripts||(kI.workerScripts={}),kI.workerScripts.inflate=e.workerScripts.inflate}}}const RI=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;RI[e]=t}class UI{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let i=0,n=0|e.length;n>i;i++)t=t>>>8^RI[255&(t^e[i])];this.crc=t}get(){return~this.crc}}const FI={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const i=e[e.length-1],n=FI.getPartial(i);return 32===n?e.concat(t):FI._shiftRight(t,n,0|i,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;return 32*(t-1)+FI.getPartial(e[t-1])},clamp(e,t){if(t>32*e.length)return e;const i=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,i>0&&t&&(e[i-1]=FI.partial(t,e[i-1]&2147483648>>t-1,1)),e},partial:(e,t,i)=>32===e?t:(i?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,i,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(i),i=0;if(0===t)return n.concat(e);for(let r=0;e.length>r;r++)n.push(i|e[r]>>>t),i=e[r]<<32-t;const r=FI.getPartial(e.length?e[e.length-1]:0);return n.push(FI.partial(t+r&31,t+r>32?i:n.pop(),1)),n}},QI={bytes:{fromBits(e){const t=FI.bitLength(e)/8,i=new Uint8Array(t);let n;for(let r=0;t>r;r++)0==(3&r)&&(n=e[r/4]),i[r]=n>>>24,n<<=8;return i},toBits(e){const t=[];let i,n=0;for(i=0;e.length>i;i++)n=n<<8|e[i],3==(3&i)&&(t.push(n),n=0);return 3&i&&t.push(FI.partial(8*(3&i),n)),t}}},LI={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};LI.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=QI.utf8String.toBits(e));const i=t._buffer=FI.concat(t._buffer,e),n=t._length,r=t._length=n+FI.bitLength(e);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(i);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);r>=e;e+=t.blockSize)t._block(o.subarray(16*a,16*(a+1))),a+=1;return i.splice(0,16*a),t},finalize:function(){const e=this;let t=e._buffer;const i=e._h;t=FI.concat(t,[FI.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),i},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,i,n){return e>19?e>39?e>59?e>79?void 0:t^i^n:t&i|t&n|i&n:t^i^n:t&i|~t&n},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,i=t._h,n=Array(80);for(let t=0;16>t;t++)n[t]=e[t];let r=i[0],o=i[1],a=i[2],s=i[3],l=i[4];for(let e=0;79>=e;e++){e>=16&&(n[e]=t._S(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const i=t._S(5,r)+t._f(e,o,a,s)+l+n[e]+t._key[Math.floor(e/20)]|0;l=s,s=a,a=t._S(30,o),o=r,r=i}i[0]=i[0]+r|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+l|0}};const OI=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const i=t._tables[0][4],n=t._tables[1],r=e.length;let o,a,s,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),s=[]],o=r;4*r+28>o;o++){let e=a[o-1];(o%r==0||8===r&&o%r==4)&&(e=i[e>>>24]<<24^i[e>>16&255]<<16^i[e>>8&255]<<8^i[255&e],o%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),a[o]=a[o-r]^e}for(let e=0;o;e++,o--){const t=a[3&e?o:o-4];s[e]=4>=o||4>e?t:n[0][i[t>>>24]]^n[1][i[t>>16&255]]^n[2][i[t>>8&255]]^n[3][i[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],i=e[4],n=t[4],r=[],o=[];let a,s,l,c;for(let e=0;256>e;e++)o[(r[e]=e<<1^283*(e>>7))^e]=e;for(let h=a=0;!i[h];h^=s||1,a=o[a]||1){let o=a^a<<1^a<<2^a<<3^a<<4;o=o>>8^255&o^99,i[h]=o,n[o]=h,c=r[l=r[s=r[h]]];let d=16843009*c^65537*l^257*s^16843008*h,u=257*r[o]^16843008*o;for(let i=0;4>i;i++)e[i][h]=u=u<<24^u>>>8,t[i][o]=d=d<<24^d>>>8}for(let i=0;5>i;i++)e[i]=e[i].slice(0),t[i]=t[i].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const i=this._key[t],n=i.length/4-2,r=[0,0,0,0],o=this._tables[t],a=o[0],s=o[1],l=o[2],c=o[3],h=o[4];let d,u,p,g=e[0]^i[0],f=e[t?3:1]^i[1],m=e[2]^i[2],A=e[t?1:3]^i[3],y=4;for(let e=0;n>e;e++)d=a[g>>>24]^s[f>>16&255]^l[m>>8&255]^c[255&A]^i[y],u=a[f>>>24]^s[m>>16&255]^l[A>>8&255]^c[255&g]^i[y+1],p=a[m>>>24]^s[A>>16&255]^l[g>>8&255]^c[255&f]^i[y+2],A=a[A>>>24]^s[g>>16&255]^l[f>>8&255]^c[255&m]^i[y+3],y+=4,g=d,f=u,m=p;for(let e=0;4>e;e++)r[t?3&-e:e]=h[g>>>24]<<24^h[f>>16&255]<<16^h[m>>8&255]<<8^h[255&A]^i[y++],d=g,g=f,f=m,m=A,A=d;return r}},NI=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,i=e>>8&255,n=255&e;255===t?(t=0,255===i?(i=0,255===n?n=0:++n):++i):++t,e=0,e+=t<<16,e+=i<<8,e+=n}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,i){let n;if(!(n=t.length))return[];const r=FI.bitLength(t);for(let r=0;n>r;r+=4){this.incCounter(i);const n=e.encrypt(i);t[r]^=n[0],t[r+1]^=n[1],t[r+2]^=n[2],t[r+3]^=n[3]}return FI.clamp(t,r)}},PI=class{constructor(e){const t=this,i=t._hash=LI.sha1,n=[[],[]],r=i.prototype.blockSize/32;t._baseHash=[new i,new i],e.length>r&&(e=i.hash(e));for(let t=0;r>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new i(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),i=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),i}},GI={name:"PBKDF2"},KI=Object.assign({hash:{name:"HMAC"}},GI),VI=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},GI),YI=["deriveBits"],HI=[8,12,16],jI=[16,24,32],WI=[0,0,0,0],JI=QI.bytes,zI=OI,qI=NI,ZI=PI;class XI{constructor(e,t,i){Object.assign(this,{password:e,signed:t,strength:i-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const i=ix(e,0,HI[t.strength]+2);await async function(e,t,i){await ex(e,i,ix(t,0,HI[e.strength]));const n=ix(t,HI[e.strength]),r=e.keys.passwordVerification;if(r[0]!=n[0]||r[1]!=n[1])throw new Error("Invalid pasword")}(t,i,t.password),t.password=null,t.aesCtrGladman=new qI(new zI(t.keys.key),Array.from(WI)),t.hmac=new ZI(t.keys.authentication),e=ix(e,HI[t.strength]+2)}return $I(t,e,new Uint8Array(e.length-10-(e.length-10)%16),0,10,!0)}flush(){const e=this,t=e.pendingInput,i=ix(t,0,t.length-10),n=ix(t,t.length-10);let r=new Uint8Array(0);if(i.length){const t=JI.toBits(i);e.hmac.update(t);const n=e.aesCtrGladman.update(t);r=JI.fromBits(n)}let o=!0;if(e.signed){const t=ix(JI.fromBits(e.hmac.digest()),0,10);for(let e=0;10>e;e++)t[e]!=n[e]&&(o=!1)}return{valid:o,data:r}}}class _I{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let i=new Uint8Array(0);t.password&&(i=await async function(e,t){const i=crypto.getRandomValues(new Uint8Array(HI[e.strength]));return await ex(e,t,i),tx(i,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new qI(new zI(t.keys.key),Array.from(WI)),t.hmac=new ZI(t.keys.authentication));const n=new Uint8Array(i.length+e.length-e.length%16);return n.set(i,0),$I(t,e,n,i.length,0)}flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const i=e.aesCtrGladman.update(JI.toBits(e.pendingInput));e.hmac.update(i),t=JI.fromBits(i)}const i=ix(JI.fromBits(e.hmac.digest()),0,10);return{data:tx(t,i),signature:i}}}function $I(e,t,i,n,r,o){const a=t.length-r;let s;for(e.pendingInput.length&&(t=tx(e.pendingInput,t),i=function(e,t){if(t&&t>e.length){const i=e;(e=new Uint8Array(t)).set(i,0)}return e}(i,a-a%16)),s=0;a-16>=s;s+=16){const r=JI.toBits(ix(t,s,s+16));o&&e.hmac.update(r);const a=e.aesCtrGladman.update(r);o||e.hmac.update(a),i.set(JI.fromBits(a),s+n)}return e.pendingInput=ix(t,s),i}async function ex(e,t,i){const n=(new TextEncoder).encode(t),r=await crypto.subtle.importKey("raw",n,KI,!1,YI),o=await crypto.subtle.deriveBits(Object.assign({salt:i},VI),r,8*(2*jI[e.strength]+2)),a=new Uint8Array(o);e.keys={key:JI.toBits(ix(a,0,jI[e.strength])),authentication:JI.toBits(ix(a,jI[e.strength],2*jI[e.strength])),passwordVerification:ix(a,2*jI[e.strength])}}function tx(e,t){let i=e;return e.length+t.length&&(i=new Uint8Array(e.length+t.length),i.set(e,0),i.set(t,e.length)),i}function ix(e,t,i){return e.subarray(t,i)}class nx{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),sx(this,e)}append(e){const t=this;if(t.password){const i=ox(t,e.subarray(0,12));if(t.password=null,i[11]!=t.passwordVerification)throw new Error("Invalid pasword");e=e.subarray(12)}return ox(t,e)}flush(){return{valid:!0,data:new Uint8Array(0)}}}class rx{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),sx(this,e)}append(e){const t=this;let i,n;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=t.passwordVerification,i=new Uint8Array(e.length+r.length),i.set(ax(t,r),0),n=12}else i=new Uint8Array(e.length),n=0;return i.set(ax(t,e),n),i}flush(){return{data:new Uint8Array(0)}}}function ox(e,t){const i=new Uint8Array(t.length);for(let n=0;t.length>n;n++)i[n]=cx(e)^t[n],lx(e,i[n]);return i}function ax(e,t){const i=new Uint8Array(t.length);for(let n=0;t.length>n;n++)i[n]=cx(e)^t[n],lx(e,t[n]);return i}function sx(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new UI(e.keys[0]),e.crcKey2=new UI(e.keys[2]);for(let i=0;t.length>i;i++)lx(e,t.charCodeAt(i))}function lx(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=dx(e.keys[1]+hx(e.keys[0])),e.keys[1]=dx(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function cx(e){const t=2|e.keys[2];return hx(Math.imul(t,1^t)>>>8)}function hx(e){return 255&e}function dx(e){return 4294967295&e}class ux{constructor(e,{signature:t,password:i,signed:n,compressed:r,zipCrypto:o,passwordVerification:a,encryptionStrength:s},{chunkSize:l}){const c=Boolean(i);Object.assign(this,{signature:t,encrypted:c,signed:n,compressed:r,inflate:r&&new e({chunkSize:l}),crc32:n&&new UI,zipCrypto:o,decrypt:c&&o?new nx(i,a):new XI(i,n,s)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,i=new Uint8Array(0);if(e.encrypted){const t=e.decrypt.flush();if(!t.valid)throw new Error("Invalid signature");i=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const i=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),i.setUint32(0,t),e.signature!=i.getUint32(0,!1))throw new Error("Invalid signature")}return e.compressed&&(i=await e.inflate.append(i)||new Uint8Array(0),await e.inflate.flush()),{data:i,signature:t}}}class px{constructor(e,{encrypted:t,signed:i,compressed:n,level:r,zipCrypto:o,password:a,passwordVerification:s,encryptionStrength:l},{chunkSize:c}){Object.assign(this,{encrypted:t,signed:i,compressed:n,deflate:n&&new e({level:r||5,chunkSize:c}),crc32:i&&new UI,zipCrypto:o,encrypt:t&&o?new rx(a,s):new _I(a,l)})}async append(e){const t=this;let i=e;return t.compressed&&e.length&&(i=await t.deflate.append(e)),t.encrypted&&i.length&&(i=await t.encrypt.append(i)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),i}async flush(){const e=this;let t,i=new Uint8Array(0);if(e.compressed&&(i=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){i=await e.encrypt.append(i);const n=e.encrypt.flush();t=n.signature;const r=new Uint8Array(i.length+n.data.length);r.set(i,0),r.set(n.data,i.length),i=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:i,signature:t}}}var gx=(e,t,i,n,r,o,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},i),scripts:a,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,r(e)}}),o?function(e,t){let i;return e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("BOS3D.min.js",document.baseURI).href)),e.worker.addEventListener("message",(function(t){const n=t.data;if(i){const t=n.error,r=n.type;if(t){const n=new Error(t.message);n.stack=t.stack,i.reject(n),i=null,e.onTaskFinished()}else if("init"==r||"flush"==r||"append"==r){const t=n.data;"flush"==r?(i.resolve({data:new Uint8Array(t),signature:n.signature}),i=null,e.onTaskFinished()):i.resolve(t&&new Uint8Array(t))}}}),!1),e.interface={append:e=>n({type:"append",data:e}),flush:()=>n({type:"flush"})}),e.interface;async function n(n){if(!i){const i=e.options,n=e.scripts.slice(1);await r({scripts:n,type:"init",options:i,config:{chunkSize:t.chunkSize}})}return r(n)}function r(t){const n=e.worker,r=new Promise(((e,t)=>i={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,n.postMessage(t,[t.data])}catch(e){n.postMessage(t)}else n.postMessage(t)}catch(t){i.reject(t),i=null,e.onTaskFinished()}return r}}(e,n):function(e,t){const i=function(e,t,i){return t.codecType.startsWith("deflate")?new px(e,t,i):t.codecType.startsWith("inflate")?new ux(e,t,i):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await i.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await i.flush()}finally{e.onTaskFinished()}}}}(e,n));let fx=[],mx=[];function Ax(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}class yx{constructor(){this.size=0}init(){this.initialized=!0}}class vx extends yx{}class Cx extends yx{writeUint8Array(e){this.size+=e.length}}class Ix extends vx{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const i=new FileReader;return new Promise(((n,r)=>{i.onload=e=>n(new Uint8Array(e.target.result)),i.onerror=()=>r(i.error),i.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class xx extends Cx{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}const wx="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Mx(e,t){if(e&&e.aborted)throw t.flush(),new Error("Abort error")}async function Ex(e,t){return t.length&&await e.writeUint8Array(t),t.length}const Bx=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","version","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class Sx{constructor(e){Bx.forEach((t=>this[t]=e[t]))}}const bx="File format is not recognized",kx=["uncompressedSize","compressedSize","offset"];class Dx{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:DI()})}async getEntries(e={}){const t=this,i=t.reader;if(i.initialized||await i.init(),22>i.size)throw new Error(bx);const n=await async function(e,t,i,n,r){const o=new Uint8Array(4);!function(e,t,i){e.setUint32(0,101010256,!0)}(Yx(o));return await a(22)||await a(Math.min(1048582,i));async function a(t){const n=i-t,r=await Hx(e,n,t);for(let e=r.length-22;e>=0;e--)if(r[e]==o[0]&&r[e+1]==o[1]&&r[e+2]==o[2]&&r[e+3]==o[3])return{offset:n+e,buffer:r.slice(e,e+22).buffer}}}(i,0,i.size);if(!n)throw new Error("End of central directory not found");const r=Yx(n);let o=Kx(r,12),a=Kx(r,16),s=Gx(r,8),l=0;if(4294967295==a||65535==s){const e=Yx(await Hx(i,n.offset-20,20));if(117853008!=Kx(e,0))throw new Error("End of Zip64 central directory not found");a=Vx(e,8);let t=await Hx(i,a,56),r=Yx(t);const c=n.offset-20-56;if(101075792!=Kx(r,0)&&a!=c){const e=a;a=c,l=a-e,t=await Hx(i,a,56),r=Yx(t)}if(101075792!=Kx(r,0))throw new Error("End of Zip64 central directory locator not found");s=Vx(r,24),o=Kx(e,4),a-=Vx(r,40)}if(0>a||a>=i.size)throw new Error(bx);let c=0,h=await Hx(i,a,i.size-a),d=Yx(h);const u=n.offset-o;if(33639248!=Kx(d,c)&&a!=u){const e=a;a=u,l=a-e,h=await Hx(i,a,i.size-a),d=Yx(h)}if(0>a||a>=i.size)throw new Error(bx);const p=[];for(let n=0;s>n;n++){const r=new Tx(i,t.config,t.options);if(33639248!=Kx(d,c))throw new Error("Central directory header not found");Rx(r,d,c+6);const o=Boolean(r.bitFlag.languageEncodingFlag),a=c+46,u=a+r.filenameLength,g=u+r.extraFieldLength,f=Gx(d,c+4),m=0==(0&f);Object.assign(r,{versionMadeBy:f,msDosCompatible:m,compressedSize:0,uncompressedSize:0,commentLength:Gx(d,c+32),directory:m&&16==(16&Px(d,c+38)),offset:Kx(d,c+42)+l,internalFileAttribute:Kx(d,c+34),externalFileAttribute:Kx(d,c+38),rawFilename:h.subarray(a,u),filenameUTF8:o,commentUTF8:o,rawExtraField:h.subarray(u,g)});const A=g+r.commentLength;r.rawComment=h.subarray(g,A),r.filename=Lx(r.rawFilename,r.filenameUTF8?"utf-8":Qx(t,e,"filenameEncoding")),r.comment=Lx(r.rawComment,r.commentUTF8?"utf-8":Qx(t,e,"commentEncoding")),!r.directory&&r.filename.endsWith("/")&&(r.directory=!0),Ux(r,r,d,c+6);const y=new Sx(r);if(y.getData=(e,t)=>r.getData(e,y,t),p.push(y),c=A,e.onprogress)try{e.onprogress(n+1,s,new Sx(r))}catch(e){}}return p}async close(){}}class Tx{constructor(e,t,i){Object.assign(this,{reader:e,config:t,options:i})}async getData(e,t,i={}){const n=this,{reader:r,offset:o,extraFieldAES:a,compressionMethod:s,config:l,bitFlag:c,signature:h,rawLastModDate:d,compressedSize:u}=n,p=n.localDirectory={};r.initialized||await r.init();let g=await Hx(r,o,30);const f=Yx(g);let m=Qx(n,i,"password");if(m=m&&m.length&&m,a&&99!=a.originalCompressionMethod)throw new Error("Compression method not supported");if(0!=s&&8!=s)throw new Error("Compression method not supported");if(67324752!=Kx(f,0))throw new Error("Local file header not found");Rx(p,f,4),g=await Hx(r,o,30+p.filenameLength+p.extraFieldLength),p.rawExtraField=g.subarray(30+p.filenameLength),Ux(n,p,f,4),t.lastAccessDate=p.lastAccessDate,t.creationDate=p.creationDate;const A=n.encrypted&&p.encrypted,y=A&&!a;if(A){if(!y&&void 0===a.strength)throw new Error("Encryption method not supported");if(!m)throw new Error("File contains encrypted entry")}const v=await function(e,t,i){const n=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&i.useWebWorkers),r=n&&i.workerScripts?i.workerScripts[t.codecType]:[];if(i.maxWorkers>fx.length){const a={};return fx.push(a),gx(a,e,t,i,o,n,r)}{const a=fx.find((e=>!e.busy));return a?(Ax(a),gx(a,e,t,i,o,n,r)):new Promise((i=>mx.push({resolve:i,codecConstructor:e,options:t,webWorker:n,scripts:r})))}function o(e){if(mx.length){const[{resolve:t,codecConstructor:n,options:r,webWorker:a,scripts:s}]=mx.splice(0,1);t(gx(e,n,r,i,o,a,s))}else e.worker?(Ax(e),Number.isFinite(i.terminateWorkerTimeout)&&i.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{fx=fx.filter((t=>t!=e)),e.terminate()}),i.terminateWorkerTimeout))):fx=fx.filter((t=>t!=e))}}(l.Inflate,{codecType:"inflate",password:m,zipCrypto:y,encryptionStrength:a&&a.strength,signed:Qx(n,i,"checkSignature"),passwordVerification:y&&(c.dataDescriptor?d>>>8&255:h>>>24&255),signature:h,compressed:0!=s,encrypted:A,useWebWorkers:Qx(n,i,"useWebWorkers")},l);e.initialized||await e.init();const C=Qx(n,i,"signal"),I=o+30+p.filenameLength+p.extraFieldLength;return await async function(e,t,i,n,r,o,a){const s=Math.max(o.chunkSize,64);return async function o(l=0,c=0){const h=a.signal;if(r>l){Mx(h,e);const d=await t.readUint8Array(l+n,Math.min(s,r-l)),u=d.length;Mx(h,e);const p=await e.append(d);if(Mx(h,e),c+=await Ex(i,p),a.onprogress)try{a.onprogress(l+u,r)}catch(e){}return o(l+s,c)}{const t=await e.flush();return c+=await Ex(i,t.data),{signature:t.signature,length:c}}}()}(v,r,e,I,u,l,{onprogress:i.onprogress,signal:C}),e.getData()}}function Rx(e,t,i){const n=e.rawBitFlag=Gx(t,i+2),r=1==(1&n),o=Kx(t,i+6);Object.assign(e,{encrypted:r,version:Gx(t,i),bitFlag:{level:(6&n)>>1,dataDescriptor:8==(8&n),languageEncodingFlag:2048==(2048&n)},rawLastModDate:o,lastModDate:Ox(o),filenameLength:Gx(t,i+22),extraFieldLength:Gx(t,i+24)})}function Ux(e,t,i,n){const r=t.rawExtraField,o=t.extraField=new Map,a=Yx(new Uint8Array(r));let s=0;try{for(;r.length>s;){const e=Gx(a,s),t=Gx(a,s+2);o.set(e,{type:e,data:r.slice(s+4,s+4+t)}),s+=4+t}}catch(e){}const l=Gx(i,n+4);t.signature=Kx(i,n+10),t.uncompressedSize=Kx(i,n+18),t.compressedSize=Kx(i,n+14);const c=o.get(1);c&&(function(e,t){t.zip64=!0;const i=Yx(e.data);e.values=[];for(let t=0;t<Math.floor(e.data.length/8);t++)e.values.push(Vx(i,0+8*t));const n=kx.filter((e=>4294967295==t[e]));for(let t=0;n.length>t;t++)e[n[t]]=e.values[t];kx.forEach((i=>{if(4294967295==t[i]){if(void 0===e[i])throw new Error("Zip64 extra field not found");t[i]=e[i]}}))}(c,t),t.extraFieldZip64=c);const h=o.get(28789);h&&(Fx(h,"filename","rawFilename",t,e),t.extraFieldUnicodePath=h);const d=o.get(25461);d&&(Fx(d,"comment","rawComment",t,e),t.extraFieldUnicodeComment=d);const u=o.get(39169);u?(function(e,t,i){const n=Yx(e.data);e.vendorVersion=Px(n,0),e.vendorId=Px(n,2);const r=Px(n,4);e.strength=r,e.originalCompressionMethod=i,t.compressionMethod=e.compressionMethod=Gx(n,5)}(u,t,l),t.extraFieldAES=u):t.compressionMethod=l;const p=o.get(10);p&&(function(e,t){const i=Yx(e.data);let n,r=4;try{for(;e.data.length>r&&!n;){const t=Gx(i,r),o=Gx(i,r+2);1==t&&(n=e.data.slice(r+4,r+4+o)),r+=4+o}}catch(e){}try{if(n&&24==n.length){const i=Yx(n),r=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),a=i.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:r,rawLastAccessDate:o,rawCreationDate:a});const s=Nx(r),l={lastModDate:s,lastAccessDate:Nx(o),creationDate:Nx(a)};Object.assign(e,l),Object.assign(t,l)}}catch(e){}}(p,t),t.extraFieldNTFS=p);const g=o.get(21589);g&&(function(e,t){const i=Yx(e.data),n=Px(i,0),r=[],o=[];1==(1&n)&&(r.push("lastModDate"),o.push("rawLastModDate")),2==(2&n)&&(r.push("lastAccessDate"),o.push("rawLastAccessDate")),4==(4&n)&&(r.push("creationDate"),o.push("rawCreationDate"));let a=1;r.forEach(((n,r)=>{if(e.data.length>=a+4){const s=Kx(i,a);t[n]=e[n]=new Date(1e3*s);e[o[r]]=s}a+=4}))}(g,t),t.extraFieldExtendedTimestamp=g)}function Fx(e,t,i,n,r){const o=Yx(e.data);e.version=Px(o,0),e.signature=Kx(o,1);const a=new UI;a.append(r[i]);const s=Yx(new Uint8Array(4));s.setUint32(0,a.get(),!0),e[t]=(new TextDecoder).decode(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==Kx(s,0),e.valid&&(n[t]=e[t],n[t+"UTF8"]=!0)}function Qx(e,t,i){return void 0===t[i]?e.options[i]:t[i]}function Lx(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let i=0;e.length>i;i++)t+=wx[e[i]];return t})(e)}function Ox(e){const t=(4294901760&e)>>16,i=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&i)>>11,(2016&i)>>5,2*(31&i),0)}catch(e){}}function Nx(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function Px(e,t){return e.getUint8(t)}function Gx(e,t){return e.getUint16(t,!0)}function Kx(e,t){return e.getUint32(t,!0)}function Vx(e,t){return Number(e.getBigUint64(t,!0))}function Yx(e){return new DataView(e.buffer)}function Hx(e,t,i){return e.readUint8Array(t,i)}
/*
*@license
Copyright (c) 2021 Gildas Lormeau. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. 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.
3. The names of the authors may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED 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 JCRAFT,
INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE 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.
*/(()=>{if("function"==typeof URL.createObjectURL){const e=(()=>{const e=[];for(let t=0;256>t;t++){let i=t;for(let e=0;8>e;e++)1&i?i=i>>>1^3988292384:i>>>=1;e[t]=i}class t{constructor(e){this.crc=e||-1}append(t){let i=0|this.crc;for(let n=0,r=0|t.length;r>n;n++)i=i>>>8^e[255&(i^t[n])];this.crc=i}get(){return~this.crc}}const i={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=i.getPartial(n);return 32===r?e.concat(t):i._shiftRight(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;return 32*(t-1)+i.getPartial(e[t-1])},clamp(e,t){if(t>32*e.length)return e;const n=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=i.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,i)=>32===e?t:(i?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let i=0;e.length>i;i++)r.push(n|e[i]>>>t),n=e[i]<<32-t;const o=i.getPartial(e.length?e[e.length-1]:0);return r.push(i.partial(t+o&31,t+o>32?n:r.pop(),1)),r}},n={bytes:{fromBits(e){const t=i.bitLength(e)/8,n=new Uint8Array(t);let r;for(let i=0;t>i;i++)0==(3&i)&&(r=e[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;e.length>n;n++)r=r<<8|e[n],3==(3&n)&&(t.push(r),r=0);return 3&n&&t.push(i.partial(8*(3&n),r)),t}}},r={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};r.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=n.utf8String.toBits(e));const r=t._buffer=i.concat(t._buffer,e),o=t._length,a=t._length=o+i.bitLength(e);if(a>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let l=0;for(let e=t.blockSize+o-(t.blockSize+o&t.blockSize-1);a>=e;e+=t.blockSize)t._block(s.subarray(16*l,16*(l+1))),l+=1;return r.splice(0,16*l),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=i.concat(t,[i.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,i,n){return e>19?e>39?e>59?e>79?void 0:t^i^n:t&i|t&n|i&n:t^i^n:t&i|~t&n},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,i=t._h,n=Array(80);for(let t=0;16>t;t++)n[t]=e[t];let r=i[0],o=i[1],a=i[2],s=i[3],l=i[4];for(let e=0;79>=e;e++){e>=16&&(n[e]=t._S(1,n[e-3]^n[e-8]^n[e-14]^n[e-16]));const i=t._S(5,r)+t._f(e,o,a,s)+l+n[e]+t._key[Math.floor(e/20)]|0;l=s,s=a,a=t._S(30,o),o=r,r=i}i[0]=i[0]+r|0,i[1]=i[1]+o|0,i[2]=i[2]+a|0,i[3]=i[3]+s|0,i[4]=i[4]+l|0}};const o={name:"PBKDF2"},a=Object.assign({hash:{name:"HMAC"}},o),s=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},o),l=["deriveBits"],c=[8,12,16],h=[16,24,32],d=[0,0,0,0],u=n.bytes,p=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const i=t._tables[0][4],n=t._tables[1],r=e.length;let o,a,s,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),s=[]],o=r;4*r+28>o;o++){let e=a[o-1];(o%r==0||8===r&&o%r==4)&&(e=i[e>>>24]<<24^i[e>>16&255]<<16^i[e>>8&255]<<8^i[255&e],o%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),a[o]=a[o-r]^e}for(let e=0;o;e++,o--){const t=a[3&e?o:o-4];s[e]=4>=o||4>e?t:n[0][i[t>>>24]]^n[1][i[t>>16&255]]^n[2][i[t>>8&255]]^n[3][i[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],i=e[4],n=t[4],r=[],o=[];let a,s,l,c;for(let e=0;256>e;e++)o[(r[e]=e<<1^283*(e>>7))^e]=e;for(let h=a=0;!i[h];h^=s||1,a=o[a]||1){let o=a^a<<1^a<<2^a<<3^a<<4;o=o>>8^255&o^99,i[h]=o,n[o]=h,c=r[l=r[s=r[h]]];let d=16843009*c^65537*l^257*s^16843008*h,u=257*r[o]^16843008*o;for(let i=0;4>i;i++)e[i][h]=u=u<<24^u>>>8,t[i][o]=d=d<<24^d>>>8}for(let i=0;5>i;i++)e[i]=e[i].slice(0),t[i]=t[i].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const i=this._key[t],n=i.length/4-2,r=[0,0,0,0],o=this._tables[t],a=o[0],s=o[1],l=o[2],c=o[3],h=o[4];let d,u,p,g=e[0]^i[0],f=e[t?3:1]^i[1],m=e[2]^i[2],A=e[t?1:3]^i[3],y=4;for(let e=0;n>e;e++)d=a[g>>>24]^s[f>>16&255]^l[m>>8&255]^c[255&A]^i[y],u=a[f>>>24]^s[m>>16&255]^l[A>>8&255]^c[255&g]^i[y+1],p=a[m>>>24]^s[A>>16&255]^l[g>>8&255]^c[255&f]^i[y+2],A=a[A>>>24]^s[g>>16&255]^l[f>>8&255]^c[255&m]^i[y+3],y+=4,g=d,f=u,m=p;for(let e=0;4>e;e++)r[t?3&-e:e]=h[g>>>24]<<24^h[f>>16&255]<<16^h[m>>8&255]<<8^h[255&A]^i[y++],d=g,g=f,f=m,m=A,A=d;return r}},g=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,i=e>>8&255,n=255&e;255===t?(t=0,255===i?(i=0,255===n?n=0:++n):++i):++t,e=0,e+=t<<16,e+=i<<8,e+=n}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const o=i.bitLength(t);for(let i=0;r>i;i+=4){this.incCounter(n);const r=e.encrypt(n);t[i]^=r[0],t[i+1]^=r[1],t[i+2]^=r[2],t[i+3]^=r[3]}return i.clamp(t,o)}},f=class{constructor(e){const t=this,i=t._hash=r.sha1,n=[[],[]],o=i.prototype.blockSize/32;t._baseHash=[new i,new i],e.length>o&&(e=i.hash(e));for(let t=0;o>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new i(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),i=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),i}};class m{constructor(e,t,i){Object.assign(this,{password:e,signed:t,strength:i-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const i=I(e,0,c[t.strength]+2);await async function(e,t,i){await v(e,i,I(t,0,c[e.strength]));const n=I(t,c[e.strength]),r=e.keys.passwordVerification;if(r[0]!=n[0]||r[1]!=n[1])throw new Error("Invalid pasword")}(t,i,t.password),t.password=null,t.aesCtrGladman=new g(new p(t.keys.key),Array.from(d)),t.hmac=new f(t.keys.authentication),e=I(e,c[t.strength]+2)}return y(t,e,new Uint8Array(e.length-10-(e.length-10)%16),0,10,!0)}flush(){const e=this,t=e.pendingInput,i=I(t,0,t.length-10),n=I(t,t.length-10);let r=new Uint8Array(0);if(i.length){const t=u.toBits(i);e.hmac.update(t);const n=e.aesCtrGladman.update(t);r=u.fromBits(n)}let o=!0;if(e.signed){const t=I(u.fromBits(e.hmac.digest()),0,10);for(let e=0;10>e;e++)t[e]!=n[e]&&(o=!1)}return{valid:o,data:r}}}class A{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let i=new Uint8Array(0);t.password&&(i=await async function(e,t){const i=crypto.getRandomValues(new Uint8Array(c[e.strength]));return await v(e,t,i),C(i,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new g(new p(t.keys.key),Array.from(d)),t.hmac=new f(t.keys.authentication));const n=new Uint8Array(i.length+e.length-e.length%16);return n.set(i,0),y(t,e,n,i.length,0)}flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const i=e.aesCtrGladman.update(u.toBits(e.pendingInput));e.hmac.update(i),t=u.fromBits(i)}const i=I(u.fromBits(e.hmac.digest()),0,10);return{data:C(t,i),signature:i}}}function y(e,t,i,n,r,o){const a=t.length-r;let s;for(e.pendingInput.length&&(t=C(e.pendingInput,t),i=function(e,t){if(t&&t>e.length){const i=e;(e=new Uint8Array(t)).set(i,0)}return e}(i,a-a%16)),s=0;a-16>=s;s+=16){const r=u.toBits(I(t,s,s+16));o&&e.hmac.update(r);const a=e.aesCtrGladman.update(r);o||e.hmac.update(a),i.set(u.fromBits(a),s+n)}return e.pendingInput=I(t,s),i}async function v(e,t,i){const n=(new TextEncoder).encode(t),r=await crypto.subtle.importKey("raw",n,a,!1,l),o=await crypto.subtle.deriveBits(Object.assign({salt:i},s),r,8*(2*h[e.strength]+2)),c=new Uint8Array(o);e.keys={key:u.toBits(I(c,0,h[e.strength])),authentication:u.toBits(I(c,h[e.strength],2*h[e.strength])),passwordVerification:I(c,2*h[e.strength])}}function C(e,t){let i=e;return e.length+t.length&&(i=new Uint8Array(e.length+t.length),i.set(e,0),i.set(t,e.length)),i}function I(e,t,i){return e.subarray(t,i)}class x{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),B(this,e)}append(e){const t=this;if(t.password){const i=M(t,e.subarray(0,12));if(t.password=null,i[11]!=t.passwordVerification)throw new Error("Invalid pasword");e=e.subarray(12)}return M(t,e)}flush(){return{valid:!0,data:new Uint8Array(0)}}}class w{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),B(this,e)}append(e){const t=this;let i,n;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=t.passwordVerification,i=new Uint8Array(e.length+r.length),i.set(E(t,r),0),n=12}else i=new Uint8Array(e.length),n=0;return i.set(E(t,e),n),i}flush(){return{data:new Uint8Array(0)}}}function M(e,t){const i=new Uint8Array(t.length);for(let n=0;t.length>n;n++)i[n]=b(e)^t[n],S(e,i[n]);return i}function E(e,t){const i=new Uint8Array(t.length);for(let n=0;t.length>n;n++)i[n]=b(e)^t[n],S(e,t[n]);return i}function B(e,i){e.keys=[305419896,591751049,878082192],e.crcKey0=new t(e.keys[0]),e.crcKey2=new t(e.keys[2]);for(let t=0;i.length>t;t++)S(e,i.charCodeAt(t))}function S(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=D(e.keys[1]+k(e.keys[0])),e.keys[1]=D(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function b(e){const t=2|e.keys[2];return k(Math.imul(t,1^t)>>>8)}function k(e){return 255&e}function D(e){return 4294967295&e}class T{constructor(e,{signature:i,password:n,signed:r,compressed:o,zipCrypto:a,passwordVerification:s,encryptionStrength:l},{chunkSize:c}){const h=Boolean(n);Object.assign(this,{signature:i,encrypted:h,signed:r,compressed:o,inflate:o&&new e({chunkSize:c}),crc32:r&&new t,zipCrypto:a,decrypt:h&&a?new x(n,s):new m(n,r,l)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,i=new Uint8Array(0);if(e.encrypted){const t=e.decrypt.flush();if(!t.valid)throw new Error("Invalid signature");i=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const i=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),i.setUint32(0,t),e.signature!=i.getUint32(0,!1))throw new Error("Invalid signature")}return e.compressed&&(i=await e.inflate.append(i)||new Uint8Array(0),await e.inflate.flush()),{data:i,signature:t}}}class R{constructor(e,{encrypted:i,signed:n,compressed:r,level:o,zipCrypto:a,password:s,passwordVerification:l,encryptionStrength:c},{chunkSize:h}){Object.assign(this,{encrypted:i,signed:n,compressed:r,deflate:r&&new e({level:o||5,chunkSize:h}),crc32:n&&new t,zipCrypto:a,encrypt:i&&a?new w(s,l):new A(s,c)})}async append(e){const t=this;let i=e;return t.compressed&&e.length&&(i=await t.deflate.append(e)),t.encrypted&&i.length&&(i=await t.encrypt.append(i)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),i}async flush(){const e=this;let t,i=new Uint8Array(0);if(e.compressed&&(i=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){i=await e.encrypt.append(i);const n=e.encrypt.flush();t=n.signature;const r=new Uint8Array(i.length+n.data.length);r.set(i,0),r.set(n.data,i.length),i=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:i,signature:t}}}const U={init(e){e.scripts&&e.scripts.length&&importScripts.apply(void 0,e.scripts);const t=e.options;let i;self.initCodec&&self.initCodec(),t.codecType.startsWith("deflate")?i=self.Deflate:t.codecType.startsWith("inflate")&&(i=self.Inflate),F=function(e,t,i){return t.codecType.startsWith("deflate")?new R(e,t,i):t.codecType.startsWith("inflate")?new T(e,t,i):void 0}(i,t,e.config)},append:async e=>({data:await F.append(e.data)}),flush:()=>F.flush()};let F;function Q(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}addEventListener("message",(async e=>{const t=e.data,i=t.type,n=U[i];if(n)try{t.data&&(t.data=new Uint8Array(t.data));const e=await n(t)||{};if(e.type=i,e.data)try{e.data=e.data.buffer,postMessage(e,[e.data])}catch(t){postMessage(e)}else postMessage(e)}catch(e){postMessage({type:i,error:{message:e.message,stack:e.stack}})}}));const L=[0,1,2,3].concat(...Q([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function O(){const e=this;function t(e,t){let i=0;do{i|=1&e,e>>>=1,i<<=1}while(--t>0);return i>>>1}e.build_tree=function(i){const n=e.dyn_tree,r=e.stat_desc.static_tree,o=e.stat_desc.elems;let a,s,l,c=-1;for(i.heap_len=0,i.heap_max=573,a=0;o>a;a++)0!==n[2*a]?(i.heap[++i.heap_len]=c=a,i.depth[a]=0):n[2*a+1]=0;for(;2>i.heap_len;)l=i.heap[++i.heap_len]=2>c?++c:0,n[2*l]=1,i.depth[l]=0,i.opt_len--,r&&(i.static_len-=r[2*l+1]);for(e.max_code=c,a=Math.floor(i.heap_len/2);a>=1;a--)i.pqdownheap(n,a);l=o;do{a=i.heap[1],i.heap[1]=i.heap[i.heap_len--],i.pqdownheap(n,1),s=i.heap[1],i.heap[--i.heap_max]=a,i.heap[--i.heap_max]=s,n[2*l]=n[2*a]+n[2*s],i.depth[l]=Math.max(i.depth[a],i.depth[s])+1,n[2*a+1]=n[2*s+1]=l,i.heap[1]=l++,i.pqdownheap(n,1)}while(i.heap_len>=2);i.heap[--i.heap_max]=i.heap[1],function(t){const i=e.dyn_tree,n=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,a=e.stat_desc.max_length;let s,l,c,h,d,u,p=0;for(h=0;15>=h;h++)t.bl_count[h]=0;for(i[2*t.heap[t.heap_max]+1]=0,s=t.heap_max+1;573>s;s++)l=t.heap[s],h=i[2*i[2*l+1]+1]+1,h>a&&(h=a,p++),i[2*l+1]=h,l>e.max_code||(t.bl_count[h]++,d=0,l>=o&&(d=r[l-o]),u=i[2*l],t.opt_len+=u*(h+d),n&&(t.static_len+=u*(n[2*l+1]+d)));if(0!==p){do{for(h=a-1;0===t.bl_count[h];)h--;t.bl_count[h]--,t.bl_count[h+1]+=2,t.bl_count[a]--,p-=2}while(p>0);for(h=a;0!==h;h--)for(l=t.bl_count[h];0!==l;)c=t.heap[--s],c>e.max_code||(i[2*c+1]!=h&&(t.opt_len+=(h-i[2*c+1])*i[2*c],i[2*c+1]=h),l--)}}(i),function(e,i,n){const r=[];let o,a,s,l=0;for(o=1;15>=o;o++)r[o]=l=l+n[o-1]<<1;for(a=0;i>=a;a++)s=e[2*a+1],0!==s&&(e[2*a]=t(r[s]++,s))}(n,e.max_code,i.bl_count)}}function N(e,t,i,n,r){const o=this;o.static_tree=e,o.extra_bits=t,o.extra_base=i,o.elems=n,o.max_length=r}function P(e,t,i,n,r){const o=this;o.good_length=e,o.max_lazy=t,o.nice_length=i,o.max_chain=n,o.func=r}O._length_code=[0,1,2,3,4,5,6,7].concat(...Q([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),O.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],O.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],O.d_code=function(e){return 256>e?L[e]:L[256+(e>>>7)]},O.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],O.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],O.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],N.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],N.static_l_desc=new N(N.static_ltree,O.extra_lbits,257,286,15),N.static_d_desc=new N(N.static_dtree,O.extra_dbits,0,30,15),N.static_bl_desc=new N(null,O.extra_blbits,0,19,7);const G=[new P(0,0,0,0,0),new P(4,4,8,4,1),new P(4,5,16,8,1),new P(4,6,32,32,1),new P(4,4,16,16,2),new P(8,16,32,32,2),new P(8,16,128,128,2),new P(8,32,128,256,2),new P(32,128,258,1024,2),new P(32,258,258,4096,2)],K=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function V(e,t,i,n){const r=e[2*t],o=e[2*i];return o>r||r==o&&n[i]>=n[t]}function Y(){const e=this;let t,i,n,r,o,a,s,l,c,h,d,u,p,g,f,m,A,y,v,C,I,x,w,M,E,B,S,b,k,D,T,R,U;const F=new O,Q=new O,L=new O;let P,Y,H,j,W,J,z,q;function Z(){let t;for(t=0;286>t;t++)T[2*t]=0;for(t=0;30>t;t++)R[2*t]=0;for(t=0;19>t;t++)U[2*t]=0;T[512]=1,e.opt_len=e.static_len=0,H=W=0}function X(e,t){let i,n=-1,r=e[1],o=0,a=7,s=4;0===r&&(a=138,s=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)i=r,r=e[2*(l+1)+1],++o<a&&i==r||(s>o?U[2*i]+=o:0!==i?(i!=n&&U[2*i]++,U[32]++):o>10?U[36]++:U[34]++,o=0,n=i,0===r?(a=138,s=3):i==r?(a=6,s=3):(a=7,s=4))}function _(t){e.pending_buf[e.pending++]=t}function $(e){_(255&e),_(e>>>8&255)}function ee(e,t){let i;const n=t;q>16-n?(i=e,z|=i<<q&65535,$(z),z=i>>>16-q,q+=n-16):(z|=e<<q&65535,q+=n)}function te(e,t){const i=2*e;ee(65535&t[i],65535&t[i+1])}function ie(e,t){let i,n,r=-1,o=e[1],a=0,s=7,l=4;for(0===o&&(s=138,l=3),i=0;t>=i;i++)if(n=o,o=e[2*(i+1)+1],++a>=s||n!=o){if(l>a)do{te(n,U)}while(0!=--a);else 0!==n?(n!=r&&(te(n,U),a--),te(16,U),ee(a-3,2)):a>10?(te(18,U),ee(a-11,7)):(te(17,U),ee(a-3,3));a=0,r=n,0===o?(s=138,l=3):n==o?(s=6,l=3):(s=7,l=4)}}function ne(){16==q?($(z),z=0,q=0):q>=8&&(_(255&z),z>>>=8,q-=8)}function re(t,i){let n,r,o;if(e.pending_buf[j+2*H]=t>>>8&255,e.pending_buf[j+2*H+1]=255&t,e.pending_buf[P+H]=255&i,H++,0===t?T[2*i]++:(W++,t--,T[2*(O._length_code[i]+256+1)]++,R[2*O.d_code(t)]++),0==(8191&H)&&S>2){for(n=8*H,r=I-A,o=0;30>o;o++)n+=R[2*o]*(5+O.extra_dbits[o]);if(n>>>=3,W<Math.floor(H/2)&&n<Math.floor(r/2))return!0}return H==Y-1}function oe(t,i){let n,r,o,a,s=0;if(0!==H)do{n=e.pending_buf[j+2*s]<<8&65280|255&e.pending_buf[j+2*s+1],r=255&e.pending_buf[P+s],s++,0===n?te(r,t):(o=O._length_code[r],te(o+256+1,t),a=O.extra_lbits[o],0!==a&&(r-=O.base_length[o],ee(r,a)),n--,o=O.d_code(n),te(o,i),a=O.extra_dbits[o],0!==a&&(n-=O.base_dist[o],ee(n,a)))}while(H>s);te(256,t),J=t[513]}function ae(){q>8?$(z):q>0&&_(255&z),z=0,q=0}function se(t,i,n){ee(0+(n?1:0),3),function(t,i,n){ae(),J=8,$(i),$(~i),e.pending_buf.set(l.subarray(t,t+i),e.pending),e.pending+=i}(t,i)}function le(t,i,n){let r,o,a=0;S>0?(F.build_tree(e),Q.build_tree(e),a=function(){let t;for(X(T,F.max_code),X(R,Q.max_code),L.build_tree(e),t=18;t>=3&&0===U[2*O.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,o=e.static_len+3+7>>>3,r>=o&&(r=o)):r=o=i+5,i+4>r||-1==t?o==r?(ee(2+(n?1:0),3),oe(N.static_ltree,N.static_dtree)):(ee(4+(n?1:0),3),function(e,t,i){let n;for(ee(e-257,5),ee(t-1,5),ee(i-4,4),n=0;i>n;n++)ee(U[2*O.bl_order[n]+1],3);ie(T,e-1),ie(R,t-1)}(F.max_code+1,Q.max_code+1,a+1),oe(T,R)):se(t,i,n),Z(),n&&ae()}function ce(e){le(0>A?-1:A,I-A,e),A=I,t.flush_pending()}function he(){let e,i,n,r;do{if(r=c-w-I,0===r&&0===I&&0===w)r=o;else if(-1==r)r--;else if(I>=o+o-262){l.set(l.subarray(o,o+o),0),x-=o,I-=o,A-=o,e=p,n=e;do{i=65535&d[--n],d[n]=o>i?0:i-o}while(0!=--e);e=o,n=e;do{i=65535&h[--n],h[n]=o>i?0:i-o}while(0!=--e);r+=o}if(0===t.avail_in)return;e=t.read_buf(l,I+w,r),w+=e,w>=3&&(u=255&l[I],u=(u<<m^255&l[I+1])&f)}while(262>w&&0!==t.avail_in)}function de(e){let t,i,n=E,r=I,a=M;const c=I>o-262?I-(o-262):0;let d=D;const u=s,p=I+258;let g=l[r+a-1],f=l[r+a];M>=k&&(n>>=2),d>w&&(d=w);do{if(t=e,l[t+a]==f&&l[t+a-1]==g&&l[t]==l[r]&&l[++t]==l[r+1]){r+=2,t++;do{}while(l[++r]==l[++t]&&l[++r]==l[++t]&&l[++r]==l[++t]&&l[++r]==l[++t]&&l[++r]==l[++t]&&l[++r]==l[++t]&&l[++r]==l[++t]&&l[++r]==l[++t]&&p>r);if(i=258-(p-r),r=p-258,i>a){if(x=e,a=i,i>=d)break;g=l[r+a-1],f=l[r+a]}}}while((e=65535&h[e&u])>c&&0!=--n);return a>w?w:a}function ue(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,i=113,r=0,F.dyn_tree=T,F.stat_desc=N.static_l_desc,Q.dyn_tree=R,Q.stat_desc=N.static_d_desc,L.dyn_tree=U,L.stat_desc=N.static_bl_desc,z=0,q=0,J=8,Z(),function(){c=2*o,d[p-1]=0;for(let e=0;p-1>e;e++)d[e]=0;B=G[S].max_lazy,k=G[S].good_length,D=G[S].nice_length,E=G[S].max_chain,I=0,A=0,w=0,y=M=2,C=0,u=0}(),0}e.depth=[],e.bl_count=[],e.heap=[],T=[],R=[],U=[],e.pqdownheap=function(t,i){const n=e.heap,r=n[i];let o=i<<1;for(;e.heap_len>=o&&(e.heap_len>o&&V(t,n[o+1],n[o],e.depth)&&o++,!V(t,r,n[o],e.depth));)n[i]=n[o],i=o,o<<=1;n[i]=r},e.deflateInit=function(t,i,r,c,u,A){return c||(c=8),u||(u=8),A||(A=0),t.msg=null,-1==i&&(i=6),1>u||u>9||8!=c||9>r||r>15||0>i||i>9||0>A||A>2?-2:(t.dstate=e,a=r,o=1<<a,s=o-1,g=u+7,p=1<<g,f=p-1,m=Math.floor((g+3-1)/3),l=new Uint8Array(2*o),h=[],d=[],Y=1<<u+6,e.pending_buf=new Uint8Array(4*Y),n=4*Y,j=Math.floor(Y/2),P=3*Y,S=i,b=A,ue(t))},e.deflateEnd=function(){return 42!=i&&113!=i&&666!=i?-2:(e.pending_buf=null,d=null,h=null,l=null,e.dstate=null,113==i?-3:0)},e.deflateParams=function(e,t,i){let n=0;return-1==t&&(t=6),0>t||t>9||0>i||i>2?-2:(G[S].func!=G[t].func&&0!==e.total_in&&(n=e.deflate(1)),S!=t&&(S=t,B=G[S].max_lazy,k=G[S].good_length,D=G[S].nice_length,E=G[S].max_chain),b=i,n)},e.deflateSetDictionary=function(e,t,n){let r,a=n,c=0;if(!t||42!=i)return-2;if(3>a)return 0;for(a>o-262&&(a=o-262,c=n-a),l.set(t.subarray(c,c+a),0),I=a,A=a,u=255&l[0],u=(u<<m^255&l[1])&f,r=0;a-3>=r;r++)u=(u<<m^255&l[r+2])&f,h[r&s]=d[u],d[u]=r;return 0},e.deflate=function(c,g){let E,k,D,T,R;if(g>4||0>g)return-2;if(!c.next_out||!c.next_in&&0!==c.avail_in||666==i&&4!=g)return c.msg=K[4],-2;if(0===c.avail_out)return c.msg=K[7],-5;var U;if(t=c,T=r,r=g,42==i&&(k=8+(a-8<<4)<<8,D=(S-1&255)>>1,D>3&&(D=3),k|=D<<6,0!==I&&(k|=32),k+=31-k%31,i=113,_((U=k)>>8&255),_(255&U)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return r=-1,0}else if(0===t.avail_in&&T>=g&&4!=g)return t.msg=K[7],-5;if(666==i&&0!==t.avail_in)return c.msg=K[7],-5;if(0!==t.avail_in||0!==w||0!=g&&666!=i){switch(R=-1,G[S].func){case 0:R=function(e){let i,r=65535;for(r>n-5&&(r=n-5);;){if(1>=w){if(he(),0===w&&0==e)return 0;if(0===w)break}if(I+=w,w=0,i=A+r,(0===I||I>=i)&&(w=I-i,I=i,ce(!1),0===t.avail_out))return 0;if(I-A>=o-262&&(ce(!1),0===t.avail_out))return 0}return ce(4==e),0===t.avail_out?4==e?2:0:4==e?3:1}(g);break;case 1:R=function(e){let i,n=0;for(;;){if(262>w){if(he(),262>w&&0==e)return 0;if(0===w)break}if(w>=3&&(u=(u<<m^255&l[I+2])&f,n=65535&d[u],h[I&s]=d[u],d[u]=I),0!==n&&o-262>=(I-n&65535)&&2!=b&&(y=de(n)),y<3)i=re(0,255&l[I]),w--,I++;else if(i=re(I-x,y-3),w-=y,B<y||w<3)I+=y,y=0,u=255&l[I],u=(u<<m^255&l[I+1])&f;else{y--;do{I++,u=(u<<m^255&l[I+2])&f,n=65535&d[u],h[I&s]=d[u],d[u]=I}while(0!=--y);I++}if(i&&(ce(!1),0===t.avail_out))return 0}return ce(4==e),0===t.avail_out?4==e?2:0:4==e?3:1}(g);break;case 2:R=function(e){let i,n,r=0;for(;;){if(262>w){if(he(),262>w&&0==e)return 0;if(0===w)break}if(w>=3&&(u=(u<<m^255&l[I+2])&f,r=65535&d[u],h[I&s]=d[u],d[u]=I),M=y,v=x,y=2,0!==r&&B>M&&o-262>=(I-r&65535)&&(2!=b&&(y=de(r)),5>=y&&(1==b||3==y&&I-x>4096)&&(y=2)),M<3||M<y)if(0!==C){if(i=re(0,255&l[I-1]),i&&ce(!1),I++,w--,0===t.avail_out)return 0}else C=1,I++,w--;else{n=I+w-3,i=re(I-1-v,M-3),w-=M-1,M-=2;do{++I<=n&&(u=(u<<m^255&l[I+2])&f,r=65535&d[u],h[I&s]=d[u],d[u]=I)}while(0!=--M);if(C=0,y=2,I++,i&&(ce(!1),0===t.avail_out))return 0}}return 0!==C&&(i=re(0,255&l[I-1]),C=0),ce(4==e),0===t.avail_out?4==e?2:0:4==e?3:1}(g)}if(2!=R&&3!=R||(i=666),0==R||2==R)return 0===t.avail_out&&(r=-1),0;if(1==R){if(1==g)ee(2,3),te(256,N.static_ltree),ne(),9>1+J+10-q&&(ee(2,3),te(256,N.static_ltree),ne()),J=7;else if(se(0,0,!1),3==g)for(E=0;p>E;E++)d[E]=0;if(t.flush_pending(),0===t.avail_out)return r=-1,0}}return 4!=g?0:1}}function H(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}function j(e){const t=new H,i=(n=e&&e.chunkSize?e.chunkSize:65536)+5*(Math.floor(n/16383)+1);var n;const r=new Uint8Array(i);let o=e?e.level:-1;void 0===o&&(o=-1),t.deflateInit(o),t.next_out=r,this.append=function(e,n){let o,a,s=0,l=0,c=0;const h=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=i,o=t.deflate(0),0!=o)throw new Error("deflating: "+t.msg);t.next_out_index&&h.push(t.next_out_index==i?new Uint8Array(r):r.slice(0,t.next_out_index)),c+=t.next_out_index,n&&t.next_in_index>0&&t.next_in_index!=s&&(n(t.next_in_index),s=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return h.length>1?(a=new Uint8Array(c),h.forEach((function(e){a.set(e,l),l+=e.length}))):a=h[0]||new Uint8Array(0),a}},this.flush=function(){let e,n,o=0,a=0;const s=[];do{if(t.next_out_index=0,t.avail_out=i,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);i-t.avail_out>0&&s.push(r.slice(0,t.next_out_index)),a+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),n=new Uint8Array(a),s.forEach((function(e){n.set(e,o),o+=e.length})),n}}H.prototype={deflateInit:function(e,t){const i=this;return i.dstate=new Y,t||(t=15),i.dstate.deflateInit(i,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd:function(){const e=this;if(!e.dstate)return-2;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){const i=this;return i.dstate?i.dstate.deflateParams(i,e,t):-2},deflateSetDictionary:function(e,t){const i=this;return i.dstate?i.dstate.deflateSetDictionary(i,e,t):-2},read_buf:function(e,t,i){const n=this;let r=n.avail_in;return r>i&&(r=i),0===r?0:(n.avail_in-=r,e.set(n.next_in.subarray(n.next_in_index,n.next_in_index+r),t),n.next_in_index+=r,n.total_in+=r,r)},flush_pending:function(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const W=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],J=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],z=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],q=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Z=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],X=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],_=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function $(){let e,t,i,n,r,o;function a(e,t,a,s,l,c,h,d,u,p,g){let f,m,A,y,v,C,I,x,w,M,E,B,S,b,k;M=0,v=a;do{i[e[t+M]]++,M++,v--}while(0!==v);if(i[0]==a)return h[0]=-1,d[0]=0,0;for(x=d[0],C=1;15>=C&&0===i[C];C++);for(I=C,C>x&&(x=C),v=15;0!==v&&0===i[v];v--);for(A=v,x>v&&(x=v),d[0]=x,b=1<<C;v>C;C++,b<<=1)if(0>(b-=i[C]))return-3;if(0>(b-=i[v]))return-3;for(i[v]+=b,o[1]=C=0,M=1,S=2;0!=--v;)o[S]=C+=i[M],S++,M++;v=0,M=0;do{0!==(C=e[t+M])&&(g[o[C]++]=v),M++}while(++v<a);for(a=o[A],o[0]=v=0,M=0,y=-1,B=-x,r[0]=0,E=0,k=0;A>=I;I++)for(f=i[I];0!=f--;){for(;I>B+x;){if(y++,B+=x,k=A-B,k=k>x?x:k,(m=1<<(C=I-B))>f+1&&(m-=f+1,S=I,k>C))for(;++C<k&&(m<<=1)>i[++S];)m-=i[S];if(k=1<<C,p[0]+k>1440)return-3;r[y]=E=p[0],p[0]+=k,0!==y?(o[y]=v,n[0]=C,n[1]=x,C=v>>>B-x,n[2]=E-r[y-1]-C,u.set(n,3*(r[y-1]+C))):h[0]=E}for(n[1]=I-B,a>M?s>g[M]?(n[0]=256>g[M]?0:96,n[2]=g[M++]):(n[0]=c[g[M]-s]+16+64,n[2]=l[g[M++]-s]):n[0]=192,m=1<<I-B,C=v>>>B;k>C;C+=m)u.set(n,3*(E+C));for(C=1<<I-1;0!=(v&C);C>>>=1)v^=C;for(v^=C,w=(1<<B)-1;(v&w)!=o[y];)y--,B-=x,w=(1<<B)-1}return 0!==b&&1!=A?-5:0}function s(a){let s;for(e||(e=[],t=[],i=new Int32Array(16),n=[],r=new Int32Array(15),o=new Int32Array(16)),a>t.length&&(t=[]),s=0;a>s;s++)t[s]=0;for(s=0;16>s;s++)i[s]=0;for(s=0;3>s;s++)n[s]=0;r.set(i.subarray(0,15),0),o.set(i.subarray(0,16),0)}this.inflate_trees_bits=function(i,n,r,o,l){let c;return s(19),e[0]=0,c=a(i,0,19,19,null,null,r,n,o,e,t),-3==c?l.msg="oversubscribed dynamic bit lengths tree":-5!=c&&0!==n[0]||(l.msg="incomplete dynamic bit lengths tree",c=-3),c},this.inflate_trees_dynamic=function(i,n,r,o,l,c,h,d,u){let p;return s(288),e[0]=0,p=a(r,0,i,257,q,Z,c,o,d,e,t),0!=p||0===o[0]?(-3==p?u.msg="oversubscribed literal/length tree":-4!=p&&(u.msg="incomplete literal/length tree",p=-3),p):(s(288),p=a(r,i,n,0,X,_,h,l,d,e,t),0!=p||0===l[0]&&i>257?(-3==p?u.msg="oversubscribed distance tree":-5==p?(u.msg="incomplete distance tree",p=-3):-4!=p&&(u.msg="empty distance tree with lengths",p=-3),p):0)}}function ee(){const e=this;let t,i,n,r,o=0,a=0,s=0,l=0,c=0,h=0,d=0,u=0,p=0,g=0;function f(e,t,i,n,r,o,a,s){let l,c,h,d,u,p,g,f,m,A,y,v,C,I,x,w;g=s.next_in_index,f=s.avail_in,u=a.bitb,p=a.bitk,m=a.write,A=a.read>m?a.read-m-1:a.end-m,y=W[e],v=W[t];do{for(;20>p;)f--,u|=(255&s.read_byte(g++))<<p,p+=8;if(l=u&y,c=i,h=n,w=3*(h+l),0!==(d=c[w]))for(;;){if(u>>=c[w+1],p-=c[w+1],0!=(16&d)){for(d&=15,C=c[w+2]+(u&W[d]),u>>=d,p-=d;15>p;)f--,u|=(255&s.read_byte(g++))<<p,p+=8;for(l=u&v,c=r,h=o,w=3*(h+l),d=c[w];;){if(u>>=c[w+1],p-=c[w+1],0!=(16&d)){for(d&=15;d>p;)f--,u|=(255&s.read_byte(g++))<<p,p+=8;if(I=c[w+2]+(u&W[d]),u>>=d,p-=d,A-=C,m<I){x=m-I;do{x+=a.end}while(0>x);if(d=a.end-x,C>d){if(C-=d,m-x>0&&d>m-x)do{a.window[m++]=a.window[x++]}while(0!=--d);else a.window.set(a.window.subarray(x,x+d),m),m+=d,x+=d,d=0;x=0}}else x=m-I,m-x>0&&2>m-x?(a.window[m++]=a.window[x++],a.window[m++]=a.window[x++],C-=2):(a.window.set(a.window.subarray(x,x+2),m),m+=2,x+=2,C-=2);if(m-x>0&&C>m-x)do{a.window[m++]=a.window[x++]}while(0!=--C);else a.window.set(a.window.subarray(x,x+C),m),m+=C,x+=C,C=0;break}if(0!=(64&d))return s.msg="invalid distance code",C=s.avail_in-f,C=C>p>>3?p>>3:C,f+=C,g-=C,p-=C<<3,a.bitb=u,a.bitk=p,s.avail_in=f,s.total_in+=g-s.next_in_index,s.next_in_index=g,a.write=m,-3;l+=c[w+2],l+=u&W[d],w=3*(h+l),d=c[w]}break}if(0!=(64&d))return 0!=(32&d)?(C=s.avail_in-f,C=C>p>>3?p>>3:C,f+=C,g-=C,p-=C<<3,a.bitb=u,a.bitk=p,s.avail_in=f,s.total_in+=g-s.next_in_index,s.next_in_index=g,a.write=m,1):(s.msg="invalid literal/length code",C=s.avail_in-f,C=C>p>>3?p>>3:C,f+=C,g-=C,p-=C<<3,a.bitb=u,a.bitk=p,s.avail_in=f,s.total_in+=g-s.next_in_index,s.next_in_index=g,a.write=m,-3);if(l+=c[w+2],l+=u&W[d],w=3*(h+l),0===(d=c[w])){u>>=c[w+1],p-=c[w+1],a.window[m++]=c[w+2],A--;break}}else u>>=c[w+1],p-=c[w+1],a.window[m++]=c[w+2],A--}while(A>=258&&f>=10);return C=s.avail_in-f,C=C>p>>3?p>>3:C,f+=C,g-=C,p-=C<<3,a.bitb=u,a.bitk=p,s.avail_in=f,s.total_in+=g-s.next_in_index,s.next_in_index=g,a.write=m,0}e.init=function(e,o,a,s,l,c){t=0,d=e,u=o,n=a,p=s,r=l,g=c,i=null},e.proc=function(e,m,A){let y,v,C,I,x,w,M,E=0,B=0,S=0;for(S=m.next_in_index,I=m.avail_in,E=e.bitb,B=e.bitk,x=e.write,w=e.read>x?e.read-x-1:e.end-x;;)switch(t){case 0:if(w>=258&&I>=10&&(e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,A=f(d,u,n,p,r,g,e,m),S=m.next_in_index,I=m.avail_in,E=e.bitb,B=e.bitk,x=e.write,w=e.read>x?e.read-x-1:e.end-x,0!=A)){t=1==A?7:9;break}s=d,i=n,a=p,t=1;case 1:for(y=s;y>B;){if(0===I)return e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);A=0,I--,E|=(255&m.read_byte(S++))<<B,B+=8}if(v=3*(a+(E&W[y])),E>>>=i[v+1],B-=i[v+1],C=i[v],0===C){l=i[v+2],t=6;break}if(0!=(16&C)){c=15&C,o=i[v+2],t=2;break}if(0==(64&C)){s=C,a=v/3+i[v+2];break}if(0!=(32&C)){t=7;break}return t=9,m.msg="invalid literal/length code",A=-3,e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);case 2:for(y=c;y>B;){if(0===I)return e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);A=0,I--,E|=(255&m.read_byte(S++))<<B,B+=8}o+=E&W[y],E>>=y,B-=y,s=u,i=r,a=g,t=3;case 3:for(y=s;y>B;){if(0===I)return e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);A=0,I--,E|=(255&m.read_byte(S++))<<B,B+=8}if(v=3*(a+(E&W[y])),E>>=i[v+1],B-=i[v+1],C=i[v],0!=(16&C)){c=15&C,h=i[v+2],t=4;break}if(0==(64&C)){s=C,a=v/3+i[v+2];break}return t=9,m.msg="invalid distance code",A=-3,e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);case 4:for(y=c;y>B;){if(0===I)return e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);A=0,I--,E|=(255&m.read_byte(S++))<<B,B+=8}h+=E&W[y],E>>=y,B-=y,t=5;case 5:for(M=x-h;0>M;)M+=e.end;for(;0!==o;){if(0===w&&(x==e.end&&0!==e.read&&(x=0,w=e.read>x?e.read-x-1:e.end-x),0===w&&(e.write=x,A=e.inflate_flush(m,A),x=e.write,w=e.read>x?e.read-x-1:e.end-x,x==e.end&&0!==e.read&&(x=0,w=e.read>x?e.read-x-1:e.end-x),0===w)))return e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);e.window[x++]=e.window[M++],w--,M==e.end&&(M=0),o--}t=0;break;case 6:if(0===w&&(x==e.end&&0!==e.read&&(x=0,w=e.read>x?e.read-x-1:e.end-x),0===w&&(e.write=x,A=e.inflate_flush(m,A),x=e.write,w=e.read>x?e.read-x-1:e.end-x,x==e.end&&0!==e.read&&(x=0,w=e.read>x?e.read-x-1:e.end-x),0===w)))return e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);A=0,e.window[x++]=l,w--,t=0;break;case 7:if(B>7&&(B-=8,I++,S--),e.write=x,A=e.inflate_flush(m,A),x=e.write,w=e.read>x?e.read-x-1:e.end-x,e.read!=e.write)return e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);t=8;case 8:return A=1,e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);case 9:return A=-3,e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A);default:return A=-2,e.bitb=E,e.bitk=B,m.avail_in=I,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=x,e.inflate_flush(m,A)}},e.free=function(){}}$.inflate_trees_fixed=function(e,t,i,n){return e[0]=9,t[0]=5,i[0]=J,n[0]=z,0};const te=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function ie(e,t){const i=this;let n,r=0,o=0,a=0,s=0;const l=[0],c=[0],h=new ee;let d=0,u=new Int32Array(4320);const p=new $;i.bitk=0,i.bitb=0,i.window=new Uint8Array(t),i.end=t,i.read=0,i.write=0,i.reset=function(e,t){t&&(t[0]=0),6==r&&h.free(e),r=0,i.bitk=0,i.bitb=0,i.read=i.write=0},i.reset(e,null),i.inflate_flush=function(e,t){let n,r,o;return r=e.next_out_index,o=i.read,n=(o>i.write?i.end:i.write)-o,n>e.avail_out&&(n=e.avail_out),0!==n&&-5==t&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(i.window.subarray(o,o+n),r),r+=n,o+=n,o==i.end&&(o=0,i.write==i.end&&(i.write=0),n=i.write-o,n>e.avail_out&&(n=e.avail_out),0!==n&&-5==t&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(i.window.subarray(o,o+n),r),r+=n,o+=n),e.next_out_index=r,i.read=o,t},i.proc=function(e,t){let g,f,m,A,y,v,C,I;for(A=e.next_in_index,y=e.avail_in,f=i.bitb,m=i.bitk,v=i.write,C=i.read>v?i.read-v-1:i.end-v;;){let x,w,M,E,B,S,b,k;switch(r){case 0:for(;3>m;){if(0===y)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);t=0,y--,f|=(255&e.read_byte(A++))<<m,m+=8}switch(g=7&f,d=1&g,g>>>1){case 0:f>>>=3,m-=3,g=7&m,f>>>=g,m-=g,r=1;break;case 1:x=[],w=[],M=[[]],E=[[]],$.inflate_trees_fixed(x,w,M,E),h.init(x[0],w[0],M[0],0,E[0],0),f>>>=3,m-=3,r=6;break;case 2:f>>>=3,m-=3,r=3;break;case 3:return f>>>=3,m-=3,r=9,e.msg="invalid block type",t=-3,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t)}break;case 1:for(;32>m;){if(0===y)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);t=0,y--,f|=(255&e.read_byte(A++))<<m,m+=8}if((~f>>>16&65535)!=(65535&f))return r=9,e.msg="invalid stored block lengths",t=-3,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);o=65535&f,f=m=0,r=0!==o?2:0!==d?7:0;break;case 2:if(0===y)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);if(0===C&&(v==i.end&&0!==i.read&&(v=0,C=i.read>v?i.read-v-1:i.end-v),0===C&&(i.write=v,t=i.inflate_flush(e,t),v=i.write,C=i.read>v?i.read-v-1:i.end-v,v==i.end&&0!==i.read&&(v=0,C=i.read>v?i.read-v-1:i.end-v),0===C)))return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);if(t=0,g=o,g>y&&(g=y),g>C&&(g=C),i.window.set(e.read_buf(A,g),v),A+=g,y-=g,v+=g,C-=g,0!=(o-=g))break;r=0!==d?7:0;break;case 3:for(;14>m;){if(0===y)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);t=0,y--,f|=(255&e.read_byte(A++))<<m,m+=8}if(a=g=16383&f,(31&g)>29||(g>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=-3,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);if(g=258+(31&g)+(g>>5&31),!n||g>n.length)n=[];else for(I=0;g>I;I++)n[I]=0;f>>>=14,m-=14,s=0,r=4;case 4:for(;4+(a>>>10)>s;){for(;3>m;){if(0===y)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);t=0,y--,f|=(255&e.read_byte(A++))<<m,m+=8}n[te[s++]]=7&f,f>>>=3,m-=3}for(;19>s;)n[te[s++]]=0;if(l[0]=7,g=p.inflate_trees_bits(n,l,c,u,e),0!=g)return-3==(t=g)&&(n=null,r=9),i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);s=0,r=5;case 5:for(;g=a,s<258+(31&g)+(g>>5&31);){let o,h;for(g=l[0];g>m;){if(0===y)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);t=0,y--,f|=(255&e.read_byte(A++))<<m,m+=8}if(g=u[3*(c[0]+(f&W[g]))+1],h=u[3*(c[0]+(f&W[g]))+2],16>h)f>>>=g,m-=g,n[s++]=h;else{for(I=18==h?7:h-14,o=18==h?11:3;g+I>m;){if(0===y)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);t=0,y--,f|=(255&e.read_byte(A++))<<m,m+=8}if(f>>>=g,m-=g,o+=f&W[I],f>>>=I,m-=I,I=s,g=a,I+o>258+(31&g)+(g>>5&31)||16==h&&1>I)return n=null,r=9,e.msg="invalid bit length repeat",t=-3,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);h=16==h?n[I-1]:0;do{n[I++]=h}while(0!=--o);s=I}}if(c[0]=-1,B=[],S=[],b=[],k=[],B[0]=9,S[0]=6,g=a,g=p.inflate_trees_dynamic(257+(31&g),1+(g>>5&31),n,B,S,b,k,u,e),0!=g)return-3==g&&(n=null,r=9),t=g,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);h.init(B[0],S[0],u,b[0],u,k[0]),r=6;case 6:if(i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,1!=(t=h.proc(i,e,t)))return i.inflate_flush(e,t);if(t=0,h.free(e),A=e.next_in_index,y=e.avail_in,f=i.bitb,m=i.bitk,v=i.write,C=i.read>v?i.read-v-1:i.end-v,0===d){r=0;break}r=7;case 7:if(i.write=v,t=i.inflate_flush(e,t),v=i.write,C=i.read>v?i.read-v-1:i.end-v,i.read!=i.write)return i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);r=8;case 8:return t=1,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);case 9:return t=-3,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t);default:return t=-2,i.bitb=f,i.bitk=m,e.avail_in=y,e.total_in+=A-e.next_in_index,e.next_in_index=A,i.write=v,i.inflate_flush(e,t)}}},i.free=function(e){i.reset(e,null),i.window=null,u=null},i.set_dictionary=function(e,t,n){i.window.set(e.subarray(t,t+n),0),i.read=i.write=n},i.sync_point=function(){return 1==r?1:0}}const ne=[0,0,255,255];function re(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):-2}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(t){return e.blocks&&e.blocks.free(t),e.blocks=null,0},e.inflateInit=function(i,n){return i.msg=null,e.blocks=null,8>n||n>15?(e.inflateEnd(i),-2):(e.wbits=n,i.istate.blocks=new ie(i,1<<n),t(i),0)},e.inflate=function(e,t){let i,n;if(!e||!e.istate||!e.next_in)return-2;const r=e.istate;for(t=4==t?-5:0,i=-5;;)switch(r.mode){case 0:if(0===e.avail_in)return i;if(i=t,e.avail_in--,e.total_in++,8!=(15&(r.method=e.read_byte(e.next_in_index++)))){r.mode=13,e.msg="unknown compression method",r.marker=5;break}if(8+(r.method>>4)>r.wbits){r.mode=13,e.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return i;if(i=t,e.avail_in--,e.total_in++,n=255&e.read_byte(e.next_in_index++),((r.method<<8)+n)%31!=0){r.mode=13,e.msg="incorrect header check",r.marker=5;break}if(0==(32&n)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return i;i=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return i;i=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return i;i=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?i:(i=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=13,e.msg="need dictionary",r.marker=0,-2;case 7:if(i=r.blocks.proc(e,i),-3==i){r.mode=13,r.marker=0;break}if(0==i&&(i=t),1!=i)return i;i=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return 1;case 13:return-3;default:return-2}},e.inflateSetDictionary=function(e,t,i){let n=0,r=i;if(!e||!e.istate||6!=e.istate.mode)return-2;const o=e.istate;return r>=1<<o.wbits&&(r=(1<<o.wbits)-1,n=i-r),o.blocks.set_dictionary(t,n,r),o.mode=7,0},e.inflateSync=function(e){let i,n,r,o,a;if(!e||!e.istate)return-2;const s=e.istate;if(13!=s.mode&&(s.mode=13,s.marker=0),0===(i=e.avail_in))return-5;for(n=e.next_in_index,r=s.marker;0!==i&&4>r;)e.read_byte(n)==ne[r]?r++:r=0!==e.read_byte(n)?0:4-r,n++,i--;return e.total_in+=n-e.next_in_index,e.next_in_index=n,e.avail_in=i,s.marker=r,4!=r?-3:(o=e.total_in,a=e.total_out,t(e),e.total_in=o,e.total_out=a,s.mode=7,0)},e.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():-2}}function oe(){}function ae(e){const t=new oe,i=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,n=new Uint8Array(i);let r=!1;t.inflateInit(),t.next_out=n,this.append=function(e,o){const a=[];let s,l,c=0,h=0,d=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=i,0!==t.avail_in||r||(t.next_in_index=0,r=!0),s=t.inflate(0),r&&-5===s){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(0!==s&&1!==s)throw new Error("inflating: "+t.msg);if((r||1===s)&&t.avail_in===e.length)throw new Error("inflating: bad input");t.next_out_index&&a.push(t.next_out_index===i?new Uint8Array(n):n.slice(0,t.next_out_index)),d+=t.next_out_index,o&&t.next_in_index>0&&t.next_in_index!=c&&(o(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return a.length>1?(l=new Uint8Array(d),a.forEach((function(e){l.set(e,h),h+=e.length}))):l=a[0]||new Uint8Array(0),l}},this.flush=function(){t.inflateEnd()}}oe.prototype={inflateInit:function(e){const t=this;return t.istate=new re,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd:function(){const e=this;if(!e.istate)return-2;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary:function(e,t){const i=this;return i.istate?i.istate.inflateSetDictionary(i,e,t):-2},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=j,self.Inflate=ae}}).toString(),t=URL.createObjectURL(new Blob(["("+e+")()"],{type:"text/javascript"}));TI({workerScripts:{inflate:[t],deflate:[t]}})}})();var jx=function(e){lu(i,e);var t=pu(i);function i(){return ru(this,i),t.call(this)}return au(i,[{key:"addGroupInstanced",value:function(e,t,i,n){this.groups.push({start:e,count:t,materialIndex:void 0!==i?i:0,instanceIndex:n})}}]),i}(Ni);jx.prototype.isBufferGeometry=!0;var Wx=function(e){lu(i,e);var t=pu(i);function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new jx,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new gi;return ru(this,i),t.call(this,e,n)}return i}(nn),Jx=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).dracoLoader=null,n.ktx2Loader=null,n.meshoptDecoder=null,n.pluginCallbacks=[],n.register((function(e){return new _x(e)})),n.register((function(e){return new ew(e)})),n.register((function(e){return new tw(e)})),n.register((function(e){return new $x(e)})),n.register((function(e){return new Zx(e)})),n.register((function(e){return new iw(e)})),n}return au(i,[{key:"load",value:function(e,t,i,n){var r,o=this;r=""!==this.resourcePath?this.resourcePath:""!==this.path?this.path:Ic.extractUrlBase(e),this.manager.itemStart(e);var a=function(t){n?n(t):console.error(t),o.manager.itemError(e),o.manager.itemEnd(e)},s=new Bl(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,(function(i){try{o.parse(i,r,(function(i){t(i),o.manager.itemEnd(e)}),a)}catch(e){a(e)}}),i,a)}},{key:"setDRACOLoader",value:function(e){return this.dracoLoader=e,this}},{key:"setDDSLoader",value:function(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}},{key:"setKTX2Loader",value:function(e){return this.ktx2Loader=e,this}},{key:"setMeshoptDecoder",value:function(e){return this.meshoptDecoder=e,this}},{key:"register",value:function(e){return-1===this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.push(e),this}},{key:"unregister",value:function(e){return-1!==this.pluginCallbacks.indexOf(e)&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}},{key:"parse",value:function(e,t,i,n){var r,o={},a={};if("string"==typeof e)r=e;else if(Ic.decodeText(new Uint8Array(e,0,4))===nw){try{o[qx.KHR_BINARY_GLTF]=new aw(e)}catch(e){return void(n&&n(e))}r=o[qx.KHR_BINARY_GLTF].content}else r=Ic.decodeText(new Uint8Array(e));var s=JSON.parse(r);if(void 0===s.asset||s.asset.version[0]<2)n&&n(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));else{var l=new Lw(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});l.fileLoader.setRequestHeader(this.requestHeader);for(var c=0;this.pluginCallbacks.length>c;c++){var h=this.pluginCallbacks[c](l);a[h.name]=h,o[h.name]=!0}if(s.extensionsUsed)for(var d=0;s.extensionsUsed.length>d;++d){var u=s.extensionsUsed[d],p=s.extensionsRequired||[];switch(u){case qx.KHR_MATERIALS_UNLIT:o[u]=new Xx;break;case qx.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:o[u]=new hw;break;case qx.KHR_DRACO_MESH_COMPRESSION:o[u]=new sw(s,this.dracoLoader);break;case qx.KHR_TEXTURE_TRANSFORM:o[u]=new lw;break;case qx.KHR_MESH_QUANTIZATION:o[u]=new dw;break;default:0>p.indexOf(u)||void 0!==a[u]||console.warn('THREE.GLTFLoader: Unknown extension "'+u+'".')}}l.setExtensions(o),l.setPlugins(a),l.parse(i,n)}}}]),i}(Ml);function zx(){var e={};return{get:function(t){return e[t]},add:function(t,i){e[t]=i},remove:function(t){delete e[t]},removeAll:function(){e={}}}}var qx={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:"KHR_materials_pbrSpecularGlossiness",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression"},Zx=function(){function e(t){ru(this,e),this.parser=t,this.name=qx.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}return au(e,[{key:"_markDefs",value:function(){for(var e=this.parser,t=this.parser.json.nodes||[],i=0,n=t.length;n>i;i++){var r=t[i];r.extensions&&r.extensions[this.name]&&void 0!==r.extensions[this.name].light&&e._addNodeRef(this.cache,r.extensions[this.name].light)}}},{key:"_loadLight",value:function(e){var t=this.parser,i="light:"+e,n=t.cache.get(i);if(n)return n;var r,o=t.json,a=((o.extensions&&o.extensions[this.name]||{}).lights||[])[e],s=new pi(16777215);void 0!==a.color&&s.fromArray(a.color);var l=void 0!==a.range?a.range:0;switch(a.type){case"directional":(r=new fc(s)).target.position.set(0,0,-1),r.add(r.target);break;case"point":(r=new uc(s)).distance=l;break;case"spot":(r=new sc(s)).distance=l,a.spot=a.spot||{},a.spot.innerConeAngle=void 0!==a.spot.innerConeAngle?a.spot.innerConeAngle:0,a.spot.outerConeAngle=void 0!==a.spot.outerConeAngle?a.spot.outerConeAngle:Math.PI/4,r.angle=a.spot.outerConeAngle,r.penumbra=1-a.spot.innerConeAngle/a.spot.outerConeAngle,r.target.position.set(0,0,-1),r.add(r.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+a.type)}return r.position.set(0,0,0),r.decay=2,void 0!==a.intensity&&(r.intensity=a.intensity),r.name=t.createUniqueName(a.name||"light_"+e),n=Promise.resolve(r),t.cache.add(i,n),n}},{key:"createNodeAttachment",value:function(e){var t=this,i=this.parser,n=i.json.nodes[e],r=(n.extensions&&n.extensions[this.name]||{}).light;return void 0===r?null:this._loadLight(r).then((function(e){return i._getNodeRef(t.cache,r,e)}))}}]),e}(),Xx=function(){function e(){ru(this,e),this.name=qx.KHR_MATERIALS_UNLIT}return au(e,[{key:"getMaterialType",value:function(){return gi}},{key:"extendParams",value:function(e,t,i){var n=[];e.color=new pi(1,1,1),e.opacity=1;var r=t.pbrMetallicRoughness;if(r){if(Array.isArray(r.baseColorFactor)){var o=r.baseColorFactor;e.color.fromArray(o),e.opacity=o[3]}void 0!==r.baseColorTexture&&n.push(i.assignTexture(e,"map",r.baseColorTexture))}return Promise.all(n)}}]),e}(),_x=function(){function e(t){ru(this,e),this.parser=t,this.name=qx.KHR_MATERIALS_CLEARCOAT}return au(e,[{key:"getMaterialType",value:function(e){var t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?_s:null}},{key:"extendMaterialParams",value:function(e,t){var i=this.parser,n=i.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();var r=[],o=n.extensions[this.name];if(void 0!==o.clearcoatFactor&&(t.clearcoat=o.clearcoatFactor),void 0!==o.clearcoatTexture&&r.push(i.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),void 0!==o.clearcoatRoughnessFactor&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),void 0!==o.clearcoatRoughnessTexture&&r.push(i.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),void 0!==o.clearcoatNormalTexture&&(r.push(i.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),void 0!==o.clearcoatNormalTexture.scale)){var a=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new ke(a,-a)}return Promise.all(r)}}]),e}(),$x=function(){function e(t){ru(this,e),this.parser=t,this.name=qx.KHR_MATERIALS_TRANSMISSION}return au(e,[{key:"getMaterialType",value:function(e){var t=this.parser.json.materials[e];return t.extensions&&t.extensions[this.name]?_s:null}},{key:"extendMaterialParams",value:function(e,t){var i=this.parser,n=i.json.materials[e];if(!n.extensions||!n.extensions[this.name])return Promise.resolve();var r=[],o=n.extensions[this.name];return void 0!==o.transmissionFactor&&(t.transmission=o.transmissionFactor),void 0!==o.transmissionTexture&&r.push(i.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(r)}}]),e}(),ew=function(){function e(t){ru(this,e),this.parser=t,this.name=qx.KHR_TEXTURE_BASISU}return au(e,[{key:"loadTexture",value:function(e){var t=this.parser,i=t.json,n=i.textures[e];if(!n.extensions||!n.extensions[this.name])return null;var r=i.images[n.extensions[this.name].source],o=t.options.ktx2Loader;if(!o){if(i.extensionsRequired&&i.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,r,o)}}]),e}(),tw=function(){function e(t){ru(this,e),this.parser=t,this.name=qx.EXT_TEXTURE_WEBP,this.isSupported=null}return au(e,[{key:"loadTexture",value:function(e){var t=this.name,i=this.parser,n=i.json,r=n.textures[e];if(!r.extensions||!r.extensions[t])return null;var o=n.images[r.extensions[t].source],a=i.textureLoader;if(o.uri){var s=i.options.manager.getHandler(o.uri);null!==s&&(a=s)}return this.detectSupport().then((function(r){if(r)return i.loadTextureImage(e,o,a);if(n.extensionsRequired&&n.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return i.loadTexture(e)}))}},{key:"detectSupport",value:function(){return this.isSupported||(this.isSupported=new Promise((function(e){var t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(1===t.height)}}))),this.isSupported}}]),e}(),iw=function(){function e(t){ru(this,e),this.name=qx.EXT_MESHOPT_COMPRESSION,this.parser=t}return au(e,[{key:"loadBufferView",value:function(e){var t=this.parser.json,i=t.bufferViews[e];if(i.extensions&&i.extensions[this.name]){var n=i.extensions[this.name],r=this.parser.getDependency("buffer",n.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return Promise.all([r,o.ready]).then((function(e){var t=n.byteOffset||0,i=n.byteLength||0,r=n.count,a=n.byteStride,s=new ArrayBuffer(r*a),l=new Uint8Array(e[0],t,i);return o.decodeGltfBuffer(new Uint8Array(s),r,a,l,n.mode,n.filter),s}))}return null}}]),e}(),nw="glTF",rw=1313821514,ow=5130562,aw=function e(t){ru(this,e),this.name=qx.KHR_BINARY_GLTF,this.content=null,this.body=null;var i=new DataView(t,0,12);if(this.header={magic:Ic.decodeText(new Uint8Array(t.slice(0,4))),version:i.getUint32(4,!0),length:i.getUint32(8,!0)},this.header.magic!==nw)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 n=this.header.length-12,r=new DataView(t,12),o=0;n>o;){var a=r.getUint32(o,!0),s=r.getUint32(o+=4,!0);if(o+=4,s===rw){var l=new Uint8Array(t,12+o,a);this.content=Ic.decodeText(l)}else if(s===ow){var c=12+o;this.body=t.slice(c,c+a)}o+=a}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")},sw=function(){function e(t,i){if(ru(this,e),!i)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=qx.KHR_DRACO_MESH_COMPRESSION,this.json=t,this.dracoLoader=i,this.dracoLoader.preload()}return au(e,[{key:"decodePrimitive",value:function(e,t){var i=this.json,n=this.dracoLoader,r=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,a={},s={},l={};for(var c in o){var h=Mw[c]||c.toLowerCase();a[h]=o[c]}for(var d in e.attributes){var u=Mw[d]||d.toLowerCase();if(void 0!==o[d]){var p=i.accessors[e.attributes[d]];l[u]=Cw[p.componentType],s[u]=!0===p.normalized}}return t.getDependency("bufferView",r).then((function(e){return new Promise((function(t){n.decodeDracoFile(e,(function(e){for(var i in e.attributes){var n=s[i];void 0!==n&&(e.attributes[i].normalized=n)}t(e)}),a,l)}))}))}}]),e}(),lw=function(){function e(){ru(this,e),this.name=qx.KHR_TEXTURE_TRANSFORM}return au(e,[{key:"extendTexture",value:function(e,t){return void 0!==t.texCoord&&console.warn('THREE.GLTFLoader: Custom UV sets in "'+this.name+'" extension not yet supported.'),void 0===t.offset&&void 0===t.rotation&&void 0===t.scale||(e=e.clone(),void 0!==t.offset&&e.offset.fromArray(t.offset),void 0!==t.rotation&&(e.rotation=t.rotation),void 0!==t.scale&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}]),e}(),cw=function(e){lu(i,e);var t=pu(i);function i(e){var n;ru(this,i),(n=t.call(this)).isGLTFSpecularGlossinessMaterial=!0;var r=["#ifdef USE_SPECULARMAP","\tuniform sampler2D specularMap;","#endif"].join("\n"),o=["#ifdef USE_GLOSSINESSMAP","\tuniform sampler2D glossinessMap;","#endif"].join("\n"),a=["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"),s=["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"),l=["PhysicalMaterial material;","material.diffuseColor = diffuseColor.rgb * ( 1. - max( specularFactor.r, max( specularFactor.g, specularFactor.b ) ) );","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;"].join("\n"),c={specular:{value:(new pi).setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};return n._extraUniforms=c,n.onBeforeCompile=function(e){for(var t in c)e.uniforms[t]=c[t];e.fragmentShader=e.fragmentShader.replace("uniform float roughness;","uniform vec3 specular;").replace("uniform float metalness;","uniform float glossiness;").replace("#include <roughnessmap_pars_fragment>",r).replace("#include <metalnessmap_pars_fragment>",o).replace("#include <roughnessmap_fragment>",a).replace("#include <metalnessmap_fragment>",s).replace("#include <lights_physical_fragment>",l)},Object.defineProperties(du(n),{specular:{get:function(){return c.specular.value},set:function(e){c.specular.value=e}},specularMap:{get:function(){return c.specularMap.value},set:function(e){c.specularMap.value=e,e?this.defines.USE_SPECULARMAP="":delete this.defines.USE_SPECULARMAP}},glossiness:{get:function(){return c.glossiness.value},set:function(e){c.glossiness.value=e}},glossinessMap:{get:function(){return c.glossinessMap.value},set:function(e){c.glossinessMap.value=e,e?(this.defines.USE_GLOSSINESSMAP="",this.defines.USE_UV=""):(delete this.defines.USE_GLOSSINESSMAP,delete this.defines.USE_UV)}}}),delete n.metalness,delete n.roughness,delete n.metalnessMap,delete n.roughnessMap,n.setValues(e),n}return au(i,[{key:"copy",value:function(e){return gu(cu(i.prototype),"copy",this).call(this,e),this.specularMap=e.specularMap,this.specular.copy(e.specular),this.glossinessMap=e.glossinessMap,this.glossiness=e.glossiness,delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this}}]),i}(Xs),hw=function(){function e(){ru(this,e),this.name=qx.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS,this.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"]}return au(e,[{key:"getMaterialType",value:function(){return cw}},{key:"extendParams",value:function(e,t,i){var n=t.extensions[this.name];e.color=new pi(1,1,1),e.opacity=1;var r=[];if(Array.isArray(n.diffuseFactor)){var o=n.diffuseFactor;e.color.fromArray(o),e.opacity=o[3]}if(void 0!==n.diffuseTexture&&r.push(i.assignTexture(e,"map",n.diffuseTexture)),e.emissive=new pi(0,0,0),e.glossiness=void 0!==n.glossinessFactor?n.glossinessFactor:1,e.specular=new pi(1,1,1),Array.isArray(n.specularFactor)&&e.specular.fromArray(n.specularFactor),void 0!==n.specularGlossinessTexture){var a=n.specularGlossinessTexture;r.push(i.assignTexture(e,"glossinessMap",a)),r.push(i.assignTexture(e,"specularMap",a))}return Promise.all(r)}},{key:"createMaterial",value:function(e){var t=new cw(e);return t.fog=!0,t.color=e.color,t.map=void 0===e.map?null:e.map,t.lightMap=null,t.lightMapIntensity=1,t.aoMap=void 0===e.aoMap?null:e.aoMap,t.aoMapIntensity=1,t.emissive=e.emissive,t.emissiveIntensity=1,t.emissiveMap=void 0===e.emissiveMap?null:e.emissiveMap,t.bumpMap=void 0===e.bumpMap?null:e.bumpMap,t.bumpScale=1,t.normalMap=void 0===e.normalMap?null:e.normalMap,t.normalMapType=0,e.normalScale&&(t.normalScale=e.normalScale),t.displacementMap=null,t.displacementScale=1,t.displacementBias=0,t.specularMap=void 0===e.specularMap?null:e.specularMap,t.specular=e.specular,t.glossinessMap=void 0===e.glossinessMap?null:e.glossinessMap,t.glossiness=e.glossiness,t.alphaMap=null,t.envMap=void 0===e.envMap?null:e.envMap,t.envMapIntensity=1,t.refractionRatio=.98,t}}]),e}(),dw=function e(){ru(this,e),this.name=qx.KHR_MESH_QUANTIZATION},uw=function(e){lu(i,e);var t=pu(i);function i(e,n,r,o){return ru(this,i),t.call(this,e,n,r,o)}return au(i,[{key:"copySampleValue_",value:function(e){for(var t=this.resultBuffer,i=this.sampleValues,n=this.valueSize,r=e*n*3+n,o=0;o!==n;o++)t[o]=i[r+o];return t}}]),i}(sl);uw.prototype.beforeStart_=uw.prototype.copySampleValue_,uw.prototype.afterEnd_=uw.prototype.copySampleValue_,uw.prototype.interpolate_=function(e,t,i,n){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=2*a,l=3*a,c=n-t,h=(i-t)/c,d=h*h,u=d*h,p=e*l,g=p-l,f=-2*u+3*d,m=u-d,A=1-f,y=m-d+h,v=0;v!==a;v++){r[v]=A*o[g+v+a]+y*(o[g+v+s]*c)+f*o[p+v+a]+m*(o[p+v]*c)}return r};var pw=0,gw=1,fw=2,mw=3,Aw=4,yw=5,vw=6,Cw={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Iw={9728:A,9729:C,9984:y,9985:I,9986:v,9987:x},xw={33071:f,33648:m,10497:g},ww={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Mw={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Ew={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Bw={CUBICSPLINE:void 0,LINEAR:H,STEP:Y},Sw="OPAQUE",bw="MASK",kw="BLEND";function Dw(e,t){return"string"!=typeof e||""===e?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}function Tw(e,t,i){for(var n in i.extensions)void 0===e[n]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[n]=i.extensions[n])}function Rw(e,t){void 0!==t.extras&&("object"===nu(t.extras)?Object.assign(e.userData,t.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function Uw(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(var i=0,n=t.weights.length;n>i;i++)e.morphTargetInfluences[i]=t.weights[i];if(t.extras&&Array.isArray(t.extras.targetNames)){var r=t.extras.targetNames;if(e.morphTargetInfluences.length===r.length){e.morphTargetDictionary={};for(var o=0,a=r.length;a>o;o++)e.morphTargetDictionary[r[o]]=o}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function Fw(e){for(var t="",i=Object.keys(e).sort(),n=0,r=i.length;r>n;n++)t+=i[n]+":"+e[i[n]]+";";return t}function Qw(e){switch(e){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}var Lw=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};ru(this,e),this.json=t,this.extensions={},this.plugins={},this.options=i,this.cache=new zx,this.associations=new Map,this.primitiveCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.textureCache={},this.nodeNamesUsed={},this.textureLoader="undefined"!=typeof createImageBitmap&&!1===/Firefox/.test(navigator.userAgent)?new bc(this.options.manager):new Dl(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Bl(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}return au(e,[{key:"setExtensions",value:function(e){this.extensions=e}},{key:"setPlugins",value:function(e){this.plugins=e}},{key:"parse",value:function(e,t){var i=this,n=this.json,r=this.extensions;this.cache.removeAll(),this._invokeAll((function(e){return e._markDefs&&e._markDefs()})),Promise.all(this._invokeAll((function(e){return e.beforeRoot&&e.beforeRoot()}))).then((function(){return Promise.all([i.getDependencies("scene"),i.getDependencies("animation"),i.getDependencies("camera")])})).then((function(t){var o={scene:t[0][n.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:n.asset,parser:i,userData:{}};Tw(r,o,n),Rw(o,n),Promise.all(i._invokeAll((function(e){return e.afterRoot&&e.afterRoot(o)}))).then((function(){e(o)}))})).catch(t)}},{key:"_markDefs",value:function(){for(var e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[],n=0,r=t.length;r>n;n++)for(var o=t[n].joints,a=0,s=o.length;s>a;a++)e[o[a]].isBone=!0;for(var l=0,c=e.length;c>l;l++){var h=e[l];void 0!==h.mesh&&(this._addNodeRef(this.meshCache,h.mesh),void 0!==h.skin&&(i[h.mesh].isSkinnedMesh=!0)),void 0!==h.camera&&this._addNodeRef(this.cameraCache,h.camera)}}},{key:"_addNodeRef",value:function(e,t){void 0!==t&&(void 0===e.refs[t]&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}},{key:"_getNodeRef",value:function(e,t,i){if(1>=e.refs[t])return i;var n=i.clone();return n.name+="_instance_"+e.uses[t]++,n}},{key:"_invokeOne",value:function(e){var t=Object.values(this.plugins);t.push(this);for(var i=0;t.length>i;i++){var n=e(t[i]);if(n)return n}return null}},{key:"_invokeAll",value:function(e){var t=Object.values(this.plugins);t.unshift(this);for(var i=[],n=0;t.length>n;n++){var r=e(t[n]);r&&i.push(r)}return i}},{key:"getDependency",value:function(e,t){var i=e+":"+t,n=this.cache.get(i);if(!n){switch(e){case"scene":n=this.loadScene(t);break;case"node":n=this.loadNode(t);break;case"mesh":n=this._invokeOne((function(e){return e.loadMesh&&e.loadMesh(t)}));break;case"accessor":n=this.loadAccessor(t);break;case"bufferView":n=this._invokeOne((function(e){return e.loadBufferView&&e.loadBufferView(t)}));break;case"buffer":n=this.loadBuffer(t);break;case"material":n=this._invokeOne((function(e){return e.loadMaterial&&e.loadMaterial(t)}));break;case"texture":n=this._invokeOne((function(e){return e.loadTexture&&e.loadTexture(t)}));break;case"skin":n=this.loadSkin(t);break;case"animation":n=this.loadAnimation(t);break;case"camera":n=this.loadCamera(t);break;default:throw new Error("Unknown type: "+e)}this.cache.add(i,n)}return n}},{key:"getDependencies",value:function(e){var t=this.cache.get(e);if(!t){var i=this;t=Promise.all((this.json[e+("mesh"===e?"es":"s")]||[]).map((function(t,n){return i.getDependency(e,n)}))),this.cache.add(e,t)}return t}},{key:"loadBuffer",value:function(e){var t=this.json.buffers[e],i=this.fileLoader;if(t.type&&"arraybuffer"!==t.type)throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(void 0===t.uri&&0===e)return Promise.resolve(this.extensions[qx.KHR_BINARY_GLTF].body);var n=this.options;return new Promise((function(e,r){i.load(Dw(t.uri,n.path),e,void 0,(function(){r(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))}))}))}},{key:"loadBufferView",value:function(e){var t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then((function(e){var i=t.byteOffset||0;return e.slice(i,i+(t.byteLength||0))}))}},{key:"loadAccessor",value:function(e){var t=this,i=this.json,n=this.json.accessors[e];if(void 0===n.bufferView&&void 0===n.sparse)return Promise.resolve(null);var r=[];return r.push(void 0!==n.bufferView?this.getDependency("bufferView",n.bufferView):null),void 0!==n.sparse&&(r.push(this.getDependency("bufferView",n.sparse.indices.bufferView)),r.push(this.getDependency("bufferView",n.sparse.values.bufferView))),Promise.all(r).then((function(e){var r,o,a=e[0],s=ww[n.type],l=Cw[n.componentType],c=l.BYTES_PER_ELEMENT,h=n.byteOffset||0,d=void 0!==n.bufferView?i.bufferViews[n.bufferView].byteStride:void 0,u=!0===n.normalized;if(d&&d!==c*s){var p=Math.floor(h/d),g="InterleavedBuffer:"+n.bufferView+":"+n.componentType+":"+p+":"+n.count,f=t.cache.get(g);f||(r=new l(a,p*d,n.count*d/c),f=new Yo(r,d/c),t.cache.add(g,f)),o=new jo(f,s,h%d/c,u)}else r=null===a?new l(n.count*s):new l(a,h,n.count*s),o=new Ai(r,s,u);if(void 0!==n.sparse){var m=n.sparse.values.byteOffset||0,A=new(0,Cw[n.sparse.indices.componentType])(e[1],n.sparse.indices.byteOffset||0,n.sparse.count*ww.SCALAR),y=new l(e[2],m,n.sparse.count*s);null!==a&&(o=new Ai(o.array.slice(),o.itemSize,o.normalized));for(var v=0,C=A.length;C>v;v++){var I=A[v];if(o.setX(I,y[v*s]),2>s||o.setY(I,y[v*s+1]),3>s||o.setZ(I,y[v*s+2]),4>s||o.setW(I,y[v*s+3]),s>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return o}))}},{key:"loadTexture",value:function(e){var t=this.json,i=t.images[t.textures[e].source],n=this.textureLoader;if(i.uri){var r=this.options.manager.getHandler(i.uri);null!==r&&(n=r)}return this.loadTextureImage(e,i,n)}},{key:"loadTextureImage",value:function(e,t,i){var n=this,r=this.json,o=this.options,a=r.textures[e],s=(t.uri||t.bufferView)+":"+a.sampler;if(this.textureCache[s])return this.textureCache[s];var l=self.URL||self.webkitURL,c=t.uri||"",h=!1,d=!0,u=c.search(/\.jpe?g($|\?)/i)>0||0===c.search(/^data\:image\/jpeg/);if(("image/jpeg"===t.mimeType||u)&&(d=!1),void 0!==t.bufferView)c=n.getDependency("bufferView",t.bufferView).then((function(e){if("image/png"===t.mimeType){var i=new DataView(e,25,1).getUint8(0,!1);d=6===i||4===i||3===i}h=!0;var n=new Blob([e],{type:t.mimeType});return c=l.createObjectURL(n)}));else if(void 0===t.uri)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");var p=Promise.resolve(c).then((function(e){return new Promise((function(t,n){var r=t;!0===i.isImageBitmapLoader&&(r=function(e){t(new Ja(e))}),i.load(Dw(e,o.path),r,void 0,n)}))})).then((function(t){!0===h&&l.revokeObjectURL(c),t.flipY=!1,a.name&&(t.name=a.name),d||(t.format=k);var i=(r.samplers||{})[a.sampler]||{};return t.magFilter=Iw[i.magFilter]||C,t.minFilter=Iw[i.minFilter]||x,t.wrapS=xw[i.wrapS]||g,t.wrapT=xw[i.wrapT]||g,n.associations.set(t,{type:"textures",index:e}),t}));return this.textureCache[s]=p,p}},{key:"assignTexture",value:function(e,t,i){var n=this;return this.getDependency("texture",i.index).then((function(r){if(void 0===i.texCoord||0==i.texCoord||"aoMap"===t&&1==i.texCoord||console.warn("THREE.GLTFLoader: Custom UV set "+i.texCoord+" for texture "+t+" not yet supported."),n.extensions[qx.KHR_TEXTURE_TRANSFORM]){var o=void 0!==i.extensions?i.extensions[qx.KHR_TEXTURE_TRANSFORM]:void 0;if(o){var a=n.associations.get(r);r=n.extensions[qx.KHR_TEXTURE_TRANSFORM].extendTexture(r,o),n.associations.set(r,a)}}e[t]=r}))}},{key:"assignFinalMaterial",value:function(e){var t=e.geometry,i=e.material,n=void 0!==t.attributes.tangent,r=void 0!==t.attributes.color,o=void 0===t.attributes.normal,a=Object.keys(t.morphAttributes).length>0,s=a&&void 0!==t.morphAttributes.normal;if(e.isPoints){var l="PointsMaterial:"+i.uuid,c=this.cache.get(l);c||(c=new Na,ai.prototype.copy.call(c,i),c.color.copy(i.color),c.map=i.map,c.sizeAttenuation=!1,this.cache.add(l,c)),i=c}else if(e.isLine){var h="LineBasicMaterial:"+i.uuid,d=this.cache.get(h);d||(d=new Sa,ai.prototype.copy.call(d,i),d.color.copy(i.color),this.cache.add(h,d)),i=d}if(n||r||o||a){var u="ClonedMaterial:"+i.uuid+":";i.isGLTFSpecularGlossinessMaterial&&(u+="specular-glossiness:"),n&&(u+="vertex-tangents:"),r&&(u+="vertex-colors:"),o&&(u+="flat-shading:"),a&&(u+="morph-targets:"),s&&(u+="morph-normals:");var p=this.cache.get(u);p||(p=i.clone(),r&&(p.vertexColors=!0),o&&(p.flatShading=!0),a&&(p.morphTargets=!0),s&&(p.morphNormals=!0),n&&(p.vertexTangents=!0,p.normalScale&&(p.normalScale.y*=-1),p.clearcoatNormalScale&&(p.clearcoatNormalScale.y*=-1)),this.cache.add(u,p),this.associations.set(p,this.associations.get(i))),i=p}i.aoMap&&void 0===t.attributes.uv2&&void 0!==t.attributes.uv&&t.setAttribute("uv2",t.attributes.uv),e.material=i}},{key:"getMaterialType",value:function(){return Xs}},{key:"loadMaterial",value:function(e){var t,i=this,n=this.extensions,r=this.json.materials[e],o={},a=r.extensions||{},s=[];if(a[qx.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){var l=n[qx.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];t=l.getMaterialType(),s.push(l.extendParams(o,r,i))}else if(a[qx.KHR_MATERIALS_UNLIT]){var c=n[qx.KHR_MATERIALS_UNLIT];t=c.getMaterialType(),s.push(c.extendParams(o,r,i))}else{var h=r.pbrMetallicRoughness||{};if(o.color=new pi(1,1,1),o.opacity=1,Array.isArray(h.baseColorFactor)){var d=h.baseColorFactor;o.color.fromArray(d),o.opacity=d[3]}void 0!==h.baseColorTexture&&s.push(i.assignTexture(o,"map",h.baseColorTexture)),o.metalness=void 0!==h.metallicFactor?h.metallicFactor:1,o.roughness=void 0!==h.roughnessFactor?h.roughnessFactor:1,void 0!==h.metallicRoughnessTexture&&(s.push(i.assignTexture(o,"metalnessMap",h.metallicRoughnessTexture)),s.push(i.assignTexture(o,"roughnessMap",h.metallicRoughnessTexture))),t=this._invokeOne((function(t){return t.getMaterialType&&t.getMaterialType(e)})),s.push(Promise.all(this._invokeAll((function(t){return t.extendMaterialParams&&t.extendMaterialParams(e,o)}))))}!0===r.doubleSided&&(o.side=2);var u=r.alphaMode||Sw;return u===kw?(o.transparent=!0,o.depthWrite=!1):(o.transparent=!1,u===bw&&(o.alphaTest=void 0!==r.alphaCutoff?r.alphaCutoff:.5)),void 0!==r.normalTexture&&t!==gi&&(s.push(i.assignTexture(o,"normalMap",r.normalTexture)),o.normalScale=new ke(1,-1),void 0!==r.normalTexture.scale&&o.normalScale.set(r.normalTexture.scale,-r.normalTexture.scale)),void 0!==r.occlusionTexture&&t!==gi&&(s.push(i.assignTexture(o,"aoMap",r.occlusionTexture)),void 0!==r.occlusionTexture.strength&&(o.aoMapIntensity=r.occlusionTexture.strength)),void 0!==r.emissiveFactor&&t!==gi&&(o.emissive=(new pi).fromArray(r.emissiveFactor)),void 0!==r.emissiveTexture&&t!==gi&&s.push(i.assignTexture(o,"emissiveMap",r.emissiveTexture)),Promise.all(s).then((function(){var a;return a=t===cw?n[qx.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(o):new t(o),r.name&&(a.name=r.name),a.map&&(a.map.encoding=_),a.emissiveMap&&(a.emissiveMap.encoding=_),Rw(a,r),i.associations.set(a,{type:"materials",index:e}),r.extensions&&Tw(n,a,r),a}))}},{key:"createUniqueName",value:function(e){for(var t=lh.sanitizeNodeName(e||""),i=t,n=1;this.nodeNamesUsed[i];++n)i=t+"_"+n;return this.nodeNamesUsed[i]=!0,i}},{key:"loadGeometries",value:function(e){var t=this,i=this.extensions,n=this.primitiveCache;function r(e){return i[qx.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then((function(i){return Nw(i,e,t)}))}for(var o,a,s=[],l=0,c=e.length;c>l;l++){var h=e[l],d=(a=void 0,(a=(o=h).extensions&&o.extensions[qx.KHR_DRACO_MESH_COMPRESSION])?"draco:"+a.bufferView+":"+a.indices+":"+Fw(a.attributes):o.indices+":"+Fw(o.attributes)+":"+o.mode),u=n[d];if(u)s.push(u.promise);else{var p=void 0;p=h.extensions&&h.extensions[qx.KHR_DRACO_MESH_COMPRESSION]?r(h):Nw(new jx,h,t),n[d]={primitive:h,promise:p},s.push(p)}}return Promise.all(s)}},{key:"loadMesh",value:function(e){for(var t,i=this,n=this.extensions,r=this.json.meshes[e],o=r.primitives,a=[],s=0,l=o.length;l>s;s++){var c=void 0===o[s].material?(void 0===(t=this.cache).DefaultMaterial&&(t.DefaultMaterial=new Xs({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),t.DefaultMaterial):this.getDependency("material",o[s].material);a.push(c)}return a.push(i.loadGeometries(o)),Promise.all(a).then((function(t){for(var a=t.slice(0,t.length-1),s=t[t.length-1],l=[],c=0,h=s.length;h>c;c++){var d=s[c],u=o[c],p=void 0,g=a[c];if(u.mode===Aw||u.mode===yw||u.mode===vw||void 0===u.mode)!0!==(p=!0===r.isSkinnedMesh?new ma(d,g):new Wx(d,g)).isSkinnedMesh||p.geometry.attributes.skinWeight.normalized||p.normalizeSkinWeights(),u.mode===yw?p.geometry=Pw(p.geometry,1):u.mode===vw&&(p.geometry=Pw(p.geometry,2));else if(u.mode===gw)p=new La(d,g);else if(u.mode===mw)p=new Ua(d,g);else if(u.mode===fw)p=new Oa(d,g);else{if(u.mode!==pw)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+u.mode);p=new Ya(d,g)}Object.keys(p.geometry.morphAttributes).length>0&&Uw(p,r),p.name=i.createUniqueName(r.name||"mesh_"+e),Rw(p,r),u.extensions&&Tw(n,p,u),i.assignFinalMaterial(p),l.push(p)}if(1===l.length)return l[0];for(var f=new To,m=0,A=l.length;A>m;m++)f.add(l[m]);return f}))}},{key:"loadCamera",value:function(e){var t,i=this.json.cameras[e],n=i[i.type];if(n)return"perspective"===i.type?t=new dn(be.radToDeg(n.yfov),n.aspectRatio||1,n.znear||1,n.zfar||2e6):"orthographic"===i.type&&(t=new pc(-n.xmag,n.xmag,n.ymag,-n.ymag,n.znear,n.zfar)),i.name&&(t.name=this.createUniqueName(i.name)),Rw(t,i),Promise.resolve(t);console.warn("THREE.GLTFLoader: Missing camera parameters.")}},{key:"loadSkin",value:function(e){var t=this.json.skins[e],i={joints:t.joints};return void 0===t.inverseBindMatrices?Promise.resolve(i):this.getDependency("accessor",t.inverseBindMatrices).then((function(e){return i.inverseBindMatrices=e,i}))}},{key:"loadAnimation",value:function(e){for(var t=this.json.animations[e],i=[],n=[],r=[],o=[],a=[],s=0,l=t.channels.length;l>s;s++){var c=t.channels[s],h=t.samplers[c.sampler],d=c.target,u=void 0!==t.parameters?t.parameters[h.input]:h.input,p=void 0!==t.parameters?t.parameters[h.output]:h.output;i.push(this.getDependency("node",void 0!==d.node?d.node:d.id)),n.push(this.getDependency("accessor",u)),r.push(this.getDependency("accessor",p)),o.push(h),a.push(d)}return Promise.all([Promise.all(i),Promise.all(n),Promise.all(r),Promise.all(o),Promise.all(a)]).then((function(i){for(var n=i[0],r=i[1],o=i[2],a=i[3],s=i[4],l=[],c=function(e,t){var i=n[e],c=r[e],h=o[e],d=a[e],u=s[e];if(void 0===i)return"continue";i.updateMatrix(),i.matrixAutoUpdate=!0;var p=void 0;switch(Ew[u.path]){case Ew.weights:p=gl;break;case Ew.rotation:p=ml;break;case Ew.position:case Ew.scale:default:p=yl}var g=i.name?i.name:i.uuid,f=void 0!==d.interpolation?Bw[d.interpolation]:H,m=[];Ew[u.path]===Ew.weights?i.traverse((function(e){!0===e.isMesh&&e.morphTargetInfluences&&m.push(e.name?e.name:e.uuid)})):m.push(g);var A=h.array;if(h.normalized){for(var y=Qw(A.constructor),v=new Float32Array(A.length),C=0,I=A.length;I>C;C++)v[C]=A[C]*y;A=v}for(var x=0,w=m.length;w>x;x++){var M=new p(m[x]+"."+Ew[u.path],c.array,A,f);"CUBICSPLINE"===d.interpolation&&(M.createInterpolant=function(e){return new uw(this.times,this.values,this.getValueSize()/3,e)},M.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),l.push(M)}},h=0,d=n.length;d>h;h++)c(h);return new vl(t.name?t.name:"animation_"+e,void 0,l)}))}},{key:"createNodeMesh",value:function(e){var t=this,i=this.json.nodes[e];return void 0===i.mesh?null:t.getDependency("mesh",i.mesh).then((function(e){var n=t._getNodeRef(t.meshCache,i.mesh,e);return void 0!==i.weights&&n.traverse((function(e){if(e.isMesh)for(var t=0,n=i.weights.length;n>t;t++)e.morphTargetInfluences[t]=i.weights[t]})),n}))}},{key:"loadNode",value:function(e){var t,i,n=this.extensions,r=this,o=this.json.nodes[e],a=o.name?r.createUniqueName(o.name):"";return(t=[],i=r._invokeOne((function(t){return t.createNodeMesh&&t.createNodeMesh(e)})),i&&t.push(i),void 0!==o.camera&&t.push(r.getDependency("camera",o.camera).then((function(e){return r._getNodeRef(r.cameraCache,o.camera,e)}))),r._invokeAll((function(t){return t.createNodeAttachment&&t.createNodeAttachment(e)})).forEach((function(e){t.push(e)})),Promise.all(t)).then((function(t){var i;if((i=!0===o.isBone?new Aa:t.length>1?new To:1===t.length?t[0]:new Yt)!==t[0])for(var s=0,l=t.length;l>s;s++)i.add(t[s]);if(o.name&&(i.userData.name=o.name,i.name=a),Rw(i,o),o.extensions&&Tw(n,i,o),void 0!==o.matrix){var c=new yt;c.fromArray(o.matrix),i.applyMatrix4(c)}else void 0!==o.translation&&i.position.fromArray(o.translation),void 0!==o.rotation&&i.quaternion.fromArray(o.rotation),void 0!==o.scale&&i.scale.fromArray(o.scale);return r.associations.set(i,{type:"nodes",index:e}),i}))}},{key:"loadScene",value:function(e){var t=this.json,i=this.extensions,n=this.json.scenes[e],r=new To;n.name&&(r.name=this.createUniqueName(n.name)),Rw(r,n),n.extensions&&Tw(i,r,n);for(var o=n.nodes||[],a=[],s=0,l=o.length;l>s;s++)a.push(Ow(o[s],r,t,this));return Promise.all(a).then((function(){return r}))}}]),e}();function Ow(e,t,i,n){var r=i.nodes[e];return n.getDependency("node",e).then((function(e){return void 0===r.skin?e:n.getDependency("skin",r.skin).then((function(e){for(var i=[],r=0,o=(t=e).joints.length;o>r;r++)i.push(n.getDependency("node",t.joints[r]));return Promise.all(i)})).then((function(i){return e.traverse((function(e){if(e.isMesh){for(var n=[],r=[],o=0,a=i.length;a>o;o++){var s=i[o];if(s){n.push(s);var l=new yt;void 0!==t.inverseBindMatrices&&l.fromArray(t.inverseBindMatrices.array,16*o),r.push(l)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[o])}e.bind(new Ia(n,r),e.matrixWorld)}})),e}));var t})).then((function(e){t.add(e);var o=[];if(r.children)for(var a=r.children,s=0,l=a.length;l>s;s++){o.push(Ow(a[s],e,i,n))}return Promise.all(o)}))}function Nw(e,t,i){var n=t.attributes,r=[];function o(t,n){return i.getDependency("accessor",t).then((function(t){e.setAttribute(n,t)}))}for(var a in n){var s=Mw[a]||a.toLowerCase();s in e.attributes||r.push(o(n[a],s))}if(void 0!==t.indices&&!e.index){var l=i.getDependency("accessor",t.indices).then((function(t){e.setIndex(t)}));r.push(l)}return Rw(e,t),function(e,t,i){var n=t.attributes,r=new He;if(void 0!==n.POSITION){var o=i.json.accessors[n.POSITION],a=o.min,s=o.max;if(void 0!==a&&void 0!==s){if(r.set(new Ke(a[0],a[1],a[2]),new Ke(s[0],s[1],s[2])),o.normalized){var l=Qw(Cw[o.componentType]);r.min.multiplyScalar(l),r.max.multiplyScalar(l)}var c=t.targets;if(void 0!==c){for(var h=new Ke,d=new Ke,u=0,p=c.length;p>u;u++){var g=c[u];if(void 0!==g.POSITION){var f=i.json.accessors[g.POSITION],m=f.min,A=f.max;if(void 0!==m&&void 0!==A){if(d.setX(Math.max(Math.abs(m[0]),Math.abs(A[0]))),d.setY(Math.max(Math.abs(m[1]),Math.abs(A[1]))),d.setZ(Math.max(Math.abs(m[2]),Math.abs(A[2]))),f.normalized){var y=Qw(Cw[f.componentType]);d.multiplyScalar(y)}h.max(d)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}r.expandByVector(h)}e.boundingBox=r;var v=new ct;r.getCenter(v.center),v.radius=r.min.distanceTo(r.max)/2,e.boundingSphere=v}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}(e,t,i),Promise.all(r).then((function(){return void 0!==t.targets?function(e,t,i){for(var n=!1,r=!1,o=0,a=t.length;a>o;o++){var s=t[o];if(void 0!==s.POSITION&&(n=!0),void 0!==s.NORMAL&&(r=!0),n&&r)break}if(!n&&!r)return Promise.resolve(e);for(var l=[],c=[],h=0,d=t.length;d>h;h++){var u=t[h];if(n){var p=void 0!==u.POSITION?i.getDependency("accessor",u.POSITION):e.attributes.position;l.push(p)}if(r){var g=void 0!==u.NORMAL?i.getDependency("accessor",u.NORMAL):e.attributes.normal;c.push(g)}}return Promise.all([Promise.all(l),Promise.all(c)]).then((function(t){var i=t[1];return n&&(e.morphAttributes.position=t[0]),r&&(e.morphAttributes.normal=i),e.morphTargetsRelative=!0,e}))}(e,t.targets,i):e}))}function Pw(e,t){var i=e.getIndex();if(null===i){var n=[],r=e.getAttribute("position");if(void 0===r)return console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(var o=0;r.count>o;o++)n.push(o);e.setIndex(n),i=e.getIndex()}var a=i.count-2,s=[];if(2===t)for(var l=1;a>=l;l++)s.push(i.getX(0)),s.push(i.getX(l)),s.push(i.getX(l+1));else for(var c=0;a>c;c++)c%2==0?(s.push(i.getX(c)),s.push(i.getX(c+1)),s.push(i.getX(c+2))):(s.push(i.getX(c+2)),s.push(i.getX(c+1)),s.push(i.getX(c)));s.length/3!==a&&console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");var h=e.clone();return h.setIndex(s),h}var Gw=function(e){this.baseElementPickingId=0,this.elementDesc={},this.elementMatrix={},this.elementMatrixGroup={},this.srcMeshGeoInfo=e.geoInfo?e.geoInfo:null,this.propertiesData=e.propInfo?e.propInfo:null,this.elementInfo=e.elemInfo?e.elemInfo:null,this.elementKeyToIdMap={},this.elementPickingIds=[],this.sceneTag=e.sceneTag?e.sceneTag:null,this.SetElementDesc=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.elementDesc[e]=t,i&&(this.elementKeyToIdMap[i]||(this.elementKeyToIdMap[i]=[]),this.elementKeyToIdMap[i].push(e+this.baseElementPickingId))},this.SetElementMatrix=function(e,t){this.elementMatrix[e]=t},this.SetElementGroupMatrix=function(e,t){this.elementMatrixGroup[e]=t},this.AddElementWitId=function(e){var t=e+0;return this.elementPickingIds.push(t),t},this.GetElementPickingIdByKey=function(e){return void 0!==this.elementKeyToIdMap[e]?this.elementKeyToIdMap[e]:null},this.GetElementKeyByPickingId=function(e){return this.elementDesc[e-this.baseElementPickingId].key},this.GetElementGeometryDesc=function(e){var t=this.elementDesc[e-this.baseElementPickingId];return{positionBuffer:t.mesh.geometry.attributes.position.data,indexBuffer:t.mesh.geometry.index,indexOffset:3*t.groupStart,triangleCount:t.groupCount,matrix:(new Matrix4).multiplyMatrices(this.elementMatrix[e-this.baseElementPickingId],this.elementMatrixGroup[e-this.baseElementPickingId])}},this.GetElementBounds=function(e){return this.elementInfo?{min:this.elementInfo[e-this.baseElementPickingId].minBoundary,max:this.elementInfo[e-this.baseElementPickingId].maxBoundary}:null},this.GetElementInfo=function(e){return this.elementInfo?this.elementInfo[e-this.baseElementPickingId]:null},this.GetElementCount=function(){return this.elementPickingIds.length},this.GetElementDesc=function(e){return this.elementDesc[e-this.baseElementPickingId]},this.GetElementDescWithInternalId=function(e){return this.elementDesc[e]},this.GetElementPickingIdWithRelativeId=function(e){return e+this.baseElementPickingId},this.GetElementRelativeIdWithPickingId=function(e){return e-this.baseElementPickingId},this.GetElementGroupDesc=function(e){for(var t=0,i=0;this.propertiesData.length>i;++i){if(this.propertiesData[i].g+t>=e-this.baseElementPickingId){var n=[],r=[];if(!this.propertiesData[i].prop["编码"])return[];for(var o=this.propertiesData[i].g+t,a=t;o>a;++a)n.push(this.elementDesc[a]),r.push(this.baseElementPickingId+a);return{groupDescs:n,groupIds:r}}t+=this.propertiesData[i].g}return[]},this.GetElementMatrix=function(e){return this.elementMatrix[e-this.baseElementPickingId]},this.GetElementGroupMatrix=function(e){return this.elementMatrixGroup[e-this.baseElementPickingId]},this.GetElementProperty=function(e){for(var t=0,i=0;this.propertiesData.length>i;++i){if(this.propertiesData[i].g+t>e-this.baseElementPickingId)return this.propertiesData[i].prop;t+=this.propertiesData[i].g}return{}},this.GetElementGroupBoundsCenter=function(e){for(var t=0,i=0;this.propertiesData.length>i;++i){if(this.propertiesData[i].g+t>=e-this.baseElementPickingId)return this.propertiesData[i].bounds&&this.propertiesData[i].bounds.center?new Vector3(this.propertiesData[i].bounds.center[0],this.propertiesData[i].bounds.center[1],this.propertiesData[i].bounds.center[2]):null;t+=this.propertiesData[i].g}return null},this.GetElementGroupBounds=function(e){for(var t=0,i=0;this.propertiesData.length>i;++i){if(this.propertiesData[i].g+t>=e-this.baseElementPickingId)return this.propertiesData[i].bounds&&this.propertiesData[i].bounds.center?{center:new Vector3(this.propertiesData[i].bounds.center[0],this.propertiesData[i].bounds.center[1],this.propertiesData[i].bounds.center[2]),size:new Vector3(this.propertiesData[i].bounds.size[0],this.propertiesData[i].bounds.size[1],this.propertiesData[i].bounds.size[2])}:null;t+=this.propertiesData[i].g}return null},this.QueryElementFromProperty=function(e){for(var t=0,i=[],n=0;this.propertiesData.length>n;++n)this.propertiesData[n].prop["名称"]==e.name&&this.propertiesData[n].prop["编码"]==e.code&&i.push(this.baseElementPickingId+t+1),t+=this.propertiesData[n].g;return i.length>0?i:null}},Kw=function(e){zy.call(this,e),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.mapNodeInfoByElementId={},this.referencedMeshCache={},this.componentCount=0,this.borderLines={},this.octreeRootNode={inner:null,outer:null,layer:null},this.meshCache={},this.allBones={},this.model=e,this.sceneTasks=[]};Object.assign(Kw.prototype,zy.prototype),Kw.prototype._cacheNodeInfoByElementId=function(e){this.mapNodeInfoByElementId[e.elementId]=e},Kw.prototype.getNodeInfosByElementId=function(e){return this.mapNodeInfoByElementId[e]},Kw.prototype.pushSceneTask=function(e){this.sceneTasks.push(e)},Kw.prototype.buildScene=function(e){for(var t=0;this.sceneTasks.length>t;t+=1)this._buildScene(this.sceneTasks[t]);e&&e()},Kw.prototype._buildScene=function(e){new Gw(e)},Kw.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={}},Kw.prototype.destroyReader=function(){this.userIdReader={},this.userDataReader={},this.symbolReader={},this.mapSceneReader={}},Kw.prototype.getSceneReaderMap=function(){return this.mapSceneReader},Kw.prototype.isValidScene=function(){return!wp.isEmptyObject(this.getSceneReaderMap())||(Bu.log("model load not started!"),!1)},Kw.prototype.parseItemData=function(e){var t=this.model;(my(t.dataVersion,"2.0.0")||void 0===t.dataVersion)&&(Bu.time("升级几何结构"),this._updateV1ToV2(t),t.dataVersion="2.0.0",Bu.timeEnd("升级几何结构")),this._readMaterialBuffer(t),t.hasAnimation&&xd.EnableAnimation?(this._parseClips(),this._parseBones()):this._parseGeo();var i={},n=this.referencedMeshCache;for(var r in Bu.time("_readItemData"),n.bufferData&&Object.keys(n.bufferData).length>0||e&&e(),n.components)this._readItemData(i,r,r,void 0,0);t.hasAnimation&&xd.EnableAnimation&&this._parseNodes(),Bu.timeEnd("_readItemData"),i=null,e&&e()},Kw.prototype.asyncParseItemData=function(e){for(var t=this.getSceneReaderMap(),i=Object.keys(t),n=i.length,r=0,o=this,a=0;n>a;a+=1){var s=t[i[a]];wp.asyncProcess(s,s.header.componentCount,100,(function(e,t){o._parseItemDataBy(e,t)}),(function(){(r+=1)===n&&e&&e()}))}},Kw.prototype._parseItemDataBy=function(e,t){for(var i=e.getComponentInfo(t),n=i.itemIndex;i.itemCount>n;n+=1)this._readItemData(e,n,t)},Kw.prototype.parseItemDataByComponentKey=function(e){var t=this.getSceneReaderMap();for(var i in t)this._parseItemDataBy(t[i],e)},Kw.prototype._readItemData=function(e,t,i){var n=this.referencedMeshCache.components[t];void 0!==n&&-1!==n.geoId&&this._readMeshInfo(e,i,n,null)},Kw.prototype._readSymbolInfo=function(e,t,i){var n=this.symbolReader;if(n){var r=n.header.symbolCount,o=i.toData,a=e.getMatrixInfo(i.matrixId).matrix.clone(),s={matrix:a,ItemId:i.ItemId,originalId:i.originalId,userDataId:i.userDataId,materialId:i.materialId};if(o>=0&&r>o)for(var l=n.getSymbolInfo(o),c=l.itemIndex;l.itemCount>c;c+=1){var h=n.getItemInfo(c);h.type!==Kw.EnumNodeItemType.SYMBOL&&this._readMeshInfo(n,t,h,s)}a=null,s=null,n=null}},Kw.prototype._readMeshInfo=function(e){var t=e.info,i=new He;t.minBoundary&&(i.expandByPoint(new Ke(t.minBoundary.x,t.minBoundary.y,t.minBoundary.z)),i.expandByPoint(new Ke(t.maxBoundary.x,t.maxBoundary.y,t.maxBoundary.z)));var n=null;(n={nodeId:e.key+"_"+e.elementId,elementId:e.elementId,groupIndex:e.groupIndex,subInstanceIndex:e.subInstanceIndex,guid:e.guid,geometryId:e.geoId,originalGeometryId:e.geoId,matrix:e.matrix.clone(),boundingBox:i,model:this.model,mesh:e.mesh,group:{start:e.groupStart,count:e.groupCount,elementId:e.elementId}})&&(t.buildInCategory&&(n.buildInCategory=t.buildInCategory),n.userId=t.key,n.name=t.name,n.type=t.type,n.componentKey=t.key,n.originalId=null,n.materialId=e.materialId,n.state=Nd.Visible,n.material=null,n.originMId=e.materialId,n.userData=null,n.categoryId=0,n.familyName=t.familyName||"",n.familySymbol=t.familySymbol||"",n.isMixNode=!0,this._classifyNodeInfo(n),this._cacheNodeInfoByElementId(n),n=null)},Kw.prototype._getMeshNodeAttr=function(e,t,i,n){var r=new yt;r.fromArray(t.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),xd.DataReduction&&r.scale(new Ke(1e3,1e3,1e3));var o=i?t.key+"_"+n:t.key,a=i?t.geoId+"_"+n:t.geoId;if(-1!==a){var s=new Nu,l=this.getReferencedMeshBufferById(t.geoId);return l&&l.position?(s=by.getBoundingBoxByBuffer(l.position)).applyMatrix4(r):Bu.error("没有找到对应几何"),{nodeId:o,guid:t.guid,geometryId:a,originalGeometryId:t.geoId,matrix:r,boundingBox:s,model:this.model}}},Kw.prototype._getComponentNodeAttr=function(e,t){var i=new yt;i.fromArray(e.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),xd.DataReduction&&i.scale(new Ke(1e3,1e3,1e3)),t&&i.multiplyMatrices(t.matrix,i);var n=e.nodeId,r=e.geoId;if(-1!==r){var o=e.maxBoundary||t.maxBoundary,a=e.minBoundary||t.minBoundary,s=new Nu;return s.set(a,o),{nodeId:n,guid:e.guid,geometryId:r,originalGeometryId:e.geoId,matrix:i,boundingBox:s,model:this.model}}},Kw.prototype._cacheNodeInfoByCategory=function(e){var t;void 0===this.mapNodeInfoByCategory[t=zy.NodeInfoCategory.MIX]&&(this.mapNodeInfoByCategory[t]={}),void 0===this.mapNodeInfoByCategory[t][e.userId]&&(this.mapNodeInfoByCategory[t][e.userId]=[]),this.mapNodeInfoByCategory[t][e.userId].push(e)},Kw.prototype._cacheNodeInfoByParameterizedDesc=function(e){e.parameterizedDesc&&(void 0===this.mapNodeInfoByParameterizedDesc[e.type]&&(this.mapNodeInfoByParameterizedDesc[e.type]=[]),this.mapNodeInfoByParameterizedDesc[e.type].push(e))},Kw.prototype._clearNodeInfoCacheWithParameterizedDesc=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByParameterizedDesc[e[t]];else this.mapNodeInfoByParameterizedDesc={}},Kw.prototype._clearNodeInfoCacheWithComponentKey=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByComponentKey[e[t]];else this.mapNodeInfoByComponentKey={}},Kw.prototype._clearNodeInfoCacheWithCategory=function(e){if(e)for(var t=this.mapNodeInfoByCategory[Kw.NodeInfoCategory.INSTANCED],i=this.mapNodeInfoByCategory[Kw.NodeInfoCategory.STANDARD],n=0,r=e.length;r>n;n+=1)t&&delete t[e[n]],i&&delete i[e[n]];else this.mapNodeInfoByCategory={}},Kw.prototype.clearNodeInfoCacheByComponentsKey=function(e){this._clearNodeInfoCacheWithComponentKey(e),this._clearNodeInfoCacheWithUserId(e),this._clearNodeInfoCacheWithCategory(e)},Kw.prototype._clearNodeInfoCacheWithUserId=function(e){if(e)for(var t=0,i=e.length;i>t;t+=1)delete this.mapNodeInfoByUserId[e[t]],delete this.mapNodeInfoByNodeId[e[t]];else this.mapNodeInfoByUserId={};this.mapNodeInfoByUserId={}},Kw.prototype.clearNodeInfoCache=function(){this._clearNodeInfoCacheWithComponentKey(),this._clearNodeInfoCacheWithUserId(),this._clearNodeInfoCacheWithCategory()},Kw.prototype.getNodeInfosByComponentKey=function(e){return this.mapNodeInfoByComponentKey[e]},Kw.prototype.getNodeInfosWithComponentKey=function(){return this.mapNodeInfoByComponentKey},Kw.prototype.getAllNodeInfos=function(){return this.mapNodeInfoByUserId},Kw.prototype.getNodeInfosByUserId=function(e){return this.mapNodeInfoByUserId[e]},Kw.prototype.getNodeInfosByNodeId=function(e){return this.mapNodeInfoByNodeId[e]},Kw.prototype.getNodeInfosWithUserId=function(){return this.mapNodeInfoByUserId},Kw.prototype.getStandardNodeInfos=function(){return this.mapNodeInfoByCategory[zy.NodeInfoCategory.STANDARD]},Kw.prototype.getMixNodeInfos=function(){},Kw.prototype.getInstancedNodeInfos=function(){return this.mapNodeInfoByCategory[zy.NodeInfoCategory.INSTANCED]},Kw.prototype.getStandardUserIds=function(){return this.getStandardNodeInfos()?Object.keys(this.getStandardNodeInfos()):[]},Kw.prototype.getInstancedUserIds=function(){return this.getInstancedNodeInfos()?Object.keys(this.getInstancedNodeInfos()):[]},Kw.prototype.getStandardNodeInfosById=function(e){var t=this.getStandardNodeInfos();return t?t[e]:null},Kw.prototype.getInstancedNodeInfosById=function(e){var t=this.getInstancedNodeInfos();return t?t[e]:null},Kw.prototype._getUserIdsByCategory=function(e,t){var i=[],n=null;if(n=t===Kw.NodeInfoCategory.INSTANCED?this.getInstancedNodeInfos():this.getStandardNodeInfos())for(var r=0,o=e.length;o>r;r+=1)n[e[r]]&&i.push(e[r]);return i},Kw.prototype.getInstancedUserIdsByCategory=function(e){return this._getUserIdsByCategory(e,Kw.NodeInfoCategory.INSTANCED)},Kw.prototype.getStandardUserIdsByCategory=function(e){return this._getUserIdsByCategory(e,Kw.NodeInfoCategory.STANDARD)},Kw.prototype._traverseNodeInfosByIds=function(e,t,i){for(var n=0,r=t.length;r>n;n+=1){var o=t[n];i(o,e[o])}},Kw.prototype.traverseStandardNodeInfos=function(e,t){var i=this.getStandardNodeInfos();i&&(e=e||this.getStandardUserIds(),this._traverseNodeInfosByIds(i,e,t))},Kw.prototype.traverseInstancedNodeInfos=function(e,t){var i=this.getInstancedNodeInfos();i&&(e=e||this.getInstancedUserIds(),this._traverseNodeInfosByIds(i,e,t))},Kw.prototype.traverseNodeInfosByComponent=function(e){for(var t=Object.keys(this.mapNodeInfoByComponentKey),i=0,n=t.length;n>i;i+=1)for(var r=t[i],o=this.mapNodeInfoByComponentKey[r],a=0,s=o.length;s>a;a+=1)e(r,o[a])},Kw.prototype.clearReferencedMeshCache=function(){if(!xd.DEBUG){for(var e in this.referencedMeshCache)delete this.referencedMeshCache[e];this.referencedMeshCache=null}},Kw.prototype.cacheReferencedMeshBufferData=function(e,t){this.referencedMeshCache.bufferData||(this.referencedMeshCache.bufferData={}),this.referencedMeshCache.bufferData[e]=t},Kw.prototype.cacheReferencedMeshComponentNodeData=function(e,t){this.referencedMeshCache.componentNode||(this.referencedMeshCache.componentNode={}),this.referencedMeshCache.componentNode[e]=t},Kw.prototype.cacheReferencedMeshWireframeData=function(e,t){this.referencedMeshCache.wireframeData||(this.referencedMeshCache.wireframeData={}),this.referencedMeshCache.wireframeData[e]=t},Kw.prototype.getReferencedMeshBufferData=function(){return this.referencedMeshCache.bufferData},Kw.prototype.getReferencedMeshBufferById=function(e){return this.referencedMeshCache&&this.referencedMeshCache.bufferData?this.referencedMeshCache.bufferData[e]:null},Kw.prototype.getReferencedMeshComponentNodeById=function(e){return this.referencedMeshCache&&this.referencedMeshCache.componentNode?this.referencedMeshCache.componentNode[e]:null},Kw.prototype.getReferencedMeshWireframeDataById=function(e){return this.referencedMeshCache&&this.referencedMeshCache.wireframeData?this.referencedMeshCache.wireframeData[e]:null},Kw.prototype.cacheReferencedMeshBoneBufferData=function(e,t){this.referencedMeshCache.bones||(this.referencedMeshCache.bones={}),this.referencedMeshCache.bones[e]=t},Kw.prototype.cacheReferencedMeshClipsData=function(e){this.referencedMeshCache.clips=e},Kw.prototype.cacheReferencedMeshNodesData=function(e){this.referencedMeshCache.nodes=e},Kw.prototype.cacheReferencedMeshComponentData=function(e,t){this.referencedMeshCache.components||(this.referencedMeshCache.components={}),this.referencedMeshCache.components[e]=t},Kw.prototype.cacheReferencedMeshMaterialData=function(e,t){this.referencedMeshCache.materials||(this.referencedMeshCache.materials={}),this.referencedMeshCache.materials[e]=t},Kw.prototype.cacheReferencedMeshGeoIds=function(e,t){this.referencedMeshCache.mpkIds||(this.referencedMeshCache.mpkIds={}),this.referencedMeshCache.mpkIds[e]||(this.referencedMeshCache.mpkIds[e]=[]),this.referencedMeshCache.mpkIds[e].push(t)},Kw.prototype.clearReferencedMeshCacheByGeopkIdxs=function(e,t){if(this.referencedMeshCache.mpkIds)for(var i=0,n=e.length;n>i;i+=1){var r=e[i],o=this.referencedMeshCache.mpkIds[r];if(o){for(var a=0,s=o.length;s>a;a+=1)t&&t(o[a]),delete this.referencedMeshCache[o[a]];delete this.referencedMeshCache.mpkIds[r]}}},Kw.prototype.cacheBorderLine=function(e,t){var i=e?"shared":"unique";this.borderLines[i]||(this.borderLines[i]=[]),this.borderLines[i].push(t)},Kw.prototype.getSharedBorderLineCache=function(){return this.borderLines.shared},Kw.prototype.getUniqueBorderLineCache=function(){return this.borderLines.unique},Kw.prototype._isRegularShape=function(e){return e.type===Kw.EnumNodeItemType.TUBE||e.type===Kw.EnumNodeItemType.PIPE||e.type===Kw.EnumNodeItemType.BOX||e.type===Kw.EnumNodeItemType.BOX_M||e.type===Kw.EnumNodeItemType.PIPE_M},Kw.prototype._isInstancedNode=function(e){return!!xd.Instance&&(e.type===Kw.EnumNodeItemType.MESH_REF?Boolean(xd.SharedMeshInstanceEnable):Boolean(e.parameterizedDesc))},Kw.prototype.getComponentCount=function(){return this.componentCount},Kw.prototype.getOctreeRootNode=function(){return this.octreeRootNode},Kw.prototype.removeFromSceneReaderMap=function(e){for(var t=0,i=e.length;i>t;t+=1)this.mapSceneReader[e[t]]&&delete this.mapSceneReader[e[t]]},Kw.prototype.isUserIdExist=function(e){return!!this.getNodeInfosByUserId(e)},Kw.prototype.addToNodeInfoMap=function(e){for(var t=0,i=e.length;i>t;t+=1)this._cacheNodeInfoByUserId(e[t])},Kw.prototype.removeFromNodeInfoMap=function(e){for(var t=this.getAllNodeInfos(),i=0,n=e.length;n>i;i+=1){var r=e[i].userId;t[r]&&delete t[r]}},Kw.prototype.cacheNodeInfosOnGeometryId=function(){var e=this.getStandardNodeInfos();for(var t in this.mapNodeInfoByGeometryId={},e)for(var i=e[t],n=0,r=i.length;r>n;n+=1)i[n].geometryId=this.convertGeometryId(i[n].geometryId),this.mapNodeInfoByGeometryId[i[n].geometryId]||(this.mapNodeInfoByGeometryId[i[n].geometryId]=[]),this.mapNodeInfoByGeometryId[i[n].geometryId].push(i[n])},Kw.prototype.getNodeInfosOnGeometryId=function(){return this.mapNodeInfoByGeometryId||this.cacheNodeInfosOnGeometryId(),this.mapNodeInfoByGeometryId},Kw.prototype.clearNodeInfosWithGeometryId=function(){this.mapNodeInfoByGeometryId={}},Kw.prototype.convertGeometryId=function(e){return e},Kw.prototype._readMaterialBuffer=function(e){var t=e.materialManager,i=t.materials,n=t.textures,r=this.referencedMeshCache.materials,o=1;for(var a in wp.isEmptyObject(e.subModel)||(o=.001),r){var s=r[a];if(!s)return null;var l=cA.createMaterialByMaterialBufferAndTexture(s,n,o);l.refreshUniforms&&l.refreshUniforms(),i[a]=l,xd.EnableShadow&&e.manager.viewerImpl.rendererManager.csm&&e.manager.viewerImpl.rendererManager.csm.setupMaterial(l)}},Kw.prototype._updateV1ToV2=function(){var e=this.referencedMeshCache.components,t=this.referencedMeshCache.bufferData,i=this.referencedMeshCache.materials;for(var n in e)if(e.hasOwnProperty(n)){var r=e[n],o=r.matId,a=t[r.geoId];if(r.materials)continue;if(r.materials=[],!a)continue;var s=i[o];if(!s)continue;var l=this._updateMaterialV1ToV2(o,s);if(l)for(var c in a.materialIndex=l.materialIndex,r.materials=l.materialId,l.materials)l.materials.hasOwnProperty(c)&&(this.referencedMeshCache.materials[c]=l.materials[c])}},Kw.prototype._updateMaterialV1ToV2=function(e,t){var i={},n=[],r={};if(!t)return null;for(var o=t.color,a=t.colorIndex,s=t.texture,l=t.textureIndex,c=0;o.length>c;c+=4){var h={};h.color=[o[c],o[c+1],o[c+2]],h.opacity=Math.floor(100*o[c+3])/100,h.transparent=1>o[c+3];var d=(255*h.color[0]<<16^255*h.color[1]<<8^255*h.color[2]<<0)+"_"+h.opacity;r[d]=h,n.push(d)}if(0!==s.length&&a.length===l.length)for(var u=-1,p=0;l.length>p;p+=1)if(u!==a[p]&&(u=a[p],-1!==l[p])){var g=n[a[p]],f=s[l[p]];if(r[g].map=f,-1===g.indexOf(f)){var m=g+"_"+s[l[p]];r[m]=r[g],n.length>Object.keys(r).length-1||delete r[g],n[a[p]]=m}}return i.materials=r,i.materialId=n,i.materialIndex=a,i},Kw.prototype._computeVertexNormalsFromFaceNormals=function(e,t,i){for(var n=new Float32Array(i),r=0,o=0,a=0,s=0,l=0,c=0,h=0;e.length>h;h+=3)l=e[h+1],c=e[h+2],o=3*t[h+1],a=3*t[h+2],n[r=3*t[h]]=s=e[h],n[r+1]=l,n[r+2]=c,n[o]=s,n[o+1]=l,n[o+2]=c,n[a]=s,n[a+1]=l,n[a+2]=c;return n},Kw.prototype._computeVertexNormalsFromIndex=function(e,t,i){var n=new Float32Array(t.length);if(t){var r=0,o=0,a=0,s=new Ke,l=new Ke,c=new Ke,h=new Ke,d=new Ke;if(e)for(var u=e,p=0;u.length>p;p+=3)o=3*u[p+1],a=3*u[p+2],s.fromArray(t,r=3*u[p]),l.fromArray(t,o),c.fromArray(t,a),h.subVectors(c,l),d.subVectors(s,l),h.cross(d),n[r]+=h.x,n[r+1]+=h.y,n[r+2]+=h.z,n[o]+=h.x,n[o+1]+=h.y,n[o+2]+=h.z,n[a]+=h.x,n[a+1]+=h.y,n[a+2]+=h.z;else for(var g=0,f=t.length;f>g;g+=9)s.fromArray(t,g),l.fromArray(t,g+3),c.fromArray(t,g+6),h.subVectors(c,l),d.subVectors(s,l),h.cross(d),n[g]=h.x,n[g+1]=h.y,n[g+2]=h.z,n[g+3]=h.x,n[g+4]=h.y,n[g+5]=h.z,n[g+6]=h.x,n[g+7]=h.y,n[g+8]=h.z}return n},Kw.prototype.addMeshToInfoMap=function(e,t,i,n,r){var o=this.getNodeInfosByComponentKey(e);Array.isArray(o)&&o.forEach((function(e){e.nodeId===t&&(e.mesh=i,e.index=n,e.uv=e.uv||r)}))},Kw.prototype._parseGeo=function(){Bu.time("处理几何:计算法线");var e=this.referencedMeshCache;for(var t in e.bufferData){var i=e.bufferData[t];i.position.length!==i.normal.length&&(i.normal=i.normal.length===i.index.length?this._computeVertexNormalsFromFaceNormals(i.normal,i.index,i.position.length):this._computeVertexNormalsFromIndex(i.index,i.position))}Bu.timeEnd("处理几何:计算法线")};var Vw=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).taskPackManager=new Uy(du(n),"pack"),n.descriptor=new Kw(e.model),n.sceneTasks=[],n.progressState={file:0,zip:0,glTF:0},n}return i}(Wy);Vw.prototype.destroy=function(){for(var e in this.requests)this.requests.hasOwnProperty(e)&&(this.requests[e].abort&&this.requests[e].abort(),delete this.requests[e]);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()},Vw.prototype.load=function(e,t,i){this.startCallback=e,this.progressCallback=t,this.finishCallback=i,this.loadData()},Vw.prototype.loadData=function(){var e=this,t=this.model,i=t.getConfig(),n=i.scene;if(!n||!n.packs)return t.setEmptyScene(!0),Bu.error("scene is null,modelKey is ",t.modelKey),void t.dispatchEventEx({type:Fd.ON_LOAD_EMPTY_SCENE,modelKey:t.modelKey});var r=n.packs.length||0,o=[];if(gy(e.dataVersion,"3.0.0")?o=n.packs:Bu.error("数据版本错误"),e.maxLoadTaskCount=0,e.maxLoadTaskCount+=r,1>e.maxLoadTaskCount)return Bu.info("Nothing to load ",t.modelKey),void t.dispatchEventEx({type:Qd.SCENE_NOTHING_TO_LOAD,modelKey:t.modelKey});e.progress.total+=e.maxLoadTaskCount,e.startCallback&&e.startCallback(),Bu.time("数据加载时间"),e._onLoadTexture(),e._loadPack(o),e.offLine&&e.loadAttribute(),i.axis&&e._loadAxisNet(i.axis),e.maxLoadTaskCount+=1,e.loadFloorInfo(e.model.modelKey,(function(){e._onTaskFinished()})),e.loadSceneAndGeos(i)},Vw.prototype.progressInform=function(e,t){var i=this.model;switch(e){case"file":this.progressState.file=i.progressPercentage.file*(t/this.maxLoadTaskCount);break;case"zip":this.progressState.zip=i.progressPercentage.zip*(t/this.maxLoadTaskCount);break;case"glTF":this.progressState.glTF=i.progressPercentage.glTF*(t/this.maxLoadTaskCount)}this.notifyProgress&&(this.progressCallback&&this.progressCallback({total:this.maxLoadTaskCount,loaded:this.loadTaskCount+this.progressState.file+this.progressState.zip+this.progressState.glTF,modelKey:this.model.modelKey}))},Vw.prototype.loadSceneAndGeos=function(e){},Vw.prototype._loadScene=function(e){var t=new Jx(this);t.setCrossOrigin("anonymous");var i=this,n=[];Bu.time("glTF解析"),t.load(e.fileUrl,(function(t){var r=t.scene||t.scenes[0];if(Bu.timeEnd("glTF解析"),n.forEach(URL.revokeObjectURL),e.matrixDesc&&e.structDesc){var o=[e.matrixDesc,e.structDesc];e.geoInfo&&o.push(e.geoInfo),e.propInfo&&o.push(e.propInfo),e.elemInfo&&o.push(e.elemInfo),Bu.time("json加载和解析"),function(e,t,i,n){var r=[],o=0,a=t;function s(t){r.push(t),a.length>(o+=1)?l(a[o],i):n&&n(e,r)}function l(e,t){e?new Bl(t).load(e,(function(e){""===e&&(e="{}"),s(JSON.parse(e))}),null,(function(){s(null)})):s(null)}l(a[o],i)}(r,o,i,(function(e,t){Bu.timeEnd("json加载和解析"),i.getDescriptor().pushSceneTask({gltfScene:e,iMatrix:t[0],structDesc:t[1],geoInfo:t[2],propInfo:t[3],elemInfo:t[4],sceneTag:i.sceneTag}),i._onTaskFinished()}))}}),(function(e){i.progressInform("glTF",e.loaded/e.total)}),null)},Vw.prototype.dealProgressSegment=function(e,t){return.5*t},Vw.prototype._loadPack=function(e){var t=this;if(xd.getDataFromIndexedDB){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=function(i){if(e[n[i]])if(!0===e[n[i]].split){var r=e[n[i]].list,l=new Uint8Array(e[n[i]].length);o.getBatch(r,(function(e){for(var o=0;r.length>o;o+=1)e[r[o]]?l.set(new Uint8Array(e[r[o]]),4e7*o):Bu.error("获取分割pack失败");var a=n[i].indexOf("fileKey=");t.progressInform("file",1),t._parsePack(l.buffer,n[i].slice(a+8)),Bu.debug("load pack from local")}),(function(){Bu.error("获取分割pack失败")}))}else s=n[i].indexOf("fileKey="),t.progressInform("file",1),t._parsePack(e[n[i]],n[i].slice(s+8)),Bu.debug("load pack from local");else{if(a=t.taskPackManager,t.offLine){if(-1===(s=n[i].indexOf("data/")))return Bu.error("url is not has data/"),{v:void 0};a.addTask(n[i].slice(s+5))}else{if(-1===(s=n[i].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(n[i].slice(s+8))}a.processTasks(t.loadPack.bind(t)),Bu.debug("load pack from net")}},r=0;n.length>r;r+=1){var a,s,l=i(r);if("object"===nu(l))return l.v}}),(function(){for(var i=t.taskPackManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadPack.bind(t))}))}else{for(var a=this.taskPackManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadPack.bind(t))}},Vw.prototype._parsePack2=function(e,t,i){},Vw.prototype._parsePack=function(e,t,i){var n=this;if(e){var r=new Blob([e]);Bu.time("zip解压"),Bu.time("zip处理"),new Dx(new Ix(r)).getEntries().then((function(e){Bu.timeEnd("zip解压");var t={},i=[];Bu.time("zip解压-文件转换");for(var r=function(r){var o=e[r];i.push(o.getData(new xx).then((function(i){t["blob:./"+o.filename]=URL.createObjectURL(i),n.progressInform("zip",Object.keys(t).length/e.length)})))},o=0;e.length>o;o+=1)r(o);return Promise.all(i).then((function(){return Bu.timeEnd("zip解压-文件转换"),t}))})).then((function(e){return{urlResolver:function(t){return e[t]?e[t]:t},find:function(t){"string"==typeof t&&(t=new RegExp(t.replace(/\./g,"\\.")));var i=[];for(var n in e)null!==n.match(t)&&i.push(n);return i}}})).then((function(e){Bu.timeEnd("zip处理"),n.setURLModifier(e.urlResolver);var t=e.find("geoinfo.json"),i=e.find("properties.json"),r=e.find("components.json");n._loadScene({fileUrl:e.find(/\.(gltf|glb)$/i)[0],matrixDesc:e.find("smatrix.json")[0],structDesc:e.find("structdesc.json")[0],geoInfo:t.length>0?t[0]:null,propInfo:i.length>0?i[0]:null,elemInfo:r.length>0?r[0]:null,isFromZip:!0})})).catch(i)}else Bu.error("没有数据")},Vw.prototype.loadPack=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url;if(xd.UseGeoWorker);else{n.setResponseType("arraybuffer"),n.setCacheViable(!0);var a=n.load(o.mpkUrl(e),(function(n){i._parsePack(n,e),Bu.debug("component load from online"),t()}),(function(e){(e.lengthComputable||0!==e.total)&&i.progressInform("file",e.loaded/e.total)}),(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})}));i.requests.loadPack=a}};var Yw=function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=new pi(e+1),o=0==n?.5:Math.pow(2,n-1);return new Le(r.r,r.g,r.b,t?(i?1:-1)*o:0)},Hw=function(e){return e-1},jw=function(e){var t=this;this.viewer=e.viewer,this.scene=this.viewer.getScene(),this.idColorOverrideMaterial=new _s,this.DEBUG_OFFLINE_RT=!1,this.pickingTasks=[],this.setupInstancedShaderWithVertexColor=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{wireframe:!1},i=["vec3 colorTable[8];","colorTable[0] = vec3(1.0, 0.0, 0.0);","colorTable[1] = vec3(0.0, 1.0, 0.0);","colorTable[2] = vec3(0.0, 0.0, 1.0);","colorTable[3] = vec3(1.0, 1.0, 0.0);","colorTable[4] = vec3(1.0, 0.0, 0.0);","colorTable[5] = vec3(1.0, 0.5, 0.0);","colorTable[6] = vec3(1.0, 0.8, 0.0);"].join("\n"),n=["attribute vec4 instanceColor;","attribute vec4 instanceShows;","attribute vec4 instanceDiffuses;","varying vec4 vInstanceColor;","varying vec4 vInstanceDiffuse;",t.wireframe?"attribute vec4 texcoord2;":"",t.wireframe?"varying vec3 vBarycentric;":"","#include <common>"].join("\n"),r=["#include <begin_vertex>","\tvInstanceColor = instanceColor;","\tvInstanceDiffuse = instanceDiffuses;",t.wireframe?"\tvBarycentric = texcoord2.xyz;":""].join("\n"),o=["vec4 decodeF2V(float value){","return mod(floor(vec4(value + 0.003921, value * 0.5 + 0.003921, value * 0.25 + 0.003921, value * 0.125 + 0.003921)), vec4(2.0));","}"].join("\n"),a=["vec4 decodeF2VEx(float value){","return mod(floor(vec4(value * 0.0625 + 0.003921, value * 0.03125 + 0.003921, value * 0.015625 + 0.003921, value * 0.0078125 + 0.003921)), vec4(2.0));","}"].join("\n"),s=["float detectEdge(){","vec3 d = fwidth(vBarycentric);","vec3 a3 = smoothstep(vec3(0.0), d * 2.5, vBarycentric);","return min(min(a3.x, a3.y), a3.z);","}"].join("\n"),l=["varying vec4 vInstanceColor;","varying vec3 vBarycentric;","varying vec4 vInstanceDiffuse;",o,a,t.wireframe?s:"","#include <common>"].join("\n"),c=["if (vInstanceColor.w == 0.0)discard;","float opacityEpsilon = sign(vInstanceColor.w);","vec4 colorFlag = decodeF2V(abs(vInstanceColor.w));","vec4 colorFlagEx = decodeF2VEx(abs(vInstanceColor.w));",i,"vec3 instanceColor = vInstanceDiffuse.rgb * diffuse;","vec4 diffuseColor = vec4( instanceColor * (1.0 - (colorFlag.x + colorFlag.y + colorFlag.z + colorFlag.w) ) + ","colorTable[0] * colorFlag.x + ","colorTable[1] * colorFlag.y + ","colorTable[2] * colorFlag.z + ","colorTable[3] * colorFlag.w + ","colorTable[4] * colorFlagEx.x + ","colorTable[5] * colorFlagEx.y + ","colorTable[6] * colorFlagEx.z,","opacity);"].join("\n"),h=[t.wireframe?"outgoingLight.xyz = mix(vec3(0.0), outgoingLight.xyz, max(colorFlagEx.w, detectEdge()));":"","gl_FragColor = vec4(outgoingLight, diffuseColor.a );"].join("\n");e.onBeforeCompile2=e.onBeforeCompile,e.onBeforeCompile=function(t,i){t.vertexShader=t.vertexShader.replace("#include <common>",n).replace("#include <begin_vertex>",r).replace("#include <fog_vertex>","#include <fog_vertex>\ngl_Position *= instanceShows.x;"),t.fragmentShader=t.fragmentShader.replace("#include <common>",l).replace("vec4 diffuseColor = vec4( diffuse, opacity );",c).replace("gl_FragColor = vec4( outgoingLight, diffuseColor.a );",h),e.onBeforeCompile2&&e.onBeforeCompile2(t,i)},t.wireframe&&(e.extensions={derivatives:!0})},this.getPickedIdByMouseEx=function(e,i,n,r){var o=e*t.offlineWidth,a=i*t.offlineHeight,s=t.viewer.camera;!function(e){if(t.applySize(),t.idColorOverrideMaterial){var i=["attribute vec4 instanceColor;","attribute vec4 instanceShows;","varying vec4 vInstanceColor;","#include <common>"].join("\n"),n=["#include <begin_vertex>","\tvInstanceColor = instanceColor;"].join("\n"),r=["varying vec4 vInstanceColor;","#include <common>"].join("\n"),o=["gl_FragColor = vec4(vInstanceColor.xyz, 1.0 );"].join("\n");t.idColorOverrideMaterial.onBeforeCompile=function(e,t){e.vertexShader=e.vertexShader.replace("#include <common>",i).replace("#include <begin_vertex>",n).replace("#include <fog_vertex>","#include <fog_vertex>\ngl_Position *= instanceShows.x;"),e.fragmentShader=e.fragmentShader.replace("#include <common>",r).replace("gl_FragColor = vec4( outgoingLight, diffuseColor.a );",o)}}t.scene.overrideMaterial=t.idColorOverrideMaterial,t.offlineRenderer.setRenderTarget(t.DEBUG_OFFLINE_RT?null:t.pickingRenderTarget),t.offlineRenderer.clearDepth(),t.offlineRenderer.clear(),t.offlineRenderer.render(t.scene,e),t.scene.overrideMaterial=null}(s),t.offlineRenderer.readRenderTargetPixels(t.pickingRenderTarget,o,t.offlineHeight-a,1,1,t.pixelBuffer);var l,c,h,d,u,p={pickedId:Hw(t.pixelBuffer[0]<<16|t.pixelBuffer[1]<<8|t.pixelBuffer[2])};return r||(!function(e){if(t.applySize(),t.normalDepthOverrideMaterial||(t.normalDepthOverrideMaterial=new tl),t.normalDepthOverrideMaterial){var i=["varying vec4 projectionPosition;","varying vec4 modelviewPosition;","varying vec3 worldNormal;","#include <common>"].join("\n"),n=["projectionPosition = projectionMatrix * mvPosition;","modelviewPosition = mvPosition;","#include <clipping_planes_vertex>","worldNormal = normal;"].join("\n"),r=["varying vec4 projectionPosition;","varying vec4 modelviewPosition;","varying vec3 worldNormal;","uniform sampler2D tDepth;","#include <packing>"].join("\n"),o=["vec2 screenUV = (projectionPosition.xy / vec2( projectionPosition.w) + vec2(1.0)) * 0.5;","float sceneRawDepth = texture2D( tDepth, screenUV ).x;","gl_FragColor = vec4(packNormalToRGB(worldNormal), sceneRawDepth);"].join("\n");t.normalDepthOverrideMaterial.onBeforeCompile=function(e){e.uniforms.tDepth={value:t.pickingRenderTarget.depthTexture},e.vertexShader=e.vertexShader.replace("#include <common>",i).replace("#include <clipping_planes_vertex>",n),e.fragmentShader=e.fragmentShader.replace("#include <packing>",r).replace("gl_FragColor = vec4( packNormalToRGB( normal ), opacity );",o)}}t.scene.overrideMaterial=t.normalDepthOverrideMaterial,t.offlineRenderer.setRenderTarget(t.DEBUG_OFFLINE_RT?null:t.ndRenderTarget),t.offlineRenderer.clearDepth(),t.offlineRenderer.render(t.scene,e),t.scene.overrideMaterial=null}(s),t.offlineRenderer.readRenderTargetPixels(t.ndRenderTarget,o,t.offlineHeight-a,1,1,t.pixelBufferFloat),l=new Ke(2*t.pixelBufferFloat[0]-1,2*t.pixelBufferFloat[1]-1,2*t.pixelBufferFloat[2]-1),h=s,d=new ke(e,i),u=new Le(2*d.x-1,-(2*d.y-1),2*t.pixelBufferFloat[3]-1,1).applyMatrix4(h.projectionMatrixInverse),c=new Le(u.x/u.w,u.y/u.w,u.z/u.w,1).applyMatrix4(h.matrixWorld),p.normal=l,p.point=(new Ke).copy(c),p.distance=s.position.clone().sub(c).length()),n&&n(p),p},this.applySize=function(){var e=this.viewer.rendererManager.getRendererSize();t.offlineRenderer.setSize(e.x,e.y)},t.offlineWidth=200,t.offlineHeight=t.offlineWidth,t.offlineRenderer=new Po,t.offlineRenderer.setPixelRatio(window.devicePixelRatio),t.offlineRenderer.setSize(t.offlineWidth,t.offlineHeight),t.offlineRenderer.setClearColor(16777215),t.offlineRenderer.autoClear=!1,t.pickingRenderTarget=new Oe(t.offlineWidth,t.offlineHeight),t.pickingRenderTarget.texture.generateMipmaps=!1,t.pickingRenderTarget.texture.minFilter=A,t.pickingRenderTarget.texture.magFilter=A,t.pickingRenderTarget.stencilBuffer=!1,t.pickingRenderTarget.depthBuffer=!0,t.pickingRenderTarget.depthTexture=new za,t.pickingRenderTarget.depthTexture.type=E,t.ndRenderTarget=new Oe(t.offlineWidth,t.offlineHeight,{type:B}),t.ndRenderTarget.texture.generateMipmaps=!1,t.ndRenderTarget.texture.minFilter=A,t.ndRenderTarget.texture.magFilter=A,t.ndRenderTarget.stencilBuffer=!1,t.pixelBuffer=new Uint8Array(4),t.pixelBufferFloat=new Float32Array(4),t.currentPickedId=16777215},Ww=function(e){return kv.call(this),this.manager=e,this._maxIndiceseNum=0,this._materialList=[],this.mapMaterialIdToMergedNode={},this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.blinkMaterials=[],this.mapDestroyedBufferKey={},this};function Jw(e,t,i,n){for(var r=e.getAttribute("position").array,o=t;i>o;o+=3)r[o]+=n.x,r[o+1]+=n.y,r[o+2]+=n.z;e.getAttribute("position").needsUpdate=!0}(Ww.prototype=Object.create(kv.prototype)).destroy=function(){this.dispose(),this.clearData(),this.mapMaterialIdToMergedNode={},this.manager=null,this._materialList=[],this.selectedMeshes=[],this.nonSelectedMeshes=[],this.selectedObjectIds=[],this.blinkMaterials=[],this.mapDestroyedBufferKey={}},Ww.prototype.clearData=function(){this.bufferDestroyed=!1,this.clearAllNodeBuffer(),this._disposeMergedGeometries()},Ww.prototype.createMeshNodes=function(e,t,i){Bu.time("createMesh");var n=this,r=this._getNodeGroup(e),o=e.getModelDescriptor(),a=e.materialManager,s=e.manager,l=a.materials,c=o.sceneTasks[0],h=c.iMatrix,d=c.structDesc,u=c.gltfScene.children[0];u.updateMatrix(!0);var p=c.gltfScene.children.length==d.length?c.gltfScene.children:u.children;if(p.length!=d.length)console.error("Mesh doesnt match description!");else for(var g=d.length,f=0;g>f;++f){var m=p[f],A=d[f],y=[],v=[],C=[],I=m.material.clone();I.map&&(I.map.encoding=X),l[I.name]=I,m.visible=!1,e.picker?e.picker.setupInstancedShaderWithVertexColor(I):Bu.error("缺失拾取器"),C.push(I);for(var x=0;A.length>x;++x){var w=h[A[x].n].it.length+1;v.push(w),y.push(S={start:A[x].s,count:A[x].c,instanceCount:w,name:A[x].n})}var M=new ry(m.geometry,C,1,v);n._cacheGeometry(m.geometry.id,m.geometry),M.geometry.clearGroups();for(var E=0,B=0;y.length>B;++B){var S,b=h[(S=y[B]).name].it,k=h[S.name].id;E++,M.geometry.addGroupInstanced(3*S.start,3*S.count,0,B);for(var D=b.length+1,T=0;D>T;T++){var R=null,U=new yt,F=0;if(T==b.length){R=(Q=new yt).multiply(u.matrix),F=parseInt(S.name,10)}else{var Q,L=b[T];(Q=new yt).set(L[0],L[1],L[2],L[3],L[4],L[5],L[6],L[7],L[8],L[9],L[10],L[11],0,0,0,1),U.set(L[0],L[1],L[2],L[3],L[4],L[5],L[6],L[7],L[8],L[9],L[10],L[11],0,0,0,1),R=Q.multiply(u.matrix),F=k[T]}M.setInstanceMatrixAt(B,T,R);var O=Yw(F);M.setInstanceColorAt(B,T,O);var N=null,P={};c.elemInfo&&c.elemInfo[F]&&(N=(P=c.elemInfo[F]).key),n.manager.model.getModelDescriptor()._readMeshInfo({elementId:F,mesh:M,groupStart:S.start,groupCount:S.count,matrix:U.clone(),materialId:I.name,key:N,info:P,groupIndex:B,subInstanceIndex:T}),n.manager.model.getModelDescriptor().rootGroupNodeMatrix=u.matrix}}M.geometry._originalGroups=wp.clone(M.geometry.groups,!0),M.modelKey=e.modelKey,s.addMeshToOctantMap(e.modelKey,M.uuid,new Bm(M.uuid,M)),E>0&&r.add(M)}Bu.timeEnd("createMesh")},Ww.prototype._getNodeGroup=function(e){return e._getNodeGroup(Vp.SLM,{globalSpace:!0})},Ww.prototype.getMeshesByUserIds=function(e,t){var i=[];for(var n in this.mapMaterialIdToMergedNode)for(var r=this.mapMaterialIdToMergedNode[n],o=0,a=r.length;a>o;o+=1){var s=r[o],l=s.indices[t];if(l)for(var c=0,h=l.length;h>c;c+=1){var d={};d.mesh=s.mesh,d.indexInfo=l[c],d.matrix=e.getModelMatrix(),i.push(d)}}return i},Ww.prototype.rebuildIndices=function(e){this._materialList.length=0;var t=xd.EnableLightmap&&e.lightmap;this.clearSelectedObjectIds();var i=this.manager.getFilteredUserIds(),n=this.manager.getSelectedUserIds(),r=this.manager.getHoveredUserIds(),o=this.manager.getBlinkedUserIds();e.hasReplacedUserId();var a=e.manager.scene.fillClipPlane&&xd.ClippingCaps,s={};for(var l in this.mapMaterialIdToMergedNode){var c,h=this.getPropertyValueByMaterialKey(l).materialId,d=null,u=null,p=null,g=null,f=null,m=null,A=null,y=null,v=null;n&&n[h]&&(g=n[h]),r&&r[h]&&(f=r[h]),o&&o[h]&&(m=o[h]),i&&i[h]&&(d=i[h][Zd.HIDDEN],u=i[h][Zd.OVERRIDED],p=i[h][Zd.TRANSPARENT]);var C=this.mapMaterialIdToMergedNode[l];for(v=0,c=C.length;c>v;v+=1){var I=C[v],x=I.indices,w=I.geometry;if(w.clearGroups(),w._visible=!0,t)for(var M=e.lightmapNum,E=0;M>E;E+=1){var B="lightmap|"+E;-1===this._materialList.indexOf(B)&&this._materialList.push(B)}if(g||d||u||f||p||xd.EnableLightmap||a||m||e.isUpdateBlink){var S=[];for(var b in x)if(x.hasOwnProperty(b)){if(d&&d[b])continue;var k=x[b];if(k&&k.length>0){if(k.sort((function(e,t){return e.indexStart-t.indexStart})),p&&p[b]){for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.TRANSPARENT});continue}if(e.manager.isSelectPriority()){if(g&&g[b]){if(this.cacheSelectedObjectIds(b,l,v),xd.PickingEffect){if(u&&u[b]){var D=u[b],T=this._materialList.indexOf(D);for(-1===T&&(this._materialList.push(D),T=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+T});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.NONE});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.SELECTED});continue}if(m&&m[b]){if(u&&u[b]){var R="blink|"+u[b],U=this._materialList.indexOf(R);for(-1===U&&(this._materialList.push(R),U=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+U});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.BLINK});continue}}else{if(m&&m[b]){if(u&&u[b]){var F="blink|"+u[b],Q=this._materialList.indexOf(F);for(-1===Q&&(this._materialList.push(F),Q=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+Q});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.BLINK});continue}if(g&&g[b]){if(this.cacheSelectedObjectIds(b,l,v),xd.PickingEffect){if(u&&u[b]){var L=u[b],O=this._materialList.indexOf(L);for(-1===O&&(this._materialList.push(L),O=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+O});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.NONE});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.SELECTED});continue}}if(e.blinkMapComponentKeyToMaterialName&&e.blinkMapComponentKeyToRenderState[b]){var N=e.blinkMapComponentKeyToMaterialName[b],P=this._materialList.indexOf(N);for(-1===P&&(this._materialList.push(N),P=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+P});continue}if(f&&f[b]){if(u&&u[b]){var G=this._materialList.indexOf(K="hover|"+u[b]);for(-1===G&&(this._materialList.push(K),G=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+G});continue}for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.HOVER});continue}if(u&&u[b]){var K,V=this._materialList.indexOf(K=u[b]);for(-1===V&&(this._materialList.push(K),V=this._materialList.length-1),A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+V});continue}if(a&&s[b]){for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.CLIPPING});continue}if(xd.EnableLightmap)for(A=0,y=k.length;y>A;A+=1){var Y=this._materialList.indexOf("lightmap|"+k[A].lightmapIdx);S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:Zd.OVERRIDED+Y})}else for(A=0,y=k.length;y>A;A+=1)S.push({indexStart:k[A].indexStart,indexCount:k[A].indexCount,state:0})}}if(S.length>0)for(S.sort((function(e,t){return e.state===t.state?e.indexStart-t.indexStart:e.state-t.state})),A=0,y=S.length;y>A;A+=1){var H=S[A].indexStart,j=S[A].indexCount,W=S[A].state;if(0===A)w.addGroup(H,j,W);else W===S[A-1].state&&H===S[A-1].indexStart+S[A-1].indexCount?w.groups[w.groups.length-1].count+=j:w.addGroup(H,j,W)}else w._visible=!1}}}},Ww.prototype.update=function(e,t){var i=e.manager.filter,n=e.materialManager.materials,r=e.selectedMaterial,o=e.manager.sceneState,a=null,s=null,l=null,c=null,h=null,d=null,u=xd.EnableLightmap&&e.lightmap;if(e.isOnlyWireframe())for(var p in this.mapMaterialIdToMergedNode){var g=this.mapMaterialIdToMergedNode[p];for(l=0,c=g.length;c>l;l+=1){var f=g[l].mesh;f&&(f.visible=!1)}}else{xd.TranslucentDepthDisabled&&(r.depthWrite=!r.transparent);var m=i._getMaterialByName("scene");xd.TranslucentDepthDisabled&&(m.depthWrite=!1);var A=[];this.blinkMaterials.length=0;var y={};if(!u)for(a=0,s=this._materialList.length;s>a;a+=1){var v=null,C=this._materialList[a],I=C.split("|");"blink"===C.split("_")[0]?v=e.blinkMapMaterialNameToMaterial[C]:"hover"===I[0]?(v=i._getMaterialByName(I[1]),v=o.getHoverMaterial(v)):"blink"===I[0]?(v=i._getMaterialByName(I[1]),v=o.getBlinkMaterial(v),y[C]||this.blinkMaterials.push(v)):v=i._getMaterialByName(C)?i._getMaterialByName(C):this.manager.model.materialManager.getMaterialById(C),xd.TranslucentDepthDisabled&&(v.depthWrite=!v.transparent),A[a]=v}for(var x in this.mapMaterialIdToMergedNode){var w=this.getPropertyValueByMaterialKey(x).materialId,M=e.manager.getOverrideMaterialByName(w)||n[w]||cA.getDefaultStandardMaterial();if(M){if(u)for(a=0,s=this._materialList.length;s>a;a+=1){var E=null,B=this._materialList[a].split("|");if("lightmap"===B[0])if(xd.IBL)E=M.clone();else{var S=cA.getMaterialParameters(M);S.lights=!1,(E=cA.createStandardMaterial(S)).lightMap=e.materialManager.lightmaps[B[1]],E.lightMapIntensity=xd.LightmapIntensity}xd.TranslucentDepthDisabled&&E&&(E.depthWrite=!E.transparent),A[a]=E}xd.TranslucentDepthDisabled&&(M.depthWrite=!M.transparent);var b=o.getHoverMaterial(n[w]);xd.TranslucentDepthDisabled&&(b.depthWrite=!b.transparent);var k=this.mapMaterialIdToMergedNode[x];for(l=0,c=k.length;c>l;l+=1){var D=k[l],T=D.geometry;if(null!==T){var R=D.mesh;if(R)if(T._visible){if(T.groups.length>0){var U=y[w];U||(U=y[w]=o.getBlinkMaterial(M),this.blinkMaterials.push(U));var F=[M,r,U,b,m];for(a=0,s=A.length;s>a;a+=1){if(!A[a].createByBos){if(A[a].materialId!==w&&!A[a].mapNodeIdToOrigMatId)continue;if(!Object.keys(A[a].mapNodeIdToOrigMatId).find((function(e){return A[a].mapNodeIdToOrigMatId[e]===w})))continue}for(var Q in T.attributes.uv||(A[a].map=null),k[l].indices){if(e.blinkMapComponentKeyToMaterialName&&e.blinkMapComponentKeyToRenderState[Q])A[a].name&&A[a].name===e.blinkMapComponentKeyToMaterialName[Q]&&(F[5+a]=A[a]);else if(this.manager.mapMaterialIdToUserIdsForFilter[w]&&this.manager.mapMaterialIdToUserIdsForFilter[w][Zd.OVERRIDED])for(var L=Object.keys(this.manager.mapMaterialIdToUserIdsForFilter[w][Zd.OVERRIDED]),O=0,N=L.length;N>O;O+=1)Q===L[O]&&(F[5+a]=A[a])}}if(t){var P=[];for(h=0,d=F.length;d>h;h+=1)P.push(t);F=P}R.material=F}else R.material=t||M;R.visible=!0}else R.visible=!1;else Bu.error("没有mesh对象")}}M=null}}e.isUpdateBlink=!1}},Ww.prototype.explode=function(e,t,i){for(var n in this.mapMaterialIdToMergedNode)for(var r=this.mapMaterialIdToMergedNode[n],o=0,a=r.length;a>o;o+=1){var s=r[o],l=s.geometry;if(null!==l){var c=s.indices;for(var h in c){var d=e.manager.getComponentInfoByUserId(h).boundingBox,u=wp.computeExplodeTranslation(t,d,i),p=c[h];if(p)for(var g=0,f=p.length;f>g;g+=1){var m=p[g].positionStart;Jw(l,m,m+p[g].positionCount,u)}}}}},Ww.prototype.explosion=function(e,t){var i=e.getModelDescriptor().getStandardUserIds();t.componentKey=i,this.componentsExplosion(e,t)},Ww.prototype.closeExplosion=function(e){this.explosion(e,{})},Ww.prototype.componentsExplosion=function(e,t){var i=t.coefficientX||1,n=t.coefficientY||1,r=t.coefficientZ||1,o=t.offsetX||0,a=t.offsetY||0,s=t.offsetZ||0,l=null;if(t.center)l=(new Ke).fromArray(t.center);else if(1!==i||1!==n||1!==r||0!==o||0!==a||0!==s)return;var c=Array.isArray(t.componentKey)?t.componentKey:[t.componentKey],h=new Ke,d=new He,u=new Ke(0,0,0),p=new Ke(0,0,0),g=new Ke,f=new yt,m=e.getModelMatrix();m&&l&&(f.copy(m).invert(),l.applyMatrix4(f));var A=e.manager,y=!1,v=new Ke,C=new Ge,I=new Ke(1,1,1);wp.isEmptyObject(e.subModel)||(y=!0);for(var x=0,w=c.length;w>x;x+=1){var M=c[x];if(M){var E=e.getModelDescriptor().getStandardNodeInfosById(M);if(E)for(var B=0,S=E.length;S>B;B+=1){var b=E[B];if(b){var k=this._getMaterialKeyByNodeInfo(b),D=this.mapMaterialIdToMergedNode[k];if(D)for(var T=0,R=D.length;R>T;T+=1){var U=D[T],F=U.geometry,Q=U.mesh;if(F&&Q){var L=U.indices;if(L){var O=L[M];if(O){d.copy(b.boundingBox),d.getCenter(h),b.userData||(b.userData={}),u.set(0,0,0),p.set(0,0,0);var N=new Ke(1,1,1);if(y&&(Q.matrix.decompose(v,C,I),N.divide(I)),1!==i||1!==n||1!==r||b.userData.explosionFactor){b.userData.explosionFactor||(b.userData.explosionFactor=new Ke(1,1,1),b.userData.explosionBaseDifference=h.sub(l).clone().multiply(N));var P=b.userData.explosionFactor,G=b.userData.explosionBaseDifference;u.set((i-P.x)*G.x,(n-P.y)*G.y,(r-P.z)*G.z),1===i&&1===n&&1===r?(b.userData.explosionFactor=void 0,b.userData.explosionBaseDifference=void 0):P.set(i,n,r)}if(0!==o||0!==a||0!==s||b.userData.explosionOffset){b.userData.explosionOffset||(b.userData.explosionOffset=new Ke(0,0,0));var K=b.userData.explosionOffset;p.set(o*N.x-K.x,a*N.y-K.y,s*N.z-K.z),0===o&&0===a&&0===s?b.userData.explosionOffset=void 0:K.set(o*N.x,a*N.y,s*N.z)}if(g.set(u.x+p.x,u.y+p.y,u.z+p.z),0!==g.x||0!==g.y||0!==g.z){b.userData.explosionFactor||b.userData.explosionOffset?A.explosionList[M]||(A.explosionList[M]=!0):delete A.explosionList[M];var V=g.clone().multiply(I);f.makeTranslation(V.x,V.y,V.z),b.userData.changeOffset=g.clone(),b.transformation||(b.transformation=!0,b.transformationOriginalMatrix=b.matrix.clone(),b.applyMatrix=new yt,b.transformationOriginalBoundingBox=b.boundingBox.clone()),b.matrix.premultiply(f),b.applyMatrix.premultiply(f),b.boundingBox.copy(b.transformationOriginalBoundingBox).applyMatrix4(b.applyMatrix);for(var Y=0,H=O.length;H>Y;Y+=1){var j=O[Y].positionStart;Jw(F,j,j+O[Y].positionCount,g)}F.attributes.position.needsUpdate=!0}}}}}}}}}},Ww.prototype.closeComponentsExplosion=function(e,t){t=Array.isArray(t)?t:[t];this.componentsExplosion(e,{componentKey:t})},Ww.prototype._hasNodeGroup=function(e){return e._hasNodeGroup(Vp.GEOMETRY)},Ww.prototype._resetMaxIndicesNumberPerBathSegment=function(e){xd.SegmentedBatchMergeEnable&&this._maxIndiceseNum>xd.maxIndicesNumberPerBathSegment&&(Bu.log("adjust maxIndicesNumberPerBathSegment value from "+xd.maxIndicesNumberPerBathSegment+" to "+this._maxIndiceseNum+"!"),xd.maxIndicesNumberPerBathSegment=e)},Ww.prototype.createBatchedMeshNodes=function(e,t){var i=this,n=this.mapMaterialIdToMergedNode,r=e.manager,o=e.modelKey,a=e._encodedDatabagId,s=this._getNodeGroup(e),l=e.materialManager,c=t.materialKey,h=i.getPropertyValueByMaterialKey(c),d=l.getMaterialById(h.materialId);if(!d){var u=Object.keys(t.componentInfo)[0],p=t.componentInfo[u][0].nodeId,g=e.getModelDescriptor().getNodeInfosByNodeId(p);if(!g)return;g.uv="1"===h.uvProp,c=i._getMaterialKeyByNodeInfo(g,e),h=i.getPropertyValueByMaterialKey(c),d=l.getMaterialById(h.materialId)}var f=new Ni;if(f._visible=!0,f.setIndex(new Ai(t.index,1)),t.position&&t.position.length>0){f.setAttribute("position",new Ai(t.position,3)),t.normal&&t.normal.length===t.position.length&&f.setAttribute("normal",new Ai(t.normal,3));var m=!1;t.uv&&t.uv.length>0>0&&(f.setAttribute("uv",new Ai(t.uv,2)),m=!0),d.aoMap&&f.setAttribute("uv2",new Ai(t.uv,2)),f.getAttribute("normal")||f.computeVertexNormals();var A=t.componentInfo;n[c]||(n[c]=[]);var y=null;if("lines"===h.type)(y=new ov(f)).modelKey=o;else{var v={modelKey:o};(y=new Bv(f,d)).spawn(v)}if(n[c].push({geometry:f,indices:A,mesh:y}),y._indicesGroup=A,!wp.isEmptyObject(e.subModel)){var C=Object.keys(A)[0];if(C){var I=wp.getModelKeyFromComponentKey(C);e.subModel[I]&&y.matrix.copy(e.subModel[I])}}s.add(y),r.addMeshToOctantMap(a,c,new Mm(c,y));var x=function(t){A.hasOwnProperty(t)&&A[t].forEach((function(i){e.addMeshToInfoMap(t,i.nodeId,y,i,m)}))};for(var w in A)x(w);s.updateMatrixWorld(!0),e.manager.viewerImpl.render(),A=null,y=null}},Ww.prototype._asyncMergeData=function(e,t,i){Bu.time("MergeData");var n={},r=this,o=e.getLoader().maxLoadTaskCount,a=e.progressPercentage.load,s=e.progressPercentage.collect,l=t.length,c=Math.ceil(l/e.progressFrequency),h=e.getModelDescriptor().getStandardNodeInfos();requestAnimationFrame(function d(u){var p=u;return function(){var u=null,g=null;for(g=p+c>l?l:p+c,u=p;g>u;u+=1){if(r._collectMergedNodeInfosById(e,t[u],h,n),u===g-1)if(g!==l)e.dispatchEventEx({type:Fd.ON_LOAD_PROGRESS,progress:{total:o,loaded:(u/l*s+a)*o,modelKey:e.modelKey}}),requestAnimationFrame(d(u+1));else e.dispatchEventEx({type:Fd.ON_LOAD_PROGRESS,progress:{total:o,loaded:(s+a)*o,modelKey:e.modelKey}}),r._asyncMergeGeometry(n,e,i)}}}(0))},Ww.prototype._asyncMergeGeometry=function(e,t,i){var n=[];for(var r in e)n.push(r);if(0!==n.length){this._resetMaxIndicesNumberPerBathSegment(this._maxIndiceseNum);var o=this,a=t.getLoader().maxLoadTaskCount,s=t.progressPercentage.load,l=t.progressPercentage.collect,c=t.progressPercentage.merge,h=n.length,d=Math.ceil(h/t.progressFrequency),u=this.mapMaterialIdToMergedNode;requestAnimationFrame(function r(p){var g=p;return function(){var p,f=null;for(f=g+d>h?h:g+d,p=g;f>p;p+=1){if(o._collectMergedGeometriesById(n[p],e,u),p===f-1)if(f!==n.length)t.dispatchEventEx({type:Fd.ON_LOAD_PROGRESS,progress:{total:a,loaded:(p/h*c+s+l)*a,modelKey:t.modelKey},modelKey:t.modelKey}),requestAnimationFrame(r(p+1));else i()}}}(0))}else i()},Ww.prototype._collectMergedNodeInfosById=function(e,t,i,n){for(var r=i[t],o=0,a=r.length;a>o;o+=1){var s=r[o];this._createNodeBuffer(e,s);var l=this._getNodeBufferBy(s.nodeId);if(l){var c=l.index;c&&c.length>this._maxIndiceseNum&&(this._maxIndiceseNum=c.length);var h=this._getMaterialKeyByNodeInfo(s,e);void 0===n[h]&&(n[h]=[]),n[h].push(s)}}},Ww.prototype._collectMergedGeometriesById=function(e,t,i){var n=t[e];void 0===i[e]&&(i[e]=[]);for(var r=[],o=Math.max(n.length/800,500),a=Math.floor(n.length/o),s=n.length,l=0;a>=l;l+=1){for(var c=0,h=0,d=0,u=0,p=0,g=null,f=!1,m=0,A=0,y=s>o?o:s;y>A;A+=1){var v=l*o,C=n[v+A];if(!C)break;(g=this._getNodeBufferBy(C.nodeId))?(h+=g.index.length,c+=g.position.length,g.normal&&(d+=g.normal.length),g.uv&&g.uv.length>0?(f=!0,u+=g.uv.length):u+=g.position.length/3*2,g.uv2&&(p+=g.uv2.length),xd.SegmentedBatchMergeEnable&&h>xd.maxIndicesNumberPerBathSegment?(g.normal&&(d-=g.normal.length),g.uv&&(u-=g.uv.length),g.uv2&&(p-=g.uv2.length),r.push({start:m,end:A,steps:v,arrayPositionLength:c-=g.position.length,arrayIndexLength:h-=g.index.length,arrayNormalLength:d,arrayUVLength:u,arrayUV2Length:p}),c=0,h=0,d=0,u=0,p=0,m=A,A-=1):A===y-1&&r.push({start:m,end:y,steps:v,arrayPositionLength:c,arrayIndexLength:h,arrayNormalLength:d,arrayUVLength:u,arrayUV2Length:p}),g=null):A===y-1&&r.push({start:m,end:y,steps:v,arrayPositionLength:c,arrayIndexLength:h,arrayNormalLength:d,arrayUVLength:u,arrayUV2Length:p})}s-=o}for(var I=0,x=r.length;x>I;I+=1){for(var w=r[I],M=new Ni,E={},B=new Float32Array(w.arrayPositionLength),S=new Uint32Array(w.arrayIndexLength),b=new Float32Array(w.arrayNormalLength),k=new Float32Array(w.arrayUVLength),D=new Float32Array(w.arrayUV2Length),T=0,R=0,U=0,F=0,Q=0,L=[],O=w.start,N=w.end;N>O;O+=1){var P=n[w.steps+O];if(g=this._getNodeBufferBy(P.nodeId)){L.push(P.nodeId);var G=g.index,K=g.position,V=g.normal,Y=g.uv,H=g.uv2;B.set(K,T);for(var j=new Uint32Array(G),W=0,J=j.length;J>W;W+=1)j[W]+=T/3;S.set(j,R),void 0===E[P.userId]&&(E[P.userId]=[]),E[P.userId].push({userId:P.userId,nodeId:P.nodeId,positionStart:T,positionCount:K.length,indexStart:R,indexCount:G.length,lightmapIdx:P.lightmapIdx,boundingBox:P.boundingBox}),R+=G.length,T+=K.length,V&&(b.set(V,U),U+=V.length),f&&(Y?(k.set(Y,F),F+=Y.length):(k.set(new Float32Array(K.length/3*2),F),F+=Y.length)),H&&(D.set(H,Q),Q+=H.length),G=null,K=null,V=null,Y=null,H=null,g=null}}this.clearNodeBufferByNodeIds(L),M._visible=!0,M.setIndex(new Ai(S,1)),M.setAttribute("position",new Ai(B,3)),U>0&&M.setAttribute("normal",new Ai(b,3)),F>0&&M.setAttribute("uv",new Ai(k,2)),Q>0&&M.setAttribute("uv2",new Ai(D,2)),i[e].push({geometry:M,indices:E})}},Ww.prototype.clearAllNodeBuffer=function(){this.cachedNodeBuffer&&(this.cachedNodeBuffer={})},Ww.prototype.clearNodeBufferByNodeIds=function(e){if(this.cachedNodeBuffer)for(var t=0,i=e.length;i>t;t+=1)this.cachedNodeBuffer[e[t]]=null},Ww.prototype._getNodeBufferByNodeInfo=function(e,t){return this.cachedNodeBuffer||this._createNodeBuffer(e,t),this.cachedNodeBuffer[t.nodeId]},Ww.prototype._getNodeBufferBy=function(e){return this.cachedNodeBuffer?this.cachedNodeBuffer[e]:null},Ww.prototype._createNodeBufferForMergedBuffer=function(e,t,i){this.cachedNodeBuffer||(this.cachedNodeBuffer={}),this.cachedNodeBuffer[t.nodeId]||(this.cachedNodeBuffer[t.nodeId]=this.createBufferByBufferDataWithUV2(e,t,i))},Ww.prototype._createNodeBuffer=function(e,t){this._createNodeBufferForMergedBuffer(e,t,{buffer:e.getModelDescriptor().getReferencedMeshBufferById(t.geometryId),isDataView:!0})},Ww.prototype._createGeometries=function(e,t){var i=this,n=e.getModelDescriptor().getNodeInfosOnGeometryId(),r=e.getModelDescriptor().getReferencedMeshBufferData(),o=this._getClassifiedMeshes(n,r);this._dealDataMergedMeshs(e,o,r,n,(function(){i._dealDataMergeableMeshs(e,o,r,n,t)}))},Ww.prototype._getClassifiedMeshes=function(e,t){var i=[],n=[];for(var r in t){var o=t[r].IndexInfos,a=void 0;if(o){if(1>o.length)continue;for(var s=0,l=o.length;l>s;s+=1){if((c=e[o[s].meshId])&&c.length){a=o[s].meshId;break}}}else{var c;(c=e[r])&&c.length&&(a=r)}if(void 0!==a)(c=e[a])&&c.length&&(c[0].type===zy.EnumNodeItemType.LINE||!c[0].instanceOrNot&&c[0].shared?i.push(r):n.push(r))}if(!xd.Instance)for(var r in e)n[r]||i[r]||i.push(r);return{mergeableIdxs:i,mergedIdxs:n}},Ww.prototype._collectMergeableMeshesByIdxId=function(e,t,i,n,r){i[t]&&i[t].IndexInfos?this._collectSharedMeshesByIdxId(e,t,i,n,r):this._collectLineOrIntanceMeshesByIdxId(e,t,i,n,r)},Ww.prototype._collectLineOrIntanceMeshesByIdxId=function(e,t,i,n,r){for(var o=n[t],a={buffer:e.getModelDescriptor().getReferencedMeshBufferById(t)},s=0,l=o.length;l>s;s+=1){var c=o[s];this._createNodeBufferByGeoBufferData(e,c,a);var h=this._getMaterialKeyByNodeInfo(c);r[h]||(r[h]=[]),r[h].push(c)}},Ww.prototype._collectSharedMeshesByIdxId=function(e,t,i,n,r){for(var o=i[t].IndexInfos,a=0,s=o.length;s>a;a+=1){var l=n[o[a].meshId];if(l)for(var c={buffer:e.getModelDescriptor().getReferencedMeshBufferById(t),indexInfo:o[a]},h=0,d=l.length;d>h;h+=1){var u=l[h];this._createNodeBufferByGeoBufferData(e,u,c);var p=this._getMaterialKeyByNodeInfo(u);r[p]||(r[p]=[]),r[p].push(u)}}},Ww.prototype._mergeMergeableMeshes=function(e,t,i,n){var r=Object.keys(t);if(0!==r.length){var o=this,a=e.getLoader().maxLoadTaskCount,s=r.length,l=e.progressPercentage.load,c=e.progressPercentage.collect,h=e.progressPercentage.merge,d=Math.ceil(s/e.progressFrequency);requestAnimationFrame(function u(p){var g=p;return function(){var p=null,f=null;for(f=g+d>s?s:g+d,p=g;f>p;p+=1)o._collectMergedGeometriesById(r[p],t,i),p===f-1&&(f!==s?(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:a,loaded:(p/s*h+l+c)*a,modelKey:e.modelKey}}),requestAnimationFrame(u(p+1))):o._makeMeshNodes(e,n))}}(0))}else this._makeMeshNodes(e,n)},Ww.prototype._dealDataMergeableMeshs=function(e,t,i,n,r){if(0!==t.mergeableIdxs.length){var o=this,a=this.mapMaterialIdToMergedNode,s={},l=t.mergedIdxs.length,c=t.mergeableIdxs.length,h=l+c,d=t.mergeableIdxs,u=e.getLoader().maxLoadTaskCount,p=e.progressPercentage.load,g=e.progressPercentage.collect,f=Math.ceil(c/e.progressFrequency);requestAnimationFrame(function t(m){var A=m;return function(){var m=null,y=null;for(y=A+f>c?c:A+f,m=A;y>m;m+=1)o._collectMergeableMeshesByIdxId(e,d[m],i,n,s),m===y-1&&(y!==c?(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:u,loaded:((m+l)/h*g+p)*u,modelKey:e.modelKey}}),requestAnimationFrame(t(m+1))):(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:u,loaded:(g+p)*u,modelKey:e.modelKey}}),o._mergeMergeableMeshes(e,s,a,r)))}}(0))}else this._makeMeshNodes(e,r)},Ww.prototype._collectDataMergedMeshesByIdxId=function(e,t,i,n,r){var o=t[e],a=o.IndexInfos;if(a&&0!==a.length){var s=!1;o.UV&&(o.UV.byteLength||o.UV.length)&&(s=!0),r.lightmap&&(o=this.getAttributeForLightmapWithDataMerged(o,r,e));for(var l=void 0,c=0,h=a.length;h>c;c+=1){var d=i[a[c].meshId];if(d&&0!==d.length){r.lightmap&&(a[c].lightmapIdx=o.lightmapIdx,a[c].positionStart=3*a[c].indexStart,a[c].positionCount=3*a[c].indexCount),l=a[c].meshId;for(var u=0,p=d.length;p>u;u+=1)d[u].uv=s}}if(void 0!==l){var g=i[l][0],f={},m=this._getMaterialKeyByNodeInfo(g);void 0===n[m]&&(n[m]=[]);for(var A=0,y=a.length;y>A;A+=1)i[a[A].meshId]&&(void 0===f[(g=i[a[A].meshId][0]).userId]&&(f[g.userId]=[]),a[A].userId=g.userId,a[A].nodeId=g.nodeId,a[A].boundingBox=g.boundingBox,f[g.name].push(a[A]));var v=new Ni;v._visible=!0,v.setIndex(new Ai(new Uint32Array(o.I),1)),v.setAttribute("position",new Ai(new Float32Array(o.P),3)),o.N&&(o.N.byteLength||o.N.length)&&v.setAttribute("normal",new Ai(new Float32Array(o.N),3)),s&&v.setAttribute("uv",new Ai(new Float32Array(o.UV),2)),o.UV2&&(v.setAttribute("uv2",new Ai(new Float32Array(o.UV2),2)),v.lightmapIdx=o.lightmapIdx),n[m].push({geometry:v,indices:f})}}},Ww.prototype.getAttributeForLightmapWithDataMerged=function(e,t,i){var n=[],r=new Uint32Array(e.I),o=t.getLoader().getUV2ById("bmpk_"+i,r.length);if(o){var a=o.lightmapIdx;n=o.uv2}for(var s=new Float32Array(e.P),l=new Float32Array(e.N),c=new Float32Array(e.UV),h=[],d=[],u=[],p=0;r.length>p;p+=1){var g=r[p];h.push(s[3*g]),h.push(s[3*g+1]),h.push(s[3*g+2]),l.length>0&&(d.push(l[3*g]),d.push(l[3*g+1]),d.push(l[3*g+2])),c.length>0&&(u.push(c[2*g]),u.push(c[2*g+1])),r[p]=p}return s=null,l=null,c=null,{I:r,UV2:n,P:h,N:d,UV:u,lightmapIdx:a}},Ww.prototype._dealDataMergedMeshs=function(e,t,i,n,r){if(0!==t.mergedIdxs.length){var o=this,a=this.mapMaterialIdToMergedNode,s=t.mergedIdxs,l=s.length,c=t.mergedIdxs.length+t.mergeableIdxs.length,h=e.getLoader().maxLoadTaskCount,d=e.progressPercentage.load,u=e.progressPercentage.collect,p=Math.ceil(l/e.progressFrequency);requestAnimationFrame(function t(g){var f=g;return function(){var g=null,m=null;for(m=f+p>l?l:f+p,g=f;m>g;g+=1)o._collectDataMergedMeshesByIdxId(s[g],i,n,a),g===m-1&&(m!==l?(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:h,loaded:(g/c*u+d)*h,modelKey:e.modelKey}}),requestAnimationFrame(t(g+1))):(e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:h,loaded:(g/c*u+d)*h,modelKey:e.modelKey}}),r&&r()))}}(0))}else r&&r()},Ww.prototype._dealUnsharedMeshs=function(e,t,i){for(var n=this.mapMaterialIdToMergedNode,r=0,o=e.length;o>r;r+=1){var a=i[e[r]],s=a.IndexInfos,l=t[s[0].meshId][0],c={},h=this._getMaterialKeyByNodeInfo(l);void 0===n[h]&&(n[h]=[]);for(var d=0,u=s.length;u>d;d+=1)void 0===c[(l=t[s[d].meshId][0]).userId]&&(c[l.userId]=[]),s[d].userId=l.userId,s[d].nodeId=l.nodeId,c[l.userId].push(s[d]);var p=new Ni;p._visible=!0,p.setIndex(new Ai(new Uint32Array(a.index),1)),p.setAttribute("position",new Ai(new Float32Array(a.position),3)),a.normal&&p.setAttribute("normal",new Ai(new Float32Array(a.normal),3)),a.uv&&p.setAttribute("uv",new Ai(new Float32Array(a.uv),2)),n[h].push({geometry:p,indices:c})}},Ww.prototype._makeMeshNodes=function(e,t){Bu.time("makeMesh");var i=e.manager,n=e.modelKey,r=e._encodedDatabagId,o=this._getNodeGroup(e),a=this.mapMaterialIdToMergedNode;for(var s in a)for(var l=this.getPropertyValueByMaterialKey(s),c=a[s],h=0,d=c.length;d>h;h+=1){var u=c[h].geometry,p=c[h].indices;if(!c[h].mesh){var g=null;if("lines"===l.type)(g=new ov(u)).modelKey=n;else{var f={modelKey:n};(g=new Bv(u)).spawn(f)}if(!wp.isEmptyObject(e.subModel)){var m=Object.keys(p)[0];if(m){var A=wp.getModelKeyFromComponentKey(m);e.subModel[A]&&g.matrix.copy(e.subModel[A])}}g._indicesGroup=p,o.add(g),c[h].mesh=g,i.addMeshToOctantMap(r,s,new Mm(s,g));var y=function(t){p.hasOwnProperty(t)&&p[t].forEach((function(i){e.addMeshToInfoMap(t,i.nodeId,g,i)}))};for(var v in p)y(v);p=null,g=null}}o.updateMatrixWorld(!0),e.dispatchEvent({type:Fd.ON_LOAD_PROGRESS,progress:{total:e.getLoader().maxLoadTaskCount,loaded:e.getLoader().maxLoadTaskCount,modelKey:e.modelKey}}),t&&t(),Bu.timeEnd("makeMesh")},Ww.prototype.applySelection=function(e){},Ww.prototype.clearSelection=function(e){},Ww.prototype.applyHover=function(e){},Ww.prototype.clearHover=function(e){},Ww.prototype.getMeshNode=function(){return this.mapMaterialIdToMergedNode},Ww.prototype._disposeMergedGeometries=function(){for(var e in this.mapMaterialIdToMergedNode){for(var t=this.mapMaterialIdToMergedNode[e],i=0,n=t.length;n>i;i+=1){t[i].geometry.dispose(),delete t[i].geometry,delete t[i].indices,delete t[i].mesh}delete this.mapMaterialIdToMergedNode[e]}},Ww.prototype._getMaterialKeyByNodeInfo=function(e,t){if(t){var i=t.manager.getOverrideMaterialByNodeInfo(e);e.materialId=i?i.name:e.originMId}return wp.getCombinedKeyString([e.materialId,e.uv?"1":"0",e.type===zy.EnumNodeItemType.LINE?"lines":"meshes"])},Ww.prototype.getPropertyValueByMaterialKey=function(e){var t=wp.splitCombinedKeyString(e);return{materialId:t[0],uvProp:t[1],type:t[2]}},Ww.prototype.clearSelectedObjectIds=function(){this.selectedObjectIds.length=0},Ww.prototype.cacheSelectedObjectIds=function(e,t,i){this.selectedObjectIds.push({uid:e,mKey:t,idx:i})},Ww.prototype.adjustVisibility=function(e,t){var i=this._getNodeGroup(e),n=i.visible;t&&!i.bVisible||(i.visible=t),i.bVisible=n},Ww.prototype.changeVisibilityOfSelectedObjects=function(e,t){if(t)for(var i=0,n=this.selectedMeshes.length;n>i;i+=1){var r=this.selectedMeshes[i].object,o=this.selectedMeshes[i].indices;if(r)for(var a=0,s=o.length;s>a;a+=1){var l=r.geometry.groups[o[a].idx];l.start=o[a].start,l.count=o[a].count}}else{this.selectedMeshes.length=0;for(var c={},h=0,d=this.selectedObjectIds.length;d>h;h+=1){var u=this.selectedObjectIds[h].mKey,p=this.selectedObjectIds[h].idx,g=wp.getCombinedKeyString([u,p]);if(!c[g]){c[g]=!0;var f=this.mapMaterialIdToMergedNode[u][p],m=f.mesh;if(m){for(var A=[],y=f.geometry.groups,v=0,C=y.length;C>v;v+=1){var I=y[v];I.materialIndex===Zd.SELECTED&&(A.push({idx:v,start:I.start,count:I.count}),I.start=0,I.count=0)}A.length&&this.selectedMeshes.push({object:m,indices:A})}}}}},Ww.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){if(t)for(var i=0,n=this.nonSelectedMeshes.length;n>i;i+=1){var r=this.nonSelectedMeshes[i].object,o=this.nonSelectedMeshes[i].indices;if(o)for(var a=0,s=o.length;s>a;a+=1){var l=r.geometry.groups[o[a].idx];l.start=o[a].start,l.count=o[a].count}else r.visible=this.nonSelectedMeshes[i].visibility}else{this.nonSelectedMeshes.length=0;for(var c={},h=0,d=this.selectedObjectIds.length;d>h;h+=1){var u=this.selectedObjectIds[h];c[u.mKey]||(c[u.mKey]={}),c[u.mKey][u.idx]=!0}for(var p in this.mapMaterialIdToMergedNode){var g=this.mapMaterialIdToMergedNode[p];if(c[p])for(var f=0,m=g.length;m>f;f+=1){var A=g[f].mesh;if(A){if(!c[p][f]){this.nonSelectedMeshes.push({object:A,indices:null,visibility:A.visible}),A.visible=!1;continue}for(var y=[],v=A.geometry.groups,C=0,I=v.length;I>C;C+=1){var x=v[C];x.materialIndex!==Zd.SELECTED&&(y.push({idx:C,start:x.start,count:x.count}),x.start=0,x.count=0)}y.length>0&&this.nonSelectedMeshes.push({object:A,indices:y})}}else for(var w=0,M=g.length;M>w;w+=1){var E=g[w].mesh;E&&(this.nonSelectedMeshes.push({object:E,indices:null,visibility:E.visible}),E.visible=!1)}}}},Ww.prototype.restoreVisibilityOfObjects=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0},Ww.prototype.getBlinkMaterials=function(){return this.blinkMaterials},Ww.prototype.disposeBufferAfterVbo=function(){if(!this.bufferDestroyed){var e=0;for(var t in this.mapMaterialIdToMergedNode){for(var i=this.mapMaterialIdToMergedNode[t],n=0,r=i.length;r>n;n+=1){var o=i[n],a=o.geometry;if(null!==a){e+=1;var s=t+"-"+n;this.mapDestroyedBufferKey[s]||o.mesh.visible&&(this.mapDestroyedBufferKey[s]=!0,by.disposeBufferFromGeometry(a,["normal","uv","uv2"]))}}Object.keys(this.mapDestroyedBufferKey).length===e&&(this.mapDestroyedBufferKey={},this.bufferDestroyed=!0)}}},Ww.prototype._traverseMeshNodeMap=function(e){for(var t in this.mapMaterialIdToMergedNode)for(var i=this.mapMaterialIdToMergedNode[t],n=0,r=i.length;r>n;n+=1)e&&e(t,i[n])},Ww.prototype.getGeometryBuffersByUserId=function(e,t){var i=[],n=e.getDatabagId();return this._traverseMeshNodeMap((function(e,r){var o=r.indices[t];if(o)for(var a=r.geometry,s=a.getIndex().array,l=a.getAttribute("position").array,c=0,h=o.length;h>c;c+=1){var d=o[c],u=d.indexStart,p=d.indexStart+d.indexCount,g=s.slice(u,p),f=l.slice(u=d.positionStart,p=d.positionStart+d.positionCount);u/=3,g.forEach((function(e,t,i){i[t]-=u})),i.push({databagId:n,nodeId:d.nodeId,position:f,index:g})}})),i},Ww.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new ev(this)),this.pickingNodeGenerator};var zw=function(e){this.meshManager=new Ww(this),this.model=e,this.wireframeManager=new Uv(this)};zw.prototype.destroy=function(){this.meshManager.destroy(),this.meshManager=null,this.wireframeManager.destroy(),this.wireframeManager=null},zw.prototype.clearData=function(){this.meshManager.clearData(),this.wireframeManager.clearData()},zw.prototype.disposeGeometry=function(e){this.meshManager.disposeGeometry(e)},zw.prototype.cullNodes=function(e,t){this.hasNodeInfo(e)&&this.meshManager.cullNodes(e,t)},zw.prototype.updateNodes=function(e,t){if(this.hasNodeInfo(e)){var i;i=this._collectModelFiltered(e),this.meshManager.update(e,t,i),this.wireframeManager.update(e,t)}},zw.prototype.applyFilter=function(e,t){if(this.hasNodeInfo(e)){var i=null;i=t||e.getModelDescriptor().getMixNodeInfos();var n=e.getModelDescriptor().getMixNodeInfos();this._collectFilteredUserIds(e.manager.filter,i,n),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,n),this._collectHoveredUserIds(e.manager.sceneState.hoverId,n),this.updateNodes(e,t)}},zw.prototype.applySelection=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getMixNodeInfos();this._clearSelectedState(e),this._clearHoveredState(e),this._collectSelectedUserIds(e.manager.sceneState.selectionSet,t),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this.updateNodes(e)}},zw.prototype.clearSelection=function(e){this._clearSelectedState(e),this.applyHover(e)},zw.prototype.applyHover=function(e){if(this.hasNodeInfo(e)){var t=e.getModelDescriptor().getMixNodeInfos();this._clearHoveredState(e),this._collectHoveredUserIds(e.manager.sceneState.hoverId,t),this.updateNodes(e)}},zw.prototype.clearHover=function(e){this._clearHoveredState(e),this.updateNodes(e)},zw.prototype.applyBlink=function(e){},zw.prototype.clearBlink=function(e){},zw.prototype.getPriorityNodes=function(){return this.meshManager.getPriorityNodes()},zw.prototype.getGeometryByNodeInfo=function(e,t){return this.meshManager.getGeometryByNodeInfo(e,t)},zw.prototype.getRenderableCount=function(e){return e.renderableCount},zw.prototype.getLoader=function(e){return e.loader},zw.prototype.getContainsCamera=function(e){return e.containsCamera},zw.prototype.getFilter=function(e){return e.manager.filter},zw.prototype.hasNodeInfo=function(e){return!!e.getModelDescriptor().getMixNodeInfos()},zw.prototype.createMeshNodes=function(e){this.meshManager.createMeshNodes(e)},zw.prototype.asyncCreateMeshNodes=function(e,t,i){this.meshManager.asyncCreateMeshNodes(e,t,i)},zw.prototype._collectFilteredUserIds=function(e,t,i){var n=e._hasHiddenFileIdFilter(),r=e._hasVisibleFilter(),o=e._hasOverrideMaterialFilter(),a=e._hasTransparentFilter();if(this.mapMaterialIdToUserIdsForFilter={},this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={},n||r||o||a)for(var s=0;t.length>s;s+=1){var l=t[s],c=i[l];if(c&&c.length)for(var h=0,d=c.length;d>h;h+=1){var u=c[h];if(n&&e._isHiddenFileId(u)||r&&!1===e._isVisible(u))this.hiddenUserIdSetObject[l]=!0;else if(a&&e._isTransparent(u))this.transparentUserIdSetObject[l]=!0;else if(o&&e._hasOverrideMaterial(u)){var p=e._getOverrideMaterial(u);if(Array.isArray(p)){for(var g=[],f=0,m=p.length;m>f;f++){var A=null!==p[f]?p[f].name:"";""!==A&&g.push(A)}this.overrideUserIdSetObject[l]=g}else{var y=null!==p?p.name:"";""!==y&&(this.overrideUserIdSetObject[l]=y)}}}}},zw.prototype._collectModelFiltered=function(e){var t=e.manager.filter,i=e.modelKey,n=t._hasModelOverrideMaterialFilter(),r=t._hasModelTransparentFilter(),o=e.manager.modelState.modelSelectionSet;return e.manager.modelState.hoverId===i?e.manager.modelState.getHoverMaterial():o.hasOwnProperty(e.modelKey)?e.manager.modelState.selectionMaterial:r&&t._isModelTransparent(i)?t._getMaterialByName("scene"):n&&t._hasModelOverrideMaterial(i)?t._getModelOverrideMaterial(i):null},zw.prototype._clearFilteredState=function(){this.hiddenUserIdSetObject={},this.overrideUserIdSetObject={},this.transparentUserIdSetObject={}},zw.prototype.getFilteredUserIds=function(){return this.mapMaterialIdToUserIdsForFilter},zw.prototype.getSelectedUserIds=function(){return this.mapMaterialIdToUserIdsForSelection},zw.prototype.getHoveredUserIds=function(){return this.mapMaterialIdToUserIdsForHover},zw.prototype.getBlinkedUserIds=function(){return this.mapBlinkUserIds},zw.prototype.getHiddenUserIds=function(){return this.hiddenUserIdSetObject},zw.prototype._collectSelectedUserIds=function(e,t){for(var i in this.selectedUserIdSetObject={},e)if(e.hasOwnProperty(i)){if(!t[i])continue;this.selectedUserIdSetObject[i]=!0}},zw.prototype._clearSelectedState=function(){this.selectedUserIdSetObject={}},zw.prototype._collectHoveredUserIds=function(e,t){if(this.hoveredUserIdSetObject={},e&&t[e]){var i=t[e];this.hoveredUserIdSetObject={},i&&(this.hoveredUserIdSetObject[e]=!0)}},zw.prototype._clearHoveredState=function(){this.hoveredUserIdSetObject={}},zw.prototype.getMeshesByUserIds=function(e,t){return this.meshManager.getMeshesByUserIds(e,t)},zw.prototype.adjustVisibility=function(e,t){this.meshManager.adjustVisibility(e,t),this.wireframeManager.adjustVisibility(e,t)},zw.prototype.changeVisibilityOfSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfSelectedObjects(e,t)},zw.prototype.changeVisibilityOfNonSelectedObjects=function(e,t){this.meshManager.changeVisibilityOfNonSelectedObjects(e,t),this.wireframeManager.changeVisibilityOfNonSelectedObjects(e,t)},zw.prototype.restoreVisibilityOfObjects=function(){this.meshManager.restoreVisibilityOfObjects(),this.wireframeManager.restoreVisibilityOfObjects()},zw.prototype.isPickableNode=function(e){var t=this.getHiddenUserIds();if(t&&t[e])return!1;var i=this.getTransparentUserIds();return!(i&&i[e]&&!xd.EnableSelectionByTranslucent)},zw.prototype.isHiddenNode=function(e){var t=this.getHiddenUserIds();return!(!t||!t[e])},zw.prototype.getMeshManager=function(){return this.meshManager},zw.prototype.getWireFrameManager=function(){return this.wireframeManager},zw.prototype.getTransparentUserIds=function(){return this.transparentUserIdSetObject};var qw=new yt,Zw=function(e,t){_y.call(this,e),this.defaultManager=new zw(e),this.instancedManager=new Kv(e),this.loader=new Vw(this)};Object.assign(Zw.prototype,_y.prototype),Zw.prototype.prepareData=function(e){if(!this.dataReady){var t=this;this.loader.getDescriptor().buildScene((function(){t.dataReady=!0,t.settleData(e)}))}},Zw.prototype.prepare=function(e){this.isLoaded()&&!this.isHidden()&&(this.model.getMaterialManager()._updateTextureMapping(),this.model.clearMeshFromOctantMap(),this.instancedManager.addAllInstanceNodeToScene(this.model),this.defaultManager.cullNodes(this.model,e),this.prepareWireframe(this.model),this.updateNodes())};var Xw=new yt;Zw.prototype.componentApplyMatrix=function(e,t){if(jg(this.loader)&&jg(this.loader.descriptor)){var i=this.loader.descriptor.getNodeInfosByComponentKey(e);if(jg(i)&&0!==i.length)for(var n=0;i.length>n;n+=1){var r=i[n];r.matrix||(r.matrix=new yt),r.transformation||(r.transformation=!0,r.transformationOriginalMatrix=r.matrix.clone(),r.applyMatrix=new yt,r.boundingBox&&(r.transformationOriginalBoundingBox=r.boundingBox.clone())),r.matrix.premultiply(t),r.applyMatrix.premultiply(t),r.boundingBox&&r.boundingBox.copy(r.transformationOriginalBoundingBox).applyMatrix4(r.applyMatrix);var o=null;if(r.mesh instanceof Array)o=r.mesh;else{if(!(r.mesh instanceof Yt))continue;o=[r.mesh]}for(var a=0,s=o.length;s>a;a+=1){var l=o[a];r.isExternalComponent&&(l.userData.originalMatrix||(l.userData.originalMatrix=l.matrix.clone())),l.getInstanceMatrixAt(r.groupIndex,Xw),Xw.premultiply(t),l.setInstanceMatrixAt(r.groupIndex,r.subInstanceIndex,Xw)}}}},Zw.prototype.setComponentMatrix=function(){if(jg(this.loader)&&jg(this.loader.descriptor)){var e=this.loader.descriptor.getNodeInfosByComponentKey(key);if(jg(e)&&0!==e.length)for(var t=0;e.length>t;t+=1){var i=e[t];i.matrix||(i.matrix=new yt),i.transformation?(new yt).copy(i.applyMatrix).invert():(i.transformation=!0,i.transformationOriginalMatrix=i.matrix.clone(),i.applyMatrix=new yt,i.boundingBox&&(i.transformationOriginalBoundingBox=i.boundingBox.clone())),i.matrix.copy(i.transformationOriginalMatrix).premultiply(matrix4),i.applyMatrix.copy(matrix4),i.boundingBox&&i.boundingBox.copy(i.transformationOriginalBoundingBox).applyMatrix4(i.applyMatrix);var n=null;if(i.mesh instanceof Array)n=i.mesh;else{if(!(i.mesh instanceof Yt))continue;n=[i.mesh]}for(var r=0,o=n.length;o>r;r+=1){var a=n[t];i.isExternalComponent&&(a.userData.originalMatrix||(a.userData.originalMatrix=a.matrix.clone())),a.getInstanceMatrixAt(i.groupIndex,Xw),Xw.copy(i.matrix),Xw.premultiply(new yt),a.setInstanceMatrixAt(i.groupIndex,i.subInstanceIndex,Xw)}}}},Zw.prototype.resetComponentMatrix=function(){if(jg(this.loader)&&jg(this.loader.descriptor)){var e=this.loader.descriptor.getNodeInfosByComponentKey(key);if(jg(e)&&0!==e.length)for(var t=0;e.length>t;t+=1){var i=e[t];if(i.transformation){i.matrix.copy(i.transformationOriginalMatrix),i.transformationOriginalBoundingBox&&(i.boundingBox=i.transformationOriginalBoundingBox.clone());var n=null;if(i.mesh instanceof Array)n=i.mesh;else{if(!(i.mesh instanceof Yt))continue;n=[i.mesh]}for(var r=0,o=n.length;o>r;r+=1){var a=n[t],s=void 0;(s=i.isExternalComponent?a.userData.originalMatrix:i.matrix)&&(a.getInstanceMatrixAt(i.groupIndex,Xw),Xw.copy(s),Xw.premultiply(new yt),a.setInstanceMatrixAt(i.groupIndex,i.subInstanceIndex,Xw),a.userData.originalMatrix=void 0)}i.transformationOriginalMatrix=void 0,i.transformationOriginalBoundingBox=void 0,i.applyMatrix=void 0,i.transformation=void 0}}}},Zw.prototype.prepareWireframe=function(e,t){e.isActivateWireframe()&&this.instancedManager.generateWireframe(e)},Zw.prototype.settleData=function(e){this.createMeshNodes(e),this.addNodeInfoToOctantMap()},Zw.prototype.addNodeInfoToOctantMap=function(){var e=this.model.manager,t=this.model.getEncodedDatabagId();this.model.getModelDescriptor().traverseNodeInfosByComponent((function(i,n){e.addNodeInfoToOctantMap(t,i,n)}))},Zw.prototype.createMeshNodes=function(e){var t=this.model;this.instancedManager.createMeshNodes(this.model,this.model.getModelDescriptor().getInstancedUserIds()),this.defaultManager.createMeshNodes(t),this.loaded=!0,e&&e()},Zw.prototype.disposeBufferAfterVbo=function(){},Zw.prototype.explosion=function(e){if(this.isLoaded()){var t=this.model.getComponentlist();e.componentKey=t,this.componentsExplosion(e)}},Zw.prototype.closeExplosion=function(){this.explosion({})},Zw.prototype.componentsExplosion=function(e){if(this.isLoaded()){var t=e.coefficientX||1,i=e.coefficientY||1,n=e.coefficientZ||1,r=e.offsetX||0,o=e.offsetY||0,a=e.offsetZ||0,s=null;if(e.center)s=(new Ke).fromArray(e.center);else if(1!==t||1!==i||1!==n||0!==r||0!==o||0!==a)return;var l=this.model,c=l.manager,h=Array.isArray(e.componentKey)?e.componentKey:[e.componentKey],d=new Ke,u=new He,p=new Ke(0,0,0),g=new Ke(0,0,0),f=new Ke,m=l.getModelMatrix(),A=new yt;m&&s&&(A.copy(m).invert(),s.applyMatrix4(A));for(var y=0;h.length>y;y+=1){var v=h[y],C=l.getComponentInfo(v);if(C&&C.length>0)for(var I=0,x=C.length;x>I;I+=1){var w=C[I],M=w.mesh;if(M){if(u.copy(w.boundingBox),u.getCenter(d),w.userData||(w.userData={}),p.set(0,0,0),g.set(0,0,0),1!==t||1!==i||1!==n||w.userData.explosionFactor){w.userData.explosionFactor||(w.userData.explosionFactor=new Ke(1,1,1),w.userData.explosionBaseDifference=d.sub(s).clone());var E=w.userData.explosionFactor,B=w.userData.explosionBaseDifference;p.set((t-E.x)*B.x,(i-E.y)*B.y,(n-E.z)*B.z),1===t&&1===i&&1===n?(w.userData.explosionFactor=void 0,w.userData.explosionBaseDifference=void 0):E.set(t,i,n)}if(0!==r||0!==o||0!==a||w.userData.explosionOffset){w.userData.explosionOffset||(w.userData.explosionOffset=new Ke(0,0,0));var S=w.userData.explosionOffset;g.set(r-S.x,o-S.y,a-S.z),0===r&&0===o&&0===a?w.userData.explosionOffset=void 0:S.set(r,o,a)}if(f.set(p.x+g.x,p.y+g.y,p.z+g.z),0!==f.x||0!==f.y||0!==f.z){w.userData.explosionFactor||w.userData.explosionOffset?c.explosionList[v]||(c.explosionList[v]=!0):delete c.explosionList[v],A.makeTranslation(f.x,f.y,f.z),w.transformation||(w.transformation=!0,w.transformationOriginalMatrix=w.matrix.clone(),w.applyMatrix=new yt,w.transformationOriginalBoundingBox=w.boundingBox.clone()),w.matrix.premultiply(A),w.applyMatrix.premultiply(A),w.boundingBox.copy(w.transformationOriginalBoundingBox).applyMatrix4(w.applyMatrix);var b=M.matrixAutoUpdate;M.matrixAutoUpdate=!1,w.isMixNode?(M.getInstanceMatrixAt(w.groupIndex,qw),qw.premultiply(A),M.setInstanceMatrixAt(w.groupIndex,w.subInstanceIndex,qw)):(M.applyMatrix4(A),M.updateMatrixWorld(!0)),M.matrixAutoUpdate=b;var k=w.wireframeMeshs;if(k)for(var D=0,T=k.length;T>D;D+=1){var R=k[D];b=R.matrixAutoUpdate,R.matrixAutoUpdate=!1,R.matrix.copy(M.matrix),R.updateMatrixWorld(!0),R.matrixAutoUpdate=b}}}}}}},Zw.prototype.closeComponentsExplosion=function(e){var t=Array.isArray(e)?e:[e];this.componentsExplosion({componentKey:t})};var _w=function(e){this.model=e,this.config=null,this.statistics={renderableCount:0,renderableTotal:xd.maxObjectNumInPool,renderableTotalForPool:xd.maxObjectNumInPool,numOfElements:0,numOfTriangles:0,memoeryInfo:null},this.transformInfos={octreeTransformed:!0,originalBoundingBox:null,boundingBox:null,position:new Ke,rotation:new Ge,scale:new Ke(1,1,1),transformMatrix:new yt,originalMatrix:new yt}};_w.prototype.destroy=function(){this.model=null,this.config=null,this.statistics=null,this.transformInfos=null},_w.prototype.load=function(e){var t=this,i=this.model,n=i.dataUrl,r=function(r){var o={};if("string"==typeof r)try{o=JSON.parse(r)}catch(e){return i.setEmptyScene(!0),void i.dispatchEventEx({type:Fd.ON_LOAD_INVALID_SCENE,modelKey:i.modelKey})}else o=r;if(o&&"SUCCESS"===o.code){if(xd.offLine)t.model.getStorage().put(n.projectUrl(),o,t.model.modelKey,(function(){}),(function(){}));if(-1===Number(o.data.status))return void i.dispatchEventEx({type:Qd.PARSEFAILE,modelKey:i.modelKey});if(3>Number(o.data.status)&&(i.dispatchEventEx({type:Qd.PARSING,modelKey:i.modelKey}),!(o.data.scene&&o.data.scene.packs&&xd.usePack)))return;if(o.data.type===Xd.DWG)return i.dispatchEventEx({type:Qd.IS2D,modelKey:i.modelKey}),void Bu.error("模型 ",i.modelKey," 是图纸文件请使用BOS2D库加载");!o.data.profiles||o.data.children&&o.data.children.length>1?(t.dataVersion="2.0.0",n.apiVersion="2.0.0",t.model.dataVersion=t.dataVersion):(t.dataVersion=o.data.profiles.geo||"1.0.0",n.apiVersion=o.data.profiles.api,t.model.dataVersion=t.dataVersion),t._parse(o.data),i.dispatchEventEx({type:Fd.ON_LOAD_CONFIG_FINISH,modelKey:i.modelKey}),e&&e()}else Bu.log(i.modelKey,"config load error! ",o.message),i.dispatchEventEx({type:Fd.ON_LOAD_ERROR,modelKey:i.modelKey,code:o.code,message:o.message}),i.manager.unload(i.modelKey)};if(xd.offLine){var o=this.model.getStorage();o&&o.getBatch([n.projectUrl()],(function(e){e[n.projectUrl()]?r(e[n.projectUrl()]):Yy({type:"GET",url:n.projectUrl(),headers:{Authorization:i.accessToken},success:r,error:function(e){i.dispatchEventEx({type:Fd.ON_NETWORK_ERROR,modelKey:i.modelKey,data:e})}})}),(function(){}))}else Yy({type:"GET",url:n.projectUrl(),headers:{Authorization:i.accessToken},success:r,error:function(e,t){switch(e){case 401:i.dispatchEventEx({type:Fd.ACCOUNT_NO_EXIST,modelKey:i.modelKey,data:t});break;case 403:i.dispatchEventEx({type:Fd.NO_PERMISSION,modelKey:i.modelKey,data:t});break;default:i.dispatchEventEx({type:Fd.ON_NETWORK_ERROR,modelKey:i.modelKey,data:e})}}})},_w.prototype._parse=function(e){this.config=e,e.lengthUnit&&(this.model.originalLengthUnit=e.lengthUnit),xd.AutoMergeComponent&&e.componentCount>xd.AutoMergeComponentCount&&(xd.MergeComponent=!0),this._toStatistics(e),this._setTransformInfos(e),this._chooseRendering(e),this._setHandler(e)},_w.prototype._getDataProvider=function(e){if(xd.DataProvider===zd.MERGED&&void 0!==e.bmpks&&e.bmpks>0)return Bu.debug("data from: merged"),zd.MERGED;if(xd.LoadComponentOnDemand&&e.scene&&e.scene.map){if(xd.DataProvider===zd.LAYER_SCENE)return e.layers>1?(Bu.debug("data from: layer scene"),zd.LAYER_SCENE):(Bu.debug("data from: layer"),zd.LAYER);if(xd.DataProvider===zd.LAYER)return Bu.debug("data from: layer"),zd.LAYER}if(xd.DataProvider===zd.AUTO){if(xd.LoadComponentOnDemand&&e.scene&&e.scene.map)return gy(this.dataVersion,"2.0.0")&&(xd.MergeComponent=!0),Bu.debug("data from: layer"),zd.LAYER;if(!xd.loadBatch&&e.scene.geometries&&e.scene.geometries.length>0)return fy(this.dataVersion,"2.0.0")&&(xd.MergeComponent=!0),zd.DEFAULT;if(e.scene.batchedGeometries&&e.scene.batchedGeometries.length>0||e.scene.instancedGeometries&&e.scene.instancedGeometries.length>0)return xd.MergeComponent=!0,zd.MERGED;if(xd.MergeComponent&&void 0!==e.bmpks&&e.bmpks>0)return Bu.debug("data from: merged"),zd.MERGED}return Bu.debug("data from: default"),zd.DEFAULT},_w.prototype._chooseRendering=function(e){this.model.manager.chooseRendering(this.statistics.memoeryInfo)},_w.prototype._setHandler=function(e){var t=!1,i=this._getDataProvider(e),n=null,r=this.model;if(Array.isArray(e.scene)){for(var o=0,a=e.children.length;a>o;o+=1){var s=e.scene[o];s&&(r.subModel[e.children[o]]=(new yt).fromArray(s.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]))}n=new MI(r,t),r.merged=!0,xd.MergeComponent=!0}else if(e.scene.packs&&xd.usePack)n=new Zw(r),r.progressPercentage={load:.9,file:.3,zip:.4,glTF:.2,read:.05,mesh:.05,collect:.5,merge:.1},xd.MergeComponent=!0,r.picker=new jw({viewer:r.manager.viewerImpl});else if(r.hasAnimation&&xd.EnableAnimation)n=new SI(r);else if(xd.MergeComponent){switch(i){case zd.LAYER:xd.HasLayerData=!0,xd.LoadGeoOnDemand=!0,(n=new uI(r,t)).layerProvider.cachedLayerData=e.scene.map;break;case zd.LAYER_SCENE:xd.HasLayerData=!0,xd.LoadGeoOnDemand=!0;break;case zd.MERGED:n=new rI(r,t);break;default:n=new Vv(r,t)}r.merged=!0}else if(xd.OrganizeNodesByCameraView)switch(i){case zd.LAYER:case zd.LAYER_SCENE:xd.HasLayerData=!0,xd.LoadGeoOnDemand=!0}else switch(i){case zd.LAYER:xd.HasLayerData=!0,xd.LoadGeoOnDemand=!0,(n=new II(r)).layerProvider.cachedLayerData=e.scene.map;break;case zd.LAYER_SCENE:xd.HasLayerData=!0,xd.LoadGeoOnDemand=!0;break;case zd.MERGED:break;default:n=new SI(r)}r._handler=n},_w.prototype._setTransformInfos=function(e){if(this.model.hasAnimation=e.hasAnimation,this.transformInfos.octreeTransformed=!1,this.transformInfos.boundingBox&&this.transformInfos.boundingBox.isBox3||(this.transformInfos.boundingBox=new He),this.transformInfos.boundingBox.expandByPoint(new Ke(e.minBoundary.x,e.minBoundary.y,e.minBoundary.z)),this.transformInfos.boundingBox.expandByPoint(new Ke(e.maxBoundary.x,e.maxBoundary.y,e.maxBoundary.z)),this.transformInfos.transformMatrix.fromArray(e.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),e.transform&&Array.isArray(e.transform)){var t=(new yt).fromArray(e.transform||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);this.transformInfos.transformMatrix.multiplyMatrices(this.transformInfos.transformMatrix,t)}this.transformInfos.originalMatrix.copy(this.transformInfos.transformMatrix),this.model.setModelMatrix(this.transformInfos.transformMatrix),this.transformInfos.transformMatrix.compose(this.transformInfos.position,this.transformInfos.rotation,this.transformInfos.scale),this.model.manager.updateScene()},_w.prototype._toStatistics=function(e){e.count={},e.count.texture_pixels&&e.count.texture_pixels>xd.MaxTexturePixels&&(xd.EnableTextureLoading=!1),void 0!==e.count&&(void 0!==e.count.mesh_face&&(this.statistics.numOfTriangles+=e.count.mesh_face),this.statistics.renderableTotal=0,this.statistics.renderableTotalForPool=0,void 0!==e.count.geom_box&&void 0!==e.count.geom_pipe&&void 0!==e.count.geom_tube&&void 0!==e.count.mesh?(this.statistics.renderableTotal+=e.count.geom_box,this.statistics.renderableTotal+=e.count.geom_pipe,this.statistics.renderableTotal+=e.count.geom_tube,this.statistics.renderableTotal+=e.count.mesh,this.statistics.renderableTotalForPool+=6*e.count.geom_box,this.statistics.renderableTotalForPool+=3*e.count.geom_pipe,this.statistics.renderableTotalForPool+=e.count.geom_tube,this.statistics.renderableTotalForPool+=e.count.mesh,this.statistics.numOfTriangles+=12*e.count.geom_box,this.statistics.numOfTriangles+=32*e.count.geom_pipe,this.statistics.numOfTriangles+=32*e.count.geom_tube):void 0!==e.count.geom&&void 0!==e.count.mesh&&(this.statistics.renderableTotal+=e.count.geom,this.statistics.renderableTotal+=e.count.mesh,this.statistics.numOfTriangles+=12*e.count.geom,this.statistics.numOfElements=this.statistics.renderableTotal,this.statistics.renderableTotalForPool=this.statistics.renderableTotal),void 0!==e.count.item&&(this.statistics.numOfElements=e.count.item)),this.statistics.memoeryInfo=this._computeApproximateMemoerySize(e)},_w.prototype._computeApproximateMemoerySize=function(e){var t=0,i=0,n=1/1048576,r=e.count.mesh_vertex||0,o=e.count.mesh_face||0,a=e.count.geom_box||0,s=e.count.geom_pipe||0,l=130,c=124,h=e.count.texture_pixels||0;i+=8*r,i+=3*o,i+=0,i+=0,t+=6*r,t+=3*o,t+=0,t+=0;var d=0;if(d+=o,a>0&&(d+=12*a),s>0&&(d+=c*s),d+=0,xd.Instance){a>0&&(i+=192,i+=36,i+=24*a,t+=144,t+=36,t+=18*a),s>0&&(i+=1040,i+=372,i+=24*s,t+=780,t+=372,t+=18*s)}else a>0&&(i+=24*a*8,i+=12*a*3,t+=24*a*6,t+=12*a*3),s>0&&(i+=s*l*8,i+=s*c*3,t+=s*l*6,t+=s*c*3);return xd.EnableTextureLoading&&(i+=4*h,t+=4*h),i*=4,t*=4,i*=n,t*=n,{maxMemoerySize:i=Math.ceil(i),minMemoerySize:t=Math.ceil(t),triangleNumber:d,instanceEnabled:xd.Instance}},_w.prototype.getMemoeryInfo=function(){return this.statistics.memoeryInfo},_w.prototype.getStatistics=function(){return this.statistics},_w.prototype.getConfig=function(){return this.config},_w.prototype.getTransforms=function(){return this.transformInfos},_w.prototype.setRenderableCount=function(e){this.statistics.renderableCount=e};var $w=function(e){Xy.call(this,e),this.descriptor=new Zy(e.model),this.fileKeyFromModelKey={}};($w.prototype=Object.assign($w.prototype,Xy.prototype)).loadData=function(){var e=this,t=this.model;this.modelDataVersion=t.configLoader.modelDataVersion,t.getConfig();var i=t.configLoader.scenes,n=[],r=[],o=[],a=[],s=[],l=[],c=[],h=[];e.maxLoadTaskCount=0,e.maxLoadTextureCount=0;for(var d=function(d){var u=i[d].scene,D=i[d].dataVersion,T=i[d].modelKey;if(!(u&&u.components&&u.geometries&&u.materials&&u.textures))return t.setEmptyScene(!0),Bu.error("scene is null,modelKey is ",T),t.dispatchEventEx({type:Fd.ON_LOAD_EMPTY_SCENE,modelKey:T}),{v:void 0};if(p=u.components.length||0,g=u.geometries.length||0,f=u.materials.length||0,m=u.textures.length||0,A=[],y=[],v=[],C=[],I=[],x=[],w=u.textures,M=[],py(D,"2.0.0"))A=u.components,y=u.geometries,v=u.materials;else{for(E=0;p>E;E+=1)u.components[E].fileKey?A.push(u.components[E].fileKey):t.dispatchEventEx({type:Qd.SCENE_NOT_CLOSE,modelKey:T});for(B=0;g>B;B+=1)u.geometries[B].fileKey?y.push(u.geometries[B].fileKey):t.dispatchEventEx({type:Qd.SCENE_NOT_CLOSE,modelKey:T});for(S=0;f>S;S+=1)u.materials[S].fileKey?v.push(u.materials[S].fileKey):t.dispatchEventEx({type:Qd.SCENE_NOT_CLOSE,modelKey:T})}if(u.trees.length>0)for(b=0;u.trees.length>b;b+=1)"partition"===(k=u.trees[b]).type&&M.push(k.fileKey);e.maxLoadTaskCount+=p,e.maxLoadTaskCount+=g,e.maxLoadTaskCount+=f,xd.EnableTextureLoading&&(e.maxLoadTextureCount+=m),e.maxLoadTaskCount+=0,e.maxLoadTaskCount+=0,e.maxLoadTaskCount+=0,e.maxLoadTaskCount+=M.length,A.forEach((function(t){e.fileKeyFromModelKey[t]=T})),y.forEach((function(t){e.fileKeyFromModelKey[t]=T})),v.forEach((function(t){e.fileKeyFromModelKey[t]=T})),C.forEach((function(t){e.fileKeyFromModelKey[t]=T})),I.forEach((function(t){e.fileKeyFromModelKey[t]=T})),x.forEach((function(t){e.fileKeyFromModelKey[t]=T})),w.forEach((function(t){e.fileKeyFromModelKey[t]=T})),M.forEach((function(t){e.fileKeyFromModelKey[t]=T})),n=n.concat(A),r=r.concat(y),o=o.concat(v),a=a.concat(C),s=s.concat(I),l=l.concat(x),c=c.concat(w),h=h.concat(M)},u=0;i.length>u;u+=1){var p,g,f,m,A,y,v,C,I,x,w,M,E,B,S,b,k,D=d(u);if("object"===nu(D))return D.v}if(e.progress.total+=e.maxLoadTaskCount,1>e.maxLoadTaskCount)return Bu.info("Nothing to load ",t.modelKey),void t.dispatchEventEx({type:Qd.SCENE_NOTHING_TO_LOAD,modelKey:t.modelKey});Bu.time("数据加载时间"),e._loadComponent(n),e._loadMaterial(o),xd.EnableTextureLoading&&e.maxLoadTextureCount.length>0?e._loadTextures(c):e._onLoadTexture(),e._loadTextures(c),e._loadKDTree(h),e._loadClips(s),e._loadBones(a),e._loadNodes(l),e.offLine&&e.loadAttribute(),e._loadGeo(r)},$w.prototype.loadSceneAndGeos=function(e){this._loadGeo(e)},$w.prototype._loadGeometrie=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){var i=this.url,n=[],r=[];n.push(r);for(var o=0,a=0;e.length>a;a+=1)50>o||(n.push(r=[]),o=0),o+=1,r.push(i.mpkUrl(e[a]));var s=this.model.getStorage();if(s)for(var l=function(i,r){var o=n[r];s.getBatch(o,(function(e){for(var i=function(i){if(-1===(r=o[i].indexOf("fileKey=")))return Bu.error("url is not has fileKey"),{v:void 0};var n=o[i].slice(r+8);if(e[o[i]])if(!0===e[o[i]].split){var l=e[o[i]].list,c=new Uint8Array(e[o[i]].length);s.getBatch(l,(function(e){for(var i=0;l.length>i;i+=1)e[l[i]]?c.set(new Uint8Array(e[l[i]]),4e7*i):Bu.error("获取分割几何失败");t._parseGeometrie(c.buffer,n),Bu.debug("load geo from local"),t._onTaskFinished()}),(function(){Bu.error("获取分割几何失败")}))}else t._parseGeometrie(e[o[i]],n),Bu.debug("load geo from local"),t._onTaskFinished();else{if(a=t.taskGeometrieManager,-1===o[i].indexOf("fileKey="))return Bu.error("url is not has fileKey"),{v:void 0};a.addTask(n),Bu.debug("load geo from net")}},n=0;o.length>n;n+=1){var r,a,l=i(n);if("object"===nu(l))return l.v}t.taskGeometrieManager.processTasks(t.loadGeometrie.bind(t))}),(function(){for(var i=t.taskGeometrieManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadGeometrie.bind(t))}))},c=0,h=n.length;h>c;c+=1)l(0,c)}else{for(var d=this.taskGeometrieManager,u=0;e.length>u;u+=1)d.addTask(e[u]);d.processTasks(t.loadGeometrie.bind(t))}},$w.prototype._loadKDTree=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){var i=this.url,n=[],r=[];n.push(r);for(var o=0,a=0;e.length>a;a+=1)50>o||(n.push(r=[]),o=0),o+=1,r.push(i.mpkUrl(e[a]));var s=this.model.getStorage();if(s)for(var l=function(i,r){var o=n[r];s.getBatch(o,(function(e){for(var i=0;o.length>i;i+=1){var n=o[i].indexOf("fileKey=");if(-1===n)return void Bu.error("url is not has fileKey");var r=o[i].slice(n+8);if(e[o[i]])t._parseKDTree(e[o[i]],r),Bu.debug("load kdtree from local"),t._onTaskFinished();else{var a=t.taskComponentManager;if(-1===o[i].indexOf("fileKey="))return void Bu.error("url is not has fileKey");a.addTask(r),a.processTasks(t.loadKDTree.bind(t)),Bu.debug("load kdtree from net")}}}),(function(){for(var i=t.taskComponentManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadKDTree.bind(t))}))},c=0,h=n.length;h>c;c+=1)l(0,c)}else{for(var d=this.taskComponentManager,u=0;e.length>u;u+=1)d.addTask(e[u]);d.processTasks(t.loadKDTree.bind(t))}},$w.prototype._loadBones=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.bonesUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1){var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");var o=n[i].slice(r+8);if(e[n[i]])t._parseBones(e[n[i]],o),Bu.debug("load Bones from local"),t._onTaskFinished();else{if(-1===n[i].indexOf("fileKey="))return void Bu.error("url is not has fileKey");t.loadBones(n[i].slice(r+8),(function(){})),Bu.debug("load Bones from net")}}}),(function(){for(var i=0;e.length>i;i+=1)t.loadBones(e[i],(function(){}))}))}else{for(var a=this.taskComponentManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadBones.bind(t))}},$w.prototype._loadClips=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.clipsUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1){var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");var o=n[i].slice(r+8);if(e[n[i]])t._parseClips(e[n[i]],o),Bu.debug("load Clips from local"),t._onTaskFinished();else{if(-1===n[i].indexOf("fileKey="))return void Bu.error("url is not has fileKey");t.loadClips(n[i].slice(r+8),(function(){})),Bu.debug("load Clips from net")}}}),(function(){for(var i=0;e.length>i;i+=1)t.loadClips(e[i],(function(){}))}))}else{for(var a=this.taskComponentManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadClips.bind(t))}},$w.prototype._loadNodes=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.nodesUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1){var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");var o=n[i].slice(r+8);if(e[n[i]])t._parseNodes(e[n[i]],o),Bu.debug("load Nodes from local"),t._onTaskFinished();else{if(-1===n[i].indexOf("fileKey="))return void Bu.error("url is not has fileKey");t.loadNodes(n[i].slice(r+8),(function(){})),Bu.debug("load Nodes from net")}}}),(function(){for(var i=0;e.length>i;i+=1)t.loadNodes(e[i],(function(){}))}))}else{for(var a=this.taskComponentManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadNodes.bind(t))}},$w.prototype._loadComponent=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){var i=this.url,n=[],r=[];n.push(r);for(var o=0,a=0;e.length>a;a+=1)50>o||(n.push(r=[]),o=0),o+=1,r.push(i.mpkUrl(e[a]));var s=this.model.getStorage();if(s)for(var l=function(i,r){var o=n[r];s.getBatch(o,(function(e){for(var i=0;o.length>i;i+=1){var n=o[i].indexOf("fileKey=");if(-1===n)return void Bu.error("url is not has fileKey");var r=o[i].slice(n+8);if(e[o[i]])t._parseComponent(e[o[i]],r),Bu.debug("load com from local"),t._onTaskFinished();else{var a=t.taskComponentManager;if(-1===o[i].indexOf("fileKey="))return void Bu.error("url is not has fileKey");a.addTask(r),a.processTasks(t.loadComponent.bind(t)),Bu.debug("load com from net")}}}),(function(){for(var i=t.taskComponentManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadComponent.bind(t))}))},c=0,h=n.length;h>c;c+=1)l(0,c)}else{for(var d=this.taskComponentManager,u=0;e.length>u;u+=1)d.addTask(e[u]);d.processTasks(t.loadComponent.bind(t))}},$w.prototype._loadMaterial=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var i=this.url,n=[],r=0;e.length>r;r+=1)n.push(i.mpkUrl(e[r]));var o=this.model.getStorage();o&&o.getBatch(n,(function(e){for(var i=0;n.length>i;i+=1){var r=n[i].indexOf("fileKey=");if(-1===r)return void Bu.error("url is not has fileKey");var o=n[i].slice(r+8);if(e[n[i]])t._parseMaterial(e[n[i]],o),Bu.debug("load mat from local"),t._onTaskFinished();else{var a=t.taskMaterialManager;if(-1===n[i].indexOf("fileKey="))return void Bu.error("url is not has fileKey");a.addTask(o),a.processTasks(t.loadMaterial.bind(t)),Bu.debug("load mat from net")}}}),(function(){for(var i=t.taskMaterialManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadMaterial.bind(t))}))}else{for(var a=this.taskMaterialManager,s=0;e.length>s;s+=1)a.addTask(e[s]);a.processTasks(t.loadMaterial.bind(t))}},$w.prototype._loadTextures=function(e){var t=this.model.materialManager.textures,i=this;if(xd.getDataFromIndexedDB&&!this.offLine){for(var n=this.url,r=[],o=0;e.length>o;o+=1)r.push(n.mpkUrl(e[o]));var a=this.model.getStorage();a&&a.getBatch(r,(function(e){for(var n=0;r.length>n;n+=1)if(e[r[n]]){var o=r[n].indexOf("fileKey=");if(-1===o)return void Bu.error("url is not has fileKey");var a=r[n].slice(o+8),s=new Fe;Bu.debug("load tex from local"),t[a]=s;var l=document.createElement("img");s.wrapS=s.wrapT=g,l.onload=function(t){"string"!=typeof e[r[n]]&&window.URL.revokeObjectURL(l.src),i.model.textureNeedsUpdate=!0,i._onLoadTexture()},l.onerror=function(e){i.model.dispatchEventEx({type:Qd.LOAD_TEXTURE_ERROR})},l.src="string"==typeof e[r[n]]?e[r[n]]:window.URL.createObjectURL(e[r[n]]),s.image=l,s.needsUpdate=!0}else{var c=i.taskTexturesManager,h=r[n].indexOf("fileKey=");if(-1===h)return void Bu.error("url is not has fileKey");c.addTask(r[n].slice(h+8)),c.processTasks(i.loadTextures.bind(i)),Bu.debug("load tex from net")}}),(function(){for(var t=i.taskTexturesManager,n=0;e.length>n;n+=1)t.addTask(e[n]);t.processTasks(i.loadTextures.bind(i))}))}else{for(var s=this.taskTexturesManager,l=0;e.length>l;l+=1)s.addTask(e[l]);s.processTasks(i.loadTextures.bind(i))}},$w.prototype._parseGeometrie=function(e,t){var i=this.fileKeyFromModelKey[t]||"",n=new ky.GeometryReader(e,this.modelDataVersion[i]),r=this.descriptor;if(r){for(var o=n.geoCount,a=0;o>a;a+=1){var s=n.geomMap[a];void 0!==s.position&&void 0!==s.index&&void 0!==s.normal?r.cacheReferencedMeshBufferData(i+s.geoId,s):Bu.error("Error Geometry!")}n=null}},$w.prototype._parseMaterial=function(e,t){var i=this.descriptor;if(i){var n=new Dy(e,this.modelDataVersion[this.fileKeyFromModelKey[t]||""]);if(Array.isArray(n.materialMap)){var r=n.materialCount;if(0>r)return;for(var o=0;r>o;o+=1){var a=n.materialMap[o];i.cacheReferencedMeshMaterialData(a.matId,a)}}else for(var s in n.materialMap)i.cacheReferencedMeshMaterialData(s,n.materialMap[s]);n=null}},$w.prototype._parseComponent=function(e,t){if(e){var i=new wy(e),n=i.compArr.length,r=this.descriptor;if(r){for(var o=this.fileKeyFromModelKey[t]||"",a=0;n>a;a+=1){var s=i.compArr[a];-1!==s.geoId&&(s.geoId=o+s.geoId,-1!==s.matId&&(s.matId=o+s.matId),this.model.submodel[o]=this.model.submodel[o]||[],this.model.submodel[o].push(s.key)),r.cacheReferencedMeshComponentData(s.key,s)}i=null}}else Bu.error("没有数据")},$w.prototype._parseKDTree=function(e,t){var i={};if(i="string"==typeof e?JSON.parse(e):e,this.model.kdTreeNode=this.model.kdTreeNode||[],i){var n=new jy;n.init(i),this.model.kdTreeNode.push(n)}},$w.prototype._parseNodes=function(e,t){var i=this.descriptor;if(i){var n={};n="string"==typeof e?JSON.parse(e):e,Bu.debug("nodes",n),i.cacheReferencedMeshNodesData(n)}},$w.prototype._parseClips=function(e,t){var i=this.descriptor;if(i){var n={};n="string"==typeof e?JSON.parse(e):e,Bu.debug("clips",n),i.cacheReferencedMeshClipsData(n)}},$w.prototype._parseBones=function(e,t){var i=new ky.BoneReader(e),n=this.descriptor;if(n){for(var r=i.boneCount,o=0;r>o;o+=1){var a=i.boneMap[o];Bu.debug("bones",a),n.cacheReferencedMeshBoneBufferData(a.geoId,a)}i=null}},$w.prototype._loadComponent=function(e){var t=this;if(xd.getDataFromIndexedDB&&!this.offLine){var i=this.url,n=[],r=[];n.push(r);for(var o=0,a=0;e.length>a;a+=1)50>o||(n.push(r=[]),o=0),o+=1,r.push(i.mpkUrl(e[a]));var s=this.model.getStorage();if(s)for(var l=function(i,r){var o=n[r];s.getBatch(o,(function(e){for(var i=0;o.length>i;i+=1){var n=o[i].indexOf("fileKey=");if(-1===n)return void Bu.error("url is not has fileKey");var r=o[i].slice(n+8);if(e[o[i]])t._parseComponent(e[o[i]],r),Bu.debug("load com from local"),t._onTaskFinished();else{var a=t.taskComponentManager;if(-1===o[i].indexOf("fileKey="))return void Bu.error("url is not has fileKey");a.addTask(r),a.processTasks(t.loadComponent.bind(t)),Bu.debug("load com from net")}}}),(function(){for(var i=t.taskComponentManager,n=0;e.length>n;n+=1)i.addTask(e[n]);i.processTasks(t.loadComponent.bind(t))}))},c=0,h=n.length;h>c;c+=1)l(0,c)}else{for(var d=this.taskComponentManager,u=0;e.length>u;u+=1)d.addTask(e[u]);d.processTasks(t.loadComponent.bind(t))}},$w.prototype.loadGeometrie=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model,a=xd.GeoWorkerUrl;xd.UseGeoWorker?(n.setResponseType("arraybuffer"),n.load(r.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}))):(n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine),n.load(r.mpkUrl(e),(function(n){i._parseGeometrie(n,e,e),Bu.debug("geo load from online"),t(),i._onTaskFinished()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_GEOMETRY_ERROR,modelKey:o.modelKey})})))},$w.prototype.loadMaterial=function(e,t){var i=this,n=this.loader,r=this.url,o=this.model,a=xd.GeoWorkerUrl;xd.UseGeoWorker?(n.setResponseType("arraybuffer"),n.load(r.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}))):(n.setResponseType(i.modelDataVersion[i.fileKeyFromModelKey[e]||""]>1?"json":"arraybuffer"),n.setCacheViable(!this.offLine),n.load(r.mpkUrl(e),(function(n){i._parseMaterial(n,e),Bu.debug("met load from online"),t(),i._onTaskFinished()}),void 0,(function(e){o.dispatchEventEx({type:Qd.LOAD_MATERIAL_ERROR,modelKey:o.modelKey})})))},$w.prototype.loadTextures=function(e,t){var i=this.model.materialManager.textures,n=this,r=this.Textureloader,o=this.url,a=this.model,s=xd.GeoWorkerUrl;xd.UseGeoWorker?r.load(o.mpkUrl(e),(function(e){var i=new Worker(s);i.onmessage=function(e){var i=e.data;for(var r in i)i.hasOwnProperty(r);t(),n._onTaskFinished()},i.postMessage({msg:e})})):(r.setResponseType("blob"),r.setMimeType("text/plain"),r.setCacheViable(!this.offLine),r.load(o.textureUrl(e),(function(r){Bu.debug("tex load from online");var o=new Fe;i[e]=o,o.wrapS=o.wrapT=g;var s=document.createElement("img");s.onload=function(e){"string"!=typeof r&&window.URL.revokeObjectURL(s.src),t(),n.model.textureNeedsUpdate=!0,n._onLoadTexture()},s.onerror=function(e){a.dispatchEventEx({type:Qd.LOAD_TEXTURE_ERROR,modelKey:a.modelKey})},s.src="string"==typeof r?r:window.URL.createObjectURL(r),o.image=s,o.needsUpdate=!0}),void 0,(function(e){a.dispatchEventEx({type:Qd.LOAD_TEXTURE_ERROR,modelKey:a.modelKey})})))},$w.prototype.loadComponent=function(e,t){var i=this,n=this.jsonLoader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;xd.UseGeoWorker?(n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}))):(n.setResponseType("json"),n.setCacheViable(!this.offLine),n.load(o.mpkUrl(e),(function(n){i._parseComponent(n,e),Bu.debug("component load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})})))},$w.prototype.loadKDTree=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;xd.UseGeoWorker?(n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}))):(n.setResponseType("json"),n.setCacheViable(!this.offLine),n.load(o.kdTreeUrl(e),(function(n){i._parseKDTree(n,e),Bu.debug("kdtree load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})})))},$w.prototype.loadBones=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;xd.UseGeoWorker?(n.setResponseType("arraybuffer"),n.load(o.bonesUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}))):(n.setResponseType("arraybuffer"),n.setCacheViable(!this.offLine),n.load(o.bonesUrl(e),(function(n){i._parseBones(n,e),Bu.debug("bones load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})})))},$w.prototype.loadClips=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;xd.UseGeoWorker?(n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}))):(n.setResponseType("json"),n.setCacheViable(!this.offLine),n.load(o.clipsUrl(e),(function(n){i._parseClips(n,e),Bu.debug("Clips load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})})))},$w.prototype.loadNodes=function(e,t){var i=this,n=this.loader,r=this.model,o=this.url,a=xd.GeoWorkerUrl;xd.UseGeoWorker?(n.setResponseType("json"),n.load(o.mpkUrl(e),(function(e){var n=new Worker(a);n.onmessage=function(e){var n=e.data;for(var r in n)n.hasOwnProperty(r);t(),i._onTaskFinished()},n.postMessage({msg:e})}),(function(e){}))):(n.setResponseType("json"),n.setCacheViable(!this.offLine),n.load(o.nodesUrl(e),(function(n){i._parseNodes(n,e),Bu.debug("Nodes load from online"),t(),i._onTaskFinished()}),void 0,(function(e){r.dispatchEventEx({type:Qd.LOAD_COMPONENT_ERROR,modelKey:r.modelKey})})))};var eM=function(e,t){_y.call(this,e),this.defaultManager=new Qv(t,e),this.instancedManager=new Kv(e),this.loader=new $w(this)};eM.prototype=Object.create(Vv.prototype);var tM=function(e){_w.call(this,e),this.modelDataVersion={}};(tM.prototype=Object.assign(tM.prototype,_w.prototype)).load=function(e){var t=this,i=this.model;this.config={};var n=i.dataUrl,r=function(r){var o={};if("string"==typeof r)try{o=JSON.parse(r)}catch(e){return i.setEmptyScene(!0),void i.dispatchEventEx({type:Fd.ON_LOAD_INVALID_SCENE,modelKey:i.modelKey})}else o=r;if(o&&"SUCCESS"===o.code){if(xd.offLine)t.model.getStorage().put(n.projectUrl(),o,t.model.modelKey,(function(){}),(function(){}));if(-1===Number(o.data.status))return void i.dispatchEventEx({type:Qd.PARSEFAILE,modelKey:i.modelKey});if(3>Number(o.data.status))return void i.dispatchEventEx({type:Qd.PARSING,modelKey:i.modelKey});t.dataVersion=o.data.profiles.geo||"1.0.0",n.apiVersion=o.data.profiles.api,t.model.dataVersion=t.dataVersion,t._parse(o.data),i.dispatchEventEx({type:Fd.ON_LOAD_CONFIG_FINISH,modelKey:i.modelKey}),e&&e()}else Bu.log(i.modelKey,"config load error! ",o.message),i.dispatchEventEx({type:Fd.ON_LOAD_ERROR,modelKey:i.modelKey,code:o.code,message:o.message})};if(xd.offLine){var o=this.model.getStorage();o&&o.getBatch([n.projectUrl()],(function(e){e[n.projectUrl()]?r(e[n.projectUrl()]):Yy({type:"GET",url:n.projectUrl(),headers:{Authorization:i.accessToken},success:r,error:function(e){i.dispatchEventEx({type:Fd.ON_NETWORK_ERROR,modelKey:i.modelKey,data:e})}})}),(function(){}))}else{for(var a=[],s=function(){var e=i.modelKeys[l];a.push(new Promise((function(t,r){Yy({type:"GET",url:n.projectUrl(e),headers:{Authorization:i.accessToken},success:function(i){t({modelKey:e,data:i})},error:function(t,n){switch(t){case 401:i.dispatchEventEx({type:Fd.ACCOUNT_NO_EXIST,modelKey:e,data:n});break;case 403:i.dispatchEventEx({type:Fd.NO_PERMISSION,modelKey:e,data:n});break;default:i.dispatchEventEx({type:Fd.ON_NETWORK_ERROR,modelKey:e,data:t})}r(t,n)}})})))},l=0;i.modelKeys.length>l;l+=1)s();Promise.all(a).then((function(r){for(var o=[],a=0,s={},l=0;r.length>l;l+=1)if(r[l]){var c=r[l].data,h=r[l].modelKey,d={};if("string"==typeof c)try{d=JSON.parse(c)}catch(e){return void i.dispatchEventEx({type:Fd.ON_LOAD_INVALID_SCENE,modelKey:h})}else d=c;if(d&&"SUCCESS"===d.code){if(xd.offLine)t.model.getStorage().put(n.projectUrl(),d,t.model.modelKey,(function(){}),(function(){}));var u=d.data.scene||null,p=d.data.profiles.geo||"1.0.0";if(n.apiVersion=d.data.profiles.api,o.push({scene:u,modelKey:d.data.key,dataVersion:p}),t.modelDataVersion[d.data.key]=p,s[p]=!0,a+=d.data.componentCount,-1===Number(d.data.status))return void i.dispatchEventEx({type:Qd.PARSEFAILE,modelKey:h});if(3>Number(d.data.status))return void i.dispatchEventEx({type:Qd.PARSING,modelKey:h});t.dataVersion=d.data.profiles.geo||"1.0.0",t.sceneReader=t.sceneReader||[],i.setConfig(d.data),t._parse(d.data)}else Bu.log(i.modelKey,"config load error! ",d.message),i.dispatchEventEx({type:Fd.ON_LOAD_ERROR,modelKey:h,code:d.code,message:d.message})}var g=new eM(i,!1);i._handler=g,t.model.componentCount=a,i.dispatchEventEx({type:Fd.ON_LOAD_CONFIG_FINISH,modelKey:i.modelKey}),t.scenes=o,e&&e()})).catch((function(e){console.log(e)}))}},tM.prototype._parse=function(e){this.config=e,e.lengthUnit&&(this.model.originalLengthUnit=e.lengthUnit),xd.MergeComponent=!0,this._toStatistics(e),this._setTransformInfos(e),this._chooseRendering(e)};var iM={};iM.brdf_vs=["varying vec2 vUV;","void main() {"," vUV = uv;"," gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);","}"].join("\n"),iM.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"),iM.BRDFMap=function(e,t){this.texture=null,this.resolution=t||512,this.brdfMaterial=new cn({vertexShader:iM.brdf_vs,fragmentShader:iM.brdf_fs,uniforms:{HammersleyTable:{value:e}},lights:!1}),this.quad=new nn(new In(window.innerWidth,window.innerHeight),this.brdfMaterial),this.quad.position.z=-100},iM.BRDFMap.prototype.constructor=iM.BRDFMap,iM.BRDFMap.prototype.generateMap=function(e){var t=new Vo;t.add(this.quad);var i=new pc(window.innerWidth/-2,window.innerWidth/2,window.innerHeight/2,window.innerHeight/-2,-1e4,1e4);i.position.z=100;var n=new Oe(this.resolution,this.resolution,{minFilter:C,magFilter:A,format:k});e.setRenderTarget(n),e.clear(),e.render(t,i),this.texture=n.texture};var nM=function(){this.instanceMaterials={},this.materials={},this.textures={},this.lightmaps={},this.ensureImagePowerOfTwo=!1};nM.prototype.changeAllMaterials=function(e,t){},nM.prototype.destroy=function(){this.instanceMaterials={},this.materials={},this.textures={},this.lightmaps={}},nM.prototype.disposeInstanceMaterials=function(e){var t=this.instanceMaterials;for(var i in t){var n=t[i];if(Array.isArray(n))for(var r=0,o=n.length;o>r;r+=1)n[r].dispose();else n.dispose()}},nM.prototype.disposeMaterials=function(e){for(var t in this.materials)this.materials[t].dispose();this.disposeInstanceMaterials(e)},nM.prototype.updateMaterialsValue=function(e,t,i){var n=this.materials,r=this.instanceMaterials,o=null;for(var a in n)for(var a in(o=n[a])&&o[t]&&(o[t]=i,"function"==typeof o.refreshUniforms&&o.refreshUniforms(),o.needsUpdate=!0),r)if(o=r[a])if(Array.isArray(o))for(var s=0,l=o.length;l>s;s+=1)o[s][t]&&(o[s][t]=i,"function"==typeof o[s].refreshUniforms&&o[s].refreshUniforms(),o[s].needsUpdate=!0);else o[t]&&(o[t]=i,"function"==typeof o.refreshUniforms&&o.refreshUniforms(),o.needsUpdate=!0)},nM.prototype.enableColorWithoutLight=function(e){var t=this.materials,i=this.instanceMaterials,n=null;if(e){for(var r in t)(n=t[r])&&(n.defines.USE_COLORWITHOUTLIGHT="",n.needsUpdate=!0);for(var r in i)if(n=i[r])if(n instanceof Array)for(var o=0,a=n.length;a>o;o+=1)n[o].defines.USE_COLORWITHOUTLIGHT="",n[o].needsUpdate=!0;else n.defines.USE_COLORWITHOUTLIGHT="",n.needsUpdate=!0}else{for(var r in t)(n=t[r])&&(delete n.defines.USE_COLORWITHOUTLIGHT,n.needsUpdate=!0);for(var r in i)if(n=i[r])if(n instanceof Array)for(o=0,a=n.length;a>o;o+=1)delete n[o].defines.USE_COLORWITHOUTLIGHT,n[o].needsUpdate=!0;else delete n.defines.USE_COLORWITHOUTLIGHT,n.needsUpdate=!0}},nM.prototype._updateTextureMapping=function(e){var t=xd.EnableTextureMapping,i=this.ensureImagePowerOfTwo;function n(e,t){if(t){if(void 0===t.length)e.map=t;else for(var n=0;t.length>n;n+=1)i||(t[n].image=cA.ensurePowerOfTwo(t[n].image)),"map"===t[n].texturetype?e.map=t[n]:"bumpMap"===t[n].texturetype?t[n].depth&&(e.bumpScale=t[n].depth):"specularMap"===t[n].texturetype?e.specularMap=t[n]:"alphaMap"===t[n].texturetype?(e.alphaMap=t[n],e.alphaTest=.01,e.map=t[n],e.transparent=!0):"emissiveMap"===t[n].texturetype?e.emissiveMap=t[n]:"environmentMap"===t[n].texturetype?e.envMap=t[n]:"normalMap"===t[n].texturetype?(e.normalMap=t[n],t[n].depth&&e.normalScale.set(t[n].depth,t[n].depth)):Bu.warn("This map type is not supported yet:",t[n].texturetype);xd.IBL&&e.refreshUniforms(),e.needsUpdate=!0}else e.textureColor&&e.color.setStyle(e.textureColor),e.needsUpdate=!0}if(this.lastTextureEnabled!==t){var r=this.textures,o=this.materials;if(e)var a=e.manager.getMaterialOverrideSet(),s=a?a.materialsByName:null,l=a?a.textures:null;var c=this.instanceMaterials,h=null,d=null;if(t){for(h in o){if(d=o[h])n(d,u=r[h])}for(h in c)if(d=c[h]){var u=r[h];if(l&&l[h]&&(u=l[h]),Array.isArray(d))for(var p=0,g=d.length;g>p;p+=1)n(d[p],u);else n(d,u)}for(h in s){if(d=s[h])n(d,u=l[h.split("#")[0]])}this.ensureImagePowerOfTwo=!0}else{if(!a)for(h in o)(d=o[h])&&(d.map=null,d.needsUpdate=!0);for(h in c)if(d=c[h])if(Array.isArray(d))for(p=0,g=d.length;g>p;p+=1)d[p].pureColor&&(d[p].color.setStyle(d[p].pureColor),d[p].map=null,d[p].needsUpdate=!0),a||(d[p].map=null,d[p].needsUpdate=!0);else d.pureColor&&(d.color.setStyle(d.pureColor),d.map=null,d.needsUpdate=!0),a||(d.map=null,d.needsUpdate=!0);for(h in s)(d=s[h])&&(d.map=null,d.needsUpdate=!0,d.pureColor&&d.color.setStyle(d.pureColor))}this.lastTextureEnabled=t}},nM.prototype.updateMaterials=function(e){var t=this.materials;for(var i in t)if(t.hasOwnProperty(i)){var n=t[i];n.IBLMaps=e.manager.scene.IBLMaps,n.refreshUniforms()}},nM.prototype._updateIBL=function(e){var t=e.manager.scene;if(xd.IBL&&null!==t.iblProbe&&t.iblProbe.isComputed){this.materialManager.updateMaterials(e);var i=t.IBLcfg,n=i[Object.keys(i)[t.IBLIndex]];for(var r in n)this.materialManager.updateMaterialsValue(e,r,n[r])}},nM.prototype.changeAllMaterials=function(e,t){var i=this.materials;for(var n in i)if(i.hasOwnProperty(n)){var r=cA.getMaterialParameters(i[n]),o=null;t?(delete r.textureColor,delete r.pureColor,delete r.imageFade,r.lights=!0,(o=new iM.IBLMaterial(r)).type="IBL",o.refreshUniforms()):(delete r.iblProbe,(o=cA.createStandardMaterial(r)).roughness=r.originRoughness,o.metalness=r.originMetalness,o.refreshUniforms()),o.name=n,i[n]=o,r=null}},nM.prototype.switchNewStyleMaterial=function(e,t){var i=this.materials;for(var n in i)if(i.hasOwnProperty(n)){var r=cA.getMaterialParameters(i[n]),o=null;(o=t?cA.createNewStyleMaterial(r):cA.createStandardMaterial(r)).name=n,i[n]=o,r=null}},nM.prototype.getInstanceMaterialById=function(e,t){if(this.instanceMaterials[e])return this.instanceMaterials[e];var i=cA.getMaterialParameters(t.manager.getOverrideMaterialByName(e)||this.materials[e]),n=i.transparent,r=cA.createInstanceMaterial(i,!0);r.transparent=!1;var o=cA.createInstanceMaterial(i,!0);return o.transparent=!0,xd.TranslucentDepthDisabled&&(o.depthWrite=!1),n===r.transparent?(this.instanceMaterials[e]=[r,o],o.defines.INSTANCE_STATE_SECONDARY=""):(this.instanceMaterials[e]=[o,r],r.defines.INSTANCE_STATE_SECONDARY=""),this.instanceMaterials[e]},nM.prototype.getMaterialById=function(e){return this.materials[e]};var rM=function(e,t,i,n){var r=this;this.manager=e,this.modelKey=t.modelKey,this.projectKey=t.dbName,this.offLine=t.offLine,this.accessToken=t.token||"",this.shareKey=t.share||"",this.dataVersion=null,this.debut=n,this.dataUrl=new $C(t),this.submodel={},this.loadingManager=new xl,this.loadingManager.model=this,this.fileLoader=new xy(this.loadingManager),this.configLoader=new _w(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 Ge,this.position=new Ke,this.scale=new Ke(1,1,1),this.transformMatrix=new yt,this.selectedMaterial=this.manager.sceneState.selectionMaterial,this.materialManager=new nM,this.wireframeManager=new UA,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=Vp.MODEL+"|"+this.modelKey,this.group=this.manager.scene.getOrCreateGroup(this.groupName,{pickableType:Rd.Geometry,globalSpace:!0}),this._handler=null,this.lightmap=!1,this.lightmapNum=0,this.enableLightmap=!1,this.lightmapIntensity=xd.LightmapIntensity,this.minDistanceObjects={},this.prioritizedNodeCount=0,this.plugins=[],this.merged=!1,t.modelKeys&&(this.modelGroup=!0,this.groupKey=t.modelKey,this.modelKeys=t.modelKeys,this.progressFrequency=100,this.merged=!0,this.configLoader=new tM(this)),this.subModel={},og.isSupportIndexedDB()?(this.storage=new _C({store:this.modelKey,version:1,dbName:this.modelKey}),this.storage.addEventListener(Fd.ON_DATABASE_OPEN,(function(e){i&&i(r,!0)})),this.storage.addEventListener(Fd.ON_DATABASE_EEEOR,(function(e){r.storage=void 0,i&&i(r,!1)}))):(r.storage=void 0,i&&i(this,!1)),this._viewerImpl=e.viewerImpl};Object.assign(rM.prototype,hg.prototype),rM.prototype.getStorage=function(){return this.storage},rM.prototype.destroy=function(){this.selectedMaterial=null,this.cameraList=null,this.occlusionCamera&&(this.occlusionCamera=null),this.panel&&this.panel.destroy(),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},rM.prototype._getWireframeGroupName=function(){return Vp.WIREFRAME+"|"+this.modelKey},rM.prototype.load=function(e){var t=this;this.configLoader.load((function(){t.parseCfgFinish&&t.parseCfgFinish(),t.manager.updateScene(),t._getHandler().load(e)}))},rM.prototype.setCrossOrigin=function(e){this.fileLoader.setCrossOrigin(e)},rM.prototype.prepare=function(e,t){var i=this._getHandler();i&&i.prepare(e,t)},rM.prototype.dispatchEventEx=function(e){e.modelKey=this.modelKey,this.manager.dispatchEvent(e)},rM.prototype.setLoaded=function(e){this.loaded=e},rM.prototype.isLoaded=function(){return this.loaded},rM.prototype.getTransformMatrix=function(){return this.transformMatrix},rM.prototype.isEmptyScene=function(){return this.emptyScene},rM.prototype.setEmptyScene=function(e){this.emptyScene=e},rM.prototype.isLayerData=function(){return!(!this._handler||"layer"!==this._handler.tag)},rM.prototype.setConfig=function(e){this.configLoader.config=e},rM.prototype.getConfig=function(){return this.configLoader.config},rM.prototype.isVisible=function(){return this.manager.filter._isModelVisible(this.modelKey)},rM.prototype.setVisible=function(e){e?this.manager.filter.showModelByIds([this.modelKey]):this.manager.filter.hideModelByIds([this.modelKey])},rM.prototype.calculateCameraModelRelation=function(e){this.containsCamera=this.getModelDescriptor().isOctreeOuter(e)},rM.prototype.addCamera=function(e){this.cameraList.push(e)},rM.prototype.getCameraNameList=function(){for(var e=[],t=this.cameraList.length-1;t>=0;t-=1)e.push(this.cameraList[t].name);return e},rM.prototype.getCamera=function(e){for(var t=this.cameraList.length-1;t>=0;t-=1)if(this.cameraList[t].name===e)return this.cameraList[t];return null},rM.prototype.updateOctreeNode=function(e){if(e||this.firstOctreeTransform){this.firstOctreeTransform&&(this.firstOctreeTransform=!1);var t=this.manager.scene.getMatrixGlobal();this.getModelDescriptor().updateOctreeNode(t)}},rM.prototype.isDataReady=function(){var e=this._handler;return!!e&&e.isDataReady()},rM.prototype.updateMeshNodes=function(e){var t=this._getHandler();if(t){if("layer"===t.tag&&!t.layerDataLoaded)return;t.updateNodes()}},rM.prototype._getHandler=function(e){return this._handler},rM.prototype.getMeshesByUserIds=function(e){if(e){var t=this._getHandler();return t?t.getMeshesByUserIds(e):void 0}},rM.prototype.applyFilter=function(){if(!1!==this.manager.filter._isModelVisible(this.modelKey)){for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].applyFilter();this.group.visible=!0;var i=this._getHandler();i&&i.applyFilter()}else this.group.visible=!1},rM.prototype.applySelection=function(){for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].applySelection();var i=this._getHandler();i&&i.applySelection()},rM.prototype.clearSelection=function(){for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].clearSelection();var i=this._getHandler();i&&i.clearSelection()},rM.prototype.applyHover=function(){for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].applyHover();var i=this._getHandler();i&&i.applyHover()},rM.prototype.clearHover=function(){for(var e=0,t=this.plugins.length;t>e;e+=1)this.plugins[e].clearHover();var i=this._getHandler();i&&i.clearHover()},rM.prototype.applyBlink=function(){var e=this._getHandler();e&&e.applyBlink()},rM.prototype.clearBlink=function(){var e=this._getHandler();e&&e.clearBlink()},rM.prototype.applyReplacement=function(){var e=this._getHandler();e&&e.applyReplacement()},rM.prototype._removeMeshNodeGroup=function(){this._removeNodeGroup(Vp.GEOMETRY),this._removeNodeGroup(Vp.INSTANCEGEOMETRY),this._removeNodeGroup(Vp.WIREFRAME),this._removeNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY),this._removeNodeGroup(Vp.AXISNET),this._removeSceneGroup(),this.group=null},rM.prototype._getNodeGroup=function(e,t){for(var i=this.group.children,n=0,r=i.length;r>n;n+=1)if(i[n].name===e)return i[n];var o=new cm(e,t);return this.group.add(o),o.globalSpace&&(o.matrixAutoUpdate=!1,o.updateMatrixWorld(!0)),o},rM.prototype._removeNodeGroup=function(e){this.group.removeByName(e)},rM.prototype._hasNodeGroup=function(e){return this.group.hasChild(e)},rM.prototype._removeSceneGroup=function(){this.manager.scene.removeGroupByName(this.groupName),this.manager.scene.removeGroupByName(this._getWireframeGroupName())},rM.prototype.removeAllFromOctantMap=function(){this.manager.removeAllFromOctantMap(this.modelKey)},rM.prototype.clearMeshFromOctantMap=function(){this.manager.removeMeshFromOctantMap(this.modelKey)},rM.prototype.getDatabagId=function(){return this.modelKey},rM.prototype.getEncodedDatabagId=function(){return this.modelKey},rM.prototype.getMaterialManager=function(){return this.materialManager},rM.prototype.clearWireframeElementCount=function(){this.wireframeElementCount=void 0},rM.prototype.getWireframeElementCount=function(){if(void 0!==this.wireframeElementCount)return this.wireframeElementCount;var e=this.getModelDescriptor().getAllNodeInfos(),t=this.manager.filter,i=0;for(var n in e){var r=e[n];t._hasRenderWithBoardlineFilter()&&!t._isRenderWithBoardline(r[0])||(i+=r.length)}return this.wireframeElementCount=i,i},rM.prototype.isActivateWireframe=function(){return this.manager.isDrawingBoardlineEnabled()},rM.prototype.isOnlyWireframe=function(){return this.manager.isOnlyWireframe()},rM.prototype.getLoadedUserIdsObject=function(){return this._handler&&this._handler.getLoadedUserIdsObject?this._handler.getLoadedUserIdsObject():null},rM.prototype.clearNodeGroup=function(){var e=this._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});e.clear(),(e=this._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).clear(),(e=this._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).clear(),(e=this._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).clear()},rM.prototype.getWireframeMaterial=function(){return this.wireframeManager.wireframeMaterial},rM.prototype.getInstanceWireframeMaterial=function(){return this.wireframeManager.instanceWireframeMaterial},rM.prototype.getMaterialByMaterialId=function(e){return this.materialManager.materials[e]},rM.prototype.adjustProgressPercentage=function(e,t,i){this.progressPercentage.load=e,this.progressPercentage.collect=t,this.progressPercentage.merge=i},rM.prototype.setReplacedUserIdMap=function(e){this.replacedUserIdMap=wp.isOwnEmptyObject(e)?null:e},rM.prototype.hasReplacedUserId=function(){return!wp.isEmptyObject(this.replacedUserIdMap)},rM.prototype.isReplacedUserId=function(e){return this.replacedUserIdMap&&this.replacedUserIdMap[e]},rM.prototype.registerPlugin=function(e){this.plugins.push(e)},rM.prototype.disposeBufferAfterVbo=function(){var e=this._getHandler();e&&e.disposeBufferAfterVbo()},rM.prototype.isHiddenUserId=function(e){var t=this._getHandler();return!!t&&t.isHiddenNode(e)},rM.prototype.hasHiddenUserId=function(){return this.manager.hasHiddenUserId()},rM.prototype.isHiddenSourceObjectUserId=function(e){return this.manager.isHiddenSourceObjectUserId(e)},rM.prototype.hasHiddenSourceObjectUserId=function(){return this.manager.hasHiddenSourceObjectUserId()},rM.prototype.getModelDescriptor=function(){return this._handler.loader.getDescriptor()},rM.prototype.getLoader=function(){return this._handler.loader},rM.prototype.getConfig=function(){return this.configLoader.getConfig()},rM.prototype.getTransforms=function(){return this.configLoader.getTransforms()},rM.prototype.getStatistics=function(){return this.configLoader.getStatistics()},rM.prototype.setRenderableCount=function(e){this.configLoader.setRenderableCount(e),this._handler&&this._handler.clearPriorityNodesSet&&this._handler.clearPriorityNodesSet(!0)},rM.prototype.getRenderableCount=function(){return this.configLoader.getStatistics().renderableCount},rM.prototype.getBoundingBoxWorld=function(){return this.configLoader.getTransforms().boundingBox},rM.prototype.calculateBoundingBox=function(){var e=this.getModelDescriptor().getAllNodeInfos(),t=new He;for(var i in e)for(var n=e[i],r=0,o=n.length;o>r;r+=1){var a=n[r];a.boundingBox&&t.union(a.boundingBox)}var s=this.getModelMatrix();s&&t.applyMatrix4(s),this.configLoader.getTransforms().boundingBox.copy(t)},rM.prototype.calculateClippingIds=function(){var e=this._getHandler();e&&e.calculateClippingIds()},rM.prototype.explode=function(e){var t=this.getBoundingBoxWorld().getCenter(),i=this._getHandler();i&&i.explode(t,e)},rM.prototype.formatLayerIds=function(e){return this.getLayerProvider().formatLayerIds(e)},rM.prototype.getBoundingBoxOfGeometries=function(e){for(var t=!e,i=new He,n=0;e.length>n;n+=1){var r=this.group.getObjectByProperty("guid",e[n]);if(r){var o=r.geometry;if(o){if(t||o){o.boundingBox||o.computeBoundingBox();var a=o.boundingBox;if(a){var s=a.clone();r.matrixWorld&&s.applyMatrix4(r.matrixWorld),i.expandByPoint(s.min),i.expandByPoint(s.max)}}}else Bu.log("empty geometry!")}}return i},rM.prototype.setModelMatrix=function(e){this.group.matrix.copy(e),this.group.updateMatrixWorld(!0);var t=this.configLoader.transformInfos;t&&t.boundingBox&&(t.transformMatrix.copy(e),t.originalBoundingBox?this.calculateBoundingBox():(t.originalBoundingBox=t.boundingBox.clone(),t.boundingBox.applyMatrix4(e))),this.manager.updateSceneBoundingBox()},rM.prototype.applyModelMatrix=function(e){var t=this.configLoader.transformInfos;t&&t.boundingBox&&(t.transformMatrix.premultiply(e),t.originalBoundingBox||(t.originalBoundingBox=t.boundingBox.clone()),t.boundingBox.applyMatrix4(e)),this.group.matrix.copy(t.transformMatrix),this.group.updateMatrixWorld(!0),this.manager.updateSceneBoundingBox()},rM.prototype.getModelMatrix=function(){var e=null;return this.group.matrix&&(e=this.group.matrix.clone()),e},rM.prototype.resetModelMatrix=function(){var e=this.configLoader.transformInfos.originalMatrix;e&&this.setModelMatrix(e)},rM.prototype.overturnYAndZaxis=function(){var e=(new yt).makeRotationFromEuler(new bt(Math.PI/2,0,0));this.group.matrix&&(e.multiply(this.group.matrix),this.setModelMatrix(e))},rM.prototype.hasComponent=function(e){return!!this.getModelDescriptor().getNodeInfosByUserId(e)},rM.prototype.getComponentInfo=function(e){return this.getModelDescriptor().getNodeInfosByComponentKey(e)},rM.prototype.getComponentlist=function(){var e=[],t=this.getModelDescriptor();for(var i in t.mapNodeInfoByComponentKey)t.mapNodeInfoByComponentKey.hasOwnProperty(i)&&e.push(i);return e},rM.prototype.addMeshToInfoMap=function(e,t,i,n,r){this.getModelDescriptor().addMeshToInfoMap(e,t,i,n,r)},rM.prototype.loadGeopkOnDemand=function(e,t,i){this._handler&&"layer"===this._handler.tag&&this._handler.loadGeopkOnDemand(e,t,i)},rM.prototype.unloadGeopkOnDemand=function(e,t){this._handler&&"layer"===this._handler.tag&&this._handler.unloadComponents(e,t)},rM.prototype.loadAllGeosOnDemand=function(e,t,i){this._handler&&"layer"===this._handler.tag&&this._handler.loadAllGeosOnDemand(e,t,i)},rM.prototype.getUnionBoundingBoxOnDemand=function(){return this.getLayerProvider().getUnionBoundingBoxOnDemand()},rM.prototype.setConditionsChangedOnDemand=function(e){this.getLayerProvider().setConditionsChanged(e)},rM.prototype.explosion=function(e){var t=this._getHandler();Bu.time("模型离散用时"),t&&(this.explosioning=!0,t.explosion(e)),Bu.timeEnd("模型离散用时"),this.calculateBoundingBox()},rM.prototype.closeExplosion=function(){Bu.time("取消模型离散用时");var e=this._getHandler();e&&(e.closeExplosion(),this.explosioning=!1),Bu.timeEnd("取消模型离散用时")},rM.prototype.componentsExplosion=function(e){var t=this._getHandler();if(1===(e.coefficientX||1)&&1===(e.coefficientY||1)&&1===(e.coefficientZ||1)&&0===(e.offsetX||0)&&0===(e.offsetY||0)&&0===(e.offsetZ||0))return this.explosioning=!1,this.closeComponentsExplosion(e.componentKey),void this.calculateBoundingBox();Bu.time("构件离散用时"),t&&(this.explosioning=!0,t.componentsExplosion(e),this.calculateBoundingBox()),Bu.timeEnd("构件离散用时")},rM.prototype.closeComponentsExplosion=function(e){Bu.time("取消构件离散用时");var t=this._getHandler();t&&(t.closeComponentsExplosion(e),this.explosioning=!1),Bu.timeEnd("取消构件离散用时")},rM.prototype.floorExplosion=function(e){if(this.floorManager){var t=this.floorManager.floorExplosionInfo;this.explosioning=!0;var i=this._getHandler();if(!i)return!1;if(!t.sortedFloors){for(var n=[],r=0,o=t.floors.length;o>r;r+=1){var a=t.floors[r],s=this.manager.getBoundingBoxByIds(a.componentkeys);if(!s.isEmpty()){a.box=s;var l=new Ke;a.box.getCenter(l),a.center=l,n.push(a)}}n.sort((function(e,t){return e.center.z-t.center.z})),t.sortedFloors=n;for(var c=0,h=1/0,d=0,u=0,p=n.length;p>u;u+=1){var g=Math.abs(n[u].center.z);h>g&&(c=u,h=g);var f=new Ke;n[u].box.getSize(f),d+=f.z}t.baseFloorIndex=c,t.averageHeight=d/n.length;var m=n[c].center.toArray();t.center=m}for(var A=(e-1)*t.averageHeight,y=0,v=t.sortedFloors.length;v>y;y+=1){if(y!==t.baseFloorIndex)i.componentsExplosion({offsetZ:(y-t.baseFloorIndex)*A,componentKey:t.sortedFloors[y].componentkeys,center:t.center})}return this.calculateBoundingBox(),!0}return!1},rM.prototype.closeFloorExplosion=function(){if(this.floorManager){var e=this.floorManager.floorExplosionInfo;if(e&&e.sortedFloors){var t=this._getHandler();if(t){for(var i=0,n=e.sortedFloors.length;n>i;i+=1){t.closeComponentsExplosion(e.sortedFloors[i].componentkeys)}this.calculateBoundingBox(),this.explosioning=!1}}}},rM.prototype.showModel=function(e){this.nodes.visible=e},rM.prototype.updateMaterials=function(){var e=this.materials;for(var t in e)if(e.hasOwnProperty(t)){var i=e[t];i.IBLMaps=this.manager.scene.IBLMaps,i.refreshUniforms()}},rM.prototype.updateMaterialsValue=function(e,t){var i=this.materials;for(var n in i)if(i.hasOwnProperty(n)){var r=i[n];r.hasOwnProperty(e)&&(r[e]=t,r.refreshUniforms(),r.needsUpdate=!0)}},rM.prototype.changeAllMaterials=function(e){var t=this.materials;for(var i in t)if(t.hasOwnProperty(i)){var n=cA.getMaterialParameters(t[i]),r=null;e?(delete n.textureColor,delete n.pureColor,delete n.imageFade,n.lights=!0,(r=new iM.IBLMaterial(n)).type="IBL",r.refreshUniforms()):(delete n.iblProbe,(r=cA.createStandardMaterial(n)).roughness=n.originRoughness,r.metalness=n.originMetalness,r.refreshUniforms()),r.name=i,t[i]=r,n=null}},rM.prototype.getAllComponents=function(){return this.getComponentlist()},rM.prototype.getComponentKeysByTypeFromList=function(e,t){for(var i=this.getModelDescriptor(),n=[],r=0;e.length>r;r+=1)i.mapNodeInfoByComponentKey.hasOwnProperty(e[r])&&i.mapNodeInfoByComponentKey[e[r]][0].type===t&&n.push(e[r]);return n},rM.prototype.getComponentKeysByType=function(e){var t=this.getModelDescriptor(),i=[];for(var n in t.mapNodeInfoByComponentKey)t.mapNodeInfoByComponentKey.hasOwnProperty(n)&&t.mapNodeInfoByComponentKey[n][0].type===e&&i.push(n);return i},rM.prototype.getAllComponentKeyType=function(){var e={},t=[],i=this.getModelDescriptor();for(var n in i.mapNodeInfoByComponentKey)if(i.mapNodeInfoByComponentKey.hasOwnProperty(n)){var r=i.mapNodeInfoByComponentKey[n][0].type;e[r]||(e[r]=!0,t.push(r))}return t},rM.prototype.getComponentKeysByName=function(e){var t=this.getModelDescriptor(),i=[];for(var n in t.mapNodeInfoByComponentKey)t.mapNodeInfoByComponentKey.hasOwnProperty(n)&&t.mapNodeInfoByComponentKey[n][0].name===e&&i.push(n);return i},rM.prototype.getComponentKeysByProperty=function(e,t){var i=this.getModelDescriptor(),n=[];for(var r in i.mapNodeInfoByComponentKey)i.mapNodeInfoByComponentKey.hasOwnProperty(r)&&i.mapNodeInfoByComponentKey[r][0][e]===t&&n.push(r);return n},rM.prototype._getLayerHandler=function(){return this._layerHandler},rM.prototype.prepareData=function(){var e=this;this.materialManager._updateTextureMapping(),this.materialManager._updateIBL(this);var t=this._getHandler();t&&t.prepareData((function(){e.loaded=!0,e.hasAnimation&&xd.EnableAnimation&&e.createPanel(),e.debut(e)}))},rM.prototype.isUserIdExist=function(e){return!!this.getModelDescriptor().getNodeInfosByUserId(e)},rM.prototype.getNodeInfosByUserId=function(e){return this.getModelDescriptor().getNodeInfosByUserId(e)},rM.prototype.getNodeInfos=function(){return this.getModelDescriptor().getNodeInfosWithUserId()},rM.prototype.getFilter=function(){return this.manager.filter},rM.prototype.getOctreeRoots=function(e){this.getModelDescriptor().getOctreeRoots(e)},rM.prototype.getPickingMeshes=function(e,t,i,n){this._dealNonInstancedNodesForPicking(e,t,i,n),this._dealInstancedNodesForPicking(e,t,i,n),this._dealPluginNodesForPicking(e,t,i,n)},rM.prototype._dealNonInstancedNodesForPicking=function(e,t,i,n){if(this._handler){var r=this._handler.defaultManager;if(r.hasNodeInfo(this)){var o=r.getMeshManager().getPickingNodeGenerator().updatePickingMeshes(e.selectedMaterial,i,n);o&&t.meshes.push(o);var a=r.getWireFrameManager().getPickingNodeGenerator().updatePickingMeshes(e.wireframeMaterial,i,n);a&&t.meshes.push(a)}}},rM.prototype._dealInstancedNodesForPicking=function(e,t,i,n){if(this._handler){var r=this._handler.instancedManager;if(r.hasNodeInfo(this)){var o=r.getMeshManager().getPickingNodeGenerator().updatePickingMeshes(e.instancedSelectedMaterial,i,n);o&&t.meshes.push(o);var a=r.getWireFrameManager().getPickingNodeGenerator().updatePickingMeshes(e.instancedWireFrameMaterial,i,n);a&&t.meshes.push(a)}}},rM.prototype._dealPluginNodesForPicking=function(e,t,i,n){if(this._handler)for(var r=this.plugins,o=0,a=r.length;a>o;o+=1){var s=r[o].getPickingNodeGenerator().updatePickingMeshes(e.selectedMaterial,i,n);s&&t.meshes.push(s)}},rM.prototype.onWSWorkerMessage=function(){},rM.prototype.onPDWorkerMessage=function(){},rM.prototype._overrideOcclusionMaterial=function(e){var t=e.material;if(t&&!1===t.transparent){var i=this.manager.acquireMaterial(),n=i.material;t.color?n.color.copy(t.color):i.resetColor(),n.opacity=xd.OcclusionOpacity,e.material=n,e.material.needsUpdate=!0}},rM.prototype.showSkeleton=function(e){this.skeleton.visible=e},rM.prototype.deactivateAllActions=function(){this.needUpdate=!1,this.actions.forEach((function(e){e.stop()}))},rM.prototype.activateAllActions=function(){this.needUpdate=!0;for(var e=0;this.actions.length>e;e+=1)this.setWeight(this.actions[e],0===e?1:0);this.actions.forEach((function(e){e.play()}))},rM.prototype.pauseAllActions=function(){this.needUpdate=!1,this.actions.forEach((function(e){e.paused=!0}))},rM.prototype.toSingleStepMode=function(){this.unPauseAllActions(),this.singleStepMode=!0,this.sizeOfNextStep=this.settings["调整步长"]},rM.prototype.pauseContinue=function(){this.singleStepMode?(this.singleStepMode=!1,this.unPauseAllActions()):this.paused?(this.paused=!1,this.unPauseAllActions()):(this.paused=!0,this.pauseAllActions())},rM.prototype.unPauseAllActions=function(){this.needUpdate=!0,this.actions.forEach((function(e){e.paused=!1}))},rM.prototype.setWeight=function(e,t){e.enabled=!0,e.setEffectiveTimeScale(1),e.setEffectiveWeight(t)},rM.prototype.modifyTimeScale=function(e){this.mixer.timeScale=e},rM.prototype.createPanel=function(){var e=this,t=new XC({width:300}),i=t.addFolder(this.modelKey),n=i.addFolder("可见性"),r=i.addFolder("激活/失活"),o=i.addFolder("暂停/步进"),a=i.addFolder("混合权重"),s=i.addFolder("综合速度");this.settings={"显示模型":!0,"显示骨骼":!1,"关闭全部动画":this.deactivateAllActions.bind(e),"激活所有动画":this.activateAllActions.bind(e),"暂停/继续":this.pauseContinue.bind(e),"单步动画":this.toSingleStepMode.bind(e),"调整步长":.05,"使用默认持续时间":!0,"设置自定义持续时间":3.5,"modify idle weight":0,"modify walk weight":1,"modify run weight":0,"修改时间尺度":1};var l=this.settings;n.add(l,"显示模型").onChange(this.showModel.bind(e)),n.add(l,"显示骨骼").onChange(this.showSkeleton.bind(e)),r.add(l,"关闭全部动画"),r.add(l,"激活所有动画"),o.add(l,"暂停/继续"),o.add(l,"单步动画"),o.add(l,"调整步长",.01,.1,.001);for(var c=this.actions,h=function(t){var i=c[t]._clip.name;l[i]=0===t?1:0,a.add(l,i,0,1,.01).listen().onChange((function(i){e.setWeight(c[t],i)}))},d=0;c.length>d;d+=1)h(d);s.add(l,"修改时间尺度",0,10,.01).onChange(this.modifyTimeScale.bind(e)),n.open(),r.open(),o.open(),a.open(),s.open(),this.panel=t},rM.prototype.getTransformGroup=function(){return this.transformGroup||(this.transformGroup=this.manager.scene.getOrCreateGroup(Vp.TRANSFORM),this.group.add(this.transformGroup),this.transformGroup.updateMatrixWorld(!0)),this.transformGroup},rM.prototype.getComponentKeysBySubmodelKey=function(e){return this.submodel[e]||[]},rM.prototype.getTrianglesCount=function(){var e=0,t=0,i=0,n=0,r={};return this.group.traverse((function(o){if(o.isInstancedMeshEx&&o.multiCounts){for(var a=o.geometry,s=a.groups,l=0;s.length>l;l++){var c=s[l].count*o.multiCounts[l];t+=c,e+=3*c}var h=a.getAttribute("position").count;i+=h,n+=a.index.count/3}else if(o.isMesh){var d=o.geometry,u=d.getAttribute("position").count,p=d.index.count/3,g=d.getAttribute("vState");r[d.id]||(i+=u,n+=p,r[d.id]=!0),g&&(u*=g.count,p*=g.count),e+=u,t+=p}})),r=null,{positionsCount:e,trianglesCount:t,realPositionCount:i,realTrianglesCount:n}},rM.prototype._computeApproximateMemoerySize=function(){var e={},t=0,i=1/1048576,n=0,r=0,o=0;this.group.traverse((function(i){if(i.isMesh){var a=i.geometry,s=a.getAttribute("position").count,l=a.index.count/3,c=a.getAttribute("vState"),h=a.getAttribute("uv"),d=a.getAttribute("uv2");if(!e[a.id]){e[a.id]=!0;var u=6*s;h&&(u+=2*s),d&&(u+=2*s),t+=u+=3*l,u>o&&(o=u),c&&(n+=u*c.count,t+=19*s)}for(var p=0,g=i.material.length;g>p;p+=1){var f=i.material[0],m=void 0;f.map&&(m=f.map).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.bumpMap&&(m=f.bumpMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.aoMap&&(m=f.aoMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.normalMap&&(m=f.normalMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.alphaMap&&(m=f.alphaMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.envMap&&(m=f.envMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.lightMap&&(m=f.lightMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.emissiveMap&&(m=f.emissiveMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3),f.specularMap&&(m=f.specularMap).image&&(m.image instanceof HTMLCanvasElement||m.image instanceof HTMLImageElement)&&(r+=m.image.height*m.image.width*3)}}else if(i.isLineSegments){var A=i.geometry;if(A&&"Geometry"!==A.type){var y=A.getAttribute("position").count,v=A.getAttribute("vState");t+=3*y,v&&(t+=13*y)}}}));var a=[],s=0;for(var l in this.materialManager.textures){var c=this.materialManager.textures[l];c.image&&(c.image instanceof HTMLCanvasElement||c.image instanceof HTMLImageElement)&&(a.hasValue(c.image)||(a.push(c.image),s+=c.image.height*c.image.width*3))}a=null,console.log("贴图内存",s*i,"MB"),console.log("实例化显存",4*n*i,"MB"),console.log("实例化单次最大显存",4*o*i,"MB"),console.log("贴图显存",r*i,"MB"),t*=4,t*=i,t+=s*i,t=Math.ceil(t),console.log(t+"MB")},rM.prototype.addLights=function(e){this.lightGroup=this.lightGroup||new To,this.group.add(this.lightGroup),this.lightGroup.visible=!1;for(var t=0,i=e.length;i>t;t+=1)this.lightGroup.add(e[t]),e[t].updateMatrixWorld()},rM.prototype.hasLights=function(){return this.lightGroup&&this.lightGroup.children.length>0},rM.prototype.enabledLights=function(){this.lightGroup.visible=!0},rM.prototype.disabledLights=function(){this.lightGroup.visible=!1},rM.prototype.getMapNodeInfoByComponentKey=function(e){return this.descriptor.mapNodeInfoByComponentKey[e]},rM.prototype.componentApplyMatrix=function(e,t){this._handler&&this._handler.componentApplyMatrix(e,t)},rM.prototype.setComponentMatrix=function(e,t){this._handler&&this._handler.setComponentMatrix(e,t)},rM.prototype.resetComponentMatrix=function(e){this._handler&&this._handler.resetComponentMatrix(e)},Object.defineProperties(rM.prototype,{modelConfig:{get:function(){return Bu.warn("BOS3D.Model: .modelConfig 现在为 .getConfig()"),this.getConfig()},set:function(e){this.setConfig(e)}},loader:{get:function(){return this._getHandler().loader}},descriptor:{get:function(){return this.getModelDescriptor()}}});var oM={getBoxFromTileBoundingVolumeBox:function(e){var t=new He,i=(new Ke).fromArray(e,0),n=new Ke;return n.fromArray(e,3),n.add(i),t.expandByPoint(n),n.fromArray(e,6),n.add(i),t.expandByPoint(n),n.fromArray(e,9),n.add(i),t.expandByPoint(n),t},getSphereFromTileBoundingVolumeSphere:function(e){var t=(new Ke).fromArray(e,0);return new ct(t,e[3]||0)},getTransfrom:function(e){return Array.isArray(e)?(new yt).fromArray(e):new yt},getSSE:function(e){var t=this.getBoxByComponentsKey(e),i=this.viewerImpl.camera,n=t.getCenter(new Ke),r=t.getSize().length(),o=this.viewerImpl.getRenderer().domElement.width,a=i.fov;return r*o/(2*i.position.clone().sub(n).length()*Math.tan(a/2))}},aM=function(e){_w.call(this,e)};function sM(e,t,i){if(0>t)throw new Error("byteOffset cannot be negative.");if(0>i)throw new Error("byteLength cannot be negative.");if(t+i>e.byteLength)throw new Error("sub-region exceeds array bounds.");return e=e.subarray(t=t||0,t+(i=i||e.byteLength-t)),sM.decode(e)}function lM(e,t,i){return e>=t&&i>=e}(aM.prototype=Object.create(_w.prototype)).load=function(e){var t=this,i=this.model,n=i.dataUrl;Yy({type:"GET",url:n.rootTilesUrl(),headers:{Authorization:i.accessToken},success:function(r){var o={};if("string"==typeof r)try{o=JSON.parse(r)}catch(e){return i.setEmptyScene(!0),void i.dispatchEventEx({type:Fd.ON_LOAD_INVALID_SCENE,modelKey:i.modelKey})}else o=r;if(o){if(xd.offLine)t.model.getStorage().put(n.projectUrl(),o,t.model.modelKey,(function(){}),(function(){}));t._parse(o),i.dispatchEventEx({type:Fd.ON_LOAD_CONFIG_FINISH,modelKey:i.modelKey}),e&&e()}else Bu.log(i.modelKey,"config load error! ",o.message),i.dispatchEventEx({type:Fd.ON_LOAD_ERROR,modelKey:i.modelKey,code:o.code,message:o.message})},error:function(e,t){switch(e){case 401:i.dispatchEventEx({type:Fd.ACCOUNT_NO_EXIST,modelKey:i.modelKey,data:t});break;case 403:i.dispatchEventEx({type:Fd.NO_PERMISSION,modelKey:i.modelKey,data:t});break;default:i.dispatchEventEx({type:Fd.ON_NETWORK_ERROR,modelKey:i.modelKey,data:e})}}})},aM.prototype._parse=function(e){this.config=e,e.lengthUnit&&(this.model.originalLengthUnit=e.lengthUnit||"m"),this._toStatistics(e),this._setTransformInfos(e),this._chooseRendering(e)},aM.prototype._setTransformInfos=function(e){this.model.hasAnimation=!1,this.transformInfos.octreeTransformed=!1,this.transformInfos.boundingBox&&this.transformInfos.boundingBox.isBox3||(this.transformInfos.boundingBox=oM.getBoxFromTileBoundingVolumeBox(e.root.boundingVolume.box)),this.transformInfos.transformMatrix.compose(this.transformInfos.position,this.transformInfos.rotation,this.transformInfos.scale),this.transformInfos.transformMatrix.fromArray(e.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()},sM.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)},sM.decodeWithFromCharCode=function(e){for(var t="",i=function(e){for(var t=0,i=0,n=0,r=128,o=191,a=[],s=e.length,l=0;s>l;l+=1){var c=e[l];if(0===n){if(lM(c,0,127)){a.push(c);continue}if(lM(c,194,223)){n=1,t=31&c;continue}if(lM(c,224,239)){224===c&&(r=160),237===c&&(o=159),n=2,t=15&c;continue}if(lM(c,240,244)){240===c&&(r=144),244===c&&(o=143),n=3,t=7&c;continue}throw new Error("String decoding failed.")}lM(c,r,o)?(r=128,o=191,t=t<<6|63&c,(i+=1)===n&&(a.push(t),t=n=i=0)):(t=n=i=0,r=128,o=191,l-=1)}return a}(e),n=i.length,r=0;n>r;r+=1){var o=i[r];o>65535?(o-=65536,t+=String.fromCharCode(55296+(o>>10),56320+(1023&o))):t+=String.fromCharCode(o)}return t},sM.decode="undefined"!=typeof TextDecoder?sM.decodeWithTextDecoder:sM.decodeWithFromCharCode;var cM=function(){function e(e){Ml.call(this,e),this.dracoLoader=null,this.ddsLoader=null}function t(){var e={};return{get:function(t){return e[t]},add:function(t,i){e[t]=i},remove:function(t){delete e[t]},removeAll:function(){e={}}}}e.prototype=Object.assign(Object.create(Ml.prototype),{constructor:e,load:function(e,t,i,n){var r,o=this;r=""!==this.resourcePath?this.resourcePath:""!==this.path?this.path:Ic.extractUrlBase(e),o.manager.itemStart(e);var a=function(t){n?n(t):console.error(t),o.manager.itemError(e),o.manager.itemEnd(e)},s=new xy(o.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),"use-credentials"===o.crossOrigin&&s.setWithCredentials(!0),s.load(e,(function(i){try{o.parse(i,r,(function(i){t(i),o.manager.itemEnd(e)}),a)}catch(e){a(e)}}),i,a)},setDRACOLoader:function(e){return this.dracoLoader=e,this},setDDSLoader:function(e){return this.ddsLoader=e,this},parse:function(e,t,s,l){var u,g={};if("string"==typeof e)u=e;else{var f=Ic.decodeText(new Uint8Array(e,0,4));if(f===a){try{g[i.KHR_BINARY_GLTF]=new c(e)}catch(e){return void(l&&l(e))}u=g[i.KHR_BINARY_GLTF].content}else if("b3dm"===f){try{g[i.KHR_BINARY_GLTF]=new c(function(e){var t=0;t=0;var i=Uint32Array.BYTES_PER_ELEMENT,n=new Uint8Array(e),r=new DataView(e),o=r.getUint32(t+=i,!0);if(1!==o)throw new Error("Only Batched 3D Model version 1 is supported. Version "+o+" is not.");var a=r.getUint32(t+=i,!0),s=r.getUint32(t+=i,!0),l=r.getUint32(t+=i,!0),c=r.getUint32(t+=i,!0),h=r.getUint32(t+=i,!0);if(t+=i,570425344>c?570425344>h||(t-=i,c=s,h=l,s=0,l=0):(t-=2*i,c=l,h=0,s=0,l=0),0===s);else{var d=sM(n,t,s);JSON.parse(d),t+=s}if(t+=l,c>0){var u=sM(n,t,c);JSON.parse(u),t+=c,h>0&&(t+=h)}var p=0+a-t;if(0===p)throw new Error("glTF byte length must be greater than 0.");return t%4==0||new Uint8Array(n.subarray(t,t+p)),e.slice(t)}(e))}catch(e){return void(l&&l(e))}u=g[i.KHR_BINARY_GLTF].content}else u=Ic.decodeText(new Uint8Array(e))}var m=JSON.parse(u);if(void 0===m.asset||m.asset.version[0]<2)l&&l(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));else{if(m.extensionsUsed)for(var A=0;m.extensionsUsed.length>A;++A){var y=m.extensionsUsed[A],v=m.extensionsRequired||[];switch(y){case i.KHR_LIGHTS_PUNCTUAL:g[y]=new r(m);break;case i.KHR_MATERIALS_UNLIT:g[y]=new o;break;case i.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS:g[y]=new p;break;case i.KHR_DRACO_MESH_COMPRESSION:g[y]=new h(m,this.dracoLoader);break;case i.MSFT_TEXTURE_DDS:g[y]=new n(this.ddsLoader);break;case i.KHR_TEXTURE_TRANSFORM:g[y]=new d;break;case i.KHR_MESH_QUANTIZATION:g[y]=new w;break;default:0>v.indexOf(y)||console.warn('THREE.GLTFLoader: Unknown extension "'+y+'".')}}new $(m,g,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,manager:this.manager}).parse(s,l)}}});var i={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 n(e){if(!e)throw new Error("THREE.GLTFLoader: Attempting to load .dds texture without importing DDSLoader");this.name=i.MSFT_TEXTURE_DDS,this.ddsLoader=e}function r(e){this.name=i.KHR_LIGHTS_PUNCTUAL,this.lightDefs=(e.extensions&&e.extensions[i.KHR_LIGHTS_PUNCTUAL]||{}).lights||[]}function o(){this.name=i.KHR_MATERIALS_UNLIT}r.prototype.loadLight=function(e){var t,i=this.lightDefs[e],n=new pi(16777215);void 0!==i.color&&n.fromArray(i.color);var r=void 0!==i.range?i.range:0;switch(i.type){case"directional":(t=new fc(n)).target.position.set(0,0,-1),t.add(t.target);break;case"point":(t=new uc(n)).distance=r;break;case"spot":(t=new sc(n)).distance=r,i.spot=i.spot||{},i.spot.innerConeAngle=void 0!==i.spot.innerConeAngle?i.spot.innerConeAngle:0,i.spot.outerConeAngle=void 0!==i.spot.outerConeAngle?i.spot.outerConeAngle:Math.PI/4,t.angle=i.spot.outerConeAngle,t.penumbra=1-i.spot.innerConeAngle/i.spot.outerConeAngle,t.target.position.set(0,0,-1),t.add(t.target);break;default:throw new Error('THREE.GLTFLoader: Unexpected light type, "'+i.type+'".')}return t.position.set(0,0,0),t.decay=2,void 0!==i.intensity&&(t.intensity=i.intensity),t.name=i.name||"light_"+e,Promise.resolve(t)},o.prototype.getMaterialType=function(){return gi},o.prototype.extendParams=function(e,t,i){var n=[];e.color=new pi(1,1,1),e.opacity=1;var r=t.pbrMetallicRoughness;if(r){if(Array.isArray(r.baseColorFactor)){var o=r.baseColorFactor;e.color.fromArray(o),e.opacity=o[3]}void 0!==r.baseColorTexture&&n.push(i.assignTexture(e,"map",r.baseColorTexture))}return Promise.all(n)};var a="glTF",s=1313821514,l=5130562;function c(e){this.name=i.KHR_BINARY_GLTF,this.content=null,this.body=null;var t=new DataView(e,0,12);if(this.header={magic:Ic.decodeText(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==a)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 n=new DataView(e,12),r=0;n.byteLength>r;){var o=n.getUint32(r,!0),c=n.getUint32(r+=4,!0);if(r+=4,c===s){var h=new Uint8Array(e,12+r,o);this.content=Ic.decodeText(h)}else if(c===l){var d=12+r;this.body=e.slice(d,d+o)}r+=o}if(null===this.content)throw new Error("THREE.GLTFLoader: JSON content not found.")}function h(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=i.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}function d(){this.name=i.KHR_TEXTURE_TRANSFORM}function u(e){Xs.call(this),this.isGLTFSpecularGlossinessMaterial=!0;var t=["#ifdef USE_SPECULARMAP","\tuniform sampler2D specularMap;","#endif"].join("\n"),i=["#ifdef USE_GLOSSINESSMAP","\tuniform sampler2D glossinessMap;","#endif"].join("\n"),n=["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"),r=["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"),o=["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"),a={specular:{value:(new pi).setHex(16777215)},glossiness:{value:1},specularMap:{value:null},glossinessMap:{value:null}};this._extraUniforms=a,this.onBeforeCompile=function(e){for(var s in a)e.uniforms[s]=a[s];e.fragmentShader=e.fragmentShader.replace("uniform float roughness;","uniform vec3 specular;"),e.fragmentShader=e.fragmentShader.replace("uniform float metalness;","uniform float glossiness;"),e.fragmentShader=e.fragmentShader.replace("#include <roughnessmap_pars_fragment>",t),e.fragmentShader=e.fragmentShader.replace("#include <metalnessmap_pars_fragment>",i),e.fragmentShader=e.fragmentShader.replace("#include <roughnessmap_fragment>",n),e.fragmentShader=e.fragmentShader.replace("#include <metalnessmap_fragment>",r),e.fragmentShader=e.fragmentShader.replace("#include <lights_physical_fragment>",o)},Object.defineProperties(this,{specular:{get:function(){return a.specular.value},set:function(e){a.specular.value=e}},specularMap:{get:function(){return a.specularMap.value},set:function(e){a.specularMap.value=e}},glossiness:{get:function(){return a.glossiness.value},set:function(e){a.glossiness.value=e}},glossinessMap:{get:function(){return a.glossinessMap.value},set:function(e){a.glossinessMap.value=e,e?(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(e)}function p(){return{name:i.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 u},extendParams:function(e,t,i){var n=t.extensions[this.name];e.color=new pi(1,1,1),e.opacity=1;var r=[];if(Array.isArray(n.diffuseFactor)){var o=n.diffuseFactor;e.color.fromArray(o),e.opacity=o[3]}if(void 0!==n.diffuseTexture&&r.push(i.assignTexture(e,"map",n.diffuseTexture)),e.emissive=new pi(0,0,0),e.glossiness=void 0!==n.glossinessFactor?n.glossinessFactor:1,e.specular=new pi(1,1,1),Array.isArray(n.specularFactor)&&e.specular.fromArray(n.specularFactor),void 0!==n.specularGlossinessTexture){var a=n.specularGlossinessTexture;r.push(i.assignTexture(e,"glossinessMap",a)),r.push(i.assignTexture(e,"specularMap",a))}return Promise.all(r)},createMaterial:function(e){var t=new u(e);return t.fog=!0,t.color=e.color,t.map=void 0===e.map?null:e.map,t.lightMap=null,t.lightMapIntensity=1,t.aoMap=void 0===e.aoMap?null:e.aoMap,t.aoMapIntensity=1,t.emissive=e.emissive,t.emissiveIntensity=1,t.emissiveMap=void 0===e.emissiveMap?null:e.emissiveMap,t.bumpMap=void 0===e.bumpMap?null:e.bumpMap,t.bumpScale=1,t.normalMap=void 0===e.normalMap?null:e.normalMap,t.normalMapType=0,e.normalScale&&(t.normalScale=e.normalScale),t.displacementMap=null,t.displacementScale=1,t.displacementBias=0,t.specularMap=void 0===e.specularMap?null:e.specularMap,t.specular=e.specular,t.glossinessMap=void 0===e.glossinessMap?null:e.glossinessMap,t.glossiness=e.glossiness,t.alphaMap=null,t.envMap=void 0===e.envMap?null:e.envMap,t.envMapIntensity=1,t.refractionRatio=.98,t}}}function w(){this.name=i.KHR_MESH_QUANTIZATION}function M(e,t,i,n){sl.call(this,e,t,i,n)}h.prototype.decodePrimitive=function(e,t){var i=this.json,n=this.dracoLoader,r=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,a={},s={},l={};for(var c in o){var h=N[c]||c.toLowerCase();a[h]=o[c]}for(c in e.attributes){h=N[c]||c.toLowerCase();if(void 0!==o[c]){var d=i.accessors[e.attributes[c]];l[h]=F[d.componentType],s[h]=!0===d.normalized}}return t.getDependency("bufferView",r).then((function(e){return new Promise((function(t){n.decodeDracoFile(e,(function(e){for(var i in e.attributes){var n=s[i];void 0!==n&&(e.attributes[i].normalized=n)}t(e)}),a,l)}))}))},d.prototype.extendTexture=function(e,t){return e=e.clone(),void 0!==t.offset&&e.offset.fromArray(t.offset),void 0!==t.rotation&&(e.rotation=t.rotation),void 0!==t.scale&&e.repeat.fromArray(t.scale),void 0!==t.texCoord&&console.warn('THREE.GLTFLoader: Custom UV sets in "'+this.name+'" extension not yet supported.'),e.needsUpdate=!0,e},(u.prototype=Object.create(Xs.prototype)).constructor=u,u.prototype.copy=function(e){return Xs.prototype.copy.call(this,e),this.specularMap=e.specularMap,this.specular.copy(e.specular),this.glossinessMap=e.glossinessMap,this.glossiness=e.glossiness,delete this.metalness,delete this.roughness,delete this.metalnessMap,delete this.roughnessMap,this},(M.prototype=Object.create(sl.prototype)).constructor=M,M.prototype.beforeStart_=M.prototype.copySampleValue_=function(e){for(var t=this.resultBuffer,i=this.sampleValues,n=this.valueSize,r=e*n*3+n,o=0;o!==n;o++)t[o]=i[r+o];return t},M.prototype.afterEnd_=M.prototype.copySampleValue_,M.prototype.interpolate_=function(e,t,i,n){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=2*a,l=3*a,c=n-t,h=(i-t)/c,d=h*h,u=d*h,p=e*l,g=p-l,f=-2*u+3*d,m=u-d,A=1-f,y=m-d+h,v=0;v!==a;v++){r[v]=A*o[g+v+a]+y*(o[g+v+s]*c)+f*o[p+v+a]+m*(o[p+v]*c)}return r};var E=0,B=1,S=2,b=3,T=4,R=5,U=6,F={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Q={9728:A,9729:C,9984:y,9985:I,9986:v,9987:x},L={33071:f,33648:m,10497:g},O={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},N={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv2",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},P={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},G={CUBICSPLINE:void 0,LINEAR:H,STEP:Y},K="OPAQUE",V="MASK",j="BLEND",W={"image/png":D,"image/jpeg":k};function J(e,t){return"string"!=typeof e||""===e?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}function z(e,t,i){for(var n in i.extensions)void 0===e[n]&&(t.userData.gltfExtensions=t.userData.gltfExtensions||{},t.userData.gltfExtensions[n]=i.extensions[n])}function q(e,t){void 0!==t.extras&&("object"===nu(t.extras)?Object.assign(e.userData,t.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+t.extras))}function Z(e,t){if(e.updateMorphTargets(),void 0!==t.weights)for(var i=0,n=t.weights.length;n>i;i++)e.morphTargetInfluences[i]=t.weights[i];if(t.extras&&Array.isArray(t.extras.targetNames)){var r=t.extras.targetNames;if(e.morphTargetInfluences.length===r.length){e.morphTargetDictionary={};for(i=0,n=r.length;n>i;i++)e.morphTargetDictionary[r[i]]=i}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function X(e){for(var t="",i=Object.keys(e).sort(),n=0,r=i.length;r>n;n++)t+=i[n]+":"+e[i[n]]+";";return t}function $(e,i,n){this.json=e||{},this.extensions=i||{},this.options=n||{},this.cache=new t,this.primitiveCache={},this.textureLoader=new Dl(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.fileLoader=new xy(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),"use-credentials"===this.options.crossOrigin&&this.fileLoader.setWithCredentials(!0)}function ee(e,t,i){var n=t.attributes,r=[];function o(t,n){return i.getDependency("accessor",t).then((function(t){e.setAttribute(n,t)}))}for(var a in n){var s=N[a]||a.toLowerCase();s in e.attributes||r.push(o(n[a],s))}if(void 0!==t.indices&&!e.index){var l=i.getDependency("accessor",t.indices).then((function(t){e.setIndex(t)}));r.push(l)}return q(e,t),function(e,t,i){var n=t.attributes,r=new He;if(void 0!==n.POSITION){var o=(h=i.json.accessors[n.POSITION]).max;if(void 0!==(d=h.min)&&void 0!==o){r.set(new Ke(d[0],d[1],d[2]),new Ke(o[0],o[1],o[2]));var a=t.targets;if(void 0!==a)for(var s=new Ke,l=0,c=a.length;c>l;l++){var h,d,u=a[l];if(void 0!==u.POSITION)o=(h=i.json.accessors[u.POSITION]).max,void 0!==(d=h.min)&&void 0!==o?(s.setX(Math.max(Math.abs(d[0]),Math.abs(o[0]))),s.setY(Math.max(Math.abs(d[1]),Math.abs(o[1]))),s.setZ(Math.max(Math.abs(d[2]),Math.abs(o[2]))),r.expandByVector(s)):console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}e.boundingBox=r;var p=new ct;r.getCenter(p.center),p.radius=r.min.distanceTo(r.max)/2,e.boundingSphere=p}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}(e,t,i),Promise.all(r).then((function(){return void 0!==t.targets?function(e,t,i){for(var n=!1,r=!1,o=0,a=t.length;a>o&&(void 0!==(c=t[o]).POSITION&&(n=!0),void 0!==c.NORMAL&&(r=!0),!n||!r);o++);if(!n&&!r)return Promise.resolve(e);var s=[],l=[];for(o=0,a=t.length;a>o;o++){var c=t[o];if(n){var h=void 0!==c.POSITION?i.getDependency("accessor",c.POSITION):e.attributes.position;s.push(h)}r&&(h=void 0!==c.NORMAL?i.getDependency("accessor",c.NORMAL):e.attributes.normal,l.push(h))}return Promise.all([Promise.all(s),Promise.all(l)]).then((function(t){var i=t[1];return n&&(e.morphAttributes.position=t[0]),r&&(e.morphAttributes.normal=i),e.morphTargetsRelative=!0,e}))}(e,t.targets,i):e}))}function te(e,t){var i=e.getIndex();if(null===i){var n=[],r=e.getAttribute("position");if(void 0===r)return console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),e;for(var o=0;r.count>o;o++)n.push(o);e.setIndex(n),i=e.getIndex()}var a=i.count-2,s=[];if(2===t)for(o=1;a>=o;o++)s.push(i.getX(0)),s.push(i.getX(o)),s.push(i.getX(o+1));else for(o=0;a>o;o++)o%2==0?(s.push(i.getX(o)),s.push(i.getX(o+1)),s.push(i.getX(o+2))):(s.push(i.getX(o+2)),s.push(i.getX(o+1)),s.push(i.getX(o)));s.length/3!==a&&console.error("THREE.GLTFLoader.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");var l=e.clone();return l.setIndex(s),l}return $.prototype.parse=function(e,t){var i=this,n=this.json,r=this.extensions;this.cache.removeAll(),this.markDefs(),Promise.all([this.getDependencies("scene"),this.getDependencies("animation"),this.getDependencies("camera")]).then((function(t){var o={scene:t[0][n.scene||0],scenes:t[0],animations:t[1],cameras:t[2],asset:n.asset,parser:i,userData:{}};z(r,o,n),q(o,n),e(o)})).catch(t)},$.prototype.markDefs=function(){for(var e=this.json.nodes||[],t=this.json.skins||[],i=this.json.meshes||[],n={},r={},o=0,a=t.length;a>o;o++)for(var s=t[o].joints,l=0,c=s.length;c>l;l++)e[s[l]].isBone=!0;for(var h=0,d=e.length;d>h;h++){var u=e[h];void 0!==u.mesh&&(void 0===n[u.mesh]&&(n[u.mesh]=r[u.mesh]=0),n[u.mesh]++,void 0!==u.skin&&(i[u.mesh].isSkinnedMesh=!0))}this.json.meshReferences=n,this.json.meshUses=r},$.prototype.getDependency=function(e,t){var n=e+":"+t,r=this.cache.get(n);if(!r){switch(e){case"scene":r=this.loadScene(t);break;case"node":r=this.loadNode(t);break;case"mesh":r=this.loadMesh(t);break;case"accessor":r=this.loadAccessor(t);break;case"bufferView":r=this.loadBufferView(t);break;case"buffer":r=this.loadBuffer(t);break;case"material":r=this.loadMaterial(t);break;case"texture":r=this.loadTexture(t);break;case"skin":r=this.loadSkin(t);break;case"animation":r=this.loadAnimation(t);break;case"camera":r=this.loadCamera(t);break;case"light":r=this.extensions[i.KHR_LIGHTS_PUNCTUAL].loadLight(t);break;default:throw new Error("Unknown type: "+e)}this.cache.add(n,r)}return r},$.prototype.getDependencies=function(e){var t=this.cache.get(e);if(!t){var i=this;t=Promise.all((this.json[e+("mesh"===e?"es":"s")]||[]).map((function(t,n){return i.getDependency(e,n)}))),this.cache.add(e,t)}return t},$.prototype.loadBuffer=function(e){var t=this.json.buffers[e],n=this.fileLoader;if(t.type&&"arraybuffer"!==t.type)throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(void 0===t.uri&&0===e)return Promise.resolve(this.extensions[i.KHR_BINARY_GLTF].body);var r=this.options;return new Promise((function(e,i){n.load(J(t.uri,r.path),e,void 0,(function(){i(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))}))}))},$.prototype.loadBufferView=function(e){var t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then((function(e){var i=t.byteOffset||0;return e.slice(i,i+(t.byteLength||0))}))},$.prototype.loadAccessor=function(e){var t=this,i=this.json,n=this.json.accessors[e];if(void 0===n.bufferView&&void 0===n.sparse)return Promise.resolve(null);var r=[];return r.push(void 0!==n.bufferView?this.getDependency("bufferView",n.bufferView):null),void 0!==n.sparse&&(r.push(this.getDependency("bufferView",n.sparse.indices.bufferView)),r.push(this.getDependency("bufferView",n.sparse.values.bufferView))),Promise.all(r).then((function(e){var r,o,a=e[0],s=O[n.type],l=F[n.componentType],c=l.BYTES_PER_ELEMENT,h=n.byteOffset||0,d=void 0!==n.bufferView?i.bufferViews[n.bufferView].byteStride:void 0,u=!0===n.normalized;if(d&&d!==c*s){var p=Math.floor(h/d),g="InterleavedBuffer:"+n.bufferView+":"+n.componentType+":"+p+":"+n.count,f=t.cache.get(g);f||(r=new l(a,p*d,n.count*d/c),f=new Yo(r,d/c),t.cache.add(g,f)),o=new jo(f,s,h%d/c,u)}else r=null===a?new l(n.count*s):new l(a,h,n.count*s),o=new Ai(r,s,u);if(void 0!==n.sparse){var m=n.sparse.values.byteOffset||0,A=new(0,F[n.sparse.indices.componentType])(e[1],n.sparse.indices.byteOffset||0,n.sparse.count*O.SCALAR),y=new l(e[2],m,n.sparse.count*s);null!==a&&(o=new Ai(o.array.slice(),o.itemSize,o.normalized));for(var v=0,C=A.length;C>v;v++){var I=A[v];if(o.setX(I,y[v*s]),2>s||o.setY(I,y[v*s+1]),3>s||o.setZ(I,y[v*s+2]),4>s||o.setW(I,y[v*s+3]),s>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return o}))},$.prototype.loadTexture=function(e){var t,n=this,r=this.json,o=this.options,a=this.textureLoader,s=window.URL||window.webkitURL,l=r.textures[e],c=l.extensions||{},h=(t=c[i.MSFT_TEXTURE_DDS]?r.images[c[i.MSFT_TEXTURE_DDS].source]:r.images[l.source]).uri,d=!1;return void 0!==t.bufferView&&(h=n.getDependency("bufferView",t.bufferView).then((function(e){d=!0;var i=new Blob([e],{type:t.mimeType});return h=s.createObjectURL(i)}))),Promise.resolve(h).then((function(e){var t=o.manager.getHandler(e);return t||(t=c[i.MSFT_TEXTURE_DDS]?n.extensions[i.MSFT_TEXTURE_DDS].ddsLoader:a),new Promise((function(i,n){t.load(J(e,o.path),i,void 0,n)}))})).then((function(e){!0===d&&s.revokeObjectURL(h),e.flipY=!1,l.name&&(e.name=l.name),t.mimeType in W&&(e.format=W[t.mimeType]);var i=(r.samplers||{})[l.sampler]||{};return e.magFilter=Q[i.magFilter]||C,e.minFilter=Q[i.minFilter]||x,e.wrapS=L[i.wrapS]||g,e.wrapT=L[i.wrapT]||g,e}))},$.prototype.assignTexture=function(e,t,n){var r=this;return this.getDependency("texture",n.index).then((function(o){if(!o.isCompressedTexture)switch(t){case"aoMap":case"emissiveMap":case"metalnessMap":case"normalMap":case"roughnessMap":o.format=k}if(void 0===n.texCoord||0==n.texCoord||"aoMap"===t&&1==n.texCoord||console.warn("THREE.GLTFLoader: Custom UV set "+n.texCoord+" for texture "+t+" not yet supported."),r.extensions[i.KHR_TEXTURE_TRANSFORM]){var a=void 0!==n.extensions?n.extensions[i.KHR_TEXTURE_TRANSFORM]:void 0;a&&(o=r.extensions[i.KHR_TEXTURE_TRANSFORM].extendTexture(o,a))}e[t]=o}))},$.prototype.assignFinalMaterial=function(e){var t=e.geometry,i=e.material,n=void 0!==t.attributes.tangent,r=void 0!==t.attributes.color,o=void 0===t.attributes.normal,a=!0===e.isSkinnedMesh,s=Object.keys(t.morphAttributes).length>0,l=s&&void 0!==t.morphAttributes.normal;if(e.isPoints){var c=this.cache.get(d="PointsMaterial:"+i.uuid);c||(c=new Na,ai.prototype.copy.call(c,i),c.color.copy(i.color),c.map=i.map,c.sizeAttenuation=!1,this.cache.add(d,c)),i=c}else if(e.isLine){var h=this.cache.get(d="LineBasicMaterial:"+i.uuid);h||(h=new Sa,ai.prototype.copy.call(h,i),h.color.copy(i.color),this.cache.add(d,h)),i=h}if(n||r||o||a||s){var d="ClonedMaterial:"+i.uuid+":";i.isGLTFSpecularGlossinessMaterial&&(d+="specular-glossiness:"),a&&(d+="skinning:"),n&&(d+="vertex-tangents:"),r&&(d+="vertex-colors:"),o&&(d+="flat-shading:"),s&&(d+="morph-targets:"),l&&(d+="morph-normals:");var u=this.cache.get(d);u||(u=i.clone(),a&&(u.skinning=!0),n&&(u.vertexTangents=!0),r&&(u.vertexColors=!0),o&&(u.flatShading=!0),s&&(u.morphTargets=!0),l&&(u.morphNormals=!0),this.cache.add(d,u)),i=u}i.aoMap&&void 0===t.attributes.uv2&&void 0!==t.attributes.uv&&t.setAttribute("uv2",new Ai(t.attributes.uv.array,2)),i.normalScale&&!n&&(i.normalScale.y=-i.normalScale.y),e.material=i},$.prototype.loadMaterial=function(e){var t,n=this,r=this.extensions,o=this.json.materials[e],a={},s=o.extensions||{},l=[];if(s[i.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS]){var c=r[i.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS];t=c.getMaterialType(),l.push(c.extendParams(a,o,n))}else if(s[i.KHR_MATERIALS_UNLIT]){var h=r[i.KHR_MATERIALS_UNLIT];t=h.getMaterialType(),l.push(h.extendParams(a,o,n))}else{t=Xs;var d=o.pbrMetallicRoughness||{};if(a.color=new pi(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){var p=d.baseColorFactor;a.color.fromArray(p),a.opacity=p[3]}void 0!==d.baseColorTexture&&l.push(n.assignTexture(a,"map",d.baseColorTexture)),a.metalness=void 0!==d.metallicFactor?d.metallicFactor:1,a.roughness=void 0!==d.roughnessFactor?d.roughnessFactor:1,void 0!==d.metallicRoughnessTexture&&(l.push(n.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),l.push(n.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture)))}!0===o.doubleSided&&(a.side=2);var g=o.alphaMode||K;return g===j?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,g===V&&(a.alphaTest=void 0!==o.alphaCutoff?o.alphaCutoff:.5)),void 0!==o.normalTexture&&t!==gi&&(l.push(n.assignTexture(a,"normalMap",o.normalTexture)),a.normalScale=new ke(1,1),void 0!==o.normalTexture.scale&&a.normalScale.set(o.normalTexture.scale,o.normalTexture.scale)),void 0!==o.occlusionTexture&&t!==gi&&(l.push(n.assignTexture(a,"aoMap",o.occlusionTexture)),void 0!==o.occlusionTexture.strength&&(a.aoMapIntensity=o.occlusionTexture.strength)),void 0!==o.emissiveFactor&&t!==gi&&(a.emissive=(new pi).fromArray(o.emissiveFactor)),void 0!==o.emissiveTexture&&t!==gi&&l.push(n.assignTexture(a,"emissiveMap",o.emissiveTexture)),Promise.all(l).then((function(){var e;return e=t===u?r[i.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS].createMaterial(a):new t(a),o.name&&(e.name=o.name),e.map&&(e.map.encoding=_),e.emissiveMap&&(e.emissiveMap.encoding=_),q(e,o),o.extensions&&z(r,e,o),e}))},$.prototype.loadGeometries=function(e){var t=this,n=this.extensions,r=this.primitiveCache;function o(e){return n[i.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(e,t).then((function(i){return ee(i,e,t)}))}for(var a,s,l=[],c=0,h=e.length;h>c;c++){var d,u=e[c],p=(s=void 0,(s=(a=u).extensions&&a.extensions[i.KHR_DRACO_MESH_COMPRESSION])?"draco:"+s.bufferView+":"+s.indices+":"+X(s.attributes):a.indices+":"+X(a.attributes)+":"+a.mode),g=r[p];if(g)l.push(g.promise);else d=u.extensions&&u.extensions[i.KHR_DRACO_MESH_COMPRESSION]?o(u):ee(new Ni,u,t),r[p]={primitive:u,promise:d},l.push(d)}return Promise.all(l)},$.prototype.loadMesh=function(e){for(var t,i=this,n=this.json.meshes[e],r=n.primitives,o=[],a=0,s=r.length;s>a;a++){var l=void 0===r[a].material?(void 0===(t=this.cache).DefaultMaterial&&(t.DefaultMaterial=new Xs({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:0})),t.DefaultMaterial):this.getDependency("material",r[a].material);o.push(l)}return o.push(i.loadGeometries(r)),Promise.all(o).then((function(t){for(var o=t.slice(0,t.length-1),a=t[t.length-1],s=[],l=0,c=a.length;c>l;l++){var h,d=a[l],u=r[l],p=o[l];if(u.mode===T||u.mode===R||u.mode===U||void 0===u.mode)!0!==(h=!0===n.isSkinnedMesh?new ma(d,p):new nn(d,p)).isSkinnedMesh||h.geometry.attributes.skinWeight.normalized||h.normalizeSkinWeights(),u.mode===R?h.geometry=te(h.geometry,1):u.mode===U&&(h.geometry=te(h.geometry,2));else if(u.mode===B)h=new La(d,p);else if(u.mode===b)h=new Ua(d,p);else if(u.mode===S)h=new Oa(d,p);else{if(u.mode!==E)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+u.mode);h=new Ya(d,p)}Object.keys(h.geometry.morphAttributes).length>0&&Z(h,n),h.name=n.name||"mesh_"+e,a.length>1&&(h.name+="_"+l),q(h,n),i.assignFinalMaterial(h),s.push(h)}if(1===s.length)return s[0];var g=new To;for(l=0,c=s.length;c>l;l++)g.add(s[l]);return g}))},$.prototype.loadCamera=function(e){var t,i=this.json.cameras[e],n=i[i.type];if(n)return"perspective"===i.type?t=new dn(be.radToDeg(n.yfov),n.aspectRatio||1,n.znear||1,n.zfar||2e6):"orthographic"===i.type&&(t=new pc(n.xmag/-2,n.xmag/2,n.ymag/2,n.ymag/-2,n.znear,n.zfar)),i.name&&(t.name=i.name),q(t,i),Promise.resolve(t);console.warn("THREE.GLTFLoader: Missing camera parameters.")},$.prototype.loadSkin=function(e){var t=this.json.skins[e],i={joints:t.joints};return void 0===t.inverseBindMatrices?Promise.resolve(i):this.getDependency("accessor",t.inverseBindMatrices).then((function(e){return i.inverseBindMatrices=e,i}))},$.prototype.loadAnimation=function(e){for(var t=this.json.animations[e],i=[],n=[],r=[],o=[],a=[],s=0,l=t.channels.length;l>s;s++){var c=t.channels[s],h=t.samplers[c.sampler],d=c.target,u=void 0!==t.parameters?t.parameters[h.input]:h.input,p=void 0!==t.parameters?t.parameters[h.output]:h.output;i.push(this.getDependency("node",void 0!==d.node?d.node:d.id)),n.push(this.getDependency("accessor",u)),r.push(this.getDependency("accessor",p)),o.push(h),a.push(d)}return Promise.all([Promise.all(i),Promise.all(n),Promise.all(r),Promise.all(o),Promise.all(a)]).then((function(i){for(var n=i[0],r=i[1],o=i[2],a=i[3],s=i[4],l=[],c=0,h=n.length;h>c;c++){var d=n[c],u=r[c],p=o[c],g=a[c],f=s[c];if(void 0!==d){var m;switch(d.updateMatrix(),d.matrixAutoUpdate=!0,P[f.path]){case P.weights:m=gl;break;case P.rotation:m=ml;break;case P.position:case P.scale:default:m=yl}var A=d.name?d.name:d.uuid,y=void 0!==g.interpolation?G[g.interpolation]:H,v=[];P[f.path]===P.weights?d.traverse((function(e){!0===e.isMesh&&e.morphTargetInfluences&&v.push(e.name?e.name:e.uuid)})):v.push(A);var C=p.array;if(p.normalized){var I;if(C.constructor===Int8Array)I=1/127;else if(C.constructor===Uint8Array)I=1/255;else if(C.constructor==Int16Array)I=1/32767;else{if(C.constructor!==Uint16Array)throw new Error("THREE.GLTFLoader: Unsupported output accessor component type.");I=1/65535}for(var x=new Float32Array(C.length),w=0,E=C.length;E>w;w++)x[w]=C[w]*I;C=x}for(w=0,E=v.length;E>w;w++){var B=new m(v[w]+"."+P[f.path],u.array,C,y);"CUBICSPLINE"===g.interpolation&&(B.createInterpolant=function(e){return new M(this.times,this.values,this.getValueSize()/3,e)},B.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0),l.push(B)}}}return new vl(t.name?t.name:"animation_"+e,void 0,l)}))},$.prototype.loadNode=function(e){var t,n=this.json,r=this.extensions,o=this,a=n.meshReferences,s=n.meshUses,l=n.nodes[e];return(t=[],void 0!==l.mesh&&t.push(o.getDependency("mesh",l.mesh).then((function(e){var t;if(a[l.mesh]>1){var i=s[l.mesh]++;(t=e.clone()).name+="_instance_"+i}else t=e;return void 0!==l.weights&&t.traverse((function(e){if(e.isMesh)for(var t=0,i=l.weights.length;i>t;t++)e.morphTargetInfluences[t]=l.weights[t]})),t}))),void 0!==l.camera&&t.push(o.getDependency("camera",l.camera)),l.extensions&&l.extensions[i.KHR_LIGHTS_PUNCTUAL]&&void 0!==l.extensions[i.KHR_LIGHTS_PUNCTUAL].light&&t.push(o.getDependency("light",l.extensions[i.KHR_LIGHTS_PUNCTUAL].light)),Promise.all(t)).then((function(e){var t;if((t=!0===l.isBone?new Aa:e.length>1?new To:1===e.length?e[0]:new Yt)!==e[0])for(var i=0,n=e.length;n>i;i++)t.add(e[i]);if(l.name&&(t.userData.name=l.name,t.name=lh.sanitizeNodeName(l.name)),q(t,l),l.extensions&&z(r,t,l),void 0!==l.matrix){var o=new yt;o.fromArray(l.matrix),t.applyMatrix4(o)}else void 0!==l.translation&&t.position.fromArray(l.translation),void 0!==l.rotation&&t.quaternion.fromArray(l.rotation),void 0!==l.scale&&t.scale.fromArray(l.scale);return t}))},$.prototype.loadScene=function(){function e(t,i,n,r){var o=n.nodes[t];return r.getDependency("node",t).then((function(e){return void 0===o.skin?e:r.getDependency("skin",o.skin).then((function(e){for(var i=[],n=0,o=(t=e).joints.length;o>n;n++)i.push(r.getDependency("node",t.joints[n]));return Promise.all(i)})).then((function(i){return e.traverse((function(e){if(e.isMesh){for(var n=[],r=[],o=0,a=i.length;a>o;o++){var s=i[o];if(s){n.push(s);var l=new yt;void 0!==t.inverseBindMatrices&&l.fromArray(t.inverseBindMatrices.array,16*o),r.push(l)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[o])}e.bind(new Ia(n,r),e.matrixWorld)}})),e}));var t})).then((function(t){i.add(t);var a=[];if(o.children)for(var s=o.children,l=0,c=s.length;c>l;l++){a.push(e(s[l],t,n,r))}return Promise.all(a)}))}return function(t){var i=this.json,n=this.extensions,r=this.json.scenes[t],o=new To;r.name&&(o.name=r.name),q(o,r),r.extensions&&z(n,o,r);for(var a=r.nodes||[],s=[],l=0,c=a.length;c>l;l++)s.push(e(a[l],o,i,this));return Promise.all(s).then((function(){return o}))}}(),e}(),hM="REPLACE",dM=function e(t,i,n,r){Yt.call(this);var o=this;if(this.isRoot=r||!1,r||(this.matrix=oM.getTransfrom(n.transform)),this.refine=n.refine||hM,this.geometricError=n.geometricError||0,this.boundingBox=oM.getBoxFromTileBoundingVolumeBox(n.boundingVolume.box),this.scene=null,this.model=t,this.json=n,this.level=i&&i.level+1||0,this.matrixAutoUpdate=!1,this.hasB3DM=!1,n.content&&(n.content.url.endsWith("json")?o.loadContent(n.content.url):n.content.url.endsWith("b3dm")&&(o.hasB3DM=!0,o.model.tilesList[n.content.url]=o,i&&i.hasB3DM||(o.firstB3DM=!0,o.loadB3DM(n.content.url)))),n.children)for(var a=0,s=n.children.length;s>a;a+=1)o.add(new e(t,o,n.children[a]))};(dM.prototype=Object.create(Yt.prototype)).loadContent=function(e){var t=this,i=t.model,n=i.dataUrl.tilesUrl(e);function r(){var e=i.fileLoader;e.setResponseType("json"),e.setCacheViable(!0),e.setRequestHeader({Authorization:i.accessToken}),e.load(n,(function(e){var n={};if("string"==typeof e)try{n=JSON.parse(e)}catch(e){return void i.dispatchEventEx({type:Fd.ON_LOAD_INVALID_DATA,modelKey:i.modelKey})}else n=e;t.add(new dM(i,parent,n.root,parent.level+1,!0))}),(function(e,t){switch(e){case 401:i.dispatchEventEx({type:Fd.ACCOUNT_NO_EXIST,modelKey:i.modelKey,data:t});break;case 403:i.dispatchEventEx({type:Fd.NO_PERMISSION,modelKey:i.modelKey,data:t});break;default:i.dispatchEventEx({type:Fd.ON_NETWORK_ERROR,modelKey:i.modelKey,data:e})}}))}if(xd.getDataFromIndexedDB){var o=i.getStorage();o&&o.get(n,(function(e){if(e){var n={};if("string"==typeof e)try{n=JSON.parse(e)}catch(e){return void i.dispatchEventEx({type:Fd.ON_LOAD_INVALID_DATA,modelKey:i.modelKey})}else n=e;t.add(new dM(i,parent,n.root,!0))}else r()}),(function(){r()}))}else r()},dM.prototype.loadB3DM=function(e){var t=this,i=t.model;t.loaderManager=new vy,t.loaderManager.model=i;var n=new cM(t.loaderManager);function r(e){t.scene=e,t.loading=!1,t.loaded=!0,t.add(e.scene),i.tileLoadFinish()}t.loading=!0;var o=i.dataUrl.b3dmUrl(e||t.json.content.url);if(xd.getDataFromIndexedDB){var a=i.getStorage();a&&a.get(o,(function(i){i?n.parse(i,e||t.json.content.url,r):n.load(o,r)}),(function(){n.load(o,r)}))}else n.load(o,r)};var uM=function(e,t,i,n){rM.call(this,e,t,i,n),this.configLoader=new aM(this),this.tilesList={},this.isTilesModel=!0};(uM.prototype=Object.create(rM.prototype)).load=function(e){var t=this;this.configLoader.load((function(){t.parseCfgFinish&&t.parseCfgFinish(),t.manager.updateScene(),t.group.add(new dM(t,null,t.configLoader.config.root,!0)),t.loaded=!0}))},uM.prototype.tileLoadStart=function(){},uM.prototype.tileLoadFinish=function(){this.group.updateMatrixWorld(!0,!0),this.manager.viewerImpl.render()},uM.prototype.tileUnloadStart=function(){},uM.prototype.tileUnloadFinish=function(){},uM.prototype.checkTilesDataChanged=function(e){for(var t in Bu.time("checkTilesDataChanged"),this.tilesList)if(this.tilesList.hasOwnProperty(t)){var i=this.tilesList[t];this.tilesNeedLoad(i.boundingBox.getCenter((new Ke).applyMatrix4(i.parent.matrixWorld).applyMatrix4(i.matrix)),i.boundingBox.getSize(new Ke).length())||i.firstB3DM?i.scene||i.loading?i.visible=!0:i.loadB3DM():e?(i.remove(i.scene),i.scene=null):i.visible=!1}Bu.timeEnd("checkTilesDataChanged")},uM.prototype.tilesNeedLoad=function(e,t){var i,n=this.manager.cameraFov;return i=(t||0)*this.manager.domElementWidth/(2*this.manager.cameraPosition.clone().sub(e).length()*Math.tan(n/2)),Bu.debug("几何误差:",i),i>xd.geometricErrorThresholdValue};var pM=function(){this.size=0,this.counter=0,this.expansion=1,this._pool=null};pM.prototype.init=function(e,t){this.classType=e,this._pool=[],this._expand(t)},pM.prototype._expand=function(e){this.size+=e;for(var t=0;e>t;t+=1)this._pool.push(new this.classType)},pM.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++]},pM.prototype.clear=function(){this.counter=0},pM.prototype.destroy=function(){for(var e=0,t=this.size;t>e;e+=1)this._pool[e].destroy();this.counter=0,this.size=0,this.expansion=1,this._pool=null},pM.prototype.getObjects=function(){return this._pool};var gM=[];gM.push("clipPlane_right"),gM.push("clipPlane_left"),gM.push("clipPlane_back"),gM.push("clipPlane_front"),gM.push("clipPlane_top"),gM.push("clipPlane_bottom");var fM=new Ge,mM=new Ke(1,0,0),AM=new Ke(0,1,0),yM=new Ke(0,0,1),vM=new yt,CM=function(e,t,i,n,r,o,a,s,l,c,h,d){this.enable=e,this.visible=t,this.rotatable=i,this.calculation=n,this.planeOffset=r.slice(0),this.planeRotate=o.slice(0),this.position=a,this.scale=s,this.quaternion=l,this.cubeSize=c,this.center=h,this.boundingBox=d},IM=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;return ru(this,i),(r=t.call(this,Vp.CLIPPLANE,{priority:20})).cubeSize=e.clone(),r.center=n.clone(),r.visible=!1,r.rotatable=!1,r.selectIndex=null,r.planeOffset=new Array(6),r.planeRotate=[0,0,0],r.observer=null,r.uniforms={iClipPlane:{type:"i",value:0},vClipPlane:{type:"v4v",value:[new Le,new Le,new Le,new Le,new Le,new Le]}},r.clipplanes=null,r.calculation=!0,r.boundingBox=new He,r.planeMaterial=new ig({color:8158334,opacity:0,transparent:!0,side:2,lights:!0}),r.planeHighLightMatrial=new ig({color:255,opacity:.1,transparent:!0,side:2,lights:!0}),r}return au(i,[{key:"calculateClipBoundingBox",value:function(e){this.boundingBox.setFromObject(this)}},{key:"getClipBoundingBox",value:function(){return this.boundingBox}},{key:"isVisible",value:function(){return this.visible}},{key:"getPlaneNormal",value:function(e){var t=new Le,i=Math.floor(e/2);return t.setComponent(i,Math.pow(-1,e%2)),t.w=.5*-this.cubeSize.getComponent(i),this.planeOffset[e]=0,t}},{key:"initPlaneModel",value:function(e){var t=Math.floor(e/2),i=e%2,n=new In(0===t?this.cubeSize.z:this.cubeSize.x,1===t?this.cubeSize.z:this.cubeSize.y),r=new nn(n,this.planeMaterial);switch(r.name=gM[e],r.customTag=!0,r.position.setComponent(t,Math.pow(-1,i)*this.cubeSize.getComponent(t)*.5),e){case 0:r.rotation.y=.5*Math.PI;break;case 1:r.rotation.y=.5*-Math.PI;break;case 2:r.rotation.x=.5*-Math.PI;break;case 3:r.rotation.x=.5*Math.PI;break;case 4:break;case 5:r.rotation.x=Math.PI}r.renderOrder=90,this.add(r)}},{key:"initCapsBox",value:function(){if(this.boxMesh)return this.boxMesh;var e=new on(this.cubeSize.x,this.cubeSize.y,this.cubeSize.z);e.groups=null;var t=new ig({color:16776960,side:2,stencilWrite:!0,stencilFunc:de,stencilRef:1,stencilFuncMask:255,stencilFail:oe,stencilZFail:oe,stencilZPass:oe}),i=new nn(e,t);return i.matrixWorld=this.matrixWorld,i.matrix=this.matrix,i.name="capsBox",this.boxMesh=i,i}},{key:"initWireframes",value:function(){var e=[.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],t=new Ni,i=new ig({color:0,lights:!0});t.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]),t.setAttribute("position",new Bi(e,3)),t.setAttribute("color",new Bi([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)),t.computeBoundingSphere();var n=new La(t,i);n.name="Wireframes",n.customTag=!0,this.add(n)}},{key:"updateClippingParams",value:function(e){}},{key:"enable",value:function(e,t){this.visible=t,this.uniforms.iClipPlane.value=e?6:0,this.updateClippingParams(this.uniforms),this.boxMesh&&(this.boxMesh.visible=t)}},{key:"isEnabled",value:function(){return 0!==this.uniforms.iClipPlane.value}},{key:"store",value:function(){return new CM(!!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())}},{key:"restore",value:function(e){this.calculation=!0,this.calculationPlanes(e.cubeSize,e.center),this.enable(e.enable,e.visible),this.rotatable=e.rotatable,this.calculation=e.calculation;for(var t=0;6>t;t+=1)this.planeOffset[t]=e.planeOffset[t];for(var i=0;3>i;i+=1)this.planeRotate[i]=e.planeRotate[i];this.position.copy(e.position),this.scale.copy(e.scale),this.quaternion._w=e.quaternion._w,this.quaternion._x=e.quaternion._x,this.quaternion._y=e.quaternion._y,this.quaternion._z=e.quaternion._z,this.update()}},{key:"reset",value:function(){this.calculation=!0;for(var e=0;6>e;e+=1)this.planeOffset[e]=0;for(e=0;3>e;e+=1)this.planeRotate[e]=0;this.position.copy(this.center),this.scale.copy(new Ke(1,1,1)),this.quaternion.copy(new Ge),this.update()}},{key:"calculationPlanes",value:function(e,t,i){if(this.calculation||i){this.cubeSize.copy(e),this.center.copy(t);for(var n=this.children.length-1;n>=0;n-=1)this.remove(this.children[n]);for(n=0;6>n;n+=1)this.uniforms.vClipPlane.value[n]=this.getPlaneNormal(n),this.initPlaneModel(n);this.initWireframes(),this.clipplanes=this.uniforms.vClipPlane.value.slice(0),this.reset()}}},{key:"update",value:function(){this.updateMatrixWorld(),vM.copy(this.matrix).invert(),vM.transpose();for(var e=0;6>e;++e)this.uniforms.vClipPlane.value[e]=this.clipplanes[e].clone().applyMatrix4(vM);this.updateClippingParams(this.uniforms),this.observer&&this.observer()}},{key:"offset",value:function(e,t){this.calculation=!1;var i=Math.floor(e/2);this.cubeSize.getComponent(i),e%2==0&&this.planeOffset[e]+t>0&&(t=-this.planeOffset[e]),e%2==1&&0>this.planeOffset[e]+t&&(t=-this.planeOffset[e]),this.planeOffset[e]+=t;for(var n=new Ke,r=0;6>r;r+=1){var o=this.clipplanes[r].clone(),a=this.planeOffset[r],s=new Ke(o.x*a,o.y*a,o.z*a);n.add(s)}var l=1+n.getComponent(i)/this.cubeSize.getComponent(i);if((l=0===l?1e-5:l)>0){this.scale.setComponent(i,l);var c=this.uniforms.vClipPlane.value[e].clone(),h=new Ke(c.x,c.y,c.z);h.normalize();var d=new Ke(h.x*(s=t),h.y*s,h.z*s);e%2==1?this.position.sub(d.multiplyScalar(.5)):this.position.add(d.multiplyScalar(.5)),this.update()}else this.planeOffset[e]-=t}},{key:"rotX",value:function(e){this.calculation=!1,fM.setFromAxisAngle(mM,e),this.quaternion.multiply(fM),this.update()}},{key:"rotY",value:function(e){this.calculation=!1,fM.setFromAxisAngle(AM,e),this.quaternion.multiply(fM),this.update()}},{key:"setSectionBox",value:function(e,t){this.calculation=!0;var i=new Ke(t.x-e.x,t.y-e.y,t.z-e.z),n=new Ke(.5*(e.x+t.x),.5*(e.y+t.y),.5*(e.z+t.z));this.calculationPlanes(i,n)}},{key:"calculateOffsetByBox",value:function(e,t){var i=t.x-this.center.x-.5*this.cubeSize.x;this.planeOffset[0]>i?(this.moveSectionPlane("left",this.center.x-.5*this.cubeSize.x-e.x),this.moveSectionPlane("right",i)):(this.moveSectionPlane("right",i),this.moveSectionPlane("left",this.center.x-.5*this.cubeSize.x-e.x));var n=t.y-this.center.y-.5*this.cubeSize.y;this.planeOffset[2]>n?(this.moveSectionPlane("bottom",this.center.y-.5*this.cubeSize.y-e.y),this.moveSectionPlane("top",n)):(this.moveSectionPlane("top",n),this.moveSectionPlane("bottom",this.center.y-.5*this.cubeSize.y-e.y));var r=t.z-this.center.z-.5*this.cubeSize.z;this.planeOffset[4]>r?(this.moveSectionPlane("back",this.center.z-.5*this.cubeSize.z-e.z),this.moveSectionPlane("front",r)):(this.moveSectionPlane("front",r),this.moveSectionPlane("back",this.center.z-.5*this.cubeSize.z-e.z))}},{key:"getPlaneIndexByName",value:function(e){var t=-1;return"right"===e?t=0:"left"===e?t=1:"top"===e?t=2:"bottom"===e?t=3:"front"===e?t=4:"back"===e&&(t=5),t}},{key:"moveSectionPlane",value:function(e,t){var i=this.getPlaneIndexByName(e);-1!==i&&(i%2!=0&&(t=-t),this.offset(i,t-this.planeOffset[i]))}},{key:"recalculate",value:function(){return this.filter.getVisibleComponentsBbox()}},{key:"setProcess",value:function(e,t){var i=this.getPlaneIndexByName(e),n=0;(2>i?n=this.cubeSize.x:4>i?n=this.cubeSize.y:6>i&&(n=this.cubeSize.z),t>1?t=1:0>t&&(t=0),-1!==i)&&(i%2!=1&&(t=-t),this.offset(i,t*n-this.planeOffset[i]))}},{key:"getProcess",value:function(e){var t=this.getPlaneIndexByName(e);-1===t&&console.log("faceName is illegal");var i=0;2>t?i=this.cubeSize.x:4>t?i=this.cubeSize.y:6>t&&(i=this.cubeSize.z);var n=1;t%2!=1&&(n=-1);var r=n*this.planeOffset[t]/i;return r>1?r=1:0>r&&(r=0),r}},{key:"rotateSectionBox",value:function(e,t){"x"==e?this.planeRotate[0]=t:"y"===e?this.planeRotate[1]=t:"z"===e&&(this.planeRotate[2]=t),this.calculation=!0;var i=new Ge;i.setFromAxisAngle(mM,this.planeRotate[0]);var n=new Ge;n.setFromAxisAngle(AM,this.planeRotate[1]);var r=new Ge;r.setFromAxisAngle(yM,this.planeRotate[2]);var o=new Ge;o.multiply(i),o.multiply(n),o.multiply(r),this.quaternion.copy(o),this.update()}},{key:"highLight",value:function(){null!=this.selectIndex&&(this.children[this.selectIndex].material=this.planeHighLightMatrial)}},{key:"cancelHighLight",value:function(){null!=this.selectIndex&&(this.children[this.selectIndex].material=this.planeMaterial,this.selectIndex=null)}},{key:"init",value:function(){this.calculationPlanes(this.cubeSize,this.center)}},{key:"hitTest",value:function(e){var t=null,i=null;if(this.raycast(e),null!=this.selectIndex){var n=e.ray,r=new Jt,o=this.uniforms.vClipPlane.value[this.selectIndex];r.setComponents(o.x,o.y,o.z,o.w),t=n.distanceToPlane(r),i=0>n.direction.dot(r.normal)}return{sign:i,distance:t}}},{key:"raycast",value:function(e){if(this.visible){var t=[],i=null;this.selectIndex=null;for(var n=0;6>n;n+=1)if(this.children[n].raycast(e,t),t.length>0){var r=t.pop();i&&r.distance>=i.distance||(i=r,this.selectIndex=n),t=[]}}}}]),i}(cm);wn.line={linewidth:{value:1},resolution:{value:new ke(1,1)},dashScale:{value:1},dashSize:{value:1},dashOffset:{value:0},gapSize:{value:1},opacity:{value:1}},Mn.line={uniforms:ln.merge([wn.common,wn.fog,wn.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 float alpha = opacity;\n\n #ifdef ALPHA_TO_COVERAGE\n\n // artifacts appear on some hardware if a derivative is taken within a conditional\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 float dlen = fwidth( len2 );\n\n if ( abs( vUv.y ) > 1.0 ) {\n\n alpha = 1.0 - smoothstep( 1.0 - dlen, 1.0 + dlen, len2 );\n\n }\n\n #else\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 #endif\n\n vec4 diffuseColor = vec4( diffuse, alpha );\n\n #include <logdepthbuf_fragment>\n #include <color_fragment>\n\n gl_FragColor = vec4( diffuseColor.rgb, alpha );\n\n #include <tonemapping_fragment>\n #include <encodings_fragment>\n #include <fog_fragment>\n #include <premultiplied_alpha_fragment>\n\n }\n "};var xM=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),n=t.call(this,{type:"LineMaterial",uniforms:ln.clone(Mn.line.uniforms),vertexShader:Mn.line.vertexShader,fragmentShader:Mn.line.fragmentShader,clipping:!0}),Object.defineProperties(du(n),{color:{enumerable:!0,get:function(){return this.uniforms.diffuse.value},set:function(e){this.uniforms.diffuse.value=e}},linewidth:{enumerable:!0,get:function(){return this.uniforms.linewidth.value},set:function(e){this.uniforms.linewidth.value=e}},dashed:{enumerable:!0,get:function(){return Boolean("USE_DASH"in this.defines)},set:function(e){Boolean(e)!==Boolean("USE_DASH"in this.defines)&&(this.needsUpdate=!0),!0===e?this.defines.USE_DASH="":delete this.defines.USE_DASH}},dashScale:{enumerable:!0,get:function(){return this.uniforms.dashScale.value},set:function(e){this.uniforms.dashScale.value=e}},dashSize:{enumerable:!0,get:function(){return this.uniforms.dashSize.value},set:function(e){this.uniforms.dashSize.value=e}},dashOffset:{enumerable:!0,get:function(){return this.uniforms.dashOffset.value},set:function(e){this.uniforms.dashOffset.value=e}},gapSize:{enumerable:!0,get:function(){return this.uniforms.gapSize.value},set:function(e){this.uniforms.gapSize.value=e}},opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e}},resolution:{enumerable:!0,get:function(){return this.uniforms.resolution.value},set:function(e){this.uniforms.resolution.value.copy(e)}},alphaToCoverage:{enumerable:!0,get:function(){return Boolean("ALPHA_TO_COVERAGE"in this.defines)},set:function(e){Boolean(e)!==Boolean("ALPHA_TO_COVERAGE"in this.defines)&&(this.needsUpdate=!0),!0===e?(this.defines.ALPHA_TO_COVERAGE="",this.extensions.derivatives=!0):(delete this.defines.ALPHA_TO_COVERAGE,this.extensions.derivatives=!1)}}}),n.setValues(e),n}return i}(cn);xM.prototype.isLineMaterial=!0;var wM=new He,MM=new Ke,EM=function(e){lu(i,e);var t=pu(i);function i(){var e;ru(this,i),(e=t.call(this)).type="LineSegmentsGeometry";return e.setIndex([0,2,1,2,3,1,2,4,3,4,5,3,4,6,5,6,7,5]),e.setAttribute("position",new Bi([-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)),e.setAttribute("uv",new Bi([-1,2,1,2,-1,1,1,1,-1,-1,1,-1,-1,-2,1,-2],2)),e}return au(i,[{key:"applyMatrix4",value:function(e){var t=this.attributes.instanceStart,i=this.attributes.instanceEnd;return void 0!==t&&(t.applyMatrix4(e),i.applyMatrix4(e),t.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}},{key:"setPositions",value:function(e){var t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));var i=new ph(t,6,1);return this.setAttribute("instanceStart",new jo(i,3,0)),this.setAttribute("instanceEnd",new jo(i,3,3)),this.computeBoundingBox(),this.computeBoundingSphere(),this}},{key:"setColors",value:function(e){var t;e instanceof Float32Array?t=e:Array.isArray(e)&&(t=new Float32Array(e));var i=new ph(t,6,1);return this.setAttribute("instanceColorStart",new jo(i,3,0)),this.setAttribute("instanceColorEnd",new jo(i,3,3)),this}},{key:"fromWireframeGeometry",value:function(e){return this.setPositions(e.attributes.position.array),this}},{key:"fromEdgesGeometry",value:function(e){return this.setPositions(e.attributes.position.array),this}},{key:"fromMesh",value:function(e){return this.fromWireframeGeometry(new Js(e.geometry)),this}},{key:"fromLineSegments",value:function(e){var t=e.geometry;if(!t.isGeometry)return t.isBufferGeometry&&this.setPositions(t.attributes.position.array),this;console.error("THREE.LineSegmentsGeometry no longer supports Geometry. Use THREE.BufferGeometry instead.")}},{key:"computeBoundingBox",value:function(){null===this.boundingBox&&(this.boundingBox=new He);var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;void 0!==e&&void 0!==t&&(this.boundingBox.setFromBufferAttribute(e),wM.setFromBufferAttribute(t),this.boundingBox.union(wM))}},{key:"computeBoundingSphere",value:function(){null===this.boundingSphere&&(this.boundingSphere=new ct),null===this.boundingBox&&this.computeBoundingBox();var e=this.attributes.instanceStart,t=this.attributes.instanceEnd;if(void 0!==e&&void 0!==t){var i=this.boundingSphere.center;this.boundingBox.getCenter(i);for(var n=0,r=0,o=e.count;o>r;r+=1)MM.fromBufferAttribute(e,r),n=Math.max(n,i.distanceToSquared(MM)),MM.fromBufferAttribute(t,r),n=Math.max(n,i.distanceToSquared(MM));this.boundingSphere.radius=Math.sqrt(n),isNaN(this.boundingSphere.radius)&&console.error("THREE.LineSegmentsGeometry.computeBoundingSphere(): Computed radius is NaN. The instanced position data is likely to have NaN values.",this)}}},{key:"toJSON",value:function(){}},{key:"applyMatrix",value:function(e){return console.warn("THREE.LineSegmentsGeometry: applyMatrix() has been renamed to applyMatrix4()."),this.applyMatrix4(e)}}]),i}(xc);EM.prototype.isLineSegmentsGeometry=!0;var BM=new Ke,SM=new Ke,bM=new Le,kM=new Le,DM=new Le,TM=new Ke,RM=new yt,UM=new xh,FM=new Ke,QM=new He,LM=new ct,OM=new Le,NM=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new EM,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new xM({color:16777215*Math.random()});return ru(this,i),(e=t.call(this,n,r)).type="LineSegments2",e}return au(i,[{key:"computeLineDistances",value:function(){for(var e=this.geometry,t=e.attributes.instanceStart,i=e.attributes.instanceEnd,n=new Float32Array(2*t.count),r=0,o=0,a=t.count;a>r;r+=1,o+=2)BM.fromBufferAttribute(t,r),SM.fromBufferAttribute(i,r),n[o]=0===o?0:n[o-1],n[o+1]=n[o]+BM.distanceTo(SM);var s=new ph(n,2,1);return e.setAttribute("instanceDistanceStart",new jo(s,1,0)),e.setAttribute("instanceDistanceEnd",new jo(s,1,1)),this}},{key:"raycast",value:function(e,t){null===e.camera&&console.error('LineSegments2: "Raycaster.camera" needs to be set in order to raycast against LineSegments2.');var i=e.ray,n=e.camera,r=n.projectionMatrix,o=this.matrixWorld,a=this.geometry,s=this.material,l=s.resolution,c=s.linewidth+(void 0!==e.params.Line2&&e.params.Line2.threshold||0),h=a.attributes.instanceStart,d=a.attributes.instanceEnd,u=-n.near,p=2*Math.max(c/l.width,c/l.height);null===a.boundingSphere&&a.computeBoundingSphere(),LM.copy(a.boundingSphere).applyMatrix4(o);var g=Math.max(n.near,LM.distanceToPoint(i.origin));OM.set(0,0,-g,1).applyMatrix4(n.projectionMatrix),OM.multiplyScalar(1/OM.w),OM.applyMatrix4(n.projectionMatrixInverse);var f=.5*Math.abs(p/OM.w);if(LM.radius+=f,!1!==e.ray.intersectsSphere(LM)){null===a.boundingBox&&a.computeBoundingBox(),QM.copy(a.boundingBox).applyMatrix4(o);var m=Math.max(n.near,QM.distanceToPoint(i.origin));OM.set(0,0,-m,1).applyMatrix4(n.projectionMatrix),OM.multiplyScalar(1/OM.w),OM.applyMatrix4(n.projectionMatrixInverse);var A=.5*Math.abs(p/OM.w);if(QM.max.x+=A,QM.max.y+=A,QM.max.z+=A,QM.min.x-=A,QM.min.y-=A,QM.min.z-=A,!1!==e.ray.intersectsBox(QM)){i.at(1,DM),DM.w=1,DM.applyMatrix4(n.matrixWorldInverse),DM.applyMatrix4(r),DM.multiplyScalar(1/DM.w),DM.x*=l.x/2,DM.y*=l.y/2,DM.z=0,TM.copy(DM),RM.multiplyMatrices(n.matrixWorldInverse,o);for(var y=0,v=h.count;v>y;y+=1){if(bM.fromBufferAttribute(h,y),kM.fromBufferAttribute(d,y),bM.w=1,kM.w=1,bM.applyMatrix4(RM),kM.applyMatrix4(RM),!(bM.z>u&&kM.z>u)){if(bM.z>u)bM.lerp(kM,(bM.z-u)/(bM.z-kM.z));else if(kM.z>u){kM.lerp(bM,(kM.z-u)/(kM.z-bM.z))}bM.applyMatrix4(r),kM.applyMatrix4(r),bM.multiplyScalar(1/bM.w),kM.multiplyScalar(1/kM.w),bM.x*=l.x/2,bM.y*=l.y/2,kM.x*=l.x/2,kM.y*=l.y/2,UM.start.copy(bM),UM.start.z=0,UM.end.copy(kM),UM.end.z=0;var C=UM.closestPointToPointParameter(TM,!0);UM.at(C,FM);var I=be.lerp(bM.z,kM.z,C),x=I>=-1&&1>=I,w=TM.distanceTo(FM)<.5*c;if(x&&w){UM.start.fromBufferAttribute(h,y),UM.end.fromBufferAttribute(d,y),UM.start.applyMatrix4(o),UM.end.applyMatrix4(o);var M=new Ke,E=new Ke;i.distanceSqToSegment(UM.start,UM.end,E,M),t.push({point:E,pointOnLine:M,distance:i.origin.distanceTo(E),object:this,face:null,faceIndex:y,uv:null,uv2:null})}}}}}}}]),i}(nn);NM.prototype.LineSegments2=!0;var PM=new Ge,GM=new Ke(1,0,0),KM=new Ke(0,1,0),VM=new Ke(0,0,1),YM=new yt,HM=function(e,t,i,n,r,o,a,s,l,c){this.enable=e,this.visible=t,this.rotatable=i,this.planeOffset=n,this.position=r,this.scale=o,this.quaternion=a,this.cubeSize=s,this.center=l,this.normalIndex=c},jM=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;return ru(this,i),(r=t.call(this,Vp.FILLCLIPPLANE,{priority:20})).cubeSize=e.clone(),r.originBoundingBox=(new He).setFromCenterAndSize(n,e),r.boundingBox=r.originBoundingBox.clone(),r.center=n.clone(),r.lengthSize=.8*r.originBoundingBox.getSize(new Ke).length(),r.planeOffset=0,r.normalIndex=3,r.visible=!1,r.rotatable=!1,r.hit=!1,r.clipplane=new Le,r.observer=null,r.renderClipPlane=new Jt,r.angleA=0,r.angleB=0,r.capsIntersectPosition=[],r.capsIntersectContour={},r.clipPlaneBox=null,r.innerClipping=!1,r.limitDragging=!0,r.orthoViewProjMatrix=new yt,r.planeWidth=null,r.planeHeight=null,r.uniforms={iClipPlane:{value:0},vClipPlane:{value:new Array(new Le)}},r.planeMaterial=new ig({color:6724044,opacity:.3,transparent:!0,side:2,lights:!0}),r.planeMaterial.visible=!1,r.planeHighLightMatrial=new ig({color:6724044,opacity:.3,transparent:!0,side:2,lights:!0}),r}return au(i,[{key:"initPlaneModel",value:function(){for(var e=this.children.length-1;e>=0;e-=1)this.remove(this.children[e]);this.planeOffset=0;var t=this.lengthSize,i=new In(t,t),n=new nn(i,this.planeMaterial);n.name="fillClipPlane",n.customTag=!0,n.renderOrder=90,this.position.copy(this.center),this.clipplane.set(0,0,1,0),this.planeMesh=n,this.planeMesh.geometry.computeBoundingBox(),this.clipPlaneBox=this.planeMesh.geometry.boundingBox,this.add(n)}},{key:"initWireframes",value:function(){var e=.5*this.lengthSize,t=[-e,e,0,e,e,0,-e,-e,0,e,-e,0],i=new Ni,n=new ig({color:2003199,lights:!0});i.setIndex([0,1,1,3,3,2,2,0]),i.setAttribute("position",new Bi(t,3));var r=new La(i,n);r.name="Wireframes",r.customTag=!0,this.wireframeMesh=r,this.add(r)}},{key:"resizeGeometry",value:function(e,t){var i=new In(e,t);this.planeMesh.geometry=i,this.planeMesh.geometry.computeBoundingBox(),this.clipPlaneBox=this.planeMesh.geometry.boundingBox;var n=.5*e,r=.5*t,o=[-n,r,0,n,r,0,-n,-r,0,n,-r,0],a=new Ni;if(a.setIndex([0,1,1,3,3,2,2,0]),a.setAttribute("position",new Bi(o,3)),this.wireframeMesh.geometry=a,this.capPlane){var s=new In(e,t);this.capPlane.planeMesh.geometry=s}}},{key:"getCoordinate",value:function(){var e=this.planeWidth?.5*this.planeWidth:.5*this.lengthSize,t=this.planeHeight?.5*this.planeHeight:.5*this.lengthSize,i=new Ke(-e,t,0);i.applyMatrix4(this.matrix);var n=new Ke(e,t,0);n.applyMatrix4(this.matrix);var r=new Ke(-e,-t,0);return r.applyMatrix4(this.matrix),{axisX:i.clone().sub(n).normalize(),axisY:i.clone().sub(r).normalize()}}},{key:"initCapsPlane",value:function(){if(this.capPlane)return this.capPlane;this.planeMesh||this.initPlaneModel();var e=this.lengthSize,t=new In(e,e),i=new ig({color:16776960,side:2,stencilWrite:!0,stencilFunc:de,stencilRef:1,stencilFuncMask:255,stencilFail:oe,stencilZFail:oe,stencilZPass:oe}),n=new nn(t,i),r=this.planeMesh;n.matrixWorld=r.matrixWorld,n.matrix=this.matrix;for(var o=.5*this.lengthSize,a=.01*this.lengthSize,s=[],l=o-a;l>-o;l-=a)s.push(l,o,0),s.push(o,l,0);for(l=-o+a;o>l;l+=a)s.push(-o,l,0),s.push(l,-o,0);var c=new xM({color:2236962,stencilWrite:!0,stencilFunc:de,stencilRef:1,stencilFuncMask:255,stencilFail:oe,stencilZFail:oe,stencilZPass:oe});c.linewidth=1,c.resolution.set(window.innerWidth,window.innerHeight),c.depthTest=!1;var h=new EM;h.setPositions(s);var d=new NM(h,c);return d.matrix=this.matrix,d.matrixWorld=r.matrixWorld,this.capPlane={planeMesh:n,lineMesh:d},this.capPlane}},{key:"addToCapsWireframe",value:function(e){if(this.capsWireframe)this.capsWireframe.geometry.setPositions(this.capsIntersectPosition),this.capsWireframe.geometry._maxInstanceCount=void 0;else{var t=new EM;t.setPositions(this.capsIntersectPosition),this.capsWireframe=new NM(t,new xM({color:2236962,linewidth:1,polygonOffset:!0,polygonOffsetFactor:-1,polygonOffsetUnits:-10,resolution:new ke(window.innerWidth,window.innerHeight)})),e.manager.scene.getOrCreateGroup(Vp.CAPSWIREFRAME,{globalSpace:!0}).add(this.capsWireframe),this.capsWireframe.updateMatrixWorld(!0)}}},{key:"clearCapsWireframe",value:function(){this.capsIntersectPosition.length=0,this.capsIntersectPosition=[],this.capsWireframe&&this.capsWireframe.geometry.deleteAttribute("instanceStart"),this.capsWireframe&&this.capsWireframe.geometry.deleteAttribute("instanceEnd")}},{key:"calculateClippingIds",value:function(){}},{key:"updateClippingParams",value:function(e){}},{key:"getFillClipBoundingBox",value:function(){return this.boundingBox}},{key:"getFillClipPlaneBoundingBox",value:function(){var e=this.clipPlaneBox.clone();return e.applyMatrix4(this.planeMesh.matrix),e}},{key:"calculateFillClipBoundingBox",value:function(e){this.boundingBox=this.originBoundingBox.clone(),0!==this.clipplane.x?1===this.clipplane.x?this.boundingBox.max.x=e.x:this.boundingBox.min.x=e.x:0!==this.clipplane.y?1===this.clipplane.y?this.boundingBox.max.y=e.y:this.boundingBox.min.y=e.y:0!==this.clipplane.z&&(1===this.clipplane.z?this.boundingBox.max.z=e.z:this.boundingBox.min.z=e.z)}},{key:"enable",value:function(e,t){this.visible=t,this.uniforms.iClipPlane.value=e?1:0,this.capPlane&&(this.capPlane.lineMesh.visible=t,this.capPlane.planeMesh.visible=t),this.update()}},{key:"isEnabled",value:function(){return 0!==this.uniforms.iClipPlane.value}},{key:"update",value:function(){if(this.updateMatrixWorld(),YM.copy(this.matrix).invert(),YM.transpose(),this.uniforms.vClipPlane.value[0]=this.clipplane.clone().applyMatrix4(YM),this.innerClipping){var e=this.planeWidth,t=this.planeHeight;this.orthoCamera=new pc(-e/2,e/2,t/2,-t/2,.1,2e3),this.orthoCamera.position.set(this.position.x,this.position.y,this.position.z);var i=this.uniforms.vClipPlane.value[0].clone(),n=new Ke(i.x,i.y,i.z);n.normalize();var r=new Ke(this.position.x,this.position.y,this.position.z);r.add(n),this.orthoCamera.lookAt(r),this.orthoCamera.updateMatrixWorld(!0),this.orthoViewProjMatrix.copy(this.orthoCamera.projectionMatrix),YM.copy(this.orthoCamera.matrixWorld).invert(),this.orthoViewProjMatrix.multiply(YM)}this.updateClippingParams(this.uniforms),this.observer&&this.observer()}},{key:"getClipPlane",value:function(){return this.clipplane.clone()}},{key:"offset",value:function(e){var t=this.cubeSize.length();this.planeOffset+=e,this.limitDragging&&Math.abs(this.planeOffset)>.5*t&&(this.planeOffset=this.planeOffset>0?.5*t:.5*-t);var i=this.uniforms.vClipPlane.value[0].clone(),n=new Ke(i.x,i.y,i.z);n.normalize();var r=new Ke(n.x*this.planeOffset,n.y*this.planeOffset,n.z*this.planeOffset);this.position.copy(this.center).add(r),this.update()}},{key:"setOffset",value:function(e){var t=this.cubeSize.length();this.planeOffset=e,this.limitDragging&&Math.abs(e)>.5*t&&(this.planeOffset=e>0?.5*t:.5*-t);var i=this.uniforms.vClipPlane.value[0].clone(),n=new Ke(i.x,i.y,i.z);n.normalize();var r=new Ke(n.x*this.planeOffset,n.y*this.planeOffset,n.z*this.planeOffset);this.position.copy(this.center).add(r),this.update()}},{key:"changeNormal",value:function(e){this.quaternion.set(0,0,0,1),this.angleA=0,this.angleB=0,this.setNormal(e)}},{key:"setNormal",value:function(e){var t=this.planeMesh,i=this.wireframeMesh;0===e?(this.clipplane.set(1,0,0,0),t.rotation.set(0,Math.PI/2,0),i.rotation.set(0,Math.PI/2,0)):1===e?(this.clipplane.set(-1,0,0,0),t.rotation.set(0,-Math.PI/2,0),i.rotation.set(0,-Math.PI/2,0)):2===e?(this.clipplane.set(0,0,1,0),t.rotation.set(Math.PI,0,0),i.rotation.set(Math.PI,0,0)):3===e?(this.clipplane.set(0,0,-1,0),t.rotation.set(0,0,0),i.rotation.set(0,0,0)):4===e?(this.clipplane.set(0,1,0,0),t.rotation.set(-Math.PI/2,0,0),i.rotation.set(-Math.PI/2,0,0)):5===e&&(this.clipplane.set(0,-1,0,0),t.rotation.set(Math.PI/2,0,0),i.rotation.set(Math.PI/2,0,0)),this.normalIndex=e,t.updateMatrixWorld(),i.updateMatrixWorld(),this.capPlane&&(this.capPlane.planeMesh.matrixWorld=t.matrixWorld,this.capPlane.lineMesh.matrixWorld=t.matrixWorld),this.update()}},{key:"rotX",value:function(e){PM.setFromAxisAngle(GM,e),this.quaternion.multiply(PM),this.update()}},{key:"rotY",value:function(e){PM.setFromAxisAngle(KM,e),this.quaternion.multiply(PM),this.update()}},{key:"rotateByAxis",value:function(e,t){PM.setFromAxisAngle(e,t),this.quaternion.multiply(PM)}},{key:"rotateAngleOffset",value:function(e,t){var i=this.normalIndex;e=e%360/180*Math.PI,0===i||1===i?("y"===t&&this.rotateByAxis(VM,e),"z"===t&&this.rotateByAxis(KM,e)):2===i||3===i?("x"===t&&this.rotateByAxis(GM,e),"z"===t&&this.rotateByAxis(KM,e)):4!==i&&5!==i||("x"===t&&this.rotateByAxis(GM,e),"y"===t&&this.rotateByAxis(VM,e)),this.update()}},{key:"setRotateAngle",value:function(e,t){this.quaternion.set(0,0,0,1);var i=this.normalIndex;t=0>(t=void 0===t?this.angleB:t%360)?360+t:t,this.angleA=e=0>(e=void 0===e?this.angleA:e%360)?360+e:e,this.angleB=t,e=e/180*Math.PI,t=t/180*Math.PI,0===i||1===i?(t=0===i?t:-t,this.rotateByAxis(VM,e=0===i?-e:e),this.rotateByAxis(KM,t)):2===i||3===i?(this.rotateByAxis(GM,e),this.rotateByAxis(KM,t)):4!==i&&5!==i||(t=3===i?t:-t,this.rotateByAxis(GM,e=3===i?-e:e),this.rotateByAxis(VM,t)),this.update()}},{key:"getRotateAngle",value:function(){return{angleA:this.angleA,angleB:this.angleB}}},{key:"highLight",value:function(){this.planeMesh.material=this.planeHighLightMatrial}},{key:"cancelHighLight",value:function(){this.planeMesh.material=this.planeMaterial,this.hit=!1}},{key:"store",value:function(){return new HM(!!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())}},{key:"restore",value:function(e){this.enable(e.enable,e.visible),this.rotatable=e.rotatable,this.planeOffset=e.planeOffset,this.position.copy(e.position),this.scale.copy(e.scale),this.quaternion._w=e.quaternion._w,this.quaternion._x=e.quaternion._x,this.quaternion._y=e.quaternion._y,this.quaternion._z=e.quaternion._z,this.normalIndex=void 0===e.normalIndex?this.normalIndex:e.normalIndex,this.setNormal(this.normalIndex)}},{key:"setProcess",value:function(e){var t=this.cubeSize.length();e>1?e=1:-1>e&&(e=-1),this.planeOffset=e*t*.5;var i=this.uniforms.vClipPlane.value[0].clone(),n=new Ke(i.x,i.y,i.z);n.normalize();var r=new Ke(n.x*this.planeOffset,n.y*this.planeOffset,n.z*this.planeOffset);this.position.copy(this.center).add(r),this.update()}},{key:"restoreRotation",value:function(){this.quaternion.set(0,0,0,1),this.update()}},{key:"getProcess",value:function(){var e=this.cubeSize.length();return this.planeOffset/e*2}},{key:"init",value:function(){this.initPlaneModel(),this.initWireframes()}},{key:"hitTest",value:function(e){if(this.visible){var t=null,i=null;if(this.hit=this.raycast(e),this.hit){var n=e.ray,r=new Jt,o=this.uniforms.vClipPlane.value[0];r.setComponents(o.x,o.y,o.z,o.w),t=n.distanceToPlane(r),i=0>n.direction.dot(r.normal)}return{sign:i,distance:t}}this.hit=!1}},{key:"raycast",value:function(e,t){var i=[];return this.planeMesh.raycast(e,i),i.length>0}},{key:"resize",value:function(e,t){var i=e.length()/this.lengthSize;this.scale.set(i,i,i),this.cubeSize.copy(e),t&&(this.center=t.clone(),this.position.copy(this.center)),this.offset(0),this.updateMatrixWorld()}},{key:"setBorder",value:function(e,t,i){this.planeWidth=e,this.planeHeight=t,this.resizeGeometry(e,t),this.cubeSize.set(1,e,t),this.originBoundingBox=(new He).setFromCenterAndSize(this.center,this.cubeSize),this.boundingBox=this.originBoundingBox.clone(),this.innerClipping=!wp.isDefined(i)||i,this.limitDragging=!1,this.update()}},{key:"getSideLength",value:function(){return this.lengthSize*this.scale.x}},{key:"updateCamera",value:function(e){!1!==this.visible&&(e.calculateNearFar({fillClipPlane:!0}),e.cameraControl.updateCamera())}}]),i}(cm),WM="\n #include <common>\n #include <logdepthbuf_pars_vertex>\n\n varying vec2 vUv;\n varying vec3 vNormal;\n\n void main()\n {\n vUv = vec2( uv.x, uv.y );\n vNormal = normal;\n\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n #include <logdepthbuf_vertex>\n }\n ",JM="\n uniform vec3 color;\n uniform float opacity;\n uniform float time;\n uniform vec3 moveDir;\n\n varying vec2 vUv;\n varying vec3 vNormal;\n\n #include <common>\n #include <packing>\n #include <logdepthbuf_pars_fragment>\n\n void main(void){\n #include <logdepthbuf_fragment>\n\n vec3 col = 0.5 + 0.5*cos(time+vUv.xyx+vec3(0,2,4));\n\n float cusOpacity = 0.0;\n\n if(moveDir.x * vNormal.x < 0.1 || moveDir.y * vNormal.y < 0.1 || moveDir.z * vNormal.z < 0.1){\n cusOpacity = opacity;\n }\n\n if(dot(moveDir, vNormal) < 0.01){\n cusOpacity = 0.0;\n }\n\n gl_FragColor = vec4(col, cusOpacity);\n }\n ",zM=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ru(this,i);var r=Wg(n.opacity,.6),o={opacity:{value:r},time:{value:0},moveDir:{value:new Ke}};return(e=t.call(this,{uniforms:o,vertexShader:WM,fragmentShader:JM,transparent:!0,depthTest:!1,depthWrite:!1,side:2})).HighLightFaceMaterial=!0,e.type="DynamicTexture1Material",e.setValues(n),e}return au(i,[{key:"time",get:function(){return this.uniforms.time.value},set:function(e){this.uniforms.time.value=e}},{key:"moveDir",get:function(){return this.uniforms.moveDir.value},set:function(e){this.uniforms.moveDir.value.copy(e)}}]),i}(cn),qM=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ru(this,i);var r=n.box,o=Wg(n.color,16776960),a=Wg(n.createHighLightMesh,!1),s=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]),l=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],c=new Ni;return c.setIndex(new Ai(s,1)),c.setAttribute("position",new Bi(l,3)),(e=t.call(this,c,new Sa({color:o,toneMapped:!1}))).box=r,e.type="Box3Helper",e.geometry.computeBoundingSphere(),e._scale=(new Ke).copy(e.scale),e.translate=new Ke,e._translateArray=[],e.cacheLength=3,e.sizeChange=!1,e.highLightMesh=void 0,e.isCreateHighLightMesh=a,e.isCreateHighLightMesh&&!jg(e.highLightMesh)&&e.createHighLightMesh(),e}return au(i,[{key:"sizeX",get:function(){return 2*this.scale.x}},{key:"sizeY",get:function(){return 2*this.scale.y}},{key:"sizeZ",get:function(){return 2*this.scale.z}},{key:"size",get:function(){return{x:this.sizeX,y:this.sizeY,z:this.sizeZ}}},{key:"createHighLightMesh",value:function(){var e=new on(1,1,1),t=new nn(e,new zM);t.updateMatrixWorld(),t.scale.multiplyScalar(2),this.highLightMesh=t,this.addObject(t)}},{key:"updateMatrixWorld",value:function(e){var t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this._scale),this._scale.multiplyScalar(.5),this.sizeChange=!Ke.equalsEps(this.scale,this._scale),this.scale.copy(this._scale),gu(cu(i.prototype),"updateMatrixWorld",this).call(this,e))}},{key:"setTranslate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;this.translate.set(e,t,i)}},{key:"resetTranslate",value:function(){this._translateArray=[],this.translate.set(0,0,0)}},{key:"updateFixedFrame",value:function(e){this.sizeChange=!1,this.isCreateHighLightMesh&&!jg(this.highLightMesh)&&this.createHighLightMesh(),jg(this.highLightMesh)&&(this.highLightMesh.material.time=.1*e.frameNumber,this.highLightMesh.material.moveDir=this.translate)}}]),i}(La),ZM=function(){function e(t){var i;ru(this,e),this.name="DeveloperError",this.message=t;try{throw new Error}catch(e){i=e.stack}this.stack=i,jg(Object.create)&&(this.prototype=Object.create(Error.prototype))}return au(e,[{key:"toString",value:function(){var e=this.name+": "+this.message;return jg(this.stack)&&(e+="\n"+this.stack.toString()),e}}],[{key:"throwInstantiationError",value:function(){throw new e("This function defines an interface and should not be called directly.")}}]),e}();function XM(){return!0}function _M(e,t){function i(){throw new ZM(t)}for(var n in t=Wg(t,"This object was destroyed, i.e., destroy() was called."),e)"function"==typeof e[n]&&(e[n]=i);e.isDestroyed=XM}var $M=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this))._scene=e,n._viewerImpl=e.viewerImpl,n.models=new Map,n.boxHelperMap=new Map,n}return au(i,[{key:"scene",get:function(){return this._scene}},{key:"viewerImpl",get:function(){return this._viewerImpl}},{key:"updateFromModel",value:function(e,t){this.models.set(e,t)}},{key:"updateBoxHelper",value:function(e){jg(this.boxHelperMap.get(e))}},{key:"createBoxHelper",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.boxHelperMap.get(e);if(jg(i))i.visible=!0;else{var n=this.getBox(e);if(jg(n)){var r=Wg(t.createHighLightMesh,!1),o=Wg(t.color,13244156);(i=new qM({box:(new He).copy(n),color:o,createHighLightMesh:r})).material.depthTest=!1,i.updateMatrixWorld(!0),this.addObject(i),this.boxHelperMap.set(e,i)}}}},{key:"getBox",value:function(e){var t=this.models.get(e);return jg(t)&&t instanceof Jg?(t.computeBoundingBox(),t.boundingBox):this.viewerImpl.getComponentInfoByUserId(e).boundingBox}},{key:"getHelper",value:function(e){return this.boxHelperMap.get(e)}},{key:"removeHelper",value:function(e){var t=this.getHelper(e);jg(t)&&(this.boxHelperMap.delete(e),this.removeObject(t))}},{key:"destroy",value:function(){for(var e=this.length,t=0;e>t;t++){var i=this.get(t);this.removeObject(i)}return _M(this)}}]),i}(Jg),eE=new Ke,tE=new yt,iE=new He,nE=new Ke,rE=new Ke,oE=new Ke,aE=new Ke,sE=new Ke,lE=new Ke,cE=new Ke,hE=new Ke,dE=new yt,uE=void 0,pE=void 0,gE=void 0,fE=void 0,mE=new Ke,AE=void 0,yE=new Ke,vE=function(e){lu(i,e);var t=pu(i);function i(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return ru(this,i),(n=t.call(this)).innerCollisionThreshold=Wg(r.innerCollisionThreshold,500),n.dampingDistance=new Ke(100,100,100),n.scaleThreshold=1,n._scene=e,n._viewerImpl=e.viewerImpl,n._aabbCollection=e.aabbCollection,n.transformControl=void 0,n.selectedObjectId=void 0,n._isExternalObject=!1,n._collection=void 0,n.selectObjects=[],n._selectedComponentKey=void 0,n._targetObjects=new Set,n.targetObjectsMap=new Map,n.selectObjectBoxHelper=void 0,n.selectBoxCenter=new Ke,n.selectBoxSize=new Ke,n.selectTransformBoxHelper=void 0,n.transformBoxCenter=new Ke,n.transformBoxSize=new Ke,n.targetBox=new He,n.targetBoxCenter=new Ke,n.targetBoxSize=new Ke,n.targetObjectExpandBox=new He,n.targetObjectExpandBoxSize=new Ke,n.targetObjectExpandBoxCenter=new Ke,n.adsorbBoxSize=new Ke,n.adsorbBoxCenter=new Ke,n.isTargetBoxColliding=!1,n.isColliding=!1,n._originIsColliding=!1,n.lastCollidingId=void 0,n._changeMethods={adsorbObjectChange:n.update.bind(du(n)),mouseUp:n.reSetSelectTransformBoxHelper.bind(du(n))},n.sortDistanceTargetArray=[],n._originId=void 0,n.targetId=void 0,n._enabled=!1,n.centerOffset=new Ke,n.adsorbingEvent={type:"adsorbing",translate:new Ke},n}return au(i,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e,e||jg(this.targetAABB)&&(this.targetAABB.resetTranslate(),this.viewerImpl.cancelTransformComponent()),this.visible=e}},{key:"viewerImpl",get:function(){return this.scene.viewerImpl}},{key:"isExternalObject",get:function(){return this._isExternalObject}},{key:"originId",get:function(){return this._originId}},{key:"changeMethods",get:function(){return this._changeMethods}},{key:"scene",get:function(){return this._scene}},{key:"aabbCollection",get:function(){return this._aabbCollection}},{key:"targetObjects",get:function(){return this._targetObjects}},{key:"cameraControl",get:function(){return this._viewerImpl.cameraControl}},{key:"targetAABB",get:function(){if(jg(this.targetId))return this.aabbCollection.getHelper(this.targetId)}},{key:"targetCollisionThreshold",get:function(){return jg(this.targetId)?this.targetObjectsMap.get(this.targetId).collisionThreshold:0}},{key:"transformBox",get:function(){return this.selectTransformBoxHelper.box}},{key:"setSelectedObjectByComponentId",value:function(e){if(!jg(e)||!this.enabled)return!1;this.targetObjectsMap.has(e)&&(this.targetObjectsMap.delete(e),this.lastCollidingId=void 0),this.selectedObjectId=e,iE.copy(this.aabbCollection.getBox(e)),jg(this.selectObjectBoxHelper)&&(this.removeObject(this.selectObjectBoxHelper),this.selectObjectBoxHelper=void 0),this.selectObjectBoxHelper=this.createBoxHelper(iE,!0),jg(this.selectTransformBoxHelper)&&(this.removeObject(this.selectTransformBoxHelper),this.selectTransformBoxHelper=void 0),this.selectTransformBoxHelper=this.createBoxHelper(iE),this.selectTransformBoxHelper.material.depthTest=!1,this.selectTransformBoxHelper.material.depthWrite=!1,this.componentTransformTool=this.viewerImpl.controlManager.componentTransformTool,this.transformControl=this.componentTransformTool.transformControl,this.transformControl.removeTranslateXYZ(),this._isExternalObject=!1,this._collection=void 0}},{key:"setSelectedObjectByCollection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};yE.set(0,0,0);var t=e.collection,i=Wg(e.updateBoundingBox,!0);if(!jg(t))throw new ZM("collection参数缺失!");t.updateMatrixWorld(!0),i&&t.computeBoundingBox();var n=t.userData.modelKey;yE=t.getBoundingBoxCenter(yE),t.matrixWorld.decompose(t.position,t.quaternion,t.scale),this.centerOffset.subVectors(t.position,yE),this.aabbCollection.updateFromModel(t.userData.modelKey,t),this.selectedObjectId=n,iE.copy(this.aabbCollection.getBox(n)),jg(this.selectObjectBoxHelper)&&(this.removeObject(this.selectObjectBoxHelper),this.selectObjectBoxHelper=void 0),this.selectObjectBoxHelper=this.createBoxHelper(iE,!0),jg(this.selectTransformBoxHelper)&&(this.removeObject(this.selectTransformBoxHelper),this.selectTransformBoxHelper=void 0),this.selectTransformBoxHelper=this.createBoxHelper(iE),this.selectTransformBoxHelper.material.depthTest=!1,this.componentTransformTool=this.viewerImpl.controlManager.componentTransformTool,this.transformControl=this.componentTransformTool.transformControl,this.transformControl.removeTranslateXYZ(),this._isExternalObject=!0,this._collection=t}},{key:"endAdsorb",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];jg(this.targetAABB)&&this.targetAABB.resetTranslate(),this._isExternalObject=!1,this._collection=void 0,this.selectedObjectId=void 0,this.centerOffset.set(0,0,0),this.removeObject(this.selectObjectBoxHelper),this.selectObjectBoxHelper=void 0,this.removeObject(this.selectTransformBoxHelper),this.selectTransformBoxHelper=void 0,this.viewerImpl.cancelTransformComponent(e)}},{key:"setTransformControl",value:function(e){if(!jg(e))return!1;this.componentTransformTool=e,this.transformControl=e.transformControl,this.transformControl.removeTranslateXYZ();var t=this.changeMethods,i=t.adsorbObjectChange,n=t.mouseUp;return this.transformControl.hasEventListener("objectChange",i)||this.transformControl.addEventListener("objectChange",i),this.transformControl.hasEventListener("mouseUp",n)||this.transformControl.addEventListener("mouseUp",n),!0}},{key:"removeTransformControl",value:function(){var e=this.transformControl,t=this.changeMethods,i=t.adsorbObjectChange;e.removeEventListener("mouseUp",t.mouseUp),e.removeEventListener("objectChange",i),this.componentTransformTool=void 0}},{key:"reset",value:function(){var e=this.control,t=this.changeMethods,i=t.adsorbObjectChange,n=t.mouseUp;e.hasEventListener("adsorbObjectChange",i)&&e.removeEventListener("adsorbObjectChange",i),e.hasEventListener("mouseUp",n)&&e.removeEventListener("mouseUp",n),this.transformControl=void 0}},{key:"addTargetObjectByIds",value:function(e){var t,i=vu(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;this.targetObjects.add(n.componentId);var r=Wg(n.collisionThreshold,this.innerCollisionThreshold);Wg(n.createHighLightMesh,!0)&&this.aabbCollection.createBoxHelper(n.componentId,{createHighLightMesh:!0});var o=this.aabbCollection.getBox(n.componentId),a=(new He).copy(o),s=(new He).copy(a).expandByScalar(r);this.targetObjectsMap.set(n.componentId,{id:n.componentId,collisionThreshold:r,box:a,boxCenter:a.getCenter(new Ke),boxSize:a.getSize(new Ke),expandBox:s,expandBoxCenter:s.getCenter(new Ke),expandBoxSize:s.getSize(new Ke),distanceToSelectCenter:1/0,translateDirDistance:-1/0})}}catch(e){i.e(e)}finally{i.f()}}},{key:"removeTargetObjectByIds",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(Array.isArray(e)&&0!==e.length){var t,i=vu(e);try{for(i.s();!(t=i.n()).done;){var n=t.value;this.targetObjectsMap.has(n)&&(this.targetObjectsMap.delete(n),this.aabbCollection.removeHelper(n))}}catch(e){i.e(e)}finally{i.f()}}}},{key:"createBoxHelper",value:function(e,t){var i=new qM({box:(new He).copy(e),color:65280,createHighLightMesh:t});return i.updateMatrixWorld(!0),this.addObject(i),i}},{key:"updateTotalBox",value:function(){this.selectObjectBoxHelper.updateMatrixWorld(!0),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.getSize(this.selectBoxSize),this.selectTransformBoxHelper.updateMatrixWorld(!0),this.selectTransformBoxHelper.box.getCenter(this.transformBoxCenter),this.selectTransformBoxHelper.box.getSize(this.transformBoxSize)}},{key:"updateDistance",value:function(){var e=this.selectObjectBoxHelper.position;return rE=rE.addVectors(this.targetObjectExpandBoxSize,this.selectBoxSize).multiplyScalar(.5),oE=oE.addVectors(this.targetBoxSize,this.selectBoxSize).multiplyScalar(.5),aE=aE.subVectors(this.targetBoxSize,this.selectBoxSize).multiplyScalar(.5),sE.set(Math.abs(this.transformBoxCenter.x-this.targetBoxCenter.x),Math.abs(this.transformBoxCenter.y-this.targetBoxCenter.y),Math.abs(this.transformBoxCenter.z-this.targetBoxCenter.z)),lE.set(Math.abs(rE.x-sE.x),Math.abs(rE.y-sE.y),Math.abs(rE.z-sE.z)),cE.set(Math.abs(e.x-this.targetBoxCenter.x),Math.abs(e.y-this.targetBoxCenter.y),Math.abs(e.z-this.targetBoxCenter.z)),{targetExpandSelectAddSize:rE,transformTargetDistance:sE,distance:lE,selectTargetDistance:cE}}},{key:"updateTotalMatrix",value:function(e){this.updateSelectTransformBoxHelper(e),this.updateSelectObjectBoxHelper(e)}},{key:"updateHelperCenter",value:function(e){this.selectTransformBoxHelper.box.applyMatrix4(tE),this.selectTransformBoxHelper.updateMatrix(),this.selectTransformBoxHelper.updateMatrixWorld(!0),this.selectTransformBoxHelper.box.getCenter(this.transformBoxCenter),this.selectTransformBoxHelper.box.getSize(this.transformBoxSize)}},{key:"sortByDistance",value:function(){var e,t=this.targetObjectsMap,i=vu(t.keys());try{for(i.s();!(e=i.n()).done;){var n=t.get(e.value);n.distanceToSelectCenter=n.boxCenter.distanceToSquared(this.selectObjectBoxHelper.position)}}catch(e){i.e(e)}finally{i.f()}var r=this.sortDistanceTargetArray;r=Array.from(t),this.sortDistanceTargetArray=r.sort((function(e,t){return e[1].distanceToSelectCenter-t[1].distanceToSelectCenter}))}},{key:"sortByDirX",value:function(){var e,t=this.targetObjectsMap,i=Math.sign(eE.x),n=this.selectTransformBoxHelper.position,r=this.selectTransformBoxHelper.size,o=vu(t.values());try{for(o.s();!(e=o.n()).done;){var a=e.value,s=a.boxCenter.x-a.boxSize.x/2-(n.x+r.x/2),l=a.boxCenter.x+a.boxSize.x/2-(n.x-r.x/2),c=a.boxCenter.z-a.boxSize.z/2-(n.z+r.z/2),h=a.boxCenter.z+a.boxSize.z/2-(n.z-r.z/2);if(Math.abs(a.boxCenter.x-n.x)<a.boxSize.x/2+r.x/2&&(h>be.EPSILON7||c>be.EPSILON7)){AE={id:this._originId};break}a.translateDirDistance=i>0?s:l,jg(AE)?(this.selectTransformBoxHelper.box.intersectsBox(a.expandBox)||this.selectTransformBoxHelper.box.containsBox(a.expandBox))&&Math.abs(a.translateDirDistance)<Math.abs(AE.translateDirDistance)&&(AE=a):(AE=a).translateDirDistance=a.translateDirDistance}}catch(e){o.e(e)}finally{o.f()}}},{key:"sortByDirY",value:function(){var e=this.targetObjectsMap,t=Math.sign(eE.y);AE=void 0;var i,n=this.selectTransformBoxHelper.position,r=this.selectTransformBoxHelper.size,o=vu(e.values());try{for(o.s();!(i=o.n()).done;){var a=i.value,s=a.boxCenter.y-a.boxSize.y/2-(n.y+r.y/2),l=a.boxCenter.y+a.boxSize.y/2-(n.y-r.y/2),c=a.boxCenter.z-a.boxSize.z/2-(n.z+r.z/2),h=a.boxCenter.z+a.boxSize.z/2-(n.z-r.z/2);if(Math.abs(a.boxCenter.y-n.y)<a.boxSize.y/2+r.y/2&&(c>be.EPSILON7||h>be.EPSILON7)){AE={id:this._originId};break}a.translateDirDistance=t>0?s:l,jg(AE)?(this.selectTransformBoxHelper.box.intersectsBox(a.expandBox)||this.selectTransformBoxHelper.box.containsBox(a.expandBox))&&Math.abs(a.translateDirDistance)<Math.abs(AE.translateDirDistance)&&(AE=a):(AE=a).translateDirDistance=a.translateDirDistance}}catch(e){o.e(e)}finally{o.f()}}},{key:"sortByDirZ",value:function(){var e=this.targetObjectsMap,t=Math.sign(eE.z);AE=void 0;var i,n=this.selectTransformBoxHelper.position,r=this.selectTransformBoxHelper.size,o=vu(e.values());try{for(o.s();!(i=o.n()).done;){var a=i.value;a.translateDirDistance=t>0?a.boxCenter.z-a.boxSize.z/2-(n.z+r.z/2):a.boxCenter.z+a.boxSize.z/2-(n.z-r.z/2),jg(AE)?(this.selectTransformBoxHelper.box.intersectsBox(a.expandBox)||this.selectTransformBoxHelper.box.containsBox(a.expandBox))&&Math.abs(a.translateDirDistance)<Math.abs(AE.translateDirDistance)&&(AE=a):(AE=a).translateDirDistance=a.translateDirDistance}}catch(e){o.e(e)}finally{o.f()}}},{key:"getCollectId",value:function(){if(eE.lengthSq()<be.EPSILON7)return{id:this.lastCollidingId};this._originId=jg(AE)?AE.id:void 0,AE=void 0;var e=Ke.getMaxAbsComponent(eE);if(jg(this.lastCollidingId)){var t=this.targetObjectsMap.get(this.lastCollidingId);if(this.updateTotalBox(),this.updateDistance(),(this.selectTransformBoxHelper.box.intersectsBox(t.box)||this.selectTransformBoxHelper.box.containsBox(t.box))&&t.collisionThreshold>=lE[e])return AE={id:this.lastCollidingId}}return this.updateTotalBox(),this.updateDistance(),"x"===e?this.sortByDirX():"y"===e?this.sortByDirY():this.sortByDirZ(),jg(AE)?AE:{id:void 0}}},{key:"executeCollision",value:function(e){this.isColliding=!1;var t=this.getCollectId();if(jg(t.id)){this.targetId!==t.id&&jg(this.targetId)&&this.aabbCollection.getHelper(this.targetId).resetTranslate(),this.targetId=t.id;var i=this.targetObjectsMap.get(this.targetId);this.isColliding=this.selectTransformBoxHelper.box.intersectsBox(i.expandBox),this.isColliding&&(this.lastCollidingId!==this.targetId&&(this._originIsColliding=!1),this.targetBox.copy(this.aabbCollection.getBox(this.targetId)),this.targetBox.getCenter(this.targetBoxCenter),this.targetBox.getSize(this.targetBoxSize),this.targetObjectExpandBox.copy(this.targetBox),this.targetObjectExpandBox.expandByScalar(i.collisionThreshold),this.targetObjectExpandBox.getCenter(this.targetObjectExpandBoxCenter),this.targetObjectExpandBox.getSize(this.targetObjectExpandBoxSize),this.lastCollidingId=this.targetId,this.isTargetBoxColliding=this.selectTransformBoxHelper.box.intersectsBox(this.targetBox))}else this.isColliding=!1}},{key:"updateSelectObjectBoxHelper",value:function(){jg(this.selectObjectBoxHelper)&&(this.selectObjectBoxHelper.box.copy(this.selectTransformBoxHelper.box),this.selectObjectBoxHelper.updateMatrix(),this.selectObjectBoxHelper.updateMatrixWorld(!0))}},{key:"reSetSelectTransformBoxHelper",value:function(){if(jg(this.selectTransformBoxHelper)){var e=this._collection;jg(e)&&jg(e.computeBoundingBox)&&(e.updateMatrixWorld(!0),e.computeBoundingBox(),this.selectObjectBoxHelper.box.copy(e.boundingBox),this.selectObjectBoxHelper.updateMatrixWorld()),this.selectTransformBoxHelper.box.copy(this.selectObjectBoxHelper.box),this.selectTransformBoxHelper.updateMatrix(),this.selectTransformBoxHelper.updateMatrixWorld(!0),this.selectTransformBoxHelper.box.getCenter(this.transformBoxCenter),this.selectTransformBoxHelper.box.getSize(this.transformBoxSize),this.componentTransformTool.transformObject.position.copy(this.selectObjectBoxHelper.position),this.componentTransformTool.transformObject.updateMatrixWorld(!0)}}},{key:"highLightAdsorbPlane",value:function(){var e=this.selectObjectBoxHelper.position;cE.set(Math.abs(e.x-this.targetBoxCenter.x),Math.abs(e.y-this.targetBoxCenter.y),Math.abs(e.z-this.targetBoxCenter.z)),mE.subVectors(cE,oE),Math.abs(mE.x)<be.EPSILON5&&this.targetAABB.setTranslate(Math.sign(e.x-this.targetBoxCenter.x),0,0),Math.abs(mE.y)<be.EPSILON5&&this.targetAABB.setTranslate(0,Math.sign(e.y-this.targetBoxCenter.y),0),Math.abs(mE.z)<be.EPSILON5&&this.targetAABB.setTranslate(0,0,Math.sign(e.z-this.targetBoxCenter.z))}},{key:"updateSelectTransformBoxHelper",value:function(e){jg(this.selectTransformBoxHelper)&&(this.selectTransformBoxHelper.box.applyMatrix4(e),this.selectTransformBoxHelper.updateMatrix(),this.selectTransformBoxHelper.box.getCenter(this.transformBoxCenter),this.selectTransformBoxHelper.box.getSize(this.transformBoxSize),this.selectTransformBoxHelper.updateMatrixWorld(!0))}},{key:"executeCloseAdsorb",value:function(e){if(!this.selectTransformBoxHelper.box.intersectsBox(this.targetObjectsMap.get(this.targetId).box))if(this.updateTotalBox(),this.updateDistance(),tE.identity(),0!==e.y||0===e.x||0===e.z)if(0!==e.z||0===e.x||0===e.y)if(0!==e.x||0===e.y||0===e.z){e.normalize(),this.targetBox.getCenter(this.targetBoxCenter);var t=new Ke,i=Number(Boolean(e.x)),n=Number(Boolean(e.y)),r=Number(Boolean(e.z));t.set(this.targetBoxCenter.x*i+this.selectBoxCenter.x*(1-i)-oE.x*Math.sign(e.x)*Number(Boolean(e.x)),this.targetBoxCenter.y*n+this.selectBoxCenter.y*(1-n)-oE.y*Math.sign(e.y)*Number(Boolean(e.y)),this.targetBoxCenter.z*r+this.selectBoxCenter.z*(1-r)-oE.z*Math.sign(e.z)*Number(Boolean(e.z))),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0),this.targetAABB.setTranslate(-i,-n,-r)}else this.executeNoneAxisXAdsorb(e);else this.executeNoneAxisZAdsorb(e);else this.executeNoneAxisYAdsorb(e)}},{key:"executeFarAdsorb",value:function(){}},{key:"executeNoneAxisYAdsorb",value:function(e){e.normalize(),this.targetBox.getCenter(this.targetBoxCenter);var t=new Ke;Math.abs(lE.x)<Math.abs(lE.z)&&t.set(this.targetBoxCenter.x-oE.x*Math.sign(e.x),this.selectBoxCenter.y,this.selectBoxCenter.z),Math.abs(lE.x)>Math.abs(lE.z)&&t.set(this.selectBoxCenter.x,this.selectBoxCenter.y,this.targetBoxCenter.z-oE.z*Math.sign(e.z)),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)}},{key:"executeNoneAxisZAdsorb",value:function(e){e.normalize(),this.targetBox.getCenter(this.targetBoxCenter);var t=new Ke;Math.abs(lE.x)<Math.abs(lE.y)&&t.set(this.targetBoxCenter.x-oE.x*Math.sign(e.x),this.selectBoxCenter.y,this.selectBoxCenter.z),Math.abs(lE.x)>Math.abs(lE.y)&&t.set(this.selectBoxCenter.x,this.targetBoxCenter.y-oE.y*Math.sign(e.y),this.selectBoxCenter.z),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)}},{key:"executeNoneAxisXAdsorb",value:function(e){e.normalize(),this.targetBox.getCenter(this.targetBoxCenter);var t=new Ke;Math.abs(lE.y)>Math.abs(lE.z)&&t.set(this.selectBoxCenter.x,this.selectBoxCenter.y,this.targetBoxCenter.z-oE.z*Math.sign(e.x)),Math.abs(lE.y)<Math.abs(lE.z)&&t.set(this.selectBoxCenter.x,this.targetBoxCenter.y-oE.y*Math.sign(e.y),this.selectBoxCenter.z),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)}},{key:"executeContinuousAdsorb",value:function(e){this.updateTotalBox(),this.updateDistance(),hE.set(0,0,0),this.adsorbingEvent.translate.copy(e),this.dispatchEvent(this.adsorbingEvent),cE.equalXEPSILON6(oE)&&this.executePlaneYZContinuousAdsorb(e),cE.equalYEPSILON6(oE)&&this.executePlaneXZContinuousAdsorb(e),cE.equalZEPSILON6(oE)&&this.executePlaneXYContinuousAdsorb(e)}},{key:"executePlaneYZContinuousAdsorb",value:function(){hE.y=eE.y,hE.z=eE.z,this.selectObjectBoxHelper.box.translate(hE),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.updateMatrixWorld(!0),Math.abs(eE.y)>Math.abs(eE.z)&&0===eE.x?this.dirYEdgeAlignment(eE):Math.abs(eE.z)>Math.abs(eE.y)&&0===eE.x&&this.dirZEdgeAlignment(eE)}},{key:"executePlaneXZContinuousAdsorb",value:function(){hE.x=eE.x,hE.z=eE.z,this.selectObjectBoxHelper.box.translate(hE),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.updateMatrixWorld(!0),Math.abs(eE.x)>Math.abs(eE.z)&&0===eE.y?this.dirXEdgeAlignment(eE):Math.abs(eE.z)>Math.abs(eE.x)&&0===eE.y&&this.dirZEdgeAlignment(eE)}},{key:"executePlaneXYContinuousAdsorb",value:function(e){hE.x=e.x,hE.y=e.y,this.selectObjectBoxHelper.box.translate(hE),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.getSize(this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0),Math.abs(e.y)>Math.abs(e.x)&&0===e.z?this.dirYEdgeAlignment(e):Math.abs(e.x)>Math.abs(e.y)&&0===e.z&&this.dirXEdgeAlignment(e)}},{key:"dirXEdgeAlignment",value:function(e){var t=this.selectTransformBoxHelper.sizeX;uE=this.targetBoxCenter.x+this.targetBoxSize.x/2-(this.transformBoxCenter.x+t/2),pE=this.targetBoxCenter.x-this.targetBoxSize.x/2-(this.transformBoxCenter.x-t/2),gE=this.transformBoxCenter.x+t/2-(this.targetBoxCenter.x-this.targetBoxSize.x/2),fE=this.transformBoxCenter.x-t/2-(this.targetBoxCenter.x+this.targetBoxSize.x/2);var i=new Ke;return 0>=e.x||0>gE||gE>this.innerCollisionThreshold?e.x>=0||fE>0||Math.abs(fE)>this.innerCollisionThreshold?Math.abs(uE)>this.innerCollisionThreshold&&Math.abs(pE)>this.innerCollisionThreshold?(i.copy(this.selectBoxCenter),i.x=this.transformBoxCenter.x,this.selectObjectBoxHelper.box.setFromCenterAndSize(i,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0)):(Math.abs(uE)>Math.abs(pE)||Math.abs(uE)>this.innerCollisionThreshold||(i.copy(this.transformBoxCenter),i.x=this.targetBoxCenter.x+this.targetBoxSize.x/2-this.selectBoxSize.x/2,this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(i,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)),void(Math.abs(uE)>Math.abs(pE)&&(i.copy(this.transformBoxCenter),i.x=this.targetBoxCenter.x-this.targetBoxSize.x/2+this.selectBoxSize.x/2,this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(i,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)))):(i.copy(this.transformBoxCenter),i.x=this.targetBoxCenter.x+this.targetBoxSize.x/2+this.selectBoxSize.x/2,this.selectObjectBoxHelper.box.setFromCenterAndSize(i,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0)):(i.copy(this.transformBoxCenter),i.x=this.targetBoxCenter.x-this.targetBoxSize.x/2-this.selectBoxSize.x/2,this.selectObjectBoxHelper.box.setFromCenterAndSize(i,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0))}},{key:"dirYEdgeAlignment",value:function(e){uE=this.targetBoxCenter.y+this.targetBoxSize.y/2-(this.transformBoxCenter.y+this.transformBoxSize.y/2),pE=this.targetBoxCenter.y-this.targetBoxSize.y/2-(this.transformBoxCenter.y-this.transformBoxSize.y/2),gE=this.transformBoxCenter.y+this.transformBoxSize.y/2-(this.targetBoxCenter.y-this.targetBoxSize.y/2),fE=this.transformBoxCenter.y-this.transformBoxSize.y/2-(this.targetBoxCenter.y+this.targetBoxSize.y/2);var t=new Ke;return 0>=e.y||0>gE||gE>this.innerCollisionThreshold?e.y>=0||fE>0||Math.abs(fE)>this.innerCollisionThreshold?Math.abs(uE)>this.innerCollisionThreshold&&Math.abs(pE)>this.innerCollisionThreshold?(t.copy(this.selectBoxCenter),t.y=this.transformBoxCenter.y,this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0)):(Math.abs(uE)>Math.abs(pE)||Math.abs(uE)>this.innerCollisionThreshold||(t.copy(this.transformBoxCenter),t.y=this.targetBoxCenter.y+this.targetBoxSize.y/2-this.selectBoxSize.y/2,this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)),void(Math.abs(uE)>Math.abs(pE)&&(t.copy(this.transformBoxCenter),t.y=this.targetBoxCenter.y-this.targetBoxSize.y/2+this.selectBoxSize.y/2,this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)))):(t.copy(this.transformBoxCenter),t.y=this.targetBoxCenter.y+this.targetBoxSize.y/2+this.selectBoxSize.y/2,this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0)):(t.copy(this.transformBoxCenter),t.y=this.targetBoxCenter.y-this.targetBoxSize.y/2-this.selectBoxSize.y/2,this.selectObjectBoxHelper.box.setFromCenterAndSize(t,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0))}},{key:"dirZEdgeAlignment",value:function(){uE=this.targetBoxCenter.z+this.targetBoxSize.z/2-(this.transformBoxCenter.z+this.transformBoxSize.z/2),pE=this.targetBoxCenter.z-this.targetBoxSize.z/2-(this.transformBoxCenter.z-this.transformBoxSize.z/2),gE=this.transformBoxCenter.z+this.transformBoxSize.z/2-(this.targetBoxCenter.z-this.targetBoxSize.z/2),fE=this.transformBoxCenter.z-this.transformBoxSize.z/2-(this.targetBoxCenter.z+this.targetBoxSize.z/2);var e=new Ke,t=Math.min(this.innerCollisionThreshold,this.targetBoxSize.z/2);return 0>=eE.z||0>gE||gE>t?eE.z>=0||fE>0||Math.abs(fE)>t?Math.abs(uE)>t&&Math.abs(pE)>t?(e.copy(this.selectBoxCenter),e.z=this.transformBoxCenter.z,this.selectObjectBoxHelper.box.setFromCenterAndSize(e,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0)):(Math.abs(uE)>Math.abs(pE)||Math.abs(uE)>t||(e.copy(this.transformBoxCenter),e.z=this.targetBoxCenter.z+this.targetBoxSize.z/2-this.selectBoxSize.z/2,this.selectObjectBoxHelper.box.setFromCenterAndSize(e,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.updateMatrixWorld(!0)),void(Math.abs(uE)>Math.abs(pE)&&(e.copy(this.transformBoxCenter),e.z=this.targetBoxCenter.z-this.targetBoxSize.z/2+this.selectBoxSize.z/2,this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),this.selectObjectBoxHelper.box.setFromCenterAndSize(e,this.selectBoxSize),this.selectObjectBoxHelper.updateMatrixWorld(!0)))):(e.copy(this.transformBoxCenter),e.z=this.targetBoxCenter.z+this.targetBoxSize.z/2+this.selectBoxSize.z/2,this.selectObjectBoxHelper.box.setFromCenterAndSize(e,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0)):(e.copy(this.transformBoxCenter),e.z=this.targetBoxCenter.z-this.targetBoxSize.z/2-this.selectBoxSize.z/2,this.selectObjectBoxHelper.box.setFromCenterAndSize(e,this.selectBoxSize),this.selectObjectBoxHelper.box.getCenter(this.selectBoxCenter),void this.selectObjectBoxHelper.updateMatrixWorld(!0))}},{key:"updateBoxHelperFromBox3",value:function(e,t){jg(t)&&(t.getCenter(nE),e.position.copy(nE),e.updateMatrixWorld())}},{key:"update",value:function(e){if(this.enabled&&jg(this.selectedObjectId)){if(tE.copy(e.matrix),eE.setFromMatrixPosition(tE),"translate"===e.mode||"scale"===e.mode)this.updateSelectTransformBoxHelper(tE);else if("rotate"===e.mode)return this.selectTransformBoxHelper.box.copy(this.aabbCollection.getBox(this.selectedObjectId)),this.selectTransformBoxHelper.updateMatrixWorld(!0),this.transformBoxCenter.copy(this.selectTransformBoxHelper.position),this.transformBoxSize.copy(this.selectTransformBoxHelper.scale),this.transformBoxSize.multiplyScalar(2),this.selectObjectBoxHelper.box.copy(this.aabbCollection.getBox(this.selectedObjectId)),this.selectObjectBoxHelper.updateMatrixWorld(!0),this.selectBoxCenter.copy(this.selectTransformBoxHelper.position),this.selectBoxSize.copy(this.selectTransformBoxHelper.scale),void this.selectBoxSize.multiplyScalar(2);var t=this.componentTransformTool.transformControl.object;jg(t)&&t.position.copy(this.selectObjectBoxHelper.position),this.executeCollision(tE),jg(this.targetId)?(this.selectObjectBoxHelper.box.intersectsBox(this.targetBox)||this.targetAABB.resetTranslate(),this.isColliding||this.updateSelectObjectBoxHelper(tE),this.isColliding&&!this._originIsColliding&&this.executeCloseAdsorb(eE),this._originIsColliding&&this.isColliding&&(this.executeContinuousAdsorb(eE),this.selectObjectBoxHelper.box.intersectsBox(this.targetBox)&&this.highLightAdsorbPlane()),this.selectObjectBoxHelper.box.intersectsBox(this.targetBox)||this.targetAABB.resetTranslate(),this._originIsColliding&&!this.isColliding&&this.executeFarAdsorb(eE),this._originIsColliding=this.isColliding):this.updateSelectObjectBoxHelper(tE)}}},{key:"setAdsorbNormal",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(jg(this.selectedObjectId))if(e!==this.selectedObjectId){var i={x:Wg(t.x,0),y:Wg(t.y,0),z:Wg(t.z,0)};if(0===i.x)if(0===i.y)if(0===i.z);else{var n=this.setAdsorbAxisZ(e,i);this.updateTranslate(n.ps,n.offset,i)}else{var r=this.setAdsorbAxisY(e,i);this.updateTranslate(r.ps,r.offset,i)}else{var o=this.setAdsorbAxisX(e,i);this.updateTranslate(o.ps,o.offset,i)}}else console.warn("选中对象与被吸附对象重合");else console.warn("当前选中对象不存在!")}},{key:"setAdsorbAxisX",value:function(e,t){var i=this.selectObjectBoxHelper.position,n=this.selectObjectBoxHelper.size;this.targetId=e;var r=this.aabbCollection.get(e),o=r.position,a={x:o.x+.5*(n.x+r.size.x)*Math.sign(t.x),y:o.y,z:o.z};return{ps:a,offset:{x:a.x-i.x,y:a.y-i.y,z:a.z-i.z}}}},{key:"setAdsorbAxisY",value:function(e,t){var i=this.selectObjectBoxHelper.position,n=this.selectObjectBoxHelper.size;this.targetId=e;var r=this.aabbCollection.getHelper(e),o=r.position,a={x:o.x,y:o.y+.5*(n.y+r.size.y)*Math.sign(t.y),z:o.z};return{ps:a,offset:{x:a.x-i.x,y:a.y-i.y,z:a.z-i.z}}}},{key:"setAdsorbAxisZ",value:function(e,t){var i=this.selectObjectBoxHelper.position,n=this.selectObjectBoxHelper.size;this.targetId=e;var r=this.aabbCollection.getHelper(e),o=r.position,a={x:o.x,y:o.y,z:o.z+.5*(n.z+r.size.z)*Math.sign(t.z)};return{ps:a,offset:{x:a.x-i.x,y:a.y-i.y,z:a.z-i.z}}}},{key:"updateTranslate",value:function(e,t,i){dE.makeTranslation(t.x,t.y,t.z);var n=this.componentTransformTool.transformControl,r=this._collection,o=this.viewerImpl,a=this.selectedObjectId;this.isExternalObject?(r.position.addVectors(e,this.centerOffset),r.updateMatrixWorld(!0),n.object.position.add(t),n.updateMatrixWorld()):(o.componentApplyMatrix2(a,dE,!1),o.setComponentPositionByKey(a,[e.x,e.y,e.z]),o.getScene().expandBoundingBoxWorldBy(n.object)),this.updateSelectTransformBoxHelper(dE),this.updateSelectObjectBoxHelper(dE),this._originIsColliding=!0,this.lastCollidingId=this.targetId,this.targetAABB.setTranslate(Math.sign(i.x),Math.sign(i.y),Math.sign(i.z))}}]),i}(Jg),CE=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e))._needsUpdate=!1,n}return au(i,[{key:"needsUpdate",get:function(){return this._needsUpdate}},{key:"activeLightNum",get:function(){for(var e=0,t=this.length,i=0;t>i;i++)this.get(i).visible&&e++;return e}},{key:"activeShadowLightNum",get:function(){for(var e=0,t=this.length,i=0;t>i;i++){var n=this.get(i);this.get(i).visible&&n.enabledShadow&&e++}return e}},{key:"preUpdate",value:function(){for(var e=this.children,t=this.length,i=0;t>i;i++)e[i].updateRenderTarget()}},{key:"updatePostRender",value:function(){this._needsUpdate=!1}},{key:"updateLights",value:function(e){for(var t=this.children,i=this.length,n=0;i>n;n++)t[n].update(e)}}]),i}(Jg);function IE(e,t){if(null===e||"object"!==nu(e))return e;t=Wg(t,!1);var i=new e.constructor;for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];t&&(r=IE(r,t)),i[n]=r}return i}var xE=new bl,wE=new Dl,ME=new Bl;e.getTimestamp=void 0,e.getTimestamp="undefined"!=typeof performance&&"function"==typeof performance.now&&isFinite(performance.now())?function(){return performance.now()}:function(){return Date.now()};var EE={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:2400000.5};
/**
@license
tween.js - https://github.com/sole/tween.js
Copyright (c) 2010-2012 Tween.js authors.
Easing equations Copyright (c) 2001 Robert Penner http://robertpenner.com/easing/
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/void 0===Date.now&&(Date.now=function(){return(new Date).valueOf()});var BE,SE,bE=(BE=[],{REVISION:"13",getAll:function(){return BE},removeAll:function(){BE=[]},add:function(e){BE.push(e)},remove:function(e){var t=BE.indexOf(e);-1!==t&&BE.splice(t,1)},update:function(e){if(0===BE.length)return!1;var t=0;for(e=void 0!==e?e:"undefined"!=typeof window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance.now():Date.now();BE.length>t;)BE[t].update(e)?t++:BE.splice(t,1);return!0}});bE.Tween=function(e){var t=e,i={},n={},r={},o=1e3,a=0,s=!1,l=!1,c=0,h=null,d=bE.Easing.Linear.None,u=bE.Interpolation.Linear,p=[],g=null,f=!1,m=null,A=null,y=null;for(var v in e)i[v]=parseFloat(e[v],10);this.to=function(e,t){return void 0!==t&&(o=t),n=e,this},this.start=function(e){for(var o in bE.add(this),l=!0,f=!1,h=void 0!==e?e:"undefined"!=typeof window&&void 0!==window.performance&&void 0!==window.performance.now?window.performance.now():Date.now(),h+=c,n){if(n[o]instanceof Array){if(0===n[o].length)continue;n[o]=[t[o]].concat(n[o])}i[o]=t[o],i[o]instanceof Array==!1&&(i[o]*=1),r[o]=i[o]||0}return this},this.stop=function(){return l?(bE.remove(this),l=!1,null!==y&&y.call(t),this.stopChainedTweens(),this):this},this.stopChainedTweens=function(){for(var e=0,t=p.length;t>e;e++)p[e].stop()},this.delay=function(e){return c=e,this},this.repeat=function(e){return a=e,this},this.yoyo=function(e){return s=e,this},this.easing=function(e){return d=e,this},this.interpolation=function(e){return u=e,this},this.chain=function(){return p=arguments,this},this.onStart=function(e){return g=e,this},this.onUpdate=function(e){return m=e,this},this.onComplete=function(e){return A=e,this},this.onStop=function(e){return y=e,this},this.update=function(e){var l;if(h>e)return!0;!1===f&&(null!==g&&g.call(t),f=!0);var y=(e-h)/o,v=d(y=y>1?1:y);for(l in n){var C=i[l]||0,I=n[l];I instanceof Array?t[l]=u(I,v):("string"==typeof I&&(I=C+parseFloat(I,10)),"number"==typeof I&&(t[l]=C+(I-C)*v))}if(null!==m&&m.call(t,v),1==y){if(a>0){for(l in isFinite(a)&&(a-=1),r){if("string"==typeof n[l]&&(r[l]=r[l]+parseFloat(n[l],10)),s){var x=r[l];r[l]=n[l],n[l]=x}i[l]=r[l]}return h=e+c,!0}null!==A&&A.call(t);for(var w=0,M=p.length;M>w;w++)p[w].start(e);return!1}return!0}},bE.Easing={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return 1>(e*=2)?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return 1>(e*=2)?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return 1>(e*=2)?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return 1>(e*=2)?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:1>(e*=2)?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return 1>(e*=2)?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){var t,i=.1;return 0===e?0:1===e?1:(!i||1>i?(i=1,t=.1):t=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/.4))},Out:function(e){var t,i=.1;return 0===e?0:1===e?1:(!i||1>i?(i=1,t=.1):t=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*e)*Math.sin((e-t)*(2*Math.PI)/.4)+1)},InOut:function(e){var t,i=.1,n=.4;return 0===e?0:1===e?1:(!i||1>i?(i=1,t=.1):t=n*Math.asin(1/i)/(2*Math.PI),1>(e*=2)?i*Math.pow(2,10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(e-=1))*Math.sin((e-t)*(2*Math.PI)/n)*.5+1)}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return 1>(e*=2)?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-bE.Easing.Bounce.Out(1-e)},Out:function(e){return 1/2.75>e?7.5625*e*e:2/2.75>e?7.5625*(e-=1.5/2.75)*e+.75:2.5/2.75>e?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return.5>e?.5*bE.Easing.Bounce.In(2*e):.5*bE.Easing.Bounce.Out(2*e-1)+.5}}},bE.Interpolation={Linear:function(e,t){var i=e.length-1,n=i*t,r=Math.floor(n),o=bE.Interpolation.Utils.Linear;return 0>t?o(e[0],e[1],n):t>1?o(e[i],e[i-1],i-n):o(e[r],e[r+1>i?i:r+1],n-r)},Bezier:function(e,t){var i,n=0,r=e.length-1,o=Math.pow,a=bE.Interpolation.Utils.Bernstein;for(i=0;r>=i;i++)n+=o(1-t,r-i)*o(t,i)*e[i]*a(r,i);return n},CatmullRom:function(e,t){var i=e.length-1,n=i*t,r=Math.floor(n),o=bE.Interpolation.Utils.CatmullRom;return e[0]===e[i]?(0>t&&(r=Math.floor(n=i*(1+t))),o(e[(r-1+i)%i],e[r],e[(r+1)%i],e[(r+2)%i],n-r)):0>t?e[0]-(o(e[0],e[0],e[1],e[1],-n)-e[0]):t>1?e[i]-(o(e[i],e[i],e[i-1],e[i-1],n-i)-e[i]):o(e[r?r-1:0],e[r],e[r+1>i?i:r+1],e[r+2>i?i:r+2],n-r)},Utils:{Linear:function(e,t,i){return(t-e)*i+e},Bernstein:function(e,t){var i=bE.Interpolation.Utils.Factorial;return i(e)/i(t)/i(e-t)},Factorial:(SE=[1],function(e){var t,i=1;if(SE[e])return SE[e];for(t=e;t>1;t--)i*=t;return SE[e]=i}),CatmullRom:function(e,t,i,n,r){var o=.5*(i-e),a=.5*(n-t),s=r*r;return(2*t-2*i+o+a)*(r*s)+(-3*t+3*i-2*o-a)*s+o*r+t}}};var kE={LINEAR_NONE:bE.Easing.Linear.None,QUADRACTIC_IN:bE.Easing.Quadratic.In,QUADRACTIC_OUT:bE.Easing.Quadratic.Out,QUADRACTIC_IN_OUT:bE.Easing.Quadratic.InOut,CUBIC_IN:bE.Easing.Cubic.In,CUBIC_OUT:bE.Easing.Cubic.Out,CUBIC_IN_OUT:bE.Easing.Cubic.InOut,QUARTIC_IN:bE.Easing.Quartic.In,QUARTIC_OUT:bE.Easing.Quartic.Out,QUARTIC_IN_OUT:bE.Easing.Quartic.InOut,QUINTIC_IN:bE.Easing.Quintic.In,QUINTIC_OUT:bE.Easing.Quintic.Out,QUINTIC_IN_OUT:bE.Easing.Quintic.InOut,SINUSOIDAL_IN:bE.Easing.Sinusoidal.In,SINUSOIDAL_OUT:bE.Easing.Sinusoidal.Out,SINUSOIDAL_IN_OUT:bE.Easing.Sinusoidal.InOut,EXPONENTIAL_IN:bE.Easing.Exponential.In,EXPONENTIAL_OUT:bE.Easing.Exponential.Out,EXPONENTIAL_IN_OUT:bE.Easing.Exponential.InOut,CIRCULAR_IN:bE.Easing.Circular.In,CIRCULAR_OUT:bE.Easing.Circular.Out,CIRCULAR_IN_OUT:bE.Easing.Circular.InOut,ELASTIC_IN:bE.Easing.Elastic.In,ELASTIC_OUT:bE.Easing.Elastic.Out,ELASTIC_IN_OUT:bE.Easing.Elastic.InOut,BACK_IN:bE.Easing.Back.In,BACK_OUT:bE.Easing.Back.Out,BACK_IN_OUT:bE.Easing.Back.InOut,BOUNCE_IN:bE.Easing.Bounce.In,BOUNCE_OUT:bE.Easing.Bounce.Out,BOUNCE_IN_OUT:bE.Easing.Bounce.InOut},DE=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ru(this,i),(e=t.call(this)).isAvoid=Wg(n.isAvoid,!1),e}return au(i,[{key:"updateFixedFrame",value:function(e){var t=this.length;if(0!==this.length)if(this.visible){for(var i=0;t>i;i++)this.get(i).updateFixedFrame(e);this.isAvoid&&function(e){for(var t=[],i=0,n=e.length;n>i;++i){var r=e.get(i),o=r.element;TE(t,o)[0]?(r.setVisible(!1),r._originShow=!1):(r.setVisible(!0),r._originShow=!0,t.push(o))}}(this)}else for(var n=0;t>n;n++)this.get(n).setVisible(!1)}}]),i}(Jg);function TE(e,t){for(var i=0,n=e.length;n>i;i++){var r=e[i];if(!(t.offsetLeft>r.offsetLeft+r.offsetWidth||r.offsetLeft>t.offsetLeft+t.offsetWidth||t.offsetTop>r.offsetTop+r.offsetHeight||r.offsetTop>t.offsetTop+t.offsetHeight))return[!0,r]}return[!1]}function RE(e,t,i,n,r,o,a,s,l,c){this._tweens=e,this._tweenjs=t,this._startObject=IE(i),this._stopObject=IE(n),this._duration=r,this._delay=o,this._easingFunction=a,this._update=s,this._complete=l,this.cancel=c,this.needsStart=!0}function UE(){this._tweens=[]}Object.defineProperties(RE.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}}),RE.prototype.cancelTween=function(){this._tweens.remove(this)},Object.defineProperties(UE.prototype,{length:{get:function(){return this._tweens.length}}}),UE.prototype.add=function(e){if(!jg((e=Wg(e,Wg.EMPTY_OBJECT)).startObject)||!jg(e.stopObject))throw new ZM("options.startObject and options.stopObject are required.");if(!jg(e.duration)||0>e.duration)throw new ZM("options.duration is required and must be positive.");if(0===e.duration)return jg(e.complete)&&e.complete(),new RE(this);var t=e.duration/EE.SECONDS_PER_MILLISECOND,i=Wg(e.delay,0),n=i/EE.SECONDS_PER_MILLISECOND,r=Wg(e.easingFunction,kE.LINEAR_NONE),o=e.startObject,a=new bE.Tween(o);a.to(IE(e.stopObject),t),a.delay(n),a.easing(r),jg(e.update)&&a.onUpdate((function(){e.update(o)})),a.onComplete(Wg(e.complete,null)),a.repeat(Wg(e._repeat,0));var s=new RE(this,a,e.startObject,e.stopObject,e.duration,i,r,e.update,e.complete,e.cancel);return this._tweens.push(s),s},UE.prototype.addProperty=function(e){var t=(e=Wg(e,Wg.EMPTY_OBJECT)).object,i=e.property,n=e.startValue,r=e.stopValue;if(!jg(t)||!jg(e.property))throw new ZM("options.object and options.property are required.");if(!jg(t[i]))throw new ZM("options.object must have the specified property.");if(!jg(n)||!jg(r))throw new ZM("options.startValue and options.stopValue are required.");return this.add({startObject:{value:n},stopObject:{value:r},duration:Wg(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:function(e){t[i]=e.value},complete:e.complete,cancel:e.cancel,_repeat:e._repeat})},UE.prototype.addAlpha=function(e){var t=(e=Wg(e,Wg.EMPTY_OBJECT)).material;if(!jg(t))throw new ZM("options.material is required.");var i=[];for(var n in t.uniforms)t.uniforms.hasOwnProperty(n)&&jg(t.uniforms[n])&&jg(t.uniforms[n].alpha)&&i.push(n);if(0===i.length)throw new ZM("material has no properties with alpha components.");return this.add({startObject:{alpha:Wg(e.startValue,0)},stopObject:{alpha:Wg(e.stopValue,1)},duration:Wg(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:function(e){for(var n=i.length,r=0;n>r;++r)t.uniforms[i[r]].alpha=e.alpha},complete:e.complete,cancel:e.cancel})},UE.prototype.addOffsetIncrement=function(e){var t=(e=Wg(e,Wg.EMPTY_OBJECT)).material;if(!jg(t))throw new ZM("material is required.");if(!jg(t.uniforms.offset))throw new ZM("material.uniforms must have an offset property.");var i=t.uniforms;return this.addProperty({object:i,property:"offset",startValue:i.offset,stopValue:i.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})},UE.prototype.remove=function(e){if(!jg(e))return!1;var t=this._tweens.indexOf(e);return-1!==t&&(e.tweenjs.stop(),jg(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0)},UE.prototype.removeAll=function(){for(var e=this._tweens,t=0;e.length>t;++t){var i=e[t];i.tweenjs.stop(),jg(i.cancel)&&i.cancel()}e.length=0},UE.prototype.contains=function(e){return jg(e)&&-1!==this._tweens.indexOf(e)},UE.prototype.get=function(e){if(!jg(e))throw new ZM("index is required.");return this._tweens[e]},UE.prototype.update=function(t){var i=this._tweens,n=0;for(t=jg(t)?t/EE.SECONDS_PER_MILLISECOND:e.getTimestamp();i.length>n;){var r=i[n],o=r.tweenjs;r.needsStart?(r.needsStart=!1,o.start(t)):o.update(t)?n++:(o.stop(),i.splice(n,1))}};var FE=function(e,t){this.cls=e,this.size=t,this._pool=[],this.counter=0};FE.prototype.init=function(e){for(var t=0,i=this.size;i>t;t+=1){var n=new this.cls;n.init(e),this._pool[t]=n}},FE.prototype.resize=function(e,t){this.size=e,this.collect(),this.init(t)},FE.prototype.get=function(e){return this.size>this.counter?(this._pool[this.counter].spawn(e),this.counter+=1,this.counter-1):(Bu.log("the pool is full"),-1)},FE.prototype.clear=function(){for(var e=0,t=this.size;t>e;e+=1)this._pool[e].clear();this.counter=0},FE.prototype.destroy=function(){this.collect()},FE.prototype.collect=function(){this._pool=[],this.counter=0},FE.prototype.getObjects=function(){return this._pool};var QE=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;ru(this,i);var o=new Ni;return o.setAttribute("position",new Ai(new Float32Array(72),3)),r=t.call(this,o,new Sa({color:n})),void 0!==e&&r.updateBBox(e),r}return i}(La);QE.prototype.unload=function(){},QE.prototype.updateBBox=function(e){var t=e.min,i=e.max,n=this.geometry.attributes.position.array;n[0]=i.x,n[1]=i.y,n[2]=i.z,n[3]=t.x,n[4]=i.y,n[5]=i.z,n[6]=t.x,n[7]=i.y,n[8]=i.z,n[9]=t.x,n[10]=t.y,n[11]=i.z,n[12]=t.x,n[13]=t.y,n[14]=i.z,n[15]=i.x,n[16]=t.y,n[17]=i.z,n[18]=i.x,n[19]=t.y,n[20]=i.z,n[21]=i.x,n[22]=i.y,n[23]=i.z,n[24]=i.x,n[25]=i.y,n[26]=t.z,n[27]=t.x,n[28]=i.y,n[29]=t.z,n[30]=t.x,n[31]=i.y,n[32]=t.z,n[33]=t.x,n[34]=t.y,n[35]=t.z,n[36]=t.x,n[37]=t.y,n[38]=t.z,n[39]=i.x,n[40]=t.y,n[41]=t.z,n[42]=i.x,n[43]=t.y,n[44]=t.z,n[45]=i.x,n[46]=i.y,n[47]=t.z,n[48]=i.x,n[49]=i.y,n[50]=i.z,n[51]=i.x,n[52]=i.y,n[53]=t.z,n[54]=t.x,n[55]=i.y,n[56]=i.z,n[57]=t.x,n[58]=i.y,n[59]=t.z,n[60]=t.x,n[61]=t.y,n[62]=i.z,n[63]=t.x,n[64]=t.y,n[65]=t.z,n[66]=i.x,n[67]=t.y,n[68]=i.z,n[69]=i.x,n[70]=t.y,n[71]=t.z,this.geometry.attributes.position.needsUpdate=!0,this.geometry.computeBoundingBox(),this.geometry.computeBoundingSphere(),this.matrixAutoUpdate=!1};var LE=function(e){lu(i,e);var t=pu(i);function i(){var e;return ru(this,i),(e=t.call(this,Vp.EXTERNALSCENEMANAGER,{pickableType:Rd.Geometry,priority:20})).globalSpace=!0,e}return i}(cm);LE.prototype.getNode=function(e){for(var t=this.children,i=0,n=t.length;n>i;i+=1)if(t[i].name===e.toString())return t[i];return null},LE.prototype.removeNodeByName=function(e){var t=this.getNode(e);return!!t&&(this.remove(t),!0)},LE.prototype.clearNodes=function(){this.clear()},LE.prototype.setNodeVisibleByName=function(e,t){var i=this.getNode(e);return!!i&&(i.visible=t,!0)},LE.prototype.showAllNodes=function(){for(var e=this.children,t=0,i=e.length;i>t;t+=1)e[t].visible=!0},LE.prototype.hideAllNodes=function(){for(var e=this.children,t=0,i=e.length;i>t;t+=1)e[t].visible=!1};var OE=function(e){lu(i,e);var t=pu(i);function i(){var e;return ru(this,i),(e=t.call(this,Vp.EXTRUDEBODYMANAGER,{pickableType:Rd.Geometry,priority:20})).globalSpace=!0,e.mapColorToNodeId={},e.selectionIds={},e.selectionColor={red:50,green:224,blue:240,alpha:.3},e.selectionEdgeColor={red:50,green:224,blue:240,alpha:1},e}return i}(cm);function NE(e){this.scene=e,this.lightArray=void 0,this.lightHelperArray=void 0,this.lightHelper=!1,this._currentPreset=void 0,this._intensityFactor=xd.LightIntensityFactor,this.defaultShadowLightDir=new Ke(100,-100,-160),this.defaultLightDir=new Ke(100,-100,-160),this.shadowLightDir=new Ke(100,-100,-160),this.lightDir=new Ke(100,-100,-160),this._ambientLight=void 0,this.setLightPreset(xd.LightPreset)}OE.prototype.addNode=function(e,t,i,n,r,o){o=void 0===o||o;var a=this.getNode(e);if(a)return a.material=n,this.setColorInMap(a.name,n),void((a=this.getNode("wireframe_"+e))&&(a.material=r,this.setColorInMap(a.name,r)));var s=[],l=0;if(t.belong&&"user"===t.belong)s=t.roomBoundary,l=t.offsetZ;else{t.version&&"2.0"===t.version&&(t=t.loops&&t.loops.length>0?t.loops[0]:[]);for(var c=t.length,h=0;c>h;h+=1)for(var d=t[h],u=d.length,p=0;u-1>p;p+=1){var g=d[p];s.push(new ke(g.x,g.y)),0===h&&0===p&&(l=g.z)}s.length>0&&s.push(s[0])}var f=new $l(s),m=new Us(f,{amount:i});n.depthTest=!o,m.boundingBox||m.computeBoundingBox();var A=new nn(m,n);A.name=e.toString(),A.translateZ(l),this.setColorInMap(A.name,n),this.add(A),this.updateMatrixWorld(!0);var y=A.geometry.faces,v=[];for(h=0,u=y.length;u>h;h+=1)v.push(y[h].a),v.push(y[h].b),v.push(y[h].c);var C=A.geometry.vertices,I=[];for(h=0,u=C.length;u>h;h+=1)I.push(C[h].x),I.push(C[h].y),I.push(C[h].z);var x=af(I,v,Math.PI/3.5),w=new Ni;w.setIndex(new Mi(x,1)),w.setAttribute("position",new Bi(I,3)),r.depthTest=!o,r.transparent=!0;var M=new La(w,r);M.translateZ(l),M.name="wireframe_"+e,this.setColorInMap(M.name,r),this.add(M),this.updateMatrixWorld(!0)},OE.prototype.setColorInMap=function(e,t){this.mapColorToNodeId[e]={red:255*t.color.r,green:255*t.color.g,blue:255*t.color.b,alpha:t.opacity}},OE.prototype.createMaterial=function(e){return cA.createStandardMaterial(e)},OE.prototype.setNodeMaterial=function(e,t,i){var n=this.getNode(e);if(n){var r=n.material;for(var o in t){r.hasOwnProperty(a=o)&&(r[a]="color"===a?new pi(t[o]):t[o])}}if(n=this.getNode("wireframe_"+e)){r=n.material;for(var o in i){var a;r.hasOwnProperty(a=o)&&(r[a]="color"===a?new pi(i[o]):i[o])}}},OE.prototype.getNode=function(e){for(var t=this.children,i=0,n=t.length;n>i;i+=1)if(t[i].name===e.toString())return t[i];return null},OE.prototype.removeNodeById=function(e){var t=this.getNode(e);return t&&(delete this.mapColorToNodeId[t.name],this.remove(t)),!!(t=this.getNode("wireframe_"+e))&&(delete this.mapColorToNodeId[t.name],this.remove(t),!0)},OE.prototype.clearNodes=function(){this.clear(),this.mapColorToNodeId={}},OE.prototype.setNodeVisibleById=function(e,t){var i=this.getNode(e);return i&&(i.visible=t),!!(i=this.getNode("wireframe_"+e))&&(i.visible=t,!0)},OE.prototype.showAllNodes=function(){for(var e=this.children,t=0,i=e.length;i>t;t+=1)e[t].visible=!0},OE.prototype.hideAllNodes=function(){for(var e=this.children,t=0,i=e.length;i>t;t+=1)e[t].visible=!1},OE.prototype.setNodeColorById=function(e,t){var i=this.getNode(e);if(i){var n=i.material;return n.color=new pi(t.red/255,t.green/255,t.blue/255),n.opacity=t.alpha,t!==this.selectionColor&&t!==this.selectionEdgeColor&&this.setColorInMap(i.name,n),!0}return!1},OE.prototype.getNodeColorById=function(e){return this.mapColorToNodeId[e]},OE.prototype.setWireframeColorById=function(e,t){return this.setNodeColorById("wireframe_"+e,t)},OE.prototype.getWireframeColorById=function(e){return this.getNodeColorById("wireframe_"+e)},OE.prototype.applySelection=function(e){this.clearSelection();var t=this.selectionIds,i=this.mapColorToNodeId,n=e.sceneState.selectionSet;for(var r in n)i[r]&&(t[r]=!0,this.setNodeColorById(r,this.selectionColor),this.setWireframeColorById(r,this.selectionEdgeColor))},OE.prototype.clearSelection=function(){var e=this.mapColorToNodeId;if(this.selectionIds){for(var t=this.children,i=0,n=t.length;n>i;i+=1){var r=t[i],o=e[r.name];r.material.color=new pi(o.red/255,o.green/255,o.blue/255),r.material.opacity=o.alpha}this.selectionIds={}}},OE.prototype.applyHover=function(e){var t=e.sceneState;if(t.hoverId&&!t.isSelected(t.hoverId)){var i=this.getNode(t.hoverId);if(i){this.hoveredId=t.hoverId;var n=this.mapColorToNodeId[this.hoveredId],r=cA.getHoverColorByColor({r:n.red/255,g:n.green/255,b:n.blue/255,a:n.alpha});i.material.color.setRGB(r.r,r.g,r.b),i.material.opacity=r.a}}},OE.prototype.clearHover=function(){var e=this.hoveredId;if(e)if(this.selectionIds[e])this.hoveredId=null;else{var t=this.getNode(e);if(t){var i=this.mapColorToNodeId[e];t.material.color.setRGB(i.red/255,i.green/255,i.blue/255),t.material.opacity=i.alpha,this.hoveredId=null}else this.hoveredId=null}},NE.prototype.destroy=function(){this.scene=void 0,this._clearLights(),this._clearLightHelpers()},NE.prototype.currentLights=function(){if(this.lightArray)return[].concat(this.lightArray)},NE.prototype.setLightPreset=function(e){this._currentPreset!==e&&(xd.LightPreset=e,this._currentPreset=e,this._clearLights(),this._clearLightHelpers(),this._createLights(),this.setIntensityFactor(this._intensityFactor),this.lightHelper&&this._createLightHelpers())},NE.prototype.getLightPreset=function(){return this._currentPreset},NE.prototype.updateLights=function(e){if(this.lightArray){var t=new Ke(0,0,1),i=Math.PI/4,n=1e3,r=e.position.clone();r.sub(e.target),r.normalize();var o=null;if(0===this._currentPreset){var a=this.lightArray[1];a.position.set(r.x,r.y,r.z),a.updateMatrixWorld(!0)}else if(1===this._currentPreset||3===this._currentPreset){var s=this.lightArray[2],l=this.lightArray[3];o=r.clone().applyAxisAngle(t,-1.2*i),s.position.copy(o).normalize(),s.position.multiplyScalar(n),s.position.z=600,s.updateMatrixWorld(),o=r.clone().applyAxisAngle(t,Number(i)),l.position.copy(o).normalize(),l.position.multiplyScalar(n),l.position.z=600,l.updateMatrixWorld()}else if(2===this._currentPreset){var c=this.lightArray[1],h=this.scene.getBoundingBox().getCenter(new Ke),d=new Ke(h.x-(o=this.lightDir).x,h.y-o.y,h.z-o.z);c.position.copy(d),c.target.position.set(h.x,h.y,h.z),c.target.updateMatrixWorld(!0),c.updateMatrixWorld(!0)}else{c=this.lightArray[1];o=r.clone().applyAxisAngle(t,-2*i),c.position.copy(o).normalize(),c.position.multiplyScalar(n),c.position.z=600,c.updateMatrixWorld()}this.lightHelperArray&&this.updateLightHelper()}},NE.prototype.updateLightHelper=function(){for(var e=0;this.lightHelperArray.length>e;e+=1){var t=this.lightHelperArray[e];t.update(),t.updateMatrixWorld(!0)}},NE.prototype.setIntensityFactor=function(e){if(!isNaN(e)){var t=Number(e);if(t>=0&&(this._intensityFactor=t,xd.LightIntensityFactor=this._intensityFactor,this.lightArray))for(var i=0,n=this.lightArray.length;n>i;i+=1){var r=this.lightArray[i];r.intensity=r.initIntensity*this._intensityFactor}}},NE.prototype.getIntensityFactor=function(){return this._intensityFactor},NE.prototype.setAmbientLightIntensity=function(e){if(this._ambientLight){if(isNaN(e))return;var t=Number(e);if(0>t)return;this._ambientLight.intensity=t}},NE.prototype.getAmbientLightIntensity=function(){if(this._ambientLight)return this._ambientLight.intensity},NE.prototype._createLights=function(){var e=null;switch(this._currentPreset){case 0:e=this._lightPreset0();break;case 1:e=this._lightPreset1();break;case 2:e=this._lightPreset2();break;case 3:e=this._lightPreset3();break;case 4:e=this._lightPreset4();break;default:(e=this._commonLights(.72))[1].color.setHex(16777215)}if(this.lightArray=e,this.scene&&this.lightArray)for(var t=0,i=this.lightArray.length;i>t;t+=1)this.scene.add(this.lightArray[t]),this.lightArray[t].updateMatrixWorld()},NE.prototype._clearLights=function(){if(this.lightArray){for(var e=0;this.lightArray.length>e;e+=1){var t=this.lightArray[e];t.parent&&t.parent.remove(t)}this.lightArray=void 0}this._ambientLight=void 0},NE.prototype._createLightHelpers=function(){if(this.lightArray)for(var e=0;this.lightArray.length>e;e+=1){var t=this.lightArray[e];if(t instanceof fc){var i=new Oh(t,6e3);this.lightHelperArray||(this.lightHelperArray=[]),this.lightHelperArray.push(i),this.scene&&this.scene.add(i)}}},NE.prototype._clearLightHelpers=function(){if(this.lightHelperArray){for(var e=0;this.lightHelperArray.length>e;e+=1){var t=this.lightHelperArray[e];t.parent&&t.parent.remove(t)}this.lightHelperArray=void 0}},NE.prototype._commonLights=function(e,t){var i=[],n=new mc(16777215,.6);n.intensity=.3,n.initIntensity=n.intensity,i.push(n),this._ambientLight=n;var r=new fc(16777215,1);return r.color.setHex(14800580),r.position.set(-100,100,160),r.intensity=.72,r.initIntensity=r.intensity,r.distance=300,r.updateMatrixWorld(),i.push(r),xd.EnableShadow&&(r.castShadow=!0,r.shadow.camera.near=0,r.shadow.camera.far=5e6,r.shadow.camera.left=-2e5,r.shadow.camera.right=2e5,r.shadow.camera.top=2e5,r.shadow.camera.bottom=-2e5,r.distance=1110,r.shadow.mapSize.height=1028,r.shadow.mapSize.width=1028),i},NE.prototype._lightPreset0=function(){var e=null;if(!xd.EnableLightmap){e=[];var t=.3,i=new tc(16777215,16777215,t);e.push(i),i.initIntensity=t,i.position.set(0,0,500),i.updateMatrixWorld(!0);var n=new fc(16777215,t=.7);e.push(n),n.initIntensity=t,n.color.setHSL(.1,.95,1),n.position.set(-1,1,.75),n.position.multiplyScalar(50)}return e},NE.prototype._lightPreset1=function(){var e=this._commonLights(.4,.56);e||(e=[]);var t=new fc(16777215,1);e.push(t),t.color.setHex(16777215),t.position.set(100,100,100),t.intensity=.4,t.initIntensity=t.intensity,t.updateMatrixWorld();var i=new fc(16777215,1);return e.push(i),i.color.setHex(16777215),i.position.set(-100,-100,100),i.intensity=.18,i.initIntensity=i.intensity,i.updateMatrixWorld(),e},NE.prototype._lightPreset2=function(){var e=this._commonLights();e||(e=[]);var t=new fc(16777215,1);e.push(t),t.position.set(60,130,80),t.intensity=.28,t.initIntensity=t.intensity,t.updateMatrixWorld();var i=new fc(16777215,1);e.push(i),i.color.setHex(8100788),i.position.set(100,-100,80),i.intensity=.22,i.initIntensity=i.intensity,i.updateMatrixWorld();var n=new fc(16777215,1);return e.push(n),n.color.setHex(8100788),n.position.set(-140,-50,80),n.intensity=.18,n.initIntensity=n.intensity,n.updateMatrixWorld(),e},NE.prototype._lightPreset3=function(){var e=this._commonLights(.4,.56);e||(e=[]);var t=new fc(16777215,1);e.push(t),t.color.setHex(16777215),t.position.set(100,100,100),t.intensity=.22,t.initIntensity=t.intensity,t.updateMatrixWorld();var i=new fc(16777215,1);return e.push(i),i.color.setHex(16777215),i.position.set(-100,-100,100),i.intensity=.18,i.initIntensity=i.intensity,i.updateMatrixWorld(),e},NE.prototype._lightPreset4=function(){var e=this._commonLights(.4,.56);e||(e=[]);var t=new fc(16777215,1);e.push(t),t.color.setHex(16777215),t.position.set(100,100,100),t.intensity=.4,t.initIntensity=t.intensity,t.updateMatrixWorld();var i=new fc(16777215,1);return e.push(i),i.color.setHex(16777215),i.position.set(-100,-100,100),i.intensity=.1,i.initIntensity=i.intensity,i.updateMatrixWorld(),e[0].intensity=.3,e[1].intensity=.2,this.enableShadowLight(),e},NE.prototype.enableShadowLight=function(){this.lightCastShadow?this.lightCastShadow.visible=!0:(this.lightCastShadow=new fc(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()},NE.prototype.getLightDirFromAltitudeAndAzimuth=function(e,t){var i=Math.sin(t),n=Math.cos(t);t>0&&(n=-n);var r=Math.sin(e)/Math.cos(e);return new Ke(i,n,r).multiplyScalar(-100)},NE.prototype.disableShadowLight=function(){this.lightCastShadow&&(this.lightCastShadow.visible=!1)},NE.prototype.updateShadowLight=function(){if(null!==this.scene.geometryGroup.boundingBox&&this.lightCastShadow&&this.lightCastShadow.visible){var e=this.scene.getBoundingBox().clone(),t=new Ke,i=e.getSize(t);i.multiplyScalar(.2),e.min.sub(i),e.max.add(i);var n=e.getCenter(new Ke),r=this.shadowLightDir,o=new Ke(n.x-r.x,n.y-r.y,n.z-r.z);this.lightCastShadow.position.set(o.x,o.y,o.z),this.lightCastShadow.target.position.set(n.x,n.y,n.z),this.lightCastShadow.target.updateMatrixWorld(!0),this.lightCastShadow.updateMatrixWorld(!0);var a=this.lightCastShadow.shadow.camera;a.position.set(o.x,o.y,o.z),a.lookAt(n),a.updateMatrixWorld(),a.matrixWorldInverse.copy(a.matrixWorld).invert(),i=e.getSize(new Ke),e.min.z=e.min.z-.05*i.z;var s=new Jt(new Ke(0,0,1),-e.min.z),l=s.normal.dot(r),c=e.max.clone(),h=-(c.dot(s.normal)+s.constant)/l,d=new Ke;d.copy(r).multiplyScalar(h).add(c),e.expandByPoint(d),e.applyMatrix4(a.matrixWorldInverse),a.left=e.min.x,a.right=e.max.x,a.top=e.max.y,a.bottom=e.min.y,a.far=1.5*-e.min.z,a.near=-e.max.z,a.updateProjectionMatrix()}},NE.prototype.setShadowAttributes=function(e){var t=this.lightCastShadow.shadow.camera,i=this.lightCastShadow.shadow,n=this.lightCastShadow;e.position&&(t.position.copy(e.position),n.position.copy(e.position)),e.target&&(t.lookAt(e.target),n.target.position.copy(e.target)),e.far&&(t.far=e.far),e.near&&(t.near=e.near),e.mapSizeWidth&&(i.mapSize.width=e.mapSizeWidth),e.mapSizeHeight&&(i.mapSize.height=e.mapSizeHeight),e.bias&&(i.bias=e.bias),n.updateMatrixWorld(!0),n.target.updateMatrixWorld(!0),t.updateMatrixWorld(!0),t.matrixWorldInverse.copy(t.matrixWorld).invert(),t.updateProjectionMatrix()},NE.prototype.resetShadowAttributes=function(){this.lightCastShadow.shadow.mapSize.width=1024,this.lightCastShadow.shadow.mapSize.height=1024,this.lightCastShadow.shadow.bias=-9e-4,this.shadowLightDir=new Ke(100,-100,-160),this.updateShadowLight()},NE.prototype.disableLights=function(){if(this.lightArray)for(var e=0,t=this.lightArray.length;t>e;e+=1)this.lightArray[e].visible=!1},NE.prototype.enableLights=function(){if(this.lightArray)for(var e=0,t=this.lightArray.length;t>e;e+=1)this.lightArray[e].visible=!0};var PE=new ke,GE=new He,KE=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this)).type="Scene",n.autoUpdate=!1,n.tempVector3=new Ke,n.objectGroups=new cm,n.add(n.objectGroups),n.geometryGroup=new cm(Vp.GEOMETRY,{pickableType:Rd.Geometry,globalSpace:!0}),n.geometryGroup.boundingBox=new He,n.pool=new FE(Bv,0),n.expandScalar=1.01,n.clipPlanes=null,n.fillClipPlane=null,n.areaNode=null,n.extrudeBodyManager=null,n.externalScene=null,n.externalComponentManager=null,n.customPlaneManager=null,n.axisGridManager=null,n.lightManager=new NE(du(n)),n.selectedMeshes=[],n.nonSelectedMeshes=[],n.selectedInstanceMeshes=[],n.nonSelectedInstanceMeshes=[],n.sunDirection=new Ke(-1,1.6,1),n._planIntersect=new Ke,n._renderedObjects=[],n.componentTransformControl=void 0,n._viewerImpl=e,n._projectorLightCollection=new CE,n.addObject(n._projectorLightCollection),n._aabbCollection=new $M(du(n)),n.addObject(n._aabbCollection),n._adsorbControl=new vE(du(n)),n.addObject(n._adsorbControl),n.renderer=void 0,n._tweens=new UE,n.frameState={scene:du(n),viewerImpl:void 0,frameNumber:0,maxAnisotropy:0,pixelRatio:void 0,bufferSize:PE},n}return i}(Vo);KE.prototype.createCapStencilMaterials=function(){this.backMaterial||(this.backMaterial=cA.createStandardMaterial({color:16711680,colorWrite:!1,depthWrite:!1,depthTest:!1,side:1,stencilWrite:!0,stencilFunc:ue,stencilRef:1,stencilFuncMask:255,stencilFail:oe,stencilZFail:oe,stencilZPass:se}),this.frontMaterial=cA.createStandardMaterial({color:255,colorWrite:!1,depthWrite:!1,depthTest:!1,side:0,stencilWrite:!0,stencilFunc:ue,stencilRef:1,stencilFuncMask:255,stencilFail:oe,stencilZFail:oe,stencilZPass:le}),this.backInstanceMaterial=cA.createStandardMaterial({color:16711680,colorWrite:!1,depthWrite:!1,depthTest:!1,side:1,stencilWrite:!0,stencilFunc:ue,stencilRef:1,stencilFuncMask:255,stencilFail:oe,stencilZFail:oe,stencilZPass:se}),this.backInstanceMaterial.defines.USE_INSTANCE="",this.backInstanceMaterial.defines.USE_INSTANCE_NORMAL="",this.frontInstanceMaterial=cA.createStandardMaterial({color:255,colorWrite:!1,depthWrite:!1,depthTest:!1,side:0,stencilWrite:!0,stencilFunc:ue,stencilRef:1,stencilFuncMask:255,stencilFail:oe,stencilZFail:oe,stencilZPass:le}),this.frontInstanceMaterial.defines.USE_INSTANCE="",this.frontInstanceMaterial.defines.USE_INSTANCE_NORMAL="")},KE.prototype.destroy=function(){this.lightManager.destroy(),this.lightManager=null,this.clearAll(),this.pool.destroy(),this.pool=null,this.geometryGroup=null,this.objectGroups=null,this.clipPlanes=null,this.fillClipPlane=null,this.boundaryEdge=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,this._renderedObjects=null},KE.prototype.resizePool=function(e){xd.MergeComponent||(this.geometryGroup.clear(),this.pool.resize(e,{parent:this.geometryGroup}))},KE.prototype.clearAll=function(){this.pool.clear(),this.autoUpdate=!1},KE.prototype.getRootNode=function(){return this.geometryGroup},KE.prototype.hasBoundingBox=function(){return!!this.geometryGroup.boundingBox},KE.prototype.getBoundingBox=function(){var e=this.getBoundingBoxWorld();return e.applyMatrix4(this.geometryGroup.matrix),e},KE.prototype.getOriginalBoundingBoxWorld=function(){return this.originalBoundingBoxWorld},KE.prototype.getGeometryBoundingBox=function(){var e=new He;e.copy(this.geometryGroup.boundingBox);var t=new Ke,i=e.getSize(t);return i.multiplyScalar(this.expandScalar-1),e.min.sub(i),e.max.add(i),e.applyMatrix4(this.geometryGroup.matrix),e},KE.prototype.getBoundingBoxWorld=function(){var e=new He,t=new Ke;return function(){e.copy(this.geometryGroup.boundingBox),this.componentTransformControl&&e.union(this.componentTransformControl.getBoundingBox());var i=e.getSize(t);return i.multiplyScalar(this.expandScalar-1),e.min.sub(i),e.max.add(i),this.fillClipPlane&&this.fillClipPlane.visible?e.expandByObject(this.fillClipPlane):this.clipPlanes&&this.clipPlanes.visible&&e.expandByObject(this.clipPlanes),e}}(),KE.prototype.setBoundingBoxWorld=function(e){this.geometryGroup.boundingBox?this.geometryGroup.boundingBox.copy(e):this.geometryGroup.boundingBox=e;var t=e.clone();if(this.clipPlanes&&this.clipPlanes.visible){var i=t.getSize(new Ke);i.multiplyScalar(this.expandScalar-1),t.min.sub(i),t.max.add(i),this.clipPlanes.setSectionBox(t.min,t.max)}if(this.fillClipPlane&&this.fillClipPlane.visible){var n=new Ke;t.getSize(n),n.multiplyScalar(.05),t.min.sub(n),t.max.add(n),this.fillClipPlane.resize(t.getSize(n),t.getCenter(new Ke))}},KE.prototype.expandBoundingBoxWorldBy=function(e){if(e){var t=e;e instanceof Array==!1&&(t=[e]);for(var i=0,n=t.length;n>i;i+=1){var r=t[i];(r instanceof nn||r instanceof Yt)&&this.geometryGroup.boundingBox.expandByObject(r)}}},KE.prototype.getTransformMatrixGlobal=function(){return this.transformMatrix},KE.prototype.getMatrixGlobal=function(){return this.geometryGroup.matrix.clone()},KE.prototype.getGlobalScaleFactor=function(){return this.geometryGroup.matrix.elements[0]},KE.prototype.getMatrixWorldGlobal=function(){return this.geometryGroup.matrixWorld},KE.prototype.getRotationGlobal=function(){if(this.geometryGroup.matrix){var e=new yt;e.extractRotation(this.geometryGroup.matrix);var t=new bt;return t.setFromRotationMatrix(e),t}return null},KE.prototype.getTrackingPointFromBoundingBox=function(e,t){if(!this.geometryGroup.boundingBox)return null;var i=t.origin,n=this.getBoundingBox(),r=0,o=[new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke,new Ke];o[0].set(n.min.x,n.min.y,n.min.z),o[1].set(n.min.x,n.min.y,n.max.z),o[2].set(n.min.x,n.max.y,n.min.z),o[3].set(n.min.x,n.max.y,n.max.z),o[4].set(n.max.x,n.min.y,n.min.z),o[5].set(n.max.x,n.min.y,n.max.z),o[6].set(n.max.x,n.max.y,n.min.z),o[7].set(n.max.x,n.max.y,n.max.z);for(var a=0;8>a;a+=1){var s=new Ke;s.subVectors(o[a],i);var l=s.dot(e);l>r&&(r=l)}var c=e.clone().multiplyScalar(r),h=i.clone().add(c),d=new Jt;return d.setFromNormalAndCoplanarPoint(e,h),t.intersectPlane(d,new Ke)},KE.prototype.getNearDepthByRect=function(e,t){var i=1/0,n=new yt,r=new Ke;function o(e){r.setFromMatrixPosition(e.matrixWorld),r.applyProjection(n);var t=r.z;t>=i||0>t||t>1||(i=t)}function a(e,t){if(t instanceof Bv){if(!function(e,t){if(!t.boundingBox||t instanceof nn){var i=t.geometry;null===i.boundingBox&&i.computeBoundingBox(),GE.copy(i.boundingBox),GE.applyMatrix4(t.matrixWorld)}else GE.copy(t.boundingBox),GE.applyMatrix4(t.matrixWorld);return e.intersectsBox(GE)}(e,t))return;o(t)}else if(t.worldBoundingBox){if(!e.intersectsBox(t.worldBoundingBox))return;o(t)}var i=t.children;if(i)for(var n=0,r=i.length;r>n;n++){var s=i[n];s.visible&&a(e,s)}}n.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);for(var s=this.geometryGroup.children,l=0,c=s.length;c>l;l++){var h=s[l];h.visible&&a(e,h)}return i},KE.prototype.getExpandScalar=function(){return this.expandScalar},KE.prototype.hasClipPlanes=function(){return null!==this.clipPlanes},KE.prototype.getClipPlanes=function(e){var t=this.getBoundingBox(),i=t.getSize(new Ke),n=t.getCenter(this.tempVector3);return null===this.clipPlanes?(this.clipPlanes=new IM(i,n),this.objectGroups.add(this.clipPlanes)):e&&this.clipPlanes.setSectionBox(t.min,t.max),this.clipPlanes},KE.prototype.setClipPlanes=function(e){if(e){var t=this.getClipPlanes();e.setFromCenterAndSize(e.getCenter(new Ke),e.getSize(new Ke).multiplyScalar(this.expandScalar)),t.setSectionBox(e.min,e.max)}},KE.prototype.resetClipPlanes=function(){var e=this.getClipPlanes(),t=this.getBoundingBox();e.reset(),t.max.x!==-1/0&&t.max.y!==-1/0&&t.max.z!==-1/0&&t.min.x!==1/0&&t.min.y!==1/0&&t.min.z!==1/0?(t.setFromCenterAndSize(t.getCenter(new Ke),t.getSize(new Ke)),e.setSectionBox(t.min,t.max)):this.clipPlanes=null},KE.prototype.hasFillClipPlanes=function(){return null!=this.fillClipPlane},KE.prototype.getFillClipPlane=function(){var e=new He;e.copy(this.geometryGroup.boundingBox),e.applyMatrix4(this.geometryGroup.matrix);var t=e.getSize(new Ke);t.multiplyScalar(.05),e.min.sub(t),e.max.add(t);var i=e.getSize(new Ke),n=e.getCenter(new Ke);return null===this.fillClipPlane?(this.fillClipPlane=new jM(i,n),this.objectGroups.add(this.fillClipPlane)):this.fillClipPlane.cubeSize.equals(i)||this.fillClipPlane.resize(i,n),this.fillClipPlane},KE.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())},KE.prototype.getAreaNode=function(){return this.areaNode},KE.prototype.getAxisGridManager=function(){return this.axisGridManager},KE.prototype.getExtrudeBodyManager=function(){return null===this.extrudeBodyManager&&(this.extrudeBodyManager=new OE,this.objectGroups.add(this.extrudeBodyManager),this.extrudeBodyManager.matrix.copy(this.geometryGroup.matrix),this.extrudeBodyManager.matrixAutoUpdate=!1,this.extrudeBodyManager.updateMatrixWorld(!0)),this.extrudeBodyManager},KE.prototype.getCustomPlaneManager=function(){return this.customPlaneManager},KE.prototype.getExternalScene=function(){return null===this.externalScene&&(this.externalScene=new LE,this.add(this.externalScene),this.externalScene.updateMatrixWorld(!0)),this.externalScene},KE.prototype.shrinkScopeByClipPlane=function(e,t){if(this.clipPlanes&&this.clipPlanes.isEnabled()){var i=this.clipPlanes.hitTest(e);if(null===i.distance&&void 0===i.distance)return;i.sign?i.distance>t.near&&(t.near=i.distance):t.far>i.distance&&(t.far=i.distance)}},KE.prototype.updateWorldMatrixByMatrix=function(e){for(var t=this.objectGroups.children,i=0,n=t.length;n>i;i+=1)t[i].globalSpace&&(t[i].matrix.copy(e),t[i].matrixAutoUpdate=!1,t[i].updateMatrixWorld(!0))},KE.prototype.currentLights=function(){return this.lightManager.currentLights()},KE.prototype.setLightPreset=function(e){this.lightManager.setLightPreset(e)},KE.prototype.getLightPreset=function(){return this.lightManager.getLightPreset()},KE.prototype.setLightIntensityFactor=function(e){this.lightManager.setIntensityFactor(e)},KE.prototype.updateLights=function(e){this.lightManager.updateLights(e)},KE.prototype.setAmbientLightIntensity=function(e){this.lightManager.setAmbientLightIntensity(e)},KE.prototype.getAmbientLightIntensity=function(){return this.lightManager.getAmbientLightIntensity()},KE.prototype.getOrCreateGroup=function(e,t){for(var i=this.objectGroups.children,n=0,r=i.length;r>n;n+=1)if(i[n].name===e)return i[n];var o=new cm(e,t);return o.isGlobalSpace()&&(o.matrix.copy(this.geometryGroup.matrix),o.matrixAutoUpdate=!1,o.updateMatrixWorld(!0)),this.objectGroups.add(o),o},KE.prototype.getGroup=function(e){for(var t=this.objectGroups.children,i=0,n=t.length;n>i;i+=1)if(t[i].name===e)return t[i];return null},KE.prototype.getGroupType=function(e){var t=e.split("|");return{groupType:t[0],modelKey:t.length>1?t[1]:void 0}},KE.prototype.getGroups=function(){return this.objectGroups.children},KE.prototype.removeGroup=function(e){this.objectGroups.remove(e)},KE.prototype.removeGroupByName=function(e){this.objectGroups.removeByName(e)},KE.prototype.hasGroup=function(e){return this.objectGroups.hasChild(e)},KE.prototype.prepareScene=function(){},KE.prototype.parseRootNode=function(e){var t=this.geometryGroup,i=wp.box3FromObject(e.minBoundary,e.maxBoundary);null===t.boundingBox||t.boundingBox.isEmpty()?t.boundingBox=i:(t.boundingBox.expandByPoint(i.min),t.boundingBox.expandByPoint(i.max)),t.updateMatrixWorld(!0)},KE.prototype.intersectToWorld=function(e,t){var i=this.getMatrixGlobal();e.worldPosition=by.getWorldPositionOfMesh(e.point,i);var n=t.getComponentInfoByUserId(e.userId);n&&(e.worldBoundingBox=n.boundingBox.clone())},KE.prototype.worldToDrawing=function(e){var t=this.getMatrixGlobal(),i=new Ke(e.x,e.y,e.z);return i.applyMatrix4(t),i},KE.prototype.drawingToWorld=function(e){var t=this.getMatrixGlobal(),i=new yt;i.copy(t).invert();var n=new Ke(e.x,e.y,e.z);return n.applyMatrix4(i),n},KE.prototype.getBoundingBoxWorldByMesh=function(e){var t=this.getMatrixGlobal(),i=e.boundingBox;i||(e.geometry.boundingBox||e.geometry.computeBoundingBox(),i=e.geometry.boundingBox);var n=i.clone();n.applyMatrix4(e.matrixWorld);var r=new yt;return r.copy(t).invert(),n.applyMatrix4(r),n},KE.prototype.getObjectPool=function(){return this.pool},KE.prototype.getBoundingBoxOfGeometries=function(e){var t=new He,i=[];if(Array.isArray(e))i=e;else for(var n in e)e.hasOwnProperty(n)&&i.push(n);for(var r=0,o=i.length;o>r;r+=1){var a=this.objectGroups.getObjectByProperty("key",i[r]);if(a){var s=a.geometry;if(s){s.boundingBox||s.computeBoundingBox();var l=s.boundingBox;if(l){var c=l.clone();a.matrixWorld&&c.applyMatrix4(a.matrixWorld),t.expandByPoint(c.min),t.expandByPoint(c.max)}}else Bu.log("empty geometry!")}}return t},KE.prototype.adjustInstanceVisibility=function(e){this.traverse((function(t){if((t instanceof nn||t instanceof La)&&t.geometry instanceof xc){var i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i}}))},KE.prototype.adjustVisibility=function(e){this.traverse((function(t){if((t instanceof nn||t instanceof La)&&!(t.geometry instanceof xc)){var i=t.visible;e&&!t.bVisible||(t.visible=e),t.bVisible=i}}))},KE.prototype.changeVisibilityOfSelectedObjects=function(e){var t=this;e||(t.selectedMeshes.length=0,t.selectedInstanceMeshes.length=0);var i=t.selectedMeshes,n=t.selectedInstanceMeshes;this.traverse((function(r){(r instanceof nn||r instanceof La)&&(r.geometry instanceof xc?e?function(e){for(var i=0,n=t.selectedInstanceMeshes.length;n>i;i+=1)if(e===t.selectedInstanceMeshes[i].object){for(var r=t.selectedInstanceMeshes[i].indices,o=e.geometry.getAttribute("vState").array,a=0,s=r.length;s>a;a+=1)o[r[a]]=Wd.SELECTED;e.geometry.getAttribute("vState").needsUpdate=!0}}(r):function(e){if(e.visible){for(var t=[],i=e.geometry.getAttribute("vState").array,r=0;i.length>r;r+=1)i[r]===Wd.SELECTED&&(t.push(r),i[r]=Wd.HIDDEN);t.length&&(e.geometry.getAttribute("vState").needsUpdate=!0,n.push({object:e,indices:t}))}}(r):e?function(e){for(var i=0,n=t.selectedMeshes.length;n>i;i+=1)if(e===t.selectedMeshes[i].object)for(var r=t.selectedMeshes[i].indices,o=0,a=r.length;a>o;o+=1){var s=r[o],l=e.geometry.groups[s.idx];l.start=s.start,l.count=s.count}}(r):function(e){if(e._indicesGroup&&e.visible){var t=[],n=e.geometry.groups;if(n&&n.length){for(var r=0,o=n.length;o>r;r+=1){var a=n[r];a.materialIndex===Zd.SELECTED&&(t.push({idx:r,start:a.start,count:a.count}),a.start=0,a.count=0)}t.length&&i.push({object:e,indices:t})}}}(r))}))},KE.prototype.changeVisibilityOfNonSelectedObjects=function(e){var t=this;e||(t.nonSelectedMeshes.length=0,t.nonSelectedInstanceMeshes.length=0);var i=t.nonSelectedMeshes,n=t.nonSelectedInstanceMeshes;this.traverse((function(r){(r instanceof nn||r instanceof La)&&(r.geometry instanceof xc?e?function(e){for(var i=0,n=t.nonSelectedInstanceMeshes.length;n>i;i+=1)if(e===t.nonSelectedInstanceMeshes[i].object){for(var r=t.nonSelectedInstanceMeshes[i].indices,o=e.geometry.getAttribute("vState").array,a=0,s=r.length;s>a;a+=1)o[r[a].idx]=r[a].state;e.geometry.getAttribute("vState").needsUpdate=!0}}(r):function(e){if(e.visible){for(var t=[],i=e.geometry.getAttribute("vState").array,r=0,o=i.length;o>r;r+=1)i[r]!==Wd.SELECTED&&i[r]!==Wd.HIDDEN&&(t.push({idx:r,state:i[r]}),i[r]=Wd.HIDDEN);t.length&&(e.geometry.getAttribute("vState").needsUpdate=!0,n.push({object:e,indices:t}))}}(r):e?function(e){for(var i=0,n=t.nonSelectedMeshes.length;n>i;i+=1)if(e===t.nonSelectedMeshes[i].object){var r=t.nonSelectedMeshes[i].indices;if(null===r)e.visible=!0;else for(var o=0,a=r.length;a>o;o+=1){var s=r[o],l=e.geometry.groups[s.idx];l.start=s.start,l.count=s.count}}}(r):function(e){if(e._indicesGroup&&e.visible){var t=[],n=e.geometry.groups;if(n&&n.length){for(var r=0,o=n.length;o>r;r+=1){var a=n[r];a.materialIndex!==Zd.SELECTED&&(t.push({idx:r,start:a.start,count:a.count}),a.start=0,a.count=0)}t.length?i.push({object:e,indices:t}):(e.visible=!1,i.push({object:e,indices:null}))}else e.visible=!1,i.push({object:e,indices:null})}}(r))}))},KE.prototype.clearSelectedAndNonSelectedMeshes=function(){this.selectedMeshes.length=0,this.nonSelectedMeshes.length=0,this.selectedInstanceMeshes.length=0,this.nonSelectedInstanceMeshes.length=0},KE.prototype.setSkyBox=function(e,t,i,n,r){var o=e,a=t;if(a){var s=this;(new bl).setPath(o).load(a,(function(e){s.background=e,i&&i()}),n,r)}else Bu.error("天空盒资源无效")},KE.prototype.drawBoundingBox=function(e){if(e){var t=this.getOrCreateGroup("BoundingBox",{pickable:0,priority:2}),i=this.getBoundingBox();void 0===this.boudingBoxNode?(this.boudingBoxNode=new QE(i,16711680),t.add(this.boudingBoxNode)):this.boudingBoxNode.updateBBox(i),this.boudingBoxNode.updateMatrixWorld(!0)}else this.removeGroupByName("BoundingBox")},KE.prototype.calculateGisMapBox=function(e){var t=this.getGroup("ExternalComponentManager"),i=this.getBoundingBoxWorld(),n=i.clone();if(t){var r=e.position.clone(),o=this.getMatrixWorldGlobal(),a=(new yt).copy(o).invert();r.applyMatrix4(a);var s=6370856e3,l=r.z-i.min.z;l=Math.abs(l);var c=s*Math.acos(s/(s+l));n.min.x=r.x-c,n.max.x=r.x+c,n.min.y=r.y-c,n.max.y=r.y+c,n.min.z=i.min.z,n.max.z=i.max.z}return n},KE.prototype.getReceivingPlane=function(e){if(!this.receivingPlane){this.receivingPlane=this.getOrCreateGroup(Vp.RECEIVESHADOWPLANE);var t=new qs;t.transparent=!0,t.opacity=.2,t.side=2;var i=new In(1e6,1e6),n=new nn(i,t);n.receiveShadow=!0,this.receivingPlane.add(n),this.add(this.receivingPlane),this.receivingPlane.matrixAutoUpdate=!1,this.updateReceivingPlane()}return this.receivingPlane.visible=e,this.receivingPlane},KE.prototype.updateReceivingPlane=function(){var e=this.receivingPlane.children[0],t=this.getBoundingBoxWorld(),i=t.getCenter(new Ke),n=t.getSize(new Ke);e.position.z=t.min.z-.05*n.z,e.position.x=i.x,e.position.y=i.y,e.scale.x=n.x/1e4,e.scale.y=n.y/1e4,this.receivingPlane.updateMatrixWorld(!0)},KE.prototype.executeUpdate=function(e){this.updateFrameState(),this.updateFixedFrame(this.frameState,e)},KE.prototype.executeUpdatePostRender=function(){this.updatePostRender(this.frameState)},KE.prototype.updateFrameState=function(){var e=this.frameState;e.frameNumber+=1,e.pixelRatio=this.renderer.getPixelRatio(),e.viewerImpl=this.viewerImpl,this.renderer.getSize(e.bufferSize)},KE.prototype.initializeFrame=function(){this._tweens.update()},Object.defineProperties(KE.prototype,{lightArray:{get:function(){return Bu.warn("BOS3D.Scene: .lightArray 现在为 .lightManager.lightArray"),this.lightManager.lightArray}},lightHelperArray:{get:function(){return Bu.warn("BOS3D.Scene: .lightHelperArray 现在为 .lightManager.lightHelperArray"),this.lightManager.lightHelperArray}},projectorLightCollection:{get:function(){return this._projectorLightCollection}},tweens:{get:function(){return this._tweens}},aabbCollection:{get:function(){return this._aabbCollection}},adsorbControl:{get:function(){return this._adsorbControl}},viewerImpl:{get:function(){return this._viewerImpl},set:function(e){this._viewerImpl=e,this.frameState.viewerImpl=e,this.aabbCollection._viewerImpl=e}}});var VE=function(e){this.selectionSet={},this.modelSelectionSet={},this.selectionMaterial=cA.createHighlightMaterial(),this.selectionMaterial.colorState=Jd.SELECT,this.selectionMaterial.name="selection",this.selectionMaterial.refreshUniforms(),this.hoverId=void 0,this.hoverMaterialDefaultParams={color:14540253,opacity:.9,transparent:!0,side:2},this.hoverMaterial=cA.createStandardMaterial(this.hoverMaterialDefaultParams),this.hoverMaterial.name="hover",this.boxMaterialDefaultParams={color:16776960,opacity:1,transparent:!1},this.boxMaterial=new Sa(this.boxMaterialDefaultParams),this.boxMaterial.name="box",this.modelManager=e,this.blinkComponentIds={};var t=this;this.filter=e.filter,this.filter.observerForSceneState=function(i){t.removeSelection(i),t.clearBlinkComponentsById(i),e.viewerImpl.render()},this.phongHoverMaterial=new $s(this.hoverMaterialDefaultParams),this.phongSelectionMaterial=new $s(xd.SelectionColor)};VE.prototype={constructor:VE,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 e=this.getSelection();if(xd.EnableSelectionBoundingBox){var t=this.modelManager.scene.getOrCreateGroup("BoundingBox");if(e&&e.length>0){var i=this.modelManager.viewerImpl.getBoundingBoxByIds(e);if(i.isEmpty())return void(t.visible=!1);t.visible=!0;var n=t.getObjectByName("Box");if(!n){var r=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),o=new Float32Array(24),a=new Ni;a.setIndex(new Ai(r,1)),a.setAttribute("position",new Ai(o,3)),(n=new La(a,this.boxMaterial)).name="Box",n.matrixAutoUpdate=!1,t.add(n)}var s=n.geometry.attributes.position,l=s.array,c=i.min,h=i.max;l[0]=h.x,l[1]=h.y,l[2]=h.z,l[3]=c.x,l[4]=h.y,l[5]=h.z,l[6]=c.x,l[7]=c.y,l[8]=h.z,l[9]=h.x,l[10]=c.y,l[11]=h.z,l[12]=h.x,l[13]=h.y,l[14]=c.z,l[15]=c.x,l[16]=h.y,l[17]=c.z,l[18]=c.x,l[19]=c.y,l[20]=c.z,l[21]=h.x,l[22]=c.y,l[23]=c.z,s.needsUpdate=!0}else t.visible=!1}else{var d=this.modelManager.scene.getObjectByName("BoundingBox");d&&(d.visible=!1)}this.modelManager.dispatchEvent({type:Fd.ON_SELECTION_CHANGED,selectionList:e})},clearSelection:function(e){var t,i=!1;if(void 0===e){var n=[];for(var r in this.selectionSet){for(var o in i=!1,t=this.getSelectionSet(r))if(t.hasOwnProperty(o)){i=!0;break}i&&n.push(r)}if(n.length){for(var a=0,s=n.length;s>a;a+=1)this.selectionSet[n[a]]={},this.modelManager.clearSelection(n[a]);this._dispatchChangeEvent()}}else{for(var o in t=this.getSelectionSet(e))if(t.hasOwnProperty(o)){i=!0;break}i&&(this.selectionSet[e]={},this.modelManager.clearSelection(e),this._dispatchChangeEvent())}},clearModelSelection:function(){var e=!1;for(var t in this.modelSelectionSet)if(this.modelSelectionSet.hasOwnProperty(t)){e=!0,this.modelSelectionSet={};break}e&&(this.modelManager.clearSelection(),this._dispatchChangeEvent())},addSelection:function(e,t){if(e&&e.length>=1){var i,n=[],r=!1,o=this.modelManager,a=this.filter;if(void 0===t){for(var s={},l=o.getModelKeys(),c=[],h=0,d=l.length;d>h;h+=1){var u=l[h];i=this.getSelectionSet(u),r=!1;for(var p=e.length-1;p>=0;p-=1){o.isUserIdExist(m=e[p],u)&&(!i[m]&&a.isComponentActive(m,u)&&(i[m]=!0,r=!0),s[m]=!0)}r&&c.push(u)}for(p=e.length-1;p>=0;p-=1){s[m=e[p]]||n.push(m)}if(n.length>0&&o.dispatchEvent({type:Fd.ON_SELECTION_FAILED,failedId:n}),c.length){for(var g=0,f=c.length;f>g;g+=1)this.modelManager.applySelection(c[g]);this._dispatchChangeEvent()}}else{i=this.getSelectionSet(t);for(p=e.length-1;p>=0;p-=1){var m;o.isUserIdExist(m=e[p],t)?!i[m]&&a.isComponentActive(m,t)&&(i[m]=!0,r=!0):n.push(m)}n.length>0&&o.dispatchEvent({type:Fd.ON_SELECTION_FAILED,failedId:n}),r&&(this.modelManager.applySelection(t),this._dispatchChangeEvent())}}},addModelSelection:function(e){if(e){for(var t=this.modelSelectionSet,i=!1,n=e.length-1;n>=0;n-=1){var r=e[n];!t.hasOwnProperty(r)&&this.filter.isComponentActive(r)&&(t[r]=!0,i=!0)}i&&(this.modelManager.applySelection(),this._dispatchChangeEvent())}},setSelection:function(e,t){if(e&&e.length>=1)if(void 0===t){for(var i in this.selectionSet)delete this.selectionSet[i];this.addSelection(e)}else this.selectionSet[t]={},this.addSelection(e,t)},setModelSelection:function(e){e||(e=[]);for(var t=[],i=e.length-1;i>=0;i-=1)this.modelManager.isUserIdExist(e[i])||t.push(e[i]);t.length>0&&this.modelManager.dispatchEvent({type:Fd.ON_SELECTION_FAILED,failedId:t});var n=this.modelSelectionSet={};for(i=e.length-1;i>=0;i-=1){this.filter.isComponentActive(e[i])&&(n[e[i]]=!0)}this.modelManager.applySelection(),this._dispatchChangeEvent()},removeSelection:function(e,t){if(e&&e.length>=1){var i=!1;if(void 0===t){var n=[];for(var r in this.selectionSet){var o=this.getSelectionSet(r);i=!1;for(var a=0,s=e.length;s>a;a+=1){var l=e[a];o[l]&&(delete o[l],i=!0)}i&&n.push(r)}if(n.length){for(var c=0,h=n.length;h>c;c+=1)this.modelManager.applySelection(n[c]);this._dispatchChangeEvent()}}else{for(var d=this.getSelectionSet(t),u=0,p=e.length;p>u;u+=1){var g=e[u];d[g]&&(delete d[g],i=!0)}i&&(this.modelManager.applySelection(t),this._dispatchChangeEvent())}}},removeModelSelection:function(e){var t=!1,i=this.modelSelectionSet;if(e&&e.length>0)for(var n=0,r=e.length;r>n;n+=1){var o=e[n];i.hasOwnProperty(o)&&(delete i[o],t=!0)}t&&(this.modelManager.applySelection(),this._dispatchChangeEvent())},getSelection:function(e){var t={};if(void 0===e)for(var i in this.selectionSet)for(var n=this.getSelectionSet(i),r=Object.keys(n),o=0,a=r.length;a>o;o+=1)t[r[o]]=!0;else t=this.getSelectionSet(i);return Object.keys(t)},getModelSelection:function(){return Object.keys(this.modelSelectionSet)},hasSelection:function(e){var t,i=!1;if(void 0===e)for(var n in this.selectionSet){for(var r in t=this.getSelectionSet(n))if(t.hasOwnProperty[r]){i=!0;break}if(i)break}else for(var r in t=this.getSelection(e))if(t.hasOwnProperty[r]){i=!0;break}return i},hasModelSelection:function(){return this.getSelection().length>0},getSelectionSet:function(e){if(void 0===e){var t={};for(var i in this.selectionSet)for(var n=this.getSelectionSet(i),r=Object.keys(n),o=0,a=r.length;a>o;o+=1)t[r[o]]=!0;return t}return void 0===this.selectionSet[e]&&(this.selectionSet[e]={}),this.selectionSet[e]},getModelSelectionSet:function(){return this.selectionSet},isSelected:function(e,t){var i,n=!1;if(void 0===t){for(var r in this.selectionSet)if((i=this.selectionSet[r])&&i[e]){n=!0;break}}else(i=this.selectionSet[t])&&i[e]&&(n=!0);return n},isModelSelected:function(e){return this.modelSelectionSet.hasOwnProperty(e)},setHoverId:function(e,t){this.hoverId=e,this.modelManager.applyHover(t)},clearHover:function(e){this.hoverId=void 0,this.modelManager.clearHover(e)},getHoverMaterial:function(e){var t=e&&e.isMeshPhongMaterial?this.phongHoverMaterial.clone():this.hoverMaterial.clone();if(e&&e.hasOwnProperty("color")){var i=e.color.clone(),n=Math.max(i.r,Math.max(i.g,i.b));0===n&&(n=.5),i.r+=0===i.r?.3*n:.2*i.r,i.g+=0===i.g?.3*n:.2*i.g,i.b+=0===i.b?.3*n:.2*i.b,i.r>1&&(i.r=1),i.g>1&&(i.g=1),i.b>1&&(i.b=1),1===i.r&&1===i.g&&1===i.b&&(i.r=.87,i.g=.87,i.b=.87),t.color.setHex(i.getHex()),t.opacity=void 0!==e.opacity?e.opacity:this.hoverMaterialDefaultParams.opacity,t.transparent=void 0!==e.transparent?e.transparent:this.hoverMaterialDefaultParams.transparent,t.side=void 0!==e.side?e.side:this.hoverMaterialDefaultParams.side,void 0!==e.metalness&&(t.metalness=e.metalness),void 0!==e.roughness&&(t.roughness=e.roughness),void 0!==e.bumpMap&&(t.bumpMap=e.bumpMap),void 0!==e.alphaMap&&(t.alphaMap=e.alphaMap),void 0!==e.emissiveMap&&(t.emissiveMap=e.emissiveMap),void 0!==e.envMap&&(t.envMap=e.envMap),void 0!==e.envMapIntensity&&(t.envMapIntensity=e.envMapIntensity),null!=e.map&&(t.map=e.map),t.opacity=cA.getHoverOpacity(t.opacity),t.transparent=!0,t.needsUpdate=!0}return t},getHoverColorByMaterial:function(e){var t=void 0!==e.opacity?e.opacity:this.hoverMaterialDefaultParams.opacity;if(t=cA.getHoverOpacity(t),!e.hasOwnProperty("color"))return{rgbaColor:[this.hoverMaterial.color.r,this.hoverMaterial.color.g,this.hoverMaterial.color.b,t],transparent:true};var i=e.color.clone();return{rgbaColor:[i.r,i.g,i.b,t],transparent:true}},setSelectionColor:function(e,t){var i=this.selectionMaterial.opacity;t=void 0===t?i:t,"0x"+this.selectionMaterial.color.getHexString()===e&&i===t||(this.selectionMaterial.color.setHex(e),t&&(this.selectionMaterial.opacity=t),this.selectionMaterial.needsUpdate=!0)},getSelectionColor:function(){var e=this.selectionMaterial.opacity;return new Du(this.selectionMaterial.color.getHex(),e)},getSelectionMaterial:function(){return this.selectionMaterial.clone()},setBlinkComponentsById:function(e,t){if(this.blinkComponentIds={},e&&0!==e.length){for(var i=e.length-1;i>=0;i-=1){this.filter.isComponentActive(e[i],t)&&(this.blinkComponentIds[e[i]]=!0)}this.modelManager.applyBlink()}},addBlinkComponentsById:function(e,t){if(e&&e.length){for(var i=this.blinkComponentIds,n=!1,r=e.length-1;r>=0;r-=1){var o=e[r];!i[o]&&this.filter.isComponentActive(o)&&(i[o]=!0,n=!0)}n&&this.modelManager.applyBlink()}},clearBlinkComponentsById:function(e,t){if(e&&e.length){for(var i=!1,n=this.blinkComponentIds,r=0,o=e.length;o>r;r+=1){var a=e[r];n[a]&&(delete n[a],i=!0)}i&&this.modelManager.applyBlink()}},clearAllBlinkComponents:function(){var e=!1;wp.isOwnEmptyObject(this.blinkComponentIds)||(e=!0,this.blinkComponentIds={}),e&&this.modelManager.clearBlink()},getBlinkComponents:function(){return Object.keys(this.blinkComponentIds)},getBlinkComponentsIdMap:function(e){var t=this;if(this.modelManager.getBlinkEnabled()){if(e){var i=this.getBlinkComponents(),n={};return i.forEach((function(i){var r=t.modelManager.filterHelper.distributeId(i),o=r.modelKey,a=r.objectId;o&&o.toString()!==e.toString()||(n[a]=t.blinkComponentIds[i])})),n}return this.blinkComponentIds}return null},getBlinkMaterial:function(e){return cA.getBlinkMaterial(e,this.modelManager.getBlinkColor())},getBoxMaterial:function(){return this.boxMaterial.clone()},setBoxColor:function(e,t){var i=this.boxMaterial.opacity;t=void 0===t?i:t,"0x"+this.boxMaterial.color.getHexString()===e&&i===t||(this.boxMaterial.color.setHex(e),t&&(this.boxMaterial.opacity=t),this.boxMaterial.needsUpdate=!0,this.boxMaterial.color.setHex(e),this.boxMaterial.needsUpdate=!0)}};var YE=function(){this.hiddenUserIdMap={}};YE.prototype.destroy=function(){this.hiddenUserIdMap=null},YE.prototype.hideByUserId=function(e,t){this.hiddenUserIdMap||(this.hiddenUserIdMap={}),this.hiddenUserIdMap[e]=!!t},YE.prototype.cancelHiddenByUserId=function(e){this.hiddenUserIdMap&&delete this.hiddenUserIdMap[e]},YE.prototype.cancelAllHidden=function(){this.hiddenUserIdMap=null},YE.prototype.isHidden=function(e){return!!this.hiddenUserIdMap[e]},YE.prototype.hasHidden=function(){return!wp.isEmptyObject(this.hiddenUserIdMap)};var HE=function(){this.materialDefaultParams={color:14540253,opacity:.5,transparent:!0,side:0},this.material=cA.createPhongMaterial(this.materialDefaultParams)};HE.prototype.destroy=function(){this.material=null},HE.prototype.resetColor=function(){this.material.color.setHex(this.materialDefaultParams.color)},HE.prototype.resetOpacity=function(){this.material.opacity=this.materialDefaultParams.opacity},HE.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 jE=function(e){this.manager=e,this.requestCount=0,this.maxRequestCount=1e5,this.loading=!1,this.delayIntervalTime=300};jE.prototype.destroy=function(){this.manager=null,this.currentConditions=null,this.delayLoadTimer&&(clearTimeout(this.delayLoadTimer),this.delayLoadTimer=null)},jE.prototype.isValidModel=function(e){return!(e.isEmptyScene()||!e.isLayerData())},jE.prototype.loadGeopkOnDemandByConditionsWithDelay=function(e,t,i,n){var r=this,o=this.delayIntervalTime;r.delayLoadTimer&&clearTimeout(r.delayLoadTimer),r.delayLoadTimer=setTimeout((function(){r.loadGeopkOnDemandByConditions(e,t,i,n)}),o)},jE.prototype.loadGeopkOnDemandByConditions=function(e,t,i,n){if(this.currentConditions=e,this.requestCount+=1,this.requestCount>this.maxRequestCount&&(this.requestCount=0),!this.loading){this.loading=!0;var r=this;requestAnimationFrame(function e(o){var a=o,s=r.currentConditions;return function(){r._loadGeopkOnDemandByConditions(s,t,i,(function(){a!==r.requestCount?requestAnimationFrame(e(r.requestCount)):(r.loading=!1,n&&n(s),s=null)}))}}(this.requestCount))}},jE.prototype._loadGeopkOnDemandByConditions=function(e,t,i,n){var r=this;this.manager.traverseModels((function(o){r.isValidModel(o)&&o._getHandler().loadGeopkOnDemand(e,t,i,n)}))},jE.prototype.getBoundingBoxOnDemand=function(){var e=new He,t=this;return this.manager.traverseModels((function(i){if(t.isValidModel(i)){var n=i._getHandler().getLayerProvider().getUnionBoundingBoxOnDemand();n&&e.union(n)}})),e.isEmpty()?null:e},jE.prototype.isLoading=function(){return this.loading},jE.prototype.getBoundingBoxForUsedComponent=function(){var e=this.manager,t=new He;return e.traverseModels((function(i){var n=i.getLoadedUserIdsObject();n&&t.union(e.getBoundingBoxByIds(n))})),t.isEmpty()?null:t};var WE=function(e,t){xd.UseWorker&&og.isSupportWorker(),og.isMobileDevice()&&(xd.maxObjectNumInPool=6e3,xd.maxDrawCacheNum=4e3),this.scene=new KE(t),this.filter=e,this.crossOrigin=!0,this.models={},this.viewerImpl=t,this.materialPool=null,this.occlusionCamera=null,this.containsCamera=!1,this.highPriorityCategories={inner:{},outer:{}},this.octantToObjectMap={},this.instanceGeometries={},this.sceneState=new VE(this),this.modelState=new VE(this),this.filter.setSceneStateHelper(this.sceneState),this.rotation=new Ge,this.boundingBox=new He,this.explosionList={},this.IBLMaterial=!1,this.clippingCaps=!1,this.blinkStartTime=null,this.blinkEnabled=!1,this.blinkIntervalTime=600,this.blinkPermited=!1,this.defaultBlinkColor=(new pi).setHex(3330982),this.defaultBlinkAlpha=1,this.blinkColor=new Le(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 Ke,this.domElementWidth=1,this.transformComponent={}};Object.assign(WE.prototype,hg.prototype),WE.prototype.destroy=function(){for(var e in this.removeAllEventListener(),this.models)this.models[e].destroy();this.models=null,this.octantToObjectMap=null,this.materialPool&&(this.materialPool.destroy(),this.materialPool=null),this.occlusionCamera&&(this.occlusionCamera=null);for(var t=0,i=this.plugins.length;i>t;t+=1)this.plugins[t].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},WE.prototype.registerPlugin=function(e){this.plugins.push(e)},WE.prototype.removeAllEventListener=function(){this._listeners=void 0},WE.prototype.prepareCapScene=function(){this.capsScene?this.clippingCaps||(this.initCapPlane(),this.initCapBox()):(this.capsScene=new KE,this.clippingCaps||(this.initCapPlane(),this.initCapBox()),this.scene.createCapStencilMaterials())},WE.prototype.initCapPlane=function(){var e=this.scene.getFillClipPlane().initCapsPlane();this.capsScene.add(e.planeMesh),this.capsScene.add(e.lineMesh),this.clippingCaps=!0},WE.prototype.initCapBox=function(){var e=this.scene.getClipPlanes().initCapsBox();e.material.needsUpdate=!0,e.visible=!0,this.capsScene.add(e),this.clippingCaps=!0},WE.prototype.getAllComponents=function(){return this.scene.pool._pool},WE.prototype.getAllComponentsKey=function(){var e=[];for(var t in this.models)if(this.models.hasOwnProperty(t)){var i=this.models[t];if(i){var n=i.getComponentlist();e=e.concat(n)}}return e},WE.prototype.getComponentsKeyByModelKey=function(e){var t=[];if(this.models.hasOwnProperty(e)){var i=this.models[e];if(i)t=i.getComponentlist()}return t},WE.prototype.getComponent=function(e){for(var t in this.models)if(this.models.hasOwnProperty(t)){var i=this.models[t];if(i.isLoaded()&&i.getComponentInfo(e)){var n=i.getComponentInfo(e);if(n)return n}}for(var r=0,o=this.plugins.length;o>r;r+=1)if(this.plugins[r].getNodeInfosByUserId){var a=this.plugins[r].getNodeInfosByUserId(e);if(a)return a}},WE.prototype.getStorage=function(){return this.storage},WE.prototype.updateTransformComponentList=function(e){this.transformComponent[e]=!0},WE.prototype._updateOcclusionCamera=function(e){var t=e.near,i=e.distanceFromWorldToDrawing(this.getMatrixWorldGlobal(),xd.OcclusionDistanceToCamera);this.occlusionCamera?this.occlusionCamera.copy(e):this.occlusionCamera=e.clone(),this.occlusionCamera.setNearFar(t,i),this.occlusionCamera.updateMVP()},WE.prototype._clearMaterialPool=function(){this.materialPool&&this.materialPool.clear()},WE.prototype.acquireMaterial=function(){return this.materialPool?this.materialPool.acquire():null},WE.prototype.getObjectPool=function(){return this.scene.getObjectPool()},WE.prototype.getFrustumFromOcclusionCamera=function(){return this.occlusionCamera.getFrustum(!1)},WE.prototype.getOcclusionCamera=function(){return this.occlusionCamera},WE.prototype.prepareScene=function(e,t){var i=this.models;for(var n in xd.MergeComponent||(this.clearPool(),this.clearObjectRangeFromOctantMap()),xd.OcclusionTranslucentEnabled&&(null===this.materialPool&&(this.materialPool=new pM,this.materialPool.init(HE,50)),this._clearMaterialPool(),this._updateOcclusionCamera(e)),i)if(i.hasOwnProperty(n)){var r=i[n];!xd.RendererWhenLoad&&!r.isLoaded()||r.isEmptyScene()||r.prepare(e,t)}this.dealStateChanged()},WE.prototype.clearPool=function(){this.scene.getObjectPool().clear()},WE.prototype.clearObjectRangeFromOctantMap=function(){this.octantToObjectMap&&this.octantToObjectMap.pool&&(this.octantToObjectMap.pool={})},WE.prototype.setDrawableModel=function(e){this.isDrawableModel=e},WE.prototype.isDrawable=function(){return this.isDrawableModel},WE.prototype.load=function(e,t,i){var n=this.models,r=n[e.modelKey],o=this;if(this.setDrawableModel(!1),void 0!==r)return this.setDrawableModel(!0),r.isVisible()||(r.setVisible(!0),r.dispatchEventEx({type:Fd.ON_LOAD_COMPLETE})),r;var a=[];for(var s in n)n.hasOwnProperty(s)&&a.push(n[s].index);a.sort();for(var l=0;a.length>l&&a[l]===l;l+=1);return r=new("GIS"===e.type?uM:rM)(this,e,(function(t,i){if(xd.UseWorker){if(o.websocketWorker&&o.prepareDataWorkers){var n=JSON.parse(window.localStorage.getItem("bos_IndexedDB"));n||(n={version:1}),window.localStorage.setItem("bos_IndexedDB",JSON.stringify(n));var a=n.version;o.websocketWorker.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:r.modelKey,dbName:r.projectKey,version:a}}),o.websocketWorker.onmessage=r.onWSWorkerMessage,o.prepareDataWorkers.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:r.modelKey,dbName:r.projectKey,version:a}}),o.prepareDataWorkers.onmessage=r.onPDWorkerMessage}}else t.load(e.notifyProgress)}),i),this.filter.addModel(r.modelKey),this.models[e.modelKey]=r,r},WE.prototype.loadTiles=function(e,t,i){var n=this.models,r=n[e.modelKey],o=this;if(void 0!==r)return r.isVisible()||(r.setVisible(!0),r.dispatchEventEx({type:Fd.ON_LOAD_COMPLETE})),r;var a=[];for(var s in n)n.hasOwnProperty(s)&&a.push(n[s].index);a.sort();for(var l=0;a.length>l&&a[l]===l;l+=1);return r=new uM(this,e,(function(t,i){if(xd.UseWorker){if(o.websocketWorker&&o.prepareDataWorkers){var n=JSON.parse(window.localStorage.getItem("bos_IndexedDB"));n||(n={version:1}),window.localStorage.setItem("bos_IndexedDB",JSON.stringify(n));var a=n.version;o.websocketWorker.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:r.modelKey,dbName:r.projectKey,version:a}}),o.websocketWorker.onmessage=r.onWSWorkerMessage,o.prepareDataWorkers.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:r.modelKey,dbName:r.projectKey,version:a}}),o.prepareDataWorkers.onmessage=r.onPDWorkerMessage}}else t.load(e.notifyProgress)}),i),this.models[e.modelKey]=r,r},WE.prototype.loadModels=function(e){var t=this.models[e.modelKey],i=this;return void 0!==t?(t.isVisible()||(t.setVisible(!0),t.dispatchEventEx({type:Fd.ON_LOAD_COMPLETE})),t):(t=new rM(this,e,(function(){if(xd.UseWorker){if(i.websocketWorker&&i.prepareDataWorkers){var n=JSON.parse(window.localStorage.getItem("bos_IndexedDB"));n||(n={version:1}),window.localStorage.setItem("bos_IndexedDB",JSON.stringify(n));var r=n.version;i.websocketWorker.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:t.modelKey,dbName:t.projectKey,version:r}}),i.websocketWorker.onmessage=t.onWSWorkerMessage,i.prepareDataWorkers.postMessage({type:"INITIALIZE_DATABASE",data:{modelKey:t.modelKey,dbName:t.projectKey,version:r}}),i.prepareDataWorkers.onmessage=t.onPDWorkerMessage}}else t.load(e.notifyProgress)})),this.models[e.modelKey]=t,t)},WE.prototype.unload=function(e){var t=this.models[e];return!!t&&(t.destroy(),delete this.models[e],this.filter.removeModel(e),this.filter.reinitFilterManager(this.getNodeInfos()),this.updateScene(),this.updateFilterManager(),this.filter.getObjectInfoManager().calculateVisibleComponentsBbox(),!0)},WE.prototype.unloadAll=function(){for(var e=this.getModelKeys(),t=0,i=e.length;i>t;t+=1)this.unload(e[t]);this.clearPool(),this.models={}},WE.prototype.showModel=function(e){var t=this.models[e];return!!t&&(t.setVisible(!0),!0)},WE.prototype.hideModel=function(e){var t=this.models[e];return!!t&&(t.setVisible(!1),!0)},WE.prototype.getModelKeys=function(){var e=this.models,t=[];for(var i in e)e.hasOwnProperty(i)&&t.push(i);return t},WE.prototype.updateScene=function(){this.updateSceneBoundingBox()},WE.prototype.updateSceneBoundingBox=function(){var e=this.models,t=this.boundingBox;for(var i in t.makeEmpty(),e)if(e.hasOwnProperty(i)){var n=e[i];if(!n.isEmptyScene()){var r=n.getBoundingBoxWorld();if(!r||r.isEmpty())continue;t.isEmpty()?t.copy(r):(t.expandByPoint(r.min),t.expandByPoint(r.max))}}for(var o=0,a=this.plugins.length;a>o;o+=1){var s=this.plugins[o];if("function"==typeof s.getBoundingBoxWorld){var l=s.getBoundingBoxWorld();l&&t.union(l)}}this.scene.setBoundingBoxWorld(t)},WE.prototype.parseSceneRootNode=function(e){this.scene.parseRootNode(e),this.updateSceneBoundingBox()},WE.prototype.updateSceneRootMatrix=function(){var e=!1,t=new yt,i=new yt,n=new Ge,r=this.models;for(var o in this.models)if(r.hasOwnProperty(o)){var a=r[o];if(!a.isEmptyScene()){n.copy(a.getTransforms().rotation),t.copy(a.getTransforms().transformMatrix),e=a.getTransforms().transformed;break}}if(this.scene.setTransformMatrixGlobal(t),e)i.copy(t);else{var s=new Ke(1,1,1),l=xd.SceneSize,c=this.boundingBox.getSize(new Ke),h=Math.max(c.x,c.y,c.z);s.multiplyScalar(l/h),i.makeRotationFromQuaternion(n),i.scale(s)}this.scene.updateWorldMatrixByMatrix(i)},WE.prototype.updateSceneRenderable=function(){var e=this.models,t=xd.maxObjectNumInPool,i=[],n=0;for(var r in e){if(e.hasOwnProperty(r))(s=e[r]).isEmptyScene()||(n+=s.model.getStatistics().renderableTotalForPool,i.push(r))}for(var o=0,a=i.length;a>o;o+=1){var s=e[r=i[o]],l=Math.floor(s.getStatistics().renderableTotalForPool/n*t);l>s.getStatistics().renderableTotalForPool&&(l=s.getStatistics().renderableTotalForPool),s.setRenderableCount(l)}},WE.prototype.updateOctreeNode=function(){var e=this.models;for(var t in this.models)if(e.hasOwnProperty(t)){var i=e[t];i.isLoaded()&&!i.isEmptyScene()&&i.updateOctreeNode(!0)}},WE.prototype.updateMaterials=function(){var e=this.models;for(var t in this.models)if(e.hasOwnProperty(t)){var i=e[t];i.isLoaded()&&!i.isEmptyScene()&&i.materialManager.updateMaterials(i)}},WE.prototype.updateMaterialsValue=function(e,t){var i=this.models;for(var n in this.models)if(i.hasOwnProperty(n)){var r=i[n];r.isLoaded()&&!r.isEmptyScene()&&r.materialManager.updateMaterialsValue(r,e,t)}this.materialOverrideSet&&this.materialOverrideSet.updateMaterialsValue(e,t)},WE.prototype.enableColorWithoutLight=function(e){var t=this.models;for(var i in this.models)if(t.hasOwnProperty(i)){var n=t[i];n.isLoaded()&&n.isEmptyScene()}},WE.prototype.switchNewStyleMaterial=function(e){var t=this.models;for(var i in this.models)if(t.hasOwnProperty(i)){var n=t[i];n.isLoaded()&&!n.isEmptyScene()&&n.materialManager.switchNewStyleMaterial(n,e)}},WE.prototype.changeAllMaterials=function(e){if(this.IBLMaterial!==e){var t=this.models;for(var i in this.models)if(t.hasOwnProperty(i)){var n=t[i];n.isEmptyScene()||n.materialManager.changeAllMaterials(n,e)}this.IBLMaterial=e}},WE.prototype.setCrossOrigin=function(e){this.crossOrigin=e},WE.prototype.getMatrixWorldGlobal=function(){return this.scene.getMatrixWorldGlobal()},WE.prototype.hasModel=function(){var e=this.models;for(var t in e){if(e.hasOwnProperty(t))if(e[t].isLoaded())return!0}return!1},WE.prototype.isEmpty=function(){if(this.hasModel())return!1;for(var e=!1,t=0,i=this.plugins.length;i>t;t+=1){var n=this.plugins[t];if("function"==typeof n.isEmpty&&!n.isEmpty()){e=!0;break}}return!e},WE.prototype.hasModelDataReady=function(){var e=this.models,t=!1;for(var i in e){if(e.hasOwnProperty(i))if(t=!0,!e[i].isDataReady())return!1}return t},WE.prototype.isLayerData=function(){var e=this.models;for(var t in e){if(e.hasOwnProperty(t))if(e[t].isLayerData())return!0}return!1},WE.prototype.getModel=function(e){var t=this.models[e];return t||null},WE.prototype.getFirstModel=function(){var e=Object.keys(this.models)[0];return this.models[e]},WE.prototype.showOctreeBox=function(e){xd.ShowOctant||this.scene.removeGroupByName(Vp.OCTREENODE)},WE.prototype.setCategoriesToHighPriority=function(e,t){var i=e.length;if(i>=1)for(var n=this.highPriorityCategories[t]={},r=0;i>r;r+=1)n[e[r]]=!0},WE.prototype.getCategoriesFromHighPriority=function(e){return this.highPriorityCategories[e]},WE.prototype.clearCategoriesFromHighPriority=function(e){this.highPriorityCategories[e]={}},WE.prototype.clearAllCategoriesFromHighPriority=function(){this.clearCategoriesFromHighPriority("inner"),this.clearCategoriesFromHighPriority("outer")},WE.prototype.calculateCameraModelRelation=function(e){var t=!1,i=this.models;for(var n in i)if(i.hasOwnProperty(n)){var r=i[n];r&&r.isLoaded()&&!r.isEmptyScene()&&(r.calculateCameraModelRelation(e),t=t||r.containsCamera)}this.containsCamera=t},WE.prototype.getCameraNameList=function(){var e=this.models,t=[];for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];n.isEmptyScene()||(t=t.concat(n.getCameraNameList()))}return t},WE.prototype.getCamera=function(e){var t=this.models,i=null;for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];if(!r.isEmptyScene()&&(i=r.getCamera(e)))break}return i},WE.prototype.getNumOfElements=function(){var e=this.models,t=0;for(var i in this.models)if(e.hasOwnProperty(i)){var n=e[i];n.isEmptyScene()||(t+=n.getStatistics().numOfElements)}return t},WE.prototype.getNumOfRenderables=function(){var e=this.models,t=0;for(var i in this.models)if(e.hasOwnProperty(i)){var n=e[i];n.isEmptyScene()||(t+=n.getStatistics().renderableTotal)}return t},WE.prototype.getNumOfTriangles=function(){var e=this.models,t=0;for(var i in this.models)if(e.hasOwnProperty(i)){var n=e[i];n.isEmptyScene()||(t+=n.getStatistics().numOfTriangles)}return t},WE.prototype.getScene=function(){return this.scene},WE.prototype.getOctreeRoots=function(){var e=this.models,t={};for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.isLoaded()&&!n.isEmptyScene()){var r=n.getEncodedDatabagId();t[r]=[],n.getModelDescriptor().getOctreeRoots(t[r])}}return t},WE.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}},WE.prototype.addMeshToOctantMap=function(e,t,i){var n=this.octantToObjectMap;n[e]||(n[e]={}),n[e].mesh||(n[e].mesh={}),n[e].mesh[t]||(n[e].mesh[t]=[]),n[e].mesh[t].push(i)},WE.prototype.addNodeInfoToOctantMap=function(e,t,i){var n=this.octantToObjectMap;n[e]||(n[e]={}),n[e].info||(n[e].info={}),n[e].info[t]||(n[e].info[t]=[]),n[e].info[t].push(i)},WE.prototype.removeNodeInfoFromOctantMap=function(e,t){var i=this.octantToObjectMap;if(i[e]&&i[e].info&&i[e].info[t.componentKey])for(var n=i[e].info[t.componentKey],r=n.length-1;r>=0;r-=1)if(t.nodeId===n[r].nodeId){n.splice(r);break}},WE.prototype.clearNodeInfosFromOctantMap=function(e){var t=this.octantToObjectMap;t[e]&&t[e].info&&(t[e]=null)},WE.prototype.removeAllFromOctantMap=function(e){var t=this.octantToObjectMap;t[e]&&delete t[e]},WE.prototype.clearMeshFromOctantMap=function(e){var t=this.octantToObjectMap;t[e]&&t[e].mesh&&delete t[e].mesh},WE.prototype.removeMeshFromOctantMap=function(e,t){var i=this.octantToObjectMap;if(i[e]&&i[e].mesh){var n=0,r=i[e].mesh[t];for(n=r.length-1;n>=0;n-=1)delete r[n];delete i[e].mesh[t]}},WE.prototype.removeBatchedMeshFromOctantMap=function(e,t){var i=this.octantToObjectMap;if(i[e]&&i[e].mesh&&i[e].info){var n=0,r=i[e].info[t];if(r){for(n=r.length-1;n>=0;n-=1)r.splice(n);delete i[e].info[t]}}},WE.prototype.getOctantMap=function(){return this.octantToObjectMap},WE.prototype.isFilterApplied=function(){return this.filterApplied},WE.prototype.setFilterApplied=function(e){this.filterApplied=e},WE.prototype.applyFilter=function(){for(var e in Bu.time("applyFilter"),this.models){this.models[e].applyFilter()}for(var t=0,i=this.plugins.length;i>t;t+=1)this.plugins[t].applyFilter();this.setFilterApplied(!0),Bu.timeEnd("applyFilter")},WE.prototype.applySelection=function(){for(var e in this.selectPriority=!0,this.models){this.models[e].applySelection()}this.scene.getExtrudeBodyManager().applySelection(this);for(var t=0,i=this.plugins.length;i>t;t+=1)this.plugins[t].applySelection()},WE.prototype.clearSelection=function(){for(var e in this.selectPriority=!0,this.models){this.models[e].clearSelection()}this.scene.getExtrudeBodyManager().clearSelection();for(var t=0,i=this.plugins.length;i>t;t+=1)this.plugins[t].clearSelection()},WE.prototype.applyHover=function(){if(xd.Hover&&!xd.EnableRenderPass)for(var e in this.models){this.models[e].applyHover()}this.scene.getExtrudeBodyManager().applyHover(this);for(var t=0,i=this.plugins.length;i>t;t+=1)this.plugins[t].applyHover()},WE.prototype.clearHover=function(){if(xd.Hover&&!xd.EnableRenderPass)for(var e in this.models){this.models[e].clearHover()}this.scene.getExtrudeBodyManager().clearHover();for(var t=0,i=this.plugins.length;i>t;t+=1)this.plugins[t].clearHover()},WE.prototype.chooseRendering=function(e){},WE.prototype.isUserIdExist=function(e){var t=!1;for(var i in this.models){if(this.models.hasOwnProperty(i))if(this.models[i].getModelDescriptor().isUserIdExist(e)){t=!0;break}}for(var n=0,r=this.plugins.length;r>n;n+=1)if(this.plugins[n].isUserIdExist&&this.plugins[n].isUserIdExist(e)){t=!0;break}return t},WE.prototype.getNodeInfosByUserId=function(e){var t=[];for(var i in this.models){var n=this.models[i];if(n&&n.isLoaded()){var r=this.models[i].getModelDescriptor().getNodeInfosByUserId(e);r&&(t=t.concat(r))}}for(var o=0,a=this.plugins.length;a>o;o+=1)if(this.plugins[o].getNodeInfosByUserId){var s=this.plugins[o].getNodeInfosByUserId(e);s&&(t=t.concat(s))}return t.length?t:null},WE.prototype.getNodeInfos=function(){var e={};for(var t in this.models)if(this.models[t].isLoaded()){var i=this.models[t].getModelDescriptor().getAllNodeInfos();i&&(e[t]=i)}var n=this.getNodeInfosInPlugins();return Object.assign(e,n),e},WE.prototype.getNodeInfosInPlugins=function(){for(var e={},t=0,i=this.plugins.length;i>t;t+=1)this.plugins[t].getAllNodeInfos&&this.plugins[t].getAllNodeInfos(e);return e},WE.prototype.getMaterialByNodeId=function(e,t,i){var n=this.models[e];if(!n)return null;for(var r=n.getModelDescriptor().getNodeInfosByUserId(t),o=-1,a=0,s=r.length;s>a;a+=1)if(r[a].nodeId===i){o=a;break}return-1!==o?n.getMaterialByMaterialId(r[o].materialId):null},WE.prototype.getNodeInfoByNodeId=function(e,t,i){var n=this.models[e];if(!n)return null;for(var r=n.getModelDescriptor().getNodeInfosByUserId(t),o=-1,a=0,s=r.length;s>a;a+=1)if(r[a].nodeId===i){o=a;break}return-1!==o?r[o]:null},WE.prototype.getComponentInfoByUserId=function(e){var t=this.getNodeInfosByUserId(e);if(t&&t.length>0){for(var i=new He,n=[],r=0,o=t.length;o>r;r+=1)i.union(t[r].boundingBox),-1===n.indexOf(t[r].materialId)&&n.push(t[r].materialId);return{userId:e,state:0,materials:n,boundingBox:i,userData:t[0].userData}}return null},WE.prototype.getBoundingBoxByIds=function(e){var t=this.getScene(),i=new He;for(var n in e)if(!this.isHiddenUserId(n)){Array.isArray(e)&&(n=e[n]);var r=this.getComponentInfoByUserId(n);if(r)i.union(r.boundingBox);else{var o=t.getExtrudeBodyManager().getNode(n);if(o){var a=o.geometry.boundingBox.clone();o.matrix&&a.applyMatrix4(o.matrix),i.union(a)}}}return i},WE.prototype.createMaterialOverrideSet=function(e,t){this.materialOverrideSet=new MaterialOverriderSet(e,t),xd.EnableTextureMapping=!0},WE.prototype.getMaterialOverrideSet=function(){return this.materialOverrideSet},WE.prototype.getOverrideMaterialByNodeInfo=function(e){return this.materialOverrideSet?this.materialOverrideSet.getOverrideMaterialByNodeInfo(e):null},WE.prototype.getOverrideMaterialByName=function(e){return this.materialOverrideSet?this.materialOverrideSet.getOverrideMaterialByName(e):null},WE.prototype.loadOverrideMaterialsByDemand=function(e,t){if(this.materialOverrideSet){var i=this.getConditions();this.materialOverrideSet.loadByDemand(i,e,t)}else t&&t()},WE.prototype.getConditions=function(){var e={},t={},i={};for(var n in this.models){var r=this.models[n].getModelDescriptor().getAllNodeInfos();if(r)for(var n in r)if(r.hasOwnProperty(n))for(var o=0,a=r[n].length;a>o;o+=1){var s=r[n][o].userData;t[r[n][o].userId]=!0,i[s.systemTypeId]=!0,e[s.familyId]=!0}}return{familyIds:e,elementIds:t,systemTypeIds:i}},WE.prototype.isHiddenUserId=function(e){var t=!1;for(var i in this.models){if(this.models.hasOwnProperty(i))if((i=this.models[i]).isHiddenUserId(e)){t=!0;break}}return t},WE.prototype.isHiddenSourceObjectUserId=function(e){return!!this.sourceObjectManager&&this.sourceObjectManager.isHidden(e)},WE.prototype.hasHiddenSourceObjectUserId=function(){return!!this.sourceObjectManager&&this.sourceObjectManager.hasHidden()},WE.prototype.updateMeshNodes=function(){for(var e in this.models){if(this.models.hasOwnProperty(e))(e=this.models[e]).updateMeshNodes()}},WE.prototype.getMinDistanceObjects=function(e,t){var i=this,n={};for(var r in this.models)if(this.models.hasOwnProperty(r)){(r=this.models[r]).minDistanceObjects={};var o=r.getMeshesByUserIds(e),a=r.getMeshesByUserIds(t);if(o&&o.length>0&&(n[e]=o),a&&a.length>0&&(n[t]=a),n[e]&&n[t])return n}var s=null,l=null,c=null,h=null,d=null,u=function(){var n={},r=function(e,t,i){var r={};r.mesh=e;var o=new yt;i?o.multiplyMatrices(i,e.matrix):o=e.matrix,r.matrix=o;var a=e.geometry.boundingBox;a||(e.geometry.computeBoundingBox(),a=r.mesh.geometry.boundingBox);var s=a.clone().applyMatrix4(o);r.boundingBox=s,n[t]&&(n[t]=[]),n[t].push(r)};if(!(s=i.scene.getGroup("ExternalComponentManager")))return{v:void 0};for(c=0,h=(l=s.children).length;h>c;c+=1)(d=l[c]).name!==e&&d.name!==t||(wp.isGroupObject(d)?d.traverseVisible((function(e){wp.isMeshObject(e)&&r(e,d.name,d.matrix)})):r(d,d.name));return{v:n}}();return u&&u.v&&(u.v[e]&&u.v[e].length>0&&(n[e]=u.v[e]),u.v[t]&&u.v[t].length>0&&(n[t]=u.v[t]),n[e]&&n[t])||n[e]&&n[t]?n:null},WE.prototype.getMeshByUserId=function(e){for(var t in this.models)if(this.models.hasOwnProperty(t)){var i=(t=this.models[t]).getMeshesByUserIds(e);if(i)return i}return null},WE.prototype.adjustVisibility=function(e){for(var t in this.models)this.models[t]&&this.models[t]._getHandler().adjustVisibility(e);for(var i=0,n=this.plugins.length;n>i;i+=1){var r=this.plugins[i];r.adjustVisibility&&"function"==typeof r.adjustVisibility&&r.adjustVisibility(e)}this.otherAdjustVisibility&&this.otherAdjustVisibility(e)},WE.prototype.changeVisibilityOfSelectedObjects=function(e){for(var t in this.models)this.models[t]&&this.models[t]._getHandler().changeVisibilityOfSelectedObjects(e);for(var i=0,n=this.plugins.length;n>i;i+=1){var r=this.plugins[i];r.changeVisibilityOfSelectedObjects&&"function"==typeof r.changeVisibilityOfSelectedObjects&&r.changeVisibilityOfSelectedObjects(e)}},WE.prototype.changeVisibilityOfNonSelectedObjects=function(e){for(var t in this.models)this.models[t]&&this.models[t]._getHandler().changeVisibilityOfNonSelectedObjects(e);this.otherAdjustVisibility&&this.otherAdjustVisibility(e);for(var i=0,n=this.plugins.length;n>i;i+=1){var r=this.plugins[i];r.changeVisibilityOfNonSelectedObjects&&"function"==typeof r.changeVisibilityOfNonSelectedObjects&&r.changeVisibilityOfNonSelectedObjects(e)}},WE.prototype.adjustInstanceVisibility=function(e){for(var t in this.models)this.models[t]&&this.models[t].merged&&this.models[t]._getHandler().adjustInstanceVisibility(e)},WE.prototype.adjustVisibilityOfObjectsWithoutOutline=function(e){for(var t in this.models)if(this.models[t]){var i=this.models[t].axisNetManager;i&&i.visibleByUser&&(e?this.models[t].axisNetManager.privateShow():this.models[t].axisNetManager.privateHide())}for(var n=0,r=this.plugins.length;r>n;n+=1){var o=this.plugins[n];o.adjustVisibilityOfObjectsWithoutOutline&&"function"==typeof o.adjustVisibilityOfObjectsWithoutOutline&&o.adjustVisibilityOfObjectsWithoutOutline(e)}var a;this.scene.hasClipPlanes()&&((a=this.scene.getClipPlanes()).isEnabled()&&(!1===e&&a.visible?(a.visible=!1,a._hideByModelManager=!0):!0===e&&a._hideByModelManager&&(a.visible=!0,delete a._hideByModelManager)));this.scene.hasFillClipPlanes()&&((a=this.scene.getFillClipPlane()).isEnabled()&&(!1===e&&a.visible?(a.visible=!1,a._hideByModelManager=!0):!0===e&&a._hideByModelManager&&(a.visible=!0,delete a._hideByModelManager)));this.scene.receivingPlane&&(!1===e&&this.scene.receivingPlane.visible?(this.scene.receivingPlane.visible=!1,this.scene.receivingPlane._hideByModelManager=!0):!0===e&&this.scene.receivingPlane._hideByModelManager&&(this.scene.receivingPlane.visible=!0,delete this.scene.receivingPlane._hideByModelManager)),this.otherAdjustVisibility&&this.otherAdjustVisibility(e);for(var s=this.scene.children,l=(n=0,s.length);l>n;n+=1){var c=s[n];c!==this.scene.objectGroups&&!0!==c.isLight&&!0===c.isObject3D&&(c.visible=e)}},WE.prototype.changeInstanceVisibilityOfSelectedObjects=function(e){for(var t in this.models)this.models[t]&&this.models[t].merged&&this.models[t]._getHandler().changeInstanceVisibilityOfSelectedObjects(e)},WE.prototype.changeInstanceVisibilityOfNonSelectedObjects=function(e){for(var t in this.models)this.models[t]&&this.models[t].merged&&this.models[t]._getHandler().changeInstanceVisibilityOfNonSelectedObjects(e)},WE.prototype.restoreVisibilityOfObjects=function(){for(var e in this.models)this.models[e]&&this.models[e]._getHandler().restoreVisibilityOfObjects();this.otherAdjustVisibility&&this.otherAdjustVisibility(!0)},WE.prototype.getComponentKeysByTypeFromList=function(e,t){var i=[];for(var n in this.models){if(this.models.hasOwnProperty(n))if((n=this.models[n]).isLoaded()){var r=n.getComponentKeysByTypeFromList(e,t);r&&(i=i.concat(r))}}return i},WE.prototype.getComponentKeysByType=function(e){var t=[];for(var i in this.models){if(this.models.hasOwnProperty(i))if((i=this.models[i]).isLoaded()){var n=i.getComponentKeysByType(e);n&&(t=t.concat(n))}}return t},WE.prototype.getComponentKeysByName=function(e){var t=[];for(var i in this.models)if(this.models.hasOwnProperty(i)){var n=(i=this.models[i]).getComponentKeysByName(e);n&&(t=t.concat(n))}return t},WE.prototype.getComponentKeysByProperty=function(e,t){var i=[];for(var n in this.models)if(this.models.hasOwnProperty(n)){var r=(n=this.models[n]).getComponentKeysByProperty(e,t);r&&(i=i.concat(r))}return i},WE.prototype.getBlinkMaterials=function(){var e=[];for(var t in this.models)this.models[t]&&this.models[t]._getHandler().getBlinkMaterials&&(e=e.concat(this.models[t]._getHandler().getBlinkMaterials()));return e},WE.prototype.resetBlinkMaterial=function(){for(var e=this.getBlinkMaterials(),t=0,i=e.length;i>t;t+=1)e[t].resetBlinkUniformValue()},WE.prototype.updateBlinkMaterial=function(){if(null!==this.blinkStartTime){if(Date.now()-this.blinkStartTime>=this.blinkIntervalTime){this.blinkStartTime=Date.now(),this.indexSwitch=!this.indexSwitch;for(var e=this.indexSwitch?Jd.BLINK:Jd.NONE,t=this.getBlinkMaterials(),i=0,n=t.length;n>i;i+=1)t[i].updateBlinkUniformValue(e,this.blinkColor)}}else this.blinkStartTime=Date.now()},WE.prototype.getBlinkColor=function(){return this.blinkColor},WE.prototype.setBlinkColor=function(e,t){if(e){var i=wp.hexToRgb(e);this.blinkColor.fromArray([i.r,i.g,i.b,t||1])}else this.blinkColor.set(this.defaultBlinkColor.r,this.defaultBlinkColor.g,this.defaultBlinkColor.b,this.defaultBlinkAlpha)},WE.prototype.setBlinkIntervalTime=function(e){this.blinkIntervalTime>0&&(this.blinkIntervalTime=e)},WE.prototype.enableBlink=function(e){this.blinkEnabled=e,e?null===this.blinkStartTime&&(this.blinkStartTime=Date.now()):(this.blinkStartTime=null,this.resetBlinkMaterial()),this.applyBlink()},WE.prototype.getBlinkEnabled=function(){return!this.isBlinkPermited()&&this.blinkEnabled},WE.prototype.getBlinkComponentsIdMap=function(){return this.isBlinkPermited()?null:this.sceneState.getBlinkComponentsIdMap()},WE.prototype.applyBlink=function(){if(!this.isBlinkPermited())for(var e in this.selectPriority=!1,this.models){this.models[e].applyBlink()}},WE.prototype.clearBlink=function(){if(!this.isBlinkPermited())for(var e in this.selectPriority=!1,this.models){this.models[e].clearBlink()}},WE.prototype.permitBlink=function(e){this.blinkPermited=e},WE.prototype.isBlinkPermited=function(){return this.blinkPermited},WE.prototype.isSelectPriority=function(){return this.selectPriority},WE.prototype.getSceneState=function(){return this.sceneState},WE.prototype.getModelSceneState=function(){return this.modelState},WE.prototype.disposeBufferAfterVbo=function(){if(xd.EnableDisposeBufferAfterVbo)for(var e in this.models){this.models[e].disposeBufferAfterVbo()}},WE.prototype.getSourceObjectManager=function(){return this.sourceObjectManager||(this.sourceObjectManager=new YE),this.sourceObjectManager},WE.prototype.isHiddenUserId=function(e){return!!this.sourceObjectManager&&this.sourceObjectManager.isHidden(e)},WE.prototype.hasHiddenUserId=function(){return!!this.sourceObjectManager&&this.sourceObjectManager.hasHidden()},WE.prototype.traverseModels=function(e,t){for(var i in this.models){var n=this.models[i];if(t&&t(n))break;e&&e(n)}},WE.prototype.traverseLoadedModels=function(e){for(var t in this.models){var i=this.models[t];i&&i.isLoaded()&&e(i)}},WE.prototype.getStatisticsInfo=function(){var e=0,t=0,i=0,n=0;for(var r in this.models){var o=this.models[r];if(o&&o.isLoaded()){var a=o.getTrianglesCount();e+=a.positionsCount,t+=a.trianglesCount,i+=a.realPositionCount,n+=a.realTrianglesCount}}return{positionsCount:e,trianglesCount:t,realPositionCount:i,realTrianglesCount:n,componentCount:this.getAllComponentsKey().length}},WE.prototype.dealStateChanged=function(){this.hasModelDataReady()&&(this.isRenderStateChanged()||this.filter.isStateChanged())&&(this.isRenderStateChanged()&&this.setRenderStateChanged(!1),this.filter.isStateChanged()&&this.filter.disableStateChanged(),this.applyFilter())},WE.prototype.setRenderStateChanged=function(e){this._renderStateChanged=e},WE.prototype.isRenderStateChanged=function(){return this._renderStateChanged},WE.prototype.hasLoadOnDemandDirector=function(){return!!this.loadOnDemandDirector},WE.prototype.getLoadOnDemandDirector=function(){return this.loadOnDemandDirector||(this.loadOnDemandDirector=new jE(this)),this.loadOnDemandDirector},WE.prototype.checkLayerDataLoading=function(){return!!(this.isLayerData()&&this.hasLoadOnDemandDirector()&&this.getLoadOnDemandDirector().isLoading())&&(this.filter.isStateChanged()&&this.filter.disableStateChanged(),!0)},WE.prototype.updateFilterManager=function(){var e=this.getNodeInfos(),t=this.filter;t.clearFilterManager(),t.initFilterManager(e),t.isStateChanged()&&t.disableStateChanged(),this.updateMeshNodes(),this.applyFilter()},WE.prototype.isDrawingBoardlineEnabled=function(){return!(!xd.DrawingBoardlineEnabled||xd.DrawingStyle!==jd.BOARDLINE&&xd.DrawingStyle!==jd.SHADINGWITHLINE)},WE.prototype.isOnlyWireframe=function(){return xd.DrawingStyle===jd.BOARDLINE},WE.prototype.getExplosionExtent=function(){return this.explosionExtent},WE.prototype.setExplosionExtent=function(e){var t=e-this.explosionExtent;for(var i in this.models)this.models[i]&&this.models[i].explode(t);this.explosionExtent=e},WE.prototype.updateAnimation=function(){var e=this.viewerImpl.clock.getDelta();for(var t in this.models)if(this.models.hasOwnProperty(t)){var i=this.models[t];if(i.hasAnimation&&i.mixer){var n=i.mixer;i.singleStepMode?(n.update(i.sizeOfNextStep),i.sizeOfNextStep=0):n.update(e)}}},WE.prototype.needUpdateAnimation=function(){for(var e in this.models)if(this.models.hasOwnProperty(e)){var t=this.models[e];if(t.hasAnimation&&t.mixer&&t.needUpdate)return!0}return!1},WE.prototype.hasAnimation=function(){for(var e in this.models)if(this.models.hasOwnProperty(e)){var t=this.models[e];if(t.hasAnimation&&t.mixer)return!0}return!1},WE.prototype.unloadGeopkOnDemand=function(e,t){var i=this.models;for(var n in i)if(i.hasOwnProperty(n)){var r=i[n];r.isLoaded()&&!r.isEmptyScene()&&r.isLayerData()&&r.unloadGeopkOnDemand(e,t)}},WE.prototype.loadGeopkOnDemand=function(e,t,i,n){this.getLoadOnDemandDirector().loadGeopkOnDemandByConditions(e,t,i,n)},WE.prototype.loadAllGeosOnDemand=function(e,t){var i=this.models;for(var n in i)if(i.hasOwnProperty(n)){var r=i[n];r.isLoaded()&&!r.isEmptyScene()&&r.isLayerData()&&r.loadAllGeosOnDemand(e,t)}},WE.prototype.getBoundingBoxOnDemand=function(){var e=this.models,t=new He;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.isLoaded()&&!n.isEmptyScene()&&n.isLayerData()){var r=n.getUnionBoundingBoxOnDemand();r&&t.union(r)}}return t},WE.prototype.setConditionsOnDemandLoad=function(e){this.conditionsOnDemandLoad=e;var t=this.models;for(var i in t)if(t.hasOwnProperty(i)){var n=t[i];n.isLoaded()&&!n.isEmptyScene()&&n.isLayerData()&&n.setConditionsChangedOnDemand(!0)}},WE.prototype.getConditionsOnDemandLoad=function(){return this.conditionsOnDemandLoad},WE.prototype.componentsExplosion=function(e){var t=this.models;for(var i in t){if(t.hasOwnProperty(i))t[i].componentsExplosion(e)}},WE.prototype.closeComponentsExplosion=function(e){var t=this.models;for(var i in t){if(t.hasOwnProperty(i))t[i].closeComponentsExplosion(e)}},WE.prototype.canFloorExplosion=function(){var e=this.models,t=!1;for(var i in e){if(e.hasOwnProperty(i))e[i].floorManager&&(t=!0)}return t},WE.prototype.floorExplosion=function(e){var t=this.models,i=!1;for(var n in t){if(t.hasOwnProperty(n))t[n].floorExplosion(e)&&(this.updateSceneBoundingBox(),i=!0)}return i},WE.prototype.closeFloorExplosion=function(){var e=this.models;for(var t in e){if(e.hasOwnProperty(t))e[t].closeFloorExplosion()}},WE.prototype.checkTilesDataChanged=function(e,t){if(!this.cameraPosition.equals(e.position)||this.cameraFov!==e.fov||this.domElementWidth!==t.domElement.width){this.cameraFov=e.fov||45,this.cameraPosition=e.position.clone()||new Ke,this.domElementWidth=t.domElement.width||1e3;var i=!1,n=this.checkMemory();for(var r in n>xd.MaximumAvailableMemory&&(i=!0),this.models)if(this.models.hasOwnProperty(r)){var o=this.models[r];o.isTilesModel&&o.checkTilesDataChanged(i)}}},WE.prototype.checkMemory=function(){var e=0,t=this.viewerImpl.getRenderer().info;return e+=6*(t.render.triangles||0),e+=1024*(t.memory.textures||0)*1024/4,e+=1024*(t.render.calls||0)/4,e+=1024*(t.memory.geometries||0)/4,e*=1/1048576,e=Math.ceil(e)},WE.prototype.getMeshIdFromOctantMap=function(e){return e.single?e.nodeId:e.instanceOrNot?wp.getCombinedKeyString(e.uv2Info?[e.materialId,e.geometryId,e.uv2Info.byteOffset]:[e.materialId,e.geometryId]):xd.MergeComponent?wp.getCombinedKeyString([e.materialId,e.uv?"1":"0",e.type===zy.EnumNodeItemType.LINE?"lines":"meshes"]):e.nodeId},WE.prototype.computeRenderTime=function(){for(var e=this,t=this.getModelKeys(),i=function(i){var n=e.getModel(t[i]),a=n._getNodeGroup("InstanceGeometry").children.length,s=n._getNodeGroup("Geometry").children.length,l=n._getNodeGroup("InstanceWireframeGeometry").children.length,c=n._getNodeGroup("Wireframe").children.length;r=0,o=0;n.group.traverse((function(e){if(e.isMesh){var t=e.geometry,i=t.getAttribute("position").count,n=t.index.count/3,h=t.getAttribute("vState"),d=6*i;if(t.getAttribute("uv")&&(d+=2*i),t.getAttribute("uv2")&&(d+=2*i),d+=3*n,h){var u=24e-5*d/15e3*h.count;.02>u&&(u=.02),r+=u}else{var p=.004+((s+a)/3e4*1e-4+1e-4)*d/(350*(1+(s+a)/25e3))*(t.group?t.group.length:1);.0085>p&&(p=.0085),o+=p}}else if(e.isLineSegments){var g=e.geometry;if(g&&"Geometry"!==g.type){var f=g.getAttribute("position").count,m=g.getAttribute("vState"),A=3*f;if(A+=g.index.count,m){var y=24e-5*A/15e3*m.count;.02>y&&(y=.02),r+=y}else{var v=.004+((c+a)/3e4*1e-4+1e-4)*A/(350*(1+(c+l)/25e3))*(g.group?g.group.length:1);.0085>v&&(v=.0085),o+=v}}}})),console.log("渲染耗时",r+o),console.log("实例化渲染时间",r),console.log("批量渲染时间",o)},n=0;t.length>n;n+=1){var r,o;i(n)}},WE.prototype.getSceneUnit=function(){return xd.SceneUnit};var JE=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).type="InstancedMeshBasicMaterial",n.uniforms=Mn.basic.uniforms,n.vertexShader=function(e){return e.replace("#include <project_vertex>","\n vec4 mvPosition = modelViewMatrix * vec4(getInstancePosition(transformed), 1.0);\n gl_Position = projectionMatrix * mvPosition;\n ")}(function(e){return e.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 ")}(Mn.basic.vertexShader)),n.fragmentShader=function(e){return e.replace("void main() {","\n varying float vfState; \n void main() {\n if (vfState <= -0.99 && vfState >= -1.01) discard;\n \n ")}(Mn.basic.fragmentShader),n}return i}(gi);function zE(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?t.renderOrder-e.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}var qE=function(e){this.viewer=e;var t=xd.SelectionColor.color;this.wireframeMaterial=new gi({color:t,opacity:1,transparent:!0,blending:5,blendSrc:a,blendDst:o,blendEquation:r}),this.selectedMaterial=new gi({color:t,opacity:.3,transparent:!0}),this.skinningWireframeMaterial=new gi({color:t,opacity:1,transparent:!0,blending:5,blendSrc:a,blendDst:o,blendEquation:r,skinning:!0}),this.skinningSelectedMaterial=new gi({color:t,opacity:.3,transparent:!0,skinning:!0}),this.selectedLineMaterial=new xM({color:t,opacity:1,transparent:!0,linewidth:2,dashed:!1}),this.instancedWireFrameMaterial=new JE({color:t,opacity:1,transparent:!0,blending:5,blendSrc:a,blendDst:o,blendEquation:r}),this.instancedSelectedMaterial=new JE({color:t,opacity:.3,transparent:!0}),this.selectionScene=new Vo,this.selectionScene.autoUpdate=!1,this.selectionObjectGroup=new cm,this.selectionObjectGroup.name="PickingObjectGroup",this.selectionObjectGroup.matrixAutoUpdate=!1,this.selectionScene.add(this.selectionObjectGroup),this.lastSelectedUserIdMap=null,this.lastSelectedUserIds=null};qE.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},qE.prototype.apply=function(e){var t=this.viewer,i=t.getSelection();if(!i||!i.length)return this._clearSelectedUserIdsCache(),void this._clearMeshesFromScene();(e||this._isSelectionsChanged())&&(this._cacheSelectedUserIds(i),this._updateScene(i));var n=t.rendererManager.getRenderer().getTransparentSort();t.rendererManager.getRenderer().setTransparentSort(zE),this._render(t.rendererManager.getRenderer(),t.camera),t.rendererManager.getRenderer().setTransparentSort(n)},qE.prototype._isSelectionsChanged=function(){var e=this.lastSelectedUserIds;if(!e)return!0;var t=this.viewer.getSelection(),i=t.length;if(i!==e.length)return!0;for(var n=!1,r=this.lastSelectedUserIdMap,o=i-1;o>=0;o-=1)if(!r[t[o]]){n=!0;break}return n},qE.prototype._cacheSelectedUserIds=function(e){this.lastSelectedUserIds=e.slice(0),this.lastSelectedUserIdMap=wp.arrayToMap(e)},qE.prototype._clearSelectedUserIdsCache=function(){this.lastSelectedUserIds=null,this.lastSelectedUserIdMap=null},qE.prototype._render=function(e,t){var i=e.autoClearColor,n=e.autoClearDepth,r=e.autoClearStencil;e.autoClearColor=!1,e.autoClearDepth=!0,e.autoClearStencil=!1,e.render(this.selectionScene,t),e.autoClearColor=i,e.autoClearDepth=n,e.autoClearStencil=r},qE.prototype._updateScene=function(e){this._clearMeshesFromScene(),this._addMeshesToScene(this._getSelectedMeshes(e)),this._updateMatrixWorldForScene(),this._updateSelectedLineMaterial()},qE.prototype._clearMeshesFromScene=function(){this.selectionObjectGroup.clear()},qE.prototype._addMeshesToScene=function(e){for(var t=0,i=e.length;i>t;t+=1)this.selectionObjectGroup.add(e[t])},qE.prototype._updateMatrixWorldForScene=function(){this.selectionObjectGroup.matrix.copy(this.viewer.getScene().getMatrixGlobal()),this.selectionObjectGroup.updateMatrixWorld(!0)},qE.prototype._getSelectedMeshes=function(e){var t={meshes:[]},i=this,n=wp.arrayToMap(e);return this.viewer.getModelManager().traverseLoadedModels((function(r){r.getPickingMeshes(i,t,e,n)})),t.meshes},qE.prototype._updateSelectedLineMaterial=function(){xd.PickingLineWidthEnabled&&this.selectedLineMaterial.resolution.set(this.viewer.domElement.offsetWidth,this.viewer.domElement.offsetHeight)},qE.prototype.setSelectionColor=function(e,t){var i=this.selectedMaterial.opacity;t=void 0===t?i:t,"0x"+this.selectedMaterial.color.getHexString()===e&&i===t||(this.selectedMaterial.color.setHex(e),this.skinningSelectedMaterial.color.setHex(e),this.instancedSelectedMaterial.color.setHex(e),void 0===t&&null===t||(this.selectedMaterial.opacity=t,this.skinningSelectedMaterial.opacity=t,this.instancedSelectedMaterial.opacity=t,1>t?(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)},qE.prototype.getSelectionColor=function(e,t){var i=this.selectedMaterial.opacity;return new Du(this.selectedMaterial.color.getHex(),i)},qE.prototype.setLineSelectionColor=function(e,t){var i=this.wireframeMaterial.opacity;t=void 0===t?i:t,"0x"+this.wireframeMaterial.color.getHexString()===e&&i===t||(this.wireframeMaterial.color.setHex(e),this.skinningWireframeMaterial.color.setHex(e),this.selectedLineMaterial.color.setHex(e),this.instancedWireFrameMaterial.color.setHex(e),void 0===t&&null===t||(this.wireframeMaterial.opacity=t,this.skinningWireframeMaterial.opacity=t,this.selectedLineMaterial.opacity=t,this.instancedWireFrameMaterial.opacity=t,1>t?(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)},qE.prototype.getLineSelectionColor=function(){var e=this.wireframeMaterial.opacity;return new Du(this.wireframeMaterial.color.getHex(),e)};var ZE=new yt,XE=function(){function e(t){ru(this,e),t=t||{},this.vertices={near:[new Ke,new Ke,new Ke,new Ke],far:[new Ke,new Ke,new Ke,new Ke]},void 0!==t.projectionMatrix&&this.setFromProjectionMatrix(t.projectionMatrix,t.maxFar||1e4)}return au(e,[{key:"setFromProjectionMatrix",value:function(e,t){var i=0===e.elements[11];return ZE.copy(e).invert(),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(e){e.applyMatrix4(ZE)})),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(e){e.applyMatrix4(ZE);var n=Math.abs(e.z);i?e.z*=Math.min(t/n,1):e.multiplyScalar(Math.min(t/n,1))})),this.vertices}},{key:"split",value:function(t,i){for(;t.length>i.length;)i.push(new e);i.length=t.length;for(var n=0;t.length>n;n+=1){var r=i[n];if(0===n)for(var o=0;4>o;o+=1)r.vertices.near[o].copy(this.vertices.near[o]);else for(var a=0;4>a;a+=1)r.vertices.near[a].lerpVectors(this.vertices.near[a],this.vertices.far[a],t[n-1]);if(n===t-1)for(var s=0;4>s;s+=1)r.vertices.far[s].copy(this.vertices.far[s]);else for(var l=0;4>l;l+=1)r.vertices.far[l].lerpVectors(this.vertices.near[l],this.vertices.far[l],t[n])}}},{key:"toSpace",value:function(e,t){for(var i=0;4>i;i+=1)t.vertices.near[i].copy(this.vertices.near[i]).applyMatrix4(e),t.vertices.far[i].copy(this.vertices.far[i]).applyMatrix4(e)}}]),e}(),_E={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"+xn.lights_pars_begin},$E=new yt,eB=new XE,tB=new XE,iB=new Ke;new Ke;var nB=new He,rB=[],oB=[],aB=function(){function e(t){ru(this,e),this.camera=(t=t||{}).camera,this.parent=t.parent,this.cascades=t.cascades||3,this.maxFar=t.maxFar||1e5,this.mode=t.mode||"practical",this.shadowMapSize=t.shadowMapSize||2048,this.shadowBias=t.shadowBias||1e-6,this.lightDirection=t.lightDirection||new Ke(1,-1,1).normalize(),this.lightIntensity=t.lightIntensity||1,this.lightNear=t.lightNear||1,this.lightFar=t.lightFar||2e3,this.lightMargin=t.lightMargin||200,this.customSplitsCallback=t.customSplitsCallback,this.fade=!1,this.mainFrustum=new XE,this.frustums=[],this.breaks=[],this.lights=[],this.shaders=new Map,this.createLights(),this.getBreaks(),this.initCascades(),this.injectInclude()}return au(e,[{key:"createLights",value:function(){for(var e=0;this.cascades>e;e++){var t=new fc(16777215,this.lightIntensity);t.castShadow=!0,t.intensity=.72,t.distance=300,t.color.setHex(14800580),t.position.set(-100,100,160),t.shadow.mapSize.width=this.shadowMapSize,t.shadow.mapSize.height=this.shadowMapSize,t.shadow.camera.near=this.lightNear,t.shadow.camera.far=this.lightFar,t.shadow.bias=this.shadowBias,t.updateMatrixWorld(),this.parent.add(t),this.parent.add(t.target),this.lights.push(t)}}},{key:"initCascades",value:function(){var e=this.camera;e.updateProjectionMatrix(),this.mainFrustum.setFromProjectionMatrix(e.projectionMatrix,this.maxFar),this.mainFrustum.split(this.breaks,this.frustums)}},{key:"getBreaks",value:function(){var e=this.camera,t=Math.min(e.far,this.maxFar);switch(this.breaks.length=0,this.mode){case"uniform":i(this.cascades,e.near,t,this.breaks);break;case"logarithmic":n(this.cascades,e.near,t,this.breaks);break;case"practical":!function(e,t,r,o,a){rB.length=0,oB.length=0,n(e,t,r,oB),i(e,t,r,rB);for(var s=1;e>s;s++)a.push(be.lerp(rB[s-1],oB[s-1],o));a.push(1)}(this.cascades,e.near,t,.5,this.breaks);break;case"custom":void 0===this.customSplitsCallback&&console.error("CSM: Custom split scheme callback not defined."),this.customSplitsCallback(this.cascades,e.near,t,this.breaks)}function i(e,t,i,n){for(var r=1;e>r;r++)n.push((t+(i-t)*r/e)/i);n.push(1)}function n(e,t,i,n){for(var r=1;e>r;r++)n.push(t*(i/t)*(r/e)/i);n.push(1)}}},{key:"update",value:function(e){for(var t=this.frustums,i=0;t.length>i;i++){var n=this.lights[i];n.shadow.camera.updateMatrixWorld(!0),$E.multiplyMatrices(n.shadow.camera.matrixWorldInverse,e),t[i].toSpace($E,eB);var r=eB.vertices.near,o=eB.vertices.far,a=o[0],s=void 0;s=a.distanceTo(o[2])>a.distanceTo(r[2])?o[2]:r[2];var l=a.distanceTo(s);nB.makeEmpty();for(var c=0;4>c;c++)nB.expandByPoint(r[c]),nB.expandByPoint(o[c]);if(this.fade){var h=this.camera,d=Math.max(h.far,this.maxFar);l+=.25*Math.pow(t[i].vertices.far[0].z/(d-h.near),2)*(d-h.near)}var u=l/this.shadowMapSize;nB.getCenter(iB),iB.z=nB.max.z+this.lightMargin,iB.x=Math.floor(iB.x/u)*u,iB.y=Math.floor(iB.y/u)*u,iB.applyMatrix4(n.shadow.camera.matrixWorld),n.shadow.camera.left=-l/2,n.shadow.camera.right=l/2,n.shadow.camera.top=l/2,n.shadow.camera.bottom=-l/2,n.position.copy(iB),n.target.position.copy(iB),n.target.position.x+=this.lightDirection.x,n.target.position.y+=this.lightDirection.y,n.target.position.z+=this.lightDirection.z,n.shadow.camera.updateProjectionMatrix(),n.shadow.camera.updateMatrixWorld()}}},{key:"injectInclude",value:function(){xn.lights_fragment_begin=_E.lights_fragment_begin,xn.lights_pars_begin=_E.lights_pars_begin}},{key:"setupMaterial",value:function(e){e.defines=e.defines||{},e.defines.USE_CSM=1,e.defines.CSM_CASCADES=this.cascades,this.fade&&(e.defines.CSM_FADE="");var t=[],i=this,n=this.shaders;e.onBeforeCompile=function(r){var o=Math.min(i.camera.far,i.maxFar);i.getExtendedBreaks(t),console.log("www",t,t.length),r.uniforms.CSM_cascades={value:t},r.uniforms.cameraNear={value:i.camera.near},r.uniforms.shadowFar={value:o},n.set(e,r)},n.set(e,null)}},{key:"updateUniforms",value:function(){var e=Math.min(this.camera.far,this.maxFar);this.shaders.forEach((function(t,i){if(null!==t){var n=t.uniforms;this.getExtendedBreaks(n.CSM_cascades.value),n.cameraNear.value=this.camera.near,n.shadowFar.value=e}!this.fade&&"CSM_FADE"in i.defines?(delete i.defines.CSM_FADE,i.needsUpdate=!0):this.fade&&!("CSM_FADE"in i.defines)&&(i.defines.CSM_FADE="",i.needsUpdate=!0)}),this)}},{key:"getExtendedBreaks",value:function(e){for(;this.breaks.length>e.length;)e.push(new ke);e.length=this.breaks.length;for(var t=0;this.cascades>t;t++){var i=this.breaks[t];e[t].x=this.breaks[t-1]||0,e[t].y=i}}},{key:"updateFrustums",value:function(){this.getBreaks(),this.initCascades(),this.updateUniforms()}},{key:"helper",value:function(e){for(var t,i,n=new Sa({color:16777215}),r=new Yt,o=0;this.frustums.length>o;o++){this.frustums[o].toSpace(e,tB),t=new Ni,i=[];for(var a=0;5>a;a++){var s=tB.vertices.near[4===a?0:a];i.push(s.x,s.y,s.z)}t.setAttribute("position",new Ai(new Float32Array(i),3)),r.add(new Ua(t,n)),t=new Ni,i=[];for(var l=0;5>l;l++){var c=tB.vertices.far[4===l?0:l];i.push(c.x,c.y,c.z)}t.setAttribute("position",new Ai(new Float32Array(i),3)),r.add(new Ua(t,n));for(var h=0;4>h;h++){t=new Ni;var d=tB.vertices.near[h],u=tB.vertices.far[h];(i=[]).push(d.x,d.y,d.z),i.push(u.x,u.y,u.z),t.setAttribute("position",new Ai(new Float32Array(i),3)),r.add(new Ua(t,n))}}return r}},{key:"remove",value:function(){for(var e=0;this.lights.length>e;e++)this.parent.remove(this.lights[e])}},{key:"dispose",value:function(){var e=this.shaders;e.forEach((function(e,t){delete t.onBeforeCompile,delete t.defines.USE_CSM,delete t.defines.CSM_CASCADES,delete t.defines.CSM_FADE,delete e.uniforms.CSM_cascades,delete e.uniforms.cameraNear,delete e.uniforms.shadowFar,t.needsUpdate=!0})),e.clear()}}]),e}(),sB=new ke,lB=function(e){this.viewer=e,this.renderer=null,this.countRenderRequest=0,this.maxCountRenderRequest=1e4,this.rendering=!1,this.incrementRenderHandle=0,this.composer=null,this.blinkHandle=0,this.transparentSort=function(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}};lB.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},lB.prototype.setupRenderer=function(e){if(!this.renderer){var t=this.viewer;this.renderer=new Po(e),this.viewer.scene.renderer=this.renderer,this.renderer._scene=this.viewer.scene;var i=t.domElement.offsetWidth,n=t.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(i,n),this.renderer.sortObjects=!0,this.renderer.domElement.setAttribute("tabindex","0"),this.renderer.domElement.setAttribute("class","main-canvas"),t.domElement.appendChild(this.renderer.domElement)}},lB.prototype.resetupRenderer=function(e){var t=this.viewer;e.context=this.renderer.getContext();var i=new Po(e);i.setClearColor(this.renderer.getClearColor(),this.renderer.getClearAlpha()),i.setPixelRatio(this.renderer.getPixelRatio());var n=this.renderer.getSize(new ke);i.setSize(n.x,n.y),i.gammaFactor=this.renderer.gammaFactor,i.sortObjects=this.renderer.sortObjects,i.domElement=this.renderer.domElement,i.toneMapping=this.renderer.toneMapping,i.shadowMap.enabled=this.renderer.shadowMap.enabled,i.clippingPlanes=this.renderer.clippingPlanes,i.shadowMap.enabled=this.renderer.shadowMap.enabled,i.shadowMap.type=this.renderer.shadowMap.type,i.shadowMap.autoUpdate=this.renderer.shadowMap.autoUpdate,i.shadowMap.needsUpdate=this.renderer.shadowMap.needsUpdate,i.setTransparentSort(this.transparentSort),this.renderer=i,this.viewer.scene.renderer=this.renderer,this.renderer._scene=this.viewer.scene,this.composer&&this.composer.reinit(this.renderer,t.modelManager,t.getScene(),t.camera,n.x,n.y)},lB.prototype.setupShadowMap=function(e){var t=this.viewer,i=new aB({maxFar:e.far,cascades:4,mode:e.mode,parent:t.getScene().getExternalScene(),shadowMapSize:1024,lightDirection:new Ke(e.lightX,e.lightY,e.lightZ).normalize(),camera:t.camera});this.csm=i;var n=new XC;n.add(e,"orthographic").onChange((function(e){})),n.add(e,"fade").onChange((function(e){i.fade=e,i.updateFrustums()})),n.add(e,"far",1,5e7).step(1).name("shadow far").onChange((function(e){i.maxFar=e,i.updateFrustums()})),n.add(e,"mode",["uniform","logarithmic","practical"]).name("frustum split mode").onChange((function(e){i.mode=e,i.updateFrustums()})),n.add(e,"lightX",-1,1).name("light direction x").onChange((function(e){i.lightDirection.x=e})),n.add(e,"lightY",-1,1).name("light direction y").onChange((function(e){i.lightDirection.y=e})),n.add(e,"lightZ",-1,1).name("light direction z").onChange((function(e){i.lightDirection.z=e})),n.add(e,"margin",0,2e6).name("light margin").onChange((function(e){i.lightMargin=e})),n.add(e,"lightNear",1,1e7).name("light near").onChange((function(e){for(var t=0;i.lights.length>t;t+=1)i.lights[t].shadow.camera.near=e,i.lights[t].shadow.camera.updateProjectionMatrix()})),n.add(e,"lightFar",1,1e8).name("light far").onChange((function(e){for(var t=0;i.lights.length>t;t+=1)i.lights[t].shadow.camera.far=e,i.lights[t].shadow.camera.updateProjectionMatrix()}))},lB.prototype._applyPickingEffectForIncrement=function(){if(this.getPickingEffecter()){var e=this.viewer.modelManager.isFilterApplied();this.orderedRenderer.restart(),this.orderedRenderer.setNonBreakingRender(!0),this.pickingEffecter.apply(e),this.orderedRenderer.setNonBreakingRender(!1)}},lB.prototype._applyPickingEffect=function(){if(this.getPickingEffecter()){var e=this.viewer.modelManager.isFilterApplied();this.pickingEffecter.apply(e)}},lB.prototype._forceRenderOneFrame=function(){var e=this.viewer,t=e.camera,i=e.modelManager.getScene();this.orderedRenderer?(this.orderedRenderer.restart(),this.orderedRenderer.setNonBreakingRender(!0),this.renderer.render(i,t,null,!0),this.orderedRenderer.setNonBreakingRender(!1)):(this.renderer.setRenderTarget(null),this.renderer.clear(),this.renderer.render(i,t))},lB.prototype.incrementRender=function(e){if(this.countRenderRequest+=1,this.countRenderRequest>this.maxCountRenderRequest&&(this.countRenderRequest=0),!this.rendering&&!this.pickingEffectRendering){this.rendering=!0;var t=this,i=this.viewer,n=i.camera,r=i.modelManager,o=i.editorManager,a=i.getScene(),s=this.renderer;r.calculateCameraModelRelation(n.position),i.cameraControl.updateCamera(),i.calculateNearFar(),a.updateLights(n);var l=o.isUpdateRenderList;s.resetIncrementRender(),s.setObjectListUpdateState(l),l&&r.prepareScene(n),this.incrementRenderHandle=requestAnimationFrame(function e(l,c){var h=l;return function(){s.autoClear=c,o.cameraChange?(s.resetIncrementRender(),s.autoClear=!0,o.cameraChange=!1):s.autoClear=c,s.render(a,n)||h!==t.countRenderRequest?(t.rendering=!1,h!==t.countRenderRequest?i.render():(t.pickingEffectRendering=!0,t._applyPickingEffectForIncrement(),r.setFilterApplied(!1),i.onRenderFinishedCallback(),r.disposeBufferAfterVbo(),t.pickingEffectRendering=!1)):t.incrementRenderHandle=requestAnimationFrame(e(h,!1))}}(t.countRenderRequest,!0)),i.onRenderCallback(),i.cameraControl.setCameraChanging(!1)}},lB.prototype.fullRender=function(){var e=this,t=this.viewer,i=t.camera,n=t.modelManager,r=t.getScene(),o=this.renderer;this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function a(){t.cameraControl.updateCamera(),t.calculateNearFar(),r.updateLights(i),n.getBlinkEnabled()&&n.updateBlinkMaterial();var s=r.fillClipPlane&&r.fillClipPlane.visible,l=r.clipPlanes&&r.clipPlanes.visible&&xd.EnableBoxClippingCaps;if(xd.ClippingCaps&&(s||l)&&xd.EnableClippingCaps){if(s||l){var c=r.getFillClipPlane(),h=r.getClipPlanes(),d=t.modelManager.getModelKeys();n.prepareCapScene(),o.clear(),o.autoClear=!1,s?(c.capPlane.planeMesh.visible=!0,c.capPlane.lineMesh.visible=!0,h.boxMesh.visible=!1):(c.capPlane.planeMesh.visible=!1,c.capPlane.lineMesh.visible=!1,h.boxMesh.visible=!0),c.planeHighLightMatrial.visible=!1,h.planeHighLightMatrial.visible=!1,h.planeMaterial.visible=!1,r.overrideMaterial=r.backMaterial;for(var u={},p=0,g=d.length;g>p;p+=1){var f=d[p],m=t.modelManager.getModel(f);if(u[f]={},m){var A=m._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});u[f][Vp.GEOMETRY]=A.visible,A=m._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0}),u[f][Vp.WIREFRAME]=A.visible,A=m._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),u[f][Vp.INSTANCEGEOMETRY]=A.visible,A.visible=!1,A=m._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),u[f][Vp.INSTANCEWIREFRAMEGEOMETRY]=A.visible,A.visible=!1}}o.render(r,i),r.overrideMaterial=r.backInstanceMaterial;for(var y=0,v=d.length;v>y;y+=1){var C=d[y],I=t.modelManager.getModel(C);if(I){var x=I._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});x.visible=!1,(x=I._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(x=I._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=u[C][Vp.INSTANCEGEOMETRY],(x=I._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=u[C][Vp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(r,i),r.overrideMaterial=r.frontMaterial;for(var w=0,M=d.length;M>w;w+=1){var E=d[w],B=t.modelManager.getModel(E);if(B){var S=B._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});S.visible=u[E][Vp.GEOMETRY],(S=B._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=u[E][Vp.WIREFRAME],S=B._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),u[E][Vp.INSTANCEGEOMETRY]=S.visible,S.visible=!1,S=B._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),u[E][Vp.INSTANCEWIREFRAMEGEOMETRY]=S.visible,S.visible=!1}}o.render(r,i),r.overrideMaterial=r.frontInstanceMaterial;for(var b=0,k=d.length;k>b;b+=1){var D=d[b],T=t.modelManager.getModel(D);if(T){var R=T._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});R.visible=!1,(R=T._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(R=T._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=u[D][Vp.INSTANCEGEOMETRY],(R=T._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=u[D][Vp.INSTANCEWIREFRAMEGEOMETRY]}}o.render(r,i),o.render(n.capsScene,i),r.overrideMaterial=null,c.planeHighLightMatrial.visible=!0,h.planeHighLightMatrial.visible=!0,h.planeMaterial.visible=!0;for(var U=0,F=d.length;F>U;U+=1){var Q=d[U],L=t.modelManager.getModel(Q);if(L){var O=L._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});O.visible=u[Q][Vp.GEOMETRY],(O=L._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=u[Q][Vp.WIREFRAME],(O=L._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=u[Q][Vp.INSTANCEGEOMETRY],(O=L._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=u[Q][Vp.INSTANCEWIREFRAMEGEOMETRY]}}u=null,o.render(r,i)}}else!xd.PickingEffect&&xd.EnableSelectionOutline&&e.composer&&t.getSelection().length>0?e.composer.render():(o.setRenderTarget(null),o.clear(),o.render(r,i));e._applyPickingEffect(),n.setFilterApplied(!1),t.onRenderListener(),t.onRenderFinishedListener(),t.cameraControl.isCameraChanging()&&n.dispatchEvent({type:Fd.ON_CAMERA_CHANGED_AND_RENDERED}),t.cameraControl.setCameraChanging(!1),n.getBlinkEnabled()&&(e.blinkHandle=requestAnimationFrame(a)),n.disposeBufferAfterVbo()}()},lB.prototype.fillCavityRender=function(e){var t=this.viewer,i=t.camera,n=t.modelManager,r=this.renderer,o=t.getScene();function a(e,t,i,n){var r=new To,o=new gi;o.depthWrite=!1,o.depthTest=!1,o.colorWrite=!1,o.stencilWrite=!0,o.stencilFunc=ue;var a=o.clone();a.side=1,a.clippingPlanes=[t],a.stencilFail=ce,a.stencilZFail=ce,a.stencilZPass=ce;var s=new nn(e,a);s.matrixWorld=n.matrixWorld,s.renderOrder=i,r.add(s);var l=o.clone();l.side=0,l.clippingPlanes=[t],l.stencilFail=he,l.stencilZFail=he,l.stencilZPass=he;var c=new nn(e,l);return c.renderOrder=i,c.matrixWorld=n.matrixWorld,r.add(c),r}this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function e(){t.cameraControl.updateCamera(),t.calculateNearFar(),o.updateLights(i),n.getBlinkEnabled()&&n.updateBlinkMaterial();var s=o.fillClipPlane&&o.fillClipPlane.visible,l=o.clipPlanes&&o.clipPlanes.visible,c=r.autoClear,h=r.sortObjects;if(xd.ClippingCaps&&(s||l)){if(s){var d=o.getFillClipPlane(),u=o.getClipPlanes(),p=t.modelManager.getModelKeys();n.prepareCapScene(),r.clear(),r.autoClear=!1,s?(d.capPlane.planeMesh.visible=!0,d.capPlane.lineMesh.visible=!0,u.boxMesh.visible=!1):(d.capPlane.planeMesh.visible=!1,d.capPlane.lineMesh.visible=!1,u.boxMesh.visible=!0),d.planeHighLightMatrial.visible=!1,u.planeHighLightMatrial.visible=!1,u.planeMaterial.visible=!1,o.overrideMaterial=o.backMaterial;for(var g={},f=0,m=p.length;m>f;f+=1){var A=p[f],y=t.modelManager.getModel(A);if(g[A]={},y){var v=y._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});g[A][Vp.GEOMETRY]=v.visible,v=y._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0}),g[A][Vp.WIREFRAME]=v.visible,v=y._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),g[A][Vp.INSTANCEGEOMETRY]=v.visible,v.visible=!1,v=y._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),g[A][Vp.INSTANCEWIREFRAMEGEOMETRY]=v.visible,v.visible=!1}}r.render(o,i),o.overrideMaterial=o.backInstanceMaterial;for(var C=0,I=p.length;I>C;C+=1){var x=p[C],w=t.modelManager.getModel(x);if(w){var M=w._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});M.visible=!1,(M=w._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(M=w._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=g[x][Vp.INSTANCEGEOMETRY],(M=w._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=g[x][Vp.INSTANCEWIREFRAMEGEOMETRY]}}r.render(o,i),o.overrideMaterial=o.frontMaterial;for(var E=0,B=p.length;B>E;E+=1){var S=p[E],b=t.modelManager.getModel(S);if(b){var k=b._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});k.visible=g[S][Vp.GEOMETRY],(k=b._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=g[S][Vp.WIREFRAME],k=b._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),g[S][Vp.INSTANCEGEOMETRY]=k.visible,k.visible=!1,k=b._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),g[S][Vp.INSTANCEWIREFRAMEGEOMETRY]=k.visible,k.visible=!1}}r.render(o,i),o.overrideMaterial=o.frontInstanceMaterial;for(var D=0,T=p.length;T>D;D+=1){var R=p[D],U=t.modelManager.getModel(R);if(U){var F=U._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});F.visible=!1,(F=U._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(F=U._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=g[R][Vp.INSTANCEGEOMETRY],(F=U._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=g[R][Vp.INSTANCEWIREFRAMEGEOMETRY]}}r.render(o,i),r.render(n.capsScene,i),o.overrideMaterial=null,s?d.planeHighLightMatrial.visible=!0:(u.planeHighLightMatrial.visible=!0,u.planeMaterial.visible=!0);for(var Q=0,L=p.length;L>Q;Q+=1){var O=p[Q],N=t.modelManager.getModel(O);if(N){var P=N._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});P.visible=g[O][Vp.GEOMETRY],(P=N._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=g[O][Vp.WIREFRAME],(P=N._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=g[O][Vp.INSTANCEGEOMETRY],(P=N._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=g[O][Vp.INSTANCEWIREFRAMEGEOMETRY]}}g=null,r.render(o,i)}if(l){r.clear(),r.autoClear=!1,r.sortObjects=!0,r.localClippingEnabled=!0;var G=t.modelManager.getModelKeys(),K=r.clippingPlanes;r.clippingPlanes=[];var V=o.getClipPlanes(),Y=new Vo;Y.autoUpdate=!1;for(var H=0,j=o.lightArray.length;j>H;H+=1)Y.add(o.lightArray[H].clone());for(var W=[],J=0;6>J;J+=1)W[J]=V.children[J].clone();for(var z=0,q=G.length;q>z;z+=1){var Z=t.modelManager.getModel(G[z]);if(Z)for(var X=Z._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0}),_=0,$=X.children.length;$>_;_+=1){var ee=new To;ee.name="object";var te=[],ie=[];Y.add(ee);var ne=X.children[_];if(ne.visible){for(var re=ne.geometry,oe=[],se=0;6>se;se+=1)oe[se]=K[se].clone();for(var le=function(e){(he=new To).name="poGroup";var t=oe[e];(de=a(re,t,e+1,ne)).name="stencilGroup",ue=new Xs({color:ne.material[0].color,metalness:.1,roughness:.75,clippingPlanes:oe.filter((function(e){return e!==t})),stencilWrite:!0,stencilRef:0,stencilFunc:517,stencilFail:ae,stencilZFail:ae,stencilZPass:ae});var i=W[e].clone();i.material=ue,i.testNumber=e,i.onAfterRender=function(){r.clearStencil()},i.renderOrder=e+1.1,ee.add(de),he.add(i),te.push(i),Y.add(he),ie.push(he)},ce=0;6>ce;ce+=1){var he,de,ue;le(ce)}for(var pe=ne.clone(),ge=0,fe=pe.material.length;fe>ge;ge+=1)pe.material[ge].clippingPlanes=oe;pe.renderOrder=6,ee.add(pe),r.render(Y,i),Y.remove(ee);for(var me=0,Ae=ie.length;Ae>me;me+=1)Y.remove(ie[me]);te=null}}}r.sortObjects=h,r.clippingPlanes=K,r.autoClear=c,r.localClippingEnabled=!1}}else xd.EnableSelectionOutline&&t.composer&&t.getSelection().length>0?t.composer.render():(r.setRenderTarget(null),r.clear(),r.render(o,i));t.onRenderListener(),t.onRenderFinishedListener(),t.cameraControl.setCameraChanging(!1),n.getBlinkEnabled()&&(t.blinkHandle=requestAnimationFrame(e)),n.disposeBufferAfterVbo()}()},lB.prototype.fillCavityRender2=function(e){var t=this.viewer,i=t.camera,n=t.modelManager,r=this.renderer,o=t.getScene();this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function e(){t.cameraControl.updateCamera(),t.calculateNearFar(),o.updateLights(i),n.getBlinkEnabled()&&n.updateBlinkMaterial();var a=o.fillClipPlane&&o.fillClipPlane.visible,s=o.clipPlanes&&o.clipPlanes.visible,l=r.autoClear;if(xd.ClippingCaps&&(a||s)){if(a){var c=o.getFillClipPlane(),h=o.getClipPlanes(),d=t.modelManager.getModelKeys();n.prepareCapScene(),r.clear(),r.autoClear=!1,a?(c.capPlane.planeMesh.visible=!0,c.capPlane.lineMesh.visible=!0,h.boxMesh.visible=!1):(c.capPlane.planeMesh.visible=!1,c.capPlane.lineMesh.visible=!1,h.boxMesh.visible=!0),c.planeHighLightMatrial.visible=!1,h.planeHighLightMatrial.visible=!1,h.planeMaterial.visible=!1,o.overrideMaterial=o.backMaterial;for(var u={},p=0,g=d.length;g>p;p+=1){var f=d[p],m=t.modelManager.getModel(f);if(u[f]={},m){var A=m._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});u[f][Vp.GEOMETRY]=A.visible,A=m._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0}),u[f][Vp.WIREFRAME]=A.visible,A=m._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),u[f][Vp.INSTANCEGEOMETRY]=A.visible,A.visible=!1,A=m._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),u[f][Vp.INSTANCEWIREFRAMEGEOMETRY]=A.visible,A.visible=!1}}r.render(o,i),o.overrideMaterial=o.backInstanceMaterial;for(var y=0,v=d.length;v>y;y+=1){var C=d[y],I=t.modelManager.getModel(C);if(I){var x=I._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});x.visible=!1,(x=I._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(x=I._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=u[C][Vp.INSTANCEGEOMETRY],(x=I._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=u[C][Vp.INSTANCEWIREFRAMEGEOMETRY]}}r.render(o,i),o.overrideMaterial=o.frontMaterial;for(var w=0,M=d.length;M>w;w+=1){var E=d[w],B=t.modelManager.getModel(E);if(B){var S=B._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});S.visible=u[E][Vp.GEOMETRY],(S=B._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=u[E][Vp.WIREFRAME],S=B._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),u[E][Vp.INSTANCEGEOMETRY]=S.visible,S.visible=!1,S=B._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),u[E][Vp.INSTANCEWIREFRAMEGEOMETRY]=S.visible,S.visible=!1}}r.render(o,i),o.overrideMaterial=o.frontInstanceMaterial;for(var b=0,k=d.length;k>b;b+=1){var D=d[b],T=t.modelManager.getModel(D);if(T){var R=T._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});R.visible=!1,(R=T._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(R=T._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=u[D][Vp.INSTANCEGEOMETRY],(R=T._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=u[D][Vp.INSTANCEWIREFRAMEGEOMETRY]}}r.render(o,i),r.render(n.capsScene,i),o.overrideMaterial=null,a?c.planeHighLightMatrial.visible=!0:(h.planeHighLightMatrial.visible=!0,h.planeMaterial.visible=!0);for(var U=0,F=d.length;F>U;U+=1){var Q=d[U],L=t.modelManager.getModel(Q);if(L){var O=L._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});O.visible=u[Q][Vp.GEOMETRY],(O=L._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=u[Q][Vp.WIREFRAME],(O=L._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=u[Q][Vp.INSTANCEGEOMETRY],(O=L._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=u[Q][Vp.INSTANCEWIREFRAMEGEOMETRY]}}u=null,r.render(o,i)}if(s){r.clear(),r.autoClear=!1;for(var N=t.modelManager.getModelKeys(),P=r.clippingPlanes,G=r.tempPlanes||[],K=0;6>K;K+=1){if(G[K]){if(G[K].equals(P[K]))continue;G[K]=P[K].clone()}else G[K]=P[K].clone();for(var V=0,Y=N.length;Y>V;V+=1){var H=t.modelManager.getModel(N[V]);if(H){var j=H._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0}),W=H._getNodeGroup("sectionFill_"+K);W.clear();for(var J=0,z=j.children.length;z>J;J+=1){var q=j.children[J];if(q.visible){var Z=G[K].clone().applyMatrix4(q.matrixWorld),X=q.geometry;if(X.boundingBox||X.computeBoundingBox(),X.boundingBox.intersectsPlane(Z)){var _=by.getShapeGeometryFromGeometryAndPlane(X,Z);if(_){var $=new nn(_,q.material[0]);W.add($),$.matrixWorld.copy(q.matrixWorld)}}}}}}}r.tempPlanes=G,r.autoClear=l,r.setRenderTarget(null),r.clear(),r.render(o,i)}}else xd.EnableSelectionOutline&&t.composer&&t.getSelection().length>0?t.composer.render():(r.setRenderTarget(null),r.clear(),r.render(o,i));t.onRenderListener(),t.onRenderFinishedListener(),t.cameraControl.setCameraChanging(!1),n.getBlinkEnabled()&&(t.blinkHandle=requestAnimationFrame(e)),n.disposeBufferAfterVbo()}()},lB.prototype.render=function(e){if(this.renderer){var t=this.viewer,i=t.modelManager;if(i.isEmpty())return Bu.log("model not loaded!"),void this._forceRenderOneFrame();i.checkLayerDataLoading()||(t._checkDataChanged(),t.getScene(),t.camera.updateMatrixWorld(),this.csm&&(this.csm.update(t.camera.matrixWorld),this.csm.updateFrustums()),xd.IncrementRender?this.incrementRender(e):xd.FillCavity?this.fillCavityRender2(e):this.fullRender(e))}},lB.prototype.getRenderer=function(){return this.renderer},lB.prototype.setSize=function(e,t){this.renderer.setPixelRatio(window.devicePixelRatio||1),this.renderer.setSize(e,t),this.composer&&this.composer.setSize(e,t)},lB.prototype.getRendererSize=function(){return this.renderer?this.renderer.getSize(sB):sB},lB.prototype.getPickingEffecter=function(){return xd.PickingEffect?(this.pickingEffecter||(this.pickingEffecter=new qE(this.viewer)),this.pickingEffecter):null};var cB=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;ru(this,i),(r=t.call(this,e,n)).type="SkinnedMesh",r.isSkinnedMesh=!0,r.bindMode="attached",r.bindMatrix=new yt,r.bindMatrixInverse=new yt;var o=r.initBones(),a=new Ia(o);return r.bind(a,r.matrixWorld),r.normalizeSkinWeights(),r}return au(i,[{key:"initBones",value:function(){var e=[],t=null,i=null,n=null,r=null;if(this.geometry&&void 0!==this.geometry.bones){for(n=0,r=this.geometry.bones.length;r>n;n+=1)i=this.geometry.bones[n],t=new Aa,e.push(t),t.name=i.name,t.position.fromArray(i.pos),t.quaternion.fromArray(i.rotq),void 0!==i.scl&&t.scale.fromArray(i.scl);for(n=0,r=this.geometry.bones.length;r>n;n+=1)-1!==(i=this.geometry.bones[n]).parent&&null!==i.parent&&void 0!==e[i.parent]?e[i.parent].add(e[n]):this.add(e[n])}return this.updateMatrixWorld(!0),e}},{key:"bind",value:function(e,t){this.skeleton=e,void 0===t&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}},{key:"pose",value:function(){this.skeleton.pose()}},{key:"normalizeSkinWeights",value:function(){var e=null,t=null;if(this.geometry&&this.geometry.isGeometry)for(t=0;this.geometry.skinWeights.length>t;t+=1){var i=this.geometry.skinWeights[t];(e=1/i.lengthManhattan())!==1/0?i.multiplyScalar(e):i.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){var n=new Le,r=this.geometry.attributes.skinWeight;for(t=0;r.count>t;t+=1)n.x=r.getX(t),n.y=r.getY(t),n.z=r.getZ(t),n.w=r.getW(t),(e=1/n.lengthManhattan())!==1/0?n.multiplyScalar(e):n.set(1,0,0,0),r.setXYZW(t,n.x,n.y,n.z,n.w)}}},{key:"updateMatrixWorld",value:function(e){La.prototype.updateMatrixWorld.call(this,e),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}},{key:"clone",value:function(){return new this.constructor(this.geometry,this.material).copy(this)}}]),i}(La),hB=function(e){$y.call(this,e),this.nodeGroupName="PickingExternalMeshGroup",this.pickingEffecter=this.manager.viewer.rendererManager.getPickingEffecter()};Object.assign(hB.prototype,$y.prototype),SA(hB,[{key:"destroy",value:function(){this.pickingEffecter=null}},{key:"_disposeGeometryByNode",value:function(e){e.traverseVisible((function(t){t!==e&&(t.isMesh||t.isLine)&&(t.material=null,t.geometry.dispose())}))}},{key:"disposePickingNodeById",value:function(e){for(var t=this.pickingNodeMap[e],i=0,n=t.length;n>i;i+=1)this._disposeGeometryByNode(t[i]),t[i]=null}},{key:"updatePickingMeshes",value:function(e,t,i){if(this.pickingNodeMap){for(var n=Object.keys(this.pickingNodeMap),r=0,o=n.length;o>r;r+=1){var a=n[r],s=this.pickingNodeMap[a],l=0,c=0;if(i[a]&&this.manager.isPickableNode({userId:a,name:a}))for(l=0,c=s.length;c>l;l+=1)s[l].visible=!0;else for(l=0,c=s.length;c>l;l+=1)s[l].visible=!1}return this.getPickingNodeGroup()}}},{key:"addNode",value:function(e,t){this.addToPickingNodeMap(e,t)}},{key:"removeNodeById",value:function(e){this.removeFromPickingNodeMap(e)}},{key:"clearNodes",value:function(){this.clearData()}},{key:"addToPickingNodeMap",value:function(e,t){for(var i=[],n=!xd.BatchMergeEnabled,r=0,o=t.length;o>r;r+=1){var a=this._createPickingNodeBy(t[r],n);if(a)if(Array.isArray(a))for(var s=0,l=a.length;l>s;s+=1)a[s].name=e,i.push(a[s]);else a.name=e,i.push(a)}this.pickingNodeMap||(this.pickingNodeMap={}),this.pickingNodeMap[e]=i,this.addToPickingNodeGroup(i)}},{key:"_createPickingNodeBy",value:function(e,t){var i=this,n={},r={};if("Object3D"===e.type||e instanceof To||e instanceof cm){var o=new To;o.copy(e,!1),e.animations&&(o.animations=e.animations),e.traverseVisible((function(o){if(o!==e){var a=null;if("Object3D"===o.type||o instanceof To||o instanceof cm||o instanceof Aa)(a=o instanceof Aa?new Aa:new To).copy(o,!1),n[o.uuid]={destination:a,source:o};else{if(!o.isMesh&&!o.isLine)return;(a=i._createPickingMeshesBy(o,t))&&(r[o.uuid]={destination:a,source:o})}a=null}}));var a=0,s=0,l=null,c=Object.keys(n);for(a=0,s=c.length;s>a;a+=1){var h=n[c[a]];h.source.parent!==e?n[l=h.source.parent.uuid].destination.add(h.destination):o.add(h.destination)}var d=Object.keys(r);for(a=0,s=d.length;s>a;a+=1){var u=r[d[a]],p=0,g=0;if(u.source.parent===e)if(Array.isArray(u.destination))for(p=0,g=u.destination.length;g>p;p+=1)o.add(u.destination[p]);else o.add(u.destination);else if(l=u.source.parent.uuid,Array.isArray(u.destination))for(p=0,g=u.destination.length;g>p;p+=1)n[l].destination.add(u.destination[p]);else n[l].destination.add(u.destination)}return o}return e.isMesh||e.isLine?i._createPickingMeshesBy(e,t):null}},{key:"_createLineMeshBy",value:function(e,t,i){var n=null,r=null,o=this.pickingEffecter;if(xd.PickingLineWidthEnabled){n=o.selectedLineMaterial;var a=new EM;e.isLineSegments?a.fromLineSegments(e):e.isLineLoop?a.fromLineLoop(e):a.fromLine(e),r=new NM(a,n),by.copyMeshProperties(r,e),r.renderOrder=1}else n=o.selectedMaterial,r=e.isLineSegments?new La(t,n):e.isLineLoop?new Oa(t,n):new Ua(t,n),by.copyMeshProperties(r,e),r.renderOrder=0;return r}},{key:"_createMeshBy",value:function(e,t,i){var n=new nn(t,this.pickingEffecter.selectedMaterial);return by.copyMeshProperties(n,e),n.renderOrder=i?1:0,n}},{key:"_createSkinnedMeshBy",value:function(e,t,i){var n=new ma(t,this.pickingEffecter.skinningSelectedMaterial);return by.copyMeshProperties(n,e),n.renderOrder=i?1:0,n.bindMatrix.copy(e.bindMatrix),n.bindMatrixInverse.copy(e.bindMatrixInverse),n.bindMode=e.bindMode,n.userData=e.userData,n.skeleton=e.skeleton,n}},{key:"_createSkinnedWireFrameBy",value:function(e,t,i){if(!t.index)return null;var n=this.pickingEffecter.skinningWireframeMaterial,r=af(t.attributes.position.array,t.index.array),o=new Ni;o.setIndex(new Mi(r,1)),o.setAttribute("position",t.getAttribute("position")),o.setAttribute("skinIndex",t.getAttribute("skinIndex")),o.setAttribute("skinWeight",t.getAttribute("skinWeight"));var a=new cB(o,n);return by.copyMeshProperties(a,e),a.bindMatrix.copy(e.bindMatrix),a.bindMatrixInverse.copy(e.bindMatrixInverse),a.bindMode=e.bindMode,a.userData=e.userData,a.skeleton=e.skeleton,a.renderOrder=i?0:1,a}},{key:"_createWireFrameBy",value:function(e,t,i){if(!t.index)return null;var n=this.pickingEffecter.wireframeMaterial,r=af(t.attributes.position.array,t.index.array),o=new Ni;o.setIndex(new Mi(r,1)),o.setAttribute("position",t.getAttribute("position"));var a=new La(o,n);return by.copyMeshProperties(a,e),a.renderOrder=i?0:1,a}},{key:"_createPickingMeshesBy",value:function(e,t){var i=by.createBufferGeometryWithPosAndSkin(e.geometry);if(!i)return null;if(e.isLineSegments)return this._createLineMeshBy(e,i,t);var n=null,r=null;return e.isSkinnedMesh?(n=this._createSkinnedMeshBy(e,i,t),r=this._createSkinnedWireFrameBy(e,i,t)):(n=this._createMeshBy(e,i,t),r=this._createWireFrameBy(e,i,t)),r?[n,r]:n}},{key:"setAccumulateTransform",value:function(e,t,i,n){if(this.pickingNodeMap&&this.pickingNodeMap[e])for(var r=this.pickingNodeMap[e],o=0,a=r.length;a>o;o+=1){var s=r[o];t&&(s.position.x+=t.x,s.position.y+=t.y,s.position.z+=t.z),i&&(s.scale.x*=i.x,s.scale.y*=i.y,s.scale.z*=i.z),n&&(s.rotation.x+=n.x,s.rotation.y+=n.y,s.rotation.z+=n.z),s.updateMatrixWorld()}}},{key:"setTransform",value:function(e,t,i,n,r){if(this.pickingNodeMap&&this.pickingNodeMap[e])for(var o=this.pickingNodeMap[e],a=0,s=o.length;s>a;a+=1){var l=o[a];r?this.manager.setTransformForClonedMesh(l,t,i,n):this.manager.setTransformForMesh(l,t,i,n)}}},{key:"rotateOnBasePoint",value:function(e,t,i,n){if(this.pickingNodeMap&&this.pickingNodeMap[e]){var r=this.pickingNodeMap[e];if(r)for(var o=0,a=r.length;a>o;o+=1){var s=r[o],l=(new Ge).setFromAxisAngle(i,n);s.quaternion.premultiply(l),s.position.sub(t),s.position.applyQuaternion(l),s.position.add(t),s.updateMatrixWorld()}}}},{key:"applyTransform",value:function(e,t,i,n){if(this.pickingNodeMap&&this.pickingNodeMap[e]){var r=this.manager.getTransformMatrix(t,i,n);this.applyTransformMatrix(e,r)}}},{key:"applyTransformMatrix",value:function(e,t){if(this.pickingNodeMap&&this.pickingNodeMap[e])for(var i=this.pickingNodeMap[e],n=0,r=i.length;r>n;n+=1)this.manager.updateMatrixWorldForMesh(i[n],t)}}]);var dB=function(e){this.viewer=e,this.viewer.modelManager.registerPlugin(this),this.meshes={},this.customSelectMaterials={},this.modelKey="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};dB.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},dB.prototype.addExternalObject=function(e){if(e&&(e instanceof To||e instanceof nn)){var t=wp.createUUID();this.meshes[t]=[e];var i={name:t,userId:t,nodeId:t,state:Nd.Visible,mesh:[e],isExternalComponent:!0,matrix:e.matrixWorld.clone()},n=new He;return n.setFromObject(e),i.boundingBox=n,e.key=t,this._getNodeGroup().add(e),this._addToNodeInfoMap(i),this._cacheNodeMaterial(e),this.boundingBoxWorld?this.boundingBoxWorld.union(n):this.boundingBoxWorld=n.clone(),this.viewer.modelManager.updateSceneBoundingBox(),this._updateFilterManager(),this.objectIds=Object.keys(this.meshes),{nodeId:t}}},dB.prototype.getObjectCenterAndMatrixByNodeId=function(e){var t,i=this.getNodeInfosByUserId(e);if(i&&i.length>0){t={matrix:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],center:[0,0,0]};var n=i[0];if(n.matrix&&(t.matrix=n.matrix.toArray()),n.boundingBox){var r=new Ke;n.boundingBox.getCenter(r),t.center=r.toArray()}}return t},dB.prototype.addNode=function(e,t,i,n){if(this.meshes[e])Bu.error("Warning: name is already exist, please change name ");else if(-1===this.invalidObjectType.indexOf(t.type)){t instanceof Array||(t=[t]),this.meshes[e]=t,this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().addNode(e,t),void 0===i&&(i=!1),n&&(this.customSelectMaterials[e]=n);for(var r=new He,o=0,a=t.length;a>o;o+=1){var s=new He;s.setFromObject(t[o]),s.isEmpty()&&s.min.x===1/0&&t[o].position&&(s.min.copy(t[o].position),s.max.copy(t[o].position)),r.union(s),t[o].box=s,t[o].originBox=s.clone();var l=new yt;l.copy(t[o].matrix).invert(),t[o].originBox.applyMatrix4(l),this._initializeAnimation(t[o],e);var c=t[o];c.key=e,this._getNodeGroup().add(c),c.updateMatrixWorld(!0),i||this._cacheNodeMaterial(c)}var h={name:e,userId:e,state:Nd.Visible,boundingBox:r,mesh:t,isExternalComponent:!0};1===t.length&&(h.matrix=t[0].matrixWorld.clone()),this._addToNodeInfoMap(h),this.boundingBoxWorld?this.boundingBoxWorld.union(r):this.boundingBoxWorld=r.clone(),this.viewer.modelManager.updateSceneBoundingBox(),this._updateFilterManager(),this.objectIds=Object.keys(this.meshes)}else Bu.error("Warning: the object is invalid")},dB.prototype.getNodeById=function(e){var t=this.meshes[e];return t&&1===t.length?t[0]:t},dB.prototype.removeNodeById=function(e){var t=this.meshes[e];if(!t)return!1;t[0].autoAnimation&&(delete this.animationIds[e],this.animationLength-=1,0===this.animationLength&&this._cancelAnimate()),delete this.meshes[e],this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().removeNodeById(e),this.customSelectMaterials[e]&&delete this.customSelectMaterials[e];for(var i=this._getNodeGroup(),n=0,r=t.length;r>n;n+=1)i.remove(t[n]);return this.filteredIds&&this.filteredIds[e]&&delete this.filteredIds[e],this.lastFilteredIds&&this.lastFilteredIds[e]&&delete this.lastFilteredIds[e],this.viewer.removeFromSelection([e]),this.viewer.cancelTransformComponentByKey(e),this._removeFromNodeInfoMap(e),this._updateFilterManager(),this.objectIds=Object.keys(this.meshes),this.viewer.modelManager.updateSceneBoundingBox(),!0},dB.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()},dB.prototype.getAllNodes=function(){return this.meshes},dB.prototype.isEmpty=function(){return!this._hasNode()},dB.prototype.setTransform=function(e,t,i,n,r){if(this.floorExplosion&&r)r();else{var o=this.meshes[e];if(o){for(var a=0,s=o.length;s>a;a+=1){var l=o[a];l.position.x=(t=t||l.position).x,l.position.y=t.y,l.position.z=t.z,l.scale.x=(i=i||l.scale).x,l.scale.y=i.y,l.scale.z=i.z,l.setRotationFromQuaternion(n=n||l.quaternion),l.updateMatrixWorld();var c=l.originBox.clone();l.box=c.applyMatrix4(l.matrix),l.levelName=null}this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().setTransform(e,t,i,n)}}},dB.prototype.getTransform=function(e){var t=this.meshes[e];return t?{position:t[0].position,scale:t[0].scale,rotate:t[0].quaternion}:null},dB.prototype.applyTransform=function(e,t,i,n){if(this.meshes[e]){t=t||new Ke,i=i||new Ke(1,1,1),n=n||new Ge;var r=new yt;r.compose(t,n,i),this.applyTransformMatrix(e,r),this._isPickingEffectEnabled()&&this.getPickingNodeGenerator().applyTransformMatrix(e,r)}},dB.prototype.applyTransformMatrix=function(e,t){var i=this.meshes[e];if(i)for(var n=0,r=i.length;r>n;n+=1){var o=i[n];o._oriMatrix||(o._oriMatrix=o.matrix.clone()),o.matrix.multiplyMatrices(t,o._oriMatrix),o.updateMatrixWorld(!0);var a=o.originBox.clone();o.box=a.applyMatrix4(o.matrix)}},dB.prototype.applyFilter=function(){this._hasNode()&&(this._collectFilteredIds(),this._collectSelectedIds(),this._collectHoveredIds(),this._updateNodes())},dB.prototype.applySelection=function(){this._hasNode()&&(this._collectSelectedIds(),this._collectHoveredIds(),this._updateNodes())},dB.prototype.clearSelection=function(){this._hasNode()&&(this._clearSelectedIds(),this.applyHover())},dB.prototype.applyHover=function(){this._hasNode()&&(this._collectHoveredIds(),this._updateNodes())},dB.prototype.clearHover=function(){this._hasNode()&&(this._clearHoveredIds(),this._updateNodes())},dB.prototype.getNodeInfosByUserId=function(e){if(this.nodeInfoMap)return this.nodeInfoMap[e]},dB.prototype.getAllNodeInfos=function(e){e[this.modelKey]=this.nodeInfoMap||{}},dB.prototype.calculateBoundingBox=function(){if(this.nodeInfoMap){var e=new He,t=new He;for(var i in this.nodeInfoMap)for(var n=this.nodeInfoMap[i],r=0,o=n.length;o>r;r+=1){var a=n[r],s=a.mesh,l=new He;for(r=0,o=s.length;o>r;r+=1)t.makeEmpty(),t.setFromObject(s[r]),t.isEmpty()&&t.min.x===1/0&&s[r].position&&(t.min.copy(s[r].position),t.max.copy(s[r].position)),l.union(t);a.boundingBox.copy(l),e.union(a.boundingBox)}this.boundingBoxWorld?this.boundingBoxWorld.copy(e):this.boundingBoxWorld=e}},dB.prototype.recalculateComponentBoundingbox=function(e){var t=this.getNodeInfosByUserId(e);if(t)for(var i=0,n=t.length;n>i;i+=1){var r=t[i],o=r.mesh,a=new He,s=new He;for(i=0,n=o.length;n>i;i+=1)s.setFromObject(o[i]),s.isEmpty()&&s.min.x===1/0&&o[i].position&&(s.min.copy(o[i].position),s.max.copy(o[i].position)),a.union(s);r.boundingBox.copy(a)}},dB.prototype.getBoundingBoxWorld=function(){if(this.boundingBoxWorld)return this.boundingBoxWorld.clone()},dB.prototype.adjustVisibility=function(e){this._getNodeGroup().visible=e},dB.prototype.changeVisibilityOfSelectedObjects=function(e){if(this.selectedIds)for(var t=this.viewer.modelManager.filter,i=0,n=this.selectedIds.length;n>i;i+=1){var r=this.selectedIds[i],o=this.meshes[r];if(o&&t._isVisible({userId:r}))for(var a=0,s=o.length;s>a;a+=1)o[a].visible=e}},dB.prototype.changeVisibilityOfNonSelectedObjects=function(e){if(this.objectIds){var t={};if(this.selectedIds)for(var i=0,n=this.selectedIds.length;n>i;i+=1)t[this.selectedIds[i]]=!0;for(var r=this.viewer.modelManager.filter,o=0,a=this.objectIds.length;a>o;o+=1){var s=this.objectIds[o];if(!t[s]&&r._isVisible({userId:s}))for(var l=this.meshes[s],c=0,h=l.length;h>c;c+=1)l[c].visible=e}}},dB.prototype.adjustVisibilityOfObjectsWithoutOutline=function(e){if(this.objectIds)for(var t=this.viewer.modelManager.filter,i=0,n=this.objectIds.length;n>i;i+=1){var r=this.objectIds[i];if(t._isVisible({userId:r}))for(var o=this.meshes[r],a=0,s=o.length;s>a;a+=1)o[a].isSprite&&(o[a].visible=e)}},dB.prototype._addToNodeInfoMap=function(e){this.nodeInfoMap||(this.nodeInfoMap={}),this.nodeInfoMap[e.userId]||(this.nodeInfoMap[e.userId]=[]),this.nodeInfoMap[e.userId].push(e)},dB.prototype._removeFromNodeInfoMap=function(e){this.nodeInfoMap&&this.nodeInfoMap[e]&&delete this.nodeInfoMap[e]},dB.prototype._clearNodeInfoMap=function(){this.nodeInfoMap=null},dB.prototype._updateFilterManager=function(){var e=this.viewer.modelManager;e.filter.reinitFilterManager(e.getNodeInfos())},dB.prototype._canBePick=function(e){return!!e._oriMaterial},dB.prototype._getNodeGroup=function(){return this.viewer.modelManager.scene.getOrCreateGroup(Vp.EXTERNALCOMPONENTMANAGER,{pickableType:Rd.Geometry,globalSpace:!0})},dB.prototype._removeNodeGroup=function(){this.viewer.modelManager.scene.removeGroupByName(Vp.EXTERNALCOMPONENTMANAGER)},dB.prototype._cacheNodeMaterial=function(e){wp.isGroupObject(e)?e.traverse((function(e){if(wp.isMeshObject(e)&&!e._oriMaterial&&(e._oriMaterial=e.material,!e.geometry.index&&e.geometry.attributes&&e.geometry.attributes.position)){for(var t=[],i=0,n=e.geometry.attributes.position.array.length/3;n>i;i+=1)t.push(i);e.geometry.setIndex(new Ai(new Uint32Array(t),1))}})):e._oriMaterial||(e._oriMaterial=e.material)},dB.prototype._collectFilteredIds=function(){var e=this.filteredIds={},t=this.viewer.modelManager.filter,i=t._hasHiddenFileIdFilter(),n=t._hasVisibleFilter(),r=t._hasOverrideMaterialFilter(),o=t._hasTransparentFilter();if(i||n||r||o)for(var a=this.objectIds,s=Zd,l=0,c=a.length;c>l;l+=1){var h=a[l],d={userId:h};if(n&&!1===t._isVisible(d))e[h]||(e[h]={}),e[h][s.HIDDEN]=!0;else if(o&&t._isTransparent(d))e[h]||(e[h]={}),e[h][s.TRANSPARENT]=!0;else if(r&&t._hasOverrideMaterial(d)){var u=t._getOverrideMaterial(d),p=u?u.name:"";e[h]||(e[h]={}),e[h][s.OVERRIDED]=p}}},dB.prototype._collectSelectedIds=function(){var e=this.filteredIds=this.filteredIds||{},t=Zd,i=this.viewer.modelManager.sceneState.getSelection(),n={};this._clearSelectedIds();for(var r=0,o=i.length;o>r;r+=1){var a=i[r];this.canBeSelectedId(a)&&(e[a]||(e[a]={}),e[a][t.SELECTED]=!0,n[a]=!0)}this.selectedIds=Object.keys(n)},dB.prototype._clearSelectedIds=function(){if(this.filteredIds&&this.selectedIds&&this.selectedIds.length){for(var e=0,t=this.selectedIds.length;t>e;e+=1){var i=this.selectedIds[e];this.filteredIds[i]&&delete this.filteredIds[i][Zd.SELECTED]}this.selectedIds=null}},dB.prototype._collectHoveredIds=function(){var e=this.viewer.modelManager.sceneState.hoverId;if(e&&this._hasObjectId(e)){var t=this.filteredIds=this.filteredIds||{};this.hoveredId=e,t[e]||(t[e]={}),t[e][Zd.HOVER]=!0}},dB.prototype._clearHoveredIds=function(){this.filteredIds&&this.hoveredId&&this.filteredIds[this.hoveredId]&&(delete this.filteredIds[this.hoveredId][Zd.HOVER],this.hoveredId=void 0)},dB.prototype._hasObjectId=function(e){return!!this.meshes[e]},dB.prototype.isUserIdExist=function(e){return this._hasObjectId(e)},dB.prototype.canBeSelectedId=function(e){var t=this.meshes[e];return!(!t||t[0].disPickable)},dB.prototype._hasNode=function(){return!(!this.objectIds||!this.objectIds.length)},dB.prototype._traverseNodeById=function(e,t){if(this._hasObjectId(e))for(var i=this,n=this.meshes[e],r=0,o=n.length;o>r;r+=1){var a=n[r];wp.isGroupObject(a)?a.traverseVisible((function(e){wp.isMeshObject(e)&&i._canBePick(e)&&t&&t(e)})):(wp.isMeshObject(a)||a.isSprite)&&i._canBePick(a)&&t&&t(a)}},dB.prototype._resetNodeMaterial=function(){var e=this.lastFilteredIds;if(e&&e.length)for(var t=0,i=e.length;i>t;t+=1)this._updateNodeVisible(e[t],!0),this._traverseNodeById(e[t],(function(e){e.material=e._oriMaterial}))},dB.prototype._updateNodeVisible=function(e,t){if(this._hasObjectId(e))for(var i=this.meshes[e],n=0,r=i.length;r>n;n+=1)i[n].visible=t},dB.prototype._updateNodeById=function(e,t){if(this._hasObjectId(e)){var i=this.viewer.modelManager.sceneState,n=Zd,r=this.filteredIds[e];if(r)if(r[n.HIDDEN])this._updateNodeVisible(e,!1);else{var o=function(e,t){if(e._oriMaterial instanceof Array){for(var i=[],n=0,r=e._oriMaterial.length;r>n;n+=1){var o=e._oriMaterial[n];o instanceof iA?i.push(t):i.push=cA.cloneMaterialBaseOnColor(o,t)}e.material=i}else e.material=e._oriMaterial instanceof iA?t:cA.cloneMaterialBaseOnColor(e._oriMaterial,t)};if(r[n.TRANSPARENT]){var a=t._getMaterialByName("scene");this._traverseNodeById(e,(function(e){o(e,a)}))}else if(this._isPickingEffectEnabled()||!r[n.SELECTED]){if(r[n.HOVER])if(r[n.OVERRIDED]){var s=i.getHoverMaterial(t._getMaterialByName(r[n.OVERRIDED]));this._traverseNodeById(e,(function(e){o(e,s)}))}else this._traverseNodeById(e,(function(e){var t=i.getHoverMaterial(e._oriMaterial);o(e,t)}));else if(r[n.OVERRIDED]){var l=t._getMaterialByName(r[n.OVERRIDED]);this._traverseNodeById(e,(function(e){o(e,l)}))}}else{var c=i.selectionMaterial,h=this.customSelectMaterials[e];this._traverseNodeById(e,(function(e){h?e.material=h:e._oriMaterial.isMeshPhongMaterial?(e.material=i.phongSelectionMaterial,e.material.skinning=e._oriMaterial.skinning):o(e,c)}))}}}},dB.prototype._updateNodes=function(){var e=this.viewer.modelManager.filter;if(this._resetNodeMaterial(),this.filteredIds){for(var t in this.filteredIds)this._updateNodeById(t,e);this.lastFilteredIds=Object.keys(this.filteredIds)}},dB.prototype._initializeAnimation=function(e,t){if(e.autoAnimation){if("fire"===e.type){var i=xd.SceneSize,n=this.viewer.getBoundingBoxWorld().getSize(new Ke),r=Math.max(n.x,n.y,n.z);e._initializeSizetween(i/r/.01421)}this.firstAnimation&&(this._animate(),this.firstAnimation=!1),this.animationIds[t]=!0,this.animationLength+=1}},dB.prototype._animate=function(){var e=this;!function t(){for(var i in e.animationId=requestAnimationFrame(t),e.animationIds)for(var n=e.meshes[i],r=0,o=n.length;o>r;r+=1)n[r].autoAnimation&&n[r].update&&n[r].update();e.viewer.render()}()},dB.prototype._cancelAnimate=function(){this.firstAnimation=!0,cancelAnimationFrame(this.animationId),this.animationId=0},dB.prototype.isPickableNode=function(e){if(!this.canBeSelectedId(e.userId))return!1;var t=this.viewer.modelManager.filter;return!t._isHiddenFileId(e)&&!1!==t._isVisible(e)&&!(t._isTransparent(e)&&!xd.EnableSelectionByTranslucent)},dB.prototype._isPickingEffectEnabled=function(){return!1},dB.prototype.getPickingNodeGenerator=function(){return this.pickingNodeGenerator||(this.pickingNodeGenerator=new hB(this)),this.pickingNodeGenerator},dB.prototype.setCloneComponentMaterialsByKey=function(e,t,i){var n=this.meshes[e][0];if(!n)return{result:!1,message:"mesh isn`t exist",code:-1};if(!n.byClone)return{result:!1,message:"mesh isn`t qualified",code:-2};var r=0===i||Boolean(i);if(Array.isArray(t)||(t=[t]),r&&(Array.isArray(i)||(i=[i])),Array.isArray(n.material))if(r){var o,a=0,s=vu(i);try{for(s.s();!(o=s.n()).done;){var l=o.value;if(!n.material[l]||!t[a])break;n.material[l]=t[a],a+=1}}catch(e){s.e(e)}finally{s.f()}}else{var c,h=0,d=vu(t);try{for(d.s();!(c=d.n()).done;){var u=c.value;if(!n.material[h])break;n.material[h]=u,h+=1}}catch(e){d.e(e)}finally{d.f()}}else n.material=t[0]},dB.prototype.getModelManager=function(){return this.viewer.modelManager};var uB="off",pB={};function gB(){var e=(new Date).getTime(),t=Object.keys(pB);if(0!==t.length){for(var i=0,n=t;n.length>i;i++){var r=n[i],o=pB[r];if(o.isPause)o.lastTime=e;else if(e-o.lastTime>=o.interval){if(o.callback(o.param),o.times===o.runTimes+1){delete pB[r];continue}o.lastTime=e,o.runTimes+=1}}requestAnimationFrame(gB)}else uB="off"}function fB(){}fB.prototype.registerTimerListener=function(e,t,i,n){var r=(new Date).getTime();return pB[r]={callback:e,interval:t,times:i,param:n,lastTime:r,runTimes:0,isPause:!1,pauseDValue:0},"off"===uB&&(gB(),uB="on"),r},fB.prototype.removeTimerListener=function(e){delete pB[e]},fB.prototype.pause=function(e){var t=pB[e],i=(new Date).getTime();t&&(t.pauseDValue=i-t.lastTime,t.isPause=!0)},fB.prototype.continue=function(e){var t=pB[e],i=(new Date).getTime();t&&(t.lastTime=i-t.pauseDValue,t.pauseDValue=0,t.isPause=!1)};var mB=new Ke,AB=new Ge,yB=new Ke,vB=new Ke,CB=new Ke,IB=new Ke,xB=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 He,this.tempVector3=new Ke,this.enableCameraNearFar=!0,this.currentHomeView=kd.Home,this.initialView=kd.Home,this.filter=new hy,this.modelManager=new WE(this.filter,this),this.isRecalculationPlanes=!1,this.calculationPlanesBind=this.calculationPlanes.bind(this),this.addRenderFinishedListener(this.calculationPlanesBind),this.uuid="",this.transitionAnimationState=!0,this.animator=new Op,this._renderStateChanged=!1;var e=this;this._renderTimer=null,this.blinkHandle=0,this.needCheckTilesDataChange=!1,this.clock=new Pc,this.rendererManager=new lB(this),this.cameraStateWithFrustum=!1,this.checkNeedRender=function(){(e.needRender||e.modelManager.needUpdateAnimation())&&(e.needRender=xd.ContinueRender||!1,e.modelManager.updateAnimation(),e._render()),e._renderTimer=requestAnimationFrame(e.checkNeedRender)},this.checkNeedApplyFilter=function(){e.needApplyFilter&&(e.needApplyFilter=!1,e.modelManager.applyFilter(),e.render()),e._applyFilterTimer=requestAnimationFrame(e.checkNeedApplyFilter)},this.timerManager=new fB,this.clientSize=new ke};Object.assign(xB.prototype,hg.prototype),Object.assign(xB.prototype,{constructor:xB,addRenderListener:function(e){this.addEventListener("render",e)},removeRenderListener:function(e){this.removeEventListener("render",e)},onRenderListener:function(){this.dispatchEvent("render")},addRenderFinishedListener:function(e){this.addEventListener("renderFinished",e)},removeRenderFinishedListener:function(e){this.removeEventListener("renderFinished",e)},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 e=document.getElementById(this.uuid);this.domElement.contains(this.getRenderer().domElement)&&this.domElement.removeChild(e)}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(e){var t=this;t.uuid=be.generateUUID(),this.domElement=e,this.resetBackgroundColor();var i={alpha:!0,preserveDrawingBuffer:!0,antialias:!0,depth:!0,maxDrawCacheNum:xd.maxDrawCacheNum,logarithmicDepthBuffer:!1,stencil:!0};xd.logarithmicDepthBuffer&&(i.logarithmicDepthBuffer=!0),xd.DisableAntialias&&(i.antialias=!1);var n=null;try{(n=document.createElement("canvas")).style.outline="none",n.getContext("webgl",i)||n.getContext("experimental-webgl",i)||(i.antialias=!1)}catch(e){return!1}by.initializeUnitInstances();var r=document.createElement("div");r.setAttribute("id",t.uuid),r.style.width="100%",r.style.height="100%",i.canvas=n,this.renderSettings=i,this.camera=this.defaultCamera=new Dp(Md.PERSPECTIVE,{width:e.offsetWidth,height:e.offsetHeight,fov:45,near:.1,far:200*xd.SceneSize}),this.camera.up=new Ke(0,0,1),this.camera.realUp=new Ke(0,0,1),this.camera.lookAt(this.camera.target),this.cameraControl=new Kg(this,this.getScene(),this.camera,e,(function(e){t.render(e)})),this.controlManager=new Im,this.controlManager.setupUserInputControl(this),this.controlManager.setControlMode(this,"pick"),this.setOrbitButton("left"),this.setReverseWheelDirection(!1),this.registerDomEventListener(Fd.ON_CONTROL_END,(function(){t.needCheckTilesDataChange=!0})),this.registerDomEventListener(Fd.ON_CONTROL_ZOOM,(function(){t.needCheckTilesDataChange=!0})),t.rendererManager.setupRenderer(t.renderSettings),r.appendChild(this.getRenderer().domElement),this.domElement.appendChild(r),this.controlManager.registerDomEventListeners(r),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(e){var t=this.scene;t.dispatchEvent({type:"preUpdate",scene:t}),t.initializeFrame(),t.projectorLightCollection.preUpdate(),t.dispatchEvent({type:"preRender",scene:t}),t.executeUpdate(this.camera),this.rendererManager.render(e),t.dispatchEvent({type:"postRender",scene:t}),t.executeUpdatePostRender()},incrementRender:function(e){var t=this,i=this.camera,n=this.modelManager,r=this.getRenderer(),o=this.getScene();if(this.countRenderRequest+=1,this.countRenderRequest>this.maxCountRenderRequest&&(this.countRenderRequest=0),!this.rendering){this.rendering=!0,n.calculateCameraModelRelation(i.position),this.ar(),this.cameraControl.updateCamera(),o.updateLights(i);var a=this.controlManager.isUpdateRenderList;r.resetIncrementRender(),r.setObjectListUpdateState(a),this.incrementRenderHandle=requestAnimationFrame(function e(n,a){var s=n;return function(){r.autoClear=a,t.controlManager.cameraChange?(r.resetIncrementRender(),r.autoClear=!0,t.controlManager.cameraChange=!1):r.autoClear=a,r.render(o,i)||s!==t.countRenderRequest?(t.rendering=!1,s!==t.countRenderRequest?t.render():t.onRenderFinishedListener()):t.incrementRenderHandle=requestAnimationFrame(e(s,!1))}}(t.countRenderRequest,!0)),a&&n.prepareScene(i),this.onRenderFinishedListener(),this.cameraControl.setCameraChanging(!1)}},fullRender:function(e){var t=this,i=this.camera,n=this.modelManager,r=this.getRenderer(),o=this.getScene();this.blinkHandle>0&&cancelAnimationFrame(this.blinkHandle),function e(){t.calculateNearFar(),t.cameraControl.updateCamera(),o.updateLights(i),n.getBlinkEnabled()&&n.updateBlinkMaterial();var a=o.fillClipPlane&&o.fillClipPlane.visible,s=o.clipPlanes&&o.clipPlanes.visible&&xd.EnableBoxClippingCaps;if(xd.ClippingCaps&&(a||s)&&xd.EnableClippingCaps){if(a||s){var l=o.getFillClipPlane(),c=o.getClipPlanes(),h=t.modelManager.getModelKeys();n.prepareCapScene(),r.clear(),r.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={},u=0,p=h.length;p>u;u+=1){var g=h[u],f=t.modelManager.getModel(g);if(d[g]={},f){var m=f._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});d[g][Vp.GEOMETRY]=m.visible,m=f._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0}),d[g][Vp.WIREFRAME]=m.visible,m=f._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),d[g][Vp.INSTANCEGEOMETRY]=m.visible,m.visible=!1,m=f._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),d[g][Vp.INSTANCEWIREFRAMEGEOMETRY]=m.visible,m.visible=!1}}r.render(o,i),o.overrideMaterial=o.backInstanceMaterial;for(var A=0,y=h.length;y>A;A+=1){var v=h[A],C=t.modelManager.getModel(v);if(C){var I=C._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});I.visible=!1,(I=C._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(I=C._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[v][Vp.INSTANCEGEOMETRY],(I=C._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[v][Vp.INSTANCEWIREFRAMEGEOMETRY]}}r.render(o,i),o.overrideMaterial=o.frontMaterial;for(var x=0,w=h.length;w>x;x+=1){var M=h[x],E=t.modelManager.getModel(M);if(E){var B=E._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});B.visible=d[M][Vp.GEOMETRY],(B=E._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=d[M][Vp.WIREFRAME],B=E._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}),d[M][Vp.INSTANCEGEOMETRY]=B.visible,B.visible=!1,B=E._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0}),d[M][Vp.INSTANCEWIREFRAMEGEOMETRY]=B.visible,B.visible=!1}}r.render(o,i),o.overrideMaterial=o.frontInstanceMaterial;for(var S=0,b=h.length;b>S;S+=1){var k=h[S],D=t.modelManager.getModel(k);if(D){var T=D._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});T.visible=!1,(T=D._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=!1,(T=D._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[k][Vp.INSTANCEGEOMETRY],(T=D._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[k][Vp.INSTANCEWIREFRAMEGEOMETRY]}}r.render(o,i),r.render(n.capsScene,i),o.overrideMaterial=null,l.planeHighLightMatrial.visible=!0,c.planeHighLightMatrial.visible=!0,c.planeMaterial.visible=!0;for(var R=0,U=h.length;U>R;R+=1){var F=h[R],Q=t.modelManager.getModel(F);if(Q){var L=Q._getNodeGroup(Vp.GEOMETRY,{globalSpace:!0});L.visible=d[F][Vp.GEOMETRY],(L=Q._getNodeGroup(Vp.WIREFRAME,{globalSpace:!0})).visible=d[F][Vp.WIREFRAME],(L=Q._getNodeGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0})).visible=d[F][Vp.INSTANCEGEOMETRY],(L=Q._getNodeGroup(Vp.INSTANCEWIREFRAMEGEOMETRY,{globalSpace:!0})).visible=d[F][Vp.INSTANCEWIREFRAMEGEOMETRY]}}d=null,r.render(o,i)}}else xd.EnableSelectionOutline&&t.composer&&t.getSelection().length>0?t.composer.render():(r.setRenderTarget(null),r.clear(),r.render(o,i));t.onRenderListener(),t.onRenderFinishedListener(),t.cameraControl.setCameraChanging(!1),n.getBlinkEnabled()&&(t.blinkHandle=requestAnimationFrame(e)),n.disposeBufferAfterVbo()}()},resize:function(e,t){if(this.camera&&this.getRenderer()){var i=this.getDomElement();i&&(i.style.height=t+"px",i.style.width=e+"px"),this.camera.setSize(e,t),this.camera.updateProjectionMatrix(),this.rendererManager.setSize(e,t),this.dispatchEvent({type:"resize",data:{width:e,height:t}}),this.render()}},resizeByFrustum:function(e,t){this.camera&&this.getRenderer()&&(this.camera.updateProjectionMatrixByFrustum=!0,this.camera.setSizeByFrustum(e,t),this.render(),this.camera.updateProjectionMatrixByFrustum=!1)},calculateNearFar:function(){this.calculateNearFar2()},calculateNearFar2:function(){var e=this.getScene(),t=e.getBoundingBoxWorld(),i=this.getRenderer();if(this.enableCameraNearFar){var n=this.camera,r=n.position.clone().sub(e.getBoundingBoxWorld().getCenter(new Ke)).length(),o=e.getBoundingBoxWorld().getSize(new Ke),a=o.length();if(null!==t&&!t.isEmpty()){this.modelManager.hasAnimation()?o.multiplyScalar(2):o.multiplyScalar(.05),t.min.sub(o),t.max.add(o),t.applyMatrix4(n.matrixWorldInverse);var s=t.getSize(new Ke).length()/1e3,l=100;1e-4>s?l=.001:.001>s?l=.01:.01>s?l=.1:.1>s?l=1:1>s&&(l=10);var c=1,h=0;t.max.z>0&&0>t.min.z?(h=-t.min.z,c=Math.min(s/2,l/2)):(h=-t.min.z,c=Math.max(Math.min(s,l),-t.max.z)),i.shadowMap.enabled&&(h*=3,c/=3),h=Math.max(c+1,h),.1>(h=Math.min(h,r+a))-c&&(c/=2),n.setNearFar(c,h)}}},resetSelectionColor:function(e,t){this.modelManager.sceneState.setSelectionColor(e,t)},calculateMinDistance:function(e,t){if(Bu.time("计算最小距离"),e===t){var i=this.getBoundingBoxByIds([e]).getCenter(new Ke);return{start:i,end:i,minDistance:0}}function n(e,t){for(var i=0,n=0,r=0;3>r;r+=1){var o=e.min.getComponent(r),a=e.max.getComponent(r),s=t.min.getComponent(r),l=t.max.getComponent(r),c=0;o>l?c=o-l:s>a&&(c=s-a),i+=c*c;var h=Math.max(l,a)-Math.min(o,s);n+=h*h}return{minDis:Math.sqrt(i),maxDis:Math.sqrt(n)}}var r=new Ke,o=new Ke,a=new Ke;function s(e,t,i,n,r,o,a,s,l){a.fromBufferAttribute(t,i),s.fromBufferAttribute(t,n),l.fromBufferAttribute(t,r),o&&(a.applyMatrix4(o),s.applyMatrix4(o),l.applyMatrix4(o)),e.push(a),e.push(s),e.push(l)}function l(e,t,i){var n={start:null,end:null,minDistance:i},l=e.mesh,c=e.indexInfo,h=l.matrix.clone().multiply(e.matrix),d=l.geometry,u=d.attributes.position,p=c?c.indexStart:0,g=d.getIndex().array,f=c?c.indexStart+c.indexCount:g.length,m=t.mesh,A=t.indexInfo,y=m.matrix.clone().multiply(t.matrix),v=m.geometry,C=v.attributes.position,I=A?A.indexStart:0,x=v.getIndex().array,w=A?A.indexStart+A.indexCount:x.length,M=e.boundingBox,E=t.boundingBox;if(M.intersectsBox(E)){for(var B=p,S=f;S>B;B+=3){var b=[];s(b,u,g[B],g[B+1],g[B+2],h,r,o,a);var k=by.minDistanceBetweenTriToMesh(b,m,A,y);n.minDistance>k.minDistance&&(n.minDistance=k.minDistance,n.start=k.start,n.end=k.end)}return n}var D=M.getSize(new Ke),T=E.getSize(new Ke),R=M.min.x-E.max.x,U=M.min.y-E.max.y,F=M.min.z-E.max.z,Q=E.min.x-M.max.x,L=E.min.y-M.max.y,O=E.min.z-M.max.z,N=E.min.x>M.min.x?M.min.x:E.min.x,P=E.min.y>M.min.y?M.min.y:E.min.y,G=E.min.z>M.min.z?M.min.z:E.min.z,K=M.max.x>E.max.x?M.max.x:E.max.x,V=M.max.y>E.max.y?M.max.y:E.max.y,Y=M.max.z>E.max.z?M.max.z:E.max.z,H=R;switch(U>H&&(H=U),F>H&&(H=F),Q>H&&(H=Q),L>H&&(H=L),O>H&&(H=O),H){case R:N+=T.x/2,K-=D.x/2;break;case U:P+=T.y/2,V-=D.y/2;break;case F:G+=T.z/2,Y-=D.z/2;break;case Q:N+=D.x/2,K-=T.x/2;break;case L:P+=D.y/2,V-=T.y/2;break;case O:G+=D.z/2,Y-=T.z/2}for(var j=new He(new Ke(N,P,G),new Ke(K,V,Y)),W=[],J=[],z=[],q=[],Z=p,X=f;X>Z;Z+=3){var _=[];s(_,u,g[Z],g[Z+1],g[Z+2],h,new Ke,new Ke,new Ke),z.push(_);for(var $=0,ee=_.length;ee>$;$+=1)if(j.containsPoint(_[$])){W.push(_);break}}for(var te=I,ie=w;ie>te;te+=3){var ne=[];s(ne,C,x[te],x[te+1],x[te+2],y,new Ke,new Ke,new Ke),q.push(ne);for(var re=0,oe=ne.length;oe>re;re+=1)if(j.containsPoint(ne[re])){J.push(ne);break}}W.length||(W=z),J.length||(J=q);var ae=by.minDistanceBetweenTriToTri(W,J);return n.minDistance>ae.minDistance&&(n.minDistance=ae.minDistance,n.start=ae.start,n.end=ae.end),n}var c=this.modelManager.getMinDistanceObjects(e,t);if(!c)return-1;var h=[],d={start:null,end:null,minDistance:Number.POSITIVE_INFINITY};for(var u in c){if(!c[u].boundingBox){var p=this.getBoundingBoxByIds([u]);c[u].boundingBox=p}h.push(c[u])}if(1>h[0].length||1>h[1].length)return Bu.timeEnd("计算最小距离"),-1;var g=h[0],f=h[1],m=g.length,A=f.length,y=null,v=Number.POSITIVE_INFINITY;if(m>1||A>1){y={};for(var C=0;m>C;C+=1)for(var I=g[C],x=0;A>x;x+=1){var w=f[x];w.boundingBox=f.boundingBox,I.boundingBox=g.boundingBox;var M=n(I.boundingBox,w.boundingBox);v=M.maxDis>v?v:M.maxDis,y[C+"_"+x]=M}}for(var E=0;m>E;E+=1)for(var B=g[E],S=0;A>S;S+=1){if(y){var b=y[E+"_"+S].minDis;if(b>v||b>d.minDistance)continue}var k=f[S];k.boundingBox=f.boundingBox,B.boundingBox=g.boundingBox;var D=l(B,k,d.minDistance);if(d.minDistance>D.minDistance&&(d.minDistance=D.minDistance,d.start=D.start,d.end=D.end),0===d.minDistance)return Bu.timeEnd("计算最小距离"),d}return y=null,Bu.timeEnd("计算最小距离"),d},registerDomEventListeners:function(){this.domElement&&this.controlManager.registerDomEventListeners(this.domElement)},unregisterDomEventListeners:function(){this.domElement&&this.controlManager.unregisterDomEventListeners(this.domElement)},registerEventListener:function(e,t){this.modelManager.addEventListener(e,t)},unregisterEventListener:function(e,t){this.modelManager.removeEventListener(e,t)},registerCameraEventListener:function(e,t){this.cameraControl.addEventListener(e,t)},unregisterCameraEventListener:function(e,t){this.cameraControl.removeEventListener(e,t)},registerDomEventListener:function(e,t){this.controlManager.addEventListener(e,t)},unregisterDomEventListener:function(e,t){this.controlManager.removeEventListener(e,t)},load:function(e){var t=this;return this.modelManager.load(e,(function(){}),(function(e){Bu.time("Rendering: "),t.camera.dirty=!0,t.camera.dirty?t.render():(t.zoomAll(),t.goToInitialView()),Bu.timeEnd("Rendering: ")}))},loadWithType:function(){},loadTiles:function(e){var t=this;return this.modelManager.loadTiles(e,(function(){void 0===t._useBatchMerge&&(t._useBatchMerge=t.modelManager.shouldUseBatchRendering(),xd.MergeComponent=t._useBatchMerge,t._setupRenderer())}),(function(e){Bu.time("Rendering: "),t.camera.dirty=!0,t.camera.dirty?t.render():(t.zoomAll(),t.goToInitialView()),Bu.timeEnd("Rendering: ")}))},unload:function(e){var t=this.modelManager.unload(e);return t&&(xd.UserControlView||this.zoomAll(),this.render()),t},unloadAll:function(){this.modelManager.unloadAll(),this.render()},showModel:function(e){this.modelManager.showModel(e)&&this.render()},hideModel:function(e){this.modelManager.hideModel(e)&&this.render()},translateModel:function(e){var t=this._transformModelByKey(e);t&&t.switchToTranslateMode()},rotateModel:function(e){var t=this._transformModelByKey(e);t&&t.switchToRotateMode()},scaleModel:function(e){},showScene:function(e,t){e&&(e.setVisible(t),this.render())},clearAll:function(){this.getScene().clearAll()},restore:function(){this.getFilter().clear(),this.getScene().disableClipPlanes(),this.modelManager.dispatchEvent({type:Fd.ON_VIEWER_RESTORED})},getScene:function(){return this.modelManager.scene},getCapsScene:function(){return this.modelManager.capsScene},getControlManager:function(){return this.controlManager},getUserdataByUserId:function(e){var t=this.modelManager.getNodeInfosByUserId(e);return t&&t instanceof Array?t[0].userData:null},getFilter:function(){return this.filter},getCurrentControlName:function(){return this.controlManager.getCurrentControlName()},getCurrentControlMode:function(){return this.controlManager.getCurrentControlMode()},setControlMode:function(e){this.controlManager.setControlMode(this,e),this.render()},setControlDefault:function(){this.setControlMode(Vd.PICK)},getBoundingBoxWorld:function(){return this.getScene().getBoundingBoxWorld()},getBoundingBox:function(){return this.getScene().getBoundingBox()},getModel:function(e){return this.modelManager.getModel(e)},getModelManager:function(){return this.modelManager},setModelMatrix:function(e,t){var i=this.getModel(t);i&&i.setModelMatrix(e)},getModelMatrix:function(e){var t=null,i=this.getModel(e);return i&&(t=i.getModelMatrix()),t},overturnYAndZaxis:function(e){var t=this.getModel(e);t&&t.overturnYAndZaxis()},zoomIn:function(e){void 0===e&&(e=.1),0>e&&(e=0),this.cameraControl.zoom(e)},zoomOut:function(e){void 0===e&&(e=.1),e>0?e*=-1:e=0,this.cameraControl.zoom(e)},zoomAll:function(e,t,i){var n=this.getScene().getBoundingBox();this._zoomToLocalBox(n,e,t,i)},zoomToBuilding:function(e,t,i){this.zoomAll(e,t,i)},zoomToSelection:function(e,t,i){var n=this.getScene(),r=this.getBoundingBoxByIds(this.modelManager.sceneState.getSelection());r.isEmpty()&&(r=n.getBoundingBox()),!0===this.getTransitionAnimationState()?this.animator.setStandardView(kd.Keep,this,r,e):this._zoomToLocalBox(r,e,t,i)},_zoomToLocalBox:function(e,t,i,n){this.camera.zoomToBox(e,t,i,n),this.cameraControl.update(!0,!0),this.cameraControl.dirtyCamera(!0)},zoomToBox:function(e,t,i,n){var r=new He;e?(r.copy(e),r.applyMatrix4(this.getScene().getMatrixGlobal())):r.copy(this.getScene().getBoundingBox()),!0===this.getTransitionAnimationState()?this.animator.setStandardView(kd.Keep,this,r,t):this._zoomToLocalBox(r,t,i,n)},zoomToBoxByDirection:function(e,t,i,n){if(t){if(t&&e){var r=e.clone(),o=r.getCenter(new Ke).clone().add(t);r.applyMatrix4(this.getScene().getMatrixGlobal()),o.applyMatrix4(this.getScene().getMatrixGlobal());var a=o.clone().sub(r.getCenter(new Ke));a.length()>1e-4?(a.normalize(),this.camera.realUp.copy(Yt.DefaultUp),this._zoomToLocalBox(r,i,n,a)):this._zoomToLocalBox(r,i,n)}}else this.zoomToBox(e,i,n)},zoomToBoxWithOuterBox:function(e,t,i,n){if(t){if(t&&e){var r=e.clone(),o=t.getCenter(new Ke);r.applyMatrix4(this.getScene().getMatrixGlobal()),o.applyMatrix4(this.getScene().getMatrixGlobal());var a=o.clone().sub(r.getCenter(new Ke));a.length()>1e-4?(a.normalize(),this.camera.realUp.copy(Yt.DefaultUp),this.controlManager.zoomToBox(this,r,i,n,a)):this.controlManager.zoomToBox(this,r,i,n)}}else this.zoomToBox(e,i,n)},getObjectsInBox:function(e,t){var i=new He;return i.copy(e),i.applyMatrix4(this.getScene().getMatrixGlobal()),rm.getObjectsInBox(this.getScene(),i,this.modelManager,this,t)},setStandardView:function(e,t,i,n){var r=this.camera,o=this.getScene().getBoundingBox();this.transitionAnimationState?this.animator.setStandardView(e,this,o,t,i,n):(r.setStandardView(e,o),this.camera.zoomToBox(o,t),this.cameraControl.update(!0,!0),n&&n())},rotateCameraByViewCubeSide:function(e){this._viewCubeAnimator&&(this._viewCubeAnimator.cancelAnimation(),this._viewCubeAnimator=void 0);var t=this.camera,i=this.getScene().getGeometryBoundingBox(),n=new Vg,r=this;n.rotateCameraByViewCubeSide(t,i,e,(function(e,t,i,n){r.camera.position.copy(i);var o=new Ke(0,1,0);o.applyQuaternion(t),r.camera.up=o,r.camera.realUp=o.clone(),r.camera.lookAt(n),r.camera.target=n,1>e||r.camera.quaternion.copy(t),r.cameraControl.update(!0)})),this._viewCubeAnimator=n},cancelCurrentAnimationByViewCube:function(){this._viewCubeAnimator&&(this._viewCubeAnimator.cancelAnimation(),this._viewCubeAnimator=void 0)},getLineSelectRange:function(){return xd.LineSelectRange},setLineSelectRange:function(e){xd.LineSelectRange=e},_setStandardView:function(e,t){var i=this.camera,n=this.getScene().getBoundingBox();i.setStandardView(e,n),i.zoomToBox(n,t)},setStandardViewWithBox:function(e,t,i,n){if(t?t.applyMatrix4(this.getScene().getMatrixGlobal()):t=this.getScene().getBoundingBox(),this.transitionAnimationState)this.animator.setStandardView(e,this,t,i);else{var r=this.camera;r.setStandardView(e,t),r.zoomToBox(t,i,n),this.cameraControl.update(!0,!0)}},setTopView:function(e,t,i){this.setStandardViewWithBox(kd.Top,e,t,i)},setInitialView:function(e){this.initialView=e,this._setStandardView(e)},goToInitialView:function(e){this.setStandardView(this.initialView,e,null)},setHomeView:function(e){this.currentHomeView=e,this._setStandardView(e)},getHomeView:function(){return this.currentHomeView},goToHomeView:function(e){this.setStandardView(this.currentHomeView,e,null)},rotateByAxis:function(e,t,i){var n=i||this.cameraControl.calculatePivot(Ld.CENTER,null),r=2*Math.PI/60/60*e;if(t&&"x"!==t){if("y"!==t)return void Bu.warn("Illegal rotation axis for ViewerImpl.rotateByAxis().");this.cameraControl.handleRotation(0,-r,n)}else this.cameraControl.handleRotation(-r,0,n);this.cameraControl.update(!0)},lookAt:function(e,t,i){var n=new Ke;n.subVectors(t,e),this.camera.lookAtEx(t,n,i),this.cameraControl.updateCamera(t),this.render()},setImageResPath:function(e){xd.TextureResRoot=e},setLimitFrameTime:function(e){xd.IncrementRender&&(e>0||(e=30),xd.LimitFrameTime=e)},limitFrameRate:function(e){xd.IncrementRender&&(e>0||(e=4),xd.LimitFrameTime=1e3/e)},transformCamera:function(e){return Zp.transformCamera(e,this.modelManager.scene)},getCamera:function(){var e=this.getScene().getMatrixGlobal(),t=this.cameraControl.getCamera(),i=this.cameraControl.getCameraName(),n=new Hp(i,t.position,t.target,t.up);n=Dp.drawingToWorld(n,e);var r={};if(this.cameraStateWithFrustum){var o=2*(t.near*Math.tan(.5*be.DEG2RAD*t.fov)/t.zoom);r=new Hp(i,n.position,n.target,n.up,t.fov,void 0,t.aspect*o,o)}else r=new Hp(i,n.position,n.target,n.up,t.fov,void 0);return JSON.stringify(r)},setCameraStateWithFrustum:function(e){this.cameraStateWithFrustum=e},setCamera:function(e,t,i){this.camera.dirty=!0;var n=this,r=Zp.parseCameraInfo(e);if(null===r)Bu.log("Invalid camera info string. Fail to set camera.");else if(this.switchToCamera(r.name)){var o=this.getScene().getMatrixGlobal(),a=Dp.worldToDrawing(r,o);if(this.transitionAnimationState){var s={position:this.camera.position.clone(),target:this.camera.target.clone(),up:this.camera.realUp.clone()||this.camera.up.clone()};this.animator.active(s,a,this,(function(e){n.cameraControl.update(!0,!0)}),(function(){r.frustumWidth&&r.frustumHeight&&n.resizeByFrustum(r.frustumWidth,r.frustumHeight),i&&i()}))}else{var l=new Ke;l.subVectors(a.target,a.position),this.camera.lookAtEx(a.target,l,a.up),t&&this.cameraControl.updateCamera(),r.frustumWidth&&r.frustumHeight&&(n.cameraControl.update(!0,!0),n.resizeByFrustum(r.frustumWidth,r.frustumHeight)),i&&i()}}},getRenderBufferScreenShot:function(e,t,i,n){this._render();var r=this.getRenderer().domElement,o=r.toDataURL("image/png"),a=r.width,s=r.height,l=window.devicePixelRatio||1,c=t||a/l,h=i||s/l;if(!c||!h)return n?(n(o),null):o;var d,u=null,p=null,g=0,f=0;if(c>h||c/h>a/s?(u=c,f=h/2-(p=s/a*c)/2):(p=h,g=c/2-(u=a/s*h)/2),n)return(d=new Image).onload=function(){var t=document.createElement("canvas"),i=t.getContext("2d");t.width=c,t.height=h,e&&(i.fillStyle=e,i.fillRect(0,0,c,h)),i.drawImage(d,g,f,u,p);var r=t.toDataURL("image/png");n(r)},d.src=o,null;(d=new Image).src=o;var m=document.createElement("canvas"),A=m.getContext("2d");return m.width=c,m.height=h,e&&(A.fillStyle=e,A.fillRect(0,0,c,h)),A.drawImage(d,g,f,u,p),m.toDataURL("image/png")},screenShot:function(e,t,i){var n=this;return this._render(),function(){var r=n.getRenderer().domElement,o=r.toDataURL("image/png"),a=r.width,s=r.height,l=e,c=t;if(!l||!c)return i?(i(o),null):o;var h=null,d=null,u=0,p=0;if(l>c||l/c>a/s?(h=l,p=c/2-(d=s/a*l)/2):(d=c,u=l/2-(h=a/s*c)/2),i){var g=new Image;return g.onload=function(){var e=document.createElement("canvas"),t=e.getContext("2d");e.width=l,e.height=c,t.drawImage(g,u,p,h,d);var n=e.toDataURL("image/png");i(n)},g.src=o,null}}()},canvas2image:function(e,t,i,n){var r=null,o=this;return n?(this.getRenderBufferScreenShot(e,t,i,(function(e){n(e),o.render()})),null):(r=this.getRenderBufferScreenShot(e,t,i),this.render(),r)},lockAxisZ:function(e,t){var i=this.cameraControl;if(i){var n=i.getZenith(),r=this.getBoundingBox().getCenter().clone();if(e&&void 0!==t||(t=null),t){var o=t[0],a=t[1];n>a?i.handleRotation(0,a-n,r):o>n&&i.handleRotation(0,o-n,r),this.render()}this.cameraControl.lockAxisZ(e),this.cameraControl.setLockAxisZRange(t)}},isLockedAxisZ:function(){return this.cameraControl.isLockedAxisZ()},enableTranslucentByDClick:function(e){xd.EnableDemolishByDClick=e},enableHitDetection:function(e){xd.EnableHitDetection=e},enableRotate:function(e){Kp.NoRotate=!e},rotateCamera:function(e,t){this.cameraControl.processRotate(e,t),this.cameraControl.update()},getActiveCameraInfo:function(){var e={};e.up=new Ke,e.dir=new Ke;var t=this.camera,i=t.getWorldDirection(new Ke);return e.up.copy(t.realUp||t.up),e.dir.copy(i),e.quaternion=t.quaternion.clone(),e},calculationPlanes:function(){if(this.isRecalculationPlanes){this.isRecalculationPlanes=!1;var e=this.getScene(),t=this.getBoundingBoxByIds();t.isEmpty()&&(t=e.getBoundingBox()),e.getClipPlanes().calculationPlanes(t.getSize(new Ke),t.getCenter(new Ke)),this.render()}},recalculationPlanes:function(){this.isRecalculationPlanes=!0},setOctantDepth:function(e){xd.OctantDepth=e},resizePool:function(e){xd.maxObjectNumInPool=e,this.modelManager.updateSceneRenderable(),this.render()},setCategoriesToHighPriority:function(e,t){this.modelManager.setCategoriesToHighPriority(e,0===t?"inner":"outer")},clearCategoriesFromHighPriority:function(e){this.modelManager.clearCategoriesFromHighPriority(0===e?"inner":"outer")},clearAllCategoriesFromHighPriority:function(){this.modelManager.clearAllCategoriesFromHighPriority()},isolate:function(e,t){var i=this.getFilter();switch(t){case"hide":i.setIsolateConditions(e,Pd.HIDDEN_OTHERS);break;case"translucent":i.setIsolateConditions(e,Pd.TRANSLUCENT_OTHERS);break;default:Bu.warn("no this isolate state : "+t)}},setIsolateMaterial:function(e){this.getFilter().setIsolateMaterial(e)},resetIsolateMaterial:function(){this.getFilter().resetIsolateMaterial()},setOrbitButton:function(e){var t=this.controlManager._getControlByName(this,Vd.ORBIT),i=this.controlManager._getControlByName(this,Vd.PICK),r={};"left"===e?r={ORBIT:n.LEFT,PAN2:n.MIDDLE,PAN:n.RIGHT}:"right"===e&&(r={ORBIT:n.RIGHT,PAN2:n.MIDDLE,PAN:n.LEFT}),t&&t.updateButtons(r),i&&i.updateButtons(r)},showPickedInformation:function(e){},setOrbitEnabled:function(e){Kp.NoRotate=!0!==e},getOrbitEnabled:function(){return!Kp.NoRotate},setSelectPadCallback:function(e){var t=this.controlManager.getCurrentControlMode();t&&t.selectPad&&(t.selectPad.callback=e)},setDeviceMobile:function(e){xd.IsMobile=e||!1},setPointRotateMode:function(e){Kp.RotatePivotMode=e},worldToDrawing:function(e){if(!this.cameraControl)return Bu.warn("camera is not initialized!!!"),null;var t=this.getScene().worldToDrawing(e);return{x:t.x,y:t.y,z:t.z}},drawingToWorld:function(e){if(!this.cameraControl)return Bu.warn("camera is not initialized!!!"),null;var t=this.getScene().drawingToWorld(e);return{x:t.x,y:t.y,z:t.z}},worldToCanvas:function(e){var t=this.cameraControl;if(!t)return Bu.warn("camera is not initialized!!!"),null;var i=t.getContainerDimensions();if(!i)return null;var n=t.getCamera(),r=this.getScene().worldToDrawing(e);return Zp.drawingToCanvas(n,r,i.width,i.height)},canvasToWorld:function(e){var t=this.cameraControl;if(!t)return Bu.warn("camera is not initialized!!!"),null;var i=t.getContainerDimensions();if(!i)return null;var n=t.getCamera(),r=this.getScene(),o=Zp.canvasToDrawing(n,e,i.width,i.height),a=r.drawingToWorld(o);return{x:a.x,y:a.y,z:a.z}},worldToClient:function(e){var t=this.cameraControl;if(!t)return Bu.warn("camera is not initialized!!!"),null;var i=t.getContainerDimensions();if(!i)return null;var n=t.getCamera(),r=this.getScene().worldToDrawing(e),o=Zp.drawingToCanvas(n,r,i.width,i.height);return o?(o.x+=i.left,o.y+=i.top,o):null},worldPointsToClient:function(e,t){var i=this.cameraControl;if(!i)return Bu.warn("camera is not initialized!!!"),null;var n=i.getContainerDimensions();if(!n)return null;var r=i.getCamera(),o=this.getScene(),a=o.worldToDrawing(e),s=o.worldToDrawing(t),l=Zp.drawingPointsToCanvas(r,a,s,n.width,n.height);return l?(l.start.x+=n.left,l.start.y+=n.top,l.end.x+=n.left,l.end.y+=n.top,l):null},clientToWorld:function(e){var t=this.cameraControl;if(!t)return Bu.warn("camera is not initialized!!!"),null;var i=t.getContainerDimensions();if(!i)return null;(o={x:e.x,y:e.y,z:e.z}).x-=i.left,o.y-=i.top;var n=t.getCamera(),r=this.getScene(),o=Zp.canvasToDrawing(n,o,i.width,i.height),a=r.drawingToWorld(o);return{x:a.x,y:a.y,z:a.z}},insideCamera:function(e){var t=this.cameraControl;if(!t)return Bu.warn("camera is not initialized!!!"),!1;var i=this.getScene().worldToDrawing(e);return t.getFrustum().containsPoint(i)},locateToPointWithParallelEye:function(e){var t=this.cameraControl;if(!t)return Bu.warn("camera is not initialized!!!"),!1;var i=this.getScene().worldToDrawing(e);t.flyToPointWithParallelEye(i)},locateToPoint:function(e){var t=this.cameraControl;if(!t)return Bu.warn("camera is not initialized!!!"),!1;var i=this.getScene().worldToDrawing(e);t.flyToPoint(i)},enableHover:function(e){xd.Hover=e},getObjectsByClientCoordinates:function(e){return new tg(this).getObjectsByClientCoordinates(e)},getIBLManager:function(){return this.IBLManager},loadEnvMap:function(e){for(var t=["posx.hdr","negx.hdr","posy.hdr","negy.hdr","posz.hdr","negz.hdr"],i=[],n=0;6>n;n+=1)i.push("/"+e+"/"+t[n]);var r=this;(new(void 0)).load(B,i,(function(e){r.environmentCubeMap=e,r.modelManager.updateMaterialsValue("envMap",e),r.render()}))},setEnvMapIntensity:function(e){this.modelManager.updateMaterialsValue("envMapIntensity",e),this.setRenderStateChanged(!0),this.render()},closeEnvMap:function(){this.modelManager.updateMaterialsValue("envMap",null),this.render()},enableSSAO:function(e){return!xd.IncrementRender&&(xd.EnableRenderPass=e,xd.SSAO=e,this.setRenderStateChanged(!0),this.render(),!0)},switchNewStyleMaterial:function(e){this.modelManager.switchNewStyleMaterial(e),this.setRenderStateChanged(!0),this.render()},enableColorWithoutLight:function(e){this.modelManager.enableColorWithoutLight(e),this.setRenderStateChanged(!0),this.render()},addPlane:function(e,t,i,n){var r=new Ke;r.addVectors(new Ke(e.x,e.y,e.z),new Ke(t.x,t.y,t.z)),r.multiplyScalar(.5);var o=new In(t.x-e.x,t.y-e.y),a=new nn(o,new gi({side:2,transparent:!0,depthTest:!0}));a.position.copy(r),a.renderOrder=10,this.getScene().getOrCreateGroup(Vp.CUSTOMPLANE,{globalSpace:!0}).add(a),a.updateMatrixWorld(!0);var s=this;return(new Dl).load(i,(function(e){a.material.map=e,a.material.needsUpdate=!0,s.setRenderStateChanged(!0),n&&n()})),a},removePlane:function(e){var t=this.getScene().getGroup(Vp.CUSTOMPLANE);t&&t.remove(e)},clearPlane:function(){var e=this.getScene().getGroup(Vp.CUSTOMPLANE);e&&e.clear()},enableTextureMapping:function(e){xd.EnableTextureMapping=e},enableLightmap:function(e){xd.EnableLightmap!==e&&(xd.EnableLightmap=e)},setLightmapIntensity:function(e){xd.LightmapIntensity!==e&&(xd.LightmapIntensity=e)},setReverseWheelDirection:function(e){Kp.ReverseWheelDirection=Boolean(e)},getReverseWheelDirection:function(){return Kp.ReverseWheelDirection},setMovementSpeedRate:function(e){void 0!==e&&(Kp.MovementSpeedRate=e)},getMovementSpeedRate:function(){return Kp.MovementSpeedRate},moveTo:function(e,t,i){var n=this.controlManager.control;n&&n.moveTo(e,t,i)},rotateTo:function(e){var t=this.controlManager.control;t&&t.rotateTo(e)},enableOcclusionTranslucent:function(e){xd.OcclusionTranslucentEnabled=Boolean(e)},setOcclusionOpacity:function(e){xd.OcclusionOpacity=e},setOcclusionDistanceToCamera:function(e){xd.OcclusionDistanceToCamera=e},fitAndRotateBySelection:function(){this.cameraControl&&this.cameraControl.fitAndRotateBySelection()},setRoamingWalkHeight:function(e,t,i){if(Array.isArray(e)){var n=this.cameraControl;if(!n)return Bu.log("camera is not initialized!!!"),!1;if(t>0||(t=1750),void 0===i&&(i=!0),n.setCameraHeight(e,t),i){var r=this.controlManager.getCurrentControl();r&&r.name===Vd.WALK&&r.update&&n.flyOnWorld()}}else Bu.log("elevations is not arry")},setRoamingWalkAbsoluteHeight:function(e,t){var i=this.cameraControl;if(!i)return Bu.log("camera is not initialized!!!"),!1;if(void 0===t&&(t=!0),i.setCameraAbsoluteHeight(e),t){var n=this.controlManager.getCurrentControl();n&&n.name===Vd.WALK&&n.update&&i.flyOnWorld()}},cameraToWorld:function(e){return this.camera?Dp.drawingToWorld(e,this.getScene().getMatrixGlobal()):null},cameraToDrawing:function(e){return this.camera?Dp.worldToDrawing(e,this.getScene().getMatrixGlobal()):null},clearSelection:function(){this.modelManager.sceneState.clearSelection()},clearModelSelection:function(){this.modelManager.modelState.clearModelSelection()},addToSelection:function(e){this.modelManager.sceneState.addSelection(e)},addToModelSelection:function(e){this.modelManager.modelState.addModelSelection(e)},removeFromSelection:function(e){this.modelManager.sceneState.removeSelection(e)},removeFromModelSelection:function(e){this.modelManager.modelState.removeModelSelection(e)},setSelection:function(e){this.modelManager.sceneState.setSelection(e)},setModelSelection:function(e){this.modelManager.modelState.setModelSelection(e)},getSelection:function(){return this.modelManager.sceneState.getSelection()},getModelSelection:function(){return this.modelManager.modelState.getModelSelection()},setSelectionColor:function(e,t){var i=e,n=t;e instanceof Du&&(i=e.getHex(),n=e.getAlpha()),this.modelManager.sceneState.setSelectionColor(i,n);var r=this.rendererManager.getPickingEffecter();r&&r.setSelectionColor(i,n)},getSelectionColor:function(){return this.modelManager.sceneState.getSelectionColor()},restoreSelectionColor:function(){this.setSelectionColor(new Du(xd.SelectionColor.color,xd.SelectionColor.opacity))},setModelSelectionColor:function(e,t){this.modelManager.modelState.setSelectionColor(e,t)},pickByPoint:function(e){var t=this.cameraControl;if(!1===t.enabled)return!1;var i=new ke(e.x,e.y),n=t.getIntersectContext(i),r=t.intersector.pick(n),o=this.getScene();if(r){o.intersectToWorld(r,this);var a={};return a.faceIndex=r.faceIndex,a.componentKey=r.userId,a.worldPosition=r.worldPosition,a.worldBoundingBox=r.worldBoundingBox,a}return null},pickByPointWithNormal:function(e){var t=this.getScene(),i=this.cameraControl;if(!1===i.enabled)return null;var n=new ke(e.x,e.y),r=i.getIntersectContext(n),o=i.intersector.pick(r);if(!o)return null;t.intersectToWorld(o,this),o.cx=n.x,o.cy=n.y;var a=[];a.push(o);var s=t.getMatrixGlobal(),l=o.face.normal.clone(),c=o.worldPosition.clone(),h=new At(c,l);h.applyMatrix4(s);var d=i.intersector.getIntersectByRay(r,h);return d&&(t.intersectToWorld(d,this),a.push(d)),a},toDefaultOrthographicCamera:function(e){this.switchToCamera(Md.ORTHOGRAPHIC),(e||void 0===e)&&this.render()},toDefaultPerspectiveCamera:function(e){this.switchToCamera(Md.PERSPECTIVE),(e||void 0===e)&&this.render()},getCameraNameList:function(){return["pesp","orth"].concat(this.modelManager.getCameraNameList())},switchToCamera:function(e){var t=!0;if(e===Md.PERSPECTIVE)this.camera=this.defaultCamera,this.camera.toPerspective();else if(e===Md.ORTHOGRAPHIC)this.camera=this.defaultCamera,this.camera.toOrthographic();else{var i=this.modelManager.getCamera(e);i?this.camera=i:(Bu.log("Fail to switch because not found camera '"+e+"'"),t=!1)}return t&&this.cameraControl.setCamera(this.camera),this.render(),t},getNumOfElements:function(){return this.modelManager.getNumOfElements()},getNumOfRenderables:function(){return this.modelManager.getNumOfRenderables()},getNumOfTriangles:function(){return this.modelManager.getNumOfTriangles()},setLightPreset:function(e){this.getScene().setLightPreset(e),this.setRenderStateChanged(!0)},getLightPreset:function(){return this.getScene().getLightPreset()},setLightIntensityFactor:function(e){this.getScene().setLightIntensityFactor(e),this.render()},setAmbientLightIntensity:function(e){this.getScene().setAmbientLightIntensity(e),this.render()},getAmbientLightIntensity:function(){return this.getScene().getAmbientLightIntensity()},setWalkHeightLocked:function(e){var t=this.controlManager.getCurrentControl();t&&t.name===Vd.WALK&&t.setHeightLocked(e)},setWalkLookMousePressed:function(e){var t=this.controlManager.getCurrentControl();t&&t.name===Vd.WALK&&t.setDragLook(e)},setWalkSpeedRate:function(e){var t=this.controlManager.getCurrentControl();t&&t.name===Vd.WALK&&(Kp.MovementSpeedRate=e)},getWalkSpeedRate:function(){return Kp.WalkSpeedRate},setDrawingStyle:function(e){xd.DrawingStyle=e,this.modelManager.applyFilter(),this.setRenderStateChanged(!0)},getWireframeColor:function(e){var t=this.modelManager;if(e&&t.models[e])return t.models[e].wireframeManager.getWireframeColor();for(var i in t.models){return t.models[i].wireframeManager.getWireframeColor()}},setWireframeColor:function(e,t){var i=this.modelManager;if(t&&i.models[t])i.models[t].wireframeManager.setWireframeColor(new pi(e),e.a||1);else for(var n in i.models)i.models[n].wireframeManager.setWireframeColor(new pi(e),e.a||1);this.setRenderStateChanged(!0)},restoreWireframeColor:function(e){var t=this.modelManager;if(e&&t.models[e])t.models[e].wireframeManager.restoreWireframeColor();else for(var i in t.models)t.models[i].wireframeManager.restoreWireframeColor();this.setRenderStateChanged(!0)},setInstanceMode:function(e){!xd.Instance===e&&(xd.Instance=e,this.getScene().getOrCreateGroup(Vp.INSTANCEGEOMETRY,{globalSpace:!0}).visible=!!e)},setTransitionAnimationState:function(e){this.transitionAnimationState=e},getTransitionAnimationState:function(){return this.transitionAnimationState},clipPoint:function(e){var t=this.getRenderer().clippingPlanes;if(t&&t.length>0)for(var i=0;t.length>i;i+=1){var n=t[i];if(e.dot(n.normal)<-n.constant)return!0}return!1},setExposureShift:function(e){xd.ToneMapping=1,this.modelManager.updateMaterialsValue("shift",e>0?-.4*e+.5:-4*e+.5),this.setRenderStateChanged(!0)},setRenderStateChanged:function(e){this.modelManager&&this.modelManager.setRenderStateChanged(e)},isRenderStateChanged:function(){return this.modelManager._renderStateChanged},getComponentInfoByUserId:function(e){return this.modelManager.getComponentInfoByUserId(e)},getBoundingBoxByIds:function(e){var t=new He;if(Array.isArray(e)){for(var i=0;e.length>i;i+=1)if(!this.modelManager.isHiddenUserId(e[i])){var n=this.getModelByComponentKey(e[i]),r=this.getComponentInfoByUserId(e[i]);if(r)if(n){var o=r.boundingBox.clone().applyMatrix4(n.getModelMatrix());t.union(o)}else t.union(r.boundingBox)}}else for(var a in e)if(!this.modelManager.isHiddenUserId(a)){var s=this.getModelByComponentKey(a),l=this.getComponentInfoByUserId(a);if(l)if(s){var c=l.boundingBox.clone().applyMatrix4(s.getModelMatrix());t.union(c)}else t.union(l.boundingBox)}return t.isEmpty()||t.applyMatrix4(this.getScene().getMatrixGlobal()),t},setConditionsOnDemandLoad:function(e,t,i,n){t=t||!0,this.modelManager.setConditionsOnDemandLoad(e),t&&this.modelManager.loadGeopkOnDemand(i,n)},loadGeopkOnDemand:function(e,t,i,n){var r=this;this.modelManager.loadGeopkOnDemand(e,t,i,(function(){var e=r.modelManager.getNodeInfos();r.filter.reinitFilterManager(e),r.setRenderStateChanged(!0),r.render(),n&&n()}))},unloadGeopkOnDemand:function(e,t){var i=this;this.filter._hasVisibleFilter()&&(this.filter.showByIds(e),this.filter.removeFromIsolateList(e)),this.filter._hasOverrideMaterialFilter()&&(this.filter.addToOverrideListByColor(e,null),this.filter.addToWireframeByWireframe(e,null)),this.filter._hasTransparentFilter()&&this.filter.opaqueByIds(e),this.removeFromSelection(e);for(var n=0,r=e.length;r>n;n+=1);this.modelManager.unloadGeopkOnDemand(e,(function(){var e=i.modelManager.getNodeInfos();i.filter.reinitFilterManager(e),i.setRenderStateChanged(!0),i.render(),t&&t()}))},getBoundingBoxOnDemand:function(){return this.modelManager.getBoundingBoxOnDemand()},getScreenCoordFromSceneCoord:function(e){var t=[];if(e.isVector3){var i=e.clone();i.applyMatrix4(this.camera.matrixWorldInverse);var n=i.z>0;return i.applyMatrix4(this.camera.projectionMatrix),t[0]=(i.x+1)*this.domElement.clientWidth/2,t[1]=(1-i.y)*this.domElement.clientHeight/2,t[2]=n?1:0,t}if(Array.isArray(e)){var r=new Ke(e[0],e[1],e[2]);r.applyMatrix4(this.camera.matrixWorldInverse);n=r.z>0;return r.applyMatrix4(this.camera.projectionMatrix),t[0]=(r.x+1)*this.domElement.clientWidth/2,t[1]=(1-r.y)*this.domElement.clientHeight/2,t[2]=n?1:0,r=null,t}},_checkDataChanged:function(){var e=this.modelManager;e.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,e.checkTilesDataChanged(this.camera,this.getRenderer()))},_checkLayerDataLoading:function(){return!(!this.modelManager.isLayerData()||!this._layerDataLoading)&&(this.getFilter().isStateChanged()&&this.getFilter().disableStateChanged(),!0)},setOutlineEdgeColor:function(e){this.rendererManager.composer&&this.rendererManager.composer.setOutlineEdgeColor(e);var t=this.rendererManager.getPickingEffecter();t&&t.setLineSelectionColor(e.getHex(),e.opacity)},getOutlineEdgeColor:function(){if(this.rendererManager.composer)return this.rendererManager.composer.getOutlineEdgeColor();var e=this.rendererManager.getPickingEffecter();return e?e.getLineSelectionColor():void 0},restoreOutlineEdgeColor:function(e){this.setOutlineEdgeColor(new Du(xd.SelectionColor.color,xd.SelectionColor.opacity))},enableSelectedColorIsAffectedByLight:function(e){xd.InfluencedByLight=e,xd.InfluencedByLight?delete this.modelManager.getSceneState().selectionMaterial.defines.NOTAFFECTEDBYLIGHT:this.modelManager.getSceneState().selectionMaterial.defines.NOTAFFECTEDBYLIGHT=""},enableLogarithmicDepthBuffer:function(e){xd.logarithmicDepthBuffer!==e&&(xd.logarithmicDepthBuffer=e,this.renderSettings.logarithmicDepthBuffer=e,this.rendererManager.resetupRenderer(this.renderSettings||{}),this._render(),this.updateShadowLight())},enableBlinkComponents:function(e){this.modelManager.isBlinkPermited()||(this.modelManager.enableBlink(e),this.render())},setBlinkComponentsById:function(e){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.setBlinkComponentsById(e)},addBlinkComponentsById:function(e){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.addBlinkComponentsById(e)},clearBlinkComponentsById:function(e){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.clearBlinkComponentsById(e)},clearAllBlinkComponents:function(){this.modelManager.isBlinkPermited()||this.modelManager.sceneState.clearAllBlinkComponents()},getBlinkComponents:function(){return this.modelManager.isBlinkPermited()?null:this.modelManager.sceneState.getBlinkComponents()},setBlinkColor:function(e){this.modelManager.isBlinkPermited()||this.modelManager.setBlinkColor(e.color,e.opacity)},setBlinkIntervalTime:function(e){this.modelManager.isBlinkPermited()||this.modelManager.setBlinkIntervalTime(e)},getModelByComponentKey:function(e){var t=null;for(var i in this.modelManager.models)if(this.modelManager.models.hasOwnProperty(i)&&(t=this.modelManager.getModel(i))&&t.isLoaded()&&t.hasComponent(e))return t},getSceneState:function(){return{state:this.getFilter().saveState(),camera:this.getCamera(),selection:this.getSelection(),modelSelection:this.getModelSelection()}},setSceneState:function(e){void 0!==e.camera&&"object"!==nu(e.camera)||(e.camera=JSON.stringify(e.camera)),this.clearSelection(),this.clearModelSelection(),this.setCamera(e.camera,!1),this.setSelection(e.selection),this.setModelSelection(e.modelSelection),this.getFilter().loadState(e.state)},setComponentPositionByKey:function(e,t){var i=(new Ke).fromArray(t);this.getModelManager(),new yt;var n=this.modelManager.getComponent(e);if(n&&n.length>=1){for(var r=new He,o=0,a=n.length;a>o;o+=1){r&&r.union(n[o].boundingBox)}r.getCenter(vB);var s=this.getModelByComponentKey(e);if(s){var l=s.getModelMatrix();if(l){var c=new yt;c.copy(l).invert(),i.applyMatrix4(c)}}i.sub(vB);var h=(new yt).makeTranslation(i.x,i.y,i.z);this.componentApplyMatrix2(e,h,!0),this.updateTransformControlIfBindingComKeyEqual(e)}},setBackgroundColor:function(e,t){if(t)this.setBackgroundColors([{color:e,stop:"0%"},{color:t,stop:"100%"}],"180deg");else{var i=this.getDomElement();i&&(i.style.background=e.getRGBA())}},setBackgroundColors:function(e,t){var i=this.getDomElement(),n=t||"0deg",r=[];if(e&&e.length>0){1===e.length&&this.setBackgroundColor(e[0].color||e[0]);for(var o=0;e.length>o;o+=1){var a=e[o].color.getRGBA()+" "+e[o].stop;r.push(a)}var s=n+", "+r.join(",");i&&(i.style.background="linear-gradient("+s+")")}},resetBackgroundColor:function(){this.getDomElement()&&(this.domElement.style.background="linear-gradient(180deg, #CDEEFF 30%, #F5F5F5 100%)")},getComponentLocalMatrixByKey:function(e){if(e){var t=this.modelManager.getComponent(e);if(t&&t.length>0&&t[0].matrix)return t[0].matrix.clone()}},getComponentWorldMatrixByKey:function(e){var t=this.getComponentLocalMatrixByKey(e);if(t){var i=this.getModelByComponentKey(e);if(i){var n=i.getModelMatrix();t.premultiply(n)}return t}},setComponentLocalMatrixByKey:function(e,t){if(e){var i=this.modelManager.getComponent(e);if(i&&i.length>0){var n=i[0].mesh;return n.matrix.fromArray(t),n.updateMatrixWorld(!0),this.render(),!0}}return!1},_transformComponentByKey:function(e,t,i){var n=this;if(e){var r=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);if(r&&r.bindingComponentKey===e)return r;var o=this.getModelByComponentKey(e),a=function(e){n.render()},s=function(i){var r=n.adsorbControl;if("string"==typeof e&&i.matrix&&i.object){if(n.componentApplyMatrix2(e,i.matrix,!1),jg(o)&&r.enabled&&jg(r.selectObjectBoxHelper)){var a=r.selectObjectBoxHelper.position;n.setComponentPositionByKey(e,[a.x,a.y,a.z])}n.getScene().expandBoundingBoxWorldBy(i.object)}e instanceof Jg&&jg(i.matrix)&&jg(i.object)&&(i.matrix.decompose(mB,AB,yB),"rotate"===i.mode&&(e.quaternion.multiply(AB),i.rotateSpace===zg.LOCAL&&(e.boundingBox.getCenter(vB),e.computeBoundingBox(),(CB=e.boundingBox.getCenter(CB)).sub(e.position),e.position.copy(e.originPs),e.position.sub(CB),e.computeBoundingBox(),(IB=e.boundingBox.getCenter(IB)).sub(vB),e.position.sub(IB)),e.updateMatrixWorld(!0)),"translate"===i.mode&&(e.position.add(mB),e.originPs.copy(e.position)),"scale"===i.mode&&e.scale.multiply(yB),e.updateMatrixWorld(!0)),t&&t(e)};if("string"!=typeof e){if(e instanceof Yt){var l=e;return this.controlManager.enableTool(this,Yd.COMPONENT_TRANSFORM),r=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM),jg(e.computeBoundingBox)&&e.computeBoundingBox(),r.transformObject.position.copy(e.boundingBox.getCenter(new Ke(0,0,0))),r.transformObject.updateMatrixWorld(!0),r.transformComponent(l,a,s),r.bindingComponentKey=void 0,r}return}var c=this.modelManager.getComponent(e);if(c&&c.length>0){var h=n.externalComponentManager;h&&h.getNodeInfosByUserId(e)&&h.recalculateComponentBoundingbox(e);for(var d=new He,u=0,p=c.length;p>u;u+=1)d.union(c[u].transformationOriginalBoundingBox?c[u].transformationOriginalBoundingBox:c[u].boundingBox);var g=new nn(by.getGeometryFromBox3(d));if(g.matrixAutoUpdate=!1,c[0].transformation&&g.matrix.copy(c[0].applyMatrix),o){var f=o.getModelMatrix();if(f){var m=new To;m.matrixAutoUpdate=!1,m.matrix.copy(f),m.updateMatrixWorld(!0),m.add(g)}}return g.updateMatrixWorld(!0),this.controlManager.enableTool(this,Yd.COMPONENT_TRANSFORM),(r=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM)).transformComponent(g,a,s,void 0,(function(t){if(o)o.calculateBoundingBox();else{var r=n.externalComponentManager;r&&r.getNodeInfosByUserId(e)&&r.calculateBoundingBox()}n.modelManager.updateSceneBoundingBox(),i&&i(e)})),r.bindingComponentKey=e,this.modelManager.updateTransformComponentList(e),r}}},_transformModelByKey:function(e){if(e&&"string"==typeof e){var t=this.getModel(e);if(t&&t.isLoaded()&&t.isVisible()){var i=this,n=t.getBoundingBoxWorld();if(n.isEmpty())return;var r=new nn(by.getGeometryFromBox3(n));r.matrixAutoUpdate=!1,r.updateMatrixWorld(!0),this.controlManager.enableTool(this,Yd.COMPONENT_TRANSFORM);var o=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);return o.transformComponent(r,(function(e){i.render()}),(function(e){e&&e.matrix&&t.applyModelMatrix(e.matrix)})),o}}},translateComponentByKey:function(e,t,i){var n=this._transformComponentByKey(e,t,i);n&&(this.controlManager._componentTransformTool=n,n.switchToTranslateMode())},scaleComponentByKey:function(e,t,i){var n=this._transformComponentByKey(e,t,i);n&&n.switchToScaleMode()},rotateComponentByKey:function(e,t,i){var n=this._transformComponentByKey(e,t,i);n&&n.switchToRotateMode()},cancelTransformComponent:function(e){var t=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);t&&(e&&this.restoreComponentTransform(),t.cancelTransformComponent(),this.controlManager.disableTool(t.name))},cancelTransformComponentByKey:function(e){if(e&&"string"==typeof e){var t=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);t&&t.bindingComponentKey===e&&(t.cancelTransformComponent(),this.controlManager.disableTool(t.name))}},restoreComponentTransform:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&(e.bindingComponentKey?this.restoreComponentTransformByKey(e.bindingComponentKey):e.restoreComponentOriginalTransformState()&&this.render())},restoreComponentTransformByKey:function(e){e&&"string"==typeof e&&(this.resetComponentMatrix(e),this.updateTransformControlIfBindingComKeyEqual(e))},updateTransformControlIfBindingComKeyEqual:function(e){var t=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);t&&t.bindingComponentKey===e&&(t.cancelTransformComponent(),this._transformComponentByKey(e))},increaseComponentTransformControlSize:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&e.increaseTransformControlSize()&&this.render()},decreaseComponentTransformControlSize:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&e.decreaseTransformControlSize()&&this.render()},setComponentTransformControlSize:function(e){var t=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);t&&"number"==typeof e&&e>0&&(t.setComponentTransformControlSize(e),t.update(),this.render())},getComponentTransformControlSize:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);if(e)return e.getComponentTransformControlSize()},setComponentTransformSpaceToLocalSpace:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&e.setTransformSpaceToLocalSpace()&&this.render()},setComponentTransformSpaceToWorldSpace:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&e.setTransformSpaceToWorldSpace()&&this.render()},switchComponentTransformSpaceBetweenLocalAndWorld:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&e.switchTransformSpace()&&this.render()},showComponentTransformOnAxis:function(e){var t=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);t&&t.showTransformOnAxis(e)&&this.render()},hideComponentTransformOnAxis:function(e){var t=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);t&&t.hideTransformOnAxis(e)&&this.render()},disableComponentTransform:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&e.disableTransform()&&this.render()},enableComponentTransform:function(){var e=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);e&&e.enableTransform()&&this.render()},componentApplyMatrix:function(e,t){var i=this.getModelManager(),n=this.getModelByComponentKey(e);if(n){i.explosionList[e]||(i.explosionList[e]=!0);var r=n._getHandler();if(r instanceof SI){var o=this.modelManager.getComponent(e);if(o&&o[0]&&o[0].mesh){var a=o[0].mesh;if(a){a.userData.originalMatrix||(a.userData.originalMatrix=a.matrixWorld.clone());var s=new Ke(a.userData.originalMatrix.elements[12],a.userData.originalMatrix.elements[13],a.userData.originalMatrix.elements[14]),l=new yt;l.setPosition(s);var c=new yt;c.setPosition(s.multiplyScalar(-1)),a.matrixWorld.multiply(c).multiply(t).multiply(l)}}}else if(r instanceof Vv){var h=n.getModelDescriptor(),d=h.mapNodeInfoByCategory[1],u=h.mapNodeInfoByCategory[0];if(d.hasOwnProperty(e))for(var p=d[e],g=0;p.length>g;g+=1){var f=p[g],m=f.mesh;if(m){var A=f.index,y=m.geometry.attributes.position;by.applyMatrix4ToBuffer(t,y.array,A.positionStart,A.positionStart+A.positionCount),y.needsUpdate=!0}}if(u.hasOwnProperty(e))for(var v=u[e],C=r.instancedManager.meshManager,I=0;v.length>I;I+=1)for(var x=v[I],w=C.getMeshIdByNodeInfo(x),M=C.nodeIdxMapFromUserId[e][w],E=0,B=M.length;B>E;E+=1){var S=M[E],b=C.instanceGeometryMap[w][E],k=b.getAttribute("mcol0"),D=b.getAttribute("mcol1"),T=b.getAttribute("mcol2"),R=b.getAttribute("mcol3");x.transformation||(x.transformation=!0,x.transformationOriginalMatrix=x.matrix.clone());var U=(new Ke).fromArray(x.transformationOriginalMatrix.elements,12),F=new yt;F.setPosition(U);var Q=new yt;Q.setPosition(U.multiplyScalar(-1));var L=new yt;L.fromArray([k.array[3*S],k.array[3*S+1],k.array[3*S+2],0,D.array[3*S],D.array[3*S+1],D.array[3*S+2],0,T.array[3*S],T.array[3*S+1],T.array[3*S+2],0,R.array[3*S],R.array[3*S+1],R.array[3*S+2],1],0),L.multiply(Q).multiply(t).multiply(F),k.array[3*S]=L.elements[0],k.array[3*S+1]=L.elements[1],k.array[3*S+2]=L.elements[2],k.needsUpdate=!0,D.array[3*S]=L.elements[4],D.array[3*S+1]=L.elements[5],D.array[3*S+2]=L.elements[6],D.needsUpdate=!0,T.array[3*S]=L.elements[8],T.array[3*S+1]=L.elements[9],T.array[3*S+2]=L.elements[10],T.needsUpdate=!0,R.array[3*S]=L.elements[12],R.array[3*S+1]=L.elements[13],R.array[3*S+2]=L.elements[14],R.needsUpdate=!0,x.matrix=L}}else Bu.warn("当前模式下暂不支持构件变换")}this.render()},componentApplyMatrix2:function(e,t){var i=2>=arguments.length||void 0===arguments[2]||arguments[2],n=this.getModelByComponentKey(e),r=this.getModelManager();if(n)n.componentApplyMatrix(e,t);else{var o=r.getComponent(e);if(o&&o.length>0)for(var a=0;o.length>a;a+=1){var s=o[a];s.matrix||(s.matrix=new yt),s.transformation||(s.transformation=!0,s.transformationOriginalMatrix=s.matrix.clone(),s.applyMatrix=new yt,s.boundingBox&&(s.transformationOriginalBoundingBox=s.boundingBox.clone())),s.matrix.premultiply(t),s.applyMatrix.premultiply(t),s.boundingBox&&s.boundingBox.copy(s.transformationOriginalBoundingBox).applyMatrix4(s.applyMatrix);var l=null;if(s.mesh instanceof Array)l=s.mesh;else{if(!(s.mesh instanceof Yt))continue;l=[s.mesh]}for(var c=0,h=l.length;h>c;c+=1){var d=l[c];s.isExternalComponent&&(d.userData.originalMatrix||(d.userData.originalMatrix=d.matrix.clone()));var u=d.matrixAutoUpdate;d.matrixAutoUpdate=!1,d.applyMatrix4(t),d.matrixAutoUpdate=u,d.updateMatrixWorld(!0)}var p=s.wireframeMeshs;if(p)for(var g=0,f=p.length;f>g;g+=1){var m=p[g];u=m.matrixAutoUpdate,m.matrixAutoUpdate=!1,m.matrix.copy(s.matrix),m.updateMatrixWorld(!0),m.matrixAutoUpdate=u}}}if(void 0===i&&(i=!0),i){if(n)n.calculateBoundingBox();else{var A=this.externalComponentManager;A&&A.getNodeInfosByUserId(e)&&A.calculateBoundingBox()}this.modelManager.updateSceneBoundingBox()}this.modelManager.updateTransformComponentList(e),this.render()},setComponentMatrix:function(e,t){this.setComponentMatrix2(e,t)},setComponentMatrix2:function(e,t,i){var n=this.getModelByComponentKey(e),r=this.getModelManager();if(n)n.setComponentMatrix(e,t);else{var o=r.getComponent(e);if(o&&o.length>0)for(var a=0;o.length>a;a+=1){var s=o[a];s.matrix||(s.matrix=new yt),s.transformation?(new yt).copy(s.applyMatrix).invert():(s.transformation=!0,s.transformationOriginalMatrix=s.matrix.clone(),s.applyMatrix=new yt,s.boundingBox&&(s.transformationOriginalBoundingBox=s.boundingBox.clone())),s.matrix.copy(s.transformationOriginalMatrix).premultiply(t),s.applyMatrix.copy(t),s.boundingBox&&s.boundingBox.copy(s.transformationOriginalBoundingBox).applyMatrix4(s.applyMatrix);var l=null;if(s.mesh instanceof Array)l=s.mesh;else{if(!(s.mesh instanceof Yt))continue;l=[s.mesh]}for(var c=0,h=l.length;h>c;c+=1){var d=l[a];s.isExternalComponent&&(d.userData.originalMatrix||(d.userData.originalMatrix=d.matrix.clone()));var u=d.matrixAutoUpdate;d.matrixAutoUpdate=!1,d.matrix.copy(s.matrix),d.applyMatrix4(new yt),d.matrixAutoUpdate=u,d.updateMatrixWorld(!0)}var p=s.wireframeMeshs;if(p)for(var g=0,f=p.length;f>g;g+=1){var m=p[g];u=m.matrixAutoUpdate,m.matrixAutoUpdate=!1,m.matrix.copy(s.matrix),m.updateMatrixWorld(!0),m.matrixAutoUpdate=u}}}if(void 0===i&&(i=!0),i){if(n)n.calculateBoundingBox();else{var A=this.externalComponentManager;A&&A.getNodeInfosByUserId(e)&&A.calculateBoundingBox()}this.modelManager.updateSceneBoundingBox()}this.render()},resetComponentMatrix:function(e,t){var i=this.getModelByComponentKey(e),n=this.getModelManager();if(i)i.resetComponentMatrix(e);else{var r=n.getComponent(e);if(r&&r.length>0)for(var o=0;r.length>o;o+=1){var a=r[o];if(a.transformation){a.matrix.copy(a.transformationOriginalMatrix),a.transformationOriginalBoundingBox&&(a.boundingBox=a.transformationOriginalBoundingBox.clone());var s=null;if(a.mesh instanceof Array)s=a.mesh;else{if(!(a.mesh instanceof Yt))continue;s=[a.mesh]}for(var l=0,c=s.length;c>l;l+=1){var h=s[o],d=void 0;if(d=a.isExternalComponent?h.userData.originalMatrix:a.matrix){var u=h.matrixAutoUpdate;h.matrixAutoUpdate=!1,h.matrix.copy(d),h.applyMatrix4(new yt),h.matrixAutoUpdate=u,h.updateMatrixWorld(!0),h.userData.originalMatrix=void 0}}var p=a.wireframeMeshs;if(p)for(var g=0,f=p.length;f>g;g+=1){var m=p[g];u=m.matrixAutoUpdate,m.matrixAutoUpdate=!1,m.matrix.copy(a.matrix),m.updateMatrixWorld(!0),m.matrixAutoUpdate=u}a.transformationOriginalMatrix=void 0,a.transformationOriginalBoundingBox=void 0,a.applyMatrix=void 0,a.transformation=void 0}}}if(void 0===t&&(t=!0),t){if(i)i.calculateBoundingBox();else{var A=this.externalComponentManager;A&&A.getNodeInfosByUserId(e)&&A.calculateBoundingBox()}this.modelManager.updateSceneBoundingBox()}this.render()},calculateComponentVolume:function(e){var t=this.modelManager.getComponent(e),i=this.modelManager.getMeshByUserId(e),n=new Ke,r=new Ke,o=new Ge;if(t&&t.length>0){Bu.time("计算体积");for(var a=0,s=0,l=t.length;l>s;s+=1){var c=t[s];if(c.isExternalComponent)for(var h=c.mesh,d=0,u=h.length;u>d;d+=1){var p=h[d];p.matrixWorld.decompose(r,o,n);var g=p.geometry,f=n.x||1,m=by.calculateVolumeOfGeometry(g.attributes.position.array,g.index.array);m&&(a+=m*f*f*f)}else if(i){var A=c.mesh||i[s].mesh;if(A){A.matrixWorld.decompose(r,o,n);var y=A.geometry,v=n.x||1,C=A._indicesGroup;if(C&&!c.instanceOrNot)for(var I=C[e],x=0,w=I.length;w>x;x+=1){var M=I[x],E=by.calculateVolumeOfGeometry(y.attributes.position.array,y.index.array,M.indexStart,M.indexCount);E&&(a+=E*v*v*v)}else{var B=by.calculateVolumeOfGeometry(y.attributes.position.array,y.index.array);B&&(a+=B*v*v*v)}}}}var S=this.getBoundingBoxByIds([e]),b=new Ke;return S.getCenter(b),Bu.timeEnd("计算体积"),{volume:a,position:b.toArray()}}},setAxisNetColor:function(e,t){var i=!1,n=this.modelManager;for(var r in n.models){var o=n.models[r];o.axisNetManager&&(o.axisNetManager.setupColor(e,t),i=!0)}i&&this.render(!0)},showAxisNet:function(){var e=!1,t=this.modelManager;for(var i in t.models){var n=t.models[i];n.axisNetManager&&(n.axisNetManager.show(),e=!0)}e&&this.render(!0)},hideAxisNet:function(){var e=!1,t=this.modelManager;for(var i in t.models){var n=t.models[i];n.axisNetManager&&(n.axisNetManager.hide(),e=!0)}e&&this.render(!0)},enableAxisNetStayInFront:function(){var e=!1,t=this.modelManager;for(var i in t.models){var n=t.models[i];n.axisNetManager&&(n.axisNetManager.enableStayInFront(),e=!0)}e&&this.render(!0)},disableAxisNetStayInFront:function(){var e=!1,t=this.modelManager;for(var i in t.models){var n=t.models[i];n.axisNetManager&&(n.axisNetManager.disableStayInFront(),e=!0)}e&&this.render(!0)},enableSnap:function(e){this.controlManager.getToolByName(Yd.PICK_BY_RECT).enableSnap(e)},pickToPoint:function(e,t){return this.controlManager.control.pickHelper.pickToPoint(e,t)},getViewportSize:function(){return this.rendererManager.getRendererSize()},getRenderer:function(){return this.rendererManager.getRenderer()},getExternalComponentManager:function(){return this.externalComponentManager||(this.externalComponentManager=new dB(this)),this.externalComponentManager},addExternalObject:function(e,t,i,n){e=e||wp.createUUID();this.getExternalComponentManager().addNode(e,t,i,n),this.render()},addExternalObjects:function(e,t,i){for(var n=this.getExternalComponentManager(),r=[],o=0;e.length>o;o+=1){var a=wp.createUUID();n.addNode(a,e[o],t,i),r.push(a)}return this.render(),r},removeExternalObjectByName:function(e){this.getExternalComponentManager().removeNodeById(e),this.render()},clearExternalObjects:function(){this.getExternalComponentManager().clearNodes(),this.render()},getExternalObjectByName:function(e){return this.getExternalComponentManager().getNodeById(e)},getAllExternalObjects:function(){return Object.values(this.getExternalComponentManager().getAllNodes())},getModelFloorMapsByKey:function(e,t){var i=this.modelManager.models[e];if(i&&i.floorManager){if("function"!=typeof t)return i.floorManager.getMimiMaps();i.floorManager.getServerMimiMaps(t)}},getReceivingPlane:function(e){return this.getScene().getReceivingPlane(e)},enableShadow:function(e){this.getReceivingPlane(e),e?this.getScene().lightManager.enableShadowLight():this.getScene().lightManager.disableShadowLight();var t=this.getRenderer();t.shadowMap.enabled=e,t.shadowMap.type=2,t.shadowMap.autoUpdate=!1,t.shadowMap.needsUpdate=!0;for(var i=this.getScene().getGroups(),n=this.getScene(),r=0;i.length>r;r+=1){var o=n.getGroupType(i[r].name);o.groupType!==Vp.IBLCUBE&&("ClipPlane"!==o.groupType&&this.traverseGroupEnableShadow(i[r],e))}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(e,t){var i=this;this.getRenderer(),function(e){if(e instanceof nn){var n=e.material;if(n instanceof Array){var r=null;if("PhoneLightingMaterial"===n[0].type)return;e.castShadow=t,e.receiveShadow=t;for(var o=0;n.length>o;o+=1)n[o].needsUpdate=!0,r=n[o].defines;e.customDepthMaterial=t&&r&&r.hasOwnProperty("USE_INSTANCE")?i.getInstanceDepthMaterial():void 0}else{if("PhoneLightingMaterial"===n.type)return;e.castShadow=t,e.receiveShadow=t,n.needsUpdate=!0;var a=n.defines;e.customDepthMaterial=t&&a&&a.hasOwnProperty("USE_INSTANCE")?i.getInstanceDepthMaterial():void 0,n.needsUpdate=!0}}}(e);for(var n=e.children,r=0,o=n.length;o>r;r+=1)this.traverseGroupEnableShadow(n[r],t)},getInstanceDepthMaterial:function(){if(this.instanceDepthMaterial)return this.instanceDepthMaterial;var e=new dy;return e.depthPacking=re,this.instanceDepthMaterial=e,this.instanceDepthMaterial},updateShadowMap:function(){4===xd.LightPreset&&(this.getRenderer().shadowMap.needsUpdate=!0)},cloneComponent:function(e){function t(e){for(var t in e)e.hasOwnProperty(t)&&(e[t]instanceof Fe||e[t]instanceof gn)&&(e[t]=e[t].clone(),e[t].needsUpdate=!0)}var i,n=this.modelManager.getComponent(e),r=new Ni,o=n[0].model,a=o.materialManager,s=this.getExternalComponentManager(),l=[];if(n[0].isBatched&&!n[0].instanceOrNot)!function(){var e,o=[],c=[],h=[],d=[],u=[],p=0,g=0,f=[],m=0,A=vu(n);try{var y=function(){var i,n,s,A,y=e.value,v=y.index,C=y.mesh.geometry,I=y.mesh.geometry.attributes,x=I.position.array.slice(v.positionStart,v.positionStart+v.positionCount),w=I.normal.array.slice(v.positionStart,v.positionStart+v.positionCount),M=void 0;if(I.uv)M=I.uv.array.slice(v.positionStart/3*2,(v.positionStart+v.positionCount)/3*2);else{var E=x.length/3*2;(M=new Array(E)).fill(0,0,E)}var B=void 0;if(I.uv2)B=I.uv2.array.slice(v.positionStart/3*2,(v.positionStart+v.positionCount)/3*2);else{var S=M.length;(B=new Array(S)).fill(0,0,S)}var b=v.positionStart/3,k=C.index.array,D=v.indexCount,T=y.originMId;l.push(T);var R=cA.getMaterialParameters(a.getMaterialById(T)),U=cA.createStandardMaterial(R);t(U),f.push(U),u.push.apply(u,mu(k.slice(v.indexStart,v.indexStart+v.indexCount).map((function(e){return e-b+g})))),o=(i=o).concat.apply(i,mu(x)),c=(n=c).concat.apply(n,mu(w)),h=(s=h).concat.apply(s,mu(M)),d=(A=d).concat.apply(A,mu(B)),r.groups.push({start:p,count:D,materialIndex:m}),p+=D,g+=v.positionCount/3,m+=1};for(A.s();!(e=A.n()).done;)y()}catch(e){A.e(e)}finally{A.f()}r.setAttribute("position",new Ai(new Float32Array(o),3)),r.setAttribute("uv",new Ai(new Float32Array(h),2)),r.setAttribute("uv2",new Ai(new Float32Array(d),2)),r.setAttribute("normal",new Ai(new Float32Array(c),3)),r.setIndex(new Ai(new Uint32Array(u),1)),i=new nn(r,f),s.addExternalObject(i)}();else if(n[0].isBatched&&n[0].instanceOrNot)!function(){var n=o._handler.instancedManager.meshManager,a=n.getNodeIdxMapByUserId(e),c=[],h=[],d=[],u=[],p=n.matrixInfoMapFromUserId[e][Object.keys(n.matrixInfoMapFromUserId[e])[0]][0].matrix,g=0,f=0,m=0,A=[],y=0;for(var v in a){var C,I,x,w=n.getInstanceGeometries(v),M=w[0].index.array;if(f=w[0].index.count,c=(C=c).concat.apply(C,mu(w[0].attributes.position.array)),h=(I=h).concat.apply(I,mu(w[0].attributes.normal.array)),w[0].attributes.uv){var E;d=(E=d).concat.apply(E,mu(w[0].attributes.uv.array))}else{var B=2*f,S=new Array(B);S.fill(0,0,B),d=d.concat(S)}u=(x=u).concat.apply(x,mu(M.map((function(e){return e+g})))),g=c.length/3;var b=n.getMaterialIdByMeshId(v),k=n.manager.model.materialManager.getInstanceMaterialById(b)[0],D=cA.getMaterialParameters(k),T=cA.createStandardMaterial(D);l.push(b),t(T),A.push(T),r.groups.push({start:m,count:f,materialIndex:y}),m+=f,y+=1}r.setAttribute("position",new Ai(new Float32Array(c),3)),r.setAttribute("uv",new Ai(new Float32Array(d),2)),r.setAttribute("normal",new Ai(new Float32Array(h),3)),r.setIndex(new Ai(new Uint32Array(u),1)),(i=new nn(r,A)).applyMatrix4(p),i.updateMatrixWorld(),s.addExternalObject(i)}();else{var c=o.getModelDescriptor().getNodeInfosByComponentKey(e)[0].originMId;if(l=c,i=n[0].mesh.clone(),Array.isArray(c))i.material=c.map((function(e){var i=a.getMaterialById(e),n=cA.getMaterialParameters(i),r=cA.createStandardMaterial(n);return t(r),r}));else{var h=a.getMaterialById(c),d=cA.getMaterialParameters(h),u=cA.createStandardMaterial(d);t(u),i.material=u}s.addExternalObject(i)}return i?(i.byClone=!0,i.originMId=l,i.originComponentKey=e,i):null},setComponentBlinkByComponentKeys:function(e,t,i,n){var r=this,o=new Map;e.forEach((function(e){var t=r.getModelByComponentKey(e);if(t)if(o.has(t))o.get(t).add(e);else{var i=new Set;i.add(e),o.set(t,i)}})),this.filter.setComponentBlinkByComponentKeys(o,t,i,this,n)},closeComponentBlinkByComponentKeys:function(e){var t=this,i=new Map;e.forEach((function(e){var n=t.getModelByComponentKey(e);if(n)if(i.has(n))i.get(n).add(e);else{var r=new Set;r.add(e),i.set(n,r)}})),this.filter.closeComponentBlinkByComponentKeys(i)},getTimerManager:function(){return this.timerManager},clearBlinkList:function(){this.filter.clearBlinkList()},_setAdsorbSelectedObject:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t&&("string"!=typeof e?this.adsorbControl.setSelectedObjectByCollection({collection:e}):this.adsorbControl.setSelectedObjectByComponentId(e))},getRotationCenter:function(){return this.rotationCenter},getClientSize:function(){var e=this.domElement===document?this.domElement.body:this.domElement;return this.clientSize.set(e.clientWidth,e.clientHeight),this.clientSize}}),Object.defineProperties(xB.prototype,{renderer:{get:function(){return console.warn("BOS3D.ViewerImpl: .renderer 现在为 .getRenderer()"),this.getRenderer()}},composer:{get:function(){return console.warn("BOS3D.ViewerImpl: .composer 现在为 .rendererManager.composer"),this.rendererManager.composer}},scene:{get:function(){return this.modelManager.scene}},capsScene:{get:function(){return this.modelManager.capsScene}},sceneCamera:{get:function(){return this.camera}},adsorbControl:{get:function(){return this.scene.adsorbControl}}});var wB="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wgARCAIAAgADAREAAhEBAxEB/8QAGwAAAwEBAQEBAAAAAAAAAAAABAUGAwIBAAf/xAAdAQACAwEBAQEBAAAAAAAAAAAEBQIDBgEABwgJ/9oADAMBAAIQAxAAAAGx/oEhHkgQ24b6Ti2V7t0vrUmjcyhtXU/VkBEMxbjTKc5z0vGdUo6MFtWugF75bxqF0EirSDz801FP1mxZiLTh1f0vF0JWYhBYytSa2GsI974qjMPlqxyu1ig+X55qygSTtomj2UPlbv3vz9sG5lHNwBLAyizWtWyEt8mHpyaE5e3Eu+5qkhyFGdUNIE+twZQiNp1dKm1hlAxMM5OtlBlPVxQ8A7WThjFxRtaZfa4Gza68tQQ8zlVWpyNIzUnCNxUXXCfOo2gOUKEochzJpYnhJmAM/okpWYWknGJJmtGYYBCYE6BGzEfLH8w7hvUHzxUqYNTRmjMHR42USbsZaY0xmI4DHEujtV2kVZ/ibdaXMaWKp1Op5lTtX6eZt5N12rTtxrkPHkiosxQY1SGEEV6G5RC0iqfFijiQeVkfvKFZR/5Tp7XgzpyIDpFkcK2DsHVHAlgbwzmLbjqwr+4WV6cT8xW0amJ4or1XThMf3l+FzQEuxoGYTWMJZliK7HIGlTMlevD2YEJ1wItMP0rVax1ZA+qWHLVhse+Iuo2feiZQsXFsE5rFqC775lBLM60H03EhveOd6GwZOBfLGqc9eoMt+leZQxmmj6SZOPImvgQbNZj+4yts1884kyHv0000QpmLMIgomtk0Ds+5HKy72B+NmHLpYBEtBLqMbKc/Xc+UMhh3i+PUKFxd+VkmAgzYFs8WjLykPNmkzn7KdZFKdwvYj23I2a5GxMaAfQQ7zGY2a0jRPtE/vb/Yg/ecZSa6RzzUBNtWiAM14RL8eYotmlbB5fv2bKqcHiMIl/xcUuZiP3YB+EsQ8XtJxstYDD1KagawMiGywsoWmqFZTFGds1ZWIp1xtigA883BJHjnYXfWuUzcbJcdJwkqYDL8bKuuQJq6NbLvlAV86ZSW/V3T7SnKwxkL0e3qRhQbRBoEf7708wLz5qGwqvX2dYDWKTc6ZS5VFD5SNPHT+QyT4HVpmPfPMzaM8SPu1ZijryYK3OVKhgwE2Cs/NY2FKDimQdqosFeXo6BPgeoZWtUPEDbVexcCEC+d8vKMPE8kPwbEcgirQPFrAIgebZg9SrDubIGBTAcoeYPXlx47BQYqYDkmVBcyv8i7GkC5Cfd+zwl9ptFDUJvPtAgSIsRvGjGaQKKHLCMxDkDmPXa4xdpWlMpdgFxIpAjXBvNhDMes0eGcjihtD1LOAEgzpufeCvrvNG98zWU+70qiqmR4jmXd1SjXDbUiVyrbRj7ec8dfW4t0vZ4WrDx0gNywAloTV1iJqCKq1BVM4zyjOjVpDqkxhfUJCXDnVQZj2DWDHjy3g0z9KgWy+8yDIGTG+RmFOxcraorFJ3F97nHrYIil6Ag94Dn3VERX9dz/AHBZvXqNo4o4QVsDr/zbVJmwx+UydYMOoXnU50W0ES6wG1HQrmj9ZUPceLeHz7T8daCXpJ5hi0xAdQF9QF9rDY5Q2jJvVrgAtaLbeuLs58p7i+dLtEoYBPFoX53oss9DPPoYzrGU4fwC6zTlVWusXXMFpA1Qr0PPbCIr6tIYsPVUKuhAzVjWqTx9DhZI0U/Tg+kZIzj05wlEpS06xEqMcTTYxwECERZPMLq1O5HsRDXw2rL3rm5BAUmdCIX+eaIGFHPFVGu2JdaDeqLEPQ5zHLoogtIumDlNGJsjxNGJfg24ipuFo9axQSWKktIoMKbit2Qcm4afSEEhF35nrGH0XBsBuJJuoAhzUUImiZCmpjRe/PKFQ6CMzO1ei05gbBC04monGq88choE1Um6ObaFF1ClU071fP2q7JWaPXi3aaG0tKZgGVSfrBX1xtzySo6PcbWomf2g0br5zjUTOyWXapZr18DNsJ4edVIp0XkqFRThOwzCE1MxH2Z1Iu1WN3r65C16s0NmGOaMXJOqlpT/ALimajEawHoVSKhTQVl3fmWsPVG56kWKSoW52vKdPcmYvlhTIwcj7qqlTkyD3OnD+uM4lXGXgkk/U/V0DKRscGeMcESoRmZkW0SkW7Cvz7zC8FcdnfOcSMWpNV2kahLYBEVLSTXQRCgw18tWhXrPZE+eVDToaC8wt2IV5zNe824mXG5ddcmys+hnUpFRGUIrlbI3vfLU5whwxT5WvxtpWmcGsbLTJKTCThxS6HpVC+FeYZQVexqNegg0C5w+XkjzcY2J87FBwrxiFmQSU2M2LMXXrTRaRFtPp45WwSGivFptkQ+Bi3QbwTV0ybUaTzeU1fnbMZsg7ltAuvDvC1hUCRPaBe9Y4lwvVdzCjOj2OExibnu22i22hBmKjpU/lxmSUG7ZExYfoWV+Sh2qs73opGgcrnKw1eNcG5Wr9YasMpE7WU9xbzDtRlIh6sYCXMvzLU4/OVJ4aQrr7zrOtTtGwPBrc4XRpEDTotudJgVnKyiU07VtGQJmnAVhhUs6cbV0aQB/PdMs1jpjR2zcTAtBGS0pvtDOMw1otzwW6G0BeuG5TEZCg5Sv+4my4npFmklnbBffrs5VfdVF1Kna6zG0YsZs+VIyB8gsMG+u2SVg057oBrk+M0Wdjl8rXb1x6iC9WOVZsozQmA3s6xEzk3GCSl5Lmxp5a/04689ZRLbs5w0gxplGRGlldOE+WtcpWHiaXrnGAqpmufomswDcyVQSsJ5HP2h1NA84GU+ZhnryckPbpS6CXAOXWGMRboFUKOZ6Pn0Z1iEBYpv0LjGx954AmqGc1GsQcbH+kBSx8zVoPTDwzmKahW6kEnUe+zgZAI9w7ASO1TOSe3ddt7r0e9J6szoRSJwvZpTPniM4fmb0aYNAFtFxNoNw9aqDcBZ7asTPsPpMePT2gY0BcfdTYWeqEOgcAIpV9KbcXMwyQyBF5dGM7FhRTQReRTwe4xoDkdOEmjbKdb5taSexEbAkAderkGudZ0aSpU6BCyCerxOep+OqK5G3RsgxuZejVHx2k0mHUjkLYVqG9C3SEUkJGKbPolGp1+FsZ1o5UlOSh2XU0o16ZiIEPNVMs6EhrZiMmrVuixmwDsUC2rqJcD144qkD3xjgBcVSWyCZYWx6gdLuzaFRewEIQtliFnOgVos5hkUlfdWDXd46z+8uAJnhZfSp9jOtUONi2rShjXN8bB4DRhLyNRcoGiwtbxNE/WIvO0HUafPq3CaNKy3qYzqy9VcJS2gTkqOc0pZSLyxMXnqlTuCKxtam3nJoWJ7kP5a+WZ/aJ+FhUu60Eg2Qj9ApgXtMpEJr9KNlnvTvumrSjjKAOelnjderxaZIm3E+txeoTbQt7qbKy7cCcfn3MUS2ZYwR4ou9RH3g/vFrzDVhfHADzetRLuA1R7ajU3fdkvuvjn9/sb7NIonmS0O2pgMtpVeuBIQImWiym0WEhAzyLajRWCNghYMMJtj6UiI/JPAdvnMZ8svKHNw6gHu+UmQ3GVsjRi+JXSTpTJsEFip8yo0vsVrxZnwDdWGTIayoa32M9DKNL24w2UNjb5xuxrxghHnC0xiKqj9CqjHozkInqGUpFZjYAcQgxiGIRV4MnQzjaLARkISEkYT47x2ut+8cNanIrzxNWrkXan2CDP3qVdpPePZpqb13jAXOyLTK0INrxb9QGuYqzVf3cWRWbpVqwyVG4+mODcrjPkI5C5sK63rtJqLLHFYCZCSZ5Zcw11EAfzFL9Y98i8l27HeGfz61563PHyoBGlV3a4+pFUqQCapd1tdYi7xzCk4ROYr64N1Qhsk+nMGVlDhGjuhCdWJcXF6OPnGik4IAhPlzc0izMFVZFcVRXJXe9GVmHMFxbznuo1q0ZHMdtWWPZBLb8wb0H06r6r3ElEyoinqwyq14ARn43GTjergJXysMgthQ5z9eyHCxkL7xJ1BPz7z9eRxKlmH44feIGZcNoaxrDG4i/OYjcHTGDMYTQQ65U6XsngigwelMfLKaVeTnx/JPfMKAGbQQYew84XVVSUTqnUwGrguKsMpxz1YsIqzLQEEuvQzTkbSFpYyrTjmResdIsni4cqhHpDTomYEU1w3N24rU30f3o+9fUrH5152t6uaGB7tI1Q0yjJc+5+eaLQLTVdeqhz51rXlM5AgWLcLJNBmOVzhAw0NGo2e/s0JerFusVFPERuUole8bCe2hWlYCE1pGwbAmhmHcD5LOSjdV7EDmR4lg7gfRl0kmUrzgNw0BbNhsumYZgmr5+ZQw1gBjc1MGjnOC8qjuJi4vYqzC8LFJ1C88ZkaMxHsogNFn0Z7qwTaujUn835BaUpAIJX3tbfPttPZTCxAzEcYS0cU9+dlxcvlpaYzGNg7lxA+V2inGFD4PYKDL2obJsEvHtyNIp0U42IkW6M0b6LrEYymKwxGzHUHBbQO01tR86wsJFuzsY4abVp9Otyq2v3oMBrqJRpvPEddWD+STzbGNRB6Fd3WEsL9GpMtDuW5y12MmLYXJ/eX5yCcAH6waiXWryx5ZoRhPQOwRzaKeJipjoOQlTle4OoWSDlHRK9E7WuILSZQMszqPih8eVBsHaPvXWXUTpzaZTD1hzeqaRhHqNlkisQsw+qtUiY06VNsb8QsI0G4+hqVnxOtT2c+czDkfiPPyrWG9RDpgnHHVrIY6nUN6NK2SNKVxeWQMMgLMVwO2aCGvF9vUfTzS3SDBwCm2qQBlM1Rnh7GxQ2vGIyDYOOnBua9zFPqja1LYPgdyAa6xwDp1Zge1a72Gs6ksdr1Ee4Vug+SrQU2o1aU+Emmajk1Kln14Ua6kkdtzKAl6ZoG+wmSDc1LpmRzJA3+Ds1DCnGr5fNLVLq2AzsMhONc6njZfnemgxpNCsfxzFvRhW/qOZz9MmOj3+AUmig3zxnxlS9MHqpVQJdByw0fjsBLAaJaSmPJWE6w4cbruR6i1DvanhacMz5+2CWZzM64lHs0elZ496TORGMtT9JCJbMsbOCEsUZs0Jj2kAzefk+Uz6lY93qLFtKAKENHuVmJaNVp1xN5ojMUpBp7Lul2pFIzW42D56QCUzskTxYbXz1mSOXCaRVEN2ToHcF1YdIZMzkP0PNu+J56cahA2rFhPWNGjFto94ZZpEzAdiAUErKXedd0qnotmmQtM55xS/XsSKTzhr1Z2dUGLjKdCGQIyD6Lc1Bvp+8xahgMxMi9WDIWhSwt7zKufMXBE90iL76LwNi7Xzcr7s5w5kHzK8axyYK178vWlpvJw8hqBL/nuMlw9+g65Z1zYYy7vENsEvbApBrmwRCdeUY0BY/nel48B0rwHIKygPPLMrGnsm6slmJYs55xoNpMZ1qSigbletemrlAvsskESCeMFaIdPhbES5euLSOwCk5r9Axm9WusrMkeOGVRmeZNCYEb00kVGBEi4TKjXlSQhJVr30wzfNhZjzbshaNPY+jVM96yjB6zBrl5qpKfocvU6SwwdsxbnefT8rHjsCjiefOFVaRdgksAb7sbMu0EOdrkzpYuAKYhFASLttnPRpzL2I3lhKEC3ZHUkc9r+kADaVpC9tQoZCpOPCBEcrk2lIphnPPcTgNa72rYqyxtqQiOKSag9Yd4lxeS70iD1HTBEpGwBk60u/OneZYVbZhWrMoM3rcnVYoe1iss2/fU1Osq1h0iCkwXQJj8d37PGUmGjnKi5VSaSc8XWC7yRxwmk+8HPtQWIynzgWVhucrna6RNJc61cAlKmQYeFnRrm6E3ZKjUtABR1HvkbBblH0lTgLkw01iUpBUL3dUm5jZmB57qcacMpmbRnGYykS4njqraFrIWeM7veeaga6db5gG9o1CYRTvJCXMs5MuOs3wa5ff7nptCuFYUZ5uDSzB0M02ehECk142eYKT6nr5aKbSnolFzVebA6kwe4RgMc5Wmry00s6LSmSolzFKclaidcgEvVl8s6SpTtwESp1G09ABkDKgF95GVtjoDOMw235zp4Akah0FliaU3vtzMsm5cMvd5x3zKK8xMHfFeQb9xfhYXPHychVVKu5GwtfLGON2TeLWARN4N+WAJ06kw5YTL7hym5/wBSyTsQHePuohXuZ3O0IJmeREuGXEL9YjsBVVEmRUylm1BckUGQGvM94PvWd56+bauplvnuOuO4pAb27QQV+v6TS505nl5LburGNRqtIM1RexWl/Ot4GvlmoWFwTn16Vo15RBFW605mQSFjcJpQLJrDK9OIGIjFCy4NNj75HOMR6RdsS6kJwsRrl5Fem3qCSsBPYa4e5OLbbvUmq0qhSQ//ADbVyeC388T2KXQ1CF7MvcsPcCkNipKVswMeyoZNxn1MoLcrGHvEihiUAUWaJopxkMzpyO9PpNxoZ5tIIiulWkb1NlhdTxctm2ShjRWcPsaJXjw783xPT+eb5Tr5lQpMitKPNGaFwzK4gdgNW8W7VUch98tEuebwV5TIGtkNYp3rIcgj6Rq1hoF5J/XkpY8giHnncnRKUutKjvx7tdoh5G/hf0W3iQ7UbVUaTRsYfJ2gkFZp8ud88Ctg8FLfATaCt3azTGjKFhemmnfGAOkTmoVB/wAxs0Z71Y2+if8Aj27IBKduQfHUqwiQyB+TzIezS9w6kZjP5xqSTRou+BDXr3ACtGwZuQErAWMW75p13SqmYpC9KcO4BBZhsFB9PcRFRYpNXO+MR7B6VRqgyE2kMu8V/SJl2lSnquI5+kW2e83E62ssEB+U0/5xqCG6uq7zeT7sytMofEUx/OtUqlWiw6ozEnUtw9MZTexDV0iHeTD4Hns1810y4+QUIWvchajHrbaKOeZhd+8zEU/ecpjykpq3ibcC8DSt/ZpVPcW+NiQqoJuACzAUZ8ze/fpANp/5jsSdYMqtRhdoOVRYwl7lsHkDxmki7apisw+C0fkuEjmMhaEjBa9W6UuhcvLD/OtCqJh28QbfvuSZB2t19PPs0LND3PSBXha8e6wtEtq/Pn+YEK0hcdODc1fAUC3gfo2L3W8s/wAcdTLbKw+h+f0QTtqHs96ruvLMLKwiFIBLjWvjIZVhZ3n1wBJYlwv0TatQKwHUcdWUCmS8pbjKDgD6VPtHw5OSWlhqimZFaekVGDXL1ZkixyqRSb+baqibY6A+hE6EdNwhJhpcXS3dhKcpomq/CLyz3YTt+oS8zeD2Ck0pkhqplVrVRpqVgxZCVMhF0Y8qm2TRjSU0FqNHLRmuM69qXWDUp6iK8t+caj5o5G17YRy9WCZ2GpGKtqDmGI7ZWWYuLh1zg9kd6jsrBRLgWIvjaKd6M++Ve3ifHaC+tQ7t+pRJGqkO8yacM05mXYDbEa+0AlThNsaPW1ErPoy80wc6SNFtOYjR2gmYCiA3qkxth49XvvFVHUKpxhZlt4Gqi880F2AJLQezMaxP1hdjaBPsTl99hdQJY+4CvYtlzcUhavLX0KlUoYfOsbtXTKqtq72gGjmnCNKcqdBmUKk1C0EFu71yg4avmRqg2CYtXbIU3UQArzHy/aY2B71FMRACqGwhAoV58Hplx1Dc8ZaCRw4eOkF5dAK0w58qaRr+0qsoqpXjZVhK8ujP88WrjNF1wbSJZFWhwsU6wV4WkMxDKJRciZ57nrwa4cilqoONmmabPpxoX0fO1U5CJMrVi21FUfPOupDanAtrLanb4zIZi/Mtq6kTQ5uBo8bk7ARLtVObcaAwbMOQLpFtegY560TDl1tThnw11fdWmnGxusJHj55+p0My7yi0mpyEZz1Xz0PeFe0LeoXE0WNQT1pqD30sLBSamSU3MeycC3Pplpw+g5iMP3FHxNunMZLibGQnD6Yk0+Fv8P3RrCqfJ5jSN9Cm3idguwuEqFMg7sNzK+HdusZyeg6LaHaNVkyo4QipuwGMJoqKozAl/DhtyuNGlHSoyjShdUCQ+Sv6NHtL6BjZUeJf7V9CXHIxb1mkC2QZCw5ALdzeEQ7gvfS88sbhnGCigE6/OxWaLinAWgn2jtYSl66WuJgyFPykkaApz6COuOZhwz6hpJxokxkcfTUzEH56w8i48miQsEm0C77NNu/Ch31e9oHnEMizepQrvaYXNqBZgnIg4F646h1vXdpCQd6ZqCOxD34hSifaWcScz92FSE4aoF08Fo/tDKkJiP20zjjO5IPbfPM1lki5lYOPcGgY3l0h9xVYyh914TU3KqD+4ql2tzMZ5SKhkTIQW1W0F8PYcNaHNsb3YVTxfpgCGuFgAtswCRlxAP3GlCtbvQVAdrGD0GVLqZb1tq1QP3G9UYoqk2Z8nUP10qYG5yzhFMVZjz2OfLg/aBIzaGSotB51+2B0Y9slxQhtEJU9J+faBDhZsjIOn4o7QVdZZ/ZKmCOuRjI2WdDu2hNakW+resJcSOASUJaUaOkeL4OQmQ9hI1ykEiDIVvtBalPrVFGNBZb11iTyplVzkHaOF1iNnnTKHgJVE6zH9hqUxwJw/KZQ9nG+cmWRJNbMmkirU5kynE9ce5WTZCWMg1wF90JodINel58ubilO12baC6dAzZz7CNWneOF9ApCVScZxBZCv0w1un2rUvRKC6LXiz6iIXku+dPGHZhxDvktNX+8jpC4EipQZckMJYiZy5R2Hjz3oVHDd+6WCS2TMVncBeZMeYY40UQUnUGVv3C4tOwuWlk/egqNqOFYKTlvEh69E8BLzWMu71guAFI9zMawH6TUew4wfJ0CqwqipoE4jXzH8n2amtS5rAjVMRtbjJjKtxD6LGwdZVQrQIYK6mF0I2U9G9X4BIZc4G0drn9GuMQiXgFVEEVA16CsMipaX3GyaowhwElQsGsozyjar6GyEz3XLWQgjYK9mFAImpcZJaSIJ7OFy1O9OiXGLn6nXAk2LyD0rLMOALhrH3k8YPb5uDpQiVnkc6bQEZU294u54A8Xu8upR5oi4fRZhzB6tpep9h+UbD5T7bfv7eB2sni+wa8EAgTGvaDk4V2FTZIgV5J0U/qfrsyJe3VlG1iY5gMKPbWIRISz21Ytckj7xD51z3BQkZa9SRnuZpOp/RUZ6QwcHaBXMnZVQVArXLytCqKy4ViDi/S1aU4QlkBbpSRmnvqUDf5hUp9WtLBGuEHtkaMwqk2IGmB328W90JevwsL1rZDWgrSqaJXq8rK059VZmvo0Xo/zktN33ntWyHBIrt7gUrLWVyT57UJn35hsB6JfClTaCSdZ3vq9iIvModoWbl2ulz29eTLK0dCwDfLEtIpsNoaLSyxL9BMtMrFvGNmno3hUjMVHV6nuFR9CjWspmHPOWfinuzVFLtYl1afTFDOOLVVAuyadhlX6vSgElKDwXa5N7EVUdFkJDK1rz0jiQItr1WU0FuU++AbBaEiEPo0vVjb8+0OPN6/JqDxloxrltIpgIRn0pobkDV70Qnm2bpk/0UMn5IWJniu7oO9gyFqGti5XgU6SlOwImHU5Zv77ukbBrqVP5qFAa0/8AN9UrBIP+7zCS3avZiXFTLBWzHca8UdxYuhMadRyeYadkFo9qSxb02khl5GMsU7ehUko2efEtUFQP6imYDXa0y9kfxMdmDcPa5QscvzLp421FvzbMNnh3Zomfz7yXveaM6gbjqc6i/CytCwsHteNQ0wlitsu0pcPl8ToNPWKGLAZT35j1HgVqdmI6ZBu0zGMa8QNBWW8F2Fjo4Vu1CUi2zmnCoO55NnkOwrdI9RHKO+Nd4wJrWLLnc4Y7IjQ+DuZBn0geC5lSqJTh3v6RUw2j81bg0sw6UTRokPKKrdFUZlgNHajVj26KZcYfObPCZzsAUK99QKGChn8rynpGgfAiVbEQ7C2zOXmgiQS3xo8F5F4fbVLIA8VL5Y8LpbZTci3Ju4M0pbdsHbTqbpl183cALOu6rnjcS+kmhpnYoLpTewWsRncc8i/W+oVeT8i4THkLrerTtOVFXrSFrQRRg5beLJQc0AME54VnIfP2YHuOLpIpVLuOe9xsDaCCKDNGaJse5IB7c3hJznJujPGo1vKZSrSsAvfUF0tk5oBlB2kRSag1RdzIa1Sb4K182BwG/PDWdVmbREZodq7k5anqnX8yGwuQfoiFTtHHJzXZdLrGGqEJVNRlTkJStJ5z1FRLNKGQsEsxz1fa+WGmCgrzWrAMpC0Wa1gOF5aFrzej6FONyl5mOMo0w1uNCvJGtaL7xG4WoJrV5Tze1ZpNegzjqE53Ai8kTRoTxqQSk/PYMRWZdaNYVBoGa7Bz4BHdqjBr2H3kYV+g2hT95P5xIRVyUcfQPYv/AGNy8mBNaywzudo16VA1aRr5mFdYTWQYO4MHBdh5Ue0zWC9sDnfpWt17ge5Ystx+JTx6stcLzF5jwEmwofOoGgPE9MSPsV9+h4v+fGjhgkmgEqdq7x7B/fPkhWpBJypVSNmNpmIjEuks0dbMuVXcSHYOf0g1BJWtATF5cNoUjyivKfk1LzaFjQOS+4/y0cmkfz3vzzRGqCRt4aaoWuTw8bcIfn7QEcEnrEbVYT2EhoVKQ8cK46hXyOGDHs516awnLFVEMB6GAhzdahmnbVAyLCuqpVTGpSPh7sJ5I9QwL46WSLssLb0bT5/3w1iLaiYqyqacLGTIKpmKyRMc0nOJLqZNBCWYJnUSRiMORUD53Vqy63AKydZv9Ird+Q6g3FuSulyLzpenmG1A3UdfJPcg1D0xdKGYYl/oGbpxsz24ODMg329oEjS8qlnY5l/POl825KBJARHMepeaB9WkjmjYtkM4mm5e1VbYM3WKk0WxWaEtL0ThfpErHOOwLiaoC22OFevOpUTLdIoYA0qlihZWzjJe2EZj3VMwnK0pAZSgEv02lehKqHaBFTzTAl1t+q9A0D+YshnDQF1LvBkp9hlBLATFo2OoEtfC3C+wc0ioDePzVuHol5KSlTNs7KlRWcXEiPAXYRbLjpH3mvMdM3DzjlemQNQGa/yc/Yy7xM9WqJ83KU63ep2LuPcLjqbR7LBbbjhqs5aEug7Oz51rDY8yALE2PU0zkJK4XNIbSYxmI0cgdQsh55jHSvVuAqF5WcnmBFMBY9WM1ZfGI4Y1mKaB/QVB6hAwoz6T+jZiDtdliaW8s7VCXaAAh2IRAsdM+VIHivH6dasRHE07vHuurEAsw3SC3+Rs/oONvXq2c8w1zMdUwGyRFTHzoC4nXdQqCI+fddMW3qvZ7ytRxRss7NM9ylML46hWEMrNTS1EDVlZxmJvkx66lV26wkuKUUyZ/NOcZ1HjkFoGRwmkAEqeEziKge6Ui8uTMbV7VH/e+dk1zLo03vlistmhYphLZVCu9yuaKD1y8l9tC7evEeeAIoVaRN6gLVpXtClWJ2POLtFOtxJV0zYCvUbETrjJ4saj3/O36yXXJmDzwnoxre/nuoz/AF0pQVF+BJ2vTUSp4oOZAFLZJu8RFMMLMf8AoKIfWvRzx+k8sx7MVuaOcpMDZDLj6Ewt0veMT6EhVAj9VBaaYrIzB41mvnA9utCtEUsEgl2rEmafSMzEz5NWaylPWMqhK35kYoPOCIWqzFpFIS69Qyq0uMlbEWFGnAcr9DKvtMJdEe5KNZt/vZ77tbYElYZn8LGbAbp4o9agIz9ofz3WJRCKZloWnKo2gH+lZnTdeGxkWLcG9W5f820zScYA/pWd3bUMOLfUiWMqRaLQLMD11+gYp2wekIowrkLwF4bCjV5TpSnJlJzloHq/vDMg6YvQeIrnSJ8U+W1AGFL7k5gwm/GPvt1z0/71CoyuWcqdKswfRI2q0ey/CQLES90Ds5tqxNp4tLWUKozG1EsMcb1wymFz0Qyj3XBmYOybq2HJGDn2pod50s1SexT4W/Q65IcusErlPzRafrMZsfzjQg527B+u5RrsY4BzhY8kDZ2aLoE7BLjKAdqNiOSTAr7jJiLSuJYTjUB8uIaB0mDGfeBmG+e05azEu995UZepKXmVv3K9ttXS1BLwmUpP+PqDmKc1zz4eoWVqC4g3mUC36NEvQapXQiPIpliEuhfQK54WTIoyI95pFUd62Ytm32gqymUKSt7hbGu8yuK03vtJ9Xe7W/D6IR/SpWCZg5CLUAEWe+W42V8dc42lEU86g55nkiqYomAfnCc7NCZTPjt+9dy4nFMh2bQO7WsR6soEvHjno2nGLoGkexpMs0pMXpg2m1jQYN0aVS035g4E1CQzK7xOVFnn0nJy9BnXvHVPyHWrdeSyP3s61D87X6biWeRsGbCjqU6tiMfXZzWSr8TnjDK7C1yJfpV2JftNu3E1ZLKKDInSUabUUSpahaq+JPQr0gRLNKwcjWkF0Ek1pMLF49rkO4dMW1cCUB3dfL561lSbdN12b0ARqGteLiNaz5xqBOszOJkOQe59zpdRjEV4TRauvfFD/OlB+Odja5MZfKNrOoKKQB8UJtM7Rc7c59zQKTUCE0VkOY4EtLoMWkC5WVE1hMg+VKXW70lc2YvKWEIjp8JxcrilZ0UTHPA3jUyizK/TOVw5wbuWer/eJDh2DEOfsM6ZQcPd5YXpZp1MW6koelExb6ctSmyq1I+sQpxiB5KRVXnACq/y3N6nkhoDpB4mZizAJhtBzzHTpi2zFfQVP4iREjv2nVk6KcZiT5WaqgDalPt/ZJGAqseWsRs0CkpV50BkPrMJqq5NWATamNWaw1TUDRMxVq43FZyoLoPcgSSMSmoI6g3JLiI4Ea5uFEqkGrQPZ5tJQwRkQm8WBBEhsBNBjbSSOx+6tTH5t8rserGCVlXz06G0bYa+piImxsqYiLFJUWVOwbr3mkaEjDEk1k++KRsHrEDcLS1Ltd8RxvIwu02U9iHNmoPQzJ2GZ1NK9Rsm4WZi3Wzqk5qthgdK8vlY+74w1gIJdW7XNQCopTdGyGrfKyk7H53154AQOxFbtglBVKVUa/m2YffKmA9etVTRf9U19nl5mIPHgJe9CIj7FozDT1CZcVQfLPU82yufrWroCGUmm9avGwWA0Rcy0vOoT7+ca1uzx2Jo6f6SqZZsCKr2AenIpO778i15nyouwCHVUmqbr14t/fznSZbAh64D30m2q86U4CK8l87575hRoVRcufMUxYrwMN4vcqC5Zdb8TX+9Q6QerikhFTXjhKc1ddoxV5SPHtP0mpdDYgbQlxwqg2g6i/WJWE2mfUPkhG4PTxn6swRUWStKWthWVKoVPFyDn2hXGrMYNfxDeXGVsdq3R4rgcjLaRN74GLJvQqgqlbjvZY1ExLdgm0ihT51i7W83qIjdCujH2wxjvAi0/wBwciAY/vntul4cO94kWsLOUmr1ZbFwEU1Dt7rYKDwFRRS8i/qNRoop1PULJetIi6Eazh4xFZLwVdZojxb1ItyfPmjVGOzqgMpLRbhg5t3659hbVlbnPPKTx9CrKz75dRVJ3A1wO1RK0uMo2kwE5TKM8yFF89cNex+6rVMHI9q3zrOdZQBnnK1XfTJVx1D5mEQnYvYh/pVt7lcYotkuJylfIHfJ6xT61S/RFhzTC1WRWJn2aVi5NHK3pOysGDImEQkNGAGvcmD56iVNZVuSpMKUF182Lh7dD9DU52IMJFeQcsIJMpR18u2hHGRjAPQmVZv3yQQkvnsd6lgJDZiKw0gxXE9bi5ZgIh0jJGxe42E+8Nz77CcaFemHsp646nWOZW3UhXu+em0AN1QpFpE+t49ajaK++/PP/8QAKRAAAwACAwADAQEAAgMAAwEAAQIDAAQREhMFFCIhIxUyBiQxEDNBNP/aAAgBAQABBQLoeGZJpsbKpmrvzfNesWLXTH3+ufYVTOnQxrGoz88TdTjUx/O6Nq0XO9JYs/QSieOk+rSUPwoXflTS2E2BUTlZh/xqkLopxDX1xj6cKZr6U1ynw+urJ8Kgz/hZnJj6+UT0WEZtKvwmvzuRtpPPZF1MX4lz27DyXdkpFdUrfWkH8aDPLYOJ8c9Mb4uiKmmcOsgC/lwiY3/zZ1G6iXK/9MgxA7yInVEzutEnZaKGfKajFy0ediXouxJ+svyy0dHk9CeRxteiod23VN7ZVk+SAU/J9s+wxeW5xlHGJZsBVliyAcHgHOF6/wCZxwvU+UiXR06splRFqiwZ9hKSyV3Dkm6sbwdbDmzswWuxxDdpLG3Ww7tHzc15XCLYgayqw6jHBYx1sSMCK6qKrKpEm4xN0yynWhQ8je1exhYhie2SrRM+n2LfFjhtEdRB+wVonU25Ih2YsFuDlP6TrlwInNnTFZtLZnSVPRZPnahz65Zf+NmAIeLN8d2WXxfGLDVZW1kXAijF4bF/zM/JxOZXE65f84LMQ/oVFrNiwckwoMpCoZaNLF2/SbDkrwHZYWFNYqTH9JP9tFSRCbI0+Q38ZKqZqeWrDgoF5d/Njc9k2meYi5waX9Eh5TfnGLSpZ8ZNdgZQtJ6zjifIjn7RbGs3Swq2Wd0aXrxAbDYkG442JvNSrW9AfVVbd00Z66KFhE65K0JkjkNGyL/KhFaGJQqzgAs/9bqMP8LAtk+6ZLdcYauwO0/Fb59155P5BKAbLcm4ZDuIwndGPtJC11ATemQNrWsprTLqVP3kWjbYqnsUEbTfL/XfI/gtQdftSUUtLPP7GT1DU/RGth3QmVtV1ldna8rLibrkf0hFLoqWOPrJVL/GnsyPM670UTktMTYhG3j8UW3J+Y0/SqqC+DbHLumyGlwH452Jns4s+J9yLLsqcmJvNtbjGTlbydH7nin9CUThuwxLUUq3ZqEDIbZZTYkfl1Qd1KrHJbMnVGi47p2460qnbHn1wt1M6FSu3VcfrcbOiQUNJrCnJTVBZo1ULTi1VTmumtUnrhBL5KuHcmtX3pXTtziFVzlEZier9FahiTrWnO1K+JDiqPccMFrMaxOJoHt8jrhG/s8Tl0i8pW9pHPJOzLwZ3dcrTsPsds5VhxHuzTCyHqslqU5fttOU2FdMZ+hdmBlthssQCLLhX2UKZUVwGLAZ/ATrs2Qn0xJO+dUDO4Yrvea/vZFIWmUGDhcW8OyEKw15NnhJSB2QbK83hKwi6Syp652auLq++bmhtrmqD1Dqju38WiuJO3OxP9eCkWldBDZbIebY2iWKxaOK7IRcEsIPKmvEAp5USoZh59RdyPYuq2ri8shiWaaqMrro2LF7T87a4+xSTG4pnyERtT1hTimk2Vi4wqAfUuBzkasuMTjduI7HYOlOI3shmXoapsLiTvU7WtsY2tsjIu8XpT2nzJ8vK82Or7J/7E8hv9Dtb0g6bIxvSyrzx0YP/wBM5ZRC79/fklvr7ZMyq2ThFXLij4nqVdq8lvVDJ+unuAGuzRc+2zH1ab+z0yLfzZ9pL9k802OHls06ezczEMUT7fVXp7JzRnVkZuXCyfX2WwJEzHdGH+qohWkrFMNZ1W8eDZCG/oUkjJOwRrfrvVM19svlH4M7ZPbXo7SD+467H5UBHyPcG0zi7JeScrlZwU21O+Nq7KHV+PRig6jYj7CTbPQBqTtLqEeyPCtOdtPZ5w5V5tPIwXBNeKamzIjdHFazdXSrYDRMjuUcFoZKn6oYDBXGpOktjXRmbXdaRqUWRnTHi0nVW6yJTGGtfPCinY02k/3PM0qHzXfpjUZsnsBc+R+JO2Wo88G/KeT2PsgRehHxrkrrXlmovLbHxi59IqZ64DU1Hoqa/BmOALFDrmV1pp9MlpfyeqGJKdD0ov77MXVYs9B6stYbUTk+jimqrkpXU2W7LYkgd9V17DL1NDQWUI9OslmufYXmXFM2YHXquzPisQ8yryK1BWbRsvZovK0qLTzXDZaZX/51NXTWUBnWeHZlRYvPhUqT+hhqWCCuwu3ou6qm1016bPU1cgCZzX2RJ7a/x+0BofElfkPjDou92Alsc5SooWzXulJMWV6xxa2CRLEtpF82ErMy9TidiKK0mFO7ViOfHYBE6nBNuoIY1oS6twdbYMxPenWdHjdHjrvh15UFNSSvOC8UkGGsyZVuESvDM0nwtYGV02E2teevipQ59bkR1iGSBwszkuwbwNRXQIUa/YNpzVpr/TDkeB7JGksj58V79m7Bps0nl02laHiJylTLTM8Zy6mDWyUqLgi4Lc01Ci+cy4xl21M3frrL2VRKgMUyelxh7SM7kZsJOkyp6y3PAtYWVVp2WSuLarzwHqFsy4fEtvQtK3NEMNsrkdtVZqLR6eoQGxyvtQTpsToU7AxPp+jlYVUTR+znoaPJgas8Zlmys6KaRLZPZ7qdl+/2pFlpi7H+T9WBjQ40rknVtB3BZmmOIATLEHLg8SKjAzJhpy5mcjYFLakmx4OMkoss9Tsp176716xq8ZdoeCs8pBda3gw7crYDGp0Zq61BXgTNV6diRJgWmpOKJuVQjGbqpHpnfweq9TeLbGsz9iZ/mBXlvEqaDzKAjrgVazDcYxXjucMmYLrFiPxjT1xlGkUi/Ls83y81zwU42jM59Ug+XfJxHT/4Elyz/H+i9kLXQKxirB4qGI7ZM9RaAVorWTl0J+wOi0QNO6DNn+Y+xww2yD92bT3U+zgKdaqxEqtXKnquvs9AnyHoKu+IW7JqJSbaGvkO8cPBdG6vSSsEpS00ctMTU5swXJzUZKvQ7ujPaTXcAFujU8+JFGlzJkS5DemxN0vSrLpEg61ZYweWDZsuW2BjVLJa7IZ/KdWhsS2Fr/GjYJj8pn23Djhmf0UQ7UxmpHNbbo0ab5Yz+QYp9rsrVRxMS52P8sSw4REcV0qOP99V+1sF7HBsdS7qlOqE6ZiDsmsL7A9hqs75eAWisKy69s615g5oh6rnDTxNonOHD/YdKHiiotOqOwxtjjNZhRerqdmNQzs6PK6c3itC0zhjEKJ8ZIqDbUWmKLZ48LEeeUmjYqqwV5Lni1lnKMKbOv7BAwyEaTLVPX7UlYMGU8MkkBMujLbXpGrXoo1fkI+J7cCQouvaqKjSrNOweidcZeAjg4m1eY2aLXG/7O/lQ1WiD0KdfXJ6m8c29etMfieM9A8tjYJTl0ACNta1MnTYcLbtNdlkK0Siz2uMXYg5V5pmvsJQeXLXlPy60gZ/I7JC0nRb/wBT2moRp0m6yzyU54TQXhNsjVSG9RgcSzXsO3p+diNFpP6/pH/TNnRYUnEvNz2ZNh5HWotV25dMRnVZW18ZEcsKTz7Sc7SKw6FGbd6GO0gqioR41keO2MqOjXClbKKLduPT1zzXs+l3zx/UNLlEJji8drvzlYLTKI0lEvVdSRXEh1Yw5FpVwa/4pP8AicGgBVqR5OswyU0JDBQRN1dvN5GmL6dqWohZFYaxEWayMFujYrkYfUYpGX6UVdcPn115XWDL9Yiexr8rN3BndqCfrKvyGh648/7rpOVuJNIhBglRWRHBjShGzFjjswXtQCnSYFZu02KhWd9c7exMLuVWzKtj08qQp+v/AOo9fNNjnNy6vmvbH2pkKeT2PVurZYds6sh06Bg8rBpPabvVAvAbPOeVkjYE7K7Fkt3WhoMTZpmrU0V5DJ647rqZ9eZW+tSeVNJOh91SrgR2Dacn6F52R4tzjKwzxZspXa1nnv8AshrIZ9rW7HZjXF2Jce5m20Vcr9egfTJSiX4U3GLR9ektpCbU75WVRjTPGxqr5/j0X8hKOEEWbDF3HoyH0leY/wBEJcEbNEYJ6G/RMQocZvJvafEqemSZRV4TLUkBiymDM/m6BsE+R9ekzX7E3U56qjd+lLLO01lPowOadyuemPf+rsW4W1jibVc2BInydHVPQzOxqVBV84Rl8xQQZkDdQ2ynceHQ+QoG1erFlKo8WyWrs2y2vWKkMo1bjNhV7c8H/wBfloNg1yQs65Mp1pr0A+qWyUSFjYRT/MnYVDlFHr9dhkpuqUejY0F4n6ZW88US4fvi6nGBVGXQPkdmgZ2LOBsJknDwpEsuvUDOer7j/q+q6iVh2psdcW/bI9ubawZXBJFKRM7d8mQMWyrjXywWk+xQjeST13ex0tlqYalGG6VSPyDNkdj0Uy5XYXam/rctONWz/htZyshrZ9g9noKgpwUiMHVMaUtnL6iyfXqEblc7A5WMry2/8kbYUiG/RsHr0SvmfSVMtKZP9mmvYZsavbJz64n1azpH42+bXwVoZqXquB6NnnRCI69stqswWDZalYjU21YWpznoy0kKNjB+k3SZsQHaPbIcpT1Ga2z1yhTZVNavKaLzcL0wSPL6/GNpahk0HQi6HNiSKyOyM1XDRt2yB8WXdPEbEvT9HaZFRutUlWfDVz8O87Um1Kqc9kz7Z5+9zld8dk31DndGevomv6NlRGyU0AuTZuNfcbpwKATZMuQM6qZjXohhsMi1svIjFyVfiooq7OvPsAUEascY9LDcC4LqXdFrOCNCjt2BpTI3ZGWytkryVzBL5WHQvLrUdlWcicPrPE3mR02nZkv6qOTn1btNBSaOQc2BJXXd/n4JZOFE24Ei2T1iUpSi4N1yfkCGjr2U5rWk7Bp4UbDy2OXGdZclOD16n+URtWJBnxmsqUVlpNrISq6zsKaB7GFkzXsEV9wHKueiNPI1ALSUZNPZa64jWW+0CLQrm/qpBJsSq3tPGo9T0aq01etE2MaYor+iK/8A8mFcsnRtiVCuntUz2FBWCYB2QwtLAdikm11rjRE8Gq1M1hKOfs5XTtSZ0rimx8KLS8++LG08V1dPRAJbUZ5PZCY1louwEdWVnkskm9eVdbf5zs3KGeFO4bUkpXV/iICij8AtxZQR60ng3Sx6bMlmjDAWBtLsG0a9vIgTj/DJQetZD39JetA1utc+mjovXJ8MDrz19j/1WW0WhX2UK1X7UR+deVCspdpc+a+6h/vBsTaQFX13rXqrBpNh9YhK90gInNnVEXnMPij+KKTOvs0IoXGVqrAN1PzMO4ZywinutFoB/rKiCqL8dcMGiubD31aUqVLN6rKi4TkNikmS74aVbDWk8NmfNbcZWR/7YW5HoS2uKL9t+sdj+N2enF54W88Wq2n+Ub8qWXJakaKqKC4E270IZuUTa2Ea6HZYDqmw/dU2OpIm8uw6St43WlCyxeob4/uvjsSNNe3L+3YJ7RJeYcmqzgq4DUNNhRfIBuFjjznsz1HVc7T4NJHCwxG9Z3+OoMK7cHhZ6Y/wzbB2Pjt743NWpDLuuM2HXYk+v3waVewFVpWDkP6RA2z00t1qzakznWYaixUx2euLZa5szLBLkZ9lJtGiuW6gqEIafGSNpmls6schXgG4RqbkXxdrF87Z9VZ5MrXXbXejN8dab/T9c3fjzJYsxSUGbGjSJn59RupkbybL1imAnKSV8GtSJbWbJTGV1mm5kCPTzxNpUP3ELPsLMi82ZL9abLVnWWx3wbEkJdqYzJsqlRDHstS0/bWrrbOlSVKUxIgrZP4lbo1nVaMFbKdQvkMihk529fqNxbTAapeddWtNhxmr8qOdtVLPqgjWnWRVJHByr007dkVu3+Zy0eUiCj005lV0IAfT1UxqCONt5Ngues+Wq/C2/VKxsHM1ztWdeRRCzRaDJSdZVVkpSiCpjnolIysGkuzKWM8KGxoCyUDcPMf/AN6TY2mEyCqUZx2bvjROeM0Boi5Wh5DG2MrjNalvNDbgasLKNFp0vrfkh546cqqkEwbq6P1UAZNFZhqEOZNy3KMKzQKiOPAMNqi8T2P1Mq+ULGafIDLeTZ21ziA5XhSsWVRRAiuSiKzKZMoRWOKKobFVxXXvaKONjUsyV9s17XBNOpneaO13GLs8GlOM9bFYPsHJn3Bk8T7gKarZL18ynLYZT481eepBko+lHYFtdtUR2e0/TkJro+V+M88b/Mz60yP4N6PAptzOJ8gcLybNrXAzWUjHjHomzrFaf9qKBncoymdAdaZI0ffL6ayAeU1Wmo+OhcKjSoorN5U9BXUPDKzoI1gSrtgWqqtfRH68SdhnUjOeBW7Ky2Ys1JVn9I1RZUjjyqybWm7iAUZsf9tdpk1aXQiWSuqsrqMRokxjMmsfy/jkiitsN1P2Gln2uRp7vWn8FulRhmKx2PjHGLrlVD9Uldjm31OU/qfcphr2nNUZwrAzQnHUhWLIzVfse2f+zUz1mnj6+s+P8UgRNajhZDL6QpOk7a9a67rgt/XklE9AUv7qVvspkbQcNPsfAKpbsG12x+3VurA7LyzU3v1Qqq9vOjBOsGqru1WCF+HHVqzQvRYYxhjFercca/k7OkAJ1myxdRik1mdYDKSl6VHClO4LDrMdz1/ooglC44oyNOkz3SCjJ9wbzfKjvluERKCRY9md7jNfZ7mO7WJoyWwNrkVh/IOFSdO2PdVH2eR6VUvtUUQ3ncbsmsk/sxG/FaBFpgTojWm6TbXyK67O6uufZ4xbzOMFqjp6ImlM5TT/ADSPVYy9YS1+VXVPVgytO/8AXZTjlqFpOR9Cbj/j0XJfHSyMYwz5H4OV8N6xE3jfJokq6t5rn5ZP+z/nnd1KzHv+Z27YNrvkrkLNEpk0RBVZHFdSq7IWlKtzu0aeQ3fYfU0rja/8deZ2YmKqmuoXqcDw4oQp1jquKztp2hbs3NO8Z9lK4YhlnHrh2THPZmak2aa6t1MUdS8XQTT1w6/RkQ3QP5t9fsw17a9W7I71pjjZGFLHOzSyFgQ6jGaJx+nKKQ11VsWg4kz5JlK9pjO6Aa15Eb2pr7stjU2NUzoRjVmRq7rTWSl7W0ksi6rdTCcz1ebogZppFCjJKnocUu4tpzXK8rk6zoPkP81nPytLc6k7cxnaGxPc0KaeRgxz6w6KJY2sqmqe8NfozOhCy3wDXX9s5rKi7JRmqtMPDYJis5X2OfCtMkvXNljp7c9ygxOuUNeQbQoNiJa6Ckj+8bmatRUdKGgmHTPbzfiVkp2lhunLQnZWTo9mKNH5BQ3bXKOs/MPVc179l3Nc0kFdsl8PR81/hNPVHmqvFocPqxLb8R/+KDiZ2z1num6JRTmtsEMwfqVt26NDN+3eSbCTaW/rMruSsypfotVrpmSpbvLvLp2WyChOVSoaNa0D9wJ79ZZ9j7ShOTWbcgTojTqhZkoqlleon329HV3kro3nkNe82QEB5ei2+NW6wbYjiHkhR1uXm/svaW0ox+tc19hkFv8AVDDNXZrPNoQeh8Kztp3V9ZqrkFDTAIpNDMpaPT7ks7LUhXTCyMfBOoveWbGzzl9kPg2POdKyOTpOVlvKoV/NtP5OJV9mbsJMc+UXifCdkhwotVVNl7PzVJ/tZt6TOuVyX2Y29fymzFDTy7U1bMv86wrRcT9D/uqjhvsMyDZQpOyuz9crOoYxpQWjXzT7LCNUTArcLtHKurHW2VnTZmlpX0UKqLRyO4Fo/Q55LszddqFFpcZ1auKAmEKcETOkAuCCWRZKC0P2WZMF27GluLOKqv2VxGdccqM2ZB2Gv1WJl0Rw4TXBDL1qhUB9+q5q7Rvm/NHhSLqIRdpy7BhrwoW12izQaTzgmf59awKEBTjQ7rz9fF2qnKKllHMjGw9Wp54txYadP7TXm2BfLYVxidHyxEaMyjK8K1lRmlteQeiWbsymyTZIbrpP1nVZkk7+rKV/FOALISGriwCZPkPsEJleOJCvBbZmy7e0pG4pyu7Nc91sn5wlMPXOerM81IUdaBsoR3MUcIeBNiuHsaNL0w6+LN9W+x1eDqjprB5lOWxx1AuGndu89ehliWZM7IUPl2/U3FVDjc645RsbXc5+faQhxTW6tO9EdrPQUm1MnMribE2yrciQzbgOtKnmScGk/FqeRaUNdlnqSBE4zL8LV9X7cJ3qG6gnz7Z9d883XB/cqSg4mc4bhbTz2iFqoInWZxjJzr0VGdZOrL9elyDNNkdfto67KI+Mcneqsuyysd+yulecpsOFO1S609ZLPYn2ZkYDd6ly9QpeaIstjP8AiladJ11jrtNleS9paq0ynxqUUysjTkqZ9iQz5VBdl9UMW9EaQBX/AEnJ+MsadX9cG1R81dscfYi2O4nWgSDJszcdVOCjyzuvenVTRhVY7LRarR28+uueDFUcSx+HLKqP9hyl4s6dNtclGW0Jadep5QdfVtjWaTdP7O+wgGzwe6KP4zeZXDsGLhpO6TnTH0jRG1G69IqZBCj1Gna+2pns2iw1vkSTWK1K3tPJrbq0kpmqbzZl75PW5RUQ48zOg/WbOvzhXYR0CsPkAVyZ/qLxhrQZLYAY2m5duArMmVt+/OdkTVoyW/FqLg1kbHlVGQWKhNgYpZsaM2Xy4J1AokaA1JYVJ5XYtJqEVzgoUtwv2OlIrrsfWc3ouvXLM8z7C6vMSVttjiFKJPVUhoHJLVhVB08+WmVbNKiFaDg7U0KzE+NpAyrIUlE6iDb+J1tky0dh015Rhhv3nO00aeyvfZcHIbQOO6dxYEdw8/tv1tXWZxLtm0fPK7M1On8kDkNt8JLjXd+09iTKGTnbXvmuGiZt1FvJ8dI8MttfBYtk7c42xWLt8gCRNbLDuDUUkrfITyW+TnojZsa5Yp2kw82wzkht5BRPYSkgO/nQB52GfW5y+jsxykPzHZAX7lJNPbZykvVb6X+fJjSkPQSLyK7DPhfuqQZymsEC1aT7emGbtQ4btPPsjj7skyfiztOmTrwRObksqYvbtNxNqbNFNthaDXfnPm5v6tz1SrcfgmT7CZFC1baaunnQlGlaexrrwPdVLLdB2wUYZRT3KEkJyFTqda6TdnNc8qtn0YgtDpidGLcoGV8Wu1Fn2fzKnoJ6zo769XyaOmNqsV8iuGlOjTp0eRR7aqOoigXVtsSc1si2WGxlC01ls9lVrkyjZs7+eAD0owRpUHXsWNvjftodHa06M6dZP2xNmgI81o1Fm92RsS7pQvN8TyxtYtnk8zucOLpPk66BdiDqY7HVfdPT7fi1NxXKVZmFKkojUS2qyZ+sFU70XtiQkTeSyyvJMtMMYUWQOxibLcsYthlrtlNbhWikipkreSMsl8mfqHTdCYuwGye2wD29DSmTqTlpvixp5NqybJkIRJCoK4fOVemi2d0VTX0A1WurI4FULJr88KZrkLocL90+S0FtLXLd+kmBM8kextNFzZByVZMFu2vn2/Uxf+/IQo6Uf0SSGmX16maPKYl9W2JGTS+vPmmuZsKBsSnGSooD9Xx9U3w6O/PE+4KrJlG0kKD695swcKl5Mh2gwSbMk/8AQcHq6zODjitGk67g7sJctpiiCa8QMaLeHU7LJ1jbKbX4nY9fIB3TJtR5/h8d3R/szKqwcIZybt40mofKOUCUjw6Mw6bAMXc4bRmm7OXvC02V5crMl2V+jO/9FZsnXZoWG1rHU20Yysqvt6utYnVM6Tr+WmlhTUZH1AUyk0FXj5HiBzZU9NPclQLQthPUDboyNsUqhduduonUWmwp+lE1xfHEek87U5TaoCNqdg/6ysSwA5w34bU23BqFLIzwf7C1w6vCfXoGbV7zWazx05HqGxarxLyeWxrSOCIaf1S6yJONMxEqJTLbFsWv8Taj0fYsCl+7pw6N5ULSRGVrgPBGyX+mVkHE9WXMRFQn+qFBrbE+OQ3dLF2M0HfyaWM03iGKutmqqf3L6vfJTcpac1pq7XXNf5HKsr55s+CTA/Ja3VU7zyW0vR1hRPbPaa59pInnUcL1TPtJlq6r5yzmsXYwfzZtlO0v9gYcZDzKH+vruEFij5xJWSenbH14qkSsMfYLohfju3JUVA9CH06hqc2CR759RFSLA5TX/wBYl9Z/kITlvIsWC/w+ZGTY+jz6Z6cLQ9xq7zzz5OabYhL8J/0BJzkxdthysay5pPXbFXxaNJFwFZKa75Yqh45d5ENEvkgHCu6ZYBjsan17106qIHgO3RvvJ1oe00a/KCyj7FUxqcvPYlBn2UplH5pOn9X0mz7G5GgptHPtbLNrbVce3YVm9DriisxfEsvA6MIukgzTLokxQ6v67jNhYkoYtiybGl5sHUqztPNiRq0e0sorNmrOjC+n1eTbMwIzJrrUXEiwzu319f8AbJPpQ6oV/tuTq1JwQbn/AOZ1x5TGR22Cqz1Tampyv4Y7BKBzTFr509qcx23ou8nvGXrNLTU4+rYNLS9UXTtACzzOvuKGZpK7TnWI79PCqUR1oUWnEL1SnnVhKRmdzW7CNL5H7mLekqpECvmO+zDyz2BSZkwFetGeKkbkStKGq7H9wRLKbWgJ7ouFZu3D+P2eyd/TJ2/K2Ipe9VxNimOtTkGxyuu1azdUsO/yJFC+zUH/ANfnt1xNv0FyxCbWV2EoifJNMx+S4q7fYl0dhJvw3Jz8bCBqSLUNh6AYrRoNclDsD7M573mY9q5PVhlviNHaV/gUON/4uz5/wvyMCvxDMW/8fFcl/wCO7UmhqTGNqsM2NbpiJJws1nRP5a3kUFXUfaYOlZ2SoKNHZmDafqnZ1b6v8nsMgtVshsso2ypnETwwo41yFnSMxXoMCyy+uSEqtIrOhbrXzg1O9dPnB+Cg21o8yW8p8OJB6uzY6nkOxDNZa1RpmdZXHUTppbtGkaI2NSeLfXTKW4d6vUa1GzYVKprxp26dXTkzYoT6FxIHJU6gtxi7I7NsJ1fZ4PvR1U2pO1epb5AUR9gIW/j+noCHopt3yum7L1uuQvQIdmdc2NZMhTzX7MWC7TqL2BK7EyqqmDVkVbSebT2KTCTrQtNzlRZMRu2K3XDXWk43E2JdXD+TDPTYZWXsPSks7ypmudcldn0auyOzUXzTZLY2ru0zU+LpQf8ADaGb2jKkJdVH1yWEWOJpdsGvGDpTWg1U5eDIcfXUIv8A9nGHDTYZSLDJtkadckOU2IsQs25OnPp/+opveTX2PRvFUxmHUBNhWmJgPYGvS6pbwxwuwJF5NdGB706a9Y0xNKb5KPD30wmPqzOS1OM6kLT/AKtTyz//AEIO4IdstCjykN0qdar5LTr2+uLzX475GJpN5iA9Z00nGbGvtahXbotJ7XnYtr2XU1J9k6ITcyx+HIWi5RVVm1tYU2Y7GqRv67ZGgx684dfU6rFaYyK2QeqJ6PxKzZajqrUDjYRlye1xmttPGz0AH/1Js7K6cONedGtq0EwKhXYSrObhqzsmLsBgruRVGGal4Nh19Zm20imdJcppSOTDSOxN8Oz/ABVXPaQyrTbO3QzojIYvqv8AdZD7I+elWH7QpsdcnsNyW5aG6UO3xScW7Be7CSKTu/C2m+xr626s9TVmvmnNHipTam+WmVzVpUZ/HXYnCqFOoOtKgPx29qZ7vOmuswarsQc0WwMz0701y2yHXX3VafdAU24MtpSZRsSDrueUvtvMi5OUCctsIuT3JMndSm+jLFdmhRNjuu5JeyVpJvelMSQWh2lC/a1Ti+C5RzOntmttMccKVjW03dkDN0KjYhkDE5fU9UbVPLyeZR2KAJ1fzTHX1Hswz3NF1m2KLOPnQ9uPsHmO5IpS5A+wvalaIZtDYQx6P9vrn8yNqqy1mj/+tYN1mY7qhNt12o63DF05HLJmtV+l59hSR4ROVPKku/Ovu2bLIWKO/Qwfj0pSYvtxASmyqLsIYVbrQjybVaWQzp6C2my5Sz67fZ2dkz1NgLt6kKx1vTlQGxIIwrpqlFCgEFTSdKpRPy8qtg2bRprbfdU2F4ZkbH6IVHItp8MJMmJowd5fG60MXwI6QJ85pm1P9THk3RuNgJNmWJX3SZa/V3C7ExSkgKJXOZDBdS9nfFBZ6EJOezFlrtDilpuZ7KxeVIbKXjxjF886Pj6teSt4UkZbSGAEZ14LXlaabKpgqOrOzYtU7y8XSorrFaLnst146YPF8aYIQPgYrh+JepGvaT+XUPV2UDzwkcSo3WtJg7kJXQK1JQ2GhSdk7IUGbCqROyJjP3yST4t1ASuOQpG1wIbornkuxOmg88pU0Wz+i+rctKXGzNCIiy40S81mRix9FX84kucfTPasOoXWVGeqEP4riqvTXrNXtOL42vDG8+tGXNpSRr7LRrqbs2y+tyWVEpXXlNYW/C9+za2yzrp4vqyvqGeT7ciZyITt9fVfDrTbGPgdbbIez9GJU5tqZROzQIr0z7e127bVhOLpPWdidiYo31BxrmZmyoc8v7ROMNQjdC02FJ4WocC/rk4lmULvOQgOVmzYn9UkZSCssohVGys8enczNkYUAOu1cVneZ8WXY1bR2H0vXK67eYBmjq6tqf7yaLBjNlamvIvB4UXa0RrbM+qU1bVA2YLZRzLJuvMRWuQ9xjCj5W2xLPQWnPX64EdiQy0aLLjnrl7841OxElqFkUxeXisXTJpsK0T5s7Gb+jE9Hm1q0B9qMqrznSxbzZht65dOTPJ2Ct1SmHnhjxgpzmlccUZCI/Iqca7OEovZnVhKhqp16JT/AOZ5yqV1q9n1vygabRsxH/sVBLdaJ1avd88lU+XVY7dNao2hfPANYprTV4gm6i8/kPjnjkBfrC9WCaqnF4CJtQIojpXkVxpLUeB85GoOvsOz39TkNukwmwrDcjGigKSiUljTPEH13y2irKbLDGsaCFqddj+4HtRD6HODk2aRfdlJh8hGwpdGQHumweA9qWz22FcIWWw8zGjA/dPmsSx9LKHrw2vtKyyrTsmyrZSY5WMcd48iqhUHZ9iVJZPd65SvOLSJesUObvMWSle1Zuc1obLmq7K5r27ZNAFqhcSipH0Jo3+SM1TMptUc8GbekSF2WI57Fbeq8lW9ZGjbNYFbCiFk7TfKf/FpTolVIMgtI1mubMoOlVMSKP37hgzcHuTT15E35B/0E9eBXYn9eUH9spqE48pzzYM6rB8PBBm6Mz/wxYN9apWk49dfwGfcjKnaNcfZ8QNwqw6XVovJ09lxBTYlaLSbv6BYV5kp4bQluSb4T5GLJqbiZ5shUqcNRmlYrihKG0rRLn3V9KVQ0PPKoQV+yQmp64k3izAJV/29I1xpdXn6dSbax19haZWWX17DJn8TThBdMivqzaNFOxpOmFq65C09JeoDTSx8guJsTGP5Pir5GM0OPKaUZ/8AO6e8hbzye8i0NVqskFknJS6zehZNmeev6dmk/C3WbAIn+4v8fTrP7CZT1qupfpgoqGlfVfBXCiilfUYu80WGx6HYW/Ar/CIh1fX6TfxoxkXedKyeLTC9gkrSbGpJCp1e/VVz+Nm3oa+xj6wok9DsB8bFkb47c18lpUqPp/XprqGSul/KaHXJDrhcZMU7Rupm/wBeyU1VZaalJlRTrShOToOxZ+G2bIdbnYzyotOjMQGQe7qHrN8X0D67AGZ6Nf0w+WfZmyUj64NPtiwIxVDY9barei7CeTpn2G7FPWequGfCditHpYGXyFyf/wBmObQeeyLq58MtWRVXk49C6zozPF7TG1tW66750Tun/Q8oUf8Ajay4noMYUm4p5vq7aFvNVJgpx9RGy2tfVb7RgPuCoGwPQOhCX8mWxyO5lC5P26869fYPObHlEbibAzn26dEd6g+5Y+alm02Y30NlcWdmKR5K0RBHY1lzV3eGJnVVkVbqeXDcJsT4aymYtKOJuIc2V98RagRcoenqD656gZRuCmx/fTBWbZZ3xVBbwbibdcttVRk3lOV2ZuJIvZvyOysfscL3JWG0QI2R8p5nKTXs1DCst/krYHGke5gHB1VZb/E3TK92OrSmUJyGzgq83/5HpldxXL7fQz+UOX2teqR61lZuV1moUdeMAQ5FFIZIYyp12I9KJ1ZiE6NevB5xLnqux+m9ORSjBuEZv2qhmaCGTKrtlEM3olyPSq59lqEtyHp+Ru/y29UhdqwotS6u+LssDV6Ys/TPq+WUYGbV2ci12LqyMxyVuEFPPI2mytZxh3GJbYm+d3LmxkdbdNV7Bl9nUtYTbehP5fXfXeZlsV6+6c+/fFdA3qOqOFx5ema/xd7CHxaxyvnwjkZr0k+H63ElHCIzI2urrdQhtPmgNutO4waOxjalYKqoKygtR9OcsfUSmHRRctqBwsHbICyGhHA9TNmuMfWWpH2Y4vrsYPh92gl8Xt8X03TJbP12fajx7ulDWrDXdSE2F4Yq2M85r6JSTs2KeuBEz9TENjzP22xylVRYBrhAQZOtJuj6e7zgeLD2nwqxI2Iw2BT4n+p8Hmv8X8fLDofFVP0vh4Y3x3wzYNXSkj7Dvk60U3stc5qFS7+qbKKst2HVtyfA2UdNh5Nm2VB9g2f6uPt0LejFT+Dp3UiO5yHPLfgYwmynTlZW1vNwJ9ZPJAeAfrd8W6rn2ep+xRslsOC9o0Ta+N1dtJ/EzGbWiPj7fgvXVZc7X47W7G9UzWcgCv8AapsJnNmT0PRbS7tTqZa/qdr420U81M1GPyjdOc1avTLjZRZ2uCX2JLPcHmuzxj02ZUar8i1pk32OJ7uxJ12EfBz601jzNvB9tr4LUrNRtQyNi66ewJYyTYtrA5bU8shu8Z//xABFEQACAgIBAwQCAQMDAgUBABMBAgMREiEEACIxBRMyQUJRFCNSYQYzcWKBFSRDcpFTgqGSojRjsdEHFiVzssGzwtLT8f/aAAgBAwEBPwH+QCWYYVGhwiA2xUausjX+LGhWvv1l+TNx1jY0M1JWLGMA/QLfJiozJ2AD9WR1z+ByJAfb7SxCqBbEa2FY/wBq1kwCqLodf6d9H/jKZp29yS7jiByXL6Jo91Gv+i/vXXHPIjcKvyOIJ+JvZu/Cpq+22IHzGz1/FnnmL3I1kksWfE+0Mj9W30Ao8ZZOSSB1/wCCMyfy+byXSPJ6BbEYjuZVXLx4vLyx2DVdTxkRosGUcTrkXvG/qszsJGt5N5JsCib64PG9uFh7jgMWKHYY2RtbPYreRq8QvnwYhJI8iLIaCiMKgYhK3iCT3OPkxpjl5x+PXpvAbAvyLAUMyK7NZAJ7nGh3EigfobBJ6mnkXjy+06R/1MAf3VAKKo/5Iy8WO0X0RLNK+crsxHaqnJu694p2jRPnW7vXUXHaJTLlJkKRQTWK3QtiQLIXQAvu/WuoohI3IklykFn21F7a6JBIJ8A9yj7VQ3nqOeNIjGYhlW/FFrBa/JIU1ZOQul2dD1OYOoDSCgSMEOI/zb/Kt+Riu7vwDFPFx4wUA8Ow39eB/wDnJ8Kp3k2uuT6uf4yQwX7ktAveyos5G6pcu/EaOr8X0JZRxEAY1osWc1d7dj4J8KKtdHE/XSllnRiLvdkn/gk+daAVfLX/AJPUck04/qS+1FGvZkylVOZ2FNqzD6/ypZuv/D439USZSZYxGvtC77qs5MfPd3O71vYvQ6ECxRf1nQWNBiqlvAsljYXt147BoqDRn9X9P4fDajHy55iESKJwU8gWzqPiqivJFntuuuN6q88qTzcRDHDkI4UCqjEn87Pg1/1MRskDqb1rk8iRlYxO7OuMEcaLBCuygvEByPkzEG2OhQA6k9Y9QnkHGWZIYrKuvHVRJKb+5TcvcxCDYZ6fEKvT814RJlh7a17t0C9AKI8gCQuqIQZHu3Z6T1vk8/mIJMV48CiMKgwhi/uAG7lYfI5ZIvaDfUfqs0VxfxeL7C/3LcjtlZJrKh+gDdBRd2ek/wBUzKp43H9M4qGrkdzvd0KWyBRJq/seddR/6jniDYcCIuNoWAVGcm7EY2bO9kBV23jr1f1Pl8qczc/mMzLtIouyNGqlwijxX7PtqWZth3N9M0aoj2XkxLdztIRlZMkhyEIN5MAS347OPXE9Qcene1u5VHu2S3aAMUAO6HneNE2VHnpfVuV7iceOMEMwv+mLAxoUAGPgWWbJiAAAB3dfxWkcjbFtfXecs5AT3E29Bwt0FKBdX0/Gj4sZflEPNjQTyTWqbfaoLEYBloCibNdceRFjd8Q0xTCyvagHdSgAAWcQSFsfFLO+vTsTLIAGILZMaVbqi1GqG8baikYuy0l9er8iVPTfY4yhZSYw0ntaRSWsjOmoDMjOi5IYhyepOHyp+Ssk3IuNV7VZqAraqqJQvQZ6FMw8YL1HxuUYkgiUSBgRsaINfsgKl2aGOQQlyRrqVJePLx4Wjit42fSeE+IN42clvuVFRQe1STl1xXjyV3jV2G28CkDFtgBqLf8AwopfPjmcziALGuObPlKxQMPHf4uyST5JoUP+OR/qHg8ZscH5GH0sSKrMv4DILkF/NsDGp13HtKes/wAqJpX4sfHRmya6/wCwJrNiAfHaMmoDWuX62srCONVZQcFVf6SFgFHcwGeKqBeNa1ZJrocmaWlCRIsa4jsxwDChQYiiQP0D5J++uOv9eSNkzWLdfBe5hbyNqg/aBZZithfOxyJud6j/AE1BWH+nEiJ2JrEUK+TVdtTgdzaHSwlYoy4DMci9dygWR3SeCT3FiCAMq198rkwzM3tjjOkZIOKgjt0zFtIWLUo7hj8R4x6k5I9sQjjRWoUt2gD7Yk/FQN9uVu22x/MLnyH9qLjDYotV3leVDEDQ8Koofk48dB44eO0Psjs7AEGWUo8C/wAmH51+wBQ6mblT4IiONkBQqj5EKvj8iB5s1ej16Xw54o4loB6zqh21rS12qLChmUsdsD+XTRt7Wig3iXPzKk15Hh5mLUBsA9q3RBU+37zlMj7mH0FP+2t/ShV+C9zWcmuupJI297vMhLYr/wBVA+MiVCgd7u90PNABSsnG48/9Q2ALVRFdt/jWgciQTuiCEUtY9ucABaOaCyFc0G+l+7x+ybJN611yo1ACusdpYwF4oB5Lnd1TFj5JHyrqRE9gELlJIKFiu1jshfwjAtUHatb316NHUoto9ODjWRJBONiqoVnTXqmfVL1w+OjyPNI2Q8A/iA1ZNX2SgGRJZqJAKjtHN5UEWHH4zBTg4Y2MqPksQMEFmgBl3EnyvXPub2OOJFkPa0gX4JHekY78tRYEgE+4z3odc3hCaHjwRx6j7ZJGunZVuqHnZum7h9qgXHrieh8cxo0gBNLrEgACsiw8nQOtf89Lx+HG88ygUCQgNKuK+FCrXlttj2liFGQAPQ9Lm5Kx96p7m3wXIoPNbGCUKGwzAk/M1R9AXuvIiyP6tXvzSm8VP9uu3yuz0/Cg4kjaVmIs+LJ+hQFk0AN0qje9DqSEySHtwAJH3/xSA/8AyzAHwFsmx0sGKMRSrlVnwAP7iTZxXePkmsloV1yuRDAGES+/L5bHSKLOINdxN7q/P/2pllf3DJebHIn/ALaCr4CqSoHiyo2K6CS+0PJtd7OgNC280P8AFG/FA31Gi9gpra9geQD+z4BP+TYodPKBHSfQFf4oed+T4A/HyQMepp3cBiXCL/8AffZJuycm/wCL/ddHmOw7nbBiPJu8aH1tv8KBVmt7PUnJnkC4+4pAK6JFKK0ADX/vZiBZ3+up05c0iJ7ruz7NyFwL0AB4NeaArQ3voentHxo1Ddy4lmNk/LzflqG1H7qgFFdKE48LO7N4ISMUO3Eea8fWWOTmwGOyOpJZv5RpqyrtBYiO/Jc/cmOljXuGlASj16ck/wDNla+1cyXDY/8AEaOdrYvPDEqooXW5IV9lnYpZs2xJA0N47CKB8FO6qwbPXC4cKOjzOasBIwN72Cw+izMDgtaxDYdMsLHL23IjQ5WQLx/z/ljbnXgLGDj0nHiiDSzJJnJeESjFcibJby3gboWFUChq5MsoyDSsx1/cSDgoA2a8kKaUCmP10PTV5k7PLmyqGevAUWduQAAXotROxjk9dLx+EtRrDkxWkU2SSK7zonEAX2gaZU+9cfhZFYUSSwGa+1QATV1sLkbNuSdAs34dcT0KMDLAsSVQUWC7870XN2XZvCj8Rrrn8KAv7UbyqilVyjJUyYrpECbpiQEF9oYtQbfR4p/pHEsIgCE/DtBILf3CPT0zBWci8vv+bxeLwwyqJJ5A57jlRagpbwt/8ChjSjZPXF5UkZZ2MaiyqglVzJN7Pk/faBShgBWIHXqXL5EoijE1vyH7in/YHf4pZVe3ZwwX76h4kHHAl5fIwU1WTKSEu3obH60FNBVBGupf9QLHXH9M4OTMSDyua7VT2ScL9xuzyWeIUccTtem53M5PJlaZy7UfcIBQFUoAFVxEcV0EjJOVWV3178o4iYrQOv8AnI6NKDRZRSgByEBOQs0M1j9yTAYRs+Tjxo1SWST5xWiass310J25M1RwsbIDyNrw94a8b2yq2zrz1/Ab+NGCSgYW1k3+tE+Gd2IyG/0O0dNDFxqYr/TiC1QFs/zc/erosdk9qZdccycgHGJ4lck27USW0DZrwCbNVZI3R6mgCCII23DZVeLN4U5a8D7uzdlxYXrhRpxlu073x8AXsKNmu0/2qGZxY1YHXqTiLiIHla+RksUYGUjKq0WC6Vb3+lUG8vF8HixCN5eSBxuLx42kaRzbf0t/tR/c1Wi5FVH+YPU4Wm5E6jU7sUS7xTytk3sqLckbF/gO7j+qtHFKIl72PyN33KSMid33ZVV928L64ErNB7k5RY0V8V+zkCPl9E70g/6mFnrgypLylL9qAZe3GAPrwaogVqu29WaytuYRkyrHEi1iAB+I/tH0vklrJI7cddQ/z+an+/7SUXOiuIYnZx7iQtlVBFsbZ6AHUnCldUijzKKLJbbNY8lSRd6+dp9e3QFzw+2WiywVWHufZofFXK+WO5CpbzgoCC+pFrkM4XvrFcu7G/qtd1m2J3lXc3nrkc+JaCh2Na76B1RbX1fav/St/fUnMD9hqzR9sf43Ujb81kyrVLSl7Y1xoveiDPsttmY1ZJ0Bf7IoBV+I+LKtlV4nFtJO2WZhhEjHMq2smFZd+qB2fqPenlA49WV8ArlkQSdR0NZBBZQWwsl764ankTySyFwpDY5UL3V7sjX+LpQiKLYmOGCJgzapgQSMqrZfuyLyb7KC4nfS82DEyFexZCgyN6PcURVJs0F9wghbamdqPR9dmMRwh09xRItXQtjdChZNsfvxQS74TOWLTihsi2LW/wCzXcQGIpUCDTWeuP6ikHEDBQiRgHuxDAVlZA0mu9iST4FmievUP9ZlnePhQh3YssbvYU/bS4qMyAPApS321dJzue4yl9oSOB4GwPP0T/33V0N7bqLkPkR8/wC+TwSfujvV6/deMeuVzJZYjDHHjGDTH9irxB8V4/5JHk30qMIy0zLHfkHRs7rHbs2I0PP/ANvrkZaWNCxLAH68bP1d2QL/AGTvrCRFax4SscR5HjWzV7OX/wA/XX8gBVWrN43/AHMT9GrYCu5qAsUgPnqeVj2xxk/RI0N+ST4UeBqzj1OjYxqT5NkLqq/+3X+fJP669mJcAwojur7ofGxoC/IDV9fvr+m3HYY+Svjz/hS1Gh9tib14PSDixlMazoJrzfkr9kf9RJtce7H49S8njZJCWyzx0q/X3iLs60v0F399eo8yLOPjxxBFjAaT9/4zP734ql8Il7653IQSZj+kNgHWR1sgUzbsKtggb/yevTOK0ySv7hUPfcdFkH+Sbw1Vfmf8DqThRxcGK5FLli9EZEkA1eqHcQbsk/20L643HjjYTTT54uSiKLLOTf8AnYslnbdnX0OpJ5LijiNB7J8Be0GQ5N+gTbAAk3uuuQ8z+2Pd8gqz1eq7iB8aJB/uLV8cBfWZaeSKMsCiBMzvFSBdlQTbIu90AasZBeuXzE4MSxx98j2xLAVdDEBfGu2/KqNCyK64srvy85pGRCoJX83s6XVWzHJjZ7fP1rhs3uE5/kLNEomu2NF/Ip/kAZEftj1x+VO8LRx+5nRBLYnBAnbll2A0bCABEvw7ChErTSF2kv27UsDmRZrXgW3cTISMjpFCL1z5faVjlZZXaOBdlsVoZmsVXI2xb+0UCca4sEr8dZpmIomvo2TQoHf0e4kUidqC9l4uO4nmLPWkXzWvwG+4/k7WfA/6TJNRj5M/HlPxwhRgoADdqlzf/dUF35o3T8qfl8z3ZkESkARceHvKqvwALCvBLFsPJQDri+myvyD7mWW3Is9lmlQ13M3ksNszHfaMeo/TxGlUI1yJZnA3Z/sF2Sx0CV/wLIuPhw/xCoNsHeSRzWMaeCWbwCQpHkviAqrV9er+s8XipIsGEszxtGh7Skd/08i3gLH+KoAWIO/J69M5IUxqT2JROu578litbc2aF0vlqHUPJm5sThI9lx/UI2EDfQH/AEkBccFt1AXdiQZvHC5t8znZ0KayO2/ivnALoVnZ6i4+c8ezgVUhaATZ/Wy3bShRlsknr1douJE/Mf8AqrAVVIwVUSchlAVC21WOPRcgk+FByOjyOY6JPnXff9MWS5a2CH68iMEkKLP665XM5QhjcYNyAmKlqaOIE1bN4YiqVVXHROOsupvTudzk46cieT2rJKO2Ks3yLsi7IW7xA1dXZ64XoZBkFmTDLyMFtu0ZfoV+P+fPgdcjgw8WI5uSe4MQv5EDSbH2TX/Ucmbt64nAjfhRyG/6q6TPH+mNXI4+Cf8A4uMWQO40e70307jRozazdwoYft99tk/iNEk/k29Ac6BUEcMEZVcWzfwWJ/R/3GxAPdYBPjWjwIOPFx1iItiuwBoM3157iPLuSBQAurv1j1307gQvxuGylrUTTqFLFh/6UND9/wC453Skb89Q89JysjKaz7V0TZbbtI3av2S2Pn4jV9TPB7zl7jtT/hzlqwpIIsWbc3WFAVZPKblTRotxREFidr2htuT+gKod1micbHQgiRlwLmSS60zMqa2b0pfSr+X66h47Qd7OQRGoxsWl+F14Zu4myDiGNfEH1Of+LPG6KWlaS7G2LNpQt/2iq8L5ZtL1JzDAIPcRmxjyws49wGu3ZzJGRA7/AIjInXp0ssrg+MvpfC3sjI9ord4g43S2x1yG4vHIl5MgZyO1K15s62z4jtF0mX689R8qAQO0itW8QbJBI/tWu8jQVaALV3bPUkyHjBQoisaCj97KBvyP/wBSiFyIDn4p1xEH9OpF3pmbagCu1QdYrdmhbN+7x69R5ipxJog5YFWC6rNm+RAobdyos1hGlABfKAcZ42OGZOIvdAkkmq+23WrNFtCusnaTxs1/gmx5Y+fseaoeK6MPtgKQPA0Pr/8Ax/8AjP8AdVfUkMmJeiqqRQ0LPgUo/wDvR4F/89LxyTWI7dkkYi2b/wCTkFAyOyMiD3dGCJDm2PacVUa2LaqA/e3Oq+Pmz06CUugAq/8A81k/96AGjr/JsenxLk7XZrEfdKK3/wDlN0bbHHz1LxoRGoGO6Is5f5uvFn//AJquv40TMCbNd1fQ/d+Ftq0tnVX+uv4YZlllGKXkEUZMx/EbFbONZfQvA3XU8BkXCE0FOJYjyfyK/pQdWAGIU0LNCH05sA+QrJhGPoL/AMDRYimbyRl3bPX8KOAoxotV2E21edndZf8A2gB++pOF7qvKw+7N/ob1Qtmc/etfodN6WeTK1xZBQoAOlW2vx4sL3HRHxH3vi8F4TGrRiPRPdSjxUagfNiNWxA3QHUvHnti+wvcBgWOwfCMAFH0uY8DNh1HwJvYaRolUKLBbZtrN14sjUafkWyYGtPx+TNNHHCM5VBXFB2p9sCxI3fyOUYsHyqjr+BykWnr3SGskZe3FQ/8Ab3GgiL92Lvrg8DjxEs4M7i/dLP2Bjs3Qx1+h3FqHkhevUB/I5mMUN0VVFXxktktIxPxU2xBY5G7RFA6g9GnHJT+jbkIBkMyMhoY/EFhbG/ipJYkDrh+jDjcfIplKK/KiSwyNkDxtnOAr422+nhPH4UhRIo3b3GLf7jd1ID3UGcnS5EgUoxKggvJJAvtQJTSDHNjbM7VmfFtryxx2cdKOuTx+SksYdxnh35DaK3gfseWJOOVDt2R1EWEksUkgzzDJHewprHtHi9WAciRRPnqLhNIXmlctg9xqADpPsttVBbwsamRjve+vVP5EqQrCzEBkjpdaLV/z3E0PyN+BVdek+h8gS5uru4jEjE/EWSfq9sfoAkixda69Q5cXAx41x/y5z/8Ag6SKZaC978gr3Kq2bFLs6DHxN6xx+LLHCOO/IkU5SSSsEjBq+wbY/wDYLXhcmth6t/qDm+oQLxYE9uGSS5fatVKppIlxPxB/yF1ZyPUHo0/qHIj92TGCJfdKimBIFKX3iQt3tqOhVZXwvReKseC98j7ZiWY43ZZm0KqlpVUbCrSgnoLBxB7URRKiZndjiqkgt/yWAp3PhRit2b69P4/GlMvLI9xURhF5CFyRs1ZcsxUGrAHaOoOFFjHPLt1xsY+Fy+k+2JFAN2L4xIXr/U/MXm8tfS4jjx+H/X5JH/1KsJ4v+nHZxUbdgfFHpXTlGLjKCIo22AGNkMbBAoHEXq6G2cix1LyuJGY1XwNqtAs+O7r4KoFKtaH7N9cSeSZZOSygHwnybua3ZVRf0CuTMR9C911N6ivEikJbKU+D24q7aHtr4JBalOLMzW/0D0lcqXOVfepvi3+2DXx2fGR73OvP+elkhSJI6DUFI84k/QQVRJNkKqt4WggF9cXkNHLFFgfcNksELsv/ALB4UmsQBbVbSPWh6vyfUeT6tPO83Ii48L+zDGJMbIpc2r9/iNecqH3xv/GCjSTct042B9uI9obVXI1e74+Ma0aokDsB9QgneGI5Ilsy5EBSa1aqLIAI2dn60eh6lwuHHFxONc/JAOlF0QNksdXZt3btDfRw6lmWLKTlyXPNZWJfKqaAY+T4vucLZxxU0x64PpMvI5LO1BQ9qoYkUDou+svyY4mt7f4r1JAnFUNipcGo07Qao97UD5asVW9n5ffU/IZljCopOIVFGl0O9yT9a8gWQFA0STNFlzIPdqVlF4i8Ax/SD5V/dI/hfAWieXD7ssKNoStetZhBoZeSgLbYaJvD6bricbhcLh+9Mw1HQTSZN+jXdXxGAbx8u0AH1DmcWfmLHGC0hKrcZ7tH8ddgLXjiPwzLAL1yAIIhiY1VFzK2WqhW2ss7sbAA2dk6Xr+ZJIiHDNzdKv4ppUH2a/Q8UpNAEt1xLI/qsqIih5PNVdlf+q2pRvur47NNyP5T6e1XzXk91hRVhEFDxbuQWyFDrmGOOeKwCcewAX942TobPaqrvFSSwXZhRRixrLEED8rbbNXkufr8FB8+OpJFuhV6+woGtm/JvwK2311UkkZ3tiTe6H0W+rIFgf5NlrFdRwxQjvbJztQD+1+f3utD/wC9/fU0SZEFyLvwf35N/wDOr/7A+R17aQm17yTQyOv3dDz3EACxZ86B6bhTch8GfFWomjfb4XxrfdIdn6AHX8cPkobBVFZGssf+/g//AJv+3UfGCqZHel/BP+P+ay8C2qi3gdStL7PaADT43Vk+B58ADu7tAVd31C6iM+4/uOy0FXuBx0SznsCZNs7vwoJ6QcvkMqQxFV+TMQbEeyNnwWUNIa8ZL3DqSKZySLZhV7sL+9C8qGgB261rzXJP9JQQSKLeWXW2+6Y+B5K/Eb0OFw5Y53DARmxWRLPs2SQcqat/saJrqSX/AM0MAKVRlIe6lU9zfe/OPmyBXyJHNkW0ogZgObI+tKCPGv8AN7vrlS3FGnlUxPnIszJkxNfZ18QGxAUN1woPYjPIkGF7SKhlX1f17kjbOrXQB1fUamWeR5PBFBFB2w1s9zGif+ALLNvpuJBDxQsYot+bLVjw7Ls0Gc+3Gb/Fm8/HjwQ8VUkKLI2Qul+rulAGlobN/HeR+45/e5QmMePdbMTYjQ7oDw0rINgWFyAaz29ROP4uZv3JWZms3gL3d6vQFV4Wz+uuTLHExQ/1JJVTFXybFRe239knFBiPLveuuPzwOYTIY6hydtAY1eIvdH7Cruh9dS8tJ/5E/t+NRja62cj5azZZpJaA8KhO+oFI508717k1YhUJ9tEXzvxQ8ZNkSboDqf3kg0xTMxg1QODDag+dDGPtry1eTUc0eaClcRNmfGKvRCkkZZMq37Y2V0/ll65XqvN5aycLiz/+HwYKJZYe2Zlru/qEkxqEAVce7z4J69O9J40fuSRh3cs4aaRsi2RvZ+chrZXWTEZa69Ug5E/qLRcZNE4hj3WTWwB8q8sdktWyO3pPQX4/DVptyGtFSPKkLf5VWTFfJsXjfUECxs0ao5Y/JmHn9Iq+SPLE+Df2K6Mz8LjMscZMr/NibNXSpY8FiTagihiNdGGaflKkpaVmLMyIb/3N9xPao/7ZYgBaFWkC8bhQQRB/ccpu94htuAACLa0hUDQGZ/XXr3J5HDXj8WPkCF5JFkeNNyuB/thm3Sgi8V/FC36v2pOJBJIP6s/LNi9O2R08jtbYlu868Jfiuonm48zGVkZRn2DQejQHn/bBqx99oNs5HS8GWVhzuUx/q9kca7yA8sSatR4AxCltDQvqGBYeEFZ67dRL3NsEso8guzXkRGdjyFUdcrivJUrgrbARpRDMw7fJIoAk2e0Cv8V1xIahKpKpqsnHxvfanhQiLlvuJF631FzI4Gv3A0oC1ZBxH7NXs/Q0v2Q2h0/rwjnUe5GXVVqMWxP33r8qPybPHtrW9ciOWeeORGUK7qxaTzk/ybFaRSSzeSQo/ddcjuWCAOoAxDveKqqb7nP2SfcwQfkpdwQa/wBTeuRMD6X6PHIyCSuTzSKPIKCvagHyEC+CxNv+964Y5PHnzfEyOAtXliCfGvy/6VXyQFyvLqDhTSzSzz05PeFOwNUF+wT+9MdmtAt1xfejlyn7csf6YFXVVZAJEYo/FcnpqIUX1FH7srSuCRjlZH2w7Qg2O1djclUvhtdPEu2ZPbA7U3vd5HVktrdePGuuL6fmJZxkbZY1P2f+hBezpR5IGySAvS8IScgT8mXBI6UKrAkqu6sfROIABAZiWOgWHOn97aK/8eFPbTY73slmAFXbFvFg4jJvAAk5D88rFxgscdZNRJZzZ2dF9f4EYB8FfM6czlqf6gRP/vcF8s1WMS2RNZFlQL94jgrBwuBgxM08y20h/EXl4W6uhoEkKDZWyeoZoZoW46RSSy1bgLSRrjShq0GLE6t30WJO+oljLrEqiNS+JK/V9t9vk4jsUfl9kdesqE9TXAe3FBx4VjXRJOzbn/7ntH5a8L1x5HGbmUnK8R5P6/7/AP2hf7A69P4jPKZpztrrKz+tKo8UKFf+0Fib65GOYQOa+I/EMF2KHkrdsxoLX7A3BHWb/OSQAKWbuA/dteC1vQsjXb1zF9sOQcmsW31oXQ/+15rQ8b2kDyyKZCT+lGteWY//AJ9n9VV9PKkKdoGROyd0uO6H+dCyaC6ugT1x0eaYs1BWbIkjWP1V61tr8DRyF9SjvpbYAjx+/wAf86/Z8VdE2epoHoMfLGqBypfLHegv785Gr89cSBi4PgA15DMcVORsWNFm2DQZsrFV1G8KBzebOr3WlC6Wz4G/iiDwvnu8cRZpSUU4qz2bNffav0SSN/8A27quopONw/cJZJJYwWOI7EPgAkC3bzoHySS12eg3K5nNbAMQxNrVAX4BA1kdkKzWBZPiuvUl/hRrDpuRKVtR3UD5JHgBRZs/Z+QrqL0mXliKSYYLiHLO2CrEzHEn77x8B8m0f2euSOFx2h40WOXyaUj4piLxB0O2gN2xa8qXrm8iJCVVz7gKrXgIz7C3SkyY0TVEE3WI64Yj48ZeZhNK9uIgNVZxXHziP8hQxJZvHXLmnnaG+0WKVdAvQVQP2IlNCrGRJuz1Fxp2dV7niqiK031X63R0fc1m8jboJGySueQ4T+1R59xvHanbGiA9o0Xaj4HUnqLQJ7UEeeRpNAUsY/5J7j3MxP6AUnr1T1PlxuUywlex217rNXhfliqj8j2gkmxix69IglnjbYGLAyMLP/2zZs/53VtiLszRGCL/AHEPZQRhe/NhF7Rsrk7ZGyB5DDqmgjLy977taCAIKLXo1fizeNElfAPM5XN9T5qNMVjhj7YOKl+3HoAO/wBFzd5GyNABToR8JljxBALH4oKKaG3bdSNr7L2QoAINOnH4ytEriSaQYMo+KnQ75GtnagbVRoVpdnr/AMTi9z+PHJmwsNiCUBGqoHuANnAdpIUE9enLwoS0vuO3JYuZJCtEZN8Qw8YqKpAAoOiWKVL6p70g40Vl7zYFqof9Zu+1FJk/EX7a5k31GkqGWeWYJ7jFY47UEjyXlbyF8sV/Jqz/ABXrkxtJ7SnmbNtitmgvk/8AbwPgubAICVJHpHCylwWT3G+RoWFvyTXnE0v6yAVd765vJj4RSMMXnwVCUQWgr6NnEkdqBcfOmoFjyMY+V/Lli96cx/042YdoXShjv72/yH1uqPL5rqAsntB2Ulwh/wBtB5eQ/IZEBEDFS26Q0ekigdTJNkx91deS351hoUPOJG3xLHrn8lEHG2VpNLldmviGVQMIx8vbrelH31wp2ihk5PIYKpjIRAQHIHg6yP6CrsLZZsnrrn+qRhgDGT4WNbNDLV1l9LYFl/vyS3UXKd4mtMA9gD9DQ34GlFBFpRkb2KEKnk8lgt4KXeRiaBCEACz4HxH91GhVk9cXjRxyTTMfcwOcrHevkI0TWjQAB7aFm7B6i/lywf0YnSmOcjgWXvIICTZAJ7tilXeqB5Us/Ghczs3IlxKqgNdx3QsD/wBzPQXxjY7ulybkGSaFdiR8cxSjxbH6H+a/SqGN9SO6y5ZCE2qrQ2t9zYA3vGlBpquyS3j0lXXjNyKMjMrYLtmJ/wAkn/Av682MQL9N9M4uczvKeS/aoa+1VAF4A2QL+z3Ns/emgVOK8svZo+3EtJ2jSBj8yWJBdmO7KgdOsEvJbJy6xAAQp8SwvchBFhSB2s9M13rXSyIkMSooVjrbBt7YlgBgAPkwxrwP+eRyYoSHmdpdZBWO2LHs0x8vo2VshvIA6n580zVkkMYUOFyqvNDduxrJiaUbJAIN9cWN5Pc3LJbli10HZhkQoO2A0pPkm9qFA6flcbj8QI8bGQIujvyf0PloXjsEnZCA9Q8r+aY/bjKoNgHyQCc3b/AC+WpRZoKCOoeGqxERsY1cAyYglmLC2aRv8+ANgKHNEkDpOJGZxizyRxZOSQQCwOHgeBYNk77aodepqnfLUYHH4zsTX5KNnx3MB2oAABXya669O58c7lvbpUxFteKn7OyMmG7N4jWuj6mtiKBD9hmxq6Hk+KG7pQBuru26E8eWf+4107HxldAa/wDtJ9KLK1R6EsjP3KADtV+Nn7c7v/A2NCvujyWT28SwDG2YAn/sPqr8kLsgbodcUqSzUzAUGbwPvQ/ezj+rv6B6P9V3XSquV1iT/wDfXZvV0foaHQiBZ8G0Ky/VD+5j/m/rZsDz1KVMhUOAyEkj5ld1pRr9kk0L0Bddfx8woZ6vHK6Dmzkq+SRZINAFjSjt8dQpAoaCOnaiJCNhBdY/rz5H+Ps9Lx4SSGU/QoX9HV1Z1fxFG/0TXSRcaGShonPbXQHhm14v7PyoVdmuoYeL7EkjFBe2NYkKBShVOwaJrWjbEnx1x+T6fCbQNkWPtkKd35KjwFHjNjemsiz1KvFbkJJLs5lqeq1+TDeRP4qF0uIAFg9epep8OGEJHs68AFnkIAFmiLq8f0LJCiuuVzjPy+N7KJZPkEu3/wC8dvFZ/HailJAPaOuREmNRR5zAF5JHJ7S35ufC2Mnx+bbLfiOo4pEXP2yCzBMm1imi2rFE6BJ8ePvqKLixyiSV1dxHlGi94RToEeEyOwlZb7sqU9R8xGhZkjGgyg38Rof9Cil35P66URSRtPOgBALhc/Bk+OXjftjInWK41s31yGl5PKReJ/T/AM45BA1Gq1bFQPPjLZ31zP8AT0sfLEsz5krkqsRbFjtmFWE15bJnrFAFs9elem+zxDIwChiQlCiQx24vxf3Id7AQjr1STi8cpErR/wAgIHMS1IyEk4l92WAOXcVVa7Ru+uTOogMhVW7Scm+CjL8dUxvbuQSSdfR64BSTlvOwyQEMv9uXgMVF2QAcVyq/v765XI/icCeX21jBBEbMLlkeT+xdknyc/iKBys9Fm9jLujMn3qyBuUlv+OwYkxoMr2d+lcWNuV7ksxSPM3QK3RugfnV+aA+N2ddcHhI8rY5CMlLJG6Y5BFBx8g2SAqixo11HxDxfUuUKJGZUyE0CoJIAarKg7KoqlqUWopSscvJLlFCwRPWZF2y/Vt22p/6T3jtAxvqDjyudx5lRk12gx2R5pqrx4Y6P316e0uUgjSgO0UKTyVGCArapvuexd9131zv40EccjkzSlhSqflJ9mqF/jk7sAFBUIQa65XLi5MiwwAxKF/8AMz3lNNJl8EaiRGLOwBeqNUOuRBAgVb9vOxl5bW2OzbOe0X4UWToV1x4oI+NNKARDxg7BmGga0ReJZ30S57jdAjfR5H8oiUh2k8IP0tXQ+tIBeIoFtsO6wkkoX35/bjwUgfhmfiBf+5gvcKQ73mfPS+mR8zlxskjCKI/JtUBq7b8yostVqDQbar1yuJDBSiUliCRdkndnFALxF4roeHZr89cbhAyiFWxD3kfuvkzkDI+Tr423igvXC9N40MWFP590gVlIzdwydydmltgL/FXodcel4zZFAXPYqeAisSzX/aDQy/JiaJxJ69TER47tEA7NkC6d5yOj3f7caqNXvdmmNUeIC8NG8j5YWpI0Av7GR2wXI1imyR1/4V7nN/qS5HOv8p9nx2hzQLAbUYoa2DDxoF4sPFgURqEXNi227QaPgKpNX5ZgP23XE4/G4cYaJSwVFtAhOWu1dkKAW+V1ey19er+pcp2Ma1VsxkZtADQwVAAABeKjv7rL+OjO3GxX2yzy40GoEDxm/wBJkx+NkgAiiddLyZmjEPtFSE78VK0G2VGvcLFQCy1uzmdhRJFIZElMf32CX7c/J5D/ANNgUp8/00+JHXF9OiMrcjln3BsJGF0zNoKqD5aULZvzQx3bzw8NZG/jguTiq6vBT3N2KaXyMYwAAaJybpOPy+XyHZkVBP8AbUFRCO5ibY78AW3bQ8mhx4OPwojHYnlMgDUcQVHxU42ay3jliuiwZqXrjryuRA/H7YYUOUr4kaU5Pf8AaNBI1buYAFlHgzSxxBohJS6sDRxGwAg+z4UGgAcj/aXxljeJityoY27smJbubJidLHkq0AxLnEAnt64SiGWWFlr2n9uNEX8/34GRVQCfCJdvs117jTkxxgiICnYA95J8BtZM5Jqzj3FjZrqDit7SMxIRG7qBrVllFAWSewKKYj8a0fcdpRLi1XimdVrQ7V19X+6GjZPRppsmsob2xC5H+7GtIBvditbodHkVxnj4ifkQZX8u36Ubah+R+l1SlqE9cbjxNK3fIcsF0MQLLSEbNfZJwB7V2OobeNYkLmabeCCit9wB+g1DJtNh4brjemLxlkaQHY2QLP8Ak5E2SSaBJLN/i+ljSSaq7rJYA5FSSRXbSBz/ALahSzDe6y64XET2/aQxoHbJ2A/WiF2PcIOvOIP4/l1Nwyt+1YUFhfi2Pbkz0aoXVDRY14FmIRMx8yMpJY6xUeBRvf0q/iGsqG6/jOeLRDM0gJwWh8vAtiFW7LOx7h8F8E9cmOXh4TMkQ7lWMFgTSi/1oX+jQxs+eoYWkdubPIZZMCVjUEgMzdoJJ8AFcizKbO9a69Q459ozcqUnDIiNCW0fOhiLcCr8VS7C11BJLPPDgrKGkzwFjyNZeBYWlUHdeAAR1AYo3kisySE5Me4xqxPkk9tLWu1iaHgHfOqKP+LDcs3a8jyXZkb4Kcu4KCSx1GP8Cr6XipH6c0s8ub/lgcTM2lUWd+2CTQ2MRdFj2rMsMcUcSMzO1eCciSMig/tHxW+295tRHXqUnKRUjBVFvI+SMyvyqh7pW/m52QAFVR16XHFxU/kTmRsArUDppGIxDNVFmOA/N2N0KHXO9Q4vI5RLy4IpBtmIjatDKRtyKDZ0KOidDr1j/WxaaP030iZcI0/q8x07V1oQo3lq8FlJ2SKALdcFZZhLnKzzTylndizO5LZMT9saofS32roam4ySKkLuzWwHntJ8Ki/3CMAmx22GIBChj6VDw2zhiW3jc+40oIWMA6By8Cq1iCxIADa6/wBQepwzN/G4qtM6yYtISRGuPyYmtnxddqAhFyY9CFhxVZolJZABYIVVsAA34yIOmBpfCXvr03jceB/5HIX3ZCxdRRxXftoETebZZEeFsABQFPSPHbGvYEmWAyVjZ/Ikmszqz3kkVhQrr1YKnIgxlOUiuGb5SPTKpKqbosaRGxWlBYADr+f/AOXWESLDFHIbO8qQboDyfLG2NWpdb7RHyFi4x5n9S3Q4IR5v43fk/GzQ32qSAeuNzG48eLIxaaiQtl3J/Hu/EaFn/NlQWB5HLaQqBHdnHNj+vlhddilvloE1XULceJXjUAMdBmN5EbLdoLOzEkKNqKDGjQ6bhzcuVZC4RFJyAFMRdbLEtWWKgEqCT40B1zPTiOOeKXQJkrOAbyer7r+WOyxNWQbIXonh8KB6TJxF3ud3Y/wCTltdYoe7HS5dKH580H40TqyxF1+NYgk6t7P/AEsB1HxuLwuNunk/3HLGl1Zq2/Q7pHJb8VVPrphyuTM8lI3gKKJAVt5PdAeTivysgsNgAEwzUxQyXjV9qJ4AxUKWkkJPjZWwDQJ6Xic6aL3jgiSDQrAV8ds5UBQoO8dgsRYx6njGaxpJZNKK2SMbuv8A+nHQAAsKLvrmRueEnEhx0Vy38mazXkkha72Ldx/QodDj+y8CtRWMd7+bY6PdQHauRNE4ghR9W/NjfmusEWvcwMlrGoC3/Tj8kA13Hudt6HXpvHk5KD3GVdO1U9AhfkRpmY3dt9UAANdSzlI4Y2mOOHuPiPJw7e2zZN9tnBRumOuvVfUQkiBatlfGwe1F2XP7Y7r6ArWV1xpVYryGyLqGILaAJ+LHetXWsmZqHnrjS+1GX933JpFUUq+M9lQftzq/ITy2+sOQGSecgBVHtL5CjxkFqrrKmNAKSxJJ2eTBx0jlmRz47m0SSNBARV41pQQgrI5ZVPyX5fLkWNVrAYrWgQBiDdlhGWF6+Xx31zOHJDBxVeST3H/3KKoQCB8jZKk5AYgF1yqgbHXG9PWP2nDEdgkLXRNfp37tufbVgFApqPT8t5jJFFMBGgKFgcUuxQT/AKR5dqJbvJN765UXHhV39xm7VxkJZspHNNJX3j3GrxyoMTjXXC40s5DIrxxI1+49+FJcsW0Cxq6SwtWW11I/H/kyYKXL9uKjHPwbP57Hc2+2MVq1HUMTygzIcAhKIoTEFm0cbNk/iWVQFXQN9L6RynX+tyFEdBFjJCkk+exPiDvQORv4ir6kih44lEkiSTHIRhf/AE4lFWvlU8fMhcVJJJNDrl+o8PiFYwitpVya+8udlQbfH9E/7h2WCgdL6xGFdZO3PSgKBin/AEiwLIOrY+QSTVHkepxPI0akGYUB+SxH9sxxTsAC61kPkfHXpXJj4b5zMZJCVoswHkapQC3/AFHW6BZvrrl+pyzKWJ9mI5UdBqvZA2FbHSCy6r3Huexw/UkZh/HiCx6QN5ANbrYBPgEkl2NkgilEPLeFalf+pIy4gfJUB8KAFsgavEBSSRXXqPO4/H4yNIzAhbwvFi7G9jypoqlUGs+BiT16ZyG5nJblcjsit8UJs0p7QF+VkkHwK+mAXqKZm9y2xIFgEBRGo8Cv2wBNnM1QAC9x9ckeeeKNuUb8t917hs0o0i4Uq/ZyOI8t1x5l48KRs7SUB22KBFnwoI8mr7vvEXsczmlmlDdoxJrRYkilRV8DVbazuwlHLr0flACV5TRS++/Ac+EoF+7+7TSUCTiKDevGNjHwY1zdRgQMndrONb8Xbk2FAVTj8b4XB5EqlpiW5DuMt5Y+FJIXyxYkBe3ZIvz1x+GziUMhcl1jjvaiu3XgHFQzGj5Ntd11N7fCaESyxq6qXEKmyzmwM2rZLED9KiGvPTp/NaNIlR2GRMz3+8TIS3+fguICira9D1TkcdPa4XuZlWVcAWLMQO8kDxQIGC0bJzI69f5ax8nk4AZYpDGuiaVMe1Rarst94L8iTiOuDxuQ0ryuLYkfADQJsAXr9fvI97Yjr0lmaaR4kJx7L+Ry3pSwc3rJnIOh4HnrjunFvmclgW1vukZR9gM1Kv4rQKgeO4664UftGRcWQTs0+bkgy+4xlkJI7qJKrruIOP0T0II/52AXszFviFBb6H5Md9wRaPi6A69X5SxQpDxtkAKlL5ksihZN1vJu6z2qQDXUUPP9r+pLi5Xu/MgL58YoDRw/QJxyu+oeFLK3GV7LhdyM1JHl53QFRpewACxNZCr9aEI5fHi4a+57PGwOAruZtDL5F5GPkkUpLYkjt4nC47BXn2I8jiMcSR5Zj/aGJOzRO8dX16lzeNDxj7OCBVYRD9FgA0rkL3P+vvYVfrqDkcqY+3G0mclC9Lih7Qx/O2BsZPkNUDfU3CbiIsZH9WxmzgFmZiAkdvVBbsgDRJuyOo5Y+O+bD3HJxVtUP22h4/8AuVUftmHRDRA45u8jZrRKgX35H+wBdBiSQthNnocacpk9BUHuSvI7KrOTfj5P+6byMO3Y6wBiKWC4XJjXjL8jfxP6Lb14PjqN0VIPZhYIp+ewz2Dch/tUgYr4drZqIPTK/LzoMkSCrbuZx/c19qhmsqreALxbx03IkSMQ8XKNcspJCSxZ/GRdvkV2dAIjfkCMRwuGw5X/ANSU1TNpVLm/J+yKLtq7UDInr1Cd4OPFCr+7yJRXb3FV8ZbpUMm8F3SC6GuuPwOUR7syHKRCFF+M2AY68LgMBdas9130np/tRu84+Ft+ix1iN0EiUADYHYtIvd1zc+QAIw0MG1BKU8mLZM6g02Pijrzm28R1H7PH5QUccs2gq1jQ8HIneT0S5xBCCrHnr0vkzTKwWPFcXJkI82GZ3J0Aig0i2QzsL+PXqDcuemA9pcQa+KgMPyZqzY6ydhgo7VPgdepRzWAjBpMWout3a6xU+cqtmqgCF8X1wYHVUWaT3HbG1GqzbGmY/AELvEBsNfl1wv43v4CLPFdbNHWIJ0FRfOK9tlhq6HXJYvK3uzAFJTjx1NIv9ubMd4j6+22WIWuvUlWd4IfeUCsnx84L4zY93ew8EgEfievS04SyyWwyVSewfFVBslvtrP7JyJpb2vJlj5E1aQROLHl1Vfo+BlvSgquR3dG45eEeI0kstN7fgHtQBdCz5ofkR+qjq+vTzw5IpscncvmSxJ/ZHaPio1S2BZJavHU0EL+2xAIU/W6x7R+kLL3E4+GNZa69Q50qwfxuPhBGin3GGLvWr+2DsBqrwDt3NQI6heRXqGNpHYXJK1kC+8gf8KLLG82+AK7HM5/P4hZondp5AmMajKj+IoDEAf8A2WzZsCuvRJ/9RcyeWTl82ZY4zWA8WAXawoACKP0wLE1eq6d2SH+TIj+00gRpGJsi9ZGq7yAb27MVRFUKSeX/AFsuVs4nP/Ck6Atj3yBf/sYx5zY9P3zpLIGLkL/SHldnBWZqGTm2I7SAhJ6/h+zMGZAZ3/qkO+oh4BKqPmdkA7UUSVPSxmLCaRlM2JcqexI6/KViexEUgmyuRIUVW+JG/qV5M0o2EAyChW2WOhS7sBQCxIHgWeNwouKUtAteMiaRf0BkEFL5+Xk3kb6Q9wbA2duy/IUdKCfJA2fCobJI6McPLDvKrKigFVTQonHJpT3N5O1Jzc9pOIHTcqLjFUgWKEByFXXaFOXcq3vYLZHLdfM6m9RhTFFUzSuC8zHfnwG+r+UjR2WZsRIhrp4RPLLzOR/ShjawMhttNV/kw8yMKUGkB7dcj1PiQcczKoZmb24hkWX/AC58ZY/QrZB+q6n5S8gKRESrmt9uZPknYu9k/LtUBVoFuuNxwTL8ccQcVv2xruZqAz/tWj8R2UOvTeKr85Sqa/In5lR5uj2LQrAN57LpD1xo/boJxkACxgWQPFhV/wCm2JZwvcRkWZtL0/J4np0Wcjlpi7H5AEsR24j8I0BtUUAAAWQaUtzIOXy+RypScEakGXkIdqt+FWu5qVS33rcXKMkcxidYqUEVdR2PJHmheroEjX316dx1n5Yf+rPm4Du/atFrq/8A2gsQGpRRNa69TQcj1HlcuYCvfkSGMUEWKInFQou9Lk1FgSTkW6jtRNLnhbMEWqosKLsf7rpBVkVS7PXpcJ4vp4SIjNlwNgAZvRJI0Wdr7IjoLTSg3R4HorzxNPzsHWIkCNiFiVr1kT3OciO2NBk3bfmvWJZ81HFjWLAY+4RRpTiALspGtZMTRZiFUD79zkx1K7BmvbDL/smTUe75OqVY8nr+RNPyIgdRxr8q/qSdveU/FFCgqCMiDZLXfR5nIS3MSoPbFCu2Jfkoybyx0dI5J8aFdcblyhTLyJcGA7Y17pPHbY/EliugMiaUbsAu8zEgEf58mz5Wh9kA5FjfgYV1x5JnM3HW/HtquOUjsTmSq2AFsgA+Ks3oL1L6cRAZebOFbuKRWCf3oCgK0WNDeKgUpvhRpxvaMKK0jxl8nJGCje6xNt5LaNUq4qN/xpuXzM5JAUUbOlX/ACfqr2Bs/KlRmN9SceCPtkWMWLpjWj4sEjyN0fo9c/lj+kkKfIk3oAksBpfkQFW7YHtG2xNdc1+dNxllMhhibkCMsF37eXlP8saUNYJayKVQenl4fEiSMyWZAplckMSP0FFLX1YtQq0DIbPS8n+XNj/txRhmVXu+5gA7ooskqPzUeK7h4b1mKN2iizkx91mkPi1B+Cn7GgHpFH116Yz8tspmCR52qkvI0hB80PIuhba+WuooI+N/XlctPJiscdd9NskJfZehbnIihdE9Q8MLKks6f1HPYGNk2Rumo4KPLEItVQrrleo8XjopzDbCAKO1VUFmN6B/Xk2ScQ1dcr1b+WkzRnCMrVLXuFaGTn/6Y+lvY+R7itcv1aOCMYx5EmkRciZDf5N82jU/Iis2GKk116S3N9Q5skjRhVy2KtqDDsAGWNdga/yJs3XXElXjRyhjm2PtgJ9uSSQNnQ31zud7zSSN2xwpGt+VDMKUKK75a/MkBLbBcqIk5qLL7poZnss7Y/cjnwcV3slI9AAk5dQc2OCMsotjk+beL3sXbFUB+jfkggk9cHlzukcyR0KSnegfs2EH/wA+btgPPUXEQTyz8ggYgkLQdnc7NDZJA8s7AICWx8dcqaFJfdKIRS6HxXO6TL8pG/I2DWtDrhOYI5eQI1ylxCftjWWR+gikAIoJH5X99RtHxY5W5brJPJlIVG6/+bNLZt3u7NbIITkT8wUkZjQA0Dshfo0NK7VSgDLz3eSOFK0XuQ40DsqD3EA0pbztntrN3r/HU3usl/Fj/TTIixXnRoUn6+IOu6mPUPAjaM+7ITn88Qxb28u0Fm7y0h+6XImo46GXXI5fH4saxJEq4klhXcfvvN6HaKF5O9Cm8dQ8xJnDyRhF9skEKAavEsPuztVLEYpv5Hrj8qODiTJDxwZJV0G0iZiw0pO213YkEsSo3uuQEk9KnR5RJMP6yhUsoaNFQfBoUgVcgpGOPTPKeKEVe9g2JYXTMdfeIYD6Fkf3sfHpXHhgX3eQ3uTElrLHGJRS5E9vcTSqFO6I8EkzTcCNvcAYFLycgdzk0pJI8JZOwxL7G66k5EL8YkZU2/BY1mTkS15OxqhjQ+yevQpRHxpAFYPvM+SDYNFySWcJ5xvG94DxHNyeZP7jFFRWcKCaVVU34FX9De/m58DpJWRHdu5FUi7CIxBsksdszN4xBRaADM19S+sPUgdj8QvbaoK/FfvXxzYX8sVN9cGE8vktLI7GOMtMbBpm/GNAaGCeSe5cmBJta6Zl48E84UGSRcFLbKICLN/VkqoAxUtZIPg+uzuOCI8nZmZM6Ou82VVFvX14BP399DFkhTCSQ3k30PHxv/4QbP54L99en+l8rn8wHkP7METBQlfRGwiHwMe1RX2S17PUvEi43Dnfah8VXu7illqPj/cON7LNQHYikdekmKGVPa91mA3X5ux1ZNeWJoXdXW765HP9jjgvPjeiFByb+8ZndefcNXVit9ereo+6P6WZz8WaJvx+gtgaFNiuRJvXUCVH/UJds6KR6XIDLD7oJrRGQosabxxuKF4zySs4z/8ASo45t8AxYjJsTePdWWRDGh1xllidnWygok+NHtCjVKLAUAbpTQslupuDx4+QORyBSOHMKZFjIxOyz3jHGKst8nCmu2h1DFFPI71USMqx4qL7d2MtAk7yPd3Hx1x4TcSQmnN42S3tZFbNjEZm+5rssTWkscHgmNu6QyY7GWkQLbPJX2xN0TiB57u3r1UCB5WkyxPcSK3V4RrkdZMWJOtDKq6WCJuEjv4PcWaspN5OEJvTHFMt0gdv0Dwl480yyiG/6Zx8+PFm/qviuI2ba/gfUY+IqRrKRGqlXetZyObo/OVjYHz7mAIwVenl4kb4RRg5BWLS6JYgkCh4G7Iytie79dT8hONxgijFy4WkjzmKgCwAe1Azf9OI/RrqGVeN7kpSUTcom2LL2q3aq62xO6Xd3eI10+D/AMmSdzGklRpq2WMVkbNdzBcI18Cz22ejJFKqe37kcEQ/X+4fFufLBavV2QqgDfS8uETxwwFzSisKBMjeWJvTV2p5f87A11zGqbkTuFcxXijNkXk1QA8hfGb/ACxpVAJ6h4XJ9iKab/dnbJi3aFQsW+yDTtQCbZwKJPjr19k4npa8dWeXnzvGFXtCwIGx9xrIwu2wQYtIzBj210TH/Ih9+QOwb4gl7PwsKoGR/GPVa7VrzUPHglpYxnZxXWV+FJByc/3NZ/PX6dldkh43FBLjufAEufwUeBtu9hpNKouuv9P+lP7SM6KJCwY3RKhDXav5EbrswB8EXZ5HFQcxWAcOWOO2NCOgzt4/I/8AzQ2ep+HKZfedysGsVYjKWiQCx/tvf2uwC4o9eqS4xlayJcgAffbbtshitUBdZaAUA9GHH0zdr2nJFKIvyyBkf44g1YU2T/d5BgLkyM4PeAo3iQAAB9eBZOVLbf4o+i8SGCJmnfFpA2CohGgcmb67Rf0Bustdpll4UQCK2XdRy1f7UmqFu1Uq/wCPPjl+onlTnISECxHCnbDH20WOyP8AGqYgVfdvksn8hMmk8eASxUfr+0Odtu8NeKA64UeSvIUZi2kDUwoG8ba8gDt8Q47QPkeommuLjsWDPbBbAYiwPuyq0K0uX7oDfIjHtM7uWUj2yE7EYAi1VjVoD/YjXWh9j2VlKylaXIlAy7IGr77ZVPhdC1Ffvrn85hoWVUYh20mVfX1SqutC/wAbHXA4rc6SPISsGKmUkacsc+6qHjuwBwRKLWaHXqJh4SunHTWFe7qtqA2J7Yx/bls2QoGjfDrjQOyke4z2WZm+fm9AE4gUo2a+7PTO0gADMSDlIxsLttIDrX2wFAknMsFrqOV44skPaigrpjbnWe6Z9HIUo1Z0D0CshLy2WLHEN57qWzVIvZ/zXxXGt8TkpTv7ZIXML+GSITj5tsSf+KUjt2vUfqQmCoYykRkLyMgZsq7cE/8A4S5J0DW9dcVoC0mSMkckbLbCi2QNsF+lGNXWgPmb65wl4wi2lH3FjSzu6+TfoKV94hhQxiB3XT8iXiRByqNkcsnAXNgKQIg8KDZFAhQNEeen5XNneEGNcGkpbxpjZOl8a/JiW/8Ad1DBPHAz8gxWoJUMobEK1LokKe4FtAKB/drrg5hAPcCRsci52xBtmcDwEHkuynN9LlQ6i9pcasJv5gDRN/E33H9uGYsxOIOuub7k0gT3wq4quIc3kQLXIntqwtLiN22xXXNTvh4nENqupZArBfkAfH9Rs28eGICgay64nB5KRSe2KGFd1DQo5OR5LNpYk+lrzbdT8dv4oEjZsHpqBxUjbAAfIjKr/u0Gvr1d3lEMUMAIUgAVq1FOdEKSvwH0O82a643E9lY2kZFkEekTFTlV/Jhf1V1evOIrri9srAzoBXuOcjW78ny2VNjbbWiby1yuXHyZ/Y9x5gDsANTMa7VHb4FLSilXztivXDaSMhIocGZlRCQoxvTN4Is2FFKzUKFdx65XIWyJURxeKR4s5YRnShciW/dHtBNmuuQs/I4g5DJHAjUqVXhWwUDwO5tjRJAyqiD16Tw4+xFS0Bbuc/Nv7j9myL9tcie3IbbowEShp4yFUsyqdNV6pKJTP5MxAkPha+ufLYVoohHESdmsVwXFSe42xNt3NehvwvXMjXlcWBHlXOLuCLQbE6C0PsgWzNjQ0gPXtIHjVIrCjKSyaAXZ+/yOvJ+2PkL16YMspFhLyGsPpNWWY7srm1fJV+mJ+IbmPCryFkY4lAFNjL5UPCn8LI7byO9deqzcrlyFjlJgb0bGTDQUfHWhds1UFys9SwyHhxD2mLFca+Rd9WPOkW6CnHZyZf7uDGnD4skzgAQR20jLkqMPugBGSCSI0BxXQCM19eq+pP7irH/vtTKrLmyWAMyngMAQBmVUaH3XXD9yR5J5Zml5TSYihn7bE4oP0WFkgCkH0a6hhLyiNS0r+SXbtBIJNt8e1e5yv0SAepUd3UfjF3Nr8UFL/wAAk2T/ANgdjr215Equ4b2k0L0GN7IXziK8kAsaG1FdcqaEQ+37YjjMY7fixS9D7K2BQ1e3IBLdD1OHjMkrcVB7aHCOM92xQXz2Eiyf/UIO/wBde7yZs5pson5EhdYtLpjqwBlSL57FUePO+uZyuVx4YRDK7THEK1X7Zc7YedqoATajzWe+uRxuSUyklOSn3JHkObe4W7cm2MhoKi7B2ax643fz1RPcme85XIalAFDz8VHgCgfJP11yIpZmRfwKoGVBdgaWPLwBq3+zZXtHXp/EdXkkWJ/cXJg++3WJb9hQLo2oFir+vTuUvFhaQOD2L4LaB7iSR9eMVHcdEr3dLz5pmWaWkjzOCkKLGVjyT2Iq+WvZurs9eqertzJ44opCIwARTVlVgux8DIKwXywVuyup+UrTRQRf1Wjtp2Uas0cc2NL4Ukk5HWqU9cr1JpYTx4wvbjmw2q67VVqq/wBsAQoxxJaz1wOOWMeQJKG2FUWq2AGXwW7csfcqsmYkdc31JOIRTAyNS2vwQDtRULd0m8mHgMe4VXU/rMRAdFMmJC/4D7J/Xi/8ZOzHu+ReSV+W8cBUCPQcACu3bgfte5hshe0sVrpeOzTJLJKKUqKsGr2DrQHx7ibYjt+z1x5j2rAy+3GFjHt1ZI22TjV/3eSPJ69Pgkl5TcjklAALCVWVC40xFySBf9xgaDNiK65M6xgpFGrciUL3PX9JF2qC+1CzEFvkf+g66nlHC4zPyJU9zuChmAssduR89ntQWrMB5wGJSJ+dzPe5DovFiRcMhfnubBWoZMB3saslVsItHjcqJ5migKiOpGd9HS4qAx0oUubI/LEA5C69Ykk53PSFZQvGhCg/s4UQAv8AfIa2wutKK2I+NJ/FaV5saNgY5FmJ3Q14UUNAKO5qyvqOKabkiIcnCO+8gDzX+AfBY+LLENvFR1i0rLBG7exYLEWZHBsAXfmSsmCBRQFtQPQ9OcnEKwN0ANlVFbOhtvAFBUXZLGr4fpF8n20cF5PK/M2POVDSrrtzq/x11zOIvEWKEOryszWFrVHELYvKviAKXIv/AGnpPTZpoYcRkWrtRPliNWScsE+gxGTZyNa0ev8AVf8AH4/Pi4qd/wDEjHuugBaSeQ+44Eh/pqsSnFFiVghfInM2OZyOROgpcRrAfQUf5NEqPqiAzVllvr0304O/Hl5DktH3Kidzn79x2ICIobSKKAAFKSbPLeBD7f8AHdi1fPf+I18boDKgKsk+bbrgcKSXj/ypIajVRio0CSv/ANrtpF/I5doFbSNuTIsCxKAi3ip7rOu7GyG8nEVgCbbVdH05EZnZRkn9nwiT/Hmzskkd0jayxs9LwYWaIkYpmHbE/rwtrqlB2e5ma8Qq765nNg4sZkWFAGpY8z2qo7V8nvdm2TThEWrY9c3154+HhBCsYydvccW7HahqotZPxAXV0MCb6f1TnNSpGQTo0ADj+i/0i+CAcS5fyeuCGknIncmZjhs2EFB3/wDuRQ0F2fobKxpFyWRSSayPbsAism0Ws/tsKVaFqLPp4b+UJVixQMbfHJzkchRkJ7iKOgx7q7aJ6jEjieVYHaiywgMMn3TuXFeQDbJQC9i+bKJAsPIm5EaibHEKDk2wThfhAvyYKPoCi3d1zOUJOLGx0Fce1GFIqNAqoiroDM1uvFarfXoAcIJRCxL9quxwXEWzlfzIO9j8QLosB1z3mMvzRWkZzidKq+LYG2Kr8mJpfx7+udz3maLiLMWjQ4qB+TayJCVs6JA+IKrlfXC47BeQ8p9pFcAGT5NQ2SBVfoIBoa356gWXkpOvGsLgxaYjvKKw7d6DObc/Z0psVXDMq8bATGINkjmwXKj6yJ/zsg1VBR99Tr/VRc/6afjujYsk1bOxGP8AcBeX9MbMfHlkim5ErJDDbSFmGHbX9NFHc2CqMjQF6LG66HJk5MKCN7UMI0CLXZGLof4v5V95WcjfUwmHGwY5OSg9vRRCNgVsWPzJvd+K1Bxff5/KZy8xbw1mmw+Zy/V390BQB31wPT+LABmcCVMhbVITkbUDShRXirqsiW0W4XpsPI5rtidiLIBm2tIFU2Wk2MRXy2cQCwh9Vjn92KDjzsGOUs7tZZv7Vx+l1+RLOVG+uNyIUC/+WnlkLFYoUUVQH7rEAUSXplQVQsdcqpMZeWoCxncUeo1cfEO5a3I+IAoLdnfUMKc3mAcbLFXAaQ0iLGDZpvxzYDdk0Brqb01IgjMVkI7zX0tEL2ftvwyLNVMd0Ol4Q5cq69uKPyWIsgeRmftz8vbW6pbVd9etQW38WGUZMMnZBQjUff7F7CFiGbTWFHXpvonsmSYyoXY1bsuMdauj5Ki94aOgxNk8RG5M+St/Tjy9kVSaOKyNZ7vBZVp/F0oN9ciH+PxzB7gT+QO4FspSGF2wF0SCNY57Ve0Fuo1dyONCpES1eX3r5yf8VYU67d3R65idscSspIjxLbxGRvYB/t3V7H+D1/Ch/mKzy5BbkksKusQFTHeKqoAogfrFiWPSOTyZvagAABVJJPofJ5cW+5HYBdb/AMjtHD4cUfEDscmaQuxJosa+TSP8RfagVLIGgoHX82CJ2g48QaRu6Rhsdx7VtgSSwXJmxLFSPxoH1WQsz1IFrNWfy1uO4iyTkUFIvYiqQWq+vTeLB/AVjKmQtgxpsLy2q/EauiaJovTWOn9Cj4UUplk/rcgf7a/f2FPzYi/NsSfv/D+nr/HKEl3LhybxBN78bP8AaN34C11wfTiY0EZQMYwgqu3t3hdqigmsiCxN45MbHE4X8TjO2RdkGTAUuZ/6m2/cR9vYHdiLVR/NnPIMi4AsXCn/AHCoBt2H/wAGsSAQos0OpuJ7srcjkCRwu0DfutBQB8mY27KBSrQJGy+omYqQpACLpe02oZvITIK2CHKQ6v7PScg8XjZMn8dFVPx7iPkDvJgCbYFqZqyoCh16UOPIiSyIyJIHkLuC0rh7LOzbpnsCgQdkdx8TuObMvF46e1xkU2MaLEH8gN+aFMa+2BC9cTi8UMY0OTW2TCjiGOPn6yNsz6LWSAbHXG43DhHue2ezEqlG2oUPcOiEJItQMmJxIA7TFxsAzv5mZisSjvkb/wDIqJos28RY7TQ64fGbiGflFFFRsIxry32TZLY+SNKWoHIAjomT+QHkWQklgiggE/vZ8DH5Gr2SzY9vXH5vJBkQYIvwJDMxAq/bU+BQILEbsgnJtD1XhIPUpBK0kjl1kJ85ZksSzud5EAAA0AW/t6k46tIqrk2FtKWNi/KClUXXkKMq8116fJDA2AjEk+IvRpStsxJ/Y2ANHROgBfIafmeoyXgkS0LZj3Gu7z+Kr8jpVXW2auuS7NwuPw4JVy7nbZ0ppbbGsFAskAg/GMY2R16NBHDHIxl/DQCr37Krf7DN8UyA0Wdm+PXP5MMcckasXklc5teY7KLeNHZC27CJf32jqbmQxcZFD+9KcS9C0GrwGwH8j6EajZJLa9R5Ejqk00uK+UQHJj+qApbY+KBoE4t8elX3dmlUHzq9eAPJL6xAXIjyaNnricNA7TM9yZYIJPiho7CeCUtjbfE72a64ccUcrHtuQDvx7zZrtG3CfdnAMT4NX00APK5Pty4AqQo++4fJidtIV3pTgGJseeuPCEjIEmQRcmJqzf5E35bVb/uY2K6j5MWDt7+CrGEjjSrYgbdq8KD4yNALeBJrrjKpRsHZy77vQIBJpmb8ANkXs90hUDEvwKiE08oJkftG/DGlr7xq2pQNY3QHXD5QVFxZkjgTHQNZ3Q3vNwN/2oxaviT1yZUn5Zjzco4N9xJNCwGPigCXckm2YAG7HXp3Ag/ke6Yyg85f+phloAkhYlPknLNi3i+vVCjvFx4ckird61tmxWgtnxkcvs+eoEdY5OPx0CqR8yd0ALxv7Fli1GiWOjVSqsC5OcsSY6Fnx538ifNkKwGzYbYm5dW0cTFm0TICqjKqURKcmJ0FS/u2KgX0W5M3Hb+QR7QAVYhiDJIa+hYAuvGlVfkeuG5jgU+wF1vHEE2dee7EKBQpEH0GYk9eo8+W148FhpFMs0h3Sk4pGgW9UCzUST2j5OT1AJFx/q0w0clA7L+y1qiLVnwx3iCd9S8jhRqTJz42ChXkIywAulRVUZyuarShFs0SeuV6l/4pyJngjcwAlIGkTtAj1apZ3+Tm8VFA7s9cCVlAghjJNC2+yST3EDGybZ9kIMlHd56g478aJppjnyJASqJ3CJa0gNKhb4hsRV6FL55EkkgHDWIAklmkd83av19dzWSyjePyKjfpHD5TL/T44OcgAdvs5Vkq/wBoA8nR3QAtuvUubx+Gy+n8YrJy1KNyZGIdInOxkFoSTEVjGLCZbYbtORz+Rzv4cXd7aj3HIqnbuY/9tW71jiSB8epvaeWaOAe4FtTyFOpJFSiU+yke+7QYgtkRvpZ1kZ+PEGCILkOX4jWAVfF/fdk7u3ax69HljVUNAAsRk4vtXXha0XN4r5xo6FdSRnlzM0IJbGgxCjDZs0NWPxQE/H911JwpYgt6jyYke4CTWmzOkv8Aur3MfiSPvlGgq3k22evCn9UNk+foGsRXjoMUh5UuIDju/wCMtIGbfjQxF7z8dJyjCHycrmfIrOQnX+T5JrZIyLmsR03KZOGqDK3JSMLV5NSk2LOR0MrZt0WvXQQQyOG7LosaoBV8k78HEUpst2g5MdetyRsntQ/chJrbX+2qxoC3J0DSgAL16P6Zyn4BiRe5mDHI2a/zfnL71jQ3YsnlSI8kmOT/AMeMmy3b7hFHwO8rYGjiKbd66hm9x2hhVnc+SqFjQ1o+QL+18n7I64QTjcU5mRuT4NHEJ9Vl8v8AAC40qjx9xe9PxZ4kMgD/ADf7xAOrNkCrZta7QRbV1xlihlkzBAU4UFLSWfxGWgaoZMAQSzEdqqOZK839KGNo4gCmhQxU7aSTZ2fIG2qiWPSqJHw73EQvxioNVv8AWKZUtlj5KjPUsbctv64wiMobH6K6Cj+1VCgb7mP0UXzFxopRFFGKqMCgxB/+yZrwAtV+yNgUfHqfFESJxeIds3eY7UEas/RCXYX5uR4tjfXp/BHFEcIRV2rO5+bO4oWdkP8ALFEGe9fDPqbjN7wRAqxgAqLxDsood3ywQsc3FbLAPkev4xSKZ3aysbL4CKAF+h8jk7DbFr+j5PXO5EScUBTcjKiJiC3+KUHsuwQPNHddKI+LGHnljDYjOSV1B33NtiWPd4A89oA++h6t6U0qwxtNI7t3MkbBAtkuQXNnQJZqUU2zvr1rm8cMk8eIllHbfdIEAwRgo+60hOQFlgctjg8TkciNmRAA5HezEAA/rE3ujk1hio8sXB6ThQcazJNGMF38RZruOAOkB+tse7IgdO/CSaVklJkLDEVm2RrvwHg67c/GIpTiW64Ij9n3G39nMg+B2jzhf5YgZeGYi+oS9yN/TRSorYyxGtay7qrtCqq2CaY5eoNHyZoYYwgjTTAbLN8gHN1r5suizEDBRrrl8ngcdJEQ+7OzYAKxLaGUndQOTE0xVFCLQBUVZgfnJC8wKp7i0FpfrwoGyEAsuxI+PbQ28QjtYyEVUCxKO0scfwCjOhuzeVLZwvri8d1gly7pZX8R/LD+0NbOMj52CRZqgWMHDMSDOlIslczdWRGCoK7c2QGORsswC2ephyTN2KwDNjXjM+e7EXgqgt7ehtM78dQcTlOhjbOqJYrS5Mx/yf8A7ZukB/464XHEUMkOJuQ0TeUjEmkBc7JJJOIB/wAas9S8hPT42ZlXMZBM9gYgKtLvKj8FWgD3uSfHp3H5PO4382e8bz7/ADgRY/QQYn4r9E91k1IxkiXjQIq+8VVGw/H8nCk2FOXyai1nZUAdcT03g+40vvF3QEu7knz+6CLb1kIlDGsV/u6jDD3U4qKXRCQDXad4F60KsyG6skAWFHX8DD+pyH92YdzICC1GggbyUL14aiQWrEdSDkRcdnXROZZzq90SFot7aN2oWAVnFr8eiZJYo18AuWY22TAHRY3ZLfXcAq2RjbN1zp5/6MHFRVxYMXpQACe6RibNksFUkdzHWhfU8/8AGh72LtjYF0NbJJ+hZIH3ul+26bl8ydQPcRR2sI00M3IOUhY21DwGsV9dH3Wd5fdiNpivcWOq8mj/AG1Sr9nR11wY5Rx5HkdPck13GyAdYBbZra9gkO+wcEvr1BuJxUGaiWVsiEByCPWIeQilaWrYfIR3S/rr0rhTyB/6KLGI81UjsRRujdBiWrIhT4pQWOXXp0LJNOWdC5kO/lVEBVAXtFt5O7xbyEvr24+Px5eTIrTyDJVJA842aJyr9Kq+LHjZMMMZ5C8/mdkdHMWMch9b09aUAD2xWwa69R9Z9QkkEHph/wDD+Hch93zLIxFAl37qVKIWJbtq9zePXpUcXGZpJpZJZXlLmRi0kzsa35BtvA2T3a0pPXL9QTj+/wCxppo8ZGtQqf3Hs0z/ALtj3EXYAQ+lkzcWe3wJjkSEKpDGzV03e7Ntfgqb2RQHXG9PIZldigyPugsSxJv5VqyBSrd/4rR4fEi43HkkYkBKUEKSQ2rALfnl2f3DEhQAOuAzylkTKFR2sx0VjG2yPkAayt+5zR/XXq0luIuNI8oTHI3hGAuxbdoVA5XwHLt4/fXInji4uKN7jmgZdgEbLsKqlNULZmYd7VfTyczkKYuOrxwMwymK45t4BW6uhYjVLq9A+evb/jyRx+1nL5kZ2vBQ17b6r/Fb/bHqFV5PIQhQqxqKYCluiLH6jjUOdHeyx/fq+dswIx1WRCg1+R8Eqi4oqjFFLeC1kPw3l9rJf6eV4KpLSPeRZxQ391J2xKVFFuvTlxTtf2o8CWdBoaxvIfJj3BTkcmyawOo/STKJHsiKRyxs0WVdDIqO1fqsiSzEAMaXqOJuJLNToB8aXsC0RrEdxxX6IBsi6ZyQOQSvtxoSPc7z42B4LX4SzdZb0q2SeuRzouHxYYOOCJJQDM97xUZ46DMM2olEAkIHfj1GMnGbm2e2LD7ZviFLFifNjEADz/mR5+QhXjqsYFRhn73YjLELEoCqBssWC2RQFDrieknjwSNJJk79u6LFNl/AoNLJSUCbxOsE2Ink55kdg0cUzBEB7TVKB5ybd39EnAYgdQ8RVSMO5DSIrOkZVdC+27B+yzvaRIL7nJrqRYUYlRb56ZqwQu2qFC2CDMsw9y8e0CuuMZGnM0uo4/8AbQUo8BV8/bGtKLC/LJjYl9QPI5uELAEe3D29zZKfgirVBVrIimJ1nQPXqHLj9M4UolkUzTHNi1HBa/x5ajio2ciKtvHP/wBVhY8eNAzS9wQtRpqxGhtsV3RbBLo2bHUAl5DPLyHkZi2TG7PuY2e76K3SqgDZH6C9cMETSmOFl7FhDEaVGGO9+WJ7VssxosOv/Cxy+T73J/2wdDQ7V7VxB8tVKjP2oLfE/fuEH2eOMIokuxYXKu0KNMwjQJtqLNRxUDqdiYJWLNV0AqDJyrYgmgdZeLP4n9dcSSJI8zxwyqzsxZWObA1tjdqCKJ2WI8Vrrh+qe5byJ+sU0qIGoi/1kcBiqFyo+gK65XqxaZ4YImawq3kQWJHzY/jZ2AO5R4xode77XHOTOkkgYDDRGRo4aLb3bkM3/fwF4vDjL1nM7KCXshEssasjzRZtbI/xl1BzckjCpZy0gAsgd3wFhEUC2eX7PapNHqYu9f0GLuoQXal8u56/JVryWIY5UNDoEcORVkCoWTGl/H7xXdC/yI1Q2ejKXlxjiNsBJZG7JxTVADt3sV+l+y5jiktmGQ/EU+N23cBrSrmytegAQMuuNyXdZHWMgHSNJsn9t+vyAvuAP7NV/PeIvUd0CAwVgWP2I/uq+bDwpqxfQHI9X5sX9MiMWNLkScq0LxCAn4rYJ+bUp6TjlOIeGkciRCPG9ZuxofjVZE+FGR/urXU/HljyZi0S4+2oF5Oqggqv3i0hxY/J69tfyrgxcaP+gc2eRQ0hy3rRUV2oGkOJxzYqjWFA64QhYyiOD24WkKqaI9wKO6RjtmUkqB3HLyfwHUvHh48UsiLsj5E/Gz+hoMx15Bq6/wA+q8nGBYs1/qkEoCTZFhAzLqhq1BYi2UY9x6WeVmEA+LNWuy1rQ/wG+TnbMNffXIglxZ7CEkHV4oBq8j91eNWxJFbPXMjcvxxK9bWk+938rsWBka82Sda6ARgyR5spZu8D3M2rvI+iq/bv5OhkOn9lcRbR4oAt97sQv0PiP2cIyo0q+OmmbMxxSyliaA3mqqNk/wD0y7ZUihCBuQij1/B7YMw517pNeaO6ZrpLpbCjI+L+XT88p/TUUxXtUsSL/GolsvR3nITbW2sR16NZlleWUkKWbYybsFtSqcVvdmxQpS2669Q9Yyi9hUbEmguVO10zih8RdKWsXR7wqm/53u8dmxsxkRokfeF8myx0WPdXdQu/10kLSj3ZybXZ+wpZroWe5/r/AN1uzUB1wFjNn2mY46Wu4jxtqOIdm+g3aP8AiuasVJFIqxqTbDX4N8BvJ2J+bHsTwarDrhGFJgSjrCnxthGHx2TVLoboAa1osaDN7nvciNBHGsqHKyMnahfuP4xBpcVvL4qW65M9vx4Yp40RBRIYkL22+H6IGme7t2HzZj0vOk4z/wAZHiVCtswq6r/Pcz1ZHj+ozOSKAHL5HK5EM0MCxqWe3Y9xFn7rtXFaGyWvxZ6kheBYI5pBK/nEggNfavauIVL+z+ICItAk+/DA4aRw7jJgAGNDx2qNfr+6ifsjpOTHLyHkKs2SgknWRs4olnQy8AdxY6Hb1xRFx+JlMw92VQqrldk13V94/FRVWCQL7hzyk02ILNVHR7SQdf4wU7A+LMCTkSt8bgK/HhyIVVABtSf8sO6rJNBmIonIAeR0wgkVVXJo4137Y7bH9MC1FaPYoWyT/aNdc9+XPHHBx5TFGnccpKOC6LHHaqPjGti3cnEV1LE4nVBKWX/pJFksd5HwF7iDXli31fSYcXiEnDKm9sH7N1l3HFYw2hQLSPfXFjjn4hfIM4HyAJpQv/YKGcXQFvRJPjr0X0Pisn8mfFsW0Gv7XtAC7etFm+N73d9fxeOvMQRKqxInYqqB8hWVCwGc2bOREY2RkR16/wA6PhKIYvJsfLJmOgdCz2IK18BrtYkj0+CYzCacYfmdd29hUAOibVB+vpwL64a4zYLTzPGAnxwjDG3cmiWOioIsUCRfbcqe3M8WbSyhu5vGC2S3x2pb+0ESNrKuso5EWNM2lDguB5xT8ERN45ELbNho6uz16bxMM/Z4+crOak+jZJONdta38lVVUHbdf65H8Xi8OR3X3JpnQhXJJOO8dG8BqxgqWKq764ySzzCGJRkz5bPYv+Wu2xsqqL8pK8FT0npEkUWLzrkqZMMcRGPJZyfzdjapV7sj66hVEdYohkxXJnLE49v/ACKYjySVagTVV17Xv6z9uOJl9xvApdtrV/2qurazi1L0sMnLmEMD0HxU5CsV840K8Dvldgq2QO4+fUkAf+JFMgVFydh9Kt7oV3Oaof5A+z1ypU4/HEX8jSJ3C/jqlQfWVG2YAhc+0W2XXpDGayZCse2323YIBN+BRNaLHIUBXS/xeO6RxqTIQBJIVAOTbrxdgefssQteSPVOZx+NMIsjNyHtiqntjX/rfYvwoVbruJo0Omg5PLGQcqpcEkfbN9ZeFCIPrL6VRYI69O4qcKJlsZYDWONUMnZruRvoEkL4X710nJneRTHkzBiboDGz/wAFVsgMbyOlHuHY6b3TyczIWkyIXLJzqhoX5N+Lyqy4VaXqOQyM/duMlQBZYuTjlSiiwyvJgcTiB4PXD9OEyKph7mbAA7pbsgA9tsFClj9LI7MddervDxl4saOhXwyRmktSWdi3/OXcf0PHUEDcy5VjURvQXFdYXd7BZ/Fjwhet0ldej+ncfhcf3XgT3WFD6YAd1Dy9i7dgBR1nonpOXFF7jVcijJgnkX8VvQiT8ndmzKg0DdnnclpuQJZD2oVCqDq9nEfje6JJCRqGAzYnqLm/wy5eEKZU/pBl7ingNicSEx/J6DXShh1x/VKSWZ70QN7LM3j/ANqL5pcfAFD5Dkc7leqSGJGaKCNi16VTiuJYndjdlgMb0hIG29h5tu0uKmFSP+KIjF6OPmrYKO4JlXRguUNGoXEgs1WbbSKGNICRZ8E0LxUbM0kbOI1/qewFyKj+mHFkm9WR+6s6I/HqRxyZ5xGXkms5ts+2lfGwCseqGCkGyq23UUUcELLLNHG0aktGts30QG35JNn6GhrriN/LnJVGliTtLLQVvGRysLfiNRb4jJib6w4/HmxKjM6bEHV7aiBYFdgNfcrWLHXI5TSyP/5hUGlBPkqlDsS6VEvEX3E3sdcGCNpWlkkErOxEaVkcFW3dvGqpdHEDsy+XXBMYYxpDiGGzolyd9q9qUoGjuNSS1fHrmcOFpsG7mZm1lSAKu7r8V/S5u7tZbfXD9Oh4/BYiNXkPga7ciO39q0n9obMgANimRMPC5M5Nx5FywQIwpRsuU0ERVGvc8k/kN9Qen+oyTPBAhShkO8quP958MQTkfckIBAJBqr5vFbhRrJLIkjxggfdynQ3/ANP6WlA/Mk316dweTzq5M6iPjULUayTZ7j5KkKO0HvLAeCSfUOOzmGIowQ+FohbH+NfEbP6HnXXr2PDh4vsJ82EYxArEUxJI2SzYkhaBCgdq9RPy+TO8r5RxqtVkodksbahigPir0NBfLH0x1aJwkJdj3Bie2/kzsWyLBcrs/J6AugOuU3GLSyztQiVi5DEk1pUH7bzov2qNiyaWbi8mVpDSxtiAhJ1Eg2X3rKye7e/OwOuFF/K52SRkRJ9ha0xIQ/odoqNd0F7QaPR4zScpkKsQgHaN1WqJFkf4Wy3/AO70OuB6OGeSaaMRoppmY7CpsqqqLGI8+KYog2SevVJ+OIEAjMMKHYqmqMHRG619ecnOrs9QyLJx8oUEMCKFDP8Ak1Dwt7IGlAzosW1V9czlT/wpViDByP6jCjQH4gjWtAkWS7Yqe09Qo8c6ySl78DYOGIHjyMx+zpL3b66n5L8l2WNmFsAzeQscf0C223rQotbE9f6e9Mg43pb8nlSXa/8AqNWRrSbskeCwAXLwECjcEkZifM+3G2WCYnJ2x8sL2B2jGgorH6NcnncaDjtNlMzO5IJO8E0KApRdL4Ghq/oyrJzua3JmUoka1FG29j4g32gL5YBNuSGNjcUEvtGR2kcqRorosL8J+RAv53iatAevReIFgfm8x5GlPlC2C35xZtGgcUAAUf4Y+OdyPcn9jiDvkcFsF1QOIUfHy1sxJ/8AsiaHXE9Kh4scXvOQXRX5DWo87IuqoVXg1bUGYr1ByIeMJ248Vqmo2ZXylIFARqe7DKh3HuP0ev8AW/M5XM9RjhoSnicf4JXtQvIcsP7TJWKn5Be8+fHoXFbjlJ3T3JjJugSqaLMw/vezrwuRuu0deryyUzEhFk7Fjj2BXzPb8nrtyOTFiTXjrgen8g8Ucj2mVMQodsVHdvGNRY12/wBzE1l+umRIcOIDTvqUiwwye23txYFFjTsBY0R1yud/BLJxkKZ2PcIIKoo3TGlVns681RIFX0Glk5LySAhCGc4hq14bxk+zpjdt8NgVy5nmnljijakb7Wu4+L+7Atgl5Dy7X49JjmgRWkRY1xMgLjeAW8tn7oAMF+wA3nocvMNMawQk6pbZR4+r/ukJyXwCF0DyVaWVZGQn3JCpNUT4qNSaAxF+NLZata48ie2nZHHH7g7iaBUUKjJr5BcFZVYkZsFo74WPNndcY4oLAaTDXmyQDQyPgZZPW2ZAK6nThcczqh/oxLkaPyobLMAu38Uv4jZrpZzNckUJjUs3fiATfigSSFJqs/wFhbJYejemSPIDWCu5cZUWCj/1WFVZ3JbEbKjx16g68UiKBlA9vEEyWzFhv7tmb5MzUoGzfjrmhpiCZFpGWMUtqB+X/IAtcVoHdsbPXoycjkxwoXaNGPYugxFWZJKIrsGltsc10Sw6Krx+NnI7ZMrYA0AE+vo2NWKVrPcFsg9LyfajlCI0ss142Rtia7QSx+RHfu2Avxrmq3HEKkA8gooJG6kc22N9q4ikBosx2SQOovSjyeYJuTJYFXGlt3/2l3NHADZpjoD/AB1/F4sgkiXsgiYD42CVByYKO52J7QWIFsKFmuvY4pBjFJEt+4CB7khvtGC6+qUSMK+RA1dRPNOOKO4ZIG/z9rl9iyBgFVd+KHdz+PJH7ae45UMFJAIBagGNnzu9nFRTUDj088Ycwwoz2ve7EqutKqqvgEkYoDkwGUlAdRzxcVWiiVYiyFnb8v8AqfXxWziD82b/ANtdcieOTkLGGbF2FoujIzfJmLf4sBnoILIHSkQxRRQ0ERFOKHTN8jbaz2a84/quvUJ5fb/qNhlllXnzb3Qu20gVbKoKu3648nuHKOG6AslP7e42TYvx5yWOxQLdejA8qeSGMHH/ANRkHyINPvdjIlFuhq6JOPSp/ALtXuchyuKA9sQqwZHbZ8KcVVQAAKPx64/CQFebzmAURuRETtyvcSfy9stQugzgNQF9fyJJFFphH3FVVAsjmS8aFduQofHIJ43sceX2ENInuBAN7VBXxAuvHksf14BIMXKkeWdvf8r3FAdsd6Aomu0WfwVqUAgFYH58wQF5MG/IFki+tDw8zdxoXROTeOnj5EHG4/GVMQMMlAAZ2yACWAPH5tvYA8A9eretek8XlkczmwtIihRBxrnkLufhYLKAoGRuvGlGh16rz29X5Mc7XDDBGf43FFAwxHw8nn+o3lj20e3YTqV1WKOGJlLuMnH+boZk/SIbomrNkEnozPHx0hSQRiQrmV1oLZvw1AG6pBu+21HXqURnnXjxs68erkb8mHlgv4WfgpYsEUO5/XXEgX3nVYsxH3bAKjLUY7ibJ+VsEv5EYjfEj5cZZ2URICvnJbdtJfxdj/aoCl6FALfXpSRxO8khaWVtAk0BX1HH4AUWST9kC930/qAj4Ya0jMsmY1liik4IprE+MzhlZAsUb65vL488qwNJ7g845fNvNMR8+6rVD/ik30JpE4RZhggUqiLS4qDZOttJJ2qoJy+ySvXqPNig9PECRKhmPuO3bmwHj+4hRv8Az4HbkeuZ6r3Yxg5AEMQ3g2TgrWx+7dhstoaFdemcg+0ioF9yVgRQtrvtxUBmNed4nV2vXp3Fnm4h9yV8YbXubEZyFcvvcjDt+RwWgFJ8rGTMkQZWWqxF1XlgqihbeMu5v25NjrlQy8ifARBgkiJiqrj2n9DtWKOiBkaJt2VjXXqsw4fIQFBJJfaidijFdtQ7jj9MaVFS9Fj0vJSGFWkXAkDtWtD/AIvQF4qCbZtnyzdRc73uFLUqIoLAYsO0X3Eua720q46AtqFg9elcDiw4817Z27ULbxAJJZboAKMmaU2Mm8kjU3Kln/pcaNFWwS5OlUDs2bMh+J1ko81dVyuZBwoFaV3eQyCOKGLbyyY+Wq2oeTZC+bO+p+JyubyeVyZnaP3eTI3/ALUGwi/s442ANL+a3qAy+2qQxtgCAuf/ALgoeW/qlLkEfoCrstBBJNB7wZkiWwCLyYnbEPQomzb/ACNmioU9epeuhKihxqNRgvn4eCfF7sjwp+rVb69K91y3qHITO5C0UOzd2VyaqZm2zaI/ZxXr1Z2dxLJCpcdqgBmUOx0PuyXPcAaoEfuuU6QBUtmnn0cjQV2N5uo8mrYJqrXJiW1DwYo5WfkZY5lip2f3bfRdtADajV5WeudzuNEkkrZe46YRxCS3NfbGyQCdEhMm8Loa9OhJ9OzlYxAW7GrcAteQB+N7wzKk6Ndeo8yNYVSOJrViGJyLVXwaT8QxPeqUzDKl7gT6ek3JlDy5qo8DEqbb8QPosPodyopzYaXrhcP+oEKOI18CiMif7jon/wC7B/tTXXqvp4VjmWRWFutEFgK/9oRS1Iu8jRA+z1CkRjj48agInzKgAHWTAa8M1Bm8vsfd9TyP/wDg8Untq1NK9gMVAryPC5GlGW2yIsDrkcEzyI7PjGpU0LsqV0P3VYgeS7boX0nFEhkshIkfbHSrj2qg8Fjuzuyxst3AH0+WGGaNIIS1DHN7CC9f4GIAMknkmlQHXUpbkOXlU22OC7+GVD+n9Bio3W1UABUG+PEvHZpJGpgv6ohfGX22ySEGt/EE1UcY5vMPIkvCHaAk0KFAmqW/7VuhQ2SxPRMcKEhaAGNRrsFrOOtZfl5/yev5TpE3tJhkzYrfdVBdH6/t92mdiHIYAAHj8KbGZZGGTBcxeIUN+ybYE/VhW7rHjrj+n/x4JiAhcMVsbqvkANKAv2zk/kQobHr1eWuP2wliHAs/S/G9eGkJb7Y4igQo3UmKTe0EMissa1jYAxFXkwBPkqgFaFknqTg8n3QiSozyECStLn9Iq7YiMUBYslsmx6//AFfThkPyTnO1bAyAarIH2xQeSdKctZEUk8CP7UILv59xtEVrt8i712AnVZMxofwWlmLyIxLWN5FRQLECyNr4rzZtu5q64npOfGmGYXFiKBBa9ZCx25XQJWlivWTDXovpnG9N4TvH3yOAM27FuiRgv+4/7GTDRybweuDGkhnmYmd8iEIJCXkBaY0K+lwyej5Q9Qxf0FV4Kkl/ppYAIWwWYKciL+TEk1YBJo9cji8SOYGQlMRfys5P2qxvQpQSt6Fhm2QpaHgw8eflTuqRkHHNiCQdBEBs5yHyxApaqsD16p/qHh+n8ccfgJD/ACOUcc2psI772wH7JNAkgKMpXZiAOP8A6m5UPuHjxo5134Y78k/VeFJv6CD/AKevUfVedzGlaXlcieeV/qV1gjXYA0ccAPjGgsi2e2fri+ng8xXkfuqj/wDi1YLZ/WRGK2TQvEZEHqaDD3Ajxh2oKgILeLDyHZtQe1R8dtV1USLBlk2TWbY+abf+dubYjZr5tpeo+eFH9JQxOs5v38n2bpVFu+KgKMQfIPUknL5s+TSxxxqTZYbeu4sVPaB8VUH4itE669PAiykJz2Hrdsw8Zfl9l2yK14NGl6L8mecMyCOIW+7+TihQFAuE2KLHJt3Q647Ozt3RIhFKl/j8RdXYFfEZgnb2aXr1XkMqRqGLmu4lvKk0qKos0QFAAbBVI7bNdcaNjP8AyJHtkUpHGg7mdv0uyqrYNt3H/Gl64sTyRNJLeKfFFAbY+KKuxkW7nLVu9UvXrHuS8cyRQswSJREWXFD23ljvKvkSe1VoZX1xPR5J83l7zqgov78k3S7uh97PXovpPG4sZkkZRINGytqp8Iv6H7IByJID6rqM8eD00HP2/tzVsMx8Vy/9R7qvKrXi769PhkllYwRdp7g7Vb+2CEBf6TI5HC6XZPUl8UTSBmchii4VWZG2/WR/FRsDbEAE9cySablzTFMmkcBSTmqBe45N4cgKCayGR+upXM3GotdgZBAfl9ISNee5h/an+euDD7kcQeL2+OB92kYRfJ/Euf18ULnbHomMRxg7X5e0LxpRaKRQMrscQcjgPpcRvn+rSRoePxlAdpf6koGNmrNEsDQJoFmMjEZV4Uc7n8/D2uOT7i5VhRZbCjFWoKjEV7khOQy/d9cNPUo8XmnVFkiwqz9+Qt93cwom8TiR3dcblKEMRWQZX7ISIjOhjmdqavZcvZvQTZ65fOhUlFfJ7bJq7j9LSj4KKpBY/u346h48AwecKcmsKWOwFHyr6+6sFiRlfQmQ0gcKAaA39i3fAGl7RiuTFsB16r6pyJZhBAbbImxtYsjW8L2sYOlYksdkdLJEsquSZpokBVdECRye4hNlqFKA2gGdyB1Lzl5XIcyLcUZ+CnbN/wAjtGvJXwWYi2rpOGOYW5H8cCJLfsGMfnxka7Y1ABZivcTRoG/TYJebI5c/0x/tQ2cC5oRllFaC7WwC3ntGy/pdvFCmJIY5voJGPLte7Zm2Tbkmh9dem8KCLk+4xR44KofgG8kBf/UkoDItdWBld1wXgPJeV1QYJqyO0hCaB8B9m8LKfkQevU+XHzpm9tfeWI/ixEfne/yre/8Am5GOh/5l5RHaxKFJxWlC1+TVugKC/wCf1V9Q+n3ygZOSP6hXCMsPgo3JLvsTGyM22rEgVR6klhSZ0jU8hvb04UkBqO/CrZ8hQLAAChBvoSyST1MRGisMUvFF+/r/ACQCw2fCsevRuHjC3KZKABPuMncBVDFGOmfLtB+Kmyb64uUks7ImhkQzkEsR2gZHZJJACRqiqNX+14Hs8bk8v1CY5ObC5VkQaFavBAST9eWa2ZQOL6hxS9KrLDEDbMay3f8AnEHWRY7C4ilG+f6+J+SnGgbCPZAOR7V8tiu+7SqtmxbSMS2PXCYshn9xsI8lU0tmQ+T+lLGlUKGZI1Yt1xJIUYZH3CxLlqZu6vIv/wCSwGbePsV6r6wnA4TtFBblvbjQgHuOy7IP0d9zAFyNtu+NN6lzOM7cpolU02KouQLb733SpGK0fs0LPXqvNxYcZHEboqpQHcisNebqR9sMu4AZFR98TjTNyo/bV87GTmz7arWvs5HZIAP2WbVD1iZ0nCrJkcAu7J7xZ7vAJH0gpAWayR16VxbYTSMLdvkBQCD5kHbVWSr3Ct1RN9TxRGSJyQFPbghorGBmwu9Fm7mxx38i3nrgxRQceYYHuL6Xuq/A+7xBodp2bsHu6lll5Uv8QLKiSjFY1am9tRVyFSazPhLvEWTuuvQf9Prx+MjzyRhqyMY/djEMzECo7C2WAs4ot3c7wwy9rIeyrxUZW2qutHQFkaLGvvr1U58rJpVaQtmM/F/3LGK0i2U0SSwbIAb/ANUSSp6OvLcNieVFx+HGxa5DsySGMYqsahSSzi9/HfXLkOGaplLMLLmgfaUUgH5BWYFu0DMfsa6ijn/jRLJCQFAZ18E1XyJKquTsNE3/AIJ6mgeyoTEhif8A3PlWywxADEIoo/EYpfcI414AE09M71QOXmqXzu/LaKmq0BVwwFnkaSxLPlIfxwRt7/RKgedgdq6BPXK4r4LHGHGbonarZu7dpNk5aW8Rf3ZFLXUnFl7YETytv+kQSWFFabIhVAumIJNjrgeiHkTiwcS1AnI3iugt6ZixMh+viW8hevTvQRkyJGWEIIfN6QNVhWoCzdZBa8/bMa5/pPsYyvItscECoBtlt6J+K0K0C5AJN9cX0p/ezkLEMDJRZUXFF7MvAEaiqRQBsJV5nrn8R2JYSrSr27OLOT8mbWW6ChTQxCr/AG9cDgRw8ZGlku/kPBb78dtZUTsDtXwbPUfI40STRlb/AKTiMXsu60RGv15YDEUFBYnfXqspfjyhKMCQqpkABeUgBWC6pQ7WBQWlXQJ69MaR8kXi+F+z4Yjy1A2/6T8eztP3w4CI290YyGcnEBtEjEM2rOFEqmmcqLxF9GMHjcWFFCnLy9FhrJix2qsfk9ZOFAF9RzLxeI8izbET95X4hv0v7xxChv2mlzHXO5QZWV5HOZvZIGztRXndKQuryy+upoT7RcHBCbZiCSaFBVX9LdhQPIAqyx64EZPG1xe2z3v26+239CwMjokUuWz1HyoYzTIHEaCkWwGkBAVAD3Yr9mt68dT8iSTje+wERkGK4ku50dKR2qq97E+Cw/Oh1JxTBfJZ85WGYyP+2pG2AGWNk4rv3CEJ7b6n5sySmCFMppKyfAosUYtjX9pJPc25PobHUSLJ7QaQs6i2NhVVaANecVVdZFtDLenJLcTj8ObkjJkijLO61jXhF9xrLs30q3Qqh1I8rSCccTGJySMloEk3bF8MsVxys9zlUCebhY8nCZ4m9qFu3/8AGPoXdeAdliF7iApCrZi9ovI3tqEGSrvPIkd70dFmNKGfLFQTiSaPLz/mcpnrG8Vj/fadYg0qqot3cmgPiDY6TiSjjI6xjPkLV/dN+6s+POK3sJfbj1xPTDA0mYYyyykrnVm+3JU2BR7Yw41VldV1yFEHp/8AGWQLkQHOmc/k4XOwoC/eGlI8WOvR5MGZYvvL+oLNm6ODHySbt121eAtVxuFkQzuoP6FHHVne9gXdUB/dvfsxLHll85Ai7LkltkgZKKUfo1/joCGJV0SJAq12liKs0NJ+vwaqArZJWJo4+TNIiQKzMY1Y2xC3Wtu3d+TDZ3odRpypuQ7zSMsKnaC7drsZb7V8eRk1/InxE6qxb/8AFaJrua7difCx325AkAJiuZ30ssiI7RAWVIyIO/F0G+mJOjfaCznJ+vTeM3J9UefkuxijlZsycgWB7mUeGcG61inwQaHTyiTjyRJIYkHaVy+OPc2dUSR+XjJgbpauLlxcVnVdOiY7+ajzQ/TuSS74gC6z8L00K8kL78xeyXoG8mUZMAZCQFSwq0ME0xtup+IpdkphBk9hDRkK+bdiNX2j5Hus711w+DDJzJHPHLD4qoLlTROtfK2+W7aqwA7hxOFHFwz70W2JWJGNhf8A2xoCXkPkgAqul++iycH07kc/mezw4YqjDykJQ/QJu3ftUIgdt/8ANeoer8Tlp7XHuS2zMmBQV9BS/gyMbLMSQg0BpeuPKsPpbyli08hCRgbVGOlZy3kreeOqrvxGjxOK03KeZYjKy5MJJDtpX+Hc/wCRHcT9CiL11PByoVLMyxe6xQCOgcBWZX5Mcz25EG8vDdPwvcDTzzvIWYkRjwQuhkCSSCf/AKjeMRiPHUcPtANJkI+zZOgp+NfAWwHaKXXiltjn7iu6cdEihC12jXbrVVkzEd8h+NstnqTlrHx5PNkH8tn+9mY9q68KMnGiRZ69JdW5CcqXFdYpQpVjUFmMYPew+vcIXKhQN9D1UTx4Q9qAE/QdzvEE7IsWwGzu6ULscNfbHImcZuyHyB43ig+lFAFjuhS42euRxofdJyt5A7ySeSF/Vju34+S0BQJJA6/1fB7vp/pruuMMXJcRRva5/wBPESe39+HPxNDeydelQnkzs+AaKNuxnFA1+bnZNn4ImNfsAb5PNngmlzYe5ljHFVbAJUV5Gzm5+XhbY3XD408afy+ZNUkvwyWio2QVXZXyTkSta0CeoFTm89bYukClxVY+dectLqz3ZNqwOoI0l5LvWSQp4H9xICj3GoZOayZVLb+QFDphFF7nJkWKwGxs2F+iUXyb+CeL+76438jkyvyHRUgN0AO0V2jI1si6Oqs4qWOuvTFYMZVQRgKR70q7RScQ1N4y37UQAy0Sqr5Evt8Z2idQpYqGOmd3bue9GkXQIos9nIAV16ny/c9kfyhon8tVRyoiyzN8e20VQbLMQeuR6jP7ZKyIVARcQujZ8Fj8zf4rkB4CEnrkSuqq0sje8SDj9rqly8nMgkhVoqGvt0OuHyAsJVwXIDYLR0RWRx8u1kKCxC5sQFNFuuFGrzBigARJLSsi1Rm2c/YLHEZEKfkcgOvUTG3FhU0kAitjfdK+rr9KO2Naryzfd9ekcqOQzNEMY0jJDKtDWu0/SKpstVsxqye8cWaN+QzSuwihNiKxu/Bkb6L2TiCzNf4rrocqGVHe2puxVTRxHkA/SeLogE3o1Q5PJn5KjhcOBVSNVZiPld38ibB+7H2bzDYjqX0f+NCJ+WY0NjVAkf4AsC1H/ITfljfUkA5EYMKBIY+33G2XYm8Ix2rQ3ZJDMQWsLrqT3IOJgxwBUUFYlyAf8Uxq/CimNbxs9cW5ZM2KLEHxCswYk1ZJx7TgCS3d7YIF38TzORJIFj9wUFHj6VvC0NIMBbGgSoGguujyYmZokVpKGnYUGK6zxasrOSx5FgB8fDdTzSLIT7ROb9zYggRpV2x2+/A0hN/iCevTvSpefIrNHhERnLrRJOs2bREanxTdxNL16qZE/wDIcNVxACtIRmTYF43SgRqAPKjI+fN+oxznjRD+nd4EKCz0SQoJA7ECgk7ykORY11GkaceOJizMw0PxRB+RXQybZC2EUecVGxDDFxW5HJk9uMMWCbJdvl/UbQ+1JRbHhRQodTxRcrkPKzskVlTrzVD/AL7+rVRiAB1PyuMkSLHkRH/TRQCbIULdL8yt+NjM7fRPS8iSflxCOJYowQCRV6GOJYf2KCCkQoMWX3gcuuQBI8vaZDRU3Z2TZ0oNC/wTRxG2rrjL2Ds9iNFUSFVuV92FoElcvJTyF/3D9CONP/D/AOSc0jHxX7a/zfwKyOKJl3Nv4oT0wMwjET1kQSQwJC6BJf4qiLobxL3StXTz5cuLjpJS2VsWS2NAf5EegP0QuyLPXIcSSiCJ2aMGi3jOjZb7tV8g+NWB4648EUnutug+t9qr+6+2Islm+28Ch0uE0icZHAzpnY4/BWNM93rRZI/sY3tjXqZDVFCzYqSbHlv39H78tsDfcWZcYA8eIQUkCeSxUMwbZJ2zd5J86pOvS0VeDJyp2QKcnoUihb8uW7mJO0j/ACLF3sAden+zyG5BCEh2uSSqyyJOIc9xLGwTrQ+6A6d+DFwUdmIx2SBWdNlXaMhFlulotYXLyRzfUzNI/srIBiwUasbxFnwPvw5pyzGyt9egceaT/wAy8dIKRb+HjQBOKsEQDQ1kzWrHrnet8L0qP33HvyKWEUMYBLuqn8tBVDVbUNsAgY9f6h9a9T9e5UL+ozBONFITBwo9QQnL5Mvmac/FdMR/0fUKwlkaRk7lGKXk9bLMd4Jf+LfEaO765HI4jcGOMZBPcBDf3kAjHV4RDu+OiA1Mfl1/4z6fwAs0fHn5kjnGJGI40Gx8r3JhZ3ittsBx56Tm8n1EsJIY43sge0GoeSIoVJyYgUXkYVQ0wyvqL2uOiZxo1NoVmQsY8hfiTkMU8LkpI/fXJ9QXlSxvKpXHIKo2A3g0T83y7M1HtrutKLkZ24IijOIdwWIFWTqz8j+2q8yptnW8euQJFjWGNc2MafPZqy2/1/diKGW2sjrjcbmLCzFaNAMce5iReK3VILBYnH6zvx1x+G/txi8I8192WiAbolAdFsqVcVolfNDfXOhOECREszdoy13nZY3vzXkqAFo9vl+MONxhMxzawquScW/TKv8A6lkZ/aaTso11/qflwxwcWPkFpJwGkMVgye26+2go5Y+4b7jbFcqVQdcPkcgMT2wJojus+T43eOzVUW/KwQBHCF5L8uX+pI2RUaNFjkRuhbdoY0QQv2GNNE/J4wmnkxU7FbNA1r/Bb4gBQ5+6AXqAxcOD3IYS88+oQ/hRXazfbNuwBe8nJoLUI5HdEvtKzOGkbyEFFmdq8tW722I+g25vajbAv7jLTf1KAyO8iO6juhpmRAAFjJ6hn5E06cdAixRxllA7SB5Mn/Q1HsyspnYGQ1yvV8YU4fEVQR5Itu7wZGsgk1eCsb2hcHS9c7mO0KcUUAiH3O78qPyIoChd0vbej1wcuY7FX7Uos3tlbUHGNEy2sei7M9ZAKAK2eLBGL/q+5IsjEfQy/Ej5EULKgbCAHtHXLOETGNC5DnKRbPdY0CTZryaKC1UXQ69K9OyCM7EMV+I+Clu6mc1bb2FsksxvYPXI4XH9P4jk/KSPBS/yfLQxT7yJO2OIHga69a9R4rwRrViMIpqq38vFKLLHbspPaaNKOuHOE4+MalWluzWxe9X4q/JC7wAvQ6OIcQx+9k0g9zyTs2bHnJ/Hf9fKh1wuAiqTI57Qqgv37ceR4j7d1QK/I3WyfU+NA/t8WMk2cnIoWukAqmcgC2clRd49tHr1T1BZgrSn3F7F9pT/AMBUYg4ov5vVu3ikDdHmkrGlEG8Y40BoUNKo8C2ILYr487bXIlkn5JjaXNVUsy2SP6YPaSCMtnuA0Mtlj0gSRVjUELGyKxHbthkfGlFeWIy+WOyp6XjL/BYxQszWzM5sDuoAdxuqon40tCl89fxooQgYpnJTSlVLvs+FGl7VxGTnFfiB+/UO+eCOFIo4vcjvI5lmuwGI+ZFC1XtL5s3aoB/nvxvTzDF/uyUczQLF/gFjW2o7Kgm67iOnklxMsrWx3I5NuaHwUfiPCDxiodjTdLIeRMYlYf2PWqsjJQxBrQ72GRHjR116hy505/sgD2YAtV2q1eFHyZ6NWxJ+FDG66/8AOc7F3H/llYkKPFK2RLM2rZtC722lsa5RSObOZaiVlxVBeTj4plQGVmzXxBYaNnr03hz+okzmHDjpZjDH5lmyLuWoH/CDEV8tHr+DDx8HmREsZLk2ISP7I0Cxx1nSrbgR9crkQuxg4IVY7LTTYAKEUHS3sgm3Z2r3GCj4A9cHmcYI0UcfuMf8BQAFA3qxojZAssAB5PXP9Rz4EfEzjiHykwFXf0DtjitqApb77tnqBZpOKxjHtAyKSxrSj/bXX5H5n+2wPIJ64nAc8l5Gf5Lii/k/93YtMI1Fk3RdiMj46l9OaPNpJqaz2DziB4pR+6jjRRjeR7sb6T0+VUY8ghUINR5bZ7Coh3V5Xl4rEr3HRHuwc0j3lNsFwQZBWq+415VQCRiTZUbJFSpKuLfRCtbbJVF0as7L/FdnI5Y6B64nElMXu8soPfYYo4I/pju+I+CBQavIm7NEgnm4R8FOOIyztTEUFRQO6hH5q/lZICg5USL4XHw4zjd0cgw/x42QAP8A6hoAtSUQjDrnepSvMsSkOuelWseztjEaHtCDRyI/4DE6ihlk5RzRSFKVHqgBpQ7X5c7fV0KGj1zOd/Ch9nM+4a+K6T9JGory2IVV8/kfNyTiRZJ5rj40GdNIa8aPjecj6Ff1WvWI6accqVnZiIg1EgUSoN4Rj/q0Bo2W+qJ64MEIiZ2Q5S4xxX8mUDuC33FctMwoELiKTz6kiQ8eGPD+qwC4fJlBA83SR2KGJtgu2KWR1Pw2kkiYjJhRFWQoX9a7VFIAx2cezqBPaASMW7r3n6VT5+6JoAdztRbxkL69Z4pC8cwFjKVCT02gau2/zjQAy7VYiiX64Pp8MUY5PJ/qMneqDYtR5I+67QmbBRYOAzPUXLik+ZUIpYJEgLE6IyY/pR4J+Ttl9KB6D6cvNll5EitiCQCwUCtUFXYAr+4mlX9XfMbjQSmLXtAA19uR3H7ui33q/wBEAATc6GLhrKAoruQsNL9O3j92q0GofnkQBD6g3L5MSjuUsaJQkk+MqJs5MwVU+I8eWY9c7kH+SitJkIAC4wGKtYUBm0t/SRL/AIyy31zuLFLyp+VM0jmef5ybNjUcarVDEeEC3dHwtdScTPkGNGF+cFBYqNAAKN6H92J2oq+n4ike2IgorEu3cxr5V+Nga1YyNKKW+mMs5EMeKwqQl+RSkDEfv9UgAN0z2xHRgWLvk+Sx4xIQGokj3JWRRj/90XGsRqlPHEdTTNl7dHyLJcn+wfJtXRs5UXqgojhjbOQxm3NpkwOKneVCxlVUe45Ek49RQ8bjxM+R9yQFKyNsWF435pV7nxx80zEa6j4kZjBlfROQiiOvJwUhcRQ0aZnLGyQem4kbfyFEZjiWL9AyNfnuP2xNAIAPoA11xok4sMg9pVabeJ7rqqSvvuxFXkx0Qq5demcMSO03Mb2+PnISF+TgboKtC3b9sBu6Oh1Nx4ZCUAdFzCohIqME1daUv9DtAW/s+Yv4np6QKseU/teDspZBydqOLN2gKAGNVXXK5okaSebI/SD90D8b+MaLdvQVqOPmz/4bHPkSSVje8fCsy7AdrxRb2VD3gP8Anr0rhe5ICZ4kWPIRkqNsfBjT7O87xoaG66Tj8bi8pA7CSpC4Qii7eAxXQJZvzkNYqSFqupuRBHAMQrSSDLJj22e0nQMjUMUBAHaDRC9cuQkchkKYj45BRlv8Y0ul8UNlqHnpYf6UUnKmUsbb27Cqpy1ofY2NAfGr0ekaQt73iNUOA82Gu3N0qg/XmyNtiKKe9PyJVhGOS/1JqpEU3ig1kx/S6r5E/XXFhWFFpyxXvJNC5KFu5OgF/pqB3GyFH31/4q6wvxoqejTPRIX4/f8A/NiPOgfHUnJmQ5zt36IVl+PcasV532ihjsnuPXD4PI5nKjaViFv3AKx7SB8ibwUjEHwxW1RcnJ6KcWCN5mJ5EikrEoqjRppKW7sriCT7ar+wu5o35MSqZCnuDIrGDaqSAK8DwAFvySaB31xuDxYaQMnvN8lDhmj+hnjYQqNWTYeyO/Y9Z5XF/wDE4YOHU3t8ep3QjEyZEKgbv+EajIi2t28k9cOGbkR4OWiAogUTiv734ZhdeK1itAnqb04clwXcME0oy7UH5bXxQ0xBAvsUaLdSIOBwlxUWV0Su7/QvQ0GcnddqqKAvkch+RHLO7BsFY6BZRWq35CtSj+9gBmCa6X3ZoBHEm3kCjTOd7YhEsyy627HBNBceooDxpoYWUqpNsMgGc7LO6R5saalRf2dmwT1xuBBJzVSUAj5uW/x8vkT2oOxWa1BDUQdHlep8WJH4nESxkz2C267QaHdXjH4qLFCxfXp3KSCDKSJLRX0oVbI7iW/4IGt1Wze+pufEzLIwxZjl8tKx+Nk0L8HxoWbugeZyuKCgMhOKJodv4nEAeQPy72DMd+N9J/GM0U2AxRqpnsAlh3MdAb2EHe5WzrHpuSs0TarBVCKBRY2d0AGIAGMYNJoEDxcULyxwzSS4NlYF3WwAAaNkGtR6BARVsseuZ/Gh/wDVDPh3AUxyBGqB7iKrvYrY2BR65nqkg480KDESnGy1sQR+lAX43rwoYaJY9cOKL+S8sjgupyNfjXxUf58f9RIXFFsVxGWJGbsUIpJHau0N45AEKMqDkHKwVDkhm65nMZJf5fIYly0hhUtWWVIrBN4RpYWJQc3bV/I9es8+fk4cdHtbwjgjN+TTMFUYr/aCbP3ZPj0zgiKF5eUoyDdqocm8ZYIBoHQXIsaH+Tr0yXlcmVm1BGmCjGh48KGNsx1skgKO85X06Tc7kx7uKM7bdEjbEaF/ioNbJAys6ngnz9mMbsKxL7JJvEV4BJ7yNt4+IFrx2jUFpBYKIfiLZe4/9IRaFLbDWTVjXUEcMfGnLXLLIGOR/bL2tb7xyJcscLUAIKx6SWKOIqZgpII9ydxQC6WrpMi1MzG44qGNso69J4nCIPcpihT3WmYge7Iy6amGbk2ccwihRaKx7uoJOLxYfceVURhaqzhdfZxJ1kFKqPxUFiSSOuf/AKj4H87Bo5uVITdQ4+1Gt0Pckui2RJ9tMjrEkAHr1H1eDlcQUkkUShe1hgO34Ch3YLrz3SPWP+PSyyNFJkYyWqIH5kAglv8AFsfN0gA2XbUvGVsphY7m9tmO6HbaJslibx/29t+I2fU+Mi8eIAFIeLlOzEi3B1s7JLmyfrH73kf5UfC4twwZcjkA/wBQg3vZOX2V/QACnELoX1FzIzOI5ZFyMJ/pJskH6LN4T6Ptqcja5a1xzH/MiIlDOJMUWrVTke5Y1oE3qO2JJt7oE9eqcmGGNIVYGSQHPVuVBoaHjI3QOlW2IGWXToH4vtwLo+33NjjoVYW95MQEFd5Y0Co6HA9vhIZZe7F5GChb7ftjrQ8AWFsbLmlESxcmRo/cbR71WvgK/p2Ae6Q0HJ8DQXzc0EoYLDEY1GjI1rggGwB8snZtKCLzGZFlQXeOVooQJHrvkPcErWVVWTtYU/25V++oYeZyeW2FPg2JIFD4ljZ21b+ySf2bxEfFkjX22kVTGQbPysr5HgL9laojRCprpYVblx41IIqOX4IVGwvkXv8Ay2Rtmys9fxFpp+TLWIWolGKqAKwUfJiL7q7RIdsxGI5hzhmOYQGUq5XWK5D+mh0SfCn42fsIoXrlwctliQgR2zdoOv6jbH68EZEXZYKa8dcCvT0Z1cSztaJj+N6cqfJJ2DJW/EZC1XB4cknIM/K+CBpCoPc5Hkk3kRfaXLIn/VQA65vNk5BSDjwKsa2mVgWMf39hbJNAkk0pAGRfJ5JI8SiKuOS6sjRxPnwCS53fjEAdRRwtN/GzZiHXIACgF8L+6G9btqJut+o8X/bUyYAqDgK7e3HJ94piuQjViZLIPy0I343HTkYJlQCAr3PlQFR6oGu0NTUxsb64Ql5ALPUV5Ygfh5wC3dsBZzIarLaYjri+nvD7iQwu7AKzPJoAkk3vuZ2N9xND4iz4T0XkTSHkcjShwWJYG2W2xRAP39V5xHR4mfLjTJ1VK158CyST52P/AJ/+OvX/AFEcCKDiwYCSeXFUcgssMY3K6DFVzZsV9yvJOJNdc/1Tke3JBFIsQCZSTrfuvZxJDeRkbC0AaNAiuvTUM3CkWN37HbIgsDIzjQsn8QbLNkdnwCeuCOJByfddAcV9sfoAa8/qh+wCT8NUZPV4V0ijvXsjA+zrOT6VQKrLuYbNk6g9RRWLFgzUMVruJB/p0vlVLWwsLZ7j9Hr/AFB6nLy1jiikdY1IjdhlbEm2Aog/1GFsxZbRALNt1xYoE4McUkl+4C8n7oAsAzfFbG6WvbjOTWzKOo/UoIA0cK21yKXvEkClof2JZIsjQpQpbQ47huR78sjH21aTGOqIG0UXY7iAS72qomyzHQ5nJkhmmUspkACgbIAH3+gATRJGu4eRfD9Om9s8h2fOa2C/l30Bd/EBPtqr6HjqUywq0SM7M9qzgaCXbBSR8SQcVXR7SbPX/hvJVY55m9uNbJZ9t4zcRptu0UC/yLE5dcnHTSvjkwoG8yWqzgv3+si1ADJvx6jK2rXUYoj5Ut6FY1ur8W1dxALDricsSbGox5JFZH914RANlm34s7A6PNiZxLkromKxgmkBxtdCsqrI468AsfHUXN96WZ3b+kJDTHRZRrJVokJdKoCi/wDF69V5gjkUbXOMYDVqH8Od/Nv/AE41Jvz9nrjSsIgIUWL495ALf5x+7ry3bk2+5ddemcD3o/5HJb/y4JYqbIKrss/78ALvFbJ05JE38n1b1HmcwsEgVmi46gEhFQEJgo0Wpi12e45E7Fr6VJ7xtsEXRYtuyPFjRbeKqGbuNsPx6/gNDCjBC/lmJalAC+FBqh8bY+VFn5dekemzNLeK3IO0A3iCR4vxera/xOqHUfEEMsfulaDntjyNYGguu52LHvJI+NCr65nEjXlBYmERluiaL2byNixGFCsTRJAv4gC+Z7EBEEIEpQCyRZLsMm/X0BkO5u4hmHjrmRcz2FeSoFmLPR+WJ1kRruK/kaVAcVNm+ubBEXg4yiSac0XYtoN9D/Cpko8gWMUBNnr2/wCJD7Mar7iVIcmu3UAVV/CIbbypYNkxOuooOX6hyZGnYzyZqFXvC3jSxxxrXYorZrLZ8EnqTgrwCq2iu1K7qv6slY6FD738gosLsdAxS8BrjXJyMWYBmUg2Ls1/nBAarZPdXDEUs8WM5xDBWkfWVbIRQbZbrZxX631PNw+PDIxlY3jGv2fNYqKyYnZxXTV4VDt+a/qvIdRGV4kZvF2HcqEBTJWvCmhSqooRi6r1vlFYLo2w9tApxFn/AAN4RjSICO7ubImxwIONx1XlzNnLInaK/dKD3Xar/ewJYqcSb64/EeOU8pYvkwMYdjsuKVpH/wALsIMj/wABT0sPdLLMsMjMuOgz1j+Kjwe6vsDVsfvrGX+LFjGgPuqfv6QgX40uyx+z2pfnr1TnLxY/ZLe9yJwExA+N+GajYUAdiAg/I346/wBO+5EzlIB78wJzKgCKJPyAI0NaJDEnX3tvTufPCzu/tr3Yg5EmmLM1D5H6LvXcxxqtcD0bKOSOwigyZknvc6zkcJfyuvJaiIk8sw93iemRNDAF9w3k9AkAsAzGvMjE4KthV3f+JGMvNEaxM7P3WVH5AZN+vjiLJGIN21hTH6enH4yTUMjbF/AUDzhdVbaDBQx2QdE9ciD3pkUOCHjjbEHQWz3MxNfZI0xJJP7br/UR9louPx4bT3EqgcGJcAYKR3qt6dgc3zfx45PPVVlllZ2wHZ8TZs0WPi/m9D4gAsVAVeuFz/ffN7Cs4xsfojx9sAuy3aB9L8ev5M3KeQKHWEhVJ7FGIFUoJxUDeTd7FvFHqHFJM5WZFkIVaFH5bC2M8V7V2O49x0L653P4sJlggXzq77m34zJu/BY/5OKjt64PIjhleXC3yPxU4qasUPBa/Ntfb3Hzcp5PJYyy+4i1UY/IhtCsiKB+2OiNDK+uDxQnEkqJmkobO1jDgkMzVk7kW+KV+NnEdcXlR8eZMYxIwcdoAOhSh5D4Hd8U+gvcehzpTFyOS6+zAokcMQaCR/l9F3IoZaC5DHzuT/UvL5Ck8MGPjpZ96RQXkP8A0LpEA7bAvH4/Kx1P6z6jEl+9hJJueWl90Rp4WzeGTfQEaoo343HxeXzZf5LSuXlLlHdiXI/u7jdUdeaFBSt31N6dFDFm8pcDEsdHNqpa8KqJsg2R94v5645MPDVYkxEikqKNlWOmxouSwojKr+TZVqPiT3lKypdgKSAAP39szf5Nf4ABvr+JHKV7GZUa2YdqEKBf/IsgfZdnoEACo0Uch1gRpJCzG78uewePjGnhRu6GxfXI9NnjjjTkVD8pMb7yT/gAtZQfXdiRXy643A5EokeQgDOhmDjGnmyCxP8Ak5UzUAqAnXPbjpyI4I1X5fQ+gdaUf9ziFVT+TseuKnuKUhVFLYI7V3WxtiScjYUBVUE7NE/XXH4IgRhJj5OK2Qo/Qc/IkttrJyOzvQ48xcCCAGeYn8QV7b+R/Kv86of24gdfxoUeMShCzurHRtjQpjRLGNSRipKIf0evWeXxzD/HhZI1BNkFcj+6+RZvHigmR0pI6OUzKY4VEcVjOTfftb7jcj/I2T8ydqq9Rws3BeRl9x2XCMWca3lSqEFDu/w2z2gAnjRsvBYOiB2fNlFaAXWZ2xYk/FQK8IQWy65S8xlhjRQo8kIADWI0Mr2BipYigxrddR8KWBY2lKj3f6hss3j+21YtXjJUFfFGGz1y4Yp+b7rknHEWyse4rRssdUKXEC94jWuuPDxoinuALGbjiAWyFGiyrjjm5u2CsVGqX5df6l9UHH9EMMCtD/IlXjRCwD/dJ2qTbBNkswosMm/E8WNYyiGRxGq5vkWAaRu4+Kc+QNAeWPc1Y+nQyczlHlcgyDjRuxTMYqQutLrWq12jaZXrr1Lku6iKCxGqW+sBsUATXyJNIoXL7CXiev8ATsExVnlciY0AxIWt4KsaWXvbeBkKoYli3XORYZYktmVDHqyCxJJA7aAF2fIX8mDNZ69Qmj9xZpJFhSOMeAQBrWK/l9Y6tqpEHy6Tlx75PuN3SFEzotiNF8R2IF/zfeRdtvr1T1Pk+oTQKjEQZAAZEs5jJxUaJq/NLu7vr0j02VpTzJFMjVghKn5fftr4UAlmZz/jfXN4pMuGIVnr3je/NBTib/bV5P32jrjpx/TYDKbWWZ2jgSMBuRKx/Wj7a/3v8qFZqKBnccnl0MyYg4O7SM3j8juQ3/b5YWxq+lfhwcJ4ibasT/2Pi9a+3qgza3QHXJ5cHH4qnIiV2PZHpjZtU0aCIu38lj8tdH1CRgiAyysTkQvedg/m3aFW6JWt3WIHXp/NSDN5j7ae2WpKL0RinebAaTeNAnu0aXp5jzWOMRKhiSd+PxRfJJ7izMciFqqdhXF4isyPyENRAe0lWe0fLE6y2QMvgLOJNXCv8uYHYijUADKv8nda0DkRugAbBroTKCVA0DiMLIus23/0igSTd7OzQ53NDxRwxjHFLck0ANXZBstiBkdfLFR+4vbMkzqiySh0FkZEsTtfsfoYAk+VK4g9ehcVjIZuQymlGSxgHf0pNHUYHd8Y02Biep+e0nJlpyE37aE+ETtUV473xLEnxl5o9HnLw41TveTkLZokZFr39MVrdaHxv764+E/LyljqNCpxCa0CRd5UMje7JoVddIxn5btCuOR9vPGyE+yCb2Te6FtpaFAeoGWPjf1JKGyFVrxSu1Mu62IGyLO6QVZ6/knjRe9KcnrwQ2INXvdtiNAMSWNk0B1yeY0/IgMibNPVnI7s39gBfNVrV1YPq3Gd0jjihyvEUQBdAE2PA/uI2wWgxFkdQ8MpNx/e7fbxPtIMm33d97Mja7cRjoV1m2cgA9tFjy327IoC7pf350Ao1vqdEPGz2fbiFYjZA3Qv+5qNm/8AHnr+FJJXLeNUVVYX5AP0uZpRiSLwFEg+W31FA6R+5HTi8idKDvELZs0dMaC2KBPXB4fL5DifkRpHChBMkl/QrQIs/Sqqg2SBodcvlKkbQqGLzZx1vsUVm2IvJ8Rh5SJbK46PXp/CmlkzDRxIlM8j79sb3vtDBciCdr5Fdf6g9dibhP6X6XJ74lqCTlAH2yA3eIjQLjTW6iqFi9HqLjyxcJIxGMggaiu6vsseP8jPtXzidk+3GYH99/c7S7hF7VWzghe/y8n4vISTQBHUEsawBVjdBgFZqCszPsgZb7V/d0zfG1vpieW5gjjKrotI5LarxfhV8IAvcf2O49K0HEFPOjSRoo2LqRhrzqxdhd1rXUTRPMzyv7r5LXdVndVqwim8VGIOGdEKD1yIXHEUqixxlQWc6NEUoUk5bJY35PcxJPQdoJ/b4yBMACz4kYqPyZtU0jN2qCprZ2wHRLPIs7qTiWGT/skZE6pQDj2k7bEXJXRfjSQyB8qzuh/8ItaAsAsciWagTQ6aKJnzjip2btZh9A7IB/BQF7mWviEBZ+vQeNw4cpnRz7SjvbH5/JiB/ef/AGBhdAiz16zyW/2eKoEjkdxy7TIT4++1bP8Az16D6bOsjYw5lot5kqtkAZS7OgNYkl/x8kkeqwQen8cFiZOS7gA/FAW+chFg4rfaAF/yxHQ4/wDJ5igBmF4ouHmyCDiK0Fpt9tmy4xPQ9MaZjFn7UZNAJ3OdV+Gv/t4rbEfVw+m8TjcBYmKxr7QBLkZePzbuYn5MQtbJHgdPyuEqPx+JTNkUL6yx0zV9LetLZxrJthejJDCsa1/UZQXkZh23ZXt1kbNotgXRo11y+UCU/pUFCBc/N/QC6DOxxxB7VALNql6HHn5UihcVCsx7bpR5ZrpVAVQPj3O36HR4aQwwu8YeXWCsa/4LDTOR5PhbzJY0Ov8AUiPzOdxILWHjcKHPFSO6efudnI/IRqMUBAXbFrrqXkxQiT26dgpC4+Wdhie5tgKC1ud/2jqBpV4sMs0gCmnwArLG6Ci7xX4pofskAMeuKTy85XKxwRISTn41oLVDI2dne7o2OvTPUhDLJ4Uj491BR8QzVR0D2Ku73jZvrlerO0+fuDEHLBqypbVdD46BOy2K4DXXOnm5kcjyOVX2xVUrGzVjyUVt4nTstY0o6jhDQRRRj9jySdaX/F5McVVWN9311xeEsC3K2Pt3io1iBpVvZLH9+dk/4C+qLxYAi24QAs3cEFG8Bfc1MdhaBI7yfj1J6rNPIF4/HxDLj7tUFT7wRQduTrdtfc26HqEkvGjLe8yyKNsp7gZB8RJTENXnAE7FHeXXDqKOXF7Z9mU2Sf2VHc1AntHaF+TljfXCJllmG3UZhdYjK9klryYLtnkIA/FeuTw/dljs5KmNRRqXLuReI+gtV5xFbKm+k4M39S40jFKGLEUq1e/pmx8gLQLUpWum4CpGGdkzdx2qpc7FWfq60ACK33UOo+PKv8eKKMIGtmY0Bd+TXzKi6AsZ1Xx6aBlBDEYoFB8KNmz2ttjqg0i/Ju1O0Hr/AMViT3Y4u4+4RSteX7+rq8QXIybYUBfCPzp42k1Eih3UOfK/iWv+4030mxo1XUfF583HV5JqEtY12lhflF8hcReTnL8vsDrjcJYnWJPLMMsScyxHjQvIjVAADu1+XUcbcXhe1x1CsWClm7tgWb3gMfNAmh5JN9YLFIv9QzOe2z4ard/OOrtnZq+hewOvdeSVuVJhj5yPe7KCa/8Aapr4r9doF76XnSqjMi5NKxxsb8m2Cr8R+PyJbY+I65HqsXpuPCZZORzygeWGAD2+N7gB/rS0QZitChuNQRS5b9X9U5bxALjG5FEbOBr/AG18ktdByQTqmP0OQ3K9iBBJm2IHd+Z0XOjQQnzRFixbBSOo4ufNMDkvzCjBflrf/UQWybHtuhZxF9cjkQr7boVYUEuqzxtnx82uWiR5J1TEHqKbPk+7yGVEEgtU8hb8HYCltir7dlmdj008Es0TPJUPywQWaAOFCvJssL2zMvaFXrkTK0YUI0aEknRyYbIsklzk2IyYgV469Q5f8phxkkf24nS/ONAfFF/yRZ0MqA8b69I4UJ4qSSRqqBNNIwLtgfxUD24xo21nEDzZ6HLTlchooT/SRlBk3sKSTjuwLvFVr43QA6eTje7n7QwFKCVFBV2aTwWLHWRIBpmBJ1636osnCl4XEYJ/IpZHBLMIE2yIsf5TucaDC0Hc3kdcPij2lN44+CEViDQUDXZmLxCi447bTML65WXsOFL4N2szn9C2J+jSjf8A2vyB1EqZJA7ki82A0t4ilH5MxvbUCBpa23TyqAY44TimWRZcbA83rtG/ujtRQuuoc+Vi5fCMPbJGMfcx0qlvPtj/ABpvo+epvT1lnSQtjGKY6PgX4As9zW1+W8tQF9RwxnlhOMhOTgB28VQUYDwSzFVzOR+dVXUvGf2mznDe0psIM9/4HxRVVMbORrwdtfp/JjIlklkd3MtACvo638smJs+MQd7AHXL56iBE1oYqALxys0DoZVewaH1Zs9L/ABYuCCyKhVC9AZyvIygsxsAKq/8AYaF6U9T8iJ83U+TujuroDM7Ub24GlyMYBx6g5crLHxeP3ZmNddoCndqu7eRvia+NHZrrkcB15MKzOFlfBSqE/wBMVZBc97PV3iuvtr6i5E0Nw8ebEqlm+1U21A0ABVghLyZgP89eopLLF7kkpdVYm7JyxO/7MjdEn4jtUdelpO/vTRQsQTjmwABNEYqa8KMgzfShjYLDrjxTLK8sjnIH+koHat9gle6HccnUMzEgA1j16xyHCQx5ERk2LJNrvvc6zkkFv/YiG/N9cQzq8zxmlW6Z9ZuTk5x0xVdDEEKKVSQSeo+ZKeT3OzySOcbrsUXulqtbAoKLBLPfR97ltGsN9iAZhaGR7WObV43chZSdgJ16ZxJgLUg/3N8nK5axBrEHQXIDQBCHrnTyiUmX+nGD27BLDxf/ACzGgSPGZseevVqd5pAWZZcUsWCxK/7akf7cbeGwAd0QhdEt1xvSclT3IlAeVQMgbYLXYB5ClmzkCgWSqFtdeoQCKAD2gfCgEjfmrUdqxjzhZugt+euPxgJiOXKqq5UJDY0hGtZbbRb6VdHR6l5C8XkyiJAxLmiKQUDWbMVyxuwgqyEuyK692JQW9gtIVtWsFSfr5Eht7s5RoAWYmq6hlE/FcpRILG/OyO97Pk1852KBbCqvheoeXDwOKrkKHI0TTNjRbSr+7LHdLrOz1D6j/KXJIGosw1eRH2dfkT9lgqLdKT17cnJjUMg48O2ORILAV3FVF4rYVAT3SE1uz1GsLSxqoyVB3eTsUNZMqE/WTdiEk2xodeq8WTl8k+41RxnNo1PbQGhVfHWKmu4C1NC+ouEW4tYMoIAs0pYXbMS3hflVnQ3Y1Y4XG4fD958CWWliGRLDPLS9t5aZ5JGBYlRjj5g4+UL8mRUTQxXwKILEkL+J8kkrmB5KkdCXGZ35WWOKnBaBZibCouv8bAIAAxKi2698zyQIsJjDye5Za6jXQ/X7+Tbb6+Q6l5qNyRDH2xwLgzA2aG22KQUBZtvPkdc/kmaFY4V9tT8iQSx1QCILpiPLeQL2u79N9OB5BjSP3JJrOyOxL+UhDFVBJoKNKoPR9Og4oRGRZWMRu17crH19KN7JHb+unP8AJmRUm7UY5laRBZqlxst8SF/AVoMej/4V6NwY+Zypo42lJwdrtifPtg/1ZDiK1V7YjGz16r/qU8kQ8P0t3EbM8nJ5JTDLI5CGLKqWqMjntC1b5GujyJeNCZ+RystHW3IUrvEeMjrZDV4Au64nqE/K48o/jwwcZVByYs8z67ECKAttSglixALfHKuub69DwoOPHxvaPLxKBiDJiybknYG86cgRrXe1ANhl1BzjCk3qE0ryTTMHMkrgyyysxolmBVBdfRVB8QSL6VxNFx/eRGstKdkkgLdtZtiR8ASFGVkE66lIMsasCPdF0muz5Y50Wr/CAE1bnEdcEIkHuA4bIJUKoXMDsRmPmsQTZpQSxJ7evVZREIVjlJZj2UcrBBpgNDBRbZf5AGz1KxESIrmWRzaqdImsVGKjeK90jAE2wW1316N6ZJNCk0+ZYquifbRdasL3E1XYN0e51yrr1SLh8LjBpCuZplUUCBWCsSThHoEgnJzRNga6LcUoTxuNt3TKYqPBIAxL7LFQRH2ntGdb6lbk8j2eMCYOOIgZQpOKi8BGgUbH0XYkkhq2x6jaPgpyGW0LZRxkC2xH9vyO9Dt0N2evfk5UBDE+3TBjnspe7K2ApJxoNsswJvpYM1+KRjxl2qFXwdkqPj/mr1uuv5Eft+1x4lMcS0JLqO8aqMaz8m2+28D8uvVeTEOJCseMh9xVxVbUudkADtNUScjj9kk769H4E0gaZ4yXdWORUjztiTo4qg+IxHcVAJOpuHamGJVUNQcsy5fbUa3ZJaRvxJ/FgoJ9uHgwEsoILErQr/pF/ZYt+AGWlDlNp1FxpJ4VmaJxArMCToysPwQbJGgD4Gm+geuFCw5aTugWJAKA8k3+y1X57myA/EL16pyZuTx3h4/HC8cipHDe2hvxGt1oqACVVnYWQEF9K8EEkfFTAEWZCg0HPgDVliSa2BWlXyeuNwePPO/ImOKR3iGctut/2qPoN8fu6FDrlzxtEIIyDkaru7gN7rwuX7rKjXaLPOdjNBwOHGDkc5SgxBN+TVvRN1tRQv769M4x4/KEzHJlN5fgHVQtCt4JYvEkmlG/PUh5jvLKiSlrpHaoxiBY3s02mYCvl3aPXE4/JTKQ3JJiBWqA8k25oWTdg6GySWrqeCSREifuZ27h3dsdA14WsyTugSN7teo4jxfTkRcEy/Z+TMaVBXhaW8V80FB+R6l57rzDBEgnkOJOe8TsZsPiNDsUKaFd+j16hNzJCzvFCcVtdGstC2YkXsqKHgAKvc2uNFyEgkaVQJHGgMQQtX4qk8aBzYH+031xElLIP46juOVDwv8A1MwA8D9Y2R2sfCSxcfgGT209yl9x2YtiDeqWsdeFHcVrxlXUnNl9lI4v6KY5PioQn6FkVur0ukGr/fO5Er8uJFf+k1nI7BKaZl/uomg21sWA1DrnRvIiR+37Ko2dj/dexiNWApP/AFNrZ0AeuVyVhjixkZT9Yf8AH91fE+dDuvLx5lSWSKOWWZywYS4MSAPxiBB2T991L8jWuuXzkTkxJG7Ssn++69q5AfAOe6rP9RiQT40D16lz2m5KpFWI+owe8+CbxtlXwKU6/IltInI5UHaXvMRs4JOESJR+yq/YAz15NkV1xoRFG3ETPWmAB0Ds5H68+TZByLFSOuP6ZJzgfdBjgjjLhBeTfil3v/IoA/56/p8NUjgXBFFAswyft/ZsjyS2K0MgMiwvqPmNM0n9UMiduWLYl/FJ+bKlnYrI6Qm764bRccqXfKbM+dlWI7QqHtBS7LMDRYABaJ65YVYrD4tLRLyEeW+6G3c+Bk1EmgH7qXjRcD0v3pZPkB/uEDORj2hmfZAq8QO8jsUUpLpLyQCSGJkF2Qao3WyF80ANqhvXaL5jGHjxLIxCsPCjTGhdM1ALoZyEWccVB8dcfhAySyv7skkxoSODiocd2C+SQn32hQRlIPHXIXicWMSCNmcIVjAH2B2n/wB33ZOKXoZd3XpkF+7M0AUyUMzixpf0TloPXxpLH2R1yeP/ACOQOKlrSjIXVG/ys/8AuNEHJjm166i40fpqSPGA8iONmiikDQ+smTwqKGYMSzEN1LNzuXK80jyso7axKpf+QKJrz7aKPxBxFk8CBOLCjTodH3XViBS1eT1q8RpQGO6B11LzJvXedyefy29xILi4fGXEcfh8WM/0441NxhnVAztgzOwyZjodBM2jMrYXcmIbyd42W2QNkfk1BioWuh6ZN6gUuhAtFQ0hCn6Ut4L/AGx2B8tix1xvS04/AYOUSKi/9utBSzaoMBZAs7AXuN9cspyeSzCqVnjhVaVQDY8Dy1b7rr/7fR9Ij5QhDsF48RUmicVWNay/y5bSUFFmxk2+uLwuM7RxKmMYUgk1k3+An6A2cqJOIv5Hrnxwr2wRqvtMuLMxexQLs7UPcO8Aq0ilm399e5BL/wCWXlL2C2oKe/5MWokfZJ2ALUHI9eqf+W4cMypcs8hGUlFhHGtCrPyv434JU1SAdekLFklRB5SmTyEZKv8AgGrYgnwoFV3MCSeuIzycVwtKA2922Pyba9q2O0AMx2TquvV1m5RSSWRCkRLLDQVSfCjH8zqvoVd2AeoU5bMoZ1QYlwqC2Vbtq8d8mNGRsVC9qZDp+XyI5k4wDGwhYn7I0MqtqyvFF2QorWxP/XonYxKKAbJc0LbG1UsSKUMf2TWuv4nt8fCMWSRRrV+CwBrKu4KzUqj/AG1/I8lJQzQpbMm3JN2zf3HQXelRN/K/HQjKQxQreR7W/Jix1vXc9fQ7VvEKtMxKRxLIhbOZWxSMAuVZsQcmHaoVPPd9boDEv6vJBximQjQA5EAWy+cVHi2bFfBAUVRyJ6/mySwsRI4Lu1sm2CtpqqgCaEakkFj8QAehnP7S5GlYYhiuICMLZqDEqL+9E/5N9Pz4v/D1iKGQxJZAuyCdD6AL6LEnwW7QnXE9Q/lyuzLjDDGaVdA0aBOwAgOgA1H9lmw69U9aJ4i8Xjq8YOssassQD/aWeTQJ7qSxgB1wOMpm91w8zV8bIBIrVL3Y/wBx7Q7tjsLXTRsgEVCPIqHpfiqi20PCgkitFsT9XZ47ykUsiIb1Wytay1+tkUuyvxBA6kj4/HdqVmdlUgse582CggD+8gKvyHtqdUeuGvGhijyjMrlcjXxX73e3PkkkYD8QK6k9ek5DNLFx+wlljVTkfbDEZs390httAfvWuovVJkRloJae5K5IskHSXulF73vXnz1yP9UPC6wwQNzeUzntLYQqznRYC5JD+ZGstZPVgcv1T1Tm8uJuZyyuCnCCB2SKIk4hUF2zNRDP5pTvHXXBcxoeRQYumA2S3uEW70LN40qj7sC0XzyI2PGWeWa5ndQIxWKNl2qxyxXAWxH/AGCW19R5ceNv6jeLyd8cl+3Ir3CGa6+FjLHW+uLNyJ+e1MWWyADliPy39feUnkaxs0FJeZI242aOWIkINgXf5H+5zoVkwGkQDfXB4bzQ+5ynBsDQ7VCj/BtzXnJ6pAMUUt1K68r12ZVxEHCBijWqAC0WJ/bM3ksxoaxGx1zZu7YGLtiWJpQv+T+RbZIGyL/Y6cIw9zA5RqWth8R8vJ0rFVsgAlR8n8Dr1Mu8CMzAWKxTQH+BsUAPLXm7MSQfAO3YRMufgEnwf34/G9Yjz8d76g9OSEZt/UmkT5SCid+assEGqXWq2N9CuLwIo4gDNKwY0tMbO/F4rqgMhZ8lq640/wDFWUsqySMncbOIJOxY2zfiMMt+4bVQT1xuXyX47sPbjyta8E/VkLpIwSwHys5WGbY9R9+aVBHIqxUV90aurvE7yIqyIz+lsX16VwZDC8MCYHKvdcksL870A1XZyyZy30B0OEY+UFyDNekU5MWvAZGgPkfiKogCtdN6Sk3N4yznsiwBVCNMBRUf5FdzliciQAuz1/rfFYfTY4Qwjjlb+mpFlhGFW/0Szfu6+9dQcYI7zzvKDGbxVzjkR8V8Xj4197Yqvnj8zkNM8pld4/ESyG1r9LkfjdbJUEAk5eDL6uRj/IkEaCgWjiIGK1YBbEWx0XrKyMFodcvmtyUT+FjLoeVEYCjflgTbnbUAQuyBY6jm5iRe5NIixwgO2A7e28QGZhZeSgrfSr2ot74DySTvMqhQEvOjZc+SvhjgO4yHuvGio31hzDxpXyVFNIKFGjvR8k0f2q7JydrPTQHiQKgYNJWbAfjf46/I/wDIoEGx56n5fKnAiOHtyZK9av3AVLE/ZrtjHxVVvfnrkCL06MwRwhnY0AoAiTx3tr+ox7Qmxkf7gvXpnF93l1IpZmwTKs2GWyqXrKhsL4Oj1yfYgcxquCRY5sTfcq/m/wB40Asafodq5E9ep+sHmZ8aPkSlaa2u+2qL4r2ooFrHZsLjS5HXEQs645qsWQDEdxZ2/FfFgDxZo1fXuCOH2lEjkCybGEf7JYUtqNdtAEbYm+vRXaUyu6si0dgfgP1+7+IJ25JxXDrlcd+SZmv24w4zLV/9it3X/wBj58V+um4sHEiPcTflmACi9ljqsnb4KbONE7YDrmzQ8wQyyAtBxkCxRKlJmT5YC/JxLGt0iLQyPXp0/GeWISFVhQMCiAXK6riiqLIYZHFfmCfckOj1y/Vkhg/j8fFuRMToWUhiNAk/3FUobpSxA3sdMVkMlzWb2fqh3GvskgVZFUR8V6TlQcT3ZHbMpRAZiFL3ewKvuw/eh8nNgcfkT+ocz3zL7XHw/wDbmaqv7iD/AGKp80z3fXHlgSOOCKK3SmaUjJlvyd2okcmlAHYoJ+sgyy8qbkc3ncj2oAzCCD3cf6S7U4AjtChLJLFia1fXA5Mc3NllCMvGDqI8xWQQD6FX4F1eyf8AJ6bnQRSD+joKQhoA0e4sPKqXBP8Ac3fr665AeWSKKLtykMkrHaAFv+Rnv6stIV329T8TiRt3yGYhlMhYgqAn46Bvv/8ATjWi2yQAOuR/CjgSNVCjJToVsg9zEnzVtsnEHICx1yuXxoo4o4BTS6zGj57mX/8AgjCkhe4/iT0/9LgzuZFRpaPnJ/GhZulRf+7G2xFgdelQsYHMbBEZ17nJ/qN5t2PcVQEuwvel7Ro85smiigxlYviZDZ0NsSRpQBbMAV+ha6B40PIcwxcYKAVBeTEaDG6jQeXKjb6VF0K+TNx3/kF55aRTsFgPiPhQ7QFAJYYkKBjTsa69T9SWMmJJF0VyA/z5BJr9qpHgM1YllIHE4bSNHyHPuGQiu0sXKbLb8iyEjvsVVvGtdcvP2eRm2NwOl6NCsKRQcd2V8NbMddh6yihgRKrtOCKcdXiLftALbLMAAqGgf3zedIySRxEg9gCoD8Nt91piBbEgyHQ7AeuKvIjjfm5nIhwrMSxLG+7QC0zX9N2qxvrgcSQQnkHLkTvvJvipbQAvQu+5vNXWtdIeRFxhxUyMj0PcArJyLbHQYDMiqApUsr99cPgPj3udLkt5Hvr8f19lyT2j8b6JhTjlTlPK7U5+K9mgCxB1dkgC9b/EdcSRmdv4uPuOzd1/S+W/ZXL/AKsT5pjQ643p8iKJp1MjYW58M2Iqh/8ATjLGroE71qx6ZB7kRkKKqombO5IRfzLBd9o1vQAvdC+pvVOInqPqMkNSw/yZWWQntnCH5ft0ZwzdqkNevodceV+Y2csNqJLF9u/JON6/QyJbVBVGR6l9TWVZY044jiiVgw1b0f8Aj/1Hr/Lf+0V16nzuRKzqUYLkdliQL0U0QC26xsDwuP74ix8OMSsh96UkrYDOxP0APio8vIxCqvamzfUnOEJjpZJ5ZFokmh+6VdAWd7qkANnVjmc2aXI9i9qoka3VaG/8fQBFkdxokGKKczRxyA0wyaye1AdAeGkbBKGgNljSbJgWPiW0LRo/9RmZzZA/9oGI/Ee3qu3eW+O3Hl5Rkclo4O0gCrN5e1GPNDQY7uvBvrjSzvkYoAsa9g8JGprJj/nHQvK/+56ihf3TyK7k+BckbN3KY1AbQ/21oYhhj9v1wY2xSWTf2tlVFeA5onFb+CgsW83Qo/6wbGDh+0q65Jkkl1S6AFMaGbFgAb7Vs/QHXqPPeXmfxVltAbcgiqqyL0uvBCqST5Y9ceD/AG5/cpBWCs2iw+zdWq0WZvjkQFoUpl9PnwDyzd8gtC/lYx3GTu+IZzp2ApF1uh16XwmLVgzefkpPbWmK9xOxmcsXZ/8AgdMkcEcyMHdvcbHI3jQADMoy2oFKLcqSaII64XKi4vGooqu40pxOKqLMkzf892I8E15rrl+sf+XJhg90+4iLGSdsT/uSY/s2cbF7LN1PLy5TU3sxriZHwvERqN/oYCqH4k+L6j5ftoJygdf/AEgWFk+AQBrxW8qGX2xvqVJeXHICtSFwwK3WWzgp+ZVV+WItt2VAvrgcl4uSqxsFMeQeTQNnt7auq7tlmOrBC436rOeaWjDFYh/aljC/iN27NQv8f7nPXF4jCMzY+2jkAM3acNnVV9bysWWSr11x44kPHyhSqqNSAAQnl8f/AKan/nMgZHtPXLuXkRwK0cSk23jLACwoFH/Hx1flgddcTgiNLWZKZyLJP4jHV+dhr+vkSaFdeoRCJouNE3uPbSkL9FvyJvyTu/AH3Wg0IZkl5c6lQT7ECbyNVYoE0AKzHmyctdcdW5EDQkZGRmax2qXyOAyv4J94kJeyaQA8Hi8bjceWSeZc17WYuFVQx2BVbdATtmPtkCu4Eeqer8ON8YmWSRyYwkfxRQK7sRvEWSFyClv8demSyciWl41La0TVnY/dooVEGvF7caA65npjH1WWF2lEWKS9u9y/AAsCzSPt/Hgr9EDqHicTgcc8iQqzgskQvKj8dfMsVogEf5bXjrhrIYvecMqyfFSuOv7j/kgUAfCj/J69QjgQ403uz+ZAubhF8hfpaHgDHdbAFHiR8aHUa+5vuPaxLn8S141GuggyGWbOTjXXqbcqTlrGq4LkCEXuZ2ys5mqq1UAXj2knx0sBHHEpYtMjLmxukUaxH/Wx0B5VLPbYHU7RoHeVqjGNRouTE1aqx8BjWRXZrzs9EtyViKxE2TlelA+xmfC//UZBbBSoIB6Xhzcj1COICNVADE6LFbtmeRrCr+KqN1fao8+pNCHHDzaZwxMnkLbXWQ0BexHGbb21BxXKj6ZEpOLjtSMrh95nchxsBQq0lkWDrZ65CS8nnJDFH2ggFEoIgyJcud6BHd/cVC9e5LHx0jhmWItqaQEHBFpQMzWTkCgFFf8A5T6xMvF4yRwe5LM1l2ezZY1ZPhUBH2a/SXfTcSWTkR3kcjFmT4XA5G/P+WZf32kg5Vx2w9okBikYdtWFvwK+vBP9vYAqOevU5pf5HJSR3aZwntQKAEiRh2qFB8L5aRq2SSTQXrkcMqOO0jMxYWQB9f8Ax9gdoHgUWYX0ONI7zuT2u5FBhj8e4nHWKRjBe7x+VHqReTNCkMaKsIcZYgfkRomsQFQWf38QpUEt6R6dNPxY0rGMd9aFr+OX/J33l3b6CC+isCTTJGEMqr7bTZA0ostiW/G8izaVns9wA6WRViVV9sHEe65IZkjw7EF0l42QDaoWLG/j16mgk4sojAX3WVY2JoMdAlf/AFJFUE0TSXRAvt69H43H9P4xkfkQxM+5Z5THGqsdpGpY2MRXbnd42tKevV/9fekek8douGr+rzkjGsouNJIe0O8rDNoV/BI46lNnILvr1D/Wv+ofVuH/AAEig4PEnx95eMjCSceMGdm/27yLGgtA5M1gdCR43NroePIQ78l/yAI/FWyI0OuNyeV/HhwjYRk3pSgfE0t3vFqsKWOtsLJqWflI/tayko4gA+drs2D50CWvzvyH4EhDTzOvY3aDeK02scvJLG2kI/8AZ/jn8kZVmTioOI0Aq/G95YgfQXEtd31x+O80K8ltYY6K+CwBC1eORJHaaAoWb11H6YU44leVnnOIUFiwU+RY0q/9EaqTQs6Nn0n0iEYyzTFpT/uMwJ7VPf52bbtCgW2JAwAvr1GX3HdRmYk0g0WYrq/1l+I+k/Y2evTk9n35pIMWvtBs+2rdqAt5ZjZak1l9N8hweKh4nthijMVV2qn7t4hvK2ScitEChkMT1zZeBxCvFiYMSxaUjdnH7obB3/ivzfrhB+bIoLMOPG64JdZsBWRG8ySaGZISNbpQAOv/ANIVcT0mFYrfmc3kxxxX/wCmq28kq5AsSFART3jOTs2BXF4nIk5bVDmVQdzgkf8AVomj+u4mya+mPXB9K5bxxT8plWISgolgZkbBPgYrWQC0oADeaHUnEV0ieUrSrbWxCkmsSxPc7fdGgulVWOzwOyWUhMUK4qPj5FDXmz3ue3QH2T1zOWFi5IaMkD+miRr3Mxb8mF0KBtQL+r0x6gM3LVTJxTGsKGTBTQFWy+6xJ3YyPggITrXUvKVPTZDxRkxe2fEvskAf+4nzWVY5d3k9CDl8tFaUyvk2/dJp2/bKoIYJ/wB0T4i66h4MnIaONpPbWKiFC4gKNlrO2bXnb3WK9tqqxw++VmLuFcWSoC2hoL4Cqv2zEsT/AMdemcWEySOpzpGLMSaZyLr67Qa7fgAFyYsa6jj4kaymWnchlQZWTXYtA6VcsmsgK3nagDr2BOwjVaHuZGhma/dvQugAtihtsVAHT8OLj8YTy4lwgtmIsr+KLrwaI7QARQUMWYiOCNpv5kjmSWS2xqvvXn4oNAWLbdDHqaSjDAI8I60PAa9s7saMhr7+AyCgHY69T5ih6gA/EEg2Xq9sxIUKT2igA28L317sqwiSx7mJ7iPiPBx8fVAEsorZPhDPyooAI4X/AKgVc8dkEi6Zz2oqDukIH1ioAG+bIzRjFyzOdfZAbuZwDZyrycfJtjVL01ycxYUIBYhHk8hVu33u6HkLV/EAseo4JOJUcRcEoqlzoqGIZq/tOIN7yybubddZTyyO6hh7dq8zA2f78P0QMUaRu4Dsio76EkBEUToaSiC3xpdFj+912jybX4+eR6zxV9p5u3jxEJFEFyaQqv6rd1bkhYxZv9dS+oP6nyuTNk7F5PbhQUscUR0EWrNV3SEDu35uunYcTiQ9je6SWX3FNBV+/bGNZEA7x1onyOuPzDJchZnlKkGT+0ta61rFQ1YgfoE7fpZYU4irLLHGMQX9xguIJttDZ1a0gJdu3ZJPUsn8/mMO+Php7iwRLUfbffJISe1nCktQOCUtiuuIZOU3tccBIkHbvWhin0CR9gH5k1kRfX8KPg3LJJnK0Wo0csbHjJtAsW23lf8AJGuoIZJOTJKkWeLF2dT2i9C530uRBtlrKmCD764XElERK1nPgt6UABrNflRf/jW/vqWL2H/jRYmR/m4vEBRrQtmFd7HsFH5EsevT4QYpC7uQKBPhmItyf6fd4BxQMBVksoKg+qNEkSkKMsgx1lR8DI7GSDIgWccb/Vwt7mVhhidk1dnYShpcRViyUvuyfLrgLG6RyysQjvYVhon6OGgbCj5FqT5kWFPrLcn/AMSdeHWUgHuztEJDjH8jkwwA+tdgY15xHXG4kssj/wAiafkSuGLlyf8AsiIPCnShFK2KGgK65UnGilaCU0UyyxohaALdo0zKPOXaGq8qUdcGVOW2CEwQJQAYLYB8s27JokV+zbGz0vqIg9OKcZBltFkc/ZAXILQs/oY0oUdpAIPuCJy8kv8Au+foXfaP14ChQTmxORA3UXJuVwpLE+K8KK/qNkRf+AQMiSNheuUOXNHjrK/kSTS7r/PgntF5dvdtum9N5HIMjzckUh8M4YR5DuCqNF8DRrwWxUCq65SonLjhUrJIZND9N4s/lSWBbGstKFAAPGjUF1kMdqgJAGQRVGKoT9u2zuvtjS9Ys85ZI/cGWnegtADaqfIUGk+e8ToWehLM8QQIEWNQuepH7zXb9BiLxPkfs9cbixzTNOzd+Xk/XbQVD4Wh5cAMKY9xpuvWvT2aX+Hx3VLGbsT3BQt/5Cs3n8mC9xYk9f8AgycdXpkZ3ydn+zrt7ntjV+fHy+8iONw3PBjwjGKFD4IQZfkWamPbQBABJYkZM4pOBLfHAZSch5FAMa8Jrf8AxbUCPu+ql4szLlEzmPtW1/p/gpJ+vugK7mIRDs9cThSNLJyOZIhwUCOJVyC2dAJrNhod2K55dtBm6f3p+Tgie2gJK2fEY0HIFDJzu6PaF3uuuBwuS3FHbgqgYprI+SZJD9Gsci51dDqT0oryXn5OAQe4QL1ZxQE+LP6XZH2t11x5o4I1hhjtwBk66VLs/jVvj+JcBbVSRsdf65B/j8FjefuMx+2CFaNfZP4J/wBTXR6ilfjR5A/1JTcjFrWIX915wXQUMBkax0euNOZBDAvuvI1N/wAZf3MbxGRUbsmmAGIA6HFjKK8nuZI6oqnWgLN3pMu3Z7683uuSjKQ0Xx+KlLC9y0CWoa+TBRZPkjr2IyuCjFIULuzWC7nQ/bEmi1CzsDt3XuB+PyoFNCeLBiqeBekFnS4J3ElF8lj564UQaB0kfFRfZeJ2bLE/MkrpTSZFgFtR1DyI4kaSSljijpIo9hfADP5yOwFX7PlTs9cebjjkycif3wrQuUU/OQ/k1buyQqA60aAAN4e5DyuVKoiWSSRk44ckpGKTF2FlpX+BAFjuF0OooOVFED2rvSAgKAoytyTSjM/YyPaBs9cL0+Z5/cmcy/L8isf/AFkXjoUbbsVQGZmPR5fDLSw8U3TqjSKppqrIj8mH0oP94/6uuZM/KLM0rqi2U/PyMcgF7SQqlUx/wASMm69K4sMMbS8uQqsdsVcW7EU1NZrZ0ci4/eIFdSc3+VyZpwwcxn8qNa7QxHaAoomrGTBVAqupnD0xe7PkH5G6OAsa1TTO++7EVQ65PKf3FhjkUZSBR5IFVkxqrr/ORs0ppb6ThRrAS7hmLM+LeD9JaaLFvoEKtW3hb6HCnkhnykUd2lH2SQcpmsA/RwGf0N669I4gX1BW7XKS/eOsPDPdIi5mwlA2NqaA6XjSz8lARioCZHebSscjbtVMEAZrwEYIpPrpouLAERsCqrZVKC/s5ttiSScUjAY1kevUPUuPNy8Igre0MMEIXFRZ3Q7VAtiXP/ezfUix8pFVhiPcN7NAVQHjubz9hQDbV469K/8ADoQ/8eAyP3DM/ky6Lmr7L8C2tQiAb69R5Ms0v9R1SCIlW1UahbPcxNMQbcouVv8AImq69PVPYZVAGYJQlSCEoUEj+TOwHk1r/BppOG3K5KIxC04Zj+sbxUE6sAZGltQMjZIB/jiL3GjXtU4KcfwGy5yusiKQUKUaGTHrijkRlCA0QksqcR7jZYpYva9vxPaTY3VjrlrXHkZQZHVaLkllyYkYDQWkG2YnZDAAX16UkjQS7Qkv8n70BUUMVHaaojKyPpbW+uP7TJHk/YBbSUBYHkqBoA0FQd1C2IvXT58jnEx5R8f4LYxzL7Z2ui2qCqbJ0LWseuYG4fBWJLUtS1pLyYMVLWHOVAzMoApMFsWemlEscUNK7tiBio/egortQDdUjPeTdOnFEkcIQgD7qgzHyQg7iqjJizfu9swpU4g9qR+2OI2F0Kuiv/2WKqT4C/b0N87nwNy+QVKs4RFTjxWWVfCK8h7YtdxGVi7KluuZ6i/A4PIxYLPPLh/Sq1jumCkbAY9uRJd/8JfRb3ZHmlV/bq6HxAJFD6VmY4i2IH31wZGSTsXDM0ufgUKBOXzkZmsAKwFknx1JzTDC6+6HNMg8b/Jyo7zVA91qMbPxIHS8tnCyzSBnJuNF7mUMPI2aYjS7GKm73XXp8szyKQgRQcFHbsqLJxHyN+C5ys5Fbrr1v1FeL/RqR5pge3Iqq2e55WHe3/tHnYN2R0qvLEFSR1yTKTG1tnbYsAUa8jRH2RXXA9PjSf3XLtI0hqS1Cps7Sz9AnCvyo5Ejr+PxljauPKWH7LV/3A2f+Ns1HY64XpmcfvSAQximYUC2zdE3Rcj676LD76lf0/icfuBdzkqKO9i7efGKXs5MD2LYLrZ6SWOGES+1bdrIgF7uwBWK4jFfHmtM130kc/N5Mk/tlFIKvI7izm2wTpVFL3gZGlrwNtx4I5rYtMC6g1TFzjYG7sfFQpFfvWuhynh40iCP25SRTOwZw+97GKsB4UKzLdkADriScn+O0h91mwOLElSRsA5N/Up2s9qRlzv4764y+0snK5MjtIWFUSFUKvakYP8AlrLnJ68Lfd16byXmW8XHuMTskmtgFiScVC5Vduxb6sr16XxWf1RjiThHn3bAZviz32D79tf0LUDx1jKvH/iJMQ7UZpAR2gnLEftt/EZb8i+uX6VFISzsSRjgGazrS1erv/FZnKiekk4ycvsTJYFNmgUzUBR3Nf3WkUN9Xd1/qyR5OBJy5UICTRKCy+AThHGiD/O2AsFtMO0np3WPjln+dgxirofVCwNf3En/ANi6HX+nGWSOJjSFiTk2jiu7yAvxbHFVA8sx8mTmRyclz7i+3FeKIpABIFlix+RJ/wDuiQarrm+rTZgrIcRaxoO2zodv2v6LsSQt6DPXXDCpE0vMYH3RlivYG+qyNkL/AJ73OQHbXXL9SihBZIc41LEKq4qaHaBd4qAA2TZuRvtJF8bn8nmSTzMjopa8U7I1LaVbALFlAtyLNjHdFuofceOKhhEJS8mZ/tvAuDkb0WVW8fQJJ6S8mlNs+JKtISxJ/DL7Chj8RVa8HXRPZ7GX9GJUDEruWViWLEDdZk4pfjyRvqWf3BXue0oIUFtYhashU/M/48HZIrrlycjkxxcLhZ4SFEmkW1ab9RBvKw/340Xsj/mP0vh+nQMk00fuN8lFb7u4eSSLBDV52t76ZwqSvCHb2lEjSybQWRjoGjsKcRlpVQYoKZmfkKhf3CjuSMyQGA+UhC7Y7CqFIt2bYGPViGUxqnZi0mOlSyRZP3rtW92xOr6fjTYyPIQtBmq8N46yY/BEHj+1QcQpJPUpxUGA07e2sbntXubuKZd5y27sTeOIvqDlNNyplrFFZvjZZ3H/ADpY4xQAFAt/d1AJRG5MbKGev7mOR+2+r/XbYHiuuHfE5OCRN7kpXurZJNKFP1ZoLgDiNot7GDosGSMC6hS/xULkDJ7YLbMh7S7dxG2br1j1CRpfZg1QMeTf9WtLe7OzesV7h1HwpOKufuW8pLZMygAa+KUCWY13fVBE3dcfhM+TyyZhPl9+TvInwD8QoOb2oPlupIH43HighkZZeXN/Vk0pRMSzhPJB/AULUfEZePUXEnN/jcSBpo42EZbf9R0A9wjI5EZgi7A7fifA9K9O5E4R5v6YWO3AJFk+F7KOv1Y8XR0ev4Qj5OTdi0y21DVZP90oH9qNkcQpsDqdxLMUgQ+2sgC+aZgPpRWQyNX5ZlpQACQkbRxM4hzZFAaQtRHktTHYyPauxoM9EBejC03p6lgqNPiFjFkABtf8KBbtV6C3kTfXLiaD0+RFPtwqmTydoaXGslUfFRVLkbxBIVbs9TclXmhiWaSiys491iXr8FFgYX5Ygg40qkb6nSThScSZTkZaMhLClcD45HSBbJJrXaqBjZ65E8vIk/qHIV2qgpSK7aJ3iK8mwasrs9cT2IsKi/qDTSZEkZCmbXxFWF+LNTYr99czkcaCd6pSo7xZeagLWMgeJG0WXJVj0HshuuR6nPIiIhEK3kzbbAXZ2QE0MRemkcIq9o64XtrLLt3tu+T5P5NtZpQ7tmRoBe07NHr1dJ+S6xxdqZEKu8nINH/hQSReyQD++uVEnC4qdqzSnWR+KYDvcA/jHsX+T6v8euA0MkqH2C8iqWZq9z272ABqNWa/tix3teuTHBPMIQSMx30c8VPcwLAUxOs8SqsQq7Wul4XAiYBBsjVm3IXy3+BYJJ8a8mr6ihaKP+TGyxqkBEY8HuPkXRTOttYJ/Z6n9G5HImbkTtadpVADvxQbwLa7LOe0aVRsmaAQcPIxqM7UNodgFL7YPgH8O3x3BQT0PeQQFFCO7pXbiEjBORH5bNLm5LPi1aPUHFlkCRl+1qDjxlfgM3nxZYD6yCrq+paRfbC3FH2ndFiG7qC7FtoUcgFq7xrk+5yufHA1JGHU+wmv+Fc6UAHyLevHceuSvIll9uGVUhRTm4XsFfVmrs153iFBFsR1fs8Ip7wO/wBgAkfbt+t/EbbuY4rgCQrSQ+3PkyEmxoZD6AUaN1pe/XcwAHQ9PPuqZp/K/s9v7J+hsdsalsiMmIXzyeaRAy8ciONWEatQApe3IlqyKgXd1nWyVI642fJxYszroAsSLNkkKDR3Yyc45E6FKB1/p703+TP/AF5UTj8dbxHam9KCSFUmgxofWrq75fIhg5cggYZF7xW2K2Ais57bc32j/FDXUTJGpmlNJ7bZb89oNAr5J0DgPv8AHV8z1FuyOOozJbyu2KkIaCACy6oBr8RV7vpOSIJyQchkP6jYqWAu8F0I1LNok2B9L9/6wn//AGGzTkCF+VxxEi3/AF5hbBASFzCKcmIpdfj3MR7/ADiSkYjj01/lVBVC2NsbpSRiMmKg/Lr0+SLicZQ2mZWtrvAby+9sfHkAWoy/ELyooVnMURLHwW/GzXuOT8Wejgvzo3q9pE5jEksJDyYlQvzxyAXyCQX/ABGqstrz1HxDyeOGMLLGowWvk+Ou3ZOOZ1vKRgCdK1+qwexwZrjEZ9yKPRvY2Y1OrwGOdD5bfdV6NDUMmZ85aQVryxvyABimbuvlqGz1MFj48aABFN4rkQWGsiAoGiSAW0W1ba3FE0yxIpZ1XyEVQmV18fAC7C5u0huzGbvp45xyJ4tRxRG2sW7MtAAsce9rP12j8d9CNDOnuR5a9wAAV3Gl/wAee7YP/wAk9cozvNJjyDxYQaQIcMYkGJJcU7PJsnFgapaGQXqD035SmTQ37k1nz4LXbMQfCdvd2DwejxSy+2TMyMyWraDfStLXyYmiqZFUUAAUL6M0UsgRMYoYjiXbZZQPJ3pMRYAxssvdvr1Hnnj8lXVcwFBUAYgBrwyxxqktgibAbbFm65vqHLnjVWQqjm3VQcmVfIcqLGW+xVv4g3s9GYpJF2d7SIpFdwUd2KjuwRdl2PczHZHXpvCXkcqZvdwiSViTTd+7Pb9INfOvKg2bqaLhcbiiQOzhdRjQ9yT7etkhTkQfFgHwBXp6Qycr+bMXxhOVCizmvig/7gf4ABckUOuT6tJK5lW0b26iFhmXMkaO6AGIyGOu1flXXE9PkZ8+VIqGVMiKzaOO8vJss5QbCjeR8Cz16gFzMuD4wxgKMQO+go2QQMSf0e7Q64BpQ3IDgM2SoGrSnz/cFF1kFyYlscddc0T8jIx5wLFa5Cg4LVpdE+4V21f7amq+TNxeBDxIvc9wK0lgvI1tgPmctsxbfYmq0x8jr+enGgjbORiTQHcq1YAFWCSxPxUIBXkWSJpHmeeuQTZ75LsBGIJFigF+ljVtooH2T1/UhlDRuAFRnxbHNrFJYFBbH0LoFvALP03O5Jj9uXEKWt29wnwP7RQvfxVbNqvgX1/4tOzrEsskcakqoRLJJb/75mN7ZqGJrQVep+Ry+bOkJMrwo1H3GNOynIoqLiPlWbEkAKfHXG4xh5HvSopVQS3xFk/Fb0LJ/XhQTrXU/Ib1QpCqKojYYuCAuMS5SHI3qx5/RoXdjh8WIuHmlkrLuQZOz4/3E7OX0Cfv6XXXL5Pss0XHqPXuvK4FxreKiNdD3HYCtGh4ztj0ZkhUKO52LZuzAtZP7O82Nk0C3/tA6E0Z06E4kEUPH/VZoMwHiu1dWMr6HJRFT2okiZ3ryHcZf5+IOI3iPP62evUOR3d0wju/kfil+WC9z6BYgnHuF3465aGSOKKOfMs0Yd22e62WMKO1folBvQvrjQNxOIE0bDGQk/od5YjuLGsSRSjaA4rR95b/AKSCSQHHxpvBbEKKrIKmsqRCLs9cPizrk8gEkrJQH9zsf9uMdxahQYqCFGrOx1/D5S8VX5AAaQ9sYBJAC4ghdDQurxq1Nb69WYrDx4i4XMEtWxo+AF+Rv5MSbOWzY6An5MiKgz9tMlsBVU0Vvfj9KWJZjsUuuouLIOQsksYwiApV2LXtRfBzYkFtWWxJ146/lzBshGwZwcVXb4k4oli8XbbsQaUA+T1MzcLhe9PptN8iWu7WNEAOKgk/LzTMQT1xEnl5cnJKMMtKPk4F+WZiwzJOl7sf7PLdcjjH+E7udK6grGcrqv6anxo6LHLJhYVRQLcWWTipcYSxq/N3YVarf/BFkA+F69M9HdhHhAoj4/8AuSHsW/k3cas34rXij5PXLidpokijQ1oFQcRryo1ZxVaOhiuV7LGeP+TOnEjQe2jJlVAatVvZJunkxAsrs6azxuIj8tOLD2haUAKdftma18k230T20RvrhcCLhQu7MO1Bv9kggV4GR2bondAGuo/R+Mr/AMjkEkyOZHs2zMfggH7ti2IDH7kI+PXOlX2wiIxQ2TjQBCGxGD3dl4ISBbeKUHr/AMNM8cs01iSV7YD6Ci1vyAAd13VrwRXXI4XEjjWR5VhihH9SWRwNqdWTZLlvAGxj9bPX+qPUo/W+XAvHcn030y0Vt4Tch/8AekUfegIkY1YGSqSbKxTtLiJDFGK1iR5B/DRJGVDMklj9nXR4kgi4/FjaXJ8ciCc8hseB2qp/deLsUx64PosnK5EcIMmHuoSbOPnEbF5aBfVX9E7brkwcLjye0lt7CqCBeT0CFBb8L2zfJ8W1jYuEe/xpLl9uNayZWotRykA/GONQMKOxGKKoGo+u+uCfly8fgRl4IFwSVhl7j+ZHjU6xyIVPFne8qHC9UccZovbJK6Y32Xe7oXK/5H6GQHcNdE+8Y5ZCTYAqj+DZmybZg0leflQpK8cKaSGLGNO+mCkkJgDql8lWIDHSg1ZDDKzK5jfkGQIq5vI8l5sT9gX2qNV4Lf5vqT1zKYpDHiihUzZ9/q6+2Js47P1jSk9cXlSc2RQeIUhTuBkkayAQA7jVs3yCVS2Na6kmhje5w64DsgW+0KPk5JUA2fGqJokmx16v63ypWbjceT2v/TqFK9sN5UORmz1SsUAZqrKqHXA9K5UqgySyAUGdPpB+33QPgbf5eb6/1Jw4+H/4XAkgMk+UvIcAntDKqrugQKoatgpJUDrncuN5I4kkKRxgo19t1sgldizeQBSlBpfHXGlXkaiDMuQycRquXcKAU7/qtX+4ScB8dnrhZyOUVRiKLIoFHuL2/gUNaP3tsyVHVe6rowBKkeG39lh2gYltCrsLtrsdNI0MHsoYw8nZSUPJ7gv2qKLyYkZE5ORodek+jQQwGflBJJTi9PZRESj4AJbyAPGW6sV1x+OnM5LyyS9obuUaHYbN42aHatZBQSFvt69TEFiOMqWAyA0B47TVlmJu1Fjwuu4nr0+Jrmkz9yTMRr7YQ472kbN2DuOJk38ScvoTcHkLDgzRr7hAwW20zbtiVJ7QS8jlci+RIsY82Ex85lD5kiNFYkEYCy4ijAwr8bC0LAGVk9eoRy58WJ5A0YRcvAXOy+IPxVALyYk2XGiQF6eOSKJgntNI9YayYk0TSn4rVkmrNgHzr1J34V8ZnVudMiy8ojbRZf7MOqxxX+oy6J8yOi9cLjJRmnlL9wRFJpRssdfbMbZyT42x2Ord+S0if7Snty8udKoVNUhYnzt96wXcyzGQsGpQAoCsqLQ3WqLZub/RpdBQb9TReJw4zK5zcrS3sn/8o0WY/aq13mQB6bBKQrj3FeQGiwLytlWIWKwEjUfFSb7c2/XTxHhhp/d5Zku6BG2Y9nuSdzX5fHVaqyB1NzZFYJkA7uC58viLsl2JYb7V3kSaXd9DlQ8LjscWm5LEhAACe7SqotQB51dk0WJAc9ceDlcl2k5QkyciQop/Eio1Y9oVB5C+DV1XXJdeOY0iNGlBCKNMR/dWTGtsTiFGgD56xm5nNI9tzED+tGt2WIICismc3ZpQaXri+nJKQWyLR9xbMhYl8s3/AL3ApSfrJ/LDqUQvFBxoBlf+4e6tPTW3kgeMY6yOt76L8CCR4Ioy80YBbEbybXdjdINnHRrzJvric72mJHa7J+u8DwNiyoAqlyAUCgAT1yfWoFTkIzlpRnom1UDSr+qvyKJZgwx8VMz8j+OqxSO7bZ3H4rrfhVVTdKCVDVu16hEXAlOZz5BVAF802P2TQREH4qR+Kn7PRb4kaJQ12f3Ljmfvu7ii/wBgza8r6RwzosMJwDY+5ic2JH4VVFh+R2sZ8IOvUDxI4li//COQWUUtNGjXqNTtQb27AsTiBZO+l4fsr7/JAAIYQRDRbVsQPAVRQaSyWdxTX08U/IiiVosYg3atYR2STlj+VV8myJ+r6jhH8oe5eKg+0gv7WsjsBdf+4qG7gWIXqAmX/wAvG7RxozBqUL4FPje9nsX7pWd8j1y+OVkeVmWNN4ksL+gBvdXRIG3pQddRrInImEJY2CF3i0hZb22iF8XWIA2zM5C9enyNDKvmWd2C1H9nL68nf0fkAMj5B6k5sYiCNIWkY94Xu3QARavfyJAOIUb65XqC4IgJB+KgAWI8qLAeMna6v/LEqAK5XM5je1SKi+UzP6+Jo9zhayUDFBQIBJvpuVJ7AhJxrulOZZyfl3kay8FgLK6W+2uvXV5PN5MKyTMnF9tfY414oFAt5JPPcSVH5NrzYJ6/8Gki9PQwjABqQny2gSQo7tkhVAx+/JN9en/6dmi4p5EpDHZBbH5EVm1EImORrcjliBkMT1HxF/kRqWWkJzoeTv8Ax4oHfdZutdPIOJF7ti2PYsfaq6+2BYsaFE2fpECiz1xOIsofkSqF7WdjKcQq3eTZVjdZFmx1Z/tXr/U/+pOJBwT6Z6TPHPyJ6WWTjEezBF/9NZfiZHJtgmlG2JaqgyiH4ZgKWvufYPyLWRtjguJJb4jWXXpY43uYS44t9f8A1HZvFHQQY/5AVSQb316lyli7YkKrGLXGwxA+O/lbNVVQTwpyBYen832+FNLJKS6DGNY/t27WKHYCrTDM2TiWH0x5vOmmEcahsXbFt6Y32xhi2Ozt2Ym6bH6PW4ZVjSlJRQrkWzG6YqD3EFiAPxxH5C79GhSGF+XMVCKLzkoscfBAJ+2/KhbYrH16hO08lR4xREAFm0zt5Nas4ltnvIvyXaxxY+JHyczGAEDN7rWzf+6joOx8eSL1Z648rtHQQqth8T5zJPt5eFy8EltIFf711/q+VYoOF6hI14RnioRZLNWX9M6Au1FjYXSqSS3XL5DyYZMsKSE2Bfx0ApK0z0NsoOBf52T16caSKOGsbBYllQ+a7n8R39ha0KF11xOHBCkixxte5GOwBqkUDz/mz+WP2vSRtGWpW/3FRFC2xbfhPitm8LodvuPlQ64PpkknKj9xbt7C/Vg2d+XC6+IosQMxvqSIpxJ5WBAorZ0KsUP1k2iVska/z1xoS8CMXWGFjtnumORYYpoN++7tGrBJ69VVImecS5LR8WAdWaPk6oZmyfCKErr0GPHjSciWImOJsz/6algLWNb+KrqyRkaJY92Jl9YTlNY494N/TW2KFh4ITTSWfjkO7TFceuUHk9TjkagmAJ+JJHmTV0q/WT194q3jqdIzOZuVcvtuPZhDdoLUSz3VkKveSKUVGtKp6T1WWaZmgjWKNDrtzdj5BZqAF1kQBewMd6UR58meZS8s7gZObaSRjba8sfAC6FXfYtdCbjeww8EZKv2aunkob72ND4rXnfiSbif04smWmTLa/o45fiWpssRkcmJAAAPTTwpXtih9aF1fbV7s7bJlyOifK2Gm9QmhZoVEascR5YqG+TyNpQdu1f4F9cKXCeVqWoo2SlsKPptkZHfzby2xf116h6sxhb/bCIHOtC9D8cj/AGqQv0AhY76PI96TMmifMmNbJr+mu7f8Q7EJGBYUfccCKMoYQ8rkH3G7yo+K/Ly1AsAaC2L+l6i4GLZ8iZUGQJTzbFaT3X8vVZYDWv0Opki5PKePjMRHl3Tst+TQKjeTHwg0L+mFnpONFCCfeXBbJpS5bEUbYnHwK0u7bYHUvJ9qJo+PGWlmo2RqyuW67mOh9lVVfqwBFxzxeDG0r3M4GgtGlIOt5Hu2zHFFPgnpIP4zcvlO9WQcmqtKTjEp1ry0jLXx34J43OnUtNuUlikakn928hv72iWbAyoLeuoOHyzOkkqC5CzUVrJvqr+h3Eka7sV3oLFyWnXvFRqKxBJZieywtUAxyVbFnAAAX1xvTlMx5M7mST6U40P+a/40LH7a76PHjhiaWS5J5RkqV2qDSqtaBNUaJA+TOGVa6QcjkQSH3FRTIEBU1kWY0qvQpScmZx3MqkgItdD0+CJoXH9eRACGYdpkb+xfv9Dy/wDgfLotm78jlzJ2A9nnw+WJr8dC1utY4N0fVmnxZnQQi8QBRc+KH9zMaTt7V8KBW/Tcp5XkwUOQTl9rVLmT4VYxqNarICgKJ6h5XF40M7BcpLwUL92aoHZNClyJAyzamJrrktLzLlcOVU4ooBoAnbYivkLWPMjXcWJah7zGaUAIl3dbpSfiW/8AatUuBonENdjgMYhPyWJLC7bEUNajijWgAor72So8DfpEk3MMjt2RqLZjQrZASwMVxUeAKTZNkKOubLjO7q2ZTFBlYW0+KKPpEWiQBrIZU7deo+5HxYuRJPi8ieFBzayASoskL4RSWtt1Q6PJm9sJCpX3QVBxyOOg2I3s7yPcXZit4qeuXxSzcfkTqze2gCrltmBLOxNH4mhrS+b8L0/PYcRVjdMlNpGO8722r8k0q5Fm8k7upOT6ty3hV+XITYCxIcePAoIF4rUfb3f/AFLIYsTVCOSTjsQ59wnvLHbsfwvzj20dlhVAKu+pP9RcHjwbImnjUN7Y2qEfRkbVmiWPYigDFW69T9a9W9eDRcjmLBwMzXC4owSU+VHIl0ZWJ7iu1Gu29ji8IDjZxqrEIQCPk36x2MI/0bUECxeuoIeXy+V7SH2oQe5l+wFpjoKgyOu2+3V2x64HBrn4Rszrx1t2rtU0Bj9C6AAulyZiSvXrMBoHQL2pJNnXaQi+KB0z91m0juyRxOL/AEsChAlIBJ2xRRqy1CKJaHaKL/sLvqWGWbnvIze1x+OOwUoKRrS2v9uf9wCgkgWelV+dzR7KNiox+Xmz8jhX1pd7Nk4ovUXCI9P7iFoKR/14d69uhgDWI/Ki7WPMnEV8T7pZg+lZiS9mkBrufuskAABvyvECfgciGaMsyDxS6pK38V/IGu0nyAMiQzdcJEuKN3zJclyarYxH/SWNvQAICgmsRkf/ANJXPfkcjiem8dGEPDjMzscu6ab4AAaxjiAYhf7u5vHX/hnIYQTtG+KqFUGhv6834vQ3id0WAHXp3phNRu+KgBnYnFFoio0Aq3aqO2rYonXTmNYZGWDEt7mCKgzq8EGQ8M+9+a+gt9Q8eKFPcm7pe4LGniPXcFVL2dIGYgtTszVrrjzqJTIAoaV2WNdtkFoD7Yuq7J+a+a8gjlpMYBCzPLLIWAArtsXpbxsbJPhd2prqeOXKCKRLVSKUvn4oFv7cFWxkLyftUaJHI4Q5E/v8lhHx4QGxqwzghvGgatFVVWhS6NX1zvVvb40nFhLhA7kD46A+8RQs9+O/xJ69Li7Pffuavid4q48nLfcPFhRR2CTr1aSWLAcewxkHdV1Z+wBgo1f2xAoKoPTCVlCsTIrf7jNQLk3eTWx/ehoDQs2egiQQLEsYVzIXaqCqDvvP2+NdoyotXnrlIgKpko7ZD2/Kgu1H9oJ1IdEqpBoHcMQC2ysWkcCMdzZv/wDUx8sEvtUArkaC0Ok9NWTloAhobfQJzY3RY2C3jt33WxBxxDejXIjv2Qq3cSx7lS2c7rQ+ggNkZMwCgdcZ444nlwVYoh26FV+/0SKHyIUUqi93/LiVJQRZnQqscdA73bMxFCvkx1RHktXXNjMkC8aCNfcaTLS5aHxOx8Qx7A2K2ox64H+mpO2fltmy4nAnIRJ9DyApbQ8g4gnEA2Z+MnHjjNpGXYMq6TsXzM9FcUAASIefONs19Sx+4+RUsv0o+Xcuia+JYUD+YDhFvx1yni4uhFTWDrAYUKoHu7yP7LYeXIqupOTb/wCyGsUibKKTWKYjyR25WWYntOJvrje60zuzJ2miWpmZjWSoD2VoLex9KMB3czkclQnblI4u28Bbuhdeft6BxAodwHX8OflrnM6iFQRZ/wC5Zie0C6pFSiALpmPXEbhQTosMIfVKzgKtDYciiwUbZEWPIk5kg765nqn/AJ5kgW3K+1n3dhk7SR5PuN8EG2UA6Vbv06KGDjxNL38ieW9W2CItBVsgNh5Y7jU+VJpesuNFHIwXEkrvyyoq1eRGKs31ihwsFQWHU3qEZ/ryi417fBwVF7V/ZOTHtTbPu6vpudxRxxIIWxukuh4ALMx3izDyFK4rWiNFuTLyo35BZeOGRsW3kqVqh+AC7AxzalsD74PFL8aXvDBpHRixN3/bru7Ro91Dx2k10npap7dxd3wUEV/9rz4skUEjH/Vszx8fg8dqNGQfQ/4AVfIHnZG+4IoSq64/LiiSVsT2iiL7vvQoMw/VjFcsiBq+jK3/AIazOEiaUx1X4e7v96wiFfK62WvXS9/IQRRSS7LSEio7LaU/4FretnK/odcyeLicYhkEkkmdRxi/FWxN49zFUUs2KqC+Px64bFODA0i0va5jAVFbZ9tQKACdpc9hL0PrzJAss6DRaUCRmbtUKMmNeSkYNmzRai39o6njiB/2FnaJA144xoq9sYyfJ3NntjSlLfJiddcn1Li+kr7vqIX3cT7fCiOfJeqq0BGCZHy5RNVZvHrmescz1Ro4/bHEidTUEZzf2tBBLLq2YmsEGK/eXnr2zE8K+9VFmJqlv7ORADYi6/ZKBVA6aP4yMwii0d+T/miQf+x8/bUcSx4wt/l8R3MBVrZsNjsCq0a8keOuaAyvOYD7eyqD/wBTdRRgmlw0ZJmAKhTX+OvTPSX5UivKO3HtjRfAY2+C7Y5i+8gNJ/0hh1L6fyRAzuqwQgGo8ggtmIGeG27VxpWJbarrY4xk/kvHHj7Sn56AY5Vniuj9+2CTsqdBb6R4OJxjUahjJqzZeRjZZhYyNnQAoAb11yp2n5EeB7R+z5YnRY14RfCAHuNarqAnjyss0gdo1aRkAs51oOz+Mf7QPC/Q8lORyFnJjcK8vgnvc3jbaOOzWRDOBmVN41wY4eAqLQMjYqAqjHIL3MbstQyNt/i99Mk0mpQURx7h/uwb/bi8UgpciB9AAaN9cb0qOLGUAZYZZNs3kcfbyNlvrKkUbOW+udwmb3JJJMQWUUtMxAov3MRGqj4lj277c8T1w5FMqJAgJLAGVtkD+7xobFLq9XZbX+quDE3qI5cm1MCUNEsyHHKQ7VFJVnxF2ay0AOmHuiKOJyau2C3+yyxj9na5sVCqCcb69D9NiggTkck5Ssw+IsqWu6/9q2BWsj5A11z3eFE9xkijB7VMmyf+T/k9zUcVsKltYh/jzJcjLhtvmEyBO3IJNBvq8qUi6+HUnqkK8+OOFY8exUCg/EVQBNNju2b8qUAV0/LmmSJYIU9xzUkh/CIfMIt6HgMxI9xiRk3jr1fmxxyoGb+pdFVYZEhcRZAARUF5MPiWxVQb6l5ckkCuAtAMF/bEfkLuxduzEMaAGgOik05OYVFGgGO3yPltglRV45Rgn5NVAg8biemceFADJIVaVrpnJXt0oyGviigMQdY1l1MCQXYIpjU+2p7nrxYHwVvst3sarKhZbBYs+RSA17a5d7aCgAfVCtAXslqrrD+W+VFRlvyVjQbIJakFD5Eg7sUTrqRITzIwEMy4EnLy+J+x9R38YwoH7rx1xQiyTymPJyKB/Sm9A9zAtsUvhQNWa6hf24TKYEjeR3xZh3Kt0cI+4qAAfq629b65nqDcvkiKEkQqBkQD8bya2+yQoJVNAYhmskdRiWfkNBjM0SoGN5dx8ha39lmIX9AsScag4cUbtNyMQR/UHuVggGx2jz+JJ2AKVcmcHpeVxOMn8hkVmDZf1iB43lIO1VZu0KhvFdlSW6HqnM5UzOZgsJb3RXah/XmgEAqvBb8VAG55mZ++X3ZWe2G+zEZLld7ACYg1X66edoViXy0l9oPhlAsuw1a0CdmqxW26CCaSUlcyNYr3MT95ubC+axU3Vj76jgU8gtO5Vx8ES8IcrAvQLPWRWMYqXt2v74/H4inThAvazNty5PxHnwCMjdFu1V1puEvNYzLyGHHjBp7+Z+3AHlVVbFnyVJ+h0GhK+2jj2xer7R4XZHkgGj/1ZVZF9cn1JP5bQpUccdopWgaur122zfXxAT7PXDl4qsHjKyOLYli1ZDtyLeTq7e8ADS91DpOcGWIIBjaJaqQWo91AC6J+gWage4V1JyopfcLuFiQEqmQJkb6LEGsVrLH435ZqFzznnvHw4mxgTudltbI+blvkfOCY194k9cxIP4kMSg0na39Q0DQsN+I+hj5pfDHpBAYe53alJKjYVFYVf+XaiF/tu18de8Pd40UPu+zGxcpH2Bj5uRwLJLHQFnydarjEsH5nJeo4VxSMN2JdBVC3RcgFjkXq7YE2ev5s3L97kGI+yjP7OQOwDimIoUCd5eT9eaHp0fHUCTl5f1ZSwsgCl2WVTtmY9oaqRbx8dciGF4Q7qwRFDpDiAMnFqvf8pStFrsovyoa6dJol93JE+Srv43fj9ttj2C7ORPxHUHALQLJyS0k0hDKjfiuX9uzsgKMt6NFQB17St7IyJsnQ2WPgX/alKPB0gs146w4fE/rczkBcVTBZZBGpA+PYDdazOVkihrInr1H/AFLw42dPT0/lcpipLg/0ocAaLyHLJ8m8R3Xd/UHnqPjyTTtNyKkklYySu7EsxssCx3ipJtVBdiFFeeo+3louEYURquVf8mhZXwK8tXktXgrA78mWYQhsE0xIOAu63iqX8j94qAAB1Jm8URmkVE9xfbhQjurdk6aTZHhTZOsavrH3uVgrImy1k2FC7Zj5yP2aysnG+pOXwlVInM/JOZZkyCrglBC48ndtR27n41vr0/lxgFYv6CmMkMXAYlvvIgHQBYgbPYMVFDr1Qz8mBkXktHECW+V9lYDdgZMBVWaGXjz16bAob2owZJguUjZZCPX5MaQNsLQACCxl5v1RuPxECtIzysCaQ6yPnxsqqAKBVElbrx0Z5ZefBHAB7SMuwt0Vo0uzk9km/ojI4L1xOFK88kshrIMzEUcVByEceqGwlsbJr4HZ6g9Md/7xCjXskKzKC5H/AACbc0WJ7V720IoV5kanKTBAox/v8v8Auv8AqJ+IWidG+W8mKTmNjm/YhsWugAoJLfBVBkO6bQXXSy8rmcpFGIRY9kgpCg/ub49iKoxHaz6/DzzeTF7kkRleXvcWtla/xWrNk/dLjs316fII/bwtWsGmpcf+ojwCLHdI9g+FyGv9ZEt/B4ytmWUyGvLhO0ubrGMMWpm7pGAwFG+uNx5YlWQhAPb2TqJLtsR4MmKDYUYEfnXn05puX7EaZGJGEhHgyH8fHga8Gh8nN66/1Fz0klSmbEKuKnuOKmhoaOTk0AMdH6F9RibmIvzWMvRvx2rQUC+9j3F3JxW6yNV16d6e/J9ViMYJTKMa7mCA7Zj8VaRiTb1iKFax6m40i2sHYixhS50PJ7EFr8zZLM2b6yrKuuR6OI5Vk5M/uyyvSRRjNsnJ7UWgCEQG3ICWaXR3zxFG8cBT+0FS/b9VHqmkxA7yMUysKK30IYPdYPmNZFU8qgBNs3hLFaApAdBnPUvqMEcNQREuPizCzQHgVeOWh3M5xtmjQnUelEky5vJH7jL+ZGjjvsiSh5aibAGhRmb35S7SD3CAcItrBF+KGQ3TNsnzIf7VHU6O8sMSykREbxY+AMj/ANgB3O1ZOe35dUqkpG/txjchT/cdQPjmd9x1leheI31xuXPNyHRDhEN6q8RSKtmzS+FAHcxJLGq65fvzhIk7YhcYBage7uLEkCtW5p2Y+aAroxcbhRRkwhh2l9VkEXLuoA0zEWNXYyNADrl/6n9uSWPiQAySOM2+OIAuqXIk/dEkLY8MbHE/m8lPenYCSWTOj91qMVvFEPxDMxNA9uuudwQqwpLIXYozDHSI2WJbJruR2PyVS32p1fUvtcftgt5AoJY7tiaUDLwuVKt2XNmnxJ6SHkIgdnolixONlmu2a27m7jtiALIUeOll5D8mONGGosizd3tx/kxFhRJKfiCT5t2odfyf4vBd6t3F2NADZVEoDR/J/sXQPb1FPMsaSqoth8qtv+tr3RZjgvj9AOxJHHi5fP5hEsoWBSzkIe0Kt2B+Nk+WYlmP/wADncscXhS8aIWAv7IB2Mj+232A/HTUfrqT1GRSt0FXuCAnuZbq6skAm/obH3vriQTS8mSf2nle+0sMVBbsUKgs5Ekn9KKLydekeiyOu0LZPbP5sq3gH4+brbf8fXXJ43tLFE1LdhU2ax1tfs13EuGwA8ZE16f6esyShV+WIsi+xdkAeXeQ4kjsFFV+uofS0imkDnu8Vd4jLd49qsF7fjruCKKB65sIf24o1yUWbKYoABs/+1fs15sCz1DCgUxboj9Yi7tSU1iLqg/fIR8Qi9Snj8fjyTt7YChsWPhcdXlvNh5JWxloEVn1xuTBP6eqiL+iADryRjkW/XuS18jlig0G89c31KYp7UPGEMI7FXeTsQF7F8lmPaHbaRjILvrhpLNyff50hWHjjaL2oo/+mCSNkfNz8Rl3E0vUnqEnNRnQYQKo9pU0W2e4scTiFo/gtihlRJg9yWbMRGgxKBizbyNMcjR+gi+W25GOPXqTcr+YkLzyRx+zkI1ciwo9uyoxBZmtVDEm8juuuTzvUYI0WDkyxmTtqPC0UDewNNrAVmb+7rp4eRyWUO00smOcksjlmLeAoLE/E5EKKAxBNnfXC9OQNJ7ilI4jm/8Ayv0Te8fFDK38ZNZ6m9SgJaKJCCMgAu3LtWTNjeOIq7Ja6FXrrif+YaOQhkRKFbMjALZ18VZtFicnvEEgDr1WeOLhuiggszml8VoED4hzrHL4/I7Avr/xAEpWTPjZIbx+lB+yB5x7B9aDN1xDyZmln9sqgRo1VcrYDuILUvm1DEart8t16dxZHed5gsY3I7tZ8m6VPJ+rLGzWKgDXTqgjkZjIMV8Cry1hCD5MtUZKCiOzeNV1Bw5JvT1kKuSToj6QLQUE196y0S1gEqOo+ZDwE5HbkwXS/JM7JJrQkomlLmqF1u+peTyvU+Q8mOQql/8An9eK7RiPzrtDDz6V6dyOQ8Zl/pQxYRBFGK6ovk2rJP8AuHVURpullV+S0UW44gV7RrFQa0oCoLyfEFjvJmuuuUOQIIe5YUdSEApdE7rL7aizucsU/wCuTqXjpxo1wJmllYC8T32Rv6Pt+QPCYox3lXXIfkFQWePOiMdBVHlF83QHexxHgfKuo4JJImZXt5biUY2KJFswBxAJqkd7ICghVvqfgRcJkykRpXSqOPaCwyJ1e9k0os/sb64qiXkUbCEt3bH/AFdvhv0CQVrLbeVPq8acmcvFGt8dEhDyWbW7LY6DeDgo7cQpNAm5uF70I92UUGxCKdDMKTkdI0mIDH5V2iqFdcKaDjxRIi4LRTVszYrsUFXOq2PgCKOr6kmj5BnlxiyEpCrj/Z4+WTV+I7f7iCALHGHO5MXtwEMT5bwoyG/Hgd1v3WQVQuNjrjyy+mBIYpUeUdpxFgOo+2HaSPAjj/RAONsY+Vyf4vu8mRvcZWKp5cBgAt38XbQzOIHcI2Gz03Nn/lZtaKt0cxkwA8AgEkkjEY9igWNCyZ35HKM154j5Y0jPqgpP/poBehTALkaPSpmjyMxwJyko6etgX+QZyBo4neyB1PJ7YXur6CgLdDbefAA80vk/sjpjNMr5MSZKX5dosWw13OR8DZxsNkQoI6h4xRmBlUFVPm2AY/ZGgTWTgfSgEgdq9ScviwC3lO6Nn5n9E7u28hBX0KVbPX/iPAaKK8leSz/c39oNKPP6AAY67h464Telem+/zubOB8jHGWt8gKXVks939hYyCARs9Rc6b1bkEwRsilqTZCqo8KD5NAlnI8kkn8F69Zifh8KFGldmklCMC9AEoby3ZIJZnPy/GhXXHm45m9qNBt1GZUFnN+fsUKL70tgkZY9Q+2OMhjUqkSljguTuVNEmQhm29ICKLMGxFWep25fqUz+yojhiXEuxHy/GMEtiqqCzMCwv5MPA6g9Pj4qHl8j+qyDJRlRZscUwWrGV3ngCEJKIBXXJ5qtHh7LGZ/iq/vyPO6G6s7+t9QtQwTiPlQ9x2/vYbH4iwNaPZk1kHXXqXIaVeLwuLEfclZRI2I+I0XNg0p2EFAv9RgAN1zw8ePFHuSPRCrH+6AHdsLitWfwyIXfXpkLqjCgmOKNRJ2LNFtkIos9tFzl4A36nE83JEcatie45UvaPMkrEkKuKjFBtRQvJjb8IfzIgWSS5FWhsGq7Rl+OR2Wv/AArEZdMkkAxoKgqyuttZq6+Rv68a/wC/D5bQ8f8ApMqzVSooP9MFTVsd3Q+IxIUmwCxIHJkkzlKPyX3FCuOVmsdCwlu2z5VV8k0evRxyV45JjWJitXkpNAZSPf2WbxVgBfGr65DEFIYOOTjWbj6umZv8u2siAQFOC30vCm5MbckdseGKZDtAUYprSnYtU8E0WtbuZgoWCFfcLSquZbtZjebs3kihZP5aVVYUvU/pZ5Ce2UBVAoYvWII73z+u1R/tj4WRihA640UXE4APmwGLVu/0qgE21AVf7s14l5jS88BR2DKrPnyB8SSFyyO2Mj1fatDrkiWdDxwfbiRj7mC4XQ+ypsDze8jVVvqM8ZOGvHiVdDfbs9gDMaHyPwVQtouPep10DIqlzhGi3bdi/YCqBl2qK+zZo2OvVpB/K9/3P/TRF/4QV57QBkx/wTejdF+JyTxu3kIjyvdglcUBwC5mm1odorI9tm6hEXp/HURSI8oGLSFWZiwNDz3AZVilAnEk0vRlnjWXKQyM4LtQDN94r59uPV0Mu0GyxYk9encMiWTkzmoj4VBbSMW7IkY0KJ846C0bGh1/JIuOIqCwpAgsCjqiB3HLu7QUGP2Vvr1olIWVZCzqoDE2QoQWzOf1Z+O9kC769P4vJZTIXxFLQq5DkfGPkX5YtQJIUvjo8Phw8fgoZWJaVXoXkb/yQfkR93Sl7xDeOL/EXOMMNfLFbNfZsj5Fu1TVhQfiNdcjmRSSpx+JCGukyCXofS/4sltZZt/UfQHXG9P5vJ4/HWljiQnFQBrLtUnzulpd5UW2Bd/6pL8f1b1Dg8bv9pkWRrB/qYAsiqv0ng4jbArkQD1/p/gTOvuTFlCBmP4gEgC9VbZNQ+gEs40B1xlBgjhhjkk2E0MEA/5/X/5j8iT1xvbgkkT+IAFA9wk3l4OPkKo8ZsSg/HuIx65N8z1CP3QBEFAxG2c67VGgEXS3YRd689c+F/eksNfyA8Xqoxj5K/YDY3dsws9cHgTSqE9tpJHmZ2Lkkf5Z/wDpH0rHEKLZjodcn/w70bh8duXJF72B9tGOs/8ApRLA8ks2yBrLp+RxeU5nEqz950GxjQAF2s+Cx8kBjiSqEHE3AZEb3H9tGazjWkRjSAJeTOReINX8ia65PuScsrI7BSb9ofLChkXxoIKqPbWdqv66jgmR1ZwCLdo43ut0Wdh9LGgFismcqu61N6h7Q92SRI4y4hiTD5trJEHlvxzsgeFAxyJ4sZaCWKFfk7lmFAUWb7xJJb9m+0UoJI6hQ8HjH3HqVpFTe8cRkzEW1su6X6Ygdra6j5McTK4QeCzyMcmUEfEb8hVZn2tnVhdGP1M8iaOKNQSvtjeOEZY2aH5PvvkcgAggCgeuTKBzaGM+WRlayQFP43XggCz2hrxCBQenmmndki46KC4XLHtxXyFHcWoeReOrfQrrmSTwj2sSxXukNDRK6QeQrMSQDi70LpQepOK/8RpJU/qFVBWwn/UV+2onsX7oM5o11c2KQKqrW3NaA/QUbOrpSaVPlTOx6fDjxuflIwNltAZj6/ulksnxUaU17XpIX58jEhPbEpbs7cgKRVVq0i/BasuRddLwII+MCyqJO5lCeQr6LliaRQoIVixJ2QNjqbhwTyIWJkkUjFBeCAClPi3Ybo446NBvPXpXBi4kSsIv6jvgNG1B/V2S2rZh5OhQvr/XDuOZx+PGC2ERfEaVXcC/PykqsjRxFjySevRvSuRPIksgoHu8tbG+1Pq/GTmwBW9a65iRwcBII3JtafHsBKrWOR+Ma27EqgJy0L31FP8AxuMqwJkaZ1JTTMRpiDbsLIxSwPAYsbHXqXK5cMCRBqlmfZWryP43tne+5zjqq7dDr0b0yOBW5PMYvyGLyDM5YCgCcRYLBRW/F/Fm6SGBMpZGo+cfGI8Dt21j8RQ3fb99GKLN5AuFaDG2YtXjZ81qrUgaIG+o+LNzOTlG8j9xS9BdaxVBQrRJLEig0jUAOl48PA47oHSWUlr/ADXIBcyz6V2JNGslF4Dx161zlhifFFzKjIgWxs6U1ss/kquOMahQFDb9Fgfl80Tubwk0G/ezZ+lojtRApvzlXXqEDXD7xYKTaoFYZ1sdmmKAUe45P9tXXpkEUk8i4tgqe3Z+iydxP0TZF/8AGI7dHjcUxP7caeSB4vzbN/2xxzJIuwD5rr0rj+5KwLiiGDsvcQLx+W1ybE0At1QXXleKie8zErG7b8BnQWoRT5AIBuTeIsr3V16l6k38NeJxqjQfN8cfrFUQVkqAAjyq4KWYH7m9Rh48hwmaWRMMCvgE9oI81kR21cjfI1oBOSrcaEySviIwWSMY0DWZJO1DHtDEF3YkrG3nrlc6edfZSQwwBfqgT+IVBs3tiXZqGtWOuFCxjSQL7dl6kqzQICqhb7PZnIe5iasKG6cF8oOJ/UOdSTP8PrMp+Jx8X8mevAHUso9J9M5XOmWN5I4P6EZNJm1+0nm2tu+Q6Nfn1w5+TykHJ5EmTl/cNjFV+wEj8RoFIwFClIO/J9Y50vuRpEuRPcWIofOxZO6FbPcTjioFk9cJ2lXJ3MjIMiWNIX8hf+FsayFFj/jqLkRsvs+yJfbU2SzU7jbE0FVUyJyok12jJj1A45Ek8k5IVGxAVe0DQZlXUagN2oDkxYG/odBpJ1fBMI4gVhUnbMRiCB9BQSMzWxagDfXp3GdmwEfuSG7PnEaVboHwPggBUaHXrfEhB9tqWzk9GyzKdIvknCrZ2ZRljq+oON7HGWKOMZvv9kNWv0Gk3oGgDbEkJZPF5b8OJPaWONEARUTZIANWfNEgvIxAzYKq0OuP6RAprEszWpLSWHb734w+RNAnEgFgW64nHjj5eMaplZ2O4kFtm1Gs2odo+OKIW8hZv43FI7U9qEuqggEtjoUtlpHJ2FNrGuGrN8k8rkczkP7b+7yeRMzufmzs/d/8XR+lsKO7r0ngTO0fHLGPjx1nVeQu2dtgMLLYqLXVtmR08/F4nGxgpfal/KyzYil0SKHjZJ+z9m4Hl5c7NmQhJkNLgFjH/qOx8X5S6/Ek0QOl5Uf8o+3i5U4hVuyFAok7dh3eTWbURqh04K+9zOWe86QGvJ8sFJr+mtBcrC1/jcHrEkQ5PMdAvGgWR4ULYiUr/toLxtcqt2+b2VQiuvWfVvUfVuTC/IdVQQyM+HxjDN8UZjQJGjJtjrGuv9PcKORZDISqsqU3aKH3iW0K0AdgGziW0JDKnqbQ+659tnZ8fAX8RdXgooEnbkfQs9JOZOQ0gUlQ3m/JAxSz9nZYAZHdjwW640LzRu7OS4jYVttn8crAJ/6RmBYyOXXrkcHGm4iclg0yRL/5fPIxF5QRmo7VLaJXG6ofW4+X/HaVpHSFVYlRdsu/lRxAatKKasqCknr+U3Kk/ps2ID4kkucmIFj6LebPxWtyJ3Drj8WbmQrHGJCmRF/EMB8pGbRKlqA2FONLaX1FCvGDUtZRhUqgAgGGX7Ia23QDZf5PUPGErFfcwY22TEksSK+gdKgPgUi3Q+xBIDOy8e5PaGAJvx/wTiuWiSxIUuxOTkL0ZI4borLMbbPyAzH8L0a+yPkWA/x0ebHJGS8gCJSiu5pCLvG/Nm9qAt1+I2vvDPkMVjja/kLZgKs77iopjrtNVYDV0zT+pclmlYRxYuVVzeq0zi68bq6/YHXA9NZxIBJK1Uqnf+Tkf0MTdaH/ALVHXJgWNY0XMqqAvi3nQx/wzEV3d2yAtKh69Kigh9+d0qRwCPyKIAAiqDfe1gkkAeMivx640yxsGYpkyF40stX0WY+W/tvakgAdeq5+ocszI2WvZGhdA95FUqoWJHnuOvs9cT2+LDoKTFSXt8m3Xd2h9iwqhYwBm2ZxHXI9yeOy2Vj42VS/7O3uIVe6QLoA0Tk244uQ8fagVRZyxHuMzfEY32KFGVFqAxy10vGMnNEjkO3HHuXIbr9UtUMmoKCPiAwCgqDFDOEflSMdKgVbX/7FFBuhl3sPoVlvqTjSxoZCS2TBFXG9g7KqfPltlTkzFt11yX5aVDEuTs1sQCxAU92RrZH9ulugQBdcKGcWH7e28VUtSfeh8mdvls5fbG669VWeOBVjz9+Q4s2rjDNutHvC2ABSLRIx2wb0nncyeONYyI6yJxZy7ffjyP8AuQ5o9w8eiel8b0xX9/ckI8ACy1V4XS21hVUFqTZChm69R5UU3LDOyqq2MFKs/wAu4atV+kXydMT5HXGaaVo44kjhiMlXeICjb7+TEAXI2j8iTbKobgM08cMRDUqGRgbOTd2J8BO3ZAyKLtmuuuFhxk5N0uGUcfhe7wcEQaUeL+bG7PXqHPosWYCKNaxW4x7ce2Jk0SXxAsduIKrV5Gbn8rnq8YRYYyR2ppiHQk5P3MTgMcUur+yepoo4OSIJCLJyYD55VZoG2GK9tmyo1X49cD3+afZVUhi/sBulQfOQ+SQCAM+5nYABRXU/DdJCHkRcSVxJW78Lm2wKA+CDFFQ0TXXqnN5EHt8bhAPKUW2YWsYfS6PaoC2x0fPdvPpOVzkkjQ82Qu6BmEWKgKZKXwpbv7iNgVRxs69Qn5XNaWOV5ZliApS5rK+2lGgAACzn9ACtnrijlGB0VY4ohZyvTFvsu3y+OgmWQW6xW+j6fEYo2uWaSQglyKVgNtjZLVr5ecbOSg9cGKHC3ASOJdBVF9xvtW7Lt/e5ULqvqwESCRwCuQJxUC635I/Q8nLRNDdnrixhgqRpQ7SzsbPk468ZM90BYFUGJvqGOEXFsY43oaVaBOtBnbFF/wC5s+Ol5nHhK8fjO1nz7f2V0X157yQhNAY5/IgdeomGNgMC8oOIpT24i8bNVWizEtsm6OuuNzwrZJDlJ43V70FyOkDHzj9Zn/k8zk8pFV2oCv6aeDRvYJsQx1ZLaZvNkHqbkjjqgbKSVyCkYP2NkvoBVF2f+ygELfXEl/jck8qT5NRGd0fpQiDZUDS1SgZktrpeU086m5H/AJApPq7PkbvGtX/nWRbr1WBuF64IYlDBIENgBY0eS2IH6xy1+RYh2caHXGnnWIkNGPilLS4Ld7YnzS5VlXxvI9AtLJg7KAcnxjFgb8Wa9yRiVUsT5P6B64KIISpXt3QO8xffIRRaSzoMY8aGMYPkJMsHKaRY6PuMU9zwoPwON/OgXaRvgPGyq9ep83MM+XuEqFwU/d/f0NnFUAFbZs36XhvyVMnJDuPAS29sDLZa6VV0dCu3XczNR4qytJSAKMVBYecTk7Yr3kLdKtjZW/BC+mcT3xHIxEMEaK+yAXIalJrQHhVAC0CTskdeuJHDE8/HILSqY5XIH3VUg+Pkbbezey3Xp/MM0VKBXvCMaGwu9DdqACxsgHtJBrXogVeNJyWjzKBmDtuiu5GjUj8QKzalStbvqWcc3mTc2VQxn5TuGJZmY59oViR2IuItRiKpemjm9Q5f9R8YjK2C449uRtyo7vA14arYkDfXA9Ji9vFAkaKBbO28R4L4/m13jkAg1eRPSmaNGWIpHGuQXf18Azk+L3ig/qMSLYWT0z8jLMN/TUL3FcmdgvlQxrQ/I9q2K6SVx3PJgvxNkM7s2yGI7Rf/ANMW1ea108/IhWVISy+65JbwXHg+a/Z33VZwPluo8mV2kltxsi7NGwqiqGl+gKF42O5uuAIaeanlOZEQ+YL/AG/+cPCfGOxewADzYORynjycpEfhENK2C/lj5VT/AJLE5MTdDri8SPjnKdlx0gSvlbfkfs0MmCqST2i1yYieNQPbRUiJJ8fIAdxoXuRiAWdvGlW669Q5cdiC19yQAlLx1J9MfkLS2YAZlWAsZAdLycexUX+l5pbGZPyx8NKb7AxIjX6vrAzz4lWLC1dm32g4nKz4HfS/3V/mp4RGYYlaKNBj726bE7I8DBcOwWEIWyADJ1ymWOZYe6SNiW/p2qFq2uu9ggqwCB5DEeehyIDx8Io2CkEM60SQNsFqxQqtZ/Z2diLlM8cvtxMiU1eLLNpVXyxxjHypRZHcB1/GkvtQqWb+o9b7jSKC35MxJF5ntyajQ643orpxvcmcbxADMzeKNKg+loDdkkWVsgiPhfyIu5sY0V7H5NbaWlOr/KzQH7vqI8KGd6kEkwVkVRQWFPuqFKSPvFWqzeRHXB/jIk7Bc5Gu2Augml/++yoM3bWQXLJ+puOnLkyZgiDKjXwB+TffedgXZLFQCcSTyGj4KGZKjURhRlt913N9fQCqSVy2czsA8/1GRxE5i4z90sg+TIB4X7pviB5cWTefXF9I9zmBEjmKxnKR8brD6H4gk5HuIC46TJr6TgLBMuaY5UFXbEIPkNbOw113ORS67uk0y79lNk6731SqK7VyfztqAq8uuBx42kT3HBRO5w2gd9pdj9ZboWT2jLz16zBwJOWc2DRoHYiiFZ7oXZMjAAXtgPGwuuuHx/T1WV7Hbv6WyQMf+xoFv2AI18knmxcE8wYqF/rU7tbZY7KhfkQKJahlI/aMU88N4IVaZWxK3QB8HeJcotIct+3HZpSLvuEfAjWBedy5byBKxt3fLwSt90hUAnI9imtbPXPlhHJKtIoPtGVwxyYhjoyAa2q0F+o+0VkT16NInM5nLlF4F0USSaJRb7idVYBIHaoHx7d9ctooouSsZVpZmWwoCpGi7xutn42f2wAF11HDJIhMrgrR7boOR5pf7B2JulxXuZyzL0/IMMTle8qhFgG8dLihb45n7q6K1j8R6JxOXyVZuSp21rFvudviqrqlF7Zq0v5ffqOS8iOLJI+PHipjU90jIMiKrxYUAYqNl2A31DLLC6+5iLpwg8gKCbuywvfd8z9KBvo8xnlZclUMRiiL5J0Md6A3vZ/V9cOOSFHaFQJpMQjMACqL4NCsVujbZMxOlvx623JjYQrLcooOQSxGXc2vuR73rCMN++vToJQY2ldmBYdsYJeRsqCqa7V8jI1+TYnHpJ4eDBJnCfeP7AOJN0Wsm8RZWJQTeIdrY1NyZuRy1IUxqL0aJX3PHYvhsRZLf/z64sB5TPI2TRLlnM3xOAxofWI+ChBvuCgAl+vTuGNT/CNEwzfHzVE9tgKqg/l514G/XuZC/qbyDL24LRa+cjnbO/8AaToIooqgF49cI+4C7o3cf6S32rdKu/H77Y1s0SW31xYYeNUrlS/ddgX2g0N/Aby2cqydgOxSPVuOpkjUHtJ9xrIv9sw2ca7VB+rpbYVPyvdmMxVhADmWkOC4D4mh3UwACqlFv3XXGbiygzyCWkNr+GRrtNfj+RG/6YN4sxFmdsvZUviTiB+I+8E1bED5EA0NMwJPUIgiR8osmkaz+q2aZjs2TkVHaT5bz1Dy1SIARoSFZnrwGH+2g14j19qL2WP36mx5PphgtRc6vLgP2doWW/rWOelyyxuuvRYov5DRmsFf6qroKRip7m/xkoQVYHjr/V/rw9L9N4/o/Ai7+fHJ/ImIxVOOh9sRJ93IScjrWZxYnr+Y0c0USeQVvsAVQKrQuvIoEg15HX8HjxsGPagLFm0GZbJ2fxzbuJOwuNKOuPLH4SPCIJYY/JtnuVfimXcVYhiikv3Pj0OSsnIYXSq7NkQWCnwCA3kqNR5eO9gmRA6lZfbiXZXIKcgCC1i82PaWu8lVXrFRWq6zo5FMUS8Ae1nar3q0TYJ+yPIBNCebk8qVnj47ezCuKsoP9Q3WrrbtdXYxGuvT+Cf4kkhgBmnY27nIIlEEr9aUVYH/AEq1k9QwcXjQCMoC6KpORBOzQH0ilmJOiaHkgeeaJC3H9mGuzbY3r+1AQABruagvxVcz1zI2M6+4rObFRjH5H+9ifJPhFrQBP11zIMeEjGUK1gNiwNZH/bBH+fJ7nYCguJUdcDjwyc6SXISmJDkzdyqbpVJ+2u2ZVxyaksBKEEL+4zhD33RahRf8qG8yPCqKQEC/C9fwY4jRuMBAAWIXIhaZxGpyeu4op0WbJ3HxMkfHlcwRhnfJciGZ/uzWItzogtSx2Ccq69R48cXFURwkGKJ2axs/SJeyRZ+i1nInG+ldPYKOVyC7Re4bPhzdBAQQIx3SHIkAEdcLj+zx0ZcmLks0hrz9szGlUD4oASBRCfHZ5HEgdMpY3kVj+QwV6oAVZJUkkmt6UffT+uxGM2UYBGSNB+q/WzbZZH7+IFE2IPUc+OwdvbFCkUKBmAay/HRIbEE4iryY2PR/TByJpmyKwoxdmf8AL8sm/ueRu7En+wbXXQhKEQrJjHmRV2W1XxX5MSa84KS32OpYJYnUyuEjyLBbxJX6Zjur81/7VxbfXqEsvI47xnJUQMe0Gz/7csmLG2GR/wDp/FBfX+n+FHJBHJMAkYJbDP8AFKJMh/5Cjyor6PXFkiSaWONUC+BVDI3ndk70FLFiQAKwNUXcmcM2JEeXk9pv4i/0T+gLF91tQilWaSLIgyFq7VrEY0SoOhinaHNCMeO5unaGGV7OCIos2NGvrLWeyc2PZWV31zvUOE8kohA5bmalVWPsqoPdJI+w3ih5Lm622SrzJEBhTjCORjlm0gsFvzKb78djPMi9fR6aNZWtHdguebDtFmg5EjfS7XJVCDbZeOvT4eM5Tjr9lQWBJWMCgSinZNWoY7IBxwys+qc30pOT/EZ3k/iqvuxRrYDHuWHtDZMAVzVbAJpm89eoTJ/J5XLm7DypHATK2VF7QqqL+C4ps1YOvJEHMHHkig48NRtZdiaycgWf/sVqMHLIsSV/xPyHfmGAaLmmrRF9zm/x125t3L3HbdRcWbkZRoqrEtEkCrUAWW/6AKxVqB2T5J6TjF4FjgUMSxdnYg2EsgtWsT+ltFXxZPUEknF47Kn9SVtt4FLWTNJWgDlpL+wGHaB1zh7PJR+Xk0krM5jy7jl+6rAUDldKsevrqZebNMfahPwQRrVglu9jh+XaFoGhZW/J69E/0/yfa/lcmHOZhS2PtjXnVux0BjSr+hvrk8aLicaSWRgrAFEVAoykXRKr5wjY4gtgGcaFaPqCAPl7OTuciGO1Brbn+49uvOx+q69Jdc4sYVeVRSqvcqlRbeLLmyA1f+ywCevUUAikeRrmApYV/Fjq5MapmNttsqqgB16f6Wlqzn3GdQayZVLHZ8USD4GIyK+GHy6EEfGjEEzrFEgUkLWTyE5YxqB+yPIb8AN23XqXNEfpEo43a6QN7df7hYghQgNqn/uosFAOuuP6czx+/Ic5bD7Jc5Mfcc237IA9xiq0Cd66XjR8OBZOXP8A1HxbBTchZxfhRd7VVQCgNHweo1fkq+KsiraqPkbvJ6J0xv5Podo7gi0W40cMuDsW9wk4liQW/f7kI/u2otiSDQHO4Mciw26xIfb148L3Oaq2A0Ga8dVuuoeHDUcSSVcqjNmIGqLHuBYqKAGKhdHuY9ch+HDNKI5r9pXBK3f/AOMJdtIv1fn7vYXrj8kcrkExEMoyXJrEaj9/tmI+hvfw++vUouQxihaVsAQmCKwoayJF0CxP5DPdWMaHqsU3swwwMUClRj43+8T5xXusgCyfOj1/pz0vHmO78hiFOCj5WQ1kRrqwpGTMbDPbOT1/rpcOV6Uvt+5PLDII4QwAWJH8tW3JOnYdthq8X0fTEURScll952RmGX9KEEjyq1k9Xit6sf5PR/8AEObyiC2C+8/yascT8n+QH+PlugqCr6bjSBP46y0xAaRyTZAWix3dEmlBb8brt69L9JQ4vITimTWFVWY1Zcj8QB8EyW+0M1X1zY4v6cXF4pJiFMxs4i6wBFVk2pGUgvtQfJ65nHkZ4OOcVd1dvbRTrxbMADZF3kRiCNHweuP6PPNA2OUKKKFD+p3UNEk4swoZFu1R9764/oyZRxlyQuIIstpBdb0BrInA6Gl30PTgvLct2x2HNjYodi95PcLyLV2kAduIHUkUHtPM8qpHDa628jfeIO8V+C+AaLWBszclZnmcMy0zhCKLhct0RpL7E7a0Ds/XJ5D8/wBrjxOREpJ7TfxGIFjR+yzEqgJ8Gh1wOGnD4oRFbOrtgfNY2Fob/wBxu7EDy1116fxpJQGeQxLkAqjUj2Sfv/bXy7yNbMFCR0OvUZBPyG40BevycMyrQ18vloDZ7v8A74den8GHi8d5fdZWkI9w+GYBRhHfy+IBwDXR7uv9Rcp/b4vFhYIJi8sxWs3VB2qSo0qkWe9ixUCwq79H4c3IkIslLSiwAB1YIU2z6HaD4XE4ktfXrPObn+rS+nrOw4fp2PFigR2VHlU3PLLjWTO+rqljFL8+hwBHwkVPbE2DMGI2IyNn7JvK/G9Xeh16X6U8kvvuA9P2iVgRo2NfBbP0P+wc769a9V4fo6TcOKQcv1L2x73srlHwhI2TZsdCVh4jNMq45Ys3XH9W53IZvbkmRNn/AHPAA86YKL2WNHegTiW64nqnIjX3bWRIR2gyEJlsWzqKPbm7N9XpvAL/AOo3mkTkc1Q0aElY47jQ14xDHJvNl215B1YMX+sIeSxJ9OIjJIWNWB2B25ZBe0XmzY1l/wA9Rf6j9OjjjgHH5Ekort17KFtm3bBe1RvFb7jXnLpv9Vxe87RcV2F7/qKq/wDTmxom/kUF2KGlyLf/AK2IriSSIHYpY3zOX2zO2K39CgfoL2ruH/XXE4qyzR8OSbm8gYwmVlKA+F2KONiwsWzVLV31P63zPUeRM3NllkMjKFispEpJ8CMa/wDcTmTeNnu6TlCELx4z/U7XoLYjF0NigWr6FsWY6UDpWlMZmQbfsUlft6FCvzw2/kgk2QaHT8kiNo7IiU7ACqWoirAsj6xDVQo4jr0szvyIqHtxgGRmLVZJZg37ORvGtkAtXcOp+QnCn5shHuzzSMyAk1VnDQ8jWeibrIkX1NByJImm5FDFrIAFACqQAVkSz/HLblQxJ0IIRHx05EgZp3dgnghTdkLrHVm8R3Nj9C+v4IScO5HuMpJVbJAreTbCqCe782Y43+oIJJkMEVFpjsfiP2Go+FAPaW7iux46mh/hxyceF29x4xnLj9f2KANDyzBbJ7V8dBJeNx2LSuZJWDOzsciRsAKtml+lWtjZXXUPFTkTxz8l3Nd7WPoHZJfz8QoBBH9v+eOqy8t5VZsVXAEkE5Fu9jbVY+h4XtLVodR8tYonSNyz+2cSDSwrRvE0KIWlGAZrY0bJPTRnkHJ5GCwgBQv4/SiO9ZfXuNeB9x9yUOufxULGKIlpHbKWVz2oFs43tiR/aviu7uPXoHCSCLkcjvZ1Upbdq3el/uxU/wBRwLyIUX0/p+PBab22latZAVZJe22QuXl9k49rbahw+RImJPxB8Wv9QjyXb40z6qsVUDyOuVz+PF73JlJmnpmWl0O2rQN4H4xA7IVXOAsdNzuT6hHSQn5LGqjUa9gAT/8AGNiaYlSka5FQTR65Qfizx8VhkzRiXAWqjI1k1kEA4tRosQAAT4E0xeUOyO4VgNUilxpET/g/JvioU7snrhfyuS/tRQqsaKXk/qAWBvvY/TNV/VfRGjPKn8hwntTTRalWOyii/EspBbuI+I7yn4pl17cnKgdpcQFZVd/Hw73F7xVQNgWLJLHQr/xDjcUfy3nijRQy8dVAaSRgDXsob8/Jpm3W/sDrhxxvwZ1KvLNOC5D/AHZ9xvcc/wD3TktevI7R16X/ABuPyI2lx1+EcYIWxnSobyY6P9TXahK7rrnepo87e1x/cKS/5YaJ1Y823yoC/AFdcaCVwJeUu5drkcbJNnFRkxUVd+Wb8gFHXA/8N9KjaWUKZF7zqlDH45s2yQWGIJ8qMcmax6v6qPUPXf5aITHDCsMRI842BWVazNjxeJbVjqGXkcmaNlXUbEqT3KtEAHfazazbEkaApib64np/LPIJlkRcpCV+I35LAboDbDWRxyJ8HqL06GM5yNbMqVkLvzsjZNAGgSR3b7j1EiRIaKgAADShixos7HeyxFKMqofJ+0UogbHCEHy7akpR9XbrkWAsgOS7Ebs9QcTix8wyuTyJGKoPLeW+Cr48fLI0CcbsHqRGl7FZYoV7iBjbMB9eLq8V+vk3gDqH+mzrCqk5BdEMd9zDL7Y/N6AA8ufA69W5Mw5BiZse6iI/J3lS18STipb6UEtIrHpGgbg8wuSx7wK358ld0WYWid7aze3rowTTt7MUJijvN7Tbj4ooWi2AF0Cq2TY/u64HBkgUSBVsUi0o/ffIdit9qlicQO1e4dDj+ocpkiRcY1rLWz9V2r+TE/Z1f7Y9RekDiKGmJyxY0Dva7qzSjYDOTkxDC8cunhiSBuREqRgkp7sjKCbNARgn5ytpT5xttdcrmxRRWZUkkLkDA5AfioXz5a/F3iNt9TqWX+TJ3thj3m+z6VR5avLfFMqGLAV1D6rF6XEAkLT+ocmzEnhIlP8A607nwAQMVAtsNVo9ejRGKTlTOkPuSM80k0gDbZyxp2vI6/Czf7G+o5xNx5JQuWVD3G8EXZu/C/SxrbHVjJun/kMGx5MqZXqMiPzsixsZeCbuvvrkCCKKa3RieR3AU2TXvZGLG/LlWA7jvBQYuUskQUUIdZhF+eC2Eo0Soau045sLfRrqA/0J5GWhk1A03+AAdWFVTqOlJ8krovDLzGW8o48SAPLMCvnED/P2MVLfZodR8IcMY4x2PwancnRrAeT9teh9+AOpOHyTx/eeocl0Sach72a7ix+kXzdLh8uh6SfbjeRzHHZqxRJJGTBNsWNAKPuh5A3zF4oUxR+52bIvvLM1EaFJillmJZlF0Qa64y8dIhjH/WtRpba3NKuvjilCr1ZseT0vBd5GKAF2yvEkkD4gKR9tbUqBRW6C769E/wBM+7/WljyYqflQiTEYBQB8z8gCbA22PxJ9YhkuGGKSCDjQrgPr3JN34IpB5Kj5n5NvU8aty2gikaWNcEzUgR+4azwCBssLJbHRcbJrqGKPiccmNB7mLEZqWORFLnZ7mP6qlBoAG6IXkTTNJO8sxkO7BJr5NVhVF4omTBUXxZvpuMrCAPtVIJW/OJuzVaBZaCgl3IssFJ6/kcaJVkeFf6dLChoUF1Sg/kTvwApb3G2vSyxzGRygMhxVAltRux9GyCbWyQD/AFH0vXo3HT+Pa/7o9zua2ZRWICKdGRxkcmyqwQn79Wj9lh3EbVZJCbOtvj9KFAwvyTZABIA9U5cuKrCGVpX7L/GK/OIOWTkZO76AsZWa69Igkmj8ZNUeZIAwH4roGvxoUTZuuuH6XypSYoY2GbE5/wC2lXagX3HQs+flnJsWOL6ZGoki/kqzxxU5X4gtVkk2cfJyIXLWCnz1yOAsKdrErRZu3udv2AaqhYFr2ZlmNjpxKxKR9zBiHxo7HcVsAKAlqD5F+SAD16bEYOMROyCOg7qQSO7us1uR37RtwK7V+Vdeuetv/Eh4qFR7zsCI1vBftU+jIdLI4FIO1W11DyQuIMTMzBhGCcVCoAPq6UV3YirA7mPXG4v83N+Q2MdlnPlnA/GNWIFXS7yX6oAG5udwvT8eDxVaXke2WkCf+n7hv+rNrFmJOSxgtioHnXUkiNyp+RKLn5FCJSCGIVQhKoKKxKBgg7TXubu+uUI5PaT4j3E9z2yBu95P5uvIA7ciAR3N16j6nD6X6esPAVn5HJDW28UHjPWJYj4xjJV1d+b9M47eyryn5GzQvuJvW6Z78kG2a8jQPXNh9S5RHFjeRYGYgQ5Yo2XnPAAMABbb8WS3co643oYiRJuc8ecYNJgNWaQAE+aFnLx9nu65vM4/DgdkTTL7efhb9uz/AJxRcdXv9rfXpaNyZvy2zaC7JxHao2exRRJPzJ/FejDwOHxXyBaXJdA9zE7JZq1egBqh9G+veEpTkZf01FfYU4jSINkroZFqB8lQNdc0rIwaeZ3YEOYUtY1yYlUVft2FbYXVtZsDqFJLm5BRV72C9lntXybt+0ViCVP/AE7AEfI5gKwohGQ/PtLKXuuyzvtBwLHZH7qPhofU4oYQssqqa3aJ9s7Xf6v42e3QAHXL4Xs02TTSviK+vFsQqktjVKC2IC3j1Dw5nhMi6kLUpb97rS7Z7ZpMQ2K2M9IOj6fFGUhn5AmfLKUZYgKu/gLKx2Tckvy7sE/Pqfn+kLOF/n8WJEUl2E4ICreR7C3kkgCMSEnQOm69Z/8A0kcSP3eL/p/i++yD2R6hyVwQtVM/H4/zK3eLSMtKtmyeuP8A6g9blEUcfLKvNbO0UahsG8uZGBALEEgnVUx+uoU5L8Tl8h5pZZoUDj3HLWzMUQX/AJHj+1GcinkHXo8MnsyNK/yzJWvwAH1Q22gF+lJtjk3XvJDIYzTSMBmbxouSd+KoZG6LGxj4AA5kKRrGi4JllvTFU0HaqKJd4L82LCrJvr0/1CNb9yxn3YnssKNFvLsLukAOVbAXu69d/wBQ8+ad+P6fAiLSZTyi/mMQKvdDJ6J1QtT17XqHN5cL8hnm4/GOUMNARs5FA+2tRi7JLvm7E/2rs8eOHkkTNkChmIT7I1WfhQTUcYjUBUs7J65/qMgQ4xUAFX+1VHc1A/ut1ogVofcPImnD8xqdwuEK4H2kVe0FUA7qbdm8yBk57umn9ruMmTzR5P3C/bUfZFhU1iqJYJ+vkeuNNyP48SyVHCoz/XnZP2zNWkFeMm7clvncpYY5XkLJpvLm7PgH6XH8hWqxAHSsJ9qpCXtj5JA0AN15uidfY31GV48aJj4QHH9VWKknd+CE/p2fIJJ6iD+1LLyZfa92/biG2AbyWrdrGP8A7GwLJXr0gCX3JGzam7Uq2YKbAYk4r4WoxjobCjyiogVwnuch5cCB3053iT8clJsjvNjYCrvl82GF2aYghFGhZ8DFQMdsW3RBXVs2C9pHqfJ5wZohjFGew/ZJJJKhfFDwxPmqs664fGlmlePH3JZWt0RDimRBVCzbZhot+OQydjiB1xfS5M4gKtjbMoD+33G8fKjWhssewEjY643osHGkB7mYrk57WK7+IPxBvLvd/kGpcUsnmNFxWWCo40VkUqC90DmwJ+ZPeE+u0MTZUdevSyLAzuO8S4xozUzSPS4mviFAYsq1SjZ7uvSkAHuuQzaBC2AvliLvyBZxtF+5HAodcmafkRML9sSOsQSIX7cV0FsayZVYt9mySTvqGKDjIzBe9/HuVsbo/iPrJqCoo0Cxs9TZxcdZAy+5Ky4+FZ72Sq/IKP72rGxTAleoeJLzZccgyL22LwJBtqOiUBPdIduTiMr6SGLjnBShYLQH6DdukSmZ3Ynxod3ddnr0qFeJFNLOf6krUARjQ12/9IvzGncW7S2uvXpovexEeaQl27V7c/Flm0xG9i6s1s11ORyFiVE721/nXlmNMR5IFplXigCevRo3hh7VCp3s7lWI0NkeSSRa3YO8UUFr64/qjwLP/wCpyZLW7+IIJMcarnbL2qcRQP5qB1/PPEjjSRSsvJILFqoZVk+PdeI7UyyJavJ116z6lLM8PHgMscKJtUBylcCyWI3SWPLWG2TquuPKYVs3vQ+VbN4qo83os5P9ugBfXI9YKQLGVQZuxNHYCa/ZYud0bPgAWAbm5DclllkdYVV1jjjSv6aDZyY+ZACLAAVCUUjMV1Ig9pCXkAEQL4g5kMajiF/Fatj+R2x865CzyRlYeQYEJXIh+5lUeAw+kH2MgpqypPXCTj8WANHIJeQ4ykfyqfWgLZ2rS9zE7YmvK4we/MR/5h7hjkmbffeTBAb0Lv7CgKGRSR0kca9vvmV0Va0PbUkEs1DWR3iCFod1NV9OkXKCp7ufsDE0R5/6m8A3ZNkH/NLj1xW9JgSON5llljSxBEGZgt2cq+GVbZ2ywP49cr1aBJJZR7cWFk0/9QtfbEKvHGxYvWibNdJ6rx2nIbuJshLd+41WR8saGTUQPG8Rt+TFOv8AWXtzAjVt992X9tbL18iLCkhVugeuH6z6ZxYwwE0JVXDNgC7i94foyE1eQ+/I8ySpNE0+DKpJKhzkylwccqFZn/kGzSr0vLWPi9xxEfyZvx/Ua3S3VFgijHeR+I64s8LGZhAXeU/7zZN7agd5VQFt28ADV+b6i48DBExdbNMmAAXeWHglia/spmskUD0nFjk9RBjW3d1TzmwA3gPkAaNux+IxxjBbXpcAHMk5AnVw7MQMsndPxHbqOPV4gC/LZEAdOvLk9yUt7aCyHYhUF/vI2z4gffaGovGO3r/UH+s5OBFF6X6TOvvNf8n1Bu7HL/0+Oq7Ylu5pNljpO0dcp+RJUfInlYOVZ1eR7fMknNQwzY/J8iAPDHFcS0Dch3XjKqRkAM5IVcVAoX8j20SFCimOyW0IIOISSMwhUNrHI1eybb5b+vGMaMbPXpuEjxSe17cKnLEaZqHaWPlb7QrPvXaDXT+8qOIxFGJRSgsQtkbcotu5+XcfoDELo9S8nkcTsPIKxEEyYpjI48lnP/oozVgtglQoA30kCPm7TNZfKvHuMyilJ8KiL8tkn4ZWcehweTj/ACGeolJxP+3nQ2wB/qYLvZxBoefHXESSQmWRhCrGl33+3oAnyRejsPXm7quQFPIeVJmpbwUn6VdMVJY/9Xjx1x+R6jOGdZjHAi+VVboGgWdsiWY6oULy+l6PIqTuJllw2725Vfrz2hmbxrVfiAo6500sshhD9zE5b+KA4jtHdW9CxkxunbYj9lOD/Hpi5tpN1rZAdtWcPwsBA3cdbg48bBpqCggIuVtlITf6ACrosx8/BaUbnkigheSXkH+mcQN5HY3Q+2YePoAbNAdS8T+arTl2bPUMQ80PGqpBsE+dkAvYPXG9Pjg46MyBURu2qZ2o7azSgs2x/wBiFOI69gyMs1RRBAypmRUeq0Pt6Pc77yJ0p8mFGwVU98BTkx0ncwvz20AKFn+40B5hVePIq9ozQ3iKWhttn8Sx0oAsAZHwvRgMHCedVjRcPJqwG+QvwuZNFbMrX3YKKLAc15TK5ZFfDt+6uzf4lyKBABVBobs8RYzx/ajxijNntH4IpAqt7vX5N41Z6QfxsRAuLMyqzsPjd9o8Lnv4oGog7Zqo8p+PKkbTn3GIpU+v0i+WJvWiBSl27aBzj/8ADIWlkY5AaGVMbCnGMUZCKCLmQCRbUC3X8njrxX5Hue2Ej7LAbAVipu8SRTOO45P3eD1y4peZ6hDkWMEcXuBfBuT4pqqLDvlbRPjx1/I4/HKcWMCom75CVxEld2IXXabZyKxChS9kL1zpUkEfG4knsJhnLIy/1pDWCpHGNj8mZmIF/I+euNwB3yzF5MbOAKlQB2x5ubByr9kuf+gBeiI5phkzSOXxxHxVV+Xj60QN3Vudtl1y514XGT2v9x1JxUaQWa0KUHWrydvrFR1/p+DlPM0/If2xedaB34Bb5GsqNeBdFfl1z/UeT/IxhJ9uLx5Wyvx3trbb0v8AUOS+PPXqUXNnbKR/biBBe7BK38Fv+9gSxCtrQ0KMXvI8O1SKgCxoXYJOP2L3pACVWyAK6/8AFZe6NAxHaLBoKv8AgbALb22T6vHQPXAk95/dkBWPMBib8I3wGN+SLIBYEKbvz16hNHNNHNnJ8R/TWlCL9XXjt0FJLLsmiR1HwTyg/Ilf2II0IJyr+kq5MSfOJORJpRokMW65PqJmkMfAEgiBP/mZ+3LYUCGInSKN5EnfyJIx6k43JYwQKWcsw+m/qPlbfWTKgveIDN4uh1w/THTuaP3ZALIH1TaRfOy3zO1QXZz0PXpmWaTinkCGOJI1ZErKWZlykY+XYBRgttii2xoDrgRB4xI/IMnu+ctIATardZEKvdSUzGq+umH8OCXjiIGWcqV+OW6pSB8APL7yJFdqgnoenCSeMlhK4Dsd9mZ+rNZKi0KUY9ws1rqXjPiwVRcoIEpbQX8jGleBVXioJ2da64nF4fF4VAZuaugQEX7snZkmby22w0ALPXqPPTgQcpeJFEnImpWfEEwoPpRu5SdksThtyNC+LxKj96YsxkU4knWTWx382Vdu5U9zAL5PXpnpyRuzTZZO94n/AHGVfObG1iUnXljf49p6lW+Q6RQigPPdVEa2xFBtksy5v+q64nAPK5VSN2h1NAaxBPdQA+8iC2H1iNE9czhLFwxFCuCiMyKxu+1TT18nb9XSFti6HXGXNQnt5NlgA1EBss2v6pBRINnMqMT0Xh40SxL7bSDdAfs7/wAtsbY7K2e0MOpueRL7S1+RJDXs1l2rrSndnEFwNnr094RO8z8gwR4EBnIAUse4DwoY2djwKNdcjmy+mcfOCV1mwWlBF1VC8qxBoAZVYJxG+uV6x6jNx2PJ5c0ox0nuYoxWyw8D+mGPcVRFNFQWO+pOXLLzIypN+4t4WW0BYB8j6B+71YqupeL6hzOTDCMluvc14Bovk37RSFs/H9Fj1xfT3TOMSf8AFfZuy7bYvXc1WFAC2WJofx4Yo5Cx9zvFk7t3IXFf7j9Gr/Il6FHjSR/01OQKnIIASdH5Hwsf13VnVAOpsdSTFePLLGXeaQe3EO89xG1X4/8ATm22IHtil8x8CeSES8r3GJkZmz+vFUD+WmORGtUtC+peSQhEcfcW/EbyUUoDH8UH63ldeD1C7Wv8jkMAVcU7tJQ+3IypR+KoKLeMqvqLm8VoV4sUscYJynmkGLOO787XFcB8Y6LashTZ5DQtKI+D7ckWDe7MkWV+AQrGlAJ0aDE5BeuI7NN7JTKNLwUUF8Vl5A/uIataxZmOue0HHtnQZWDQPb2C2IGrC/bv2qFNWT1y59e7GwTJyXojQ3rx8tksSQAdW2NdejwLMjSzSDEpkcz3SMd0Fu6RaoHFRtzWuoYvdJfIYRg+2igqisdj/Jb4s1AkkjI0pHXM4gXhml9xp3Cx6+QHkA7Yg9zSYCthQb64vDk9qNXiWL21sCgDbDTENq/7FpsbUmgOuX70nJ9lC5CKa+QUKu2ILUTZxW1VQADs/HqDgcv2pGdzeKqikYhA3+PPd8UUVI+zktk9FZyipHMWbPbeTdjsRRkoo+BRr669O9LlblpNyf6gjTtUktR+tE0Czk+c3b95MQvI4cvJ4UilvGlVaxSNW0MiQtXbOyhi7n5EChN6bDw+IQ7KM2+zbd3aToBVJGVDzoViOoY+PCq+wglagWAshR9Ka2QoAGKirJH+eudJKJFbFYVGHmvcFgUiKllWI+vO9YqMuvSvSOTzOUJfbJJ0L84s3cbJIUUCNEn+749c+KUxGKFYajxiyUikCL3U57V/+xogGx9t1JCRw196RETbER0fjpKLbajvI34FJq+ubD/+zWl4+eSui5Wf/U3Q1k1Cr0WZiSRjvqPiRcfjqFtuQcbc975fR3YW2yNgPgtkEY9Lx7WNU7mYqGbWTOR2qWa9L822q5HelN86P2FEcTK5LgGs8NLi0hc4l63RGBP/ACeuNAI5TBEhk5DDf+LIJyOgv4jDyij4ffXK4fE4ax8jnujykH24WktF8KoKg0b/ACuwB2izY64vKcPJjJGuVtpfFUqAAD8L0vgOST/t9ek+mSTrJzGR2NuylgBr6Zi+TbAvYruNA116qvKj9xyge327HIk34X6vRW7sDYXx1x4+fzJlab4JlUadisa+JOtX86bKh3aA6biLxHiOIeVwZAtWbwH9Qgj+mgABW1Gvvuy64npyrxxJynO6wij3jn8VFX/UfKzQP1v8gI42cxFHSMMy4JiGYeBZBsLdjRyc/wDTvr1VmHp7cZR7MbxNkurC/uVtC8QWKD+8IRsDrgwwibOTtVnoe5ZdyvkKorS+Nkqpv4nqDjyT8wS3jELpYxblC2rIoAufChgKALaBPXrHOk9I9HlkiVY+R2xwZAEIT4KrQDsgtvhitZuxoBni5Ji9+UyTycrKeSSYnKTL+5tvg7eftwuOKA11wIuREIVmUK1rjXayodu4+osyCPcbuqgDkdczloWijhRZZE3iqvhchx81lIBrJwSWdms1rpuT3e2WjSvnjou39lCziPu22fx6JR2C5n2wovYGddoGyMtg4hmIAs18U65XKj4nADouU7uSinwojH+47NjdCsRigsgjz1xxJ6jykjNSQIxMpGklKW7DX4BvP+O92LFehxuWyOBEFxOMXbpQKshf+dAaHaLXVGCCPjr7ksaMYwFAfus0LL72bssAdWqEba1hPJmkkZCodsjqncbql8i6yZzvwkdAE9elenKkUspCiSUqoVvKoP8Ap2VGIq2x1d6PXr/rXpnAimjfkjkczEkwcdQQpZaX35tqtWAEBc7oD9enciebkly7RxqhKVSDf9uWz/kgHf6AA6KKYwokovRYkklsjQJAovfhQTWtZbPUsQRyEk7yctkMdMxoLpcrA8gAfqlo8HgcjkxyO3+0kZaPOiDiO6ViaFF9Kv5VZUCh1LwE9qOSWRZGYVjt2LfioQaGiKH+frZ69TjczrACvagX20GX/wBia1Y8Yr4rqLhRca2jQO8O3kYWofyf0iqhJHh3d/AFgj073DfJdc/k2NfVk5Neu5vHxAAFX56yfJAyYmbtsCjTG2xulAxWsiNICaNgdS8T248mIybvVBZxB8DIgZNX3oC2oV59E9O93kNdYqMWejin7bf2tk5MPOKrV9O3Gikj4/HhsICgYjuNfJyT4VRdm1Gb/wCOvV5uSWXjQYKsuJJ3XnLAf9MaAmqxXbMASo6l9/3GRu53UhUSu1Qu890t+AuXknLx1Ms0YkM8oTBGKxAgAa80vc5GgCaTfZ++vSvS+V6hSBP9xiKN3VAFm+1RFG77iT8vNSejjhcLkRrIsnJEVRgaVCDeybVf+lEVioBJOXXA5HsK0skqeNtVszN4ABs2Qt92wmChUFjr1flloe2v6mu4Xk15d5/LHTFdrZGRY9olhpMJpWut3oixbtiT2ljeIYikGRUWAfQuPE3HEccTdyEmV8gFQjW6ydia7UCrq28giLiRIkyUEihUf7htnJ38Rfy02IX/AN131zOSOx6/2aSJdXut1vubHwLoCvAZuuDyMo5+S6lu2qBJL47em8kXhHYBzc148cWAvK8x4oykpLI0FB8KPJF9qi6J7mYbPXqUaoscJULZ9wr/AHFrUGhtrGRyOsR5rr0j03im87SNPlJ9ljbMsYANE7/+fBpV65bR8SNIuJxWDEgAta+V/W2vySzsK8mhSmNYuL6Y0symSWUAsQpw+yqIDqsq2cnavj+vVOf/AC5k4kXyOK0CWYsx2oxBxPhWru+tdcXicX0/0hi5LTuQLAGVkYqEF6ZmLsPOheXXH4fF5c0KspeVnvEEssYBBr/JArJibdz+uhPwPS+HJiuXJkQoP7Yl/KRxeTHZCIScv/sj03J46wlWEnuTfb7bZt9aCjyWC1kcEYtdDkzJ7XfGTjJaxuci1X8lU15IH15oUOhx8vT2nm7YYoJJd4qDippq+AFnt+UfjEMcem5R9r24UxLnNpG/t0qnYsgHQvtZ67mrEcWQD2hatXcteXc0g+zf7pTX7++uZyok7nOTuDSj8V8Io3+sndtDuAHXAkzrktGUjIugu2RXOAJsakfuayMzQBqh1Nwn9S5sbyEhLRlGtANrtqgMj2IELO35EeIvTfSfTopeVzp1jVEydpX8DYjjTz5YsW9tbYkC/PXK/wBS8Y8NoPTRJ/VDLFlEyBqoNIQ3cw1QyGOK1gV0eX/Km4iGWYl3YFjpe0msEA3WjpR3mrXxXCeDjUlEPWCr5Y0djZUDf1/xZHXI5PuSLmKU2WPaS2PmvKkLWOZuMH4ZEdcf1CWRFWBGIU+7m5JvTDNiRXc7dum8AkMBXS81+K6NEElmLdzHaIa7iWo2w/SjOvGHjr1Lly+zLy+W2TP7cPGjbtDyE5AYmgFj1LIANHHJeu6WT3p+QAo7FVPAWvCL8nZk0D2/MkCyT1xF4fF4cXIdsnHeqEkqXOg0rfn7Y/BLVccbsgdeos3qMsPu/wBSlcqr7WKO7MjqOxS2vqwvaGGV9ckwF+PEciFerBXJ3Gs/JAxHapLH2stAN06R5fyJG1VRQgn7FZMfmxruZyKUUi2xPSSD25pIQql1I9z8lWiooksQav40y91dxAEMUk0rSnId9JZs/tpCLoYrVDSR60Xs9cbjO/IjxDuavekjjSz+hZwAJNfmPs758cssje67OO0KgPaiA3iNYIC5BcgN8QoBcgD/AE5xkhiFcZ5GVGLV2AAvtmZiSqiu0E5k0SLpRy+bjNgkSKFRR8tXV0PyJ8ks1E/o/Ix8hcZeRyTIkSLoJofX2assTrf2K8X1P/qOSKQjjcbFJDWTtTEfKgfoBcS7eKCrk1kdc7/VnqsvGng4wXjQAf1JIr918ziF9wjtLgfFafGrNaOfLe1AxMp9yRjeetKpdyW8kndFiCccdiEzQ4vLIlaxQE92ApSxq2XLSec3zbQF9LNypMysqLkFPboKxGKD3Cd4g+Rlibqj03Fj4MYYurzSUnbRxQEAADdKxH3TMLaRsbtuVM2MELmsAPkaN/l9swH7wC+djx0/LAhj9pHkkkZmDb0CO0A787d8d1WRAPQ405eTkSMUj7mNEb/FRdnyboZUNuwHjpjyuTGI4qWMmkH46q3IHlUsHI+WpQhJ69E9BmiiiSUkaR3y80SNtfml8k6FBVUGuvUIweWtWyI9nwMlU4qmvEY/JmoMdKpJvqOIcyaST2skRAMjaiSSx2oNsIxW2PzAuwDXXp3FEPpoxWKK5C7O6nuN2tRg229gMfOJI65k3tuPZxA8tK7DJ2yOK9tUN50hOI2zZVXKl5vN5ipAdR0uZGK0fJAr8jqz9K9a7jDwTx5EDujyP5K9xJbeifKj9/BmDH+oKHXI40fInxRB5CGiWF5AlpH7Br5kCjiqigKB9OPH9NQny7gYIBbHK8AQoUAX3vthd2LHXqUnIi9O9V5coMUv8WQQJaiXORcS5AyKUG/52ACGvr0/07lciLjq7NHHYdlH+5KT9bshcR3NI1kXSKuz6lxD/TEbKqx3/t0T/k+42h9bF7ok/Qj9MeeZOTyAfaoskYHmyMASfLHtZvl9Wp64nH5CoqxKsSYWW0CEF13Pfc1H9/8AzQ6tlgorYcvbNIf6jeS7UBotrezpReup0l5E/tBcRH8ydV/1MPOTV2IaNeSB16T6WkfHWNjTGP3JCa7Sdpd6tUBYAmltT2iiTyOHxIi3vRsyksSaYALu9Cv8DZJ/dADpuXxp5xNK7OZDpAu2asrby5A7RWgBQVW317kaNxooRiatFK7Lse58aOw3lj5I/wCnrl8lpJlzkjVIN4s3kg/JxskeD3FQzVo0OvUPVJZ+O6QyNK0Qx82oajaj6LnQrLt7tqgrr0ziNCwmc+7ypiqRhDlTd2svA7i7eT8V7R5H/hUkfDCSN/UKk2PC3/uFWPyIXszFqT8dKOkSaCJ5U02DL5AVVJoINgYgHZN22y2h1FxCOKZ+ROHkmlUitgAbsk0rGzSRiwDRY6NCCOWZHssEQtoa7e4kZa/wHegvyo9vSI/I5rmgYVakjA7cR3E1stf15GAXI29dc+eZ+O3GlXFCAhQkKpy+OZG2Jx+P5d1FRroxRsXaQhwBmQt/QIXziAAoOJYliz2EAKjoNMwj9iHvfQAFgKBQU40v3ZF9seXgkdQcD2w4kUTcl+5mkK4p4AGK2bAs47C6GuudzMIooOOFCp/ulY1stWEa2T8jet2oalA31xE5Pvblpwpcdx7QAbbtA2AcF0O5iQKWzKnuFknm9xxgwXFyiHzkzN5b6FUQoOIs5dLNEi+5/GCqiBFeQoHb6FRjIqD5q2avJLN0WXFp52KxwhnlIPgDwpPkmwBjfcdePHD9X4cnNeU5YITgGxNRp5P62xA+vB80Ov8AxFeZzE7qTLQagG8/R8kLXaLCLQ7Sa6eVn4yRr8ezKjS2RUYoY+42FtXaig/56lg4/H9P/kyTJCgGPuO1YhmpiCe5mcghVVFBokHADrn+ot6pymkgRhwOIhggLAh5RvN1BJKtyGPm8xF3EpYHXp3Dk5kg7MY7JdzsVQaSgpr4gLjkxCgKTbN1NLHgIwAcFC2b839kbbD4pGmnk1ZUV1yoZ3TKmWM02Ck97ZD5V8gpxXzjkoVQfHUPFZYEmEeRjjZrIrFQD3E6Pk2ouhouwojpJG9QSwRHGjkFr+f4iroY/wDU2N3pa88g4f8AlopGkVUGZGldv0vge0thMjj4IWyT1xON7Oc00qhGAwH9znwBQJIU7vZY2RQC9cMyuJfaGnsZMpB9v/qyNAMQKTHuq2yAvqXjySGlEaj3FLOT88PuzvAeF1bEHEKt9cDjTECFZ1OTEOqZRpZF0KBY4L48UFBJBfrkR8fhKSSJnjRjIwqsyQcE8/ZjTyb7e1aPXM9T5PNZuOlKisrzFK8bpLsn/AtsR+up4XeIyyOQgZgqJ3OxP1+vF0DZJe8RojlToEhCJ2jI+2pBW17Qx+nORpSbWxdtfXF9Ok//AAjlriCCVBsnH5YxpXllUDL2xinjGy3U0L85g6RsI/cALnvJ+mIAONVUaW2Py893T8ZOMsMIjLSNbb2FoaY1r+itkfj7jAL9nrmc+LHABpHjyBxs01YmvNtRxybwcmo66g5DGP3CvtmQge4/xUDQoeMUUHHvYsxsnz1JwExhGy5CqARoLiCxI/VfX5aG9dc3hiVRx1B33UNnHwP/ALXkjtBsDwT1wODx+F7Mk5UlAmEOrZr12rvEG+5j+2oscg3L5UwnlWkWl8Ds1sX9yN8TvX/tFA8uJ04sBktsyHINZOd4qI1oVW7kpdli1CuvTp+PFxo20WNlpDT9xaiUBAU/SoSv7IFKL9R5aRcAJ7zo5AYhvlRAO1C5XjjSBRViyWvr1P1ZIg4j9ySU0i387rvYgWU8hUT5DySN9enTrDE3I5B/qtGXw2TdFVH5f/AIoKWdmNA8P3+XI/K5ErquIxXuRN35Zt0E8KgZsV0BkW64c6crkvHC8nsRuUZwBEn6Kht1e1pQxC2e966bnQcecMmJwTIyVoFOwUX/ALT9d4BFHusCR35kZX239qYHIt5ks3dsQMQds3eWNAL5PUE878j+IgACM64J9/3tI+u0IoXVE6VfJHXIgdmk+JxoucQqgJ5VdX5OANAgXiLBbpIpxHHK+1BsUKu20FGzWid91CziKU8znyvHakhtKtGkRVG2J8EKTu7GWIq76PKmVkVDKUDH+ozEX4xCDyC3yLHf664EExud4XaNO6qIDt8jf33OQPykK1aqG65PN5rw0kAjRi6nEV7jNQNOdVruk3oULOuuNxZuUzKcSAoJVVLAf8/Z340oAFnfUHp0iCNTBsFcRVOzSfdfbbOyKUDz469ZK8SFMFSOT21VVQ5EKp7nZvMhvQrWj4Wz1BGG5lU0zuC+J+AYnIGR6xP0xVLpQPlddMXJliVRjk2bUaxZtDFf7junkF/JtaH+nuCp5P8AIdMxGQiZLS5aIRdUqquJKp3EUT5vr1LmSJOCqCW+0ZGlOqJ9sfgCaRPBAtsmOubyuZzM44VSOEaY9o8N5dzQAAXJv/gDrh8YSQwHlSnRLCHxig/JxQwX7YuFoLXlj0P4+YX21EbKay8uo8ySZEkJ/YmJYgFjioA6bkcDgNlK6e8/9ZYyQNMSVdlo0NDEvd12oAt9cr1r+bLIsKR/x4l7uRIDlJIR/UKD8Qq1HHe+6yFHnk8jiwcefPAzPQjiUdzOSCzm7EccaABWcl6AahkB1w5rj96S2vYC0qUv0W3/AEwT8R2/HMEiuuLNFGnJ53KkaGFY7Uhds169vPyzMVWPEUXJNjHXJ5hf+lDEkHuEEuXMvIKm8VRjgqlu55XXQUAe5uiOa8DO/b8faU5WoUD4rVZk+WYefxxFdcblc6eUEGs+82F8fVqulVVr5MT4WrPSSSO9TbT5Yhe+Tfb9iga236Bq+vXeVy+cf40ZWHjqNorALrttypVdm9ZCgCSd9en8KDgIinGVpEQE6ok2cR9m23vX/RfXC9Lk5HPQrCKXTuVuhvtH1iACzeLJpmAsFo++PjQrodzt9353QsmhutbQHtFdf6pcS+m8eKOMGOKVSwvycQqZVX+Wr9Ch2IxPC9IWfjRqWEaMCWBOAYEkl5XFlYR5Kqe5VVcbYnricbjRrHxuKVKiMJ7mGIOvIGu37AY7+9X1H6RwIxG/M5KqC/cPcUUoWz3fuqyx+2IFaHXqE3pVkLIscSKmKXVgX3SN5/dIviwPrr1X1oczit6b6atQYqs85/p+4oJJCKBkIwFJLGvIA/fXpyJ7gRpNJJZ/+mHUUihCbYJ4XI0X7mY4kD1CSPjuH9xWywLFyWZ6vYUfgPA2q/QsknrkerP7ZYKlrgsdneh3N/zbGgfBBxFAHr0p+VPwmmegW/24Uy2N1r9UO+Rj3sSBpeoo3VyGe2VN0BpgN2TQRc7sjyBiCRrrjyfxID3O8swAzcFraRs3VF8Oz69yQ5CNaHyodeszPBwQZCVaVgFTWbkDxQFAlmLEEYpaCy2h6dwJAiyuhor7jZXiuqUYny1mhq9XoC+vVedCkMnGgXIxn23cd3eT37HbokCv7z94HpIBUDS0uXfRsYgNWRrSjSqlksav/HXO/jwwxxr3OwFmiFVRo3mdAkfdEnQXR6Vrm9sFlgjphvAySY9vboqg/ucr23QPXO5OLkCQAomAHigB8mu2P24QjZOTfQ6ihbnuI4xpz3n7wr7JoLdAY7NZ+BfU/BhURwjzQFg3SqndWj93ZOmK0oVBuJ8izYqrfBC+JwL42x/66ApFzOu+h0zQw+4yq0kvcBQ7qX8iSNuxs2frx7a+eH7vO5XgAglgt9ieQC7nRb6/M/MqVAHTwfxOI6NRYgUq4hiBRC7DMoPykbRN7Px69a9RIighT2ixTdkFVz0ztjr4jCKMeb8m764vIl9qOFUDSqRkxFKn3iBWyuVUAQGvZc65MM88jyO4Y4VjdLdfEkH95EqGxRNtuul9OiSbF3EuG+0dpYnL9bW8mJ7QxYf9PSHjQ+4uGUkgT5fFUU0oryxeTYTYsDbHrkF0QRxx90kYstoL5JJ+zeqH/wCbrhJDxYGid1Vl73xFnJzYX9LrZdyWxXRq74vs889mTQrIoJH5Y+ACaDKp8D45GynSnkzkrCE9uFdtVqWB7qZq7UGi9W1X4odRx8bh8tuRPLGgZXykvLGzk7ELeTECsQdbH+el5ycxpDBA68U+ORyJMC6KxJYRroBiCbJayY0SgOpJ0/goC4wjByjjNFnbSqx2SB/k+AP3fUVPxMpYqUv8KHgH/wBRtk/bYqS1KgzW665/JRpoikYRRQsBUAAH9xP/AAXxy7VI3d9cDkR8mAoWf2zgqk+ZFU5uVUkdpI14Vv1iOvUucpdYYI67cNXI2x/d48ffgZ0u/ETx8KJIYU9yeRQ8rtlijE0F7ddo8KMmJI/fXrnqnI9NjUowHMmBEK+TDl5lZPuSj2h7N0W0oXr01J+RMZOTyJpWkJaaSVnlJH6JPgAmlVbLPar56himi9QnWSQrEiNhj82BXvJbwDWQABsWCzEgdCSV5/b7UjyJRb8D7kah2qKbuItsURAfvgGBY2ZpHEUEZ+sQxcjQ8lmlbK/ybxZIsc/kZ4yRLIPeL/1GOwuwqoPA1Z/M+dLY64HFdoKZDTM3tqauQkjFQPv9tqgAcqHUStEsvHhjSR6AdychlZNG9UX8jEFhZvAX1PzODwqHI5URdQodcwXkZiKUImTd1FvbXufMNI2JrqHkp6r6jz+VPK39TkEAVukAWKJLulVRX9qjx/mCPjjsRWbEjVasbN1ZJvwm2NWzIL65nGgmZ5ZJWovhioNm2v21bwq6GRWy7bJxF9Vx+P6SvJcpHxYYyQcT342BiPLrkWEZagx7vj1yfVJPVuXBx8Hh4MFzsgoPM9DFpNf5xS+1AWxyYk9fyYJeUzKjyEuUAUkjtVUG62B40aH23gdcqVV5aKEkldRftxixbeSx7qX4i2NYgVrqFl48ORJkmpbCDtj0CfGgRkqR+Ws2MddOrFWcVbnFyLc2fKirugRGFUf3Fmrrkell2DOW72UY1dLkAgIBof4UEse4muk4kcEsDe1kYexTIPBPyfEUFAQUulXxWVi15H8bi4YhZOTSmhRANZUF38aG8iNKqjZ6HLpZCARYKdpCoB9W10dDZ+IGAUbJ64kUXJjnjI9zIM2VZAD8nGVA5aXzte342OuMVjj5Pvth7LYAmiNd3cT5r6RAAa+wek5fCiOcvNEUMffIzg2wG9lgWcmj2gYkmsfA653qz8/ly80uyQtinCiYf1Bx1YgSMDQj9xyXJpf+9KOjx/emDZSusqhl3V1oOSfosO2gFUITnrckPH4HHf3TkxN+2G0SPjkAfgugPcffc2z1wjHuaSxFGxk8kF3N4qB//c1miayvr1FF5k8T5SpExVVx+z4sE2dCxkfHditr1xuFBKow97GMYZFTsEliwv8Af4ilBJBZiBXXECx8eOJM0Eng9xOqUY4jKRif2yivC4kZOeNxf6Ma0T2h3xBkcJckjE+FQ62TZ8D66WaIiJ8ga/Vs0hsn/cfEf9bndAADEdcpV5TxsyhjC1x1bYoD3kX9nfcAka/crEdeq8s+0io6RJ/t4qTs/Ii7UYr25EUWbS2uR6g47ZgZKdFsnICqL+V+FVVtmZQjMz6a+pnLukSuCLBZ/wC2NDqvAUs2lskqAT3uR1ypfdZcBQjpVoDyO3RJtnHjsBwJa2DX1Fx3ZkSPEUbYg/aizVBcmv8AIVur0emQNNNWLt3hQhv41ljQxQDwZe9zs3Zrr0gOsctCNe6rutX3AFrZmc9tnZF0ovrgemt7M/L5BU/ob7ictW2yoomvyxBYBaB4vpEmdNJiFBcm9lT/AJ/6je9Cgd2dc7i8aCF41kUk6kqySPl7fm2vt7F7ftqrr06KVAntVGC1u9aBvdldsV0KUkWK8C+vUFfkySwxuPbSO2LnDKx5YL/ddnYpAapmvrgQw8jlMXcyiJj3LVMyihj5xA/+xAGKjociJJsI0xXIYhRZOPaGeQ5Xu/1X1s9cmawuEWQ2qXJitA7Y0Cdn/n4+djpXdHYuiBVpiRdn9BQcv8d1ZHSofPX/AInx4eRQhZpAUZmYV3tYj+VnFBZAsE9zFjYUcznSNDeZjLNuwL8gW5qyPASNf0AK6jdZJsFJnMg/pgjRdu1mru8eN5SEgAHR69P4Y43EKPikzlqCDuQV2i7Yod0bcSUCO0nrnz+mel+khBlJNICp8nuO2J/+o5NKFA8sxOQF9Sf+aCEo/eDirbxWwAWApVF7/faLbYHTQu0qcb/aRPbD6tzsELWzk2tHE2SWpFozpxolQRV3MAhIF9llpAuzbEFvcIDY1gq31zOU3GTkGSagI7hU+Bnsu37YkA7P6As1fDST1F4zLL2ZLHV4WgIZ/AyUO1KaAOAC2WNjhcFVkYs9Rqndqlo6IomjehWwcsabE9cXgRcn1GNgC0d3bV3N5vwRm1ih+C38Atdf6y/1LD/poQcTicSHkeoTKJzLOT7PHjzKx4RKQ00sjg4WcFVMtlh0T6z63y05XOm1mlgVHDFGdlUijoEk/s9zaOQs9cdPa9pLUdwPy2H+r/uk7gVABC6N6ocx40jZo4wWB9tVBv8AppiDkzdqj+5jVkn9V1CFmaLlSw1F7t4gGmrx2k2+Q3k/1fgDfEmgkjLNQ2yqLDH3GHdiFtbUFU7A1VipGR6Y8KNJebz5Y1jgQhIicyi/BY1jWy0r/EKNbYsbOvUf9SSySOOIo4seBETGmmIUfigOCjycRfcyWSdde/M3H9gT8oym2kRZXu2IHe1qL7qCixlZcmrHpfpnKmaSYwY5k4Fie1Cdee7Yo3bFu0sVWgVgThuOPFGo7hm32Xb5NrJizHXcQfFgAY9RKkMSqjoZG/tGRonHSj6NUtsF7csa8yWwf31EaIzMFJGWzW/oO4pdWy3WQo9eqc8TcIQEqckA48Aa/GhIwPxiiGwxUZvWOTEVwVSWZ0wFDTMReRVd+SSQLPntLsTRrqBIU5bxuVJUDsVR5OUmIvtACi2NChd/Q6i4sHuSclwoILEA2bJ/5FFvJpVOKhVBA31x+MkvHMs0o7nJRQRV7oKFByxuzjZYjb7HU8LVHxkVx94pipoHuLG9D+4nJjQs1rp+PMscZRFjwAIslmBYbcnH6X/jWhWXTz+0yuzLp+zKjbXTNVku7N5bKhQ3ildJOnIlDyMjJGMmPiOl/uY2Mb+u4E+Be+udzRKqxcSHK8vbpf8AcYkAzOWskX8bvS3VUvXFfkcaNgfbzlWq2Wxob/dKuTW+F7Oh4E0j/wAnNh2knEeP7i8hH7IFAV8TXxF8z+VzikcR/oqcXbQs+SSBtjo0gqgADkST0/p8HEhUyi5XW1DMG2Kx15Yi1AAFA3V10mEs6RA5PDXvOT2pQFqPCrj8N7u9AXfqkGRSCJgSzXl9b1qhkS7k9+jiKSrNcXhcOOAwkCV4h/Ukxv8AqEbCg2Nfld+An49eoNE78bixR4+3qlGB7qzYt5FL/TBZts7UOlkigjRY4olUUreW2BVAWAPssayP+euF3OvJfdrUWqCqPpPxX7+INVZN9ep8Hm8jkfJQLK1YpRY7ANl6NL9KSjf8dRekPEizyxSSMox3k3nwkcS45O1W5OAUALtb6/gvxfSvU/U+UF40ccbiL3CAcvigxSu5nOlBZqA1bX1NJ/LDO7EIpVf8ksbb99xCntXQFD6sr6a86IoSQe4AT5Bb8hkWJOIGwuhZUspJC9NwOLx04+SDMAOV2RmPhqrYg7JZcbtmb8R6k/EhZNJQIBWyMsd9+O8RuowAWZ8mI0OpOZGnHYrC6l0K601MR+vBPlrPaoCAa6g48ohz9v8AjoYySDpsAbAI1WR7qJA/JyLHXonCDMSdAMaJ2bbu0o+yNjYxTuN31NwAPTfbjJLYLZ3S5a8gAliNeAN0P7uuf6nFxvcBIdyFMlEkdi3j4OMa6HjJv13dcbjpzzHK6sys1btVZiC5AA7mH5SE3+idheudF/GRI4VEccaj4hRrbSNvVmqyogaA3XVSTQhVbD3SRJJWsiboF/kVFEsQfjda64sfG4fvJC+cnxVm0qf3P9lpN6DHJTvTDXD4r8ib+RLMQltQvsCqujVnKgAbZwvilHnr1PkR8QRhJBVeWqgDbE//ABsmz902Eex6hzOfOWWYrFld1Q3pNa/Haqe5ye4JGu4uNyFKygGkJZpXH39uuVl3Pj3noKgOFZAdNDLJCZHVizyNTNdJl3eWvuEffYGQsHWj16ZGF5ueoUWMBHbuOPwQLdLvvc7oX510yxRQNPnI/wAT5rIAas14JKjtCXZpvsvw39R5KCRisIt3NVSquwCboM1quTMdaF9DhAyqUXGKKsEQEsarz5/wLtiRfxy6f35uYBGtRsQJHN1XhlB7fq88F/a5dcxmDovtARoS0Y0LsBc2Ciz2g4qAos491Ej1PiNy5Ubwj4jzeN0ASSTkyrkRWVGiD469H4PEimhQRVHFi9yEHJ18u/0At/HwDZYlrr+k7zSHuBJEKHtDMBo1rXgD77vHX/jXpfoiLLPhNy/bYx8ePbkfXj4JJIVGWwV0Gbr1vlj1n1eb1Hnyp7jygqmwkUcfZHGiDeK6VS3zbI/XUfIRGIi7UjiB2u+0f2fjfmlF4r3VZv0CN+byJJpf6hycRKbxXX2Bj8bsqMbJOZF65qxqkkeQUIBltUsHdDTuPP6As5C6B6bmmTGPsjgj7VVQwJPgjJiWAUbZjTE3QLEVD6lKoMcXGBiRv9xmxBY+AkaglsRVCmN0WN76503LmdImjMUK9wjWzlJ+UspN2V+KA33bChVJ6X0+ViLtZJAFBraKTZq/Bxtq3+HuE1Q4XpvG4qyyue8msiRipAFgG+7HJU0QCcq0WfqKSOJX9mYFBaqPLSP+Tmh8QSe4n/irXqDi8qcPM6t3u5yegAB9UNLQ3W2Fgdx11HwFjQiSRg6rmqeCCVss9aQhaCZnJczRsADlFeRyvZhDvFFH3y+FeZiQSuWqUWqH+pZya/PUUCsz9iRhfJbuctjYLMRS4iiAAWA/THUEZXPHRaQLdEEi83J++4YjEWWsCq69O4M/K9WmmxZYRl9bNqFH+AaBNWa7magAvXJ4cQT4W0zBVB+1uqWzqMEW5A72BttGl4yqq3eMY7RWORu9L5CKAABomiTgvnhceWXkBkjWOLYZmoswFsfGRY+TgBgCRYNdcpgZHhP2pLhbZ13fexJUOaJYlmNnGhQXrm5yskccfsosuPgl2VQWr+4/3NlXy8KB03scfgUtmQxKGfybc9xHy+Ed1icUH27dcSJhH7hRkDGzivf7YBxBd/FKbJJrJiaJVR16lz2hmKxRkZRBVB8A1lbf/ejEdzM9N1GOQIQixWZV73ayWc1ZrQu/C+PyYbPXtcj2QkKlEsrkL7jYza6siq/51eXd1zwxl48SsS13ioYnFaxyxsBQRkRZLEYjZNceCDjPKxDm8C5y7mO2wXyEFgWVJ3Z1V9chneVfbi7yaqxo43jZ8lQbbeKj52dH070/uLOxAEbMf7LH+fAHhf2zGgVF2IEk9Rk/qkgNRevIU23tqP7mumLAAAG18dRcYyowVAkSnH5BfPkA1o0aLaNsT/k8DjZmFXKIq0yrGctLsLf34UtsbKjez1zOSqO68YU0eRMhbJySMRX0oJa1/NzTeB1weXyJJIlaRmEYOMP9zHRJHnBdKWO2cucvA6/1bNJyPTl4O148XIjflFdGRlUkLeiAZG7jQUYgBhvqF4ImjiC22eVBQTRN3Q7VsDtBIxSmb9dSc1YYpnDYlUAN2otqxTId2z5A8gH6HXM5fL5XsxxS2CwDlO1RWzZ2x+gPAC3ig6l4csn8anIyUyDQDFVFBmY/FS1u1HwFW7u+NGolEbOD7SMAPkcz/cdCy34ZFqB1+57lSJC3YLdlDBVaviHZQB8iC2ORU3Xd1/p/hRyTKGYMKzKoP72GgDeOVdxYs2wgttDkqMPbWwFBNC9vWzQ/qyP9XShR9qOoxG8rCXN/dlG2yZmGQFnLtovf4kUtnKlXr/xDj8bhxlVIwXEaoKB5/wAkmifFWPGwOvU+dy+SPcvBXN4kUihfip/JjeICg2WvRJ0vL5hPsgsSCbYti21+KKoATK7OxS0W+uh6fz5J4GfsTDwMqxG2xutEmrAydiTf306fwuP7d5tgCxH1lQIA8ZNRAyyxXwOuRwuT6hIWwIDL25Wx7zRJvuI/wirddxN11wPQk41NKSzAu+TKMUFAferqz4P/ACvTSI7usQ9wZePx8km2f9AAeHIHij1z5lifjQSp/tqzFEDOXckEjAeSW/uIXWyQvXpccMszcmb8bIDUcaAAoaXJd7Y9nccc+puTwzCFCAu21Gi1kUvb5LVoFyq5OxXS30wZQGbFFC/v7Br/AJJJ/wDcCTQpV6ZE4/AlMkix5d0h3dEZYjds1eB8Vu1qszyPVOOjsxmxUAFEWyQq6GtLbHSooPhixq26j5o5j+4ZGwMlY5XcajuZyLu6K/5GQDVrpearOYsQT8lLHeX2aGu0Gtml0FANdcb1X02N1Wb+SGQiMsB/TFDI0P2LJrFgCbzZyT1L656cxK8aDlzucrJxiAGtXbFQRoItuRmzFcuuV6jnPzZQlyOwRI12FCqB3Ebpf1a5EhdIvXChnn5OTRqZPcNDAt7YX82JqyKNWFUbrzfQ4pi45YtRlvZIayz7JApWYgX+aoAPld9f6exghVlayLGbrSqDlm1ml7joG/irYAjzyZv/ADEmbuQ2eA0uRDfI6sLn/wDZMRs0MehHHIFLNJipY4WQZO6spH/FC5Zyov6vu0KSOD3VtY4jSqgI9x6153S/I/uvOj1P6pKXRIEDsza/sUJ8i8h0d6xXz9irvie9yGSSeQAKjEkbMjHzROu5u3JqAUGlFMRDxl5XIYyyKOPGAAMSciPpfH/YLusnZlu+nm4ALQ8eKO1ItyT2KLb8NF201KD9bodJ6lHEYYrRAkTUtqK+17BbZM9SFcrPZkt9TepGaYsZFGeaKmS3/liO5rI1f4iyTddSrIOZx+LCDRoSSAfk62cBsdo7cnzIAZr31JFFwYyMZLcW0reTezhYPy+iqtQrG26RoP8AceNltTSDtxH2CTb23lyWU+bF9vUPI/jQzzRRYmZV9tnHnIUMI6HaD4BXeO9dRtF2zzys8raQDdKorLJ9ebGRtc8hGmKjqKFHSVvcZmbQ8yVZGhdCz9ksaFf56VzHh7TEnH+mtnYPYrGvxPdIzHEVSr9nqOJOMrmSTvK+6zH6DDTVvuI/2kFmyGZlVaPIm4sUWftZMRjRNtgT8dflKfIU33Es4ArpH/8AKe/PCET3Mz4o0e2MAA3RAAUZfGv89N6i0nFZkjARMyMzkzuTt23Wu0KP+n6vo8bkzyxTcklM/wCoqX3YA9lgeD9+FjQtYzcLR5cC8yKEu2AJBUGjIQPgKsol6PjWWmbfT8+FM81GNYgAYgL5xB8/ecjD/pBYWABOs7ZLGFDtjf22ydAfgqp9k3eyw64XHjmZ+TKVEQbKNL0Wor7krEjIhR2qKVbNeOsuLHPHmvYwbGlVMs21olSbAvwBvM0BZk5cbRyRQJRoDfx+yANLdnZYgXkSD4PUsw4rqscfuSHHM6AL3kxc/Sr/AGjZuiGAotNyeU8cebRpGbf6BkofW/gDdVlfcQnjpRPElxyHIhYwp7aTzVHJyzmyR+gTgdV/DkhLy8qTAsMkiWzM5/uoC1UFtsao0AtqT1/pmJpZh/HiJU+ZH1pPAVQGxtt294ii1mx1/q7/AFA3qHqvL9F4FfweFyPZmlQMzcvlRg+7X9yLISkai8j3t/iBeR/KRI1OTmvGWvzb/P6XYHyYmqqaBpoFRcKQl2YlTbgUWoZKWW/J9ym/4rrhcGFosmX/AG1aRh8iB+IK/wBzH+6ySxLZFdJFJypzPIMY4otJ8nYr8UwWx9fZxQLbeD0nB5EnKMjlI47yIL2fFeBd1bBdHJtgBe4/xB7fuGwpxCljshQQFRd0osnQAvZsdf6dCw8aUJH/AFpKOflwlUMN/YsA3oV8Lrrn+pvDyZIBKUIjYsENn4gAaH2SABQAUA47LdcV4ZecxKBUioLl4BHwBO2ZiSWOO6xF9O3EkUZZFVOkANVHoDEfutgXk70WY3XJQGZmlk9tcSka2S+K1kwx8ZO3tqI68NRvfXE4REpZUZMmZs2WmEamu0baz9ayZ/vtsczlpECY1Z5LVBsMAFIONA1tgBjkWevseYPeljU+1lISTk9EZeL/APxj/wD3inSrq+gI+NS8k+7O5j/pqSaB+KnEbpfxUVkbJIWj6r6pFFxXhSMmWwGCC8cmDNlXaCq0FQsa7QRdnr0qOArnJHgXrVZOAe4+PyOgSx14vG+vUpuKmQgGfIYuC5tq+379fvZQfjWlu/T2f2osVJs42qD/ANz4WMbA27AALeF3YPD4U2csskeOR7Vuyl19n8tjM3fbsUCBy4IooFmm0ocWp8E5XVfZCgUNtZPjx1616u06UweONywVdikY0FWMVRb7LDPX7PRYcrkmMxuF0BHWN+Aufj8LYqTiinu/zAnHhX2lCkhfoefF45ADuJCClGm81o8L04tOZWpnsqRkx7Lyaix8MfMhburtxUDr+FA3MeWfUKBvaVcQnjbb0b7nJa7AFjGr5H8aPjyJxUf3Gyzks6DCx3GiVrZIVA9HAFB0sRWBhGMbyS27XYnuyPjBd5eA2IXK2YL00snCiyWLIFVLMSVUn9DQ1f8AarEtvZ31wYef6hc8obC6UWwXXiNRfai/mcs7Y+COgP4g48bO7MaagAoN0N+SisPgoohDfk2eZ7q8jxlJKWQLiSyxjWgPAvIDI/fkli3XDj4ycVgyBp8gKBv23+lv7ZRbSYUF0urZjz+eqcaXEKVjBxHyBPknfaF7Rui0lGhhs+nRCdGl5HuEyISFOv6f+QKIU7pBWTOtr99SPyH0qe0gxFnVLWKAIoA/uIX9YgBrPU68hIgElaCM7kZnKuU/tsHLN1W2VWpRqgbJEvLbkw+3l7He4C2A7McVZvyavO70L64sb+5IzZTSAve7Awtbb97JODHBat/FGPtkZjYEYW8FLd5Ok0AGN+d49pGKgdQy8mP/AMwsYbkd2An77sALl8VAH52QWNjEIoBEpa5uVO3I5LlmZ70oHbUa12qD4xSrw2Seh64pleCLjJUK21j/ALUTvSj6Fdx2xquovWeR6g8hcBolegiVGtJ2iKPeWHhC5ot/UYDrg8nhvI7PH/tqAoI/pBq3I7N8t1hGmSgDZUeX9d4KyHi8TiPy5Mgvxxj38nctvEnwFRbGVWdjj8mZJeRJMI1xtgXqtDFSsa3SJ3Y3ZJUfQNv6rnFLKUad2YsbBxw/DO96VAT4UWEsnXQnLr7kwAUOG/rEImh9Kouj9ULq+7765/qrcnDiwspi8ZRqwiJ/MKzkZULzk2CxNaFFJZX9vhxSRLigkk+I7y2v8Up8A4qMDYAFHlDEgvzFfHHIh8U/6iDeTAKD3G2bZFKN/wA6COZ5YFjvQ9xvIVjSquVYiu4hFdmJ2ddLJPy1b2gQHdj7hUnSnbC67yd3RVB8jddcbhzJwzJJQ/pswV32wAstJj3EEYirAa96HUX9DhrJyWTN69uNE7VyUAH7yoHSj7/Gga5PPX3FWIKDWWTC3IH/AHsDyWY0GYkABVA6ideQuKy91LJyJAw0fCRiu0fsgDWvs10OMhcR8ZS5jcGSQ7yPk0T4RBmzH/531wocZjI5DsytS0KUsbG70PAosGOO0316f6eg9ySb3HnLKFUGiuZt5Gr4ZV2A97CqFHpvS4M29y3eRQGAJY4qdoKNnxgFVyzHNpZFBPX+o/8AUHG/0l/p9eLxPai9U9R9yHiRgqZIkN/yOY/klYcsUY0jTFVUAKT1wfa4YmMjr7suZP23eLLO+2Z2sltuWJNkeOuJLF7zztlZBpbHbYxTMi/JIxXNiTpUAHXEi92Er7TqiqQTRAIH9z68nJmx0BkBvr0z0qKPgSSzPiJDaoFObtZCIB8QB+qIu2JJ10vEZIZTqMMpLEnuEe2xA0sa40oztjs1vp/Y4kmMkpknZ79tTkcnHaMRotVBQSxGz21ozO7wRYSa8kDQAHgfZA2WrEO2IvHR4S+ypjAYWlSDPEs+ILCSQbLbCEHEILVI3a2DxcZ+RNOQ05tsj3LFr8QKui393cVGRxUqOvRvTeUxlZmJOWTMl3kfOzeND83Zj4xrpODInFxRVzot3EUo+qC6JPkksgVPkxYt1UcfNcyAM4I7j/0/E4bP1/TTHyxb/jlettlyI4ccwfbF92/PfQo42CyZPRJzCjXUM2g0kvuOO0dtW7aLk/I/ZrsQmrP0OKziIOzYAKe40NVWh8URRfnZO+1QAeQwym5MUndoBmZmY9wUbsBb7nrtpQLvQ6mjgji49sJWcnJiRit2bFfKRiaGF7ya6XrjZTv7Sf00x0XJW1AJZsfOP0ox3/nz1Jx4vfmuX3Sor5UtlrOR2EUt4AuwLpiB16PEnH4f8lhk8YVVGPxybVKcn/bKGAJbGlYix6fzCwkl5DDzqIABVx2E2bdie57yAULkBu+dymngJc5H3O2NN9tMcbFYx5MTI3ht3eh16myjkxRHDUauQKGOQ0C3hSQW3572KhtdcfgIWadwoklLECsVAJ7fPdXhjbePIJpel4fEikZlcu/b3USz142aoZd1DVrQ/fUYX+oQ3+5K1CxQUCzdbP1ZIWziqB9UeJCvfPIpPt3ix7VyPxxH7PkdzNhjkFu+W0fH4cneGknbJY624C+CAdLuzfyNWG+hxp3WR3lRSzKVX8Vt7IpdUT53eC5GyQOuT6dPyTx4FmzMjg+GBwJ02A/6RaLvFSNeemQ8LixcWFEXsAoL3UmsbvyzV7rk4rbDbE1FxvfeObkEABlx/qbau5nNY0usmI/YUOPrm8iH+Z7UcsXwyPdSgk7zqgTulRcwij9k9ekQxckSoi2MTc2PYigWQuVgySWCFx1kv6br1D0XhcfhPJPISdkoCe37K/tpGbESMf7MQa7Rw5AEwgixVRskiyfrJgPJJyvyAthfh1I7caR2kYIcbPYGk8YjBBftr5tmbI6XRvqeduSApUqirr971f6/+5GOZO2N1Xt+1jttAKulFeLZvxQeSe2/ALFR1wkXi8OeQqGkYsF0SBev0Lc235M5ZmftAvqGVvj7AfYlIoL/ANK5UDgv/wDsO9E9TciNBF7zK0rDIxqSNMe2q8f4obruYAbnZP5KQxWHk2QilioAtVs+K7a+Ivu7upUMTzxx45yWtefv/wC7lo7du2IfZeq640J4p9gSNb3mx+QXV/EVGCNeCaJRV+R6klbjRyRxyV7i2JChsA6y+/N4ooFsbxFL16Wg4kMksrXI5LnM21lwFtN7Is4CzVgn5dHlycvlJDHAzrKxVrLY/oWq0HYAW1n2o9gDRHSxpGf4maAq6514PaGBxGgEVcsnazrGhvrnQiZHjRA8cZBbGjkFFgE3uyLJJAo2QBRJ4BuCR0YPSgXQC52RQ3+NtbfS9o3fUPGw5HKltm1gGrGIebpj3FYlHcyUSdA76QNypJViUtFeTSVt6IpcjYo4gVoKoYnLz1xfT5Wlcy0CGu2yNEjQRdFm7gcix2bJoV1xeHHBEEQe6/xomuxV/wDhUyJPcwJ8sQOoPTrwPJKotFymWyo2LNdoY0qCs3yyU0RXqghyUKLod0l9q0Po+Cdmh8Y1X97Mnp8M3IlRnasXyC33ECyMvOK9qBf+kk+a64SRRQSRpEuytLujrTN+RAFnZ2fFkkhTK7exBFGFb/dfuOgLrEVkxIGtqt0evT+NPH7nIe29ulVjpch8zoruzgO7QyqgvXpULrA00hyy7masRdAnuIABYmgEVzX+evWvWT6TxOf6gwH9GNEhyNI87mkUmwuCHvZQT95HJsB/Il9U5UvqfOkfl8hmWrGWIypERT2gKPAxxUmlUUbn4yNLcgkklbu9lPiHOgGbwcfu/wDLFRodel+kwo8LShiAWlbZokKAKHyrItugMbAodQ5S8qKFEwRvqsmCAgKAvjJ2FWe0C6AW79S9S4/EX+JDGXZQqZkiydiR2fuI3l8QpOwuPjqbl8WVQJGwQK1qmt/kzM7HZxKjxQy7Pj0vM403PzRTS3sV9XRLmqB/fddau+oeaZZ0w/24wKoUOxrZ/ryw/wBxzfxpL10H5UkOcZApGUKNAKQMgB9KNe4z97uQGHdj1ypeYkLpHyI+6xo5/lujQW9VQoDZI8dceL+o0ZHYvcVZiq6P2oAvfnwBvZI65Dni8OZzKXmlYikuybFR/sKPJTQIpTYIHU/NXjvKXTOS5L7v/Ux3vVlcscjrL3GDFvELmWWbGKswu1BpQttiugALI0ubMxtzfXEgSOH3aXLVfmxqyx+xjdftnPm/Ih43I5avPymZYBRWMnWC7W1sKTrIrbgeWqqM8MnJiqIVGkhBJ0uXgKNDI5HdDVEnQHTwcqVo+PAnYgA93dnIC8fysjbEW5Xt8MR1F6fIqqFUrmpMjsfpfGTH5Nfhf7iqhQev4MMZCGRbyORTQX/6hDsbtR2tJvJyB+Nde9x4OKnGij+FM1gqlkZb+62gAIzfbNQIHUGOADLYk8e2m7JrtysDKmA7SzeddvXO5CRL7Q46wqsKllG5CACFRn80TZcD/qsqt9MEn5TFmuUv5psRuwF8swAt3c0DSKvbXUPHZwuJzrchOvLfpbC+fGV/4HXMhNFpP6MOYy/AMPCi/Jv7G3I0D1xuMoSJ/bCR0cS4F/RsR38ja0u/bAGTA3XrPILMkECXRs6vIkgKooW3mqGJbY+J6HEn5HKLTM4CUK/bfd/8PoKvbaV9X1/4dBBHICAWNXfe9Vkb+u6vFhQtA3lXXGf2p55aWOlxEjLbn9lQbOyMV+K0NZXQk5CNk0hcLFijE+TexEo2cm2SF/8Asid1LyW5BAUNgVbtHbYVgMaHgO2KXd4f5NdD0ZJ+VGxUyXj7h+MeV9q6G8mLGgPiDok31wvTn4/EiwRY7C3rHTbCk+QG7MgCt2QcyKH+p+O6QwwqQwshpGOKWD3YIPIBs5Y0vnLIjrj8n2pvZhImZSVGN4hrybexrVsaGv8Av1jJyJmzfNjNkVvRdfyewdINrndWuCE2RBxSpbKNAKGOZyeRsSc2F3ioshcv+cRrrheny8+TNlqGNstkJYU0o0B8yCWfZo4xLexzPbjgMcbLaAqW/TMLIQfX2WkJFLpVs9QBV47uHNuQyaPhRpyD/wBPi9kv+gbUOrNPIHZj3R5Ebc+GN+cbuqyZsR48KskC+6sNuwKjyxZj8nlk8fu41JDHRLD4wwP77PyK7zkIwVHaNgH7JPlmo60pA6h4cs/N911DZS6y0gA8BVPkftiKZuuXxUjmiQxrLPImfm1jBHzf+2l0LN42FxDbTilmWH2wq9xrVnKqutmR9lsaCLrtAJ6DwwTYQwJivzlUD6WmxZqsHSD62Ql/fqXqwihLR8VTI96q2LytilmvLVkx+WC0p3fXpzyMjNyARal3C1Z3eI8haGI12rX5FelmjnxSY+zHHOqmyQpNBpHdiQ0mOlo4ilC/dH1afjrAiQAMrX4UKuPhbsBmFkHQAYjzQvrgPGPdSNXaTCsypCivJSMdxSMfk2IY0B8lHXH4NaxxYjOR5GuSsheX6/4PinaiSvXpvF9+VS8gjRWSwFDEJeSrVVm/acK7UC+4epURucfbycj8mt2BAI/yBj4GqDDQOPXqnp7EpLNNhGpVUiBGTvr4rYHy/Mg6W9DqP0RjKzWxL3YDgWtfC/xU7zoEkaFX1wvRCzSSyTqFskIuhl4IAA8msVG5Mf7d0fTV9wJC9DLSx/mw/JjoYiu0WfBdiBV/+DzJw4wKVVQOS3mje/8AAoUugZGbI4g1085j9MjghjS1JEk7t9j5dx8ud+B2WPul6/1nyP8AxHkJxcgONxIvcl+o/fK5fFtsVXHFmCBUA7fA64U8K8WOLjRn6tvjk52pZ9E/3fl5OKMcT1w+PnNE2IdmDAeSF+j2/EE+LZtXsdvUkx4qFQVyQ5vRH/2I/wA4gr5OILFip0OuDz3Pu8qRyqKPAyLvvWwF7a0McQSbyOz1PyuVy5ZJsRgWpctKqqLLEKaAVf2WZmYCxZJcOISW46yNiTTdq/GlB8AKB5AFKq+S0l9CGSORfc08smftqypeQ01DYVVFgkDBKqtXxhjPFCqJVrpF3rY83v7ujR356ROTNxX40SFC4TIrohSvYmR0gF3kbPkoNWY/S+NxePHG39SY/dVrIfAGyFJAUSSGyi2q7PUUaqJpZDKTYJ8gX+CgAE6230Sxu99cuv4sIC4fXb5WxZCEk0SfL6ZiLuup4ml5hjjjxUZOXNsPNeWq6OlUAB22RRHUsMUZihB7nByxGTt3UN3itkE2QwoAivPUHHgqNe6qX5WLFXSKKY5fXhVSj431zMyYoIlCxsVQeFDULJNWaHyPnuZVA7cuo+Oi8b2lBCLGwMl4l5SPo0cV3SqvxGJNsen5EHCtF25TuI1rZIyYsQHbzZyKLbeQnSct5+QA1hAMBWVkeSVyOS/oEIGodpBbt4I46O7yJbIFVExXEMd2TpLW/wC58TZyLdcgPy+Qgc+zx8x2qcXkFXkxONAi38EhCp8kdI3BjA/jixElqcrJZu0HLXd+KKD92zVo8722SRyYmYqt7tQB8VHjJpGqtbQXSq/UfBiSZOwySEfQLM8krdzE6As5V+lUlmAUDoxCPjnHFEWNcRoGaTZqMecSxJaVhsKtUvU3FflNx/cckBjJSClsf2CizV9OxwGmokgdScAyBbdzigGOWEcSfS1/cxJZssTva3keuN6DAf8AzkjWf7i+MaKCy37ho0O8llpPxUM1nqVODxpZJQuYFCFBYJQfmE+S5/RbEnIklNjrluSjMqCJ2Syx85HwiD7bxdDGNQfLWel4uMcbW7OXY71s6MlXlljpLzxsXXS8JHmZWY45EG6RAfyP2cRXk1lVk+em4/GgiyTva0/E4hfOh+vvbfSjrjSwrJCzqAquKoCg5FBQBQZwPliKQ9gJPUnqLOSF7UQ0gcnK1X5YCgDdnuMaousib69Z971MgNN22AVQmggb8iu/+Ejr6tmNnqHhcLjxxhH78ZAWG8frSprV/vb/ACb9cM+niUKiDC7FnsABrKVh8yzdzBbFCsiT1yJlZpfYEhjFRq5X2xIx+VeC11pb8NbkjXUMP8The4xKO4Mn1fxoCNDWtktNJicRQKBt8KA8mGeRi5XOQ5uSQxY0WJ+xWhhd18sRsjJZliPYGxLaXQHeBZIB/HJvgoJwASz6RxJOZyPfkCFI6KhicVRfDFT4B/8ATU2SP6j+b65nHTkSiL3SyRKqsIxSm94Amu2vPblJf2g3D6XEskkrs7ubwRb8n9mjof4H0oC+WHG9KmlcSS3BEo9wkmmKi9UCTRGz3eNXvrlNxV55ZvclwwEcQ7t/5A/poANtd/QvyelgklRuR7ftxuG72pS4/S/J2yqu0bFgUOuUscSgF291lrRHbfyC/Lu/bD4f3NXUqmd/ai9wiLvZqoe4wKoLJyOIs7IJNaoAdcXiRcdUFMf6OTbqgv8AcT3UzbJCd7NS+AepOHyORIqKBGpf/l6vZtro6JP6bZbt6/hRezEiL7s2ZJYHInDx4BARMqQ2RduRkAV9PNQv7XEC2+BegGZVJN+416ZtgL3OAGYkde0hRYmP9aQW8UZ33HUZqjQTENQW2er2b4/ClAwirJioLLSiNfshm8MSaWlvZPc2I6h4sUD9qB9CM+MbTuYAt4RPzdgWdz465Pvcrncm48kVqQgefGwPxQAAC/l9liSBDx5BDmVCN3BiKz2dhS14hYwbcL93rLoZSFoohgrJjkGrBL7qNDGwBk1Ka0AWY9cGFYEZ8R2gEyy9gRF2SA3wWh5fuNE4eOvWf9belQBeFHMedOw7oOB/UAehbcjkk4KEXQRDl+wPHXK/1fzeSq8XhcGOJVy/qclhKWfyAsfbEscYBdsyyrSl8mOB5kXLmMiyP7k0rvJM5J7j8vjQ7L7mNDKkBNAL16V6eCr5l8IP8hQSfLMx7mLHI7OxiPiKPL9SkhKw8KMLj/TyY5EECiSSQMiWuj8dEhfj0V50qySyS37wPk4jHK9HfmrugO62e6HUbfxuIkTsuTf/ACRXcwXZok1mRZHg9HlIIiokJkyTFFH15s3oKPl+r7mDkKOp+Q3spGGbJhvGgSPs2b0PLPl2n6zpV43DllmaeiSSMTbYrf2Xbb4gDdeboE1Xpnp6w8lZHysr5qzbfZqyMr0ilXYaJxtuuKvHj48rjJ3P5k+Svyx+vINldHFRm19T4Z2r29C//cRZt/7rNH6RRV32hvWOCqoizQscja5Bly/bldXZ+OXgdxN0Od6xHyCwgmEvs2D7alu/EKLNY/squlAHjXXqPqMycsxwuAcf2MtnyaJIFmgcu5gW8CuoPUBFKGEiSzIoGu4L+OtYjZxX8jTP9a4fO5PJneOOVWGRaVxVLW3Vn/dCsBkQB3ea6/lj+VmcpDGmgKIvbUP7mZiLqv8Ajo+pchwMgqJGtBfIX97/ACcnbsBWRCDLE1k8uUr0pkcVnpsRoWWqr8hBSqD9kdcTlQhvdOLmMFEpLW/sqNLVAILu+4sRddcflxs7O2VuzMPuyTQsfYUBnrSePN9TK0qycpjLTDx5ZQxFjLUcfYFyY2d1XiuFBB/Eln5DMrSZGONSbUABY1v97/8AtE6rXtcWZsvck9pHCoqncrfdMfAAXyB8R9eeuNIn8iRzqNI2CIB2g/QH2xPxBqgoLE9xPTe1IGl5HbkC3zx7VAr7yINjbOika0mjD/DgSTk8nkxcaBKGcsmKsxHal2GkPgLGm2b9KCTJ/qb0dnPH40k87L3ST+yfaStKihgig6L/AAJC+f11yP8AU/p4444sLzSzSlQtof6a1j7r5YgVpV/ycY1HSyqySM5LlWARLr9BmIX5Me2NBZrvY33dP75KkRe0AlKGH4nwSTsknwqiyfN0R1B6RP7QeQhVLWRvNqon6U45UtuQSf8AArqL0tTyhG8wFsS57QoHlgTv/AbGzvHyevVW4fGgfBjKy6zagC/2UQ7Jtgsfae7da6hmZFixiUY4gW2wayOTL4IHc1HK3VVW+nhnmVY8gpe8yqn9nVD4oKa/yIQg4rZPL/oB44bY2WvVki1jF/HW2JGgTY+PUicuVCsVH2xioOkAXV0KvutmY7ZsEWt9f6c9GK8d5Jv6kxoZsG7Azf8ApqaFneFAf3EbHXOWKJolpUWOowNBiW+lHktiLY+P2euVIeU3t4osIAaX8u1exVZjS/dDLZZhSnfQnk9l4IPaVMmtj+bbCi/LUSxxANCro6Aiw4uBcEu4VQAFsfk+FXiT4Dg9uN7PXpXAdI3QuY1Yki/LEm8mv5ubzN5FRgvbel4ESmwCQUzALqLx8u1/v7dsU3+X0F/j8c8k4M7OY4heiPMjizk9trMmyAKZV11zudy80Q2crbFWAuvCjWKAtQ8M5C+SemhmBMmILvRNWxLtvBQ2RLV3MW0owDRlmrrke+OPEJZggXQVG+8RYy14YkWLbsZqFjrlSASdmKhY8bvwqiyMgt2QLeq0ays79OgEkpXLO2yfEHFF8sDugT8TZuu0eT055Mn9OHEIsZZqFFjvAEiq8aCAf2gUpJTizKJpJpQWoJiD+qtFFi90n9mmLZVR48nJwZY1GXcBqxZ+z9lU/HMoJHsha6uXjxGRp5C3c2PyNL23j9l5DSA0mvDDrieqRQI/M5A9uMNjkGzIq7NLrM+FZhfyZMj45H+u0iU/w+EzZFdzkwqMdhQiXJQXEEuysxYmhVdN/q3/AFD6g0gWccLjqpRI+LDi3dpmLnJlvuI2rG/FDpfWfW4XSPjzPZLW83furLNeixGhewCaAL9f+I/6q5i0eZKkFgMI4lhD2fLnESOoUErGaRjtgeh6j65x0ZF5eKgZNlGh8f3NV4qO1QKW7b76k5PrnrqPBNynXiX3qo9r3gu8XOjh+1+AGRsnrh+kcfjUqBTIsNuxql0O0GgqLss+KjemcnyCs3KdImyYzGK0BNKALVfG7A0PFCwB5f0wRK5JPwbM6uzRamPzfwgC2i+NkMeuJx4vb5DPaYhc9lgDeWAbQZzQDMO1d/29choo5c4yrWzGwbyJNGqv5MSqW2NW51iC6v7Gbf1CtZYEiNdZYBjshPus92QEAHXH43qPOb3UVlH2SGNLkasD46Hag7jZNWQel9Jkg45kbuZq8/u7fSC2IrY7hdqWHUPElkbNQM7KkkZEBKCnHu7t0qgEAkm0PcI/R5QkbzGktaQ/nrIk1e2GO2LlVOl30vpcv9Fi6xhhlgFOv+U+Rs+Epb2zjwOv4uEZRW0FNu+ySdV5t3Y/8KNV4C9SJxeIp9ySJZQMQZSums5Pj3XWNRoFOx5+R6/8OgjMYau7dZdv2a7dub+kBs2MvvqRONw+DznahjA4OCjUkhrEG69wjTudLZRcj4nJzklkjN+AmXczE6vwBQrZ8Dx1wPdlGCqA73l7fiNK+3IO6pQPkfArr0j0po4BArYSTAAk/IXtlFg73bdugN103Hg9P7EHuyVTtTEhLF5P5GfYoRBm9nYB1zZ51jxRcM2xLVpAPkBX+5LV2BaIWwHgnoCX2vdeB+3J++/iNCxf5ecb2ccr+PXG57MtRcZsVAybEgFm2wFAUKuzYOI/zXUU0nuPfHoBTZxw2B3hb+IokE3mS1WK6lm5M0MaaW2WkHcu7rXhj+hpVsX7huuHHO6Se4TKAhXvf8bNk+FRGa7OJyAIEdefZdndpGWKFQSo/an+xAar4WWNeBi1YdQclIndIYwxiD4lvBlCmi2u5tXiB5oUEU3yV5GCTcmbKeRzIxkb4sT2qAbwA81GuRoAUXsRemnlcn+VyZWMUI7PcYtvf+0hLd7nZYfAN+Tdcbg8Tg8WSaVkzeyE/wCBfd+TY2owNZOzFz9dZK3KjZEzlBVjYPa5sJlXagjB8aI7qOTdJxOQ4aX32RVa8q2WJ/FB/wCo34rXaCMyAMSvIkjUu8nIbHHIk78dq34WgL/YH7bXU3+q5lRIONxFjRFRS83uSysWGjj4VmZmIss36XViSfltJx5CAkRoudDOQ2VU3SqLtu7wAWAHk8yRjyow8uWTdqqURB+V3rFa7i1e4wJZinYOuGq9u1bFkVAD+jls1ou/9Rgu6VQzNXXHh4zpJJLKmEaUxyB8VaAlmFn/ANR961V0OuZLx2mjj4scZyY27V8b80f+wGRFnSgAHriemosJkllhTK27pFBZiWxJN/Fd4Cj8csReXXpnt8eBuPBLF220kma5En7LMbujQPbgnjZrrkIjcqd5OQhSIeQ60O28Uqu42B5OIpmORrrmfxhxoYFrG1sR0uTImYS7Ghlvu0WtmvJusuK0WEOIVUqSW1CX+ax13PokWAiVoXfXGh/lmNkZVSLvYlo0GTWUVR/0qPqsFBrZy6hgnbklzyE7iyqC6ii3/JARaP3sCqyIHT8dEHuS8mNkZFAVSP6uPxA3qIdzMcqN2xIA69Y/1BxfT4zaxyzSkRQRAlyENnMiME/WWNqPgttR6TlrJFJyWgkDgeW7QpbVv5KhbWlu9NoXXUU8nIUCCGsQVQ3RAKjvO1CnHuontBBfeuuXPHF7YlwkMYxCK5IttKC36JtqUdwFtS9cjvkzZFoj20RfiM615Fsfk7MwAACqp89emcf2w8ahVkYAk5J2iiRe6H9xF4j7YnqGSFWKZB2F2SwPwtb+tWtDWFBmwYEWvD4o4bECmOLSSErdg93c+tZAdo8tiDdgQJw4opP62QY+SwVWxW232H21HzewNgDz16jNxJ4WXjMJIw3fIgamxoduljOzjHZKguz/AF1PCx4YiDbJCxxRt2pmdmx83oHJ9/l589em+jZzZctEw7SsZN4o2xlZOTkbohhm1n40IuFw4C7fx02dDLw8nw0fJWMZbvZAVaWuo+JCJ1mdFQAAJGpQyU37r4k6NE5E0XKhQvS8aF3K9iKVYgBlvybOZOKritF/NbAbQJ4HD/jXI697g4Kdv58sTlj21eI0DXy6g4nGRgUaMVlS5KqqtbP6UfWTWxtmI+uuXkF5EnuipGxiRG2/37jt8sdgqqrGarQq+vTONDw5VZ+79bxvd0qi9u30XJxGT/vqflR+42MS4IAo0zlju6/e7re/x10xlk9wTFFjZiwiBsfe3FnLH+1fm4olVvr/AMIgYrLPOUVKpc1845BAFvvqsiCcLoNYA6aPiJxcEeFdqGZnWkqiQSfk197hVavzsi+uAvFk46xxyL7KXJI1YhwTip2cmV233kNKdnsWuudyoIeO0fHRHcqyAiRMgo2//TGBSClsjS+Wbr0GGWTJpCgT3AAol+bKuTO7HvYKToVX9q6vqViJItK2xgasDHyELnG/tpKOPbZ7a6m5mTxKIsh24+VUX+VVbEj4kqZHJBoKCevU/VJooH/iR4y7RZCtqsjN+NkBzGMQKOOZYuaU9Q8F+S+U/IaWWTOR5ZJGb7ovS1kFUEJ3e2LAQb6//8QAQREAAQMCBQIEAwcDBAEEAgIDAQIRIQMxAAQSQVEiYRMycYFCUpEFI2KhscHwFHLRM4Lh8ZIVorLCBkMkU9Jj4v/aAAgBAgEBPwHWxdCkhJI6d+LKG35gY0rqK6k/+HTsfr06iPRrthOUqLDBRDwC7kxsrfp3wr7OXTTqK1KNwH/gP7GbYzdCslJDO0gyhx3vLAv6WIwjLVLDxIV8yrGNrhiAWh+oXbCPszWSpVeok6QCNZ0qA3bZm9lcY/plLSdKlhSFXeSNjwoNqSSGJYh3xWohaUKK1akAAqDynuH2/NIG+Mxl69ApXSrKKHBDAq0kWkkuO+9i+CSSKhgKZxqO4uOH422OOsKBTUSErTLyJ5uPNvwSDzirSWNOtSlJsljLF2BIaJKQq76ScCifIpdRQVKSp3dmu8KgHcE/3YR42VqUlglQEXLEfEFcfsWDXwnOUlFl09BfewVd34fthSKdR5AOn4SJE8XH5j6YVWFM6FB3tPu47G/E4r5lOrSAfwrcw0jVu4c3EgwXGPEq6mCiWcpKlmQRLKDPsNjFjhGYWaRgnS7jWXbcgw+kgED4kq74KlKUmumqqkpJHUF6TuxImQzdQIUxNjj7Or0s9l+qpqzFI6FswJ0l0qIEF0s6hcvAsKlE01anSzy7DcTM/pEF4xVrUUq1IUhaxLIUC+09u/7gYH2qoEoq5YAEslaCkgKMhwpoVxycKz6nSUqpzKQpPT/5s6TJvBdsZnM5ouNSEpuyEpcgwQbvcSkB2JbCPtDM0eg6FolvEE6h8DiSCBs5hXIxmftKsp6ifuloLuiw+Yfi7wQ0EPOKX27ml00VBl8rVZtV3WN2byqHBHGF/b9RTaMjTprsU1FdKnG3Sx3gsZGP/X6g0hWTCNiSRofs6XAJ58vMYrEZga1VGVICEDQ/4Og+a+h+x3xSqiiojWpX9y1woSXlk6g6hs4swxm8xVTX8SkVpqBYIUhc60ykMSzlJZj5rvcYof8A5NmiNFWkCtPxGlpefiSLWLkNbY3yGay/2jT10VAVBFai41Jm+x0vKVMxAKX1DC8uaCvEM6r8amkK7KllD3wKyCdLO5BkflYsX/2l8VdOgMCwjyjYPHZmMHp7jApqFdkjSKiFBJ0gpe+8EeaNoZjheQrrGrxpTYOx03CYI1AHmx30tg0M4FOgkrQwB3IFnSrzDkSYJG+Mtmqqqf3tJIWCxUhN9jEm/mG1xfHjU1O6UqdjBAIJEweeL++BVoJjyXD6PKq7GPX6hsVftOnS8yfFvKUDSre/I34IxT+2KK1+HUo+D8qy2kvZ2ly9+SxwvPJGyFCB2mxJbylmVuMDNLJ1JSiRAa9nS5djFjuD3wTqSipTSFAh9LMPVxYuAkg4K1h9EEWT24cvLb+UjgjCCSpSVhjcFoY+0FyXSeYJTbLZtJV4RNBS07EMdnvZ/cS2z4NUBTGikeoH+G3id3s+B1+WkkHvZ/Ro/bFVIdJ8PSoEbPJhj7wfwqHbBTWfpSptgwcbH1sP+8VaS1Bj0n4TEP5W5T8N8BK6dVVOrpCVjiDMgiCJkFuhTizYqZddGoqyk3IEgpX8SdxPs5wqnTdK6a7ywtdwRZnB/UbYo51AQkVSyxCDofWNrSbtyxEnARWbYsYJSfUP7EbDGXraFNUSkb6ZZJ3Y7S5gt9cUaiCem57H+Mz92wZFwPznb2/l8LQlSWLEfp/3+5BwulTAOlTFwQD2/Q7G3NsaTqV1gn0h7h/WJ/vxltC1qStDOx5D7uLgvJ2LvJGP6Si5dIN7fripk6C0hLAFms27yLGZ59MVPs51LQWBHy2UNoMA9xD8YR9maCFJJ/3M/ooMPR9xvgZdPhsUhQ3ER9N+/wC+K2RCrBv5twYCgYZsUqZ8iw4aXb2P+T6F74q0UWQNZZ2s3vux+mFBSFAnUn/69gIO7N2GK4qKMOr9YtPDez41JchQULPDxMh7h7gsQGGFQQUMpjE3/wC4Etzg1Fa1eZIPG+3b/r3wpdVBdKlqSHDPqjcHc2gWaxvinVX4mqkalNRYuCpOoHaCJuC7yXwk5rMJmvVUr8VRSnhmv5m+rDmKdOrSqOVEPB5t+1w3mDHbBWlafvFF7Av0kRBIsFACdjpLicZmlVqUeldu6ocQoqD3hiAW3djgrzqEDXLM5di3BPaR4gdOlrMCcpUo12RUKQpLS7qHqlxKHDblDYq5SkaZNQ6mGpOkTDP/AHBQU+k9TMxLYSgZVZ0IqFLuC8EM5Sr2Pnb4fw4QjK5qkCtC0KhikdPVssDZx6oYMYS9TLL0qD+hTvyCk3iSGYjfGXoICgKoUQ7Q4SRdJ9YdLF307YVl8qCCmn1d3neezyHtrYXbGa+zaNYa0IXLBQHpuOdwoSSAWvhH2fTHmRqv1gkH3ndpLs4mcJ+zaFLTWpqqo/tUpKhLEJWljuzHYsp2Bxkq9fLHwMwVZjLKICKhJK6Rfp1PKkWJuxINsLVS19PmEpMageFc2H/jg5kqTJQHZpYFQuCNj6bKHGDqkamaQU9m6gbQ49dLc4pqCBqqVG9SNJe39r/CQWIADw2MxmiX8Cj1N5qpjnUAOpiPMGPKZfFTMZpCusQo+dIOn0UxtxZWod8ZfOrXUVSUlj+Snv8AUMRILPvhC1pU7JKVQQrsfl3KZII+F4xVGokCiTso2i4/O8XGKv2amu6kakKTLPLO5F2DlR2LFlJOlsUdVFOiqnxKcptyX38ssSHgs0XqQdSadSmBOpRM9+QUudUxe04+zs5pBoVV/dlQVSUoulKl/Br+Unyk2JYwQcVqCSh06XZxDPu3oZfs+EjSSQtQ0lvDVf0uQodxYEH1rUaSwKikBGkhz+FQ32a5Chu3GBnkpCUFZ1IZKSXlNgmoC4MAgqB/TCftSUhmURvLs094LkXYyMJzkgq0aTHPsT3Ft93ODVTp1AxwJvbkj+d8Epqp0sJBH4vpvExMb4zuTq1FsanSS1mUFNH1He+BlK6CUaisDkz/AOJPpZuxgYVliBqcpgv2NzsQ/wAVph3c4pFk+GvmDBZ7EXh9xDs4TgZtNIlK0q9lGRsY+n+3vhVdAZQU6f0BeT/9htxOMtnPDqhKjBYpJMEcPIbbi0jS2E1KKkglntBlu+Fp0KdJOg97E/5cdsVEfF1APKTEb8uBfmG3ONNMSIJ4ae/c9pGP6gJV+LT5hBCklvcWcX4kPgfaCiW0OpJBu2r/ABu4P1bBq+KkL06VjYn999iPfH9e1Xwlpu4AVvuBNyzhvy5qfaQACUpmzqsG/Ztg4MiCDhWYzSVORTKDIKPMx2Ief8i+EZpSgG0nu5D/AJOD2PbCqiiR93pi9/56jCgUSTp3+u4/cflOKn3qW0gqaOFNxz6c6u2Kqa1MuAQxsWt2PqAf2xVqBbgjqb0PcNu1/Y7YqJXOhJbkW7z2hnbph8ZdBW/iX4b+Ns+Dk6QV4lgWcSwIgek/4N8U6dFK06kjSpw4Ab0JFuXbZ8f01FAUql7pFweUz9RfpacKzdEJ63JSWKWcN+oi3a+Bm6JB0oSAqZgari9tW4xTztEoKSPBPff/AMY4Ttztg0UV201SAe/S/vYHYxuD0thX2aKNZS01gGhX9zukn/cd/hN4bFMhA+9rah+H5pBKfUF1AxO0YqaloOhbaClzDD4gpz8LGWMpUcIXm8sotU1J+hgsWs0pKS9zpLgYo5wVAjqUCYJv2PcKYBSkwygfmGBmelj1kDzMLctBIEPDhMXTNSsdHWvQxg8zyLarzAN8JzKgmFqUGlncN2fq8NW4cpcbOy8zURVSUrUUqIkkQowXdiCQRqBukvcYRW0qZUhcs4mGVFtTPq5g2nCGKA1R02A3G6dQ4DsWNgOzLpLFQklnFvc2/O4+G8yoMg3WRbvuPeMUcxrSrVRqcM4jbSXkEQ3PJfFRS9Lmn4YB6RTOrSFSzGNLueJQ1sU0GqhKp2cX06v+X9ztgUAEsfK0v23G4Pq8RMYqZNFOsKiDBSHs3qDYR7RtipmKaBZJqIUJDdKhAVMgfhLvIcjH9d03jSSzT69xvBgTthVc+MlaEagpwprmJYHsXCSPiGksYqU9OpYYpUN5Hlfh2ZxLs2EpRXpEajBgho7KBLxAcHe8zlkNrpLZcH8ILGH4vPB2wipmklSNXSBAHUFJ/Ds6D07EPu2BXzWXrLChqRUl7hLQF01bED4XhiJAwihWzP8Aq1VFPwqT5T8X3lNrG7WBJGFfZcBWrWk7yng/9es7Y/pEpGmp1bpVpYvyCICp23lmGEUE+IrSp2PkKtPsdgFCwsCOkzikqkjaCC//ANge4v8AUjFAJWk6eR/G/EPzGKuh/vBa/wC0m4e3GKgog6ksb9O8+ux7dIIOF5lIKgQW26eoMHmz6ZdnI7jAVlqtMFtCht6+ZI7EGHFtPGKy0rSVIcIBm8A/PuAIZQ6hCpBbGX8Ip6aiyDdDnUAYVpJgKBAdJ3AODQUpHTUJ0kkPBsxhPLOSl2Y/C2Mjn1op+FVCioDSFfE4LJBO4sytnd2GKWeWlJC0ladnlh7XFr9W2+PGGYT0nSscXj+6De/djd8BdIJaq3ozTzp/ItIPOK1SmCKgSTovudMg9l8seYIwjMZeopj0P0uAfVh7yAeWkEY6qJUUVQpN2eO7cOJmyg7scL0ZjRVSr71PmDNraQ42PCrQcLpgpJGnUeb8h/efWcUyrToWkNdPKVPP5sYtuGwimWsO4b+NP6jCApXTPYX+g/a+BI0EejiJ4f0Y77thJCYVeG/l3/PbFQIW2tI4JEcb8Eeo+uK32fSUAppDsbfwtPBf1wKFNKiI7zPq3uz74GSp6tSIO4Fv5eOMUsu4IqJ2+GX4PcENfid8f+n06rhChMsofQgxDxNvd8VPspVMkhTJIZiHA497F7F++F5JASrUEudwkPPfeQezM+E5TRU0KHQrdrOXkbv5hyHacD7OUlQWmnrHxJcAiNn86d2MiBu2KuWWhPiIToEHhptF9Ju8SO+PArVEpqpYsGVDwC6ezM6e0KG4wjLLKgvw6aH8/TBNtSkhhw7fNrGKv2bVClClAVGkRoCiY1SCnUYKkkbFmwclncuvTUYhTeYA6W6SU3BdIYgQQQdsJy9GQmagOopKlJZQ44/MGNmOMuoLGldLqSbhjeZ7O8bzJDY/9PKqb+GlaVC5YuLWNlNfkE7jCcoaNXTpvsSQNXPYqDvu7Xx4Caq/CWhKSQGkKdvUO42cbBjBxXy9WmG0+U3HmH4k8tBbdJixGMqc1TBOsKBMpULKTx6g33Gz4rfeClU1Mophj1AR0qB/d7YRSOoajCg0D+C7EM4Nxvg5SsSvwl+1tmIPBsUmxBE2OKdGsw16tTsdTFLmdvh1T6E2IwmsMt93UCdxoCwf/cZA2mJFsVs6KCfEp0l1Es51EDTyGJcfoDa+P/UjnPuvD8Mi908CHgg+tsD7LVVIV4h0j/8AWDewYvcJ4PCfehl8vSUKZPmtreTZQL2vp6YkbA4rZdKEjQQNCk72a0R8MkCzdPGMvWoKZK2Vt2IfkWUHwvJoCllEhbsdgSnffSph3CvQYSwIC3Sdy07s7OFaQ77qBSbhsLWlC+sdG5CTB5ht/b6pwqpQFjCmU1yX+JvycD8zhGcqZeoHHT5SUuqLpIb8JHqGccUPtJBQDq1JPHl49QQYwlaKnUB4g4It9IUJY7784zFJClePShY86eQN27j3CgLjFesqmkrKCOemOFJOyTun4SMVMrmK9ALpVq9JkvTVTWpJ2MlJJvKHfS+4wKv2yhI8XNGtTQW60J1abglTdSCl0sbEXfS2Tqmtqpr0dLEMJDwYvChI773xnTQoK6eonYT5bEPa88S1mwtSaP3iupJnw28qfq+lnkElBbg4P2epgS2kpYgbgP5h/wCWoDlwD04pU6uTVspCw6SGKVMY1bpXt/dB2wis6lJ0BKgrazGdQIkbGxsNioYpg6dRYqDkAW4IDe8SN03bGVqgpJVAeR+/MOx/S2EKpJIKFBnf8BsYItxbfsML/pKybT+E9SeR9ZHoDYYXlVDqpKTpnpLnvBv6DgnjFZVWnVUg0puAmzAt2B6WItqAM8Izr9NXpIgmXiNQsXFiCJ9ScIqBKwUVQUmUqEze20XHxAamhjQq06iOtICrRY7P/wDUjibSdAtB45/7/hxTISWdjtt7HnC6anCkn0PH8n2OAUltZ6/oY557EYqUKaw4JB/n84374UnSnp6vU/wHFMEgOroOwLkDb2vitlAFakq6Tfnsz8fsRgUEgvrb1sf+fze2BqQrZoY/yPpaOcLOgg6peGHO4PDmQ2NaqzIKQlxEMDy35louzQMVcrWQopmXImJuBt6WcwdjiojMUjNgXBmA8uO0uOC2NC9CFp6bbv8Arf8AdhgHXSUlSR8XVfaZDd/cDckYoL0ggKYpURB/Uer4p1dTuAoG4fcG4I8r8SMBOoNILQlQljwd33YkPGKtIVE+HWSykmI9ClXcO0htPvhWRoLMDw1ixKekkGO6S8fmHwjXl1FBAWGOhTSOzjYeVQIgSQwxlc+CDSWjSW3/AG76bj6YqCnUqaD0qSAElzaCH3Z2GoWIkTivSISKoldMl9QluQRcDcbGRirnClHWEEHpkc7PthGYoqKWQzu8GGcGBdjdpYRIYrpvRCgUkSUkDVpHq2xmf1GKK6jadWlMgWGhaS4SFWEdIs4fnFLOmmvRUbWPKoiFjaU/EASGspk/MMVK3iEDV4SFuCUtH1FoDPNxir9lUP8AUpaiVgHXq1auXczB5m2Dkqy6YQkCAznqI7EcNvKTGKX2bWy9VyHTxpPcaFAEtDs3bBSzMlYPexbdJ5G/D8YqJWryoZRvuhf5EB5tyMaV1ENUBWQA4STtImCBxx5TDHCWNR0FSVF2chl9iLTKdpCT5gCaZqKRoVWNJSgyFcm2le4kCfwycUhXSNBIWtJcOGJYw5nfeIEw2M1Sq1KJUNCiB5S6TA5uGsXDKGl7nFLL/wBQFU8w6SHNOe/UH7P8JYwWbCqSqFXRUUVJ8n4wxu4Ics/U+2rZsIyzKKge5DMZ+JJ/unfg74QV0KoNOqwL66dgxuQkwwk+hM2OFZsJkrAWbuek7am2Oxa98VPtJGk0qi6fW4Fz9e34hsQ7HH2ZmTVQUUqiRUpAvSqO6kixQ17kdvTHTV1uEvvwd73Bf8jNsVleHUbLIqJUwBUdwbBCoJBbSbSB8U4q0cxVolRI8T9G5Fj303J5wMrmAdRbUCQtIkJNwdN9KplMMs98eNVKNNRPhrEpDNa6eHHr1BxxhCwoCJB3idjs0QoFrJN5xVy1NY1+Ho9DKSDqaOqFAsOCRxihTCD0kqpqm9u36B2DWVaDltDkr0hUggj9wzWcd3EYCVoUQxKNTpVzsocGCSLHpw9dumiIF7FXaYVFnIDKZ2wlFVSoXoS+10tz/wC5xchDb4rK8FQNRIrp+JQux6T6bQdnE4rqoJqp0oVVpqkQOgg2VwWj8zj7rQdNNkj1DccsGA0n4FiYLnJpTUy4Wl9DqjjYsdmhx7iMKQu6ah1Dnt/Pr2whGsOuFCxn+emEBJGlRM8W7v8ArirlillolttWx27fwTbFF1Bp9P8Av9MGkp2VY7Aex/Y/8YfwV6dv5/PywVeIjYH03/bv/wB4UhRS4c/z+dn4fACi4fq4f3gK/Me2HKklBg+0t/COxnH9SlHSsuQXG0fy30vitW1sQp07zzv+/wBYxVrITp1EKCt0/of53tgFZpsk6k3029SBtGwiMU0FI1J3gjgj6Qdj9Qb4X9niqpVTQE6pLEp24s/HtgaModbaZZRDhjzI0kK4PMymaOZoVUhqjK+gB7XA/wDi/bCywBKgsGzS0OGaSOU3Z+MHUdSVAAPBEgG6X3CS+l7An1wuhmNOqmtRAlLjVaCkvwDyDpe4xUSVoSqp93URfTLh+LsH5JDh+5zFZIB0+LojUGdjEgsdh+WP6mqpAVCVFnHz/wDY3uN3AOFqKKmhYBp1ARy/CVgs5bpSqDG5jByagPEoVwsA6glY6gzQ8H5fNsRwXy+YrUFMWKKh6kHpTq5DnoW0KSqFMZfGYpVKzmEt1JQHAI3nmbG0euKKdbUapAUmACFJLbT+RHpxjSmjBXqYuxNv924/Zi5kYXnhliwUWead0+ot1X8t1AAhyMZL7QydQsiooVTdKxpU4DlI2V0yGuO8YzKhqdBvedueFJiWkCBtgoWtDlelQlnu13IsbmL/AEwhMkKzLT7fUfqzu3GKlNVLrRU1/MPiBBchxd0ynuBtiqhJSpabnqhPvcbKFt/pjK1RoIUHW/TqIj1PDgEGGttj+oUFMtKUrd0lJcEbhQm9t3njFGpQX5hcTO429CG9FAPivlk9akEpLt/uET7b2LYzfjILrCToIIKb6eSGcSNi3mI4KPtNKE6jTUdrxG3yvp/t1Ae+F5hGZAUE6Sk8njcGx0/UEg2wummqNBdH4nKWLMZFn6CDZX1wrKqAIH3ymcyDrjzJA/8A2Qx+YAiXGEHM08wKmW8TLrhQKgdD7gidMuCW0xilm8wSk1WXULcAK4lrvCuC2xwlfjJ+9ogKFuoEbfF/NsVaakDUhXhdpDuJ07OQAG5m4wfGK3pkKqJNiZUJI9DA7OD6YXQSko1LK1z1Pun8jHO3YkY8JKKjGaZ4Ypm/sXDp2lsKoUvhU/4H4ifyY83vhelFRQ0qQoFwQb7sRbqD2MnArpQjqPi0+4fTtaCxhwJGqBtiqpZY01pQLNqhjKTu9jPrZ8UMwtOkK1rSRM/UM7ttDj2AwvMU6C+qmspXvLdnb2PIJfy48ahmiqmEMouNKoUfQw9vz7jH9LRrpVSJVTWlwWDvpcOrvzYtrOBljRDajUSIkEMPbYEFuGgsWH2dUOTWyWVl6lRygu6CfMU7gjiRFg74rLpq6kIYja49P52xTzqPIUn1IYj/APyHHuLjFKqguAZ249v1Gzd8BTjqAKf2/wAXvgUgkum31Afnt+28YLNZ9x68HfeMVaaV9TBmm3uR/L++EgeXU54tbvbvwcDS+gllHm/pF/5fFXL6Tq1Rcf4/P6fkmrTJCVeYXf8AzuO9+cV6NGol9Jif437PzY4qJRTALlvcx/JIO2KdXLqVoVoUOWYh+x7H6v3xVq0KKel9O4ux/D2O3oRfGUzOXKdSS8SO3LHqgu3aMIr0C8gS3H0P5twXEYrU0VkVUaEF57+p9/yfZjijS8CqqiU+hUSCEnd+1+41DYYCaqCejZ5Zo97u0/5xQr0KqX1DWIUgyUciZZ4mzA2wMwaNRgkFBI1JFuCUyfVrs6ZYY+4qN0J0nZ/LGk/kWI4Y4zH2drSvwFGmWY8RY7sYn1exxk8jUNJlrClhxsH7lNnBaQ3G5xWy8hNRKSnkApL/AOTv7FsUvCoqKdaZO/B+btNzYwqCDhTBUpE/MGH9t2d51JO8Y8RJRZ9Lj0vMebcFPtxgNV0VEJSYD7nsQYLg3djuzvggLdJC0O42MG/qBKSLhiZxmMrTNI61wGYgN7F/hJ+ih6YVltKULorUFI5JB6ZSxlilyGMjulsIT/U5VFUDqKAsmzKbq5jU5hwfRmSmqFQNLQp3I/eC21lDjC6FQKdKAQqROkdw8t+Ha2xxVWtghaCk8sdLjlrcODF2IxllU6epP+pTL9GpzpPHGktyL21YX4KVKSgKph9TncWUOQPmax0nglCaJSy7Fi8Oe78uEkKsL4CfBWKlIldL4oG/IPxWL2LkG8CsgqnUUqixBH+Cnj9nxnshrHimoQATI8syOodQa/Fi2KOSoL1JFQ23ABS+8/ndMkMHGBkEJAUmor5SFT3SGeGlKS7eYYOXp1KYBLENIKkmIJcesif/AGg4/p6dEoWCtj8QZU/ECeYBI3YjTD4zCBqTUGhi8p8vc+8H68YyiqFYmmQPEG6bkD1h0/pj+lDFlFxyP5H1ENu+EZXV5lhXZrDtt/x04q5Slr6fu1J3e4f9rEG6RGDRDGmhVj0u8EE6erY7A9+ML8YBingao1A925+ZyJ2OFmpoOlGpafhs/r8p9tjg51YqeHWoHSoMFD5DLEb6TLiUyd8eAtjUpzcjVcK51bpUCxChcXDPimimtLrYqG2lnNvLyCkA/XFRKWDURu3IO7EWlyz6VAwZxTK6yBqSEKEOWaNj3uNnSx5xmMon/UpsVlLxHUmbb29x6YVVzCKyKmkAGFjS776hPU24fUBLuDgmnUQFJUG3ALKSdw24Oz7FzZ8KHgr8WmQQFBSgJDi4IeLttJbvgqBQhYAKSAQAL6hYv23eD64q0RUlKDp7Ag/u9zbbCaVWkskPpa3872NiDJxQq6hpUFJOzxPp68EixxTIbqDt+b8dt9iLYLE/dxG/P8/4wBcKjt6/w/lirTSVdBIWCHTCT2d/T6uN8IpdIcMRYwTz+/5Y001hiPf1/hjGZyoQdaNPTcM3/Ru38GKSdQg8c+xHfc+pO2KtEMxDuf4x9bNbVxirkleLrpkgix8r9i0g8wUnFJNVdNSaiEuA3mS7for0I2x/TKCuioUVAp0geUvDA/C8XjVfGWdR01yXUGdDsq4fTsXDKSZBszSVVEOgvwCH9u8+7H1GMwKakoUdRqJkKGrbbu4sxuB6YoVQW0q8RJcdUkbNM+oPp6Lygp5jxUKdFQajpLHjm35ieSMVAFg6AoLAaQWJ4s3BSdwZG+MvVzCkkEgKTZ3g8HeC4m4a4xSzukOrXuFB7f2qtBZnI4MMyM1llJBK/DUbKIZKlCD6E7j3EPjOfaZRqFGqlQnUtQ1J09t3Y+29sLVrKaoqg6wyi7FyN7enr04y2Y8AhNbVUoK+E3SzgKR2FlDgEizYqJyoUF0fiDkEGY37s37GMEppVT4aSVKc3OhiXP7H3btihV1E6qaTpMmYAtq/QqB8k7YXSpLR1IC3Demw/wAF7xMPjM0KIT4iQqkyg7EFngggmQYPs4IkYySvBpqSmq9LVqRygnzN8oJYESAZh8VcwUqkp8Mhj8Kh78+o3TLvinVTU1UwtbhQKXdwdhEgwHFjZr4r5hTaa1JWsWWhwVbAi0uzjmbE4NVWoqpoaoJfyqe7gbiSFD4gR7Uc7lKwR4g8GoWB1Skltjd21AWI0puwwcipylFRKRdLMO4vselmu5uMUqNVBSdSSBCkixD7pPy7h+cJXSRZP7+36pPb0bBCKhULJPD9PYpteOOGGK2QppOtBmeqzOxc8hwCqxBALuHwE5jbSf8AIMyxAl+kukvfqxWpnQXZBI28oO/l/wDidnswxRGZUVU6mhn4Id7PMzumWU8Rg0AxGti4LPsLK2fpN+xSq+E0a1GuF01BIMGYJTyGIsCytx6Yy1dSUnUHAuROzgj0BP8A8btgZhCh0J28wYCdm4O/v64r0goupmURKXcat2N5n8sVU1KZNVC3D/D1JKSbfWz+U36ZwjMJq0zpYl2UlQ8psfrwexwpSdR1a0qggl/efY8sovviukVOnxAVOWOnqSoHpIVIIVzzBwhWbyzqXNKw3SARFwWY6hwEnAzNJYUooJId1WUO7Bi0DU0phQ3xls8mshI6Sx0sfMCNtQ3SSPyLYOTTUCyCohclmB/7D/nilRNN0haixaTN3Y6u/SODyMZqkKg06ww6tRgEe1mu90nU0RilSQjqBU4KhUS6i5n4ebs17CwxWypV10tQSoXIUbvL3uJdmOPs37YGSCcnn38EFqNdnSlJLaan4LMqNKelVgcJQio2hYCSNSWkEf4uHEtg5RS2+8Dj6Hn+fnhVHwSFFjAf9Pb1FnJmcKrIpp1oAV2/WP2jkPg/aFMBNSREwIH+Ofq0YOZoVOumoa7Ht2JtDN/DjOFqZqJPiKY2IkcN3H5jGW+03ZKhAYT5wOdnH5++P6tKwQiFCf8AP8sQXg4qViU6j1BmLSePezHFHNop1CnUWdhexsG4lkmWLbhsLzHSTdIYhmMbluUkgn1tGKjEpWhUKumxn8Kt0l4cHaYwaIWCfFZxcSLS3DpZnnYzjOJr5ZZqJUawkwUl0nzfKXG/In0o58VNJJNOogsoH4hsR3fTJaTecVM+E6TXHQsf6gLp5cFPOzs8WxWzuhIFJKVJKo+IF9u7zPGkgxgCoKgqOesO4IINr8qFjd5d74BXSXTqMdMv+Am/PTvLpLuMOjSaiVpGqCh29QPR449DhPhlRUNBe5sQfZ5djGynZsVkopEmoQUqEp3F+oKTcEH62Itg00KoJ0sQX0OHPsRuJmILny4q5LMhyUpWFfLF7MbjaTLyXSWFXxKajTAUhSfmv2kQRyYIYdxiln10wUVw7OxuoMA42BBTpIj98U6tDP5SnmaGqOiqHlNVIe+2r4XguwYjCdKqI1J1FIYqCb946g8GLFjgBL66CnNiGY9r7pkGzykgvjRnEK850KsGdg0hJSfy2aA9yk/eDMI10l3UC6Qfij4T8WnclTNbGUo+ClaaTVEFbgdiGZ+TYvtOKaqJPh1QX2B03AtOx8w7uxZsLRS166JSmomB+oB43DWc84rLqqtq6n3aeCC7L3EaVbs+Bl1N4iZCwDLEdgHtJtYEkbYrhVIEhLlnt0li+1iHsbWBZQbJ5pGaopXT1EpAFSm51Ii4+ZCgIsQ3zYVlaurWg+aZKmPLd3vzHOKVYoqBKt9jM2N7h78X9QpFQEBG0GzxYng+WXG8YVSOpmUEfjL9t7OCRxE4qJrUVHwdaLvdSSQL6SxfTdI4di2AlNZAWD1kPwDsb79+4BxWy9emssrVw26Wje4uncAFMhsUvFUNNZBHVfzJIULgjYHjbi2E0V0ilQT4lJY1MmeHbulm9INxil//AK3Ce4khnsfT0N+2HFJMUp7DSJ37Pu0DFTMlw6DpJ3Dm4e3DuNw/AOEU1VAdMIU/TZp2/QgWsxx/S1qatSFuFNdLxsxDFjebGMVUVR5yFqDmN/8ABLP/AIeKlWiEJX4c/ExUJtrj82e82joUArxhpqo8t0PaTwbKDdKpZsJoJQVMsAPKbj0/Q90k4qmjlVJIjUZ0MFQ7HhRZ2J80gm2Mp9oUwrzDQsSDCx3bkcfm04VUy3iatYZRYzzbsZbfgghQL16eWKklMvcevKTBHYzJwmhTcsAeLgj8N3DF4kcWwrxEulDeGraCQfiSbEKHIZ3EYzmTNemVUUde5NpEuLMW6rOb3xQzX2rktNFC6gKSRTQ+pI20BwWmAD8wIthWf+3QpK1ZmoiyglKU+puhiPwkF3KC7A4+zftMZ5K8vmqejMIRr1DyVkAtrRulXlKkT5gxIfAopVq0z2e3F/iAPoBbFXLh1IqJL3SJBDv+tztBO2KdA0hAnubcOA037h8J+JFQsTbYMe5+V7X22xmsuunXFUfeUy2pItxrHBs/zPyJphC6QqU+monfqDEbKHBTBjvijWd0qR1DcTB5F3cEHkg74XRoeIkqQ2rV/wAh92d7BXI6XxXSkJ6NKSwN5EQfQuxvciQWwj7RFMnL10EkHoUeO4PF4cQwUNssulVS6ugbzDs5BLP+J+DEDFY0EukpcXQp9SX7j6sR/wAYq+GFKHhMyuknp7eYQxH00p2xQVSrU0oU120zBsQoiN2mNLEQXwaPhIUEgNYEj6BTQLM4A2F0PijmVadKqKXSVJVvvBIEs5LloksnArUFiDpdAOkl/wBIIF3+W7ixqUUMS+myg7yIFu0bkENIwqrT8RKfE0vuDJT8KtgrS7HeGOCkoSQdVWDpUfi7f7h24Mm9KiAlJI6CBpZun2HN1BhL+mClwxU3AZvVlclmAO474zWUFWApOoeUmAoH4TBnjjmcV/s6rQrjxUoUkspEhuwMyxLPu7HFChmMrUWrKjwRVDrSx8OomClWkODpeVAavUYRXzdLUF6FBnOh/KfzgiS0DtgZqtTPiJD0lcjqcebs2l/cE84pZ2qum+gX9uZ/F9D9HxVzCgpypn+G7gXSR7gpPoDzilWKFQCUGFafl+FQHLWIhxdjjNJqHwqlNWpJIIjzJ3HKWd5sHcRikgFY8appV6yfXnYgzsxjC6IKCUaVTd22hX7EH02whFamDMBUpukv5m815g3e/CU0SkEpp/k38P5YrZZeVqKr5NJQr4ko8iwZIUix+YFLW7l8pm6mZ10l/d9OoFtx0qTyH6dPd+BhdSkAU1FFwXStw78PZ/yYbEYGakTHpseUjf0NxYYrZxGkNqVwp/8AN0nyqB8qmO+FZgFlLU1Oz9RKe6htoO4htRwEpQHSvUlbqSOFbsO7/pzgIQUlRHuC/qWNtMEHj3GPHFFSkLneA3/HBO0mWY4y/wBoIK9AU6dRgtqB/Y3SeYPbCs1o66aSYtN/zYbHY/rTzlWpdDA8hzZ9LcKDWPmcYrKcJUGLEG8W5/zgVwksqElR0rcaQp7epf2ntjx0tLA7Sz7uCLH8uL4VXp1BHn3McXL8Ddpl8Zg1fvEil0kn8En5WMOoOOFEDjFA09CNbAE3YXsdTQlTFiW0nljCSlSGKUlaYs2ppSe5UIN5titTRXpsEpBB3sWN3+E7WvLXxXNTIqTUJFRBNmDiJHsCZjUH3bFPNf1BHhjQ7KYsSHLEpaFJJEiZuAcVq1amE6kW3SSz7pI4UeoWuGtihWFYs7cOZD7H+0x+s4TTFNTlTiFMN/Q8/rjxk0S4A0kB4/N5BZocdrHFWrSPUaQZ5YT6hg7XbhOFVqatACBUSk9oS4vu4dwodnbCUppZ6jVo1BqLpKGZ9QY/2m3aymxrXq1JDchSWIf8m5a2NCG1LlV7uB+t2tvLYCsqXSQUk7n5h3+rHe3GKgQ/S57f97298ZlYpqDBWkmR2UmQXh7QWfacLVXoKKklJpFixLNdwYLRYwD1G4bCcxUOlSTu4IO+7HdyJTyLYq/aDhqyY1dTBwCzOlpSX3t3DjCdFZIIqa02ZUvwNj2fzAkO+nFTKhXQzkPpUqS1r3+V9wrrDgnFCpWor0K1FJBQ2pwCFSgPs7lDmxYG+AtJV0pWVcFwH47O2kHZQVziv9nqzSdRX4R0wLah22diwfuMIy6sssCoklO5SYUki7bE8jeDAOKi6RpqSldTuZ+pgtyeJPOF1l06igupIBIJTJ4OpMEcqgGZBxls9TrHTqKFgkA1DF/n2Z7v5SdXOCnUdFUK1gBtB+X+27BpB2lzipl0LhSqiClXiCOka73+E3ceUku2AcwKYpk62SyVeXWAensFNAO5TpJLgn7PzFGvQesPDq0uhYk2sp/lPxd37EhNNYG4HlIuP8g398V8qFDUgz/m8Wl57+mM1lFVEJCl6iB0Egj1B/EJChPZoxTpKp0klaSUi5SzjaH4US/IYjFPwTUhiDCgdjYsLgEt7anwoUBqSqmGe7lph/w/o8nfFHwaRUVDoN2veCQPMH9CzsbjFWll6lMKopTUaWPnAPy7qA4M98BehZSzONkuQr/lQ33JnArpNM6kLBF7Cxv2/K9yMOkaFgk6fhadPa4MQAPa+KOYoqJCFrSFbd73+rA+ZtPOKq6eglBMFjpgEKs+w+UHZUnnFMBSUgsXAaZOzET/ACxnFJFZJILW9uREsDZhxjwU06/iUyrWxBBIYAhiDyN036iOcVdCX8UiZSfMJs6bFJsC8H1xSqUlJTCP7k87uNwTd7OSDOEVQn7s0AUlupgoH+Qp/wDacVct4ZfSFU1Bi2x/m/IsdRwjKo8MhlCIIJ6XH7GPpgZSsEEpqO3wrkH92UCxDiCOkscKo8odJDD4oDt/4vp2cMMLygOYJS9MkhQKSyCrhX90dj2OKSVoV1L2IAN42HzJbqBEpJYiDjx6aNHiqa0pDA3kbT8phxd2OEVaDOmoC99Th+AebtyLG2Bn8vmkAEVEnZKdQRwSXlxKVCbR5hgLSkFKlVI21O2zpeHUDq4fuMU6hcLGsl2f5Twq5Ae/ysLhWK58VOpToUzE9IePi2EgdnDpUGxTSX01DrdyCBpP1H7+hLHGXUnyh0kP0n/67hjIB6gG2xW1EFbOoXJDRvxsnbfbkoRU1U6wqMZCj1D0JvwpL2S0uzoogUgpCdQSSSzAg/Ez+VxMQ7d8CqkhnSXHWmqSH2cFiIaO3fGYy6hUKkFbncuJDdGofFuH6VgkgtjL5+ugimpRIdkqOoyRDnl2KSeVc4pZqkptbh/mBh94j14I7PivUNEhaUPTUx/DIu4Lie1lQbYq57QtR8BeliFMCqPoDbfZnkFwM1lc3TRURqp5ikoKQ/SslJcgHmI5EEOcIUatLxqNRKwdviCtwsbGev2YThNeqEyEliznefKwkMZG4bFdWZWNaaafyc8sPZ35BxTqVXSanhvDOB+Su5BuGluMZih/UI6VAFo7zZrAi/Ci8YUEEGmrUlaN1BlAC4i7d/WcKyxIK0VQwPWgSDYhTdxumQ+oGDhNIVUFAJP4mciGufM/c9Q02LnCaGbolISsaHBCvlf5werST0njSzviiomqUVgymG3S1nHcPLHg48Fesjwkl7Ft+/PAVN1cSEBJZelJf4eljv6sR7t2xWQQj/UDS7GwN/0JbcSGeKtRKWdRqB5Sp9JO4Cj09Q3i4UZJxUVVpp1UqZKJ6VXA9iZS7QX0sbYVUSrSpSEE/C6XV6Q3vsd8U6ZWtT0qYQb6YPGpP+4TsRNlYCjRYp60psp+ocpVvwpKjaHLFWNAzNNKyh1aelT6TPmEdMnq45gxQUVhVBdPRUpWJADiZGzunbcCJBOXrjKZtSMwpJoVulTJbSfgX2byr20tbCEBI0pGtF0KeNJlnB+hPvfHiDUElJBLi8E/9khu7cHFdCinTBkKDEuWh35bTPq+ECuklKhrSeYPFrWIdQgho3wKRFZb0139SBsUnhNrsUkPbAWQdKwXa7eZLXi7cXbeHwVkf6amVOnpczyNxt7De+tdGp95UPVIIHSH2BH5cWULHCkkstCtSuCZu46twbtZQJ+LCQsKUGuHZptIP6g324xoAcMb2NnvHEyGjhsCqlJ1aAjSerUNLh9lW/5KucLzaaaSFZYFC3GqkQSD3SRIMuJbDmoAtJXTb4QwKD6K6g3Gr0nCKuaOrTVUpVgY9XZQuGYhzzFzTp1wtzUIeZdVxH08u4Zp6BisgsU9SlM+r4Z2mE8pYseqxwilWpkwQkEtpSYHDiCki/uLYy9VUIXTJJjWixBsrgH6XFsKrqHQFhZFncE6RZ9i2x7TOEZ+ol9YdDWIDum6T30y+99sJzSSOhXRMPdJ/MWKf1DzjxdBISrWFTqaUqvL89L32OxxWzBFbyNzHSpPyvbUIbcJ0wZwQ9ixUxFwCq4vCCbjynUJfFSvpQpFUava0z35NoNwRil9rporVS/1NtNRupJ2eyiktYu5JhsKTWABoFDblB3G4Sbw8Fo03bGWWVgpqVgWDodoHDH5YSoGY7vhOZqJLU1gohtMqSDDy+pIN2MfXFOusp05nSygGUjZ4eHh+qbENhKtJGgJ1pLA7EbD1fykNw9gayQo+LrTTqFtwxV39bb4y9ddRI8VuklLcjtMH6yQPKMV10K9PpKXBZ2DzFwzHVcciMClVA6Kv3b6lII6gDfSB5gYPMFmL4OTUagKa+lJBLadaS7WPYjfYj5mxUo1SjSqu2mAU37JlgbnSIPmG2K2VqK6kVHI82ylAFwCd+RuABsFDGT6vuqrg7F5H144+Q8jCMsPDCPFAUPLY+yhaDH8fByQWkpURqhtvTuGMTZz8L4/9PqIq1Ew19ISn9DtZimyn5Axkl/0w6gWX5g3xWubQ2n+6epsVPEJ8SmOlVx9Jf8AY7tMHFEJf70kgiwulW79uBZsVaaKTHwypJ3UHTwx4Igvil1HyQdnuN29A3f6YzGXTUPUhMxP+RsfN2L4X9mppnywQ6Zt2e7hy43jFGmiQoNs7+zH0LSR5r4WlOk/dg6HLR6lu/IhwOb1c9Uo1WTT0xClDzDYz6sRe46gQyftTNvp8L0IaGLSdtLh++q4xmPDzAeqVU6pbuEncgjqDKA5YncPin0ISlRKttTd2D6XvYHysmyWxVRrpqamygHBEKP/AJRKWPu1wcUay0qRTq0vEpL6XMFJYiVC0C/ECMVaVLLVka6PQsxYlJd78S/pYvGKlMU6xqUz92oNo0q9AUbPZJB209sVq1RPWKZKYdaSzCzgHbeRxzjI5pZTpFUJqAeWAensb/8AYDGDVrLJ1haSqxAA6gWIIG42LMUlgwOMxQ8UIqg6AQX1OqXEu5iR6btjIfaFXKVEUlHXlFKAqB+qjqjxKTzo19RRt8PGMzTKupFXpICtjq7pO7j3s04CPEQ2v03nv3IbjmXbFI1AQKhCQAGWBxZtwANn1Bt7Yra01SygUr8pSG9eGNn2vsWGmsmqkKJh1U/R/L/tcp5HpheXBCagHW7KaAX3+U/sW7Y8LL1EdY0LF4dJ5EQWhSd7jfC8vSpICqauhoSCDu6dHJBhvbC/tJAUkDL1lFMKMPFin0ggGFwIVhObo1pTSqiqwIGmDxLtaQ7bSWwk06utNelID9IZ9p/EFBiJ8wODlKK9QoKUmH2AixANiWT7gc4oZY9QU1QtOkzyFJB2MgpJYHvhNFKFkEGl3LCdrxO23wi4xTopWkDUHHy8G5T77cs4jB+zAUlqjk8mP430PecZjL1ssou5QTsGnZcQT9NQvOKB1pHWNSWi5UORYuQzh2Mbk4zOXVU+8odK0yoGZHzJLFiJSezGMU9NTUKjXGqHaGdj7xdsHIUyhSqdTqZyGgszdP8AaNN9pYvglSQEmk34tj8xady4cerYp+EpRDi3UCYfv2unkBthjM6aY6KRcDbqDfKeUEDezjtjTSzA8yUlgyixfsoFjqbpvYgvOM19m0EVjUTUTvqHmtJi4UB1JUxfTq3xR+y0ISDrKVOykiJey0KDsTfl3xV+yaYX4gsp9TdLEztcbA3EC2DkfDXpSpKSFEhognqCWMagRb4g8asIoVKawkLKkqkSAoE+aeXmzR3BxW8cAoISlaW0rDF0x1ekEhJDhrs2Mr9+E/1CVeKnpeGLRcWL7nykNvNXLzqSkg8Ndj5m2MGBeCN8VKtSkeql4aSHCkphd3BeCbqGoOWJfFD7SooL6FAP1ApU7/NyAonvpJVbA/ps6jxMuySlipLM7/58igYPYpxooDoVdmNiFB+T66p3Js+FZagLIPUDYGbH0CuLByUvheWCwCgutAFoX2MzKbpV3AJjCUqqU0pACagZoZ9MyRy1/wBMa1hP3iFjZwR+fp9CeMfaCK6gmrTYKT1Agl+7EMwI8wLs4NnxlRSzFBC1agtSWqJ/GCUqPoSA4Hl1HYPij90dLqUgz1F25FvRTHud8ZgIR1pSHJvsHfzNYODO18Uaqlp0VAlKfKXO5FvRt/pfBQqlWVpqAoX+Shzwf1bTwcFWjSNcE2/MFJlu1wWPONVOHLjZVwb8RuzRHpiugUqhVTV4iV3DOPyaWIDjzJuHGHUp1pqMU7eb8r3uPlJh2wCirFRIDRBcjZSeWbtbSsS+FZNIPTUOrzJ1SHEHSBux9MHQabVEpMEE6bjcbltxvJG2BlkVKSF5etpLggQyvXY6wACIkvBwNVNQSVug21XSZLP+gO2rjFVVHX4aqhpnVDbS6Sw+E/TuxxVppLaahUgiJt6PYpNvcF2wjKv1+IFOLOQFN79Kg7/2tdiBn6ZpKWxWEEuBIbVtO7+0nbAXTXTSoKUVgiHLqjYgOHAOrhbODOMpmKCkaVpJPzBtff8AV1gh5N4OKaadSmdJJSDIVcOG2s439cZjK1GSuikMIUTcNM9jf3PMZWuqkPBqgrpM6R5zSe4SRdALt5VIkTbCao81MH1kD0YfkDIPpgV66lAr0qYk2HUlw9rEOD3AfljUfpNLpMpIUH9n/wCfzOKoWQQgG5k+ZJZob0fuGTIXFHOroq/p8zVIpVf9OqUf6dQWC/wKbzB2Lu2FKoOSM3TKrKAVBB8vTuXEe+BmdavukqBQSCFJZM3g7apnyuwLYzB8Ufdo01BPB5lHxB3drag2KNaogp8U9SS3TsHseUsx4vha1oUip4YHKyq4MH63GxbCkVSNSaaVpAl7sR9NokdseOmiqFFFS8m1pHcx02LyMVK1evSSFCmqIXpj6XS7SxIhxtjLZjwNIKCoOyikuR6j4kjn/dhSgWNN2aZtw442Ly5OK1WlVSqnVGlTP1gfUG3f2wiiElkluos7MxuxuGv2KJuk4/pqikF9hcLckd3/AE/8eMFJSog+be35+79mb0xKVpbpJefxAsx9XHr1XxWqFKesN6MXI43B/wAvtjMGohfj0HqAM6UtqYw4BuxZ03S8DSTjL5qlmKI1QoCQoaTH7dNwbaXwrL0lOKMxKX6m790NJ4YbYzP2TmPFRUokgEALclRHBN7GDwH7uCl4KlPBc9t/Tb0UMGsUKAAV36H+htfY3+mM1l6NRRUnUFKEoBZLjafKbgcMm4bFVGYy9dJT4i6b9XLcEGywklQIg6WB6sVdKqYWA6gAfKdXPTFpmSA6uMUamvyhSbKBABDEAHVuR8zF2DhiMJXqISpzLEHm35f4UD1YXTf/AFUfdq952/T1V7TVyWVqlTaUEm6SoCbuxYCQQRaYjGSpLoukKtB0q379j6SO+AeiQN53DOAXkED/AOBb4RimnxqIUGhwRfe0cfmC4BwKaqdVPU4JBaCGeZuNi23DHH3YqF3T1HyiQXgt3Y/TBV4TlakqQZKnHvH5gNIZnOKuf+z0/dr8ST0qQhRS88T7hwQcZTM0KYKULRUpLOump3UkkMWsQXFix/TFMGoxTpKeX/Ige4O24vhKEadK1AjY/nI2IPsqcVKNAeVTEQB+bNYNs/A4wtkLZW7dRcO0pf5VNZUgkB74U60gHQ6SWLiRweOQNja+MtmEdWXrhIYi458pfjd+YJOKicugwQomCH6vUGxvOFUWWpSkdFy3Y/tcH0nCsslaQugsCW0nt8PIgwfwy74VTqU1JC0hQU4BS/mEgbtqkf8AWKmTd102SosdOspfbuHPcS+F5XM0wrwgpI82nb8tgxt+F7YVSrVSBVCg7OUkAiQ7Hhy7H4XbGcyi6Ck1qaSsCTYq/EP0XDOxGBXApgs6VMzl2VbSLTYMQygxvjLZisMxfUhVgXncBQEpVpLBTTIUHxrpZkaV0xYg9LxuR9X/ANyhxiv9j5NJVoX5ttrhTjhQLLFuLYXRq0Vo8MpLkAvv/cDwZcFxq4AxlSQtlwpYgAulYu0bxtKFPDE4FGosnwzJALWcpJdvUFu/BGKialKsU1Esk2UHee4YidJtYl9WEKrh/DSClYPHEkF7ng/FaMCupJBUohQLP5fdxBEnSW30q3GP6qtUOioqmJY6HTcM6uDYghsZevVSNNStRqIfpXrdTCOqJtLd8ZihUCgoKQpKrpd34KB825HxS0xgeAR94gGqixSxCgfiO2r4uJ2OPDVV0VEJQFJ6VC3RsPrzuG3nM5clIVqGob7+zWMSHuCR5WPhHWI8RWxLBUbbAwe22MpXpLpry+ZQUlL+GXhSN0DcKQbA+xbFb+rKP/41Q0kJAClC5GxlwOnZrnSoYzANABalKWTdW6jZ2PS5hJtB20gnJfadNVLwXLoJIJukXIULwodwN4xVzApVUVNQFNRGrSCOl+q+6XJDWsXTimjSA6nQWUlbmQfxDkbF7fVdBFQBQL/5/wCbHbtjOU1UVQFhBY23G4aXa7Mosb4yVbxEtTqqUpMMbj8Knukw1iXwtNNRMAk3Z/Qxb+PivRzR/wBIK0jciT8PS5njSRfdwk4QupTGlSHJ6nWXDNd5ZrKHbvhKqNVxp8GoHT+EXBD/AChjeCJBscHJ1G10y4klJ3bvsoCBEu+5xlTUB01BCbMnzbudi4dw8QCHGNYWjzEaDsJayp3BEtcEEhxgZIKA6iCnfePyI/yRGKuXWabOkkcdJsLdxw8+5xUUsEoWjqTvYkjYneIct648ajmNdJQUiqnyn3f9Zba4LYKvDDVTFvEZv/KQXHPHcHCFVKVUIcCmoukqLu77fqyjZ5wigVBJ8SYd/wDLQSzA8hnZsKoqKWWpKgU9p76Xl+zF+m4wvLpJKV9KnIDG+/u7lwZl4M48HwDrp6iwZQvHbdxdpFmZ2x4qwgLSQqmfk+HsdxpUzHYWNxiln/CGkqaSTYOkh3A8tmf4DwlsIrawislSVoAYg/kQZ6mMbGxvjNfaQQtQRSXr8qnbSXse0S9reuFgZj73qFRPmFlXl9mSexDF404Vq0eGaS0n4VlPkKSG/wAadxpUDjLUgCVrZSXf5VJex4IsJseo96OYVT0miToN0nb27MkfQ7YRUTUMuDt0hyfX9rKAI2wKvhEg0nHzMbvu/wBLyRjNVgof6drNYbyDZ4DPb0wvNa0jRTUpQ4UQTp2JmWLgG4cGwOBmQDpq6kGw2CnlplCjsXZ/bFCrQYaVaiR0657tPv7htsf1TL06fRNjw14EX2P0xTqSQqmxJZ/KX2J4J3Ni+FOmn1J9G3nbnn5haRhRCwCE8h/7oY/kzyDGKdbSNNX2MH11cKDanfqAY3xmkqipTRG7h35iJkcPcTjMVFoT/o+IjeDY7j0E6hs47YKFLK0+HpG0QocEG2lUbEOGLCQqtSqoq6KhCVT82gnkbg8x2GKSfGpiolREuRIL8NcEhVxBgd8VxSgqSSpKtKtW/Dkd/KqFM8lsVTR0JBpnw2BB+KYvBgsNiLjZ6NKlVCdDE3BcjUdi90rcaT3fYjCFLSptfUksnVOoWAU3xJLAtcHdsZlJrI1AJMCC4jsbj+DfCMvUQT1aB9Use/If5fS+KmWqJ1eIQUmQxkH13B6vqp9sKppV1oCyUQthrffVspP4p0yCGwk5dTpUV0lOWI8zg3nfcuxHcTioCQEJrVNQcCC5u8d5UACWkgwcZUVKS+sLMkFwWI9bgW0qkHscLzhpsFatJUNK9ch4Zt/cjqcyBj+qVpSfE8RMBTguQfii0u99JYb4XnDSXqCSWhVNW+zpOz2/URj+uSqsGBSV+XSdY1evJGoFLPbtjK5o6vvXYwDb1TwTMc3iMVaaCHSjWk3S1wQ/tvwR9Gq5ZFJXj00aWPUGFjsrkuGfd+z4reDmKD6CGaHi3mDjUlJDhjYhjj7M+0vB0ZSv00SCmmtZhCoIAWY0nYHyqBAwipBNOskbwrUmJLeoY+5YzjMqXVoa0GkppO7sZ5L7ju7xgmuislVEIQdPUDuncBuHGk22iDgayPE1gkyxHxCDbYkb7RcSatMhyerjqba2wcMx5nbCqlNQkdQNzE7Ajglw8gv2xmKNNKvESdPbVaPL3SQOn+2OMZWvT6QSexBcFpHqGkNwdmxTSgqJCoOxHd779+Q+NFMqKSD7BgWi43+E8wcI8RZ0iowPJn8uGbnqf4cGnUQGK3G3HoTxdj3fbFRKTfS7fFP1eQxj19sLTSRmmUzq4veCPmG99V+cHK5aoWIQpSkw+7Qz7khvducLydJWWOkDp2+WfMH3BHqw3fFNS6CYtxqJTt5Tcch7d8JUaqNSk6dwWEcp+sH198Zql0CqgylXV7A/tzdMi2BKQsEr6fvBZSfxRcfV4YxirTo+MUh0mqDBhOsyOz6hf9QSMV8qAzUulQY8p+ZPMeZBDGAAS+Ps2gql/UUltpgokwqygzBQcTuHaxOK9AliAzBirVZH4nEpDhOk3Z4nFPI1ApJ/qATcdIHuSDOr83nC0snSU+UwdTgNtNtxIKQHkBsaAF6FFSUrB0kXS+2nzNcaZ3DtowjXT6FVQqnspQcGRYiygLu84pEpZJqJUOQdtmFwXAYd4vgrSUt4rsLb8Mk82d+YuMZlCn8RC1N2gni4axImZA+EYRWy6klhpqDqJ0t9e1wflV+HFdOXqUwoF6jM6Nm+b3YNFy18Iy9VajpqKQ3mA/8AkHulh67F9OB93p1KZQvDRDybiwMu2lV0yatWUuVRv+U+olj0lnTpOKVVaekrLKDaVyA4j+WvNsGppVpJ6VbF7kbj+C24OEJShco6FNeWf89mIPCj60tBpqpulSdhwG/T9P0Sj4dAKRxt+UPf1uImtl0Rppo+gFxb3tMPBGM7lhTWDSTpKn6fhJF0sbSHYbOzYo1ikESl36CSGN2HdOzOw1YrZpXhJqKpdlFh1g9NxGwOzvsoSvPbMbagCH/uTeUqF0kXDpL4TmqiFhdJSkUzBlheCp2IYtP1tjLZyjW86nW4ZQZ34O3v2dzqOKSadZJEBwZae4/f/jCvuFeHVGumfKsBwx3BEsNxcQoYXSpqP3aip4UC5Z+4tta7p3xXyoy9UVUVk0nZ0iY4IO6VF/TpkWr0xVCl0qevSdR0XSoeYbHTskpkJKrtilVy9WnpqJ8OqADa++oGynsWIU5qFpnMoI66eYSEH+6D2E6UkuN0u8OBimpCgyqiKiiG0KYv6kfS0hmkHH9QimB90UMbnmdrfCXG7khwRinRyWdphStJUBpMsR21C6CDGredzir9l/09UKogKSbhxaNjBNvQgB5x4VY6VeGCoN5VMFezMFN9ZEyB/TZnShVNwhV+sgj6O4d+4+XCctWpa9SkrFjqAP8AtVHsf0BwvLV3V0jRJSkS+mWO4Vp/8oe5wMsK1MhaLGIs/I4f89wcZIKpoqISCUQw3TzNyBEXa2Ff1dNRKQfDUX06heyvTV/yN8I+0EpqJSqkYLGbfiB4kv8AiH1p1Mv5lQlUqY2LXjncsxAe74P9OryFLj4XYtcHghyfr3waScynpSygNSYY9wLNYtuCkWIfFfJqA1aVEh7fViB72n1jFGn4TfdQdnIdvlEhxcMZhtwKFWkSqlVSWaI8yTIYiQzFuCWwmonVoDgAwq5cdLt3Sz2u+2MvnFKqaGUk3cgD27fu/bDL0udRPq8DtYntwecLOs6dSgR8Q2A2m/H54rU0KqoCl9YNzBfZw4IILF+DdsLrpQU+LZJ81wQ7eYMpCgWBe2E1kIOpClqQoTL/AF9mfsdUzjwk1BrDgbP+hmN/+WwKVfL1PMtVJWzeX+B5PAm+Kn3VTqUplyUqhP1Gzxu0WGB4ZToplrgcPcMq4cX2uGwrLU6iVoqOKiCdKhD6ZDs/qNr2fC1lARpkeRYUHHIdon4VgTy+KAqLDpSFK4MEAwHfzONI1cO9gcaFgKBSy23s877l7E8+mEJNVBQsBCkGNOzjbhrNZ5EYFCqVKRUQdJ6goxpO/cA7K9iSMVqXhDTUDhLMd9LNCrEp/MDZxiulSqGukl4GsHVI5f3OlUtDlhilmawQ1VCmSRsWH+5tQHDyhTbMcCupZHhpWG5DSeTZwOoC2/oKlXQPEpht3H1PoWDjuGxUZyUykO+ln9wfqZCnAuDigtadQUjWC2pxPy9nGx4d3cYNQJ6khKW7tHZ47MWh1A4GbpVEjxEoSU/Fpn/b68d7WOKP9PVpU1UlBQIkAuC42fmQzwzYUAXR4TNYsz8N7s/a+PCKkD8I6X83af1SXBLWwEeJSYKAUHEmb2PuBPwljikalGoxVtxDPEbtKTzO74XVqhXiBXTBYQ4LXaI9mcc4SoKU+otFw892LpU0cK5LjGdy4WErpgu8EMfT10nYjVxjwnCk1KYSp3SUuxB3R6H4fTjFPLshaKqtSST5eofTzJIYagzQ8TheUoAp6ezNqDm6R8QJuh3BChcHC8vQEDSUmdBhXymD3DH88VMlQJSrLOhcOmz7xO9tSTvPlxlTWCSmopSgGZVjPlLj4hzuNW4x41NaRTUknhRhn4IuApoMteBhVRNEBITomDsex+S7B4JbjFb+mzlPw1Hq2+FZvM3gkE7Du2CF0iabtpNxv3cci/OCatNRpZgHSZCk3L3IKd1Q1h0tClYFY0lFGjxEEkHUjSqb3ZPVCobq/EDjNIRUIVSHh1LKAGnV6f7tQGwI7vhClqpgedemA8kQpJl9RFwJjpvjJ1fDUUrPhrCk6eFA2g9wAoHZ+2BmdYdaU6IlmM9Jfjg3DTBwayqagG6SYPxCbWkp2+YaTu+EZrUkJNQSXcDfc7gieoKaAo2wEkLBSsqiyg7J4/ERInZi8YUioCVsNPdmaN/h39COMVs9k8qn7+shCvKyXKi9vL26nmB1Oz4oZmjmDqSsDVKQCEm27bkbWhhKcBSFPQWtLkt1XkQ/LYz2VKipKjpLFlpMqTcFJ+LRdvMxN+lsspZQKVRZZJ81ldmdh1W1WfUT5sBIISUp1bhwImO9zq3Yu8DH/wDI020EdQvf83BaO/vhOYTAV5/WOIH8kgcYVXSFstgNLPseFA8iHCuzHCqtGF6gpixn4vXzJU4BYieTOKyamsVKYCkjqSzAsRcEfM7cBUwMU8zTUQtCAGhSYf2/bm1zheeSklKQe7fp6g3I3bjCq4LFLauRf6X4+j2xmcv49YK8RQKgGJhj9H7SGD6YjD1UgpqLQtu7xYkO8Hg+4xlKlRLBaIIghmjb/aQWBljBtims+ExSFRDMCPiEWLftzjx0yhaShQfTv6p/tO3BjFarTVVCVLQx/FtvcFLzbjqB2wlFNLpSTqunVKSOAREcQZbCKygYAcXkH2O7iNhH0xU0K1PqDhugat306d2vzdpxSy9QhKkrISQGM+37SNvMJwVVfIpCi0AzbZ/oSD7NhGiVMdYjadwSPV7XLkbOc0DDi8PEH0jpPo4L7FipanRUSJEAiDwX2U3B3OycUFqRqRWoAp2YE38w2cvJiQ+4xXy1Ip10idYY3IdJmRu0kCRLfFinTTTSCXbj+b2b07nFSpliCFagq4AUypt7anAPfTxhVNSKwXqYFLv8RG7pP/O0YGZCFFBpKUkhnkn0V/8AFTO4xmKC1/eJ1ADZlJUBLNf6bBJ7O3iUwSlX40sbiy08OCfhI2JjH2bTSafQtSWU5QxLG56bpPYQZbFDMoUfDqM7XFlbH87byWu2KlJ09CukhiLxZwRwW/N8U8s5LquI7kSPyiZcS74Xl2IezGdiDxeRf1d7jGaCdCkhLLNjOlR7cFuqOGIjGWzRQoIrp7BQPoRfvF4i4wlQ0ulThU2Y/T+T7YVTp1UsoSSfrdx3bjfscVKBSWI1bpUOxg8uP4+KyCpggaS2nSYtsDs3yEtBUkRipRUsoJOlYcjYg/Eyt7PcuFFxAOE0X0hgXD+ncNZpdpuZxRUulVNNdLUFJLEiDz5YcyXADzAL40hYLo0y6S2/reN32OF5KpUR0VU6r9jyn2hu5xSyIQHrJdW6kAdKu6eCLtvq3MZzLIR1IAV3Lp/YwXIaRtvgZdNRI8VBcNpUZb8Je4bpJHZVy4P2chawlREhme5H6K2N0yDjMfZaEt4JcidJYcFgNp6kmznacZrKeDUFSi7iVIBOkE7gCQCe0PvgZnRVCqtEiIWGLjcd2PUH2U0EYydXKVqIKocHfYiW3gg/iBbHh0AEnUldMNJeBz9GkWsfLitXpInLmnr9Qr3bd+qIwft/NI+7NNCwCQlYGhQ3SZ6FCGuNnD4XmDmxFWuioQQUpWtFNP8AtewggS436xj+iQxTVWAo/wCnUfpE2Pr0g8P2OKdBVBSTSqoYlwkHrAuy+6HiLPxhFR0jxOo6R1PLBTeoKVdUF2keUYqZkhwnzB/9UX3fbuTsQ2kyBg+JVhS6dOmqRuOozp3SNTMDCXnfCK9fJnStQqIcyndxdQnZ1OLMQRjL51ddAFRISxZzsp7pY/LpW3JJTjNUTURqSqmFC6e449WBZw9wbY01OpKnUFWVq1sbpgcjpcgFiJL40KS/WFA2Cb/MlQHytv7GQDijmK+VrpC3NPUwD7EhtJPS4cKGxGobYyf3qjpQxJvs7ljpNx/9TyMU8mp/vgKg5CQ4HPp/z2xU+z6SOtB2kf8AF2iWnCxS8coKig/D3aW41pdgQxUlt8V6PiJEDVbVAJ1cHuWJBhT6ky4wKVamyQTqAChpN9pSWuPUPGKFWoACU9QHVxp+bb3FpOC1RZ+YXS1xcf8Af4WN8ZrLmSabBMpWAWjkbsI52tjKZ3SfDWpwGAEuJaHu0DtDlsVFhbFKRKYU2khWzHZ9w2lXber/AF1Gq9Mq0rDEgFQI4NyhTaSFTeN8Irfa9AGpSzCXpqmn5wpO4KLEHsyoUMZP7eo5gJRmqS8tXDJVpQV0lbBaF30K/GIdnN8ZqjRV94gpL9Tjf6bbTtO2Ciml1sCLEA9Qk7b9hyYvjxaVQadaUkDpLkBrOU/CLj9WY4XXzOXZB60MOqDpTbU++j2M9nNHNoSrzOov0xBN4tzFtLrEHCs0gq0VEBtuC+x4DHd9JJ7Yo0aNczRA08DTpPrwzPdJM2fGayinTrcpSp0Cb7MRNrAz6g4o0m3SobKgz3/FuecGklVOCnULA7b+8778O+MyaaUp1gIUFNqgi/P1viloC2QASR8K2AUHIZ/co2Zw0DFVFWqmfu1psRDg3Eb2IEF5TIxQc05r9Q8wd+ztun0kOezIqsEkp1KCpKd5d/Xd/wDacVmWjUod+P03Y++2KiD5QNaVBwR8QuDuyh22uMZzKagldMB3Y2OzMoX0qEbtGKWvLVEa1E0jdyWS4jVw1n/3YqZmlpOh+Wl3Et6jzJImDdsKz1NaCNTHdwTBE6kxBjggzD4UrxCdNQlQ0mG602cExwz8XBOF1k6Z6lJ/CoGLkpnZ9Q41NinmNX+mFBSQ4Zj9OW/cPD4Rns6mqPEFJaLlGkJWQOFO2tAfbqDg4FdCw6V6dVwQygRG+7fRns+DRWmaeoH/AOpFuCeLcGwOKNVZToUoeII6nDsedj+jkm2PDSpJ1tO4DN/05H1a+E0kFKkKbp4jefQPJ78PitR0FC6aS6WOgS3dNj0yIMg72xmEiulK1JWgg3kXu5Hf8rjFbJjU6ag7b6TukXOku2ljyIxWyg8FT6bvAB27OQeCAQQpjjLJNKm2sKR9SncENte+5ERjKeJrqJI1oUiwfzGytJgQFWLGcDXRWdKNQPzMDps3VOlVyOZxWoVnL0NVJYdmkGD1XnVhOXIbSko7SW47sD93EhhcWIqUaajUT4gD26iOII6kkSzH1BAxVytGulOYpwq6kynp8x07hYS5HIBTscUsvUS6HUxfS4Mk3HVsdrEb+V8HLVD0FD/3A+QtAPNk92nnH/pyW6gW4JUXAu3OodR/EEm9j9nCm2l1JOkglepvrJBF7sWe5bL/AGf0FluzBtI5iDaLSzgs2Kn2epSdYUdQvOlwLgzAaW2ePix/6edlgTYvc/iE3CSI+FuCPB8FZRUVHmEuDPVpUZT8wDwzQ+M2KSdFTQFDUE1J3di6fq54D4of1FCoFoZSApQVp0l03j0LxwI4xSzpVpHg6T+RtsORYiPLhYEFQgi/Chb+ftjM5JJXUUAzyxDyPiHcRbzJ74UVU1eGah0uO4S1i3FvLKS1wrHipXp8QupDoJ4lm2vGnnqD4y4JmmsgCx83szvwe7Mb41qCwfADidVrG/MOxH/ODmKdQSBrBYoJZ+wNiRsd4fGYyaKi1Mnw5dx9XawI6rbjYNihl1hJAqFZEEO7B7tsQT0qb4XlzheYr0gELpeIN1aFIKQH3sCLvYymGwKlPWoKW4WJltPBHaIeUsWsp6KqS1+H1ay+khmUwJIt5nTYYy2YqFOnwC6e2knvN4Zx8zNBOCUrUp6TBUWZKj32k7jc9sZiigMumjQUyz6vdvZldnwAV00uzN02+kbcvx64OQ1atNMAu4UgsUnccp+YCwfTYSMqaaEmpqfaodjt02A2Tw3GEKVSWBrCYbYhQvBiCCfa84WpFan0wdz/AC8u/wD7SIwhGgyoDmYP82Oxg3wEoME7OOSN29PTGYyyaiFBtSg5S7OWO03tvLThdBaTTUEhDe1j/wBxye+K+XrLRq1HSA4Id27kfDIfiDhOaq5Y9YKglXUSH1J3JUkXT3FkhtxihmfFSF5dSSFMSxifeHnix5wioTTeq8BieFC8b8gjaNsEJVUSUVCCJZ53t8wG6TsIxWWGCVXvE28wAu4ktJbaxwPCqOrWFAQsAuz2VN09jNsLySKiApIsxKRZTf4Ig8KwvKoSNXhHjeN2JG3rBljirQ8KqmvTSWSxI8wAVs4uFCQ9yCLnC1JCtSglCCNT/L9W56bO7HAzmVFXXRUHstkqQPcEMyjLt0sx2ws0qtQLQouOphIlpH1CiOOdqaSC6UhTzqJZ35/F+IdnxR8Uo0riOkp449ePXCsm5K/EUTx/nA1pEv8A7rHlLbKaUs4OErdUUwlQ9n3BB7j6hwcKqJcfRwY/CX+H/Ia+F1QkKSthq8pEAvt9d/7ecVcylFQpVKSwNo4LG47wQ82GKSKS36kqSxEFmBsRuGsQbNuDj+gphOtDuLkByzbgbH39LY+zEFGYrU6nUgpSaZcjqBUNLE3Icj05bFakp/GQjWjeJhp9d2ke2M3TrISF0lhizJ0uPRrgT1DbZiMeHWbxVVGIny2Df93E+r4FRDhROoO3QYCtmBs8R80SDgaUBgynPlMAvOkv5FG7WcwMI0EAp8PULAm6Tbp34SRf2wFViPIOmwFmtvcEQdJgw1sGpqSelvUF/pzcc2Mvhwvp1JUBIe/1H59xKef9KqopraXgpdwx42VyGYgAtMYTm64JSaiVB+JB7k3d9wHSWecCo76lEONtvThrjhyOHzi10lBRR4qX6gxnuNtXA5cWjCalGqhgQHZSHghlBwdmeLw+wE5daUrWDpSErO95ZiPhkhO/mffC82hBQmEjUwLMGNuGgsWN5TZsU88nSErUSCLFi2xB/XmeMeNRUwBf9TzKTf1vjMZcqXqpoBCoU4ALc8KbfdpnFLKSdaRYv0uLaS0xYEeh3AOKKE+IdDJ7/Fq+ZP5uZCmLicLStwVM25SezPwRaHH+K9IqBUhSQU21Tb4V8xD9hhFVZJCj208FnYFrFlXmBMzWX/TrTXpAkO6riDdQu1y6S0bQcUswa1KUanD6tIKT3JvP5ydjjMfZqMwklKPCUkxEHfST2lngvj+nzVHSpHQUkEK82hSTB9LDVN55xkc3VrrVQzApprNqprAbxALjjUm8Xm2FoAU5d/WPpY+4fa4wqhRW5U4iU7keaFBplxY7HCaVOn0lZ8O6XhxZj9L8jGtNFRKCpSTsQXBEMobs9x684p5rWhSSgaLHns97Bx07++F5cFmGv5SeoNwW4PvAwioaavCqUyhB8qkyeCn/AOyRxF4xTNNdRVMlTEdJt6Ps7wCPNYynCIUUBbs4Z7g8H4Y8tuoEPiqpVNKpUUwY6iR5SRu6YBF4m+EVBUQChetJl5YKZjeUiHINvpjL16YUlBdJIPSTBu4HeTe7tYYzuUpkGom3xENDi53AfqH+FHCcuqirVTUdJ4afi2Z9xtqmxKRijmKn+mrykwSSGUBy29woBiweXeooprJlIb2HrqmJcK+EqL8Y/qKFUI1Jc/RTpgiblMyOx4OCmhTrqM6Vjj39N5Fi8DbCK5pMKepSCzBVjxpVsTZiGe1sePrDeUtEgRwXsR6X1Bxg19IUkpZYDQnvYgO3tEgxjMpqVXNTSlA6hTukBmKnuo/hNr4+7HnNPUk7F1Br7xB7pUiQxxQ+0MvRrfeBYQRoWwcEfMG2TLtOlzsMf+oZdVE+CF1jOnV0AFzc/XqS8bWxQ+3lUaiRnKGjLrb/APkIdXh7BSwBISYqqDN5tLHAqABNROmohQ1JUku47NBi3LYVVprJC06eCwb0O14eMKQpK+kuiW7Tb2f6GRjw1+anLu4Xf+Xccy8YrZarVcMEKaDpg7j0Y8xYhpGKuV8XWisgoWlLKgseFpN/wm/S3cYo5apRqVEioTPTq4NrFjwdi2xxlVrp1Cky4hjOoF9P5aqZUA9tU4Qqmiqpd/EEJdupJFnYpJlwW+LBrVKiXSyIlKjJB/ItxvcM+KQCgdUr4gwbib7Tdx+LCqB1lSiyTuN3seCH9wT2xVoI0qCEz3Aj5VGGILyPU2ZqiasJPhpLdKht2LkON2LWgg4RU8Mh16VyGXAe+l/V2DjYh5GE52qpKVDwyHAIJY8SwLGxB/E5scKzfWoJDK3SpyAN+3dLxKZGKtRSar6RpVI77dKgb9+4fBU9Rk1SAp2dBH4gEubOCpJEhtONNMLSvxepg72kHiwIlJtGKS1BWlSNQZwsT2I5/UdIBx4NOqkpcpPGwI29PT5vTH9CkdSR8Wr33tfUD1R32xrytVa+kBZvE2aWlmLPII0m4GK60mCjp92BFw45ctwWjBSkp0fep6XG7NwZkcAuxiMUMxoUNazz1bEFn9AfyUSIwnPUiPDUGUBeGmPccm3LFsCol1TqIcp59z+v6l8Va062KT+H9j5SXY6b8ebCayyEnWFWcdtvW/oQWuMBVKqdCkaVabix7csbw7HV2x/T+FX+7QVIWOpOonuCD5n+sQ528GmpBSdKhcEjqB27OzPZ574oBVEEUdISI0K/+I7fKDGrULAY/rFIqpJhJDE7EbECRuYPvzhQV1WUmXZ/o2wI3swJc7VXSQpK9CkkKQoHSUEXD2NnltwCbFOZqZjLp8VKTqHnTYmzhuWkcp74H9WFPdKbC7iZBO4O12U0sMUqya1L71DFMMEwt9vd39CcCipStVNPRbSVT2VM+1i3fCaaNOpSE/KQd/8AkjpPdjimtDaaUN5nH5jb17sbPivWpJUA0/2hvXu0FrsexxWqBFfW6EBVwPISX1Ds76kmJdw740+LUdPQSmd0qmRYtPU3eLHBy6lIYqdoIu47cR9TwRj/ANPKTrRVYLCdabTsrs/lf3sGwvJrUE+KwUggpUCQ/IIHu7PaLYUjMU6PRU8TSPLCiQzsbPaGN23LYoFVRBNONJLpaU9T24LwbPhQqo+8OhVMNqSUyPT2eAx9cI8LMr1aHeIZnZrbG6VBQBbcjFWl4dVLFQdiygW2D9jsflW06cZjx0h0EFQAKVJkKlvKTsoA8gukXGMpnDmECnWQjWxGm3sNjyO47nC1lOlSnI8r6X1bB79UD/p8LPV4odBTvaxt3CvlL3jZiqnW6vh/CJ9E8iWiSFHbGZyVIK8aik7iogv9U8h4OxT2xRTTWVDTpJ8ouxNh23QLQQ4k4oZdSFEjkjp2+VWksI6QsXiQ91IFRJSEp1TEpSTIIO6XaFM0sbDH2HmNCq32cpRYfeUUqUCyFedKewLK0szKU18JphJ+86gRBu3r8ybD6b4q1BRLnyw4vPPaN/rthK6cVKZLKaO/PIO3fCdNRAV8Qv8Av+8YVoWtSVDSoAi0Ecg+sH8xbH2rligKqIDFjKU+YQ/bVunfU4l8UcwvS1Rbl3pr0We0jvce8HGWRl83T19ScxTbxAS7wwUk8EWPzDqYg4RRBASFjVw37fwMQ2Ep8NQTUp6eFnfllCNxfnjFWmvzI06Pb3Hd+ObS+AkRqvLH9bX/AMPGMxlqdZMOFoLiBL/l2npMP2qZenL0S9lp/MKSOYB2LuxMYFOgh/DqadR1aSSUvfSXkA+bjzCFDAo0qvm6vwJPVEERuIPcTGE0E09LJ+71MsKDn3exYg+nbGayKFoCkI0qSbXvwxdrNyPfFSmdJNZD6WmnC7za7lizfEeWxl1UClCkqUBYOekdiDKTsRLemD4bHSD5nSpnfkHu9uWbjCMwaKhqSrSeOobyk7paR8QkSCMDIUtYqU1EdvhmfVM7ce+Mxlvi8RI1FPUw6jtY/FebGNhhOlFJlLSpgL/koFn7EHjjA8CqSwAUFFO0FthZSVRDsfVsBIqhKdSeBqZxDdMeUxB47YVRXRqKUqoApMsIQU2IUBMFw5dm4x1rQTT7fiS9r7HjlpGHUoMB4ahdW3ty/wCjEssYQuQhVTqBOhRYTCg5b+0fw4r5ytRqJLBbDi7XA7lJdOxZowqoojx6aoIdSdJsQ7ge5hjhBNVHi6m+FQZn2m1wR+Y3x4dN/wD+xKpIiFw/aSJszuMISy9OstsndrMXmzX3d+68plqiTpIJH4upPZQ2+U95vjLrGVCqCOtHiFSGUBp1XT6OBqAgFeoM+CdS0klVN9jYg/ooHkcHvijT0l1KC0l5G4vKR8QD2lxhVJ3UllNBhy1wexvjVURUILKSfML2sZnsW3CSAXLFJKugM+zfWBdW/G4cE4q0fFokKRI3Bl+YkEbeu+F0qaUPUSDp+Ip+imuCLFmN4UMGqikpCqIuwIB6fpYjjdjDs2B9ohKpppZTH/N5DH6bjHjZeqCw8NYgDU3dge0ECYeMUszQIVTqK1gbGFAbdwQbEemEeDpUlPUGdLqkA9x9Ry3pgr/p64WnyqPWgxf4gdw4PeEk3Bw1OopY1lBIMRuHYix2Ul+GecUR4Km8QatTpsygdi9+NlWkmTUqqOl0iPmkHZ5+hn5Td8FNIo1AjfWgzeI7iAeWSd8VkGkrXRIEglO4Bg+qQW6hbiMCq6OvcAhlOHFlBMKb/wC0XxUWuv0pWNVgkFy43MCGsriRuMUV1MotJrpCQd0l032bi0h29TjNoqLHiU/ux2b/AMX/APibej48OqlRC2Wn5rE/luCO4VDYTSrhigvDyq8eVv5NmAGAkuQtX4wQfQwbiPcaQ76XNSmaNWlXR1rQQpFRBY3kHsoOFD0/Dih9pUVAL8bRZxWLf8Sd9je2AvK1qYqJUhaFdKlhSSn/AHFJj1+H64zFEJmkttPwlQt+nKTgfa6csmaNau0L8HSoolnKSRc8enfGV+0sj9oavBKhUTJp1EmnUA5bcCxbdgcZmkFIUD5FBik33EH3/LvhX2fTV0EF/W6huBcKN3DyYe2MrTXlqzLfw19JW9iPKuPhqWURZTc4RmNFkapfVpsd3O07iHa2DnaTAVVgF4HB4n6Nu7YJpqT0VBI1JG3DgDv/AJOKVdAJprPVBDhiT29dvcYToql0dKkuHhik9twbjgk4OWBUUrIIO0W5B2aOwvjO5BFOpC1dWzD6FvniRuPXFOlVD9BSoT4ifiaQoRcpLEEPLFxYKqFLDqWk+Zif83ul9tQGKaq6wBBiI9yGb1t9A+K+V1tqKUkpYnn/AAR/HwqgugFP1CxUA39quCCGBGxtjK1gghFRboU4mGANjyQ8GC4bZ8LoAy4KCl/Tkbx3eFdsHLLqJJT0pI8r+U3jtMgzMFsZmktA6VBXKdxuCOfinfi2E6yhyAQqNOr5h8KtiFP0l+0YV4iFKKKadKmJeOoSkkTpcP1Jh3QRbCKr6QumUKBggwoXuLLHO9xioKFQBesuzF2cep/zvNnxRoQeuHMCHF4IhxIAbj1xrQnT06yNw2suNmhQuNi7XjGZo6iKiQ1oTu2zfNpOpJHs+PAK0oKOr+7/AA0gy6SAQbTillKtO/lv5n+n84FsLyo0rbUnWHKRZR5bu21zg+LRcAgL0jSTIUPxJ+kh79mwc4qr0r0U3LLUmXLMFDjUxEFi/YYqJVQzKVUqqtFUSHWAViNz/ab3J5wnNUqSSKiGMKBukjZQU0hhci0ExhH2rl6iNCrpPTyAbSPhkMpyQDOP64UWIWFJgiOpjw127O4+mMp9oJrkoCiPr/7TG8+g2ctUQlJCwp2YkT/GMxtcMWxUzCE9VLe4J0/TbkG18IrU6ofUQo3SL+nez3+GL4qeLq8NWpi42Lp7f2v674VkFl2Wt+A0pli0bH2IsIxmcrXT1alEhiuLtdafxX26ul36sZWjmKgUdZSoNqBkR8vAaU6u4fBSmfGYKBMhwdgrp5SqSk+oDHFKspA+7VqKCWgnUj5SD9Gg2ILkYVnKWZGlwFABaHfqBaz23BBNwOcJziG8NagSjyk3DGClW45SbdjjMVCAlYPwh7XHO8hmPxXD4y+cTWpAKcLSY3cfubNDqHrgVylUMlKvigpUD37Q7uDBi+DT8UmWWn/9csSGlJ21Bob6zheSXUYhQASxQQJA5Atqkkiz+oGP6BYAXq0/iH83Dsk7m+EZZVRJQpIqfKSXB7PPAYmfrg5eohAZmEMS7J2LiDs7gHpO6WxVy4XSUogHplIezdviTy3wvfGUFKtl/NoqU4VqbVw+r232tYYq5bQNSAFu4s6X7iWOywG8x5wcrVqpUWCGFr6gO/LXee22E0kUSrWhdSmpyZCtHMAylJZwz8B3wimvJ1BWyih4VWFocqSqNSCU7lKfibUWN8VKJrsVEKfaWBhtLEEabF/MMU8uqimGHIkizEdTkBQ7kRd2wKooZtNZKGWg9bN1pMH0Vw+4ALOcUc1ls4hSRVGtpSuCW3AvuH4nFSkhB8yi2xLmPL2Vw8Ete2F5goWEqR0EhioiQY/l7Bw7HFKozgpJ4Y+1vyax3vg0MutKjqBJMbFKtry3vcWnFCmoo6IUHYKsT+Vxx+2BrS3iIQSk3Goke1+HA9cIKislCUyDa/8A2n89pwatn6qgkRcbu1ubc4qkVaY6J2NmA4fdBuHtaDhOWr62JBQduHBtLj1TubYVlfAqJV8Cmn153v7DtgshlU99vxf5P+WwldPMUg6Z7iR/IbYjCKSVFVJQB27KB/LsR6PjNfZPSV0mOkq6C99mL9JPFieMZNSxS0Gn5YYu6SIbncepc4TmmaoNRB8wS15Ei0sT/BjM1adYax0qkSnT/tPfjbi4ZdSslgUqKZ6hdgqyudPLaknkYWU1KZW6gtHs6faCxIDx3a2KP2hlyhAhz0nXuRsTsbMTKXlxiopOl6aHUA4ABfnT3O4v5e+B4oIqI1hBujyqg7ptwxDFmEGcUK7VEdKup9KjKSxkatj8THtjMNUpkJSNenpiyh5TPB4MgRMYpZ2olaUVKakTIYw7hWk7pMHsWwftCuskUC2n4lB3PdOwUNKnaCDvj+tzVQKoqIQu6YHqyT/eHAlh6YRRXmDrFUhSjIJZ33HyrCvSQzThGRE9aioSxaT2IDM7weXSQ2KqCsaQkRZKg30PeN73Ygv/AE9YDqUNNwn4k/MA9+We9jOEZemFKRUpODDo6QWkEeUhTEcF1FLGMLy40DwwVv8AEDLiJHI3AZTgQQo4o0K9BQqKimqHSXvzun1IbaNWEJqKAXqStJG+0sXBLiWPtwcKFJSAkpD7lIMi1g8vfuO+JprZJSJg2flJ/aOlTi2AlNVIKwAuNTc7Hv8A3BiCxMYzAVTqBuvVYjp6vexPFj7DFKrTWgprITqtKbn9iY98GjTo1PFoFLEdSH425cpLcTvDKpCuToQAsTNyORyWf1LjbBprpZnyi7kbMYdh8N33F5AjMZdSa76NOofD633dt2f0nC8nWrgsEG+kpAC79SYYFwzbEs0xhCM1SBTU6koj4nANmi3AMbM+MuKRQTIKSTYwQYMiGMRsWMHCKtJVMrhRQxUkNqHPSWPJ9IBMjD06iypIUCEs8gzYwHgQQYEY+GKiwU7KeXm+4lvQuJEBdVI1krNPgh0wfqI2NiCmRijV1/6K9JESGsY/uSX0i7c2aupSVfe6kFbuQWDnger3vbc4ppOgqT1ggunn0/bjlsUxTGohWhUjdJIvpUk3IuNyl0y2E109SU1S4EJX5gReRZtvmBGBXq1CsJPlL6dUqB2BsZdj/bjwlqB+NQLgkaVN2+FVy8/pjL0hp8KogJE6SdpcNtBdxEemFIFHY7QJJ9Gvb/gxhK6aunqeGmOwmy//AGqI7nGao5fxRUAdTT0ypJFlJu++5CnHGKoy76kKKXA0lMMrgtKO9gW5wr7QzWWWQrxqqJAPnKTwSbEc2UHuAGV9qUqtHqDMQShg/eDz5ktsrgYy2dC1JVSTHv0m2kjaT5o6GcWwg06n3ikaXuPkJu7WD+VUpEyIwippURI0qspoc3e3LiygxSxLFSgRrb+5p99sJrpCykw5g7At9ZbaxLjCFo1bavn9fmG0324LYqE6SFsS7jRdx9OoX7gkThZUhCSlUJhlQR+XLdru2DmQpLLBLeU8p/bST7QTjxBplHtpZ2+g+hggYDKQ9OCJsx9xzzz9Djw1qOp2VEp7fu3bqEHClrQVPPMEjghTbcG4x45SSrTpLtcyW9Nx9cZamqUhAUkyIsdzyxgkcXl8LyzpVrDAhmHU3Dvd9jtY84rBaAkVAGSptRDek7umCOw3xRCBWI+BRILFxa4fkAPy0zip9mechAAghYDyBv7AfiBEEgjFAVk/dhWrTA7CFRvELTpJi3GCMykkrpiQSCDrCuWDB/SDxIxUIiCFAhaSHZYbq4dWmGUNTuHOKRUUwtIE3uD+z3Fw7c4VWFRf3agqoCxNgDYh5Z9JD2cCbYNJalhQTe3SzKDy/wAJIhSTDzY4Uga3WNRBlky0e/rdy/OKikIUaiEKHzNcjkg8bmGe8EYTXSvSvSpHzKtuzvYbA9274WUJ+88VJ3JZpdj6KBlucLVQWnUSmolQnqYjg/7S4f8ADNsZcKVqQyVJDtqAV5X6eedoDkWhaFaD4IuJSX/eQqe5sRjL5mohSqVVBOw1ODqT+RB6WUndgQCMUM7RCw7kESnkcht4L+kgYR4fmQIV2/mzT6HGYo0VBykvPU31/n1vjQ4+7uzb+jtyLtvirRUqmxSHCrgt/O22xZWKdFK9WoEL0sT3BcHje1pcNheVcdN4Ulh+aezM4ggm0Yp030hZ06Wb9LwziPc9saKQW6i4Tz5k7F925B3e2K1Oi6dOlQV/8uxu9v8AtsVE/wBOVVEAkO6gC/r082IYThFanWSVaAXe92VsOQTYdjj+nJU6SA4DKTfjqjrEJuPd8Ioqo1VgoSbjST9Uh9j5k/7ocYy1HxAVD7sgkKSL9lw7jSzgW6jbTioybMqZ0kagbuHOxKv4cCrVdSVrCkzGnSofKbynb/o48Y0qgUkpAfV5ncfF0NYh5B/FBxna6KlEOHSQ6SlUp7gzy6Qd43xS+0K+ULJrBdMuyFAO99LdwFNb4cUM1TztyynYpgFi5Db/ANpvpLbYr5NqniUoMbq25bhz/BjwglQqAlJIZQGzhnBF9vMGNyxxUzdSmdVMa2haZIMXFiHII9YvfL/bPjdBpaFg+YukHbfzPs/Vt3wj71GrxCglPOzwHIZuFJYpLc4qBVLSoKt5lEFX1G6ZcdjqDF8Vh4gTVp9RQZTO/mYk6gbEKFi284oUqeZF2XbS2rVuxgOn1574qZKoIXTRpa93SIIllPp3DkPIian2SlytCk2dOkORxqT2dmZiCqBGBTrIClIRo0mSHAtLtIUnqDt8uqBjI5sqZNQifQAK7HuRG3U2wGM0oKbw5WAWZV/w+iofZ7NDU6+Y8QJUfCC4Gow934UCWKgwUH7HC8rm9UqBpk/B3tt0xZUixjFHyhC1AqRY6iFtt62Yy4OqbYpq1K0uQw3kpt8XxJ9Ra+NOtJl1bjYw3o/pfcWwoVaWoHSUh3h478OP8YGZW3SHG4I7XIEER234wr7Q8FleGtRMlCRAG/VDECZcEBxihnPGc0jp5QqFD8PymbKBnBRVWSy3fZQ/xI/P8pNPOoJTU0qQelwJd+l3fd2U/AwhYQVaVCC4uJv6h5HfvgrFRJ1sIliDf0/LC/Cq01oWQsASj4tPbm7jcEiYxWoiko1EAmmGUWSQoMZcc+w1J2ecUs4lwhS1aVDT+EsYDc2KVe27Y8RNOoFAApe+6b3AtFmuBZ8eNSrpADF3fed2I8wNwbxgFCRoqIdt/SY+sex3ws0lqSEqCX6SRYgxYfoR5b4VR8JeqQPKogf7Ul/XpY7Eh4GEa3OlSlAG6uO7XLQ/YPfFVCSNYJ7ho/7HPGNYPwflu3U27KBcpO/rgjUVUyoaVP0gM/M/mzA874oZZC0aFqsSAVBi8iCIOpnbe44wrLoShkguxkg3ZnTuNQZxuQre9OjmKNVNahW1BwSgTHGzOBB2N4Jx/XporGpStJE2YfMDtGoKn4SWsGNalW4L7bg2cGz6bg8e+Kdeimroqo0l2CmMqBaYvbv+mKGbQOgqdOx49e36Me2KpUQF0SCPVv5/zxigXT19KhsP25F7YroqM9OqJ5ET+1vQwcUk1AuVehH6bgsf/a2NVS2kv3tyG/8Ack8j1xVolSXEEiQLHv8Axvrg01EK1O/zT+ZHO7i084WiuEg0TFlIVOx236gw+K17YzFeqhOpT6k+aJA2UlQgt+4fS+KGY6yxKUqJL6Swc+Ydgo9SSDBgxgeMISsKQZS5BYnZ9kmwuPK7YqIUum1dOlh01Lt8rjzC9n+YTjLJCkdJ+8pwWf7xD9Mhi3wvJhixjAyqKvUUJkMXEn3Hfq/LbH9Lp+AKHwr1T2cbMf8ABDHGf+z9dIVgplU+rR8pQZgbkP8AuDhyaANJAWWlIYTYlnncQWVp2LP4uXUAKuVUHOkqdwFAsPMIn0KW7YTXOXzI8MgywVY3so7GZ1BgoxBxlftimvpWNKm7e7M7bllej4VmkrU3hM7MsAhJJLdx1HmEzODTSuoQun4TyAt0ud2Y+jS5PJxmMshOppl93/NiFjYiDwxjIhQ0oUthcJSrkvCTts1w1mGKQIXoWl0K9hvP4X6hxNmOP6OkP9JiLhHZrNzy8GMJpaKsBNJTmB0g8w7P8QG4cbjFRakpHipKgC6SnvIb9P8A2nClIUCpNMpggzH02B55/uxVqJDhm1BwXI1NuCH0qAbVsb7kYprCqhT5CLEjqEymLgFmeQH4wlKVpGpI8QfGLHZzukkbeoc4RTpqR1pCmVcifX2e+wwCk6kKXtew/L0MxpIwTl6eo1VBKU2qDd9ibE8Hc3YnC8ymqVf0tZyABqIKSGsziXN4gGQXxTzWapya4VsUljIlhDPYiRuPRH2zUUtPiZemEWXKtSk76Q0Ftju4nU+KmbpIKjRWg6pQoPAMF4+ZiG+IswBOFVmSopX1AkkKIBf9LnZmf1GMt9omnWKtCFpLBaHmS2pJH1ZQh2J1CaVajmaXj0Xg6VospKhdL7PdOx2LYpZhCnpKU0Qf2m21xsbEYVRYedQLDQoEH00qFuWMGGwipUQrQpevbq+WG9RI1Py4xoKampzd9O0yH37R7gvGXNFfmZx0nkdvoxm84VQy63SikAZ2AHEP6N6McZjL5imVDqSkFg5JBTsg8N5X5SDLuU1dIpqSSmUvt1HpIU8BTpHqX5x/UKUvSvqG8s/Y8Xg3k3GAnSdQANM79NuTwpJ7XGE5hHlUgKR5FkNAMeXjeNw4wnQFqCClY4A+jp4vItf0RqSXKXSSNTj5v2OxHKhBwMuioOhh9Dyd/d9wfbGbyIKfFTTGtA6gm8WI3jj25xSBUtWlJ2JFtXZv9oY+pEg4KTUpKGnSqSAZD8j13sXxS8TX4aqI6Y1BTOn5eRHO0jfGZRRXT0qSkKAcKEuDHuD8QNvScU0UEFLnSRHnUQQ7MwPynpUHtfbFRNMq1hQILPqkHYz35+YF4wgqWnShIFRN2OlxI806g9nsL4pLX4an1P5VD/otFuDDHFNVbpKUqWhQvEO2zhQLsSO5Y4ArWBf12PBBn8u+5wnVqdQnv2/EmLPfAlUG1xz6fyOGxW8RKegAqGxs38/6whVYz4VKYI2P8fiPQwunUCkqAActt7dv095xVQS4qUEdQ8zfx9wR6ey0ijmF0/DAEqu7FpiQQ3/kliZnCc0SSg9HDjaxAVxFjII9CaNat4J0VJQWZY1JO4E7e8bWGKLKVrFPwtXnCDv6HylwUmPW2PE8NwpS2NlJ37K/EOR5gQcBCtTmsVIU7EuB6H8jyDq4xVX4epCipe+sfQg8sWnd++FVfgSzElvDcdQ+IXbb8JfZSsKo1V1lo61CoNidaVT6XAIkHYm05rJl0aTUKiAQGUmoGi9jwQbkK3GKSKtOug1QUp19JS4L7BfHykEaS5BFsUKyTSZJ0Qw1H+MRyNlCIxUzKlQtQVpudJJBF2k6rvwrgRiuaak6gsKdIUwM3ulKvlMs8atxGMpWp+Ur6QW+8Z0l49raTLORD4oq0K1praqY8yVqge6n1CNureWxSOtQKFDUQ6ZBC9wxB8231BcAYqU/FCtYUFJ4FxcXlu+zNhCdKQTrqJ4XLc6d53GxbfCEUWKkJd5/gsZv2PIxmMuEDUmiNILkAAtbjj0drORiv9n0cwApP3dTZSTpJBdnIgl34ffjFJFWi1JR1aksksCC3wncEp8uxkehp5tJISpbN5WLNtuQR/wnFHMzpUkpURDwyo+lvQvbFWlqqeJq1A2RACEmGIO5YEkG4+VhipRAJUs+GTBYsFerhv2JAUGLjFPLLUrU4Wj+4zLpUW+Jw7h7qgvg5bStNWmUtBUmyVp5cOAWlx3GDTpLFksYYNdrxZTcYTkqVQ9TEIi8gW/3A7X/AFxmvs2nSJqUhD6mdizzZ4F3FunZ8fZ9VFFbpAT4qdFdJPxP0rI5eHEHUcVf6WuoHx0orCD5RqDbg33fg2OMjWVSNSmOtGyViabuSEvsSIFpBsMKVT8yEdW4UIHICvlLuPTClhVVIIbUGY3/AORsdxBD4Rl6iFn7wKQfKFXHAO5G02fC05jzFQBSWJSHjZ+5aTjMLzCKZ1JKxuSAe08oeOQGtimqmoqBZgbH5VQyn2lJmx6u+P6RylVJ7eV3HqAr4fMIhiMKoVUlh8XwnZUxuClVtHqUkEYQpVGoUq1ACzzZoc7gMdJbsTIwhXh1EVqdRlEMum0EGyhHo4vGF51YLlkgiWkA3tfSrsYPrinnXV0rV3AYkTDH0GkPf3xTqlSnSs+hIYx/LGfXFer4GZ6qetC260iQ9ntv6SVYrZnSoHSW1fDBL889o9buKmcTr8q0g7lJEetrtBbS5KVMcIKFJl6oJ6VSm+0WVvzqJbjFbLFSX07H4QQQbvtd+1+cUkKQShQWEmH3BtL77Xk6ZLg4SEUwCHl+ox2c8oVAZTED1wmsgK1U0uQwKPy+K6XLE8EPDEDP1KbpRTdOzEFuxB/59Tj/ANQNQa0DSpBZaSZY/sFe6XaxxX+06g/0qeuqRYq0pfvzy492nFevmK4V4qzRqJPlpLVTIB2vKrzuE6hvj7L+3quXV/R/aB8ZCT91mn+8CC0Vk/EEv5hMi4x4VOq60VHCp6SCJEH0uXH74qIrUZSsqT8QUqO5sb34k4WtdWnBmIU+lQ/R/wBFBuMZ3K1V+HXpLT4iIMEE+u2q6dgXbClqp1dOYYOYWnyuzpOk/MB1B2UBd8P4dJK06WITqSzAbv342ju+HUxqISC0s5YxPVdyN2mcZLOUaxCFApUq2sR6P5S7OPcRbCqUqStmNm+kH8iDMvhdNiUBQmx/yP5LpPOBkk05herdQE+hukcD0xWy4UToZKwIIHHUCwOzbeu2K9SrRanWQFdRLvZ4LaxL8Q/W9nxXqLqnQvQl5B3jpUC8jSXgnVpJYxjLqzKQUqUhQTcuxIG43LAAqgxy+FU1pUirRB0EdYUSVJZw7i40nzMeoK7DC8mVUfEpLCjPSJVPmSeXunYsGMYo0k+GpSxI8wB+igNju7XfuMfZlJNQZmnKh0qCCQGdx6CTB2jGZ+zhQLk1qY4SpSNKnunTAILcDVIg4Oc+0KBTXoZuqV04Uit94ionkiXBDOR3VFsZL/8AJ6VUaM6nwF7lCCaZ2cXbg3EpPOMtmUVyo5GvSqkPqQWSof3ILKDmX4l8KXXLpqaUmbCO4fv/AMi+FFTaSkJ6iNSRv+2yp6VQL4NOuVeZOkdVrAs/dtxuk7XxSBW3V1Dv7OlQ+neHlic2M2gk6Eq09SY6nSXYGynkAQWxRq0M5QSpNPTUTcC1NUX/AAmLhmP4TivS0J8QofltuR2MYSmkaetAKbux0kfs4IDdwkvpVjMVfDWFU6lQpJdQuBPVGwkvdgUqGEK+KmVhJ2Uw67NwFcExqYE9QwnMKStKkio9m8o4KXsX2DkpWmMV8xq0koUHZ2DEu4MbKMjgq9cDKJrsUqbpvbUPQg9tSfT1x/TpQjSdR0lvQgvfl/K3w7TinUppqqu6XKQzhSYIY9n8plmwvN0CkuwZiIY/8sdoeTviuqmpigpUCOlp0kSCPYweYOKdamspTVXpqfkT5V6TY6r6XBciJOKlTwbq1chRI/USDEHy+5wnMeIlSPEZIJGk8du4EgPIjFWoMtV1JpukwSmzGziGB/8AYX+HHhmolFUVdVIspAChrRzCbhtOtMEyRMYOa0JZlEIjqnVxNxYMrmecHMZfNUdRp9YEnSyo3ULg8nvhGhaNNkEQTamrcBQ23HLRhFKkBpWrWoD4pdu4+IEfuIwg5UmwSodJ4Lcn0kEh03x4lFLpAbvaP2KTsYvxgpTVbrTvCvNwQ/Hrw++K9BUaVsiR1TO2o/Lcv6cYpqIenUCagNlEOzjc8EPq3B03BwlOYTqFIp078gbN3bklrDbFLxNLLXIuPK/qnylwDIgsRCsVFJKdJXGk3v6KO4EAG4cAlw+MstSdSVLStL9KudT3n2HHphVJWpCxLK/8kq+F+b6SWuxlM1kU31gdmZjb8woS2MwFhYKCRq+Vykj12Co81jHknCUVzqHiKSpNirqfl+/cF9IJnCaVVR6iqqofEeA27bOHuzvbGdyldKk1qWpVwSljqHs7s/sE3YNj7OzuayFRC6dRRSksukrXpXTB6klBceUkpWGZrw2MtnMvm06qZ1wCpB6VpCokG49IPq2FoB/0SEk/D8PNvWxwmnUBUiqnVMK5Bt6EGPzfH2jkKdZUJCaj3cpflKtn3ZQkE4qrSjLU0katKAgqHzJG+7OCfq+2KP2jVorfwRVpN1ofSdILKUBIBSb7ezsrOICkqp0yhCmUD089XaFs/rOxKszWqJc0j+Ig/QiZLH9pwk0yh1IOs7EOSbunZrEl4kC+KlY00koSqpO9vUcDn5RdoxUq5qqNaRpIsAHdrdY/cXEwTiqipmKX3iQW2WWYWZ9iwb87GTRS7VqFSnpca3Kg1i4l0hpSWOlik4qJp0lfd1CFRpCn0njRs1g43ANiRjLfaVVbUV0mI5gAiFAEOZYG0iQ+MuQp0eRRsXgG4MRO1nB2VjM0qtIrUzidTHT2U+zuxlnhXfH2QrxTUNNk1U0xeCUPZQO6SQHtp9BitWFZHg1TyDbpIuArg/r6YrfZ2sKVRqlKkuw1MFjnUICr3EqgwxwPs+qfvBWkGdVgZ1Ap2c35pyJGFIzWUqIq09QqJKVUqw4FgSkuLMoF06nSoaS2Mh9pUs8lBUDTzSQDUokwpoKkbcFvbg4r1UiSmxmA497jlj+JG4wMyfENNCUlYSVUtUApfynsDIuweAMKNX/UNNNJ/MEkgOL9gQP/ACYcDCc0pSSCErIhiq/5QYA9++KS/ArprJQRSW6KoSxASfmDgnw3eJ0O1mxmNaUqCCFBQ+voOf1a1sU1AliCAfMkJg90P80OOYbFb7NJBqZdgLsQwIvYWgna5ENijm/6d6demNDsNQ8uxG7pBDemkzpwBRrUgpK6YQoAhUP9RfguBOKmVTUSUmoklI+osrjqSzuO/AxTorpiFFQ2I2I/Qz2wHT1VKoUkwLK3seW8s9THthdVVGoirp1IDBaQ6SU/hNiUudIM7OWGKtDLlIqoqJXSWHuOHjvp2g8cY/qaFF6YWlbyhjYjkt/5Wv2xXqFY1ooNf3hxbdksfxJ9HyYGdylKoSsLQNKxCnKS17lx1J3DgG+KuRpF1oYrSztCgoW2DuzdxNxirr8qgdIJZ0sz3E/9EAHnFEUdOrQoF2UUhyP+OOCJjBTl8xSJQ1XTewqIPBBswNvU7YVlswEunpbgXaynHcAEXE3GMtVNKurL1jpFRwCqEhdwOAXcAj4SYbCegcKp/A2twmzEGRpuLgYRpqKV4aSlfB/Qk3ix+JILHCaa1p1AIBsoXtB1PKXtipTTTOoEl2cG3+R24aXxUKFsfiEtupPxdoGxhxjwjUSwSEqHy9Ig7tH+bDD16FRVMq0gSEllQbsd3HHAI3GKRTW1BBUpTWVIB2OxYne+98f0tQhQOoFJUQTYpLu7yFAlzO3rhOZrZdaqdWbh4PT5gR3SxUN+iMU6hqUqNXUQogwnyKYvHHLSHkYopFRKgsk+zRt2jseOcVvs5ahqpq+jM9j7NH7ScFGaC9JQkMG1J7Wv8I4lrWuipUFYK8ltSFQHESR2jVEeZxgooqbpSFLm4d9+zvMTqnGbyulZYIDnUhTsXe3AUx25OoYyGaSiqlNUeGQ6Cu1yzlmcBwXYGxLscFVOmNYqoQQx1ONCkqsAXt8vB04zX27Roj7l8xWEBIHSeC+6TwHL2FsZj7fz+bqaF5Wll2cFnKjMFKlaek7jh28zY8ZakAmnf1DKFnPGoN/xjMpzjqVQQrSJAAIMj9ekEfOl5JOKf2hm0oCK0SJ0uAbdW4Mtq+IEPIx9nVFK0k1UkEDSPhm0c6oK+49cVFB2CpbyixG0Xj5QxfU3GKPUshfSSOGf0PNh/tGrCcmASfEUoK7uJ3DQOQNm74q5BOWWo+KRrl1PpJ94ZVj6G4wukpOlYCjyk3iCxsWt/wAYzuUCkJWKLQSGBbkSOkKdyQ3m3nAqUvGAUShQG8apYpPcHylrN8SZproGmFIU6wPhkqD8fMngbfCDhVVGYBOqdJCg5D9yACUq7gWGqZx9mUDSqLNFyRCXYEar26TAZ9KSFKDgxg5VdR/u+vcqDg923OzifocVfs7NhSqupIKRKdlafxDZmJdJhl7YpU0pWoVAAFbv9UrG7GQQ7NGK6Viihk6gC4Y9xHrCpfYOz411KK6dWnSKmLlKUyx7guNwbz6HFHPiuvw81liErtVQXgj/APYkh2cdd9KkEnFSjorAUSSNLoIcsbQ0WlmYp1AiMeHX1qFXVpM9QIBPdI6TwtEX6dsBKsvVHiLKaa2ADdI2AJVIixMOAXE4NIABSKpWRpe2xmBZ07SFbYoqolIRqdiLq4MewDaSJDAGcVqVGmpKyA732VcS3/lyL4SEHqTEOfi9X2MSk7z7VMjRra3CVJXJtB7ESHlv4cDK/wBGpaBUKkkkhKh5SePwkgEjdyQxwajJ16NP5pcWPI1DoVy6ZxQqpKVISNL7PPZlcGRLz2OCatKqpPwr7FiCILSNVgebs2EVqFRKqPi9UpYg/RTujTvyGgxhKatJZFNeoX8Nw4IkhrFxKT8z7HCwlaTpYHc/LyH8zEOz90Gb0FVfBZC1KAMpJPlNw2xLEj8frjJfaGd+zah0g1MvUU6k1HYK7K+F/LqlvKQ4GKGfy9cDMU3npUhcEEND2M22u2MxXy66dQqEb9PV2duOdpnClBRCqK1qLNpYeXYqHxJ+ZQkO8YpVjTqGoAtMMrUkqTHcex6rT3xR+1DQqFC3qUidp0cs906XibRwMwnLVx4qF0ynuQ42IIMuJg9SVCDioksFnUEp4i0FT7uATyExtKlEKBpqCZ0qSVd4Ybp+IaTIMAYy+iqhyseID80++yg9zHfnHgqIbQ/u7bFybgs7jqE4rZRSrQpJLGP5f2UDinrpAJM2BKbaTAaZFjLs7G4OM1lEVCKgJN5YepCk35i6SDyMZb7lZDEX2JEO/wDn2wMwHBILbhxB7fz89T5/J0a4WpBKVokd2liP7ZH4TFhj7P8A6mllxSpq6dREo1FPo8sZiSlRcOLAZilUFZFVZqAjxEKPQtJuCgC0/L5W+V8Us3RUgaxpLDUmDp/yEncf4xWFOpKCUhuBPIfliQMZklNawLgHxAQH4Ux6T3na98KIVS82kpILKdIYtY7EFikhx6h8VqiaqQCoioCRqYEEv0q3Bc9JG5LjFTL5gVH6DTqC+r4VCW1cF2kMdLwSR/6ZX1A/1OpEg01KMAyWTI1Mb8vgpVl5dC1i4PSe5IDh09LkeqdsFVKoEqWUCdKo1aQYSe7mFNYubHCadRI10AFj1AHYp2tALBzoJ+LAzVUr6qWl4UzKOrcJGzyQkuAX5wvK5Wu51aKhcgs3fT2j1SQFMxbGWyXSgJqJROk7t/bwDePLdsUMiKQdKknVKn59TLWUD3PfH9PrU2locdvxTf8A7N1Yp0qqdTKSSlyLph+objuAe4sYqU11aLPTKk2J7fN+/rfCqNakQ5BSfgaEnZvSGMgyk4WjxEAFIAMgv7PwbyLsxvj7U+x6wqmpSA0HV3YwTIfs/wCeKOVq0qepWiNO7yPKXB3s/oQXGKlVGrVov8QOkts/zaS4hzaCJx9i1NSq15AE3dJILHdxbl08YdYSWJfebc/Tht4h8LzDqnxNflMbjkcgsOfMLNhVCgpZCtSfE8r+XV5ksT5Xhi7einwmgoIVTPWi7CfLykzKHtxim1CppV5Cpp1b2PqdxEtzit92qnUT1ISvqZPwquk9wA4O88nFVHh1KdWnUGi4HlcK2g7h2/EQIwMylV7i6AXLcEHt5djsb4r/ANNmKDL1gpI8zgt8wPpxcA98eCykpV0qSlhI6ki0i5b/AGmbEYq5WvUSVoIBEljD9+xl9iCHnFLxdGmuTUZkkvuLTvETdvUYpZuglQpvpV6MCdxwHBfhy3OJcK11EjZp/kagHcOwjGYooLKUqS0+VX59BJsR0ng2wsBB8IqCkLfQSPdj73EKBPvj/SXpUWHwl9tnDeWCCfhOqzg4qq1JbxI2IkpsQof2mzXBIZ04OTRTqhXiaVKD8oPMXUk+YMXAUqOiTkaviJX4idKh8Mgi+p9uSkWLERipll0kliFL0ulQhRA2WLM7EM8h9sUipiqEKSovHmSZLjjm+k8BsZetRWjTVCex/wCZcersRPOEZijSKkDSQudDhJcDqtDhiqDIeLYpVqPiMoM6ZSTJSN0W1ES6by9sKGVQxopOoHUCBcG8foQxYN616K16loIBbU2lxF+HBEx8UGMLWjUlQCR8Kwxb5bX8sPaJvheTSRqB6VQ/D2BBsUkXEN6g4ooWkBIDpYEEB5H7wzF45fGcya61IlIKFCBAkD/ENxFpxk6tTL1whWrUXDkliRMP2921CYxQzqgpIKg12OwsR7c2tscKNKo7sFbEQ/7Hb88VsqVIIQ6Wlv1HLNx7iMU9YJSp2I7f233kS8hmLAjBrqylXrSKlEqAdLOh46kmQJg9WzxZCstmKb6b9gzjdhvd+fXCqdFQKTBZkKsQRYP6aSLvZmwFIotTCkKM9DSRcPsRvbUnscVFFYBTuk9EEg26Vfkx8wLhsBSxKkVFNIZ9Tccr2u9vXHjpqU3SdBFlK2O2qzuTNrvcYzKldKisO8G1/MODu4N77yrN1ctU61BaFP0jbuj4f7YZiywHfC661J6QyT5W7wWE73S7F3EthObaloq01L/+LWJVuO47loJZKEVW8CsoTCSSRMhL3TLpBBOk+mBkkAeL94pZEqSoMUnbSZ1JcgdwOMJoZYK0HL1GXYyJh3CSxieWB4xl6fgLZ2QfKDLjjVbVJSRyRdxhX9Irq0utLON55aUnvYd8VU01h0pe6bPpN+ppAcDVsLsATikFHVTVTXRKZ1eJwW3gWEgw12xlqmhMlVQjhjqbYjn0/fHj6ilSQUK9b+38+oxW8XUKgCi58ybHad+o2LeaIfC0KpnxEqU5ukE6eGb3E/LvtipmmLKSsD+W4LOCLKcFpJGvVQC0qOxv/wC7kQ4I4E84WNS9SpSrzAEXZriCCGKVEDh2xSyVJTdQWCCCFGW4/uG3ee+M7kvApqp6T5nprADSRzcWMuP/AHY+y6i6OYUhaGJpEvpZKwkhvQg8sUmAphhNVB6xchiG+jizsbm4scVq9NCjrAALO4Eg99i074rhKkMKgMdLA8uHfu6eUktODmcxSDoqamkJVu3wv6QFbbuDCc2jMJSst4iCxADW2IftcMWULthGYTWpkIQFFKZG49eUCDq2EscLzS1HwK9Coi+lg4E+UKHma8cdNsHxRUV4RUlSQFJClE6mkFLh/wC5Dx9cUcyKodThQ8wexBY9gxNiLNcYJUNJSQoJliG1AQr0cH6Xwmv4a/8AUNMCJ+XYKA7Wf/op/qXCFXElMahwdwN3DmYMYVk6PT4q0ioPisf9zXdiCRebYpLXQUEJ1qpqdtc6T+FQhnA9Q18FqwKVhTNDx9Rv/bYklrpxXoE0gUiQRIkFrKs8wxve9sJp+IAKumW9AeX2Fo2kSMLy5oEpSSlCgpDnqRMhnlv2YXBx9oUy3jUUlADFaUkudwtOw0D90m+KGbroZKkKZtQPnduexBgpLwx2xq8bLBSUF23meAe5ZrfXC6ROsKprBd0qEBQVPlJhRlMQfTCxVpdIgGUrLs4LE8pUIKgbBLvjKpVmaQas1VvMFjaQRB1t3nT0yxwlCy1PML6h5VpsCGdrtFmDLSR+JqDrSUFZ1JDFWyg8TcHYHg82pLqAJpaDU0+RZ3mx/QuGi9sZjJ+MTqHhKJ2LfwXmWsYbFKmugjw6tuSNvml4s4mzOGD6UKA0AojYnSe42cGx3bFGpUSvQtAU9y7au7Wd9/W1sZjI0qlUnSKZf1FrEGCncWI+Ey2BRq0VpTUmi5TqTdLjpKTdMdLGGdLxirpAKDWWi486hbjZPItYgY+zs1Vq0KlBdTVWpeRalA6kG0/EEqBGoF20pMzjx1v96GUDs3pOq6e5Y83OF+BUCkLpMopPUCbc7m2xex4wjTRDJZ/Xqna3UDxP64XXKyfgLMSN/Yj/ADLYraTTCvOU9WtMqBDuSBL+cFnPIxlwqoOhQA4UCSC3/wAP1S5Btim6XStCah2LuIufVP8A7pxUNHUXonVubsDwq0XDyQ740ZasnT5TuDbkj3u3sIbCsjklBtICnaTD99mVsf8ABGD9nqS6KSwEO4Sb6bNvZQAcBx0k84o/ZtVfWpQVssBxq2CnhiY1fKW2JwcsvLLJNJJQpjq5ljYwbEEcvMsPFYpDAKB0kp8rSxjnpfdjZ8AVbFf4ksbgcKedN3DKbUk+WU628qVpPUz35jaZbYgt8OCNaQR0KAL0j5ouJu3G4+uE06y06qNXw1J8w0hQUB6mYhwXKW74Kz4gFVQsRqEPEP8ARiPUzGKSkdTV3AMqF0+ujgh5HO4D00kIepV1pBhbyJ3IYbdn3fHjLQdL6qRBZe6f93pMjbkHCwVSFFQlidnnbZ7nZ+BGZA0jWpMsND6Z7FvcA2wjT4Ip6tR0vDOoc8E8jkNgVjT6VP0qGkzZ7P6eV/YnCK26DtqQ9i109olJuJiCMLWjO5Zn62IeHBFnFt+GPd8ZfVTzD1QNKQUED4iry6eCdwdgbthBqBY0ABHO7P0wYN2cfMYxmPDqJIqIkCeWuPUO4eRIBF8VWQAqgkqYmOx8wPMhw0vacU1ajqNE9UK0y49PmG3Lm9sHLGnXKqdPpMlJsW3G6djHZQjVjLo0VErQk0wUnfU24D8N7FvbFaiKoC0QsMWDM45Gxsl7EE7YqUEVC7eGprOoF2hTXA2edsaKiaimUoqe3f8AcKkMXcG4OE+N4aFAgCNSVJBI1Jbm2x2I4OBpq0/vaQKklnQHYiQU9t2PpucGiooCqdYopyCBZP8AuYqSTJDw3TuMHI6+tFRWq7KJV1C5Tz8zJPIbFMVEMklbP5T5QsH6DU4IDBgMJzVMHTU+6B8q/hJ4PylrbFx2wVK8LUjTVQZBTzd3D7OdPfYnFdWYc/dHSeBJ77i7ul+MU82SChaOpnaQQR5ksXKRdQO7tsWXlaNRAClsgp2nuCOw5GxSfmxTy9OirQKniJ2BLdUiHsq94VHbFKrTpEo1LTrgJLJIUIiQOIgjSO2K1QKdJBSp1OlXH4SGZiQdxx5nxVylWn94pYUH3S7oI+I/Np3+IEzzlkaD0hQdToUEtpUCWBHqSksfS+MwsqOpaFJWPlI0kptwoe8hzcNjIZklehWtKVDS/wAQfYg/EFDe1nbFKklvuqss7Eu43cGebMQPQ4rrCgsOr8wx5nf68GDijWFdICapMMtDuUKAlkq23GnzIjFMVglqVUA3CVMr8u/ruWNxitmcyg/fU0p0/HTWWntcfUiwgjFXPVSnWldQMA+lL6h+cs8gfCqGbCqtesHGpYF9cat4CelY9ZGki5wgqXRJUlCmA3/Jz1MbcpkGMIzhyGYerRJyqzpqWC6YPxp+ZiHjzJLXxUoUlo8RFVSqa0+JTUOsKSoPuCD3ZryHwFEJCQZT0uptUWbl4Y/o5x4ml7Pzc9/+fXH9RTJBXT1OGLX499il7cnHiIU+lIBZ0qjVHzf7YN7YUyX+8FM9/KQO4mPaFdsUwKhKqWYcxqcy6beh2UPwju48VPSWUNjEtJfYlnBSZ3T5cakuyUhz2gKGzd7D8IwuhVhSWJMEWf8At21JLdjHxSTRrLWSoDWme/BcQzjeRZ8U1KGoVCzF9QvpMHUAZY+bcSd8VKNVwqmU1EKdwWAIO4eNST3kXicJTWp+anvDH2F5/dJBBhjjNUl1UkoQpKwXhnCvpIUJPM4p1K1NZ1IZQ8yXLKZ7JMdrhXuMU1/1VO2io8TuAwLlmWQfeQb4y4UKpRVhxOmCFDcbPsTDs8vheUOslVMKQe0sWO12LKSWcMNhj+iXSWdCE6F2UIUlX/2SWAIumAXTjKLqIBQpCSNvTi8swEylg+ANtDp3TFtu8SQ1xxuujTKQtB0R7EHZW1zB2MOxxVoCoEoUxBlPsymILg72/TAydFSCUXTwX+k/SR+mDRPUySrTdO7Hh27b4p0KRWyreYH3lK+zyFBik3cO6MtTyy1HVoSZE9JDEKv7Ep5TGKYo1lqTq1APpVdJ/tIuBYX0+YRirlqpTFRQT6Sk9vq7b4Qmon4lqAMsT1As8HvMHg/NheQdPioUsjTMlj8quXDD3AxS0UYJI1l+p4VvNml3iFcMyxTqVBLXSUufp/8A4kEGzEvipUr5XT/TpVUSCQ6nvcgdyCACzKUOTj/1xSKoTVpKSbKPwesfNf5ZYscUq1LNgkHqEhgWIO438zesC5xm0VkK1JCTYGzHgveWvdxN8U6ytCCummzKL6gfU3RxqDy2rFfOqpdVGm6fxLZ2gjp3e/vxil9rrprdWUPhKuFVJbl2Y8gHbuMJrUKqBVp60/F4bFge/B9PcXxXrrWNCF6XiE22vc7DmOWx/SVy4VWqafMndhcpVspvhCgbEA4+ylKpIqU1LCkGp8MhwJYGxZty4D4qKpLdOphed/35B7X2xVASt0O3zp0jUCY+pZ327E4RXf7uB8oFn4mzuIsT3IxU+5rJUtKdCnSTsAdliRpf2B4dsV6ZUNSdKvS/7hUPdie5AxQ8MLRrIJNibCLHgaS0xcFowjwgPBWqNkliBu03Dx6FtsDJ06bKQRoUbcP+YILNd2AeQcZ3IkspCgS02uHb9ShX1tYZaullhSQn6gGxBV63eer6U6ZrUKa9aqdZLgLCpSoW0nv5SDBcd8UzUrpV46h49K6tIGtH4gGBAIM36gcVMpWpqTWoGn3Anu4awvBsTDPgLUGC2TWmws/7G5DsQdVsKpU611uoDyEsod0fNLv/AAY0L0MFDpHmVZX08oJl/mfiaQqLT4dQkGwIID9wR8X6x3xSSqgpRWSpJ4MuQ77iZ9iUqljjM5NGZQdGpiwIkKDGOkuEFHp5RMYy9PM/Z7oTVzgp+Y0/gB3IHUPxHR8MtDYOcW3URZ9TS4F+Nth7YOappUlYSVLUkPp+ncNwd+mQysLpqrgKqIWQQ7JItDeqSLNII5xTJppUlC1DS5EAukc3OoJ3sQJY4QupVAFSkrpbrCfNw/Yi/NmdM/0lIVNaQQoj4VEbO7QS4BB3EnfGXrpRUXQW5/ud2AHxb6Z7/njXlCyFJIqGNSXEgxOx3G31xWr1crBlBMEpYkHY7ahBjYb4rZ+gFIqai5AChe/a4UmbHqZTbYBFQldNBVqlxzyCPpZ3ZwWxr8JDuXNwJB9U7FJDEAPIDnGVzaKw8MllBtPTfYN9I7cY1wfu7B3AuNo5T9Cg4Xl8vUUa1H/U3SNjcdJ2f323wcs48UJCVDzISNx2Etpi0EgyMeGtZ1aIEpVZtldxZz62x1IQFEFTN0h5axGwJR7HYvjxAptCzYdCgxvH02P4bg3TQFZAVqAVuQQC/Co9D9NowUVEJTJIFlbg2Ykew4xUqLpghQ1BW6bMrsbA/Rw8PhGdFKoUqUWFgQ4d49rgG6fLwcU8ynVrQqFy24U7e8/UHtjVVUkqQEkdzKVbP+xIkXOK5qJqBaRoLsCk7nYj4Sd0+U32wiic9R6qmlSFMaZOmU+VYP0HZu2Mtk1JqFIenb/aofEBaf8APOMvSqoLLUFjnf6b3J5txivkQyl0iEkyWEH2/MWLvy2KVZaHprDpEEARwX7GwLRD4q0aFRvKly41+V7EatveQdmbFRdHWaaFJNTyHSX0mwe4VxyL/LhFWpSOhelSV7+eR1JPr5gGlw2M6jLVaYqkJC0EOUln4INxYfQhQxTX4bVKSelW6Yc72suLNLN6Vs4U1UuvWlY8veD8THZQcHbFSrVRqKAs0SyofUnkd2MuHVCrw9KqmrS1DSHhcbmy2/uKZhxhRKLstPm6vMw82kjdNw44BicZPNEAimqnpBfTUOk3ltg7zwT3ICTllo1imxjqSZ9Z+hGxxUUtJdAKkf8Au9D+XNlYyC0NmQZAUlaYkO40nhmAcv0xzjMEt1KFNBs36FrqSGUw83JxrJBQgoMG7SPxMeLtIAi2BRoqCQEKCvLd0loBQreGhXUCkcYr5ZS0eUmDs7/MA1jHlNiAcChVpjULgWaCG/NNncQWg4pjXUSkjTZSVXEuz8oU46h5TffC0oW6KpCNLFCzBY3D7h5Hf1xQofdafFFRF0m4Y3Dz/glhBuutWoLCDT8REAgvD/KeFfDcagQQNRwvN0qSyk0SE1Ok9TBXwsQqNVhP4XMvjL/eZdfhKAKSQUqjunnS4h7YpKdlqS6gOqm7KSrf1Sof4+HCs1UQ/hp6R5gwUWNzBBB+IixEhi4wirRUAVI6vmuD/wAEQNuYxUNBKwWIdmNxNiPUw24PzYVUy0hRbuCHHrv39SXwoJQNVGU3CQAe8D6+VTcByMIzFZCyTSQaZliFep6uDKokW2wa5ISuiQlTiLz8qrPIYn9LYTnSslwhJTcduCDcWHMNBxWFJY6gwJhTNNxoLeY2D2aO9FKUK0hAWJZYYKHBAPlUWcAdJsQ7PR06WqVAAZQWADu3Vs4N2ZwQoWOF5WjWAVSUaVVP/wCwAEE26hyY7H+1WKQ8Ho8QACNJSoj0mwG0lgcFQqABKWWC/wCFwXf6hjaJxUoalMssr4YYu2x2ncQ8ENg5bXTHUpJZtXdOwFwoSDPy3EYrVMykGmv75KvIr0u/uwBLFKixx4FWqjqSHgpLc92dtWohw6VKKcUVZqiWWoFPxMGW46Sr5SDCgRvpBmcUUoqApqK1P6Qf1BP0PrGPAVl1gpKiH9tiCOLDs+q2Er8RQdQEPEHu3IufR9sJyqEupF/yPp8v6d8KC6a+tYBhi3NnuCD7DbFTNqSZKGe7e07yYPHe+E5lLSlLGL8/l/bMtFsVzTStAa8jeRxyCI9b3fFBZ17lJFuRbUP0+hIkHHiMNKwNPxPcd3/PcNxioFJAkqSbGOn0HAhxw3GPtKmtK9bMl2JAs/5fncctiip06CtyqxNuobf4PLXxkqqxUXSq1WvoM9YsoP8AhIEXBPfFU1QSJpqEFRGpCx+LdviC+SRGMlUUlS0ZlBSSXSsGNX4oG/xWIk4XVNOuNNQBKum4UEqulxdLmAXacV05yoVffrp1RKVU+kcsQ7K3IBZ+ppGMr9q5nLBNPODx6RjxR/qgfibpqRNkqKeVAvWz2WRU8SnVSQqC1iPxPx8092xmF18yTqrITRLaqVMXMQs/E5szbA7YRlDTqvSKWNiJvsobBul5LAdjirQrVRpV91pPmHWCQfYp1flsZxVya/D6VKVDKhxa45MAteVXtjKUiNdJbJILhTk/l+FVyzsW3fGZyTHUESiYbqAkODaIdMKDHFOlV0iegJbw1BIOmzAn4hs7bC2DlyFKFNKtJPSRs8MRZiC2mxLtAx4Zp10+N/pqLeY9JYtpVfQ4Gkl2kKx/QUtTprlOoOgksNaeflU/mYsXtbGXo5tNMpWtJKbWt3T8SbdaTDBxBwa+jVqmJSdjZSXEwX0q29Gwn70JqU0lliVWU8jS4bUE/wCpPcRinkqqn1pKkxp9fQ2LWax7gYzP2SzVEqMHrDR6Mlpj9SDfFbKo8yEQ/UNLT+jtPru+AAhTKD8ts+/P8O+MzTQUOhkxt7+nrGn88VMrVRUFemolMf2hRMuDCXPoHeQcKTUKSatN0nu4GqPbgg7s2Mio0w79IPlvcOz9iGDwencYzOisEqQ5dOlj0lvUfElUpPcbHFdAWooVciHG4g+7GR8puxjLeNT1FBUklLFi4IfzD+0yxBh0m+KdSvJhVRG5SxV2VZw4KeRY90KoZkPo8GqzKFmN5+aJ5kthVAILnSLO2/Ij3Y7gHFSgA3SVAwNzOxFlB5T6thOVo10s3UJCiJe4CjcH8Q3k2wn7NZJukGx1G/OraQHBaQ+wwaysurRWQyDZTOyk/MPX4kxYEM+MwEKSmvQCSQQShDBwbj5SDzBB074omlXVqSnSpQAU4ZQIJAfbUDAPKQFYR9nKErUKiVDyw3Ijyv8Ax5xV+zkdRSyS1rN6j2AGx3ljgUaiIKPET5gBf9x1D2Vq0llMcZXMpSnToMDSx0+T4ZuGFtQg76cVNNVOpKOtMcGIZheG77YPipYoWkHvzuOxty/phNWtUSRUTNniO6T/AJcENPU+KPiqUQspLN7/AIuxYBgXsxNseJl1IhIC07kMI3PtPe+KyyEHQjqTMcPLPDvA29L48akpSn8zMpMieClUSLH1D2xTq0VFIHSsAgE37AmeIL8PbH9S2pK0lQHUlQFjdm9ZDSQ4bGX+0MtmIAZSY7h4/I8ghiJGKdfq0VOlN0qBP1HEbdu01KBJ1JUKgvNyP3iNj64OVpVUl6YYjeZ9f0MKTheUSl9LjT0sRqBAdnEGHYpN0mCWGKlfwlhBBTIIBNiW8qjBB2eXeWIxl8+DXAqAIYKD7FoIUIbpL2hpG+IqoZIeHSr4Twx/m4wit4Z8OqiQ2lh/n2H74rJRWCkKSCgjpgQ/bhxZ8KyyKaSQ40uDFg7hUwoJPU/mZ3cgYSgoX4gpIW6nKkhtKhyknccTFsVcyimh6iQSzpQggr9h2N9uQxwrOFdqZpIJ8qb9x2LGEiIgxhdEVqRHi+Ycbt5h8QB6uWJG2MlnlIQcr9oEqpJ6EZodSkJ2FVn1JTstn5Du+mkzdFVKpRUStJSpJLykm4cWbY48BFQFKqPoNidr7GXfZWk7YGUL+kBJEEHj8UdQMn0Ix/RVFjZDWnY/CTeNn9sVPGShlAKSOlRf29e49UqECE1afkVTHULj4jyR6tirRJCl0VSnq7uLH/xcFr72wqrVpoQpSk1Nm3jZ3Y6Z9h7YCVVGXTSRyktO/dn/AP8AIM7YJQKZ6dLP5fKxv3DSocYq0zWRrWiICj32UFDkjttzinlaS09BDlUaryGUgyN/+pxl8sqkUgqIDMB/gn10nsZAInNoACmRt5z6fE2ygWChYsDdsfYakmgadV3o1FBLz0KOtPU0gHVefYYuRpV73+nrbgXx4Ykq6i0jt737cH1wNQBU4bubjhXcfpL4qIoq6oDRB929Nx2PvitUCaUBJg+hHYjsZe7Yy+dVTqrpFANNXlf62N4v7wMJqUkpVTqDpUDokWJfSD2BOkKuDBLRVRWy9UqokFBIKT6vsYu5uAR03GMtmVOErCUBTMCeknb0kNvPSoWwfAXVWkpS5DiZ1Cfft8yC3wthKF5aoF028Jb9B6ghTTB8ur6bWbB0OKhQNJukKL9iPQexDy4waaSXD6T5VjYXEx5bGQQX3xSUCgoUPEYwVD/5NLBVj/5POEqAAZOk8H4ewO4d27NLHGpi5pJGxa+//JS/1wqpqcB2+KDA/cWOM5l11UBYTUJRe/Eg8pvtsN2wmmKJ1s4spCiIB3A+JNn7cEjHjUEkrpslW+uCkqbSV7MojS+ygDdRwn7QrKS/iABPSoCQeDsWaQSCWBBthOY1+aoDUA1X+GHP5JPGKniICmHkJ+h3cbOEvwx9cI01ClaEjxJdNz+IP/ukSD7vhCkBjU1JVaI9CeTccvfCqOVrphQCoMwSDYT+RuFQ9sU8qNRAqqKRyZP+Cn/xLg4rUzTIKKkpsbWYgKH5OLF271M5SUE+InQo/En4j7bmYuNJFjinmqCHSioldyyn8pHUJktvDgSLYrLp1CspCQoC6YjYvZntZ+pJ6gMJzqELSmt0l7iXI6pA3YOGg7bP4yVstCwqmYJSWCk9/wASXdBFxqFxhFKj4ylIg3KRUICnuUGw2h27xhNWn4jKUu49t2OzgylW4JDlhhNULQUpUrpDAeWdnP4ja3V7YoZtaFmnUJB+UnpI2IP4gH2ne+PFWSFppkiAX347dVp3bkHGby9CsjxQOpIjYd0qG3EiL7YFDL1Fh3Qt2GoAObDqEF7P7HFA5jLukqT4d7sUjdjaJMiHmGxT0rU6jq7Fh9OOPUSGbFSgElRBMW72u2xYXF8LFHSda9LwQtWkP2f+PBmMVa9FHRR+8UIgkAOehzYjV0EbHbHheJ96kDxB1dSiFFw+kloINg2we+FEmkVBCSxkN67NsfMNrgtikjxEJXSQk8gKDMZBTte4i2K1A6lLLaWlI8zi78929Q7YKAgJ6k6CYIMPu/CjBMCTij9rjI1BTrKqZhDDSVLAUhhHUdiBKVRqkFjin9oZPPUvFy6tJSWrU1EJq02+YdvMhYhQZjbHhrKgpFchKg0l0ltn7iU7iRhaAmL8y4HZT+sduztUy1JtQ1PZkqg3kbhQ7EHy4Way0K8JnQ4U6T/8uTcPGoTCsJpKq0wbKBGsCQGYQN/gJPAvfGXStLKClAJYKkt//lDX9jfFShTXTK0pdYlQR8QMmB9QbOOHwmnVplYQFKQUlgZHb2aJEW2BxU8YAsGLuBIsLpd3hoc6g24lGbCAgrUpaVAMoAlII+YbGWJ40uz4NalVQUpWUkglIWN7lNpBBsR+hxkgUaiDClMw7N7MCfy74oqXpfp/+o/4aPo+BXLttYav3/DFxYu+KVdBBSVFwTCr9vq8c8sMVcuVktqb6G8Du0v648BYprF2Cj3aZ3k9jb0x/RjMIaUrSr1jYsOJf6i8UMmpCGqVPEiGDuNvVpf4p74VSSlBCqepBsHZtUsG2eZsd5YKpUQkHqbi92YkmJif9pPlIqLTRqE0kqY+YFyJMKF7KbqgpvqOMvnUVOisBr1aSXaXYHYoHo46hsMdFqi9Lm48qSfiJEBzfYveceDU8NQ1OkF4VfdwRFpPJtCoprKYC1AeUkHrSoQ7nuA4MG++F5iqAJDcxciCPwq27vxijWVW6TY7Eifr+f8AwcU2AUNDlPbY7e/Fi+K2e0dCKfV/42t/jsSAYOMxSXWOsHw1z0kQ+0A29LhnsMDKAuqq6iklJ0mNJYmWmTD+uKuTQBry6lP6uDta0mG+aQzHCE5lB6lkFMhWn66gZF52Vq9cCvm0B0qSdJCFFiWD9OpMjquLGS1iMU85qWCwSsMXQeky23Y3u3thGYXWSpMBQizv3Y8keruAQThaa60hSlhOmFaC4AN+DpfqSr9JZVddNSCzvBM3ZlB+7D6HFeqayC0FvL812LbsYPqMUdagy6aldz0hJDaVJFn3I4k4X9m62qIHXczd5dJGz6tsKypS/iBtJZiWuLpVaYv0lpknFfIU1LQUgX3DEfEHHOpiClxPTZsU6ApJGpwDBnU0OHDspO6SC46mMDFGl8vUlX4bEO/+fritRCWqJuliWh0+nY/vxihVp/8A+sxex7aue/JtOF16XjhqaSB9UubbQ7uI2MYTmqqGCaTDYF5Hy2/2g8MbziqFVEmpqLH4duGe7h2V7xg1VoqaW8SnqZQEqmym2UCxLPqYp4OFBZGuimUykEqLbs4kDZ2Yi+B4laiCalSmQogpC2IYwY/8fQK3TjX9oI1IGYqnTDdClaPWXby2sxnHh1ai1Jqa1ElllR9n0m4uRp+QYTR8JSQtJS8H4qa7X3BhjHmAN3wrO08uvQtCmjueyv7GN9rHCatNWrTq0qeJ1hpID2LMpMs4b1orCFxYjSpg0gs7DY9w17NjNEOVIB1jcGx+XuPbpeY1YUKy3plDAkEQZGxBFxYVE3DFpIxmcrUTpVUptspRnyz7xIV8QB2sKYpVAumuoNulTFvlmeAq4Tewx9k/aa6Nc06utdBTCqgwaSh0+JTBgFvOgEhTFsV9IQFo6v05B/Pp2UIx4lbX5HQ94cTeOCAQWkX7pTUcqMJ4Snb4kqae4MtInFcaU66doLpliL7WY/QkFw2MtVXUfqAlog87uJ27esZYj4Vai24EjhQ2I/Y84qUaiVFdNQu5SbB3fcs47sWDYXl0Zl0k6VhizMH+Yfl+XfAyfhJUFKD6viYD1e0gkHm8SBmKXT4gHGofNy34u28G84+zK9JC/BWwRWPSpb9NQRBVcKAgGQQnY4RT0L61uhSYIj1fuzHs3GKqhTcNDguDzuNhb0d8UcxS8QDoBaIFrNOw8vY4WmtUPSpNriP4N+bDzDFX+pog6VAm8A7w5b6HpxUr1kV9RempwWDMdtSTAtpKhyFdOP6mqEappvdmhXLFt/29cUs0KqdC790wytxqZ6bzdxGDRKCZ6bjSXS+49CWdJEGRhdJwWLXItBbqY8EXBg+uK9BZVqJLzrOzC5axUBdmdiRY4p66YGqrBIkOQCqJIuk3SSHEAvGEZ1OWdWrWkOKlP5kmfLYHgN6HQYT9qfZdUqlSVAjnWndjp9xLghjziockaIrJrpUBbqlSd0qSPjEkNuC2+FZlNU6RqRsmoFM3D2/3Due2MpUzFMqStalaQCApUES7E7EOb/pgZigseRjvqEv/ABzwQf7cJKCsoAjsHfZ3/LgkYVQrBbJACdyfiFgP/HeS4wMoUHUOsmWeT7eu/BLRipWQippqUVGdLMDC4l5bYx/nFX7lTpytTSrzGJ4G4UIgEbqbGoFa0oplJMpURpg93gPAk7FKmwhVZLLIWr5hzsXKYYw6tiXg4U6SGdKS7jzXFn+W5YgkHUQ4vSpCvTCFAjudiJSrUJEBxcernC8gdL6klQkEdpH6l+dpGEGsEstO3mTZTQT2UIeODZxgZ40qop6wnVCXHTqu3Z+2xcGYVVU/UjXtZwUk9M+99nnGbTXo1A1PTTJDPImRa3VO1nSXBScrmdaTRq0DIhdwOxIltTFKvhciGxlNYqeE5DGAq7amcEQWIYjljGqa1Fgo6AoEHXx/cR+Z/ZWKWUAXrSBfqDx3jZwHblw5YYq0Xq6h5g4JtqBbzNEFvd7Pg1laGUOpHNwbODHcH5hfCFkllxTUHfTtZQVe2/pe2KyadOrIDGHZ2IO+9vKoKMNEY60ebSqk0KgEbNyGvcuHbCUIXTUlS7EsSHtIL9ufU74/pKwU4zCdLNyw/uvwOXY98KSqmSkVAVeYFip4uHNnYsDBBeDiqmrWQGXqI7SC0MQY3G7Qbzjw/HpNVhaLRfYpKmh/mZvKTispVMiW0nYbbHgixB+FmJ0jFNAqeVZLjg9IZ9Wrtxfad/AzTzU9PmVw+2oyFcuxGKdVKFHxdSvDPWPMQPiUPQMT3Op5cFeVUkdaVIVuwOhXvICnfTtO1sxTppBFOmDPSrTZ+/qSzsWubP4FapVUtLIWAHSAxOn8oAYjdBcWxlKtY5WjTPUoICSYtsCnsL2cjbCqFUMoun+fnNrEAdsIqsop0laWeQzSxBdoFv8Al8VQEICkUdIN92P4gxhvUEej4NIGmalMAKTJQJcA8f5+uKSHSiqjUHAsSPqHeC9nfcXwqmtCtYBIKWU5g7gnYsbEbbbYFTLjWqqyGUAXgpJDEbQcIXlM1q8GrTqkAakJUCRuFaTLfx3Bxm8mvSSjSx4/a/8A3itllrpSpiBKfxA3izsAY298ZLN5qiEpX97TgGnUuk21IW7p9ZEgRuM0mog9YSwmmsMpmcMbK/uEagH3wuj1JNOH43ifVw78gc4SupQLKUQCIeQDuD+ZTy7ScU82moghSQSmHBf6byAS+7NjPFK3ZLmeLtMXP52ez4o1V+B92UVlJA6VF4FhN7Mx2LPBxTzArJQPBFJ+kFoCj8D/AOQLdsPmANK0ay12HVeAY6rhixgHc4yygamioIV5X6fodlpPSUlovtjO5KrTUVoQk01SoM49QB7nZrbnCqQR5bGWUPmLx3CnIIhthbCR4ihrTSLhlbBXwsYdm6eQQC7YV9n0KdXX4QCVgAtLGfi4Z21JeIljhOSoUakKK0L6kgSKZD7CFpBdxtOPDpkFARIQ6YJMXSoGSGs8juMZWmpdABOrUlSgB8hG03BDexVycJy9VH+oOnlJLjj2ZnB6YFoxT6ahQpRghlB0QYEvZw5uxPYjHiloD7GAz8kcmD39XxU8cdQPopLODyxnuWLQWu2FUqVRjmPOoadR29jIb4S507GcaKbeFVVN0qs38VI98VclRUD0hESQNUbxf1EjSzG7HJ1cuSE1FqpEv5gAn04/utcqtin06OsLgOFiZh3Fzq+jtxinmAh6a6YY2UkTMjvJltmayhhLu4Ux+F/f1DcDnHgOl1ggO40gwpvwmxifiFw+M/kaakiolJ1IU72nUCx2C3adyJgnFFSkoSqm8BgDEfKXiLH/AJxXTTzFLYLSfK0pVcRs5DQdJwaC6WipSUWlxcg3DNxIIO18UszqrfIvuGD8EWlinkBmVbH9VSI85KgGI7Hn+TCxhGc8OsumpankpHIBcT6RwbuMKqmo1WkvTssWfbp5HI2ggxKFsSmokhBbrS27Cxj5SdiTw+PCUhvBUFoV8RhiNm2LWu9jbFWkrdKD2aAz+4u7h2BtGKhrpqlFRbBQ6VfAXBABTYNAfggmcUM7XT0EBRDdRSzjZyC1oJYElPfH9QU1HKzLA6iwC/h9lJISY3fbBzqUVEhdJKkkjrcsdUOfhAdwTZ43xUABFWm4Bfyhw4PyixBgD17YRVTX0kBnh36u30cpm7DFenUpeamFogvxs/DdoILpOKOVoaUqA8OdtiD5Ylh3cHpIwaLEMkfqCD+d/KfhLhVsVMnX8UrFNCk7gBiRLKBhjsfxQYfFPLZcpIYpIYnUqOCDuksS2ykkM5xUoaKcASOyxwfZTh9iGEHFZ010HpQSsJISrTqCocBUg78dJY3GAK1NhoI//wBm+3mHZ9Kms6WwmosoZcpA8tzHe9pF7YUikpRCFaSpNu59eY/hwmutDUqxjypVpiLTwRZJs3pisPCGqkUqSuweOr4X2fbks8scUKpQQFOkFyH25B9LpUJKbhxNbMVNIIA0mJI/k24J7HFY5hRW6UpSGMT0FoBJkXHIhsVgKC6eborVQrUiXUISQDYixSYuIL8vhNQ5rLoqUlk+IkL0Qzs5Sk9paZtzio7EKSYc6nIPLv2cv+djhSPCqyo+GpQ2cJ3cSzNw3TtDYo6EgprEFQmkoKd0qFmMj2JCh6Yq1CmmFgpAAEBX07XgWu2BmEZiErUFDkl2sXFiRZREhgrc4SirTrxqUhfPS5fc21O0FgWeAo4UgKph0m99m77gzGF0E0KgqoWUJWWXdtWx9FWUDe4nFWPKSdbT/kN6F7glT9svndEL0kuyrgEwx/CbP/cJacVqtML1v0Eufmdv/kwI/Eye2KFSoqmwWlSNnveR9Xgt8u4OM5lPE87JALgbyXuGj8xjNfY8irSqVVIN07pceYNdiytN74y6F03pq1rQ8FKtRTvpKVT0kCPlUPkJx4qKQQsDSxmdTWbuxuRed8KroUlNWmUuk6Sl509jD6XI2UwGPszNBZ8PW1XZKw3iC/QqxUJDXPoXwrQvpUA5Hr6sfa3virlFayynZ+RFxy7b8e+EKzFKppWgFBYaviIeAdiGlJ2LdseBOtBfU7hR3PHqY9WJE4NGosFBVM6bbSlwzj298f0qqyW1NVR5S3ax5DOyn3m2GziOnTLseyrv3fsZPrhYXUATUHhqZoSYvcbh3B5BkY/oqnUkamNiII5HcjayumXvihQztMhNQaqYMLIdWm8k/IQ2qCCxMYZNNKNb9QuBY7lrAhQdt2+qKqEghaktsRx/gHbadmxWp+Ighk6SDP5sWu9wfXCMsoIUaZC0y6XDn2Mag2kiNQ7tjMvSVSVZwLw4E+oUlpTYy04p1n6VFPVIcMr1Bssci5SCQ5GMz4qaqToASRcE3BspQ9CAS2xBBwkgITVSQ48w/wA8MIP7G+cpGoQtATTlwNX19FIf4T1AuMZcVEBqiwxZQdvRXUIdPsQAXG+HrKRpplJLEAkOkplr2KdxcbFicVKufoOk5moC7p0aWY2Z0k3e4fucIzOYqLQVlVTcF9PY2hvLff1OKqF5gDUlATuoGb3L8WP4d+nFPJoprPUsklp8s8djDzMqAvioKTinWQGV5T0+YXCT80BQ9iIwaaIS2qn2GlQ+hZjOoczhKvBOkAlN2USFRugGCXEpBDcYV4QIWHS7iQPVnEFyzbidjinnaC0+EVE3bfsfxbd7S7g4p6aHUlOumpniw54iHsWJwuvp8iHHB/zs2x3Dg2wM4o1NFXp1W7+/DMeXHaa6Cl1B1wUkBn0qsxt0q2PpBxSzWqg2opIDDUS1um9vlnbUD5QcZlFLOUVAgpqoNtj3G6FPYjpJv5nx9mV6tXI0xU+8VTBp+I3V0lkvPmZh+Iso91qrJJANMi8QwO6k8eluxBwvqCVW0/IXaxYG7gsPcEb4VUSqFgLSd9woWV/DIs2KqB4LoDApF7C7+o3PIkScUqmt6JbWkukPLe/HlEnHhalNUSojYOWhjD/k7/KbnCE6SAzp4Lb3IB2m3cOzRnfs+lWCnGkEuG3cS6dgRsHFyGOPsZVTI+JktfiU0HXS1SUoJsg/L1JWkF7qAsWq1+qwYhwbP9PduzcNjMMaiQlGsKgiElidtgpLmLHS43xpQLoSYhwQo+9nTb2jGn+qGpakhNtOlg5+L0VaYkmDinlaSFjQyPUmCPTl5T6xd69Gtp6CCGBOk9UNpUObHS3mtfFGrmkONQUzzupL2lrAt1DpLPzhahmELSpgT5kn9enmC6ecZqjXTTSaZUaZgl+pCoLg+rzF5GFKqIqaay3fuytwIsQxcAHco9KOapnSCVFQgapt3PmAsD2nGXSqoNQqFAB0qQbA7TfRbsUl+DgdKGrEFO0O3q/57G0borJUlkgDTsBcelyD9WjjFYUyy06QTxEif0Ki3Bi+K5UhXlA1+UjqSSRq99U+juMLpU6jnQUFbEtbWBf18w2cgPL4yylIBR4iUkdSZl0yW4ixHf5jjK5z+qy6Vq+8Wg6VmmY1DcpuH/yHxSzlJStGlQIj6esggfUX2xWGpilBH/MR/wAwqAcIRrSUqTp31AfF/wA3G8Tj+kXrC0LdpbUS3p2PHa4MYT0VRqOkw3fa9ux9e+FCkbK6g0cf8fWML8NRS6Ze4uNp9DblPvjwaapYP2gxH1Eg/owwlHQpINjv/Dt6fnipQq10sgskHsSOQRxDRtPxYRllU+lqgI+Jj7O7uQQZmB3whP3cpZoKZ2kMRZjqbY2xVpQqoh0n4h3fq7sbg7XlNqxRUQUqI2UkKFlC4SRzf9sUMvla1EIWBqSQzQQbgja/ZjuMKRlg1NbEF9m4uLiQDH+cf0uXSksGBHm83f3H62xnMpRUFJ1eGq7pPSpuRbulpuBZsUqGhSqa6sA6qZMhocXhQSxIsUu2+KNWnSASpQAJs7sbHuzi3yk4rqp1EvtuSNvm9Nw3ttgJR0aVJJ5DFLK2NlMWa0EthdBbuFOn5H7W/JIHYMfMThfioOql1/MmQW/7+IcpcQcVqdWsxWlwoOUGeGgcPB7bDCEVU04UGTITqki7TIkAX3JcjFRdRVLV0kfKpLwzlKiPKoMoOYJAkGMJzrJCFkFL6CGcuIDuduSPeXwaaj99liCkyQ1mvAMbEH9sUFVwnSagIWIU5ce9nV+JikmXGFJzCAST4qWJYDqMSPpa8ufhwqsjpekqYdSXe8EiQrhJ3i5wiv4qCkhSYdBLGOH3s0zzhSFpWVJSVEebSW1JvAJfnpO4UxnASiqCqiSlYPlUkf8AibRcfTGWqJooIaFSpAIhZDFXUxuGKb84raa3WEq1o4JcA8gy3ae/OKS0pdiFPpP7pI4ie8zGM3UpJ6glSXAIWgtzBFj29xuMZbO66VtaCLmzHZvUSkj9MVkZSqoVEhaKglLHwyFf/wDTFng8u2PHqBIUCtQDApXPbSoKmwa78PijmaS9PT1Na5I5SfiKbkeYh3S74XVSbBJS4sRB3HHp7YVST/UBUJCkEagGF9QmzXHIc4rtTSCRqABEcjqDjmCOGbC6utBq0aevQrSXjSGH/wDlYu0lwcDPFSel0rAlKks38hu2P6SmBFmtAd+9mXftGM5RAGumgjSRqZ5FgdMsQXbgH0wczT0gqOkBnUx02e0t/wAKPBxBdSS7WLAzwfxC12KdMw+ApxrACFN3CS27gEeoLKAcYp1aynQrL6qaocb+hssKukwpoIscV8ghSx913SskOkiWm403+YS2oHC0U6NTTUp6SrZVo+JJAa/m7Mq2MjVWnWhKejY3KeB3Fwf9tsU3WlqqNWwZgW9bHhuw7YTlUoWplkIIdnHSXgjgHcWcbOGNMUpCvETqD76ST+xLnsWskYXQFWkClOppFv7v7SbtaCxx4NIpaolgDclmcwXG178yDfFfI06SwqmldRKphWojkP8AFvP1GPs5f9PXVoCk+IwWlQ6V7F90qBmR81wrFUUai9X+nUZjp/C9/SW59xijUIsrUA/VEfM+zb2iYjCMxSI86dVr77j+dsVc2KS9QKTIP8sZSfrGDm6FZWyFg+Xl2+m21iMGmhQSpKjt77z3/K2K+VUpOumtiwjn6c7cF8JFRSOpQeJkPxqHPcdsa6lOoCoHQqDP5fqz/Kz4WUhWpJ0n+7f/ADaC4IwaiFIS7fz9t/3wpJQCpMpUz/Fp/dgb9tsVFIGoEAQ4A/b1s3Privl6VWlqTBvBb8jaP0kYTVooI8NlrCdKkzBHPZ3YdzpvitVTUCddDQdlhQPu0SLliD9WxlMyEnwaiydkkgtFxr/R74rIotqT8L2VaPd/+8Vf6M/6jisqU9LBX4XDB/ltfTu2F5elUpOCyktpPxNZIWn4gISTFsVMwrwShNKafJY7OH4bpBUL+YM+DXUUJUjpWJ021A+ZtgYYh/OkkMrGUrnMBAUEkKDOIVEj1DEQ7g+uBQUFujqSd3BMwX7hXIxVFZKtBAW4J+VQ/ENw8wN7WbC6OpGsp+8AdNurfSpvhPVeQCRhKMwsA00FL7EuCD3u4hnsrSDBOF5GslZ8WkleqX0sfXgk/hNrbjFGmKKwC43Tb/xfcfLf5VRih0hvDSrh2Ed+FAEeoPbBrpSrToCVbMXTz69j/DgUKOY6Vwo7NyxcGymvirkDQJWkuynWNSgP79/0bThaUqSmqOLQXGzczYg/LthIR/VpUg9K1aVNBmElvXoPbTeMJymlbuHN3LpM/i+YMDuCHx4fhzUU7CwMs7dJ9ww9tsVaA1hdNwhR7m/Vd3QdQg2f3wugDSnqaSkyDyR+Su3VjLZegsrAUKak6jpmQ7uJ2b1BY4qZakDqFRnBc6zpIPmYFxBkDaecU1UUjwl1evylviH4grykc++Mwn4qC+pKtYUk6ZFy25YbzJnmmFZqmU1TJHVpSUud3FnPmiC8WxRo1kFeXNRWi6HKgpDh0kO7i7zz2eplleG39QrULBWlTjiGtB1XVJ7Y+zgqkmqhaNeqoNI1N8LETPAY8GcJylJQVrm/Sfh9Bubhtowf6pUuNLOUuX07x+bXBtvjQVs9S48/m6fxC7fmkjtheT8Iu2pB3SJ3MjdN2DEiA18ZZKUqKEUnB924KXlvhIvffC8pc6QHNkjSfXgljPLWxSoLo1EgkiktoH0gGAT0t6ML4q/Z6KiXCy+xc+ognYsWjcb4r/ZoXQCVp6keVQ7cPIYbHhpYYpp/pMx4alsDImdgxSbp2LHUG9DjWgEFyAfT0PZwdIfgPiqgmp0KOndn1fl7z+rYQEpYdWkwSxLcKbt1PdrjynB8XK1H16aajIlp3/tJLuJDM2NFOqgeZlBlaVHoKh+aFM8NIcThNMZdXheKQm41MUsdpFmt2/EMeEo65aRa7jff1ex0h4fCxXpFKwSdN4a312B0mxTpHmZ8wE1W1VCkxCTp1FrrAbq+FrEf3jGVP9JWZSknK1YJOr7s7LDvZ+oOCB6TVyHip1JIVDpdjp3gjb6/riuunRZChrqgSE/CPmf4fY/KbHFTP5lXQKlZF9OosFJvfyEiXt+RGKP259oZRehRRWp/LUUXY/Ku7hlKN7uMU/8A8kUl/Fo+JTV8KSQpL306vMJ1XDOQIbCf/wAwpIOipk6i03SdQBWnzBirpKky4Kg9t8D7e+zcyNVIVgogOlSG0NZ1B0kD1N2sWwv7ap0x4fgKLEsdaAm9nJbu0R2fA/8AyRNLUFUVKSNkrHiJB5CulQeHBsQcVv8A8pyFZIHg1k1UmCQlQ7ykmOUlMj1BxmM/VZNUalovoSegp+ZI3SR503D+uE5+mrQuiu40KpkPptpc3vDnckE4ymb8R6SiwPzhiCbXcOxYn1d4OFrqILK2ZrDVsJ5MATPS+FVV1KKlIFvNOlaeQr0LkP3liMK/0EKHUrhRIZQgz3YKD7i7KxS8bVqUAUkSOOR7vI+ZucGkglSiFBRHsxux7F/fScf0aClQLAmSG9yqLcuPNbzPipRrZer0noCgFpuA5OlbcbOJdPBGKKhUQhaVFKvKtxzF+CQW7sL4rZWqWUFqJvJLuZaP0NlB8UV+EsprqVJMkb36tjbTqDPxjQhadVFZCgSWfff+022vpNsHNDWkLMhWlTwOx47S3fFXKoqHWknkgXHqD2sfU98UaSfhUXHnfgb82/RpxmMqlbIJUmpdKhaHZuzzsdi4xlNSaukgneW3ux3m4V1cHFYrYi0FvUfoX74TXpoIQoMS8NDjtsbP/tVIc4zSFKqlqRl1ApiHHHxIPxJ+GbjFKvVVRT43UtLp1N5k2SVixsUrEPBDFsazOpGoeYS0GC14dp2Im5wpdWNCQE20qVeXbV6/Cbjg4oZlIPgVCgVD5A/xAW1mDqG24fvhdJVLMalU0hJ+IBr3B2nb8TjjFSrSSk/e01U/wsVjnp80hyYIIBtjVS8WktJ1JUwWDtqgL50n4uDjMop+ESABUSyk6ALjhtyLHkJeDihnwIFIqU3oQR8JNnd9JPLPg9YTW0mDw0Xt+Y2JcWbFT+lXT6gAWBCgIBuCOxsR2YjFOolIUlAMeRV+4HJQS7Xt3GPGqarMNlDYix/uZncS15xS8Y00qqlKWElJcdyNxpktNj6YpIQkAKNzBuNXbsQ7erThKrJLKTtz/H5/fGhIUFJb0MGe/wCR2nVBfAFNVPUk6+Xv09uR2nFJaFjQspnpZTfR7MdmxUp1KTGmYYu8js+/vP0fCTrpjWGf37Eej+4xnsjT8ampioemrtHs4s0PF8JprSyAkoSRunpLQPRxwfzwinUDpAHo3HHPA5A74XRrqcEAJO7MffYhze4fgnFNGtHh1xq2BE/+08xHILXxTpJpKNJ0pRGgrV83w6jsSzPM4zVJBdNRtQDoUDsS4B2Yyl/SxxlV1KKyk9dMnpJLlBDdPNiFMY4LYzVamUgikrxOEnSAQWPVYCBF4ZsJU6EMKbqvrAf39xtD9sLKU1iNGmetvJ6ttBPqAJc4QFgBIrr8P5Q2ljdogG8M22DTRTYKUlaTIMFzZ9XJ3f8AF8oxWWkgo0hdMfKADB27g7bqH4jitRC1JVThQA6Tu1gRaw+VjG2AgrOiqk0908OHJYS27pBaSzRhWSUEBSNC0n4VdbPIIYOCDee+2KeUqa+pIphXG7wT0z1DgebpkENTyJUlSK5KkCNXxNDF/iBDaVXSQO4wrLUKSvC+8O0kEhxDRYFweASPlwtOWoVWNMgLHy2cDp/C3wkHcgWxl8uFp0pKFpV3ljZwfikgEQoS84H2b/T1CQCDqfSfKxuE+khjy7+XFLLKWhQ106agYOy0nmbESRcKfY4QCqmKdZ1qQ6SQykqHcQT0m+5AwaXhL10upJbUC5WPrJ+ti3LAoQuahUlYkbbTp2BDBtvrjwCl1UzqT5gIULOLbf5FiMU85TSopXT0qTDcbpvy8HuC8Y1UFMQgdVijn0EXluZ2xmcvS1M/SsC92LSOWI7Ec4TlalEK0klMu5dnunZ0x6vOKOZqNoOoQ07Xlt3uZe+K9I1Syg7/ABfTTPIcD9d8Ky1ZBStOpBYaiIB2kbgtB21XhsVMshRSTUZSi7dxe/N7nu2MtSUwAXq0+Qng/C/aQztLgOMLoLCnpFjccPwe23Z+MVFL6dRCVJtqS7NBciW/2u3fHj1UrUtISSLtIPzAtIIiZBSdQnCM9Tqp1aFXAWk9JQfK78bE+mKuXp1Tr2v+IEQxH5P7ORipUp0hp0qqAGwDlNwrq93AOw7YRUpICQpgX0jW4Cx8PLRDyCNXD4pKo1HpVA12a07Hg+huTionRqTR1EgwD1Du5PFgDxOFp1AhQkF2aHElI3Cmli79TRYUM1VppR4y9IDJC5A3DqbUU7S7h3kjH9CvLVnrlJCmNNekFn+GJBBsd3YhzgKplBGh/D6obpDu+zpEFJuUuCDjxkqZyQCWZQ0lyfK9nBgGyiWx4eWSvUEsSDqAgv3aJ24PDthCtClhC3S/lU8gyABxYhTuHx4dKrHiK1GUpDhjxFy+43mHxoq0yykgp+EgT6z/ANHsTjMjNAOhIKTuofztB5IffCsumnTs49Q47g8j8w3GKNA6Slysd2EdxZ2YgjbuMJSRV8NZKD83e78EGT2JbbC6ADqUtJ7uzwW+IB+JBvOBm8lSB1Zikgm41j+O9j0l/fGc+2aVNWjL09ZL6a5hL3t8VlbaSxGP/XvtHqQqqnTYFKGKWPzbBabcQWIJGMjn61PM00mqtVPMEpVTqF0hZT0lEdMgRwtV3SRU1K0nUxgjf+fzk48cBLVADv6cntu/Y4NVI66fFrv6D0sBeMVs7pAUNtrdrH8rGGl2wmrWrU/uEJeRqI1fFBAg2L+oGKlHNZhBNSVAEMB0uLEJVIe4mFOzNNFbU0eN56Z8OLEHYhWyhAAMXF8ZhNQddNEXBABDdxcumzPZjbFLNrVUVRrQpXlIHTxY3Bju+lXJwvylBWNYU4KTxIcfASAwa53k4rZjMu9VIIEah2Fym8sx3EndOE5imUg9aHDxUPoXSTYfE0hvXFLMIX06XCd3ZQ2I09jPr/diohgFoHb62gi4UEHfd7nGYoFemqVmitFkJuB22IYGBDR5kNisoipJJ1baWJ3Cr+hDPYhyMZTMoStVLT1EOlvMDctLEBUtYj0wushnXCwToIggksUTfV8IO8uzHCftGsqoNPlbSqH7atM7KB9WjAHjBGvSV7FIgGOkKPqDfpUOBir9m+MhQKRrANmkHjg3A46NsZbLeEjoUrUgyINpHoX1C3ItjxTVVoPSY7yLEfRQBGwYyBhCDqaolPWnT6q+E/8AyCuwFjgqqZVTPrSDAl0u7DkiS19xhNU1T/t1aRMcPfZQ5B2BwUUSNMpNwVMbbK3GpPU9vZ8U/EoL0uNB8pDX7bMf3Yi2F0BmGKiNSbLSPy7pIMix2xTKssQlRB1f/JO4EyR73u2K4RWShXxCePQdnnSbGUHbFFYKBqQ8SQnjnv7Y00yoskBzxz+hfgz6iczSrU5pwzFw5Hf1hx+TyGq52ogoCxq7jnhuFCD3gi2K9YLp69BDShYs4t5S/wCHbZ8ZPOmo6NS6S1K6FM6FE7GIIV0mACfMNU4RmliFakqFoOlX9v7pPYTGKuadypKClnJB+E/FNm+IFmIFr41gqMhGpMAb6Rzclttum+nFHzqGpRfhnUNuB24LTJwmn440orqSmYfTVR2YyOzEWDO+A+WqKpKqa5cLuzyD6GUl25vc+GUhTBlyFahCvMQ2xcKI2NmkuqmhwtFZT2IgJ9wZt3McNijmKaKpFZQVTWQ6hemuzlvhO/G9nxWOSC28VBUbDcd+D6wSlRBnAzdGn92ShOwBXpX2YWI2IG03xWz+X06ava7qvAOrcdMv2diAcHMnLVE16afESAXRcVEKLqS0yC5Dh0LYeQnC/tb7KrpKPvcstQfrpxs6Sz/UjY2IxSq0qx6XC0h5l2LKtL2VvfGYV4NXW3SzFuLx/wDID+6bYpfaFNTKFHWpJZSvzBY2W1ueeMvmMtmvuyFIqAA+GsAOPmQp2V3YvzhWWpqSUt6HFXL+JR1UKyVJUOkuFJO4ts72t7YCa9FW6GhTF06Xd/SfZ2YicZ7OVGVoUh285GpIYkakNYuHIsJBGKviVEuuoopXcFa0gl30qALTeekSLNgZROYGimySm5J+HZ9MlPlciwWTBdqaTRT4NUayA6SRLgw5Imb+kicKXSqBbUxQIDMwZXwspJ6SPLGzAptihUqLQim6aaqbFCkqUzBw6RfpIIZ3SGaycIzeaVR66zqR8YR5gJ6hYj06rctjK18tmw3imlVbqQY6uz+ZHyncOkzg5Gul9CwpP0n92uk3xmKJLprhohQ80MOeCDcEiWcYp0dIHg5iok3Syt/S/sbYTms7r8OrU0kHpqUwkFQMfeJUPM42+J/dWYXTdNceIlTNU0Wuxht/cG0NgLWkDQrXSVMKsDvYt/lu+K9KitT6XcTdJ3u0eU3ED2x4NPV8qgeklzqF2bdO5AkdQTAxmMulyrxlFK09yQpJ+oIMarWChbGXoUqi/wDV1S2l2MjiwLtIu4BBZ8U6PhKlMNB8xe3muyoNjsX6Wxl1pU6FaU7jUxb87jkPuztiplQp1JSmpu/6+j/qMZ3JU8xQ8qU1KZiG9tQYpcmOMUaSlr8JelNVBOldllpePiulSk+Z3LziBU8PM9XyrRZT/l1N5TBbpY4qoppUFUz0WIA6m9uoiQpJEs4vikt6ZQkkApJCzt37sTccEFodWbq0kAqqFKhEPpOzAylwqClQZpBZsZbP0lZhYqK9LjazfECI9R6nBNA1OmqaagXDh20lwRyLvHc3xTSqvS1BQUUEgsfMB67geaXjFWpTKClaLJZWpiAXuN7h9wbYoVqC+hFYUVJUR950rD7JVbY+a5Db4VllJPXqWGcaSCw/cXZr4UhAJDl2jg+h9j6jvGKVQEGm51CzxH4T/CD2xnaGZSNeprFxdxYvL3YkNdxhOZzaE6f9RF2O6FTvuC6g0SLRjKrr1AHqeGWkKf4Yh4kyfwns+NdZi5CFD4rP2f15Fhezqz1VLJWgqHzJIDA8gkWL27ts9YorJKVCWgkdQeCBbUApjsoAHnGUq0xrytVS5J0pLNNxNlehm++BlBrhRCVSz7vKhLgg+YA2ki+F1FP4dPWD81V/rTd3AgsdnHw4OXrnrQol7tNxOoPKbv8A8YoIq04KdQci5CXG0+Qm4MXl4ONPiJS9TwlOdSWDknzWsTfa+rFWlUTU8ajmlCuguQT0n2M6S7qTIPDthFZGcp06q6SU10/d1NLXIggiRLwd4wfs+nUSpVNQ5KXgPNuxuIg48CpThaIHxAvHzc+hL+rY8GilToZQaRbsS3eyuxCuXUULQEpQlFQWUR7Me/rF+2F5TxOo6hVQdz0lp4Npd5dO4OKmUphOuRqEhUhWrvYB3SfUGwOEp0oQ9MEafOA5A7g/CQ5LE7xjM/Zyao1uxAJDeV0zF23O40kcYyL0qqfh0qCFPwY94ZSFCzEWbFUaT1ocd5+npBBG+FaEKKkmn1BlBukLEgngHewl/iGK1RaUhSOlSdwp2/nMHqHJGMh9u5eqnwc3UOUzCDpPi/6dR96dQBuq+lVtoxlszmvs9Zp061RKFlTI1BSDNxcC0t6kXxWz2cWR4lYrBcXSkFrhwBEnUxIKXwcxV1KQCyg9nKoZwdjGlyL32xToZuq6AV00qlSNkk30qeILD4eJbFT7PrUiirTqFJCuoAsxPnfdpUprFLEYytVK2TU6qqeWKiobEbqvIhY1PGM9QoL6xqQVA+VKlAuHBsQx9yzBjpOAF0av3S1liXT1tLFwNgY7QUcYydbNZeo9XWtBAM9SSA4giCCmx5AkENhKws66CQ7OUchXymCliAX5BBkT/VVqf3qKy0LQyjSWorQobpKXYpVYFNnFjhP2p9nZzpNWnTWRKaw0mxdOoxYRywa+PBRVpk5ZVNZSfMgBU8anjs5l9L4zSqhSk1EfeJaRZ+fdvR2cB3xSXl8xT8KvSCVEQbCQ47e9oOPDXQemioyfhc23DHf4gp7cOkuisNQBqAHWzH5rgNcAxpNnJBDEY0U8yPMnUPht3+jt/aS+xwMqaZ1JGtPlWlX0BflgQo3Zg5IBxmfs9Sani06YRqk6Rfu3N5HKTbCqa1BLEz2YOPWR1aR+HFTIZlKxVp1TE6CGGkmW3Cg5BSL3+LFCrXCyhVbqjWDZ/nS3wrDPwbicKy1UoVUDLPBLg8hQdnOx33vhWQTWrpWk6FeZhsW52O5LSqe+P6OlUR4eY0OAdKjuD3Au8giQQMKyqU6k00+JyAXYixH9pEGCHI7YoKXpKVAIKSb+a8x+Ibv0quGwMushVtKwxBlL+8hK0hm+EgMenC/s6uiq9MI1XuHY2v8ASxBB2OPCWmo62TpKfLCfw86FfCR5VAMDDY+zaiFV106ZUPFSSUEwVoZxptq0xqT5t8HKUkrID6iC4NyPeL3tEmUzUyvhqWR1DkDqbbZ4upJdlE7PjIVl6BR1pqJnw7ugi6Zlh8sjTI7Lo06qQUBln8j324HDNu2P6enTJVW6Fg/NEMQWdiW3+WDbC6uqmAVoI5AePT9vX5Mf03WND7FOkge7GJuCGgqCoGP6XMp+8psSPr3Gn6pN2g4P9Ss/egMflDDf1bvDejYpITVplCm8UW7zCpjYETyk3waUtVfpFwxDMw9RaXBBA9MZvJoH3oQpixPhtez/ALKHuMUisVBcofVNyn42vIlTdyHlsVqNGojVZQ3IktYx8r3DH1xTQsoJQp4snzW/f/BG4wCvV8qVBphi0DdjdnJSWmMHK5kOtBKyDIqC4LQe3HppBY4zKcwPvF0xKWYanccD8XUILwGk4yuf8CoUMFpqQIJGp3T1M/8A5CSVYTnUtr6AkiQg6VFN3APxJ+Xfm2KdanVSGW/cNPqPxbhty4scVKaU1NVOCzgEuguLvtYBw86XE4JqlXSAFJM8KUm47gt9JPGKfi1ClYQE6gx4jkGUkGPwkC6cIV4R8KqgaVeUtDnY+u6SGkAHBooLDRBkN/8AVvRzvsRg0RSWEjyyWLOxhh8zPbzX5bGaGWoqCtfW3lSngiFECwLM4SWVhWY8amFalITaCNLvI6hH724wkU9RQpcGxJ7NBD7MGMFrRJyiW6al+l3BHb09bbGADjMfZ9dNSmpRZOrSFKYh3caiYM+TfYlsUsogqUmpUSpQUFILuS9mm4sDfbbCsqvSxII3SEhTcHYj/jFHLUCnTo6wJVpLAjccNqNjd9jhac1lVsepPwKAjeFG2le3BaLYRmPERprUtJsYI8pZQ/2hiFD4ZjByKV6a1FY9Hdjs/wASSCCAZZ1c4JUlHUOodRYNIk26Vbk2uCz4r5eitHjUUJ1XPTZ/NaQ2pz6uOMKoVqtPXT00qiSUrfy2vxa9nEzDH+typTrSFgH4IIDu4VsXcaTu+E66yE1DUSUq+A6QQoeYQJPHrjMfZq1VApLB5SC/VNuzBx6s4vjI015OvRWmqyVkIqM6QyoGpP4VRNu98ZpwlWvQpImL8undi3sCnCKmkuhQUl4cSPi9x8whlcPjQhYBXUVI9O7tze/wjnGboU9QqIpkn4ngukyH35T2GMvVANNSY2UlZcxe/oDd5fdsIqi4YhQiWvt+TMdxtLrqMrQpJKX6XuO36Dgm12wGUCldAP33jY/MDb5g18BCGaonoPOx/Ub/AE9MZjI0UtVphim4s4Nx3DueZjbFBekHQgtYvtPLMoXY7G98LQk1wsI0qTIIB09wCPKk7AwOcf1CH0qDSx542gi37YNNFKuKiOoEOYng28w3O7bb4VQydUmoB13LT2JDSWjUO+FLTl6iULSSkMpxPTzFxeRJ4d8LVl16aiXhw0Q9w1oMtvBSxOMzQTr1aCy0m7FlXuk2J/M98UgTmEqTC0LCkkHqHLiCpNxHUAZDNgZtNRkrTpVtUv8AUb8AwXZxjMcqKVJLp1p3+V+4dN9rvgVBRM9ilSe0j3YvzI2IxQzyFvSqpKXlKtLagX47y4l4MEHCKKMwnrL7bf7VD3lJHuMeBl8sNSlHS91QzfpuCDdxtipm8spY8GqQUqZloKQzkQSGKdxazODjLZmvTreHWXqQrlgpJ2Yi4g3m0yMVghtYg7j9SP3a+84UooclLpfs820kXDuljyOMVcxUSrXSBVTUCCFfCX57kkaS3IIIxRzhq01Uw2tul3gs8K3Spu7WL3wpyQpbJOpxt1bEHZTsZgyknAIWGqVBpI6SjYHsJ7PwcU61OjUWnxILt1GD5i//ALiI2h4xSUCp4UIInygwe0wZ9LEYRVpJfWCx4gHY/wBp42mMKy1GsgsrUk2H57c37bTjN5HSv7sAF3kbPsruCTuH1WJxVyi9THUhRfQoKub8sYYp9gJBGEIq03S63BYbBIaCNwUkBw7p1Q4bCBVqJCqhKy35cHs9z+EM+FEoLJpEmG2kTeeqGkdTYoZ7UltGlQNif4/t+WDVTUYLSpJuG3BiP/IW7cYqfaFemjoo6wmQVFld5AkMytUbOAXxX+1s1mGT4SUJaVhyobAlQtIYljBBLEYWc4C4DB3WZCmPlLmCZIJjURs+PEzSUk+JTWk/BKSrbf4gWiHVqNjAr1qodFZAZ3QWtxqNlI2tZQOMjVGjzhS2EBvTSBs/BLKHvisfHSqmlZZXeHG+ksy0wpw2oarkYNZGoroup4N2Golx+Fz1AgweysZXxaydQWpJFwSCTszvOpj79d8JVmdQAPSDBezfF/tBTqCvM0Y/p1rSDquCW5O4KT7uBww2wnL6qakqBPTMBVgzhpgeb5h64pqVlamlVN06rubHcfMnfli7HC6dKst0JQy0SLP3Bs//ABxjwqlEKCCGs7uFAh0xM/kU98aa5cUykJqCXDJfYgXEsCnssfLhWVUKZJ8Ne5Dz3HcR6hQNoxl6dKUFABBEieySq4IDsoz0hJxVIFPpLkcMbciZa4gtqYkYQDUqUQU6dRIBG4YlL7x5T8Qi+F5Wuk9RPgnbebTdrhzOz4pZQhwhYY/KxdvmB+IAhyGKgz4p5eol/EBUgGABb5TPmjTebYrZVVdDo0s+3SsfwPs4xXpZrKVJQVBJBcK8w50/kwO4s4xQragHDIMv8vMcGCGm7gEMRoGkkunUADDh/hM+re0Y1oTHiJUlt5b6TGEZml1S5F0tcdi0jg7i7KGAaVamdJ03Eix9PX6GxxUFTKrIWUimsnSbJc29AR9FM22BX+/0BcqdpDHi3xDZQE9QUN8LouCVNr/DMfMPQuYkEDFOjVo1kr1PTWWgwH+U2PoWI2s2KmWUt9BvINpmzMUqln/KMGkfE01lOU7+vPB3SoMNUROEU0odCutJIkDmxbv8JBu4hQGFUanhgoZYA6fpZ4d+FMbc4rCvTqCto8pCw9ryHYx6d3E4oqo5pOpOnWJVTjUP2KTIf4tTggkYVSV10/DOlWxluCFD1v8AK7yMeAvKrFTT4iFeZ9Jb+4cj244xqFQqQjSFjq06RIs6HmYcbE4V49MpqU6sKOlSOD+4L/7SXFsJqFJQtdTUHZSSFEMYdy4cH2jvioacvQ7pqDTtIgTId+Q4OClKpnSwUhaVWawB3+VoPGB9t0KLUq+v5AVjUxAgv35sWLscHN0K6NVGoGI8pIB5Dc/tgVtSlU6qdSVPILHva5bq0mx7EYp0qaKiimpp0uXtvuBBc/EPiuJxrNcnQl0yz3VyU79VjvpZRnCQQrqRoD3uyidtOxDNsw0mScZikgL1aQ7u833j4hcN82wg4oUqigQAdEjSlUtBSH7WS8EpCTd8ZGvWy9VVIjxaRPlWG0cqSqQAbsYnscFSUVSU9FNc3Zu3pwZEg2xmMumvTBSsq3CgwIeC1m2/CpjycVcvU8Ma1h0GQU3Y3AazsXSbkw0YqhZbwykwHCwQYt6fXaIYYyqlA6FaURBeCDLfR9JsopPfFbLrWIrhwxDOGUjY7l0s3dINzhCCm8qfU4ZQ78KGzbjpkpcYr1apUlBACT8abHsNgVbWIVFiMUtaiU1FOGkC5eH7PLEbrnjFakOpKUkKSdaGYhzD+pUwOyjJk4o01LD5hHYHsfh9CzObJbk4XkdZVTVT6WOmo2rUO6XDFmSRy6hvjNfZngPWRSUZ1FSXVpIuv8Q0uSDufXCsyvJVdSKa6gI//W9jx8zPBtc3GMv9r0cxcLpK31iwNylhIQXBDfis+KGWTSWpKnKT09QYJexiwLMdrYoUhSUmFeGSxUGcGA6tnsTZ5OPCRpK0qSTww/MdiZG4kXbCK9bV4ZdM7fCWcGXewt+YOMtUqOrWAsbbE8Np3uD9WjGYNFeoS48pPmSbwWs7fnw2KdZKK4eotGvy2IJ9BEhpSZhxfFSsnZ1LkFNu8bC/S0P74XmTRVpWSlTuEqCrHZuHBAvpIvIwt19QqLQFOoJ+FlSFdxb00yerFXMJTGpaVIHVHQpPr5hDoP4ZukYp/aCfDNqrEgqHnHxdUdW5CoIIN3OKGZ1kVKQLoUDLEOGLHj3Z+cHNFaRqSyViReTJ9m9X98JorDMxfswIZ0teW6X3H9uEeKX35DN+Wzyxs4mGwtagpSSFD08vryH/ACWBzjN06q6b0ytaW9XFoSReHiXHOKFbMILKpqYTbpL7h/hUd3iAT1Yp5rMuaa6PQpmUAbOPmszyDbmxwnxNSSGvsJ9R3Hy7gFpjFMKuUDSoF1JghW8fD6W+HjGWWxXTUAC594ZwDNpbe73xWoJrI0+Y2ZUgjv8AkX2jnGcyVQMUIlPZ2Ijt5vq84pZtkddxDmFJ/wCLS3D7jFIqVROgBe7PaXEbibiU9sUq9WofDKQlQO9y07wWElp3scZij94fEPU3QbAjcdlWN7p2fCmCCSlKgDfcG5nZ7zBM3wnM5YID1AnULEt/OOxEWwc3pjRTq0nYktqY7p2Ozck4WKCF069DSFOelMEv5meGgdJh0jc4p51NSFAnjTYjgWIKSfKZEYrFJTr1EaTJa6Ty4ch26TIUTfBqA6FU0oTwrVqPDB7Pc9hbfGYK/DLCCbhTFJ2Iu7G/tsQcf1mdpxqdD3ZLpflNtPY/2vIwM3VQE1FBOn0vyLxDmdsFKsylqZTTTcpBF93D73BDghzvjMfZ6RS1oCai0mR8xHUCL9Tz7m74y9LxEFPhB2cOllB5De+p2LF8JC02Se492/yOUnTs4xklCtWqUaiAVaAdpFgeflPsx8sjKU9UK8OX0mJ4f1tuzB9sKp0mYFPJdLBQEuR8ybuO+xwcrlSk6lJYhwNce3axBuH7YSjK0D01NLO6Sdrg94f8vlGKlanUqtS0nknpPBKeQwc8ggYzFNAGrUpGliwUQkiPLt0nY7+mKFTwUdNRKknUQ+89Q0j/AOIHcB3wc8SfKhSVOlidx22VcOLscZoVvGCrU1SNBVqSDI9QLchUeVsJqVE6XVqKT8OlyHlnggnUFIulWwBx48BSVqLQrUCI55QsGFG1jtilVJmo+mzgS7wWG7k2MOAzYTRUtJ09X/HDgXH5jtg1UoWE6ClbGQ5Cju2zu0A3PY4T4dUdYAIEQfL+zEAMZDPjTSDsSRYsDDmN9iO4O1iMFR0uJ0+Zof2Dx+xOFNOioA/wKNv+PiTwbxAqZdFVRpKSlBDs4juDsAoN7hQMzhf2VRSonTpU/UEqOxkhrH4gprggunFUpeUf7rlnY+unpdJYicZeshGkAeIFCG2uFJP59xZjipBdPQ+xlM2ci42cclxAwgElCg2ofKU/TaN5sXI4xSzCkrXp0BTylTM26hH5B78HFatqVKANSZNmaHSez3B/WFZRVWCoE6ybAS52+Z9VrpU4LthFLwwFvrtqGxHvPm1S5847YqigtKTodSdzccH1cPEHBpkp6EJOg6mMMkzqTBaW2Zu2M1ToskrZIaWYEdwbBt9iAIZ8VE0qVU6HKb6k9ILEFlJtqDuDZUsWwP6lCwaCklD6eqW3AJvo29OoWxlM5QzGWNPMlNKvTbrSbtueKiSPQzhGf8LSFUiug81NRCk/jSOHc7GUicU8wgrJQtK0EAskh53G7Hf0xCz5Xi2/P5sfcCMJUhQUjSwmGCfXe4v9Wxnv/wCNXTUGooKlR3PmHoruL4p10KR0pcCQRPQREctH+dk1ULSdAdaSyklwWNlA2PYFuHfFHM1fDVImLn9JkCRsezYzVLM0z/U0MxWQtBBdytINw0lOnhLMp1osrGSzxzeVp13APkqpT8NQFqgnbdHKSML1KTYEbh/4LPfsMZ3L0lEKQVJLygj195kfycnmFZdRp9Y0tc3T2eLF4bUHvsWq6ayYcB/5yNlcOMVEE6VBIV824f8AwbFjvisaVJ1eKhKjyQdTfCW83uJewOK/9KpllehmcNBH+AzOJALm2EKpU2SxUg9JGzvB46tiPMweXxToZas6SshQAdLMrs3YsPU7tjwjl6yykg0vMpLFj+JIIgyRBmO2K2b8Q9SFCn6yoj/g9m6od8GtRSCNC1i6Xfs6XHxJuOUntgKQun0iqSzDQygOHPABSHg6dOEZhNQmjVJFWRsnq206gAXLAJVcli8NSTr1UoBguJYiwbYM6RsJGMvlW3MWh0xt2cN086sIpBAUUo1OHDjtuLEhtPNm2wqsqiryABMs0aFdjwYBBGyTOF1U1AFJCgXBDFpvpUbyzT+C74qgIzFDN5c6ayFXHlUDJRUHFRLjCq9OpoqF0a0gncWfb0IIIuO+K1TLqQSMxoLSDDkTDiYfve4OK48ZDipA8jJDkbLI21E9Q9r6cU6Yr0/OvxKSm8xlrFJJ3T8B+RQYlLnwqaAlStRF4Km2F0MQwggiUgkhwcCpSqoZfUGI8xdRt5T/AO71f4nxToUl6wk1wkK8gnswefKGD2ndKVYGWopW6FVyhUgsp0q3cM4O4bchxErXpglZCTpeSOJT3222cRjxKGgKb+4VA07kKOxG/O++PFTTKiFBSFWIkSIf5XDORBYFjjJZlKKnUAqnVGlQ8zHYgj3B3sWjBao+hYSQygymJ+scA7HtfC6JUAsKS4l7Nz/a1zfzPY4KqiOp0qRdR+VriIGr6QT2wCHLWna2xnd/yIMvhCX8pCT+vPq5ukw7EFlYNNilwkmwY/8AxLcXCpg74zmXUWKQgXlyNp9X+sHZWKSKiVp16SYBb20t+Eh/VgxxmfswiVKhW/B9RMjfsRYxTyyKagCsTuRJIZi+6gG76ZnTipSWUKR/+s7wQD/wdoD4p0101J6xp1FJKnGmZCt2aQ8psXjFakKChVBJmdJBS9j3Y9uQIjCczSq0Qkoa6dJG/qWIJ7XvgMdQ0agWZWti7DSthvZ23S9i2PFrUQCaYXTNyH1AnZm3DHg/nheco6XFNWrdw08T7qD3kwWxTzfUU6zTJ2WGDtB1XS/0tzhakVUQUqUksUqDAtY9oh5Sd4xmcugKSpSAEaQ6UiUpLpUI2Y8EQcJ/pqFZQmogSE2UwuGf0ZnT1FmAwlKNXjUBUYHymYPIkEES0vpBAkg0qgWgamCFWH/10nvwSA5sBFDw0eVehdIsmpaFbG4m/U6TBBk4NVRSiopehaelabSk+b0MLSRYxjxNaiV1Bz8p7+x3Hy/lmMpSzVFlmdlemxP6HhTWGFZQ5VCigq6TG5+Y2Yy7+jwSMf1a0UPEpUaa1l09RYcQkh9WryiLP6oXnqyipagjUDp8M6U9JsEy6uUknqBFsU8wQCiqUSNN4U9nHIJfbSZa7ZU/01UqywZFZLqpeamSIj5eCQ95EYyP2gmuTQqo8OqB07pqj8BjqDOUmSJFi1fwn6oafS0+x39jd8ZihTSdfSR/5NwR/i4lnBxUzakeRICdWlR+P1A2KZI+YKTthblbU8xW+8Z0CooA6gwsWBs3cH0wvJZpKvEFJ5nqdXf1JSXHlJ6b2xSWipl/Cq00vpLKIZ/UNdQ7sfUDGlVF9C01aVlJuoCPzEFKrnSC98JrKpGmpbeGwk3CVWLtb9HZsHMJNQVElJlmSdQIMFwLADqDh3tdsVRSIfwxpLahBfgg7s7pOyn2xmMtTSgVE6FpOwTa5blLzZ2LtxjLiik6YpqNpuQ9x8UP6gAYzORpVVeKFpBsoBik/EO4+ZPoRuMLyq6agWWBYKTpLd3EtPWndgsb4yNfMU1misRtOo++rtaZDjBUoAqBG49/++exukvUXTrdNTQlZfQry9XBe4P8d8IqgK8M02sHSluwJ20v/GIxm6WapsafhlPmSD7lvS7d9UbYy/2mpCqdHMdG6bdO7zwXBGzfLjwF5h/CII9gINtNwoMWaNt8Iy6aJ1qSUqeZcGNJcf8Aj2ecZnL0ipSkwpe7sDvo4/t7yPixlXA84KTHIcf+5Jd3Cn0n8KnBp0KS0r0haVNqIT+bbFBMkSAG+GfugYQNKhw3q5F46X74cSkIS6fKT1uHs/6fTFammslSwwWlwRYgMbf26bH5YfFLIVa1MgLSQr4SxAO4s4B/UKEhjg/ZdegogoUoHyueJCfllt4JAtOKdBSK9Mt4TMaiVQCnmHAL8xbSXLFUVOp9EsRI3gy8h0lvLAtegjVDKKVXElx7zAuk9ucIoUqDhSHR7kN3G7Xved8GnlijpCS1pY/UbG7cl8KqJSSk0l3s248w9FDrHDEbYonxAzFAhwb9vfFSikjri097g2h5HpwcDIp8fpPSXDbOfw8Eg2MG0FsKqBI8OqlxLTLGR6tb/k48OgomCpIs8MRtxMzEuMU6WpESlm1CXG2rvpgvOMxlFJUr5XCtX+X4ie0w+KtCjoSUKfZQMD3HzTChCgzyMVMmtGrRWUkQydX3bWBDWjSbQWYxihVZKk+IyxHX5eezXdw0OdPQcKzWYJKDUZFhtu6QN4uiTdrDFOnmWOg+IhQ1DU2qRLP5j6/CC3mwaC1LcoOoADVIhiUyYcCzw8OIxUOinqY0VAsTPcCNgrqaN9Owxk8xSr/dKqEqY6Zbfb1izhyXTit9m6vvUllIIlIbUkGFBrKEiBIBFrUqJDhrhiEi7elxxAI98Ko5hNFWjqAcgqtyCC3qFTzjL5hYirRBBGgv0lriRsJDFwHggYyYTXQQHJRdCj1AbSbw49QHuMVKVII1JSQQ4n0/b8i++KVRICREMCk/lH5e8SGxnK2XCShTErDpAnVwUt8QdtjLthH9Gs/eKSNXwqcdrbvBd31ajtjM0CgaqCyz9Q8yVAhgptlCCp2PS73xWqkqQqoxU6UKvBdpB7lwXL6lJ3xl6iaakdWkK9g49Li8guCQSzNivXUg6ugAS7EEEF3f5RfVLF/TH/qVWolJ/pxUS3+oFsfSHnTu4Ch9MPWWnUmmpASfKmT6k+nkf4meAcIoiqHMEsCWZviB0mUkFy2xbcYXkqVMBSrfOJZ/SSHLfXcnGpNVP3VfxCn4XBXaZuf3Zxjwq4U5BKdzDG8xYiH2INgRhWUSFJqJUWVCkbd2ZiILgTe2AkIToY1KQUb7P5gkn4WsktL4VQ8BfiUkgJLEhQ1KYNZYuGZTGR64ACk6Q2lQgfCQZvtLfXApVQjQoGGZ7lLwX39fV7YTlqNcMQE1E2O7j+DguL4NA016V/4e8jt+4PpgJWElOkBMSb3Z3H07PwMLpu2pP3iDsDKS+7NyQCLuASMIksU6NQHu3/PxcGbYXTpayhpeOHZ/Ys7be+KtGoDqSCI4ILTE8f54GE1lLpaFIUlaSSNQuCXZxcPDb6m3xmMvVVakFaVwp3vYseXaeQ5ZSgMnWzKKnhgGmQBGygzagFMY6bF+ZBxSWKwIV5yBqDE9pspod7w2DSp6NBCtSX+IuRb0ULXkiQ7T4ZQVJCGJ5a/BMEteZ02LxhKXTJUlSFO3mi8EMVBun5juHBx4aQjUF6kb7t6dp3+FrjHgkELp6dJuHibt2IP+MVkaCarAAwtKS4vccG2zSBDnCR4ReifMBYv6R/uBGK+ZrpUoay5+EjzET6ORHc6oxlKgzVXTVQytBKT84BlMxIIeYaRuK6U0ZSNSSLM+0f2kgMHjS2qRilnUpss05kLBABsx4+o/LArVargVNQudJ4ubPaFdjigipTV/qFn3aRsSeGvEsN3eqj4tQcNefQkjYjp1fXA1OXOpHqPoo3h0vfkY8VBRKkkiGs4O3159O+KaBqCkEiWYsROz2KTYH09cJrIKAoh2EjY8+j8dvTH9TS8RQ6tJExtF+4fUCJg84prrAnQWG36Fvmlo/R8Zg5gzyGJdvbTtf2BBtGFZDMV6agTp40vtO9i735Is2AnMUelb1NPStgXA2OgwQSCOlo9jhGT/AKghaAaS7NJBY/i2kjSfR5Bwfs9Jp/eO7S48vcMdj1AiR3wRUy56S5SfbkEjjkpaJ0mcJzCKqPvaWlX4JclpS0EEz2kGMVfAWnRU3gatlcEEGCx7Dq9qnhZPMWaY/g/UWJnpnGXzCa6ClWnn+5JD6g0O8/CXcjqSX0eHUStJemYcB34PTZYG48wlizYVmaOmKoGxS5Y8HgPx2PGKy0alaKpEOA4unzPx3EBSSSRc4H2pWyNVFemkKnStCyRqG4I2IlJI/DeMI/8AyL7Lro+9TmaClAP06kg2giFCZaZkScLz2RqN4SatZx8PTF4dj+JLSOp8CulaUpTqKvhdjCYkjcbjvHlxpqP95TQX/C4/ufm523bzYTRIdie4dzMuNlf8ckv9qZZNQK0rkp8xQBvqSqN3h2MA6sKVVopQtepaXCuks7AOfS6VekwAcZavlsynQuooj5Vv5hGoqFpOo2LEEvOKaTlVqQgnw/kBdmcwFBlJYvsWg2xT+0K1EkUgDspB2HBfZ/K7/K7ThGZ8V1KUlBJBLSFPLh9iXD7Xs+KNRJSAtSVIfTZ3uAxt7X8wvpwv+mBCqaEamngjkcLEQ4f6YqZzwnUCGcKZ/QHuxglw4icVKtOughNRAMFMp/8AEsZI2PD4SVLpaVJZV9QcamiBaWuGZQLgPimdCAdK1J5vzBBkEe3BxTr0fKUkcNAZ/wAi8j3S7McJqBaEgCxIBLhpa2wMD1nFTw9ZKzoq3GztsSIBuHa+Go5kAKUSodwS/wCE2fmGMOHxmMsunqSlRPDOOCHHwvcm2KNaEhajqkEG8X9DAUBzIxRzFI9CmJuknd/0VyDffC/M6qXS1wxbhuWOz4qVNSyEpDHZUh/rY8dnwrL1AFFYZDwHlL2n9PlPoGzNTwEFWtbtpIIJCm25Yu6S5+JMGMI+06SwnUB4iP22Bv1JJccs1xjK5+lU8qQFM7GNTXA3FpET1NgJpZgQwWn4dyOeFRtYzhSqfh/eI1FO7Cf+xit4JKTTfSfRvUcEObQQTHCai6AICNQ5SQzd9tO7dzZmx4xWShRUlJ2jfjd037jnFXK1lOKdaSHSfIW4UPKWa7SAQ4OKXjUwmnmSUl+gj4/w6k2Mw/4S8HGZqeLTITNSm0r6VbEbPfcH5Vc4q16v3afDIKQNatKtZU0gEbzp7qvinVqrQzO43D3+IjhcCIfUe2BS+98qWJn5gTDtY93v6iaCxl6yUqEFmIkfxueTulsGj4mwKXcAXI7NYixHYG4OF5Ja0aXGn1IUPRrEOfU4TRXTUyxFpPmv5TZ9wDfGbWaFSmtCSUHzs7+49OUgwL3wuoRSRVQo/DIIdog7G8KezTthdWnSAVpOmNtjEtfhY3DG4wheUqnUmSn5eDt9UsymIUW3x4QYVELtOmXZmVGzxPvfCEhaGa4uR+Yf+P2xqVQOnSog9wQOIMs8fQYqpKl6ghifj2faz/pCrFsVCcuQuoNWoO6d9inaeNiqDIGKH2jTcJKSoKgwYLbg9tvTd8VBQWAdDN2t3SbSO/bFPwaKmRKV7M4ts8BxLcp9cZ3LGoFKpja6R9f/APLdi45wukqqlKK9LrA9ym3/AJJcAkcA84oUjQqKS50+ZD3TaxHe/u4fH9SukSTTX4d1JDxv5ZaSWWkkD8gtVKoytKglWzROx9jqA2BLcYWMuQhYCHIm/U4b/wAVeX/cMVPstFdBCFOVDUkE2Uzwrk7unq+mDkxRSBmKZ6Y6W0qBlyPV34LSzYyi8rqFOmlbmYJcF5P6FTbh7YNCdVO0KeyuCS1oJ1eiecaq4plPh+IA/Vqvaxa/rc+uDTzmvxUBQA+AKIt8KB8HoXHUUmAGrU/6miok1NYDQACWlJb9rgOmTdCa6aRDeMksdJQVFLOCQB5fiSoWkx1HFOvQoZhJCdC2tq6FJsUk2I5fyxsTinmkVCNIDiBuRdgX2sL8kQcHQtb1AsLcBQ0sW2cb8NcugguMV8vXQWQj7lb6VAnpJMJZMjq1aSHDKSCJIwilXqBSaddVK6SKij7AnkkPIBBDOd1jPmkpI1hdPqGkmSlpcGef7X4xrWs6KoV4sSSZf5tiZMhj09Tth1U4WFoI3AJcGUkFmUOQZZKg5bGR+083lSaanqZdfw1Os0lbsbgH4hIULGMU80aVQK16gv5SdJm2mWUI76gjc4q/afhqS1FKgqCeDcdxuPWC0YP2tWTUCqaUVE2VSV06gYZKx7JCuyjhH2nksyUoqJVRr7eIOlXdNQRx0liLMROK2fpUSNFFSlj4gOgEWKlbA/8A+QiMJzf9TSRUAAfmWO6YsLs/GMypSajpp6wepLDyqEe6VASL2aRij9oOr7z7pSQXFZvDUExqSsBwZkKuHcDCPtAL3SQ+hRTKT3Dtsbtf64qq1MU1KYfeL8TIm3oRIxoPUlVZKgQXSTE/nt/GmoqjpNMimFEaXXvwJgg8Qr6YzOWqCqCh6bwKmkqTeRwpBe3wl/TFP+rytVJKgEFW63RLfuAGgz2OKWdWhaDV09tIOkyOZCg/oTYvinnqVUEDQ5hQWJN+fee5G2Caes01Ki7PLG+k8i4n9cU6QH+krUlYudle+z6p/fFSkdDwSghWlgS29ps4h9TQXxpRqQSVBbEgvuJ9wW3tD74TQo1E9Qed9n/Z7QzuGnGbahVnSIGjuRL9tDk+pCXKVEBNSl4YlPOn4hzO5ueXx4qEh0uprNuPlPCjtZz6YOhakqKFAGygPqdvVSb+ZpGDQprWg6n5g7tfdJfd4VJvhNJaNOkumDJlu3+1gd98HQ2oL6jdLvNrc/w2xmElQU9NbbsP5ZnSd7YroFROku4VBLg+5naHSSIuGxlvBH3JfWPhJh+wMKSq/SecDxulNWXcEoMF73DBQ2MPxj+lqIqipQInZT2IkRJS43fTcWxTr+EE+InSr5gfb9fSSXE4VnNLMQxl++/9uxIgSXwa4PnUlXHS3r+XFixwpSky701ckR21DjY732wKVHNUyhNS73Mgq7er9iGsWwKKssuqg9RSQQ9/R++2oXc2GPGRUAIV4YkLBJATyWNhNrY/p0sCFa/RTEe9iytr6WO0hZpVGcqCg9rNwOeW7AtjPFmUCAxlgGD3831uIZiZGEVAag1MoLDQI1CH/wAsdTE40pVTKgEqYqC0keoP/kHPdzY4p0qBGlYAexA6fQ9rGzj1GK32XlgkqpKLKvc3+o80gxIYy2Jo6UqWwSAATDB4kbA7uRbymMU05fM09NZSdQMEmPSDpne2rTbFbKHK1E1KdR0WYh4fpPs5ZT/R8U0nMeaoKVYQoB29eQ/MggPinQramVWC3a4ZzZ/wkgek4UipT+FDPoIZn+WZSXsbX7vjw00yVKA8Nbk9R+rTb4hfZrNUpoQjxMvWpqT8aVKBbhWpxPwl2gTIOM1TytZSFFGhYUxqU3CZ3bYlJB1B+++Mjk8vqCtTkC2q+5HB/KxSecZmn/8A1hiLOb+/5/hUH+XAWsU+uIL9IPrGx35G2KpPiOUaTy0KY8/Qs+5ILWTpqA6T1wzBiPlf5tIdJPxJgudOKtLqSwaoAJQLETZpCg7xCiTbCM5UDU61EFnGodL7dQ2BLEC48Qs7HFTwTqB03dAcpUkn4TDjVZuRDtimujVpaQo06qbggmIDhbTGky7ES18Ko+LTFNenXHWORYvvLaiWHU+2M99n1EoC0LXqF4uDBYWmIcFyQkvfxlqQn7w60mXQdX+e6OTqGwwjMqSATU1PckvdL9Q9QYI8rvL4p5+qgE0aZ1JKVblJ/CpIZwRv6h4c5bN5fO00qQtNCswKqRVAqC4D3SdOofmLjByiK5H3aCW209RG1/YjdJcOIx/QeDrBpq0cH4R/wJB/C2+P6c+GFIUpaX+L4VC6X3Yc3vcyqmsKSqil9PmEgtEDtAZoYKbjCsr4yQtQf8ykjj9XI3nCsumyWqBVgSUyLx8JIPoozfGYyAlRYAyz3li4MO8OnchwDigKaUlFRLpfzT03gpNm2KTaO2DkaB0rBJSWgbzYncWEbpffGYojL6GphVObglvW5EOXH0k4p1aiR9yEaUm6S47gpHxGDpcA7HDLqJCh37gG5hrK3HqbpwtdVKmcHSfy9/ycgh4JTGBUWKYUnYEkcR3lnAJHDtscBYqVFKqffE2DatIuAAdmd+/cE4RRoqGlaV3bTICTYDUJi0wQyrHAyyUJ1DWQGknVvpL8gObsrS7FxjxVJpmPLN9Xlgie4Yky3m3OKedAGvQVEOFAwQGglpb2Mg+uMv8AaGWX0lQTII2+veCJ+tsGrREi19QA3/F+U3wqveXR/HD7c9XbC6K6ilJSphBHKSDHdrTZxBnGZyubWQqnXQFpj5rAljuxaHdpnGcyYUgKTxsWj/bBO6fQi+Epq0qg0rdriWLvcbMqxH9pZxhVYLQy6bquUm7/ABdQu19Qv1EjGoMGp8gtPTx/L24xTKAdLhjYGZ2Ymzv7mzWNTL1X1EnQ/ULN6t097DmRhNBXiHwy0CDY7bbv0kiLHYYVRq1vgD2J39QdwQXIN9mL4qZBcuCkhVzcdiblvhMgg6S4tlVeB92tQItyARHuGh7yGlJwvwlK1JBB9y3BieAFC4vjMU0rSV+GFlPmCRKkcixiYvhK/AM0mSVESIULpdoBIdi7KnfAFH/UQdOvzMC2rcEfMzk8sMeCVP4agoGQ5tEi36yHY4ppcaaqNAaCAwLt0li4fkduMVMsGUQgKTy4Cv8AGqwIPAe8Ck3kS6V8p/8AaoCQoPFwqRBIwaFVA+91hJcDSd+J2ULJjqRExjL06fQoEagGdnJA2IvtA2FrjBUQHYJIgltT/ob/AJMWx46HaqFAKDE/t3kTDiFc4qDW48427giztIJ52POKGSo1AoBPUP8AxIL/AA+pUWsQ4xVyBBXT0gJ2a0SB22KFB2ciBjKZSrTKlDqTe8pbcP1AhiFB7SNsVaitDoaqRdMgvu2z8js4wk6ixVPyEzyFPdQHPo7LBwErSEqKElN7u/8AA5YgTHOP6d1OB0bixANrfn2+uNCQvSohwzEz/wAh5u7aj8KozOSSpWqmvSqxT8KvUHYpZtp2Z8ZjLVaf3mhR2IJcc8uz7fM2nScUvFSD4dP/ACR+IxqYyCGItGKNRZQlS2mwjj3dw+oRY9LGE0RXpbKjePbvp+u+K/2YAkrFJKlgl7SOVbOBvczE4qUFIZYpidP+7sTtUlQ92c4RWSKfTRSqCl0hjGzfMIbTCkEhsDMmkohFBKhBtPUek9nPxDhiGIwM9UCkqYoOsWhUsR2Ows4btNH7Zy6mp537oLTFUvoJ+IK+UuDyIxTKAnVSKa1FQhVNlBh6O5EHkt2xXRThVMKd9nAgSw9JOxHrimkRs5Yl5B2Paf8A7bHGZoQTq0uNSWALG/5Fi3ADb4NFFWjoX5mJftzwW+oI7YH2ZrBSqppU0NGsehj14YGxxRySqY0FZ0/3d+DA9cJyupOhdR2hjcf9GAbN64qfZqboUUlvh3F5BgsdvVtsZehXo1SlwUuQ02HHoNjId5BOKwXSzStdMKpKDl9nuQeD5gfhVdgXxSpj/YFag8p5GnsxsbYqikC9FJSb8P3f8zxPIempwQQNYgFyIt/AXgsDAOCVpkaT4iZaxU143sZF1HGaqrSSkuAZSQ5J6S4cTaNKgX2xTrZoMaehaB5dUjT8VmLJZwD1AnSxxTXU1A+AlT7ah6FM2KWLF/hY+fGXq6kaVul7SGf8QuBD9rYUVIHlSf7QdtvVpEY1KFVC0pZMvpMp9O2xH1sDhNGlq8RDOQNSWLH2+gdoucBoCtY5fy/se/r64VlwKiiE+ncbp1cjYzsbYXl4GlJTs5liJSRzwBuX2VhIptoqiXuBPsoFryk3s4waVNJNyO8f+LciQDhLrRywvyBv3H5hwPhbCToUks2kj0UlUEfs3ZJwogJ10+bfr39fRxiuoVUOzd+48yS/8F2l8VF00aUqGk7On8nY7nZh2xSUF09FSE3QQqR3CuOfwkHFOpS1EOynZSXeW4mFN/IOBSpK6ToILieL6e/4e392P6ZKElk6h9X4UOx/lsJSEqGmA51J/cD8+4YhxhNOSF27fke44O28HH9IHV1GdiSn/v8AOMUspSSpSS7y082/uF2CpG0YVl6aqbFIVDNP033kXIffCqIpqbToGqCTYvYG9/8AxD9xhFO6FFSoh72vwrptb64VlUkByoKTI2Ba+k37jcR3xSRT8jyxAJDF9uBB/bC6op6taWUkKGtP/E995cXGP6gVWkFVpN523kTvvALjFKmU1CkrdBsxhog/oxv02OE0cqNSXa3t/t9Tbf3bFdOWSny+X4kk7SDyf1aDimtNRHTqWmQpgyhMnS19+kaVBUgYTcJJMQlSTI2b04uDZuKtDUtK3Va97s9rjtcEPYYNLxfKdKkwf8iXA27CxZOK9GoCRUSlrgmwNwoFvyggSbthGXpF3WWuQmw2PoBBcR1AmNWBkUJAUlSi5GoB7gu/Y/pDFiXTQqU5U/hq6SR+RPykf8b40oCJ1KLMxseH/wAvEbYFFFZJGgAPOpkq+oYzIe/vjNfZyKSj/qJ1G4uDOlQKYM32sqJfQpCw2tSep4juNywlxOkkfC2DQpLSTTdwXZ+lSLiZs5tICuBhOXVWQELA0swPxg76vhflviAMjGSq1fsXNEMqpk6zeIlKtQQR/wDsp8aQfIWJDiSlOKdZCwClIKVgKSrYg+uxuMVKNMn5SeLHifynkYNMkaSyhPqP89+xODSKQybpU4B77PfkP3Y40K0U1hAcDt9Hs38jGjq0tC5TyO3fjC0lTQRURuDOk7jkP6t9cCroYKbSd1RH/H5MQ4jFf7Ty+XWb1lhTBNEuQN0k+V07ariL4r/ayqp+6y+h26q1936Uw7AnVwBimK0am6rlJvyBHwmWNxpFseEDp1aiCLwPUn3BdrRtjNU6yNSKSb+WeeO5uOD2OB/Wg9VTyl2LpcBypkwSCJZJdJNrYrLWlvFYhXlV5vL8qhLTZWxtipWpoqRVKdbw3TrZ+rgKEzvL4Tm10l9SlMo372fUxYtfUGUNyWxlFmoNc7hwdwbHd7do/txQW1L7x4+K8XE9jDF46YwsUitCkksYVsRq9Y/ghlYp6CIXpIjeDx6HY7Bxg57LOU+MgKbpmDxyl7/pD4p5uhXUqkmohVRn0p83qAfMPT4YxUqLKNAUPyf+cP8AEMVc0aJIK06i7EW4lJtMEPZ1Q2P/AFCrWGkVKZUOlY6XnyqBfeU8AhjfFPPLpQX1g7Wf0v1fEJY74T9oLWdC0gA2h+/r3cO2xYYo5tSCyynSfi/+M/zvbC66A76VJVvpcGN23aOSHvjMGhUSygoEMC1+Aochpj03xRSoHw1FavkJF0mzHyvzzI7YX4SayCvUlQaJ8ru3fTdJEwpJthKaCvLVUPeHnSr0IHmBwnMKpJDlwCAxkMT5XBadrO3JIwfAqgKUNJiQpvThx7PcYqKp5fqXVCUDcnb83FrQcK+2shTISpdRSbGoimqohLuyjfp5IdgZbFX7VyQUmrTqGpEaQR7F4bZjL8tjL5ynVCatJQq01XSSy0Ehxq4Pwz684qUPHSVIBSTM3BsbvPbnCKNUGVAKHqNX6j9seElSJUxG0X99jb3bAp00ljvY87+jj9nGMwhXV0A3d/1fZx1e+KmVU5ILJ7CQDeDwXdLyBBwgLRoYuTD/ADNDF9+X3M2BwEVaitKFB2hKgzD92InuEjBQujVAWHUb3Y8gfWBxaDiklLHSw+IJNx8JA5Ab1bBGqwSCCYUHN7PFlb2LpdsKWssqmUsPMkix3j1dtmI9hpWxdLtDQDx/wQbNvGK9DWlJ1EfyFfn6EdNjj+lTBsUqZwdjwdwPlLkDgRhAXTWUOCCl07SLj1HoxTCk74WqtpPSFCBfbbUzt6yGGMv4hGlpDi7/AO07GJnbSxfBFRFQlS9AMbNHcgz+R0uL4RUStGippawWC8f8fEAbWxnMj8aFOoSdHIsprEtDiWjCqWYpqdCkadQLs3sTaZg7WMNjwKwLiox3Q5ZrFNzaNJ3AOKi66ToUNSSBqBEhnZY+YSx3OMtWr5dWlFZQSJ8JUpHtbzcNqSXjFP7WHVTzFIpKATqR94FAfhudrExdsVPt5IdFKiVqT/8A2PTdLXHxRDxFzbGY+1vtOqelQop4QjUSNi72vtuZgYP2j9t0g9CurQraqjxU3mG1JUC0B4nfAzv/AOQZg6KlfRDpNNCab/iBVfTfpY84R9o/byNIqZgLAh6lJBUD3UlpBGggjqhcvg5v7RrVEozS0HLrLHSPD1Pe8H2YtrSoRillKdKaRE+dKuDuPQuTdrcYq0aawaZhTfDyC8P8zflzjLUFUWTqKkv8RljZJJu3lSeGS+GoulNR6ZeCSdL7ibHb/rFSlT8NnChz/wBbudNxE7DFTLKUS/3ndJLOmz+qSyjB5sMVPs7NLUtACkB/ieNwQoWF2eRqIMNin9nVn8Kr1mQNY9Sn1MEQQQQpIcacHI1aVRVIEWCkpW76T8L2PCTDH6Yyia9M/eKdLWUOrg2aYSfd98ZIkhSTUBYt6g86twdlHkA2x4SknWguH6kenxJ/dvpvj7pJCtaUKvJEg/Sdx3HLv/Q0gjUGSxsXaNrz3Eb48JAVTWIqUTqGgSE2UBvvLc483UUSZE3f0a3fGZoLLtTHKhTPlHM36SzC4fGY+zdBTVorVTLlKhZiWLEMxBMhXO84pBkMoayz6wC7MC6vy/PfH3pBZFnFrRqaJCrlJsFHSIOEKrpXoqUVrQsXfULhlNPMgiDpwn7Rq0Fmkcutk9OrSrQU3DpYwzyPyfCM34yE/cgEdPAIby6hIbYkNLbYV4gWSOlHD9N5B41bGQCRbFenWqKFqi/MhyxUB+/O4Mg2wkKUEqJ8JQBS909MyLp21Ahvpg5rwmdDgsF33836OOdi6ZVl1KBWFiogj5vhkhuRtpIggfNj+iC28RZOg9BWssO14JG7eU7EY/pqSNwOQ0gwXIFyILi7qLFzivlaSwtISNRcgjY/43Bli7icU8vmKVQFNaohuk6YN9xZQLwD5XTMYyv2nm8pUNOqqrVpyep3E7KZ2FwZ6YPUlzV+1llzSolJv94CS72LR1OoAuzwWjGS+0P/AFClUSQKWYp+dGyxLLSFNCmljBBnHWE9SpTIZtP7tzyztsMU8ylUKKT7hxMH01XwoUtQkXYh5AO/p8ySPxAxgJpaVBGggyxIBBEE+rNIuzHHh01sdaUKEgvvzeJBBDzfGaphZT1oB2ci/ZV5Hrjw+lKtY1C4dJ+vMQ97GcUl0V6knTwU+sb87evrhqKVae7OWZiNt/8ArGhOogKAex1C/H5OL2wqlU0EeKCzESLH0NpgjZgQ6cJQVh/ETq1HdM3g7P5hIse2K2Z8AAqSlah5SxPUHbVpFiAxPo7EYyf2rQzCzSVSqZfMAHoqQlYG6F7xpUH/ABY8RQqPTQGVwoA8iLOLjtGFkdRUEqf+Bx/DHthGlaXSkAidINj6G4VueIvjUAEwG3Y/qntNttsZuklHUnrSq4gu02sSG7GCUmWxl1ZWpUCYSoPpU7EhgWcjvY2diDfFajSUxSt2hSSxcbswmHwlGWqqKUFJWm7OlYIgs8EdrdRNsVsirxE1KSmNtDslzHsYLHupPqvJlQTVXTTrEidwYCp8xcp1Q+qbA4RSytWmPuUCombt7j1DH17jAo09JSUAXDHS/YuIezEXLYNGjUSlTJStBtZ/mDg9vpIbAoZfUdTKSR1CHb3vZjPSeysVcjl6yGQpLx0vuOAp777y74Vll02GqNmPYkPJjt1CzGMEJNF4JHfSRHbuPp1XDYo5tLBK0sx0uQS2ow8Wdw+x9cVEmsgFWiPheQRf19Oe2MtTo/FUKWukqAHo3pv/AIx4VOmp0KSNrxz7HtbjBOXrdOpLtGxj84O+KtEIV0BJLwrWBN/Z492O5x9oZU1hqDU6qLdczLuLjV7McU6lZCVCogKYlJ5TPw9xZuNJAKbU82pGomm/4h0n8KnfnuxdixGMvmxWOjSUKhlNALWNmeGeyotiv9npX1LWagMvqtsVJAPwt5fynH//xAA+EAABAgQEAwYFAwIHAQADAQEBAhEAITFBElFhcQMigTKRobHB8BNCUtHhI2LxBHIzgpKissLS4hRD8lMk/9oACAEBAAY/AmWFO3at3g38zHKb/PO47p4fPOCcL3Ian+WonBASBq2fv2YeliJKAPv28PyUyFfb1n8sYRwkkYq4ZpfP3SA4SQoUy+xfCR9oUkJSyiSAWrodf+RNoKV8MBTF3ZL5++ogoEyKFh763jmQcSTJveVtjBwhIN3EnlOewLbxiCUApq1PymfTpHEQQBi2kbN7nOOTiYw3Uil7tAkSMU8Qp9j5xiSWv/OqfSAS2qd5Fvdd4dqyLJvtbek4E605fDq5nYiDwigcRKnkUuNehlSYfSMQQRwOJzJBchLyUkE0nQGkYQFPZnLVlL+HmGhlhSUH5lCfT7QF8P8AqFO3MF4pjQi6c4UCF6kKOIy+m48Q0OylHNZUwaYbLY5iCoYkqvgMmPzNRwc9I+GedCpHH4HTwnCkfG/qeG9GV2Mq1Sc94OP+s43ESJgpqmd57dxgt/VKVf8Af4GZ2r1jClHLV1c3+bmt9XWAcIGwTMGXViwMYeIEqSUsUqT8prqz90Pw1kJNhxCe4+T55Rh4gdB/wuLY6ZPYp2LMZfDHy02eqdUydJh3ZgRI+3DdQzwqYnOucp+IpzSoYxKLlBDjFOoyv2fzGH4claOHz0PmLPHPJCn2e8xQ5HWP0uIrDYKV1DHyN6KgMtSWlObi0wbe5R9dJY2dNHrt1BeJK+FoVqxJ+4yzBjGjjK4uaXLjNrN6B4qoHeeo3uIYqXWr+Ns7QvhrUQQWxO57jpMHxjmmPq1zbLSSgcwYBSdD09JCek5x8UfHCTcF/KrdDe7Q44yzeRPu3gzXPNxVFPi2/t4I+LjSRm0quNxMfuSdY5lJfNyx10qds2jMXGbdrr81IC0YiU6+wWDA/UJwKg5mRdNjnLygpWn3QjVvzeCeF2DMjG2E3bufJ3i8xQEexOHQpR1k6sn8BMPHNQbOxl3u2jxRXSTj5huOvURyuD57jMHyBEArS9ae5i4fY1gcpHm34y/tgKSt2tQtadDKlxS8DCW38oxVT39xtll3wlYCiDn8p9djOCCP9M+oMOFFJsZz7/L0hlF/fjkR+IxoLHTy+3dlDqOAd7/ZxBHKfX0/mMvfvxgYSNPtLzghUCkvCJgAm8MrCsTqAZ9e8RLhpA0SA0/L3aGZ29+8o5AGvnuNR5PE0+XUNple0KbW1/z9Mi7xiQ5Bs0u9qK8C8cknkXpOn9pBFRyvUCBiUkKae+Y6js66wcKkqTcHtS+jVjsqb3gHOx9Dbexh0EZzZwaHpm9ZwxXyt3fmx/tcxgUpMppNv4zG4yjlVh/aWPdtlVqQeGtPDVuAR1SZWqLiUfG4GHgf1Ce0gAYeKLgZLq2YBEc3Z+YWOoyqf9USxlnzPKfSlbp1gMmsiFdZHef+p4bh8N/+Q/8AWoq5JvA+NxuV5J4YboTSSqUyLwyfl+RVej+NmOkBYMvL+Jg6xdxQjUZ5Fg4N6QCeLtTr+J0gJUykmT+vgGzEjOMSFYFyV7zlQ3GsMVIUaMGrpor5el4+Nw084SU8QJkVJT82H6hdrUoQWUFTLGb6fbwOcMUifzin3B/iDwwvE4LDUHv3B1hSwBhW5UA0lXUghiJzwmkKm4BlZntpOltoZOLEJ5Nq2h+zRhNczIveVDn36Ricya5wd/y5TlOohwibbgj8HwjEwST7qBv9oaSqNqKD/wA+TSjGnqKPmDq1jOrPDgp6ppp69YII5vdPQwWE5u1Qc97/AHeCBMO/MmXT7iGUBjAyq1xqG+0YeX9qhT8H7vDVbeX7TkNaxWT9mxB1tN8P5h8fKp3lQ7eRHnCkYnQbgU6WuD/lj4iVanC+3nDqXqwqfR32I1EYedxULo+b2g9oeLfeDzv791hgMVu7P0MO/LfT3ntFaivvrAY8vtvesDErp79vAwxgrlqIOFTKHu9cusJC++zZH3eOWQIkfct4GJRl5fi0BQ/UHj4998oLoc+LesAFBOXqO4WvHJw2OuWR6iRgYk9oHPYjeWVRA5WPuve/fCpAgTbxG4qAcmyhxy6Pfezz0J3jlS8vT0pnlHZAnJ9dbYh3sbwcSQCPHJm8DYjWHHy3bu1bLqILoY1Jsc21Nn+8Bp+5+lDN6SgfLn7y0gNxU573caeXSGx488cnKZPK7MO+CO45t+PAQ47TybW2Td2cYFi8qvs1TbWcXCFJMi8waplXeVi0avV/bHv8YKVKYpp3yc7jtaFw4jAZKT0oW2d+94fCJidZ6gjOpH2hPES6Zh/mIlPd7fiErwzeswQrW7KrkWgESUi1Cf2rGWuxrHJww90ntZcq75ayhSSMChYze2/uUYuHKxDv3irS7pO8B0tKoD92ZGeRnBaop/1Oxp3COe4Pvof9qofhK29aUOYvH6rpyq251GzsRvALjv5TaWTya3WD8wN/I70f/NnACu0fMfTbcUtIxzJSP3MGLUcZEXiaKyPpXunpd4HE4bAEuU2INWFjVxds4CkKCFXaTn0Pgazjn5ka0nk2op1EPwu93lk/jO2UYXAfueo1HTKJc95nx9Jb5wAvhsafZ88pVTqIUgjkNC74Xl3aavAScWHw6RiSdDqPf8xU6GHlv9z6xiB7j73yhx19+84OE9DbbrDW9+8w0PDKnkYBQrvkz1GhE4506Ok+YzvLpDNze/bVlAZ9ifTaHT2hZ69fDQ1lBQpWHI2/+TZ6RgUrFUV09RODwy4m4m2/Wh7xrGHGpX0zfoD7phhJXa/1EaVCmyIMOg0uDV5h71uaGA/YMnYFxr7B8YxJ4kjYv4eHhKsNjKVCop43S9MiBYw70uA8stQCzdY+IlSlB5yZvxnudIfFUUsf2n3IiBytqDUH7Ed8cRGFwFTlI/uSfdYOEUL192kb2yhHxE3E67EZir3DRylLVDSMvVpPm1o+IgqscZQof7aHpOsYOJxUoNsIfFlNm9WgcTGV7835eGKZ1xN49cxrtBWkUqzdDrn0Okc4fEC0q5+PnzZxiRLul+C0JCgxSzjOdjml+o3glM9LeM0vLYg2Mcp5tTXS/vrE6iVf9r/eKzqxYaF31HSbGDy4VDv77gtDKJ4ZzBrLWaTJxaTG0fB4s0fIqrPbp4pJoYw4wcp/6VZkfVcGCjicPgrBLLStII7iOis2zg/D/p08Na58hLYrsLKBm4q+8J4iMU5GcjlOjsZHSOaTetQW26yuXjAJEfNmfLF/ynpBFwfGVD3Mej1i6VJMxcPlYpvtOAcRIa/kR4d+kATA1roS/nXPOA1fcvBxGEpL5/MN38/vAGKWShJQsRrY7teG4qVAynIaU9ds4SoLlr7fQ1YmH4c3pTuya4Ip3QcaNCDL36UcPHIZVnXb/sD0i9PfSMVRdp90FJ6g39y7o5By+HTLaGKXETDbe5QZc+okfcoKVBlCWj9Pc3jsPm3v2Iu4eXv2ekGUmm5yt3CUY8RIBnNyMn8Bi0e5gKlrKe+e/fnEjMimcvtCkHm8IBBNuWl/febAR2XBGUXB2s1CL+cOzh5qSZSzGmrRj4RdKhn0I3axrE+dOQMw/gZT8IcEpnzB/c7hrwOKhbt7npioYxCaD2gwrfwctd5UgoohYqkyJyb1vSGTiF5Hxa8HndttxPW1s6woFwZYgZP01HtofDiN5PiSZEtfM/iHS+A1AM0m8lfK4fMOcoJw/F4iaYvxeZe1DHw+IAnASMLM2W27aw5LPYSB1TZ3+WShNniRnm4/1A7t4xMpI0qN97Z7xNXKKWUnxmB945CEgmpHfL3nmI5wkpGk06i8u13iko+Ing/EAPMNK4kWNaaxiAwpMjl0H8+cYTiDntVBfS71DULwF8KYLBfof5GkYkAA1/aX38ul4APfUSsekobicN/oVfqRNzLqBrDYXSOihptl3QFoSt01t3fbN2gK4qFHhrI/UR8qjZfcDrvCWxN45bN9pVj9coUHkkWb6h9V+ptAE8J9sDbQHK8NNm5TRxQh8xr9O0YkHGk1LvsevgWjp73zTWpEYMb70IMtpgjzMcwAWNK6+ZburACU4iJFwf5zno0VAUQxGWR0yNpwyuKdrD1GsqiGw4jrQ9dZTEnVDIPwjZOtR/Iu0F1DhqFZnmGYzF+sTU5Pj+cx8yT0jCpnYTz6XvP1MMrhjCcre/KOSabiXv2YJSBKov8AzaMK5OMvbw7CHTUZ+H2h7j3774NW9PfukMb+/d+6AbZt0t5xiEx9/Y6RiTJ5G/v3YwUkTt7yt6wcIKWsfdIdQY/VXvOnfOGPTUe6+BhKMWJpC/j55RhrkKuPMEaZayPI6fEjWjt3tmYICSi5s+ej5Kz3hJTM3euuj32hlhIJkbVoZZnRsTXgpRzoVnaWeZbzgzwYp4Zs/TeMPaA7P7ffds4jEHxon/8AScsyKTjBxeEUkhiU9k9O/s5aiJSUjsrEy2R+pFwRMPlAE1fKpVSDaWWREfF4YLGswod3kd84fC0mxC9+zY+rjKHIDtJfzDQ6b2Jh1cNKuHmkumdDmnmzobs8MsU0vlmlWWdTeGwODdqPlnbaARwH95Hyej5xhWjDkbEGlda6EvOAlVBLtemhr+YBSWSzFh5asSGjkKlJuFSIyKTL0tHKaG4sZ+B70kwgLAMuhSWMuvUZQyX5g06PoaGWekNjG9/uz7t4QxLg5/ffy1hwx0rL1bmBFRE+QUFsOh/bPpKCjjYOMkyYVax1lMXg/D5UDcke7Zh7iH4fFJSZ0PlGFYx6yLZP945wyFCuWe/8bwrCjAnJs/L7xLti5d5esix2eJpb9/jLxllAmFJImGp/Ba1I5R8NeYvetHE2zaGWkqNXb/V6S82hRGBKgat3T8Z+sSWkKTs/TyyLNWAsqcBuZNBuPbNpAWyVpOrM7SGmWuEQ7BJOt/zJ/vE8SeMhHKsNPIKsQehDyMYVrcSnf3+YxhQ2dwfsc9Z0gEyFNfdic4OFRCvUeUYVCfc+2vrFW91+8YXOj+X2/iMRSw766bxjSHT4bzpGHDOje/bvGIdn33HSGxS9+5+Yi3gJ2/mMScYPh3j2zRPC+dJfu1F+kYaMZHXJxKfSc4edHz1mPAnMMZxwlY1DS3Tp7dxA4mLuDgkW600LHOBzXtr7p9obDyGYUJYu67VaocQ5WQoAspp5sq/XZUSWcQvh7TT8xLXEIT8cBY7vtKrbZiHSkhJ3LaBWozfwh+Govk7hvdOsYsCvyPp7rVFJiJKIb6Znfu+Ui0V7Te9MwfzCkLUfIDTJiKWtSHBQumm22YNLQ6EZuD+LjxB3gp4iQyvWRcXB0rvC+GTy4ikCvK/L1ALZjd4nN6e8x4pOcMpZGHqd2vreMSVhQyfmnk9c29YCgfhLDczScZ/3T1mLiAVMuTNlkddNHGcctcstGyZ5QeHxQlHEnh3Go+WuokYkwUmeYP4V7nHw8HMQJGvcZHLPIwlWD1B92vrWMKuGMwRux3eqr0ijgvkRnfav3MKTyvkXEreZ76zgo5nDdqunqP5j4gPKbGg7psYS6QxyL+z4+USQUzrrr7H1Rzc4NmoW9bEUJnSAtYZxzM1D2uW+ZGmcODq02Oz5XBnKJqZKr5d9R1yjHwuKHE2P1U6PScj0gIWf9NNmsQbje7QyHw5kv47Fx6QX4u+os4vvUETlBwkqSbCofLShuynEYOI4SFM6vpV5QUu5+WfhpvTvghQ2JooWOhz1pGBYMwUvStwb/accThkkFJIL5g1DeVxtDKVzbgh/BnYVibYs/c9xY2jGkpULtl/BoZ1ESofCzHXwNXg/Fm305Z++sJUky+ozpv4d0c6QUEFlVHhv3MbQcKksagqb35Th0n2L56vDLCp0Lv8AyM76RzAH3Tb8RymnX3KueGMK2bv7sxlQwFIWpnyLfcfmOZAUghiT2g2l70m0YuCAyZ8zOLtiyyVe9YStLZsW693iNjCgGCTUHDeC6cBqMNM9uo3j4akstEuYOP50v0gYmwnI27+/wh2cHLL8jK+sMnBoSPMbO/3ggIHESKgdpIM6X06irQPi8IhVkgscWtq99qwpGAjDQWZ7e6TgnhNw+MKK+rMK3sel4KeN8pIBBe9RpXbaOcjKnNKORZDinm3mAR2t45VlAd98+lCGmJym0YCRxHGRGzNQifkRSElXDbiYcKv3AUfMiZBr3RIHGJi6T70yMmgLKEsQytR5EeIh+EvkPyqYhN22qxylYRhWeQyaob0MnGREKwH4qKhpKAfuqxNpmkJKkEmin8aZTd8s4UGUH7KqMf7tbHZ4PN7z8lCz/wB0INVDNuYZpVtPPeMKhlKvs1AznYwxxexk+TTE5aQ3MoDPtHLteYvvAUjE7aH+Njk2cPhcUp3jSfm6YKVgnzZXj0sYGEtvKtQerecHGq7MpyZUnmLaRJ8Qspp4baS+8fDUhlWxSII/FW7VsoDuAxIUDW47sxqLwGwqTQgeGxmMpbQ/w2DTDyIuGqGy7oZP+J4k+sm6iAkKDZVB89WsqaTaFGYcPKh/ynOf3hAIAUmU3I/gt4Q5SkEjKW8tJnRoxYS9CKl/V6ajDeGOFiAUFgPHKj/mMPEwlQtLy2MH+r/oi3Gb9ThOxWU/Mg/XUNczF4/VRiIOFWKv8vNjXrEuErCepGz+5UhQS6bg5+7i7NHw+IopyOm/kaWMK4ZL65mnQ9SJEAzg8HiJdFvJxQsXePhK5A4qPF9NqGHTWsuycxp7tAxnElXv3dNJiMKeVi4eQf3MQCyXufXJ7kX6w1FUuPHIhwPOcFC0zFFbfuTYhp0qYA+E82Y1rJ+rvahEYSBwzS8jbMbQoSXw1Ua2Y8/tKCOF2kHsGvccmj9QkEDZtfeovGD6bNTbTuhaHD/8h4TtmGaMBQotRfvMd+4gBWMNRMjLLulO4rHLJQobbEGYLwp6hnY+YNjLqNY7RQpOenn5NRlCMbhSTl4yr0v3QDwpeA0Pe7xxOBxWL8/COfDJ/wCnzNvQwWOEL+Umhyyz3EYeMNrjXorwqDKJoGNNbTBkSD5wn4KsK0UT8xy3FntJ4Qrivw1Ya9XpppeV4+JwjK5D+mVD4iMPGBUgzP40v03j5ZN+CDJ053TqIwq+UtIkdZVl3gPDYmG8xLxfx3EKStgFElC2kqdD9KwehByjBxKiUgHH4/OUEptQ6VFKFqNtCT8ST8yajcag80mNmMO6Sr9sterM/lA+LhVlYgbiTPQ+UFJfAD1Hdb7PAdLZ6H3JViWNXh+EoGWynTYg3goxYOIktOWz713nYxzsVaGQOje7axPi5VOIy82qHDw4WMQoxlRhXNmyIGcDF2g3N77xnV4wqSxS9C0+su6tYGAFAOdvuLfdoKcf9tP9P2fKCPhc3DVX5u7PI3EoHITrT36KEEZfVMfcDS1YkDjSeU1Ttsc+sYcE006eI/kEEEQQtgx8tRQ6iUhE3GdCDrTxkc6w6v8AETuBocsO9ICeKrlsNsj5ZDaCtXD4agoc5Zif3HPfRoUj/wDG4ShT0zkdRkFCEcf+l4mLgLVhwmauEfpV9SagKqGnNoSVWmC3fSxbfOEcThqDEMb0+1qGYEeMh3sTCVoG+4017owHkUKPX+3W+3WMC+ZB2vkd5iAQuWRs3pNxocoICwSlvxKztt3xz4lTNu8dKjZ7QONwlMLgeh1pPN2jl5+k2zan7d4CgWspLYS2n2P5gfqO4mK+Gh8zeFKD5vnsD394rDk+7s+711oqHHGVOY9WtSnQTjMYu0B7mbj6qQ0nEwWzmfGba2ME4Haxsq4/a7PlOAQ3D+oVI16H1tBY86Xd35gNT/tLkMzxiCXnV/MaPUWOkTSWuAZgi40zj9IqBoqr/j0Z4SOP+oUHlPzIVQh6zyo0BnBe+flOMCu2O7Tx+0dozHX/APk9R3wGS7XoxzHi/UxMjFVL0e4fLTWkcThrGEhwZ0Nt30rLOD8FGIDu/Fw27icJC8aZSDazH2b1gSmRI0MqOJU8GpEivu90hPC/qiFC2LtBpOF2yIPfCeJwxj5sKp2qlWrTxDLcw/DAAIYo9+55GKTy+xPqL3giSc0t7ZQ7SSGxJcWghI58pMc2P7h4tpDFGFSZKOYtPT7xhHiPB74phs+kJUmW5fpnmOgu8YiOZq2I9R83eIwrPWXt8rjrBOKeha5nukvX5WgppWo9PtHLNQAxIuRn7rKLte7aEGo8c84nNFhOW2mjytCFfEmw/dLXoZ5gQcM2GZpUM8yNKwDiUEGf9ryVthM7aw5USDfLRvmHWkoUkOhWc2Oo6iljHOcVnF2zuCPLOFMqufmNQJdJw7PmwrqP7oYJYzE/dPKGKjiFJ/wZvNv7qiMI4pdpOa6F7505oUTxMBOWbW0LMQdY4vD4qCzOF1pMbj8iChU64SlTg+oOT1o7xhTJL5MfSmdnDwFghYFW+k3bzFrRzS1/iOYhxT/Ka7e6QEkELnMX1HWo2tOCCLTDdzi0jI61j9MsWk9SMjYjT7QXRhNZS6+3BAs8YrGoEp+3azcuUYhhCnBpMuO1L/dKA5S2emfR31S2UYcOMA/6fxKcHAQ+RHZI82y61IgEp4fvu9ygYUeMh0PgIxM6bhP/AJvtVwGjEhsLzxa7+UcqUKflOZw+opqBGJsM5iuF69LkavYx+ky+HxOZNt0/3D5d94LSNweyeliJiMPET9peNpaZvBZOEHtAHu6GTH8wcCgCaA3vPozZFxDXFCMqjQtPqzQFBc2p49fNukMkjHZ/EA/KW6OziMPGJQ8nT2CdbJUc6GHd2NzIjpkDbKOVaCDSuUL4bCd7Pr1uetIBUEKKb6Up3UpWGU1HGKZDZZ5nMO0Ehw1bDcH3d4S1X65eGucYFBOBwxm7guCMj9Wjwn4YpIihlrmKmUxCmx7H01yzkCIxp45CwDyuR7uluohiop4ic79T5ZbQC6TmDf2C/fACkTPzJt+R6Gc4kpi+3vFXSsTZYZuZ8QH7dvDaJJvX3Q2L16wr4QeslGmnTMW0hlIbLCXbbufI1iRSoZnDi+06gy8ICgE93grYyzaCk4Z2zGmcu/QiMKeZNQJlts5HcUIjEnlzBn79moic/wBw9c3FTQnWMLyNNPPO8J4nDKHFRTw8DrpDKLP4i27Hq3SKET5VID9PGAFYf5+Zja2aWYxiAY1IDdZZWOwjktlf3bN4wqUy0ONfbeIgfqpezyn7tq0KSrCvg8QFJaaQFPUdZ97x8HjcNSDOfyqTYoVf9ujvSKqDzl/yBu4kc4SgrM5Xasp9W2MKCPiNOhPinQG2T5wygSK1pKuZSf8AbKcBSWKVZTG+nsQyuGacqqNYh/vteApm0sft6F7QXHM0xn/bZ79YxcKnjmx3aXUQD8QyZw9tNdNs45AVSvMe5+3j/DL7e6U8LCJDDqK9wnL8WENxF82Yof5bvggKUM5y9fxAAWoq/d5Hp7cQQrlJqGloR5KF+ggpCuV5jtCVDnpnCeKleNC6hz7vfOtYCuAFDjcLmTPtfUnrVN8UYlHAv/8AYlri7Ed47oxBYIDHVv4AL6PALKFQZU0Iy7UtmgKBwKGX33eVQXgNxE+Q1BH7q5gvnDoMsnoctH892jnDgM8/I+P4jkSJSM5yzHc/eIKVpwjTumLT7iMoGktND6HvgTG4q2ueX3eMOIqcSInPb3bKARxziTUcQSP+bMWN4KVYV6mYUN6eG8B+GlKfYqM8/OGwg7MKV0n2v/6h5AXHzeFcjcStAzIm59z/AAYKkrEp4VWzGfs1jEU4RdmIndrjUa5RyyWLglmVQ5VtakTTz1dr+tQYDjCU1GaenVvyI7RPWYObVY+eKJzaRzw9O0P9UoCkS992XSAvs3xIeR9MXdBHEf8AzZHX3N84C0oNWUz+mcyDrDqScX7qEjyURpOH4OJx8qrt6/LtODiJwmub5/cRgwqUidi7e/Zg4AqYd8jrmPR7xMFjqW9t5wApHM0lAyJFHy96Qx4Tka4T16e5Q44Vag+fhPobwyktcZB/ftxGPhsR4H3/AMt4K/h8pr9wazEBQBw+38J6yu0JU7alR889DZoGEzRNG3TxyZ6PHwuJ20dk98iPUd1IHwwMSfqopPvuMEfECV3SksoGrjO4b2e3zZ5GzilenfElqYT6ZMcuzrKO1MFjmf5YMbQCC928ZfYWpAdZGJh6fwc9IcrKs0i2dPOm04cKncbh/GelLwyGWgeIsMi4fKmcEgNdn8n/AJneA63SSzGYHdORcdIUtHEwLTOUwRt7nrBwcTmT0B/Nowr7Y+ZxucV8y+8YSsA/SQ/SH+GVJzrXW3s0jDhIGf0m491GkK4Z5iDJm9v5weKnk/qgCUH5eLh+Ti2Jw8uLvjCvhcyXTeU75MfW0Ph3tL7AvnBKAVEu6fN7VvQ6ViaSlQqFT+7/AMdSQBOS98+sjrC+H8rOl5kNbOUcnOg2diDbvmk9DaMKxzPMz64t6wf1uGAqaRbXF40mmdRE+Jw/huXnMdPCT9HhKuDxZfunr3EFwdGgHioBnafQtk56GARiQHuJbFspEKFusSbiaCflOV/9VRD4Sx+rMUB95sYc8NQzlOXvuvDp7Xt0+3a0HlLF50AOX2Np5CMHGmk0OmhEnFCOsJKeln0gBaOWgL0znvPrcQSOJ/lyy8JFsnh51kfffk8c3E/69dFDx747JIny5apZ5PPcGEgoP7TTbRnkoatBGDECHB/8qGkxGA1FHniH3aovUQ5BIYPp9L7f8docpCVDQkFqe/zAIdST8pkxy/ir5wfhEfDM2nLVtsu0C8TI9690zEl4yLEzTl9pU2hsQOUx3dOjsIwcd1BVFPRrH/kCKbGMSaO4sQdujS0rHaEvD7jPKRaGUGSrPs6+NCNNYLuUGugOkci0HQj394PDW5BkxAbRx5G9MoUkYShJBQo/SRiSNwHbPCLkxiZKeIPpDPcX3S42jApRkKXLZPoR5R8ThuVdoMMj5+zSBi4ZHETpVJyzH86Q/wAMOPm8C4vrcOMoJSwzSZENvaT5PvAHET8NQ1Y/w4NaG7QEFDg3p4++YCcchd/G4O/q6DaOZEqKI1mH69YdBUHYs9Dnvm0pPeFJ43CcZi3T9ppppGIIZWnzat59IxpRjDTfxG/j3RNASoe7VcV7xGHAQxrVn80nzfOEvhKuk2vt4wQwby6eWkOlQ/t+X39JBaQgYpEiRFDfwhSOIS5mBntr9hHxOGyeJRR7I4mqhZTVqD4w3EI2vvP+D1ghDjFefKZtWxmN5ZQFDi8wkoEFj3e/COZqdDSvvX5Y+P8A0/DB4nD7aAr/ABEH6f3h6SlDH+nWE2Jt9U7BjHOQQoOCDOWou0tcnjnViR3j/VY07oOAcpzvru/pCkfEP9rUylWVDvGFXEKFeEomArh0YBnGR010lCinGnNL+wdLzYwpl4SQ6QoS3B+VRy6QpPFbEKSrmx8RoBKE8ThHEH+U2yI91h1ZCldN38QreBqbok/u/fAanv0bq8H5gP8AiQ8tp7SjlL7hmBzsfxrHwuKyCbl2fInyN94OGhoQX99q+sD4kp1+V/srz3go4jOKWfMd04mAGmJeXqNQYLkf6qbja4pDKYhNFGamO1czm5vBfAFtLJ83yeWj6QUvyk5huvuyYmQqzPeza5PnBIYCoIy9/Yjlj9JXOm1Je+45PAd1MKFjTLxrWUOU7OPLUeG0SJ2sbkNJjr9Qf5jBBe0/efg04MmPV3aWlARAooNRRqN4GFKkqFmPSfmXkXjGn4cqpUoBTdzdMxAUUqRxUjAsfKsDOoNah4IU4Vk3iH1Y2ObtAXw0qBuPDlN0qHVJaOZAIJr4PnOT7nOHT3CbfU2YeokWJakEjGxqGPf985PSE8fgFTz1Eqhj1G1omMLULS2IqKQlIVzW6/ejaGUFHGQTd69e8TGsqQooUxTMg/SZPnKv8wEcRyBLFhdvw2UDGQbPfxze/wC6D8Mp6+o28WgoUcJoLDT/AMzgh5jKUs9tqFxSPpUMvFsw9uojElZq4nez9zdAYGJFPc8wZpPfBxuPduljlHKHSk3kU6z32UlpuIHxBISzYHPu6CApCp3TL+Mx9oGMsUn2CMtcqwwSMJtXwsZB/wDULRiQF5jFOlhpYgxiRw1oU00sw6enSGIUlSbszaK01+W8cqv01WMiDkP22zDQrhrKilUwazv95bwpLHC/t8xORyIBrKuAXE23zE4Tx/6dT4u2Goqy/wC1QqRAH9QkcRanYGgOX+q/UGClICchlo9dRtqRHxW7Q/1Gktx3iFIZ1gHCVTnZ9DfOtYLJZYJStLCR2OtxnlBSQ3W34rOc4qlShLv9HpUQ/E4SUgzcX/cCKKE82aBpR+/33RzkOf5n9x3M4h0qpLlrWnqIBxfFQWOpH38jJowrlqLfgmvdlDpNczTTpJutjFO0L51Tsxk+TAzgulwq1pjvB+wMxKCWUkHPmFTXTVpXZoCkr5Tasjp9oTxAQvhmqfenfeccg/y/b7QTMqFQPv5OIIwSzH2uBUjVxN4xJBSQrWWmKzayadDAUgOlh0t0pJvKMK2GVu/Q0fvo8YCCF/uvr1Fcz0MPhf0IM3v6jWFcPCeHPlI8Rs9YGLiJKapasqjWdq+UYJFB7JqPvP0a8YwtJzS9QfdbTEYUuDTNJ/NTrSCOKBjEwcx7J8ReCQxArMs2o9flJBgKTxWP0uPTv2O0dutXqeo7V557wcSwEm2GQd2OzyLXncw6MJzzBo/7wLhnYwSUtPmwefl0gKxdajPqdL7zgFPEs8uYNcfioaOVVqG32/4msjDFWrbTcetiJxi4fdTuzBo1iXFIwLVPf3KWrUMo/wATCrcVyLeXWEnG5vOm2bjoesKTiQ5EvpeMBD61H5ZuldILEBKg4bxkdKij2gnHz0a3drP28HG4FKO2Y/chpj7gx2ZGrSa5I/aoORkRGEuJ1l4j3nH1HuL7QnBUSL3H3p3BrxhVhZU0vy9Lg6X3hxhWGpZvcpSOhjEeGlunn3Cba1EcpTmKODtQ6iogkM7TGH19ylChgwm075a6ZjaGKq9lQ8j5+s4MwcNXkW+zsXjkZx1/zZj2IZasChesxL7Zx8JasTiUza40aGxA9J7FpEu1K1EH+p4M+MCCtKR20zE0/Vn9SYA4nBUdxhUxo+xl0EYFDiDJ5V8NNmaCOIVLFjkdfWPh4SAJOD8tuvrOhiQdP+V/R2NRlKJHlIt6HMZSIbWMBnq3jop67zgsBqGnkeub6XBgcs9PtbTKUBQbrbPp82kxGI8N1A/KPJ865crXh0oY3z/uA8xprEnb9vpaddtYk7D7UORtlSJYgAZta7+fR8o5vmvnp3Hv2ifkxbUX1asMC9iHM/pPUTGxnaDw1iTS1f8APcZXgpIwT5DZX7Z+6wCZ4GmK4aeVoL8WYnoRY/8AVQzJyjhLS70VITSZjSXfWCl6lwCPm0yN31vBHwlDOb9ADl6SjE8jUM3XV9GfWMYAKhbPV6dZWNcUYxw2XcDrbLKCcBBrTv0IYn1pD/Cw62zcj1GWkYFpD6zGtNnyvJ4F0GTYn92b6hrGAjlqyr7ePhAdIVkfSVFT2eYrBYOk63++XUGsAthn/Ps1DzcRiCA6Z4kSpWnukqxiAmm8re/OxEdvnS+lPC7jcCkI4uFSVGpz7qGlpz64sZCjnfulLyoZwx4q5bn35tMQy1OB8xr/AHOK5b1gUV+6U7Od7vpBQniaifZNd8x0uIro4LbHcWO7xhWkKX46gbi0coZH0n0+2tJQFTLESeWh9PsYx8I4FjtIUWL5Mc7ZzBg4wBhoRKmh69xqIKFcNS2ufMHIjxnIwErVheQxfMDTR8wals4dCsXDdttDcZi0kCMKuESobT3zPjDhJQPqEvD2x0IgnGFe/wAyPezGGD4TOldWNFPlaG4jpOx8xNvSCMbCdRTrcP3d0LTxCMQ/aC/2NNNYSwUg1lLqnXX0hPNzSc732fu6QClVfT1hClFlZ5/ah0eGLY0hna1Ru38wVJ4gmJa/tPdLSGTVLs4qHpP7uHbKOcFjeoyL3BbPKso5lOgnCb7HyfMKhsQFPY/MHnnn/wCjVjQvqTnA4nDXN56HUX1zAGkYjMn5aBjNn0Lts0Y5K/Pvo2sBsPdTrUDWxrKMTJINvff4RyI5SLTldjQgzHo8K+HUilGvSaVAzIaMKghKk+5f7m1llGAsdvMeH4eOyhPETlf2Wl4QMIS6fmTM93t5xiWHo+erihb2YSrhsrhqZ01rKT+N6ZQcZY9pJSaC5H/ZNu6GJITnV1Ccsi7lu6EqBdL2y0FtQIxp5kqE3u2ft7GEq4axiEsIuPKU5dROMSL1yfUZHwPWMPEP9rNXJukxecPw1BztPpT/ANDWF4mO328Df15Fl7TtZ9Q8joxgO4Ov3H5DZQkhWE2nLP8AIhiSX9++gglClHFZ/P7/AJhY4iWn2mZt2yq93gL+I+mW/utIJzPM3Ze8vUTEOUllTkJe2tcR2b5303kofZowFM5zOfXP0OUNhDjL2xS/+nRjBTxCABYuP4cXHLAUhbpuC3crerwFcNLHXlP2Lza82ygzn3Fszb+7LCcocuFUxCacxOCOPzJzr7zZQtrDoSlJum2qWPynwJTnB4iFAS5kiYLZg0JGUngnFilMXGo+prtNnzgKSHQa3TtpYwFgVFD5TgL4JmKhWmYOXrcCArFhU1lOPvyzTeWkELONFiS7ewx1G0P2EvlfsmlNdZxyjEli+nsTBzaOVRxTu9JyzzGukO8xax10B8C4tGIcMuzMTa1b/SoXaCFJCZ/KW5v+ryPeGhn5vHuvboXrH6XDUU15yB4HuaVXEMU4m7Tz7tAe7/NA4yEmj8uhm0BSQ4+lVjRjlipk/WMSE9oUqPWlW2yhQUW61l3PJrPI1gzxgyNPwxDz06QSns7dZn3JzDpckF2/5AjLJs6QU4SJP02oQ0pGWkYFyNC71Gb/AE+UFK1kvQ26jwOVbQCTTP0OWkMp8NWNPtnl0MYcAvS49z8YdKVJfRp5GCQq8wXef/oGudocLUmc8TqBsZ2f/tlAWhWMHta5K/u+rMQ4Sp9vsxH3kYDgYaKbtDca06RzKJelR3WYzznAbCzuccuoOtMqPC0qQCQZiVu7Vnv2VSjGlQD21v3gzHUNWGcYTm8tH2byN4xTnVtPGbdCNYxIJrMio0bLf1hK+DxmVqQNthbQtYwEcUBjLNlDW2/2giUzX3+erCHGEpZi6ZS9WZ9nzhmmDSwNmP8AEBQWAQaSbp5jWMCmnsRZ3++sdoftVp9J6tfzjmSlTjtP3c1+ukfE4RLfSbGoPc+lHo8c6eYUqJs7F828mvA5eyZ7GR8ZyttBar0uDrSRzy2MAlXJ9MsSfuH5euJ5wVcFW4bcHwn33himYk9R3+O3WOUybw103sc0xVs0qpqMmh1HEK4hOuYvvsFQpg6aSDgi0rZbiVYJc17xkXq9nlQSnAWnithIoaZVnpCTjxSZQf010k8DHwl4aGU05K832j9FQzCVk8ydFWI10yjCstoCFO3qO/doOBQnVOeo82OotBUEmR7vuL2MiI/UDA3Dnx8FCstowLZqBUn2OZ82ghHEpVOR/NNxrHIx6Ze52M4KQkp4hsG99L27UD4+PD1T0fSU4K8S0vNSScSTY/uTV+pj/D4SkPIlKSo9Wrr/AOYxIDii0X3Hju20HHwzuRy/5f7r6tBwymZWmH8RLetYc0P0FtPsMxN6PDpStSkyPSj/AFcr790OBhVKRs2R/wBs8wYJQSZO2Y1lYul9gqMJCyJMdPcrteAQwOTNv95FqyEA4War0yI306iRaDhYLZ3a7TdptJu43hyp2FLtcOKHL9wyg/DVgVqSxPofxHw1pNWf8+TyOcYsIUL/AH/tLUNFPaC5lXDMs2mgcPUNhNodhhLjm9DoYbFyns54h8v/AJMP8pop6Gh/j9ziAy5ntJvPLLOMSQxuZexf+Ymo8pmntDDqPUTTrHMzpLtQ7ijiobvtHw+LwHxp7XZUk54xMNuRMQpX9LxEcfgmaQpeHiDNChQqGaa5CPh8QENysfz7cNGB2NpSP212jFgJzErWBub70h08q3pRzk37u6KUac5tKtetXZJjFw1nXPcWJfJsQa7w/wAVwc54h9xaihSCUs5DKp4ilb+sUIN0z9t5RRQB/ieX4qzQcKitJDtN/dKRzEy+pLljKbdAroYlzoNQ7tkZ9QbWMS4Dg0LeG/gWGsEYsCSJJV5ahpEdRBSkz956jpAJOBYLFL0NCCbpMFHEPc+dRZ0mesKTw0j4gu1dt8ukc5S9HaU/Q9kikwbw+F3oxahkxe09CJWgOgYS+fKciMs2zvEuUG2IN3+RzaP1FApJZVv49tBwHiIVTFjKkA6pNUKLbGYjCpD4aEFwQZ9wNM3arQBxMJGuYNc9+8VjGlP6Z+lpPpcexWOSuRLvo+rCe2UIWl+bMVl9pDSFI4hE35jJ/wC7fUVhSApKwR5ZA6eMYfhqyJo4sf7pOD3wO11JHnI6ioKY7BSrzzB1/MJIOBYUJkCmRUJmotKA5Y6ecrixuIH6rcROtbS6RzEK8H9Kc06ubwMJwEtoD9i8vwYPCXMWMjOgfNL+M7xiYPJ5+Mr+HfDhTbN2hfapiRHgGyfYyGhIg4mSqYkln/I8RtA5GebknrSuu4rGAiRpJ608XD3vaJoJlb7HR336QFIGmRpLEKHKl3tCkYmkSg6Vr7ygoXyqKQzuGNJ+HWFfqkhv8ya30NQZ1gpSqYV/qSR3TvCQou0suh0NnorSArAH6B9H79CHyg4AACyvzlm/SP1EidR2evX1cQ3xixlhkTO082l/ESUcJmFM+HVrYri02gc2Pf3OzPYw5RhH4zoXuNdoxIXhOWIKCumvfeAyOycnf8+Bk9RGMthHaeo12nWMfxpK/wAwH2m96PkIS3EfDrMDzpY5axhWrED06eo1hbPrXv32q8JxLqGIVPELH92Rk8nqYWOHhq5RmLsc8894VyE+Y3E5u3WJzSaD3o3qIkk6SmOnmMpikSF2OQOt5wD2QWByD56dLwtL4/f28NobDzUO+gNy3WYjlIBIkMlbGx0N9ow8YFxTp71t9MH4TVcCxB1tkQbzuYPxOGFAydpaf2vZVJzjEDy9w0Js1A+fWMGBnmgtXSVFais4wqNbn5X+4M9UwR8QZ2nYsDfxF05nhKXV50dt6YTItadIwJUpa6Nn7vs4go4o/tmFeIuMrxgWA1HMjK3gzwcRKWqGdmuNP290Y0TnzgvIn5p2z2nASeGBr70toY5WseXtJyU90vyqdikxPilSSe6xfauhZjBvdmnqNfsYBS5aoNdw/lvlGIdqoq2ol+QWlWOyQdn3fN6g33EYVyyBkOj5QhSJLCucMDykbWLPvHwVqwKHZnK8trPI9YVw+InmEiXY9/SRvq8YMLvKuvulNoZmIHzC3reeW0TdJatxqG7SRSJ4sO1CKz8SOt4fF2r+6EGcxMXir6Ahv4ochOMRQoG4FO73IyMDFwcTTCqFx/xObuC85QFBCkn09OlCHaUDCAWN7/fI7PnGFKvhm06aHSvQAw8yzhTUpUatOBUunulUZyn0a0KNS05uZd7zEn6wV8MBKgagNsQPDKWcZa1AO2VWnKUNxFlxSZw7C6X7oHwya5tkfVu60c/NpZslfb5XDQyHcWUPagZVnDKSSDlIf3I621MOkdcxmdaePQ8LiMCzC87A+DGHC8M6YiFdPcpZiAFK+Ikjrk4GsnuIVj5sQYppiSRMeZbSUDj8D4h4ILcRBP8Ahv8ANnhNJ0lDBmtKf/z5dDAYXkuw+WY8Da4jEEsvsqAn1H2ehgBYSFZgyL3Tk+R2hKws47Zat9j3wXOH6gJF8w+Y6GcfF4fEClDtAyH93oYCwA4PMPNukzlUdqAvDVqZ7XnWvKxgSDzE+WfaD2nPSco5kYVDvao0OhgqSyp1aYyfRwKZQOGsHEOyDdjaxLcp/EMtIcZ2tfptKzxjTUWAeR9zFRNoYYp9T3eebBpwrCthYVTOhawPm4uRAEsSdaW/g2acE8TCFzdQtm6fmGotK8C+YFtQ1j5BMpQk4mQZuVeI1+04A4YOIyUv5ibA+hEcoUxF6ab+YVKOQpxPiTocuusngfEKOEPmw8xI0+xhR/peNi4yH/RWwHEzSDYqHYBlZ4Vwl4uFxEkhaFCh8xOuTwlXCVizS5fdJrTmInnBxhuJfWVRv5iRjBxJMzKTTL+DlKHxYwKh5ix3l1kQXlCVcJQWk9mYfVKhTUa9IBKBq2nlno8Sk1ZWN9MltqWlATTAZkCxF/qFKPaGXzZKTYjxD52oXaHHZN9bHTUUY/tgACYsfEaFuhaAVKlpfMaHI7awVDEZzTnqMumcHl5a8sy1H96vChziW/u4I/bqIdSiRYjwy69axWYl/IMOUUrzdC+rEAvWsFJ4fK539ihjElWGc0GXh/FSYdgrM3Iz9/TvGE5N0tWjGk9ITN0vn9+9pTcXMPin6WJHTuecYv0jNj7/ABWDhQOknDfbxAEfECpGTTtPochXecCTAsFZbgeA/EYZKF8XreknmP8ATBGDDkfP3UEPQwFpViTi6j0ca1GHWOdYSoUl0LinlOARiB/2kX1q7dIT8XEVH5x5n/sR8rHODcpmBkbjO1R0gVCvc3uxruBBCkYkqBSpBGJKgdPDxg/CUoYf/wBZPy1adg5bRUMZYnnrkW08ofh8R0Km7sUNfpToIw8UsqoUEltRKXWsYUcQt2gRNvwCyk6BQpD8Wb9kg94Ppo4q0Pi5d57dfMaxh51lNCTzSpvkRO2kMrnY7KGvo8SSwM3yOvXuByjArhOz4TpdOrdpvvB+G5ChMEO2o9HaGUjBi+aYD0fSrFxTQPAC70Ocs9GndowDElc2IMjv1bMbQ2OQzq2+TTBTfIwZAs4dJnn1zGaHvDFwD2gqovXZ9xO0FfDWrDIvX3ltsIISALtimPxX20fDPMFW38inMZThjWk6VqcvJxYx8Pin+1fodW7jOAXcXt1/7bjaA/8Au8Q+syN4CnLSyJ0Ouo0lWOH/AFyUh+xxFAVI7JPil9EvSH4fKoTIo+30rqe9qRKS5soylVmvO0Hh8RnS4Bq4yOY8ZygpnhNLgd1LTgKSSpBZVZi7HpPyNYSknoT2W8WsdJ2h0JYfOnFXptfzjBJXAX/hkCl8KhmDbI8rygqKDhz9/gwVcNeLNA9UmdjTLOMC8QWN+h03yrSOSknH85+bTic0q3kRX7/UJxLiDNKm/wBqtNcoGNDtJxVs9SKZ0qDDCX7iJbzz8KQpzzs6SmXTUSP8wUrU4Ven4fPLuj9JXaftdnq9JS6dYUlQSTtPoaKF4YmQDEU7tKv35xykP3ZdofU8jYyNYKFp63l4KjD8NRZ5PQdcqaiccqVJc28RVtQ0TJKWBvMa5ET8IUplZyvv+4TmM4ACCUqvd6hiZTkRDK76Eff0eJ86cjX35W5TGJKOUgYgJyoZd8H5X1o/o8jlHweIKFgp70bwkY+Hhe6b920/Yj//ADIvmm3cDq9DOHwzubPV/OkcwIG0jqk+I0lCeKrkWEMpxUCh3YnCbhOE0giS2y9zSfvtDJSUKGdjSRyJasmM4wrdNxNg4kU7U84BHKRQ0rXTXvEobiF2u/d0tnaRAgYFcqrESY+BBuRlYx+ma2fw2NR5iFDjHrcdc87OJs8S4inDz8qSLvA5saCzlvEjWh1acBfDGE6cwOe70IMJUeUuymTJ9jR+ycsQjCqoHKqtLEWz6mE8mMAifqMrhW+JpQ/wzhadinUZZ5QSD3Sa/wCR1FGjCR/aoS/kGZG6hGHiB8jt6s8jWBhoCQXFj8pND9pw5TLNqg166ZwocNT7yPjnvXaPhr5yGr5/cV3gYeU5V9sejRzZ2FNff3jlGhf3n0nKsL4S+VKgQpCg46bW66wU/CxVY8IP+ZZXFJGFcIhaeInmSnCX3SDXb5qRh4vDr8wSa9Q4myq3aOXjcPgE9n4rsp8iKS+8D4uFXDVL4iDjQ/8A1JtarQmXMmYUOzao910jEPKgNiaMNWlHK2NJfBmLo3RUPaVnjttLsvXoaysZs8Pw0k8s9Qdu8EO1YGPh0VhVnnPp5MIHFR2ZgsXDHPa/Q2hl86FNKbgjX6hQ6AQFcMFxKb1yIv5kSrHZTK7y3n9M5H7R2gQZYDZ6p6EO+jiHLpSr5aeeVFNfDBMxOfof57y0MkKLFx7y9ygNy/tPiMw1RmIfho5hev8AAOVG3hmIWFNvkf5qNYAVzKftNW0x0cESlMRNOHWxt0tK3fDCRHzNlmMmuPOBiWXD9xq2dpG3MIOFYUMq4el06WgowBncM7EPYe5Syjs5TM2OrzYynB5sIyL4fulpHJowqnqfN8nkYUFnD/b7k0mMwRWGfmp2W/1P7rCXwqw0VkMujwCRLFMUwnRXflDoxKYOkKkwrhOeGs56zgjiIGLh0LDs+3EAoV+1qHZt/uKxjSe0J5E3lYmbihIlBBThNCXk/XMd0DiYQdf/AENpbnQR8NSWd2VL24zvQyjBxtQCBil55EVpDYQpKZhRpv43DTnSPiJwuGM5MrXfugOlPWxuH9uOsMyQKJ/8nSm02tAGEKBpsfq8i2kD4cwW2/bPUfMI5ktiZ6Bj9T+8maHqkyOhGee+RjEkMFdoC71cZ5GCki/n9vC8SbAa2n6Cux2ibqI+Wh9mbN4wPpVRd5/Vsb+UKBBLyL0cekgxyjAz6e8jcd0YwcH1ACf9zd7tLuidTN2vsZ5tNpjOAkEiciWr1sctY7ONCw4ambN7nvDLdHVi3rmk/tECZVqLH0D0gMpKFClsX2JFLR8P+oH6nD7BZlJsplZE2pMQQAQ17ka2L1cUMZ5WO5aRY7HxhXCUp0KEn+U23T6FxaEr+F+mTVE2fO2cdhIfLx1TncTpWCpKuehw2In73lcQCFAHUevjmOkJcNKdwodPbGsodc0khyn3Y5+sH4a1soXwh/du6AFlUiKzH8K8LyiXLw1SM6GxD1yq9MoVzyuMyaO1lgyLVrMRIc4vKzSNuhygj50vLybP8bQRxeh/b9hfo8OlfLufebioMJ4iSdbkHz1EBPFcOBzC+e7d4EY8bYiDZiKztbpIQeEpg3ZKn3E6uJD+TGA8wrJWL/MMxneHdOLKzkVG+VDpGFgUq8D5zE4Ueow21bLShaU4ZapPNyG39DSsYFYSofNXxr09IVzCVQJKnKmVn3jmUcD82THteGYkTBUhYXkXE7hxYie84fjAKf5XpsblJxBriE8UJdPzTLZOoX5TM3hih0ihAo1j9SSN5bQOUBOemoq7ZdXjE+5Hr7ppEgcVCRMHL330gKStiLKmQ9QauJeAOcHGydDkdcjNrM9xBQmaxY6efvKCgpKFAya9wxElScfkQCFlnkFESuz5Go0OkOrEZTGWo9cwxghE0F8PqkZN9JcKDgThzyYZEGcvUCxqO+MXBWrDXlVQerF4+HxwXspvHKR6yhONZKKSoDrkHboxippI32f6qNnuZtixNn7l175QHKhmFOU6K92rAKJFU7M+vt70gUY6iYy1cTnk8YZjE7KLtpMPp5teGUQpzvPL1FKGJoSQq4set/WV5syBxHqJH873DGsfrIxJPW02yIrrH6bLCaAiwz8NukYVcheSst/I57wBhxjof8wIo9DkWN4BVwxqU0INCxzvkYQ4rfDQ5t59YqwabF0/cR8RCnaozt4hmOe8W3Mkjfv75xi5dfvKqfFLxhoneQIuDT8Mc4ZSXZ3Bm4zH1ekOBw0K/wBIIzAuPLSJF3+Z+6Y7i+UFPEP5GYPp9TxgCnah+oaZlpESJh2BcVGnjsapu4gpfVOKXTvjEJ6Xb8PcTvBqUy5aU+k30vmHgHhuJNz5H0Pn9MKCkBzNxMH2H8Gh0EJF05K+ym6zESX1xOz+NsqEi8NxppMquP4yyH+YRhZ0/u1r0fI8pgNLqHzBTrnAS7itqP6Hu2jEVlKhWdctHqxzhOEuROfK+bbXFxMQSg1DsC+/cfMx+5OflLKbQkFRKqFJOeXtpxjKWdvtO0+wXvWGQsvRqFO+W9M4rythOmXR5yleJoJMqX++WbQStJSlQkKls9WBGrPGEqMtcUj5gWNW2hk8r0dXseVsoCVqTo/v31hSHCxZPi2Zz2fSMHw1BpV7txaGAKG0cH+RNtZQFOUqORarTyy6sLx+rahl/DQnicNXdMMfK7g6sTBZgRRWr3ezs28YeIeZO/vOW+QjCFhj8v8APl9o/U0y9saaQ4WWUKM9PXPvmmBhI+G47jJtN6ym8TpNJn4K1rhNDnOFYBid393avsxyCZsOybjTY5NBx4kqT5ai490eAlZAlyyb/dlYwBiI8peWu4jmBLWPp9Kq0plAwqI/cB3E20P+XOADzghwTT+ydCC7PWQq8XEpYgWO/cmEqSnCrd0nMaG/hGEgks1JjLms1n2mILSLzCkyVuKbkRzcIpWGdSfN9JP/AJokHDSM210/utiD3jAv08O728HhsFNNL3vQ0hl8v0m/XoR00jFjxp+kTa/RtJXhvhhYCuu7Z5g9oPlBDagU8bGxu4bKFcNcgaK8v2nJriOy6M3w4fOfu0EpWXemRz+mvfasYVg5FzLodc6u0AKVicUNej2MpPm0zBKH83Go09NYOPsvNxTXcT6VgkJ+IUzYV20IoDQtEgQsD5q677dIK0hkqqGBS/pmM5RiLHQSCq2sq0r0gcrIsbp95GlXrCWd+7+W/Mc0tj619jOCMSEpEsSqnKVGeVi7PACxi/emY/uzGqSC0JdDMPl9se8eMsaHChNn05vRwd4TiSZhiKypsWkdNIGByH+ZwzemYhKkDCT8z8r65ZHY5iAhZGMyrLSeXWRgqCBiBfUPU+YI6xgc4mpY0vf7nKCT0tKz5GxtPWMSF1tvn69RaCVAqaYGRG+mRrDCfzBz1Ibacrh2mYmAHyz00f1jAQNC/uWmcdsd9vlf+0yfLaE8QA4hcz7/AGR4QFJG7TDVpUYX9DEyGyBtkr+0u2mGDw+Lw2kzn3OZmL7tBwpS4l9mpk39w1i48iNRk9Gz6Ri4asUuySKNaMYSy8s8/e2r4OOkg6h7SL+uYzeBg50m5v8AbrDcTgzGVZevpSJJ6EfwQ/8AyjEVj1s7jfCpjfaMFQ8iajTOXWAzbS8BpZryg/ETOoUn3KR2rSGSwB7M5f2kW/mrRMOQBJ5lhQjNuyQ1IdSSFUNQ7X1Iqb1j9FWJzzIpuxpTT6YZQ/T4lP2LacjLVqTeMOMyMmt0NmlHbKS7KSxr6uPCYMoPBIcKoqykqEu4/iCOISnWvu1aPUiOTjAsHa5Bnb8vBxi1LdNP7aisOgunr0fwDjeH+I7VSZlvOQ75Q6V/F1Sx966QH993ynvGcFQTu48z4/mMSFModSP/AFLCc+sNxQRYrs+bjwuJxU8RLV7TZTy+U5VsYV8NWEkMoK0kfCf+4QEq4gVPL1uR5bQ79mo+nSdRleArtbdk5HTpWDhJwH5SJjQZjbSOQlLpo/uuWcBaUXpUzvPfVxAHCSTnwzbXTUVAzaB/+Rws+UELT11ytrDfBb9wl5TbvsYUOHx+Ji+Ts4Um2LMa5N9MAcZKpdpO1G6ONrwApMpAEB5edM8tjGHEpCqpU0tiPsbZR8Di3DoXUKTm12oq4vnA4qEvOY9cs6G+UDlBnzJIY9UnzExGJKMF+XMV2OWxeAmVKiuvs+kcrt2tNfHKkBXE4pUmVHfq2/e4ygEYVEiwmFfUN6tq1oUkgKr3VBGjHpDpkrQeXdPYQxfGLTrpofKMSV4F9pALz/zeDZFjCSsFBe58lU6GtIbEym5SDl66aJNI/UcjMAjf0bMWePhK4nIs8pVSfym3X8QnER54dX6lxqBcQJuKG0sjtassoxjjF1TwkPPPvy2NokSUmo1r00N4lO/ZEn/NRDFJDfTUdPciI5ycCtMTGvZt0gUYzT7OfeJu8EEpStH50YhnAOgekOQEtdqj9reT6WEchlpr+1WUqfeJuclAU3/Ot4biEgGhGlves5w3xeJKYNx7Y77iCklyN/58xAKOOo4TNL29zB3hK/iE0G/5fuVpGMc3XqC3qKxzo7Qd0nCoayvfzqYwHifEbs4hbe9j5QMKUOPlVb+39pysZQP0glaWcCu48RkQ0IUlktVPiCMnFrQFTcfVllr5jaEqkkp/0keO9YLhLAs7gp967ZwQliWmDPu8w08o5p3kPddbiOVOF9ag08m0jDhaZDkeZTmO9ocJn+yh936GMB4bLspA9BQzvLZ4IWk4RJUiCjPEG7P85wMBBSrNVD0k+l3esEcnDVmmT5YrSNDcPOAFkBvdahxTUZGMKuNz2dw/vu2eGVzouCHZvES3bxjGJMZiYIf5ho9biA4RvJ39N+sOlXLe7p9neUFDMQe12sRq79cqFoGHm9PfeHIMYZhX9ukxsxbuyg8NYVkDdJ82s3WKlwbv623gMGfuJ/6nOAniGdNHtlM5b6Qypnhqx8JQFrpByabftEEfBK+EaVLT0mLN4whZ5F/Uiisn1AvuLxhWt0tIg1yJH1Ch3gmrGtvxnkaQP01BQq182s99W1jCEkhQcJMp5J0cyEcqgk6e+VV9ZwCO/UZeO9II4nfToSKGh74L/LcZeeIfVs8jGIMfD2Ne8Qrh8RDpd0rehFs82OsXJGdWpXNOtekMpKdCadR/uOXSMKkDcVE/TWXSOReFSflVQt32l3R2ptefvvbKjR2kk5O89tnp2rh4lyFpiRpedvQB4Z573t6d8YhgKvDo3fpPIwQW2+2ShMycGMK1MLK/ihk42lAK+JzXLM+zdP5jCs4kqHIoUcZ6qT31rHOvBw9A5bTLJu54HwkjiIIqtIXP7aWdso//ACv6L9HiKD8T+n//AFKUL8P6FE9DARxOExSWcuDIzG9JH0eGKQFDskJnplMU6CDKU5iqfx5gvnCuEtJwGlCOn7b6dI/Rn+1VWuH0NMjpBSoFw+FXmPd4CFlnlSh2oz2tKPiIOJKa4TPf6tD0M4StHaFX75jxBTKzRiw0qPsfTLmF4aaSBYz6ihjmcplfOR7/AMRj4aiJUauXZ/Lcu0Yk4j5ZimcpiT2gEBQJtUB7ZToIVw+J2n5WEi86G72ybWMHESQ7czcsqHpfJ4ARehI8NvRtI4PEMi5BUAcn3t1iXwl7gKcavUekqweDxv6bh4FzSeHyKQrQhmNfAQF/0iviAUHEXzbHzFD2s4SP63gcThg9lYdSTsocujeEBfDdYlfx0v5GkYnJkDhOXrlmmtIocRluRTR/Pugunk26soHv0m0ngcyg/KZyYjwapgg8TFw10eqxpbEJuxqP3CMAXs/ntOMKiFUaTjurN57qDOIZSEBTSN/2zuZd4IMYVgOHmMjfUZjKdoIVhar+ILZ5n5kmcEBQO9mp0vmEwQQ89292O8SYPPe3c0la7QMlSU9QZp6biTuYGFzIguXG+ni0haDjBDV/dn410mIKuGjEnyunEKhs2ptFMOoAl+ROfzZ0gLwOSO0PXQ374wlbEUB01u3+4NeF8M8PDxAWUSnlVlM0+bCZgUMFTjmuJMfK5cZSyhhxDgJkHcB7JOWQP0xiqsGYEitNjhzsd4dKcKTlKumXusVxJMxmHy8iPmpALu9qz9QoXE6SnBOA2mmmhb7RNPNXluNNYC0Ogv2RdjlnlmHvAPEd/dY5EyNDVutRUbVmIxYLjadxlm1DasBQSUKaY2274Ugyl3KHzbUxDKdFRhJ8XH4wmDiDtn2h0u2lf7pQFYQQcpd38VaJMgG2p09vB4a2Ght78zCuHxEB1Dl4gbEhdlBVa1Sa5TjCvkqAoTQogvJqFs5jZ4/XBUB8zTFgQdqh4SrhLaVMiJ9XE2zlAdZUnKvUGrWlQgQsvhdWLDorLvboIb4p4fEfkXUPUA5hQ9u0KC14ljlvq3el28IwhY/a4zqk6fzElDDu0qMu8qQkKIS4k1djrlnZ4wmYNZ515T6Z6COUkf29/wCf4h+FxUrf5Ww61z1o9Y5kuLkVH919WOZFoPESuvWXyxi7QvK1xPK+2RgJfap1DdO7sxw/iOeGeIOirM1Hb/VuYx8G7H+5JnMZj3eEjicN0q07PQzbY0nGD4cmt4Mb/wDqUL4a8JQpxxOGdayMryoWnUQsAhf9MonBxGmh5hK9HcP1zEYQras9hTQkftXnGNSlBJIHEwzY5j1z3jBjXxPpxMTpqR5TgEEpf6RT8fbSFcIqB4iefhFUuYZG2On9zPWBjDKTX8nLy74e4ooqnspsvKAjju9Hd2O/TqxvGPhcQ4qnCa3B3IPfiHzRhKVFSSQ02Pf4MYf4agFHuNuho20dnCdcvtGFHDKVCZNN285SteF8LFhWXwq7TKzIyMnI3uYPC4iCjiILU1Z9nv3wFlJTZWo09K01jCriv7Y9JvsY4iGR8PicyTRn8mPKqxZ7QELcINDVJSdXLM/TaHBDtNi/X3ntDYk6BUgd/cxDL/TelShW3vIXhix907iSLHeE8bhB8H09opodaNLMRov5nwsTpYvQ0eE41ApzHnp/1JeMLqKapNNZNItWMBAFnv8AY6jWUN8ploFW8erGASp0nPmPS8J4mF7PMTFHFuuoNoBUEhL2lL7tNoBkQW3ceDGg/iAtHdrSe9P80cRDAplM9sOGnnkNJGElA/nzntnBTxB31a3X28ocKJebHWvXzrDdrIicq0Pl3MYmo4UyoaW1pnaA+LJSW8dn/EK+Hz/ME1pNp0Jp3i8YDwVrBcYWONKhVw1fqnOecfq/ocI/6x/5UPqozRiRxuLxrgqIYPUMJYtdsoIx02mk+rThI4hD67/n/KYJRfW1Zfa1oVyFwZ56+E23iYp8xkQb9+dKPnCVomB4bjK9u0cJjsAKGjGVjnvkdIH6b4ZEBsQ8i4r1EEEga2nmLZwU/Fec5/eeHIvTaHAxDy/dt+c4IUlkk3lhP2PneKbGraA3GnSMPEACSQ95iY1GdS4THbdNmNNPwZeEBEy5kW7L6byrV0wMDuLN4pye+cKmxvL3p7EL4a1s4qTLuMjaMf8AS8cYkV4S6StwyKGfJmFND8YAWUFS7+st2gYMLjJiW0NdUqnScHAnEtM9T0FdQJsSMoKV8PBVq+ZrPqmCtq5DOvj2gQRMmCkEtk0x3/6crRhXOcvl2a4nIizjqkOpJRTUZmziTtrCVYWLDmBr/wDQBOzATjDixf8AJsuh5k5MYCiXa7emlYSbp1objarQOJgcVk3em721ecArThNMXkXrI102gPP11akizs1lUjmCRrqLv75do5mTxkhkrQztqL/Vh63MK4CyJTStIcHKVRl3QgJM/wC6WrP5QRxEpDGr3uxPZOQpaMJIIqMJY+9vtGJDcPigf6snyViaes4+GtCwrQSOoIlOr9kisFMnL1nWgbdtHyeDjGK4UB7Y2L0asSQcBH0y6XBag7sofG09nyZqKDsQeUyjMKAlP3TqDBPWdXHkdvxBQQB16Ag6y0PQwJ5ae8oqNPz78GhKVAFKpHSzvvXWMawymstn9+IE2MHhL4acB7Ch2kqsQrPrV84Pwy9SkzGL7FQtn1jCsBRec2bItk7PaHchn5Gds0vX+do7LhUsQnMZ5vMKHq0GQKKtfUZyqDabwzqC0HK4pTPxnBfhMqygn1ycQ3MkGl/sWM67GFJTizE2dqj7aStGHiunKXeD53+ZrRy8R2mKiWueRNw0CWJNx6+2Ik7iFEoKpPL113rnCgUqDO23t0kbaQOaTgTuMtPdQIS6VYVNkr+056ONDWCw4gSqon/t92zlBwgv9b1zfxcVEjHaJaR+2Y0s7xhUeeWj5M/hGEYpvbvEdqX0mf8ADyhDMwV0Yi43mcpwMQDHTu6GjvvOJYMHaE7HI6h26Q6cJw1btNQ0q039Q0JX2Fa66iUlN7MYh2ms1rbZdcoUgyUUyn8wofFiLdIXw+Ig4g4Ue1NN+l/2znEqGiiKHRta5ZRyYCFD5WIf6SPdoKhzBRcyoo1lac8xKoMBK3Y0evTaTZEG0YuFyO5pnWW85ZwVkON3IytNiN5bQUlCCe73Nib3jAlOd3SO7mAu/NrGMJKVJ7QHmPQ0IEOkbj8vW7XDPHZm+z5jr5zvBGBwOhGU7EUOoH1QpOE4kn5pEaa6G9DE3CcTKFQDmk7OLShpqBEtCJS980YuG/X7SY+doCjiBTLFWRp9p3jlVRUlNQ/uqz2Vo0EcZQY8pGo18C7h5wEKch8L4s/I22hSXJukyfPz89IwscSbZ5sRnl+YKqEGex/l3zhlEKB1Mj+b5zhwzbB2OfvIwrlOKxTnUd+W9xEnUn6TMp0zzztAxzs/lpu+7zjGlnG+9NjLdxMGOVRRxGdj815GhOYldo7TpfMuBlPo2WzwCm5dQqCDUtu73jEQofveT3a7+B1EHFZXamARWafWxEdpIerth0OSfCJjEDVIuNNhStGoYICen/H0ptHKClQvnob73eaTaOYzFf59ayjFw1JS/wDq0b0O2kfq8MGU1Csr5GTFpPGHlAeihQ5vkqXQmMQ4qXTUVOjHw7oMucVaxzbJwD0MM/KaezIjSGUpqXqP2vWpa9rQFhaeICKYPb+7xQIfOWGVXy39IWhRC05ZdfezGPhnDL5VaT64R1wxgUlMqEgP39DLPvhwUk+23sxtMWaClQEw1P8AbkZsQc6VaJBinsOD5GmRDzjs4SJuBJ89vSUBWKoZSS7+F6i1NoGFT84vMEu+4PVxacFBoC6S/wDxNRO1qEQMJJIdmND5Geghyk/udurNoxyIjm4bPUjz77X6QUjsm59D97jWAVKYE9+2S6hqPKPjcLiJU7YnMzqxobecD4gBCuUyo9j6KhgxHyyr93A74IIbFJ37L0jsBb5Z5jrlCSoUNDPDrk9umsH4SCUG328CAaQVHAniJrhuP3J2J8YBQUu82n47XyZ6GCCpnF66jS72g4MR9R9/ORgGqhhVkrV/edoPD4hCq4VFuqTv9iIJSoO7G3vY/eCFKDb21Gk3bKAy0kXBqCJVFhWfnD1N07+YyOZjsOh6YTeTH6X7nnlGPgpkapVkfc/pIOkYwiRLtcH1F4PEx4MXbSPP1lPSsBj8QNv79teMfCrkM8t8jrSDjIVuzjfQjueApPEKWpJ20zbMHSBzfEDTPVq1ex8aPBUj/FbFhN5zBzzlN2VAV8NBoZJB783p1hHHRw24XFlxEJBDLF2sVJZxSpEfp0P8/LQ6UytCVJ4sgeyoDu9tUQ6pjbl30bP8QPnFnbzB+0ngjsvLArskHI0+kz1aOZL7UVP/AJf9oxIUrhjKlfRX+3aA3GDWtMZi2rFsoftJzuHkD6HvN4d3Sz+7uMvwYCuInmurWviC7UrGFmuk5aairZjURJZCg4w5ZVExaEm4IxMa6ifVtdIcJ/af4s/dQ3ipSaP5e9d4Y8ySRzik6GWeecYeLw8SVULsQfSc/wC59IJ4adcJ39takB+FPI/Nti6/w8cnCwqImix6HfUZRiAw8UNy2V/lOriWeRgOnCZOM2le7eWcHAkk2LP3jwMY1JIm15HLMCVdXh0/MJ75tv2v5jnn8paxsrXUGvWP2EvhmQxqxraCOGTiLKBywmbi4yOtoOOaq6PdjUUdjkKwnAuRPR6dDQ97GCOKpvcm6V+0MOJSmKx3+n7RhWudiPXO47wZtCkKUF0s2j7+MFC5pNCqrb3FTmCIrjTmw7no92leA4DNXT7iRcUyaFghz8qgSAWL/wAfaP0+IyVTZV3kX1s/WwjCvhhS6g3PShaQLbwykBqOMjR8snO8YgEO0z82A/aYNYxcP9QjtIu2Y+oP1E9XwrfhLTZWRkzFqGTjxEDnnrTbMaFs4StKpO1pg0Mq/SdoLJ5gr8NeuWYOkOUYDc1l6jxEBTJVhm9Za+M7udYBExKafUazH8RgCSC2dFP8umK1omQZMoE1S0/BjDJUCnUTD+B8iwoXjEMJUJtbeViPvH6nDk9RY70yrJ9xCCAljtMe/wAUhzwhV0qZsQe6hexxUVOH4nCLUKkuPZ/GkfpLUX+VSA/fQ+6vGAoQXMnLMfbSOYhmSn+2x1eaT9xHKpSX08Wo/wDydxH6fFw8dPMi6VEUSoagtoQ8YF8JIWhWDiJLJKVDx89C0FRoZsmher7Tf8CMgff8QQleHJ/fQ5xzEkUI+X/L1nHYxjSr7H89mAnicGXy5Mr3LeHDpzE9umhpnWHUSQNZlJv0vqYKVOAJvlvoQX0naQZJ5TLTod7SNYTgFbH6qhiaOKZyjCsHhrS1HkdWmyvDeHSvd/bfdwRNxAClApIvQj0ag1aOVTiymEt1Dvo0fVwzpQVoKpB7qiMfDqD81FA1Bvtk8SWy28Rm8xkrrcwAtZC0/LV0+hFclTvAWFKB993aJlVzHbZT9rXynIEG8YVpxjQz3TelRkHqIxJcWV5PY5QyhJUnbz/hvGA6gHoaz1brHLP5T3VTrmm9rQOXGrJpgyI6V5v3QleFi4xChG+RvkZpNo7Axb9oewz2iiUnUUIo5Hd4ZR8NYSC8vVO2W8OGll9O2YZt0wZPcFvH7vrlChxilCiAWFP4BE/pB0h0cQKHy/Vt0p9UnnADOky2OR/y921GUTf3407oUErOgZm9FZ4cqQ3EWyhkPGdvd4l/UfqJoQiT7WyLRgXhNsdyPfukOUuROZr0tc5Thxw0PRVnNHGT3I0eOEsJwrAv9Jzzn3EwlWH9pY075ZFpTpeJs90lyxFu52/EfE782z1bOvdBCVHEJgZyqLu3fq0MQoeX48u+FYH1ArWo6+zHxEJn9Qd8n3v0e8MtJxC+beDNXKeTRhKWD6+/3DugpZRPuYHvs96k4AvhKAJQUyUKHEPHMT0hPwUn4PEonETgWKYXo4aVOUweFxgvR5aMczSYq2kOhzw29newNQzR2eX6qj/NlDtWoTUd9fs2cY0zFZgy308p6QMLAjMZFmzlLqAUyhls4vb/AFVUFe5wFFH9MpdAr5iLCx05ryvEho1p2gpJASDfv/nrmIISpIY38eovvAKkhlVnf7PbODgWGL8pNM2yY93WMKmIB+ZN3o86Eg5ENlCeKlhtSelngqQoFAnhVORE99ZdZQ8gppsXY6Zgzr4QpDCT4TT8EHWjh7wlC1gYZMcsiD0vR2IhmEr3GytagvmYxiaT2p9feu0D9SpoTRVO5XhxAI+Fxv8AD+VRqRdyLs29bR8IqcGila0mbvScwDeGxzMiM8tPWCAQHoTZ6jVlfmHWgEv2gXHu5/uyjCxIyYkdD3+N4W4AzTY3dj18YcHCU1xVdGune1XjEEjcSJlPrTRVc4wrAOG9iP47jvASsl9pKF29ZyJMYTzS+YWzBuMjURJDpWH+IBir2kHxPWHLL9UfS+n2jkBQrqNtnzp3wlHEClMcM+0Mu+lwzZQFoJeoJ7Wcvtuaw01tI4BzHLlv0ru8fEWkhPaTi+Z5n+05Z98Y0uFJ/wAsjJXShyvB4bkoV9Qpmki9fGUFHEMx9U/P5YPIElN7eHQzEJCikcSlmP2lKcqdGLmXLsKp7nlEuVVJdnRxrpqRHOFOQzpn7p4aRhK3GREtnHhmOsMpgrw6ePeI/p1CXaQrwL6vM/3QG5lXB99lUxppCSQoU6bP/EKmlq0Yi5xDvmJEE5xUCfdk+moq7Q2ucwfQxIvUEX16jL5rRi4YK37SROeemX8Ri+HgVcX9+mkOleBdQQ3XEMxfQggyEOOLzJn2Zi8mm1TLVoT8RMlBwpPcd2kWjCk4UkyWzpULbEH73gfEVzGk8IfLI5A2vKcKCV8p+XIdMvc4N87Usdh3HSBha0j7b8ANGHiyObnxPdUesD9RQULuNqZ0EFHFBKfcxlnEiovT8Gxv+IkXIExWX7hlm2cYsWCnLY/cWzEOjhuaK2a3Sj35TGHiJC+GfkunY3HiNxGL4ZerhQfeVz9oLl0H/VSnqK5Q6Oz803HtuvWFcoKakaGpejGv+p5x8RH6agedPvvNQoB4kqU8QfLTZgWqA8OlM7ZZtnLsnTFGLhjC3l6t4bQQQBnnkR56s1YOFJPiJUfIyA3ahgBYYeI3z89I5EEicvNjV/5iQV309NdY7Sn+3j/dvOsHmp2rS1yYz2ZsosCL61Y++soxIJxWyOjeFiDnBkEreYz31NtXzjDUtIbeMvXeMWFmqLyN/vA4nD4bt2h9JqO8POAe2kzwuyknTyKcgISvgKBYTSRbT7WtBxcMqInRsSaKndqtWA3BQvhmSgsYjuDMiw0lYwrif0n/APz8Wvw//wBROl0T3SDkDGDiIIwzrN/27/TrHLwlfFFOIs2/b9Oo6i8NxAQWoZU+k0Obbw45wbHlMx3Fv5EomAn6bH3OtOzAWienvMQ2KSvDa5nY9kxPtP2gVM+f9p7usAqIcVGbXfTOD8PtAZCebj6s/wDbE+C7doAWOWYyv4wCkHm3robGvKrM5iA0siPA9RUXg8Jag6Zt8u92uk9IQpKglV+uokZ9/WPhqFRyl/Uyaf3EYOJxOaxxW+wp1pHIW1N9HpKfhDKdW9fX18IPDUAD4kWIIr/Eci+YaMZT65wwHMfmpdn7p98KC2DF3HMO7IiRG8BSaaaz9nMQMeFQeWKTHLrSW8N2UqyJLapyLMYbH8XhvLanT+IYOd7evSxaO0AfCVwbGyq5w/ymoB6OBQjTugUJyabZMd/HWMfCXzZPUHI7WOrQeFxSQ8gtU6eoyoQ9oIJxAGU3DHLTTIkgwwBQtN5vrOre7QHdWte43qSctocKwGhf3bvDPMSjFiu7h+180rvdq7xhUvkV7edJvpeQghSSR7Y7V/mHQqWWebj7THSHQ4fw0OmbNWO0Tw1UALljNgd5TEqRzK5TKebXIs2jwG7FjLvBGvpKsH5kvMeoHWY3tCVIVhJkoZ2f0ORYw+J0qnu0/LIu4jFw3UpuZJAn/dnO+sYOIhXCU5Gj56Z3G0D9SmWXuzYVWaA4BxTBdq5GYm0iLibPGJwqTEgVH7hYi+kOglel9CP83nDqIAfmTRY6exQx8XhLkXdz306k+VYSpKiFjtTNqzzmIsXZtTloSJNR2s8YDxFcOTMou6dCMtY/TUoB5qUDg9n+C4ia/iL+pXuYlMwP06Hwehs4lk4eP/yP6JhxFcy/6c8qVm/w37KjcUh+bhqEloUkhSS1jlXyjEOK/v00uHh+r5H7ZGncY+p9L/ULb+MEpJBPMPdNDsoGcYkrMjQ22NrwEcVPaloXt3woJSUa2npZ/MwU8Qg5K8Pf+UvWKvvWXhOQ1jChU7bXDHJ/bRzAs08O7hUEhL3J/jv3GRgc3+X7PcGZHW0J4vDotAxVbEmRlaRTSUcyOjz9+bsYSEnCLHLumLPYpjCAXewof25g2u8iJRhmXnNL+/3ai0TKx5g6pOok1HMJ4mNWJOX3FJ06QF8Oo7UjtiKdwHIuJ1huI4VRXsTo1pVglLqKbirX3qD4iAcRYSpb3XJQ1gpW/wARPzDlxC07t7nGAKmLlPe+/nvDFnHaSc6HvqLQFpOBxMJP/F5UqO6FczjMfNuLFq5m0oYcZRuH6V8ld7QHbSYn+aiCglAxUp7en8PGF9lB6jWxr16wErci2GbgVwmow12Jyj/Dc9pJu9x1uOt45UchLUv06wlz2h5W3mWgpWeT6vKXSRg4GUms/FshQ7RNJKaSoCL/AHFCOZncQCeEATkPbhXeGIhlIkqt83KftlBHDXiSPlVYdbebvUQFKQUnNLdoGR9ycMawnE5D3n4bb2IkYJ4c5X1lXwnBSpJC9flOn7VfN0MAKmM8Dtood8coRT8S0aRGbG8AqSJ1+buGg8ICuGkf3Acwz6Dyg8MrwmZDGmesqytsRHwiXBO5/uBuL52vBZlpuxJ35ahqt1EBTc9KODk4rOkqtKcMgYWulz51auxkXcQAQJ1s2z3DmhhkcN2opCXPXbynaMXG5E1ZgSW7UrcvMMxGBT4DKQlK7ZNvWVICcapiU/dbHoZxg4iyMjhbQg3P5gJDu8lGnTKDI4ha/wCRGLh4OAr5mS6VdBcWUJtqI+Fx04wZ8LiAE8NWxs9FJNJyhSVcB1JLyGFSXu28lWMjD0ykxOqd2nrrXCWbMiY3zBfI3hIX2VTE5d2QpL5doaoPZeXT/l1tSCkpSXpKf2n+bQOGosg9kr+Uik/Bqz2hLkBQM2Pu+W8Cby0PQ5TedjoZKwpCSHkWBbQ3zbdodSQoXKfA77esJBEwH97wAXp/mP5ofIxiad8PmP3T7J7QZoCwkZ4kU17mn33hL4X7xR/G20JVSm238iHLKSq2uvh7EOhGCc35WznZ5NbuhwtlbVa519Ggjl91YVl+ReG4hDijNlTqHlMKyjFwjys4k/T93hTOHQnE1jVWjXYUhPKxOYpoQfbbRNAJqHHKRl3GREGU++TzH9yfJoxJs8w/p4Qk/EYK8xQ/mobeMauISOiq195AkTEBJ/UGYqx3v6xhRy4g88xSXSfdGHjJH26+uUi8STWofuZv5DQxSZjEBrdjWV4N0/uqO/28JVPDk7dHGnhWUEBL4pjEKkeD2IhYpdtKp7n8RAuM8sx69DGJKgPFwag++sFCjK3kxB6XjlLuK7WI07+jQcR90M9pF2MpwWZ65Pboc5ZPWJ8pGtoKDQvrP+Pc4+YeI6ZaaVifELnuMvteCVcXEakhpfu9SM3FIwMHFFe7ScdJ5O+BbOCaSs9wZ7Vzgo4ihOrAB5t33q4tDYELBDg4a5j17s4C/gcLm3Axt0bPvgFGFIA5Wpm2L7/UYJSoKyspP3q40JtGJKg/txorzhLtiF/l66VSdC8HMTDzll70zgBRDN367+CrWjGFTDg07m8UGhhQQp8hvLzk3ymClaUncXz+2cBXDwI46f8ADXULBn8PiNMj6VVTKFJ4nKZ+EleXNdJnHaZTdD35uQRa0AVVKpv8qkv3ESsZGMK60Y6+svBwxeOyT/uHh77o5k4Q9jQ5pzf/ALDKAhaTRgq5a+s+szGJsSKO89jf2dIBCSzW92IDfwYwk7HLLp5R8VDlfBqlLc3DM7XSZ68145UNxEqmDPboaDPeAX5mYhQysb33acKPMQ5fery2fWGUlQm7EP7y/wDkwMSC1J6WGKmYnGEALTT1wq64m0InGGStCDTfr5xiRTfLNqLaWsU5qTkWsdxNiNoDh6AmfRxvQ1hgNhfvyem4F4LImHlSnqKEXtASRhNUL+lW+WfjMQOyoN/lOofobMXEHhK4RS+kgbEH6TTqIxdq5QQ7+fTprCWQlOIs6UzBs4FxIfzDYnFmMm99QesBT95bcN3nMBomSTVvpNT41GsMeWztLv8AdIdHFFH6icrP70ifHQ4oPdNWyEJKlhQoRWnvzBEFIwpy/D3E5XAyicyOlPWz5NeMQbYdxGEyM60MAYVBKpEHu9/mOVV6GzzZj8pm3UVaMeAqaubZ9PMQ6VYerEKFZe6R28ShWxlLy/OcfFRxaGaaHcClJFN2BjE1R8ubTcVEr5OLQAV4S4wf+fQeojCo25S09N5yfajxhPZNBViMn0h0mSsqZsR3f2mkOjtpP1dQU+jZ0rF3qztXo1e0CKvEsQ4g+Wc7vlPzaEqSnKQLbhjn7pDHgqd3p6d/jtAJQcNCKNoWv0mCGmIPLhGfm/n32h0TQus6fua7ZbgQdc8/Ta70eOyA209G9esPg6WGfS6cs4/TwjEOWwew9OjbqOEhYzLYh0kWz2vH6izqH9+HTQAuoG5nX272VK8cZYkFHGBPtXIV+6x1vDSPvw1sdIxYgg0lUycENf3SMK+O6rUDjNJlPuYwOGskhVFGTbmFcNWEtmAfGk5dRWkYCQGVJu6Vw4sb3vATwnUCHcfMAazvA+Lw18JL8qymRthxCWnmJyZWJxIv6xIddDafeIKk/p8Sf6nDaYyUmh2rA5CcSnHEQp0u5BcO6TWX0mUwIUF+Wvoe4mOVIJe0iciPAHKsoxBRAM8LN32MyNqiA6iKZ9J296Rz4uGFHtDPP3k7QT8UrabZj6v4zh0qw9abj6aTpUQVcMzTVubvF0qEwRel4wqWQtMqz2O0vO0T7watno0jrBwniSLjMfN331DyeMOMuk3k/TN2ofB4mAlSZH93/k0Yw+KTz6/MCKe6GOZmUASbKB2uC/gcoxIPNkaHPxmGnPeMQSJ1SWVO8mr5tqIqxqJzbLUCY07owEV+VTseo7pjejwfgTQC+HTceMp3Dx8ThCXzD3pLuiuLIGXj5UL1EAlCU8TaZ++2wEK5SmvZPpk3ezx8RCy4qlR7/CT3fNMTTefh490oASQ+pEw/7rjKx0goUQxFK2t+1rfaCF3uM8w09R+IuUm7yIp1AcGfMIVw+IkP4dfAjWHLrG7yzfOYO9o7AwuGOvv1QYSsITq9iR9+6CjiIf6TleZ7mbV4xcNQxj5Fdbi3aGY7oPxknhrHy1lmDcPW4gspQ1ufTSbbwFoDt2k/MJvI1z6gwFAs7yemz6zafahsNiQwtfuIetoVh4hBnytOWV8iBCuHxGJEuYsWOt5emsG7aS9mSpUcxJeBVG1q2+swRzCCk8+9xn1+4iZPkQR4U7Q+YTFYCStQVZy7G4IuMtJiKggv2RPcfUKf2qE5RM03Scx1E9QXrBqoM4JGJms4sPXaFMsf2PlLlOwdL5EGMSJKzEq5ilZUHhD8ROIBVRk/pOPi8ETqpOKesswfmGe8YeKFBSaynL5m88g8crKZna4t30UM6SMEF8Ym4E292sNoQEk3rLn1yN9Zwv8Ap+KkcXh8Qdkzt3v+IUjiIDJOHHN8NAVDuxZVygFK6ya2zdB6ViQGMDZ7e3vk8BXCHLTighpg1Bv1EjBSoElzNu/XetHjsgp0pox8gZTKXEhE2Ck5Tltkz9+ggsoevSxoIKFJCikctKZdKjupHMGw2/Pugh04gKjNpy1/+TGFuYf6f4v+2cYigpV8zU0PlMPnYwyXLhpaaH+DB4fEQgLFDm1jvR4xDClWqWfUESn5jWFJd36PBQsKnPE0sXo7PcTMDiFBPDElKRP4f9ya4aF/l6RjQolIM7Ss40eurQHSztrOktcoxIUyq4ZsDpd3kRcPGBY7EwQLa7CezgUjEB/dW8lMbw7Pw1dqetfJxGIKl2tCm46a06Q6DjTWZrsc77iAqXu95HunaHQWVdLyf/6FpgzacK+E0jQnuD5FJrZ4BQFPcHP7kXvKA5XjBp4SejGRG2sD4gKDYsW7xPCag2OjwoVnuz+YU9bXlDgKcVuO75NLBRnKDzlShY7VCfGWsHhKBY9k/bPO/dBSrEuWXvlVqJUMOhJcOJPuJa+ZlGJYIm5AkQb0sc5g3DtAV8DhnPFV73haUJCRQhn1v19tBCVKeySNKDe2u8CSM5Hm7sx+HjHwVzFROlidLHqDOH7PEGZdJ920jE7Ko4mJ2U02YyNIKSxZr+Pm8fFwp1ttpTz3jCpWDiJpP2ZzatBHOqYuJeF3uM2IZ4x8Obd/81GTHIxhLIu5dnFe8febw+EEGrN/m+8rsRWBMHhqFbjeyh4/6YUvh/pjic54fyue01qgmzcwBgEpWDrOYsDnO9djCk1f6peFGIn3iHQSlQt+36fYrWGWXY/LW3dkNZGUfED4T2j77zDoKRq3n6tvaCXZQuNLEi8q6azT8ymaf/rTORzhP9VhwLUChbUJ/eM5FJI00ipcFjf3bxzjmXh8Z0Y3wnvmxiSiJ2YjuqyoYBVZF7Zbp0nLKOYFewEx7or8RzO7molqNLO9KwDhZ2lkfeRnCSHP0nLSdetYIWBjEwLKTk3dGLhpbxFjWoPTWC2ECspV8jn4QxRik4UKkfevWWcPwQQcqP3eEnFZw6iZ5ya1aAjued4wHEWz7vNhuJw+InDV5KDS/wBsu5oHMFBLgZ4cv+J0D6QFYFKeRlKcp56vplBSnkRxOZKVibGoCrt9iYxBYYh+/wDtqDs6TMQcSgT6if5zEyIC0qxWbF8v4oqom8HhqQQ8nwgd5z9DlODhGOr+f8fiJo5M/q+x/wCzQWVy5Gh1G4qLK6Q1d+YT1+kyI6sXIhKlCtwzZ71n1h1iZpUA5EHO87ytGLFwyMnHhu4lmbNElPcKlsXBqCML3FYCF8/0nS3VOV94xIB+klF0mjp0p60jEnsqE3noQb0OrRjQ42L9xoakB+toD8xB7PZPnI/8YCmxpocXaG19FPKhvAUjhzMltLNujuN+kEpS5A2cV9a/UIPgx8PScLxBTdQqVxUOK9IYif1NrXzffSG4ksjL3S27WghKmIPa95+sB0mdThp6Xfo0NMHMHWo+pNJWyjEkT7QL5zLfbwj4fHE6D+b5NGJKJpsw8shmKgQJfDNHPZ0Pva8FuIM5HysRr1tAVJQooCXXTpKACQl+y4od/XZ6QE8QYgfpPiPPvhJeaZBU2w1wuHsXCowFScKswGLaiXl6RQio9Dv/ABmYYqBYthUH7jXf8GHfCp7Zi/ce0DvWMBKFIoZYnTto416PBBSlJMwUSP8AcCO+m8K5pP7Ch8oVQGYBoWaJqUCzTm4zO9+sFM1FKhInoZZ+coUBIlix15Sxyoc3eAjjLbEHTN3OvdbSRic0v2kqidjWculcSPGcYVqBcS3ye4IbfvggT/bJ9n9/KM4AIA0duoGRrmC8YScQPUj12IcPGJPHwrTOft0kXsai4j/E0UkCtvPuOjRiQt2yrsfTqISoq5sqA/k177Q/DXhndyH/AOuffrCeTnGh5swfS7ZsY7OBWGVnlTqzdHvDKUzyvtuB30h+GX0E3zG9OglBCylCkymGGh0tKGWQcM0KT2k5NmCJd1xGH/ERbFrl65SyMTDO3LP/ACtd7VynOOwrD4t6d2e0YSFCTH3McpEvtEv1EfUaj7y8XhaFpeZpa0tGretYwcVFzNqDrYXaoAhkpJE5Vw54DlpqZQoJI+IJp6TBl0dvrdo+GRiB/b71mGIVCmKyJy8utRq4zjAtxxA7fLiHk7GWt4BDs7HF6kXeeo2jCZvKYfxGoHfWOfkSS4VKb5a/h6QrD/UY/wBhS3R8jq+8fG4aQD8wBzvg84ZfiGf33UyglLfDFZzT+5vpz/1RPsqqPl1wG11NrAOOS+o7s35pGlIKVTTnkbPdsjkRaFKSSCC7VTOR28jHPykWZhKctCMjGJ8Df5knQ5tnlWsYAf0yWNZah6ES0JD3ghagWvkfdWqHyj9PilLWxONsw2o+8Sn9X33zpmJw+NSdvTQsdjvGLGSm5Zj3+IjEgYkj5tZtKoyygJIbEJSBn9Nv5EK4bVNZgDfLY/uvCsYdSRiGUpn/ANDV4prRlDuytYiUfppZ8xJ9R5nrBStsY2tLZQaoq0Sk9wO4enQQk4SsFg+XvxnDFD5cofSmknvHxE8PlqHsf2tURh4qZEYSCHkafbpSAeGJPdTytOrCk598J4wQMfzSBCsx9vtBPwRhOThtfRreMcJaF4WBctiuC/rKxEoTh05rK38C+8MQXxEAsO0KT1pkRWDhRT5ezP8AaaP4KfWG7Kx9XdWyqXasBSuIxHTd/MGkM5pcuNtA46ZwTI8RL19SOsMeH3/fWjw6D2qp+7SZ76vJ4xJQSdpf6hQ3yLwZDEnffeYxShlAA52i2IUD96X15d+sNhxLTs8v+1mpN4PZJEw47QHksP8AeUY/hAmhaRcX7/HSElnrWjG3po8FJAn6679oWOK0KZL/AN020BnK+h/tMOkEcfh0pz5olm0rPGFQKbFgQ9pg/NpKCpPLwjTFU6Ncb1nlGPBw1ZsKHbtB/dYxBJ4Sx8yAKj6k0IMhSB8Linh8RPzEOFN9TUMmfZ4x8L+r+Gu/I6QaGQIISdKdIw8RfBIHzIPaevKWLno7A1EY/jideQlW/o8++ARxAlRuU8imyaaf5EH9fhnhKsMST43/AHA+og8OSVS5j2gclaj5TptBTxE05kqBZ82+2jwOIA/9prnkahx01glPqcPTxpnACr0k6DkR0Z+mRhYMhpcWlo5TKx0hgSFAy9PwfpeEiRAPX2R6wCHIpXwn3Mez/bExzYThOeafcpwpJSCntI6aaeT2hihI0ADZP0z+kwlfBCaU/wDPnhPSG4yBhIAfy3H5EKKQwbELn7teMCkh87Hr6f2iJpDfK3vPzeMQYoNUmur62uLiCXADGnhLyIlmJRnnsfOV4dNBrzNlrf8A3JygPxBKRec+vyqyN5QfhcqTzYcjUhJ6hScpikBlAWN6Z6+bw6lEmrhJfKnqKbR8ZGIpHaYfKb4BMYTfOGSsk5O9Pt5NrA/TWFH6pIPWm32jiJPKQCUkeKd8sxDOShTpOInx0GWRNxDniMH3E7ttXZ4PBxV919ynnHKTheYNSLg6jPWsoSpWXMKbnIKzpG3ym4uNtqPChwwVOXD+RsXo8qiDgFBMXw/cGu1oxDEhV8sqbCGXiO0w/uY2w0aMKh8PJuzPI5K7o+IgKerpfvbPOG4om8qp3a3TpWD8Mu3Q5g7t0MLDhJFba+c/CcFThRGRZSb+BzG0oCiTk++d/sYBeYs8umUh13aMfAlmD9+9tCHgLZSlDtpQkvK5H7RVpGMSHwkstJFxInNxItvAPZUBzASxPfvcRhPEHw9Zkiol5nV44jldX5SfTT28A4sUuXP246QSeCnH9Rq4zz6wSlKkEFiKdGpL/wA/UYCnKVakkfxrUA6QoLmHM/sa+L1jEg4885557s8hDKxJOY5d9DKJErI9tPLynAVwhhUfls/oauLudI+IMOZakjPqbfzElTTrka6vfpGIhSSKyk+hFpCRoYqDJnHa0fox9mAcHEWDb6SPXI0I2g8ThMkKZTTBBzBmBMUyMYeJI2Mgk91ILIwqRTPZ7sX33gI4owq7JM0mrd/uYMAo4hIM38DMeWhF4IKy6ajiD1/7dLw5E0E0o4kx6EbwnEwJpJtj/d/EYxhM3l5aNbpDgs3y9+KXQ+kKSopMy1zn0Ifq0H9LlFDodsqRNGHF2hr9XWR/y5GG4kx47jW+og4QVBX0qZ9nkL38ICTiD0JLEZHarCoIYyMMFgSOFQmFirNncDeMLc1P2kG4Pi3kYxYhw+slXTy9O86wcNAH5WJSfm3nPN2zaBxOGXoTnuMxuLQFcbCNpHfrUtnKAQZG72MgciPKV4K/hoxE8xSGexlTFfdmvDcF3TJYdv8ANOTEfcQCVtjlO59CZg2eYMEtSbgvQVasxMizRhdwDImcvNxeElSWLdoNXPeriHwJwiSjXq+WmWbQVJUxuHlsW/kaiGJZQsD71mO6K4SBlI6EZHwL5wCwRqJz3yq4N94xpbiC6dLjRpDVtYZHDUnRsRHg/cCBKA3A4imocHd0atQ3SMX9QtmrwBPvVXLUQFjg813Lv/lvhNet4UocJI4nA5kcThhlYUmYV9QZ+oFGMEYXqDb3/GQh+EoptvkDnbqmMPF76N13ZzacN418fOtXtH6y1WLA4bX7m6x+nIGbmrG2IVam0L+F2VjHsc5XFdYwrXOhSZF96Vt1gcXhTArPmz6GvRxlGLDyqE/XeZ/EMgmc8O9ger92RgiRaU0909bPWMTs+nKci+0v/wCYwqy8q0zBP0+UKRh+IlVz63d263ZUZNr0bzBdu+At+WinoRTenuccvZI5hUS+aWV2idapn1Z9w0LZ8NwT4sO6kxrCSDynOxGen/1HMEssSqP5FDXIxj7XhLI/7SdS4k8Pw1HlOLpceRTrpDthJvKdjtaOrYjKe1MtNxDieYS46ixZUml5RiwnEGxAvTXUN4O9YLA4TVCvfaFj3xiAIbyVY6A9DKFIqjvlfuk9xJeccq8NwCfcju8J5nYZzl5hsw/Qwy2Lyahf+W87QSktpmLF8xXbrDYgbKSatevf3tGPCjiADmFFJGmcpi4tKUEhlJO2Ib+YI1MoDKWDRjmJtq4oRmawJY2MybPmMn/7UeBypDZ0Sb+7RiVwQTKbPw16uPNqGzQniBGGXZ8x6y8oKbos1RQb1T52jAvhBvHv3bLxh+EnDxEOyTRafpn8wtTxj/CUkCpNPuNpsoZR8TmVc8oKdXuDcHPSMXD8OXo3XzasHgrVgJoq6FihHlLtJf5mhKn4XHSC3Kqehn5PE2wq6M4l9rRhNbb6+IfbWCPi4UqDhPgRqjxFY+InCvhlx8RBdjlxE/LpJoC3l8w2v+N8oKP6jgLQpJnLCRYkPdmOraw3LxHo45no3h1Z6wnGktbh3o7LftSkO+GSkApb5UmVHG2k2nmIdUwfPR71YZhpyj4vDOGytv4p4QOb4g8Rsa5+RhSprCu0CB4nWWhnmY5eEwV8pVIGnLkfCuUEjh/F4byUGprkqx1ZYgBaSlfU/wAZKFICuCXzHy5+b1ecqR+rwEkfM6beUY+HwwoNPhqc4f7CLN4NAVwTgI+TF7t37vDKTg4olMVbufbLpDOzSHzX1a/1T74eqTUUaz6Gz0MnhvhgKSdJg+YIm2+Ex2GlXbzvEjuKBttOlxeBxE4i1Wl+GNGLWdoCVKVw7MfDdvKKlSFjc7teUYw6kKZ0/LP/AK0IB7NBGPgyzSbesnrWc3gpV2rZfbQinSAoihYpz+zwQOGCKzrv3XG1YTgFOvj8pBnsdo5uGFg1mzuGI8m7rRhbDiDiVD0sTT5YdKpEulpd9qSsYxK4XxQR8k07lPUU9I5cKS5BBcTEOAGeefUd38R8S17z1GfnvGFntPxHqx2jE2FWn1D7jl6R2PiB7MZHO+2ogM6k/TVvYyzpBVw1AF5pIqd9mgEF827JbvZ0yuC4hHH4YTKpm+lKjypEw6hL/wCTYgjs6yeMSggj9n/f7iT7xgWNnlQyY2NPZiSml1bP9w00gsj4iWDKcyFRX3aPhcXgA8JYln3i4+VUiO+F8NPEUrgnn4eJ6XBeRtMWnWAniJOis2+4vpDo4lflIvlluPWOblyNdfD5dQ2UFalKUj6QfEC42n4w0ihY6h5eMmsxzEYZFristKmUxB55v2Tn0uKd0FLOHYvWedNs8Q1hV3BIbMT6TkpOu8cq2Pd7ejGGUFyoXnhNeo9NIZXMFWKWfOvuUfG/peEP6ngrmPh/4nDIPzIJDtmnYiAvicHhrUluYpZWx99YPw+ClBkZCf8AMpSE2eEqqHG16XE3lakJMlEXzGo3G4hXDWhwRK75eg3eCUSQruY65aHslownCpsyARPz8NQ8c6RSsvH3kqGRhSqkpEGvgfM1eG4pl9WozsXdtiCJGPhcThIUlTj4iQELSbKSqoUKzyvDhC+KkUPCU95Kw71ygD+oC04x2VHD1bzbJ4OBfIbXGnR/PKPi8HiYk3TeUi321gcQpn83kZWsQb9YJCSQU2+n1a92pOKKwm9fZ/5AZtGEnAqqCk94bI2t3kR8NSyrDnbrlmDkRWDT1+xk+8FC0DLEM28Qag9LRiHDl8rVb6S90mmlIHDPLlYjVPrl0gpUMSaOb9L6ZCMfAxM80i3f42LwFLODIkM7/cHUQFAlQU1Hb2Mrik4rNNCKt0qUm9xaccxW2329jaGS5d611/uF8w8DiKCf0z2gJhKtfpeeE0gEs0tn6T2qLULQm2lvtoFBnGrQeLhKFS+JTmeTyk/7pF5HUhZdA8vPPV7NAHC5uGf2z1Gf56QTgUDkT79/3RztkXc+XcdgRWMHELPLTSfUKGc4/TJcZz86977vAWl/hmumkp5gyyNo/Saecp1++hnHwysOHHO+7fY9IP1M2j/L3yD6A2jDVJytpOc2pMbQAoNWaqex+Mo+opnKbjwJGbDFAStk4hLBn7ru7SjAld3HZ9yl4vGKaSjVpUMqd1gIw8z2xMQDrorMUyjst6ddPd4Zcxdu0OnjtiakT7BHcDTuPjCkY3YuM+mYInq9jA4nB4hxDtAFnH4soF5FxBOKYkX/AOz+HfBVN7kOzjy3pSGKOTNSvIG5vWYggpBNZifeKw4TTTz+9Q8TRSdO/wDitxNxCgKtiIDg0t07XlAUlCgGIVRg1fzEndpFyl8xGJ3S9Hq9jnTLxEYhI/ML7i4Unxh+HxHFavMzHfcZweFxE+FdrEN6Ry3l9tRp9o+HxVS37vJuk4ZbrSQ6c5e++UHCWcfNnte08oUnCQR8wdiDQ6a7QyrSOn8175xxEK4b4QVIdjNM+U6jvgYcSTSdNlah+945gxItTLvyNxBSEiXttjJtdIwKWw+XY0OmusLSZ5KSJe+kTcFJnJ+v5H8fESQlXzNQ9O85gVpGNPHlpTqPpP8AtLtD8NXOMrj1tvHwlzeh1sTlYZONY/U4iTcNf1Scxe0YMeJNC5GLci5F2n1jEgvfT7gifrHw1SaVZePZNt7xgUQUWJYTsDk9oxpVhtkcQ+XT0tJoKFYc5Pah60e08VIw4w6TtLrcDwEFJmlScJBoetj4Hvgq4anTfh06pyzIMmdjDDEk9rAq2beNI8C/jA4nDU9lJeh0fSTGTTEwYGCV/wD0D0q+4MYUImctb12YjKCePw0lw7pU5zpUKzrV2MY+EjCtOTsoXcGhmKS0j4aptJKvIH0ek2kYACpt0lmk3oZaxh4rBYZsNw3o3aD5GsBZfDQtcbUxJjCiYwzuWu+YqJTFWh+GguCcSVXO5lP0gHB4WpLq3fGHs5y7TU1lTxqIASqY6kZf3a/NKBiThUKqzF65GWsc5cUl9t5d0OGUn5g3u7g/xD8tN306ud2ghAwgnx09N45uIAJ619JvXlnD4yoG4EHAUkXexr6Hxh18TCTUJ7N7aFw28yGgqCio/SezmWSd3AzdpGGu0spWzs+YBhsKkkfNVr9zeDXjm4ZL3/Fwq9agx2SBnPd9d6g9ICsNNLGzj5TMTpK0BPEllnK+spNfpE0gjNjL7N/80ikyO97bEgsRS4jC1GD30IUOnfO8JUC05TIqaF8zTIw4WxaW/orweGWVkpUwOWh95wCv7YTeftjpAxgug7nUd03/ALTnDDEn34H0I1jFiesjfPDd5ONcUTkO6uvl0pHFIL4Q50zY+IsZ0gN/ii+1fQwCoUq7hnyI+Ut0MJKCEqIvQ5jSb6RhW796T7lElAEhmanX7xI8wtnl3TH4hQAYsXE2U3zDwfrD/CUgvaT98vesJYAA0UDQ7VG1lTEoHxBj1Bqk65t3isBSAorT2h8w7+tPl6xjwCWk/wCDlsUxLsfulMfKejVkXMKQzLTnUtmP5GdY/UEhIu583Ck0O0PwkyPuWYlzAzbpAUnlIzPunzDLQwQt0k1+7aPUOK5QeHidwUlq0t7ynKMKsWD5V2PqDSVmagMJXjDi48QR6fU1oKXwKHZZw+xyPWErW5SeV8VLspsptm0FC+HQOlWf5HiK1hSEob6TJ3E7NXvgNxt+GXvKp1/Ea0WkjOsrfU8fF4OAfNyyrWWmVnuIw8VFD2gDt3+cJXwyyg0iPbTlr0gBSHe32NmyNqRzFs9Mn2trIRI4pUo41fKfnaGc7e6GhfLuh3GKrkSyPfUtQEm0J4gV8Pip+dE8WikydsxPKAFc/ETKjvr7ahgpUgJsUlzr1vql9I5UyXd9PYnZo53GqSL1jEMStMte+oqH2ifBLTyMj+fBRyjJNGMj9s9DOhaCQSVBnSqo3vK9XE84CkBqt9vxkmEqJBSQyultmpcdI/SU922vuHelXhKwub8yHZtjQi4PQwOGVpyALBxloXpGFSgCPqao8tR6RJljQ+e8p9MoBFROU3+5/MESxC1jtdqtlAQUkDP83cXzkYx9qV7i40gYCUnvbN3qKezAMmNQKK/NfDOD+mleGtXA66vX7RNgmoNe/wBYxBlBu0CLX3Y9Qd4wlCVNLVxJt/vpDslQVSfMD5Gx3lQmLopL5TaWWooQRkIKOIQyklJbIy6wcJmi9HDy6z9tBxP6ix8Ri33hNrgv7cCUqsZTeApJTvfvofVLxhWEJU+TN1yttDhafXaVwLfaAtPE5xZ6S0hT5X8jprYxhTxC6ZsouCn13rfOE8VJJAv1dpdZ2djD9lKnmmRBry7z8YLrcHxBn4eUclDYFwR7eXdaBjJ4erdCMX1SvJUfECipJ3InKTTANJy6wPhCT82hz1FqUOkdopLdGtK7UewlBZBIBqA/v1Faw+PicLisCAOzKyurvlC+DxgSn6jMaO3nkTlDpLb2P5ArvnGDCDis9CNpCTzEiAIUFlSnqMLDO1WpveA9RmJKHunW4MU5mzM2yVnr1hSRXfuPf4xzYlGmKfSfhOAhToSoSOTynp+LxiPElQzkfcq5RM7efvOcJ4qFkDF+W8x4isdn4kqicvddXMAkKGTKdjSv0q19IZHDU7s+A+I3cNQtHNw3eihnlpb+DD8R9AJidHyV5EQzBYJy5gf3XmLiObhlKpAkW+lT+vQyiqwUsZZfakjR4Y9sVxMx+3kRrBZOEHN2drtdmIVQiCClIuGauX7kmqeojkbFkTJsvAVyJgYuX87Gx89YJxgpyuMn0by1gYXIJmH+b8gkvekCj1DtOXqD7lGE/N2Xsd8/UCOdEx8wv+bHOBxAoqSazn/I6yIaGdxZxmPYbIg1iSumtu+c4cnCRn3gwyuZnpI6ysbtSk5wpM2OYV3+7Ql8ZTZQ8B+TlOcSWeUsLvod2v6TkCBh3lLwpX5hOTwUth+k3HdKjf6TBGJknKhz6Mb0zjmURiAD1cix911g4JzlcHe+151gYq5GdcjkaG4huIDirK+v938GsfE/p34nCW/Iq2gN+GoHcSglPECONZGEKSq2FR2YPuYAWhSFCTkcv9ptsdYbG2rlmdqftleijOELxuZXKtm/aqYuJh6QUnDjYf8Ayekcypmry5v58u/mLIM0kMaVBy1PWkCVJ0E/xn+YP9PxeDwlIUGZglxQvIFxc1HKu0cThBJI7fCUr5kGaKVNlXxA5wQ5SXkbZ97tMZkxhUEnJQO1bSDGAo4C+WevWWhaFcFVnbY+huM4KSop+m0tNRUOLQ3wlYdiMOoenTK8KThxZTnL1NWz3h5BQmDp+MjSdoCggFJu7p63F+lYS7hbMC8x+1TVFNokoYvL2R5TZod0ix/9bKvkqJ4Osnz9erwOIgfp1zlqxfOYyeAuZGvnrPmN6GLazY76sb/2wl1M0pH1yLvlWO1X/kNfSeYhixFC/wDyFrvL90cX+n44fhqFPmGSkHNJnneFcMMvAogfKWf8uC9DACv6fELF7GxnLypcRNNWed7h9Ld+cdlODiJeneC2t/3Cc4IDdf8A6kZ5GRpWMSeWb0p18u60If4bkdr1lKvpmoQyk8PEJM4Yje4iWFyH/g+d/GCO4oysGzGUB0kKFtss2m14kSlfDOJJp0Ptu+BiQVAulUnHh1IuLPBQQWPXbd7Uo1YwspCra5Vq3fAeo1r+RTUNtHMCR7b8KE2cKDphTFWrj/kN6KTnlDEqLff0+1CIOFxcevUfeGSJi2m2/plBIQQ1vxlXR8nhKvn7iR/F4PKXZwzF9RZ9q1g8MhrTBBa3X7PBUFPSYy2FW12gHExnLC95p2qz5taCAopXkWY/xMZiGKw3fL3I9KwDhC9UmbPPlofeUUISoOCC7Zj8VE2nBSFF3kSZE1B3+8PJBztodPOQj4fFwTFaT8wR/wBmhxNY9u+3WWdeZOJKxzIrMZUp+2cL4YTiQrmQayUOydppL1E4ThQWpn7OX7o5Uyunf5gP+QzS9THM0x+L5M27Zxh4vG4iEVAFep+lq7wAkPhqFTLEXOWSvpnGPh4s6TFjPYHekAcftcM8vE7Kx99tIT/UcFfxOG/N9XCP7h9Bo47JrIwMHNbfTrPvcUaMCQoK15XN3+9DK4jnLqZx9P5BkNCkxz8Lh8nzFKXDVrNs+kFJ4jZSlpsx1IrHxeEssTNINNRm3f4xzpPDXUKoCZ+yLO0LSntudioVG/8AMK4ZCg4qQxBqGJvbzhsZcUtuCLUYihDXhXDViSoXJqM8jbweH7YFdpdU22LmPhlKjkSOYW2OR6awZpe4P2/4kZlMDiJM9m8tfGACMu6ntj4Kh0Yij5k9qXmCIx49av0F3aCF4waK+/p3QvicHmNDrpLMTH3gfEBFrnadCDfvjCkhQblsfqDHvgBU8Fr/AN2e/wDEdliKZt5EMzNX+4QUOUqFA/g/7rPImd4AKjiSc/IGmbaNAViVPtDssc295wEmaTMXB/l66w5CgR81yM8v5BzhwtI+pu4qzl3zvBS/xHfCUzINdLde6JVk499CM94d0hQvIMdetDuISUqwrlpP0fbSBiKg9ZYhnMaU2EBY4oMq6fKf8p5Tu94xdosZiW/ukHBOstLj3fMRzCYvJy2ugzFK5x8XgqwnwehcVBNdOkCYCr3kb+Up2hzJTvhNjpo85ShObEYffl3QoKScw0y2YOWYMwaSMB+GCZzZlag+MA4HScnf37fmjGEc1fQ9/wA33gYuRQLFuzo+X32hgoM5LSM79H8Ib/ESZgdzz0l3PGNKABeXnt0k04wEOFWM2NwXsZedYr3/AJv1Y9IGKRMpeTdxTHJxDXEGmHoZHoX0nAeQXLGAWf0mx2dqRhUoKBYy9/yGg1n8w9+2nIwCCUpSeYmWHPVris3nA+GFHA05Z597vJmjDxUzaXykEVGoyZxOkEJpMjbQj3IGFSxEdS3vOVow8xeuWTNnZtt4LcYoL9jC48bP1EYStKioVMvD/lpDCfXoZ3tP0MEJr9Of2Mn9iD8Tg4Afm+SdIYEBQtfbUG21wYKCkSmFeT5zvpWMeIcPiYRS7dkqAv8AuDyj4fELmjiQ7jQu4yO0EntJPUNLrLyjGkj7KuGtts1YxA4uGa7G++lCDGJBdsptvr+IdyTOQ+3t4OFXIsXoD7kdJw4VjKVdz+6HKVYC3kB1anWbPDKIrmCN5e6ZmMQUFJIm2dH0/wDmJ8RnT2dq934qBGIkK1oQciRnP20JKey/KXA7raNS8YgRhV+2hbvTe7WhJxO3uW/nURIJUFBsp+k5iwsZwUlGFdrPvrtd6QUrxYtp/wAho+HMkdhSgx/N9ZGG41Qcpe5F4BwBmmoWBl4V0DQV8NbpxAEfS9FSyI8TOMKjhUDUFjX/AHDa7tIxNIX/AG1bMQg4GNJjwyrNOsDkc6WOXfTcxgYtOjjcAG4PNh7okGV18O4t3QSEkAzfUX7u+sELAOsx/BFe+CmjmVJZbt7vCSWca3+x7LaxzpfXXX6ZPMekNkXA9XvTqxFYSa5gt7y/l4dPK80zkcxiE9ZxhUy0+I7u9xvaORqyYzOnWjGRjmEjL0YfY36QPhcTEn9+Qsb0+9YxI35bjOVx9orafv0uBnAKX+xEmL/kNoZFBBCxQfz8pOdDvHYe4N/f3gYkDJ2sadMrgsHtC+CskXSpLHCbEG9ld+sfpL/p+KlLgOSlRFtqeEjIR+orhcL/AHd7dyujQolmvavobH7xyLVItVjs3XyyhiBoSJPkcvdhCXTemJ9CNutw0FKWSWac9h6iMaUh3qnI2Y9wttAKgMf1fxQ+sxWB8TcK1zDUOfe0AAFYtYp/gWv3QShKgqtWy9/6TnBTxFqa3u6dbQxBdiHb3qJaygOhREwZHvD53GcApMpjCZs861lkRNJDQQ6Eqyp4io/mMSVDV5n8hq9DV4Uol8QBIS05Z3P8QAkBXDvo+mVJZQSlIwdw6irZXE2k0AqSNaHefzNSCUANZvdLE5SjGkkCigLdLpyyiXG5noX6vuL5w5US1xItACS6m720884bCnMZh7759DSCx5VevhI00rQxNRI/45aGvoYmCeGr5rA3GaZ3tA+GvDieRPuhghbOPc9PJhAJVhVKSq//ANWeshV4xJwqUL/ezKpoYGPh7/MN05fci0KXwOYfP+3XCa9NRlDqLcNX0zTkfd5jKF89bEjCBUSPQ6Uh6eFLPmmudIdy9qsWs9vdoJTXIyPv7ZGKkEBlZA/ueoJmDqRQhnni0DpP4IbpDpbOQp/cK7wpC1MR2cu/7FpmFIWkGtRLcZajN9IIxT9a3pmnIvaGNDnnn4u4qA8HhrTpitmJ+Yh8lWP+0t7adYCgUgjQgnOYuxeMJW7fLf35jWCnhqbDLm7wfdqVgqSoJKZidtx5+jR2nfXwUKyP3h1SUihEjW7a3FlbQlPEOnMe7/zZ5GCrhcTlPnXuM/ERZ6Ka/v8AiAyk47HPreTOkiClw41y9sejwpPNLaX8V/yxzAhixlZ8tN5Q/BWJznUHLy9vGNZTKXT27Qy6zS1tK7S3OUBePAZSb0y2tGBZE/mIHefq3E5PeAAE4SdxqPzR5wD/AIaqOFM9C062I20gh8Sc/mBz+2c4OL8Hbz/IjlKSmon5Hx0ZTiJq/UT2g1RnOsmfUHSAVcMLuCgeXfsXhJ5SlcpjPpL7xiQRg90+2sqw6WUNTQ3lUdJTGcY+xxk/Nw+TGLPn+01TGDBhw5gYgc3uD5FUH9ZYKbaeR+3WClRUhQmnipmxE+ZJ6nDsIJ4a08Xg/s7SdCg2rzAnpHPxgEn5X5mOQzH2OcL4bqLGxZx9U6mjtntE14Wkf3JPqCZHeOX9RJ//AM+2l7KSSxGRFCzQav2k4pK2/D0aClXDWWFJ98qy8wZGEqHCUkgjmafuft5DiOopBdk27qMdx3xM480ux+4UPGCGJIGTK91hQ4eLVzP1BHtoHaYTSUGnd0ltA4iROQpcfUNaH8R+onCpBtcfekoyCnDvf3OzPCmCSi4IzlSxH3yjllKufu+jQ5xEJM/t1vpOSmMK7Ve18pylbWojmYPXQ5jTyEFOJJI+Unu+yVf25wpIT4iTeBl3pkKQQoMqlJdcuaYtlHw1I5XkpmlUdPYrCRjR7+9FDrDhmI0I6fme8fEDBOYq3opOoygnh7jFb1w97QUcUUyzF5yfuxUg4C6fpI6+6yAaFOC4l0t/dcAzMhDoSU2PM+3jnIiUMwHEGQr/AJbvcWgLVw5BqCwP26g5iEKEgsWvr92PiYZsf0tMnR7mFJKcO4cU/wBrjpicRkRr65ejxhatzU93du8qRyyKTnNvdHlSMBKg7YVPLTuLbMKh4xIJOYNemtdDsYbiJYjxb8SIyLiCoJrbOWR/mtbPwkqwmoFfGf2eClaGVmJb/wAN5QWQeJwjNOYnTItlI2iXDKWysKtqB3yjtKpiBBds5SMqi0tICUk/ETdh3faPh8XhrCvlIBnmlvHrBGLElpIUz7PkC4n0tBGFgbt45j8vHOe63T3iB3h0z6keOvdnDBTjJ6P7bpOA4l7dsnq1jS8EEuk2V98xK9A0Y+HxSm7O/d7bkgdr9xkQRn0z11hyAvhnVuhT/qpnBUh2+nTJtnbZowkBjSdD76M1qHlkaMoN7z6HOCMOH8G3hS7NDcRYZQIyUNUkuzH3NgUqSeNwnYcQCeA0dvmDsYLrUE6vJ+ncfqE5wghaceY+Y+5EfueCFBKFNb5kmhHuW0FPEPaoZEP7d3m+F4KHvLIg+8y7Q5dDda63APURhDlpPl60scixgKQplfT9Wx83vCkFLEA9PfkprQebCvRp7dbHvpH6hU5sZeOmc2vKMJ/JFB1H4oqMn928bG84IVp3PfViwO2ogYP026PnS7+5xiQU0d5TG18/CG5Qf9OobLpLE0VrLKs7aF2zplDY8LzS1NsnplDp5pEGXlpQ90qxPtCRE7ftr3QCzKk/oWNcuXrAKhO/7pedZZWlDK4SsKp5dR6wUqq+T/8AKeh3BoYmhsnrLI7Z/wBwoY5Fsmjin7ZWejf2gGFPxMiHlzWPulc4xTcV2u4v7eMIAx2O+V9KnKRj9SeoqL+Ux3XjtFndrbEbhgRMXcQCCFAig9PW4IeUY0JL50M59DpSRftQyiCKSk4u1syU2NIw4ykKoVHsq1tOUP8AFcs9aWO4BbaUfDWHwUdnaxByto5gYxhsWv77jGLhKxzmL7jNsjABWUqyqP8A+asRnKkcx5k/u8RmC24rHJhJGeX4NTkrKFgjlOrN169+0EOVA0Ds3p+YfhYSUlwPdJGVjNOUB+U+RBy00uISSRh8Q2uzB9rQlWIk3znI73ChoCIAPKTo7vY2Y2P5hlAoyVI9+mR6GHwyzFNmt/NjBAWoHubTd2vEzzWuCRWvh/MYg7F5e5UalWzENxEumoVcbEa1vLWMOJOh8Nnbwd3jmX+NspVBlCgPc+lDQ+Mp3E7TG+jwE/EKUt7bT28FOPPp0+ikT4qhdlU78jrRQE4GLiqHXKv8He0FJIWMN5i4NZj3nHxP6H9QoXPhfM1sNiJ6Gbxh4oPA46T2VuDO1uVUw9BCkcQgyk8zo53k/wBozaYDSIuNXH/W4js4mOEzIz9Hnm8Yk9mjU6Zz7iDrCVJRiS83HZO491FYxBIfYv70jGjhHmm4pv1BnQuIbiIcfutsbPn+YeeLpXX7iVqwkp4qhxBQC7UBGbSI+YR+5SWJ+aUp6g3vAHEOK3v3MNAI7JdxWdfZDTExMxNxgMnsH16ithAIZxWwrVjrPEKRzOlV2zt30ehZ4I+KR0fY7F57/tjGhjPmkXIzSaPbWO0rrrfa0KSoudfm7r5EdKkR8Nb4Q+FTh9nzvhvbKHTgO3abyP07bQHU+ehsptctxBdQVdhJwZKGn8fTAXwjahp1SdJKFKtFA+n/AG2uRG5pkctDlY1+aFB6jqgiYPq/9wj4fG6Hy0OndGF3+xmk+++UEoMrsffu8Y+HNdFAg4ToU55fuBEOZpqC1nz/AG1n9xDjGCNL0xaDPu+WBzYTnRs0kZj7ZwcUy0lCnU+Ghd7QFIrrdqjQ5pvNpiByjcDE+umVoSpIDXlXp8ppSRvD4sM9Oh3aRsWh8WPltfVtu+AtISmfSvenmrX7FgChUi0yMsQ8DY90Y2kCCQ77+HrAwKcKblX+e78QZS0FPdLQGTzCv3Hm+9oScINevX20drtfKruIy9HnHMyTabjQP4TmGvDgDVJEu/PxvCksK9m+mx1di7RzB0mY+xt9zvAPDJ2vkx9kR2Q9ib5bmstGq0FKkpDUJy9f5yhkMeIJhP2zB90gNhSKvcZt6i9awOZy3yuR7pAbAWHeLggzGn+mconhSZX8fKdw93hlsxu0wqlJexrGJJnl8vTTLSUVCP6nhv8ADUQxIuheYU1ZsWNzBxcRWNCilSbjoL2PrH1gZ1Gcri+w0jHNBlqD3UpLVtYdRkoTIru3pZpRxEHiFjuOu98vCMWKaZK+ktRUs5H+IMwrh8SxEseRFjOVH6CCUuFD5UTn+fUGc4m3CBFeMJbhAnzXyMc/HK2eXDp3md26wQLfUHbInQiTjW8EJYEGnk3feu8BfENO1Zt9vLURJHaDOJ7T8JyOcclRUUkcx0tE0A4WnfDpt5SiQDjy2+xltBHh6j3vDoYE/LSdFS1kSQ0w84KVMGpcS8RJu83ETQ4PiPuLg1rD/DUU/NmnNqKyfvtA4qkKCKYlU2LPh+87xiwnxafubGh6QCEGVr94rmL2h8CgDNNa3HrsYk2Fr1b/AObG4jEgl9/fd945AcQsLZhsvYrAbElSbYmvbR56HKOUpIs/eUnKcoxgJT9WhGYq3lKDgAUDeVfzRQMppIrE+Gk9LfMNwbQZTIdxIy+ZtL91AIKUHGMil95ih/mGTwsSzkL+DHf7RiCeEhX/APmpeBSsw/1ZPUjWDw+KlKOr9Q0wblrQeHxU/B4iaKHMhYFcOlVSnbKMHEUFAcriYaqcpekUJSdjhfx9Y5U4gaVmPuK9HjEAzVE3Tad8J/BhP6hszeAI07P+WB9Wvu8p6zhTy/63eVvtKMShIXSfdj3OY5DLRn690/Gcczm2IUNwTk/c9IDkl7jaraptUMYIWFOeyqxFp7NW4MEMrC95kZt5kHW04UnDir+R4bivywciKEGuosdRGLmDHmvI06dZGYLwGLGZpe+F76ZmMWyqNT5sx01cQAlGK/vTxDgR8ThO90HPLr8pN4wrDCgxa/K9swDDKCnw0d+o+46icdmVla1CvN9YxAsQ7ZZ4dDcZRz8FBVT4gko9a03YiBxOBxQQflXyMd6eFaOJQFcTi4QpuwyubW05yv1jsfEP71UNKZ07o/V/p+HiEnQfhq0mJEe7RjRwEmxCzj6aPScoJR/TgPNkLUB/pdmbmDU7MoKv6dBTxUiXzN6t4dkgw3EBl2VDPLra0YxNL3qxHp65Q7YSxp4kNR6qGc2hS+G3EFwGxNnKvvOHYpJNN97Xn94HyftIzqBsqYExlCVulX9vjynpSrZxjRy3OE9D53FGJacDidCU0cX+4jkE9DLx690AhB+xGo8xpKsYVgv8qh5K0y84w4FKToDLrlnocmZiHfKvvWFhU0cUYeaQe2m0NilRjZt4HPOgKr6d9MjGDiJCpONbP0yiXKHbDLw8Ymrx6PqKA3acYkcRIWm1DqPdQ8DiDipczbEAoGhY5u0H9WRnqD9TX1naJ8xzvSvS961g/ImhYSHu1tIUB+oKtQzlKxu35g8zGqfTzY+NYCSjAp/puO11yY0fKHQjtDmwie+oG9RkYpsc7MHzmGNGGkIJVIMOn3sRJ5NSGPDSq4eY77EXzYxiSnhcNdHS090yByP7piRhuLxMYpyMBTvkwlHDUMXF/p+J2VVPDP0qKcnlKkSTJVXdwfDboKRiQCOkiLju8Y7KnsWr+foIvJQhJ4mMEScAkEFyOj1Bp2hBT8NfESZdk9m4pORBBs+GC/D4hGiSJPdNHB8YKPhqwqpyqH8ZtR3EoxJxaK0E/wCRptGLR2DiYztAJSotUYVGWeWh3h/gqGL9pmR0rIuDd5kKhvhLAa4PLSY8L21hgtSUntClfpfIz72rAWnio4vBccye0n+5P+pJbMR+oqmYJGRnVjQwAkqTO7eHtoAUSxliaoOooRaFTL6p8la63vGFXItO4b1AL6iYBF4KhzJNUs8+nuT6QQrhs8woYpZO9IxLCglVHZSWMw7TBs+gvBRxEv8AvZy1fL0MKQlRwGuxFpUk7TpKsf4qihUuzi6d8s20MBQUT+7mbXVquLTgjmUhQq1Mpde8RyggihmwPSlX1BzTH6nDW31BJPfh8O5oJwzviHSX3ke+GoFdQe/Q+kEpUTdgWoPNm6QoDFO7SIPuotkY5eHiyVhL+/dzDcRC53aevdY1zzjFgUQ+4ndtRXwrHPjAaacBMuz1afiLCMJdaFfsPkaFvKOVTPPQ77263jttoeb+4e6dYx4gpN0vUZ+b/t1jClOAj9tbgE5Gx+0f/8QAJRABAQEAAwEBAQEBAQEBAAMBAREhADFBUWFxgZGhscHR4fHw/9oACAEBAAE/IbKGWEV7kXbsM6jrmw4h7bp73CG5EiHHTIQEd235K5mf9mJ9K7HTym/0SmRw2G3sdIzRRUl+4gOd0a8dLTXpoiKK7LweyxJU+k6an7PfKYjxBGOggPcFAR6cucyKDrIY/HgRUciOhqFdQkb2ePReYHdumoJihVAf6NObYhHgkbnTqnihbjWkjPQdBaNTHUHBg1Myw7hMKHpATeMdkKJQa0Ta58CvXBlQehTykUj9Nl4dAMUapMfl9A5RvFD/ACEYkTp2T6zbwLVfAno7kYddaSYoEBiMQOV309ujTrgFATUS+LuQD4PzkLY9csAiOi1gJeI9Hst6aAN5EBZzqBNDYaU43/gmjgXJokO2L7VapnxQZLi7z1o/5OsfvCycx2EVUxQJP7K8ZATlJVXV6vzgOTi482gXQFQyMA/y8jVJLstydPEijQzBLlt2C/0JDD3rOvBIPJV0r6pTBzpR8mlEH2AARR164p2YTZcnYrYQ+DEOVBAaz4kz7lKLtTlgCgJGOz+g3QnTwDknoGYu7FIDO2hHb98Hox949q7czwEoTp7yRXXsQQaZ3JL3DVm6UvT41KcVzVFDLtTZa7R2Q4tQ2fOo3CfbrEYjwvUJrEpHRsXoDTtjgGkmAR07bHApHo5u2y9KnSQ6cvEmcej6yU00ITrulK6zK5hRTYDFhD6A7HGvzPoEmMRZ2gu8O4yTDPq4JY/BjyDXq9nDQ2BVXpqdZyxf4jKoMOgzYxD5wOBLIO8ZUU3I5KJxgWp4a/wd12ANCDhBYhhdsRg1gARZg2+QhrIbMUAWjmRwVzgFOp702+iUaUHB+tFExR2VFm/x2PAvY90RI3pif4XpwiSaIMKp26Qi/jDmsUtZezD0yDrsd81bAgQ4CI1gBWAdh4H486Du81UVmRtwxAmV7MoY0iHfnAphV/rdWFRHhg7QBQmgVuMrVDgwk+8qeAuAnTNo+AYuczNYUYYP0AX4PlOBksV1fN6fyRCMpS+0o0bvNLopuocXKcLrv+7KKGeCuZU/9aVFDfo8ST9h1sSmPosWCtCIDikdQyWvXibk/eWGo3FCOV9U6rQb24Egfm+umi3DH0vBIAN1I/jv9/HziPAPBH24SOq9INcfRZTx6XX4R7lu6cZkA4NLun/dDssN4t7RL0X6fR/EGTrnbpP8H2tSy3Ioe7wUKZ7em4ifSe6HwXgi+ntNyrwpoKLV95YoKVzr7+n17PJOjsHWD36m+fPjd3kHqhjNcEei+uIm+cRkMJB+sOT+AJ5w/af3FUgbWM6q8SLoQ8//AOem9rO+DSpNEz3Qe137QjnJLsBMdlgv0+IrAnFiSqAo9Yf4bwwKvAEKVMJ7hTobk9XAAN5P6V7QH2IHnWRAmlT/AB9GnDtqlcCrU52A6UDZy403APRF6OAbChxkKxGnQb26hEHbLxSNppLOUnQOjvIyqnbnQwvjc6C4CD4bodMAnfj6yNLinAmh0s8o2Vp+CwU4CkdkYOWEg9KDS8E7ESaAfWvQdwhw44T2PaAaN+PSJ1XDfWJH0xGyR+fwOPsnYCQ77yJsQgduOPxgCOyzuG6vghzDtPhH1hb2jV1WuWMeu7LjdlOBMbM5O03X0shjpegZF1UiATLURg38ToFSHkQ9CFLofqCaEE98f48D8J0Z5QwVxwkeqjo+BnQPhg+OIdwAYiRenTtCu8DPz8A1oIIjRcGT05BTi9VPS0PzOKKdYsk+5dLpSPDoHw8usgV4mHFBDSfR5SdsBv6AyBEmgjXAoTYJv0DBjEM1QS8ojNZJjK/QYmR7xu3S1P4q7TAZ6CwJ76UDdKfyaZgdnAH5YEe8kv8AVvtLx3CUV/QNGRBubSOAVR7NEQ0ZRoDFIXg478BU6ql77/s7ONxBo3tJTx7tNrc5aiAEdax0g/2tocuKzQL6GjSNlDyZzBa6yTtTtRfsDQYq4SmipqA9KJHx2CHLbIWDpX4PR6B11zrtFVUBRq0aDMjgDvAAVX/6JDs+ySsDuyDW76JYBWj5wx0eoB6cnxHzWxOWLklZg53/ANE7FS8iCM/FeInb/Ks6450dQAXh6wMNP3gkN3px/LvfeDrrZxDR2/7YaPv8Pc560o13fSzrPjoS91KEOEffqfoh/wDH4Pprq03ULZeo+B74uhvVd71htfy+4mc/i+b/AP5fZ1JOW5EDWC3Z+5j91NOKnwM6WdIUf6fHvGPhgzVaEfen5ROdFWqTTdO3/wBNzilOpm/KU7jtPt74rmhZsf4WdxBegPLT92aE7nYujZBNXi4KKPoGX1UT4aVvE6qe3LQgusgW533xmVylpfj6oy4P7y9ee9mlMWkAmgiXnQmB8daaAugL+hx5DShYvaHRdUex0uF0rCn96J7Z+gFecUCo8EY7YnxoBhgpENpAcmqiIIweh1HCi7jTI229s/P0U4lACbM4l/gWHa3dAZO0UPPXj2r9nSAYhfCz4v5r6C/OA0pBKXt0cUW9O86cyFE0P1BddEtC9lMaHaFP+lLke/0OmU0oecjUbfssfDathSO607fQrPR3ndoIfRk6dnNFYJwvHjoDcL0+GgUjwdvA3IJoHmCJftE5pMmvUd9BEhDeDKJQn6IkCFA9dXDPpD6PR7h/Qr653wdP8X1hKtT6SrK+5atQ9t7nbgl5LO72Qbdoj1cCcOaqt6D2Wf8ArszWvPMPUxByNq8f8CvFvsD/AO2JU99nBl5LIppnyAx+n/SgzcPg2RmUwXPeh0pyhsHV76BOiMgRXsJEyYy9MsH/ADQlNJwoxWWZFx39AYr5xIWaMNpr5oSA9kfUIoZ1qJp0u1VFUh54KdClqJqxQ9ilvWQAAhUdvT5QEWjpwz0AD2H/AEQfCeKYT/sdTYoxBDpq50L8D0atmFZ4QREOCEOq/pP8DQ9qvErs55GdjWdq/Qk46ViSEoSjzInwYE4RsdZm38uwiFVEmD+UfVl0cUbVv9M7BTyuiNeZkylO05a2whpLM+ym9wgnC7f0Pn/3O88b5x+9paT/AOhN+jLnBto692fZljHpgPXMzZ1rr/8AJsJDfDOOBz0K/wAD8rMd/Djy2JL6DXrpSiRPaYcEi1KIZ1170l/ryEMekr53/wAL3f2cC9k0ucPpR/6gScgqMVVf0165O3jE4IVhURBfu5Q0ojEznmwTTCf+KhzbU85VU+AgPTEnfLCOKE8sWm3U/wDoNf3mrHSJV7LUmWPf84QSNMac/wC3jqrFOEsQrFD2yvjLndu8aitI4oTeqCU6BKvMtmioOgmCNQBBHsu5kEG1wK7+bCPoGHaQw6GYtGYiyUHj+yCMavTwa7E0Z/wmC2aP0DSMROZJuAtu+n56NNBsIG2wj9PxqJfEvY8GJIEHT6w9BiZ6nAluqFPdg6U2keyccEWapjohNamkGoXjoZl6G38AA9nS04NehKV4lj18RgupBzChAD/9eDR0G+7OadAexo/uJNGJyUKHuIxbTHZM/wD45idHoC6mOu/+FOHgEzew0swSKXC7wyoHR6QK9EsFNrE4vKvU7KT4sSSlx3rid4lESBbU1M299SJZsRv0UMU0DQgdODH6gDA9rDk9pnzlQjtrBjfX9Q/UwOLyqJqikMPaeqoEUx8DvyJegK+mHeqywdxK0wUfUlaNaDRufYrTqv8AJHB6MFDL1aXEzwDvvi9Bo86KCNLCT4G0A5SEdBWST0FiNlY6SpYLSlGh0i51H6ztYwQHhfj0TizTrUoB5p2SiAPp4GD2i+Lwfdt8quO2IBqRafp1/n080U99kTFlO1WhtRFxL4Sq/pmfzws2IiO4xf8ANPW9j83t4Q4ySvoYgXF1sZVHKomyRstB6PqKuw5syUERfronQjacPmlL9OlyBb4AyCPzHQoG7XdNQ/iC4hlpdZLH3W9PSRQJbqmaQavb3aNuu2WDCRfQ/wD0Dfv914WQ6HwfqxP/AM/pOKDaZ4D7/Ht+/rRbZ39159Blc9/nJsJ9KRM//wA77OwOdZP6PH//AI3qcciRvSpKKWPhKUv05QCOmyxHxf8AmB+pDt1aR9/x3Oq2cfvAGHo7Gl6xGwOsPIiXrycxRrdFfBucvAKgoE6Kv9W6dg9VILwxF4mdHsGQLodipWCPvSPsr0VluFhCt0z01/BfB50vfTXgjeqU0AOFIqKQbnej+k/5R5ERxR9LCPO7iXu8R4NqNKdEEOIU7e57uhf6XNNMERPOB6FdDIdIiHb/AG+IOVHTbSxwfatyOpxxFIw1rgjow+CN7OBSGfjCSdWkclVcXwAIAQGmsUkGFo46VxRW5seEln0TnxBTaRgHQhC9rMUbYAFdYHvHBBQTNHOk8UVLVdxeqxB8VQ5WpONRQWSToOnOjKpqdiYveDth2c0dq3YdQhNmKCRnL+LVO72YiOjgLByFgPqehqC+gvZXKuMzxTwvmLGA+Hjxt4DAjekAY/PxZagEgG4PCl3qinTkKUQseGieMrsjs0Agr+ZH1vguw9T0EzC4NAky0ImYrmnGUuwOwtEzRVXLgVcbgJ9GRPUPY7NeR5f8yHgYdaMtbXMBL0UdjPv/AIOibnGzUTpQnXQQGjonThcvEQ8DvKMaM+jkFCj+D72LGWdKSPIbVnJAIJSxJ2GfR8wCPiayKgC2CqAct1CdIlroaZ7gG0E89INjf6EeDrEHJEqYX16CJ1Zug9XIsQAPK9PsCDi2evEYuPiONoygug/CM4iwmdIJvR7J+hoPGYVD4/gn3Sm+7ocquGD/APCSenZsVv8ASKdd/boJor/SiFcqpbQPfxRWKa2QjeibnhA6cFMDFR82nT/QiLT6FkHhPeyINsC6EdpgXDmO1RWPTZewqN6BUjSDOsD4KDSA9YOHHYFNrtv/AC2mL++I5up6jRb/AMUkY+uTSlpoPOugPUubc5b/AP2Ex66/p/cvMFAfPv8AT75/nzGAsA1b9G/7VjlinId/w766U7jX7Z6eAESZ3ddf06DX0E4CRH9N/f3+nhe45htbFRF9O+wgwRZnIOaI4JOnj9EJaIcwcAQTtpM7Lq5sTgKRCqI+dm/pl8kxz/3BdOydeD98pldfea0nR0NSLMI1eeEjU0vLO9HAfLTlZfqH3p+Sf0vFsdAWmBxRsDqiYUfFoNovZM1UP1s09EVl2r6S72OgBB086gwxhnTNooMqoDweeB0Ru6HxhtUiB54g4s1X8e0QECbxavcT9GNGVPxfzhltVf8A5fo+dgJXIqIaJk+oKgWu/Cbxqfjoxu1T8+FecB7Rmv8AnDQQ6VZo49Q7TIF9NTwu9dc1obIR+muhqHZrjod1BGCJGH/wgVcc4yP+4u+xlgzAYagK52FqYkR+G6uO9SRvp66RSkSdOGAvwtfADAWETF/XkIEnZ/UlO/wKB0Yyb1sqTuXIUPqIrjDp7UmMiqj/ACe8JSYl9iv8WGxlNebKkhlnYuItbQi955ydO0TWHfehJ/ScBH21LoDVv4uuxHhIUURqHlNF4uDrRgQXSJ9H+Hs0czhllj0H2sGJ3viEgjlhDPJVKIPp1Xb1OZRt0P6I+9HY6JFJAktCfB0dA2bl4FVQ9QccXqRk4B2oFATZ39/4WC7JwsE0P0unGCqQkpg8nKXvh9D8a97Gu4mlitxDqp3sTGEFocIjNxibrvCIdTxu9oaLLj8WhX8aTlJcBAR1R7/ZjWQeUNf6hP8ASuGkgLpyhKtN06eT/oEMB4Z0WL/piXrof2rkQZ9GP3T/AGNGkZw2JSlD4goFJ+HSlSkqSj8D9bWldG8ROxoBtdg9IUPaUiq5K7ACab57dAcIGNcR0/DfJn9y87afQKvT9idDHdv6YBEEpX7/AKDCJvDYA3v/AMHE5YhV6OLmbSpUZVnTx+83kGxU97vRf8y9e7OM1SzbzRSX/wBTPrhgSk0PwEeyg+in3bZs1nT/AKfFMneN4Fi2qGP6feuvP00SxdgGW0Y7h/Vx5gys8T+l/Q8P800Ze9U+G/8AAPb84IxZ0xXfw9A/qHkV9hVPxHt8TV1JdYpZKE30GJXw+eTV8CeDwNaEhoCF5EuKKmYZ7uFBKxMtBewULBUEdd/hG8JF5jtcfZ8GruDLwoL+FPYxRXZ2j1DhDRxf6iFXOwphXlCdc0aUdPtGd2fXRsaN9dnpQr1swKLiL4OfodMEdjRG4f2DdjpsB+yAvnJmANSl1e2/hbWWFIqX00+MH4QfW8sOAK9D0xW5Z8Mfgdg9YfiqI0DFpaw8PRI1bRvqJ9qlEEw2wqFWStFdTZ9ZSOCT6bIn+UjG4FZTz96Iqab/AACsS9Cpxe0oJm/Hsx9WcNTBRyXU6oSZmH05v0CgQQtQdgo0ykcNtCG68voETNm8a3foYO1vHmk1U6EN6qUZF16oV6gBUJAhaC/4Qox5AGmhLU0CU29S0UT49RYiKy3nF6l1ZGnRxdBj5YJRj/FMMNBxS2LJHog/CBIuMvBSQoEdcCDGrEmNy5A5HHZ9gFzAeyNEcVeeBWLh+z/AD+CJRtG26vq29g+d8/8ALxn9xoHMm/pSfKGsQSdEZ7pcHnIWzv8A1Fn+jSL6XI+g0RUdAwd6+uCay0Gg9qq4xCipvCEzUHr8cFmlRXBVQyikdh8FYEAOMADA+h/0GUTp7cscFfKJevivb1PjmgoT6OmjMQYMRHHk9tn5Hv2hUAj1xFKEAvhe2BYvjmCcrsOsOPV421aNqODhYt8Q9xU6PiYTsgxCURVBQCPi+4Po5ayVRRBdnusDSRjiEEE8Vn1dBEUhq0qHTPXzxBkWjoLTgH4Aexvb2nQA7YBy4cFMLR9F1DaMGuH1M/oHj99n3AQuoCiYER109HTeyZyYgg2XsqwxIqtOgUZ5objOo5vqr1ywbMx6cBrWRDfNw4Zubk7fplN8Nvrm/Qvx/wBEFTg+QPeXaoCSeO1D5r7Lp5kWERcOb/Fih/zne4KTL332sY2f45UGLU9FfiV/SX1FwViUZ+yGlgVogvDTWD+Hqpuyv0uLpy1CajOyPdMF+UDUudBGVDx5L8a07XUtCan+NU4SdHltG1gU7U7PodSVNnAJX5Wx2eGCYlMK4n1I0Vl/WPSv0wjGFuJ8osB67xewUskwrt09DCQR8OK73MhA/pJb/wCnO7WIGVHpte2ooqJ4vDil6RE7OLmhqYfmCQCEQ9c7Jtl6nCGFkEavT++yeA6ckvAXUadpjpK4Vwm1JFtmpVT+sVFXJCUikKHqywIzNxwsu3ZIWmt8jT0cNxtikDvs7DHA29cApexunZfUKD/B4QadAHwRdYBe/wDodY9w/UC4PUTPXI+zDtOtarJaI601QWKCp5ATqUjfTg1dTwi508L+YQsoiTskAgMLXBPxtG1zh2FMpKda0oHtA8BiTTRz0rjWE1vIICt08O0/wS2w7Rw//VITsMq6Zy93R1B2KwVNTVTpkRoHE7B0piFRoNS+C5WbjaoBuoHvRrUfZYEVuFRtdez9YzsZ0xtwdGjaEp7OAAUIqNJTsrG/0LeKkZgIk6PcJ+wSOJZ7EBP6P9CUZccQ2m0qzTKf7JvTk3Ib0AO/RqrCsDiCJpH9TKwLabhOPqLCtqi4wkbewDy3yNB2ZPdMd3flfBhaUiRDOEE9+XQ6iygwH9IIQdSM1zPhgUDkx6mtO3s8hMhgT8E8ToTEfjg7Et4lTBO5ol3cItIz0pO0MAFgre1cTE6Vvj2MGY9B3Tg4uVGV8aNdRZQ7bwW4MBJRBmk67R3lwtCsNeo/WJChQAlKrXXqYcBC+XszhRXqExCf0WX47JBXv2jodgWnumLOzt91D/Z/SWKaIUS4mCqiUsUvRa5ZnjzRk8MUdD9BxAvy8iE73TXw+9R7eq4+MLoi4L0I6HGDeAoA8AfoNkkX4V4cyoUCHW9CYjpJ+cbCItu+2PiKhkLVcWrpyk6I/VDOq9nEbav3L4+lCdVY1xjgmaQ9jt08TIhPBkBSIYJGNuGUI1DORgmhnT8Zeg39m8UY7AQfhZTSw46eEpW9GpO7CNnkxG8xlAGY39DD9eHP4KPadmlglYNAxFhrUezfph+aKTxcTJLKYtXDUSQu9nl8wsTJcT1TOwlCDwaWqf0gU60FTT3mMvqv/g0CIV6EY5QEACtvQo9mz01Zzs+6sDzfoB7g2LwmAoVvQDDIildEE4Mj1fAWDrtFvkgq8p7XDYOMdQJQVKaPBUellrnjqoQL3aHHwTVQD6k6rZSC3iQeifQxGsMdkiUrc4NO636rAuiN3HyKJpGdDfjpekP1y6UEBj4N30MP0YLvwJl5OeIODQU5IQR0/AoHZiMdvHxBixpkCYTbqxanEBKY91ovSvQhUbzKD5ca75Uf7AZwTITsdCYgaN3tTvHhRXDTB2L6Cx8UOHDcWWtKZpHd6Gj+hUDDt2XYsMWFgvzMgBcK8lPW1WBiFapf3KSN7h0zngbwdWoPC0TsFfgeh44AILTe4lwr9HTA51hfQ877dv8ACdGPIop6MSLSLod2x0vBmqU2vEcP1LoCn1CBmRukpPUFHwCW48YyJ/QdYYnxuIz0DUrRtA0F8ZJiBPgRCDjpFl/oIcGCT/8AhHpomKB9OFjuG1Q0FRSulYSmcJEKQxRQQaS3vRimDHJVHqxjjYqX6yxHrW34VhpI5FIs4nWr3UUvjladgJcimMeh/wDRu81QMeQqCPgUEoSsAmgi28S1zNA+ngeUcZ2e+kQA9vRo/KUmLi8zRdf5WvmQOM3rh83wx0XbFoYXsnXCMbr0CXjoIHxEJE2vJXH9eYQ6vx6gusB1Ev8ACx0FjDXB6MbjX2H/ABhlE1ZnYiRYIASoZQRivfAeaavC7v8AilSnF2eAbiV3t/oqsre6oENfQwPjA2+CcAlU7Bvbrufh0HtAfiCRp5hPaDTvgvEEQFhC6+2SMRnoKUJH4ktdCGvyCVo8K/UqGfw3X/oGZwatwH4ZGMlG5nEzfRAe6bAonQoxZRHmIprMT89HSzwYbtLikoJ8dNdlHk/qwn9EJ3Ct7QziwWNDujyHINqumWz64Zv/ALUBkUrZvOkA5Hqmt1SfuIvLrCUO/UMj+B0YGRxBaU89I5/CRnR1OZsH/GF/Se4sTScHTjWPs+Ekq1Q2OOHVWDD1jlWmOwEcUXWtQsfF71eqpw4BhS70kILxUXsfpiPnT2PzDtZTFKcSOgsNelAoch7lZJuSSdX/ACCCDL4MASRYHYy1BvWj6Di2gdYTEaeo+aTaOPb2wHX0HA4ahvBCvd6cYPQfpLJdpzAJ1T0Klxo9esKcXpkjfSGQF7x+rhedYwf5qYw2+FDjZ5PNWHX1EB8fCvJUf68JKGXo12duOHlIbUDC1vwAP+nJtoTWgVi9n464jvngkui0hEn9PePTV1EIgk7qy9T8cdkrsEC9IXT/AGSjKdh6Tw/cWQ+k43nU1QTowj7EpUn6NBz61aofxEL0pnTFusd0dktKtr6YcwEz0AufkgVSVgvETSVshoheM9/iIOMLrCyDOxs1KSlR3XmKw6oEenWOv3TEOZsALiexIIJ/ju98AKi5EMiRhEUMxo8QEfV/wKDx6IT5x4AvqJf6NFDCFzjGqVGFG3m3v90vEJ9EBBob4fB7Fw6wwOERb9ilYToCDyk2gJrJ0K9HZirvjDlsyyVOvg3s6T94r094neYm6pSwx4GlYAHtlEs/QU6uDTthHp4wxD4/A4TUvTGi6/E+iGNUlRGHq6o7L6BURw52BP8A0xIZ5bE6B4wCAuQDXapiOwKWcEBq6RT9PewXSJ0J9Nr3Xq+6qPxnFwXnUrq+Pp2Y4DfknS/Yep0dLnaHHLFSh/YBUT2FGYhwBBYId6/UueIszObgUgCnpzBVWp3BB5vAh0/AE8hhqSXhl6hgWHXK2/AEhDm1gPVFs/6azAbCbFd7j8aIkqHw84kKnjKnoV8V30F4vJoJTbjs67w9G8BPpZBYMHsF3R85oqENETgpoalv9XLt/iFZ0PPf6ENwBRD3Yk0JV+3sGPHTpYsPfdgdH8uIbGxsf+0va7AZwIwCET6l9IfGyQXkoH81hwxBAVfwOEhJdnFGPw0LS3JnMP12CJtYxZJVCYnMjKwEDvoD7PLgTiMUpZJVrSVaNrpV4hWpEoTrEOhSEbOMVNV0PU7GYKp1ROUJjx87LDAeOhkcbJgEkQWf/SpuSpwx2WePWQ/62sRPHfgAOrobtKO5WnGavRj238VKUYhEc9YNtw2D0YIHLS+OOAgpASdH67fv64deEL43pf2gCAo44z0Wqnoim/ja+mjlImKoP0a6gP8AFg8dLTsNe5TZgntvbgmqnclmwBWTfRdx5AgBerY7ZBeO5UwPMeA0bB99lQnRovDgbIIk+Y//AJ/AJYTBY0k8zJ0AfRMcZzAwNos3BoyM6ewA6ADt606V2LtZTHUbIA1Pp7Dg5FXgW4EhIe6MdFSIxOuAGwTCOUYj7U0ALwFPDwAZAmigfj1w5wrexguaW2/AQypxxQvyg9RI/wD9kleBKjTYkfxS2p0dASKTATjAH5fhjiLwSg470MSwItK/BwPAph9MERg+wXst52zUWIezQfH4Vm8FKGrIdtBoKssxQ4S7LUosZegJpRr1xDTVbqpmqB/MIKQ4oWGnK7fwG5llkHEeD3vNL0dg3C+2DlF9AcfWjZHWLqTgA9bm98HoG9GKjOY2fB+jThCK40IpxIQyGLGzT6eur6RxXBclnrD+aG1jq6V4uXOA6VOwWF9GBxyQs1qeOgSzpNjFAiHTpP8AUcTs1R0w4eA0Owvek9ZdHOBjA3tNj8/qRmoDwpDrpIL9IgOpgMVIwkDgke0XsJN6C6QMobejHe99OsDvXnVwyajA7k9Je8UTiK8BhMEkPgDvDROACFKCla6C1nBHDebhQ0UbpKvSE4BZOIVLPSj32QixAIPqAAnDO/1oxUQ0gRwH66Ngx78P+AqmIKDxRQzoqL4PDb9icJG059QtAlIkWviWpXq6BxeiaDkYSPOzRQv8ifaVUsN8EEXUkw49+vygHTgfeauCdwNMurB7wCFTwfQoFL9b24WE6wU0PorgGkD0OJyITqGBVj/+g3ycAHgfEh29o9Ds1V4R0QEUX7GIHq/4PEdt4qo/1FD6gR4TeWnRPh9FezQnM+1HW6Iyo0Y6dBOI2cH4c6Qn+ixjCcxT5u0bMNUp6OT4MsISeoduhxp18KHKlHZ6Dovo6CQKxOUt/QlcJdFkCu4EVONSulAQ9nZC0TAG3gYimEb8I8s0WeHBi1ygL9Hp0DPDc5KN6iXFMncFHad3iLvFT0vsCex2nCciweg6eqNSYlPZ2iow4uB/HpgV0R61BOkI/wDQx9NMULvxXlVCmG9No3F8VuK4McAfYHuRN8ZpXAdMFRBKY9q1PRO75tMFUU/TKnSwT7VzpeZoLiLPDx8VfV5jsHSRPydUu/B5xrhCzezEWFF/xZc5cnqtbY6TpvYdDrysajOoe5G+qNfRF5vAWaze9aSjmuA5HpaX07oD/fxW64ayKn1DJ0rPaNLkeIxanyAK4WyLmR4lDlmIoaTFq9L+M4z+YQwX8VZR5EWpxfgZpomKFJkPDb1x3pIQ/wCirqC08uicyWaD3xUmGGjW+DacWiW9KuspFQWymnVdi7eg9zFqPI4WTtABGSoPY/p8Qkqv/sFfRncz6F4Sqgn0OfkFKyH055Q3phGC71M/plc2VDeyyOSmNeOojeEgK31Jh8OgHfW057YE1HsTZdOlquYcG2j+gA8H8H5iugekmitCiNozS4CirjkAmmKIoTPD59FvDsIJgngDwHebZUyCRoC/B2gzsrRWDmB//cjnaTqZiC21QFHudHd+G1aeCCkxivzvFLPf6ODq8DO2J+yQfMPvEYjP4CPxQiLaXe73E2lKwouh1OC8SSMQsdksDAVLTLx/RGDF6D44VYNrzGRI6/3iyxYLcXG1Vyon4Ex6iO13xkrItJHtKpAfUynPFFi3bt/X0BMpwMVi/QHbV8PTlFHiUScO/d0fE35GpzDyOKjtubH6CvsJwvIJ6rTv6BvTq+Oh3aDP6TslrAfwTk6RULGv2UKojY8i3bBKcBtJ9Perp1hIWnuKsZijkQQoIcDtf6KpRbZDROi8ZYJUe49hPeuyq6eUKEfEqvz1R5kN+EMrhFP6IP4ZAmc8U39TivZQRJMMvCEHFyoGrYp2NETzj7uz5BnqTLT1pTgBbCoWgqsVWPfalVnFcojgBqX5mNP8HGpU7T4EP+FUoyk4Frvk0lLo1KaeAqcZKh9vVNM6FgKVHx4SmmM2Gj0xHUSHh5KlJoHJPwoG2gm8etMm5UYO5lZXivBjLZSwL0/rqGeHJd0FqfYp1ixTAtGs2wK6N6ZlD/ekDigqGWvZiP1I7OrTjMAquB9Yfsp4M0MpjVeoaTtHq6CNauGEhZqCVQS/kAmZtT/ZPR1oHSM5ZiQtJT+y2TtH643XMhbBvVhtO/jXEot+P/oXkjDrN4sogfVnQQAMrAQbqQCSUOj3RUVo1S+B86K/R/S0T1h2ID/CG2T2WdPi+zx1L8EheXoKrj4keQMZbMZgvICDg63hJ5+JHJofHYiPaX8E2H3SKbLLiOLypBGtwEOjfRDj+3hYKfDRIS+S5murq1UPxs7vlaH8heRZfiFtH9BBuGohXAEAXRpIPR+YCcpBsdgmvVjFD6uJnEQgxqnXz+SdBIacTAKfCILfq9dZ0PJhMEZWapjqFZ8G2VS0YJEGgPxeqcVEJyEemV8A1KA8JBMEIwEFDAJotR41B8Dh7TG78/JOAqurCzq7n1D8Rgdhl1Tz1Ph9TSI8gOzCVR0QrsP8G88DSv8Ak9kaxkqjjqWZFfwwagAXtdtRJ+pzBSR8ASYmuX+OoDUans8Rp9XHKozCpWaaO7j0U65QZ79BYUg0Do0uqvUG1qb4vTWkJC9vAcGLVMwEozp3e9TBRfFGSo34YgaNsyURzW9BoYPZQl4pBe6nRNCTwfLDokEfyQ+CTY506evfFC8iGvRMvj+DFHrQqw0o4K/sQujzOZeRJZeAGFjns4WCVoS7OwdUF6SFwVldYYGr4T2mDvLycNZJf4HYLh4Fg47DlZAevA2B9UfiEL4eUdjXUa/wXSclVmjipfBiqJRXSgQZsBfoKoevsxE3/wDy+iA7ZGJdE9BXGBz/AIbafcol1eHdr6BhUeD8UqHHkZkD26U6zWHci8jFG3rVxEdmvsYKOLRGCLfFJVwJR6FHgR3tB2eeWnctZ+I9taHqZQpP4y4p7doGQTGOCDL2hBeDchdxop9WhtJtOf4gRJad+qUtB6nVA5eZmYsATCjuQbzTXG8MJ3oZpIu4PHp0mRhSME8DrTHj8bnJv6jZBEam15mFFRjRTAsdHgROIUiL8KYpIpSWtHlB87WNWeH3M+w4YxRaIO4dpFEaOxPNKtJSg8KPjSmnDW1K1OTyOImW394BGFNLoGbl9IdrXQnGESI+ZjCh1uOHoOIupUYrg+Mxh5OBBIP03BjV0B05ytOfzZnTuH66W8PoQQBRIwBxiU/bhLU+musv+rSU1JxeIqsNdvorVVSAxXkR7SjOqrJ6tnSScoLY0k8IT/x0Sq3PrJZHqReKhy/RORUQPWP3YzcQiravJtJKinrHgPTkYePbC1ICQq9NP/Qe7Eh2YZ1BqJ7ahFQWUwktkHPAC3QD9PEKgFxDNlV0B4lIpidNpO61e4tC4cSaK7Ku42a2jwNLy9MQrT2FmUMVIScqrlBoB/pR7sCKZxL8kMfwGf8ACOIXgqVKDIbYH6Ptqa4igF8FbkjcVukvCEkTubUDH9U7S6Cw2i9/QEaeDYHn5MJDU6EuEk1Nj1hByGQhYGFMKoJiHq5RioH69XgdNEJ3Ft8VAfHvCaghorCHC3pHv13mERIik4HWqw9nhvbqsBHO+CrDwfodQmugXNcQXgs6Vxzu6ZX7olzxYbmMO7braXIYspZJZ2SWwXKP5eDBgHuRv66dN0QoYheoAusGKXYLidJyHF9dCu60pSTdDw7MspeYs/X4DhcRA97sP9IU2eAoimkb1XoZ6VBmqZVIoeJg0p3NjEkVAnPgJJ9JTx8WHgGuHZs6Uud6RydfWe8SoHDySd9vmA2PZwlrt2zdbWBReQUOBFRGlBNwrwS3C4dgEKivZYSiKwpNxwnazUdm+sP4DF1wVVSLC/yemrGHYcDJ5O0XEp22zymhnHQVpNL6CFYodOzp46VFgQqehxoYjSS8aP8AsjTJ0En0atd5yTJTsr51qYVctOYEHfxe6eAwNFHWUrBCf0adL0/KEDwUUoV9vQZ/EaLeAzMNDAS53PgmQ8hKL/Z2CUwiIi/8ufUQoKZBnQpCQOjjKw9+jds9RRVOzhWFPkepk7/x2vegvQDXKHRcOy4wW44WAZAVsQvYdlG8dnO1kVaFINfQ6OKzs1lgQJ2L6PkoCwQPEnebpJ4v1LYep8LoekSEizuukN/6DjcEXV6n8Dol+gPHiCgD6L1R+n2DTwmiXEwD9mIfib3nDQeMEA8b0FUdrghGcfh6jodo3JheExYVBKTSKhAu08fQTURQGB4WUeWTgStz/dex70D+JzlbSQAUf+CMOvzsXlhAJ8inS8YVGd3B5kMkAh4Z4B9U8COaYcBKPHr/AIURF4Mxna9DD+eGg66OEUNxYoOpI8qIDQETkn4JIB8iht4HdI8sh3r3ndFn+DowvCEF1kwHdv8AHi17jkkLTHn4Pc6/KJ0c3npSf2h4gDKPVeG7LRHHwjohqaAU8KeEFwlZ29LwrdrdLWnDUs9WMKk864FKix8rtklB6WGRqyxtdBGMjolC1OHuXFi4afpZnaQOM6f7RBDJDBfTa27/ABy/gIe65MUruiyYwN9bV8Dk66sCSTXfKo0ahRb/AKHKcXpqw6XJjG3WO3EY/LjWoa6Px6/rgywagBfp0nBhtaEiUjK86m6QmiIgdS0Qc6da0RrXXbgsnCQtJMYrfwDWo6DtTRjEI6gvRD7ZfXFhW74N0ZVxiQxgE5aWDpc3odyUKf6nPtE30Pgwpg+E1wjavok92joxMS8SDnRtS07pTw2oq0KADxo7+n6IuuC26BrjrA6v6EnUMdNUXbigUB3r5V4fOyYSNGSj9ghprqWLv5iFfonk/F5veROpDgDtjlQU7Ur+R8HBqB6aWO4a8ZfjIcUhOoWjvoCGdJ+HMY4FbNMxnQ6SmK3IrypyXPqe+5LHF7gjXEoN6LTqffzgTuDCO9hToFfhRMMjo9RKMC0JT4bN3+dYIMIqzRR2E6cpj0CXTqLlxLob+8SngI1u/wDq6ToR5AMUvlOrV3RuuhBxJ6wTUWBADS4i5jAdRFM6fMesWA6hNFi6Qg0Xpbl60aojgmq7iGJGPvySmHhziwZKV+XGon3JiLIPnlJ/hDewLQ4kIAeRHZVC1P8AvyqzCh3oe57Ox/SR5DqTTA9dixR5jXHeAlAoWvwPwqt49RDEWLmOJYbKNYekFRYHuxjdL0gzioLdZVjgo6T433i/mI0kLqtP9fERwwYB73R0dOJ6bpSh11FTBiwoxdeEqaxux1/0U7DJ7nGSlwARDBWjlPGux5HFFmhn/XoPTXGdkkXo5B6MoMUEvBTnDrH2mB43CJsXiMMaOx5i/wC9sEeCnSHRmMP74QsgBcFewjSY/iBt6J4cqsOxcE16PT8UspwO39E30dH/AMSOdgEh6L1Jmxjo7Z6eERjG3+6Z0T8ArzpNYTI5gc9fzZ04lziO2iOk8H/nicN7faZZmekC9lstHUuJpf8AYV0ezQdPBUCgnjw6vRfeu0d2DB6mtfFgNHYHHYHZJqYhGIX1RXHsjCwV2NuvoITGCr+06rlXg49w+gPIwZ5gZZNCrQZPAj/FJbPGmBp+0+uB6t30GXjUq/hTgGEikF09Arb/ANg+DggIneopbo1KwSKCuYvV2Yq250u0U7x4rOwQR+gNiGRCjgj1yppSI4Sj6fs4cXAkId+39fHFzjbUBrBpBCRt8EzsON6L7Xl0/iPoVwxWkJkQHsq+2NepC1DnRNr8nK+yE6ZE0nBbBo6dzhRqB+Lq5+KKQ9DHt+i/4VxbjCwQimOqJnc9JxQOa+lTaUJ+CUKvDBXu17DMbTRmPTj70DS9l2lawnhQV0LQBIuxUQb/AEmzjJvalgbVeR19gV4xBFyh+JdPiGdMoZRlfVzxIFF/LZ3vHTcOmVdOkReOk2caNgJuU+YSyYq0Q8fTNcp+P8evpJIvG38uFL+yJtRKdphxMp9c/nwT+N0dHEnpoSWtE3cY+mzjyGltXoUj8qdn5Tng1oq4n8PkwG0nDaoHpQ7Hrs/qQvAk3rwk7+OwuM7EZQkjSCyRSI4oy0XBD3zsjs6E1BPakScWNzQj2O6AsVXspDvRE0hP/i/HG0cfrOd+7oEE0hrFJTh3aRRuTrSgGTFYDoYhFCfDL7GnS6DeFJfPMeN/TwOyeuF2BREcG1iHmUOij5xI/oaLNVfipUZ01hcw6ogcAhvFiCAaXWA10AhXrF4BQCewP48Zg9dZ1yMocqQ7Btm61Qq8bZRBPK66ulL8OxwSXZ1Dm/xp0/4OBokVYlUJCGxfXnkezaO0dxMWkHX9Dkp4RGUg/wANBKFNXLmGipeeu9NO8roEkRCq6j0YRPY+ckzuwUGUkQXLprrkS6cxYRRX/dAqnhxGewAAdzR2/kQVOAn/ABU94h2DEjVacRkytZ1HVKiRoYdcMUJKL9wdZUzAcypiFLmeUzwaWxB8eHLEFj8bhRMoa4f+oIh+9oCHts6R0BhvZJj+D/8A4E51XAqJcqLWjqCFyc9SYZ+zs7zWzzEvMvuEUkHpC7FxVOCRKTFh6h34gX8OMgr07RMoVo6SwvYzncg/AbbRUJHS3uDxDWDRr+lyZrFejvIb/wAwFTo06ps0UnDn6aAj1j2KjI2ryZc4BLoBsnQuqYDjEcRZGvaBFPjXw47l/wBs0mQsW6dLLxNI+CJcXjMYphfeFaNWDRtYvpFERDvhGaFFSQHwzp2vDhFSlNPZ+hgh2A0HFivVxh8CzCNibI4CArp6ViNjFF0ApUM8ZWlFWy9D6Viqix5xSA+vZbwA6S0KIqXYQzXdwIbPgIeea2AwZ4ODhJa74CNQw/8A0rO6+G0KKDqwDWHo+4SuNxzCdg0aOh15H6/vKMXaC6ajq5dzod87YuqrEwif2NofWag1rQddhYgF0fQr4/wGAFOvgYyxGlHnZwLTS/gOh+hG8QenLgGgKMLawpNHIkeAvRTpoRbwKgPBgeCuQ/XYqdPhpc75iXQP7/0OqGhwIGauNNIfWg21OUM64NLsBCIGsfxx4ZBbp4i1h7RF0TSal9GYpUDS0Eh0kznuK/8AsPAvR2qqvDwzgqbDR8C9CCrRwjJkb10fiIilU0uV5asHx8YElWUKkk0V/UHnoxEjDzrm1B7rS4R0jHUeHPD0AQB6HU9BsfKodTnoGH+wHsYjaHFh5Us/rNEcBQ8UJ+jaoGu50TolSC5z8KQf1Kn8XdGLx6qFRU+iQC++CHCM5XcdkR8jXZppw5MKdxFZZTaC6AYg81hjBCuo343WOq4YHd6kOtVmFHs8OTFBML8326O5QUnIoAB/9+qij2E61wjeOgkS4fAZ52d8HdIR0Eyrwgiz8FnmPy9v8CWdIidzxQBCP/kM+wKUAXQMJZDpQUHRPYNAo8DL5rBUjMvZGGBN4t9aDqfRaIT+FFvKBj6ddDnlaTwHfIzk7dUse/HYlEQ4OC1CXR3f1/FmhwmjRUcdHsUiUfe2sEpVVHZMPxnZXFduwPux9Qnz11eAgkh5a5qF17JHZnGyMIPUsMdjU0Mr63nnwDrdLgCqqFcaHVQNj2A3oe4pp3x4P+UA7f8AvYwPlRLqGh/gdamrPBOPNZxU1DrIXHnojbG90x0y3P6T3ZxevtBoseizsbo6XhkLmpCd7ItbNk9OI1GBMDoaNe6TiFkCU+o5KghBVO1h+2mJf/Ta0T6F1ECSqT1Hp2crMp0vDGNXBN0fSQbqKRJ0cdd4dXVN5LQYacosBXsMPAZIcdwVje4xkJszAEegwLiVonSmik62pQAKssrV6Af2/jwgj2DhbDv0I/P7odiv3mZktA3uobhiJTpwLDywunx/+nvW70kFcE2eF6E1Ka87qKU1CgHQ1BYsRvEdBFWTaX8pI1INauJdfGQneK6b7y2kTNVPTHQFu9W9tGo2JHfEFx7i9OnDspKEIFV6A+O+V4ZICkMDVZiiIvd9XkarwCDA7+ysODg9DBgGkMo4JWDrxCDRlx2wbRfojAcyqz6ddBlGzbBd3mpQ2D28f1/mDVClvVzWPKNIxyITlgLPmYSd4Ph9TjacV7J+bA4dipgjgteTKE3o+vzuBGALtDTUG/poKvqK4RB9aaxElTRi9rB4hh2QkV4ASGPQHst4lwhO6jMD/r+HlZs/TucevAI44XnTKnSn+gIN0ApxhQAM6CYhfUqfId4AZe4FxyC9lQPhVQZXu7KU9pAPDeuZsS6CDt0KfLPOVE0e8ArTRpjy6AKj1+W7OktZjom+U567g+H4EQAsxFY5KkHSCA0HkWLqnWzkP3teKNHVHT0LOpyS0dCWXj49r+Bz2A0FWPzBKknhYu7SrAdej66yxE1yCBjqxuxkVGAxgeYvoLHR/l2Orp7FGa3syD4uLjdKNPFFrymMSH5gz6x1OU4+Exv60dZXHseAotp9DEfYEDjJnNCHMZNIAXQDoC0iHCehKOxCE74D1d8BjlUKhdV0o1v1BviGcQP5TVowbm4a8pCsU/8ApJ6KNPiODlmxODiiOivrxmoUOjtRaA0aKsZwhcQEgj1LaFyH9G8eaJIhKvTwA7/k04Z9NSxQl7QQZjNC8OxD2Yb0f6X7TohgDCKjTqPUOmh+cMYeu6mxkQ4J9ReTV62UY7FBTsFibeFnqmy6ZaYnqbQcHslJUOddF7Y/wGcMoYhxDwzpaFHUiKJ+Kw1hjsphsKpVDbCi2L4ATJhTHi07RaeYn0tCL2jx5EXYqV0f6Iz6KzUJuHg/EV0RMaeHL31EuSGDaptFJ0ctjT2hez3rcN7jvxm4uLI60GWJkIiw4d3IJh5A+/FIsfXCQ6hRus0KzNw39ODgVpGrgX6/gOocfdIH2ZpmoAOwgbxtqqN9O56TxRboVEPukC6X+S08JxHG1O+FGJHoV7fx5AHToD6AQHWRE7rxN69AtN37+g0TF4RkjY6GlQpCL8v5OLrB210OkTpxqWJ6c6MjsJDvWUQvudMs9Ep/qSe+6T2ukS7txiCEHbGaPRS8QLzCi4TqMU7eqE4/3tKKOI3wDtGx515B1vwDyzpGqDpEHUt2EJ3NLRrcEObPyakTPgpqH/rgxSR08jXooDJQ7I5HA1G4KdGEghPSs5FCCm3SwowVPR3vs47dLIQVohMLcrq8JVZkNYwdol1gYLQ8YiIo0E3wtM/qxq6ZadDBL3Ow1qmRxFGiCi+hnjwvvFc73iK6M0TQvQCvEEbSrOy6nQ9XT8YRk8xTN72dJH2K0Y9+VBdZT/Q+CCcXaSFDHhRO6hclDDD0AB8BVL4aAezwcxDtlfcD8el7ZCwWaXt37HAknrA7A5gir4008wPxgseVj9DIUgGkPOxBXjeK3k0aU6yZEU9uFTdgwK29MDDrLFeNo6KglvRE8V/4EKofSvgV7VEax0nEo83ZRv4BoXQgheQC8I76jaA7S7q7JyWVh6l9UHo6mHQzkigLvZFYYAqR0bfQDpRnB2nRQZcyJnAjob0Ckh4KqZuMOEWfIcPz2xAuhHQ4AT0SNvQaIWA3o6hFDRiZ/wBXGDQOBjJaYW9O0dBn8OJTE5dYBew+xfImiamCym1UYMfoCBAWoMK1AtxSdfVF4cDqgEQUB+C9F84JLZbBPo3eDh2KdHie3Ae6dFnbHxJDA4hF+mKJAvwXWkV4G+pmBp+EN/upnLMZk2TAu44P+XjbGaUdDu/1Z7IWvCKb+AdBlZuKPqAIynVIAJqGaagd2d3mIx0MTFg2qEYhxXlX0EM9Ccy11nieI/SXbX0Uh290qhKXb2BTdd+dL2dSculg7uhJ1iSB6bNcef7owJk8QxJwBdFvTWP1vQY17dPDImRdVvxK0S5RNvIQrkWnteyviNFcQRLqJMIrLFAdLKM4G8YZQTSvVko0B04EMq6R3oZq4dKrOKxBDrENXbpkNEHryjaQgsB06HBjiUda0L8VioRYWxOxKPctrB9Y/wCIjx6RQjJEF6kwDSEVeLw5fQWuiUERg5icXhwoov8ArHCD6ZvJJf8A6jCd1RTuChNj3oIP0P02Zfq4N9evlG4lxR79Dgp0fYdE+/QTZ8Tm0TFR1DBQejATMMeA7pscDfhk7SCFyf8A94Y6JtFqKWCg4LRSTxTNI3/ZYd1sUz0viO0Ywrg1bjg+1Z8Ya8Ua6GPGKVmv8A7gRUoqABxS2pExmgDqH/AE0zsXaB+wa0ydpkLyUuFUk+Iun4njHcSjKwQEpWk8CEDz08ITYH44qxtrlvNeeOgTRrNf1EjvLSVvg2dAxnd+He1oyVBwW61F17Xu8prEejFuORpCs1JTI9P+qxCKkH7xCZ8Blvj8H9iIxbySQNJ3NT+sB+pGPJpWyNN6NKG+AkiOMPihD60H9hh8OLbdDBYiY6DQFMpeGi8KP06flg/DF4OAeooNkbO0GAsuU/tBwPUC2L3GCsHXDKxB7XbuNMMq6TjXXBBh8l39NFSuPCodVkKOaj/+hxFJFIZ/gxegY2A7QOimqLVl6elOkTQFNQ1KLtK0FizxSL7TJRIpivfXVLlvEKkFWrotsjTtpiWsnX0jO4i6CCyM5oDQK7Peusi6ZxOZfT03f9QR/looXH9FZL0em5AgzNMDxqjAxoC/4lSowocA6xELRM7bmwCyvfKTEAlNuug7lmzt8xVHhtfUv+hvnYeDFgDAuxH5SqNL3zUuqftQNNIAdKoAzhki5cMDrCH0nEW+7Kj2J3fQwPrlbBr27rgxSHExnYVi8BRbCePn7ZniM0Eqr2QjqxTAPTlA16SeWdhGqRQ/BZivmTtRYrH+dCJxtQ+FUQguaPk/RG9AvRCpBSVg6KF12LnQl0mW/XcIr/Bw+kMZ28fp8XZSJOCeOh/SXDU7XQrfBXPKb4kLhLUa7iuVekux7H/dGrUo5X1ZTn215bBjrELjTqZWvwAu7AIJXhTzA39IXYoJGtE4iet0PwG6RMOoMReMtSQKYj9OmjooY4XaTr1UG9CDWiwJPKtp/jWte9jL2MTg2H0iO67nowrVXDmPZKM/a9/7BG4jwnMzqY9n1Iavjl/yD/Dv6gzzEsHH2vRmFcA7Hg7NAPOkRxLVH9J0IdI2VgVHS+sUMdJiegacCQRUASMPn/0TkwAlJNrSMSUiae/CABuyPsBlA/8AytlPUD3mNpAiCiyw7C+hYl0E/AlRyfQ4sKNYrO6HgCwU/eAwuwqxxr2OmFonCMOfpf0Uh9BfqC8XMKD8Sos0pNE3zThsPd0fQohfjIGi8KtUr0+qaCa91mI8IO4g6rdG79SlTYnFbMY7UI3ow/8AQDvgSUlacJoR2C37nM+6X4ncTwav6RtONK6UNNff53uqiRmaV6TGGVf3fI3zmjpTLFdFPgzxodORxEovRaLmxGWh1xh0W7oy9FqjPXT1x1HRmvR93VHw8HOov0nxUU77eJMgA6zK/wA/UR/7tBnLng3XYpNn0kY8Y351VE0lqCJH4m8UkeQPazXyQfBREgMr4gQVRGoN6X08FNMpIvhTe4sxRRwGTQmBH2tjVHjXxLH6i+gHdIfBrs4pFIzr/fQjLU01vP0MCIRi+gf6JpXGwMXZxv4AXZWiN4WAMk3cPsNPj+jB0/26WapAHCyN+GlfEDGb4lo+ixWs3m6NZRpExRiaJyNloATpljflP4McLarA1BtD99R0wBQSZq+dshn7KnYVPFS8juPsToD4ZGTllqEHpdZ8T8QadnEBvEFKPZTur6NE5BbbXKjFqARvWE6jxBTFwRpG6frEPrir/UNzBn+xoUQQcWap71GMe0wf1uknHEMT4RfD5P8A53V4wOvUPamnTdXtWMgyzykE7/xFfqt46PYLiF7L0rE6KqnHo5nZ/FK9HvSx43oYq8k7+Ae10l4DnNQIiztgdtvXVOHdCHtZYsGBQ9NYpyYarNWqJ4lEHaHNGUodlP4A+KdCMS8pKSYp8ZMtERpeDab4k4lAodyF5V4Z3Cpw3WaY+kgqU5ZHZusSEtbvv0nRwkFnAEH9dwKXw7cs9oGG2JiDYYt2vAdwZVA6VlSaiNI2peo6Y+H9PVOziVtvq1E3CcFNwQFQAK6NfTHjR0T9erLKXu5Qe+sLShg4VjZhoU0E7dmM7Iqc3ZXdK/vdFUMxfHiKdxi6TU3SF0lTscKrCL2h/AUHoD+t4MSHgpdfo9jVIPYSouH/ABv8DEJXeDjaqOi6C88VD/gpxq3oDfALCHW0CDebrMqwS6WpSlW9HteRU5KW41/owukbfDUrGeAGII7No9j2c2RNNIpm3sei6605bf0fGwo4sTenudoQus7Pw0bXK/Acmgfbsc6QP3xlHXHFAFE7aRvYYb0MeVJLQQtd8ukofAe8LUOjdmkk6qEJ4XKpYlFIpof4J0HzmZPV0G6vDVgm4cOHShep0FPUAAUJzJOKDHH9AB3P9Fbit3BEEHoJonp3wx9ABin0PzgmYNPLvUeiHVJuFQFXCquKFB2GIUQlGUQinJ0Bi+LAIbassOGFE+pmf9FPe27ONohQUpej9/pro1xjYFhOz8Vt+OkvBdmJYzLXswKbbpOMQo008QXqg2INUHmSNBiNj0PwIDE1B4NvpQZDt9VY9n0ZxCpbkWh49NWk+IN4zbCegeJ9MOzqOnKnLOkUtEzF4E0KxxEX4kFQCbpijPg5uBBoVlr3b2CIHp4LCnjPGfcoFRwb44Tfb0R7Kz1Y1/gI+2BBiiqIRbg/xl49Av7wTOh9Jmz5yjdt2XAV1WzPBQrieCjIGJiyf1dlx4LaU8LPSd6K6Xt+jxGGGGhqdhS67ycfr7ImWXcD9I8skLFdANFbIXGngJw7aPWYNOyfkFiJwv1U6Hvjt7lbdHF4HC4WEjnZAWWHvBJ2GiAulDsUjCnoeY8AxfgQ037EVU4Clh39jZ/UawNLXMQ2FfVUcKdol9Zx/QUAF8d7ZaxPiBwZZBj16pWmO04PBjMHOgG6kkP1/bgF6DanayIu7hIvDNd9LT1H9QiJGlmxY6O3YHF6hg3m61BQTNrUwY9tLZxbMD0YrBvx1Oyui8RgvYSexEexcCEEU5EfERoX1Igg3ccvXEBV5JjoSZZiUERnI2dADV2G6qTp6S1U/wCDJDoDT0vw580/wLPWmYgxTF5VBLbr9Bwz0YPrhPlEu/4uIMbJl74axh/Ibj0ijeBjjMY0JHSG5DcaysTGGcMWImpMba1BrtcbqsGQBD+bIXI2nBn9yqKHGxqtNGR4vCn4Bi3sDOoLODwkwRqwX6iahnXLeiyv6FJUsK74OFAyHoT/AOi6KJxMXUELkSp8AqVkAef8LTemwXorc/0iDL9gPrqEPSpQzg4joOkPhVVdhbWng49kQ0D67DaCkeSKvYS15cGoxuMvKzNSkcKgafAouCHPQJIRUQUpPirnrhDehQakNt/Q/ucXNcqGxFp1AU2UAK4j4rnEED+c6OqOEhfgv6FIIF+O8Xxb82w/wbkwwipNBa1q6/8AqsQOvDHIwEtNKPqqxZicbBTOu9BNkIZjX6cb8TZAnpoCNvQdd8RPqJsO4qX6nR09AOIAksNw4R/SSpOHaiEp/DJCBnpQZxrmrGDotLNdxTAdgHlh6bCNATC/wOnBj7QPRPUwU6dmYRI6YuJ29HmPJ8W2DcGgrhF2ZFHSORxBgEw7z7Pz/wBB24kN0V6RaeE14YocVzCgudwYJ0GSVnfFgCGeBnbsYCD5GccJXAAv7/lMn/eSUsECwlKO3oLgG9Fe/dtJlD/H8RXfJ+BvSo+x69fJHhUppTLa2R46PBfbHI4rCTQMGmjCX9Dg3EFJSOhifLXHS151EEow7UsP3bteOALeiXsM1YY7iE29dcfkdNdMY3BEXn8YdWo6R8ZDRhDHL3Xsou4u6h3MMDkGEhR2p68rUAgDDeI6aq3B2n0m+JK8JRGg2fU7G8ZgBKoyzM9nEXusRQbjokZumMWR52IKfxec/wCR/Afnh9IdLoCgZBNYSO3qvtLicch6EIZnD5PVAp5zw30gL1kQSQWOTXji1AZjDJ9BJ/8AgQYkEdGorqIpQUyHOk26uHSjpj+xnnGlL1q2xPN0TPgJy0MATo42v0+kVmPOpIxzOz67r1fYE4isaSnSteKO0ZI67wEJBEyx6EVferh0N5rwpCxWy+2e50STmp4d0P7uDtJoaE5dkh07CTmgQdCnfGUATCGTG6yz753HEDgDoB7sI48jB+nGLOg6B0gk1+ehJA8YnuQMYYP6CNwN4RzcDUJZXtCG1L7x62WGFNDfIVHaK8Zx1bH/AO1cvTRulAavTfbZjrF8LSY8EiTXPZudo8vKA3moyu0BopewxwcWcVMK+MYvvY3s6Zs4deE2u9yRMuoFNGzxIXKjze4o/XyqJyQDawrWGR8VswoS5aGB77nhwdYMYa6jDsa7rJMCYEDCjmqAPwClcbCx30TscYih52JgE0QnFFV4Oyi00uU7AK3vajhxVwIpf8VKB2p+3n1rIZWVb4FEdkHvlYQTRxmzdozU106cxMdCzoHYd+52lDD526/tA73Rqho9PE4FJAF0p7BtQ4hVgqYzEzHowy+gFrthwh2A1KQOtcC1Ribr4TUkmIzOXWyEzuftSFpdS8TWW9QSaO1IDpwDCfp1Nf19B7jnFSAqDw4exL05Mzggm9qBnZ2MZ/d3pfLUaBboibYrXy9531AM7TQGgHEgzvCB+8AnbBPDGmKaK4nMFMtRwwfRINJSwQ1UdEiingSklki6lnIHRVoJezpgCowMDs+iWN72RSgB7vEWA0QR/pGafBxhyYxNMf6TGEs3L6eJdc2k9TW+F76Uje6boenSNpLUwHpwwXogxM1Tt33i6mkoPlBdp/q0hUnfBICrjNRB9zqrIrrlFW3ppSps6IXQ6OVwWELFIwemtP8Az3ygVeMNHoWHbKhqcHphE1f+p1WTGA4gMbKLk/EkdA9gtEYGsCDmJl1BKEvAMqrZA4xOsxh8VjyKUgEC7LfkBiw+nnWqYBEhoPYM7pNQ4hTqeT51aAliZ1OIJaGm6dMPqaz2cRBT8ydn7ej344pjdgD3WrVmPWrXBMRIxQ6QEZ9F6fFxInRUsGE6dBIA6horuYX0anvXrZZmwRzl0sOFFUdV2DAOLusQDh4aM7Z5Yc4wk62F+9qFdiiV37IsjrsGqJpQg9V/V52S+QaR/VBHViY539wQvHSjwKWBDp5VsSUFrfg9h9ajjxWoFP8AZtaeDrHERQoSqyq7ijz4U3Up0WNaNB9IxLMTilY0wBhD0iUzHcGPMlDVUPKBu9Msbrg0kcGNH8BAARKlg4mxiDtERBjbp1/R48dEndVH0kX4KVWVHzawMvfwLvwr22PBQ6cBCTqR9CxBceIB7v7JdjprA+heN6q9NfUbr+ijpnBKw7Ywh36aNqqfoN87KltVtX5aA4FKF4j0HU0dWhTeJYtoEdahkoQ1N6asxRGXxB8qvZrG8VxAd4PWtKfsJlTeL5iLQhvv/wCRhbvAyKBMoNjvQR3WgcdSCC76I+QJf6OEAqwdEzLBPWa80S1f5xtUtH9gLJFy7BaYvTv6+KEnsc3RRhg8Reoztbo950WBoBO50mxRsqXkpkd4B4t97rz4Od3FI9RPvYR1GeATWACwH3ymHpgem4i4xvyugzH8QroKIHkoqs4YOJBnqJtjvOzZHnwE/wDQmk1wmFBJ/K6DgxfqcfIQlhS7PR2dr+uxFVSA0uo07uwGdg8VjDKfB62kx6OfZzB0rZTuDQkf9KG8D30AYU6P7AeHp3wnfe1dboT8KYd9ODfhOoQYBB7O/gONCWqpBisadnskYIcM6JusCStfQcG9EtcJqR/pEarB+D04IghGkX2ivutzRwmSbEAAyf8A4V+uBuMvrAo7J4uxRqGZYm7xv/M8khZxLrJC1EchFHLpBqhWBqGgpstXxSg3Od0j208m2grDwMeLodGVsxD13WfwOK+lNAxGPYD+hZUj9OEUQxSimDUYRLH08bvAUPQ+Cf8AE1MEOiR24ciqUZsT5k3Os1BfdN3Bx0jxCbwfF59fOxR6c77GECjZPWlL0Gx4cwmsLm9laQzt2i+a6dDxD8OK6wvD8qU/BkJnlgnbRCYUej/VA7fxqucGS+wT/Ax+CY0eEL64gqL6O8dGHp9HwIAEHJHE7NY0OKh4RVIEBF2SkzGXF5MtqChaKdzXnZd3hLA2YA7AVs6k7hu8I1V0GGfwWnZheuJQYE/PZFgr3oQOaDyhuyItWPFkOBOcSMdgpRApGZ54YSrU0NmVQdC16mnEJPdQK2l9OpMPojlwLFAIp/oRbf3ojmQrFUbYhC/0un6tJJbhSI6T0j9PKWYxoK1+DiMBjCl7kYfCRc22P/UGJyB3Ze068Gl/A1JQKTHuKdIekfDeg4X0WFH46jDES9foCtRuw7natsRYgP448hioETpfhhrHHSAafCqFMDs0/jTDjTMG4d9qZGoxQ7Q8shmaDWaI9FMCVDvIsqEEx6Z2b1jvocKrVwCHb9TsQIKd4ah37GXt8p0no3eVVo5kOwb1X9KtQThtInUDnXyU66VB0sevHt07bh7OWDU56vHUOfif9zZ2cFRZX4pJT7XZhijjDa+joi+iexJ7+J2jkehKz2YInwCg4rUVcUjkHaLT8h4lpYFKp0rgpR3ToK4inDoKRYOShTAywgZyWBO/wol8keu36hdSh6OhV3+n98BhNODuPX2ev0Hw0Nj2jcRrqg/QoxQIPZRXq5t6SeASR5ajxdpYNYXgXJs0RfWw0fkYqqX5V3kHsSNGLEfTeopm3iuyl6+z7QT467651ZEsuD7B4VL1boaiV1iDumuxuDEvD2bitpENfQhSg94mwLLoJKl7E9oJwMoT00/wFFQ0L85EFVgn+fVQwX6YvHKkbtMaH6YIrovCr0gCLqiYKL9NTozQxBJvefjrsWb1wBjUoIewu44cwVFzmEXf6L/wXuBUXBUgUdHzuQdsd4PEYlCvcWlQ9NJvRBlR9HCCnWj2fg6ZcAyuSouhkkr0z3eQ9s4kVN0ZFw+k3gsQOicdFnq4UF/h/YwpUsQr4IK4WZymOEZBl6fsoxfQhF9lYIBXcM6GiAm4sZIf5iMVyUz/ACCNuo7ILR7Z0SgJZwkcm9lHb8ASIEEhDiwYjLSatNcIpHmQkg4s9oXH5hTVdqLMVETVgrjIfG+FWl2QDXv4k/kvQ8NCA+P91v6LR1CcWOpjSHGpR5rtXjNerHrCIgSyZtjxFmR1ZQehB0ZvRH/Hz7KBEQ0H+h1RjaES9ynfyYg+0c9/66C7o3wH4s0c7IYN+lIPs1Kn65G9ZA1dn4JjBTtInI2IaUFpjcQg1ajOpMUtUGYHAL6ZoN46hAlB3PBK6FBVE4x2Hxp06wyXcdIoFBWCcg+Keo1PqiU4SaKkenSFJhy/1by3jehQRCqkTs+Dgx8ND/QaM6BkUXjXUJFHRHQS6Gnk4mJCsjB4Ej2Srs1yJDBUKoPx6WCEpvCOYK1n1PupL6Sic9K8QzokWJS9E1eYFp3uJ0dIetezHP1IhZkoGwD91Jxg8sSJpDGTwINjkyQfjA3pB0jSdObADTv8juCGOKgcCBC/Yf8AiNXPYWjgkA6d9BRfCJgZF4XEF7UngsCxOxWgEAAxKhFnbUTpVeb1t8TZ3xdA9V4E0LLaUeg9qfql0OJ6U+o+dMBfUwHgMeR0ITosoI5eW1ohFW7fpfCtMVx5j0RX/pAcCcKSRDKpg6LTT8B2PMIzEGH+p5VvMRYw2DACOhOxY+h1e8HdMEUfSnVIz2KdcWtVA/ELWj0V/v2i3lxLgTyhhOiigc8pCh2McCrZoIdxzTHuilbaDmSMHSTgr8V1g92MpSjE5uWqxjYUBSBW9y9PBqqNH3W1K6cECPAkizar0Z2P/gjxto2JyP0POhY9XkwH+ASRZBsaReId8nsdGrFj350gbwGDQWVCjH9dkiO+VfBaKyMvkLTVaRwL2NQFyKX3nfhkziy71RKdo9yEr79nGXl0swYeCxuDDE8kUHq2VlrwvYS9obxzV8nPQp5nBLQOMsQ2QyuwmJRY6FElmUItJdpGwq7tSXOawXz03IfGgpACEnkco+BmXVhc6L7wjChSRO/QLcsjT0cduJ0Pivj1FAxTiPKY9dp9BWMCYncOLzORGJ6dks796a123h16zpgmgpGOI9iw5Vp2oQAjdUaLoAfF7DUDIpOCn6mU7yeEER9DdOEcyDDo/IKWtA3dBzhHwzxSPRoPz0kEHLXxqfu/FIDhV4YQ8xR/Gtg12mjwxh9G/wDg5Ep8owPVpWjTcXrmOLPT06QY/wCutct3N2Efoe9tGY3hksTsdt0npV6WZ3g+R6SVcTEdYboHMdx0EH7IwPcHSNDxxFBsaVVIwyp2fGZzJ0bFK9afSOFHu8sjmmjx/THF3D2wOCPIKkFSQgKaOPhxf7RL4DjUrZo26OICSaWrpGC2Gky0eailh9GLDwdfKSDychIjxICsCjQB24vDuX7VNqhidBLw0loooKMAqE6pECcM3eKzrP2RnTAn0LLA0ED/ABQ6k29K8Gh6qY7duwqTyXeTT3KDTxYTGxwwyi/dkrAFOjuobaZTokCJXIHvwNUdtNvJBLyr0JQUtG41h5mEnwDYB6sZng4b4oP8CBs7thGZghjiEO4qPzdvY9TijY+wAqOg7f8ArnvZUM0q8l66orjCAUSBp2xSrPQMgUtW29KXvINinneKWcNyqdxVnutT+jbidaM307ojzNDUOzen9tSoA+Ai3hUCqp+IB0By0RK4sXIqZnQ/732KOjh28Stwedt8eiiRU4OsHRQbBR3Ui9lYuLTruplKyvqA7QzijCxSHQh6NFbIG9ynKGWRNFHwoUjgsTv0PyBaTToS65SMRmAWLbd62aBvEkHQZj9Omxbtdk5Rwho6T+RjCJAL1xCkwesZO0oGfl3rJhf/AOiE7C9+H0HFqge7QnpKB0YgdcANLKHRiSajoTfOMJenSfQGoWJKdnzgQ9VVfUL8UI47uGiO2VegpTpq1dh6TnfA6Qi7w6NfttKjhLYq6kD06vsSfJURj+TMqphKxB7l/saVPSqfdjBQSjI/SyTA7gkO3bI78Bfdee37yiA1AMVNGA4m4CHWKcfrCLC8bspHE18nSOkPY9hW4DBBoSBkIb2tchH/AEXUZ12eHpO+EZ0RUIz/AEBofxwA5rmhwm/6BBrpodDyeCRgDD0dzrfwGZzZmn2eIXqTCWHkYYtPRr9MA9MaApUApYXSuhbHSLRTeJeewUg9QAXF+gi8qJdh/oKansPbSjKgOgCLOtIUSC/vg7G/xXpSPUdn35z80sMYHfU0K+LRYJn3WCNdDP1NV0KPBOoQCGCboNmKARvFFlMaLaHYOpmjpYAwHcl8SvSxBejnK6Q/p+NmEAyu94ZOXD+OwPI5nrLUihQHZEZp6CmjfRL6mxae2FD4BvDwFY3CDtgZh2Wlx04KuT08C/vQAUvZXjJOtq+ltCL6EhvEAwy+iJiFgOae3nALKFoizpnqGoIWPI3wqweohrqialt4mSRKbV7r9K7UMeICimGeQNVP1VEA5MuWywZvwAP0I6RdW9YE6AzqTtG5ODTCOiTpp9oSTJ6ThNJ46QWjRW6edUac7SE0X+Wb9NBhvPhBEQRgAIIA3o9rgFQZI4cPpewRiaCCuvQDsh9AoN/r4L/+VgfAi6d9WcKrqHANrXRUmhoXm5M/g+AeHrwwoLwG/wCt+f8AoHr6k4QkziiuGLPpYHE+ALZK4e1EhDPovHjUIhoriUJzHXgQ4ddSek1dEiB2tfFpMkeww2udFhUGudjd2Oi4PWewZNaArUgp+iGOoIW552TqP+BHzrOhTZxMLNQTDK0idpQWKUHh4QQjh+rnZC4oUeBsh7di2TM7zXqH6NEKe4xP/rfSPfpjsldGtkPZ1XyWV5h+HISdDMUyLkmyoGyYSe1mmafi0nklSqcM+L3BV4W8HoxEJJiCkYUMVTNSaoBth0DE7CXzeJ4jIQZTrkBQByEHD0MQWhJM5h9gwS8Uh0A9009mAFiDKoVYpBHtEzcvQ16jlnEOUdme6AvwGpcN41QyOvZJiQ2tfpxeqVqlRv0OlAwPVwjscI6eFXqTA6FQeOamhS5h53fdS9DypCxRFkddJ6/xMc6R4QfFMMspWz1qibCa8O8/5uBC8IqwC4jNIkOLS+DUIfod1rWR008Q5DwEBNHCexcx7AZJ9JW1Qlp2VaY3uNZw69AX4aRi7cd/eWThGhkwESms9iJG8Ijl4BUnV06F71EZyppVhuohIEfgGi0uAgFt31dfB8QEWeJLtGas+yilLdtAJo9vp7xPyZflOEERIWD/ADR/Vm5w0piu2Pb9DpFgYwcHdb3k6M+LCwRJHJmpL6IQ6OH7DXbiRg8W1orAAfv104K6rq7K/o3HpelJv7qGZAKoDhB3gE0kkJD0eVFdGT2OESihOiS/iUIhsfHhZLmEPtzVQfiy9mvQaxXN/UUkQsOS500zE93EwCDxLxyYRXs66K0fb6mc9Ivp3+4xLFdCt4VzdKOPKYJPdGADOTbUR8XqgMFAGF8TP4NeCiQdiWLR3mXVE9J0ETsCOom8NFBtP952Ph0g9aNkH6C38PAjiaT0ceegISp2uxoIwG81raA4p0THEIL0PFuFKalA/wBH0Bz5E9A5J0ClCejBhNoXy8buzouGbhHx2DsYVvMdu4BdA1kzhINgpDslnnggUkDBiErdj78dH4DWcXZQMPAP1rA8Ho3icDUoFGvdod7JGgcGJ11qPdQbqRennMA3F+fd9CdmNArkILTz/DHWiTEZJkkh5IyNQ8H0fRFnsyyydp7G+uA68K6NH8I+CjEDEbyZL5oIeaY7SveFcc/jT8EvYLA94acuzPNFvZ/ppGymcWBmezC33NPD8DkSM9heu3bPhWP5wtmUfXiP6yEhRHiDoWVXrRVMnRgYaLzH0YX1iHS+dnh0Saj3QB4Mn0CIH7zcvVppvQ4yS3dFeP2odCHpN71cr9PFLXZwn6GxQ3PQeVTNqzJpNReEX2TjJ7jI7h0jkNr2o5YpRCu75tVxNXTtyLiUw6QCB13Lk3ETMCYT8YdmG7hqnNnEKBUjp56OhosvE7NxR9WO9BWzokWI8jJ0PxpttUlMLLkhCHuslDBQEkVxglFwkXPRCJoGgIUR2g1jRhIr9O9QOckJ7UGL/QJbV1nPTwCFm9sYHwGrfGjfgAq1GEhEreCcYSZBhB0nQiPo6XeXgqulYAoTNJjHFOQAPPTF6jP0nOxE0I2YmgXLA7ulAvXCA8tXF3629NBolAVd2DU79l66qhROaJWYkehEyOfZy4cRVIqIhKfvpC4emWhD6Ca1f0EBX3R2c/tskYcVej9BKme9j+EKbnFMsMGBB4eXZ0KBSymS6xw85mOPi+1N6F1FqMg8yhH8Iuh0FEPg8OGqYIRZGmHDzLKPATsL132SOPeNS8E1Ag+E3EABNhMXaFRwl6YKD507f/3QcKE4TsuYnomjNs6c3Nfkf16g7CahMBXIR17UlHKAJ947SBgIsFD4mhYw7nHXdhf6CZFeOsS1Vw0yOk7ilym/1EgGPpxVRp0I7t8UYjQydZ1AL4VRdWOGQijox90xcZC1dcEZd9D/AMYi/J7VUIgEfH8VHuH7WdX5on8PxMQelRvYX1gTFioGCzuGs44cjziycU73tgOh4WvpGB99GqlkKfA1NgXuAEYSlJcYbBqXSt+E1CtA6wTi2Mn0r6IKu074bOZLh3Fy2rVoBF3E4PvZoQl+dBtEYT755z7yQIJY6iBaXfG9E7WAA6uHV/wJrahIlAr4E/y+Kbo4i7lh+Tt2jBAxj2aRJj+ALUHbEsKLmoPANDLGlOKXZXed2mIHU4Wx1UawfONSg6oiKrPA6bvMKDGpjXFQ/QR0wIQvddlpw5/g7LI74iE3tQgv2PiJqZ5jS9XhU3svZMraBeDvSIk2fTTBIZoozn9sIDj4dsKZ8eKAm4ak1PjtWdGbF9WKSgP09Ed5TtQ9HdEEZoeU0CFspzQY1/VjANAoQwwOEQYwM1/8DC7jvq4GXFnvN/iZe++XguigINfrhNkFMeB0agczw0eB+qVBrgPRhimo/gazJkUa5Zxjw8A7REy53BJwAxfopF8FCB+uxwqTCgqo6mnmtlaqseeLqaNbKgtxJnLxmyJmnbBEUrJSo5+J6sQfjFGN6QYI86GNO0Xs8I9NnaNNoK/R9IyUL4L/ALz38hTCXr3UCwvZQQUz6MWPqHoUUanMK/0X9d54Yo1LmlGvhpM6Qj6GmxxNrBZACBMxIHhwKMaZ4wtoK0aLnEae+QIXqSGO8UJXXLdIAToN61GIum+8OpSnQV10eR+THBxkpKGldCoxA1wKE5gjM7EfrChP4z1eB0FqKFd+F0HkOKKt1TBzupfWtHR65JmngJ6uz8bPT28CpIWyvV9V+CDs4JcSjqsgNbAnTfuOO9QISB4d9x9QpJPpUrRuj+gKdS9cEql2NLD60mz0OADN30uWh9F61mKcynuJQfDOL/ROHJzB+H6jMkPzuw6dAcD0cHZ/0GO9QHlewJpSCP08oxcdIGEwdy+DSwcXHDivP4xBpj6L1NW9qV714a/4mIiSvAUUSSu3YGgxQwjS8BSCKXsgWUa3uATiaHgIsoiAeywStwgpx1fY7TQP/wBpzotwSQ6z5klD2fvImGbCn0yYNRGC4cqG0xs26vDqOt8eJIaHvpXfgj1kL+pyD1sQaBHs0VuzEeHHtan4KaHs2I9snJMbQoIcl6VN+DXN5OoHUG/Um3MVZF5Atb3FE+ngwfwR1xEJcLwiRn4Ngjs4JNSqSJ10C/ojMTh6BTANe3rtp1hgcEMfLRZ9tT2+sSnBACxsJU+g80tzp5YVAoh2GgpuU2EDlAUEi4XxG43oycjiFAXOg6KFKxuDhsBFeG7/ANyEwonCRL7+2umaewmT4bW5EpijYmgwAgyhRXuHQQnkRCZLaCjxCCdHk2CRj1Tzd4QIdwgn1TvItIbNAei9FwZH6d+sLmJyuhdF7mO2xiUJscB8jBE2JZIsHxqR56KDP4JZTt0rormaqpMRLBWdNNPrgQuGJ9i9DT4za3nNFF5jdtSq+CUZ1LCmVG9jwvQvf0tjHnOQPP0+kRtB1KziiQ4ONoIGolOb+oNaNOym5+Hl45OyViHg5FP/AGmHgMSaCNERSOZHxGrOJq9uzk0OnqkdVzSwAzQHQe0OPdCmHjEA6iIfbtyin5HiPv8AvBDCWX5FH4vZXTtfVX41Dr+CnM1TC9GNrTs5UPeJex+tTpAg0adVOCMPYprIlRSQahHp+m/6REEelPf6OItORtr+E6EjB3RTydGDUdliGnaf6cJ1exb/AF8UsYZjgLigBDw0fRigqd9JC8eG/aBfDcR/14YLTTdH9NClQMUoNcCSgxXQy4e4R0V7gL0GP4p2fwVJlRceKjUIU4e0woYHzj8LGxgpUuDWigs4FjmrWAvIMVxUYeNNGALjH18SiJRseN4RMCCzo6XIFx6rK9o9atJ4eISFXrY5j9IqH7A+RT2I7rkMRo49hSdFTRVo4SHYgixNxOwNtYTk+HLZ+gT4A8WvAjvjVOFGPy+uTvrg9Ass6/w34tGeKSpDL34/GyiJXuUEwPh9hhR7aKlORhnUtd+ldOTtZi6gYgKCKCBIvaHaea1nZNKRPtixL842645Em/QwKr5SORAAEGAbdVSZisfrrNSA03dLTJAv1UFl+Ai/E01HT0BwawRip9ASoU9AlZxwW6TP1TxjVPXsPKFczyjaF9np2h7yL/moAzwP8A4UUd5UDHiQaOgMHMiN3tSx76owfjvnuRMWxozHt2dCF42giTcJp+D0WYIoTQ+0bBFpe4J5UYOXBkbaTgSFqsjUXjIZ0BYTMdo6ZbmHKJWRQB2Z+Em9E6cRVM6vbL3IRniAzQekj0nCP4dwVAxK+QPgetCCk372unBRHRY7AZpg5H0LkpQubExXYjd+Ps5nDtBhWYSKQDD3uHhhzQ6v6SseqJd1wZRx4qQU5S1fY4Cc+UmFLHC0DBwYjHE1NSWIFAohqHFSTkc/D2ui6jVqMMYvCsZUAXpYpFJ3YXzMGeCAufTrG5bT0pkYvy6+i6h6eakthvFPp9K6FXVHiVgA7ey1dn2Mfs4SNNH6L2bIINHsHOCr88YyFfpEtpHh5Yl6Af8ASCTtdadYeYiPqN1Y+jx9fOd9iBEj4N/CNwzrhsOfyblPiGlK07cHaLgu77BNwGJY98Ta1pIpw6wscYZ9wvYLvbKE64XdeUFI9o0T2R2fQdKcB0swZiMfJsWD6nIF7SIRojVoVmmyqlFDzKE6Z79TUp2gHCvaahqx7UGOBSBBceFzdZPoqEik4gaPYD8YzZ6D8opxilAWof8ApYPvfSeTyPZuToCIf2dLhUhAJEQ+May9VhLwb0RQOomwz0oYacWgUQixCEHaJOxUPmYzyhHxA/MdW1YuF54r+I8URbjLS8DCE7pR77ajB5lvfKoY1PdHsLpek1WxBXoU66KD6isJoM5TGtLFPKKddFeqjBiLReluj/KkdQPYPFHVVKE7doo9QJmfMoigJqToiHeDT9HB4ZJ7Ay/xH9ChzkMKP1i1U9K0dAIw8LNCfD2hKsBgI0BeGixsBBez3pQESDs5sJ0fRitS96hZxOEDCW1sudZUIeJHzgH/AKTY/wCGuyIxEXnVpeuxVD2aP+FTnYS5d/gth4/9HmO7L73CPo9LJI1bwPmaqlMuAnz34ds/en+GonyCnQ11YHqRFw9w0Oy0UYdBhXRMV6dz6wn3WDwYalCygYtiUt90NDgWi9lF/F016MyQnHUhAdQZkfZoJOg40b1Ktre+ydEsxjxXEolMdkUWPTELhxDInosa9f8AgJB64gKYI6Zf2kp9G04ellufztGa3UTHXbzPSAQAIwKipPJwqyAE+sAOxKLY5IT200T9btGOrBo9co7MPZevp9Jeg8tpYvbzcDFEdDODgIr/AKCGl6GVE7OE5n/Jgzt2Nk6+DkM1qL6OJ4aDUlJwVjiMg75evkVKDcnCLOhtFJtH6HWh3y1E0uetBvZZ0q8MjHE+lBWqLlQ711Zr5OoOAzChJaPAsbcAWV7d57xAoxwgMwmB+K07i0AeHQe3qpLNxgfZ5bEFCT7GSHRajrXTeHMAmDT0JGNFxnrgs1oUaPfaj0/DI4+VAS9H4KVToaCFE4fQGyBhbbCqTIoMSDxlfgUHzV6iTP1wB7J1SF2BBh2zojwpDpWVY9dnAlgtO+E20CW9EITdK2j1jwxU8YMlrevPkaFWRhLWTCTxRkd1KbKQSyKQ7a9O0Rh65rB8RTh9CiHSl6wScO26r8fdy6ZUN4T9JIqnp3+BZrR7x6IyLYVj1IUvBjzki00KQCrpNFXoZVOQqPvuekW4kS5HrmiH6yfzfe02qVDiO0ERhWJlLV1BMANzSe4Af9AF/SROIR65QxQB8K/IgmuJGSnwXuFK/SoShOMmkoMz2wd1T4aqISdGyg+FBDqJ8zzvSNvZrQOuh6KHhBDx0YGqvqqxpH64Sg7xZoAX49w1+zgCECDsvsiDa0vQJTgvJaIYMC4R2PNeONUfCxR2Hsajf84mG6rKxj2cMJvaxHLBRQl1tvZnYO8mudAAveng/wAiNOgOqkUVaiwJ+p0KGPIxYCQ0QwVks9vrEyNg6DIVGsGhWwTkELbXFaKw6RRUuyncEgBExBWENGQeaHFQgUAwtB3QRTLKPEqqjXrtHuYg64fOOiQCYbtRp3u4JNROpnreRaYQW74TmSZoaL2HRiDJF+4kXAofCXN76JUNcdAJAlXZiK7rpTORtQnE+lO0dP7QhwBAjwBexwNNO623mhzTvuA77OzhXfIlWw/WqAfrfjA5Vl8CwjEdJ2E70ceJD34g9w9cQuRmo/zUEX297LoiR70ctlfeKw+vZHR09OdQSoJbp+vp3YaF8XNhgxn4D/8AHOiyuloj4vVKYSJTj0C2r/aNpN8p+lXSgGIN19TNlcFwGTPO0vB+uxfW/efVgnf6Oz4aGzjpYeiQ6YyHf/3HgQnnQf2nZyb7RRjKmCyMm9/JU4ij0kJOmQLTKqSLSBe7xYWm9I6dpGJSToJygVC6zwaqeDf0HIfwagsqK+JjoOgWwpxsrIp+wkCUdU4YNwuxXwDmlPQY8lmc+a6VQrVYGKk4o5XNFp2G1D0UQRSBhEO+gHfwOyjyvKDvD0+mhDEDM374fVMHHivUr6Dd98yqplVapl9fu17cqLmSGlLET66knJfD+xQWOIGoZ7EJ48K0KY3WMUm/HSzhymFGw+MRbio9MMcWoDJKIem3JA1Ko4iAlj1luHwYPu/nJnR39XEfNHH17cANhyTWEe3WPutAci7b8CGOwpn0BQcVxSIjD+glSlArErmS4yfGoSjVI4tI8gITanbhhxQau35nNTUAdQ/ffsNRGenGQdhi9hK7awcsmjwXVrrVHp5ZdcwUNGF9Czr8DJ+gx4S3dA7DCD/qjYprKyKzUb/RGN6Bxy1CwZO33QvQ1WAckhLGSL6Pa9EqLuIKcujAHgvK1hPfeRhKoEUc6PhD4tIvMv8AQIKOgawiwa9bzQFrrB9b268RIK5Gbar4keze42/y8ZpHT8IHBUQy3x08PTXCUaw6f2HzwKB6WQdnT8kaWuhzpQLUB3pgsC/w3hQPbTdmMhEVZ+gUmztBTFvYP+9AXBJXCB8FqNKxozJnA/qFJNoj3pTFSygmlIkgGSKqHaT3vkr9xNKgDWpCoxVcFYOGceoWxBW0fIJxTiWyVMeHhEXtzpIgou0NZ0y9aMvLDGFR0OpejQ7QN/Wc2rrtdrER8rMQ45AOLV89le8W6XhyQlNEXX5Yb4V4g0eh2HTGtUErDenE49cigjMSs6Bkmc3ERgX/AK50LtRI8oMGRVVunxcAPb9G53vLtJ7UMmHiHEtdgLVNNZ3WobWiUUKki4t+iXWwB2c7ShhdNfGKvoNu+BkN1MhY5YwC290nA0qQ9phG4ENRuOCpyEy97f8AaZfxfTmKKqY4YpTosW6PYhEsWqd9R8GkonZwxUQXpus+j1oyBXDRT/sQp9SIsdezZxrpaazWBR5ACDaenIySz4xROFGPBo/XUXVtChCPFWFB3rgCLYpSsQf1Mdo9XncT18qUAGtUlwJIRSPYg00+rFeFJg80g4GESuKL4NNRrmTpl6zOy49L2QhjyoxoRqkgXFAMmWJou9E0XgsHxOwdPXFi/UaEar16L3S687wqoQ+4ijmYUw9HkRcxVoaUzQ+DR7xXopmLBCezsnaA1Gp6RtYO6rvVlRK8USMAndhdZmA/6t42BP5FEbANNT17BwTFqL1/TCQzr/BxWJ3YFj446diY9nA0K0lP7OvQyzD9eVAl9I/8EW34Qjjpvmj1L3E876XKFieAi6pOiGU80OuEZtaMlKDOhSD/APC8CpzYaq7dnxjolHAR7pQCTQnYedcgZUYBt723UIJuY4L0YXGjOromoEa03jKsMZmNI9gmWHq1yHZUUlVBNP2E8z6ctuxF6etftfkQ7EnR77n+i+57Vp8Gh1CGvxw+mIQdtGzDaigGnYG4+CLkccF7rTtwbOlf09JpwB6l2D0RASCxsHgCwijjOyICLZKTe8SCTtsTe+m5+V7HK1wq2dsstHP7jO+AdIIEjMHTYIi/o8DQgdV7/g/4J44llb8Ch0kQRxCN/qpdwVFCIMd6wX/SWSem0gYXpzx7O3R9OLEwZg6D3BYeniFQGjCdpdLHRQucsjqhk7O9DSeofN0kt7Ds5M+vV64vHzAUqO2QnpJal3hI36Aaob+iCdVOYL8FW0/qSAdPeHFB4YnY/A62a8DhIEholIhrYQUxRwCZMNbfhXtCghdRh3YloYqp9JsCU16OVLWgXUeAzAZITeQA0FaAl2/rujerwEK+iXpBI7odoY+lX3L9r9X/ANj0RyHCjhMqJHSoqkIEQAJzaUMq5DRorPRToPCy7G0OnZQdGJQN54hwrgkAMX4oJF64/UA9QL0/TYcxb09WGIrrt6P0BMizmMQabloBrCDf8I4P5PQV8iKMEL9fTOCiSOh29ewoUyG3rDBRGp6WPk9LSVZyj6wOi+zUwGD8HkZJltC9AtH2NlHS0J4eDRXBMtOxNneeOJqwOwbUiuljuMmj8eghj6ytBOCm8iofe/eSrYCjKrov1AdzIuDswPDsRXLBqGNBAX40Ij25e59F6dgWC8Mo0KF0j3s2f0nbLQERANqKf5GgJg3gJk+qRP8A5mB6gS8dn6L0MahVgRGJT7wwzvYdD6zvvpd1mckAEEv/AAmsL0dUleUQW1evSNFAPYBY5aIcRnZEQf8AkSwZ0otDrDR1j3puj5Dj3IIfV19vQno+JXH35I7Xh6EBr3GvG6Dt38kHbq7sBIaeTKrEYSf5LDtx5xXUPQKIobj4bdYYnEE9+ifFdrf+iGSmGldHYEwUp2O4wCrA6BHCw9HwfcaZsbX/AEBFMA/4WgbzuDBp2n6TWWwO48DSzY3Qyhdig1pXZwwadQ7j4kY5h6FQc7hL9QGIQoGC+pThT2Q6nhjUUcJobedpko+lhQPEPMJjj0IAwVVtyDq9ExwDiu4JbjHRSuhwcM2we0GJAcXQOXB45pxuPAqBPRe9NnnA/U0rPojqlH9QOdl1E6IZSJp+jNBpjkGWu/x7LOzFOtE/QP21udiPphScA5a0WnraSUJqgfHJCKn752wjUClGYK8UDJBkGmXsKxiB4c/JUj0/oLdIGxDkj63fZv5uD1WaaeAWl079DCgpkubHFUl0mtJdBqRQabOKJlKg070rdo36dcI1wmBT0m49SYcHCxnOj2K0SI3ALiYYEhLBVY6J/wCHV96zaP0CmBxQqBeBugcHf/E2f440nO3g4X/g9JeyOF6OEoygwSt523QCKW4myh4KgdghxURwRfsWXRoNJCMpg8vEiM102LtD/AjoXgfv+K90CQgmN05jAx+jtagxAzsutAJcEZF3hy1aZaUnE6onWm5i/wCtQUx2hn3xd5rXWoGHCHAZAwHxcP8AAiPhwWw4qLGUf1To5iOKfZ/UM/0kEvlTeZZfofQBiEcYgdObaISGHy90pYqCcBAh3cRJ3BQrQcpnAjJPuAvTAVxDGuYcKIHmRJbgRFLZOcFhsWJ9AptKRTTHhY4BwEaHBhDyIcTgtwGLg5D3oar0aYWBX8B9ISeChTDwhvBU1Yyg25hNwPHuVwraNiSO7f8AhzhTYGIHTo8K4qjfhQGAmtj9+uvbfRy7d1CgZsrRa2x0K8yjA4jM/CV2CK4FqhUCMhXxAOulXe+WjSjYjoY1KNXYVcyos4jpfSq+gc0cHw2LSHWmF/8AJ4ukDx+AmnQsJpV4I6Di0RIw5vQfxOHKT4WFsh/g0UiK87q5Mui9bNufH4J3DgH6ARMSa8cCPJiPvvqxpT6YcAuQVqtWMrdYy8D7wHCDoS1Z/gjA0i8kJn0lAe3bkFF/Rw0SW3YBKTWpegKJy6B6F1awKTChF0TmKGQJVtm+uOP4vMxo0Ed5oaB2E0ocHqCmgCUYgVdkKx4LV7GNMNcfIh4GXh24W6ijuvxTwSbhHsQzFiSvT4iJtE4KwUudUv8A13YabzPUalOHaCagRnujywIQdL07BEr1GNFiyrpiPQ3p3IVm0h0i0LSrBhPFlTEK4Xa6JWijhJs0TnbXcsbE/wCpvZqa4bLrQCa7/wCu4ddTlb/24Z8IAewTUOE+QigQvHtPJVIUpxsJCFj6B8NpwYoxY5soeF6bn+lDeEw1A3QL0nx8A17xRnGKxYzwN6esScJ4X0lX9J6CV9LmID0g11dHcCdz4Qu9L2iVCS25hh/TiHhTor4cE0gkt1jHk0OPZGeGjD7HHeqXoS9rsBNIxgOH6ZuonJp00VCG8DLoafR6OjsyZHzliqMVPetqiH9HjCjRKz/ANzQLEj+xOKiAjswYlzOhLnN4Qg9Rf/3INSZqcZda/BDoMQRQGZlwtGoY7EjYvXShEl4ekkRAtlLEUaLHk7J6f9sMKPZetJxSohhOuif06HqnjwzgBo/0I6hZT48cxb0JxDYZkNRxhMYCQ0eih8PTQe+M6AXn0VkTldpMDlmAUeD1qD0aNl05urKpnH6K+B7aPAkCjASpoFmEQ7ez3jhs4MS4HxtR8zWc9oiNImUNJfFBeGyZEwnj+EQaygpOYt0lGo/PhgpvhhOGpZ4zjoBoJahAkc1qtkaAsEWZm4fJqXfkwGn1igivsabok5uC0Ozsp/zw7oncP6NAJq/q4kPqrGn9LgkkGgrgsZghLWx7qrWgGnCUINA6eynSiE3EThfPGeJp9BcBRYj0dNMK0fn9h3tFO+UqQvh73sLPSFbOYoYQX4q7X0BoAFTgMjKgJpAGTRmOEOQwbqiWOy3QTe/nCzH0U3wZKqqD6j51wBBAB4rqiF9jiI2g6MovpTyrEsTFS7HcFh6lBoxfbjhFCOMhoTDsIoe/B9zJ2ZMw1AOjEm3OS4JNdPf5UL1mYA5GJdbCpVOyJGhejLmxQFWsdWQAToN0jkAa00x/DymB8GHIPZA+RiO+dOATYFBpL6HbT88tnGcEO3RJ0I+xyX2HAt3O9VRAwOjAs6WE00AIVgAFYFKDwyKN07SlV6WHsbsovWs8KxHwNlSRrj90g9EAh+o8NPAeSAg5DByrJ2SwP+PE0Z7CtowX8GipNwqG4ij280OiGukpHGEUghab2YGtoBAxZ7C6IMnw6ODj/dzaAVURCo4l0HSZChvoG3RHZtRJ/wDEV/41EVvdJ6BLru3ileEglQ1h/RMGDVxh1ROwddzCH0ZU1zEBksncSe70vtI8oF+yoe8l1S/pnpxBI3F6f8UaTyz3hyPUHyK/B02AIycyhDeq9n6BFewP90yhUdx8Bqdj663k1G/6sZ1l/QT0OTWHusfwB16I/ggPY9q0Px6DMQ+nB2VPhx++ulEymBeXrMCoFffSNPql5yKxgZSa/o/opFDicBjijJ/pgG46LymplVJJ0Wmd4A95Y7BIh9+h1ypKFGJnG6p6kpNagajvk4QVP001Ouk9AS6xGA/4HsJqifwcuhiAHZ9TuwuHpdrhYSrD9QY5piQnZzuBjMQlwyT6mkBeAmEVxQgZ67VY6ogESEGqH/E6TpPxgHFafo65hx0HaeBS/wDI3pEaQhgOjhiDeZCqHoCeqe4vKhhkrOte34K+hg2SF24dq0/hvQL0wduqwaBgGPSVDHrgKSYwOl7gw9B/oLdeGrAyzoUOqNJHgLbED2/VAnk09FcaUBKFezTUAeyR9cVJDpNEHyysdF652rVIgKbf70o333gsK+lsfb0q4dL6vNZk/CzsmeoeNFg4vLXaiz/F+m+FR4AJCBgdnb+InrW9KhRnpIYuaxYnwGcgtfqNxNyi0N6KI8BSSaEEhEY30f8AUTkVQDS22yIO1SvWH2gg+uE/9Y5iyRziwCsSidqfxS9UiJYuSB0cQxoaggnQvTiYt2p3+L6RI/GHA+k6HwKD7EMxkPDQw8UnvZS2D6avITd6Agw8WkUVZ85UoTj2AZ2JGlfNOFCw6HXcWdLn4vnhpFyAJm9DG0fFvAphNnYpNeidBMxwnUuyP19MAzwZwAxj0RbQkqaj4JxtHW3wWHoGUYzwI0KlGJyVaKPucHaiNjnUqgI0z/lxLJYPwhf6BjHRpzVO4CH1E7OmF8BODgDYQ/pf/Rs05FG6HYwoLjBH0HqLFpbchhRmgp6P3iDd2UGDIHeuXu+AQdMER0X8DgOlT3OEKxn4F8ilZ2ECBvGzoJ0nXZ8AO2EiCr+UgX2J0jy/Nb4xDo3yfNbQ7/RY8lmHVaU1epgI621YImuk+6c7V7UGo3h+QpNydehTtyl0yVYxLNn2jqCDhfpOVexrt37/AJFsVIopxCS0sdA9M9Gd0jTmtUEW/B96X1ZcyEptjXtLTMRSTDj6Cr0MJp2xohnZB4KgLoLTb4yW12saHJw9Nnb0ufE8J0zh+1Rn/QGaCK8VHXKlqAlGfZdMGdKMMaNFUw67NW5eAXR1ryIZVt676abOLeUCCsGgz6WI/sqlhnLY+gBUP2hWCcKCiZag+EojY6A9OCWgFWiNh+Om9iIuDrKFrSs2204JCIVyrFS3xNpEFyiPOvz0J2/BpInaZ1q3vGyQPPWe3LOyuZ1d0+Kf8gkOal4ml1Cs6NZNM9fyoDI3rVLGvj041VTiIFtGtD9len1h8XkabchU4vVTR2JghxqzvgfQfgiuzTXuWqZOy7xFqwsjagd42T/ANKdpCD0PGP8ADt0BDbTKaQw5K0EG0GHdBBo/9gYDwH8Q71H2J6PJATSNA9DI7gazpBZ/EBupwP8Aq7ekwSZ7WTsnoxSdIxxr7pdIKboa38F30Hig/wADYzrRP7QzrQHbwgLgpv6XvmZCjVH02k0yP7cNQaTQ9NfRqG/HCGwdoqQ73Z0flNOJ7aACdBcv3X1uDYkXeGLtGMcO5seJsgvhe3HsTot3ZzGvMkTNNT6XbGiaKnlrW4DehvuBD+MNgSECl0x2lDMXrjPYslv7G0tnnXnMa7CxekvhWI+PRyb0CJSmAXg6gIC+uoNEQCCJI6NdQ+k74hrenvQy6qeg5OE8J/dYIPnq9COKtDch8BEuDg4IQ3hGwpUifv07V6QY8Tk1U+UUhQ5Twj5BMakjQuSdE7IFo84XdCjNvY33JdqLnAUDI9JyzWqYY09HgGx1+O5pQSktGozk7i9kFemA2aAIqMYcBqyRGduxooh/6MUyDscO0f6ujoepxAURggRKMuAXbWFM4KfpJHz69FmM08XiO51ACplGfDoyPR4PVVj0T19gwtdnfKlQiezPiSa3GJDyWj4UPgjF0Pp0rOa5UAMIO3W3R3VN4Ai5Ht+Hp6+lUbgkZF0E6VVTZ9+vDuTCTocTG4vabivNlwvXlrRB00r9EeAlLBWFW10p4TRETR7dnfczxATIn9h4B2UfnghoVQ5FOEtA6mZOnOoNi1RKh0DX8MWYhjTpwtNlGKR0Air2l3B538A6JCGIvW2EucMTQ9ZXaWTQfRO4YBQ7w7MIYwwuwnBqRoifazom7idnHFO+eEbkZZVHYQanLQkFSkGxPgE+iMLNfbHZr9Bahxkzixb40bp6LCfuF5J7NYkfVPrQ7eQu4EEqu+rcQARfC5OFRzEoEkpfA/pKaPJE6B7/AAZVz6FEVE9dE62AU7Be46PCPJiRi306i0IMspGouMuKUF7mLjDsmR5WDAxen6Ckvcno4lsYQ4f1k7o2dSXm6Bw3TsnamZTCZnDWgQT69g/bvdCack7n8mqY5li+XALO1HBs6BDZH/Qw8HDQJVz0KmQrbujlRoBKkgkUJGWi0fTlL5C6V30Pyo3XF4rSUB5B/wAxZbr0efDbtpcHaFYLprRzsavUK7IyRYeDEhwQh+Jxmu3R4Nd1ZCX24qfpkEIyIScl4iXTUEpXUe8qcEnpmvAM2xQhoobxlYpzub2SYlo+lHkl9gEB8q6dr4ZVc9iM8gD6TEn8bzqRjq0zB1PZXSKvDodQWHUF4wo/KEcKYBR1F6bwka9HUeMGi9gxnwu2xVpiHLeQAI3J8DO4Ono0uksovVtij0Oj1yh/oC8fSI7I6inU5rYobmL49kPDNnhiLGoRE74eA2i0Xj13KFdFHhBM+gf6qQEKKbgvUYDlJiHmyU7tgGHwU9fucYlGaXelHswUbsIeEI23MLW+qWYdri0ILVsdEhIe3ujcHgI2wdin06oZpE6camDXAUvk7Oz7ahx23X9Yly19gzJZwT8AiDxCrx7BOCkDIEAv82KkZqWcLRD02iEC2KdHQlZeI4TH4jHrLFO6HgMHBrr+XL3L2lpmoE/sfM12ID6CPBaC+Ed09EZN7cBSkzoCe7qFmAPjiqK4K49oTsjMPpMEx4n5ACsfAL0F3iXM3vuEDe7pneOKkvrAvk0U+/V/YRomFT2rSgOWxsPY1wxSUhaQlj0Ir1BzklFXzsJ4ofFPEm8V/wCIAH6Nqel1wIJMPcaj1HQeknPZQLFZLiWJOwnvD6w4697fgr6UThvp0B/odNN6KlIyxDVqJ9eFUjn6xwQT1krKdzEbOgU445iI9xHAohctB0eB2QHYQ6Vb1hTSLChxEhxSK7ZYOxFOOSlYRU33AWsxLHZxM8A6qMVJq6UI9kyjZHsFlwPy1gYfg5IdqcPfR6Akg67yRJCYfhnpdIYUseKWzBPQnSbG8thWvJJhi/Gza5E4gPTnP7cWQ6IuD0Ir30GRPuSEU1E6pIk1ObiyluezSn+oHzjp4WNDLh79X3UMeXZSYrBxK+IFKUeuG3TZrRQdVdBBjnJ93REcDf4F7mDRnFUkmvbTBIQNEUr45tJGP9Ed0YojqnGwpNqmqPIfE7FAcijZfeBQD8B/EzjAhqUQJHsxpUSK7lAoVEn0sIA0UUeKiFQkfx8C/oNsHki1rxCiszoYjIg8gOsJlHWnx69QaHAERYyrz8CKN+hDn1qNc2vfcmhiCxTi1pDbYPQqAl+fXXP+k0JX+7ZJkbI46EOh7gpigV8VN8xM9a6AoWjARBSTWq71lk/ocoY3g6VtyG0GExDqxEbpz700KLNXogAekUI8Cz4U3EydHs36NWKmGq7/AHwr3uIVpowk/gwFlEj1Q94WsLfLZcYB+gaKUWq19JCAj2QBPlRPSjaIYMDdCKd6/FSFCJrlTkisP5Nnu8rohFdBiXvG1Dw6cGm9DD8DD7xbJHijISEfQ00MCUVfoQA1hJ/4ShKPcHQg8aBHBeCB6GQPHHjxX0ywonQ+j8q4HFJzSBSP3X2eXiH50XT4CoAv8CdcGIPHYtCaBRVKU1XgNACguDtdHfoNGFch3Dk+AsxYLqfvBUOgo0NHw8oWYg04V+DsAvSsNTtEsnXDsSq7SbrukW9vuuEoZjrVDFqJZKVjnIGCVewjvsJSpDXn/aLUdJcJ2gfRK47zM3/3OnaHquxwTYVehkWFFSrPEc56ddf8Ff6MOwQwmAj1UR61oS9Gh3oQugJXBpiILd6TKWXt/tvYgRDoud0VcNhbCnc0ITP0kpwbFFHfIF4vbeEOLGpdiNcA/SZBCb3CiW0oTmPYPmSKhARlqqFWbWQrH9BQjpE9n/8AIHD32EeOv33hIx4t2Hn0OQVpooR+8NwwHa4V0Hen/DHvD3JLwN8Ue/cpg0uU905ICj9NMeg+sB7A5yr/AED6CFZuTREocJ6vjAvbDe1JEXgyM8LxZlBlGBo81Q1ZoiWeosEQHtOjRHj0BO/ZgP8A4JXp4FK/QiWMH6dePTnoz9JDFAq0vgNFQ86BHQb3uxRqpo7cCllvQWa/FlgXtUIKRRRIBHMOoqlRBxtQ4qCUP0k0egiPNsTTDuHvk7v/AF7wAQ2NZ8Vn1rio03jS2Qhj6R0df8T7YCVFF5ChOy5zvOFRaIz+h9wz8GTl1cpvgwHsg59NchHTTHGqMr/pSShOx090hH4BPrgFeQWlCJxWI/HTLTwY3zkEz2QgzZKIRx0pqCOKIwHPh+jUOO22bVaSiGFO/TvZk4hpd1imBlVlWt4VurFwr17je99t4KCC3Kyk93g+UJTk9Eupg5v009C+SHIh7PoR2YQSARVc04eQf46cXEY4+8PYGiCNqvZx/wD4O0BjQHqm3+no9zgu7LVaafYpbXoLFxUzVRQXwNJMSFD9cpIlwlzofHosbd3knqpwCqTpSMNdF573cTTVx8J0TIolnEJJHo0N/NamYcOdwNdoeyKmH4CDS8rpB6P/ANFH8bA6nJTXFvRh2Egv3s28t37CBiA4j/UAHO5WFLbM6+NpxEivDNztIJ/3CoumrxJJekn+PwOnuiUvEzP9T7R3F0e3ZDx0PGmCVaaUOp8MOMaPIwMi9O0slHB5sEit/H4CZpU77Oi6JUk69Go9Ns4ZUOt5Hai/+EbMceBEEr1P4Mg3QmvgALJHR/T+rOnI64iArNH4T/JLIGU4skxYpAd0idQKZU7PYH2LMSzsgrsXe80A9L9igJ0Z2n7JzfK9r49g6WLYVdhnboyaBBcMXSkfTV4ccKQqlIotaekn2QQYJ+HZ/wDSj06HGDHKUNEzCgiTJAZWFwjAHb0iRdDIB6ZzKQk1/QgnaKdZpjV9oYLXUHhR1XE65W9kJgOn0FR16/HAcbESTzSHRT6EeGUvDU6bkBQpqg4DIAJDRiKe7Gou8S4EMhfCr+iEzwF4QU6BO2ECaAr+h8A+fLRfbJAetCQ8Jm9sNw1KMqwqqhwSwu8aDr26I2cElS+BLsEexHo0hOq3viIwMGep6P1AJYjiY9rB+AZfTeB74D6wIKqIgn9K6CvPTDexBAXsYnbQOuoG7T0BYn18611B4nBUogEN4kGF2jUAF9A5KUXtlYyHThgUEqj47ewtQ9jy8wvw7Yf4ETpiWci8qB7BZhqaP0yV4cBQTAB3uXK9knrkzXElnCnh0vwLZTRgcso6PWPek1Iedco4XeUiyps9j2WZ6Ch1sAko+J/AYRG+BeQIdMJFPgDjYLD4QQaYujTQpzQ9UgSGFH9DbRGCoV/b6HrHZ0ajibwBvXVQds/hJ4wpHLJAliwtEFZH3hOtvPuEO72J18o+oY6hHQ7EXcWodCsDwS9jy/TrvFxEcarTW5KdiP8AUCPVQABvpitmJD8CaO1jhbhhXqhH5aJflJpy4Q4SvUV6jpwO3Th0rqgA7Ij0Q90KnKoFNTZI0sPG/D1UCNukhfwR4K/xpztawwaKYL4gJBdPLcX8BGjs0W9A8EbT2P036+kQ+DQqEuDT/Cowx21x2/Pql9HxP6KPw8JRMN3/AJxXAm9Jq8aUmHccoN6UDkh1yoQOiQCn4J2NMSLWl9FZZsnoVCEfTigutAg4MemYy8Hb+wyrfmCQpEitVyQckf0UpgHwbJTvgVq6wafuOzt8/OUYhKZ6Mi7p1I7qcL15Ub61XOxSnR3eYFX03JR6UGiU9Ann58nZjf8A7Umb25UUwlbWhqOyIERB/Dw1ReMISO0ciHld4ziHd2H8HQukdj1z6ncRH7hB7NJPqpNQB9/nx3/VGsCFROHVNp8DALTbxwQNCwB2dxDMQhhXNQsCOEelTGlNJWnSxk6zhM9mwfXnwatQi7IXIzss8DXh5WJUbR+dbYivYRkc6sLEJJ6JKdwxwXEIa9rb226KE+YvvJ7LguafGMGJKhxkBjoIdlmiIULAINR5/POj6FnhMOnFgIZoWtXVqfrVcvEcIYzrTvdC9g+pOGsYBWxMROmk2Qcrx9/coCHuFMo409E4LrqCWL5DlSNwjsXAsx8zDCk0+PXTDyNp0Ao006dR1lkeYGFKIDPoKdzuI6bz8eqVH2TSIvxYqhE+2/nCnYpiK7HneKYMY03dUXc9zlNuY3EUFFpQp2g5R4jamGBexIdPgVYUWMpm9CfPy43DfjtWmj0pAuvtsh54bSKz7NCCRRjEB8T8/osT4UvTTsYeL3V6IVOU6WpKaAFlK4p6j8Fc1E/j5y4Lei/Qg+g30P0OZablbZWeD9IpUONxtZbiSF/RCAwlMFChYKI1De1J68ZVAJWygP6ZgoOKR6vJlUio0NjvLdKNREeDSMTv/f6/Qag0PJKj4VG1wSDX0sOuOq4rm9mBkNQHX48EVPO6A5FqTQr07cFUBw0xGaTSDBqpluSkEM6u6xFK7TtzHJgOqmjqQvw9CdCZjUaqafkweaDxwp0AJHsFyorGCfd5GDsjaH126ttSo4uI6CBelgtEHpNFMHA3LfWz7NnfA0dIW26mjqxrFI8RgZ1X9U0WlDoHFcBxB2Oo6jC12YdcXIzEOu5/hQJ0y4jyJyCjpR9M32GgDxuEOaMP1HUIQwBUOYCcjMY9dhBMyrvDEM47wA+lgNTBzqLD3eQxIJ4I+Hi8OGCYKx71fohcIgnltRpcENfRUvO6jEAJJluAmDQTiQ1oMkn24RvlGk04yvm8GwDtDTBDwDlR0QRp/QCmgMnD1Dloqv6fBr3qR4gRUieKh7dtJI2JOEyrzejr2IeqfB8tx+gGdEAOhjYds0BpKKwUwXmA8Me4TjLjIIs6PlP+jcBXJcz26TqK8QgUidjeREmGZ8a6fB00IPYebD1AowY9VHYMjwMIvwP78uYyIm8tnzIlL09SJvUPTwfAYAfg00dDZYBxH+tJ1sMChqDgkDhu6vi32B0MA/AY8keMDEfi1J3ZHOyzCiG9van+J8CcY9W6j/h4riCODkF6sKaQTepDT0XC1DNiKjBiI1RgbvCUS0gAajI9tNk8Ij5aVRMEK/PQevC8/efxBzuQ0C46AMIZP9jo9Q7rxvzmw7YgoOxZ15KwTvlFYCiCn6h1p10ztAivclAzyx0+/o5uJsI9Jo++HaqcCKRgxCTMPB/R7k4SB6A5A7HQdDmhOOAW7WgPiBlIyh3FyKPrXrPg1LHd+HGcgG4BclPtxKaM3LA19P8A0JRMaWjvF537TxydAOXVDrhaOIHuaSUIvqIszo5VSXf81SdiDptR4KfiK8mwmDSUjiNYD8N9/APr/gbxuQ9N7PvpXu+xuuL0RFCdZsW1RW1GcZoMXoTwfROuiL1Nm0QYMYYUWFRTdjizN3iB4437LabPOGBfQNR6DYsTofC8zDdI7GHcX6Kw7J5PErAJKdgQQTxMa8kx+S5gmowxkaLwQCZZ8JSglTFOw6yRwpvTueiFV/xEjmida1hCkT4n0VrGhUMWXZlDrshoQchfurS7pEuRX0NvAJ7zSjb7hP437y7Tymq/4C9rJXuLG4ygY/qYhXMAGuUdexTbgKQaglJ3OdxfDSVQY0RNxioHHkwK9jKp10Y2faXiZ0tWlFjU0vhglHg9K4ID2rmdrvZ69aAlajvO+nqSJdVb7mYp0dh1x/EJTgkbsEdfDxJupS0nENF69pdfRQvYs4OeUglSp/S4lOZRd4FIMRtak8Ke0F8cgCWJB83EM+B6IcAgQ9AM/iqdmsEs5FOGQIY+whhCTwC5jQEHS9FHuCw6Bb1RjuiBjE6fWz3S3lC6AgKxhHuC1EnnCltQjvepWCNslB1mAlY7Bdgvb6afCivgu7AKX4NUaxn040yCkwCR+hQmu6nVXjQjaMfhpCXXiKYcTx+FR50gQDwkOTCCTVfvYhqsk8+TCU/hlv8AIuoYmcaiyY/Be9TwjBq5LVkmVTynE4ry9OJzmVdE7ARAtNv+uIQzMSgdz9CO3Q/OHTOdnr6fIwaR01xQL/05QnRTTPxNQPg+uoB3ERnZB6cM3AGQqgpYRD1oFw8ajxFGz3UOg3EGcaTQBMfEjWT9/GTk8YAr74XwC6PonEkSSlT2J3W5o9DlzTr7fsPoDySTtRD/APoV9CXoGAsAwSMFTz4yzadc3VZisEYMhocQX4ODIM7Fq3UynQxBknkAWb2EssemafcYA4xQnSnXsix701oocKkTyKd6WaUXK+JwaYuUYJ/w0IN1D1MtdqDVfwjMTu2dnHAGPZHzYe+ggoXOaQmIhXWnWAR8hoGNvdGDgmiDHpwScq+JUPiHWJ71RoZLfQ9dBdZ3I50OoCrnSC14Pu4N71Fyt91CbTsM7E/kvIISdJa9FBgD4wcfJyLa5QDN8Oo2xyhB3p2ugF4OFUNjwsgp+RJfs29ImqLUXRGFWTUKj4EnXHOULiR0tLVQ7BUjmY9V7sJXsQmcfPBDEjOj4lPgP5BYij/4RgWrpHupicOVQSdA0ekoWW9MJwkZJZ/6QP4FnnE40pOmulp+nQz0fzg4Y9RMX4eOiEYeHIFxoVAsgOmHjOgOCexYJlmv8ogSnsnJES9qToBadm+gPceZRDYMNUzT3+r8JoAGE6+UBbSegUIDynwQUMQA76J0pNFiIyunevAYRYB95illFIoMerWsovacXJcD9UBdCgJ2EZzWYgUIC/w2oscWnB6XkTxae+vf645O7a0Ssl9ejWEfeRJ4PUMe+zj5C3XMcAj1ug0Q9qqqpyNKdtQW/AsNb9OEJ1LocRp8gY0oo8eFoC+hGKhBtJgeuJzTKkBv9NHUIY6HG7EMDKCRUUwGa9TgxQAAlRo6KfUJ29rgDELq3TsuPb7qG0eGCiLlenedCTTAJu8DkhBUJRnaq/pNGBeKmw/Ab2eq0CdYYmP2GLH4JDR5f9F8PQHzJvTjRLxDF9lVHA+nsqkZrD/oMkfjsp0TGL95v8Epoyo3F9AFGBeERAgN00HsMEDcHpwwZhdeiEUojGpAcIgtrCJjlGuiH9Lwhd3NdgKpB9DXgOE+pARin7QTdj+uVGnqqD4MY/4LCg5IAbPLDvvKD4CdcMjxHTGIOvqHvZwXLbFbf0Un6/HFs2f6ybSptGZt5XFm247BGh/wW82iaZRir8KRfiRgfUG3uREpYAWkDrlzTGmYen37FgZuN/BIIIGpQqOi/wDHATM4I+K6vh0GEccDUV2BwElaQSmy8tD07iUhDKUxJvEeh7QJ8CCGel7pKoP+hgZoKwmjvk1+URQKv6AWff5igWx17o2Iq3sA2woqrbieZ+MfKF1JM5SA3vIOvoERFrwEtD3JV/3p2ywgOY4GouhpX/R8G4nBiXGHbBTdPqmwOOJIogRC7hUKPZkUvJM9EXi0XgtF1O+W7pqzAnX87Ox6LgMb7496EPSZ8EXXkuxGu32IN1RTT+nCQHHr9gSQp6wCaOKo7MU6akQKQ12cJYK4lRV7H1Z8a4wNpXQbswkX+R6eEFSxt0/N2pqity41fpAqh0J4/oOogc6hPcEcE+PtDwW6+FaoyyKEHYIx5pkIIZgiVDI1QLOHjtIrAjPs5F/PVPHR+AWXojxdfpBBhZaMg9qZgaboAoOFQqDc6vXYb94BYOIRYCoStF2FizGqTligm/yHOimIzBj1F6sAMHNvrPCx3Higt+y67Boj/joychQOqgxb4lwHFTOevyBaek+MEfVLw0duBAfMU/hG4ZzoS8PdcD0Tnb3Qbi8iPmtGFPy9g2cOnZRF+hDIiqdvQwQ/hp1DTgkLnihxCwCY6r8W/VIRPHKFkISmQX5U3p3wfUtSGeIEER8ShKXj7XnPq8qjAE+qI6/jQgAVpRjZPGZDg09JjQsLOx/Zm9jzL6ZSUZ0oInQaCIiCBH+qFY50bFrW8hgVWMw+gPwpqgcR6P05pRd+q8C21yIdiYoWP7Wh99M5/N6D/of76YRinJyU2jDBWJqtsWI1xKIImX9OtRaC1HHHFChZGmj0mimj84zp1GBa9DP1aFk1XmgV0cI/cQ9yUnB4iXT3WU+X/VBAlc4mTfvoexpanQtJhzBnV9vUetP2DvYIlzPn6H0EVT6exUltYu/ohHGGObjFCU72HUOE1RpiUyBRCgds+a90RbY9cfYUfhgqD0PChWPDAZceDoFxBtD2+slVAwbu+fYpejXjaK+ct+DbRtE4SItUSkbv+Kkadp8bAzf4GmT2LEMC9+9zkvUV6FB8hHgpW2iQKgQKL6x/DwOlE6f2s6OwFOUeKkQtj+gYH+AL2I5INL/QjvoWl4nBDi1t2CbtCidm+yHTk2hU+LARTtGJ2y89msewkNPT4RU4M+tPhgD2ijYp/QhWPxHFpGsGr6UmkrR1gDWNvR/JXnAM9RpK9S8ufBR5yhYayO/Gze2ZD0Ti1+1meqPhH/RGhACQn9Hsnod9dZOPm3uHyqoY0vdp2jXQDqHvn+rFnXbhAf2RzCFGgmVSb5pz7LQE0E1gqN0MZZS+EY1wp59jOTNCDFHh27Y5M7O/J9tEZQ/zsSZ3Asi9Rh3OnVD0NFTrMS/UNwae02T6ThoQyAYL+DSId3t3y5kad6nedSxnWFeEayQCeBNpPfpgY4dXmgRnYudeYE4jwTl+GAYqJIufQiB54L2IJ1opGOrpXKiyAUBTJAGaMX6FOAy3QxdURH6BYe7nGGJRxrBX1NMoYKPCgSGHK/TutOwch0FgoI9MySf/AMDeKHaz0X1x2ZTvx28hiAEqD10tP0E2CJSuOaB2EDWdPd8pBIyOwDv1GKMV48H7oUL/APPWfBuFiN/YRx8Ot0PSnacWXTYUTnqadJTUKN1kZj7R3vhiLTeM9rVwOv26SK6AYcz4mk3ZVlOgYOhSqjhO4lR1HVETrRXhBQ+CBDJtCM2ljvKRhOhfX6Pbu/q8Y2U9vzFi6tqIrnVwkEQhNRduuKUdghruizF/6O1iw64U2QMmnig3wCfJ85sGS7FEPBcBF6FlbflvU1w14e6qVHL8skzbOvFPTERkijxp7p0pfH1uWcDyLeFVHAjKA0gA1J2JUBTlL8ayFQ9nAcfb2WXGijrqzocoOfL2B+ChEhGaldh4VOxI6Yks0BpG8kgmAooSlcr1lmmcBtPT9jvo4o5VeT+hoR6H4ehXTLOdQBoNXwmgRNDSraGafpmoJY4gvGS2V2xagIKtHRUj8qOVXyYG56jXqUbo4eB1B7vf9MEI4s+ni9wUR8HwHBgY+zl5Q0Ls3vySJpwjJRqkWZSfVXu9rxU2KIKAEVar/wDLw51QJJYBoQSB7f8AC4IEE17NKf0fcjHd5MfcuiMZXXiXw+t4AaGSiMxDsOmGYQN4MESyxGkE8Rku76Od4AXRCeyaMNWx64ES+tDMHa9H0A8AU96uAiGKmqRNfvFKneifBp7C58YrZqauokqYOvZFaUYMSlQwMZ2br+iPnBJ2DITRTRHMIOguXWXxTH0NDsYo+Ryp3nfsgIiP+gsAAnsGa6eu2YB6fZ3HYzETjRz0hww0+qd6HYQ4mRH4hCw4rgKpYqVF6XIMym3kkY0PsfGKDvos49EHSuVtohjIkgsXTQz0ClzAFVIT5ThT0uUL7Qe80NKybzWVo/ZzKj0EhkBeWUwtTpiNESO2PgnFrqE+jHqAOztI4Q4WpAOLT1uDulTj4hOlDo7jRTvB/HEbFFisPSlsETT/ABw7uQUDf2XyjuKNEcWBdiRkZPCFLIZhiRomr8UxqxthMTg1P5C+YOtH4Gg7cDjxk6KF8URTPAcA4/DewpKEggg1UfacBF7dwoFemsO1ejRzU4/+Ko6zujeinKjD1Y72O++lZm9uVBGpigTfKd/uBrlP41p/Mw6zIsPXekuxFfNtnu10I1OKBfR+w9STBegLN49NmkJscy7A+CgHnZv4JD6fWO3vBNOadbVNG596Ph0ZxeEnSA+gCgD963iEfAdyQ0bgNo9BTlDMUm6MPBdgkdxOMnHMWE3BQqP8G824FkWC9U2MBSJCoHnVBfA2R9u89laIIcMjoaP03oiHpPjmllYYq6dj1Xq5qnDA4TQLZTg5aUIh04EfO0GjDV10D0oTHNolh+3/AAE7iPYxzG4ETIsmZYNfiXmd57MEpU7J6inRhTUVOMovjbXQhq3t5i6Mjr2h4UEKj06cuU/G38lD+DF9eDVbSMRAjC9s2jMMDyC0OaIi9ppVEHnbJmMiG9INgZUEwVnSjkFfEAUpY/iabedF7BE10trn7graHoYFzaJUC47AAzDPuJQH8IkcqcZepVQmmX7pJ5VryT/nRL9MPQ2RPZUH2IqeNYo6Ho8lqMdIFA0RQVG7QeuPSh0yDi36nToGdvJtFrCAAouS9M7YUvBV9/fI1NQYIsTinCtqxQFrs9hiLcGx0loMYzdnh4feWjedUFqEL2IQ+bOsxbyhdRijUieFQxKmF1fkxE68ixPhfRIeJAlNFtHPShfThDlriMM0Hsx7GCyAVxqEgR//AGIzTsWN4lSFzIt9PB6n+vm70OHUMPh2TQosnAPlelwNBp+iQGpvBAJi2Q6/UzO5+rlNUWjoxx+mP9EovHV1ARqGngnYRbo4EkKaxw9b3QHYtzeHH6G/tLogekdS9mkw30Gp2eix0WAacUaeNjuHrvLtiVyKXcgzEQfUijgG8BOdW/JqPOu4PicHlVwIXcVjNViCHVBiXuym3U/8UrOlXvlI8J6p4jHvGcxQCvaCqdHR83vOCaBUDrw2sveXbVhSUqMUNgnVuid3sGqfucDSPQNkYp0UhzWRVRgQRpDGml4PAxEafKSDnYwPjy7Z7PCDEUTEDuw6gEmHggKaPr5/Co8PUILLibn4CXu0qwJvcXxTqjC3aQ6eXUJ0Ku3zx6+uxtoVTGcy4N9GEnZMacR0JotJjR8GaIi5eBtkrQIxhiPgvoQ16Hz+hfsDA1D16fXBZVqGUe/of40dcVQoxB3pfH6GBih/ZnHuYmE1b2R1soR0iAOhxm9b9ZeLB69D0SDRXxPhQ4s1Gq9fRR61iZQTo76AtorvZTyugEHhPV3gwAaE8dRxLOPIfF6O0fIiChUMgMoUFhko6PX+fW8h9HgDI9egw0J8uJuOTAEMCmvg1Swrg4YWUjvHlDuCE9eYQewJFUfYadfKYNoYdd9H3BiNHsLRxCGaF6kUnZjsOWs9tQ+3aBiIiJWcaUbUvyQ3+LsqacJaFm8QGagW9j3AUB9pLoGXOvYpWM56dBGraNAh7Q0SnMQLnZB7qDlJoR0acl7GKWPQaAoFJSZTmw5AVRlcmgs0c6jgADD5D2+l0PSTqBsFGwYdJ1Eg9GV94hvkkkuabirpm9nAS/hSxv0JvoWrjg2vVIg58YYkF68RMnS40iF6XDRU0c+bYAynnuEn4wk4hERKUHw7ncFpuiA8mrAO4Kj6DMxwNHNaI8MmNR7Y3VEvOT6N9yuBOkIZ6NaQJgq7VJU67AfSJ6cMh0qHMlrv3r/BnIe7H+DRoedC6gjg8PWP1LJjnEwpY50tLRF3r0irnaKdJQQ6sNIL32vcxcRwVk3BWr0MdwluRHHpLoACaIYCNYRXxy6WBJewamyQ6GL28e5pINjqza6T6Rw4t8Vj9mDoIpmmsTgudjfwHbvrbrQZp6LrLr3HdBhIGPXBMEkTF7FzMTYa85DbPRSvFV8P8A6PEK9vIe9TUxLKMRj1Hx8DohwmYqISHFirgKBgzAhO++aD/nWxo6ji9wuuGGDA7bfH6QBQRIXmLZRjuP7HzUdUGuU91KoKLF9wkmijiYBKLsdH/AfAagswHaCztrCIlpPwMkgDoiH8X0FlBLxmjUqPTro1LkI1AvGMww31pjOTust4zwdp2mJ6sK6Ksdcc0kIyP/0E9Cjrhd/eRq+FsXzsAucJ90CAPyiDAFAYY4AQ6FJ/p7uX0y3scblTAhS3Phl1SCXTVqkf8CihDj2Rz+x169hhw/3qaKcx7x7B2/RN8s9BypDGeQdiHUCGV/FOE6inokMz53U8G5TsmxqI6f6AFYNUjkahLSUcZVNR6LDOPopiS6lq1UKOKi9nCzAEmCmTFHqx5qRzeGUY01fArAooAvXF3XdbrWh/Ae/Scfvs9GDQXuFYxgk4dDzv6GUKTz8/ThkHqgE+tOdMPgqw5Dc6mfgKnYHsZwU18JtteSGWejJMWBN3MIxqVvhHRU9pw0MG+jX68DrgD4CUp0kdVZj3jjJqcN6VNf8AiBTs3kej/DM1XPiBARbvSVeoEkRjyJYLP6vqVgxSkRg7PSAgcvEDwPiR7EgPe5bwkKAX1OwdHtR75UL/AMp8dkHAeHWhPUJSAs6SLE/bM64vfkGgW0aGJGmx4c6gY+92YzxhWoCAVsM1h6tDWn+yldcDJQzrusVw4Iz3IA590DSy1vBnTRGaTnTUXArSn3QAQyojOJLpqp5w3zhGI9zhAiEXabYEwcFoTpE5MPTSFMxAdhWJdODweMNC9v7Yke0784KSmgOsf/vKhtBZXzuhPQdHUR8BHaOKSYQfFB0lKQR6zltvhezoToGg9drTifzKgQxX0s5/o4VeojxVaaTpuROg4e0IzQCfpHpRbMcNSINgF6Au4jWWYE0b5Glt/R/UHZ6ODIbUpcKl8iSU1CKeZMAe2j4kakiQRy7OJGP6PL0cUNGsJPeqhgmdlWlwzXOzKSheD6pQn8HNbxcoZkLAUPXRjeOIjITt8R3oDu3TxbL9KF/6WDXA00Q1okFNMcXUNTQpFnI4YFWkFlyKvoiljONCH4fpH1wqHXwYfNLK82j0tGYwg8UckMDfA5oy7Td1eMFLVABM06f040+uIcFaGguWwle4UCw4qHpTl0bfboHsLOKV0t7+kpxFdZ8M46giXRh2dMGARpGpvo+ntoPJ0Xe6lPHUTARFNAjIiIwwBi+7BLh61Vj3tLwEHbhztHuGszQSKUdCSDLD6vYhRUk6OdZttbQR/iI+jchqn3wzJ32qKMZqG86MgY/2FpR/6Mc/jRDH3wFMVCjB0FCU/gL860pQoOvLpf1T52lRh3dmHhuOvUaSG9B/pc7eXVQoTR+Vtoy4MMActt9Pe80UuHnxocbTNClpJfXde7XbiE5EvSmE3YeAthq4lyI9JgTsa4o2/gxSI1JDvdRoeyHOQ0WMU36woHYT7yEeBoIL2vXCsZtfCDrCS/8AGBoI7voVMC8toMC99gCDqfHmPrSPrxeH/UE4lUwDRPk6FHMjcBOYaNTbo9Jr5q6Ccokn6zCw4hk4t3DiGCnfv1g2D06ZeuAeGYlN+R9WOmVAXpQXM+h+NTRpURZhxHQ+AwwrE7fvAphNNUTQTpEUHQPYy5TJQAdl7li9ilOWBd1jXhPUOwWH+8PBgAYE/Ansn1zUVHoj9kaXaGWp3zqH+/6CfAI/spz/ACZPQHpCq69feA2D3sMwikU6j3mM4ozHNh4br9fQPQD7xAoXdOGLRiU6HHaMNGTyu9CfHQ4UUH4E7PyjUyUtE4cv/UBIl6VegpKnjDJKr9Z4L/RWkY8EsY70fMP1BKrWc0dO6aIK1+H0Y40FmWzPb/uiJ9iuDxhCSVjYdvCbfW7OdDnoxwhhvvZowRPA6OPSniFLh7rgcbBpUhM6HmLuA90aJAHPZkSLRdofeHVoln+gHVJ5FVo5ZMQ6fwjUWam2H08x3aO0gZ5iaiHQgsO6/o70+ufA4l+qe+/jxDpoadcwKAD4SvqfdPYLzZmTQGdhoaIGYMpzva7A6RK6dv8Ac/HkD2gFHen5YgJWgA8HS5sFo9WV39At4GayECnX2x/qVWLxfUy3nWIgDIYoi1cKaHakGcrZiXR2NkihHuJt1Yb6w07jwisBLkE3OxC2Y16eDIQ0gSvXsDn2kMkUa4Ja89Jnca8vGCqPdUkVenwyBac4CMbNQJYL/ECDSvJ1V1fetSU++UiDfPgHoCrorb+mhB6eQ0bp3fWfQgUdBVzOIv0skPjD+kJRNCDujfouupj8fwLokh2VP2/UIo+me0xHSnTSFw0Kecx0gxsUOlkabZUjCsQcHZPKwsxRDgBMBP8Apnow7Iu2pVyJRdUSl9/hbb24Nxqqxq9UbMDGcJzFatP6Umj0pTV4HHZaHB2KU3MRE8MZmUm/GdKNLMfQYZ0Lgwn4XpwdmGH9Vhg94bHdejt7MVFcLBdHRrDqInFs/wAh61GOVEd/RPZg7Enroa+s2M4mYG0P8RCYzIWR4M/bLESe+ohcUfHkqnyYmGiv4ii4FlEYVjoX8AHRZ2Oak1BIhmTyIvt9cKK0Cg0wvQIyhEOF9pjk4Jvlun0d9c1ivs9p0tXmfw15TT7n62FFL1JfhRx2yY0difwRb+lPrmS2F6nyIlGgQlXhh5RzTxpo6Xsqo2ika4l8kGD8AqBbqwLigCN0qkMX6ZtVsJVJl+uhSKkfsqXQX/QXn+/F19xDRir62WuNUAzVTgirZ+seR8Z1uhZzYHpPA5vVPVMMHOQ0PfRzP5PKlBXYW0OkL8F+kZex8OGUHRsya37LHSB05doKx7P6C8mhqdIvpHgcxNdVU9haaoUKdEDIv4T2BS4NNi1w76T2Wu14xAHpkXQECGE6lqoLFNPz87GF3pxcOmxIH12zVRZQ6WriyYKA6zNAhwJ8XDdzap1H/ogk7dM5b2lOqHu7FUwoPHGPtIxFEhXbE0SfDnUvezRUexSMf4q8sN00FpvRv4tGFOLQFExJXQmDWJH04YfV0JYId1+KJiciEUZoikmncsRiI5bCDUlQ9Pb6J5pqcXrU2wXte4Lh1WT0cqLh6V2aPTMUTSCGrTvtXS/kumD61E4BgiBiL8N+jBDKJTUlAHT6EKgPb/odLdhYHKPYYAx7YGTofHhnvA6elLdUQxHeieaCTICj6ChIxLOj3Pr0KrxvG5BrGpRYqhHQ3jalETyoJ9bBVK2heGQUhmg95Ra3O2EOdCIoJRuuu+AJinO1Vejn/ZD4d0c4/wBSPgmBjRA+nwcqi34dPwOnBmIwZzcrVHViR7J4GJ7yomI6QZT/AO9QbkcVGU7TyWPcR0NHF/rgQK6bhfwIA0cpLuazIUZgO3ThmvBww0ZAKKjymzQOf7ABj9HwuDXHXUaLBuNUVMb6A5vAwVzeqMePaynnfQPLjtT4AwLvOdYB25gb7v7ofghDOoxSnQGI/oHU4ZBwAhVD4FsmycgGhHr+j9AJCXMp4wC/7U36MPBdAWDsElRuwPY9muhIHm9yROjqvwYaoqgcLL6z9T17H3ahL08Bon3b0mVlT/YbOItqDu4LOknnjbwmQl4oLlp9Wt7DU4LoPNFHRAnafHASWQ7HVCJfxzR1eLmFVdDFvYX67TWXjZmCoHXjtspjr/nNy0QcWyzTNrwnnKxGG7AVFGiMUX8zjXWyjFqJD/6yB2cLDoxwV/JzpLUB6HKUr/xNf+Yj4dJz+YUiHQ/QM1LZwZU9WiBh4+JA7TXWABE0RB0fY6WgiHg1Hq2VS/LJ+kY9gZ1RFgTZTjSojezx4npWebDcpR2bEzY0kTHUUOlaoK/rcBhIkdeawiFHpwqg/NMG0RD9DAREvk2BexT6+VeAnYVFeymp6RYNB8FU4e66H5PtRoQx2YGmcowo0ve90zS7xylkg4S0aQpDR+8hQ9D4YN9XNZQdXmwYr2RH7Ijg/pbaHQyCzkL3BCNVvqcRZcSoICnwfUaiznYikCfwMBmVssB4+hLi0aI0KpirKZzo02oRVMZ0YVaD04AJRWSohXRZIniP2GPVwmvcJNT5tr7ya1xpMxB4uccPRycNAUkCvYetH2CHO0AK9t2ku7Ew/pwURveUSuvagPG6AcyyIMVetftvWpmcwkt/YEiH/iEs+sZF4fBaNGQ6VdPRNcKF8BOxaI+1idUhc4URcDDrEPywnAIsJ0CWdp9QdgpG2GNcUln3OzHJLwYQgFHoVCrPcjc4SgJVdUE3sfwqRxsM77EdutKKGsm7wmvoYyCp8IsRXocQR8/wepuYeOi4x7yOMfwkehQP0xD+Ip13zX+GkGjTNbrh9Ei0AM9GlAtlToKWKOtUHQIJyWP/AOA0DBQ8aWkrk8FG5Bf8PwuK9EebyxkV2B9Fo69FjwIj932AJGOy0rYcyI95pR+99+W3RQOUkRSsxlYU6dJMV4BiLEL/AJBJ1M+64c32l6Cgxu+uuDc9OaYAff8A0R/XAy0g3pTZPBqNoWIeRw77gGdtOo1gIKUxFghYqK48Z0DUHCHDoEB6QevamO3j/9oADAMBAAIAAwAAABCYqCpHUiTYH8R9vSqY4mkbMBSQoWBGcvaE/AlDG/SLKVKBVd0wC4zAVLDLRCCOfSw1kp7rqsmJ08XH/cKCwcdoAoUstbv4FME8cADEBt4KG+lC3ZzKTQrATCscVjW5OBrCHtu1Q+yJULASuUGCt4AcneKWYLZyhJ51gaS2guSSHiBxoCIWwnTsXs44nTicTGWlkCkCFPwvk088PJpSajFuBWAqq+KYD9TxAIEge3OrVfQ8GpBwegahcC5VlNRp5FCIxSK5aSwXwMrTdQyANihme6ExRMcsBS/bZ7Wf2+CcmMpmdKBPqHQBIDLpZxgEqAuRg7Yj5qfgPFqbbZrlXGI8kZ+w0zLCa5Vh+1bCga4HuIr+H0IjcGUQ1KlRUFH1ff3AUKHbRJa0kMazfRAyGwFFB6ps9Bv+Ow0J1yXQhoXB3DkohzLSqkN8sQinegIFBHUVySDzpEWskw1UQ0G0STzBZYplniSRQMWmgSh3YNF0cQFCFQS0jpF3Ums4IKMzIGuCt0e/CldQe6dL3RZ696aFeQ1OD62w/eEkt4Hu/AoJjoVdbKleVGZLeyAeiIqmrGQLC8h4rJ4eSAtuvBWRlRAk7oMiIRD02Sol5RPcAGXE4xxTkTsiZbR1Ny2h6XGOjhL+GEXwiClgCysKGkJU+XoEKXq7M0M9Hg6AifMof9mUj4PqUKJaAfkiiQAJqMRa6nhMZ97nPM3RFAI6BFQFYct7qEE7UBJTcQYODKxQsUmwTbelVTmgHpC6YcaSkTIfEonWkLWSm10OZAnJqVewX4S3mmTWnN1qvGdojozggsAnTrvL8jgUz8KLjeJ59LeQZ8tALYhbbrSylwwerWIu3YvFxGjCcJKAeAXo8uXk9EO377S8u7nQ0k6J9WKDVkcOAjTOZLAHTLrzrbDqYdSbQjTfIUzPQEZ6wVcKteNS7QDcJaExuB900/gKc5WCiPM4H1Pj2KVRwXCklhyEAQJkTIU1gEYvpY62LGP0dYCU9N7nX4l62DSgc/AYthoc/jPFbWl53SfyhiQfcpL0hYlYIdWgRBYOKCWRb+Rm8kSO3BvWTg6xiGQxrQ28gxH4LhvvuJjOBDKVJYjRDsrydPC8ezAG55BYrwng1sCR6m8B+RkaC91BKYBo8KLIHFd/PLgBazG6tDUs94vJEk1IREuhN9nsgcyCFTScH4UzzsSMcgeVCYitLtIoqeEUl9+ImiU5qfH8JHaIMFScCP0gaHlC/pXamOwZ4I7C8GtmnthLsuesX+mQGFgNbbAsnshJe2nTwQIFEhIBKBtHZNQCYh3TyTMWOWMEn5aPhGEpB0ghCiTT6Em+sCAeIBbCRaCoE51rOu2Q6NYsVcALP6b4KxjnMDJtTWGpnqGVUJqhEPwa3QuhilqgJyYPwaIacc+dKCl5Dp5zHAkaPgR/ME0RlPwBYIZIqLPsyIYJybMBBbIKk1SSOwy9URLYnYquYusGSIMIO5ZNht+BAOSUsmSUaycmq8sDkql1jo6lACKQDZoLeqFyUEoKLesSgrOM1qxRZAhVupRDweAZGPahxFsFWZrMJfjL1PNh/cKDq9NzQtxRzoNFdZtTVWJSRWSw3QHDZko3sahAhJFewjrlm83SAMfM7PKMxKnDDgrTw+KpWL6lbVIHpAtwqLz/ALnt5BuBmY4qGEWNPEMah7COMAHjSKh4XuZnPTLoFUvbzMaVF9UAgC0KakDNIcErD5Nr9NDEkUX+qar6XYTSbIUAphc09sXrpBgowdZ/Oqlf7Y3cQjBaMohxVihRQ6RCD/lDaNksI6ygAvCgKNm2siyBOIRGUhxucDI+dCivSA5ztEejQUqeAEFZSoQ3LKIBJLaXhsITl6DkIyNzJhwiRsMVa+qZWQUYnTA8Dr4Suj2Eie98t5LiJASao8z0ysBha8cqLA3Dk2N1asJWQ0bh6SfIOD5IAX4WoHYoVkVupTbSxX5pUgJIK9+YGGDK84Ayo8tkQQMwikaMWBY0AYqpDtOGWXpdkPk4hNL4CiwyIEdiiOkOAom9ymh/LNs1ra+rP2f6xQ2SOrco482F/8QAHxEBAQEBAQEBAQEBAQEAAAAAAREhADFBUWFxgZGh/9oACAEDAQE/EEseBEaEmFyjDinj+d0mrqKU1dEOFC4WQNZqqGY4DVGHcmpJcC+bqrtfe3FKCrhAsGSmKyIVNDRSgxAW7qWdc1lVYhw1ZB0aALRMsKD1gIByhn7aEsTkwYm8tPCEZ2ETNj4VIXAnDvxzZpJCzBIhBgQQAUvw4lFoFVdcDa2yxGekK8EhTS9IVaa2hGpK1yvTBgsF2BcFVk5pl8FPqoJBR6DkPwMCkjTRCrSptejSKqtEAwQFZfdE0EDdObTFARo+AGg8KgXIskiGdBHS3NmEmJgaIkAw1BVGGMGlwsgFQphhAr2LgNVCLYCSkMl+EtedaY0D6nilGV0VEecQJRnuAK4nYgV6BUVtFquopsyAW3SGccwMiNKMimR2zs49u8mB+CAFmKEFYkVUrCbKeYawAiwKKrRSL7cmEhltRuJYYxstFZuHRCYuoANqrvsROoMpWggPFYKEBDuDLwRESgJA2DNBtpOQfV+IMAcuyDWImveDVLCjtQ/Y0JySlAkK9w4F+JBJqYiMBOzlKT8ooFITKz9GBOU1RAvJEdcPcInaX41kVxV6Y4pAQiYAooo7eTEoHbLQtaaLr0ZqoAVcFownyNisECkpAAAqQtvJjojwdIpNlYwonKCCab6vij5OoA6YQybw+WsUqe3XG6PCHBofCJMKcWDw44C8TLWEfz45Gd6VSoPBoMcLfCjGVuRNaF9gR2dpHEChKZuJC8R9kwkGMYUEgb4FIWkQDAFsioqReS5MASaVBY5bkOXkGQHSwKwga0hbIeYBLsFoHSQuhCxnrBTHSlFgGmDVNNUC6lmAWhFZKeTZZAIKK4VsQVYAvmUISofTiJ0YwDqiSICgIMS6AC9lw38MYFiTamNsMCOe0ythQW0UAzAJUVGiv+kSIoKLFVYoVdJmAgBrCTEleb7z2kGCbI6xwrpTDc6oWGeAEjpihl1WbRtwZrr2S/AgvUO2akJzC0Ao8UFxqUwj9D0y4wDSXoQFC0YB7gFcTaQpZQIuHQ4lohC4IYAhCGAui3QVgAc6AlhUAefjANILACqxwjAz3NCAKuIDg2gdN6eNSVBUSDClUScJOqEkIIypBWhQ1+gFEDESxgoUg4ERIFlUJVBdJWM+XkMFq26kVV0TIIgHkAiBFrEhEsJkIAN7BDJQMVoQIieAPiZzBXYAvoGkQ/NjvKWxRKAWhgRjiCEBCsLTkeA8A8gD1TxARYQmmLhtfYHCXmEuAIqgDmCQVceJII1FBMuVQkHkO90YawnK2DxPEwcVglCQjCAmHSWEigytCkIFIBn60YIUIQoh0FkKgmoEjp/AceZdRaqAEENpZNyxopjo0yEGGVDoPhhIDcqHsChImocpWJfxAKQtYOFfRDreIDRh16dCxkqJNUN2id2vA8+BLeqMRIILmRbEeiQXYPiKChWQJC0CkigYwRcLagIEWAkGWBBnXZwGOAYJyRaFNeC6OChRHSTsYQ8imhUIogJYRbK5yhPfQFPqQyaAJRPPjJyGoghLIZaHF9GqK/oIZSqMJ3yOyZzWaGUyOgpzQut0uhzqBkSA64J4lq1/r2LgQVSrQQjbDQg/QhxxSRYfh7RgWuRi5lXIVJPzsKIeqBxwdPpMpDQHiASj2fQl+yhQXblgJoRy3vO6WSGlgeIkyxI1IWQM5Uq9BxK+eqaooqkrckIXNOw0xIzDWzMxRhQqCAlQ0GwhgicV7wchL4i49tgoa4QUlMUBE6EWA68m8EKkAQKjIDH+JGFlCMiBKaS0Nrs57VD7APgE34R579ghOGGqRFaqWuvfeVYHZ0gR+wleViDJ4AwIL5xchrxh0na/rEAQDYm270KkLdPUGaFRW1UGL4CfUYJC4acbwG+jMUZtZgg2Oj5qaRTfQ4DLhRWapBkUWSq6wKmT06EK6y4BVtUBFRhvssShGiECB8JBXMYAGyiKJ8nqIFFZHwUIMfRUKvVdFQ0lQ7jLvSJcw06evIAyBA+gfZZspgNKPJazEjbJTVantEAMUJF6PcAIwQKWFLBPDQXNDQxSQIVCqAA04Ql9tUVBAGoyFBQAFaCaNzUetAFMlroKqdsRGgYEeREW8c950FiDgj6VGjK6aErAhEEUUSm4IBJoSkGetK+CIwCOJa/IuFcioowgiR+8gogFaHhZCsmkShgEApWqMQox47f9AAYQhBQU8hpwCL2NKxISQhErDbLbWr1LDIXIghBbsJ4JVlPieOExTFgYEpFYkBF4oIgktM8slRq0+G4aQnKnEMYsx5SYSgIkYRXlClEHHbqSVYGwUYAAAvkihTlG6ILMVYBCcMBKFjN9e2IGi7rYGrCc1IAek+Iwva+hqC50BLjJHgRMDLIi/lInIMTlBCI5Sp6KIwkeOtSEOvlBDIXoyt4KrUU9BGmaKiirQurIuDoERHGpVsFEEhTCIIpBOkASs50XAJtAK0yuog8CldZx+vJdBUXnaJAK1talGkecLaAn4QRUeY4SE+QZAAYmoeCWYqyARJcPhW1AJDV04oCSrBKagZjhs9HCMHoEAFhA9n+N3JV7sYSBQfVtqRKeiZQMBVpjic5iFYuQ+BXVPgHhloTKSg0wGKhnSTGkto+gUiNKc4EtGAgU2K2oa4SKqoDeahKdbAQJnG0U4pIDAVUBARtAl0aUh6AQSsPOZ2wUfAToCkF88tQty+IEA67SkR72AlCIwKuLFx6ea7mycx6ONEIZRIGEYUvaNMASrNQgBRZSI+UIR+yzAjlQVKPrWpG8qTUQF5NoHpVVV/zC3QFSxWABJwLA2VBP+QiqAXEFICDw1EagchIQogTAwKKejkmEPoCztUoablGgWGEOogYKMpotCh3YYGUUhEfUS4cEB8sQqoqeQEhkgvCUQoREkrOFTxgADAwWFiD2rTIIgAjRW+JIpA1Oh7COFW/Qh0NGmNiSxwiChKFuzYV2veAD7Ooimd0BI1TVpojx6MlogFI0qhpLk9M4JalQhKWmqlQagB74ZkhYo2OhQ1wM2oAaFHYsDJNGJIDqloqwvuqh5FM8AU5KxqRDrJHGhvVaPsUEhNSRG8hZMHwPEQQK2DWoE50oQztCS5hbcJfqCgAN6RFAbBjghXjJtlKaIF4oUTQCKJFuMoDvA7gAoEuKnDmg0aA0QCQggUEAMhAiD8MRAVPDeSsjcYBE1WJr1U0DQsEgFCEcAyqyhyIWJBLfRDarzgBnwDFAAkEACkZagZzV6pbkI/EHo5xX7QPMtBzSxwCIQ5NA+CWyDS84zBiMMUBhBWB1caLOLgAZHwl/SV0UqaMmONDPGPDdWAeEgI4QQBVTIbChC3RAoiEHoNvJiAtslMMKlTlPc8EMKF6biSTw7DT7wxAAQKSbN5jsQQSMEUF+Ptw/UngMGXUjoyIH4BcsBC4cANGw+DgOHyIBJnFkFDCTwO8BIhttJCYU68VGfRvgKudDdB5cSupIEXkWUHonBgAaTWge6FPSs89YgY7C0i+wkzUoZkY7ATxMAQMI6scDOhvwgCpqEHZHEwtQVhWyfuvgUkEmCBAZORgN7Zzo+EpmNkUXiEK0GUAZxNQvtnpVjJQWkb1qARnXKEYsUoUKsRqnhUeNoVRiGv0SRXFuxlTMgdCxwuEHyhFQUBgTQYmK7AGJ37qhzQpwKQFTQFxyNC4FShCZ7YIuGG0BerAB4pAKAwHECmSWOTuSUBqaqlyJQRReE9XKoCo4l0bxgimj4Gq1oCV76KT6UAoqwkgzhERRI8sQnG4GPogADcO/aCFskgpkgn1eQSApC3EFqQ0C8PARUujdVKAGWA5ggw78FKjqCmLKw5BhQiEZ6NyohQ4O6Dllp+aQYCocvwA3OC0K0URjgIDBZ82SBc0C4lXG3hgmwpwSEIpxEdhgEMH1sBooIOQoCFzVAhcQqCkLCdHmdW4LWKo8TwlV4rQn091O+05N1PSsjUCrBQfehtJ98lEDGBGpgTXDDGYQlVr+E4QAPFJBaIbuqUIKfBbcW9P6wT75ekCN/bQG0BojAJymDmyMUVq8ioJW1gRVk8jIGo0JYkMSCh2nEBHpsoWo94XNfybHxBHkfobjJddkTypApB8AHIhcrKmQK4YUPBMScDW7AhiABTwWPtE4KIRdKwDACCkjXzZyCUBGxCKPAk34nWGEIAjI+jMV1hgyUBFXgoDoAsUioKlKmBwgQxDSpaAa9CizinPNCIZu4oAoILnzjsFII0AOo8gALCRAKAQP0CNDNg0iiq0OApE5rVeNTRVrkEisWolVcHQtFAgUKA6YAUfAxA20tEBcbxHF7NjeuuBMG4DSAJUwhy4AVQTVqgTwHAUeP7W8KUIrmaLkc8dIugpwMVUBEbC/EUC7o8q0ewBT7tipAmuHsXyAisfJQeDPBaMkalkpSUoDAuOllVfQAtoQb0siiVd2mwlKWIBosiACwQEsixhG2BgchQ652CYI0JJeYxyPXyokBQ2al4Iogosa7sOwYCl42uvGy2IJiUAJ0VTEeKiPgMNs8lz7HN1sMIVasQOG20KVaQot0AIi/rIZoC+xKICpQrzqlFFhCl9WZdYQF0omhQwWYNRQFKBNmCBgJoKwAO9VHC+lzlIFhhFNgALzI0yT/Ydjga2PA4tAEgg9XcriFNGFwIqWYA+IxkgRJqmMcZZDZhSIzykR2O5Qg2pC6U36gGANgpLDShgijDQTUivYgEARAAtMeDDj7bZAAQVgSawK1Jyjx5pZ6cC8gBXKyfmVFbkKpKACYOMALzL6Y5EIYayBXQnifPJEMo4qb2SWADcfUEDeN44PWMVypastxin2XuHCQBEArBtCIUZKenggoGN8GvzVOy65ylW7BA9hQqEBNaIk0Bx9dLBU2TIJrxCkNPQMhqgCJDxVsCKt2jdTS/6ieAF1RIjaVN9IUYKp4c1txByEiDEBUQDWYGIEdLp6GovKLAGSKD+IkZnjZ6lBYaPxi4QLRcqtccewdVK7OjKKiFQQ+osKYztVMsMQpEsIMIE3LvVESTE8laiJG5DkBpkXUfyaHAYiwKeiwYGNXOLap50VcABJiD2CORJYjUmsVYHHAI6EFiUqzVkTkYVgAnjG22oNUERK2TaBRxiC5Z84YCCQlEGASmriQEIyIWHSJerUKArECGpkXVKnpEuWUxj67F9EnqRiMEDDrYIcQvIUVIRFjgeSKGpFEvbBFLUKktXAUQxQHQk/OV1BOoCCLHWuqsRQqpxAKPgGpgq9KkguqCBgPAxCxMBHqIajIjydQvSWITcVvuDSDSCAY0Fxw/UReQHwPljYFKs1RfasBwg96nq20TbyCItuipBeDAQgtQCaYqYNoF8XiBj2AygxorZbd2khQA7gIri9xvEg8b+8kxqEjNkAKsa3ashtjARVegOWe4qpPxemAAkdCJeqCVFrCmJoYxFLLM9H1xjJK0QRNmqdBUZzQR+wmuhIGgCxFsKtBiHMQK0IcNJM4KP6aFRgUEcDFFoECKIbClLoV7clhB1BPPINGBeDNCB4JdB1ViyoQbPBNsUB6DFE0CZFILI8UoAaENwIKjzLwT+I4GhPAwCzQCVLBCSBpZBqL0d49ExlQhUAA4r+eJEj4ekVCVBUfkhprU2gAj0CogDknA7K0SgEF3BDAhgMIXSER4K0EeMMci1SonE8RRzEo+pjRlKNo8mpi0cRUKSNqI8DVA825CKWECoGxjYXVDtsIJ5GiBAGEOZO8WMAiOiQAZRqLrvBFStB6x4GiDfaFFABoP7kAlFSguA+i8d4KJkh71zs/AKFW9SaGitlZMS2mi1wm0ckYFsuYPVzoYw36ElSlRaxRBIsHjeYRYqNpj5i9ZLICo2aYWrGEQptugkNbk6SCFqK/QKNDMbvLAGlCA2MgSA/rCigihPQ+FEwGsMRaxcOS1KCqjKFENS6ED3e0iq3EgDoCb9pwUbgapGSAAndIr5Jv3sXCh5TA6N37lWIVsESV6y8yv8AeGqknCktQyg48GiUiv8AsCO4hgwshxQDEwiA6AiwlIHuV9CGwpQvhSPDTWRarSMxgiBSK5KE71IwnP2w0yZo6ITobTnPzmuIQMWw2TRwbexbdjRAgS6hOsa6xStIoEy9GyExGdVKFYAK5BQidBTaljQIAQ3IEaRTiNAGi8VSFIjHNLzhzoZaF5yrolG3DRhGaExwOiyKYBiUoWi6r9Da98jYij91hkBDDdbB9+Adeo2ABwj15AUzQCkDx6IXAGiAlL0G9IU4ZljBHw/mQgwEgsSgIUy+EtSkJ6yDALaaQkYjhkOSgJBFUu/l5yoQOoGZQ0GjZ0Fkuh5vDf1BuEQ8DdcArUzGKXBPEBOBNPJYBujAqhyHgKamAM/swtMJyGRcDIzLOYgDSKPsThFVF75UwMFCRSq0fCNg1UQUVgU2JN6S0zFlqMCBCILKIfBSvK8LQLHIyA1pXIKgloFKvIk/XEgUAXRRUCh2m/IKTCwpjqhAVcEUJQrSRs4YAUbpp5cSVAMcA9KvtnDRNiihUJgKAmr4v8AyozMI4wowKgmFGDkIUDaVuWGyGiQhhJjeIa2wmaUMQcDAnxOY7BFpzoCgoP4B74R6T0Wo4q0ZEF1BpcOihYQhiydSZqDlNhCGJJVZFEGyAo4kgjnHZgnMZVg+6LY0PKr42nAQSCMa7xJCdhoJArkeuiSddCGNBrANSwKOIyIfhogChApnc8at8BIcFpGWLHEp7pApB0+oHxBBC47FtaNPKIhVDWYZfPTCajQCizO0AkAoGaADvJxYydWVCn4AYb0DYtlNREAjDGAK5wekiefKwAXiyeD8rWdavMg9EAiXWR2VyDABtskzRKJcrm9VGWkDUT8TFlJhLRgvqA3tafkUkBKXVR8Ag1xZhNSppBH4mZIpEZA+rDFARcQABYSSLAoqzUgbE8CS7D5ClUjVUyFLdQlvEBg4OMmf4LAWRylPO26kE5sw3aDQIqSJbRxV0qrcwjyCqlgx7OVhehWFJ1uUuSLrkwkKFo5yAmQIoq1JBpTiCLSnAeM5hmCBhnBa1TWy2USF8tQkygCDgxOGVpSDY2HjLLDGIYCKgJK2X0Qbzh33xtOkWHiBLJ2k4RB9YAmAHRhgKBtSECIpYTmMVKGCqwG1LcnTEpClMiyUkx4m9tXAE2GJplCQLSMAaQmiKGCBGA14EQUJuFtlUA2bDDAcrlIlVDoQlAdlvqMMXUSgUYKH/FXRdlmPviqB1QjKC67YQaLPsQNVlAB8OJTgAFjRuoFzPt2wUjJykIwIzRj6cukTo1GCcB+0BU5+lF0UGZobUKIKEYKHpNYIVKgBJVAGoIFwRhpBaWYACcIjTTF/mB4qKxdPoNrRnUskNsoqKQCQnJ3XQCEaqO71fCw9sow2FUvGDMmIqUdAeFkCcyDvYmzSslhgVByzVHCwEljGzAy5E6iBSgrLCB1VYm2IFQRbpzIp6725woBzRvYrQHSkIarCgRIgWUQE34mZCkJEevaplxcYkAE+3UIrQ+pztyg0WFIC0uBFUYFMy41QZR6UER4pS8kJ5kodBJA6ELFsBCqCCHcZWo4qJnFwAmezrr3BVJQLB5uiZlWJypaoAobV/SLEmHlWuh3laBVvIhxJSCV6iqum6e1ixJBhiGOCwxAhJZxLgHajuDTACD4AeyxF9qYAMW02vEQqIQHoTAhaaikgRDorNaI/AcAmggV6LnKiXgRICCUD229tDfAWln47DAYO0UjJJ4NNxpa3ICACfOMaKThVBooBpFPBTN5gNNxGkmVVUBYy4WhxApuChAqyGtc8s5wGkgJ0IpI0iTwKFSFAUlpKTbTQZ7EiI0WheZm3cqBaAvCw6BVeRQeDAwJ6IwJyQAifgAyRlRnMVR1C5AAw0A2Y8BiGlQaH9HQ+uMk1kiJGAZSItxaLpg6pZbBsiqMWIBxUxbc5TQZrVWqK7kYXgHrRkoAzxeb4npgWaoM6dAaNzRjBsoQi1aQTM2CFBsARppkGShZwQhkMT0CagQWIahQ0OfQUKICAAash658CwVkKB0OZA7wg5DBiH3QdpJEDSJJAmA4TuqUOoKNJU11WnLAJ9Sl6xTrjAQgwO4K0UbBCUF0DlCKQF6KRkpliAHF1FkIBmo4IFCuZTJcFUqOQGM8UIQLAkAVEgAgUSh+UiHgUYI3xRpeur1ihMRA0J+gv3HLcJCAN9C168i+v7KQmVCqlCQBpVCBlSQgEJuNXEvtQExk2dEAgwJDTcQSGlNMxAhgBglhtharCoSBMOvE0IpvCLUDA1QXTXBCBIikPFjCiU7Sjh8ajTQAQ4VdyAWagE8wC1T14gcUSJdZkJSAmmeitxHNXUV2bk0K64FfJVsmON8at7msD2NIN6DQYMqfZAIbUXKj0CJQUAyUdNgMEcqcMBMMDRBYco8No0DAW+kUNABk0SH7gLRaCKQYYMT8MWDC4/R9M4F+IDA71QTbQTY4vrV25igULRgRNTnhSZTaWoRlFjlAbxYnwIgWLSQRyZXGkkLQ+aSQKefrqvYXcSWtf2MF6cNBrohKQGVBoVR0E6N7FTGgoop/FBebSOLsFqNekRAYLgKgQjxMNcGg2RCEJgmHE6KUSIP3SohEKleFAsCSiAyjhb36MD5X7L+btJdEBfozcAUFICCgQTliisvxL0AEgyupnOk+Yamk34nJw9jjZgRES39QK5yRdiiTMQjRDwgBlTAUiJ9QosAX28pQCKqG2JtEk6Jv4Abya1EoSDTQa/wAvICXpFHcI8IHxYpDaIqwKZSS82CM4JY1h/qoBYPSAerVFKXVARvGikVRqJIkMWn9UQEcKqpLgNuITpQHYJfAgSVpqjiSAwXWG1SpF0YKLgUzN2GUQQVQBEUj2qfgCLpCyp2OYzM3V+hT/AFSqHEYT8bYEjx3u1ePzuUdOq2YBIviXIUgIKEZkFygOlzoynyPoExUQzr9ngaEwWIEsycVfces8QEkqdF5qMdF+haGSAQViHNKK1UluoMEHTNeaDjnD8CYAqcBnLaIs2LmI9gQgl1WEMLQk0EVVEUowX5qAddtCQMQAbvJQQfI/eMT5wSmslchYoi46I2QxuSLEqAsCjvmwVZlSUlw6hYQRANTIIjKARSLgzo1mOOLAYh/TChQI4JhQaGVrPZRv1yOtpUUwiTwAEAz1UijvrhtEaxBKBcCDjjG/MmEjsoRwALIEkRGmwexTBLAIpreoncKKXTkAYEC2IpBgmkbOcVVq4oAgHzzt+p6+gECLYJbgQYXebACH0UAKfzL060BV6aSFwCQGIdDyF0KEIJUCJIRgHkGgVbhqKgGnTA9RETm9FDAABAAnCRxjliXQRUURvBlZIQvTeKUAVQgcbSIUfuqiIUUKFrYSf6RnA5MyTx94pBCEQ0Qhr7UBrNSMrDAI1sK1JHJfQDMiTgJkaQrlTyCHEv8AJEWkaGSQiRcFtnKTZxbKSPokoDaMCKWN4oiEfWRVyBGgQY0+AB8CDeQgTA+Lrw1Fqn0JCn0IzTmTjCI30CDjGsyAiqFCQMUQocQOOdeOFg4ApgQWngmTYogmVI6pBhOM+KDQyRCLmHTA5qyCq3BAFQKQAqZwjI61wJMMXakdDCpQJDwxlJqaUvc+TjXgB9FQohBO34QopCQYQVVNfYQswICKERWNTV6Ysxc0ZiZWESEhE0PBpleVHPwNBat3EILENHIAkdt2opNQjQEYxwJBDcao7JFV+TgkEQJD+aWESfbSTe8pP5YbjhfjJFjWeM8wtWEBJp6SyABduToDEwhjUJAuQjyuAXhAHcjCsgAgJ3tk7uBMKAUeDiQkVREEFFimJry1SLcii9EYPsBmKrDBt85QMIiIfSMw2VboKmSDKQW70IZ8AY2Nc3AT75oEgjZkbhBmUhQIFnNFgAUTSi1EpmZXsqR65H0Y18wtAfEF6GxXSvKBzfktSYkDgobdz/mmgPyXDnp5zAVMDQCgo+FYVIIUohUbCTyA0cIgW8KRMqKYGaOAsCQBhjFE0CccKGyhoxYAx0wto4MwEVigJB2Vu1fsQAQVQVFB/QrpuYTgHQ0kIdp7eq7QSk9xQQIQk1yxFBgBMK1WxNuPDJqKPPAYVPTeBUPRQaUB51SRTKXN0rWoyDgRDB7MFkG0CoQrAmagnUGEUkMwEQkKZFzHEVcBE9pzCXlLDk2eYmRUgYmEURdKkA1UIXWiGC9DbCsUA5ARiVRz7S1SGpNsCz3AQRcJbFOSlB0oNJ1gGwIgTUCBZ8zqVRKr4X+BglYWYks5+VFJ8wFYBS+JTwEATPtRRPm2TOVciDGoLdpLcT5gzERpMALsWOOYgCBEYaKkCnida1dACwOlLu+tfHkGSKehAADwVEqFBtcgayxYCKMqDypUJXyyQ0mSzTeeYkaK/GARGklFfeAR0i+qKKAAkxpIg1iJyuBaRJhn5hLoDAYAPgIyBKG2rFrPAEjNHGSIziKN1opfG3FcC9xMigCwpZW8iHgQl4oCjWFDUTS2GCgPKWFQEYDoAFXwaUYsm4CaeW6E4Y6DXmUepOGpE5B5qFDTNKzye8lgLjOpb9eA5XG4jBi5XDzUIeVFQqaQdOCaFEjwVym2QAZBgAWRNiS5ASVbtpkjaPszACTSTBsgOKUdYGD9cbsQ1okFaPbVPKO6SxukoL0xXBMYAHKWEICMnGixNCgHUPv1QnuoNIKvWAAyCKPzDDyDUABAAi4ZHaS6aPSzaL4iBW84DZiBQhsBkFjjxFe5NpEAXU8EuOiDUYADKYqqCB7kzQyVEmkMCYcGgrLGGsxKSZoKU5XsAqyLYYwjHiMxTzqIOYUAT22eADwOzQDCDMDBg8QEMXg4ANGEOpnFA0L+VBIS0VJQCRBgATgAHIIROB+oSmVabTbAt0tLmRDwqgwmIB6IglZYCxhVPcuhUXdAlShEKJyh+G9WsDB4jas0ujpH/UtlOB1EaRSHkVncEXBpSCtKHDt45AQlnqsITDlgJAQqgnEdB4UhTiORowl74BEJyg+bJQMqFqywqgoqG9gU9EBYIVaNUDgQYIahqJHAc2yDhG8WOgNoxEUGW4fVGEbcFpMXpboXmXgEkQEEFqANkeTbmgKosAAF4RqVorUkEWkYHctcVQTFcAkAm1SUqgvxCI2QixlYnDQXe4TSoj4ArR9aAFXAwDBdHQAg6MxDkIQIEj6+miOxy5qKCQ7EXsgSSOJ/BDECUWGoKyjjKhDCMoEF/ISEDlVKEDhtNoOpU2ZSJkCJcgy7pAkDkiHnFhhBlKUDjKVghqglGpqmYWEFCaToADlAxdLqBTUWFQoSBwE9TtpMyeTNpWYEBshDJaKYqOn/AMC7SBhVycUzQBICROWQPnEVwChIXNh2BX2ZUpQCxVJ0IbOSGiFAFnCFWrBWUylQ2clB6zhg6hLFoYEmAsvBsKhR+lIxhAdNyaMCgQviTiAyTxJE0aijKoKBGpdDhgoEB+bm0YuZcl8Q6X60nc/Rxb6eyYIBgAwwYJGo4QoBM6Bi0BIoeMs1sVS0IohHJWIGEoOEwCwAuQ+gkxbL0HPBPCz1L1jLSCCCmKnHhKmlcC7kscvQc6csCEAlrkqiCcmz7Q0gGtSx6Xxu9Yj1ItoMjQ1FBcSC7HAHGTABAXKJmGpCp4DInTOKaRsPQshNj2o0CyMdrUxdY3o/ZOSbOQ4g8CC6/KQWXAMgjWIDQJ41agnwDUCAGFWgBOE9afCRFeljSlgcUyzQiJJZIxhIVB9NL0IIyBfuMeoixumi0FhIkgVIzHk/ADUROEZDeKxYeAtZ0d/QnRiNSXdlbr5EswAAKqWPAgtiOAbCQD56pZeiHRjrFVyC6W2lkCtCE5SboL1VqAG8gulh54wsKwgLqGytKVq8nkktJxMoDGFcXDx2nE1iC2AIc5zU6AagVwRMidk8mfaTEZoEMKVXlAd5Ax5klZMTOFYbkCm4AkUSFiBBxpAtYGzAmuHKCt5qlZceJJRl4DE6PdPguaGO4DNDodGQ6QRA4CaBbSaHIXyZLtIAPU2ILf8Ae+vAqsaBgpmkybtKbBHWuNJKD6Qj8V0PY7DCyVIhrRtWASGxtLKbraTEMucNEii2g0BStKkQkARVWL6rNK0gXy+klkQaOpFSoNiuuK7pjaDPoiPOtFOZOatVgVERqiDgG5HocywChZv1CucTNLMdLQwAOIuFDNIWFZpgNQrw3uDXKompKREzARnEAJAfYEF8sjFOLMD2lsnyDSgwBkaoCfCnhJ+sYQlwDqNJKiqdhQPIRHkjZXRhY53OE1wBShFYiyWJBJ0QZYRnFcR0J4InSUkT/dNKRCoS4MCUKhlPeCswpAdl871TVDryEzPUgzxNgrgGhCEbiO/0KQj4ikCTsDxHmBvpsVKZ3OWcaRTGQJt+SgiaGp3BXSrb/ZEDuayUccUMgIcoGJsdPOIkWI+q8WggFWZrmVAFIcv5T1QVah7CgQIQGuI1YXg5YyUkCh1Hmc7CPJBrUMrR51rHsOdjs6PDpg0BqQL5mtVRJEjzwS++2IsmVuXsSagUs2hJBnRyrchKxqwBNWyw2AqfPp9KrqITQpVQcQMinQ5CwLZsJEJw0gpOLBGgAnhARxS2hvmxV+oBvfFAqaBFUwSowADcceJM+3Y9/CcRL1DRG9ZhaUm0UMHYclgvAfwpWr3jl4JaPsaGQAirj7uyU00SrCAARaCA2BtkKTa0OGQwKpaxRSRIZjpiggI2rG2QoACduQQwsg2gzKFrznC3AbMlSsAWDFIEiWtd7EoUeTm/KBgFKJCqQBDUDlmDkgxvqOQLXoXyCUKJEkZVbAKhgkiSw1KRkJyA/dL6AYsTRC1Xex0RbHghh4A0UMjXCpw2U0YAo0hK9QSSohShWg0eY3MnQbxRyCi8Djb0ggF3ehBlKOCJxxjD1zaMjokANiKXHpIr7hjB7ZncNqCJKi1lqWramcUpyVEcI4y5QagezHC2Cg4psLboMgBkJVkAAV4E8gABiN8cXpF4yNNDYIUSBh0CP4CtoOawCAUbBjrCsKpJAvwqSMpBXtF10rwAKEjiAiX/AEhkJ8PKKSvvPg22AyVRSSU0dL+SgENSMXgmwh2IipV2fXQiZAt46AE6oSU4rwGWgVCY3nqgQSABA5FBElQJp5qEC4iO1IIyJer5K9OghlHA4nYw9XqLhgwBAyPMRbACV8Z2kKraNqtQqhcmGrtCIwQSIyEGnHyvXeskmUoAAFFixbF1TSQgSEAgSY1GICmLDvTMOBGVFFWVEiGgQJTlgXtQ5pQaFUUx4m33hRFIdaLPKQ/tpMIYrBm3otpDSAYJNTIO0KxO+9jKMUaoDSnkK6QqUR3RKAwGrvPexGOqkMOCyBH2fRnNS04IEVwUXZCf4JMtOHKZvxPLqECWIBRQKkfjjYBQURMBRAqoTgcqMd6FUPuICsYsofQBugU3EQUoO08BOSLckkRFgtUfGuKGGD8TJUTouMKajogArqmhj1tI0gkh+BtUVegBYlXtXQLFg4oYtIT0t0k0YfkmdsBZQ6RBAhZopxBWwhRDgJQARnuWCJGmY896lgFieH6IHSATGZCdCBCgQIo3cUQIAprgoQGlShsypjmRhxeCgSQGJNWDbHgVcY1bdbjxRViQpcLEum9TbykCVBGWnzWME6fyNGxwBqpzdglcZUkOyu5c6YEAlF74VQ9xYBArJEKuOtggSPqMf2TeGgHKs2Kg8AAmmuxFHJhWeJIBDGFIrZoKUB4ZF/SNf1yIoNFwsGqUtWBdQwmlR4ye53gNIXOgiFHPM9RIJvFieHIoZlJUkRAUNQeAVFwmAFjIPsKZ8YPcJ1lAHcisJbMEqNkAlQCcRcyLyslE21FFBmIqE6LgTVGDWh7TEB9AUP5sWBWCaSNAH7ut6EqD9CEHVOxAEDGG0Gol1rYnAPk5yqaCUpiETDaXXQbRxZSykEyrIoYjY0DQTTGOaymX6mg1C0TT++iqkkSgUC19APasqRBgMgTZ4O9YamxCB16gSJCgjSd8OlEkFCMMOOND5Zpdn0oqr04wipYDGaigojF6XP7vsTQKqqkiLrLmkYXeTYwsR4Khq0ZLAAPzANKKJX3/AFQXw5WQf1JCMn2GZAghZTdqg4WKELMJEQoAvFWA6DkyQkM5iA2TjQwkJtQTgJtjEemOARO00jL6sYe6NgioFapTURwUmutlQCYsNGPEEnAEhLkd8QCh8WnRHTaFRKipVX0hQelyEWEhoNgXZgHm2EWrgBFlEMPKpw1GmEIEESKVg9cxANXwGKYCmRFl+MzgB+PgC5eRYUwhkGEWF1SsINoCXWyE/Zo0TSY7pm5FBNTbAFeUOI21w8AszAKUYxcSvG02PkIAZ8Kg9SszvREmLeCPiH0ZT82UYQ0BjC8DWcpFs4nSJUBryWAELFhJ8Qy+2uFV5HdsJEwECGcJAQL41dDKloE+A/BHUDUoieqRxOefHW3UeIRT0EEkkCcgrZLBUKNAs0dEkgacMI2134iQ7qENA0lTYVgKlQio3L0YIAgEacNo9Zcl0VCwarqQJX9gQhPEW1UFFLqfI/SoafiJMo38njgZ5CxAxHmfBYB+NHD/AHPEU6Q78CKhqVJFzkHi0BiMpdCYjoI5ILmzIYTxIAWOKcOixNB9RQ8kAevcI4AF00h6Ho4V4pYzHwoBIxhZobajYdaIqHyn6JjR3SPoKvSgPgaw4XCMhpqWEwtOIuirYUXJaB9ChIU3VhuTMCkFJ4RXLzPAAOQBuy14dab+UKvsYSTbcuTxEhliBtpwMwQ/E8IPCyCGClCAHHXXWg4SQW2kGtOmYQpQAaKGhvHPhsmggWJqAAEW3KmG5RJkKJBJ4B1LizXYw2lc8AQ6tZYItQPhjDVeWfVTJVbKsCLIXHAKD8MsWhyCQp1MDUTYlDRMADSPQ2Aw7URNlAuDpDz5mDIFRZmnxwIHkbDKBxc2CEQ2hx9tNArtFAylZwlRpD8SINaQx+4CG9OtJF40ETQBhT2URwRTBTxR5IlXeORogljBJgPBUfuoVGTE4WhPXkW0vDDIBEMKhc0LsIAg2rx7odIh5NlIGRnyGIEFZQ8RvIgCDXaAh74ni8aIILSKvFZQRcaGIJSQaafAYTQHe+ZJ+6FOVUas44TetwTBD0B45TF2rHwi0PrkGEAFRwpQcJFBMDxlk35EBADAJCOCoEHgAU4gWDEGSlgBLNaQJARHUp9hZ4wuAbTOaEXQZQoxLkTB8tOdIAFCcxGSjhdqNcDMOqhMkpQtMQDmxytL4vKqSMEK4+l4FYox9F4YZSS2I6VyIYk2zDcpxhxK+fxgKiUYinD1iULlPEW4ogsW4FQVND/vACeAvAdEowI3yJpnSBgaKIRrKwY1WyyQkUgJ+RI267iLHN/lHB4DrZmOnTrzNeF0VZ1NOGCyZMUxwAS2KBRDXBpUlpVCqDUTwRJ2KAlWSJ0AIQM7uOIB1VHNDifCCbWeTiYibUASLkFUAik4HxcYOWjJCjQiCUGpaDSZQGjmdmeioAKY5SoIDvVuAi44EehSYXNOLeuEAgpzSIAjGCAQAhBk1NOMiccQS5JUcACMtKLgaEFgywL61zvF0oo6EVUQyh/aFuJI19hX9CUkZD2HGb5iwRfauCgKzI8GfEAB6lVmNMmxQjolx9VEwIHwgCwIxyGigcxYg8xQ1LTioq4ARVIeAI5DrdI7GksoyB+MKQGsbVJlKMSzy3mAAS72gEiJi6hkkVwrtIyBwZgsBnAptE1U1pKMkJMDU3qCZY4qvQeQCUhR+p1bofmdCKIwTZAwzCewYu0ocARQhqlHLuwNOlAIVIpuU7jKY4JHiuxVj6QWWQGxgm9UKqSWFQ1gl5Jtwz2qNelvUt7X0lVEAhFwqzTgsJFjtweOXXOCFKI4CickI8RQ4wCA+l+CYBcnyP19U4oSZQdKxsgmaSISBBFHBA4fgUGJZh8wAQPyxapr9ApKmWlWrQgA2JYkEhPjuYsogVUNt8A+XoZhzG4x9JfM20rj8BoyYJGDFrPi9AlIggjB1X5nmfsXaJAJmlGtvheoifYmsAJlE4yY7bwJDUraaANIa6ZDJsAGLgQOsTgWpEKokAjQFXBFHvRNJSNBUP3fQEcsgDiIsyqXdKSz1ZA2U69ayb0qXjOYi4xslsFyspcCZMs2GUyIMLUG1MWiAsKCREkpT2MvemnqqEUIXXeFCswhYKUgBoCciTgZUiugETplTLOYgwpQi6EYBVwrbo9kCa2UygBBUbDSoBMBjIkcibEQ6HQYY0QVbJoENpQdo6ot2AFrc/QlRAUMhPDBJDIGh/aUEcAiYdRRJakIbGTRNjC4IHxCY9cAUEBwpDWgkKtZNnhAGDWoIU5AGgxd36of0IkAqPQIUS6wi5ARtZuW94GRTQfEc9QGCNN1CgvcGTGt25yACSpofm3lM8qUFRbgoIhAtgFtwUB1ZLZY31BZSqISlE8SmaELASyFc4YL2BKiGCislJEm/E6AwdL/AEGwqCr2z0UT9KAWAMFDEB4a45LcQuwA3cxD0VZKLAiMyZWuyLDKoOpcJQAPQUQilOtCUEWTuv68AG5mvvRWGCiuQXrK75rwQqQ1AEFqwSQMQXOiWEPxF6AMYMg4T2DCLyiOu2jL2I5FIB0zJcMg6jZNVkCU6/Fopj2isAwjC9lBq8LVAQbR9bmdwABaORDFzo2ABr4Z8JBJWopXdECvXKQ4ImFxvDEt+NkIFggJXjfhhOf+BmgF8axj5B51e3pRAVEtVFEo5MEWISGJ6QdJaPnim0xRFRQfgMLxR/3gTexKKW5skHiIQWWCv6NTKHthzr1SHgG3MWAcZ2LW3iBIopU3A8DYGJVHk06m+xqBVyEq7kA6Mp7eJuRSgAgCM1BOKRJmv3x+xVeLQQjyiyTuxb0YZUDqOTFGZq6kNRSQo8MjFHRwQwcMACOT1A4lBVoFehVANeCZzAyjlMUeaGQMN89oyFEqjRgKCRVkVVViQqQhDh1xjmvRUJ9ntFRwIgoWC3RJLCJVeQrADm/fhCBYIOBImoSyhRbu4gy+TLA5R/1DYRTMXSxchlyiLi0QXNObkgH9GjH0AHiSAMh1EhmiCq0wFPWfWgGNmC0GEVNAcSUGQnGi23DOFEGRAVFahxUErCMUNoTWvvI0dxAFeQkgVtnoPRiUoCcGHjgoKqHIz2khSyegoERwu4SAapfUBqKRXwaobApUvrCpWJGOOHq2rJEDKFwMltMgKtQsj5V4XEgYUWJINFLDaRMnrF4SEkUZ0N/Bj42WGYpWxQwgHGs0l61U5QXUbOdVdDRUOrRB0vKArhGRZSpcBT0hQFAAiS6s72eWtwgETVcEWgIHXlckyqzPFIiDDELxhxOakgDLV8ghsnEUxkYGzR6QQBwGXIFBaK2peiAUD0nIxAFuO21pkoIvU3kvaKAOlH5DtEtfCKhFEJmIOAmMqAzd+xVXNoHwAMIAKlVCOBmEr2YNKIhAhCavMzOBvJQOACDKuI0jywpRYdN0DaZQiQdgJSg0SpWBDxiHBsSNegF8+CIc7+7xMoImlu+E8CJKgdD4urQJQPwwDEakMsllLB5nTPjgQK6Qi4oT1cCHWx6IBA0ZIpz3y37PVVsoQUFGngUiksEoUAiQoEguLXWzugXY1D5yrhQENX2BZsa8FFhOJShoRdlDtAKmq1h3F1zCZK04gz5DiAV1OO0RCVihE+AVUsvADajCsezVRSgICEDEQPgaHgk88SkbgRI0C8Y80FBQC6CKIJk0ckKEkYJErGCnHDzYFRaQZhXBzpZbBYqvKRklAI4EeW0o2hEkipOipoAVQakD7Wg2TvEUDco2OjTNBxeCmEQDoDSiEoZbPLKm32VTiItwZiD6ES72uT4gEEdOlQBsAh/WLjMJB8GsUEsBUKCdRXiel3Be0Ad3FIB2xAGkzoyqiGoYeG4NEwXopezNARrzQCUEFGAMqjIML54DkUuZNIC9K0wSGsxjZStMHCeJa2CPhn4qhSMmwMTplARQqGdPCwJwTuiiisk5ElzPFeUSITJWkWAFg8GBXJl7ELcBbl3zzuj6AMsYFYqKaKfbQEhsWTBTiseaZCydUWoXCUBORmjlujYMAAoSqiNKlMYxkma1SZMctIX40xAyAVVicfe2HlmqAkQcgSBpyN/AXp6EfKBSANjVHbUGMV45NP8AOtebAbIEA61S0FmfwA2ITBFgAlLykn6iUZxaeLSkQIVUJsR5L5bCPaAi4EADcROBg+i9iEmU+PG1DmCSqlZBORmuBYoh9JXyCtQ2gC/Bw7YImCAgCHs25QKkrObVDTABY/NsBVBRYVIYpJZ4Jo/AADDbvJnYJKDaYFLMJUCQYDWAryCyrMwQkAsWEUGmiAJsVe/DXYOUC4ICoIMtjvkS6hIGwZ2Dl7TJCNIIlCnBLwiU0aMkC4FjAth1YoLoRgEc9VrJqVFPqEaguJAwlPWj1TO9FKBGlgtMZwtay1LUhIhdJiFmdL1FFExU6WDAUARFNkpWEheGGgqALSWNWqQRifYKkDDIdGpbEFdh2ZDEGAoMKGaosV2FTNgChUQQoaIBDiKgYECzsm07JWW/oI8vWxnJd4i9EQ1ddhDR1nGx6SxAvsIJAsFE6GIgA1jQeURR5DVZC/IEAAMiw8Ydg3SogpRIFu3yj3REDEVvrlg7ekmPBCIPUgbhW/O3NnaQix0DiopoyNaREygM4WVAI8AtxDzrSWIpBy8XLnYAtBX9gEpjUhj658VSyagOEDlPHGHVQAC5QbFps7R9VYIJlgiD0BQ0gC22LpGFpeN3GwUNc8j8gF8vwSexYQsFd4wyozVWrBiDCAQlgYPaaijenGQgRuRjnwlEUzVooIEhOA5rpLYJKWIt6aZFBlJJBly1xuOeWzVW0hEAQXavmiRomkjRDoigIBwwJxgMRJTFNKBkzOIGAAiKhAbDoPjhUiEkopWmoMWriOdreMKHD4FEMiwyTIxaNEKqUx+OKlDNTaDaI2ggXQ8WlQAJKr6FJBL2RKBEtVjA6gPDxW60ATMEDFMOPRUIJRoDFfoKbXjnlqLgEAXgGRpDapwL7s0UoM3PMgGKwgK4UgGCCccmUCwKaDZ2lAS7w9REAFmwwAYLVCU6AgJKMVkE2iwB6XojfmBASCv9Yk9I3jqzImICjY1sF0DwBAEQj2LyI4pZJiDWwvAMHIkqhNFAaqqVroYrBUpB75ShfpdUqECaFQo7OeiBOGTcy5wSEDjOZwvNkot0hAd4SksrA0cp8ldDDNTUjESrkIALKFLshxkvYCYzfEE8XQuwTg8hhoiUiJLQJ55j8TKKE01IYVTPFxhQisSOUDcWFqaYaAEWBcoWDeR5pE4XSxSJUl2nxCJbDESiiQIN5Bs9KwLrUBR2p0mKFoSzSHgfglN7KXwjBoL2EXFKAYg44sI50fnYQFyiNrBAIFNFQUQeDdAWgQpIY/CyFxlRG5iFY0QrQ9oMyALKG+OLo3PGHvY4wFgarEiYI5T3ITBEVukUFtiKRTCUEBFTHi4P4inSDBf0z5EwCqQp7hiUuEAbJgxnh7CFEgVpIN5EQIvNvYDTxQnrEJaQlYEC5QIV1BBlrwMDZqLIEibSZ/HAJqIR4EApAkoV5d3ASEEMT4NFcoR2sCethoAyoJBFoGms1zl81pwoug6RAYFG1wXF4Eu4mDPAaUoZKpcYVoYUSGhKn6FehObwEbPhsq6MKnRJalbmLWxIQ3XQcJapLoxKCYsACB9yj6hnb3WBYIK75xQktihFuyTTwH1AtDfhoEqvTqRk6BBY0WrbAHBAEU3oHjVMLJpD0oQglNrAEn8V8Xr9A/VmqVWFiv4ARb5NfAlsTOooQvPQhhW1VohmF6IlbMgxqcH8LkPsvIACqiCtL46Rc9eQK2qiTAXLg6fx4bAbJBUxBI3eYBTPCuIxU+BCiUcSYqBAHgKARQ9AFEBRlFBiiDqKrmCjUKeo1qqigK4Y+ApCOtgWcDIrM20gWDQGoEaxHuBRimlDVKKRDADBKYCjYkKgw9UpQGePbJCRSIaisDpnIofYc4WREImLhcKkknAm4FUgIu9jaYow1ZrqiIEpxjGBhAQVAeJiKmHJa6fil6Lim4EK3kGKbYEM0qiOOESakJ2BAsUCpBuw7WyXxGM2hPXDhIVNSGP0LlIzpGAwpkSGUnaww8bEMhMbXCBsJDWhr1YNVtA9jNOkSgOeg8IRgIVUgQ7RwfKDjBByxnFLAWnCEABUTYOVoJwgKCjWBCfDjgAZIC/+RcJmwvpT2onMyLRu3ZelO3jcItIEEErZ8FHHictkneoUVUCxlO6IxE1+jyFrtlgTGEbk9iM2jjG2uBr5Y0yWY6FGnLPIDUuH0oTkoZjM4DQjtasFN00EbGwjjQVDW1icMwuxwCiUnxAWLiepbhpQmJAlmWgG0NVA+yvpavfiohBqGVBpbjfjlGhj0riTb6Qg8O04rDAeaXMRIQ7CgShkEztEu+VPwaZLEASbiEmCvHR9hHoowcEEsU07xb+4aJUAKM4WEyTQBCyjhaDxlsTaQgEUFKnPR1TSeluLCAkG0JjFhpFELCsALiBe2AEMhQgdNolwIckyJhIpuLcTQNh0cxLKxU0NIMoAh4UN0mje8MCHqTKklYtrgLW08wDFx4Ry6wA8ynYqwK+l7I6QkC0ORcBQmL4eIHUAuGBxM0hAL9XCOAu9gyizqjUEULiWkHwfMhMJKKhRYBTyXOIlQaAaaBQP1wcGmCp+gCEAPseNVO8niAGkHAgArjQhGhQCIQVXoFxriAQYxwHQrQOEUxeSGLTeiQRtWAADMwPKEEE64yq/x9irYdbbJYslx65WsirDvtNCgQVV9ALLHI+s/IMAwDZQjFgBBJbF8tnQhCrY1jhAW6qHqWr95vcdrrpEwbDQSZbQQLG+NUt8IMe3hURt0IqOW9xEgdGhVDgl04lhNhQmAst0NKCEMJZyaC+RC4AQWSMOTgvx1OXl+2LYhFRxUG002giNIAwapowivEC+AQcZuzFUDh5DXlgIJpEQlShDiYDUrM2FSJZaCmVZWTlEVQBEj8ixCNt5MFEKNB1R1h6GI1NxGpPBuI2X+CJBjqpOI9csQBU/cmIgT48PsoCUOuQ+0oSVwd2TDBiYElNQ8qodHRiuvRqwQAc5KBWKAEAwItQDgxyQLLJEBAs/fitP8ZdwJ5oF5cPJhfcGQB4EKKUpVlTDhCIGAE1h6c9wUQpI1RGVlDGgFI+OIiAlCFS8ycj/AOtCkUghMQuAIe3ueSKaJSqOYPK4QSFMT0PnjkK7q6UUPDEn0TJfMj3WNREE2tCCWvS9nyMQbDPqT1yTQbjuyZxVj8T1Lz5ouFKM+WylA5kugojP+PY6U5ijAD5CAracMpVJerCCF5wFFZILUi37SShExZ4ATtuW2AgwNAL1mqshB4BxmIZFRAbfNDpKUJEWtV3As5M5ZaAwEJDyYUh4nXSKUiYVQAm10FJEpR5S90AVcIm1YPKIdFXCmSk5O+fx2rLaI+hHOe4mUoJkKsQI1JV5/j2YLkZRA+IGnqVAlNOKJw9GqFACAS4BWMTDhRt8JorsMFXQ9BMCHH2AxLnQNABPs+QQw9xlJQBodmneEsDyooiEQmWpBzSO3JLeBapghDCyYBSLyRp2gkTgSPzlCfyAEWZg4CpGBsqcFn1hAUnPNMREKmgvFKaDg3NRE0GDhLYcJxGQSZCEk1AhVFAz5a1N8WkvoxZ+moSiWfJGAKQmS810sdRUpAQLyDc5osZNxSe+ONYSAJShAQAU2HyLpV9PDg70ALjQgVjlOZwASg64sZJiUKUmiBJpj6IuqcKRgyCq2D90gALKY8k4LJgDYaUtBZ1mGkGAIGCkujq2QYQ9otSIQPusJg2QgMFV1ZLoscitiVSEQBQCaiWizoCn6AEQT9QxJbHan4ShJQRKaB4lgaVlcYQarAD2HkvjofvIi31ZE5G0lkGL4CuOJdXCbIqCCVREMHYbAjsLPwLimRwGoT4q8wowFvg6eCVlONHlClGOBykbFTdUCdQNUEvWPB5HMm4JgDMMHzEiLSZ0inioju0wtFm1OlUotgEUEe4tdKKDxxCAgIJ4pAAogNAMYAEYDzD/AOjZZ0CSDpwglLkqlADGU+FXCox2Bg1EIIaw0T+qPK4gMY0xSHhqgByXwELFwKcpCCjzkDcNKBrpLAXhCiGYi5LD1SO5WqNRUGmw/kMDCg+OCBJ1lQXmS5k2s2NAQY2EoVOAKXYfwwjvAsByLCFo22BgIKlReS8UHpSldN6Bo8I4aQQbg3dpcq19YbFRqXLQYWagkM1sGORE9gjgbzzFgXtggDLSWEgiK8IwbKVBRSlEcmfPNB75sokzxdYaoPCfWjeqmXAWzMmMxtRGtC4cERQq1n04FhIjIPBNyGqLAaIVBEbvACbe2eKgsFIUgJxIkCAKUQcgoyHPMcFTaEgAwg2aUgCw1WNPW4AVuBtQ6NUHRlR9SYRdrhgoiaCeGqUSnoB09fJNLbQbGcdY4xsVdSIC109fBrGTraLgFK9DFNpSNPt0CipABARAUFVIFeqUvShgDoaAP4Y6YZkSSIfXshxKVjIfALLJaKnQPiCeAcCF5ICWIBNAkrIB7ur45BH0yAQdAON2QOAZSKUSSiVesug1hdeVCAikkkCaYVNXAASDKjwurKIT0jFAxAAbhoIRVCy16/QIQ4DShF6UJA0U4JyJnwwDS3eYDktHSYmhLYRoMdtGmN74KKAAiOEkOYCjXH5AwFDgAiyVYsNRKSlgNYDPOWNZEML3YwK8x0uDUNAMa4NzvDHL0wWI8UWaABaG5Q1nAqPV6gOJUxCCEgDGaCypCDiKVU6lQ9Yi3bNTkzMDgOUEQLVNUEKlLxQHwNQYWQOcHR1MRkupjDFwQ6E0ciWnp8NAFC8j1b35aC2ApjkZOKa12X6+TMSixIqQhGhVhAGDYqK1XCAqBlKlU/GPVclFirqE4w4pSLUdAm+qkZ0NQi3nGDLK1ClgAWXMrviVIWQQot6HZ1lFgTGMHThhWExJzRdg7fsj7iwrWeqNoGCVCZQIV0p4fd2F9H+4iSgz0JMLAR4pSh0ocFXAs6idQRAATBwzx5WKFSDWNhjy8hWjrxqAr6QM4K+rv7KcoKMiSHcBjyER26egSIII8bzGoCAAJ8JdyCdIyuAKwn4AFo0Fa6MRsOqBIwUsA4AXOExSBKxP4dq7aTPOCfoGq/CXwQ01aqE6ad1jmP09h6rS+uTCxmnihxE4YZZqIhejsDJLZMmIH9CeKLH4PcNULYhanCdh0CslMVlIIA1QujOUBgUpWZhl1Fn5i90GRRgKf3amV2NF1EgwhAnCXLLnQMKs0jGIvTZqJRScAmB8ogKiqAqgfjZiXquiCBeGluCsFCgQBLFBAgmsI1SGbAA7odogEFdm5WZXg6+NUJSlymVBRYYwQgDrQTiqq0EVMnBqMB1qsGB3x1aBZFQBq2tIqBKxQkla4hkZBxAPQTF3JEKsISZWNpR/oVqFEG+XZCt3K+RIwvrYODz2Zzahz9RAczxLYIBJFFqiWE42SHCYqFQtQsaYVstTWhBaSBWwldLMQysaI3hakOGAScgCgDKgJXStat1UCXh63pQLivFDCDQHA6fFrNQLVwNGACeNGtaKjsNXxADii0BCgFBSfFLQi08pZoKNF2XZzDANcQEGLInFjCFIMQiRqNYdfVqIlTBi1YFlqCJMnzY+hOwAALszIBhIqsKuwCwcTYhfEo2IkW7qgfB4fiOKBlEyxmCQYAMZg4SGq4CFC0wkWsCfiuQTngxlylAgTqSjDEhwGJAtYtiEASThPNApkJQICVDPGmITm+ikoyEgs4sR7DkC2rQhdEXxNikISF9lmcOAC3sSk/wi0by7y8lCFGUrGKCDtQGuAq5YRTakhs0lRHHRoFNOkGgPIMmaIThm35byoN/RHZkpZ19CX3ecZg0NHwWIQkAlH1YsbhUt0UcWtCnwUeDdMkgeAIIvX0Rq4AgyA546k6hocMWg0kONYotJ2PP8SIbhDtQQ92ACUKq0cK57hrUf3Il0ZRQQu6XGyAlkehaIuQyNMWJAGGyhCA2vftpDEgLQgH+OBdgQ+0AU6Q/JCQw1Ev2OwP1qjV/ANpOhAtCWRXtqhkmnigTpZcWvgq2KeASJKjgFIK0iB5QJwBgdZ5HCGKYIr18kgI0AHj1ETBifZVTxaSxtsAfk8YJhgRG6QpFfX7oMbAQVoAQAwNgigPWzmugABOJLSSufNQFDcBUFqelw6yYvy8qIAUoAKdtUoBisAaLG9PEgRhBKGgHmSNCGgDCVX6WZoHyV4OnaBNBQGHEkAyDG619kgD0URwTCltAYiRKOHJgEPSuPOq0C5pZABRHIBLjEvEQUOM3DYZtgeCV5l+HvHgWK6ie9V0cwM4UpgYIAaoDxiDRogVUCNwCQKXasZEPEvaUJFuqeiPjwJvyIYQoOKlOckytz4wGIFUM2iIqom1sM1VK+iQ6iIrEmcKnohqrVIewcpYARqSlFaBGYNSy8pCijDlCsvkNFUux2dDcAVpA/AEgjeISEYAwuwXQMQAQJiFivbKQoIpqVSNMHoogCyUPGZQJqT1T0URj4R5FLFTWhHUhav0CJMOFq9r1BIGOAgpGjGqfXA1W0BY0QrEC9PVhymoWwi1lBJBwNB4JXC7IR8PWLqAKJeqWk87IYiRRyteilz0MwDKXEnqMEVqsmGqRBYc7RpBHKCZA5BeOd/B+JAi2ghJiwGlCbrBhGEZAopQTC7c6bFsUISNU0cosKCFIfOKkikW5+MthetC0MZA8BchQQGtdI9Y5xaKS9kqeMYBNGlwUzttCF1soHifAbQ3LAsCopN5oup44CQLCSQTIyw6aAc28O4iRyylWZACyrCBBrCwtggcHkIYYAECI9g/NP4CTSZEt/QQjZOKmgvQPE2RRBhgoYjVZp2MitOfyPwSMj5Sa4UkKbazvSXSApBgTFIxIPIUPwJS2HAQaICTILGtoVZn9oKiTYsCypJ4m2bQyCgAl03ajnGyjKcVACknoayWSSSClAJLPUZfT0EzOKQgIjIROJgNSUAFAlJy36GCipoXShiksUY1ICoBcKxaSId4kr9KWP9hJCGU1C+ycARSY6gVgOjK3W4LghYkR7wBT3JKfZVemB+sVw5yfrSqOoNGQCKdKh0sL8OwRYNniQlhBLQgiEEVGVrgKG8HrwioRRcZ8BFz54KBizIPoLhrSlUipEcUIBZ2s13sNdSV+uobjJAibESk9LfF6DJgGACGqNfAFNFrZB6oGBZCkjiNld3uQvQNwUF62SRKYCRUaLrcBuXmGF1+dWziwMa4TNi/WBbOyQGoUmWRwBQTAJtQU0BCwBGRZgERqkEnioBExFYQH60iMQ7XQCmT0TaXZp0LgdF1lNCa6Et0GWTyg0Ij0AoTydrBUEQCDLq7AvH4K7amvmwkL9RD0hP2UgwJTN8G0dIGFMTA1NEpUOMVAMbGVWoJ6xVOSQZCC4WQRPYB05w1CRlWZPnKILAv1LZ9GkEiRwOIA6pOwiQrHvRoCl0QTYDd2EqUQnKK9KEkYQABJABlX2iRS4nAy1fVQKvF+1NSHNLlAFqkCYd0IBYYG5LDgQuBgpTQAEEGtKvCUApCwSg/gYUHga6AiI2hSlovS1t/PLGCKBlJlN32hGQAFBNJeiAuGGxTTgWJQEEhWLikDGKgMQaw22QDjq6k1haoIY4gInSOQfAADM7AUIqqMPoUqgdlbC1S6IosxBRMcUpZN6HOORvlSBxDA5HkAeRfAhkiDvUyiE161EM4A4swMoegWAhaFrTmdsraOYMZEhsVxpS87NZ6Nw1qBDEhrTjWQUlEP7dHBcJDCWEj+gtgAGeK5ApRuibJNWhxAScGuIBgAmlY6QzySwVaGM+oROIlUCvhhlCIFWgkE9EMR5TEE0HFcr4DBSBWEbZMewPVRSTnLkOVggAMbJRSa6JZ5KQJEzdMx5kYY4gqSEIqFZowJVNAKEXA8oaeAwYg09QA8DbqCoOMp8zFoJeCEXo8H9x4EFqLTO4TQHI+QBKWiEHSPF0IBMtDE0AMyYjU8GU1fVQoWylhTBfYwwlHNTMB1SJlkEAqPgQQackoyEjcN5IBWU4RC80UXpoBgt0MYF4B6YAYYakDKpaC8IMHiAOk5EkTcDgErBSUr4kU/sjiLaSZaIcGS9GQA2lgBQLYMdgBxiRrABc4ZYgCgBFikJJZrHhBQKjAA+toKJJygYgkUoc1UEoAaAlfUqQATcwthEgmBDuEbyYEvmcvIqFEbACpFNyKVnYVAwAS9uhWr2F19CFHCQ6uZgXyMJtQ1ChwfhACsotlwgBRFO5otpLWUCW0Qw9dRRdswbsUX3eoOAUpFYL25A0mgWY2MzFoVpaSLBCAkSwMyJ9YRbl4LDI7ZBQDEMhURpxG5bczBPMAqTpxOIga1SSFGwHIPA4x0pkSbwHImlOM8MMVFgUZAB6izzLZhYzsgWA1mFLkWqYR4ZaBwaNYwGRgprRMSarASDcu2kAH9gECMBFp1G3u4L4sqkgZ4p5KOYxaT1IKRAuIvExSSFPxQoKJxGI8wou+VADBj6G99zW+ECpaTAWNl0toQsqSAIYXhCmaPTZwesAJom9Q5DyUonxVW4R9rLjx9wEJiGwZi1Isal6J1oENJSgBC/EongB/AJUMeZS2gaEETAiNUUZthgQsIk5ku4rqaoMHhbnFGRi3gghEsaIkclKJ4ZaxBOUoDCVpFlwCiM7Rocq2FFKEggKGFSGlbYmAEU4FGVRYXPYpgYIHADVnCPBLIcHEFdmfIPJFQla0IugfiJ9yCW3QkUvCLCTcbaaWVKBRzTJDIqMlCcPgUg5aoYAslEIwUGpOSqmDlBSQEAKVSwBOk1sK/XUBS0tZA1RkhC2gdAo8AeCBKdAgiKVws0M6ZcsqQDCPYTCrBxywmvwagL1RC6VzyonP7jnsD5cKNaEestISMo4IP80FMTUn0tRJy8M3aQOhyJYiw4v6HpVo3I6YKkBOAc4ptDgm/T9m9Cj64M0jCRtQcXpbttRLf9QEBswz0s9AvibWkBESbkOZaQDUCJK2AfF4bA1ojQQqPtaCEYe2T6glecSYgBQwizCLl6BY+aQRisGWAbAuJk5xZasHmB9hm8QqjQiJbHht1CkC0PUMUV4aFJlCwPQNkw7bYLBbi8YgEwBpUKRK7KSmEUGh2ILHbDThOToJK+BZIaAMSRNNVVRCBERyDvNF6yQtmVmSg+wXDIEgnSe9KCGgpiPCIAugRFQUmgfL7yXcIuagGsjIuyj0jSACjJvBoVFFSACdRAwtTfDvF5JtDLije8w3RFcWjpkgiiMnCo4Ncj9JQ0KKJpkkhryMKAAzCUl8RFgTp9/wC7YowNC0SCbzCECHgrEOwgl1nyi+zgIZpAIs4tsJQNAVQixSioRPFTb6XYH3iyV0wYKyN8oVEMUnoJ6gcDHagoAlCWHiSAVjAZtFA+scfta4WYlIBBBpD0gUwfwP1+DABQdbCqpi+CRhDchozPhNLQK43qs4uLhcGO4gqIghNp5SLk66qQ1beBoCp+FB1DbhELGEaDaLuUasATRkgQIFoSREkyiDwQUrATAAwCsDBNtpRRyD4bTEIlNlJBdTbwQBCFjeULXUiuoJiRVR2AoR624xVTrHqbFZo4UqWKrRmNEiFgVxSmuQsQD7G0lUVsTvqkkDUYPkIhDKhtCgHAGKIMKHuiSgoVPN0LpAXqzLPMaAIW0VgSHHG/HKHjJCnfyRbBIuxhM3+REIQOMRZBqLBt0Ymr00UMiXn0KB0oVl+sjEVhUVSGqy0A1F2XESDZn0AAYs9AqwZngNageMmiCilyEDBBVvTlNgqSsa1UW0UNWotVAnAaCNmlDJLk0w0hwhkM+sBIGMeXHClCamXp0TEpp9hNDkQ5EEWwGCITEFbrxFO3SgOE0jSgRBIr4pdBQkBQw71qb9w28yPBKgkpBTKCODd6bKQ2JHLoUZFQKgivvtxAUhRaYKr0BQJKzxOPCx/kKKoWqCChTKSrU0SijA6IZQtSmAOym0ATFDJgV9AkgiCAZuKIH1qjLSFQggbIPQ0TwWSxoQP6YhdBjaKUoATholXpFkD0apgB5zCKgDKAUIICoQSIAXrjZAFhsSRQESnReS7oe5YNYQIBT706z1FLpQdG0NMqkjy4VIWm9wQEqIRZM2riDopIZJTwvBFS3KWSYCIAwD1LZ2KNUEKVV9MWQsEq1Bt8gRHADsJgSziIsmSAA4SEKQhDRF1QFEBASiL7OLUQ81mNsBu1jBUoPToy0u1UdZrsnsZQWL6zDxWkZgPWJYIBwEvRNtsrawOxiLoXxtvqOwKMFFtWG0b7wrlAlH2AKiqQQDYvApVGrAQmyYaNgNKADC4coHAxoOASkBaImfHMJq5KODqoljYDgcLqAtUA4Bi8hyAiPIKHyVgFaZXSiVgbYrxVKSjCSWDRYGYQFCKEzQvAxCygVwQJggcHpRQ/byW7CS3VEWhBJI5KMBplE4U1/wCGaAIBTxMoJPcyYVBTUsZuxkw1WTywKMaA+yOgAos8bmNkETUju+YdSC3icYIigHkGI2FsCChBdktr8JRmS2h4UxgUa1WekAjYUqiEscmKIDKCZlihyoMaH8dlBMGTYVDkKTpSxUEmAASPjFw6piQJxyGoQaLqtFIGcNbBExVWmZ6gG16jKoiYRaYR9wIpCh0AkCpyJ0mqORqPaSOX4PC1iIgAUIGgD7UgMzE0DGypIQyhw4j9FQTAHF5g5IIt9+DMlpIPMyEjzzX9vgHbidBvz6ZqgF2IrAxpAAgNiJdmi2w6sGKDoRCGQP4ohOZfCzcL6jNiS0jBJTXwGMBCXpJRkn5CxAH0duANPUCIWIXECipHeIRGwkwZnCUEoF1QGQq1SMasEBOr3tIhDAoSV2BAkM8FiRIR0hDVDy7UQeykUDvakwSbPoh7EJonHMkMkzSZz5BJRbBgAXR0JAOH6v6i7IlX0BFHjc1QFbS2TTIUAuRzXQkJQhBSjFIkIsDfFABDfTEQ4WXsKhZoCIyy5G7jUl3QJBBigENkWsxDzGD9pAAkSCxlF5njW8Qs4bTRIXmDGkoqCIDRiXjshGBWyYESfRJn4UP/AGgV4JWcRQk1MUjCVMX6cnI6ICK1EpcULfAooETk1dAcKoqHnAmClQEBAUkiENiaE/RSIGpWbowgy2CJKGOMaXHNGR0crWWWAVy2gztv0KAKMTkEFA/UkdUQSQASwRgdcD4dSRcEeYrrOphU2BkoSsLiqvECMgoqK0V4IXhiyqlPpo0MVBSLiZhtkBdHQUKBnB3BerI0ilAnlACoqFryjFBmi2ADnMv1crQ/lxsZYkSIJYeoihRPSlOeKkwiypZ9C4MptjsIV/28pDYqWDhcjR7yjqkCZWhwm4QQ0i+GgtTNOwHYLBsWABWYTN05FlKprMPTxQCg6SLpdpIXFR6A8gDAojFJSJL+/SV4wefzeE6sDMvA48IGFGEQoDwqwE6nnAQJSigIQsmTFObUJn7JJ6qJ0WrAIACAQsufwaDa69clqxJgFA3lC6BRKJ4JYwOysD2BFGhAEQwILS2GE1UoikgIBULEkRJQEWnDP34nWtUcFk80uiLz0SADSZAqQMsiUg8SfSSgESUEuIcFDOzYVrMOkQAHMjo8CvVCTAtFDFXs+GPISFgEITUgjD+//tk8VFRU6CIRgFKiQEgAxffYSuoSkXRT0ZdzKfRMwReAQPaLAV7EVegz0IFAHpaBuVMIvwuhtpIyx/Cjhu60LQvessCqeVwlgpUKcicFFHt2msEiYC4kHdQkGG0h3YpB7yudNswhYB2oUC1IwrHU9c0aCMNwIr52CUQUCWULRUPUG2ARw/Q1DH3qb7WAVraiAgOx+F7kS1X/AEMpIUhGZyocUsCppp4g6wsgkFWf0hhkaqdAqxBRQ1DLYesIbC0LD0KQM2bzJNVNQVjk8lfDlxubpI3xzORhJwMwt0CiDhJG3npwJRB819KqiqCG8VvH40mzhiEjARXIPGNj7AIwqDx7YqFRDyLSy8lK9Mz84E64iCFIEx4b0iZ5DWVK5mAaiwhGR2qbHOclRHEhzGVtg9gmgUkxnyMAtQowSxRV0gS5OK2Ij1SfiKxfISYbgsArbNOBAhRaX8T05TAoiJxZp6nxUwIKhoKjcsgWaOUCNMISDiBfD8ArSD90GDq3nDghApj/AEASNAUhhWB1xpgkYoAXtFZlKMvB3DpVaiN0I6YCZgHExH+0kxlBwSnGRZcnj2yfsVSgREJXGY6KFyPloKPJwsNGKJW1YozQRq1IKprAAtKhFkQ8PKwDBAZCB5AMclYsXYiormEZKKdeyllBbEhGGpU47Nj7T21b8KtMSxVYulFapBfeGAVHjsBZO4EKxFZtUHSYXXQAkDM7l443ydwNXkAIpltUJuAUAKB8AwYPTMKCgFDRCGhwPsDYlo+OzGQoscWhCjaMbECgIV6QhXY52vVg3FoDi9wtkdpCWKVeko5YQG/YlIqaTAqiprOBQaR8VZMyodfN/ioecJNiVl4lUGcgoqr1JgBeUo1QqwRNjAUkCpAPISXlwgMV67xSzMyv4gS8ySuQBx2hRoNEAS5QOfsRZ1gIswaKACoCGo9ISVHBQKJy+JJEIEFmVY44JD0koNSMkC9ERIcxoGk+wVMCVEwODKgBwRoQpkBOEFAxtls9TQOhMA8j/bm5L/goqSUIuKcAV6EGA1CyeBYqNFgUI/AnR+pCRi8rCMq+BQDgl4kaFWCjJQVAQ0mHOqCA2WAaBYIIhgAbyasNS0cQ4wu2poikSw73hveWQNCW9BsIFolD9NKZXTDnXMli7b9OrBiChMYcReKqrASlBsqI+0VpGoorStDzA54CmBK058NVsRnhAqOEaUaA2alovIV0rxpDdNZAAhxskCARsa4iL6A4OjpwkiUKhOaEkcKgG0JiARADJ0LgqqNemW5dJtWkAJT511AECIAAG6CncVUvT2KijouPZCRwJEjVpkIuhctgcERtosvUzyEhun+QTxZyQgjlmJuyFHwI7VUeb0eMLtEAKKaBPXjF8A/cUULswi9RIgTZiLSWYKkQxlyg5ijQAyQOE5prCKllT9gBjTsbDVvCEg/SZmZzkdHYCeWaI0XQGkAnRVaTizIh4Od63BHq7kJhT74GQI2y/eigEodHzi2YR5EQbxVxZIkEcxekSrcmBjHAm3tz6FiEUndVnYJJHNQC5k2qekJWBwLvoT1HB6KKCRpLcpELL928vUEQpRkWgUHM96aySqGnkHcOVRUWCsLFAX0AViI1RPXNB5GANE4MJqURULUwz6LwcN3ACuwdgKqqABj1ogCiKJImgrBtFgeUrAwhYupM9I+2hE0CthqBdkHyEoVKUpUgt5CfhPHA5LhNNRFS2TqNn4b8scNMsRBg8QJwWAle14ex6ikVQTYaknB0sowEptUAwRMXXDtAAShECPmrAG2gAiLSPyIQEj7vNoCcAgAMDEFHAOy0LQQTRGstRXhvjUEAFPh0A0APQXUwRXoG9Fgg5ItmILKlQEf7AXPYqlUEtA4tSIADEAhREpVEDxnyjkNbIiRMRBJyQYNACTwBVXmlG+kPAcIZUlHXRhUSPFbqwQJcqHlJQDq5YtQS9At3xVVZHRpRJIP8TBugzK4XJzJsAp9aFUEQexNXZsvbBQJVHN6FlZYgCQbFkTSvAQsjIoQDCUKoc8oyKBQBBlJZJ7RVWu0g0GAEU6b/AAzF2lCkK6BHgDNYhRMIpSUgpMZNzKUDg2MK+I8fD1yGSa39QJQgNwVyzIVFASAAyheR2Y2HuWJCiS0ACJE6A/TjLtjWCrjoRhQGAwarFUwjHFMHZK0gEKqKUOqmsmShJQRWLJE1KC6HKgDgJsWbDYgA5p6gJrNr7OThRUhiOC0/iUC5EndlVOMJAq33LwqWVgDfKiQUgVJd9dcEnywwm9OiXFWCugxp0mQQRDuw4CRqgIEFQzjB6sj1AJ21UYAchhhNMpRlytVDNXVFQlZdqPNUq+h71a2mNuCH59RzJoAoaoQoFFfoARl8IgEUCpGQcLoXboiIi/AowNHKnpvYvBWq4AEKIwmFrLFAquWBptdlQCBJJsqBQFWwE/EiKkwEYAQQKoXFrUTURR7lh0kEJIBAECUBqIwrCxiYyLWHZjMDFfEEAdAQGaDE0qDQ+pQsgFN4tloBWXsDEjKBB38L/LKB24SihZFYSGtKlhiIipyOflEg+iTqSa4AuMlEsjYL0mjDQykBOhT6lIALERHFgN0JSNBVxEy2mUdwLAGU+ci0UAKqgCldUgGOBQGAEoIAWFYTVcfAQJCssn3IJKyD2n8QXSEtBL2mUY2QQh5hCrnF3dJqVAHEBKtQcK8VR0LljC89MeQKOIoOxRoMfEoj7A4hmpdcMgYkSCqiMdFEWA4sC1YgEY0inmDcXXq0i4VxiSGIPbqiFAL6E+y3TUFQMawSvH1aWs9DFGOYH0AZHN9UV2pEUUJOPl9JkVqYFp2DxAvUIAIAjffqoeEMAgiABkUbBsvbpJlT0PCN231qPCbacKhMLptKKern7hpACkBCAy1J+Q3DCqZbIIMBLuw/38yPi5sNHCshD6RKhACDoUUg1qJKCBWEKqIaqa01Tm+hKywEA6fewJWBEQUg7FcGIIQgh4imRUX1X0QpYCJLUKIgQrjjWXhSwLLNaqk1mSBa0mHlVoJKQO16SKBrZyKnPRxzXsBP/qRcf5SzGCAQ+YggBEcjJFwTtjgVuCoQceszdCFojdghDiUm2QEjBltSwpYEfFG0fUbRpQiBG5PGjE0MtHfmOmHLS0kCxNE6OB1Z05iJGGACgsoAhGQwgJVSEdgMXcCw9CeQCXpDMA8QiwgAZ0aUoLrpWs6IvUBRfRZCbhOCHLT2zTHFTRCCu8KMBZKkUPnXQmt6CARoikvrBu0bjhB4WSDfQDqzces9YgesY5zkIgfygF1BpGnQqFcIBSnABRSYBZRKkMGASYV0o7iZPSeIdVEMcJFsTAgcZVUUwFEAFJKrxBePBEMAqokdBVhE8JLyCwjzxnoi7vEcY/zFAC1aqsFkcYSydje9A80Nv0SEFqpSJ0DQnlORloNV4mCC/RnAn+JDW4MaekYh+qw1yy6qc1iELijnrDDQGAZPBMQnjZsmIE1JMTsDXL5Q4Baqy9ICaPHlKpSrJzVETYACQgWoewCiRRkrQIAkDRmChGgnERyFQ1Gw2oVVwKADjJOoamJ9hgxxtK508VTiQoghEah6eqG+EarmLQhsooojmzzpqs8qUosAFJShAH/RUawOhIauufUMSpakNQLHWPIoqIj1sJfQ/UFYyT60ARn54FdID0pVFT0cZXbVWzCiYEmJEM6VFqKDAsPQCNmofGpJUooI0IQ0FAdIzALEURecLA9CohVqZ6gJI4GZhw9L3SqpKAmCFDKOHy8mGUABQXKiganCKCKQBxVQsYl1FarSjJlccAnhCOpalH4Uoq5SeLhgHoTUABEoYLyrDYArWEITZzbCCsRVrU0wukCk3lBCoBMk0Lg5AMciSNeETNaXZlFArEGjxIBMJUVrkpWVDPYYgAnALFcTGCl/BJaIpNl1UC/IMosAPigAUd5WtqovQv6QBUUxZBIFtgdWyFDBUnDqAMEJiskqwScqtIvChUlaM34OrhDqxSoUlSdCbyyMxoMq0oNARIQwb3YgSsPplVUUf5dsjyaQYHBvh4qI7GY1CdQOlHRiUlx8QirhlOIMn3SgiIMZmGOs3alJDqaGcVDjTDClNQ2gCq4QoWhi0NqNCRAMmDHCBoC3WpUD5LDSs+6/kN4AxAPNRdcqg0oQqShJihirXRQ4hKBmNrgK2z1hQAoKgAOCHhHWiCiWIdEuDDQwgkiraxVKIiHHg4YUVfIuSWOhnoOumEYfUiRYqBzjKNZr/ohRR6UICHLELh5FqUEVKeHQAKAu4DvgsFDjtLoZQB2gwMrAnggLE16ySkVPkwyBBjyBruSCL7A4AvVKMAMKAYlGFojukboSH+KCFWnAj0pMNC0GuODmSMH4KFsS8AxCYOJhWsGnwCqhgoItnNggCUcBdWiZIclQG0FH1QpkIEM5ZoGUlq5A41TVr5iAiFAL7y9ITMlPONVFcAlQs4Ed1YfQwKYI8IAVgnNkJ2BpCSPIFxc02stFMpZ6URCBFK4pWiZ7DmMNId1JXTvggSWuhDT7ahCGiQXMhiJNnHariBEaBCKfUyQF4RBIEkqASh2YpBVQEggTWgTrASjolAhc1sQkBz1YIS2xD5JEwupTW+w1fRxqQgmAkgpJ14VUNmOwjbo8+nM6FhrN1jV1pIyUAEUHtfy7VAixUZ2r58Q0h0lpALQDWehNu0URIkwlQoRuj5JqBDLtT5K6BjWoOxcgusWAa8IoLI1olAJTQzFC4BcGrByPo4UZSELniQgbAfkMwlNdcw04CIiyt1zNbKaTFBIS3RQByRCHMXKbaQg4UOAgTqfxoM0UDxd4K09MR4sokN/e5IZQ6FKsxkWHyY0pGt7GgECFIfSwoKrpbLW1mTy3CQy8mHq2RjiUYzgqJFkxkUpEWCaugDxSNqwACZWhXqyTXrqOipXEojVDjxtSAwU6KgnMIB8hSjZBcKP6YGadqmDzTKutGLH48gyCIUUL67iIwy1wyAx4jhVc+iAoU8IFnw0nBAhMgu6DwWPDdTQEWwFza6FlFDJ1pFsOVRV9EgVAI5eE9XENgbV+FuQGqDiKSlAUGhSR6eQ9V0ZCSJf705edwqieLEv+IKgIiCSC4de8RCtOpq9INahPZIPVYBFchesyxAQBZVEEm9SAM9UHYYthCGCReHipC4fQYMECvkQlSTOSIDTMAbguN6CJD4ygaUChpyo2ZKXAYr/zwCOiVChrpBFENSjVPbZ+EXPIlpwYIWAHQFH/AByDmCCbIdNmiNEsxsMSIMITm7hKMCgDTNl7RHYOigQl6IvyTnBr6hANDFoVSIDTzw2ZI8S6gHVAzHTRBjmQptRALD+WegN5aBoa87mERL6ksI6J5GGIc0pC7qRPB+QRWOlFGy0zCJNjLGS7Cq5lkLSK3B4obmrHJaAsDRICcrYUMhlhJ1JpQDpHH4QYANoB0AuFguE6MevCXdDLNEYLwiJ/rpgINSEECQCnVRkwQNhSpNjZqTRlmgrqh2hUTcShCqMEwqBUPlgCUNFsWNpFipIcRKEu94VYEku4rAiREBCoGoCvVHKhzXF60NBCZH5NQNElKMKJ+oEAxkySktoUCa8DjGtcJDvIGI6Dg0ZeBKhQI6I1zg9UlRsAH+oAH8xqcCkuEnhgI4UoWooulxiLKQJAl0hgiQojAoSEWlDquzcAbLSDNEYjngGZSMaSxwQRFGVpIgWlOE+dMaHS6XgWECRxwS8BI1HUkaGQRFWETwoIIMmuAABIw4eZPo4okBQWoDQfqhhpWoqfp+wFBEYzUCIWDw9BRCkrWeWZuGgdUj+nZeViWKgXHJRidnaOCwBwREtSLGoWRGaZVCtXK4TeJ+Imq6NTdRDNUnhFaXdcQ1jCqRo4ePIg6qhfAK1R4YcaBUKCgGvwhOQvNmYGcEBlAgqJJFl2EVS8oBVgvdKWUo3AJVac+tpcj6SxsMlCtSwgD0NQEgmrK0KhfNVXBAI1xkwFSF7/AMFbVq8pHIugyWJ2yAGr0eti1TpbG0UBsQOypnqrijsUlLGobaDiggO1qragampoDC0MYoBIMoDwpHm8QRgkWodPwK5wh4rV/nglQSBJRqLqOUCQAz8RFMi16CgQNL6k94RhwVSSJAVpvq4c979kqDR+N0jwoCH0GXp9lCTRVboY0SNCuKggNNTg5ZoZTNEEaKAbsi574KilKfS4PcMBmqtgz+qTFaK0LapcKvk4gElK76wsWTH8G5qAlCeqIcGRkxDntFoUjho1iUgsKKGPRnoF2+higbtwME+gGkXlQAzAsIAoDI0ixhEGYhGVJIoOiarukgxKjdjMTKs8xUg26EEPJXfJTqtgoqg0kBwws0IYEQQKorRn2vdmDbngVKTRThdp5ZVklrI0Jibo+FqJgHWy8UZRDWtPfTWBJBfnBJI8WukflpWQlEc8lVFXgsBsZpC4nWWSwFJJAUME0pLAnvXIBDtIWhIkgsl5qKiEzAiQNu3edadGF0Iaxg+q65/mAE81ykXy3IWcIhhlVGQNjeISraDQMAoBsVYQyIChHVKQAJ8/R5Io6FcKh0E5/VzBg7SMiOBAsVRHBxI9S1oI+IcfqXUx0CBDUnndCLARgDBs04WF7gfVeTYsorQETdA8IGor0J6CggjUFAUaYF9RJ/DhuAwKamKLSik0hFUKRJCg0iADhpIhJsg6AET5BxBQPDjhJQfCA3UoGAvIB6kGgERSrbg8NRQ7YQBQUU1cS3VXWaNSQvACFjbdCQIqhQHuok7m0MUUgPowBSYEpE6TOQeAjUTIRqXlBaKAEfgcM8yVRRyLDAAxNBVCiYkuuNSL5FIwWCOMpbHua4EWuNjR5N5ZVJgRvoEUXi1XDW7F1EdgSodRNM9pwFEYUQnGADbZC6EAkAk+uMoZAN62GhQ3ArmZ5GFOGAeW6iXtYLgWai9MthSHUWYhkKVFxgejK84qQhLJHocUgFF8FDU6WUf1DUpxPnqPwEUtWgyUCiQ48JwwPKkLQEPzByJqgMeMbQ7T2JG66Po2DdKyizzqRAi3lzsElSLxcBbRRGAoGgxQsJxT1BmJT1PfYa0Tk9KxlQmyyBDK16hxc1FfU5hYgKAJ3ay34hPGCaDEHNAdOoA4hFRUzecswU1VnEIeGJwjuIA7GAY7yx57niSYsRtAAKG9PrXZQsQCEKEQcEAII2UlO46D0OquBtB2nhApTcoT2ktRCJpTJFLYVOoyQhL7JDWqSFHewlsAPaQiEsOhr56yqBjDT+bn/TknaFBRIB6FFxiGzPu3igBf0I0anHhD5KhzGVlSHAFGBqqFJZ7Q41B7TkIU5YFxggZqlrmYYcxynAHfBylSmgKm8l7EKNL33HqJwq1iMKSjgtxjoIfjUiiZm+EMBf7wSooCBnWaoiCioo0Ih0oorabFiBBM/wALeLeMfJmIxWGxC6KRoDAwWGIQaluEICYTHYYplDgZAlHrIgZ0WHkGkRdDpQQABMQRGAgXgBmYWnKYHqOgmEcODxwVQmIhqwEO6ChVppNEKYPx4N8vE0xbXYgL2lQ+FCAwaMVN6cIBERuAHA+BgaEgvCZFGCL1KQteo0xACcanvixBToDFVE+UptkRdAaWwk+krqfdIZQAaAROcM4MlSUOyQyG1tbKbUKmPHirH8wRK0jQs2eM8CC1Bs0MbGrLSnIguvi0FwWCRyQKCw52qVIsmcmAsgYC8Ou4wMWu24OAOCuWqgHIQbDTQoZBRbPpcRCwEUpp4AmFJE0KhICAlV4PoWAtmqQhNTw+9jMKKEPqio4Ew4Uy62CywgxUXhoDjThf1AsUNQJc3X6RKEYkVh5xpjkzIShQfOHroXAsr1FFcjpFloIcWUaABMUMEw4KAIIkREPfwACREYBCF1LDBhZqJ1LU7ODFGDEyYABQMxYT3MoYjzAcEQuV3Ek90jIC4OBMQE41DO4hQcWsqQikqE0rCWHW57KGsEfDKTNt7FSXnIJHoAtqyK5Xh/IqQCNCwwUR6hioizEezKhPsdE+zFstCiTSeXIeIoIZvCK1sLxB/tgNHk10oQHakDtQajI/eEBMOAI5qTshBWxU1AqNAUi4tMoyegP36KrdCqfaEYf0oABqOkbskMjGIypPyQklAmhRyKnMKJk6hQxzUGKy74AHIMzZVWtpSdK1Ho57VEZUFDG1RDHpEGEGwA5qdAodOF0osAw9uSGZMcABQdSbUUCVkoeBHZw/awlNLGoyGVM5pgRpagGQUdAHgTBOcagolMDjlYswSxComw22HuURBJAgxmSUxXe4VQQyJZGK+6MtByCQeMI9zjSEX5KxGff4XRAFFywGFmoCCxABbQ6UAJon+TpINtjHXCNmKUFmYYaCtxmInmEMAsrJUsJ56nGlvACABCAvNnHuBcVpGXk0ExhHcpLAzARNElzqmeoDSUL0xN8AAlSwpIxVES0MO04aS4mJYF+U2FbU3tKBH9gBbqMkVHNcJi1EzuQGQ7aDZPlqklaEBCRF4TAQL+LiYEyGixxtwiIiaIQibCiwM7SHZ8LmGwRbBmqpqa1lYiWx6jWBbWrEE1kiqAPDgFBlTKsTR8AgKnr1kY5f2OhEOES1z0DF4Wx2uAjH5DSigIGEwAPd6QRjSrHAJgEWuAqEaUtASCg1UNzDErSg4OlslbGoK0yJcAjFDYIsAF4oNDqtsAgEzIEFCsAEoEnQaFg8iSOYiGwALdozpInM4kIHYtDBGPNNtzM6Jg4dolIXEngRLoFjGuKaBQ9GU5RIhlCaSVMIxKbgIDBE8QZAEY5L5UdXxEsFQOAaNmIJRshKqDFI1GpiA+iYsENA7UpAqqCD4lRuWCctRAr+DuWDMBIQwLGBS9WE0kpUIgGJv5oRQ+sLKVJ0DXQZtHTCAAeHykQJ4VH2iItCdWCdQ9iAQQlghQ/yFHBUPpFUV4gdiE6Cph6bgCOoOBKQWUF0lBpWMDLIQgGoGil8S4RHjVJaoawDlaYLXmIUhWNKRHhESNFQIJoAirJLYQkEdQCAbkCkACILkVBxfwoECRAydRmEVF5M9jIoOVoGHqlmJKQzQZBSWpARXDRbjBSa2/KtippamxQICZkcAOIfB+RFETqMksk0X1ikIFmEoXckmqhyTMKACOAbHDTvUTOGTjJUDiYOCiFZl0dzavjlkejGLqBgDAhJcNqQcZFaIrfiVCREvi6DBQQjoqktYShF0liyQCaOnJcIgBGKsL+xW02mcA8YXDIdQlIDVAFAagbUFRYUKZeI5zI4NkBZQDrnTlmOmgoZCBALaZPfRJigPACpA0AUo8NE+A0JKpsFxZop3nkhbBkUOcP0GsowxN3aaPTndRgJkQJ+IAQthUQvPoCiiTud+Gf1AmfOscU8EAiGEYjrG0QhA8ryhkAECYSFAUWtRoFFVChpJ2EUG4AwYmAgEXTChkblOLm6wwYe8CstA7DXb97SxCU0KaoB9wOcA+g0IiwlJ0acyWi+AzoAI31AnA4gCwRoMD0GPUiobNY2MhHgdCnkAwMLFCSx8VdFTCHutGqX3fAPBB5VtstUBcEAA8uIa5fSxj6IgPQrsScGqYboLpMKLCXQ1U+jkBQLI1XxZkVcTBbQkcAyZsCY7VhI82uDImWfFZkLMW6eFLi90j2rLUlY+cxbClpeh5mlgV6MtauUjxeOl6leiRRlt4IssWj9kaiKTfWMRAy1YgOATYA2BNLqLYwoeIQDgJUICBFtp3lgJDK4tTSoez0BgDoSFdAJMPBy2Z8y4VcY6UEFI7CFFPwov0cfNV7JOaAZLMvp5Ki17ktgHiBBJS8C8GSCFOBexAwISEuYwCurkcAamVp0yGQ3i9crN2Dmr5DF+RPYw0qyoO5npIRULjsC2R4JOR4bVZ4B6aynZ+82VIH5jwA24Q5xfUoWDAA5mqb1TMLIpmPMsVlSURFeIMMiSFEkaFqDXDCdIoWVVOy8Em6dgNuRssdZ9O41gKCIMAWAFIMXZVinarGnPgSdfcZASQ46VhZpI9TWIZNsBIsJAgjrNOi8GSMDQQ+ghsBMIBWGQpsC6e6wohmlqsgTXgF1SBK2MuUhKohvTGsghEguE2Ujqo1g4FoQApWUHwHJKha1ExwgILM4wZQe+xE7ou4PFc0AuHiUzCBatOEM76BILRpiIEslC6M+ySN0H17MgGSwoRaIyZ58B4lYqKgyFAi5aYorUeNQiwDoFImk6VF3zyMctVeocxyq0oJe5AB4M9uBkgjkPAmLLQS0IKtR1AQxUaAkogWSUAATGMAUMABlPMor2vYtSQtOUot6go0qUK/HBSIRFng0fFgoqBQ6TSm/pQBhNJCoXJUFT7A0BnqNACo4fbBIaHlsqzbOIV+UrtoMSdjL21OCnj7LWlFq4JUChwn6HoVdH0RowNcCgFoALAY6NflXKi6PVF/DDGQ8DBC1olDZQqWkrwvCm9SotyCtZrUgO6akAREkFyWNinPBKQaC1ZEUJCuC6kFAVHhWP0e8SlASsXYrrqpXcLhIJW3FomC149TIszFUrb9FaFIOhhAM4QTgSsbPJmi6zKG+mLYEcbkoiRA+wMA1SAvDzCIgZAEkoiFrg7jX5iTApG6LoYGIEDYVQIo0xj9eiJEOlxS4IdHZPuzIvklDUO0hE6POYGKXFQknwFekZoCGSeaRUCLAQdPMfwoZEVKIBHilIpYhtEsEYCCGHruuqkOQbNA4i6RrBKgIlWBh3JBmCBWamHwAYg6I+hZQYCChbEVKOSLjHksjX4lxMtxV22auLasQUmEe6rDqRoKI1axsFeTZfpW8giVBc0cPQrJoKhUZKjNlLFJGeAeYsSwb6MNZmjW4kfmTgHcXy0tAkslszNjRxdGvY35jAQBMn0/SpIfcAvWxsC8LyMRAaAW3hlp0eQtEAA5bp7EYhyraS6dxdxWzAWRGjB+G6gQVB8ERAzSZ8SR2gmXVaFKCc/WTJuutWpxqtBgqnG9Mdom8YzwEypBAfGfTDxaMAbNAUrWAWEVIBCFbAohWMPWTGNmMgQVaQhVE5JJKCFWK9E4iZDsXm/mEhpACSC1jAA3foSgIlz6it6LB9IBBEWEH36IIe0ELDbD71sKID/DdJcEJdOigQOMwVwJIskEhCkDyfZZ3CkDlCp0IACC7msYKGo35FwcgTBvfltPTDSWgBMpb/ERfXBKY/IGUUHqBEKCSSHkZqA6KJAWIsQujsU+3NpONSWNXwl7aCijIgU54FjVPT0TSwhJfYbBMK6/RQjiaINeX44XrWmLwStgGRUi1eTiv0ZAqqDB56eLAzUYJpKzazGcfYCEqKDegEgBHMV3zcz1MQWTJBwJBChT8zwBhgNCyrmlExA+yaMiFD4CAlQGFbbGBBFWiwAWscKdxSKmGIqinSBDHhCR4iQE/0ObYhWnlQn7A8FQuwoBtaOes2BBHRqgsU+2sJNVlK9tVtIC8jh16VrghQOitA2gJdgiQQSg84YjUYqDYZ3JI9+7JGTEmbWEshEmAYJCxI4aIpEmUpQ8N9zUgpamsEAEHfdyAIWMBSsEJHwYljuIgJ9mDlT0f7ZtcAM7q0Q5KIcSuQC0LFhxNJGZgczU8UjCrByXdO5ECiX6lnzs45OpBkWwCwWSKFoiEBiQTUL6YQdYOpI2plRaEGHpFEatNJYVDQhlVWj3zEM0tZ4pKCtsO1CjKrBiyMKsCDjt3mtLJg0LklA72qGqGtsQYDFIe4DYCsZgGGwScKjghTpDQGdwFuDyhWpyTQUEKINYxEKJoQhgyY1Cex1D12REuK/FkzugmLNSUjgXv3jxUPgGguG8Ig/gwnJYAClNILGAZUNgambQLCgqGxjyY5Knn+FB0AAeiudCiAAoxcLYyPT6OiUh0NJK+1pQZQqjCsj3UhSqko5ZMkZIgRLDrDgCZBQioWkirAE5gaF+/NxLVcURwhPtgAUDSBAjb14EAWA9FBZTBXGBOqdz5NvASQi8QHk4aYEw4H2VAAORGAwzJKEMNJugQ6j7AMgZK9YCI13giyQisQaQgaWIhF2Kk4pB5mSLYzmNL8uE6YUNTePZIfYa8CgKtA7w8lRAyNV7APTThRtyUgpZQDYMkZVYqGCg7QWgEvlWY4UhGAdExCYORVM3rqFKOAXlHQYUWNIDRcArKbpRXqjGhztkDiUqVOLCtjZpd9bBn1uWBOAhIUbOHeEJS9exF0HcxxLrbaSLoITwCUhQN8ECIjgC4jIGaHuEgZ3BBAFR4XVk62AV4NadwKfNztXQaZL0V8BwgJGYbAUAYKkIe4WzcASTqwlYmd1xLKwpCZeAlVHOVEYIgIbU4hpICEIViJwQWkKpqmkBHuE5kUGgIs9ouQgiQjZNaV8wOHYUODM02C6wDpDsMxsh6hXKvg5T1+x5LTaCRsL75jQkNPsQ0rnY5kRc53ggC1FRYUMGZIrBYWmBFcKnCaFr9CN7xAjAjot0ytBfQ1SAGifgZEIWEtDDARAoICIIRwA3xglOkarPBVMgkJnqDzcKJ/RMvomzaleK7d1IgypNdIGKRkBdShCrLE6tQrp8W5cCF1QqGOO49OLUsLYEsVqdYDlEPhVwC9wB6a+QDUUQ6GooPAUAcgX6Uq0JqBNpOIQPpAQHKPSoWDuLCujEeczBdFIJCSnJPEpaocnWwhYHVAUMSPIC0kohIKoJsVM16hAyzyXAQMPVCDjQsUtgQ7vGPzbZ5etUAdXx2nSqKBngEyEVNFCjKJUZ/lKM0ApNriehyVUqgpUmikUA52uAowkI0B0wG/b5QhqZtdAyAglQ6oTQQKwVQCYAIeQMhIcfYKE6WyE8ZSDEwH0PlKET4EEi6KYMxKhBSOVTLl33UwmtFVBLzwgaC0rjKvrHdUFsEABtqgjAEoDjAMHlHQcPTv1sOP2ziZIAvowMakDZ5oaT+zRqVeL1m8RaYahADkY4OLYQo4v1pCUeuFIfAp8QU/mVXbHBFIEElCsBHAhoY4or0MNCIU2QydqhFwmABBReoQEKkMyBaW6ECIjCino/E2iKGg+QkxkMrtokYrvZxJq+KKrBKcHK0isqqQSZ3gmoECWgU8gEvU4mjA7wiSQF0PvJBckqjLSUaGqrM2LUqH6MckAgTlC8kZhkquqYGeCQAltYGNB4AlgGAI1yjgghpACCAmukeGHymhsYETDVdsLuJL3URGeuA46Cl4v8AYAFIIc4ESQgoviNoi0RGGlWaWyIQ1ZLAYoEigwwkjbJ08hwb4LnBQQ0rXVzSzZXD0RRRMBPBZqSCQUJS22u3gXUd3rgA0dA2iiYkbU6BQMPNZELabQrBK+vk0LJwlE+r7BIy0+4TlVgyVEzGjKcxThyOYCqQOCsUNDWFFOQGkzczuKo44I26UAUqUlaPIyi9op2IhHipeRaEhmFyoa7LRJglEsTNQW6QZNaaBN7VDRmyGAT7i9iQFOgvgUZeiACJB4miXgiWEXaLQl2cWHwARAvfZN4iVF6YlBQcivIeYn6qKEqsaSNsBnjRI4WQEwBgwJ++jBUCazg1G5CyG6PeFybgqDWMATbgcHIAgAwKsIsFZeHGOQUAiEhSEwNL9uVT+wFQYgoCAp2+WFHIIQKa7PhLtUmdUC1/FFoXAQ5Zok53xHgA2v3vplbL0IACgyHpMzS89QcdDzB384j3kxVaaHi7KLiVLdGKbDDtFgC6mSmwINCChoR8A3AtQeFwCIwwEDXSLcgqCiqxLrGgceQ8a1dYraCguCy1VRkKPIWAhx3GTCACQAvFu9X8eEkClaQgQa+FoWotYpWJD5hA4VDa0LEJIYmAgqbhLSTRnIyMVdJcAAzGIRMqCWkFPBEqg9gKTDeAwzsRh2LQSrFSPoZIDjFAD/g0TW+DtMDH0IQlKkXwzBiUnakwF+eaBRXGcF3uoZgbegy39WrKl0EJ1TbKCJ1feGT9IF6VIXpE8B+AxEhFvqIUVc0s7zoiezQJCZgVUKurG8tPo2CaAFJr7oQJBgLXJeMQGmNqGgpq0FW3rj3AIDB6uRcuPkxMRglQ2fuG8D2dDTNAVJUSxpNnKFDQsxYwTQoHCDPW8oVl8WAr1VYyQBKkJZphYd8rnyWDdAC6B4AnkMnoOdrAARC5eEgpVAO7BGbiPITQVR/IpB8CkEEZjVU8VCw/g870ImAroQzkgWg+KYOr8iOskShUDwSKGQVAQMoqF0cwpBmQ0pbCKgpR8mNFID2StJzHTggQOSoMkLCrCr0RfALrSmlYcWE5xgOC98YZLQBXlz3A0zf341CtYOYFifsLqKj4Qq4N1EiaFqCIg11iwxx1Bl0EIeReDiLosphRZUR1Y4MABhsVqjaASMISOvwX9i3jEYaajgA0NIFIAsBAAA4WiimWoG2UZa1OQZmjJYARqu0aEtQ8Q7l2jxNxRoiNJA5oLjqrKop0oLQh3IvzlICKwIEqLKeNowi3otqaYsSKQF7IA7SKBUPcCF1SrQnrWgPfCRiJzJNEbhGFKmIcbhDp1+wt6AU6P7VMdvuKbGjgin0ggCbAk2Le7HZBLBqjxwP2C4HFWXqAjWCEgRITeB5AEfiaox4jQWMW5WSpqxoFIA8BGaDBS1BssUETtHG1HY8wGx2pHWEMDwfcfQlWZodXsGml0ciRa6rP0hXswxShGoiQjl4QNoImsPsGNhXojriJRhShAVkrheUQpoSNxCy8owNINgR/pCWseqCC9IYFYQteAFdSpfDpCMW30MUhwWMlJsFhTKjwvJZVwjBowC4MUURtvicJFK2LSCikUwF1VdYIIla2yl+QVAVDgDIEyk4oagACBHnLH1IQtQi0VIvHyu0mIl/EQCmhNggMwQxlhVBwg0/cv4SwR/qCDwYqGY6ijJhYQ+EjbQ9W6B4powYAU83ZhCAMmbJAJUiPr3UvIAkEZFOencRVCaaZ8yRWJQKmixDDvMeG8ZjUSsRQSJRwBAwmA0EmAzhmhDq0w8AhMJMq6qEg9vEwnIBWJ78USQRSicy8oaXiIrlV7UBEAEQSH2AiIWItueusDdsKBh0L2yIhKAhBw62C6gcKzWGaURL4SoCIvwFMEY9EFeCmAeQwUgmbLcVEdzzZHPERFmCIVj2ZUBA0SQQaGupyBGGi/RWFCgg4DYebEAxAUSAhoBXRAyAGoW2IAxUUI5w8Z7NtCYTw06Ss5dpLIZEkQ4M0IAGGtCSFizAa1wQJJr1CsGRAmvXEQyQqe3cAk8FPC58IZKBUzDnGjZEcofslcCyQjSRK8Ac6gocB0CDCwbYJKjRVBZcKIcByJFQiDgA4I5QZJn2imBq5JOopNXC1SnaBbitIGrsJmgGeqxS/A+Q9kEqoik0Z/JlM+8cJfeCah4zY0UCtrW0cKH4ssGcAouMKj00KHBCbzBjsC1yW0ygu+WBVAXpHzBFct9EgCKuKgBQEo0Woyi9ANOIEIVqPGoVDSGzRiia/gj+djmq0ZQGiryzExwUWiCEE00PGXYVCNrQwo4sScOzZ9AiUgBCLguCNQUs8kQl7erdlDqAfkJDFVpmj0VBcomWAXFE0wv5qcRNZBMpsFbkTJQA5tBMAX2Dk/fKyELvxwDdeBi0PwUhJRAfuOQTCuKQNjMWKAJwpx2AT9uEQqxwWgDsBEQCQmEmUD9GoKqJQQG1oDtBnjowYrl8AT5SIhwvW3vkAAoOHmtPA8JV7qSsET1aZthG9LoF1wkil4lstwYJRULw1mySNPIhYRSrCHAIS7dQwwJQC8DFiIvDBTUwt2NHS/IVMDhM3+I+obD41ikbxFGSuFxGxniBrB6HXukm7RH8QhU8MjrFGw2Qgd2YlSB14m1SGAlz6QACIQD8bLlXWZArNFgvQf4d2nhAUgBy3I/DZJIXl4oowoAR1ahoUC4N6TLTKrMFpg/d72RnI0QJ8iCiF/MQIiem1CDZgqyhp81i9tQgNp8tBT6CzOSylC+/Ai5ONwqllHBa6HYPmUWDuheiGwxxeJtTRi18tQrKQIrtNJSqEhD0IBQAdEqwongMwoGCTLs0EqrlgJFb9GI58c695zRIF/QDDiPEqEeoqJ8CQc1guTgWZvaGoMsAHiXDBCAOD8jQScXjWjGwE/FjWIKJ4ascAtLYiST0icRMqQk4LMojZkLNMnbHJbQJWKUREETZMGjGorncAERs8cQAMgIKrBxMshH0sETYD5USALmC4wKAbZVyK6IJiD+V4AllJThmEFgFT4OKFrQMrUQIDjekIhYIlLHIlHS0TeC2Lh2crrVDR6QDBBXcY+ZVeRwoiwaACQEgRUtMBn2gAqQLoHDf6GmgljYACQwDZqpFUNV2kRqQ0XtGjuIIrJvEErWDFOMoUOyAYIJEqjmgYAwR1Z4M77AKNR11iMacdRAoWHi3KFgI+sWSqcSLVC0rCGPRGfBgoi0CRgm3UOcEQCQmaBI1eooYAaQ9ioR0ZBrVgylPrDCiERRiT+c8gffcW6BBVOPEbWa4IcqBjAiEQoegB+Sb+bMXGjEGQITdrvq4ImCCFxlgLDxnQyI1tCKgYrp5EhWCh1JqDHpkXYqHNSRUFQGiUW1DSFYE92KAEFDxlBf6YYaPiovWcJ9SishIBEQkPA18DjhVX84qQJVNcMbC75hAmQAKgUUy5nCIm9AZYfSEFoGgJAbl1n9BohSKHV8YWF1MsIKCJ49hXPTVKeHxCRGeBKWb0KMUjAoLD9hHVErIdcELyglKGDqEg9XSjfiJsipE1MlJJgaPkanFoiBLWolNcQubbY9EVeecCDaqgQFEDNFDvAMYyboIoDTQHYUx8K9AMWLCAHcbqABTcPSI9P0ARBmpFUYizBGDKXeKAJ1oyeZhAsMCgELONpDVQgJru4CD6tS1JQAQyoYWmGykRIOP2NiDII9K2ZedU3gaCPSLk2RerUVBqKKfxLNtykRIOKJrRZQovK9CREgTzGoWlVZI4afXgE7yugcFJ+jSZ9AjAjcUfbMg+CGGCImEFF4nEQAIwaZSKL17tQJyCVJKo2BwAHGMGQoBLAZSxAL4UAGsk9TEbK6FwMaEGIrwVARmPKeZaUOgKqeyB4WYCpD0yIkBoGsYoBGTuHIfhpENBZChJIqwNoAkII1nQ6aiOQRUWSPqXboLoQdgm/dlsVcJl5p6KaJFED0zo3IUPsDgosBEPbWQAMkA1wqymOlG8rx/+4CxXawd9z46siGK/QdWTiLpV0MCEAqxDlCoR0ikR0MkKPWMJTYNfpA9CHAl4dOcWFKZNZjA3nIGQpkAKCHKxMMVB5CCE1ZTDvLaq8Oh4PyWWiegYMy6KQYgsQDgmHGDuJKOtImfPhScwgzFLDAHypIibXTnmxldgM1lT3df5HolKHYgAJZF308CUFeECF0E18toUMRgnpLqcFv6CSYrL79YgQwQ2SQaXRaAF2yxDjYyfhbZm8CaUnTwEOEu8B8jQB3rTsHMgRB9EySceOyN+AiBFGBYoZSJCyEUyot0FRX2WMg5W3ejRR6jSI/BQoQAApAKAEs4rUCooWGgAB5aT9TVBMMb8A6ErSBZMyQENyJ2cR2GsBBKDA+cL48XWRAT0cdFbkgpHSmwhIsoIEDBvkcHpgu0kpKCo1fWZMlMoSgFEAIA5FZxoXQ0QpSmhvFz1wvCi6iwAGaA4JUpPgsr/AJWQQDoCppEPCDB0ri1hMnaYqFtIGgEHDBgPEWTY1bFhAn4wsJlo1loxIRgG4cumoSKwfTuTxARRAevkexEZCCINuBooAKAKLTIFwhA1s0ZA9CCa9h0ZBAqCUDJq/EmZhNAg6HrB6tVLCmBDY/LrCFsFhL5hgrhPpkQ0LEGOGsBNMR00tFTgBTChSKqQgKpCTy2JlMjbWaGnalA2zGq0oFIG6QQVH2HpYZFQooTxAEbNjLYWIIEX1QdGwUQXISAyEPEIMacHAiaKOQFquRGNegJi2lWcAhX9swoULWLGMyEZoYBkQARosqhvfr72yQhC4FUgUEQTcQbYukkokUOO/WNpAhMnw+yXWfskmuAAA1rpO6JkXVgaRoCoWdCxCfOzDcCCDNi58mnGb1SgGmoHBQxBlIWw4K4LUR0PB91bp1rUyOHwNg6S0hgSAtwtAY4sswERIDLow8g6pjwGa+NI4YBzskH7/ChJRhgllEjfg0kqysKOnxSctco0QqSVks5pbyQE2tKZCMMG4hAVrEASYiRo9e8xBf6YJaJwCIeIipTYDN/mJMhHdW05bI0DINnQU1H1EOVKTGSCqK8NQQPFQVFOBxbuOblGSw6xpBUinwCUUNsijC1qjSQusGAuphuYhNKHyJoeEhSRItVKrkwxTkJWOJO6A9SSyBVjGp0BRAiHDdDEoHpKRFlSzM4OhigEqy6iGcolHILGhIcKwtLLES6shSAuhsI784KV8NyEkcGUoBQRPrD5FqtUKZ13gN+LqKvpbEHhg4RXSvYD8yG1cNiCYDVBSXC+ACKKARJBKiAkJPBFIAuSJC/UaChUR5N9LKw4RJgMjPuaD0AUIVZU4BMVC+k1JxCa6ruVU+0E6sOkM0lAvlF56iNYMUCpVQKGIAEEpwHEsrPQycqaeAAEIKFVRtW+AKTtF2JCFYUFoQg+6IT9hSySIWCgY7MgjWNJAVoqM+xR4xUocSq5Jm7YMMDN4++BwSKwVeaIGLqMA7QHTTBA5NJeWK7pSKzUFXCewLXD6JYThBnAOpMzrhm2OMgAPMwFkZCiwWrg2CHCz4Gky+AOMohiONIHyLvwEbY74FlKEVSk0OpKEBFs/F0QQ5EZgBpjts2FdhCFDgvvOcAPAcQduWUAyEOHyWcAgXsCKsotgmwGlm0FgfMUQhnKS9S4RXfNpunOjxRsS4UOIIgAhNq9NJ0GMpFae3wZcur0gTlQNA6UItigMqpU3wBAFGiTG8K6hZsCq54UXQgIE4A87exSS4u54egLpAB3umXGUEGLM4ANy3pHlUG7OrMCYHU4UFWCeyOs5xVDw6lkJWl4gUR1QK0peltJABNUaidCjciiiCXswkxZKVCmglhACE2Dk9PhhtRSIABZFgnEWuADckKFSMw9lbUm1xMliHsIIkADr7wUACsACATnv7FBIqhNK2vdb8jILaCOjCHXWqAs2spZFo2QiA6yyUaw6BoROcEeVDiicqQwygvDpoIEwSlihB26BnOoCohgsxvtC9czJWZ6oYkyDrST0oaiUlWINhtLqBQBgqVWU0hIFTYj7NMC0ItQQxwyCo4VWQAiHkilAfM5KQFWgGC2fwcBaSmIlgdgiIJVYyAVNGUKIvPY5WTIAg9lbF7hm/6HWe1C3Tj4GFRxgEEFXhSfhQKACnA7ToQOVXF50SJapoocPpibtEAHDp1Ab6QSroAFOQmaryQqiFRVADYREyOPEAqo5YtkSlSPMVC0Ok+gw7RERDkSTR8pUdBOAS6HCE9DafLpMSMxYJ5IcFFTk/mQsSaIQJAFIiiTFBqiRRAqgCPA1BEyCUqk+EqDGxwNhBRCBSCEAYBUiQU9FW4oAvQhwlQokkIgm6Ap15SG0phkskSJoZgVym/gNgEIePMIjnUSKvUlbSAl7VRvRBhTgzUDJTkuNDBJKlxqOv5DTIVAbTAkNFB4XZXAIJWYDCGTbtMFy85DqgDHvXIAHy0jhQndpooJy4YX6dA8qAEKAxqGz7RSGKblAUPMeCWoKCcB57KGtumwFG6F118CvVBOUjOpArDxAmRP2LKizMgEDqAWeRtHENyQIqsS0ebWB0CJoeh1IqkVJESuIf8AiNES4p3S2aYxRVOaSsQVUqDQ8VQleI/cRgWvqSCarl9mlUuKgP0SLpQngHaokxRQkK6pgvBH1UTfUbiAGrhhd2dph3uD1CwHQhw7pIfKSLY6UgJo3wfBsCsJo4gpOEqw8Grs8AChFvnZAyQBAlIzvZKAosCS6BqC8bwIihne+1owGEq351OYCVigSJHCUjgSsSHgJjUBK8iUFm0FLYdQ/czUKl70TVqjcMBfXrErNQXvgApSVFoCwUajCqzcFAK47blnbaogaU+zwYKA1HrE81lXogNHRq0GQMhqNouLyOgedKBqQKBAIXAESxiShMApiMNqAOIgTrEuLFUetD2ChlwhKI5nKN/GNAGkkJIQBWYKAqJSqEIMuMlfbeawgPMCW/T7AiA4GIKdQJOLghDjqhltjQsADEiT7wsgiAR6yNFoTELzfGsISZkpP86SMAuqM0ooYrtUM7x7On/SSE8LgqJeEYmFWjT6g7CfcdOBVQBx4ICt6S0LkXPAr+o19SDMB3ydogogJUSR/rEEhVigtAQEcwWA6+MVFgKBYRVCAnWxkNUnqoRBcUoDeQKASDAaQ6oHm5BMQOQAeTWA04GD6aQVi2jYFs1w0NADpDHmHMpFGl0Z0yuehig1HJWIpzcdUmqZEV4S3kuiC2QGgl0k6TEEuPLVIJdg+bFPXdehcwAVuAjFkQCIm+HaAOsqOyTZQtF6PEBALcGRSNRdQRJeCBW6sZqGomxKMEmgA7GtbUqiBvTPVikorYGCJg/4tjDB40AHotBOpBYxW3i+2FQRoIMQAIqicL+MhAEYyPQ5CSShWSiAIic1S92I4TPTBEYEhIeIggo/KwggqpkkIAoJoMoYlhtiAIE+oRPIZaGUT6Glj1XMoLgFCxwBVEHpiB2Co/C2QkEzjx0YmGGR8ByBo61gtwGxRrCqVirqbQA2XQTU0yRIgG6EeyhQUBijYN1bQoowpFo4jbOgJOkznM1fxgVJBAlFFIKg2KVRdslW8j2UF5Y/4CKCFAaliEcE8LoWvQkB4TQA4IkjCsQEg0NAR6qHwLp9MGJo46EQkAAvOsYtQpTX4LD0johAN8mUwcr4XUdOVgQfgJIbklwdwJg5gkiSYEEBuHQ2dybQVaISBvHCAMIYCi+KEUDIPF3CQGaqgCURQLediqTGS0J9mQv/ABHnRGgZ+DakWAh2RAJCM4WUAyrIdEmWv2kKbS+gJVMCMDQiCNtVhaOGEdxRCKqqXoQIZprAp6L+kcCS6nFIAuwKaIX/AIiK7MykwvLAiKAaLRzAQSgGKrqATCvQX74wAoCCggJznvYNWYAkK7MaD5oqaX+qjBCRCiEAKvgpAWNUQR9dVrRoYZoUq98goSXLLaVRGccB5piUBLqIYqSbxkLY25KqESoX2Hg4QwQ5ply33NYOJdrAQ/wMxQ/Up2CjMKYUNtYFlYUDhfRqjImQbALOu4VMgVoIQDBrQfoYatw6MRamUFHpGc2I0r7gw6J2Ufi2I0URYlJrAQOlz/EsVcvHkPu96gau+I6Zi0pQYgmoBadp4TvSNS9rCFEihuD4JcgJViQBpc5PiwaH0CRDhIAiYZrRfJOWekIXQVexrAvuLzZzASzSRDQIshncCIn9IMUJUo4epgOEFIWAEIsoLRaUkapU7vYBUO3V1mIdI1JlhRcAm4y7gggYPlx0A8JJIMAGd0NWzOAXBNC8DEahHlZNhsLkDN9dYsKvIWYgrOsiJUIKC8nBsaKBAjQlKhC9ERAaJABKxhAD9nW6pB8E1PBVBFho6csX9tw7UFIOj5mcwWFFvLWhY44prQQIIxQujyHIRKmTaQ8q1wBDxDEYg0syaqcK6qnxSkrgUaA1W3jokmqEiuNyEWgVzTWSKhWAhaRQB4MjenofWBBi1LE6XLj6KOx/QpHK8EMAaAqQgBn3KueVheCQICxqhZWDzBdgSYAwwAForFwWR1n0Jq+QvYQNoGyAVZhV7IuP8jvouPqIoTwcoF0SkGSQhXyzmAgCr1cEpCD09tJoXzMAIX3wurvqw7p0VOhNiObZiEANWoojWPWE5wnNknKgjD0CAde3pEVI+WgL+ELOkZCjQ1o2IjDb5PAy1aaLG1TKlaPmKhTGjMkACGTKqlaWJvdxOSiUKCvCeSoYCpkKCkoi71tCz0Z4JVETcXMSXPNaZ1aL1DOA0kg08l0BRRgKVAALLKweGLZBLHKhKGKcDCawMPetdQsSw0CyrAJQpCHKi7qAtuBCUFAiqJEB+hcJVpeKpwqmNcFAMPhkceEYi0Tu23UeupZ4KQ1ALDCIuGFDAcEYKtEwUGLA5xKigBGVgNpSV64AESFaJSkJQIKnEkXrlNUV7FKAI44rbov+FEQIFrEOEYcFDqBqneKARyKM5gcogJi/IjnFkwgoCeJUoyl6HzJ7BmLBFToKNOFQSIAANkKG+ioe1agc6lNBFThAuJ8vw+yQDZQUBcFPzC8yxRGIbM4uuSdiImhGJIEMCqAhMgD3wgCmgEJ0bHiYAqQpDwAgQTlcYgLIgQDkGSVfQwAZkw0QvgpR0eKhQFPRfpRoleQ6L7GjQUqziBGuh3BZBeZMKWDUxh8aFBBAeCsoWuKEcjKXtAAUWEx0WPIyZciOIkhTYGq8iSOBuxRCpxLESH2CqMBPiQIl3oyoNAtwlAQJKJpyhiqoK9qnFXXoM1ubZD9X6UxOoy3Kk5+ktZ97OrmyyQWFUiNBKBVVgAUWVCYBb2lU3PWqdMK2GglRxKcXUS0vFBHWsTIrw2tCyEYnq4KFwJNROEiWNE32KIsgaIhFtAuIAQAYUs5MkDhLAFERSU5XBGbuyyAGpbUQP9UEZMqCIUcpQECEyk+FLURAIFBmxUfw9PNAagVpxu34ZPbwGQqho4MpAXHSQBFFFpDBmFCKoHNq3wKBTtEyIKayHw1R0RCwnXRGapTOLPInNY85oQA0OJiwNARxmJkl1EnIpUstIClo5SzAPw9ISjO1kudfECKM8TlZ5AyIavk3wSqwSIJFZpVgyhsEDYsn1EUliTAK55ATELFGJQ0QVZRRrSGlVBfkrDq1y6loz8VqBeLvkDVTTFioA0EjJ8hOQtUAnCWgheUPASiJgYCcIYDacFLqFA2XKdEMBrgiwSWEBgmgeqpuaOZebkHhl9DDTjvDZSvcXvc3AKBO6FdDeCcaw4H0UZECMInLYTQtN4w43BEUK+alw8oSE2BUaIAhJD7gCWwNiwFdIZAshRpVCCUu6y05poldDTiIQbSCwqYOOG/cENtKhW4pjLgoPMB+wSs6CUi7EtPjtaUoJcxshBb9LLcQViOkD4etoZowKJHS0sX/AGz+JRq5BeFKJWZlcEJwRIGHy6xL0lEJzpwUhikrupiFQDmbvFPUX7FUCWBHwXS4OyI2A0IwRJRjRlhYvYTMjqvwgzgj8kYx0rKkKp0oKzSdBFE1hs6mIDGq1HySeGCCmqgVNQUoFjAh67x25AQp7VREPFtoJL0cQIg+ohvhwyMCOhQrCtxyz0aqL/SlTfdK4Xjq1UgCQS+06RQeVxawDUBq2VIAM41mePdXiA+QSJcznsEGBCXpF2ADjbDpWddYolCF5BP9Z1iCLigaWsFdcEMLJBgILCqTglA+2CuogK7zTdbwuQXgIGiYU33dKjEHqTEidAJIpsjgjAbnpIuSGEhsw+1ZFggloNhCqBcG/fOtorNgGtAWPoYjbCcSqnRSJ2ERX7FqUMcJ6qYWjKgPQZHaXCVraFYpaonVgAYCICNwVaQdgISS629SLtQltGIQEFoqQss1ARFsoChDLYXoZVRRjjS9AqBAkKJI8UQkrI4r9wtE1YgY2INQOLsU1MMAMWqgICsvtlndQpTXyjeOnyEl42GpBwZBtRRwKHztAelQd9ZGgoDLpJAu0W5SAQKU4NhBzuE8Soh6CncCABC+ntSMQ3BC8oACnDLpOrLUNFoCnMAVTqE2V3qtMD2C4P8Ad65RyBgtiUW+XjfQ4An+kRVdd/UUrEIobKdyoEmdaIxUIBEqmWikOrYjABETyjAaKIPA4/Py3IVFAilZXYoBQVMrWAiwHQhANI6OJAsqTVQHCg0MkxKH9LAFHAikThDAFR5ICpCPAYaIVMSYLAqwrhalkawqsHuqeWw6cDMBrLEy1TKofG3Xy5pJM8aqS7EdF6LOZQfZVlCOKsTxFUQNIUw1S+bmUGlC2Kml5QROHliDUEQ0qMSN8g+zAzQBIQRIEoPDO1N5BJmzLKw5AHwqspZTiipHUReiMEBFptdS5CKfs5Zin6IQeWKkLNCViCNF29EtotDKl1PQAtTBJgqYokKimoKLD9w5OicRDEgIBf1+BE+EXXjJYTIutvBCQk1UGSGU1GKcomnAXQQKLrF9ccl1SkNJDBdDnHbYbqVexFQmAy1cRkEQquuwZFF1QjQGEYjAOKBafiBMLKIHT0wADMsHQiHjOjPoBSAEEIT+pShoH4wMCmPRS2mjJTVyaAEErxJZJqbw4L0o/ArEUMlESCT0Et0L61valLolKQwBYLZILJ3zdiCoAEFyItCUoTzZgo3iYuYJpHt6lQUl4ZCFQwWLEUNSwPWtFBqAhAC2ZHonSG0MMg6cB1LJAkK/koi55YkgJSFCY9FEhGIn9kYn4BqECqkOBBVyMIc8plL004exQbyPxkJyABVkQ2aU0OlaCKgEmHIFZh2rsCDa3bxJhJtGwLoBsKanoIaBegOCrZ2IM415UMNEAqsoi4TiVKsOjBRXAAmQZzANA9QcDDwoq2j7CvEsiMAlJUjh75YISCKgHnSVHq4OYQLjgUXISOB1Ljn2bWTUgBFHLpuC2ACkOa8Q8Q60BH6UkQLR+hWW4wDQCA3AaWWIZVLQjkAEyAoVoCSbEDS0UplAtFeo+DqqlCA8RE2gC8N0SGFBc96EEL8a3ocSvAIxFZeIRb6xfF6sTDlRQp65D6aigjZcTToio/IEkmD5Tp6q8ekY4up7NAaEvzW0SDZCrElKACH15SIRqyuADUnQh4fBFYgtEQBICOOUKN3hof2MVsQS4zpAwCbAlryAUOAaKxoUwExX0DK9VyHuFtksVNXKLcN06zOqwNBVfRpFhuWtiAjV9CYglUBFAoBpAGACrzEnYoRJBkuwqlVVHQVlVMRWav8AFBarnC6QBKoAzhkVxLmqCEAKMtYDg6Qq1ItBs2gsg5bfMVRUUrZZopWo/JDH8JBgqCPS9iR5a35NJgb8VkBW0eTQfoYi2G+RgD+MNEGLpULEr29h0sSwRIUx4Y8giqlEket6jtoIG8rYf0YT8fyXcBgQ6AXSeDAFSCEtEMGUKoCCOyN8USENAhfHh+BNx/43rJiJxtlnEHRzREmVYoot0wE0YEoeGCQ0MoyeDaAqbDFZ5GsLLhY6woq5YCkWpKwSBFmF4J94mywP/gpWoVlLi/YlhEpMW7s1XXDayiQhhIPd5Ejl6LCLDy8aqq0ldUip+zVaAMq2FRySQFkFki1qaSJOCwVApC1OYUwjwcUpRyJTVGVqzOdADjcojSXUQkxGtutAKZd0KptPpJUyGGIAYoHvhI3xZJZH6g6FmnC0alMKAm3WBocLsnJIJUEICQKFqC6VrcBUgN6DStJUCIEiTLERo43g+zARov0SPCp+EmwjD1HxQAtq9CzJLAsVodUPIIERkcuElhTBQcICwUkTwCHlQcOGNNV8wdt4oFFHhK4gEbOHSQkAFajKDKGpofBGD2xRNYkFBz56B5GgyswdCqf/xAAfEQEBAQEBAQEBAQEBAQAAAAABESExAEFRYXGBkaH/2gAIAQIBAT8QktckQsNBeeXFr3wmEIRUJEPipVBWoOAQYiSBBNzQFBj+6DOHlsT50JGf4aDU+SmZorKAD4E+hpQYBQRI3iTQVKCIHAS5N4FNoNtBMZ6PXWUQKgrQoCSo+ANpcQyzU7Uqikr5O2mySlBY4nEGBQVyHmKGjAkjeSHBlsmdEIi0guREyYnGzUSSUljVBCJS9KdURwVSyqJIkUCOkxQkA8IKyLMtIerEochAiLfEWbj4GGUnzeBFllldBK8yGMdBRiIgYU4uN9e1EEFRkCAEgM2UzQJtVqaAwhAG00daFxHDW0cJUccr4txoJoCyZRBfGYGGNY1tZZSfi0kk2tKmCiT6pBUfCidWjQBCAUlPoUD8BVIaCIGIKT8R3fDSqzCDoD4RkMVKY3KiAYDFYdJyyYCeqhbhQeB0ZA7kAqOpDqiA2wBFQBY+jl2Uw3rBeTdmAwJQ0ShMslNRgKXpHFjgVo3xfkCCNwZF0Wr0gBgFwa2NWxnoCJBCL0w1aBuAAEEQIDB/MaAdlIHkFPCcqoZNMRVg4CKL1gOgGqgQhwRBAFTx9ASv2ohQODqMCM8IdIKgJC5cJI6lHzAyhkIRgYAoulEi67xsOuCQEUo/oSt5wbQuQGouLBUVzQYsY64JQrarg8BltmQAgHC0mkMbWpQ3JKXJSoiIIkRPBotRDicIECuyyKDIvu5GtOIAIANZqVWQ+UAOUcpIEVAXd8Yr0VYBAVBmkRmADE5VQgxYABUBEjfPwKlcBYwAhjs62eEaiRKFpUAooC+R4ucCJGT/AEJSI3DcoEwWIEHo7A+hCQRAWJFj0K4wRchFJRPPT8ugUSAULfmg6PszFXSAUOqUluhVqoQgkMog0RTJUdGwFhBVqiJA1tSitD2wJSQQXqZRlRikB0DRWiWOqFjyNVfUPCEuXhdAKtoKKDXFUqARAZiNj9F0lwKkAp0d1AOiQQPKATWICgrBApAswuxZaPn3iK8mmNpkcHh4qFInx8ZwRFDgS+JQYQkcUk5oinigPahWVEZQHCyuIqpWAXtvRGpQjgDEDGy+gZyiiYxAm03W0j30axRhEoRi9ZCqQB4UG2cf6zBJvpbTwJJAyC/wyyr6GLvu0RxV2NIyiTHRSGh0xjFRqDE6SDpYxUp5lRohqLhCFSkk8AKDwK5kBZDExSLZfB8x9pobLAAUtsEIZaC8FR0ihWmhoGC5BdDFpWGPF8YDAV7MDoA6FcXBwSEQqmQqq4M0saVYkLGUHqiii2KQfBT1I+RDKI0qsuMzGICL4iIqWxPp0AJdVHPiqQKIwvSZsCCYVQjAgBEkUOZ4qAAkCjvRUgkUwSQBAOhNaAC8qBXF0Em/IXTKHkwuAmBEMRr7+wPA2LIgER3CDaRuIASdF0pEj1UAECS4RUWDFovRvNVMjIukBO9NAUU8TeBiQ7hQNEkhBJ4euyFA/AcXhGazBPaMYNEX6fsEam4IxiKsoMurw4RyVgeGMmaEmg07ohXKkNcHUhWVXlZesw6w7LB/jXG8D2xaGLQ/R+F7pS49qdKUlRpr/TRaQi8xoLSeqxgQJXgGkBUOQ0TSsQeARjnmqEKIhWWpDVJ9hAaZUFCVGVbOEL7QAAyKWSpAtros3xtYJW2voC8KRJbdtD6J6QVIAWgggg5af3DiqrSiL9fhSgY4KytYJ2p4PhPhrgJpAajlGDM2YSxwNKiAARUEcii0DJcMRwv9gIwPB2hHQqIy0KIlQVSRhNqIa2kEqDMQupwNoSxX7IjsojHUBOHD+6OtDOBSC4SAiQmtfRheY/PGy/AA39hJFpC+Ee+YQImoVeO7ATZARIK0KxJtccoSJoeDYCtBONYqhYfgFPMZIwlFvMwOQVMGS9DHEwSg1NOVyEyDVAQQBUAFjCQRQg+HOZsmeChFhRQYWicBEE6RxS0lHfz+OKTyW6YIMDo2lsWpBKDEogUZAY+JC6S8qqiTKGSFtCKOKHmOkA4AiwCw3EWivj6YhIBEo1jBhHiah00NErFMNAMCqAWeEqkAQlUCHoK2cI+docPbAlkd+gAAjwa8a0AV6sBn1A+oipeYNokoEqIfoo+GCSPwPjEyKjW1iAp5eXYQoQ6MRshwEaK8FDRUJ9CUOl+8Q/gSkshCmIC8AeoFw1uXpU4IMO2Uh0BYqjllKxIhQkAhppg8CQJxGJM6VdUoreWs0PYmpSaDCLSOhXhRZIwFl08JsMKI3EgrWSdRgJQwipRnmFr1aghEycN5BweCyio0BYKBMoRbqTyfAGIAQ29U2lUptKJS+2ghSQkjKmkQvXsYSLE40AIqA4AhUWyIKAERwStTilAaMVAwzEULGACwATF2oLoadPgAQAvWPtAJHGChipJp4RqgLV3KJo+CqoPi2uEAeiCbQV9RQBQdQInoAk18DJtEPUoGdCQBQAT+yvkRwFDAqMdgE4NQeEVLWEcQKdFQKDH0johQoag/RwS4CYeIxg2gqMMA1hlZ+jXoCKSC5YwhQ0sTR4FBppQ0hOqPhALRwUuuQBAkU2LBlfp5exMsQhYlWlFpxQBegWJFEO+uhYFpVeCYUI3S4gKwg0KhhMbFqa4ETVJRHUaSGWgFpQt3BNefhMQxQEEQytEA6ASeexrVXtDfLEioVB8ixxi5VyQEAwEANHsKBRCY678Q4LQeDRVGVaBFQjTCRAAuJwFYAAiAFgSKPpCjihQqEQhMrNQPG8oYSotdwjeEbRAlVPYw/wCyA1OB4ICoQO3EQW6SHZAoqxOQc+ZVGwegjjFHyLBKANgYopQVRqE1rBHIqJlQ6Y8rBRoN1AWqYAyrkZ7/AKvTcpQiUILoWGrpjiKQ1GMAlhEESsXXs0Wa1A8BkCKumTBg/SQ07kpUtAqS0o+ipdTUmUJ9vJDMHTjRAfiIuXMQaBSxPgUGaoAIHaL3nWKUygyiRBYggM6ocEDAMTQsAh0kkGBOsSClRUWhIb4QzeyggwCConAF3hUKiakKIWG5PyWOF0H41WIhkXKgVMMAUUSgYiiKmwIfiy0rugIbKgkT3OCDiJXPgrQNGpoL53HSiZ/BUMUWgFVX2rEVz1MKnQXVE+wXbA6QkkUZUFQEbBQkWQRVAOxxIw2LSr0dIGBURZ0rEkoAG8QpIMdBlGBz44r4UDgIQ9GVrKlcM+CpYiQGPdg1taWBFgD9DkyhFpaIoW1DYMaFJUjlmAlvBAMUhKIXFpwZxFSFwHhXEyAmMAJBIyC0noWDEAJhA9QAooSRKKxrahKoAjqwMQGhLAkFToDGHxYaBzQVYIG0ZPoIEU91YLARVgLaEYgJlEwKFQKxKJI6oj7xBfZNMA+lAJgEfmoAgBeBfTQVYtzkjVUAOMuZ4gELkkETRdjQ/wCoKCguMiKkAoEUgpwkS+AKAIdkK2EThgohAMUMFAKqFoJAMYEnhq6tQ07V0QIgIwYs8qN4uL1bwJqgAKUJLCSiwvCMpSCgUDJubUBDCw960eca86v6MyqkSghHlqCCaZFAAGIPH1iWDTsBYAddAltQUF8A01WpWpKNKVQ4IBjZA3pVlJqEB4UTz4aq7BHwUAFlAjaefAE5jGQgYZTFKaAPQAYImpJpQCAFD4XQJLYDQ6ufVaieoB0GDMTjigWKCWEKMMkJLo9VIQJb7MTJY+mAawwiOpiAGDAwlloCkDVIEFCJRBTnlmGwtIrXFLDDEK48TSLtSyUPQUUDdhihHQK1ACEGBLuDKkgYKB4kMIxBpjsGuOKK1ubPAirRlF1akJGJmVoBUEpEoQQAge0J0kFiGpGYegIwhYQ6EnsBzkPZdmxcqJaaQNgAtIgKJl2wqVxTQUTCxxDrwOTZFAXUGINvUFeuGIIOlCGiGCDBPJGctbJxbMOjgTTyimEKFH9KG1QiAk+0dYYVQjVCGjCQx8/uSAZ1R1EGJlQLB0KgcIF6E4GgJfgSILhWAg/1wUQjB4AVWV/C7qOKEEeX4CXfQlNIvBpylBXFx2PhdC1G94pY6P8ABj4wIv4fQoiCauCm2VYLijRFF36dWsqXxdiCZKR+hgjJiNj8AWmWsFADLqxiDF54kBFagi1QRR2/oUSC+HIECZP/ABokCkPfcLYUNSU3FKdJxr1UQWKxumA1GjpN8CTGFQkYbgKvtIcbvN9VDWodo/8AYmxWVcMVC/gqHgJEV8GloTtaIJUrDWULUhMVEIJKKAWhCxqTxRAWHrohSM+hEYmeGyckMGnWVC0BgAvijR4iQHBGpQBEZGcReGkoKoClVVYEeJMFNamERGJNQ2aadFwhJBVloVAA+7djGxhrxXWOjrHy93unJpXAgikoJ8ZuG0AUjAi1aS4y2EFfFc0KJagkUTqCRJzBBaOiJTiT4GuSBBoiSEIECi2IeQKwasSqOwxHZGA8WcCNscgpXQNDy5vUhwjMr4ABoYkyv1zhgqfsNDSfHbiQ1SA7nasoWgXyIDDARBUKFJAI9ECMI9QWByR6JQVREAb9E2qERHRbDQKl08vhKYOqBoJUrQJXopO2CZC/d/alOeEmWGZUVdp0EONoCirURKBqigbSwDRWFCOwAiThBSEqgQhOCEgU5I0uEenqM2rG7AlKEgLgovFQA2jeLyMUsAijF4I9FFVNo1pRMlJ4SNSAk9glVqKDVjnhOoK+oBGRaKIthTRSMgoFViK6UJTERkBKgZQDhLC8qAFUcORHxSoCS9R6G0nA1i26FBi8AhFfACf2mmclm9iAgWapyl0ovUpFJGMaUIEvSAIgI3xraaHwRYIgshghCSfwGj4LTpoKsCIeQAs0KF8GuqcrU7RL+itIQNJ2oYdswAbREOA7cxSNRGviWgCCpTWI7GpwpZpXCVSwfM+JT4iwUwz2zzukFAZlGNilQQga+QMEeGsepoSBwk9S26aI2qusBYMq5Tw0zkSG8LcRciOEQp8JbC0UcQTMxER0kfGMQI4b8BxFOn7KbX4arSrpFtjMUP8ACOg2StQarAxCWpjLYiQ1/wAFdMR1f0FYoaNAIpkpriHCgHzLmCGbYKKjEow/qodVGjygUBJCdp+h8jcBtPc1RhqzWAcUWKQLRBwoCbVVsRmKUFKsoIoCStAG/wAZNKwUIHzARZcJ8glioWMuhYzWUfs2IRLq8jqGgfGAFCQYI7VdAoSA+3IoQRqTaUTUDECeVMuwKdc0JD0A+LpBSSfcEGQhRAAPOUMoShGhLbcocYsCEoMP0JUBlWj0jxjBnYqhgIQgSZoDlCrgAG52iGAVQT6PZVDt1TZRFUS+DCUbjJClKUb0p75rAoIZR9FQjuFVA/gCKH/DEGCOoa0JQ16B4IOtQy2hX0i0QDotslUkWadIx3rcBLkIFT/BfAlIiGgFPGBFisdJkyh3BUHS2jq9FAEziC1RbB4UFQoACA7WEKCkK6SqGAAaSwkimRoalCqC0cCERALoBykqKfx6iRXi2EEZFPxINWvyEkKCAKqRoPgGLEMwXRAanEBA/dUmY4OFJVs6WuQoKqJ8vGQ6aB84CAYJx8UElIAkQQjPgC3LUfN4JBlASQY50IKNp5IMIiWCNw7iCwL4FBDRpgBEoCYP0N9cnAIAVFALoIdJUPhgpYyIgdpEdJjHxURM+UpAIkMXAjRgNQCmGDDLUOBiljIEbunANLPfJ+k88CMKOGFl1Co+qOKMYPqSm8EqQmnsoOEgMSqAhpkEYU4cgV0AQT7jA2mAEgMbAAXJHJLXT+ZukqkF6CZZEP2xEghBlytKB134qaKeUhn8JWa+TrYpwfCa70FYKg/DIqtIf5gsAPRAltil+LwNQQqrDREnBxUUKSKy3TFUUJEL9pKehodQlVpCSBOohVFcgC1RSxUmsKuCN4WKfvQomZrZStKqu8Cijth7+MIVjRS1HQxn3xdINVWV4gd7TCdh9SLQLVIgTzHUAN+vI6UYNEA15bnVIoVgPqzRuMIPVwpGH4eHSlMZB6DCjgGalxCMrBDMMnjlABRXVbRaQr4WkqEEYEBdRWoOFLWYATzMONFM7E6CcP2KMfCJwGoociKbfaExXapbB3+/qmKcrAKwWiEuGmUJgTABCEfFmayKgrTZUWPGBao0eYoFl/Rl0foqqQ2WAv8ASP8AuIhi+ZHYh+lkQCihXEVZ5qw4ehqEJmgUYA2YrsVSxFAqMsjdJ8lh1kkq/AUKBEsGI8TmdYVLKYjhKkiF8nWqj6EMCI1gLgFGCndHD9JAAVpFAQ+O6AFVQCBQAIJhY90ymCO0wAFaFUAymDVlGBUaYfZXuaJUHwQ5w0KYYMuEFIsuWMRVagwNLdCB9SsFVQCCODCVuGlADCKVN0I9IKAhJfDKqKBzigVAAD9GrgLeVCBaKUkNjfiAwzpLTVcKqgNHuvGpPlSRYQkSdPLsloCGoN6gakm+PAMmGnsRTG0jbcQAVOImdQJqUF6D1Yk4EaACDQ1VlxgEx4FgI6WIFonhEIF9nHQAqoDPX3AiqFXmdJUU+qU6EqjTwigUCgRENGIBWaW0GEBgePqYWDrYliIK6/QgQEI6IQSD0C/IXJgWDr0ClNPURO6CkCtEtYeRTQKNRZcoAiVFMBHhmkSfqSglAFzKql1I+ZRM13jSC6qPA+jj84nyJFWtp+CBgYgPB6XrTFNkJhULSIJ8XEpJhYQfdHvGu5eoao1dmLU8ijQqoQzIGfATOAHnIlRT+HQLg4sofPEh4hjgETIJBmBkTMQMDRLSwSQQK+w5wsiBFu8BtLCgqEqG7JraFdBTpUepFZAnEREMKQSEFAcJkhjTgIjiQShRVHlLqAkIC4iIEECq/SEJAhqIHFYAoTUV1DRV9UWOhyHi/wA/YAGInZMmKp5YMvUYMcYEZiUVRARcWhb41XpEbC4AQfVbSrLpRxcBqzlFXz9CQlyIRaAoSCio9CVWI+3C9nfsyNVgIYVRKiQ4y3CuTQSwG1wEL3CGqbQBSw0Fl4AIvWiFRPuDR8oCWP8AiFT7HiiTcFfOvzLij8F+aEgOa3yCMZVQQKjYFgGgOjxgNNHA0WJyptUDXHnBhUeFRfDVa6+JqXbao0gUkii0Grvqc1GoZoClpAbgBsy6JAnRYOcCBAkPAJ4GFamk+ABBh0je1dUF0dUjIIgX9FHmNUdE6QK/WbrDx4k43JaFidOJEAhZ2QMkFq0GtAEBSsRS6Gr05JANQIHuEEQIhQQdKmJ+CXj7StJw0Ts/hxmCGi3ETpN1BUdiGJCUJqWMzE0CcOwAVlEQUWpMjRISKAStyED7gICCZs1Igi75ALRUWaiggJwFVrpgoICgmS9FCXYnW0Q9SaSLWgJyw8JwkL3AAH0pEPetopsNBAGqkq1OhUeaZK1AQQFaQFSdK5jcBW0X0hWKHSeYRI62kBIpkELRj9OyfkFB2Pgej4LjMW61BCio1D1PUkw0bwCRaiaDAUoxUus0XVSRMnAnQ1Rr1ek3GRK09aVQdgkqpWA0t/XQRuARgxFAcHDCTWusyfBhT8RTDQITFjVGsgEPX2qQEko8kTD2oKqlGi6E2LMmNKtoxSDAIRMlAZIUKH2FBZCLg1CxnxJOaAUtEJTg0J1gHGAVG9Dg10SAOuIiBE0ELC4KP6l6ugApVgktZuDI9hg1RFBFGv2MoaUvo8YXB3AfR2BQIifHUQqQM/iDnCURi2u7QUIaeClgKm1EpUAUgNKFQA3y7BVaoCAOFo1kqnQSIsCM1tmCanyxNhZY8QCwK5aQaD+iAeIKMYVQuhGAVPypx8tFDrgXJMYkBpWyiEIa64KA3R8HagqSwZUFehYFQCIXGgw1SxoQP0E2ll/AElSBpdVqmIDR2xSw2gyKDaqDD0UBVdrioGCP7o2CKy4AGA+rBxDFQQRBR6ZaGBwNiVqQ1qSNSoMEIFhU6ZtBcmV8zhEowQYV6obADY4B0WukcExiIKC/ENvGooxIAiGReB1rXXmamBVMNaq4bovUOldySgZpoIzQCsrz1NUwANUhQURUwQ3pdDU4c/oEG3kfVgFQgm4AI0rEep4eJCmrQdHI0aBEvnokaSrAkwLUUxCieRmEfgkUwgCECUkBJEoOwRn4EF0Q0F43bVHdkhfIC0LQfcJYTOyJVH6nHMhtgOJARdgAKTJDFGO2gMEINBTaEj4cqqjRWmUGSLCAAiEF8gAYIUWYQ2q8KJXC0UabioO7T74IgywtQuFBYkkSUKcBfSQkpgxtAok817VLJMELgSEJML5zsH/0Ogi9UghA+lpaVwVd0ICxioEF8Mo8OQjA4C0J6AK3VEywJoDg6GiUZmOB9AXDQUFfpCBf4qCov0EoDXASPUmpBgjFKKCrwmqXuIJSF+qvJDVA4C6QQOCBELc6XwTyCT0JR2JHThaAMeMjA9mRxAv0gkL+gnSLqGAj5RMB6gRHx1NKPXT6gRijhofbtBEKeoVb3QXhGeX0EQ1QtFNDNYagWRuNDwOkURChGvlV0Rej5Hxg81HKzLKSRUx2IAVQK9iRWA1oUZ+iYWjonrqI6IRb0B5DUgpaICH7IYSyNKiN4EC60DEHM2oAxhgEaUBhOnmlowmsZ0WIHynEvxa1gQqXgRG3WuhBOaKGAziqlLyiRUSH0BUHmZiBPg44kowKlj0FIEUeUlECigo0r1AMRqjnH6YqaMmBAIwqsAqqWz+gm0oodYwjbsQcEUQvyCItIjxW1lo7N8IlBDg0Z4KBB8kiFNgGsFNT5NQvECCi4KmiikaOpCphFkuVRQoBF8YoJIixGEFIEemlYfBTyAgQUUAq9DIjJUsH7pWggQRTQNGkT/4J5WBTS4BrKgKivNIFHIQAKXSmgg06+D/R3ACIh2wEVPlBFdGhAuT1rDeBGyuiAkTwcJcoA8igi8Yo0vlf1Agkb8IQ40t7W1GUKZafo6AKo+HRkDNPr79C4ZSA8IgSBk5opUDyB4MOxhMNQqiwqJFIm14AVLSdg4rGPxp4DZqIjGjTNYAKDHTcW4KUNfFgH0IwhQILSdHoNJEjITIhCQUlP2hEkiKmokDiALtCMEV4gvnSDkgCpUsDp0SJ5g6kJI0KXpJ57NWuERgEitxFrTS2h5DlioGmLMRlKDP54Wug1S+C/QgJM6/TcYRgu6wWzcMUA8nOiCAKsjkKxIPSYgVC364lSDBKRwABQOQNQDcDwqL0ek/QCQCKFgiZMgJdEpIolRxAVRtFR0cY+wbgRjSrFoqNUShK7pzcFCmUCh5kRDQ0EyFGxFlgEZCQJQgHxoJUai0+sLgF0BVKIqKIZhzFBDY4EsUoNoEagc8BEuJaf5WwRjoY7vg0BVAoWKhCligH0plaDAKf1FJJSVrqY3cQoIiEBjobV4CyM6quCsphuFYlPXLEiKTSYjYFmnyPja2VYgiB/wCkUwZQf24AWmijJGkHoKSXSguH80miJ9kz186hCprG5dUSAcA8HDdGA1k2CP4klU8tUrQW/oHBCx4YCeGAWaEFNA/DaHM55DSLBCQUFhelB8tlJ69FEUNIwCO19eO0UqqopVf2n3Oo9aCTFQrRAFU6gADWUCqAMUlNAtLsIj4IrUi32Q3QwhLAeMe6g5xiTZM+CxIkchjSIAJRQUAgSo9wtEM/TerAKUAkeG/Mwgkku2MbpYGgKgo+NPJFUDWz5siGWSIaPQ3UEMgKleqgUDQaoq0/VBEnh4aIGKKyGoGzd4wVtIniBqiXxogx0DCyWjYWhiP6LpV8gShdCmBMRZFSSL4guYMaRYaF+h3zRkRnpQGA8DAOsaVtbEGHLEhSi8G6L5fZdbFUBa/S4jIfqecciauqjSKoEVR7YyktTB0A+ABANeFkbTGKhtJtGVbsRBCw9GxKPpUEQT/UsEAqo4AtIkz+noVvgurOqDphAfMb0AkqAVCB0kHlwuNs6b9mMBalCuqqMx5AKgBHpKPfdlxXqIl+AIGDR+WEqOHuKMC8BExgvXEQhAGqLAhImEgHGLkQnxNdAYFpo+WkcjCtQVCAFCbIPnuNBUAJn7lAJQCWgUAvJErADDR5ItAgY0wPgmEfAsH0QEMUHzUFEQAW9XTy6MkjaHSP9GYlEz56KlYxxVihMbRAISZ0BVUIxA6CoVC0pLAqmwxQFAHIYpYqfyKKONUboZ9DYECTwnxad5BDFA6QQ9pNSWncnAM9OGcZLf7ALWyQRfbVYvLQg0QtH8E8ER8rQWKiqh2PaqL1thLAiRKQ6RQmBYPHwghJzFtPwAAgnitrZaaYygYX6CW8V1EdowIVQRUdRAZ5ADZUfhtlEdQpXiU9DRVsQaNgAdAPjRU5RD5qVCNKowPryzokFAf3sY+FIPnW+uhbIhTTAwNADw5T9MqRRwih0sYoeRWbuwbK8AABQonuB/lIoGqKULRI19OtoRRERYDX8YXPARaoTX2Dlqp0AXg3UGKAw0sW1GKCAcbAQ6LAGKvGElHjR7SFNIzW7yBRFn8SQkXToAUtnoAL4iFxxubA2wFIVC1PBTMgg7EbaDwDuToIAj0P7YLVElSMhHP1pfhB+oB9uNDACo4rYlUuF4fH5v8AqpWCoOAMCC/FQtRAvvCpHTTKR4mcjuoBpSBCIhkL410m4IK1hg2AsGKaaJoDbZok4cwgofkCwa0MQLtgoEjCX+JSAAOrhGCjzoANnEf8FA5QQ+QOjNWVi0IWm5Jwp+G5zEGfYBARkHVClgZhFJS0IKgyK2CVtaBYZQja4K+StdgIUIAJFYJEWLRu0YoixNdH0JAIU8joAfUmiFi0panvzQCBuRCWkOFBYCBdNdjHQtcRAdh6a0DMoKKuRQqAQGwxSMVOrZFZegECXyA6L1gNUjRRBAIgvxQz3AVgiK0lZIFBryMVJSgCrBogYKCJ+NkwgFBNShAEiIU+IOIoSbRuYFTBoVmHmqBT60pDAsivkCjKwCQgpYCFRWB7ZKRQgU/KkGC4dgHkPFcPUoehVqAEfHPPiEkBS1T9ib8hQvtSTy3BXK3gAIKsNagRmXYT5ph8lBuqhivFxV2XSx8IkuIC5gsQ6rRBQHtLuYoo0M3A0KSFqUI6aQU1CkaL+DYiDS6RFCtm6OIo8IEGC0BEufCFqwVd8SVu7BVWEVqoiLJN+1dgriUQIkoAgHx0TgyNAZijhpVYiiKMCTlqE/ACwS2hudCIagN+i5bFDH1pAAg1SMY1tH5PKdOBQKgsIEUjCUCgnToKIBiVcE1BT5gPwpQNNSl4Cn0eJjWuhNZxSAUHIB4JUPAaPI7GP0bPio07pzJ7BSIFVLzuADbOnVpmaiPiCKa1cbYiCAHKWqfJdUiHoZRf9dBcPCS5UYAkL5hfSiQUtS9o7JQLKpURYHgdAAMKIR1qwkDgngVNLGBKxiKrRRwR8MaASDASDgIaQOHloEUCEnkKqCqqp9lWmSf0YOmNZfBL7ORGAoFUTSi6DxsMwuLoJOyAOKj5JS5SXDi4ADUjWvAiMAUCCAZSmBAlEILVB/YANlJMAuELVSAsSlMI4gJB0AFQcSQVaLfgRiOoFIkMIkQp2JiBEUPCOqYEClqKAvKIcmnVESBWENo1ESBUEKJg+DU1hGkBM0MaweRSoHxkYQMiIXABYzWEUuk1EGmqLHmHpNACMBWiNIlNA0EoAsvw6i7EKgoe48M3oBwUbMASj4CXKBFpEr4A8BUQWiRhRLoYXDAEGNrSofm7dgEKCLiOj6UrqMqqKpxyYsVaVEHymfLnAKoSDS0DBJ4AxhhSdp/ECRKFEV0lxr6UgeKqCUOAfD5ZA4gLIBVpKGh4UhQMmEXCfAYiJ6D7qWCroh0BKz+KlNZAgUoLUBr+EU0g54XSDYAtoICuIPR+sZhNGDgNQUWTMKBDGAAWvEsZBPry06QJf+qEpaWV6xFC2UjIq0QEgaVBGHRVSsuWK4RMT4FGXGHQhompBQL4m5MRAAgAYJQMAqFMkKkzCqIK6UjEHDqFdACcOiKAgoEVSCXBB+sRUVmm3SEKThIDCQYBtDAIPBIuoG7NCiaWL6U8fSXaYa/SNqoVRMCiQpQzl6gLRMhBcJd7RoCkQpmIQYRPHQYQDLApgkIo1TBGEl9em2KJWyUJ4CQRQxsSGFLBIA8+OEQhvSXQXKDTGFKrgwMRRQzNNQLyVFpAmWCuMcAYAfb0MgLThjqqLpHgej97pAMvyUM/o0U3BLECIBC5dfnxAoyYYtJoFRQaEgAUqIYUW6gS6gULmB9UukCQpfhEDROAJ7LgqDFpkAsT/QHu2wAFMNJVkEkKRV+H3ou4LEjUoiijhQX+xErU3UWhBsLgvmAXOLpRSXTYTuqbZUCTioI0g6McHdNIMMJQu0wlAKy9gBKaFUQgci53b0SO4w1agjfAlIDDJYJQLLCBIB8iP3QqQx/EIQrXzSSZQJaCDKQagxXmEVkbv44ruHXQ8JYM0ADgVlAbtYEK+VapIddwAhgqjzUlIg3UjCAEDLfMTpQUg6QmDH/XEuRbAsfFAW0tuaUHzaAwQEgCONKVQJDgBAOKS2xDAbQYC9VxRMFQEfQYvdoaDVIBZOkXyEFaitOjzkH4CKEAAGnBByQAGCiEx4DAaIutsLsRMIZQgmG+C/UBGwqugzCMoAnhEBi1oKbFRFCOmAZoURfvjEJ20FBVfJqtDySxsUksRAIFiwGQEAEgwlIJgWCMekMDALgWUTYcBoQRsDkdLTnHClPFTog0gk2dUA3V+Yur4CAIpA0yjW6ghW5mfVkq/oNVGjHlA0CpORLVRIptbrnUE9hudUSaASKxHdE1QV6KACiZtIFnHRXcDGklgNBwfC1VqLAKZ9ME1Mj1GyWAJIWwBDYjQR14cAFATA3GAhQAV40EiN2eElbAS2oAK2RzMzChgDFTpTwFzeKnAxpWmAicePo6OIknUQPyAhMtdlH0JauLCBRfCICQpJCqGsWkUofNf13oEMSEAkFj6JUwHRA0PxWJCJYaPGwoC4aBRgUYQUcbwHMCCgQnit0S2hu1eS0AyUpYWEp98C6iBjUpliCEXCUAoAaqzpZFGC1ZnT0gNAZkgjEOXUSWStj0NYUWCiKNJVqU8TaKG1sWaIUrBfSKWWMDou04AUVDwVGgtQLEawtQrkEp59NRZMJQomrgpD9DPABipDu08VHQwPBfoAKSAHRBlmwgKJstSjSG7VbM0jEydREW7qGi7WrEGAPESIQ4jcSCFHRrdBBq10wp4FC/GrlpclKNxWMIGiIRA4ihmAItr0CiPBsKQcPgmi+W2MVRCM9BDQQzJqwwAYD1pZGpqLQDGoK000RE5FZCCVOKEEclCjTcCCVbmBYVdOgwgoUQ/OqTQFqERFdqmKIUqiBFAXg84NZ6LA0pkNAlHgUNR6Tq1LRWy/A9eLPJT41CEoBWQFirzWuExLAIBGRfYQUbAVwhFDUjUYKOdscsAvsII/DOVaJJpS8QqK0Kiflgwok1rQSAD4FTFX6CXylHZqpjiDIvTzwzdKDQQQp0awFwgRkqbAryTbrcAOansnp8jQsCBArir4EJVlhN6FKNAoCMhg+jCHEBZe1cNKOhxzINUFC1gSwB+31dn5CBpXGAZLiIfOHiCBD4MpQRSlAopiIqCiqA1QEMZKvjmgA+1WRsLLOBw8zoqwEEFAqmLEC8pYzdUBXpCdJacCCo3jCACEomFLBOJQ1NBeshjLUJGEqm+tAqHK1rVSpVYzFAUqSTJoiqMjkY30rNii5jBKsCQkA1RiIAKj6FG9A3QKOABSBUXjDAVCleiBsdIc2oiASYggAQGNtrb0BLn8oP0Xz6qgFKAECytYwZ5A0boRWgxpX9UoR1tilShTNgGCKoD0jJ3AOHBWipIgV9sJBROvwxSSSrIIBfHVoGhgw6aJlDHYpOAVozbcWa88eGABBgqDAKDVkQPECRWMJoIIIMZGwIaBaEQ7TAAZiIWQfRR2/aaiusT8IVx4nxnhTgChaDuFaeAic1FsNTjsTVra+oEF0CXYyTnAEo8krGxmDiIwqh/QNw3bViYzAgtRFetWJAEX0LDJKIwBU+CCghEVqUQhQURBT41LETiipAoBp5WUBDFThBMjsBaKhPfHjrQGHwDIAgJx771YpxE4GaSBn304BygF1CnUkx0K30EzKgiimBwRgQQhEMoGVhlAFPyIS5845a2An/AMwEUFQhmIlCHZaBUxFA0xLM0IS5RLgDBzF7OEIsjVnizrCtwUCGAYqm0oNBOowPhMgg8uCRVArcjLIQA5MaEEsQmBUBW+OTVVBgoTtBVu1TQeheAAHkARNQ6VXRGjVKHwYH6N1gAfKgZhFoykqAkhRFeTkBIgQ5wHTsUiU8k8ZIFh3EIhnQGhBFqCcsmOLuiU1xXhigauQ0CoWWD5NiCRcLIoRYVR0oiYsWKDSEAgjSBA+jBIDQAmJsgUM6sDuvu6BhKjUUYEPgr+8IYha0cSo0iPgBcCLmEERSVixCr5Aw6QFxJWpAR7BaAENGyMmQS/6qMVegPWiJVC8XRTwHq+twP5gikaLKSFNSF3OaiJov4iNTVXnQJQ0FAxAGRZ6KPQWx1gFdVRplRE+h5SSVAgg6sL5rxI0YrLgkJrQENAAxiEPMKYiVLAiBghgGCIYe1w1WJQTXBtJBWkPGrcUFETBqAAAdU0moDVLgQoEMsRqGmNY0SxmSIoJQqQpKvhEttaQKKRKw1aC+RUCO9p2lRbTQV1fbB1Guq0CHCYcEJjU+G/BXUWCYcelOSaDAmpWWpFFPDtHRloMx12LOD4VCgQVSloOtA9YSFgNFq9EagqttLMUkSRTFaxpRRUENBQhCt7vbfdGgQxFKEaaAqxAGIGTiEkDdQQ3RuRhADCowdkkFoAAqrAYYsNJ+bBmmO6LasAL5RE0RhBeBSfn8CMAG2iAWEAxWFI0JXgtZFEjggkEaxoijSoXBCCD4oWIFDlnhCUxc1jUS2hASoUeTvu1CAKmUo6QASePjJUfEQiFZY6N8IPCHAuAKATjGNSEK9Bw2mK2POkBXtoQuAJZj+sKifHEnSkEoXAVNjJrECeLplQCQjUIIwMKGKfKY8bE199PI9B+OyIUWihQMNR5hQvjpLgTMEpnygQEVNkQojFU8LHdxKPiEU+2FKiMNnxkendQYcGJEay7UVjNUW4BwA8nI7t8FvDBcGEsaqHEaMPjs11UTXc0h0UWPnygmMCaxCMFgVVpRRXhYHFRQhVQKgggWkhWgEwGFtRRArYVJooIGgagAESq6KCVfBIdSqQBE6gBGEGk8R4CRWoMYCIITAzPWcPCJkje10IIToLVsSRAoMN6VscOnovmAqAkxigCC9EgHtbtH0XTovQ7gHTFlvRAgZVRStHnlsOSYPQTCDcBfC65FSgyapQPSqY0GUVEtB9FYGAUGgGbyAqQrpgapGZC8VGBuYGnQi0wFKr4EkJoQEpLVUewrq1k9KMIVMegGP8rMTqs6rRliAIRSHbwDF0qg+FS60God7mJSk+QlNoKph90WFdi6AZVaZE2HyYgrWCtVVvpQBCniIU9pI92GE6ZBor4JihA8giIFnahAfUUSOoiBKcVbVrR0oE4LqQ5ENRYaSMPC7Iv1ESheyqRIBCPi1pTyp1YKTAPjlt+LVuiIjhChNKErEQrJpkmBWuQCAQJwngQKAIgJ6VKvIBG+nVcdASnpuqKD2+EwuCpacII+xkAZ9+HVEiH5i6UjAYfElLkNokEE4FFYHgCoDDnW/WU0BpBFnx7uOFJqDQ3aMCFjIFThAIUA/f6UF8egk1CkFwYEpjeE8FAwiOJAUoWBRIngsyitWABjBYh0jwEadq/xJKUi0AjxrshF8Tkn8UWQ3oMAFgiBMhUQeFyOGYGBkjbcckFHQQ88DQAVSKu2CMEYBKPVJa0NHcBIKuwB4QCAgOlRCT4xDusHXfgAo2AERFBnVA6ASEiIrQUGVANrEXmulIo4pBQFXCNA+rrVIVFikQUqkAmRI1c4vNNEm00XRoVPYorLEMCiwBaAUDyimFHRYyAMUATlRYoMBQvEiIQJyGFA3FnlMzRVQBzcUBqCRhUrCBRVZVVGj3fgilmlJibMgwfKOUpMGCmTRxVVE86XTHFaEaQUKoVT6lpBRBJVAoE1oGfb4oeSEGAIKiAq6SL7THHILk+kGMQV6ZW9EwohhkHkhFIvWMYQIIpiCEcuA0BL0IFSFKpP4fVg8ZSqACiJRCoT9CrNBgR/VwpoIB0QKD00GoZIB+ChlAjhrNPEFM6eASutQUaWHia1nJKXAgCDpYjReHt6hB5mEJPgBGJE1aCgxkWHLBUU2VbU/JQAUYF0w8WssIIWFd2qqrTx5Az5mEAACUjREZgfGu4FEvBIUoO4FF4fLUCw9I28TYEUQFIWNRwaNJqnSEkewB2QTgKENWQaBPQQK/SiMA0RgaCaF9JwYr4bgBUFQEIZPEYKIRw/XwPWkwD5QCGCiox3VASVhEoa7YJgC0VSnSwhcZgGcclBG0BTShKedpIMWC19HDQmwNiIa9MhLcjtWBKKo6onXB8BbOhoJC1oGMYVZBiIpZYrVXQ6Nig0lUJYg63wiVakAIroISqgBiHlQYKKuLjLgIhNMRlJDTsGN8klGKgHQCNjo5irQBdGSJ9sKAVEDqlKhwECBF2bDGOsSKQgIMQkfTQRBdiWEIsr0FcW4YMUOGPzsMg6iJ+2tVgQAIRhlVIAICRWba5iaUo0A0FSQlBooGiGiKU+F5gWlUHHyjUMTAooPr23HDhtjACI4HPHcJASRQ6JTVKpgUp9Rxa6N0i3SySRW5BgExkAKqKv1HkJDg9AIF1D+CvKYSs7FAetY4owIQdLYgUEFZA2KMiq+BcgKUAEASrEUdAwIF0igorkOR/W1Ox0QLiAf6gVAA1PgixcCAWtSgxChAedv1RDTtLbVRgWoZAQFbvKQbkXXVwN94qFJQqpqCaF40AOtX1oArJ4iopMUIIjYQLswDwYh4CE/iAVEBYtDPkoCGRLSPAr+46JRNsVXgdxrFijmkMAVEFHxs9GwARQIAAxPqUmOAGZTUaEYWCET06asQEtr4stQBFx0AumGOrGHQUp4dJoPP12homNXQ0Gga1ZAoiGioVlA0VL1QKsVROnJUlICKkGFp1bho+cqOQBcF/0jdFj0a9CrSt0JV8CFKKiDLoP7PAoGgwUU0gEC4r6oLLAbGN961UWCBJCMQBkZkMFUKqqK6q1ECGqCUEyASQ/lIRhcDgMROHgkioFSIUdL6AuJAo7Qz01hVUsl0pFAURFEHhzyoQzWDpqBgB0Q8NpFFH5jnQqgRIpLKtr2LEJQggP2NXT8CaAIZ2GhgWGZUVs3lowUBDJBBFG0aL0F/SjHAqUDx9PjDiXsp1kYiR05WFpMRBHjdQVapbHDUMGpQEEF0EXPUVEZE2qJWA3ggJ5A2pGQjtoLuMhN8uAkEqSwHV5a5pTw6KKBRKYiIp8RgBBNKqyi1WKgt1JWgI9pKAAWEcOWBGioIwlWRBAbWCMQdVDoRcpVSWjeOkKx2Na+gTohgT6qojSjQR3WEIBMWcMl0xUIIjMwVAdYArnCmvRBfKCFgorsVodoEEEHWgS5IRWFHyASypepjF9qhThSYGAKaC6DaXqxiKoKS4/IMGvGlTokVvlgXgiTPg29EpK0rdSdSqQlQb0JPgAeMi0ycB5ogSkCighE0KUGWKONCSKOy8M9Gcmil62lAkkl9GdmUE0QTAx0CqvRk2uvYdxlIW0SCOFCGYeV01AaChB4HG5BNiNR0AlSiXykA0pQECnCoRSAp4fwqgCWOZoCFOLEUEEXgO8m2KnFYQvzRQ11fbEtB+h0esSaklEEExbfpYfVuIAMQqFlR31cVAmCE/1oEgkDgdaLiNUaOgYbEUw0MIXadksEBpgpgoI5TDSE0CjhjSmraQPGbdJVotCKp4gIDrgmkdK6LUKOAfFBsqMIQpUkY0t1mKRE35Ow1s7Bi4kipJOdK6oFRVCDC3wBA7ADjWSnRR9DVOVHf6jVgbS4+UDVD+ABkUKKkVUQphDFdIkq4oPsziIGQoVyyEUICIgIoeJWD0gHS5RxpDThAgpj6bcNBKWRUKLAYy0B3JaNoLDoBGHxBlBABQDiU1PuhlK+iEwFAUCiSf0D7EAUwNFaUKKgsED471nixOYBhAKWw+LqpL6yiRAbOg+nnFzpCYQQoMBUD8BVII7j60ogwEqpSAqWCvMD+A1ZbFAhaYgdUbs1BFCAwgVqFBaCUTI4aKh1fCEKgErcrpRK7XLRkoCJpwXSoTYaKDNOreaiDU96BWRheZSEWyfR5uxCHZEuQZZqANVwRUwGh+M0gBolZijQBAwKcHtOfWQGaMQGAghiyEQKrbsBKEVihCKJixTMIgupGhRgLR8CM7xNYqxoNEAEgeFFu5gD0FAODmP4egRAcAiRiBFQ52fBLUszFBhDiq3VfBPbRBRAVpYpfe9DlFe+DlIAOhKwn4I0RBvo4FAHTO9DPGGcJcAVAJShlzYeWQNOtWA0IjJENBZobVGCoAEPwVQGBZiU0mYKcCgr9gpCGuou2koJgYoL44dA3SLpgQqfXXwsguojCC7YKvRBW+Csa6hvsUC5LT6DapmgoiAaLHmgcCqB6534qAKSbSQ4DIjx6tJBxYig/BqiOefoYMQUXKfgZN0PSiAaYZqxqSUQIkY0KAaFNFLSEoG+J4hv1FKV6zQ4B1UZRG4CwoQ1VTUJooeEQy/AKpEQpRBxRdXNUdIOUELQ/epqCyxHRQ7ECYaQyk8HgxiMaqgstkgHjJyMhN10UVAGRCF5QesYxGxSFDA6wgAZJgKWJssKxBw0KFPaRkH/wCFFoxeDf7ci6ZogoWpt5QzFAoRTT8FiFDnwmqiBhMJCEdr0RoFu6lE+kBSlRhUfBaIjBAqolypEFqGGEydBDUhARGGD1qjCuEXUpaYHrJRHy6ipdJdKCClQ0hSnqxQAjrSlQWCo8QRKT0eYhAhk69hKgQGA8lElUFsQW3lo5cgjC0AYtGgg3aFIoQR4AQGf7RKcEieyfRwTgiYCiUEADQoZ4w/EMKINBURpE7333pDotThjKV59xJDRUYM/BIPBSRFm2pqEKaQUJlah56mFVuoH8BANmvoVCqtioLQkEIsYPXbBZuEAxhFkIoJoJHKq0LhKnWOiIk8AFmYQTGUUaAYSnr7c58KEbdAJNcnTKYoleLKz0I6nh383FsifiGnD0RjWItLAFxCB/ituoI9NqeHVro7kQSCwQPjPuIAE7muNFSiKWbegTI4nXxQjsJ1O+4ZTDqLVBKYRA6fAiZQ6gMMSLFIKEJsGlFB9ovTAatECgivAqRYxTmp1ClKWMAKRHGEuCh/h8PtIRqVpnjoMolD7Em0HDrqBV2UW4Ah5kTShoR4pUU0BmUJcCqBpqiMIq9aA4gSjRmiqQMJUTxdJPpsFsqvrUCOQWthCgBcPS5akghUEbQpkKIFAlH0mp51YUD0gKBtRJXtAyUeVkCxQDakXwNegcCMv4IAM0DRamBhQr9tGgiVEqMzxiWFlAuw+ovG8QaHtF4EkJmIsTUg8JT0sEE5xDVW0rSBEzQEi5Ea4tRkSBKKeEA7BHUFJZkRJQhiBGojayoAKiEgtE8uRhBQjKtULSsF81y5YV2ESKAkAYkNBCC0qDyAiWs1CASFCtSkejktigCAoIntkgbsVfsgfXIUfKU82Fo6ARcqImPdVDUBQyFGy24rMBeQ9UHpPgKCBIiKeJgJGCW7URFjFOlVpg6KwsBhlClYaBBXDmMe0IBqGjQDw0JhWAOXa1EEiNab4ChzUrqIBglD8NyVVYw4eYMkNZICHsdPw/iiqVzlQxeXvSNYoblUoslZLSREu7SBTUWNMTSDwygISBqBIosIBJyHWh6QDjYW/CQYYTGFRBVTbwsimqgn6FnBzABEFjI7RPArJQC8qDQTGxCCQ40hrBYEiEDMs8Fg6ItYBig1yETLUsJpuJtFDWVKrSTwbjCldeibCalSyovjW6q6TX0xBE/Qo8AYjOF8PAjEaNQnlgBBIJBigQCpKULQNjqVDRkmNUIardAewXK1b+EWLkKactbSCNAoArKRmEMgeUEsVF4F1PwKgt2QbeKBKFBSGm0H1BARipESnaiIZ96izfo+hghCcIdAIeCDdqBByGHQey0XyQmhpRtWxKTANcN1/mEL/SwUEOqEXgZB0WmowelBEQwUsMxGGDEXcFJUsZ5oSl73JLCgEkyFVyguigBT8R1leC9lGBSQBr0DByVIRpgWyg/I3CpQVp6qeiygVMMtdoQZ5AuYopJaqvpQawR4oqIc+LSCKwGAgPJKLRoUNWKtDhhBB/UUgRP4U16otqvi5kC6Ako5hRkVRnylYrTaA4JsB2KBn34GGkR1iCxqVJU8uqmILQUwC4AFDuLcqIVqNsGwXABhaJUBoCoYKhTMQiI4PiLAOgcbFCkUYL/LYzXIA5RH7AEmbHV6VQsDaaC+6xhTRYdapKB8FJR46FSiyVasVCaLQ3yqPSAqG38iDCFwfAysJiW5DZKMpC2i3exICwLIKHEpOniBeCx1vuDQIGKSY0iL06SulUSBBKn1HDFUJSBUZAKotdCuGMBlz9q3gqiPnrAYugKcagKAagvdADR0K46y/O4SjlNTACRgIYDELl5NSkerA6QIIEAIQPA8xi13mgApCKRKWNdyws6URNgCSCIKFLSAIWgiR7BBDNFkEKogqUBYGwhQEDISsgoLWV7QAjPJG10QN+rQCxxEpPOmsYlD0EsEeMxEnlYcQGq0o1dSOoSjFjuydEqmBTKiDaR54nAM6NQYKkCAR8EFsSIJokbABfgWkcbFQr1NUUh4QnsAebSc+iKhlNKHyDQtnhIgIhNsRgFUb8HBCVC0YwXeDSqHAQxjvDQKItAAlSHaSfAki15U6QyKFOumHW7QFOtgSMdFLPQviBAU3SAGFNcGeAlUoFiKH4IRwMWPdxNNU+jL/qkCpQ14ESFyKNCCJMEF8nCJpCI6veWGtAU8bpXcEGF0oFHQek25kgDUkbBYCuJRiklQVDgncP6HA8MiJiP5GQVwoAKjAxnCMM7gAxlj9BUrBMYAIJF+UC9Qxb5FIDgyHz6ETnpDXmAJbWgUx9qp0wKHl5J8r2Tx4EoSKlAdhUih6kIDYELprUSl1iLKuNlJHEIs91pB1QuOjz8L40pCEjKT6HHGsBFjyKdCDKslSFQFTUOlVFAWYCCOa6B6EFUgGYMIUzSSmyeFkINUZSqKCUUJrBIFW9EiHiGyqGVeVcE0A4IIQSuAaEQU0DUVo6qLCJBCDWcqFAVgJA6p8FGgcBFLQITLUHNgNIK8NQ51ocVJWhpggIw+Q/QCYS6hFOcAbOIQpmhWwDoKLgE/b2M9xAnJxGFFL4NQSyGIYjQ5AbtCI6TkwkE40ECiYWOM6Mwhlzo060o5g5GMRCiqUB0rQzzqgpSEUgGLpRkAmj5EAMAkf40jbS/Uol8TOhqhGGqfgR0O5QSFFAlCBsoxAEA5g16coQjt+Vo0G0euJfUOrDuGgEhGaGYkX+RQwuKqFE9NDToxzQoEwgoab5iULXF2BnAqztVi8sRYgyoBUgCMXjjh9fGgOJCXobXWqwvh1QCl+kTcMAOhR48Ugplqqtf9WgegFSW2oIK9Ff4TaGQjDQaDBUqo1rEFFDnUGREZgSqw2g3w36JjSqJ5RSEeREsVsBTjierEOX8ScFFA0CosAOlwNpFno04LACvVwMmIQpMZakA6DlTQAzKc/XAbDoBYw01mp5jUxGUTMRRtVBI2eR0vDtQREI5YEgkCIksgdoUl33XlbXm6l+AHADawhRHq9Eag0VoBEwSRghEiugQCUc5+EUgoKRCjOeVvAGUglomg9SE0SkvYQbHFVpPUzVUClIGs0aCL1H3M5IIy8kiJen/AARNOtaCYCdDSTBX2Kh/a56hRoBXBRfO7GAK3HtiR7FiFZevAhRCkPoZ0GVJMaCARFMrDwG2eQwJCT+gApCj4dESyCugQhaIdZ0jwlAqRBA9BEx2LEHhS96pOnzCACd4ATwsxeDICo6gytI0D4yw19EaFCdswSAfGuxqldAbVCBkrHsWcNYcZmVIoKQmHg09NDBxGCHEdI7QEEAbWsoK3mvxuSA9oxaJsZO6hGD7p4gRAMcIDZ0ADFoylWyc/NB2s6SWQlNDAAO4/kAgPQvEJFI2BS0HqRSMFhwgxw6J0X9KHUenWiOfRD4IqrIwvMrhPMjBGBUQBUfoHA5IVMAjQgsNEGEDoBBIkAQIoQH8y6IKSwiaELWUa6LV+xIHIWKKSFuyrmlHxo4RDKfogG86tRQFwZCqpKNyKBjcF4syFKiTUhRwOZMN4dcysOyIaAgAouw5gB/EGGgjQMJ4Zyjg0rQiInAiAwTY+5gUwaVEc0SiAiUNViAFNbkZKYLHzP2HJKIhxwlCQjR56Iw0BB9gAQqkwfFQSQAbr1EBZGgOfBREwa6RACglufLGTItQU1guthKGxUtHcUjwEpgZllK+BIWFQBO8cqxmq1DxIkiCmdGNcB/EIqFohQAVaKuiJUgAffKUjU3sIVikDT+xA9Rpxj0KgINBfBkCicO4x6LCxIjAhRQxE+j4fpkUXQQpRRRRIoyopRdNAeNSPUg0hJqEld+E9JWACSESQOyKIyG40SSBT4ISUCCrOBgP0MBRX4YGCBpiUqjT7PYMsIR40r05SqAK630ARVepiSoGfTAKsA6KQeLikxIoKoUZkeDJ5VLJQHSEcyIvEKxXJUCAtGHArYH0aeKBCmGwoIhgLx2KXuGVaxilNiFICiugAC2rTI9UFAZ2mUXzoimQKTZYKT5VMSKjwbJwCNMBRWEChXyMcNnsjSsk0OkRQnA0JlYO37mAQqGlLu0AJLWCWkTdZ0RQkmAiEIh+lTJcArkC21FAQARioQSNFtCM0Vo0QjEB+lIlFgdAhAuF4EppNoUS9eF1EsTwNmLDQUQ1c1hURN8iM6QAeUYoQECAdOvrJwNbdy1JkmUV8pyhQDbFjIEpMU8wGCCAYqKCW0CiEeIIUILTaRwDnqJCeZIosK2HUsCAEoH18iQxaUK0FdIduNQmACNRb7gigBHmqIqpUACwA2oOF8IebU1AEIahTEVepibQJsafOMVDVhA5tAkQERLNCOgiBsCO6aCjp1CVpXhb6wJu6CFyVSHheUAKkaWgmohBgNS+Lohz0Nn5NZTNaheDjVqAAjCH4BaICPzNWu0qNSnANHigUZ4IqEGNNGpUnjUFgWwVEH6vkOMLpBxYgTE4RIMQxLFAVtRu/emLMuB7ewYtoDqfEgL5Rv+F2o5ixcCzqxon0WaRQQ+AJDUeOlOAohSsMYoFxQr2B6CwuASgF/SeJOSWoKELWC7RRasQdYIG0ip0FUcaz0sYP8W4eEATokEJQihiARkDwKAEhXDqHAbRINU+NMmj+hao+sZL8QwpUTEEU9yEFSLVggNxZM/GPOYUxPxBFVMSF4L46SdoCoFHACNOqoAEJcLGhBpIMlFxFCOFBb8KcAxStMKX0QDpZMGpP0UA+oUQ8aOjKNDREuzWKGgsBlyRYAPBoWrFKIFF2RaouFgoDFR1GmHGsJQ2IV0UbmBLMb/iDCNMJAYIPRe0+EOzL8UGqRWigeAkWAAGKWi1FAcgoFtKCJlSKcstWpYauwHpgYMVUVhhfCbAARBUgHhuFUVFQF6xhSBVtQhKPozPpSHdaNRYTdRFUyiowKLklAhtohEevqpCJowKlZJfWMQiUEbFq8K7rXmZBZ1coTB/oFP2q2cPqG/8AIJJKr8lC2YKBGZ3YOCEPH8yGwsdYxQi/FjPEESW6AskimCMoWHjQQ6FDi2igKLgQdngxNSVYEQIV6AQSqsxHARMEQKKE+PRKoKAhAUoWggsEohTAICVwETaBtY8nXoqMGOFnxLUGLxKAaKQguAVlKOKYPF6sdKKKSfW3Ujg2QBVyXB7BQfhhQWZYRCWFjIA1UIWvEpwhnEgj2msxTA+1qYVUALIqpYwcDPABJbVfpVANq6oKpIXmVR2QOpCUEQiAQu4Xe+pIavQky7vukL7AlEdcCiAgANyaho1FSrtGCgSIkKCgYCgrZoQWIBLNBKiCkgv6SH2QXDsgKglFSFFUETd8aDI21OAU/oD4fcqEArUo94YB0h5VpES5HrGIjatOCg6pQcgHM5K/UIWZIhBUwJFTRbQQueibaurWQAoLGKY3xQBUP2TkhqAjMUSihNKCIkWFddKRNy6mmF3xa6TNBPBDrEWEJovkQyM0gUINJFQVhQeAAfH0LpI9CCGJQRVpaBrRUAw1BnthGKhUPASbIIKgSMV29CdE5LAXgCtYCieljRqBCJcGGmtNEiEK3RwrDqgdNozIR4IjQAHAhmjCBWy/2+AtaVTI7YAh2tBSeAYFiI3RlWqA/Wga8sJlAmFS1HB1iDvkyqXpBIMgoYocKVadKEZLRWRRBY3kL4P9AtQSClaI9BQkNbFiFV9LwOEDaIiPi2ehR1dLP16ypDamMCz4JTkLLQABqBUetpHEKO4giJiPe1pOgjRkiBBIRYAXhARqEpqPks/RPl4r5p1MQRwCFVXqFVTsQoMEqYJZAiPXqhxtiKdmA+Ah67LoHEAwur0B/m+GXkFDegSZh0MwFqyYACggkLnCoCqEQwFP1BPk0QaIKpyGhDgNEJiiWFI8UGjpNAgQAOAw6ePOIUKBQUR04RJWAQNWKMgtBUW6EkoyQrqVQlsjX+o0SWGb68E6LsYpACP88CrAgbdEECNCKFQCfi9aRFSOIhGkwDweEJNOEqlgBCgKaIjcdIKIN0Q1VMrNJQ7BUMhjBlBpoWlgFMaAdD/4jCUhq+ApGpFKDxEsG1jAInxKzSS/DoK6gOBR+XKDkZhj+0HFFCoA1qsIH3YBVFK64G2BYIDAlILDq/SAoUEMqCGrMMUtGAaLF6CJUugdFTp2AkI8GgIkiERwAsG7hNfWbxBPUpQsLUH0jH1dmCjkpBUAUwbHHyYHsCgYEIqBsqG0LhnYUAe20AgqMIAEU/LyXSSD9hVBw4aaAKilgHAhUmI8aO8LSBDQ5o0EGqjUln4FiFa1OrCs8uSynuYuiAgkNHqp+WwxmElANRJXzlAnzESsJasLRT3tIUroXOkV84jVE+LSa1TBBzROAoAPmuCwhKh2BkDNzxIyYig9ECbSIOyJ4kBN34F0BNGhPIL15FSXACupyAULgFAxKcWCICRUIIghUcjeDcCNAY6lNDIFriowUuABEQBLfSgypqijUhSFQNggkSGJAcJaHCoKJcaolFEfCoM00rD4HchTPzUGLTr6aLyZO4qmw7ACehi0E2cBBEtMpCOmCaZQQf7vOjJSPCB9FOkaLrksbDRatA76RTn8tSgrTUVBDo8qBqglQlGRS4zt54OohopsalgiiYCeZcZRIELSmAibdNSFVGVrtBpoKAMlQLzumps2qkwagRRlvjJCgQij+VqUYgBPBSWlIZLDkoigU+TzemUQCBIuBXVy7iwTEBAVKN7If1gBR7ZfQoAlpKFCw/qVcqFqDCpFx0GFngLcypbIAihSpdBCeoyCLEQCQAuCl6p5zsEO0UDWqlKiO0U1obWDOmKuahOColwuG0awDGIoIpT+KSlVNV0vAKIbgseIIsJL+OAvwRRIZKUhau6FME0NNDzLsEWEhTSSbi/XBJSlC56AfBJToRSNBEmQjKRpBhmWAjR4DU2DpNMiIcygfRltUEwAdNQARuPoWo4rBKCGKtQalu+MwNNoklGAq1hgKCm/wAx+II36Kg8Ew/NVoxiKJLrUEYBBg8y6YvBBUXEsQoIaHpBAkeSMuVS/pCEWISVxKgxfwIMyoGBNgkFcldoHSXHDRQF9KhE1piBXrCk+KefEICscg0UOEmm2DyATUHVILQAhBAOgoNhAiS8QIGOg5XrzFcbeS6jAQEeoVc2WDGUixoOOQUsakAL1Q3BgFBGIopdzUhZRzVSAHAfAN7Ysdhte1KKRrzssMQChcIBAjI0KEZCI6x4qmNWTDJjArWjgeApiEEJ4FoGREGlJwIrStNJessETqJhg4lreKiAKtsOrULnQUZQh7b1IRZA+Jgj4PWC9AyOKBHlotAvlDNIfFqw0URKerJ8ORFVBH/QILrifLi2IIK8C7YcCECi8UMQbm1oPKWALQpkD4pyZKkgu7GBgMtJBSFrInRq0yhBPCfVgoMynMJGB+AD8WLgIwMADC04IexYxE2LIKZLULL57S4MoBoIgEQ8PCuWfsqLNK/Sen9JfFIBPDipFL9ACqOJ7lWEVpplUhcToSIRuXfCCAEBwmELyS8iHoIVCcAqzNF8YjCwf8CZEK2YMB8BiCwxwM4iskHj0YKpaZQiUWKIUddqtvKoYbUiqeo8P0OjNotlca5KDTyfKRAAiVIVRKYaKlNiow7B6KAuGT0MdUxkICooCSAaoX8vaBBMjgE0dLl0PCVGsFFCRLF0BkA3H1K8BFxml9AoxRi2owYhmfDqP34b4AdajygY4SQWFHQuyChCEOIEcCWMoMvxDWrf/AESdKE+KJrraLMitVQlJIKlBowGKUaqxalO8RKeI0shx6qpwjgaYEw1sYqJQpp1gv6AKaJYBHeJaqsKoGjyNViC8Sqj9R4jAaqBgAaVsZqqEk9FfK6Y2x9FJWFORYiwRAEEAFtCEWCgQai2RrIHBcKQPpEeQR2hv6OJUdYEUAIHOhSwQAANChQXwgw1CUWB0C4qZM0REISHHLREBFe5KHuy28WwiBCqNbaGPgWGAGhAf4HSDHw4zyXSIKogxGGORpuLp7SulRpFuXoTl50X3xpXUHEW5g14BtfCQOA4aIiOEE1P9EHiOAKLJqhCCDSsUXzIMEcKFhGFpF6I4JlMhQtNpw6ID4UFMtExBpeEhGsaIJ0GrjZbCiD67aUoSzqyKgSBtGGoYJY2aFDBOaulAaTViMEYBx0uLV8wMaF1jMC2RQRwQQQMEg9a0wjCTgcVKF+OZ5MkhF3BEmBo+RJwR5JRHdqjBPnBMpJo2LXTRPkTPotLlv+QEAQAhQRXnjFRMABVYMELQPKIrROUBCIoVHDfCl6hWlTsYVWuIYgUmwYemkhqJjgR8pGc3+aMMBorbsOxkoaCdwtIAoq/A6UogiA2NN0IIEGmUPfA1UIVQ0ijDF8pv2GqgRoGAFEtAq0IChXtpgUG9sFzxmTgSXKKKFJTBlkUziajnhv0lBRIRiwUqrOkKRCCA0nk/CiHV9/QGhq7wfX9UCGQAWGXR8SqJxoVB6KIBEVBIDyyzEAUAyFW46yeTj/8AcIByGRv6WCAvZISQyCNKvR2RxWmELlDpw0XoMEUJNDgKJXCfkFUEOeCXigUyIGymUXFXRFxgBYocYVgs1oEq0m6+gJJLBExDxPmUIKdH4NJCtAfDg8BEyiN0IxcQjbGM0AUj9QfCBsYobo0UbCAREQBUDNIVfpgHNW1GkBghTgKBNYBg4MpcyCeG9BLlbRhZWeuQBCNGEGgYgMf6FmngTVlShbphMID58juQBzQlSLforOmBVhhkKAZaiJoKMq0asFmBdUEbFUBAt9EWYg2AWJAoNXwKLxqpgLdcINUjKyahhNtkAdBRagtD+KAQEhBBUAJUYqG0gQKEg0UFogDqhHUpVOdVcjrgACVQGW4fMkOpDiopASmaUY8GERRpP9DEadwGEgJjAwc0LVeGjBEH2EhhgpcZ8WAiMDIos/MAVTEKjGTUK4U8F+8olAokSNhKBAnRQI6hoccdArZaVy4bKDOroxBSnOIbA0EQfbEU8V5viJSxiBWmhNIgiBYCfLklTkAcAU+AtV30CEAQ/SNMWPIsklyBgIoIoomm9EvQdZ3Q2ChNGEeLoGoCZv8AQBitQYkOxBHRRTNNKYg/QoFXcrWB1AyCVcgRRfHVBHeoUB1DjGI4Bj8lIkoIANW1T8D0iApb0ATRBqSofbimFXtYBolRc8TWCbYWBOIINgACzqrRmq0AYDYwkF1VIUZiBqAEEzWgUXTCVjFQgAEMQPYCxQcGEV4oYNpF8EGAqIg0lQoEpUlvL+5hHCv0ygCG8vW+ikKCJSohPJ0IwipQFiqJTQETwqZQsxR0LbAl1YB8F1KdLiBlboWhRPAwXnoVQ1EbKpCgp8lWqFYTRBAlAoPw8ZKXDRCSVaQbqDw9CBRmsGo4AVyMNfYM5MFLsaQKsaWgmgwI8xnWJJSb0xzANCGr5pJEIlEBU20DLmzFXARF8CS2oJAKeFRN2gKfcARFwNEBggeiSigBRSkJAoAQ6oNVUesAGGhFnRgVOEEqhjsaRViMQo6j5g+BLBWFCBkAhogAr6p+KLSJB2ZDAIegOUyArY0UqzokpIOYM861JTaAQUu+g4UXXQJFNYSzDoPKfnF3QuWSwAFfCXuEGQONWteH2FCqCmrVCOAOwjGlgeptXh4oFl2nNQpg9cGloHUSCaAOvRwdKQUAEYmAHxCl8aEsBkoFsUB3IAATYUntjqYqga4tAIsGR4xAdF4JQioBT4n4PgzCi6ClAiYwo1gQho0ikimkoiOBRIA2P7e6F6Io01Oh6JqwGskjIkVdkUXTZ4WSImBWApQNURyYQdgiVYH8LCplvBUhtUChBTKC0CsLH0XeUVXISaakDo3iT2UpR2CBOmBZ5fNYEjRCCFEBYkUpb47kSggdNDQAlwSDg3GRCtF+AxNkEvtJCI+QRFSAljwRLUrdbQ6kpAEGi3eAUQRM9YWhIuQYzcqgP6ASWWEBQjJoh46PV/oSXSG0DZkEajkhsRCPT8cQcTFAjWgYGugTwIEwjMyMejgY5evMQbUFUEaEcYIL42jKTB6UBUa1QMYPcnyWPyPhAEP6iNrrgCbC2KyyxeTK6Uz42IgEDRUUygqENxD19LkHPOHe+A+icABKAorQx2hKUsSiaIQUY6OSQIKLIMhRACNPRS68Q1CGjhhSbV03xQ4KihkAhYIxD41U0kpoFQAmYKS/HPpIhgDhEqRcCRqvCg5SlhNUIYKNCcCkmrUICJrGeImYhUgxtCHFBq2D1VRFIqTg0Kg8CjRKQexa0gNI6CCTBoQKQxTRBHbMdgZ43UoICiiqu0qsWfVTRdkFA5qu37UDXkIQCgFRBQGqsZM70CI0AagG1DxVaVwe2osMLpM6eBcdIP5Yn4UArWojDyq2bBMCAoUUGnhajlCiOqKKpVV99ng7AGIBgwa+AivpLqKkIicbQYpAN5FySyPuTpspiLlnko6wg6kgASpiC7sCcFrkWiBEGEKBHjxVMioJMEVJ5RIIA1ZxAjsUh0ikOho4BHaqqNoBiggL4YwWhB+lRqWqkKAvxREkDVQpCUWF+iYrE0VYYGRaManGF+0g0QJ+TEQ/ASaoTgVrQIQWiaHlHBKYOGsARPUAQfQBIgKUME5JmWiyUujDq/fERUoyoIQ4DoOUtFoa06NE5jvrZzR0bTdQoM5JSxW/RkPyEUByNh0gpNLjMbOFR/IS0oiqQDSQAyELemsPeuUBiiQZ4gCFqIAFDAIQhLqNIJhBeIMLC2iR6EgEBDh9Yg3RIMqhE4vkj9RWJjg7AroFijrcTz4YIYbWCmpBEojQPB+FtdIJUVMIPXSOkIQAWw6qOGCHiUEThCgNtoiXKAQgyxSEvuKJBYTyNAT9VvDCjWGhKn8cc/UaRZZMPKBjKB4Tr0U8HaIqfIHYEkz+ouAYwKXjUAfkTlEQAADAt64QaKg41/hitYKeDtiTITutDlFoDSQcrUBUEvTscaiYZfK0ELzgjAVDCUhYvWJsoHS1SwMNJIEFg0ggKEjgfUoYopCnOuACIkWEgDeCvalmwAFtGOepVh4RC3FAaUho20GpICHagQWBIgHYCAEKRY0hUl8vIaIMNIGAUBjVAGJqp3VGJqqCoah8RQAhoUcCAoOIIs2iJUBB0CqiLGWqjQGC6QUAQKllQQSnKwESgjD/AJymRIShLGQI+UTyDxGqQs8C0Cq6FhCjMwQqxAJiIGKWgEMCVRFTnB9YcAwIgiqpNgQnSKggCIhLF7AQANEAB0OlRoQmuqCUwtbMyYBgIKtJCQFaTzIeaFSBJAFXzDFUtmaJAqqlzhE9QQZoqRdQl2BUUhYpXwxdLfTUI3ET7M0UEnBUKklAAQiMqEEiDhkIl0kd0VjAPLt3olhbRjURYMH2GAIxcC6owAaimXy07VJQsa6EBHj48RBS1UaFWIGaA5XgNxVC+P2CHSksCwUzDpsdYtrL9ChA+ajDojdIBJmUlYaKNWZbq40hiFCEHQK750awQ+pKAC5fB+VqJw1YLUZcgU8DEJhldMqUCQk1nw6wBNxprcH6yGXxpMag4oddcCUWkoFgxRWDoBpehZSaWgcPMUMWiblorYouRIV9AEohFoKAg+BK5qGR+OMIURhH0F6SLCYIW85lImfG4NYVA63JmI0kRCPanSzANTeOKg2pp6JDtanewEhpAs/FdZJCASjMLSUWhYLAbH7EGAsoScvka1EFAAiBXuBVAdgT+CqE9wiyYFNAePFvyw2ZoWyRa0IvmGEQK1xVcAvKZhYQyYMABEBJAegRGCAvlAVeDoCgJmP8rgAJIcCuKQuuYQJgUlIKKYsPS7wUS0DijQ4ACJ5LmSEgVEAWowEACPEgbCAHQy8KdGnF5QI0KotTDVYDP2h8QZwyq8zeC0s/qyJA1IBqmPxyoVVACIBSB/iGYLBgangDTLgAxgadJ/pwiu7QMUDHtis/TH0YUihE4EisJMYK9ZoagiQEECGJR0dkwQqgAmoGKYCXBAQQEQcKtDlDJAaTCCUP4CQ7CWS/yIm+lqySOMYJkcLTcApAjFRjLsEpIjKEwbgwaWkSUa2EiAU7UqEVu8FyVKIFYeJSX4lSAX5laluonyFCHoqUYnB7kBsvI0Uj16SWCIHGEGxJerwmmIo1Qh4QWAsCXBvRDC4gqdCgEyBK1tbSBnMWIxqIIoUR1TGJOmISPkwQoGJcgCoCUIE+AdlQGGkkVSh+FfiAkDQT9Z/KcJA9UtTtwn0UrUSppYqaOBKDPqDNYmCmBEOjj9GhUKUJaiWVYEgFIdQilaBIqexHAbbaJcFVqSweSNJkl7FG0yLgKTziWtLoaR/DkYMgog2yMfaiuwBgtAK2GAxOxcr0uEuTxO3BgBgjjQduGNHuu4qpqt4D0BIh8wEEpBQ1zDGmDbnkhIEqTVDVjZSqRQzqjzAWrNdFcSJUYQ2FUX0WARFCrRUYTIFQYtfqZMDSoEgULUECIm1C2sUTrLgVxsDEqa/6dOCaURJBAiPyFsEfI0XEUFAEnQoGM6sfKSARLFqyymD6IIh9QfAV2lS6IAeixISqSApQD4KmgoUPh2Ai1ssI4URZp+xTFAAfj1B0gKAKdeNLOhBTgxiYNBYt0EKMX/RupRApDHUJYSI6cEYZTpE8AloOBeMBSFGvgMBIIpdEFIYQ0XClEesE6gi3q3DGpZjA9VpqGYFSJDMgiK0EGq4VUM6EBijMLSAeMo/vSXS7TIQeeJooENZ2IisZnYg/clAwQSA4wwYhiDeus+uVcMSY4hBXSBUia2GrHRIfKr8o9ACiiCopWGKroUEQEYRLYAZx8ooBpRTaJRIRqwBC9GBGHW1QgwcP1aQ8EyAqSlHUfpBhcHE20krKNwRiZUAkO2woNSo3UJA2kLwBGjbU/wCFQbRVg0lNaklACzooiCqTYsKEoNDoaGCvpAo0UCbZRYiCIs8SpIPXkQHQPBOdIFRD0/8A2D4EPWAQjslgYIpTDILhBIaAKMnguQEE1Cl9IDtiB98cUQpTUh61AKxJPH7CAioGNUNHAnkfCMTFOQPmxVPgSgAhnGLogb6AO364N5EEpMk2yR83w5RA2DkH4ZAVdKlwQSSjIPpCAmIFL6CRAEThUBXlBFCKD5IZboTmukrMAJQ0cBKIkVRilaY8VAl9Cy4WDBKuhBkERVdqqEUA2xxDBQ0wGH8sRBWiRIFiBX4PiFicNjwBiv4CbLYIMQgJaO0FVUO6WICZZqHStDIbLDx7DwCM2h6AKQEEfk0PWA+s4R6J0L9O2jDgKQE9I2nLQLVvTQIgZQjlYQoQYARl+bASNTRqFHbetiAsELSUCpHw5XHJsQAOoloKwPlmRomY6ldN2BQPKFC+iH/RiKNYAEPPayAKakIgJIYGNR5pgULYYZOsKfOYMSJTsgKdh0QMGOKIUk0AGhelgS0hBSKLradRKD0FtKFNSMKVayEgksIx+uiTXmuVuAJH6METQKIq0KRoRstJ4X0WTWJjAKHg0ledCKYVOEhhMaQYiPkR7iFx+4kkiFBQB92xOFj0BDVIQhDwMFOoNkZGijT+oAMFVVAfA493YiOgopfMCq+QJSwMAIqCiHU0IJbMQBGMIIDkiRorUgsGgGVDxv8AL5I9hgdLLA3zcoMOBACR9B/1b1KDcgXGiJ3YFWEeAVSW58gpX6UW2LFKdDJK7aUlQAJVB5SVo1gSEnCfyQwOHZGjghxSQNRoFjHws3XoKHKb2ke6gCt4HmhRrfylsCLF8EJNQpIkCgoDPAcX+xigR0ojEiS7pAAg/IUFoABo2lSmpbGtGKabGDVT0a5riURvc81KYUviDGAC3aE4KmLRBTyD2CAxCaYLFqIgFAioClITpb6uB9QgnwoZYCbUaot0SkPpDIaMhKNSa4+i81hEpA/QUM2AUiYss6gza9BJohILiJJY59IBgcg0EFU54UCKtVi2agUNEPm44B9HSQAnNKPABi2FMkwQW2mKQ5w31KHQBRHkJH6wxFE4QwKDKEyZZSDXgoGCM8KKLNBIWeEKYriBZ0mhWFtDyLUQAmqzEpQmVVwDhotA1kYIAw/QRHQWgxtsqBQV43x+vETLcYII8gmaCOEUKS77eEFQcFAGANEQDAki6CdQHtfQVGkgo1Xg08sUZvLhBGsIEFF04DxUAQqpk5DwFKwBPFaycx8EYdoIYVj4Ag1kjA5JTpIZV5vnQaqRVSieQah8CmybwzLRU2QQKHzAmFyVQDSUFVxR4hjQepA0SXO9x8jqRzJUIYhEOK7k8asNKptCqmIqgK+lS6HRTnwEC4ukeASIFfohqxv/ACEAEJZOSXNKhXATIvgGMaElG6C+IClogSFoArGqyQK0AWQRXZQgiBgZSopoEgCRVoQJBCggqFFSoD4StDFB1SQdgiRIfDa9ujkIgdIJI7E5mwkH7McF2k+HwlFDROFwGyN0RNGX0ABRU4pq6IgVh9PTAv0CgoE1aRf0pvqUgnH9i0A6dYC2FwQMSS1EEgGB1GXwzxVrqkP4QhAolI6MYIq2tjgA1KoNz1Z2wKouAmoA2D8eAm0ASNkQpOgNFjb5mQQVUCP4nSUJTwDZoaFR6eIIGYo8ISwBqwvQZzRGgPWeowKmBxAhJ0CFQVIQiGaEY6HckCr2Z4gFu2w2EpwQqo8TUO1F1PlEiKmhS1QBc9RN5NI6ISveQYR49V6ApAgnJZ0aEAIQhZX4RrYJmOFFUIsrpwm0zw6KBRJoUaEZsUQEPUYRdltCFwDQbSYEBewBCDQMTaKCBVF4ytQIAiaYm8CKzWiGCxqODeClFZDNHlZHtGwEaKFj8A0sl4orTaAy1kZSqQURfQcMqC9AF0szir+kNFEwIJAEqMXtLVJAAMcIqCqCd6TBMAEFmlCxEAW+l5o4UrJZ0rYg8OtHqNSh4EUgjcK+MZUIKY5AqET17m9KqYiKUa6BUwtIWwYUqARIDgocQN9HskjMW5DdqBYCer0dallQhgDHIoSwGYfo14BSVLHhaVDaQpAlUFPpaPw5VSjdlaItsRQBtxAnjfr3OkoEJaIAcNVBGgPSBSoAPCWeBF8KAgGihw2RSyuJcbcLEELRXYYgs1MR9bAfd6ZoLQoglERYbrFJoUKPEli+SApFkARsEKBJtASqUerZNhRAhzREJYWUPYgUCNEKNJVVocDSjRFGAUmArwJqFYMD0TToUQIEvjouXYwIRnCYItKntIRHxqtpOkPxV8LgpFa1EIkOYOYFUuipZehRVVxRAqjMJF1F4wD9pEIOocrXLStELApdJCmgXgOAvCasWGjmKD8gQ6DjGILSCrKG0T5PFpIIQNcK7xEz4S3tOoWNiRIEEPbCXXSqWQgFU7Q0FFQdUNBV9OhCQV6LFbSUG2ydJ6ZDUZW+Knapleg06VqokOXPiTJAyo5J5BRUkTgSgO+NaHwBLrImI2CwbNeTkMcKR6YP0cARx2V63PSCt2SaWD+JC+UqyUsJCIHY3QKQ0CgUkCi1lUIAGoQt27zQm8tUUMJ0PQRaiIC2VxA0gQX3RjLQ6UTRKgOy1ShqOjVMdR0XJSqVkMi+XiL/AAWLiRHiPZTAUhRaLASqqaoI1UiECtQnzQHGkAPtSBDVLgq0ROiNgKZFEnACVv3ZC6yp4HAICAQQxFg8YNb5D5QpCF0kIUjAL3EyXJFQtqFKkqQDA8PSlaKkTtuAPp7DsG5E1EIRSXKlFUFuD8SbABExAJFEQQhQhAItkBFliAReUKMQlgoKjF41REVXOgvl4gazEJ88gsQzYGC0VQAAJGNdlB0pXxoQo7CELEpF0OALQAUAADAoaAR1hqYQIwpUqoQocRIzoktIGjBTmEqugsRTeqiIca2VCaCZEbQ+DdvlhV9O61q0AI+cCoUoXfLgrEQYgRQEDVGlINzlARRLFSREQAQnivVTQVgAFK4YK1LW0SxJxwFToo2t68ECU2LKB0K0IUgew6Lc07ZJ1Wq1kYpQdwE+BeAUajyC0iPrmLB4o4VKYqw2BcMrV2EDsaRwR0Yy9SihYV2Y6isPp5UBR7RnXo/Aja3IsuCRSIQjVFQqAeXkqBqvCOWxgCigXzIydnWCjQBC80jzctUEqcATLNMDMOJpVBShEgsg0AuD67tYsroMWAFVFZ41rxMtyJlizXCDwqvoKI2UwBVPQogpaOgJeWhhC0UiZa9VmPpSHSAa2iqAXoHQ0I9G6gKjSNkQHASkao3uvwMalQUWKiKIYLfhJRA88ZcWEXC6X6SiCAPU1qGFYsQmxxJ74Z9YuR0VEPgFijwEHiHvEQj80+A0VpWcazwTQDTu075tugpMUCDY2FkXqBLzIWCBgJMqDD0uoUhihUygFUEtHyCrhwe1VirgBAQiLS3DKKAzdFRQI3wrcy8zgKag0QlCPAtshU/JKQRVEg8s83sKLCDfvVOzj4zfbRFugDF/HAEfKklJSUYDRxCUC9rwtg6R22weN6jT4UNIKCrSHVRo5hNj2XSrN+idWkf6IPVALvHJ0R9RYbqAPMtBGxnx2oBgm0Ujdmgpa5CwoDIqRUFJBTAwiASUIkRH0LoQMAx+Ci/6FFZSYQEBQLGIKTEY4FQQfRf5Kghnf8CUUVqcEAIoiRLftoB1KPgIpWEEFnNCACRIUHgHAHaviBBBS9RgqfDvbUEVkTKiwIJleU4m7MVIMKoZK0VhwGDlWoJEAVTFbHXf0GKiAySKFlVUlRd3nDcGCGgalykARQAQgSHhGZ4CALgo4SD9xEAdCsjmAPkqSIKaOtV4k+w4jEHxX4aF4DdF04oIvzElWEOvyGp1q4OCwGNLUqeFhgBQC6f6CAJMIenw2QiGaZ1VJKCYX8g3RkIHRwewsq9VFsMQhVGKMAyMIdFsTCVYmM67TqnBAkrAY0rQyXhVUo5yI5Rq8x8WgwUIBsQCiA7t6X+xBDQaQMHV0ESgdxXASXSwNMmPksmAFsCTEtamn4BrTkECv0sSiNYigCqRUSEqBhBEJN2hiE8ssA/hiG1mKhVK/nyWmqDEATqALVBYNSyNBc0xipKgFFqD42lRXCQSDTQBAQiClbUCpVkggG7oqx62NiqTrUKAFVTQB4VC4pHRoDeFGhbVVaiCJUzGgTYKFL4MFh+Axq4axCOgnqLRwUkxGByjXERYXDddEFfjCHQiglEqRHqigAW0Qoj+o+Yl4zARhD8ACgjta2hhDC1LnCMDCXmzucpGlapA6ZjVOCghkE2KgUTqb6lKpQpUVYKgFBaKDHppUoD+FWwOFgkMKZS1Sr0iggR5AzStk8iFFlbIaBmMILOUIPgKwHoYYyprWsmUq0E6QgRBQTCglT0KcUgEFOQEQPDaxSDWZAtVgBHZryl9CDaxCoc5WEfCEgfQ5EcMmERFPh8FBpUBAtzDrhU2U3AJsika4clK7V8O8lcaUwiqkQKqRutfxABXucR8KNCFIogCuuFrt6NfBY/MU9EYJFK0ACuKSRMMAIHWIICgDQgDXWrIIbsQlCtXxMuMYJg7PjYEr8EiKA5PCLEFwwTwLCkQ15YHpQTFrDxHArhImh8A6LhHoTzYsCGAKCo6LBEDppoVOa4AAEgCIkIeFQJQd1Ye0Tqqg+WKwgHgKnEnQSFfzbJ0egIaUalAQeD6vj8VQshuBJJ8evjUWYsuwCAgNi8DDjMkoAJDVKxR9lIkegMC8dElsKLwYe13hcoLsIhXrN7+EhgCiB1cuOinoBBYD/XIJfqSgh5vGQqlTKJYkOwZeJJCoGwCKmzldKBo8MNxAM0uqYEgvF6HBwWoKASEaSXCxqbRXwWBpkbmVgS+N1XGFCoBA+lpgaQmj4gD9MA4wV2hg+rXSlSdBNIKFpXb4OConoIwGo9rCgsJ8sBJi7BjiSgNCgYEziEqpERDSuCN8gAETI3TIJ0qEdAmEgzbCEAg8rrxUaQZKfFElYX8LFRh0njYjgQsx9QjIAwHS+DHLrZzgQiIFZVK+MoIAbRNYisH1F4lBrY6n9aYWTgK6gNS6UktpZgRJW8ARAoKSiBsKQhwC++ksqOwAMHQiuMgrEMGQTMILT0T2dZ2+paBCpcAIQeDkunKOlCPkWD8Erq8P5FqyRoPLC8J0IDgBWJpPgVBQ00ikCgLImr+FDJnFTyvUsLY4B22XqCEIKSDUV3ECKwhGHiqSQvEoHREPoDwCgc1CIc1SBIaO0mwlUt6FjA6nCpnkjdMg0AodAKKa+gLEoUE+sAfBXAV4RSHXK4WXZQEoK4SPQEaAaf0RQiTOKCLUrFCkeq8owGHU9uWNuGhmcAPQpk8kwUMyGZVUBRXYVYGQpuwpAHQaOr66pLSvwGuO2ADFuZAZFD/AEhNsg8R4POgUt70NZTEowUdd6AytQojlQJBgxdXD6kBEUQF1ReDxGIj+gKExRhb3yjG7rGiLFGkCkTxlw42nQNFEIsh0QFElFKwx01oUQBCbPsbKKVEFhvAo6LVHCAl3N7qoQWKcgLVIjF2UCJ1/CCUBb1CjSjCSAgwCEdvgoISMgm5Ecy0LZPj0S4om1GwFNF3GeGKsgACVQFogFIBfjuyrKnDaKkYjpkKgs4MhqWh1hU6J5j1GwggwKl3QVgKfCBXFYqQANAIOE4FE7sNgRKpdZ0YXdHTh1uqQWQNzRexgA6mP8E5yoTyti2jcQ0sECIwong9tUVYEHTBCoNN1UClgRX6A+isULSFs9uQdokAIgXsIBeZhESdd4aaV7RXtFhQn+QK8mIQA9JYARJEJ+gKTS1gJOtAU4CAZokeg3zQXCWCA2FBzQaeFewyGhrSgqUKaQMQsSETapaSSqiYvWgQJd6lCjsGgMUMFTd2Qo3QEWpgZShHyzYE/wDk3s6qgEEHieFhcEoQIUQXAeEvokpYlUKwwoq04ZV4AH1xUyoIrWAWRFrxY0IsGFsI7B0BRAB6OHtJHoUiCQNGDwjucYwCSRYYEhFE+BNJIEhFnFyDfBKeeQvogFEaGKg6JsdyFCdWhSGzzoQh8gh2FoB1poKE6hh4b8ZUIIASsCNB9JzKgRMAmoMAAUYhD4piAahgqIoCUWNU4IndDCF6Rtr6WA+FQJ5HVZ0uzKFXAVxbAklCTpiApMDEHCeE4DCBs0qqOAETwVK6yK8jUgGP69SqIAyqLLNFCm5C48yyip+IIIQeCCofSAAzwFdqDCiMQelJpSjYAcLVAYHjA4nMiSQkaUKCAleE/cOAdQCpeDrsPfSIGhLYBFh0fg91IHqWHwUhKS6BEQR8l6CRSYBI/AKD6AvldmhEBRzFiSEWPUwNwtAka0FOIhTwTrliqx8AYMIJn0fxERRoIwmn7YaPnjN/2NlAzA1WiM3eIwBQRogfuQQAqiLaQQEHBjFgFUEFMWFCxeCDHQsTg0TxiAGnBqoYBAjBCGPkk2XyCUdQqACgRqQU0pkJKEhOwMfXlcmINYUBdCKEKCDeoii6MJbFpjijYO0CnXfIUBBGsPLJ0lIXCGRRIvPFN0DUEBf6CgpW0A2OiBMDRACSSVKkInloWA1Y2jFpNB3RrbDMmWukKqywvoPMU2+rPEQUQD4R544dBbE8ov5JqV4y5EUAYFPCdTU1YGbLG7+JEKCQmC7CBHBUI81aKm9Kp6qQSgAEgURRrCWAV8CqTSgPiovWEwwPlNBoShSU5pGMQH5aFcRvQg3SFoKEFPTh6igqWgglggGz9ePdICKCHTsRbOhE8TWkVAUIqA3iJCKA9WXSAQpQAU8woQB9oacUJSEmKYRUdBFSoS1obiQYRCgqyNiOKWARhogKBFRpPXt5JzdFBZUSiAZX0bwt6FbMKjHGmGKKXChaIgxP1lHD0bmtpAlF0UdkIlUPWDwAQRGUUF6ORUFhjLqlHRRoGEzVDy2RX3qApSUM0ISp4oGPaAGfvcOsEAoBXbAAUjFglu0kR5AUIBjUoRRoUZzgzcdEMdIMOUBPiOycIq64KqgigvnYChoaINzOIMPten+hhAGoB+KQSIkCkImC0/WwVUlVG35FOoqp6NTIKBEEiYcc5WeqyplIoCVafQJkD5AYRcbLmlfO1FBBzXWcwZArnlYCKEoneQVKhotGAlbBYFEUCVQaEFuI1UCI0CtFCmlmxIKAckIVa6UQOqgD1zdAA46mEAjEOyr4NAHQwIqFGahHkfUqABwMJfizECEB46Emv1kvkMH8Mww0KioAFUAIlciHUTv3wQ0h2AAwUr4Fc0gBJw4QNQJALEX0hAwQQ6CljCVw/ASCGCTf+AIiEMoDSUinikHmYiTO6eOCSRRVo5FkEEUaQ0hOIvUPQoqKBKKH4sOMeKnwqqpBRw8htEKMQ0nKKIwOFEfDpVVwV00DHTsoKvDWmecExWaxBarHFmVQp+gF/CNNSk9zEBdQVFXpGm9CvUBEulAAR1ADNBRq+CZsWAwKyocBo9oVnylCWQliUdJGokQer6VAmLA6CJS+BNIVRLjJdAKN/QGqtLFSADYu51Ys8WUFRtJPToANMyQD4ycloKzAtUVOCZ4D6iISC6znCShUaXxwAYFBQChGAVaBp5rhOCwBQVT0MaSvxiKbqe0n+YQpwQ+ZTZHmDS0pNbsRseUwSBITHWqiaoFZ4VNVhQxZ1EDRgREeM7+IMhhhkoAjaDZYlg3o9Hh+wA6sI0wlQDkGQaXayj46gZK0MSlNiFtixSAvRKdCNosiDgKiuEBCiSOIFg5+NN8zGdQGfVWwESwSzRngLdbWAsJilFE8raJ6aFQhINAJRXqA8FoiQ9WroRVOKYrgsYsxFhg0DAThFJJgooy4wjSGng2VEPQEGykRUdIYYlrCDE/JFhgloWF6yEkABC2RkcAKTq8GqBAnzw8HZLjX0c+nTKRBsFnuKdeFpUAqorxaQigNMk41pzQ0JS2NrtGL8oWqY7FBsA4WpQJbBYiBZtEAUJRQzbOdYK0UG0TZKXQACQB4miFcBFT1mSuxSQAUBZciL6SR9B9DMjCiNhOx6aHZLQ1CiWUdAR8kYQqG2NvYFDgARJpEuIELqdQoC1nQSE7NUlGlgCKAJIg8ZhIqxoURUwbqLhEfJHQY5WfgAow6QJ4q/IAmpDiUrkQGg8wjLAFn0UABCKe55oEEufBoAR4o3WqrwkgnWF6JIIgUWJ4uQQAxMJ8IRALAD6XABu9BMFjkAJvPwrAiewKXD/qPfGQIT5EpU7ShjianlFpwSlRa6EarUyqqSAogSvHZykiaeU46a4AGEpyJqKINwPEA0ZCka/pVR9kWR06KbCOg2LqBHjzcQdUJDQp9yENDYJqVgFX/AFECgQeCiZqkNggcFC0hZcbhkdBBC4MjDwHxClRiy1aVpcTFXg/QVogloJRCipWPQ0gmVpMUJTVKPkhEQQxLUEFAqwgmEVyQQAogp92RamzXKqwggVZhhiUUBNU4Ij90KNFl4VQiOxizT5ScKCJ2oDbeqMPlxdZiRKz8KBwRFpQhgRGuaRHKfSUSgsNECMA2MYREFQSqBNUIaIRLLAES0QiCSJA11kxdhRobM0jBhEthXK4KsKcXY3Cpt4PG5EqhcFvWFQIL5ikB5SNvQVGwAxAPioIbBRGK5LAjP4Oy4oBdQ0nGlAvAfbQQpCl9AdWKAGngPirLYxPZQAtkG6wlIOA4aqBjqBPPiEEHGX6KwuMFurz6jAgtCg6RFkHPS4sIrJccZNhUAsQCIDdQoK6HYXyLoQoaQA0KiJpqNxwggjS4iRICUKYvd6QNlxXuiWo0Wr4ICQrq/NCAyGhJj+OFJLUiKg1Ug4M+HLxkX4UqqP6dxQLISIglarlHAQQUKBHFzdiGV0haGKvoroq8ONg7qoUNBWANB1SFwlIAyQRAuHr3cjbAKIxAUaSnheVaBC6jq6BxBJjC6Id3EsJ5UsOiJyX2x5GKkM2IioCSc1KQsgj91hkERPfbYAwGAJgDUaKlY9OQIZCSFaVsQtB8IAUIQn0Bgzo0H1CYppWVcnCkRcHEkPJyZlfCmu+whUTDXlJvRoqwAkQsaRSNt8gQUlk8Cg9zCoBU8W7gSAdwAGorQMEDhtgU4Mg1PXFOU4IwKUgSGiKgCVHzMLbBemD+FBNw+HpU52p0pAwNA/7p5uCTeDSSbliryPb1LGINETR2KApOiKBgYhEpzAIBnBeaGWDkDykoMfxB4OqiiFLH7EFGEKIeSOmYH+iEUKRAeQNBjj1NJgkBcQkirrmGikFCAlERIpK4soAGT2BjGCaL5S5UlhckIKGoiDYLyLRhokkGoAgtsRXDUjFqooLUSMNBDO8yEBIKjiQIlRqQUbOxOsq8IQBCR+idq0wNEFaqwRaUU22SwUQjCgC6CmnqEzQKnEOaqJ9HRFCzKCSAHD2SSibIHegLGppQLUkYPWwjm9KiROF7UBVMlV+SGehHsgagpg/IJ6zIWCOLKYRj71qE33GU0eKnFoSYCHXSD5FZlIbJVdoeHxnQ0lEa2KzV+B5qcpECTgeuOJM4IIHMrJpLoVxYSihnrCUBlZQH4kTVKYXjSVM/oQApaswiiiACH+TIrSgyKRFZDBslaxDB0Q6C4UKV4YC8hokhPwm0KEKIsuSLwriwgCIQPCGjSIAtYPChZKrapClkIUXCYNUHBMgQjACwgMAjwoZACSPhnCSggdJswjQoCeUFvMf1dOhM0ijR8nMbFSJBUziWHIp5AyNhiJRUiLTYgE8QAZClXGhMEgiGkTPVglJFwWAXDBUI2wHZmA7N9/AAESp6sVgwy8UIL6QMQMh3jTOysaDiqFKBQCmKkk+kmylb91fGfzSj6UsScZKXovd7XeiCcS3BI3AQekzdQKydAQpkYP08Ns/hhAMACK0DEKCMdZIGUar0teM0gYCNa5wTjKgmoa9VGM6O0g5WdULEOHRUSMBlw4nIBWWkREVP+CxDTesnGkJC9JoGu7RwBX2gFOG0qufgdCoFuDEeIwNCa5UE/jRtXiensIPoXFaaK0TVJ888gKbaqYbASgg0HkAlZITRkHC4Dqk5HmdqKAh9WJWkVomPLq5RoIFQhSNHRfZ2kmdAVsLkyh8UPAM1DGhaFJwgOgCXx/RRaWeyuBPFftWjwvBEoR7gwBQ1quwYBWNpl0QRkpCPA6kagqYsaS6x6onhxSBVswesfuIN3gbsqgEXY4EULASrvdJOWBlFGlkFvqwU0pOYj60OBMZFO2BHBwGHQCXBTQ8o7SKSbwFoFRxcPJQwEAOwJ9QdgHGexb8gL8LqHbogxQEemcuKiGxoFUsoPUoONQiKCM0DAUeRr4CKqZgK4T4RHgBBGZENIyI8BWukCmZDQNDpQYAr1KmQAo2A/IhqRAihJbngQqcioUAMGV8yIwjii91loYWIF1fsrKga4hAJJoiPJvFahEwKEV/EQkHyAZrggAKILmAEbQEFUzIDPojcGLQnocMIuURsVRQUQHYR0VOAxkVgUmiMEX9G0xEBQqG6ENrTdPJymjrBYFOC2gPLHFEJcjSNMFfVHhvub0A1Ri7KRsHwyvkIFDFUgYlUvAPkz/jlAEIlsMqKjQBRRZOghcKRFLZHzFGAHSMX4gkACk9J6AfAIyP6qFFXwmwKnFgoarUPExSgod/UEVYxQX0C57Q0GlC6OFArHLFvoVcs5CCKYmj4wUwj7wVRdcjLKURwfah5aDqzAhIABzIU5deoFiKHA4oSEucjhWoDAFMARDa8EyuAw44WxgkUAFFdnMNLFhhijIFCmeAcQB2DTiGEgpl/Cmg05wEaughX9oKBUkywYEH4SB5gg+LuZLpJuW1BVFCJ5X4ZsppNcQhVoUVUEGLhgIlAZUNVkQEouCiuET8BH7KgeCVISKERwbQgIYKIfJ1JBEScgqPaRUetvimMIIvxoLBi/gELKTFWGiCAhR01oNBQBfBjUpWaxL5jQIPWMQmmIhLCICkFhpRuAEH4EtiEom2CkfHT0JUZFL16xYaPlhBgyKEi8eK+QyQR4sGnAQGn6EMiRIQfY05DAhChiBiqJXp9RIUQNCjDFBXTES+jSAtgE2lDquEGVjERCjotwZuXRIYgsakQMqDI0sC24R5AzRgh/wBu43CrKz0zv9JLohgYhSgCIj4GCqDoyk1NKuqEofANVhBAQAC0K0VfKqZCIXHTXqIOHkYsDUSBi66IwBEFiGoR3DIogyIig0e+BbvYNhIAqFGu685AjXFhBK0dl2lF1ifhVgFQJHxw8V2wsaK6ODS2B5Iz1IjkMm9BhUzhveNEITEyKliZtJRCQh3RIcCJ8JwB8vmWwY6BhFA1RMuGtUsIpKwIG2HdUBQeaIcRcdRJmC1UaQxDAgu4PgDhQJHtSeyiESSauQTBp3UUKsSJSxFYD6BxRQjqXEBZLUWKAJCLlHuLKIwOYQso1kJPDi60EFECDkQQpURIoUrEhUAhfoQA6lcMIgT/ABRApvJmJgBFdMLkcGiDwxHwokQM0KPYJSCBCx8XTYB0CoVAvRBowk2aoVQClIBqqJY86HIIQNNKooBAqqjiIHJgcpASDiAiHiglVQr1EDDQVSES+QSJBCTEfBTCAiEgPBLogh0kFQEVBE0XLaWHqNhiiKdEAU6DaBggyOaCpV8ACPSYoxSKHRYz6IGsPYlEVC8OFIAQQmn2O0ZIEfgctCABKpaoUNSEF6Efsg73lg4VxGv1yACh2eJQL1FUYyxHRBoka+sKyxDCoAIs0PicgOitgWquEWv9lgB7Zr6wpuBEaGFiweVoACowGGjih4BGHqQ8jpMKqJ0QA0YlGgzWyj47ECEBADZMHJQAOVIiHoKERed0qFRVIkHA6hQiw7M04j3mDVgAiY8KNkM9WFJvogJ1IFxN6ekI61RpdAQbsYxqGi8eCkKEyPo3U8moIoKGKpkiBWQcf5WgGPANlAICvYDdSgYWiLWrxQKleoaDODiD0PjWIQk9WgGMilhFeG9RZzEZgIXEWFRpgI0WadrU0Mp5/aBpLtBKNRkQ4R+IWYKjcZiHBGOBE3swBUIWugVxwQSPD8AlgAVBBVkKpj50kMDKRSDX/aiQrxEQkWwCAhj/AAXaBCa1gA0IBNqQ9N/46YBMVRENtX3A4jskk7i2BRpVqlqABoqLHIFlFCqgab4WgmIbiAICCguojwAuUJ8nLY7Aca0Tn/QQWkBtGodCrfCKghw//WvDAIKg6oICElUSly+FQEfOZaYHGSjgI5Rrgfjcq0AWOpAy1iSos+IlIopISiKEbBPSWQgYHwEmKZgKbFnFTgRthilCiEAnB9hyIQLO4DYInOJI5oorStXrCoN0Y+7kimGCl1RJw0XxMJB0CMFqwkKphp7MeNlgUAsVCsNgQqLLsSJRnZrtEU1R69SKuD1AxBVSbkfEZAcEOlAuBpRETjZDBaoAJkoh0CMiPkDBEIaI2H5FA0HDgYRYsFMIhU3WLeJHtXSiBciF4B8T6xBIInGmwXYC1UAVYVFBK4gzh/A8VKk66mOwOCEAQpTGkAKBdMs1aMq1MHWYBDKJcz02hngRDrigqIDiIoAEEFleWQQFdAhSONfoGQHm7JIVTCR+lXcBSQwVAoN9MRpZL/TnwfEWAhkKiIaVQodBj5ViB8hF6fuB8pY5NvmQkYKEWK1GhQR48ACbOFJcCi6LExQkCFCKUNoRfgEE2PK3AYh+4OgoQEqhQpInSCkqaATHLGAMM0YhTAm/hQiKecQ6/CwNibpClKCo84VMQ6CEqlUoTzkiXsAdSIUKrukR+JidTqVXAGErEZ6+JoHQiHQQYIkigA1Zlz8SaAosJpCBJMBuq4dFGqOHB8iFFitTcgGF4bYB4wJBgKRSpiFqyUQrhva/SAyPrFmI8jSA/tHRNyFjFSKWaYl/Ag4vwZQAPIBVKnwIDQohdIeanxSET3VAtJisS2wKuF9gFEOQOTAiEIm4IIghxgitdRQv+RsEXyGfoefDkR6MxCygBoOMBgjgYhi6KCpDh5dm9Fh1GWAgUgITwGsQBFSEr7FosxHwSvO1hR9FSgfqC0phkLX8jIKAQIkRoetnk05WoQqqYdSLPIZHFaAEc4TfoiMPOZagLHRRLQWhFLH2NK17wiNQQQAETsFkdRATt5eCV1b34LwBamjouEsi4pCl1VPqc0PnCCLEE8CUKiLtqkFfcEhRwgsGOlbHdHEWNa9e0JBoYNRCNUgUNeC8+AEKAkUE4IACaEBgLqmMSH4okMfDq1KJchFwWGWRdNYggVdHC0RQH8W/UAKgQdNNJFMXXxAnnQPgoZeXL6iyLUhrO4oahJYxAVclHEYZgJYYBQXXgJE62SGIeClYWj4ecMC0dK+VOEwPG4pFWcEIIKIFrBAmiP8AkAswFnQRDwZA5N3HCEMv6MQvHTSQuKQdFWVQEUJ5arUYNNyiIH5BQg+1OODPWPpEEDTGCBQCIA2IcSW2IIAsDoakpK5akFxCP98Hm4o4VVJACaKUNoLRBDOJSIq3ClSEnwCyhGClAv0XSCJ4GnZMquI1JVU6yo1Hh7onsE5gOZRqUdUlBCEQG6CtGz2Y4cTk2VprQXAnqFsNXCKZziw5mohAYJbTCYxZYaDMX5fNgM+DgDlEe6MIAQgdg67aWq5XqhosAgKsLChFSo0lSCEFvIEzC2ghGiq0h45qEqMSjDGDATSBU1dN4wYMnYVCG4RIGNkvECRi0UEBvhqYdwIKoDBCIiMHwWWV26yOCKRRPkvmTGFYCIEAdw2uDjzNJT0E61pUNgCKHpaEogEXA2hHA3QPPTMkcFEokJTUYVAlAVC4sghTn9hD2UG2jXKggVQDYMGk6YW5AmG1CAAvACG040g1AQnBwBQL7DM18cwn9hGEKJHiHignHVLIDoq9KFaeziHYpDTDjK3/AFOSuEEgKSiZdFA/ALUCaMg8BjIM1Zo+mRGox0JUjBadREPSoiKF3Tom9RNFaBrTghAguGoDRinwbkQo8IFcCoFknLairfE6JNQr1k6ciQwstCymX0pUwgWFTIwgYitYNIB6WB8sBIJERqsgxVhH8V8ktWKQb1U+y8A0BPAQkuEo/RkL2LnBPBSjteFK6BZIYtQV6wDBNQjdAkYUBgm+qVAgS5Y5FWQABmBDkV6f6GkpxsReWNAwmAQKkSNp68atDJ87AXR+lEC0sIm84LAI6NFfRAA8qkAGyZxxCwBcAhrzdHhoorAFupDfKWBlgcRU+EIDQnhExUQgB3QtAQB1C1biTmEdNxWCIoDxxQkEWBBh9ZRLCEZFpsgEESTKGCwIZ5hmzFmQQRKAcaFINy4JjMCqVmFKISWBEExSBq4gqD4fcIBEzijThhBJ8SdLQ6gMFPgmiEEHlaE70pMwz+jOYHwd2CGKNTikEaLjfNU1EVbGwVc11uURF8E9tgWgqkyApUiI+ElTuFIBKWCpJVRAxMIGw9Eqlgsh3xQPEBpBTDKGtysswOwYNKaTrx1Y/phnJk0LhCWUFAKU6SkISiRQIKRgDpwJklUCahG4VkTzSQxLnBzVsoYiKDw0kNJQKNidEBqaPPpiClHDTZAhoI0jrbVFMXZXBW0FcEVfZGlS5qk1NS8PPUXyri0IhIUIxJDxHfBQ4dBAmgKKBt5QAHwBRAaBRHC0yyPpMnQTVGqJWjMB4KGwlVC2iPOwwAUKMkOLhplRigJYnERMvyBXiVoIoEOEkC6RiniAG1CRCspkAsLtAq4o1FoI8bD6hgP4WMDrSy9X3T2yzG1opEGrpJ6N6iT6o7GJhGAQPMYAfi6iNgc6JJaB6f5bNDAD4AjMlEKlMQMUqxRhZJSA/El4ZBRcCCDCxH5ptWqLYBLDjdY2r6NHIQ0JA3CLSwEljAEBEZNax4Y1LBIKwgglTTGYxEFaNwNQUBzJ0v6G6lQmBrbzsURUaUhgshtghDtDOhE0ERw9gSEOtqMEBcqOxPjLRWCGC1USpXEuNjcOkY0kKAYWytQQMYyFVFLAIYMThEe0Ggb+BHqUYtCvLXHlZKFQBFKBDB4y8CkBwgdmlAGoHerQEkORtVoHYKoZDPQSBgZD1YrWkDQghBEKAolEUMWSoV13wJRaGJMBCKokRUieYQAVOhERw8AAVe4msiUYACHakHy8SoggqJQAXroA/Hk7WzZMEgTSJUvlBlQDutCU3kQjyCUa02OnQSAQWBepJ5hlBAXKsWKkqaI2PLb7A8ykLGhWg6UAgJi0IonaDRkDEPlcw2iAOgmsg4WhgxCYQIqLpVKgUoKeO4YynQeo2IqIIn0wWApuZUFDWioYA4fEaAFEVfFiCMaOeACIL0AgfS/RY4FkEB9aEcKyhxYqIGxgWhBrQgVawLRijeARAU00VGiuleV3oqiCooggCJIeWmmdBByMmxWa6fBsEoiEL4jNWidR564hRHUI6fS+6eCTKjgAeFGA3LEKNRbJjcOYwKASWAVyIwMasImdLgpj5QqqlUL2pgBZQmAAoVKNFAQIjC3lpU1O0HkkMxZIAnOOHaIIHSQ0KIo8PgNCoBs01rIgYb45JiAEEEuw7W6UeH6GJpgMgoLT9iYsCCNlhSUhMmFKTPAAaIpFGgAgrIJYoEhcVxICD/dFETBAfRsfAVRKzVDBHR4OvZkAUKiJyqAmzCewowHCgikNAJVje6eiUlAVXXVs1Gn00gjShAVwTSMxhXp9GDJzifQpHHFjlbkWAxS1Y0YD8JnCIG4D4IAwVBngjECRqB+ynQfo3iRsqEBw+SUUUkSTztGgNAhwqoGKI4IQLRgDgQRaAqKKinmjOgNDyhgRVAPAAsW+ocxLqag5RZ7MEFCxjN182sAg+O8M1IKuhFIAIgUnwlAmzYCCYGtbBZ4vHuFAcM0kVKahSiLbWGjIFIlCQqaCfPyQnaQzQwShtVrKtFUiuirB8tlfVHpwxLzUIosiEAOAk8EAcgZlQigA8Dw7IepZEgukKZ+EtJZ9hagAQPQQUFSENRT4ULgxqoRSugIxhts5VBAT6JQ96448VuSxSNQuWsllNSAFEKmNdv6M/QVjAKCikoWASI4CkAG/NNELkcK0oEUaAAUGo+EKiDIAUiLA/ZDgAGEAcpm3GksNBZUBARtqCEHfHQXZgGTrUNEWACeEiXGCYa2oFANAIVTQwJK+CFQflyVPMDVWbogyGaRhKHqD1B2hH9IKiV3a0URvGavVaKwQH4FUnFIYJYMBTlEAOkKOxV/AK1LAJbGBJWowhBFOIoCXUTQuN3WaKDXCmaFHhIWFUQNQjwsRKUMSais9GkgANT+koPM/pKCcoNwUrEqr3VlIChc0AxBCCiizyogaYjtiw2SjQpxidN6kywVItshFZXWQpYlJKGgEh6AgFmICAClQSIhCQFFSVaUJWJRQApQFeVAVBf4agsKNe0fBMZhNKbooaU9Oz4SQCA0OEaScM255bKDM/ryo2jGJHxhiBgAA3VIFRETHROsWZO94KCBSPCBjPUpzOgRBaPEeKUgOA2kEeSU1MKUF+igUKSp1A5QWisFXmiUQg4LSAm4OgPk/ojFgFSoNCC6XptIAisCw1wCQKB4oOSX3BwvO5osXEC5GYkqEGlAAkjJ0+VJag39CP6CKpOpfKCqaP0iSSoGAaieFE0IKPY6HWgqJRS8CAApiIWihWoAZ7G90DZsRKXdDS1WVBmqBdsP7WR1VweEXCIpQQV0FCCoFJnp0CIFY5YhEgANEPX6RKlRqxo0cl9Qt53MET6SYSjP5PWEAyFBVxCyCely2AHM1JJDwg4UapgwYtwwTN0BHRQF9Qu16DXweFriFWCkkFqgNcV/NCT6lnBqKU+gUGiBVgaeZjALbTEwKLQRCrEvjzCQmTKuhas88rCEgvjDciKGnoXtm3toFH/H4IhF9QHpdGtKGCCMhQeZqR1t1SJEDBgoCbqKQ0NwSjRpQQwlIRLYVvySkKpE4giBUkyApaEUdF0Xz02JCAEBjx4Cdil5nvAbEtEAETlAi9QRdqBv40DVSd4ECcj6uDxV/CBIsOl8jzXGqDUAdBSH6AmIZBLpEiD/lUPiZVbFV4TuyggDB4Cs0lRLFiApCYoIyiEl9UUozRGGCBDqzzVla7UdpCAbtCIqsTgua2TUEGiC0Ks0Pm5aiS0EUCOCFKGFqgxLaRKl+CapfScR1WrRGhABaMvDwFKkBzWIE1oml5QJaAcUA1M7TVqMah3FVOWNsBQy8JUxRUUKYp1IaoFPNAZnVBVLRHGzGgBNCQqliRCUCwYrKM5wwQFWHFuszBqzxNafQBFP45QE05QG31oQRbVZDQJQTL/0YKBC9QDAkg32B0rilGu1F7VxbhLRqkC1YIYrASxE8sZQBKFX7RKYAYC8nQJgND0TuOp1dSCkGWRigIQ5CkpIKaSwKrsWIStagHmgpImU1X8N53ijcVrtfqawyssKjrkAYssCYwgBhBSh77bBmKItUsCBVGIRiFQhCI1rY1CgopqlC6zo1IjYpHAAHnDMwWqcrpgBRnwhUsgdOP/gAD/syE2gQhgdHhDmTpCHgAXCqGkiESghFliX2VATNkVkgdelDovcFVBwoEAIiglK8xV+4uwoY0YQBpHiKqDWTQ4EpWxs9ngSrAShC6QRQDLwPD1JkSCSKYwmJoWB57jTAC7EBRdWqaGHqVhKJ8IkYSuE1MbvPpY4UYoTKAZVvwvgE24Yo0crHTAIEdEXBXRRiBwCDBLQ4E4o0ghMBqxRV0IguLcBwK0Ey9PgBhACGXyQGYZNQEEgEUy0Kho4EVQqk8gBMGO2mQRRhFEegRTX7UUcR2CQNUe6T6IS5BCXcJQhec+gaIhFyASoEB5L8qAYMqIkQmA1bAOBIPSEEafU2RyH/ABRdFXZHKpKQ8cRlLlQ2QJaJgITSAgT89htRT6pl5dTUMIy6SqsdKEF1qQVl0BjbNKx76j2ua4nYzGkrqKUMwar/AFUKU4AHQfXfWhoQ1LsWBK3tQmAxkKElMcP4eF4gDevVdRAlSqB4Cj2OIlJFBpCUGesAJMCxSEAKNn7SysRaTggZBS0dYIqAWBQZZVpKS5bqwgpgAtDSIhnCGAcLdcAgYsjIBJJCqJhRALQEYcRZS/RgDTdGOhSQ5B/6L3FEl5ZoFaggtEfR5yKK9xBCMN0cZ+Ee6dqBdAI2kUIt+ps1iM6FCeiP14PkBgqr9STA1DkrrImBhDTZ1LFcVcYcEbRcTgE66IEbMEwVdSRBpgA2JiIC8l1KxKgQFOkSkUEaMuKSF036mpBSBL4CRU2rA0wSQsIlPHOBb3UWF3MA4AjcziA2BqkbDKuCFSI9zs6QRUlh168mWkQmAoBjA7gVTgfQhxo2jSOE0+loACEBVWqgiYQD0+abkggGVFiqUou1Xq32E6icHphhqApL1Cx0SwkIQeEUcMUXljGdVzUIOA6Dh0err4WgjlFSgiKHUg1KAUbaVcBIQ6CHRDSkUlUFNUpcRQI+CDa+mpVadVEUEhuBWl4AKCmAiiHKAJBUyG/okOEIqwcIsg1KdIJUQy/1uGToFsBrYQMYLTF8B3w0BgPnXhy2I8rQo4CGGKBR4+vBNamgNZilkMCLIUPBghXAr5IVBEEea+fUKlGWmEhdHak49nbbMCKUARAs+0aPlQTAmcgCBFghMBfavY0ApHpCMA5rL458/NAiRKgjmUAlZEsGjFLRk6RIVQXthKKvmQUgXIppDe6U01P3HRLAXlTzQVWlkRXR9wFK83zZNU4AUhjlZApIGtyjQEwVFbFp8SPQciInEfmIFSkiN8arIgw2UsjURBBCK2OxyCpKEfxK/aUp8YKcySzVIJhBRHqURIBUoMsmfYalaRLdRBgC1RUICVFxEb/qKA0iwIcqNahFmyvhGqCOtIJC2XJhWogAKtCBAjQU+fismsqjAJdAfEx4ZgLCwteQFomogQ1nD4ShjIKXUg8yi3BlgozpGFEo+U85lhYTMRGaJfBYBVL5dSEKb3MoPhYUKgqC2Y6FI0oMR52TSEYNJiNAdaMXFKKSsKNAQ+BgjL4a0ypINDpHugPqhAdBAIiccgArQgCRPQkxiAB3jbdVGolT4SKyU8qIIGwRITQqsEAKPQyOREujYqRSzIFQSpUGEDG+QG+IC8JCgmEhWDEJsYBiGWIYsMIVrIdLEVCN0olOjX9QH4NXFcABSqiIGFGKtqoTYIkKShEilEeDRUCtQiIQQOhiQPjWMgsqlFZSlKSpUAM9OhAxGQOj4xRBU93wta9hBAJIKrT1oNIXCj3NRtESKDsvgjRXAMmuha81LLRNmtwsLzSMIMgaElWWSyzHK19jJgn7WMaAByCCe+B1WVCSQJEAh/Ty2zpsAqRXcsn9VeYhT5RKITF0UiRdHp09CidI5ItAqqxEZkgV2pNFg0TWp9eAiSxiFlRXNxkE+AChxuBNqYRUUINbDFoogkmnbFZiB5kL6zd6VC3ZF1wfILCH6PgoOiDErAeDNOQiDdgWaECooSk8ke0EoHEooIwBlCHi5Qm0NBSxy9BMopQINFlqEypa2LBHQQ8upDBQCn62xYiqFRWFREJgHxYFIIHXkU1Y4oYFgqoLgzQkwFQ3dIKN/FQQeKEYThiXFsENUEXlkL+EKZRYMYVYIMAmIitBT0HETHSp8PukIVQXQwBKD8XxPi6iiymqoCkALwEwKA1YLQox1QDsRGrQgFICUouqpipIISAHF+I2jio3hrKUUBQf+WQAicJUIzgEUxiy/wBXSljEBKJ4loMBSM6a+keeg3+zQxtCDRChcoQYSFzSKABhweDiBEoLs8IGunyfiCK8iCHbhkhTEAeFNCNMsIUWYjJE3kZAoAEFXJXGsrYC8OTdK0gJilGoWCL5nyGLYF2RXQNRBeWqiodTjqfoCyWMh1iP5hAAiYn/AGFFdOoptKu0zIWAeP8AHkBwqBSh4DwgDrzFQLqifXjaHypB0nkaTqtUA4XBVGcjuFKYGCwfQ+YPv6GgAaYETM2hVECR7cS4Epg21C8ylor3hrcHBuIP17VHhCBajrm2kR3Cw6kpQRolVADpTBiUOOUxEdHAqwNirDxAQMoQFo6FVGNBQJkoQOwWDx+L4KDfUl6MdCEaGiVEYFFq/SDLFKCwjQQAxWFgQcoh1DFpQaqeRLpARBQxoIoGExWsJEwgoFBPGzAB8tzoqVmWsCJCCjRXhXRgnpoBVEAdIIiG0Z44kRTIQDwAtfLECAhECvsoAhYyEEmhGg9KRVEEmHuELIKAp0eIMWj4CqX1OCRWEICmJ1+CSYCqd0VANjM+ARKHEAgRMxYITsSm+BF+Ri0mgU/Bong4CgsfYQtJ+2jBp59yrwCoBbfDEVZKsGI01GYB7Ov7GHichKSuwW6o4M9D5ysRPMBSwg4pBEPCgQjlnkq1foCacbf4CkW0fxAKaJeNyRw1SwxbOAUmnI+Xx/SFErAXFf7qog8oArZVl2pGiyKfIooQ1FFd7iAulj4JTKYEHmLlqET4fShgBmMWNXBiZARHh4JHC3RxFDAQp0o5qcZJ06VsIs04YBzEijKfKgQQF9UxFSEC3DyqAobj2RpftokhkGfQfCLhJeVrFQHjPzNJ4sTigtSYRjIPwfESMakDoWxwycQI8RoVpNC4AKmtHUqPpM8glxEENcIwSBPIk5AP6GogTLEV7C8/IqvQUDQVCIAIzQBLWnUK1xoyoUBg1JwFnYaFREDSspVOIDWChQpUlUQJ/UjygGhs9hNSiOfDAgi0SUKTiQhY0dtKOEhNIr0mzFLGQIVPA8qCzK4u4BuFGDyoWATCwEfCTgNad8nmysiYOLI1KyXHC1ohCaD1qlNJSxY2urcYIpiQOIlIiuIxQwRNBimQjgtH0xVlCIkgEiFPB2QoOUrQEIE6dCPh7rhRIqKOFMHa5HgO5RPq0QfgsImevOsIJFcEZLAgOugRAepGaUIIJ1kGK0x53NARonaaib9uNrngpUypEFQ38AuZtdQqKNKnoVQQBJaRCvzawhMEAC+UGyCC0KCsLSvIJFgUr7EyEIhBCyGP5QojWUi2IAIKQVp7O4dQEwoL9BBEuIRaARcDnpwp0QIVKYgkdKgMoBSTQHCkFJ4WwmCVFKMAVCiKsncTBmMk0UNFwpGPDJ56q0ToI6AlCPPaNbQiUyIBwpbr4DBb6qtC0M2MWQUC3XCRoJUFLYKBYeEgeihCxcmvTNK6CA9eFGIUC1/7xW+0xEGJYq2pZtRhCi4kFBBIZEqhGAE8tO+yra3Wi4KoV1a+WhBwRGhvGYJVPBUIjCJEKSgXwMAfZB1BCkgG3gCkn4nMKIX5SlBwVAqvNUgBAghO1IJApcGQL0HOwkUSiAwKh2x4wJTl0whCgtLKOzBQrGtBAGMHx+kmAS/pAqlJ0eFFYAK+EgAIRAYY3BdRMVQVRgYKKiDIcRAtGcQQBUpUKMCSgmv0UQbBGU/qnh2NtGVS8AgHWA+qpRBs1B2qoUD8UElboAJot5WDnz48gUJSjJERgAIiT6NmCwFQicEH/VbHheUmCGEEdiipF2tVyaLAHJSFH4IRXkZXx5xSmgmjdWlhrDzVUOdDgkBMjDCgPk0pMso8Cj9BYdE6+EhDrGjGDQqYwpSKhWZCmtJwauVFYu9S+kI42CNA2IlCA+Pc+hAyEQgmBTxTZWG1GFjJqYAOgjEoNyDWCwE1tbfKI0jZJSNHU1FiyHn9YhkDACNpgBK4FID0v4RKAxSkZZXgJcbnGVyN0TrTDzhlRJQIFsERrFqwAR+kboAQ0kbU1DsnTBkRSgjr6JdBJHy1Z8hrm0UBbnQEvpkzwAizEpSGkaAeIsZA5VAqWQS8KK+SD4qSumIlNRIWnEfka/AGmjQT9m0HzYiVhCWoEVSygbQ/DAdVshSpblVQwGs8wW4A0QoAOlbRGjFJ5VU16C+4i4ovB4BDyumYw3RotuKniBmjRYSQU2rwYREfsPVQaLawDm0m2096RRCJdKQF1kVQViL0WiDpXH6V1I1qhiJWiiMBgADVaF+vkhpdAHNeWpQYeGAxdAmIiYIYiGXsm+Q8qLXROwztAJ4mPSUiA/Do6duyx5FtwRoQiaxi0SAHqkYhpLUgIfS0108RUxssEayFBjC60sAGGHRSSrtSCgogQeY9PSCAtFaQiRtG9oXTSOYNBnyjjF5kKU+Y8p9USwiPI+oShYEEGygCLBDhcDvrSmBpAMZh7gnkQwgpSGVtAdPhgGQBHoCsUe7BihG8KjJB1WCUwwrAoCE8uRUAC6YJcoiC8xgeIBRIghKtQRx8zXIBJDmlVA114Dh3Ci51X1gNEMgrdlPgRgBKIBEp9GkWzPqk04AERW8MkMFZmAPEV7Sx8IuADgUGCrxAitQ8DZEOoD8C6DkRCkESaUjAF3FfTC1pPDCaYZgtGQTKPKoC/wAAYRbqaDF6mhVfxBkDdcJkEFhZPOh2xgV4/p6ESLYCjhINABdKKRIP+jdQ6UWRComFb/AedocFQo4SAka6FSwy7iWooPWhCwfHPBSpqALICGRAJvl0BGFgFjlHADSD6mKCB1A7AGAIDCH56aMbGyBXBEAYxgb5AiJGy/LrHWorNr4CgChPioIFBAgIgXszwujcAWUikBR9+KooPlcUHDpAaIRdOVv0taOUkGCk8VwCYJj6LW5orutCGAGjSANOjEVQSGHlyHfuHUCqtykI1H8Q2IgaIA1DRHGofdyRSsh4laaCqAHtiC3PUa4UCADFgeLfIaJOuNDERQVLAHBpgXzIpfAGDfS0IK/QtKKkeqwh4yhHkoVtdGLEC2C+SD7PwuIO1P8ARSMi7cCgESLRM0IMvc4UQgtlSroBKQoGVH2GTHgHaHUNTBUXM6FSr8BiJAIaUnhiwqxCVbggW4UNEWQFdJgdJFUBUp4GMCCJe0eDOEwkjy9oQ6TUT0qABFPwfFkv5JiYVS2uwaYAFNBviW9Qwc0xEE9GNgCYUgkWlyIJUn2tMB4sLACI1UgghTkrhsVhQVDquCgL9rsJuhEFDRMOsEfUhhBau0rpE0lL98FOqk+joBqFkoLOV6CZoLAS20ERSRjTrVKBS0RQFQWDKiRWgBShugQVBGySA+JQ6omKbHURCICN3xtEhICBRMa0C9wERLgWptApJBEjFiMFQLAsWhZNBQiAIHzSkQoP1khraRRAl8p9NCNd6hRGOMl9GXcFDCgoQuAMY4nzrIrKz6DUAkEayvB6i5mgKUSSbZhB5JSpUIRa6TjFAgCgmRrFaEAIaxLAYbEH8cH4SgFiGTFtBaAQTgTUnGZ5gFZElBofkBCB8vu1DwswFQQr1JfEkVVHUkJQF/wxAeKRtQBjj+AFqYRnMHSNzB1lWmgC+VjVBqsVpEXrKCKMXIWDwX6gGoRi2YUkMIjbAEoIhJIXkgEY6qCzoiBFRhh4Qk1egVmoNrhXgYghh+EghHDdi1AA7ksk5o2/4VSnEckg0JeioR5eLGSlDWdRKiGD7i0CiiA0pzFFrRhpKgJH2UIJDVEIChsXIzwhgSDAWFUBUuJXG/GLS6AU6wC1GjTbTorxBQJayFUchYgTdfsJDawElhY0PbhyQrIGxMALQAxURjTiDRpFEsw2hAe3sdiQzhETBihASX5+MYqtY1VJYT8LumlARmyLyFVpQAUEngQqFzAFETvMLth8n9HGlhAGkQdBQJrxtVpFgmN6oC2veXV6uV8zy9yQaMI1T1BG0WbpjPgh/wClPmrPVHGIS6OvZCCL5phDeDSITokBRCX51bsKGEvwjhIpRdc1gMGnCEfwBgdIQiAiNBgFRdG1LUizPQ5MUNpGFIwgR8IGDQguIaqgoqoJQaHpgwSwCMEsJCciq+F7AiCpFe4DA8RUqEUJLjrs4OADUwgB41BwElcitAR6KeWiiLbSn1NardhD75lLNRREqAIAalGio8cm5jIDimF0C0CK83HCKHqhqK0gQaAMI6hEuzbVa/1EWp8YbCEcFFs4oaDxfZkOoCqcAroKAUthhQZGEFBikPjQ9CZpQK04tBq5sFhPDSRCqAJ22qI6ZiK2PgisWghWyiAtgVqBFBUWlqjAEAxinsFeDNGG1gQAwYJpk8KqCpoAJEAOFg6pimipGqEASoAuFURtKCUeBLy8CbpD9Sm4AMaARK8ltvnsZJT/ANSUWM0LKkFnUgJjaBjSQBRKLxmRuAhBkQ6sEH0EvjhZCq9PqGnJ7Lt9MRgBNYRiyBBUt/gHx8QpWRcIQ8MCGJaExpmCPA1Ex9t962xNsUv0K2yfHbzShIJqIEF1Q6nXcI3QQpgYVy9r1QNCBRWEzSgQAJPcaECKhIgtL10iiTwYKAMohw2kDwxPYYbAob3QIPsodAmVdxCWKAYRfY0QBF0gospZ0arHTb2jCRhHfodESVDQ6yjXVm3RklE+C7m0IhLMaVLyCo4iKUMUDRFAUHWREtIxMBcSAAnBv00fNg5CAEui1BWHMK3kIJybytByBapKpqA1GtR1IDWsBRcAQgGENUFKdrKAgIqgmsDJSiAqJVFTHpy+JTtpDULzKBCBEwaiSigcCFCP26oiLUkINkkoJvaCKauNs1WKICdDvDw8vqcV0UTwUAaIgyl3pM41E0xBUBUOQB2UjEiIIrsevt5fmBMSXUyvTht9FZjiSxogGtJRVB9dFANIkJZYiKm4H0pkBLCKyXTKgnQAEcARwCnsCNiipCkqAKoRYidA4TIghasjURAll+NaGKJ99AILIKYAVh9SQIihSgUdGDFlflH7IgV+QSdLYQM4VETXJDxpUdK1FjUEol4oi1qWAKIxmiB42pV+O0gfggSDeRRD0PWXAQYKFY5RaCEqlcFRQ2MZVZIELAqV8AV+qpgjTg4JYEyPjvkRGaMoEQhxQAiDGqEtZAiL4PGAtw8CQ5XUMlDiXEzLfCk1ABANC3iAQ2rQsAAigIRSBlokRHXYISgiimmjChjUuCZgq9f0T4KBAjFKRnUAoTD7Ihc4wRiEIAKiGGCiH6AA+VzWIihQoDB4UUEK5o3FoQUZApEMhp8e8EGP0A0gZGK7BENKAjtSEGhQVzERFtMTtbQK8lYAkCJTCZBZscYBh2CqbZwmqQlQwJoIFFmcOuELGgRCCW6fXk9CKhKKjrqm4JFPOI0csXcOsILV6eWcOUywRGkqGKKIFgViHiCLDjC+wqIeTWkaJrIsAWMqLNJNYiGMxpDB5CCiKP2BDogr6QaNCrHgkXYCoawsAQlEYL4E3LXiggG80KqX14rYVGS/iiTQrE8AtgVXPtTSxhK7WgwOUIgP9IID7lDJerIhWA6hq5KW2VxzL5MhhGfIKFEAbTfRFNNgorIVCpzACi5BxAlEutDVT4tEGWEDA0TIUSqCgKCT94yQqjMOoSLV4iTnsEOsoAGrlh2HrlDVN0AsDBQx5Saq0BUszQoEgQEKfK6H+6ktAERmVTCvUCQhIMGIgXboDwwKJfilcPpoKsfBbhTXpv3cQjHRaJtRQYA4eEKrEQUVGhkd3EAWgoiItSmVBPoXPznsReJUcppXzcAhQfq1s02zMVRr4tDUIawUIkkAaHYhBjqq1E6GUXFnyAQAKW/0EwK1lPDQIAkNROVMOC5PRrEa0RUBgERABPMEpZcBAAYV2xDo7JAGlpcDGwYFegWH5ygjSmRQfYYMeY6goIEGRYARsMFlSw2ERpoo0MUWaUGjkWEmsSEHi8CCaXfDWUJAqbD4UgEaqtuigtTiikFpuglk8hMc0oqowBUAwQYoRXNP3EKVkX6IBQBDIISq7OgJcIEJETxULCl+6wUQYQLBB/BxFBRCLw6Y+ikFTCuSJPhiLMQOkLVUpiiVOoLaf+JV9HU3gU1lgAps1GDDQMvEE6oAKKgVUd9mgRKF9iWaxYpGzwQpaRjajcKM+pCIwcmBWrYWiRtbAi1Q7WSk/JWsQrBwHMSoxzQRMtG2NAkQAxl5cH4LQ86n6uTTznMNyh1QAw16nAME8gU1UmFoGysgDInwoVUkrfqyjDNK+F8fMa1CRgUZ69P4EUpdAJ4VrUCWsEqRbOrAnRNWA2roiQ14KkgDeSnAAWHoeJuIBXQUotJ0QAND07yFFklYTCTG6Gg6CTuDgdiLBpEQp4gHrJalQtSkNaYWPHNbLKgd/EN5yAo0blKaTHQhhaI06bZzCQbAd/QoBGg8Qc0CSBNDgrFQRVQTQCKJhjQGBv0BUi1fApMAhERsqhoIEwWsY+rS0KsyEbHHyJCSGD0eiUIDeIjhr6IrlxRovNFNL5dSs035BCQ6RuBFgQPuXUBBBEiki1PlMAbCqAjmmLPWCr0yHFR0CUyGGfcOnYsqGkaooRBi1oAbIQn6rEsiNdKQqOgBYdkNVARe1CfqURwX4JZMSqcmjQ6JiMOhQcaVvGhcvRxoIoHmwAkep2QdSThwDE0pVUSFDRJEUISTEHmpdTCt1023gRhUREa53NSLFLQiYKNf9AdpRskBajUTWNib4vAuIJO3LKhVuhuPZgydOgyikqJaeY2f0IKqNgeP0X3caR2CgH9KhaSECPsAkNIWA1qW0Ghg2nuJ1ZMEOxFhQsjzgYFITUKmaARLyEYScynEcCAEpGnsEPAzZhDKUfRfA0gPaX4QRYsAxm1ODy7GQHQcdKoIiCmuPOSKhWh1BUbPxEBPNAymEBZFIqdiygE8JkcpKOoUWqBu/oPDHAO8XIgA0pRU4R4szlRTN+neI0XCr/YdIp1hiBMfiH3DCigCbEQAa0UGeCq0lm0RLYGFyt0A+SfSBBEigx8wEwKBlDClF+p4GKVOJNT7rjZ2nHwLA4BdZ2WAWHfho5YURaH0BU4ggukiQFAoRxVKIQlTCHEW3AIsnzgkN4raNgAQMRzwGgKIgBTEjHaBAQJsJgDBa9hH5g4do/c9ZEjguL4KYgieqQxRCCCmyp1sPUMyhSUKG00gYjSgQ1AAiEEUwRKU+ck0mAHQCp0IgX74zCysEEoBCiUFTcDD49i1gYxESdJES++IJUNmfAAbxQI3RHwKDIAqMqgCwGhiRR0EcVGIAJoATsFA9D0UwIqDrMTXHAz4HgHISTDAEDNUYvQJZsI5UpodqXVTApttTCYKQytypSj56UBTQQobhEAptQUUI9AU0g1InDTtN8CgTlEV0IWXTQWGkfyy0bV35VevqEOKIQrgf7UkbE0AIiNKoQ1cAQQ6DpCC+LroiM0wEQFAZQEAUWEEH80Xa9AOylSevPAwaNIQAlGkUgq77NQQvLHbBQjGr7JmXZojxqC/3AnCNgTfbV1QH51fWgEHR6Y3kG5UZTi+jSFAbgm5CndFNI8rqHb2cYhLIRQnlyGC1UUBLULIYUfMWBYmWk0UBsJrS/ZCATS4u+iQVyjZ7WBdColAk1BTq/OyyE4GyxMBEovwAWvFtQMiSYKaGEumUAsxgKkBatSfDk4R1FqPMoEUqh0NRQlhIkQThgRQQw7yZBAJVrsNeaIF9Yu08BRUAgU1i07fKUMQyuKDiaAiGlF8OAWIUURJpoKI1p8PyNAVxFakACOjixvgn3qJdGBqCRsAYIlPqXQNFi0KREhhoiV8qaXBFWv2TM0pEGgyIs4AEIBelNQuICaCRc+StDSCTWLAQKlS68d9m2RUqgQqRROBsWdeXCkQhGCO0IAdXLdCBr+7gY3gsMTynScAiAtCIB6TTvgEAQVDFigCIMJ4DmeTTABETLjVWSpnAFFZXA8OeDqUPIxE2CCAlH4ZGkFQb9sGilh8tQBCo8tTqFFNKKRLZUxMN6UVmguVYUtiorF890GhtEfoKXNCUFKWiAVrAFvFJRUdLEeSrwkCRVF6wnMfAkhTDUUjEGxKDqiKPS0Y2eHnRHqP2ZZL1DNAp08sCUDLIIqUVD6Q+i60cmAbhQRXb2aYQHzIVUzDTYKbKsDwJ6jFIICLIgyPQlZt4GKgjFIEiKgq1rhQUajq4KIoSSHjs0goSIOoKH8JAkjKDigFM4KKUjzJF5JEBgCIHAYFjWFF1VCCfKUaAMCQKqe2iIVijEGRpYIAglK3Z1moAz4umIgQVVMKF1gLaCmGF/w/kYJgAI8QEJi/qmDpFituTFaGXemNDbhWmIGwyEoOceMAK4ChML9jHBENUDg90VElIAWIkwaToeqTBJgKgAZIrAlr5SQk6CN1pFRpVTCCyDBgu6tFEGv40OKC3SIhPSyCCfkAhPXyTqBECqU6KW1VEjePVoKAY08yPBavHMDEcgUjiilCQBdbRL+wKDoCNERnqcfCyEUgRRKQwNAKVuJKE0iiiKDiEfBEJ1DGWd0AaRb4WQ6SGVnaB0AjAhFZTR9KNoKMSqCdDxoVdo/gGBBWiKoj2eSehJwdgFBUGXFifKESpBgXAHpUG+vQmlTagqCnbBQMuwjgaWqGaL2hQBUTgLoJJDARFIgxAC0UGoPGQ4gnZUIV6jUIiDCQy4x8QlD5wTaJqgIrpt6UVM99B2qjU4t4GQ3iQiRQ9EkIGpgBVJxWI6cOQUkcRccSXDzEBiaxhTxWnSwBPAELojm2QgQQ1JYW6OtqpH7KJQiKevIdzKqcIhQLARNCn//EAB8QAQEBAQEBAQEBAAMAAAAAAAERIQAxQVFhcYGRof/aAAgBAQABPxASFixLKsAqAseFBGChBRZKNhLhCcoSpULZKAQQKYCPKadyY4oWkCiNZXIs2IVDASihqOBAVari1VWIoQUGE3DCqxPCAhCDSyJHvEvwBA4YCCTjc0ZHcvqAxxQkQ446Lh4x1GIaQI5bxRrJpmqAfgi8WzosIkhTfUKMAeIhuWYVIV2VEPcGPgpbNTCfR26CqdkiP0zEQiAEUCHoUJG0CLugePeUzYjXUMCoCUiKeo2QQkHF+qLozAKuOgEmQBPRBqQNM8QVwqUq6mqQlpwbxKUEqFBRkJUIRDrjSsgfCRQEQ5MiYgO/ov2HF0/0M8nOE+lrFUcEXwJdVZEWQhZe5dFg6IA2QBYksLoEiwfWsAYf6mKoWpZsQNKC9EaIpbKCjzWgShUBSXAJEpbkeAbARXN6cZECq3BzggEvDhrrQHQEJJ4URFPFxsoOapnbAVgQuebKiMULJASECpct1zhxyCBvrExHbIViohkFPgo0jEwkCuxgyEtHo15Mc7oSzio2L0gGVhNDQKi75D0VNWwQgTeQgYwnoVH26BwQYQ9Qzy1C5rgklSVRTWUbjyJHQ2YZGPwHoUgWUgF7iBUHLQaBhuWvkgBMgYye0QSvSZDiGXQZPGlkpcpUKBWuAEqHXRJJIaIgRCQBFFcyCEhJEKpIUACM2QtKaDF+ES3l9EIQr0jnE6d6PmXgdyuFRDdMHBJRIs+0SGyGccIP1NNNwOURlQ45+rIRW+4SAbOi6NlhQ8mCi2gId3AlmGAqmKdYUhcAiDPGyOKSmu4RDwUQTH1mT9oIIgjU8RBgVAMpUomaqnC3EoSGIAbLEUlvamuBQlQ5EnkyZSkIENAg9AADOFaIgkSdJozJ8w58CaklLIAIiChOKrsWwRBrGoxIjhQ1sPICKO4ZZAUQ4OgSFECoJkIa5D5XEXaCBYIWtJHpstSiaCUlAgA1yqnZoBA2osdCQA3jidg8DXyFUNyJ+u/LCqVEOPD4cTncQkCCG41pBekNwaLgYL/akBAS4/GABK5SeQBk4lAIEIcwTK2DVpwkibYQg8QAG5ZAPFOkFMLogYqAYRdTfSdAatQS6Ppj04K0LoiqEXQDktFEKGpJ4ATURlHxyqcYpGlITVjzMPM4PXa09DHhIagoKk049xYGgLJbgKu4gweYIYYjMy2FAIIL4HG0O5CsAWiAYBIMqwGR4GCUBonQQly0aooHwogDJUygKMGsxWcABlAVJCNVPhAZVNw07VACi5KaXmdaMUVICwc9bFhVCDpUJAh0JNUcPgYAKvmQuZRfbguyMTEaizDAMrCYlFGQN0S6OeAEUoBKhm2BjOuNWCBYwIjeypANCALlDpSq1sfOrW+xUAXd/gEVrlFOIc4IoxO3ZRAxpWCoRa2h6Ud2YqAk8umFUtKAdLMRWDJRxKU4A4OsLTEvWnWFVd2pkEKKIW+zbZPwIDSY8TyAaSDBCbkKVUyKrGTflzq/cFRFUKTFCM5oRjYgIAIGqhTRpgeE6JBACQAJEzwaiZEK2kHgHyABwmSAIAAH2ni2Ssg2V1QF3jpQOykuC0gEiogCH2kDjhiVVKQLFjSOaJQuEWy98v8ABZQTgaSncmq6gtRhAcG0q6gcdkN0IIfSKoxKycEUD9RSxyhZBpQij93gIaqPHqHBD6V6OQp0FnlCnuhFUFRGz4Lwwg0ohsXgJyhrrzUKKaCWKQzgKjZ0CPSJIsg8ngkEfRB1ZNSuAwMAOfkVS+gzsOFSooIAHASxG2VXiIMpQCThSwOwYQnMpAKi/DHgISy3PE+LYkIdz+UQiwlA0mxYIoJmWI3FjXcqjSkTbbAgWn0h4ijVww4tQpiozz4FBclV5OA/CpAEkEeqYEAugCC8goBuyGQQUYTvCK1iPEkQxADZDYAUtNjGWKtAKChViQppqAoEGB2U/wAOAgCCKElrpUQkmAgCjKR6EFjOmnU5koxRZXQQ2CqNIjBS5gIv22PEAcs6uw4K02iPwoUFYBONdQkxAwZun7Ga41hu1FKn9EamEgCkJvaatAfDAFhReCgFAEEki0GrxoVWKLfC9sATHBFAJZpHUmoriaLDBFhIp4D0AN/SqDp5BARC9QlobUCRRkFEoQA8CBhCgwEPwQtBAJKcxQxEFMxgkIxeGetFMumtgCkeEf8AYigq5ERiRigKmJKgBsjRbVmELVDzoQYvmPbQCaTpLHAoqp1ksyFJIge/OiKUaTBnlBt6/iMCr9hMyiKKpNladUhZV3GHwwkr6rgGY6KSwbKwVB0w8Fwm3BhgKggRhPgkD7w7SDkJvwCISZBVwOADbfsCa1wyqFfhecQ6IN9Nm6CicGMRht6BR+AKxOjfmMMMtoIATV2SOgKGg3RUjcbw4B4y9fZAJOFYfEpJGaMCJL9g1A04TY9BFNnD4WXd2w85tn2JeCaMCjM9W+ZGxVErDaDUQqJ4GyfcozwGhAE5Btii0AofQppd4DbBvFUKeCWBNTk9ZB+ARotMTDhugUKYhBHgPQoSUObC+BABgEGmZAKAdVAAOgtQRgmiSBVRUgpbPNyHuN3gOMEgCOJMijhjHhi8B5+9V83ocA4RnGkRSQMfRYq18aVduSuAApYagThEQy5UQWBCQ41kJeiIIYnQMMCyHgh2lYDTAJBJEdIBqXmFAwEIkx5OFl9yilaCpotiQiq/oYIEgQcMARfIsOrZDT1BY5ADiY1FZr8h5CPY56EugmMwwNfFsqsuoJZduSiwsi/WpNxVEjAAITCCy4kaRAClav7tAMHCWFfYBMx5nJMKuM34cAAAGqYgQCjjojJhRLoppxpGI7CIkVVauEU0Q3mGocvSVGDaUYqfGPgn4EIbdQ1LDIEQKOKpaoAJWfYJBIAOGrNZAlbgRJyOGVoKKCn3qKQUGgZ5YSBoihSxAAgiImqjiCAirQBSGtLF7umBjQgdExTAIK0Ash2yFAlS2NAtGjA8FzGCAWkTmoN9PMsWG34tfHD9QXUrFyENHiihDoVtLApjGHKboKFgALCORUcozILGFFF9rO+BDSUjYxhi5WZGwhpUdrUtEVCJ9KuI2ziPuFkSujqTWhZXD4W4+O6/jUCAfQGYHcwAJIMQIAzU9F01lI6FuAFvzNa6BU7zIfAGNHBoNthEkDdCSTg+IjN2PN6BsW7Fn/ZDHqgbFgFSxyOjoiql9iE0rDeU/s68EUpmIfEKApBqiKwAksU6Lh4r0pw58YkwihSEUZcQdnAkaAQIpmUENnAzjGs6mnWEDV0kgtozMSkmBDQ0DEOBQhUUGJ4FwqCwIdIktgsG1LAwLcMw7hiBRkTy7QgkFQgVRuECSzAhUkEs0iQHtwkicov9Jqp1jM3pGOn2CeDsu0pQNUEC5JQgHEVgq4oYQmY8EanEaSPGErAOGBG1IawmGlCGPt4qFAYDBjlALFJvVqQnC9ZEbAHnBwRMOAtBAkAftkQ8YbBnJTPiWSIKeY7lI34OiEq8A+AKEAOwGMWABOThGFSQaxCTwMQ5XExLQBPCDtRd7VUBGhYioQfp11hTrkTv2qhmBzMI88ZYYFI3oIaBBc+7JycElAT4A0g7J4TGyCokCi/SJ8JHUBSTb42jDW0C8OGpWLkMYCORnRCUAksIEyogiL1637eh0ChLBJRcQx8UtFKCkAkCsXJE6wsGWsguM8TMCI4AKkswkwlUBHgghVaNRT6ARIUz015hsFQPPa1Faqac3BgquCBFEIUQg8HDoIiAkA0PRUh0CYaMD5WAiYy754IwHsKNYgIixREA8WWdBM6FCS2GA1OFThkIcUDIiEJ8DYAl4KUQoC34zSqGhpETIKT+RAgViYRG4bEwjVRFjIMwBNUW8IGUJNJBKr5hlZicAJZBiQAAckY4Cb2hnKEdUEpcZnkAwKqmUBlDBoUVplXFFo1gUHqjmmhUaQIRS3lonRzMN1HRHCBkEaKheRIoSNiUQtV7fVyx2VEjJYrBR9DUrwMjGMU6YfxoRJzH4Rqg16CBkJekpSBiAlSAV2RhkjbTDrAI1OYCMua3a0QVg9igMFQgXmJkpaQIQoUIp7EXSKjRnEFKHDLbmFNlh0kABtaFQD56IfIbky1OMWRnAAmJzd6eKhWdCKVwKlaIx0S0LtmxhS1gVeYxgiAtLXAQIcHQm7Ciu6EZBCRBo0KmCqWW0aUkhVT5N4gEAGhCiMsYuGTrq1sXiJKb3iQMJuCgAwSxCP4wZCrgKpVcbCGWPeaajZtCaJADWSdpsyoZwwNhApU3HrMgD6MWABXSS5zCBVAqQGdCOIGcFxkBotAiBZZoagVEQw8CImgoCxHlUkDA5FeyFsjh6x4QijPBwBG6IT+ixNistYlNo7MkyGPe+UTkk1mEFAmGLZIUoOvMHpE3gtbgh9IbSngRJQBhC0EVDQK4uEAK+tqFRlUCzqw9CQUiM2EVBKa0kBEVyEG4jBPEQcBRdbgNJJuKcDI8GrmyetSYAj4C2cLCCa/BEbp+vEMjpQezaUoqRafBxQgYuBAqAEkMg7sW7yVHQlhSbT4DQ+qA1EQBD0MRU4zIYaCAsoSpPjKNsGlTicJoIWNG8QAEa+IhUCCpK9mhwkVgrFaotZhVzkBj68SIbQUggAIUhUszRDLWmhBVSoAi6C0FVAoVINQ4ngGNQMEZ4Q+4QKkJLYJSTrSRpxQCoDnrQ2QHY+SUjIxCAqUfQ+/RYLJAYEGcIjRT6QVAlhNHJ4oAMaFoxEl7C67H0BDl5AU6L1QKUJdxa1lQAVZsQqSQ1rk+hihXAF19LSdzwAEYqccgDXvrgMQpIk1pKgKMAFJ1oQIcVU5+nGkHI+oFXcaYSLjsv1tw4ClBh6C8CEUBqiUQWIAKsUsuSvmlUQmFGuy0RypEHAMApWEDF++AcQ9oKotChT7UsijjMYkNhOPU07BWNwCrEFuUGEyUSvkipHVqDaogKABDyGIQQQkIYyQMuAKkJP2gq2foQtSj9bCxL0fQiAfcJoeYMporlnqW2I8EFVpZGTGAgRMGhMZQU+S84lSjMcfbA3BJS6carmMia9h4nRxUGMkNxak8oDuUJUQHTRQFB3VwJeDxSphZhSnwk5aCSMAGomXs6sIhFNIiGmDQZXhldXw0VRNcaT8K7ATI5rodUWu04eElIVcEKzcLIft+zYolhejTVQdMs4ITVo4JGqXuLW2h4TJlRStDQCtyocdlkUqqMbcYZbqYKe9ST7Kh2PT9ogiFYVBTcVA1uQTQ1isiAE33hJOiBxQsGLgLBOASkIgqEE5VqwQAnYJFXDaooxIh0cxBVugVSNsSgU+WiWAKR6DELGWquEfQCQUkX5fhBzVzKDgGMcGAwAVwDOJKL+E4RGHY/NtFu0TIFTUIhBEEkqzKJFSdM1UBCFbdpiBu+zduReRxuoiqAmI3r0PGNsNENTQaKkb0AAC8CDDwPjwNxlyAI9KO4FM9Ih5bBGWQxQNAoVYBgwIBBVeDEyLeNUTF44FixMeHYBIF4tOOGMQUCEhAYkwqJ2ZmASRGAZBbQYSoldAPwJQgKSJaAKLlguE7BqwKIuirw+aGZgSEIgBiBeFcLmwBQkLFilogKATgBEGN5VThWAkHLwuSQlEI8Zg/CICh6sVEcD3qgAEwHVFTUjQhccG/AXcNErBMOOrYwGWuAlftzTuQAg4qAM9OIKUP51AahqWCCWEGAS8sD4ITCLjrSQoFWQbD4RZ4Lo4AnU1QQGIYZ2qjr5CVfVBaBKIFGnoDB/aggsIhHeHMSFAgaoA21anc2ckgUzTFGy7OBJc3SoB7TIGhrxKmuiFiEAisMAGH4gibrqCIhoQQlzsej0Cq8Y04I23DaFjZyIeREr5IZSZ5MCh1YlKF0NKPALxMTAaq9YQDRM04CcCvFMgAVCHgOBiGhBUiEREMmM+B89DAASgmIGEgIQCGFGAUgCB2+d048ETC4SJIRiUNPtYR/EaxRRrW/pOur0hEBk4uOhHg0FEJ+FKDrV+nKRGKZH7CByGnBdtloEq+JiHlo0wL4l5kABwhxQqyMge4eDWySPDceKCaMN5BgVyO/onHYtgQUFi9hi1RyohzKGhHXSv9CkBhYERSwAdWfZgYCnxAFYpY6FOgKLMMgvFBk+DjQaNBewfnEAG3Ta0EhAKkMBJCVJQ6YgDMBQJiZQBAdkpswghRGwWhaMEAOJJ6DaUHCSQcAEcUwwHoVOCsAhEqE2dLMFUkMaAomvKpWPM1D8gI1JpCdJFYVPjUS2eBxUgIEVqhls9BtqQMkUMuc7EwVqUqiMHOOaTFgIMgD5dyViroqA3MdQkj97EBVagRGkWCEeK6GGgRJV7KDqCM0DwMkLHZEPVk7aI+tEKsGyngZ+CKSOkBUgXYBw/sMI0B6EAQAiA8TMckKwMyiQTLAQA9gL78IQCGLDRnNok6Y+ypSAqHIOKNChEGHmg7AKk8UIqQlDJYiGyF9OEPKiCxQAP3FgI0jbW1MXZQWo7oUKGZjUhhrgAALBFToxAlDNutBVupsA89YOBIWGjuCkWBsroJCJBBsvkE0W+B9UMoNXzhjYRCAr8D8UTgTtKCqU44+UKBxA3mEyP5DcsOY2A1s7FmKI/a9cIAXKtsKbyQNb4dKIVNlqgYFySUEBQKkoCASadFSeSLoLA4bbGEnKssEYaWVM0bKpE8IGkaWEVCjL8RYrBuRPI6N8ii5NIZH+Aj0oUVPeLNhFlFQ4GIIFCGCkJKRMPEkbh0DQu9Q1pMnpZAPEBEchBoJAgufowgdUDIvpCIoAASDUf0AkgnwANOQvAfP2DpQNGAkNysBNgBshoARdk1A80eIDhDMESgjQmxRRxSKDA4q3ukG8oftDRtCCJs9zNhpUiMAPRRG9hCEughvsWBjW81LOiiE/k3CrtzhIzZpEVnBls0pVKW8IjKCpEYNBBd1RtIQNRMAIfjc9cHJjpcLq4WDRBcuAFIEGcMqi82SiyMoyJfGmAfpeDPrrBLMKGE0AkjiknGqECXpKKRql0SCy4gEQy0IIDlkVwUBICJbQIY+jtChBQXecuvgScKBxazaKUNMiUte3jsAyXKiAgVggTgIlZcTGtYKlgJ7ilBEXEAyQPdB0YQGxaNaFiGoKEOPIqulGfEES7WAY1QGJATFSRsRZQNkMnXEj4IAIFIn+FutEWCtUAK8O8ATQb6ax7aXCAsZMsrBKkxYcO5zIEWGLaDP9OgBS1Vgkf0NQoBPhfdS8paJCjfAGlF6YBQPrVkpAOysi2KGiIUjG0Naxc0BBHDADaJIDj0mDACU2ASbfQ9tNNSgCnYODggMpYP2BSaRIUQogSQ+siTFQCtPTJBchtWVS3YyFfdYOMAUJABpBSiMEP6yynCGDifikQ5GphIsC+Q+iuBG4wTFfVDq0QqShJeFacOp/YRWAT1EICMxePquk0kDVHRGm739DDxAFsq1DNSIyzsi3EAh9UgNORQVmrAO+nlMtyCALqgKoeiiHQXsQPDUilEJ08FGDC0EWxwUkO3YBDceLBVNEhrIgKK6pHQvYaWh+UcxVVMG0jZ7qFPRSQS1ng2CHsW30bDogqil1rOHgL+pIsRvo1Ki9HByI3WyVIg4QPpHB3odA6yB+eDeb2TCqeyG/ZlSNJxFxkPjSBedcENfoXoDQQ62QppEsAjNVGlrZewIsJBBMnwipJH7uXyPLKhT4OL4S4RfBh8FABicGlwic444IWAvsA7rZ0AJyE61Is7cUg4E7+LM4I0JIQqkPAOSWE8rT0dMSQ4k9hiiUxJu3aUCzKqDIcyRX6hDHAV7JIH02FkXiQCaorsQgNoqRJIp2m3egMU1GIAtMQwgJbjaEGx4WZm1qQmEihdQugMp2AA2SaYSsOBSLup5QtAwArTQOgkSNBUlUpYji88DSJ+DFlyTB4louvUga9oSL5NC3mnpzhoMoZA5dQKtGWMhnQsiSqU5HCSS7DSFRH2gBR1bBkY1hs6BleoE4rmUE3mxK5QS+zRCQMAaRdgF+QheJMWABmfsiQhdm5jVTU+tocEmSFdGWXlMIkhUYWqN43hulSAqaVNaR7zSd5VFqgBJJQAIHFnyyksOJlImCeP4ge0BiiIIQEjwDitJCKWtKzcYON+sfBsFlRUyj4lacxvvhDrkLgysIFBSGXXQd2Ln2NtcDwCtWoBwLSQcqzRiPkLBDjEWdAFoFQCGsirKqUgxEKG6JEkKZ9+fahpT+pkikQ9A40RQ1zdTaqts1XKVdNJwRDRpSAArqGyxpi5l0VFjFYQ7NQJFE2oh0idEaGV5UVIULxk2xUtAIVBFKNANGDZUSgaUSETQ9CDhwuAIBEAF9hWSIe5KhY0JBousJHxP4DCkIzUSkDcmOYXYzYKLO+oko6SBazNIQP2nDqne0X0pCoQIJRqhApG1YiIwYloYfRUFtpGmID6AQcgNEAiICLUk59YB4UEUxWjQCJwsg9ErUXJ0DK0sghE5PLRhiVMoBEV5NcqnMaRCC5gIQPBESB6mLHiJo24vEQAFdmFNn8LaKmZM9dQ+UDDjo7yDBFYUD8f8VPaWmoMsijt+AiVM49NFgIWt2BSDsIqA9AnDggyf4RYjAQILio8/eEK8Pkug7jqXIVv4AIEmt7PWAUU8XIdDbhPNUH4aFBCGDVIjkW9kB2i0wJw5UPGPjYPzRvVlcuhujKbKqC8X0kjrFMwUnkizoBnYxAwCiXkEpDl0irYosiRSgKXDvXx4YOvRBVRAkXXKEWDErGMwvNsOEZxYkoBCsGoSQkuAjkoSAsEJ1hqb5YjIVaQjAU0bUEHkC0QQYGiRkkIGwi2BD6CKPpp1U6dSqTKBZ6DMJRyDqngCgmoSFH+HhxwsYg/gAAbBYIC/jNiwzYjSKfKGVwuAoQhmokIIQSSqATR5atj0coG0r010sGAdgNLFoY5pGAlXhFtMOdBRPkg7PZ8LDFCoknELUspsIPfBARKTJJShCV+WKNYCJNWmnGC2FT6WkyfgisYaqBDLThfG8IemFRCO4AM153IM0TkNHiAjfhYpBCDbkGmcCVGCCoiUKFSkHxWogECSqkbcXRYOLgpdL6bRgM2SEc7O0Hk7XqgtiJ40YEfAaIVNUbIRL0jgI0P0IaDZiPNbu0VQK1MGkli5465DMqavtpQo12s5eQYKkRyHuRwxqEvwIAiTZlMpHMG4EpMoY7TFkrxSRdQd0Ao9Cp6qL7LUEIBmLOILsJNIUxIEUXFn9GJqApS2ZfOrkaIVLLkBzIoASekgB8oFGR4uxgKIAjbaq9ms4UqSANcUsDeMuBSAEVtQNJdpNIAzmKJCJCRntEXZuI01bKcKQ8NJSRaxAwFsdYsL4SlNJooIUcBI0rkb0YQtXVtCVVs4dzbNUiqphEElIdZYrz+aVsEKggICGUEEuCDGYwVQ9NoEVi6lQGDQXIvLgYNFaLwRG/IGNAk4xckoxyIQ956wDVgDR2ehl2UNcFhB8sWkJatYZJESiKkxEBJeDgqAgv9VLkVRXFSVxcdyQIjG0lSQtbxM+4YSLvTq1SpUWGG/JpFRyStF3hOHmcZqI9tAKJpREgxdLnbVaj4iO89ML4MDhmGKBz8TSFcAEeAzwu20gAwBD9D1BwAIfpKyT6+4joiAAVsX6ZFM8pwaVjbwsy25JFljWAulCISr+zpqYA7SsjDH9Siw0uEXNzWA2g7GwVJWopCAjQQRAlBOJM8LWEEbReqbjhJjESNVmnmCfgg4q8CVlWTgawcohwktRewB66oItUTh94NQTohHwlffGfNdUmkmhGgRhUI2svJJozYRWhQFsgonYykK46EkRvGsCtiqha1QLs0UoY3oCSASsMLqal7oydSlP7UQ4QEhMdBuOjoLaXMMmCNJI7wIWFEGZcGbrmkZRKKQOFI1XrKJkAXNHQH5mIdAW9raphI4BKdNZoJs8xU1F1KwBx6ViLQRA3esF5ohSQGCAaMClA6aGj0UDdwE3xpyBRIlJdgBBYDNfrARHJrGqrIoFwCIEAikCaxUilMBMGh/UiQ4AQbe1GhBggBT7qWBChVIlaKuuEoaYTgqWEJvgetQKEv6xwX1LeRmiTS7xBpBByB3SpY0h5BybApjRhRtAIiq9JGQl6Q21Eyd3VH1FOYy8tgEEHwH5uICC0MGiYhy824ByfOLRIuRHG01sX9o+CvTAuBOlBpCiGebgg2NIKhfIJOilxMMxnCBeXG2lISSfoONR9oGgAizggQY0VYINUpiV8NGgBDstLZaihQTo4KSmZIkEvcDXsBEoBWR9gCSs4AW5A+vKEqRXMGD6mOYVcWiJWKRCYeJajCxAobHQEFQvBhSKJgLEWIQSU9uFMSAIjMSFMFHEHC6RLlwwV8GEgHgJq9lRJ05NSmhCFCaYDZqa4DGcahG5v2NaCeCFRaJ8dgMiOWoBAEJwCWyZqRJAJoYD7V6HZWozlB0OpxWJfg1SpEBlyAW0Iq0YFsEoBMGVta8crD4FiMQAIKIr4BAQsg67AeyQFEjKdhoGWeAAANy0yV9wHmuVFq3R5ttweghBUSBUOQokwrAWjFUB0NEKDaEiB09PJYikPGQDk1EEC06DuEwePlCSoPQDa6nocGr2lGpWViMQClyTMNFFhoAOxpnTWE+QyQjGyDUsE4IJVfBnqDx4il+G3ukjwfHVLqgonqHFjoVaDlG14MAqQniAPq5TfiGpswQNxehhjbKsZsRMCJBj1cUSUWmYio6Cj94hOL2MwE3MKAlMMJM5xysL5MbKtR2QIdJRDgUEMtRp5ZBhdNxEVS/kNxg5DxbhmC2NZMCCE4EoHUpSCdPASgnakIACTDNwekMcFligVyZ80RtAVQyA5DvAWEMsFAWCxFEJqbHUdAIRU8vqgWwhiIEHUOG45tXf8AgApRggCUjj1iiSuJMCgjOERY1T0HkEEUotNE8dkRJ0qYw+oDtKWXQLp02+Kgw57JXQpSL0WPVRrsEhxUYeQGWgDQgLCBZKJQQBAyQAsj0fpyCxqmfRUjcqUgXNHEiTGqeBBeBbUhjVYYvWXFrWqZdklBwYj0D1NoOx9KzbENo5cPYC1LlBAEXrXVnT2tlTLTola9SSEmIggpICDaSGG8UXLPEHJPoqmA1JlCCDeWiwiNyoBy1GsSKbJiJJkxqpNoBbETjiCYJjz07WbYcbULBoB5hdmqqqepphdLgcNUWL3cJX6mYiDoFuZ0eZWJY4oXoiRiROGYXmPYKOGq20IGHgQKBfMg1FCFUZsMI+YgTRCgCZF6IASDShDXLGtVUSIviYgqTlIBwFJVVuCwTKvE/UZAwSWSJiSlXGUg1wTpAUPCPu6d6yFVJUBDQJgq+M2AGgYAd4pHjFpZQcy0Y5dlgihxCRRBIBiLIKIzLxZsaKpa00RLcPT1+xyZa3FrxLyNUIXMr1QKAm6uOyZVkKcCoKAxEy4ZS8sogARhKnghORephsGO6qoDOMAh7eaKDWqXFOpT6QqYcAJnUKNhg/Bq5YqFMBoZKO8nNIBFA0IqUBlxZ4Iic3waeCCeYlkmuygv05LAUkAGnSponwBonxl9tORYEToZa0ONfrgEgrbcfIrYc0Y8J8gqQyAN1xXUW7REFNUARSiOa6Iqp0MXLRviOT3iQYJkeTji8VOcN4RI0K0MxCMB40m2IkEKtJx9cCu3FDUmHiqTO3DjAZSWm2jVqs50O0lUiCLzOlcX2AvKKbIJ3AiozLyIHBYEW1YDFqpM5o6cZdigRTB31EXhPdUcoMTS31WRGyRMlMsHB0CUosxGZyMCVIp6PfPKC3CNFAhVMKLMAXAzWkHg+lnTeC2ikIdGPQm2qIXjr9gggp0RQYJpoBYBwwmVIypUAHvEQkJEYqumiqihhwit4WYaMQQfLlAUTlhlqCXNIAJRaVGgCRCCIii0gE8SDCAKU0BQ0CCPYw9aMy4A6p9S9AmAKdwdACoTRCNc/TVaOiBJYQmkcoC+2YwEFttC6qT9UEIIl2Cyag5BY40h6RoH2yP2SIHGNun1votQojCMOpQjDAkspDRkk7iVshRKye5KoOj0efwyibSg2gkemiD8eUl3ALSHII5cTjSBtVaeTBRCRcNk4UDr0NZUgI8DLQHJerhOhoh1FhJoLbAA2hVeHk96Aap+EmX01Q4y1Tsl1hKpM4LJMGGjdnobPwl6qcANBDDbioK0UMOCEGiWKBFUmQACM6T+g7gA8sSAaZaNKEBhDcRhVOB4jKCGJkkC/ogU4PUnMTsQFCpJsparKHnWOCkoguKnJyT5QhEsFv6dN5leQxiNE8oWsWFDaEKixBKL7xgHUXdkNGfsFs93ghgTn8CgHM3UPUe1wQImsdIooRAk9ABOKUsta8VQRBs+oSqYGCkSIvNp4ZLAooFMQ0vwxEnZCxGnQY3AqiQWLN8qn6CCi/i8DbIolH0QI/A88FnzHMk1wtAjHQcPZc6RQEIi+Az2oBJTF+KPd0gca4MPQZWSA2BMDZAHZomG5JH5KsiOFfD2Iz+9HgBRBKWajNkEoO3UaxgHdpYOINplG0TDWgoMiE1AEACFsDd/QGPpjIBCgSaU0/xoKisyh2r0Sng3FixJhmgQCAhohMiRYG0HhX09WiVAqLcg041UkdogCDBPUyaFt0INgP6umoinRTB0AJeEIh5IbOttwi1IAwEQgkD2qZWPTfQAELopNFawq5dAMC+qQgc0Vco07haBIskONBFQqFqn1+RhAcGSY32Q0C2o0MPxVMAAPWUBgqUGYcuahGBqiwSCB0rmECpndEIZABkokqZBM6EOYIE9Ylry71hSK2xlRJGJ4AyTxYHhEAkUWqMfXCsBCQSbOYde4oBAhDRlIAo0IhcTQAWWrRHHTFyeaDQaiqURtBRXMIp0ptY0poqoXra5misIUKMooGFBegaNGn6AGQBQ6aJSCNMQYLqgOQhz4OSEVgZjLck8BBo9aGo1JT5+e14LAPOHoEyrrszZ6fBwoYaKAwcD+RmAKonHKYAbyIyKSQVosKmOCNYaovlKluEJEx2scxatRKGUzV5vPZmpEaILEREqG9RCZcWATtrCFFl4JhVkzROWSy4Qy5kt8iggEIGhP4DwwYvASBnNYVRxA0khoUREBpAtAEfr3ck0BBsx0eADEcgVzi7M+rmEUfYBCwhjEUWumI0CIFsFCg4o6B2KQpQUQoCbjiJQq7ENCO5HtPlBUR5LhboKJVhvySGO2uDE0JOnZGKinARNiAEF4z4vnZRDKSDJW4ABESAA4slyoWTQZBakU/QOQAaRRkBh4A8DBGBVCeyBOpy68TATQXDTdBiKKddVAqX/ADIBViDXAa9rTJhRIJolJsiBRUGICQbBB4lo8SBlCQhFaNhHJAajswhWKKEbJ0ndyC1EgLVgKASmcIEeqJK5kkBfDZAJZi6wlFYzoYISCZus6x/IC+gMjABQKFYdODeaQFGA+hOQV7CUokhhNZAgLESohBgjpno2iiAlEDUsENCB1gtcINsHUCxgQ+KsECFgrAqx4TRSAA6gqkRUByo8QpXHLSAVMGaVCa0w+0xYIIBuhg+ZpNBx9SKIW1ghxIAgDAWo95IQo4qKmrH0HCRBAgYHNigAEBjoLZhW0FjGSB8h6AQM2UQcZ2pQRjRYkUpw045NwuoAzWjzw2LNyJYfyTNGCw1MUZI0cyJCXdUEL8kZo12i4CECTmmjoSx6+SWAGUJBaj+pGNL2wQYAEDGgw1MlVV0IRA08BlFjQyjg5AYmQ+jJ0Bf5EIIhRGgIqgiUyDLSrEtqlqkfEIpZeD8Ug6bLgNxEoASUTWUINJSVibCFipAohTArkJQHVk6uYXCo9MI57N8heRgpQg3KMFCJn2scNaVSpBGAQpRwrwjkUJDBqiwCtdqUrJdgVEkBYw9a42tFSUkgJe724g+ZNUJUCOM4eQXSAAhUDHPTnoLyjcK8kBiRyLVfvz0BywgaQLNaIoa2e42JYkfQxIgAkIl0L2oIgoYHIcAp/j1hbjWYIMEOBoqK8QSOjeMCYASqqQrUUIGIgkbOSoCvLRgGk4SRG5eoTEG2DseWQrWffxSGMKfrgKilQHKw+blLDboVo7VU7DrFGqxixaBWJSBnhJZxQCGWgWCCCqqCgI3R2O9YbQiaNKqw1iFHOa1VAQHgItR7FAaRTJqtswBiHOIkyAg+JsPCAeigA5in1CwcrFc1W6nlCpBamzd09EOMyLZNoA0m0A+K8VrCslUKI1MYE8VZg5HhALAWiquV4h08itB8wAyorse9Efkwhn+NByyVFvspvjBtpfk5OKmqBkG2qusWpiInCiY1KBqMCPEJHKgAsKtn1QCo9juLbRVWCUpE6aByREQgBBVJyzc8L/XcIbP0shBOM4UIoA0I2MRGEIDFED4SAAUZ0mCGMmlbAiqJAZuQ6eXQwtAbRBMYizub4aihAEDpWpRZOVdgj6W6dgJKOEAlNkDYEgiXrRgj1MKKEawU8ABeCSW8x8rhaJgMULeRClIQY13T0iDht3dleUCYCNbUhVnNIFZJZFgBVAvWj5NmgSI/QRWCmdXAASOCpDBJ4bIeAKuhUSlqoCtSsFAXcJvYFJYtUQYV44FZglVGmPcArThFpl/Z80tG+VBTKVijKwDzInD7F2yY6tRWw2BkX60wYay2RDBO8aDpk0zEF9aYUOTp6p0SAQA27XseEKFDaQsFSFiAUVcVV4c4aJaaVVhU6u7KoMD1fCtWghBXcWrNMNt0VwoQC4vNCoLFEoBVsTIXJQShok0LJmR4DljIxrFRJwoEFOYakU+JWUUQpKwXDho5JQi9bvCTKuxIaWMGSDFQCBTjAFA8o0BbV9Hv/UYGyALVB/IOgFyKGVIIoMqLSzoDxfgTfdGEDApDilhQLUBT+ECASC4kJ6UCBAfkGlvQQFtLNSwQSoqbFu6jZiPAyC1oVOT0T9lUkEVVYgvW6YBB8WmVVXAbShNqzo/gJpCMng2hhSDriEpmG7PBmSQiQNqI1fWMXDXWDYgklWdoCqp4FDw3OqKPei4AMkPAEzWRsAFX0borvmA0h1duJr4SVYRQre+FkB3uNgHQ2hTEUHgeM3+khuAKhY4GW1tBMepCOJwSRQ6DSwPDALjIEalPQAetZIfooPhwxfbIChVoE9oua5ylfmEW9AaYgt1fDcaSCBxdHjEpEc6BEi5AiEOBUFTupZJALAJUWkSIo3fDL0AlQgA2lNaRM09sLkJaNAkI5FJzO7EGIX5hqUUxqYySUEIqc6ja2+YVKyPQWICwfkQgmYxU1caDA+7ScWYdFve4aUZBAPATjoEkuMnZFIsQ4LjDTIqWkemp4IjQJMLClpyz0CbpkmB4OibFv6UDyyqjikhD65TdGBVglNXm+RsZVFA4LaBeqJU8K2CMF4EmLaMIDQQdOSPXNBkBOICDZSEcAciyLDWgoW4NAu42tlBCAahwVOZAurDTWEqCFf8AgD2FyEYHSyAdC20KBYKeEPxhZIxQoVp0VHJZRAeBVQeU6AaWSiKg6jC095haEXmTqUgC0lO6z9IQthKX9IzZ0UT3E8IDAxgUPJAYkoCGXNjBI6DCGYktyD1ArtioXvGVI6ABZGcDqhYJfdGehVgoA5WuwscsURbOhR6SQJxusAFQglzBSZT03mOoNx6Eoa96TURU9EZia7XBKU8KvRCBPu88u4IOSQ0UxQtKD2Vs3EDRjAmpSS8DHyoFGYQi4UgIJJ2oVwC7Y4O+4UeMWmpJWBXUJZRi9ENsomCCygiKBniGQExBRIEUKigFEFiwF2BlPAoo8LQz+BwYuYBQMAJEzRYQbcEgMor54BP+MKA0jOK0qALzVNkBXBVJVRCgYWXiCsliQILBSEB5KYEIAUBIAe1X1FqEpKIwlk12qOw7ViEUf0248dIUEUUhYAhAApx1BEoxq2Ulm18Jp+1AUFULTCXFZ/GSJSKQiVx1TP8AMJgQwWhnR/moroEhYzljAJloeMFiB6YszAIEPUDZuGEBsSItsTGdVc4EVfghsCmpnssgtjKPgWiBUcAXnpUAUwWsABNPCJEpJev9MPgYLA7G2ktog+DIcGCYAlSVaomlEST3jxiYeAWbgNADqkBxoODzkpEotVjAOZU9hDYARWGFhaAsSadmXp4kWE6TwkIRcSIHsrgohwiqChTAAw6AEOnK1glLpWISzOJcfKADhYhQ0zDYKS9d5PtLI4BqEsAYiqmC1XR8xEgdmNaDCIjOGxVTSBVKQjQIGBSI4iEUCqAIYcKQNZDOiIPB1ZCocpQFDGJt+zTCdrqnjhlcpQtlBER+jQU4hWSCyUKgkcT4kQCEWt1OikrQ2KebgJkqPuDj4Mog8SZq9AixtoCOk2QEkA2h9FSBQoj9pAGB6kbXUNjmdhIKeQ5vz8COL6yCjxDg4GVEkDzECYYUl0oDzurAjjgxnfBT8yBmTYkAJRuQvFXPYqoft5XUAAkoQvHees9EDM0a8EDIcDP2sUUiRoQ/pZDWoaMI+00iHhRy2KD1UANaFS2gAm3MBVAIAegRgYl0hAwF5AFwNmForX0UoKVpBSEgVxh/HgDw5FzKGKBvoM4foaEOtvPKKrrZmhIQfZFoHJohXVRfzGCIoIWkkHAqpFiAQCnCeE5+cICkUTpIREqT8ImqRQUoIkKfNSHcTBzLYFgEPWo9FeBBhlZqIbXDgIOjCR6pTAyKl0AZWxMGYmYpXEqEs6cLFdHwtSI4zMGyN0VEAgwlAp4dOzOKG7GrsgBPNluh3E/NCH33MYc1LrmuIBpAwiGo5hhYMpDtzVgC1CHmYpghn0CgrRj2YKERSoKIUFE4kZJ+WggL6NQATiCLRlWWTAgTwLGiBUZxCVwelQ4oDNDAd2OCdYANCDomhCkVBSVoxp8ipJjqOEAPCsYB1mMpAgph2WBscMZQrg4YUiU3iK1TXwYDoBKIAPtXyiyVhagoAgrR6UD4BVo6kFLoKCq0WA8I2Di9pRToWDSghokGUFZYxKg8lzFiHdBL/sopTnf9lQlFkgFggZWvvuG+u+okWjCnIqRARdBIpEacJJyhoOYqYYl2sluBIDxLJpsYCWsBqoCL4QmpUpTNtFGk0RFcgHqS3YYDlsUxGBCbhUQgL8RlCM3rkpKEhIU4A1Q1hqNQMRhOKmxiAwO8CeLYc+NYfOEtALIfFHBEZgCBiiWGAbQ51PqiuiVD9iSkwPp7BBIiAgU+jDBukJVPcKkGqCpgV1QTJYiFYInqK1XXySOfaEMsBNpHQC0DIkCACSFoSIIK5FlFNGAgmjJ9tXKIBrkIYKSoexuEsQQOeSGdvbceDcGO48EaHSgDyGmhQKqWlDpGIHhNASkiBh3M4licWCJpBQQAKXFVUOukZpjy0J1FxXjUiEVfVN8I8KAjdV08fMFXH9TV1PV8OCVH9n4CoKf3GYqjGmEzBmDgLYDaL5URdaSEudbTAPoNZozVBIcyDNtH1j8HajhBZnW5rU8DgKRKrBaSpHqVQAu+AF7bNcIGIl9RTGcFFkLzAGIMCBNMF2rgUkKhEIGZEqqOmCwZRqBRRRrxR3A4FqSlAQ9KFjEaJKNIkUR2OqgKclJQJFQv5mly6Sse1troO0grrnREGkLEhdRWVci+SSEaWJFBS9SUGK0yZRVCAUAXGtyB5UM0QcPMQ4/HEroYKYCkBi/i+rDxVVArRVBUHA4DqKTCxYBiaDATbYFJouEpOJmx8BMolQI5FOiXQjY0QSKRiouqCnpOCbEMAqBhhI0HFZUldIK4nKxrQ+WRaQR2T1ywRWnhsmD0BQrDkRAcrglCJQ/EENncAmWvZ4GSi49VX4DwkUNRp1YmBIgVjtHA51lAqAgGreMqZlvI8klQWFiTiNUwCctokJAYn0luLS4Ih/CkOBsYSQxKFISMFuSBv2NJJam4OK4kVjIG0Ym2VKAiz2XTRhsbAdQYAkDAG7wdwKgKsmZh3YcMBWhKIAvYlHQzr4IgGNPWiDVEKH9JR1dMRtwMDudZWLMQWNqxN4tifr41FDGZuhFwl8JZUcbYVWpUOhJKwQEIA3RIKpCZah9wNoh9kVM4BmCBFbMAJRM6FNh+1BW1A1/rzQ4AQiCgK/E79EZdW6M8TZNUgTZR02WYhLQqIQaMxzsn+FWw8C4QJm2lUybAJVIi0BECXWuN7eY9kEASC2Gtw04yJSsEhbEeXATg4Ip8WcMDAQUiBVAYsaACEC3LJ6p82ROBcEIERAtUAuQNASoCJv8AY1QEAawyFgThuy312FctiLUI9K2tpx+oc162grBaIM4t0mDASWOFP05YABES2kc0AzIiIk16g3M2pwSHCghhHm7AWacJXMfdIDhsiDA0ppWlwf0xbAd2ww196FAGagrUEgCUuD8YaSIG7tqpSwxQeB5MV0GSB49FMdAldNFAtDhMuwEWoHLzJVYr97Bx5GZFU03rQA8QDNaRopZOTh5Z7CNYVsCMqBs4Q8EVAhdrSoYBg7UQVIKxrTI/7hxjYNrGngAOXknk1oEIDUvpUKAk6U3JtgED0YAGixJ3gx3M7Jqo1ooSQ8HREgvQ6G4a5WlMIYAQBHS2LlxEwaiSY0o7FDAPYLDxxV/tEHQ8UYMACvXaLoDq4m5LCJmWDzYoABeUYgYQ1EkQa5KACXSNR0CgnFNwoKmDgxQK4ilqsuKNo6wEAN5cChfoMh0ETwCAjSFINwYtHwLJT77IwgmOUJCrJQBpESkSGCWm0XREEVx57lIfaG/HGdQX1jJQaRx0lEcYFqvBWQTFKq4xw3q0AXRmgGhiYHuNDgcROaX4UN80cwFswNRLkGhpa2OFK5nMWtaBfKOwxWGCZPT7FkvRJoWI+O2V7ACKN1QzFYtCIfph00YjqhYQQ8CUpJACstsw5GFNB08yuGj7i2KTXwA9HV2ZyszL3IZZ9k0YEEAogMsEN42ACVJusn4/0guhAzEBjy5LKVDtAYIk0QcEmdRwCQoo1lSqBUFhYEzibZCJFUxUlv2VvouEACgKaAHlcOgQBwB8+fRKoFBy72NiWD8hlaVdUwCxEi5AxIS3oBl7AeNIEcjyJFZwLaCUiNZuVQtvIoN4ABUKBItaQJTGRyRon/USGMNOwXz5uoEINdaz28WAe12p6x5NBboDfwLa0gY0ojT6oiRLJoyvayz6a+sUP9rDT7QkFneadGqaxByAeacDxpCCEpwqE5dROJ7IAGl4oDWgeTSmSwpAM4CaKUBcYhKCihYJIFFFgNKtQMPgFESKdFGWIexUTCRbUaQ5eiA6tgBZCFQUwIToWyDQKoaPFgGVRDYR1wQxJDByCc3nFXkgeQysGGaoPHSAipXSr9DKlXkA3vNlXgBmxNHNCC5FiAIM/qcRYsABnUKKNWgGm0uIOIBsgnYJxW60xzi6HvTF8GlKsCcjUSQJLIaqiJfa94otQpuoYBvVOiqIjOGIfncVpDgBMI9RRUxNXABGBWKac+bBben0xiCJMMLhpzgCh6DQNwAIQaKmkA6QQMkmgYlhGuqF9Di4K0RHzLcXrzaRSEx4LAMcwaQMoYpULAChVSgGA5wckC0DBCHsbSPYki/4ZFa44EgVkQWISiAcDk0EpAI0G0DolQqEoGBZCPU701oiuaLxo7DSFQp/OLxLLIkAgQSgA20io4wqygVIfCDpE4xpNs0LOFggWnBtAQWWoZNrApEUKvlEByhoZSABegh1TpkwKqJLHoeshCPYoCSHI0uuq8jpyIJHAgfW9lwQYqCY9lSighhwlB5ZY0VWI36ADmYhGjQFEhanG0ERfxDIHbgGABcCIYBnQawqDVvdL5FYwDQDMZsmYCBbF+HdJEVrkb1eSrpHULeEwMG08xFvU90cHAb12AgNAALoJKcDE30RtEbUgSiiBisiI+JlSCGxCjnhlfEY3YS+iAVCRonNBCqEGfkF5Voty5FlAZNguhbLcFRFfJMRBGAN4AnmoNRZESNCawlIVxLDi8AS1qbRBbk0oEJtaKl1c+QlFSILHSG/waK4A5bniCKun2FTIuDOAEYVDRTANCpyCV2IaUqUYDHIPhH0QAPgcCpEAcwD7kFougKYBEC3k4ZKNGw2GlFboAUekEpqBsIhAQRkHYAHR8WAhBrkETgIeCULyjUWHIYgcKTrqkTCLCC042JuGEVgqoLeIS+RK7G1fMBUJ3AJSoFQR2kUhOnx6AuUie4KhQOVA2vTUIi7KpuAeFXpRCOFODAlRHOE4nLRS9E6gggRUVrEwjPPJqWQAiFSGRduAVIIDawBb46jxU5DQWq2IYVnA/EtNaNVQOYuQYFawFdCsDHc7gJg3VGQtiZVZHcLLBpCxRESECGwszLuPDdUXIn5FwRnAHqpEA60sO2MahahCzSUpCTzGspCiUFIIVmOIzbKfdOCbtx40/WLt5g9AHiMFcCr6JCiLMUWMDj17XF5AFvyCakelnXDR0UMDQQkObzU0KKLlO6qDOKLMhrABNqNYWbheabnSm7DDLXhIC8CIoGkoRqia4pgVElR4WijQgCGsfVzla8aEyhYcnJDTdFTsqAewVMph4KkUoRpUqmVoz4Zwr4BBfCXrdp0SG6QkPWMA8uEhXODaHZUB+xwtzEEKaFdCREA0qKSvSlII/LT6DcVwNgDsX5DVUWaQ6kaDSioWGkcCgBXsC0REgQikA6HRlsoSTWhBZSQPAq+oPzOIkC0kB6SYPSSpPGdKeV2AhQGVBtiPpk4ADFil2lCqvQ8IKUgjyDsmhcNgcCRxNxTwYvYSdBwr4ZiA8F42hohUE+lVknhmRJTqh+4mCdsfeCSCBNFGkgMnWBeopiCk0U0IQQqTWp2nzzYPFAJQCUQMAiHUqDitUVnKGwgoIApeBABrAKBU4St0+DJCskMGAVjYwoLBgzXkHgiKkQgFPOPCDQjFA2DKVV9aHL5XQQBQO2AMfZUYFQdh9EAUwwQAu+yTk90BGxo4pdWgZ4lSEgkAuobPghKkZxKM6zAkh6SOl60ajWClhUGhAFQkJsMmiwJoh029Ij9xUICwDLElgREZWK2WZh6zhmTJFRsAEIQQQ9eA/SxfqiIFZJN9U4pY8BOT0YEQH3sCXS7CJ+jRQsSYl6hPCgpmkUANVWFB3aQARA0FQqoCogyFu7UwokoGmAUUTtGqJSAYJ9edCISjHwm1mgQIiUIAGq5AfQBeQAGWHhgKi4FQqFda34wj+mGp2pqlqhcEnFOu0QJygoKNwQRVIKyOl4Y6xbSWAOR+7OZAZqBRrDosQoUh33mRLhsR1h1IgEpKCm8AQwa6pRS8dD0U4OhF+BUFw+y5GWEIRAhA9OPa1aDNwC0VRRcBXAEqCUSxZUXwDGKCGooa8UhGyA45MUCD2oe9Z/YCbsS9NPxiKHWgnwMYYp0stECI4akF7FoM+lawIyoxVSlcCmAG8AKSPhBNwolpY0g2cBRWSDdXdCe6EepzRpgWywAQsLEKa/oR4EdACRuNXKqiRFuLDV6x/ygBFeIXqNEFBtYBeM7+pHaTTtKcR0J9hSlfrsNsGVxq5pRjWS4mV6AsoaV5KuR6cGnTuXGMWsrgUx/oJSJmoCATOYlmNEz1iC1Y4GQDAQk1A0t01doiAxIUaesepC1Rt5VREZMCj6kkBcKyUknNIBfSBhWEnoZGsLKc1henapJsIowdBCgjwaCkAorPswQNv3YKpFCMhsjy3WQgUglVwUCVp0ihCUK+o1FMRCUhgAW6FwFIaYOiSWqljAuzfgIUCDwB8iVQsTEnsUORHkFJsQ4SIMCD33MqDUqgqIhADiKRNagACLQahsLgyedFodCgBqoaHDB6IrMGx+QCorqwXVIgdZKsDBWog6NDFJAJEf9nkBqW8Fy47BfaiOhc1XMWWKpX3DDBvLIpk+stIhXmYAMyDRjA9CDMbIg/gCryBcjnOfb7rlvzInEgrpUAHVkuYgkysGCvgDwlQTIMEKAA2APbQrpsp5DPIqMndYhkcwReOJBkds5kSGK0TAojZekLHNmSYgO/CCBEw9c9cQoLBAKnVBsg4m5+mKSfKUq4pKicQz94thkcmLYHLE6bBJSoUsVmXQOTJOGRecloG2sDtBO+y47OqXgGRDQxjrE+RvOyWkGgUtFCI2nM36CE364BJobhQ0Z8DR5AbFWAV5z3qBSrzCJFPs4d0LChdICggXEIb4uZF2FADXyvEIWYhBLLYFDF8KSwnJUG4M+QJ9xClAcRoW0kHtBSi7IJ2mRiZqGLHCEq7loEQEVIfqXNTXBiVobwaaEluIlLxGYIk2IMIqIix7RQVqXf4YcQkrKPrXYzlfSFl6oEVGgAoaQmwSUABAQJUTWK3XMoZSvxRMQyQdEOCiIMNRYy4iSsVUAIRpNyNhnWElaoT5upw6bg5ixBgMBWBPDsQaHSiCByh5JVXLULsMZQPqkBtF7SnIOSBQUI2GggPGYNySUNRZG6VcbTjfgICkgpByBeUurnpsQpiRUdOhOaHo0B+AJQFjhwe1AR+cgr8IEsxIGPrA/CLK9Q+OCi0C/I6FFALSm4l1aL2AsSUnaitxw5IwJLXQwSRs528FlCLvEOPKBKgcKdKkdoxBjyp2XSoSqEhwGyW8GpQbi+hieDNHDlJpmAtnAlYgNJFDaUaF4STKQiaSHoxxwQJ2KpW+PBF/cfU0CIiqo3g0U7jnQRDLBJWw6lmrBRLvTGUjXHNLYB0kaomB5gAryFk0WqGqmEQ5cJNCGowSwCwUAhpwQynKJZSh+zZgxd3kU4AGmV9jGMrbbl5JMlrLuKq+M1AMQhBSo2QzDgButaqCN1SXTHQFSGG0X+D0sSbWIq4xsQCQYDZEBMcAUiQHR/TT22u2l5FBB8gpgS152y3P1w/g9KRdPdWKqCFyqJWiI0hcCaCBjoU4vNRCJ8Im/kNOJJ6myqGAqMZiGYADI5jYBJZpAJJ4V/gCkDh+zTW/VUWT4boZiLgN7hu/AuDSDwiozUQ4DnilQDqEKGIGTzHEY0aWiEPQXweWSFZgCFKS4vljvEwJKlDAMD1iALLq3h7qyFla1eMVjv0pH1CBHBrL9FfMIIKIBwCOxpEKiNk4vMIoA7KKXBkpBVKAmIB33eq6FBPrECyU3E50eI0WsjHTBOBFmqqOTcH7rQJdSnWpCKNb6RoHodZkwGUyIkS4AVK5PwPCGVbFTZy8XKUBZjkziqrKgHlDKSPdBCSBYRdWFElQjqLJakw0YlIZDDHjYIi6gU0B+UN6IJiUDVqRF6QlMQlixbYCCJDyHzchiAEI0bBOAdgsUtUCoOAlzhxbTFgJWA3aqADiPoAg0RfXQ2HnqjTMUIzApQcDjkfon0oBE9DkwQnrF2MBcoDxiaUjh6EwFpM8CKMALZw+ioXHEbI1MJ8Fd9rAAFitTUrakYttQWzFHaLZJKeLAiv7TS6oh2poRNO1OxBfAPEj1Zmxq4C4QisFKQcIkvJmy/HGi3wLwho7faahO0KNkPKPYO0r+ayMLBHRbYEihDPSMHhdyns1RoHuSBGEJzDXijgLn+uVdOFuYM7JR6qdwScDjviRQetJTAERWXvExJhX0xCC2J5SzRsXARCYFVhiq8I45EcoUAjVvNhugQsCwErWBrKVHa0TWYSxxAkIX4mDBqWe4TDm21gtkUzwwRFdIsEqtELFQG4WHDMF4QbmGzIViUlYBgxYL5JBy0UIZw8fKB0MRDH7FoZ5SAihDFStouIGeCCgG7JDDBBwxCuuIGBC4H2mKOoX6e1tutISiYdrWcgkrDfYGGwoY58vVmw2O2AWw5KDh2TpRpFB0cVqCmMyPqUUOdZ0Ap4mYQt+VCgQXsVZQaMcUEaCC1Eclcwn6wDBg2HQDno0g4kqIrxBUP0OVn1EfEQlAU+3dsO8hTh6kQ0YlynMk8wBrBr6QXIXwFoIy+xYDtimI8p5SpIw+rIyyiwy40Ug0CEVRJHsata6ECUMBTEucPTgKohNEoqAruW8ASJT+QuYXFgSPK+utnLThtTn2EJH4D+4FAKAYVEwUQoYtaqgVo1qmINtQhKi1YYPgOogQlKDELAOqHg9XMasxKNPKIJ1EQCG1YIYk2ACpwsnG0J7KmgL0A8oACBKC5aQtCEOidQy1M5ASGgHzCI7Gnyyz/Rs2b5T0S6dQTbfoYCiWXNPQDKwD+aC9pisCpYSEqxEi2UAYyh0CFEAoCItJ0jTEo8HDQT0NUcHQotAQGKeq7fOKMlZwqJ04CzItR8mEEKhb7KhmGDeoRFVACgTHBjArKXP8og8q40hmwVDdVkk4gIDKEBOSUTCjQwFR+qA1EUaEUhZqI9ODykVomUXkBaQI6Fo6tCwiMGwCB8oIFsM2RXArI4ccDQQOYOxVAtAgvI7x6RMmwYxHQA9OMljSgVya84I+rgu/0xHMdktO7KEe7ISt4THiBAuhGSFNoWSQoJG8AlbSQiAdUtpa0VSASHSphaIS5IsfIWDWWsZyeHJAeqKgNFJmpLgGcdMheDCIDKtRQNxc6oVnk0YcAroIJ7rC4JCAiFLFKKLeiBkEHQPwIsclwzMKl4b8Y1iqatdCABxjnUcYLcyAKrTGCQAZkQ6wifpshXwUBoAB35HUyGMP1BQCQUhOFjFou5KYfIMT2VdlVZCtQANfIZm4AfqJgFg0YAWmCR46XQI/1J003T9CCTp0wY5ScIK01V0+3EcVBl7J6WrDAFY3A0OngkAIxO4ez0J7fyZQpfFLVh91AkuB75bRkABoxQ2AHlpV0mgWEghsgQLigLcNMelGSIIfHXybskgEEyCxkeJpRpwqiMWTYxE3kehBDmoZFTNpXgp4sOU0LhwWwBhFxAAW3BsSzWkHkcGFJvpKSOf6EJJwPpd0qAShqxbw1To+vl2nApG0jgh2hlD21BLlP6JiIWhMnxmqFqCmJ0bUAQAd1qACc9znbIwQ2kBA6I4Pfo5R+fIpGFQw7cFZFgzAKL14L2SgJTQsAGRqihcEcFPAItIQ4ONEziuAgywfBbpLiJB6pKcEmYioyABTbVGJFWlVA9guEXrbfx4BVCYpVBOhOP0ks/I2EBj3jmNt3QQQJB42aKupFEpS0FUEiyWTg8tetqqMVgIQdCmyyxmiwiRISO8Kh0Cf2Rfsg0ZvHJ9Q4QXFkIRgoV4tQMUQ8wxg59zuiUwd2ALB9g4GBziDiF6YwIGQa56LzMsZiTh0rQgCpE3gwXLZpQiA1VRYAOACgFUGfsIUj8Gg4yJCBFhiAlxz7S1chkAlqaAGjauQXiMP/QOTlXZccrXNlG3JQ1ciFaJ6gtRckKRflNfipSoKRg+MgMbdqBFOYwQDqYjZYgRUEgVBSddDxMxuzWKASCi1RsOIXCUN6lsAg9/mWOYuPTGiZFjIYCxUoYG75CmUemLxSkQ2As0rSnyl5NQdW6jasvB5LmvrAffEVotEJpiIk/IHBAMJQPY5XWrXfKIJSIUrsFVBorWAkDN6h6Ag1SFIuqCA56zhdWsJB/ECMI0Xq3T/ADMFJhExNU1vF6GJCQQFHBJLEoRV26wKyERKDHjjcGCkgQHU5gx0kSgFiNBZq0KQ+5ZHFQAoCtFCE0D4zq5owkDyUqScpOArFdlSoYgQIm8pONfXNMQgRlVMW3GAJSXCE8JLrzuAWkqQR0CYQ8GJIsAHYxEgKkDTjb912khLVNgpYDMrBJ5M4GYrgrk6FRsZMRmoNt0CEC4TVDEdWxBMMVEW0N+DNCAIAleL4c1zROBYFapHv4IiImFV50o2CSN1uAgQt+96I7IEG0wJQGsGUWKBxbiTQQVvoocGIDxNTqAQhCpAlDGqZBhYroH6UfADjEc4owg6jQiz9nwJJNI0BQKTKVURVpxSehCgMxJtYMJI30jJRTK2g4WJQiIwoMPcbxBq0AGmSoF+hQebKjvcQjFa2VCKJQ3IImWsAPjqIUDHZlCpXMZy7WjjW0gYIgwMFTol4aReLIUIoMFZ88CqY2kU6AZKwoFdTKji/pJ8JL3GqnxJ1Stxlt0ZV+DM8ulUqKb1WcGSchqKGigIOgUTlW8hZUfopyF84il4BCwVialJuLHLj8iIAPIa2EdjyUZWtqguhCqGY4PkLWFSUrfVJsIQl/gD42SIYDibf7CKIMEJhgAKnrGci5SdlZAPSBXMJsYWBQtgGzPGMiDTc2trRlGFM96AlQMRckIGI1chN0MXMtUMgxUbzM9RERDgwhJQrfn2AJAUGRCFlOItU5g8ZiheDd4gohAhxGzFAIOJPXgImlVJPgAMvFbkIiuD4CW6BwEIu8Q6DNAkERRARaL0GoMBh6hHIBAkAG5uhs9yzulDIIIG5GCAgvkSiNB7jgimxrDzVJxmfSDUyBCNjZ9kbyWZBcBVKiTNsNM7BFDRznR46Es1ET4wBxHvUQ4vFRCInAiM48JQCKlBFaoBkxDlcZCyJK0ykAClGQcgzQCfhSpJUCdkitwU3C2jlrVQnMIaAjUyqgMsB5byKoZdkL3RlD0jkSI3mF1j6mZuYFndfSAXhQg4UxgDCGgiLhZnEL1FLoLF6IhAN98LAAoke6TKgaDrWsBiAVLAQlwXE4ly8FmdgBA+kE4CjqHiQ5FVKQWJXUTNTtLX8D8k1snJh0iZShCxShrhtN+qTTxIKDAqhUaqsJKCJYA1oW2EbNUyL+ARc1wQFuNJJVlShLtAIRRHLMSmK0kE4IHQPVIp0IraJ7gpFQaOWLJoi4GUZgQhL5jF2vSGDZMR17h+t+NBIRxM6IoBBRkXAWRFQF1E0YWKoHpJlKWCddcY5W6zHDb5pNLMO2hKCysDuxgrBvsSVNlAnsduFZFZP0DDhSGiOi0qALVCsqKoDhsgDzeyGA0ESsOAMZumoAjZwVAAihNWMg7oMSwQ+ncuwYakBUl1eTQEh2ltS0ZBAhwosm5EVIMDlpCYqi+ZDAKQTMWyEARV+KL1VMVkcXgJ3iI62xFBAh8ppTf0McAAAAI+OmkmDEiHaqu3Vxm3Vd5cgZoxCF4aBaBvVoyE1fugW6Y1EGHpABSAIheZvwEgIiFK9EvqDpApzQ2RC9Nqoj0bNL0gtQJghFR5IlVHHOVoFNAgqjm922AlrSiMajIg57hU2fuM8YoF5ONzCA8HlW6FnnMz3ngmGCUqKCvEVIygTGEliBjSwS9GLT0SKAPCprki5StLahhEYIBG0DKohEEECQAg4D/czKElkKX6LBETey0k3cSSaUkOACnBAUaqE0wX4rkkRB6NBwvqggQTy0FfK400YMDBrhbVLFfXeQTxqDEL8vXAiDU6CYUECb2lNzd0JKOvoxMOEzNAkJVsNZBtmPlAQVopJCPiCows8viQI2gdQOeQ1TYDQSGQOhvCtKkL1AWaoSgRRy1xIFU6CDptoGDJH2FoygCHoyNl3XP7sBQgKYTw8RrMHUFvIXB0VGeikNQMWjGKDAE5BtCvWo6lqpQxl6KpDRptCEfhpQrU3WO8jXbQXkPXNShU8FBSyT43tAUTZXHhoFToCY4X2S4wEbEkJiCDzvK1MhcBKQGUKoOejLNSCxQFoFcJ8RqxWxYjFTNHStAGFDJjMEdQKFJ4qghEIAK9IJ5Qzg44AtJKBhJRdONUMMkCQZyHoqQVQR8VhtbgQoIHYtXEgFCOBZ/YiVzmoqA4RXKbNoNqr52lBhSECfAH5QcFFsh6ohArPAjTsHs1eFERobVKbQ5oVKxBkjBsL+/DDXQLVAVRIQDyeenhaCdCqirYtOaIgVSuABMShH2iuP5FtAxvbT2ni6QgBQ38lBo0BREHLBpKU0l+25rxaTQjTpoUtYsdTjwkKCPTAXVdTkwTpNAN1tNExQHQ4nIKKRtqTMOxEEzEFna0onKmtIJ0LQgNNgA0XBwSU61AUhoMjwzzpgoBIYRYoPthKJKAQSCgxCI0VwvaZUbGp1aAWjEljj9NisJ98kxWCTMlqeChoIUEJznoosZRorq2gGgq94oeH1RjqgQHHyfU2jUtIgFQtzO/BzqbwCdooSshIqigjJRaPyPCCkIqgSVPUCwTvIgB2Xo33ANhRyelQGZBmIAITAk4DXzBKlQH7BQZAlalQuAzJgJ0bfAu1oaAIGZBVZeAYQaiLxYo+quHWJyEONVuaGIECnghHui4Jdpa4zxlcmAAULokIUnKGFSFwgHUUL2RGREBQXrEiN9CVUJYCcA5k0YlYBKQUN4pNAwBbEdihqgNQKL9bCLvh0FVNFBCgUwsAIIgBCCgIpEGVloSqBL0SrgAXMxAkJmFE33isFa+sAEvY8NkRMTAioMMsIVuuZ4LYVLmjyA6ZZeCAUQ0Q99VdUshQDnWECVFAPHSWVA3wwX2bIbQlC/CfyuhWJSBTkOFLKCgkLQ1VDAGh1a8RCHahArE5tORDAVB3S1kz4iIPa0L6JhAUVZbvBdblqbFGsP5kc7yQX0i1qiFCZacSUfQBJkAOpGtuf0rM75oIwISJQT05H0AsQaItQD5Ih6ZBbQoD8I0/iQCtEBgLUWQ+aFkY+4M4HMQG0JeoYIQGRhH5Y0FCGLPJQLPAKogYHBggMZ76MqNwkW1MImYQRp4FkXmHKpWGB9K4AYBNYtZIUI0UIJ7E/Dkv32G7Agrns8DKwfTsK/JlBIIk13TQ5BVUKSjBlIa9U50CGlgUEpdIHARPQiQBm/29igcIBhFtkgB2CxoKViksKYf85RU1G8qQUiSFMYBMwwlAALLVA9b34HQ9E5EXylwQPxkXIp6gmL2MuAgBRuAvcPAxpFEKXsntcCEOEaISEK+qBDieO2sCDELgYwC4JsXQOxLY82kyY8oAZY1ge+s1EVK3KJbTsdaEJKBB68mZovAwX+U+eCAADtRyVKJwLvpC0MCEGqgK8PYIDpNM6oaAUmBYEFOG4c0Da1RQ0QVjFv3EEB/ARqEXefqIAi64lv6HZhIDERiQVZpAs/hi8YDLU0gI6yPIwUFYAHdgwCEtZcwhCFLByKmcrVEBDoJAfRQJFRS0poUhQcoAxLQFUwhLCTjK1QChCtgQQQTmQcFkDFiQao0DxXFhBS2OuixvOXIaxKAmDQwKKVbUI1ibpkUvYhCIiM7ZgWlUT0/l9cY6bAQNAEVHVoGJ8LkWQHPQkCXQ2V8hCGOz4nMUp1GOEKogHDAhKgNJI87kgox0bDLQhtOkpiamgBZMMo3laCAWkSmFBMoLIRFqqpmkiha2IZdBDVCAQmWJHcoaOIM/Vr1Ckn5EOjnonXlDDtF2obKoqnE8ZMLsxIkyJIFjEJKSRRERdQ4kIygDAhQhAgcp4baqKz0koGSPAAK7EYNVUZpAD85gJXGCNJVMA0JCbiR0JLKg0vACnzOIEQRKSFPRiQ70CPpIikFlvElRMFAEkVCzsiUqpSox1MBpaCLe73kRGOY1YRxsUjqCrmJGpEGIhRUFJO8KrxA1edkOJwNq4OQAXjNGpUIG6GzMWnYswghxPLBjB7lSkXgZEcEA5ZwCy+TIoIyFf2LaqjeBqBoE3lqEnbTAgE0Z+ADC6UcEMlH2CGct2HhTpB2J10hACAFJMD0hCPbDcLqJRakjpA1CRbtGdFoqvR3SQHs1L3tgOQYwJy1IHGZxUwFEUWHwjmg1JflqJSMTJDwhHQamStTMQCgBeM/arYUkqyGMAFymEboBLXy4BQUaQUoHE1EITIzIOCMEBUYWCXGBJei0rA0JQsZMxh6E5QEZLy4BJWs4HZbYkR+AZWaL6A0TpNYKtKRCg2r3yKBUiMFylAEVoIrghfxJLW2lAXHgemyMUJlCBw5NygEpyKn8pwUCjBSKtVREkl/KLVKhXkjhHOR3EF6zeJyRWjI0Cd9iik4+zuWEpFkYQZD0WJwMAQijWQFULmYIpoVZKTTBXMCMP5x0ACfSFMRll+P6lCwZgsxQdZrgl8ALiCzCpjBViKJQrFDHNgUwOAYIxPZSBDooO6ALWCEA6NQTVARYXm6WxkQRsyOpwRL1LyKroAHxBwr8J4JbACmsyjcV3Rn3EoCFhBkfMc4GsA1GKAIog1nhFjDKCIlKW0SSm8nMa0z9RzINEcx56WqQRAkQAcSE4swak/Zh9hBqlfLc5nUxjgfD7K0OoiZ0otqoESCUdBSWVxYZapXEYvNPKpz1LYlggJWcT1o41uGmRRgZnERVCGnBxsi1bI3LSa9oQoJpQAChkECxznQKC1xFpBcjgI+PEoUgNYBXjRcYS1pPsQIVoPppAmb7IVQIgcBILFvGZrM0tKLG2ErR6FALIRUSJHnxSxnguGeGMZOSKzgpXcBFBPIK3mKyixCTyV1sGkdW4pMEHgoFMHFpBBR5AzWVLjAqmdCYONEDtF2rud3B6AAwWKjw5VTADODFigU1II0Sb2TboKCBHteIEIIBQH3iGcSBwCyFEXEInUNEocj2kCk5pGHolIvdHxmPpQXUXYnCQsMK744jA1oysClxvg4CYqUwVbwtZ3gBRgSAhEZTUlI5xkFC9CWSaWB8RFgAH4ImCbMPl1klcWqLJoH6HW78RF7RgD9BLqXWchSAEJ1TYgB8bx+zJJSgg4MNIAgNMTsSgLCmEGjMekRMQ6ACVQqviAckHAK1EYe2yAsSTwjzBgCkCCsFchDxcS4l0hhSlr1kAyiwBw7iVjMSeQgBQVwQKxAE4t4Sb0S4JvwsoLcUBHxKmN8Jhjygyl5WxKfSrLiWEFFnJzSb8jkA6j02yP4Ixb9C7JhB7Alu6/OjoAQfHWyV1K0kEan4Vk5c0toqke37kazA6j7rIZpVR5si/kweINKEYIHE9WgWAUiwjBkbb1MBLhIKVEGEuxLik5HHPwAiFcklGsRcFllVECu5mdQ9aOFAQUep1pLIypcbw6IyHLs3KJidpLYT02fSJLIcwGG6wikGoOBhioFMskwcUDDC4iDI3MB7+WSGAopB4uDaV0jPjT46I4Hz9IVgyNklJsIRdFPFxiTIhFhFGwcXcithwCQYtHCtWlwyjVY1x77rnigY/wghSSPQwEGZ3xO2WrJrUj8AcqILId4YA4PITqowG2RZF7ioxeGMCoOUShC+lwUZRJD08HhiCogPHg9MhaFady+vmmU0yoJdQMAsTcthFUyEAXS7BlNBPWkX+4Us2alHGzf2K0WKShNSQjvhgHqz6lTo1zPy+YCoDo0BAkFqkEIGjcDgr6AAQ4UgkRJxK009UCeJoCBraFKHV7wUtCU2Ezo1J4DAreRPkg4OkQRhDbojJFHTIeCJQJV8JO7Kl4AhGQAQgOLeQxIoYgZlnhWjFkswYSGqpGRNKrEGah2imVZ0DxvZK/uCo0BhFAlPChCl6CpAAgBFmwrIuNYVD1UUcYVHCChPDBnWQlDCLi1zUW7bgPWVXyKhHRDeX0RyIRkNctrFlRVBConUaoPPqqEJCkqAMgZ6eHbjBHaOqCEBezdIRTC9yX0EoMhuKqpCl632E0Ao3CqvESy+sFvDS5eQIhGgMAiETgDnJp2sCTVEQmJR7S0VYgBGIOscIIVyUIaVCO7AqZBX9ZF5kCJGrQESHYW6At9EBCLKu1MKOcUJSlGF8kSwwQgAQdWYogaeHGYob8SPRVBgtlAlD+gkCgBSCFAOG1KAIAjsGJpMKB5QRT1Epj/AAwdVx59ZBTWhSl9KAZn3IUD2TAMLiDEXXf6GVBYVRwipkWN4hQGEvhESKJOnPF0DCkJomo4Ep50IAyELjYHI4CQSg5RASGjYYU4RPPQpS4gFAWWjgmYjE4yKwgAeywAwwh0CPgEFD3wnSIzYk6S+hidwUD5BZwAYxAKjhL4JCofUVBIIKURiIfgoEaijVEcc8I6lCEgFJCwe8skyURaE8iaFBDG+rg7ZLMTsYJxMaJojIonlRJg3tdwhWFfEkVAyov1j+AIw+gllinLYyNqILWhXzhnIymbCqhCSY0FOnElBCSmooLHQC8O4n+Cqlskv2zFT6bQv3xx6IyyGcpzEwm0ErRNIiyoAhoIWqVT2AKu5AZYtarfB4FKFoWzITpGoag4vPToR3ikAMvQVw8s+LEkSBBwXJzJGgLClYQWCkTocyMKDTFtNAZdIqOEFp2AqOol0GBTTzFAaYEIMkN1MhgHrySppsxTCAiPAgAB7O0EXCFOTXuYnnUAtjD7xmocUClKHtMiBRoBoeRUyIWwMgABwFJO4JAIqC6Y+iLgxE9aIExAAlFEJdtCtFCJjVWIG9KAqMMzWeWDSKlSCnvamsImgKItWfXCQwFpZBeKuSmqfJNCB9qiip1uXAoqzUILeEFQCw9GSENq0gAsDAakcQOp5DE8UJqEU6aRCGKvvuBgkQUpSB2+YrHAdI6jwPDQYhCaF8bARcGRasIEXEbp3DWJdShlBAKvJKSDAEOFVqIJSGdKxebooej6L4oIUIAR/GhEjgboku6K1wykha1GsQB0SxQtjaGiQjNFdVFKOYR5GCoqcoRQLoULgEFEiRDKAxjxo+5KeKwqqJIF7n0bDYCEFdQ5FqRCGmMoDRIJQ5XSPbwADorfE0SIIHAIwTBVhoggNarstRGI0Sk+6gdPn7AQGYD7WORGg62iEVUKRvXgEzEgb7JVQhUbauM2QUWHR4jarLZhHrgQMwDJCkSyEJGA0hIiRlJoj7iKhqWo1IiB4kKgVwWaUpUocQWl2OY6OTtR2mxVC2DBXIgZmxVktaobEAnlHfNtY+EusAaAIYV3D200FYBCx3POPxzTXwMXoCL9FDaIWgieRZEJm6JpqVHpW7kGBKgIIKLYIv1VgnWPJsPqcmkhlVUAROxakGkALFEJutoFymw0gagW6Hk6n93kKZNAyKBs5t0SNOEhcsB2EEUSvaIqy9dIk/QMDZUseeCuLeAQBaowmgKQNkQCfUohCmqhQRxgqrD5iAbH8RFNNGgkKGFqIwiJqhE7wnFvAIu7pDck0uUvBrRQ561gSoKgeNIyftFD7/yBFUsz4gH4QIMKXXtQyl8G45xx9WZIDEn72SSirOM4EwvIaBf1mQDq0Tb8RiSIKA98k14kYKGkPXk3MjsNvowE6MBs00CHFWDGzRoW+g0YZQ3wEtqQHF/kAALomYLuhciJfFnDb0CogBowxMgfOmRLpk5DMqAUrXHSgChYMA6JpUhHBAEAlgEAYMSl1WatC/BKl9V+ROoomYAEP6AwIAaod94w54XEnq8JJhASzWzCHYNnGLl8rYxIgvSq2rFIhAwsCBnQjOqWIh9HGo40GykTFixjLhoCYUPRhojQH5SNNAVDj05dHgItBQFo2dQG9wcEjr8RN8G7OgAVqp4yxVz4hkyqgmwyPpajWkETjeSe6iCXQgS09LRXxQNxBYkKq7QN8RRR0qyqpTC23rgDB7BT6hHQAACKVVSMIsgGn4wKviFgJmYpACBRuJbrAIkkCqADbyqqUiGgoJslqIJJ8QikmpPYQHhThLSCz+Q2i0xCkNexslQcAB+MQRDTIZF8DRADKMTDiOMDTHuozHQlyHGttrdYRGIASRutNApBywhW5CxnAZiKVfMCaNVZOExEHeLhRBBAuqQQQWggk5ChjzKQJ0yjdo1xFmy9KlK4VlvVjIDWODJc6werRCKfGUjuBLSCGXLqqSi4bMT4lAlVRaEpCCSyWErCaJCE5peyPT6yMoNwi8DADrpsLWkCPBYBqxQNo4BlJRqmML0lyPLQKol0r68YpIA4iaaiplYLwThI5j1hbFMUbOxXzi9sVs+IYJhQuqHfk0CoEUsDyTk/G0qT7WqME8J2MeS3RxGhIglShWNWGKINAtCNuqgOgcUWNQB9O+ZoDekF5aHCFIwPSwDU3FsbyACq0nAJiKBeUI6ioFksJ1Q0OPkOMH0hyg4EIimgsKiBRi+qnBIEufpvV0WxCP8AoIU8R33OgUBsNFAoYyqvQEA/s0gCaO8pldwGyRAYpLc5TzSt5BzTF9MdwhjPgPxSa2Ya0VUiwSyuAXsWsH1IUUC3DUImUPgHH5Ad4EklsXAIOFJ3tAFX0DF0oIg6GSgLoAA0Z3Twjso4S8I0SDIphbXdwk0AEIdpkQHT8u0QlEFe2kjMNb5ORGAECAQEWoOqZkTgEyPRQaBr80AERhEMIXzLKzSe+oshh4RQu6JUKGSVgQpbcIFakYR9QRMQJPNHgBAU+kELKCawXzquRXkgzAmVTLjIRoJSYrEqHiI6UgfkB88tB4aOEOMxCN0fyYSJFVodqEYrkSIvUiU48qY6csGzSADAIU9Tko1FBWCN6KOlIeAoH7ob4KwlHEFpUxgr9uybCXRPDyuRYQB+kviUo8lPKDIkt9Vyuc7BIYxhCVGiul5TA2ttWUQeA+rZop5qRoDhawpEFy053/l/yDFUKqRVH+nYIC4cchGzD0pRS1iK5ORO72AACkBUGSgezpGSWQgCCIvFlNiGAc/XQUmwkcBBwPDsGMBSqCFKIHnhGdUpkCDYA5HF4rEQCIg3YNEkpSlOWt2JpOkDF5g7ZOYCkkgwdDIyGiBKhhoHnoSy2DsItShA6rCCuV8JeEjFrEFFTfTgrICGIW4ngxkpaMUo2plB4Wleo3dH6lillWpeRU1xlLi3IRw0SnwdH5EAHUtGERvoKIyjaSNIlYPGMNqIwqLCDBA4m7pIuxtYXJDYJLAwTkMF1BFKjPgGBOnFzxjYh5peA9KXihwWmH7ijAs6ALEoSafpZUOCEu9LiJhpOe6NL0kjQ5RsAG7hEHEETBGVgpsrQXShg/qgpAyCIUH8IwBjlwCwB+AVKNAhb4BL4AMEctxYiVzkaEA0pFvfVS6jSgT6dgqTo1vCqaSU+FuyTE1uxsCXBcQhStmb9tSkPHL7JpL/AHwqu4oIUmAdA2LAayQ0Ay4APoAgjlUrYU2tiAbGCPdOsilVBd3Bim36WQxopljHDr8WQrvE/GcbMwBWcgBHDXCUPODEraW5BZxW6KdooVTIgJkhFZQkKpUX1gRDLNECyu0KZS700yRlIhBQvNLSEGnHpBPQiElqkKPCv1BUJ16BFO7x6CgLQRbKMgJEUx5DAwBE4pDS40CTFaTRoIKqCKAw1AXxMkqGiajJWpAVGAV2lUiwPjFQACPWZEMBiqKbqgFP1ZLpZCGhHK+MXEeCxTxZjHU0RAHhXlYuBGpBZQdCU3AoKAbYCAjhISc7ZfIDayPaoPNDj3Kn8bivYpieON2xl7SmSdIa8j1EVUU3IyilKg/OJk0QSUKI/WGwTjAg+vMgPbbSeo4PIBUtEuC+igrNuUzA66agJNHLHNceAMAzTwD1+Cq7k8zQ0a7JhCCBJwYrFgljLRAqHkeD4mCmJALIQkJVxiU4iaEgwERHGAHUm3jgLBakcSuAGQhOiAx8KQgHCegwhmgxAjZPRT5nMCK/SURwYBBW8YEA5lLA3yYQbOfrmKIZA8aTenCOAIWjSOrVAqDGx0R9mYAqJyJaq0rwUchghQGDFNakQdYgAhdwoAho6HEeo2o1QYtgwqZAOySwsgMsADjNkKedEWG6mGCGDqRh4QQn5KAWh9Dgi6noOQnD6glHwLNplIRjoCuUGBfGoynx2NVjiSFAJ4qN4L+mESnCPKyCSYShpAdFQiJo3KrwAWJYfXZe8YQirPuSK2hZrpU9xNwEesARzlC8fierpDRwVvUIFGQUqeSQ+AEHAWSGUYGA6ogWwFTCUJNozbReuHPSiIEUENSQST4jv2/MZBDpl0Z/bKkThEUTeohSQRfukDprDUQIhKF4pQwNRV4IKiuiVkoiKKNMwviQo2h+1gDCtkCxA7Gjw7PAgnq4SxTRPgNPSRUIMIAR+VHlKoLKngEq/oBwjK5SVCH7CbI0PjNiOhCVgoEQkEPTbFBHTqhipF4i8NWdgAgExDOgvjPGUNNaEHz4o2cDGHyTxJbcJCmxLmwA0aISCDSDXhqgyCVKSJgCNQYCGKAIqBUOtgWaKWUgOKyPub1vYcAzQY3iGtQQzCgLMbIqIVQpAMmy5Z5lGr33ut71W/L1J4lQpkU3YlR4zZpMEi4wAAOwOMLPorQQRiUBKdOGY+bKkhVB1JFtHfIkhhEMVeYo8oJiCw4QQi2FHo4AeInzTL5j2yQemQAAPAHtChIBKLgI+Jj8EgQhJKeUUEsP4EVKEihILaLmFk6WekfxYUx+pgdU3USqQBIuLZCIKomYQAhEHUYWxWrFZVRSk5AK/wBIgEfyYp8XuDo5GZWqrpIQI54cyyn7UNMhPYhI05EonuHMGUkQg4MOgWX9BZ3oxHXrRG2SqBCEhcYTCrHdVTdJYloKqAo5OSKtg0KyfBBcCjriawutKAASgxRPAbCAoGyxMQE1ESrgHh8VUGmhqW8Hz+LACsR90M48RkOODRKdNKFVKEhICKD0rPhylgjXsUlZECIED0UhHgahG2VPAGVsgD4+HraFMFAUmz+p4ZIPNQoghC5pCIrpEj1sOYMSOcUp56OIJBSj0aonAWM8klL1VK14+AMn4VpIjIguDBuA9J4gNFSUqZDZ+gUEEcGM73QReDegxcgEggZBo2GvBoxI/wCYKphFhgbwDKC0fkLUxrV9LCaFgO3ZSRJx8RGPDMBgsjQWrxygyB96+S0pmOSHHXJJLkBMdQMHEaVDBiCCn5NSmsRLMGiMqSftLfBW8mEkD6egQYyD8ukGhqQIQQFMowDktZCn5SNJYAWhz6DOK0EGANKMCC8sjDY2gmSJTomTMw1tf/TANErzEEFlYbAQahAG5FYTSdCy4EgTaOXXy0imxAnKQLaAqiYI9cKMAlOR9CiClwBssLh7gIRmhJuwZFhxToEwCwITKgHRws2TA7AfSuCTwhAEHhuQISMexCY8Shq+CbShDhrlGAHwi7GALdhxLCgIpwRC7U0E+9FByEIUgS43wIatZ/IXYB5BQO/cFSUv6C4mUC5hGNT7X4HUtoaQk2wCMgnBETeVCYFgNyRBbr0kBeT98uo/EIkDcKsghYX5wxTwhLsZIioAogQUvCmsSiQgIIB6zYxyFANswVy9CkKrJAeIcmQpICDZkezgwjoBXUGdubdHKjAIqkmgYaLHLlUhzjwcEYMiAhAKtCUMLDiIQDS4K60DF2jgJB1VQvgTcQMaKEjywUqxeLpFQwIUDtSaxRAC12RDR18aQDsaCIgrtqEtNEgqPYCKlSSWCIJ/5ojpBBepkPAabkIWC5A4uBIHHrWajBQ2RIVSqjn1UyOIe+i6eoBp4K0Z/YhwWEyshDNESZWcKhNBL5rlT5KQQqFCREcAcyopslRAxAREBtSa/JMShBCwdMzqD6wHYy3YaDsaEFEjWwu0pABO0mATAbHBkRBCYZkLzEih0ppW7QywaCBC1aAkqDkLd5C5kKTDYQzpF7HTOIrwMTFNIroROIs5LAAlB0CXH81ERWh9RJlALVScVhPxV8yoIgI0ShKzq0YahmdlgVJVAUybYiRIQCEnZCJnvRYtKuvYgZqBAVQAgJ35nVKBSqJrAPEfGLOAxdyhSGxskNkcl10FYupS6IIUUjHKVrCTOxB+Y8KqGbPDsIIo19V73g/VwRQb12GBBYugo9NK2AiMG1ZUB5/IQImpalLLUKYTIpYEnbGMHgtEpO+LCF8RApBc/EGVHCq30IGEQjj7zYAPnYSACOUhwkHrFihO6DvoncwBA2AahJoVEAWiLQ8zimULMNVDEgaGjYtwA4cmQPwEKbS0Q74gByVnypXuIMIlGgjGua2/mjsIGTZeqDFIEJhxgjPVGxp7GTYyI05OEkoreCiVZFKzhRIKZ+wyUJUojYNhSUHj5tRSRI2yM8KIRUcKjZEQdvMNacZcCK+CSEfCH0d8/ZCvkCkQopO51EYDxFACIIVEOkl1UbAZUCVKAFYYsGFTtMPhNEauB8H4TkBBD3HcA4UYkAjrVgAigVihoQawfq1yxFAVFfiOwwKLgOSEN2sYCdU/TMBhEJ2OqJKE4FL9nVTCJJFCIFuhgsJYvWSID3FdYk3SCQEpx6mEDRLbQgKUULgVgpsXCCBKIVxxP7iRTQUDH2AgmXQBqsaAxawAIVYIVAOMOFRPfQgcjCY5Jr/Qilsh1bA8KpoNoPnzlTqJwiEEgK2qiKMcUJ9ZAFow4oBoIoKRGxyS0JuH42yuS+6wgQmB3pYFVVSgI+SwIEeQ4o71opoJREgggsmKbxRFVUrkBIcRxEqi2xCBKUH6RkILYgQAnJigo4BkuFMKVBTgKxi4wB3LqLOi1hiD1Xw0AGdJqVoZT50TiqhmvRAYyFUkORiRGHC23RoMY8BijJmp0aErGA4FNKJenWDX7IEocOyClYwEpK3uA1Tg+YKqAWVAHi0RDXQ6oxtANr6IkTUfKSQv0GCD3UPUXpBw5D+wlXCF0EUqnWA4pHfiCeKcH4SvIBu0W0MyAddR80qSMIYSvgwYnK0Pt7QPx0g7LAcAFJbqQhBJxLRVYoPQiq1R0q2iJYjE1sYCwdpGkyUAkGCCX2CjM5QzRJQCquJoPQhoTjWEGZNCsgzHVSAGq4igrsBYL61kRFAUxVUNIUXBXYDUENHkIwVIQcjUd0SzgEoFTRG2HAu6gjQqBAwJCslUhR4BCSazlC2ckpBf1KCBLAN8HymJgpE1DEzNTNUgMkWRsXDITYAdZmCAKBIg3hGT2mLhMIQksgQ6bqUZYChBJTSqgA4NPOEqCukKtNQAFOKbWAxkWZpHTgFwi+aCegAKFlRu2giZj4kySrBE/QERFLQ1QTs7UiiADStYuMFABBB4/Ey58CNgRpSahBoTU0MDCGKJNHSkn9IRpPlctPbbZQul9gfllI0MAQrhUGKMUog1eDbbSBsD/HVoIvWWGQLCCdi9AvBG9WiMwDEOmpRToODvmFP0eDWQ0h0AR7ZCgMQoyiZTC8DQJCFdTBGzA8Io1RkDW7ErS0oYmnHhKE0B1AFFkEHsABzVgW1ISQQmoVehENU0zaAJTqYQcfdFKTIuoKUnooQAz7AAFJFNtd21EOWMyKIgUcoB62ZadW2pEwHmAEiSkQMFXEDYp9R6hkBCkhycmBykiaW0Bsgq0UTOO2TMh84oW0iXUUFkI8AqMKC9FixtqvKCgBA7SgIJ0LULaAALECEfsDeKKGjKKQvIrHCEW2dpFsUJCPJHlPDGJmVzFmIkOJf79QBjwZgkaBkEmnY1AhLIaeIHENqUhHgL+FFY3pcvofABqkqnAIMg1D8Nq8CV1ybgIAnSy21pZJDYTU3QkCgJXDSUWsuYfQiZR8jLSNQOYKIcIzSYRsjHBYlJYKHnHA1APBzag1UHRBJIAl3jeIJIiIpTEZRDMGJH5JO5JJkIBI5SZQYqRyVhISgGOfenySgJVFACilU1BQwHQVP0zQQFq9lDwpQDcBq8KJrlsTK6FSloVSFVT8KlGQRICHw5n6OhGKH7ieiDC6ELCEZFUYxAA8qSOQqtIQtWAkAC4d0FQ+2tPzEPF2cQl0In/WEATeyWBDTVglBUJZlQ2pwJhEdSIYcVod5IDwPKRKgciBcj1+AZFxJsSgSHXYKoSm65TwOOV18xCA/BpvRmEOmbHQUDMDAQfD4Z4157glPiRYOF9yTGliJHB1kJQcwSywaCPdgQziQWDmXlVF0hQ/kdHcXW30uoADSAk4P8luG2BjD351NxGn5cwzgIrfWcnA7ymvlthhS2kBBgRgCjFAUS1E4JI6hVh8pS5WsQK2gICCqvQsB0txpCYv1HpEkfKFnotWvFrFOLi+GMRskjSZ2SEubFAhnHIAmAxSLsgcICwToyhBTCgqiEqAEKK+yZfMvRaNSJuPo6H8gLJiy5uAIVeU0cA1sLxMyGIyeGJgLVGb1UVRTqAnpMhFFFMCLWimYSDvk6GwRKrlYRxRFU4m+CqS7ZQ8RlLcUfBSQDwHnspoOL5pF0s4dnBQU+qiqm6frnQCZpxPYGwIppAM6XKywakjU4LOmA75t7v2iCFscTiqSqIB9+IN3AAxOoajJoU0qhGjrmCkbJksCJIAeGIJKrpQTtekFgj4JCSAKDJBECa4ilYetDw1CpFeeX/gK+xqDIoK9jyjTBhwPg5vDlCe/PADAui+aDaQ4yKhMcLJOnEmEgXDhRkq0Ucovye1BkfkSAi01NGRxPykRMg/Mg1sQ24WhDOqOVf7RSrNQsODVY77ANa9A2EABuoBbLAPXBTVCJSp2IMRsUM0l/iE8YKuhNBUTTSko6rZ91GARBRUgViQQaZQB1sb8ojFAIOjUuDjMHr/mCtIgaFCPPxmDoAQxelCfhxQQkEQh9Ok3gihQs99QYESBVRxcYQWRBkAD0dxYsd0L1GG7DEJ08FjWoeJ/iSKSWDzxFYen0DQIPOEmzn10YzC0EKoym8QUrVDzVLUvY6ryYWDVkLWyncrxXJY0BgfjHgW4H2eoGhqFSZQ2gss4SGohQG9YeKSJFdxaWakiFeAIaTlqMgQFEE7VgFQl6rCBB9kLEUJwOYbsX8KmkSCKfYwIDxVIMAFcRJgsrEAQh4BEu2OUcIlHPQ8GbogcxInYqLRRQ8L01xCOVBjBrhglBTLT6CJB4CivEakePRonRWrSvAplMhi3qHUXUYwKSXHI3BNNVmEsmUQPCcVbigCSAyo0BUeJhewhQKFLDWIRyupE/ag2EAaApz1LDqMmQRAF7V0YtqokFJMsChCVCX+AhwRAUCFBIroroOfAOL/Qjm3VfEAAsssAg4GRLs1QKipNQKRiaZeW3tMA5cBaMwAoh2YmGHp22bRCcC4KU7aGU5k9IVQJKC3bQoFAmA7kdB4doqUpYVaouVmnIiEdKGvnsCQPJrSdBIw/DC2bpLMb4VqAhSKo0A4bZUaYGKH9pPy/ezOTYILTbXSVq+1foRRZUBQHOlrLrVASNcJwWQcUfTdjUDt986eknBdTKAMwsFpFK6bCjWAeBXkChyNDDwV5JKPRNgiq9JIgoTxCRjHuB2KmYI3CNmji8GKd8ghWiKMBDiJYDmnvl9WIgbMJ6Eh1pcI4KIlUwY5QDUiKMFwwsQQHNUtQDyZIi4rAsrDOOEp/K32USq5Y+JtLDXEiFIhnFBUQzhBdkmygrneuMuC0AcBwATjCIIMKqsG1oKB5quZNFkFZEWiQ6BfDwRsfCSijRNC69C2RWTeknj8hcLTAJMjpajWQh7l6xM8F2BVQTACOEycCNDEMMp5ZR7jBAIpreJDgoI8m40ENu3IM/SKLJ1ZAuMRwgDQS9eFWiIFjWkBKOaAyaNVJANaD032NQ86VQKxO1AYGS8y5EMyFYhRhNugCcrHSiAQXUQrjRETyshEBLYBGVEJoaYj4CyRUBb8Wnh3FKhn1CrnBolErcDDkljRHASSERi2AZFTrCh4BdHAuxZslnhW8YK5INFqflGIBF4WZAilQIwgkAQDwAuJZIUhlNVENQOB/uKwHlJUewLB4dHKhF8PiBqBlIEve2iyVP0K7WB0ZuWs8BFP4HCAK9SnaII2glyRrxpv8AUyD/AIUOToAcSjyOCTrRRpBwqZAXfluX4kd/XhbKitiRYgXJQpAZOg52PA1GBDHlcowKRgsyGGbBzUZ8wmABvjQ8nC+VhQyIFBE6guDAKFqt0IqT9tEN1UDzVwvQhZgC9IDLDaMkCohBRvSLRDCTKuCGbGuJGcCMjeSxxTmBLHilhSQFdJYqmfYFyFaoOi1Djk0TwnLlQGkqUDujN5hZAairLwwFi4fTYfoEIRFWXCFfYVEgGA2EpbCSVsGqEkM+rVxEhBiuUBjvReFI2lB4P1+oExT9WhrhGMsRHaSiAulrfBp2q3YUBXoWoWqK4SSsSChBRbhdYWIIwgQNUYThWEbAQACXbQSlRny2HkVVcIwghWqawtbKLYMxOEhIM6sg+I0jHvAIjAOibzAiFfqSh65A4F4JUgCsJYzzpE4CJTYJ7Yrp6ZinUqBoWErnGGNos7QCsALEwCQWSnSvSiGgrL2gvS7FoT4CAAU3Zpggp9vYABBRGG8KEUUeySNr1Zx94omItHd4M0YaK6E0QY3ChxpvgCiqAIhcrXIO/d22gVWHiRo8HGwSs1ipMnnigRo46qpfWBXtfJIQBCGgICEUUVLbL4gwkULEuLCxS2FEkWqtYLwiY0xoTJXoqg9ygV0cBgU2JU8DLuIgSCWPCHTwpRcKARxn68G1KIJS0lgxPBFLgeGtr0rKtdS7lCgkTGeAqdwAhYLgaDqZOsFRg+mIPHmeonmAQEVOIBayhooUtgPDUJSD7xteZA7B5lWgg4oJ2qy6VSOCyzqyC7QmWKBZFOHg6kxOOqsNVUP6I5BxOdzaAQK0bTVRKHOiHS1SP1VazyOiyGLq1sQRLI6GbD8ErXiUz5tkSHGGdG+EyMt7ihIePUBP5DBXoFKm21AjMQ1WlJK2qDUhBRBkN2c5F8TF0KhsqwZrVKHg+QtTZADmKmYEVCPDVDCSAUCVcfsjJBBWqMHEj+YbEiQ0hInS4Fdd4XYCby1200dSCcsp+um7rQJDXdreLUJ5M4hJQDzO+Al9DZ372CiQOOj2GANTaICClmJTqPZGZUguSIUoS8KyDPCcjZNTADjAoA5WIKvu9mmTndqTGgAFjkAhAAHNCmIknEkWwDPNVuwLjBRFZUjlY2fIBWkFkSqKyRbk0HNZIYprSrQnJCyPudVVGYIGWJiDmX2qy1pORyYJkYMiwNwkCmL0OGUCz5GxAAVA9WJRaEBKTZXECfIGIo1uBRBrXb1r47/klVLyB0FxCOBpGhiIvIHrhtopfZRy0ITei9AAOKhb2tFVClaLp8ehKAthjQuuVOlwhAiig4RFRXCAgbfJAtqk4ATyagMR0MSOCNQkREqr6ZHLsQRqHe06oipQloGIemGhopRbk6MDKOIEGx84QUcoJAUGOMAlOYHIQaStGalVtuajWvRCnCEAeAjDod2qKghJ4DwgFoxhRfzhegMQEjXARkBKRQy0y524MAo+HgKDQFQTsKsGakAoxQBEQCUKrsyEhEjSLgmOrrshlFmgQoiDgfVHTaBaDYk8g8gkSh1KkgAtp5aLgQUF+C61ykkXpMJUPxPpsYpnQVaq+aBlBKiR9HpOfW22wYAEKAC0AcQUsiQe+MLtMoSaWpSUWgBAS0DtTmibUgVtEaq6AKOJHAaCI5VN6hBu1u2hsEATpggA4OhR3EQqUSFWehrNk4U1WMgA4Jg44ZlOAgoW6ZSoYIVrMcIVyXHQqjprRQlwgiiKHyGy9UQmlNgGsYC4cUcnHYa1ewwJ4EQhEnKtCZVQYaoqvkSWBsLSbkU2OM2HThRpI6PAgfK0FALJHAgu2FCihPVhSkBKkgRoq4z77gSk9GUMDLSOh2SzJC25407RmfmVnLM4QLBQcpUBFIABRQMtVCqBKyJZoBENEYA6Z30+H0TYQGOJHlSJPLErpIohphwL1CKAF/hX0txIxlNnlD1hutJyNfWgbIp8InJgPEqO2xQIUKhmSpVfTLYG24+tSgALXGPj8Gn9pSlSF9SPBRaR+LcqObAYVCTAup1hDDlGLlaQhXquGTA83kxRcG9Ypr9IBxG1xEgoAaUlRAJ5adqyflKxmQpDLsXR6sWApkQcDE/TsnAMoaeMKbKTFxAMkmJU+5FYA/oEBbBaSOCfmstmkqRUDt3rCfkqND6lnQoD7Ex8XtBSVTfArDKvmCqQTBAJNEGuH2iCbMbKF6HyKJjXLRRfaIEEJwuUNfbhRiwmz9gwHiyAMMHgAkIHXB33dYy1lNSvkW2WcmkpVWqLKpg71qDTwUZBkmgRAVAT2n6RkukduHPlW2jEuUFGweg3pkAKBAVlHClpC4St3tJwGABVop5fQ7ZYNJSlUa3KupVL2EaxqAoa76MTHsWoQZkpQyIVxpDZBFOiNNaI5JqOKW0ZTrcQcDAsycL3pggVCa+cFyadlvQLCyZiJ18s0ME7FEBQNJO4bBwwo5KQA4AiwAZqLUnDooassE5xwYpAZFQTkXIEX2DJYCtoHiZ6l+OeUdI7A9QgyakVDqNH8U2i5YPJzQ6KkZA41ksNEWh0zWY6FVXRKo62pV6ygswqn16rOMReSPNgQlAAiNfzQYkwxuNFGoAqoDqhVXoqKcEpQGdVjISbBHAuAgIOFqTCFVVaBUWt6g4AGkYQXgLIZRWDSqeBtJuFimZTsRJ7VnMuQlnqUIiQfAduYbhIyARHoQDQiXvVHiMXgASyKAi37iKYBg40Ew0hnFhC4VF4QId9yMCgAO9KgBFmYTqD0FCGhHQCRA3XMAAQJAcvRjOglFIlAx0DUhyicIYkAiAFZFCPhH0AplFAM2AV5vdTqMEzyEDRHHprggOsViJtCkBIaiw1hJAj/C7ym6KLAEDqCxSNQrE2UAEJEJwm0PuFapW1C8V1uhcRMMotNoFlVEusCvfEqlJRXTZwGYelDBEbj6ZDGyQAnRfKlD4L8pGj4vOQUHlp0DAQIAQI+3BAqRGIKAGVEnk8JE5WCpQIK8NRg+PSXUAEDQelBY4kOlkVYbkBAlrRwEgS8jSRWeD2xgGxtx1k0R26ynkUwyqhTvipIjxqmQBBWE2W+GgtQWYIp8E2bRETMlSOozUDBhCOzjkZhXDGky0Iq6jxHsQNgsMaQODU+CEiD5THMAAFOKydUYJZBw8OJhXqkJCVdRhEges8b680JK4oDc7pXkqyjUNIZyZchCd6ZsRKRZbJiBUkYxCRfgA0j5CNwdFBeRrBIIFvo8nJ6q1FIFTUYtXb4gMZgPoIBhUToFJGMHqUV9KcZBA+V8WXGCJv0yNAq8uqzhpo9C6huFBxVbGgqqNmhgpApkysagRIMSEHZNwsk+EMwQIACbuiRoIqajAF5TQag5F4iI6EVAIsNopMLDUH1FH17K4eMIS1QVTxuOwiqF4XxmPQUUAjQaqsOoWolRgCoMVp+0gyKqLsmVYI87WoCygaF/qYAghnfpCqyVSC15yiwQcEquEs1KCBZtaBLmQOOK0EggFjRAs57xAAG0+oicAcQpBDoTSAyg6OxhrmjxLFao7rEfSAJOX4sC0XulTqDkDdFSWEwQjSEICYCIiKDBlmAHUDOgqiiKlRxi1IwLyyAR0rIYPYFDPcQM4CiQIEQ1Wo1JeKZ/CJqdV6SBVBOTBSa+RARRkjCoUA2YCrqUiEIgARbUnYei+CmLBGKEDI7HCByPonRgUWGoxRAZE4j6kAHAMiH32C0lUKZ6qOy5DYoP1jCBVxH2IJUkrk48BilxihJlQKrF/IAA7izOxAcWOXAxw30sFr5wtL1YQxXgrKkEdA6Yv4ylQdzqt5KlHU8YySckoJIZBYNL2S6RWtsRAhGdGBMQ7eDpK5CZsNgoEpDzJnAwAitCBkhOu0b4TEqJ1AUZEAJYyLG1tIWQGqFtgHNgsBYooDOEJOSogCTCZkCNERoqLZmVLKLSGwvjzYLoBaBgHmasBSL2mSBBLPByjRBYctFEp/RjOoky+B0xXRh1eKRoRt4T3VoVCFWCCwLpgOQ+Mk2uQqYIq8odUNi/EK9NfwrjbGCehKm+rL5AvFUdkKslSVANOC3nRIhlaSkW1xXTxPGthvRAShnYKWtCU2GqnsYoQTigBJkBRFRVQ+1HEAR0CxeC3VfNnhSosyBmQVgBgQNdGwKyg7QIwhzFyCkomFNIgBXRSuAmXC5uSoUyCxmDnkBfEOn1ohSrw0vVPeQyuon50mmAbQ1NVIgnUpC3TBfQn2A43OTdCITrtqyhiFYCHG1BgEPsIAY5BBk4kwBQRMllLHTyJ5egfU9RQNACYocMhp0gZIxCtgohWZthGPD8kNE1UGHpkw22wIC+xBktsy5U+MJdIThNg+EghAiiM60BKz1rAMVQnYDWXkRZg+6WVG6RKBLxgqK2nakxVRwpomNGICkNECId4laMmHWhOpJtKAeXIApNtUfQoCYWAkrGAAKsAPLOgRIqHQQTClLu7qz0YiBgwK1RLCHKTi+4pSKSIFynQIqXaxSVEhSX4UviFGgAFZDUVIKlYMokIDAwVqkHR6I8CCQEBgHitGREh0MscATNiKjBglo6hlTU13ZYfZtDCM5DbEZEACHRjRc1JNENspFrGZRK7hut7KogX/AMIjSUTRWNVRQitKJOgsyEQ/wEsCo7meSEb5Bd2kw1Ei9Rsq8kgaApoIBQgwihiAI7KQ2HWICvFslFtIBtEgz6ocZaWBlVMml4XwUAcssKIX7s5ZpkxGjzhg3QWgED61yWcIIlcOCthY1NUciVJUEtdnsvQnBFI0MFGeByq7M5SzYCvAhBxodxWusP16Xn0hg0VISiGiy660VmDFUD/wkHFUfL/zOjLA/r1XkezdqntkVxYFLtcQERAaBZi4QB3je1QCFWpHEgXU76gE3AOmgrQ4RI5K0pWFSf4rsqSvTJOLV1reCiMcNGygPSSIuRjKoOkJBQiB9ke1/MjOUowWFBPlSCGROKRQn8v08AfhC1aaBRHpDwswIgsraLm6lrwbPSXUeGjQ6It0bjtncX+ajmZIVDVDdEkIBpbGXgBzBQTwUY0EjGsMO0oAUG0TVo7xCC5rcIjvCmCFYunaOLP2GiHWG6U7X2kZUY5pGgiwbt9TpAidzVGnYwHgQCIow9SF6oFU0IOIRBrPepiiqma8qEVR5I4DDbQnqCTITYTmPgYzqyE1wmYDO0W4kGU6UCKAzU9I4LDQaoGibYqyoNy6IAqYghHdDxMBgQC0APJFRfK0WJUWsa8qPRmtrDksZpRUiFCJTSqeFQVEJQvDb7JDAGQmZsNDZjtNAeeEvVFmTlDwRZmpbBWQgJBCt3l18UIUJgxqZVgGRoOuIDFq9RAXdgyYHT1hqkJcJqFm0VPAHcEdLS3GsE5w+JxdmgBYNQIFS+0HSEDQmv3HGOhfEEJwDXj6etCgVDWlKJ1iWKExdO2rJudg3EEMk6xRhhjIHhbJZicTAp7bjNgmLUbxfRpRNCcHngTSN7JVUHDEpxsWDJhEkJSvT1Lt52PEgwhGyCAgky+ELKLpgA8Mo2d+nNsGKi6JGURAqImgCW6SXYpYTr47QKg8qliihLSwUACujJtJXopCuHG1j9ZFAgNEUQcQ/NdVlT7ZPeoAA90+aU6GllRMRayC0jYCUE1BCROCt1kVJWtJ7QoDbAsJUpiaaAogCHgMViePIYInZQjjj7LajI1Rh0t0CjLaBWgeg3FRSDeWAPQ6kJUVCRv2XxUQZFCMwAdY8Xl65PkaKBPjtRYsYChNPc5DtROLcaxVlDZZkLYxdwqiQvQ0KO1RmE6rnl4NUwBhQGL0U4QhNK12IuLfW5zWnxpENGtbOZR3xS/FtOLJIqomPqIKjBGzYQBTBrkAdDAkJ0RLRAQurBIZAEUWSJtCJ0WiEGaU1PZkAHEhkNbgYERBHOKOClyhodYPXAIPBIoFMp0FYscg1CniC7kZsRQLxZDeV2pz0iEEaAdLYQh9G5M8KGswSKRSyhtdICoMgAh5yDj7lDxmhhAKIWCWpiwZILk9sQIzIYdOJmWyAFlSFDHQAA0EqVggS0nklAgADIzgh44pPgLqwDZmVHvcUhWCSwkUCHWGgrDxDQJUaATCkS6XwJismSCABvzogJEcSBkfEZWRxIHMYJSiEISZeSGcmHjuPmUbplAhTeaiCZE+yizu17NTgKIlVDBF4L14M5C0nOG+JAnSqBG5ioMCYsEPSHlgiJDCvi0pemK8XwsKtlEOr+igrpP9oGGAE4tcTuThXRUhhCQSyM2iii5GEOsRweEXgqD3QMREBRgYTkQuu2EpiVBBLEUNjLcDZe8UfWYCDoCmjJiZQkRjXMMtiYAYS0CgbhqRTMkS1WFbG4IiURJMmQkh3nBKNDmlu+MOJqUKhRSFGCbQTFCBKtAMNWoqhOEbjVHxSFgIY/m/YsTJbcCJwcD8HRP1IpX5UhfSsFAKDooQT5Ha8P8AcEoEQW4wIHoYkkrMCqlqJSOHZtPS9RmZbvNqYm0htytpgeTjjxjtQJ7t6ouhENZ14PHzYSOoAugIhUjViCwTkMUxAAOCaQ9psojEaaQHwc3zk0ggKiCrpJkqRTaEBIsupszihzp0OB4QINUGzM3UMR5PpvQPSRmBJAQhyVn+VSqOyYxEtO6gMgHW0Z+fkC+QZIIoZxBVe2s8IFIGMozZdTVTBgk2ZMgrFeLUAHpWlqAC9PGgeFhwu9ByUjBEm8CCplPs3eCGOO0kMdBYdMAh22KiVEFYFC8HcQKgOzTTrpNeDaPowSAhBd+qrxnZW0KVKqP54vLZo1FRx1NpyhtDqYGlSTLcJlkJ7vahcKlKqvgW2M/iksAWRMIaQUEIPqBGkIPzCNHWFYeA8OKSiChLESLA+6ImOAUoI7BBCMqEVRPhhmgGGa7ghy0dWxVWin8K2oxQdVF8MQCgEl+Q6I/CzeZBHTVJEriiAkyl1Hr2AKJPFNoGLeoiaXRS30top2ilEmFoQB6YnCaI7ISH5AbYsvKK4FhD6phdcmhmkoqGgWVJyCYEiGFEBcxTQJ/L8o0NaMc3nGNZudBmGZ64hIAmiqUsELfC6kOUwAgdtmVEVBY8mABKHC8BptCEogLCqopGWEQmhewxFPJE9CkBsAhbKzzYJDNVjfCAdCVtePUe44pQYGUVatIFzIhsJB1r5wAC1m1GdMElHHYFNctwRwXX3uoVFyCIKgHaY1BFFOUTwCwNWZIaAVlFBgCOJUEZG0VgRuCRQkufoQHEAEFc4PDkVkaWMLYDwGL6tcmYg33hHUkGwlclA1QqOgzgUO1Ti4ZgFeAACwUYq0RQK2GARWYwHX/GzoRUNARELUwQ5MhCYSoGAYaGoJfUCXjTLO0Bri5ahZqSqcDGNgWwhN5o5iMUOKoOCgwulqbosqAHhrim+AHUKg3CDi7uxd6UmoEWrNkwuDR2CkAPBQSstYMFlZYQdxkxyFygNA9x5Ybmksl0fOlccD5VQRy+zkLCjcSoEUGN6w4mICXUVAtKgpMnJ1VMc9K5LN6IJAJYASA4tqEiC8bITLUr1xc1LuOiwKe1MwFqIMvUFY49CFEArlKk4Ue1Y8Eug60KPi++pmOpIg8T+QJi060yFiwlo0FmoceIfXKhqW8RNuR4Vr1mNywwEErxwuyBQwUcQALhOUPXQ5A1NOFwYzAZFCTMAE0UbYlH9kIkzLUItO59wbmmn9AIn6GI5aFSX5ioCiAgijMgZGXMYsoKHpgBinD3pumQi0ESuoA9eTS+QjU7B7xwi/JosIbNxsAgiAdn8YCvSOFCih74AKJaW2tKxgIUtzJBhbd8wVBQC6mXiyL6EF67KZmvOGcwe69UGsFWEFeKAYyRqcBywRvrluxQZU1KMMK8R4xt2gmuIi0FABJOZkWEFgHKkU3gXyhqAg+z7HmMUtMQ3mJ8RdAQpDuSFnnGWAELgEQQvJSGEkURoLMVJUCEe6kQ+iQjVaTgmAbZqFyCsAISYkFwAuwRg1ovpTpwoVw4yktGY1g8DuZTKqQAMIJipAiFW2gF1TWP9BOCgABDQKdCFINC4IORZBZtBaAPSXyZwvKYaHKK0JH4AFxW0Ap8NgJQcDdiCAtYNikGE9ULEJEJTVg+RoAOeguFgx9C4VOtGZT9QAyBqh/FuVrd64yBBW3kkRpAYesMtSDfRllQRMnUS1ujXA4JYgQa4Aqr6NUCD74lVmUSxJbiag0ZRoqqhWlEd6obtUtFggMeMiJKCzA6oaJAggRY0ykCFwA+NbgMmBewQNIAKZJavJCxhMBOlnVqUn2IhBVoDFXQRNkgkQDSSh2NlEmQxJJgonAIUUG5abCAAQCCEqbWdiQKFFgAp2MF41gDaAbEGmIAc30KNA+BkNX7IoDCkkxK3W9GCiCSsp6Kf8aSI3gG8cFRAYxpCCzCMcULV64T5zjfyTfTwxIgQJqp70EQItkdCdDRD4QBvgNGFQKwdMiaowINTtoGCIbDFUXue/kMVFIvp1l33xxY/ckMHalEZNTxYEH08WiJWWK7KMMKcEJCUiCjBQ5KNpoLZxnrpYLBSYZrGkVAdGoTRHNhAnWUH2IEBS23vSaEYMOQwQb54eCMWGjlIRCqKxMTXrCgKIcSoYCytVifwMLojAFLQngJrUliFYOcOCwhMQGDjrqJfIxppmm/gOsPrY1SZIUAKk1Y1oXCfYdIikkGKApQoA3iqAFZzzFlsidkKcpIloGELENUcBbMmBHqRqlga/ELIQrD6w4meFtBNw1WxUYHAqhEkvlLiJ4mwxFnsILABSKNQKxrMNwo7WEubAqOtgsaOHR01glQCqI6BdAMKgTgqrZExmME/cuqA0UjSG6AeAczKVQRSEaTsCCReG7CBZUElCQMISVfmT4hKBVasTi70kBgXVr0ouGzh6PmNmzIkUCgrgQ1IDQKKG40DNpwtzSkaiIq/pJ3YFlqelECqlEXDmHnMGD2KhrbDYKFwKHuMFwAmCLT5i7nebfpYGQIDbFfBPE5JkCYdabwxBCDADAu5KG1GogAwCoCv8MAmBsM8ApoK0wr5gGqMrgcIRhSdaEAoQlYh6SxMIkUB1CGgihPLuZNsBJV4o1CJQOJnlSPDaNAmjToGgwCCCK2AQ1iuSzqDupWZEdjWBxCyNVww9CpqlGsulDIvCA7FRVtQGmO8UtEiIerSR7FJYQRcBlhEQDIW1w8EEiMAx4PAgOh94QglskIhpqkMZu58/JMrI6iFW5QBWTTQnSMjamz1bcgtWC+KBFtmMHMYT1uEEV0EuPahkWgRD+BuiUZGAK69Wmpn6pyTf6LkZdjAbDYkNUzCGQiZYg5CHz31AAJjH1MoyY8FSE1aszSwzwND97JDEYei3gRoMLXrHFDwBKCWIGT5aH2tNVYnOlcYPCGJEhYglbmMcI0dVByh+I99sPjGa4ioWCoKgCDyRnOsgKhEHNitsZwqh/uQA1lQGoxAmTC4Qv0gLnCK85yRYkHJKhaU4UOBRRU4XiqTV8x4ASJF2BEJkmsD58NPUEsZYIQRwNE0itpag3ECMDAkACAJNgLAqEEaMIABzwbXoctcPHsuiSTMY7SfWPzQAVjUs+xV2kQBAOGY2hEUGcDvkEgf0mAGrhcCElxkYrV84lhDB4UrcgBryRLphAH78gDWYIIWXSEadLpAAppFfYAE3wLRkdiolvjpuORnDPSA21pA/TLwDEURASCPB7r3jjY6GRigDLdF3x7BrIG+YtatDXRnC9MnXVXBUeDYtKAiD7E+9oJ+PVXGrAyxFU4IE3nua3Yu6IOgeAjA+PpJ92xCZ0rVlBELUIKVVFWlK9V4wV1qQCKTAZRvBYGMCgggBw+hISVNPBBkIkgZqKMDgMo52Un8mODs/r8IAUgb1AEAqgiUxEcrFFMY1bKWtGLKN4iIgKUBvIM85sEgkDqBB8AwcaeQBghSlkRUOBXlXkJAXLUDDAWkjPV8lkOFq09AOZGqjICGkVU5iBNsCICfZASxAQMNz86+g1EzCiBLHKz2wTTghF0EUALIQgWQZhoQiggTRBCiAJgMVrbO9A6+9Ghgi0zS9ENlbQAUAcBuFkcDW3ELKb6gisIaxvHAyIpXcCDAGNklhXoAmVS9QxERR3zuv5EK2PHiEHmAaIANTBH3sMST9lgswMyqHxNXgZkx7KqRd6KUrgAgpCqnVqgMYdAJIpclHXR1RmXrHqFNwoaDwFVYUCgaAwlS+UVlLjxVzZYBBChJTwJikeYMdIyqfobEAs0mQ9QMMHIuwYBwTy1aSOayjCBDyHl1PY4wpAJmzjnoYRTFA2DWEFcaO7JEVVcJiyX4zpqiElSJGCq1UwKka1K/Hn6SC2CYOfGFCtQII9K4VKcQCVUTVkgpKe6UvQDUwWk+R6oeroRwMGDQ6hTKASgiV4QRMhr2PDKrHMcC8d9AMVdACj0PejSWw4QYiHC5KIC/E+KDgWm0Cq6QTFYWSAQKMclRiIziuTLDy0EwoUHJfonWBLIGUoonRoKVdGqYzDG/G6QqUhQye9GsxBGLKH0X6SDwpzbcNcO5UgzcRQIEt+RL7FG8G4EQAzbDpAIECjEEp8h9AhRyih8xTlJ4g50hsELQshgLI8x4AAE2IgjAXDUxwZS4dVsbBRSVjFsvglTYQsmEYjoH4cAQUKPx0AAViQimaAJ6cBMF0SNYCWQnlI4ANAA8QGDumDKWlNN2CYgWPPBiiZID9CIYkGmpKBtvIGfinYvoOB99iAEgxpSQ2glgBuIbMB0EYw2sktkYq0jyfCxK31sEGzHrqp9UQU2rnhDM+H1YQoAFEDQ3AkcsY/CKzBKoAGl644W+NxVkGCDIRzl06AkSj4IUrsKVRJD1AS3NAkYxBuxrBvUJiLFiJF0BMt54WBBcOz6cUxguErCCYJSvQNvPhM0K6QaCmJvpF4epICUM44l74i8A/EkFGUXw434nUwzZolMnxNDu4ZahlICDAsWAB+NKygS3ylUqhASFPI22np0uUJhTEOaIOCUOwgwwNZcNAiEE1QrkDUrAJVwByAA50xwmd3QNqAuBBQ5CuG6ICLnkk8IFUr0aoxhSZNGY7JtQ0ryQQI4EEd0AXfTE4DdyAm1xCEvAtBBAXgEeUU9QSeHKQJgFEyf2MdighP4BGf7EB3MgCykcKKMBI9cHDMrpFxi3GjY68n0TG0jAcUilPTIzlPhRXAqb61l8DhfzqighKgdz+RFM4pfQRqqAzUq5gDVIX1Q0FCBukeiJFyI3S1SHphGbBYmRAAnAICZEVKrAkWAKkTEJQr3MkL7RJNiDGA0CKQT5BboMZ3mp1BRSEsIqaMc2WvBL3ChgFmqhPBpX8AgTBYWCIc7VLhMf6gK/EaDi/pA6wwhW0SQY51wF0UeiiAghFEdaYDBZchjQeI+EwXTMkSgrGPRoh7E1LQQMExmylHPBqnr9VIKWK5aKLpg4SYQ1QfzyWA5AoQWxq04xrfwiBYcIkAklMChabXm24RYT+AMUPKHp+UbkBG6CmVWYzg5DItPJqxGNGhlsQqW2wjislUtZullERJBaqJOgd3gTIYNMRKqoEHCAll09KBYSotzmc/iZjZrckIAGEdZ+vHbu8BqaDmICjbGA1gqKKAx0QcKjmipBYpVAKAoQPIzc2qdjQQlkQBHxo4C1SBuky3w8nywQDDCpCQ3KumLshlgZyi0LAJ530kmByxYUGbXCtMEoQ25/RNrkhx2YsTYooxCbfC6TXGji5lClSBYsXoH5vfXogVFQY9IW8IaYlQUig6QsFZENDiNTuqoqcB4NSQAl9MHQUgPMSmgUCECoJUAztyymBDiiwpENBTSH2AaYAUYI66ACs24EoS+gcIoqifAdmvs0GJhihEl4FaCkZSg5eTKhKreh0y4HwtBwCi0xg1VAFGG74dLoAk4NPE0HZAyJMoRlZEl/wBBL3MVqIyJYu0QiTxN3LbGHADLKIO6tdXAYRJQUjtXVa6YA7qlTNJo15BgC20qE2XfsMJGgYV1XGmlkoY1qj0qwu8IWdAiCiJQ0DoHWZ1KEQjwLCwScgIQdegISIUQ6myEEBKJIDQr1BDhRiq9Ga8EeRh6SW1JF7yEPyk5AM1rD+ky53U4k4FudWIKBWZOVhAF2G+ngIVhgAIxwqoRzQr1oU/wzDw57IftQGf+CglDaAvDBdcNgtiIs2Jyi5KrCUnktDghhp0CRBVbaCkEBctwMnhKbEAaUiGxCNDYAy85sBQ1lNQAasthPTBry8L1OJAsQQwbKq5uOAIi9rSjC/VsZhDCJW2wQQzs4hjBOM9L9SpqMvsYLK3wCEvUUP1FHlCGAn3oACERH4SBEHylHgwGKjByoXKsQHBjlAHj86OyDdoNNYRwacwjgg0WMXoZB1wpQZvwCeoCBXN1TsjTkCv2yWqHHq5SDnALCFRcRpSYKJH1lOVjBkUYvBXj5KEX2EYBFjgcg/6MtaaUlTIRFBK+xowMIqkpnQHTQvrEQLEkFVoPSTpFh5WRaikKCm2JWoUBARKR7aNHgSACLEogECvkzLFOilpjAT9ZMrRG/cPwLK/ZFitOUMAnFIo54A0Vc+CJSAQC2iEByrQAzFrejEg5IM+tTg6AxwpBNg1jaHA1S1ioAASA5ZHamv8AiMEpBICnzIKRQAKq35EHSwt+wUnjTc1mBzCwNKvXNRP3nKPSBcZQSFCR9W6U9Y5ZC+xoJBgQ0F19mxl8EhB6JFXAtBDE2IKjoILgECbujpNS7ahpPMwMgRCqZCDGI048jVYnDRBUBjlwKM4hsjqHSnpaeTpWWqaWLjSFJ1es5mGSgUpkYewcKDrotp5AKUw+uIisX2ECAjCFQBDQIsqrKYpWgDp2iXcqYtDl8UGhKy9T7ncQkUFDMAT5rIPKwVASMiCA0YVF9IG66hXKZLUcsqqXDPsxWkELAh2MIt0AAlOnkwr5S4XIzMUUCbSk69KYIs/gokRcWoz2gQGG41MDVrsLRgBtTQymMmODzKx+h1SjZVDA62CdMHhgSqLAeOgj1LbdEpVhYEA67CUJoCBQtgizZZ4SgEBFOzRPSePTk/cVSgi0C1QQhNBW9WBVb5AVEEwcPAVGBGq4HOlXcCBURM8AY9KgDii32LJ6koimEcCw3KJAtJYSE5ZwjmvohoUXxWBURoHEX2iKGEmDKQgY6VKgwCsVJXTzUp4ojkrSxaDSH4wd3kjD/cCG+oPw5AJLIICjQglLYBYSxBg6nIykkykuSgHfVUBFQCEgrUASOhSVYIqo5cgYze1wVhTZTIWwFYvoHN26EL+QVQo8YbYNKYnyBxf1eIqTX4MpvHSCKdEAJ+goblpOIrm08wCSgFfPakw4SxhlYiOsKAKggWcCnVgJUTWD8zwrh/IAoV3gJHg5rEbYtNRogkFtW7WgbmGEDFppNQ8WwkD+R9BQiEEtKqdFiYhWByr0mi0ZDSeSKQWAIecidYEDtb5tDUcsSZyQOAIvRSi8pgDhsTQdwquGftc5rDKaRQXBHoHK5sLJvA6UW1p1GgRs8fE9LFIncaSTQv8AYQYPKAqEJYReELgwJlxInk/lMqVjlB5ycTLZ4qXCFQWlCCCjdBFCfUgQcJ4NcdmChr0DyXwm7XqWhSJSgnsFjoAC2N6SvYY2qofanEwLN2NpjKAmyghQsUBQpveEAIA8S6HiM0oF4joDbnaVLlAUBPAuIIwJZIOxyzj5mxXIoyhiohE1OGAYWfMDqgJVVLzdBjJIRCsPGBFQdOAG41mCS7EM8N+oX8FbHva0AnFxaJFQCEy0OOKxvocARCRoFNsNrQSFKQKypmLTMbKgcWMqyjCwgEU7yuC7uegNoQnddIwpShbzRCIcJjiIFehl2BDGNXCTYchAzuMjSBm7dJtIGRSRxAXQURAo4Im6GRpFLstQSkJMlZYD2irJwgw9fgS1IC2dSAB11GLwIZMegeH7Cx0sKtuEqZS82LAAgFJUo3BNxRDywEqhiGuGkNEJoTsUW7CHSJbgB4xD5iakgoOjXxF86/ukURCpcBNF0zNK0xigKUiV4KEGx/SxADIVgCKMFbqlfplx9yAH/9k=",MB="data:image/jpeg;base64,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",EB=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;ru(this,i),(r=t.call(this,e)).type="Water";var o=du(r),a=n||{},s=void 0!==a.color?a.color:new Le(1,1,1,1),l=a.textureWidth||512,c=a.textureHeight||512,h=a.clipBias||0,d=a.flowDirection||new ke(1,0),u=a.flowSpeed||.03,p=a.reflectivity||1,f=a.scale||1,m=a.shader||i.WaterShader;r.reflectorTexturePosition=a.reflectorTexturePosition,r.refractorTexturePosition=a.refractorTexturePosition;var A=new Dl,y=a.flowMap||void 0,v=a.normalMap0||A.load(wB),C=a.normalMap1||A.load(MB),I=.15,x=.075,w=new yt,M=new Pc;if(void 0===Tu)return Bu.error("THREE.Water: Required component THREE.Reflector not found."),uu(r);if(void 0===Ru)return Bu.error("THREE.Water: Required component THREE.Refractor not found."),uu(r);var E=new Tu(e,{textureWidth:l,textureHeight:c,clipBias:h});E.position.copy(r.reflectorTexturePosition),E.updateMatrixWorld(!0);var B=new Ru(e,{textureWidth:l,textureHeight:c,clipBias:h});return B.position.copy(r.refractorTexturePosition),B.updateMatrixWorld(!0),r.material=new cn({uniforms:ln.merge([m.uniforms]),vertexShader:m.vertexShader,fragmentShader:m.fragmentShader,transparent:!0}),r.material.clipping=!0,r.material.side=2,void 0!==y?(r.material.defines.USE_FLOWMAP="",r.material.uniforms.tFlowMap={type:"t",value:y}):r.material.uniforms.flowDirection={type:"v2",value:d},v.wrapS=g,v.wrapT=g,C.wrapS=g,C.wrapT=g,r.material.uniforms.tReflectionMap.value=E.getRenderTarget().texture,r.material.uniforms.tRefractionMap.value=B.getRenderTarget().texture,r.material.uniforms.tNormalMap0.value=v,r.material.uniforms.tNormalMap1.value=C,r.material.uniforms.color.value=s,r.material.uniforms.reflectivity.value=p,r.material.uniforms.textureMatrix.value=w,r.material.uniforms.config.value.x=0,r.material.uniforms.config.value.y=x,r.material.uniforms.config.value.z=x,r.material.uniforms.config.value.w=f,r.onBeforeRender=function(e,t,i){var n,r;!function(e){w.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),w.multiply(e.projectionMatrix),w.multiply(e.matrixWorldInverse),w.multiply(o.matrixWorld)}(i),n=M.getDelta(),(r=o.material.uniforms.config).value.x+=u*n,r.value.y=r.value.x+x,I>r.value.x?I>r.value.y||(r.value.y=r.value.y-I):(r.value.x=0,r.value.y=x),o.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)),o.cameraProjectionMatrix||(o.cameraProjectionMatrix=i.projectionMatrix.clone()),i.projectionMatrix.equals(o.cameraProjectionMatrix)||(o.needUpdate=!0),o.waterMatrixWorld||(o.waterMatrixWorld=o.matrixWorld.clone()),o.matrixWorld.equals(o.waterMatrixWorld)||(o.needUpdate=!0),o.needUpdate&&(E.onBeforeRender(e,t,i),B.onBeforeRender(e,t,i),o.needUpdate=!1),o.material.uniforms.tReflectionMap.value=E.getRenderTarget().texture,o.material.uniforms.tRefractionMap.value=B.getRenderTarget().texture,o.visible=!0},r}return i}(nn);EB.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 Le}},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 BB=function(e){e?(this.boundary=e.boundary,this.color=e.color,this.viewer=e.viewer,this.scale=e.scale,this.xDirection=e.xDirection,this.yDirection=e.yDirection,this.reflectivity=e.reflectivity,e.reflectorTexturePosition?"number"==typeof e.reflectorTexturePosition.x?"number"==typeof e.reflectorTexturePosition.y?"number"==typeof e.reflectorTexturePosition.z?(this.reflectorTexturePosition=(new Ke).copy(e.reflectorTexturePosition),e.refractorTexturePosition?"number"==typeof e.refractorTexturePosition.x?"number"==typeof e.refractorTexturePosition.y?"number"==typeof e.refractorTexturePosition.z?(this.refractorTexturePosition=(new Ke).copy(e.refractorTexturePosition),this.viewer&&this.viewer instanceof xB?(e.geometry||0!==this.boundary.length)&&(this.geometry=e.geometry||new Uu(this.boundary),this.water=new EB(this.geometry,{color:new Le(this.color.r,this.color.g,this.color.b,this.color.a),scale:this.scale,reflectivity:this.reflectivity,flowDirection:new ke(this.xDirection,this.yDirection),textureWidth:1024,textureHeight:1024,reflectorTexturePosition:this.reflectorTexturePosition,refractorTexturePosition:this.refractorTexturePosition}),this.height=e.height,this.water.translateZ(this.height),this.water.renderOrder=-1,this.water.disPickable=!0,this.id=wp.createUUID(),this.water.name=this.id,this.water.autoAnimation=!0,this.viewer.addExternalObject(this.id,this.water)):Bu.log("ERROR::viewer must not support.")):Bu.error("缺少参数 reflectorTexturePosition.z"):Bu.error("缺少参数 reflectorTexturePosition.y"):Bu.error("缺少参数 reflectorTexturePosition.x"):Bu.error("缺少参数 reflectorTexturePosition")):Bu.error("缺少参数 reflectorTexturePosition.z"):Bu.error("缺少参数 reflectorTexturePosition.y"):Bu.error("缺少参数 reflectorTexturePosition.x"):Bu.error("缺少参数 reflectorTexturePosition")):Bu.error("ERROR::waterEffectConfig 不能为空.")};BB.prototype.getBoundary=function(){return this.boundary},BB.prototype.getColor=function(){return this.color},BB.prototype.getScale=function(){return this.scale},BB.prototype.getXDirection=function(){return this.xDirection},BB.prototype.getYDirection=function(){return this.yDirection},BB.prototype.setColor=function(e){e instanceof Du?(this.color=e,this.water.material.uniforms.color.value.set(this.color.r,this.color.g,this.color.b,this.color.a)):Bu.log("ERROR::color should be instance of BOS3D.Color")},BB.prototype.setScale=function(e){this.scale=e,this.water.material.uniforms.config.value.w=e},BB.prototype.setReflectivity=function(e){this.reflectivity=e,this.water.material.uniforms.reflectivity.value=e},BB.prototype.getReflectivity=function(){return this.reflectivity},BB.prototype.getReflectorTexturePosition=function(){return this.reflectorTexturePosition.clone()},BB.prototype.getRefractorTexturePosition=function(){return this.refractorTexturePosition.clone()},BB.prototype.setReflectorTexturePosition=function(e){e?"number"==typeof e.x?"number"==typeof e.y?"number"==typeof e.z?(this.reflectorTexturePosition=new Ke(e.x,e.y,e.z),this.water.reflectorTexturePosition=this.reflectorTexturePosition):Bu.error("缺少参数 position.z"):Bu.error("缺少参数 position.y"):Bu.error("缺少参数 position.x"):Bu.error("缺少参数 position")},BB.prototype.setRefractorTexturePosition=function(e){e?"number"==typeof e.x?"number"==typeof e.y?"number"==typeof e.z?(this.refractorTexturePosition=new Ke(e.x,e.y,e.z),this.water.refractorTexturePosition=this.refractorTexturePosition):Bu.error("缺少参数 position.z"):Bu.error("缺少参数 position.y"):Bu.error("缺少参数 position.x"):Bu.error("缺少参数 position")},BB.prototype.setXDirection=function(e){this.xDirection=e,this.water.material.uniforms.flowDirection.value.x=e},BB.prototype.setYDirection=function(e){this.yDirection=e,this.water.material.uniforms.flowDirection.value.y=e},BB.prototype.remove=function(){this.viewer.removeExternalObjectByName(this.id)},BB.prototype.setHeight=function(e){this.height=e,this.water.translateZ(e),this.water.updateMatrixWorld(!0)},BB.prototype.getHeight=function(){return this.height},BB.prototype.setGeometry=function(e){e.isGeometry||e.isBufferGeometry?(this.geometry=e,this.water.geometry=e):Bu.log("ERROR::geometry type not support")},BB.prototype.getGeometry=function(){return this.geometry},BB.prototype.getWaterObject=function(){return this.water};var SB=Symbol("_flowing"),bB=function(){function e(t){ru(this,e),this.viewer=t.viewer3D;var i=t.opt;this.arrowParameters=i,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===i.customizeMesh?this.geometricModelLength=i.meshLength:i.arrowShape?(i.arrowShape.rectangleLength=i.arrowShape.rectangleLength||500,i.arrowShape.triangleBottomHeight=i.arrowShape.triangleBottomHeight||260,this.geometricModelLength=i.arrowShape.rectangleLength+i.arrowShape.triangleBottomHeight?i.arrowShape.triangleBottomHeight:260):this.geometricModelLength=760,this.intervalLength=this.geometricModelLength+i.spacing,this.materialObject={},this.materialsInit=this.arrowParameters.materialsInit||"default",this.materialsUpdate=this.arrowParameters.materialsUpdate||"fixed",this.isFlowing=!1,i.callback&&(i.callback.enter&&(this.callbackEnter=i.callback.enter),i.callback.out&&(this.callbackOut=i.callback.out)),this.meshGroupId=wp.createUUID(),this.meshGroup?this.meshGroup.children=[]:this.meshGroup=new To}return au(e,[{key:"calculationPathOffset",value:function(){for(var e=this.path,t=0;e.length>t;t+=1){var i=(new Ke).copy(e[t].startingPoint),n=new Ge,r=new Ge,o=new Ke(1,1,1);if(e[t].offset){var a=(new Ke).copy(e[t].offset.pathDepthAxis).applyQuaternion(n);i.add(a.multiplyScalar(e[t].offset.depth)),r.setFromAxisAngle(e[t].startPoint2EndPointAxis,e[t].angle),n.premultiply(r),r.setFromAxisAngle(e[t].vectorNormalize,e[t].offset.angle),n.premultiply(r)}else r.setFromAxisAngle(e[t].startPoint2EndPointAxis,e[t].angle),n.premultiply(r);e[t].rotationComponent={},e[t].rotationComponent.position=i,e[t].rotationComponent.quaternion=n,e[t].rotationComponent.scale=o}}},{key:"translationPath",value:function(){var e=new Ke(1,0,0),t=this.arrowParameters.points,i=t.length-1,n=[];this.totalLength=0;for(var r=0;i>r;r+=1){var o={};if(o.startingPoint=new Ke(t[r].x,t[r].y,t[r].z),o.endingPoint=new Ke(t[r+1].x,t[r+1].y,t[r+1].z),o.length=o.startingPoint.distanceTo(o.endingPoint),o.vector=(new Ke).subVectors(o.endingPoint,o.startingPoint),o.vectorNormalize=(new Ke).subVectors(o.endingPoint,o.startingPoint).normalize(),o.startPoint2EndPointAxis=(new Ke).crossVectors(e,o.vectorNormalize).normalize(),o.numb=r,o.angle=e.angleTo(o.vectorNormalize),this.arrowParameters.offset&&this.arrowParameters.offset[r+1]){var a={},s=this.arrowParameters.offset[r+1],l=s.depth,c=s.angle,h=void 0===c?0:c;a.depth=void 0===l?0:l,a.angle=Math.PI/180*h,a.pathDepthAxis=new Ke(0,1,0).applyAxisAngle(o.startPoint2EndPointAxis,o.angle),a.pathDepthAxis.applyAxisAngle(o.vectorNormalize,a.angle).normalize(),o.offset=a}this.totalLength+=o.length,n.push(o)}this.path=n,this.pathNumb=this.path.length}},{key:"calculationArrowAmount",value:function(){var e=this.arrowParameters,t=0;if(e.createMode&&"number"===e.createMode&&e.arrowAmount&&e.arrowAmount>0)if(e.intervalMode&&"strict"===e.intervalMode){if(t=Math.floor(this.totalLength/this.intervalLength),e.arrowAmount>t)return{code:"001",message:"Too many arrows,over the length of the path"};this.arrowAmount=e.arrowAmount,this.CreateMode="number",this.IntervalMode="strict"}else{if(t=Math.floor(this.totalLength/this.geometricModelLength),e.arrowAmount>t)return{code:"001",message:"Too many arrows,over the length of the path"};this.arrowAmount=e.arrowAmount,this.CreateMode="number";var i=Math.floor(100*(this.totalLength-this.intervalLength*e.arrowAmount)/e.arrowAmount)/100;this.intervalLength+=i,this.IntervalMode="free"}else{if(e.createMode&&"number"===e.createMode&&e.arrowAmount&&1>e.arrowAmount)return{code:"002",message:"the number is error"};if(t=Math.floor(this.totalLength/this.intervalLength),e.intervalMode&&"strict"===e.intervalMode)this.IntervalMode="strict";else{var n=Math.floor(100*(this.totalLength%this.intervalLength)/t)/100;this.intervalLength+=n,this.IntervalMode="free"}this.arrowAmount=t,this.CreateMode="space"}}},{key:"createArrowArray",value:function(){var e=this.arrowAmount;if(!0===this.arrowParameters.customizeMesh)for(var t=0;e>t;t+=1){var i=this.arrowParameters.mesh.clone();i.material=this.materialObject.default,this.arrowArray.push(i),this.meshGroup.add(i)}else for(var n=this.arrowParameters.arrowShape,r=void 0===n?{}:n,o=r.triangleBottomLength||400,a=r.triangleBottomHeight||260,s=r.rectangleWidth||180,l=r.rectangleLength||500,c=r.arrowHeight||80,h=new Float32Array([a+l,c,0,l,c,o/2,l,c,-o/2,a+l,0,0,l,0,o/2,l,0,-o/2,l,c,-s/2,l,c,s/2,0,c,s/2,0,c,-s/2,l,0,-s/2,l,0,s/2,0,0,s/2,0,0,-s/2]),d=[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],u=0;e>u;u+=1){var p=this.createArrowMesh(h,d);p.arrowID=u,this.arrowArray.push(p),this.meshGroup.add(p)}}},{key:"createArrowMesh",value:function(e,t){var i=new Ni;i.setIndex(t);var n=new Ai(e,3);return i.attributes.position=n,new nn(i,this.materialObject.default)}},{key:"createMaterialArray",value:function(){for(var e=this.arrowParameters.colors,t=this.arrowParameters.materials,i=this.path.length,n=1;i>=n;n+=1)t&&t[n]?this.materialObject[n]=t[n]:e&&e[n]&&(this.materialObject[n]=new gi({color:e[n]}));t&&t.default?this.materialObject.default=t.default:e&&e.default?this.materialObject.default=new gi({color:e.default}):(this.materialObject.default=new gi({color:10606038}),this.materialObject.default.transparent=!0,this.materialObject.default.opacity=.8)}},{key:"initPostition",value:function(){var e=this.arrowArray,t=this.path,i=e.length,n=0,r=this.intervalLength,o=0,a=new Ge;if(this.arrowParameters.enterSceMod&&"progressive"===this.arrowParameters.enterSceMod)for(var s=0;i>s;s+=1){var l=e[s];l.quaternion.copy(a),l.position.x=t[n].startingPoint.x,l.position.y=t[n].startingPoint.y,l.position.z=t[n].startingPoint.z,l.pathOrder=n,t[n].offset?(l.translateOnAxis(t[n].vectorNormalize,-r*o),l.translateOnAxis(t[n].offset.pathDepthAxis,t[n].offset.depth),l.rotateOnWorldAxis(t[n].startPoint2EndPointAxis,t[n].angle),l.rotateOnWorldAxis(t[n].vectorNormalize,t[n].offset.angle)):(l.translateOnAxis(t[n].vectorNormalize,-r*o),l.rotateOnWorldAxis(t[n].startPoint2EndPointAxis,t[n].angle)),l.visible=!1,l.userData.BosArrowExt={},l.userData.BosArrowExt.enterState="unenter","path"===this.materialsInit&&this.materialObject[n+1]&&(l.material=this.materialObject[n+1]),l.updateMatrixWorld(),o+=1}else for(var c=0,h=0;i>h;h+=1){var d=e[h];d.quaternion.copy(a);var u=t[n];u.offset?(d.position.x=u.startingPoint.x,d.position.y=u.startingPoint.y,d.position.z=u.startingPoint.z,d.translateOnAxis(u.vectorNormalize,r*o+c),d.translateOnAxis(u.offset.pathDepthAxis,u.offset.depth),d.rotateOnWorldAxis(u.startPoint2EndPointAxis,u.angle),d.rotateOnWorldAxis(u.vectorNormalize,u.offset.angle)):(d.position.x=u.startingPoint.x,d.position.y=u.startingPoint.y,d.position.z=u.startingPoint.z,d.translateOnAxis(u.vectorNormalize,r*o+c),d.rotateOnWorldAxis(u.startPoint2EndPointAxis,u.angle)),d.pathOrder=n,"path"===this.materialsInit&&this.materialObject[n+1]&&(d.material=this.materialObject[n+1]),u.length-c>r*(o+1)||(c=r*(o+1)-u.length+c,n+=1,o=-1),d.updateMatrixWorld(),o+=1}this.viewer.removeExternalObjectByName(this.meshGroupId),this.viewer.addExternalObject(this.meshGroupId,this.meshGroup)}},{key:"setSpeed",value:function(e){this.isFlowing?(this.stopFlow(),this.arrowParameters.speed=e,this.startFlow()):this.arrowParameters.speed=e}},{key:"init",value:function(){this.translationPath(),this.calculationPathOffset(),this.calculationArrowAmount(),this.createMaterialArray(),this.createArrowArray(),this.initPostition()}},{key:"updatePosition",value:function(){var e=this,t=this.path,i=this.arrowParameters.speed;this.arrowArray.forEach((function(n){if(!n.lockPosUpDate||!0!==n.lockPosUpDate){var r=0;if(n.userData.BosArrowExt&&n.userData.BosArrowExt.enterState&&"unenter"===n.userData.BosArrowExt.enterState){var o=n.position.distanceTo(t[0].endingPoint);return t[0].length>o&&("fixed"!==e.materialsUpdate&&e.materialObject[0]?n.material=e.materialObject[0]:"fixed"===e.materialsUpdate||e.materialObject[0]||(n.material=e.materialObject.default),e.callbackEnter&&"function"==typeof e.callbackEnter&&e.callbackEnter(n,t[0]),n.visible=!0,n.userData.BosArrowExt.enterState="enter","fixed"!==e.materialsUpdate&&e.materialObject[1]?n.material=e.materialObject[1]:"fixed"===e.materialsUpdate||e.materialObject[1]||(n.material=e.materialObject.default)),n.translateX(i+r),void n.updateMatrixWorld()}var a=n.position.distanceTo(t[n.pathOrder].startingPoint);a>t[n.pathOrder].length-e.geometricModelLength&&!1!==n.visible&&(n.visible=!1,e.callbackOut&&"function"==typeof e.callbackOut&&e.callbackOut(n,t[n.pathOrder])),!1===n.visible&&(n.pathOrder+1===e.pathNumb?t[n.pathOrder].length>a||(r=a-t[n.pathOrder].length,n.pathOrder=0,n.position.copy(t[n.pathOrder].rotationComponent.position),n.scale.copy(t[n.pathOrder].rotationComponent.scale),n.setRotationFromQuaternion(t[n.pathOrder].rotationComponent.quaternion),"fixed"!==e.materialsUpdate&&e.materialObject[1]?n.material=e.materialObject[1]:"fixed"===e.materialsUpdate||e.materialObject[1]||(n.material=e.materialObject.default),e.callbackEnter&&"function"==typeof e.callbackEnter&&e.callbackEnter(n,t[n.pathOrder]),n.visible=!0):t[n.pathOrder].length>a||(r=a-t[n.pathOrder].length,n.pathOrder+=1,n.position.copy(t[n.pathOrder].rotationComponent.position),n.scale.copy(t[n.pathOrder].rotationComponent.scale),n.setRotationFromQuaternion(t[n.pathOrder].rotationComponent.quaternion),"fixed"!==e.materialsUpdate&&e.materialObject[n.pathOrder+1]?n.material=e.materialObject[n.pathOrder+1]:"fixed"===e.materialsUpdate||e.materialObject[n.pathOrder+1]||(n.material=e.materialObject.default),n.visible=!0,e.callbackEnter&&"function"==typeof e.callbackEnter&&e.callbackEnter(n,t[n.pathOrder]))),n.translateX(i+r),n.updateMatrixWorld()}})),this.viewer.render()}},{key:SB,value:function(){this.requestAnimationFrameID=requestAnimationFrame(this[SB].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[SB].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=[]}}]),e}(),kB=function(){function e(t){ru(this,e),this.curves={},this.viewer=t.viewer3D,this.modelKey=t.modelKey}return au(e,[{key:"getCurve",value:function(e){return this.curves[e]}},{key:"_setCurve",value:function(e,t){this.curves[e]=t}},{key:"_rmCurve",value:function(e){delete this.curves[e]}},{key:"genTHREELine",value:function(e){var t=e.closed,i=new Pl(e.points,void 0!==t&&t,e.curveType,e.tension),n=wp.createUUID();return this._setCurve(n,{curve:i}),n}},{key:"rmCurve",value:function(e){this._rmCurve(e)}},{key:"rmAllCurve",value:function(){var e=this;Object.keys(this.curves).forEach((function(t){return e.rmCurve(t)}))}}]),e}(),DB=function(){function e(t){ru(this,e),this.viewer=t.viewer3D,this.cptKeyList=t.cptKeyList.reverse(),this.cptInfo=[],this.edgeLength=0,this.boxLength=1e4,this.lineManager=new kB({viewer3D:t.viewer3D,debug:t.debug,modelKey:t.modelKey}),this.isCustom=t.isCustom||!1,this.overallOffset=t.overallOffset||{status:!1,position:{x:0,y:0,z:0}},this.callback=t.callbackFunc||void 0,this.isPlaying=!1,this.zDistance=t.zDiztance||2e4,this.init()}return au(e,[{key:"_customInit",value:function(e,t){for(var i=t,n=1,r=0;e>r;r+=1){var o=this.cptKeyList[r],a=this.handlerOriginCoordinate(o.cptKey),s=new Ke;o.offset&&s.set(o.offset.x,o.offset.y,o.offset.z);var l=new Ke;l.addVectors(a,s);var c=new Ke;o.showPoint?c.set(o.showPoint.x,o.showPoint.y,o.showPoint.z):t>n?(c.set(n*this.boxLength,0,i*this.boxLength+this.zDistance),n+=1):c.set((n=0)*this.boxLength,0,(i-=1)*this.boxLength+this.zDistance),this.cptInfo.push({cptKey:o.cptKey,showPosition:c,originPoint:a,resetVector:l,currentPosition:a})}}},{key:"_defaultInit",value:function(e,t){for(var i=t,n=0,r=0;e>r;r+=1){var o=this.cptKeyList[r],a=new Ke,s=this.handlerOriginCoordinate(o.cptKey);if(t>n?(a.set(n*this.boxLength,0,i*this.boxLength+this.zDistance),n+=1):a.set((n=0)*this.boxLength,0,(i-=1)*this.boxLength+this.zDistance),this.overallOffset.status){if(!this.overallOffset.position||"number"!=typeof this.overallOffset.position.x||"number"!=typeof this.overallOffset.position.y||"number"!=typeof this.overallOffset.position.z)throw new Error("请检查overallOffset对象中position是否符合格式");a.set(s.x+this.overallOffset.position.x,s.y+this.overallOffset.position.y,s.z+this.overallOffset.position.z)}this.cptInfo.push({cptKey:o.cptKey,showPosition:a,originPoint:s,resetVector:s,currentPosition:s})}}},{key:"init",value:function(){var e=this.cptKeyList.length,t=Math.ceil(Math.sqrt(e));this.edgeLength=t,this.isCustom?this._customInit(e,t):this._defaultInit(e,t)}},{key:"reset",value:function(){this.pause(),this.lineManager.rmAllCurve();var e,t=vu(this.cptInfo);try{for(t.s();!(e=t.n()).done;){var i=e.value,n=new yt;n.elements[12]=i.originPoint.x-i.currentPosition.x,n.elements[13]=i.originPoint.y-i.currentPosition.y,n.elements[14]=i.originPoint.z-i.currentPosition.z,this.viewer.componentApplyMatrix(i.cptKey,n),i.currentPosition=i.originPoint}}catch(e){t.e(e)}finally{t.f()}this.viewer.render(),this.viewer.viewerImpl.rotateCameraByViewCubeSide(3)}},{key:"show",value:function(){var e=this;if(!this.cptInfo.length)throw new Error("初始化失败!");this.reset();var t=this.cptInfo.filter((function(e){var t=e.currentPosition,i=e.showPosition;return t.x!==i.x&&t.y!==i.y&&t.z!==i.z}));this.isPlaying=!0;var i,n=[],r=vu(t);try{for(r.s();!(i=r.n()).done;){var o=i.value;o.currentPosition=o.originPoint;var a=this._assemble({cptItem:o,pointFn:null,show:!0});n.push(a)}}catch(e){r.e(e)}finally{r.f()}Promise.all(n).then((function(){e.isPlaying=!1}))}},{key:"addPath",value:function(e){return this.lineManager.genTHREELine(e)}},{key:"handleScaleTime",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500,i=this.viewer.getBoxByComponentsKey(e),n=i.min,r=i.max;return t/Math.max(r.x-n.x,r.y-n.y,r.z-n.z)}},{key:"handleCurrentPosition",value:function(e,t){var i,n=vu(this.cptInfo);try{for(n.s();!(i=n.n()).done;){var r=i.value;r.cptKey===e&&(r.currentPosition=t)}}catch(e){n.e(e)}finally{n.f()}return null}},{key:"handlerOriginCoordinate",value:function(e){var t=this.viewer.getBoxByComponentsKey(e),i=t.min,n=t.max;return(new Ke).addVectors(i,n).divideScalar(2)}},{key:"_assemble",value:function(e){var t=this,i=e.cptItem,n=e.pointFn,r=e.show,o=void 0!==r&&r,a=this,s=i.currentPosition,l=i.resetVector,c=i.showPosition;return new Promise((function(e,r){try{var h=new yt,d=l;o&&(d=c);var u=t.addPath({points:[s,d]}),p=t.lineManager.getCurve(u).curve.getPoint(0),g=i.currentPosition;h.elements[12]=p.x-g.x,h.elements[13]=p.y-g.y,h.elements[14]=p.z-g.z,a.viewer.componentApplyMatrix(i.cptKey,h);var f=0,m=new Ke(0,0,0).clone().normalize(),A=function r(o){var s,l=t.lineManager.getCurve(u).curve.getPointAt(f-Math.trunc(f));s=1>o?t.lineManager.getCurve(u).curve.getPointAt(o-Math.trunc(o)):t.lineManager.getCurve(u).curve.getPointAt(1);var c=new yt;c.elements[12]=-l.x,c.elements[13]=-l.y,c.elements[14]=-l.z;var h=new Ge,d=new Ke(s.x-l.x,s.y-l.y,s.z-l.z).normalize();h.setFromUnitVectors(m,d),m.applyQuaternion(h);var p=(new yt).makeRotationFromQuaternion(h),g=new yt;g.elements[12]=s.x,g.elements[13]=s.y,g.elements[14]=s.z,t.viewer.componentApplyMatrix(i.cptKey,g.multiply(p).multiply(c)),a.handleCurrentPosition(i.cptKey,s),f=o,1>o?"function"==typeof n?requestAnimationFrame((function(){t.isPlaying&&r(n(u,o,s))})):requestAnimationFrame((function(){t.isPlaying&&r(parseFloat((o+.01).toFixed(2)))})):(t.lineManager.rmCurve(u),e({code:"success",pathId:u}))};"function"==typeof n?requestAnimationFrame((function(){A(n(u,0,p))})):requestAnimationFrame((function(){return A(.01)}))}catch(e){r(new Error(e))}}))}},{key:"singleAssemble",value:function(){var e=this;return this.isPlaying?new Error("正在组装..."):new Promise((function(t,i){try{e.isPlaying=!0;var n=e,r=e.cptInfo.filter((function(e){var t=e.currentPosition,i=e.originPoint;return t.x!==i.x&&t.y!==i.y&&t.z!==i.z}));o=r.map((function(t){return function(){return e._assemble({cptItem:t,pointFn:null})}})),a=function(){n.viewer.viewerImpl.rotateCameraByViewCubeSide(3),n.callback&&"function"==typeof n.callback&&n.callback(),t({code:"success"})},o.reduce((function(e,t){return e.then(t)}),Promise.resolve()).then(a)}catch(e){i(new Error(e))}var o,a}))}},{key:"assemble",value:function(){var e=this;return this.isPlaying?new Error("正在组装"):new Promise((function(t,i){e.cptInfo.length||i(new Error("初始化失败"));var n=e.cptInfo.filter((function(e){var t=e.currentPosition,i=e.originPoint;return t.x!==i.x&&t.y!==i.y&&t.z!==i.z}));e.isPlaying=!0;var r,o=[],a=vu(n);try{for(a.s();!(r=a.n()).done;){var s=e._assemble({cptItem:r.value,pointFn:null});o.push(s)}}catch(e){a.e(e)}finally{a.f()}Promise.all(o).then((function(){e.viewer.viewerImpl.rotateCameraByViewCubeSide(3),e.callback&&"function"==typeof e.callback&&e.callback(),t({code:"success"})}))}))}},{key:"pause",value:function(){this.isPlaying=!1}}]),e}();function TB(e,t){return e===t||e!=e&&t!=t}function RB(e,t){for(var i=e.length;i--;)if(TB(e[i][0],t))return i;return-1}var UB=Array.prototype.splice;function FB(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}FB.prototype.clear=function(){this.__data__=[],this.size=0},FB.prototype.delete=function(e){var t=this.__data__,i=RB(t,e);return i>=0&&(i==t.length-1?t.pop():UB.call(t,i,1),--this.size,!0)},FB.prototype.get=function(e){var t=this.__data__,i=RB(t,e);return 0>i?void 0:t[i][1]},FB.prototype.has=function(e){return RB(this.__data__,e)>-1},FB.prototype.set=function(e,t){var i=this.__data__,n=RB(i,e);return 0>n?(++this.size,i.push([e,t])):i[n][1]=t,this};var QB="object"==typeof global&&global&&global.Object===Object&&global,LB="object"==typeof self&&self&&self.Object===Object&&self,OB=QB||LB||Function("return this")(),NB=OB.Symbol,PB=Object.prototype,GB=PB.hasOwnProperty,KB=PB.toString,VB=NB?NB.toStringTag:void 0;var YB=Object.prototype.toString;var HB=NB?NB.toStringTag:void 0;function jB(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":HB&&HB in Object(e)?function(e){var t=GB.call(e,VB),i=e[VB];try{e[VB]=void 0;var n=!0}catch(e){}var r=KB.call(e);return n&&(t?e[VB]=i:delete e[VB]),r}(e):function(e){return YB.call(e)}(e)}function WB(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function JB(e){if(!WB(e))return!1;var t=jB(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}var zB,qB=OB["__core-js_shared__"],ZB=(zB=/[^.]+$/.exec(qB&&qB.keys&&qB.keys.IE_PROTO||""))?"Symbol(src)_1."+zB:"";var XB=Function.prototype.toString;function _B(e){if(null!=e){try{return XB.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var $B=/^\[object .+?Constructor\]$/,eS=RegExp("^"+Function.prototype.toString.call(Object.prototype.hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function tS(e){return!(!WB(e)||(t=e,ZB&&ZB in t))&&(JB(e)?eS:$B).test(_B(e));var t}function iS(e,t){var i=function(e,t){return null==e?void 0:e[t]}(e,t);return tS(i)?i:void 0}var nS=iS(OB,"Map"),rS=iS(Object,"create");var oS=Object.prototype.hasOwnProperty;var aS=Object.prototype.hasOwnProperty;function sS(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}function lS(e,t){var i=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?i["string"==typeof t?"string":"hash"]:i.map}function cS(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}sS.prototype.clear=function(){this.__data__=rS?rS(null):{},this.size=0},sS.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},sS.prototype.get=function(e){var t=this.__data__;if(rS){var i=t[e];return"__lodash_hash_undefined__"===i?void 0:i}return oS.call(t,e)?t[e]:void 0},sS.prototype.has=function(e){var t=this.__data__;return rS?void 0!==t[e]:aS.call(t,e)},sS.prototype.set=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=rS&&void 0===t?"__lodash_hash_undefined__":t,this},cS.prototype.clear=function(){this.size=0,this.__data__={hash:new sS,map:new(nS||FB),string:new sS}},cS.prototype.delete=function(e){var t=lS(this,e).delete(e);return this.size-=t?1:0,t},cS.prototype.get=function(e){return lS(this,e).get(e)},cS.prototype.has=function(e){return lS(this,e).has(e)},cS.prototype.set=function(e,t){var i=lS(this,e),n=i.size;return i.set(e,t),this.size+=i.size==n?0:1,this};function hS(e){var t=this.__data__=new FB(e);this.size=t.size}hS.prototype.clear=function(){this.__data__=new FB,this.size=0},hS.prototype.delete=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i},hS.prototype.get=function(e){return this.__data__.get(e)},hS.prototype.has=function(e){return this.__data__.has(e)},hS.prototype.set=function(e,t){var i=this.__data__;if(i instanceof FB){var n=i.__data__;if(!nS||199>n.length)return n.push([e,t]),this.size=++i.size,this;i=this.__data__=new cS(n)}return i.set(e,t),this.size=i.size,this};var dS=function(){try{var e=iS(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();function uS(e,t,i){"__proto__"==t&&dS?dS(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i}var pS=Object.prototype.hasOwnProperty;function gS(e,t,i){var n=e[t];pS.call(e,t)&&TB(n,i)&&(void 0!==i||t in e)||uS(e,t,i)}function fS(e,t,i,n){var r=!i;i||(i={});for(var o=-1,a=t.length;++o<a;){var s=t[o],l=n?n(i[s],e[s],s,i,e):void 0;void 0===l&&(l=e[s]),r?uS(i,s,l):gS(i,s,l)}return i}function mS(e){return null!=e&&"object"==typeof e}function AS(e){return mS(e)&&"[object Arguments]"==jB(e)}var yS=Object.prototype,vS=yS.hasOwnProperty,CS=yS.propertyIsEnumerable,IS=AS(function(){return arguments}())?AS:function(e){return mS(e)&&vS.call(e,"callee")&&!CS.call(e,"callee")},xS=Array.isArray;var wS="object"==typeof e&&e&&!e.nodeType&&e,MS=wS&&"object"==typeof module&&module&&!module.nodeType&&module,ES=MS&&MS.exports===wS?OB.Buffer:void 0,BS=(ES?ES.isBuffer:void 0)||function(){return!1},SS=/^(?:0|[1-9]\d*)$/;function bS(e,t){var i=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==i||"symbol"!=i&&SS.test(e))&&e>-1&&e%1==0&&t>e}function kS(e){return"number"==typeof e&&e>-1&&e%1==0&&9007199254740991>=e}var DS={};function TS(e){return function(t){return e(t)}}DS["[object Float32Array]"]=DS["[object Float64Array]"]=DS["[object Int8Array]"]=DS["[object Int16Array]"]=DS["[object Int32Array]"]=DS["[object Uint8Array]"]=DS["[object Uint8ClampedArray]"]=DS["[object Uint16Array]"]=DS["[object Uint32Array]"]=!0,DS["[object Arguments]"]=DS["[object Array]"]=DS["[object ArrayBuffer]"]=DS["[object Boolean]"]=DS["[object DataView]"]=DS["[object Date]"]=DS["[object Error]"]=DS["[object Function]"]=DS["[object Map]"]=DS["[object Number]"]=DS["[object Object]"]=DS["[object RegExp]"]=DS["[object Set]"]=DS["[object String]"]=DS["[object WeakMap]"]=!1;var RS="object"==typeof e&&e&&!e.nodeType&&e,US=RS&&"object"==typeof module&&module&&!module.nodeType&&module,FS=US&&US.exports===RS&&QB.process,QS=function(){try{var e=US&&US.require&&US.require("util").types;return e||FS&&FS.binding&&FS.binding("util")}catch(e){}}(),LS=QS&&QS.isTypedArray,OS=LS?TS(LS):function(e){return mS(e)&&kS(e.length)&&!!DS[jB(e)]},NS=Object.prototype.hasOwnProperty;function PS(e,t){var i=xS(e),n=!i&&IS(e),r=!i&&!n&&BS(e),o=!i&&!n&&!r&&OS(e),a=i||n||r||o,s=a?function(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}(e.length,String):[],l=s.length;for(var c in e)!t&&!NS.call(e,c)||a&&("length"==c||r&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||bS(c,l))||s.push(c);return s}var GS=Object.prototype;function KS(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||GS)}function VS(e,t){return function(i){return e(t(i))}}var YS=VS(Object.keys,Object),HS=Object.prototype.hasOwnProperty;function jS(e){return null!=e&&kS(e.length)&&!JB(e)}function WS(e){return jS(e)?PS(e):function(e){if(!KS(e))return YS(e);var t=[];for(var i in Object(e))HS.call(e,i)&&"constructor"!=i&&t.push(i);return t}(e)}var JS=Object.prototype.hasOwnProperty;function zS(e){if(!WB(e))return function(e){var t=[];if(null!=e)for(var i in Object(e))t.push(i);return t}(e);var t=KS(e),i=[];for(var n in e)("constructor"!=n||!t&&JS.call(e,n))&&i.push(n);return i}function qS(e){return jS(e)?PS(e,!0):zS(e)}var ZS="object"==typeof e&&e&&!e.nodeType&&e,XS=ZS&&"object"==typeof module&&module&&!module.nodeType&&module,_S=XS&&XS.exports===ZS?OB.Buffer:void 0,$S=_S?_S.allocUnsafe:void 0;function eb(){return[]}var tb=Object.prototype.propertyIsEnumerable,ib=Object.getOwnPropertySymbols,nb=ib?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var i=-1,n=null==e?0:e.length,r=0,o=[];++i<n;){var a=e[i];t(a,i,e)&&(o[r++]=a)}return o}(ib(e),(function(t){return tb.call(e,t)})))}:eb;function rb(e,t){for(var i=-1,n=t.length,r=e.length;++i<n;)e[r+i]=t[i];return e}var ob=VS(Object.getPrototypeOf,Object),ab=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)rb(t,nb(e)),e=ob(e);return t}:eb;function sb(e,t,i){var n=t(e);return xS(e)?n:rb(n,i(e))}function lb(e){return sb(e,WS,nb)}function cb(e){return sb(e,qS,ab)}var hb=iS(OB,"DataView"),db=iS(OB,"Promise"),ub=iS(OB,"Set"),pb=iS(OB,"WeakMap"),gb="[object Map]",fb="[object Promise]",mb="[object Set]",Ab="[object WeakMap]",yb="[object DataView]",vb=_B(hb),Cb=_B(nS),Ib=_B(db),xb=_B(ub),wb=_B(pb),Mb=jB;(hb&&Mb(new hb(new ArrayBuffer(1)))!=yb||nS&&Mb(new nS)!=gb||db&&Mb(db.resolve())!=fb||ub&&Mb(new ub)!=mb||pb&&Mb(new pb)!=Ab)&&(Mb=function(e){var t=jB(e),i="[object Object]"==t?e.constructor:void 0,n=i?_B(i):"";if(n)switch(n){case vb:return yb;case Cb:return gb;case Ib:return fb;case xb:return mb;case wb:return Ab}return t});var Eb=Mb,Bb=Object.prototype.hasOwnProperty;var Sb=OB.Uint8Array;function bb(e){var t=new e.constructor(e.byteLength);return new Sb(t).set(new Sb(e)),t}var kb=/\w*$/;var Db=NB?NB.prototype:void 0,Tb=Db?Db.valueOf:void 0;function Rb(e,t,i){var n,r=e.constructor;switch(t){case"[object ArrayBuffer]":return bb(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return function(e,t){var i=t?bb(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}(e,i);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(e,t){var i=t?bb(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}(e,i);case"[object Map]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return function(e){var t=new e.constructor(e.source,kb.exec(e));return t.lastIndex=e.lastIndex,t}(e);case"[object Set]":return new r;case"[object Symbol]":return n=e,Tb?Object(Tb.call(n)):{}}}var Ub=Object.create,Fb=function(){function e(){}return function(t){if(!WB(t))return{};if(Ub)return Ub(t);e.prototype=t;var i=new e;return e.prototype=void 0,i}}();var Qb=QS&&QS.isMap,Lb=Qb?TS(Qb):function(e){return mS(e)&&"[object Map]"==Eb(e)};var Ob=QS&&QS.isSet,Nb=Ob?TS(Ob):function(e){return mS(e)&&"[object Set]"==Eb(e)},Pb="[object Arguments]",Gb="[object Function]",Kb="[object Object]",Vb={};function Yb(e,t,i,n,r,o){var a,s=1&t,l=2&t,c=4&t;if(i&&(a=r?i(e,n,r,o):i(e)),void 0!==a)return a;if(!WB(e))return e;var h=xS(e);if(h){if(a=function(e){var t=e.length,i=new e.constructor(t);return t&&"string"==typeof e[0]&&Bb.call(e,"index")&&(i.index=e.index,i.input=e.input),i}(e),!s)return function(e,t){var i=-1,n=e.length;for(t||(t=Array(n));++i<n;)t[i]=e[i];return t}(e,a)}else{var d=Eb(e),u=d==Gb||"[object GeneratorFunction]"==d;if(BS(e))return function(e,t){if(t)return e.slice();var i=e.length,n=$S?$S(i):new e.constructor(i);return e.copy(n),n}(e,s);if(d==Kb||d==Pb||u&&!r){if(a=l||u?{}:function(e){return"function"!=typeof e.constructor||KS(e)?{}:Fb(ob(e))}(e),!s)return l?function(e,t){return fS(e,ab(e),t)}(e,function(e,t){return e&&fS(t,qS(t),e)}(a,e)):function(e,t){return fS(e,nb(e),t)}(e,function(e,t){return e&&fS(t,WS(t),e)}(a,e))}else{if(!Vb[d])return r?e:{};a=Rb(e,d,s)}}o||(o=new hS);var p=o.get(e);if(p)return p;o.set(e,a),Nb(e)?e.forEach((function(n){a.add(Yb(n,t,i,n,e,o))})):Lb(e)&&e.forEach((function(n,r){a.set(r,Yb(n,t,i,r,e,o))}));var g=h?void 0:(c?l?cb:lb:l?qS:WS)(e);return function(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););}(g||e,(function(n,r){g&&(n=e[r=n]),gS(a,r,Yb(n,t,i,r,e,o))})),a}Vb[Pb]=Vb["[object Array]"]=Vb["[object ArrayBuffer]"]=Vb["[object DataView]"]=Vb["[object Boolean]"]=Vb["[object Date]"]=Vb["[object Float32Array]"]=Vb["[object Float64Array]"]=Vb["[object Int8Array]"]=Vb["[object Int16Array]"]=Vb["[object Int32Array]"]=Vb["[object Map]"]=Vb["[object Number]"]=Vb[Kb]=Vb["[object RegExp]"]=Vb["[object Set]"]=Vb["[object String]"]=Vb["[object Symbol]"]=Vb["[object Uint8Array]"]=Vb["[object Uint8ClampedArray]"]=Vb["[object Uint16Array]"]=Vb["[object Uint32Array]"]=!0,Vb["[object Error]"]=Vb[Gb]=Vb["[object WeakMap]"]=!1;function Hb(e){return Yb(e,5)}var jb=function(){var e,t={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:{}},i=function(){var e=function(e){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=e.xField||e.defaultXField,this._yField=e.yField||e.defaultYField,this._valueField=e.valueField||e.defaultValueField,e.radius&&(this._cfgRadius=e.radius)},i=t.defaultRadius;return e.prototype={_organiseData:function(e,t){var n=e[this._xField],r=e[this._yField],o=this._radi,a=this._data,s=this._max,l=this._min,c=e[this._valueField]||1,h=e.radius||this._cfgRadius||i;a[n]||(a[n]=[],o[n]=[]),a[n][r]?a[n][r]+=c:(a[n][r]=c,o[n][r]=h);var d=a[n][r];return d>s?(t?this.setDataMax(d):this._max=d,!1):l>d?(t?this.setDataMin(d):this._min=d,!1):{x:n,y:r,value:c,radius:h,min:l,max:s}},_unOrganizeData:function(){var e=[],t=this._data,i=this._radi;for(var n in t)for(var r in t[n])e.push({x:n,y:r,radius:i[n][r],value:t[n][r]});return{min:this._min,max:this._max,data:e}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var e=arguments[0],t=e.length;t--;)this.addData.call(this,e[t]);else{var i=this._organiseData(arguments[0],!0);i&&(0===this._data.length&&(this._min=this._max=i.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[i]}))}return this},setData:function(e){var t=e.data,i=t.length;this._data=[],this._radi=[];for(var n=0;i>n;n++)this._organiseData(t[n],!1);return this._max=e.max,this._min=e.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(e){return this._max=e,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(e){return this._min=e,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(e){this._coordinator=e},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},e}(),n=function(){var e=function(e){var t=e.gradient||e.defaultGradient,i=document.createElement("canvas"),n=i.getContext("2d");i.width=256,i.height=1;var r=n.createLinearGradient(0,0,256,1);for(var o in t)r.addColorStop(o,t[o]);return n.fillStyle=r,n.fillRect(0,0,256,1),n.getImageData(0,0,256,1).data},t=function(e,t){var i=document.createElement("canvas"),n=i.getContext("2d"),r=e,o=e;if(i.width=i.height=2*e,1==t)n.beginPath(),n.arc(r,o,e,0,2*Math.PI,!1),n.fillStyle="rgba(0,0,0,1)",n.fill();else{var a=n.createRadialGradient(r,o,e*t,r,o,e);a.addColorStop(0,"rgba(0,0,0,1)"),a.addColorStop(1,"rgba(0,0,0,0)"),n.fillStyle=a,n.fillRect(0,0,2*e,2*e)}return i};function i(t){var i=t.container,n=this.shadowCanvas=document.createElement("canvas"),r=this.canvas=t.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var o=getComputedStyle(t.container)||{};r.className="heatmap-canvas",this._width=r.width=n.width=t.width||+o.width.replace(/px/,""),this._height=r.height=n.height=t.height||+o.height.replace(/px/,""),this.shadowCtx=n.getContext("2d"),this.ctx=r.getContext("2d"),r.style.cssText=n.style.cssText="position:absolute;left:0;top:0;",i.style.position="relative",i.appendChild(r),this._palette=e(t),this._templates={},this._setStyles(t)}return i.prototype={renderPartial:function(e){e.data.length>0&&(this._drawAlpha(e),this._colorize())},renderAll:function(e){this._clear(),e.data.length>0&&(this._drawAlpha(function(e){for(var t=[],i=e.min,n=e.max,r=e.radi,o=(e=e.data,Object.keys(e)),a=o.length;a--;)for(var s=o[a],l=Object.keys(e[s]),c=l.length;c--;){var h=l[c];t.push({x:s,y:h,value:e[s][h],radius:r[s][h]})}return{min:i,max:n,data:t}}(e)),this._colorize())},_updateGradient:function(t){this._palette=e(t)},updateConfig:function(e){e.gradient&&this._updateGradient(e),this._setStyles(e)},setDimensions:function(e,t){this._width=e,this._height=t,this.canvas.width=this.shadowCanvas.width=e,this.canvas.height=this.shadowCanvas.height=t},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(e){this._blur=0==e.blur?0:e.blur||e.defaultBlur,e.backgroundColor&&(this.canvas.style.backgroundColor=e.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=e.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=e.height||this._height,this._opacity=255*(e.opacity||0),this._maxOpacity=255*(e.maxOpacity||e.defaultMaxOpacity),this._minOpacity=255*(e.minOpacity||e.defaultMinOpacity),this._useGradientOpacity=!!e.useGradientOpacity},_drawAlpha:function(e){for(var i=this._min=e.min,n=this._max=e.max,r=(e=e.data||[]).length,o=1-this._blur;r--;){var a,s=e[r],l=s.x,c=s.y,h=s.radius,d=Math.min(s.value,n),u=l-h,p=c-h,g=this.shadowCtx;this._templates[h]?a=this._templates[h]:this._templates[h]=a=t(h,o);var f=(d-i)/(n-i);g.globalAlpha=.01>f?.01:f,g.drawImage(a,u,p),this._renderBoundaries[0]>u&&(this._renderBoundaries[0]=u),this._renderBoundaries[1]>p&&(this._renderBoundaries[1]=p),u+2*h>this._renderBoundaries[2]&&(this._renderBoundaries[2]=u+2*h),p+2*h>this._renderBoundaries[3]&&(this._renderBoundaries[3]=p+2*h)}},_colorize:function(){var e=this._renderBoundaries[0],t=this._renderBoundaries[1],i=this._renderBoundaries[2]-e,n=this._renderBoundaries[3]-t,r=this._width,o=this._height,a=this._opacity,s=this._maxOpacity,l=this._minOpacity,c=this._useGradientOpacity;0>e&&(e=0),0>t&&(t=0),e+i>r&&(i=r-e),t+n>o&&(n=o-t);for(var h=this.shadowCtx.getImageData(e,t,i,n),d=h.data,u=d.length,p=this._palette,g=3;u>g;g+=4){var f,m=d[g],A=4*m;if(A)f=a>0?a:s>m?l>m?l:m:s,d[g-3]=p[A],d[g-2]=p[A+1],d[g-1]=p[A+2],d[g]=c?p[A+3]:f}this.shadowCtx.putImageData(h,e,t),this.ctx.putImageData(h,e,t),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(e){var t=this.shadowCtx.getImageData(e.x,e.y,1,1).data[3];return Math.abs(this._max-this._min)*(t/255)>>0},getDataURL:function(){return this.canvas.toDataURL()}},i}(),r=(e=!1,"canvas2d"===t.defaultRenderer&&(e=n),e),o=function(){for(var e={},t=arguments.length,i=0;t>i;i++){var n=arguments[i];for(var r in n)e[r]=n[r]}return e},a=function(){var e=function(){function e(){this.cStore={}}return e.prototype={on:function(e,t,i){var n=this.cStore;n[e]||(n[e]=[]),n[e].push((function(e){return t.call(i,e)}))},emit:function(e,t){var i=this.cStore;if(i[e])for(var n=i[e].length,r=0;n>r;r++){(0,i[e][r])(t)}}},e}(),n=function(e){var t=e._renderer,i=e._coordinator,n=e._store;i.on("renderpartial",t.renderPartial,t),i.on("renderall",t.renderAll,t),i.on("extremachange",(function(t){e._config.onExtremaChange&&e._config.onExtremaChange({min:t.min,max:t.max,gradient:e._config.gradient||e._config.defaultGradient})})),n.setCoordinator(i)};function a(){var a=this._config=o(t,arguments[0]||{});if(this._coordinator=new e,a.plugin){var s=a.plugin;if(!t.plugins[s])throw new Error("Plugin '"+s+"' not found. Maybe it was not registered.");var l=t.plugins[s];this._renderer=new l.renderer(a),this._store=new l.store(a)}else this._renderer=new r(a),this._store=new i(a);n(this)}return a.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(e){return this._config=o(this._config,e),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(e){return this._store.getValueAt?this._store.getValueAt(e):this._renderer.getValueAt?this._renderer.getValueAt(e):null}},a}();return{create:function(e){return new a(e)},register:function(e,i){t.plugins[e]=i}}}(),Wb=function(){function e(t){ru(this,e),this.viewer=t.viewer3D,this.id=t.id,this.boundary=[],this.quaternion=new Ge,this.xMin=1/0,this.yMax=-1/0,this.zoomRate=.05}return au(e,[{key:"createInstance",value:function(e,t){var i=document.createElement("div");i.id="heatmap-"+this.id||(new Date).getTime(),i.style.width="10px",i.style.height="10px",i.style.position="absolute",i.style.top="0",i.style.left="0",i.style.zIndex="-10",i.style.overflow="scroll";var n=document.createElement("div");n.style.width=e+"px",n.style.height=t+"px",i.appendChild(n),this.viewer.viewportDiv.appendChild(i),this.container=i,this.heatmap=jb.create({container:n})}},{key:"getHeatmap",value:function(){return this.heatmap}},{key:"isPlane",value:function(e){if(3>e.length)return!1;if(3===e.length)return!0;for(var t=!0,i=(new Ke).subVectors(e[0],e[1]),n=(new Ke).subVectors(e[1],e[2]),r=i.cross(n).normalize(),o=3;e.length>o;o++){var a=(new Ke).subVectors(e[o-1],e[o]).cross(n).normalize(),s=.001;if(Math.abs(Math.abs(r.x)-Math.abs(a.x))>s||Math.abs(Math.abs(r.y)-Math.abs(a.y))>s||Math.abs(Math.abs(r.z)-Math.abs(a.z))>s){t=!1;break}}return t}},{key:"addHeatmap",value:function(e,t){var i=Hb(t.boundary);if(t.data.data.forEach((function(e){i.push(e.point)})),this.isPlane(i)){this.boundary=Hb(t.boundary);var n=new Ge,r=(new Ke).subVectors(t.boundary[1],t.boundary[0]).cross((new Ke).subVectors(t.boundary[2],t.boundary[1]));n.setFromUnitVectors(r.normalize(),new Ke(0,0,1));var o=Hb(t.boundary).map((function(e){return e.applyQuaternion(n)}));this.quaternion=n.clone();var a=1/0,s=-1/0,l=1/0,c=-1/0;o.forEach((function(e){a>e.x&&(a=e.x),e.x>s&&(s=e.x),l>e.y&&(l=e.y),e.y>c&&(c=e.y)}));var h=s-a,d=c-l;this.xMin=a,this.yMax=c;var u=t.quality||.05;this.zoomRate=u,this.createInstance(Math.round(h*u),Math.round(d*u));var p=t.data.data.map((function(e){return e.point.applyQuaternion(n)})),g=[];t.data.data.forEach((function(e,t){var i=p[t];g.push({x:Math.round((i.x-a)*u),y:Math.round((c-i.y)*u),value:e.value,radius:(e.radius||1e3)*u})})),this.heatmap.setData({min:t.data.min,max:t.data.max,data:g});var f=new Uu(o),m=new Ja(this.container.querySelector("canvas")),A=new gi({map:m,side:2,transparent:!0,polygonOffset:!0,polygonOffsetFactor:-1,polygonOffsetUnits:-1}),y=new Bv(f,A);y.visible=!0;var v=new yt;v.elements[14]=o[0].z;var C=new yt;return C.makeRotationFromQuaternion(n.invert()),y.applyMatrix4(C.multiply(v)),this.viewer.addExternalObject(e,y),y.disPickable=!0,this.viewer.disableComponentsSelectionByKey(e),!0}return!1}},{key:"updateHeatmap",value:function(e){var t=this,i=Hb(this.boundary);if(e.data.data.forEach((function(e){i.push(e.point)})),this.isPlane(i)){var n=[],r=e.data.data.map((function(e){return new Ke(e.point.x,e.point.y,e.point.z).applyQuaternion(t.quaternion)})),o=this.zoomRate;return e.data.data.forEach((function(e,i){var a=r[i];n.push({x:Math.round((a.x-t.xMin)*o),y:Math.round((t.yMax-a.y)*o),value:e.value,radius:(e.radius||1e3)*o})})),this.heatmap.setData({min:e.data.min,max:e.data.max,data:n}),this.viewer.getExternalObjectByName(e.id).material.map.needsUpdate=!0,this.viewer.render(),!0}return!1}},{key:"removeHeatmap",value:function(e){this.viewer.removeExternalObjectByName(e),this.viewer.viewportDiv.removeChild(this.container)}}]),e}(),Jb=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;ru(this,e),this.maxEdgeLength=t,this.maxIterations=i}return au(e,[{key:"modify",value:function(e){if(!0===e.isGeometry)return console.error("THREE.TessellateModifier no longer supports Geometry. Use BufferGeometry instead."),e;null!==e.index&&(e=e.toNonIndexed());var t=this.maxIterations,i=this.maxEdgeLength*this.maxEdgeLength,n=new Ke,r=new Ke,o=new Ke,a=new Ke,s=[n,r,o,a],l=new Ke,c=new Ke,h=new Ke,d=new Ke,u=[l,c,h,d],p=new pi,g=new pi,f=new pi,m=new pi,A=[p,g,f,m],y=new ke,v=new ke,C=new ke,I=new ke,x=[y,v,C,I],w=new ke,M=new ke,E=new ke,B=new ke,S=[w,M,E,B],b=e.attributes,k=void 0!==b.normal,D=void 0!==b.color,T=void 0!==b.uv,R=void 0!==b.uv2,U=b.position.array,F=k?b.normal.array:null,Q=D?b.color.array:null,L=T?b.uv.array:null,O=R?b.uv2.array:null,N=U,P=F,G=Q,K=L,V=O,Y=0,H=!0;function j(e,t,i){var n=s[e],r=s[t],o=s[i];if(N.push(n.x,n.y,n.z),N.push(r.x,r.y,r.z),N.push(o.x,o.y,o.z),k){var a=u[e],l=u[t],c=u[i];P.push(a.x,a.y,a.z),P.push(l.x,l.y,l.z),P.push(c.x,c.y,c.z)}if(D){var h=A[e],d=A[t],p=A[i];G.push(h.x,h.y,h.z),G.push(d.x,d.y,d.z),G.push(p.x,p.y,p.z)}if(T){var g=x[e],f=x[t],m=x[i];K.push(g.x,g.y),K.push(f.x,f.y),K.push(m.x,m.y)}if(R){var y=S[e],v=S[t],C=S[i];V.push(y.x,y.y),V.push(v.x,v.y),V.push(C.x,C.y)}}for(;H&&t>Y;){Y+=1,H=!1,U=N,N=[],k&&(F=P,P=[]),D&&(Q=G,G=[]),T&&(L=K,K=[]),R&&(O=V,V=[]);for(var W=0,J=0,z=U.length;z>W;W+=9,J+=6){n.fromArray(U,W+0),r.fromArray(U,W+3),o.fromArray(U,W+6),k&&(l.fromArray(F,W+0),c.fromArray(F,W+3),h.fromArray(F,W+6)),D&&(p.fromArray(Q,W+0),g.fromArray(Q,W+3),f.fromArray(Q,W+6)),T&&(y.fromArray(L,J+0),v.fromArray(L,J+2),C.fromArray(L,J+4)),R&&(w.fromArray(O,J+0),M.fromArray(O,J+2),E.fromArray(O,J+4));var q=n.distanceToSquared(r),Z=r.distanceToSquared(o),X=n.distanceToSquared(o);q>i||Z>i||X>i?(H=!0,Z>q||X>q?q>Z||X>Z?(a.lerpVectors(n,o,.5),k&&d.lerpVectors(l,h,.5),D&&m.lerpColors(p,f,.5),T&&I.lerpVectors(y,C,.5),R&&B.lerpVectors(w,E,.5),j(0,1,3),j(3,1,2)):(a.lerpVectors(r,o,.5),k&&d.lerpVectors(c,h,.5),D&&m.lerpColors(g,f,.5),T&&I.lerpVectors(v,C,.5),R&&B.lerpVectors(M,E,.5),j(0,1,3),j(3,2,0)):(a.lerpVectors(n,r,.5),k&&d.lerpVectors(l,c,.5),D&&m.lerpColors(p,g,.5),T&&I.lerpVectors(y,v,.5),R&&B.lerpVectors(w,M,.5),j(0,3,2),j(3,1,2))):j(0,1,2)}}var _=new Ni;return _.setAttribute("position",new Bi(N,3)),k&&_.setAttribute("normal",new Bi(P,3)),D&&_.setAttribute("color",new Bi(G,3)),T&&_.setAttribute("uv",new Bi(K,2)),R&&_.setAttribute("uv2",new Bi(V,2)),_}}]),e}(),zb=function(){function e(t){ru(this,e),this.viewer=t.viewer3D,this.id=t.id,this.boundary=[],this.quaternion=new Ge,this.xMin=1/0,this.yMax=-1/0,this.zoomRate=.05,this._canvasSize=new ke,this.detailFactor=.5,this._offsetToNagZ=!1,this._mesh=void 0,this._originalGeo=void 0,this._currentGeo=void 0}return au(e,[{key:"createInstance",value:function(e,t){var i=document.createElement("div");i.id="heatmap-"+this.id||(new Date).getTime(),i.style.width="10px",i.style.height="10px",i.style.position="absolute",i.style.top="0",i.style.left="0",i.style.zIndex="-10",i.style.overflow="scroll";var n=document.createElement("div");n.style.width=e+"px",n.style.height=t+"px",this._canvas=n,i.appendChild(n),this.viewer.viewportDiv.appendChild(i),this.container=i,this.heatmap=jb.create({container:n}),this._canvasSize.set(e,t)}},{key:"getHeatmap",value:function(){return this.heatmap}},{key:"isPlane",value:function(e){if(3>e.length)return!1;if(3===e.length)return!0;for(var t=!0,i=(new Ke).subVectors(e[0],e[1]),n=(new Ke).subVectors(e[1],e[2]),r=i.cross(n).normalize(),o=3;e.length>o;o+=1){var a=(new Ke).subVectors(e[o-1],e[o]).cross(n).normalize(),s=.001;if(Math.abs(Math.abs(r.x)-Math.abs(a.x))>s||Math.abs(Math.abs(r.y)-Math.abs(a.y))>s||Math.abs(Math.abs(r.z)-Math.abs(a.z))>s){t=!1;break}}return t}},{key:"addHeatmap",value:function(e,t){var i=Hb(t.boundary);if(t.data.data.forEach((function(e){i.push(e.point)})),this.isPlane(i)){this.boundary=Hb(t.boundary);var n=new Ge,r=(new Ke).subVectors(t.boundary[1],t.boundary[0]).cross((new Ke).subVectors(t.boundary[2],t.boundary[1]));n.setFromUnitVectors(r.normalize(),new Ke(0,0,1)),2*r.angleTo(new Ke(0,0,1))>Math.PI&&(this._offsetToNagZ=!0);var o=Hb(t.boundary).map((function(e){return e.applyQuaternion(n)}));this.quaternion=n.clone();var a=1/0,s=-1/0,l=1/0,c=-1/0;o.forEach((function(e){a>e.x&&(a=e.x),e.x>s&&(s=e.x),l>e.y&&(l=e.y),e.y>c&&(c=e.y)}));var h=s-a,d=c-l;this.xMin=a,this.yMax=c;var u=t.quality||.05;this.zoomRate=u,this.createInstance(Math.round(h*u),Math.round(d*u));var p=t.data.data.map((function(e){return e.point.applyQuaternion(n)})),g=[];t.data.data.forEach((function(e,t){var i=p[t];g.push({x:Math.round((i.x-a)*u),y:Math.round((c-i.y)*u),value:e.value,radius:(e.radius||1e3)*u})})),this.heatmap.setData({min:t.data.min,max:t.data.max,data:g});var f=new Uu(o);this._originalGeo=f.clone(),f=this._tessellateGeometry(f),this._offsetZ(f);var m=new Ja(this.container.querySelector("canvas")),A=new gi({map:m,transparent:!0,side:2,polygonOffset:!0,polygonOffsetFactor:-1,polygonOffsetUnits:-1,wireframe:!1}),y=new Bv(f,A);y.visible=!0;var v=new yt;v.elements[14]=o[0].z;var C=new yt;return C.makeRotationFromQuaternion(n.invert()),y.applyMatrix4(C.multiply(v)),this.viewer.addExternalObject(e,y),y.disPickable=!0,this.viewer.disableComponentsSelectionByKey(e),this._mesh=y,!0}return!1}},{key:"updateHeatmap",value:function(e){var t=this,i=Hb(this.boundary);if(e.data.data.forEach((function(e){i.push(e.point)})),this.isPlane(i)){var n=[],r=e.data.data.map((function(e){return new Ke(e.point.x,e.point.y,e.point.z).applyQuaternion(t.quaternion)})),o=this.zoomRate;e.data.data.forEach((function(e,i){var a=r[i];n.push({x:Math.round((a.x-t.xMin)*o),y:Math.round((t.yMax-a.y)*o),value:e.value,radius:(e.radius||1e3)*o})})),this.heatmap.setData({min:e.data.min,max:e.data.max,data:n});var a=this.viewer.getExternalObjectByName(e.id);if(a)return a.material.map.needsUpdate=!0,this.viewer.render(),!0}return!1}},{key:"removeHeatmap",value:function(e){this.viewer.removeExternalObjectByName(e),this.viewer.viewportDiv.removeChild(this.container)}},{key:"setDetailFactor",value:function(e){if(this.detailFactor!==e&&(this.detailFactor=e,this._originalGeo&&this._mesh)){var t=this._originalGeo.clone(),i=this._tessellateGeometry(t);this._offsetZ(i),this._mesh.geometry=i}}},{key:"_tessellateGeometry",value:function(e){for(var t=new Jb(100),i=10+Math.round(10*this.detailFactor),n=0;i>n;n+=1)t.modify(e);return e}},{key:"_easeInOutQuad",value:function(e){return 1-(1-e)*(1-e)}},{key:"_offsetZ",value:function(e){for(var t=e.getAttribute("uv").array,i=e.getAttribute("position").array,n=this.heatmap.getData(),r=0,o=t.length;o>r;r+=2){var a=(this.heatmap.getValueAt({x:t[r]*this._canvasSize.x,y:(1-t[r+1])*this._canvasSize.y})-n.min)/(n.max-n.min);a=this._easeInOutQuad(a),i[r/2*3+2]=1e3*a*(this._offsetToNagZ?-1:1)}e.getAttribute("position").needsUpdate=!0}}]),e}(),qb=function(){function e(t,i){ru(this,e),this.viewer=i,this.maxHeatValue=1/0,this.minHeatValue=-1/0,this._init(t)}return au(e,[{key:"show",value:function(e){var t=this;function i(e){if(0===e.uniforms.heatmapPoints.value.length)e.fragmentShader="#define HEATMAPPOINTSCOUNT "+t.shaderData.heatmapPoints.length+"\n"+e.fragmentShader,e.vertexShader="#define HEATMAPPOINTSCOUNT "+t.shaderData.heatmapPoints.length+"\n"+e.vertexShader;else{var i="#define HEATMAPPOINTSCOUNT "+e.uniforms.heatmapPoints.value.length;e.fragmentShader=e.fragmentShader.replace(i,"#define HEATMAPPOINTSCOUNT "+t.shaderData.heatmapPoints.length),e.vertexShader=e.vertexShader.replace(i,"#define HEATMAPPOINTSCOUNT "+t.shaderData.heatmapPoints.length)}e.uniforms.heatmapPoints.value=t.shaderData.heatmapPoints,e.uniforms.heatmapTexture.value=t.shaderData.heatmapTexture,e.needsUpdate=!0}if(e){if(!this.viewer.getViewerImpl().getModelByComponentKey(e))return;var n=this.viewer.getViewerImpl().modelManager.getComponent(e);if(n&&n.length>0)for(var r=n[0].mesh.material,o=0,a=r.length;a>o;o+=1)r[o]=r[o].clone(),i(r[o])}else this.shaderData.heatmapPoints&&this.shaderData.heatmapTexture&&(this.viewer.getViewerImpl().getModelManager().traverseModels((function(e){var t=e.materialManager.materials;for(var n in t){i(t[n])}})),this.viewer.syncRender())}},{key:"hide",value:function(){var e=this;this.shaderData.heatmapPoints&&this.shaderData.heatmapTexture&&(this.viewer.getViewerImpl().getModelManager().traverseModels((function(t){var i=t.materialManager.materials;for(var n in i){var r=i[n];if(r.uniforms.heatmapPoints.value.length>0){r.uniforms.heatmapPoints.value=[],r.uniforms.heatmapTexture.value=null;var o="#define HEATMAPPOINTSCOUNT "+e.shaderData.heatmapPoints.length;r.fragmentShader=r.fragmentShader.replace(o,""),r.vertexShader=r.vertexShader.replace(o,""),r.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(e){var t=e.data;this.maxHeatValue=t.max?t.max:1/0,this.minHeatValue=t.min?t.min:-1/0,this.shaderData.heatmapPoints=this._createHeatmapBuffer(e.data),this.show()}},{key:"_init",value:function(e){var t=e.data;this.maxHeatValue=t.max?t.max:1/0,this.minHeatValue=t.min?t.min:-1/0,this.shaderData={heatmapPoints:this._createHeatmapBuffer(t),heatmapTexture:this._createHeatmapTexture()}}},{key:"_createHeatmapBuffer",value:function(e){if(e.data&&0!==e.data.length){if(this.maxHeatValue===1/0||this.minHeatValue===-1/0)for(var t=0,i=e.data.length;i>t;t+=1){var n=e.data[t];n.value>this.maxHeatValue&&(this.maxHeatValue=n.value),this.minHeatValue>n.value&&(this.minHeatValue=n.value)}for(var r=[],o=0,a=e.data.length;a>o;o+=1){var s=e.data[o],l=Math.max(this.minHeatValue,Math.min(s.value,this.maxHeatValue));r.push(s.point.x,s.point.y,s.point.z,(l-this.minHeatValue)/(this.maxHeatValue-this.minHeatValue),s.radius?s.radius:1e3)}return new Float32Array(r)}}},{key:"_createHeatmapTexture",value:function(){var e=document.createElement("canvas");e.width=256,e.height=1;var t=e.getContext("2d"),i=t.createLinearGradient(0,0,256,1),n={0:"#44f",.1:"#0ff",.2:"#0f0",.4:"#ff0",1:"#f00"};for(var r in n)i.addColorStop(r,n[r]);return t.fillStyle=i,t.fillRect(0,0,256,1),new Ja(e)}}]),e}(),Zb=function(){function e(t,i){ru(this,e),this.heatSpheres=[],this.viewer=i,this.maxHeatValue=1/0,this.minHeatValue=-1/0,this._animating=!1,this._lastAnimateTime=void 0,this._localTime=0,this._duration=2e3,this._init(t)}return au(e,[{key:"getColorIndexAndValueOfHeatValue",value:function(t){e.colorBoard||(e.colorBoard=this._createColorBoard());var i=(Math.max(this.minHeatValue,Math.min(t,this.maxHeatValue))-this.minHeatValue)/(this.maxHeatValue-this.minHeatValue)*255,n=4*(i=Math.round(i));return{color:new pi(e.colorBoard[n]/255,e.colorBoard[n+1]/255,e.colorBoard[n+2]/255),index:i}}},{key:"updateHeatmap",value:function(e){this.removeHeatmap(),this._init(e),this.startAnimation(this._duration)}},{key:"startAnimation",value:function(e){var t=this;this._animating||(this._animating=!0,e&&(this._duration=e),requestAnimationFrame((function(e){return t._animate(e)})))}},{key:"stopAnimation",value:function(){this._animating=!1,this._lastAnimateTime=void 0,this._localTime=0}},{key:"removeHeatmap",value:function(){var e=this;this.stopAnimation(),this.heatSpheres.forEach((function(t){e.viewer.removeExternalObjectByName(t.uuid)}))}},{key:"_animate",value:function(t){var i=this,n=this._lastAnimateTime?t-this._lastAnimateTime:0;if(!this._lastAnimateTime||n>100){this._localTime+=n/this._duration,1>this._localTime||(this._localTime=0);var r=this._easeOutSine(this._localTime);this.heatSpheres.forEach((function(t){t.scale.set(r,r,r),t.updateMatrixWorld(!0);var n=t.userData._heatColorIndex;n=4*Math.round(n*(1-i._localTime)),t.material.color.setRGB(e.colorBoard[n]/255,e.colorBoard[n+1]/255,e.colorBoard[n+2]/255),t.material.needsUpdate=!0})),this.viewer.render(),this._lastAnimateTime=t}this._animating&&requestAnimationFrame((function(e){return i._animate(e)}))}},{key:"_init",value:function(e){var t=e.data;if(this.maxHeatValue=t.max?t.max:1/0,this.minHeatValue=t.min?t.min:-1/0,this._sphereOpacity=t.alpha?t.alpha:.7,this.maxHeatValue===1/0||this.minHeatValue===-1/0)for(var i=0,n=t.data.length;n>i;i+=1){var r=t.data[i];r.value>this.maxHeatValue&&(this.maxHeatValue=r.value),this.minHeatValue>r.value&&(this.minHeatValue=r.value)}for(var o=0,a=t.data.length;a>o;o+=1)this._addHeatPoint(t.data[o])}},{key:"_addHeatPoint",value:function(e){var t=e,i=t.radius?t.radius:1e3,n=10*Math.log10(i),r=new Ks(i,n,n),o=this.getColorIndexAndValueOfHeatValue(t.value),a=o.index,s=new il({color:o.color,depthTest:!0,transparent:!0,opacity:this._sphereOpacity}),l=new nn(r,s);l.position.set(t.point.x,t.point.y,t.point.z),l.updateMatrixWorld(!0),l.userData._heatValue=t.value,l.userData._heatColorIndex=a,l.disPickable=!0,this.viewer.disableComponentsSelectionByKey(l.uuid),this.heatSpheres.push(l),this.viewer.addExternalObject(l.uuid,l)}},{key:"_createColorBoard",value:function(){var e=document.createElement("canvas");e.width=256,e.height=1;var t=e.getContext("2d"),i=t.createLinearGradient(0,0,256,1),n={0:"#44f",.1:"#0ff",.2:"#0f0",.4:"#ff0",1:"#f00"};for(var r in n)i.addColorStop(r,n[r]);return t.fillStyle=i,t.fillRect(0,0,256,1),t.getImageData(0,0,256,1).data}},{key:"_easeOutCubic",value:function(e){return 1-Math.pow(1-e,3)}},{key:"_easeOutSine",value:function(e){return Math.sin(e*Math.PI/2)}},{key:"_easeInCubic",value:function(e){return e*e*e}}]),e}(),Xb=function(){function e(t){ru(this,e),this.viewer=t.viewer3D,this.mapCollection={}}return au(e,[{key:"createHeatmap",value:function(e){var t=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),i=new Wb({viewer3D:this.viewer,id:t}),n=Hb(e);return n.data.data.forEach((function(e){e.point=new Ke(e.point.x,e.point.y,e.point.z)})),n.boundary=n.boundary.map((function(e){return new Ke(e.x,e.y,e.z)})),i.addHeatmap(t,n)?(this.mapCollection[t]=i,{code:"success",id:t}):{code:"error",message:"输入的点不共面"}}},{key:"updateHeatmap",value:function(e){var t=this.mapCollection[e.id];if(t&&t.updateHeatmap)return t.updateHeatmap(e)}},{key:"removeHeatmap",value:function(e){return!!this.mapCollection[e]&&(this.mapCollection[e].removeHeatmap(e),delete this.mapCollection[e],!0)}},{key:"createHeatmap3D",value:function(e){var t=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),i=new zb({viewer3D:this.viewer,id:t}),n=Hb(e);return n.data.data.forEach((function(e){e.point=new Ke(e.point.x,e.point.y,e.point.z)})),n.boundary=n.boundary.map((function(e){return new Ke(e.x,e.y,e.z)})),i.addHeatmap(t,n)?(this.mapCollection[t]=i,{code:"success",id:t,map:i}):{code:"error",message:"输入的点不共面"}}},{key:"createSphereHeatmap",value:function(e){if(e.data&&e.data.data){var t=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),i=new Zb(e,this.viewer);return i.startAnimation(5e3),this.mapCollection[t]=i,{code:"success",id:t,map:i}}return{code:"error",message:"参数错误"}}},{key:"createSphereColorOverrideHeatmap",value:function(e){if(e.data&&e.data.data){if(e.data.data.length>150)return{code:"error",message:"热力源个数不能超过150"};var t=new qb(e,this.viewer),i=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8);return this.mapCollection[i]=t,t.show(),{code:"success",id:i,map:t}}return{code:"error",message:"参数错误"}}}]),e}(),_b=function(e){lu(i,e);var t=pu(i);function i(){var e;return ru(this,i),(e=t.call(this)).type="LineGeometry",e}return au(i,[{key:"setPositions",value:function(e){for(var t=e.length-3,n=new Float32Array(2*t),r=0;t>r;r+=3)n[2*r]=e[r],n[2*r+1]=e[r+1],n[2*r+2]=e[r+2],n[2*r+3]=e[r+3],n[2*r+4]=e[r+4],n[2*r+5]=e[r+5];return gu(cu(i.prototype),"setPositions",this).call(this,n),this}},{key:"setColors",value:function(e){for(var t=e.length-3,n=new Float32Array(2*t),r=0;t>r;r+=3)n[2*r]=e[r],n[2*r+1]=e[r+1],n[2*r+2]=e[r+2],n[2*r+3]=e[r+3],n[2*r+4]=e[r+4],n[2*r+5]=e[r+5];return gu(cu(i.prototype),"setColors",this).call(this,n),this}},{key:"fromLine",value:function(e){var t=e.geometry;if(!t.isGeometry)return t.isBufferGeometry&&this.setPositions(t.attributes.position.array),this;console.error("THREE.LineGeometry no longer supports Geometry. Use THREE.BufferGeometry instead.")}}]),i}(EM);_b.prototype.isLineGeometry=!0;var $b=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new _b,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new xM({color:16777215*Math.random()});return ru(this,i),(e=t.call(this,n,r)).type="Line2",e}return i}(NM);$b.prototype.isLine2=!0;var ek=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};ru(this,i),e=t.call(this);var r=Wg(n.color,16711680),o=n.positions,a=Wg(n.lineWidth,2),s=new _b;s.setPositions(o);var l=new xM({color:r,linewidth:a,dashed:!1,depthTest:!1,depthWrite:!1}),c=new $b(s,l);return c.computeLineDistances(),e.addObject(c),e.line=c,e}return au(i,[{key:"color",get:function(){return this.line.material.color},set:function(e){this.line.material.color=e}},{key:"lineWidth",get:function(){return this.line.material.linewidth},set:function(e){void 0===e&&(e=2),this.line.material.linewidth=e}},{key:"updateFixedFrame",value:function(e){var t=e.bufferSize;this.line.material.resolution.set(t.width,t.height)}}]),i}(Jg),tk=be.EPSILON6;Ke.UNIT_X=Object.freeze(new Ke(1,0,0)),Ke.UNIT_Y=Object.freeze(new Ke(0,1,0)),Ke.UNIT_Z=Object.freeze(new Ke(0,0,1)),Ke.getMaxAbsComponent=function(e,t){var i="x";return Math.abs(e.y)>Math.abs(e.x)&&(i="y"),Math.abs(e.z)>Math.abs(e[i])&&(i="z"),i},Ke.equalsEps=function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;return Math.abs(e.x-t.x)<i&&Math.abs(e.y-t.y)<i&&Math.abs(e.z-t.z)<i},Ke.prototype.equalXEPSILON6=function(e){return Math.abs(this.x-e.x)<tk},Ke.prototype.equalYEPSILON6=function(e){return Math.abs(this.y-e.y)<tk},Ke.prototype.equalZEPSILON6=function(e){return Math.abs(this.z-e.z)<tk};var ik=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ru(this,i),(e=t.call(this)).element=n.element,e.position.copy(Wg(n.position,new Ke)),e.pixelOffset=Wg(n.pixelOffset,new ke),e.screenPs={x:0,y:0},e.object=n.object,e.isUpdate=!1,e._visible=!0,e._originShow=!0,e}return au(i,[{key:"originShow",get:function(){return this._originShow},set:function(e){jg(this.element)&&(this.element.style.visibility=e?"visible":"hidden"),this._originShow=e}},{key:"visible",get:function(){return this._visible},set:function(e){jg(this.element)&&(this.element.style.visibility=e?"visible":"hidden"),this._visible=e,this._originShow=e}},{key:"setVisible",value:function(e){this.element.style.visibility=e?"visible":"hidden"}},{key:"updateFixedFrame",value:function(e){if(this.isUpdate&&this.visible){var t=e.viewerImpl,i=jg(this.object)?this.object.position:this.position,n=t.worldToCanvas(i);n.x===this.screenPs.x&&n.y===this.screenPs.y||(this.element.style.top=Math.floor(n.y-this.pixelOffset.y)+"px",this.element.style.left=Math.floor(n.x-this.pixelOffset.x)+"px",this.screenPs=n)}}}]),i}(Jg),nk=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ru(this,i),(e=t.call(this)).viewer=n.viewer,e.renderOrder=1,e.host=e.viewer.host,e.projectorKey=void 0,e.share=void 0,e.distanceUseServer=!1,e._circles=void 0,e._componentKey=void 0,e._direction1=void 0,e._direction2=void 0,e._direction3=void 0,e._directionLength=void 0,e._origin=void 0,e._origin2=void 0,e.circleCollection=new Jg,e.addObject(e.circleCollection),e.circleMap=new Map,e.lineCollection=new Jg,e.addObject(e.lineCollection),e.lineMap=new Map,e.targetSphereMap=new Map,e.targetSphereCollection=new Jg,e.addObject(e.targetSphereCollection),e.originMeshMap=new Map,e.originMeshCollection=new Jg,e.addObject(e.originMeshCollection),e.originMap=new Map,e.originMeshSize=Wg(n.originMeshSize,1),e._radius=50,e.originMeshColor=Wg(n.originMeshColor,new pi(13893887)),e.holeMeshColor=Wg(n.holeMeshColor,new pi(16711680)),e.targetMeshColor=Wg(n.targetMeshColor,new pi(16776960)),e.targetMeshSize=Wg(n.targetMeshSize,1),e.lineWidth=Wg(n.lineWidth,2),e.lineColor=Wg(n.lineColor,new pi(16195999)),e.referencePlaneCollection=new Jg,e.addObject(e.referencePlaneCollection),e.planeMesh1=void 0,e.plane1=new Jt,e.planeMesh2=void 0,e.plane2=new Jt,e.planeMesh3=void 0,e.plane3=new Jt,e._dirOffset1=void 0,e._dirOffset2=void 0,e._dirOffset3=void 0,e.middlePositionMap=new Map,e.distanceMap=new Map,e.lineEndPositionMap=new Map,e.axesDix=void 0,e.elementLength=4,e.holeElement=n.holeElement,jg(e.holeElement)||(e.holeElement=e.createHoleElement()),e.elements=n.elements,jg(e.elements)||(e.elements=e.createDomElements()),e.htmlMarkerCollection=new DE({isAvoid:!0}),e.addObject(e.htmlMarkerCollection),e.createHtmlMarker(),e}return au(i,[{key:"circles",get:function(){return this._circles}},{key:"componentKey",get:function(){return this._componentKey}},{key:"direction1",get:function(){return this._direction1}},{key:"direction2",get:function(){return this._direction2}},{key:"direction3",get:function(){return this._direction3}},{key:"directionLength",get:function(){return this._directionLength}},{key:"origin",get:function(){return this._origin}},{key:"origin2",get:function(){return this._origin2}},{key:"createDomElements",value:function(){for(var e=this.elementLength,t=[],i=0;e>i;i++){var n=document.createElement("div");n.style["border-radius"]="7px",n.style["background-color"]="rgb(255, 255, 255)",n.style.float="right",n.style["text-align"]="center",n.style["font-size"]="12px",n.style["line-height"]="26px",n.style.position="fixed",n.style["z-index"]="999",n.style.width="110px",n.style.height="26px",n.style["pointer-events"]="none",this.viewer.viewportDiv.appendChild(n),t.push(n)}return t[0].style.color="rgb(236, 69, 69)",t[1].style.color="rgb(69, 195, 69)",t[2].style.color="rgb(87, 87, 218)",t[3].style.color="rgb(218, 87, 196)",t}},{key:"createHoleElement",value:function(){var e=document.createElement("div");return e.style["border-radius"]="50%",e.style["background-color"]="rgb(255, 255, 0)",e.style.position="fixed",e.style["z-index"]="999",e.style.width="26px",e.style.height="26px",e.style["pointer-events"]="none",this.holeElement=e,this.viewer.viewportDiv.appendChild(e),e}},{key:"createHtmlMarker",value:function(){var e=this.holeElement,t=new ik({element:e,position:new Ke,pixelOffset:new ke(e.clientWidth/2,e.clientHeight/2)});t.isUpdate=!0,this.htmlMarkerCollection.addObject(t);for(var i=0;this.elementLength>i;i++){var n=this.elements[i],r=new ik({element:n,position:new Ke,pixelOffset:new ke(n.clientWidth/2,n.clientHeight/2)});r.isUpdate=!0,this.htmlMarkerCollection.addObject(r)}}},{key:"getMiddlePosition",value:function(e){return this.middlePositionMap.get(e)}},{key:"getDistance",value:function(e){return this.distanceMap.get(e)}},{key:"getOrigin",value:function(e){return this.originMap.get(e)}},{key:"computeMiddlePositionDistance",value:function(e){if(!jg(this.getMiddlePosition(e))){var t=this.getHoleInfo(e),i=(new Ke).set(t.center[0],t.center[1],t.center[2]),n=this.plane1.distanceToPoint(i),r=this.plane2.distanceToPoint(i),o=(new Ke).copy(i).add((new Ke).copy(this.direction2).multiplyScalar(n).multiplyScalar(-1)),a=(new Ke).copy(o).add(this._dirOffset2),s=(new Ke).copy(i).add((new Ke).copy(this.direction3).multiplyScalar(r).multiplyScalar(-1)),l=(new Ke).copy(s).add(this._dirOffset3);this.middlePositionMap.set(e,[(new Ke).addVectors(i,o).multiplyScalar(.5),(new Ke).addVectors(i,a).multiplyScalar(.5),(new Ke).addVectors(i,s).multiplyScalar(.5),(new Ke).addVectors(i,l).multiplyScalar(.5)]),this.lineEndPositionMap.set(e,[o,a,s,l]),this.distanceMap.set(e,[i.distanceTo(o),i.distanceTo(a),i.distanceTo(s),i.distanceTo(l)])}}},{key:"showOriginMesh",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1],i=this.originMeshMap.get(e),n=this.originMap.get(e);if(jg(i))for(var r=0,o=n.length;o>r;r++){var a=i[r];a.visible=t,a.position.copy(n[r]),a.updateMatrixWorld()}else{for(var s=[],l=0,c=n.length;c>l;l++){var h=this.createSphereMesh(this._radius*this.originMeshSize);this.originMeshCollection.addObject(h),h.position.copy(n[l]),h.updateMatrixWorld(),s.push(h)}this.originMeshMap.set(e,s)}}},{key:"createSphereMesh",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originMeshColor,i=new Ks(e,32,32),n=new gi({color:t,depthTest:!1,side:2}),r=new nn(i,n);return r}},{key:"getHolesDataByComponentKey",value:function(e){var t=this;if(!jg(this.projectorKey)){var i=this.viewer.getViewerImpl().getModelByComponentKey(e);this.projectorKey=i.projectKey,this.share=""===i.shareKey?"":"&share="+i.shareKey}return this.fetchData(e).then((function(i){t.parse(i,e)}))}},{key:"fetchData",value:function(e){var t=this;return new Promise((function(i,n){var r="".concat(t.host,"/api/").concat(t.projectorKey,"/components/holes?componentKey=").concat(e).concat(t.share),o=new Bl;o.setResponseType("json"),o.load(r,(function(e){i(e)}))}))}},{key:"parse",value:function(e,t){if(jg(e=e.data)&&jg(e.circles)){this._componentKey=e.componentKey,this._direction1=(new Ke).fromArray(e.direction1),this._direction1.normalize(),this._direction2=(new Ke).fromArray(e.direction2),this._direction2.normalize(),this._direction3=(new Ke).fromArray(e.direction3),this._direction3.normalize(),this._directionLength=(new Ke).fromArray(e.directionLength);var i=(new Ke).fromArray(e.origin);if(!jg(this.axesDix)){var n=this.viewer.getViewerImpl().getModelByComponentKey(t).getBoundingBoxWorld().getCenter(new Ke);this.axesDix=new Ke(1,1,1),this.axesDix.x=Math.sign(n.x)*Math.sign(i.x),this.axesDix.y=Math.sign(n.y)*Math.sign(i.y),this.axesDix.z=Math.sign(n.z)*Math.sign(i.z)}var r=this.axesDix.x,o=this.axesDix.y,a=this.axesDix.z;this._circles=e.circles.map((function(e){return e})),i.x*=r,i.y*=o,i.y*=a;var s=(new Ke).copy(i),l=this.directionLength;this._dirOffset1=(new Ke).copy(this.direction1).multiplyScalar(l.x),this._dirOffset2=(new Ke).copy(this.direction2).multiplyScalar(Number(l.y)),this._dirOffset3=(new Ke).copy(this.direction3).multiplyScalar(Number(l.z)),s.add(this._dirOffset2),s.add(this._dirOffset3),this.originMap.set(t,[i,s]),this.parseReferencePlane(t)}else console.warn("当前构件无圆孔数据!")}},{key:"createCircle",value:function(e){var t=e.center,i=new qa(e.radius,32),n=new gi({color:this.holeMeshColor,depthTest:!1,side:2}),r=new nn(i,n);return r.position.set(t[0],t[1],t[2]),r.updateMatrixWorld(),this.circleCollection.addObject(r),r}},{key:"getHoleKeys",value:function(){return this.circles.map((function(e){return e.key}))}},{key:"getHoleInfo",value:function(e){return this.circles.find((function(t){return t.key===e}))}},{key:"getHoleCenter",value:function(e){var t=this.getHoleInfo(e);if(jg(t))return(new Ke).fromArray(t.center)}},{key:"showHoleByKey",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1];t?this._showHole(e):this._hideHole(e)}},{key:"removeHoleByKey",value:function(e){var t=this.circleMap.get(e);jg(t)&&(this.circleCollection.removeObject(t),this.circleMap.delete(e))}},{key:"_showHole",value:function(e){if(this.circleMap.has(e)){this.circleMap.get(e).visible=!0}else{var t=this.getHoleInfo(e);jg(t)||console.warn("未找到该圆孔信息");var i=this.createCircle(t);this.circleMap.set(e,i)}}},{key:"_hideHole",value:function(e){if(this.circleMap.has(e)){var t=this.circleMap.get(e);this.circleCollection.removeObject(t),this.circleMap.delete(e)}}},{key:"showAllHoles",value:function(){var e,t=0>=arguments.length||void 0===arguments[0]||arguments[0],i=this.getHoleKeys(),n=vu(i);try{for(n.s();!(e=n.n()).done;){var r=e.value;this.showHoleByKey(r,t)}}catch(e){n.e(e)}finally{n.f()}}},{key:"removeAllHoles",value:function(){var e,t=vu(this.getHoleKeys());try{for(t.s();!(e=t.n()).done;){this.removeHoleByKey(e.value,value)}}catch(e){t.e(e)}finally{t.f()}}},{key:"createPlaneByPointsAndNormal",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.points[0],i=e.points[1],n=e.normal,r=Wg(e.color,16711680),o=(new Ke).addVectors(t,i).multiplyScalar(.5),a=t.distanceTo(i),s=Wg(e.height,a),l=new In(a,s),c=new gi({color:r,depthTest:!1,side:2,transparent:!0,opacity:.6}),h=new nn(l,c);return h.lookAt(n),h.position.copy(o),h.position.z+=s/2,h.updateMatrixWorld(),this.referencePlaneCollection.addObject(h),h}},{key:"parseReferencePlane",value:function(e){var t=this.getOrigin(e)[0],i=(new Ke).copy(this._dirOffset2).normalize();this.plane1.setFromNormalAndCoplanarPoint(i,(new Ke).copy(t));var n=(new Ke).copy(this._dirOffset3).normalize();this.plane2.setFromNormalAndCoplanarPoint(n,(new Ke).copy(t)),this.plane3.setFromNormalAndCoplanarPoint((new Ke).copy(this.direction1),(new Ke).copy(t))}},{key:"createLineTargetPoint",value:function(e,t){var i=new ek({positions:[e.x,e.y,e.z,t.x,t.y,t.z],color:this.lineColor,lineWidth:this.lineWidth});return this.lineCollection.addObject(i),i}},{key:"createTargetSphere",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.radius,i=e.position,n=e.collection,r=this.createSphereMesh(t,this.targetMeshColor);return r.position.copy(i),r.updateMatrixWorld(),n.addObject(r),r}},{key:"showLineByKey",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1];if(jg(this.lineMap.get(e))){var i=this.lineMap.get(e),n=this.targetSphereMap.get(e);return i.forEach((function(e){e.visible=t})),void n.forEach((function(e){e.visible=t}))}if(t){var r=this.getHoleInfo(e);this.computeMiddlePositionDistance(e);for(var o=(new Ke).set(r.center[0],r.center[1],r.center[2]),a=this.lineEndPositionMap.get(e),s=[],l=[],c=0;4>c;c++){var h=a[c],d=this.createLineTargetPoint(o,h),u=this.createTargetSphere({radius:r.radius*this.targetMeshSize,position:h,collection:this.targetSphereCollection});s.push(d),l.push(u)}this.lineMap.set(e,s),this.targetSphereMap.set(e,l)}}},{key:"removeLineByKey",value:function(e){var t=this.lineMap.get(e);if(jg(t)){for(var i=0,n=t.length;n>i;i++)this.lineCollection.removeObject(t[i]);this.lineMap.delete(e)}}},{key:"removeTargetSphereByKey",value:function(e){var t=this.targetSphereMap.get(e);if(jg(t)){for(var i=0,n=t.length;n>i;i++)this.targetSphereCollection.removeObject(t[i]);this.targetSphereMap.delete(e)}}},{key:"showHoleObjectByKey",value:function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1];if(this.showHoleByKey(e,t),this.showLineByKey(e,t),this.htmlMarkerCollection.visible=t,t){var i=this.getHoleInfo(e).center,n=this.htmlMarkerCollection.get(0);n.position.set(i[0],i[1],i[2]);for(var r=this.getDistance(e),o=this.getMiddlePosition(e),a=0;this.elementLength>a;a++){var s=this.htmlMarkerCollection.get(a+1);s.position.copy(o[a]),s.element.innerText=r[a].toFixed(2)+"mm"}}}},{key:"removeHoloObjectByKey",value:function(e){this.removeLineByKey(e),this.removeTargetSphereByKey(e),this.removeHoleByKey(e)}},{key:"removeAllHoloObjects",value:function(){for(var e=Array.from(this.circleMap.keys()),t=0,i=e.length;i>t;t++)this.removeHoloObjectByKey(e[t])}},{key:"updateLineWidthByKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.lineWidth,i=this.lineMap.get(e);if(jg(i))for(var n=0,r=i.length;r>n;n++)i[n].lineWidth=t}},{key:"updateLineColorByKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.lineColor,i=this.lineMap.get(e);if(jg(i))for(var n=0,r=i.length;r>n;n++)i[n].color=t}},{key:"updateHoleColorByKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.holeMeshColor,i=this.circleMap.get(e);jg(i)&&(i.material.color=t)}},{key:"updateOriginMeshSizeByComponentKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originMeshSize,i=this.originMeshMap.get(e);if(jg(i)&&0!==i.length){var n,r=vu(i);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.scale.set(t,t,t),o.updateMatrixWorld()}}catch(e){r.e(e)}finally{r.f()}}}},{key:"updateOriginMeshColorByComponentKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.originMeshColor,i=this.originMeshMap.get(e);if(jg(i)&&0!==i.length){var n,r=vu(i);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.material.color=t}}catch(e){r.e(e)}finally{r.f()}}}},{key:"updateTargetMeshColorByKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.targetMeshColor,i=this.targetSphereMap.get(e);if(jg(i)&&0!==i.length){var n,r=vu(i);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.material.color=t}}catch(e){r.e(e)}finally{r.f()}}}},{key:"updateTargetMeshSizeByKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.targetMeshSize,i=this.targetSphereMap.get(e);if(jg(i)&&0!==i.length){var n,r=vu(i);try{for(r.s();!(n=r.n()).done;){var o=n.value;o.scale.set(t,t,t),o.updateMatrixWorld()}}catch(e){r.e(e)}finally{r.f()}}}},{key:"updateFixedFrame",value:function(e,t){this.circleCollection.updateFixedFrame(e),this.lineCollection.updateFixedFrame(e),this.targetSphereCollection.updateFixedFrame(e),this.originMeshCollection.updateFixedFrame(e),this.referencePlaneCollection.updateFixedFrame(e),this.htmlMarkerCollection.updateFixedFrame(e)}}]),i}(Jg),rk=function(e){lu(i,e);var t=pu(i);function i(e,n){var r;return ru(this,i),(r=t.call(this,e,n)).pointIds=[],r}return i}(Ya);rk.prototype.raycast=function(){var e=new yt,t=new At,i=new ct;return function(n,r){var o=this,a=this.geometry,s=this.matrixWorld,l=this.size,c=n.camera||n._camera,h=n.viewportSize.height,d=this.pointIds;function u(t,i){var n=t.clone();return n.applyMatrix4(s),n.project(c),n.y+=i/h,n.unproject(c),n.applyMatrix4(e),n}e.copy(s).invert(),null===a.boundingSphere&&a.computeBoundingSphere(),i.copy(a.boundingSphere);var p=i.center,g=u(p,l),f=g.distanceToSquared(p);if(i.radius+=f,i.center.copy(g),i.applyMatrix4(s),!1!==n.ray.intersectsSphere(i)){t.copy(n.ray).applyMatrix4(e);var m=new Ke,A=l;if(a.isBufferGeometry){var y=a.index,v=a.attributes,C=v.position.array,I=!1,x=null;if(v.attrSize&&(I=!0,x=v.attrSize.array),null!==y)for(var w=y.array,M=0,E=w.length;E>M;M+=1){var B=w[M];m.fromArray(C,3*B),I&&(A=x[B]),k(m,A,B)}else{M=0;for(var S=C.length/3;S>M;M+=1)m.fromArray(C,3*M),I&&(A=x[M]),k(m,A,M)}}else{var b=a.vertices;for(M=0,S=b.length;S>M;M+=1)k(b[M],A,M)}}function k(e,i,a){var l=u(e,i),c=l.distanceToSquared(e),h=t.distanceSqToPoint(l);if(c>h){var p=t.closestPointToPoint(l,new Ke);p.applyMatrix4(s);var g=n.ray.origin.distanceTo(p);if(n.near>g||g>n.far)return;r.push({id:d[a],distance:g,distanceToRay:Math.sqrt(h),point:p.clone(),index:a,face:null,object:o})}}}}(),rk.prototype.setAttributeSize=function(e,t){var i=this.geometry.attributes;i.attrSize&&(i.attrSize.array[e]=t,i.attrSize.needsUpdate=!0)},rk.prototype.getAttributeSize=function(e){var t=this.geometry.attributes,i=this.size;return t.attrSize&&(i=t.attrSize.array[e]),i};var ok=["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"),ak=["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 sk(e,t){this.times=e||[],this.values=t||[]}function lk(){this.position=new Ke,this.velocity=new Ke,this.acceleration=new Ke,this.angle=0,this.angleVelocity=0,this.angleAcceleration=0,this.size=16,this.color=new pi,this.opacity=1,this.age=0,this.alive=0;var e=Math.random()>.5?-1*Math.random():Math.random(),t=Math.random()>.5?-1*Math.random():Math.random(),i=Math.random()>.65?-1*Math.random():Math.random();this.direction=new Ke(e,t,i).normalize()}function ck(){this.positionStyle=1,this.positionBase=new Ke,this.positionSpread=new Ke,this.positionRadius=0,this.velocityStyle=1,this.velocityBase=new Ke,this.velocitySpread=new Ke,this.speedBase=0,this.speedSpread=0,this.accelerationBase=new Ke,this.accelerationSpread=new Ke,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 sk,this.colorBase=new Ke(0,1,.5),this.colorSpread=new Ke(0,0,0),this.colorTween=new sk,this.opacityBase=1,this.opacitySpread=0,this.opacityTween=new sk,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)}sk.prototype.lerp=function(e,t){for(var i=0,n=this.times.length;n>i&&e>this.times[i];)i+=1;if(0===i)return this.values[0];if(i===n)return this.values[n-1];var r=(e-this.times[i-1])/(this.times[i]-this.times[i-1]);return this.values[0]instanceof Ke?this.values[i-1].clone().lerp(this.values[i],r):this.values[i-1]+r*(this.values[i]-this.values[i-1])},lk.prototype.update=function(e){var t=function(e){return e=e>1?1:e,1-Math.pow(1-e,3)}(this.age);if(1>t?(this.position.x+=500*this.direction.x*(1-t),this.position.y+=500*this.direction.y*(1-t),this.position.z+=300*this.direction.z*(1-t)):(this.position.x+=3*this.direction.x,this.position.y+=3*this.direction.y,this.position.z+=1.8*this.direction.z),this.angle+=.01745329251*this.angleVelocity*e,this.angleVelocity+=.01745329251*this.angleAcceleration*e,this.age+=e,this.sizeTween.times.length>0&&(this.size=this.sizeTween.lerp(this.age)),this.colorTween.times.length>0){var i=this.colorTween.lerp(this.age);this.color=(new pi).setHSL(i.x,i.y,i.z)}this.opacityTween.times.length>0&&(this.opacity=this.opacityTween.lerp(this.age))},ck.prototype.setValues=function(e){if(void 0!==e){for(var t in this.sizeTween=new sk,this.colorTween=new sk,this.opacityTween=new sk,e)this[t]=e[t];this.particleArray=[],this.emitterAlive=!0,this.particleCount=this.particlesPerSecond*Math.min(this.particleDeathAge,this.emitterDeathAge),this.particleGeometry=new Ni,this.particleMaterial=new cn({uniforms:{texture:{value:this.particleTexture}},vertexShader:ok,fragmentShader:ak,transparent:!0,blending:1,depthWrite:!1}),this.particleMesh=new rk,this.originSizeTween=new sk,this.originSizeTween.times=this.sizeTween.times.concat(),this.originSizeTween.values=this.sizeTween.values.concat()}},ck.prototype.randomValue=function(e,t){return e+t*(Math.random()-.5)},ck.prototype.randomVector3=function(e,t){var i=new Ke(Math.random()-.5,Math.random()-.5,Math.random()-.5);return(new Ke).addVectors(e,i.multiplyVectors(t,i))},ck.prototype.updateVector3=function(e,t,i){var n=new Ke(Math.random()-.5,Math.random()-.5,Math.random()-.5);e.set(0,0,0),e.addVectors(t,n.multiplyVectors(i,n))},ck.prototype.createParticle=function(){var e=new lk;if(1===this.positionStyle&&(e.position=this.randomVector3(this.positionBase,this.positionSpread)),2===this.positionStyle){var t=2*Math.random()-1,i=6.2832*Math.random(),n=Math.sqrt(1-t*t),r=new Ke(n*Math.cos(i),n*Math.sin(i),t);e.position=(new Ke).addVectors(this.positionBase,r.multiplyScalar(this.positionRadius))}if(1===this.velocityStyle&&(e.velocity=this.randomVector3(this.velocityBase,this.velocitySpread)),2===this.velocityStyle){var o=(new Ke).subVectors(e.position,this.positionBase),a=this.randomValue(this.speedBase,this.speedSpread);e.velocity=o.normalize().multiplyScalar(a)}e.acceleration=this.randomVector3(this.accelerationBase,this.accelerationSpread),e.angle=this.randomValue(this.angleBase,this.angleSpread),e.angleVelocity=this.randomValue(this.angleVelocityBase,this.angleVelocitySpread),e.angleAcceleration=this.randomValue(this.angleAccelerationBase,this.angleAccelerationSpread),e.size=this.randomValue(this.sizeBase,this.sizeSpread);var s=this.randomVector3(this.colorBase,this.colorSpread);return e.color=(new pi).setHSL(s.x,s.y,s.z),e.opacity=this.randomValue(this.opacityBase,this.opacitySpread),e.age=0,e.alive=0,e.sizeTween=this.sizeTween,e.colorTween=this.colorTween,e.opacityTween=this.opacityTween,e},ck.prototype.updateParticle=function(e){if(1===this.positionStyle&&this.updateVector3(e.position,this.positionBase,this.positionSpread),2===this.positionStyle){var t=2*Math.random()-1,i=6.2832*Math.random(),n=Math.sqrt(1-t*t),r=new Ke(n*Math.cos(i),n*Math.sin(i),t);e.position=(new Ke).addVectors(this.positionBase,r.multiplyScalar(this.positionRadius))}if(1===this.velocityStyle&&this.updateVector3(e.velocity,this.velocityBase,this.velocitySpread),2===this.velocityStyle){var o=(new Ke).subVectors(e.position,this.positionBase),a=this.randomValue(this.speedBase,this.speedSpread);e.velocity=o.normalize().multiplyScalar(a)}this.updateVector3(e.acceleration,this.accelerationBase,this.accelerationSpread),e.angle=this.randomValue(this.angleBase,this.angleSpread),e.angleVelocity=this.randomValue(this.angleVelocityBase,this.angleVelocitySpread),e.angleAcceleration=this.randomValue(this.angleAccelerationBase,this.angleAccelerationSpread),e.size=this.randomValue(this.sizeBase,this.sizeSpread);var s=this.randomVector3(this.colorBase,this.colorSpread);e.color=e.color.setHSL(s.x,s.y,s.z),e.opacity=this.randomValue(this.opacityBase,this.opacitySpread),e.age=0,e.alive=0},ck.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,this.particleArray=[];for(var e=0;this.particleCount>e;e+=1)this.particleArray[e]=this.createParticle(),this.positions[3*e]=this.particleArray[e].position.x,this.positions[3*e+1]=this.particleArray[e].position.y,this.positions[3*e+2]=this.particleArray[e].position.z,this.customVisible[e]=this.particleArray[e].alive,this.customColor[3*e]=this.particleArray[e].color.r,this.customColor[3*e+1]=this.particleArray[e].color.g,this.customColor[3*e+2]=this.particleArray[e].color.b,this.customOpacity[e]=this.particleArray[e].opacity,this.customSize[e]=this.particleArray[e].size,this.maxSize=this.maxSize>this.customSize[e]?this.maxSize:this.customSize[e];this.particleMaterial.blending=this.blendStyle,this.particleGeometry.setAttribute("position",new Ai(this.positions,3)),this.particleGeometry.setAttribute("customColor",new Ai(this.customColor,3)),this.particleGeometry.setAttribute("customVisible",new Ai(this.customVisible,1)),this.particleGeometry.setAttribute("customSize",new Ai(this.customSize,1)),this.particleGeometry.setAttribute("customOpacity",new Ai(this.customOpacity,1)),this.particleMesh=new rk(this.particleGeometry,this.particleMaterial),this.particleMesh.dynamic=!0,this.particleMesh.size=this.maxSize,this.particleMesh.renderOrder=-1},ck.prototype.update=function(e){e=void 0===e?.015:e;for(var t=0;this.particleCount>t;t+=1)this.particleArray[t].alive&&(this.particleArray[t].update(e),this.particleArray[t].age>this.particleDeathAge&&(this.particleArray[t].alive=0),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]);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},ck.prototype.setScale=function(e){for(var t=0,i=this.sizeTween.values.length;i>t;t+=1)this.sizeTween.values[t]=this.originSizeTween.values[t]*e;this.maxSize*=e},ck.prototype.setScaleValue=function(e,t){this.sizeTween.values=t.values.concat(),this.sizeTween.times=t.times.concat(),this.maxSize=e},ck.prototype.initializeSizetween=function(e){for(var t=0,i=this.sizeTween.values.length;i>t;t+=1)this.sizeTween.values[t]=this.sizeTween.values[t]*e;for(t=0;this.particleCount>t;t+=1)this.particleArray[t].size*=e,this.customSize[t]=this.particleArray[t].size,this.maxSize=this.maxSize>this.customSize[t]?this.maxSize:this.customSize[t];this.particleGeometry.getAttribute("customSize").needsUpdate=!0},ck.prototype.destroy=function(){},ck.prototype.setVisible=function(){this.particleArray.forEach((function(e){e.alive=1}))};var hk=["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"),dk=["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 uk(e,t){this.times=e||[],this.values=t||[]}function pk(){this.position=new Ke,this.velocity=new Ke,this.acceleration=new Ke,this.angle=0,this.angleVelocity=0,this.angleAcceleration=0,this.size=16,this.color=new pi,this.opacity=1,this.age=0,this.alive=0}function gk(){this.positionStyle=1,this.positionBase=new Ke,this.positionSpread=new Ke,this.positionRadius=0,this.velocityStyle=1,this.velocityBase=new Ke,this.velocitySpread=new Ke,this.speedBase=0,this.speedSpread=0,this.accelerationBase=new Ke,this.accelerationSpread=new Ke,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 uk,this.colorBase=new Ke(0,1,.5),this.colorSpread=new Ke(0,0,0),this.colorTween=new uk,this.opacityBase=1,this.opacitySpread=0,this.opacityTween=new uk,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)}uk.prototype.lerp=function(e){for(var t=0,i=this.times.length;i>t&&e>this.times[t];)t+=1;if(0===t)return this.values[0];if(t===i)return this.values[i-1];var n=(e-this.times[t-1])/(this.times[t]-this.times[t-1]);return this.values[0]instanceof Ke?this.values[t-1].clone().lerp(this.values[t],n):this.values[t-1]+n*(this.values[t]-this.values[t-1])},pk.prototype.update=function(e){if(this.position.add(this.velocity.clone().multiplyScalar(e)),this.velocity.add(this.acceleration.clone().multiplyScalar(e)),this.angle+=.01745329251*this.angleVelocity*e,this.angleVelocity+=.01745329251*this.angleAcceleration*e,this.age+=e,this.sizeTween.times.length>0&&(this.size=this.sizeTween.lerp(this.age)),this.colorTween.times.length>0){var t=this.colorTween.lerp(this.age);this.color=(new pi).setHSL(t.x,t.y,t.z)}this.opacityTween.times.length>0&&(this.opacity=this.opacityTween.lerp(this.age))},gk.prototype.setValues=function(e){if(void 0!==e){for(var t in this.sizeTween=new uk,this.colorTween=new uk,this.opacityTween=new uk,e)this[t]=e[t];this.particleArray=[],this.emitterAlive=!0,this.particleCount=this.particlesPerSecond*Math.min(this.particleDeathAge,this.emitterDeathAge),this.particleGeometry=new Ni,this.particleMaterial=new cn({uniforms:{texture:{value:this.particleTexture}},vertexShader:hk,fragmentShader:dk,transparent:!0,blending:1,depthWrite:!1}),this.particleMesh=new rk}},gk.prototype.randomValue=function(e,t){return e+t*(Math.random()-.5)},gk.prototype.randomVector3=function(e,t){var i=new Ke(Math.random()-.5,Math.random()-.5,Math.random()-.5);return(new Ke).addVectors(e,i.multiplyVectors(t,i))},gk.prototype.updateVector3=function(e,t,i){var n=new Ke(Math.random()-.5,Math.random()-.5,Math.random()-.5);e.set(0,0,0),e.addVectors(t,n.multiplyVectors(i,n))},gk.prototype.createParticle=function(){var e=new pk;if(1===this.positionStyle&&(e.position=this.randomVector3(this.positionBase,this.positionSpread)),2===this.positionStyle){var t=2*Math.random()-1,i=6.2832*Math.random(),n=Math.sqrt(1-t*t),r=new Ke(n*Math.cos(i),n*Math.sin(i),t);e.position=(new Ke).addVectors(this.positionBase,r.multiplyScalar(this.positionRadius))}if(1===this.velocityStyle&&(e.velocity=this.randomVector3(this.velocityBase,this.velocitySpread)),2===this.velocityStyle){var o=(new Ke).subVectors(e.position,this.positionBase),a=this.randomValue(this.speedBase,this.speedSpread);e.velocity=o.normalize().multiplyScalar(a)}e.acceleration=this.randomVector3(this.accelerationBase,this.accelerationSpread),e.angle=this.randomValue(this.angleBase,this.angleSpread),e.angleVelocity=this.randomValue(this.angleVelocityBase,this.angleVelocitySpread),e.angleAcceleration=this.randomValue(this.angleAccelerationBase,this.angleAccelerationSpread),e.size=this.randomValue(this.sizeBase,this.sizeSpread);var s=this.randomVector3(this.colorBase,this.colorSpread);return e.color=(new pi).setHSL(s.x,s.y,s.z),e.opacity=this.randomValue(this.opacityBase,this.opacitySpread),e.age=0,e.alive=0,e.sizeTween=this.sizeTween,e.colorTween=this.colorTween,e.opacityTween=this.opacityTween,e},gk.prototype.updateParticle=function(e){if(1===this.positionStyle&&this.updateVector3(e.position,this.positionBase,this.positionSpread),2===this.positionStyle){var t=2*Math.random()-1,i=6.2832*Math.random(),n=Math.sqrt(1-t*t),r=new Ke(n*Math.cos(i),n*Math.sin(i),t);e.position=(new Ke).addVectors(this.positionBase,r.multiplyScalar(this.positionRadius))}if(1===this.velocityStyle&&this.updateVector3(e.velocity,this.velocityBase,this.velocitySpread),2===this.velocityStyle){var o=(new Ke).subVectors(e.position,this.positionBase),a=this.randomValue(this.speedBase,this.speedSpread);e.velocity=o.normalize().multiplyScalar(a)}this.updateVector3(e.acceleration,this.accelerationBase,this.accelerationSpread),e.angle=this.randomValue(this.angleBase,this.angleSpread),e.angleVelocity=this.randomValue(this.angleVelocityBase,this.angleVelocitySpread),e.angleAcceleration=this.randomValue(this.angleAccelerationBase,this.angleAccelerationSpread),e.size=this.randomValue(this.sizeBase,this.sizeSpread);var s=this.randomVector3(this.colorBase,this.colorSpread);e.color=e.color.setHSL(s.x,s.y,s.z),e.opacity=this.randomValue(this.opacityBase,this.opacitySpread),e.age=0,e.alive=0},gk.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 e=0;this.particleCount>e;e+=1)this.particleArray[e]=this.createParticle(),this.positions[3*e]=this.particleArray[e].position.x,this.positions[3*e+1]=this.particleArray[e].position.y,this.positions[3*e+2]=this.particleArray[e].position.z,this.customVisible[e]=this.particleArray[e].alive,this.customColor[3*e]=this.particleArray[e].color.r,this.customColor[3*e+1]=this.particleArray[e].color.g,this.customColor[3*e+2]=this.particleArray[e].color.b,this.customOpacity[e]=this.particleArray[e].opacity,this.customSize[e]=this.particleArray[e].size,this.maxSize=this.maxSize>this.customSize[e]?this.maxSize:this.customSize[e];this.particleMaterial.blending=this.blendStyle,this.particleGeometry.setAttribute("position",new Ai(this.positions,3)),this.particleGeometry.setAttribute("customColor",new Ai(this.customColor,3)),this.particleGeometry.setAttribute("customVisible",new Ai(this.customVisible,1)),this.particleGeometry.setAttribute("customSize",new Ai(this.customSize,1)),this.particleGeometry.setAttribute("customOpacity",new Ai(this.customOpacity,1)),this.particleMesh=new rk(this.particleGeometry,this.particleMaterial),this.particleMesh.dynamic=!0,this.particleMesh.size=this.maxSize,this.particleMesh.renderOrder=-1},gk.prototype.update=function(e){if(this.particleMesh&&this.particleMesh.visible){e=void 0===e?.015:e;for(var t=[],i=0;this.particleCount>i;i+=1)this.particleArray[i].alive&&(this.particleArray[i].update(e),this.particleArray[i].age>this.particleDeathAge&&(this.particleArray[i].alive=0,t.push(i)),this.customVisible[i]=this.particleArray[i].alive,this.customOpacity[i]=this.particleArray[i].opacity,this.customSize[i]=this.particleArray[i].size,this.customColor[3*i]=this.particleArray[i].color.r,this.customColor[3*i+1]=this.particleArray[i].color.g,this.customColor[3*i+2]=this.particleArray[i].color.b,this.positions[3*i]=this.particleArray[i].position.x,this.positions[3*i+1]=this.particleArray[i].position.y,this.positions[3*i+2]=this.particleArray[i].position.z,this.maxSize=this.maxSize>this.customSize[i]?this.maxSize:this.customSize[i]);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)return;var n=Math.round(this.particlesPerSecond*(this.emitterAge+0)),r=Math.round(this.particlesPerSecond*(this.emitterAge+e));r>this.particleCount&&(r=this.particleCount);for(i=n;r>i;i+=1)this.particleArray[i].alive=1;for(var o=0;t.length>o;o+=1){this.updateParticle(this.particleArray[i=t[o]]),this.particleArray[i].alive=1,this.positions[3*i]=this.particleArray[i].position.x,this.positions[3*i+1]=this.particleArray[i].position.y,this.positions[3*i+2]=this.particleArray[i].position.z}this.emitterAge+=e}},gk.prototype.setScale=function(e){for(var t=0,i=this.sizeTween.values.length;i>t;t+=1)this.sizeTween.values[t]=this.sizeTween.values[t]*e;this.maxSize*=e},gk.prototype.setScaleValue=function(e,t){this.sizeTween.values=t.values.concat(),this.sizeTween.times=t.times.concat(),this.maxSize=e},gk.prototype.initializeSizetween=function(e){for(var t=0,i=this.sizeTween.values.length;i>t;t+=1)this.sizeTween.values[t]=this.sizeTween.values[t]*e;for(t=0;this.particleCount>t;t+=1)this.particleArray[t].size*=e,this.customSize[t]=this.particleArray[t].size,this.maxSize=this.maxSize>this.customSize[t]?this.maxSize:this.customSize[t];this.particleGeometry.getAttribute("customSize").needsUpdate=!0},gk.prototype.destroy=function(){};var fk=function(e){lu(i,e);var t=pu(i);function i(e){var n;ru(this,i),n=t.call(this);var r=wp.extend({},{position:{x:0,y:0,z:0},scale:1,fireScale:1,smokeScale:1,enableFire:!0,enableSmoke:!0},e);return n.groupPosition=r.position,n.position.set(n.groupPosition.x,n.groupPosition.y,n.groupPosition.z),n.groupScale=r.scale,n.fireScale=r.fireScale,n.smokeScale=r.smokeScale,n.type="fire",n.disPickable=!0,n.autoAnimation=!0,n._loadTexture(),n._initialize(),n.setOptions(r),n.originPosition=n.position.clone(),n}return i}(To);fk.prototype._initialize=function(){this.fire=new gk,this.fire.setValues({positionStyle:1,positionBase:new Ke(0,0,600),positionSpread:new Ke(1500,1500,600),velocityStyle:1,velocityBase:new Ke(0,0,4600),velocitySpread:new Ke(1e3,1e3,4600),accelerationBase:new Ke(0,0,2600),particleTexture:this.fireParticle,sizeTween:new uk([0,.1],[32,800]),opacityTween:new uk([.7,1],[.8,0]),colorBase:new Ke(.04,1,.4),blendStyle:2,particlesPerSecond:120,particleDeathAge:1.5}),this.fire.initialize(),this.smoke=new gk,this.smoke.setValues({positionStyle:1,positionBase:new Ke(0,0,2600),positionSpread:new Ke(1500,1500,600),velocityStyle:1,velocityBase:new Ke(0,0,3600),velocitySpread:new Ke(1800,1800,1100),accelerationBase:new Ke(0,0,2600),particleTexture:this.smokeParticle,sizeTween:new uk([0,1],[32,800]),opacityTween:new uk([.5,1,1.7],[0,.3,0]),colorTween:new uk([.4,1],[new Ke(0,0,0),new Ke(0,0,.2)]),blendStyle:1,particlesPerSecond:120,particleDeathAge:2}),this.smoke.initialize(),this.add(this.fire.particleMesh),this.add(this.smoke.particleMesh)},fk.prototype._initializeSizetween=function(e){this.fire.initializeSizetween(e),this.smoke.initializeSizetween(e)},fk.prototype.update=function(){this.fire.update(),this.smoke.update()},fk.prototype.getPosition=function(){return this.groupPosition},fk.prototype.setPosition=function(e){if(e)if("number"==typeof e.x)if("number"==typeof e.y)if("number"==typeof e.z){if(this.groupPosition=e,this.position.set(this.groupPosition.x,this.groupPosition.y,this.groupPosition.z),this.originPosition=this.position.clone(),this.updateMatrixWorld(),this.originBox){var t=this.originBox.clone();this.box=t.applyMatrix4(this.matrix),this.levelName=null}}else Bu.error("缺少参数 position.z");else Bu.error("缺少参数 position.y");else Bu.error("缺少参数 position.x");else Bu.error("缺少参数 position")},fk.prototype.getScale=function(){return this.groupScale},fk.prototype.setScale=function(e){0!==e?(this.scale.set(e,e,e),this.updateMatrixWorld(),this.groupScale*=e,this.setFireScale(e),this.setSmokeScale(e)):Bu.error("参数 scale 不能为0")},fk.prototype.setFireScale=function(e){0!==e?(this.fireScale*=e,this.fire.setScale(e)):Bu.error("参数 scale 不能为0")},fk.prototype.setSmokeScale=function(e){0!==e?(this.smokeScale*=e,this.smoke.setScale(e)):Bu.error("参数 scale 不能为0")},fk.prototype._loadTexture=function(){var e=new Dl;this.fireParticle=e.load("data:image/png;base64,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"),this.smokeParticle=e.load("data:image/png;base64,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")},fk.prototype.setOptions=function(e){e.position&&this.setPosition(e.position),"number"==typeof e.scale&&this.setScale(e.scale),"number"==typeof e.fireScale&&this.setFireScale(e.scale),"number"==typeof e.smokeScale&&this.setSmokeScale(e.scale),jg(e.enableFire)&&(this.fire.particleMesh.visible=e.enableFire),jg(e.enableSmoke)&&(this.smoke.particleMesh.visible=e.enableSmoke),this.update()},fk.prototype.getOptions=function(){var e={};return e.position=this.groupPosition,e.scale=this.groupScale,e.fireScale=this.fireScale,e.smokeScale=this.smokeScale,e.enableFire=this.fire.particleMesh.visible,e.enableSmoke=this.smoke.particleMesh.visible,e};var mk=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ru(this,i),(e=t.call(this,n)).isBlast=!0,e.firelifeAge=n.firelifeAge||6,e.fireParticles=n.fireParticles||300,e.fireOpacityTween=n.fireOpacityTween||{times:[.7,2.5],values:[.8,0]},e.smokelifeAge=n.smokelifeAge||8,e.smokeParticles=n.smokeParticles||160,e.smokeOpacityTween=n.smokeOpacityTween||{times:[0,2.5,8],values:[0,.1,0]},e.risingSpeed=n.risingSpeed||500,e.age=0,e.state=0,e.originPosition=e.position.clone(),e}return i}(fk);mk.prototype._initialize=function(){this.isBlast=!0,this.firelifeAge=6,this.fireParticles=300,this.fireOpacityTween={times:[.7,2.5],values:[.8,0]},this.smokelifeAge=8,this.smokeParticles=160,this.smokeOpacityTween={times:[0,2.5,8],values:[0,.1,0]},this.risingSpeed=500,this.age=0,this.state=0,this.originPosition=this.position.clone(),this.fire=new ck,this.fire.setValues({positionStyle:1,positionBase:new Ke(0,0,0),positionSpread:new Ke(0,0,0),velocityStyle:1,velocityBase:new Ke(0,0,4600),velocitySpread:new Ke(1e3,1e3,4600),accelerationBase:new Ke(0,0,2600),particleTexture:this.fireParticle,sizeTween:new sk([0,.1],[32,800]),opacityTween:new sk(this.fireOpacityTween.times,this.fireOpacityTween.values),colorBase:new Ke(.04,1,.4),blendStyle:2,particlesPerSecond:this.fireParticles,particleDeathAge:this.firelifeAge}),this.fire.initialize(),this.smoke=new ck,this.smoke.setValues({positionStyle:1,positionBase:new Ke(0,0,2600),positionSpread:new Ke(1500,1500,600),velocityStyle:1,velocityBase:new Ke(0,0,3600),velocitySpread:new Ke(1800,1800,1100),accelerationBase:new Ke(0,0,2600),particleTexture:this.smokeParticle,sizeTween:new sk([0,1],[32,2e3]),opacityTween:new sk(this.smokeOpacityTween.times,this.smokeOpacityTween.values),colorTween:new sk([.4,1],[new Ke(0,0,0),new Ke(0,0,.2)]),blendStyle:1,particlesPerSecond:this.smokeParticles,particleDeathAge:this.smokelifeAge}),this.smoke.initialize(),this.add(this.fire.particleMesh),this.add(this.smoke.particleMesh)},mk.prototype._initializeSizetween=function(e){this.fire.initializeSizetween(e),this.smoke.initializeSizetween(e)},mk.prototype.update=function(){if(0!==this.state&&-1!==this.state){var e=function(e){return e=e>1?1:e,1-Math.pow(1-e,3)}(this.age);this.position.z+=(1-(e=e>.95?.95:e))*this.risingSpeed,this.updateMatrixWorld(),this.fire.update(),this.smoke.update(),this.age+=.015}},mk.prototype.run=function(){this.age=0,-1!==this.state&&(this.position.copy(this.originPosition),this.fire.initialize(),this.fire.setVisible(),this.smoke.initialize(),this.smoke.setVisible(),this.state=1)},mk.prototype.runLoop=function(e,t,i){if(this.timerManager=e,this.loopId)return this.timerManager.removeTimerListener(this.loopId),void this.timerManager.registerTimerListener(this.run.bind(this),t,i);this.loopId=this.timerManager.registerTimerListener(this.run.bind(this),t,i)},mk.prototype.stop=function(){this.fire.initialize(),this.smoke.initialize(),this.state=0,this.loopId&&(this.timerManager.removeTimerListener(this.loopId),delete this.loopId)},mk.prototype.pause=function(){this.state=-1,this.loopId&&this.timerManager.pause(this.loopId)},mk.prototype.continue=function(){-1===this.state&&(this.state=1,this.loopId&&this.timerManager.continue(this.loopId))},mk.prototype._loadTexture=function(){var e=new Dl;this.fireParticle=e.load("data:image/png;base64,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"),this.smokeParticle=e.load("data:image/png;base64,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")};var Ak=function(e){lu(i,e);var t=pu(i);function i(e){var n;for(var r in ru(this,i),(n=t.call(this)).Position={x:0,y:0,z:0},n.scaleUnit=1,n.disPickable=!0,e)"values"!==r&&(n[r]=e[r]);return n._initialize(e),n}return i}(To);Ak.prototype._initialize=function(e){var t=this;this.names=[],e.values.forEach((function(e){t[e.name]=new gk,t[e.name].setValues(e),t[e.name].initialize(),t.add(t[e.name].particleMesh),t.names.push(e.name)}))},Ak.prototype._initializeSizetween=function(e,t){var i=this;t?this[t].initializeSizetween(e):this.names.forEach((function(t){i[t].initializeSizetween(e)}))},Ak.prototype.update=function(e){var t=this;e?this[e].update():this.names.forEach((function(e){t[e].update()}))},Ak.prototype.getPosition=function(){return this.position},Ak.prototype.setPosition=function(e){if(e)if("number"==typeof e.x)if("number"==typeof e.y)if("number"==typeof e.z){if(this.position.set(e.x,e.y,e.z),this.updateMatrixWorld(),this.originBox){var t=this.originBox.clone();this.box=t.applyMatrix4(this.matrix),this.levelName=null}}else Bu.error("缺少参数 position.z");else Bu.error("缺少参数 position.y");else Bu.error("缺少参数 position.x");else Bu.error("缺少参数 position")},Ak.prototype.getScale=function(){return this.scaleUnit},Ak.prototype.setScale=function(e){var t=this.scaleUnit*e,i=this;this.scale.set(t,t,t),this.updateMatrixWorld(),this.names.forEach((function(t){i[t].setScale(e)})),this.scaleUnit=t},Ak.prototype.setConsistence=function(e){var t=this;this.names.forEach((function(i){t[i].setScale(e)}))};var yk=function(){var e=0,t=document.createElement("div");function i(e){return t.appendChild(e.dom),e}function n(i){for(var n=0;t.children.length>n;n++)t.children[n].style.display=n===i?"block":"none";e=i}t.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",t.addEventListener("click",(function(i){i.preventDefault(),n(++e%t.children.length)}),!1);var r=(performance||Date).now(),o=r,a=0,s=i(new yk.Panel("FPS","#0ff","#002")),l=i(new yk.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var c=i(new yk.Panel("MB","#f08","#201"));return n(0),{REVISION:16,dom:t,addPanel:i,showPanel:n,begin:function(){r=(performance||Date).now()},end:function(){a++;var e=(performance||Date).now();if(l.update(e-r,200),e>=o+1e3&&(s.update(1e3*a/(e-o),100),o=e,a=0,c)){var t=performance.memory;c.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){r=this.end()},domElement:t,setMode:n}};yk.Panel=function(e,t,i){var n=1/0,r=0,o=Math.round,a=o(window.devicePixelRatio||1),s=80*a,l=48*a,c=3*a,h=2*a,d=3*a,u=15*a,p=74*a,g=30*a,f=document.createElement("canvas");f.width=s,f.height=l,f.style.cssText="width:80px;height:48px";var m=f.getContext("2d");return m.font="bold "+9*a+"px Helvetica,Arial,sans-serif",m.textBaseline="top",m.fillStyle=i,m.fillRect(0,0,s,l),m.fillStyle=t,m.fillText(e,c,h),m.fillRect(d,u,p,g),m.fillStyle=i,m.globalAlpha=.9,m.fillRect(d,u,p,g),{dom:f,update:function(l,A){n=Math.min(n,l),r=Math.max(r,l),m.fillStyle=i,m.globalAlpha=1,m.fillRect(0,0,s,u),m.fillStyle=t,m.fillText(o(l)+" "+e+" ("+o(n)+"-"+o(r)+")",c,h),m.drawImage(f,d+a,u,p-a,g,d,u,p-a,g),m.fillRect(d+p-a,u,a,g),m.fillStyle=i,m.globalAlpha=.9,m.fillRect(d+p-a,u,a,o((1-l/A)*g))}}};var vk=function(e){this.viewer=e};vk.prototype={construtor:vk,destroy:function(){this.viewer=null},update:function(e){var t=this.getControl();t&&(t.update(e),this.viewer.render())},getControl:function(){for(var e=this.viewer.controlManager.tools,t=0;e.length>t;t+=1)if(e[t].getName()===Yd.CLIP_BY_BOX)return e[t];return null},setSectionBox:function(e,t){this.getControl().setSectionBox(e,t)},toggle:function(e,t){this.getControl().toggle(e,t)},setVisible:function(e){this.getControl().visible(e)},setRotatable:function(e){this.getControl().rotatable(e)},enablePick:function(e){this.getControl().enablePick=e},saveState:function(){return this.getControl().store()},loadState:function(e){this.getControl().restore(e)},reset:function(){this.viewer.getScene().resetClipPlanes()},recalculate:function(){return this.viewer.getFilter().getVisibleComponentsBbox()},setProcess:function(e,t){this.getControl().setProcess(e,t)},getProcess:function(e){return this.getControl().getProcess(e)}};var Ck=function(e){this.viewer=e,this.viewportDIV=e.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(e){var t=e.data.left,i=e.data.top,n=e.data.width,r=e.data.height,o=e.data.visible;this.deleteRect(),o&&(this.rect=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.rect.setAttribute("id","rectid"+this.viewer.getViewerImpl().uuid),this.rect.setAttribute("x",t),this.rect.setAttribute("y",i),this.rect.setAttribute("width",n),this.rect.setAttribute("height",r),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 e=document.getElementById("rectid"+this.viewer.getViewerImpl().uuid);e&&this.svg.removeChild(e)},this.deleteSVG=function(){if(this.svg){var e=document.getElementById("rectid"+this.viewer.getViewerImpl().uuid);e&&this.svg.removeChild(e),this.viewportDIV.removeChild(this.svg)}},this.creatMoveCircle=function(e){var t=e.x,i=e.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",t),this.circleMov.setAttribute("cy",i),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(e){var t=document.getElementById("circleMove"+this.viewer.getViewerImpl().uuid);t.setAttribute("cx",e[0]),t.setAttribute("cy",e[1]),t.setAttribute("style","fill:#00ff00;stroke-width:1;stroke:rgb(60,240,240);fill-opacity:0.9;stroke-opacity:0.9")},this.deleteCircle=function(){var e=document.getElementById("circleMove"+this.viewer.getViewerImpl().uuid);e&&this.svg.removeChild(e)},this.createMoveLine=function(e,t){var i=e.x,n=e.y,r=t.x,o=t.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",i),this.moveline.setAttribute("y1",n),this.moveline.setAttribute("x2",r),this.moveline.setAttribute("y2",o),this.moveline.setAttribute("stroke","#0AEA06"),this.moveline.setAttribute("stroke-width","2"),this.svg.appendChild(this.moveline)},this.deleteMoveLine=function(){var e=document.getElementById("moveLine"+this.viewer.getViewerImpl().uuid);e&&this.svg.removeChild(e)},this.creatPickCircle=function(e,t){var i=e.x,n=e.y;this.circlePic=document.createElementNS("http://www.w3.org/2000/svg","circle"),this.circlePic.setAttribute("id","circlePick"+this.viewer.getViewerImpl().uuid+t),this.circlePic.setAttribute("class","circlePick"),this.circlePic.setAttribute("cx",i),this.circlePic.setAttribute("cy",n),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(e,t,i,n){var r=e.x,o=e.y,a=t.x,s=t.y;this.line=document.createElementNS("http://www.w3.org/2000/svg","line"),this.line.setAttribute("id","pickline"+this.viewer.getViewerImpl().uuid+n),this.line.setAttribute("class","pickline"),this.line.setAttribute("x1",r),this.line.setAttribute("y1",o),this.line.setAttribute("x2",a),this.line.setAttribute("y2",s),this.line.setAttribute("stroke",i),this.line.setAttribute("stroke-width","2"),this.svg.appendChild(this.line)},this.deleteLineAndCircle=function(){for(var e=this.svg.getElementsByClassName("pickline"),t=this.svg.getElementsByClassName("circlePick");e.length;)this.svg.removeChild(e[e.length-1]);for(;t.length;)this.svg.removeChild(t[t.length-1])}},Ik="\n\n#include <logdepthbuf_pars_vertex>\n\nvarying vec2 vUv;\n\nvoid main() {\n vec3 transformed = vec3( position );\n\n vec4 mvPosition = vec4( transformed, 1.0 );\n\n mvPosition = modelViewMatrix * mvPosition;\n \n gl_Position = projectionMatrix * mvPosition;\n vUv = uv;\n\n\t#include <logdepthbuf_vertex>\n}\n",xk="\nuniform vec3 color;\nuniform float opacity;\nuniform float imagePs;\nuniform sampler2D map;\n\nvarying vec2 vUv;\n\nvoid main(void){\n #include <logdepthbuf_fragment>\n\n vec2 cusUv = vec2(imagePs + vUv.x/2.0, vUv.y);\n\n vec4 color1 = texture2D(map, cusUv);\n\n gl_FragColor = color1;\n\n}\n\n",wk=0,Mk=.5,Ek=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ru(this,i),(e=t.call(this)).lights=!1,e.uniforms={color:{value:new pi(1,1,1)},opacity:{value:1},map:{value:new Fe},imagePs:{value:0}},e.vertexShader=Ik,e.fragmentShader=xk,e.setValues(n),e.isChangeMapMaterial=!0,e}return au(i,[{key:"map",get:function(){return this.uniforms.map.value},set:function(e){this.uniforms.map.value=e}},{key:"color",get:function(){return this.uniforms.color.value},set:function(e){this.uniforms.color.value.copy(e)}},{key:"imagePs",get:function(){return this.uniforms.imagePs.value},set:function(e){this.uniforms.imagePs.value=e}}]),i}(cn),Bk="data:image/webp;base64,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",Sk="data:image/webp;base64,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",bk="data:image/webp;base64,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",kk="data:image/webp;base64,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",Dk="data:image/webp;base64,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",Tk="data:image/webp;base64,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";var Rk=function(e,t){var i=this;this.viewer=e,this.preRotationHandle=t,this.mouseButtons={LEFT:n.LEFT,RIGHT:n.RIGHT},this.visible=!0,this.isAnimationFinish=!0,this.pickedColor=3779326,this.width=0,this.height=0,this.isDisable=!1;var r=new Map,o=new Map,a=new Map,s=6185057,l=null,c=null,h=60,d=function(e,t){var i=(e+t)/2;return[new Ke(i,-i,i),new Ke(i,-i,-i),new Ke(i,i,-i),new Ke(i,i,i),new Ke(-i,-i,i),new Ke(-i,-i,-i),new Ke(-i,i,-i),new Ke(-i,i,i)]}(h,5),u=function(e,t){return{"+Y":new Ke(0,e/2+t,0),"-Y":new Ke(0,-(e/2+t),0),"+X":new Ke(e/2+t,0,0),"-X":new Ke(-(e/2+t),0,0),"+Z":new Ke(0,0,e/2+t),"-Z":new Ke(0,0,-(e/2+t))}}(h,5),p=function(e){return{"01":(new Ke).lerpVectors(e[0],e[1],.5),12:(new Ke).lerpVectors(e[1],e[2],.5),23:(new Ke).lerpVectors(e[2],e[3],.5),30:(new Ke).lerpVectors(e[3],e[0],.5),45:(new Ke).lerpVectors(e[4],e[5],.5),56:(new Ke).lerpVectors(e[5],e[6],.5),67:(new Ke).lerpVectors(e[6],e[7],.5),74:(new Ke).lerpVectors(e[7],e[4],.5),"04":(new Ke).lerpVectors(e[0],e[4],.5),37:(new Ke).lerpVectors(e[3],e[7],.5),26:(new Ke).lerpVectors(e[2],e[6],.5),15:(new Ke).lerpVectors(e[1],e[5],.5)}}(d),g=0,f=1,m=2,A=220,y=150,v=80,C=1,I=2,x=5,w=6,M=3,E=4,B=1e-4,S=new Vo,b=new pc(-y/2,y/2,y/2,-y/2,-y/2,y/2),k=new Xp,D=new To,T=new To,R=new To;D.add(T),D.add(R);var U=new To;U.name="selectBoxGroup",D.add(U),this._cube=D;var F=!1,Q=!1,L=new ke,O=new ke,N=new ke,P=new ke,G=!1,K="",V=null,Y=-1,H=!1;this.uninit=function(){this.removeDomEventListeners(),l&&(l.removeChild(c.domElement),l=null)},this.enable=function(){l&&c&&!c.domElement.parentNode&&(l.appendChild(c.domElement),this.addDomEventListeners())},this.disable=function(){l&&c&&c.domElement.parentNode&&(this.removeDomEventListeners(),l.removeChild(c.domElement))};(function(){!function(){for(var e=new Dl,t=[{image:bk,position:u["+Y"],rotation:new bt(.5*Math.PI,Math.PI,0),name:"Back POSITIVE_Y",view:kd.Back},{image:kk,position:u["-Y"],rotation:new bt(.5*Math.PI,0,0),name:"Front NEGATIVE_Y",view:kd.Front},{image:Sk,position:u["-X"],rotation:new bt(-.5*Math.PI,-.5*Math.PI,Math.PI),name:"Left NEGATIVE_X",view:kd.Left},{image:Bk,position:u["+X"],rotation:new bt(-.5*Math.PI,.5*Math.PI,Math.PI),name:"Right POSITIVE_X",view:kd.Right},{image:Dk,position:u["+Z"],rotation:new bt(0,0,0),name:"Top POSITIVE_Z",view:kd.Top},{image:Tk,position:u["-Z"],rotation:new bt(Math.PI,0,Math.PI),name:"Bottom NEGATIVE_Z",view:kd.Bottom}],i=function(){var t=r[n];e.load(t.image,(function(e){var i=new nn(new In(h,h),new Ek({map:e,toneMapped:!1}));i.position.copy(t.position),i.rotation.copy(t.rotation),i.name=t.name,i.view=t.view,T.add(i),a.set(t.name,i)}))},n=0,r=t;r.length>n;n++)i()}(),function(){for(var e=["30","12","74","56","04","15","37","26","01","23","45","67"],t=["Top_Front","Bottom_Front","Top_Back","Bottom_Back","Top_Left","Bottom_Left","Top_Right","Bottom_Right","LeftFront","RightFront","LeftBack","RightBack"],i=[kd.TopFront,kd.BottomFront,kd.TopBack,kd.BottomBack,kd.TopLeft,kd.BottomLeft,kd.TopRight,kd.BottomRight,kd.FrontLeft,kd.FrontRight,kd.BackLeft,kd.BackRight],n=new on(5,h,5),r=new on(h,5,5),a=new on(5,5,h),l=[n,n,n,n,r,r,r,r,a,a,a,a],c=0;e.length>c;c++){var d=new nn(l[c],new gi({color:new pi(s)}));d.position.copy(p[e[c]]),d.name=t[c],d.view=i[c],T.add(d),o.set(t[c],d)}}(),function(){for(var e=[0,1,2,3,4,5,6,7],t=["Top_FrontLeft","Bottom_FrontLeft","Bottom_FrontRight","Top_FrontRight","Top_BackLeft","Bottom_BackLeft","Bottom_BackRight","Top_BackRight"],n=[kd.TopFrontLeft,kd.BottomFrontLeft,kd.BottomFrontRight,kd.TopFrontRight,kd.TopBackLeft,kd.BottomBackLeft,kd.BottomBackRight,kd.TopBackRight],o=new on(5,5,5),a=0;e.length>a;a++){var l=new nn(o,new gi({color:new pi(s)}));l.position.copy(d[e[a]]),l.name=t[a],l.view=n[a],R.add(l);var c=new on(10,10,10),h=new nn(c,new gi({transparent:!0,color:new pi(i.pickedColor),opacity:1}));h.position.copy(d[e[a]]),h.name=t[a],h.view=n[a],U.add(h),h.visible=!1,h.isBox=!0,r.set(t[a],h)}}()})(),S.add(D);var j=function(e){Q=e;for(var t=e?.8:1,i=D.children,n=0;i.length>n;n+=1)for(var r=i[n].children,o=0;r.length>o;o+=1)r[o].material.transparent=e,r[o].material.opacity=t};j(!1);var W=function(){V&&(V.material.color.set(V.currentColor),V.material.isChangeMapMaterial&&(V.material.imagePs=wk),V.isBox&&(V.visible=!1)),V=null},J=function(e){if(void 0!==l){var t=ag.getDomOffsetToClient(l),n=new ke;if(n.x=e.x-t.left,n.y=e.y-t.top,n.x>0&&i.width>n.x&&n.y>0&&i.height>n.y)return P.x=n.x/i.width*2-1,P.y=-n.y/i.height*2+1,!0}return!1},z=function(){var e=new Ke(P.x,P.y,.5);k.setFromCamera(e,b);var t,n=k.intersectObjects([U,T],!0,!1);n?V!==(t=n.object)&&(V&&(V.material.isChangeMapMaterial&&(V.material.imagePs=wk),V.isBox&&(V.visible=!1),V.material.color.set(V.currentColor)),(V=t).currentColor=V.material.color.clone(),""!==V.name&&(V.material.color.set(i.pickedColor),V.isBox&&(V.visible=!0),V.material.isChangeMapMaterial&&(V.material.imagePs=Mk))):W()};this.mouseUp=function(e){e.stopPropagation();var n=new ke(e.clientX,e.clientY),r=J(n);return F?(F=!1,O.set(n.x,n.y),N.subVectors(O,L),this.preRotationHandle&&!this.preRotationHandle()||(this.viewer.viewerImpl.rotateCamera(N),L.copy(O))):r&&e.button===i.mouseButtons.LEFT&&V&&(Y=-1,-1!==(Y=V.view)&&(t(Y),null!=Y&&i.viewer.viewerImpl.rotateCameraByViewCubeSide(Y))),r},this.mouseMove=function(e){e.stopPropagation();var t=!1,i=new ke(e.clientX,e.clientY),n=J(i);if(F)O.set(i.x,i.y),N.subVectors(O,L),this.preRotationHandle&&!this.preRotationHandle()||(this.viewer.viewerImpl.rotateCamera(N),L.copy(O));else if(n){if(Q&&(j(!1),t=!0),z(),V){if(""!==V.name){var r=V.name;K!==r&&(K=r,G=!0,t=!0)}}else""!==K&&(K="",G=!1,t=!0);t&&this.render(),H=!0}else H&&(H=!1,G&&(W(),G=!1,t=!0),t&&this.render());return n},this.mouseDown=function(e){e.preventDefault(),e.stopPropagation();var t=new ke(e.clientX,e.clientY),n=J(t);return n&&e.button===i.mouseButtons.LEFT&&(F=!1),n},this.onMouseDownBinded=this.mouseDown.bind(this),this.onMouseMoveBinded=this.mouseMove.bind(this),this.onMouseUpBinded=this.mouseUp.bind(this),this.addDomEventListeners=function(){l&&(l.addEventListener("contextmenu",(function(e){e.preventDefault()}),!1),l.addEventListener("mousedown",this.onMouseDownBinded,!1),window.addEventListener("mousemove",this.onMouseMoveBinded,!1),l.addEventListener("mouseup",this.onMouseUpBinded,!1))},this.removeDomEventListeners=function(){l&&(l.removeEventListener("contextmenu",(function(e){e.preventDefault()}),!1),l.removeEventListener("mousedown",this.onMouseDownBinded,!1),window.removeEventListener("mousemove",this.onMouseMoveBinded,!1),window.removeEventListener("mouseup",this.onMouseUpBinded,!1))};var q=function(e){switch(e){case g:i.width=A,i.height=A;break;case f:i.width=y,i.height=y;break;case m:default:i.width=v,i.height=v}l.style.width=i.width+"px",l.style.height=i.height+"px"};this.resize=function(e,t,i){q(200>e||i?m:f),c.setPixelRatio(window.devicePixelRatio||1),c.setSize(this.width,this.height)};this.init=function(e){(function(e){e.style.position="absolute",e.style.display="block",e.style.outline="0",e.style.right="52px",e.style.top="0px",e.style.opacity="1",e.style.display="flex",e.style.webkitTransition="opacity .2s ease",e.style.mozTransition="opacity .2s ease",e.style.msTransform="opacity .2s ease",e.style.oTransform="opacity .2s ease",e.style.transition="opacity .2s ease"})(l=document.createElement("div")),e.appendChild(l),c=new Oo({antialias:!0,alpha:!0,preserveDrawingBuffer:!0}),l.appendChild(c.domElement),this.resize(e.offsetWidth,e.offsetHeight,this.viewer.viewerImpl.isMobile),this.addDomEventListeners()};var Z=function(e,t,i){return e>t?i>=e-t:i>=t-e};this.render=function(){if(this.visible&&!this.isDisable&&c){var e=this.viewer.viewerImpl.getActiveCameraInfo(),t=e.quaternion.clone().invert();this._cube.quaternion.copy(t),-1===Y&&(Y=function(e,t){var i=e.clone();i.normalize();var n=t.clone();if(n.normalize(),Z(i.x,0,B)&&Z(i.y,-1,B)&&Z(i.z,0,B)&&Z(n.x,0,B)&&Z(n.y,0,B)&&Z(n.z,-1,B))return C;if(Z(i.x,0,B)&&Z(i.y,1,B)&&Z(i.z,0,B)){if(Z(n.x,0,B)&&Z(n.y,0,B)&&Z(n.z,1,B))return I;if(Z(n.x,1,B)&&Z(n.y,0,B)&&Z(n.z,0,B))return I}return Z(i.x,0,B)&&Z(i.y,0,B)&&Z(i.z,-1,B)&&Z(n.x,0,B)&&Z(n.y,1,B)&&Z(n.z,0,B)?x:Z(i.x,0,B)&&Z(i.y,0,B)&&Z(i.z,1,B)&&Z(n.x,0,B)&&Z(n.y,1,B)&&Z(n.z,0,B)?w:Z(i.x,-1,B)&&Z(i.y,0,B)&&Z(i.z,0,B)&&Z(n.x,0,B)&&Z(n.y,1,B)&&Z(n.z,0,B)?M:Z(i.x,1,B)&&Z(i.y,0,B)&&Z(i.z,0,B)&&Z(n.x,0,B)&&Z(n.y,1,B)&&Z(n.z,0,B)?E:-1}(e.dir,b.up)),c.autoClear=!0,c.render(S,b)}},this.destroy=function(){c.dispose(),this.disable()}},Uk=function(e){var t=window.performance.timing;Iu.PERFORMANCE>Bu.level||Bu.warn("页面加载时间:",t.domInteractive-t.navigationStart,"ms");var i=og.detectWebGL();if(1===i){xd.language=og.language(),Yt.DefaultUp.set(0,0,1);var n=wp.extend({},{host:"https://bos3d.bimwinner.com",viewport:""},e);this.host=n.host,this.viewerImpl=new xB;var r=document.getElementById(n.viewport);r.style.position="relative";var o=this;this.getViewerImpl().init(r),xd.EnableViewController&&!og.isMobileDevice()&&(this.viewController=new Rk(this,(function(){return!0})),this.viewController.init(this.getViewerImpl().getDomElement()),this.viewController.render(),this.getViewerImpl().addRenderFinishedListener((function(){o.viewController.render()}))),this.filter=this.getViewerImpl().filter,this.SVGRect=new Ck(this),this.SVGRect.creatSVG(),this.viewport=e.viewport,this.viewportDiv=document.getElementById(e.viewport),this.getViewerImpl().modelManager.addEventListener(Fd.ON_LOAD_CONFIG_FINISH,(function(e){Bu.time("模型".concat(e.modelKey,"加载时间"));var t=o.getViewerImpl().getBoundingBox(),i=o.getViewerImpl().getModel(e.modelKey),n=i.getConfig();n.type!==Xd.I_MODEL&&n.type!==Xd.OBJ||o.setLightIntensityFactor(1),py(i.dataVersion,"1.0");var r=t.getCenter(new Ke),a=t.getSize(new Ke),s=new Ke(r.x+a.x,r.y+a.y,r.z+a.z);xd.KeepViewState?o.originalView||o.defaultOriginalView||(o.viewerImpl.lookAt(s,r,o.viewerImpl.camera.up),o.setDefaultOriginalView(s,r,o.viewerImpl.camera.up)):xd.UserControlView||(o.originalView?o.viewerImpl.lookAt(o.originalView.position,o.originalView.target,o.originalView.up):(o.viewerImpl.lookAt(s,r,o.viewerImpl.camera.up),o.setDefaultOriginalView(s,r,o.viewerImpl.camera.up)))})),this.getViewerImpl().modelManager.addEventListener(Fd.ON_LOAD_PROGRESS,(function(e){Bu.log(e.progress)})),this.getViewerImpl().modelManager.addEventListener(Fd.ON_LOAD_COMPLETE,(function(e){Bu.log(e.modelKey," is load "),Bu.timeEnd("模型".concat(e.modelKey,"加载时间"));var t=o.getViewerImpl().getModel(e.modelKey);for(var i in o.rootScene.aabbCollection.updateFromModel(t.dataUrl.modelKey,t),t.floorManager&&xd.EnableCreateMiniMap&&(Bu.time("小地图生成"),t.floorManager.generateMiniMap(o.getViewerImpl()),Bu.timeEnd("小地图生成")),t&&t.getConfig()&&o.getViewerImpl().cameraControl.setSceneUnit(t.getConfig().lengthUnit),bd)if(t&&bd.hasOwnProperty(i)&&!0===bd[i]){var n=i,r=t.getComponentKeysByType(n),a=t.getConfig(),s=[];!a||a.type!==Xd.RVT&&a.type!==Xd.MERGE&&a.type!==Xd.ARRAY||(s=t.getComponentKeysByProperty("buildInCategory",n)),o.deactivateComponentsByKey(r.concat(s))}o.getViewerImpl().getBoundingBox().isEmpty()&&(o.getViewerImpl().zoomAll(),o.getViewerImpl().goToInitialView())})),this.getViewerImpl().modelManager.addEventListener(Fd.ON_CLICK_PICK,(function(e){if(e.intersectInfo){if(o.tempNode){for(var t=o.getComponentsByKey(o.tempNode.selectedObjectId),i=0,n=t.length;n>i;i+=1){var r=t[i];for(var a in r)for(var s=r[a],l=0,c=s.length;c>l;l+=1){var h=s[l],d=Yw(h.elementId,!0,!1,0);h.mesh.setInstanceColorAt(h.groupIndex,h.subInstanceIndex,d)}}if(o.tempNode.selectedObjectId!==e.intersectInfo.selectedObjectId){o.tempNode=e.intersectInfo;for(var u=o.getComponentsByKey(o.tempNode.selectedObjectId),p=0,g=u.length;g>p;p+=1){var f=u[p];for(var m in f)for(var A=f[m],y=0,v=A.length;v>y;y+=1){var C=A[y],I=Yw(C.elementId,!0,!1,1);C.mesh.setInstanceColorAt(C.groupIndex,C.subInstanceIndex,I)}}}else o.tempNode=null}else if(e.intersectInfo.object.isInstancedMeshEx){o.tempNode=e.intersectInfo;for(var x=o.getComponentsByKey(o.tempNode.selectedObjectId),w=0,M=x.length;M>w;w+=1){var E=x[w];for(var B in E)for(var S=E[B],b=0,k=S.length;k>b;b+=1){var D=S[b],T=Yw(D.elementId,!0,!1,1);D.mesh.setInstanceColorAt(D.groupIndex,D.subInstanceIndex,T)}}}Bu.log("构件key",e.intersectInfo.selectedObjectId);var R=e.intersectInfo.object;R&&Bu.log(R)}else if(o.tempNode){for(var U=o.getComponentsByKey(o.tempNode.selectedObjectId),F=0,Q=U.length;Q>F;F+=1){var L=U[F];for(var O in L)for(var N=L[O],P=0,G=N.length;G>P;P+=1){var K=N[P],V=Yw(K.elementId,!0,!1,0);K.mesh.setInstanceColorAt(K.groupIndex,K.subInstanceIndex,V)}}o.tempNode=null}})),this.getViewerImpl().getControlManager().addEventListener(Fd.ON_CONTROL_EXIST,(function(e){if(e.name===Yd.CLIP_BY_BOX)for(var t=o.getViewerImpl().modelManager.getModelKeys(),i=0,n=t.length;n>i;i+=1){var r=o.getViewerImpl().modelManager.getModel(t[i]);if(r)for(var a=0;6>a;a+=1){r._getNodeGroup("sectionFill_"+a).clear()}}})),this.viewerImpl.modelManager.addEventListener(Fd.ON_CONTROL_UPDATEUI,(function(e){o.SVGRect.creatRect(e)}));var a=document.createElement("div");a.setCss({width:"28px",height:"28px",backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAADrklEQVRoQ+1aaUhUURT+jjpUUhGFKdniDylaoT0IazDqhxSUZgsVFUFUJAW2m7ZvlmAoFUFUVLRoCxT+KJIJCdqDVop+VGboRBEVUzLliTu9N703jbP47jzr9e7PO/cs3/nOu/eeM5dg0mDm0QAKFHPbiOi6GabJDCPCBjNXAeiq2HMTUZYZts0EeEcLiIiG2QAlRMBmUEIQfSqY2U5RWcHUfeuxUBpMp81gjCJtbzKyAvs/HPTWvqrJyoRo9Zj2DUbrmKz1NkAjkWTmXgCcAEYCSAGQpOh7B6AewE0ALiJ6ZcROKNmYMMjMfQEsAxBpxSCucXuJ6KlsoFIBMnMCgHwAuS10tAJACRF9b6H8H2LSADJzRwDFWta8Xi+duXAptbq6utPzp08cH967ffY6d+nKvfv282ZmZn6cNnlincPhYI1ngs1VRPRJBkgpABXmyrXgTp27mFpWWpJcX1cb0kZKag/OW57fMCN7Ul0AyKUymJQFcLWalsyMdRu39jlz/Ej7aBiYNnvel+0b1z8j8rtUQUS7otERbK1hgMqGckxVvnbDlqjBqbIC5I5Nhc80js4xuvHIAHhATU2RlgUrl4vjQDfiRuaChk8FJaf75rnhBfh2JZpuij1FP7btLq3XpOsdIlpkhEVDAJk5DUClcEBsKM5x4wfrvrkOSYifWQxKHxXUR35xAz9OrgI+i2Px1xDfpOvqlfuajSfHyDlpFOBcAHnCsRMV57sXrVmRrEUSv/Bws+DUdT6QB+frArB5556GWblT3iiTZUR0tKUsGgW4D8AIYXzB4rwBrstVbVRHRFrG5WyOyK+ms0W6dHVOyGo8tL/skSJ8i4iWRKQoyCLSdJzVpmxzutwAdB1pZj4HoKcQyHCOG/y29mWcKhy/9DSo56CI/OLXD/CjfLp/bbceaU01rqv3lYnXRJTtZ/x3hzwyfwMK0XAO6TrSzFwDoJ0Q6j9w4JBvHo8/IxK23AXaJIbT9+v3Rg++Fw71r22bmMiPHz68p0x8JaIMDUBthzycfrdgMDoBTcvdJIAeIhpjBKBaaUdGueZPk38iRcNxHOp3Zv77NxmDAC1/TFj7oBfsM7N1r2oKQFG9W/eyrYC0brmkABStCusWvApI67YsNLcM6zadtOepZduGgZcGpSAeG6bxe42IXhq5cISSNVQPxsopmXptgDKj2Rq6TGPQfqsWI3rNZNB+CBQLEm0GZUXVfukkK5IBeuwUlRVYO0VlRbIVU9Tyj9Jb5a3aT8+YQC0z79QSAAAAAElFTkSuQmCC)",display:"none",backgroundSize:"cover",overflow:"hidden",position:"absolute"}),this.viewportDiv.appendChild(a),this._rotationCenterMouseDown=!1,this.registerControlEventListener(Fd.ON_CONTROL_BEGIN,(function(e){e.name===Vd.ORBIT&&(o._rotationCenterMouseDown=!0)})),this.registerControlEventListener(Fd.ON_CONTROL_MOUSEMOVE,(function(e){var t;if(o._rotationCenterMouseDown)if(t=o.getViewerImpl().getControlManager().userInputControl?o.getViewerImpl().getControlManager().userInputControl.orbitControl.rotatePivot:o.getViewerImpl().getControlManager().control.rotatePivot){var i=o.getScreenCoordFromSceneCoord(t);a.setCss({left:i[0]-14+"px",top:i[1]-14+"px",display:""})}else a.setCss({left:0,top:0,display:"none"});else a.setCss({left:0,top:0,display:"none"})})),this.registerControlEventListener(Fd.ON_CONTROL_END,(function(e){o._rotationCenterMouseDown=!1,a.setCss({left:0,top:0,display:"none"})}))}else og.showWebGLMessage(i)};Object.assign(Uk.prototype,hg.prototype),Object.assign(Uk.prototype,{constructor:Uk,addView:function(e,t,i,n){this.getViewerImpl().load({serverUrl:this.host,modelKey:e,dbName:t,token:i,share:n||"",notifyProgress:!0,type:e.startsWith("G")?"GIS":""})},addViews:function(e,t,i,n){xd.AutoMergeComponent=!1,xd.MergeComponent=!0,this.getViewerImpl().load({serverUrl:this.host,modelKey:e,modelKeys:t,dbName:i,token:n,notifyProgress:!0})},addTilesView:function(e,t,i){this.getViewerImpl().loadTiles({serverUrl:this.host,modelKey:e,dbName:t,token:i,notifyProgress:!0})},addTilesViewFromLocal:function(e){this.getViewerImpl().loadTiles({serverUrl:".",modelKey:e,dbName:"",token:"",notifyProgress:!0,offLine:!0})},getSSE:function(e){var t=this.getBoxByComponentsKey(e),i=this.viewerImpl.camera,n=t.getCenter(new Ke),r=t.getSize().length(),o=this.viewerImpl.getRenderer().domElement.width,a=i.fov;return r*o/(2*i.position.clone().sub(n).length()*Math.tan(a/2))},removeView:function(e){return this.getViewerImpl().unload(e)},removeAllView:function(){this.getViewerImpl().unloadAll()},addViewFromLocal:function(e){this.getViewerImpl().load({serverUrl:".",modelKey:e,dbName:"",notifyProgress:!0,offLine:!0})},loadComponents:function(e,t,i,n){Array.isArray(e)||(e=[e]),this.getViewerImpl().loadGeopkOnDemand(e,t,i,n)},unloadComponents:function(e,t){Array.isArray(e)||(e=[e]),this.getViewerImpl().unloadGeopkOnDemand(e,t)},getOriginalView:function(){return this.originalView||this.defaultOriginalView},getInitView:function(){var e=this.viewerImpl.modelManager.scene.getBoundingBox(),t=e.getCenter(new Ke),i=e.getSize(new Ke);return{position:new Ke(t.x+i.x,t.y+i.y,t.z+i.z),target:t,up:[0,0,1]}},setOriginalView:function(e,t,i){jg(e)&&jg(t)&&jg(i)?(this.originalView||(this.originalView={}),this.originalView.position=Array.isArray(e)?new Ke(e[0],e[1],e[2]):new Ke(e.x,e.y,e.z),this.originalView.target=Array.isArray(t)?new Ke(t[0],t[1],t[2]):new Ke(t.x,t.y,t.z),this.originalView.up=Array.isArray(i)?new Ke(i[0],i[1],i[2]):new Ke(i.x,i.y,i.z)):Bu.warn("视角非法")},setDefaultOriginalView:function(e,t,i){jg(e)&&jg(t)&&jg(i)?(this.defaultOriginalView||(this.defaultOriginalView={}),this.defaultOriginalView.position=Array.isArray(e)?new Ke(e[0],e[1],e[2]):new Ke(e.x,e.y,e.z),this.defaultOriginalView.target=Array.isArray(t)?new Ke(t[0],t[1],t[2]):new Ke(t.x,t.y,t.z),this.defaultOriginalView.up=Array.isArray(i)?new Ke(i[0],i[1],i[2]):new Ke(i.x,i.y,i.z)):Bu.warn("视角非法")},getViewerImpl:function(){return this.viewerImpl},getAllComponents:function(){return this.getViewerImpl().getModelManager().getAllComponents()},getAllComponentsKey:function(){return this.getViewerImpl().getModelManager().getAllComponentsKey()},getComponentsKeyByModelKey:function(e){return this.getViewerImpl().getModelManager().getComponentsKeyByModelKey(e)},getComponentKeysByName:function(e){return this.getViewerImpl().getModelManager().getComponentKeysByName(e)},getComponentKeysByType:function(e){return this.getViewerImpl().getModelManager().getComponentKeysByType(e)},getComponentKeysByProperty:function(e,t){return this.getViewerImpl().getModelManager().getComponentKeysByProperty(e,t)},pickByPoint:function(e){return this.getViewerImpl().pickByPoint(e)},calculateMinDistance:function(e,t){return this.getViewerImpl().calculateMinDistance(e,t)},otherObjectsInScene:function(e){},getComponentsByKey:function(e){Array.isArray(e)||(e=[e]);var t=[],i=this;return e.forEach((function(e){var n=i.getViewerImpl().modelManager.getComponent(e);if(n){var r={};r[e]=n,t.push(r)}})),t},getModelFloorMapsByKey:function(e,t){var i=this.getViewerImpl().getModel(e),n=t&&"function"==typeof t;if(!i){var r={msg:"没有此模型",data:null};return n&&t(r),r}var o=i.getConfig().type;if(o!==Xd.RVT&&o!==Xd.IFC&&o!==Xd.MERGE&&o!==Xd.SCENE){var a={msg:"该模型不支持小地图",data:null};return n&&t(a),a}if(!i.floorManager){var s={msg:"该模型不支持小地图",data:null};return n&&t(s),s}return this.getViewerImpl().getModelFloorMapsByKey(e,t)},showComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().getFilter().showByIds(i),this.render()},showComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().showByIds(e),this.render()},hideComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.filter.hideByIds(i),this.render()},hideComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.filter.hideByIds(e),this.render()},getInvisibleComponentList:function(){return this.getViewerImpl().getFilter().getInvisibleComponentList()},getInactivatedComponentList:function(){return this.getViewerImpl().getFilter().getInactivatedComponentList()},activateComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.filter.activateByIds(e),this.render()},deactivateComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.filter.deactivateByIds(e),this.render()},hideAllComponents:function(){this.getViewerImpl().getFilter().hideAll(),this.render()},showAllComponents:function(){this.getViewerImpl().getFilter().showAll(),this.render()},highlightComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().setSelection(i),this.render()},highlightComponentsByKey:function(e,t){Array.isArray(e)||(e=[e]),this.getViewerImpl().setSelection(e);var i=t;"boolean"!=typeof t&&(i=!0),i&&this.render()},addHighlightComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().addToSelection(e),this.render()},closeHighlightComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().removeFromSelection(i),this.render()},closeHighlightComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().removeFromSelection(e),this.render()},getHighlightComponentsKey:function(){return this.getViewerImpl().getSelection()},clearHighlightList:function(){this.getViewerImpl().clearSelection(),this.render()},getHighlightComponents:function(){var e=this.getHighlightComponentsKey(),t=[],i=this;return e.forEach((function(e){var n=i.getViewerImpl().modelManager.getComponent(e);if(n){var r={};r[e]=n,t.push(r)}})),t},setComponentsOpacityState:function(e,t){Array.isArray(e)||(e=[e]),t===Gd.TRANSLUCENT?this.transparentComponentsByKey(e):t===Gd.OPAQUE&&this.closeTransparentComponentsByKey(e)},transparentComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().getFilter().makeTranslucentByIds(i),this.render()},transparentComponentsByKey:function(e,t){Array.isArray(e)||(e=[e]);var i=this.getViewerImpl().getFilter();if(t){var n=this.getComponentsByKey(e);if(Array.isArray(e)&&n.length!==e.length){n=[];var r,o=vu(e);try{for(o.s();!(r=o.n()).done;){var a=this.getComponentsByKey(r.value);a.length>0&&n.push(a[0])}}catch(e){o.e(e)}finally{o.f()}}i.transparentComponentsByKey(this.getViewerImpl().getModelManager(),n,t)}else i.makeTranslucentByIds(e);this.render()},transparentOtherComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().makeTranslucentOthersByIds(e),this.render()},transparentAllComponents:function(){this.getViewerImpl().getFilter().makeTranslucentOthersByIds([]),this.render()},closeTransparentComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().getFilter().opaqueByIds(i),this.render()},closeTransparentComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().opaqueByIds(e),this.render()},clearTransparentList:function(){this.clearComponentTransparentList(),this.clearModelTransparentList()},getTransparentComponentList:function(){return this.getViewerImpl().getFilter().getTransparentComponentList()},clearComponentTransparentList:function(){var e=this.getViewerImpl().getFilter();e.opaqueAll(),e.opaqueByIds([]),this.render()},colorfulComponentsById:function(e,t,i,n){Array.isArray(e)||(e=[e]);for(var r=[],o=0;e.length>o;o+=1)r[o]=t+"_"+e[o];var a=this.getViewerImpl().getFilter(),s={};s.color=i,"number"==typeof n&&(s.opacity=n),a.addToOverrideListByColor(r,s),this.render()},colorfulComponentsByKey:function(e,t,i){Array.isArray(e)||(e=[e]);var n=this.getViewerImpl().getFilter(),r={};r.color=t,"number"==typeof i&&(r.opacity=i),n.addToOverrideListByColor(e,r),this.render()},setComponentsMaterialByKey:function(e,t,i,n){var r=this.getComponentsByKey(e);if(Array.isArray(t)){var o,a=0,s=vu(t);try{for(s.s();!(o=s.n()).done;){var l=o.value;""===l.name&&(l.name="custMat_"+(new Date).getTime()+"_"+a,a+=1)}}catch(e){s.e(e)}finally{s.f()}}else""===t.name&&(t.name="custMat_"+(new Date).getTime());var c=this.getViewerImpl().getFilter().addToOverrideListByCustomerMaterial(this.getViewerImpl().getModelManager(),r,t,i,n);return this.render(),c},closeMaterialByKey:function(e){var t=this;Array.isArray(e)?e.forEach((function(e){var i=t.getComponentsByKey(e)[0][e][0];if(!i.isBatched&&!i.instanceOrNot&&!i.RenderTypeChange){var n=i.originMId;t.getComponentsByKey(e)[0][e][0].materialId=Array.isArray(n)?[].concat(n):n}t.closeColorfulComponentsByKey(e)})):this.closeColorfulComponentsByKey(e)},closeColorfulComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().getFilter().addToOverrideListByColor(i,null),this.render()},closeColorfulComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().addToOverrideListByColor(e,null),this.render()},clearColorfulList:function(){this.getViewerImpl().getFilter().clearAllOverrideList(),this.render()},wireFrameComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().getFilter().addToWireframeByWireframe(i,{wireframe:!0}),this.render()},wireFrameComponentsByKey:function(e){Array.isArray(e)||(e=[e]);this.getViewerImpl().getFilter().addToWireframeByWireframe(e,{wireframe:!0}),this.render()},closeWireFrameComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().getFilter().addToWireframeByWireframe(i,null),this.render()},closeWireFrameComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().addToWireframeByWireframe(e,null),this.render()},clearWireframeList:function(){this.getViewerImpl().getFilter().clearAllWireframeList(),this.render()},isolateComponentsById:function(e,t,i){Array.isArray(e)||(e=[e]);for(var n=[],r=0;e.length>r;r+=1)n[r]=t+"_"+e[r];this.getViewerImpl().getFilter().setIsolateList(n,!1!==i),this.render()},isolateComponentsByKey:function(e,t){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().setIsolateList(e,!1!==t),this.render()},closeIsolateComponentsById:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.getViewerImpl().getFilter().removeFromIsolateList(i),this.render()},closeIsolateComponentsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().removeFromIsolateList(e),this.render()},clearIsolation:function(){this.getViewerImpl().getFilter().clearIsolation()},showModelsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().showModelByIds(e),this.render()},hideModelsByKey:function(e){Array.isArray(e)||(e=[e]),this.filter.hideModelByIds(e),this.render()},hideAllModels:function(){this.getViewerImpl().getFilter().hideAllModel(),this.render()},showAllModels:function(){this.getViewerImpl().getFilter().showAllModel(),this.render()},highlightModelsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().setModelSelection(e),this.render()},addHighlightModelsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().addToModelSelection(e),this.render()},closeHighlightModelsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().removeFromModelSelection(e),this.render()},getHighlightModelsKey:function(){return this.getViewerImpl().getModelSelection()},clearModelHighlightList:function(){this.getViewerImpl().clearModelSelection(),this.render()},transparentModelsByKey:function(e,t,i){var n=this;Array.isArray(e)||(e=[e]),this.closeTransparentModelsByKey(e);var r=this.getViewerImpl().getFilter();t?e.forEach((function(e){r.transparentModelOrigMatByKey(n.getViewerImpl().getModelManager(),e,i)})):r.makeModelTranslucentByIds(e),this.render()},transparentOtherModelsByKey:function(e,t,i){Array.isArray(e)||(e=[e]);for(var n=[],r=0,o=Object.keys(this.viewerImpl.modelManager.models);o.length>r;r++){var a=o[r];e.includes(a)||n.push(a)}(this.closeTransparentModelsByKey(n),t)?this.transparentModelsByKey(n,t,i):this.getViewerImpl().getFilter().makeTranslucentOthersModelByIds(e);this.render()},transparentAllModels:function(e,t){if(this.clearModelTransparentList(),e){var i=Object.keys(this.viewerImpl.modelManager.models);this.transparentModelsByKey(i,e,t)}else{this.getViewerImpl().getFilter().makeTranslucentOthersModelByIds([])}this.render()},closeTransparentModelsByKey:function(e){var t=this,i=this.getViewerImpl().getFilter();Array.isArray(e)||(e=[e]),e.forEach((function(e){i.closeOrigMatModelTransparent(t.viewerImpl.modelManager,e)})),i.opaqueModelByIds(e),this.render()},clearModelTransparentList:function(){var e=this,t=this.getViewerImpl().getFilter();Object.keys(this.viewerImpl.modelManager.models).forEach((function(i){t.closeOrigMatModelTransparent(e.viewerImpl.modelManager,i)})),t.opaqueAllModel(),t.opaqueModelByIds([]),this.render()},colorfulModelsByKey:function(e,t,i){Array.isArray(e)||(e=[e]);var n=this.getViewerImpl().getFilter(),r={};r.color=t,"number"==typeof i&&(r.opacity=i),n.addToModelOverrideListByColor(e,r),this.render()},closeColorfulModelsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().addToModelOverrideListByColor(e,null),this.render()},clearModelColorfulList:function(){this.getViewerImpl().getFilter().clearModelAllOverrideList(),this.render()},isolateModelsByKey:function(e,t){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().setModelIsolateList(e,!1!==t),this.render()},closeIsolateModelsByKey:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().getFilter().removeModelFromIsolateList(e),this.render()},clearModelIsolation:function(){this.getViewerImpl().getFilter().clearModelIsolation(),this.render()},setModelMatrix:function(e,t){this.getViewerImpl().setModelMatrix(t,e)},getModelMatrix:function(e){return this.getViewerImpl().getModelMatrix(e)},disableComponentsSelectionByKey:function(e){Array.isArray(e)||(e=[e]),this.filter.addToFrozenList(e)},enableComponentsSelectionByKey:function(e){Array.isArray(e)||(e=[e]),this.filter.removeFromFrozenList(e)},clearDisableSelectionList:function(){this.filter.clearFrozen()},overturnYAndZaxis:function(e){this.getViewerImpl().overturnYAndZaxis(e),this.render()},translateModel:function(e){this.getViewerImpl().translateModel(e)},rotateModel:function(e){this.getViewerImpl().rotateModel(e)},scaleModel:function(e){this.getViewerImpl().scaleModel(e)},modelsExplosion:function(e){for(var t={modelKey:[],coefficientX:1,coefficientY:1,coefficientZ:1,center:this.getViewerImpl().getScene().getBoundingBoxWorld().getCenter(new Ke).toArray()},i=wp.extend(!0,{},t,e),n=Array.isArray(i.modelKey)?i.modelKey:[i.modelKey],r=0;n.length>r;r+=1){var o=this.getViewerImpl().getModel(n[r]);o&&o.explosion(i)}this.getViewerImpl().getModelManager().updateSceneBoundingBox(),this.render()},closeModelsExplosion:function(e){var t=Array.isArray(e)?e:[e];this.modelsExplosion({modelKey:t}),this.render()},componentsExplosion:function(e){var t={componentKey:[],coefficientX:1,coefficientY:1,coefficientZ:1,offsetX:0,offsetY:0,offsetZ:0,center:this.getViewerImpl().getScene().getBoundingBoxWorld().getCenter(new Ke).toArray()},i=wp.extend(!0,{},t,e),n=this.getViewerImpl().getModelManager();n.componentsExplosion(i),n.updateSceneBoundingBox(),this.render()},closeComponentsExplosion:function(e){var t=Array.isArray(e)?e:[e];this.getViewerImpl().getModelManager().componentsExplosion({componentKey:t}),this.render()},canFloorExplosion:function(){return this.getViewerImpl().getModelManager().canFloorExplosion()},floorExplosion:function(e){return!!this.getViewerImpl().getModelManager().floorExplosion(e)&&(this.render(),!0)},closeFloorExplosion:function(){var e=this.getViewerImpl().getModelManager();e.closeFloorExplosion(),e.updateSceneBoundingBox(),this.render()},componentApplyMatrix:function(e,t){return!(!t||!t.isMatrix4)&&(this.getViewerImpl().componentApplyMatrix2(e,t),this.render(),!0)},getMatrix4FromEuler:function(e,t,i){var n=0,r=0,o=0;Array.isArray(e)?(n=e[0],r=e[1],o=e[2]):(n=e.x,r=e.y,o=e.z);var a=t||[0,0,0],s=0,l=0,c=0;Array.isArray(a)?(s=a[0],l=a[1],c=a[2]):(s=a.x,l=a.y,c=a.z);var h=new yt;h.setPosition(-s,-l,-c);var d=new yt,u=new bt(n,r,o,i||"XYZ");d.makeRotationFromEuler(u);var p=new yt;return p.setPosition(s,l,c),p.multiply(d).multiply(h),p},isolateComponentsByIdForJDS:function(e,t){Array.isArray(e)||(e=[e]);for(var i=[],n=0;e.length>n;n+=1)i[n]=t+"_"+e[n];this.filter.addToIsolateList(Pd.HIDDEN_OTHERS,i);for(var r=this.getViewerImpl().modelManager.getScene().pool._pool,o=0;r.length>o;o+=1){r[o].visible=!1;for(var a=0;i.length>a;a+=1)r[o].key===i[a]&&(r[o].visible=!0)}return this.render(),!0},sortComponentsById:function(e,t,i){Array.isArray(e)||(e=[e]);for(var n=this.getViewerImpl().getModel(t),r=[],o=0;e.length>o;o+=1)r[o]=t+"_"+e[o];return n?n.getComponentKeysByTypeFromList(r,i):[]},sortComponentsByKey:function(e,t){return Array.isArray(e)||(e=[e]),this.getViewerImpl().modelManager.getComponentKeysByTypeFromList(e,t)},conditionSortComponentsById:function(e,t,i,n,r){var o=this.filter.setConditions(e,t);Array.isArray(i)||(i=[i]);for(var a=[],s=0;i.length>s;s+=1)a[s]=n+"_"+i[s];var l=this.getComponentsByKey(a),c=[];if(null!==o)switch(e){case 0:for(var h=0;l.length>h;h+=1)o.match(l[h])&&c.push(l[h].key);this.isolateComponentsByKey(c);break;case 1:for(var d=0;l.length>d;d+=1)o.match(l[d])&&c.push(l[d].key);var u=this.otherObjectsInScene(c);this.transparentComponentsByKey(u,.5,!1);break;case 2:for(var p=0;l.length>p;p+=1)null!==o.getMatchItem(l[p])&&c.push(l[p].key);!0===r.highLight?this.highlightComponentsByKey(c):this.colorfulComponentsByKey(c,r.color)}return c},conditionSortComponentsByKey:function(e,t,i,n){var r=this.filter.setConditions(e,t);Array.isArray(i)||(i=[i]);var o=this.getComponentsByKey(i),a=[];if(null!==r)switch(e){case 0:for(var s=0;o.length>s;s+=1)r.match(o[s])&&a.push(o[s].key);this.isolateComponentsByKey(a);break;case 1:for(var l=0;o.length>l;l+=1)r.match(o[l])&&a.push(o[l].key);var c=this.otherObjectsInScene(a);this.transparentComponentsByKey(c,.5,!1);break;case 2:for(var h=0;o.length>h;h+=1)null!==r.getMatchItem(o[h])&&a.push(o[h].key);!0===n.highLight?this.highlightComponentsByKey(a):this.colorfulComponentsByKey(a,n.color)}return a},resetScene:function(e){var t=this;if(e=e||{},this.getViewerImpl().getModelManager().dispatchEvent({type:Fd.BEFORE_RESETSCENE,data:e}),wp.isEmptyObject(e))if(this.clearIsolation(),this.clearModelIsolation(),this.clearHighlightList(),this.clearModelHighlightList(),this.showAllComponents(),this.showAllModels(),this.clearWireframeList(),this.clearTransparentList(),this.clearModelTransparentList(),this.clearColorfulList(),this.clearModelColorfulList(),this.originalView)t.viewerImpl.lookAt(this.originalView.position,this.originalView.target,this.originalView.up);else if(this.defaultOriginalView)t.viewerImpl.lookAt(this.defaultOriginalView.position,this.defaultOriginalView.target,this.defaultOriginalView.up);else{var i=t.viewerImpl.modelManager.scene.getBoundingBox(),n=i.getCenter(new Ke),r=i.getSize(new Ke),o=new Ke(n.x+r.x,n.y+r.y,n.z+r.z);t.viewerImpl.lookAt(o,n,new Ke(0,0,1))}else if(e.visible&&(this.clearIsolation(),this.clearModelIsolation(),this.showAllComponents(),this.showAllModels()),e.selected&&(this.clearHighlightList(),this.clearModelHighlightList()),e.transparent&&(this.clearTransparentList(),this.clearModelTransparentList()),e.wireframed&&this.clearWireframeList(),e.colorfully&&(this.clearColorfulList(),this.clearModelColorfulList()),e.view)if(this.originalView)t.viewerImpl.lookAt(this.originalView.position,this.originalView.target,this.originalView.up);else if(this.defaultOriginalView)t.viewerImpl.lookAt(this.defaultOriginalView.position,this.defaultOriginalView.target,this.defaultOriginalView.up);else{var a=t.viewerImpl.modelManager.scene.getBoundingBox(),s=a.getCenter(new Ke),l=a.getSize(new Ke),c=new Ke(s.x+l.x,s.y+l.y,s.z+l.z);t.viewerImpl.lookAt(c,s,new Ke(0,0,1))}this.getViewerImpl().getModelManager().dispatchEvent({type:Fd.AFTER_RESETSCENE,data:e}),this.render()},getScreenCoordFromSceneCoord:function(e){return this.getViewerImpl().getScreenCoordFromSceneCoord(e)},getWorldPositionFromLocalPositionByModelKey:function(e,t){var i=this.getModelMatrix(t);if(i){if(e.isVector3){var n=e.clone();return n.applyMatrix4(i),n.toArray()}if(Array.isArray(e)){var r=(new Ke).fromArray(e);return r.applyMatrix4(i),r.toArray()}}else Bu.error("模型key无效")},getLocalPositionFromWorldPositionByModelKey:function(e,t){var i=this.getModelMatrix(t);if(i){var n=(new yt).copy(i).invert();if(e.isVector3){var r=e.clone();return r.applyMatrix4(n),r.toArray()}if(Array.isArray(e)){var o=(new Ke).fromArray(e);return o.applyMatrix4(n),o.toArray()}}else Bu.error("模型key无效")},getWorldPositionListFromLocalPositionListByModelKey:function(e,t){var i=this.getModelMatrix(t);if(i){for(var n=[],r=0,o=e.length;o>r;r+=1){var a=e[r];if(a.isVector3){var s=a.clone();s.applyMatrix4(i),n.push(s.toArray())}else if(Array.isArray(a)){var l=(new Ke).fromArray(a);l.applyMatrix4(i),n.push(l.toArray())}}return n}Bu.error("模型key无效")},getLocalPositionListFromWorldPositionListByModelKey:function(e,t){var i=this.getModelMatrix(t);if(i){for(var n=(new yt).copy(i).invert(),r=[],o=0,a=e.length;a>o;o+=1){var s=e[o];if(s.isVector3){var l=s.clone();l.applyMatrix4(n),r.push(l.toArray())}else if(Array.isArray(s)){var c=(new Ke).fromArray(s);c.applyMatrix4(n),r.push(c.toArray())}}return r}Bu.error("模型key无效")},getWorldPositionArrayFromLocalPositionArrayByModelKey:function(e,t){var i=this.getModelMatrix(t);if(i){for(var n=[],r=0,o=e.length;o>r;r+=3){var a=(new Ke).fromArray(e,r);a.applyMatrix4(i),n.push.apply(n,mu(a.toArray()))}return n}Bu.error("模型key无效")},getLocalPositionArrayFromWorldPositionArrayByModelKey:function(e,t){var i=this.getModelMatrix(t);if(i){for(var n=(new yt).copy(i).invert(),r=[],o=0,a=e.length;a>o;o+=3){var s=(new Ke).fromArray(e,o);s.applyMatrix4(n),r.push.apply(r,mu(s.toArray()))}return r}Bu.error("模型key无效")},render:function(){this.getViewerImpl().render()},syncRender:function(){this.getViewerImpl()._render()},resize:function(e,t){this.getViewerImpl().resize(e,t)},autoResize:function(){this.getViewerImpl().resize(window.innerWidth-5,window.innerHeight-5)},setSceneBackGroundColor:function(e,t){this.getViewerImpl().setBackgroundColor(new Du(e,t))},resetSceneBackgroundColor:function(){this.getViewerImpl().resetBackgroundColor()},getComponentsAttributeById:function(e,t,i){this.getComponentsAttributeByKey(t+"_"+e,i)},getComponentsAttributeByKey:function(e,t,i){var n=this.getViewerImpl().getModelByComponentKey(e)||this.getViewerImpl().getModel(i);if(n){if(n.offLine){if(n.attributes&&n.attributes[e])return void t({attribute:n.attributes[e]});t(null)}Yy({type:"GET",url:(n.loader.url.serverUrl||this.host)+"/api/"+n.projectKey+"/components?componentKey="+e+(""===n.shareKey?"":"&share="+n.shareKey),headers:{Authorization:n.accessToken},success:function(e){try{e=JSON.parse(e)}catch(e){Bu.log("解析属性失败")}t("SUCCESS"===e.code?e.data:null)},error:function(e){t(null)}})}else t(null)},mergeMesh:function(e,t){var i=this.getViewerImpl().modelManager.getModel(t);if(!i)return null;var n=new cm("mergeGroup");n.modelKey=t;for(var r=new Ni,o=[],a=[],s=[],l=[],c=[],h=[],d=i.cache,u=[],p=[],g=null,f=0,m=0;e.length>m;m+=1)if(i.cache.components.hasOwnProperty(e)){f+=1;var A={},y=a.length,v=o.length/3;A.start=y;var C=c.length,I=i.cache.components[e],x=d.geometries[I.geoId];if(!x)continue;var w=x.clone(),M=new yt;M.fromArray(I.matrix);var E=w.attributes;w.applyMatrix(M);for(var B=0;E.position.array.length>B;B+=1)o.push(E.position.array[B]);for(var S=0;E.normal.array.length>S;S+=1)l.push(E.normal.array[S]);if(E.uv)for(var b=0;E.uv.array.length>b;b+=1)s.push(E.uv.array[b]);for(var k=0;w.index.array.length>k;k+=1)a.push(w.index.array[k]+v);if(w.groups.length>0)for(var D=0;w.groups.length>D;D+=1){var T={};T.start=w.groups[D].start+y,T.count=w.groups[D].count,-1!==w.groups[D].materialIndex&&(T.materialIndex=w.groups[D].materialIndex+C),h.push(T)}else{var R={};R.start=y,R.count=w.index.count,R.materialIndex=C,h.push(R)}var U=d.materials[I.matId];if(!U)continue;for(k=0;U.materials.length>k;k+=1)c.push(U.materials[k]);if(A.end=a.length/3,A.guid=I.guid,f>xd.MaxMergeCount){if(f=0,r.setAttribute("position",new Ai(new Float32Array(o),3)),r.setAttribute("normal",new Ai(new Float32Array(l),3)),r.setAttribute("uv",new Ai(new Float32Array(s),2)),u=[],Array.fill)u=Array(o.length).fill(1);else for(var F=0;o.length>F;F+=1)u.push(1);p=new Float32Array(u),r.setAttribute("color",new Ai(p,3,!0)),r.setIndex(a),r.groups=h,g=new nn(r,c),n.add(g),r=new Ni,o=[],a=[],s=[],l=[],c=[],h=[]}}if(r.setAttribute("position",new Ai(new Float32Array(o),3)),r.setAttribute("normal",new Ai(new Float32Array(l),3)),r.setAttribute("uv",new Ai(new Float32Array(s),2)),u=[],Array.fill)u=Array(o.length).fill(1);else for(F=0;o.length>F;F+=1)u.push(1);return p=new Float32Array(u),r.setAttribute("color",new Ai(p,3,!0)),r.setIndex(a),r.groups=h,g=new nn(r,c),n.add(g),u=null,o=null,a=null,s=null,l=null,c=null,h=null,n},setComponentPositionByKey:function(e,t){this.getViewerImpl().setComponentPositionByKey(e,t),this.render()},setComponentPositionById:function(e,t,i){},getBoxByComponentsKey:function(e){return Array.isArray(e)||(e=[e]),this.getViewerImpl().getBoundingBoxByIds(e)},getAttributeByComponentKey:function(){},zoomToBox:function(e,t,i){this.getViewerImpl().zoomToBox(e,t,i)},zoomIn:function(e,t,i){this.getViewerImpl().zoomIn(e,t,i)},zoomOut:function(e,t,i){this.getViewerImpl().zoomOut(e,t,i)},flyToStandardView:function(e,t,i,n){this.getViewerImpl().setStandardView(e,t,i,n)},setStandardViewWithBox:function(e,t,i,n){this.getViewerImpl().setStandardViewWithBox(e,t,i,n)},adaptiveSize:function(){this.getViewerImpl().zoomToSelection()},adaptiveSizeByKey:function(e){Array.isArray(e)||(e=[e]);var t=this.getViewerImpl().getBoundingBoxByIds(e);t&&!t.isEmpty()&&this.getViewerImpl().zoomToBox(t)},flyTo:function(e,t){var i=this;this.getViewerImpl().animator.slerpFlyTo(e,this.viewerImpl,(function(e){i.viewerImpl.cameraControl.update(!0,!0)}),t)},linearFlyTo:function(e,t){var i=this;this.getViewerImpl().animator.linearFlyTo(e,this.viewerImpl,(function(e){i.viewerImpl.cameraControl.update(!0,!0)}),t)},slerpFlyTo:function(e,t){var i=this;this.getViewerImpl().animator.slerpFlyTo(e,this.viewerImpl,(function(e){i.viewerImpl.cameraControl.update(!0,!0)}),t)},setAnimatorDuration:function(e){var t=this.getViewerImpl().animator;return!(!t||"number"!=typeof e)&&(t.setDuration(e),!0)},getAnimatorDuration:function(){var e=this.getViewerImpl().animator;if(e)return e.getDuration()},enableViewController:function(){var e=this;return this.viewController?(this.viewController.enable(),!0):(this.viewController=new Rk(this.viewerImpl,(function(){return!0})),this.viewController.init(this.getViewerImpl().getDomElement()),this.viewController.render(),this.getViewerImpl().addRenderFinishedListener((function(){e.viewController.render()})),!0)},disableViewController:function(){return!!this.viewController&&(this.viewController.disable(),!0)},enabledCameraRotateOfVerticalPolarAngle:function(e){this.getViewerImpl().cameraControl.enabledPolar(e),Bu.warn("请改用 lockAxisZ 方法")},lockAxisZ:function(e,t){this.getViewerImpl().lockAxisZ(e,t)},setMinPolarAngle:function(e){this.getViewerImpl().cameraControl.setMinPolarAngle(e),Bu.warn("请改用 lockAxisZ 方法")},setMaxPolarAngle:function(e){this.getViewerImpl().cameraControl.setMaxPolarAngle(e),Bu.warn("请改用 lockAxisZ 方法")},getMinPolarAngle:function(){return this.getViewerImpl().cameraControl.getMinPolarAngle()},getMaxPolarAngle:function(){return this.getViewerImpl().cameraControl.getMaxPolarAngle()},enableRotate:function(e){return Kp.NoRotate=!e,!Kp.NoRotate},enablePan:function(e){return Kp.NoPan=!e,!Kp.NoPan},enableZoom:function(e){return Kp.NoZoom=!e,!Kp.NoZoom},setPointRotateMode:function(e){return this.getViewerImpl().setPointRotateMode(e),Kp.RotatePivotMode},rotateCamera:function(e,t){var i=new ke,n=new Ke;Array.isArray(e)?i.set(e[0],e[1]):i.set(e.x,e.y),t?Array.isArray(t)?n.fromArray(t):n.set(t.x,t.y,t.z):n=this.getViewerImpl().getScene().getBoundingBoxWorld().getCenter(n),this.getViewerImpl().rotateCamera(i,n)},requestPointerLock:function(){this.getViewerImpl().getControlManager().requestPointerLock()},initAdsorbControl:function(){this.controlManager.enableTool(this.viewerImpl,Yd.COMPONENT_TRANSFORM);var e=this.controlManager.componentTransformTool;e.transformControl.enabled=!1,this.adsorbControl.setTransformControl(e)},enableAdsorbControl:function(){var e=0>=arguments.length||void 0===arguments[0]||arguments[0];this.adsorbControl.enabled=e},getAdsorbControlEnableState:function(){return this.adsorbControl.enabled},translateComponentByKey:function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.getViewerImpl().translateComponentByKey(e,t,i),this.viewerImpl._setAdsorbSelectedObject(e,n.isAdsorb)},scaleComponentByKey:function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.getViewerImpl().scaleComponentByKey(e,t,i),this.viewerImpl._setAdsorbSelectedObject(e,n.isAdsorb)},rotateComponentByKey:function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.getViewerImpl().rotateComponentByKey(e,t,i),this.viewerImpl._setAdsorbSelectedObject(e,n.isAdsorb);var r=this.controlManager.getToolByName(Yd.COMPONENT_TRANSFORM);r.transformControl.rotateSpace=Wg(n.rotateSpace,zg.WORLD)},cancelTransformComponent:function(e){this.getViewerImpl().cancelTransformComponent(e)},restoreComponentTransform:function(){this.getViewerImpl().restoreComponentTransform()},getComponentLocalMatrixByKey:function(e){return this.getViewerImpl().getComponentLocalMatrixByKey(e)},getComponentWorldMatrixByKey:function(e){return this.getViewerImpl().getComponentWorldMatrixByKey(e)},setComponentLocalMatrixByKey:function(e,t){return this.getViewerImpl().setComponentLocalMatrixByKey(e,t)},resetComponentMatrix:function(e,t){return this.getViewerImpl().resetComponentMatrix(e,t)},increaseComponentTransformControlSize:function(){this.getViewerImpl().increaseComponentTransformControlSize()},decreaseComponentTransformControlSize:function(){this.getViewerImpl().decreaseComponentTransformControlSize()},setComponentTransformControlSize:function(e){this.getViewerImpl().setComponentTransformControlSize(e)},getComponentTransformControlSize:function(){return this.getViewerImpl().getComponentTransformControlSize()},setComponentTransformSpaceToLocalSpace:function(){this.getViewerImpl().setComponentTransformSpaceToLocalSpace()},setComponentTransformSpaceToWorldSpace:function(){this.getViewerImpl().setComponentTransformSpaceToWorldSpace()},switchComponentTransformSpaceBetweenLocalAndWorld:function(){this.getViewerImpl().switchComponentTransformSpaceBetweenLocalAndWorld()},showComponentTransformOnAxis:function(e){this.getViewerImpl().showComponentTransformOnAxis(e)},hideComponentTransformOnAxis:function(e){this.getViewerImpl().hideComponentTransformOnAxis(e)},disableComponentTransform:function(){this.getViewerImpl().disableComponentTransform()},enableComponentTransform:function(){this.getViewerImpl().enableComponentTransform()},enableSectionBox:function(){var e=this,t=this.getViewerImpl();t.controlManager.enableTool(t,Yd.CLIP_BY_BOX),e._sectionTool=new vk(t),e._sectionTool.toggle(!0,!0),e._sectionTool.setVisible(!0),e._sectionTool.reset(),e._isSection=!0,this.render()},disableSectionBox:function(){this.getViewerImpl().controlManager.disableTool(Yd.CLIP_BY_BOX),this._isSection=!1,this.render()},resetSectionBox:function(){this._isSection?(this.showSectionBox(),this.setSectionBoxMode(),this._sectionTool.reset("Rotate")):Bu.log(rg[xd.language].SectionBoxLockHint)},setSectionBoxMode:function(e){this._isSection?this._sectionTool.setRotatable("Rotate"===e):Bu.log(rg[xd.language].SectionBoxLockHint)},showSectionBox:function(){this._isSection?(this._sectionTool.setVisible(!0),this.render()):Bu.log(rg[xd.language].SectionBoxLockHint)},hideSectionBox:function(){this._isSection?(this._sectionTool.setVisible(!1),this.render()):Bu.log(rg[xd.language].SectionBoxLockHint)},setSectionBox:function(e){var t=this.getViewerImpl(),i=t.getScene().getClipPlanes(),n=t.worldToDrawing(e.min),r=t.worldToDrawing(e.max);this.enableSectionBox(),i.setSectionBox(n,r),this.hideSectionBox()},getSectionBoxState:function(){if(this._isSection)return this._sectionTool.saveState();Bu.log(rg[xd.language].SectionBoxLockHint)},setSectionBoxState:function(e){this._isSection?(this._sectionTool.loadState(e),this.render()):Bu.log(rg[xd.language].SectionBoxLockHint)},getSceneState:function(){return this.getViewerImpl().getSceneState()},setSceneState:function(e){this.getViewerImpl().setSceneState(e)},getScreenShot:function(e){var t,i,n,r;return e.color&&e.color instanceof Du&&(t=e.color.getRGBA()),e.width>0&&e.height>0&&(n=e.width,r=e.height),"function"==typeof e.callback&&(i=e.callback),this.getViewerImpl().canvas2image(t,n,r,i)},registerModelEventListener:function(e,t){this.getViewerImpl().registerEventListener(e,t)},unregisterModelEventListener:function(e,t){this.getViewerImpl().unregisterEventListener(e,t)},registerControlEventListener:function(e,t){this.getViewerImpl().registerDomEventListener(e,t)},unregisterControlEventListener:function(e,t){this.getViewerImpl().unregisterDomEventListener(e,t)},registerCameraEventListener:function(e,t){this.getViewerImpl().registerCameraEventListener(e,t)},unregisterCameraEventListener:function(e,t){this.getViewerImpl().unregisterCameraEventListener(e,t)},enableLogarithmicDepthBuffer:function(e){this.getViewerImpl().enableLogarithmicDepthBuffer(e)},setSkyBox:function(e,t,i,n){var r=this.getRootScene();r&&(e?r.setSkyBox(void 0,e,t,i,n):r.background=null)},setDrawingStyle:function(e){this.getViewerImpl().setDrawingStyle(e),this.render()},setExposure:function(e){this.getViewerImpl().setExposureShift(e),this.render()},getBoardlineColor:function(e){var t=this.getViewerImpl().getWireframeColor(e);return new Du(t,t.opacity)},setBoardlineColor:function(e,t){var i=null;i=e instanceof Du?e:new Du(e),this.getViewerImpl().setWireframeColor(i,t)},restoreBoardlineColor:function(e){this.getViewerImpl().restoreWireframeColor(e)},getSelectionBoardlineColor:function(){return this.getViewerImpl().getOutlineEdgeColor()||new Du},setSelectionBoardlineColor:function(e){var t=null;t=e instanceof Du?e:new Du(e),this.getViewerImpl().setOutlineEdgeColor(t)},restoreSelectionBoardlineColor:function(){this.getViewerImpl().restoreOutlineEdgeColor()},getSelectionColor:function(){return this.getViewerImpl().getSelectionColor()},setSelectionColor:function(e){var t=null;t=e instanceof Du?e:new Du(e),this.getViewerImpl().setSelectionColor(t)},restoreSelectionColor:function(){this.getViewerImpl().restoreSelectionColor()},setAxisNetColor:function(e,t){this.viewerImpl.setAxisNetColor(e,t)},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()},getMinDistanceByComponentKey:function(e,t){return this.getViewerImpl().calculateMinDistance(e,t)},updateSceneBoundingBox:function(){this.getExternalComponentManager().calculateBoundingBox(),this.getViewerImpl().modelManager.updateSceneBoundingBox()},getCurrentControlName:function(){return this.getViewerImpl().getCurrentControlName()},setControlMode:function(e){this.getViewerImpl().setControlMode(e),this.render()},setControlDefault:function(){this.setControlMode(Vd.PICK)},setZoomSpeed:function(e){this.getViewerImpl().cameraControl.setZoomSpeed(e)},getZoomSpeed:function(){return this.getViewerImpl().cameraControl.getZoomSpeed()},setZoomOutLimitRate:function(e){this.getViewerImpl().cameraControl.setZoomOutLimitRate(e)},getZoomOutLimitRate:function(){return this.getViewerImpl().cameraControl.getZoomOutLimitRate()},setLightIntensityFactor:function(e){this.getViewerImpl().setLightIntensityFactor(e)},enableShadow:function(e){this.getViewerImpl().enableShadow(e)},updateShadowLight:function(){this.getViewerImpl().updateShadowLight()},setShadowLightDir:function(e){var t;e?(t=Array.isArray(e)?(new Ke).fromArray(e):e.isVector3?e:new Ke(e.x,e.y,e.z),this.getViewerImpl().getScene().lightManager.shadowLightDir=t):Bu.error("无效参数")},getShadowLightDir:function(){return this.getViewerImpl().getScene().lightManager.shadowLightDir.clone()},getLightDirFromAltitudeAndAzimuth:function(e,t){if(void 0!==e&&void 0!==t)return this.getViewerImpl().getScene().lightManager.getLightDirFromAltitudeAndAzimuth(e,t);Bu.error("参数不合法")},getExternalComponentManager:function(){return this.getViewerImpl().getExternalComponentManager()},addExternalObject:function(e,t,i,n){this.getViewerImpl().addExternalObject(e,t,i,n)},addExternalObjects:function(e,t,i){return this.getViewerImpl().addExternalObjects(e,t,i)},removeExternalObjectByName:function(e){this.getViewerImpl().removeExternalObjectByName(e)},clearExternalObjects:function(){this.getViewerImpl().clearExternalObjects()},getExternalObjectByName:function(e){return this.getViewerImpl().getExternalObjectByName(e)},getAllExternalObjects:function(){return this.getViewerImpl().getAllExternalObjects()},showFPS:function(){this.fpsStats=new yk;var e=this;this.viewportDiv.appendChild(this.fpsStats.dom),this.fpsStats.listener=function(){e.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(e,t){var i=this.getViewerImpl().cloneComponent(e);return"translate"===t?this.translateComponentByKey(i.key):"scale"===t?this.scaleComponentByKey(i.key):"rotate"===t&&this.rotateComponentByKey(i.key),null!==i?{mesh:i,key:i.key}:null},getTimerManager:function(){return this.getViewerImpl().getTimerManager()},setCloneComponentMaterialsByKey:function(e,t,i){return this.getViewerImpl().getExternalComponentManager().setCloneComponentMaterialsByKey(e,t,i)},createSmoothCurve:function(e){return this.getViewerImpl().catmullRomCurve(e)},setBlinkByComponentKeys:function(e,t,i,n){Array.isArray(e)||(e=[e]),this.getViewerImpl().setComponentBlinkByComponentKeys(e,t,i,n)},closeBlinkByComponentKeys:function(e){Array.isArray(e)||(e=[e]),this.getViewerImpl().closeComponentBlinkByComponentKeys(e)},clearBlinkList:function(){this.getViewerImpl().clearBlinkList()},setShadowAttributes:function(e){if(e.position){var t=e.position;e.position=new Ke(t.x,t.y,t.z)}if(e.target){var i=e.target;e.target=new Ke(i.x,i.y,i.z)}this.getRootScene().lightManager.setShadowAttributes(e),this.getViewerImpl().getRenderer().shadowMap.needsUpdate=!0,this.getViewerImpl()._render(),this.getViewerImpl().rendererManager.renderer.setClearColor(0,0),this.getViewerImpl()._render()},resetShadowAttributes:function(){this.getRootScene().lightManager.resetShadowAttributes(),this.getViewerImpl().getRenderer().shadowMap.needsUpdate=!0,this.getViewerImpl()._render(),this.getViewerImpl().rendererManager.renderer.setClearColor(0,0),this.getViewerImpl()._render()},addToRootScene:function(e){e.isProjectorLight?this.rootScene.projectorLightCollection.addObject(e):this.rootScene.addObject(e)},removeFromRootScene:function(e){e.isProjectorLight?this.rootScene.projectorLightCollection.removeObject(e):this.rootScene.removeObject(e)},destroy:function(){this.getViewerImpl().destroy(),this.viewController&&(this.viewController.destroy(),this.viewController=null)},getCanvasSize:function(){return this.getViewerImpl().rendererManager.getRendererSize()}}),Object.defineProperties(Uk.prototype,{externalScene:{get:function(){return this.viewerImpl.scene.getExternalScene()}},adsorbControl:{get:function(){return this.rootScene.adsorbControl}},controlManager:{get:function(){return this.viewerImpl.controlManager}},rootScene:{get:function(){return this.viewerImpl.scene}},scene:{get:function(){return this.viewerImpl.scene}},rootSceneCamera:{get:function(){return this.viewerImpl.sceneCamera}}});var Fk=function(e){lu(i,e);var t=pu(i);function i(e){var n;ru(this,i);var r=du(n=t.call(this,e));return r.vertexShader=r.getVertexShader(),r.fragmentShader=r.getFragmentShader(),n}return i}(cn);SA(Fk,[{key:"getVertexShader",value:function(){return"\n attribute float size;\n attribute float alpha;\n attribute vec3 color;\n varying vec3 vColor;\n varying float vAlpha;\n #include <common>\n #include <logdepthbuf_pars_vertex>\n void main() {\n vAlpha= alpha;\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_PointSize = size * ( 2400.0 / -mvPosition.z );\n gl_Position = projectionMatrix * mvPosition;\n #include <logdepthbuf_vertex>\n }"}},{key:"getFragmentShader",value:function(){return"mat2 rotate(float rad) {\n float c = cos(rad);\n float s = sin(rad);\n return mat2(c, s,-s, c);\n }\n uniform sampler2D pointTexture;\n uniform float repeatX;\n uniform float repeatY;\n varying vec3 vColor;\n varying float vAlpha;\n #include <logdepthbuf_pars_fragment>\n void main() {\n #include <logdepthbuf_fragment>\n vec2 pos = gl_PointCoord;\n float offsetX =(1.0-repeatX)/2.0;\n float offsetY =(1.0-repeatY)/2.0;\n if(pos.x-offsetX>repeatX || pos.x-offsetX<0.0 || pos.y-offsetY>repeatY || pos.y-offsetY<0.0) discard;\n vec4 img = texture2D(pointTexture, vec2((pos.x-offsetX)/repeatX, (pos.y-offsetY)/repeatY));\n vec4 color = vec4( vColor, vAlpha );\n gl_FragColor = vec4(color.xyz, color.w * img.w);\n }"}}]);var Qk=function(e){var t=this;t.size=e.size,t.alpha=e.alpha,t.visible=0,t.birth=e.birth,t.age=e.age,t.minimumParticleLife=e.minimumParticleLife,t.maximumParticleLife=e.maximumParticleLife,t.minimumSpeed=e.minimumSpeed,t.maximumSpeed=e.maximumSpeed,t.scaleAry=e.scaleAry,t.colorAry=e.colorAry,t.emitPosition=e.emitPosition,t.radius=e.radius,t.initSize=e.initSize,t.updateCallback=e.updateCallback,t.camera=e.camera,t.life=0,t.initVelocity=e.initVelocity,t.normalizedAge=0,t.originPitch=e.originPitch,t.birthplace={x:0,y:0,z:0},t.velocity={x:0,y:0,z:0},t.position={x:0,y:0,z:0},t.randomXY=e.randomXY,t.applyGravity=e.applyGravity,t.randomFrameNumber=e.randomFrameNumber,t.color=new pi};SA(Qk,[{key:"updateStatus",value:function(e){var t=this;if(null!==t.birth&&e!==t.birth)if(t.age=e-t.birth,t.age>t.life)t.visible=0;else{t.visible=1,t.randomFrameNumber&&(t.age+=50*(2*Math.random()-1),0>t.age&&(t.age=0),t.age>t.life&&(t.age=t.life)),t.normalizedAge=t.age/t.life;for(var i=0;t.scaleAry.length>i;i+=1)if(t.scaleAry[i].endAge>=t.normalizedAge){t.size=t.initSize*Yp.tweens(t.scaleAry[i].startScale,t.scaleAry[i].endScale,t.normalizedAge-t.scaleAry[i].startAge,t.scaleAry[i].endAge-t.scaleAry[i].startAge);break}for(i=0;t.colorAry.length>i;i+=1)if(t.colorAry[i].endAge>=t.normalizedAge){var n=t.normalizedAge-t.colorAry[i].startAge,r=t.colorAry[i].endAge-t.colorAry[i].startAge;t.color.setRGB(Yp.tweens(t.colorAry[i].startColor.x,t.colorAry[i].endColor.x,n,r),Yp.tweens(t.colorAry[i].startColor.y,t.colorAry[i].endColor.y,n,r),Yp.tweens(t.colorAry[i].startColor.z,t.colorAry[i].endColor.z,n,r)),t.alpha=Yp.tweens(t.colorAry[i].startColor.w,t.colorAry[i].endColor.w,n,r);break}t.position={x:t.birthplace.x+t.velocity.x*t.normalizedAge,y:t.birthplace.y+t.velocity.y*t.normalizedAge,z:t.birthplace.z+t.velocity.z*t.normalizedAge},wp.defined(t.applyGravity)&&(t.position.z=t.position.z-t.applyGravity*Math.pow(t.age/1e3,2)*1e3),wp.defined(t.updateCallback)&&t.updateCallback(t)}}},{key:"init",value:function(e){var t=this;t.birth=e,t.age=0,t.life=1e3*t.minimumParticleLife+Math.random()*(t.maximumParticleLife-t.minimumParticleLife)*1e3;var i=t.minimumSpeed+Math.random()*(t.maximumSpeed-t.minimumSpeed);t.normalizedAge=0,t.visible=1,wp.defined(t.scaleAry)&&(t.size=t.initSize*t.scaleAry[0].startScale),wp.defined(t.colorAry)&&(t.color.setRGB(t.colorAry[0].startColor.x,t.colorAry[0].startColor.y,t.colorAry[0].startColor.z),t.alpha=t.colorAry[0].startColor.w),t.velocity={x:t.initVelocity.x*i*t.life,y:t.initVelocity.y*i*t.life,z:t.initVelocity.z*i*t.life},wp.defined(t.randomXY)&&(t.velocity.x=t.velocity.x+i*t.life*t.randomXY*(2*Math.random()-1),t.velocity.y=t.velocity.y+i*t.life*t.randomXY*(2*Math.random()-1)),t.birthplace={x:t.emitPosition.x+(2*Math.random()-1)*t.radius,y:t.emitPosition.y+(2*Math.random()-1)*t.radius,z:t.emitPosition.z},t.position={x:t.birthplace.x,y:t.birthplace.y,z:t.birthplace.z}}},{key:"destroy",value:function(){var e=this;e.velocity=null,e.position=null,e.birthplace=null,e.emitPosition=null,e.color=null}}]);var Lk=function(e,t){var i=this;i.FPS=20,i.FPS_MS=1e3/i.FPS,i.particleSystem=e,i.particleList=[],i.initialOpts(t)};SA(Lk,[{key:"initialOpts",value:function(e){var t=this;t.setOpts(e);for(var i=0;t.count>i;i+=1)t.createParticle()}},{key:"createParticle",value:function(){var e=this,t=new Qk({initSize:e.size,initVelocity:e.initVelocity,emitPosition:e.emitPosition,scaleAry:e.scale,colorAry:e.color,minimumSpeed:e.minimumSpeed,maximumSpeed:e.maximumSpeed,minimumParticleLife:e.minimumParticleLife,maximumParticleLife:e.maximumParticleLife,originPitch:e.originPitch,radius:e.radius,updateCallback:e.updateCallback,applyGravity:e.applyGravity,randomFrameNumber:e.randomFrameNumber,randomXY:e.randomXY,camera:e.camera});e.particleList.push(t)}},{key:"setOpts",value:function(e){var t=this;wp.defined(e.emissionRate)&&(t.emissionRate=e.emissionRate),wp.defined(e.minimumParticleLife)&&(t.minimumParticleLife=e.minimumParticleLife),wp.defined(e.maximumParticleLife)&&(t.maximumParticleLife=e.maximumParticleLife),wp.defined(e.originYaw)&&(t.originYaw=e.originYaw),wp.defined(e.originPitch)&&(t.originPitch=e.originPitch),wp.defined(e.originYaw)&&(t.initVelocity={z:Math.cos(t.originPitch),x:Math.sin(t.originPitch)*Math.cos(t.originYaw),y:Math.sin(t.originPitch)*Math.sin(t.originYaw)}),wp.defined(e.size)&&(t.size=e.size),wp.defined(e.emitPosition)&&(t.emitPosition=e.emitPosition),wp.defined(e.scale)&&(t.scale=e.scale),wp.defined(e.color)&&(t.color=e.color),wp.defined(e.minimumSpeed)&&(t.minimumSpeed=e.minimumSpeed),wp.defined(e.maximumSpeed)&&(t.maximumSpeed=e.maximumSpeed),wp.defined(e.radius)&&(t.radius=e.radius),wp.defined(e.updateCallback)&&(t.updateCallback=e.updateCallback),wp.defined(e.applyGravity)&&(t.applyGravity=e.applyGravity),wp.defined(e.randomFrameNumber)&&(t.randomFrameNumber=e.randomFrameNumber),wp.defined(e.randomXY)&&(t.randomXY=e.randomXY),wp.defined(e.camera)&&(t.camera=e.camera),t.renderCount=Math.floor(t.FPS*t.maximumParticleLife),t.count=t.emissionRate*t.renderCount}},{key:"effectOpt",value:function(e){var t=this;if(t.setOpts(e),t.particleList.length>t.count)t.particleList.length=t.count;else if(t.count>t.particleList.length)for(var i=t.particleList.length;t.count>i;i+=1)t.createParticle();for(i=0;t.particleList.length>i;i+=1)t.particleList[i].initSize=t.size,t.particleList[i].initVelocity=t.initVelocity,t.particleList[i].emitPosition=t.emitPosition,t.particleList[i].scaleAry=t.scale,t.particleList[i].colorAry=t.color,t.particleList[i].minimumSpeed=t.minimumSpeed,t.particleList[i].maximumSpeed=t.maximumSpeed,t.particleList[i].minimumParticleLife=t.minimumParticleLife,t.particleList[i].maximumParticleLife=t.maximumParticleLife,t.particleList[i].originPitch=t.originPitch,t.particleList[i].radius=t.radius,t.particleList[i].updateCallback=t.updateCallback,t.particleList[i].applyGravity=t.applyGravity,t.particleList[i].randomFrameNumber=t.randomFrameNumber,t.particleList[i].randomXY=t.randomXY,t.particleList[i].camera=t.camera}},{key:"stop",value:function(){this.startTime=null}},{key:"play",value:function(){var e=this;e.startTime=(new Date).getTime(),e.renderTimes=0,e.loops=0}},{key:"render",value:function(){var e=this,t=(new Date).getTime();if(wp.defined(e.startTime)){var i=(t-e.startTime)%(1e3*e.maximumParticleLife),n=Math.floor((t-e.startTime)/(1e3*e.maximumParticleLife));for(n>e.loops?(e.loops=n,e.renderTimes=0):e.loops>n&&(e.loops=n);i>=e.renderTimes*e.FPS_MS;){for(var r=e.renderTimes*e.emissionRate;(e.renderTimes+1)*e.emissionRate>r;r+=1)e.particleList.length>r&&e.particleList[r].init(t-i+e.renderTimes*e.FPS_MS);e.renderTimes+=1}}var o={position:[],color:[],alpha:[],size:[]};for(r=0;e.count>r;r+=1)e.particleList[r].updateStatus(t),o.position.push(e.particleList[r].position.x),o.position.push(e.particleList[r].position.y),o.position.push(e.particleList[r].position.z),o.color.push(e.particleList[r].color.r),o.color.push(e.particleList[r].color.g),o.color.push(e.particleList[r].color.b),o.alpha.push(0===e.particleList[r].visible?0:e.particleList[r].alpha),o.size.push(e.particleList[r].size);o.angleNeedsUpdate=!0,o.sizeNeedsUpdate=!0,o.colorNeedsUpdate=!0,o.alphaNeedsUpdate=!0,o.positionNeedsUpdate=!0,e.particleSystem.update(o)}},{key:"destroy",value:function(){this.particleSystem=null,this.initVelocity=null}}]);var Ok=function(e){var t=this;t.showParticle=!0,t.particleSystemManager=new Lk(t,e),t.repeatX=1,t.repeatY=1,t.imgTexture=null,t.uniforms={pointTexture:{value:t.imgTexture},repeatX:{value:t.repeatX},repeatY:{value:t.repeatY}},t.setOpts(e),t.shaderMaterial=new Fk({uniforms:t.uniforms,blending:1,depthTest:!0,depthWrite:!1,transparent:!0}),t.geometry=new Ni,t.particleSystem=new Ya(t.geometry,t.shaderMaterial)};SA(Ok,[{key:"destroy",value:function(){this.particleSystemManager.destroy()}},{key:"stop",value:function(){this.particleSystemManager.stop()}},{key:"play",value:function(){this.particleSystemManager.play()}},{key:"render",value:function(){this.particleSystemManager.render()}},{key:"hide",value:function(){var e=this;e.showParticle=!1,null!=e.particleSystem&&(e.particleSystem.visible=e.show)}},{key:"show",value:function(){var e=this;e.showParticle=!0,null!=e.particleSystem&&(e.particleSystem.visible=e.show)}},{key:"setOpts",value:function(e){var t=this;null!=e.repeatX&&(t.repeatX=e.repeatX,t.uniforms.repeatX.value=t.repeatX),null!=e.repeatY&&(t.repeatY=e.repeatY,t.uniforms.repeatY.value=t.repeatY),null!=e.imgTexture&&t.imgTexture!=e.imgTexture&&(t.imgTexture=e.imgTexture,t.imgTexture.wrapS=f,t.imgTexture.wrapT=f,t.imgTexture.minFilter=A,t.uniforms.pointTexture.value=t.imgTexture)}},{key:"effectOpt",value:function(e){this.setOpts(e),this.particleSystemManager.effectOpt(e)}},{key:"update",value:function(e){var t=this;null==e.position||null!=t.geometry.attributes.position&&t.geometry.attributes.position.array.length==e.position.length||t.geometry.setAttribute("position",new Bi(e.position,3)),null==e.color||null!=t.geometry.attributes.color&&t.geometry.attributes.color.array.length==e.color.length||t.geometry.setAttribute("color",new Bi(e.color,3)),null==e.size||null!=t.geometry.attributes.size&&t.geometry.attributes.size.array.length==e.size.length||t.geometry.setAttribute("size",new Bi(e.size,1).setDynamic(!0)),null==e.alpha||null!=t.geometry.attributes.alpha&&t.geometry.attributes.alpha.array.length==e.alpha.length||t.geometry.setAttribute("alpha",new Bi(e.alpha,1).setDynamic(!0)),t.particleSystem.visible=t.showParticle;var i=t.geometry.attributes.size.array,n=t.geometry.attributes.color.array,r=t.geometry.attributes.alpha.array,o=t.geometry.attributes.position.array;if(null!=e.position)for(var a=0;e.position.length>a;a++)o[a]=e.position[a];if(null!=e.color)for(a=0;e.color.length>a;a++)n[a]=e.color[a];if(null!=e.alpha)for(a=0;e.alpha.length>a;a++)r[a]=e.alpha[a];if(null!=e.size)for(a=0;e.size.length>a;a++)i[a]=e.size[a];t.geometry.attributes.size.needsUpdate=e.sizeNeedsUpdate,t.geometry.attributes.color.needsUpdate=e.colorNeedsUpdate,t.geometry.attributes.alpha.needsUpdate=e.alphaNeedsUpdate,t.geometry.attributes.position.needsUpdate=e.positionNeedsUpdate}}]);var Nk=function(e){lu(i,e);var t=pu(i);function i(e){var n;ru(this,i);var r=du(n=t.call(this));r.scene=e.scene,r.CONST_G=4.9,r.disPickable=!0,r.autoAnimation=!0,r.color=new pi(1,1,1),r.originPosition=new Ke(0,0,0),r.originIntensity=.5,r.radius=2e4,r.originYaw=0,r.originPitch=0,r.particleScale=1,r.camera=e.camera,r.loader=new Dl,r.zoomGis=1,r.setOpts(e),n.time=e.time&&e.time>0||0,n.lastTime=(new Date).getTime(),r.particleOpt=[{baseScale:60,imageUrl:"data:image/png;base64,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",minimumSpeed:22,maximumSpeed:25,minimumParticleLife:3.5,maximumParticleLife:4.5,emissionRate:e.particleNumber,radius:1,color:[{startAge:0,endAge:.4,startColor:.1,endColor:.15},{startAge:.4,endAge:1,startColor:.15,endColor:0}],scale:[{startAge:0,endAge:.3,startScale:.3,endScale:.66},{startAge:.3,endAge:.9,startScale:.66,endScale:15},{startAge:.9,endAge:1,startScale:3,endScale:20}],applyGravity:r.CONST_G,randomXY:.09},{baseScale:50,imageUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAFyCAYAAAAamASsAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA25pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5Njc3NTkxNi1mMGNjLWVmNDUtYTBmNy1mNzM4MzY2Zjc0NGIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDQ3MTA1M0VDRUI1MTFFOUIyNUFFN0RGMDRFMjU3NTYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDQ3MTA1M0RDRUI1MTFFOUIyNUFFN0RGMDRFMjU3NTYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjE3RENGMDQwODI2MTFFOTkxRDdDMjhCRDIzMjk0MjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjE3RENGMDUwODI2MTFFOTkxRDdDMjhCRDIzMjk0MjQiLz4gPC9yZGY6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",minimumSpeed:22,maximumSpeed:25,minimumParticleLife:3.5,maximumParticleLife:4,emissionRate:e.particleNumber,radius:1,color:[{startAge:0,endAge:.7,startColor:1,endColor:.2},{startAge:.7,endAge:1,startColor:.2,endColor:0}],scale:[{startAge:0,endAge:.4,startScale:.1,endScale:.66},{startAge:.4,endAge:1,startScale:.66,endScale:3.5}],applyGravity:r.CONST_G,randomXY:.08},{baseScale:110,imageUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRFNDI0RkQ0QjhCOTExRTk5MjFDQjVFNDRCRjVFQUUxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRFNDI0RkQ1QjhCOTExRTk5MjFDQjVFNDRCRjVFQUUxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REU0MjRGRDJCOEI5MTFFOTkyMUNCNUU0NEJGNUVBRTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REU0MjRGRDNCOEI5MTFFOTkyMUNCNUU0NEJGNUVBRTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz58WpwXAALwJUlEQVR42uy9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",minimumSpeed:23,maximumSpeed:24,minimumParticleLife:1.2,maximumParticleLife:1.8,emissionRate:e.particleNumber,radius:.5,color:[{startAge:0,endAge:.8,startColor:1,endColor:.8},{startAge:.8,endAge:1,startColor:.8,endColor:0}],scale:[{startAge:0,endAge:1,startScale:.3,endScale:1}],applyGravity:r.CONST_G,randomFrameNumber:!0,repeatX:.3,randomXY:.04},{baseScale:120,imageUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWMAAAIACAYAAABXSg2IAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MGY1YmUwOS04N2QwLTQ1NGMtYWQ4MC0zN2RjNDcxZDg0MDUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEZBRkU2QjBDRUMyMTFFOUI5QjA4MUU4QTg4ODRGRjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEZBRkU2QUZDRUMyMTFFOUI5QjA4MUU4QTg4ODRGRjMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphZjA5NGQ2OS0yNDVlLWM5NGQtOWMwNi1kYzJhODI3NzgxZWIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoyZDc5MjEzYS0xNjE5LTExZTktYWE3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",minimumSpeed:23,maximumSpeed:24,minimumParticleLife:1,maximumParticleLife:1.3,emissionRate:e.particleNumber,radius:.5,color:[{startAge:0,endAge:1,startColor:.5,endColor:.4}],scale:[{startAge:0,endAge:1,startScale:.3,endScale:1}],randomFrameNumber:!0,applyGravity:r.CONST_G,repeatX:.8,randomXY:.04}],r.water=[];for(var o=0;r.particleOpt.length>o;o+=1){for(var a=[],s=0;r.particleOpt[o].color.length>s;s+=1)a.push({startAge:r.particleOpt[o].color[s].startAge,endAge:r.particleOpt[o].color[s].endAge,startColor:new Le(r.color.r,r.color.g,r.color.b,r.alpha*r.particleOpt[o].color[s].startColor),endColor:new Le(r.color.r,r.color.g,r.color.b,r.alpha*r.particleOpt[o].color[s].endColor)});var l=new Ok({emissionRate:Math.floor(r.particleOpt[o].emissionRate*(1+r.originIntensity)),emitPosition:new Ke(0,0,0),originYaw:r.originYaw,originPitch:r.originPitch,minimumSpeed:r.particleOpt[o].minimumSpeed*r.originIntensity/r.zoomGis,maximumSpeed:r.particleOpt[o].maximumSpeed*r.originIntensity/r.zoomGis,size:r.particleScale*r.particleOpt[o].baseScale/r.zoomGis,minimumParticleLife:r.particleOpt[o].minimumParticleLife*r.originIntensity/1.1,maximumParticleLife:r.particleOpt[o].maximumParticleLife*r.originIntensity/1.1,imgTexture:r.loader.load(r.particleOpt[o].imageUrl),color:a,scale:r.particleOpt[o].scale,updateCallback:r.particleOpt[o].updateCallback,applyGravity:null!==r.particleOpt[o].applyGravity?r.particleOpt[o].applyGravity/r.zoomGis:null,randomXY:r.particleOpt[o].randomXY*r.spread,repeatX:0===r.originPitch?r.particleOpt[o].repeatX:1,repeatY:r.particleOpt[o].repeatY,radius:r.particleOpt[o].radius*r.radius/r.zoomGis,camera:r.camera,randomFrameNumber:r.particleOpt[o].randomFrameNumber});r.water.push(l),r.add(l.particleSystem)}return n}return i}(To);SA(Nk,[{key:"destroy",value:function(){for(var e=this,t=0;e.water.length>t;t+=1)e.water[t].destroy(),e.remove(e.water[t].particleSystem);e.loader=null}},{key:"play",value:function(){for(var e=0;this.water.length>e;e+=1)this.water[e].play()}},{key:"stop",value:function(){for(var e=0;this.water.length>e;e+=1)this.water[e].stop()}},{key:"update",value:function(){if(this.time>0){if(0===this.lastTime)return void(this.lastTime=(new Date).getTime());var e=(new Date).getTime();if(this.time>e-this.lastTime)return;this.lastTime=e}for(var t=0;this.water.length>t;t+=1)this.water[t].render()}},{key:"effectOpt",value:function(e){var t=this;t.setOpts(e);for(var i=0;t.water.length>i;i+=1){for(var n,r=[],o=0;t.particleOpt[i].color.length>o;o+=1)r.push({startAge:t.particleOpt[i].color[o].startAge,endAge:t.particleOpt[i].color[o].endAge,startColor:new Le(t.color.r,t.color.g,t.color.b,t.alpha*t.particleOpt[i].color[o].startColor),endColor:new Le(t.color.r,t.color.g,t.color.b,t.alpha*t.particleOpt[i].color[o].endColor)});t.water[i].effectOpt((EA(n={size:t.particleScale*t.particleOpt[i].baseScale/t.zoomGis,repeatX:0===t.originPitch?t.particleOpt[i].repeatX:1,originPitch:t.originPitch,originYaw:t.originYaw,minimumParticleLife:t.particleOpt[i].minimumParticleLife*t.originIntensity/1.1,maximumParticleLife:t.particleOpt[i].maximumParticleLife*t.originIntensity/1.1,randomXY:t.particleOpt[i].randomXY*t.spread},"randomXY",t.particleOpt[i].randomXY*t.spread),EA(n,"minimumSpeed",t.particleOpt[i].minimumSpeed*t.originIntensity/t.zoomGis),EA(n,"maximumSpeed",t.particleOpt[i].maximumSpeed*t.originIntensity/t.zoomGis),EA(n,"color",r),EA(n,"radius",t.particleOpt[i].radius*t.radius/t.zoomGis),EA(n,"emissionRate",Math.floor(t.particleOpt[i].emissionRate*(1+t.originIntensity))),n))}}},{key:"hide",value:function(){for(var e=0;this.water.length>e;e+=1)this.water[e].hide()}},{key:"show",value:function(){for(var e=0;this.water.length>e;e+=1)this.water[e].show()}},{key:"setOpts",value:function(e){var t=this;e&&(null!=e.color&&(t.color=e.color),null!=e.alpha&&(t.alpha=e.alpha),null!=e.originPitch&&(t.originPitch=e.originPitch),null!=e.originYaw&&(t.originYaw=e.originYaw),null!=e.scale&&(t.particleScale=e.scale/5),null!=e.originPosition&&(t.originPosition=e.originPosition,t.position.set(t.originPosition.x,t.originPosition.y,t.originPosition.z),t.updateMatrixWorld()),null!=e.spread&&(t.spread=e.spread),null!=e.originRadius&&(t.radius=e.originRadius),null!=e.originIntensity&&(t.originIntensity=e.originIntensity+.1),null!==e.isGis&&!0===e.isGis&&(t.zoomGis=1e3))}},{key:"setTime",value:function(e){this.time=e}},{key:"setSpaceScale",value:function(e){this.scale.setScalar(e),this.updateMatrixWorld()}}]);var Pk=function(e){if(this.isViewerGIS=!1,e)if(e.color instanceof Du||console.log("ERROR::color should be instance of Color"),e.viewer){if(e.viewer instanceof Uk)this.isViewerGIS=!1;else{if(!(e.viewer instanceof Uk.ViewerGIS))return void console.log("ERROR::viewer must not be empty or viewer2d.");this.isViewerGIS=!0}this.objectTpye="sprayWater-",this.color=e.color,this.originPosition=e.originPosition,this.originPitch=e.originPitch,this.originYaw=e.originYaw,this.originRadius=e.originRadius,this.originIntensity=e.originIntensity,this.spread=e.spread,this.scale=e.scale,this.particleNumber=e.particleQuantity,this.id=wp.createUUID(),this.viewer3D=e.viewer,this.viewer=e.viewer.getViewerImpl(),this._updateParameter(),this.SprayWaterGroup=new Nk({color:this._color,alpha:this._alpha,originPosition:this.originPosition,scale:this._scale,originPitch:this.originPitch,originYaw:this.originYaw,originRadius:this._originRadius,originIntensity:this.originIntensity,spread:this.spread,camera:this.viewer.camera,isGis:this.isViewerGIS,scene:this.viewer.getScene(),particleNumber:this.particleNumber}),this._addSence(),this.SprayWaterGroup.play()}else console.log("ERROR::viewer must not be empty.");else console.log("ERROR::sprayWaterConfig must not be empty.")};SA(Pk,[{key:"_updateParameter",value:function(){this._color=new pi(this.color.red,this.color.green,this.color.blue),this._alpha=this.color.alpha,this.originIntensity>3&&(this.originIntensity=3),this._scale=this.isViewerGIS?10*this.scale:this.scale,this._originRadius=this.viewer.getScene().worldToDrawing({x:this.originRadius,y:0,z:0}).x}},{key:"_addSence",value:function(){this.extObjMngId=this.viewer3D.addExternalObject(this.objectTpye+this.id,this.SprayWaterGroup)}},{key:"destroy",value:function(){this.SprayWaterGroup.destroy(),this.extObjMngId&&this.viewer3D.removeExternalObjectByName(this.extObjMngId),this.SprayWaterGroup=null}},{key:"update",value:function(){this._updateParameter(),this.SprayWaterGroup.effectOpt({color:this._color,alpha:this._alpha,scale:this._scale,originPosition:this.originPosition,originPitch:this.originPitch,originYaw:this.originYaw,originRadius:this._originRadius,spread:this.spread,isGis:this.isViewerGIS,originIntensity:this.originIntensity})}},{key:"hide",value:function(){this.SprayWaterGroup.hide()}},{key:"show",value:function(){this.SprayWaterGroup.show()}},{key:"play",value:function(){this.SprayWaterGroup.play()}},{key:"stop",value:function(){this.SprayWaterGroup.stop()}},{key:"setAnimationInterval",value:function(e){this.SprayWaterGroup.setTime(e)}},{key:"setSpaceScale",value:function(e){this.SprayWaterGroup.setSpaceScale(e)}},{key:"getOptions",value:function(){return{color:this.color,originPosition:this.originPosition,originPitch:this.originPitch,originYaw:this.originYaw,originRadius:this.originRadius,originIntensity:this.originIntensity,spread:this.spread,scale:this.scale}}},{key:"setOptions",value:function(e){jg(e.color)&&(e.color instanceof Du?this.color=e.color:console.log("ERROR::color should be instance of BOS3D.Color")),jg(e.originPosition)&&(this.originPosition=e.originPosition),jg(e.originPitch)&&(this.originPitch=e.originPitch),jg(e.originYaw)&&(this.originYaw=e.originYaw),jg(e.originRadius)&&(this.originRadius=e.originRadius),jg(e.originIntensity)&&(this.originIntensity=e.originIntensity),jg(e.spread)&&(this.spread=e.spread),jg(e.scale)&&(this.scale=e.scale),this.update()}}]);function Gk(e){return"symbol"==typeof e||mS(e)&&"[object Symbol]"==jB(e)}var Kk=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Vk=/^\w*$/;function Yk(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var i=function(){var n=arguments,r=t?t.apply(this,n):n[0],o=i.cache;if(o.has(r))return o.get(r);var a=e.apply(this,n);return i.cache=o.set(r,a)||o,a};return i.cache=new(Yk.Cache||cS),i}Yk.Cache=cS;var Hk=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jk=/\\(\\)?/g,Wk=function(e){var t=Yk(e,(function(e){return 500===i.size&&i.clear(),e})),i=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(Hk,(function(e,i,n,r){t.push(n?r.replace(jk,"$1"):i||e)})),t}));function Jk(e,t){for(var i=-1,n=null==e?0:e.length,r=Array(n);++i<n;)r[i]=t(e[i],i,e);return r}var zk=NB?NB.prototype:void 0,qk=zk?zk.toString:void 0;function Zk(e){if("string"==typeof e)return e;if(xS(e))return Jk(e,Zk)+"";if(Gk(e))return qk?qk.call(e):"";var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}function Xk(e,t){return xS(e)?e:function(e,t){if(xS(e))return!1;var i=typeof e;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=e&&!Gk(e))||Vk.test(e)||!Kk.test(e)||null!=t&&e in Object(t)}(e,t)?[e]:Wk(function(e){return null==e?"":Zk(e)}(e))}function _k(e){if("string"==typeof e||Gk(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}function $k(e,t,i){var n=null==e?void 0:function(e,t){for(var i=0,n=(t=Xk(t,e)).length;null!=e&&n>i;)e=e[_k(t[i++])];return i&&i==n?e:void 0}(e,t);return void 0===n?i:n}var eD={height:0,speed:1e3,frameTime:14},tD=new Tp,iD=function(){function e(t){ru(this,e),this.roadnet={},this.shortestPathLineMap={},this.roadNetLineMap={},this.roadNetPointMap={},this.roadNetInfoMap={},this.roadNetEdgeMap={},this.roadNetPointMap={},this.mapRoadNetListByModelKey={},this.mapModelKeyByRoadNetKey={},this.modelInfo={},this.viewer3D=t}return au(e,[{key:"_getRoadNetListByModelKey",value:function(e){var t=this,i=this;return new Promise((function(n,r){(function(e){var t=e.viewer3D.getViewerImpl().getModel(e.modelKey),i=$k(t,["loader","url","serverUrl"])||$k(e,["viewer3D","host"],""),n=t.projectKey,r=t.accessToken,o="";t.share&&(o="&share="+t.share);var a={url:"".concat(i,"/").concat(e.apiVersion||"api","/").concat(n,"/routes/list?modelKey=").concat(e.modelKey).concat(o)};return r&&(a.headers={Authorization:r}),Yy(a)})({viewer3D:t.viewer3D,modelKey:e}).then((function(t){var o,a=i.viewer3D.getViewerImpl().getModel(e);if(!a)return Bu.error(e+"模型不存在"),void r(e+"模型不存在");if(i.modelInfo[e]=a,"SUCCESS"===(o="string"==typeof t?JSON.parse(t):t).code){var s=i.mapRoadNetListByModelKey;s[e]={};for(var l=0,c=o.data.length;c>l;l+=1){var h=o.data[l],d=h.key;s[e][d]=h,i.roadNetInfoMap[d]=h,i.mapModelKeyByRoadNetKey[d]=e}n()}else r(o.message)})).catch((function(){Bu.error("获取模型路网列表失败"),r("获取模型路网列表失败")}))}))}},{key:"_getRoadNetDataByRouteKey",value:function(e,t,i){var n=this,r=this,o=[],a=this.mapModelKeyByRoadNetKey[e];if(a)return o.push(new Promise((function(t,i){(function(e){var t=e.viewer3D.getViewerImpl().getModel(e.modelKey),i=$k(t,["loader","url","serverUrl"])||$k(e,["viewer3D","host"],""),n=t.projectKey,r=t.accessToken,o="";t.share&&(o="&share="+t.share);var a={url:"".concat(i,"/").concat(e.apiVersion||"api","/").concat(n,"/routes/points?routeKey=").concat(e.routeKey).concat(o)};return r&&(a.headers={Authorization:r}),Yy(a)})({viewer3D:n.viewer3D,routeKey:e,modelKey:a}).then((function(n){var o;if("SUCCESS"===(o="string"==typeof n?JSON.parse(n):n).code){var a=r.roadNetPointMap;a[e]={};for(var s=0,l=o.data.length;l>s;s+=1){var c=o.data[s];a[e][c.key]=c}t()}else i(o.message)})).catch((function(){Bu.error("获取模型路网列表失败"),i("获取模型路网列表失败")}))}))),o.push(new Promise((function(t,i){(function(e){var t=e.viewer3D.getViewerImpl().getModel(e.modelKey),i=$k(t,["loader","url","serverUrl"])||$k(e,["viewer3D","host"],""),n=t.projectKey,r=t.accessToken,o="";t.share&&(o="&share="+t.share);var a={url:"".concat(i,"/").concat(e.apiVersion||"api","/").concat(n,"/routes/edges?routeKey=").concat(e.routeKey).concat(o)};return r&&(a.headers={Authorization:r}),Yy(a)})({viewer3D:n.viewer3D,routeKey:e,modelKey:a}).then((function(n){var o;"SUCCESS"===(o="string"==typeof n?JSON.parse(n):n).code?(r.roadNetEdgeMap[e]=o.data,t()):i(o.message)})).catch((function(){Bu.error("获取模型路网列表失败"),i("获取模型路网列表失败")}))}))),Promise.all(o);Bu.error("模型路网未初始化")}},{key:"initRoadNetByModelKey",value:function(e){var t=this;return new Promise((function(i,n){t._getRoadNetListByModelKey(e).then(i).catch(n)}))}},{key:"getRoadNetInfoListByModelKey",value:function(e){return this.mapRoadNetListByModelKey[e]}},{key:"addRoadNetByKey",value:function(e,t){var i=this,n=this,r=t.color,o=t.width,a=void 0===o?1:o,s=t.block,l=void 0===s||s;return new Promise((function(t,o){return r instanceof Du?"number"!=typeof a?(Bu.error("width 参数非法"),void o("width 参数非法")):void(n.roadNetLineMap[e]?t():i._getRoadNetDataByRouteKey(e).then((function(){for(var i=n.roadNetEdgeMap[e],s=n.roadNetPointMap[e],c=[],h=0,d=i.length;d>h;h+=1){var u=i[h],p=u._from.split("/")[1],g=u._to.split("/")[1],f=s[p].xyz;f||(Bu.error("点",p,"不存在"),o("点"+p+"不存在")),c.push.apply(c,mu(f));var m=s[g].xyz;m||(Bu.error("点",g,"不存在"),o("点"+g+"不存在")),c.push.apply(c,mu(m))}var A=new EM;A.setPositions(c);var y=new xM({color:r.getHex(),linewidth:a/1e3});l||(y.depthTest=!1,y.transparent=!0);var v=new NM(A,y);v.matrixAutoUpdate=!1;var C=n.mapModelKeyByRoadNetKey[e];if(!C)return Bu.error("模型路网未初始化"),void o("模型路网未初始化");var I=n.viewer3D.getModelMatrix(C);v.matrix.copy(I),n.viewer3D.getScene().add(v),v.updateMatrixWorld(!0),n.roadNetLineMap[e]=v,n.viewer3D.render(),t()})).catch((function(e){o(e)}))):(Bu.error("color 参数非法"),void o("color 参数非法"))}))}},{key:"removeRoadNetByKey",value:function(e){this.roadNetLineMap[e]?(this.viewer3D.getScene().remove(this.roadNetLineMap[e]),delete this.roadNetLineMap[e],this.viewer3D.render()):Bu.warn("路网",e,"不存在")}},{key:"showRoadNetByKey",value:function(e){this.roadNetLineMap[e]?(this.roadNetLineMap[e].visible=!0,this.viewer3D.render()):Bu.warn("路网",e,"不存在")}},{key:"hideRoadNetByKey",value:function(e){this.roadNetLineMap[e]?(this.roadNetLineMap[e].visible=!1,this.viewer3D.render()):Bu.warn("路网",e,"不存在")}},{key:"setRoadNetColorByKey",value:function(e,t){if(this.roadNetLineMap[e]){if(!(t instanceof Du))return void Bu.warn("color 参数非法");this.roadNetLineMap[e].material.color=t.getHex(),this.viewer3D.render()}else Bu.warn("路网",e,"不存在")}},{key:"setRoadNetBlockByKey",value:function(e,t){this.roadNetLineMap[e]?(t?(this.roadNetLineMap[e].material.depthTest=!0,this.roadNetLineMap[e].material.transparent=!1):(this.roadNetLineMap[e].material.depthTest=!1,this.roadNetLineMap[e].material.transparent=!0),this.viewer3D.render()):Bu.warn("路网",e,"不存在")}},{key:"setRoadNetLineWidthByKey",value:function(e,t){this.roadNetLineMap[e]?(this.roadNetLineMap[e].material.linewidth=t/1e3,this.viewer3D.render()):Bu.warn("路网",e,"不存在")}},{key:"update",value:function(){for(var e in this.roadNetLineMap)if(this.roadNetLineMap.hasOwnProperty(e)){var t=this.roadNetLineMap[e],i=this.viewer3D.getModelMatrix(this.mapModelKeyByRoadNetKey[e]);t.matrix.copy(i),t.updateMatrixWorld(!0)}for(var n in this.shortestPathLineMap)if(this.shortestPathLineMap.hasOwnProperty(n)){var r=this.shortestPathLineMap[n],o=this.viewer3D.getModelMatrix(r.userData.modelKey);r.matrix.copy(o),r.updateMatrixWorld(!0)}this.viewer3D.render()}},{key:"getShortestPath",value:function(e,t,i,n){var r=this,o=this;return new Promise((function(a,s){n||(n="topo"),r.roadNetInfoMap[e]||s({code:"error",detail:"路网".concat(e,"未初始化"),start:t,end:i});var l=r.mapModelKeyByRoadNetKey[e];if(!l)return Bu.error("模型路网未初始化"),void s("模型路网未初始化");(function(e){var t=e.viewer3D.getViewerImpl().getModel(e.modelKey),i=$k(t,["loader","url","serverUrl"])||$k(e,["viewer3D","host"],""),n=t.projectKey,r=t.accessToken,o="";t.share&&(o="&share="+t.share);var a={url:"".concat(i,"/").concat(e.apiVersion||"api","/").concat(n,"/routes/shortestPath?routeKey=").concat(e.routeKey,"&start=").concat(e.start.toString(),"&end=").concat(e.end.toString()).concat(o,"&type=").concat(e.type)};return r&&(a.headers={Authorization:r}),Yy(a)})({modelKey:l,viewer3D:o.viewer3D,routeKey:e,start:t,end:i,type:n}).then((function(n){var r;"SUCCESS"===(r="string"==typeof n?JSON.parse(n):n).code&&a({code:"success",data:{routeKey:e,points:r.data},start:t,end:i})})).catch((function(e){s({code:"error",detail:e,start:t,end:i})}))}))}},{key:"addShortestPathByPoints",value:function(e,t){var i=this,n=t.color,r=t.width,o=void 0===r?1:r,a=t.block,s=void 0===a||a;return new Promise((function(t,r){if(!e.routeKey)return Bu.error("缺少参数routeKey"),void r("缺少参数routeKey");if(!e.points)return Bu.error("缺少参数points"),void r("缺少参数points");if(!(n instanceof Du))return Bu.error("color 参数非法"),void r("color 参数非法");if("number"!=typeof o)return Bu.error("width 参数非法"),void r("width 参数非法");e.key||(e.key=wp.createUUID());for(var a=[],l=0,c=e.points.length;c>l;l+=1)a.push.apply(a,mu(e.points[l]));var h=new _b;h.setPositions(a);var d=new xM({color:n.getHex(),linewidth:o/1e3});s||(d.depthTest=!1,d.transparent=!0);var u=new $b(h,d);u.matrixAutoUpdate=!1;var p=i.mapModelKeyByRoadNetKey[e.routeKey];if(!p)return Bu.error("模型路网未初始化"),void r("模型路网未初始化");var g=i.viewer3D.getModelMatrix(p);u.matrix.copy(g),u.userData.modelKey=p,u.userData.routeKey=e.routeKey,i.viewer3D.getScene().add(u),u.updateMatrixWorld(!0),i.shortestPathLineMap[e.key]=u,i.viewer3D.render(),t(e)}))}},{key:"showShortestPathByKey",value:function(e){this.shortestPathLineMap[e]?(this.shortestPathLineMap[e].visible=!0,this.viewer3D.render()):Bu.warn("最短路径",e,"不存在")}},{key:"hideShortestPathByKey",value:function(e){this.shortestPathLineMap[e]?(this.shortestPathLineMap[e].visible=!1,this.viewer3D.render()):Bu.warn("最短路径",e,"不存在")}},{key:"removeShortestPathByKey",value:function(e){this.shortestPathLineMap[e]?(this.viewer3D.getScene().remove(this.shortestPathLineMap[e]),delete this.shortestPathLineMap[e],this.viewer3D.render()):Bu.warn("最短路径",e,"不存在")}},{key:"setShortestPathColorByKey",value:function(e,t){if(this.shortestPathLineMap[e]){if(!(t instanceof Du))return void Bu.warn("color 参数非法");this.shortestPathLineMap[e].material.color=t.getHex(),this.viewer3D.render()}else Bu.warn("最短路径",e,"不存在")}},{key:"setShortestPathBlockByKey",value:function(e,t){this.shortestPathLineMap[e]?(t?(this.shortestPathLineMap[e].material.depthTest=!0,this.shortestPathLineMap[e].material.transparent=!1):(this.shortestPathLineMap[e].material.depthTest=!1,this.shortestPathLineMap[e].material.transparent=!0),this.viewer3D.render()):Bu.warn("最短路径",e,"不存在")}},{key:"setShortestPathLineWidthByKey",value:function(e,t){this.shortestPathLineMap[e]?(this.shortestPathLineMap[e].material.linewidth=t/1e3,this.viewer3D.render()):Bu.warn("最短路径",e,"不存在")}},{key:"roamByShortestPathData",value:function(e,t){var i=this,n=wp.extend({},eD,t);if(e.routeKey)if(e.points)if(n.speed){var r=i.viewer3D.getModelMatrix(i.mapModelKeyByRoadNetKey[e.routeKey]);if(r){var o=this.viewer3D.getViewerImpl().camera;!function e(t,a){if(t.length-1>a){var s,l=new Ke(t[a][0],t[a][1],t[a][2]+n.height).applyMatrix4(r),c=new Ke(t[a+1][0],t[a+1][1],t[a+1][2]+n.height).applyMatrix4(r),h=new Ke(t[a+1][0],t[a+1][1],t[a+1][2]+n.height).applyMatrix4(r);if(a>t.length-3||(s=new Ke(t[a+2][0],t[a+2][1],t[a+2][2]+n.height).applyMatrix4(r)),a===t.length-2){var d=new Ke(t[a+1][0],t[a+1][1],t[a+1][2]+n.height).sub(new Ke(t[a][0],t[a][1],t[a][2]+n.height)).setLength(.1);s=new Ke(t[a+1][0],t[a+1][1],t[a+1][2]+n.height).add(d).applyMatrix4(r)}var u=l.distanceTo(h)/n.speed*1e3;i.viewer3D.getViewerImpl().getControlManager().setInteractiveState(!1),tD.from({animPosition:l,animTarget:c,animUp:o.up}).to({animPosition:h,animTarget:s,animUp:o.up},u).onUpdate((function(e){var t=e.animPosition;o.lookAtEXForTargetPositionUp(e.animTarget,t,o.up),i.viewer3D.getViewerImpl().cameraControl.update(!0,!0),n.callbackProcess&&n.callbackProcess(t)})).onComplete((function(){o.lookAtEXForTargetPositionUp(s,h,o.up),i.viewer3D.getViewerImpl().cameraControl.update(!0,!0),n.callbackProcess&&n.callbackProcess(h),n.callbackFinish&&n.callbackFinish(),i.viewer3D.getViewerImpl().getControlManager().setInteractiveState(!0),e(t,a+=1)})).start(n.frameTime,!0)}else n.callbackAllFinish&&n.callbackAllFinish()}(e.points,0)}else Bu.error("无法获取路径对应的模型矩阵")}else Bu.error("speed参数非法");else Bu.error("缺少参数points");else Bu.error("缺少参数routeKey")}}]),e}(),nD=function(){function e(){ru(this,e),this.name="漫游"}return au(e,null,[{key:"startRoam",value:function(e){if(!Object.keys(e).length)throw new Error("Viewer3D为空");var t=Vd.WALK;try{var i=e.viewerImpl;e.getViewerImpl().controlManager.setControlMode(i,t),e.getViewerImpl().controlManager.setFocus()}catch(e){throw new Error(e)}}},{key:"cancelRoam",value:function(e){if(!Object.keys(e).length)throw new Error("Viewer3D为空");e.viewerImpl.controlManager.setControlMode(e.viewerImpl,"pick")}},{key:"changeRoamConfig",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;if(!Object.keys(e).length)throw new Error("Viewer3D为空");var r=e.getViewerImpl();switch(i){case"hit":xd.EnableHitDetection=t;break;case"gravity":xd.WalkingWithGravity=t;break;case"manHeight":e.getViewerImpl().cameraControl.getRealManHeight&&r.cameraControl.setRealManHeight(1e3*n.value);break;case"immersion":t&&e.requestPointerLock();break;case"viewLock":xd.WalkingWithViewLock=t}r.controlManager.setFocuse()}}]),e}(),rD=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).name="自由漫游",n}return au(i,null,[{key:"startFreeRoam",value:function(e){gu(cu(i),"startRoam",this).call(this,e)}},{key:"cancelRoam",value:function(e){gu(cu(i),"cancelRoam",this).call(this,e)}}]),i}(nD),oD=function(e){this.name=e.name||"",this.id=e.id||"",this.keyFrameList=e.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.backupPerspectiveList=e.backupPerspectiveList||[],this.init(e)};oD.prototype.init=function(e){this.setKeyFrameList(e.keyFrameList),this.setParameters(e.parameters),this.setInterpolateType(e.type),this.setFps(e.fps),this.setRoamTime(e.roamTime)},oD.prototype.addKeyFrame=function(e){var t=new Ke(e.position.x,e.position.y,e.position.z),i=new Ke(e.target.x,e.target.y,e.target.z),n=new Ke(e.up.x,e.up.y,e.up.z),r=e.name||"视角",o=null;if(e.quaternion)o=new Ge(e.quaternion.x,e.quaternion.y,e.quaternion.z,e.quaternion.w);else{var a=new yt;a.lookAt(t,i,n),o=(new Ge).setFromRotationMatrix(a)}var s=e.control,l=s?{startPoint:s.startPoint,endPoint:s.endPoint,cubeList:s.cubeList.map((function(e){return{position:e.position}}))}:void 0;this.keyFrameList.push({position:t,target:i,up:n,id:e.id,name:r,quaternion:o,control:l,curve:e.curve,editor:e.editor||null}),this.modificationId+=1},oD.prototype.setKeyFrameList=function(e){this.keyFrameList=[];for(var t=0,i=e.length;i>t;t+=1)this.addKeyFrame(e[t]);this.calRotateSpeed()},oD.prototype.removeKeyFrame=function(e){e>=0&&this.keyFrameList.length>e&&(this.keyFrameList.splice(e,1),this.modificationId+=1)},oD.prototype.getKeyFrames=function(){return this.keyFrameList},oD.prototype.getKeyFrameCount=function(){return this.keyFrameList.length},oD.prototype.clearFrames=function(){this.keyFrameList=[]},oD.prototype.getJumpCounts=function(e){var t=e/(1e3/this.fps)*this.parts;return t=parseInt(t,0)},oD.prototype.setRoamTime=function(e){this.roamTime=e,this.setSegments(e*this.fps*this.parts),this.calRotateSpeed()},oD.prototype.calRotateSpeed=function(){var e=this.getKeyFrames().length;e>1&&(this.rotateSpeed=Math.PI*(e-1)/this.roamTime/this.fps/4)},oD.prototype.setInterpolateType=function(e){this.interpolateType=e||1,1===this.interpolateType&&this.setSplineTension(0)},oD.prototype.getInterpolateType=function(){return this.interpolateType},oD.prototype.setName=function(e){this.name=e},oD.prototype.getName=function(){return this.name},oD.prototype.getId=function(){return this.id},oD.prototype.getKeyFramePositions=function(){for(var e=[],t=0,i=this.keyFrameList.length;i>t;t+=1){e.push(this.keyFrameList[t].position)}return e},oD.prototype.getKeyFramePosition=function(e){return this.keyFrameList[e].position},oD.prototype.getKeyFrameDirection=function(e){var t=this.keyFrameList[e];return t.target.clone().sub(t.position)},oD.prototype.getKeyFrameTarget=function(e){return this.keyFrameList[e].target},oD.prototype.getKeyFrameUp=function(e){return this.keyFrameList[e].up},oD.prototype.allocateSegments=function(){for(var e=[],t=0,i=this.keyFrameList.length;i-1>t;t+=1){var n=this.keyFrameList[t].position;e.push(this.keyFrameList[t+1].position.clone().sub(n).length())}for(var r=0,o=0,a=e.length;a>o;o+=1)r+=e[o];for(var s=this.getSegments(),l=0,c=e.length;0!==r&&c>l;l+=1)e[l]/=r,e[l]*=this.getSegments(),e[l]=Math.floor(e[l]),s-=e[l];for(var h=0;s>h;h+=1)e[h]>0&&(e[h]+=1);this.allocateSegmentList=e},oD.prototype.getAllocateSegmentCount=function(e){return null===this.allocateSegmentList&&this.allocateSegments(),this.allocateSegmentList[e]},oD.prototype.getSplineParam=function(e,t){return null===this.allocateSegmentList&&this.allocateSegments(),(e+t/this.allocateSegmentList[e])/this.allocateSegmentList.length},oD.prototype.getDeltaAngle=function(e){return this.mapDeltaAngle[e]},oD.prototype.calculateDeltaAngle=function(){for(var e=this.allocateSegmentList,t=0;e.length>t;t+=1){var i=0;if(this.keyFrameList[t].quaternion&&this.keyFrameList[t+1].quaternion){var n=this.keyFrameList[t].quaternion,r=this.keyFrameList[t+1].quaternion,o=(new Ge).multiplyQuaternions(r,n.clone().invert());o.normalize(),i=2*Math.acos(o.w)}else{var a=this.getKeyFrameDirection(t),s=this.getKeyFrameDirection(t+1);i=a.angleTo(s)}var l=e[t];if(0===l){var c=Math.floor(i/this.rotateSpeed)*this.parts;e[t]=c,this.mapDeltaAngle[t]=i/c}else this.mapDeltaAngle[t]=i/l}},oD.prototype.getRotateAxis=function(e){var t=this.keyFrameList[e].quaternion,i=this.keyFrameList[e+1].quaternion;if(t&&i){var n=(new Ge).multiplyQuaternions(i,t.clone().invert());return n.normalize(),new Ke(n.x,n.y,n.z).normalize()}var r=this.getKeyFrameDirection(e),o=this.getKeyFrameDirection(e+1);return r.clone().cross(o.clone()).normalize()},oD.prototype.getDeltaOffset=function(e){return this.mapDeltaOffset[e]},oD.prototype.getPositionAtCurve=function(e,t){var i=this.keyFrameList[e+1];if(i&&i.curve)return i.curve.getPointAt(t)},oD.prototype.getPositionAtCurve=function(e,t){var i=this.keyFrameList[e+1];if(i&&i.curve)return i.curve.getPointAt(t)},oD.prototype.getLatestPositionAtCurve=function(e){var t=this.keyFrameList[e];if(t&&t.curve)return t.position},oD.prototype.calculateDeltaOffset=function(){for(var e=this.allocateSegmentList,t=this.getKeyFramePositions(),i=0;e.length>i;i+=1){var n=t[i],r=t[i+1],o=this.allocateSegmentList[i];this.mapDeltaOffset[i]=0===o?new Ke:r.clone().sub(n).divideScalar(o)}},oD.prototype.setSplineTension=function(e){0>e||e>1||(this.parameters.tension=e,this.modificationId+=1)},oD.prototype.setSegments=function(e){this.parameters.segments=e,this.modificationId+=1},oD.prototype.getSegments=function(){return this.parameters.segments},oD.prototype.setParameters=function(e){e&&(this.parameters=e,this.modificationId+=1)},oD.prototype.getParameters=function(){return this.parameters},oD.prototype.setFps=function(e){this.fps=e||50,this.calRotateSpeed(),this.modificationId+=1},oD.prototype.getFps=function(){return this.fps},oD.prototype.getModificationId=function(){return this.modificationId},oD.prototype.export=function(){return{name:this.name,id:this.id,fps:this.fps,roamTime:this.roamTime,type:this.interpolateType,keyFrameList:this.keyFrameList}};var aD=function(e){this.viewer=e.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(e.roamData)};aD.prototype.setRoam=function(e){this.roam=e,this.bPause=!1,this.recordId=-1,this.spline=null,this.keyFrameIdx=0,this.count=-1},aD.prototype.updateCamera=function(e,t,i){this.camera.position.add(e),this.camera.target.addVectors(this.camera.position,t),this.camera.up.copy(i)},aD.prototype.updateCameraToFrame=function(e){var t=this.roam.getKeyFramePosition(e),i=this.roam.getKeyFrameTarget(e),n=this.roam.getKeyFrameUp(e);this.camera.position.copy(t),this.camera.target.copy(i),this.camera.up.copy(n)},aD.prototype.reAllocate=function(){this.recordId!==this.roam.getModificationId()&&(this.roam.allocateSegments(),this.roam.calculateDeltaOffset(),this.roam.calculateDeltaAngle(),this.recordId=this.roam.getModificationId())},aD.prototype._play=function(){var e=new Ge,t=new Ge,i=new Ke,n=new Ke(0,1,0),r=new Ke;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 o=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 a=this.roam.getKeyFrameCount(),s=this.roam.getAllocateSegmentCount(this.keyFrameIdx);if(0===s)this.keyFrameIdx+=1,this.triggerKeyFrameCallback(this.keyFrameIdx),this.count=-1;else if(this.keyFrameIdx===a-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(s>this.count){this.count+o>s&&(o=s-this.count);var l=this.count/s,c=this.roam.keyFrameList[this.keyFrameIdx].quaternion,h=this.roam.keyFrameList[this.keyFrameIdx+1].quaternion;e.copy(h),c.equals(h)||e.slerpQuaternions(c,h,l);var d=this.roam.keyFrameList[this.keyFrameIdx];i.subVectors(d.target,d.position),i.applyQuaternion(t.copy(c).invert()),i.applyQuaternion(e),n.set(0,1,0),n.applyQuaternion(e);var u=this.roam.getPositionAtCurve(this.keyFrameIdx,l);if(u)this.camera.position.copy(u);else{var p=this.roam.getDeltaOffset(this.keyFrameIdx);r.copy(p).multiplyScalar(o),this.camera.position.add(r)}if(this.camera.target.addVectors(this.camera.position,i),this.camera.up.copy(n),s>this.count+o)this.count+=o;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.camera.dirty=!0,this.viewer.render()}}(),aD.prototype.play=function(){this.bPause=!1,this._play()},aD.prototype.pause=function(){this.bPause=!0},aD.prototype.continue=function(){this.bContinue=!0,this.bPause=!1,this._play()},aD.prototype.stop=function(){this.bPause=!1,this.keyFrameIdx=0,this.count=-1,clearTimeout(this.reqid),this.triggerStopPlayCallback()},aD.prototype.startFrom=function(e){for(var t=this.roam,i=t.getKeyFrameCount(),n=t.getKeyFrames(),r=0;i>r;r+=1)if(n[r].id===e)return this.keyFrameIdx=r,void(this.count=-1)},aD.prototype.startFromByIndex=function(e){var t=this.roam.getKeyFrameCount();e>0&&t>e&&(this.keyFrameIdx=e,this.count=-1)},aD.prototype.addKeyFrameCallback=function(e){this.keyFrameCallback.push(e)},aD.prototype.addPausePlayCallback=function(e){this.pausePlayCallback.push(e)},aD.prototype.addStopPlayCallback=function(e){this.stopPlayCallback.push(e)},aD.prototype.triggerKeyFrameCallback=function(e){this.keyFrameCallback.forEach((function(t){t(e)}))},aD.prototype.triggerPausePlayCallback=function(){this.pausePlayCallback.forEach((function(e){e()}))},aD.prototype.triggerStopPlayCallback=function(){this.stopPlayCallback.forEach((function(e){e()}))},aD.prototype.updataSpline=function(){var e=this.roam.getKeyFramePositions(),t=this.roam.getParameters();this.spline=new Pl(e,t.closed,t.curveType,t.tension)};var sD=function(){this.roamList=[]};sD.prototype.clear=function(){this.roamList=[]},sD.prototype.add=function(e){this.roamList.push(e)},sD.prototype.remove=function(e){for(var t=0,i=this.roamList.length;i>t;t+=1){if(this.roamList[t].getName()===e)return void this.roamList.splice(t,1)}},sD.prototype.save=function(){return JSON.stringify(this.roamList)},sD.prototype.load=function(e){this.clear();for(var t=JSON.parse(e),i=0,n=t.length;n>i;i+=1){var r=new oD({name:t[i].name,keyFrameList:t[i].keyFrameList,parameters:t[i].parameters,roamTime:t[i].roamTime,type:t[i].type,fps:t[i].fps});this.add(r)}return this.roamList};var lD=".yjbos3dRecord",cD="⊗",hD="1.4.0",dD=["1.0","1.2.0","1.3.0","1.4.0"],uD=["文件格式错误"],pD=0,gD=function(e){var t=cD,i="".concat(hD).concat(t).concat(e.name).concat(t).concat(e.id).concat(t).concat(e.roamTime).concat(t).concat(e.fps).concat(t).concat(e.type).concat(t);return e.keyFrameList.forEach((function(e){if(i+="".concat(t).concat(e.id).concat(t).concat(e.position.x).concat(t).concat(e.position.y).concat(t).concat(e.position.z).concat(t).concat(e.target.x).concat(t).concat(e.target.y).concat(t).concat(e.target.z).concat(t).concat(e.up.x).concat(t).concat(e.up.y).concat(t).concat(e.up.z).concat(t).concat(e.quaternion.x).concat(t).concat(e.quaternion.y).concat(t).concat(e.quaternion.z).concat(t).concat(e.quaternion.w),e.curve){var n={curveType:e.curve.curveType,points:e.curve.points.map((function(e){return e.toArray()}))};i+="".concat(t).concat(btoa(JSON.stringify(n)))}else i+="".concat(t,"null");if(e.editor){var r={cubeList:e.editor.cubeList.map((function(e){return{position:e.position}})),startPoint:e.editor.startPoint,endPoint:e.editor.endPoint};i+="".concat(t).concat(btoa(JSON.stringify(r)))}else i+="".concat(t,"null");i+="".concat(t).concat(e.name)})),i},fD=Object.freeze({__proto__:null,json2yjbos3dRecord:gD,yjbos3dRecord2json:function(e){try{var t=fu(e.split("⊗⊗"),2),i=t[0],n=t[1],r=i.split("⊗")[0];if(r===hD)return function(e,t){var i=fu(e.split("⊗"),6),n=i[1],r=i[2],o=i[3],a=i[4],s=i[5];if(!(i[0]&&n&&r&&o&&a&&s))throw new Error(uD[pD]);var l={name:n,id:r,type:Number(s),roamTime:Number(o),fps:Number(a)},c=[],h=t.split("⊗"),d=h.length;if(d%17==0){for(var u=0;d>u;u+=17)c.push({id:h[u],position:{x:parseFloat(h[u+1]),y:parseFloat(h[u+2]),z:parseFloat(h[u+3])},target:{x:parseFloat(h[u+4]),y:parseFloat(h[u+5]),z:parseFloat(h[u+6])},up:{x:parseFloat(h[u+7]),y:parseFloat(h[u+8]),z:parseFloat(h[u+9])},quaternion:{x:parseFloat(h[u+10]),y:parseFloat(h[u+11]),z:parseFloat(h[u+12]),w:parseFloat(h[u+13])},curve:"null"===h[u+14]?null:JSON.parse(atob(h[u+14])),editor:"null"===h[u+15]?null:JSON.parse(atob(h[u+15])),name:h[u+16]});return{info:l,keyFrameList:c}}if(d%15==0){for(var p=0,g=1;d>p;p+=15,g+=1)c.push({id:h[p],position:{x:parseFloat(h[p+1]),y:parseFloat(h[p+2]),z:parseFloat(h[p+3])},target:{x:parseFloat(h[p+4]),y:parseFloat(h[p+5]),z:parseFloat(h[p+6])},up:{x:parseFloat(h[p+7]),y:parseFloat(h[p+8]),z:parseFloat(h[p+9])},quaternion:{x:parseFloat(h[p+10]),y:parseFloat(h[p+11]),z:parseFloat(h[p+12]),w:parseFloat(h[p+13])},curve:"null"===h[p+14]?null:JSON.parse(atob(h[p+14])),editor:null,name:"视角".concat(g)});return{info:l,keyFrameList:c}}throw new Error(uD[pD])}(i,n);switch(r){case dD[0]:return function(e,t){var i=fu(e.split("⊗"),6),n=i[1],r=i[2],o=i[3],a=i[4],s=i[5];if(!(i[0]&&n&&r&&o&&a&&s))throw new Error(uD[pD]);var l={name:n,id:r,roamTime:o,fps:a,type:s},c=[],h=t.split("⊗"),d=h.length;if(d%7==0){for(var u=0;d>u;u+=7)c.push({id:h[u],position:{x:parseFloat(h[u+1]),y:parseFloat(h[u+2]),z:parseFloat(h[u+3])},target:{x:parseFloat(h[u+4]),y:parseFloat(h[u+5]),z:parseFloat(h[u+6])}});return{info:l,keyFrameList:c}}throw new Error(uD[pD])}(i,n);case dD[1]:return function(e,t){var i=fu(e.split("⊗"),6),n=i[1],r=i[2],o=i[3],a=i[4],s=i[5];if(!(i[0]&&n&&r&&o&&a&&s))throw new Error(uD[pD]);var l={name:n,id:r,type:Number(s),roamTime:Number(o),fps:Number(a)},c=[],h=t.split("⊗"),d=h.length;if(d%10==0){for(var u=0;d>u;u+=10)c.push({id:h[u],position:{x:parseFloat(h[u+1]),y:parseFloat(h[u+2]),z:parseFloat(h[u+3])},target:{x:parseFloat(h[u+4]),y:parseFloat(h[u+5]),z:parseFloat(h[u+6])},up:{x:parseFloat(h[u+7]),y:parseFloat(h[u+8]),z:parseFloat(h[u+9])}});return{info:l,keyFrameList:c}}throw new Error(uD[pD])}(i,n);case dD[2]:return function(e,t){var i=fu(e.split("⊗"),6),n=i[1],r=i[2],o=i[3],a=i[4],s=i[5];if(!(i[0]&&n&&r&&o&&a&&s))throw new Error(uD[pD]);var l={name:n,id:r,type:Number(s),roamTime:Number(o),fps:Number(a)},c=[],h=t.split("⊗"),d=h.length;if(d%14==0){for(var u=0;d>u;u+=14)c.push({id:h[u],position:{x:parseFloat(h[u+1]),y:parseFloat(h[u+2]),z:parseFloat(h[u+3])},target:{x:parseFloat(h[u+4]),y:parseFloat(h[u+5]),z:parseFloat(h[u+6])},up:{x:parseFloat(h[u+7]),y:parseFloat(h[u+8]),z:parseFloat(h[u+9])},quaternion:{x:parseFloat(h[u+10]),y:parseFloat(h[u+11]),z:parseFloat(h[u+12]),w:parseFloat(h[u+13])}});return{info:l,keyFrameList:c}}throw new Error(uD[pD])}(i,n);default:throw new Error(uD[pD])}}catch(e){throw e}},EXT:lD}),mD=function(){return OB.Date.now()},AD=/\s/;var yD=/^\s+/;function vD(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&AD.test(e.charAt(t)););return t}(e)+1).replace(yD,""):e}var CD=/^[-+]0x[0-9a-f]+$/i,ID=/^0b[01]+$/i,xD=/^0o[0-7]+$/i,wD=parseInt;function MD(e){if("number"==typeof e)return e;if(Gk(e))return NaN;if(WB(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=WB(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=vD(e);var i=ID.test(e);return i||xD.test(e)?wD(e.slice(2),i?2:8):CD.test(e)?NaN:+e}var ED=Math.max,BD=Math.min;function SD(e,t,i){var n,r,o,a,s,l,c=0,h=!1,d=!1,u=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var i=n,o=r;return n=r=void 0,c=t,a=e.apply(o,i)}function g(e){return c=e,s=setTimeout(m,t),h?p(e):a}function f(e){var i=e-l;return void 0===l||i>=t||0>i||d&&e-c>=o}function m(){var e=mD();if(f(e))return A(e);s=setTimeout(m,function(e){var i=t-(e-l);return d?BD(i,o-(e-c)):i}(e))}function A(e){return s=void 0,u&&n?p(e):(n=r=void 0,a)}function y(){var e=mD(),i=f(e);if(n=arguments,r=this,l=e,i){if(void 0===s)return g(l);if(d)return clearTimeout(s),s=setTimeout(m,t),p(l)}return void 0===s&&(s=setTimeout(m,t)),a}return t=MD(t)||0,WB(i)&&(h=!!i.leading,o=(d="maxWait"in i)?ED(MD(i.maxWait)||0,t):o,u="trailing"in i?!!i.trailing:u),y.cancel=function(){void 0!==s&&clearTimeout(s),c=0,n=l=r=s=void 0},y.flush=function(){return void 0===s?a:A(mD())},y}function bD(e,t,i){var n=!0,r=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return WB(i)&&(n="leading"in i?!!i.leading:n,r="trailing"in i?!!i.trailing:r),SD(e,t,{leading:n,maxWait:t,trailing:r})}function kD(e){return null==e?[]:function(e,t){return Jk(t,(function(t){return e[t]}))}(e,WS(e))}var DD=function(){function e(t){ru(this,e),this.coef=t.coef||.5,this.points=t.controlPoints||[],this.pointCountRecord=t.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 au(e,[{key:"setControlPoints",value:function(e){this.points=e,this._formatConPoints(),this._calCount(),this._createPoints(),this.update=!0}},{key:"getPointAt",value:function(e){this.update&&this.getPoints();var t=Math.ceil(e*this.count);return this._points[t>this.count?this.count:t]}},{key:"getPoints",value:function(){return this.update&&this._createPoints(this.pointCountRecord),this._points}},{key:"setCoef",value:function(e){this.update=!0,this.matrix=[[-e,2-e,e-2,e],[2*e,e-3,3-2*e,-e],[-e,0,e,0],[0,1,0,0]]}},{key:"getPointsInfo",value:function(){return{points:this.getPoints(),controlPointsIndex:this.controlPointsIndex}}},{key:"clone",value:function(){var e,t=[],i=vu(this.points);try{for(i.s();!(e=i.n()).done;){t.push(e.value.clone())}}catch(e){i.e(e)}finally{i.f()}var n=new this.constructor({controlPoints:t,coef:this.coef});return n.getPoints(),n}},{key:"_formatConPoints",value:function(){var e=this.points;this.formatConPoints=[];for(var t=0,i=e.length;i>t;t+=1)0===t?this.formatConPoints.push(e[t].clone(),e[t].clone()):i>t+1?this.formatConPoints.push(e[t].clone()):this.formatConPoints.push(e[t].clone(),e[t].clone())}},{key:"_calCount",value:function(){var e,t,i=this,n=1/0;t=(e=i.points).length,i.straightLineDistance=e.reduce((function(e,i,r,o){if(t>r+1){var a=o[r].distanceTo(o[r+1]);n=a>n?n:a,e+=a}return e}),0),i.updateStraightLineDistance=!1;var r=Math.ceil(i.straightLineDistance/n)||0;this.count=r>100?r:100}},{key:"_createPoints",value:function(){var e=[],t=this.matrix;function i(i){e[0]=new Ke,e[1]=new Ke,e[2]=new Ke,e[3]=new Ke;var n=[];n[0]=[],n[1]=[],n[2]=[],n[3]=[],n[0][0]=i[0].clone().multiplyScalar(t[0][0]),n[0][1]=i[1].clone().multiplyScalar(t[0][1]),n[0][2]=i[2].clone().multiplyScalar(t[0][2]),n[0][3]=i[3].clone().multiplyScalar(t[0][3]),n[1][0]=i[0].clone().multiplyScalar(t[1][0]),n[1][1]=i[1].clone().multiplyScalar(t[1][1]),n[1][2]=i[2].clone().multiplyScalar(t[1][2]),n[1][3]=i[3].clone().multiplyScalar(t[1][3]),n[2][0]=i[0].clone().multiplyScalar(t[2][0]),n[2][1]=i[1].clone().multiplyScalar(t[2][1]),n[2][2]=i[2].clone().multiplyScalar(t[2][2]),n[2][3]=i[3].clone().multiplyScalar(t[2][3]),n[3][0]=i[0].clone().multiplyScalar(t[3][0]),n[3][1]=i[1].clone().multiplyScalar(t[3][1]),n[3][2]=i[2].clone().multiplyScalar(t[3][2]),n[3][3]=i[3].clone().multiplyScalar(t[3][3]);for(var r=0;4>r;r+=1)for(var o=0;4>o;o+=1)e[r].add(n[r][o])}function n(t){var i=t*t,n=i*t;return e[0].clone().multiplyScalar(n).add(e[1].clone().multiplyScalar(i)).add(e[2].clone().multiplyScalar(t)).add(e[3].clone())}for(var r=this.formatConPoints,o=this._points=[],a=this.controlPointsIndex=[],s=this.points,l=this.straightLineDistance,c=0,h=0,d=0,u=s.length-1;u>d;d+=1){var p=(c+=s[d].distanceTo(s[d+1]))/l*this.count-h;i([r[d],r[d+1],r[d+2],r[d+3]]),o.push(r[d+1]),a.push({j:r[d+1],order:h}),h+=1;for(var g=1;p>g;g+=1)o.push(n(g/p)),h+=1}o.push(s[s.length-1]),a.push({to:r[s.length-1],order:-1}),this.update=!1}}]),e}(),TD=function(){function e(){ru(this,e),this.init()}return au(e,[{key:"init",value:function(){this.procedure=[],this.pointer=0}},{key:"record",value:function(e,t){this.procedure.length>this.pointer&&(this.procedure=this.procedure.slice(0,this.pointer)),this.procedure.push({type:e,payload:t}),this.pointer+=1}},{key:"undo",value:function(e){this.canUndo()&&(this.pointer-=1,e(this.procedure[this.pointer]))}},{key:"canUndo",value:function(){return this.pointer>0}},{key:"redo",value:function(e){this.canRedo()&&(e(this.procedure[this.pointer]),this.pointer+=1)}},{key:"canRedo",value:function(){return this.procedure.length>this.pointer}}]),e}(),RD=function(){for(var e=[],t=0;256>t;t+=1)e[t]=(16>t?"0":"")+t.toString(16);return function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return"".concat(e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255],"-").concat(e[255&i]).concat(e[i>>8&255],"-").concat(e[i>>16&15|64]).concat(e[i>>24&255],"-").concat(e[63&n|128]).concat(e[n>>8&255],"-").concat(e[n>>16&255]).concat(e[n>>24&255]).concat(e[255&r]).concat(e[r>>8&255]).concat(e[r>>16&255]).concat(e[r>>24&255]).toUpperCase()}}(),UD="__bos3dui_line",FD="__bos3dui_cube",QD=new Image;QD.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAANUlEQVRIiWNgGAWjABX8/w/BxAMmWjll1ILBYwEjdmHSUgqScRjm0dwHJILRfDBqwSgYmQAA38wKEKBEF+wAAAAASUVORK5CYII=";var LD=function(){function e(t){ru(this,e),this.viewer3D=t.viewer3D,this.recorder=new TD,this.adding=!1,this.removing=!1,this.editKey="",this.editMeshInitPos=new Ke,this.lineObject=null,this.tmpCube=null,this.cubeList=t.cubeList||[],this.startPoint=t.startPoint||null,this.endPoint=t.endPoint||null,this.mousemoveFn=function(){},this.clickFn=this.clickToAddCube(),this.moveCubeFn=bD(this.moveCubeListener(),16),this.cameraChangeFn=bD(this.cameraChangeListener.bind(this),16),this.rmCubeFn=function(){},this.onUserDrag=t.onDrag||function(){},this.tag=document.createElement("div"),this.tag.style.display="none",this.tag.style.position="absolute",this.tag.style.color="red",this.tag.style.fontSize="16px",this.viewer3D.viewportDiv.appendChild(this.tag),this.curve={},this.models=kD(this.viewer3D.viewerImpl.modelManager.models)||[]}return au(e,[{key:"start",value:function(e,t){var i=this;e&&t?(this.startPoint=e,this.endPoint=t,this.lineObject=this.drawHelper(e,t)):(this.lineObject=this.drawHelper(this.startPoint,this.endPoint),this.updateLine(),this.cubeList.forEach((function(e){i.viewer3D.addExternalObject(e.key,e)}))),this.viewer3D.viewportDiv.addEventListener("mousemove",this.moveCubeFn),this.viewer3D.registerCameraEventListener(Fd.ON_CAMERA_CHANGE,this.cameraChangeFn)}},{key:"stop",value:function(e){var t=this;this.switchDragCube(""),e||(this.viewer3D.removeExternalObjectByName(FD),this.viewer3D.removeExternalObjectByName(UD),this.viewer3D.viewportDiv.removeEventListener("mousemove",this.moveCubeFn),this.viewer3D.unregisterCameraEventListener(Fd.ON_CAMERA_CHANGE,this.cameraChangeFn),this.adding&&(this.viewer3D.viewportDiv.style.cursor="")),this.cubeList.forEach((function(e){t.viewer3D.removeExternalObjectByName(e.key)})),this.adding=!1,this.removing=!1}},{key:"clearEdit",value:function(){this.switchDragCube("")}},{key:"addCube",value:function(e){return!this.adding&&(this.viewer3D.viewportDiv.removeEventListener("mousemove",this.mousemoveFn),this.adding=!0,this.switchDragCube(""),this.mousemoveFn=bD(this.hoverLineListener(),16),this.viewer3D.viewportDiv.addEventListener("mousemove",this.mousemoveFn),this.clickFn=this.clickToAddCube(e),this.viewer3D.viewportDiv.addEventListener("click",this.clickFn),this.viewer3D.viewportDiv.style.cursor="url(".concat(QD,") -12 -12, auto"),!0)}},{key:"rmCube",value:function(e,t){return!this.removing&&0!==this.cubeList.length&&(this.recorder.record("remove",{mesh:this.cubeList[e],index:e}),this._rmCube(this.cubeList[e],t),!0)}},{key:"_rmCube",value:function(e,t){var i=this;this.switchDragCube(""),this.cubeList.some((function(n,r){return n===e&&(i.viewer3D.removeExternalObjectByName(e.key),i.cubeList.splice(r,1),i.updateLine(),i.updateTag(),i.viewer3D.viewportDiv.removeEventListener("click",i.rmCubeFn),i.viewer3D.render(),i.removing=!1,t(r),!0)}))}},{key:"updateCubePosition",value:function(e,t){var i=this;this.cubeList.some((function(n){if(n.key===e){i.recorder.record("move",{key:e,from:n.position.clone(),to:n.position.clone().fromArray(t)});var r=new yt;return r.elements[12]=t[0]-n.position.x,r.elements[13]=t[1]-n.position.y,r.elements[14]=t[2]-n.position.z,i.viewer3D.componentApplyMatrix(e,r),i.updateLine(),i.editKey&&i.switchDragCube(""),i.viewer3D.render(),!0}return!1}))}},{key:"getList",value:function(){return Hb(this.cubeList.map((function(e){return{position:e.position.toArray(),key:e.uuid}})))}},{key:"getCurve",value:function(){var e=[this.startPoint.clone()];return this.cubeList.forEach((function(t){e.push(t.position.clone())})),e.push(this.endPoint.clone()),this.curve.setControlPoints(e),this.curve}},{key:"reset",value:function(){var e=this;this.switchDragCube(""),this.cubeList.forEach((function(t){e.viewer3D.removeExternalObjectByName(t.key)})),this.cubeList=[],this.updateLine(),this.recorder.init(),this.viewer3D.render()}},{key:"canUndo",value:function(){return this.recorder.canUndo()}},{key:"undo",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};this.adding||this.removing||this.recorder.undo((function(i){switch(e.switchDragCube(""),i.type){case"add":e._rmCube(i.payload,t);break;case"remove":for(var n=e.cubeList.length-1;n>=i.payload.index;n-=1)e.cubeList[n+1]=e.cubeList[n];var r=i.payload.mesh;e.cubeList[i.payload.index]=r,e.updateLine(),e.viewer3D.addExternalObject(r.key,r),t(r.position.toArray());break;case"move":var o=e.viewer3D.getExternalObjectByName(i.payload.key),a=new yt;a.elements[12]=i.payload.from.x-o.position.x,a.elements[13]=i.payload.from.y-o.position.y,a.elements[14]=i.payload.from.z-o.position.z,e.viewer3D.componentApplyMatrix(o.key,a),e.updateLine(),e.viewer3D.render(),t()}}))}},{key:"canRedo",value:function(){return this.recorder.canRedo()}},{key:"redo",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};this.adding||this.removing||this.recorder.redo((function(i){e.switchDragCube("");var n=e.curve.getPointsInfo().controlPointsIndex.findIndex((function(e){return e.order>i.payload.index}));switch(i.type){case"add":-1===n?e.cubeList.push(i.payload):e.cubeList.splice(n-1,0,i.payload),e.updateLine(),e.viewer3D.addExternalObject(i.payload.key,i.payload),t(i.payload.position.toArray());break;case"remove":e._rmCube(i.payload.mesh,t);break;case"move":var r=e.viewer3D.getExternalObjectByName(i.payload.key),o=new yt;o.elements[12]=i.payload.to.x-r.position.x,o.elements[13]=i.payload.to.y-r.position.y,o.elements[14]=i.payload.to.z-r.position.z,e.viewer3D.componentApplyMatrix(r.key,o),e.updateLine(),e.viewer3D.render(),t()}}))}},{key:"preview",value:function(e){this.switchDragCube(""),this.viewer3D.adaptiveSizeByKey(this.cubeList[e].key)}},{key:"clickToAddCube",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};return function(){if(e.tmpCube){var i=e;e.viewer3D.viewportDiv.removeEventListener("mousemove",e.mousemoveFn),e.viewer3D.viewportDiv.removeEventListener("click",e.clickFn),e.viewer3D.viewportDiv.style.cursor="";var n=e.curve.getPointsInfo().controlPointsIndex.findIndex((function(e){return e.order>i.tmpCube.index}));-1===n?e.cubeList.push(e.tmpCube):e.cubeList.splice(n-1,0,e.tmpCube),e.updateLine(),e.recorder.record("add",e.tmpCube);var r=e.tmpCube.position.toArray();e.tmpCube=null,e.adding=!1,t(r)}}}},{key:"genCubeObject",value:function(e){var t=new il({color:16777215*Math.random()}),i=new on(200,200,200);this.models.length&&"m"===this.models[0].originalLengthUnit&&(i=new on(.2,.2,.2));var n=new nn(i,t);if(!e)throw new Error("need position");return n.position.copy(e),n}},{key:"drawHelper",value:function(e,t){var i=[];i.push(this.genCubeObject(e),this.genCubeObject(t)),this.curve=new DD({controlPoints:[e.clone(),t.clone()],coef:.3});for(var n=this.curve.getPoints(),r=[],o=0,a=n.length;a>o;o+=1)r.push(n[o].x),r.push(n[o].y),r.push(n[o].z);var s=new Ni;s.setAttribute("position",new Bi(r,3));var l=new Sa({color:5095679,transparent:!1}),c=new Ua(s,l);return this.viewer3D.addExternalObject(UD,c),this.viewer3D.addExternalObject(FD,i),c.updateMatrixWorld(!0),c}},{key:"updateLine",value:function(){for(var e=new Ni,t=this.getCurve().getPoints(),i=[],n=0,r=t.length;r>n;n+=1)i.push(t[n].x),i.push(t[n].y),i.push(t[n].z);e.setAttribute("position",new Bi(i,3)),e.attributes.position.needUpdate=!0,this.lineObject.geometry=e,this.lineObject.updateMatrixWorld(!0)}},{key:"updateTag",value:function(){var e=this;if(this.editKey){var t=0;this.cubeList.some((function(i,n){return i.key===e.editKey&&(t=n,!0)})),this.tag.innerText="帧".concat(t+1);var i=this.viewer3D.getBoxByComponentsKey(this.editKey),n=this.viewer3D.getScreenCoordFromSceneCoord(i.getCenter(new Ke)).map((function(e){return Math.round(e)-50}));this.tag.style.top="".concat(n[1],"px"),this.tag.style.left="".concat(n[0],"px"),this.tag.style.display="block"}else this.tag.style.display="none"}},{key:"switchDragCube",value:function(e){var t=this;if(this.editKey===e||""===e)this.viewer3D.cancelTransformComponent(),this.editKey="",this.editMeshInitPos.set(0,0,0),this.updateTag();else{this.viewer3D.translateComponentByKey(e,this._onRender(e),(function(){var i=t.viewer3D.getExternalObjectByName(e);if(i){var n=i.position;t.recorder.record("move",{key:e,from:t.editMeshInitPos.clone(),to:n.clone()}),t.editMeshInitPos.copy(i.position)}}));var i=this.viewer3D.getExternalObjectByName(e);this.editKey=e,this.editMeshInitPos.copy(i.position),this.updateTag()}}},{key:"_onRender",value:function(e){var t=this;return bD((function(i){e===i&&(t.updateLine(),t.adding||t.onUserDrag(),t.updateTag(),console.debug("line refresh"))}),16)}},{key:"hoverLineListener",value:function(){var e,t=this,i=new Xp,n=new ke,r=this.viewer3D.getViewerImpl().camera;return i.params.Line.threshold=100,this.models.length&&"m"===this.models[0].originalLengthUnit&&(i.params.Line.threshold=.1),function(o){t.viewer3D.getViewerImpl().cameraControl.mapWindowToViewport(o.clientX,o.clientY,n),i.setFromCamera(n,r),i.near=r.near,i.far=r.far;var a=i.intersectObject(t.lineObject);a?(e?e.position.copy(a.point):(e=t.genCubeObject(a.point),t.viewer3D.addExternalObject("".concat(FD,"_").concat(RD()),e)),e.visible=!0,e.updateMatrixWorld(),t.tmpCube=e,t.tmpCube.index=a.index,t.viewer3D.render()):e?(e.visible=!1,t.tmpCube=null,t.viewer3D.render()):(t.tmpCube=null,t.viewer3D.render())}}},{key:"moveCubeListener",value:function(){var e=this,t=new Xp,i=new ke,n=this.viewer3D.getViewerImpl().camera;return function(r){if(!e.adding&&!e.removing){e.viewer3D.getViewerImpl().cameraControl.mapWindowToViewport(r.clientX,r.clientY,i),t.setFromCamera(i,n),t.near=n.near,t.far=n.far;var o=t.intersectObjects(e.cubeList);o&&o.object.key!==e.editKey&&e.switchDragCube(o.object.key)}}}},{key:"rmCubeListener",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=new Xp,n=new ke,r=this.viewer3D.getViewerImpl().camera;return i.params.Line.threshold=100,function(o){if(e.removing){e.viewer3D.getViewerImpl().cameraControl.mapWindowToViewport(o.clientX,o.clientY,n),i.setFromCamera(n,r),i.near=r.near,i.far=r.far;var a=i.intersectObjects(e.cubeList);a&&(e._rmCube(a.object,t),e.recorder.record("remove",a.object))}}}},{key:"cameraChangeListener",value:function(){this.editKey&&this.updateTag()}}]),e}(),OD=function(){function e(t){ru(this,e),this.position=t.position,this.target=t.target,this.up=t.up,this.quaternion=t.quaternion,this.id=t.id||(new Date).getTime().toString().slice(8),this.name=t.name||"视角".concat(t.perspNumber),this.circlePosition=t.circlePosition,this.curve=t.curve||null,this.editingFrameIndex=null,this.viewer=t.viewer,this.editing=!1,this.editor=t.editor||null,this.frameList=t.frameList||null}return au(e,[{key:"rename",value:function(e){this.name=e}},{key:"focus",value:function(){this.viewer.linearFlyTo(this)}},{key:"updatePosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.editing||(this.position=this.viewer.viewerImpl.camera.position.clone(),this.target=this.viewer.viewerImpl.camera.target.clone(),this.up=this.viewer.viewerImpl.camera.up.clone(),this.quaternion=this.viewer.viewerImpl.camera.quaternion.clone(),this.circlePosition=this.viewer.getViewerImpl().cameraControl.projectPositionToBottom(this.position)),this.editing&&e&&"function"==typeof e&&e()}},{key:"editPerspective",value:function(e){var t={x:e[0]-this.position.x,y:e[1]-this.position.y,z:e[2]-this.position.z};this.viewer.getViewerImpl().camera.position.add(t),this.viewer.getViewerImpl().camera.target.add(t),this.viewer.render(),this.position.add(t),this.target.add(t)}},{key:"setEditingStatus",value:function(e){this.editing=e}},{key:"clone",value:function(){var e=new this.constructor({circlePosition:this.circlePosition&&this.circlePosition.clone(),curve:this.curve&&this.curve.clone(),editing:this.editing,editingFrameIndex:this.editingFrameIndex,editor:this.editor,id:this.id,name:this.name,position:this.position&&this.position.clone(),quaternion:this.quaternion&&this.quaternion.clone(),target:this.target&&this.target.clone(),up:this.up&&this.up.clone(),viewer:this.viewer});return e.editing=this.editing,e.frameList=e.curve,e}}]),e}(),ND={Roam:nD,FreeRoam:rD,RouteRoam:function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,e)).Roam=oD,n.RoamPlayer=aD,n.Perspective=OD,n.viewer=e.viewer,n.routeObjList=[],n.roamPlayerList=[],n.initSpeedList=[],n.roamPlayingId=null,n.roamPauseId=null,n.tempRoute=[],n.perspectiveList=[],n.editingFrameIndex=0,n.perspectiveNumber=0,n.tempPlayer=null,n.backupPerspectiveEditor=null,n}return au(i,[{key:"getAllRoutes",value:function(){return this.routeObjList}},{key:"_getRoute",value:function(e){var t=-1,i=this.routeObjList.find((function(i,n){return i.getId()===e&&(t=n,!0)}));return{index:t,route:i}}},{key:"_getRoamPlayer",value:function(e){var t=-1,i=this.roamPlayerList.find((function(i,n){return i.roam.getId()===e&&(t=n,!0)}));return{index:t,player:i}}},{key:"createTempRoute",value:function(e){var t=this,i=new this.Roam(e),n=new this.RoamPlayer({roamData:i,viewer:this.viewer.getViewerImpl()});return n.addStopPlayCallback((function(){t.roamPlayingId=null})),n}},{key:"tempRoutePlay",value:function(e){var t=this.createTempRoute(e);this.tempPlayer=t,this.roamPlayingId||this.roamPauseId||("temp"===this.roamPauseId?t.continue():t.play(),this.roamPauseId=null,this.roamPlayingId="temp")}},{key:"tempLinearFlyTo",value:function(e,t){var i=this.viewer.getViewerImpl().camera;i.position.set(e.position.x,e.position.y,e.position.z),i.target.set(e.target.x,e.target.y,e.target.z),i.up.set(e.up.x,e.up.y,e.up.z),this.viewer.linearFlyTo(t)}},{key:"addRoute",value:function(e){for(var t=this,i=new this.Roam(e),n=-1,r=this.getAllRoutes(),o=0;r.length>o;o+=1)if(r[o].id===i.id){n=o;break}if(-1!==n){this.routeObjList.splice(n,1,i);var a=new this.RoamPlayer({roamData:i,viewer:this.viewer.getViewerImpl()});a.addStopPlayCallback((function(){t.roamPlayingId=null})),this.roamPlayerList.splice(n,1,a),this.initSpeedList.splice(n,1,e.roamTime)}else{this.routeObjList.push(i);var s=new this.RoamPlayer({roamData:i,viewer:this.viewer.getViewerImpl()});s.addStopPlayCallback((function(){t.roamPlayingId=null})),this.roamPlayerList.push(s),this.initSpeedList.push(e.roamTime)}return this.setPerspectiveList(),this.perspectiveNumber=0,this.editingFrameIndex=0,this.routeObjList}},{key:"rmRoam",value:function(e,t){var i=this._getRoute(e).index;if(i>=0){if(this.roamPlayingId===e||this.roamPauseId===e){if(!t)return!1;this.stopRoam(e)}return this.routeObjList.splice(i,1),this.roamPlayerList.splice(i,1),this.initSpeedList.splice(i,1),!0}return!1}},{key:"setSpeed",value:function(e,t){var i=this._getRoute(e),n=i.route;return!!n&&(n.setRoamTime(this.initSpeedList[i.index]/t),!0)}},{key:"getRoute",value:function(e){return this._getRoute(e).route}},{key:"getRoamPlayer",value:function(e){return this._getRoamPlayer(e).player}},{key:"getBlobData",value:function(e){var t=this.getRoute(e).export();return{fileName:"".concat(t.name).concat(lD),blob:new Blob([gD(t)])}}},{key:"startRoam",value:function(e,t){if(this.roamPlayingId||this.roamPauseId){if(!t)return!1;if(this.roamPlayingId)this.getRoamPlayer(this.roamPlayingId).stop();if(this.roamPauseId&&this.roamPauseId!==e)this.getRoamPlayer(this.roamPauseId).stop(),this.roamPauseId=null}var i=this.getRoamPlayer(e);return this.roamPauseId===e?i.continue():(i.stop(),i.play()),this.roamPauseId=null,this.roamPlayingId=e,!0}},{key:"pauseRoam",value:function(e){return e===this.roamPlayingId&&(this.getRoamPlayer(e).pause(),this.roamPlayingId=null,this.roamPauseId=e,!0)}},{key:"stopRoam",value:function(e){return e===(this.roamPauseId||this.roamPlayingId)&&(this.getRoamPlayer(e).stop(),this.roamPlayingId=null,this.roamPauseId=null,!0)}},{key:"setFrame",value:function(e,t){var i=this._getRoute(e),n=i.route,r=i.index;if(r>=0){var o=t>n.keyFrameList.length-1?n.keyFrameList.length-1:t;this.roamPlayerList[r].startFrom(n.keyFrameList[o].id),this.viewer.linearFlyTo(n.keyFrameList[o])}}},{key:"addPerspective",value:function(){var e=this._genPerspective();return this.perspectiveList.push(e),e}},{key:"reGenPerspective",value:function(e){var t=this,i=e.map((function(e){if(e.viewer=e.viewer||t.viewer,e.editor){var i=e.editor.cubeList.map((function(e){return e&&new Ke(e.position.x,e.position.y,e.position.z)})),n=new LD({viewer3D:t.viewer,startPoint:new Ke(e.editor.startPoint.x,e.editor.startPoint.y,e.editor.startPoint.z),endPoint:new Ke(e.editor.endPoint.x,e.editor.endPoint.y,e.editor.endPoint.z)});return e.editor=n,e.editor.cubeList=i.map((function(t){return t&&e.editor.genCubeObject(t)})),e.frameList=e.curve,new OD(e)}return new OD(e)}));return this.setPerspectiveList(i),i}},{key:"insertPerspective",value:function(e,t,i){var n=this._genPerspective();0===t?(this._clearFrameEditorAndFrameList(e),this.perspectiveList.splice(e,0,n)):(this._clearFrameEditorAndFrameList(e+1),this.perspectiveList.splice(e+1,0,n)),i&&"function"==typeof i&&i()}},{key:"getPerspectiveList",value:function(){return this.perspectiveList}},{key:"setPerspectiveList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.perspectiveList=e}},{key:"editFrame",value:function(e){if(e){if(e===this.editingFrameIndex)return this.perspectiveList[e].editor&&this.perspectiveList[e].editor.stop(),this.editingFrameIndex=0,void(this.perspectiveList[e].editing=!1);if(0===this.editingFrameIndex){var t=!1,i=this.perspectiveList[e];this.editingFrameIndex=e,i.editing=!0,i.editor||(i.editor=new LD({viewer3D:this.viewer}),t=!0),i.editor.start(t?this.perspectiveList[e-1].position.clone():void 0,t?i.position.clone():void 0),this.backupPerspectiveEditor={cubeList:i.editor.cubeList.map((function(e){return{position:e.position}})),startPoint:i.editor.startPoint,endPoint:i.editor.endPoint}}}}},{key:"resetPerspectiveCubeList",value:function(e,t){if(!this.backupPerspectiveEditor&&t){var i=this.getRoute(t);return i.keyFrameList[e].editor=null,this.routeObjList.forEach((function(e){e.id===t&&(e=i)})),this.editingFrameIndex=0,void(this.backupPerspectiveEditor=null)}var n=this.backupPerspectiveEditor.cubeList.map((function(e){return e&&new Ke(e.position.x,e.position.y,e.position.z)})),r=new LD({viewer3D:this.viewer,startPoint:new Ke(this.backupPerspectiveEditor.startPoint.x,this.backupPerspectiveEditor.startPoint.y,this.backupPerspectiveEditor.startPoint.z),endPoint:new Ke(this.backupPerspectiveEditor.endPoint.x,this.backupPerspectiveEditor.endPoint.y,this.backupPerspectiveEditor.endPoint.z)});if(t){var o=this.getRoute(t);r.cubeList=n.map((function(e){return e&&r.genCubeObject(e)})),o.keyFrameList[e].editor=r,this.routeObjList.forEach((function(e){e.id===t&&(e=o)}))}this.editingFrameIndex=0,this.backupPerspectiveEditor=null}},{key:"getEditFrameStatus",value:function(){return this.editingFrameIndex}},{key:"saveEditFrameList",value:function(e,t){if(0!==e){var i=this.perspectiveList[e];t.points.length>2?(i.frameList=new DD({controlPoints:t.points,coef:t.coef}),i.frameList.getPoints(),i.editor.clearEdit()):(i.curve=null,i.frameList=null)}}},{key:"clearAllFrameData",value:function(){this.perspectiveList.forEach((function(e){e.editor=null,e.frameList=null}))}},{key:"removePerspective",value:function(e){this.perspectiveList[e+1]&&(this.perspectiveList[e+1].editor=null,this.perspectiveList[e+1].frameList=null),this.perspectiveList.splice(e,1)}},{key:"_genPerspective",value:function(){this.perspectiveNumber+=1;var e=this.viewer,t=e.viewerImpl.camera.position.clone();return new this.Perspective({position:t,target:e.viewerImpl.camera.target.clone(),up:e.viewerImpl.camera.up.clone(),quaternion:e.viewerImpl.camera.quaternion.clone(),perspNumber:this.perspectiveNumber,circlePosition:e.getViewerImpl().cameraControl.projectPositionToBottom(t),viewer:this.viewer})}},{key:"_clearFrameEditorAndFrameList",value:function(e){this.perspectiveList[e]&&(this.perspectiveList[e].editor=null,this.perspectiveList[e].frameList=null)}}],[{key:"startRouteRoam",value:function(e){gu(cu(i),"startRoam",this).call(this,e)}}]),i}(nD),fileParser:fD,LineEditor:LD},PD={fontSize:100,color:"#ff0000",opacity:1,side:2,transparent:!0},GD=function(){function e(){ru(this,e)}return au(e,[{key:"createMesh",value:function(e,t){var i=Object.assign({},PD,t),n=e.generateShapes(i.text,i.fontSize),r=new gi(i),o=new Gs(n),a=new nn(o,r);return i.position&&this.setPos(a,i.position),i.rotation&&this.setRotation(a,i.rotation),i.matrix&&this.setMat(a,i.matrix),a}},{key:"setPos",value:function(e,t){var i;(i=e.position).set.apply(i,mu(t)),e.updateMatrixWorld(!0)}},{key:"setMat",value:function(e,t){e.applyMatrix4(t),e.updateMatrixWorld(!0)}},{key:"setRotation",value:function(e,t){var i;(i=e.rotation).set.apply(i,mu(t)),e.updateMatrixWorld(!0)}}]),e}(),KD=function(){function e(t){ru(this,e),this.fonts={},this.host=t.host}return au(e,[{key:"loadFont",value:function(e,t){var i=this;return new Promise((function(n,r){Yy({type:"POST",url:"".concat(i.host,"/api/fonts"),headers:{"Content-type":"application/json;charset=UTF-8"},data:JSON.stringify({font:e,text:t}),responseType:"json",success:function(t){"success"===t.code.toLowerCase()?(i.fonts[e]?Object.assign(i.fonts[e].data.glyphs,t.data.glyphs):(i.fonts[e]={},i.fonts[e].data=t.data),i.fonts[e].font=new Dc(i.fonts[e].data),n(i.fonts[e].font)):r(t)},error:function(e,t){r(t)}})}))}},{key:"getFont",value:function(e,t){var i=this;return new Promise((function(n,r){if(i.fonts[e]){for(var o=t.length,a="",s=0;o>s;s+=1)i.fonts[e].data.glyphs[t[s]]||(a+=t[s]);a?i.loadFont(e,a).then(n).catch(r):n(i.fonts[e].font)}else i.loadFont(e,t).then(n).catch(r)}))}}]),e}(),VD=function(){function e(t){ru(this,e),this.viewer=t.viewer.getViewerImpl(),this.meshes={},this.fontLib=new KD({host:t.viewer.host}),this.text=new GD,this.draggingId=""}return au(e,[{key:"addText",value:function(e){var t=this;return this.fontLib.getFont(e.fontName,e.text).then((function(i){var n=t.text.createMesh(i,e),r=wp.createUUID();return t.meshes[r]=n,t.viewer.getScene().add(n),t.viewer.render(),{code:"success",id:r}})).catch((function(e){return{code:"error",err:e}}))}},{key:"removeText",value:function(e){if(this.draggingId!==e){var t=this.meshes[e];t&&(this.viewer.getScene().remove(t),delete this.meshes[e],this.viewer.render())}}},{key:"setPosition",value:function(e,t){if(this.draggingId!==e){var i=this.meshes[e];i&&(this.text.setPos(i,t),this.viewer.render())}}},{key:"setMatrix",value:function(e,t){if(this.draggingId!==e){var i=this.meshes[e];i&&(this.text.setMat(i,t),this.viewer.render())}}},{key:"setRotation",value:function(e,t){if(this.draggingId!==e){var i=this.meshes[e];i&&(this.text.setRotation(i,t),this.viewer.render())}}},{key:"getTextIDs",value:function(){return Object.keys(this.meshes)}},{key:"dragText",value:function(e){if(""===this.draggingId){var t=this.meshes[e];t&&(this.viewer.translateComponentByKey(t),this.draggingId=e)}}},{key:"saveDragText",value:function(){""!==this.draggingId&&(this.viewer.cancelTransformComponent(!1),this.draggingId="")}}]),e}(),YD=function(){function e(t){ru(this,e),this.curves={},this.viewer=t.viewer3D,this.modelKey=t.modelKey}return au(e,[{key:"getId",value:function(e){return xp(JSON.stringify(e)).slice(0,8)}},{key:"getCurve",value:function(e){return this.curves[e]}},{key:"_setCurve",value:function(e,t){this.curves[e]=t}},{key:"_rmCurve",value:function(e){delete this.curves[e]}},{key:"genTHREELine",value:function(e){for(var t=e.num,i=void 0===t?100:t,n=e.debug,r=void 0!==n&&n,o=new Pl(e.points,e.closed,e.curveType,e.tension),a=this.getId(e),s=new Ni,l=o.getSpacedPoints(i),c=[],h=0,d=l.length;d>h;h+=1)c.push(l[h].x),c.push(l[h].y),c.push(l[h].z);s.setAttribute("position",new Bi(c,3));var u=new Sa({color:e.color||16777215*Math.random(),linewidth:6.18,depthTest:!0,transparent:!1}),p=new Ua(s,u);r&&(this.viewer.getViewerImpl().modelManager.getModel(this.modelKey).group.add(p),p.updateMatrixWorld(),this.viewer.render());return this._setCurve(a,{curve:o,num:i,line:p}),a}},{key:"rmCurve",value:function(e){var t=this.getCurve(e).line;this.viewer.getViewerImpl().modelManager.getModel(this.modelKey).group.remove(t),t.updateMatrixWorld(),this.viewer.render(),this._rmCurve(e)}}]),e}(),HD=function(){function e(t){ru(this,e),this.trackSet={},this.lineManager=new YD(t),this.viewer=t.viewer3D}return au(e,[{key:"_genLine",value:function(e){return this.lineManager.genTHREELine(e)}},{key:"addTrack",value:function(e){var t=((new Date).getTime()*(Math.random()+1)).toString(36).slice(0,8),i=this._genLine(e);return this.trackSet[t]={componentKey:e.componentKey,lineId:[i]},t}},{key:"appendTrack",value:function(e){var t=this.trackSet[e.trackId];if(t){var i=this._genLine(e);t.lineId.push(i)}}},{key:"removeTrack",value:function(e){var t=this,i=this.trackSet[e];i&&(i.lineId.forEach((function(e){t.lineManager.rmCurve(e)})),delete this.trackSet[e])}},{key:"startMove",value:function(e){var t=this,i=e.trackId,n=e.startDir,r=e.pointFn;return new Promise((function(e,o){var a=t.trackSet[i];if(a){var s=a.lineId,l=a.componentKey,c=new yt,h=s.length,d=t.lineManager.getCurve(s[0]).curve.getPoint(0),u=t.viewer.getBoxByComponentsKey(l),p=u.min,g=u.max,f=(new Ke).addVectors(p,g).divideScalar(2);c.elements[12]=d.x-f.x,c.elements[13]=d.y-f.y,c.elements[14]=d.z-f.z,t.viewer.componentApplyMatrix(l,c);var m=0,A=new yt,y=n.clone().normalize(),v=function n(o){var a=t.lineManager.getCurve(s[Math.trunc(m)]).curve.getPoint(m-Math.trunc(m)),d=h>o?t.lineManager.getCurve(s[Math.trunc(o)]).curve.getPoint(o-Math.trunc(o)):t.lineManager.getCurve(s[h-1]).curve.getPoint(1),u=new yt;u.elements[12]=-a.x,u.elements[13]=-a.y,u.elements[14]=-a.z;var p=new Ge,g=new Ke(d.x-a.x,d.y-a.y,d.z-a.z).normalize();p.setFromUnitVectors(y,g),y.applyQuaternion(p);var f=(new yt).makeRotationFromQuaternion(p),v=new yt;v.elements[12]=d.x,v.elements[13]=d.y,v.elements[14]=d.z,c.elements=A.elements,t.viewer.componentApplyMatrix(l,v.multiply(f).multiply(u)),m=o,h>o?"function"==typeof r?requestAnimationFrame((function(){n(r(i,o,d))})):requestAnimationFrame((function(){return n(parseFloat((o+.01).toFixed(2)))})):e({code:"success",trackId:i})};"function"==typeof r?requestAnimationFrame((function(){v(r(i,0,d))})):requestAnimationFrame((function(){return v(.01)}))}else o({code:"error",message:"找不到指定轨迹"})}))}}]),e}(),jD=function(e,t){nn.call(this,e);var i=this,n=void 0!==(t=t||{}).textureWidth?t.textureWidth:512,r=void 0!==t.textureHeight?t.textureHeight:512,o=void 0!==t.clipBias?t.clipBias:0,a=void 0!==t.alpha?t.alpha:1,s=void 0!==t.time?t.time:0,l=void 0!==t.waterNormals?t.waterNormals:null,c=void 0!==t.sunDirection?t.sunDirection:new Ke(.70707,.70707,0),h=new pi(void 0!==t.sunColor?t.sunColor:16777215),d=new pi(void 0!==t.waterColor?t.waterColor:8355711),u=void 0!==t.eye?t.eye:new Ke(0,0,0),p=void 0!==t.distortionScale?t.distortionScale:20,g=void 0!==t.side?t.side:0,f=void 0!==t.fog&&t.fog,m=new Jt,A=new Ke,y=new Ke,v=new Ke,I=new yt,x=new Ke(0,0,-1),w=new Le,M=new Ke,E=new Ke,B=new Le,S=new yt,b=new dn,D=new Oe(n,r,{minFilter:C,magFilter:C,format:k,stencilBuffer:!1});be.isPowerOfTwo(n)&&be.isPowerOfTwo(r)||(D.texture.generateMipmaps=!1);var T={uniforms:ln.merge([wn.fog,wn.lights,{normalSampler:{value:null},mirrorSampler:{value:null},alpha:{value:1},time:{value:0},size:{value:1},distortionScale:{value:20},textureMatrix:{value:new yt},sunColor:{value:new pi(8355711)},sunDirection:{value:new Ke(.70707,.70707,0)},eye:{value:new Ke},waterColor:{value:new pi(5592405)}}]),vertexShader:["uniform mat4 textureMatrix;","uniform float time;","varying vec4 mirrorCoord;","varying vec4 worldPosition;",xn.fog_pars_vertex,xn.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;",xn.fog_vertex,xn.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;","}",xn.common,xn.packing,xn.bsdfs,xn.fog_pars_fragment,xn.lights_pars_begin,xn.shadowmap_pars_fragment,xn.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 );",xn.tonemapping_fragment,xn.fog_fragment,"}"].join("\n")},R=new cn({fragmentShader:T.fragmentShader,vertexShader:T.vertexShader,uniforms:ln.clone(T.uniforms),transparent:1>a,lights:!0,side:g,fog:f});R.uniforms.mirrorSampler.value=D.texture,R.uniforms.textureMatrix.value=S,R.uniforms.alpha.value=a,R.uniforms.time.value=s,R.uniforms.normalSampler.value=l,R.uniforms.sunColor.value=h,R.uniforms.waterColor.value=d,R.uniforms.sunDirection.value=c,R.uniforms.distortionScale.value=p,R.uniforms.eye.value=u,i.material=R,i.onBeforeRender=function(e,t,n){if(y.setFromMatrixPosition(i.matrixWorld),v.setFromMatrixPosition(n.matrixWorld),I.extractRotation(i.matrixWorld),A.set(0,0,1),A.applyMatrix4(I),M.subVectors(y,v),0>=M.dot(A)){M.reflect(A).negate(),M.add(y),I.extractRotation(n.matrixWorld),x.set(0,0,-1),x.applyMatrix4(I),x.add(v),E.subVectors(y,x),E.reflect(A).negate(),E.add(y),b.position.copy(M),b.up.set(0,1,0),b.up.applyMatrix4(I),b.up.reflect(A),b.lookAt(E),b.far=n.far,b.updateMatrixWorld(),b.projectionMatrix.copy(n.projectionMatrix),S.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),S.multiply(b.projectionMatrix),S.multiply(b.matrixWorldInverse),m.setFromNormalAndCoplanarPoint(A,y),m.applyMatrix4(b.matrixWorldInverse),w.set(m.normal.x,m.normal.y,m.normal.z,m.constant);var r=b.projectionMatrix;B.x=(Math.sign(w.x)+r.elements[8])/r.elements[0],B.y=(Math.sign(w.y)+r.elements[9])/r.elements[5],B.z=-1,B.w=(1+r.elements[10])/r.elements[14],w.multiplyScalar(2/w.dot(B)),r.elements[2]=w.x,r.elements[6]=w.y,r.elements[10]=w.z+1-o,r.elements[14]=w.w,u.setFromMatrixPosition(n.matrixWorld);var a=e.getRenderTarget(),s=e.xr.enabled,l=e.shadowMap.autoUpdate;i.visible=!1,e.xr.enabled=!1,e.shadowMap.autoUpdate=!1,e.setRenderTarget(D),e.clear(),e.render(t,b),i.visible=!0,e.xr.enabled=s,e.shadowMap.autoUpdate=l,e.setRenderTarget(a)}}};(jD.prototype=Object.create(nn.prototype)).constructor=jD;var WD=function(e,t){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=e,this.element=this.create(t)};WD.prototype={constructor:WD,create:function(e){var t=this,i=t.defaultSetting;e&&(i=wp.extend(!0,t.defaultSetting,e));var n=document.createElement("div");return n.style.cssText+="width:190px;position:absolute;",i.colorRects&&n.appendChild(t.createRects(!!i.hasOpacity)),i.picker&&n.appendChild(t.createPicker(!!i.hasOpacity)),i.colorCode&&n.appendChild(t.createColorCode()),n.appendChild(t.createBtn()),t.element=n,n},createBtn:function(){var e=this,t=document.createElement("div"),i=document.createElement("button");i.className="btn-yes",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(){e.element.style.display="none"}));var n=document.createElement("button");return n.className="btn-no",n.innerHTML="取消",n.style.cssText+="display:inline-block;margin:10px;color:#000;background-color: #FFFFFF;border: 2px solid #FFFFFF;border-radius: 4px; width: 73px;height: 32px;",n.addEventListener("click",(function(){e.element.style.display="none"})),t.appendChild(i),t.appendChild(n),t},createRects:function(e){var t=this,i=document.createElement("div");i.className="rectFather",i.style.cssText+="width:180px;height:180px;margin-top:10px;margin-left:10px;display:flex;flex-wrap:wrap;align-items:flex-start;";for(var n=[],r=["00","55","AA","FF"],o=0,a=0,s=0,l="",c=0;64>c;)l="#"+r[o]+r[a]+r[s],n[c]=document.createElement("span"),n[c].className="spans"+c,n[c].style.cssText+="width:15px;height:15px;margin:1px 2px;border:1px solid #FFFFFF;background-color:"+l+";",n[c].setAttribute("color",l),i.appendChild(n[c]),(c+=1)%16==0?o+=1:c%4==0?(a+=1)>3&&(a=0):(s+=1)>3&&(s=0);var h=i.querySelectorAll("span");return ag.addEventListener(h,"click",(function(i){for(var n=0;h.length>n;n+=1)h[n].style.cssText+="border:1px solid #FFFFFF;";var r=i.target;r.style.cssText+="border:2px solid #000000;";var o=r.getAttribute("color");e?t.setColor(o,1):t.setColor(o),i.stopPropagation?i.stopPropagation():i.cancelBubble=!0})),i},createPicker:function(e){var t=this,i=document.createElement("div");i.style.cssText+="width:180px;margin-left:10px;";var n=document.createElement("span");n.className="colorShow",n.style.cssText+="display:block;width:170px;height:30px;border-radius:5px;margin-top:10px;margin-bottom:10px;background-color:#FFFFFF;",i.appendChild(n);var r=document.createElement("span");r.innerHTML="红 : ",r.style.color="#FF0000";var o=document.createElement("input");o.type="range",o.className="redRange",o.style.cssText+="background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #FF0000;",o.setAttribute("step","1"),o.setAttribute("min","0"),o.setAttribute("max","255"),o.setAttribute("value","255");var a=document.createElement("div");a.appendChild(r),a.appendChild(o),i.appendChild(a);var s=document.createElement("span");s.innerHTML="绿 : ",s.style.color="#00FF00";var l=document.createElement("input");l.type="range",l.className="greenRange",l.style.cssText+="background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #00FF00;",l.setAttribute("step","1"),l.setAttribute("min","0"),l.setAttribute("max","255"),l.setAttribute("value","255");var c=document.createElement("div");c.appendChild(s),c.appendChild(l),i.appendChild(c);var h=document.createElement("span");h.innerHTML="蓝 : ",h.style.color="#0000FF";var d=document.createElement("input");d.type="range",d.className="blueRange",d.style.cssText+="background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #0000FF;",d.setAttribute("step","1"),d.setAttribute("min","0"),d.setAttribute("max","255"),d.setAttribute("value","255");var u=document.createElement("div");u.appendChild(h),u.appendChild(d),i.appendChild(u);var p=i.querySelector(".redRange"),g=i.querySelector(".greenRange"),f=i.querySelector(".blueRange"),m=null;if(p.addEventListener("input",(function(){var i="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(f.value)).toString(16).slice(1);if(e){var n=Number(m.value);t.setColor(i,n)}else t.setColor(i)})),g.addEventListener("input",(function(){var i="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(f.value)).toString(16).slice(1);if(e){var n=Number(m.value);t.setColor(i,n)}else t.setColor(i)})),f.addEventListener("input",(function(){var i="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(f.value)).toString(16).slice(1);if(e){var n=Number(m.value);t.setColor(i,n)}else t.setColor(i)})),e){var A=document.createElement("span");A.innerHTML="透明度 : ",A.style.color="#FFFFFF";var y=document.createElement("input");y.type="range",y.className="opacityRange",y.style.cssText+="width:97px;background:linear-gradient(#FFFFFF, #FFFFFF) no-repeat, #FFFFFF;",y.setAttribute("step","0.01"),y.setAttribute("min","0"),y.setAttribute("max","1"),y.setAttribute("value","1");var v=document.createElement("div");v.appendChild(A),v.appendChild(y),i.appendChild(v),(m=i.querySelector(".opacityRange")).addEventListener("input",(function(){var e="#"+((1<<24)+(Number(p.value)<<16)+(Number(g.value)<<8)+Number(f.value)).toString(16).slice(1),i=Number(m.value);t.setColor(e,i)}))}return i},createColorCode:function(){var e=this,t=document.createElement("div");t.style.cssText+="width:180px;margin-left:10px;";var i=document.createElement("input");i.className="colorCode",i.type="text",i.style.cssText+="display:block;float:left;width:110px;margin:10px 10px 10px 0;padding-left:3px;",i.value="#ffffff",t.appendChild(i);var n=document.createElement("span");return n.className="colorCodeBtn",n.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;",n.innerHTML="HEX",n.addEventListener("click",(function(t){var i=t.target.textContent,n=e.element.querySelector(".colorCode").value;if(e.element.querySelector(".opacityRange"))var r=Number(e.element.querySelector(".opacityRange").value);"HEX"===i?t.target.innerHTML="RGB":"RGB"===i&&(t.target.innerHTML="HEX"),e.setColor(n,r)})),t.appendChild(n),t},colorRgbToHex:function(e){if(e){var t=(e=e.toLowerCase()).replace(/rgba?\(/,"").replace(/\)/,"").replace(/[\s+]/g,"").split(","),i=parseFloat(t[3]||1),n=Math.floor(i*parseInt(t[0],0)+255*(1-i)),r=Math.floor(i*parseInt(t[1],0)+255*(1-i)),o=Math.floor(i*parseInt(t[2],0)+255*(1-i));return"#"+("0"+n.toString(16)).slice(-2)+("0"+r.toString(16)).slice(-2)+("0"+o.toString(16)).slice(-2)}return e},colorHexToRgb:function(e,t){var i=e.toLowerCase();if(i&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(i)){if(4===i.length){for(var n="#",r=1;4>r;r+=1)n+=i.slice(r,r+1).concat(i.slice(r,r+1));i=n}for(var o=[],a=1;7>a;a+=2)o.push(parseInt("0x"+i.slice(a,a+2),0));if(!isNaN(t)){var s=Number(t);return 0>s||s>1?i:"rgba("+o.join(",")+","+s+")"}return"rgb("+o.join(",")+")"}return i},checkColor:function(e){var t={};if(e){var i=e.toLowerCase();i&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(i)?(t.color=!0,t.hex=!0,t.rgb=!1,t.hsl=!1,t.hexLength=4===i.length?3:6):i&&/^rgb/.test(i)?(t.color=!0,t.hex=!1,t.rgb=!0,t.hsl=!1):i&&/^hsl/.test(i)?(t.color=!0,t.hex=!1,t.rgb=!1,t.hsl=!0):(t.color=!1,t.hex=!1,t.rgb=!1,t.hsl=!1)}else t.color=!1,t.hex=!1,t.rgb=!1,t.hsl=!1;return t},setColor:function(e,t){var i=this,n=i.defaultSetting;if(n.picker||n.colorCode){var r=i.checkColor(e);if(r.color){var o="",a="",s=e.toLowerCase();if(r.hex){if(3===r.hexLength){for(var l="#",c=1;4>c;c+=1)l+=s.slice(c,c+1).concat(s.slice(c,c+1));s=l}a=s,o=i.colorHexToRgb(e,t)}else r.rgb&&(a=i.colorRgbToHex(e),o=s);if(o){if(n.picker){ag.css(i.element.querySelector(".colorShow"),{"background-color":o});var h=i.getRgbNumber(a);3===h.length&&(i.element.querySelector(".redRange").value=h[0],i.element.querySelector(".greenRange").value=h[1],i.element.querySelector(".blueRange").value=h[2],t&&(i.element.querySelector(".opacityRange").value=t))}if(n.colorCode){var d=i.element.querySelector(".colorCode");d.value=a;var u=i.element.querySelector(".colorCodeBtn").textContent;"HEX"===u?d.value=a:"RGB"===u&&(d.value=o)}i.colorInputDom.value=o,ag.simulateEvent(i.colorInputDom,"change")}}}},getRgbNumber:function(e){var t=[],i=this.checkColor(e);if(i.color){var n=e.toLowerCase();if(i.hex){if(3===i.hexLength){for(var r="#",o=1;4>o;o+=1)r+=n.slice(o,o+1).concat(n.slice(o,o+1));n=r}for(var a=1;7>a;a+=2)t.push(parseInt("0x"+n.slice(a,a+2),0))}}return t}};var JD={};JD.fullScreen=function(e){if(!e)return!1;if(e.requestFullscreen)e.requestFullscreen();else if(e.mozRequestFullScreen)e.mozRequestFullScreen();else if(e.webkitRequestFullscreen)e.webkitRequestFullscreen();else{if(!e.msRequestFullscreen)return!1;e.msRequestFullscreen()}},JD.exitFullScreen=function(){document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen()},JD.onFullScreenChanged=function(e){var t=function(){e&&e()};document.onfullscreenchange=t,document.onwebkitfullscreenchange=t,document.documentElement.onwebkitfullscreenchange=t,document.onmozfullscreenchange=t,document.onmsfullscreenchange=t},JD.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"))},JD.findFullScreenElement=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},JD.isFullScreenAvailable=function(e){return e.requestFullscreen||e.mozRequestFullScreen||e.webkitRequestFullscreen||e.msRequestFullscreen};var zD=JD,qD=function(e,t){this.coordinateSystem=e,this.viewer=e.viewer,this.drawingImpl=t,this.viewportOffset=this.viewer.domElement.getBoundingClientRect(),this.cameraControl=this.viewer.cameraControl,this.fillClipPlane=this.viewer.getScene().getFillClipPlane(),this.initialize()};qD.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 ke,this.translateEndPt=new ke,this.rotateAngleA=0,this.rotateAngleB=0,this.config=this.coordinateSystem.config},qD.prototype.registerArrowEvents=function(){var e=this.drawingImpl.getDrawable("axisZ"),t=this,i=this.config.colors;e.onmouseover=function(){!0!==t.circleXMouseDown&&!0!==t.circleYMouseDown&&(t.drawingImpl.setColor("axisZ",i.highLight),t.drawingImpl.fill("arrow",i.highLight),t.drawingImpl.setColor("tipArcX",i.default),t.drawingImpl.fill("cubeX",i.default),t.drawingImpl.setColor("tipArcY",i.default),t.drawingImpl.fill("cubeY",i.default),t.lineOut=!1)},e.onmouseout=function(){!0!==t.circleXMouseDown&&!0!==t.circleYMouseDown&&!1===t.arrowMouseDown&&!0===t.arrowOut&&(t.drawingImpl.setColor("axisZ",i.arrow),t.drawingImpl.fill("arrow",i.arrow),t.drawingImpl.setColor("tipArcX",i.tipArcX),t.drawingImpl.fill("cubeX",i.cubeX),t.drawingImpl.setColor("tipArcY",i.tipArcY),t.drawingImpl.fill("cubeY",i.cubeY),t.lineOut=!0)},e.onmousedown=function(e){t.arrowMouseDown=!0,t.lineOut=!1;var i=t.config.colors;t.drawingImpl.setColor("axisZ",i.highLight),t.drawingImpl.fill("arrow",i.highLight),t.coordinateSystem.colorUpdate=!1,t.translateStartPt.set(e.clientX,e.clientY)};var n=this.drawingImpl.getDrawable("arrow");n.onmouseover=function(){if(!0!==t.circleXMouseDown&&!0!==t.circleYMouseDown){t.arrowOut=!1;var e=t.config.colors;t.drawingImpl.fill("arrow",e.highLight),t.drawingImpl.setColor("axisZ",e.highLight),t.drawingImpl.setColor("tipArcX",e.default),t.drawingImpl.fill("cubeX",e.default),t.drawingImpl.setColor("tipArcY",e.default),t.drawingImpl.fill("cubeY",e.default)}},n.onmouseout=function(){if(!0!==t.circleXMouseDown&&!0!==t.circleYMouseDown&&!1===t.arrowMouseDown&&!0===t.lineOut){t.arrowOut=!0;var e=t.config.colors;t.drawingImpl.setColor("axisZ",e.arrow),t.drawingImpl.fill("arrow",e.arrow),t.drawingImpl.setColor("tipArcX",e.tipArcX),t.drawingImpl.fill("cubeX",e.cubeX),t.drawingImpl.setColor("tipArcY",e.tipArcY),t.drawingImpl.fill("cubeY",e.cubeY)}},n.onmousedown=function(e){t.arrowMouseDown=!0,t.arrowOut=!1;var i=t.config.colors;t.drawingImpl.setColor("axisZ",i.highLight),t.drawingImpl.fill("arrow",i.highLight),t.translateStartPt.set(e.clientX,e.clientY)},document.onmousemove=function(e){if(!0===t.arrowMouseDown){if(!(e.clientX===t.translateStartPt.x&&e.clientY===t.translateStartPt.y)){var i=t.fillClipPlane.renderClipPlane,n=i.normal.clone();n.w=i.constant;var r=t.cameraControl.movePlane(n,e,t.translateStartPt,!1,t.fillClipPlane.position.clone());null!==r&&t.fillClipPlane.offset(r),t.translateStartPt.set(e.clientX,e.clientY),t.cameraControl.update(!0)}t.coordinateSystem.update();var o=t.config.colors;t.drawingImpl.setColor("axisZ",o.highLight),t.drawingImpl.fill("arrow",o.highLight),t.drawingImpl.setColor("tipArcX",o.default),t.drawingImpl.fill("cubeX",o.default),t.drawingImpl.setColor("tipArcY",o.default),t.drawingImpl.fill("cubeY",o.default),e.preventDefault(),e.stopPropagation()}},document.onmouseup=function(){if(!1!==t.arrowMouseDown){t.arrowMouseDown=!1,t.coordinateSystem.colorUpdate=!0;var e=t.config.colors;t.drawingImpl.setColor("axisZ",e.arrow),t.drawingImpl.fill("arrow",e.arrow),t.drawingImpl.setColor("tipArcX",e.tipArcX),t.drawingImpl.fill("cubeX",e.cubeX),t.drawingImpl.setColor("tipArcY",e.tipArcY),t.drawingImpl.fill("cubeY",e.cubeY),xd.ClippingCaps=!0,t.viewer.render()}}},qD.prototype.registerCircleXEvents=function(){var e=this,t=this.config.colors,i=this.drawingImpl.getDrawable("tipArcX");i.onmousedown=function(){e.circleXMouseDown=!0,e.drawingImpl.setColor("axisZ",t.default),e.drawingImpl.fill("arrow",t.default),e.enableCircleXMovement()},i.onmouseout=function(){!1===e.circleXMouseDown&&(e.drawingImpl.setColor("axisZ",t.arrow),e.drawingImpl.fill("arrow",t.arrow),e.drawingImpl.setColor("tipArcY",t.tipArcY),e.drawingImpl.fill("cubeY",t.cubeY),e.coordinateSystem.circleToArc("tipArcX"))},document.addEventListener("mouseup",(function(){!0===e.circleXMouseDown&&(xd.ClippingCaps=!0,e.viewer.render()),e.circleXMouseDown=!1,e.firstClickDown=!0,e.firstRotate=!1,e.lastRotateX=0,e.lastRotateY=0,e.drawingImpl.show("tipArcY",!0),e.drawingImpl.show("axisY",!0),e.drawingImpl.show("axisZ",!0),e.drawingImpl.show("cubeY",!0),e.coordinateSystem.update(),e.drawingImpl.show("dashLineX",!1),e.drawingImpl.setColor("axisZ",t.arrow),e.drawingImpl.fill("arrow",t.arrow)}))},qD.prototype.registerCircleYEvents=function(){var e=this,t=this.config.colors,i=this.drawingImpl.getDrawable("tipArcY");i.onmousedown=function(){e.circleYMouseDown=!0,e.drawingImpl.setColor("axisZ",t.default),e.drawingImpl.fill("arrow",t.default),e.enableCircleYMovement()},i.onmouseout=function(){!1===e.circleYMouseDown&&(e.drawingImpl.setColor("axisZ",t.arrow),e.drawingImpl.fill("arrow",t.arrow),e.coordinateSystem.circleToArc("tipArcY"),e.drawingImpl.setColor("tipArcX",t.tipArcX),e.drawingImpl.fill("cubeX",t.cubeX))},document.addEventListener("mouseup",(function(){!0===e.circleYMouseDown&&(xd.ClippingCaps=!0,e.viewer.render()),e.circleYMouseDown=!1,e.drawingImpl.show("tipArcX",!0),e.drawingImpl.show("cubeX",!0),e.coordinateSystem.update(),e.drawingImpl.show("dashLineY",!1),e.drawingImpl.setColor("axisZ",t.arrow),e.drawingImpl.fill("arrow",t.arrow)}))},qD.prototype.enableCircleXMovement=function(){var e=this,t=this.config.colors;document.addEventListener("mousemove",(function(i){if(!0===e.circleXMouseDown){e.drawingImpl.show("dashLineX",!0),e.drawingImpl.setColor("axisZ",t.default),e.drawingImpl.fill("arrow",t.default),xd.ClippingCaps=!1;var n=e.fillClipPlane.normalIndex,r=e.viewportOffset,o=new ke(i.clientX-r.left,i.clientY-r.top),a=e.calcRotateAngleIndex(o,e.coordinateSystem.discretePointsX);!0===e.firstClickDown&&(e.lastIndex=a);var s=2*(a-e.lastIndex);n>3&&(s=-s),e.drawingImpl.show("tipArcY",!1),e.coordinateSystem.updateAxisZ();var l=e.fillClipPlane.renderClipPlane.normal.clone(),c=e.coordinateSystem.getCoordinateAxis(),h=e.config.styles;e.coordinateSystem.drawClipPlaneCircle("tipArcZ",c.start.clone(),h.auxCircleRadius,e.coordinateSystem.dirX,l);var d=e.coordinateSystem.drawingToCanvas(c.start.clone()),u=e.coordinateSystem.drawingToCanvas(c.endY.clone());e.coordinateSystem.drawAxisY(d,u,t.highLight),e.coordinateSystem.drawCubeX("cubeX",u,h.cubeRadius),e.drawingImpl.show("cubeY",!1);var p="x";2>n&&(p="y"),e.fillClipPlane.rotateAngleOffset(s,p),e.coordinateSystem.backwardCoordinate(),!0===e.firstClickDown?e.firstClickDown=!1:e.lastIndex=a,e.translateStartPt.set(i.clientX,i.clientY),e.viewer.render(),i.preventDefault(),i.stopPropagation()}}))},qD.prototype.enableCircleYMovement=function(){var e=this,t=this.config.colors;document.addEventListener("mousemove",(function(i){if(!0===e.circleYMouseDown){e.drawingImpl.show("dashLineY",!0),e.drawingImpl.setColor("axisZ",t.default),e.drawingImpl.fill("arrow",t.default),xd.ClippingCaps=!1;var n=e.fillClipPlane.normalIndex,r=e.viewportOffset,o=new ke(i.clientX-r.left,i.clientY-r.top),a=e.calcRotateAngleIndex(o,e.coordinateSystem.discretePointsY);!0===e.firstClickDown&&(e.lastIndex=a);var s=2*(a-e.lastIndex);n>3&&(s=-s),e.drawingImpl.show("tipArcX",!1),e.coordinateSystem.updateAxisZ();var l=e.fillClipPlane.renderClipPlane.normal.clone(),c=e.coordinateSystem.getCoordinateAxis(),h=e.config.styles;e.coordinateSystem.drawClipPlaneCircle("tipArcZ",c.start.clone(),h.auxCircleRadius,e.coordinateSystem.dirX.clone(),l.clone());var d=e.coordinateSystem.drawingToCanvas(c.start.clone()),u=e.coordinateSystem.drawingToCanvas(c.endX.clone());e.coordinateSystem.drawAxisX(d,u,t.highLight),e.coordinateSystem.drawCubeY("cubeY",u,h.cubeRadius),e.drawingImpl.show("cubeX",!1);var p="z";n>3&&(p="y"),e.fillClipPlane.rotateAngleOffset(s,p),e.coordinateSystem.backwardCoordinate(),!0===e.firstClickDown?e.firstClickDown=!1:e.lastIndex=a,e.translateStartPt.set(i.clientX,i.clientY),e.viewer.render(),i.preventDefault(),i.stopPropagation()}}))},qD.prototype.registerTipArcXEvents=function(){var e=this,t=this.config.colors,i=this.drawingImpl.getDrawable("tipArcX");i.onmouseover=function(){!1===e.circleYMouseDown&&(e.coordinateSystem.arcToCircle("tipArcX"),e.drawingImpl.setColor("tipArcY",t.default),e.drawingImpl.fill("cubeY",t.default),e.drawingImpl.setColor("axisZ",t.default),e.drawingImpl.fill("arrow",t.default),e.registerCircleXEvents())},i.onmouseout=function(){!1===e.circleXMouseDown&&e.coordinateSystem.circleToArc("tipArcX")}},qD.prototype.registerTipArcYEvents=function(){var e=this,t=this.config.colors,i=this.drawingImpl.getDrawable("tipArcY");i.onmouseover=function(){!1===e.circleXMouseDown&&(e.coordinateSystem.arcToCircle("tipArcY"),e.drawingImpl.setColor("tipArcX",t.default),e.drawingImpl.fill("cubeX",t.default),e.drawingImpl.setColor("axisZ",t.default),e.drawingImpl.fill("arrow",t.default),e.registerCircleYEvents())},i.onmouseout=function(){!1===e.circleYMouseDown&&e.coordinateSystem.circleToArc("tipArcY")}},qD.prototype.calcRotateAngleIndex=function(e,t){for(var i=this.createLine(e,this.coordinateSystem.cOrigin),n=-1,r=Number.POSITIVE_INFINITY,o=0;90>o;o+=1){var a=t[o].clone(),s=this.disPointToLine(a,i);r>s&&(r=s,n=o)}var l=90+n,c=t[n].clone().distanceTo(e);return t[l].clone().distanceTo(e)>c?n:l},qD.prototype.createLine=function(e,t){var i={};if(e.x===t.x)i.A=1,i.B=0,i.C=-e.x;else{var n=(t.y-e.y)/(t.x-e.x),r=t.y-n*t.x;i.A=n,i.B=-1,i.C=r}return i},qD.prototype.disPointToLine=function(e,t){return Math.abs(t.A*e.x+t.B*e.y+t.C)/Math.sqrt(t.A*t.A+t.B*t.B)};var ZD=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}}},XD=function(e,t){this.coordinateSystem=e,this.viewer=t,this.container=this.viewer.domElement.querySelector("div:first-child"),this.mapDrawables={},this.initialize()};XD.prototype.initialize=function(){this.xmlns="http://www.w3.org/2000/svg";var e=document.createElement("div");e.style.left="0px",e.style.top="0px",e.style.width=this.container.offsetWidth+"px",e.style.height=this.container.offsetHeight+"px",e.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)),e.appendChild(this.group),this.container.appendChild(e)},XD.prototype.makeCircle=function(e,t){var i=this.mapDrawables;void 0===i[e]&&(i[e]=document.createElementNS(this.xmlns,"circle"),this.group.appendChild(i[e]));var n=i[e];n.style.fill=t.color||"#FF0000",n.setAttribute("r",String(t.radius)),n.setAttribute("transform","translate("+t.center.x+","+t.center.y+")")},XD.prototype.show=function(e,t){var i=this.getDrawable(e);i&&(i.style.display=t?"block":"none")},XD.prototype.fill=function(e,t){this.getDrawable(e).style.fill=t?"block":"none"},XD.prototype.makeLine=function(e,t){var i=this.mapDrawables;void 0===i[e]&&(i[e]=document.createElementNS(this.xmlns,"line"),this.group.appendChild(i[e]));var n=i[e];n.setAttribute("stroke",t.color||"#000000"),n.setAttribute("stroke-width",t.width||3),n.setAttribute("x1",String(t.start.x)),n.setAttribute("y1",String(t.start.y)),n.setAttribute("x2",String(t.end.x)),n.setAttribute("y2",String(t.end.y))},XD.prototype.makeDashLine=function(e,t){this.makeLine(e,t),this.mapDrawables[e].setAttribute("stroke-dasharray",t.dashArray)},XD.prototype.makePolyline=function(e,t){var i=null,n=this.mapDrawables;void 0===n[e]&&(n[e]=document.createElementNS(this.xmlns,"polyline"),this.group.appendChild(n[e])),(i=n[e]).setAttribute("stroke",t.color||"#A9A9A9"),i.setAttribute("stroke-width",t.width||3),i.style.fill="none",i.setAttribute("points",t.points)},XD.prototype.makeDefs=function(e){var t=this.mapDrawables;void 0===t[e]&&(t[e]=document.createElementNS(this.xmlns,"defs"),void 0===t.marker&&(t.marker=this.makeMarker(),t[e].appendChild(t.marker)),this.group.appendChild(t[e]))},XD.prototype.makeMarker=function(){var e=document.createElementNS(this.xmlns,"marker");e.setAttribute("id","arrow"),e.setAttribute("viewBox","0 0 10 10"),e.setAttribute("refX","5"),e.setAttribute("refY","5"),e.setAttribute("markerWidth","6"),e.setAttribute("markerHeight","6"),e.setAttribute("orient","auto-start-reverse");var t=document.createElementNS(this.xmlns,"path");return t.setAttribute("d","M 0 0 L 10 5 L 0 10 z"),t.style.fill="#11DAB7",this.mapDrawables.arrow=t,e.appendChild(t),e},XD.prototype.getDrawable=function(e){return this.mapDrawables[e]},XD.prototype.attach=function(){this.getDrawable("axisZ").setAttribute("marker-end","url(#arrow)")},XD.prototype.setColor=function(e,t){this.getDrawable(e).setAttribute("stroke",t)},XD.prototype.fill=function(e,t){this.getDrawable(e).style.fill=t},XD.prototype.hideAll=function(e){this.group.style.display=!0===e?"none":"block"},XD.prototype.destroy=function(){for(var e=this.group.children,t=0;e.length>t;t+=1)this.group.removeChild(e[t]);this.group.parentNode.removeChild(this.group)};var _D=function(e){this.viewer=e,this.enable=!0,this.cameraControl=e.cameraControl,this.fillClipPlane=e.getScene().getFillClipPlane(),this.container=e.domElement.querySelector("div:first-child"),this.config=new ZD,this.drawingImpl=new XD(this,e),this.coordinateAction=new qD(this,this.drawingImpl),this.initialize()};_D.prototype.initialize=function(){this.enable=!0,this.boundingBox=new vh,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"}},_D.prototype.saveTransform=function(e){this.savedCamera=e.clone()},_D.prototype.drawingToCanvas=function(e){var t=Zp.drawingToCanvas(this.cameraControl.camera,e,this.container.offsetWidth,this.container.offsetHeight);return new ke(t.x,t.y)},_D.prototype.getCoordinateAxis=function(){var e=this.fillClipPlane.renderClipPlane.normal.clone(),t=this.fillClipPlane.getCoordinate(),i=t.axisY.clone(),n=e.clone().cross(i.clone());this.fillClipPlane.normalIndex>3&&(i=(n=t.axisX.clone()).clone().cross(e.clone()));var r=this.config.styles,o=this.fillClipPlane.position.clone(),a=this.cameraControl.getCamera().position.clone().sub(o).length(),s=o.clone().add(n.clone().multiplyScalar(r.axisXLength*a)),l=o.clone().add(i.clone().multiplyScalar(r.axisYLength*a)),c=o.clone().add(e.clone().multiplyScalar(r.axisZLength*a));return this.dirX=n,this.dirY=i,{start:o,endX:s,endY:l,endZ:c}},_D.prototype.drawOrigin=function(e,t){this.drawingImpl.makeCircle(this.mapDrawableName.ORIGIN,{center:e,radius:t,color:this.config.colors.default})},_D.prototype.drawAxisX=function(e,t,i){this.drawingImpl.makeLine(this.mapDrawableName.AXISX,{start:e,end:t,width:this.config.styles.axisXWidth,color:i||this.config.colors.default})},_D.prototype.drawAxisY=function(e,t,i){var n=this.config;this.drawingImpl.makeLine(this.mapDrawableName.AXISY,{start:e,end:t,width:n.styles.axisYWidth,color:i||n.colors.default})},_D.prototype.drawAxisZ=function(e,t){var i=this.config;this.drawingImpl.makeLine(this.mapDrawableName.AXISZ,{start:e,end:t,width:i.styles.axisZWidth,color:i.colors.arrow}),this.drawingImpl.attach(),!1===this.bRegisterArrowEvent&&(this.coordinateAction.registerArrowEvents(),this.bRegisterArrowEvent=!0)},_D.prototype.updateAxisZ=function(){var e=this.getCoordinateAxis(),t=this.drawingToCanvas(e.start.clone()),i=this.drawingToCanvas(e.endZ.clone());this.drawingImpl.makeLine(this.mapDrawableName.AXISZ,{start:t,end:i,color:this.config.colors.default})},_D.prototype.drawArrow=function(e,t){var i=this.mapDrawableName;this.drawingImpl.makeLine(i.AXISZ,{start:e,end:t}),this.drawingImpl.attach(),this.drawingImpl.setColor(i.AXISZ,this.config.colors.default),!1===this.bRegisterArrowEvent&&(this.coordinateAction.registerArrowEvents(),this.bRegisterArrowEvent=!0)},_D.prototype.drawClipPlaneCircle=function(e,t,i,n,r){for(var o={center:t.clone(),radius:i,normal:n.clone(),rotateAxis:r.clone()},a=this.config.styles.segments,s=this.discreteCircle(o,a),l="",c=0;a>c;c+=1)l+=s[c].x+","+s[c].y,l+=" ";l+=s[0].x+","+s[0].y,this.drawingImpl.makePolyline(e,{points:l+=" ",color:this.config.colors.default,width:2})},_D.prototype.drawTipArc=function(e,t,i,n,r){var o={center:t.clone(),radius:i,normal:n.clone(),rotateAxis:r.clone()},a=this.config.styles,s=a.tipArcRightCounts,l=a.tipArcLeftCounts,c=a.segments,h=this.discreteCircle(o,c);e===this.mapDrawableName.TIPARC_X?(this.discretePointsX=h,s=a.tipArcLeftCounts,l=a.tipArcRightCounts):this.discretePointsY=h;for(var d="",u=c-s-1;c>u;u+=1)d+=h[u].x+","+h[u].y,d+=" ";for(var p=0;l>=p;p+=1)d+=h[p].x+","+h[p].y,d+=" ";var g={points:d,color:this.config.colors.tipArcX};e===this.mapDrawableName.TIPARC_X?(this.drawingImpl.makePolyline(e,g),this.coordinateAction.registerTipArcXEvents()):e===this.mapDrawableName.TIPARC_Y&&(g.color=this.config.colors.tipArcY,this.drawingImpl.makePolyline(e,g),this.coordinateAction.registerTipArcYEvents())},_D.prototype.drawTipLine=function(e,t,i){var n=this.drawingToCanvas(t.clone()),r=this.drawingToCanvas(i.clone()),o=this.config;this.drawingImpl.makeDashLine(e,{start:n,end:r,color:o.colors.tipLine,dashArray:o.styles.dashArray}),this.drawingImpl.show(e,!1)},_D.prototype.drawCubeX=function(e,t,i){this.drawingImpl.makeCircle(e,{center:t,radius:i,color:this.config.colors.cubeX})},_D.prototype.drawCubeY=function(e,t,i,n){this.drawingImpl.makeCircle(e,{center:t,radius:i,color:n||this.config.colors.cubeY})},_D.prototype.discreteCircle=function(e,t){for(var i=e.center.clone(),n=e.radius,r=e.rotateAxis.clone(),o=e.normal.clone(),a=[],s=0;t>s;s+=1){o.applyAxisAngle(r,2*Math.PI/t);var l=i.clone().add(o.clone().multiplyScalar(n)),c=this.drawingToCanvas(l.clone());a.push(c)}return a},_D.prototype.arcToCircle=function(e){var t="",i=this.discretePointsX;e===this.mapDrawableName.TIPARC_Y&&(i=this.discretePointsY);for(var n=0,r=i.length;r>n;n+=1)t+=i[n].x+","+i[n].y,t+=" ";t+=i[0].x+","+i[0].y,this.drawingImpl.makePolyline(e,{points:t+=" ",color:this.config.colors.highLight})},_D.prototype.circleToArc=function(e){var t=this.config.styles,i=t.tipArcLeftCounts,n=t.tipArcRightCounts,r=t.segments,o=this.discretePointsX,a={color:this.config.colors.tipArcX};e===this.mapDrawableName.TIPARC_Y&&(o=this.discretePointsY,a.color=this.config.colors.tipArcY,i=t.tipArcRightCounts,n=t.tipArcLeftCounts);for(var s="",l=r-i-1;r>l;l+=1)s+=o[l].x+","+o[l].y,s+=" ";for(var c=0;n>=c;c+=1)s+=o[c].x+","+o[c].y,s+=" ";a.points=s,this.drawingImpl.makePolyline(e,a)},_D.prototype.update=function(){if(this.enable){var e=this.fillClipPlane.position.clone(),t=this.cameraControl.getCamera().position.clone().sub(e).length(),i=this.getCoordinateAxis(),n=this.drawingToCanvas(i.start.clone()),r=this.drawingToCanvas(i.endX.clone()),o=this.drawingToCanvas(i.endY.clone()),a=this.drawingToCanvas(i.endZ.clone());void 0===this.createRefs&&(this.drawingImpl.makeDefs("refs"),this.createRefs=!0),this.cOrigin=n.clone(),this.drawAxisZ(n,a),this.drawAxisX(n,r),this.drawAxisY(n,o);var s=this.config.styles,l=this.mapDrawableName,c=this.fillClipPlane.renderClipPlane.normal.clone();this.drawClipPlaneCircle(l.TIPARC_Z,i.start.clone(),s.auxCircleRadius*t,this.dirX,c),this.drawTipArc(l.TIPARC_X,i.start.clone(),s.auxCircleRadius*t,c,this.dirX),this.drawTipArc(l.TIPARC_Y,i.start.clone(),s.auxCircleRadius*t,c,this.dirY);var h=i.start.clone().add(this.dirX.clone().multiplyScalar(s.tipLineLength*t)),d=i.start.clone().sub(this.dirX.clone().multiplyScalar(s.tipLineLength*t));this.drawTipLine(l.DASHLINE_X,h,d);var u=i.start.clone().add(this.dirY.clone().multiplyScalar(s.tipLineLength*t)),p=i.start.clone().sub(this.dirY.clone().multiplyScalar(s.tipLineLength*t));this.drawTipLine(l.DASHLINE_Y,u,p),this.drawOrigin(n,s.originRadius);var g=this.discretePointsX[44].clone();this.drawCubeX(l.CUBEX,g,s.cubeRadius);var f=this.discretePointsY[134].clone();this.drawCubeY(l.CUBEY,f,s.cubeRadius),this.updateBbox()}else this.hide(!0)},_D.prototype.hide=function(e){this.drawingImpl.hideAll(e)},_D.prototype.enabled=function(e){this.enable=e},_D.prototype.destroy=function(){this.drawingImpl.destroy()},_D.prototype.updateBbox=function(){this.boundingBox.makeEmpty();for(var e=0;this.discretePointsX.length>e;e+=1){var t=this.discretePointsX[e].clone();this.boundingBox.expandByPoint(t)}for(e=0;this.discretePointsY.length>e;e+=1){t=this.discretePointsY[e].clone();this.boundingBox.expandByPoint(t)}var i=this.getCoordinateAxis(),n=this.drawingToCanvas(i.start.clone()),r=this.drawingToCanvas(i.endZ.clone());this.boundingBox.expandByPoint(n),this.boundingBox.expandByPoint(r),this.boundingBox.expandByScalar(5)},_D.prototype.insideBoundingBox=function(e){return this.boundingBox.containsPoint(e.clone())},_D.prototype.backwardCoordinate=function(){var e=this.cameraControl.camera.position,t=this.cameraControl.camera.target.clone().sub(e.clone()).normalize(),i=this.fillClipPlane.renderClipPlane.normal.clone();t.angleTo(i)};var $D={Forward:0,Reverse:1},eT={X:0,Y:4,Z:2},tT=function(e){var t=this,i=e.viewer;if(i){if(i._sectionBox&&i._sectionBox.exit(),i._sectionPlane)return i._sectionPlane;i._sectionPlane=this,t.id=e.id,t._opt=e,t.mode=e.mode,t._plane=e.plane,t._direction=e.direction,t._progress=e.progress,t.init(),t.setPlane(e.plane)}else Bu.log("domElement must not be empty.")};tT.prototype={init:function(){this.enableCoordinate=!og.isMobileDevice();var e=this._opt.viewer.getViewerImpl();this.coordinateSystem=new _D(e),e.controlManager.enableTool(e,Yd.CLIP_FILL),this._sectionTool=e.getScene().getFillClipPlane(),this._sectionTool.enable(!0,!0),this.hookEvens()},hookEvens:function(){var e=this,t=this.coordinateSystem,i=this._opt.viewer.getViewerImpl();i.getDomElement(),i.registerEventListener(Fd.ON_CLIP_HOVER,(function(i){if(!1!==e.enableCoordinate)if(i.onClipPlane)t.enable&&(t.update(),t.hide(!1));else{var n=new ke(i.event.clientX,i.event.clientY);t.insideBoundingBox(n)?t.hide(!1):t.hide(!0)}})),i.registerEventListener(Fd.ON_CLIP_MOUSE_DOWN,(function(e){})),i.registerEventListener(Fd.ON_CLIP_MOUSE_MOVE,(function(e){t.update()})),i.registerDomEventListener(Fd.ON_CONTROL_ZOOM,(function(e){t.update()}))},exit:function(){var e=this._opt.viewer.getViewerImpl(),t=e.getScene().getFillClipPlane();e.controlManager.disableTool(Yd.CLIP_FILL),t.enable(!1,!1),this.coordinateSystem.destroy(),this._sectionTool=null,this._opt.viewer._sectionPlane=null},setProgress:function(e){var t=1-e/50;this._progress=e,this._sectionTool.setProcess(t)},getProgress:function(){return 50*(1-this._sectionTool.getProcess())},setPlane:function(e){var t=$D[this._direction]+eT[e];this._plane=e,this._sectionTool.changeNormal(t),this.setProgress(this._opt.progress)},getPlane:function(){return this._plane},setDirection:function(e){var t=$D[e]+eT[this._plane];this._direction=e,this._sectionTool.changeNormal(t),this.setProgress(this._opt.progress)},getDirection:function(){return this._direction},setRotateAngle:function(e,t){this._sectionTool.setRotateAngle(e,t)},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(){var e=this;e.setPlane(e._opt.plane),e.setDirection(e._opt.direction),e.setProgress(e._opt.progress)},getState:function(){return this._sectionTool.store()},setState:function(e){this._sectionTool.restore(e)}};var iT=function(){};iT.prototype=wp.extend(!0,{},hg.prototype,{init:function(e){this.marks={},this.allOids=[],this.components={},this.SelectedMark={},this.mouse=new ke,this.lastX=0,this.lastY=0,this.active=!0,this.viewer=e,this.viewerImpl=e.getViewerImpl()},addObjectToScene:function(e,t){e&&e.id&&t&&(this.viewer.addExternalObject(e.id,t),this.components[e.id]=t,this.allOids.push(e.id),this.marks[e.id]=e)},enabled:function(){var e=this;this.mousedown=this.viewerImpl.domElement.addEventListener("mousedown",e.onMouseDown.bind(e),!1),this.mouseup=this.viewerImpl.domElement.addEventListener("mouseup",e.onMouseUp.bind(e),!1)},disabled:function(){var e=this;this.mousedown=this.viewerImpl.domElement.removeEventListener("mousedown",e.onMouseDown.bind(e),!1),this.mouseup=this.viewerImpl.domElement.removeEventListener("mouseup",e.onMouseUp.bind(e),!1)},touchEnabled:function(){var e=this;this.touchstart=document.getElementById(e.viewerImpl.uuid).addEventListener("touchstart",e.onTouchStart.bind(e),!1),this.touchend=document.getElementById(e.viewerImpl.uuid).addEventListener("touchend",e.onTouchEnd.bind(e),!1)},touchDisabled:function(){var e=this;this.touchstart=this.viewerImpl.domElement.removeEventListener("touchstart",e.onTouchStart.bind(e),!1),this.touchend=this.viewerImpl.domElement.removeEventListener("touchend",e.onTouchEnd.bind(e),!1)},onMouseDown:function(e){this.mouse.x=this.lastX=e.clientX,this.mouse.y=this.lastY=e.clientY},onMouseUp:function(e){var t=[e.clientX,e.clientY];(t[0]>this.lastX?5>t[0]-this.lastX:5>this.lastX-t[0])&&(t[1]>this.lastY?5>t[1]-this.lastY:5>this.lastY-t[1])&&(this.mouse.x=this.lastX=t[0],this.mouse.y=this.lastY=t[1],this.pick("pick"))},onTouchStart:function(e){this.mouse.x=this.lastX=e.changedTouches[0].clientX,this.mouse.y=this.lastY=e.changedTouches[0].clientY},onTouchEnd:function(e){(e.changedTouches[0].clientX>this.lastX?5>e.changedTouches[0].clientX-this.lastX:5>this.lastX-e.changedTouches[0].clientX)&&(e.changedTouches[0].clientY>this.lastY?5>e.changedTouches[0].clientY-this.lastY:5>this.lastY-e.changedTouches[0].clientY)&&(this.mouse.x=this.lastX=e.changedTouches[0].clientX,this.mouse.y=this.lastY=e.changedTouches[0].clientY,this.pick("pick"))},pick:function(){var e=this.viewerImpl.cameraControl.getIntersectContext(this.mouse),t=new Xp;t.setFromCamera(e.mouse,e.camera),t.camera=e.camera,t._camera=e.camera,t.viewportSize=e.viewportSize;var i=Object.values(this.components);for(var n in i)if(i.hasOwnProperty(n));var r=t.intersectObjects(i);r?this.SelectedMark!==r.object?(this.SelectedMark=r.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(e){var t=[0,0];if(e){for(var i=e.target,n=0,r=0;i.offsetParent;)n+=i.offsetLeft,r+=i.offsetTop,i=i.offsetParent;t[0]=e.pageX-n,t[1]=e.pageY-r}else e=window.event,t.x=e.x,t.y=e.y;return t},listentoSelectMarks:function(e){var t=this;this.addEventListener("updated",(function(i){i.added&&t.SelectedMark!=={}?e(t.SelectedMark.key,t.SelectedMark):e(null,null)}))},hasTheSameId:function(e){if(""!==e.id)for(var t=0;this.allOids.length>t;t+=1)if(e.id===this.allOids[t])return{data:"标签id重复"}},findMark:function(e){return this.components[e]},idsToArray:function(e){return null==e?{data:"未选中mark"}:(Array.isArray(e)||(e=[e]),e)},removeIdAndInfo:function(e){var t=this.allOids.indexOf(e);this.allOids.splice(t,1),delete this.marks[e],delete this.components[e]},remove:function(e){if(e=this.idsToArray(e),!Array.isArray(e))return e;for(var t=0;e.length>t;t+=1)this.removeIdAndInfo(e[t]),this.viewer.removeExternalObjectByName(e[t]);this.viewer.render()},hide:function(e){if(e=this.idsToArray(e),!Array.isArray(e))return e;for(var t=0;e.length>t;t+=1){this.findMark(e[t])&&this.viewer.hideComponentsByKey(e[t])}this.viewer.render()},show:function(e){var t=null;if(e){e=this.idsToArray(e);for(var i=0;e.length>i;i+=1)(t=this.findMark(e[i]))&&(t.visible=!0,this.viewer.showComponentsByKey(e[i]))}else for(var n in this.components)(t=this.components[n])&&this.viewer.showComponentsByKey(n);this.viewer.render()},isolation:function(e){if(this.allOids.length>0){e=this.idsToArray(e);this.show();for(var t=this.allOids.concat(),i=0;e.length>i;i+=1){var n=e[i];if(-1===this.allOids.indexOf(n))return{data:"mark不存在"};for(var r=0;t.length>r;r+=1)if(n===t[r]){t.splice(r,1);break}}var o=null;for(r=0;t.length>r;r+=1)(o=this.findMark(t[r]))&&(o.visible=!1);this.viewer.render()}}});var nT=function(e){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 t=e;if("function"==typeof e.getViewerImpl){this.viewerImpl=t.getViewerImpl(),this.dragging=!1,this.init(t),this.markState={};var i=this;this.showPoint=!0,this.showLine=!0,this.viewerImpl.cameraControl.addEventListener(Fd.ON_CAMERA_CHANGE,(function(){i._update()}))}else Bu.error("viewer 参数需要是BOS3D.Viewer的实例")};nT.prototype=wp.extend(!0,{},iT.prototype,{constructor:nT,add:function(e,t){var i=document.createElement("div"),n=Object.assign({},this.defaultSettings,e),r=this.hasTheSameId(n);if(r)return r;""===n.id&&(n.id=be.generateUUID()),i.id="label"+n.id,this.marks[n.id]=Object.assign({},n);var o=this.viewer.getScreenCoordFromSceneCoord(n.startPosition),a=n.offset,s=n.endPosition.concat(),l=[];("absolute"===n.mode?n.offset=[0,0]:(s=[o[0]+a[0],o[1]+a[1]],n.endPosition=[0,0]),Array.isArray(n.colorLine))&&(n.colorLine="rgb("+n.colorLine[0]+","+n.colorLine[1]+","+n.colorLine[2]+")");var c=document.createElement("div");(c.id="labelStart"+n.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:"+o[1]+"px;left:"+o[0]+"px; background-color: red;",i.appendChild(c),this.showPoint&&n.showPoint||(c.style.display="none"),Array.isArray(n.color))&&(n.color="rgb("+n.color[0]+","+n.color[1]+","+n.color[2]+")");var h=document.createElement("div");h.id=n.id,h.className="labelingDiv",h.style.cssText="border:2px solid "+n.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:"+n.color+";",i.appendChild(h);var d=document.createElement("span");d.id="labelTitle"+n.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=n.title,h.appendChild(d),0>s[0]&&(s[0]=5),0>s[1]&&(s[1]=5),s[0]>this.viewerImpl.domElement.offsetWidth-h.offsetWidth&&(s[0]=this.viewerImpl.domElement.offsetWidth-h.offsetWidth),s[1]>this.viewerImpl.domElement.offsetHeight-h.offsetHeight&&(s[1]=this.viewerImpl.domElement.offsetHeight-h.offsetHeight),h.style.cssText+="left:"+s[0]+"px; top:"+s[1]+"px",n.domElement&&h.appendChild(n.domElement),s[0]>o[0]?s[1]>o[1]?(l[0]=s[0],l[1]=s[1]):(l[0]=s[0],l[1]=s[1]+h.offsetHeight):s[1]>o[1]?(l[0]=s[0]+h.offsetWidth,l[1]=s[1]):(l[0]=s[0]+h.offsetWidth,l[1]=s[1]+h.offsetHeight);var u=o[0]-l[0],p=o[1]-l[1],g=Math.sqrt(u*u+p*p),f=Math.atan(p/u)/Math.PI*180;u>0||(p>0?f+=180:f-=180);var m=document.createElement("div");m.id="labelLine"+n.id,m.className="labelLine",m.style.cssText=" height: 2px;position: absolute;transform-origin: left center;width:"+g+"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:"+n.colorLine+";",i.appendChild(m),this.showLine&&n.showLine||(m.style.display="none"),this.viewerImpl.domElement.appendChild(i),n.draggable&&this._enableDrag(h),this.allOids.push(n.id),this.markState[n.id]={userHide:!1,outOfBoundary:!1},"function"==typeof t&&t(n.id)},enablePoint:function(e){this.showPoint=e,this._update()},enableLine:function(e){this.showLine=e,this._update()},_update:function(){for(var e in this.marks){var t=this.viewer.getScreenCoordFromSceneCoord(this.marks[e].startPosition),i=this.marks[e].endPosition.concat(),n=this.marks[e].offset;"relativeute"===this.marks[e].mode&&(0!==i[0]||0!==i[1]?(n=[i[0]-t[0],i[1]-t[1]],this.marks[e].endPosition=[0,0],this.marks[e].offset=n):i=[t[0]+n[0],t[1]+n[1]]);var r=[0,0],o=document.getElementById(e);i[0]>t[0]?i[1]>t[1]?(r[0]=i[0],r[1]=i[1]):(r[0]=i[0],r[1]=i[1]+o.offsetHeight):i[1]>t[1]?(r[0]=i[0]+o.offsetWidth,r[1]=i[1]):(r[0]=i[0]+o.offsetWidth,r[1]=i[1]+o.offsetHeight);var a=t[0]-r[0],s=t[1]-r[1],l=Math.sqrt(a*a+s*s),c=Math.atan(s/a)/Math.PI*180;a>0||(s>0?c+=180:c-=180);var h=getComputedStyle(this.viewerImpl.domElement),d=parseInt(h.width,10),u=parseInt(h.height,10);0>t[1]||t[1]>u||0>t[0]||t[0]>d?(this.markState[e].outOfBoundary=!0,document.getElementById("labelStart"+e).setCss({display:"none"}),document.getElementById("labelLine"+e).setCss({display:"none"}),document.getElementById(e).setCss({display:"none"})):(this.markState[e].outOfBoundary=!1,this.dragging||"relativeute"!==this.marks[e].mode||(document.getElementById(e).style.left=i[0]+"px",document.getElementById(e).style.top=i[1]+"px"),this.markState[e].userHide||(document.getElementById(e).setCss({display:"block"}),this.showPoint&&this.marks[e].showPoint?document.getElementById("labelStart"+e).style.cssText+=";display:block;top:"+t[1]+"px; left:"+t[0]+"px":document.getElementById("labelStart"+e).setCss({display:"none"}),this.showLine&&this.marks[e].showLine?document.getElementById("labelLine"+e).style.cssText+=";display:block;width:"+l+"px;transform-origin: left center;-ms-transform:rotateZ("+c+"deg);-moz-transform:rotateZ("+c+"deg);-webkit-transform:rotateZ("+c+"deg);-o-transform:rotateZ("+c+"deg);transform:rotateZ("+c+"deg);left:"+r[0]+"px; top:"+r[1]+"px":document.getElementById("labelLine"+e).setCss({display:"none"})))}},_enableDrag:function(e){var t=this,i=e,n=e.id,r=i.querySelector("#labelTitle"+n),o=this.viewerImpl.domElement,a=o.offsetLeft,s=o.offsetTop,l=this;r.addEventListener("mousedown",(function(e){e.preventDefault(),l.dragging=!0,i.setAttribute("offset-left",e.offsetX),i.setAttribute("offset-top",e.offsetY),i.setAttribute("allow-drag","true")})),document.addEventListener("mousemove",function(e){if("true"===i.getAttribute("allow-drag")){e.preventDefault();var t=e.clientX-parseInt(i.getAttribute("offset-left"),10)-parseInt(i.style.borderWidth,10)-a,r=e.clientY-parseInt(i.getAttribute("offset-top"),10)-parseInt(i.style.borderWidth,10)-s;0>r&&(r=5),r>o.offsetHeight-i.offsetHeight&&(r=o.offsetHeight-i.offsetHeight),0>t&&(t=5),t>o.offsetWidth-i.offsetWidth&&(t=o.offsetWidth-i.offsetWidth),i.style.cssText+=";left:"+t+"px;top:"+r+"px",this.marks[n].endPosition=[t,r],this._update()}}.bind(this)),document.addEventListener("mouseup",(function(e){"true"===i.getAttribute("allow-drag")&&(e.preventDefault(),i.setAttribute("allow-drag","false"),l.dragging=!1)})),r.addEventListener("touchstart",(function(e){e.preventDefault();var t=parseInt(i.style.left,10),n=parseInt(i.style.top,10),r=e.targetTouches[0].clientY;i.setAttribute("offset-left",e.targetTouches[0].clientX-t),i.setAttribute("offset-top",r-n),i.setAttribute("allow-drag","true")})),document.addEventListener("touchmove",(function(e){if("true"===i.getAttribute("allow-drag")){e.preventDefault();var r=e.targetTouches[0].clientX-parseInt(i.getAttribute("offset-left"),10)-parseInt(i.style.borderWidth,10)-a,o=e.targetTouches[0].clientY-parseInt(i.getAttribute("offset-top"),10)-parseInt(i.style.borderWidth,10)-s;0>o&&(o=5),o>t.viewerImpl.domElement.offsetHeight-i.offsetHeight&&(o=t.viewerImpl.domElement.offsetHeight-i.offsetHeight),0>r&&(r=5),r>t.viewerImpl.domElement.offsetWidth-i.offsetWidth&&(r=t.viewerImpl.domElement.offsetWidth-i.offsetWidth),i.style.cssText+=";left:"+r+"px;top:"+o+"px",t.marks[n].endPosition=[r,o],t._update()}})),document.addEventListener("touchend",(function(e){"true"===i.getAttribute("allow-drag")&&(e.preventDefault(),i.setAttribute("allow-drag","false"))}))},updateMark:function(e,t){if(!this.marks[e])return{id:e,data:"该标签不存在"};var i=Object.assign({},this.marks[e],t);this.marks[e]=Object.assign({},i);var n=this.viewer.getScreenCoordFromSceneCoord(i.startPosition),r=i.offset,o=i.endPosition.concat(),a=[];"relativeute"===i.mode?(o=[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 s=document.getElementById("labelStart"+e);s.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:"+i.colorLine+";",this.showPoint&&i.showPoint||(s.style.display="none"),Array.isArray(i.color)&&(i.color="rgb("+i.color[0]+","+i.color[1]+","+i.color[2]+")");var l=document.getElementById(e);l.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+";";var c=document.getElementById("labelTitle"+e);c.innerText=i.title,0>o[0]&&(o[0]+=5),0>o[1]&&(o[1]+=5),o[0]>this.viewerImpl.domElement.offsetWidth-l.offsetWidth&&(o[0]=this.viewerImpl.domElement.offsetWidth-l.offsetWidth),o[1]>this.viewerImpl.domElement.offsetHeight-l.offsetHeight&&(o[1]=this.viewerImpl.domElement.offsetHeight-l.offsetHeight),l.style.cssText+="left:"+o[0]+"px; top:"+o[1]+"px";var h=c.nextElementSibling||c.nextSibling;h&&l.removeChild(h),i.domElement&&l.appendChild(i.domElement),i.draggable&&this._enableDrag(l),o[0]>n[0]?o[1]>n[1]?(a[0]=o[0],a[1]=o[1]):(a[0]=o[0],a[1]=o[1]+l.offsetHeight):o[1]>n[1]?(a[0]=o[0]+l.offsetWidth,a[1]=o[1]):(a[0]=o[0]+l.offsetWidth,a[1]=o[1]+l.offsetHeight);var d=n[0]-a[0],u=n[1]-a[1],p=Math.sqrt(d*d+u*u),g=Math.atan(u/d)/Math.PI*180;d>0||(u>0?g+=180:g-=180);var f=document.getElementById("labelLine"+e);f.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:"+a[0]+"px;top:"+a[1]+"px;background-color:"+i.colorLine+";",this.showLine&&i.showLine||(f.style.display="none")},updateColor:function(e,t){Array.isArray(e)||(e=[e]);for(var i=0;e.length>i;i+=1){var n=e[i];if(!this.marks[n])return{id:n,data:"该标签不存在"};Array.isArray(t)?document.getElementById(n).style.cssText+=";background-color:rgb("+t[0]+","+t[1]+","+t[2]+")":document.getElementById(n).style.cssText+=";background-color:"+t,this.marks[n].color=t}},updateTitle:function(e,t){Array.isArray(e)||(e=[e]);for(var i=0;e.length>i;i+=1){var n=e[i];if(!this.marks[n])return{id:n,data:"该标签不存在"};document.getElementById("labelTitle"+n).innerText=t,this.marks[n].title=t}},updateDomElement:function(e,t){if(this.marks[e]){var i=document.getElementById(e),n=i.querySelector(".labelTitle"),r=n.nextElementSibling||n.nextSibling;return r&&i.removeChild(r),t&&i.appendChild(t),this.marks[e].domElement=t,!0}return{id:e,data:"该标签不存在"}},remove:function(e){e=this.idsToArray(e);for(var t=0;e.length>t;t+=1){var i=e[t];if(!this.marks[i])return{id:i,data:"该标签不存在"};this.viewerImpl.domElement.removeChild(document.getElementById("label"+i)),delete this.marks[i],delete this.markState[i];var n=this.allOids.indexOf(i);this.allOids.splice(n,1)}},hide:function(e){e=this.idsToArray(e);for(var t=0;e.length>t;t+=1){var i=e[t];if(!this.marks[i])return{id:i,data:"该标签不存在"};this.markState[i].userHide=!0,this.markState[i].outOfBoundary||(document.getElementById("labelLine"+i).style.display="none",document.getElementById("labelStart"+i).style.display="none",document.getElementById(i).style.display="none")}},show:function(e){if(e){e=this.idsToArray(e);for(var t=0;e.length>t;t+=1){if(!this.marks[r=e[t]])return{id:r,data:"该标签不存在"};this.markState[r].userHide=!1,this.markState[r].outOfBoundary||(this.showPoint&&this.marks[r].showPoint&&(document.getElementById("labelStart"+r).style.display="block"),this.showLine&&this.marks[r].showLine&&(document.getElementById("labelLine"+r).style.display="block"),document.getElementById(r).style.display="block")}}else for(var i=this.allOids.concat(),n=0;i.length>n;n+=1){var r;this.markState[r=i[n]].userHide=!1,this.markState[r].outOfBoundary||(this.showPoint&&this.marks[r].showPoint&&(document.getElementById("labelStart"+r).style.display="block"),this.showLine&&this.marks[r].showLine&&(document.getElementById("labelLine"+r).style.display="block"),document.getElementById(r).style.display="block")}},isolation:function(e){if(this.allOids.length>0){e=this.idsToArray(e),this.show();for(var t=this.allOids.concat(),i=0;e.length>i;i+=1){var n=e[i];if(!this.marks[n])return{data:"mark不存在"};for(var r=0;t.length>r;r+=1)if(n===t[r]){t.splice(r,1);break}}for(var o=0;t.length>o;o+=1)document.getElementById("labelLine"+t[o]).style.display="none",document.getElementById("labelStart"+t[o]).style.display="none",document.getElementById(t[o]).style.display="none"}},addEventListener:function(e,t,i){document.getElementById(e).addEventListener(t,i)},removeEventListener:function(e,t,i){document.getElementById(e).removeEventListener(t,i)}});var rT=function(e){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]},"function"==typeof e.getViewerImpl?(this.init(e),this.enabled()):Bu.error("viewer 参数需要是BOS3D.Viewer的实例")};rT.prototype=wp.extend(!0,{},iT.prototype,{constructor:rT,add:function(e,t){var i=this,n=iu(iu({},this.defaultSettings),e),r=this.hasTheSameId(n);if(r)return r;var o=1,a=1,s=(new Dl).load(n.URL,(function(e){i.viewer.render()}),(function(){}),(function(e){i.dispatchEvent({type:Qd.LOAD_TEXTURE_ERROR,data:"加载材质出错"})}));!0===n.alwaysVisible&&(n.transparent=!0);var l=new il({color:new pi(n.color[0],n.color[1],n.color[2]),emissive:new pi(n.emissive[0],n.emissive[1],n.emissive[2]),map:s,depthTest:!n.alwaysVisible,side:n.side,opacity:n.opacity,transparent:n.transparent});o=n.width?n.width:l.map.image.width,a=n.height?n.height:l.map.image.height;var c=new nn(new In(1,1,1,1),l),h=new yt;if(n.matrix&&(3===n.matrix.length?(h.elements[12]=n.matrix[0],h.elements[13]=n.matrix[1],h.elements[14]=n.matrix[2]):h.fromArray(n.matrix)),c.applyMatrix4(h),n.faceToCamera){var d=new Ke,u=new Ke,p=new Ge;c.onBeforeRender=function(){i.viewer.camera.matrixWorld.decompose(d,p,u),c.quaternion.copy(p),c.updateMatrixWorld(!0)}}return c.scale.set(n.scale*o,n.scale*a,1),c.updateMatrixWorld(!0),""!==n.id?c.key=n.id:(c.key=c.uuid,n.id=c.uuid),i.addObjectToScene(n,c),"function"==typeof t&&t(c.key),c.componentKey=n.componentKey&&Array.isArray(n.componentKey)?n.componentKey:n.componentKey?[n.componentKey]:[],c},updateMark:function(e,t){var i=this,n=this.findMark(e);if(n){n.applyMatrix4((new yt).copy(n.matrix).invert());var r=iu(iu({},i.marks[e]),t),o=new yt;if(r.matrix&&(3===r.matrix.length?(o.elements[12]=r.matrix[0],o.elements[13]=r.matrix[1],o.elements[14]=r.matrix[2]):o.fromArray(r.matrix)),n.applyMatrix4(o),r.faceToCamera){var a=new Ke,s=new Ke,l=new Ge;n.onBeforeRender=function(){i.viewer.camera.matrixWorld.decompose(a,l,s),n.quaternion.copy(l),n.updateMatrixWorld(!0)}}else delete n.onBeforeRender;if(n.scale.set(r.scale*r.width,r.scale*r.height,1),n.updateMatrixWorld(!0),n.componentKey=r.componentKey&&Array.isArray(r.componentKey)?r.componentKey:r.componentKey?[r.componentKey]:[],i.marks[e]=r,t.URL)(new Dl).load(r.URL,(function(e){!0===r.alwaysVisible&&(r.transparent=!0);var t=new il({color:new pi(r.color[0],r.color[1],r.color[2]),emissive:new pi(r.emissive[0],r.emissive[1],r.emissive[2]),map:e,depthTest:!r.alwaysVisible,side:r.side,opacity:r.opacity,transparent:r.transparent});n.material=t}));else!0===r.alwaysVisible&&(r.transparent=!0),n.material.depthTest=!r.alwaysVisible,n.material.transparent=r.transparent,n.material.opacity=r.opacity,n.material.side=r.side,n.material.emissive=new pi(r.emissive[0],r.emissive[1],r.emissive[2])}this.viewer.render()}});var oT=function(e){this.defaultSettings={id:"",url:"",width:1,height:1,scale:1,alwaysVisible:!1,position:[0,0,0],componentId:"",useImageSize:!0},"function"==typeof e.getViewerImpl?(this.init(e),this.enabled()):Bu.error("viewer 参数需要是BOS3D.Viewer的实例")};oT.prototype=wp.extend(!0,{},iT.prototype,{constructor:oT,add:function(e,t){var i=this;!e.url&&e.URL&&(e.url=e.URL);var n=Object.assign({},this.defaultSettings,e),r=this.hasTheSameId(n);if(r)return r;var o=1,a=1;(new Dl).load(n.URL||n.url,(function(e){var r=new Wo({map:e,color:16777215,depthTest:!n.alwaysVisible,transparent:n.alwaysVisible});o=n.useImageSize&&r.map&&r.map.image&&r.map.image.width?r.map.image.width:n.width,a=n.useImageSize&&r.map&&r.map.image&&r.map.image.width?r.map.image.height:n.height;var s=new aa(r);s.scale.set(n.scale*o,n.scale*a,1),n.position.isVector3?s.position.copy(n.position):s.position.set(n.position[0],n.position[1],n.position[2]),s.updateMatrixWorld(!0),""!==n.id?s.key=n.id:(s.key=s.uuid,n.id=s.uuid),i.addObjectToScene(n,s),"function"==typeof t&&t(s.key)}),(function(){}),(function(e){i.dispatchEvent({type:Qd.LOAD_TEXTURE_ERROR,data:"加载材质出错"})}))},updateMark:function(e,t,i){var n=this,r=this.findMark(e);if(r){var o=Object.assign({},n.marks[e],t),a=1,s=1;(new Dl).load(o.URL||o.url,(function(t){r._oriMaterial&&(r.material=r._oriMaterial),r.material.map=t,r.material.depthTest=!o.alwaysVisible;var l=r.material;a=o.useImageSize&&l.map&&l.map.image&&l.map.image.width?l.map.image.width:o.width,s=o.useImageSize&&l.map&&l.map.image&&l.map.image.width?l.map.image.height:o.height,r.material.needUpdate=!0,r.scale.set(o.scale*a,o.scale*s,1),o.position.isVector3?r.position.copy(o.position):r.position.set(o.position[0],o.position[1],o.position[2]),r.updateMatrixWorld(),n.viewer.render(),n.marks[e]=o,"function"==typeof i&&i(e)}),(function(){}),(function(e){n.dispatchEvent({type:Qd.LOAD_TEXTURE_ERROR,data:"加载材质出错"})}))}},resize:function(e,t,i){if(null==e)return{data:"未选中mark"};if(!t||!i)return{data:"未指定尺寸"};Array.isArray(e)||(e=[e]);for(var n=null,r=0;e.length>r;r+=1)(n=this.findMark(e[r]))&&(n.scale.set(t,i,1),n.updateMatrixWorld(),this.viewer.render())}});var aT=function(e){var t=this,i=e;if("function"==typeof e.getViewerImpl){var n=e.getViewerImpl();this.marks={},this.SelectedMark={},this.components={},this.allOids=[];var r={id:"",name:"mark",scale:20,alwaysVisible:!1,color:[99,99,99],wordColor:[0,0,0],position:[0,0,0]},o=new ke,a=0,s=0;this.active=!0,t.domElement=n.domElement,this.enabled=function(){this.mousedown=n.domElement.addEventListener("mousedown",h,!1),this.mouseup=n.domElement.addEventListener("mouseup",d,!1)},this.disabled=function(){this.mousedown=n.domElement.removeEventListener("mousedown",h,!1),this.mouseup=n.domElement.removeEventListener("mouseup",d,!1)},this.touchEnabled=function(){this.touchstart=n.domElement.addEventListener("touchstart",u,!1),this.touchend=n.domElement.addEventListener("touchend",p,!1)},this.touchDisabled=function(){this.touchstart=n.domElement.removeEventListener("touchstart",u,!1),this.touchend=n.domElement.removeEventListener("touchend",p,!1)},this.enabled(),this.add=function(e,i){var n=Object.assign({},r,e);if(""!==n.id)for(var o=0;t.allOids.length>o;o+=1)if(n.id===t.allOids[o])return{data:"标签id重复"};(n.position.isVector3||(n.position=new Ke(n.position[0],n.position[1],n.position[2])),Array.isArray(n.color))&&(n.color="rgb("+n.color[0]+","+n.color[1]+","+n.color[2]+")");Array.isArray(n.wordColor)&&(n.wordColor="rgb("+n.wordColor[0]+","+n.wordColor[1]+","+n.wordColor[2]+")");var a=document.createElement("canvas");a.width=28*n.name.length,a.height=150;var s=a.getContext("2d");s.fillStyle="rgba(255, 255, 255, 0)",s.lineWidth=2,s.strokeStyle=n.color,s.strokeRect(5,0,a.width-5,30),s.moveTo(5,141),s.lineTo(5,30),s.stroke(),s.fillStyle=n.color,s.beginPath(),s.arc(5,145,4,0,2*Math.PI),s.fill(),s.fillRect(10,5,a.width-15,20),s.font="bold 18px Arial",s.fillStyle=n.wordColor,s.textAlign="center",s.fillText(n.name,a.width/2,20);var l=new Fe(a);l.needsUpdate=!0;var c=new Wo({map:l,color:16777215,depthTest:n.alwaysVisible}),h=new aa(c);h.center.x=0,h.center.y=0,h.scale.set(n.scale*c.map.image.width,n.scale*c.map.image.height,1),h.position.copy(n.position),h.updateMatrixWorld(),h.key=""!==n.id?n.id:h.uuid,t.addObjectToScene(n,h),"function"==typeof i&&i(h.key)},this.addObjectToScene=function(e,t){e&&e.id&&t&&(this.components[e.id]=t,this.allOids.push(e.id),this.marks[e.id]=e,i.addExternalObject(e.id,t))},this.updateMark=function(e,n){if(t.marks[e]){var r=Object.assign({},t.marks[e],n),o=this.components[e];if(o){if(r.position.isVector3||(r.position=new Ke(r.position[0],r.position[1],r.position[2])),Array.isArray(r.color))r.color="rgb("+r.color[0]+","+r.color[1]+","+r.color[2]+")";if(Array.isArray(r.wordColor))r.wordColor="rgb("+r.color[0]+","+r.color[1]+","+r.color[2]+")";var a=document.createElement("canvas");a.width=28*r.name.length,a.height=150;var s=a.getContext("2d");s.fillStyle="rgba(255, 255, 255, 0)",s.lineWidth=2,s.strokeStyle=r.color,s.strokeRect(5,0,a.width-5,30),s.moveTo(5,141),s.lineTo(5,30),s.stroke(),s.fillStyle=r.color,s.beginPath(),s.arc(5,145,4,0,2*Math.PI),s.fill(),s.fillRect(10,5,a.width-15,20),s.font="bold 18px Arial",s.fillStyle=r.wordColor,s.textAlign="center",s.fillText(r.name,a.width/2,20);var l=new Fe(a);l.needsUpdate=!0;var c=new Wo({map:l,color:16777215,depthTest:r.alwaysVisible});o.material=c,o.scale.set(r.scale*o.material.map.image.width,r.scale*o.material.map.image.height,1),o.position.copy(r.position),o.updateMatrixWorld(),i.render(),t.marks[e]=r}}},this.remove=function(e){if(null==e)return{data:"未选中mark"};Array.isArray(e)||(e=[e]);for(var n=0;e.length>n;n+=1){var r=t.allOids.indexOf(e[n]);t.allOids.splice(r,1),delete t.components[e[n]],i.removeExternalObjectByName(e[n])}},this.hide=function(e){if(null==e)return{data:"未选中mark"};Array.isArray(e)||(e=[e]);for(var t=null,i=0;e.length>i;i+=1)(t=this.components[e[i]])&&(t.visible=!1)},this.show=function(e){var i=null;if(e){Array.isArray(e)||(e=[e]);for(var n=0;e.length>n;n+=1)(i=this.components[e[n]])&&(i.visible=!0)}else for(var r in t.components)(i=t.components[r])&&(i.visible=!0)},this.isolation=function(e){if(null==e)return{data:"未选中mark"};if(t.show(),t.allOids.length>0){var i=t.allOids.concat();Array.isArray(e)||(e=[e]);for(var n=0;e.length>n;n+=1){var r=e[n];if(-1===t.allOids.indexOf(r))return{data:"mark不存在"};for(var o=0;i.length>o;o+=1)if(r===i[o]){i.splice(o,1);break}}var a=null;for(o=0;i.length>o;o+=1)(a=t.components[i[o]])&&(a.visible=!1)}},this.listentoSelectMarks=function(e){t.addEventListener("updated",(function(){t.SelectedMark!=={}?e(t.SelectedMark.key?t.SelectedMark.key:t.SelectedMark.uuid,t.SelectedMark):e(null,null)}))}}else Bu.error("viewer 参数需要是BOS3D.Viewer的实例");function l(e){var t=[0,0];if(e){for(var i=e.target,n=0,r=0;i.offsetParent;)n+=i.offsetLeft,r+=i.offsetTop,i=i.offsetParent;t[0]=e.pageX-n,t[1]=e.pageY-r}else e=window.event,t.x=e.x,t.y=e.y;return t}function c(e){var i=new Xp,r=new Ke(o.x/n.domElement.clientWidth*2-1,-o.y/n.domElement.clientHeight*2+1,.5);i.setFromCamera(r,n.camera),i.camera=n.camera,i._camera=n.camera;var a=Object.values(t.components),s=i.intersectObjects(a);s&&s.length>0&&t.SelectedMark!==s[0].object?(t.SelectedMark=s[0].object,t.dispatchEvent("updated",{added:{objects:t.SelectedMark}})):(t.SelectedMark={},t.dispatchEvent("updated",{removed:{objects:t.SelectedMark}}))}function h(e){var t=l(e);o.x=a=t[0],o.y=s=t[1]}function d(e){var t=l(e);(t[0]>a?5>t[0]-a:5>a-t[0])&&(t[1]>s?5>t[1]-s:5>s-t[1])&&(o.x=a=t[0],o.y=s=t[1],c())}function u(e){o.x=a=e.changedTouches[0].clientX,o.y=s=e.changedTouches[0].clientY}function p(e){(e.changedTouches[0].clientX>a?5>e.changedTouches[0].clientX-a:5>a-e.changedTouches[0].clientX)&&(e.changedTouches[0].clientY>s?5>e.changedTouches[0].clientY-s:5>s-e.changedTouches[0].clientY)&&(o.x=a=e.changedTouches[0].clientX,o.y=s=e.changedTouches[0].clientY,c())}};Object.assign(aT.prototype,hg.prototype);var sT=function(e){var t=this;this.Marks=new Yt,e.modelManager.scene.add(t.Marks),this.SelectedMark={},this.components={},this.allOids=[];var i={id:"",name:"mark",scale:20,width:1,height:1,alwaysVisible:!1,useImageSize:!0,color:"#000000",position:[0,0,0]},n=new ke,r=0,o=0;function a(e){var t=[0,0];if(e){for(var i=e.target,n=0,r=0;i.offsetParent;)n+=i.offsetLeft,r+=i.offsetTop,i=i.offsetParent;t[0]=e.pageX-n,t[1]=e.pageY-r}else e=window.event,t.x=e.x,t.y=e.y;return t}function s(i){var r=new Xp,o=new Ke(n.x/e.domElement.clientWidth*2-1,-n.y/e.domElement.clientHeight*2+1,.5);r.setFromCamera(o,e.camera);var a=r.intersectObjects(t.Marks.children);a&&a.length>0&&t.SelectedMark!==a[0].object?(t.SelectedMark=a[0].object,t.dispatchEvent("updated",{added:{objects:t.SelectedMark}})):(t.SelectedMark={},t.dispatchEvent("updated",{removed:{objects:t.SelectedMark}}))}function l(e){var t=a(e);n.x=r=t[0],n.y=o=t[1]}function c(e){var t=a(e);(t[0]>r?5>t[0]-r:5>r-t[0])&&(t[1]>o?5>t[1]-o:5>o-t[1])&&(n.x=r=t[0],n.y=o=t[1],s())}function h(e){n.x=r=e.changedTouches[0].clientX,n.y=o=e.changedTouches[0].clientY}function d(e){(e.changedTouches[0].clientX>r?5>e.changedTouches[0].clientX-r:5>r-e.changedTouches[0].clientX)&&(e.changedTouches[0].clientY>o?5>e.changedTouches[0].clientY-o:5>o-e.changedTouches[0].clientY)&&(n.x=r=e.changedTouches[0].clientX,n.y=o=e.changedTouches[0].clientY,s())}this.active=!0,t.domElement=e.domElement,this.enabled=function(){this.mousedown=e.domElement.addEventListener("mousedown",l,!1),this.mouseup=e.domElement.addEventListener("mouseup",c,!1)},this.disabled=function(){this.mousedown=e.domElement.removeEventListener("mousedown",l,!1),this.mouseup=e.domElement.removeEventListener("mouseup",c,!1)},this.touchEnabled=function(){this.touchstart=e.domElement.addEventListener("touchstart",h,!1),this.touchend=e.domElement.addEventListener("touchend",d,!1)},this.touchDisabled=function(){this.touchstart=e.domElement.removeEventListener("touchstart",h,!1),this.touchend=e.domElement.removeEventListener("touchend",d,!1)},this.enabled(),this.add=function(n,r){var o=Object.assign({},i,n);if(""!==o.id)for(var a=0;t.allOids.length>a;a+=1)if(o.id===t.allOids[a])return{data:"标签id重复"};var s=document.createElement("canvas");s.width=24*o.name.length,s.height=32;var l=s.getContext("2d");l.lineWidth=3,l.strokeStyle="#0000FF",l.strokeRect(0,0,s.width,32),l.fillStyle="#FFFFFF",l.fillRect(3,3,s.width-6,26),l.font=" bold 24px Arial",l.fillStyle=o.color,l.textAlign="center",l.fillText(o.name,s.width/2,26),console.log(s.width);var c=new Fe(s);c.needsUpdate=!0;var h=new Wo({map:c,color:16777215,depthTest:o.alwaysVisible}),d=new aa(h);d.scale.set(o.scale*h.map.image.width,o.scale*h.map.image.height,1),o.position.isVector3?d.position.copy(o.position):d.position.set(o.position[0],o.position[1],o.position[2]),d.updateMatrixWorld(),t.Marks.add(d),e.render(),""!==o.id?(d.key=o.id,t.components[o.id]=d,t.allOids.push(o.id)):(d.key=d.uuid,t.components[d.uuid]=d,t.allOids.push(d.uuid)),"function"==typeof r&&r(d.key)},this.updateMark=function(n,r){var o=Object.assign({},i,r),a=null;if(t.components[n]){a=t.components[n];var s=document.createElement("canvas");s.width=24*o.name.length,s.height=32;var l=s.getContext("2d");l.lineWidth=3,l.strokeStyle="#0000FF",l.strokeRect(0,0,s.width,32),l.fillStyle="#FFFFFF",l.fillRect(3,3,s.width-6,26),l.font=" bold 24px Arial",l.fillStyle=o.color,l.textAlign="center",l.fillText(o.name,s.width/2,26);var c=new Fe(s);c.needsUpdate=!0;var h=new Wo({map:c,color:16777215,depthTest:o.alwaysVisible});a.material=h,a.scale.set(o.scale*a.material.map.image.width,o.scale*a.material.map.image.height,1),o.position.isVector3?a.position.copy(o.position):a.position.set(o.position[0],o.position[1],o.position[2]),a.updateMatrixWorld(),e.render()}},this.remove=function(e){if(null==e)return{data:"未选中mark"};Array.isArray(e)||(e=[e]);for(var i=null,n=0;e.length>n;n+=1){i=t.components[e[n]];var r=t.allOids.indexOf(e[n]);t.allOids.splice(r,1),t.Marks.remove(i)}},this.hide=function(e){if(null==e)return{data:"未选中mark"};Array.isArray(e)||(e=[e]);for(var i=null,n=0;e.length>n;n+=1)(i=t.components[e[n]])&&(i.visible=!1)},this.show=function(e){var i=null;if(e){Array.isArray(e)||(e=[e]);for(var n=0;e.length>n;n+=1)(i=t.components[e[n]])&&(i.visible=!0)}else for(var r in t.components)(i=t.components[r])&&(i.visible=!0)},this.isolation=function(e){if(null==e)return{data:"未选中mark"};if(t.show(),t.allOids.length>0){var i=t.allOids.concat();Array.isArray(e)||(e=[e]);for(var n=0;e.length>n;n+=1){var r=e[n];if(-1===t.allOids.indexOf(r))return{data:"mark不存在"};for(var o=0;i.length>o;o+=1)if(r===i[o]){i.splice(o,1);break}}var a=null;for(o=0;i.length>o;o+=1)(a=t.components[i[o]])&&(a.visible=!1)}},this.listentoSelectMarks=function(e){t.addEventListener("updated",(function(){t.SelectedMark!=={}?e(t.SelectedMark.key?t.SelectedMark.key:t.SelectedMark.uuid,t.SelectedMark):e(null,null)}))}};Object.assign(sT.prototype,hg.prototype);var lT=function e(){ru(this,e),this.type="circle",this.lineHeight=2,this.color="#ff0000",this.titleColor="#000000",this.titleBackgroundColor="#ff0000",this.lineTitleBackgroundColor="#ffffff"},cT=function(){function e(t,i,n,r,o,a){ru(this,e),this.lineTitle=i,this.icon=r,this.title=n,this.type=t.type,this.lineHeight=t.lineHeight,this.color=t.color,this.titleBackgroundColor=t.titleBackgroundColor,this.titleColor=t.titleColor,this.lineTitleBackgroundColor=t.lineTitleBackgroundColor,this.id=o,this.scenePoint=a,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 au(e,[{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 e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.style.overflow="visible",this.svg=e;var t=document.createElementNS("http://www.w3.org/2000/svg","path");t.style.fill=this.color,this.arrow=t,this.svg.appendChild(t),this.rootDiv.appendChild(e);var i=document.createElement("div");i.style.position="absolute",i.style.backgroundColor="#ffffff",i.style.color=this.titleColor,i.innerText=this.lineTitle,this.lineTitleDiv=i,this.rootDiv.appendChild(i);var n=document.createElement("div");this.contentDiv=n,this.contentDiv.addEventListener("mousedown",this._dragStart);var r=document.createElement("div");if(this.titleDiv=r,r.style.display="inline-block",r.style.color=this.titleColor,r.style.whiteSpace="nowrap",r.style.overflow="hidden",r.style.textOverflow="ellipsis",r.style.maxWidth="150px",r.style.position="absolute",r.style.top="50%",this.icon?"circle"===this.type?(r.style.left="50%",r.style.transform="translate(-50%, 5px)"):(r.style.left="".concat(this._marginLeft+this._iconSize+5,"px"),r.style.transform="translate(0px, -50%)"):(r.style.left="50%",r.style.transform="translate(-50%, -50%)"),r.innerText=this.title,this.contentDiv.appendChild(r),this.icon){var o=document.createElement("img");o.style.width="".concat(this._iconSize,"px"),o.style.height="".concat(this._iconSize,"px"),o.style.position="absolute",o.style.pointerEvents="none","circle"===this.type?(o.style.left="50%",o.style.top="50%",o.style.transform="translate(-50%, -100%)"):(o.style.left="".concat(this._marginLeft,"px"),o.style.top="50%",o.style.transform="translate(0px, -50%)"),o.src=this.icon,this.contentDiv.appendChild(o)}this.rootDiv.appendChild(n)}},{key:"setLineStartPosition",value:function(e,t){this.lineStartPosition.x=e,this.lineStartPosition.y=t,this.update()}},{key:"setLineEndPosition",value:function(e,t){this.lineEndPosition.x=e,this.lineEndPosition.y=t,this.update()}},{key:"setLineStartAndEndPoint",value:function(e,t,i,n){this.lineStartPosition.x=e,this.lineStartPosition.y=t,this.lineEndPosition.x=i,this.lineEndPosition.y=n,this.update()}},{key:"update",value:function(){var e=this.titleDiv.getBoundingClientRect();e.width+=2*this._marginLeft,"rectangle"===this.type&&(this.icon&&(e.width+=this._iconSize,e.width+=5),e.height=40);var t=this.lineEndPosition.x-this.lineStartPosition.x,i=this.lineEndPosition.y-this.lineStartPosition.y,n=Math.atan2(i,t);n>0||(n+=2*Math.PI);var r=n/Math.PI*180,o=Math.sqrt(t*t+i*i);if("circle"===this.type)o-=e.width/2;else{var a=Math.tan(n);Math.abs(a)>e.height/e.width?o-=e.height/2/Math.abs(Math.sin(n)):o-=e.width/2/Math.abs(Math.cos(n))}o=Math.max(15,o);var s=0,l=0,c="M".concat(s," ").concat(l);c+="L".concat(s," ").concat(l-this.lineHeight/2),c+="L".concat(s+o-10," ").concat(l-this.lineHeight/2),c+="A".concat(20," ").concat(20," 0 0 0 ").concat(s+o-15," ").concat(l-this.lineHeight/2-10),c+="L".concat(s+o," ").concat(l),c+="L".concat(s+o-15," ").concat(l+this.lineHeight/2+10),c+="A".concat(20," ").concat(20," 0 0 0 ").concat(s+o-10," ").concat(l+this.lineHeight/2),c+="L".concat(s," ").concat(l+this.lineHeight/2,"Z"),this.arrow.setAttributeNS(null,"d",c);var h="translate(".concat(this.lineStartPosition.x,", ").concat(this.lineStartPosition.y,") rotate(").concat(r,")");this.arrow.setAttributeNS(null,"transform",h);var d=(this.lineStartPosition.y+this.lineEndPosition.y)/2,u="\n left:".concat((this.lineStartPosition.x+this.lineEndPosition.x)/2,"px;top:").concat(d,"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=u;var p=this.lineEndPosition.x,g=this.lineEndPosition.y;u="\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(e.width,"px;\n cursor: move;\n "),u+="circle"===this.type?"\n height:".concat(e.width,"px;\n border-radius:").concat(e.width,"px;\n "):"\n height:".concat(e.height,"px;\n border-radius:4px;\n "),this.contentDiv.style.cssText=u}},{key:"_dragStart",value:function(e){0===e.button&&(document.addEventListener("mousemove",this._dragMove),document.addEventListener("mouseup",this._dragEnd),this._lastDragPoint={x:e.clientX,y:e.clientY})}},{key:"_dragMove",value:function(e){if(this._lastDragPoint){var t=e.clientY-this._lastDragPoint.y;this.lineEndPosition.x+=e.clientX-this._lastDragPoint.x,this.lineEndPosition.y+=t,this.update(),this._lastDragPoint.x=e.clientX,this._lastDragPoint.y=e.clientY}else this._lastDragPoint={x:e.clientX,y:e.clientY}}},{key:"_dragEnd",value:function(e){this._lastDragPoint=void 0,document.removeEventListener("mousemove",this._dragMove),document.removeEventListener("mouseup",this._dragEnd)}}]),e}(),hT=function(){function e(t,i){ru(this,e),this.viewer3D=t,this.BOS3D=i,this.THREE=i.THREE,this.marks={},this.arrowConfig=new lT,this.flag=1,this.update=this.update.bind(this),t.registerCameraEventListener(this.BOS3D.EVENTS.ON_CAMERA_CHANGE,this.update)}return au(e,[{key:"testData",value:function(){return[{lineTitle:"测试1",title:"测试1胜利大街发",icon:"data:image/png;base64,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",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(e,t,i){var n=this.viewer3D.getBoxByComponentsKey(e),r=new this.THREE.Vector3;n.getCenter(r);var o=r.toArray(),a=this.viewer3D.getViewerImpl().domElement,s=a.getBoundingClientRect(),l=this.viewer3D.getScreenCoordFromSceneCoord(r),c=t||this.arrowConfig,h=c.type,d=0,u=[l[0]+250,l[1]],p=250,g=0,f=0;this.marks[e]||(this.marks[e]=[]);for(var m=0,A=i.length;A>m;m+=1){var y=i[m];c.type=y.type||h;var v=new cT(c,y.lineTitle,y.title,y.icon,this.flag,o);a.appendChild(v.rootDiv),v.setLineStartAndEndPoint(l[0],l[1],u[0],u[1]);var C=v.contentDiv.getBoundingClientRect();if(m>0){f+=2*Math.asin((C.height/2+d/2)/2/250),f+=.1;var I=Math.cos(f),x=Math.sin(f),w=p*I+g*-x+l[0],M=p*x+g*I+l[1];0>w?w=C.width/2:w>s.width&&(w=s.width-C.width/2),0>M?M=C.height/2:M>s.height&&(M=s.height-C.height/2),v.setLineEndPosition(w,M)}d=C.height,this.flag+=1,this.marks[e].push(v)}}},{key:"addMarkAt",value:function(e,t,i,n,r){var o=parseInt(e.x,10).toString()+"_"+parseInt(e.y,10).toString()+"_"+parseInt(e.z,10).toString(),a=new cT(r||this.arrowConfig,t,i,n,this.flag,e),s=this.viewer3D.getViewerImpl().domElement;s.appendChild(a.rootDiv);var l=s.getBoundingClientRect(),c=this.viewer3D.getScreenCoordFromSceneCoord(e),h=[c[0],c[1]];return c.x>l.width/2?h[0]-=250:h[0]+=250,a.setLineStartAndEndPoint(c[0],c[1],h[0],h[1]),this.flag+=1,this.marks[o]||(this.marks[o]=[]),this.marks[o].push(a),a}},{key:"update",value:function(){var e=this,t=(new Date).getTime();this._lastTime&&t-this._lastTime<25||(this._lastTime=t,Object.keys(this.marks).forEach((function(t){var i=e.marks[t],n=e.viewer3D.getScreenCoordFromSceneCoord(i[0].scenePoint);i.forEach((function(e){e.setLineStartPosition(n[0],n[1])}))})))}},{key:"destroy",value:function(){this.viewer3D.unregisterCameraEventListener(this.BOS3D.EVENTS.ON_CAMERA_CHANGE,this.update)}}]),e}(),dT=function(e){this.Measurement={pointMove:new Ke,pointPick:[],pointPickToScreen:[],pointAssist:[],pointAssistToScreen:[],needUpdatedObjects:[],pickLineP1:new Ke,pickLineP2:new Ke,planeSquare:{},planeVolume:{},measureWindow:{}},this.renderer=e.viewerImpl.modelManager.renderer,this.scene=e.viewerImpl.modelManager.scene,this.camera=e.viewerImpl.camera.cameraPerspective,this.cameraControl=e.viewerImpl.cameraControl,this.intersect=null,this.domElement=e.viewerImpl.domElement,this.viewer=e.viewerImpl,this.SVG=document.getElementById("svgid"+e.getViewerImpl().uuid),this.SVGRect=e.SVGRect;var t=this;function i(){t.updatePos()}function n(){var i=e.getScreenCoordFromSceneCoord(t.Measurement.pickLineP1),n=e.getScreenCoordFromSceneCoord(t.Measurement.pickLineP2),r=new ke(i[0],i[1]),o=new ke(n[0],n[1]);t.SVGRect.createMoveLine(r,o)}this.movePoint=function(i){if(i.pickLine||i.pickPlane||i.pickPoint){t.SVGRect.deleteCircle();var n=e.viewerImpl.cameraControl.screenToCanvas(i.event.clientX,i.event.clientY);t.SVGRect.creatMoveCircle(n);var r=t.cameraControl.getIntersectContext(new ke(i.event.clientX,i.event.clientY));if(t.cameraControl.intersector.pick(r,(function(i){for(var r=i.object.geometry,o=r.attributes.position.array,a=r.attributes.position.count,s=0;a>s;s+=1){var l=new Ke(o[3*s],o[3*s+1],o[3*s+2]);l.applyMatrix4(i.object.matrixWorld);var c=e.getScreenCoordFromSceneCoord(l);15>Math.sqrt((c[0]-n.x)*(c[0]-n.x)+(c[1]-n.y)*(c[1]-n.y))&&(t.Measurement.pointMove=l,t.SVGRect.changeMoveCircleStyle(c))}})),i.pickLine){t.Measurement.pickLineP1=i.pickLine[0],t.Measurement.pickLineP2=i.pickLine[1];var o=e.getScreenCoordFromSceneCoord(i.pickLine[0].clone()),a=e.getScreenCoordFromSceneCoord(i.pickLine[1].clone()),s=new ke(o[0],o[1]),l=new ke(a[0],a[1]);t.SVGRect.createMoveLine(s,l)}}},this.pickPoint=function(i){if(i.pickLine||i.pickPlane||i.pickPoint){1>t.Measurement.needUpdatedObjects.length||(t.SVGRect.deleteCircle(),t.SVGRect.deleteMoveLine(),t.SVGRect.deleteLineAndCircle(),t.Measurement.pointPick=[],t.Measurement.pointPickToScreen=[],t.Measurement.pointAssist=[],t.Measurement.pointAssistToScreen=[],t.Measurement.needUpdatedObjects=[],t.updatePos());new Ke,new Ke,new Ke,new Ke;var n=null,r=i.pickPoint,o=(new ke).fromArray(e.getScreenCoordFromSceneCoord(r));t.Measurement.pointPick.push(r),t.Measurement.pointPickToScreen.push(o);var a=t.Measurement.pointPickToScreen.length;if(t.SVGRect.creatPickCircle(o,a-1),a%2==0&&a>0){var s=new Ke(t.Measurement.pointPick[a-1].x,t.Measurement.pointPick[a-2].y,t.Measurement.pointPick[a-2].z),l=new Ke(t.Measurement.pointPick[a-1].x,t.Measurement.pointPick[a-2].y,t.Measurement.pointPick[a-1].z);t.Measurement.pointAssist.push(s),t.Measurement.pointAssist.push(l);var c=e.getScreenCoordFromSceneCoord(s),h=e.getScreenCoordFromSceneCoord(l),d=new ke(c[0],c[1]),u=new ke(h[0],h[1]);t.SVGRect.creatLine(t.Measurement.pointPickToScreen[a-2],d,"red","red"+(a-1)),t.SVGRect.creatLine(u,t.Measurement.pointPickToScreen[a-1],"green","green"+(a-1)),t.SVGRect.creatLine(d,u,"blue","blue"+(a-1)),t.SVGRect.creatLine(t.Measurement.pointPickToScreen[a-1],t.Measurement.pointPickToScreen[a-2],"yellow","yellow"+(a-1)),t.Measurement.needUpdatedObjects.push({point1:t.Measurement.pointPick[a-2],point2:t.Measurement.pointPick[a-1],asPot1:t.Measurement.pointAssist[a-2],asPot2:t.Measurement.pointAssist[a-1]});var p=Math.abs(t.Measurement.pointPick[a-1].x-t.Measurement.pointPick[a-2].x),g=Math.abs(t.Measurement.pointPick[a-1].y-t.Measurement.pointPick[a-2].y),f=Math.abs(t.Measurement.pointPick[a-1].z-t.Measurement.pointPick[a-2].z),m=t.Measurement.pointPick[a-1].distanceTo(t.Measurement.pointPick[a-2]);n={dx:p.toFixed(3),dy:g.toFixed(3),dz:f.toFixed(3),dis:m.toFixed(3)}}return n}},this.clear=function(){t.SVGRect.deleteCircle(),t.SVGRect.deleteMoveLine(),t.SVGRect.deleteLineAndCircle(),t.Measurement.pointPick=[],t.Measurement.pointPickToScreen=[],t.Measurement.pointAssist=[],t.Measurement.pointAssistToScreen=[],t.Measurement.needUpdatedObjects=[],t.cameraControl.removeEventListener(Fd.ON_CAMERA_CHANGE,i),t.cameraControl.removeEventListener(Fd.ON_CAMERA_CHANGE,n)},this.updatePos=function(){var i=t.Measurement.pointPick.length,n=t.Measurement.pointAssist.length,r=t.Measurement.needUpdatedObjects;if(n)for(var o=0;r.length>o;o+=1){var a=2*o,s=e.getScreenCoordFromSceneCoord(r[o].point1),l=e.getScreenCoordFromSceneCoord(r[o].point2),c=new ke(s[0],s[1]),h=new ke(l[0],l[1]);t.Measurement.pointPickToScreen[a]=c,t.Measurement.pointPickToScreen[a+1]=h;var d=e.getScreenCoordFromSceneCoord(r[o].asPot1),u=e.getScreenCoordFromSceneCoord(r[o].asPot2),p=new ke(d[0],d[1]),g=new ke(u[0],u[1]);t.Measurement.pointAssistToScreen[a]=p,t.Measurement.pointAssistToScreen[a+1]=g;var f=t.Measurement.pointPickToScreen[a].x,m=t.Measurement.pointPickToScreen[a].y,A=t.Measurement.pointPickToScreen[a+1].x,y=t.Measurement.pointPickToScreen[a+1].y,v=t.Measurement.pointAssistToScreen[a].x,C=t.Measurement.pointAssistToScreen[a].y,I=t.Measurement.pointAssistToScreen[a+1].x,x=t.Measurement.pointAssistToScreen[a+1].y,w=document.getElementById("circlePick"+e.getViewerImpl().uuid+a),M=document.getElementById("circlePick"+e.getViewerImpl().uuid+(a+1));w.setAttribute("cx",f),w.setAttribute("cy",m),M.setAttribute("cx",A),M.setAttribute("cy",y);var E=document.getElementById("pickline"+e.getViewerImpl().uuid+"red"+(a+1)),B=document.getElementById("pickline"+e.getViewerImpl().uuid+"green"+(a+1)),S=document.getElementById("pickline"+e.getViewerImpl().uuid+"blue"+(a+1)),b=document.getElementById("pickline"+e.getViewerImpl().uuid+"yellow"+(a+1));E.setAttribute("x1",f),E.setAttribute("y1",m),E.setAttribute("x2",v),E.setAttribute("y2",C),B.setAttribute("x1",I),B.setAttribute("y1",x),B.setAttribute("x2",A),B.setAttribute("y2",y),S.setAttribute("x1",v),S.setAttribute("y1",C),S.setAttribute("x2",I),S.setAttribute("y2",x),b.setAttribute("x1",f),b.setAttribute("y1",m),b.setAttribute("x2",A),b.setAttribute("y2",y)}if(i%2==1&&i!==n){var k=e.getScreenCoordFromSceneCoord(t.Measurement.pointPick[i-1]),D=new ke(k[0],k[1]);t.Measurement.pointPickToScreen[i-1]=D;f=D.x,m=D.y;(w=document.getElementById("circlePick"+e.getViewerImpl().uuid+(i-1))).setAttribute("cx",f),w.setAttribute("cy",m)}},this.addEventListener=function(){t.cameraControl.addEventListener(Fd.ON_CAMERA_CHANGE,i),t.cameraControl.addEventListener(Fd.ON_CAMERA_CHANGE,n)}};Object.assign(dT.prototype,hg.prototype);var uT=function(){function e(t){ru(this,e),this.coef=t.coef||.5,this.controlPoints=t.controlPoints||[],this.pointCountRecord=t.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 au(e,[{key:"setControlPoints",value:function(e){this.controlPoints=e,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(e){this.updateList.push("count"),this.update=!0,this.pointCountRecord=e}},{key:"getCurveLength",value:function(){return this.update?{info:"参数已修改,请先更新曲线",code:-1,updateList:this.updateList}:(this.updateCurveLength&&function(){var e=this.points,t=e.length;this.curveLength=e.reduce((function(e,i,n,r){return t>n+1&&(e+=r[n].distanceTo(r[n+1])),e}),0),this.updateCurveLength=!1}.bind(this)(),this.curveLength)}},{key:"getStraightLineDistance",value:function(){return this.updateStraightLineDistance&&function(){var e=this.controlPoints,t=e.length;this.straightLineDistance=e.reduce((function(e,i,n,r){return t>n+1&&(e+=r[n].distanceTo(r[n+1])),e}),0),this.updateStraightLineDistance=!1}.bind(this)(),this.straightLineDistance}},{key:"setCoef",value:function(e){this.updateList.push("coef"),this.update=!0,this.matrix=[[-e,2-e,e-2,e],[2*e,e-3,3-2*e,-e],[-e,0,e,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 e=this.controlPoints;this.formatConPoints=[];for(var t=0,i=e.length;i>t;t+=1)0===t?this.formatConPoints.push(e[t].clone(),e[t].clone()):i>t+1?this.formatConPoints.push(e[t].clone()):this.formatConPoints.push(e[t].clone(),e[t].clone())}},{key:"_createPoints",value:function(e){var t=[],i=this.matrix;function n(e){t[0]=new Ke,t[1]=new Ke,t[2]=new Ke,t[3]=new Ke;var n=[];n[0]=[],n[1]=[],n[2]=[],n[3]=[],n[0][0]=e[0].clone().multiplyScalar(i[0][0]),n[0][1]=e[1].clone().multiplyScalar(i[0][1]),n[0][2]=e[2].clone().multiplyScalar(i[0][2]),n[0][3]=e[3].clone().multiplyScalar(i[0][3]),n[1][0]=e[0].clone().multiplyScalar(i[1][0]),n[1][1]=e[1].clone().multiplyScalar(i[1][1]),n[1][2]=e[2].clone().multiplyScalar(i[1][2]),n[1][3]=e[3].clone().multiplyScalar(i[1][3]),n[2][0]=e[0].clone().multiplyScalar(i[2][0]),n[2][1]=e[1].clone().multiplyScalar(i[2][1]),n[2][2]=e[2].clone().multiplyScalar(i[2][2]),n[2][3]=e[3].clone().multiplyScalar(i[2][3]),n[3][0]=e[0].clone().multiplyScalar(i[3][0]),n[3][1]=e[1].clone().multiplyScalar(i[3][1]),n[3][2]=e[2].clone().multiplyScalar(i[3][2]),n[3][3]=e[3].clone().multiplyScalar(i[3][3]);for(var r=0;4>r;r+=1)for(var o=0;4>o;o+=1)t[r].add(n[r][o])}function r(e){var i=e*e,n=i*e;return t[0].clone().multiplyScalar(n).add(t[1].clone().multiplyScalar(i)).add(t[2].clone().multiplyScalar(e)).add(t[3].clone())}var o=this.formatConPoints,a=this.points=[],s=this.controlPointsIndex=[],l=this.controlPoints;if(e){for(var c=this.getStraightLineDistance(),h=1/e,d=0,u=0,p=0,g=l.length-1;g>p;p+=1){d+=l[p].distanceTo(l[p+1]);var f=Math.floor(d/c/h)-u;n([o[p],o[p+1],o[p+2],o[p+3]]);for(var m=1/f,A=0;f>A;A+=1){a.push(r(m*A))}u+=f}a.push(l[l.length-1])}else for(var y=0,v=o.length;v>y;y+=1){var C=0===y?0:1;if(y+3>=v){a.push(o[y+2]),s.push({j:o[y+1],order:-1});break}a.push(o[y+1]),s.push({j:o[y+1],order:100*y+C}),n([o[y],o[y+1],o[y+2],o[y+3]]);for(var I=1;100>I;I+=1)a.push(r(I/100))}this.update=!1,this.updateCurveLength=!0,this.updateList=[]}}]),e}(),pT=function(){function e(t){return ru(this,e),e.shareInstance||(e.shareInstance=this,this.maxRequestCount=t||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)),e.shareInstance}return au(e,[{key:"addRequest",value:function(e,t){e.addEventListener("load",this._requestDidLoad),e.addEventListener("error",this._requestDidError),e.addEventListener("abort",this._requestDidAbort),e.addEventListener("timeout",this._requestDidTimeout),this.maxRequestCount>this.currentPendingCount?(e.send(t),this.currentPendingCount+=1):this._requests.push({request:e,dataToSend:t})}},{key:"_sendNextRequest",value:function(){if(this._requests.length>0){var e=this._requests.shift();e.request.send(e.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()}}]),e}(),gT={group:"group",model:"model",component:"component",components:"components"};new Ke;var fT=function e(){ru(this,e),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},mT=function(){function e(t,i,n,r){ru(this,e),this.host=t,this.projectUrl=i,this.accessToken=n,this._cachedComponents={},this._cachedMaterials={},this._cachedGeometries={},this._cachedFile={},this._requestQueue=new pT(r)}return au(e,[{key:"destroy",value:function(){delete this._cachedComponents,delete this._cachedMaterials,delete this._cachedGeometries,delete this._cachedFile}},{key:"getExternalObjectByModelKey",value:function(e){var t=this;return"string"!=typeof e?Promise.reject("参数不合法"):this._loadModelInfo(e).then((function(){return t._loadComponentsListIn(e)})).then((function(i){return t.getExternalObjectByComponentsKey(i,e)}))}},{key:"getExternalObjectByComponentKey",value:function(e){var t=this;if("string"!=typeof e)return Promise.reject("参数不合法");var i=this._cachedComponents[e];return i?Promise.resolve(this._createMesh(i,!0)):this._loadComponentsInfo([e]).then((function(e){return t._generateMeshByComponentInfo(e[0])})).then((function(e){return e}))}},{key:"getExternalObjectByComponentsKeyBackup",value:function(e){var t=this;if(e instanceof Array==!1)return Promise.reject("参数不合法");for(var i=[],n=[],r={},o=function(o,a){var s=t.getExternalObjectByComponentKey(e[o]).then((function(e){n.push(e)})).catch((function(t){r[e[o]]=t}));i.push(s)},a=0,s=e.length;s>a;a+=1)o(a);return Promise.all(i).then((function(){if(n.length>0){n.length!==e.length&&Bu.error(r);for(var t=new Jg,i=0,o=n.length;o>i;i+=1)t.add(n[i]);return t}return Promise.reject(r)}))}},{key:"getExternalObjectByComponentsKey",value:function(e,t){var i=this;if(e instanceof Array==!1)return Promise.reject("参数不合法");for(var n=[],r={},o=[],a=0,s=e.length;s>a;a+=1){var l=e[a],c=this._cachedComponents[l];c?n.push(this._createMesh(c,!0)):o.push(l)}if(o.length>0)return this._loadComponentsInfo(o).then((function(o){for(var a=[],s=0,l=o.length;l>s;s+=1){var c=i._generateMeshByComponentInfo(o[s]).then((function(e){n.push(e)})).catch((function(e){r[e.componentKey]=e.message}));a.push(c)}return Promise.all(a).then((function(){if(n.length>0){n.length!==e.length&&Bu.error(r);var i=new Jg;i.originPs=new Ke,i.userData.modelKey=t;for(var o=0,a=n.length;a>o;o+=1)i.add(n[o]);return i}return Promise.reject(r)}))}));var h=new Jg;h.userData.modelKey=t;for(var d=0,u=n.length;u>d;d+=1)h.add(n[d]);return h.originPs=new Ke,Promise.resolve(h)}},{key:"testData",value:function(){var e=new fT;e.type=gT.group;var t=new fT;t.type=gT.component,t.componentKey="M1577676674083_265272";var i=new fT;i.type=gT.component,i.componentKey="M1577676674083_265916";var n=new fT;n.type=gT.component,n.componentKey="M1577676674083_244449";var r=(new yt).makeTranslation(0,0,5e3);n.matrix=r.toArray();var o=new fT;o.type=gT.group;var a=new fT;a.type=gT.component,a.componentKey="M1577676674083_246705";var s=new fT;s.type=gT.component,s.componentKey="M1577676674083_247372",s.matrix=r.makeTranslation(0,0,7e3).toArray();var l=new fT;return l.type=gT.component,l.componentKey="M1577676674083_244910",e.children=[t,i,n,o],o.children=[a,s,l],e}},{key:"getExternalObjectByNodeInfo",value:function(e){var t=this,i=void 0;return e.type===gT.component&&e.componentKey?i=this.getExternalObjectByComponentKey(e.componentKey):e.type===gT.components&&e.componentsKey&&e.componentsKey instanceof Array&&e.componentsKey.length>0?i=this.getExternalObjectByComponentsKey(e.componentsKey):e.type===gT.model&&e.modelKey?i=this.getExternalObjectByModelKey(e.modelKey):e.type===gT.group&&e.children&&e.children.length>0?function(){for(var n=new To,r=[],o=function(i,o){var a=e.children[i],s=t.getExternalObjectByNodeInfo(a).then((function(e){n.add(e)})).catch((function(e){return Bu.error(a,e),e}));r.push(s)},a=0,s=e.children.length;s>a;a+=1)o(a);i=Promise.all(r).then((function(){return n}))}():i=Promise.reject("参数不合法"),i.then((function(t){if(e.matrix){var i=(new yt).fromArray(e.matrix);t.matrix.identity(),t.applyMatrix4(i),t.updateMatrixWorld(!0)}if(e.center){var n=(new He).setFromObject(t),r=new Ke;if(n.getCenter(r),parseInt(e.center[0],10)!==parseInt(r.x,10)||parseInt(e.center[1],10)!==parseInt(r.y,10)||parseInt(e.center[2],10)!==parseInt(r.z,10)){var o=(new Ke).fromArray(e.center).sub(r),a=(new yt).makeTranslation(o.x,o.y,o.z);t.applyMatrix4(a),t.updateMatrixWorld(!0)}}return t}))}},{key:"exportNodeInfoByComponents",value:function(e,t){if(t){var i=new fT;return 1===t.length?(i.type=gT.component,i.componentKey=t[0]):(i.type=gT.components,i.componentsKey=t),i.nodeId=e,i}}},{key:"exportNodeInfoByModelKey",value:function(e,t){if(t){var i=new fT;return i.type=gT.model,i.modelKey=t,i.nodeId=e,i}}},{key:"_loadModelInfo",value:function(e){return this._httpGet(this.host+"/api/"+this.projectUrl+"/models?modelKey="+e)}},{key:"_loadComponentsListIn",value:function(e){return this._httpGet(this.host+"/api/"+this.projectUrl+"/components/keys?modelKey="+e)}},{key:"_loadComponentsInfo",value:function(e,t,i){return this._httpPost(this.host+"/api/"+this.projectUrl+"/components/geometry",{components:e})}},{key:"_generateMeshByComponentInfo",value:function(e){var t=this;if(!e.geometry)return Promise.reject({componentKey:e.component,message:"几何为空"});var i={};if(i.componentKey=e.component,e.matrix){var n=(new yt).fromArray(e.matrix);i.matrix=n}var r=e.materials,o=[],a=[];if(e.materials.length>0)for(var s=function(i,n){o.push(t._loadMaterial(r[i]).then((function(e){a[i]=e})).catch((function(n){Bu.error(n,"用默认材质代替"),a[i]=t._loadMaterialByType(e.type)})))},l=0,c=r.length;c>l;l+=1)s(l);else{var h=this._loadMaterialByType(e.type);a.push(h),o.push(Promise.resolve(h))}return Promise.all(o).then((function(){return i.materials=a,t._loadGeometry(e.geometry)})).then((function(e){i.geometry=e;for(var n=0,r=i.materials.length;r>n;n+=1){var o=i.materials[n];if(o.aoMap||o.lightMap){i.geometry.setAttribute("uv2",new Ai(i.geometry.attributes.uv.array,2));break}}return t._cachedComponents[i.componentKey]=i,t._createMesh(i,!1)}))}},{key:"_loadMaterial",value:function(e){var t=this,i=this._cachedMaterials[e.key];if(i)return Promise.resolve(i.clone());var n=e.data;return this._loadAllTextures(n).then((function(i){var r=t._createMaterial(n,i);return t._cachedMaterials[e.key]=r,r}))}},{key:"_loadMaterialByType",value:function(e){var t=Jy[e]?Jy[e].color:void 0;t||(t=Jy.DEFAULT.color);var i=new pi(t[0],t[1],t[2]),n=i.getHexString()+"_"+t[3],r=this._cachedMaterials[n];return r||((r=cA.createStandardMaterial({color:i})).side=2,this._cachedMaterials[n]=r),r}},{key:"_loadGeometry",value:function(e){var t=this,i=this._cachedGeometries[e];return i?Promise.resolve(i):this._loadFile(e).then((function(i){try{var n=new TextDecoder("utf-8").decode(i),r=JSON.parse(n),o=t._createGeometry(r);return o?(t._cachedGeometries[e]=o,o):Promise.reject("几何为空")}catch(e){return Promise.reject(e.message)}}))}},{key:"_loadAllTextures",value:function(e){for(var t=this,i=[],n=this._getAllTextureFileKey(e),r={},o=function(e,o){var a=n[e];i.push(t._loadFile(a).then((function(e){var i=t._createTexture(e);r[a]=i})).catch((function(e){Bu.error(e)})))},a=0,s=n.length;s>a;a+=1)o(a);return i.length>0?new Promise((function(e,t){Promise.all(i).then((function(){Object.keys(r).length>0?e(r):t("加载纹理失败")}))})):Promise.resolve(r)}},{key:"_getAllTextureFileKey",value:function(e){var t={};return e.map&&(t[e.map]=!0),e.aoMap&&(t[e.aoMap]=!0),e.alphaMap&&(t[e.alphaMap]=!0),e.envMap&&(t[e.envMap]=!0),e.lightMap&&(t[e.lightMap]=!0),e.emissiveMap&&(t[e.emissiveMap]=!0),e.specularMap&&(t[e.specularMap]=!0),e.specularMap&&(t[e.specularMap]=!0),Object.keys(t)}},{key:"_createTexture",value:function(e){var t=new Fe,i=document.createElement("img");t.wrapS=t.wrapT=g,i.onerror=function(e){Bu.error("加载纹理出错")},i.onload=function(n){"string"!=typeof e&&window.URL.revokeObjectURL(i.src),t.image=i,t.needsUpdate=!0};var n=new Blob([e]);return i.src=window.URL.createObjectURL(n),t}},{key:"_createGeometry",value:function(e){if(e.positions&&0!==e.positions.length){var t=null;t=new Ni;var i=new Float32Array(e.positions);t.setAttribute("position",new Ai(i,3));var n=new Uint32Array(e.indices);if(t.setIndex(new Ai(n,1)),e.normals&&e.normals.length>0){var r=new Float32Array(e.normals);t.setAttribute("normal",new Ai(r,3))}else t.computeVertexNormals();if(e.uv&&e.uv.length>0){var o=new Float32Array(e.uv);t.setAttribute("uv",new Ai(o,2))}if(void 0!==e.materialIndices){for(var a=null,s=[],l=void 0,c=0;e.materialIndices.length>c;c+=1){var h=e.materialIndices[c];h!==l&&(l=h,null!=a&&(a.count=3*c-a.start,s.push(a)),a={start:3*c,materialIndex:l})}null!=a&&(a.count=3*e.materialIndices.length-a.start,s.push(a)),t.groups=s}return t}}},{key:"_createMaterial",value:function(e,t){return cA.createMaterialByMaterialBufferAndTexture(e,t)}},{key:"_createMesh",value:function(e,t){var i=null;if(t){i=[];for(var n=0,r=e.materials.length;r>n;n+=1)i.push(e.materials[n].clone())}else i=e.materials;var o=new Bv(e.geometry,i);return o.visible=!0,o.key=e.componentKey,e.matrix&&(o.applyMatrix4(e.matrix),o.updateMatrixWorld(!0)),o}},{key:"_loadFile",value:function(e){var t=this._cachedFile[e];return t?Promise.resolve(t):this._http("GET",this.host+"/api/"+this.projectUrl+"/files?fileKey="+e,"arraybuffer").then((function(e){return e}))}},{key:"_httpGet",value:function(e){return this._http("GET",e)}},{key:"_httpPost",value:function(e,t){return this._http("POST",e,void 0,t)}},{key:"_http",value:function(e,t,i,n){var r=this;return new Promise((function(o,a){var s={};"POST"===e&&(s["Content-type"]="application/json;charset=UTF-8"),r.accessToken&&(s.Authorization=r.accessToken),Yy({type:e,url:t,headers:s,data:JSON.stringify(n),responseType:i||"json",requestQueue:r._requestQueue,success:function(e){if(e)try{i&&"json"!==i?o(e):e.data?o(e.data):"success"!==e.code.toLowerCase()&&a(e.message?e.message:"未知错误")}catch(e){a(e.message)}else a("数据为空")},error:function(e,t){a(t)}})}))}}]),e}();Yt.prototype.allowPick=!0,Yt.prototype.boundingBox=new He,Yt.prototype.updateFixedFrame=function(e,t){for(var i=this.children,n=this.length,r=0;n>r;r+=1){var o=i[r];jg(o.updateFixedFrame)&&o.updateFixedFrame(e,t)}},Yt.prototype.updatePostRender=function(e){for(var t=this.children,i=this.length,n=0;i>n;n+=1){var r=t[n];jg(r.updatePostRender)&&r.updatePostRender(e)}},Yt.prototype.traverseMesh=function(e){if(!1!==this.isMesh){e(this);for(var t=this.children,i=0,n=t.length;n>i;i+=1)t[i].traverseMesh(e)}},Yt.prototype.addObject=function(e){if(e.isDestroyed())throw new ZM("This object was destroyed");return this.add(e),e._collection=this,e},Yt.prototype.removeObject=function(e){var t=1>=arguments.length||void 0===arguments[1]||arguments[1];return!!jg(e)&&(this.remove(e),t||this.destroyMeshs?(e.destroy(),e=null):void 0)},Yt.prototype.destroySelf=function(){jg(this.geometry)&&(this.geometry.dispose(),this.geometry=null);var e=this.material;jg(e)&&(jg(e.map)&&(e.map.dispose(),e.map=null),jg(e.aoMap)&&(e.aoMap.dispose(),e.aoMap=null),jg(e.lightMap)&&(e.lightMap.dispose(),e.lightMap=null),e.dispose(),e=null)},Yt.prototype.isDestroyed=function(){return!1},Yt.prototype.destroy=function(){return this.destroySelf(),this.traverse((function(e){(e.isMesh||e.isSprite)&&e.destroySelf()})),_M(this)},Yt.prototype.get=function(e){return this.children[e]},Yt.prototype.computeBoundingBox=function(){var e=this;this.updateMatrixWorld(!0),this.boundingBox.makeEmpty(),this.traverse((function(t){t.isMeshEx&&e.boundingBox.union(t.computeBoundingBox())})),this.boundingBox.applyMatrix4(this.matrixWorld)},Yt.prototype.getBoundingBoxCenter=function(e){return jg(e)||(e=new Vector3),this.boundingBox.getCenter(e)},Object.defineProperties(Yt.prototype,{length:{get:function(){return this.children.length}}}),e.common=xn.common,e.common=e.common.replace("struct IncidentLight {","struct IncidentLight { \nfloat alpha;"),xn.common=e.common,wn.lights.projectorLights={value:[{color:new pi,position:new Ke,projectorMatrix:new yt,near:1,distance:100,alpha:1,farPlane:new Le,shadow:!0,shadowBias:.1}],properties:{color:{},position:{},projectorMatrix:{},near:{},distance:{},alpha:{},farPlane:{},shadow:{},shadowBias:{}}},wn.lights.projectorTextures={value:[new Fe]},wn.lights.projectorAlphaTextures={value:[new Fe]},wn.lights.projectorShadowMap={value:[new Fe]},wn.lights.projectorShadowMatrix={value:[new yt]},wn.lights.farPlanes={value:[new Le]};var AT=new yt,yT=new Ke,vT=new Ke,CT=function(){function e(t){ru(this,e),this.camera=t,this._projScreenMatrix=AT,this.bias=0,this.normalBias=0,this.radius=1,this.mapSize=new ke(512,512),this.map=null,this.mapPass=null,this.matrix=new yt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new yn,this._frameExtents=new ke(1,1),this._viewportCount=1,this._viewports=[new Le(0,0,1,1)]}return au(e,[{key:"getViewportCount",value:function(){return this._viewportCount}},{key:"getFrustum",value:function(){return this._frustum}},{key:"updateMatrices",value:function(e){var t=this.camera,i=this.matrix;yT.setFromMatrixPosition(e.matrixWorld),t.position.copy(yT),vT.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(vT),t.updateMatrixWorld(),AT.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(AT),i.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),i.multiply(t.projectionMatrix),i.multiply(t.matrixWorldInverse)}},{key:"getViewport",value:function(e){return this._viewports[e]}},{key:"getFrameExtents",value:function(){return this._frameExtents}},{key:"dispose",value:function(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}},{key:"copy",value:function(e){return this.camera=e.camera.clone(),this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}},{key:"clone",value:function(){return(new this.constructor).copy(this)}},{key:"toJSON",value:function(){var e={};return 0!==this.bias&&(e.bias=this.bias),0!==this.normalBias&&(e.normalBias=this.normalBias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}]),e}();new pi;var IT=function(e){lu(i,e);var t=pu(i);function i(e){var n;return ru(this,i),(n=t.call(this,new dn(e.fov,e.aspect,e.near,e.distance))).light=e,n.bias=-15,n.viewer=e.viewer,n.scene=n.viewer.scene,n.shadowScene=new Vo,n.depthMaterial=new Mo({depthPacking:re,morphTargets:!1,side:2}),n._oldClearColor=new pi,n.oldClearAlpha=1,n.renderTarget=n.createRenderTarget(),n.isProjectorLightShadow=!0,n}return au(i,[{key:"createRenderTarget",value:function(){var e=this.mapSize;e.set(1024,1024);var t=new Oe(e.x,e.y);return t.texture.format=D,t.texture.minFilter=A,t.texture.magFilter=A,t.texture.generateMipmaps=!1,t.texture.name="projectorShadowMap",t}},{key:"update",value:function(){this.updateCamera(),this.updateShadowMatrix(),this.updateFrustumPlane(),this.updateRenderTarget()}},{key:"updateCamera",value:function(){var e=this.light,t=this.camera;(e.fov!==t.fov||e.aspect!==t.aspect||(e.distance||t.far)!==t.far||e.near!==t.near)&&(t.fov=e.fov,t.aspect=e.aspect,t.near=e.near,t.far=e.distance||t.far,t.updateProjectionMatrix()),t.position.copy(e.position),t.lookAt(e.target),t.rotateY(e.rotation.y),t.updateMatrixWorld(),t.updateMatrixWorld()}},{key:"updateShadowMatrix",value:function(){var e=this.matrix,t=this.camera;e.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),e.multiply(t.projectionMatrix),e.multiply(t.matrixWorldInverse)}},{key:"updateFrustumPlane",value:function(){var e=this.camera,t=this._projScreenMatrix;t.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),this._frustum.setFromProjectionMatrix(t)}},{key:"updateRenderTarget",value:function(){if(this.light.enabledShadow){var e=this.viewer.viewerImpl.modelManager.models;for(var t in e){this.shadowScene.add(e[t].group)}var i=this.scene.renderer;i.getClearColor(this._oldClearColor),this.oldClearAlpha=i.getClearAlpha();var n=i.autoClear,r=i.getRenderTarget(),o=i.xr.enabled,a=i.shadowMap.autoUpdate;i.autoClear=!1,i.setClearColor(0,1),this.shadowScene.overrideMaterial=this.depthMaterial,i.setRenderTarget(this.renderTarget),i.clear(),i.render(this.shadowScene,this.camera),this.shadowScene.overrideMaterial=null,i.setClearColor(this._oldClearColor),i.setClearAlpha(this.oldClearAlpha),i.autoClear=n,i.xr.enabled=o,i.shadowMap.autoUpdate=a,i.setRenderTarget(r);for(var s=this.shadowScene.children,l=0,c=s.length;c>l;l+=1)this.scene.objectGroups.add(s[l])}}},{key:"updateMatrices",value:function(){}}]),i}(CT),xT=new yt,wT=new yt,MT=new Ge,ET=new Ke(1,1,1),BT=function(e){lu(i,e);var t=pu(i);function i(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(ru(this,i),(e=t.call(this)).viewer=n.viewer,e.scene=e.viewer.scene,!jg(e.viewer))throw new ZM("options.viewer参数为undefined");return e.needUpdate=!0,e.type="ProjectorLight",e.position.copy(Yt.DefaultUp),e.updateMatrix(),e.target=Wg(n.target,new Ke),e._intensity=Wg(n.intensity,1),e._distance=Wg(n.distance,1e3),e._near=Wg(n.near,100),e._fov=Wg(n.fov,45),e._aspect=Wg(n.aspect,1),e._color=Wg(n.color,new pi(16777215)),e._enabledShadow=Wg(n.enabledShadow,!0),e._map=n.map,e._alphaMap=n.alphaMap,e._alpha=1,e._quaternion=MT,e._position=new Ke,e.shadow=new IT(du(e)),e._bias=Wg(n.bias,e.shadow.bias),e._uniforms={color:new pi,alpha:e._alpha,near:e.near,distance:e.distance,position:(new Ke).copy(e.position),projectorMatrix:new yt,projectorShadowMatrix:new yt,shadowMap:e.shadow.renderTarget.texture,shadow:!1,shadowBias:0,farPlane:new Le},e.isProjectorLight=!0,e}return au(i,[{key:"uniforms",get:function(){return this._uniforms}},{key:"enabledShadow",get:function(){return this._enabledShadow},set:function(e){if(this._enabledShadow!==e){var t=this.parent;jg(t)||console.warn("属性设置失败因为该对象未添加到viewer3D.rootScene.projectorLightCollection对象下"),this._enabledShadow=e,t._needsUpdate=!0}}},{key:"color",get:function(){return this._color},set:function(e){this._color.equals(e)||(this._color.copy(e),this.needUpdate=!0)}},{key:"distance",get:function(){return this._distance},set:function(e){this.distance!==e&&(this._distance=e,this.needUpdate=!0)}},{key:"near",get:function(){return this._near},set:function(e){this.near!==e&&(this._near=e,this.needUpdate=!0)}},{key:"intensity",get:function(){return this._intensity},set:function(e){this.intensity!==e&&(this._intensity=e,this.needUpdate=!0)}},{key:"fov",get:function(){return this._fov},set:function(e){this.fov!==e&&(this._fov=e,this.needUpdate=!0)}},{key:"aspect",get:function(){return this._aspect},set:function(e){this.aspect!==e&&(this._aspect=e,this.needUpdate=!0)}},{key:"alpha",get:function(){return this._alpha},set:function(e){this._alpha=e,this.needUpdate=!0}},{key:"map",get:function(){return this._map},set:function(e){this._map=e,this.needUpdate=!0}},{key:"alphaMap",get:function(){return this._alphaMap},set:function(e){jg(this.alphaMap)&&this.alphaMap.dispose(),this._alphaMap=e,this.needUpdate=!0}},{key:"shadowBias",get:function(){return this.shadow.bias},set:function(e){this.shadow.bias=e}},{key:"update",value:function(){this.visible&&this.updateUniforms()}},{key:"updateUniforms",value:function(){var e=this.shadow.camera,t=this.uniforms,i=this.viewer.rootSceneCamera;i.updateProjectionMatrix(),this.updateMatrixWorld(!0);var n=i.matrixWorldInverse;t.position.setFromMatrixPosition(this.matrixWorld),t.position.applyMatrix4(n),xT.lookAt(this.position,this.target,Ke.UNIT_Z),xT.multiply(wT.makeRotationFromEuler(this.rotation)),MT.setFromRotationMatrix(xT),xT.compose(this.position,MT,ET),wT.copy(xT).invert(),t.projectorMatrix.copy(e.projectionMatrix).multiply(wT).multiply(i.matrixWorld),t.color.copy(this.color).multiplyScalar(this.intensity),t.distance=this.distance,t.alpha=this.alpha,t.near=this.near,t.shadow=this.enabledShadow,t.shadow&&(t.shadowBias=this.shadow.bias,t.shadowMap=this.shadow.renderTarget.texture,t.projectorShadowMatrix.copy(this.shadow.matrix));var r=this.shadow._frustum.planes[4],o=r.normal;t.farPlane.set(o.x,o.y,o.z,r.constant)}},{key:"getView",value:function(){var e=[this.position,this.target,this.up],t=e[0],i=e[1],n=e[2];return{position:{x:t.x,y:t.y,z:t.z},target:{x:i.x,y:i.y,z:i.z},up:{x:n.x,y:n.y,z:n.z}}}},{key:"updateRenderTarget",value:function(){this.shadow.update(this)}},{key:"destroy",value:function(){this.map=this.map&&this.map.dispose(),this.alphaMap=this.alphaMap&&this.alphaMap.dispose(),this._uniforms=null;var e=this.shadow.renderTarget.texture;return e=e&&e.dispose(),_M(this)}}]),i}(Jg),ST=new Ke,bT=new hn;function kT(e,t,i,n,r,o,a){ST.set(r,o,a).unproject(n);var s=t[e];if(void 0!==s)for(var l=i.getAttribute("position"),c=0,h=s.length;h>c;c+=1)l.setXYZ(s[c],ST.x,ST.y,ST.z)}var DT=function(e){lu(i,e);var t=pu(i);function i(e){var n;ru(this,i);var r=e.shadow.camera,o=new Ni,a=new Sa({color:16777215,vertexColors:!0,toneMapped:!1}),s=[],l=[],c={},h=new pi(16755200),d=new pi(16711680),u=new pi(43775),p=new pi(16777215),g=new pi(3355443);function f(e,t){s.push(0,0,0),l.push(t.r,t.g,t.b),void 0===c[e]&&(c[e]=[]),c[e].push(s.length/3-1)}function m(e,t,i){f(e,i),f(t,i)}return m("n1","n2",h),m("n2","n4",h),m("n4","n3",h),m("n3","n1",h),m("f1","f2",h),m("f2","f4",h),m("f4","f3",h),m("f3","f1",h),m("n1","f1",h),m("n2","f2",h),m("n3","f3",h),m("n4","f4",h),m("p","n1",d),m("p","n2",d),m("p","n3",d),m("p","n4",d),m("u1","u2",u),m("u2","u3",u),m("u3","u1",u),m("c","t",p),m("p","c",g),m("cn1","cn2",g),m("cn3","cn4",g),m("cf1","cf2",g),m("cf3","cf4",g),o.setAttribute("position",new Bi(s,3)),o.setAttribute("color",new Bi(l,3)),(n=t.call(this,o,a)).isCamera=!0,n.type="CameraHelper",n.projectorLight=e,n.camera=r,n.camera.updateProjectionMatrix&&n.camera.updateProjectionMatrix(),n.matrix=r.matrixWorld,n.matrixAutoUpdate=!1,n.pointMap=c,n.update(),n}return au(i,[{key:"update",value:function(){var e=this.geometry,t=this.pointMap;bT.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),kT("c",t,e,bT,0,0,-1),kT("t",t,e,bT,0,0,1),kT("n1",t,e,bT,-1,-1,-1),kT("n2",t,e,bT,1,-1,-1),kT("n3",t,e,bT,-1,1,-1),kT("n4",t,e,bT,1,1,-1),kT("f1",t,e,bT,-1,-1,1),kT("f2",t,e,bT,1,-1,1),kT("f3",t,e,bT,-1,1,1),kT("f4",t,e,bT,1,1,1),kT("u1",t,e,bT,.7,1.1,-1),kT("u2",t,e,bT,-.7,1.1,-1),kT("u3",t,e,bT,0,2,-1),kT("cf1",t,e,bT,-1,0,1),kT("cf2",t,e,bT,1,0,1),kT("cf3",t,e,bT,0,-1,1),kT("cf4",t,e,bT,0,1,1),kT("cn1",t,e,bT,-1,0,-1),kT("cn2",t,e,bT,1,0,-1),kT("cn3",t,e,bT,0,-1,-1),kT("cn4",t,e,bT,0,1,-1),e.getAttribute("position").needsUpdate=!0}},{key:"updateFixedFrame",value:function(){this.visible&&(this.update(),this.lookAt(this.projectorLight.target),this.position.copy(this.projectorLight.position),this.quaternion.copy(this.projectorLight._quaternion),this.updateMatrix())}}]),i}(La),TT={};TT.ViewerConnector=eu,TT.RoadNetManager=iD,TT.Roam=ND,TT.TextLoader=VD,TT.TrackSimulator=HD,TT.Heatmap=Xb,TT.Fire=fk,TT.Smoke=function(e){e=e||{};var t=(new Dl).load("data:image/png;base64,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");return e.type="smoke",e.autoAnimation=!0,e.values=e.values||{},e.values=iu({name:"smoke",positionStyle:1,positionBase:new Ke(0,0,0),positionSpread:new Ke(1500,1500,600),velocityStyle:1,velocityBase:new Ke(0,0,0),velocitySpread:new Ke(1800,1800,1100),accelerationBase:new Ke(0,0,2600),particleTexture:t,sizeTween:new uk([0,1],[32,800]),opacityTween:new uk([.5,1,1.7],[0,1,0]),colorTween:new uk([.4,1],[new Ke(0,0,0),new Ke(0,0,.2)]),blendStyle:1,particlesPerSecond:120,particleDeathAge:2},e.values),e.values=[e.values],new Ak(e)},TT.Blast=mk,TT.SprayWater=Pk,TT.SprayWaterConfig=function(){this.color=new Du(231,254,255,1),this.originPosition={x:0,y:0,z:0},this.spread=1,this.scale=1,this.originPitch=0,this.originYaw=0,this.originRadius=500,this.originIntensity=.5,this.particleQuantity=1,this.viewer=null},TT.Water=jD,TT.WaterEffect=BB,TT.WaterEffectConfig=function(){this.boundary=[],this.color=new Du("#80FDFF",.8),this.scale=4,this.viewer=null,this.xDirection=1,this.yDirection=1,this.reflectivity=1,this.reflectorTexturePosition=new Ke,this.refractorTexturePosition=new Ke,this.height=0,this.geometry=null},TT.ArrowManager=bB,TT.Assemble=DB,TT.HolesAnalysis=nk;var RT={};RT.Line2=$b,RT.LineMaterial=xM,RT.LineGeometry=_b;for(var UT={},FT=Object.keys(Id),QT=0;FT.length>QT;QT+=1){var LT=FT[QT];Object.defineProperty(UT,LT,{value:Id[LT],enumerable:!0,configurable:!0,writable:!1})}e.Animation=Tp,e.ArrowDomMark=cT,e.ArrowDomMarkManager=hT,e.BOS3DMaterial=iA,e.BOSCatmullRomCurve3=uT,e.BOSCatmullRomCurve3ForFrameEdit=DD,e.BaseControl=um,e.CAMERATYPE=Md,e.Camera=Dp,e.CameraAnimator=Op,e.CameraControl=Kg,e.CameraInfo=Hp,e.CameraUtil=Zp,e.ClipPlaneService=vk,e.ClipPlanes=IM,e.ClipPlanesTool=Hg,e.CollisionDetection=function(e){this.cameraControl=e,this.intersector=e.intersector;var t=new Xp,i=new Xp,n=new Xp,r=new Xp,o=new Xp,a=new Xp;this.run=function(s,l){var c={},h=this.cameraControl.getIntersectContext(null);t.set(s,new Ke(0,0,1)),i.set(s,new Ke(0,0,-1)),o.set(s,l),a.set(s,new Ke(-l.x,-l.y,-l.z)),n.set(s,new Ke(-l.y,l.x,l.z)),r.set(s,new Ke(l.y,-l.x,l.z)),c.top=this.intersector.getIntersectByRay(h,t.ray),c.down=this.intersector.getIntersectByRay(h,i.ray),c.front=this.intersector.getIntersectByRay(h,o.ray),c.back=this.intersector.getIntersectByRay(h,a.ray),c.left=this.intersector.getIntersectByRay(h,n.ray),c.right=this.intersector.getIntersectByRay(h,r.ray);var d=new Ke(s.x,s.y,s.z-.8*e.manHeight),u=new Xp;u.set(d,l);var p=new Xp;p.set(d,new Ke(-l.x,-l.y,-l.z));var g=new Xp;g.set(d,new Ke(-l.y,l.x,l.z));var f=new Xp;return f.set(d,new Ke(l.y,-l.x,l.z)),c.frontMiddle=this.intersector.getIntersectByRay(h,u.ray),c.backMiddle=this.intersector.getIntersectByRay(h,p.ray),c.leftMiddle=this.intersector.getIntersectByRay(h,g.ray),c.rightMiddle=this.intersector.getIntersectByRay(h,f.ray),c}},e.Color=Du,e.ColorPicker=WD,e.ControlConfig=Kp,e.ControlManager=Im,e.ControlMode=Vd,e.DOMMark=nT,e.DefaultInvisibleComponentType=bd,e.DefaultMaterial=Jy,e.DeveloperError=ZM,e.DeviceTest=og,e.DomUtil=ag,e.DrawingStyle=jd,e.EVENTS=Fd,e.EasingFunction=kE,e.Edge=nf,e.EnumCesiumImageryLayerType={AUTO:0,BAIDU:1,GAODE:2,MAPBOX:3,ARCGIS:4,GOOGLE:5},e.EnumConditionType={HIDDEN_OTHERS:0,TRANSLUCENT_OTHERS:1,OVERRIDE:2,BORDERLINE:3},e.EnumDataProvider=zd,e.EnumFilterState=Zd,e.EnumIdBasedType=Od,e.EnumInstanceState=Wd,e.EnumIsolateState=Pd,e.EnumLengthlUnits=_d,e.EnumObjectState=Nd,e.EnumRenderType={RENDER:0,RENDER_FINISHED:1,RESIZE:2},e.EnumRendererType={AUTO:0,FULL:1,INCREMENT:2},e.EnumSceneState=Kd,e.EnumShaderColorState=Jd,e.EnumStandardView=kd,e.EnumTransparentState=Gd,e.EnumUserType={HIDDEN_DATA:0,OVERRIDE_DATA:1,WITH_BOARDLINE:2},e.EventDispatcher=hg,e.ExternalObjectConverter=mT,e.ExternalObjectNodeInfo=fT,e.ExternalObjectNodeInfoType=gT,e.ExternalScene=LE,e.FatLine=ek,e.FillClipPlane=jM,e.FillClipPlaneTool=tf,e.FilterResultMode=qd,e.FullScreen=zD,e.GLTFLoader=cM,e.GUI=XC,e.GeomUtil=by,e.GlobalData=xd,e.Group=cm,e.HTMLMarker=ik,e.HTMLMarkerCollection=DE,e.IDENTITYMATRIX3=Bd,e.IDENTITYMATRIX4=Ed,e.IntersectHelper=tg,e.KDNode=jy,e.LOADERROREVENTS=Qd,e.LightType=Dd,e.LineSegmentsEx=ov,e.LogLevels=Iu,e.MaterialEx=HE,e.MaterialUtil=cA,e.MathUtils=be,e.MeasureTool=em,e.MeasurementManager=dT,e.MeshEx=Bv,e.ModelType=Xd,e.MoveDirection=Hd,e.NodeItemType={SYMBOL:0,MESH:1,TUBE:2,PIPE:3,BOX:4,BOX_M:5,PIPE_M:6,MESH_REF:7,LINE:8},e.NoiseTextureType=nA,e.NormalControl=gm,e.OPSELECTIONTYPE=Td,e.Object3D=Yt,e.Object3DCollection=Jg,e.OrbitControl=mm,e.PICKABLETYPE=Rd,e.PhongLightingMaterial=ig,e.PickControl=fm,e.PickHelper=pf,e.PickUtil=rm,e.PlaneMark=rT,e.Plugins=TT,e.PrimitiveCount={vertexCount:0,triangleCount:0},e.ProjectorHelper=DT,e.ProjectorLight=BT,e.ProjectorLightCollection=CE,e.ProjectorLightShadow=IT,e.Raycaster=Xp,e.RectOpTool=om,e.RectPickTool=am,e.RectZoomTool=sm,e.Roam=oD,e.RoamManager=sD,e.RoamPlayer=aD,e.RotatePivotMode=Ld,e.RotationOrders=wd,e.SVGRect=Ck,e.Scene=KE,e.SceneStateHelper=VE,e.SectionPlane=tT,e.ShaderChunk=xn,e.SpriteMark=oT,e.StorageCache=_C,e.THREE=UT,e.THREEEX=RT,e.ThreeMark=aT,e.TimeConstants=EE,e.Tool=Yg,e.ToolMode=Yd,e.TransformMode={translate:0,rotate:1,scale:2},e.TransformSpace=zg,e.UI={},e.UniformsLib=wn,e.Utils=wp,e.Vector3=Ke,e.Version="5.0.0",e.ViewController=Rk,e.Viewer=Uk,e.ViewerImpl=xB,e.WalkControl=Cm,e.WordPlaneMark=sT,e.ajax=Yy,e.buildEdge=af,e.clone=IE,e.createNoiseTexture=lA,e.cubeTextureLoaderObject=xE,e.defaultValue=Wg,e.defined=jg,e.destroyObject=_M,e.fileLoaderObject=ME,e.getFaceIndex=sf,e.getScript=function(e,t){var i={};if(i[e])t&&t();else{var n=document.createElement("script");n.type="text/javascript",n.src=e,document.head.appendChild(n),i[e]=!0,n.readyState?n.onreadystatechange=function(){"loaded"!==n.readyState&&"complete"!==n.readyState||(n.onreadystatechange=null,t&&t())}:n.onload=function(){t&&t()}}},e.i18nMessage=rg,e.logger=Bu,e.projectorLight_fragment=Hm,e.projector_lights_pars_begin=Ym,e.removeDuplicateIndex=rf,e.removeDuplicateVertex=of,e.standardView={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},e.textureLoaderObject=wE,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=BOS3D.min.js.map