chbim-plugins 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npmr +2 -0
- package/chbim-plugins.js +7 -6
- package/chbim-plugins.umd.cjs +3 -3
- package/package.json +1 -1
- package/README.md +0 -273
package/chbim-plugins.umd.cjs
CHANGED
|
@@ -2570,7 +2570,7 @@ void main() {
|
|
|
2570
2570
|
`},Nn={merge:function(t){for(var e={},i=0;i<t.length;i++){var n=this.clone(t[i]),s;for(s in n)e[s]=n[s]}return e},clone:function(t){var e={},i;for(i in t){e[i]={};for(var n in t[i]){var s=t[i][n];s&&(s.isColor||s.isMatrix3||s.isMatrix4||s.isVector2||s.isVector3||s.isVector4||s.isTexture)?e[i][n]=s.clone():Array.isArray(s)?e[i][n]=s.slice():e[i][n]=s}}return e}},to={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Object.assign(P.prototype,{isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):typeof t=="number"?this.setHex(t):typeof t=="string"&&this.setStyle(t),this},setScalar:function(t){return this.b=this.g=this.r=t,this},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(t&255)/255,this},setRGB:function(t,e,i){return this.r=t,this.g=e,this.b=i,this},setHSL:function(){function t(e,i,n){return 0>n&&(n+=1),1<n&&--n,n<1/6?e+6*(i-e)*n:.5>n?i:n<2/3?e+6*(i-e)*(2/3-n):e}return function(e,i,n){return e=di.euclideanModulo(e,1),i=di.clamp(i,0,1),n=di.clamp(n,0,1),i===0?this.r=this.g=this.b=n:(i=.5>=n?n*(1+i):n+i-n*i,n=2*n-i,this.r=t(n,i,e+1/3),this.g=t(n,i,e),this.b=t(n,i,e-1/3)),this}}(),setStyle:function(t){function e(d){d!==void 0&&1>parseFloat(d)}var i;if(i=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(t)){var n=i[2];switch(i[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,e(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,e(i[5]),this;break;case"hsl":case"hsla":if(i=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(n)){n=parseFloat(i[1])/360;var s=parseInt(i[2],10)/100,l=parseInt(i[3],10)/100;return e(i[5]),this.setHSL(n,s,l)}}}else if(i=/^#([A-Fa-f0-9]+)$/.exec(t)){if(i=i[1],n=i.length,n===3)return this.r=parseInt(i.charAt(0)+i.charAt(0),16)/255,this.g=parseInt(i.charAt(1)+i.charAt(1),16)/255,this.b=parseInt(i.charAt(2)+i.charAt(2),16)/255,this;if(n===6)return this.r=parseInt(i.charAt(0)+i.charAt(1),16)/255,this.g=parseInt(i.charAt(2)+i.charAt(3),16)/255,this.b=parseInt(i.charAt(4)+i.charAt(5),16)/255,this}return t&&0<t.length&&(i=to[t],i!==void 0&&this.setHex(i)),this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return e===void 0&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){return e===void 0&&(e=2),e=0<e?1/e:1,this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},convertGammaToLinear:function(t){return this.copyGammaToLinear(this,t),this},convertLinearToGamma:function(t){return this.copyLinearToGamma(this,t),this},copySRGBToLinear:function(){function t(e){return .04045>e?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),copyLinearToSRGB:function(){function t(e){return .0031308>e?12.92*e:1.055*Math.pow(e,.41666)-.055}return function(e){return this.r=t(e.r),this.g=t(e.g),this.b=t(e.b),this}}(),convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){t===void 0&&(t={h:0,s:0,l:0});var e=this.r,i=this.g,n=this.b,s=Math.max(e,i,n),l=Math.min(e,i,n),d,p=(l+s)/2;if(l===s)l=d=0;else{var _=s-l;switch(l=.5>=p?_/(s+l):_/(2-s-l),s){case e:d=(i-n)/_+(i<n?6:0);break;case i:d=(n-e)/_+2;break;case n:d=(e-i)/_+4}d/=6}return t.h=d,t.s=l,t.l=p,t},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(){var t={};return function(e,i,n){return this.getHSL(t),t.h+=e,t.s+=i,t.l+=n,this.setHSL(t.h,t.s,t.l),this}}(),add:function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this},addColors:function(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this},addScalar:function(t){return this.r+=t,this.g+=t,this.b+=t,this},sub:function(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this},multiply:function(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this},multiplyScalar:function(t){return this.r*=t,this.g*=t,this.b*=t,this},lerp:function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this},lerpHSL:function(){var t={h:0,s:0,l:0},e={h:0,s:0,l:0};return function(i,n){this.getHSL(t),i.getHSL(e),i=di.lerp(t.h,e.h,n);var s=di.lerp(t.s,e.s,n);return n=di.lerp(t.l,e.l,n),this.setHSL(i,s,n),this}}(),equals:function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b},fromArray:function(t,e){return e===void 0&&(e=0),this.r=t[e],this.g=t[e+1],this.b=t[e+2],this},toArray:function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t},toJSON:function(){return this.getHex()}});var qe={common:{diffuse:{value:new P(15658734)},opacity:{value:1},map:{value:null},uvTransform:{value:new m},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 o(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 P(16777215)}},lights:{ambientLightColor:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new P(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},uvTransform:{value:new m}},sprite:{diffuse:{value:new P(15658734)},opacity:{value:1},center:{value:new o(.5,.5)},rotation:{value:0},map:{value:null},uvTransform:{value:new m}}},Mo={basic:{uniforms:Nn.merge([qe.common,qe.specularmap,qe.envmap,qe.aomap,qe.lightmap,qe.fog]),vertexShader:Ci.meshbasic_vert,fragmentShader:Ci.meshbasic_frag},lambert:{uniforms:Nn.merge([qe.common,qe.specularmap,qe.envmap,qe.aomap,qe.lightmap,qe.emissivemap,qe.fog,qe.lights,{emissive:{value:new P(0)}}]),vertexShader:Ci.meshlambert_vert,fragmentShader:Ci.meshlambert_frag},phong:{uniforms:Nn.merge([qe.common,qe.specularmap,qe.envmap,qe.aomap,qe.lightmap,qe.emissivemap,qe.bumpmap,qe.normalmap,qe.displacementmap,qe.gradientmap,qe.fog,qe.lights,{emissive:{value:new P(0)},specular:{value:new P(1118481)},shininess:{value:30}}]),vertexShader:Ci.meshphong_vert,fragmentShader:Ci.meshphong_frag},standard:{uniforms:Nn.merge([qe.common,qe.envmap,qe.aomap,qe.lightmap,qe.emissivemap,qe.bumpmap,qe.normalmap,qe.displacementmap,qe.roughnessmap,qe.metalnessmap,qe.fog,qe.lights,{emissive:{value:new P(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:Ci.meshphysical_vert,fragmentShader:Ci.meshphysical_frag},matcap:{uniforms:Nn.merge([qe.common,qe.bumpmap,qe.normalmap,qe.displacementmap,qe.fog,{matcap:{value:null}}]),vertexShader:Ci.meshmatcap_vert,fragmentShader:Ci.meshmatcap_frag},points:{uniforms:Nn.merge([qe.points,qe.fog]),vertexShader:Ci.points_vert,fragmentShader:Ci.points_frag},dashed:{uniforms:Nn.merge([qe.common,qe.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Ci.linedashed_vert,fragmentShader:Ci.linedashed_frag},depth:{uniforms:Nn.merge([qe.common,qe.displacementmap]),vertexShader:Ci.depth_vert,fragmentShader:Ci.depth_frag},normal:{uniforms:Nn.merge([qe.common,qe.bumpmap,qe.normalmap,qe.displacementmap,{opacity:{value:1}}]),vertexShader:Ci.normal_vert,fragmentShader:Ci.normal_frag},sprite:{uniforms:Nn.merge([qe.sprite,qe.fog]),vertexShader:Ci.sprite_vert,fragmentShader:Ci.sprite_frag},background:{uniforms:{uvTransform:{value:new m},t2D:{value:null}},vertexShader:Ci.background_vert,fragmentShader:Ci.background_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Ci.cube_vert,fragmentShader:Ci.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Ci.equirect_vert,fragmentShader:Ci.equirect_frag},distanceRGBA:{uniforms:Nn.merge([qe.common,qe.displacementmap,{referencePosition:{value:new u},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Ci.distanceRGBA_vert,fragmentShader:Ci.distanceRGBA_frag},shadow:{uniforms:Nn.merge([qe.lights,qe.fog,{color:{value:new P(0)},opacity:{value:1}}]),vertexShader:Ci.shadow_vert,fragmentShader:Ci.shadow_frag}};Mo.physical={uniforms:Nn.merge([Mo.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:Ci.meshphysical_vert,fragmentShader:Ci.meshphysical_frag},Object.assign(I.prototype,{clone:function(){return new this.constructor().copy(this)},copy:function(t){this.a=t.a,this.b=t.b,this.c=t.c,this.normal.copy(t.normal),this.color.copy(t.color),this.materialIndex=t.materialIndex;for(var e=0,i=t.vertexNormals.length;e<i;e++)this.vertexNormals[e]=t.vertexNormals[e].clone();for(e=0,i=t.vertexColors.length;e<i;e++)this.vertexColors[e]=t.vertexColors[e].clone();return this}}),C.RotationOrders="XYZ YZX ZXY XZY YXZ ZYX".split(" "),C.DefaultOrder="XYZ",Object.defineProperties(C.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(t){this._order=t,this.onChangeCallback()}}}),Object.assign(C.prototype,{isEuler:!0,set:function(t,e,i,n){return this._x=t,this._y=e,this._z=i,this._order=n||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this.onChangeCallback(),this},setFromRotationMatrix:function(t,e,i){var n=di.clamp,s=t.elements;t=s[0];var l=s[4],d=s[8],p=s[1],_=s[5],M=s[9],A=s[2],L=s[6];return s=s[10],e=e||this._order,e==="XYZ"?(this._y=Math.asin(n(d,-1,1)),.99999>Math.abs(d)?(this._x=Math.atan2(-M,s),this._z=Math.atan2(-l,t)):(this._x=Math.atan2(L,_),this._z=0)):e==="YXZ"?(this._x=Math.asin(-n(M,-1,1)),.99999>Math.abs(M)?(this._y=Math.atan2(d,s),this._z=Math.atan2(p,_)):(this._y=Math.atan2(-A,t),this._z=0)):e==="ZXY"?(this._x=Math.asin(n(L,-1,1)),.99999>Math.abs(L)?(this._y=Math.atan2(-A,s),this._z=Math.atan2(-l,_)):(this._y=0,this._z=Math.atan2(p,t))):e==="ZYX"?(this._y=Math.asin(-n(A,-1,1)),.99999>Math.abs(A)?(this._x=Math.atan2(L,s),this._z=Math.atan2(p,t)):(this._x=0,this._z=Math.atan2(-l,_))):e==="YZX"?(this._z=Math.asin(n(p,-1,1)),.99999>Math.abs(p)?(this._x=Math.atan2(-M,_),this._y=Math.atan2(-A,t)):(this._x=0,this._y=Math.atan2(d,s))):e==="XZY"&&(this._z=Math.asin(-n(l,-1,1)),.99999>Math.abs(l)?(this._x=Math.atan2(L,_),this._y=Math.atan2(d,t)):(this._x=Math.atan2(-M,s),this._y=0)),this._order=e,i!==!1&&this.onChangeCallback(),this},setFromQuaternion:function(){var t=new c;return function(e,i,n){return t.makeRotationFromQuaternion(e),this.setFromRotationMatrix(t,i,n)}}(),setFromVector3:function(t,e){return this.set(t.x,t.y,t.z,e||this._order)},reorder:function(){var t=new f;return function(e){return t.setFromEuler(this),this.setFromQuaternion(t,e)}}(),equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order},fromArray:function(t){return this._x=t[0],this._y=t[1],this._z=t[2],t[3]!==void 0&&(this._order=t[3]),this.onChangeCallback(),this},toArray:function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t},toVector3:function(t){return t?t.set(this._x,this._y,this._z):new u(this._x,this._y,this._z)},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(U.prototype,{set:function(t){this.mask=1<<t|0},enable:function(t){this.mask=this.mask|1<<t|0},toggle:function(t){this.mask^=1<<t|0},disable:function(t){this.mask&=~(1<<t|0)},test:function(t){return(this.mask&t.mask)!==0}});var Yc=0;N.DefaultUp=new u(0,1,0),N.DefaultMatrixAutoUpdate=!0,N.prototype=Object.assign(Object.create(a.prototype),{constructor:N,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix:function(t){this.matrix.multiplyMatrices(t,this.matrix),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(t){return this.quaternion.premultiply(t),this},setRotationFromAxisAngle:function(t,e){this.quaternion.setFromAxisAngle(t,e)},setRotationFromEuler:function(t){this.quaternion.setFromEuler(t,!0)},setRotationFromMatrix:function(t){this.quaternion.setFromRotationMatrix(t)},setRotationFromQuaternion:function(t){this.quaternion.copy(t)},rotateOnAxis:function(){var t=new f;return function(e,i){return t.setFromAxisAngle(e,i),this.quaternion.multiply(t),this}}(),rotateOnWorldAxis:function(){var t=new f;return function(e,i){return t.setFromAxisAngle(e,i),this.quaternion.premultiply(t),this}}(),rotateX:function(){var t=new u(1,0,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateY:function(){var t=new u(0,1,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateZ:function(){var t=new u(0,0,1);return function(e){return this.rotateOnAxis(t,e)}}(),translateOnAxis:function(){var t=new u;return function(e,i){return t.copy(e).applyQuaternion(this.quaternion),this.position.add(t.multiplyScalar(i)),this}}(),translateX:function(){var t=new u(1,0,0);return function(e){return this.translateOnAxis(t,e)}}(),translateY:function(){var t=new u(0,1,0);return function(e){return this.translateOnAxis(t,e)}}(),translateZ:function(){var t=new u(0,0,1);return function(e){return this.translateOnAxis(t,e)}}(),localToWorld:function(t){return t.applyMatrix4(this.matrixWorld)},worldToLocal:function(){var t=new c;return function(e){return e.applyMatrix4(t.getInverse(this.matrixWorld))}}(),lookAt:function(){var t=new f,e=new c,i=new u,n=new u;return function(s,l,d){s.isVector3?i.copy(s):i.set(s,l,d),s=this.parent,this.updateWorldMatrix(!0,!1),n.setFromMatrixPosition(this.matrixWorld),this.isCamera?e.lookAt(n,i,this.up):e.lookAt(i,n,this.up),this.quaternion.setFromRotationMatrix(e),s&&(e.extractRotation(s.matrixWorld),t.setFromRotationMatrix(e),this.quaternion.premultiply(t.inverse()))}}(),add:function(t){if(1<arguments.length){for(var e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return t===this?this:(t&&t.isObject3D&&(t.parent!==null&&t.parent.remove(t),t.parent=this,t.dispatchEvent({type:"added"}),this.children.push(t)),this)},remove:function(t){if(1<arguments.length){for(var e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}return e=this.children.indexOf(t),e!==-1&&(t.parent=null,t.dispatchEvent({type:"removed"}),this.children.splice(e,1)),this},getObjectById:function(t){return this.getObjectByProperty("id",t)},getObjectByName:function(t){return this.getObjectByProperty("name",t)},getObjectByProperty:function(t,e){if(this[t]===e)return this;for(var i=0,n=this.children.length;i<n;i++){var s=this.children[i].getObjectByProperty(t,e);if(s!==void 0)return s}},getWorldPosition:function(t){return t===void 0&&(t=new u),this.updateMatrixWorld(!0),t.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var t=new u,e=new u;return function(i){return i===void 0&&(i=new f),this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,i,e),i}}(),getWorldScale:function(){var t=new u,e=new f;return function(i){return i===void 0&&(i=new u),this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,e,i),i}}(),getWorldDirection:function(t){t===void 0&&(t=new u),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(e[8],e[9],e[10]).normalize()},raycast:function(){},traverse:function(t){t(this);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].traverse(t)},traverseVisible:function(t){if(this.visible!==!1){t(this);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].traverseVisible(t)}},traverseAncestors:function(t){var e=this.parent;e!==null&&(t(e),e.traverseAncestors(t))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);for(var e=this.children,i=0,n=e.length;i<n;i++)e[i].updateMatrixWorld(t)},updateWorldMatrix:function(t,e){var i=this.parent;if(t===!0&&i!==null&&i.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),e===!0)for(t=this.children,e=0,i=t.length;e<i;e++)t[e].updateWorldMatrix(!1,!0)},toJSON:function(t){function e(A,L){return A[L.uuid]===void 0&&(A[L.uuid]=L.toJSON(t)),L.uuid}function i(A){var L=[],B;for(B in A){var H=A[B];delete H.metadata,L.push(H)}return L}var n=t===void 0||typeof t=="string",s={};n&&(t={geometries:{},materials:{},textures:{},images:{},shapes:{}},s.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var l={};if(l.uuid=this.uuid,l.type=this.type,this.name!==""&&(l.name=this.name),this.castShadow===!0&&(l.castShadow=!0),this.receiveShadow===!0&&(l.receiveShadow=!0),this.visible===!1&&(l.visible=!1),this.frustumCulled===!1&&(l.frustumCulled=!1),this.renderOrder!==0&&(l.renderOrder=this.renderOrder),JSON.stringify(this.userData)!=="{}"&&(l.userData=this.userData),l.layers=this.layers.mask,l.matrix=this.matrix.toArray(),this.matrixAutoUpdate===!1&&(l.matrixAutoUpdate=!1),this.isMesh||this.isLine||this.isPoints){l.geometry=e(t.geometries,this.geometry);var d=this.geometry.parameters;if(d!==void 0&&d.shapes!==void 0)if(d=d.shapes,Array.isArray(d))for(var p=0,_=d.length;p<_;p++)e(t.shapes,d[p]);else e(t.shapes,d)}if(this.material!==void 0)if(Array.isArray(this.material)){for(d=[],p=0,_=this.material.length;p<_;p++)d.push(e(t.materials,this.material[p]));l.material=d}else l.material=e(t.materials,this.material);if(0<this.children.length)for(l.children=[],p=0;p<this.children.length;p++)l.children.push(this.children[p].toJSON(t).object);if(n){n=i(t.geometries),p=i(t.materials),_=i(t.textures);var M=i(t.images);d=i(t.shapes),0<n.length&&(s.geometries=n),0<p.length&&(s.materials=p),0<_.length&&(s.textures=_),0<M.length&&(s.images=M),0<d.length&&(s.shapes=d)}return s.object=l,s},clone:function(t){return new this.constructor().copy(this,t)},copy:function(t,e){if(e===void 0&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),e===!0)for(e=0;e<t.children.length;e++)this.add(t.children[e].clone());return this}});var Zc=0;X.prototype=Object.assign(Object.create(a.prototype),{constructor:X,isGeometry:!0,applyMatrix:function(t){for(var e=new m().getNormalMatrix(t),i=0,n=this.vertices.length;i<n;i++)this.vertices[i].applyMatrix4(t);for(i=0,n=this.faces.length;i<n;i++){t=this.faces[i],t.normal.applyMatrix3(e).normalize();for(var s=0,l=t.vertexNormals.length;s<l;s++)t.vertexNormals[s].applyMatrix3(e).normalize()}return this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this.normalsNeedUpdate=this.verticesNeedUpdate=!0,this},rotateX:function(){var t=new c;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new c;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new c;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new c;return function(e,i,n){return t.makeTranslation(e,i,n),this.applyMatrix(t),this}}(),scale:function(){var t=new c;return function(e,i,n){return t.makeScale(e,i,n),this.applyMatrix(t),this}}(),lookAt:function(){var t=new N;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),fromBufferGeometry:function(t){function e(q,$,rt,xt){var gt=p===void 0?[]:[i.colors[q].clone(),i.colors[$].clone(),i.colors[rt].clone()],Ct=d===void 0?[]:[new u().fromArray(d,3*q),new u().fromArray(d,3*$),new u().fromArray(d,3*rt)];xt=new I(q,$,rt,Ct,gt,xt),i.faces.push(xt),_!==void 0&&i.faceVertexUvs[0].push([new o().fromArray(_,2*q),new o().fromArray(_,2*$),new o().fromArray(_,2*rt)]),M!==void 0&&i.faceVertexUvs[1].push([new o().fromArray(M,2*q),new o().fromArray(M,2*$),new o().fromArray(M,2*rt)])}var i=this,n=t.index!==null?t.index.array:void 0,s=t.attributes,l=s.position.array,d=s.normal!==void 0?s.normal.array:void 0,p=s.color!==void 0?s.color.array:void 0,_=s.uv!==void 0?s.uv.array:void 0,M=s.uv2!==void 0?s.uv2.array:void 0;M!==void 0&&(this.faceVertexUvs[1]=[]);for(var A=s=0;s<l.length;s+=3,A+=2)i.vertices.push(new u().fromArray(l,s)),p!==void 0&&i.colors.push(new P().fromArray(p,s));var L=t.groups;if(0<L.length)for(s=0;s<L.length;s++){l=L[s];var B=l.start,H=l.count;for(A=B,B+=H;A<B;A+=3)n!==void 0?e(n[A],n[A+1],n[A+2],l.materialIndex):e(A,A+1,A+2,l.materialIndex)}else if(n!==void 0)for(s=0;s<n.length;s+=3)e(n[s],n[s+1],n[s+2]);else for(s=0;s<l.length/3;s+=3)e(s,s+1,s+2);return this.computeFaceNormals(),t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone()),t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone()),this},center:function(){var t=new u;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(t).negate(),this.translate(t.x,t.y,t.z),this}}(),normalize:function(){this.computeBoundingSphere();var t=this.boundingSphere.center,e=this.boundingSphere.radius;e=e===0?1:1/e;var i=new c;return i.set(e,0,0,-e*t.x,0,e,0,-e*t.y,0,0,e,-e*t.z,0,0,0,1),this.applyMatrix(i),this},computeFaceNormals:function(){for(var t=new u,e=new u,i=0,n=this.faces.length;i<n;i++){var s=this.faces[i],l=this.vertices[s.a],d=this.vertices[s.b];t.subVectors(this.vertices[s.c],d),e.subVectors(l,d),t.cross(e),t.normalize(),s.normal.copy(t)}},computeVertexNormals:function(t){t===void 0&&(t=!0);var e,i=Array(this.vertices.length),n=0;for(e=this.vertices.length;n<e;n++)i[n]=new u;if(t){var s=new u,l=new u;for(t=0,n=this.faces.length;t<n;t++){e=this.faces[t];var d=this.vertices[e.a],p=this.vertices[e.b],_=this.vertices[e.c];s.subVectors(_,p),l.subVectors(d,p),s.cross(l),i[e.a].add(s),i[e.b].add(s),i[e.c].add(s)}}else for(this.computeFaceNormals(),t=0,n=this.faces.length;t<n;t++)e=this.faces[t],i[e.a].add(e.normal),i[e.b].add(e.normal),i[e.c].add(e.normal);for(n=0,e=this.vertices.length;n<e;n++)i[n].normalize();for(t=0,n=this.faces.length;t<n;t++)e=this.faces[t],d=e.vertexNormals,d.length===3?(d[0].copy(i[e.a]),d[1].copy(i[e.b]),d[2].copy(i[e.c])):(d[0]=i[e.a].clone(),d[1]=i[e.b].clone(),d[2]=i[e.c].clone());0<this.faces.length&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var t;this.computeFaceNormals();var e=0;for(t=this.faces.length;e<t;e++){var i=this.faces[e],n=i.vertexNormals;n.length===3?(n[0].copy(i.normal),n[1].copy(i.normal),n[2].copy(i.normal)):(n[0]=i.normal.clone(),n[1]=i.normal.clone(),n[2]=i.normal.clone())}0<this.faces.length&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,i=0;for(e=this.faces.length;i<e;i++){var n=this.faces[i];n.__originalFaceNormal?n.__originalFaceNormal.copy(n.normal):n.__originalFaceNormal=n.normal.clone(),n.__originalVertexNormals||(n.__originalVertexNormals=[]);var s=0;for(t=n.vertexNormals.length;s<t;s++)n.__originalVertexNormals[s]?n.__originalVertexNormals[s].copy(n.vertexNormals[s]):n.__originalVertexNormals[s]=n.vertexNormals[s].clone()}var l=new X;for(l.faces=this.faces,s=0,t=this.morphTargets.length;s<t;s++){if(!this.morphNormals[s]){this.morphNormals[s]={},this.morphNormals[s].faceNormals=[],this.morphNormals[s].vertexNormals=[],n=this.morphNormals[s].faceNormals;var d=this.morphNormals[s].vertexNormals;for(i=0,e=this.faces.length;i<e;i++){var p=new u,_={a:new u,b:new u,c:new u};n.push(p),d.push(_)}}for(d=this.morphNormals[s],l.vertices=this.morphTargets[s].vertices,l.computeFaceNormals(),l.computeVertexNormals(),i=0,e=this.faces.length;i<e;i++)n=this.faces[i],p=d.faceNormals[i],_=d.vertexNormals[i],p.copy(n.normal),_.a.copy(n.vertexNormals[0]),_.b.copy(n.vertexNormals[1]),_.c.copy(n.vertexNormals[2])}for(i=0,e=this.faces.length;i<e;i++)n=this.faces[i],n.normal=n.__originalFaceNormal,n.vertexNormals=n.__originalVertexNormals},computeBoundingBox:function(){this.boundingBox===null&&(this.boundingBox=new k),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){this.boundingSphere===null&&(this.boundingSphere=new R),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,i){if(t&&t.isGeometry){var n,s=this.vertices.length,l=this.vertices,d=t.vertices,p=this.faces,_=t.faces,M=this.faceVertexUvs[0],A=t.faceVertexUvs[0],L=this.colors,B=t.colors;i===void 0&&(i=0),e!==void 0&&(n=new m().getNormalMatrix(e)),t=0;for(var H=d.length;t<H;t++){var q=d[t].clone();e!==void 0&&q.applyMatrix4(e),l.push(q)}for(t=0,H=B.length;t<H;t++)L.push(B[t].clone());for(t=0,H=_.length;t<H;t++){d=_[t];var $=d.vertexNormals;for(B=d.vertexColors,L=new I(d.a+s,d.b+s,d.c+s),L.normal.copy(d.normal),n!==void 0&&L.normal.applyMatrix3(n).normalize(),e=0,l=$.length;e<l;e++)q=$[e].clone(),n!==void 0&&q.applyMatrix3(n).normalize(),L.vertexNormals.push(q);for(L.color.copy(d.color),e=0,l=B.length;e<l;e++)q=B[e],L.vertexColors.push(q.clone());L.materialIndex=d.materialIndex+i,p.push(L)}for(t=0,H=A.length;t<H;t++)if(i=A[t],n=[],i!==void 0){for(e=0,l=i.length;e<l;e++)n.push(i[e].clone());M.push(n)}}},mergeMesh:function(t){t&&t.isMesh&&(t.matrixAutoUpdate&&t.updateMatrix(),this.merge(t.geometry,t.matrix))},mergeVertices:function(){var t={},e=[],i=[],n=Math.pow(10,4),s,l=0;for(s=this.vertices.length;l<s;l++){var d=this.vertices[l];d=Math.round(d.x*n)+"_"+Math.round(d.y*n)+"_"+Math.round(d.z*n),t[d]===void 0?(t[d]=l,e.push(this.vertices[l]),i[l]=e.length-1):i[l]=i[t[d]]}for(t=[],l=0,s=this.faces.length;l<s;l++)for(n=this.faces[l],n.a=i[n.a],n.b=i[n.b],n.c=i[n.c],n=[n.a,n.b,n.c],d=0;3>d;d++)if(n[d]===n[(d+1)%3]){t.push(l);break}for(l=t.length-1;0<=l;l--)for(n=t[l],this.faces.splice(n,1),i=0,s=this.faceVertexUvs.length;i<s;i++)this.faceVertexUvs[i].splice(n,1);return l=this.vertices.length-e.length,this.vertices=e,l},setFromPoints:function(t){this.vertices=[];for(var e=0,i=t.length;e<i;e++){var n=t[e];this.vertices.push(new u(n.x,n.y,n.z||0))}return this},sortFacesByMaterialIndex:function(){for(var t=this.faces,e=t.length,i=0;i<e;i++)t[i]._id=i;t.sort(function(_,M){return _.materialIndex-M.materialIndex});var n=this.faceVertexUvs[0],s=this.faceVertexUvs[1],l,d;for(n&&n.length===e&&(l=[]),s&&s.length===e&&(d=[]),i=0;i<e;i++){var p=t[i]._id;l&&l.push(n[p]),d&&d.push(s[p])}l&&(this.faceVertexUvs[0]=l),d&&(this.faceVertexUvs[1]=d)},toJSON:function(){function t(Vt,K,ot){return ot?Vt|1<<K:Vt&~(1<<K)}function e(Vt){var K=Vt.x.toString()+Vt.y.toString()+Vt.z.toString();return M[K]!==void 0||(M[K]=_.length/3,_.push(Vt.x,Vt.y,Vt.z)),M[K]}function i(Vt){var K=Vt.r.toString()+Vt.g.toString()+Vt.b.toString();return L[K]!==void 0||(L[K]=A.length,A.push(Vt.getHex())),L[K]}function n(Vt){var K=Vt.x.toString()+Vt.y.toString();return H[K]!==void 0||(H[K]=B.length/2,B.push(Vt.x,Vt.y)),H[K]}var s={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(s.uuid=this.uuid,s.type=this.type,this.name!==""&&(s.name=this.name),this.parameters!==void 0){var l=this.parameters,d;for(d in l)l[d]!==void 0&&(s[d]=l[d]);return s}for(l=[],d=0;d<this.vertices.length;d++){var p=this.vertices[d];l.push(p.x,p.y,p.z)}p=[];var _=[],M={},A=[],L={},B=[],H={};for(d=0;d<this.faces.length;d++){var q=this.faces[d],$=this.faceVertexUvs[0][d]!==void 0,rt=0<q.normal.length(),xt=0<q.vertexNormals.length,gt=q.color.r!==1||q.color.g!==1||q.color.b!==1,Ct=0<q.vertexColors.length,wt=0;wt=t(wt,0,0),wt=t(wt,1,!0),wt=t(wt,2,!1),wt=t(wt,3,$),wt=t(wt,4,rt),wt=t(wt,5,xt),wt=t(wt,6,gt),wt=t(wt,7,Ct),p.push(wt),p.push(q.a,q.b,q.c),p.push(q.materialIndex),$&&($=this.faceVertexUvs[0][d],p.push(n($[0]),n($[1]),n($[2]))),rt&&p.push(e(q.normal)),xt&&(rt=q.vertexNormals,p.push(e(rt[0]),e(rt[1]),e(rt[2]))),gt&&p.push(i(q.color)),Ct&&(q=q.vertexColors,p.push(i(q[0]),i(q[1]),i(q[2])))}return s.data={},s.data.vertices=l,s.data.normals=_,0<A.length&&(s.data.colors=A),0<B.length&&(s.data.uvs=[B]),s.data.faces=p,s},clone:function(){return new X().copy(this)},copy:function(t){var e,i,n;this.vertices=[],this.colors=[],this.faces=[],this.faceVertexUvs=[[]],this.morphTargets=[],this.morphNormals=[],this.skinWeights=[],this.skinIndices=[],this.lineDistances=[],this.boundingSphere=this.boundingBox=null,this.name=t.name;var s=t.vertices,l=0;for(e=s.length;l<e;l++)this.vertices.push(s[l].clone());for(s=t.colors,l=0,e=s.length;l<e;l++)this.colors.push(s[l].clone());for(s=t.faces,l=0,e=s.length;l<e;l++)this.faces.push(s[l].clone());for(l=0,e=t.faceVertexUvs.length;l<e;l++){var d=t.faceVertexUvs[l];for(this.faceVertexUvs[l]===void 0&&(this.faceVertexUvs[l]=[]),s=0,i=d.length;s<i;s++){var p=d[s],_=[],M=0;for(n=p.length;M<n;M++)_.push(p[M].clone());this.faceVertexUvs[l].push(_)}}for(M=t.morphTargets,l=0,e=M.length;l<e;l++){if(n={},n.name=M[l].name,M[l].vertices!==void 0)for(n.vertices=[],s=0,i=M[l].vertices.length;s<i;s++)n.vertices.push(M[l].vertices[s].clone());if(M[l].normals!==void 0)for(n.normals=[],s=0,i=M[l].normals.length;s<i;s++)n.normals.push(M[l].normals[s].clone());this.morphTargets.push(n)}for(M=t.morphNormals,l=0,e=M.length;l<e;l++){if(n={},M[l].vertexNormals!==void 0)for(n.vertexNormals=[],s=0,i=M[l].vertexNormals.length;s<i;s++)d=M[l].vertexNormals[s],p={},p.a=d.a.clone(),p.b=d.b.clone(),p.c=d.c.clone(),n.vertexNormals.push(p);if(M[l].faceNormals!==void 0)for(n.faceNormals=[],s=0,i=M[l].faceNormals.length;s<i;s++)n.faceNormals.push(M[l].faceNormals[s].clone());this.morphNormals.push(n)}for(s=t.skinWeights,l=0,e=s.length;l<e;l++)this.skinWeights.push(s[l].clone());for(s=t.skinIndices,l=0,e=s.length;l<e;l++)this.skinIndices.push(s[l].clone());for(s=t.lineDistances,l=0,e=s.length;l<e;l++)this.lineDistances.push(s[l]);return l=t.boundingBox,l!==null&&(this.boundingBox=l.clone()),l=t.boundingSphere,l!==null&&(this.boundingSphere=l.clone()),this.elementsNeedUpdate=t.elementsNeedUpdate,this.verticesNeedUpdate=t.verticesNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.lineDistancesNeedUpdate=t.lineDistancesNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(J.prototype,"needsUpdate",{set:function(t){t===!0&&this.version++}}),Object.assign(J.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=t!==void 0?t.length/this.itemSize:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.itemSize,i*=e.itemSize;for(var n=0,s=this.itemSize;n<s;n++)this.array[t+n]=e.array[i+n];return this},copyArray:function(t){return this.array.set(t),this},copyColorsArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var l=t[n];l===void 0&&(l=new P),e[i++]=l.r,e[i++]=l.g,e[i++]=l.b}return this},copyVector2sArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var l=t[n];l===void 0&&(l=new o),e[i++]=l.x,e[i++]=l.y}return this},copyVector3sArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var l=t[n];l===void 0&&(l=new u),e[i++]=l.x,e[i++]=l.y,e[i++]=l.z}return this},copyVector4sArray:function(t){for(var e=this.array,i=0,n=0,s=t.length;n<s;n++){var l=t[n];l===void 0&&(l=new v),e[i++]=l.x,e[i++]=l.y,e[i++]=l.z,e[i++]=l.w}return this},set:function(t,e){return e===void 0&&(e=0),this.array.set(t,e),this},getX:function(t){return this.array[t*this.itemSize]},setX:function(t,e){return this.array[t*this.itemSize]=e,this},getY:function(t){return this.array[t*this.itemSize+1]},setY:function(t,e){return this.array[t*this.itemSize+1]=e,this},getZ:function(t){return this.array[t*this.itemSize+2]},setZ:function(t,e){return this.array[t*this.itemSize+2]=e,this},getW:function(t){return this.array[t*this.itemSize+3]},setW:function(t,e){return this.array[t*this.itemSize+3]=e,this},setXY:function(t,e,i){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this},setXYZ:function(t,e,i,n){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this},setXYZW:function(t,e,i,n,s){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=i,this.array[t+2]=n,this.array[t+3]=s,this},onUpload:function(t){return this.onUploadCallback=t,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),Z.prototype=Object.create(J.prototype),Z.prototype.constructor=Z,ct.prototype=Object.create(J.prototype),ct.prototype.constructor=ct,Rt.prototype=Object.create(J.prototype),Rt.prototype.constructor=Rt,tt.prototype=Object.create(J.prototype),tt.prototype.constructor=tt,_t.prototype=Object.create(J.prototype),_t.prototype.constructor=_t,G.prototype=Object.create(J.prototype),G.prototype.constructor=G,Pt.prototype=Object.create(J.prototype),Pt.prototype.constructor=Pt,Et.prototype=Object.create(J.prototype),Et.prototype.constructor=Et,At.prototype=Object.create(J.prototype),At.prototype.constructor=At,Object.assign(ce.prototype,{computeGroups:function(t){var e=[],i=void 0;t=t.faces;for(var n=0;n<t.length;n++){var s=t[n];if(s.materialIndex!==i){i=s.materialIndex,l!==void 0&&(l.count=3*n-l.start,e.push(l));var l={start:3*n,materialIndex:i}}}l!==void 0&&(l.count=3*n-l.start,e.push(l)),this.groups=e},fromGeometry:function(t){var e=t.faces,i=t.vertices,n=t.faceVertexUvs,s=n[0]&&0<n[0].length,l=n[1]&&0<n[1].length,d=t.morphTargets,p=d.length;if(0<p){for(var _=[],M=0;M<p;M++)_[M]={name:d[M].name,data:[]};this.morphTargets.position=_}var A=t.morphNormals,L=A.length;if(0<L){var B=[];for(M=0;M<L;M++)B[M]={name:A[M].name,data:[]};this.morphTargets.normal=B}var H=t.skinIndices,q=t.skinWeights,$=H.length===i.length,rt=q.length===i.length;for(0<i.length&&e.length,M=0;M<e.length;M++){var xt=e[M];this.vertices.push(i[xt.a],i[xt.b],i[xt.c]);var gt=xt.vertexNormals;for(gt.length===3?this.normals.push(gt[0],gt[1],gt[2]):(gt=xt.normal,this.normals.push(gt,gt,gt)),gt=xt.vertexColors,gt.length===3?this.colors.push(gt[0],gt[1],gt[2]):(gt=xt.color,this.colors.push(gt,gt,gt)),s===!0&&(gt=n[0][M],gt!==void 0?this.uvs.push(gt[0],gt[1],gt[2]):this.uvs.push(new o,new o,new o)),l===!0&&(gt=n[1][M],gt!==void 0?this.uvs2.push(gt[0],gt[1],gt[2]):this.uvs2.push(new o,new o,new o)),gt=0;gt<p;gt++){var Ct=d[gt].vertices;_[gt].data.push(Ct[xt.a],Ct[xt.b],Ct[xt.c])}for(gt=0;gt<L;gt++)Ct=A[gt].vertexNormals[M],B[gt].data.push(Ct.a,Ct.b,Ct.c);$&&this.skinIndices.push(H[xt.a],H[xt.b],H[xt.c]),rt&&this.skinWeights.push(q[xt.a],q[xt.b],q[xt.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this}});var Jc=1;Ft.prototype=Object.assign(Object.create(a.prototype),{constructor:Ft,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){Array.isArray(t)?this.index=new(65535<re(t)?Pt:_t)(t,1):this.index=t},addAttribute:function(t,e,i){return e&&e.isBufferAttribute||e&&e.isInterleavedBufferAttribute?t==="index"?(this.setIndex(e),this):(this.attributes[t]=e,this):this.addAttribute(t,new J(e,i))},getAttribute:function(t){return this.attributes[t]},removeAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,e,i){this.groups.push({start:t,count:e,materialIndex:i!==void 0?i:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix:function(t){var e=this.attributes.position;return e!==void 0&&(t.applyToBufferAttribute(e),e.needsUpdate=!0),e=this.attributes.normal,e!==void 0&&(new m().getNormalMatrix(t).applyToBufferAttribute(e),e.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this},rotateX:function(){var t=new c;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new c;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new c;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new c;return function(e,i,n){return t.makeTranslation(e,i,n),this.applyMatrix(t),this}}(),scale:function(){var t=new c;return function(e,i,n){return t.makeScale(e,i,n),this.applyMatrix(t),this}}(),lookAt:function(){var t=new N;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),center:function(){var t=new u;return function(){return this.computeBoundingBox(),this.boundingBox.getCenter(t).negate(),this.translate(t.x,t.y,t.z),this}}(),setFromObject:function(t){var e=t.geometry;if(t.isPoints||t.isLine){t=new Et(3*e.vertices.length,3);var i=new Et(3*e.colors.length,3);this.addAttribute("position",t.copyVector3sArray(e.vertices)),this.addAttribute("color",i.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length&&(t=new Et(e.lineDistances.length,1),this.addAttribute("lineDistance",t.copyArray(e.lineDistances))),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},setFromPoints:function(t){for(var e=[],i=0,n=t.length;i<n;i++){var s=t[i];e.push(s.x,s.y,s.z||0)}return this.addAttribute("position",new Et(e,3)),this},updateFromObject:function(t){var e=t.geometry;if(t.isMesh){var i=e.__directGeometry;if(e.elementsNeedUpdate===!0&&(i=void 0,e.elementsNeedUpdate=!1),i===void 0)return this.fromGeometry(e);i.verticesNeedUpdate=e.verticesNeedUpdate,i.normalsNeedUpdate=e.normalsNeedUpdate,i.colorsNeedUpdate=e.colorsNeedUpdate,i.uvsNeedUpdate=e.uvsNeedUpdate,i.groupsNeedUpdate=e.groupsNeedUpdate,e.verticesNeedUpdate=!1,e.normalsNeedUpdate=!1,e.colorsNeedUpdate=!1,e.uvsNeedUpdate=!1,e.groupsNeedUpdate=!1,e=i}return e.verticesNeedUpdate===!0&&(i=this.attributes.position,i!==void 0&&(i.copyVector3sArray(e.vertices),i.needsUpdate=!0),e.verticesNeedUpdate=!1),e.normalsNeedUpdate===!0&&(i=this.attributes.normal,i!==void 0&&(i.copyVector3sArray(e.normals),i.needsUpdate=!0),e.normalsNeedUpdate=!1),e.colorsNeedUpdate===!0&&(i=this.attributes.color,i!==void 0&&(i.copyColorsArray(e.colors),i.needsUpdate=!0),e.colorsNeedUpdate=!1),e.uvsNeedUpdate&&(i=this.attributes.uv,i!==void 0&&(i.copyVector2sArray(e.uvs),i.needsUpdate=!0),e.uvsNeedUpdate=!1),e.lineDistancesNeedUpdate&&(i=this.attributes.lineDistance,i!==void 0&&(i.copyArray(e.lineDistances),i.needsUpdate=!0),e.lineDistancesNeedUpdate=!1),e.groupsNeedUpdate&&(e.computeGroups(t.geometry),this.groups=e.groups,e.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.__directGeometry=new ce().fromGeometry(t),this.fromDirectGeometry(t.__directGeometry)},fromDirectGeometry:function(t){var e=new Float32Array(3*t.vertices.length);this.addAttribute("position",new J(e,3).copyVector3sArray(t.vertices)),0<t.normals.length&&(e=new Float32Array(3*t.normals.length),this.addAttribute("normal",new J(e,3).copyVector3sArray(t.normals))),0<t.colors.length&&(e=new Float32Array(3*t.colors.length),this.addAttribute("color",new J(e,3).copyColorsArray(t.colors))),0<t.uvs.length&&(e=new Float32Array(2*t.uvs.length),this.addAttribute("uv",new J(e,2).copyVector2sArray(t.uvs))),0<t.uvs2.length&&(e=new Float32Array(2*t.uvs2.length),this.addAttribute("uv2",new J(e,2).copyVector2sArray(t.uvs2))),this.groups=t.groups;for(var i in t.morphTargets){e=[];for(var n=t.morphTargets[i],s=0,l=n.length;s<l;s++){var d=n[s],p=new Et(3*d.data.length,3);p.name=d.name,e.push(p.copyVector3sArray(d.data))}this.morphAttributes[i]=e}return 0<t.skinIndices.length&&(i=new Et(4*t.skinIndices.length,4),this.addAttribute("skinIndex",i.copyVector4sArray(t.skinIndices))),0<t.skinWeights.length&&(i=new Et(4*t.skinWeights.length,4),this.addAttribute("skinWeight",i.copyVector4sArray(t.skinWeights))),t.boundingSphere!==null&&(this.boundingSphere=t.boundingSphere.clone()),t.boundingBox!==null&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){this.boundingBox===null&&(this.boundingBox=new k);var t=this.attributes.position;t!==void 0?this.boundingBox.setFromBufferAttribute(t):this.boundingBox.makeEmpty(),isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z)},computeBoundingSphere:function(){var t=new k,e=new u;return function(){this.boundingSphere===null&&(this.boundingSphere=new R);var i=this.attributes.position;if(i){var n=this.boundingSphere.center;t.setFromBufferAttribute(i),t.getCenter(n);for(var s=0,l=0,d=i.count;l<d;l++)e.x=i.getX(l),e.y=i.getY(l),e.z=i.getZ(l),s=Math.max(s,n.distanceToSquared(e));this.boundingSphere.radius=Math.sqrt(s),isNaN(this.boundingSphere.radius)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var t=this.index,e=this.attributes;if(e.position){var i=e.position.array;if(e.normal===void 0)this.addAttribute("normal",new J(new Float32Array(i.length),3));else for(var n=e.normal.array,s=0,l=n.length;s<l;s++)n[s]=0;n=e.normal.array;var d=new u,p=new u,_=new u,M=new u,A=new u;if(t){var L=t.array;for(s=0,l=t.count;s<l;s+=3){t=3*L[s+0];var B=3*L[s+1],H=3*L[s+2];d.fromArray(i,t),p.fromArray(i,B),_.fromArray(i,H),M.subVectors(_,p),A.subVectors(d,p),M.cross(A),n[t]+=M.x,n[t+1]+=M.y,n[t+2]+=M.z,n[B]+=M.x,n[B+1]+=M.y,n[B+2]+=M.z,n[H]+=M.x,n[H+1]+=M.y,n[H+2]+=M.z}}else for(s=0,l=i.length;s<l;s+=9)d.fromArray(i,s),p.fromArray(i,s+3),_.fromArray(i,s+6),M.subVectors(_,p),A.subVectors(d,p),M.cross(A),n[s]=M.x,n[s+1]=M.y,n[s+2]=M.z,n[s+3]=M.x,n[s+4]=M.y,n[s+5]=M.z,n[s+6]=M.x,n[s+7]=M.y,n[s+8]=M.z;this.normalizeNormals(),e.normal.needsUpdate=!0}},merge:function(t,e){if(t&&t.isBufferGeometry){e===void 0&&(e=0);var i=this.attributes,n;for(n in i)if(t.attributes[n]!==void 0){var s=i[n].array,l=t.attributes[n],d=l.array,p=0;for(l=l.itemSize*e;p<d.length;p++,l++)s[l]=d[p]}return this}},normalizeNormals:function(){var t=new u;return function(){for(var e=this.attributes.normal,i=0,n=e.count;i<n;i++)t.x=e.getX(i),t.y=e.getY(i),t.z=e.getZ(i),t.normalize(),e.setXYZ(i,t.x,t.y,t.z)}}(),toNonIndexed:function(){if(this.index===null)return this;var t=new Ft,e=this.index.array,i=this.attributes,n;for(n in i){var s=i[n],l=s.array,d=s.itemSize,p=new l.constructor(e.length*d),_=0;s=0;for(var M=e.length;s<M;s++)for(var A=e[s]*d,L=0;L<d;L++)p[_++]=l[A++];t.addAttribute(n,new J(p,d))}for(e=this.groups,s=0,M=e.length;s<M;s++)i=e[s],t.addGroup(i.start,i.count,i.materialIndex);return t},toJSON:function(){var t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,this.name!==""&&(t.name=this.name),0<Object.keys(this.userData).length&&(t.userData=this.userData),this.parameters!==void 0){var e=this.parameters;for(s in e)e[s]!==void 0&&(t[s]=e[s]);return t}t.data={attributes:{}};var i=this.index;i!==null&&(e=Array.prototype.slice.call(i.array),t.data.index={type:i.array.constructor.name,array:e}),i=this.attributes;for(s in i){var n=i[s];e=Array.prototype.slice.call(n.array),t.data.attributes[s]={itemSize:n.itemSize,type:n.array.constructor.name,array:e,normalized:n.normalized}}var s=this.groups;return 0<s.length&&(t.data.groups=JSON.parse(JSON.stringify(s))),s=this.boundingSphere,s!==null&&(t.data.boundingSphere={center:s.center.toArray(),radius:s.radius}),t},clone:function(){return new Ft().copy(this)},copy:function(t){var e;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingSphere=this.boundingBox=null,this.name=t.name;var i=t.index;i!==null&&this.setIndex(i.clone()),i=t.attributes;for(d in i)this.addAttribute(d,i[d].clone());var n=t.morphAttributes;for(d in n){var s=[],l=n[d];for(i=0,e=l.length;i<e;i++)s.push(l[i].clone());this.morphAttributes[d]=s}var d=t.groups;for(i=0,e=d.length;i<e;i++)n=d[i],this.addGroup(n.start,n.count,n.materialIndex);return d=t.boundingBox,d!==null&&(this.boundingBox=d.clone()),d=t.boundingSphere,d!==null&&(this.boundingSphere=d.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this.userData=t.userData,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),It.prototype=Object.create(X.prototype),It.prototype.constructor=It,Nt.prototype=Object.create(Ft.prototype),Nt.prototype.constructor=Nt,Pe.prototype=Object.create(X.prototype),Pe.prototype.constructor=Pe,pe.prototype=Object.create(Ft.prototype),pe.prototype.constructor=pe;var ku=0;Wt.prototype=Object.assign(Object.create(a.prototype),{constructor:Wt,isMaterial:!0,onBeforeCompile:function(){},setValues:function(t){if(t!==void 0)for(var e in t){var i=t[e];if(i!==void 0)if(e==="shading")this.flatShading=i===1;else{var n=this[e];n===void 0||(n&&n.isColor?n.set(i):n&&n.isVector3&&i&&i.isVector3?n.copy(i):this[e]=i)}}},toJSON:function(t){function e(s){var l=[],d;for(d in s){var p=s[d];delete p.metadata,l.push(p)}return l}var i=t===void 0||typeof t=="string";i&&(t={textures:{},images:{}});var n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};return n.uuid=this.uuid,n.type=this.type,this.name!==""&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearCoat!==void 0&&(n.clearCoat=this.clearCoat),this.clearCoatRoughness!==void 0&&(n.clearCoatRoughness=this.clearCoatRoughness),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,n.reflectivity=this.reflectivity,this.combine!==void 0&&(n.combine=this.combine),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity)),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),this.size!==void 0&&(n.size=this.size),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==1&&(n.blending=this.blending),this.flatShading===!0&&(n.flatShading=this.flatShading),this.side!==0&&(n.side=this.side),this.vertexColors!==0&&(n.vertexColors=this.vertexColors),1>this.opacity&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),0<this.alphaTest&&(n.alphaTest=this.alphaTest),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(n.wireframe=this.wireframe),1<this.wireframeLinewidth&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.morphTargets===!0&&(n.morphTargets=!0),this.skinning===!0&&(n.skinning=!0),this.visible===!1&&(n.visible=!1),JSON.stringify(this.userData)!=="{}"&&(n.userData=this.userData),i&&(i=e(t.textures),t=e(t.images),0<i.length&&(n.textures=i),0<t.length&&(n.images=t)),n},clone:function(){return new this.constructor().copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.userData=JSON.parse(JSON.stringify(t.userData)),this.clipShadows=t.clipShadows,this.clipIntersection=t.clipIntersection;var e=t.clippingPlanes,i=null;if(e!==null){var n=e.length;i=Array(n);for(var s=0;s!==n;++s)i[s]=e[s].clone()}return this.clippingPlanes=i,this.shadowSide=t.shadowSide,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),$e.prototype=Object.create(Wt.prototype),$e.prototype.constructor=$e,$e.prototype.isShaderMaterial=!0,$e.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=Nn.clone(t.uniforms),this.defines=Object.assign({},t.defines),this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.lights=t.lights,this.clipping=t.clipping,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.extensions=t.extensions,this},$e.prototype.toJSON=function(t){var e=Wt.prototype.toJSON.call(this,t);e.uniforms={};for(var i in this.uniforms){var n=this.uniforms[i].value;e.uniforms[i]=n.isTexture?{type:"t",value:n.toJSON(t).uuid}:n.isColor?{type:"c",value:n.getHex()}:n.isVector2?{type:"v2",value:n.toArray()}:n.isVector3?{type:"v3",value:n.toArray()}:n.isVector4?{type:"v4",value:n.toArray()}:n.isMatrix4?{type:"m4",value:n.toArray()}:{value:n}}return 0<Object.keys(this.defines).length&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e},Object.assign(Si.prototype,{set:function(t,e){return this.origin.copy(t),this.direction.copy(e),this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,e){return e===void 0&&(e=new u),e.copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(){var t=new u;return function(e){return this.origin.copy(this.at(e,t)),this}}(),closestPointToPoint:function(t,e){return e===void 0&&(e=new u),e.subVectors(t,this.origin),t=e.dot(this.direction),0>t?e.copy(this.origin):e.copy(this.direction).multiplyScalar(t).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(){var t=new u;return function(e){var i=t.subVectors(e,this.origin).dot(this.direction);return 0>i?this.origin.distanceToSquared(e):(t.copy(this.direction).multiplyScalar(i).add(this.origin),t.distanceToSquared(e))}}(),distanceSqToSegment:function(){var t=new u,e=new u,i=new u;return function(n,s,l,d){t.copy(n).add(s).multiplyScalar(.5),e.copy(s).sub(n).normalize(),i.copy(this.origin).sub(t);var p=.5*n.distanceTo(s),_=-this.direction.dot(e),M=i.dot(this.direction),A=-i.dot(e),L=i.lengthSq(),B=Math.abs(1-_*_);if(0<B){n=_*A-M,s=_*M-A;var H=p*B;0<=n?s>=-H?s<=H?(p=1/B,n*=p,s*=p,_=n*(n+_*s+2*M)+s*(_*n+s+2*A)+L):(s=p,n=Math.max(0,-(_*s+M)),_=-n*n+s*(s+2*A)+L):(s=-p,n=Math.max(0,-(_*s+M)),_=-n*n+s*(s+2*A)+L):s<=-H?(n=Math.max(0,-(-_*p+M)),s=0<n?-p:Math.min(Math.max(-p,-A),p),_=-n*n+s*(s+2*A)+L):s<=H?(n=0,s=Math.min(Math.max(-p,-A),p),_=s*(s+2*A)+L):(n=Math.max(0,-(_*p+M)),s=0<n?p:Math.min(Math.max(-p,-A),p),_=-n*n+s*(s+2*A)+L)}else s=0<_?-p:p,n=Math.max(0,-(_*s+M)),_=-n*n+s*(s+2*A)+L;return l&&l.copy(this.direction).multiplyScalar(n).add(this.origin),d&&d.copy(e).multiplyScalar(s).add(t),_}}(),intersectSphere:function(){var t=new u;return function(e,i){t.subVectors(e.center,this.origin);var n=t.dot(this.direction),s=t.dot(t)-n*n;return e=e.radius*e.radius,s>e?null:(e=Math.sqrt(e-s),s=n-e,n+=e,0>s&&0>n?null:0>s?this.at(n,i):this.at(s,i))}}(),intersectsSphere:function(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);return e===0?t.distanceToPoint(this.origin)===0?0:null:(t=-(this.origin.dot(t.normal)+t.constant)/e,0<=t?t:null)},intersectPlane:function(t,e){return t=this.distanceToPlane(t),t===null?null:this.at(t,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);return e===0||0>t.normal.dot(this.direction)*e},intersectBox:function(t,e){var i=1/this.direction.x,n=1/this.direction.y,s=1/this.direction.z,l=this.origin;if(0<=i){var d=(t.min.x-l.x)*i;i*=t.max.x-l.x}else d=(t.max.x-l.x)*i,i*=t.min.x-l.x;if(0<=n){var p=(t.min.y-l.y)*n;n*=t.max.y-l.y}else p=(t.max.y-l.y)*n,n*=t.min.y-l.y;return d>n||p>i||((p>d||d!==d)&&(d=p),(n<i||i!==i)&&(i=n),0<=s?(p=(t.min.z-l.z)*s,t=(t.max.z-l.z)*s):(p=(t.max.z-l.z)*s,t=(t.min.z-l.z)*s),d>t||p>i)?null:((p>d||d!==d)&&(d=p),(t<i||i!==i)&&(i=t),0>i?null:this.at(0<=d?d:i,e))},intersectsBox:function(){var t=new u;return function(e){return this.intersectBox(e,t)!==null}}(),intersectTriangle:function(){var t=new u,e=new u,i=new u,n=new u;return function(s,l,d,p,_){if(e.subVectors(l,s),i.subVectors(d,s),n.crossVectors(e,i),l=this.direction.dot(n),0<l){if(p)return null;p=1}else if(0>l)p=-1,l=-l;else return null;return t.subVectors(this.origin,s),s=p*this.direction.dot(i.crossVectors(t,i)),0>s||(d=p*this.direction.dot(e.cross(t)),0>d||s+d>l)?null:(s=-p*t.dot(n),0>s?null:this.at(s/l,_))}}(),applyMatrix4:function(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}),Object.assign(Oe,{getNormal:function(){var t=new u;return function(e,i,n,s){return s===void 0&&(s=new u),s.subVectors(n,i),t.subVectors(e,i),s.cross(t),e=s.lengthSq(),0<e?s.multiplyScalar(1/Math.sqrt(e)):s.set(0,0,0)}}(),getBarycoord:function(){var t=new u,e=new u,i=new u;return function(n,s,l,d,p){t.subVectors(d,s),e.subVectors(l,s),i.subVectors(n,s),n=t.dot(t),s=t.dot(e),l=t.dot(i);var _=e.dot(e);d=e.dot(i);var M=n*_-s*s;return p===void 0&&(p=new u),M===0?p.set(-2,-1,-1):(M=1/M,_=(_*l-s*d)*M,n=(n*d-s*l)*M,p.set(1-_-n,n,_))}}(),containsPoint:function(){var t=new u;return function(e,i,n,s){return Oe.getBarycoord(e,i,n,s,t),0<=t.x&&0<=t.y&&1>=t.x+t.y}}(),getUV:function(){var t=new u;return function(e,i,n,s,l,d,p,_){return this.getBarycoord(e,i,n,s,t),_.set(0,0),_.addScaledVector(l,t.x),_.addScaledVector(d,t.y),_.addScaledVector(p,t.z),_}}()}),Object.assign(Oe.prototype,{set:function(t,e,i){return this.a.copy(t),this.b.copy(e),this.c.copy(i),this},setFromPointsAndIndices:function(t,e,i,n){return this.a.copy(t[e]),this.b.copy(t[i]),this.c.copy(t[n]),this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},getArea:function(){var t=new u,e=new u;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),getMidpoint:function(t){return t===void 0&&(t=new u),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(t){return Oe.getNormal(this.a,this.b,this.c,t)},getPlane:function(t){return t===void 0&&(t=new u),t.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(t,e){return Oe.getBarycoord(t,this.a,this.b,this.c,e)},containsPoint:function(t){return Oe.containsPoint(t,this.a,this.b,this.c)},getUV:function(t,e,i,n,s){return Oe.getUV(t,this.a,this.b,this.c,e,i,n,s)},intersectsBox:function(t){return t.intersectsTriangle(this)},closestPointToPoint:function(){var t=new u,e=new u,i=new u,n=new u,s=new u,l=new u;return function(d,p){p===void 0&&(p=new u);var _=this.a,M=this.b,A=this.c;t.subVectors(M,_),e.subVectors(A,_),n.subVectors(d,_);var L=t.dot(n),B=e.dot(n);if(0>=L&&0>=B)return p.copy(_);s.subVectors(d,M);var H=t.dot(s),q=e.dot(s);if(0<=H&&q<=H)return p.copy(M);var $=L*q-H*B;if(0>=$&&0<=L&&0>=H)return M=L/(L-H),p.copy(_).addScaledVector(t,M);l.subVectors(d,A),d=t.dot(l);var rt=e.dot(l);return 0<=rt&&d<=rt?p.copy(A):(L=d*B-L*rt,0>=L&&0<=B&&0>=rt?($=B/(B-rt),p.copy(_).addScaledVector(e,$)):(B=H*rt-d*q,0>=B&&0<=q-H&&0<=d-rt?(i.subVectors(A,M),$=(q-H)/(q-H+(d-rt)),p.copy(M).addScaledVector(i,$)):(A=1/(B+L+$),M=L*A,$*=A,p.copy(_).addScaledVector(t,M).addScaledVector(e,$))))}}(),equals:function(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}),Ge.prototype=Object.create(Wt.prototype),Ge.prototype.constructor=Ge,Ge.prototype.isMeshBasicMaterial=!0,Ge.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this},pi.prototype=Object.assign(Object.create(N.prototype),{constructor:pi,isMesh:!0,setDrawMode:function(t){this.drawMode=t},copy:function(t){return N.prototype.copy.call(this,t),this.drawMode=t.drawMode,t.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),t.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this},updateMorphTargets:function(){var t=this.geometry;if(t.isBufferGeometry){t=t.morphAttributes;var e=Object.keys(t);if(0<e.length){var i=t[e[0]];if(i!==void 0)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=i.length;t<e;t++){var n=i[t].name||String(t);this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=t}}}else if(i=t.morphTargets,i!==void 0&&0<i.length)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,e=i.length;t<e;t++)n=i[t].name||String(t),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=t},raycast:function(){function t(rt,xt,gt,Ct,wt,Vt,K,ot){return(xt.side===1?Ct.intersectTriangle(K,Vt,wt,!0,ot):Ct.intersectTriangle(wt,Vt,K,xt.side!==2,ot))===null?null:($.copy(ot),$.applyMatrix4(rt.matrixWorld),xt=gt.ray.origin.distanceTo($),xt<gt.near||xt>gt.far?null:{distance:xt,point:$.clone(),object:rt})}function e(rt,xt,gt,Ct,wt,Vt,K,ot,kt){return l.fromBufferAttribute(wt,K),d.fromBufferAttribute(wt,ot),p.fromBufferAttribute(wt,kt),(rt=t(rt,xt,gt,Ct,l,d,p,q))&&(Vt&&(L.fromBufferAttribute(Vt,K),B.fromBufferAttribute(Vt,ot),H.fromBufferAttribute(Vt,kt),rt.uv=Oe.getUV(q,l,d,p,L,B,H,new o)),Vt=new I(K,ot,kt),Oe.getNormal(l,d,p,Vt.normal),rt.face=Vt),rt}var i=new c,n=new Si,s=new R,l=new u,d=new u,p=new u,_=new u,M=new u,A=new u,L=new o,B=new o,H=new o,q=new u,$=new u;return function(rt,xt){var gt=this.geometry,Ct=this.material,wt=this.matrixWorld;if(Ct!==void 0&&(gt.boundingSphere===null&>.computeBoundingSphere(),s.copy(gt.boundingSphere),s.applyMatrix4(wt),rt.ray.intersectsSphere(s)!==!1&&(i.getInverse(wt),n.copy(rt.ray).applyMatrix4(i),gt.boundingBox===null||n.intersectsBox(gt.boundingBox)!==!1))){if(gt.isBufferGeometry){var Vt=gt.index,K=gt.attributes.position,ot=gt.attributes.uv,kt=gt.groups;gt=gt.drawRange;var ee;if(Vt!==null)if(Array.isArray(Ct)){var $t=0;for(ee=kt.length;$t<ee;$t++){var Yt=kt[$t],Me=Ct[Yt.materialIndex];wt=Math.max(Yt.start,gt.start);var ge=Math.min(Yt.start+Yt.count,gt.start+gt.count);for(Yt=wt;Yt<ge;Yt+=3){wt=Vt.getX(Yt);var De=Vt.getX(Yt+1),be=Vt.getX(Yt+2);(wt=e(this,Me,rt,n,K,ot,wt,De,be))&&(wt.faceIndex=Math.floor(Yt/3),xt.push(wt))}}}else for(wt=Math.max(0,gt.start),ge=Math.min(Vt.count,gt.start+gt.count),$t=wt,ee=ge;$t<ee;$t+=3)wt=Vt.getX($t),De=Vt.getX($t+1),be=Vt.getX($t+2),(wt=e(this,Ct,rt,n,K,ot,wt,De,be))&&(wt.faceIndex=Math.floor($t/3),xt.push(wt));else if(K!==void 0)if(Array.isArray(Ct))for($t=0,ee=kt.length;$t<ee;$t++)for(Yt=kt[$t],Me=Ct[Yt.materialIndex],wt=Math.max(Yt.start,gt.start),ge=Math.min(Yt.start+Yt.count,gt.start+gt.count),Yt=wt;Yt<ge;Yt+=3)wt=Yt,De=Yt+1,be=Yt+2,(wt=e(this,Me,rt,n,K,ot,wt,De,be))&&(wt.faceIndex=Math.floor(Yt/3),xt.push(wt));else for(wt=Math.max(0,gt.start),ge=Math.min(K.count,gt.start+gt.count),$t=wt,ee=ge;$t<ee;$t+=3)wt=$t,De=$t+1,be=$t+2,(wt=e(this,Ct,rt,n,K,ot,wt,De,be))&&(wt.faceIndex=Math.floor($t/3),xt.push(wt))}else if(gt.isGeometry){for(K=Array.isArray(Ct),ot=gt.vertices,kt=gt.faces,wt=gt.faceVertexUvs[0],0<wt.length&&(Vt=wt),Yt=0,ge=kt.length;Yt<ge;Yt++)if(De=kt[Yt],wt=K?Ct[De.materialIndex]:Ct,wt!==void 0){if($t=ot[De.a],ee=ot[De.b],Me=ot[De.c],wt.morphTargets===!0){be=gt.morphTargets;var ae=this.morphTargetInfluences;l.set(0,0,0),d.set(0,0,0),p.set(0,0,0);for(var We=0,Qe=be.length;We<Qe;We++){var fi=ae[We];if(fi!==0){var An=be[We].vertices;l.addScaledVector(_.subVectors(An[De.a],$t),fi),d.addScaledVector(M.subVectors(An[De.b],ee),fi),p.addScaledVector(A.subVectors(An[De.c],Me),fi)}}l.add($t),d.add(ee),p.add(Me),$t=l,ee=d,Me=p}(wt=t(this,wt,rt,n,$t,ee,Me,q))&&(Vt&&Vt[Yt]&&(be=Vt[Yt],L.copy(be[0]),B.copy(be[1]),H.copy(be[2]),wt.uv=Oe.getUV(q,$t,ee,Me,L,B,H,new o)),wt.face=De,wt.faceIndex=Yt,xt.push(wt))}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),z.prototype=Object.create(g.prototype),z.prototype.constructor=z,z.prototype.isCubeTexture=!0,Object.defineProperty(z.prototype,"images",{get:function(){return this.image},set:function(t){this.image=t}}),Q.prototype=Object.create(g.prototype),Q.prototype.constructor=Q,Q.prototype.isDataTexture3D=!0;var Yh=new g,$c=new Q,Bu=new z,ah=[],Ra=[],Ml=new Float32Array(16),Nu=new Float32Array(9),Zh=new Float32Array(4);sa.prototype.updateCache=function(t){var e=this.cache;t instanceof Float32Array&&e.length!==t.length&&(this.cache=new Float32Array(t.length)),vt(e,t)},$a.prototype.setValue=function(t,e,i){for(var n=this.seq,s=0,l=n.length;s!==l;++s){var d=n[s];d.setValue(t,e[d.id],i)}};var Jh=/([\w\d_]+)(\])?(\[|\.)?/g;uo.prototype.setValue=function(t,e,i){e=this.map[e],e!==void 0&&e.setValue(t,i,this.renderer)},uo.prototype.setOptional=function(t,e,i){e=e[i],e!==void 0&&this.setValue(t,i,e)},uo.upload=function(t,e,i,n){for(var s=0,l=e.length;s!==l;++s){var d=e[s],p=i[d.id];p.needsUpdate!==!1&&d.setValue(t,p.value,n)}},uo.seqWithValue=function(t,e){for(var i=[],n=0,s=t.length;n!==s;++n){var l=t[n];l.id in e&&i.push(l)}return i};var No=0,$h=0;se.prototype=Object.create(Wt.prototype),se.prototype.constructor=se,se.prototype.isMeshDepthMaterial=!0,se.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this},te.prototype=Object.create(Wt.prototype),te.prototype.constructor=te,te.prototype.isMeshDistanceMaterial=!0,te.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this},ci.prototype=Object.assign(Object.create(N.prototype),{constructor:ci,isGroup:!0}),Be.prototype=Object.assign(Object.create(N.prototype),{constructor:Be,isCamera:!0,copy:function(t,e){return N.prototype.copy.call(this,t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this},getWorldDirection:function(t){t===void 0&&(t=new u),this.updateMatrixWorld(!0);var e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()},updateMatrixWorld:function(t){N.prototype.updateMatrixWorld.call(this,t),this.matrixWorldInverse.getInverse(this.matrixWorld)},clone:function(){return new this.constructor().copy(this)}}),_e.prototype=Object.assign(Object.create(Be.prototype),{constructor:_e,isPerspectiveCamera:!0,copy:function(t,e){return Be.prototype.copy.call(this,t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=t.view===null?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this},setFocalLength:function(t){t=.5*this.getFilmHeight()/t,this.fov=2*di.RAD2DEG*Math.atan(t),this.updateProjectionMatrix()},getFocalLength:function(){var t=Math.tan(.5*di.DEG2RAD*this.fov);return .5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*di.RAD2DEG*Math.atan(Math.tan(.5*di.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)},setViewOffset:function(t,e,i,n,s,l){this.aspect=t/e,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=n,this.view.width=s,this.view.height=l,this.updateProjectionMatrix()},clearViewOffset:function(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=this.near,e=t*Math.tan(.5*di.DEG2RAD*this.fov)/this.zoom,i=2*e,n=this.aspect*i,s=-.5*n,l=this.view;if(this.view!==null&&this.view.enabled){var d=l.fullWidth,p=l.fullHeight;s+=l.offsetX*n/d,e-=l.offsetY*i/p,n*=l.width/d,i*=l.height/p}l=this.filmOffset,l!==0&&(s+=t*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+n,e,e-i,t,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){return t=N.prototype.toJSON.call(this,t),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,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}),Fe.prototype=Object.assign(Object.create(_e.prototype),{constructor:Fe,isArrayCamera:!0});var hs=new u,Mr=new u;Re.prototype.isFogExp2=!0,Re.prototype.clone=function(){return new Re(this.color,this.density)},Re.prototype.toJSON=function(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}},En.prototype.isFog=!0,En.prototype.clone=function(){return new En(this.color,this.near,this.far)},En.prototype.toJSON=function(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}},qn.prototype=Object.assign(Object.create(N.prototype),{constructor:qn,copy:function(t,e){return N.prototype.copy.call(this,t,e),t.background!==null&&(this.background=t.background.clone()),t.fog!==null&&(this.fog=t.fog.clone()),t.overrideMaterial!==null&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this},toJSON:function(t){var e=N.prototype.toJSON.call(this,t);return this.background!==null&&(e.object.background=this.background.toJSON(t)),this.fog!==null&&(e.object.fog=this.fog.toJSON()),e}}),Object.defineProperty(ki.prototype,"needsUpdate",{set:function(t){t===!0&&this.version++}}),Object.assign(ki.prototype,{isInterleavedBuffer:!0,onUploadCallback:function(){},setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");return this.count=t!==void 0?t.length/this.stride:0,this.array=t,this},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.dynamic=t.dynamic,this},copyAt:function(t,e,i){t*=this.stride,i*=e.stride;for(var n=0,s=this.stride;n<s;n++)this.array[t+n]=e.array[i+n];return this},set:function(t,e){return e===void 0&&(e=0),this.array.set(t,e),this},clone:function(){return new this.constructor().copy(this)},onUpload:function(t){return this.onUploadCallback=t,this}}),Object.defineProperties(Bi.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(Bi.prototype,{isInterleavedBufferAttribute:!0,setX:function(t,e){return this.data.array[t*this.data.stride+this.offset]=e,this},setY:function(t,e){return this.data.array[t*this.data.stride+this.offset+1]=e,this},setZ:function(t,e){return this.data.array[t*this.data.stride+this.offset+2]=e,this},setW:function(t,e){return this.data.array[t*this.data.stride+this.offset+3]=e,this},getX:function(t){return this.data.array[t*this.data.stride+this.offset]},getY:function(t){return this.data.array[t*this.data.stride+this.offset+1]},getZ:function(t){return this.data.array[t*this.data.stride+this.offset+2]},getW:function(t){return this.data.array[t*this.data.stride+this.offset+3]},setXY:function(t,e,i){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this},setXYZ:function(t,e,i,n){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this},setXYZW:function(t,e,i,n,s){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=i,this.data.array[t+2]=n,this.data.array[t+3]=s,this}}),Hi.prototype=Object.create(Wt.prototype),Hi.prototype.constructor=Hi,Hi.prototype.isSpriteMaterial=!0,Hi.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.rotation=t.rotation,this.sizeAttenuation=t.sizeAttenuation,this};var Oa;nn.prototype=Object.assign(Object.create(N.prototype),{constructor:nn,isSprite:!0,raycast:function(){function t(H,q,$,rt,xt,gt){s.subVectors(H,$).addScalar(.5).multiply(rt),xt!==void 0?(l.x=gt*s.x-xt*s.y,l.y=xt*s.x+gt*s.y):l.copy(s),H.copy(q),H.x+=l.x,H.y+=l.y,H.applyMatrix4(d)}var e=new u,i=new u,n=new u,s=new o,l=new o,d=new c,p=new u,_=new u,M=new u,A=new o,L=new o,B=new o;return function(H,q){i.setFromMatrixScale(this.matrixWorld),d.getInverse(this.modelViewMatrix).premultiply(this.matrixWorld),n.setFromMatrixPosition(this.modelViewMatrix);var $=this.material.rotation;if($!==0)var rt=Math.cos($),xt=Math.sin($);$=this.center,t(p.set(-.5,-.5,0),n,$,i,xt,rt),t(_.set(.5,-.5,0),n,$,i,xt,rt),t(M.set(.5,.5,0),n,$,i,xt,rt),A.set(0,0),L.set(1,0),B.set(1,1);var gt=H.ray.intersectTriangle(p,_,M,!1,e);gt===null&&(t(_.set(-.5,.5,0),n,$,i,xt,rt),L.set(0,1),gt=H.ray.intersectTriangle(p,M,_,!1,e),gt===null)||(xt=H.ray.origin.distanceTo(e),xt<H.near||xt>H.far||q.push({distance:xt,point:e.clone(),uv:Oe.getUV(e,p,_,M,A,L,B,new o),face:null,object:this}))}}(),clone:function(){return new this.constructor(this.material).copy(this)},copy:function(t){return N.prototype.copy.call(this,t),t.center!==void 0&&this.center.copy(t.center),this}}),rn.prototype=Object.assign(Object.create(N.prototype),{constructor:rn,copy:function(t){N.prototype.copy.call(this,t,!1),t=t.levels;for(var e=0,i=t.length;e<i;e++){var n=t[e];this.addLevel(n.object.clone(),n.distance)}return this},addLevel:function(t,e){e===void 0&&(e=0),e=Math.abs(e);for(var i=this.levels,n=0;n<i.length&&!(e<i[n].distance);n++);i.splice(n,0,{distance:e,object:t}),this.add(t)},getObjectForDistance:function(t){for(var e=this.levels,i=1,n=e.length;i<n&&!(t<e[i].distance);i++);return e[i-1].object},raycast:function(){var t=new u;return function(e,i){t.setFromMatrixPosition(this.matrixWorld);var n=e.ray.origin.distanceTo(t);this.getObjectForDistance(n).raycast(e,i)}}(),update:function(){var t=new u,e=new u;return function(i){var n=this.levels;if(1<n.length){t.setFromMatrixPosition(i.matrixWorld),e.setFromMatrixPosition(this.matrixWorld),i=t.distanceTo(e),n[0].object.visible=!0;for(var s=1,l=n.length;s<l&&i>=n[s].distance;s++)n[s-1].object.visible=!1,n[s].object.visible=!0;for(;s<l;s++)n[s].object.visible=!1}}}(),toJSON:function(t){t=N.prototype.toJSON.call(this,t),t.object.levels=[];for(var e=this.levels,i=0,n=e.length;i<n;i++){var s=e[i];t.object.levels.push({object:s.object.uuid,distance:s.distance})}return t}}),Object.assign(cn.prototype,{calculateInverses:function(){this.boneInverses=[];for(var t=0,e=this.bones.length;t<e;t++){var i=new c;this.bones[t]&&i.getInverse(this.bones[t].matrixWorld),this.boneInverses.push(i)}},pose:function(){var t,e,i=0;for(e=this.bones.length;i<e;i++)(t=this.bones[i])&&t.matrixWorld.getInverse(this.boneInverses[i]);for(i=0,e=this.bones.length;i<e;i++)(t=this.bones[i])&&(t.parent&&t.parent.isBone?(t.matrix.getInverse(t.parent.matrixWorld),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))},update:function(){var t=new c,e=new c;return function(){for(var i=this.bones,n=this.boneInverses,s=this.boneMatrices,l=this.boneTexture,d=0,p=i.length;d<p;d++)t.multiplyMatrices(i[d]?i[d].matrixWorld:e,n[d]),t.toArray(s,16*d);l!==void 0&&(l.needsUpdate=!0)}}(),clone:function(){return new cn(this.bones,this.boneInverses)},getBoneByName:function(t){for(var e=0,i=this.bones.length;e<i;e++){var n=this.bones[e];if(n.name===t)return n}}}),fn.prototype=Object.assign(Object.create(N.prototype),{constructor:fn,isBone:!0}),Gi.prototype=Object.assign(Object.create(pi.prototype),{constructor:Gi,isSkinnedMesh:!0,initBones:function(){var t=[],e;if(this.geometry&&this.geometry.bones!==void 0){var i=0;for(e=this.geometry.bones.length;i<e;i++){var n=this.geometry.bones[i],s=new fn;t.push(s),s.name=n.name,s.position.fromArray(n.pos),s.quaternion.fromArray(n.rotq),n.scl!==void 0&&s.scale.fromArray(n.scl)}for(i=0,e=this.geometry.bones.length;i<e;i++)n=this.geometry.bones[i],n.parent!==-1&&n.parent!==null&&t[n.parent]!==void 0?t[n.parent].add(t[i]):this.add(t[i])}return this.updateMatrixWorld(!0),t},bind:function(t,e){this.skeleton=t,e===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.getInverse(e)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){var t;if(this.geometry&&this.geometry.isGeometry)for(t=0;t<this.geometry.skinWeights.length;t++){var e=this.geometry.skinWeights[t],i=1/e.manhattanLength();i!==1/0?e.multiplyScalar(i):e.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){e=new v;var n=this.geometry.attributes.skinWeight;for(t=0;t<n.count;t++)e.x=n.getX(t),e.y=n.getY(t),e.z=n.getZ(t),e.w=n.getW(t),i=1/e.manhattanLength(),i!==1/0?e.multiplyScalar(i):e.set(1,0,0,0),n.setXYZW(t,e.x,e.y,e.z,e.w)}},updateMatrixWorld:function(t){pi.prototype.updateMatrixWorld.call(this,t),this.bindMode==="attached"?this.bindMatrixInverse.getInverse(this.matrixWorld):this.bindMode==="detached"&&this.bindMatrixInverse.getInverse(this.bindMatrix)},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Ni.prototype=Object.create(Wt.prototype),Ni.prototype.constructor=Ni,Ni.prototype.isLineBasicMaterial=!0,Ni.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this},ji.prototype=Object.assign(Object.create(N.prototype),{constructor:ji,isLine:!0,computeLineDistances:function(){var t=new u,e=new u;return function(){var i=this.geometry;if(i.isBufferGeometry){if(i.index===null){for(var n=i.attributes.position,s=[0],l=1,d=n.count;l<d;l++)t.fromBufferAttribute(n,l-1),e.fromBufferAttribute(n,l),s[l]=s[l-1],s[l]+=t.distanceTo(e);i.addAttribute("lineDistance",new Et(s,1))}}else if(i.isGeometry)for(n=i.vertices,s=i.lineDistances,s[0]=0,l=1,d=n.length;l<d;l++)s[l]=s[l-1],s[l]+=n[l-1].distanceTo(n[l]);return this}}(),raycast:function(){var t=new c,e=new Si,i=new R;return function(n,s){var l=n.linePrecision,d=this.geometry,p=this.matrixWorld;if(d.boundingSphere===null&&d.computeBoundingSphere(),i.copy(d.boundingSphere),i.applyMatrix4(p),i.radius+=l,n.ray.intersectsSphere(i)!==!1){t.getInverse(p),e.copy(n.ray).applyMatrix4(t),l/=(this.scale.x+this.scale.y+this.scale.z)/3,l*=l;var _=new u,M=new u;p=new u;var A=new u,L=this&&this.isLineSegments?2:1;if(d.isBufferGeometry){var B=d.index,H=d.attributes.position.array;if(B!==null){B=B.array,d=0;for(var q=B.length-1;d<q;d+=L){var $=B[d+1];_.fromArray(H,3*B[d]),M.fromArray(H,3*$),$=e.distanceSqToSegment(_,M,A,p),$>l||(A.applyMatrix4(this.matrixWorld),$=n.ray.origin.distanceTo(A),$<n.near||$>n.far||s.push({distance:$,point:p.clone().applyMatrix4(this.matrixWorld),index:d,face:null,faceIndex:null,object:this}))}}else for(d=0,q=H.length/3-1;d<q;d+=L)_.fromArray(H,3*d),M.fromArray(H,3*d+3),$=e.distanceSqToSegment(_,M,A,p),$>l||(A.applyMatrix4(this.matrixWorld),$=n.ray.origin.distanceTo(A),$<n.near||$>n.far||s.push({distance:$,point:p.clone().applyMatrix4(this.matrixWorld),index:d,face:null,faceIndex:null,object:this}))}else if(d.isGeometry)for(_=d.vertices,M=_.length,d=0;d<M-1;d+=L)$=e.distanceSqToSegment(_[d],_[d+1],A,p),$>l||(A.applyMatrix4(this.matrixWorld),$=n.ray.origin.distanceTo(A),$<n.near||$>n.far||s.push({distance:$,point:p.clone().applyMatrix4(this.matrixWorld),index:d,face:null,faceIndex:null,object:this}))}}}(),copy:function(t){return N.prototype.copy.call(this,t),this.geometry.copy(t.geometry),this.material.copy(t.material),this},clone:function(){return new this.constructor().copy(this)}}),gi.prototype=Object.assign(Object.create(ji.prototype),{constructor:gi,isLineSegments:!0,computeLineDistances:function(){var t=new u,e=new u;return function(){var i=this.geometry;if(i.isBufferGeometry){if(i.index===null){for(var n=i.attributes.position,s=[],l=0,d=n.count;l<d;l+=2)t.fromBufferAttribute(n,l),e.fromBufferAttribute(n,l+1),s[l]=l===0?0:s[l-1],s[l+1]=s[l]+t.distanceTo(e);i.addAttribute("lineDistance",new Et(s,1))}}else if(i.isGeometry)for(n=i.vertices,s=i.lineDistances,l=0,d=n.length;l<d;l+=2)t.copy(n[l]),e.copy(n[l+1]),s[l]=l===0?0:s[l-1],s[l+1]=s[l]+t.distanceTo(e);return this}}()}),fo.prototype=Object.assign(Object.create(ji.prototype),{constructor:fo,isLineLoop:!0}),Un.prototype=Object.create(Wt.prototype),Un.prototype.constructor=Un,Un.prototype.isPointsMaterial=!0,Un.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this.morphTargets=t.morphTargets,this},ha.prototype=Object.assign(Object.create(N.prototype),{constructor:ha,isPoints:!0,raycast:function(){var t=new c,e=new Si,i=new R;return function(n,s){function l(rt,xt){var gt=e.distanceSqToPoint(rt);gt<A&&(e.closestPointToPoint(rt,L),L.applyMatrix4(_),rt=n.ray.origin.distanceTo(L),rt<n.near||rt>n.far||s.push({distance:rt,distanceToRay:Math.sqrt(gt),point:L.clone(),index:xt,face:null,object:d}))}var d=this,p=this.geometry,_=this.matrixWorld,M=n.params.Points.threshold;if(p.boundingSphere===null&&p.computeBoundingSphere(),i.copy(p.boundingSphere),i.applyMatrix4(_),i.radius+=M,n.ray.intersectsSphere(i)!==!1){t.getInverse(_),e.copy(n.ray).applyMatrix4(t),M/=(this.scale.x+this.scale.y+this.scale.z)/3;var A=M*M;M=new u;var L=new u;if(p.isBufferGeometry){var B=p.index;if(p=p.attributes.position.array,B!==null){var H=B.array;B=0;for(var q=H.length;B<q;B++){var $=H[B];M.fromArray(p,3*$),l(M,$)}}else for(B=0,H=p.length/3;B<H;B++)M.fromArray(p,3*B),l(M,B)}else for(M=p.vertices,B=0,H=M.length;B<H;B++)l(M[B],B)}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),kh.prototype=Object.assign(Object.create(g.prototype),{constructor:kh,isVideoTexture:!0,update:function(){var t=this.image;t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}),Jo.prototype=Object.create(g.prototype),Jo.prototype.constructor=Jo,Jo.prototype.isCompressedTexture=!0,Ka.prototype=Object.create(g.prototype),Ka.prototype.constructor=Ka,Ka.prototype.isCanvasTexture=!0,Qa.prototype=Object.create(g.prototype),Qa.prototype.constructor=Qa,Qa.prototype.isDepthTexture=!0,ua.prototype=Object.create(Ft.prototype),ua.prototype.constructor=ua,tl.prototype=Object.create(X.prototype),tl.prototype.constructor=tl,ca.prototype=Object.create(Ft.prototype),ca.prototype.constructor=ca,Xi.prototype=Object.create(X.prototype),Xi.prototype.constructor=Xi,xi.prototype=Object.create(Ft.prototype),xi.prototype.constructor=xi,el.prototype=Object.create(X.prototype),el.prototype.constructor=el,fa.prototype=Object.create(xi.prototype),fa.prototype.constructor=fa,il.prototype=Object.create(X.prototype),il.prototype.constructor=il,ws.prototype=Object.create(xi.prototype),ws.prototype.constructor=ws,nl.prototype=Object.create(X.prototype),nl.prototype.constructor=nl,da.prototype=Object.create(xi.prototype),da.prototype.constructor=da,pa.prototype=Object.create(X.prototype),pa.prototype.constructor=pa,ma.prototype=Object.create(xi.prototype),ma.prototype.constructor=ma,vn.prototype=Object.create(X.prototype),vn.prototype.constructor=vn,$o.prototype=Object.create(Ft.prototype),$o.prototype.constructor=$o,Jr.prototype=Object.create(X.prototype),Jr.prototype.constructor=Jr,Ms.prototype=Object.create(Ft.prototype),Ms.prototype.constructor=Ms,Ts.prototype=Object.create(X.prototype),Ts.prototype.constructor=Ts,Gn.prototype=Object.create(Ft.prototype),Gn.prototype.constructor=Gn;var Fu={triangulate:function(t,e,i){i=i||2;var n=e&&e.length,s=n?e[0]*i:t.length,l=Bh(t,0,s,i,!0),d=[];if(!l)return d;var p;if(n){var _=i;n=[];var M,A=0;for(M=e.length;A<M;A++){var L=e[A]*_,B=A<M-1?e[A+1]*_:t.length;L=Bh(t,L,B,_,!1),L===L.next&&(L.steiner=!0),n.push(_r(L))}for(n.sort(Eu),A=0;A<n.length;A++)e=n[A],_=l,(_=bu(e,_))&&(e=rl(_,e),ga(e,e.next)),l=ga(l,l.next)}if(t.length>80*i){var H=p=t[0],q=n=t[1];for(_=i;_<s;_+=i)A=t[_],e=t[_+1],A<H&&(H=A),e<q&&(q=e),A>p&&(p=A),e>n&&(n=e);p=Math.max(p-H,n-q),p=p!==0?1/p:0}return va(l,d,i,H,q,p),d}},To={area:function(t){for(var e=t.length,i=0,n=e-1,s=0;s<e;n=s++)i+=t[n].x*t[s].y-t[s].x*t[n].y;return .5*i},isClockWise:function(t){return 0>To.area(t)},triangulateShape:function(t,e){var i=[],n=[],s=[];$l(t),Cu(i,t);var l=t.length;for(e.forEach($l),t=0;t<e.length;t++)n.push(l),l+=e[t].length,Cu(i,e[t]);for(e=Fu.triangulate(i,n),t=0;t<e.length;t+=3)s.push(e.slice(t,t+3));return s}};Lo.prototype=Object.create(X.prototype),Lo.prototype.constructor=Lo,Lo.prototype.toJSON=function(){var t=X.prototype.toJSON.call(this);return Au(this.parameters.shapes,this.parameters.options,t)},mo.prototype=Object.create(Ft.prototype),mo.prototype.constructor=mo,mo.prototype.toJSON=function(){var t=Ft.prototype.toJSON.call(this);return Au(this.parameters.shapes,this.parameters.options,t)};var Tl={generateTopUV:function(t,e,i,n,s){t=e[3*n],n=e[3*n+1];var l=e[3*s];return s=e[3*s+1],[new o(e[3*i],e[3*i+1]),new o(t,n),new o(l,s)]},generateSideWallUV:function(t,e,i,n,s,l){t=e[3*i];var d=e[3*i+1];i=e[3*i+2];var p=e[3*n],_=e[3*n+1];n=e[3*n+2];var M=e[3*s],A=e[3*s+1];s=e[3*s+2];var L=e[3*l],B=e[3*l+1];return e=e[3*l+2],.01>Math.abs(d-_)?[new o(t,1-i),new o(p,1-n),new o(M,1-s),new o(L,1-e)]:[new o(d,1-i),new o(_,1-n),new o(A,1-s),new o(B,1-e)]}};ol.prototype=Object.create(X.prototype),ol.prototype.constructor=ol,Es.prototype=Object.create(mo.prototype),Es.prototype.constructor=Es,Ko.prototype=Object.create(X.prototype),Ko.prototype.constructor=Ko,Ir.prototype=Object.create(Ft.prototype),Ir.prototype.constructor=Ir,sl.prototype=Object.create(X.prototype),sl.prototype.constructor=sl,bs.prototype=Object.create(Ft.prototype),bs.prototype.constructor=bs,ya.prototype=Object.create(X.prototype),ya.prototype.constructor=ya,Qo.prototype=Object.create(Ft.prototype),Qo.prototype.constructor=Qo,Ro.prototype=Object.create(X.prototype),Ro.prototype.constructor=Ro,Ro.prototype.toJSON=function(){var t=X.prototype.toJSON.call(this);return Pu(this.parameters.shapes,t)},ts.prototype=Object.create(Ft.prototype),ts.prototype.constructor=ts,ts.prototype.toJSON=function(){var t=Ft.prototype.toJSON.call(this);return Pu(this.parameters.shapes,t)},es.prototype=Object.create(Ft.prototype),es.prototype.constructor=es,Oo.prototype=Object.create(X.prototype),Oo.prototype.constructor=Oo,Io.prototype=Object.create(Ft.prototype),Io.prototype.constructor=Io,_a.prototype=Object.create(Oo.prototype),_a.prototype.constructor=_a,Hn.prototype=Object.create(Io.prototype),Hn.prototype.constructor=Hn,Cs.prototype=Object.create(X.prototype),Cs.prototype.constructor=Cs,go.prototype=Object.create(Ft.prototype),go.prototype.constructor=go;var _n=Object.freeze({WireframeGeometry:ua,ParametricGeometry:tl,ParametricBufferGeometry:ca,TetrahedronGeometry:el,TetrahedronBufferGeometry:fa,OctahedronGeometry:il,OctahedronBufferGeometry:ws,IcosahedronGeometry:nl,IcosahedronBufferGeometry:da,DodecahedronGeometry:pa,DodecahedronBufferGeometry:ma,PolyhedronGeometry:Xi,PolyhedronBufferGeometry:xi,TubeGeometry:vn,TubeBufferGeometry:$o,TorusKnotGeometry:Jr,TorusKnotBufferGeometry:Ms,TorusGeometry:Ts,TorusBufferGeometry:Gn,TextGeometry:ol,TextBufferGeometry:Es,SphereGeometry:Ko,SphereBufferGeometry:Ir,RingGeometry:sl,RingBufferGeometry:bs,PlaneGeometry:Pe,PlaneBufferGeometry:pe,LatheGeometry:ya,LatheBufferGeometry:Qo,ShapeGeometry:Ro,ShapeBufferGeometry:ts,ExtrudeGeometry:Lo,ExtrudeBufferGeometry:mo,EdgesGeometry:es,ConeGeometry:_a,ConeBufferGeometry:Hn,CylinderGeometry:Oo,CylinderBufferGeometry:Io,CircleGeometry:Cs,CircleBufferGeometry:go,BoxGeometry:It,BoxBufferGeometry:Nt});is.prototype=Object.create(Wt.prototype),is.prototype.constructor=is,is.prototype.isShadowMaterial=!0,is.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.color.copy(t.color),this},As.prototype=Object.create($e.prototype),As.prototype.constructor=As,As.prototype.isRawShaderMaterial=!0,vo.prototype=Object.create(Wt.prototype),vo.prototype.constructor=vo,vo.prototype.isMeshStandardMaterial=!0,vo.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Ps.prototype=Object.create(vo.prototype),Ps.prototype.constructor=Ps,Ps.prototype.isMeshPhysicalMaterial=!0,Ps.prototype.copy=function(t){return vo.prototype.copy.call(this,t),this.defines={PHYSICAL:""},this.reflectivity=t.reflectivity,this.clearCoat=t.clearCoat,this.clearCoatRoughness=t.clearCoatRoughness,this},$r.prototype=Object.create(Wt.prototype),$r.prototype.constructor=$r,$r.prototype.isMeshPhongMaterial=!0,$r.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Ls.prototype=Object.create($r.prototype),Ls.prototype.constructor=Ls,Ls.prototype.isMeshToonMaterial=!0,Ls.prototype.copy=function(t){return $r.prototype.copy.call(this,t),this.gradientMap=t.gradientMap,this},Rs.prototype=Object.create(Wt.prototype),Rs.prototype.constructor=Rs,Rs.prototype.isMeshNormalMaterial=!0,Rs.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Dr.prototype=Object.create(Wt.prototype),Dr.prototype.constructor=Dr,Dr.prototype.isMeshLambertMaterial=!0,Dr.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Os.prototype=Object.create(Wt.prototype),Os.prototype.constructor=Os,Os.prototype.isMeshMatcapMaterial=!0,Os.prototype.copy=function(t){return Wt.prototype.copy.call(this,t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Is.prototype=Object.create(Ni.prototype),Is.prototype.constructor=Is,Is.prototype.isLineDashedMaterial=!0,Is.prototype.copy=function(t){return Ni.prototype.copy.call(this,t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this};var Uu=Object.freeze({ShadowMaterial:is,SpriteMaterial:Hi,RawShaderMaterial:As,ShaderMaterial:$e,PointsMaterial:Un,MeshPhysicalMaterial:Ps,MeshStandardMaterial:vo,MeshPhongMaterial:$r,MeshToonMaterial:Ls,MeshNormalMaterial:Rs,MeshLambertMaterial:Dr,MeshDepthMaterial:se,MeshDistanceMaterial:te,MeshBasicMaterial:Ge,MeshMatcapMaterial:Os,LineDashedMaterial:Is,LineBasicMaterial:Ni,Material:Wt}),Zn={arraySlice:function(t,e,i){return Zn.isTypedArray(t)?new t.constructor(t.subarray(e,i!==void 0?i:t.length)):t.slice(e,i)},convertArray:function(t,e,i){return!t||!i&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){for(var e=t.length,i=Array(e),n=0;n!==e;++n)i[n]=n;return i.sort(function(s,l){return t[s]-t[l]}),i},sortedArray:function(t,e,i){for(var n=t.length,s=new t.constructor(n),l=0,d=0;d!==n;++l)for(var p=i[l]*e,_=0;_!==e;++_)s[d++]=t[p+_];return s},flattenJSON:function(t,e,i,n){for(var s=1,l=t[0];l!==void 0&&l[n]===void 0;)l=t[s++];if(l!==void 0){var d=l[n];if(d!==void 0)if(Array.isArray(d))do d=l[n],d!==void 0&&(e.push(l.time),i.push.apply(i,d)),l=t[s++];while(l!==void 0);else if(d.toArray!==void 0)do d=l[n],d!==void 0&&(e.push(l.time),d.toArray(i,i.length)),l=t[s++];while(l!==void 0);else do d=l[n],d!==void 0&&(e.push(l.time),i.push(d)),l=t[s++];while(l!==void 0)}}};Object.assign(Kn.prototype,{evaluate:function(t){var e=this.parameterPositions,i=this._cachedIndex,n=e[i],s=e[i-1];t:{e:{i:{n:if(!(t<n)){for(var l=i+2;;){if(n===void 0){if(t<s)break n;return this._cachedIndex=i=e.length,this.afterEnd_(i-1,t,s)}if(i===l)break;if(s=n,n=e[++i],t<n)break e}n=e.length;break i}if(t>=s)break t;for(l=e[1],t<l&&(i=2,s=l),l=i-2;;){if(s===void 0)return this._cachedIndex=0,this.beforeStart_(0,t,n);if(i===l)break;if(n=s,s=e[--i-1],t>=s)break e}n=i,i=0}for(;i<n;)s=i+n>>>1,t<e[s]?n=s:i=s+1;if(n=e[i],s=e[i-1],s===void 0)return this._cachedIndex=0,this.beforeStart_(0,t,n);if(n===void 0)return this._cachedIndex=i=e.length,this.afterEnd_(i-1,s,t)}this._cachedIndex=i,this.intervalChanged_(i,s,n)}return this.interpolate_(i,s,t,n)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(t){var e=this.resultBuffer,i=this.sampleValues,n=this.valueSize;t*=n;for(var s=0;s!==n;++s)e[s]=i[t+s];return e},interpolate_:function(){throw Error("call to abstract method")},intervalChanged_:function(){}}),Object.assign(Kn.prototype,{beforeStart_:Kn.prototype.copySampleValue_,afterEnd_:Kn.prototype.copySampleValue_}),al.prototype=Object.assign(Object.create(Kn.prototype),{constructor:al,DefaultSettings_:{endingStart:2400,endingEnd:2400},intervalChanged_:function(t,e,i){var n=this.parameterPositions,s=t-2,l=t+1,d=n[s],p=n[l];if(d===void 0)switch(this.getSettings_().endingStart){case 2401:s=t,d=2*e-i;break;case 2402:s=n.length-2,d=e+n[s]-n[s+1];break;default:s=t,d=i}if(p===void 0)switch(this.getSettings_().endingEnd){case 2401:l=t,p=2*i-e;break;case 2402:l=1,p=i+n[1]-n[0];break;default:l=t-1,p=e}t=.5*(i-e),n=this.valueSize,this._weightPrev=t/(e-d),this._weightNext=t/(p-i),this._offsetPrev=s*n,this._offsetNext=l*n},interpolate_:function(t,e,i,n){var s=this.resultBuffer,l=this.sampleValues,d=this.valueSize;t*=d;var p=t-d,_=this._offsetPrev,M=this._offsetNext,A=this._weightPrev,L=this._weightNext,B=(i-e)/(n-e);for(i=B*B,n=i*B,e=-A*n+2*A*i-A*B,A=(1+A)*n+(-1.5-2*A)*i+(-.5+A)*B+1,B=(-1-L)*n+(1.5+L)*i+.5*B,L=L*n-L*i,i=0;i!==d;++i)s[i]=e*l[_+i]+A*l[p+i]+B*l[t+i]+L*l[M+i];return s}}),zr.prototype=Object.assign(Object.create(Kn.prototype),{constructor:zr,interpolate_:function(t,e,i,n){var s=this.resultBuffer,l=this.sampleValues,d=this.valueSize;t*=d;var p=t-d;for(e=(i-e)/(n-e),i=1-e,n=0;n!==d;++n)s[n]=l[p+n]*i+l[t+n]*e;return s}}),Ds.prototype=Object.assign(Object.create(Kn.prototype),{constructor:Ds,interpolate_:function(t){return this.copySampleValue_(t-1)}}),Object.assign(Vn,{toJSON:function(t){var e=t.constructor;if(e.toJSON!==void 0)e=e.toJSON(t);else{e={name:t.name,times:Zn.convertArray(t.times,Array),values:Zn.convertArray(t.values,Array)};var i=t.getInterpolation();i!==t.DefaultInterpolation&&(e.interpolation=i)}return e.type=t.ValueTypeName,e}}),Object.assign(Vn.prototype,{constructor:Vn,TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:2301,InterpolantFactoryMethodDiscrete:function(t){return new Ds(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodLinear:function(t){return new zr(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:function(t){return new al(this.times,this.values,this.getValueSize(),t)},setInterpolation:function(t){switch(t){case 2300:var e=this.InterpolantFactoryMethodDiscrete;break;case 2301:e=this.InterpolantFactoryMethodLinear;break;case 2302:e=this.InterpolantFactoryMethodSmooth}if(e===void 0){if(e="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name,this.createInterpolant===void 0)if(t!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw Error(e);return this}return this.createInterpolant=e,this},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return 2300;case this.InterpolantFactoryMethodLinear:return 2301;case this.InterpolantFactoryMethodSmooth:return 2302}},getValueSize:function(){return this.values.length/this.times.length},shift:function(t){if(t!==0)for(var e=this.times,i=0,n=e.length;i!==n;++i)e[i]+=t;return this},scale:function(t){if(t!==1)for(var e=this.times,i=0,n=e.length;i!==n;++i)e[i]*=t;return this},trim:function(t,e){for(var i=this.times,n=i.length,s=0,l=n-1;s!==n&&i[s]<t;)++s;for(;l!==-1&&i[l]>e;)--l;return++l,(s!==0||l!==n)&&(s>=l&&(l=Math.max(l,1),s=l-1),t=this.getValueSize(),this.times=Zn.arraySlice(i,s,l),this.values=Zn.arraySlice(this.values,s*t,l*t)),this},validate:function(){var t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(t=!1);var i=this.times;e=this.values;var n=i.length;n===0&&(t=!1);for(var s=null,l=0;l!==n;l++){var d=i[l];if(typeof d=="number"&&isNaN(d)){t=!1;break}if(s!==null&&s>d){t=!1;break}s=d}if(e!==void 0&&Zn.isTypedArray(e)){for(l=0,i=e.length;l!==i;++l)if(n=e[l],isNaN(n)){t=!1;break}}return t},optimize:function(){for(var t=this.times,e=this.values,i=this.getValueSize(),n=this.getInterpolation()===2302,s=1,l=t.length-1,d=1;d<l;++d){var p=!1,_=t[d];if(_!==t[d+1]&&(d!==1||_!==_[0]))if(n)p=!0;else{var M=d*i,A=M-i,L=M+i;for(_=0;_!==i;++_){var B=e[M+_];if(B!==e[A+_]||B!==e[L+_]){p=!0;break}}}if(p){if(d!==s)for(t[s]=t[d],p=d*i,M=s*i,_=0;_!==i;++_)e[M+_]=e[p+_];++s}}if(0<l){for(t[s]=t[l],p=l*i,M=s*i,_=0;_!==i;++_)e[M+_]=e[p+_];++s}return s!==t.length&&(this.times=Zn.arraySlice(t,0,s),this.values=Zn.arraySlice(e,0,s*i)),this}}),Kl.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Kl,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),Ql.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Ql,ValueTypeName:"color"}),Kr.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Kr,ValueTypeName:"number"}),lr.prototype=Object.assign(Object.create(Kn.prototype),{constructor:lr,interpolate_:function(t,e,i,n){var s=this.resultBuffer,l=this.sampleValues,d=this.valueSize;for(t*=d,e=(i-e)/(n-e),i=t+d;t!==i;t+=4)f.slerpFlat(s,0,l,t-d,l,t,e);return s}}),xa.prototype=Object.assign(Object.create(Vn.prototype),{constructor:xa,ValueTypeName:"quaternion",DefaultInterpolation:2301,InterpolantFactoryMethodLinear:function(t){return new lr(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),th.prototype=Object.assign(Object.create(Vn.prototype),{constructor:th,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:2300,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),wa.prototype=Object.assign(Object.create(Vn.prototype),{constructor:wa,ValueTypeName:"vector"}),Object.assign(xr,{parse:function(t){for(var e=[],i=t.tracks,n=1/(t.fps||1),s=0,l=i.length;s!==l;++s)e.push(qc(i[s]).scale(n));return new xr(t.name,t.duration,e)},toJSON:function(t){var e=[],i=t.tracks;t={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid};for(var n=0,s=i.length;n!==s;++n)e.push(Vn.toJSON(i[n]));return t},CreateFromMorphTargetSequence:function(t,e,i,n){for(var s=e.length,l=[],d=0;d<s;d++){var p=[],_=[];p.push((d+s-1)%s,d,(d+1)%s),_.push(0,1,0);var M=Zn.getKeyframeOrder(p);p=Zn.sortedArray(p,1,M),_=Zn.sortedArray(_,1,M),n||p[0]!==0||(p.push(s),_.push(_[0])),l.push(new Kr(".morphTargetInfluences["+e[d].name+"]",p,_).scale(1/i))}return new xr(t,-1,l)},findByName:function(t,e){var i=t;for(Array.isArray(t)||(i=t.geometry&&t.geometry.animations||t.animations),t=0;t<i.length;t++)if(i[t].name===e)return i[t];return null},CreateClipsFromMorphTargetSequences:function(t,e,i){for(var n={},s=/^([\w-]*?)([\d]+)$/,l=0,d=t.length;l<d;l++){var p=t[l],_=p.name.match(s);if(_&&1<_.length){var M=_[1];(_=n[M])||(n[M]=_=[]),_.push(p)}}t=[];for(M in n)t.push(xr.CreateFromMorphTargetSequence(M,n[M],e,i));return t},parseAnimation:function(t,e){if(!t)return null;var i=function($,rt,xt,gt,Ct){if(xt.length!==0){var wt=[],Vt=[];Zn.flattenJSON(xt,wt,Vt,gt),wt.length!==0&&Ct.push(new $(rt,wt,Vt))}},n=[],s=t.name||"default",l=t.length||-1,d=t.fps||30;t=t.hierarchy||[];for(var p=0;p<t.length;p++){var _=t[p].keys;if(_&&_.length!==0)if(_[0].morphTargets){l={};for(var M=0;M<_.length;M++)if(_[M].morphTargets)for(var A=0;A<_[M].morphTargets.length;A++)l[_[M].morphTargets[A]]=-1;for(var L in l){var B=[],H=[];for(A=0;A!==_[M].morphTargets.length;++A){var q=_[M];B.push(q.time),H.push(q.morphTarget===L?1:0)}n.push(new Kr(".morphTargetInfluence["+L+"]",B,H))}l=l.length*(d||1)}else M=".bones["+e[p].name+"]",i(wa,M+".position",_,"pos",n),i(xa,M+".quaternion",_,"rot",n),i(wa,M+".scale",_,"scl",n)}return n.length===0?null:new xr(s,l,n)}}),Object.assign(xr.prototype,{resetDuration:function(){for(var t=0,e=0,i=this.tracks.length;e!==i;++e){var n=this.tracks[e];t=Math.max(t,n.times[n.times.length-1])}return this.duration=t,this},trim:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this},validate:function(){for(var t=!0,e=0;e<this.tracks.length;e++)t=t&&this.tracks[e].validate();return t},optimize:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}});var So={enabled:!1,files:{},add:function(t,e){this.enabled!==!1&&(this.files[t]=e)},get:function(t){if(this.enabled!==!1)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}},er=new ns,Nr={};Object.assign(Lt.prototype,{load:function(t,e,i,n){t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);var s=this,l=So.get(t);if(l!==void 0)return s.manager.itemStart(t),setTimeout(function(){e&&e(l),s.manager.itemEnd(t)},0),l;if(Nr[t]!==void 0)Nr[t].push({onLoad:e,onProgress:i,onError:n});else{var d=t.match(/^data:(.*?)(;base64)?,(.*)$/);if(d){i=d[1];var p=!!d[2];d=d[3],d=decodeURIComponent(d),p&&(d=atob(d));try{var _=(this.responseType||"").toLowerCase();switch(_){case"arraybuffer":case"blob":var M=new Uint8Array(d.length);for(p=0;p<d.length;p++)M[p]=d.charCodeAt(p);var A=_==="blob"?new Blob([M.buffer],{type:i}):M.buffer;break;case"document":A=new DOMParser().parseFromString(d,i);break;case"json":A=JSON.parse(d);break;default:A=d}setTimeout(function(){e&&e(A),s.manager.itemEnd(t)},0)}catch(B){setTimeout(function(){n&&n(B),s.manager.itemError(t),s.manager.itemEnd(t)},0)}}else{Nr[t]=[],Nr[t].push({onLoad:e,onProgress:i,onError:n});var L=new XMLHttpRequest;L.open("GET",t,!0),L.addEventListener("load",function(B){var H=this.response;So.add(t,H);var q=Nr[t];if(delete Nr[t],this.status===200||this.status===0){this.status;for(var $=0,rt=q.length;$<rt;$++){var xt=q[$];xt.onLoad&&xt.onLoad(H)}}else{for($=0,rt=q.length;$<rt;$++)xt=q[$],xt.onError&&xt.onError(B);s.manager.itemError(t)}s.manager.itemEnd(t)},!1),L.addEventListener("progress",function(B){for(var H=Nr[t],q=0,$=H.length;q<$;q++){var rt=H[q];rt.onProgress&&rt.onProgress(B)}},!1),L.addEventListener("error",function(B){var H=Nr[t];delete Nr[t];for(var q=0,$=H.length;q<$;q++){var rt=H[q];rt.onError&&rt.onError(B)}s.manager.itemError(t),s.manager.itemEnd(t)},!1),L.addEventListener("abort",function(B){var H=Nr[t];delete Nr[t];for(var q=0,$=H.length;q<$;q++){var rt=H[q];rt.onError&&rt.onError(B)}s.manager.itemError(t),s.manager.itemEnd(t)},!1),this.responseType!==void 0&&(L.responseType=this.responseType),this.withCredentials!==void 0&&(L.withCredentials=this.withCredentials),L.overrideMimeType&&L.overrideMimeType(this.mimeType!==void 0?this.mimeType:"text/plain");for(p in this.requestHeader)L.setRequestHeader(p,this.requestHeader[p]);L.send(null)}return s.manager.itemStart(t),L}},setPath:function(t){return this.path=t,this},setResponseType:function(t){return this.responseType=t,this},setWithCredentials:function(t){return this.withCredentials=t,this},setMimeType:function(t){return this.mimeType=t,this},setRequestHeader:function(t){return this.requestHeader=t,this}}),Object.assign(Qt.prototype,{load:function(t,e,i,n){var s=this,l=new Lt(s.manager);l.setPath(s.path),l.load(t,function(d){e(s.parse(JSON.parse(d)))},i,n)},parse:function(t,e){for(var i=[],n=0;n<t.length;n++){var s=xr.parse(t[n]);i.push(s)}e(i)},setPath:function(t){return this.path=t,this}}),Object.assign(Zt.prototype,{load:function(t,e,i,n){function s(B){_.load(t[B],function(H){H=l._parser(H,!0),d[B]={width:H.width,height:H.height,format:H.format,mipmaps:H.mipmaps},M+=1,M===6&&(H.mipmapCount===1&&(p.minFilter=1006),p.format=H.format,p.needsUpdate=!0,e&&e(p))},i,n)}var l=this,d=[],p=new Jo;p.image=d;var _=new Lt(this.manager);if(_.setPath(this.path),_.setResponseType("arraybuffer"),Array.isArray(t))for(var M=0,A=0,L=t.length;A<L;++A)s(A);else _.load(t,function(B){if(B=l._parser(B,!0),B.isCubemap)for(var H=B.mipmaps.length/B.mipmapCount,q=0;q<H;q++){d[q]={mipmaps:[]};for(var $=0;$<B.mipmapCount;$++)d[q].mipmaps.push(B.mipmaps[q*B.mipmapCount+$]),d[q].format=B.format,d[q].width=B.width,d[q].height=B.height}else p.image.width=B.width,p.image.height=B.height,p.mipmaps=B.mipmaps;B.mipmapCount===1&&(p.minFilter=1006),p.format=B.format,p.needsUpdate=!0,e&&e(p)},i,n);return p},setPath:function(t){return this.path=t,this}}),Object.assign(Ue.prototype,{load:function(t,e,i,n){var s=this,l=new O,d=new Lt(this.manager);return d.setResponseType("arraybuffer"),d.setPath(this.path),d.load(t,function(p){(p=s._parser(p))&&(p.image!==void 0?l.image=p.image:p.data!==void 0&&(l.image.width=p.width,l.image.height=p.height,l.image.data=p.data),l.wrapS=p.wrapS!==void 0?p.wrapS:1001,l.wrapT=p.wrapT!==void 0?p.wrapT:1001,l.magFilter=p.magFilter!==void 0?p.magFilter:1006,l.minFilter=p.minFilter!==void 0?p.minFilter:1008,l.anisotropy=p.anisotropy!==void 0?p.anisotropy:1,p.format!==void 0&&(l.format=p.format),p.type!==void 0&&(l.type=p.type),p.mipmaps!==void 0&&(l.mipmaps=p.mipmaps),p.mipmapCount===1&&(l.minFilter=1006),l.needsUpdate=!0,e&&e(l,p))},i,n),l},setPath:function(t){return this.path=t,this}}),Object.assign(ai.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){function s(){_.removeEventListener("load",s,!1),_.removeEventListener("error",l,!1),So.add(t,this),e&&e(this),d.manager.itemEnd(t)}function l(M){_.removeEventListener("load",s,!1),_.removeEventListener("error",l,!1),n&&n(M),d.manager.itemError(t),d.manager.itemEnd(t)}t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);var d=this,p=So.get(t);if(p!==void 0)return d.manager.itemStart(t),setTimeout(function(){e&&e(p),d.manager.itemEnd(t)},0),p;var _=document.createElementNS("http://www.w3.org/1999/xhtml","img");return _.addEventListener("load",s,!1),_.addEventListener("error",l,!1),t.substr(0,5)!=="data:"&&this.crossOrigin!==void 0&&(_.crossOrigin=this.crossOrigin),d.manager.itemStart(t),_.src=t,_},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Fi.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){function s(_){d.load(t[_],function(M){l.images[_]=M,p++,p===6&&(l.needsUpdate=!0,e&&e(l))},void 0,n)}var l=new z,d=new ai(this.manager);d.setCrossOrigin(this.crossOrigin),d.setPath(this.path);var p=0;for(i=0;i<t.length;++i)s(i);return l},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(dn.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var s=new g,l=new ai(this.manager);return l.setCrossOrigin(this.crossOrigin),l.setPath(this.path),l.load(t,function(d){s.image=d,d=0<t.search(/\.jpe?g$/i)||t.search(/^data:image\/jpeg/)===0,s.format=d?1022:1023,s.needsUpdate=!0,e!==void 0&&e(s)},i,n),s},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Ee.prototype,{getPoint:function(){return null},getPointAt:function(t,e){return t=this.getUtoTmapping(t),this.getPoint(t,e)},getPoints:function(t){t===void 0&&(t=5);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return e},getSpacedPoints:function(t){t===void 0&&(t=5);for(var e=[],i=0;i<=t;i++)e.push(this.getPointAt(i/t));return e},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(t===void 0&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e=[],i=this.getPoint(0),n,s=0;for(e.push(0),n=1;n<=t;n++){var l=this.getPoint(n/t);s+=l.distanceTo(i),e.push(s),i=l}return this.cacheArcLengths=e},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,e){var i=this.getLengths(),n=i.length;e=e||t*i[n-1];for(var s=0,l=n-1,d;s<=l;)if(t=Math.floor(s+(l-s)/2),d=i[t]-e,0>d)s=t+1;else if(0<d)l=t-1;else{l=t;break}return t=l,i[t]===e?t/(n-1):(s=i[t],(t+(e-s)/(i[t+1]-s))/(n-1))},getTangent:function(t){var e=t-1e-4;return t+=1e-4,0>e&&(e=0),1<t&&(t=1),e=this.getPoint(e),this.getPoint(t).clone().sub(e).normalize()},getTangentAt:function(t){return t=this.getUtoTmapping(t),this.getTangent(t)},computeFrenetFrames:function(t,e){var i=new u,n=[],s=[],l=[],d=new u,p=new c,_;for(_=0;_<=t;_++){var M=_/t;n[_]=this.getTangentAt(M),n[_].normalize()}s[0]=new u,l[0]=new u,_=Number.MAX_VALUE,M=Math.abs(n[0].x);var A=Math.abs(n[0].y),L=Math.abs(n[0].z);for(M<=_&&(_=M,i.set(1,0,0)),A<=_&&(_=A,i.set(0,1,0)),L<=_&&i.set(0,0,1),d.crossVectors(n[0],i).normalize(),s[0].crossVectors(n[0],d),l[0].crossVectors(n[0],s[0]),_=1;_<=t;_++)s[_]=s[_-1].clone(),l[_]=l[_-1].clone(),d.crossVectors(n[_-1],n[_]),d.length()>Number.EPSILON&&(d.normalize(),i=Math.acos(di.clamp(n[_-1].dot(n[_]),-1,1)),s[_].applyMatrix4(p.makeRotationAxis(d,i))),l[_].crossVectors(n[_],s[_]);if(e===!0)for(i=Math.acos(di.clamp(s[0].dot(s[t]),-1,1)),i/=t,0<n[0].dot(d.crossVectors(s[0],s[t]))&&(i=-i),_=1;_<=t;_++)s[_].applyMatrix4(p.makeRotationAxis(n[_],i*_)),l[_].crossVectors(n[_],s[_]);return{tangents:n,normals:s,binormals:l}},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this},toJSON:function(){var t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t},fromJSON:function(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}),Qn.prototype=Object.create(Ee.prototype),Qn.prototype.constructor=Qn,Qn.prototype.isEllipseCurve=!0,Qn.prototype.getPoint=function(t,e){e=e||new o;for(var i=2*Math.PI,n=this.aEndAngle-this.aStartAngle,s=Math.abs(n)<Number.EPSILON;0>n;)n+=i;for(;n>i;)n-=i;n<Number.EPSILON&&(n=s?0:i),this.aClockwise!==!0||s||(n=n===i?-i:n-i),i=this.aStartAngle+t*n,t=this.aX+this.xRadius*Math.cos(i);var l=this.aY+this.yRadius*Math.sin(i);return this.aRotation!==0&&(i=Math.cos(this.aRotation),n=Math.sin(this.aRotation),s=t-this.aX,l-=this.aY,t=s*i-l*n+this.aX,l=s*n+l*i+this.aY),e.set(t,l)},Qn.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this},Qn.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.aX=this.aX,t.aY=this.aY,t.xRadius=this.xRadius,t.yRadius=this.yRadius,t.aStartAngle=this.aStartAngle,t.aEndAngle=this.aEndAngle,t.aClockwise=this.aClockwise,t.aRotation=this.aRotation,t},Qn.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.aX=t.aX,this.aY=t.aY,this.xRadius=t.xRadius,this.yRadius=t.yRadius,this.aStartAngle=t.aStartAngle,this.aEndAngle=t.aEndAngle,this.aClockwise=t.aClockwise,this.aRotation=t.aRotation,this},Ma.prototype=Object.create(Qn.prototype),Ma.prototype.constructor=Ma,Ma.prototype.isArcCurve=!0;var Cn=new u,Sl=new hr,lh=new hr,Fr=new hr;In.prototype=Object.create(Ee.prototype),In.prototype.constructor=In,In.prototype.isCatmullRomCurve3=!0,In.prototype.getPoint=function(t,e){e=e||new u;var i=this.points,n=i.length;t*=n-(this.closed?0:1);var s=Math.floor(t);if(t-=s,this.closed?s+=0<s?0:(Math.floor(Math.abs(s)/n)+1)*n:t===0&&s===n-1&&(s=n-2,t=1),this.closed||0<s)var l=i[(s-1)%n];else Cn.subVectors(i[0],i[1]).add(i[0]),l=Cn;var d=i[s%n],p=i[(s+1)%n];if(this.closed||s+2<n?i=i[(s+2)%n]:(Cn.subVectors(i[n-1],i[n-2]).add(i[n-1]),i=Cn),this.curveType==="centripetal"||this.curveType==="chordal"){var _=this.curveType==="chordal"?.5:.25;n=Math.pow(l.distanceToSquared(d),_),s=Math.pow(d.distanceToSquared(p),_),_=Math.pow(p.distanceToSquared(i),_),1e-4>s&&(s=1),1e-4>n&&(n=s),1e-4>_&&(_=s),Sl.initNonuniformCatmullRom(l.x,d.x,p.x,i.x,n,s,_),lh.initNonuniformCatmullRom(l.y,d.y,p.y,i.y,n,s,_),Fr.initNonuniformCatmullRom(l.z,d.z,p.z,i.z,n,s,_)}else this.curveType==="catmullrom"&&(Sl.initCatmullRom(l.x,d.x,p.x,i.x,this.tension),lh.initCatmullRom(l.y,d.y,p.y,i.y,this.tension),Fr.initCatmullRom(l.z,d.z,p.z,i.z,this.tension));return e.set(Sl.calc(t),lh.calc(t),Fr.calc(t)),e},In.prototype.copy=function(t){Ee.prototype.copy.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++)this.points.push(t.points[e].clone());return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},In.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);t.points=[];for(var e=0,i=this.points.length;e<i;e++)t.points.push(this.points[e].toArray());return t.closed=this.closed,t.curveType=this.curveType,t.tension=this.tension,t},In.prototype.fromJSON=function(t){Ee.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push(new u().fromArray(n))}return this.closed=t.closed,this.curveType=t.curveType,this.tension=t.tension,this},ur.prototype=Object.create(Ee.prototype),ur.prototype.constructor=ur,ur.prototype.isCubicBezierCurve=!0,ur.prototype.getPoint=function(t,e){e=e||new o;var i=this.v0,n=this.v1,s=this.v2,l=this.v3;return e.set(rs(t,i.x,n.x,s.x,l.x),rs(t,i.y,n.y,s.y,l.y)),e},ur.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},ur.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},ur.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},Mi.prototype=Object.create(Ee.prototype),Mi.prototype.constructor=Mi,Mi.prototype.isCubicBezierCurve3=!0,Mi.prototype.getPoint=function(t,e){e=e||new u;var i=this.v0,n=this.v1,s=this.v2,l=this.v3;return e.set(rs(t,i.x,n.x,s.x,l.x),rs(t,i.y,n.y,s.y,l.y),rs(t,i.z,n.z,s.z,l.z)),e},Mi.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this.v3.copy(t.v3),this},Mi.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t.v3=this.v3.toArray(),t},Mi.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this.v3.fromArray(t.v3),this},cr.prototype=Object.create(Ee.prototype),cr.prototype.constructor=cr,cr.prototype.isLineCurve=!0,cr.prototype.getPoint=function(t,e){return e=e||new o,t===1?e.copy(this.v2):(e.copy(this.v2).sub(this.v1),e.multiplyScalar(t).add(this.v1)),e},cr.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},cr.prototype.getTangent=function(){return this.v2.clone().sub(this.v1).normalize()},cr.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},cr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},cr.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},kr.prototype=Object.create(Ee.prototype),kr.prototype.constructor=kr,kr.prototype.isLineCurve3=!0,kr.prototype.getPoint=function(t,e){return e=e||new u,t===1?e.copy(this.v2):(e.copy(this.v2).sub(this.v1),e.multiplyScalar(t).add(this.v1)),e},kr.prototype.getPointAt=function(t,e){return this.getPoint(t,e)},kr.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v1.copy(t.v1),this.v2.copy(t.v2),this},kr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},kr.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},fr.prototype=Object.create(Ee.prototype),fr.prototype.constructor=fr,fr.prototype.isQuadraticBezierCurve=!0,fr.prototype.getPoint=function(t,e){e=e||new o;var i=this.v0,n=this.v1,s=this.v2;return e.set(yo(t,i.x,n.x,s.x),yo(t,i.y,n.y,s.y)),e},fr.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},fr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},fr.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},_o.prototype=Object.create(Ee.prototype),_o.prototype.constructor=_o,_o.prototype.isQuadraticBezierCurve3=!0,_o.prototype.getPoint=function(t,e){e=e||new u;var i=this.v0,n=this.v1,s=this.v2;return e.set(yo(t,i.x,n.x,s.x),yo(t,i.y,n.y,s.y),yo(t,i.z,n.z,s.z)),e},_o.prototype.copy=function(t){return Ee.prototype.copy.call(this,t),this.v0.copy(t.v0),this.v1.copy(t.v1),this.v2.copy(t.v2),this},_o.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);return t.v0=this.v0.toArray(),t.v1=this.v1.toArray(),t.v2=this.v2.toArray(),t},_o.prototype.fromJSON=function(t){return Ee.prototype.fromJSON.call(this,t),this.v0.fromArray(t.v0),this.v1.fromArray(t.v1),this.v2.fromArray(t.v2),this},Qr.prototype=Object.create(Ee.prototype),Qr.prototype.constructor=Qr,Qr.prototype.isSplineCurve=!0,Qr.prototype.getPoint=function(t,e){e=e||new o;var i=this.points,n=(i.length-1)*t;t=Math.floor(n),n-=t;var s=i[t===0?t:t-1],l=i[t],d=i[t>i.length-2?i.length-1:t+1];return i=i[t>i.length-3?i.length-1:t+2],e.set(Lu(n,s.x,l.x,d.x,i.x),Lu(n,s.y,l.y,d.y,i.y)),e},Qr.prototype.copy=function(t){Ee.prototype.copy.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++)this.points.push(t.points[e].clone());return this},Qr.prototype.toJSON=function(){var t=Ee.prototype.toJSON.call(this);t.points=[];for(var e=0,i=this.points.length;e<i;e++)t.points.push(this.points[e].toArray());return t},Qr.prototype.fromJSON=function(t){Ee.prototype.fromJSON.call(this,t),this.points=[];for(var e=0,i=t.points.length;e<i;e++){var n=t.points[e];this.points.push(new o().fromArray(n))}return this};var hh=Object.freeze({ArcCurve:Ma,CatmullRomCurve3:In,CubicBezierCurve:ur,CubicBezierCurve3:Mi,EllipseCurve:Qn,LineCurve:cr,LineCurve3:kr,QuadraticBezierCurve:fr,QuadraticBezierCurve3:_o,SplineCurve:Qr});Do.prototype=Object.assign(Object.create(Ee.prototype),{constructor:Do,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new cr(e,t))},getPoint:function(t){var e=t*this.getLength(),i=this.getCurveLengths();for(t=0;t<i.length;){if(i[t]>=e)return e=i[t]-e,t=this.curves[t],i=t.getLength(),t.getPointAt(i===0?0:1-e/i);t++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,i=0,n=this.curves.length;i<n;i++)e+=this.curves[i].getLength(),t.push(e);return this.cacheLengths=t},getSpacedPoints:function(t){t===void 0&&(t=40);for(var e=[],i=0;i<=t;i++)e.push(this.getPoint(i/t));return this.autoClose&&e.push(e[0]),e},getPoints:function(t){t=t||12;for(var e=[],i,n=0,s=this.curves;n<s.length;n++){var l=s[n];l=l.getPoints(l&&l.isEllipseCurve?2*t:l&&(l.isLineCurve||l.isLineCurve3)?1:l&&l.isSplineCurve?t*l.points.length:t);for(var d=0;d<l.length;d++){var p=l[d];i&&i.equals(p)||(e.push(p),i=p)}}return this.autoClose&&1<e.length&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e},copy:function(t){Ee.prototype.copy.call(this,t),this.curves=[];for(var e=0,i=t.curves.length;e<i;e++)this.curves.push(t.curves[e].clone());return this.autoClose=t.autoClose,this},toJSON:function(){var t=Ee.prototype.toJSON.call(this);t.autoClose=this.autoClose,t.curves=[];for(var e=0,i=this.curves.length;e<i;e++)t.curves.push(this.curves[e].toJSON());return t},fromJSON:function(t){Ee.prototype.fromJSON.call(this,t),this.autoClose=t.autoClose,this.curves=[];for(var e=0,i=t.curves.length;e<i;e++){var n=t.curves[e];this.curves.push(new hh[n.type]().fromJSON(n))}return this}}),dr.prototype=Object.assign(Object.create(Do.prototype),{constructor:dr,setFromPoints:function(t){this.moveTo(t[0].x,t[0].y);for(var e=1,i=t.length;e<i;e++)this.lineTo(t[e].x,t[e].y)},moveTo:function(t,e){this.currentPoint.set(t,e)},lineTo:function(t,e){var i=new cr(this.currentPoint.clone(),new o(t,e));this.curves.push(i),this.currentPoint.set(t,e)},quadraticCurveTo:function(t,e,i,n){t=new fr(this.currentPoint.clone(),new o(t,e),new o(i,n)),this.curves.push(t),this.currentPoint.set(i,n)},bezierCurveTo:function(t,e,i,n,s,l){t=new ur(this.currentPoint.clone(),new o(t,e),new o(i,n),new o(s,l)),this.curves.push(t),this.currentPoint.set(s,l)},splineThru:function(t){var e=[this.currentPoint.clone()].concat(t);e=new Qr(e),this.curves.push(e),this.currentPoint.copy(t[t.length-1])},arc:function(t,e,i,n,s,l){this.absarc(t+this.currentPoint.x,e+this.currentPoint.y,i,n,s,l)},absarc:function(t,e,i,n,s,l){this.absellipse(t,e,i,i,n,s,l)},ellipse:function(t,e,i,n,s,l,d,p){this.absellipse(t+this.currentPoint.x,e+this.currentPoint.y,i,n,s,l,d,p)},absellipse:function(t,e,i,n,s,l,d,p){t=new Qn(t,e,i,n,s,l,d,p),0<this.curves.length&&(e=t.getPoint(0),e.equals(this.currentPoint)||this.lineTo(e.x,e.y)),this.curves.push(t),t=t.getPoint(1),this.currentPoint.copy(t)},copy:function(t){return Do.prototype.copy.call(this,t),this.currentPoint.copy(t.currentPoint),this},toJSON:function(){var t=Do.prototype.toJSON.call(this);return t.currentPoint=this.currentPoint.toArray(),t},fromJSON:function(t){return Do.prototype.fromJSON.call(this,t),this.currentPoint.fromArray(t.currentPoint),this}}),tr.prototype=Object.assign(Object.create(dr.prototype),{constructor:tr,getPointsHoles:function(t){for(var e=[],i=0,n=this.holes.length;i<n;i++)e[i]=this.holes[i].getPoints(t);return e},extractPoints:function(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}},copy:function(t){dr.prototype.copy.call(this,t),this.holes=[];for(var e=0,i=t.holes.length;e<i;e++)this.holes.push(t.holes[e].clone());return this},toJSON:function(){var t=dr.prototype.toJSON.call(this);t.uuid=this.uuid,t.holes=[];for(var e=0,i=this.holes.length;e<i;e++)t.holes.push(this.holes[e].toJSON());return t},fromJSON:function(t){dr.prototype.fromJSON.call(this,t),this.uuid=t.uuid,this.holes=[];for(var e=0,i=t.holes.length;e<i;e++){var n=t.holes[e];this.holes.push(new dr().fromJSON(n))}return this}}),tn.prototype=Object.assign(Object.create(N.prototype),{constructor:tn,isLight:!0,copy:function(t){return N.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){return t=N.prototype.toJSON.call(this,t),t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),t}}),ll.prototype=Object.assign(Object.create(tn.prototype),{constructor:ll,isHemisphereLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(xo.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return new this.constructor().copy(this)},toJSON:function(){var t={};return this.bias!==0&&(t.bias=this.bias),this.radius!==1&&(t.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(t.mapSize=this.mapSize.toArray()),t.camera=this.camera.toJSON(!1).object,delete t.camera.matrix,t}}),hl.prototype=Object.assign(Object.create(xo.prototype),{constructor:hl,isSpotLightShadow:!0,update:function(t){var e=this.camera,i=2*di.RAD2DEG*t.angle,n=this.mapSize.width/this.mapSize.height;t=t.distance||e.far,(i!==e.fov||n!==e.aspect||t!==e.far)&&(e.fov=i,e.aspect=n,e.far=t,e.updateProjectionMatrix())}}),ul.prototype=Object.assign(Object.create(tn.prototype),{constructor:ul,isSpotLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.distance=t.distance,this.angle=t.angle,this.penumbra=t.penumbra,this.decay=t.decay,this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),zs.prototype=Object.assign(Object.create(tn.prototype),{constructor:zs,isPointLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),Ta.prototype=Object.assign(Object.create(Be.prototype),{constructor:Ta,isOrthographicCamera:!0,copy:function(t,e){return Be.prototype.copy.call(this,t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=t.view===null?null:Object.assign({},t.view),this},setViewOffset:function(t,e,i,n,s,l){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=i,this.view.offsetY=n,this.view.width=s,this.view.height=l,this.updateProjectionMatrix()},clearViewOffset:function(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),i=(this.right+this.left)/2,n=(this.top+this.bottom)/2,s=i-t;if(i+=t,t=n+e,e=n-e,this.view!==null&&this.view.enabled){i=this.zoom/(this.view.width/this.view.fullWidth),e=this.zoom/(this.view.height/this.view.fullHeight);var l=(this.right-this.left)/this.view.width;n=(this.top-this.bottom)/this.view.height,s+=this.view.offsetX/i*l,i=s+this.view.width/i*l,t-=this.view.offsetY/e*n,e=t-this.view.height/e*n}this.projectionMatrix.makeOrthographic(s,i,t,e,this.near,this.far),this.projectionMatrixInverse.getInverse(this.projectionMatrix)},toJSON:function(t){return t=N.prototype.toJSON.call(this,t),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,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}),os.prototype=Object.assign(Object.create(xo.prototype),{constructor:os}),wo.prototype=Object.assign(Object.create(tn.prototype),{constructor:wo,isDirectionalLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),ks.prototype=Object.assign(Object.create(tn.prototype),{constructor:ks,isAmbientLight:!0}),eh.prototype=Object.assign(Object.create(tn.prototype),{constructor:eh,isRectAreaLight:!0,copy:function(t){return tn.prototype.copy.call(this,t),this.width=t.width,this.height=t.height,this},toJSON:function(t){return t=tn.prototype.toJSON.call(this,t),t.object.width=this.width,t.object.height=this.height,t}}),Object.assign(ih.prototype,{load:function(t,e,i,n){var s=this,l=new Lt(s.manager);l.setPath(s.path),l.load(t,function(d){e(s.parse(JSON.parse(d)))},i,n)},parse:function(t){function e(d){return i[d],i[d]}var i=this.textures,n=new Uu[t.type];if(t.uuid!==void 0&&(n.uuid=t.uuid),t.name!==void 0&&(n.name=t.name),t.color!==void 0&&n.color.setHex(t.color),t.roughness!==void 0&&(n.roughness=t.roughness),t.metalness!==void 0&&(n.metalness=t.metalness),t.emissive!==void 0&&n.emissive.setHex(t.emissive),t.specular!==void 0&&n.specular.setHex(t.specular),t.shininess!==void 0&&(n.shininess=t.shininess),t.clearCoat!==void 0&&(n.clearCoat=t.clearCoat),t.clearCoatRoughness!==void 0&&(n.clearCoatRoughness=t.clearCoatRoughness),t.vertexColors!==void 0&&(n.vertexColors=t.vertexColors),t.fog!==void 0&&(n.fog=t.fog),t.flatShading!==void 0&&(n.flatShading=t.flatShading),t.blending!==void 0&&(n.blending=t.blending),t.combine!==void 0&&(n.combine=t.combine),t.side!==void 0&&(n.side=t.side),t.opacity!==void 0&&(n.opacity=t.opacity),t.transparent!==void 0&&(n.transparent=t.transparent),t.alphaTest!==void 0&&(n.alphaTest=t.alphaTest),t.depthTest!==void 0&&(n.depthTest=t.depthTest),t.depthWrite!==void 0&&(n.depthWrite=t.depthWrite),t.colorWrite!==void 0&&(n.colorWrite=t.colorWrite),t.wireframe!==void 0&&(n.wireframe=t.wireframe),t.wireframeLinewidth!==void 0&&(n.wireframeLinewidth=t.wireframeLinewidth),t.wireframeLinecap!==void 0&&(n.wireframeLinecap=t.wireframeLinecap),t.wireframeLinejoin!==void 0&&(n.wireframeLinejoin=t.wireframeLinejoin),t.rotation!==void 0&&(n.rotation=t.rotation),t.linewidth!==1&&(n.linewidth=t.linewidth),t.dashSize!==void 0&&(n.dashSize=t.dashSize),t.gapSize!==void 0&&(n.gapSize=t.gapSize),t.scale!==void 0&&(n.scale=t.scale),t.polygonOffset!==void 0&&(n.polygonOffset=t.polygonOffset),t.polygonOffsetFactor!==void 0&&(n.polygonOffsetFactor=t.polygonOffsetFactor),t.polygonOffsetUnits!==void 0&&(n.polygonOffsetUnits=t.polygonOffsetUnits),t.skinning!==void 0&&(n.skinning=t.skinning),t.morphTargets!==void 0&&(n.morphTargets=t.morphTargets),t.dithering!==void 0&&(n.dithering=t.dithering),t.visible!==void 0&&(n.visible=t.visible),t.userData!==void 0&&(n.userData=t.userData),t.uniforms!==void 0)for(var s in t.uniforms){var l=t.uniforms[s];switch(n.uniforms[s]={},l.type){case"t":n.uniforms[s].value=e(l.value);break;case"c":n.uniforms[s].value=new P().setHex(l.value);break;case"v2":n.uniforms[s].value=new o().fromArray(l.value);break;case"v3":n.uniforms[s].value=new u().fromArray(l.value);break;case"v4":n.uniforms[s].value=new v().fromArray(l.value);break;case"m4":n.uniforms[s].value=new c().fromArray(l.value);break;default:n.uniforms[s].value=l.value}}return t.defines!==void 0&&(n.defines=t.defines),t.vertexShader!==void 0&&(n.vertexShader=t.vertexShader),t.fragmentShader!==void 0&&(n.fragmentShader=t.fragmentShader),t.shading!==void 0&&(n.flatShading=t.shading===1),t.size!==void 0&&(n.size=t.size),t.sizeAttenuation!==void 0&&(n.sizeAttenuation=t.sizeAttenuation),t.map!==void 0&&(n.map=e(t.map)),t.alphaMap!==void 0&&(n.alphaMap=e(t.alphaMap),n.transparent=!0),t.bumpMap!==void 0&&(n.bumpMap=e(t.bumpMap)),t.bumpScale!==void 0&&(n.bumpScale=t.bumpScale),t.normalMap!==void 0&&(n.normalMap=e(t.normalMap)),t.normalMapType!==void 0&&(n.normalMapType=t.normalMapType),t.normalScale!==void 0&&(s=t.normalScale,Array.isArray(s)===!1&&(s=[s,s]),n.normalScale=new o().fromArray(s)),t.displacementMap!==void 0&&(n.displacementMap=e(t.displacementMap)),t.displacementScale!==void 0&&(n.displacementScale=t.displacementScale),t.displacementBias!==void 0&&(n.displacementBias=t.displacementBias),t.roughnessMap!==void 0&&(n.roughnessMap=e(t.roughnessMap)),t.metalnessMap!==void 0&&(n.metalnessMap=e(t.metalnessMap)),t.emissiveMap!==void 0&&(n.emissiveMap=e(t.emissiveMap)),t.emissiveIntensity!==void 0&&(n.emissiveIntensity=t.emissiveIntensity),t.specularMap!==void 0&&(n.specularMap=e(t.specularMap)),t.envMap!==void 0&&(n.envMap=e(t.envMap)),t.envMapIntensity!==void 0&&(n.envMapIntensity=t.envMapIntensity),t.reflectivity!==void 0&&(n.reflectivity=t.reflectivity),t.lightMap!==void 0&&(n.lightMap=e(t.lightMap)),t.lightMapIntensity!==void 0&&(n.lightMapIntensity=t.lightMapIntensity),t.aoMap!==void 0&&(n.aoMap=e(t.aoMap)),t.aoMapIntensity!==void 0&&(n.aoMapIntensity=t.aoMapIntensity),t.gradientMap!==void 0&&(n.gradientMap=e(t.gradientMap)),n},setPath:function(t){return this.path=t,this},setTextures:function(t){return this.textures=t,this}});var Hs={decodeText:function(t){if(typeof TextDecoder<"u")return new TextDecoder().decode(t);for(var e="",i=0,n=t.length;i<n;i++)e+=String.fromCharCode(t[i]);return decodeURIComponent(escape(e))},extractUrlBase:function(t){var e=t.lastIndexOf("/");return e===-1?"./":t.substr(0,e+1)}};Object.assign(Fh.prototype,{load:function(t,e,i,n){var s=this,l=new Lt(s.manager);l.setPath(s.path),l.load(t,function(d){e(s.parse(JSON.parse(d)))},i,n)},parse:function(t){var e=new Ft,i=t.data.index;i!==void 0&&(i=new us[i.type](i.array),e.setIndex(new J(i,1)));var n=t.data.attributes;for(l in n){var s=n[l];i=new us[s.type](s.array),e.addAttribute(l,new J(i,s.itemSize,s.normalized))}var l=t.data.groups||t.data.drawcalls||t.data.offsets;if(l!==void 0)for(i=0,n=l.length;i!==n;++i)s=l[i],e.addGroup(s.start,s.count,s.materialIndex);return t=t.data.boundingSphere,t!==void 0&&(l=new u,t.center!==void 0&&l.fromArray(t.center),e.boundingSphere=new R(l,t.radius)),e},setPath:function(t){return this.path=t,this}});var us={Int8Array,Uint8Array,Uint8ClampedArray:typeof Uint8ClampedArray<"u"?Uint8ClampedArray:Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};zo.Handlers={handlers:[],add:function(t,e){this.handlers.push(t,e)},get:function(t){for(var e=this.handlers,i=0,n=e.length;i<n;i+=2){var s=e[i+1];if(e[i].test(t))return s}return null}},Object.assign(zo.prototype,{crossOrigin:"anonymous",onLoadStart:function(){},onLoadProgress:function(){},onLoadComplete:function(){},initMaterials:function(t,e,i){for(var n=[],s=0;s<t.length;++s)n[s]=this.createMaterial(t[s],e,i);return n},createMaterial:function(){var t={NoBlending:0,NormalBlending:1,AdditiveBlending:2,SubtractiveBlending:3,MultiplyBlending:4,CustomBlending:5},e=new P,i=new dn,n=new ih;return function(s,l,d){function p(B,H,q,$,rt){B=l+B;var xt=zo.Handlers.get(B);return xt!==null?B=xt.load(B):(i.setCrossOrigin(d),B=i.load(B)),H!==void 0&&(B.repeat.fromArray(H),H[0]!==1&&(B.wrapS=1e3),H[1]!==1&&(B.wrapT=1e3)),q!==void 0&&B.offset.fromArray(q),$!==void 0&&($[0]==="repeat"&&(B.wrapS=1e3),$[0]==="mirror"&&(B.wrapS=1002),$[1]==="repeat"&&(B.wrapT=1e3),$[1]==="mirror"&&(B.wrapT=1002)),rt!==void 0&&(B.anisotropy=rt),H=di.generateUUID(),_[H]=B,H}var _={},M={uuid:di.generateUUID(),type:"MeshLambertMaterial"},A;for(A in s){var L=s[A];switch(A){case"DbgColor":case"DbgIndex":case"opticalDensity":case"illumination":break;case"DbgName":M.name=L;break;case"blending":M.blending=t[L];break;case"colorAmbient":case"mapAmbient":break;case"colorDiffuse":M.color=e.fromArray(L).getHex();break;case"colorSpecular":M.specular=e.fromArray(L).getHex();break;case"colorEmissive":M.emissive=e.fromArray(L).getHex();break;case"specularCoef":M.shininess=L;break;case"shading":L.toLowerCase()==="basic"&&(M.type="MeshBasicMaterial"),L.toLowerCase()==="phong"&&(M.type="MeshPhongMaterial"),L.toLowerCase()==="standard"&&(M.type="MeshStandardMaterial");break;case"mapDiffuse":M.map=p(L,s.mapDiffuseRepeat,s.mapDiffuseOffset,s.mapDiffuseWrap,s.mapDiffuseAnisotropy);break;case"mapDiffuseRepeat":case"mapDiffuseOffset":case"mapDiffuseWrap":case"mapDiffuseAnisotropy":break;case"mapEmissive":M.emissiveMap=p(L,s.mapEmissiveRepeat,s.mapEmissiveOffset,s.mapEmissiveWrap,s.mapEmissiveAnisotropy);break;case"mapEmissiveRepeat":case"mapEmissiveOffset":case"mapEmissiveWrap":case"mapEmissiveAnisotropy":break;case"mapLight":M.lightMap=p(L,s.mapLightRepeat,s.mapLightOffset,s.mapLightWrap,s.mapLightAnisotropy);break;case"mapLightRepeat":case"mapLightOffset":case"mapLightWrap":case"mapLightAnisotropy":break;case"mapAO":M.aoMap=p(L,s.mapAORepeat,s.mapAOOffset,s.mapAOWrap,s.mapAOAnisotropy);break;case"mapAORepeat":case"mapAOOffset":case"mapAOWrap":case"mapAOAnisotropy":break;case"mapBump":M.bumpMap=p(L,s.mapBumpRepeat,s.mapBumpOffset,s.mapBumpWrap,s.mapBumpAnisotropy);break;case"mapBumpScale":M.bumpScale=L;break;case"mapBumpRepeat":case"mapBumpOffset":case"mapBumpWrap":case"mapBumpAnisotropy":break;case"mapNormal":M.normalMap=p(L,s.mapNormalRepeat,s.mapNormalOffset,s.mapNormalWrap,s.mapNormalAnisotropy);break;case"mapNormalFactor":M.normalScale=L;break;case"mapNormalRepeat":case"mapNormalOffset":case"mapNormalWrap":case"mapNormalAnisotropy":break;case"mapSpecular":M.specularMap=p(L,s.mapSpecularRepeat,s.mapSpecularOffset,s.mapSpecularWrap,s.mapSpecularAnisotropy);break;case"mapSpecularRepeat":case"mapSpecularOffset":case"mapSpecularWrap":case"mapSpecularAnisotropy":break;case"mapMetalness":M.metalnessMap=p(L,s.mapMetalnessRepeat,s.mapMetalnessOffset,s.mapMetalnessWrap,s.mapMetalnessAnisotropy);break;case"mapMetalnessRepeat":case"mapMetalnessOffset":case"mapMetalnessWrap":case"mapMetalnessAnisotropy":break;case"mapRoughness":M.roughnessMap=p(L,s.mapRoughnessRepeat,s.mapRoughnessOffset,s.mapRoughnessWrap,s.mapRoughnessAnisotropy);break;case"mapRoughnessRepeat":case"mapRoughnessOffset":case"mapRoughnessWrap":case"mapRoughnessAnisotropy":break;case"mapAlpha":M.alphaMap=p(L,s.mapAlphaRepeat,s.mapAlphaOffset,s.mapAlphaWrap,s.mapAlphaAnisotropy);break;case"mapAlphaRepeat":case"mapAlphaOffset":case"mapAlphaWrap":case"mapAlphaAnisotropy":break;case"flipSided":M.side=1;break;case"doubleSided":M.side=2;break;case"transparency":M.opacity=L;break;case"depthTest":case"depthWrite":case"colorWrite":case"opacity":case"reflectivity":case"transparent":case"visible":case"wireframe":M[A]=L;break;case"vertexColors":L===!0&&(M.vertexColors=2),L==="face"&&(M.vertexColors=1);break;default:}}return M.type==="MeshBasicMaterial"&&delete M.emissive,M.type!=="MeshPhongMaterial"&&delete M.specular,1>M.opacity&&(M.transparent=!0),n.setTextures(_),n.parse(M)}}()}),Object.assign(Bs.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var s=this,l=this.path===void 0?Hs.extractUrlBase(t):this.path,d=new Lt(this.manager);d.setPath(this.path),d.setWithCredentials(this.withCredentials),d.load(t,function(p){p=JSON.parse(p);var _=p.metadata;_!==void 0&&(_=_.type,_!==void 0&&_.toLowerCase()==="object")||(p=s.parse(p,l),e(p.geometry,p.materials))},i,n)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(){return function(t,e){t.data!==void 0&&(t=t.data),t.scale=t.scale!==void 0?1/t.scale:1;var i=new X,n=t,s,l,d,p=n.faces,_=n.vertices,M=n.normals,A=n.colors,L=n.scale,B=0;if(n.uvs!==void 0){for(s=0;s<n.uvs.length;s++)n.uvs[s].length&&B++;for(s=0;s<B;s++)i.faceVertexUvs[s]=[]}var H=0;for(d=_.length;H<d;)s=new u,s.x=_[H++]*L,s.y=_[H++]*L,s.z=_[H++]*L,i.vertices.push(s);for(H=0,d=p.length;H<d;){_=p[H++];var q=_&1,$=_&2;s=_&8;var rt=_&16,xt=_&32;if(L=_&64,_&=128,q){q=new I,q.a=p[H],q.b=p[H+1],q.c=p[H+3];var gt=new I;if(gt.a=p[H+1],gt.b=p[H+2],gt.c=p[H+3],H+=4,$&&($=p[H++],q.materialIndex=$,gt.materialIndex=$),$=i.faces.length,s)for(s=0;s<B;s++){var Ct=n.uvs[s];for(i.faceVertexUvs[s][$]=[],i.faceVertexUvs[s][$+1]=[],l=0;4>l;l++){var wt=p[H++],Vt=Ct[2*wt];wt=Ct[2*wt+1],Vt=new o(Vt,wt),l!==2&&i.faceVertexUvs[s][$].push(Vt),l!==0&&i.faceVertexUvs[s][$+1].push(Vt)}}if(rt&&(rt=3*p[H++],q.normal.set(M[rt++],M[rt++],M[rt]),gt.normal.copy(q.normal)),xt)for(s=0;4>s;s++)rt=3*p[H++],xt=new u(M[rt++],M[rt++],M[rt]),s!==2&&q.vertexNormals.push(xt),s!==0&>.vertexNormals.push(xt);if(L&&(L=p[H++],L=A[L],q.color.setHex(L),gt.color.setHex(L)),_)for(s=0;4>s;s++)L=p[H++],L=A[L],s!==2&&q.vertexColors.push(new P(L)),s!==0&>.vertexColors.push(new P(L));i.faces.push(q),i.faces.push(gt)}else{if(q=new I,q.a=p[H++],q.b=p[H++],q.c=p[H++],$&&($=p[H++],q.materialIndex=$),$=i.faces.length,s)for(s=0;s<B;s++)for(Ct=n.uvs[s],i.faceVertexUvs[s][$]=[],l=0;3>l;l++)wt=p[H++],Vt=Ct[2*wt],wt=Ct[2*wt+1],Vt=new o(Vt,wt),i.faceVertexUvs[s][$].push(Vt);if(rt&&(rt=3*p[H++],q.normal.set(M[rt++],M[rt++],M[rt])),xt)for(s=0;3>s;s++)rt=3*p[H++],xt=new u(M[rt++],M[rt++],M[rt]),q.vertexNormals.push(xt);if(L&&(L=p[H++],q.color.setHex(A[L])),_)for(s=0;3>s;s++)L=p[H++],q.vertexColors.push(new P(A[L]));i.faces.push(q)}}if(n=t,H=n.influencesPerVertex!==void 0?n.influencesPerVertex:2,n.skinWeights)for(d=0,p=n.skinWeights.length;d<p;d+=H)i.skinWeights.push(new v(n.skinWeights[d],1<H?n.skinWeights[d+1]:0,2<H?n.skinWeights[d+2]:0,3<H?n.skinWeights[d+3]:0));if(n.skinIndices)for(d=0,p=n.skinIndices.length;d<p;d+=H)i.skinIndices.push(new v(n.skinIndices[d],1<H?n.skinIndices[d+1]:0,2<H?n.skinIndices[d+2]:0,3<H?n.skinIndices[d+3]:0));if(i.bones=n.bones,i.bones&&0<i.bones.length&&(i.skinWeights.length!==i.skinIndices.length||(i.skinIndices.length,i.vertices.length)),d=t,p=d.scale,d.morphTargets!==void 0)for(n=0,H=d.morphTargets.length;n<H;n++)for(i.morphTargets[n]={},i.morphTargets[n].name=d.morphTargets[n].name,i.morphTargets[n].vertices=[],M=i.morphTargets[n].vertices,A=d.morphTargets[n].vertices,B=0,_=A.length;B<_;B+=3)L=new u,L.x=A[B]*p,L.y=A[B+1]*p,L.z=A[B+2]*p,M.push(L);if(d.morphColors!==void 0&&0<d.morphColors.length)for(p=i.faces,d=d.morphColors[0].colors,n=0,H=p.length;n<H;n++)p[n].color.fromArray(d,3*n);for(d=t,n=[],H=[],d.animation!==void 0&&H.push(d.animation),d.animations!==void 0&&(d.animations.length?H=H.concat(d.animations):H.push(d.animations)),d=0;d<H.length;d++)(p=xr.parseAnimation(H[d],i.bones))&&n.push(p);return i.morphTargets&&(H=xr.CreateClipsFromMorphTargetSequences(i.morphTargets,10),n=n.concat(H)),0<n.length&&(i.animations=n),i.computeFaceNormals(),i.computeBoundingSphere(),t.materials===void 0||t.materials.length===0?{geometry:i}:(t=zo.prototype.initMaterials(t.materials,this.resourcePath||e,this.crossOrigin),{geometry:i,materials:t})}}()}),Object.assign(cl.prototype,{crossOrigin:"anonymous",load:function(t,e,i,n){var s=this,l=this.path===void 0?Hs.extractUrlBase(t):this.path;this.resourcePath=this.resourcePath||l,l=new Lt(s.manager),l.setPath(this.path),l.load(t,function(d){var p=null;try{p=JSON.parse(d)}catch(_){n!==void 0&&n(_);return}d=p.metadata,d===void 0||d.type===void 0||d.type.toLowerCase()==="geometry"||s.parse(p,e)},i,n)},setPath:function(t){return this.path=t,this},setResourcePath:function(t){return this.resourcePath=t,this},setCrossOrigin:function(t){return this.crossOrigin=t,this},parse:function(t,e){var i=this.parseShape(t.shapes);i=this.parseGeometries(t.geometries,i);var n=this.parseImages(t.images,function(){e!==void 0&&e(s)});n=this.parseTextures(t.textures,n),n=this.parseMaterials(t.materials,n);var s=this.parseObject(t.object,i,n);return t.animations&&(s.animations=this.parseAnimations(t.animations)),t.images!==void 0&&t.images.length!==0||e===void 0||e(s),s},parseShape:function(t){var e={};if(t!==void 0)for(var i=0,n=t.length;i<n;i++){var s=new tr().fromJSON(t[i]);e[s.uuid]=s}return e},parseGeometries:function(t,e){var i={};if(t!==void 0)for(var n=new Bs,s=new Fh,l=0,d=t.length;l<d;l++){var p=t[l];switch(p.type){case"PlaneGeometry":case"PlaneBufferGeometry":var _=new _n[p.type](p.width,p.height,p.widthSegments,p.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":_=new _n[p.type](p.width,p.height,p.depth,p.widthSegments,p.heightSegments,p.depthSegments);break;case"CircleGeometry":case"CircleBufferGeometry":_=new _n[p.type](p.radius,p.segments,p.thetaStart,p.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":_=new _n[p.type](p.radiusTop,p.radiusBottom,p.height,p.radialSegments,p.heightSegments,p.openEnded,p.thetaStart,p.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":_=new _n[p.type](p.radius,p.height,p.radialSegments,p.heightSegments,p.openEnded,p.thetaStart,p.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":_=new _n[p.type](p.radius,p.widthSegments,p.heightSegments,p.phiStart,p.phiLength,p.thetaStart,p.thetaLength);break;case"DodecahedronGeometry":case"DodecahedronBufferGeometry":case"IcosahedronGeometry":case"IcosahedronBufferGeometry":case"OctahedronGeometry":case"OctahedronBufferGeometry":case"TetrahedronGeometry":case"TetrahedronBufferGeometry":_=new _n[p.type](p.radius,p.detail);break;case"RingGeometry":case"RingBufferGeometry":_=new _n[p.type](p.innerRadius,p.outerRadius,p.thetaSegments,p.phiSegments,p.thetaStart,p.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":_=new _n[p.type](p.radius,p.tube,p.radialSegments,p.tubularSegments,p.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":_=new _n[p.type](p.radius,p.tube,p.tubularSegments,p.radialSegments,p.p,p.q);break;case"LatheGeometry":case"LatheBufferGeometry":_=new _n[p.type](p.points,p.segments,p.phiStart,p.phiLength);break;case"PolyhedronGeometry":case"PolyhedronBufferGeometry":_=new _n[p.type](p.vertices,p.indices,p.radius,p.details);break;case"ShapeGeometry":case"ShapeBufferGeometry":_=[];for(var M=0,A=p.shapes.length;M<A;M++){var L=e[p.shapes[M]];_.push(L)}_=new _n[p.type](_,p.curveSegments);break;case"ExtrudeGeometry":case"ExtrudeBufferGeometry":for(_=[],M=0,A=p.shapes.length;M<A;M++)L=e[p.shapes[M]],_.push(L);M=p.options.extrudePath,M!==void 0&&(p.options.extrudePath=new hh[M.type]().fromJSON(M)),_=new _n[p.type](_,p.options);break;case"BufferGeometry":_=s.parse(p);break;case"Geometry":_=n.parse(p,this.resourcePath).geometry;break;default:continue}_.uuid=p.uuid,p.name!==void 0&&(_.name=p.name),_.isBufferGeometry===!0&&p.userData!==void 0&&(_.userData=p.userData),i[p.uuid]=_}return i},parseMaterials:function(t,e){var i={},n={};if(t!==void 0){var s=new ih;s.setTextures(e),e=0;for(var l=t.length;e<l;e++){var d=t[e];if(d.type==="MultiMaterial"){for(var p=[],_=0;_<d.materials.length;_++){var M=d.materials[_];i[M.uuid]===void 0&&(i[M.uuid]=s.parse(M)),p.push(i[M.uuid])}n[d.uuid]=p}else n[d.uuid]=s.parse(d),i[d.uuid]=n[d.uuid]}}return n},parseAnimations:function(t){for(var e=[],i=0;i<t.length;i++){var n=t[i],s=xr.parse(n);n.uuid!==void 0&&(s.uuid=n.uuid),e.push(s)}return e},parseImages:function(t,e){function i(B){return n.manager.itemStart(B),l.load(B,function(){n.manager.itemEnd(B)},void 0,function(){n.manager.itemError(B),n.manager.itemEnd(B)})}var n=this,s={};if(t!==void 0&&0<t.length){e=new ns(e);var l=new ai(e);l.setCrossOrigin(this.crossOrigin),e=0;for(var d=t.length;e<d;e++){var p=t[e],_=p.url;if(Array.isArray(_)){s[p.uuid]=[];for(var M=0,A=_.length;M<A;M++){var L=_[M];L=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(L)?L:n.resourcePath+L,s[p.uuid].push(i(L))}}else L=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(p.url)?p.url:n.resourcePath+p.url,s[p.uuid]=i(L)}}return s},parseTextures:function(t,e){function i(_,M){return typeof _=="number"?_:M[_]}var n={};if(t!==void 0)for(var s=0,l=t.length;s<l;s++){var d=t[s];d.image,e[d.image];var p=Array.isArray(e[d.image])?new z(e[d.image]):new g(e[d.image]);p.needsUpdate=!0,p.uuid=d.uuid,d.name!==void 0&&(p.name=d.name),d.mapping!==void 0&&(p.mapping=i(d.mapping,Gu)),d.offset!==void 0&&p.offset.fromArray(d.offset),d.repeat!==void 0&&p.repeat.fromArray(d.repeat),d.center!==void 0&&p.center.fromArray(d.center),d.rotation!==void 0&&(p.rotation=d.rotation),d.wrap!==void 0&&(p.wrapS=i(d.wrap[0],Jn),p.wrapT=i(d.wrap[1],Jn)),d.format!==void 0&&(p.format=d.format),d.minFilter!==void 0&&(p.minFilter=i(d.minFilter,uh)),d.magFilter!==void 0&&(p.magFilter=i(d.magFilter,uh)),d.anisotropy!==void 0&&(p.anisotropy=d.anisotropy),d.flipY!==void 0&&(p.flipY=d.flipY),n[d.uuid]=p}return n},parseObject:function(t,e,i){function n(M){return e[M],e[M]}function s(M){if(M!==void 0){if(Array.isArray(M)){for(var A=[],L=0,B=M.length;L<B;L++){var H=M[L];i[H],A.push(i[H])}return A}return i[M],i[M]}}switch(t.type){case"Scene":var l=new qn;t.background!==void 0&&Number.isInteger(t.background)&&(l.background=new P(t.background)),t.fog!==void 0&&(t.fog.type==="Fog"?l.fog=new En(t.fog.color,t.fog.near,t.fog.far):t.fog.type==="FogExp2"&&(l.fog=new Re(t.fog.color,t.fog.density)));break;case"PerspectiveCamera":l=new _e(t.fov,t.aspect,t.near,t.far),t.focus!==void 0&&(l.focus=t.focus),t.zoom!==void 0&&(l.zoom=t.zoom),t.filmGauge!==void 0&&(l.filmGauge=t.filmGauge),t.filmOffset!==void 0&&(l.filmOffset=t.filmOffset),t.view!==void 0&&(l.view=Object.assign({},t.view));break;case"OrthographicCamera":l=new Ta(t.left,t.right,t.top,t.bottom,t.near,t.far),t.zoom!==void 0&&(l.zoom=t.zoom),t.view!==void 0&&(l.view=Object.assign({},t.view));break;case"AmbientLight":l=new ks(t.color,t.intensity);break;case"DirectionalLight":l=new wo(t.color,t.intensity);break;case"PointLight":l=new zs(t.color,t.intensity,t.distance,t.decay);break;case"RectAreaLight":l=new eh(t.color,t.intensity,t.width,t.height);break;case"SpotLight":l=new ul(t.color,t.intensity,t.distance,t.angle,t.penumbra,t.decay);break;case"HemisphereLight":l=new ll(t.color,t.groundColor,t.intensity);break;case"SkinnedMesh":case"Mesh":l=n(t.geometry);var d=s(t.material);l=l.bones&&0<l.bones.length?new Gi(l,d):new pi(l,d);break;case"LOD":l=new rn;break;case"Line":l=new ji(n(t.geometry),s(t.material),t.mode);break;case"LineLoop":l=new fo(n(t.geometry),s(t.material));break;case"LineSegments":l=new gi(n(t.geometry),s(t.material));break;case"PointCloud":case"Points":l=new ha(n(t.geometry),s(t.material));break;case"Sprite":l=new nn(s(t.material));break;case"Group":l=new ci;break;default:l=new N}if(l.uuid=t.uuid,t.name!==void 0&&(l.name=t.name),t.matrix!==void 0?(l.matrix.fromArray(t.matrix),t.matrixAutoUpdate!==void 0&&(l.matrixAutoUpdate=t.matrixAutoUpdate),l.matrixAutoUpdate&&l.matrix.decompose(l.position,l.quaternion,l.scale)):(t.position!==void 0&&l.position.fromArray(t.position),t.rotation!==void 0&&l.rotation.fromArray(t.rotation),t.quaternion!==void 0&&l.quaternion.fromArray(t.quaternion),t.scale!==void 0&&l.scale.fromArray(t.scale)),t.castShadow!==void 0&&(l.castShadow=t.castShadow),t.receiveShadow!==void 0&&(l.receiveShadow=t.receiveShadow),t.shadow&&(t.shadow.bias!==void 0&&(l.shadow.bias=t.shadow.bias),t.shadow.radius!==void 0&&(l.shadow.radius=t.shadow.radius),t.shadow.mapSize!==void 0&&l.shadow.mapSize.fromArray(t.shadow.mapSize),t.shadow.camera!==void 0&&(l.shadow.camera=this.parseObject(t.shadow.camera))),t.visible!==void 0&&(l.visible=t.visible),t.frustumCulled!==void 0&&(l.frustumCulled=t.frustumCulled),t.renderOrder!==void 0&&(l.renderOrder=t.renderOrder),t.userData!==void 0&&(l.userData=t.userData),t.layers!==void 0&&(l.layers.mask=t.layers),t.children!==void 0){d=t.children;for(var p=0;p<d.length;p++)l.add(this.parseObject(d[p],e,i))}if(t.type==="LOD")for(t=t.levels,d=0;d<t.length;d++){p=t[d];var _=l.getObjectByProperty("uuid",p.object);_!==void 0&&l.addLevel(_,p.distance)}return l}});var Gu={UVMapping:300,CubeReflectionMapping:301,CubeRefractionMapping:302,EquirectangularReflectionMapping:303,EquirectangularRefractionMapping:304,SphericalReflectionMapping:305,CubeUVReflectionMapping:306,CubeUVRefractionMapping:307},Jn={RepeatWrapping:1e3,ClampToEdgeWrapping:1001,MirroredRepeatWrapping:1002},uh={NearestFilter:1003,NearestMipMapNearestFilter:1004,NearestMipMapLinearFilter:1005,LinearFilter:1006,LinearMipMapNearestFilter:1007,LinearMipMapLinearFilter:1008};Uh.prototype={constructor:Uh,setOptions:function(t){return this.options=t,this},load:function(t,e,i,n){t===void 0&&(t=""),this.path!==void 0&&(t=this.path+t),t=this.manager.resolveURL(t);var s=this,l=So.get(t);if(l!==void 0)return s.manager.itemStart(t),setTimeout(function(){e&&e(l),s.manager.itemEnd(t)},0),l;fetch(t).then(function(d){return d.blob()}).then(function(d){return createImageBitmap(d,s.options)}).then(function(d){So.add(t,d),e&&e(d),s.manager.itemEnd(t)}).catch(function(d){n&&n(d),s.manager.itemError(t),s.manager.itemEnd(t)})},setCrossOrigin:function(){return this},setPath:function(t){return this.path=t,this}},Object.assign(nh.prototype,{moveTo:function(t,e){this.currentPath=new dr,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e)},lineTo:function(t,e){this.currentPath.lineTo(t,e)},quadraticCurveTo:function(t,e,i,n){this.currentPath.quadraticCurveTo(t,e,i,n)},bezierCurveTo:function(t,e,i,n,s,l){this.currentPath.bezierCurveTo(t,e,i,n,s,l)},splineThru:function(t){this.currentPath.splineThru(t)},toShapes:function(t,e){function i(rt){for(var xt=[],gt=0,Ct=rt.length;gt<Ct;gt++){var wt=rt[gt],Vt=new tr;Vt.curves=wt.curves,xt.push(Vt)}return xt}function n(rt,xt){for(var gt=xt.length,Ct=!1,wt=gt-1,Vt=0;Vt<gt;wt=Vt++){var K=xt[wt],ot=xt[Vt],kt=ot.x-K.x,ee=ot.y-K.y;if(Math.abs(ee)>Number.EPSILON){if(0>ee&&(K=xt[Vt],kt=-kt,ot=xt[wt],ee=-ee),!(rt.y<K.y||rt.y>ot.y))if(rt.y===K.y){if(rt.x===K.x)return!0}else{if(wt=ee*(rt.x-K.x)-kt*(rt.y-K.y),wt===0)return!0;0>wt||(Ct=!Ct)}}else if(rt.y===K.y&&(ot.x<=rt.x&&rt.x<=K.x||K.x<=rt.x&&rt.x<=ot.x))return!0}return Ct}var s=To.isClockWise,l=this.subPaths;if(l.length===0)return[];if(e===!0)return i(l);if(e=[],l.length===1){var d=l[0],p=new tr;return p.curves=d.curves,e.push(p),e}var _=!s(l[0].getPoints());_=t?!_:_,p=[];var M=[],A=[],L=0;M[L]=void 0,A[L]=[];for(var B=0,H=l.length;B<H;B++){d=l[B];var q=d.getPoints(),$=s(q);($=t?!$:$)?(!_&&M[L]&&L++,M[L]={s:new tr,p:q},M[L].s.curves=d.curves,_&&L++,A[L]=[]):A[L].push({h:d,p:q[0]})}if(!M[0])return i(l);if(1<M.length){for(B=!1,t=[],s=0,l=M.length;s<l;s++)p[s]=[];for(s=0,l=M.length;s<l;s++)for(d=A[s],$=0;$<d.length;$++){for(_=d[$],L=!0,q=0;q<M.length;q++)n(_.p,M[q].p)&&(s!==q&&t.push({froms:s,tos:q,hole:$}),L?(L=!1,p[q].push(_)):B=!0);L&&p[s].push(_)}0<t.length&&(B||(A=p))}for(B=0,s=M.length;B<s;B++)for(p=M[B].s,e.push(p),t=A[B],l=0,d=t.length;l<d;l++)p.holes.push(t[l].h);return e}}),Object.assign(Gh.prototype,{isFont:!0,generateShapes:function(t,e){e===void 0&&(e=100);var i=[],n=e;e=this.data;var s=Array.from?Array.from(t):String(t).split("");n/=e.resolution;var l=(e.boundingBox.yMax-e.boundingBox.yMin+e.underlineThickness)*n;t=[];for(var d=0,p=0,_=0;_<s.length;_++){var M=s[_];if(M===`
|
|
2571
2571
|
`)d=0,p-=l;else{var A=n,L=d,B=p;if(M=e.glyphs[M]||e.glyphs["?"]){var H=new nh;if(M.o)for(var q=M._cachedOutline||(M._cachedOutline=M.o.split(" ")),$=0,rt=q.length;$<rt;)switch(q[$++]){case"m":var xt=q[$++]*A+L,gt=q[$++]*A+B;H.moveTo(xt,gt);break;case"l":xt=q[$++]*A+L,gt=q[$++]*A+B,H.lineTo(xt,gt);break;case"q":var Ct=q[$++]*A+L,wt=q[$++]*A+B,Vt=q[$++]*A+L,K=q[$++]*A+B;H.quadraticCurveTo(Vt,K,Ct,wt);break;case"b":Ct=q[$++]*A+L,wt=q[$++]*A+B,Vt=q[$++]*A+L,K=q[$++]*A+B,xt=q[$++]*A+L,gt=q[$++]*A+B,H.bezierCurveTo(Vt,K,xt,gt,Ct,wt)}A={offsetX:M.ha*A,path:H}}else A=void 0;d+=A.offsetX,t.push(A.path)}}for(e=0,s=t.length;e<s;e++)Array.prototype.push.apply(i,t[e].toShapes());return i}}),Object.assign(Ru.prototype,{load:function(t,e,i,n){var s=this,l=new Lt(this.manager);l.setPath(this.path),l.load(t,function(d){try{var p=JSON.parse(d)}catch{p=JSON.parse(d.substring(65,d.length-2))}d=s.parse(p),e&&e(d)},i,n)},parse:function(t){return new Gh(t)},setPath:function(t){return this.path=t,this}});var ch,Kh={getContext:function(){return ch===void 0&&(ch=new(window.AudioContext||window.webkitAudioContext)),ch},setContext:function(t){ch=t}};Object.assign(yn.prototype,{load:function(t,e,i,n){var s=new Lt(this.manager);s.setResponseType("arraybuffer"),s.setPath(this.path),s.load(t,function(l){l=l.slice(0),Kh.getContext().decodeAudioData(l,function(d){e(d)})},i,n)},setPath:function(t){return this.path=t,this}}),Object.assign(Wn.prototype,{update:function(){var t,e,i,n,s,l,d,p,_=new c,M=new c;return function(A){if(t!==this||e!==A.focus||i!==A.fov||n!==A.aspect*this.aspect||s!==A.near||l!==A.far||d!==A.zoom||p!==this.eyeSep){t=this,e=A.focus,i=A.fov,n=A.aspect*this.aspect,s=A.near,l=A.far,d=A.zoom;var L=A.projectionMatrix.clone();p=this.eyeSep/2;var B=p*s/e,H=s*Math.tan(di.DEG2RAD*i*.5)/d;M.elements[12]=-p,_.elements[12]=p;var q=-H*n+B,$=H*n+B;L.elements[0]=2*s/($-q),L.elements[8]=($+q)/($-q),this.cameraL.projectionMatrix.copy(L),q=-H*n-B,$=H*n-B,L.elements[0]=2*s/($-q),L.elements[8]=($+q)/($-q),this.cameraR.projectionMatrix.copy(L)}this.cameraL.matrixWorld.copy(A.matrixWorld).multiply(M),this.cameraR.matrixWorld.copy(A.matrixWorld).multiply(_)}}()}),fl.prototype=Object.create(N.prototype),fl.prototype.constructor=fl,Object.assign(Hh.prototype,{start:function(){this.oldTime=this.startTime=(typeof performance>"u"?Date:performance).now(),this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.autoStart=this.running=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var e=(typeof performance>"u"?Date:performance).now();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}),rh.prototype=Object.assign(Object.create(N.prototype),{constructor:rh,getInput:function(){return this.gain},removeFilter:function(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this},getFilter:function(){return this.filter},setFilter:function(t){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this},updateMatrixWorld:function(){var t=new u,e=new f,i=new u,n=new u,s=new Hh;return function(l){N.prototype.updateMatrixWorld.call(this,l),l=this.context.listener;var d=this.up;if(this.timeDelta=s.getDelta(),this.matrixWorld.decompose(t,e,i),n.set(0,0,-1).applyQuaternion(e),l.positionX){var p=this.context.currentTime+this.timeDelta;l.positionX.linearRampToValueAtTime(t.x,p),l.positionY.linearRampToValueAtTime(t.y,p),l.positionZ.linearRampToValueAtTime(t.z,p),l.forwardX.linearRampToValueAtTime(n.x,p),l.forwardY.linearRampToValueAtTime(n.y,p),l.forwardZ.linearRampToValueAtTime(n.z,p),l.upX.linearRampToValueAtTime(d.x,p),l.upY.linearRampToValueAtTime(d.y,p),l.upZ.linearRampToValueAtTime(d.z,p)}else l.setPosition(t.x,t.y,t.z),l.setOrientation(n.x,n.y,n.z,d.x,d.y,d.z)}}()}),Sa.prototype=Object.assign(Object.create(N.prototype),{constructor:Sa,getOutput:function(){return this.gain},setNodeSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this},setMediaElementSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this},setBuffer:function(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(this.isPlaying!==!0){if(this.hasPlaybackControl!==!1){var t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.onended=this.onEnded.bind(this),t.playbackRate.setValueAtTime(this.playbackRate,this.startTime),this.startTime=this.context.currentTime,t.start(this.startTime,this.offset),this.isPlaying=!0,this.source=t,this.connect()}}},pause:function(){if(this.hasPlaybackControl!==!1)return this.isPlaying===!0&&(this.source.stop(),this.source.onended=null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this},stop:function(){if(this.hasPlaybackControl!==!1)return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this},connect:function(){if(0<this.filters.length){this.source.connect(this.filters[0]);for(var t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(0<this.filters.length){this.source.disconnect(this.filters[0]);for(var t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(t){return t||(t=[]),this.isPlaying===!0?(this.disconnect(),this.filters=t,this.connect()):this.filters=t,this},getFilter:function(){return this.getFilters()[0]},setFilter:function(t){return this.setFilters(t?[t]:[])},setPlaybackRate:function(t){if(this.hasPlaybackControl!==!1)return this.playbackRate=t,this.isPlaying===!0&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return this.hasPlaybackControl===!1?!1:this.loop},setLoop:function(t){if(this.hasPlaybackControl!==!1)return this.loop=t,this.isPlaying===!0&&(this.source.loop=this.loop),this},getVolume:function(){return this.gain.gain.value},setVolume:function(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}}),dl.prototype=Object.assign(Object.create(Sa.prototype),{constructor:dl,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(t){return this.panner.refDistance=t,this},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(t){return this.panner.rolloffFactor=t,this},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(t){return this.panner.distanceModel=t,this},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(t){return this.panner.maxDistance=t,this},setDirectionalCone:function(t,e,i){return this.panner.coneInnerAngle=t,this.panner.coneOuterAngle=e,this.panner.coneOuterGain=i,this},updateMatrixWorld:function(){var t=new u,e=new f,i=new u,n=new u;return function(s){if(N.prototype.updateMatrixWorld.call(this,s),s=this.panner,this.matrixWorld.decompose(t,e,i),n.set(0,0,1).applyQuaternion(e),s.positionX){var l=this.context.currentTime+this.listener.timeDelta;s.positionX.linearRampToValueAtTime(t.x,l),s.positionY.linearRampToValueAtTime(t.y,l),s.positionZ.linearRampToValueAtTime(t.z,l),s.orientationX.linearRampToValueAtTime(n.x,l),s.orientationY.linearRampToValueAtTime(n.y,l),s.orientationZ.linearRampToValueAtTime(n.z,l)}else s.setPosition(t.x,t.y,t.z),s.setOrientation(n.x,n.y,n.z)}}()}),Object.assign(Ns.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var t=0,e=this.getFrequencyData(),i=0;i<e.length;i++)t+=e[i];return t/e.length}}),Object.assign(pl.prototype,{accumulate:function(t,e){var i=this.buffer,n=this.valueSize;t=t*n+n;var s=this.cumulativeWeight;if(s===0){for(s=0;s!==n;++s)i[t+s]=i[s];s=e}else s+=e,this._mixBufferRegion(i,t,0,e/s,n);this.cumulativeWeight=s},apply:function(t){var e=this.valueSize,i=this.buffer;t=t*e+e;var n=this.cumulativeWeight,s=this.binding;this.cumulativeWeight=0,1>n&&this._mixBufferRegion(i,t,3*e,1-n,e),n=e;for(var l=e+e;n!==l;++n)if(i[n]!==i[n+e]){s.setValue(i,t);break}},saveOriginalState:function(){var t=this.buffer,e=this.valueSize,i=3*e;this.binding.getValue(t,i);for(var n=e;n!==i;++n)t[n]=t[i+n%e];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(t,e,i,n,s){if(.5<=n)for(n=0;n!==s;++n)t[e+n]=t[i+n]},_slerp:function(t,e,i,n){f.slerpFlat(t,e,t,e,t,i,n)},_lerp:function(t,e,i,n,s){for(var l=1-n,d=0;d!==s;++d){var p=e+d;t[p]=t[p]*l+t[i+d]*n}}}),Object.assign(Fs.prototype,{getValue:function(t,e){this.bind();var i=this._bindings[this._targetGroup.nCachedObjects_];i!==void 0&&i.getValue(t,e)},setValue:function(t,e){for(var i=this._bindings,n=this._targetGroup.nCachedObjects_,s=i.length;n!==s;++n)i[n].setValue(t,e)},bind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].bind()},unbind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,i=t.length;e!==i;++e)t[e].unbind()}}),Object.assign(bn,{Composite:Fs,create:function(t,e,i){return t&&t.isAnimationObjectGroup?new bn.Composite(t,e,i):new bn(t,e,i)},sanitizeNodeName:function(){var t=/[\[\]\.:\/]/g;return function(e){return e.replace(/\s/g,"_").replace(t,"")}}(),parseTrackName:function(){var t="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",e=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]");t=/(WCOD+)?/.source.replace("WCOD",t);var i=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),n=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),s=new RegExp("^"+e+t+i+n+"$"),l=["material","materials","bones"];return function(d){var p=s.exec(d);if(!p)throw Error("PropertyBinding: Cannot parse trackName: "+d);p={nodeName:p[2],objectName:p[3],objectIndex:p[4],propertyName:p[5],propertyIndex:p[6]};var _=p.nodeName&&p.nodeName.lastIndexOf(".");if(_!==void 0&&_!==-1){var M=p.nodeName.substring(_+1);l.indexOf(M)!==-1&&(p.nodeName=p.nodeName.substring(0,_),p.objectName=M)}if(p.propertyName===null||p.propertyName.length===0)throw Error("PropertyBinding: can not parse propertyName from trackName: "+d);return p}}(),findNode:function(t,e){if(!e||e===""||e==="root"||e==="."||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){var i=t.skeleton.getBoneByName(e);if(i!==void 0)return i}if(t.children){var n=function(s){for(var l=0;l<s.length;l++){var d=s[l];if(d.name===e||d.uuid===e||(d=n(d.children)))return d}return null};if(t=n(t.children))return t}return null}}),Object.assign(bn.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(t,e){t[e]=this.node[this.propertyName]},function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)t[e++]=i[n]},function(t,e){t[e]=this.resolvedProperty[this.propertyIndex]},function(t,e){this.resolvedProperty.toArray(t,e)}],SetterByBindingTypeAndVersioning:[[function(t,e){this.targetObject[this.propertyName]=t[e]},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.targetObject[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)i[n]=t[e++]},function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)i[n]=t[e++];this.targetObject.needsUpdate=!0},function(t,e){for(var i=this.resolvedProperty,n=0,s=i.length;n!==s;++n)i[n]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty[this.propertyIndex]=t[e]},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty.fromArray(t,e)},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(t,e){this.bind(),this.getValue(t,e)},setValue:function(t,e){this.bind(),this.setValue(t,e)},bind:function(){var t=this.node,e=this.parsedPath,i=e.objectName,n=e.propertyName,s=e.propertyIndex;if(t||(this.node=t=bn.findNode(this.rootNode,e.nodeName)||this.rootNode),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,t){if(i){var l=e.objectIndex;switch(i){case"materials":if(!t.material||!t.material.materials)return;t=t.material.materials;break;case"bones":if(!t.skeleton)return;for(t=t.skeleton.bones,i=0;i<t.length;i++)if(t[i].name===l){l=i;break}break;default:if(t[i]===void 0)return;t=t[i]}if(l!==void 0){if(t[l]===void 0)return;t=t[l]}}if(l=t[n],l!==void 0){if(e=this.Versioning.None,this.targetObject=t,t.needsUpdate!==void 0?e=this.Versioning.NeedsUpdate:t.matrixWorldNeedsUpdate!==void 0&&(e=this.Versioning.MatrixWorldNeedsUpdate),i=this.BindingType.Direct,s!==void 0){if(n==="morphTargetInfluences"){if(!t.geometry)return;if(t.geometry.isBufferGeometry){if(!t.geometry.morphAttributes)return;for(i=0;i<this.node.geometry.morphAttributes.position.length;i++)if(t.geometry.morphAttributes.position[i].name===s){s=i;break}}else{if(!t.geometry.morphTargets)return;for(i=0;i<this.node.geometry.morphTargets.length;i++)if(t.geometry.morphTargets[i].name===s){s=i;break}}}i=this.BindingType.ArrayElement,this.resolvedProperty=l,this.propertyIndex=s}else l.fromArray!==void 0&&l.toArray!==void 0?(i=this.BindingType.HasFromToArray,this.resolvedProperty=l):Array.isArray(l)?(i=this.BindingType.EntireArray,this.resolvedProperty=l):this.propertyName=n;this.getValue=this.GetterByBindingType[i],this.setValue=this.SetterByBindingTypeAndVersioning[i][e]}}},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),Object.assign(bn.prototype,{_getValue_unbound:bn.prototype.getValue,_setValue_unbound:bn.prototype.setValue}),Object.assign(Ea.prototype,{isAnimationObjectGroup:!0,add:function(){for(var t=this._objects,e=t.length,i=this.nCachedObjects_,n=this._indicesByUUID,s=this._paths,l=this._parsedPaths,d=this._bindings,p=d.length,_=void 0,M=0,A=arguments.length;M!==A;++M){var L=arguments[M],B=L.uuid,H=n[B];if(H===void 0){H=e++,n[B]=H,t.push(L),B=0;for(var q=p;B!==q;++B)d[B].push(new bn(L,s[B],l[B]))}else if(H<i){_=t[H];var $=--i;for(q=t[$],n[q.uuid]=H,t[H]=q,n[B]=$,t[$]=L,B=0,q=p;B!==q;++B){var rt=d[B],xt=rt[H];rt[H]=rt[$],xt===void 0&&(xt=new bn(L,s[B],l[B])),rt[$]=xt}}else t[H]}this.nCachedObjects_=i},remove:function(){for(var t=this._objects,e=this.nCachedObjects_,i=this._indicesByUUID,n=this._bindings,s=n.length,l=0,d=arguments.length;l!==d;++l){var p=arguments[l],_=p.uuid,M=i[_];if(M!==void 0&&M>=e){var A=e++,L=t[A];for(i[L.uuid]=M,t[M]=L,i[_]=A,t[A]=p,p=0,_=s;p!==_;++p){L=n[p];var B=L[M];L[M]=L[A],L[A]=B}}}this.nCachedObjects_=e},uncache:function(){for(var t=this._objects,e=t.length,i=this.nCachedObjects_,n=this._indicesByUUID,s=this._bindings,l=s.length,d=0,p=arguments.length;d!==p;++d){var _=arguments[d].uuid,M=n[_];if(M!==void 0)if(delete n[_],M<i){_=--i;var A=t[_],L=--e,B=t[L];for(n[A.uuid]=M,t[M]=A,n[B.uuid]=_,t[_]=B,t.pop(),A=0,B=l;A!==B;++A){var H=s[A],q=H[L];H[M]=H[_],H[_]=q,H.pop()}}else for(L=--e,B=t[L],n[B.uuid]=M,t[M]=B,t.pop(),A=0,B=l;A!==B;++A)H=s[A],H[M]=H[L],H.pop()}this.nCachedObjects_=i},subscribe_:function(t,e){var i=this._bindingsIndicesByPath,n=i[t],s=this._bindings;if(n!==void 0)return s[n];var l=this._paths,d=this._parsedPaths,p=this._objects,_=this.nCachedObjects_,M=Array(p.length);for(n=s.length,i[t]=n,l.push(t),d.push(e),s.push(M),i=_,n=p.length;i!==n;++i)M[i]=new bn(p[i],t,e);return M},unsubscribe_:function(t){var e=this._bindingsIndicesByPath,i=e[t];if(i!==void 0){var n=this._paths,s=this._parsedPaths,l=this._bindings,d=l.length-1,p=l[d];e[t[d]]=i,l[i]=p,l.pop(),s[i]=s[d],s.pop(),n[i]=n[d],n.pop()}}}),Object.assign(ml.prototype,{play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(t){return this._startTime=t,this},setLoop:function(t,e){return this.loop=t,this.repetitions=e,this},setEffectiveWeight:function(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(t){return this._scheduleFading(t,0,1)},fadeOut:function(t){return this._scheduleFading(t,1,0)},crossFadeFrom:function(t,e,i){if(t.fadeOut(e),this.fadeIn(e),i){i=this._clip.duration;var n=t._clip.duration,s=i/n;t.warp(1,n/i,e),this.warp(s,1,e)}return this},crossFadeTo:function(t,e,i){return t.crossFadeFrom(this,e,i)},stopFading:function(){var t=this._weightInterpolant;return t!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},setEffectiveTimeScale:function(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(t){return this.timeScale=this._clip.duration/t,this.stopWarping()},syncWith:function(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()},halt:function(t){return this.warp(this._effectiveTimeScale,0,t)},warp:function(t,e,i){var n=this._mixer,s=n.time,l=this._timeScaleInterpolant,d=this.timeScale;return l===null&&(this._timeScaleInterpolant=l=n._lendControlInterpolant()),n=l.parameterPositions,l=l.sampleValues,n[0]=s,n[1]=s+i,l[0]=t/d,l[1]=e/d,this},stopWarping:function(){var t=this._timeScaleInterpolant;return t!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(t,e,i,n){if(this.enabled){var s=this._startTime;if(s!==null){if(e=(t-s)*i,0>e||i===0)return;this._startTime=null,e*=i}if(e*=this._updateTimeScale(t),i=this._updateTime(e),t=this._updateWeight(t),0<t){e=this._interpolants,s=this._propertyBindings;for(var l=0,d=e.length;l!==d;++l)e[l].evaluate(i),s[l].accumulate(n,t)}}else this._updateWeight(t)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var i=this._weightInterpolant;if(i!==null){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopFading(),n===0&&(this.enabled=!1))}}return this._effectiveWeight=e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var i=this._timeScaleInterpolant;if(i!==null){var n=i.evaluate(t)[0];e*=n,t>i.parameterPositions[1]&&(this.stopWarping(),e===0?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e},_updateTime:function(t){var e=this.time+t,i=this._clip.duration,n=this.loop,s=this._loopCount,l=n===2202;if(t===0)return s===-1?e:l&&(s&1)===1?i-e:e;if(n===2200)t:{if(s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1)),e>=i)e=i;else if(0>e)e=0;else break t;this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:"finished",action:this,direction:0>t?-1:1})}else{if(s===-1&&(0<=t?(s=0,this._setEndings(!0,this.repetitions===0,l)):this._setEndings(this.repetitions===0,!0,l)),e>=i||0>e){n=Math.floor(e/i),e-=i*n,s+=Math.abs(n);var d=this.repetitions-s;0>=d?(this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=0<t?i:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:0<t?1:-1})):(d===1?(t=0>t,this._setEndings(t,!t,l)):this._setEndings(!1,!1,l),this._loopCount=s,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n}))}if(l&&(s&1)===1)return this.time=e,i-e}return this.time=e},_setEndings:function(t,e,i){var n=this._interpolantSettings;i?(n.endingStart=2401,n.endingEnd=2401):(n.endingStart=t?this.zeroSlopeAtStart?2401:2400:2402,n.endingEnd=e?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(t,e,i){var n=this._mixer,s=n.time,l=this._weightInterpolant;return l===null&&(this._weightInterpolant=l=n._lendControlInterpolant()),n=l.parameterPositions,l=l.sampleValues,n[0]=s,l[0]=e,n[1]=s+t,l[1]=i,this}}),ss.prototype=Object.assign(Object.create(a.prototype),{constructor:ss,_bindAction:function(t,e){var i=t._localRoot||this._root,n=t._clip.tracks,s=n.length,l=t._propertyBindings;t=t._interpolants;var d=i.uuid,p=this._bindingsByRootAndName,_=p[d];for(_===void 0&&(_={},p[d]=_),p=0;p!==s;++p){var M=n[p],A=M.name,L=_[A];if(L===void 0){if(L=l[p],L!==void 0){L._cacheIndex===null&&(++L.referenceCount,this._addInactiveBinding(L,d,A));continue}L=new pl(bn.create(i,A,e&&e._propertyBindings[p].binding.parsedPath),M.ValueTypeName,M.getValueSize()),++L.referenceCount,this._addInactiveBinding(L,d,A)}l[p]=L,t[p].resultBuffer=L.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(t._cacheIndex===null){var e=(t._localRoot||this._root).uuid,i=t._clip.uuid,n=this._actionsByClip[i];this._bindAction(t,n&&n.knownActions[0]),this._addInactiveAction(t,i,e)}for(e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var s=e[i];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){for(var e=t._propertyBindings,i=0,n=e.length;i!==n;++i){var s=e[i];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){return t=t._cacheIndex,t!==null&&t<this._nActiveActions},_addInactiveAction:function(t,e,i){var n=this._actions,s=this._actionsByClip,l=s[e];l===void 0?(l={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,s[e]=l):(e=l.knownActions,t._byClipCacheIndex=e.length,e.push(t)),t._cacheIndex=n.length,n.push(t),l.actionByRoot[i]=t},_removeInactiveAction:function(t){var e=this._actions,i=e[e.length-1],n=t._cacheIndex;i._cacheIndex=n,e[n]=i,e.pop(),t._cacheIndex=null,e=t._clip.uuid,i=this._actionsByClip,n=i[e];var s=n.knownActions,l=s[s.length-1],d=t._byClipCacheIndex;l._byClipCacheIndex=d,s[d]=l,s.pop(),t._byClipCacheIndex=null,delete n.actionByRoot[(t._localRoot||this._root).uuid],s.length===0&&delete i[e],this._removeInactiveBindingsForAction(t)},_removeInactiveBindingsForAction:function(t){t=t._propertyBindings;for(var e=0,i=t.length;e!==i;++e){var n=t[e];--n.referenceCount===0&&this._removeInactiveBinding(n)}},_lendAction:function(t){var e=this._actions,i=t._cacheIndex,n=this._nActiveActions++,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_takeBackAction:function(t){var e=this._actions,i=t._cacheIndex,n=--this._nActiveActions,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_addInactiveBinding:function(t,e,i){var n=this._bindingsByRootAndName,s=n[e],l=this._bindings;s===void 0&&(s={},n[e]=s),s[i]=t,t._cacheIndex=l.length,l.push(t)},_removeInactiveBinding:function(t){var e=this._bindings,i=t.binding,n=i.rootNode.uuid;i=i.path;var s=this._bindingsByRootAndName,l=s[n],d=e[e.length-1];t=t._cacheIndex,d._cacheIndex=t,e[t]=d,e.pop(),delete l[i];t:{for(var p in l)break t;delete s[n]}},_lendBinding:function(t){var e=this._bindings,i=t._cacheIndex,n=this._nActiveBindings++,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_takeBackBinding:function(t){var e=this._bindings,i=t._cacheIndex,n=--this._nActiveBindings,s=e[n];t._cacheIndex=n,e[n]=t,s._cacheIndex=i,e[i]=s},_lendControlInterpolant:function(){var t=this._controlInterpolants,e=this._nActiveControlInterpolants++,i=t[e];return i===void 0&&(i=new zr(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),i.__cacheIndex=e,t[e]=i),i},_takeBackControlInterpolant:function(t){var e=this._controlInterpolants,i=t.__cacheIndex,n=--this._nActiveControlInterpolants,s=e[n];t.__cacheIndex=n,e[n]=t,s.__cacheIndex=i,e[i]=s},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(t,e){var i=e||this._root,n=i.uuid;i=typeof t=="string"?xr.findByName(i,t):t,t=i!==null?i.uuid:t;var s=this._actionsByClip[t],l=null;if(s!==void 0){if(l=s.actionByRoot[n],l!==void 0)return l;l=s.knownActions[0],i===null&&(i=l._clip)}return i===null?null:(e=new ml(this,i,e),this._bindAction(e,l),this._addInactiveAction(e,t,n),e)},existingAction:function(t,e){var i=e||this._root;return e=i.uuid,i=typeof t=="string"?xr.findByName(i,t):t,t=this._actionsByClip[i?i.uuid:t],t!==void 0&&t.actionByRoot[e]||null},stopAllAction:function(){for(var t=this._actions,e=this._nActiveActions,i=this._bindings,n=this._nActiveBindings,s=this._nActiveBindings=this._nActiveActions=0;s!==e;++s)t[s].reset();for(s=0;s!==n;++s)i[s].useCount=0;return this},update:function(t){t*=this.timeScale;for(var e=this._actions,i=this._nActiveActions,n=this.time+=t,s=Math.sign(t),l=this._accuIndex^=1,d=0;d!==i;++d)e[d]._update(n,t,s,l);for(t=this._bindings,e=this._nActiveBindings,d=0;d!==e;++d)t[d].apply(l);return this},getRoot:function(){return this._root},uncacheClip:function(t){var e=this._actions;t=t.uuid;var i=this._actionsByClip,n=i[t];if(n!==void 0){n=n.knownActions;for(var s=0,l=n.length;s!==l;++s){var d=n[s];this._deactivateAction(d);var p=d._cacheIndex,_=e[e.length-1];d._cacheIndex=null,d._byClipCacheIndex=null,_._cacheIndex=p,e[p]=_,e.pop(),this._removeInactiveBindingsForAction(d)}delete i[t]}},uncacheRoot:function(t){t=t.uuid;var e=this._actionsByClip;for(n in e){var i=e[n].actionByRoot[t];i!==void 0&&(this._deactivateAction(i),this._removeInactiveAction(i))}var n=this._bindingsByRootAndName[t];if(n!==void 0)for(var s in n)t=n[s],t.restoreOriginalState(),this._removeInactiveBinding(t)},uncacheAction:function(t,e){t=this.existingAction(t,e),t!==null&&(this._deactivateAction(t),this._removeInactiveAction(t))}}),oh.prototype.clone=function(){return new oh(this.value.clone===void 0?this.value:this.value.clone())},Vh.prototype=Object.assign(Object.create(Ft.prototype),{constructor:Vh,isInstancedBufferGeometry:!0,copy:function(t){return Ft.prototype.copy.call(this,t),this.maxInstancedCount=t.maxInstancedCount,this},clone:function(){return new this.constructor().copy(this)}}),Wh.prototype=Object.assign(Object.create(ki.prototype),{constructor:Wh,isInstancedInterleavedBuffer:!0,copy:function(t){return ki.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),jh.prototype=Object.assign(Object.create(J.prototype),{constructor:jh,isInstancedBufferAttribute:!0,copy:function(t){return J.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Object.assign(Ou.prototype,{linePrecision:1,set:function(t,e){this.ray.set(t,e)},setFromCamera:function(t,e){e&&e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize()):e&&e.isOrthographicCamera&&(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld))},intersectObject:function(t,e,i){return i=i||[],Us(t,this,i,e),i.sort(gl),i},intersectObjects:function(t,e,i){if(i=i||[],Array.isArray(t)===!1)return i;for(var n=0,s=t.length;n<s;n++)Us(t[n],this,i,e);return i.sort(gl),i}}),Object.assign(Xh.prototype,{set:function(t,e,i){return this.radius=t,this.phi=e,this.theta=i,this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this},makeSafe:function(){return this.phi=Math.max(1e-6,Math.min(Math.PI-1e-6,this.phi)),this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,i){return this.radius=Math.sqrt(t*t+e*e+i*i),this.radius===0?this.phi=this.theta=0:(this.theta=Math.atan2(t,i),this.phi=Math.acos(di.clamp(e/this.radius,-1,1))),this}}),Object.assign(it.prototype,{set:function(t,e,i){return this.radius=t,this.theta=e,this.y=i,this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this},setFromVector3:function(t){return this.setFromCartesianCoords(t.x,t.y,t.z)},setFromCartesianCoords:function(t,e,i){return this.radius=Math.sqrt(t*t+i*i),this.theta=Math.atan2(t,i),this.y=e,this}}),Object.assign(as.prototype,{set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,i=t.length;e<i;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new o;return function(e,i){return i=t.copy(i).multiplyScalar(.5),this.min.copy(e).sub(i),this.max.copy(e).add(i),this}}(),clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(t){return t===void 0&&(t=new o),this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return t===void 0&&(t=new o),this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},getParameter:function(t,e){return e===void 0&&(e=new o),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)},clampPoint:function(t,e){return e===void 0&&(e=new o),e.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new o;return function(e){return t.copy(e).clamp(this.min,this.max).sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(ba.prototype,{set:function(t,e){return this.start.copy(t),this.end.copy(e),this},clone:function(){return new this.constructor().copy(this)},copy:function(t){return this.start.copy(t.start),this.end.copy(t.end),this},getCenter:function(t){return t===void 0&&(t=new u),t.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(t){return t===void 0&&(t=new u),t.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(t,e){return e===void 0&&(e=new u),this.delta(e).multiplyScalar(t).add(this.start)},closestPointToPointParameter:function(){var t=new u,e=new u;return function(i,n){return t.subVectors(i,this.start),e.subVectors(this.end,this.start),i=e.dot(e),i=e.dot(t)/i,n&&(i=di.clamp(i,0,1)),i}}(),closestPointToPoint:function(t,e,i){return t=this.closestPointToPointParameter(t,e),i===void 0&&(i=new u),this.delta(i).multiplyScalar(t).add(this.start)},applyMatrix4:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this},equals:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}}),Yn.prototype=Object.create(N.prototype),Yn.prototype.constructor=Yn,Yn.prototype.isImmediateRenderObject=!0,_i.prototype=Object.create(gi.prototype),_i.prototype.constructor=_i,_i.prototype.update=function(){var t=new u,e=new u,i=new m;return function(){var n=["a","b","c"];this.object.updateMatrixWorld(!0),i.getNormalMatrix(this.object.matrixWorld);var s=this.object.matrixWorld,l=this.geometry.attributes.position,d=this.object.geometry;if(d&&d.isGeometry)for(var p=d.vertices,_=d.faces,M=d=0,A=_.length;M<A;M++)for(var L=_[M],B=0,H=L.vertexNormals.length;B<H;B++){var q=L.vertexNormals[B];t.copy(p[L[n[B]]]).applyMatrix4(s),e.copy(q).applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),l.setXYZ(d,t.x,t.y,t.z),d+=1,l.setXYZ(d,e.x,e.y,e.z),d+=1}else if(d&&d.isBufferGeometry)for(n=d.attributes.position,p=d.attributes.normal,B=d=0,H=n.count;B<H;B++)t.set(n.getX(B),n.getY(B),n.getZ(B)).applyMatrix4(s),e.set(p.getX(B),p.getY(B),p.getZ(B)),e.applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),l.setXYZ(d,t.x,t.y,t.z),d+=1,l.setXYZ(d,e.x,e.y,e.z),d+=1;l.needsUpdate=!0}}(),Ca.prototype=Object.create(N.prototype),Ca.prototype.constructor=Ca,Ca.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},Ca.prototype.update=function(){var t=new u,e=new u;return function(){this.light.updateMatrixWorld();var i=this.light.distance?this.light.distance:1e3,n=i*Math.tan(this.light.angle);this.cone.scale.set(n,n,i),t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(e.sub(t)),this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}(),Aa.prototype=Object.create(gi.prototype),Aa.prototype.constructor=Aa,Aa.prototype.updateMatrixWorld=function(){var t=new u,e=new c,i=new c;return function(n){var s=this.bones,l=this.geometry,d=l.getAttribute("position");i.getInverse(this.root.matrixWorld);for(var p=0,_=0;p<s.length;p++){var M=s[p];M.parent&&M.parent.isBone&&(e.multiplyMatrices(i,M.matrixWorld),t.setFromMatrixPosition(e),d.setXYZ(_,t.x,t.y,t.z),e.multiplyMatrices(i,M.parent.matrixWorld),t.setFromMatrixPosition(e),d.setXYZ(_+1,t.x,t.y,t.z),_+=2)}l.getAttribute("position").needsUpdate=!0,N.prototype.updateMatrixWorld.call(this,n)}}(),Br.prototype=Object.create(pi.prototype),Br.prototype.constructor=Br,Br.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},Br.prototype.update=function(){this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)},Pa.prototype=Object.create(N.prototype),Pa.prototype.constructor=Pa,Pa.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},Pa.prototype.update=function(){var t=.5*this.light.width,e=.5*this.light.height,i=this.line.geometry.attributes.position,n=i.array;n[0]=t,n[1]=-e,n[2]=0,n[3]=t,n[4]=e,n[5]=0,n[6]=-t,n[7]=e,n[8]=0,n[9]=-t,n[10]=-e,n[11]=0,n[12]=t,n[13]=-e,n[14]=0,i.needsUpdate=!0,this.color!==void 0?this.line.material.color.set(this.color):this.line.material.color.copy(this.light.color)},La.prototype=Object.create(N.prototype),La.prototype.constructor=La,La.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},La.prototype.update=function(){var t=new u,e=new P,i=new P;return function(){var n=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{var s=n.geometry.getAttribute("color");e.copy(this.light.color),i.copy(this.light.groundColor);for(var l=0,d=s.count;l<d;l++){var p=l<d/2?e:i;s.setXYZ(l,p.r,p.g,p.b)}s.needsUpdate=!0}n.lookAt(t.setFromMatrixPosition(this.light.matrixWorld).negate())}}(),vl.prototype=Object.create(gi.prototype),vl.prototype.constructor=vl,sh.prototype=Object.create(gi.prototype),sh.prototype.constructor=sh,yl.prototype=Object.create(gi.prototype),yl.prototype.constructor=yl,yl.prototype.update=function(){var t=new u,e=new u,i=new m;return function(){this.object.updateMatrixWorld(!0),i.getNormalMatrix(this.object.matrixWorld);var n=this.object.matrixWorld,s=this.geometry.attributes.position,l=this.object.geometry,d=l.vertices;l=l.faces;for(var p=0,_=0,M=l.length;_<M;_++){var A=l[_],L=A.normal;t.copy(d[A.a]).add(d[A.b]).add(d[A.c]).divideScalar(3).applyMatrix4(n),e.copy(L).applyMatrix3(i).normalize().multiplyScalar(this.size).add(t),s.setXYZ(p,t.x,t.y,t.z),p+=1,s.setXYZ(p,e.x,e.y,e.z),p+=1}s.needsUpdate=!0}}(),pr.prototype=Object.create(N.prototype),pr.prototype.constructor=pr,pr.prototype.dispose=function(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()},pr.prototype.update=function(){var t=new u,e=new u,i=new u;return function(){t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),i.subVectors(e,t),this.lightPlane.lookAt(i),this.color!==void 0?(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(i),this.targetLine.scale.z=i.length()}}(),_l.prototype=Object.create(gi.prototype),_l.prototype.constructor=_l,_l.prototype.update=function(){function t(l,d,p,_){if(n.set(d,p,_).unproject(s),l=i[l],l!==void 0)for(d=e.getAttribute("position"),p=0,_=l.length;p<_;p++)d.setXYZ(l[p],n.x,n.y,n.z)}var e,i,n=new u,s=new Be;return function(){e=this.geometry,i=this.pointMap,s.projectionMatrix.copy(this.camera.projectionMatrix),t("c",0,0,-1),t("t",0,0,1),t("n1",-1,-1,-1),t("n2",1,-1,-1),t("n3",-1,1,-1),t("n4",1,1,-1),t("f1",-1,-1,1),t("f2",1,-1,1),t("f3",-1,1,1),t("f4",1,1,1),t("u1",.7,1.1,-1),t("u2",-.7,1.1,-1),t("u3",0,2,-1),t("cf1",-1,0,1),t("cf2",1,0,1),t("cf3",0,-1,1),t("cf4",0,1,1),t("cn1",-1,0,-1),t("cn2",1,0,-1),t("cn3",0,-1,-1),t("cn4",0,1,-1),e.getAttribute("position").needsUpdate=!0}}(),ko.prototype=Object.create(gi.prototype),ko.prototype.constructor=ko,ko.prototype.update=function(){var t=new k;return function(e){if(this.object!==void 0&&t.setFromObject(this.object),!t.isEmpty()){e=t.min;var i=t.max,n=this.geometry.attributes.position,s=n.array;s[0]=i.x,s[1]=i.y,s[2]=i.z,s[3]=e.x,s[4]=i.y,s[5]=i.z,s[6]=e.x,s[7]=e.y,s[8]=i.z,s[9]=i.x,s[10]=e.y,s[11]=i.z,s[12]=i.x,s[13]=i.y,s[14]=e.z,s[15]=e.x,s[16]=i.y,s[17]=e.z,s[18]=e.x,s[19]=e.y,s[20]=e.z,s[21]=i.x,s[22]=e.y,s[23]=e.z,n.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),ko.prototype.setFromObject=function(t){return this.object=t,this.update(),this},ko.prototype.copy=function(t){return gi.prototype.copy.call(this,t),this.object=t.object,this},ko.prototype.clone=function(){return new this.constructor().copy(this)},xl.prototype=Object.create(gi.prototype),xl.prototype.constructor=xl,xl.prototype.updateMatrixWorld=function(t){var e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),N.prototype.updateMatrixWorld.call(this,t))},wl.prototype=Object.create(ji.prototype),wl.prototype.constructor=wl,wl.prototype.updateMatrixWorld=function(t){var e=-this.plane.constant;1e-8>Math.abs(e)&&(e=1e-8),this.scale.set(.5*this.size,.5*this.size,e),this.children[0].material.side=0>e?1:0,this.lookAt(this.plane.normal),N.prototype.updateMatrixWorld.call(this,t)};var fh,El;Bo.prototype=Object.create(N.prototype),Bo.prototype.constructor=Bo,Bo.prototype.setDirection=function(){var t=new u,e;return function(i){.99999<i.y?this.quaternion.set(0,0,0,1):-.99999>i.y?this.quaternion.set(1,0,0,0):(t.set(i.z,0,-i.x).normalize(),e=Math.acos(i.y),this.quaternion.setFromAxisAngle(t,e))}}(),Bo.prototype.setLength=function(t,e,i){e===void 0&&(e=.2*t),i===void 0&&(i=.2*e),this.line.scale.set(1,Math.max(0,t-e),1),this.line.updateMatrix(),this.cone.scale.set(i,e,i),this.cone.position.y=t,this.cone.updateMatrix()},Bo.prototype.setColor=function(t){this.line.material.color.copy(t),this.cone.material.color.copy(t)},Bo.prototype.copy=function(t){return N.prototype.copy.call(this,t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this},Bo.prototype.clone=function(){return new this.constructor().copy(this)},wr.prototype=Object.create(gi.prototype),wr.prototype.constructor=wr,Ee.create=function(t,e){return t.prototype=Object.create(Ee.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Object.assign(Do.prototype,{createPointsGeometry:function(t){return t=this.getPoints(t),this.createGeometry(t)},createSpacedPointsGeometry:function(t){return t=this.getSpacedPoints(t),this.createGeometry(t)},createGeometry:function(t){for(var e=new X,i=0,n=t.length;i<n;i++){var s=t[i];e.vertices.push(new u(s.x,s.y,s.z||0))}return e}}),Object.assign(dr.prototype,{fromPoints:function(t){this.setFromPoints(t)}}),Du.prototype=Object.create(In.prototype),zu.prototype=Object.create(In.prototype),qh.prototype=Object.create(In.prototype),Object.assign(qh.prototype,{initFromArray:function(){},getControlPointsArray:function(){},reparametrizeByArcLength:function(){}}),vl.prototype.setColors=function(){},Aa.prototype.update=function(){},Object.assign(zo.prototype,{extractUrlBase:function(t){return Hs.extractUrlBase(t)}}),Object.assign(Bs.prototype,{setTexturePath:function(t){return this.setResourcePath(t)}}),Object.assign(cl.prototype,{setTexturePath:function(t){return this.setResourcePath(t)}}),Object.assign(as.prototype,{center:function(t){return this.getCenter(t)},empty:function(){return this.isEmpty()},isIntersectionBox:function(t){return this.intersectsBox(t)},size:function(t){return this.getSize(t)}}),Object.assign(k.prototype,{center:function(t){return this.getCenter(t)},empty:function(){return this.isEmpty()},isIntersectionBox:function(t){return this.intersectsBox(t)},isIntersectionSphere:function(t){return this.intersectsSphere(t)},size:function(t){return this.getSize(t)}}),ba.prototype.center=function(t){return this.getCenter(t)},Object.assign(di,{random16:function(){return Math.random()},nearestPowerOfTwo:function(t){return di.floorPowerOfTwo(t)},nextPowerOfTwo:function(t){return di.ceilPowerOfTwo(t)}}),Object.assign(m.prototype,{flattenToArrayOffset:function(t,e){return this.toArray(t,e)},multiplyVector3:function(t){return t.applyMatrix3(this)},multiplyVector3Array:function(){},applyToBuffer:function(t){return this.applyToBufferAttribute(t)},applyToVector3Array:function(){}}),Object.assign(c.prototype,{extractPosition:function(t){return this.copyPosition(t)},flattenToArrayOffset:function(t,e){return this.toArray(t,e)},getPosition:function(){var t;return function(){return t===void 0&&(t=new u),t.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(t){return this.makeRotationFromQuaternion(t)},multiplyToArray:function(){},multiplyVector3:function(t){return t.applyMatrix4(this)},multiplyVector4:function(t){return t.applyMatrix4(this)},multiplyVector3Array:function(){},rotateAxis:function(t){t.transformDirection(this)},crossVector:function(t){return t.applyMatrix4(this)},translate:function(){},rotateX:function(){},rotateY:function(){},rotateZ:function(){},rotateByAxis:function(){},applyToBuffer:function(t){return this.applyToBufferAttribute(t)},applyToVector3Array:function(){},makeFrustum:function(t,e,i,n,s,l){return this.makePerspective(t,e,n,i,s,l)}}),F.prototype.isIntersectionLine=function(t){return this.intersectsLine(t)},f.prototype.multiplyVector3=function(t){return t.applyQuaternion(this)},Object.assign(Si.prototype,{isIntersectionBox:function(t){return this.intersectsBox(t)},isIntersectionPlane:function(t){return this.intersectsPlane(t)},isIntersectionSphere:function(t){return this.intersectsSphere(t)}}),Object.assign(Oe.prototype,{area:function(){return this.getArea()},barycoordFromPoint:function(t,e){return this.getBarycoord(t,e)},midpoint:function(t){return this.getMidpoint(t)},normal:function(t){return this.getNormal(t)},plane:function(t){return this.getPlane(t)}}),Object.assign(Oe,{barycoordFromPoint:function(t,e,i,n,s){return Oe.getBarycoord(t,e,i,n,s)},normal:function(t,e,i,n){return Oe.getNormal(t,e,i,n)}}),Object.assign(tr.prototype,{extractAllPoints:function(t){return this.extractPoints(t)},extrude:function(t){return new Lo(this,t)},makeGeometry:function(t){return new Ro(this,t)}}),Object.assign(o.prototype,{fromAttribute:function(t,e,i){return this.fromBufferAttribute(t,e,i)},distanceToManhattan:function(t){return this.manhattanDistanceTo(t)},lengthManhattan:function(){return this.manhattanLength()}}),Object.assign(u.prototype,{setEulerFromRotationMatrix:function(){},setEulerFromQuaternion:function(){},getPositionFromMatrix:function(t){return this.setFromMatrixPosition(t)},getScaleFromMatrix:function(t){return this.setFromMatrixScale(t)},getColumnFromMatrix:function(t,e){return this.setFromMatrixColumn(e,t)},applyProjection:function(t){return this.applyMatrix4(t)},fromAttribute:function(t,e,i){return this.fromBufferAttribute(t,e,i)},distanceToManhattan:function(t){return this.manhattanDistanceTo(t)},lengthManhattan:function(){return this.manhattanLength()}}),Object.assign(v.prototype,{fromAttribute:function(t,e,i){return this.fromBufferAttribute(t,e,i)},lengthManhattan:function(){return this.manhattanLength()}}),Object.assign(X.prototype,{computeTangents:function(){},computeLineDistances:function(){}}),Object.assign(N.prototype,{getChildByName:function(t){return this.getObjectByName(t)},renderDepth:function(){},translate:function(t,e){return this.translateOnAxis(e,t)},getWorldRotation:function(){}}),Object.defineProperties(N.prototype,{eulerOrder:{get:function(){return this.rotation.order},set:function(t){this.rotation.order=t}},useQuaternion:{get:function(){},set:function(){}}}),Object.defineProperties(rn.prototype,{objects:{get:function(){return this.levels}}}),Object.defineProperty(cn.prototype,"useVertexTexture",{get:function(){},set:function(){}}),Object.defineProperty(Ee.prototype,"__arcLengthDivisions",{get:function(){return this.arcLengthDivisions},set:function(t){this.arcLengthDivisions=t}}),_e.prototype.setLens=function(t,e){e!==void 0&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(tn.prototype,{onlyShadow:{set:function(){}},shadowCameraFov:{set:function(t){this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){}},shadowBias:{set:function(t){this.shadow.bias=t}},shadowDarkness:{set:function(){}},shadowMapWidth:{set:function(t){this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){this.shadow.mapSize.height=t}}}),Object.defineProperties(J.prototype,{length:{get:function(){return this.array.length}},copyIndicesArray:function(){}}),Object.assign(Ft.prototype,{addIndex:function(t){this.setIndex(t)},addDrawCall:function(t,e,i){this.addGroup(t,e)},clearDrawCalls:function(){this.clearGroups()},computeTangents:function(){},computeOffsets:function(){}}),Object.defineProperties(Ft.prototype,{drawcalls:{get:function(){return this.groups}},offsets:{get:function(){return this.groups}}}),Object.assign(mo.prototype,{getArrays:function(){},addShapeList:function(){},addShape:function(){}}),Object.defineProperties(oh.prototype,{dynamic:{set:function(){}},onUpdate:{value:function(){return this}}}),Object.defineProperties(Wt.prototype,{wrapAround:{get:function(){},set:function(){}},overdraw:{get:function(){},set:function(){}},wrapRGB:{get:function(){return new P}},shading:{get:function(){},set:function(t){this.flatShading=t===1}}}),Object.defineProperties($r.prototype,{metal:{get:function(){return!1},set:function(){}}}),Object.defineProperties($e.prototype,{derivatives:{get:function(){return this.extensions.derivatives},set:function(t){this.extensions.derivatives=t}}}),Object.assign(xe.prototype,{clearTarget:function(t,e,i,n){this.setRenderTarget(t),this.clear(e,i,n)},animate:function(t){this.setAnimationLoop(t)},getCurrentRenderTarget:function(){return this.getRenderTarget()},getMaxAnisotropy:function(){return this.capabilities.getMaxAnisotropy()},getPrecision:function(){return this.capabilities.precision},resetGLState:function(){return this.state.reset()},supportsFloatTextures:function(){return this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return this.capabilities.vertexTextures},supportsInstancedArrays:function(){return this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(t){this.setScissorTest(t)},initMaterial:function(){},addPrePlugin:function(){},addPostPlugin:function(){},updateShadowMap:function(){},setFaceCulling:function(){}}),Object.defineProperties(xe.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){this.shadowMap.type=t}},shadowMapCullFace:{get:function(){},set:function(){}}}),Object.defineProperties(ye.prototype,{cullFace:{get:function(){},set:function(){}},renderReverseSided:{get:function(){},set:function(){}},renderSingleSided:{get:function(){},set:function(){}}}),Object.defineProperties(S.prototype,{wrapS:{get:function(){return this.texture.wrapS},set:function(t){this.texture.wrapS=t}},wrapT:{get:function(){return this.texture.wrapT},set:function(t){this.texture.wrapT=t}},magFilter:{get:function(){return this.texture.magFilter},set:function(t){this.texture.magFilter=t}},minFilter:{get:function(){return this.texture.minFilter},set:function(t){this.texture.minFilter=t}},anisotropy:{get:function(){return this.texture.anisotropy},set:function(t){this.texture.anisotropy=t}},offset:{get:function(){return this.texture.offset},set:function(t){this.texture.offset=t}},repeat:{get:function(){return this.texture.repeat},set:function(t){this.texture.repeat=t}},format:{get:function(){return this.texture.format},set:function(t){this.texture.format=t}},type:{get:function(){return this.texture.type},set:function(t){this.texture.type=t}},generateMipmaps:{get:function(){return this.texture.generateMipmaps},set:function(t){this.texture.generateMipmaps=t}}}),Object.defineProperties(mi.prototype,{standing:{set:function(){}},userHeight:{set:function(){}}}),Sa.prototype.load=function(t){var e=this;return new yn().load(t,function(i){e.setBuffer(i)}),this},Ns.prototype.getData=function(){return this.getFrequencyData()},fl.prototype.updateCubeMap=function(t,e){return this.update(t,e)},ls.crossOrigin=void 0,ls.loadTexture=function(t,e,i,n){var s=new dn;return s.setCrossOrigin(this.crossOrigin),t=s.load(t,i,void 0,n),e&&(t.mapping=e),t},ls.loadTextureCube=function(t,e,i,n){var s=new Fi;return s.setCrossOrigin(this.crossOrigin),t=s.load(t,i,void 0,n),e&&(t.mapping=e),t},ls.loadCompressedTexture=function(){},ls.loadCompressedTextureCube=function(){},x.WebGLRenderTargetCube=b,x.WebGLRenderTarget=S,x.WebGLRenderer=xe,x.ShaderLib=Mo,x.UniformsLib=qe,x.UniformsUtils=Nn,x.ShaderChunk=Ci,x.FogExp2=Re,x.Fog=En,x.Scene=qn,x.Sprite=nn,x.LOD=rn,x.SkinnedMesh=Gi,x.Skeleton=cn,x.Bone=fn,x.Mesh=pi,x.LineSegments=gi,x.LineLoop=fo,x.Line=ji,x.Points=ha,x.Group=ci,x.VideoTexture=kh,x.DataTexture=O,x.DataTexture3D=Q,x.CompressedTexture=Jo,x.CubeTexture=z,x.CanvasTexture=Ka,x.DepthTexture=Qa,x.Texture=g,x.AnimationLoader=Qt,x.CompressedTextureLoader=Zt,x.DataTextureLoader=Ue,x.CubeTextureLoader=Fi,x.TextureLoader=dn,x.ObjectLoader=cl,x.MaterialLoader=ih,x.BufferGeometryLoader=Fh,x.DefaultLoadingManager=er,x.LoadingManager=ns,x.JSONLoader=Bs,x.ImageLoader=ai,x.ImageBitmapLoader=Uh,x.FontLoader=Ru,x.FileLoader=Lt,x.Loader=zo,x.LoaderUtils=Hs,x.Cache=So,x.AudioLoader=yn,x.SpotLightShadow=hl,x.SpotLight=ul,x.PointLight=zs,x.RectAreaLight=eh,x.HemisphereLight=ll,x.DirectionalLightShadow=os,x.DirectionalLight=wo,x.AmbientLight=ks,x.LightShadow=xo,x.Light=tn,x.StereoCamera=Wn,x.PerspectiveCamera=_e,x.OrthographicCamera=Ta,x.CubeCamera=fl,x.ArrayCamera=Fe,x.Camera=Be,x.AudioListener=rh,x.PositionalAudio=dl,x.AudioContext=Kh,x.AudioAnalyser=Ns,x.Audio=Sa,x.VectorKeyframeTrack=wa,x.StringKeyframeTrack=th,x.QuaternionKeyframeTrack=xa,x.NumberKeyframeTrack=Kr,x.ColorKeyframeTrack=Ql,x.BooleanKeyframeTrack=Kl,x.PropertyMixer=pl,x.PropertyBinding=bn,x.KeyframeTrack=Vn,x.AnimationUtils=Zn,x.AnimationObjectGroup=Ea,x.AnimationMixer=ss,x.AnimationClip=xr,x.Uniform=oh,x.InstancedBufferGeometry=Vh,x.BufferGeometry=Ft,x.Geometry=X,x.InterleavedBufferAttribute=Bi,x.InstancedInterleavedBuffer=Wh,x.InterleavedBuffer=ki,x.InstancedBufferAttribute=jh,x.Face3=I,x.Object3D=N,x.Raycaster=Ou,x.Layers=U,x.EventDispatcher=a,x.Clock=Hh,x.QuaternionLinearInterpolant=lr,x.LinearInterpolant=zr,x.DiscreteInterpolant=Ds,x.CubicInterpolant=al,x.Interpolant=Kn,x.Triangle=Oe,x.Math=di,x.Spherical=Xh,x.Cylindrical=it,x.Plane=F,x.Frustum=E,x.Sphere=R,x.Ray=Si,x.Matrix4=c,x.Matrix3=m,x.Box3=k,x.Box2=as,x.Line3=ba,x.Euler=C,x.Vector4=v,x.Vector3=u,x.Vector2=o,x.Quaternion=f,x.Color=P,x.ImmediateRenderObject=Yn,x.VertexNormalsHelper=_i,x.SpotLightHelper=Ca,x.SkeletonHelper=Aa,x.PointLightHelper=Br,x.RectAreaLightHelper=Pa,x.HemisphereLightHelper=La,x.GridHelper=vl,x.PolarGridHelper=sh,x.FaceNormalsHelper=yl,x.DirectionalLightHelper=pr,x.CameraHelper=_l,x.BoxHelper=ko,x.Box3Helper=xl,x.PlaneHelper=wl,x.ArrowHelper=Bo,x.AxesHelper=wr,x.Shape=tr,x.Path=dr,x.ShapePath=nh,x.Font=Gh,x.CurvePath=Do,x.Curve=Ee,x.ImageUtils=ls,x.ShapeUtils=To,x.WebGLUtils=He,x.WireframeGeometry=ua,x.ParametricGeometry=tl,x.ParametricBufferGeometry=ca,x.TetrahedronGeometry=el,x.TetrahedronBufferGeometry=fa,x.OctahedronGeometry=il,x.OctahedronBufferGeometry=ws,x.IcosahedronGeometry=nl,x.IcosahedronBufferGeometry=da,x.DodecahedronGeometry=pa,x.DodecahedronBufferGeometry=ma,x.PolyhedronGeometry=Xi,x.PolyhedronBufferGeometry=xi,x.TubeGeometry=vn,x.TubeBufferGeometry=$o,x.TorusKnotGeometry=Jr,x.TorusKnotBufferGeometry=Ms,x.TorusGeometry=Ts,x.TorusBufferGeometry=Gn,x.TextGeometry=ol,x.TextBufferGeometry=Es,x.SphereGeometry=Ko,x.SphereBufferGeometry=Ir,x.RingGeometry=sl,x.RingBufferGeometry=bs,x.PlaneGeometry=Pe,x.PlaneBufferGeometry=pe,x.LatheGeometry=ya,x.LatheBufferGeometry=Qo,x.ShapeGeometry=Ro,x.ShapeBufferGeometry=ts,x.ExtrudeGeometry=Lo,x.ExtrudeBufferGeometry=mo,x.EdgesGeometry=es,x.ConeGeometry=_a,x.ConeBufferGeometry=Hn,x.CylinderGeometry=Oo,x.CylinderBufferGeometry=Io,x.CircleGeometry=Cs,x.CircleBufferGeometry=go,x.BoxGeometry=It,x.BoxBufferGeometry=Nt,x.ShadowMaterial=is,x.SpriteMaterial=Hi,x.RawShaderMaterial=As,x.ShaderMaterial=$e,x.PointsMaterial=Un,x.MeshPhysicalMaterial=Ps,x.MeshStandardMaterial=vo,x.MeshPhongMaterial=$r,x.MeshToonMaterial=Ls,x.MeshNormalMaterial=Rs,x.MeshLambertMaterial=Dr,x.MeshDepthMaterial=se,x.MeshDistanceMaterial=te,x.MeshBasicMaterial=Ge,x.MeshMatcapMaterial=Os,x.LineDashedMaterial=Is,x.LineBasicMaterial=Ni,x.Material=Wt,x.Float64BufferAttribute=At,x.Float32BufferAttribute=Et,x.Uint32BufferAttribute=Pt,x.Int32BufferAttribute=G,x.Uint16BufferAttribute=_t,x.Int16BufferAttribute=tt,x.Uint8ClampedBufferAttribute=Rt,x.Uint8BufferAttribute=ct,x.Int8BufferAttribute=Z,x.BufferAttribute=J,x.ArcCurve=Ma,x.CatmullRomCurve3=In,x.CubicBezierCurve=ur,x.CubicBezierCurve3=Mi,x.EllipseCurve=Qn,x.LineCurve=cr,x.LineCurve3=kr,x.QuadraticBezierCurve=fr,x.QuadraticBezierCurve3=_o,x.SplineCurve=Qr,x.REVISION="98",x.MOUSE={LEFT:0,MIDDLE:1,RIGHT:2},x.CullFaceNone=0,x.CullFaceBack=1,x.CullFaceFront=2,x.CullFaceFrontBack=3,x.FrontFaceDirectionCW=0,x.FrontFaceDirectionCCW=1,x.BasicShadowMap=0,x.PCFShadowMap=1,x.PCFSoftShadowMap=2,x.FrontSide=0,x.BackSide=1,x.DoubleSide=2,x.FlatShading=1,x.SmoothShading=2,x.NoColors=0,x.FaceColors=1,x.VertexColors=2,x.NoBlending=0,x.NormalBlending=1,x.AdditiveBlending=2,x.SubtractiveBlending=3,x.MultiplyBlending=4,x.CustomBlending=5,x.AddEquation=100,x.SubtractEquation=101,x.ReverseSubtractEquation=102,x.MinEquation=103,x.MaxEquation=104,x.ZeroFactor=200,x.OneFactor=201,x.SrcColorFactor=202,x.OneMinusSrcColorFactor=203,x.SrcAlphaFactor=204,x.OneMinusSrcAlphaFactor=205,x.DstAlphaFactor=206,x.OneMinusDstAlphaFactor=207,x.DstColorFactor=208,x.OneMinusDstColorFactor=209,x.SrcAlphaSaturateFactor=210,x.NeverDepth=0,x.AlwaysDepth=1,x.LessDepth=2,x.LessEqualDepth=3,x.EqualDepth=4,x.GreaterEqualDepth=5,x.GreaterDepth=6,x.NotEqualDepth=7,x.MultiplyOperation=0,x.MixOperation=1,x.AddOperation=2,x.NoToneMapping=0,x.LinearToneMapping=1,x.ReinhardToneMapping=2,x.Uncharted2ToneMapping=3,x.CineonToneMapping=4,x.UVMapping=300,x.CubeReflectionMapping=301,x.CubeRefractionMapping=302,x.EquirectangularReflectionMapping=303,x.EquirectangularRefractionMapping=304,x.SphericalReflectionMapping=305,x.CubeUVReflectionMapping=306,x.CubeUVRefractionMapping=307,x.RepeatWrapping=1e3,x.ClampToEdgeWrapping=1001,x.MirroredRepeatWrapping=1002,x.NearestFilter=1003,x.NearestMipMapNearestFilter=1004,x.NearestMipMapLinearFilter=1005,x.LinearFilter=1006,x.LinearMipMapNearestFilter=1007,x.LinearMipMapLinearFilter=1008,x.UnsignedByteType=1009,x.ByteType=1010,x.ShortType=1011,x.UnsignedShortType=1012,x.IntType=1013,x.UnsignedIntType=1014,x.FloatType=1015,x.HalfFloatType=1016,x.UnsignedShort4444Type=1017,x.UnsignedShort5551Type=1018,x.UnsignedShort565Type=1019,x.UnsignedInt248Type=1020,x.AlphaFormat=1021,x.RGBFormat=1022,x.RGBAFormat=1023,x.LuminanceFormat=1024,x.LuminanceAlphaFormat=1025,x.RGBEFormat=1023,x.DepthFormat=1026,x.DepthStencilFormat=1027,x.RedFormat=1028,x.RGB_S3TC_DXT1_Format=33776,x.RGBA_S3TC_DXT1_Format=33777,x.RGBA_S3TC_DXT3_Format=33778,x.RGBA_S3TC_DXT5_Format=33779,x.RGB_PVRTC_4BPPV1_Format=35840,x.RGB_PVRTC_2BPPV1_Format=35841,x.RGBA_PVRTC_4BPPV1_Format=35842,x.RGBA_PVRTC_2BPPV1_Format=35843,x.RGB_ETC1_Format=36196,x.RGBA_ASTC_4x4_Format=37808,x.RGBA_ASTC_5x4_Format=37809,x.RGBA_ASTC_5x5_Format=37810,x.RGBA_ASTC_6x5_Format=37811,x.RGBA_ASTC_6x6_Format=37812,x.RGBA_ASTC_8x5_Format=37813,x.RGBA_ASTC_8x6_Format=37814,x.RGBA_ASTC_8x8_Format=37815,x.RGBA_ASTC_10x5_Format=37816,x.RGBA_ASTC_10x6_Format=37817,x.RGBA_ASTC_10x8_Format=37818,x.RGBA_ASTC_10x10_Format=37819,x.RGBA_ASTC_12x10_Format=37820,x.RGBA_ASTC_12x12_Format=37821,x.LoopOnce=2200,x.LoopRepeat=2201,x.LoopPingPong=2202,x.InterpolateDiscrete=2300,x.InterpolateLinear=2301,x.InterpolateSmooth=2302,x.ZeroCurvatureEnding=2400,x.ZeroSlopeEnding=2401,x.WrapAroundEnding=2402,x.TrianglesDrawMode=0,x.TriangleStripDrawMode=1,x.TriangleFanDrawMode=2,x.LinearEncoding=3e3,x.sRGBEncoding=3001,x.GammaEncoding=3007,x.RGBEEncoding=3002,x.LogLuvEncoding=3003,x.RGBM7Encoding=3004,x.RGBM16Encoding=3005,x.RGBDEncoding=3006,x.BasicDepthPacking=3200,x.RGBADepthPacking=3201,x.TangentSpaceNormalMap=0,x.ObjectSpaceNormalMap=1,x.CubeGeometry=It,x.Face4=function(t,e,i,n,s,l,d){return new I(t,e,i,s,l,d)},x.LineStrip=0,x.LinePieces=1,x.MeshFaceMaterial=function(t){return t},x.MultiMaterial=function(t){return t===void 0&&(t=[]),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t},x.PointCloud=function(t,e){return new ha(t,e)},x.Particle=function(t){return new nn(t)},x.ParticleSystem=function(t,e){return new ha(t,e)},x.PointCloudMaterial=function(t){return new Un(t)},x.ParticleBasicMaterial=function(t){return new Un(t)},x.ParticleSystemMaterial=function(t){return new Un(t)},x.Vertex=function(t,e,i){return new u(t,e,i)},x.DynamicBufferAttribute=function(t,e){return new J(t,e).setDynamic(!0)},x.Int8Attribute=function(t,e){return new Z(t,e)},x.Uint8Attribute=function(t,e){return new ct(t,e)},x.Uint8ClampedAttribute=function(t,e){return new Rt(t,e)},x.Int16Attribute=function(t,e){return new tt(t,e)},x.Uint16Attribute=function(t,e){return new _t(t,e)},x.Int32Attribute=function(t,e){return new G(t,e)},x.Uint32Attribute=function(t,e){return new Pt(t,e)},x.Float32Attribute=function(t,e){return new Et(t,e)},x.Float64Attribute=function(t,e){return new At(t,e)},x.ClosedSplineCurve3=Du,x.SplineCurve3=zu,x.Spline=qh,x.AxisHelper=function(t){return new wr(t)},x.BoundingBoxHelper=function(t,e){return new ko(t,e)},x.EdgesHelper=function(t,e){return new gi(new es(t.geometry),new Ni({color:e!==void 0?e:16777215}))},x.WireframeHelper=function(t,e){return new gi(new ua(t.geometry),new Ni({color:e!==void 0?e:16777215}))},x.XHRLoader=function(t){return new Lt(t)},x.BinaryTextureLoader=function(t){return new Ue(t)},x.GeometryUtils={merge:function(t,e,i){if(e.isMesh){e.matrixAutoUpdate&&e.updateMatrix();var n=e.matrix;e=e.geometry}t.merge(e,n,i)},center:function(t){return t.center()}},x.Projector=function(){this.projectVector=function(t,e){t.project(e)},this.unprojectVector=function(t,e){t.unproject(e)},this.pickingRay=function(){}},x.CanvasRenderer=function(){},x.SceneUtils={createMultiMaterialObject:function(){},detach:function(){},attach:function(){}},x.LensFlare=function(){},Object.defineProperty(x,"__esModule",{value:!0})}),THREE.Sky=function(){var x=THREE.Sky.SkyShader,a=new THREE.ShaderMaterial({fragmentShader:x.fragmentShader,vertexShader:x.vertexShader,uniforms:THREE.UniformsUtils.clone(x.uniforms),side:THREE.BackSide});THREE.Mesh.call(this,new THREE.BoxBufferGeometry(1,1,1),a)},THREE.Sky.prototype=Object.create(THREE.Mesh.prototype),THREE.Sky.SkyShader={uniforms:{luminance:{value:1},turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new THREE.Vector3}},vertexShader:["uniform vec3 sunPosition;","uniform float rayleigh;","uniform float turbidity;","uniform float mieCoefficient;","varying vec3 vWorldPosition;","varying vec3 vSunDirection;","varying float vSunfade;","varying vec3 vBetaR;","varying vec3 vBetaM;","varying float vSunE;","const vec3 up = vec3( 0.0, 1.0, 0.0 );","const float e = 2.71828182845904523536028747135266249775724709369995957;","const float pi = 3.141592653589793238462643383279502884197169;","const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 );","const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 );","const float v = 4.0;","const vec3 K = vec3( 0.686, 0.678, 0.666 );","const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 );","const float cutoffAngle = 1.6110731556870734;","const float steepness = 1.5;","const float EE = 1000.0;","float sunIntensity( float zenithAngleCos ) {"," zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 );"," return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) );","}","vec3 totalMie( float T ) {"," float c = ( 0.2 * T ) * 10E-18;"," return 0.434 * c * MieConst;","}","void main() {"," vec4 worldPosition = modelMatrix * vec4( position, 1.0 );"," vWorldPosition = worldPosition.xyz;"," gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"," gl_Position.z = gl_Position.w;"," vSunDirection = normalize( sunPosition );"," vSunE = sunIntensity( dot( vSunDirection, up ) );"," vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 );"," float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) );"," vBetaR = totalRayleigh * rayleighCoefficient;"," vBetaM = totalMie( turbidity ) * mieCoefficient;","}"].join(`
|
|
2572
2572
|
`),fragmentShader:["varying vec3 vWorldPosition;","varying vec3 vSunDirection;","varying float vSunfade;","varying vec3 vBetaR;","varying vec3 vBetaM;","varying float vSunE;","uniform float luminance;","uniform float mieDirectionalG;","const vec3 cameraPos = vec3( 0.0, 1.0, 0.0 );","const float pi = 3.141592653589793238462643383279502884197169;","const float n = 1.0003;","const float N = 2.545E25;","const float rayleighZenithLength = 8.4E3;","const float mieZenithLength = 1.25E3;","const vec3 up = vec3( 0.0, 1.0, 0.0 );","const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324;","const float THREE_OVER_SIXTEENPI = 0.05968310365946075;","const float ONE_OVER_FOURPI = 0.07957747154594767;","float rayleighPhase( float cosTheta ) {"," return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) );","}","float hgPhase( float cosTheta, float g ) {"," float g2 = pow( g, 2.0 );"," float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 );"," return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse );","}","const float A = 0.15;","const float B = 0.50;","const float C = 0.10;","const float D = 0.20;","const float E = 0.02;","const float F = 0.30;","const float whiteScale = 1.0748724675633854;","vec3 Uncharted2Tonemap( vec3 x ) {"," return ( ( x * ( A * x + C * B ) + D * E ) / ( x * ( A * x + B ) + D * F ) ) - E / F;","}","void main() {"," float zenithAngle = acos( max( 0.0, dot( up, normalize( vWorldPosition - cameraPos ) ) ) );"," float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) );"," float sR = rayleighZenithLength * inverse;"," float sM = mieZenithLength * inverse;"," vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) );"," float cosTheta = dot( normalize( vWorldPosition - cameraPos ), vSunDirection );"," float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 );"," vec3 betaRTheta = vBetaR * rPhase;"," float mPhase = hgPhase( cosTheta, mieDirectionalG );"," vec3 betaMTheta = vBetaM * mPhase;"," vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) );"," Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) );"," vec3 direction = normalize( vWorldPosition - cameraPos );"," float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2]"," float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2]"," vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 );"," vec3 L0 = vec3( 0.1 ) * Fex;"," float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta );"," L0 += ( vSunE * 19000.0 * Fex ) * sundisk;"," vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 );"," vec3 curr = Uncharted2Tonemap( ( log2( 2.0 / pow( luminance, 4.0 ) ) ) * texColor );"," vec3 color = curr * whiteScale;"," vec3 retColor = pow( color, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) );"," gl_FragColor = vec4( retColor, 1.0 );","}"].join(`
|
|
2573
|
-
`)},function(x){typeof module>"u"?window.charming=x:module.exports=x}(function(x,a){a=a||{};var o=a.tagName||"span",c=a.classPrefix!=null?a.classPrefix:"char",f=1,u=function(m){for(var g=m.parentNode,v=m.nodeValue,S=v.length,b=-1;++b<S;){var O=document.createElement(o);c&&(O.className=c+f,f++),O.appendChild(document.createTextNode(v[b])),g.insertBefore(O,m)}g.removeChild(m)};return function m(g){for(var v=[].slice.call(g.childNodes),S=v.length,b=-1;++b<S;)m(v[b]);g.nodeType===Node.TEXT_NODE&&u(g)}(x),x});class lm{constructor(a=[]){Vo(this,"componentonTick",()=>{this.componentColoringArray.forEach(a=>{let{componentMap:o,oldColorRgb:c,modelId:f}=a,u=c||"rgba(255,255,255",m=this.queryModel(f);m&&(m.style=g=>{const v=mars3d.Util.get3DTileFeatureAttr(g).id,S=window.map.viewer.clock.currentTime;let b;if(o.has(v)){let{startTime:O,totalDuration:k,modelInit:R,endTime:F}=o.get(v);if(b=R,k==0){if(b==1)return`${u},0)`;if(b==0)return`${u},1)`}if(k!=0){let E=(S.dayNumber-O.dayNumber)/(F.dayNumber-O.dayNumber);if(b==1?E=1-E:b==0&&(E=0+E),E>1?E=1:E<0&&(E=0),E==1)return`${u},${E})`;if(E<1){if(R==2)return"rgba(255,215,0,1)";if(b==0)if(E>.85&&E<1){const w=Date.now()/1e3;return`rgba(135, 206, 250,${.1+(Math.sin(w*10)+1)*.1})`}else return`rgba(135, 206, 250,${E})`;else if(E<.15&&E>0){const w=Date.now()/1e3;return`rgba(240, 128, 128,${.1+(Math.sin(w*10)+1)*.1})`}else return`rgba(240, 128, 128,${E})`}}}return`${u},0)`})})});Vo(this,"initComponentAnimation",()=>{this.componentItem=null,window.map.viewer.clock.onTick.removeEventListener(this.componentonTick)});Vo(this,"initComponentDyeing",(a=[])=>{if(a.length>0){const o=this.convertComponentListToMap(a);this.componentColoringArray=o,this.componentColoringArray.forEach(c=>{let{componentMap:f,oldColorRgb:u,modelId:m}=c,g=u||"rgba(255,255,255",v=this.queryModel(m);v&&(v.style=S=>{const b=mars3d.Util.get3DTileFeatureAttr(S).id;return f.has(b)?`${g},1)`:`${g},0)`})})}});mars3d&&(this.tilesetLayer,this.modelArr=a,this.bimObliquePhotographyId=[],this.editDate={id:null},this.componentColoringArray=[],this.componentItem,this.disabled=!0)}pushModel(a){this.modelArr.push(a)}add(a,o,c){let f=c==null?void 0:c.isClone;const u=new Map([["click",mars3d.EventType.click],["initialTilesLoaded",mars3d.EventType.initialTilesLoaded]]);return new Promise((m,g)=>{let v,S,b,O,k,R,F,E,P,w={enabled:!0,precise:!1,czm:!1},T={enabled:!0,precise:!1,czm:!1};if(typeof a!="object"){let N=this.query(a);N||g("缺少树结构");let{id:X,bimModelExcavationDetails:J,bimModel:Z}=N;v=X,S=Z?Z.modelType:N.modelType,b=Z?Z.tender:N.tender,O=Z?Z.releasedDistance:N.releasedDistance,k=Z?Z.modelName:N.modelName,R=Z?Z.isDynamicReleased:N.isDynamicReleased,F={bimModelExcavationDetails:J},E=N.url,P=Z?Z.modelColor:N.modelColor,Z?w.maxCanvasSize=Z.gridResolution||4096:w.maxCanvasSize=N.gridResolution||4096}else v=a.modelId,S=a.modelType,b=a.tender,O=a.releasedDistance,k=a.modelTitle,R=a.permission,F=a.customize,E=a.url,P=a.color,w.maxCanvasSize=a.maxCanvasSize||4096;let I=2147483648,C=16;if(c){if(c.color&&(P=c.color),c.clip&&(w.area=c.clip.handleDataList),c.flat&&(T.area=c.flat.handleDataList),c.maxCanvasSize&&(w.maxCanvasSize=c.maxCanvasSize||4080),c.cacheSpaceMultiplier){let N=N*c.cacheSpaceMultiplier}c.maximumScreenSpaceError&&S==0&&(C=c.maximumScreenSpaceError)}let U;if(f?window.mapClone&&(U=window.mapClone.mapEx.getLayer(a,"modelId")):U=window.map.getLayer(a,"modelId"),U){if(c.color&&this.editColor(a,c.color,c),window.schemeEvnModify&&c.clip){let{modelId:N,handleDataList:X}=c.clip;X.forEach(J=>{let{id:Z,positions:ct}=J;window.schemeEvnModify.modelCutById(N,ct,Z)})}return m(U),!1}else{if(E.indexOf("tileset.json")<0)return m({tite:"【模型】「"+k+"」链接地址有误",type:"error",id:v,url:E}),!1;new Cesium.Resource({url:E}).fetchJson().then(X=>{let J=null;P&&(J={color:{conditions:[["true",P]]}}),this.tilesetLayer=new mars3d.layer.TilesetLayer({modelId:v,modelType:S,tender:b,releasedDistance:O,modelTitle:k,permission:R,customize:F,url:encodeURI(E),skipLevelOfDetail:!1,loadSiblings:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:10,preferLeaves:!0,progressiveResolutionHeightFraction:.5,dynamicScreenSpaceError:!0,preloadWhenHidden:!1,style:J,clip:w,flat:T,maximumScreenSpaceError:C,cacheBytes:1073741824,maximumCacheOverflowBytes:I,environmentMapManager:{enabled:!1},highlight:{type:"click",color:"rgba(255,0,0,1)"}}),this.tilesetLayer.bindPopup(Z=>{if(!this.disabled)return!1;if(Z.graphic){const ct=Z.graphic.attr;let Rt=null,tt=null;return JSON.stringify(ct)!=="{}"?(ct.name&&(Rt=ct.name.lastIndexOf("@")),Rt&&Rt>-1&&(tt=ct.name.slice(0,Rt)),ct.name?` <span>${tt||ct.name}</span> `:` <span>${k}</span> `):` <span>${k}</span> `}else return` <span>${k}</span> `}),this.tilesetLayer.readyPromise.then(Z=>{if(Z.layer.environmentMapManager.enabled=!1,(c==null?void 0:c.light)==!1){const ct=new Cesium.CustomShader({lightingModel:Cesium.LightingModel.UNLIT});Z.layer.customShader=ct}m(Z)}).catch(Z=>{m()}),o&&Object.keys(o).forEach(Z=>{this.tilesetLayer.on(u.get(Z),ct=>{o[Z](ct)})}),S==0&&this.bimObliquePhotographyId.push(v),f?window.mapClone&&window.mapClone.mapEx.addLayer(this.tilesetLayer):window.map.addLayer(this.tilesetLayer)}).catch(X=>{m({tite:"【模型】「"+k+"」无法加载",type:"error",id:v,url:E})})}})}remove(a,o){let c=o==null?void 0:o.isClone;window.map.getLayer(a,"modelId")&&(c?(window.mapClone.mapEx.getLayer(a,"modelId").closeHighlight(),window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(a,"modelId"))):(window.map.getLayer(a,"modelId").closeHighlight(),window.map.removeLayer(window.map.getLayer(a,"modelId"))))}selected(a,o,c,f=!0){return new Promise((u,m)=>{let g=window.map.getLayer(a,"modelId");g?(g.style==null&&map.bimMapEdit=="0"&&g.openHighlight({color:"rgba(255,0,0,1)"},!0),f?g.flyTo({complete:()=>{u(g)}}):u(g)):this.add(a,o,c).then(v=>{v&&(v.style==null&&map.bimMapEdit=="0"&&v.openHighlight({color:"rgba(255,0,0,1)"},!0),f?v.flyTo({complete:()=>{u(v)}}):u(v))})})}initial(){this.modelArr=[],this.bimObliquePhotographyId=[],this.tilesetLayer=null}query(a){return this.modelArr.length==0?!1:this.modelArr.find(o=>o.id==a)}queryModel(a,o){return(o==null?void 0:o.isClone)?window.mapClone.mapEx.getLayer(a,"modelId"):window.map.getLayer(a,"modelId")}postEditDate(a){this.editDate={id:a}}editColor(a,o,c,f="true"){let u,m=c==null?void 0:c.isClone;if(typeof a!="object"&&(m?u=window.mapClone.mapEx.getLayer(a,"modelId"):u=window.map.getLayer(a,"modelId")),u)if(o)u.style={color:{conditions:[[f,o]]}};else{let g=this.query(a).bimModel?this.query(a).bimModel.modelColor:this.query(a).model.modelColor;g?u.style={color:{conditions:[[f,g]]}}:u.style=null}}editOpacity(a,o){window.map.getLayer(a,"modelId").opacity=o}addClip(a){return new Promise((o,c)=>{window.bimClip?o(bimClip.clipModelAdd(a)):c("挖洞工具未初始化")})}removeClip(a){window.bimClip&&window.bimClip.clipModelremoveClip(a)}componentDyeing(a,o=[],c="id"){let f=this.queryModel(a);const u=new Map;o.forEach(m=>{m.id.forEach(g=>{u.set(g,m.color)})}),f&&(f.style=m=>{const g=mars3d.Util.get3DTileFeatureAttr(m)[c];return u.get(g)||"rgba(255,255,255,0)"})}getLastDayOfMonth(a){const o=new Date(a.getFullYear(),a.getMonth()+1,1);return new Date(o-1)}async fadeOutModel(a,o=[],c=[],f=1,u=!1,m){if(c.length>0){let g=new Cesium.JulianDate.fromIso8601(c[0]),v=new Cesium.JulianDate.fromIso8601(c[1]),S;if(u?S=0:S=Cesium.JulianDate.secondsDifference(v,g),g&&v&&o.length>0){let b=this.queryModel(a);!b&&!m&&(b=await this.add(a));let O=this.componentColoringArray.find(R=>R.modelId==a),k=new Map;if(O)o.forEach(R=>{O.componentMap.set(R,{startTime:g,endTime:v,totalDuration:S,modelInit:f})});else{o.forEach(E=>{k.set(E,{startTime:g,endTime:v,totalDuration:S,modelInit:f})});let R=this.query(a).bimModel?this.query(a).bimModel.modelColor:this.query(a).model.modelColor,F;R&&(F=R.substring(0,R.lastIndexOf(","))+","),O={modelId:a,oldColorRgb:F,componentMap:k,modelInit:f},this.componentColoringArray.push(O)}window.map.viewer.clock.onTick.removeEventListener(this.componentonTick),window.map.viewer.clock.onTick.addEventListener(this.componentonTick)}}}convertComponentListToMap(a){return a.map(o=>{let c=this.query(o.modelId),f;const u=new Map;if(c){let{bimModel:m}=c,{modelColor:g}=m||c;g&&g!=""&&(f=(g==null?void 0:g.substring(0,g.lastIndexOf(",")))+",")}return o.componentList.forEach(m=>{u.set(m,{modelInit:0,totalDuration:0})}),{modelId:o.modelId,componentMap:u,oldColorRgb:f}})}fadeOutModel2(a,o=[],c=3e3,f=0){const u=Date.now();let m=this.query(a).bimModel?this.query(a).bimModel.modelColor:this.query(a).model.modelColor;const g=m.substring(0,m.lastIndexOf(","))+",",v=()=>{const O=(Date.now()-u)/c;if(O<1){let k;f==1?k=1-O:f==0&&(k=0+O);const R=bimModel.queryModel(a);R&&(R.style=F=>{if(o.length==0)return`rgba(255,0,0,${k})`;const E=mars3d.Util.get3DTileFeatureAttr(F).id;if(o.length!=0)return o.includes(E)?`rgba(255,0,0,${k})`:m}),requestAnimationFrame(v)}else{const k=bimModel.queryModel(a);k&&(k.style=R=>{const F=mars3d.Util.get3DTileFeatureAttr(R).id;if(o.length==0)return`${g}${1-f})`;if(o.length!=0)return o.includes(F)?`${g}${1-f})`:m})}};v()}}const au=x=>Object.prototype.toString.call(x)==="[object Object]";function lu(){const x=Array.from(arguments);if(x.length<2)return x[0];let a=x[0];return x.shift(),x.forEach(o=>{if(au(o)){au(a)||(a={});for(let c in o)a[c]&&au(o[c])?a[c]=lu(a[c],o[c]):a[c]=o[c]}else o instanceof Array&&(a instanceof Array||(a=[]),o.forEach((c,f)=>{au(c)?a[f]=lu(a[f]):a[f]=c}))}),a}let vh={};const Cf=(x,a,o)=>{vh={};let{vectorStyle:c,difference:f}=x;if(c){let{divType:u}=c,m="";if(u){let{theme_color:g,title:v,font_color:S,content:b,scaleByDistance:O,scaleByDistance_far:k,scaleByDistance_farValue:R,scaleByDistance_near:F,scaleByDistance_nearValue:E,distanceDisplayCondition:P,distanceDisplayCondition_far:w,distanceDisplayCondition_near:T,clampToGround:I,divStyle:C,isMirror:U}=c,{theme_color2:N,theme_color3:X}=C;switch(u){case"1":m=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${g};--theme-font-color1:${S};">
|
|
2573
|
+
`)},function(x){typeof module>"u"?window.charming=x:module.exports=x}(function(x,a){a=a||{};var o=a.tagName||"span",c=a.classPrefix!=null?a.classPrefix:"char",f=1,u=function(m){for(var g=m.parentNode,v=m.nodeValue,S=v.length,b=-1;++b<S;){var O=document.createElement(o);c&&(O.className=c+f,f++),O.appendChild(document.createTextNode(v[b])),g.insertBefore(O,m)}g.removeChild(m)};return function m(g){for(var v=[].slice.call(g.childNodes),S=v.length,b=-1;++b<S;)m(v[b]);g.nodeType===Node.TEXT_NODE&&u(g)}(x),x});class lm{constructor(a=[]){Vo(this,"componentonTick",()=>{this.componentColoringArray.forEach(a=>{let{componentMap:o,oldColorRgb:c,modelId:f}=a,u=c||"rgba(255,255,255",m=this.queryModel(f);m&&(m.style=g=>{const v=mars3d.Util.get3DTileFeatureAttr(g).id,S=window.map.viewer.clock.currentTime;let b;if(o.has(v)){let{startTime:O,totalDuration:k,modelInit:R,endTime:F}=o.get(v);if(b=R,k==0){if(b==1)return`${u},0)`;if(b==0)return`${u},1)`}if(k!=0){let E=(S.dayNumber-O.dayNumber)/(F.dayNumber-O.dayNumber);if(b==1?E=1-E:b==0&&(E=0+E),E>1?E=1:E<0&&(E=0),E==1)return`${u},${E})`;if(E<1){if(R==2)return"rgba(255,215,0,1)";if(b==0)if(E>.85&&E<1){const w=Date.now()/1e3;return`rgba(135, 206, 250,${.1+(Math.sin(w*10)+1)*.1})`}else return`rgba(135, 206, 250,${E})`;else if(E<.15&&E>0){const w=Date.now()/1e3;return`rgba(240, 128, 128,${.1+(Math.sin(w*10)+1)*.1})`}else return`rgba(240, 128, 128,${E})`}}}return`${u},0)`})})});Vo(this,"initComponentAnimation",()=>{this.componentItem=null,window.map.viewer.clock.onTick.removeEventListener(this.componentonTick)});Vo(this,"initComponentDyeing",(a=[])=>{if(a.length>0){const o=this.convertComponentListToMap(a);this.componentColoringArray=o,this.componentColoringArray.forEach(c=>{let{componentMap:f,oldColorRgb:u,modelId:m}=c,g=u||"rgba(255,255,255",v=this.queryModel(m);v&&(v.style=S=>{const b=mars3d.Util.get3DTileFeatureAttr(S).id;return f.has(b)?`${g},1)`:`${g},0)`})})}});mars3d&&(this.tilesetLayer,this.modelArr=a,this.bimObliquePhotographyId=[],this.editDate={id:null},this.componentColoringArray=[],this.componentItem,this.disabled=!0)}pushModel(a){this.modelArr.push(a)}add(a,o,c){let f=c==null?void 0:c.isClone;const u=new Map([["click",mars3d.EventType.click],["initialTilesLoaded",mars3d.EventType.initialTilesLoaded]]);return new Promise((m,g)=>{let v,S,b,O,k,R,F,E,P,w={enabled:!0,precise:!1,czm:!1},T={enabled:!0,precise:!1,czm:!1};if(typeof a!="object"){let N=this.query(a);N||g("缺少树结构");let{id:X,bimModelExcavationDetails:J,bimModel:Z}=N;v=X,S=Z?Z.modelType:N.modelType,b=Z?Z.tender:N.tender,O=Z?Z.releasedDistance:N.releasedDistance,k=Z?Z.modelName:N.modelName,R=Z?Z.isDynamicReleased:N.isDynamicReleased,F={bimModelExcavationDetails:J},E=N.url,P=Z?Z.modelColor:N.modelColor,w.maxCanvasSize=Z?Z.gridResolution:N.gridResolution||4080}else v=a.modelId,S=a.modelType,b=a.tender,O=a.releasedDistance,k=a.modelTitle,R=a.permission,F=a.customize,E=a.url,P=a.color,w.maxCanvasSize=a.maxCanvasSize||4080;let I=2147483648,C=16;if(c){if(c.color&&(P=c.color),c.clip&&(w.area=c.clip.handleDataList),c.flat&&(T.area=c.flat.handleDataList),c.maxCanvasSize&&(w.maxCanvasSize=c.maxCanvasSize||4080),c.cacheSpaceMultiplier){let N=N*c.cacheSpaceMultiplier}c.maximumScreenSpaceError&&S==0&&(C=c.maximumScreenSpaceError)}let U;if(f?window.mapClone&&(U=window.mapClone.mapEx.getLayer(a,"modelId")):U=window.map.getLayer(a,"modelId"),U){if(c.color&&this.editColor(a,c.color,c),window.schemeEvnModify&&c.clip){let{modelId:N,handleDataList:X}=c.clip;X.forEach(J=>{let{id:Z,positions:ct}=J;window.schemeEvnModify.modelCutById(N,ct,Z)})}return m(U),!1}else{if(E.indexOf("tileset.json")<0)return m({tite:"【模型】「"+k+"」链接地址有误",type:"error",id:v,url:E}),!1;new Cesium.Resource({url:E}).fetchJson().then(X=>{let J=null;P&&(J={color:{conditions:[["true",P]]}}),this.tilesetLayer=new mars3d.layer.TilesetLayer({modelId:v,modelType:S,tender:b,releasedDistance:O,modelTitle:k,permission:R,customize:F,url:encodeURI(E),skipLevelOfDetail:!1,loadSiblings:!0,cullRequestsWhileMoving:!0,cullRequestsWhileMovingMultiplier:10,preferLeaves:!0,progressiveResolutionHeightFraction:.5,dynamicScreenSpaceError:!0,preloadWhenHidden:!1,style:J,clip:w,flat:T,maximumScreenSpaceError:C,cacheBytes:1073741824,maximumCacheOverflowBytes:I,environmentMapManager:{enabled:!1},highlight:{type:"click",color:"rgba(255,0,0,1)"}}),this.tilesetLayer.bindPopup(Z=>{if(!this.disabled)return!0;if(Z.graphic){const ct=Z.graphic.attr;let Rt=null,tt=null;return JSON.stringify(ct)!=="{}"?(ct.name&&(Rt=ct.name.lastIndexOf("@")),Rt&&Rt>-1&&(tt=ct.name.slice(0,Rt)),ct.name?` <span>${tt||ct.name}</span> `:` <span>${k}</span> `):` <span>${k}</span> `}else return` <span>${k}</span> `}),this.tilesetLayer.readyPromise.then(Z=>{if(Z.layer.environmentMapManager.enabled=!1,(c==null?void 0:c.light)==!1){const ct=new Cesium.CustomShader({lightingModel:Cesium.LightingModel.UNLIT});Z.layer.customShader=ct}m(Z)}).catch(Z=>{m()}),o&&Object.keys(o).forEach(Z=>{this.tilesetLayer.on(u.get(Z),ct=>{o[Z](ct)})}),S==0&&this.bimObliquePhotographyId.push(v),f?window.mapClone&&window.mapClone.mapEx.addLayer(this.tilesetLayer):window.map.addLayer(this.tilesetLayer)}).catch(X=>{m({tite:"【模型】「"+k+"」无法加载",type:"error",id:v,url:E})})}})}remove(a,o){let c=o==null?void 0:o.isClone;window.map.getLayer(a,"modelId")&&(c?(window.mapClone.mapEx.getLayer(a,"modelId").closeHighlight(),window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(a,"modelId"))):(window.map.getLayer(a,"modelId").closeHighlight(),window.map.removeLayer(window.map.getLayer(a,"modelId"))))}selected(a,o,c,f=!0){return new Promise((u,m)=>{let g=window.map.getLayer(a,"modelId");g?(g.style==null&&map.bimMapEdit=="0"&&g.openHighlight({color:"rgba(255,0,0,1)"},!0),f?g.flyTo({complete:()=>{u(g)}}):u(g)):this.add(a,o,c).then(v=>{v&&(v.style==null&&map.bimMapEdit=="0"&&v.openHighlight({color:"rgba(255,0,0,1)"},!0),f?v.flyTo({complete:()=>{u(v)}}):u(v))})})}initial(){this.modelArr=[],this.bimObliquePhotographyId=[],this.tilesetLayer=null}query(a){return this.modelArr.length==0?!1:this.modelArr.find(o=>o.id==a)}queryModel(a,o){if(a&&a!=null)return(o==null?void 0:o.isClone)?window.mapClone.mapEx.getLayer(a,"modelId"):window.map.getLayer(a,"modelId")}postEditDate(a){this.editDate={id:a}}editColor(a,o,c,f="true"){let u,m=c==null?void 0:c.isClone;if(typeof a!="object"&&(m?u=window.mapClone.mapEx.getLayer(a,"modelId"):u=window.map.getLayer(a,"modelId")),u)if(o)u.style={color:{conditions:[[f,o]]}};else{let g=this.query(a).bimModel?this.query(a).bimModel.modelColor:this.query(a).model.modelColor;g?u.style={color:{conditions:[[f,g]]}}:u.style=null}}editOpacity(a,o){window.map.getLayer(a,"modelId").opacity=o}addClip(a){return new Promise((o,c)=>{window.bimClip?o(bimClip.clipModelAdd(a)):c("挖洞工具未初始化")})}removeClip(a){window.bimClip&&window.bimClip.clipModelremoveClip(a)}componentDyeing(a,o=[],c="id"){let f=this.queryModel(a);const u=new Map;o.forEach(m=>{m.id.forEach(g=>{u.set(g,m.color)})}),f&&(f.style=m=>{const g=mars3d.Util.get3DTileFeatureAttr(m)[c];return u.get(g)||"rgba(255,255,255,0)"})}getLastDayOfMonth(a){const o=new Date(a.getFullYear(),a.getMonth()+1,1);return new Date(o-1)}async fadeOutModel(a,o=[],c=[],f=1,u=!1,m){if(c.length>0){let g=new Cesium.JulianDate.fromIso8601(c[0]),v=new Cesium.JulianDate.fromIso8601(c[1]),S;if(u?S=0:S=Cesium.JulianDate.secondsDifference(v,g),g&&v&&o.length>0){let b=this.queryModel(a);!b&&!m&&(b=await this.add(a));let O=this.componentColoringArray.find(R=>R.modelId==a),k=new Map;if(O)o.forEach(R=>{O.componentMap.set(R,{startTime:g,endTime:v,totalDuration:S,modelInit:f})});else{o.forEach(E=>{k.set(E,{startTime:g,endTime:v,totalDuration:S,modelInit:f})});let R=this.query(a).bimModel?this.query(a).bimModel.modelColor:this.query(a).model.modelColor,F;R&&(F=R.substring(0,R.lastIndexOf(","))+","),O={modelId:a,oldColorRgb:F,componentMap:k,modelInit:f},this.componentColoringArray.push(O)}window.map.viewer.clock.onTick.removeEventListener(this.componentonTick),window.map.viewer.clock.onTick.addEventListener(this.componentonTick)}}}convertComponentListToMap(a){return a.map(o=>{let c=this.query(o.modelId),f;const u=new Map;if(c){let{bimModel:m}=c,{modelColor:g}=m||c;g&&g!=""&&(f=(g==null?void 0:g.substring(0,g.lastIndexOf(",")))+",")}return o.componentList.forEach(m=>{u.set(m,{modelInit:0,totalDuration:0})}),{modelId:o.modelId,componentMap:u,oldColorRgb:f}})}fadeOutModel2(a,o=[],c=3e3,f=0){const u=Date.now();let m=this.query(a).bimModel?this.query(a).bimModel.modelColor:this.query(a).model.modelColor;const g=m.substring(0,m.lastIndexOf(","))+",",v=()=>{const O=(Date.now()-u)/c;if(O<1){let k;f==1?k=1-O:f==0&&(k=0+O);const R=bimModel.queryModel(a);R&&(R.style=F=>{if(o.length==0)return`rgba(255,0,0,${k})`;const E=mars3d.Util.get3DTileFeatureAttr(F).id;if(o.length!=0)return o.includes(E)?`rgba(255,0,0,${k})`:m}),requestAnimationFrame(v)}else{const k=bimModel.queryModel(a);k&&(k.style=R=>{const F=mars3d.Util.get3DTileFeatureAttr(R).id;if(o.length==0)return`${g}${1-f})`;if(o.length!=0)return o.includes(F)?`${g}${1-f})`:m})}};v()}}const au=x=>Object.prototype.toString.call(x)==="[object Object]";function lu(){const x=Array.from(arguments);if(x.length<2)return x[0];let a=x[0];return x.shift(),x.forEach(o=>{if(au(o)){au(a)||(a={});for(let c in o)a[c]&&au(o[c])?a[c]=lu(a[c],o[c]):a[c]=o[c]}else o instanceof Array&&(a instanceof Array||(a=[]),o.forEach((c,f)=>{au(c)?a[f]=lu(a[f]):a[f]=c}))}),a}let vh={};const Cf=(x,a,o)=>{vh={};let{vectorStyle:c,difference:f}=x;if(c){let{divType:u}=c,m="";if(u){let{theme_color:g,title:v,font_color:S,content:b,scaleByDistance:O,scaleByDistance_far:k,scaleByDistance_farValue:R,scaleByDistance_near:F,scaleByDistance_nearValue:E,distanceDisplayCondition:P,distanceDisplayCondition_far:w,distanceDisplayCondition_near:T,clampToGround:I,divStyle:C,isMirror:U}=c,{theme_color2:N,theme_color3:X}=C;switch(u){case"1":m=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${g};--theme-font-color1:${S};">
|
|
2574
2574
|
<div class="title">${v}</div>
|
|
2575
2575
|
</div >`;break;case"2":m=`<div class="entity-div-style entity-div-style2" style="--theme-color1:${g};--theme-font-color1:${S};">
|
|
2576
2576
|
<div class="title">${v}</div>
|
|
@@ -2633,7 +2633,7 @@ __p += '`),Ui&&(de+=`' +
|
|
|
2633
2633
|
function print() { __p += __j.call(arguments, '') }
|
|
2634
2634
|
`:`;
|
|
2635
2635
|
`)+de+`return __p
|
|
2636
|
-
}`;var Ti=Up(function(){return Fi(ut,Ze+"return "+de).apply(o,yt)});if(Ti.source=de,ff(Ti))throw Ti;return Ti}function R_(r){return Zi(r).toLowerCase()}function O_(r){return Zi(r).toUpperCase()}function I_(r,h,y){if(r=Zi(r),r&&(y||h===o))return _a(r);if(!r||!(h=Ye(h)))return r;var D=lr(r),Y=lr(h),ut=is(D,Y),yt=As(D,Y)+1;return wn(D,ut,yt).join("")}function D_(r,h,y){if(r=Zi(r),r&&(y||h===o))return r.slice(0,xa(r)+1);if(!r||!(h=Ye(h)))return r;var D=lr(r),Y=As(D,lr(h))+1;return wn(D,0,Y).join("")}function z_(r,h,y){if(r=Zi(r),r&&(y||h===o))return r.replace(ho,"");if(!r||!(h=Ye(h)))return r;var D=lr(r),Y=is(D,lr(h));return wn(D,Y).join("")}function k_(r,h){var y=ct,D=Rt;if(Mn(h)){var Y="separator"in h?h.separator:Y;y="length"in h?wi(h.length):y,D="omission"in h?Ye(h.omission):D}r=Zi(r);var ut=r.length;if(Dr(r)){var yt=lr(r);ut=yt.length}if(y>=ut)return r;var bt=y-Kr(D);if(bt<1)return D;var Bt=yt?wn(yt,0,bt).join(""):r.slice(0,bt);if(Y===o)return Bt+D;if(yt&&(bt+=Bt.length-bt),df(Y)){if(r.slice(bt).search(Y)){var oe,le=Bt;for(Y.global||(Y=Qn(Y.source,Zi(jl.exec(Y))+"g")),Y.lastIndex=0;oe=Y.exec(le);)var de=oe.index;Bt=Bt.slice(0,de===o?bt:de)}}else if(r.indexOf(Ye(Y),bt)!=bt){var ke=Bt.lastIndexOf(Y);ke>-1&&(Bt=Bt.slice(0,ke))}return Bt+D}function B_(r){return r=Zi(r),r&&Zo.test(r)?r.replace(Po,th):r}var N_=ze(function(r,h,y){return r+(y?" ":"")+h.toUpperCase()}),gf=Te("toUpperCase");function Fp(r,h,y){return r=Zi(r),h=y?o:h,h===o?Os(r)?Xc(r):ol(r):r.match(h)||[]}var Up=ae(function(r,h){try{return _r(r,o,h)}catch(y){return ff(y)?y:new ai(y)}}),F_=js(function(r,h){return Ji(h,function(y){y=fs(y),No(r,y,uf(r[y],r))}),r});function U_(r){var h=r==null?0:r.length,y=si();return r=h?Yi(r,function(D){if(typeof D[1]!="function")throw new hr(m);return[y(D[0]),D[1]]}):[],ae(function(D){for(var Y=-1;++Y<h;){var ut=r[Y];if(_r(ut[0],this,D))return _r(ut[1],this,D)}})}function G_(r){return Oa(Mr(r,O))}function vf(r){return function(){return r}}function H_(r,h){return r==null||r!==r?h:r}var V_=Oi(),W_=Oi(!0);function Hr(r){return r}function yf(r){return H(typeof r=="function"?r:Mr(r,O))}function j_(r){return gt(Mr(r,O))}function X_(r,h){return Ct(r,Mr(h,O))}var q_=ae(function(r,h){return function(y){return e(y,r,h)}}),Y_=ae(function(r,h){return function(y){return e(r,y,h)}});function _f(r,h,y){var D=$n(h),Y=Hs(h,D);y==null&&!(Mn(h)&&(Y.length||!D.length))&&(y=h,h=r,r=this,Y=Hs(h,$n(h)));var ut=!(Mn(y)&&"chain"in y)||!!y.chain,yt=qs(r);return Ji(Y,function(bt){var Bt=h[bt];r[bt]=Bt,yt&&(r.prototype[bt]=function(){var oe=this.__chain__;if(ut||oe){var le=r(this.__wrapped__),de=le.__actions__=ir(this.__actions__);return de.push({func:Bt,args:arguments,thisArg:r}),le.__chain__=oe,le}return Bt.apply(r,po([this.value()],arguments))})}),r}function Z_(){return vn._===this&&(vn._=Qr),this}function xf(){}function J_(r){return r=wi(r),ae(function(h){return K(h,r)})}var $_=Fn(Yi),K_=Fn(Nh),Q_=Fn(Lo);function Gp(r){return rf(r)?Qo(fs(r)):$t(r)}function t1(r){return function(h){return r==null?o:us(r,h)}}var e1=iu(),i1=iu(!0);function wf(){return[]}function Mf(){return!1}function n1(){return{}}function r1(){return""}function o1(){return!0}function s1(r,h){if(r=wi(r),r<1||r>ce)return[];var y=It,D=Wn(r,It);h=si(h),r-=It;for(var Y=Oo(D,h);++y<r;)h(y);return Y}function a1(r){return vi(r)?Yi(r,fs):eo(r)?[r]:ir(ap(Zi(r)))}function l1(r){var h=++cr;return Zi(r)+h}var h1=Tr(function(r,h){return r+h},0),u1=dh("ceil"),c1=Tr(function(r,h){return r/h},1),f1=dh("floor");function d1(r){return r&&r.length?So(r,Hr,uh):o}function p1(r,h){return r&&r.length?So(r,si(h,2),uh):o}function m1(r){return ya(r,Hr)}function g1(r,h){return ya(r,si(h,2))}function v1(r){return r&&r.length?So(r,Hr,rt):o}function y1(r,h){return r&&r.length?So(r,si(h,2),rt):o}var _1=Tr(function(r,h){return r*h},1),x1=dh("round"),w1=Tr(function(r,h){return r-h},0);function M1(r){return r&&r.length?es(r,Hr):0}function T1(r,h){return r&&r.length?es(r,si(h,2)):0}return it.after=jv,it.ary=yp,it.assign=Oy,it.assignIn=Op,it.assignInWith=tc,it.assignWith=Iy,it.at=Dy,it.before=_p,it.bind=uf,it.bindAll=F_,it.bindKey=xp,it.castArray=ny,it.chain=mp,it.chunk=f0,it.compact=d0,it.concat=p0,it.cond=U_,it.conforms=G_,it.constant=vf,it.countBy=Mv,it.create=zy,it.curry=wp,it.curryRight=Mp,it.debounce=Tp,it.defaults=ky,it.defaultsDeep=By,it.defer=Xv,it.delay=qv,it.difference=m0,it.differenceBy=g0,it.differenceWith=v0,it.drop=y0,it.dropRight=_0,it.dropRightWhile=x0,it.dropWhile=w0,it.fill=M0,it.filter=Sv,it.flatMap=Cv,it.flatMapDeep=Av,it.flatMapDepth=Pv,it.flatten=cp,it.flattenDeep=T0,it.flattenDepth=S0,it.flip=Yv,it.flow=V_,it.flowRight=W_,it.fromPairs=E0,it.functions=Wy,it.functionsIn=jy,it.groupBy=Lv,it.initial=C0,it.intersection=A0,it.intersectionBy=P0,it.intersectionWith=L0,it.invert=qy,it.invertBy=Yy,it.invokeMap=Ov,it.iteratee=yf,it.keyBy=Iv,it.keys=$n,it.keysIn=Gr,it.map=Yu,it.mapKeys=Jy,it.mapValues=$y,it.matches=j_,it.matchesProperty=X_,it.memoize=Ju,it.merge=Ky,it.mergeWith=Ip,it.method=q_,it.methodOf=Y_,it.mixin=_f,it.negate=$u,it.nthArg=J_,it.omit=Qy,it.omitBy=t_,it.once=Zv,it.orderBy=Dv,it.over=$_,it.overArgs=Jv,it.overEvery=K_,it.overSome=Q_,it.partial=cf,it.partialRight=Sp,it.partition=zv,it.pick=e_,it.pickBy=Dp,it.property=Gp,it.propertyOf=t1,it.pull=D0,it.pullAll=dp,it.pullAllBy=z0,it.pullAllWith=k0,it.pullAt=B0,it.range=e1,it.rangeRight=i1,it.rearg=$v,it.reject=Nv,it.remove=N0,it.rest=Kv,it.reverse=lf,it.sampleSize=Uv,it.set=n_,it.setWith=r_,it.shuffle=Gv,it.slice=F0,it.sortBy=Wv,it.sortedUniq=X0,it.sortedUniqBy=q0,it.split=C_,it.spread=Qv,it.tail=Y0,it.take=Z0,it.takeRight=J0,it.takeRightWhile=$0,it.takeWhile=K0,it.tap=dv,it.throttle=ty,it.thru=qu,it.toArray=Pp,it.toPairs=zp,it.toPairsIn=kp,it.toPath=a1,it.toPlainObject=Rp,it.transform=o_,it.unary=ey,it.union=Q0,it.unionBy=tv,it.unionWith=ev,it.uniq=iv,it.uniqBy=nv,it.uniqWith=rv,it.unset=s_,it.unzip=hf,it.unzipWith=pp,it.update=a_,it.updateWith=l_,it.values=gh,it.valuesIn=h_,it.without=ov,it.words=Fp,it.wrap=iy,it.xor=sv,it.xorBy=av,it.xorWith=lv,it.zip=hv,it.zipObject=uv,it.zipObjectDeep=cv,it.zipWith=fv,it.entries=zp,it.entriesIn=kp,it.extend=Op,it.extendWith=tc,_f(it,it),it.add=h1,it.attempt=Up,it.camelCase=d_,it.capitalize=Bp,it.ceil=u1,it.clamp=u_,it.clone=ry,it.cloneDeep=sy,it.cloneDeepWith=ay,it.cloneWith=oy,it.conformsTo=ly,it.deburr=Np,it.defaultTo=H_,it.divide=c1,it.endsWith=p_,it.eq=Go,it.escape=m_,it.escapeRegExp=g_,it.every=Tv,it.find=Ev,it.findIndex=hp,it.findKey=Ny,it.findLast=bv,it.findLastIndex=up,it.findLastKey=Fy,it.floor=f1,it.forEach=gp,it.forEachRight=vp,it.forIn=Uy,it.forInRight=Gy,it.forOwn=Hy,it.forOwnRight=Vy,it.get=pf,it.gt=hy,it.gte=uy,it.has=Xy,it.hasIn=mf,it.head=fp,it.identity=Hr,it.includes=Rv,it.indexOf=b0,it.inRange=c_,it.invoke=Zy,it.isArguments=Pl,it.isArray=vi,it.isArrayBuffer=cy,it.isArrayLike=Ur,it.isArrayLikeObject=zn,it.isBoolean=fy,it.isBuffer=Ba,it.isDate=dy,it.isElement=py,it.isEmpty=my,it.isEqual=gy,it.isEqualWith=vy,it.isError=ff,it.isFinite=yy,it.isFunction=qs,it.isInteger=Ep,it.isLength=Ku,it.isMap=bp,it.isMatch=_y,it.isMatchWith=xy,it.isNaN=wy,it.isNative=My,it.isNil=Sy,it.isNull=Ty,it.isNumber=Cp,it.isObject=Mn,it.isObjectLike=Rn,it.isPlainObject=su,it.isRegExp=df,it.isSafeInteger=Ey,it.isSet=Ap,it.isString=Qu,it.isSymbol=eo,it.isTypedArray=mh,it.isUndefined=by,it.isWeakMap=Cy,it.isWeakSet=Ay,it.join=R0,it.kebabCase=v_,it.last=Co,it.lastIndexOf=O0,it.lowerCase=y_,it.lowerFirst=__,it.lt=Py,it.lte=Ly,it.max=d1,it.maxBy=p1,it.mean=m1,it.meanBy=g1,it.min=v1,it.minBy=y1,it.stubArray=wf,it.stubFalse=Mf,it.stubObject=n1,it.stubString=r1,it.stubTrue=o1,it.multiply=_1,it.nth=I0,it.noConflict=Z_,it.noop=xf,it.now=Zu,it.pad=x_,it.padEnd=w_,it.padStart=M_,it.parseInt=T_,it.random=f_,it.reduce=kv,it.reduceRight=Bv,it.repeat=S_,it.replace=E_,it.result=i_,it.round=x1,it.runInContext=Lt,it.sample=Fv,it.size=Hv,it.snakeCase=b_,it.some=Vv,it.sortedIndex=U0,it.sortedIndexBy=G0,it.sortedIndexOf=H0,it.sortedLastIndex=V0,it.sortedLastIndexBy=W0,it.sortedLastIndexOf=j0,it.startCase=A_,it.startsWith=P_,it.subtract=w1,it.sum=M1,it.sumBy=T1,it.template=L_,it.times=s1,it.toFinite=Ys,it.toInteger=wi,it.toLength=Lp,it.toLower=R_,it.toNumber=Ao,it.toSafeInteger=Ry,it.toString=Zi,it.toUpper=O_,it.trim=I_,it.trimEnd=D_,it.trimStart=z_,it.truncate=k_,it.unescape=B_,it.uniqueId=l1,it.upperCase=N_,it.upperFirst=gf,it.each=gp,it.eachRight=vp,it.first=fp,_f(it,function(){var r={};return Fr(it,function(h,y){Mi.call(it.prototype,y)||(r[y]=h)}),r}(),{chain:!1}),it.VERSION=c,Ji(["bind","bindKey","curry","curryRight","partial","partialRight"],function(r){it[r].placeholder=it}),Ji(["drop","take"],function(r,h){_i.prototype[r]=function(y){y=y===o?1:yn(wi(y),0);var D=this.__filtered__&&!h?new _i(this):this.clone();return D.__filtered__?D.__takeCount__=Wn(y,D.__takeCount__):D.__views__.push({size:Wn(y,It),type:r+(D.__dir__<0?"Right":"")}),D},_i.prototype[r+"Right"]=function(y){return this.reverse()[r](y).reverse()}}),Ji(["filter","map","takeWhile"],function(r,h){var y=h+1,D=y==G||y==Et;_i.prototype[r]=function(Y){var ut=this.clone();return ut.__iteratees__.push({iteratee:si(Y,3),type:y}),ut.__filtered__=ut.__filtered__||D,ut}}),Ji(["head","last"],function(r,h){var y="take"+(h?"Right":"");_i.prototype[r]=function(){return this[y](1).value()[0]}}),Ji(["initial","tail"],function(r,h){var y="drop"+(h?"":"Right");_i.prototype[r]=function(){return this.__filtered__?new _i(this):this[y](1)}}),_i.prototype.compact=function(){return this.filter(Hr)},_i.prototype.find=function(r){return this.filter(r).head()},_i.prototype.findLast=function(r){return this.reverse().find(r)},_i.prototype.invokeMap=ae(function(r,h){return typeof r=="function"?new _i(this):this.map(function(y){return e(y,r,h)})}),_i.prototype.reject=function(r){return this.filter($u(si(r)))},_i.prototype.slice=function(r,h){r=wi(r);var y=this;return y.__filtered__&&(r>0||h<0)?new _i(y):(r<0?y=y.takeRight(-r):r&&(y=y.drop(r)),h!==o&&(h=wi(h),y=h<0?y.dropRight(-h):y.take(h-r)),y)},_i.prototype.takeRightWhile=function(r){return this.reverse().takeWhile(r).reverse()},_i.prototype.toArray=function(){return this.take(It)},Fr(_i.prototype,function(r,h){var y=/^(?:filter|find|map|reject)|While$/.test(h),D=/^(?:head|last)$/.test(h),Y=it[D?"take"+(h=="last"?"Right":""):h],ut=D||/^find/.test(h);Y&&(it.prototype[h]=function(){var yt=this.__wrapped__,bt=D?[1]:arguments,Bt=yt instanceof _i,oe=bt[0],le=Bt||vi(yt),de=function(Ri){var Ui=Y.apply(it,po([Ri],bt));return D&&ke?Ui[0]:Ui};le&&y&&typeof oe=="function"&&oe.length!=1&&(Bt=le=!1);var ke=this.__chain__,Ze=!!this.__actions__.length,hi=ut&&!ke,Ti=Bt&&!Ze;if(!ut&&le){yt=Ti?yt:new _i(this);var ui=r.apply(yt,bt);return ui.__actions__.push({func:qu,args:[de],thisArg:o}),new Yn(ui,ke)}return hi&&Ti?r.apply(this,bt):(ui=this.thru(de),hi?D?ui.value()[0]:ui.value():ui)})}),Ji(["pop","push","shift","sort","splice","unshift"],function(r){var h=In[r],y=/^(?:push|sort|unshift)$/.test(r)?"tap":"thru",D=/^(?:pop|shift)$/.test(r);it.prototype[r]=function(){var Y=arguments;if(D&&!this.__chain__){var ut=this.value();return h.apply(vi(ut)?ut:[],Y)}return this[y](function(yt){return h.apply(vi(yt)?yt:[],Y)})}}),Fr(_i.prototype,function(r,h){var y=it[h];if(y){var D=y.name+"";Mi.call(ss,D)||(ss[D]=[]),ss[D].push({name:h,func:y})}}),ss[$i(o,w).name]=[{name:"wrapper",func:o}],_i.prototype.clone=Ca,_i.prototype.reverse=Iu,_i.prototype.value=Aa,it.prototype.at=pv,it.prototype.chain=mv,it.prototype.commit=gv,it.prototype.next=vv,it.prototype.plant=_v,it.prototype.reverse=xv,it.prototype.toJSON=it.prototype.valueOf=it.prototype.value=wv,it.prototype.first=it.prototype.head,os&&(it.prototype[os]=yv),it},ns=qc();Jr?((Jr.exports=ns)._=ns,$o._=ns):vn._=ns}).call(br)}(hu,hu.exports);var hm=hu.exports;const ic=ec(hm);class um{constructor(a=[],o=!1){Vo(this,"simplifyFunc",a=>{try{a=turf.simplify(a,{tolerance:5e-4,highQuality:!1,mutate:!0})}catch{}return a});mars3d&&(this.vectorArr=a,this.geoJsonType=new Map([["Point"],["LineString"],["Polygon"],["MultiPoint"],["MultiLineString"],["MultiPolygon"]]),this.avoidanceArr=[],this.editDate={id:""},this.isDynamicMasking=o,this.disabled=!1)}remove(a,o=null){o&&o.isClone=="true"?window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(a,"vectorId")):(window.map.removeLayer(window.map.getLayer(a,"vectorId")),window.dynamicMasking&&window.dynamicMasking.remove(a))}add(a,o){return new Promise((c,f)=>{let u,m=o==null?void 0:o.isClone;if(typeof a!="object"){let g=window.map.getLayer(a,"vectorId");if(g)return c(g);u=this.query(a)}else{let g=window.map.getLayer(a.id,"vectorId");if(g)return c(g);u=a}if(u){let{value:g,url:v,id:S,title:b}=u;new Cesium.Resource({url:v}).fetchJson().then(k=>{let{id:R,title:F,shpInfo:E}=u,{attributes:P,geometryType:w,geometryCount:T,pointCount:I}=E;if(P){let{width:C,materialType:U,materialOptions:N,clampToGround:X,distanceDisplayCondition:J,distanceDisplayCondition_near:Z,distanceDisplayCondition_far:ct,zIndex:Rt,label:tt,fill:_t,diffHeight:G,outline:Pt,outlineStyle:Et,color:At,pixelSize:ce,outlineColor:re,outlineWidth:Ft,classificationType:It,setHeight:Nt}=JSON.parse(P),Pe;switch(tt.height==""&&(tt.height=null),this.isDynamicMasking?(tt.color=Cesium.Color.fromCssColorString(tt.color).withAlpha(0),tt.outlineColor=Cesium.Color.fromCssColorString(tt.outlineColor).withAlpha(.001),tt.backgroundColor=Cesium.Color.fromCssColorString(tt.backgroundColor).withAlpha(.001),tt.background=!1,tt.outline=!1,tt.show=!1):(tt.color=Cesium.Color.fromCssColorString(tt.color),tt.outlineColor=Cesium.Color.fromCssColorString(tt.outlineColor),tt.backgroundColor=Cesium.Color.fromCssColorString(tt.backgroundColor)),w){case"LineString":case"MultiLineString":tt.backgroundPadding=5,Pe=new mars3d.layer.GeoJsonLayer({data:k,vectorId:R,symbol:{type:"polylineC",styleOptions:{width:C,clampToGround:X,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:Z,materialType:U,materialOptions:N,classificationType:It,setHeight:Nt,label:tt}},hasZIndex:!0,zIndex:Rt});break;case"Polygon":case"MultiPolygon":U=="PolyGrass"&&(N={evenColor:new Cesium.Color(.25,.4,.1,1),oddColor:new Cesium.Color(.1,.1,.1,1),frequency:1.5}),Pe=new mars3d.layer.GeoJsonLayer({data:k,vectorId:R,symbol:{type:"polygon",styleOptions:{fill:_t,diffHeight:G,clampToGround:X,materialType:U,materialOptions:N,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:Z,outlineStyle:Et,outline:Pt,classificationType:It,setHeight:Nt,label:tt}}});break;case"Point":case"MultiPoint":Pe=new mars3d.layer.GeoJsonLayer({data:k,vectorId:R,symbol:{type:"pointC",styleOptions:{color:At,pixelSize:ce,outline:Pt,outlineColor:re,outlineWidth:Ft,visibleDepth:!1,label:tt}}});break}m?window.mapClone.mapEx.addLayer(Pe):window.map.addLayer(Pe),Pe.bindPopup(Wt=>{if(this.disabled==!0)return!1;let $e='<div class="bim-map-popup">';return Object.keys(Wt.graphic.attr).forEach((Si,Oe)=>{Wt.graphic.attr[Si]&&($e+=`<p><b>${Si}</b> : ${Wt.graphic.attr[Si]}</p>`)}),$e+="</div>",$e});let pe=ic.debounce(Wt=>{window.dynamicMasking.add(Wt,JSON.parse(P))},500);Pe.readyPromise.then(Wt=>{window.dynamicMasking&&pe(Wt),c(Wt)}).catch(Wt=>{c({tite:"【矢量】「"+F+"」无法加载",type:"error",id:R,url:v})})}else c({tite:"【矢量】「"+F+"」无法加载",type:"error",id:R,url:v})}).catch(k=>{c({tite:"【矢量】「"+b+"」链接地址有误",type:"error",id:S,url:v})})}else c({tite:"【矢量】ID:「"+a+"」已删除",type:"error",id:a})})}updateData(a){this.vectorArr=a}processingKML(a){let o,c=2e3,f=!0,{kmlInfo:u}=a,{fill:m,areaColor:g,areaSideColor:v,transparency:S,isAreaSideColor:b,minDistinct:O,textDistinct:k,textSize:R,textColor:F,fontStyle:E,outLine:P,sideColor:w,backGround:T,backGroundColor:I,clampToGround:C}=u,U={fill:m,color:g,opacity:S||.5,outline:b,outlineColor:v,outlineWidth:2,clampToGround:C,distanceDisplayCondition:!0,distanceDisplayCondition_far:k||1e6,distanceDisplayCondition_near:O||0,classificationType:o,opacity:String(S)},N={text:"{name}",horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,pixelOffsetY:-10,font_size:26,color:F||"#ffffff",font_family:E||"黑体",outline:P||!0,outlineColor:w||"#000000",outlineWidth:4,scaleByDistance:!0,distanceDisplayCondition:!0,distanceDisplayCondition_far:k||1e6,distanceDisplayCondition_near:O||0,background:T||!1,backgroundColor:I||"",visibleDepth:f,clampToGround:C||!1,disableDepthTestDistance:c};return{...U,label:N}}selected(a){window.map.getLayer(a,"vectorId")&&window.map.getLayer(a,"vectorId").flyTo()}query(a){return this.vectorArr.length==0?!1:this.vectorArr.find(o=>o.id==a)}queryVector(a){return window.map.getLayer(a,"vectorId")}editVector(a,o,c){let f=window.map.getLayer(a,"vectorId"),u=Cf(o,c);f&&(f.eachGraphic(m=>{m.label&&m.label.show===!1&&(delete m.label.outline,delete m.label.background,delete m.label.outlineColor,delete m.label.backgroundColor),u.label&&u.label.height==""&&(u.label.height=null),m.setStyle({...u})}),window.dynamicMasking&&dynamicMasking.modify(a,u))}nationalBoundaries(a="/gis/nationalBoundaries.json"){let o=new mars3d.layer.GeoJsonLayer({name:"国界",url:a,vectorId:"border",format:c=>{try{c=turf.simplify(c,{tolerance:1e-5,highQuality:!1,mutate:!0})}catch{}return c},symbol:{type:"polylineC",styleOptions:{width:2,materialType:"Color",materialOptions:{color:"#CD9B1D"},distanceDisplayCondition:!0,distanceDisplayCondition_near:1e3,distanceDisplayCondition_far:2e7,clampToGround:!0,classificationType:Cesium.ClassificationType.TERRAIN}}});map.addLayer(o)}switchDynamicMasking(a){this.isDynamicMasking=a}}class cm{constructor(a=[]){mars3d&&(this.terrainProviderArr=a,this.terrainProviderId="",this.events={},window.map.on(mars3d.EventType.terrainLoadError,o=>{this.hide()}),window.map.viewer.scene.globe.tileLoadProgressEvent.addEventListener(o=>{window.map.viewer.scene.globe.tilesLoaded&&this.emit("load",o)}))}add(a,o){if(o==null?void 0:o.isClone)mapClone&&(window.mapClone.mapEx.terrainProvider=window.map.terrainProvider);else{let f,u;if(typeof a=="string"?(f=a,u=this.terrainProviderArr.find(m=>m.id==f).url):(f=a.id,u=a.url),this.terrainProviderId==f&&window.map.terrainProvider._layers)return!1;window.map.terrainProvider=mars3d.LayerUtil.createTerrainProvider({imageXyzId:f,type:"xyz",url:u,requestVertexNormals:!0,requestMetadata:!0,clip:!0,flat:!0,uplift:!0,flood:!0}),this.terrainProviderId=f}}show(a){(a==null?void 0:a.isClone)?window.mapClone.mapEx.hasTerrain=!0:window.map.hasTerrain=!0}hide(a){(a==null?void 0:a.isClone)?window.mapClone.mapEx.hasTerrain=!1:window.map.hasTerrain=!1}on(a,o){a=="load"&&(this.events[a]?this.events[a].push(o):this.events[a]=[o])}emit(a,...o){this.events[a]!=null&&this.events[a].forEach(c=>c(...o))}off(a,o){this.events[a]=this.events[a].filter(c=>c!==o)}once(a,o){const c=()=>{o(),this.off(a,c)};this.on(a,c)}addClip(a){return new Promise((o,c)=>{window.bimClip?o(bimClip.clipGisAdd(a)):c("挖洞工具未初始化")})}}class fm{constructor(a=[],o){mars3d&&(this.elevationImageArr=a,this.elevationImageLayer,o?this.gisTkone={Authorization:`Bearer ${o}`}:this.gisTkone={},this.form={brightnessVal:1.3,msaaSamples:4,surfaceOpacity:1,layerOpacity:1,layerBrightness:2,layerContrast:1,layerHue:0,layerSaturation:1,layerGamma:1},this.tdtLayer=null)}pushVector(a){this.elevationImageArr.push(a)}add(a,o=!0,c){let f;if(typeof a!="object"?f=a:f=a.imageXyzId,window.map.getLayer(f,"imageXyzId"))return!1;const{layerOpacity:u,layerBrightness:m,layerContrast:g,layerHue:v,layerSaturation:S,layerGamma:b,surfaceOpacity:O}=this.exposureEnvironmentSettings();return new Promise((k,R)=>{let F,E,P,w,T,I;if(typeof a!="object"){let C=this.query(a);C||R("缺少树结构");let{gisInfo:U}=C,{id:N,order:X,minLevel:J,maxLevel:Z,domType:ct}=U||C;F=N,E=C.url,P=J,w=Z}else F=a.imageXyzId,E=a.url,a.zIndex,P=a.minimumLevel,w=a.maximumLevel,T=a.chinaCRS,I=a.domType;if(I&&I==1){this.elevationImageLayer=new mars3d.layer.XyzLayer({imageXyzId:F,url:"http://t0.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={z}&TileRow={y}&TileCol={x}&style=default&format=tiles&tk=e0ffbc2288f76ff16db6b2d3f1b7d9b7",hasZIndex:!0,zIndex:0,minimumLevel:0,maximumLevel:15,chinaCRS:"GCJ02"}),window.map.addLayer(this.elevationImageLayer),k(this.elevationImageLayer);return}this.elevationImageLayer=new mars3d.layer.XyzLayer({imageXyzId:F,type:"xyz",url:E,hasZIndex:!0,zIndex:9,brightness:m,opacity:u,saturation:S,contrast:g,hue:v,gamma:b,alpha:O,show:!0,minimumLevel:P||0,maximumLevel:w||15,chinaCRS:T,headers:o?this.gisTkone:null}),this.elevationImageLayer.on(mars3d.EventType.load,C=>{k(C)}),window.map.addLayer(this.elevationImageLayer),c&&Object.keys(c).forEach(C=>{this.elevationImageLayer.on(fnType.get(C),U=>{c[C](U)})})})}remove(a){window.map.removeLayer(window.map.getLayer(a,"imageXyzId"))}query(a){return this.elevationImageArr.length==0?!1:this.elevationImageArr.find(o=>o.id==a)}initial(){this.elevationImageArr=[],this.elevationImageLayer=null}exposureEnvironmentSettings(){return localStorage.getItem("environmentSettings")?JSON.parse(localStorage.getItem("environmentSettings")):(localStorage.setItem("environmentSettings",JSON.stringify(this.form)),JSON.parse(JSON.stringify(this.form)))}}class dm{constructor(a,...o){Vo(this,"manualFreed",ic.debounce(()=>{let{lng:a,lat:o,alt:c,pitch:f}=window.map.getCameraView(),u;this.modelArray.forEach(m=>{var g;u=(g=m.bimModel)!=null&&g.releasedDistance?m.bimModel.releasedDistance:m.releasedDistance?m.releasedDistance:1e4,this.disTance([a,o,c],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(f,u))?window.map.getLayer(m.id,"modelId")&&this.emit("leave",m):window.map.getLayer(m.id,"modelId")||this.emit("enter",m)})},200));mars3d&&(a&&a!=null&&(this.modelArray=a),this.showModelArray=[],this.Cesium=mars3d.Cesium,this.events={})}on(a,o){(a=="enter"||a=="leave")&&(this.events[a]?this.events[a].push(o):this.events[a]=[o])}emit(a,...o){this.events[a]!=null&&this.events[a].forEach(c=>c(...o))}off(a,o){this.events[a]=this.events[a].filter(c=>c!==o)}once(a,o){const c=()=>{o(),this.off(a,c)};this.on(a,c)}say(a){return this[a]}add(a,o){this[a].push(o)}remove(a,o){this[a]=this[a].filter(function(c){return c!==o})}initial(){this.modelArray=[],this.events={}}updateCustomExcavationDetails(a,o,c,f=[],u={}){let m,g,v;switch(m=this.modelArray.find(S=>S.modelId==a).customize.bimModelExcavationDetails,v=m.find((S,b)=>{if(S.id==o)return g=b,S}),c){case"delete":m.splice(g,1);break;case"update":v.excavationDetails=f;break;case"add":m.push(u);break;case"edit":v.excavationDetails=u.excavationDetails,v.kId=u.kId;break}return m}resourceRelease(){window.map.viewer.camera.moveEnd.addEventListener(()=>{this.freed()})}freed(){let{alt:a}=window.map.getCameraView();a<2e4&&(this.freed=ic.throttle(()=>{let{lng:o,lat:c,alt:f,pitch:u}=window.map.getCameraView();this.modelArray&&this.modelArray.forEach(m=>{var v;let g=(v=m.bimModel)!=null&&v.releasedDistance?m.bimModel.releasedDistance:m.releasedDistance?m.releasedDistance:1e4;m&&this.disTance([o,c,f],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(u,g))?window.map.getLayer(m.id,"modelId")&&this.emit("leave",m):this.showModelArray.indexOf(m.id)>=0&&!window.map.getLayer(m.id,"modelId")&&this.emit("enter",m)})},2e3),this.freed())}findPnodeId(a,o,c="id"){let f;if(a){for(var u=0;u<a.length;u++){let m=a[u];if(m[c]==o)return f=m,f;if(m.children&&m.children.length>0&&(f=this.findPnodeId(m.children,o,c),f))return f}return f}}disTance(a,o,c){let f,u,m;return f=Cesium.Cartesian3.fromDegrees(...a),u=Cesium.Cartesian3.fromDegrees(...o),m=Cesium.Cartesian3.distance(f,u),m>c}calculateDistance(a,o){let c=(a+180)%360-180;c=Math.max(-90,Math.min(c,90));let f=(o-o/5)*(Math.abs(c)/90)+o/5;return Math.round(f)}}class pm{constructor(a=[],o){mars3d&&(this.entityArr=a,this.entityLayer=new mars3d.layer.GraphicLayer({entityId:"bimEntity"}),window.map.addLayer(this.entityLayer),this.entityItem=null,this.events={},this.entityCloneLayer)}on(a,o){(a=="change"||a=="collection")&&(this.events[a]?this.events[a].push(o):this.events[a]=[o])}emit(a,...o){this.events[a]!=null&&this.events[a].forEach(c=>c(...o))}off(a,o){this.events[a]=this.events[a].filter(c=>c!==o)}offAll(){this.events={}}once(a,o){const c=()=>{o(),this.off(a,c)};this.on(a,c)}add(a,o=null,c){return new Promise((f,u)=>{var m;if(this.entityLayer){let g,v,S;if(c==null?void 0:c.isClone)this.entityCloneLayer&&(v=this.query(a),v?(S=v.bimPlanPainting?JSON.parse(v.bimPlanPainting.graphic):JSON.parse(v.graphic),S.attr=S.attr||{},S.attr.entityId=a,this.entityCloneLayer.addGraphic(S)):f({tite:"【标绘】 ID:「"+a+"」已删除",type:"error",id:a}));else{if(typeof a!="object"?(g=this.entityLayer.getGraphicByAttr(a,"entityId"),v=this.query(a),v?(S=v.bimPlanPainting?JSON.parse(v.bimPlanPainting.graphic):JSON.parse(v.graphic),S.attr=S.attr||{},S.attr.entityId=a):f({tite:"【标绘】ID:「"+a+"」已删除",type:"error",id:a})):(g=this.entityLayer.getGraphicByAttr(a.id,"entityId"),S=JSON.parse(JSON.stringify(a)),S.attr=S.attr||{},S.attr.entityId=S.attr.entityId||o,S.attr==null?S.attr={entityId:a.id}:((m=S.attr)==null?void 0:m.entityId)==null&&o&&(S.attr.entityId=o)),g)return f();this.entityLayer.addGraphic(S),f(S)}}else f()})}query(a){return this.entityArr.length==0?!1:this.entityArr.find(o=>o.id==a)}queryEntity(a){if(bimEntity.entityLayer)return bimEntity.entityLayer.getGraphicByAttr(a,"entityId")}selected(a,o=null){let c=this.entityLayer.getGraphicByAttr(a,"entityId");o==null||o.isClone,(c.options.type=="div"||c.options.type=="point")&&c._point?c.flyTo({radius:c._point._alt+500<500?5e3:c._point._alt+500}):c.flyTo()}remove(a,o=null){var f,u;(o==null?void 0:o.isClone)?this.entityCloneLayer&&((f=this.entityCloneLayer.getGraphicByAttr(a,"entityId"))==null||f.remove()):this.entityLayer.getGraphicByAttr(a,"entityId")&&((u=this.entityLayer.getGraphicByAttr(a,"entityId"))==null||u.remove(),this.entityItem&&(this.entityItem._state=="destroy"||this.entityItem.options.attr.entityId==a)&&(this.entityItem=null))}entityCloneLayerInit(){(this.entityCloneLayer==null||this.entityCloneLayer.state=="destroy")&&(this.entityCloneLayer=window.mapClone._mapEx.getLayer("bimEntity","entityId"))}entityCloneLayerRemove(){this.entityCloneLayer.remove(),this.entityCloneLayer=null}removeEntityItem(){this.entityItem=null}updateData(a){this.entityArr=a}startDrawGraphic(a){return new Promise((o,c)=>{let{type:f,style:u}=a;if(a.drawShow=!1,f=="div")if(u.html)this.entityLayer.startDraw(a).then(m=>{setTimeout(()=>{this.entityItem=m,this.entityLayer.startEditing(m)},500)});else{let{title:m,divType:g,theme_color:v,font_color:S,scaleByDistance:b,scaleByDistance_far:O,scaleByDistance_farValue:k,scaleByDistance_near:R,scaleByDistance_nearValue:F,distanceDisplayCondition:E,distanceDisplayCondition_far:P,distanceDisplayCondition_near:w,clampToGround:T}=u,I={type:"div",style:{pointerEvents:!0,scaleByDistance:b,scaleByDistance_far:O,scaleByDistance_farValue:k,scaleByDistance_near:R,scaleByDistance_nearValue:F,distanceDisplayCondition:E,distanceDisplayCondition_far:P,distanceDisplayCondition_near:w,clampToGround:T,horizontalOrigin:Cesium.HorizontalOrigin.LEFT,verticalOrigin:Cesium.VerticalOrigin.BOTTOM}};switch(g){case"1":I.style.html=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${v};--theme-font-color1:${S};">
|
|
2636
|
+
}`;var Ti=Up(function(){return Fi(ut,Ze+"return "+de).apply(o,yt)});if(Ti.source=de,ff(Ti))throw Ti;return Ti}function R_(r){return Zi(r).toLowerCase()}function O_(r){return Zi(r).toUpperCase()}function I_(r,h,y){if(r=Zi(r),r&&(y||h===o))return _a(r);if(!r||!(h=Ye(h)))return r;var D=lr(r),Y=lr(h),ut=is(D,Y),yt=As(D,Y)+1;return wn(D,ut,yt).join("")}function D_(r,h,y){if(r=Zi(r),r&&(y||h===o))return r.slice(0,xa(r)+1);if(!r||!(h=Ye(h)))return r;var D=lr(r),Y=As(D,lr(h))+1;return wn(D,0,Y).join("")}function z_(r,h,y){if(r=Zi(r),r&&(y||h===o))return r.replace(ho,"");if(!r||!(h=Ye(h)))return r;var D=lr(r),Y=is(D,lr(h));return wn(D,Y).join("")}function k_(r,h){var y=ct,D=Rt;if(Mn(h)){var Y="separator"in h?h.separator:Y;y="length"in h?wi(h.length):y,D="omission"in h?Ye(h.omission):D}r=Zi(r);var ut=r.length;if(Dr(r)){var yt=lr(r);ut=yt.length}if(y>=ut)return r;var bt=y-Kr(D);if(bt<1)return D;var Bt=yt?wn(yt,0,bt).join(""):r.slice(0,bt);if(Y===o)return Bt+D;if(yt&&(bt+=Bt.length-bt),df(Y)){if(r.slice(bt).search(Y)){var oe,le=Bt;for(Y.global||(Y=Qn(Y.source,Zi(jl.exec(Y))+"g")),Y.lastIndex=0;oe=Y.exec(le);)var de=oe.index;Bt=Bt.slice(0,de===o?bt:de)}}else if(r.indexOf(Ye(Y),bt)!=bt){var ke=Bt.lastIndexOf(Y);ke>-1&&(Bt=Bt.slice(0,ke))}return Bt+D}function B_(r){return r=Zi(r),r&&Zo.test(r)?r.replace(Po,th):r}var N_=ze(function(r,h,y){return r+(y?" ":"")+h.toUpperCase()}),gf=Te("toUpperCase");function Fp(r,h,y){return r=Zi(r),h=y?o:h,h===o?Os(r)?Xc(r):ol(r):r.match(h)||[]}var Up=ae(function(r,h){try{return _r(r,o,h)}catch(y){return ff(y)?y:new ai(y)}}),F_=js(function(r,h){return Ji(h,function(y){y=fs(y),No(r,y,uf(r[y],r))}),r});function U_(r){var h=r==null?0:r.length,y=si();return r=h?Yi(r,function(D){if(typeof D[1]!="function")throw new hr(m);return[y(D[0]),D[1]]}):[],ae(function(D){for(var Y=-1;++Y<h;){var ut=r[Y];if(_r(ut[0],this,D))return _r(ut[1],this,D)}})}function G_(r){return Oa(Mr(r,O))}function vf(r){return function(){return r}}function H_(r,h){return r==null||r!==r?h:r}var V_=Oi(),W_=Oi(!0);function Hr(r){return r}function yf(r){return H(typeof r=="function"?r:Mr(r,O))}function j_(r){return gt(Mr(r,O))}function X_(r,h){return Ct(r,Mr(h,O))}var q_=ae(function(r,h){return function(y){return e(y,r,h)}}),Y_=ae(function(r,h){return function(y){return e(r,y,h)}});function _f(r,h,y){var D=$n(h),Y=Hs(h,D);y==null&&!(Mn(h)&&(Y.length||!D.length))&&(y=h,h=r,r=this,Y=Hs(h,$n(h)));var ut=!(Mn(y)&&"chain"in y)||!!y.chain,yt=qs(r);return Ji(Y,function(bt){var Bt=h[bt];r[bt]=Bt,yt&&(r.prototype[bt]=function(){var oe=this.__chain__;if(ut||oe){var le=r(this.__wrapped__),de=le.__actions__=ir(this.__actions__);return de.push({func:Bt,args:arguments,thisArg:r}),le.__chain__=oe,le}return Bt.apply(r,po([this.value()],arguments))})}),r}function Z_(){return vn._===this&&(vn._=Qr),this}function xf(){}function J_(r){return r=wi(r),ae(function(h){return K(h,r)})}var $_=Fn(Yi),K_=Fn(Nh),Q_=Fn(Lo);function Gp(r){return rf(r)?Qo(fs(r)):$t(r)}function t1(r){return function(h){return r==null?o:us(r,h)}}var e1=iu(),i1=iu(!0);function wf(){return[]}function Mf(){return!1}function n1(){return{}}function r1(){return""}function o1(){return!0}function s1(r,h){if(r=wi(r),r<1||r>ce)return[];var y=It,D=Wn(r,It);h=si(h),r-=It;for(var Y=Oo(D,h);++y<r;)h(y);return Y}function a1(r){return vi(r)?Yi(r,fs):eo(r)?[r]:ir(ap(Zi(r)))}function l1(r){var h=++cr;return Zi(r)+h}var h1=Tr(function(r,h){return r+h},0),u1=dh("ceil"),c1=Tr(function(r,h){return r/h},1),f1=dh("floor");function d1(r){return r&&r.length?So(r,Hr,uh):o}function p1(r,h){return r&&r.length?So(r,si(h,2),uh):o}function m1(r){return ya(r,Hr)}function g1(r,h){return ya(r,si(h,2))}function v1(r){return r&&r.length?So(r,Hr,rt):o}function y1(r,h){return r&&r.length?So(r,si(h,2),rt):o}var _1=Tr(function(r,h){return r*h},1),x1=dh("round"),w1=Tr(function(r,h){return r-h},0);function M1(r){return r&&r.length?es(r,Hr):0}function T1(r,h){return r&&r.length?es(r,si(h,2)):0}return it.after=jv,it.ary=yp,it.assign=Oy,it.assignIn=Op,it.assignInWith=tc,it.assignWith=Iy,it.at=Dy,it.before=_p,it.bind=uf,it.bindAll=F_,it.bindKey=xp,it.castArray=ny,it.chain=mp,it.chunk=f0,it.compact=d0,it.concat=p0,it.cond=U_,it.conforms=G_,it.constant=vf,it.countBy=Mv,it.create=zy,it.curry=wp,it.curryRight=Mp,it.debounce=Tp,it.defaults=ky,it.defaultsDeep=By,it.defer=Xv,it.delay=qv,it.difference=m0,it.differenceBy=g0,it.differenceWith=v0,it.drop=y0,it.dropRight=_0,it.dropRightWhile=x0,it.dropWhile=w0,it.fill=M0,it.filter=Sv,it.flatMap=Cv,it.flatMapDeep=Av,it.flatMapDepth=Pv,it.flatten=cp,it.flattenDeep=T0,it.flattenDepth=S0,it.flip=Yv,it.flow=V_,it.flowRight=W_,it.fromPairs=E0,it.functions=Wy,it.functionsIn=jy,it.groupBy=Lv,it.initial=C0,it.intersection=A0,it.intersectionBy=P0,it.intersectionWith=L0,it.invert=qy,it.invertBy=Yy,it.invokeMap=Ov,it.iteratee=yf,it.keyBy=Iv,it.keys=$n,it.keysIn=Gr,it.map=Yu,it.mapKeys=Jy,it.mapValues=$y,it.matches=j_,it.matchesProperty=X_,it.memoize=Ju,it.merge=Ky,it.mergeWith=Ip,it.method=q_,it.methodOf=Y_,it.mixin=_f,it.negate=$u,it.nthArg=J_,it.omit=Qy,it.omitBy=t_,it.once=Zv,it.orderBy=Dv,it.over=$_,it.overArgs=Jv,it.overEvery=K_,it.overSome=Q_,it.partial=cf,it.partialRight=Sp,it.partition=zv,it.pick=e_,it.pickBy=Dp,it.property=Gp,it.propertyOf=t1,it.pull=D0,it.pullAll=dp,it.pullAllBy=z0,it.pullAllWith=k0,it.pullAt=B0,it.range=e1,it.rangeRight=i1,it.rearg=$v,it.reject=Nv,it.remove=N0,it.rest=Kv,it.reverse=lf,it.sampleSize=Uv,it.set=n_,it.setWith=r_,it.shuffle=Gv,it.slice=F0,it.sortBy=Wv,it.sortedUniq=X0,it.sortedUniqBy=q0,it.split=C_,it.spread=Qv,it.tail=Y0,it.take=Z0,it.takeRight=J0,it.takeRightWhile=$0,it.takeWhile=K0,it.tap=dv,it.throttle=ty,it.thru=qu,it.toArray=Pp,it.toPairs=zp,it.toPairsIn=kp,it.toPath=a1,it.toPlainObject=Rp,it.transform=o_,it.unary=ey,it.union=Q0,it.unionBy=tv,it.unionWith=ev,it.uniq=iv,it.uniqBy=nv,it.uniqWith=rv,it.unset=s_,it.unzip=hf,it.unzipWith=pp,it.update=a_,it.updateWith=l_,it.values=gh,it.valuesIn=h_,it.without=ov,it.words=Fp,it.wrap=iy,it.xor=sv,it.xorBy=av,it.xorWith=lv,it.zip=hv,it.zipObject=uv,it.zipObjectDeep=cv,it.zipWith=fv,it.entries=zp,it.entriesIn=kp,it.extend=Op,it.extendWith=tc,_f(it,it),it.add=h1,it.attempt=Up,it.camelCase=d_,it.capitalize=Bp,it.ceil=u1,it.clamp=u_,it.clone=ry,it.cloneDeep=sy,it.cloneDeepWith=ay,it.cloneWith=oy,it.conformsTo=ly,it.deburr=Np,it.defaultTo=H_,it.divide=c1,it.endsWith=p_,it.eq=Go,it.escape=m_,it.escapeRegExp=g_,it.every=Tv,it.find=Ev,it.findIndex=hp,it.findKey=Ny,it.findLast=bv,it.findLastIndex=up,it.findLastKey=Fy,it.floor=f1,it.forEach=gp,it.forEachRight=vp,it.forIn=Uy,it.forInRight=Gy,it.forOwn=Hy,it.forOwnRight=Vy,it.get=pf,it.gt=hy,it.gte=uy,it.has=Xy,it.hasIn=mf,it.head=fp,it.identity=Hr,it.includes=Rv,it.indexOf=b0,it.inRange=c_,it.invoke=Zy,it.isArguments=Pl,it.isArray=vi,it.isArrayBuffer=cy,it.isArrayLike=Ur,it.isArrayLikeObject=zn,it.isBoolean=fy,it.isBuffer=Ba,it.isDate=dy,it.isElement=py,it.isEmpty=my,it.isEqual=gy,it.isEqualWith=vy,it.isError=ff,it.isFinite=yy,it.isFunction=qs,it.isInteger=Ep,it.isLength=Ku,it.isMap=bp,it.isMatch=_y,it.isMatchWith=xy,it.isNaN=wy,it.isNative=My,it.isNil=Sy,it.isNull=Ty,it.isNumber=Cp,it.isObject=Mn,it.isObjectLike=Rn,it.isPlainObject=su,it.isRegExp=df,it.isSafeInteger=Ey,it.isSet=Ap,it.isString=Qu,it.isSymbol=eo,it.isTypedArray=mh,it.isUndefined=by,it.isWeakMap=Cy,it.isWeakSet=Ay,it.join=R0,it.kebabCase=v_,it.last=Co,it.lastIndexOf=O0,it.lowerCase=y_,it.lowerFirst=__,it.lt=Py,it.lte=Ly,it.max=d1,it.maxBy=p1,it.mean=m1,it.meanBy=g1,it.min=v1,it.minBy=y1,it.stubArray=wf,it.stubFalse=Mf,it.stubObject=n1,it.stubString=r1,it.stubTrue=o1,it.multiply=_1,it.nth=I0,it.noConflict=Z_,it.noop=xf,it.now=Zu,it.pad=x_,it.padEnd=w_,it.padStart=M_,it.parseInt=T_,it.random=f_,it.reduce=kv,it.reduceRight=Bv,it.repeat=S_,it.replace=E_,it.result=i_,it.round=x1,it.runInContext=Lt,it.sample=Fv,it.size=Hv,it.snakeCase=b_,it.some=Vv,it.sortedIndex=U0,it.sortedIndexBy=G0,it.sortedIndexOf=H0,it.sortedLastIndex=V0,it.sortedLastIndexBy=W0,it.sortedLastIndexOf=j0,it.startCase=A_,it.startsWith=P_,it.subtract=w1,it.sum=M1,it.sumBy=T1,it.template=L_,it.times=s1,it.toFinite=Ys,it.toInteger=wi,it.toLength=Lp,it.toLower=R_,it.toNumber=Ao,it.toSafeInteger=Ry,it.toString=Zi,it.toUpper=O_,it.trim=I_,it.trimEnd=D_,it.trimStart=z_,it.truncate=k_,it.unescape=B_,it.uniqueId=l1,it.upperCase=N_,it.upperFirst=gf,it.each=gp,it.eachRight=vp,it.first=fp,_f(it,function(){var r={};return Fr(it,function(h,y){Mi.call(it.prototype,y)||(r[y]=h)}),r}(),{chain:!1}),it.VERSION=c,Ji(["bind","bindKey","curry","curryRight","partial","partialRight"],function(r){it[r].placeholder=it}),Ji(["drop","take"],function(r,h){_i.prototype[r]=function(y){y=y===o?1:yn(wi(y),0);var D=this.__filtered__&&!h?new _i(this):this.clone();return D.__filtered__?D.__takeCount__=Wn(y,D.__takeCount__):D.__views__.push({size:Wn(y,It),type:r+(D.__dir__<0?"Right":"")}),D},_i.prototype[r+"Right"]=function(y){return this.reverse()[r](y).reverse()}}),Ji(["filter","map","takeWhile"],function(r,h){var y=h+1,D=y==G||y==Et;_i.prototype[r]=function(Y){var ut=this.clone();return ut.__iteratees__.push({iteratee:si(Y,3),type:y}),ut.__filtered__=ut.__filtered__||D,ut}}),Ji(["head","last"],function(r,h){var y="take"+(h?"Right":"");_i.prototype[r]=function(){return this[y](1).value()[0]}}),Ji(["initial","tail"],function(r,h){var y="drop"+(h?"":"Right");_i.prototype[r]=function(){return this.__filtered__?new _i(this):this[y](1)}}),_i.prototype.compact=function(){return this.filter(Hr)},_i.prototype.find=function(r){return this.filter(r).head()},_i.prototype.findLast=function(r){return this.reverse().find(r)},_i.prototype.invokeMap=ae(function(r,h){return typeof r=="function"?new _i(this):this.map(function(y){return e(y,r,h)})}),_i.prototype.reject=function(r){return this.filter($u(si(r)))},_i.prototype.slice=function(r,h){r=wi(r);var y=this;return y.__filtered__&&(r>0||h<0)?new _i(y):(r<0?y=y.takeRight(-r):r&&(y=y.drop(r)),h!==o&&(h=wi(h),y=h<0?y.dropRight(-h):y.take(h-r)),y)},_i.prototype.takeRightWhile=function(r){return this.reverse().takeWhile(r).reverse()},_i.prototype.toArray=function(){return this.take(It)},Fr(_i.prototype,function(r,h){var y=/^(?:filter|find|map|reject)|While$/.test(h),D=/^(?:head|last)$/.test(h),Y=it[D?"take"+(h=="last"?"Right":""):h],ut=D||/^find/.test(h);Y&&(it.prototype[h]=function(){var yt=this.__wrapped__,bt=D?[1]:arguments,Bt=yt instanceof _i,oe=bt[0],le=Bt||vi(yt),de=function(Ri){var Ui=Y.apply(it,po([Ri],bt));return D&&ke?Ui[0]:Ui};le&&y&&typeof oe=="function"&&oe.length!=1&&(Bt=le=!1);var ke=this.__chain__,Ze=!!this.__actions__.length,hi=ut&&!ke,Ti=Bt&&!Ze;if(!ut&&le){yt=Ti?yt:new _i(this);var ui=r.apply(yt,bt);return ui.__actions__.push({func:qu,args:[de],thisArg:o}),new Yn(ui,ke)}return hi&&Ti?r.apply(this,bt):(ui=this.thru(de),hi?D?ui.value()[0]:ui.value():ui)})}),Ji(["pop","push","shift","sort","splice","unshift"],function(r){var h=In[r],y=/^(?:push|sort|unshift)$/.test(r)?"tap":"thru",D=/^(?:pop|shift)$/.test(r);it.prototype[r]=function(){var Y=arguments;if(D&&!this.__chain__){var ut=this.value();return h.apply(vi(ut)?ut:[],Y)}return this[y](function(yt){return h.apply(vi(yt)?yt:[],Y)})}}),Fr(_i.prototype,function(r,h){var y=it[h];if(y){var D=y.name+"";Mi.call(ss,D)||(ss[D]=[]),ss[D].push({name:h,func:y})}}),ss[$i(o,w).name]=[{name:"wrapper",func:o}],_i.prototype.clone=Ca,_i.prototype.reverse=Iu,_i.prototype.value=Aa,it.prototype.at=pv,it.prototype.chain=mv,it.prototype.commit=gv,it.prototype.next=vv,it.prototype.plant=_v,it.prototype.reverse=xv,it.prototype.toJSON=it.prototype.valueOf=it.prototype.value=wv,it.prototype.first=it.prototype.head,os&&(it.prototype[os]=yv),it},ns=qc();Jr?((Jr.exports=ns)._=ns,$o._=ns):vn._=ns}).call(br)}(hu,hu.exports);var hm=hu.exports;const ic=ec(hm);class um{constructor(a=[],o=!1){Vo(this,"simplifyFunc",a=>{try{a=turf.simplify(a,{tolerance:5e-4,highQuality:!1,mutate:!0})}catch{}return a});mars3d&&(this.vectorArr=a,this.geoJsonType=new Map([["Point"],["LineString"],["Polygon"],["MultiPoint"],["MultiLineString"],["MultiPolygon"]]),this.avoidanceArr=[],this.editDate={id:""},this.isDynamicMasking=o,this.disabled=!1)}remove(a,o=null){o&&o.isClone=="true"?window.mapClone.mapEx.removeLayer(window.mapClone.mapEx.getLayer(a,"vectorId")):(window.map.removeLayer(window.map.getLayer(a,"vectorId")),window.dynamicMasking&&window.dynamicMasking.remove(a))}add(a,o){return new Promise((c,f)=>{let u,m=o==null?void 0:o.isClone;if(typeof a!="object"){let g=window.map.getLayer(a,"vectorId");if(g)return c(g);u=this.query(a)}else{let g=window.map.getLayer(a.id,"vectorId");if(g)return c(g);u=a}if(u){let{value:g,url:v,id:S,title:b}=u;new Cesium.Resource({url:v}).fetchJson().then(k=>{let{id:R,title:F,shpInfo:E}=u,{attributes:P,geometryType:w,geometryCount:T,pointCount:I}=E;if(P){let{width:C,materialType:U,materialOptions:N,clampToGround:X,distanceDisplayCondition:J,distanceDisplayCondition_near:Z,distanceDisplayCondition_far:ct,zIndex:Rt,label:tt,fill:_t,diffHeight:G,outline:Pt,outlineStyle:Et,color:At,pixelSize:ce,outlineColor:re,outlineWidth:Ft,classificationType:It,setHeight:Nt}=JSON.parse(P),Pe;switch(tt.height==""&&(tt.height=null),this.isDynamicMasking?(tt.color=Cesium.Color.fromCssColorString(tt.color).withAlpha(0),tt.outlineColor=Cesium.Color.fromCssColorString(tt.outlineColor).withAlpha(.001),tt.backgroundColor=Cesium.Color.fromCssColorString(tt.backgroundColor).withAlpha(.001),tt.background=!1,tt.outline=!1,tt.show=!1):(tt.color=Cesium.Color.fromCssColorString(tt.color),tt.outlineColor=Cesium.Color.fromCssColorString(tt.outlineColor),tt.backgroundColor=Cesium.Color.fromCssColorString(tt.backgroundColor)),w){case"LineString":case"MultiLineString":tt.backgroundPadding=5,Pe=new mars3d.layer.GeoJsonLayer({data:k,vectorId:R,symbol:{type:"polylineC",styleOptions:{width:C,clampToGround:X,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:Z,materialType:U,materialOptions:N,classificationType:It,setHeight:Nt,label:tt}},hasZIndex:!0,zIndex:Rt});break;case"Polygon":case"MultiPolygon":U=="PolyGrass"&&(N={evenColor:new Cesium.Color(.25,.4,.1,1),oddColor:new Cesium.Color(.1,.1,.1,1),frequency:1.5}),Pe=new mars3d.layer.GeoJsonLayer({data:k,vectorId:R,symbol:{type:"polygon",styleOptions:{fill:_t,diffHeight:G,clampToGround:X,materialType:U,materialOptions:N,distanceDisplayCondition:J,distanceDisplayCondition_far:ct,distanceDisplayCondition_near:Z,outlineStyle:Et,outline:Pt,classificationType:It,setHeight:Nt,label:tt}}});break;case"Point":case"MultiPoint":Pe=new mars3d.layer.GeoJsonLayer({data:k,vectorId:R,symbol:{type:"pointC",styleOptions:{color:At,pixelSize:ce,outline:Pt,outlineColor:re,outlineWidth:Ft,visibleDepth:!1,label:tt}}});break}m?window.mapClone.mapEx.addLayer(Pe):window.map.addLayer(Pe),Pe.bindPopup(Wt=>{if(this.disabled==!0)return!1;let $e='<div class="bim-map-popup">';return Object.keys(Wt.graphic.attr).forEach((Si,Oe)=>{Wt.graphic.attr[Si]&&($e+=`<p><b>${Si}</b> : ${Wt.graphic.attr[Si]}</p>`)}),$e+="</div>",$e});let pe=ic.debounce(Wt=>{window.dynamicMasking.add(Wt,JSON.parse(P))},500);Pe.readyPromise.then(Wt=>{window.dynamicMasking&&pe(Wt),c(Wt)}).catch(Wt=>{c({tite:"【矢量】「"+F+"」无法加载",type:"error",id:R,url:v})})}else c({tite:"【矢量】「"+F+"」无法加载",type:"error",id:R,url:v})}).catch(k=>{c({tite:"【矢量】「"+b+"」链接地址有误",type:"error",id:S,url:v})})}else c({tite:"【矢量】ID:「"+a+"」已删除",type:"error",id:a})})}updateData(a){this.vectorArr=a}processingKML(a){let o,c=2e3,f=!0,{kmlInfo:u}=a,{fill:m,areaColor:g,areaSideColor:v,transparency:S,isAreaSideColor:b,minDistinct:O,textDistinct:k,textSize:R,textColor:F,fontStyle:E,outLine:P,sideColor:w,backGround:T,backGroundColor:I,clampToGround:C}=u,U={fill:m,color:g,opacity:S||.5,outline:b,outlineColor:v,outlineWidth:2,clampToGround:C,distanceDisplayCondition:!0,distanceDisplayCondition_far:k||1e6,distanceDisplayCondition_near:O||0,classificationType:o,opacity:String(S)},N={text:"{name}",horizontalOrigin:Cesium.HorizontalOrigin.CENTER,verticalOrigin:Cesium.VerticalOrigin.BOTTOM,pixelOffsetY:-10,font_size:26,color:F||"#ffffff",font_family:E||"黑体",outline:P||!0,outlineColor:w||"#000000",outlineWidth:4,scaleByDistance:!0,distanceDisplayCondition:!0,distanceDisplayCondition_far:k||1e6,distanceDisplayCondition_near:O||0,background:T||!1,backgroundColor:I||"",visibleDepth:f,clampToGround:C||!1,disableDepthTestDistance:c};return{...U,label:N}}selected(a){window.map.getLayer(a,"vectorId")&&window.map.getLayer(a,"vectorId").flyTo()}query(a){return this.vectorArr.length==0?!1:this.vectorArr.find(o=>o.id==a)}queryVector(a){return window.map.getLayer(a,"vectorId")}editVector(a,o,c){let f=window.map.getLayer(a,"vectorId"),u=Cf(o,c);f&&(f.eachGraphic(m=>{m.label&&m.label.show===!1&&(delete m.label.outline,delete m.label.background,delete m.label.outlineColor,delete m.label.backgroundColor),u.label&&u.label.height==""&&(u.label.height=null),m.setStyle({...u})}),window.dynamicMasking&&dynamicMasking.modify(a,u))}nationalBoundaries(a="/gis/nationalBoundaries.json"){let o=new mars3d.layer.GeoJsonLayer({name:"国界",url:a,vectorId:"border",format:c=>{try{c=turf.simplify(c,{tolerance:1e-5,highQuality:!1,mutate:!0})}catch{}return c},symbol:{type:"polylineC",styleOptions:{width:2,materialType:"Color",materialOptions:{color:"#CD9B1D"},distanceDisplayCondition:!0,distanceDisplayCondition_near:1e3,distanceDisplayCondition_far:2e7,clampToGround:!0,classificationType:Cesium.ClassificationType.TERRAIN}}});map.addLayer(o)}switchDynamicMasking(a){this.isDynamicMasking=a}}class cm{constructor(a=[]){mars3d&&(this.terrainProviderArr=a,this.terrainProviderId="",this.events={},window.map.on(mars3d.EventType.terrainLoadError,o=>{this.hide()}),window.map.viewer.scene.globe.tileLoadProgressEvent.addEventListener(o=>{window.map.viewer.scene.globe.tilesLoaded&&this.emit("load",o)}))}add(a,o){if(o==null?void 0:o.isClone)mapClone&&(window.mapClone.mapEx.terrainProvider=window.map.terrainProvider);else{let f,u;if(typeof a=="string"?(f=a,u=this.terrainProviderArr.find(m=>m.id==f).url):(f=a.id,u=a.url),this.terrainProviderId==f&&window.map.terrainProvider._layers)return!1;window.map.terrainProvider=mars3d.LayerUtil.createTerrainProvider({imageXyzId:f,type:"xyz",url:u,requestVertexNormals:!0,requestMetadata:!0,clip:!0,flat:!0,uplift:!0,flood:!0}),this.terrainProviderId=f}}show(a){(a==null?void 0:a.isClone)?window.mapClone.mapEx.hasTerrain=!0:window.map.hasTerrain=!0}hide(a){(a==null?void 0:a.isClone)?window.mapClone.mapEx.hasTerrain=!1:window.map.hasTerrain=!1}on(a,o){a=="load"&&(this.events[a]?this.events[a].push(o):this.events[a]=[o])}emit(a,...o){this.events[a]!=null&&this.events[a].forEach(c=>c(...o))}off(a,o){this.events[a]=this.events[a].filter(c=>c!==o)}once(a,o){const c=()=>{o(),this.off(a,c)};this.on(a,c)}addClip(a){return new Promise((o,c)=>{window.bimClip?o(bimClip.clipGisAdd(a)):c("挖洞工具未初始化")})}}class fm{constructor(a=[],o){mars3d&&(this.elevationImageArr=a,this.elevationImageLayer,o?this.gisTkone={Authorization:`Bearer ${o}`}:this.gisTkone={},this.form={brightnessVal:1.3,msaaSamples:4,surfaceOpacity:1,layerOpacity:1,layerBrightness:2,layerContrast:1,layerHue:0,layerSaturation:1,layerGamma:1},this.tdtLayer=null)}pushVector(a){this.elevationImageArr.push(a)}add(a,o=!0,c){let f;if(typeof a!="object"?f=a:f=a.imageXyzId,window.map.getLayer(f,"imageXyzId"))return!1;const{layerOpacity:u,layerBrightness:m,layerContrast:g,layerHue:v,layerSaturation:S,layerGamma:b,surfaceOpacity:O}=this.exposureEnvironmentSettings();return new Promise((k,R)=>{let F,E,P,w,T,I;if(typeof a!="object"){let C=this.query(a);C||R("缺少树结构");let{gisInfo:U}=C,{id:N,order:X,minLevel:J,maxLevel:Z,domType:ct}=U||C;F=N,E=C.url,P=J,w=Z}else F=a.imageXyzId,E=a.url,a.zIndex,P=a.minimumLevel,w=a.maximumLevel,T=a.chinaCRS,I=a.domType;if(I&&I==1){this.elevationImageLayer=new mars3d.layer.XyzLayer({imageXyzId:F,url:"http://t0.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={z}&TileRow={y}&TileCol={x}&style=default&format=tiles&tk=05f82820fb03b98230c625a0a15aff78",hasZIndex:!0,zIndex:0,minimumLevel:0,maximumLevel:15,chinaCRS:"GCJ02"}),window.map.addLayer(this.elevationImageLayer),k(this.elevationImageLayer);return}this.elevationImageLayer=new mars3d.layer.XyzLayer({imageXyzId:F,type:"xyz",url:E,hasZIndex:!0,zIndex:9,brightness:m,opacity:u,saturation:S,contrast:g,hue:v,gamma:b,alpha:O,show:!0,minimumLevel:P||0,maximumLevel:w||15,chinaCRS:T,headers:o?this.gisTkone:null}),this.elevationImageLayer.on(mars3d.EventType.load,C=>{k(C)}),window.map.addLayer(this.elevationImageLayer),c&&Object.keys(c).forEach(C=>{this.elevationImageLayer.on(fnType.get(C),U=>{c[C](U)})})})}remove(a){window.map.removeLayer(window.map.getLayer(a,"imageXyzId"))}query(a){return this.elevationImageArr.length==0?!1:this.elevationImageArr.find(o=>o.id==a)}initial(){this.elevationImageArr=[],this.elevationImageLayer=null}exposureEnvironmentSettings(){return localStorage.getItem("environmentSettings")?JSON.parse(localStorage.getItem("environmentSettings")):(localStorage.setItem("environmentSettings",JSON.stringify(this.form)),JSON.parse(JSON.stringify(this.form)))}}class dm{constructor(a,...o){Vo(this,"manualFreed",ic.debounce(()=>{let{lng:a,lat:o,alt:c,pitch:f}=window.map.getCameraView(),u;this.modelArray.forEach(m=>{var g;u=(g=m.bimModel)!=null&&g.releasedDistance?m.bimModel.releasedDistance:m.releasedDistance?m.releasedDistance:1e4,this.disTance([a,o,c],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(f,u))?window.map.getLayer(m.id,"modelId")&&this.emit("leave",m):window.map.getLayer(m.id,"modelId")||this.emit("enter",m)})},200));mars3d&&(a&&a!=null&&(this.modelArray=a),this.showModelArray=[],this.Cesium=mars3d.Cesium,this.events={})}on(a,o){(a=="enter"||a=="leave")&&(this.events[a]?this.events[a].push(o):this.events[a]=[o])}emit(a,...o){this.events[a]!=null&&this.events[a].forEach(c=>c(...o))}off(a,o){this.events[a]=this.events[a].filter(c=>c!==o)}once(a,o){const c=()=>{o(),this.off(a,c)};this.on(a,c)}say(a){return this[a]}add(a,o){this[a].push(o)}remove(a,o){this[a]=this[a].filter(function(c){return c!==o})}initial(){this.modelArray=[],this.events={}}updateCustomExcavationDetails(a,o,c,f=[],u={}){let m,g,v;switch(m=this.modelArray.find(S=>S.modelId==a).customize.bimModelExcavationDetails,v=m.find((S,b)=>{if(S.id==o)return g=b,S}),c){case"delete":m.splice(g,1);break;case"update":v.excavationDetails=f;break;case"add":m.push(u);break;case"edit":v.excavationDetails=u.excavationDetails,v.kId=u.kId;break}return m}resourceRelease(){window.map.viewer.camera.moveEnd.addEventListener(()=>{this.freed()})}freed(){let{alt:a}=window.map.getCameraView();a<2e4&&(this.freed=ic.throttle(()=>{let{lng:o,lat:c,alt:f,pitch:u}=window.map.getCameraView();this.modelArray&&this.modelArray.forEach(m=>{var v;let g=(v=m.bimModel)!=null&&v.releasedDistance?m.bimModel.releasedDistance:m.releasedDistance?m.releasedDistance:1e4;m&&this.disTance([o,c,f],[m.center._lng,m.center._lat,m.center._alt],this.calculateDistance(u,g))?window.map.getLayer(m.id,"modelId")&&this.emit("leave",m):this.showModelArray.indexOf(m.id)>=0&&!window.map.getLayer(m.id,"modelId")&&this.emit("enter",m)})},2e3),this.freed())}findPnodeId(a,o,c="id"){let f;if(a){for(var u=0;u<a.length;u++){let m=a[u];if(m[c]==o)return f=m,f;if(m.children&&m.children.length>0&&(f=this.findPnodeId(m.children,o,c),f))return f}return f}}disTance(a,o,c){let f,u,m;return f=Cesium.Cartesian3.fromDegrees(...a),u=Cesium.Cartesian3.fromDegrees(...o),m=Cesium.Cartesian3.distance(f,u),m>c}calculateDistance(a,o){let c=(a+180)%360-180;c=Math.max(-90,Math.min(c,90));let f=(o-o/5)*(Math.abs(c)/90)+o/5;return Math.round(f)}}class pm{constructor(a=[],o){mars3d&&(this.entityArr=a,this.entityLayer=new mars3d.layer.GraphicLayer({entityId:"bimEntity"}),window.map.addLayer(this.entityLayer),this.entityItem=null,this.events={},this.entityCloneLayer)}on(a,o){(a=="change"||a=="collection")&&(this.events[a]?this.events[a].push(o):this.events[a]=[o])}emit(a,...o){this.events[a]!=null&&this.events[a].forEach(c=>c(...o))}off(a,o){this.events[a]=this.events[a].filter(c=>c!==o)}offAll(){this.events={}}once(a,o){const c=()=>{o(),this.off(a,c)};this.on(a,c)}add(a,o=null,c){return new Promise((f,u)=>{var m;if(this.entityLayer){let g,v,S;if(c==null?void 0:c.isClone)this.entityCloneLayer&&(v=this.query(a),v?(S=v.bimPlanPainting?JSON.parse(v.bimPlanPainting.graphic):JSON.parse(v.graphic),S.attr=S.attr||{},S.attr.entityId=a,this.entityCloneLayer.addGraphic(S)):f({tite:"【标绘】 ID:「"+a+"」已删除",type:"error",id:a}));else{if(typeof a!="object"?(g=this.entityLayer.getGraphicByAttr(a,"entityId"),v=this.query(a),v?(S=v.bimPlanPainting?JSON.parse(v.bimPlanPainting.graphic):JSON.parse(v.graphic),S.attr=S.attr||{},S.attr.entityId=a):f({tite:"【标绘】ID:「"+a+"」已删除",type:"error",id:a})):(g=this.entityLayer.getGraphicByAttr(a.id,"entityId"),S=JSON.parse(JSON.stringify(a)),S.attr=S.attr||{},S.attr.entityId=S.attr.entityId||o,S.attr==null?S.attr={entityId:a.id}:((m=S.attr)==null?void 0:m.entityId)==null&&o&&(S.attr.entityId=o)),g)return f();this.entityLayer.addGraphic(S),f(S)}}else f()})}query(a){return this.entityArr.length==0?!1:this.entityArr.find(o=>o.id==a)}queryEntity(a){if(bimEntity.entityLayer)return bimEntity.entityLayer.getGraphicByAttr(a,"entityId")}selected(a,o=null){let c=this.entityLayer.getGraphicByAttr(a,"entityId");o==null||o.isClone,(c.options.type=="div"||c.options.type=="point")&&c._point?c.flyTo({radius:c._point._alt+500<500?5e3:c._point._alt+500}):c.flyTo()}remove(a,o=null){var f,u;(o==null?void 0:o.isClone)?this.entityCloneLayer&&((f=this.entityCloneLayer.getGraphicByAttr(a,"entityId"))==null||f.remove()):this.entityLayer.getGraphicByAttr(a,"entityId")&&((u=this.entityLayer.getGraphicByAttr(a,"entityId"))==null||u.remove(),this.entityItem&&(this.entityItem._state=="destroy"||this.entityItem.options.attr.entityId==a)&&(this.entityItem=null))}entityCloneLayerInit(){(this.entityCloneLayer==null||this.entityCloneLayer.state=="destroy")&&(this.entityCloneLayer=window.mapClone._mapEx.getLayer("bimEntity","entityId"))}entityCloneLayerRemove(){this.entityCloneLayer.remove(),this.entityCloneLayer=null}removeEntityItem(){this.entityItem=null}updateData(a){this.entityArr=a}startDrawGraphic(a){return new Promise((o,c)=>{let{type:f,style:u}=a;if(a.drawShow=!1,f=="div")if(u.html)this.entityLayer.startDraw(a).then(m=>{setTimeout(()=>{this.entityItem=m,this.entityLayer.startEditing(m)},500)});else{let{title:m,divType:g,theme_color:v,font_color:S,scaleByDistance:b,scaleByDistance_far:O,scaleByDistance_farValue:k,scaleByDistance_near:R,scaleByDistance_nearValue:F,distanceDisplayCondition:E,distanceDisplayCondition_far:P,distanceDisplayCondition_near:w,clampToGround:T}=u,I={type:"div",style:{pointerEvents:!0,scaleByDistance:b,scaleByDistance_far:O,scaleByDistance_farValue:k,scaleByDistance_near:R,scaleByDistance_nearValue:F,distanceDisplayCondition:E,distanceDisplayCondition_far:P,distanceDisplayCondition_near:w,clampToGround:T,horizontalOrigin:Cesium.HorizontalOrigin.LEFT,verticalOrigin:Cesium.VerticalOrigin.BOTTOM}};switch(g){case"1":I.style.html=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${v};--theme-font-color1:${S};">
|
|
2637
2637
|
<div class="title">${m}</div>
|
|
2638
2638
|
</div>`,I.style.horizontalOrigin=Cesium.HorizontalOrigin.CENTER;break}this.entityLayer.startDraw(I).then(C=>{setTimeout(()=>{this.entityItem=C,this.entityLayer.startEditing(C),o(C)},500)})}else a.type.type=="polylineP"&&a.style.materialType=="Color"&&a.style.depthFail==!0&&(a.style.depthFailColor=a.style.materialOptions.color),this.entityLayer.startDraw(a).then(m=>{setTimeout(()=>{this.entityItem=m,this.entityLayer.startEditing(m),o(m)},500)})})}stopDraw(a=!0){this.entityLayer&&this.entityLayer.clearDrawing(),a&&this.entityItem&&(this.entityItem.stopEditing(),this.entityItem.remove(),this.entityItem=null)}updateEntityItem(a){let o=this.entityLayer.getGraphicByAttr(a,"entityId");o?this.entityItem=o:this.removeEntityItem()}edit(a,o,c,f){let u=Cf(o,c);if(o.vectorStyle&&this.entityItem)if(o.vectorStyle.divType==5)this.entityItem.setStyle({...u,horizontalOrigin:Cesium.HorizontalOrigin.LEFT});else{if(this.entityItem.type=="circleP"&&Object.keys(u).length==1&&Object.keys(u)[0]=="radius"&&u.radius==this.entityItem.options.style.radius)return!1;this.entityItem.setStyle({...u,horizontalOrigin:Cesium.HorizontalOrigin.CENTER})}}enableDragging(a=!0){a?this.entityLayer.startEditing(this.entityItem):(this.entityLayer.stopDraw(),this.entityItem&&this.entityItem.stopEditing())}addRightMenu(){this.entityLayer.bindContextMenu([{text:"编辑对象",callback:a=>{this.emit("change",a)}},{text:"收藏对象",callback:a=>{this.emit("collection",a)}}])}removeRightMenu(){this.entityLayer.hasContextMenu()&&this.entityLayer.unbindContextMenu()}processDivData(a){let o={"--theme-color1":"theme_color","--theme-font-color1":"font_color","--theme-color2":"theme_color2","--theme-color3":"theme_color3"},c={title:"",theme_color:"",font_color:"",content:"",divType:"",divStyle:{},isMirror:!1};const f=document.createElement("div");f.innerHTML=a;const u=f.querySelector(".entity-div-style");return Object.keys(o).forEach(m=>{m=="--theme-color2"||m=="--theme-color3"?c.divStyle[o[m]]=u.style.getPropertyValue(m)||"#fff":c[o[m]]=u.style.getPropertyValue(m)}),c.title=u.querySelector(".title")?u.querySelector(".title").innerText:"标题",c.content=u.querySelector(".content")?u.querySelector(".content").innerText:"内容",c.divType=u.classList[1]?u.classList[1].replace("entity-div-style",""):"",c.isMirror=u.classList.contains("isMirror"),c}updateHtml(a,o){let{theme_color:c,font_color:f,title:u,content:m,divStyle:g}=o,{theme_color2:v,theme_color3:S}=g,b="";switch(a){case"1":b=`<div class="entity-div-style entity-div-style1" style="--theme-color1:${c};--theme-font-color1:${f};">
|
|
2639
2639
|
<div class="title">${u}</div>
|
|
@@ -2699,4 +2699,4 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
2699
2699
|
* Subject to the terms at https://gsap.com/standard-license or for
|
|
2700
2700
|
* Club GSAP members, the agreement issued with that membership.
|
|
2701
2701
|
* @author: Jack Doyle, jack@greensock.com
|
|
2702
|
-
*/var Ed,ea,Nl,Dc,Wa,bd,zc,fg=function(){return typeof window<"u"},ms={},ja=180/Math.PI,Fl=Math.PI/180,Ul=Math.atan2,Cd=1e8,kc=/([A-Z])/g,dg=/(left|right|width|margin|padding|x)/i,pg=/[\s,\(]\S/,qo={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},Bc=function(a,o){return o.set(o.t,o.p,Math.round((o.s+o.c*a)*1e4)/1e4+o.u,o)},mg=function(a,o){return o.set(o.t,o.p,a===1?o.e:Math.round((o.s+o.c*a)*1e4)/1e4+o.u,o)},gg=function(a,o){return o.set(o.t,o.p,a?Math.round((o.s+o.c*a)*1e4)/1e4+o.u:o.b,o)},vg=function(a,o){var c=o.s+o.c*a;o.set(o.t,o.p,~~(c+(c<0?-.5:.5))+o.u,o)},Ad=function(a,o){return o.set(o.t,o.p,a?o.e:o.b,o)},Pd=function(a,o){return o.set(o.t,o.p,a!==1?o.b:o.e,o)},yg=function(a,o,c){return a.style[o]=c},_g=function(a,o,c){return a.style.setProperty(o,c)},xg=function(a,o,c){return a._gsap[o]=c},wg=function(a,o,c){return a._gsap.scaleX=a._gsap.scaleY=c},Mg=function(a,o,c,f,u){var m=a._gsap;m.scaleX=m.scaleY=c,m.renderTransform(u,m)},Tg=function(a,o,c,f,u){var m=a._gsap;m[o]=c,m.renderTransform(u,m)},mn="transform",Rr=mn+"Origin",Sg=function x(a,o){var c=this,f=this.target,u=f.style,m=f._gsap;if(a in ms&&u){if(this.tfm=this.tfm||{},a!=="transform")a=qo[a]||a,~a.indexOf(",")?a.split(",").forEach(function(g){return c.tfm[g]=gs(f,g)}):this.tfm[a]=m.x?m[a]:gs(f,a),a===Rr&&(this.tfm.zOrigin=m.zOrigin);else return qo.transform.split(",").forEach(function(g){return x.call(c,g,o)});if(this.props.indexOf(mn)>=0)return;m.svg&&(this.svgo=f.getAttribute("data-svg-origin"),this.props.push(Rr,o,"")),a=mn}(u||o)&&this.props.push(a,o,u[a])},Ld=function(a){a.translate&&(a.removeProperty("translate"),a.removeProperty("scale"),a.removeProperty("rotate"))},Eg=function(){var a=this.props,o=this.target,c=o.style,f=o._gsap,u,m;for(u=0;u<a.length;u+=3)a[u+1]?o[a[u]]=a[u+2]:a[u+2]?c[a[u]]=a[u+2]:c.removeProperty(a[u].substr(0,2)==="--"?a[u]:a[u].replace(kc,"-$1").toLowerCase());if(this.tfm){for(m in this.tfm)f[m]=this.tfm[m];f.svg&&(f.renderTransform(),o.setAttribute("data-svg-origin",this.svgo||"")),u=zc(),(!u||!u.isStart)&&!c[mn]&&(Ld(c),f.zOrigin&&c[Rr]&&(c[Rr]+=" "+f.zOrigin+"px",f.zOrigin=0,f.renderTransform()),f.uncache=1)}},Rd=function(a,o){var c={target:a,props:[],revert:Eg,save:Sg};return a._gsap||Lr.core.getCache(a),o&&o.split(",").forEach(function(f){return c.save(f)}),c},Od,Nc=function(a,o){var c=ea.createElementNS?ea.createElementNS((o||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),a):ea.createElement(a);return c&&c.style?c:ea.createElement(a)},Yo=function x(a,o,c){var f=getComputedStyle(a);return f[o]||f.getPropertyValue(o.replace(kc,"-$1").toLowerCase())||f.getPropertyValue(o)||!c&&x(a,Gl(o)||o,1)||""},Id="O,Moz,ms,Ms,Webkit".split(","),Gl=function(a,o,c){var f=o||Wa,u=f.style,m=5;if(a in u&&!c)return a;for(a=a.charAt(0).toUpperCase()+a.substr(1);m--&&!(Id[m]+a in u););return m<0?null:(m===3?"ms":m>=0?Id[m]:"")+a},Fc=function(){fg()&&window.document&&(Ed=window,ea=Ed.document,Nl=ea.documentElement,Wa=Nc("div")||{style:{}},Nc("div"),mn=Gl(mn),Rr=mn+"Origin",Wa.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Od=!!Gl("perspective"),zc=Lr.core.reverting,Dc=1)},Uc=function x(a){var o=Nc("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),c=this.parentNode,f=this.nextSibling,u=this.style.cssText,m;if(Nl.appendChild(o),o.appendChild(this),this.style.display="block",a)try{m=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=x}catch{}else this._gsapBBox&&(m=this._gsapBBox());return c&&(f?c.insertBefore(this,f):c.appendChild(this)),Nl.removeChild(o),this.style.cssText=u,m},Dd=function(a,o){for(var c=o.length;c--;)if(a.hasAttribute(o[c]))return a.getAttribute(o[c])},zd=function(a){var o;try{o=a.getBBox()}catch{o=Uc.call(a,!0)}return o&&(o.width||o.height)||a.getBBox===Uc||(o=Uc.call(a,!0)),o&&!o.width&&!o.x&&!o.y?{x:+Dd(a,["x","cx","x1"])||0,y:+Dd(a,["y","cy","y1"])||0,width:0,height:0}:o},kd=function(a){return!!(a.getCTM&&(!a.parentNode||a.ownerSVGElement)&&zd(a))},Xa=function(a,o){if(o){var c=a.style,f;o in ms&&o!==Rr&&(o=mn),c.removeProperty?(f=o.substr(0,2),(f==="ms"||o.substr(0,6)==="webkit")&&(o="-"+o),c.removeProperty(f==="--"?o:o.replace(kc,"-$1").toLowerCase())):c.removeAttribute(o)}},ia=function(a,o,c,f,u,m){var g=new Pr(a._pt,o,c,0,1,m?Pd:Ad);return a._pt=g,g.b=f,g.e=u,a._props.push(c),g},Bd={deg:1,rad:1,turn:1},bg={grid:1,flex:1},na=function x(a,o,c,f){var u=parseFloat(c)||0,m=(c+"").trim().substr((u+"").length)||"px",g=Wa.style,v=dg.test(o),S=a.tagName.toLowerCase()==="svg",b=(S?"client":"offset")+(v?"Width":"Height"),O=100,k=f==="px",R=f==="%",F,E,P,w;if(f===m||!u||Bd[f]||Bd[m])return u;if(m!=="px"&&!k&&(u=x(a,o,c,"px")),w=a.getCTM&&kd(a),(R||m==="%")&&(ms[o]||~o.indexOf("adius")))return F=w?a.getBBox()[v?"width":"height"]:a[b],On(R?u/F*O:u/100*F);if(g[v?"width":"height"]=O+(k?m:f),E=~o.indexOf("adius")||f==="em"&&a.appendChild&&!S?a:a.parentNode,w&&(E=(a.ownerSVGElement||{}).parentNode),(!E||E===ea||!E.appendChild)&&(E=ea.body),P=E._gsap,P&&R&&P.width&&v&&P.time===qr.time&&!P.uncache)return On(u/P.width*O);if(R&&(o==="height"||o==="width")){var T=a.style[o];a.style[o]=O+f,F=a[b],T?a.style[o]=T:Xa(a,o)}else(R||m==="%")&&!bg[Yo(E,"display")]&&(g.position=Yo(a,"position")),E===a&&(g.position="static"),E.appendChild(Wa),F=Wa[b],E.removeChild(Wa),g.position="absolute";return v&&R&&(P=Na(E),P.time=qr.time,P.width=E[b]),On(k?F*u/O:F&&u?O/F*u:0)},gs=function(a,o,c,f){var u;return Dc||Fc(),o in qo&&o!=="transform"&&(o=qo[o],~o.indexOf(",")&&(o=o.split(",")[0])),ms[o]&&o!=="transform"?(u=Lh(a,f),u=o!=="transformOrigin"?u[o]:u.svg?u.origin:Su(Yo(a,Rr))+" "+u.zOrigin+"px"):(u=a.style[o],(!u||u==="auto"||f||~(u+"").indexOf("calc("))&&(u=Tu[o]&&Tu[o](a,o,c)||Yo(a,o)||Gf(a,o)||(o==="opacity"?1:0))),c&&!~(u+"").trim().indexOf(" ")?na(a,o,u,c)+c:u},Cg=function(a,o,c,f){if(!c||c==="none"){var u=Gl(o,a,1),m=u&&Yo(a,u,1);m&&m!==c?(o=u,c=m):o==="borderColor"&&(c=Yo(a,"borderTopColor"))}var g=new Pr(this._pt,a.style,o,0,1,wd),v=0,S=0,b,O,k,R,F,E,P,w,T,I,C,U;if(g.b=c,g.e=f,c+="",f+="",f==="auto"&&(E=a.style[o],a.style[o]=f,f=Yo(a,o)||f,E?a.style[o]=E:Xa(a,o)),b=[c,f],cd(b),c=b[0],f=b[1],k=c.match(Ol)||[],U=f.match(Ol)||[],U.length){for(;O=Ol.exec(f);)P=O[0],T=f.substring(v,O.index),F?F=(F+1)%5:(T.substr(-5)==="rgba("||T.substr(-5)==="hsla(")&&(F=1),P!==(E=k[S++]||"")&&(R=parseFloat(E)||0,C=E.substr((R+"").length),P.charAt(1)==="="&&(P=Il(R,P)+C),w=parseFloat(P),I=P.substr((w+"").length),v=Ol.lastIndex-I.length,I||(I=I||Vr.units[o]||C,v===f.length&&(f+=I,g.e+=I)),C!==I&&(R=na(a,o,E,I)||0),g._pt={_next:g._pt,p:T||S===1?T:",",s:R,c:w-R,m:F&&F<4||o==="zIndex"?Math.round:0});g.c=v<f.length?f.substring(v,f.length):""}else g.r=o==="display"&&f==="none"?Pd:Ad;return Df.test(f)&&(g.e=0),this._pt=g,g},Nd={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},Ag=function(a){var o=a.split(" "),c=o[0],f=o[1]||"50%";return(c==="top"||c==="bottom"||f==="left"||f==="right")&&(a=c,c=f,f=a),o[0]=Nd[c]||c,o[1]=Nd[f]||f,o.join(" ")},Pg=function(a,o){if(o.tween&&o.tween._time===o.tween._dur){var c=o.t,f=c.style,u=o.u,m=c._gsap,g,v,S;if(u==="all"||u===!0)f.cssText="",v=1;else for(u=u.split(","),S=u.length;--S>-1;)g=u[S],ms[g]&&(v=1,g=g==="transformOrigin"?Rr:mn),Xa(c,g);v&&(Xa(c,mn),m&&(m.svg&&c.removeAttribute("transform"),Lh(c,1),m.uncache=1,Ld(f)))}},Tu={clearProps:function(a,o,c,f,u){if(u.data!=="isFromStart"){var m=a._pt=new Pr(a._pt,o,c,0,0,Pg);return m.u=f,m.pr=-10,m.tween=u,a._props.push(c),1}}},Ph=[1,0,0,1,0,0],Fd={},Ud=function(a){return a==="matrix(1, 0, 0, 1, 0, 0)"||a==="none"||!a},Gd=function(a){var o=Yo(a,mn);return Ud(o)?Ph:o.substr(7).match(If).map(On)},Gc=function(a,o){var c=a._gsap||Na(a),f=a.style,u=Gd(a),m,g,v,S;return c.svg&&a.getAttribute("transform")?(v=a.transform.baseVal.consolidate().matrix,u=[v.a,v.b,v.c,v.d,v.e,v.f],u.join(",")==="1,0,0,1,0,0"?Ph:u):(u===Ph&&!a.offsetParent&&a!==Nl&&!c.svg&&(v=f.display,f.display="block",m=a.parentNode,(!m||!a.offsetParent)&&(S=1,g=a.nextElementSibling,Nl.appendChild(a)),u=Gd(a),v?f.display=v:Xa(a,"display"),S&&(g?m.insertBefore(a,g):m?m.appendChild(a):Nl.removeChild(a))),o&&u.length>6?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)},Hc=function(a,o,c,f,u,m){var g=a._gsap,v=u||Gc(a,!0),S=g.xOrigin||0,b=g.yOrigin||0,O=g.xOffset||0,k=g.yOffset||0,R=v[0],F=v[1],E=v[2],P=v[3],w=v[4],T=v[5],I=o.split(" "),C=parseFloat(I[0])||0,U=parseFloat(I[1])||0,N,X,J,Z;c?v!==Ph&&(X=R*P-F*E)&&(J=C*(P/X)+U*(-E/X)+(E*T-P*w)/X,Z=C*(-F/X)+U*(R/X)-(R*T-F*w)/X,C=J,U=Z):(N=zd(a),C=N.x+(~I[0].indexOf("%")?C/100*N.width:C),U=N.y+(~(I[1]||I[0]).indexOf("%")?U/100*N.height:U)),f||f!==!1&&g.smooth?(w=C-S,T=U-b,g.xOffset=O+(w*R+T*E)-w,g.yOffset=k+(w*F+T*P)-T):g.xOffset=g.yOffset=0,g.xOrigin=C,g.yOrigin=U,g.smooth=!!f,g.origin=o,g.originIsAbsolute=!!c,a.style[Rr]="0px 0px",m&&(ia(m,g,"xOrigin",S,C),ia(m,g,"yOrigin",b,U),ia(m,g,"xOffset",O,g.xOffset),ia(m,g,"yOffset",k,g.yOffset)),a.setAttribute("data-svg-origin",C+" "+U)},Lh=function(a,o){var c=a._gsap||new md(a);if("x"in c&&!o&&!c.uncache)return c;var f=a.style,u=c.scaleX<0,m="px",g="deg",v=getComputedStyle(a),S=Yo(a,Rr)||"0",b,O,k,R,F,E,P,w,T,I,C,U,N,X,J,Z,ct,Rt,tt,_t,G,Pt,Et,At,ce,re,Ft,It,Nt,Pe,pe,Wt;return b=O=k=E=P=w=T=I=C=0,R=F=1,c.svg=!!(a.getCTM&&kd(a)),v.translate&&((v.translate!=="none"||v.scale!=="none"||v.rotate!=="none")&&(f[mn]=(v.translate!=="none"?"translate3d("+(v.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(v.rotate!=="none"?"rotate("+v.rotate+") ":"")+(v.scale!=="none"?"scale("+v.scale.split(" ").join(",")+") ":"")+(v[mn]!=="none"?v[mn]:"")),f.scale=f.rotate=f.translate="none"),X=Gc(a,c.svg),c.svg&&(c.uncache?(ce=a.getBBox(),S=c.xOrigin-ce.x+"px "+(c.yOrigin-ce.y)+"px",At=""):At=!o&&a.getAttribute("data-svg-origin"),Hc(a,At||S,!!At||c.originIsAbsolute,c.smooth!==!1,X)),U=c.xOrigin||0,N=c.yOrigin||0,X!==Ph&&(Rt=X[0],tt=X[1],_t=X[2],G=X[3],b=Pt=X[4],O=Et=X[5],X.length===6?(R=Math.sqrt(Rt*Rt+tt*tt),F=Math.sqrt(G*G+_t*_t),E=Rt||tt?Ul(tt,Rt)*ja:0,T=_t||G?Ul(_t,G)*ja+E:0,T&&(F*=Math.abs(Math.cos(T*Fl))),c.svg&&(b-=U-(U*Rt+N*_t),O-=N-(U*tt+N*G))):(Wt=X[6],Pe=X[7],Ft=X[8],It=X[9],Nt=X[10],pe=X[11],b=X[12],O=X[13],k=X[14],J=Ul(Wt,Nt),P=J*ja,J&&(Z=Math.cos(-J),ct=Math.sin(-J),At=Pt*Z+Ft*ct,ce=Et*Z+It*ct,re=Wt*Z+Nt*ct,Ft=Pt*-ct+Ft*Z,It=Et*-ct+It*Z,Nt=Wt*-ct+Nt*Z,pe=Pe*-ct+pe*Z,Pt=At,Et=ce,Wt=re),J=Ul(-_t,Nt),w=J*ja,J&&(Z=Math.cos(-J),ct=Math.sin(-J),At=Rt*Z-Ft*ct,ce=tt*Z-It*ct,re=_t*Z-Nt*ct,pe=G*ct+pe*Z,Rt=At,tt=ce,_t=re),J=Ul(tt,Rt),E=J*ja,J&&(Z=Math.cos(J),ct=Math.sin(J),At=Rt*Z+tt*ct,ce=Pt*Z+Et*ct,tt=tt*Z-Rt*ct,Et=Et*Z-Pt*ct,Rt=At,Pt=ce),P&&Math.abs(P)+Math.abs(E)>359.9&&(P=E=0,w=180-w),R=On(Math.sqrt(Rt*Rt+tt*tt+_t*_t)),F=On(Math.sqrt(Et*Et+Wt*Wt)),J=Ul(Pt,Et),T=Math.abs(J)>2e-4?J*ja:0,C=pe?1/(pe<0?-pe:pe):0),c.svg&&(At=a.getAttribute("transform"),c.forceCSS=a.setAttribute("transform","")||!Ud(Yo(a,mn)),At&&a.setAttribute("transform",At))),Math.abs(T)>90&&Math.abs(T)<270&&(u?(R*=-1,T+=E<=0?180:-180,E+=E<=0?180:-180):(F*=-1,T+=T<=0?180:-180)),o=o||c.uncache,c.x=b-((c.xPercent=b&&(!o&&c.xPercent||(Math.round(a.offsetWidth/2)===Math.round(-b)?-50:0)))?a.offsetWidth*c.xPercent/100:0)+m,c.y=O-((c.yPercent=O&&(!o&&c.yPercent||(Math.round(a.offsetHeight/2)===Math.round(-O)?-50:0)))?a.offsetHeight*c.yPercent/100:0)+m,c.z=k+m,c.scaleX=On(R),c.scaleY=On(F),c.rotation=On(E)+g,c.rotationX=On(P)+g,c.rotationY=On(w)+g,c.skewX=T+g,c.skewY=I+g,c.transformPerspective=C+m,(c.zOrigin=parseFloat(S.split(" ")[2])||!o&&c.zOrigin||0)&&(f[Rr]=Su(S)),c.xOffset=c.yOffset=0,c.force3D=Vr.force3D,c.renderTransform=c.svg?Rg:Od?Hd:Lg,c.uncache=0,c},Su=function(a){return(a=a.split(" "))[0]+" "+a[1]},Vc=function(a,o,c){var f=sr(o);return On(parseFloat(o)+parseFloat(na(a,"x",c+"px",f)))+f},Lg=function(a,o){o.z="0px",o.rotationY=o.rotationX="0deg",o.force3D=0,Hd(a,o)},qa="0deg",Rh="0px",Ya=") ",Hd=function(a,o){var c=o||this,f=c.xPercent,u=c.yPercent,m=c.x,g=c.y,v=c.z,S=c.rotation,b=c.rotationY,O=c.rotationX,k=c.skewX,R=c.skewY,F=c.scaleX,E=c.scaleY,P=c.transformPerspective,w=c.force3D,T=c.target,I=c.zOrigin,C="",U=w==="auto"&&a&&a!==1||w===!0;if(I&&(O!==qa||b!==qa)){var N=parseFloat(b)*Fl,X=Math.sin(N),J=Math.cos(N),Z;N=parseFloat(O)*Fl,Z=Math.cos(N),m=Vc(T,m,X*Z*-I),g=Vc(T,g,-Math.sin(N)*-I),v=Vc(T,v,J*Z*-I+I)}P!==Rh&&(C+="perspective("+P+Ya),(f||u)&&(C+="translate("+f+"%, "+u+"%) "),(U||m!==Rh||g!==Rh||v!==Rh)&&(C+=v!==Rh||U?"translate3d("+m+", "+g+", "+v+") ":"translate("+m+", "+g+Ya),S!==qa&&(C+="rotate("+S+Ya),b!==qa&&(C+="rotateY("+b+Ya),O!==qa&&(C+="rotateX("+O+Ya),(k!==qa||R!==qa)&&(C+="skew("+k+", "+R+Ya),(F!==1||E!==1)&&(C+="scale("+F+", "+E+Ya),T.style[mn]=C||"translate(0, 0)"},Rg=function(a,o){var c=o||this,f=c.xPercent,u=c.yPercent,m=c.x,g=c.y,v=c.rotation,S=c.skewX,b=c.skewY,O=c.scaleX,k=c.scaleY,R=c.target,F=c.xOrigin,E=c.yOrigin,P=c.xOffset,w=c.yOffset,T=c.forceCSS,I=parseFloat(m),C=parseFloat(g),U,N,X,J,Z;v=parseFloat(v),S=parseFloat(S),b=parseFloat(b),b&&(b=parseFloat(b),S+=b,v+=b),v||S?(v*=Fl,S*=Fl,U=Math.cos(v)*O,N=Math.sin(v)*O,X=Math.sin(v-S)*-k,J=Math.cos(v-S)*k,S&&(b*=Fl,Z=Math.tan(S-b),Z=Math.sqrt(1+Z*Z),X*=Z,J*=Z,b&&(Z=Math.tan(b),Z=Math.sqrt(1+Z*Z),U*=Z,N*=Z)),U=On(U),N=On(N),X=On(X),J=On(J)):(U=O,J=k,N=X=0),(I&&!~(m+"").indexOf("px")||C&&!~(g+"").indexOf("px"))&&(I=na(R,"x",m,"px"),C=na(R,"y",g,"px")),(F||E||P||w)&&(I=On(I+F-(F*U+E*X)+P),C=On(C+E-(F*N+E*J)+w)),(f||u)&&(Z=R.getBBox(),I=On(I+f/100*Z.width),C=On(C+u/100*Z.height)),Z="matrix("+U+","+N+","+X+","+J+","+I+","+C+")",R.setAttribute("transform",Z),T&&(R.style[mn]=Z)},Og=function(a,o,c,f,u){var m=360,g=jn(u),v=parseFloat(u)*(g&&~u.indexOf("rad")?ja:1),S=v-f,b=f+S+"deg",O,k;return g&&(O=u.split("_")[1],O==="short"&&(S%=m,S!==S%(m/2)&&(S+=S<0?m:-m)),O==="cw"&&S<0?S=(S+m*Cd)%m-~~(S/m)*m:O==="ccw"&&S>0&&(S=(S-m*Cd)%m-~~(S/m)*m)),a._pt=k=new Pr(a._pt,o,c,f,S,mg),k.e=b,k.u="deg",a._props.push(c),k},Vd=function(a,o){for(var c in o)a[c]=o[c];return a},Ig=function(a,o,c){var f=Vd({},c._gsap),u="perspective,force3D,transformOrigin,svgOrigin",m=c.style,g,v,S,b,O,k,R,F;f.svg?(S=c.getAttribute("transform"),c.setAttribute("transform",""),m[mn]=o,g=Lh(c,1),Xa(c,mn),c.setAttribute("transform",S)):(S=getComputedStyle(c)[mn],m[mn]=o,g=Lh(c,1),m[mn]=S);for(v in ms)S=f[v],b=g[v],S!==b&&u.indexOf(v)<0&&(R=sr(S),F=sr(b),O=R!==F?na(c,v,S,F):parseFloat(S),k=parseFloat(b),a._pt=new Pr(a._pt,g,v,O,k-O,Bc),a._pt.u=F||0,a._props.push(v));Vd(g,f)};Ar("padding,margin,Width,Radius",function(x,a){var o="Top",c="Right",f="Bottom",u="Left",m=(a<3?[o,c,f,u]:[o+u,o+c,f+c,f+u]).map(function(g){return a<2?x+g:"border"+g+x});Tu[a>1?"border"+x:x]=function(g,v,S,b,O){var k,R;if(arguments.length<4)return k=m.map(function(F){return gs(g,F,S)}),R=k.join(" "),R.split(k[0]).length===5?k[0]:R;k=(b+"").split(" "),R={},m.forEach(function(F,E){return R[F]=k[E]=k[E]||k[(E-1)/2|0]}),g.init(v,R,O)}});var Wd={name:"css",register:Fc,targetTest:function(a){return a.style&&a.nodeType},init:function(a,o,c,f,u){var m=this._props,g=a.style,v=c.vars.startAt,S,b,O,k,R,F,E,P,w,T,I,C,U,N,X,J;Dc||Fc(),this.styles=this.styles||Rd(a),J=this.styles.props,this.tween=c;for(E in o)if(E!=="autoRound"&&(b=o[E],!(jr[E]&&gd(E,o,c,f,a,u)))){if(R=typeof b,F=Tu[E],R==="function"&&(b=b.call(c,f,a,u),R=typeof b),R==="string"&&~b.indexOf("random(")&&(b=Th(b)),F)F(this,a,E,b,c)&&(X=1);else if(E.substr(0,2)==="--")S=(getComputedStyle(a).getPropertyValue(E)+"").trim(),b+="",Qs.lastIndex=0,Qs.test(S)||(P=sr(S),w=sr(b)),w?P!==w&&(S=na(a,E,S,w)+w):P&&(b+=P),this.add(g,"setProperty",S,b,f,u,0,0,E),m.push(E),J.push(E,0,g[E]);else if(R!=="undefined"){if(v&&E in v?(S=typeof v[E]=="function"?v[E].call(c,f,a,u):v[E],jn(S)&&~S.indexOf("random(")&&(S=Th(S)),sr(S+"")||S==="auto"||(S+=Vr.units[E]||sr(gs(a,E))||""),(S+"").charAt(1)==="="&&(S=gs(a,E))):S=gs(a,E),k=parseFloat(S),T=R==="string"&&b.charAt(1)==="="&&b.substr(0,2),T&&(b=b.substr(2)),O=parseFloat(b),E in qo&&(E==="autoAlpha"&&(k===1&&gs(a,"visibility")==="hidden"&&O&&(k=0),J.push("visibility",0,g.visibility),ia(this,g,"visibility",k?"inherit":"hidden",O?"inherit":"hidden",!O)),E!=="scale"&&E!=="transform"&&(E=qo[E],~E.indexOf(",")&&(E=E.split(",")[0]))),I=E in ms,I){if(this.styles.save(E),C||(U=a._gsap,U.renderTransform&&!o.parseTransform||Lh(a,o.parseTransform),N=o.smoothOrigin!==!1&&U.smooth,C=this._pt=new Pr(this._pt,g,mn,0,1,U.renderTransform,U,0,-1),C.dep=1),E==="scale")this._pt=new Pr(this._pt,U,"scaleY",U.scaleY,(T?Il(U.scaleY,T+O):O)-U.scaleY||0,Bc),this._pt.u=0,m.push("scaleY",E),E+="X";else if(E==="transformOrigin"){J.push(Rr,0,g[Rr]),b=Ag(b),U.svg?Hc(a,b,0,N,0,this):(w=parseFloat(b.split(" ")[2])||0,w!==U.zOrigin&&ia(this,U,"zOrigin",U.zOrigin,w),ia(this,g,E,Su(S),Su(b)));continue}else if(E==="svgOrigin"){Hc(a,b,1,N,0,this);continue}else if(E in Fd){Og(this,U,E,k,T?Il(k,T+b):b);continue}else if(E==="smoothOrigin"){ia(this,U,"smooth",U.smooth,b);continue}else if(E==="force3D"){U[E]=b;continue}else if(E==="transform"){Ig(this,b,a);continue}}else E in g||(E=Gl(E)||E);if(I||(O||O===0)&&(k||k===0)&&!pg.test(b)&&E in g)P=(S+"").substr((k+"").length),O||(O=0),w=sr(b)||(E in Vr.units?Vr.units[E]:P),P!==w&&(k=na(a,E,S,w)),this._pt=new Pr(this._pt,I?U:g,E,k,(T?Il(k,T+O):O)-k,!I&&(w==="px"||E==="zIndex")&&o.autoRound!==!1?vg:Bc),this._pt.u=w||0,P!==w&&w!=="%"&&(this._pt.b=S,this._pt.r=gg);else if(E in g)Cg.call(this,a,E,S,T?T+b:b);else if(E in a)this.add(a,E,S||a[E],T?T+b:b,f,u);else if(E!=="parseTransform"){cc(E,b);continue}I||(E in g?J.push(E,0,g[E]):J.push(E,1,S||a[E])),m.push(E)}}X&&Md(this)},render:function(a,o){if(o.tween._time||!zc())for(var c=o._pt;c;)c.r(a,c.d),c=c._next;else o.styles.revert()},get:gs,aliases:qo,getSetter:function(a,o,c){var f=qo[o];return f&&f.indexOf(",")<0&&(o=f),o in ms&&o!==Rr&&(a._gsap.x||gs(a,"x"))?c&&bd===c?o==="scale"?wg:xg:(bd=c||{})&&(o==="scale"?Mg:Tg):a.style&&!oc(a.style[o])?yg:~o.indexOf("-")?_g:Pc(a,o)},core:{_removeProperty:Xa,_getMatrix:Gc}};Lr.utils.checkPrefix=Gl,Lr.core.getStyleSaver=Rd,function(x,a,o,c){var f=Ar(x+","+a+","+o,function(u){ms[u]=1});Ar(a,function(u){Vr.units[u]="deg",Fd[u]=1}),qo[f[13]]=x+","+a,Ar(c,function(u){var m=u.split(":");qo[m[1]]=f[m[0]]})}("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY"),Ar("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(x){Vr.units[x]="px"}),Lr.registerPlugin(Wd);var Wc=Lr.registerPlugin(Wd)||Lr;Wc.core.Tween;class Dg{constructor(a,o=!1){window.mars3d&&(this.Cesium=window.mars3d.Cesium,this.DynamicMaskingArr=[],this.DynamicMaskingStyle=[],this.canvasClientWidth=a.viewer.canvas.clientWidth,this.canvasClientHeight=a.viewer.canvas.clientHeight,this.oldSet=new Set,this.tweenMap=new Map,this.isDynamicMasking=o)}add(a,o){let c=a.options.symbol.styleOptions.label.font_size,f=a.options.vectorId,u=Number(c)*1.4,m=Number(c)*1.8,g=a.options.symbol.styleOptions.label,{color:v,outlineColor:S,backgroundColor:b}=g;a.eachGraphic(O=>{O.style.label&&this.DynamicMaskingArr.push({id:f,uid:O.id,position:O._getLablePosition(),label:O.name,width:O.name?u*O.name.length:0,height:m,color:v,outline:o.label.outline,outlineColor:S,background:o.label.background,backgroundColor:b,dynamicMaskingColor:{backgroundColor:this.Cesium.Color.fromCssColorString(o.label.backgroundColor),color:this.Cesium.Color.fromCssColorString(o.label.color),outlineColor:this.Cesium.Color.fromCssColorString(o.label.outlineColor)}})}),this.DynamicMaskingStyle.push({vectorId:a.options.vectorId,outline:o.label.outline,background:o.label.background,color:this.Cesium.Color.fromCssColorString(o.label.color),backgroundColor:this.Cesium.Color.fromCssColorString(o.label.backgroundColor),outlineColor:this.Cesium.Color.fromCssColorString(o.label.outlineColor)}),this.oldSet=new Set,this.tweenMap=new Map}remove(a){this.DynamicMaskingArr=this.DynamicMaskingArr.filter(o=>o.id!==a),this.DynamicMaskingStyle=this.DynamicMaskingStyle.filter(o=>o.vectorId!==a),this.oldSet=new Set,this.tweenMap=new Map}modify(a,o){let{label:c}=o;if(c){let{color:f,outline:u,outlineColor:m,background:g,backgroundColor:v}=c;this.DynamicMaskingArr.forEach(S=>{S.id===a&&(f!=null&&(S.color=this.Cesium.Color.fromCssColorString(f),S.dynamicMaskingColor.color=this.Cesium.Color.fromCssColorString(f)),u!=null&&(S.outline=u),m!=null&&(S.outlineColor=this.Cesium.Color.fromCssColorString(m),S.dynamicMaskingColor.outlineColor=this.Cesium.Color.fromCssColorString(m)),g!=null&&(S.background=g),v!=null&&(S.backgroundColor=this.Cesium.Color.fromCssColorString(v),S.dynamicMaskingColor.backgroundColor=this.Cesium.Color.fromCssColorString(v)))})}}getBoundingRectangle(a){var o=this.Cesium.SceneTransforms.wgs84ToWindowCoordinates(window.map.viewer.scene,a.position);return o!==void 0?new this.Cesium.BoundingRectangle(o.x,o.y,a.width,a.height):new this.Cesium.BoundingRectangle(0,0,1,1)}getNonIntersectingRectangles(){let a=[];for(var o=0;o<this.DynamicMaskingArr.length;o++){let f=!1,u=this.DynamicMaskingArr[o],m,g,v;if(g=this.getBoundingRectangle(u),!(g.x<0||g.x>this.canvasClientWidth||g.y<0||g.y>this.canvasClientHeight))if(a.length===0){a.push(o);continue}else{for(var c=0;c<a.length;c++)if(m=this.DynamicMaskingArr[a[c]],v=this.getBoundingRectangle(m),this.Cesium.Intersect.OUTSIDE!==this.Cesium.BoundingRectangle.intersect(g,v)){f=!0;break}f||a.push(o)}}return new Set(a)}ifShow(){if(this.isDynamicMasking){let o={color:.001,outlineColor:.001,backgroundColor:.001},c={color:1,outlineColor:1,backgroundColor:1},f=this.getNonIntersectingRectangles(),u=new Set([...this.oldSet].filter(g=>!f.has(g))),m=new Set([...f].filter(g=>!this.oldSet.has(g)));for(let g of u)if(this.DynamicMaskingArr[g]){if(this.tweenMap.has(g)){var a=this.tweenMap.get(g);a.kill(),this.tweenMap.delete(g)}var a=Wc.to(c,{duration:.2,color:0,outlineColor:0,backgroundColor:0,onUpdate:()=>{var S,b;var v=this.DynamicMaskingArr[g];v.backgroundColor.alpha=c.backgroundColor,v.color.alpha=c.color,v.outlineColor.alpha=c.outlineColor,(b=(S=window.map.getLayer(v.id,"vectorId"))==null?void 0:S.getGraphicByAttr(v.uid))==null||b.setStyle({label:{show:!1,outline:!1,background:!1}})}});this.tweenMap.set(g,a)}for(let g of m)if(this.DynamicMaskingArr[g]){if(this.tweenMap.has(g)){var a=this.tweenMap.get(g);a.kill(),this.tweenMap.delete(g)}let v=this.DynamicMaskingArr[g],{backgroundColor:S,color:b,outlineColor:O}=v.dynamicMaskingColor;var a=Wc.to(o,{duration:.8+Math.random(),color:b.alpha,outlineColor:O.alpha,backgroundColor:S.alpha,onUpdate:()=>{var R,F;v.backgroundColor.alpha=o.backgroundColor,v.color.alpha=o.color,v.outlineColor.alpha=o.outlineColor,(F=(R=window.map.getLayer(v.id,"vectorId"))==null?void 0:R.getGraphicByAttr(v.uid))==null||F.setStyle({label:{show:!0,outline:v.outline,background:v.background,color:v.color,outlineColor:v.outlineColor,backgroundColor:v.backgroundColor}})}});this.tweenMap.set(g,a)}this.oldSet=f}}switchDynamicMasking(a){if(a)window.map.getLayers().forEach(o=>{var c;if((c=o.options)!=null&&c.vectorId){let{color:f,outlineColor:u,backgroundColor:m}=o.options.symbol.styleOptions.label;o.eachGraphic(g=>{g.setStyle({label:{color:f.withAlpha(0),outlineColor:u.withAlpha(.001),backgroundColor:m.withAlpha(.001),show:!1,background:!1,outline:!1}})})}});else if(this.DynamicMaskingStyle.length>0){let o;this.DynamicMaskingStyle.forEach(c=>{let{color:f,outline:u,outlineColor:m,background:g,backgroundColor:v,vectorId:S}=c;o=window.map.getLayer(S,"vectorId"),o&&o.eachGraphic(b=>{b.setStyle({label:{color:f,outlineColor:m,backgroundColor:v,show:!0,background:g,outline:u}})})})}this.isDynamicMasking=a,window.bimVector.switchDynamicMasking(a)}}const zg=()=>{var x,a;window.planClip.clearPlanClip(),window.schemeEvnModify.clearAllEvnModify(),window.bimRotatePoint.stop(),window.bimTrafficSimulation.destruction(),window.bimMapPTV&&window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.bimMapCompare.hide?window.bimMapCompare.hide():window.bimMapCompare.destroyControl(),window.updateEitor({content:""}),(a=(x=window.glftSet)==null?void 0:x.glftList)==null||a.map(o=>{o.remove()})},kg=()=>{var x,a;window.planClip.clearPlanClip(),window.bimRotatePoint.stop(),window.bimTrafficSimulation.destruction(),window.bimMapPTV&&window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.bimMapCompare.hide?window.bimMapCompare.hide():window.bimMapCompare.destroyControl(),window.updateEitor({content:""}),(a=(x=window.glftSet)==null?void 0:x.glftList)==null||a.map(o=>{o.remove()})},Bg=()=>{var x,a;window.planClip.clearPlanClip(),window.bimRotatePoint.stop(),window.bimTrafficSimulation.destruction(),window.bimMapPTV&&window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.bimMapCompare.hide?window.bimMapCompare.hide():window.bimMapCompare.destroyControl(),window.updateEitor({content:""}),(a=(x=window.glftSet)==null?void 0:x.glftList)==null||a.map(o=>{o.remove()})},Ng=x=>{let a=[];if(x.forEach(o=>{let{id:c}=o,f={id:c,mockData:{nextPage:[],item:[],previousPage:[]}};o.operate.forEach((u,m)=>{let g=jc(u,f.mockData.nextPage);f.mockData.nextPage=g,f.mockData.item=g,f.mockData.previousPage=[]}),a.push(f)}),a.length>1)for(let o=1;o<a.length;o++){let c=a[o].mockData,f=a[o-1].mockData.item;const u=new Map;f.forEach(m=>{m.type!="rotatePoint"&&m.type!="viewpoint"&&m.type!="roaming"&&m.type!="splitScreen"&&m.type!="planClip"&&m.type!="editor"&&m.type!="gltf"?u.set(`${m.screenplayId}-${m.type}`,m):a[o].mockData.previousPage.push(m)}),c.nextPage.forEach(m=>{const g=`${m.screenplayId}-${m.type}`;let v={...u.get(g)};if(u.has(g)){if(m.type=="flight")a[o].mockData.previousPage.unshift(u.get(g)),v=m;else{let S={};Object.keys(m).forEach(b=>{if(b!="screenplayId"&&b!="type")if(u.get(g)[b])if(Object.keys(S).length==0&&(S={screenplayId:m.screenplayId,type:m.type}),b=="clip"||b=="flat"){v[b]=jd(u.get(g)[b],m[b]);let O={screenplayId:m.screenplayId,type:m.type};O[b]={},Object.keys(m[b]).forEach(k=>{u.get(g)[b][k]?O[b][k]=u.get(g)[b][k]:m[b][k]=="true"&&(O[b][k]="false")}),S={...O,...S}}else S[b]=u.get(g)[b],v[b]=m[b];else a[o].mockData.previousPage.some(O=>O.screenplayId===m.screenplayId)||(S={...Xd(m,b),...S}),v[b]=m[b]}),Object.keys(S).length>0&&a[o].mockData.previousPage.push(S)}u.set(g,v)}else{let S=Xd(m);S&&a[o].mockData.previousPage.push(S),u.set(g,m)}}),a[o].mockData.item=Array.from(u.values())}return a},jc=(x,a=null)=>{let{executionProperty:o,screenplayId:c,property:f,type:u,delay:m,delayTime:g}=x;if((f=="add"||f==!0)&&(f="true"),(f=="remove"||f==!1)&&(f="false"),u=="pit"){let S=window.schemeEvnModify.getModelModifyDataForInitModelById(c);if(S){let b={};b[c]=f,f=b,c=S.modelId,o=S.type}}let v;if(c==""||c=="map")if(c="map",u=="splitScreen"){let{splitScreenMode:S,splitScreenModePercentage:b}=JSON.parse(f);a.push({screenplayId:c,type:u,executionProperty:{splitScreenMode:S,splitScreenModePercentage:b,mapClone:[]}});let{mainScreen:O,secondaryScreen:k}=JSON.parse(x.property);O.forEach(F=>{jc(F,a)});let R=a.find(F=>F.type=="splitScreen");k.forEach(F=>{jc(F,R.executionProperty.mapClone)})}else v={screenplayId:c,type:u,executionProperty:f},(o=="clip"||o=="flat")&&(v[o]=f),m&&(v.delay=m),g&&(v.delayTime=g),a&&(u=="flight"?a.unshift(v):a.push(v));else v=a?a.find(S=>S.screenplayId==c):null,v?(o=="clip"||o=="flat"?v[o]?v[o]=jd(v[o],f):(v[o]=f,v.type="model"):v[o]=f,m&&(v[o].delay=m),g&&(v[o].delayTime=g)):(v={screenplayId:c,type:u},m&&(v.delay=m),g&&(v.delayTime=g),o=="clip"||o=="flat"?(v[o]=f,v.type="model"):v[o]=f,a&&(u=="flight"?a.unshift(v):a.push(v)));return a||v},jd=(x,a)=>{const o={...x};for(const c in a)a.hasOwnProperty(c)&&(o[c]=a[c]);return o},Xd=(x,a="all")=>{let{type:o,show:c,screenplayId:f,overallStaining:u,clip:m,flat:g}=x,v={};if(a=="all")switch(o){case"model":case"shp":case"plot":c&&c=="true"&&(v={screenplayId:f,type:o,show:"false"}),u&&(v={...v,screenplayId:f,type:o,overallStaining:"false"}),m&&(v={...v,screenplayId:f,type:o,clip:"false"}),g&&(v={...v,screenplayId:f,type:o,flat:"false"});break;case"terrain":v={screenplayId:f,type:o,executionProperty:"true"};break;case"pit":v={screenplayId:f,type:o,executionProperty:"false"};break;case"underground":v={screenplayId:f,type:o,executionProperty:"1"};break}else switch(a){case"clip":case"flat":case"overallStaining":v={screenplayId:f,type:o},v[a]="false";break}return Object.keys(v).length>0?v:null},Fg=(x,a)=>{const o={};return Object.keys(a).forEach(c=>{x.hasOwnProperty(c)&&(o[c]=x[c])}),o},Ug=x=>/^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(0|1|0\.\d+)\s*\)$/i.test(x),Gg=x=>{var o;let a={};(x==null?void 0:x.length)>0&&x[0].operate.forEach(c=>{let{executionProperty:f,screenplayId:u,property:m,type:g}=c;(f=="show"||f=="overallStaining")&&(a[u]||(a[u]={type:g}),a[u][m]=f)}),window.map.getLayers().forEach(c=>{if((c.type=="3dtiles"||c.type=="geojson"||c.type=="tileset")&&c.options.name!="国界"){let f=c.options.modelId||c.options.vectorId;a[f]?(window.bimModel.editColor(f),window.schemeEvnModify.clearAllModelModify({isClone:!1})):c.remove()}}),(o=window.bimEntity.entityLayer.getGraphicsByAttr())==null||o.forEach(c=>{c.remove()}),window.bimMapSetUp.undergroundVal(1),window.bimTerrainProvider.show(),window.bimTrafficSimulation.destruction(),window.bimRotatePoint.stop(),window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.planClip.clearPlanClip()};class Hg{constructor(a){Vo(this,"getPositions",a=>a.length>1&&(Array.isArray(a[0])||typeof a[0]=="object")?a:this.getPositions(a[0]));Vo(this,"terrainCutById",(a,o,c)=>{switch(c==null?void 0:c.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainClipClone||this.terrainClipClone.list.find(f=>f.id==o))return;this.terrainClipClone.addArea(a.length>1?a:a[0],{id:o});break;case!1:if(!this.terrainClip||this.terrainClip.list.find(f=>f.id==o))return;this.terrainClip.addArea(a.length>1?a:a[0],{id:o});break}});Vo(this,"clearTerrainCutById",(a,o)=>{switch(o==null?void 0:o.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainClipClone)return;this.terrainClipClone.removeArea(a);break;case!1:if(!this.terrainClip)return;this.terrainClip.removeArea(a);break}});Vo(this,"terrainFlattenById",(a,o,c,f)=>{switch(f==null?void 0:f.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainFlatClone||this.terrainFlatClone.list.find(u=>u.id==c))return;this.terrainFlatClone.addArea(a.length>1?a:a[0],{id:c,height:o});break;case!1:if(!this.terrainFlat||this.terrainFlat.list.find(u=>u.id==c))return;this.terrainFlat.addArea(a.length>1?a:a[0],{id:c,height:o});break}});Vo(this,"clearTerrainFlattenById",(a,o)=>{switch(o==null?void 0:o.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainFlatClone)return;this.terrainFlatClone.removeArea(a);break;case!1:if(!this.terrainFlat)return;this.terrainFlat.removeArea(a);break}});this.flattenedEvnModifyData=a,this.modelIdListByModify=[],this.modelIdListByModifyClone=[],this.terrainClip=null,this.terrainFlat=null,this.terrainClipClone=null,this.terrainFlatClone=null,this.createTerrainModifyInstance()}getDataFromFlattenedEvnModifyListById(a){const o=this.flattenedEvnModifyData.find(c=>c.id==a);return o||null}getModelFromMapById(a,o){let c;switch(o==null?void 0:o.isClone){case!0:c=window.mapClone?window.mapClone.mapEx.getLayers():[];break;case!1:c=window.map.getLayers();break}return c.find(u=>u.options.modelId==a)}updateFlattenedEvnModifyData(a){this.flattenedEvnModifyData=a}modelCutById(a,o,c,f){const u=bimModel.queryModel(a,f);if(u&&!u.clip.list.find(m=>m.id==c))switch(u.clip.addArea(o.length>1?o:o[0],{id:c}),f==null?void 0:f.isClone){case!0:this.modelIdListByModifyClone.push(a),this.modelIdListByModifyClone=[...new Set(this.modelIdListByModifyClone)];break;case!1:this.modelIdListByModify.push(a),this.modelIdListByModify=[...new Set(this.modelIdListByModify)];break}}modelFlattenById(a,o,c,f,u){const m=bimModel.queryModel(a,u);if(m&&!m.flat.list.find(g=>g.id==f))switch(m.flat.addArea(o.length>1?o:o[0],{height:c,id:f}),u==null?void 0:u.isClone){case!0:this.modelIdListByModifyClone.push(a),this.modelIdListByModifyClone=[...new Set(this.modelIdListByModifyClone)];break;case!1:this.modelIdListByModify.push(a),this.modelIdListByModify=[...new Set(this.modelIdListByModify)];break}}clearModelCutById(a,o,c){const f=bimModel.queryModel(a,c);if(f)switch(f.clip.removeArea(o),c.isClone){case!0:this.modelIdListByModifyClone=this.modelIdListByModifyClone.filter(u=>u!=a);break;case!1:this.modelIdListByModify=this.modelIdListByModify.filter(u=>u!=a);break}}clearModelFlattenById(a,o,c){const f=bimModel.queryModel(a,c);if(f)switch(f.flat.removeArea(o),c==null?void 0:c.isClone){case!0:this.modelIdListByModifyClone=this.modelIdListByModifyClone.filter(u=>u!=a);break;case!1:this.modelIdListByModify=this.modelIdListByModify.filter(u=>u!=a);break}}createTerrainModifyInstance(){if(window.map.thing.terrainClip)this.terrainClip=window.map.thing.terrainClip;else{const a=new mars3d.thing.TerrainClip({czm:!1,splitNum:30});window.map.addThing(a),this.terrainClip=a}if(window.map.thing.terrainFlat)this.terrainFlat=window.map.thing.terrainFlat;else{const a=new mars3d.thing.TerrainFlat({splitNum:80});window.map.addThing(a),this.terrainFlat=a}}createTerrainModifyInstanceClone(){if(window.mapClone){if(window.mapClone.mapEx.thing.terrainClip)this.terrainClipClone=window.mapClone.mapEx.thing.terrainClip;else{const a=new mars3d.thing.TerrainClip({splitNum:80});window.mapClone.mapEx.addThing(a),this.terrainClipClone=a}if(window.mapClone.mapEx.thing.terrainFlat)this.terrainFlatClone=window.mapClone.mapEx.thing.terrainFlat;else{const a=new mars3d.thing.TerrainFlat({splitNum:80});window.mapClone.mapEx.addThing(a),this.terrainFlatClone=a}}}evnModifyById(a,o){o=arguments[1]||{isClone:!1};const c=this.getDataFromFlattenedEvnModifyListById(a);if(!c)return;const{bimEnvModify:{embsId:f,dataType:u,modifyType:m}}=c;for(let g=0;g<c.bimEnvModifyData.length;g++){const v=this.getPositions(JSON.parse(c.bimEnvModifyData[g].modifyData).coordinates),S=JSON.parse(c.bimEnvModifyData[g].modifyData).depth,b=c.bimEnvModifyData[g].id;u===0&&m===0?this.modelCutById(f,v,b,o):u===0&&m===1?this.modelFlattenById(f,v,S,b,o):u===1&&m===0?this.terrainCutById(v,b,o):u===1&&m===1&&this.terrainFlattenById(v,S,b,o)}}evnModifyByIdAndAddOptionsToStore(a,o){o=arguments[1]||{isClone:!1};const c=this.getDataFromFlattenedEvnModifyListById(a);if(!c)return;const{bimEnvModify:{embsId:f,dataType:u,modifyType:m}}=c;for(let g=0;g<c.bimEnvModifyData.length;g++){const v=this.getPositions(JSON.parse(c.bimEnvModifyData[g].modifyData).coordinates),S=JSON.parse(c.bimEnvModifyData[g].modifyData).depth,b=c.bimEnvModifyData[g].id;u===0&&m===0?this.modelCutById(f,v,b,o):u===0&&m===1?this.modelFlattenById(f,v,S,b,o):u===1&&m===0?this.terrainCutById(v,b,o):u===1&&m===1&&this.terrainFlattenById(v,S,b,o)}}clearEvnModifyById(a,o){o=arguments[1]||{isClone:!1};const c=this.getDataFromFlattenedEvnModifyListById(a);if(!c)return;const{bimEnvModify:{embsId:f,dataType:u,modifyType:m}}=c;for(let g=0;g<c.bimEnvModifyData.length;g++){const v=c.bimEnvModifyData[g].id;u===0&&m===0?this.clearModelCutById(f,v,o):u===0&&m===1?this.clearModelFlattenById(f,v,o):u===1&&m===0?this.clearTerrainCutById(v,o):u===1&&m===1&&this.clearTerrainFlattenById(v,o)}}clearAllModelModify(a){switch(a||(a={isClone:!1}),a.isClone){case!0:this.modelIdListByModifyClone.forEach(o=>{const c=bimModel.queryModel(o,a);c&&(c.clip.clear(),c.flat.clear())}),this.modelIdListByModifyClone=[];break;case!1:this.modelIdListByModify.forEach(o=>{const c=bimModel.queryModel(o,a);c&&(c.clip.clear(),c.flat.clear())}),this.modelIdListByModify=[];break}}clearAllTerrainModify(a){switch(a||(a={isClone:!1}),a.isClone){case!0:window.mapClone||(this.terrainClipClone=null,this.terrainFlatClone=null),this.terrainClipClone&&this.terrainClipClone.clear(),this.terrainFlatClone&&this.terrainFlatClone.clear();break;case!1:this.terrainClip&&this.terrainClip.clear(),this.terrainFlat&&this.terrainFlat.clear();break}}getModelModifyDataForInitModelById(a){const o=this.getDataFromFlattenedEvnModifyListById(a);if(!o)return;const{bimEnvModify:{embsId:c,dataType:f,modifyType:u}}=o;if(this.modelIdListByModify.push(c),f===0&&u===0){const m={modelId:c,type:"clip",area:[]};for(let g=0;g<o.bimEnvModifyData.length;g++){const S={positions:this.getPositions(JSON.parse(o.bimEnvModifyData[g].modifyData).coordinates),id:o.bimEnvModifyData[g].id};m.area.push(S)}return m}else if(f===0&&u===1){const m={modelId:c,type:"flat",area:[]};for(let g=0;g<o.bimEnvModifyData.length;g++){const v=this.getPositions(JSON.parse(o.bimEnvModifyData[g].modifyData).coordinates),S={id:o.bimEnvModifyData[g].id,positions:v,height:JSON.parse(o.bimEnvModifyData[g].modifyData).depth};return m.area.push(S),m}}}clearAllEvnModify(){this.clearAllModelModify({isClone:!0}),this.clearAllModelModify({isClone:!1}),this.clearAllTerrainModify({isClone:!0}),this.clearAllTerrainModify({isClone:!1})}destroyTerrainModifyInstance(){this.clearAllTerrainModify({isClone:!0}),this.clearAllTerrainModify({isClone:!1}),this.terrainClip&&window.map.removeThing(this.terrainClip,!0),this.terrainFlat&&window.map.removeThing(this.terrainFlat,!0),this.terrainClipClone&&window.mapClone.mapEx.removeThing(this.terrainClipClone,!0),this.terrainFlatClone&&window.mapClone.mapEx.removeThing(this.terrainFlatClone,!0),this.terrainClip=null,this.terrainFlat=null,this.terrainClipClone=null,this.terrainFlatClone=null}}let Za=null,vs=null,un=null,Oh=null,qd=null;class Vg{constructor(){mars3d&&(this.projectId=parseInt(window.sessionStorage.getItem("nowProjectId")),this.viewPoints=new Array,this.roaming=null)}init(a,o,c){vs=new mars3d.layer.GraphicLayer({isContinued:!0}),qd=new mars3d.layer.GraphicLayer({isContinued:!0}),window.map.addLayer(qd);var f=this;window.map.addLayer(vs),vs.on(mars3d.EventType.drawCreated,function(u){var m=u.graphic.point;o(m),setTimeout(()=>{f.startDrawGraphic()},500)}),vs.on(mars3d.EventType.editStop,function(u){}),un=c,Za=new mars3d.layer.GraphicLayer,window.map.addLayer(Za),a.length<=1e3?this.viewPoints=a:this.viewPoints=a.filter((u,m)=>{if(m%100==0)return u}),un.Viewovalue==1||un.Viewovalue==4?this.calculateAngle(this.viewPoints):this.addGraphicLayer(this.viewPoints)}addDemoGraphic1(a){Oh=new mars3d.graphic.PolylinePrimitive({positions:a.map(o=>[o.lng,o.lat,o.alt+1e3]),style:{width:10,materialType:mars3d.MaterialType.LineFlow,materialOptions:{color:"red",image:{}.VITE_APP_PUBLIC_PATH+"img/line/line-arrow-blue.png",speed:10,repeat:new Cesium.Cartesian2(5,1),mixt:!0}}}),Za.addGraphic(Oh)}getAzimuth(a,o,c,f){const u=R=>R*Math.PI/180,m=R=>R*180/Math.PI,g=u(o),v=u(f),S=u(c-a),b=Math.sin(S)*Math.cos(v),O=Math.cos(g)*Math.sin(v)-Math.sin(g)*Math.cos(v)*Math.cos(S);let k=Math.atan2(b,O);return(m(k)+360)%360}calculateAngle(a){var o=a,c=o.map((f,u)=>{if(u<o.length-1){Cesium.Cartesian3.fromRadians(f.lng,f.lat,f.alt),Cesium.Cartesian3.fromRadians(o[u+1].lng,o[u+1].lat,o[u+1].alt);var m=this.getAzimuth(f.lng,f.lat,o[u+1].lng,o[u+1].lat);const g=new mars3d.graphic.PolylinePrimitive({positions:[a[u-1],a[u]],style:{width:1,color:"rgba(200,200,200,0 )"}});return Za.addGraphic(g),un.Viewovalue==4&&(un.followedX=-1,un.followedZ=f.alt+2),{lng:f.lng,lat:f.lat,alt:f.alt?f.alt+un.followedZ*1:un.followedZ*1,heading:m,pitch:un.followedX*1,duration:(g.distance/un.speed).toFixed(2),stop:0}}});this.viewPoints=c}addGraphicLayer(a){var o=Cesium.Cartesian3.fromRadians(a[0].lng,a[0].lat,a[0].alt),c=Cesium.Cartesian3.fromRadians(a[1].lng,a[1].lat,a[1].alt),f=mars3d.MeasureUtil.getAngle(o,c,!0),u={};un.Viewovalue==1?u={camera:{type:"dy",followedX:un.followedX,followedZ:un.followedZ},interpolation:!0,interpolationDegree:10,autoMiddleDynamicPosition:!0,autoMiddleTimePosition:!0,interpolationAlgorithm:Cesium.HermitePolynomialApproximation}:un.Viewovalue==2?u={camera:{type:"gs",pitch:un.followedX,heading:f,radius:500},interpolation:!0,interpolationDegree:2,clockLoop:!0,path:{width:3,color:Cesium.Color.fromCssColorString("rgba(200,200,200,0 )")}}:un.Viewovalue==4?u={camera:{type:"dy",followedX:100,followedZ:1}}:u={camera:{type:"sd",followedZ:un.followedZ},polyline:{width:3,color:Cesium.Color.fromCssColorString("rgba(200,200,200,0 )")}},a=a.map(g=>[g.lng,g.lat,g.alt]),a.length;var m={type:"time",list:a,interpolationAlgorithm:Cesium.HermitePolynomialApproximation,interpolation:!0,speed:un.speed,interpolationDegree:2};this.fixedRoute=new mars3d.graphic.FixedRoute({name:"贴地表表面漫游",autoStop:!0,position:m,offsetHeight:1.6,clockLoop:!0,...u}),Za.addGraphic(this.fixedRoute)}getAzimuthFromCartesian(a,o){const c=F=>F*180/Math.PI,f=Cesium.Cartographic.fromCartesian(a),u=Cesium.Cartographic.fromCartesian(o),m=f.longitude,g=f.latitude,v=u.longitude,S=u.latitude,b=v-m,O=Math.sin(b)*Math.cos(S),k=Math.cos(g)*Math.sin(S)-Math.sin(g)*Math.cos(S)*Math.cos(b);let R=Math.atan2(O,k);return(c(R)+360)%360}addDemoGraphic(a,o){Oh=new mars3d.graphic.BillboardEntity({position:new mars3d.LngLatPoint(a.lng,a.lat,a.alt),style:{width:30,height:32,image:"/img/marker/markffd700.png",scale:1,scaleByDistance:!1,scaleByDistance_far:1e6,scaleByDistance_farValue:.1,scaleByDistance_near:1e3,scaleByDistance_nearValue:1,distanceDisplayCondition:!1,distanceDisplayCondition_far:2e6,distanceDisplayCondition_near:0,clampToGround:!1,visibleDepth:!1,drawShow:!0,label:{text:o,pixelOffsetY:-50}}}),vs.addGraphic(Oh)}startDrawGraphic(a){vs.startDraw({type:"billboard",style:{width:30,height:32,image:"/img/marker/markffd700.png",scale:1,scaleByDistance:!1,scaleByDistance_far:1e6,scaleByDistance_farValue:.1,scaleByDistance_near:1e3,scaleByDistance_nearValue:1,distanceDisplayCondition:!1,distanceDisplayCondition_far:2e6,distanceDisplayCondition_near:0,clampToGround:!1,visibleDepth:!1,drawShow:!0,pixelOffsetY:-20,classificationType:Cesium.ClassificationType.TERRAIN}}).then(o=>{})}start(){Oh.remove(),un.Viewovalue==1||un.Viewovalue==4?map.setCameraViewList(this.viewPoints,{maximumHeight:1}):(this.fixedRoute.start(),window.map.scene.screenSpaceCameraController.enableCollisionDetection=!1)}pause(){(un.Viewovalue==1||un.Viewovalue==4)&&map.pauseCameraViewList(),this.fixedRoute&&this.fixedRoute.pause()}resume(){(un.Viewovalue==1||un.Viewovalue==4)&&map.proceedCameraViewList(),this.fixedRoute&&this.fixedRoute.proceed()}stop(){this.fixedRoute&&this.fixedRoute.stop(),window.map.pauseCameraViewList()}remove(){this.fixedRoute&&this.fixedRoute.stop(),window.map.removeThing(this.roaming,!0),window.map.removeLayer(Za,!0),window.map.removeLayer(vs,!0),this.viewPoints=[],window.map.scene.screenSpaceCameraController.enableCollisionDetection=!1}removeCameraRoute(){Za.clear(),vs.clear()}removegraphicLayerpoint(){vs.clear()}}class Wg{constructor(a){window.mars3d&&(this.beginDate="",this.endDate="",this.trafficSimulationLayer,this.trafficSimulationArr=[],this.style={width:4,materialType:window.mars3d.MaterialType.LineFlow,materialOptions:{color:"#4ac2ff",image:a+"img/textures/line-arrow-right.png",repeat_x:20,repeat_y:1,speed:20},clampToGround:!1,allowDrillPick:!1},this.vehicleSum=100,this.automobileList=[{url:a+"gltf/cart/suv.gltf"},{url:a+"gltf/cart/red_car.gltf"},{url:a+"gltf/cart/benchi3.gltf"},{url:a+"gltf/cart/suv.gltf"},{url:a+"gltf/cart/red_car.gltf"},{url:a+"gltf/cart/benchi3.gltf"},{url:a+"gltf/cart/aodi1.gltf"},{url:a+"gltf/cart/kache3.gltf"},{url:a+"gltf/cart/bus2.gltf"},{url:a+"gltf/cart/jiaobanche.glb"}],this._czmlLayer,this._czmlLayerArr=[])}init(a){this.trafficSimulationLayer=new window.mars3d.layer.GraphicLayer({temporaryLayer:"trafficSimulation"}),window.map.addLayer(this.trafficSimulationLayer),window.map.bimMapEdit="1",a&&(this._czmlLayerArr=a)}addLine(a){let o=a;return new Promise(c=>{this.trafficSimulationLayer.startDraw({type:"polylineP",attr:{trafficSimulationId:o},style:{...this.style}}).then(f=>{c({id:o,pointSet:f.coordinates,speed:45,interval:1})})})}initLine(a){let o;a.forEach(c=>{let{id:f}=c;o=new window.mars3d.graphic.PolylinePrimitive({positions:c.pointSet,attr:{trafficSimulationId:f},style:{...this.style}}),this.trafficSimulationLayer.addGraphic(o)})}positionLine(a){let o=this.queryTrafficSimulationLine(a);o&&o.flyTo({scale:2})}deleteLine(a){let o=this.queryTrafficSimulationLine(a);o&&o.remove()}queryTrafficSimulationArr(){return this.trafficSimulationArr}queryTrafficSimulationLine(a){if(this.trafficSimulationLayer)return this.trafficSimulationLayer.getGraphicByAttr(a,"trafficSimulationId")}editTrafficSimulationLine(a,o=!0){let c=this.queryTrafficSimulationLine(a);o?(c.setStyle({materialOptions:{color:"#ff0000"}}),c.startEditing()):(c.setStyle({materialOptions:{color:"#4ac2ff"}}),c.stopEditing())}fallbackTrafficSimulationLine(a,o){let c=this.queryTrafficSimulationLine(a);c.positions=o,c.setStyle({materialOptions:{color:"#4ac2ff"}}),c.stopEditing()}queryCzml(a){return this._czmlLayerArr.length==0?!1:this._czmlLayerArr.find(o=>o.id==a)}start(a="add"){this.destruction(),this.beginDate=new Date().toISOString();let o=new Date,c=o.getDate();o.setDate(c+1),this.endDate=o.toISOString(),this.queryCzml(a)?this.trafficSimulationArr=JSON.parse(this.queryCzml(a).route):this.trafficSimulationArr=[],this.processingData(a)}selected(){this._czmlLayer&&this._czmlLayer.flyTo()}destruction(){this.trafficSimulationLayer.clear(),this.trafficSimulationLayer.remove(),this._czmlLayer&&(this._czmlLayer.clear(),this._czmlLayer.remove()),this.style.materialOptions.color="#4ac2ff",window.map.bimMapEdit="0"}processingData(a){let o=[{version:"1.0",id:"document",clock:{interval:`${this.beginDate}/${this.endDate}`,currentTime:this.beginDate,multiplier:1},style:{distanceDisplayCondition:!0,distanceDisplayCondition_far:1e6,distanceDisplayCondition_near:0}}],c=[],f=JSON.parse(JSON.stringify(this.trafficSimulationArr)),u=0;f.forEach((g,v)=>{let S=0,b=0,{pointSet:O,interval:k,speed:R}=g;for(let F=1;F<=this.vehicleSum;F++){let E=JSON.parse(JSON.stringify(O));E.forEach((w,T)=>{T>0&&(u=parseFloat((this.disTance(w,E[T-1].slice(1))/R).toFixed(2)),S+=u),T==0&&(S=b),w.unshift(S)}),b+=k,c=E.reduce((w,T)=>w.concat(T));let P={name:`${v}-${F}`,availability:`${this.beginDate}/${this.endDate}`,orientation:{velocityReference:"#position"},position:{epoch:this.beginDate,cartographicDegrees:c},style:{minimumPixelSize:100,distanceDisplayCondition:!0,distanceDisplayCondition_near:0,distanceDisplayCondition_far:1300,distanceDisplayPoint:{color:"#00ff00",pixelSize:8}},model:{show:!0,gltf:this.randomVehicle(),heightReference:window.Cesium.HeightReference.CLAMP_TO_GROUND,clampToGround:!0,scale:.6,minimumPixelSize:100,maximumScale:1.5}};o.push(P)}});let m={name:"交通模拟",czmlId:a,data:o,autoUpdateClock:!1};this._czmlLayer=new window.mars3d.layer.CzmlLayer(m),window.map.addLayer(this._czmlLayer)}disTance(a,o){let c,f,u;return c=window.Cesium.Cartesian3.fromDegrees(...a),f=window.Cesium.Cartesian3.fromDegrees(...o),u=window.Cesium.Cartesian3.distance(c,f),u}randomVehicle(){let a=Math.round(Math.random()*(this.automobileList.length-1));return this.automobileList[a].url}}const jg=[Tf,bf],Xg={continuation:null,mapModali:null,install(x){if(jg.forEach((m,g)=>{x.component(m.name,m)}),this.continuation){x.config.globalProperties.$continuation=this.continuation;return}let a=oi.createApp(Sf),o=document.createElement("div"),c=document.body;if(c.appendChild(o),this.loading=a.mount(o),x.config.globalProperties.$loading=this.loading,window.$continuation=this.loading,this.mapModali){x.config.globalProperties.$mapModali=this.mapModali;return}let f=oi.createApp(Ef),u=document.createElement("div");c.appendChild(u),this.mapModali=f.mount(u),x.config.globalProperties.$mapModali=this.mapModali,window.$mapModali=this.mapModali}};Pi.BimBackgroundPlate=bf,Pi.BimCutscenes=Sf,Pi.BimElevationImage=fm,Pi.BimEntity=pm,Pi.BimModel=lm,Pi.BimModify=Hg,Pi.BimTerrainProvider=cm,Pi.BimTrafficSimulation=Wg,Pi.BimVector=um,Pi.Bimroaming=Vg,Pi.Button=Tf,Pi.ChbimPlugins=Xg,Pi.DynamicMasking=Dg,Pi.MapModali=Ef,Pi.PanoramicView=_m,Pi.ViewShed=dm,Pi.getSameKeyData=Fg,Pi.init=zg,Pi.initMap=Gg,Pi.isValidRGBA=Ug,Pi.nextPage=Bg,Pi.operateMapData=Ng,Pi.previousPage=kg,Object.defineProperty(Pi,Symbol.toStringTag,{value:"Module"})});
|
|
2702
|
+
*/var Ed,ea,Nl,Dc,Wa,bd,zc,fg=function(){return typeof window<"u"},ms={},ja=180/Math.PI,Fl=Math.PI/180,Ul=Math.atan2,Cd=1e8,kc=/([A-Z])/g,dg=/(left|right|width|margin|padding|x)/i,pg=/[\s,\(]\S/,qo={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},Bc=function(a,o){return o.set(o.t,o.p,Math.round((o.s+o.c*a)*1e4)/1e4+o.u,o)},mg=function(a,o){return o.set(o.t,o.p,a===1?o.e:Math.round((o.s+o.c*a)*1e4)/1e4+o.u,o)},gg=function(a,o){return o.set(o.t,o.p,a?Math.round((o.s+o.c*a)*1e4)/1e4+o.u:o.b,o)},vg=function(a,o){var c=o.s+o.c*a;o.set(o.t,o.p,~~(c+(c<0?-.5:.5))+o.u,o)},Ad=function(a,o){return o.set(o.t,o.p,a?o.e:o.b,o)},Pd=function(a,o){return o.set(o.t,o.p,a!==1?o.b:o.e,o)},yg=function(a,o,c){return a.style[o]=c},_g=function(a,o,c){return a.style.setProperty(o,c)},xg=function(a,o,c){return a._gsap[o]=c},wg=function(a,o,c){return a._gsap.scaleX=a._gsap.scaleY=c},Mg=function(a,o,c,f,u){var m=a._gsap;m.scaleX=m.scaleY=c,m.renderTransform(u,m)},Tg=function(a,o,c,f,u){var m=a._gsap;m[o]=c,m.renderTransform(u,m)},mn="transform",Rr=mn+"Origin",Sg=function x(a,o){var c=this,f=this.target,u=f.style,m=f._gsap;if(a in ms&&u){if(this.tfm=this.tfm||{},a!=="transform")a=qo[a]||a,~a.indexOf(",")?a.split(",").forEach(function(g){return c.tfm[g]=gs(f,g)}):this.tfm[a]=m.x?m[a]:gs(f,a),a===Rr&&(this.tfm.zOrigin=m.zOrigin);else return qo.transform.split(",").forEach(function(g){return x.call(c,g,o)});if(this.props.indexOf(mn)>=0)return;m.svg&&(this.svgo=f.getAttribute("data-svg-origin"),this.props.push(Rr,o,"")),a=mn}(u||o)&&this.props.push(a,o,u[a])},Ld=function(a){a.translate&&(a.removeProperty("translate"),a.removeProperty("scale"),a.removeProperty("rotate"))},Eg=function(){var a=this.props,o=this.target,c=o.style,f=o._gsap,u,m;for(u=0;u<a.length;u+=3)a[u+1]?o[a[u]]=a[u+2]:a[u+2]?c[a[u]]=a[u+2]:c.removeProperty(a[u].substr(0,2)==="--"?a[u]:a[u].replace(kc,"-$1").toLowerCase());if(this.tfm){for(m in this.tfm)f[m]=this.tfm[m];f.svg&&(f.renderTransform(),o.setAttribute("data-svg-origin",this.svgo||"")),u=zc(),(!u||!u.isStart)&&!c[mn]&&(Ld(c),f.zOrigin&&c[Rr]&&(c[Rr]+=" "+f.zOrigin+"px",f.zOrigin=0,f.renderTransform()),f.uncache=1)}},Rd=function(a,o){var c={target:a,props:[],revert:Eg,save:Sg};return a._gsap||Lr.core.getCache(a),o&&o.split(",").forEach(function(f){return c.save(f)}),c},Od,Nc=function(a,o){var c=ea.createElementNS?ea.createElementNS((o||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),a):ea.createElement(a);return c&&c.style?c:ea.createElement(a)},Yo=function x(a,o,c){var f=getComputedStyle(a);return f[o]||f.getPropertyValue(o.replace(kc,"-$1").toLowerCase())||f.getPropertyValue(o)||!c&&x(a,Gl(o)||o,1)||""},Id="O,Moz,ms,Ms,Webkit".split(","),Gl=function(a,o,c){var f=o||Wa,u=f.style,m=5;if(a in u&&!c)return a;for(a=a.charAt(0).toUpperCase()+a.substr(1);m--&&!(Id[m]+a in u););return m<0?null:(m===3?"ms":m>=0?Id[m]:"")+a},Fc=function(){fg()&&window.document&&(Ed=window,ea=Ed.document,Nl=ea.documentElement,Wa=Nc("div")||{style:{}},Nc("div"),mn=Gl(mn),Rr=mn+"Origin",Wa.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Od=!!Gl("perspective"),zc=Lr.core.reverting,Dc=1)},Uc=function x(a){var o=Nc("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),c=this.parentNode,f=this.nextSibling,u=this.style.cssText,m;if(Nl.appendChild(o),o.appendChild(this),this.style.display="block",a)try{m=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=x}catch{}else this._gsapBBox&&(m=this._gsapBBox());return c&&(f?c.insertBefore(this,f):c.appendChild(this)),Nl.removeChild(o),this.style.cssText=u,m},Dd=function(a,o){for(var c=o.length;c--;)if(a.hasAttribute(o[c]))return a.getAttribute(o[c])},zd=function(a){var o;try{o=a.getBBox()}catch{o=Uc.call(a,!0)}return o&&(o.width||o.height)||a.getBBox===Uc||(o=Uc.call(a,!0)),o&&!o.width&&!o.x&&!o.y?{x:+Dd(a,["x","cx","x1"])||0,y:+Dd(a,["y","cy","y1"])||0,width:0,height:0}:o},kd=function(a){return!!(a.getCTM&&(!a.parentNode||a.ownerSVGElement)&&zd(a))},Xa=function(a,o){if(o){var c=a.style,f;o in ms&&o!==Rr&&(o=mn),c.removeProperty?(f=o.substr(0,2),(f==="ms"||o.substr(0,6)==="webkit")&&(o="-"+o),c.removeProperty(f==="--"?o:o.replace(kc,"-$1").toLowerCase())):c.removeAttribute(o)}},ia=function(a,o,c,f,u,m){var g=new Pr(a._pt,o,c,0,1,m?Pd:Ad);return a._pt=g,g.b=f,g.e=u,a._props.push(c),g},Bd={deg:1,rad:1,turn:1},bg={grid:1,flex:1},na=function x(a,o,c,f){var u=parseFloat(c)||0,m=(c+"").trim().substr((u+"").length)||"px",g=Wa.style,v=dg.test(o),S=a.tagName.toLowerCase()==="svg",b=(S?"client":"offset")+(v?"Width":"Height"),O=100,k=f==="px",R=f==="%",F,E,P,w;if(f===m||!u||Bd[f]||Bd[m])return u;if(m!=="px"&&!k&&(u=x(a,o,c,"px")),w=a.getCTM&&kd(a),(R||m==="%")&&(ms[o]||~o.indexOf("adius")))return F=w?a.getBBox()[v?"width":"height"]:a[b],On(R?u/F*O:u/100*F);if(g[v?"width":"height"]=O+(k?m:f),E=~o.indexOf("adius")||f==="em"&&a.appendChild&&!S?a:a.parentNode,w&&(E=(a.ownerSVGElement||{}).parentNode),(!E||E===ea||!E.appendChild)&&(E=ea.body),P=E._gsap,P&&R&&P.width&&v&&P.time===qr.time&&!P.uncache)return On(u/P.width*O);if(R&&(o==="height"||o==="width")){var T=a.style[o];a.style[o]=O+f,F=a[b],T?a.style[o]=T:Xa(a,o)}else(R||m==="%")&&!bg[Yo(E,"display")]&&(g.position=Yo(a,"position")),E===a&&(g.position="static"),E.appendChild(Wa),F=Wa[b],E.removeChild(Wa),g.position="absolute";return v&&R&&(P=Na(E),P.time=qr.time,P.width=E[b]),On(k?F*u/O:F&&u?O/F*u:0)},gs=function(a,o,c,f){var u;return Dc||Fc(),o in qo&&o!=="transform"&&(o=qo[o],~o.indexOf(",")&&(o=o.split(",")[0])),ms[o]&&o!=="transform"?(u=Lh(a,f),u=o!=="transformOrigin"?u[o]:u.svg?u.origin:Su(Yo(a,Rr))+" "+u.zOrigin+"px"):(u=a.style[o],(!u||u==="auto"||f||~(u+"").indexOf("calc("))&&(u=Tu[o]&&Tu[o](a,o,c)||Yo(a,o)||Gf(a,o)||(o==="opacity"?1:0))),c&&!~(u+"").trim().indexOf(" ")?na(a,o,u,c)+c:u},Cg=function(a,o,c,f){if(!c||c==="none"){var u=Gl(o,a,1),m=u&&Yo(a,u,1);m&&m!==c?(o=u,c=m):o==="borderColor"&&(c=Yo(a,"borderTopColor"))}var g=new Pr(this._pt,a.style,o,0,1,wd),v=0,S=0,b,O,k,R,F,E,P,w,T,I,C,U;if(g.b=c,g.e=f,c+="",f+="",f==="auto"&&(E=a.style[o],a.style[o]=f,f=Yo(a,o)||f,E?a.style[o]=E:Xa(a,o)),b=[c,f],cd(b),c=b[0],f=b[1],k=c.match(Ol)||[],U=f.match(Ol)||[],U.length){for(;O=Ol.exec(f);)P=O[0],T=f.substring(v,O.index),F?F=(F+1)%5:(T.substr(-5)==="rgba("||T.substr(-5)==="hsla(")&&(F=1),P!==(E=k[S++]||"")&&(R=parseFloat(E)||0,C=E.substr((R+"").length),P.charAt(1)==="="&&(P=Il(R,P)+C),w=parseFloat(P),I=P.substr((w+"").length),v=Ol.lastIndex-I.length,I||(I=I||Vr.units[o]||C,v===f.length&&(f+=I,g.e+=I)),C!==I&&(R=na(a,o,E,I)||0),g._pt={_next:g._pt,p:T||S===1?T:",",s:R,c:w-R,m:F&&F<4||o==="zIndex"?Math.round:0});g.c=v<f.length?f.substring(v,f.length):""}else g.r=o==="display"&&f==="none"?Pd:Ad;return Df.test(f)&&(g.e=0),this._pt=g,g},Nd={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},Ag=function(a){var o=a.split(" "),c=o[0],f=o[1]||"50%";return(c==="top"||c==="bottom"||f==="left"||f==="right")&&(a=c,c=f,f=a),o[0]=Nd[c]||c,o[1]=Nd[f]||f,o.join(" ")},Pg=function(a,o){if(o.tween&&o.tween._time===o.tween._dur){var c=o.t,f=c.style,u=o.u,m=c._gsap,g,v,S;if(u==="all"||u===!0)f.cssText="",v=1;else for(u=u.split(","),S=u.length;--S>-1;)g=u[S],ms[g]&&(v=1,g=g==="transformOrigin"?Rr:mn),Xa(c,g);v&&(Xa(c,mn),m&&(m.svg&&c.removeAttribute("transform"),Lh(c,1),m.uncache=1,Ld(f)))}},Tu={clearProps:function(a,o,c,f,u){if(u.data!=="isFromStart"){var m=a._pt=new Pr(a._pt,o,c,0,0,Pg);return m.u=f,m.pr=-10,m.tween=u,a._props.push(c),1}}},Ph=[1,0,0,1,0,0],Fd={},Ud=function(a){return a==="matrix(1, 0, 0, 1, 0, 0)"||a==="none"||!a},Gd=function(a){var o=Yo(a,mn);return Ud(o)?Ph:o.substr(7).match(If).map(On)},Gc=function(a,o){var c=a._gsap||Na(a),f=a.style,u=Gd(a),m,g,v,S;return c.svg&&a.getAttribute("transform")?(v=a.transform.baseVal.consolidate().matrix,u=[v.a,v.b,v.c,v.d,v.e,v.f],u.join(",")==="1,0,0,1,0,0"?Ph:u):(u===Ph&&!a.offsetParent&&a!==Nl&&!c.svg&&(v=f.display,f.display="block",m=a.parentNode,(!m||!a.offsetParent)&&(S=1,g=a.nextElementSibling,Nl.appendChild(a)),u=Gd(a),v?f.display=v:Xa(a,"display"),S&&(g?m.insertBefore(a,g):m?m.appendChild(a):Nl.removeChild(a))),o&&u.length>6?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)},Hc=function(a,o,c,f,u,m){var g=a._gsap,v=u||Gc(a,!0),S=g.xOrigin||0,b=g.yOrigin||0,O=g.xOffset||0,k=g.yOffset||0,R=v[0],F=v[1],E=v[2],P=v[3],w=v[4],T=v[5],I=o.split(" "),C=parseFloat(I[0])||0,U=parseFloat(I[1])||0,N,X,J,Z;c?v!==Ph&&(X=R*P-F*E)&&(J=C*(P/X)+U*(-E/X)+(E*T-P*w)/X,Z=C*(-F/X)+U*(R/X)-(R*T-F*w)/X,C=J,U=Z):(N=zd(a),C=N.x+(~I[0].indexOf("%")?C/100*N.width:C),U=N.y+(~(I[1]||I[0]).indexOf("%")?U/100*N.height:U)),f||f!==!1&&g.smooth?(w=C-S,T=U-b,g.xOffset=O+(w*R+T*E)-w,g.yOffset=k+(w*F+T*P)-T):g.xOffset=g.yOffset=0,g.xOrigin=C,g.yOrigin=U,g.smooth=!!f,g.origin=o,g.originIsAbsolute=!!c,a.style[Rr]="0px 0px",m&&(ia(m,g,"xOrigin",S,C),ia(m,g,"yOrigin",b,U),ia(m,g,"xOffset",O,g.xOffset),ia(m,g,"yOffset",k,g.yOffset)),a.setAttribute("data-svg-origin",C+" "+U)},Lh=function(a,o){var c=a._gsap||new md(a);if("x"in c&&!o&&!c.uncache)return c;var f=a.style,u=c.scaleX<0,m="px",g="deg",v=getComputedStyle(a),S=Yo(a,Rr)||"0",b,O,k,R,F,E,P,w,T,I,C,U,N,X,J,Z,ct,Rt,tt,_t,G,Pt,Et,At,ce,re,Ft,It,Nt,Pe,pe,Wt;return b=O=k=E=P=w=T=I=C=0,R=F=1,c.svg=!!(a.getCTM&&kd(a)),v.translate&&((v.translate!=="none"||v.scale!=="none"||v.rotate!=="none")&&(f[mn]=(v.translate!=="none"?"translate3d("+(v.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+(v.rotate!=="none"?"rotate("+v.rotate+") ":"")+(v.scale!=="none"?"scale("+v.scale.split(" ").join(",")+") ":"")+(v[mn]!=="none"?v[mn]:"")),f.scale=f.rotate=f.translate="none"),X=Gc(a,c.svg),c.svg&&(c.uncache?(ce=a.getBBox(),S=c.xOrigin-ce.x+"px "+(c.yOrigin-ce.y)+"px",At=""):At=!o&&a.getAttribute("data-svg-origin"),Hc(a,At||S,!!At||c.originIsAbsolute,c.smooth!==!1,X)),U=c.xOrigin||0,N=c.yOrigin||0,X!==Ph&&(Rt=X[0],tt=X[1],_t=X[2],G=X[3],b=Pt=X[4],O=Et=X[5],X.length===6?(R=Math.sqrt(Rt*Rt+tt*tt),F=Math.sqrt(G*G+_t*_t),E=Rt||tt?Ul(tt,Rt)*ja:0,T=_t||G?Ul(_t,G)*ja+E:0,T&&(F*=Math.abs(Math.cos(T*Fl))),c.svg&&(b-=U-(U*Rt+N*_t),O-=N-(U*tt+N*G))):(Wt=X[6],Pe=X[7],Ft=X[8],It=X[9],Nt=X[10],pe=X[11],b=X[12],O=X[13],k=X[14],J=Ul(Wt,Nt),P=J*ja,J&&(Z=Math.cos(-J),ct=Math.sin(-J),At=Pt*Z+Ft*ct,ce=Et*Z+It*ct,re=Wt*Z+Nt*ct,Ft=Pt*-ct+Ft*Z,It=Et*-ct+It*Z,Nt=Wt*-ct+Nt*Z,pe=Pe*-ct+pe*Z,Pt=At,Et=ce,Wt=re),J=Ul(-_t,Nt),w=J*ja,J&&(Z=Math.cos(-J),ct=Math.sin(-J),At=Rt*Z-Ft*ct,ce=tt*Z-It*ct,re=_t*Z-Nt*ct,pe=G*ct+pe*Z,Rt=At,tt=ce,_t=re),J=Ul(tt,Rt),E=J*ja,J&&(Z=Math.cos(J),ct=Math.sin(J),At=Rt*Z+tt*ct,ce=Pt*Z+Et*ct,tt=tt*Z-Rt*ct,Et=Et*Z-Pt*ct,Rt=At,Pt=ce),P&&Math.abs(P)+Math.abs(E)>359.9&&(P=E=0,w=180-w),R=On(Math.sqrt(Rt*Rt+tt*tt+_t*_t)),F=On(Math.sqrt(Et*Et+Wt*Wt)),J=Ul(Pt,Et),T=Math.abs(J)>2e-4?J*ja:0,C=pe?1/(pe<0?-pe:pe):0),c.svg&&(At=a.getAttribute("transform"),c.forceCSS=a.setAttribute("transform","")||!Ud(Yo(a,mn)),At&&a.setAttribute("transform",At))),Math.abs(T)>90&&Math.abs(T)<270&&(u?(R*=-1,T+=E<=0?180:-180,E+=E<=0?180:-180):(F*=-1,T+=T<=0?180:-180)),o=o||c.uncache,c.x=b-((c.xPercent=b&&(!o&&c.xPercent||(Math.round(a.offsetWidth/2)===Math.round(-b)?-50:0)))?a.offsetWidth*c.xPercent/100:0)+m,c.y=O-((c.yPercent=O&&(!o&&c.yPercent||(Math.round(a.offsetHeight/2)===Math.round(-O)?-50:0)))?a.offsetHeight*c.yPercent/100:0)+m,c.z=k+m,c.scaleX=On(R),c.scaleY=On(F),c.rotation=On(E)+g,c.rotationX=On(P)+g,c.rotationY=On(w)+g,c.skewX=T+g,c.skewY=I+g,c.transformPerspective=C+m,(c.zOrigin=parseFloat(S.split(" ")[2])||!o&&c.zOrigin||0)&&(f[Rr]=Su(S)),c.xOffset=c.yOffset=0,c.force3D=Vr.force3D,c.renderTransform=c.svg?Rg:Od?Hd:Lg,c.uncache=0,c},Su=function(a){return(a=a.split(" "))[0]+" "+a[1]},Vc=function(a,o,c){var f=sr(o);return On(parseFloat(o)+parseFloat(na(a,"x",c+"px",f)))+f},Lg=function(a,o){o.z="0px",o.rotationY=o.rotationX="0deg",o.force3D=0,Hd(a,o)},qa="0deg",Rh="0px",Ya=") ",Hd=function(a,o){var c=o||this,f=c.xPercent,u=c.yPercent,m=c.x,g=c.y,v=c.z,S=c.rotation,b=c.rotationY,O=c.rotationX,k=c.skewX,R=c.skewY,F=c.scaleX,E=c.scaleY,P=c.transformPerspective,w=c.force3D,T=c.target,I=c.zOrigin,C="",U=w==="auto"&&a&&a!==1||w===!0;if(I&&(O!==qa||b!==qa)){var N=parseFloat(b)*Fl,X=Math.sin(N),J=Math.cos(N),Z;N=parseFloat(O)*Fl,Z=Math.cos(N),m=Vc(T,m,X*Z*-I),g=Vc(T,g,-Math.sin(N)*-I),v=Vc(T,v,J*Z*-I+I)}P!==Rh&&(C+="perspective("+P+Ya),(f||u)&&(C+="translate("+f+"%, "+u+"%) "),(U||m!==Rh||g!==Rh||v!==Rh)&&(C+=v!==Rh||U?"translate3d("+m+", "+g+", "+v+") ":"translate("+m+", "+g+Ya),S!==qa&&(C+="rotate("+S+Ya),b!==qa&&(C+="rotateY("+b+Ya),O!==qa&&(C+="rotateX("+O+Ya),(k!==qa||R!==qa)&&(C+="skew("+k+", "+R+Ya),(F!==1||E!==1)&&(C+="scale("+F+", "+E+Ya),T.style[mn]=C||"translate(0, 0)"},Rg=function(a,o){var c=o||this,f=c.xPercent,u=c.yPercent,m=c.x,g=c.y,v=c.rotation,S=c.skewX,b=c.skewY,O=c.scaleX,k=c.scaleY,R=c.target,F=c.xOrigin,E=c.yOrigin,P=c.xOffset,w=c.yOffset,T=c.forceCSS,I=parseFloat(m),C=parseFloat(g),U,N,X,J,Z;v=parseFloat(v),S=parseFloat(S),b=parseFloat(b),b&&(b=parseFloat(b),S+=b,v+=b),v||S?(v*=Fl,S*=Fl,U=Math.cos(v)*O,N=Math.sin(v)*O,X=Math.sin(v-S)*-k,J=Math.cos(v-S)*k,S&&(b*=Fl,Z=Math.tan(S-b),Z=Math.sqrt(1+Z*Z),X*=Z,J*=Z,b&&(Z=Math.tan(b),Z=Math.sqrt(1+Z*Z),U*=Z,N*=Z)),U=On(U),N=On(N),X=On(X),J=On(J)):(U=O,J=k,N=X=0),(I&&!~(m+"").indexOf("px")||C&&!~(g+"").indexOf("px"))&&(I=na(R,"x",m,"px"),C=na(R,"y",g,"px")),(F||E||P||w)&&(I=On(I+F-(F*U+E*X)+P),C=On(C+E-(F*N+E*J)+w)),(f||u)&&(Z=R.getBBox(),I=On(I+f/100*Z.width),C=On(C+u/100*Z.height)),Z="matrix("+U+","+N+","+X+","+J+","+I+","+C+")",R.setAttribute("transform",Z),T&&(R.style[mn]=Z)},Og=function(a,o,c,f,u){var m=360,g=jn(u),v=parseFloat(u)*(g&&~u.indexOf("rad")?ja:1),S=v-f,b=f+S+"deg",O,k;return g&&(O=u.split("_")[1],O==="short"&&(S%=m,S!==S%(m/2)&&(S+=S<0?m:-m)),O==="cw"&&S<0?S=(S+m*Cd)%m-~~(S/m)*m:O==="ccw"&&S>0&&(S=(S-m*Cd)%m-~~(S/m)*m)),a._pt=k=new Pr(a._pt,o,c,f,S,mg),k.e=b,k.u="deg",a._props.push(c),k},Vd=function(a,o){for(var c in o)a[c]=o[c];return a},Ig=function(a,o,c){var f=Vd({},c._gsap),u="perspective,force3D,transformOrigin,svgOrigin",m=c.style,g,v,S,b,O,k,R,F;f.svg?(S=c.getAttribute("transform"),c.setAttribute("transform",""),m[mn]=o,g=Lh(c,1),Xa(c,mn),c.setAttribute("transform",S)):(S=getComputedStyle(c)[mn],m[mn]=o,g=Lh(c,1),m[mn]=S);for(v in ms)S=f[v],b=g[v],S!==b&&u.indexOf(v)<0&&(R=sr(S),F=sr(b),O=R!==F?na(c,v,S,F):parseFloat(S),k=parseFloat(b),a._pt=new Pr(a._pt,g,v,O,k-O,Bc),a._pt.u=F||0,a._props.push(v));Vd(g,f)};Ar("padding,margin,Width,Radius",function(x,a){var o="Top",c="Right",f="Bottom",u="Left",m=(a<3?[o,c,f,u]:[o+u,o+c,f+c,f+u]).map(function(g){return a<2?x+g:"border"+g+x});Tu[a>1?"border"+x:x]=function(g,v,S,b,O){var k,R;if(arguments.length<4)return k=m.map(function(F){return gs(g,F,S)}),R=k.join(" "),R.split(k[0]).length===5?k[0]:R;k=(b+"").split(" "),R={},m.forEach(function(F,E){return R[F]=k[E]=k[E]||k[(E-1)/2|0]}),g.init(v,R,O)}});var Wd={name:"css",register:Fc,targetTest:function(a){return a.style&&a.nodeType},init:function(a,o,c,f,u){var m=this._props,g=a.style,v=c.vars.startAt,S,b,O,k,R,F,E,P,w,T,I,C,U,N,X,J;Dc||Fc(),this.styles=this.styles||Rd(a),J=this.styles.props,this.tween=c;for(E in o)if(E!=="autoRound"&&(b=o[E],!(jr[E]&&gd(E,o,c,f,a,u)))){if(R=typeof b,F=Tu[E],R==="function"&&(b=b.call(c,f,a,u),R=typeof b),R==="string"&&~b.indexOf("random(")&&(b=Th(b)),F)F(this,a,E,b,c)&&(X=1);else if(E.substr(0,2)==="--")S=(getComputedStyle(a).getPropertyValue(E)+"").trim(),b+="",Qs.lastIndex=0,Qs.test(S)||(P=sr(S),w=sr(b)),w?P!==w&&(S=na(a,E,S,w)+w):P&&(b+=P),this.add(g,"setProperty",S,b,f,u,0,0,E),m.push(E),J.push(E,0,g[E]);else if(R!=="undefined"){if(v&&E in v?(S=typeof v[E]=="function"?v[E].call(c,f,a,u):v[E],jn(S)&&~S.indexOf("random(")&&(S=Th(S)),sr(S+"")||S==="auto"||(S+=Vr.units[E]||sr(gs(a,E))||""),(S+"").charAt(1)==="="&&(S=gs(a,E))):S=gs(a,E),k=parseFloat(S),T=R==="string"&&b.charAt(1)==="="&&b.substr(0,2),T&&(b=b.substr(2)),O=parseFloat(b),E in qo&&(E==="autoAlpha"&&(k===1&&gs(a,"visibility")==="hidden"&&O&&(k=0),J.push("visibility",0,g.visibility),ia(this,g,"visibility",k?"inherit":"hidden",O?"inherit":"hidden",!O)),E!=="scale"&&E!=="transform"&&(E=qo[E],~E.indexOf(",")&&(E=E.split(",")[0]))),I=E in ms,I){if(this.styles.save(E),C||(U=a._gsap,U.renderTransform&&!o.parseTransform||Lh(a,o.parseTransform),N=o.smoothOrigin!==!1&&U.smooth,C=this._pt=new Pr(this._pt,g,mn,0,1,U.renderTransform,U,0,-1),C.dep=1),E==="scale")this._pt=new Pr(this._pt,U,"scaleY",U.scaleY,(T?Il(U.scaleY,T+O):O)-U.scaleY||0,Bc),this._pt.u=0,m.push("scaleY",E),E+="X";else if(E==="transformOrigin"){J.push(Rr,0,g[Rr]),b=Ag(b),U.svg?Hc(a,b,0,N,0,this):(w=parseFloat(b.split(" ")[2])||0,w!==U.zOrigin&&ia(this,U,"zOrigin",U.zOrigin,w),ia(this,g,E,Su(S),Su(b)));continue}else if(E==="svgOrigin"){Hc(a,b,1,N,0,this);continue}else if(E in Fd){Og(this,U,E,k,T?Il(k,T+b):b);continue}else if(E==="smoothOrigin"){ia(this,U,"smooth",U.smooth,b);continue}else if(E==="force3D"){U[E]=b;continue}else if(E==="transform"){Ig(this,b,a);continue}}else E in g||(E=Gl(E)||E);if(I||(O||O===0)&&(k||k===0)&&!pg.test(b)&&E in g)P=(S+"").substr((k+"").length),O||(O=0),w=sr(b)||(E in Vr.units?Vr.units[E]:P),P!==w&&(k=na(a,E,S,w)),this._pt=new Pr(this._pt,I?U:g,E,k,(T?Il(k,T+O):O)-k,!I&&(w==="px"||E==="zIndex")&&o.autoRound!==!1?vg:Bc),this._pt.u=w||0,P!==w&&w!=="%"&&(this._pt.b=S,this._pt.r=gg);else if(E in g)Cg.call(this,a,E,S,T?T+b:b);else if(E in a)this.add(a,E,S||a[E],T?T+b:b,f,u);else if(E!=="parseTransform"){cc(E,b);continue}I||(E in g?J.push(E,0,g[E]):J.push(E,1,S||a[E])),m.push(E)}}X&&Md(this)},render:function(a,o){if(o.tween._time||!zc())for(var c=o._pt;c;)c.r(a,c.d),c=c._next;else o.styles.revert()},get:gs,aliases:qo,getSetter:function(a,o,c){var f=qo[o];return f&&f.indexOf(",")<0&&(o=f),o in ms&&o!==Rr&&(a._gsap.x||gs(a,"x"))?c&&bd===c?o==="scale"?wg:xg:(bd=c||{})&&(o==="scale"?Mg:Tg):a.style&&!oc(a.style[o])?yg:~o.indexOf("-")?_g:Pc(a,o)},core:{_removeProperty:Xa,_getMatrix:Gc}};Lr.utils.checkPrefix=Gl,Lr.core.getStyleSaver=Rd,function(x,a,o,c){var f=Ar(x+","+a+","+o,function(u){ms[u]=1});Ar(a,function(u){Vr.units[u]="deg",Fd[u]=1}),qo[f[13]]=x+","+a,Ar(c,function(u){var m=u.split(":");qo[m[1]]=f[m[0]]})}("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY","transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective","0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY"),Ar("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(x){Vr.units[x]="px"}),Lr.registerPlugin(Wd);var Wc=Lr.registerPlugin(Wd)||Lr;Wc.core.Tween;class Dg{constructor(a,o=!1){window.mars3d&&(this.Cesium=window.mars3d.Cesium,this.DynamicMaskingArr=[],this.DynamicMaskingStyle=[],this.canvasClientWidth=a.viewer.canvas.clientWidth,this.canvasClientHeight=a.viewer.canvas.clientHeight,this.oldSet=new Set,this.tweenMap=new Map,this.isDynamicMasking=o)}add(a,o){let c=a.options.symbol.styleOptions.label.font_size,f=a.options.vectorId,u=Number(c)*1.4,m=Number(c)*1.8,g=a.options.symbol.styleOptions.label,{color:v,outlineColor:S,backgroundColor:b}=g;a.eachGraphic(O=>{O.style.label&&this.DynamicMaskingArr.push({id:f,uid:O.id,position:O._getLablePosition(),label:O.name,width:O.name?u*O.name.length:0,height:m,color:v,outline:o.label.outline,outlineColor:S,background:o.label.background,backgroundColor:b,dynamicMaskingColor:{backgroundColor:this.Cesium.Color.fromCssColorString(o.label.backgroundColor),color:this.Cesium.Color.fromCssColorString(o.label.color),outlineColor:this.Cesium.Color.fromCssColorString(o.label.outlineColor)}})}),this.DynamicMaskingStyle.push({vectorId:a.options.vectorId,outline:o.label.outline,background:o.label.background,color:this.Cesium.Color.fromCssColorString(o.label.color),backgroundColor:this.Cesium.Color.fromCssColorString(o.label.backgroundColor),outlineColor:this.Cesium.Color.fromCssColorString(o.label.outlineColor)}),this.oldSet=new Set,this.tweenMap=new Map}remove(a){this.DynamicMaskingArr=this.DynamicMaskingArr.filter(o=>o.id!==a),this.DynamicMaskingStyle=this.DynamicMaskingStyle.filter(o=>o.vectorId!==a),this.oldSet=new Set,this.tweenMap=new Map}modify(a,o){let{label:c}=o;if(c){let{color:f,outline:u,outlineColor:m,background:g,backgroundColor:v}=c;this.DynamicMaskingArr.forEach(S=>{S.id===a&&(f!=null&&(S.color=this.Cesium.Color.fromCssColorString(f),S.dynamicMaskingColor.color=this.Cesium.Color.fromCssColorString(f)),u!=null&&(S.outline=u),m!=null&&(S.outlineColor=this.Cesium.Color.fromCssColorString(m),S.dynamicMaskingColor.outlineColor=this.Cesium.Color.fromCssColorString(m)),g!=null&&(S.background=g),v!=null&&(S.backgroundColor=this.Cesium.Color.fromCssColorString(v),S.dynamicMaskingColor.backgroundColor=this.Cesium.Color.fromCssColorString(v)))})}}getBoundingRectangle(a){var o=this.Cesium.SceneTransforms.wgs84ToWindowCoordinates(window.map.viewer.scene,a.position);return o!==void 0?new this.Cesium.BoundingRectangle(o.x,o.y,a.width,a.height):new this.Cesium.BoundingRectangle(0,0,1,1)}getNonIntersectingRectangles(){let a=[];for(var o=0;o<this.DynamicMaskingArr.length;o++){let f=!1,u=this.DynamicMaskingArr[o],m,g,v;if(g=this.getBoundingRectangle(u),!(g.x<0||g.x>this.canvasClientWidth||g.y<0||g.y>this.canvasClientHeight))if(a.length===0){a.push(o);continue}else{for(var c=0;c<a.length;c++)if(m=this.DynamicMaskingArr[a[c]],v=this.getBoundingRectangle(m),this.Cesium.Intersect.OUTSIDE!==this.Cesium.BoundingRectangle.intersect(g,v)){f=!0;break}f||a.push(o)}}return new Set(a)}ifShow(){if(this.isDynamicMasking){let o={color:.001,outlineColor:.001,backgroundColor:.001},c={color:1,outlineColor:1,backgroundColor:1},f=this.getNonIntersectingRectangles(),u=new Set([...this.oldSet].filter(g=>!f.has(g))),m=new Set([...f].filter(g=>!this.oldSet.has(g)));for(let g of u)if(this.DynamicMaskingArr[g]){if(this.tweenMap.has(g)){var a=this.tweenMap.get(g);a.kill(),this.tweenMap.delete(g)}var a=Wc.to(c,{duration:.2,color:0,outlineColor:0,backgroundColor:0,onUpdate:()=>{var S,b;var v=this.DynamicMaskingArr[g];v.backgroundColor.alpha=c.backgroundColor,v.color.alpha=c.color,v.outlineColor.alpha=c.outlineColor,(b=(S=window.map.getLayer(v.id,"vectorId"))==null?void 0:S.getGraphicByAttr(v.uid))==null||b.setStyle({label:{show:!1,outline:!1,background:!1}})}});this.tweenMap.set(g,a)}for(let g of m)if(this.DynamicMaskingArr[g]){if(this.tweenMap.has(g)){var a=this.tweenMap.get(g);a.kill(),this.tweenMap.delete(g)}let v=this.DynamicMaskingArr[g],{backgroundColor:S,color:b,outlineColor:O}=v.dynamicMaskingColor;var a=Wc.to(o,{duration:.8+Math.random(),color:b.alpha,outlineColor:O.alpha,backgroundColor:S.alpha,onUpdate:()=>{var R,F;v.backgroundColor.alpha=o.backgroundColor,v.color.alpha=o.color,v.outlineColor.alpha=o.outlineColor,(F=(R=window.map.getLayer(v.id,"vectorId"))==null?void 0:R.getGraphicByAttr(v.uid))==null||F.setStyle({label:{show:!0,outline:v.outline,background:v.background,color:v.color,outlineColor:v.outlineColor,backgroundColor:v.backgroundColor}})}});this.tweenMap.set(g,a)}this.oldSet=f}}switchDynamicMasking(a){if(a)window.map.getLayers().forEach(o=>{var c;if((c=o.options)!=null&&c.vectorId){let{color:f,outlineColor:u,backgroundColor:m}=o.options.symbol.styleOptions.label;o.eachGraphic(g=>{g.setStyle({label:{color:f.withAlpha(0),outlineColor:u.withAlpha(.001),backgroundColor:m.withAlpha(.001),show:!1,background:!1,outline:!1}})})}});else if(this.DynamicMaskingStyle.length>0){let o;this.DynamicMaskingStyle.forEach(c=>{let{color:f,outline:u,outlineColor:m,background:g,backgroundColor:v,vectorId:S}=c;o=window.map.getLayer(S,"vectorId"),o&&o.eachGraphic(b=>{b.setStyle({label:{color:f,outlineColor:m,backgroundColor:v,show:!0,background:g,outline:u}})})})}this.isDynamicMasking=a,window.bimVector.switchDynamicMasking(a)}}const zg=()=>{var x,a;window.planClip.clearPlanClip(),window.schemeEvnModify.clearAllEvnModify(),window.bimRotatePoint.stop(),window.bimTrafficSimulation.destruction(),window.bimMapPTV&&window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.bimMapCompare.hide?window.bimMapCompare.hide():window.bimMapCompare.destroyControl(),window.updateEitor({content:""}),(a=(x=window.glftSet)==null?void 0:x.glftList)==null||a.map(o=>{o.remove()})},kg=()=>{var x,a;window.planClip.clearPlanClip(),window.bimRotatePoint.stop(),window.bimTrafficSimulation.destruction(),window.bimMapPTV&&window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.bimMapCompare.hide?window.bimMapCompare.hide():window.bimMapCompare.destroyControl(),window.updateEitor({content:""}),(a=(x=window.glftSet)==null?void 0:x.glftList)==null||a.map(o=>{o.remove()})},Bg=()=>{var x,a;window.planClip.clearPlanClip(),window.bimRotatePoint.stop(),window.bimTrafficSimulation.destruction(),window.bimMapPTV&&window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.bimMapCompare.hide?window.bimMapCompare.hide():window.bimMapCompare.destroyControl(),window.updateEitor({content:""}),(a=(x=window.glftSet)==null?void 0:x.glftList)==null||a.map(o=>{o.remove()})},Ng=x=>{let a=[];if(x.forEach(o=>{let{id:c}=o,f={id:c,mockData:{nextPage:[],item:[],previousPage:[]}};o.operate.forEach((u,m)=>{let g=jc(u,f.mockData.nextPage);f.mockData.nextPage=g,f.mockData.item=g,f.mockData.previousPage=[]}),a.push(f)}),a.length>1)for(let o=1;o<a.length;o++){let c=a[o].mockData,f=a[o-1].mockData.item;const u=new Map;f.forEach(m=>{m.type!="rotatePoint"&&m.type!="viewpoint"&&m.type!="roaming"&&m.type!="splitScreen"&&m.type!="planClip"&&m.type!="editor"&&m.type!="gltf"?u.set(`${m.screenplayId}-${m.type}`,m):a[o].mockData.previousPage.push(m)}),c.nextPage.forEach(m=>{const g=`${m.screenplayId}-${m.type}`;let v={...u.get(g)};if(u.has(g)){if(m.type=="flight")a[o].mockData.previousPage.unshift(u.get(g)),v=m;else{let S={};Object.keys(m).forEach(b=>{if(b!="screenplayId"&&b!="type")if(u.get(g)[b])if(Object.keys(S).length==0&&(S={screenplayId:m.screenplayId,type:m.type}),b=="clip"||b=="flat"){v[b]=jd(u.get(g)[b],m[b]);let O={screenplayId:m.screenplayId,type:m.type};O[b]={},Object.keys(m[b]).forEach(k=>{u.get(g)[b][k]?O[b][k]=u.get(g)[b][k]:m[b][k]=="true"&&(O[b][k]="false")}),S={...O,...S}}else S[b]=u.get(g)[b],v[b]=m[b];else a[o].mockData.previousPage.some(O=>O.screenplayId===m.screenplayId)||(S={...Xd(m,b),...S}),v[b]=m[b]}),Object.keys(S).length>0&&a[o].mockData.previousPage.push(S)}u.set(g,v)}else{let S=Xd(m);S&&a[o].mockData.previousPage.push(S),u.set(g,m)}}),a[o].mockData.item=Array.from(u.values())}return a},jc=(x,a=null)=>{let{executionProperty:o,screenplayId:c,property:f,type:u,delay:m,delayTime:g}=x;if((f=="add"||f==!0)&&(f="true"),(f=="remove"||f==!1)&&(f="false"),u=="pit"){let S=window.schemeEvnModify.getModelModifyDataForInitModelById(c);if(S){let b={};b[c]=f,f=b,c=S.modelId,o=S.type}}let v;if(c==""||c=="map")if(c="map",u=="splitScreen"){let{splitScreenMode:S,splitScreenModePercentage:b}=JSON.parse(f);a.push({screenplayId:c,type:u,executionProperty:{splitScreenMode:S,splitScreenModePercentage:b,mapClone:[]}});let{mainScreen:O,secondaryScreen:k}=JSON.parse(x.property);O.forEach(F=>{jc(F,a)});let R=a.find(F=>F.type=="splitScreen");k.forEach(F=>{jc(F,R.executionProperty.mapClone)})}else v={screenplayId:c,type:u,executionProperty:f},(o=="clip"||o=="flat")&&(v[o]=f),m&&(v.delay=m),g&&(v.delayTime=g),a&&(u=="flight"?a.unshift(v):a.push(v));else v=a?a.find(S=>S.screenplayId==c):null,v?(o=="clip"||o=="flat"?v[o]?v[o]=jd(v[o],f):(v[o]=f,v.type="model"):v[o]=f,m&&(v[o].delay=m),g&&(v[o].delayTime=g)):(v={screenplayId:c,type:u},m&&(v.delay=m),g&&(v.delayTime=g),o=="clip"||o=="flat"?(v[o]=f,v.type="model"):v[o]=f,a&&(u=="flight"?a.unshift(v):a.push(v)));return a||v},jd=(x,a)=>{const o={...x};for(const c in a)a.hasOwnProperty(c)&&(o[c]=a[c]);return o},Xd=(x,a="all")=>{let{type:o,show:c,screenplayId:f,overallStaining:u,clip:m,flat:g}=x,v={};if(a=="all")switch(o){case"model":case"shp":case"plot":c&&c=="true"&&(v={screenplayId:f,type:o,show:"false"}),u&&(v={...v,screenplayId:f,type:o,overallStaining:"false"}),m&&(v={...v,screenplayId:f,type:o,clip:"false"}),g&&(v={...v,screenplayId:f,type:o,flat:"false"});break;case"terrain":v={screenplayId:f,type:o,executionProperty:"true"};break;case"pit":v={screenplayId:f,type:o,executionProperty:"false"};break;case"underground":v={screenplayId:f,type:o,executionProperty:"1"};break}else switch(a){case"clip":case"flat":case"overallStaining":v={screenplayId:f,type:o},v[a]="false";break}return Object.keys(v).length>0?v:null},Fg=(x,a)=>{const o={};return Object.keys(a).forEach(c=>{x.hasOwnProperty(c)&&(o[c]=x[c])}),o},Ug=x=>/^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*(0|1|0\.\d+)\s*\)$/i.test(x),Gg=x=>{var o;let a={};(x==null?void 0:x.length)>0&&x[0].operate.forEach(c=>{let{executionProperty:f,screenplayId:u,property:m,type:g}=c;(f=="show"||f=="overallStaining")&&(a[u]||(a[u]={type:g}),a[u][m]=f)}),window.map.getLayers().forEach(c=>{if((c.type=="3dtiles"||c.type=="geojson"||c.type=="tileset")&&c.options.name!="国界"){let f=c.options.modelId||c.options.vectorId;a[f]?(window.bimModel.editColor(f),window.schemeEvnModify.clearAllModelModify({isClone:!1})):c.remove()}}),(o=window.bimEntity.entityLayer.getGraphics())==null||o.forEach(c=>{c.remove()}),window.bimMapSetUp.undergroundVal(1),window.bimTerrainProvider.show(),window.bimTrafficSimulation.destruction(),window.bimRotatePoint.stop(),window.bimMapPTV.destruction(),window.romStop(),window.complete(),window.planClip.clearPlanClip()};class Hg{constructor(a){Vo(this,"getPositions",a=>a.length>1&&(Array.isArray(a[0])||typeof a[0]=="object")?a:this.getPositions(a[0]));Vo(this,"terrainCutById",(a,o,c)=>{switch(c==null?void 0:c.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainClipClone||this.terrainClipClone.list.find(f=>f.id==o))return;this.terrainClipClone.addArea(a.length>1?a:a[0],{id:o});break;case!1:if(!this.terrainClip||this.terrainClip.list.find(f=>f.id==o))return;this.terrainClip.addArea(a.length>1?a:a[0],{id:o});break}});Vo(this,"clearTerrainCutById",(a,o)=>{switch(o==null?void 0:o.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainClipClone)return;this.terrainClipClone.removeArea(a);break;case!1:if(!this.terrainClip)return;this.terrainClip.removeArea(a);break}});Vo(this,"terrainFlattenById",(a,o,c,f)=>{switch(f==null?void 0:f.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainFlatClone||this.terrainFlatClone.list.find(u=>u.id==c))return;this.terrainFlatClone.addArea(a.length>1?a:a[0],{id:c,height:o});break;case!1:if(!this.terrainFlat||this.terrainFlat.list.find(u=>u.id==c))return;this.terrainFlat.addArea(a.length>1?a:a[0],{id:c,height:o});break}});Vo(this,"clearTerrainFlattenById",(a,o)=>{switch(o==null?void 0:o.isClone){case!0:if(this.createTerrainModifyInstanceClone(),!this.terrainFlatClone)return;this.terrainFlatClone.removeArea(a);break;case!1:if(!this.terrainFlat)return;this.terrainFlat.removeArea(a);break}});this.flattenedEvnModifyData=a,this.modelIdListByModify=[],this.modelIdListByModifyClone=[],this.terrainClip=null,this.terrainFlat=null,this.terrainClipClone=null,this.terrainFlatClone=null,this.createTerrainModifyInstance()}getDataFromFlattenedEvnModifyListById(a){const o=this.flattenedEvnModifyData.find(c=>c.id==a);return o||null}getModelFromMapById(a,o){let c;switch(o==null?void 0:o.isClone){case!0:c=window.mapClone?window.mapClone.mapEx.getLayers():[];break;case!1:c=window.map.getLayers();break}return c.find(u=>u.options.modelId==a)}updateFlattenedEvnModifyData(a){this.flattenedEvnModifyData=a}modelCutById(a,o,c,f){const u=bimModel.queryModel(a,f);if(u&&!u.clip.list.find(m=>m.id==c))switch(u.clip.addArea(o.length>1?o:o[0],{id:c}),f==null?void 0:f.isClone){case!0:this.modelIdListByModifyClone.push(a),this.modelIdListByModifyClone=[...new Set(this.modelIdListByModifyClone)];break;case!1:this.modelIdListByModify.push(a),this.modelIdListByModify=[...new Set(this.modelIdListByModify)];break}}modelFlattenById(a,o,c,f,u){const m=bimModel.queryModel(a,u);if(m&&!m.flat.list.find(g=>g.id==f))switch(m.flat.addArea(o.length>1?o:o[0],{height:c,id:f}),u==null?void 0:u.isClone){case!0:this.modelIdListByModifyClone.push(a),this.modelIdListByModifyClone=[...new Set(this.modelIdListByModifyClone)];break;case!1:this.modelIdListByModify.push(a),this.modelIdListByModify=[...new Set(this.modelIdListByModify)];break}}clearModelCutById(a,o,c){const f=bimModel.queryModel(a,c);if(f)switch(f.clip.removeArea(o),c.isClone){case!0:this.modelIdListByModifyClone=this.modelIdListByModifyClone.filter(u=>u!=a);break;case!1:this.modelIdListByModify=this.modelIdListByModify.filter(u=>u!=a);break}}clearModelFlattenById(a,o,c){const f=bimModel.queryModel(a,c);if(f)switch(f.flat.removeArea(o),c==null?void 0:c.isClone){case!0:this.modelIdListByModifyClone=this.modelIdListByModifyClone.filter(u=>u!=a);break;case!1:this.modelIdListByModify=this.modelIdListByModify.filter(u=>u!=a);break}}createTerrainModifyInstance(){if(window.map.thing.terrainClip)this.terrainClip=window.map.thing.terrainClip;else{const a=new mars3d.thing.TerrainClip({czm:!1,splitNum:30});window.map.addThing(a),this.terrainClip=a}if(window.map.thing.terrainFlat)this.terrainFlat=window.map.thing.terrainFlat;else{const a=new mars3d.thing.TerrainFlat({splitNum:80});window.map.addThing(a),this.terrainFlat=a}}createTerrainModifyInstanceClone(){if(window.mapClone){if(window.mapClone.mapEx.thing.terrainClip)this.terrainClipClone=window.mapClone.mapEx.thing.terrainClip;else{const a=new mars3d.thing.TerrainClip({splitNum:80});window.mapClone.mapEx.addThing(a),this.terrainClipClone=a}if(window.mapClone.mapEx.thing.terrainFlat)this.terrainFlatClone=window.mapClone.mapEx.thing.terrainFlat;else{const a=new mars3d.thing.TerrainFlat({splitNum:80});window.mapClone.mapEx.addThing(a),this.terrainFlatClone=a}}}evnModifyById(a,o){o=arguments[1]||{isClone:!1};const c=this.getDataFromFlattenedEvnModifyListById(a);if(!c)return;const{bimEnvModify:{embsId:f,dataType:u,modifyType:m}}=c;for(let g=0;g<c.bimEnvModifyData.length;g++){const v=this.getPositions(JSON.parse(c.bimEnvModifyData[g].modifyData).coordinates),S=JSON.parse(c.bimEnvModifyData[g].modifyData).depth,b=c.bimEnvModifyData[g].id;u===0&&m===0?this.modelCutById(f,v,b,o):u===0&&m===1?this.modelFlattenById(f,v,S,b,o):u===1&&m===0?this.terrainCutById(v,b,o):u===1&&m===1&&this.terrainFlattenById(v,S,b,o)}}evnModifyByIdAndAddOptionsToStore(a,o){o=arguments[1]||{isClone:!1};const c=this.getDataFromFlattenedEvnModifyListById(a);if(!c)return;const{bimEnvModify:{embsId:f,dataType:u,modifyType:m}}=c;for(let g=0;g<c.bimEnvModifyData.length;g++){const v=this.getPositions(JSON.parse(c.bimEnvModifyData[g].modifyData).coordinates),S=JSON.parse(c.bimEnvModifyData[g].modifyData).depth,b=c.bimEnvModifyData[g].id;u===0&&m===0?this.modelCutById(f,v,b,o):u===0&&m===1?this.modelFlattenById(f,v,S,b,o):u===1&&m===0?this.terrainCutById(v,b,o):u===1&&m===1&&this.terrainFlattenById(v,S,b,o)}}clearEvnModifyById(a,o){o=arguments[1]||{isClone:!1};const c=this.getDataFromFlattenedEvnModifyListById(a);if(!c)return;const{bimEnvModify:{embsId:f,dataType:u,modifyType:m}}=c;for(let g=0;g<c.bimEnvModifyData.length;g++){const v=c.bimEnvModifyData[g].id;u===0&&m===0?this.clearModelCutById(f,v,o):u===0&&m===1?this.clearModelFlattenById(f,v,o):u===1&&m===0?this.clearTerrainCutById(v,o):u===1&&m===1&&this.clearTerrainFlattenById(v,o)}}clearAllModelModify(a){switch(a||(a={isClone:!1}),a.isClone){case!0:this.modelIdListByModifyClone.forEach(o=>{const c=bimModel.queryModel(o,a);c&&(c.clip.clear(),c.flat.clear())}),this.modelIdListByModifyClone=[];break;case!1:this.modelIdListByModify.forEach(o=>{const c=bimModel.queryModel(o,a);c&&(c.clip.clear(),c.flat.clear())}),this.modelIdListByModify=[];break}}clearAllTerrainModify(a){switch(a||(a={isClone:!1}),a.isClone){case!0:window.mapClone||(this.terrainClipClone=null,this.terrainFlatClone=null),this.terrainClipClone&&this.terrainClipClone.clear(),this.terrainFlatClone&&this.terrainFlatClone.clear();break;case!1:this.terrainClip&&this.terrainClip.clear(),this.terrainFlat&&this.terrainFlat.clear();break}}getModelModifyDataForInitModelById(a){const o=this.getDataFromFlattenedEvnModifyListById(a);if(!o)return;const{bimEnvModify:{embsId:c,dataType:f,modifyType:u}}=o;if(this.modelIdListByModify.push(c),f===0&&u===0){const m={modelId:c,type:"clip",area:[]};for(let g=0;g<o.bimEnvModifyData.length;g++){const S={positions:this.getPositions(JSON.parse(o.bimEnvModifyData[g].modifyData).coordinates),id:o.bimEnvModifyData[g].id};m.area.push(S)}return m}else if(f===0&&u===1){const m={modelId:c,type:"flat",area:[]};for(let g=0;g<o.bimEnvModifyData.length;g++){const v=this.getPositions(JSON.parse(o.bimEnvModifyData[g].modifyData).coordinates),S={id:o.bimEnvModifyData[g].id,positions:v,height:JSON.parse(o.bimEnvModifyData[g].modifyData).depth};return m.area.push(S),m}}}clearAllEvnModify(){this.clearAllModelModify({isClone:!0}),this.clearAllModelModify({isClone:!1}),this.clearAllTerrainModify({isClone:!0}),this.clearAllTerrainModify({isClone:!1})}destroyTerrainModifyInstance(){this.clearAllTerrainModify({isClone:!0}),this.clearAllTerrainModify({isClone:!1}),this.terrainClip&&window.map.removeThing(this.terrainClip,!0),this.terrainFlat&&window.map.removeThing(this.terrainFlat,!0),this.terrainClipClone&&window.mapClone.mapEx.removeThing(this.terrainClipClone,!0),this.terrainFlatClone&&window.mapClone.mapEx.removeThing(this.terrainFlatClone,!0),this.terrainClip=null,this.terrainFlat=null,this.terrainClipClone=null,this.terrainFlatClone=null}}let Za=null,vs=null,un=null,Oh=null,qd=null;class Vg{constructor(){mars3d&&(this.projectId=parseInt(window.sessionStorage.getItem("nowProjectId")),this.viewPoints=new Array,this.roaming=null)}init(a,o,c){vs=new mars3d.layer.GraphicLayer({isContinued:!0}),qd=new mars3d.layer.GraphicLayer({isContinued:!0}),window.map.addLayer(qd);var f=this;window.map.addLayer(vs),vs.on(mars3d.EventType.drawCreated,function(u){var m=u.graphic.point;o(m),setTimeout(()=>{f.startDrawGraphic()},500)}),vs.on(mars3d.EventType.editStop,function(u){}),un=c,Za=new mars3d.layer.GraphicLayer,window.map.addLayer(Za),a.length<=1e3?this.viewPoints=a:this.viewPoints=a.filter((u,m)=>{if(m%100==0)return u}),un.Viewovalue==1||un.Viewovalue==4?this.calculateAngle(this.viewPoints):this.addGraphicLayer(this.viewPoints)}addDemoGraphic1(a){Oh=new mars3d.graphic.PolylinePrimitive({positions:a.map(o=>[o.lng,o.lat,o.alt+1e3]),style:{width:10,materialType:mars3d.MaterialType.LineFlow,materialOptions:{color:"red",image:{}.VITE_APP_PUBLIC_PATH+"img/line/line-arrow-blue.png",speed:10,repeat:new Cesium.Cartesian2(5,1),mixt:!0}}}),Za.addGraphic(Oh)}getAzimuth(a,o,c,f){const u=R=>R*Math.PI/180,m=R=>R*180/Math.PI,g=u(o),v=u(f),S=u(c-a),b=Math.sin(S)*Math.cos(v),O=Math.cos(g)*Math.sin(v)-Math.sin(g)*Math.cos(v)*Math.cos(S);let k=Math.atan2(b,O);return(m(k)+360)%360}calculateAngle(a){var o=a,c=o.map((f,u)=>{if(u<o.length-1){Cesium.Cartesian3.fromRadians(f.lng,f.lat,f.alt),Cesium.Cartesian3.fromRadians(o[u+1].lng,o[u+1].lat,o[u+1].alt);var m=this.getAzimuth(f.lng,f.lat,o[u+1].lng,o[u+1].lat);const g=new mars3d.graphic.PolylinePrimitive({positions:[a[u-1],a[u]],style:{width:1,color:"rgba(200,200,200,0 )"}});return Za.addGraphic(g),un.Viewovalue==4&&(un.followedX=-1,un.followedZ=f.alt+2),{lng:f.lng,lat:f.lat,alt:f.alt?f.alt+un.followedZ*1:un.followedZ*1,heading:m,pitch:un.followedX*1,duration:(g.distance/un.speed).toFixed(2),stop:0}}});this.viewPoints=c}addGraphicLayer(a){var o=Cesium.Cartesian3.fromRadians(a[0].lng,a[0].lat,a[0].alt),c=Cesium.Cartesian3.fromRadians(a[1].lng,a[1].lat,a[1].alt),f=mars3d.MeasureUtil.getAngle(o,c,!0),u={};un.Viewovalue==1?u={camera:{type:"dy",followedX:un.followedX,followedZ:un.followedZ},interpolation:!0,interpolationDegree:10,autoMiddleDynamicPosition:!0,autoMiddleTimePosition:!0,interpolationAlgorithm:Cesium.HermitePolynomialApproximation}:un.Viewovalue==2?u={camera:{type:"gs",pitch:un.followedX,heading:f,radius:500},interpolation:!0,interpolationDegree:2,clockLoop:!0,path:{width:3,color:Cesium.Color.fromCssColorString("rgba(200,200,200,0 )")}}:un.Viewovalue==4?u={camera:{type:"dy",followedX:100,followedZ:1}}:u={camera:{type:"sd",followedZ:un.followedZ},polyline:{width:3,color:Cesium.Color.fromCssColorString("rgba(200,200,200,0 )")}},a=a.map(g=>[g.lng,g.lat,g.alt]),a.length;var m={type:"time",list:a,interpolationAlgorithm:Cesium.HermitePolynomialApproximation,interpolation:!0,speed:un.speed,interpolationDegree:2};this.fixedRoute=new mars3d.graphic.FixedRoute({name:"贴地表表面漫游",autoStop:!0,position:m,offsetHeight:1.6,clockLoop:!0,...u}),Za.addGraphic(this.fixedRoute)}getAzimuthFromCartesian(a,o){const c=F=>F*180/Math.PI,f=Cesium.Cartographic.fromCartesian(a),u=Cesium.Cartographic.fromCartesian(o),m=f.longitude,g=f.latitude,v=u.longitude,S=u.latitude,b=v-m,O=Math.sin(b)*Math.cos(S),k=Math.cos(g)*Math.sin(S)-Math.sin(g)*Math.cos(S)*Math.cos(b);let R=Math.atan2(O,k);return(c(R)+360)%360}addDemoGraphic(a,o){Oh=new mars3d.graphic.BillboardEntity({position:new mars3d.LngLatPoint(a.lng,a.lat,a.alt),style:{width:30,height:32,image:"/img/marker/markffd700.png",scale:1,scaleByDistance:!1,scaleByDistance_far:1e6,scaleByDistance_farValue:.1,scaleByDistance_near:1e3,scaleByDistance_nearValue:1,distanceDisplayCondition:!1,distanceDisplayCondition_far:2e6,distanceDisplayCondition_near:0,clampToGround:!1,visibleDepth:!1,drawShow:!0,label:{text:o,pixelOffsetY:-50}}}),vs.addGraphic(Oh)}startDrawGraphic(a){vs.startDraw({type:"billboard",style:{width:30,height:32,image:"/img/marker/markffd700.png",scale:1,scaleByDistance:!1,scaleByDistance_far:1e6,scaleByDistance_farValue:.1,scaleByDistance_near:1e3,scaleByDistance_nearValue:1,distanceDisplayCondition:!1,distanceDisplayCondition_far:2e6,distanceDisplayCondition_near:0,clampToGround:!1,visibleDepth:!1,drawShow:!0,pixelOffsetY:-20,classificationType:Cesium.ClassificationType.TERRAIN}}).then(o=>{})}start(){Oh.remove(),un.Viewovalue==1||un.Viewovalue==4?map.setCameraViewList(this.viewPoints,{maximumHeight:1}):(this.fixedRoute.start(),window.map.scene.screenSpaceCameraController.enableCollisionDetection=!1)}pause(){(un.Viewovalue==1||un.Viewovalue==4)&&map.pauseCameraViewList(),this.fixedRoute&&this.fixedRoute.pause()}resume(){(un.Viewovalue==1||un.Viewovalue==4)&&map.proceedCameraViewList(),this.fixedRoute&&this.fixedRoute.proceed()}stop(){this.fixedRoute&&this.fixedRoute.stop(),window.map.pauseCameraViewList()}remove(){this.fixedRoute&&this.fixedRoute.stop(),window.map.removeThing(this.roaming,!0),window.map.removeLayer(Za,!0),window.map.removeLayer(vs,!0),this.viewPoints=[],window.map.scene.screenSpaceCameraController.enableCollisionDetection=!1}removeCameraRoute(){Za.clear(),vs.clear()}removegraphicLayerpoint(){vs.clear()}}class Wg{constructor(a){window.mars3d&&(this.beginDate="",this.endDate="",this.trafficSimulationLayer,this.trafficSimulationArr=[],this.style={width:4,materialType:window.mars3d.MaterialType.LineFlow,materialOptions:{color:"#4ac2ff",image:a+"img/textures/line-arrow-right.png",repeat_x:20,repeat_y:1,speed:20},clampToGround:!1,allowDrillPick:!1},this.vehicleSum=100,this.automobileList=[{url:a+"gltf/cart/suv.gltf"},{url:a+"gltf/cart/red_car.gltf"},{url:a+"gltf/cart/benchi3.gltf"},{url:a+"gltf/cart/suv.gltf"},{url:a+"gltf/cart/red_car.gltf"},{url:a+"gltf/cart/benchi3.gltf"},{url:a+"gltf/cart/aodi1.gltf"},{url:a+"gltf/cart/kache3.gltf"},{url:a+"gltf/cart/bus2.gltf"},{url:a+"gltf/cart/jiaobanche.glb"}],this._czmlLayer,this._czmlLayerArr=[])}init(a){this.trafficSimulationLayer=new window.mars3d.layer.GraphicLayer({temporaryLayer:"trafficSimulation"}),window.map.addLayer(this.trafficSimulationLayer),window.map.bimMapEdit="1",a&&(this._czmlLayerArr=a)}addLine(a){let o=a;return new Promise(c=>{this.trafficSimulationLayer.startDraw({type:"polylineP",attr:{trafficSimulationId:o},style:{...this.style}}).then(f=>{c({id:o,pointSet:f.coordinates,speed:45,interval:1})})})}initLine(a){let o;a.forEach(c=>{let{id:f}=c;o=new window.mars3d.graphic.PolylinePrimitive({positions:c.pointSet,attr:{trafficSimulationId:f},style:{...this.style}}),this.trafficSimulationLayer.addGraphic(o)})}positionLine(a){let o=this.queryTrafficSimulationLine(a);o&&o.flyTo({scale:2})}deleteLine(a){let o=this.queryTrafficSimulationLine(a);o&&o.remove()}queryTrafficSimulationArr(){return this.trafficSimulationArr}queryTrafficSimulationLine(a){if(this.trafficSimulationLayer)return this.trafficSimulationLayer.getGraphicByAttr(a,"trafficSimulationId")}editTrafficSimulationLine(a,o=!0){let c=this.queryTrafficSimulationLine(a);o?(c.setStyle({materialOptions:{color:"#ff0000"}}),c.startEditing()):(c.setStyle({materialOptions:{color:"#4ac2ff"}}),c.stopEditing())}fallbackTrafficSimulationLine(a,o){let c=this.queryTrafficSimulationLine(a);c.positions=o,c.setStyle({materialOptions:{color:"#4ac2ff"}}),c.stopEditing()}queryCzml(a){return this._czmlLayerArr.length==0?!1:this._czmlLayerArr.find(o=>o.id==a)}start(a="add"){this.destruction(),this.beginDate=new Date().toISOString();let o=new Date,c=o.getDate();o.setDate(c+1),this.endDate=o.toISOString(),this.queryCzml(a)?this.trafficSimulationArr=JSON.parse(this.queryCzml(a).route):this.trafficSimulationArr=[],this.processingData(a)}selected(){this._czmlLayer&&this._czmlLayer.flyTo()}destruction(){this.trafficSimulationLayer.clear(),this.trafficSimulationLayer.remove(),this._czmlLayer&&(this._czmlLayer.clear(),this._czmlLayer.remove()),this.style.materialOptions.color="#4ac2ff",window.map.bimMapEdit="0"}processingData(a){let o=[{version:"1.0",id:"document",clock:{interval:`${this.beginDate}/${this.endDate}`,currentTime:this.beginDate,multiplier:1},style:{distanceDisplayCondition:!0,distanceDisplayCondition_far:1e6,distanceDisplayCondition_near:0}}],c=[],f=JSON.parse(JSON.stringify(this.trafficSimulationArr)),u=0;f.forEach((g,v)=>{let S=0,b=0,{pointSet:O,interval:k,speed:R}=g;for(let F=1;F<=this.vehicleSum;F++){let E=JSON.parse(JSON.stringify(O));E.forEach((w,T)=>{T>0&&(u=parseFloat((this.disTance(w,E[T-1].slice(1))/R).toFixed(2)),S+=u),T==0&&(S=b),w.unshift(S)}),b+=k,c=E.reduce((w,T)=>w.concat(T));let P={name:`${v}-${F}`,availability:`${this.beginDate}/${this.endDate}`,orientation:{velocityReference:"#position"},position:{epoch:this.beginDate,cartographicDegrees:c},style:{minimumPixelSize:100,distanceDisplayCondition:!0,distanceDisplayCondition_near:0,distanceDisplayCondition_far:1300,distanceDisplayPoint:{color:"#00ff00",pixelSize:8}},model:{show:!0,gltf:this.randomVehicle(),heightReference:window.Cesium.HeightReference.CLAMP_TO_GROUND,clampToGround:!0,scale:.6,minimumPixelSize:100,maximumScale:1.5}};o.push(P)}});let m={name:"交通模拟",czmlId:a,data:o,autoUpdateClock:!1};this._czmlLayer=new window.mars3d.layer.CzmlLayer(m),window.map.addLayer(this._czmlLayer)}disTance(a,o){let c,f,u;return c=window.Cesium.Cartesian3.fromDegrees(...a),f=window.Cesium.Cartesian3.fromDegrees(...o),u=window.Cesium.Cartesian3.distance(c,f),u}randomVehicle(){let a=Math.round(Math.random()*(this.automobileList.length-1));return this.automobileList[a].url}}const jg=[Tf,bf],Xg={continuation:null,mapModali:null,install(x){if(jg.forEach((m,g)=>{x.component(m.name,m)}),this.continuation){x.config.globalProperties.$continuation=this.continuation;return}let a=oi.createApp(Sf),o=document.createElement("div"),c=document.body;if(c.appendChild(o),this.loading=a.mount(o),x.config.globalProperties.$loading=this.loading,window.$continuation=this.loading,this.mapModali){x.config.globalProperties.$mapModali=this.mapModali;return}let f=oi.createApp(Ef),u=document.createElement("div");c.appendChild(u),this.mapModali=f.mount(u),x.config.globalProperties.$mapModali=this.mapModali,window.$mapModali=this.mapModali}};Pi.BimBackgroundPlate=bf,Pi.BimCutscenes=Sf,Pi.BimElevationImage=fm,Pi.BimEntity=pm,Pi.BimModel=lm,Pi.BimModify=Hg,Pi.BimTerrainProvider=cm,Pi.BimTrafficSimulation=Wg,Pi.BimVector=um,Pi.Bimroaming=Vg,Pi.Button=Tf,Pi.ChbimPlugins=Xg,Pi.DynamicMasking=Dg,Pi.MapModali=Ef,Pi.PanoramicView=_m,Pi.ViewShed=dm,Pi.getSameKeyData=Fg,Pi.init=zg,Pi.initMap=Gg,Pi.isValidRGBA=Ug,Pi.nextPage=Bg,Pi.operateMapData=Ng,Pi.previousPage=kg,Object.defineProperty(Pi,Symbol.toStringTag,{value:"Module"})});
|